/* Líder al Hablar — dizajn sustav (boje, tipografija, komponente) */

:root{
  --ink:#14110e;
  --bg:#f6f2ea;
  --bg-alt:#f1ece2;
  --card:#fffdf8;
  --border:#e3d9c8;
  --border-2:#e6ddcd;
  --border-3:#ded3bf;
  --accent:#a8481c;
  --accent-light:#e3a07d;
  --muted-1:#4a443c;
  --muted-2:#6b645a;
  --muted-3:#8d8477;
  --muted-4:#a29889;
  --input-bg:#fbf8f2;
  --dark:#14110e;
  --dark-2:#2c2620;
  --cream-text:#c9c1b4;
  --font-serif:'Instrument Serif', Georgia, serif;
  --font-sans:'Work Sans', Helvetica, Arial, sans-serif;
  --font-mono:'IBM Plex Mono', 'Courier New', monospace;
}

*{ box-sizing:border-box; }
[hidden]{ display:none !important; }
html{ scroll-behavior:smooth; }
html,body{ margin:0; padding:0; background:var(--bg); color:var(--ink); font-family:var(--font-sans); -webkit-font-smoothing:antialiased; }
body{ min-height:100vh; overflow-x:hidden; }
img{ max-width:100%; display:block; }
button{ font-family:var(--font-sans); }
a{ color:var(--accent); text-decoration:none; border-bottom:1px solid rgba(168,72,28,.35); }
a:hover{ color:var(--ink); border-bottom-color:var(--ink); }
h1,h2,h3{ font-family:var(--font-serif); font-weight:400; }
::selection{ background:#a8481c; color:#fff; }

.skip-link{ position:absolute; left:-9999px; top:0; background:var(--ink); color:var(--bg); padding:12px 18px; z-index:200; font:500 14px/1 var(--font-sans); }
.skip-link:focus{ left:12px; top:12px; }

:focus-visible{ outline:2px solid var(--accent); outline-offset:2px; }

.wrap{ max-width:1160px; margin:0 auto; padding:0 32px; }

@keyframes lah-rise{ from{ opacity:0; transform:translateY(14px);} to{ opacity:1; transform:none;} }
@keyframes lah-slide{ from{ transform:translateX(24px); opacity:0;} to{ transform:none; opacity:1;} }
@keyframes lah-fade{ from{ opacity:0;} to{ opacity:1;} }
.lah-rise{ animation:lah-rise .5s ease both; }

/* ============ HEADER ============ */
.site-header{ position:sticky; top:0; z-index:40; background:rgba(246,242,234,.94); backdrop-filter:blur(10px); border-bottom:1px solid var(--border); }
.site-header .wrap{ padding:14px 32px; display:flex; align-items:center; gap:28px; }
.brand{ cursor:pointer; display:flex; flex-direction:column; gap:2px; margin-right:auto; border:none; background:none; padding:0; text-align:left; }
.brand-name{ font-family:var(--font-serif); font-size:24px; line-height:1; letter-spacing:-.01em; color:var(--ink); }
.brand-tag{ font:400 9.5px/1 var(--font-mono); letter-spacing:.22em; text-transform:uppercase; color:var(--muted-3); }
.main-nav{ display:flex; align-items:center; gap:22px; }
.main-nav a{ cursor:pointer; font:500 14px/1 var(--font-sans); color:#3d382f; border:none; white-space:nowrap; }
.main-nav a:hover, .main-nav a[aria-current="page"]{ color:var(--accent); border-bottom:1px solid rgba(168,72,28,.4); }
.cart-btn{ display:flex; align-items:center; gap:8px; background:var(--ink); color:var(--bg); border:none; border-radius:2px; padding:11px 16px; font:500 13px/1 var(--font-sans); cursor:pointer; }
.cart-btn:hover{ background:#2c2620; }
.cart-count{ min-width:20px; height:20px; display:inline-flex; align-items:center; justify-content:center; background:var(--accent); border-radius:999px; font:500 11px/1 var(--font-sans); padding:0 6px; }
.nav-toggle{ display:none; background:none; border:1px solid var(--border-3); border-radius:2px; width:42px; height:38px; cursor:pointer; align-items:center; justify-content:center; }
.nav-toggle span, .nav-toggle span::before, .nav-toggle span::after{ content:""; display:block; width:18px; height:2px; background:var(--ink); position:relative; transition:transform .2s ease, opacity .2s ease; }
.nav-toggle span::before{ position:absolute; top:-6px; }
.nav-toggle span::after{ position:absolute; top:6px; }

/* ============ TYPE / SECTIONS ============ */
.eyebrow{ font:500 12px/1 var(--font-sans); letter-spacing:.18em; text-transform:uppercase; color:var(--accent); }
.section-title{ font-size:44px; line-height:1.08; margin:16px 0 46px; }
.section-title--tight{ margin-bottom:16px; }
.section-title--sm{ font-size:42px; }
.section{ border-bottom:1px solid var(--border); }
.section--alt{ background:var(--bg-alt); }
.section--dark{ background:var(--ink); color:var(--bg); }
.section--dark .eyebrow{ color:var(--accent-light); }
.section > .wrap{ padding:80px 32px; }
.section--tight > .wrap{ padding:64px 32px; }

/* ============ HERO (home) ============ */
.hero .wrap{ padding:96px 32px 84px; display:grid; grid-template-columns:1.15fr .85fr; gap:64px; align-items:center; }
.hero h1{ font-size:74px; line-height:1.02; letter-spacing:-.02em; margin:20px 0 22px; }
.hero h1 em{ font-style:italic; color:var(--accent); }
.hero p.lede{ font-size:19px; line-height:1.6; color:var(--muted-1); max-width:52ch; margin:0 0 30px; }
.btn-row{ display:flex; gap:12px; flex-wrap:wrap; }
.btn{ border-radius:2px; padding:15px 28px; font:500 15px/1 var(--font-sans); cursor:pointer; border:1px solid transparent; display:inline-block; text-align:center; }
.btn--dark{ background:var(--ink); color:var(--bg); }
.btn--dark:hover{ background:#2c2620; }
.btn--outline{ background:transparent; color:var(--ink); border-color:var(--ink); }
.btn--outline:hover{ background:var(--ink); color:var(--bg); }
.btn--accent{ background:var(--accent); color:#fff; }
.btn--accent:hover{ background:#8a3a16; }
.btn--outline-light{ background:transparent; color:var(--bg); border-color:#4a443c; }
.btn--outline-light:hover{ background:rgba(255,255,255,.08); }
.btn--sm{ padding:12px 20px; font-size:14px; }

.stats-row{ display:flex; gap:34px; margin-top:44px; padding-top:26px; border-top:1px solid var(--border); flex-wrap:wrap; }
.stat-num{ font-family:var(--font-serif); font-size:34px; line-height:1; }
.stat-label{ font:400 13px/1.4 var(--font-sans); color:var(--muted-3); margin-top:4px; }

.media-frame{ border:1px solid var(--border); overflow:hidden; position:relative; }
.media-frame img{ width:100%; height:100%; object-fit:cover; display:block; }
.media-caption{ position:absolute; left:0; right:0; bottom:0; padding:14px 18px; background:linear-gradient(0deg, rgba(20,17,14,.72), transparent); color:#f2ece1; font:400 11px/1.5 var(--font-mono); }
.ar-4-5{ aspect-ratio:4/5; }
.ar-1-1{ aspect-ratio:1/1; }
.ar-3-4{ aspect-ratio:3/4; }
.ar-4-3{ aspect-ratio:4/3; }
.ar-16-10{ aspect-ratio:16/10; }

/* trust bar */
.trustbar .wrap{ padding:22px 32px; display:flex; align-items:center; gap:40px; flex-wrap:wrap; }
.trustbar-label{ font:400 11px/1 var(--font-mono); letter-spacing:.2em; text-transform:uppercase; color:#a99f8f; }
.trustbar-logo{ font-family:var(--font-serif); font-size:20px; opacity:.9; }

/* grids */
.grid-2{ display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.grid-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.grid-4{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.grid-5{ display:grid; grid-template-columns:repeat(5,1fr); gap:18px; }

.feature-card, .card{ background:var(--card); border:1px solid var(--border-2); padding:30px; }
.feature-num{ font-family:var(--font-serif); font-size:15px; color:var(--accent); letter-spacing:.1em; }
.feature-card h3{ font-size:25px; margin:12px 0 10px; }
.feature-card p, .card p{ font-size:15.5px; line-height:1.65; color:var(--muted-1); margin:0; }

.split{ display:grid; grid-template-columns:.9fr 1.1fr; gap:56px; }
.split-rev{ display:grid; grid-template-columns:1.1fr .9fr; gap:56px; }

.teaser-list{ display:flex; flex-direction:column; gap:14px; }
.teaser{ cursor:pointer; background:var(--card); border:1px solid var(--border-2); padding:22px 24px; display:grid; grid-template-columns:1fr auto; gap:18px; align-items:center; border-width:1px; border-style:solid; text-align:left; width:100%; font:inherit; }
.teaser:hover{ border-color:var(--accent); }
.teaser-name{ font-family:var(--font-serif); font-size:24px; line-height:1.2; color:var(--ink); }
.teaser-meta{ font:400 14px/1.5 var(--font-sans); color:var(--muted-2); margin-top:5px; }
.teaser-price{ font:500 16px/1 var(--font-sans); color:var(--accent); white-space:nowrap; }

.section-head-row{ display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:40px; flex-wrap:wrap; }
.rating-note{ font:400 11px/1 var(--font-mono); color:var(--muted-3); }

.testimonial{ margin:0; background:var(--card); border:1px solid var(--border-2); padding:30px; display:flex; flex-direction:column; gap:18px; }
.testimonial blockquote{ margin:0; font-family:var(--font-serif); font-size:21px; line-height:1.4; font-style:italic; }
.testimonial figcaption{ font:400 13.5px/1.5 var(--font-sans); color:var(--muted-2); margin-top:auto; }
.testimonial figcaption span{ color:var(--muted-4); }

.cta-split{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.cta-split h2{ font-size:42px; line-height:1.1; margin:0 0 14px; }
.cta-split p{ font-size:17px; line-height:1.65; color:var(--cream-text); margin:0; }
.cta-actions{ display:flex; gap:12px; flex-wrap:wrap; justify-content:flex-end; }

.faq-split{ display:grid; grid-template-columns:.8fr 1.2fr; gap:56px; }
.faq-list{ border-top:1px solid var(--border); }
.faq-item{ border-bottom:1px solid var(--border); }
.faq-q-row{ cursor:pointer; padding:20px 0; display:grid; grid-template-columns:1fr auto; gap:20px; align-items:center; background:none; border:none; width:100%; text-align:left; font:inherit; color:inherit; }
.faq-q{ font:500 17px/1.4 var(--font-sans); }
.faq-sign{ font-family:var(--font-serif); font-size:24px; color:var(--accent); }
.faq-a{ font-size:16px; line-height:1.7; color:var(--muted-1); margin:0 0 22px; max-width:62ch; }
.faq-a[hidden]{ display:none; }

/* ============ PROGRAMS ============ */
.programs-hero h1{ font-size:58px; line-height:1.04; margin:16px 0 18px; max-width:22ch; }
.programs-hero p{ font-size:18px; line-height:1.65; color:var(--muted-1); max-width:64ch; margin:0; }
.program-card{ background:var(--card); border:1px solid var(--border-2); padding:38px; display:grid; grid-template-columns:1.4fr 1fr; gap:44px; margin-bottom:28px; }
.program-card:last-child{ margin-bottom:0; }
.program-meta-row{ display:flex; align-items:center; gap:12px; margin-bottom:12px; }
.program-level{ font:500 11px/1 var(--font-sans); letter-spacing:.16em; text-transform:uppercase; color:var(--accent); }
.dot-sep{ width:4px; height:4px; border-radius:99px; background:#d8cdb9; }
.program-format{ font:400 12px/1 var(--font-mono); color:var(--muted-3); }
.program-card h2{ font-size:38px; line-height:1.1; margin:0 0 14px; }
.program-card p.desc{ font-size:16.5px; line-height:1.68; color:var(--muted-1); margin:0 0 22px; max-width:60ch; }
.program-includes-label{ font:500 12px/1 var(--font-sans); letter-spacing:.14em; text-transform:uppercase; color:var(--muted-3); margin-bottom:12px; }
.program-items{ margin:0; padding:0; list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:10px 24px; }
.program-items li{ font-size:15px; line-height:1.5; color:#3d382f; display:grid; grid-template-columns:14px 1fr; gap:10px; }
.program-items li span:first-child{ color:var(--accent); }
.program-side{ border-left:1px solid var(--border-2); padding-left:36px; display:flex; flex-direction:column; gap:16px; }
.program-price{ font-family:var(--font-serif); font-size:44px; line-height:1; }
.program-price-note{ font:400 13px/1.5 var(--font-sans); color:var(--muted-3); margin-top:4px; }
.program-facts{ margin:0; display:grid; grid-template-columns:auto 1fr; gap:8px 16px; font-size:14.5px; color:var(--muted-1); }
.program-facts dt{ color:var(--muted-3); }
.program-facts dd{ margin:0; }
.program-seats{ font:400 12px/1.5 var(--font-mono); color:var(--muted-4); }
.team-cta{ background:var(--ink); color:var(--bg); padding:44px; display:grid; grid-template-columns:1.2fr .8fr; gap:40px; align-items:center; }
.team-cta h2{ font-size:34px; line-height:1.15; margin:0 0 10px; }
.team-cta p{ font-size:16px; line-height:1.65; color:var(--cream-text); margin:0; }
.team-cta .btn{ justify-self:end; }

/* ============ METHOD ============ */
.method-hero .wrap{ display:grid; grid-template-columns:1.1fr .9fr; gap:56px; align-items:end; padding:70px 32px 60px; }
.method-hero h1{ font-size:58px; line-height:1.04; margin:16px 0 18px; }
.method-hero p{ font-size:18px; line-height:1.65; color:var(--muted-1); max-width:56ch; margin:0; }
.weeks-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--border); border:1px solid var(--border); }
.week-card{ background:var(--card); padding:26px 22px; min-height:190px; display:flex; flex-direction:column; gap:10px; }
.week-n{ font:400 11px/1 var(--font-mono); color:var(--accent); }
.week-title{ font-family:var(--font-serif); font-size:23px; line-height:1.2; }
.week-text{ font-size:14.5px; line-height:1.6; color:var(--muted-1); }
.structure-card{ background:var(--card); border:1px solid var(--border-2); padding:24px; display:flex; flex-direction:column; gap:10px; }
.structure-name{ font-family:var(--font-serif); font-size:21px; line-height:1.2; }
.structure-formula{ font:400 11.5px/1.5 var(--font-mono); color:var(--accent); }
.structure-use{ font-size:14px; line-height:1.6; color:var(--muted-1); }
.no-list{ margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:14px; }
.no-list li{ font-size:16.5px; line-height:1.6; color:var(--muted-1); display:grid; grid-template-columns:20px 1fr; gap:12px; }
.no-list li span:first-child{ color:var(--accent); }
.rule-card h3{ font-size:28px; margin:0 0 14px; }
.rule-card p{ font-size:16.5px; line-height:1.7; color:var(--muted-1); margin:0 0 14px; }
.rule-card p:last-child{ margin:0; }

/* ============ SHOP ============ */
.shop-hero h1{ font-size:58px; line-height:1.04; margin:16px 0 18px; }
.shop-hero p{ font-size:18px; line-height:1.65; color:var(--muted-1); max-width:62ch; margin:0 0 26px; }
.filter-row{ display:flex; gap:10px; flex-wrap:wrap; }
.filter-btn{ border-radius:2px; padding:11px 18px; font:500 13.5px/1 var(--font-sans); cursor:pointer; border:1px solid var(--border-3); background:transparent; color:#3d382f; }
.filter-btn[aria-pressed="true"]{ border-color:var(--ink); background:var(--ink); color:var(--bg); }
.product-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.product-card{ background:var(--card); border:1px solid var(--border-2); display:flex; flex-direction:column; }
.product-media{ aspect-ratio:4/3; border-bottom:1px solid var(--border-2); position:relative; overflow:hidden; }
.product-media img{ width:100%; height:100%; object-fit:cover; }
.product-tag{ position:absolute; top:12px; left:12px; background:var(--ink); color:var(--bg); font:500 10px/1 var(--font-sans); letter-spacing:.14em; text-transform:uppercase; padding:6px 9px; }
.product-body{ padding:24px; display:flex; flex-direction:column; gap:10px; flex:1; }
.product-body h3{ font-size:24px; line-height:1.2; margin:0; }
.product-body p{ font-size:14.5px; line-height:1.6; color:var(--muted-1); margin:0; }
.product-spec{ font:400 11.5px/1.5 var(--font-mono); color:var(--muted-4); }
.product-foot{ margin-top:auto; padding-top:16px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.product-price{ font-family:var(--font-serif); font-size:26px; }
.btn-add{ background:var(--ink); color:var(--bg); border:none; border-radius:2px; padding:12px 18px; font:500 13.5px/1 var(--font-sans); cursor:pointer; }
.btn-add:hover{ background:#2c2620; }
.info-card-label{ font:500 12px/1 var(--font-sans); letter-spacing:.14em; text-transform:uppercase; color:var(--accent); margin-bottom:8px; }
.info-card-text{ font-size:14.5px; line-height:1.6; color:var(--muted-1); }
.no-products{ padding:40px 0; text-align:center; color:var(--muted-2); font-size:16px; }

/* ============ ABOUT ============ */
.about-hero h1{ font-size:58px; line-height:1.04; margin:16px 0 18px; max-width:24ch; }
.about-hero p{ font-size:18px; line-height:1.65; color:var(--muted-1); max-width:64ch; margin:0; }
.team-card .media-frame{ margin-bottom:16px; }
.team-name{ font-family:var(--font-serif); font-size:26px; line-height:1.2; }
.team-role{ font:500 12px/1 var(--font-sans); letter-spacing:.14em; text-transform:uppercase; color:var(--accent); margin:8px 0 10px; }
.team-bio{ font-size:15px; line-height:1.65; color:var(--muted-1); margin:0; }
.timeline{ border-top:1px solid #ddd2be; }
.timeline-row{ border-bottom:1px solid #ddd2be; padding:20px 0; display:grid; grid-template-columns:80px 1fr; gap:24px; }
.timeline-year{ font:400 13px/1.4 var(--font-mono); color:var(--accent); }
.timeline-text{ font-size:16.5px; line-height:1.6; color:#3d382f; }
.facts-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.facts-grid .card h3{ font-size:24px; margin:0 0 10px; }
.facts-grid .card p{ font-size:15px; }

/* ============ BLOG ============ */
.blog-hero h1{ font-size:58px; line-height:1.04; margin:16px 0 18px; }
.blog-hero p{ font-size:18px; line-height:1.65; color:var(--muted-1); max-width:60ch; margin:0; }
.blog-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:26px; }
.post-card{ cursor:pointer; background:var(--card); border:1px solid var(--border-2); padding:32px; display:flex; flex-direction:column; gap:12px; }
.post-card:hover{ border-color:var(--accent); }
.post-card-top{ display:flex; gap:14px; align-items:center; }
.post-cat{ font:500 11px/1 var(--font-sans); letter-spacing:.16em; text-transform:uppercase; color:var(--accent); }
.post-meta{ font:400 11.5px/1 var(--font-mono); color:var(--muted-4); }
.post-card h2{ font-size:30px; line-height:1.15; margin:0; }
.post-card p{ font-size:16px; line-height:1.65; color:var(--muted-1); margin:0; }
.post-more{ font:500 14px/1 var(--font-sans); color:var(--accent); margin-top:6px; }

.post-article{ max-width:760px; margin:0 auto; padding:70px 32px 90px; }
.post-back{ cursor:pointer; font:500 13px/1 var(--font-sans); color:var(--accent); }
.post-head-row{ display:flex; gap:14px; align-items:center; margin:26px 0 14px; flex-wrap:wrap; }
.post-article h1{ font-size:50px; line-height:1.06; margin:0 0 22px; }
.post-lede{ font-size:20px; line-height:1.6; color:#3d382f; margin:0 0 30px; font-style:italic; font-family:var(--font-serif); }
.hr-line{ height:1px; background:var(--border); margin:0 0 30px; }
.post-body p{ font-size:17.5px; line-height:1.75; color:#3d382f; margin:0 0 20px; }
.post-cta{ margin-top:40px; background:var(--ink); color:var(--bg); padding:34px; display:flex; gap:24px; align-items:center; justify-content:space-between; flex-wrap:wrap; }
.post-cta-title{ font-family:var(--font-serif); font-size:26px; line-height:1.2; margin-bottom:6px; }
.post-cta-text{ font-size:15px; line-height:1.6; color:var(--cream-text); }

/* ============ CONTACT ============ */
.contact-hero h1{ font-size:58px; line-height:1.04; margin:16px 0 18px; }
.contact-hero p{ font-size:18px; line-height:1.65; color:var(--muted-1); max-width:60ch; margin:0; }
.contact-grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:56px; }
.contact-form-card{ background:var(--card); border:1px solid var(--border-2); padding:36px; }
.form-stack{ display:flex; flex-direction:column; gap:18px; }
.form-row-2{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.field{ display:flex; flex-direction:column; gap:7px; }
.field-label{ font:500 12px/1 var(--font-sans); letter-spacing:.12em; text-transform:uppercase; color:var(--muted-3); }
.field input, .field select, .field textarea{ border:1px solid var(--border-3); background:var(--input-bg); padding:12px 14px; font:400 15px var(--font-sans); border-radius:2px; color:var(--ink); width:100%; }
.field textarea{ font:400 15px/1.6 var(--font-sans); resize:vertical; }
.consent-row{ display:grid; grid-template-columns:20px 1fr; gap:12px; align-items:start; font-size:13.5px; line-height:1.6; color:var(--muted-2); }
.consent-row input{ margin-top:3px; }
.form-error{ font:400 11.5px/1.5 var(--font-mono); color:var(--accent); min-height:1.5em; }
.form-success{ padding:30px 0; }
.form-success h2{ font-size:32px; line-height:1.15; margin-bottom:12px; }
.form-success p{ font-size:16px; line-height:1.7; color:var(--muted-1); margin:0 0 20px; }
.info-panel{ display:flex; flex-direction:column; gap:20px; }
.info-panel .card h3{ font-size:24px; margin:0 0 14px; }
.info-facts{ margin:0; display:grid; grid-template-columns:auto 1fr; gap:9px 18px; font-size:15px; color:#3d382f; }
.info-facts dt{ color:var(--muted-3); }
.info-facts dd{ margin:0; }
.map-frame{ border:1px solid var(--border-2); overflow:hidden; }
.map-frame iframe{ width:100%; height:100%; border:0; display:block; }
.biz-panel{ background:var(--ink); color:var(--bg); padding:28px; }
.biz-panel h3{ font-size:24px; margin:0 0 10px; }
.biz-panel p{ font-size:14.5px; line-height:1.7; color:var(--cream-text); margin:0; }

/* ============ LEGAL ============ */
.legal-hero .wrap{ padding:64px 32px 48px; }
.legal-hero h1{ font-size:48px; line-height:1.06; margin:14px 0 10px; }
.legal-hero .updated{ font:400 12.5px/1 var(--font-mono); color:var(--muted-3); margin:0; }
.legal-grid{ display:grid; grid-template-columns:250px 1fr; gap:56px; align-items:start; padding:56px 32px 84px; }
.legal-nav{ display:flex; flex-direction:column; border-top:1px solid var(--border); position:sticky; top:96px; }
.legal-nav a{ cursor:pointer; padding:14px 0; border-bottom:1px solid var(--border); font:400 14.5px/1.4 var(--font-sans); color:var(--muted-1); border-left:none; border-right:none; border-top:none; }
.legal-nav a[aria-current="page"]{ font-weight:500; color:var(--accent); }
.legal-content{ background:var(--card); border:1px solid var(--border-2); padding:44px; max-width:78ch; }
.legal-content > p.intro{ font-size:17px; line-height:1.7; color:#3d382f; margin:0 0 28px; }
.legal-section{ margin-bottom:30px; }
.legal-section h2{ font-size:26px; line-height:1.2; margin:0 0 12px; }
.legal-section p{ font-size:16px; line-height:1.75; color:var(--muted-1); margin:0 0 14px; }
.legal-section p:last-child{ margin:0; }
.legal-footnote{ border-top:1px solid var(--border-2); padding-top:22px; font-size:14.5px; line-height:1.7; color:var(--muted-2); }

/* ============ FOOTER ============ */
.site-footer{ background:var(--ink); color:var(--cream-text); }
.footer-grid{ padding:64px 32px 30px; display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; }
.footer-brand{ font-family:var(--font-serif); font-size:28px; color:var(--bg); line-height:1; }
.footer-desc{ font-size:14.5px; line-height:1.7; margin:14px 0 18px; max-width:34ch; }
.footer-contact{ font:400 12px/1.7 var(--font-mono); color:var(--muted-3); }
.footer-col-title{ font:500 11px/1 var(--font-sans); letter-spacing:.16em; text-transform:uppercase; color:var(--muted-3); margin-bottom:16px; }
.footer-links{ display:flex; flex-direction:column; gap:11px; font-size:14.5px; }
.footer-links a, .footer-links button{ cursor:pointer; color:var(--cream-text); background:none; border:none; padding:0; font:inherit; text-align:left; border-bottom:none; }
.footer-links a:hover, .footer-links button:hover{ color:#fff; }
.footer-bottom{ padding:22px 32px 40px; border-top:1px solid var(--dark-2); display:flex; justify-content:space-between; gap:24px; flex-wrap:wrap; font:400 12px/1.6 var(--font-mono); color:var(--muted-3); }

/* ============ CART DRAWER ============ */
.cart-overlay{ position:fixed; inset:0; background:rgba(20,17,14,.45); z-index:60; border:none; padding:0; display:none; }
.cart-overlay.is-open{ display:block; }
.cart-drawer{ position:fixed; top:0; right:0; bottom:0; width:440px; max-width:92vw; background:var(--bg); z-index:61; display:none; flex-direction:column; border-left:1px solid var(--border); }
.cart-drawer.is-open{ display:flex; animation:lah-slide .25s ease both; }
.cart-drawer-head{ padding:24px 28px; border-bottom:1px solid var(--border); display:flex; align-items:center; justify-content:space-between; }
.cart-drawer-title{ font-family:var(--font-serif); font-size:26px; }
.cart-close{ cursor:pointer; font:400 20px/1 var(--font-sans); color:var(--muted-3); background:none; border:none; }
.cart-body{ flex:1; overflow-y:auto; padding:20px 28px; display:flex; flex-direction:column; gap:16px; }
.cart-empty{ padding:40px 0; text-align:center; }
.cart-empty p{ font-size:16px; line-height:1.7; color:var(--muted-2); margin:0 0 18px; }
.cart-line{ display:grid; grid-template-columns:64px 1fr auto; gap:14px; align-items:start; border-bottom:1px solid var(--border-2); padding-bottom:16px; }
.cart-line-media{ aspect-ratio:1/1; border:1px solid var(--border-2); overflow:hidden; background:var(--bg-alt); }
.cart-line-media img{ width:100%; height:100%; object-fit:cover; }
.cart-line-name{ font-family:var(--font-serif); font-size:19px; line-height:1.25; }
.cart-line-tag{ font:400 11.5px/1.5 var(--font-mono); color:var(--muted-4); margin:4px 0 9px; }
.qty-row{ display:flex; align-items:center; gap:10px; }
.qty-btn{ width:26px; height:26px; border:1px solid var(--border-3); background:var(--card); cursor:pointer; font-size:14px; line-height:1; }
.qty-val{ font:500 14px/1 var(--font-sans); min-width:14px; text-align:center; }
.cart-remove{ cursor:pointer; font:400 12.5px/1 var(--font-sans); color:var(--accent); margin-left:6px; background:none; border:none; }
.cart-line-sum{ font:500 15px/1 var(--font-sans); white-space:nowrap; }
.cart-foot{ border-top:1px solid var(--border); padding:22px 28px 26px; background:var(--card); }
.cart-total-row{ display:flex; justify-content:space-between; font-size:14.5px; color:var(--muted-2); margin-bottom:8px; }
.cart-total-row--main{ align-items:baseline; padding-top:14px; border-top:1px solid var(--border-2); margin-bottom:16px; }
.cart-total-row--main span:first-child{ font:500 15px/1 var(--font-sans); color:var(--ink); }
.cart-total-num{ font-family:var(--font-serif); font-size:30px; }
.btn-checkout{ width:100%; background:var(--accent); color:#fff; border:none; border-radius:2px; padding:15px; font:500 15px/1 var(--font-sans); cursor:pointer; }
.btn-checkout:hover{ background:#8a3a16; }
.checkout-note{ font:400 11.5px/1.6 var(--font-mono); color:var(--muted-4); margin:12px 0 0; }

/* ============ COOKIE BAR ============ */
.cookie-bar{ position:fixed; left:0; right:0; bottom:0; z-index:70; background:var(--ink); color:#e6dfd3; border-top:1px solid var(--dark-2); }
.cookie-bar[hidden]{ display:none; }
.cookie-bar .wrap{ padding:20px 32px; display:grid; grid-template-columns:1fr auto; gap:28px; align-items:center; }
.cookie-bar p{ font-size:14px; line-height:1.65; margin:0; max-width:86ch; }
.cookie-bar p span{ cursor:pointer; color:var(--accent-light); border-bottom:1px solid rgba(227,160,125,.4); }
.cookie-actions{ display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-end; }

/* ============ 404 ============ */
.error-page{ padding:120px 32px; text-align:center; }
.error-page .eyebrow{ display:block; margin-bottom:16px; }
.error-page h1{ font-size:64px; margin:0 0 18px; }
.error-page p{ font-size:18px; color:var(--muted-1); max-width:56ch; margin:0 auto 30px; }

/* ============ RESPONSIVE ============ */
@media (max-width: 980px){
  .hero .wrap, .method-hero .wrap{ grid-template-columns:1fr; padding-top:56px; }
  .hero h1{ font-size:52px; }
  .method-hero{ align-items:start; }
  .split, .split-rev, .cta-split, .faq-split, .contact-grid, .program-card, .team-cta, .legal-grid{ grid-template-columns:1fr; gap:32px; }
  .program-card{ padding:28px; }
  .program-side{ border-left:none; border-top:1px solid var(--border-2); padding-left:0; padding-top:24px; }
  .cta-actions, .team-cta .btn{ justify-content:flex-start; justify-self:start; }
  .grid-3, .grid-4{ grid-template-columns:repeat(2,1fr); }
  .grid-5{ grid-template-columns:repeat(2,1fr); }
  .weeks-grid{ grid-template-columns:repeat(2,1fr); }
  .facts-grid{ grid-template-columns:1fr; }
  .blog-grid{ grid-template-columns:1fr; }
  .legal-nav{ position:static; flex-direction:row; flex-wrap:wrap; border-top:none; gap:4px 18px; }
  .legal-nav a{ border-bottom:2px solid transparent; padding:8px 0; }
  .form-row-2{ grid-template-columns:1fr; }
  .section > .wrap{ padding:56px 32px; }
}

@media (max-width: 760px){
  .main-nav{ position:fixed; top:69px; left:0; right:0; background:var(--bg); border-bottom:1px solid var(--border); flex-direction:column; align-items:flex-start; padding:8px 32px 18px; gap:2px; display:none; }
  .main-nav.is-open{ display:flex; }
  .main-nav a{ padding:10px 0; width:100%; }
  .nav-toggle{ display:inline-flex; }
  .site-header .wrap{ padding:12px 20px; gap:14px; }
  .wrap{ padding:0 20px; }
  .section > .wrap{ padding:44px 20px; }
  .hero h1{ font-size:40px; }
  .hero p.lede{ font-size:17px; }
  .stats-row{ gap:22px; }
  .grid-3, .grid-4, .grid-5, .grid-2{ grid-template-columns:1fr; }
  .weeks-grid{ grid-template-columns:1fr; }
  .product-grid{ grid-template-columns:1fr; }
  .team-cta{ padding:28px; }
  .cart-drawer{ width:100vw; max-width:100vw; }
  h1{ word-break:break-word; }
  .cookie-bar .wrap{ grid-template-columns:1fr; }
  .cookie-actions{ justify-content:flex-start; }
  .footer-grid{ grid-template-columns:1fr 1fr; gap:32px 24px; padding:48px 20px 24px; }
  .footer-bottom{ padding:18px 20px 28px; }
  .post-article{ padding:44px 20px 60px; }
  .post-article h1{ font-size:36px; }
  .program-items{ grid-template-columns:1fr; }
}

@media (max-width: 480px){
  .footer-grid{ grid-template-columns:1fr; }
  .hero h1{ font-size:34px; }
  .btn{ width:100%; }
  .btn-row .btn{ width:auto; flex:1 1 auto; }
}

@media print{
  .site-header, .site-footer, .cookie-bar, .cart-overlay, .cart-drawer{ display:none !important; }
}
