:root{
  --ink:#101110; --paper:#f3f1e9; --acid:#d7ff35; --muted:#73756f; --line:#d4d2ca;
  --white:#fff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Arial,sans-serif}
a{color:inherit;text-decoration:none}
.topbar{background:var(--acid);font:800 12px Archivo,sans-serif;letter-spacing:.12em;text-align:center;padding:9px 18px}
.topbar span{font-weight:500;margin-left:18px;letter-spacing:.03em}
.nav{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(243,241,233,.95);backdrop-filter:blur(12px);z-index:20}
.brand{display:flex;gap:10px;align-items:center}
.brand-mark{width:43px;height:43px;background:var(--ink);color:var(--acid);display:grid;place-items:center;font:900 17px Archivo}
.brand strong,.brand small{display:block;font-family:Archivo}
.brand strong{font-size:18px;line-height:1}
.brand small{font-size:10px;letter-spacing:.2em;margin-top:5px}
.desktop-nav{display:flex;gap:30px;font-size:13px;font-weight:700}
.desktop-nav a:hover{text-decoration:underline;text-underline-offset:5px}
.btn{display:inline-flex;align-items:center;justify-content:center;font:800 13px Archivo;letter-spacing:.03em;border:2px solid var(--ink);padding:16px 22px;transition:.2s}
.btn:hover{transform:translateY(-2px)}
.btn-small{padding:11px 16px}
.btn-primary{background:var(--acid);color:var(--ink)}
.btn-ghost{background:transparent}
.btn-ghost-light{border-color:#fff;color:#fff}
.hero{min-height:650px;padding:70px 5vw;display:grid;grid-template-columns:1.35fr .65fr;gap:5vw;align-items:center}
.eyebrow{font:800 12px Archivo;letter-spacing:.18em;margin-bottom:18px}
h1,h2,h3{font-family:Archivo;margin:0}
h1{font-size:clamp(58px,8vw,118px);line-height:.82;letter-spacing:-.065em;font-weight:900}
h1 span,.cta h2 span{color:transparent;-webkit-text-stroke:2px var(--ink)}
.lead{font-size:19px;line-height:1.65;max-width:690px;margin:30px 0}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.micro,.fineprint{font-size:12px;color:var(--muted);line-height:1.6}
.micro{margin-top:15px}
.hero-card{background:var(--ink);color:#fff;padding:38px;min-height:420px;display:flex;flex-direction:column;justify-content:flex-end}
.big-number{font:900 100px Archivo;color:var(--acid);line-height:1}
.hero-card h2{font-size:34px;margin-top:25px}
.hero-card p{color:#c8c9c4;line-height:1.6}
.card-line{height:1px;background:#3c3e3b;margin:18px 0}
.mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.mini-grid strong,.mini-grid span{display:block}
.mini-grid strong{font:800 13px Archivo;color:var(--acid)}
.mini-grid span{font-size:12px;color:#aaa;margin-top:4px}
.trust-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 5vw;display:flex;justify-content:space-between;font:800 12px Archivo;letter-spacing:.08em;overflow:hidden}
.section{padding:105px 5vw}
.section-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;align-items:end;margin-bottom:55px}
.section-heading h2,.split h2,.area-section h2,.faq h2{font-size:clamp(42px,5.2vw,76px);line-height:.92;letter-spacing:-.045em}
.section-heading>p{font-size:17px;line-height:1.7;color:#555;max-width:520px}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink);border-left:1px solid var(--ink)}
.service-grid article{padding:32px;min-height:220px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.service-grid article>span{font:800 11px Archivo;color:var(--muted)}
.service-grid h3{font-size:25px;margin:38px 0 12px}
.service-grid p{font-size:14px;line-height:1.6;color:#555}
.dark-section{background:var(--ink);color:#fff;padding:105px 5vw}
.section-heading.light{display:block}
.section-heading.light h2{font-size:clamp(46px,6vw,82px)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #3c3e3b;margin:50px 0}
.steps article{padding:35px 35px 50px 0;border-right:1px solid #3c3e3b;margin-right:35px}
.steps article:last-child{border-right:0}
.step-num{font:900 58px Archivo;color:var(--acid)}
.steps h3{font-size:28px;margin:35px 0 10px}
.steps p{color:#b7b8b4;line-height:1.7;font-size:14px}
.wide{width:100%}
.split{display:grid;grid-template-columns:1fr 1fr;gap:8vw}
.lead-small{font-size:20px;line-height:1.6;margin-top:0}
.price-card{border:2px solid var(--ink);padding:32px;margin:30px 0}
.price-card span{font:800 11px Archivo;letter-spacing:.15em}
.price-card strong{font:800 28px Archivo;display:block;margin:14px 0}
.price-card p{color:#555;line-height:1.6}
.area-section{background:var(--acid);padding:95px 5vw;display:grid;grid-template-columns:1fr 1fr;gap:8vw}
.area-copy p{max-width:480px;line-height:1.7}
.city-list{border-top:2px solid var(--ink)}
.city-list div{font:800 clamp(22px,3vw,38px) Archivo;padding:18px 0;border-bottom:1px solid var(--ink);display:flex;gap:25px}
.city-list span{font-size:11px;width:25px;padding-top:8px}
.placeholder-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.placeholder-grid>div{aspect-ratio:16/9;background:#dedbd1;display:flex;flex-direction:column;justify-content:space-between;padding:25px;background-image:linear-gradient(135deg,transparent 49.7%,#c8c5bb 50%,transparent 50.3%)}
.placeholder-grid span{font:800 11px Archivo;letter-spacing:.15em}
.placeholder-grid b{font:900 clamp(30px,4vw,55px) Archivo;line-height:.9}
.faq{display:grid;grid-template-columns:.65fr 1.35fr;gap:8vw;border-top:1px solid var(--line)}
.accordion details{border-top:1px solid var(--ink);padding:20px 0}
.accordion details:last-child{border-bottom:1px solid var(--ink)}
.accordion summary{font:700 18px Archivo;cursor:pointer}
.accordion p{line-height:1.7;color:#555;max-width:700px}
.cta{background:var(--ink);color:#fff;text-align:center;padding:110px 5vw}
.cta h2{font-size:clamp(52px,8vw,110px);line-height:.86;letter-spacing:-.06em;margin:25px 0 45px}
.cta h2 span{-webkit-text-stroke-color:#fff}
.center{justify-content:center}
footer{padding:55px 5vw 90px;display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:30px;font-size:13px;line-height:1.8}
footer a{text-decoration:underline;text-underline-offset:3px}
.copyright{grid-column:1/-1;border-top:1px solid var(--line);padding-top:25px;margin-top:25px;color:var(--muted)}
.mobile-cta{display:none}
@media(max-width:800px){
  .desktop-nav,.nav>.btn-small{display:none}
  .nav{height:70px}
  .hero{grid-template-columns:1fr;padding-top:55px}
  .hero-card{min-height:350px}
  h1{font-size:clamp(56px,17vw,82px)}
  .trust-strip{gap:25px;justify-content:flex-start;white-space:nowrap}
  .section,.dark-section{padding:75px 5vw}
  .section-heading,.split,.area-section,.faq{grid-template-columns:1fr}
  .section-heading{gap:20px}
  .service-grid{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .steps article{border-right:0;border-bottom:1px solid #3c3e3b;margin-right:0}
  .placeholder-grid{grid-template-columns:1fr}
  footer{grid-template-columns:1fr 1fr;padding-bottom:100px}
  .footer-brand,.copyright{grid-column:1/-1}
  .mobile-cta{position:fixed;display:grid;grid-template-columns:1fr 1.5fr;bottom:0;left:0;right:0;z-index:30;background:#fff;border-top:1px solid var(--ink)}
  .mobile-cta a{padding:16px;text-align:center;font:900 13px Archivo}
  .mobile-cta .primary{background:var(--acid);border-left:1px solid var(--ink)}
}

.dynamic-photo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.dynamic-photo-grid figure{margin:0;background:#dedbd1;overflow:hidden}
.dynamic-photo-grid img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.dynamic-photo-grid figcaption{padding:12px 14px;font:700 12px Archivo,sans-serif}
@media(max-width:800px){.dynamic-photo-grid{grid-template-columns:1fr}}
