
:root{
  --bg:#f4f8fc;
  --surface:#ffffff;
  --surface-alt:#eef5ff;
  --text:#0f172a;
  --muted:#475569;
  --line:#dbe5f0;
  --primary:#0b5cff;
  --primary-dark:#093aa9;
  --accent:#23b3ff;
  --shadow:0 20px 50px rgba(15,23,42,.08);
  --radius:24px;
  --radius-sm:16px;
  --container:1200px;
}
*,
*::before,
*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  color:var(--text);
  background:linear-gradient(180deg,#f7fbff 0%,#f4f8fc 100%);
  line-height:1.6;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--primary);text-decoration:none}
a:hover{text-decoration:none}
.skip-link{position:absolute;left:-9999px;top:auto}
.skip-link:focus{left:1rem;top:1rem;background:#fff;padding:.75rem 1rem;border-radius:12px;z-index:1000}
.container{width:min(calc(100% - 32px),var(--container));margin-inline:auto}
.topbar{position:sticky;top:0;z-index:120;background:rgba(255,255,255,.88);backdrop-filter:blur(14px);border-bottom:1px solid rgba(219,229,240,.8)}
.topbar__inner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 0}
.topbar__brand{display:flex;align-items:center;gap:14px;min-width:0}
.topbar__logo{width:64px;height:64px;object-fit:contain;border-radius:14px;background:#fff;padding:6px;box-shadow:var(--shadow)}
.topbar__wordmark{font-size:1.5rem;font-weight:800;letter-spacing:-.04em}
.topbar__copy{display:flex;flex-direction:column;min-width:0}
.topbar__title{font-size:.95rem;font-weight:700;line-height:1.2}
.topbar__hours{font-size:.83rem;color:var(--muted)}
.topbar__actions{display:flex;align-items:center;gap:12px}
.topbar__phone{font-weight:800;color:var(--text)}
.mainnav{background:transparent}
.mainnav__inner{padding:10px 0}
.mainnav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.mainnav li a{display:inline-flex;padding:10px 14px;border-radius:999px;color:var(--text);font-weight:600}
.mainnav li a:hover,.mainnav li.current a,.mainnav li.active a{background:var(--surface);box-shadow:0 8px 24px rgba(15,23,42,.06)}

.hero-banner{position:relative;min-height:70vh;background-size:cover;background-position:center;display:grid;align-items:end}
.hero-banner__overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(7,16,35,.75),rgba(7,16,35,.42) 40%,rgba(11,92,255,.35));}
.hero-banner__content{position:relative;color:#fff;padding:clamp(80px,12vw,140px) 0 80px}
.hero-banner__eyebrow{display:inline-block;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.14);backdrop-filter:blur(8px);font-size:.85rem;font-weight:700;margin-bottom:18px}
.hero-banner h1{font-size:clamp(2.2rem,5vw,4.6rem);line-height:1;letter-spacing:-.05em;max-width:12ch;margin:0 0 16px}
.hero-banner p{font-size:clamp(1rem,2vw,1.2rem);max-width:62ch;margin:0 0 28px;color:rgba(255,255,255,.92)}
.hero-banner__actions{display:flex;flex-wrap:wrap;gap:14px}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 20px;border-radius:999px;font-weight:800;border:1px solid transparent;transition:.25s ease;cursor:pointer}
.btn--primary{background:linear-gradient(135deg,var(--primary),#29aaff);color:#fff;box-shadow:0 16px 30px rgba(11,92,255,.28)}
.btn--primary:hover{transform:translateY(-1px);box-shadow:0 22px 40px rgba(11,92,255,.34)}
.btn--ghost{background:rgba(255,255,255,.15);color:#fff;border-color:rgba(255,255,255,.3);backdrop-filter:blur(8px)}
.btn--ghost:hover{background:rgba(255,255,255,.25)}
.btn--lg{padding:16px 24px}
.content-wrap{padding:42px 0 70px}
.content-wrap .container{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px;align-items:start}
.site-content > * + *{margin-top:24px}
.site-sidebar{position:sticky;top:128px}
.card,.module{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.module{padding:24px}
.article-page{display:flex;flex-direction:column;gap:30px}
.section{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:clamp(24px,4vw,46px)}
.section--alt{background:linear-gradient(180deg,#fafdff 0%,#eef5ff 100%)}
.section h2{font-size:clamp(1.7rem,3vw,2.8rem);letter-spacing:-.04em;line-height:1.08;margin:0 0 14px}
.section h3{font-size:1.15rem;margin:0 0 10px}
.section p.lead{font-size:1.1rem;color:var(--muted);max-width:70ch}
.kicker{font-size:.84rem;letter-spacing:.08em;text-transform:uppercase;font-weight:800;color:var(--primary);margin-bottom:12px}
.grid{display:grid;gap:18px}
.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.feature{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);padding:22px}
.feature__icon{width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,#e8f1ff,#d8edff);display:grid;place-items:center;font-size:1.3rem;margin-bottom:14px}
.feature p{margin:.25rem 0 0;color:var(--muted)}
.price-table{display:grid;gap:10px;margin-top:18px}
.price-row{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;padding:18px 20px;background:#fff;border:1px solid var(--line);border-radius:18px}
.price-row strong{font-size:1.05rem}
.price-row span{font-weight:900;color:var(--primary);white-space:nowrap}
.cta-band{display:flex;justify-content:space-between;align-items:center;gap:20px;background:linear-gradient(135deg,#081121,#0e2747 60%,#0b5cff);color:#fff}
.cta-band p,.cta-band h2{color:#fff}
.faq-item{border-top:1px solid var(--line);padding:18px 0}
.faq-item:first-child{border-top:0;padding-top:0}
.faq-item h3{margin:0 0 8px}
.local-box{display:grid;grid-template-columns:1.2fr .8fr;gap:20px}
.map-card iframe{width:100%;min-height:320px;border:0;border-radius:20px}
.site-footer{padding:0 0 40px}
.footer-card{display:flex;justify-content:space-between;gap:24px;padding:28px 32px;background:linear-gradient(135deg,#0f172a,#13284f);color:#fff;border-radius:28px;box-shadow:var(--shadow)}
.footer-card p,.footer-card a,.footer-card span{color:rgba(255,255,255,.88)}
.footer-card__title{font-weight:900;font-size:1.35rem;margin-bottom:8px}
.footer-card__meta{display:flex;flex-direction:column;gap:10px}
.sticky-phone{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:120;display:none}
.sticky-phone a{display:inline-flex;align-items:center;gap:8px;padding:14px 20px;background:linear-gradient(135deg,var(--primary),#29aaff);color:#fff;border-radius:999px;font-weight:900;box-shadow:0 18px 34px rgba(11,92,255,.34)}
.slider-lite{position:relative;overflow:hidden;border-radius:22px}
.slider-lite__track{display:flex;transition:transform .55s ease}
.slider-lite__slide{min-width:100%;padding:28px;background:linear-gradient(135deg,#0f172a,#123b79 55%,#1aa7ff);color:#fff}
.slider-lite__slide h3{font-size:1.45rem;line-height:1.1;margin:0 0 10px}
.slider-lite__controls{display:flex;gap:10px;margin-top:14px}
.slider-lite__button{width:42px;height:42px;border-radius:999px;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.12);color:#fff;font-weight:800}
.contact-form{display:grid;gap:12px}
.contact-form label{display:grid;gap:8px;font-weight:700}
.contact-form input,.contact-form textarea{width:100%;padding:14px 16px;border-radius:16px;border:1px solid var(--line);background:#fff;font:inherit}
.contact-form textarea{min-height:150px;resize:vertical}
.notice{font-size:.92rem;color:var(--muted)}
.article-page ul{padding-left:1.2rem}
.article-page li+li{margin-top:.35rem}
@media (max-width: 1024px){
  .content-wrap .container{grid-template-columns:1fr}
  .site-sidebar{position:static}
  .grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .local-box{grid-template-columns:1fr}
}
@media (max-width: 720px){
  .topbar__inner,.topbar__actions,.cta-band,.footer-card{flex-direction:column;align-items:flex-start}
  .grid--2,.grid--3,.grid--4{grid-template-columns:1fr}
  .hero-banner{min-height:62vh}
  .hero-banner h1{max-width:11ch}
  .price-row{grid-template-columns:1fr}
  .sticky-phone{display:block}
  .mainnav ul{overflow:auto;flex-wrap:nowrap;padding-bottom:4px}
}
