:root{--ink:#1b1813;--bark:#2c2017;--char:#20271f;--orange:#e2700c;--orange-d:#bf5c00;--cream:#f3eee4;--cream2:#ece5d7;--line:#d6ccba;--mut:#6c6353;--green:#3f6f4a}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:"Segoe UI",system-ui,Arial;color:var(--ink);background:var(--cream);line-height:1.65}
.wrap{max-width:920px;margin:0 auto;padding:0 22px}
a{color:var(--orange-d);text-decoration:none;font-weight:700}
h1,h2,h3,.brand{letter-spacing:-.01em;line-height:1.15}
.cta{display:inline-block;background:var(--orange);color:#fff;font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:15px 26px;box-shadow:4px 4px 0 var(--orange-d)}
.cta:hover{transform:translate(-1px,-1px)}
.demo{background:var(--orange);color:#1a1205;text-align:center;font-size:.78rem;font-weight:800;padding:6px}
/* header */
.hd{position:sticky;top:0;z-index:9;background:var(--ink);color:#f1ece2;border-bottom:3px solid var(--orange)}
.hd .wrap{display:flex;justify-content:space-between;align-items:center;height:62px;gap:12px}
.brand{display:flex;align-items:center;gap:9px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;font-size:1.02rem;color:#f1ece2}
.brand .logo{flex:none}.brand span{display:block}
.brand small{display:block;font-size:.52rem;letter-spacing:.2em;color:var(--orange);font-weight:700}
.nav{display:flex;align-items:center;gap:18px}
.nav a{color:#f1ece2;font-size:.9rem}
.nav a.tel{font-size:.92rem}
/* hero */
.hero{background:var(--char);color:#f1ece2;padding:54px 0 60px;border-bottom:6px solid var(--orange)}
/* photographic hero: dark overlay (left-weighted for text/proof readability) over the page image */
.hero.has-img{background-image:linear-gradient(100deg,rgba(22,28,20,.90) 0%,rgba(22,28,20,.78) 46%,rgba(22,28,20,.44) 100%),var(--hero);background-size:cover;background-position:center;background-repeat:no-repeat}
.hero h1{font-size:2.3rem;max-width:680px}
.hero p.lede{font-size:1.12rem;color:#cfc9bb;margin:18px 0 28px;max-width:560px}
.hero .stars{color:var(--orange);letter-spacing:2px}.hero .sub{margin-top:18px;color:#b7b0a0;font-size:.92rem}
.hero .sub b{color:#fff}.hero .sub a{color:#fff}
section{padding:44px 0}
.s-cream{background:var(--cream2)}
h2{font-size:1.5rem;color:var(--bark);margin-bottom:4px}
h3{font-size:1.08rem;color:var(--bark);margin:18px 0 4px}
p{margin:0 0 12px}
.lead{color:var(--mut);font-size:1.02rem;margin-bottom:14px}
/* promise grid */
.promise{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:8px}
.promise .c{background:#fff;border:1px solid var(--line);border-left:4px solid var(--orange);padding:16px 18px}
.promise .c h3{margin:0 0 4px}.promise .c p{color:var(--mut);font-size:.94rem;margin:0}
/* owner */
.owner{display:flex;gap:20px;align-items:flex-start;background:#fff;border:1px solid var(--line);padding:22px;margin-top:8px}
.owner .pic{width:74px;height:74px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.5rem;flex:none}
.owner p{color:var(--ink);font-size:.97rem;margin-top:6px}
/* service teaser / hub cards */
.svc{display:block;background:#fff;border:1px solid var(--line);border-left:4px solid var(--green);padding:20px;margin-top:14px}
.svc:hover{border-left-color:var(--orange)}
.svc h3{margin:0 0 4px;color:var(--bark);font-size:1.2rem}
.svc p{color:var(--mut);margin:0;font-weight:400}
.svc .go{color:var(--orange-d);font-weight:800;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;display:inline-block;margin-top:10px}
/* money page specifics */
.kicker{color:var(--orange);text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:800}
ul.ticks{list-style:none;margin:6px 0 14px}
ul.ticks li{padding:6px 0 6px 26px;position:relative;color:var(--ink)}
ul.ticks li::before{content:"\2713";position:absolute;left:0;color:var(--green);font-weight:900}
.faq dt{font-weight:800;color:var(--bark);margin:16px 0 3px;font-size:1.04rem}
.faq dd{margin:0;color:var(--ink)}
.steps{counter-reset:s;margin-top:10px}
.step{position:relative;padding:8px 0 8px 44px;border-bottom:1px solid var(--cream2)}
.step::before{counter-increment:s;content:counter(s);position:absolute;left:0;top:8px;width:30px;height:30px;background:var(--orange);color:#fff;font-weight:900;display:flex;align-items:center;justify-content:center}
.cta-band{background:var(--char);color:#f1ece2;text-align:center;padding:40px 0}
.cta-band h2{color:#fff}.cta-band p{color:#cfc9bb;max-width:520px;margin:8px auto 18px}
/* contact */
.contact{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:8px}
form label{display:block;font-size:.82rem;font-weight:700;color:var(--bark);margin:10px 0 3px}
form input,form textarea{width:100%;padding:10px;border:1px solid var(--line);background:#fff;font-family:inherit;font-size:.95rem}
form button{margin-top:14px;border:0;cursor:pointer}
.mapwrap{border:1px solid var(--line);min-height:260px}
.mapwrap iframe{width:100%;height:100%;min-height:260px;border:0;display:block}
/* footer (no internal page links — keeps the silo sealed) */
footer{background:var(--ink);color:#9aa79d;font-size:.85rem;padding:30px 0}
.foot-brand{display:flex;align-items:center;gap:11px;margin-bottom:12px}
.foot-brand strong{display:block;color:#f1ece2;font-size:1.02rem;letter-spacing:.04em;text-transform:uppercase}
.foot-brand small{display:block;color:var(--orange);font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700}
.foot-meta{margin-bottom:12px}.foot-meta a{color:#f1ece2}
.fnav{display:flex;flex-wrap:wrap;gap:20px;margin:0 0 16px}
.fnav a{color:#f1ece2;font-size:.92rem;font-weight:700}
.fnav a:hover{color:var(--orange)}
.foot-legal{opacity:.65;font-size:.78rem;border-top:1px solid #2e3a30;padding-top:12px}
@media(max-width:680px){.promise,.contact{grid-template-columns:1fr}.hero h1{font-size:1.7rem}.nav{gap:12px}}

/* ---- customer proof (hero) + reviews + lightbox ---- */
.hero-grid{display:grid;grid-template-columns:1.3fr .82fr;gap:40px;align-items:center}
.proof{background:var(--bark);border-left:6px solid var(--orange);padding:26px}
.proof .avatars{display:flex;gap:6px;margin-bottom:14px}
.mono{display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;border-radius:50%}
.proof .avatars .mono{width:32px;height:32px;font-size:.72rem}
.proof .big{font-size:2.6rem;font-weight:900;color:#fff;line-height:1}
.proof .lab{color:#b7a98f;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;margin:5px 0 16px}
.proof .q{font-style:italic;color:#e6ded0;font-size:.94rem}
.proof .attrib{display:flex;align-items:center;gap:9px;margin-top:14px;padding-top:14px;border-top:1px solid #4a3a2a}
.proof .attrib .mono{width:30px;height:30px;font-size:.7rem}
.proof .attrib .nm{font-weight:800;color:#fff;font-size:.82rem;text-transform:uppercase;letter-spacing:.03em}
.proof .attrib .src{color:#b7a98f;font-size:.72rem}
.revbox{max-width:1040px;margin:26px auto 0;max-height:640px;overflow-y:auto;background:var(--cream2);padding:14px;border:1px solid var(--line)}
.revbox::-webkit-scrollbar{width:10px}.revbox::-webkit-scrollbar-thumb{background:var(--orange)}.revbox::-webkit-scrollbar-track{background:#ded6c6}
.revcols{display:flex;gap:14px;align-items:flex-start}
.revcol{flex:1;min-width:0;display:flex;flex-direction:column;gap:14px}
.revcard{background:var(--cream);border:1px solid var(--line);padding:18px 20px}
.rc-head{display:flex;align-items:center;gap:11px;margin-bottom:10px}
.rc-mono{width:42px;height:42px;font-size:.85rem;flex:none}
.rc-name{font-weight:800;text-transform:uppercase;letter-spacing:.03em;font-size:.86rem;color:var(--ink);line-height:1.2}
.rc-meta{color:var(--mut);font-size:.7rem;text-transform:uppercase;letter-spacing:.04em}
.rc-stars{color:var(--orange);font-size:.82rem;margin-left:auto;letter-spacing:1px;flex:none}
.rc-text{color:#3a352d;font-size:.92rem;line-height:1.58;white-space:pre-wrap}
.rc-text strong{color:var(--bark)}
.rc-photos{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}
.rc-thumb{width:70px;height:70px;object-fit:cover;border:1px solid var(--line);cursor:pointer}
.rc-thumb:hover{border-color:var(--orange)}
.revhint{text-align:center;color:var(--mut);font-size:.82rem;margin-top:12px}
.lb{position:fixed;inset:0;z-index:200;background:rgba(14,20,12,.94);display:none;align-items:center;justify-content:center}
.lb.open{display:flex}
.lb img{max-width:90vw;max-height:86vh;border:3px solid var(--orange);object-fit:contain}
.lb-x{position:absolute;top:18px;right:24px;color:#fff;font-size:2rem;font-weight:900;cursor:pointer;background:none;border:0}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);background:var(--orange);color:#fff;border:0;font-size:1.6rem;font-weight:900;width:52px;height:64px;cursor:pointer}
.lb-prev{left:16px}.lb-next{right:16px}
.lb-cap{position:absolute;bottom:20px;left:0;right:0;text-align:center;color:#cfc9bb;font-size:.85rem}
@media(max-width:760px){.hero-grid{grid-template-columns:1fr;gap:24px}}
/* ---- phase 4: author cards + blog ---- */
.authorcard{display:flex;align-items:center;gap:10px;margin:16px 0 4px}
.authorcard .mono{width:38px;height:38px;font-size:.8rem}
.authorcard .anm{font-weight:800;color:#fff;font-size:.9rem}
.authorcard .ameta{color:#b7b0a0;font-size:.78rem}
.postmeta{color:#b7b0a0;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em}
.post h2{margin-top:24px}

/* related articles interlinking */
.related{display:flex;flex-direction:column;gap:8px;margin:6px 0 8px}
.related a{display:block;background:#fff;border:1px solid var(--line);border-left:4px solid var(--green);padding:12px 16px;font-weight:700;color:var(--bark)}
.related a:hover{border-left-color:var(--orange)}
.related a::after{content:" ›";color:var(--orange-d)}
/* ---- article layout (blog posts) ---- */
.article-banner{margin:0;width:100%;height:380px;overflow:hidden;border-bottom:5px solid var(--orange)}
.article-banner img{width:100%;height:100%;object-fit:cover;display:block}
.article-head{background:var(--cream2);padding:30px 0 26px;border-bottom:1px solid var(--line)}
.article-head .wrap{max-width:760px}
.article-head .dek{font-size:1.16rem;color:var(--mut);margin:8px 0 4px;line-height:1.6}
.post{max-width:760px;margin:0 auto}
.post p{font-size:1.08rem;line-height:1.78;margin:0 0 18px;color:#2a2620}
.post h2{font-size:1.5rem;margin:30px 0 10px;color:var(--bark)}
.post a{color:var(--orange-d);font-weight:700}
blockquote.pull{border-left:5px solid var(--orange);background:#fff;padding:16px 22px;margin:24px 0;font-size:1.22rem;font-style:italic;color:var(--bark);line-height:1.55}
.sources{background:#fff;border:1px solid var(--line);border-left:4px solid var(--green);padding:16px 20px;margin:26px 0}
.sources h3{font-size:1rem;color:var(--bark);margin-bottom:6px;text-transform:uppercase;letter-spacing:.04em}
.sources a{display:block;color:var(--orange-d);font-weight:700;margin:4px 0;font-size:.92rem}
.authorbio{display:flex;gap:14px;align-items:flex-start;background:var(--cream2);border:1px solid var(--line);padding:18px;margin:28px 0}
.authorbio .mono{width:48px;height:48px;font-size:1rem;flex:none;border-radius:50%}
.authorbio strong{color:var(--bark)}.authorbio p{font-size:.92rem;margin:4px 0 0;color:var(--mut)}
