@font-face {font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url("/assets/fonts/inter.woff2") format("woff2")}
@font-face {font-family:"Instrument Serif";font-style:italic;font-weight:400;font-display:swap;src:url("/assets/fonts/instrument-serif-italic.woff2") format("woff2")}
@layer hero {
  .home-page {--bg:#000;--text:#fff;--hero-muted:#9a9a9a;--stat:#d8d8d8;--border:rgba(255,255,255,.16);--border-soft:rgba(255,255,255,.12);--logo:15.5px;--logo-mark:22px;--nav:14px;--nav-h:40px;--btn:13.5px;--btn-h:40px;--hero-btn-h:42px;--h1:48px;--lede:15.5px;--badge:12.5px;--stat-size:13.5px;--header-y:22px;--header-x:40px;--stats-x:72px;--stats-y:36px;--hero-gap:85px;--copy-max:860px;--lede-max:470px;--landing-header-height:72px;font-family:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;position:relative;overflow-x:clip}
  .homepage-content {background:#fff;color:var(--ink)}
  .home-page .site-header {height:var(--landing-header-height);background:#000;color:#fff;border:0;backdrop-filter:none;-webkit-backdrop-filter:none;transition:background .35s}
  .home-page .site-header.is-scrolled {background:rgba(0,0,0,.95);box-shadow:0 1px 0 var(--border-soft)}
  .home-page .site-header::after {display:none}
  .home-page .nav-wrap {display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:auto;max-width:none;padding:var(--header-y) var(--header-x) 10px;gap:20px}
  .home-page .site-header .brand {font-size:var(--logo);font-weight:600;letter-spacing:-.03em;gap:9px;justify-self:start;color:#fff}
  .home-page .site-header .brand-mark {width:var(--logo-mark);height:var(--logo-mark);overflow:hidden}
  .home-page .site-header .brand-mark img {width:78px;height:78px;left:-27px;top:-22px}
  .home-page .site-header .brand-period {color:#9a9a9a}
  .home-page .main-nav {display:flex;align-items:center;gap:8px;margin:0;justify-self:center;position:static;box-shadow:none;background:none;padding:0}
  .home-page .main-nav>a {position:relative;display:inline-flex;align-items:center;justify-content:center;height:var(--nav-h);padding:0 18px;border-radius:7px;overflow:hidden;border:1px solid rgba(198,198,198,.55);background:linear-gradient(105deg,#050505 0%,#2a2a2a 48%,#4a4a4a 100%);color:#f3f3f3;font-size:var(--nav);font-weight:400;letter-spacing:-.01em;white-space:nowrap;transition:background .35s,border-color .35s,box-shadow .35s}
  .home-page .main-nav>a::before {content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.16) 50%,transparent 70%);transform:translateX(-120%);transition:transform .6s ease;pointer-events:none}
  .home-page .main-nav>a:hover {border-color:rgba(235,235,235,.9);background:linear-gradient(105deg,#111,#3a3a3a 45%,#6a6a6a);box-shadow:0 0 18px rgba(200,210,230,.18);color:#fff}
  .home-page .main-nav>a:hover::before {transform:translateX(120%)}
  .home-page .nav-actions {justify-self:end;gap:16px}
  .home-page .language-switch {font-size:10px;color:#999;gap:5px}
  .home-page .language-switch .current-language {color:#fff}
  .home-page .language-divider {color:#666}
  .home-page .nav-contact,.hero-vantage .button {position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:14px;height:var(--btn-h);padding:0 16px;border-radius:6px;font-size:var(--btn);font-weight:500;letter-spacing:-.02em;line-height:1;white-space:nowrap;cursor:pointer;transition:background .35s,border-color .35s,box-shadow .35s,color .35s,filter .35s;transform:none}
  .home-page .nav-contact,.hero-vantage .button-primary {background:linear-gradient(180deg,#fff 0%,#e7e7e7 48%,#cfcfcf 100%);color:#111;border:1px solid #fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.95)}
  .home-page .nav-contact::after,.hero-vantage .button::after {content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 20%,rgba(255,255,255,.45) 48%,transparent 76%);transform:translateX(-130%);transition:transform .65s ease;pointer-events:none}
  .home-page .nav-contact:hover,.hero-vantage .button-primary:hover {background:linear-gradient(180deg,#fff,#f3f6ff 42%,#d5def2);border-color:#f2f6ff;box-shadow:inset 0 1px 0 #fff,0 0 22px rgba(186,208,255,.35),0 8px 18px rgba(255,255,255,.12);transform:none}
  .home-page .nav-contact:hover::after,.hero-vantage .button:hover::after {transform:translateX(130%)}
  .home-page .nav-contact .icon {width:14px;height:14px}
  .home-page .menu-toggle {display:none}
  .menu-backdrop {display:none}
  .hero-vantage {position:relative;isolation:isolate;display:grid;grid-template-rows:1fr auto;align-items:end;width:100%;max-width:none;margin:0;border-radius:0;min-height:calc(100vh - var(--landing-header-height));min-height:calc(100svh - var(--landing-header-height));padding:0;text-align:center;overflow:hidden;background:#000;color:#fff}
  .hero-vantage .hero-content {position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;max-width:var(--copy-max);width:100%;margin:0 auto;padding:8px 24px var(--hero-gap);min-height:0;pointer-events:auto}
  .hero-vantage .badge {display:inline-flex;align-items:center;gap:8px;margin:0 0 22px;padding:9px 15px;border:0;border-radius:5px;background:linear-gradient(90deg,#7d7d7d 0%,#2a2a2a 52%,#0a0a0a 100%);color:#f2f2f2;font-size:var(--badge);font-weight:400;letter-spacing:-.01em;line-height:1.3}
  .badge-star {flex-shrink:0;filter:drop-shadow(0 0 3px rgba(255,255,255,.45));animation:in-star .9s .28s both cubic-bezier(.16,1,.3,1)}
  .hero-vantage h1 {display:flex;flex-direction:column;align-items:center;margin:0;max-width:100%;font-family:"Inter",system-ui,sans-serif;font-size:var(--h1);font-weight:500;letter-spacing:-.045em;line-height:1.12;color:#fff}
  .hero-vantage .headline-line {display:block;overflow:hidden;padding:.06em .15em .14em;max-width:100%;color:#fff;background:none}
  .headline-line>.appear {display:block}
  .hero-vantage h1 em {display:inline-block;font-family:"Instrument Serif","Times New Roman",Times,serif;font-style:italic;font-weight:400;font-size:1.08em;letter-spacing:-.03em;color:#9a9a9a;animation:in-em 1.2s .72s both ease}
  .hero-vantage .hero-copy {max-width:var(--lede-max);margin:18px auto 0;color:#9a9a9a;font-size:var(--lede);font-weight:400;line-height:1.55;letter-spacing:-.015em}
  .hero-vantage .hero-actions {display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-top:26px}
  .hero-vantage .button {height:var(--hero-btn-h);padding:0 18px}
  .hero-vantage .button .icon {width:15px;height:15px}
  .hero-vantage .button-primary:hover {box-shadow:inset 0 1px 0 #fff,0 0 26px rgba(186,208,255,.4),0 8px 18px rgba(255,255,255,.14)}
  .hero-vantage .button-ghost {background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(0,0,0,.5) 46%,rgba(150,170,200,.1));color:#fff;border:1px solid rgba(198,198,198,.55);box-shadow:inset 0 1px 0 rgba(255,255,255,.12);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
  .hero-vantage .button-ghost:hover {background:linear-gradient(135deg,rgba(210,225,255,.18),rgba(0,0,0,.35) 48%,rgba(180,195,220,.16));border-color:rgba(220,230,255,.8);box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 0 24px rgba(170,200,255,.28)}
  .hero-vantage .hero-bottom {position:relative;z-index:2;inset:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 var(--stats-x) var(--stats-y);padding-bottom:max(var(--stats-y),env(safe-area-inset-bottom));color:var(--stat)}
  .stat {display:inline-flex;align-items:center;gap:14px;font-size:var(--stat-size);font-weight:400;letter-spacing:-.015em;white-space:nowrap}
  .stat .icon {color:#e8e8e8;width:20px;height:20px;stroke-width:1.5}
  .hero-vantage .hero-motion-toggle {position:absolute;right:22px;bottom:26px;display:grid;place-items:center;flex-shrink:0;width:30px;height:30px;border:1px solid rgba(255,255,255,.22);border-radius:50%;color:#d8d8d8;background:rgba(255,255,255,.04);transition:background .3s;transform:none}
  .hero-vantage .hero-motion-toggle:hover {background:rgba(255,255,255,.12);transform:none}
  .hero-motion-toggle .icon {width:12px;height:12px}
  .hero-motion-toggle[aria-pressed="false"] .play-symbol,.hero-motion-toggle[aria-pressed="true"] .pause-symbol {display:none}
  .home-page .site-header a:focus-visible,.home-page .site-header button:focus-visible,.hero-vantage a:focus-visible,.hero-vantage button:focus-visible {outline:2px solid #d9e4ff;outline-offset:5px}
  .hero-field {position:absolute;z-index:0;inset:0 0 auto;height:70%;overflow:hidden;pointer-events:none;contain:paint;background:#000}
  .hero-wave-poster,.hero-wave {position:absolute;top:0;left:50%;width:auto;height:100%;max-width:none;aspect-ratio:16/9;transform:translateX(-50%);object-fit:contain;object-position:50% 0;filter:none;mix-blend-mode:normal;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent),linear-gradient(#000 70%,transparent);mask-composite:intersect;-webkit-mask-composite:source-in}
  .hero-wave-poster {opacity:1}
  .hero-wave {opacity:0}
  .hero-vantage.is-video-ready .hero-wave {opacity:1}
  .hero-vantage.is-video-ready .hero-wave-poster {opacity:0}
  .appear {opacity:1;animation-duration:1.05s;animation-fill-mode:both;animation-timing-function:cubic-bezier(.16,1,.3,1);animation-delay:var(--d,.08s)}
  .appear--scale {animation-name:in-scale}.appear--soft {animation-name:in-soft}.appear--mask {animation-name:in-mask}.appear--pop {animation-name:in-pop}.appear--btn {animation-name:in-btn}.appear--side {animation-name:in-side}.appear--stat {animation-name:in-stat}
  .appear.is-in {animation:none;opacity:1;transform:none;clip-path:none;filter:none}
  @keyframes in-scale {from{opacity:0;transform:scale(.84)}to{opacity:1;transform:scale(1)}}
  @keyframes in-soft {from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
  @keyframes in-mask {from{opacity:0;transform:translateY(40%)}to{opacity:1;transform:translateY(0)}}
  @keyframes in-pop {0%{opacity:0;transform:scale(.9)}70%{opacity:1;transform:scale(1.03)}100%{opacity:1;transform:scale(1)}}
  @keyframes in-btn {from{opacity:0;transform:translateY(18px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}
  @keyframes in-side {from{opacity:0;transform:translateX(22px)}to{opacity:1;transform:translateX(0)}}
  @keyframes in-stat {from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
  @keyframes in-star {0%{transform:scale(.2) rotate(-50deg)}65%{transform:scale(1.2) rotate(8deg)}100%{transform:scale(1) rotate(0)}}
  @keyframes in-em {from{opacity:.35;filter:blur(4px)}to{opacity:1;filter:blur(0)}}
  @media(min-width:1280px) and (max-width:1599px) {.home-page {--header-x:48px;--stats-x:80px;--copy-max:900px}}
  @media(min-width:1600px) {.home-page {--logo:17px;--logo-mark:24px;--nav:15px;--nav-h:44px;--btn:15px;--btn-h:44px;--badge:13.5px;--stat-size:15px;--header-y:28px;--header-x:64px;--stats-x:96px;--copy-max:980px;--landing-header-height:82px}.home-page .main-nav>a{padding:0 20px}.hero-vantage .hero-actions{gap:12px}.stat .icon{width:22px;height:22px}}
  @media(min-width:1920px) {.home-page {--logo:18px;--logo-mark:26px;--nav:16px;--nav-h:48px;--btn:16px;--btn-h:48px;--badge:14.5px;--stat-size:16px;--header-y:32px;--header-x:80px;--stats-x:120px;--copy-max:1120px;--landing-header-height:90px}.home-page .main-nav{gap:10px}.home-page .main-nav>a{padding:0 22px}.hero-vantage .button,.home-page .nav-contact{padding:0 22px}.hero-vantage .badge{padding:10px 15px}}
  @media(min-width:2560px) {.home-page {--header-x:120px;--stats-x:160px;--copy-max:1280px}}
  @media(min-width:901px) and (max-width:1279px) {.home-page {--logo:15px;--nav:13px;--nav-h:36px;--btn:13px;--btn-h:38px;--badge:12px;--stat-size:12.5px;--header-y:16px;--header-x:28px;--stats-x:36px;--copy-max:760px;--landing-header-height:64px}.home-page .main-nav>a{padding:0 14px}.hero-vantage .hero-bottom{padding-right:72px}}
  /* Desktop type responds to both dimensions, so short laptops retain a bold headline. */
  @media(min-width:901px) {
    .home-page {--h1:clamp(48px,min(6.25vw,9svh),120px);--lede:clamp(16px,1.15vw,22px);--lede-max:clamp(440px,40vw,680px);--hero-gap:clamp(40px,6svh,88px);--hero-btn-h:clamp(44px,4.8svh,52px);--stats-y:clamp(24px,3.5svh,48px)}
    .home-page .nav-wrap {max-width:2000px;margin:0 auto}
    /* Keep the headline over the wave, including portrait screens using desktop mode. */
    .hero-vantage {min-height:min(calc(100vh - var(--landing-header-height)),max(700px,min(1080px,75vw)));min-height:min(calc(100svh - var(--landing-header-height)),max(700px,min(1080px,75vw)))}
    .hero-vantage .hero-content {align-self:start;padding-top:clamp(140px,min(22vw,28svh),360px)}
    .hero-vantage h1 {text-shadow:0 4px 28px rgba(0,0,0,.55)}
    .hero-vantage .badge {margin-bottom:clamp(16px,2.2svh,28px)}
    .hero-vantage .hero-copy {margin-top:clamp(14px,1.8svh,24px)}
    .hero-vantage .hero-actions {margin-top:clamp(20px,2.6svh,32px)}
    .hero-vantage .hero-bottom {width:100%;max-width:2000px;margin:0 auto}
    .hero-field {mask-image:linear-gradient(#000 70%,transparent)}
    .hero-wave-poster,.hero-wave {width:min(100%,1920px,135svh);height:auto;transform:translateX(-50%);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-composite:add;-webkit-mask-composite:source-over}
  }
  @media(min-width:901px) and (max-height:850px) {.home-page {--header-y:14px;--stats-y:24px;--landing-header-height:64px}}
  @media(min-width:901px) and (max-height:720px) {.home-page {--hero-gap:28px;--stats-y:18px;--nav-h:30px;--btn-h:34px;--landing-header-height:58px}.hero-vantage .hero-content{padding-top:clamp(100px,20svh,144px)}.hero-vantage .badge{margin-bottom:12px}.hero-vantage .hero-copy{margin-top:12px}.hero-vantage .hero-actions{margin-top:16px}}
  @media(min-width:901px) and (max-height:600px) {.home-page {--h1:clamp(40px,min(6.25vw,8.5svh),120px);--hero-gap:20px;--hero-btn-h:40px;--stats-y:14px}.hero-vantage .badge{padding:7px 12px;margin-bottom:10px}.hero-vantage .hero-copy{margin-top:10px}.hero-vantage .hero-actions{margin-top:14px}}
  @media(max-width:900px) {
    .home-page {--logo:16px;--btn:15px;--btn-h:46px;--hero-btn-h:48px;--h1:36px;--lede:16.5px;--badge:13.5px;--stat-size:15px;--header-y:16px;--header-x:18px;--stats-x:20px;--stats-y:28px;--hero-gap:36px;--landing-header-height:82px;--lede-max:470px;--copy-max:700px;height:auto;overflow-y:auto}
    .home-page .site-header {z-index:50;backdrop-filter:none;-webkit-backdrop-filter:none;height:auto;min-height:var(--landing-header-height)}
    .home-page .nav-wrap {grid-template-columns:1fr auto;gap:8px;padding:max(var(--header-y),env(safe-area-inset-top)) max(var(--header-x),env(safe-area-inset-right)) 20px max(var(--header-x),env(safe-area-inset-left))}
    .home-page .site-header .brand,.home-page .nav-actions {position:relative;z-index:80}
    .home-page .nav-actions {gap:10px}
    .home-page .menu-toggle {display:grid;align-content:center;justify-items:center;gap:5px;width:42px;height:42px;padding:0;border:1px solid var(--border);border-radius:6px;background:rgba(8,8,8,.55);z-index:80;flex-shrink:0}
    .home-page .menu-toggle>span {position:static;width:16px;height:1.5px;border-radius:1px;background:#fff;margin:0;transform:none;transition:transform .25s,opacity .2s}
    .home-page .menu-toggle:hover {border-color:rgba(255,255,255,.32);background:rgba(255,255,255,.05)}
    .home-page .menu-toggle[aria-expanded="true"]>span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
    .home-page .menu-toggle[aria-expanded="true"]>span:nth-child(2){opacity:0}
    .home-page .menu-toggle[aria-expanded="true"]>span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
    .home-page .menu-backdrop {display:block;position:fixed;inset:0;z-index:40;background:rgba(8,8,8,.42);opacity:0;visibility:hidden;transition:opacity .28s,visibility .28s,backdrop-filter .28s}
    .home-page.menu-open .menu-backdrop {opacity:1;visibility:visible;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
    .js-nav .home-page .main-nav {position:fixed;inset:0;z-index:45;display:flex;flex-direction:column;align-items:center;justify-content:center;justify-self:stretch;width:100%;max-width:none;gap:12px;padding:96px 22px 32px;padding-top:max(96px,calc(env(safe-area-inset-top) + 88px));opacity:0;visibility:hidden;pointer-events:none;transition:opacity .28s,visibility .28s;transform:none;background:none;border:0;height:100dvh;margin:0}
    .js-nav .home-page .main-nav.is-open {opacity:1;visibility:visible;pointer-events:auto;transition:opacity .28s,visibility 0s}
    .home-page .main-nav>a {width:100%;max-width:470px;height:56px;min-height:56px;font-size:19px;border-radius:10px;justify-content:center}
    .home-page.menu-open {overflow:hidden}
    .hero-vantage .hero-content {padding:20px 20px 64px;max-width:var(--copy-max)}
    .hero-vantage .hero-copy {max-width:var(--lede-max)}
    .hero-vantage .hero-bottom {flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:0 44px max(var(--stats-y),env(safe-area-inset-bottom))}
    .hero-vantage .stat {white-space:normal;gap:12px;line-height:1.5;text-align:center}
    .hero-vantage .hero-motion-toggle {right:12px;bottom:24px}
    .hero-field {height:55%}
    .hero-wave-poster,.hero-wave {left:0;width:100%;transform:none;object-fit:cover;object-position:50% 25%}
    .no-js .home-page .nav-wrap {grid-template-columns:1fr auto}
    .no-js .home-page .main-nav {position:static;grid-column:1/-1;grid-row:2;display:flex;flex-direction:row;flex-wrap:wrap;opacity:1;visibility:visible;gap:6px;height:auto;padding:6px 0 0}
    .no-js .home-page .main-nav>a {width:auto;height:34px;min-height:34px;font-size:12px;padding:0 10px;border-radius:6px}
    .no-js .home-page .nav-actions {grid-column:2;grid-row:1}
    .no-js .home-page .menu-toggle,.no-js .home-page .menu-backdrop {display:none}
    .no-js .hero-vantage {min-height:calc(100svh - 126px)}
  }
  @media(max-width:560px) {.home-page{--h1:34px;--lede:16px;--header-x:16px}.hero-vantage .hero-actions{flex-direction:column;width:100%;max-width:300px;gap:10px}.hero-vantage .hero-actions>span,.hero-vantage .button{width:100%}.home-page .nav-contact{padding:0 14px;gap:8px;font-size:12px}.home-page .nav-contact .icon{display:none}.home-page .site-header .brand{font-size:14px;gap:7px}.home-page .nav-actions{gap:9px}.home-page .language-switch{font-size:9px;gap:3px}}
  @media(max-width:360px) {.home-page .language-switch .language-divider,.home-page .language-switch>span:not(.current-language){display:none}.home-page .nav-actions{gap:8px}.home-page .nav-contact{padding:0 10px;font-size:11px}.hero-vantage .badge{font-size:11px;padding:9px 11px}.hero-vantage .stat{font-size:12px}.hero-vantage .hero-content{padding-bottom:42px}.hero-vantage .hero-bottom{gap:12px}}
  @media(prefers-reduced-motion:reduce) {*,*::before,*::after{transition:none!important;animation:none!important}.appear,.hero-vantage h1 em,.badge-star{opacity:1;transform:none;clip-path:none;filter:none}.hero-vantage.is-video-ready .hero-wave{opacity:0}.hero-vantage.is-video-ready .hero-wave-poster{opacity:1}.hero-vantage .button:hover::after,.home-page .main-nav>a:hover::before,.home-page .nav-contact:hover::after{transform:none}}
  @media print {.home-page{background:#fff!important;color:#111!important}.hero-vantage{background:#fff;color:#111;min-height:0;padding:30px 0}.hero-field,.grain,.hero-bottom,.home-page .site-header{display:none}.hero-vantage h1,.hero-vantage h1 em{color:#111}.hero-vantage .hero-copy{color:#444}.hero-vantage .hero-content{padding:0}.appear{animation:none;opacity:1;transform:none}}
}
