
:root{
 --ink:#0d1f19; --ink2:#122720; --ink3:#182f26; --card:#132720;
 --line:rgba(193,154,75,.30); --brass:#c19a4b; --brass-l:#e6cd85; --brass-d:#8f6f33;
 --ivory:#f2ebda; --txt:#e9e0c8; --mut:#ab9f82;
 --fh:'Cormorant Garamond',Georgia,'Times New Roman',serif;
 --fb:'Jost',-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--ink);color:var(--txt);font-family:var(--fb);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--brass-l)}
.wrap{max-width:1140px;margin:0 auto;padding:0 22px}
.narrow{max-width:820px}
.center{text-align:center}
main{display:block}
section{padding:64px 0}
h1,h2,h3{font-family:var(--fh);font-weight:600;color:var(--ivory);line-height:1.2;letter-spacing:.01em}
h1{font-size:clamp(2.4rem,5vw,3.6rem);margin:.35em 0 .5em}
h2{font-size:clamp(1.7rem,3.4vw,2.4rem);margin:1.4em 0 .6em}
h3{font-size:1.35rem;margin:1.1em 0 .4em}
p{margin:.7em 0}
.lede{font-size:1.18rem;color:var(--txt);max-width:62ch}
.sub{color:var(--mut);max-width:70ch}
.kicker{font-size:.82rem;letter-spacing:.32em;text-transform:uppercase;color:var(--brass-l);font-weight:500}
.kicker.sm{font-size:.74rem}
.kicker.light{color:var(--brass-l)}
/* banner + header */
.banner{background:#4a1219;color:#f3e3c2;text-align:center;font-size:.92rem;padding:9px 14px;border-bottom:1px solid var(--line)}
.banner a{color:#ffe9b0;font-weight:600}
.banner-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#e05260;margin-right:8px;animation:blink 1.6s infinite}
@keyframes blink{50%{opacity:.35}}
header.site{position:sticky;top:0;z-index:50;background:rgba(13,31,25,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;gap:18px;padding:14px 22px;max-width:1240px;margin:0 auto}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.mark{font-size:1.9rem;color:var(--brass);line-height:1;border:1px solid var(--line);border-radius:50%;width:52px;height:52px;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 35% 30%,#1c3a2e,#0d1f19)}
.bt{display:flex;flex-direction:column;line-height:1.15}
.b1{font-family:var(--fh);font-size:1.32rem;font-weight:700;color:var(--ivory);letter-spacing:.04em}
.b2{font-size:.8rem;letter-spacing:.24em;text-transform:uppercase;color:var(--brass-l)}
.b2 em{font-style:normal;color:var(--brass)}
.nav{display:flex;gap:4px;margin-left:auto}
.nav a{color:var(--txt);text-decoration:none;font-size:.95rem;letter-spacing:.06em;padding:8px 12px;border-radius:6px}
.nav a:hover,.nav a.on{color:var(--brass-l);background:rgba(193,154,75,.12)}
.btn{display:inline-block;text-decoration:none;font-weight:600;letter-spacing:.04em;border-radius:8px;padding:12px 24px;border:1px solid transparent;cursor:pointer;font-family:var(--fb);font-size:1rem}
.btn.go{background:linear-gradient(180deg,var(--brass-l),var(--brass));color:#1d1505;border-color:var(--brass-d)}
.btn.go:hover{filter:brightness(1.08)}
.btn.ghost{background:transparent;color:var(--brass-l);border-color:var(--line)}
.btn.ghost:hover{background:rgba(193,154,75,.12)}
.btn.big{padding:15px 32px;font-size:1.08rem}
.btn.call{white-space:nowrap;margin-left:6px}
.ph-ic{margin-right:6px}
.burger{display:none;background:none;border:1px solid var(--line);border-radius:8px;padding:10px;cursor:pointer}
.burger span{display:block;width:22px;height:2px;background:var(--brass-l);margin:5px 0}
.drawer{display:none}
/* hero */
.hero{position:relative;background-size:cover;background-position:center;min-height:82vh;display:flex;align-items:center;padding:90px 0}
.scrim{position:absolute;inset:0;background:linear-gradient(100deg,rgba(10,24,19,.93) 20%,rgba(10,24,19,.55) 55%,rgba(10,24,19,.25))}
.hero-in{position:relative;z-index:1;max-width:1140px}
.hero h1{font-size:clamp(2.8rem,6vw,4.6rem);max-width:14ch}
.hero .lede{font-size:1.25rem;max-width:56ch;color:#f0e8d2}
.cta-row{display:flex;gap:14px;flex-wrap:wrap;margin:26px 0}
.trust{display:flex;gap:26px;flex-wrap:wrap;margin-top:30px;padding-top:22px;border-top:1px solid var(--line)}
.trust span{font-size:.95rem;color:var(--mut)}
.trust b{color:var(--brass-l);font-family:var(--fh);font-size:1.25rem;margin-right:6px}
/* sections */
.intro .cols,.split{display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:start}
.cols{display:grid;grid-template-columns:1.5fr .8fr;gap:44px;align-items:start}
.sideimg{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--ink2)}
.sideimg img{width:100%;height:auto}
.sideimg figcaption{font-size:.85rem;color:var(--mut);padding:10px 14px;font-style:italic}
.band{background:var(--ink2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:28px 0}
.grid.one{grid-template-columns:1fr}
.card{display:flex;flex-direction:column;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:22px;text-decoration:none;transition:transform .15s,border-color .15s}
.card:hover{transform:translateY(-3px);border-color:var(--brass)}
.card .k{font-family:var(--fh);font-size:1.4rem;font-weight:600;color:var(--ivory)}
.card .x{color:var(--mut);font-size:.95rem;flex:1}
.card .more{color:var(--brass-l);font-size:.92rem;letter-spacing:.05em}
.card.wide{grid-column:span 1}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:26px 0}
.step{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:26px 22px}
.step .n{font-family:var(--fh);font-size:2.2rem;color:var(--brass);border-bottom:3px double var(--line);display:inline-block;padding-bottom:6px;margin-bottom:10px}
.step h3{margin-top:.4em}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}
.chip{border:1px solid var(--line);border-radius:999px;padding:8px 18px;color:var(--txt);text-decoration:none;font-size:.95rem;background:rgba(193,154,75,.06)}
.chip:hover{background:rgba(193,154,75,.16);color:var(--brass-l)}
/* faq */
.faq{margin:22px 0}
.faq details{background:var(--card);border:1px solid var(--line);border-radius:8px;margin-bottom:10px;overflow:hidden}
.faq summary{cursor:pointer;padding:16px 20px;font-family:var(--fh);font-size:1.2rem;color:var(--ivory);list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';float:right;color:var(--brass);font-size:1.4rem}
.faq details[open] summary::after{content:'\2013'}
.faq details p{padding:0 20px 18px;color:var(--txt)}
/* features */
.feats{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0}
.feat{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:18px}
.feat h3{font-size:1.15rem;margin:0 0 6px;color:var(--brass-l)}
.feat p{font-size:.94rem;color:var(--mut);margin:0}
/* form */
.form{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:30px;margin:26px 0}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form label{display:block;font-size:.92rem;color:var(--mut);margin-bottom:14px;letter-spacing:.03em}
.form input,.form textarea{width:100%;margin-top:6px;background:var(--ink);border:1px solid var(--line);border-radius:8px;color:var(--ivory);padding:12px 14px;font-family:var(--fb);font-size:1rem}
.form input:focus,.form textarea:focus{outline:none;border-color:var(--brass)}
.form .hp{position:absolute;left:-9999px}
.fine{font-size:.88rem;color:var(--mut)}
/* cta band */
.ctaband{background:linear-gradient(180deg,#241a10,#1a1409);border:1px solid var(--line);border-radius:14px;margin:40px 0;padding:56px 20px;text-align:center}
.ctaband h2{margin-top:0}
.ctaband .cta-row{justify-content:center}
/* crumb / toc */
.crumb{padding:18px 22px 0;font-size:.9rem;color:var(--mut)}
.crumb a{color:var(--brass-l);text-decoration:none}
.crumb .sep{margin:0 8px;color:var(--line)}
.toc{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:24px;margin-top:22px;position:sticky;top:110px}
.toc h3{margin-top:0}
aside .sideimg{margin-bottom:0}
.gh{font-size:1.6rem;border-bottom:3px double var(--line);padding-bottom:8px;margin-top:2em}
/* gallery */
.gal{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:28px 0}
.gal figure{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--ink2)}
.gal img{width:100%;height:280px;object-fit:cover}
/* contact cards */
.contact-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:22px 0}
.ccard{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:20px;text-decoration:none;display:block}
a.ccard:hover{border-color:var(--brass)}
.ccard .k{display:block;font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--brass-l);margin-bottom:6px}
.ccard .v{color:var(--ivory);font-size:1.12rem}
/* footer */
footer{background:#0a1712;border-top:1px solid var(--line);margin-top:40px}
.rule{border-top:4px double var(--brass);opacity:.7}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px;padding:48px 22px 20px}
.fbrand p{color:var(--mut);font-size:.94rem}
.fcontact a{color:var(--brass-l)}
footer h4{font-family:var(--fb);font-size:.8rem;letter-spacing:.22em;text-transform:uppercase;color:var(--brass-l);margin-bottom:12px}
footer ul{list-style:none}
footer ul li{margin:6px 0}
footer ul a{color:var(--mut);text-decoration:none;font-size:.94rem}
footer ul a:hover{color:var(--brass-l)}
.fbase{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:18px 22px 26px;color:var(--mut);font-size:.88rem;border-top:1px solid var(--line)}
.fbase a{color:var(--mut)}
.sticky-cta{display:none;position:fixed;bottom:14px;left:14px;right:14px;z-index:60;text-align:center;background:linear-gradient(180deg,var(--brass-l),var(--brass));color:#1d1505;font-weight:700;text-decoration:none;padding:15px;border-radius:12px;font-size:1.05rem;box-shadow:0 6px 24px rgba(0,0,0,.5)}
/* responsive */
@media(max-width:960px){
 .nav{display:none}.btn.call{display:none}
 .burger{display:block;margin-left:auto}
 .drawer{display:block;position:fixed;inset:0;z-index:100;background:rgba(5,12,9,.7);opacity:0;pointer-events:none;transition:opacity .2s}
 body.open .drawer{opacity:1;pointer-events:auto}
 body.open{overflow:hidden}
 .dpanel{position:absolute;right:0;top:0;bottom:0;width:min(340px,84vw);background:var(--ink2);border-left:1px solid var(--line);padding:26px;display:flex;flex-direction:column;gap:6px;transform:translateX(100%);transition:transform .25s}
 body.open .dpanel{transform:none}
 .dpanel a{color:var(--txt);text-decoration:none;padding:11px 6px;border-bottom:1px solid var(--line);font-size:1.05rem}
 .dpanel .btn.call{display:block;text-align:center;margin-top:14px}
 .x{align-self:flex-end;background:none;border:none;color:var(--brass-l);font-size:2rem;cursor:pointer}
 .grid{grid-template-columns:1fr 1fr}
 .cols,.intro .cols,.split{grid-template-columns:1fr}
 .steps{grid-template-columns:1fr}
 .feats{grid-template-columns:1fr}
 .fgrid{grid-template-columns:1fr 1fr}
 .toc{position:static}
}
@media(max-width:640px){
 .grid{grid-template-columns:1fr}
 .frow{grid-template-columns:1fr}
 .contact-cards{grid-template-columns:1fr}
 .gal{grid-template-columns:1fr}
 .sticky-cta{display:block}
 body{padding-bottom:70px}
 section{padding:44px 0}
}
@media(prefers-reduced-motion:reduce){*{animation:none;transition:none}}
