/* Fonts */
@font-face{font-family:"Helvetica Now Display";src:url("../fonts/HelveticaNowDisplay-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Helvetica Now Display";src:url("../fonts/HelveticaNowDisplay-Bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}

/* Base */
:root{--bg:#fff;--ink:#0a0a0a;--muted:#9aa0a6;--max:1200px;--navH:68px}
*{box-sizing:border-box}
html,body{height:100%}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--ink);font-family:"Helvetica Now Display",Helvetica,Arial,sans-serif;line-height:1.5}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid #000;outline-offset:2px}
body.lock{overflow:hidden}

/* Underline animation */
.u{position:relative}
.u::after{content:"";position:absolute;left:0;bottom:-4px;height:2px;background:currentColor;width:100%;transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.u.u--in::after{transform:scaleX(1);transform-origin:left}
.u.u--out::after{transform:scaleX(0);transform-origin:right}

/* Nav */
.nav{position:sticky;top:0;z-index:1000;background:#fff;border-bottom:1px solid #e6e6e6;transition:transform .28s ease,opacity .28s ease;padding-top:env(safe-area-inset-top)}
.nav--hidden{transform:translateY(calc(-1 * var(--navH)));opacity:0;pointer-events:none}
.nav__inner{height:var(--navH);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:0 16px}
.brand{font-weight:700;letter-spacing:.06em;white-space:nowrap}
.nav__list{display:flex;gap:24px;list-style:none;margin:0;padding:0;align-items:center;overflow:auto;white-space:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.nav__list::-webkit-scrollbar{display:none}
.nav__item{display:inline-flex;gap:8px;border:0;background:transparent;font:inherit;cursor:pointer;padding:8px 2px}
.plus{font-weight:700;width:14px;text-align:center}
.nav__right{display:flex;align-items:center;gap:16px}
.nav__hiring{font-weight:500}

/* Mega panel (mid-height) */
.mega{position:fixed;left:0;right:0;top:var(--navH);height:64vh;background:#000;color:#fff;display:none;border-top:1px solid #3a3a3a;border-bottom:1px solid #3a3a3a}
.mega.is-open{display:block}
.mega__scrim{position:fixed;left:0;right:0;bottom:0;top:var(--navH);background:transparent}
.mega__panel{position:absolute;inset:0;display:none;overflow:auto;-webkit-overflow-scrolling:touch}
.mega__panel.active{display:block}
.mega__grid{display:grid;grid-template-columns:1fr 1fr;min-height:100%}
.mega__left{padding:48px 20px;border-right:1px solid #3a3a3a}
.mega__right{padding:48px 20px}
.mega__label{font-size:.8rem;letter-spacing:.14em;opacity:.75;margin:0 0 8px}
.mega__title{font-weight:700;font-size:clamp(1.8rem,6vw,3.6rem);line-height:1.05;margin:.15em 0}
.mega__desc{max-width:48ch;color:#cfcfcf;margin:0 0 16px}
.mega__links{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.mega__links a{color:#fff}

/* Hero */
.hero{position:relative;min-height:calc(100svh - var(--navH));background:#000}
.hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero__overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.45) 45%,rgba(0,0,0,.18) 70%,transparent 100%)}
.hero__content{position:relative;z-index:1;max-width:var(--max);padding:clamp(16px,6vw,48px) 16px 24px}
.hero h1{font-weight:700;line-height:1.05;font-size:clamp(1.8rem,8vw,4rem);margin:.2em 0;color:#fff}
.hero p{max-width:62ch;color:#e5e5e5;font-size:clamp(20px,3.6vw,24px);line-height:1.35}
.btn{display:inline-block;margin-top:12px;padding:12px 16px;border:2px solid #fff;color:#000;background:#fff;font-weight:700}

/* Mission */
.on-light{color:#0a0a0a}
.mission{background:#f4efec;border-top:1px solid #e7e1dd;border-bottom:1px solid #e7e1dd}
.mission__inner{max-width:1400px;margin:0 auto;padding:56px 16px 64px;display:grid;grid-template-columns:1.1fr 1fr;gap:28px}
.mission__eyebrow{margin:0 0 10px;font-size:.9rem;letter-spacing:.12em;text-transform:uppercase;opacity:.75}
.mission__title{margin:.1em 0 0;font-weight:700;line-height:1.04;font-size:clamp(1.8rem,8vw,4.5rem)}
.mission__copy{font-size:clamp(20px,3.6vw,24px);line-height:1.45;margin:0 0 16px;max-width:62ch}
.mission__cta{display:inline-flex;align-items:center;gap:12px;padding-bottom:6px;border-bottom:2px solid currentColor;font-size:clamp(20px,3.6vw,24px);line-height:1.2;font-weight:600}
.mission__cta-icn{transition:transform .2s ease}
.mission__cta:hover .mission__cta-icn{transform:translateX(4px)}

/* Features */
.feature{position:relative;min-height:90vh}
.feature::before{content:"";position:absolute;inset:0;background:var(--bg) center/cover no-repeat;background-image:var(--bg)}
.feature::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.75) 0%,rgba(0,0,0,.48) 40%,rgba(0,0,0,.22) 65%,transparent 100%)}
.feature__content{position:relative;z-index:1;max-width:var(--max);padding:14vh 16px}
.feature h2{font-weight:700;font-size:clamp(1.6rem,7vw,3rem);margin:.2em 0;color:#fff}
.feature p{max-width:62ch;color:#e3e3e3;font-size:clamp(20px,3.6vw,24px);line-height:1.35}
.link{display:inline-block;margin-top:12px;color:#fff;font-size:clamp(20px,3.6vw,24px)}

/* Footer */
.site-foot{background:#000;color:#fff;border-top:1px solid #2a2a2a}
.foot__top{display:grid;grid-template-columns:1.5fr 1fr 1fr 2fr;gap:24px;max-width:1400px;margin:0 auto;padding:40px 16px}
.foot__brand{font-weight:700}
.foot__col h6{font-size:.8rem;letter-spacing:.14em;opacity:.75;margin:0 0 10px}
.site-foot ul{list-style:none;margin:0;padding:0}
.foot__col a{display:block;color:#fff;opacity:.92;padding:6px 0}
.foot__col a:hover{text-decoration:underline}
.foot__prod{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.foot__subscribe{max-width:1400px;margin:0 auto;padding:0 16px 8px}
.sr-only{position:absolute!important;clip:rect(1px,1px,1px,1px);padding:0;border:0;height:1px;width:1px;overflow:hidden}
.subscribe{position:relative;display:block;max-width:min(360px,100%);border-bottom:1px solid #fff}
.subscribe input{width:100%;background:transparent;color:#fff;border:0;padding:10px 46px 8px 2px;text-transform:uppercase;letter-spacing:.12em}
.subscribe input::placeholder{color:#bcbcbc;opacity:.9}
.subscribe__btn{position:absolute;top:0;right:0;width:44px;height:100%;border:0;background:transparent;color:#fff;display:grid;place-items:center;cursor:pointer}
.subscribe__msg{margin:.35rem 0 0 0;color:#cfcfcf;font-size:.9rem}
.foot__emailrow{max-width:1400px;margin:0 auto;padding:0 16px 12px}
.foot__email{display:inline-block;border:0}
.site-foot .foot__email.u::after{display:block}
.foot__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;max-width:1400px;margin:0 auto;padding:18px 16px}
.foot__legal{display:flex;flex-wrap:wrap;gap:18px}
.foot__bottom p{margin:0;color:#cfcfcf}
.site-foot .foot__legal a.u::after{display:block}
.site-foot .foot__to-top.u::after{display:block}

/* Pop-in animation */
@keyframes popIn{0%{opacity:0;transform:translateY(28px) scale(.98)}100%{opacity:1;transform:none}}
.pop{opacity:0;transform:translateY(28px) scale(.98)}
.reveal.in .pop{animation:popIn .55s cubic-bezier(.21,.64,.34,1) forwards;animation-delay:var(--d,0ms)}

/* Mobile adjustments */
@media (max-width:1100px){
  .mission__inner{grid-template-columns:1fr}
  .foot__top{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  :root{--navH:60px}
  .nav__inner{gap:12px}
  .foot__top{grid-template-columns:1fr}
  .foot__prod{grid-template-columns:1fr}
  .feature__content{padding:20vh 16px 16vh}
}

/* Hamburger button */
.nav__hamburger{
  display:none; /* shown on mobile via media query */
  width:44px;height:44px;border:1px solid #e6e6e6;border-radius:6px;background:#fff;cursor:pointer;
  align-items:center;justify-content:center;gap:4px;padding:0
}
.nav__hamburger span{display:block;width:22px;height:2px;background:#000}
.nav__hamburger span:nth-child(2){opacity:.9}

/* Mobile drawer */
.mnav{position:fixed;inset:var(--navH) 0 0 0;display:none;z-index:1100}
.mnav.is-open{display:block}
.mnav__scrim{position:absolute;inset:0;background:rgba(0,0,0,.35)}
.mnav__panel{
  position:absolute;left:0;right:0;top:0;background:#000;color:#fff;max-height:calc(100% - env(safe-area-inset-bottom));
  overflow:auto;-webkit-overflow-scrolling:touch;border-top:1px solid #3a3a3a;border-bottom:1px solid #3a3a3a;
  padding:10px 16px 16px
}
.mnav__group{
  width:100%;display:flex;justify-content:space-between;align-items:center;color:#fff;background:transparent;border:0;
  padding:16px 4px;font-size:18px;border-bottom:1px solid #2f2f2f;cursor:pointer
}
.mnav__plus{font-weight:700}
.mnav__group[aria-expanded="true"] .mnav__plus{content:"—";display:inline-block}
.mnav__links{
  list-style:none;margin:0;padding:0 0 8px 0;display:grid;gap:10px;max-height:0;overflow:hidden;transition:max-height .25s ease
}
.mnav__group[aria-expanded="true"]+.mnav__links{max-height:400px}
.mnav__links a{color:#fff;opacity:.95}
.mnav__hiring{display:block;margin:18px 4px 6px;border-bottom:1px solid #fff;padding-bottom:6px}

/* Show hamburger on mobile; hide desktop row */
@media (max-width:900px){
  .nav__list,.nav__hiring{display:none}
  .nav__hamburger{display:inline-flex}
}

/* Hamburger: real bars, no border */
.nav__hamburger{
  display:none;             /* shown by media query */
  width:40px;height:40px;padding:0;cursor:pointer;background:transparent;border:0;
  /* three bars via gradients */
  background:
    linear-gradient(#000,#000) center calc(50% - 6px)/22px 2px no-repeat,
    linear-gradient(#000,#000) center/22px 2px no-repeat,
    linear-gradient(#000,#000) center calc(50% + 6px)/22px 2px no-repeat;
}
.nav__hamburger:focus-visible{outline:2px solid #000;outline-offset:2px}
/* hide old span bars completely */
.nav__hamburger span{display:none}

/* Mobile drawer (keep yours, but replace link list block) */
.mnav__links{
  list-style:none;margin:0;padding:0;
  max-height:0; opacity:0; overflow:hidden;      /* fully hidden when collapsed */
  transition:max-height .25s ease, opacity .2s ease;
  background:#000;
}
.mnav__links li{padding:12px 4px}
.mnav__group[aria-expanded="true"] + .mnav__links{
  max-height:480px; opacity:1;                   /* visible when expanded */
}

/* Show hamburger on mobile; hide desktop row */
@media (max-width:900px){
  .nav__list,.nav__hiring{display:none}
  .nav__hamburger{display:inline-block}
}

/* mobile: push hamburger to the right edge */
@media (max-width:900px){
  .nav__inner{ grid-template-columns:auto 1fr auto } /* keep 3 cols even if middle is hidden */
  .brand{ grid-column:1 }
  .nav__right{
    grid-column:3;
    justify-self:end;   /* right align */
  }
}


