/* ==========================================================================
   AmeriLean Landing Page v1 - "Modern Mineral + Clay" (Color Proposal 03A)
   Palette: Slate Blue / Mineral Teal / Mist Blue / Sandstone / Soft Terracotta / Porcelain
   Self-hosted fonts: Fraunces (display) + Inter (body). No external CDNs.
   NOTE: legacy section class names (.on-evergreen/.on-bone/.on-sand) retained
   from the prior direction but recolored to the new brand below.
   ========================================================================== */

@font-face { font-family:'Fraunces'; src:url('../fonts/fraunces-600.woff2') format('woff2'); font-weight:600; font-style:normal; font-display:swap; }
@font-face { font-family:'Fraunces'; src:url('../fonts/fraunces-700.woff2') format('woff2'); font-weight:700; font-style:normal; font-display:swap; }
@font-face { font-family:'Inter'; src:url('../fonts/inter-400.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'Inter'; src:url('../fonts/inter-600.woff2') format('woff2'); font-weight:600; font-style:normal; font-display:swap; }

/* ---------- Tokens ---------- */
:root {
  --slate: #1E2A44;
  --slate-2: #27334f;
  --slate-deep: #151d30;
  --teal: #4E7C84;
  --teal-deep: #3d666d;
  --mist: #B9CAD3;
  --mist-soft: #DEE7EB;
  --sandstone: #D8C6B2;
  --sand-wash: #F2ECE2;
  --terracotta: #C98F7A;
  --terra-btn: #B06A50;
  --terra-btn-hover: #9A5A42;
  --porcelain: #FAFBFC;
  --ink: #26303F;
  --muted: #5E6B7A;
  --white: #FFFFFF;

  --font-heading: 'Fraunces', Georgia, 'Times New Roman', serif;
  --font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  --text-xs: 0.8125rem; --text-sm: 0.9375rem; --text-base: 1rem; --text-lg: 1.125rem;
  --text-xl: 1.25rem; --text-2xl: 1.5rem; --text-3xl: 1.875rem; --text-4xl: 2.25rem;
  --text-5xl: 2.75rem; --text-6xl: 3.5rem;

  --leading-tight: 1.15; --leading-normal: 1.45; --leading-relaxed: 1.65;

  --space-2:.5rem; --space-3:.75rem; --space-4:1rem; --space-5:1.25rem; --space-6:1.5rem;
  --space-8:2rem; --space-10:2.5rem; --space-12:3rem; --space-16:4rem; --space-20:5rem; --space-24:6rem;

  --radius-sm:6px; --radius-md:12px; --radius-lg:18px; --radius-xl:24px; --radius-full:999px;

  --shadow-sm: 0 2px 8px rgba(30,42,68,0.07);
  --shadow-md: 0 10px 28px rgba(30,42,68,0.10);
  --shadow-lg: 0 22px 55px rgba(30,42,68,0.16);

  --max-content: 1180px;
  --max-text: 720px;
}

/* ---------- Reset ---------- */
*,*::before,*::after { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body {
  margin:0; font-family:var(--font-body); color:var(--ink); background:var(--porcelain);
  font-size:16px; line-height:var(--leading-relaxed); -webkit-font-smoothing:antialiased;
  overflow-x:hidden; padding-bottom:76px;
}
@media (min-width:768px){ body{ padding-bottom:0; } }
img { max-width:100%; display:block; }
a { color:inherit; }
h1,h2,h3,h4 { font-family:var(--font-heading); color:var(--slate); margin:0 0 var(--space-4);
  line-height:var(--leading-tight); font-weight:600; letter-spacing:-0.015em; }
p { margin:0 0 var(--space-4); }
ul { margin:0 0 var(--space-4); padding-left:1.2em; }
li { margin-bottom:var(--space-2); }
button { font-family:inherit; }

.container { max-width:var(--max-content); margin:0 auto; padding:0 var(--space-5); }
@media (min-width:768px){ .container{ padding:0 var(--space-8); } }
.text-col { max-width:var(--max-text); }
.text-col.center { margin:0 auto; text-align:center; }

/* ---------- Eyebrow ---------- */
.eyebrow {
  display:inline-flex; align-items:center; gap:8px;
  font-family:var(--font-body); font-size:var(--text-xs); font-weight:600;
  letter-spacing:0.14em; text-transform:uppercase; color:var(--teal-deep);
  margin-bottom:var(--space-3);
}
.eyebrow::before { content:''; width:22px; height:2px; background:var(--terracotta); border-radius:2px; }
.eyebrow.on-dark { color:var(--mist); }
.eyebrow.on-dark::before { background:var(--terracotta); }
.text-col.center .eyebrow { justify-content:center; }

/* ---------- Section rhythm ---------- */
.section { padding:var(--space-16) 0; position:relative; }
@media (min-width:768px){ .section{ padding:var(--space-24) 0; } }
.section.tight { padding:var(--space-10) 0; }
@media (min-width:768px){ .section.tight{ padding:var(--space-12) 0; } }
.section.on-evergreen { background:var(--slate); color:var(--porcelain); }
.section.on-evergreen h2,.section.on-evergreen h3 { color:var(--white); }
.section.on-sand { background:var(--sand-wash); }
.section.on-bone { background:var(--porcelain); }
.section.on-white { background:var(--white); }

.section-head { margin-bottom:var(--space-10); }
.section-head h2 { font-size:var(--text-3xl); }
@media (min-width:768px){ .section-head h2{ font-size:var(--text-4xl); } }
.section-head p { color:var(--muted); font-size:var(--text-lg); }
.section.on-evergreen .section-head p { color:#C6D2DC; }

/* ---------- Buttons ---------- */
.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:var(--space-2);
  font-family:var(--font-body); font-weight:600; font-size:var(--text-base); text-decoration:none;
  border-radius:var(--radius-full); padding:16px 34px; min-height:54px; border:2px solid transparent;
  cursor:pointer; transition:transform .16s ease, box-shadow .16s ease, background .16s ease, color .16s ease;
  text-align:center; line-height:1.2;
}
.btn-primary { background:var(--terra-btn); color:var(--white); box-shadow:0 6px 18px rgba(176,106,80,0.28); }
.btn-primary:hover { background:var(--terra-btn-hover); box-shadow:0 10px 26px rgba(176,106,80,0.36); transform:translateY(-2px); }
.btn-primary::after { content:'\2192'; font-size:1.1em; transition:transform .16s ease; }
.btn-primary:hover::after { transform:translateX(3px); }
.btn-outline { background:transparent; color:var(--slate); border-color:var(--slate); }
.btn-outline:hover { background:var(--slate); color:var(--white); }
.btn-block { width:100%; }
.btn-sm { padding:12px 24px; min-height:46px; font-size:var(--text-sm); border-radius:var(--radius-full); }
.btn-sm::after { display:none; }
@media (max-width:767px){ .btn{ width:100%; padding:16px 24px; font-size:var(--text-lg); } }

.link-text { color:var(--slate); text-decoration:underline; text-underline-offset:3px; font-weight:600; }

/* ---------- Logo wordmark ---------- */
.logo, .footer-logo { display:inline-flex; align-items:flex-end; gap:1px; text-decoration:none; line-height:1; position:relative; }
.lw { font-family:var(--font-body); font-size:var(--text-2xl); letter-spacing:-0.02em; color:var(--slate); }
.lw-ameri { font-weight:700; }
.lw-lean { font-weight:400; }
.logo .wave, .footer-logo .wave { position:absolute; left:2px; bottom:-6px; width:66%; height:8px; color:var(--terracotta); }
.footer-logo .lw { color:var(--white); }
.footer-logo .wave { color:var(--terracotta); }

/* ---------- Header ---------- */
.site-header {
  background:rgba(250,251,252,0.86); backdrop-filter:saturate(140%) blur(8px);
  border-bottom:1px solid rgba(30,42,68,0.08); padding:var(--space-4) 0;
  position:sticky; top:0; z-index:50;
}
.site-header .container { display:flex; align-items:center; justify-content:space-between; gap:var(--space-4); }
.header-cta { display:none; }
@media (min-width:768px){ .header-cta{ display:inline-flex; } }

/* ---------- Hero ---------- */
.hero {
  background:
    radial-gradient(120% 90% at 85% 0%, rgba(78,124,132,0.30) 0%, rgba(30,42,68,0) 55%),
    radial-gradient(90% 80% at 0% 100%, rgba(201,143,122,0.18) 0%, rgba(30,42,68,0) 50%),
    var(--slate);
  color:var(--porcelain); padding:var(--space-12) 0 var(--space-16); position:relative; overflow:hidden;
}
@media (min-width:768px){ .hero{ padding:var(--space-20) 0 var(--space-24); } }
.hero .container { display:grid; grid-template-columns:1fr; gap:var(--space-10); align-items:center; position:relative; z-index:2; }
@media (min-width:1024px){ .hero .container{ grid-template-columns:1.05fr 0.95fr; gap:var(--space-16); } }
.hero h1 { color:var(--white); font-size:var(--text-4xl); letter-spacing:-0.02em; font-weight:700; }
@media (min-width:768px){ .hero h1{ font-size:var(--text-6xl); } }
.hero h1 .accent { color:var(--terracotta); font-style:italic; }
.hero .sub { font-size:var(--text-lg); color:#D3DDE4; max-width:560px; margin-bottom:var(--space-6); }
.hero .cta-group { display:flex; flex-direction:column; gap:var(--space-4); align-items:flex-start; }
@media (min-width:480px){ .hero .cta-group{ flex-direction:row; align-items:center; flex-wrap:wrap; } }
.hero .secondary-link { color:var(--mist); font-weight:600; text-decoration:underline; text-underline-offset:4px; }
.hero .secondary-link:hover { color:var(--white); }
.hero .micro-copy { margin-top:var(--space-5); font-size:var(--text-sm); color:#AEBCC7; max-width:520px; line-height:var(--leading-relaxed); }

/* Hero visual: framed image + floating credential chip */
.hero-visual { position:relative; }
.hero-visual .img-frame {
  border-radius:var(--radius-xl); overflow:hidden; box-shadow:var(--shadow-lg);
  border:1px solid rgba(255,255,255,0.12);
}
.hero-visual .img-frame img { width:100%; height:100%; object-fit:cover; aspect-ratio:4/5; }
.hero-badge {
  position:absolute; left:-14px; bottom:26px; background:var(--white); color:var(--slate);
  border-radius:var(--radius-md); padding:12px 16px; box-shadow:var(--shadow-md);
  display:flex; align-items:center; gap:10px; max-width:230px;
}
@media (min-width:1024px){ .hero-badge{ left:-28px; } }
.hero-badge .dot-check {
  width:34px; height:34px; border-radius:50%; background:var(--teal); color:var(--white);
  display:flex; align-items:center; justify-content:center; flex-shrink:0; font-weight:700;
}
.hero-badge .hb-text { font-size:var(--text-xs); font-weight:600; line-height:1.3; color:var(--slate); }

/* ---------- Image frames (generic) ---------- */
.img-frame { display:block; width:100%; overflow:hidden; border-radius:var(--radius-lg); background:var(--mist-soft); }
.img-frame img { width:100%; height:100%; object-fit:cover; display:block; }
.ratio-4-5 { aspect-ratio:4/5; }
.ratio-1-1 { aspect-ratio:1/1; }
.ratio-16-9 { aspect-ratio:16/9; }
.ratio-16-7 { aspect-ratio:16/7; }

/* ---------- Trust bar ---------- */
.trust-bar { background:var(--white); padding:var(--space-6) 0; border-bottom:1px solid rgba(30,42,68,0.07); }
.trust-bar ul { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:var(--space-3) var(--space-8); justify-content:center; }
.trust-bar li { margin:0; display:flex; align-items:center; gap:var(--space-2); font-size:var(--text-sm); font-weight:600; color:var(--slate); }
.trust-bar li svg { width:18px; height:18px; color:var(--teal); flex-shrink:0; }
.trust-bar .footnote { text-align:center; margin:var(--space-4) 0 0; font-size:var(--text-xs); color:var(--muted); font-style:italic; }

/* ---------- H2 accent underline ---------- */
.section-head h2::after, .problem-bridge h2::after {
  content:''; display:block; width:52px; height:3px; background:var(--terracotta);
  border-radius:2px; margin-top:var(--space-4);
}
.text-col.center h2::after { margin-left:auto; margin-right:auto; }
.section.on-evergreen h2::after { background:var(--terracotta); }

/* ---------- Problem bridge ---------- */
.problem-bridge { text-align:left; }
.problem-bridge h2 { font-size:var(--text-3xl); }
@media (min-width:768px){ .problem-bridge h2{ font-size:var(--text-4xl); } }
.problem-bridge p { font-size:var(--text-lg); color:var(--ink); }
.problem-bridge .callout {
  border-left:4px solid var(--terracotta); padding:var(--space-5) var(--space-6);
  background:var(--white); border-radius:0 var(--radius-md) var(--radius-md) 0;
  font-family:var(--font-heading); font-size:var(--text-xl); color:var(--slate);
  margin:var(--space-6) 0; box-shadow:var(--shadow-sm);
}

/* ---------- Care loop / how it works ---------- */
.care-loop-visual { margin-bottom:var(--space-10); }
.care-loop-visual .img-frame { box-shadow:var(--shadow-md); }
.steps { display:grid; grid-template-columns:1fr; gap:var(--space-6); }
@media (min-width:768px){ .steps{ grid-template-columns:repeat(4,1fr); gap:var(--space-5); } }
.step-card { background:var(--white); border-radius:var(--radius-lg); padding:var(--space-6); box-shadow:var(--shadow-sm); position:relative; border:1px solid rgba(30,42,68,0.06); transition:transform .18s ease, box-shadow .18s ease; }
.step-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); }
.step-number { width:46px; height:46px; border-radius:14px; background:var(--slate); color:var(--terracotta); font-family:var(--font-heading); font-weight:700; font-size:var(--text-xl); display:flex; align-items:center; justify-content:center; margin-bottom:var(--space-4); }
.step-card h3 { font-size:var(--text-xl); margin-bottom:var(--space-2); }
.step-card p { font-size:var(--text-base); color:var(--muted); margin-bottom:0; }
.cta-center { text-align:center; margin-top:var(--space-10); }

/* ---------- Pillars ---------- */
.pillars-intro { margin-bottom:var(--space-10); }
.pillar-grid { display:grid; grid-template-columns:1fr; gap:var(--space-6); }
@media (min-width:768px){ .pillar-grid{ grid-template-columns:repeat(2,1fr); } }
.pillar-card { background:var(--white); border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-sm); display:flex; flex-direction:column; border:1px solid rgba(30,42,68,0.07); transition:transform .18s ease, box-shadow .18s ease; }
.pillar-card:hover { transform:translateY(-5px); box-shadow:var(--shadow-lg); }
.pillar-image { position:relative; overflow:hidden; }
.pillar-image .img-frame { border-radius:0; }
.pillar-image .img-frame img { aspect-ratio:16/10; transition:transform .4s ease; }
.pillar-card:hover .pillar-image img { transform:scale(1.04); }
.pillar-body { padding:var(--space-6); display:flex; flex-direction:column; gap:var(--space-3); flex:1; }
.pillar-label { display:inline-block; font-size:var(--text-xs); font-weight:700; letter-spacing:0.04em; text-transform:uppercase; color:var(--teal-deep); background:var(--mist-soft); padding:5px 12px; border-radius:var(--radius-full); width:fit-content; }
.pillar-card h3 { font-size:var(--text-2xl); margin-bottom:0; }
.pillar-card p.pillar-copy { color:var(--ink); font-size:var(--text-base); margin-bottom:0; }
.pillar-pricing { display:flex; flex-wrap:wrap; gap:var(--space-3); margin:var(--space-2) 0; }
.price-chip { background:var(--sand-wash); border-radius:var(--radius-md); padding:var(--space-3) var(--space-4); flex:1 1 140px; border:1px solid rgba(216,198,178,0.6); }
.price-chip .tier-name { display:block; font-size:var(--text-xs); color:var(--muted); font-weight:600; margin-bottom:2px; }
.price-chip .tier-price { display:block; font-family:var(--font-heading); font-weight:700; font-size:var(--text-xl); color:var(--slate); }
.price-chip.pending { background:repeating-linear-gradient(135deg,#F6F2EA,#F6F2EA 8px,#EFE4D2 8px,#EFE4D2 16px); border:1px dashed var(--terracotta); }
.price-chip.pending .tier-price { color:var(--terra-btn); font-size:var(--text-base); }
.pillar-how { font-size:var(--text-sm); color:var(--muted); border-top:1px solid var(--sand-wash); padding-top:var(--space-3); margin-top:auto; }
.pillar-micro { font-size:var(--text-xs); color:var(--muted); font-style:italic; margin-bottom:0; }

/* ---------- Why supervised (dark) ---------- */
.mechanism-list { list-style:none; padding:0; margin:var(--space-6) 0; display:grid; gap:var(--space-3); }
.mechanism-list li { background:rgba(255,255,255,0.05); border:1px solid rgba(222,231,235,0.14); border-radius:var(--radius-md); padding:var(--space-4) var(--space-5); font-size:var(--text-base); line-height:var(--leading-relaxed); position:relative; padding-left:var(--space-8); }
.mechanism-list li::before { content:''; position:absolute; left:16px; top:22px; width:8px; height:8px; border-radius:50%; background:var(--terracotta); }
.mechanism-list strong { color:var(--mist); }
.on-evergreen .mechanism-list li { color:#E2E9EF; }

/* ---------- Providers ---------- */
.provider-grid { display:grid; grid-template-columns:1fr; gap:var(--space-8); }
@media (min-width:768px){ .provider-grid{ grid-template-columns:repeat(2,1fr); } }
.provider-card { background:var(--white); border-radius:var(--radius-lg); padding:var(--space-6); box-shadow:var(--shadow-sm); text-align:left; border:1px solid rgba(30,42,68,0.06); display:flex; gap:var(--space-5); align-items:flex-start; }
.provider-card .provider-info { flex:1; }
.provider-card .img-frame { width:96px; height:96px; border-radius:50%; flex-shrink:0; box-shadow:var(--shadow-sm); }
.provider-card .img-frame img { aspect-ratio:1/1; }
.provider-card h3 { font-size:var(--text-lg); margin-bottom:var(--space-2); font-style:italic; }
.provider-card p { color:var(--muted); font-size:var(--text-sm); margin-bottom:0; }
.provider-placeholder-flag { display:inline-block; font-size:var(--text-xs); font-weight:700; letter-spacing:0.04em; text-transform:uppercase; color:var(--terra-btn); border:1px dashed var(--terracotta); border-radius:var(--radius-full); padding:3px 10px; margin-top:var(--space-3); }
.trust-line { margin-top:var(--space-10); text-align:center; font-size:var(--text-base); color:var(--muted); max-width:var(--max-text); margin-left:auto; margin-right:auto; }

/* ---------- Comparison table ---------- */
.table-scroll { overflow-x:auto; -webkit-overflow-scrolling:touch; border-radius:var(--radius-lg); box-shadow:var(--shadow-sm); background:var(--white); border:1px solid rgba(30,42,68,0.06); }
.compare-table { width:100%; border-collapse:collapse; min-width:640px; font-size:var(--text-base); }
.compare-table th,.compare-table td { padding:var(--space-4) var(--space-5); text-align:left; border-bottom:1px solid var(--sand-wash); }
.compare-table thead th { font-family:var(--font-heading); font-weight:600; color:var(--slate); background:var(--mist-soft); font-size:var(--text-base); }
.compare-table thead th.col-amerilean { background:var(--slate); color:var(--white); }
.compare-table thead th:first-child { border-top-left-radius:var(--radius-lg); }
.compare-table thead th:last-child { border-top-right-radius:var(--radius-lg); }
.compare-table tbody th { font-weight:600; color:var(--ink); white-space:nowrap; }
.compare-table td.win { color:var(--slate); font-weight:700; }
.compare-table td.win::before { content:'\2713'; color:var(--teal); font-weight:700; margin-right:6px; }
.compare-table .col-amerilean { background:rgba(78,124,132,0.08); }
.compare-note { font-size:var(--text-xs); color:var(--muted); font-style:italic; margin-top:var(--space-4); }

/* ---------- FAQ ---------- */
.faq-list { border-top:1px solid var(--sand-wash); }
.faq-item { border-bottom:1px solid var(--sand-wash); }
.faq-item summary { list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:var(--space-4); padding:var(--space-5) var(--space-2); min-height:44px; font-family:var(--font-heading); font-weight:600; font-size:var(--text-lg); color:var(--slate); }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary .icon { flex-shrink:0; width:30px; height:30px; border-radius:50%; background:var(--mist-soft); color:var(--slate); display:flex; align-items:center; justify-content:center; font-size:var(--text-lg); font-weight:700; transition:transform .2s ease, background .2s ease; }
.faq-item[open] summary .icon { transform:rotate(45deg); background:var(--terracotta); color:var(--white); }
.faq-answer { padding:0 var(--space-2) var(--space-5); color:var(--ink); font-size:var(--text-base); line-height:var(--leading-relaxed); }
.faq-answer p:last-child { margin-bottom:0; }

/* ---------- Final CTA ---------- */
.final-cta { text-align:center; }
.final-cta h2 { font-size:var(--text-3xl); color:var(--white); font-weight:700; }
@media (min-width:768px){ .final-cta h2{ font-size:var(--text-5xl); } }
.final-cta h2::after { margin-left:auto; margin-right:auto; }
.final-cta p { font-size:var(--text-lg); }
.final-cta .risk-reversal { color:#D3DDE4; max-width:var(--max-text); margin:0 auto var(--space-8); }
.whathappens { display:grid; grid-template-columns:1fr; gap:var(--space-4); max-width:760px; margin:var(--space-10) auto 0; text-align:left; }
@media (min-width:768px){ .whathappens{ grid-template-columns:repeat(3,1fr); text-align:center; } }
.whathappens .wh-step { background:rgba(255,255,255,0.05); border:1px solid rgba(222,231,235,0.14); border-radius:var(--radius-md); padding:var(--space-5); font-size:var(--text-sm); color:#E2E9EF; }
.whathappens .wh-num { display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:50%; background:var(--terracotta); color:var(--white); font-weight:700; font-family:var(--font-heading); margin-bottom:var(--space-3); }
.final-cta .secondary-line { margin-top:var(--space-8); color:#D3DDE4; font-size:var(--text-base); }
.final-cta .secondary-line a { color:var(--mist); }
.final-cta .secondary-line a.secondary-cta-link { color:var(--mist); text-decoration:underline; text-underline-offset:3px; font-weight:600; }
.final-cta .secondary-line a.secondary-cta-link:hover { color:var(--white); }

/* ---------- Wave divider (echoes logo mark) ---------- */
.wave-divider { display:block; width:100%; line-height:0; }
.wave-divider svg { display:block; width:100%; height:auto; }
.wave-divider.from-light-to-slate { background:var(--porcelain); }
.wave-divider.from-slate-to-light { background:var(--slate); }

/* ---------- Sticky mobile CTA bar ---------- */
.sticky-cta { position:fixed; bottom:0; left:0; right:0; background:var(--slate); border-top:1px solid rgba(222,231,235,0.14); padding:var(--space-3) var(--space-4); z-index:1000; display:flex; align-items:center; justify-content:space-between; gap:var(--space-3); box-shadow:0 -8px 22px rgba(0,0,0,0.18); transform:translateY(100%); transition:transform .3s ease; }
.sticky-cta.visible { transform:translateY(0); }
.sticky-cta .sticky-text { color:var(--porcelain); font-size:var(--text-xs); font-weight:600; line-height:1.3; max-width:44%; }
.sticky-cta .btn { padding:12px 20px; min-height:46px; font-size:var(--text-sm); width:auto; flex-shrink:0; }
@media (min-width:768px){ .sticky-cta{ display:none; } }

/* ---------- Footer ---------- */
.site-footer { background:var(--slate-deep); color:#AEBAC6; padding:var(--space-16) 0 var(--space-10); font-size:var(--text-sm); }
.site-footer .footer-logo { margin-bottom:var(--space-6); }
.footer-disclaimers p { color:#8794A2; font-size:var(--text-xs); line-height:var(--leading-relaxed); margin-bottom:var(--space-4); max-width:900px; }
.footer-links { list-style:none; padding:0; margin:var(--space-8) 0 var(--space-6); display:flex; flex-wrap:wrap; gap:var(--space-2) var(--space-6); border-top:1px solid rgba(255,255,255,0.08); padding-top:var(--space-6); }
.footer-links a { color:#AEBAC6; text-decoration:none; font-size:var(--text-sm); font-weight:600; min-height:44px; display:inline-flex; align-items:center; }
.footer-links a:hover { color:var(--terracotta); text-decoration:underline; }
.footer-meta { color:#808D9C; font-size:var(--text-xs); line-height:var(--leading-relaxed); }
.footer-meta .placeholder-flag { color:var(--terracotta); border:1px dashed rgba(201,143,122,0.55); border-radius:var(--radius-sm); padding:1px 6px; }
.pending-note { font-size:var(--text-xs); color:var(--terracotta); font-style:italic; }

/* ---------- CTA assurance pills (friction removers under primary CTAs) ---------- */
.cta-assurances { display:flex; flex-wrap:wrap; gap:var(--space-2) var(--space-4); align-items:center; margin-top:var(--space-4); }
.cta-assurances.center { justify-content:center; }
.cta-assurances li { list-style:none; margin:0; display:inline-flex; align-items:center; gap:6px; font-size:var(--text-sm); font-weight:600; color:var(--muted); }
.cta-assurances { padding:0; }
.cta-assurances li svg { width:15px; height:15px; color:var(--teal); flex-shrink:0; }
.cta-assurances.on-dark li { color:#C6D2DC; }
.cta-assurances.on-dark li svg { color:var(--mist); }

/* ---------- Trust bar polish (premium badge presentation) ---------- */
.trust-bar li { background:var(--porcelain); border:1px solid rgba(30,42,68,0.08); border-radius:var(--radius-full); padding:9px 16px 9px 12px; box-shadow:var(--shadow-sm); }
.trust-bar li svg { width:16px; height:16px; background:var(--teal); color:var(--white); border-radius:50%; padding:2px; }

/* ---------- Care loop connector (process-timeline feel) ---------- */
@media (min-width:768px){
  .steps { position:relative; }
  .steps::before {
    content:''; position:absolute; top:calc(var(--space-6) + 23px); left:12.5%; right:12.5%; height:2px;
    background:linear-gradient(90deg, var(--mist) 0%, var(--teal) 50%, var(--mist) 100%);
    z-index:0; opacity:0.55;
  }
  .step-card { z-index:1; }
}
.step-card .step-loop-tag { display:inline-block; font-size:var(--text-xs); font-weight:700; letter-spacing:0.06em; text-transform:uppercase; color:var(--teal-deep); margin-bottom:var(--space-2); }

/* ---------- Risk-reversal assurance badge (honest guarantee-energy block) ---------- */
.assurance-badge {
  display:flex; gap:var(--space-6); align-items:center; flex-direction:column; text-align:center;
  background:var(--white); border:1px solid rgba(30,42,68,0.08); border-radius:var(--radius-xl);
  padding:var(--space-8) var(--space-6); box-shadow:var(--shadow-md); max-width:860px; margin:0 auto;
  position:relative; overflow:hidden;
}
@media (min-width:768px){ .assurance-badge{ flex-direction:row; text-align:left; padding:var(--space-10) var(--space-12); gap:var(--space-10); } }
.assurance-badge::before { content:''; position:absolute; left:0; top:0; bottom:0; width:5px; background:linear-gradient(180deg, var(--teal), var(--terracotta)); }
.assurance-badge .ab-seal {
  flex-shrink:0; width:92px; height:92px; border-radius:50%;
  background:radial-gradient(circle at 50% 35%, var(--teal) 0%, var(--teal-deep) 100%);
  color:var(--white); display:flex; align-items:center; justify-content:center;
  box-shadow:0 10px 24px rgba(78,124,132,0.34); border:3px solid var(--white);
}
.assurance-badge .ab-seal svg { width:46px; height:46px; }
.assurance-badge .ab-body h3 { font-size:var(--text-2xl); margin-bottom:var(--space-2); color:var(--slate); }
.assurance-badge .ab-body p { font-size:var(--text-base); color:var(--muted); margin-bottom:0; }
.assurance-badge .ab-body strong { color:var(--slate); }

/* ---------- Generic inline pending chip ---------- */
.chip-pending { display:inline-block; border:1px dashed var(--terracotta); color:var(--terra-btn); background:rgba(201,143,122,0.08); border-radius:var(--radius-sm); padding:1px 8px; font-weight:600; font-size:0.92em; }

/* ---------- Focus states (keyboard accessibility) ---------- */
a:focus-visible, .btn:focus-visible, summary:focus-visible, details > summary:focus-visible {
  outline:3px solid var(--terra-btn); outline-offset:3px; border-radius:var(--radius-sm);
}
.btn:focus-visible { border-radius:var(--radius-full); }

/* ---------- Utility ---------- */
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (prefers-reduced-motion:reduce){ *{ animation:none !important; transition:none !important; scroll-behavior:auto !important; } }

/* ==========================================================================
   v4 DESKTOP POLISH (product-first restructure, 2026-07-08)
   Fixes: FAQ floating in left half w/ dead right space; oversized product
   cards; over-airy vertical rhythm after aggressive content trim.
   ========================================================================== */

/* FAQ: center the block so it no longer floats left with an empty right half */
#faq .section-head,
#faq .faq-list { max-width:760px; margin-left:auto; margin-right:auto; }

/* Products: tighter, catalog-style cards. Shorter images, capped grid width,
   a touch less padding so the 2x2 reads as a product menu, not big blog cards. */
@media (min-width:768px){
  .pillar-grid { max-width:1000px; margin-left:auto; margin-right:auto; gap:var(--space-8); }
  .pillar-image .img-frame img { aspect-ratio:16/9; }
  .pillar-body { padding:var(--space-6) var(--space-6) var(--space-8); }
}

/* Calm the vertical rhythm: the trimmed sections had too much dead air at 6rem */
@media (min-width:768px){
  .section { padding:var(--space-20) 0; }
}

/* Hero: with the shorter copy, keep the two columns balanced and cap the
   portrait so it doesn't tower over the sparse left column */
@media (min-width:1024px){
  .hero .container { grid-template-columns:1.1fr 0.9fr; align-items:center; }
  .hero-visual .img-frame img { aspect-ratio:5/4; }
}

/* Trust bar: give the 4 pills a bit more presence on wide screens */
@media (min-width:768px){
  .trust-bar ul { gap:var(--space-3) var(--space-6); }
}
