:root{
  --paper:#FCF9F4; --cream:#F6EFE3; --sand:#EFE6D6; --ink:#2A2018; --line:#E4D8C6;
  --brand:#C0551F; --gold:#E7B23C; --leaf:#4F7A3A; --red:#BF3A2B; --rose:#B85C5C; --rose-soft:#F5E4DE; --sage:#E7EBDA;
  --wa:#22C35E; --muted:#6B5C4C;
  --sh:0 20px 55px rgba(60,40,20,.16); --sh-sm:0 8px 24px rgba(60,40,20,.10);
  --disp:'Fraunces',Georgia,serif; --ui:'Manrope',sans-serif; --body:'Inter',sans-serif; --mono:'JetBrains Mono',monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--body);background:var(--paper);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.narrow{max-width:820px;margin:0 auto;padding:0 24px}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.ic{width:18px;height:18px;fill:currentColor;vertical-align:-3px}
:focus-visible{outline:2.5px solid var(--brand);outline-offset:3px;border-radius:6px}
.eyebrow{font-family:var(--ui);font-weight:700;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--brand)}
.eyebrow.leaf{color:var(--leaf)} .eyebrow.rose{color:var(--rose)} .eyebrow.gold{color:#b7801a} .eyebrow.pale{color:var(--gold)}

.btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--ui);font-weight:700;font-size:15px;border:0;border-radius:999px;padding:14px 24px;cursor:pointer;transition:transform .16s,box-shadow .16s;text-decoration:none;white-space:nowrap}
.btn:hover{transform:translateY(-2px)}
.b-brand{background:var(--brand);color:#fff;box-shadow:0 10px 26px rgba(192,85,31,.28)}
.b-wa{background:var(--wa);color:#fff;box-shadow:0 10px 26px rgba(34,195,94,.30)}
.b-ink{background:var(--ink);color:#fbf3e7}
.b-rose{background:var(--rose);color:#fff}
.b-leaf{background:var(--leaf);color:#fff}
.b-ghost{background:transparent;border:1px solid var(--line);color:var(--ink)}
.b-ghost:hover{background:var(--cream)}
.b-light{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.28)}

/* header */
.nav{position:sticky;top:0;z-index:70;background:rgba(252,249,244,.82);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:66px;gap:18px}
.logo{font-family:var(--disp);font-size:23px;font-weight:600;letter-spacing:-.02em}
.logo b{color:var(--brand);font-weight:600}.logo i{color:var(--gold);font-style:italic;font-weight:500}
.nlinks{display:flex;gap:18px;font-family:var(--ui);font-weight:600;font-size:14px;flex-wrap:wrap}
.nlinks a{color:var(--muted);transition:color .15s}.nlinks a:hover,.nlinks a.on{color:var(--brand)}
.nav-cta{display:inline-flex;align-items:center;gap:8px;background:var(--wa);color:#fff;border-radius:999px;padding:10px 17px;font-family:var(--ui);font-weight:700;font-size:14px}
@media(max-width:980px){.nlinks{display:none}}

/* page hero with photo */
.phero{position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
.phero .ph-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.phero .ph-tint{position:absolute;inset:0}
.phero .ph-in{position:relative;padding:clamp(60px,10vw,120px) 0}
.phero .kicker{font-family:var(--ui);font-weight:700;font-size:12px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:16px}
.phero h1{font:500 clamp(38px,6vw,74px)/1.0 var(--disp);letter-spacing:-.04em;max-width:18ch;margin-bottom:18px}
.phero h1 .em{font-style:italic}
.phero .sub{font-size:clamp(17px,2vw,21px);max-width:46ch;line-height:1.5}
.phero .ph-cta{margin-top:28px;display:flex;gap:12px;flex-wrap:wrap}
/* tints per mood */
.tint-rose{background:linear-gradient(90deg,rgba(42,32,24,.72),rgba(42,32,24,.30))}
.tint-dark{background:linear-gradient(90deg,rgba(22,17,12,.82),rgba(22,17,12,.42))}
.tint-warm{background:linear-gradient(90deg,rgba(42,32,24,.66),rgba(42,32,24,.20))}
.phero.light-text .kicker,.phero.light-text h1,.phero.light-text .sub{color:#fbf3e7}
.phero.light-text .kicker{color:var(--gold)}

/* sections */
.section{padding:clamp(48px,7vw,88px) 0}
.section.tight{padding:clamp(38px,5vw,60px) 0}
.shead{max-width:58ch;margin-bottom:32px}
.shead h2{font:500 clamp(27px,3.7vw,44px)/1.05 var(--disp);letter-spacing:-.03em;margin:10px 0}
.shead p{color:var(--muted);font-size:17px}
.lead{font-size:19px;color:var(--muted);max-width:60ch}
.prose p{font-size:17px;color:#4c4034;max-width:64ch;margin-bottom:18px}
.prose p.big{font:500 clamp(22px,3vw,30px)/1.35 var(--disp);color:var(--ink);letter-spacing:-.01em}

/* editorial split (photo + text) */
.split{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;min-height:460px}
.split.rev .sp-ph{order:2}
.sp-ph{position:relative;overflow:hidden;min-height:360px;background:var(--sand)}
.sp-ph img{width:100%;height:100%;object-fit:cover}
.sp-tx{align-self:center;padding:clamp(32px,5vw,64px)}
.sp-tx h2{font:500 clamp(26px,3.4vw,40px)/1.06 var(--disp);letter-spacing:-.03em;margin:12px 0 14px}
.sp-tx p{color:var(--muted);margin-bottom:12px}
.bg-rose{background:var(--rose-soft)} .bg-sage{background:var(--sage)} .bg-cream{background:var(--cream)} .bg-sand{background:var(--sand)}
@media(max-width:820px){.split{grid-template-columns:1fr}.split.rev .sp-ph{order:0}.sp-ph{min-height:280px}}

/* dark band */
.dark{background:var(--ink);color:#e7d3bf}
.dark h2{color:#fbf3e7}.dark .lead,.dark p{color:#c9b9a3}.dark .eyebrow{color:var(--gold)}

/* quote band */
.breathe{background:var(--ink);padding:clamp(60px,9vw,120px) 0;text-align:center}
.breathe p{font:italic 400 clamp(23px,3.3vw,38px)/1.4 var(--disp);color:#f3e4cf;max-width:26ch;margin:0 auto}

/* cards */
.cards{display:grid;gap:14px}
.cards.c3{grid-template-columns:repeat(3,1fr)}
.cards.c2{grid-template-columns:repeat(2,1fr)}
.card{border:1px solid var(--line);border-radius:18px;background:#fff;padding:22px}
.card .k{font-family:var(--mono);font-size:11px;color:var(--brand);text-transform:uppercase;letter-spacing:.08em}
.card h3{font:500 20px/1.1 var(--disp);margin:8px 0 8px;letter-spacing:-.01em}
.card p{font-size:14.5px;color:var(--muted)}
.card .lim{margin-top:10px;font-size:12.5px;color:#9a8a76;font-style:italic}
@media(max-width:820px){.cards.c3{grid-template-columns:1fr}.cards.c2{grid-template-columns:1fr}}

/* chips */
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{font-family:var(--ui);font-weight:600;font-size:13px;color:var(--muted);background:var(--cream);border:1px solid var(--line);border-radius:999px;padding:8px 14px}

/* steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.step{border-top:2px solid var(--brand);padding-top:16px}
.step .n{font-family:var(--mono);font-size:13px;color:var(--brand)}
.step h4{font-family:var(--ui);font-weight:800;font-size:17px;margin:8px 0 6px}
.step p{font-size:14.5px;color:var(--muted)}
@media(max-width:760px){.steps{grid-template-columns:1fr}}

/* cta band */
.ctaband{border-radius:26px;padding:clamp(32px,5vw,60px);text-align:center;background:linear-gradient(135deg,#33281d,#221a13);color:#fbf3e7}
.ctaband h2{font:500 clamp(28px,4vw,46px)/1.04 var(--disp);letter-spacing:-.03em;margin-bottom:14px;max-width:20ch;margin-left:auto;margin-right:auto}
.ctaband p{color:#c9b9a3;max-width:52ch;margin:0 auto 24px}

/* footer */
.foot{background:var(--ink);color:#c9b9a3;padding:56px 0 40px;margin-top:8px}
.foot .logo{color:#fbf3e7;margin-bottom:12px}.foot .logo b,.foot .logo i{color:var(--gold)}
.foot-in{display:grid;grid-template-columns:1.5fr 1fr;gap:30px;align-items:start}
.foot p.mini{max-width:44ch;color:#9a8a76;font-size:14px}
.fnav{display:flex;gap:16px;flex-wrap:wrap;font-family:var(--ui);font-weight:600;font-size:14px;justify-content:flex-end}
.fnav a:hover{color:var(--gold)}
.disc{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.1);margin-top:26px;padding-top:20px;font-size:12px;color:#8a7a66;line-height:1.6}
.flegal{margin-top:12px;display:flex;gap:16px;font-size:12px;flex-wrap:wrap}.flegal a{color:#9a8a76}
@media(max-width:680px){.foot-in{grid-template-columns:1fr}.fnav{justify-content:flex-start}}

/* floating whatsapp */
.fab{position:fixed;right:20px;bottom:20px;z-index:80;display:inline-flex;align-items:center;gap:10px;background:var(--wa);color:#fff;border-radius:999px;padding:14px 20px;font-family:var(--ui);font-weight:800;font-size:15px;box-shadow:0 14px 34px rgba(34,195,94,.42)}
.fab .ic{width:22px;height:22px}
@media(max-width:600px){.fab .t{display:none}.fab{padding:15px}}

/* reveal */
.reveal{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1)}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}.reveal{opacity:1!important;transform:none!important;transition:none!important}}

/* ---- catalogue (testing + interventions) ---- */
.cat-tools{position:sticky;top:66px;z-index:40;background:rgba(252,249,244,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);padding:16px 0}
.cat-search{width:100%;max-width:520px;font-family:var(--body);font-size:16px;border:1px solid var(--line);border-radius:999px;padding:12px 18px;background:#fff;color:var(--ink)}
.cat-search:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(192,85,31,.14)}
.fbar{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.fchip{font-family:var(--ui);font-weight:600;font-size:13px;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 13px;cursor:pointer;transition:all .14s;white-space:nowrap}
.fchip:hover{border-color:var(--brand);color:var(--brand)}
.fchip.on{background:var(--ink);color:#fbf3e7;border-color:var(--ink)}
.cat-count{font-family:var(--mono);font-size:12px;color:var(--muted);margin:18px 0 14px}
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media(max-width:900px){.tgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.tgrid{grid-template-columns:1fr}}
.tcard{border:1px solid var(--line);border-radius:16px;background:#fff;padding:18px;display:flex;flex-direction:column;gap:10px}
.tcard .dot{display:inline-flex;align-items:center;gap:7px;font-family:var(--ui);font-weight:700;font-size:11px;letter-spacing:.05em;text-transform:uppercase}
.tcard .dot i{width:9px;height:9px;border-radius:50%;display:inline-block}
.tcard h3{font:500 18px/1.15 var(--disp);letter-spacing:-.01em}
.tcard .meas{font-size:14px;color:var(--muted);flex:1}
.tmeta{display:flex;flex-wrap:wrap;gap:6px;font-family:var(--ui);font-size:11.5px}
.pill{border-radius:999px;padding:4px 9px;font-weight:600;border:1px solid var(--line);color:var(--muted);background:var(--cream)}
.pill.price{color:#7a4a12;background:rgba(231,178,60,.16);border-color:rgba(231,178,60,.4)}
.pill.rx{color:#8a2f22;background:rgba(191,58,43,.10);border-color:rgba(191,58,43,.32)}
.pill.norx{color:var(--leaf);background:rgba(79,122,58,.10);border-color:rgba(79,122,58,.3)}
.tcard .wa{margin-top:2px;display:inline-flex;align-items:center;gap:7px;align-self:flex-start;font-family:var(--ui);font-weight:700;font-size:13px;color:#fff;background:var(--wa);border-radius:999px;padding:9px 15px}
.mgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
@media(max-width:820px){.mgrid{grid-template-columns:1fr}}
.mcard{border:1px solid var(--line);border-radius:18px;background:#fff;padding:22px;display:flex;flex-direction:column;gap:10px}
.mcard .cat{font-family:var(--ui);font-weight:700;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--brand)}
.mcard h3{font:500 22px/1.1 var(--disp);letter-spacing:-.01em}
.mcard .w{font-size:15px;color:#4c4034}
.mcard .row{font-size:13px;color:var(--muted)}.mcard .row b{color:var(--ink);font-weight:600;font-family:var(--ui)}
.hoods{display:flex;flex-wrap:wrap;gap:6px}
.hood{font-family:var(--ui);font-size:11.5px;font-weight:600;color:var(--muted);background:var(--sand);border-radius:999px;padding:4px 10px}

/* intervention safety warning */
.mwarn{border-left:3px solid var(--red);background:rgba(191,58,43,.07);border-radius:0 12px 12px 0;padding:12px 14px;font-size:13px;line-height:1.55;color:#7d2f24}
.mwarn b{display:block;font-family:var(--ui);font-weight:800;font-size:11.5px;letter-spacing:.09em;text-transform:uppercase;margin-bottom:5px;color:var(--red)}
