/*
 * Site chrome shared with the landing page (index.html): tokens, buttons,
 * header, mobile nav and footer. Copied from the landing page's inline styles;
 * if the landing page moves to an external stylesheet, link that instead.
 */
:root{
  --black:#0a0a0a;
  --charcoal:#161618;
  --panel:#1c1c1f;
  --steel:#8a8f96;
  --steel-dim:#54585e;
  --hair:rgba(255,255,255,0.09);
  --hair-strong:rgba(255,255,255,0.2);
  --white:#f7f7f5;
  --orange:#ff5a37;
  --orange-dim:rgba(255,90,55,0.14);
  --serif-display:'Space Grotesk',sans-serif;
  --body:'Inter',sans-serif;
  --ease:cubic-bezier(.16,.84,.44,1);
  --gutter:clamp(16px,5vw,80px);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:0.001ms !important;transition-duration:0.001ms !important;scroll-behavior:auto !important;}
}
body{
  background:var(--black);
  color:var(--white);
  font-family:var(--body);
  font-weight:400;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul,ol{list-style:none;}
button,input,select,textarea{font:inherit;color:inherit;}
::selection{background:var(--orange);color:#0a0a0a;}
:focus-visible{outline:2px solid var(--orange);outline-offset:3px;}

.eyebrow{
  font-family:var(--serif-display);
  text-transform:uppercase;
  letter-spacing:0.28em;
  font-size:0.72rem;
  color:var(--orange);
  font-weight:500;
  display:inline-flex;
  align-items:center;
  gap:10px;
}
.eyebrow::before{content:"";width:22px;height:1px;background:var(--orange);display:inline-block;}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:16px 30px;
  font-family:var(--serif-display);
  font-size:0.86rem;
  letter-spacing:0.06em;
  text-transform:uppercase;
  border-radius:2px;
  cursor:pointer;
  transition:background .2s, border-color .2s, color .2s;
  border:1px solid transparent;
  white-space:nowrap;
  background:none;
}
.btn-primary{background:var(--orange);color:#0a0a0a;font-weight:600;}
.btn-primary:hover{background:#ff7455;}
.btn-ghost{border-color:rgba(255,255,255,0.28);color:var(--white);}
.btn-ghost:hover{border-color:var(--white);background:rgba(255,255,255,0.06);}
.btn[disabled]{opacity:.4;cursor:not-allowed;}
.btn-primary[disabled]:hover{background:var(--orange);}

/* ---------- HEADER (always in its scrolled state on this page) ---------- */
.skip-link{position:absolute;left:-999px;top:0;background:var(--orange);color:#0a0a0a;padding:12px 20px;z-index:200;}
.skip-link:focus{left:20px;top:20px;}
header.site-header{
  position:sticky;top:0;z-index:100;
  padding:14px var(--gutter);
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  background:rgba(10,10,10,0.94);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--hair);
}
.logo-mark{display:flex;align-items:center;gap:12px;}
.logo-mark img{width:34px;height:34px;}
.logo-mark span{font-family:var(--serif-display);font-size:0.92rem;letter-spacing:0.04em;font-weight:600;line-height:1.2;}
.logo-mark small{display:block;font-family:var(--body);font-weight:300;letter-spacing:0.18em;font-size:0.56rem;color:var(--steel);text-transform:uppercase;margin-top:2px;}
nav.primary-nav{display:flex;gap:34px;}
nav.primary-nav a{font-size:0.82rem;letter-spacing:0.03em;color:var(--steel);position:relative;padding:4px 0;transition:color .2s;}
nav.primary-nav a:hover,nav.primary-nav a[aria-current="page"]{color:var(--white);}
nav.primary-nav a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--orange);transition:width .3s var(--ease);}
nav.primary-nav a:hover::after,nav.primary-nav a[aria-current="page"]::after{width:100%;}
.nav-cta{display:flex;align-items:center;gap:18px;}
.nav-cta .btn{padding:12px 22px;}
.nav-phone{display:flex;align-items:center;gap:10px;color:var(--white);font-size:0.82rem;line-height:1.25;}
.nav-phone svg{color:var(--orange);}
.nav-phone small{display:block;color:var(--steel);font-size:0.62rem;letter-spacing:0.14em;}
.menu-toggle{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:12px 6px;}
.menu-toggle span{width:24px;height:1px;background:var(--white);display:block;}
@media (max-width:1100px){ .nav-phone{display:none;} }
@media (max-width:980px){
  nav.primary-nav{display:none;}
  .nav-cta .btn{display:none;}
  .menu-toggle{display:flex;}
}
.mobile-nav{
  position:fixed;inset:0;background:rgba(10,10,10,0.98);z-index:150;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px;
  opacity:0;pointer-events:none;transition:opacity .3s var(--ease);
}
.mobile-nav.show{opacity:1;pointer-events:auto;}
.mobile-nav a{font-family:var(--serif-display);font-size:1.5rem;}
.mobile-nav a[aria-current="page"]{color:var(--orange);}
.mobile-nav .close-x{position:absolute;top:18px;right:var(--gutter);font-size:1.8rem;cursor:pointer;background:none;border:none;color:var(--white);width:44px;height:44px;}

/* ---------- FOOTER ---------- */
footer.site-footer{border-top:1px solid var(--hair);padding:70px var(--gutter) 40px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:50px;max-width:1400px;margin:0 auto;}
.footer-col h5{font-family:var(--serif-display);font-weight:500;font-size:0.72rem;text-transform:uppercase;letter-spacing:0.12em;color:var(--steel);margin-bottom:22px;}
.footer-col ul{display:flex;flex-direction:column;gap:12px;}
.footer-col a{font-size:0.88rem;color:#d6d6d4;transition:color .2s;}
.footer-col a:hover{color:var(--orange);}
.footer-brand .logo-mark{margin-bottom:18px;}
.footer-brand p{color:var(--steel);font-size:0.85rem;max-width:280px;}
.footer-bottom{
  max-width:1400px;margin:60px auto 0;padding-top:26px;border-top:1px solid var(--hair);
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;
  font-size:0.76rem;color:var(--steel-dim);
}
@media (max-width:860px){.footer-grid{grid-template-columns:1fr 1fr;gap:40px;}}
@media (max-width:520px){.footer-grid{grid-template-columns:1fr;}}
