body.pub{background:#f6f8fb}
.wrap{max-width:1100px;margin:0 auto;padding:0 1.2rem}
.pub-top{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}
.pub-top .wrap{display:flex;align-items:center;gap:1rem;height:64px}
.pub-brand{display:flex;align-items:center;gap:.6rem;font-weight:800;font-size:1.15rem;color:var(--brand-d)!important;text-decoration:none!important}
.pub-brand .mark{width:38px;height:38px;border-radius:9px;background:var(--accent);display:grid;place-items:center;color:#fff}
.pub-top nav{margin-left:auto;display:flex;align-items:center;gap:1rem}
.pub-phone{font-weight:700;color:var(--brand-d)}
.hero{background:linear-gradient(120deg,rgba(7,58,105,.93),rgba(11,83,148,.85)),url('https://images.unsplash.com/photo-1581092160562-40aa08e78837?auto=format&fit=crop&w=1600&q=60') center/cover;color:#fff;padding:5rem 0 4.5rem}
.hero h1{font-size:2.6rem;max-width:680px;margin-bottom:.8rem}
.hero p{font-size:1.15rem;max-width:620px;opacity:.92;margin-bottom:1.8rem}
.hero .cta{display:flex;gap:.8rem;flex-wrap:wrap}
.hero .btn.secondary{background:transparent;color:#fff;border-color:rgba(255,255,255,.6)}
.section{padding:3.5rem 0}
.section h2{font-size:1.7rem;text-align:center;margin-bottom:.4rem}
.section .lead{text-align:center;color:var(--muted);margin-bottom:2rem}
.svc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem}
.svc{background:#fff;border:1px solid var(--line);border-radius:12px;padding:1.3rem;text-align:center;box-shadow:var(--shadow)}
.svc .ic{font-size:2rem;margin-bottom:.4rem}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.2rem;counter-reset:st}
.step{background:#fff;border-radius:12px;padding:1.4rem;border:1px solid var(--line);position:relative}
.step h3{margin-top:.4rem}
.step::before{counter-increment:st;content:counter(st);width:34px;height:34px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-weight:800}
.band{background:var(--brand-d);color:#fff;text-align:center;padding:3rem 0}
.band h2{color:#fff}
.pub-foot{background:#0d1b2a;color:#b8c4d0;padding:2rem 0;font-size:.92rem}
.pub-foot a{color:#fff}
.pub-foot .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}
.book-wrap{max-width:820px;margin:2rem auto;padding:0 1rem}
.book-wrap .card{padding:1.6rem}
.book-wrap fieldset{border:0;padding:0;margin:0 0 1.4rem}
.book-wrap legend{font-weight:800;font-size:1.05rem;color:var(--brand-d);margin-bottom:.8rem;display:flex;align-items:center;gap:.5rem}
.book-wrap legend .n{width:26px;height:26px;border-radius:50%;background:var(--brand);color:#fff;display:inline-grid;place-items:center;font-size:.85rem}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.pay-wrap{max-width:760px;margin:2rem auto;padding:0 1rem}
@media(max-width:700px){.hero{padding:3rem 0}.hero h1{font-size:1.9rem}.pub-phone{display:none}}

/* address lookup dropdown */
.ac-wrap{position:relative}
.ac-wrap>input{width:100%}
.ac-list{position:absolute;z-index:80;left:0;right:0;top:calc(100% + 2px);background:#fff;border:1px solid #d6dbe3;border-radius:8px;box-shadow:0 10px 28px rgba(15,23,42,.18);overflow:hidden;max-height:320px;overflow-y:auto}
.ac-item{padding:.6rem .75rem;cursor:pointer;font-size:.95rem;line-height:1.3;color:#1f2937;border-bottom:1px solid #f1f3f6}
.ac-item small{color:#6b7280}
.ac-item:hover,.ac-item.on{background:#eef4ff}
.ac-foot{padding:.35rem .75rem;font-size:.75rem;color:#9ca3af;text-align:right;background:#fafbfc}

