:root{
  --espresso:#17100c;--espresso-2:#211812;--cream:#f6f1e9;--cream-2:#efe7db;
  --ink:#241a13;--ink-soft:#5c4d40;--accent:#c2803c;--accent-deep:#a5652a;
  --line:#e2d7c6;--line-dark:#3a2c22;--maxw:1180px;
  --serif:"Georgia","Iowan Old Style",Cambria,"Times New Roman",serif;
  --sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:var(--cream);-webkit-font-smoothing:antialiased;line-height:1.65;font-size:18px}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px}
h1,h2,h3{font-family:var(--serif);font-weight:700;letter-spacing:-.02em;line-height:1.08}
a{color:inherit;text-decoration:none}
.eyebrow{font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-bottom:20px;display:inline-block}
.btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--sans);font-weight:600;font-size:15px;padding:15px 26px;border-radius:2px;cursor:pointer;transition:transform .15s,background .2s,color .2s,border-color .2s}
.btn-primary{background:var(--accent);color:#1a120b}
.btn-primary:hover{background:var(--accent-deep);transform:translateY(-2px)}
.btn-ghost{border:1px solid rgba(246,241,233,.35);color:var(--cream)}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}
.btn-ghost-dark{border:1px solid var(--line);color:var(--ink)}
.btn-ghost-dark:hover{border-color:var(--accent);color:var(--accent-deep)}

nav{position:sticky;top:0;z-index:50;background:rgba(23,16,12,.86);backdrop-filter:blur(10px);border-bottom:1px solid var(--line-dark)}
nav .wrap{display:flex;align-items:center;justify-content:space-between;height:70px}
.brand{font-family:var(--serif);font-size:22px;font-weight:700;color:var(--cream)}
.brand span{color:var(--accent)}
.nav-links{display:flex;gap:30px;align-items:center}
.nav-links a{font-size:14px;color:#c9bcac;font-weight:500}
.nav-links a:hover,.nav-links a.active{color:var(--cream)}
.nav-cta{background:var(--accent);color:#1a120b!important;padding:10px 18px;border-radius:2px;font-weight:600;font-size:14px}
.nav-cta:hover{background:var(--accent-deep)}
@media(max-width:900px){.nav-links a:not(.nav-cta){display:none}}

.hero{background:linear-gradient(105deg,rgba(20,13,9,.94) 0%,rgba(20,13,9,.86) 42%,rgba(20,13,9,.55) 100%),url('assets/hero.jpg') center/cover no-repeat,#17100c;color:var(--cream);position:relative;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:center;padding:92px 32px 100px}
.hero h1{font-size:clamp(36px,4.8vw,60px);color:var(--cream)}
.hero h1 em{font-style:normal;color:var(--accent)}
.hero .sub{margin-top:24px;font-size:19px;color:#d3c6b6;max-width:34em;font-weight:400}
.hero-cta{display:flex;gap:16px;margin-top:36px;flex-wrap:wrap}
.hero-trust{margin-top:38px;display:flex;gap:26px;flex-wrap:wrap;font-size:13px;color:#9b8a77;font-weight:500}
.hero-trust b{color:var(--cream);font-weight:600}
.hero-card{background:linear-gradient(160deg,rgba(246,241,233,.06),rgba(246,241,233,.02));border:1px solid rgba(246,241,233,.12);border-radius:6px;padding:34px 32px;box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.hero-card .price-label{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-weight:700}
.hero-card .price{font-family:var(--serif);font-size:44px;color:var(--cream);margin:10px 0 2px;line-height:1}
.hero-card .price small{font-size:16px;color:#9b8a77;font-family:var(--sans)}
.hero-card ul{list-style:none;margin-top:22px;display:flex;flex-direction:column;gap:13px}
.hero-card li{display:flex;gap:12px;font-size:15px;color:#d3c6b6;align-items:flex-start}
.hero-card li::before{content:"";width:7px;height:7px;margin-top:8px;border-radius:50%;background:var(--accent);flex:none}
@media(max-width:860px){.hero .wrap{grid-template-columns:1fr;gap:40px;padding:60px 32px 68px}}

/* compact hero for inner pages */
.page-hero{background:linear-gradient(180deg,rgba(20,13,9,.80),rgba(20,13,9,.92)),var(--ph,linear-gradient(180deg,#17100c,#1e150f)) center/cover no-repeat,#17100c;color:var(--cream)}
.page-hero .wrap{padding:96px 32px 88px;max-width:1180px;margin:0 auto}
.page-hero .crumb{font-size:13px;color:#9b8a77;margin-bottom:22px}
.page-hero .crumb a:hover{color:var(--accent)}
.page-hero h1{font-size:clamp(32px,4.2vw,50px);color:var(--cream);max-width:16ch}
.page-hero .sub{margin-top:22px;font-size:19px;color:#d3c6b6;max-width:44em}
.page-hero .hero-cta{margin-top:32px}

.stats{background:var(--accent);color:#1c130b}
.stats .wrap{display:grid;grid-template-columns:repeat(6,1fr);gap:0;padding:0}
.stat{padding:38px 20px;border-right:1px solid rgba(28,19,11,.14)}
.stat:last-child{border-right:none}
.stat .n{font-family:var(--serif);font-size:36px;font-weight:700;line-height:1}
.stat .l{font-size:12.5px;margin-top:9px;line-height:1.4;font-weight:600;color:#3d2a17}
@media(max-width:900px){.stats .wrap{grid-template-columns:repeat(3,1fr)}.stat{border-bottom:1px solid rgba(28,19,11,.14)}}
@media(max-width:520px){.stats .wrap{grid-template-columns:repeat(2,1fr)}}

section.block{padding:96px 0}
.lead-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px}
.lead-grid h2{font-size:clamp(28px,3.2vw,40px)}
.lead-grid .kick{position:sticky;top:110px;align-self:start}
.value-list{list-style:none;display:flex;flex-direction:column;gap:2px}
.value-list li{padding:22px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:start}
.value-list li:last-child{border-bottom:1px solid var(--line)}
.value-list .vh{font-family:var(--serif);font-size:20px;font-weight:700;color:var(--ink)}
.value-list p{color:var(--ink-soft);font-size:16px;margin-top:5px}
.value-list .idx{font-family:var(--serif);font-size:15px;color:var(--accent);font-weight:700;padding-top:4px}
@media(max-width:860px){.lead-grid{grid-template-columns:1fr;gap:30px}.lead-grid .kick{position:static}}

.process{background:var(--espresso);color:var(--cream)}
.process .head{max-width:640px;margin-bottom:58px}
.process .head h2{font-size:clamp(28px,3.2vw,40px);color:var(--cream)}
.process .head p{color:#b6a794;margin-top:16px}
.steps{display:flex;flex-direction:column}
.step{display:grid;grid-template-columns:84px 1fr 1fr;gap:36px;padding:38px 0;border-top:1px solid var(--line-dark);align-items:start}
.step:last-child{border-bottom:1px solid var(--line-dark)}
.step .num{font-family:var(--serif);font-size:44px;color:var(--accent);line-height:.8;font-weight:700}
.step h3{font-size:22px;color:var(--cream)}
.step .body{color:#b6a794;font-size:16px}
.step .out{color:#d3c6b6;font-size:15px}
.step .out b{color:var(--accent);font-weight:600;display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:6px}
@media(max-width:860px){.step{grid-template-columns:52px 1fr;gap:18px}.step .num{font-size:32px}.step .out{grid-column:2}}

.fs{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:6px;overflow:hidden}
.fear,.sol{padding:32px;border-top:1px solid var(--line)}
.fear{background:var(--cream-2)}
.fear:nth-child(1),.sol:nth-child(2){border-top:none}
.tag{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;margin-bottom:11px}
.fear .tag{color:#9a5b4b}.sol .tag{color:var(--accent-deep)}
.fear p{color:var(--ink);font-weight:500}.sol p{color:var(--ink-soft);font-size:16px}
.sol .proof{margin-top:13px;font-size:13.5px;color:var(--ink);border-left:2px solid var(--accent);padding-left:14px}
@media(max-width:760px){.fs{grid-template-columns:1fr}.fear,.sol{border-top:1px solid var(--line)!important}}

.proof-wrap{background:var(--cream-2)}
.featured-quote{font-family:var(--serif);font-size:clamp(23px,3vw,33px);line-height:1.33;color:var(--ink);max-width:20ch;margin:0 auto;text-align:center}
.featured-quote em{font-style:normal;color:var(--accent-deep)}
.fq-by{text-align:center;margin-top:26px;font-size:14px;color:var(--ink-soft);font-weight:600}
.quotes{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:60px}
.quote{background:var(--cream);border:1px solid var(--line);border-radius:6px;padding:30px}
.quote p{font-size:16px;color:var(--ink)}
.quote .by{margin-top:16px;font-size:13.5px;color:var(--ink-soft);font-weight:600}
.badges{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-top:52px}
.badge{font-size:12.5px;font-weight:600;color:var(--ink-soft);border:1px solid var(--line);border-radius:100px;padding:9px 18px;background:var(--cream)}
.badge b{color:var(--accent-deep)}
@media(max-width:760px){.quotes{grid-template-columns:1fr}}

.cmp{overflow-x:auto}
table{border-collapse:collapse;width:100%;min-width:640px;font-size:15px}
thead th{text-align:left;padding:20px;font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);font-weight:700;border-bottom:1px solid var(--line)}
thead th.anima{color:#1c130b;background:var(--accent);border-radius:6px 6px 0 0}
tbody td{padding:18px 20px;border-bottom:1px solid var(--line);color:var(--ink-soft)}
tbody td:first-child{color:var(--ink);font-weight:600}
tbody td.anima{background:rgba(194,128,60,.10);color:var(--ink);font-weight:600}
tbody tr:last-child td.anima{border-radius:0 0 6px 6px}

.faq{max-width:820px;margin:0 auto}
details{border-bottom:1px solid var(--line)}
summary{list-style:none;cursor:pointer;padding:25px 0;font-family:var(--serif);font-size:20px;font-weight:700;color:var(--ink);display:flex;justify-content:space-between;gap:20px;align-items:center}
summary::-webkit-details-marker{display:none}
summary .ico{flex:none;width:24px;height:24px;border:1px solid var(--accent);border-radius:50%;position:relative;transition:.2s}
summary .ico::before,summary .ico::after{content:"";position:absolute;background:var(--accent);left:50%;top:50%;transform:translate(-50%,-50%)}
summary .ico::before{width:10px;height:1.5px}
summary .ico::after{width:1.5px;height:10px;transition:.2s}
details[open] summary .ico{background:var(--accent)}
details[open] summary .ico::before,details[open] summary .ico::after{background:#1c130b}
details[open] summary .ico::after{opacity:0}
details p{color:var(--ink-soft);font-size:16px;padding:0 0 25px;max-width:70ch}

.cta{background:radial-gradient(90% 120% at 85% 0%,rgba(194,128,60,.24),transparent 55%),linear-gradient(180deg,#1e150f,#17100c);color:var(--cream);text-align:center}
.cta h2{font-size:clamp(30px,3.8vw,48px);color:var(--cream);max-width:16ch;margin:0 auto}
.cta p{color:#c1b3a1;margin:22px auto 0;max-width:44ch;font-size:18px}
.cta .price-row{margin-top:28px;font-size:15px;color:#9b8a77}
.cta .price-row b{color:var(--cream);font-family:var(--serif);font-size:20px}
.cta-btns{display:flex;gap:16px;justify-content:center;margin-top:34px;flex-wrap:wrap}

footer{background:#120c09;color:#7d6f60;padding:44px 0;font-size:13.5px}
footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:center}
footer .fnav{display:flex;gap:20px;flex-wrap:wrap}
footer .fnav a:hover{color:var(--cream)}
footer .brand{font-size:18px}

.center-head{text-align:center;max-width:680px;margin:0 auto 56px}
.center-head h2{font-size:clamp(28px,3.2vw,40px)}
.center-head p{color:var(--ink-soft);margin-top:14px}
.eyebrow.on-dark{color:var(--accent)}

/* services hub */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.svc-card{display:flex;flex-direction:column;background:var(--cream);border:1px solid var(--line);border-radius:8px;padding:30px;transition:transform .16s,border-color .2s,box-shadow .2s}
.svc-card:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:0 18px 40px -24px rgba(60,40,20,.5)}
.svc-card .sc-k{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:700;margin-bottom:14px}
.svc-card h3{font-size:22px;color:var(--ink);margin-bottom:12px}
.svc-card p{color:var(--ink-soft);font-size:15px;flex:1}
.svc-card .go{margin-top:20px;font-weight:600;font-size:14px;color:var(--accent-deep)}
.svc-card:hover .go{color:var(--accent)}
@media(max-width:900px){.svc-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.svc-grid{grid-template-columns:1fr}}

.intro-narrow{max-width:760px}
.intro-narrow p{color:var(--ink-soft);font-size:18px;margin-bottom:18px}

/* --- photographic components (design pass 2) --- */
.imgband{position:relative;min-height:420px;display:flex;align-items:center;background:linear-gradient(90deg,rgba(20,13,9,.86),rgba(20,13,9,.35)),url('assets/cafe.jpg') center/cover no-repeat;color:var(--cream)}
.imgband .wrap{padding:72px 32px}
.imgband .inner{max-width:540px}
.imgband h2{font-size:clamp(28px,3.4vw,42px);color:var(--cream)}
.imgband p{color:#d9ccbc;margin-top:18px;font-size:18px}
.imgband .hero-cta{margin-top:28px}

.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.split .ph{border-radius:8px;min-height:380px;background-size:cover;background-position:center;box-shadow:0 30px 60px -34px rgba(40,25,12,.5)}
.split h2{font-size:clamp(26px,3vw,38px);margin-bottom:18px}
.split p{color:var(--ink-soft);font-size:17px;margin-bottom:14px}
@media(max-width:820px){.split{grid-template-columns:1fr;gap:28px}.split .ph{min-height:240px;order:-1}}

.svc-card .thumb{height:150px;margin:-30px -30px 22px;border-radius:8px 8px 0 0;background-size:cover;background-position:center}

/* --- ICP / audience segments --- */
.aud-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.aud{background:var(--cream);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:6px;padding:30px 32px;transition:transform .16s,box-shadow .2s}
.aud:hover{transform:translateY(-3px);box-shadow:0 18px 40px -26px rgba(60,40,20,.45)}
.aud .k{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:700;margin-bottom:12px}
.aud .who{font-family:var(--serif);font-size:22px;color:var(--ink);margin-bottom:10px}
.aud p{color:var(--ink-soft);font-size:15.5px}
.aud .metric{margin-top:16px;font-weight:600;color:var(--ink);font-size:14px;border-top:1px solid var(--line);padding-top:14px}
@media(max-width:760px){.aud-grid{grid-template-columns:1fr}}

/* --- AEO: AIO direct-answer block (extractable answer for AI engines) --- */
.aio{background:var(--cream-2);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:8px;padding:26px 30px;max-width:900px;margin:0 auto}
.aio .lab{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent-deep);font-weight:700;margin-bottom:10px}
.aio p{font-size:19px;line-height:1.55;color:var(--ink);font-weight:500}
.aio-wrap{padding:56px 0 0}

/* --- language switcher --- */
.lang{display:flex;gap:2px;align-items:center;margin-left:8px;font-size:13px;font-weight:600}
.lang a{color:#8f8272;padding:4px 8px;border-radius:3px}
.lang a.on{color:var(--cream);background:rgba(194,128,60,.22)}
.lang a:hover{color:var(--cream)}
.lang .sep{color:#5a4d3f}

/* --- lead capture form (conversion band) --- */
.cta .lead-wrap{max-width:560px;margin:34px auto 0}
.lead-form{background:var(--cream);border:1px solid var(--line);border-radius:12px;padding:28px 26px;text-align:left;box-shadow:0 30px 70px -34px rgba(0,0,0,.6)}
.lead-form .lf-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.lead-form label{display:block;font-size:12.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:16px}
.lead-form .lf-opt{text-transform:none;letter-spacing:0;color:#9b8a77;font-weight:500}
.lead-form input,.lead-form textarea{width:100%;margin-top:7px;font-family:var(--sans);font-size:15px;color:var(--ink);background:var(--cream-2);border:1px solid var(--line);border-radius:6px;padding:12px 13px;transition:border-color .15s,box-shadow .15s;font-weight:400;text-transform:none;letter-spacing:normal}
.lead-form input::placeholder,.lead-form textarea::placeholder{color:#a89a88}
.lead-form input:focus,.lead-form textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(194,128,60,.16)}
.lead-form textarea{resize:vertical;min-height:52px}
.lead-form .lf-submit{width:100%;justify-content:center;margin-top:4px;font-size:16px;padding:16px 26px}
.lead-form .lf-note{margin-top:14px;font-size:13px;color:var(--ink-soft);text-align:center}
.lead-form .lf-status{margin-top:12px;font-size:14.5px;font-weight:600;text-align:center;min-height:0}
.lead-form .lf-status.ok{color:var(--accent-deep)}
.lead-form .lf-status.err{color:#9a5b4b}
@media(max-width:520px){.lead-form .lf-row{grid-template-columns:1fr}}

/* --- rich metric explainer cards (renders FULL lake stat descriptions, not just a tile) --- */
.mx-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.mx{background:var(--cream);border:1px solid var(--line);border-radius:8px;padding:26px 28px;border-top:3px solid var(--accent);transition:transform .16s,box-shadow .2s}
.mx:hover{transform:translateY(-3px);box-shadow:0 18px 40px -26px rgba(60,40,20,.45)}
.mx .n{font-family:var(--serif);font-size:32px;font-weight:700;color:var(--accent-deep);line-height:1}
.mx .t{font-family:var(--serif);font-size:17px;font-weight:700;color:var(--ink);margin:11px 0 8px}
.mx p{color:var(--ink-soft);font-size:15px}
@media(max-width:900px){.mx-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.mx-grid{grid-template-columns:1fr}}

/* --- prose blocks for full-depth body copy --- */
.prose-block{max-width:820px}
.prose-block p{color:var(--ink-soft);font-size:17px;margin-bottom:16px}
.prose-block h3{font-family:var(--serif);font-size:22px;color:var(--ink);margin:26px 0 10px}

/* footer nav + CTA (complete nav on mobile, where top links collapse) */
footer .fcta{background:var(--accent);color:#1a120b!important;padding:9px 16px;border-radius:2px;font-weight:600;font-size:13px}
footer .fcta:hover{background:var(--accent-deep)}

/* --- source / provenance citation (AEO: answer engines reward cited sources) --- */
.src-sec{padding:34px 0 0}
.src-block{background:var(--cream-2);border:1px solid var(--line);border-left:4px solid var(--accent-deep);border-radius:8px;padding:20px 26px}
.src-block .lab{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent-deep);font-weight:700;margin-bottom:8px}
.src-block p{font-size:14px;line-height:1.55;color:var(--ink-soft)}
.src-block b{color:var(--ink);font-weight:600}

/* ============ PPC landing pages (paid traffic, /ppc/) ============ */
.ppc-nav{position:sticky;top:0;z-index:40;background:rgba(23,16,12,.96);border-bottom:1px solid rgba(246,241,233,.08)}
.ppc-nav .wrap{display:flex;align-items:center;justify-content:space-between;height:64px}
.ppc-nav .brand{font-family:var(--serif);font-size:22px;color:var(--cream)}
.ppc-nav .brand span{color:var(--accent)}
.ppc-hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:start;padding:64px 32px 72px;max-width:1180px}
.ppc-hero h1{font-size:clamp(30px,3.7vw,46px);line-height:1.08;color:var(--cream);max-width:15ch}
.ppc-hero .sub{margin-top:20px;font-size:18px;line-height:1.55;color:#d3c6b6;max-width:42em}
.ppc-proof{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 0;padding:0}
.ppc-proof li{display:flex;align-items:baseline;gap:8px;background:rgba(246,241,233,.06);border:1px solid rgba(246,241,233,.14);border-radius:2px;padding:9px 14px;font-size:14px;color:#e7ddce}
.ppc-proof b{font-family:var(--serif);font-size:19px;color:var(--accent)}
.ppc-trust{margin-top:22px;font-size:13.5px;color:#9b8a77}
.ppc-trust b{color:#d3c6b6;font-weight:600}
.ppc-hero-form{background:var(--cream);border-radius:12px;padding:8px;box-shadow:0 40px 90px -40px rgba(0,0,0,.7)}
.ppc-hero-form .lf-head{padding:16px 20px 4px}
.ppc-hero-form .lf-head .eyebrow{color:var(--accent-deep)}
.ppc-hero-form .lf-head h2{font-size:22px;color:var(--ink);margin-top:6px;line-height:1.15}
.ppc-hero-form .lead-form{box-shadow:none;border:none;background:transparent;padding:10px 20px 18px}
@media(max-width:860px){.ppc-hero .wrap{grid-template-columns:1fr;gap:34px;padding:44px 32px 52px}.ppc-hero h1{max-width:none}}
.ppc-band{background:var(--cream-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ppc-band .wrap{padding:26px 32px;display:flex;flex-wrap:wrap;gap:14px 34px;justify-content:center;align-items:center;font-size:14.5px;color:var(--ink-soft)}
.ppc-band b{color:var(--ink)}
