/* ============ Nvyte shared styles ============ */
:root{
  --ink:#1d1d1f;
  --paper:#ffffff;
  --mist:#f5f5f7;
  --grey:#86868b;
  --hair:#d2d2d7;
  --accent:#ff5a1f;
  --accent-deep:#e64a12;
  --night:#0b0b0d;
  --radius:28px;
  --font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--font);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%}
a{text-decoration:none;color:inherit}

/* reveal */
.rv{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.6,.2,1),transform .8s cubic-bezier(.2,.6,.2,1)}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .rv{opacity:1;transform:none;transition:none}
  *{animation:none!important;transition:none!important}
}

/* nav */
nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);
  background:rgba(255,255,255,.72);
  border-bottom:1px solid rgba(0,0,0,.06);
}
.nav-in{max-width:1024px;margin:0 auto;height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 22px}
.logo{font-weight:800;font-size:19px;letter-spacing:-.04em}
.logo span{color:var(--accent)}
.nav-links{display:flex;gap:32px;font-size:13px;color:#424245}
.nav-links a{transition:color .2s}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--ink)}
.nav-cta{font-size:13px;background:var(--ink);color:#fff;padding:7px 16px;border-radius:100px;font-weight:500;transition:background .2s}
.nav-cta:hover{background:#000}
@media(max-width:760px){.nav-links{display:none}}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:8px;font-size:17px;font-weight:500;padding:14px 30px;border-radius:100px;transition:all .25s cubic-bezier(.2,.6,.2,1);border:none;cursor:pointer;font-family:var(--font)}
.btn-solid{background:var(--accent);color:#fff}
.btn-solid:hover{background:var(--accent-deep);transform:scale(1.03)}
.btn-ghost{color:var(--accent);background:transparent}
.btn-ghost:hover{gap:12px}
.btn-dark{background:#fff;color:var(--ink)}
.btn-dark:hover{transform:scale(1.03)}
.btn svg{width:14px;height:14px}
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:8px}
:where(a,button).btn:focus-visible,.nav-cta:focus-visible{border-radius:100px}

/* type & sections */
section{padding:110px 22px}
.wrap{max-width:1024px;margin:0 auto}
.eyebrow{font-size:14px;font-weight:600;color:var(--accent);letter-spacing:.06em;text-transform:uppercase;margin-bottom:18px}
h1{font-size:clamp(52px,9vw,104px);font-weight:800;letter-spacing:-.045em;line-height:1.02}
h1 .thin{color:var(--grey)}
h2{font-size:clamp(38px,5.6vw,64px);font-weight:800;letter-spacing:-.04em;line-height:1.05}
.sec-head{text-align:center;max-width:760px;margin:0 auto 64px}
.sec-head p{font-size:clamp(18px,2vw,22px);color:var(--grey);margin-top:18px;line-height:1.45}
.hero-ctas{display:flex;gap:18px;justify-content:center;margin-top:38px;flex-wrap:wrap}
.bg-mist{background:var(--mist)}

/* page hero (inner pages) */
.page-hero{padding:150px 22px 70px;text-align:center}
.page-hero h1{font-size:clamp(44px,7vw,84px)}
.page-hero p.sub{font-size:clamp(18px,2.2vw,24px);color:var(--grey);max-width:620px;margin:24px auto 0;line-height:1.45}

/* finale CTA band */
.finale{text-align:center;padding:150px 22px}
.finale h2{font-size:clamp(44px,7vw,84px)}
.finale p{font-size:clamp(18px,2.2vw,23px);color:var(--grey);margin:22px auto 0;max-width:560px;line-height:1.45}
.finale .hero-ctas{margin-top:40px}

/* forms */
.field{display:flex;flex-direction:column;gap:8px;margin-bottom:20px;text-align:left}
.field label{font-size:13px;font-weight:600;color:var(--ink)}
.field input,.field select,.field textarea{
  font-family:var(--font);font-size:16px;color:var(--ink);
  background:#fff;border:1px solid var(--hair);border-radius:14px;
  padding:14px 16px;transition:border-color .2s, box-shadow .2s;width:100%;
}
.field textarea{resize:vertical;min-height:120px}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none;border-color:var(--accent);box-shadow:0 0 0 4px rgba(255,90,31,.14);
}
.field .hint{font-size:12px;color:var(--grey)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:640px){.form-row{grid-template-columns:1fr}}

/* QR block (reused) */
.qr{width:104px;height:104px;border-radius:16px;background:var(--ink);padding:12px;display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(6,1fr);gap:3px}
.qr i{background:#fff;border-radius:2px}
.qr i.o{background:transparent}

/* footer */
footer{background:var(--mist);padding:44px 22px;font-size:12px;color:var(--grey)}
.foot{max-width:1024px;margin:0 auto;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:center}
.foot .logo{font-size:15px;color:var(--ink)}
.foot-links{display:flex;gap:24px;flex-wrap:wrap}
.foot-links a:hover{color:var(--ink)}

/* legal pages */
.legal-wrap{max-width:1024px;margin:0 auto;display:grid;grid-template-columns:240px 1fr;gap:60px;padding:150px 22px 110px}
@media(max-width:860px){.legal-wrap{grid-template-columns:1fr;gap:30px;padding-top:120px}}
.toc{position:sticky;top:90px;align-self:start;font-size:13px}
@media(max-width:860px){.toc{position:static;border-bottom:1px solid var(--hair);padding-bottom:20px}}
.toc b{display:block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--grey);margin-bottom:14px}
.toc a{display:block;padding:6px 0;color:#424245;border-left:2px solid transparent;padding-left:12px;margin-left:-14px;transition:color .2s,border-color .2s}
.toc a:hover{color:var(--ink);border-color:var(--hair)}
.legal h1{font-size:clamp(36px,5vw,56px);margin-bottom:8px}
.legal .updated{font-size:13px;color:var(--grey);margin-bottom:44px}
.legal h2{font-size:clamp(22px,2.6vw,28px);letter-spacing:-.02em;margin:52px 0 16px;scroll-margin-top:90px}
.legal p,.legal li{font-size:15.5px;line-height:1.7;color:#3a3f4b;margin-bottom:14px}
.legal ul{padding-left:22px;margin-bottom:14px}
.legal li{margin-bottom:8px}
.legal .lede{font-size:18px;color:#3a3f4b}
.legal strong{color:var(--ink)}
