/* ============================================================
   Herr Rümpel — "Maison" Theme
   Old-money: noir stage · ivory/cream · orange-gold accent
   Serif display (Cormorant) + Hanken body. No green.
   Class names kept so every page transforms at once.
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,500;0,600;0,700;0,800;1,500;1,600&display=swap');

@font-face{ font-family:'Navitism'; src:url('uploads/navitism-cufonfonts/Navitism-Light.otf') format('opentype'); font-weight:300; font-style:normal; font-display:swap; }
@font-face{ font-family:'Navitism'; src:url('uploads/navitism-cufonfonts/Navitism-Regular.otf') format('opentype'); font-weight:400; font-style:normal; font-display:swap; }
@font-face{ font-family:'Navitism'; src:url('uploads/navitism-cufonfonts/Navitism-Medium.otf') format('opentype'); font-weight:500; font-style:normal; font-display:swap; }
@font-face{ font-family:'Navitism'; src:url('uploads/navitism-cufonfonts/Navitism-Bold.otf') format('opentype'); font-weight:700; font-style:normal; font-display:swap; }

:root{
  /* ----- noir stage ----- */
  --noir:        #0C0B09;   /* page */
  --noir-2:      #15120D;   /* raised panels */
  --noir-3:      #1C1810;   /* cards */
  --noir-soft:   #11100C;
  /* ----- light / cream ----- */
  --cream:       #F3ECDC;   /* light section bg */
  --cream-2:     #ECE3CF;
  --ink:         #14110B;   /* text on cream */
  --ink-soft:    #3B362B;
  /* ----- ivory text on noir ----- */
  --ivory:       #F2EADB;
  --ivory-dim:   rgba(242,234,219,.66);
  --ivory-faint: rgba(242,234,219,.42);
  /* ----- accent: orange-gold ----- */
  --orange:      #C89B3C;
  --orange-br:   #DCB453;
  --gold:        #C99A4E;
  --gold-soft:   #E2C786;
  --cognac:      #997324;
  /* ----- hairlines ----- */
  --hair:        rgba(242,234,219,.13);
  --hair-mid:    rgba(242,234,219,.22);
  --gold-hair:   rgba(201,154,78,.42);
  --gold-hair-2: rgba(201,154,78,.26);
  --hair-ink:    rgba(20,17,11,.16);
  /* ----- fonts ----- */
  --serif: 'Playfair Display', 'Cormorant Garamond', Georgia, serif;
  --body:  'Hanken Grotesk', system-ui, sans-serif;
  --mono:  'Spline Sans Mono', ui-monospace, monospace;
  --container: 1440px;
  --container-sm: 820px;
  --ease: cubic-bezier(.22,.61,.36,1);
  --dur: 240ms;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; background:var(--noir); }
body{
  margin:0; overflow-x:hidden; font-family:var(--body); color:var(--ivory);
  background:var(--noir); -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
img{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
button,input,select,textarea{ font-family:inherit; }
::selection{ background:var(--orange); color:#1a1206; }
.container{ width:100%; max-width:var(--container); margin:0 auto; padding:0 48px; }
.container--sm{ max-width:var(--container-sm); }

/* ---------- type ---------- */
.h1,.h2,.h3{ font-family:var(--serif); font-weight:500; color:inherit; margin:0; text-wrap:balance; }
.h1{ font-size:clamp(3rem,6.4vw,5.5rem); line-height:1.02; letter-spacing:-.01em; }
.h2{ font-size:clamp(2.1rem,4vw,3.4rem); line-height:1.06; letter-spacing:-.005em; }
.h3{ font-size:clamp(1.4rem,2vw,1.85rem); line-height:1.12; }
.h1 em,.h2 em,.h3 em{ font-style:italic; font-weight:500; color:var(--gold-soft); }
.lead{ font:400 clamp(1.05rem,1.5vw,1.24rem)/1.62 var(--body); color:var(--ivory-dim); text-wrap:pretty; }

/* eyebrow: gold tracked caps with a leading rule */
.eyebrow{ display:inline-flex; align-items:center; gap:14px; font:600 13.5px/1 var(--body);
  letter-spacing:.2em; text-transform:uppercase; color:var(--gold); margin:0 0 24px; }
.eyebrow::before{ content:""; width:34px; height:1px; background:var(--gold-hair); flex:none; }
.eyebrow svg{ display:none; }
.eyebrow--center{ justify-content:center; }
.eyebrow--center::after{ content:""; width:34px; height:1px; background:var(--gold-hair); flex:none; }

/* ---------- buttons ---------- */
.btn{ display:inline-flex; align-items:center; gap:11px; font:600 14.5px/1 var(--body);
  letter-spacing:.07em; text-transform:uppercase; border-radius:2px; padding:16px 28px;
  border:1px solid transparent; cursor:pointer; transition:all var(--dur) var(--ease); white-space:nowrap; }
.btn svg{ width:17px; height:17px; }
.btn--primary{ background:var(--orange); color:#17100400; color:#190f02; border-color:var(--orange); }
.btn--primary:hover{ background:var(--orange-br); border-color:var(--orange-br); transform:translateY(-2px); }
.btn--secondary{ background:transparent; color:var(--ivory); border-color:var(--hair-mid); }
.btn--secondary:hover{ border-color:var(--gold); color:var(--gold-soft); }
.btn--ghost{ background:transparent; color:var(--ivory-dim); padding:17px 8px; border:none; }
.btn--ghost:hover{ color:var(--gold-soft); }
.btn--white{ background:var(--cream); color:var(--ink); border-color:var(--cream); }
.btn--white:hover{ background:#fff; transform:translateY(-2px); }
.btn--lg{ font-size:15.5px; padding:19px 36px; }

/* ---------- badges / chips ---------- */
.badge{ display:inline-flex; align-items:center; gap:8px; font:600 12.5px/1 var(--body);
  letter-spacing:.1em; text-transform:uppercase; padding:10px 16px; border-radius:2px;
  border:1px solid var(--hair-mid); color:var(--ivory-dim); white-space:nowrap; }
.badge svg{ width:13px; height:13px; color:var(--gold); }
.badge--subtle{ border-color:var(--gold-hair-2); }
.badge--amber{ background:var(--orange); color:#190f02; border-color:var(--orange); }
.badge--amber svg{ color:#190f02; }
.badge--ink{ background:transparent; color:var(--ivory-dim); }

/* ---------- sections ---------- */
.section{ padding:88px 0; }
.section--tight{ padding:60px 0; }
.section--white,.section--paper{ background:var(--cream); color:var(--ink); }
.section--white .lead,.section--paper .lead{ color:var(--ink-soft); }
.section--white .eyebrow,.section--paper .eyebrow{ color:var(--cognac); }
.section--white .eyebrow::before,.section--white .eyebrow--center::after,
.section--paper .eyebrow::before{ background:var(--gold-hair); }

/* icon tile → thin gold-hairline square */
.tile{ width:54px; height:54px; border-radius:2px; display:flex; align-items:center; justify-content:center;
  flex:none; border:1px solid var(--gold-hair); color:var(--gold); background:rgba(201,154,78,.05); }
.tile svg{ width:24px; height:24px; }
.tile--dark{ border-color:var(--gold-hair); color:var(--gold); }
.section--white .tile,.section--paper .tile{ border-color:rgba(168,100,28,.4); color:var(--cognac); background:rgba(168,100,28,.04); }
.stars{ display:inline-flex; gap:3px; color:var(--orange); }
.stars svg{ width:16px; height:16px; fill:currentColor; stroke:currentColor; }

/* ---------- header ---------- */
.hdr{ position:sticky; top:0; z-index:50; background:rgba(12,11,9,.78);
  backdrop-filter:blur(14px); border-bottom:1px solid var(--hair); }
.hdr__in{ display:flex; align-items:center; gap:28px; height:84px; }
.brand{ display:flex; align-items:center; gap:13px; white-space:nowrap; }
.brand img{ height:42px; width:auto; }
.brand__wm{ display:flex; flex-direction:column; line-height:1; }
.brand__wm .b1{ font:600 20px/1 var(--serif); letter-spacing:.02em; color:var(--ivory); }
.brand__wm .b2{ font:600 9px/1 var(--body); letter-spacing:.34em; text-transform:uppercase; color:var(--gold); margin-top:5px; }
.nav{ display:flex; gap:4px; margin-left:14px; }
.nav a{ font:500 14px/1 var(--body); letter-spacing:.06em; text-transform:uppercase; color:var(--ivory-dim);
  padding:10px 14px; transition:color var(--dur); position:relative; }
.nav a:hover{ color:var(--ivory); }
.nav a.active{ color:var(--gold-soft); }
.nav a.active::after{ content:""; position:absolute; left:14px; right:14px; bottom:2px; height:1px; background:var(--gold-hair); }
.hdr__right{ margin-left:auto; display:flex; align-items:center; gap:22px; }
.hdr__phone{ display:flex; align-items:center; gap:9px; font:500 14px var(--mono); color:var(--ivory); letter-spacing:.02em; }
.hdr__phone svg{ width:16px; height:16px; color:var(--gold); }
.hdr__wa{ display:flex; align-items:center; gap:8px; font:600 13.5px var(--body); color:var(--ivory); letter-spacing:.02em; }
.hdr__wa svg{ width:18px; height:18px; color:#25D366; }
.hdr__wa:hover{ color:#25D366; }
.hdr__burger{ display:none; background:none; border:none; cursor:pointer; color:var(--ivory); padding:8px; }
.hdr__burger svg{ width:26px; height:26px; }
.drawer{ display:none; }

/* ---------- inner page hero ---------- */
.phero{ position:relative; overflow:hidden; padding:60px 0 48px; border-bottom:1px solid var(--hair); }
.phero__in{ position:relative; max-width:780px; }
.phero--center .phero__in{ margin:0 auto; text-align:center; }
.phero h1{ font:500 clamp(2.8rem,5.2vw,4.6rem)/1.03 var(--serif); color:var(--ivory); margin:0 0 22px; text-wrap:balance; letter-spacing:-.01em; }
.phero h1 .accent{ font-style:italic; color:var(--gold-soft); }
.phero p:not(.eyebrow){ font:400 clamp(1.05rem,1.6vw,1.24rem)/1.62 var(--body); color:var(--ivory-dim); margin:0; text-wrap:pretty; }
.crumbs{ display:flex; align-items:center; gap:10px; font:500 11px var(--body); letter-spacing:.18em; text-transform:uppercase; color:var(--ivory-faint); margin-bottom:24px; }
.crumbs a:hover{ color:var(--gold); }
.crumbs svg{ width:13px; height:13px; }
.phero--center .crumbs{ justify-content:center; }

/* ---------- home hero — full-width editorial ---------- */
.hero{ position:relative; overflow:hidden; border-bottom:1px solid var(--hair); }
.hero::before{ content:""; position:absolute; top:-220px; right:-160px; width:760px; height:760px; border-radius:50%;
  background:radial-gradient(circle, rgba(224,138,43,.10), transparent 64%); pointer-events:none; }
.hero .container{ position:relative; z-index:1; padding-top:64px; padding-bottom:72px; }
.hero__anim{ position:absolute; right:0; bottom:-16px; width:38%; height:300px; z-index:0; pointer-events:none; overflow:hidden; }
.hero__anim iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; display:block; background:var(--noir); }
.hero__top{ display:flex; align-items:center; justify-content:space-between; gap:24px;
  padding-bottom:26px; border-bottom:1px solid var(--hair); }
.hero__top .eyebrow{ margin:0; }
.hero__index{ font:500 12.5px var(--mono); letter-spacing:.18em; text-transform:uppercase; color:var(--ivory-faint); white-space:nowrap; }
.hero__title{ font:500 clamp(3.2rem,11.5vw,9.5rem)/0.95 var(--serif); letter-spacing:-.022em;
  color:var(--ivory); margin:48px 0 0; text-wrap:balance; }
.hero__title em{ font-style:italic; color:var(--gold-soft); }
.hero__base{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:56px; align-items:end;
  margin-top:52px; padding-top:40px; border-top:1px solid var(--hair); }
.hero__base .lead{ max-width:600px; }
.hero__base .lead strong{ color:var(--ivory); font-weight:500; }
.hero__chips{ display:flex; gap:10px; flex-wrap:wrap; margin:22px 0 0; }
.hero__cta{ display:flex; gap:18px; flex-wrap:wrap; align-items:center; justify-content:flex-end; }

/* ---------- stats ---------- */
.stats{ display:grid; grid-template-columns:repeat(4,1fr); }
.stat{ text-align:center; padding:8px 20px; border-left:1px solid var(--hair); }
.stat:first-child{ border-left:none; }
.stat b{ font:500 clamp(2.6rem,4vw,3.6rem)/1 var(--serif); color:var(--ivory); display:block; letter-spacing:-.01em; }
.stat span{ font:500 11.5px var(--body); letter-spacing:.18em; text-transform:uppercase; color:var(--gold); margin-top:14px; display:block; }
.section--white .stat{ border-color:var(--hair-ink); }
.section--white .stat b{ color:var(--ink); }
.section--white .stat span{ color:var(--cognac); }

/* ---------- reassure band ---------- */
.reassure-band{ display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--hair); }
.rb__item{ display:flex; align-items:center; gap:17px; padding:30px 32px; border-left:1px solid var(--hair); }
.rb__item:first-child{ border-left:none; }
.rb__item .tile{ width:46px; height:46px; }
.rb__item b{ display:block; font:500 19px var(--serif); color:var(--ivory); }
.rb__item span{ display:block; font:400 13px/1.45 var(--body); color:var(--ivory-dim); margin-top:4px; }
.section--white .reassure-band{ border-color:var(--hair-ink); }
.section--white .rb__item{ border-color:var(--hair-ink); }
.section--white .rb__item b{ color:var(--ink); }
.section--white .rb__item span{ color:var(--ink-soft); }

/* ---------- services grid (with serif index numerals) ---------- */
.grid4{ display:grid; grid-template-columns:repeat(4,1fr); gap:0; counter-reset:svc; border-top:1px solid var(--hair); }
.card{ position:relative; padding:40px 30px 36px; border-left:1px solid var(--hair); border-bottom:1px solid var(--hair);
  transition:background var(--dur) var(--ease); }
.card:first-child{ border-left:none; }
.card::before{ counter-increment:svc; content:counter(svc,decimal-leading-zero);
  font:500 15px var(--mono); color:var(--gold); letter-spacing:.1em; display:block; margin-bottom:28px; }
.card .tile{ margin-bottom:24px; }
.card h3{ font:500 23px var(--serif); color:var(--ivory); margin:0 0 12px; }
.card p{ font:400 15.5px/1.62 var(--body); color:var(--ivory-dim); margin:0; }
.card .more{ display:inline-flex; align-items:center; gap:8px; margin-top:22px; font:600 11px var(--body);
  letter-spacing:.16em; text-transform:uppercase; color:var(--gold); cursor:pointer; }
.card .more svg{ width:14px; height:14px; transition:transform var(--dur); }
.card:hover{ background:var(--noir-2); }
.card:hover .more svg{ transform:translateX(4px); }
/* light variant inside cream sections */
.section--white .grid4,.section--paper .grid4{ border-color:var(--hair-ink); }
.section--white .card,.section--paper .card{ border-color:var(--hair-ink); }
.section--white .card::before{ color:var(--cognac); }
.section--white .card h3{ color:var(--ink); }
.section--white .card p{ color:var(--ink-soft); }
.section--white .card:hover{ background:var(--cream-2); }

/* ---------- service detail rows (editorial, no photo) ---------- */
.srow{ display:grid; grid-template-columns:0.8fr 1.2fr; gap:64px; align-items:start; padding:64px 0; border-bottom:1px solid var(--hair); }
.srow:last-child{ border-bottom:none; }
.srow__idx{ display:block; font:500 68px/1 var(--serif); color:var(--gold); margin-bottom:22px; }
.srow__head .eyebrow{ margin-bottom:18px; }
.srow h2{ margin-bottom:0; }
.srow__body{ padding-top:6px; }
.srow .lead{ margin:0 0 30px; font-size:1.22rem; }
.section--white .srow__idx{ color:var(--cognac); }
.flist{ list-style:none; padding:0; margin:0 0 32px; display:flex; flex-direction:column; gap:0; }
.flist li{ display:flex; align-items:flex-start; gap:14px; font:400 16.5px/1.45 var(--body); color:var(--ivory-dim);
  padding:16px 0; border-bottom:1px solid var(--hair); }
.flist li:first-child{ border-top:1px solid var(--hair); }
.flist svg{ width:18px; height:18px; color:var(--gold); flex:none; margin-top:2px; }

/* ---------- process (home 3 steps) ---------- */
.steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:0; border-top:1px solid var(--hair); }
.step{ padding:40px 34px 8px; border-left:1px solid var(--hair); }
.step:first-child{ border-left:none; }
.step__n{ font:500 46px/1 var(--serif); color:var(--gold); margin-bottom:22px; }
.step h4{ font:500 21px var(--serif); color:var(--ivory); margin:0 0 10px; }
.step p{ font:400 15.5px/1.62 var(--body); color:var(--ivory-dim); margin:0; }
.section--white .steps{ border-color:var(--hair-ink); }
.section--white .step{ border-color:var(--hair-ink); }
.section--white .step__n{ color:var(--cognac); }
.section--white .step h4{ color:var(--ink); }
.section--white .step p{ color:var(--ink-soft); }

/* ---------- vertical timeline (Ablauf) ---------- */
.timeline{ max-width:800px; margin:0 auto; }
.tl{ display:grid; grid-template-columns:84px 1fr; gap:30px; }
.tl__rail{ display:flex; flex-direction:column; align-items:center; }
.tl__n{ width:72px; height:72px; border-radius:50%; border:1px solid var(--gold-hair); color:var(--gold-soft);
  font:500 30px/1 var(--serif); font-feature-settings:'lnum' 1, 'tnum' 1; display:flex; align-items:center; justify-content:center; flex:none; position:relative; }
.tl__n::after{ content:""; position:absolute; inset:4px; border:1px solid var(--gold-hair-2); border-radius:50%; }
.tl__line{ width:1px; flex:1; background:var(--hair); margin:10px 0; }
.tl:last-child .tl__line{ display:none; }
.tl__body{ padding:14px 0 56px; }
.tl__body h3{ font:500 27px var(--serif); color:var(--ivory); margin:0 0 12px; }
.tl__body p{ font:400 17px/1.66 var(--body); color:var(--ivory-dim); margin:0; }
.tl__body p strong{ color:var(--ivory); font-weight:500; }
.tl__body .free{ display:inline-flex; align-items:center; gap:9px; margin-top:18px; font:600 11px var(--body);
  letter-spacing:.16em; text-transform:uppercase; color:var(--gold); border:1px solid var(--gold-hair-2); padding:9px 15px; }
.tl__body .free svg{ width:14px; height:14px; }

/* ---------- before/after & team frames ---------- */
.ba{ display:grid; grid-template-columns:1fr 1fr; gap:26px; }
.ba__frame{ position:relative; padding:12px; border:1px solid var(--gold-hair); }
.ba__frame image-slot{ width:100%; height:340px; display:block; }
.ba__tag{ position:absolute; top:24px; left:24px; z-index:3; }
.team-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.team-frame{ padding:10px; border:1px solid var(--gold-hair); }
.team-frame image-slot{ width:100%; height:320px; display:block; }

/* ---------- FAQ ---------- */
.faq{ max-width:800px; margin:0 auto; border-top:1px solid var(--hair-mid); }
.qa{ border-bottom:1px solid var(--hair); }
.qa summary{ list-style:none; cursor:pointer; padding:28px 8px; display:flex; align-items:center; justify-content:space-between; gap:18px;
  font:500 22px var(--serif); color:var(--ivory); transition:color var(--dur); }
.qa summary:hover{ color:var(--gold-soft); }
.qa summary::-webkit-details-marker{ display:none; }
.qa summary .chev{ width:20px; height:20px; color:var(--gold); flex:none; transition:transform var(--dur); }
.qa[open] summary .chev{ transform:rotate(180deg); }
.qa__body{ padding:0 8px 28px; font:400 16.5px/1.7 var(--body); color:var(--ivory-dim); margin:0; max-width:720px; }
.section--white .faq{ border-color:var(--hair-ink); }
.section--white .qa{ border-color:var(--hair-ink); }
.section--white .qa summary{ color:var(--ink); }
.section--white .qa__body{ color:var(--ink-soft); }

/* ---------- CTA band ---------- */
.cta{ position:relative; border:1px solid var(--gold-hair); padding:60px 56px; overflow:hidden; background:var(--noir-soft); }
.cta::before{ content:""; position:absolute; inset:9px; border:1px solid var(--hair); pointer-events:none; }
.cta::after{ content:""; position:absolute; right:-80px; top:-80px; width:340px; height:340px; border-radius:50%;
  background:radial-gradient(circle, rgba(224,138,43,.14), transparent 68%); }
.cta__in{ position:relative; display:flex; align-items:center; gap:48px; justify-content:space-between; flex-wrap:wrap; z-index:2; }
.cta h2{ color:var(--ivory); }
.cta p{ color:var(--ivory-dim); font:400 17px/1.6 var(--body); margin:18px 0 0; max-width:520px; }
.cta__btns{ display:flex; gap:16px; flex-wrap:wrap; }

/* ---------- footer ---------- */
.ft{ background:var(--noir-soft); border-top:1px solid var(--gold-hair-2); padding:64px 0 32px; }
.ft__grid{ display:grid; grid-template-columns:1.5fr 1fr 1fr 1.1fr; gap:48px; }
.ft .brand{ margin-bottom:20px; }
.ft p{ font:400 14px/1.7 var(--body); color:var(--ivory-dim); margin:0 0 8px; max-width:280px; }
.ft h5{ font:600 11px var(--body); color:var(--gold); letter-spacing:.2em; text-transform:uppercase; margin:0 0 20px; }
.ft ul{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:13px; }
.ft ul a{ font:400 14px var(--body); color:var(--ivory-dim); display:inline-flex; align-items:center; gap:10px; transition:color var(--dur); }
.ft ul a svg{ width:14px; height:14px; color:var(--gold); }
.ft ul a:hover{ color:var(--gold-soft); }
.ft__bottom{ border-top:1px solid var(--hair); margin-top:60px; padding-top:28px; display:flex; justify-content:space-between;
  font:400 12.5px var(--body); color:var(--ivory-faint); letter-spacing:.04em; flex-wrap:wrap; gap:12px; }
.ft__bottom a:hover{ color:var(--gold); }

/* ---------- WhatsApp FAB (unten links) — green ---------- */
.wa-fab{ position:fixed; left:28px; bottom:28px; z-index:90; display:inline-flex; align-items:center;
  width:62px; height:62px; border-radius:50%; background:#25D366; color:#fff;
  border:none; box-shadow:0 12px 30px rgba(37,211,102,.42); transition:all var(--dur) var(--ease);
  overflow:hidden; white-space:nowrap; }
.wa-fab__ic{ width:60px; height:60px; flex:none; display:flex; align-items:center; justify-content:center; }
.wa-fab svg{ width:31px; height:31px; }
.wa-fab__lbl{ font:600 13px var(--body); letter-spacing:.04em; opacity:0; max-width:0;
  transition:opacity var(--dur), max-width var(--dur), padding var(--dur); padding-right:0; }
.wa-fab:hover{ width:auto; padding-right:6px; background:#1ebe5a; transform:translateY(-2px); }
.wa-fab:hover .wa-fab__lbl{ opacity:1; max-width:240px; padding-right:18px; }
.wa-fab::after{ content:""; position:absolute; left:0; top:0; width:62px; height:62px; border-radius:50%;
  box-shadow:0 0 0 0 rgba(37,211,102,.45); animation:waPulse 2.8s var(--ease) infinite; pointer-events:none; }
@keyframes waPulse{ 0%{ box-shadow:0 0 0 0 rgba(37,211,102,.45);} 70%{ box-shadow:0 0 0 16px rgba(37,211,102,0);} 100%{ box-shadow:0 0 0 0 rgba(37,211,102,0);} }
@media (prefers-reduced-motion: reduce){ .wa-fab::after{ animation:none; } }

/* ---------- legal / prose ---------- */
.legal{ padding:64px 0 110px; }
.legal__wrap{ max-width:800px; margin:0 auto; }
.legal__updated{ font:500 11px var(--body); letter-spacing:.16em; text-transform:uppercase; color:var(--ivory-faint); margin:0 0 48px; display:flex; align-items:center; gap:10px; }
.legal__updated svg{ width:14px; height:14px; color:var(--gold); }
.legal h2{ font:500 clamp(1.6rem,2.4vw,2.1rem) var(--serif); color:var(--ivory); margin:56px 0 18px; padding-top:30px; border-top:1px solid var(--hair); }
.legal h2:first-of-type{ border-top:none; padding-top:0; margin-top:0; }
.legal h3{ font:500 20px var(--serif); color:var(--ivory); margin:30px 0 10px; }
.legal p,.legal li{ font:400 16px/1.75 var(--body); color:var(--ivory-dim); text-wrap:pretty; }
.legal p{ margin:0 0 16px; }
.legal ul,.legal ol{ margin:0 0 20px; padding-left:24px; display:flex; flex-direction:column; gap:8px; }
.legal a{ color:var(--gold-soft); }
.legal a:hover{ text-decoration:underline; }
.legal strong{ color:var(--ivory); font-weight:500; }
.legal__card{ border:1px solid var(--hair-mid); padding:26px 28px; margin:0 0 16px; background:var(--noir-2); }
.legal__card p{ margin:0 0 4px; }
.legal__card p:last-child{ margin:0; }
.legal__note{ display:flex; align-items:flex-start; gap:14px; border:1px solid var(--gold-hair-2); padding:18px 20px; margin:8px 0 0; }
.legal__note svg{ width:19px; height:19px; color:var(--gold); flex:none; margin-top:3px; }
.legal__note p{ margin:0; font:400 14.5px/1.65 var(--body); color:var(--ivory-dim); }

/* ---------- light-section overrides (cream) ---------- */
.section--white .flist li,.section--paper .flist li{ color:var(--ink-soft); border-color:var(--hair-ink); }
.section--white .flist li:first-child,.section--paper .flist li:first-child{ border-top-color:var(--hair-ink); }
.section--white .flist svg,.section--paper .flist svg{ color:var(--cognac); }
.section--white .crumbs,.section--paper .crumbs{ color:rgba(20,17,11,.5); }
.section--white .tl__n,.section--paper .tl__n{ border-color:rgba(168,100,28,.42); color:var(--cognac); }
.section--white .tl__n::after,.section--paper .tl__n::after{ border-color:rgba(168,100,28,.24); }
.section--white .tl__line,.section--paper .tl__line{ background:var(--hair-ink); }
.section--white .tl__body h3,.section--paper .tl__body h3{ color:var(--ink); }
.section--white .tl__body p,.section--paper .tl__body p{ color:var(--ink-soft); }
.section--white .tl__body p strong,.section--paper .tl__body p strong{ color:var(--ink); }
.section--white .tl__body .free,.section--paper .tl__body .free{ color:var(--cognac); border-color:rgba(168,100,28,.32); }
.section--white .hero__quote b{ color:var(--ink); }

/* ---------- responsive ---------- */
@media (max-width:960px){
  .hero__anim{ display:none; }
  .hero__in,.srow{ grid-template-columns:1fr; gap:40px; }
  .hero__base{ grid-template-columns:1fr; gap:32px; align-items:start; }
  .hero__cta{ justify-content:flex-start; }
  .hero__top{ flex-wrap:wrap; gap:10px; }
  .grid4,.stats,.team-grid{ grid-template-columns:1fr 1fr; }
  .reassure-band,.steps{ grid-template-columns:1fr; }
  .rb__item,.step{ border-left:none; border-bottom:1px solid var(--hair); }
  .section--white .rb__item,.section--white .step{ border-color:var(--hair-ink); }
  .srow--flip .srow__media{ order:0; }
  .section{ padding:80px 0; }
  .cta{ padding:48px 32px; }
  .ft__grid{ grid-template-columns:1fr 1fr; gap:36px; }
  .nav,.hdr__phone,.hdr__wa{ display:none; }
  .hdr__right .btn--primary{ display:none; }
  .hdr__burger{ display:inline-flex; }
  .drawer__wa,.drawer__tel{ display:block; font:600 16px var(--body); color:var(--ivory-dim); padding:14px 4px; border-bottom:1px solid var(--line); letter-spacing:.02em; }
  .drawer__wa{ color:#25D366; }
  .drawer.open{ display:block; position:fixed; inset:84px 0 0 0; z-index:49; background:var(--noir); padding:32px; animation:fade .25s ease; }
  @keyframes fade{ from{ opacity:0 } }
  .drawer a{ display:block; font:500 26px var(--serif); color:var(--ivory); padding:18px 4px; border-bottom:1px solid var(--hair); }
  .drawer .btn{ width:100%; justify-content:center; margin-top:24px; }
}
@media (max-width:600px){
  .grid4,.stats,.ba,.team-grid{ grid-template-columns:1fr; }
  .card,.stat{ border-left:none; }
  .stat{ border-top:1px solid var(--hair); padding:24px; }
  .stat:first-child{ border-top:none; }
  .container{ padding:0 22px; }
  .hero__title{ font-size:clamp(2.8rem,15vw,4.5rem); }
  .wa-fab__lbl{ display:none; }
  .cta__in{ flex-direction:column; align-items:flex-start; }
}

/* home stats: 3-up on desktop/tablet, single column on phones */
.stats--home{ grid-template-columns:repeat(3,1fr); gap:0; max-width:100%; margin:0 auto; }
@media (max-width:600px){ .stats--home{ grid-template-columns:1fr; } }
