/* Las Vegas Air Conditioning — site styles
   Palette comes from the logo (navy + ice) with desert sun and heat as accents. */

@font-face{font-family:"Archivo";src:url("../fonts/Archivo-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Archivo";src:url("../fonts/Archivo-SemiBold.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Archivo Wide";src:url("../fonts/ArchivoExpanded-ExtraBold.woff2") format("woff2");font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:"Archivo Semi";src:url("../fonts/ArchivoSemiExpanded-Bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}

:root{
  --night:#111A3B;
  --navy:#263B6B;
  --navy-deep:#1A2850;
  --ice:#D3ECF8;
  --ice-soft:#EAF6FC;
  --frost:#F4F9FC;
  --white:#FFFFFF;
  --ink:#111A3B;
  --ink-soft:#48557A;
  --line:#D5E2EC;
  --sun:#FFC229;
  --sun-deep:#E39D00;
  --heat:#FF6A2B;
  --dusk:#E3356F;
  --tint:#7CC8EE;
  --tint-soft:#E3F3FB;
  --wide:"Archivo Wide","Archivo",system-ui,sans-serif;
  --semi:"Archivo Semi","Archivo",system-ui,sans-serif;
  --body:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif;
  --wrap:1200px;
  --gutter:clamp(18px,4vw,40px);
  --r-card:18px;
  --r-media:30px;
}
.t-ice{--tint:#7CC8EE;--tint-soft:#E3F3FB}
.t-heat{--tint:#FF7A3D;--tint-soft:#FFE9DC}
.t-water{--tint:#17B6C4;--tint-soft:#D9F4F6}
.t-breeze{--tint:#3FC08E;--tint-soft:#DDF6EB}
.t-steel{--tint:#8FA3D9;--tint-soft:#E7ECF8}
.t-sun{--tint:#FFC229;--tint-soft:#FFF3CF}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;background:var(--frost);color:var(--ink);font:400 1.0625rem/1.62 var(--body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit}
h1,h2,h3,h4,p,ul,ol,figure{margin:0}
ul,ol{padding:0}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--heat);outline-offset:3px;border-radius:6px}
.wrap{width:min(100% - 2*var(--gutter),var(--wrap));margin-inline:auto}
.skip{position:absolute;left:12px;top:-60px;background:var(--sun);color:var(--night);padding:10px 16px;border-radius:10px;font-weight:600;z-index:200}
.skip:focus{top:12px}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.ico{width:1.25em;height:1.25em;flex:none;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* ---------- type */
.display{font:800 clamp(2.3rem,5.6vw,4.4rem)/1.02 var(--wide);letter-spacing:-.012em;text-wrap:balance}
.h1{font:800 clamp(2rem,4.3vw,3.35rem)/1.06 var(--wide);letter-spacing:-.01em;text-wrap:balance}
.h2{font:800 clamp(1.6rem,3vw,2.35rem)/1.1 var(--wide);letter-spacing:-.008em;text-wrap:balance}
.h3{font:700 clamp(1.2rem,1.9vw,1.45rem)/1.2 var(--semi);text-wrap:balance}
.lead{font-size:clamp(1.1rem,1.5vw,1.28rem);line-height:1.5;color:var(--ink-soft)}
.on-dark .lead{color:#C9D6EE}

/* ---------- buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;min-height:52px;padding:.7em 1.5em;border:0;border-radius:999px;font:700 1rem/1.1 var(--semi);text-decoration:none;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,background-color .12s ease}
.btn--sun{background:var(--sun);color:var(--night);box-shadow:0 5px 0 var(--sun-deep)}
.btn--sun:hover{transform:translateY(2px);box-shadow:0 3px 0 var(--sun-deep)}
.btn--sun:active{transform:translateY(5px);box-shadow:0 0 0 var(--sun-deep)}
.btn--navy{background:var(--navy);color:#fff;box-shadow:0 5px 0 var(--night)}
.btn--navy:hover{transform:translateY(2px);box-shadow:0 3px 0 var(--night)}
.btn--ghost{background:transparent;color:inherit;box-shadow:inset 0 0 0 2px currentColor}
.btn--ghost:hover{background:rgba(124,200,238,.18)}
.btn--sm{min-height:44px;padding:.55em 1.15em;font-size:.94rem}
.btn-row{display:flex;flex-wrap:wrap;gap:14px 16px;align-items:center}
.textlink{font-weight:600;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px;text-decoration-color:var(--tint)}
.textlink:hover{text-decoration-color:var(--heat)}

/* ---------- top bar + header */
.topbar{background:var(--night);color:#D7E2F5;font-size:.9rem}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:42px}
.topbar__place{display:flex;align-items:center;gap:8px}
.topbar__place .ico{color:var(--sun)}
.topbar__links{display:flex;align-items:center;gap:22px;list-style:none}
.topbar__links a{text-decoration:none}
.topbar__links a:hover{text-decoration:underline}
.topbar__phone{display:flex;align-items:center;gap:8px;font-weight:600;color:#fff}
.topbar__phone .ico{color:var(--sun)}
.header{position:sticky;top:env(safe-area-inset-top,0px);z-index:100;background:#fff;border-bottom:1px solid var(--line)}
.header .wrap{display:flex;align-items:center;gap:22px;min-height:78px}
.logo{flex:none;display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--navy);margin-right:auto}
.logo img{width:50px;height:50px;border-radius:11px}
.logo__name{font:800 .95rem/1.05 var(--wide);text-transform:uppercase;letter-spacing:.01em}
.logo__name span{display:block;white-space:nowrap}
.nav{display:flex;align-items:center}
.nav__list{display:flex;align-items:center;gap:2px;list-style:none}
.nav__item{position:relative}
.nav__btn{display:flex;align-items:center;gap:4px;padding:12px 9px;background:none;border:0;border-radius:10px;font:600 .97rem/1 var(--body);cursor:pointer;color:var(--ink);white-space:nowrap}
.nav__btn .ico{width:15px;height:15px;transition:transform .15s ease}
.nav__btn:hover,.nav__btn[aria-expanded="true"]{background:var(--ice-soft)}
.nav__btn[aria-expanded="true"] .ico{transform:rotate(180deg)}
.nav__panel{position:absolute;top:calc(100% + 14px);left:-14px;display:none;gap:30px;padding:24px 26px;background:#fff;border:1px solid var(--line);border-radius:var(--r-card);box-shadow:0 22px 44px -18px rgba(17,26,59,.35)}
.nav__panel::before{content:"";position:absolute;inset:-16px 0 auto 0;height:16px}
.nav__item--right .nav__panel{left:auto;right:-14px}
.nav__btn[aria-expanded="true"] + .nav__panel{display:flex}
.nav__group{min-width:176px}
.nav__group-title{display:block;margin-bottom:8px;font:700 .95rem/1.2 var(--semi);color:var(--navy)}
.nav__group ul{list-style:none}
.nav__group a{display:block;padding:6px 0;text-decoration:none;font-size:.98rem;color:var(--ink-soft);white-space:nowrap}
.nav__group a:hover,.nav__group a[aria-current="page"]{color:var(--ink);text-decoration:underline;text-decoration-color:var(--sun);text-decoration-thickness:3px;text-underline-offset:5px}
.nav__hub{display:inline-block;margin-top:10px;font-weight:600;font-size:.95rem}
.header__cta{flex:none}
.burger{display:none;align-items:center;gap:8px;min-height:46px;padding:0 14px;background:var(--ice-soft);border:0;border-radius:12px;font-weight:600;cursor:pointer}
.nav__mobile-extra{display:none}

@media (max-width:1279px){
  .topbar__links li:not(:last-child){display:none}
  .burger{display:inline-flex}
  .header .wrap{min-height:68px;gap:12px}
  .header__cta{display:none}
  .nav{position:fixed;inset:0;z-index:150;display:none;flex-direction:column;align-items:stretch;background:#fff;overflow-y:auto;padding:16px var(--gutter) 40px}
  .nav.is-open{display:flex}
  .nav__close{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
  .nav__list{flex-direction:column;align-items:stretch;gap:0}
  .nav__item{border-bottom:1px solid var(--line)}
  .nav__btn{width:100%;justify-content:space-between;padding:18px 4px;font-size:1.1rem;border-radius:0}
  .nav__btn:hover,.nav__btn[aria-expanded="true"]{background:none}
  .nav__panel,.nav__item--right .nav__panel{position:static;flex-direction:column;gap:14px;padding:0 4px 18px;border:0;box-shadow:none;border-radius:0}
  .nav__panel::before{display:none}
  .nav__group a{padding:9px 0;font-size:1.02rem;white-space:normal}
  .nav__mobile-extra{display:flex;flex-direction:column;gap:14px;margin-top:26px}
}
@media (min-width:1280px){
  .nav__close{display:none}
}
@media (max-width:560px){
  .topbar__place span{display:none}
  .topbar .wrap{justify-content:center}
  .logo img{width:42px;height:42px}
  .logo__name{font-size:.8rem}
  .burger span{display:none}
}

/* ---------- home hero */
.hero{position:relative;isolation:isolate;overflow:hidden;background:var(--night);color:#fff;--t:1}
.hero__sky,.hero__cool{position:absolute;inset:0;z-index:-2;pointer-events:none}
.hero__sky{background:
  radial-gradient(60% 75% at 78% 46%,rgba(255,106,43,.9),rgba(227,53,111,.55) 45%,rgba(227,53,111,0) 72%),
  linear-gradient(180deg,#3A1F56 0%,#7A2A5E 55%,#C2473F 100%);
  opacity:calc(1 - var(--t))}
.hero__cool{background:
  radial-gradient(48% 62% at 78% 46%,rgba(124,200,238,.34),rgba(124,200,238,0) 70%),
  linear-gradient(180deg,#111A3B 0%,#172452 100%);
  opacity:var(--t)}
.hero__ridge{position:absolute;left:0;right:0;bottom:-1px;z-index:-1;width:100%;height:clamp(70px,13vw,170px)}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(24px,4vw,64px);align-items:center;padding-block:clamp(40px,5vw,72px) clamp(96px,14vw,196px)}
.hero__copy .lead{max-width:34em;margin-top:22px;color:#E3EAF8}
.hero__copy .btn-row{margin-top:32px}
.hero__facts{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:34px;list-style:none;font-weight:600;font-size:.98rem;color:#E3EAF8}
.hero__facts li{display:flex;align-items:center;gap:8px}
.hero__facts .ico{color:var(--sun)}
.dial{position:relative;justify-self:center;width:min(100%,440px)}
.dial > svg{width:100%;height:auto;overflow:visible}
.dial__tick{stroke:rgba(255,255,255,.2);stroke-width:5;stroke-linecap:round;transition:stroke .2s linear}
.dial__tick.is-on{stroke:var(--c)}
.dial__face-hot{opacity:calc(1 - var(--t))}
.dial__num{font:800 94px/1 var(--wide);fill:#fff;letter-spacing:-.03em}
.dial__unit{font:700 28px/1 var(--semi);fill:#fff;letter-spacing:0}
.dial__label{font:600 19px/1 var(--body);fill:#C9D6EE}
.dial__chips{display:flex;justify-content:center;gap:10px;margin:6px -60px 0;flex-wrap:wrap}
.dial__chip{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;font-weight:600;font-size:.95rem;background:rgba(255,255,255,.1);color:#fff}
.dial__chip--out .ico{color:var(--sun)}
.dial__chip--in{background:var(--ice);color:var(--night)}
@media (max-width:860px){
  .hero .wrap{grid-template-columns:1fr}
  .dial{width:min(74%,320px);order:-1}
  .dial__chip{padding:8px 13px;font-size:.9rem}
}

/* ---------- sections */
.section{padding-block:clamp(56px,8vw,104px)}
.section--white{background:#fff}
.section--ice{background:var(--ice-soft)}
.section--night{background:var(--night);color:#fff}
.section__head{max-width:46rem;margin-bottom:clamp(28px,4vw,48px)}
.section__head .lead{margin-top:14px}
.prose > * + *{margin-top:1.05em}
.prose p,.prose li{max-width:68ch}
.prose ul,.prose ol{padding-left:0;list-style:none;display:grid;gap:.6em}
.prose ul li{position:relative;padding-left:1.9em}
.prose ul li::before{content:"";position:absolute;left:0;top:.34em;width:1.05em;height:1.05em;border-radius:50%;background:var(--tint-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111A3B' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/70% no-repeat;box-shadow:inset 0 0 0 1.5px var(--tint)}
.prose ol{counter-reset:n}
.prose ol li{counter-increment:n;position:relative;padding-left:2.1em}
.prose ol li::before{content:counter(n);position:absolute;left:0;top:.1em;width:1.5em;height:1.5em;border-radius:50%;background:var(--navy);color:#fff;font:700 .8em/1.5em var(--semi);text-align:center}
.prose h3{font:700 1.25rem/1.25 var(--semi);margin-top:1.6em}
.prose a{font-weight:600;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px;text-decoration-color:var(--tint)}
.prose a:hover{text-decoration-color:var(--heat)}
.prose strong{font-weight:600}
.on-dark .prose p{color:#D7E2F5}

/* quick tiles */
.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.tile{display:flex;flex-direction:column;gap:12px;padding:24px;border-radius:var(--r-card);background:var(--tint-soft);text-decoration:none;color:var(--ink);border:2px solid transparent;transition:border-color .15s ease,transform .15s ease}
.tile:hover{border-color:var(--tint);transform:translateY(-3px)}
.tile__icon{display:grid;place-items:center;width:54px;height:54px;border-radius:15px;background:#fff;color:var(--navy)}
.tile__icon .ico{width:28px;height:28px}
.tile__title{font:700 1.22rem/1.15 var(--semi)}
.tile__text{color:var(--ink-soft);font-size:.98rem;line-height:1.45}
.tiles-band{position:relative;z-index:2;padding-top:6px}
@media (max-width:900px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:460px){.tiles{gap:12px}.tile{padding:18px}.tile__title{font-size:1.05rem}}

/* split feature */
.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,5vw,72px);align-items:center}
.split--intro{align-items:start}
.split__media{position:relative}
.split__media img{width:100%;aspect-ratio:5/4;object-fit:cover;border-radius:var(--r-media) var(--r-media) var(--r-media) 6px}
.split__media::before{content:"";position:absolute;z-index:-1;inset:auto auto -18px -18px;width:46%;height:52%;border-radius:22px;background:var(--tint)}
.split__media{isolation:isolate}
.split--flip .split__media{order:2}
.split--flip .split__media img{border-radius:var(--r-media) var(--r-media) 6px var(--r-media)}
.split--flip .split__media::before{inset:auto -18px -18px auto}
.split__body > * + *{margin-top:18px}
.split__body .btn-row{margin-top:28px}
.sticker{position:absolute;left:22px;top:-18px;padding:10px 16px;border-radius:999px;background:var(--sun);color:var(--night);font:700 .95rem/1.1 var(--semi);transform:rotate(4deg);box-shadow:0 4px 0 var(--sun-deep)}
.sticker{transform:rotate(-3deg)}
@media (max-width:860px){
  .split{grid-template-columns:1fr}
  .split--flip .split__media{order:0}
  .split__media::before{inset:auto auto -12px -10px}
  .split--flip .split__media::before{inset:auto -10px -12px auto}
}
.linklist{list-style:none;display:grid;gap:10px}
.linklist a{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;background:#fff;border:1.5px solid var(--line);text-decoration:none;font-weight:600}
.linklist a:hover{border-color:var(--tint);background:var(--tint-soft)}
.linklist .ico{color:var(--navy)}
.section--ice .linklist a{border-color:transparent}

/* chips */
.chips{display:flex;flex-wrap:wrap;gap:10px;list-style:none}
.chip{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;color:var(--ink);background:#fff;border:1.5px solid var(--line);font-weight:600;font-size:.97rem;text-decoration:none}
a.chip:hover{border-color:var(--tint);background:var(--tint-soft)}
.chip .ico{width:17px;height:17px;color:var(--navy)}
.section--night .chip{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:#fff}
.section--night a.chip:hover{background:rgba(255,255,255,.16);border-color:var(--sun)}
.section--night .chip .ico{color:var(--sun)}

/* trusted band */
.trust{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,5vw,72px);align-items:start}
.trust__cta{margin-top:30px;padding:24px 26px;border-radius:var(--r-card);background:rgba(255,255,255,.07);border:1.5px solid rgba(255,255,255,.16)}
.trust__cta p{font-weight:600;font-size:1.1rem;color:#fff;margin-bottom:18px}
@media (max-width:860px){.trust{grid-template-columns:1fr}}

/* area strip */
.area{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,4vw,56px);align-items:center}
@media (max-width:860px){.area{grid-template-columns:1fr}}

/* ---------- page hero (inner pages) */
.phero{position:relative;isolation:isolate;overflow:hidden;background:var(--night);color:#fff}
.phero::before{content:"";position:absolute;z-index:-1;right:-8%;top:-40%;width:min(62vw,720px);aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,var(--tint),transparent 72%);opacity:.38}
.phero .wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(24px,4vw,56px);align-items:center;padding-block:clamp(34px,5vw,60px) clamp(40px,6vw,72px)}
.phero--plain .wrap{grid-template-columns:minmax(0,1fr)}
.crumbs{display:flex;flex-wrap:wrap;gap:6px 10px;list-style:none;margin-bottom:18px;font-size:.93rem;color:#B9C8E6}
.crumbs li + li::before{content:"/";margin-right:10px;color:rgba(255,255,255,.35)}
.crumbs a{text-decoration:none}
.crumbs a:hover{text-decoration:underline}
.phero__lead{margin-top:16px;max-width:40em;color:#D7E2F5;font-size:1.12rem}
.phero .btn-row{margin-top:28px}
.phero__icon{display:grid;place-items:center;width:clamp(120px,15vw,190px);aspect-ratio:1;border-radius:36% 64% 58% 42%/46% 40% 60% 54%;background:var(--tint);color:var(--night)}
.phero__icon .ico{width:46%;height:46%;stroke-width:1.6}
@media (max-width:760px){.phero .wrap{grid-template-columns:1fr}.phero__icon{display:none}}

/* coupon ticket */
.ticket{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:stretch;max-width:560px;margin-top:28px;border-radius:16px;background:var(--sun);color:var(--night);
  -webkit-mask:radial-gradient(circle 11px at 74px 0,#0000 98%,#000) top/100% 51% no-repeat,radial-gradient(circle 11px at 74px 100%,#0000 98%,#000) bottom/100% 51% no-repeat;
  mask:radial-gradient(circle 11px at 74px 0,#0000 98%,#000) top/100% 51% no-repeat,radial-gradient(circle 11px at 74px 100%,#0000 98%,#000) bottom/100% 51% no-repeat}
.ticket__stub{display:grid;place-items:center;width:74px;border-right:2.5px dashed rgba(17,26,59,.45)}
.ticket__stub .ico{width:30px;height:30px}
.ticket__body{padding:16px 22px 17px}
.ticket__title{font:800 clamp(1.15rem,2.2vw,1.5rem)/1.12 var(--wide)}
.ticket__sub{margin-top:5px;font-weight:600;font-size:.98rem}
.ticket__sub a{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:2px}
.ticket--light{background:#fff;border:0}

/* ---------- service article */
.article{display:grid;grid-template-columns:minmax(0,1fr) 292px;gap:clamp(28px,4.4vw,60px);align-items:start}
.article__main > * + *{margin-top:clamp(40px,6vw,68px)}
.block__title{margin-bottom:18px;font:800 clamp(1.35rem,2.3vw,1.8rem)/1.14 var(--wide);letter-spacing:-.006em;text-wrap:balance}
.block--media{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.6fr);gap:clamp(22px,3.4vw,40px);align-items:start}
.block--media:nth-of-type(even){grid-template-columns:minmax(0,.6fr) minmax(0,1fr)}
.block--media:nth-of-type(even) .block__fig{order:-1}
.block__fig{position:relative;isolation:isolate}
.block__fig img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:24px 24px 24px 6px}
.block__fig::after{content:"";position:absolute;z-index:-1;right:-12px;bottom:-12px;width:55%;height:55%;border-radius:20px;background:var(--tint-soft);border:2px solid var(--tint)}
.aside{position:sticky;top:104px;display:grid;gap:18px}
.callcard{padding:24px;border-radius:var(--r-card);background:var(--night);color:#fff}
.callcard__title{font:700 1.2rem/1.2 var(--semi)}
.callcard__phone{display:block;margin:10px 0 4px;font:800 1.55rem/1.1 var(--wide);text-decoration:none;color:var(--sun)}
.callcard__note{font-size:.95rem;color:#C9D6EE}
.callcard .btn{width:100%;margin-top:18px}
.sidenav{padding:22px 24px;border-radius:var(--r-card);background:#fff;border:1.5px solid var(--line)}
.sidenav__title{font:700 1.02rem/1.2 var(--semi);margin-bottom:10px}
.sidenav ul{list-style:none}
.sidenav a{display:flex;align-items:center;gap:10px;padding:8px 0;text-decoration:none;color:var(--ink-soft);font-weight:600;font-size:.98rem}
.sidenav a .ico{width:18px;height:18px;color:var(--navy)}
.sidenav a:hover{color:var(--ink)}
.sidenav a[aria-current="page"]{color:var(--ink)}
.sidenav a[aria-current="page"]::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--tint);margin-left:auto;box-shadow:0 0 0 3px var(--tint-soft)}
@media (max-width:980px){
  .article{grid-template-columns:1fr}
  .aside{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:680px){
  .block--media,.block--media:nth-of-type(even){grid-template-columns:1fr}
  .block--media:nth-of-type(even) .block__fig{order:0}
  .block__fig{max-width:460px}
  .aside{grid-template-columns:1fr}
}

/* FAQ */
.faqwrap{display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1.38fr);gap:clamp(24px,4vw,64px);align-items:start}
.faqwrap__head{position:sticky;top:110px}
.faqwrap__head p{margin-top:14px;color:var(--ink-soft)}
@media (max-width:860px){.faqwrap{grid-template-columns:1fr}.faqwrap__head{position:static}}
.faq{display:grid;gap:12px;max-width:860px}
.faq details{border-radius:16px;background:#fff;border:1.5px solid var(--line)}
.faq details[open]{border-color:var(--tint)}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 22px;cursor:pointer;list-style:none;font:700 1.08rem/1.3 var(--semi)}
.faq summary::-webkit-details-marker{display:none}
.faq summary .ico{flex:none;width:22px;height:22px;padding:3px;border-radius:50%;background:var(--tint-soft);transition:transform .2s ease}
.faq details[open] summary .ico{transform:rotate(180deg)}
.faq__a{padding:0 22px 22px}

/* cards grid (hubs) */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.card{display:flex;flex-direction:column;gap:10px;padding:22px;border-radius:var(--r-card);background:#fff;border:1.5px solid var(--line);text-decoration:none;transition:border-color .15s ease,transform .15s ease}
.card:hover{border-color:var(--tint);transform:translateY(-3px)}
.card__icon{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:var(--tint-soft);color:var(--navy)}
.card__icon .ico{width:24px;height:24px}
.card__title{font:700 1.14rem/1.2 var(--semi)}
.card__text{color:var(--ink-soft);font-size:.96rem;line-height:1.45}
.group + .group{margin-top:clamp(40px,5vw,60px)}
.group__title{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.group__title::after{content:"";flex:1;height:2px;background:var(--line)}

/* coupons (specials) */
.coupons{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:26px}
.coupon{position:relative;display:flex;flex-direction:column;padding:30px 30px 28px;border-radius:22px;background:#fff;border:2.5px dashed var(--navy)}
.coupon__price{font:800 clamp(1.5rem,3vw,2.1rem)/1.08 var(--wide);color:var(--navy)}
.coupon__text{margin-top:10px;font-weight:600;font-size:1.08rem}
.coupon__exp{display:inline-block;align-self:flex-start;margin-top:16px;padding:6px 12px;border-radius:999px;background:var(--sun);font:700 .9rem/1.2 var(--semi)}
.coupon__small{margin-top:16px;font-size:.9rem;line-height:1.5;color:var(--ink-soft)}
.coupon .btn{align-self:flex-start;margin-top:22px}
.coupon--big{text-align:center;align-items:center;max-width:720px;margin-inline:auto;background:var(--sun);border-color:var(--night)}
.coupon--big .coupon__price{font-size:clamp(2.6rem,8vw,4.6rem);color:var(--night)}

/* plan lists */
.plan{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.plan__card{padding:28px;border-radius:var(--r-card);background:#fff;border:1.5px solid var(--line)}
.plan__card--feature{background:var(--night);color:#fff;border-color:var(--night)}
.plan__card--feature .prose ul li::before{background-color:var(--sun);box-shadow:none}
.plan__card .h3{margin-bottom:16px}
@media (max-width:760px){.plan{grid-template-columns:1fr}}

/* gallery */
.gallery{columns:3 260px;column-gap:16px}
.gallery img{width:100%;margin-bottom:16px;border-radius:18px;break-inside:avoid}

/* service area map */
.areamap{position:relative;border-radius:var(--r-media);background:var(--night);padding:clamp(14px,2.5vw,26px)}
.areamap svg{width:100%;height:auto}
.areamap text{font:600 15px var(--body);fill:#fff}
.areamap .dot{fill:var(--sun)}
.areamap .dot--home{fill:var(--heat)}
.areamap .ring{fill:none;stroke:rgba(124,200,238,.32);stroke-width:1.5;stroke-dasharray:3 7}

/* team */
.person{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(20px,3vw,36px);align-items:start;max-width:820px;padding:clamp(22px,3vw,36px);border-radius:var(--r-card);background:#fff;border:1.5px solid var(--line)}
.person__avatar{display:grid;place-items:center;width:96px;height:96px;border-radius:34% 66% 58% 42%/46% 40% 60% 54%;background:var(--ice);color:var(--navy);font:800 1.7rem/1 var(--wide)}
.person__role{margin:4px 0 14px;font-weight:600;color:var(--ink-soft)}
@media (max-width:560px){.person{grid-template-columns:1fr}}

/* empty state */
.empty{max-width:640px;padding:clamp(28px,4vw,44px);border-radius:var(--r-card);background:#fff;border:1.5px dashed var(--tint)}
.empty .ico{width:40px;height:40px;color:var(--navy);margin-bottom:14px}
.empty p{margin-top:10px;color:var(--ink-soft)}
.empty .btn-row{margin-top:22px}

/* logos */
.logos{display:flex;flex-wrap:wrap;gap:18px}
.logos__item{display:grid;place-items:center;min-width:220px;min-height:120px;padding:26px 34px;border-radius:var(--r-card);background:#fff;border:1.5px solid var(--line)}

/* banner image */
.banner img{width:100%;border-radius:var(--r-media);object-fit:cover}
.docimg{width:min(100%,760px);border-radius:18px;border:1.5px solid var(--line);background:#fff}

/* ---------- contact / forms */
.contact{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(28px,5vw,72px);align-items:start}
.contact .lead{margin-top:14px}
.contact__phone{display:inline-block;margin-top:22px;font:800 clamp(1.9rem,4vw,2.9rem)/1.05 var(--wide);color:var(--sun);text-decoration:none}
.contact__phone:hover{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:6px}
.contact__list{list-style:none;display:grid;gap:14px;margin-top:26px;color:#D7E2F5}
.contact__list li{display:flex;gap:12px;align-items:flex-start}
.contact__list .ico{margin-top:3px;color:var(--sun)}
.contact__list a{text-decoration:underline;text-underline-offset:3px}
@media (max-width:900px){.contact{grid-template-columns:1fr}}
.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px;padding:clamp(22px,3.4vw,36px);border-radius:24px;background:#fff;color:var(--ink)}
.form--flat{border:1.5px solid var(--line)}
.field{display:grid;gap:6px;align-content:start}
.field--full{grid-column:1/-1}
.field label,.field legend{font-weight:600;font-size:.96rem}
.field .req{color:var(--heat)}
.field input,.field select,.field textarea{width:100%;min-height:50px;padding:11px 14px;border:1.5px solid #B9C7D6;border-radius:12px;background:#fff;font-size:1rem}
.field textarea{min-height:120px;resize:vertical}
.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--navy)}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:3px solid var(--tint);outline-offset:1px;border-color:var(--navy)}
.field input[type=file]{padding:10px;min-height:0}
fieldset.field{border:0;padding:0;margin:0;min-width:0}
.radios{display:flex;flex-wrap:wrap;gap:8px 10px;margin-top:4px}
.radios label{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border:1.5px solid #B9C7D6;border-radius:999px;font-weight:400;cursor:pointer}
.radios input{width:18px;height:18px;min-height:0;padding:0;accent-color:var(--navy)}
.radios label:has(input:checked){border-color:var(--navy);background:var(--ice-soft);font-weight:600}
.form__foot{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;margin-top:6px}
.form__note{font-size:.92rem;color:var(--ink-soft)}
.form__status{grid-column:1/-1;padding:14px 16px;border-radius:12px;font-weight:600}
.form__status[hidden]{display:none}
.form__status--ok{background:#DDF6EB;color:#0E4D34}
.form__status--err{background:#FFE4DB;color:#8A2504}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
@media (max-width:620px){.form{grid-template-columns:1fr}}

/* ---------- footer */
.footer{background:#0B1230;color:#C9D6EE}
.footer__top{display:grid;grid-template-columns:1.25fr repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,56px);padding-block:clamp(44px,6vw,72px)}
.footer__brand .logo{color:#fff;margin-bottom:18px}
.footer__brand .logo img{box-shadow:0 0 0 1.5px rgba(211,236,248,.5)}
.footer__brand p + p{margin-top:8px}
.footer__brand p a{text-decoration:underline;text-underline-offset:3px}
.footer__brand .footer__phone{display:inline-block;margin-top:14px;font:800 1.45rem/1.1 var(--wide);color:var(--sun);text-decoration:none}
.footer__title{margin-bottom:12px;font:700 1rem/1.2 var(--semi);color:#fff}
.footer ul{list-style:none;display:grid;gap:8px}
.footer li a{text-decoration:none}
.footer li a:hover{color:#fff;text-decoration:underline}
.footer__dealer{display:inline-grid;place-items:center;margin-top:22px;padding:10px 14px;border-radius:12px;background:#fff}
.footer__bottom{border-top:1px solid rgba(255,255,255,.13);padding-block:20px;font-size:.92rem}
.footer__bottom .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px}
@media (max-width:900px){.footer__top{grid-template-columns:repeat(2,minmax(0,1fr))}.footer__brand{grid-column:1/-1}}
@media (max-width:480px){.footer__top{grid-template-columns:1fr}}

/* mobile call bar */
.callbar{display:none}
@media (max-width:760px){
  .callbar{position:fixed;left:0;right:0;bottom:0;z-index:90;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(11,18,48,.96)}
  .callbar .btn{min-height:48px;box-shadow:none;font-size:.95rem;padding-inline:.6em}
  .callbar .btn--ghost{color:#fff}
  .footer__bottom{padding-bottom:calc(88px + env(safe-area-inset-bottom))}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none !important;animation:none !important}
}
@media print{.topbar,.header,.callbar,.footer,.aside{display:none}}
