/* Shared chrome for Manifest marketing subpages — match landing nav + footer */
*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0; }
:root{
  --font:'Sora','Inter',system-ui,sans-serif;
  --font-body:'Inter','Sora',system-ui,sans-serif;
  --bg:#050608; --border:rgba(255,255,255,.1); --border-2:rgba(255,255,255,.18);
  --text:#fff; --muted:#9aa0aa; --muted-2:#6b7280;
  --ease:cubic-bezier(.16,1,.3,1); --maxw:920px; --navw:1320px;
}
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  font-family:var(--font-body); color:var(--text); background:var(--bg); line-height:1.65;
  min-height:100vh; overflow-x:hidden; display:flex; flex-direction:column;
  background-image:
    radial-gradient(70% 50% at 50% -10%, rgba(255,255,255,.06), transparent 55%),
    linear-gradient(180deg, #000 0%, #050608 40%, #07080c 100%);
}
a{ color:inherit; text-decoration:none; }
h1,h2,h3,h4{ font-family:var(--font); font-weight:700; letter-spacing:-.02em; line-height:1.15; }
.wrap{ width:100%; max-width:var(--maxw); margin:0 auto; padding:0 24px; }
.wrap-wide{ max-width:var(--navw); }
main{ flex:1 0 auto; width:100%; }

/* ── Nav (match landing) ── */
.nav{
  position:fixed; top:0; left:0; right:0; z-index:1000;
  border-bottom:1px solid transparent;
  transition:background .25s, border-color .25s, backdrop-filter .25s;
}
.nav.scrolled{
  background:rgba(7,8,11,.72); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
  border-bottom-color:var(--border);
}
.nav-inner{
  width:100%; max-width:var(--navw); margin:0 auto; padding:14px 24px;
  display:flex; align-items:center; justify-content:space-between; gap:20px;
}
.nav-logo{ display:flex; align-items:center; gap:9px; flex-shrink:0; }
.nav-logo img, .nav-logo-mark{ height:46px; width:auto; mix-blend-mode:screen; display:block; }
.nav-logo-wordmark{
  font-family:var(--font); font-size:15px; font-weight:600;
  letter-spacing:.12em; color:rgba(255,255,255,.9); white-space:nowrap; line-height:1;
}
.nav-logo-wordmark span{ font-weight:600; letter-spacing:.08em; }
.nav-end{ display:flex; align-items:center; justify-content:flex-end; gap:16px; margin-left:auto; min-width:0; }
.nav-links{ display:flex; align-items:center; justify-content:flex-end; gap:6px; }
.nav-links a{
  font-size:14px; color:var(--muted); padding:8px 14px; border-radius:9px;
  transition:color .15s, background .15s;
}
.nav-links a:hover, .nav-links a.active{ color:#fff; background:rgba(255,255,255,.06); }
.nav-cta{ display:flex; align-items:center; gap:10px; flex-shrink:0; }
.lang-toggle{
  display:inline-flex; align-items:center; gap:6px; font-size:13px; color:var(--muted);
  padding:8px 12px; border-radius:9px; cursor:pointer; background:none; border:0; font-family:var(--font-body);
  transition:color .15s, background .15s;
}
.lang-toggle:hover{ color:#fff; background:rgba(255,255,255,.06); }
.lang-toggle svg{ width:15px; height:15px; }
.nav-signin{
  font-size:14px; color:#fff; padding:9px 18px; border-radius:13px;
  border:1px solid rgba(255,255,255,.16); background:transparent;
  -webkit-backdrop-filter:blur(14px) saturate(180%); backdrop-filter:blur(14px) saturate(180%);
  transition:background .15s, border-color .15s;
}
.nav-signin:hover{ border-color:rgba(255,255,255,.34); }

/* Nav CTA glass (same recipe as landing .btn.btn-nav-cta) */
.btn-nav-cta, a.btn-nav-cta, .btn.btn-nav-cta{
  position:relative; isolation:isolate; overflow:hidden;
  display:inline-flex; align-items:center; justify-content:center;
  font-family:var(--font); font-weight:600; font-size:13.5px; color:#fff;
  padding:9px 18px; border-radius:13px; min-height:0; cursor:pointer;
  border:1px solid rgba(255,255,255,.42); background:rgba(255,255,255,.06);
  -webkit-backdrop-filter:blur(14px) saturate(180%); backdrop-filter:blur(14px) saturate(180%);
  box-shadow:inset 0 1px 1px rgba(255,255,255,.5), inset 0 -8px 16px -12px rgba(255,255,255,.18), 0 6px 22px rgba(0,0,0,.28);
  transition:background .15s, border-color .15s, box-shadow .25s;
}
.btn-nav-cta::before, a.btn-nav-cta::before, .btn.btn-nav-cta::before{
  content:''; position:absolute; left:0; right:0; top:0; height:50%; pointer-events:none; z-index:-1;
  background:linear-gradient(180deg, rgba(255,255,255,.26), rgba(255,255,255,0)); opacity:.8;
}
.btn-nav-cta::after, a.btn-nav-cta::after, .btn.btn-nav-cta::after{
  content:''; position:absolute; inset:0; border-radius:inherit; padding:1px; pointer-events:none; z-index:-1;
  background:linear-gradient(135deg, rgba(255,255,255,.55), rgba(210,218,228,.28), rgba(255,255,255,.48));
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); mask-composite:exclude;
  opacity:1;
}
.btn-nav-cta:hover, a.btn-nav-cta:hover, .btn.btn-nav-cta:hover{
  border-color:rgba(255,255,255,.62); background:rgba(255,255,255,.1);
}

.nav-burger{ display:none; background:none; border:0; color:#fff; cursor:pointer; padding:8px; }
.nav-burger svg{ width:24px; height:24px; }
.nav-mobile{ display:none; }
.nav-mobile.open{
  display:flex; flex-direction:column; gap:4px; padding:10px 16px 18px;
  background:rgba(7,8,11,.96); backdrop-filter:blur(14px); border-bottom:1px solid var(--border);
}
.nav-mobile a{ padding:12px 14px; border-radius:9px; color:var(--muted); font-size:15px; }

/* ── Page content ── */
.sub-hero{ padding:140px 0 36px; text-align:left; }
.sub-hero .eyebrow{
  display:inline-flex; align-items:center; gap:8px; font-family:var(--font);
  font-size:12px; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
  color:var(--muted); margin-bottom:18px;
}
.sub-hero .eyebrow::before{
  content:''; width:6px; height:6px; border-radius:50%; background:rgba(255,255,255,.55);
}
.sub-hero h1{ font-size:clamp(30px,4.6vw,48px); margin-bottom:14px; }
.sub-hero p{ color:var(--muted); font-size:16.5px; max-width:620px; }
.sub-back{
  display:inline-flex; align-items:center; gap:8px; margin-top:22px;
  color:rgba(255,255,255,.55); font-size:13.5px; transition:color .15s;
}
.sub-back:hover{ color:#fff; }

.glass-panel{
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.1);
  border-radius:18px;
  -webkit-backdrop-filter:blur(16px) saturate(140%);
  backdrop-filter:blur(16px) saturate(140%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}

.faq-list{ display:flex; flex-direction:column; gap:10px; padding-bottom:80px; }
.faq-list details{
  border:1px solid rgba(255,255,255,.1); border-radius:14px;
  background:rgba(255,255,255,.03); overflow:hidden;
}
.faq-list summary{
  list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between;
  gap:16px; padding:18px 20px; font-family:var(--font); font-size:15.5px; font-weight:600;
}
.faq-list summary::-webkit-details-marker{ display:none; }
.faq-list summary svg{ width:18px; height:18px; flex-shrink:0; color:var(--muted); transition:transform .2s; }
.faq-list details[open] summary svg{ transform:rotate(180deg); }
.faq-body{ padding:0 20px 18px; color:var(--muted); font-size:14.5px; line-height:1.75; }

.tut-grid{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; padding-bottom:80px;
}
.tut-card{
  display:flex; flex-direction:column; gap:10px; padding:26px 24px; min-height:180px;
  color:inherit; transition:border-color .18s, background .18s, transform .18s;
}
.tut-card:hover{ border-color:rgba(255,255,255,.22); background:rgba(255,255,255,.05); transform:translateY(-2px); }
.tut-card h3{ font-size:18px; }
.tut-card p{ color:var(--muted); font-size:14px; line-height:1.65; }
.tut-card .soon{
  margin-top:auto; align-self:flex-start; font-size:11px; letter-spacing:.4px;
  padding:4px 9px; border-radius:999px; color:var(--muted);
  border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.04);
}
.tut-card .watch{
  margin-top:auto; align-self:flex-start; font-size:12.5px; color:rgba(255,255,255,.78);
}

.join-card{ padding:36px 32px; max-width:640px; margin-bottom:80px; }
.join-card p{ color:var(--muted); font-size:15px; margin-bottom:14px; }
.join-card a.mail{
  display:inline-flex; margin-top:10px; color:#fff; border-bottom:1px solid rgba(255,255,255,.35);
  padding-bottom:2px; font-family:var(--font); font-size:15px;
}
.join-card a.mail:hover{ border-bottom-color:#fff; }

.policy-toc{
  display:flex; flex-wrap:wrap; gap:8px 16px; margin:0 0 28px; padding-bottom:18px;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.policy-toc a{ color:rgba(255,255,255,.55); font-size:13px; }
.policy-toc a:hover{ color:#fff; }
.policy-block{ margin-bottom:28px; padding:28px 26px; }
.policy-block h2{ font-size:18px; margin:26px 0 10px; font-weight:600; }
.policy-block h2:first-of-type{ margin-top:0; }
.policy-block .meta{ color:var(--muted-2); font-size:12.5px; margin-bottom:18px; }
.policy-block h3{ font-size:15.5px; margin:22px 0 8px; font-weight:600; }
.policy-block p, .policy-block li{ color:var(--muted); font-size:14.5px; line-height:1.75; }
.policy-block p{ margin-bottom:10px; }
.policy-block ul{ padding-left:18px; margin-bottom:10px; }
.policy-block li{ margin-bottom:6px; }
.policy-wrap{ padding-bottom:90px; }

/* ── Footer (match landing) ── */
.site-footer{
  margin-top:auto; position:relative; z-index:6; flex-shrink:0;
  background:rgba(5,6,8,.94); border-top:1px solid rgba(255,255,255,.14);
  padding:72px 0 32px; -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
}
.site-footer .wrap,
.site-footer .wrap-wide{ max-width:var(--navw); margin:0 auto; padding:0 24px; width:100%; }
.sf-top{
  display:flex; align-items:flex-start; justify-content:space-between; gap:48px 64px;
  padding-bottom:40px;
}
.sf-brand{ max-width:420px; }
.sf-logo{
  display:inline-flex; align-items:center; gap:12px; margin-bottom:16px;
  font-family:var(--font); font-weight:800; font-size:20px; letter-spacing:.04em; color:#fff;
}
.sf-logo img{ height:36px; width:auto; mix-blend-mode:screen; display:block; }
.sf-logo span span{ font-weight:600; letter-spacing:.08em; }
.sf-brand p{ color:var(--muted); font-size:14.5px; line-height:1.7; max-width:360px; }
.sf-links{
  display:flex; flex-wrap:wrap; gap:10px 28px; justify-content:flex-end; padding-top:6px;
}
.sf-links a{
  color:rgba(255,255,255,.62); font-size:14px; font-family:var(--font);
  letter-spacing:.01em; transition:color .15s ease;
}
.sf-links a:hover{ color:#fff; }
.sf-social{
  display:flex; flex-wrap:wrap; gap:10px 22px; align-items:center;
  padding:22px 0 28px; border-top:1px solid rgba(255,255,255,.10);
}
.sf-social a{
  color:rgba(255,255,255,.48); font-size:13px; letter-spacing:.04em;
  transition:color .15s ease;
}
.sf-social a:hover{ color:#fff; }
.sf-bottom{
  display:flex; flex-wrap:wrap; gap:12px 24px; align-items:center; justify-content:space-between;
  padding-top:22px; border-top:1px solid rgba(255,255,255,.10);
  color:rgba(255,255,255,.38); font-size:12.5px;
}
.sf-lang{ display:inline-flex; align-items:center; gap:8px; }
.sf-lang button{
  background:none; border:0; padding:0; cursor:pointer; font:inherit; color:rgba(255,255,255,.38);
  transition:color .15s ease;
}
.sf-lang button:hover, .sf-lang button.is-active{ color:rgba(255,255,255,.88); }
.sf-lang .dot{ opacity:.45; user-select:none; }

@media(max-width:880px){
  .nav-links, .nav-signin{ display:none; }
  .nav-burger{ display:inline-flex; }
  .sf-top{ flex-direction:column; gap:28px; }
  .sf-links{ justify-content:flex-start; }
  .site-footer{ padding:56px 0 28px; }
}
@media(min-width:881px){ .nav-mobile{ display:none !important; } }
@media(max-width:640px){
  .tut-grid{ grid-template-columns:1fr; }
  .sub-hero{ padding:120px 0 28px; }
}
