/* SAINT AVE — shared site styles */
:root{
  --ink:#000000;
  --bone:#f4f3f0;
  --silver:#9a9fa6;
  --line: rgba(244,243,240,0.14);
  --panel:#0b0b0c;
  --nav-height:68px;
  --field-line:rgba(244,243,240,0.4);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:var(--nav-height);}
body{
  background:var(--ink);
  color:var(--bone);
  font-family:'Inter',sans-serif;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  padding-bottom:0;
}
::selection{background:var(--bone);color:var(--ink);}
a{color:inherit;text-decoration:none;}
.wrap{max-width:1240px;margin:0 auto;padding:0 28px;position:relative;z-index:2;}

.eyebrow{
  font-family:'Space Mono',monospace;
  font-size:11px;letter-spacing:0.22em;text-transform:uppercase;
  color:var(--silver);
}

/* ---------- USP BAR ---------- */
.usp-bar{
  margin-top:var(--nav-height);
  background:var(--panel);border-bottom:1px solid var(--line);
  overflow-x:auto;white-space:nowrap;scrollbar-width:none;
}
.usp-bar::-webkit-scrollbar{display:none;}
.usp-inner{
  width:max-content;min-width:100%;margin:0 auto;padding:9px 28px;
  display:flex;gap:26px;justify-content:center;
  font-family:'Space Mono',monospace;font-size:10.5px;letter-spacing:0.1em;text-transform:uppercase;color:var(--silver);
}
.usp-inner span{white-space:nowrap;}
.usp-inner span::before{content:'—';margin-right:8px;color:var(--line);}
.usp-inner span:first-child::before{content:none;}

/* ---------- NAV ---------- */
nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 28px;
  background:linear-gradient(to bottom, rgba(0,0,0,0.92), rgba(0,0,0,0));
  backdrop-filter:blur(2px);
}
.nav-logo{height:26px;width:auto;display:block;}
.nav-links{display:flex;gap:30px;font-family:'Space Mono',monospace;font-size:11px;letter-spacing:0.14em;text-transform:uppercase;}
.nav-links a{opacity:0.7;transition:opacity 0.2s;}
.nav-links a:hover{opacity:1;}
.nav-cta{
  font-family:'Space Mono',monospace;font-size:11px;letter-spacing:0.12em;text-transform:uppercase;
  border:1px solid var(--line);padding:9px 18px;transition:all 0.2s;
}
.nav-cta:hover{border-color:var(--bone);background:var(--bone);color:var(--ink);}
@media (max-width:760px){.nav-links{display:none;}}

/* ---------- MARQUEE ---------- */
.marquee{
  border-bottom:1px solid var(--line);
  overflow:hidden;white-space:nowrap;padding:11px 0;
  background:var(--panel);
}
.marquee-track{display:inline-block;animation:scroll 30s linear infinite;font-family:'Space Mono',monospace;font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:var(--silver);}
.marquee-track span{margin:0 22px;}
.marquee-track span.hi{color:var(--bone);}
@keyframes scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ---------- HERO ---------- */
.hero{
  position:relative;
  padding:12px 0 90px;
  border-bottom:1px solid var(--line);
  text-align:center;
  overflow:hidden;
}
.hero-orbit{
  position:absolute;top:50%;left:50%;
  width:min(1400px,180vw);
  transform:translate(-50%,-52%);
  opacity:0.5;
  z-index:0;
  animation:spin 90s linear infinite;
  pointer-events:none;
}
@keyframes spin{from{transform:translate(-50%,-52%) rotate(0deg);}to{transform:translate(-50%,-52%) rotate(360deg);}}

.hero-logo{width:min(340px,72vw);margin:0 auto 34px;display:block;position:relative;z-index:2;}
.hero-title{
  font-family:'Michroma',sans-serif;
  font-size:clamp(22px,3.6vw,42px);
  line-height:1.35;
  letter-spacing:0.02em;
  text-transform:uppercase;
  max-width:820px;margin:0 auto;
}
.hero-sub{
  font-family:'Inter',sans-serif;
  font-size:15px;line-height:1.75;color:var(--silver);
  margin:26px auto 0;max-width:480px;
}
.hero-ctas{
  display:flex;gap:14px;justify-content:center;margin-top:38px;flex-wrap:wrap;position:relative;z-index:2;
}
.btn{
  font-family:'Space Mono',monospace;font-size:12px;letter-spacing:0.1em;text-transform:uppercase;
  padding:15px 30px;border:1px solid var(--bone);transition:all 0.2s;display:inline-block;
}
.btn-primary{background:var(--bone);color:var(--ink);}
.btn-primary:hover{opacity:0.82;}
.btn-secondary{background:transparent;color:var(--bone);}
.btn-secondary:hover{background:var(--bone);color:var(--ink);}

.hero-coords{
  display:flex;justify-content:center;gap:26px;
  margin-top:44px;flex-wrap:wrap;position:relative;z-index:2;
}
.hero-coords div{
  font-family:'Space Mono',monospace;font-size:11px;letter-spacing:0.1em;color:var(--silver);
  border:1px solid var(--line);padding:10px 16px;
}
.hero-coords div b{color:var(--bone);font-weight:400;}

/* ---------- SECTION SHARED ---------- */
.section{padding:84px 0;border-bottom:1px solid var(--line);}

/* ---------- MANIFESTO ---------- */
.manifesto-grid{display:grid;grid-template-columns:0.95fr 1.05fr;gap:60px;align-items:center;}
.manifesto p:not(.eyebrow){font-family:'Michroma',sans-serif;font-size:clamp(17px,2vw,24px);line-height:1.6;text-transform:uppercase;letter-spacing:0.01em;}
.manifesto p.dim{color:var(--silver);font-family:'Inter',sans-serif;text-transform:none;font-size:15px;letter-spacing:0;line-height:1.8;margin-top:20px;max-width:440px;}
.manifesto-meta{font-family:'Space Mono',monospace;font-size:12px;color:var(--silver);line-height:2;}
.manifesto-meta div{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:10px 0;}
.manifesto-meta div b{color:var(--bone);font-weight:400;}
@media(max-width:760px){.manifesto-grid{grid-template-columns:1fr;}}

/* ---------- DELIVERY / RESPONSE TIME ---------- */
.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);}
.info-card{background:var(--ink);padding:28px 26px;}
.info-card .eyebrow{margin-bottom:14px;}
.info-card .big{font-family:'Michroma',sans-serif;font-size:16px;text-transform:uppercase;line-height:1.5;margin-bottom:10px;}
.info-card p{font-size:13px;color:var(--silver);line-height:1.7;}
@media(max-width:760px){.info-grid{grid-template-columns:1fr;}}

/* ---------- FAQ ---------- */
.faq-list{border-top:1px solid var(--line);}
.faq-item{border-bottom:1px solid var(--line);}
.faq-item summary{
  list-style:none;cursor:pointer;
  display:flex;justify-content:space-between;align-items:center;gap:20px;
  padding:22px 4px;font-family:'Michroma',monospace;font-size:13px;text-transform:uppercase;letter-spacing:0.02em;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary .icon{
  font-family:'Space Mono',monospace;color:var(--silver);font-size:16px;flex-shrink:0;
  transition:transform 0.2s;
}
.faq-item[open] summary .icon{transform:rotate(45deg);}
.faq-item .faq-a{
  padding:0 4px 24px;max-width:640px;
  font-size:14px;line-height:1.75;color:var(--silver);
}

/* ---------- SIGNUP ---------- */
.signup{padding:110px 0;text-align:center;position:relative;overflow:hidden;}
.signup-orbit{
  position:absolute;top:50%;left:50%;width:min(900px,150vw);
  transform:translate(-50%,-50%);opacity:0.35;z-index:0;
  animation:spin 70s linear infinite reverse;pointer-events:none;
}
.signup-title{font-family:'Michroma',sans-serif;font-size:clamp(22px,4vw,38px);text-transform:uppercase;line-height:1.4;position:relative;z-index:2;}
.signup-sub{font-family:'Space Mono',monospace;font-size:12px;letter-spacing:0.12em;text-transform:uppercase;color:var(--silver);margin:20px 0 40px;position:relative;z-index:2;}
.signup-form{display:flex;justify-content:center;gap:0;max-width:440px;margin:0 auto;position:relative;z-index:2;}
.signup-form input{
  flex:1;background:transparent;border:1px solid var(--field-line);border-right:none;
  padding:16px 18px;color:var(--bone);font-family:'Space Mono',monospace;font-size:12px;letter-spacing:0.03em;
  outline:none;
}
.signup-form input::placeholder{color:var(--silver);}
.signup-form input:focus{border-color:var(--bone);}
.signup-form button{
  background:var(--bone);border:1px solid var(--bone);color:var(--ink);
  font-family:'Space Mono',monospace;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;
  padding:16px 24px;cursor:pointer;transition:opacity 0.2s;
}
.signup-form button:hover{opacity:0.8;}
.signup-note{font-family:'Space Mono',monospace;font-size:10px;color:var(--silver);margin-top:16px;letter-spacing:0.04em;position:relative;z-index:2;}
@media(max-width:520px){.signup-form{flex-direction:column;gap:10px;}.signup-form input{border-right:1px solid var(--field-line);}}
/* iPhones zoom the page when a focused field's text is under 16px */
@media(max-width:1024px){.signup-form input{font-size:16px;}}

/* ---------- STICKY MOBILE CTA ---------- */
.sticky-cta{
  display:none;
  position:fixed;bottom:0;left:0;right:0;z-index:90;
  background:var(--ink);border-top:1px solid var(--line);
  padding:12px 16px;
  align-items:center;justify-content:space-between;gap:12px;
}
.sticky-cta .txt{font-family:'Space Mono',monospace;font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:var(--silver);}
.sticky-cta .btn{padding:12px 22px;font-size:11px;}
@media(max-width:760px){
  .sticky-cta{display:flex;}
  body{padding-bottom:64px;}
}

/* ---------- FOOTER TABS ---------- */
.footer-tabs{border-top:1px solid var(--line);}
.footer-tabs-inner{
  display:grid;grid-template-columns:1fr 1fr;
}
.footer-tab{
  display:flex;align-items:center;justify-content:space-between;
  padding:26px 4px;
  font-family:'Michroma',sans-serif;font-size:13px;text-transform:uppercase;letter-spacing:0.02em;
  border-left:1px solid var(--line);
  padding-left:24px;
  transition:background 0.2s, color 0.2s;
}
.footer-tab:first-child{border-left:none;}
.footer-tab:hover{background:var(--panel);color:var(--bone);}
.footer-tab-arrow{
  font-family:'Space Mono',monospace;color:var(--silver);font-size:16px;
  transition:transform 0.2s;
}
.footer-tab:hover .footer-tab-arrow{transform:translateX(4px);color:var(--bone);}
@media(max-width:600px){
  .footer-tabs-inner{grid-template-columns:1fr;}
  .footer-tab{border-left:none;border-top:1px solid var(--line);padding-left:4px;}
  .footer-tab:first-child{border-top:none;}
}

/* ---------- FOOTER ---------- */
footer{padding:32px 0;}
.footer-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;}
.footer-links{display:flex;gap:22px;font-family:'Space Mono',monospace;font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--silver);}
.footer-links a{padding:4px 0;}
.footer-links a:hover{color:var(--bone);}

/* ---------- LEGAL PAGES ---------- */
.legal-hero{padding:150px 0 50px;border-bottom:1px solid var(--line);}
.legal-hero h1{font-family:'Michroma',sans-serif;font-size:clamp(24px,4vw,40px);text-transform:uppercase;line-height:1.4;}
.legal-hero p{font-family:'Space Mono',monospace;font-size:11px;color:var(--silver);letter-spacing:0.08em;text-transform:uppercase;margin-top:16px;}
.legal-body{padding:60px 28px 100px;max-width:816px;}
.legal-body h2{font-family:'Michroma',sans-serif;font-size:16px;text-transform:uppercase;margin:40px 0 16px;letter-spacing:0.02em;}
.legal-body h2:first-child{margin-top:0;}
.legal-body p{font-size:14.5px;line-height:1.85;color:var(--silver);margin-bottom:14px;}
.legal-body ul{margin:0 0 14px 20px;color:var(--silver);font-size:14.5px;line-height:1.85;}
.legal-body a{color:var(--bone);border-bottom:1px solid var(--line);}

/* ---------- THANK YOU PAGE ---------- */
.ty-hero{
  min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;
  position:relative;overflow:hidden;padding:120px 28px 80px;
}
.ty-hero .hero-orbit{opacity:0.4;}
.ty-content{position:relative;z-index:2;max-width:560px;}
.ty-mark{width:120px;margin:0 auto 30px;}
.ty-content h1{font-family:'Michroma',sans-serif;font-size:clamp(24px,4vw,40px);text-transform:uppercase;line-height:1.4;margin-bottom:20px;}
.ty-content p{font-size:15px;line-height:1.8;color:var(--silver);margin-bottom:36px;}
.ty-num{font-family:'Space Mono',monospace;font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:var(--silver);border:1px solid var(--line);display:inline-block;padding:10px 18px;margin-bottom:30px;}

@media (prefers-reduced-motion: reduce){
  .marquee-track, .hero-orbit, .signup-orbit{animation:none;}
  html{scroll-behavior:auto;}
}

a:focus-visible, button:focus-visible, input:focus-visible, summary:focus-visible{
  outline:2px solid var(--bone);outline-offset:2px;
}

/* ---------- SKIP LINK ---------- */
.skip-link{
  position:absolute;left:-9999px;top:0;z-index:1000;
  background:var(--bone);color:var(--ink);
  padding:12px 20px;font-family:'Space Mono',monospace;font-size:12px;
  text-transform:uppercase;letter-spacing:0.08em;
}
.skip-link:focus{left:16px;top:16px;}

/* ---------- COOKIE CONSENT BANNER ---------- */
#cookie-banner{
  position:fixed;left:16px;right:16px;bottom:16px;z-index:200;
  max-width:560px;margin:0 auto;
  background:var(--panel);border:1px solid var(--line);
  padding:18px 20px;
  display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;
}
#cookie-banner p{font-size:12.5px;line-height:1.6;color:var(--silver);flex:1 1 260px;margin:0;}
#cookie-banner a{color:var(--bone);border-bottom:1px solid var(--line);}
.cookie-actions{display:flex;gap:10px;flex-shrink:0;}
.cookie-actions .btn{padding:10px 18px;font-size:11px;}
@media(max-width:760px){
  #cookie-banner{bottom:80px;}
}
