/* Shared desktop / mobile refinements. */
.container,main .container{width:calc(100% - 64px);max-width:1280px;margin-inline:auto}
.topbar{padding:3px 0;font-size:.7rem}
.header-inner{min-height:62px;gap:16px}
.header .brand{gap:8px;letter-spacing:.06em}
.header .brand-mark,.header .brand-mark img{width:80px;height:43px}
.header .brand-name{display:block;font-size:1rem}
.header .brand small{font-size:.44rem;letter-spacing:.14em}
.nav{gap:16px}.nav a{font-size:.8rem}
.header .btn{min-height:36px;padding:6px 14px}
.menu-toggle{min-width:44px;min-height:44px;padding:4px 10px}
.grid>* , .split>*, .form-shell>*{min-width:0}
.photo:after{margin:0}
.hero .copy{max-width:700px}
:focus-visible{outline:2px solid #cda35e;outline-offset:3px}
.floating-contact{position:fixed;right:12px;top:50%;transform:translateY(-50%);z-index:30;display:flex;flex-direction:column;gap:9px;width:48px}
.floating-contact a{min-height:48px;padding:8px 4px;border-radius:50%;box-shadow:0 4px 16px #0003;display:flex;align-items:center;justify-content:center;gap:6px;font-size:1rem;font-weight:700;text-decoration:none}
.floating-wa{background:#187d4e;color:#fff}.floating-call{background:#cda35e;color:#0b1827}
.floating-contact .contact-label{position:absolute;right:58px;padding:5px 10px;border-radius:4px;background:#0b1827;color:#fff;white-space:nowrap;font-size:.8rem;opacity:0;pointer-events:none;transition:opacity .15s}
.floating-contact a:hover .contact-label,.floating-contact a:focus-visible .contact-label{opacity:1}
.footer.footer-single{padding:18px 0;color:#e3e8ed}
.footer-line{display:flex;align-items:center;justify-content:center;gap:20px;font-size:.82rem;flex-wrap:wrap}
.footer-line a{display:inline;margin:0;color:#e3bc7b}.footer-privacy{color:#c4d0da}
.legal-copy{max-width:850px;overflow-wrap:anywhere}.legal-copy h2{font-size:1.7rem;margin-top:35px}
.notice{padding:18px;border-left:3px solid #cda35e;background:#f7f4ef}
.review-card{overflow-wrap:anywhere}.review-card h3{font-size:1.15rem}.review-card time{display:block;font-size:.82rem;color:#607080;margin-bottom:12px}.review-stars{color:#966927!important}
#reviews-status{margin-bottom:24px}.review-pagination{display:flex;gap:20px;align-items:center;justify-content:center;margin-top:25px}.review-pagination[hidden]{display:none}
button:disabled{opacity:.5;cursor:default;transform:none!important}
@media(max-width:1200px){
 .menu-toggle{display:block}.header-inner>.btn{display:none}.header .brand-name{display:block}
 .nav{display:none;position:absolute;top:100%;left:0;right:0;background:#0b1827;padding:15px 24px 22px;flex-direction:column;align-items:stretch;gap:0;border-top:1px solid #354355}
 .nav.open{display:flex}.nav a{padding:10px 0;font-size:1rem}
}
@media(max-width:760px){
 .container,main .container{width:calc(100% - 32px);max-width:1280px;margin-inline:auto}
 .header-inner{min-height:56px;gap:8px}.header .brand-mark,.header .brand-mark img{width:68px;height:37px}
 .header .brand-name{font-size:.85rem}.header .brand small{font-size:.38rem}
 .topbar{padding:2px 0;font-size:.65rem}.topbar .container{gap:8px}
 .nav{top:100%;padding-inline:12px}.floating-contact{right:6px;width:44px;gap:8px}.floating-contact a{min-height:44px;font-size:.9rem;padding:6px 3px}
 .floating-contact .contact-label{right:52px}
 .hero h1{font-size:clamp(2rem,7.8vw,3.5rem)}.page-hero h1{font-size:clamp(2rem,7vw,3.3rem)}
 h2{overflow-wrap:anywhere}.hero .copy{padding:55px 0 65px}.hero{min-height:570px}
 .footer.footer-single{padding:16px 0}.footer-line{gap:8px 16px;justify-content:center;font-size:.74rem}.footer-privacy{display:none}
 .form-card{padding:17px}.photo:after{margin:0}.review-pagination{gap:8px;flex-wrap:wrap}.review-pagination .btn{padding:8px 12px;min-height:44px}
 .tile{padding:22px}.service .body{padding:22px}.brand-mark{flex-shrink:0}
}
@media(max-width:420px){.header .brand-name{display:block}.fields{grid-template-columns:1fr}.actions .btn{padding:12px 14px;white-space:normal}}

/* Compact typography and illustrated home introduction. */
h1{font-size:clamp(2.15rem,4vw,3.8rem)}
h2{font-size:clamp(1.65rem,2.7vw,2.65rem)}
h3{font-size:1.25rem}
.page-hero h1{font-size:clamp(2.1rem,4vw,3.4rem)}
.legal-copy h2{font-size:1.5rem}
.hero-with-bridge{background:#0b1827;min-height:540px}
.hero-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:center;padding-block:40px}
.hero-bridge{position:relative;margin:0;min-width:0;overflow:hidden;border-radius:8px;border:1px solid #ffffff26}
.hero-bridge img{width:100%;height:440px;object-fit:cover}
.hero-bridge figcaption{position:absolute;bottom:0;left:0;right:0;padding:34px 22px 18px;background:linear-gradient(transparent,#071421e6);color:#f4e5cc;font-size:.88rem}
.hero-with-bridge .copy{padding:20px 0;max-width:620px}
.hero-with-bridge .trustline{margin-top:28px;gap:14px}
.hero-with-bridge .lead{font-size:1.05rem}
@media(max-width:1000px){.hero-layout{gap:24px}.hero-bridge img{height:400px}.hero-with-bridge .actions .btn{padding:10px 14px;font-size:.88rem}}
@media(max-width:760px){
 .hero-layout{grid-template-columns:1fr;padding-block:20px 32px;gap:24px}
 .hero-bridge img{height:230px}.hero-bridge figcaption{padding:28px 16px 12px;font-size:.78rem}
 .hero-with-bridge{min-height:0}.hero-with-bridge .copy{padding:0;max-width:none}
 .hero h1,.page-hero h1{font-size:clamp(1.9rem,6.5vw,2.7rem)}
 .hero-with-bridge .lead{font-size:1rem}
}

.reviews-source{margin-bottom:22px}.reviews-source .btn{min-height:44px}.reviews-caption{color:var(--muted);max-width:760px}
