
:root{--black:#0d0d0d;--dark:#161616;--card:#1e1e1e;--gold:#f0b429;--gold-dk:#c99418;--gold-txt:#7a5a10;
--white:#ffffff;--off:#f7f5f0;--txt:#2a2a2a;--muted:#6b6b6b;--lt:#cfcfcf;
--radius:12px;--maxw:1120px}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
color:var(--txt);background:var(--white);line-height:1.6;font-size:17px}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}
/* header */
header{background:var(--black);color:#fff;position:sticky;top:0;z-index:50;
border-bottom:1px solid #262626}
.hdr{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;
max-width:var(--maxw);margin:0 auto}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;line-height:1.1}
.logo svg{flex:none}
.logo b{color:var(--gold);font-size:1.05rem;letter-spacing:.06em;display:block}
.logo span{font-size:.62rem;letter-spacing:.28em;color:#bbb;display:block;text-transform:uppercase}
nav.main{display:flex;align-items:center;gap:26px}
nav.main a{color:#e8e8e8;text-decoration:none;font-size:.95rem}
nav.main a:hover{color:var(--gold)}
.callbtn{background:var(--gold);color:var(--black)!important;font-weight:700;padding:10px 18px;
border-radius:8px;text-decoration:none;white-space:nowrap}
.callbtn:hover{background:var(--gold-dk);color:var(--black)}
#navtoggle{display:none}
.burger{display:none;cursor:pointer;flex-direction:column;gap:5px;padding:6px}
.burger span{width:26px;height:3px;background:var(--gold);border-radius:2px}
@media(max-width:920px){
 .burger{display:flex}
 nav.main{display:none;position:absolute;top:100%;left:0;right:0;background:var(--black);
 flex-direction:column;align-items:flex-start;padding:18px 24px;gap:18px;border-bottom:2px solid var(--gold)}
 #navtoggle:checked ~ nav.main{display:flex}
}
/* hero */
.hero{background:radial-gradient(1200px 500px at 75% -10%,#2a2410 0%,transparent 60%),var(--black);
color:#fff;text-align:center;padding:72px 20px 80px}
.hero .stars{color:var(--gold);letter-spacing:6px;font-size:1.25rem;margin-bottom:14px}
.hero h1{font-size:clamp(2rem,5vw,3.2rem);line-height:1.12;margin-bottom:18px;font-weight:800}
.hero h1 em{color:var(--gold);font-style:normal}
.hero p.sub{max-width:760px;margin:0 auto 30px;color:#d6d6d6;font-size:1.08rem}
.cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.btn{display:inline-block;padding:15px 30px;border-radius:9px;font-weight:700;text-decoration:none;font-size:1.05rem}
.btn.gold{background:var(--gold);color:var(--black)}
.btn.gold:hover{background:var(--gold-dk)}
.btn.ghost{border:2px solid var(--gold);color:var(--gold)}
.btn.ghost:hover{background:var(--gold);color:var(--black)}
.trustbar{display:flex;flex-wrap:wrap;gap:10px 28px;justify-content:center;margin-top:38px;
color:#e2e2e2;font-size:.92rem}
.trustbar span{display:flex;align-items:center;gap:8px}
.trustbar svg{flex:none}
/* sections */
section{padding:64px 0}
.dark{background:var(--black);color:#fff}
.offwhite{background:var(--off)}
.kicker{color:var(--gold-txt);font-weight:700;letter-spacing:.14em;text-transform:uppercase;
font-size:.8rem;margin-bottom:10px}
.dark .kicker{color:var(--gold)}
h2{font-size:clamp(1.5rem,3.4vw,2.2rem);line-height:1.2;margin-bottom:14px;font-weight:800}
.lead{max-width:820px;color:var(--muted);margin-bottom:36px}
.dark .lead{color:#cfcfcf}
.center{text-align:center}
.center .lead{margin-left:auto;margin-right:auto}
/* special acrostic */
.special-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;max-width:900px;margin:0 auto}
.sp-item{display:flex;gap:16px;align-items:flex-start;background:var(--card);
border:1px solid #2c2c2c;border-radius:var(--radius);padding:16px 18px}
.sp-item .ltr{font-size:1.9rem;font-weight:900;color:var(--gold);width:38px;flex:none;line-height:1.15}
.sp-item b{display:block;color:#fff}
.sp-item small{color:#b5b5b5;font-size:.9rem}
/* services grid */
.svc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}
.svc-card{background:#fff;border:1px solid #e6e2d8;border-radius:var(--radius);padding:26px;
display:flex;flex-direction:column;gap:12px;text-decoration:none;transition:.15s;
box-shadow:0 1px 3px rgba(0,0,0,.05)}
.svc-card:hover{border-color:var(--gold);transform:translateY(-3px);box-shadow:0 8px 20px rgba(0,0,0,.09)}
.svc-card .icon{width:48px;height:48px;border-radius:10px;background:var(--black);display:flex;
align-items:center;justify-content:center}
.svc-card h3{font-size:1.12rem;color:var(--black)}
.svc-card p{color:var(--muted);font-size:.94rem;flex:1}
.svc-card .more{color:var(--gold-txt);font-weight:700;font-size:.92rem}
/* reviews */
.rev-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.rev{background:var(--card);border:1px solid #2c2c2c;border-radius:var(--radius);padding:26px}
.rev .stars{color:var(--gold);letter-spacing:3px;margin-bottom:10px}
.rev p{color:#e4e4e4;font-size:.97rem;margin-bottom:14px}
.rev b{color:#fff}.rev small{color:#9c9c9c;display:block}
/* faq */
.faq{max-width:820px;margin:0 auto}
details{border:1px solid #e2ddd2;border-radius:10px;margin-bottom:12px;background:#fff}
details summary{cursor:pointer;padding:16px 20px;font-weight:700;list-style:none;position:relative;padding-right:44px}
details summary::after{content:"+";position:absolute;right:18px;top:12px;font-size:1.4rem;color:var(--gold-txt)}
details[open] summary::after{content:"–"}
details div{padding:0 20px 18px;color:var(--muted)}
/* areas */
.areas{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.areas span{background:var(--card);border:1px solid #333;color:#eee;border-radius:999px;padding:10px 22px;font-size:.95rem}
.areas span b{color:var(--gold)}
/* cta band */
.band{background:linear-gradient(120deg,var(--gold),#e8c95e);color:var(--black);text-align:center;padding:56px 20px}
.band h2{margin-bottom:8px}
.band p{margin-bottom:24px;font-weight:500}
.band .btn{background:var(--black);color:var(--gold)}
/* service page */
.svc-hero{background:var(--black);color:#fff;padding:56px 20px}
.svc-hero .crumbs{font-size:.85rem;color:#a8a8a8;margin-bottom:16px}
.svc-hero .crumbs a{color:#a8a8a8;text-decoration:none}
.svc-hero .crumbs a:hover{color:var(--gold)}
.svc-hero h1{font-size:clamp(1.7rem,4vw,2.6rem);line-height:1.15;max-width:900px}
.svc-body{display:grid;grid-template-columns:1fr 340px;gap:48px;align-items:start}
@media(max-width:880px){.svc-body{grid-template-columns:1fr}}
.svc-body .prose p{margin-bottom:18px}
.svc-body h2{font-size:1.4rem;margin:26px 0 14px}
ul.checks{list-style:none;margin:0 0 10px}
ul.checks li{padding-left:32px;position:relative;margin-bottom:10px}
ul.checks li::before{content:"";position:absolute;left:0;top:5px;width:20px;height:20px;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><circle cx="12" cy="12" r="11" fill="%23c99418"/><path fill="white" d="M9.5 16.2 5.8 12.5l-1.3 1.3 5 5 10-10-1.3-1.3z"/></svg>') center/20px no-repeat}
.sidebar{background:var(--black);color:#fff;border-radius:var(--radius);padding:28px;position:sticky;top:90px}
.sidebar .sh{color:var(--gold);margin-bottom:10px;font-size:1.2rem;font-weight:800}
.sidebar p{color:#d8d8d8;font-size:.94rem;margin-bottom:18px}
.sidebar .btn{display:block;text-align:center;margin-bottom:12px}
.sidebar ul{list-style:none;margin-top:18px;border-top:1px solid #333;padding-top:16px}
.sidebar ul li{margin-bottom:8px;font-size:.9rem;color:#ccc;display:flex;gap:8px;align-items:center}
/* forms */
form{display:grid;gap:16px;max-width:640px}
label{font-weight:700;font-size:.92rem;display:block;margin-bottom:6px}
input,textarea,select{width:100%;padding:13px 14px;border:1px solid #d8d2c4;border-radius:8px;
font:inherit;background:#fff}
input:focus,textarea:focus{outline:2px solid var(--gold)}
form button{background:var(--gold);border:0;padding:15px;border-radius:9px;font-weight:800;
font-size:1.05rem;cursor:pointer}
form button:hover{background:var(--gold-dk)}
.hidden{display:none}
/* footer */
footer{background:var(--black);color:#c9c9c9;padding:56px 0 110px;font-size:.92rem}
.ft{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:36px;max-width:var(--maxw);margin:0 auto;padding:0 20px}
@media(max-width:880px){.ft{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.ft{grid-template-columns:1fr}}
footer .fh4{color:#fff;margin-bottom:14px;font-size:1rem;font-weight:700}
footer a{color:#c9c9c9;text-decoration:none;display:block;margin-bottom:9px}
footer a:hover{color:var(--gold)}
.ft-family{border-top:1px solid #2a2a2a;margin-top:44px;padding:26px 20px 4px;text-align:center}
.ft-family .fh4{margin-bottom:12px}
.ft-family a{display:inline-block;margin:4px 12px;color:#c9c9c9;font-size:.88rem}
.ft-family a:hover{color:var(--gold)}
.ft-bottom{border-top:1px solid #2a2a2a;margin-top:24px;padding:20px;text-align:center;color:#8b8b8b;font-size:.85rem}
.ft-bottom a{text-decoration:underline!important}
/* mobile call bar */
.mobilebar{position:fixed;bottom:0;left:0;right:0;z-index:60;display:none;background:var(--gold);
padding:12px 16px;text-align:center;box-shadow:0 -4px 14px rgba(0,0,0,.25)}
.mobilebar a{color:var(--black);font-weight:800;text-decoration:none;font-size:1.08rem}
@media(max-width:720px){.mobilebar{display:block}footer{padding-bottom:130px}}
