:root { color-scheme: light; --area-ink:#082b3d; --area-muted:#4c626d; --area-paper:#fff; --area-soft:#f2f7fa; --area-line:#cfdee5; --area-accent:#007b99; --area-yellow:#ffb51f; }
* { box-sizing:border-box; }
[hidden] { display:none!important; }
html { scroll-padding-top:100px; }
body.area-page { margin:0; color:var(--area-ink); background:var(--area-paper); font:16px/1.65 "Segoe UI",Arial,sans-serif; letter-spacing:0; }
body.dark-mode { color-scheme:dark; --area-ink:#edf5f8; --area-muted:#bfd0da; --area-paper:#092536; --area-soft:#103347; --area-line:#365564; --area-accent:#66d5eb; }
a { color:var(--area-accent); text-underline-offset:3px; }
a:hover { text-decoration-thickness:2px; }
button,input,select,textarea { font:inherit; }
button,a,input,select,textarea,summary { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:3px solid var(--area-accent); outline-offset:4px; }
p { margin:0 0 20px; color:var(--area-muted); }
h1,h2,h3 { color:var(--area-ink); line-height:1.22; margin:0 0 20px; overflow-wrap:anywhere; letter-spacing:0; }
h1 { font-size:42px; max-width:900px; }
h2 { font-size:28px; }
h3 { font-size:20px; }
li { overflow-wrap:anywhere; }
.area-container { width:calc(100% - 48px); max-width:1160px; margin-inline:auto; }
.area-header { position:sticky; top:0; z-index:30; background:var(--area-paper); border-bottom:1px solid var(--area-line); }
.area-nav { display:flex; flex-wrap:wrap; align-items:center; gap:14px 24px; padding-block:12px; }
.area-logo { line-height:0; flex:0 0 auto; }
.area-logo img { width:124px; height:49px; object-fit:contain; }
.dark-mode .area-logo { background:white; border-radius:4px; padding:3px 6px; }
.header-phone { margin-left:auto; font-size:18px; font-weight:750; white-space:nowrap; text-decoration:none; }
.area-menu { display:flex; gap:20px; align-items:center; width:100%; padding-top:8px; border-top:1px solid var(--area-line); }
.area-menu a { color:var(--area-ink); font-weight:650; text-decoration:none; }
.area-menu a:hover,.area-menu [aria-current] { color:var(--area-accent); text-decoration:underline; }
.area-menu-toggle,.area-theme { border:1px solid var(--area-line); background:var(--area-paper); color:var(--area-ink); padding:6px 12px; min-height:42px; border-radius:4px; cursor:pointer; }
.area-theme { margin-left:auto; font-size:14px; }
.area-menu-toggle { display:none; }
.skip-link { position:fixed; top:8px; left:8px; z-index:100; padding:12px; background:var(--area-paper); transform:translateY(-150%); }
.skip-link:focus { transform:translateY(0); }
.area-intro { background:var(--area-soft); border-bottom:3px solid var(--area-yellow); padding:24px 0 34px; }
.area-breadcrumb { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:24px; font-size:14px; }
.area-eyebrow { font-size:15px; font-weight:700; color:var(--area-accent); margin-bottom:10px; }
.area-lead { max-width:840px; font-size:19px; line-height:1.6; }
.area-actions { display:flex; gap:12px; flex-wrap:wrap; margin:24px 0 18px; }
.area-btn { display:inline-flex; align-items:center; justify-content:center; text-align:center; gap:8px; padding:11px 18px; min-height:46px; font-weight:700; border:1px solid var(--area-line); border-radius:5px; background:var(--area-paper); color:var(--area-ink); cursor:pointer; text-decoration:none; overflow-wrap:anywhere; }
.area-btn.primary { background:var(--area-yellow); color:#092536; border-color:var(--area-yellow); }
.area-btn:hover { box-shadow:inset 0 0 0 1px currentColor; text-decoration:none; }
.area-btn:disabled { cursor:wait; opacity:.65; }
.area-note { font-size:14px; line-height:1.65; margin-bottom:0; }
.area-review-proof { margin:0 0 12px; font-size:15px; font-weight:650; }
.area-review-proof a { display:inline-block; padding-block:8px; }
.area-section { padding:48px 0; scroll-margin-top:36px; }
.area-soft { background:var(--area-soft); border-block:1px solid var(--area-line); }
.area-columns { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:48px; align-items:start; }
.area-columns > * { min-width:0; }
.area-checklist { margin:0 0 24px; padding-left:23px; color:var(--area-muted); }
.area-checklist li { margin-bottom:12px; padding-left:4px; }
.area-checklist li::marker { color:var(--area-accent); }
.area-experience { border-left:3px solid var(--area-yellow); padding-left:28px; }
.area-experience h2 { font-size:24px; }
.area-experience .area-note { margin-bottom:18px; }
.area-brands { display:flex; flex-wrap:wrap; gap:8px 22px; padding-left:20px; margin:0 0 20px; font-weight:700; }
.area-services { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.area-services > div:not(:first-child) { border-left:1px solid var(--area-line); padding-left:28px; }
.area-price-label { font-size:15px; margin-bottom:0; }
.area-price { font-size:34px; font-weight:750; color:var(--area-ink); margin-bottom:12px; }
.area-price span { font-size:19px; font-weight:500; }
.area-offers { margin:0 0 24px; border-top:1px solid var(--area-line); }
.area-offers > div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:16px; padding:12px 0; border-bottom:1px solid var(--area-line); }
.area-offers dt { font-size:15px; }
.area-offers dd { margin:0; font-weight:700; white-space:nowrap; }
.area-reading { max-width:900px; }
.area-faq { border-bottom:1px solid var(--area-line); }
.area-faq summary { padding:18px 0; cursor:pointer; font-weight:650; }
.area-faq p { margin:0 0 20px; }
.area-form { border:1px solid var(--area-line); border-radius:6px; padding:24px; background:var(--area-paper); }
.area-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 16px; }
.area-form label,.area-filter label { display:block; font-size:14px; font-weight:650; }
.area-form input:not([type=checkbox]),.area-form select,.area-form textarea,.area-filter input { display:block; min-width:0; width:100%; min-height:46px; margin-top:5px; border:1px solid var(--area-line); border-radius:4px; color:var(--area-ink); background:var(--area-paper); padding:10px; font-size:16px; }
.area-form textarea { resize:vertical; }
.area-form input::placeholder,.area-form textarea::placeholder,.area-filter input::placeholder { color:var(--area-muted); opacity:1; }
.area-full { grid-column:1/-1; }
.area-form .area-consent { display:flex; align-items:flex-start; gap:10px; margin:20px 0; font-size:13px; font-weight:400; }
.area-consent input { flex:0 0 auto; width:18px; height:18px; margin-top:3px; }
.area-honeypot { position:absolute!important; left:-10000px; width:1px!important; }
.area-contact-number { font-size:24px; font-weight:750; }
#area-form-status { margin:16px 0 0; }
.area-nearby { display:flex; flex-wrap:wrap; gap:12px 32px; list-style:none; margin:0 0 24px; padding:0; }
.area-nearby a { display:inline-block; padding:5px 0; }
.area-filter { max-width:540px; margin:26px 0; }
.search-row { display:flex; gap:8px; }
.search-row input { flex:1; }
.search-row button { align-self:end; height:46px; width:46px; flex:0 0 46px; border:1px solid var(--area-line); background:var(--area-paper); color:var(--area-ink); border-radius:4px; font-size:24px; cursor:pointer; }
#area-search-status { min-height:24px; margin:6px 0 0; font-size:14px; }
.region-jumps { display:flex; gap:12px 28px; flex-wrap:wrap; margin:24px 0; }
.area-directory { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:32px; }
.area-region { scroll-margin-top:150px; }
.area-region h3 { padding-bottom:12px; border-bottom:2px solid var(--area-yellow); }
.area-region ul { padding:0; list-style:none; margin:0; }
.area-region li { border-bottom:1px solid var(--area-line); }
.area-region a { display:flex; justify-content:space-between; gap:12px; padding:12px 0; text-decoration:none; font-weight:600; }
.area-region a:hover { text-decoration:underline; }
.area-footer { background:#05283c; color:#fff; padding:36px 0 100px; }
.area-footer p { color:#c7dce5; }
.area-footer a { color:#fff; }
.area-footer-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.area-footer nav { display:flex; flex-direction:column; align-items:start; gap:8px; }
.area-footer .area-note { margin-top:24px; }
.floating-call { position:fixed; right:20px; bottom:20px; width:56px; height:56px; display:flex; align-items:center; justify-content:center; border:2px solid white; border-radius:50%; background:var(--area-yellow); color:#05283c; box-shadow:0 4px 18px #001d3533; z-index:40; }
.floating-call svg { width:27px; height:27px; }
.area-cookie { position:fixed; left:18px; bottom:18px; width:min(630px,calc(100% - 112px)); padding:16px; background:var(--area-paper); border:1px solid var(--area-line); box-shadow:0 4px 24px #001d3522; z-index:45; border-radius:6px; display:none; }
.area-cookie.show { display:block; }
.area-cookie p { font-size:13px; margin-bottom:12px; }
.area-cookie > div { display:flex; gap:8px; flex-wrap:wrap; }
.area-cookie .area-btn { padding:8px 12px; font-size:13px; }
@media (min-width:1180px) {
  .area-menu { width:auto; border:0; padding:0; margin-left:auto; gap:18px; font-size:14px; }
  .header-phone { margin-left:0; font-size:16px; }
}
@media (max-width:760px) {
  html { scroll-padding-top:92px; }
  .area-container { width:calc(100% - 32px); }
  .area-nav { gap:10px 12px; }
  .area-logo img { width:98px; height:42px; }
  .header-phone { font-size:15px; }
  .area-menu-toggle { display:inline-flex; align-items:center; justify-content:center; padding:6px 10px; }
  .area-menu { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px 12px; }
  .area-menu a { padding:8px 0; font-size:14px; }
  .area-theme { margin:0; }
  .area-page.js .area-menu:not(.is-open) { display:none; }
  .area-intro { padding:20px 0 28px; }
  .area-breadcrumb { margin-bottom:20px; font-size:13px; }
  h1 { font-size:32px; }
  h2 { font-size:25px; }
  .area-lead { font-size:17px; }
  .area-actions { gap:10px; }
  .area-section { padding:32px 0; }
  .area-columns,.area-services,.area-directory,.area-footer-grid { grid-template-columns:1fr; gap:30px; }
  .area-experience { padding-left:20px; }
  .area-services > div:not(:first-child) { border-left:0; border-top:1px solid var(--area-line); padding-left:0; padding-top:24px; }
  .area-services p { margin-bottom:0; }
  .area-form { padding:20px; }
  .area-form-grid { grid-template-columns:1fr; }
  .area-price { font-size:30px; }
  .area-offers > div { grid-template-columns:1fr; gap:2px; }
  .area-cookie { left:12px; bottom:84px; width:calc(100% - 24px); }
  .floating-call { right:16px; bottom:16px; }
}
@media (max-width:360px) {
  .area-logo img { width:82px; height:38px; }
  .header-phone { font-size:14px; }
  .area-nav { gap:8px; }
  .area-menu-toggle { font-size:14px; padding:5px 8px; }
  h1 { font-size:28px; }
  .area-contact-number { font-size:22px; }
}
@media (prefers-reduced-motion:no-preference) { html { scroll-behavior:smooth; } }
