.page-head{padding:clamp(150px,18vw,230px) 0 clamp(30px,5vw,60px)}
.page-head__kicker{font-size:13px;letter-spacing:.2em;text-transform:uppercase;opacity:.85;margin-bottom:22px}
.page-head h1{font-size:clamp(42px,6.5vw,84px);font-weight:200;margin-bottom:26px;max-width:980px}
.page-head p{color:var(--muted);font-size:18px;max-width:680px}
.page-head + .section{padding-top:clamp(50px,7vw,90px)}

.step{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(24px,6vw,90px);padding:clamp(50px,7vw,90px) 0;border-top:1px solid var(--line)}
.step:first-child{border-top:0;padding-top:0}
.step__num{display:block;font-family:var(--f-title);font-size:14px;color:var(--sun);margin-bottom:18px}
.step h2{font-size:clamp(30px,3.6vw,44px)}
.step p{color:var(--muted)}
.step p + p,.step p + .list,.step .list + p{margin-top:18px}
.step h3{margin-top:30px}

.list{list-style:none;display:grid;gap:12px}
.list li{position:relative;padding-left:28px;color:var(--ink-2)}
.list li::before{content:"";position:absolute;left:2px;top:.62em;width:8px;height:8px;border-radius:50%;background:var(--sun);box-shadow:0 0 0 5px rgba(255,199,0,.15)}
.list--blue li::before{background:var(--blue);box-shadow:0 0 0 5px rgba(0,174,239,.15)}

.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:50px}
.card{padding:clamp(26px,3vw,36px);border-radius:24px;background:var(--card)}
.card p{color:var(--muted);font-size:15px}

.cta-band{display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap;padding:clamp(32px,4vw,54px);border-radius:32px;background:var(--card)}
.cta-band--after{margin-top:18px}
.cards:first-child{margin-top:0}
.cta-band h2{margin-bottom:8px;font-size:clamp(28px,3.4vw,42px)}
.cta-band p{color:var(--muted)}

.more{margin-top:60px}
.contact-addr{margin-top:28px}
.contact-info{margin-top:36px;display:grid;gap:6px}
.contact-info .phone{margin-top:0}
#estimateLine{margin-top:22px;padding:14px 18px;border-radius:14px;background:var(--card);color:var(--ink-2);font-size:15px}
#estimateLine[hidden]{display:none}

.prose{max-width:820px;-webkit-user-select:text;user-select:text}
.prose h2{font-size:clamp(24px,2.6vw,30px);font-weight:400;margin:60px 0 16px;scroll-margin-top:100px}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:18px;margin:28px 0 8px}
.prose p,.prose li{color:var(--muted)}
.prose p + p,.prose ul + p,.prose p + ul{margin-top:12px}
.prose ul{margin-left:20px;display:grid;gap:6px}
.prose a{border-bottom:1px solid var(--sun);transition:color .2s}
.prose a:hover{color:var(--sun)}
.prose strong{color:var(--ink);font-weight:600}
.prose .box{margin-top:18px;padding:22px 24px;border-radius:18px;background:var(--card)}
.prose .box p{color:var(--ink-2)}
.prose .updated{font-size:14px;margin-bottom:40px}
.toc{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 30px;margin:0 0 70px;padding:26px 28px;border-radius:24px;background:var(--card);list-style:none;font-size:14px;counter-reset:none}
.toc a{color:var(--muted);border:0}
.toc a:hover{color:var(--sun)}

@media (max-width:960px){
  .cards{grid-template-columns:1fr}
}
@media (max-width:760px){
  .step{grid-template-columns:1fr}
  .toc{grid-template-columns:1fr}
}
