
/* ==========================================================
   BRIDGE FOUNDATION
   Variables, Reset, Base, Typography, Buttons
========================================================== */

:root{
    --bridge-yellow:#FACA30;
    --bridge-silver:#D9D9D5;
    --bridge-silver-soft:#E7E7E2;
    --bridge-beige:#F3F0E8;
    --bridge-white:#FAFAF8;

    --bridge-text:#252525;
    --bridge-text-light:#686868;
    --bridge-border:#CBCBC5;

    --bridge-container:1440px;
    --bridge-content:980px;

    --bridge-radius-xs:10px;
    --bridge-radius-sm:16px;
    --bridge-radius:22px;
    --bridge-radius-lg:32px;

    --bridge-shadow:0 24px 80px rgba(17,17,17,.07);
    --bridge-header-height:72px;

    --bridge-space-1:8px;
    --bridge-space-2:16px;
    --bridge-space-3:24px;
    --bridge-space-4:32px;
    --bridge-space-5:48px;
    --bridge-space-6:64px;
    --bridge-space-7:96px;
    --bridge-space-8:128px;
}

.bridge-site,
.bridge-site *,
.bridge-site *::before,
.bridge-site *::after{box-sizing:border-box}

html.bridge-menu-open,
body.bridge-menu-open{overflow:hidden}

.bridge-site{
    position:relative;
    width:100%;
    overflow:clip;
    background:var(--bridge-white);
    color:var(--bridge-text);
    font-family:Inter,"IBM Plex Sans",Aptos,Arial,sans-serif;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}

.bridge-site img,
.bridge-site video,
.bridge-site svg{display:block;max-width:100%}

.bridge-site img{height:auto}

.bridge-site a{
    color:inherit;
    text-decoration:none;
}

.bridge-site button{font:inherit}

.bridge-site h1,
.bridge-site h2,
.bridge-site h3,
.bridge-site p{margin-top:0}

.bridge-site h1,
.bridge-site h2,
.bridge-site h3{
    font-family:"Aptos Display",Sora,Inter,Arial,sans-serif;
    color:var(--bridge-text);
    letter-spacing:-.045em;
    text-wrap:balance;
}

.bridge-site h1{
    font-size:clamp(58px,8.8vw,142px);
    line-height:.88;
    margin-bottom:34px;
    font-weight:650;
}

.bridge-site h2{
    font-size:clamp(44px,6.2vw,96px);
    line-height:.93;
    margin-bottom:30px;
    font-weight:650;
}

.bridge-site h3{
    font-size:clamp(24px,3vw,42px);
    line-height:1;
    margin-bottom:16px;
    font-weight:650;
}

.bridge-site p{
    font-size:16px;
    line-height:1.65;
    color:var(--bridge-text-light);
}

.bridge-lead{
    font-size:clamp(19px,2.3vw,32px)!important;
    line-height:1.3!important;
    max-width:820px;
    color:var(--bridge-text)!important;
}

.bridge-kicker{
    display:inline-flex;
    align-items:center;
    gap:10px;
    margin-bottom:28px;
    font-size:12px;
    font-weight:750;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.bridge-kicker::before{
    content:"";
    width:30px;
    height:2px;
    background:var(--bridge-yellow);
}

.bridge-eyebrow{
    display:block;
    margin-bottom:18px;
    font-size:12px;
    font-weight:800;
    letter-spacing:.1em;
    color:var(--bridge-text-light);
}

.bridge-buttons{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:30px;
}

.bridge-btn{
    display:inline-flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    min-height:58px;
    padding:7px 8px 7px 20px;
    border:1px solid var(--bridge-text);
    border-radius:16px;
    color:var(--bridge-text);
    font-weight:750;
    line-height:1;
    text-decoration:none!important;
    transition:transform .2s ease, background .2s ease, border-color .2s ease;
}

.bridge-btn:hover{
    transform:translateY(-2px);
    text-decoration:none!important;
}

.bridge-btn-primary{
    border-color:var(--bridge-yellow);
    background:var(--bridge-yellow);
}

.bridge-btn-secondary{
    background:transparent;
}

.bridge-btn-icon{
    width:42px;
    height:42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 42px;
    border-radius:50%;
    background:var(--bridge-beige);
    color:var(--bridge-text);
    font-size:20px;
    font-weight:500;
    line-height:1;
    transition:transform .2s ease, background .2s ease;
}

.bridge-btn:hover .bridge-btn-icon{
    transform:translateX(2px);
}

.bridge-btn-secondary .bridge-btn-icon{
    background:var(--bridge-silver-soft);
}

.bridge-form-notice{
    padding:18px;
    border:1px dashed var(--bridge-border);
    border-radius:var(--bridge-radius-sm);
    background:rgba(255,255,255,.6);
    color:var(--bridge-text-light);
    font-size:14px;
}

.screen-reader-text{
    position:absolute!important;
    width:1px!important;height:1px!important;
    padding:0!important;margin:-1px!important;
    overflow:hidden!important;clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;border:0!important;
}
