/* ========== Base ========== */
:root{
  --ink:#15140f;
  --muted:#69675f;
  --paper:#f7f3ea;
  --paper-2:#ebe3d4;
  --deep:#11140f;
  --cream:#fffaf0;
  --line:rgba(21,20,15,.14);
  --line-light:rgba(255,250,240,.24);
  --accent:#c7ff45;
  --accent-2:#e85d3f;
  --shadow:0 24px 70px rgba(39,35,24,.18);
  --container:1180px;
  --radius:8px;
  --font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--font);
  color:var(--ink);
  background:var(--paper);
  line-height:1.5;
  text-rendering:optimizeLegibility;
}

img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
p,h1,h2,h3{margin:0}
p{color:var(--muted)}
h1,h2,h3{line-height:1.02;font-weight:760;letter-spacing:0}
h1{font-size:clamp(46px,8vw,116px);max-width:11ch}
h2{font-size:clamp(34px,5.8vw,74px)}
h3{font-size:clamp(20px,2.1vw,28px)}

.container{
  width:min(var(--container),calc(100% - 40px));
  margin-inline:auto;
}

.section{padding:112px 0}
.section--deep{background:var(--deep);color:var(--cream)}
.section--deep p{color:rgba(255,250,240,.68)}
.section--warm{background:var(--paper-2)}
.section-kicker{
  margin-bottom:18px;
  color:var(--accent-2);
  font-size:12px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.section--deep .section-kicker,.final-cta .section-kicker{color:var(--accent)}

/* ========== Header ========== */
.site-header{
  position:fixed;
  inset:18px 18px auto;
  z-index:20;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:20px;
  padding:10px 12px;
  color:var(--cream);
  background:rgba(17,20,15,.44);
  border:1px solid rgba(255,250,240,.20);
  border-radius:999px;
  backdrop-filter:blur(18px);
  box-shadow:0 16px 42px rgba(0,0,0,.18);
}
.brand{display:inline-flex;align-items:center;gap:10px;font-weight:850;white-space:nowrap}
.brand__mark{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:var(--deep);
  background:var(--accent);
}
.brand__name{font-size:15px}
.nav{display:flex;align-items:center;gap:8px}
.nav a,.header-cta{
  min-height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:0 14px;
  font-size:13px;
  font-weight:760;
}
.nav a{color:rgba(255,250,240,.72);transition:color .2s ease,background .2s ease}
.nav a:hover{color:var(--cream);background:rgba(255,250,240,.10)}
.header-cta{justify-self:end;color:var(--deep);background:var(--cream)}

/* ========== Buttons ========== */
.btn{
  min-height:52px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid transparent;
  border-radius:999px;
  padding:0 24px;
  font-weight:850;
  transition:transform .22s ease,box-shadow .22s ease,background .22s ease;
}
.btn:hover{transform:translateY(-2px)}
.btn--primary{color:var(--deep);background:var(--accent);box-shadow:0 18px 50px rgba(199,255,69,.22)}
.btn--glass{color:var(--cream);border-color:rgba(255,250,240,.28);background:rgba(255,250,240,.08)}
.btn--dark{width:100%;color:var(--cream);background:var(--deep)}
.text-link{display:inline-flex;margin-top:24px;font-weight:850;border-bottom:2px solid var(--accent-2)}

/* ========== Hero ========== */
.hero{
  position:relative;
  min-height:100svh;
  overflow:hidden;
  color:var(--cream);
  background:var(--deep);
}
.hero__image,.hero__shade{position:absolute;inset:0}
.hero__image{
  background-image:url("https://images.unsplash.com/photo-1560448204-e02f11c3d0e2?auto=format&fit=crop&w=2200&q=84");
  background-size:cover;
  background-position:center;
  transform:scale(1.04);
  animation:heroZoom 1.2s cubic-bezier(.2,.8,.2,1) forwards;
}
.hero__shade{
  background:
    linear-gradient(90deg,rgba(10,12,9,.88) 0%,rgba(10,12,9,.64) 38%,rgba(10,12,9,.08) 78%),
    linear-gradient(0deg,rgba(10,12,9,.72) 0%,rgba(10,12,9,0) 38%);
}
.hero__content{
  position:relative;
  z-index:1;
  width:min(1180px,calc(100% - 40px));
  min-height:100svh;
  display:flex;
  flex-direction:column;
  justify-content:center;
  margin-inline:auto;
  padding:120px 0 184px;
}
.eyebrow{
  color:rgba(255,250,240,.72);
  margin-bottom:20px;
  font-size:13px;
  font-weight:850;
  letter-spacing:.13em;
  text-transform:uppercase;
  animation:rise .7s ease .05s both;
}
.hero h1{animation:rise .8s ease .12s both}
.hero__lead{
  max-width:590px;
  margin-top:28px;
  color:rgba(255,250,240,.78);
  font-size:clamp(18px,2vw,24px);
  animation:rise .8s ease .2s both;
}
.hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px;animation:rise .8s ease .28s both}
.hero__metrics{
  position:absolute;
  left:50%;
  bottom:28px;
  z-index:2;
  width:min(1180px,calc(100% - 40px));
  display:grid;
  grid-template-columns:repeat(3,1fr);
  transform:translateX(-50%);
  border-top:1px solid var(--line-light);
  border-bottom:1px solid var(--line-light);
  backdrop-filter:blur(12px);
}
.hero__metrics div{padding:22px 28px;border-right:1px solid var(--line-light)}
.hero__metrics div:last-child{border-right:0}
.hero__metrics strong{display:block;font-size:clamp(28px,4vw,48px);line-height:1}
.hero__metrics span{display:block;margin-top:8px;color:rgba(255,250,240,.66);font-size:14px}

/* ========== Intro ========== */
.intro{background:var(--paper)}
.intro__grid,.proof__grid,.faq__grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.75fr);
  gap:80px;
  align-items:start;
}
.intro__text{padding-top:56px}
.intro__text p{font-size:clamp(18px,2vw,22px)}
.audience{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  margin-top:90px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.audience span{
  padding:22px 18px;
  border-right:1px solid var(--line);
  color:var(--muted);
  font-weight:780;
}
.audience span:last-child{border-right:0}

/* ========== Operation ========== */
.operation__grid{
  display:grid;
  grid-template-columns:minmax(320px,.85fr) minmax(0,1fr);
  gap:78px;
  align-items:center;
}
.operation__media img{
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
  border-radius:var(--radius);
  box-shadow:0 28px 80px rgba(0,0,0,.38);
}
.operation__steps h2{max-width:760px}
.steps{list-style:none;margin:42px 0 0;padding:0;border-top:1px solid var(--line-light)}
.steps li{
  display:grid;
  grid-template-columns:72px 1fr;
  gap:28px;
  padding:28px 0;
  border-bottom:1px solid var(--line-light);
}
.steps span{color:var(--accent);font-weight:900}
.steps p{max-width:590px;margin-top:10px}

/* ========== Proof ========== */
.proof{background:var(--cream)}
.proof__heading{position:sticky;top:120px}
.proof__list{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.proof-item{padding:34px 0;border-bottom:1px solid var(--line)}
.proof-item p{margin-top:12px;font-size:18px}

/* ========== Locations ========== */
.locations__grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,.78fr);
  gap:70px;
  align-items:end;
}
.location-copy p:not(.section-kicker){max-width:580px;margin-top:26px;font-size:20px}
.location-panel{
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:rgba(255,250,240,.48);
  box-shadow:var(--shadow);
}
.location-panel div{padding:28px;border-bottom:1px solid var(--line)}
.location-panel div:last-child{border-bottom:0}
.location-panel span{display:block;color:var(--muted);font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.12em}
.location-panel strong{display:block;margin-top:8px;font-size:clamp(28px,4vw,44px);line-height:1.05}

/* ========== Form ========== */
.form-section{background:var(--paper)}
.form-section__grid{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(380px,.8fr);
  gap:80px;
  align-items:start;
}
.form-section__copy{position:sticky;top:120px}
.form-section__copy p:not(.section-kicker){max-width:520px;margin-top:24px;font-size:19px}
.evaluation-form{
  padding:34px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--cream);
  box-shadow:var(--shadow);
}
.form__row{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}
.form__pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}
label{color:var(--muted);font-size:13px;font-weight:760}
input,select,textarea{
  width:100%;
  min-height:48px;
  border:1px solid rgba(21,20,15,.18);
  border-radius:var(--radius);
  padding:12px 14px;
  color:var(--ink);
  background:#fffdf8;
  font:inherit;
  outline:none;
  transition:border-color .2s ease,box-shadow .2s ease;
}
textarea{resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--accent-2);box-shadow:0 0 0 4px rgba(232,93,63,.12)}
.form__consent{
  display:grid;
  grid-template-columns:18px 1fr;
  gap:12px;
  align-items:start;
  margin:4px 0 18px;
  color:var(--muted);
  font-size:13px;
  line-height:1.45;
}
.form__consent input{
  width:18px;
  min-height:18px;
  margin-top:1px;
  accent-color:var(--accent-2);
}
.form__consent a{
  color:var(--ink);
  font-weight:850;
  border-bottom:1px solid currentColor;
}
.form__fineprint{margin-top:14px;text-align:center;font-size:13px}
.form__fineprint a{font-weight:800;border-bottom:1px solid currentColor}

/* ========== FAQ + CTA ========== */
.faq__items{border-top:1px solid var(--line-light)}
details{border-bottom:1px solid var(--line-light);padding:26px 0}
summary{cursor:pointer;font-size:20px;font-weight:820;list-style:none}
summary::-webkit-details-marker{display:none}
details p{margin-top:14px;max-width:620px}
.final-cta{
  position:relative;
  min-height:560px;
  display:grid;
  align-items:center;
  overflow:hidden;
  color:var(--cream);
  background:var(--deep);
}
.final-cta__image,.final-cta__shade{position:absolute;inset:0}
.final-cta__image{
  background-image:url("https://images.unsplash.com/photo-1600585154340-be6161a56a0c?auto=format&fit=crop&w=1800&q=82");
  background-size:cover;
  background-position:center;
}
.final-cta__shade{background:linear-gradient(90deg,rgba(10,12,9,.86),rgba(10,12,9,.35),rgba(10,12,9,.05))}
.final-cta__content{position:relative;z-index:1}
.final-cta h2{max-width:760px;margin-bottom:34px}

/* ========== Footer ========== */
.footer{padding:28px 0;background:var(--deep);color:rgba(255,250,240,.76)}
.footer__inner{display:flex;align-items:center;justify-content:space-between;gap:24px}
.footer__links{display:flex;gap:16px;flex-wrap:wrap}
.footer__links a{color:rgba(255,250,240,.62);font-size:14px}
.footer__links a:hover{color:var(--cream)}

/* ========== Legal Pages ========== */
.legal-page{
  background:var(--cream);
}
.site-header--solid{
  color:var(--cream);
  background:rgba(17,20,15,.88);
}
.legal-hero{
  padding:168px 0 86px;
  color:var(--cream);
  background:
    linear-gradient(90deg,rgba(17,20,15,.94),rgba(17,20,15,.72)),
    url("https://images.unsplash.com/photo-1497366754035-f200968a6e72?auto=format&fit=crop&w=1800&q=82") center/cover;
}
.legal-hero h1{
  max-width:780px;
  font-size:clamp(42px,7vw,94px);
}
.legal-hero p:not(.section-kicker){
  max-width:720px;
  margin-top:24px;
  color:rgba(255,250,240,.74);
  font-size:clamp(18px,2vw,23px);
}
.legal-hero span{
  display:inline-flex;
  margin-top:30px;
  color:rgba(255,250,240,.62);
  font-size:14px;
  font-weight:780;
}
.legal-layout{
  display:grid;
  grid-template-columns:230px minmax(0,820px);
  gap:78px;
  align-items:start;
}
.legal-aside{
  position:sticky;
  top:120px;
  display:flex;
  flex-direction:column;
  gap:4px;
  padding-top:6px;
}
.legal-aside a{
  padding:10px 0;
  color:var(--muted);
  font-size:14px;
  font-weight:820;
  border-bottom:1px solid var(--line);
  transition:color .2s ease,padding-left .2s ease;
}
.legal-aside a:hover{
  padding-left:6px;
  color:var(--ink);
}
.legal-document{
  color:var(--ink);
}
.legal-document section{
  padding:34px 0;
  border-bottom:1px solid var(--line);
  scroll-margin-top:120px;
}
.legal-document section:first-child{
  padding-top:0;
}
.legal-document h2{
  margin-bottom:18px;
  font-size:clamp(25px,3vw,38px);
}
.legal-document p{
  margin-top:12px;
  color:#4f4d46;
  font-size:17px;
}
.legal-document a{
  color:var(--ink);
  font-weight:850;
  border-bottom:2px solid var(--accent-2);
}
.legal-notice{
  padding:24px !important;
  border:1px solid rgba(232,93,63,.36) !important;
  border-radius:var(--radius);
  background:rgba(232,93,63,.08);
}
.legal-notice h2{
  margin-bottom:8px;
  font-size:22px;
}
.legal-data{
  margin:24px 0 0;
  border-top:1px solid var(--line);
}
.legal-data div{
  display:grid;
  grid-template-columns:190px 1fr;
  gap:20px;
  padding:16px 0;
  border-bottom:1px solid var(--line);
}
.legal-data dt{
  color:var(--muted);
  font-size:13px;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.legal-data dd{
  margin:0;
  color:var(--ink);
  font-weight:720;
}

/* ========== Motion ========== */
.reveal{animation:fadeUp .72s ease both}
@supports (animation-timeline:view()){
  .reveal{
    animation:fadeUp linear both;
    animation-timeline:view();
    animation-range:entry 0% cover 28%;
  }
}
@keyframes fadeUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes heroZoom{from{transform:scale(1.08)}to{transform:scale(1)}}

/* ========== Responsive ========== */
@media (max-width:980px){
  .site-header{grid-template-columns:1fr auto;inset:12px;border-radius:24px}
  .nav{display:none}
  .header-cta{padding-inline:14px}
  .hero__content{padding:112px 0 210px}
  .hero__metrics{grid-template-columns:1fr;bottom:18px}
  .hero__metrics div{padding:14px 18px;border-right:0;border-bottom:1px solid var(--line-light)}
  .hero__metrics div:last-child{border-bottom:0}
  .intro__grid,.operation__grid,.proof__grid,.locations__grid,.form-section__grid,.faq__grid,.legal-layout{grid-template-columns:1fr;gap:44px}
  .intro__text,.form-section__copy{padding-top:0;position:static}
  .legal-aside{position:static;display:grid;grid-template-columns:1fr 1fr;gap:0}
  .proof__heading{position:static}
  .audience{grid-template-columns:1fr 1fr;margin-top:54px}
  .audience span:nth-child(2){border-right:0}
  .audience span:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .section{padding:78px 0}
}

@media (max-width:620px){
  .container{width:min(100% - 28px,var(--container))}
  .site-header{padding:8px}
  .brand__name{font-size:14px}
  .header-cta{min-height:34px;font-size:12px}
  h1{font-size:clamp(42px,15vw,72px)}
  h2{font-size:clamp(32px,11vw,54px)}
  .hero__shade{background:linear-gradient(90deg,rgba(10,12,9,.88),rgba(10,12,9,.48)),linear-gradient(0deg,rgba(10,12,9,.78),rgba(10,12,9,0) 46%)}
  .hero__lead{font-size:18px}
  .btn{width:100%}
  .audience,.form__pair{grid-template-columns:1fr}
  .audience span{border-right:0;border-bottom:1px solid var(--line)}
  .audience span:last-child{border-bottom:0}
  .steps li{grid-template-columns:48px 1fr;gap:18px}
  .evaluation-form{padding:22px}
  .legal-hero{padding:136px 0 70px}
  .legal-aside{grid-template-columns:1fr}
  .legal-data div{grid-template-columns:1fr;gap:6px}
  .footer__inner{align-items:flex-start;flex-direction:column}
}
