.page-banner{background-color:var(--deep);background-size:cover;background-position:center;color:#fff;padding:9rem 0 3.5rem}
.page-banner h1{font-size:clamp(1.8rem,4vw,2.8rem);line-height:1.15;margin:.3rem 0}
.crumbs{font-size:.85rem;opacity:.85}.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--gold)}
.page-body{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:3rem;padding:3rem 0 4.5rem;align-items:start}
.page-body.one{grid-template-columns:minmax(0,1fr)}
.prose h2{font-size:1.4rem;margin:1.8rem 0 .6rem}.prose h2:first-child{margin-top:0}
.prose p{color:#334b49;margin-bottom:1rem;max-width:68ch}
.side-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:1.5rem;position:sticky;top:96px;display:grid;gap:.9rem}
.side-card h3{font-size:1.1rem}.side-card .phones{display:flex;gap:.8rem;flex-wrap:wrap;align-items:center}
.side-card a:not(.btn){font-weight:500;text-decoration:none;color:var(--deep)}.side-card a:not(.btn):hover{color:var(--gold-d)}
.wa{font-size:.78rem;background:#e3f4e8;color:#17653a!important;padding:.15rem .6rem;border-radius:99px}
.btn-ghost-dark{border-color:var(--deep);color:var(--deep);text-align:center}.btn-ghost-dark:hover{background:var(--deep);color:#fff}
.svc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.3rem}
.svc{background:#fff;border:1px solid var(--line);border-radius:14px;padding:1.4rem}
.svc h3{font-size:1.1rem;margin-bottom:.5rem}.svc p{color:#4d6361;font-size:.95rem}
.cta-strip{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;background:var(--deep);color:#fff;border-radius:14px;padding:1.5rem 1.8rem;margin-top:2rem}
.cta-strip p{font-size:1.15rem;font-weight:600}
.contact-form{display:grid;gap:1rem;background:#fff;border:1px solid var(--line);border-radius:14px;padding:1.6rem}
.contact-form h2{font-size:1.3rem}
.contact-form label{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;font-weight:500;min-width:0}
.contact-form input,.contact-form textarea{font:inherit;min-width:0;max-width:100%;padding:.65rem .7rem;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);width:100%}
.hp{position:absolute;left:-9999px}
.alert{background:#fbe4e1;color:#7d1f14;border-radius:10px;padding:.9rem 1.1rem;margin-bottom:1.2rem;font-size:.92rem}.alert ul{padding-left:1.1rem}
.okbox{background:#e3f4e8;color:#17653a;border-radius:12px;padding:1rem 1.2rem;margin-bottom:1.2rem}
@media (max-width:900px){.page-body{grid-template-columns:minmax(0,1fr);gap:1.5rem}.side-card{position:static}.svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-banner{padding-top:7.5rem}}
@media (max-width:560px){.svc-grid{grid-template-columns:minmax(0,1fr)}}
