/* ==========================================================================
   l4r-landing.css — shared landing-page design system      (added 2026-09-16)
   --------------------------------------------------------------------------
   One calm, premium system for the growth-project landing pages so they share
   a look and a cache entry instead of each shipping its own <style> block.

   Scope: everything is nested under .csla, which is the wrapper class on
   <main>. Nothing here can leak into the rest of the site.

   Palette is deliberately restrained per the growth strategy: near-black ink,
   warm cream, graphite, one muted gold accent. Icons are inline SVG only —
   never emoji. Buttons are 52px minimum. Focus rings are always visible.
   ========================================================================== */

.csla{--ink:#14130F;--ink2:#3A3832;--mut:#6E6A61;--line:#E6E3DC;--cream:#FAF9F6;--gold:#B8965A;--gold-d:#7A5F22;--green:#1B5E3B;
  color:var(--ink2);font-family:'Montserrat',-apple-system,BlinkMacSystemFont,sans-serif;}
.csla *,.csla *::before,.csla *::after{box-sizing:border-box;}
.csla__wrap{max-width:1120px;margin:0 auto;padding:0 clamp(1.15rem,4vw,2.5rem);}
.csla__sec{padding:clamp(2.75rem,6vw,4.5rem) 0;}
.csla__sec--alt{background:var(--cream);border-block:1px solid var(--line);}
.csla h2{font-family:'Playfair Display',Georgia,serif;font-size:clamp(1.6rem,3.4vw,2.35rem);font-weight:700;color:var(--ink);line-height:1.2;margin:0 0 .85rem;}
.csla h3{font-size:clamp(1.05rem,1.8vw,1.22rem);font-weight:700;color:var(--ink);margin:0 0 .45rem;line-height:1.35;}
.csla p{font-size:1.0625rem;line-height:1.75;margin:0 0 1.1rem;max-width:70ch;}
/* Prose links only. Buttons and link-cards are EXCLUDED on purpose: a bare
   `.csla a` rule has specificity (0,1,1) and would beat `.csla__btn--gold`
   (0,1,0), painting gold text on a gold button at ~1.5:1 contrast. Excluding
   them here is cleaner than fighting it with doubled classes downstream. */
.csla a:not(.csla__btn):not(.csla__card){color:var(--gold-d);font-weight:600;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.5px;}
.csla a:not(.csla__btn):not(.csla__card):hover{color:var(--ink);}
.csla a.csla__card{color:inherit;text-decoration:none;font-weight:inherit;}
.csla__eyebrow{display:inline-block;font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-d);margin-bottom:.7rem;}

/* hero */
.csla__hero{position:relative;background:linear-gradient(170deg,#fff 0%,var(--cream) 100%);border-bottom:1px solid var(--line);padding:clamp(2.5rem,6vw,4.25rem) 0 clamp(2rem,4vw,3rem);}
.csla__hero h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(2rem,5vw,3.15rem);font-weight:700;color:var(--ink);line-height:1.12;margin:0 0 1rem;max-width:18ch;}
.csla__lede{font-size:clamp(1.05rem,1.5vw,1.2rem);line-height:1.7;color:var(--ink2);max-width:62ch;margin-bottom:1.5rem;}
.csla__cta{display:flex;flex-wrap:wrap;gap:.7rem;}
.csla__btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:52px;padding:.9rem 1.6rem;border-radius:6px;border:2px solid transparent;font-weight:700;font-size:1rem;text-decoration:none;cursor:pointer;line-height:1;transition:transform .2s ease,background .2s ease,box-shadow .2s ease;}
.csla__btn svg{width:18px;height:18px;flex-shrink:0;}
.csla__btn--gold{background:var(--gold);color:#1A1915;border-color:var(--gold);}
.csla__btn--gold:hover{background:#cca768;transform:translateY(-1px);box-shadow:0 6px 20px rgba(184,150,90,.3);}
.csla__btn--call{background:var(--green);color:#fff;border-color:var(--green);}
.csla__btn--call:hover{background:#14472D;transform:translateY(-1px);}
.csla__btn--ghost{background:transparent;color:var(--ink);border-color:var(--ink);}
.csla__btn--ghost:hover{background:var(--ink);color:#fff;}

/* answer block */
.csla__answer{background:#fff;border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:12px;padding:1.5rem 1.7rem;margin:1.75rem 0;box-shadow:0 1px 3px rgba(26,25,21,.05);}
.csla__answer p{margin:0;font-size:1.08rem;line-height:1.75;color:var(--ink);max-width:none;}

/* trust */
.csla__trust{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin-top:1.9rem;padding-top:1.7rem;border-top:1px solid var(--line);}
.csla__trust div{display:flex;align-items:center;gap:.55rem;font-size:.86rem;font-weight:600;color:var(--ink2);}
.csla__trust svg{width:19px;height:19px;flex-shrink:0;color:var(--gold-d);}

/* tables */
.csla__tw{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:12px;background:#fff;margin:1.5rem 0;}
.csla table{width:100%;border-collapse:collapse;font-size:.95rem;min-width:520px;}
.csla th,.csla td{padding:.85rem 1.1rem;text-align:left;border-bottom:1px solid var(--line);}
.csla thead th{background:var(--cream);font-weight:700;color:var(--ink);font-size:.82rem;letter-spacing:.05em;text-transform:uppercase;}
.csla tbody tr:last-child td{border-bottom:0;}
.csla td strong{color:var(--ink);}

/* cards */
.csla__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(265px,1fr));gap:1.15rem;}
.csla__card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:1.4rem;text-decoration:none;color:inherit;display:block;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease;}
a.csla__card:hover{border-color:var(--gold);transform:translateY(-2px);box-shadow:0 8px 24px rgba(26,25,21,.07);}
.csla__card p{font-size:.94rem;line-height:1.65;color:var(--mut);margin:0;}
.csla__ico{width:40px;height:40px;border-radius:9px;background:var(--cream);color:var(--gold-d);display:flex;align-items:center;justify-content:center;margin-bottom:.85rem;}
.csla__ico svg{width:20px;height:20px;}

/* faq */
.csla__faq{max-width:840px;margin:0 auto;}
.csla__q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:58px;padding:1.05rem 0;background:none;border:none;border-bottom:1px solid var(--line);cursor:pointer;font-family:inherit;font-size:1.02rem;font-weight:700;color:var(--ink);text-align:left;line-height:1.45;}
.csla__q svg{width:20px;height:20px;flex-shrink:0;color:var(--mut);transition:transform .25s ease;}
.csla__q[aria-expanded="true"] svg{transform:rotate(180deg);}
.csla__a{max-height:0;overflow:hidden;transition:max-height .3s ease;border-bottom:1px solid var(--line);}
.csla__a[data-open="1"]{max-height:640px;}
.csla__a p{padding:.35rem 0 1.15rem;margin:0;font-size:1rem;color:var(--ink2);}

.csla__widget{max-width:720px;margin:0 auto;}
.csla__note{font-size:.88rem;color:var(--mut);margin-top:1rem;}
.csla :focus-visible{outline:3px solid var(--gold-d);outline-offset:3px;border-radius:4px;}
@media (prefers-reduced-motion:reduce){.csla *{transition:none!important;}.csla__btn:hover,a.csla__card:hover{transform:none;}}
@media (max-width:640px){.csla__btn{width:100%;}}
