/* Traverse Framework 2.0 — v0.7.0 homepage visual pass */

/* Header: integrated with the homepage hero, solid everywhere else. */
.home .tw-site-header{position:absolute;top:0;left:0;right:0;background:linear-gradient(180deg,rgba(4,20,35,.72),rgba(4,20,35,0));border-bottom:0;color:#fff}
.home .tw-site-header .tw-menu a,.home .tw-site-header .tw-site-title{color:#fff}
.home .tw-site-header .custom-logo{filter:brightness(0) invert(1)}
.home .tw-site-header .tw-header-cta{border-color:rgba(255,255,255,.65);background:rgba(7,31,54,.18);color:#fff;backdrop-filter:blur(8px)}
.home .tw-site-header .tw-header-cta:hover{border-color:var(--tw-blue);background:var(--tw-blue)}
.home .tw-site-header .tw-menu-toggle{color:#fff}
.home .tw-site-header.is-sticky{position:fixed;background:rgba(7,31,54,.96);box-shadow:0 12px 35px rgba(0,0,0,.16);backdrop-filter:blur(14px)}
.tw-site-header__container{width:min(calc(100% - (2 * var(--tw-gutter))),88rem)}
.tw-site-header__inner{min-height:5.1rem}
.tw-site-branding .custom-logo{max-width:11.75rem;max-height:3.35rem}
.tw-menu{gap:clamp(1.1rem,1.7vw,1.75rem)}
.tw-menu a{font-size:.69rem;letter-spacing:.055em}
.tw-header-cta{min-height:2.65rem;padding:.7rem 1.15rem;border-radius:999px;font-size:.68rem}

/* Shared editorial rhythm. */
.tw-home .tw-eyebrow{font-size:.64rem;letter-spacing:.2em}
.tw-home .tw-button{min-height:2.85rem;padding:.76rem 1.2rem;border-radius:999px;font-size:.69rem}
.tw-home .tw-section{padding-block:clamp(4rem,6.2vw,6.5rem)}

/* Hero */
.tw-hero{min-height:clamp(40rem,76vh,50rem);background-color:#071f36;background-position:center 45%}
.tw-hero::after{content:"";position:absolute;inset:0;z-index:-1;opacity:.12;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='180' viewBox='0 0 260 180'%3E%3Cg fill='none' stroke='%23ffffff' stroke-width='1'%3E%3Cpath d='M-30 45C25 5 70 85 130 42S235 18 295 58'/%3E%3Cpath d='M-35 68C20 28 74 106 136 65S238 42 300 80'/%3E%3Cpath d='M-28 94C30 52 76 132 142 91S245 70 300 105'/%3E%3Cpath d='M-25 121C34 80 85 157 150 117S248 96 305 132'/%3E%3C/g%3E%3C/svg%3E")}
.tw-hero__overlay{background:linear-gradient(90deg,rgba(4,20,35,.97) 0%,rgba(4,20,35,.88) 43%,rgba(4,20,35,.42) 72%,rgba(4,20,35,.3) 100%)}
.tw-hero__inner{padding-top:clamp(8.5rem,12vw,10.5rem);padding-bottom:clamp(4.75rem,7vw,6rem)}
.tw-hero__content{width:min(45rem,62%)}
.tw-hero__eyebrow{margin-bottom:1.35rem;color:#79cfff}
.tw-hero__title{max-width:12ch;font-size:clamp(3.25rem,4.8vw,5.25rem);line-height:.91;letter-spacing:-.055em;text-wrap:balance}
.tw-hero__title br:last-child{display:none}
.tw-hero__copy{max-width:32rem;margin-top:1.15rem;font-size:clamp(1rem,1.1vw,1.12rem);line-height:1.48}
.tw-hero__copy p:last-child{margin-bottom:0}
.tw-hero__actions{margin-top:1.5rem}
.tw-hero__meta{bottom:1.55rem;left:var(--tw-gutter);font-size:.58rem;letter-spacing:.16em}
.tw-hero__image-note{right:clamp(1rem,4vw,4rem);bottom:3.5rem;font-size:clamp(1.5rem,2.2vw,2.25rem)}

/* Selected work */
.tw-work{background:#f8f6f0}
.tw-work__intro{margin-bottom:2.25rem;padding-bottom:.85rem}
.tw-work__intro .tw-eyebrow{color:var(--tw-navy)}
.tw-project-card--featured{grid-template-columns:minmax(15rem,.54fr) minmax(0,1.46fr);gap:clamp(2.25rem,5vw,5rem);padding:.5rem 0 2.75rem}
.tw-project-card--featured .tw-project-card__media{border-radius:2px;aspect-ratio:16/9;box-shadow:0 18px 45px rgba(7,31,54,.12)}
.tw-project-card--featured .tw-project-card__body{padding-left:1.2rem;border-left:1px solid rgba(7,31,54,.16)}
.tw-project-card__number{color:var(--tw-blue)}
.tw-project-card__client{color:rgba(7,31,54,.55)}
.tw-project-card--featured h3{max-width:11ch;font-size:clamp(2.15rem,3.25vw,3.4rem)}
.tw-project-card__services{font-size:.67rem;letter-spacing:.12em}
.tw-project-card__summary{font-size:.94rem;line-height:1.55}
.tw-project-card__link{margin-top:1.1rem}
.tw-work__more .tw-button{border:0;padding-inline:0;background:transparent;color:var(--tw-navy);border-radius:0}
.tw-work__more .tw-button:hover{background:transparent;color:var(--tw-blue);transform:none}

/* 30 years */
.tw-legacy{position:relative;isolation:isolate;background-color:#071f36;background-position:center;background-size:cover;overflow:hidden}
.tw-legacy::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(4,20,35,.98) 0%,rgba(4,20,35,.9) 45%,rgba(4,20,35,.48) 72%,rgba(4,20,35,.66) 100%)}
.tw-legacy::after{content:"";position:absolute;inset:-10%;z-index:-1;opacity:.13;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='340' height='240' viewBox='0 0 340 240'%3E%3Cg fill='none' stroke='%23ffffff' stroke-width='1'%3E%3Cpath d='M-20 48C48 4 91 96 167 48S281 22 365 70'/%3E%3Cpath d='M-25 78C45 33 96 124 174 78S287 52 370 99'/%3E%3Cpath d='M-20 112C53 66 101 157 181 112S293 86 372 132'/%3E%3Cpath d='M-15 148C58 102 111 191 190 148S300 122 380 166'/%3E%3C/g%3E%3C/svg%3E")}
.tw-legacy__grid{grid-template-columns:minmax(0,.92fr) minmax(16rem,1.08fr);min-height:31rem;padding-block:clamp(4.75rem,7vw,6.5rem)}
.tw-legacy h2{margin-bottom:.35em;font-size:clamp(3rem,4.35vw,4.6rem);line-height:.9}
.tw-legacy h2 span{font-size:1.08em}
.tw-legacy__copy{max-width:31rem;font-size:.98rem;line-height:1.55}
.tw-legacy__timeline{max-width:32rem;margin-top:2rem;gap:clamp(2rem,6vw,5rem)}
.tw-legacy__note{align-self:center;margin-right:clamp(0rem,4vw,4rem);color:rgba(255,255,255,.9);font-size:clamp(1.45rem,2vw,2.05rem)}

/* Services */
.tw-services{background:#f8f6f0}
.tw-services__head{margin-bottom:.4rem}
.tw-services__head .tw-eyebrow{margin-bottom:.75rem;color:var(--tw-navy)}
.tw-services__head>a{font-size:.62rem;letter-spacing:.12em}
.tw-service-row{grid-template-columns:2.6rem minmax(0,1fr) 2.5rem minmax(12rem,18rem);padding:1.05rem 0}
.tw-service-row>span{color:rgba(7,31,54,.5);font-size:.64rem;font-weight:800}
.tw-service-row h3{font-size:clamp(1.3rem,1.8vw,1.85rem);letter-spacing:-.035em}
.tw-service-row>b{font-weight:500;transition:transform .2s ease}
.tw-service-row:hover>b{transform:translateX(.25rem)}
.tw-service-row p{font-size:.8rem;line-height:1.4}

/* Rooted here */
.tw-rooted{min-height:27rem;background-color:#0c79ae;background-position:center 52%;overflow:hidden}
.tw-rooted__shade{background:linear-gradient(90deg,rgba(4,62,98,.9) 0%,rgba(4,62,98,.66) 45%,rgba(4,62,98,.2) 78%,rgba(4,62,98,.08))}
.tw-rooted__inner{padding-block:clamp(4.5rem,6.5vw,6rem)}
.tw-rooted h2{max-width:13ch;margin-bottom:.35em;font-size:clamp(2.75rem,3.9vw,4rem)}
.tw-rooted__copy{max-width:34rem;font-size:.96rem;line-height:1.5}

/* CTA + footer */
.tw-cta{position:relative;overflow:hidden;background:#071f36}
.tw-cta::after{content:"";position:absolute;inset:0;opacity:.12;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='280' height='170' viewBox='0 0 280 170'%3E%3Cg fill='none' stroke='%23ffffff' stroke-width='1'%3E%3Cpath d='M-30 40C25 0 75 82 140 39S240 18 310 60'/%3E%3Cpath d='M-28 70C30 30 80 112 145 70S245 48 310 90'/%3E%3Cpath d='M-24 102C35 61 88 142 152 102S252 80 316 121'/%3E%3C/g%3E%3C/svg%3E")}
.tw-cta__grid{position:relative;z-index:1;grid-template-columns:1.05fr .7fr;gap:clamp(3rem,8vw,8rem);padding-block:clamp(4rem,5.5vw,5rem)}
.tw-cta h2{max-width:11ch;font-size:clamp(2.7rem,3.9vw,4.15rem)}
.tw-cta__right>p{max-width:27rem;font-size:.92rem;line-height:1.5}
.tw-site-footer{padding-block:2.4rem;background:#061a2d}
.tw-site-footer__grid{grid-template-columns:1.2fr .65fr .7fr;gap:clamp(2rem,5vw,5rem)}
.tw-site-footer__brand .custom-logo{max-width:10rem}
.tw-site-footer__brand>p{max-width:25rem;margin-top:1rem;font-size:.72rem;line-height:1.5}
.tw-footer-menu li+li{margin-top:.35rem}
.tw-footer-menu a,.tw-site-footer__contact{font-size:.72rem}
.tw-site-footer__contact p{margin-bottom:.35rem}
.tw-site-footer__bottom{margin-top:2.25rem;padding-top:1rem}
.tw-site-footer__bottom p{font-size:.64rem;letter-spacing:.04em}

@media(max-width:899px){
  .home .tw-site-header{position:absolute}.home .tw-site-header.is-sticky{position:fixed}
  .tw-site-header__inner{min-height:4.75rem}.tw-site-branding .custom-logo{max-width:9.75rem;max-height:3rem}
  .tw-hero{min-height:calc(100svh - 0rem);background-position:62% center}.tw-hero__inner{justify-content:flex-end;padding-top:7rem;padding-bottom:5.75rem}.tw-hero__content{width:100%}.tw-hero__title{font-size:clamp(2.85rem,11.5vw,4.6rem)}.tw-hero__meta{left:var(--tw-gutter);right:var(--tw-gutter)}
  .tw-project-card--featured{grid-template-columns:minmax(12rem,.65fr) minmax(0,1.35fr);gap:2rem}.tw-project-card--featured .tw-project-card__body{padding-left:0;border-left:0}
  .tw-legacy__grid{grid-template-columns:1fr}.tw-legacy__note{justify-self:start;margin:2rem 0 0}
  .tw-service-row{grid-template-columns:2rem 1fr 2rem}.tw-service-row p{grid-column:2/4}
  .tw-cta__grid{grid-template-columns:1fr}
}
@media(max-width:700px){
  .tw-home .tw-section{padding-block:3.75rem}
  .tw-hero__title{font-size:clamp(2.75rem,12vw,4rem)}.tw-hero__copy{font-size:.98rem}.tw-hero__meta{font-size:.52rem;line-height:1.5}
  .tw-project-card--featured{display:flex}.tw-project-card--featured .tw-project-card__media{aspect-ratio:16/10}.tw-project-card--featured .tw-project-card__body{padding-top:0}.tw-project-card--featured h3{font-size:2.2rem}
  .tw-legacy h2{font-size:clamp(2.8rem,13vw,4rem)}.tw-legacy__timeline{gap:1.5rem}
  .tw-rooted{min-height:30rem}.tw-rooted__shade{background:linear-gradient(90deg,rgba(4,62,98,.9),rgba(4,62,98,.6))}
  .tw-site-footer__grid{grid-template-columns:1fr}.tw-site-footer__bottom{display:block}
}

/* v0.8.0 — approved branding + imagery pass */
.tw-hero::after,.tw-legacy::after,.tw-cta::after{display:none!important;background-image:none!important}
.tw-site-branding{display:flex;align-items:center}.tw-brand-link{display:block;line-height:0}.tw-brand-logo{display:block;width:auto;height:auto;max-width:12rem;max-height:3.7rem}.tw-brand-logo--light{display:none}
.home .tw-brand-logo--dark{display:none}.home .tw-brand-logo--light{display:block}
.home .tw-site-header.is-sticky .tw-brand-logo--light{display:block}
.tw-site-header:not(.home .tw-site-header) .tw-brand-logo--dark{display:block}
.tw-hero--has-image{background-image:var(--tw-hero-bg);background-size:cover}
.tw-legacy[style]{background-image:var(--legacy-bg)}
.tw-rooted[style]{background-image:var(--rooted-bg)}
.tw-legacy:not([style]){background-image:linear-gradient(135deg,#071f36,#0b2b48)}
.tw-rooted:not([style]){background-image:linear-gradient(135deg,#087eb9,#3aa9dc)}
.tw-hero:not(.tw-hero--has-image){background-image:linear-gradient(135deg,#071f36 0%,#0b3556 100%)}
.tw-hero__overlay{z-index:0}.tw-hero__inner{position:relative;z-index:1}
.tw-site-header .tw-menu--fallback{display:flex}
@media(max-width:899px){.tw-brand-logo{max-width:9.6rem;max-height:3rem}.tw-site-header .tw-menu--fallback{display:none}}


/* v0.9.0 — homepage proportion + refinement pass */
@media(min-width:900px){
  /* Match the approved concept's tighter first-screen composition. */
  .tw-hero{min-height:clamp(34rem,62vh,40rem);background-position:center 45%}
  .tw-hero__inner{padding-top:clamp(7rem,8.5vw,8.25rem);padding-bottom:clamp(3.8rem,5vw,4.75rem)}
  .tw-hero__content{width:min(39rem,57%)}
  .tw-hero__eyebrow{margin-bottom:1rem}
  .tw-hero__title{max-width:12ch;font-size:clamp(2.9rem,3.9vw,4.35rem);line-height:.92;letter-spacing:-.05em}
  .tw-hero__copy{max-width:30rem;margin-top:.9rem;font-size:clamp(.94rem,1vw,1.04rem);line-height:1.46}
  .tw-hero__actions{margin-top:1.2rem}
  .tw-hero__meta{bottom:1.15rem}
  /* Let Selected Work enter the visual story sooner after the hero. */
  .tw-work.tw-section{padding-top:clamp(3.25rem,4.5vw,4.75rem)}
  .tw-work__intro{margin-bottom:1.8rem}
}


/* v1.1.17 — Homepage mobile Selected Work title wrap */
@media(max-width:700px){
  .tw-project-card--featured h3{
    max-width:none;
    font-size:clamp(1.85rem,8vw,2.2rem);
    line-height:.98;
  }
}
