:root{
  --night:#07131f;
  --night-soft:#102436;
  --paper:#f4f0e8;
  --paper-deep:#e8e1d5;
  --ink:#121923;
  --muted:#626b72;
  --cyan:#0b8998;
  --cyan-bright:#25b4c2;
  --line:rgba(18,25,35,.18);
  --line-light:rgba(255,255,255,.17);
  --white:#fff;
  --serif:"Fraunces",Georgia,serif;
  --sans:"DM Sans",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.55}
body.menu-open{overflow:hidden}
a{color:inherit}
img{display:block;max-width:100%}
.skip-link{position:fixed;z-index:200;left:1rem;top:1rem;padding:.75rem 1rem;background:var(--white);transform:translateY(-160%);transition:.2s}
.skip-link:focus{transform:translateY(0)}
.site-header{position:fixed;z-index:100;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.25rem 3vw;color:var(--white);transition:.25s}
.site-header.scrolled{background:rgba(7,19,31,.94);backdrop-filter:blur(16px);border-bottom:1px solid var(--line-light)}
.brand{text-decoration:none;display:flex;flex-direction:column;line-height:1.05}
.brand span{font-family:var(--serif);font-size:1.45rem}
.brand small{margin-top:.25rem;color:rgba(255,255,255,.55);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase}
.site-nav{display:flex;align-items:center;gap:1.7rem}
.site-nav a{text-decoration:none;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
.nav-cta{padding:.75rem 1rem;border:1px solid rgba(255,255,255,.45)}
.menu-button{display:none;border:0;background:transparent;color:white;font:inherit;text-transform:uppercase;letter-spacing:.1em}
.hero{min-height:100vh;padding:9.5rem 5vw 3rem;background:radial-gradient(circle at 82% 22%,rgba(17,146,161,.24),transparent 28%),linear-gradient(130deg,#06111d 0%,#0a1d2d 58%,#102f40 100%);color:white}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.65fr);gap:7vw;align-items:end;min-height:70vh;max-width:1500px;margin:auto}
.hero-copy{max-width:1050px}
.eyebrow{margin:0 0 1.2rem;color:var(--cyan);font-size:.68rem;font-weight:600;letter-spacing:.17em;text-transform:uppercase}
.hero .eyebrow,.offers .eyebrow,.contact .eyebrow{color:var(--cyan-bright)}
h1,h2,h3,h4,p{margin-top:0}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.02}
h1{margin-bottom:2rem;font-size:clamp(4.2rem,8.5vw,9.2rem);letter-spacing:-.055em}
h1 em{color:var(--cyan-bright);font-weight:400}
.hero-lead{max-width:850px;color:rgba(255,255,255,.72);font-size:clamp(1.08rem,1.6vw,1.45rem)}
.hero-actions,.contact-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2.4rem}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.9rem 1.15rem;border:1px solid var(--ink);text-decoration:none;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;transition:.2s}
.button:hover{transform:translateY(-2px)}
.button.primary{background:var(--cyan-bright);border-color:var(--cyan-bright);color:var(--night)}
.button.secondary{border-color:rgba(255,255,255,.42);color:white}
.hero-panel{padding:2rem;border:1px solid rgba(255,255,255,.17);background:rgba(255,255,255,.055);backdrop-filter:blur(10px)}
.panel-label{color:var(--cyan-bright);font-size:.67rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.hero-panel ul{margin:1.4rem 0;padding:0;list-style:none}
.hero-panel li{padding:1rem 0;border-top:1px solid rgba(255,255,255,.13);font-family:var(--serif);font-size:1.45rem;line-height:1.15}
.hero-note{margin:1.3rem 0 0;color:rgba(255,255,255,.48);font-size:.76rem}
.hero-proof{display:grid;grid-template-columns:repeat(3,1fr);max-width:1500px;margin:4rem auto 0;border-top:1px solid var(--line-light);border-left:1px solid var(--line-light)}
.hero-proof span{padding:1.25rem;border-right:1px solid var(--line-light);border-bottom:1px solid var(--line-light);color:rgba(255,255,255,.56);font-size:.78rem}
.hero-proof strong{display:block;margin-bottom:.35rem;color:white;font-family:var(--serif);font-size:1.5rem;font-weight:500}
.statement{display:grid;grid-template-columns:220px minmax(0,1fr);gap:6vw;padding:7rem 5vw;background:var(--cyan);color:var(--night)}
.statement p{font-size:.68rem;font-weight:600;letter-spacing:.17em;text-transform:uppercase}
.statement h2{max-width:1200px;margin:0;font-size:clamp(3rem,6.3vw,7rem);letter-spacing:-.045em}
.section{padding:8rem 5vw}
.section-heading{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:2rem 8vw;align-items:end;max-width:1500px;margin:0 auto 5rem}
.section-heading .eyebrow,.section-heading h2{grid-column:1}
.section-heading h2{margin:0;font-size:clamp(3.2rem,6vw,6.6rem);letter-spacing:-.045em}
.section-heading>p:last-child{grid-column:2;grid-row:1/3;margin:0;color:var(--muted);font-size:1.05rem}
.problem-grid{display:grid;grid-template-columns:repeat(2,1fr);max-width:1500px;margin:auto;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.problem-grid article{min-height:330px;padding:2rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.problem-grid span,.offer-number{color:var(--cyan);font-size:.65rem;font-weight:600;letter-spacing:.16em}
.problem-grid h3{margin:5rem 0 1rem;font-size:clamp(2.2rem,3vw,3.5rem)}
.problem-grid p{max-width:600px;color:var(--muted)}
.offers{background:var(--night);color:white}
.section-heading.light>p:last-child{color:rgba(255,255,255,.58)}
.featured-offer{display:grid;grid-template-columns:90px minmax(0,1fr) minmax(340px,.75fr);gap:3rem 6vw;max-width:1500px;margin:auto;padding:3rem 0;border-top:1px solid var(--line-light);border-bottom:1px solid var(--line-light)}
.offer-type{color:var(--cyan-bright);font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.featured-offer h3{margin-bottom:1.5rem;font-size:clamp(3.6rem,6.5vw,7.2rem);letter-spacing:-.05em}
.offer-lead{max-width:760px;color:rgba(255,255,255,.72);font-size:1.15rem}
.deliverables{padding-left:2rem;border-left:1px solid var(--line-light)}
.deliverables h4{font-family:var(--serif);font-size:1.55rem;font-weight:500}
.deliverables ul,.secondary-offers ul{padding:0;list-style:none}
.deliverables li,.secondary-offers li{position:relative;padding:.65rem 0 .65rem 1.2rem;border-top:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.63);font-size:.85rem}
.deliverables li:before,.secondary-offers li:before{content:"—";position:absolute;left:0;color:var(--cyan-bright)}
.text-link{display:inline-block;margin-top:1.5rem;padding-bottom:.25rem;border-bottom:1px solid currentColor;text-decoration:none;color:var(--cyan-bright);font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.secondary-offers{display:grid;grid-template-columns:repeat(3,1fr);max-width:1500px;margin:auto;border-left:1px solid var(--line-light)}
.secondary-offers article{min-height:520px;padding:2rem;border-right:1px solid var(--line-light);border-bottom:1px solid var(--line-light)}
.secondary-offers h3{margin:4rem 0 1.3rem;font-size:clamp(2.4rem,3.4vw,4rem)}
.secondary-offers p:not(.offer-type){color:rgba(255,255,255,.66)}
.secondary-offers ul{margin-top:2rem}
.proof{background:var(--paper-deep)}
.case-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:1rem;max-width:1500px;margin:auto}
.case{padding:2rem;border:1px solid var(--line);background:rgba(255,255,255,.34)}
.case-large{grid-row:span 2;display:flex;flex-direction:column;min-height:670px;padding:3rem;background:var(--paper)}
.case-meta{display:flex;justify-content:space-between;gap:1rem;color:var(--cyan);font-size:.63rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.case h3{margin:3rem 0 1.5rem;font-size:clamp(2.3rem,4vw,4.7rem);letter-spacing:-.035em}
.case>p{color:var(--muted)}
.case-result{display:grid;grid-template-columns:100px 1fr;gap:2rem;margin-top:auto;padding-top:2rem;border-top:1px solid var(--line)}
.case-result strong{color:var(--cyan);text-transform:uppercase;letter-spacing:.1em;font-size:.68rem}
.metric{margin-top:3rem;color:var(--cyan);font-family:var(--serif);font-size:clamp(3rem,5vw,5.5rem);line-height:.9}
.metric small{display:block;margin-top:.7rem;color:var(--muted);font-family:var(--sans);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}
.credibility-strip{display:grid;grid-template-columns:repeat(4,1fr);max-width:1500px;margin:2rem auto 0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.credibility-strip span{padding:1rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}
.method{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,1fr);gap:7vw;align-items:center;background:var(--paper)}
.method-media figure{margin:0}
.method-media img{width:100%;height:min(780px,75vw);object-fit:cover}
.method-media figcaption{margin-top:.8rem;color:var(--muted);font-size:.7rem}
.method-copy h2{font-size:clamp(3rem,5.2vw,6rem);letter-spacing:-.045em}
.method-copy ol{margin:3rem 0 0;padding:0;list-style:none;border-top:1px solid var(--line)}
.method-copy li{display:grid;grid-template-columns:60px 1fr;gap:1rem;padding:1.4rem 0;border-bottom:1px solid var(--line)}
.method-copy li>span{color:var(--cyan);font-size:.67rem;font-weight:600}
.method-copy strong{font-family:var(--serif);font-size:1.7rem;font-weight:500}
.method-copy li p{margin:.3rem 0 0;color:var(--muted)}
.portfolio{background:#eef3f2}
.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);max-width:1500px;margin:auto;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.portfolio-grid a{display:flex;flex-direction:column;min-height:410px;padding:2rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-decoration:none;transition:.2s}
.portfolio-grid a:hover{background:white;transform:translateY(-4px)}
.portfolio-grid span{color:var(--cyan);font-size:.65rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.portfolio-grid h3{margin:4rem 0 1.3rem;font-size:clamp(2.4rem,3.5vw,4rem)}
.portfolio-grid p{color:var(--muted)}
.portfolio-grid b{margin-top:auto;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}
.contact{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:8vw;padding:8rem 5vw;background:var(--cyan);color:var(--night)}
.contact h2{max-width:930px;margin:0;font-size:clamp(3.6rem,6.7vw,7.6rem);letter-spacing:-.05em}
.contact-copy{align-self:end;font-size:1.05rem}
.light-button{border-color:rgba(7,19,31,.4)!important;color:var(--night)!important}
.site-footer{display:flex;justify-content:space-between;gap:2rem;padding:2rem 3vw;background:var(--night);color:white}
.site-footer>div{display:flex;gap:1.3rem;align-items:center}
.site-footer span,.site-footer a{color:rgba(255,255,255,.55);font-size:.72rem;text-decoration:none}
@media(max-width:1050px){
  .site-nav{position:fixed;inset:0;display:none;flex-direction:column;align-items:flex-start;justify-content:center;padding:12vw;background:var(--night)}
  .site-nav.open{display:flex}
  .site-nav a{font-family:var(--serif);font-size:2.4rem;text-transform:none}
  .menu-button{display:block;z-index:2}
  .hero-grid,.featured-offer,.section-heading,.method,.contact{grid-template-columns:1fr}
  .section-heading>p:last-child,.section-heading .eyebrow,.section-heading h2{grid-column:1;grid-row:auto}
  .hero-grid{align-items:start}
  .hero-panel{margin-top:2rem}
  .deliverables{padding:2rem 0 0;border-left:0;border-top:1px solid var(--line-light)}
  .secondary-offers,.portfolio-grid{grid-template-columns:1fr}
  .secondary-offers article,.portfolio-grid a{min-height:auto}
  .case-grid{grid-template-columns:1fr}
  .case-large{min-height:auto;grid-row:auto}
}
@media(max-width:720px){
  .site-header{padding:1rem 1.2rem}
  .hero{padding:8rem 1.2rem 2rem}
  h1{font-size:clamp(3.6rem,17vw,5.4rem)}
  .hero-proof,.problem-grid,.credibility-strip{grid-template-columns:1fr}
  .statement{grid-template-columns:1fr;padding:4rem 1.2rem}
  .section{padding:5rem 1.2rem}
  .section-heading{margin-bottom:3rem}
  .section-heading h2{font-size:clamp(2.8rem,13vw,4.2rem)}
  .problem-grid article{min-height:auto}
  .problem-grid h3{margin-top:3rem}
  .featured-offer{grid-template-columns:1fr}
  .offer-number{display:none}
  .secondary-offers article{min-height:auto}
  .case-large,.case{padding:1.4rem}
  .case-meta{display:block}
  .case-meta span{display:block;margin-bottom:.4rem}
  .method{padding:5rem 1.2rem}
  .method-media img{height:120vw}
  .contact{padding:5rem 1.2rem}
  .site-footer,.site-footer>div{display:block}
  .site-footer a,.site-footer span{display:block;margin-top:.5rem}
}
