/* ============ Tokens (Educinity CI) ============ */
:root {
  --ink-50:#F4F3EF; --ink-100:#E6E3D9; --ink-200:#C9C3B0; --ink-300:#9B937A;
  --ink-400:#5C5742; --ink-500:#2A2820; --ink-600:#1F1D17; --ink-700:#15140F;
  --ink-800:#0C0B08; --ink-900:#050504;
  --amber-50:#FFF8EC; --amber-100:#FFEAC2; --amber-200:#FFD68A; --amber-300:#FFBE4F;
  --amber-400:#F5A524; --amber-500:#D98A0E; --amber-600:#A66708; --amber-700:#754904;
  --paper-50:#FBFAF6; --paper-100:#F4F2EA; --paper-200:#E8E4D5;
  --n-50:#FAFAF9; --n-100:#F4F3F1; --n-200:#E5E3DF; --n-300:#CFCBC4;
  --n-400:#9C978C; --n-500:#6B675E; --n-600:#494640; --n-700:#2F2D29;
  --success:#2F8F5C; --warning:#D98A0E; --danger:#C0392B; --info:#3D6BB3;

  --shadow-sm: 0 1px 2px rgba(42,40,32,.06);
  --shadow-md: 0 4px 12px -2px rgba(42,40,32,.08), 0 2px 4px -2px rgba(42,40,32,.04);
  --shadow-lg: 0 12px 24px -8px rgba(42,40,32,.12), 0 4px 8px -4px rgba(42,40,32,.06);
  --shadow-xl: 0 24px 48px -16px rgba(42,40,32,.18);

  --r-sm:6px; --r-md:10px; --r-lg:14px; --r-xl:20px;
  --ease: cubic-bezier(.2,.8,.2,1);
  --ease-enter: cubic-bezier(0,.6,.3,1);

  --font-display: 'Fraunces', 'Source Serif Pro', Georgia, serif;
  --font-body: 'Inter', system-ui, 'Segoe UI', sans-serif;
  --font-mono: 'JetBrains Mono', Menlo, monospace;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0; font-family:var(--font-body); color:var(--ink-700);
  background:var(--paper-50); font-size:16px; line-height:1.55;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
::selection{ background:var(--amber-200); color:var(--ink-700); }
::-webkit-scrollbar{ width:10px; height:10px; }
::-webkit-scrollbar-thumb{ background:var(--n-200); border-radius:8px; }
::-webkit-scrollbar-thumb:hover{ background:var(--n-300); }

h1,h2,h3,h4{
  font-family:var(--font-display);
  font-weight:600; letter-spacing:-0.01em; line-height:1.2;
  color:var(--ink-700); margin:0;
  font-variation-settings:"opsz" 96;
}
p{ margin:0; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; cursor:pointer; }

.wrap{ max-width:1200px; margin:0 auto; padding:0 24px; }

/* ============ Buttons ============ */
.btn{
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.7rem 1.15rem; border-radius:var(--r-md); font-weight:600;
  border:1px solid transparent; transition:all .2s var(--ease);
  font-size:.95rem; cursor:pointer; white-space:nowrap;
}
.btn-primary{ background:var(--ink-500); color:var(--paper-50); }
.btn-primary:hover{ background:var(--ink-600); transform:translateY(-1px); box-shadow:var(--shadow-md); }
.btn-accent{ background:var(--amber-400); color:var(--ink-500); }
.btn-accent:hover{ background:var(--amber-300); transform:translateY(-1px); box-shadow:var(--shadow-md); }
.btn-ghost{ background:transparent; color:var(--ink-500); border-color:var(--n-200); }
.btn-ghost:hover{ background:var(--paper-100); }
.btn-lg{ padding:.85rem 1.4rem; font-size:1rem; }
.btn .arrow{ transition:transform .2s var(--ease); }
.btn:hover .arrow{ transform:translateX(3px); }

.tag{
  display:inline-flex; align-items:center; gap:.35rem;
  padding:.2rem .6rem; border-radius:var(--r-sm);
  font-size:.75rem; font-weight:600;
  background:var(--amber-100); color:var(--amber-700);
  font-family:var(--font-body);
}
.eyebrow{
  display:inline-flex; align-items:center; gap:.5rem;
  font-family:var(--font-mono); font-size:.72rem; font-weight:500;
  text-transform:uppercase; letter-spacing:.12em;
  color:var(--ink-400);
}
.eyebrow::before{ content:""; width:18px; height:1px; background:var(--ink-300); }

/* ============ Nav ============ */
.nav{
  position:sticky; top:0; z-index:50;
  backdrop-filter:saturate(140%) blur(10px);
  -webkit-backdrop-filter:saturate(140%) blur(10px);
  background:rgba(251,250,246,.78);
  border-bottom:1px solid transparent;
  transition:border-color .2s var(--ease), background .2s var(--ease);
}
.nav.scrolled{ border-bottom-color:var(--paper-200); background:rgba(251,250,246,.92); }
.nav-inner{ display:flex; align-items:center; justify-content:space-between; height:68px; }
.brand{ display:flex; align-items:center; gap:.1rem; font-family:var(--font-display); font-weight:600; font-size:1.35rem; color:var(--ink-700); letter-spacing:-0.02em; }
.brand .dot{ color:var(--amber-400); }
.nav-links{ display:flex; gap:2rem; align-items:center; }
.nav-links a{ font-size:.92rem; font-weight:500; color:var(--ink-500); transition:color .15s; }
.nav-links a:hover{ color:var(--amber-500); }
.nav-cta{ display:flex; gap:.6rem; align-items:center; }
.nav-toggle{ display:none; background:transparent; border:0; padding:.4rem; }
@media (max-width:880px){
  .nav-links, .nav-cta .btn-ghost{ display:none; }
  .nav-toggle{ display:inline-flex; }
}

/* ============ Hero ============ */
.hero{
  position:relative; padding:80px 0 100px;
  overflow:hidden;
}
.hero::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(1000px 500px at 85% -10%, rgba(245,165,36,.10), transparent 60%),
    radial-gradient(800px 400px at -10% 100%, rgba(42,40,32,.04), transparent 60%);
}
.hero-grid{
  position:relative; display:grid; grid-template-columns: 1.1fr 1fr;
  gap:64px; align-items:center;
}
@media (max-width:980px){ .hero-grid{ grid-template-columns:1fr; gap:48px; } }
.hero h1{
  font-size: clamp(2.4rem, 4.6vw, 4rem);
  line-height:1.05; letter-spacing:-0.025em; margin-top:1.25rem;
}
.hero h1 .accent{
  background:linear-gradient(180deg, transparent 60%, var(--amber-200) 60%);
  padding:0 .15em;
}
.hero p.lede{
  margin-top:1.5rem; font-size:1.15rem; color:var(--ink-400);
  max-width:540px; line-height:1.55;
}
.hero-ctas{ display:flex; gap:.8rem; margin-top:2rem; flex-wrap:wrap; }
.trust-row{
  display:flex; flex-wrap:wrap; gap:1.4rem; margin-top:2.2rem;
  font-size:.85rem; color:var(--ink-400);
}
.trust-row span{ display:inline-flex; align-items:center; gap:.45rem; }
.trust-row svg{ flex-shrink:0; }
.flag{
  display:inline-block; width:18px; height:12px; border-radius:2px;
  background:linear-gradient(to bottom, #000 33%, #DD0000 33% 66%, #FFCE00 66%);
  border:1px solid rgba(0,0,0,.05);
}

/* Hero visual: stacked product mock */
.hero-visual{ position:relative; height:520px; }
@media (max-width:980px){ .hero-visual{ height:480px; } }
.mock{
  position:absolute; background:#fff; border:1px solid var(--n-200);
  border-radius:var(--r-lg); box-shadow:var(--shadow-lg);
  overflow:hidden;
}
.mock-header{
  display:flex; align-items:center; gap:.45rem;
  padding:.7rem .9rem; border-bottom:1px solid var(--n-100);
  background:var(--paper-100);
}
.mock-header .dot-r{ width:9px; height:9px; border-radius:50%; background:#E5E3DF; }
.mock-title{
  margin-left:.6rem; font-family:var(--font-mono); font-size:.7rem;
  color:var(--ink-400); letter-spacing:.02em;
}

/* Main mock - dashboard */
.mock-dash{ top:0; right:0; width:78%; }
.dash-body{ padding:1.1rem 1.2rem 1.4rem; }
.dash-row{ display:flex; align-items:center; justify-content:space-between; margin-bottom:1rem; }
.dash-h{ font-family:var(--font-display); font-size:1.05rem; font-weight:600; color:var(--ink-700); }
.dash-stats{ display:grid; grid-template-columns:repeat(3,1fr); gap:.7rem; margin-bottom:1.1rem; }
.stat{ background:var(--paper-50); border:1px solid var(--n-100); border-radius:var(--r-md); padding:.7rem .8rem; }
.stat-l{ font-size:.68rem; text-transform:uppercase; letter-spacing:.08em; color:var(--ink-400); font-weight:600; }
.stat-v{ font-family:var(--font-display); font-size:1.5rem; font-weight:600; color:var(--ink-700); margin-top:.15rem; }
.stat-v.amber{ color:var(--amber-500); }
.stat-v.success{ color:var(--success); }
.stat-trend{ font-size:.68rem; color:var(--success); margin-top:.05rem; font-weight:600; }
.table{ width:100%; border-collapse:collapse; font-size:.78rem; }
.table th{ text-align:left; font-weight:600; color:var(--ink-400); font-size:.66rem; text-transform:uppercase; letter-spacing:.08em; padding:.55rem .5rem; border-bottom:1px solid var(--n-100); }
.table td{ padding:.6rem .5rem; border-bottom:1px solid var(--n-100); color:var(--ink-700); }
.table tr:last-child td{ border-bottom:0; }
.pill{ display:inline-flex; align-items:center; gap:.3rem; padding:.15rem .45rem; border-radius:99px; font-size:.68rem; font-weight:600; }
.pill::before{ content:""; width:6px; height:6px; border-radius:50%; }
.pill.ok{ background:#E8F4EE; color:var(--success); }
.pill.ok::before{ background:var(--success); }
.pill.pending{ background:var(--amber-100); color:var(--amber-700); }
.pill.pending::before{ background:var(--amber-500); }
.pill.due{ background:#FBEAE7; color:var(--danger); }
.pill.due::before{ background:var(--danger); }
.ava{ display:inline-flex; align-items:center; justify-content:center; width:24px; height:24px; border-radius:50%; background:var(--ink-100); color:var(--ink-500); font-size:.65rem; font-weight:600; margin-right:.5rem; vertical-align:middle; }
.ava.a1{ background:#E8DBC0; } .ava.a2{ background:#D6CFB8; } .ava.a3{ background:#E6CEA0; } .ava.a4{ background:#CFC9B5; }

/* Floating audit card */
.mock-audit{
  bottom:0; left:0; width:62%;
  transform:rotate(-2deg);
}
.audit-body{ padding:1rem 1.1rem 1.2rem; }
.audit-stamp{
  position:absolute; right:14px; top:48px;
  width:78px; height:78px; border:2px solid var(--amber-500);
  color:var(--amber-600); border-radius:50%;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  font-family:var(--font-display); font-weight:600;
  transform:rotate(-12deg);
  font-size:.62rem; letter-spacing:.08em; text-transform:uppercase;
  opacity:.85;
}
.audit-stamp .big{ font-size:.95rem; line-height:1; }
.audit-line{
  height:8px; background:var(--paper-100); border-radius:99px;
  margin:.5rem 0;
}
.audit-line.short{ width:60%; }
.audit-line.mid{ width:80%; }
.audit-h{ font-family:var(--font-display); font-size:.95rem; font-weight:600; color:var(--ink-700); margin-bottom:.2rem; }
.audit-sub{ font-family:var(--font-mono); font-size:.65rem; color:var(--ink-400); }
.audit-table{ margin-top:.9rem; }
.audit-table .row{
  display:grid; grid-template-columns: 1.4fr 1fr .8fr;
  gap:.5rem; padding:.45rem 0; border-bottom:1px solid var(--n-100);
  font-size:.7rem; color:var(--ink-700); align-items:center;
}
.audit-table .row:last-child{ border-bottom:0; }
.audit-table .name{ font-weight:500; }
.audit-table .date{ font-family:var(--font-mono); font-size:.65rem; color:var(--ink-400); }
.audit-table .row .pill{ justify-self:end; }

/* ============ Sections shared ============ */
section{ position:relative; padding:96px 0; }
.section-head{ text-align:center; max-width:720px; margin:0 auto 56px; }
.section-head h2{ font-size: clamp(1.9rem, 3.2vw, 2.7rem); margin-top:.7rem; }
.section-head p{ margin-top:.9rem; color:var(--ink-400); font-size:1.08rem; }

/* Problem block */
.problem{ background:var(--paper-100); }
.problem-card{
  max-width:880px; margin:0 auto; background:#fff;
  border:1px solid var(--n-200); border-radius:var(--r-xl);
  padding:48px 56px; box-shadow:var(--shadow-sm);
  position:relative;
}
.problem-card::before{
  content:"„"; position:absolute; left:24px; top:-32px;
  font-family:var(--font-display); font-size:6rem; color:var(--amber-300); line-height:1;
}
.problem-card p{
  font-family:var(--font-display); font-size:1.4rem; line-height:1.5;
  color:var(--ink-600); font-weight:400;
}
.problem-card .strike{ text-decoration:line-through; color:var(--ink-300); text-decoration-color:var(--amber-400); text-decoration-thickness:2px; }
@media (max-width:640px){ .problem-card{ padding:32px 28px; } .problem-card p{ font-size:1.15rem; } }

/* USP cards */
.usps{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
@media (max-width:880px){ .usps{ grid-template-columns:1fr; } }
.usp{
  background:#fff; border:1px solid var(--n-200);
  border-radius:var(--r-lg); padding:32px;
  box-shadow:var(--shadow-sm); transition:all .25s var(--ease);
  display:flex; flex-direction:column; gap:1rem;
  position:relative; overflow:hidden;
}
.usp:hover{ transform:translateY(-3px); box-shadow:var(--shadow-lg); border-color:var(--amber-200); }
.usp .num{
  font-family:var(--font-mono); font-size:.7rem;
  color:var(--amber-600); font-weight:500; letter-spacing:.1em;
}
.usp h3{ font-size:1.4rem; }
.usp p{ color:var(--ink-400); font-size:.95rem; line-height:1.6; }
.usp .hook{
  margin-top:.5rem; padding:.7rem .9rem;
  background:var(--amber-50); border-left:3px solid var(--amber-400);
  border-radius:0 var(--r-sm) var(--r-sm) 0;
  font-style:italic; color:var(--ink-600); font-size:.9rem;
}

/* USP visuals */
.usp-vis{
  height:160px; margin:-32px -32px 0; padding:24px;
  background:var(--paper-100); border-bottom:1px solid var(--n-200);
  display:flex; align-items:center; justify-content:center;
  position:relative; overflow:hidden;
}
/* recurrence calendar */
.cal-grid{
  display:grid; grid-template-columns:repeat(7, 1fr); gap:4px;
  width:100%; max-width:240px;
}
.cal-cell{
  aspect-ratio:1; border-radius:4px; background:#fff;
  border:1px solid var(--n-100);
  font-family:var(--font-mono); font-size:.55rem; color:var(--ink-300);
  display:flex; align-items:center; justify-content:center;
  position:relative;
}
.cal-cell.today{ background:var(--ink-500); color:var(--paper-50); border-color:var(--ink-500); }
.cal-cell.due{ background:var(--amber-100); color:var(--amber-700); border-color:var(--amber-200); }
.cal-cell.due::after{
  content:""; position:absolute; bottom:2px; left:50%; transform:translateX(-50%);
  width:3px; height:3px; border-radius:50%; background:var(--amber-500);
}
/* domain join */
.domain-vis{
  width:100%; display:flex; flex-direction:column; gap:.5rem;
  font-family:var(--font-mono); font-size:.72rem;
}
.domain-row{
  display:flex; align-items:center; gap:.5rem;
  background:#fff; border:1px solid var(--n-100); border-radius:var(--r-sm);
  padding:.5rem .7rem;
}
.domain-row .at{ color:var(--ink-300); }
.domain-row .arrow{ color:var(--amber-500); margin:0 .2rem; }
.domain-row .ws{ color:var(--ink-500); font-weight:500; }
.check{ display:inline-flex; align-items:center; justify-content:center; width:16px; height:16px; border-radius:50%; background:var(--success); color:#fff; font-size:.6rem; flex-shrink:0; }
/* audit pdf */
.audit-vis{
  width:130px; height:130px; background:#fff;
  border:1px solid var(--n-200); border-radius:var(--r-sm);
  box-shadow:var(--shadow-md);
  padding:14px; position:relative;
  transform:rotate(-3deg);
}
.audit-vis::after{
  content:"PDF"; position:absolute; top:-8px; right:-8px;
  background:var(--amber-400); color:var(--ink-700);
  font-family:var(--font-mono); font-size:.55rem; font-weight:600;
  padding:.15rem .35rem; border-radius:3px;
  transform:rotate(8deg);
}
.audit-vis .ll{ height:4px; background:var(--paper-100); border-radius:2px; margin-bottom:5px; }
.audit-vis .ll.s{ width:60%; }
.audit-vis .ll.m{ width:85%; }
.audit-vis .seal{
  position:absolute; bottom:10px; right:10px;
  width:36px; height:36px; border:1.5px solid var(--amber-500);
  border-radius:50%; transform:rotate(-12deg);
  display:flex; align-items:center; justify-content:center;
  color:var(--amber-600); font-family:var(--font-display);
  font-size:.55rem; font-weight:600; text-align:center; line-height:1;
}

/* ============ How it works ============ */
.how{ background:var(--paper-100); }
.steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; position:relative; }
@media (max-width:880px){ .steps{ grid-template-columns:1fr; } }
.step{
  background:#fff; border:1px solid var(--n-200); border-radius:var(--r-lg);
  padding:0; overflow:hidden; box-shadow:var(--shadow-sm);
  display:flex; flex-direction:column;
}
.step-vis{
  height:200px; padding:20px; background:linear-gradient(180deg, var(--paper-50), #fff);
  border-bottom:1px solid var(--n-100);
  display:flex; align-items:center; justify-content:center;
}
.step-body{ padding:24px 28px 28px; }
.step-num{
  display:inline-flex; align-items:center; justify-content:center;
  width:32px; height:32px; border-radius:50%;
  background:var(--ink-500); color:var(--paper-50);
  font-family:var(--font-display); font-weight:600; font-size:.95rem;
  margin-bottom:.8rem;
}
.step h3{ font-size:1.2rem; margin-bottom:.5rem; }
.step p{ font-size:.92rem; color:var(--ink-400); line-height:1.6; }

/* step 1: form */
.form-mock{ width:100%; max-width:240px; }
.field{ background:#fff; border:1px solid var(--n-200); border-radius:6px; padding:.5rem .6rem; margin-bottom:.4rem; font-size:.75rem; }
.field .lbl{ font-size:.6rem; color:var(--ink-400); font-family:var(--font-mono); text-transform:uppercase; letter-spacing:.05em; }
.field .val{ color:var(--ink-700); font-weight:500; }
.field.focus{ border-color:var(--amber-400); box-shadow:0 0 0 3px rgba(245,165,36,.15); }
.field .cursor{ display:inline-block; width:1px; height:.85em; background:var(--ink-500); vertical-align:-2px; margin-left:1px; animation:blink 1s steps(1) infinite; }
@keyframes blink{ 50%{ opacity:0; } }

/* step 2: dns record */
.dns{ width:100%; max-width:260px; font-family:var(--font-mono); font-size:.65rem; }
.dns-row{ display:grid; grid-template-columns:60px 1fr; gap:.4rem; padding:.4rem .55rem; background:#fff; border:1px solid var(--n-200); border-radius:6px; margin-bottom:.35rem; align-items:center; }
.dns-row .k{ color:var(--ink-400); }
.dns-row .v{ color:var(--ink-700); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dns-status{ display:flex; align-items:center; gap:.4rem; margin-top:.5rem; font-family:var(--font-body); font-size:.78rem; color:var(--success); font-weight:500; }

/* step 3: course assign */
.assign{ width:100%; max-width:260px; }
.a-card{ background:#fff; border:1px solid var(--n-200); border-radius:6px; padding:.6rem .7rem; margin-bottom:.4rem; display:flex; align-items:center; gap:.5rem; font-size:.75rem; }
.a-card .ic{ width:24px; height:24px; border-radius:5px; background:var(--amber-100); display:flex; align-items:center; justify-content:center; color:var(--amber-700); font-weight:600; font-size:.65rem; }
.a-card .meta{ flex:1; }
.a-card .ti{ font-weight:600; color:var(--ink-700); font-size:.78rem; }
.a-card .su{ font-size:.65rem; color:var(--ink-400); font-family:var(--font-mono); }
.a-card .pill{ font-size:.6rem; }

/* ============ Pricing ============ */
.pricing-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; align-items:stretch; }
@media (max-width:880px){ .pricing-grid{ grid-template-columns:1fr; } }
.plan{
  background:#fff; border:1px solid var(--n-200); border-radius:var(--r-lg);
  padding:32px; display:flex; flex-direction:column; gap:1rem;
  box-shadow:var(--shadow-sm); position:relative;
  transition:all .25s var(--ease);
}
.plan:hover{ transform:translateY(-2px); box-shadow:var(--shadow-md); }
.plan.featured{
  background:var(--ink-500); color:var(--paper-50);
  border-color:var(--ink-500);
  box-shadow:var(--shadow-xl);
  transform:translateY(-12px);
}
.plan.featured h3, .plan.featured .price-num{ color:var(--paper-50); }
.plan.featured .feat li{ color:var(--ink-100); }
.plan.featured .feat li::before{ background:var(--amber-400); color:var(--ink-700); }
.plan.featured .recommended{
  position:absolute; top:-12px; left:50%; transform:translateX(-50%);
  background:var(--amber-400); color:var(--ink-700);
  padding:.3rem .8rem; border-radius:99px;
  font-size:.72rem; font-weight:600; letter-spacing:.04em;
  box-shadow:var(--shadow-sm);
}
.plan h3{ font-size:1.3rem; }
.plan .desc{ font-size:.88rem; color:var(--ink-400); }
.plan.featured .desc{ color:var(--ink-200); }
.price{ display:flex; align-items:baseline; gap:.4rem; margin:.5rem 0; }
.price-num{ font-family:var(--font-display); font-size:2.6rem; font-weight:600; color:var(--ink-700); letter-spacing:-0.02em; }
.price-unit{ color:var(--ink-400); font-size:.85rem; }
.plan.featured .price-unit{ color:var(--ink-200); }
.feat{ list-style:none; padding:0; margin:1rem 0; display:flex; flex-direction:column; gap:.7rem; flex:1; }
.feat li{ display:flex; align-items:flex-start; gap:.6rem; font-size:.92rem; color:var(--ink-600); line-height:1.5; }
.feat li::before{
  content:"✓"; flex-shrink:0; width:18px; height:18px; border-radius:50%;
  background:var(--ink-100); color:var(--ink-500);
  display:flex; align-items:center; justify-content:center;
  font-size:.7rem; font-weight:700; margin-top:.1rem;
}

/* ============ Trust ============ */
.trust{ background:var(--paper-100); }
.trust-grid{ display:grid; grid-template-columns:1.2fr 1fr; gap:48px; align-items:center; }
@media (max-width:880px){ .trust-grid{ grid-template-columns:1fr; } }
.quote-card{
  background:#fff; border:1px solid var(--n-200); border-radius:var(--r-lg);
  padding:36px 40px; box-shadow:var(--shadow-md);
}
.quote-card blockquote{
  font-family:var(--font-display); font-size:1.35rem; line-height:1.45;
  color:var(--ink-600); margin:0 0 1.4rem;
}
.quote-author{ display:flex; align-items:center; gap:.8rem; }
.quote-ava{ width:42px; height:42px; border-radius:50%; background:linear-gradient(135deg, #C9C3B0, #5C5742); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:600; font-size:.95rem; }
.quote-name{ font-weight:600; color:var(--ink-700); font-size:.92rem; }
.quote-role{ font-size:.8rem; color:var(--ink-400); }

.trust-anchors{ display:flex; flex-direction:column; gap:14px; }
.anchor{
  background:#fff; border:1px solid var(--n-200); border-radius:var(--r-md);
  padding:18px 20px; display:flex; gap:.9rem; align-items:flex-start;
}
.anchor .ic{
  width:36px; height:36px; border-radius:8px;
  background:var(--paper-100); flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  color:var(--ink-500);
}
.anchor h4{ font-family:var(--font-body); font-size:.95rem; font-weight:600; color:var(--ink-700); margin-bottom:.15rem; }
.anchor p{ font-size:.85rem; color:var(--ink-400); line-height:1.5; }

.logos-row{
  margin-top:64px; padding-top:48px; border-top:1px solid var(--n-200);
  text-align:center;
}
.logos-row .label{ font-family:var(--font-mono); font-size:.72rem; color:var(--ink-400); text-transform:uppercase; letter-spacing:.12em; margin-bottom:1.4rem; }
.logos{ display:flex; flex-wrap:wrap; justify-content:center; gap:48px; align-items:center; opacity:.7; }
.logos .lg{ font-family:var(--font-display); font-weight:600; color:var(--ink-400); font-size:1.15rem; letter-spacing:-0.01em; }
.logos .lg.alt1{ font-family:var(--font-mono); font-weight:500; font-size:1rem; }
.logos .lg.alt2{ font-family:var(--font-body); font-weight:700; font-size:1.05rem; letter-spacing:.05em; }
.logos .lg.alt3{ font-style:italic; }

/* ============ FAQ ============ */
.faq-list{ max-width:820px; margin:0 auto; display:flex; flex-direction:column; gap:12px; }
.faq{
  background:#fff; border:1px solid var(--n-200); border-radius:var(--r-md);
  overflow:hidden; transition:border-color .2s var(--ease), box-shadow .2s var(--ease);
}
.faq[open]{ border-color:var(--amber-200); box-shadow:var(--shadow-sm); }
.faq summary{
  padding:20px 24px; cursor:pointer; list-style:none;
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  font-weight:600; color:var(--ink-700); font-size:1.02rem;
}
.faq summary::-webkit-details-marker{ display:none; }
.faq .chev{
  width:24px; height:24px; border-radius:50%;
  background:var(--paper-100); display:flex; align-items:center; justify-content:center;
  color:var(--ink-500); flex-shrink:0; transition:all .25s var(--ease);
}
.faq[open] .chev{ background:var(--amber-400); color:var(--ink-700); transform:rotate(45deg); }
.faq .a{
  padding:0 24px 24px; color:var(--ink-500); font-size:.95rem; line-height:1.65;
}
.faq .a strong{ color:var(--ink-700); }

/* ============ CTA banner ============ */
.cta{
  background:var(--ink-500); color:var(--paper-50);
  border-radius:var(--r-xl); padding:64px 56px;
  margin:0 24px; max-width:1152px; margin-left:auto; margin-right:auto;
  text-align:center; position:relative; overflow:hidden;
}
.cta::before{
  content:""; position:absolute; top:-100px; right:-100px;
  width:300px; height:300px; border-radius:50%;
  background:radial-gradient(circle, rgba(245,165,36,.18), transparent 70%);
}
.cta h2{ color:var(--paper-50); font-size:clamp(1.8rem, 3vw, 2.5rem); position:relative; }
.cta p{ color:var(--ink-200); margin-top:.9rem; max-width:520px; margin-left:auto; margin-right:auto; position:relative; }
.cta-btns{ display:flex; gap:.8rem; justify-content:center; margin-top:2rem; flex-wrap:wrap; position:relative; }

/* ============ Footer ============ */
footer{ padding:64px 0 40px; border-top:1px solid var(--paper-200); margin-top:96px; background:var(--paper-50); }
.foot-grid{ display:grid; grid-template-columns:1.5fr repeat(3,1fr); gap:48px; margin-bottom:48px; }
@media (max-width:880px){ .foot-grid{ grid-template-columns:1fr 1fr; } }
.foot-brand p{ margin-top:.8rem; color:var(--ink-400); font-size:.9rem; max-width:280px; }
.foot-col h5{ font-family:var(--font-body); font-weight:600; font-size:.85rem; text-transform:uppercase; letter-spacing:.06em; color:var(--ink-700); margin-bottom:.9rem; }
.foot-col ul{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:.55rem; }
.foot-col a{ color:var(--ink-500); font-size:.9rem; transition:color .15s; }
.foot-col a:hover{ color:var(--amber-500); }
.foot-bottom{
  padding-top:24px; border-top:1px solid var(--paper-200);
  display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap;
  font-size:.82rem; color:var(--ink-400);
}

/* ============ Reveal on scroll ============ */
.reveal{ opacity:0; transform:translateY(16px); transition:opacity .7s var(--ease-enter), transform .7s var(--ease-enter); }
.reveal.in{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){
  .reveal{ opacity:1; transform:none; }
  *{ animation:none !important; transition:none !important; }
}

/* Mobile menu */
.m-menu{
  display:none; position:fixed; inset:68px 0 0; background:var(--paper-50);
  padding:32px 24px; z-index:40; flex-direction:column; gap:1.2rem;
}
.m-menu.open{ display:flex; }
.m-menu a{ font-family:var(--font-display); font-size:1.6rem; color:var(--ink-700); }
.m-menu .btn{ margin-top:1rem; justify-content:center; }
