/* ============================================================================
   A.R.C.C. Mechanical — home.css
   Deep, bespoke homepage craft on top of styles.css tokens.
   "Engineered Climate" — hot (orange) ↔ cold (blue) thermal duality + gold precision.
   ========================================================================== */

/* ---- extra tokens local to the homepage craft ---- */
:root{
  --heat-grad: linear-gradient(135deg,#F4A14C,#E87A2C 55%,#C85A1E);
  --cool-grad: linear-gradient(135deg,#4DA3E0,#2B6CB0 55%,#1E4E86);
  --gold-grad: linear-gradient(135deg,#EBC97A,#D4A23A 55%,#A87A20);
  --duo-grad: linear-gradient(100deg,#E87A2C 0%,#E87A2C 42%,#2B6CB0 58%,#2B6CB0 100%);
  --panel: color-mix(in srgb,var(--surface) 88%,#000 12%);
  --panel-2: color-mix(in srgb,var(--surface) 70%,#000 30%);
  --hair: color-mix(in srgb,var(--accent) 38%,transparent);
  --section-pad: clamp(72px,10vw,140px);
}

/* ====== utility / shared homepage scaffolding ====== */
.section-head{max-width:760px;margin:0 auto clamp(40px,5vw,68px);text-align:center}
.section-head.left{text-align:left;margin-inline:0}
.section-head h2{margin:0 0 .35em}
.section-head .lede{margin:0 auto;max-width:60ch}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-head);font-size:.74rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--steel);margin-bottom:20px}
.eyebrow::before{content:"";width:26px;height:1px;background:var(--hair)}
.eyebrow.heat{color:var(--heatGlow)}.eyebrow.cool{color:var(--coolGlow)}
.eyebrow.center{justify-content:center}.eyebrow.center::after{content:"";width:26px;height:1px;background:var(--hair)}
.text-grad-heat{background:var(--heat-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.text-grad-cool{background:var(--cool-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.text-grad-gold{background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.divider-stat{display:flex;align-items:center;gap:14px;color:var(--steel);font-size:.82rem;letter-spacing:.12em;text-transform:uppercase}
.divider-stat::before,.divider-stat::after{content:"";height:1px;flex:1;background:var(--border)}

/* watermark wordmark behind sections */
.watermark{position:absolute;font-family:var(--font-head);font-weight:800;letter-spacing:-.04em;color:#fff;opacity:.018;font-size:clamp(8rem,26vw,22rem);line-height:.8;pointer-events:none;user-select:none;white-space:nowrap;z-index:0}

/* ====== HEADER brand logo ====== */
.brand{display:inline-flex;align-items:center;gap:12px}
.brand img{height:42px;width:auto}
.brand .brand__txt{display:flex;flex-direction:column;line-height:1}
.brand .brand__name{font-family:var(--font-head);font-weight:800;font-size:1.05rem;letter-spacing:.02em}
.brand .brand__sub{font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:var(--steel);font-weight:600;margin-top:3px}
.header-cta{display:flex;align-items:center;gap:14px}
.header-phone{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-head);font-weight:600;color:var(--foreground);font-size:.95rem}
.header-phone svg{width:16px;height:16px;color:var(--heatGlow)}
.header-phone:hover{color:var(--heatGlow)}
@media (max-width:880px){.header-phone .header-phone__txt{display:none}}
.nav-desktop .btn{padding:10px 20px}

/* ====== HERO ====== */
.hero{min-height:100vh;padding-top:90px}
.hero__poster{background:
  radial-gradient(90% 80% at 78% 20%,color-mix(in srgb,var(--heat) 30%,transparent),transparent 60%),
  radial-gradient(80% 80% at 12% 85%,color-mix(in srgb,var(--cool) 30%,transparent),transparent 60%),
  var(--background)}
#hero-gl{opacity:.92}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 40%,color-mix(in srgb,var(--background) 92%,transparent) 88%,var(--background))}
.hero__content{max-width:920px}
.hero .kicker{color:var(--gold)}
.hero__locrow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:22px;font-family:var(--font-head);font-size:.78rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase}
.hero__locrow .heat-dot{width:9px;height:9px;border-radius:50%;background:var(--heat);box-shadow:0 0 14px var(--heatGlow)}
.hero__locrow .cool-dot{width:9px;height:9px;border-radius:50%;background:var(--cool);box-shadow:0 0 14px var(--coolGlow)}
.hero__locrow .sep{color:var(--border)}
.hero h1{font-size:clamp(2.7rem,7vw,5.2rem);font-weight:800;margin-bottom:.3em}
.hero h1 .duo{background:var(--duo-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero .lede{max-width:60ch;font-size:clamp(1.1rem,1.7vw,1.35rem)}
.hero__cta{display:flex;gap:16px;flex-wrap:wrap;margin-top:34px}
.hero__cta .btn{padding:16px 30px}
.btn--call{background:transparent;border-color:var(--border);color:var(--foreground)}
.btn--call:hover{border-color:var(--heatGlow);color:var(--heatGlow)}
.btn svg{width:18px;height:18px}
/* hero trust chips */
.hero__trust{display:flex;gap:14px;flex-wrap:wrap;margin-top:42px}
.trust-chip{display:inline-flex;align-items:center;gap:10px;background:color-mix(in srgb,var(--surface) 70%,transparent);border:1px solid var(--border);border-radius:var(--radius-pill);padding:9px 16px;font-size:.85rem;backdrop-filter:blur(6px)}
.trust-chip svg{width:16px;height:16px;color:var(--gold)}
.trust-chip strong{font-family:var(--font-head);font-weight:700}
.trust-chip .stars{color:var(--heatGlow);letter-spacing:1px}
/* scroll cue */
.scroll-cue{position:absolute;left:50%;bottom:26px;translate:-50% 0;z-index:3;display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--steel);font-size:.66rem;letter-spacing:.24em;text-transform:uppercase}
.scroll-cue .mouse{width:22px;height:36px;border:1.5px solid var(--border);border-radius:12px;position:relative}
.scroll-cue .mouse::after{content:"";position:absolute;left:50%;top:7px;translate:-50% 0;width:3px;height:7px;border-radius:2px;background:var(--gold);animation:cue 1.7s var(--ease-premium) infinite}
@keyframes cue{0%{opacity:0;transform:translate(-50%,0)}30%{opacity:1}60%{opacity:1;transform:translate(-50%,9px)}100%{opacity:0;transform:translate(-50%,12px)}}
@media (prefers-reduced-motion:reduce){.scroll-cue .mouse::after{animation:none}}
@media (max-width:880px){.scroll-cue{display:none}}

/* ====== MARQUEE trust strip ====== */
.marquee{border-block:1px solid var(--border);background:var(--panel-2);overflow:hidden;padding:0}
.marquee__track{display:flex;gap:0;width:max-content;animation:marquee 40s linear infinite}
.marquee:hover .marquee__track{animation-play-state:paused}
@keyframes marquee{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.marquee__track{animation:none;flex-wrap:wrap;width:auto;justify-content:center}}
.marquee__item{display:inline-flex;align-items:center;gap:14px;padding:22px 38px;font-family:var(--font-head);font-weight:600;font-size:1.05rem;color:var(--steel);white-space:nowrap}
.marquee__item svg{width:20px;height:20px;color:var(--gold);opacity:.9}
.marquee__item .dot{width:5px;height:5px;border-radius:50%;background:var(--accent);opacity:.5}

/* ====== SERVICES bento ====== */
.services{position:relative;overflow:hidden}
.services .container{position:relative;z-index:1}
.bento{display:grid;grid-template-columns:repeat(12,1fr);gap:18px;margin-top:8px}
.svc{grid-column:span 4;position:relative;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:28px;overflow:hidden;transition:transform .4s var(--ease-premium),border-color .4s,background .4s;min-height:210px}
.svc::before{content:"";position:absolute;inset:0;background:radial-gradient(120% 90% at 100% 0%,color-mix(in srgb,var(--tint,var(--accent)) 16%,transparent),transparent 60%);opacity:0;transition:opacity .4s}
.svc:hover{transform:translateY(-6px);border-color:color-mix(in srgb,var(--tint,var(--accent)) 55%,var(--border))}
.svc:hover::before{opacity:1}
.svc--heat{--tint:var(--heat)} .svc--cool{--tint:var(--cool)} .svc--gold{--tint:var(--gold)}
.svc__ico{width:50px;height:50px;border-radius:13px;display:grid;place-items:center;background:color-mix(in srgb,var(--tint,var(--accent)) 14%,var(--surface));border:1px solid color-mix(in srgb,var(--tint,var(--accent)) 35%,var(--border));margin-bottom:18px;flex:none}
.svc__ico svg{width:26px;height:26px;color:var(--tint,var(--accent))}
.svc h3{font-size:1.18rem;margin-bottom:.35em}
.svc p{font-size:.92rem;color:color-mix(in srgb,var(--foreground) 78%,transparent);margin-bottom:1em;flex:1}
.svc__link{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-head);font-weight:600;font-size:.85rem;color:var(--tint,var(--accent));margin-top:auto}
.svc__link svg{width:15px;height:15px;transition:transform .3s}
.svc:hover .svc__link svg{transform:translateX(5px)}
.svc--wide{grid-column:span 8}
.svc--feature{grid-column:span 4;grid-row:span 2;justify-content:space-between;background:
  linear-gradient(160deg,color-mix(in srgb,var(--heat) 12%,var(--surface)),color-mix(in srgb,var(--cool) 12%,var(--surface)))}
@media (max-width:980px){.svc{grid-column:span 6}.svc--wide,.svc--feature{grid-column:span 6}.svc--feature{grid-row:auto}}
@media (max-width:620px){.svc,.svc--wide,.svc--feature{grid-column:span 12}}

/* ====== COMFORT CONSOLE (signature) ====== */
.console{position:relative;overflow:hidden;transition:background .8s var(--ease-premium)}
.console[data-mode="heat"]{background:linear-gradient(180deg,var(--background),color-mix(in srgb,var(--heat) 9%,var(--background)))}
.console[data-mode="cool"]{background:linear-gradient(180deg,var(--background),color-mix(in srgb,var(--cool) 9%,var(--background)))}
.console .container{position:relative;z-index:2}
.console__glow{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.6;transition:background .8s var(--ease-premium)}
.console[data-mode="heat"] .console__glow{background:radial-gradient(60% 60% at 50% 0%,color-mix(in srgb,var(--heatGlow) 22%,transparent),transparent 70%)}
.console[data-mode="cool"] .console__glow{background:radial-gradient(60% 60% at 50% 0%,color-mix(in srgb,var(--coolGlow) 22%,transparent),transparent 70%)}
.console__panel{max-width:1000px;margin:0 auto;background:color-mix(in srgb,var(--surface) 80%,transparent);border:1px solid var(--border);border-radius:calc(var(--radius) + 6px);backdrop-filter:blur(10px);overflow:hidden;box-shadow:var(--shadow)}
.console__top{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 26px;border-bottom:1px solid var(--border);background:var(--panel-2)}
.console__dots{display:flex;gap:7px}
.console__dots i{width:11px;height:11px;border-radius:50%;background:var(--border)}
.console__dots i:nth-child(1){background:color-mix(in srgb,var(--heat) 70%,var(--border))}
.console__dots i:nth-child(2){background:color-mix(in srgb,var(--gold) 60%,var(--border))}
.console__dots i:nth-child(3){background:color-mix(in srgb,var(--cool) 70%,var(--border))}
.console__label{font-family:var(--font-head);font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--steel)}
/* the hot/cold toggle */
.thermo{display:inline-flex;align-items:center;background:var(--background);border:1px solid var(--border);border-radius:var(--radius-pill);padding:5px;gap:4px;position:relative}
.thermo__btn{position:relative;z-index:2;display:inline-flex;align-items:center;gap:8px;border:0;background:transparent;color:var(--steel);font-family:var(--font-head);font-weight:600;font-size:.86rem;padding:9px 18px;border-radius:var(--radius-pill);cursor:pointer;transition:color .4s}
.thermo__btn svg{width:16px;height:16px}
.thermo__btn[aria-pressed="true"]{color:#fff}
.thermo__pill{position:absolute;z-index:1;top:5px;bottom:5px;left:5px;width:calc(50% - 5px);border-radius:var(--radius-pill);transition:transform .5s var(--ease-premium),background .5s}
.console[data-mode="heat"] .thermo__pill{transform:translateX(0);background:var(--heat-grad)}
.console[data-mode="cool"] .thermo__pill{transform:translateX(100%);background:var(--cool-grad)}
.console__body{display:grid;grid-template-columns:1.1fr .9fr;gap:0}
@media (max-width:860px){.console__body{grid-template-columns:1fr}}
.console__main{padding:34px 32px}
.console__season{font-family:var(--font-head);font-weight:800;font-size:clamp(1.6rem,3vw,2.3rem);line-height:1.05;margin-bottom:.3em;transition:color .5s}
.console[data-mode="heat"] .console__season{color:var(--heatGlow)}
.console[data-mode="cool"] .console__season{color:var(--coolGlow)}
.console__desc{color:color-mix(in srgb,var(--foreground) 82%,transparent);max-width:46ch;margin-bottom:24px;min-height:3.4em}
.console__svcs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:26px}
.console__svcs a{display:inline-flex;align-items:center;gap:8px;background:var(--background);border:1px solid var(--border);border-radius:var(--radius-pill);padding:8px 15px;font-size:.85rem;color:var(--foreground);transition:border-color .3s,transform .3s}
.console__svcs a svg{width:14px;height:14px;color:currentColor}
.console[data-mode="heat"] .console__svcs a:hover{border-color:var(--heatGlow);color:var(--heatGlow);transform:translateY(-2px)}
.console[data-mode="cool"] .console__svcs a:hover{border-color:var(--coolGlow);color:var(--coolGlow);transform:translateY(-2px)}
.console__readout{padding:34px 32px;border-left:1px solid var(--border);background:var(--panel);display:flex;flex-direction:column;justify-content:center;gap:22px}
@media (max-width:860px){.console__readout{border-left:0;border-top:1px solid var(--border)}}
.gauge{display:flex;align-items:center;gap:18px}
.gauge__dial{position:relative;width:74px;height:74px;flex:none}
.gauge__num{font-family:var(--font-head);font-weight:800;font-size:1.7rem;line-height:1}
.gauge__meta .k{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--steel)}
.gauge__meta .v{font-family:var(--font-head);font-weight:600;font-size:1.02rem}
.console__metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.metric{padding:14px 0;border-top:1px solid var(--border)}
.metric .n{font-family:var(--font-head);font-weight:800;font-size:clamp(1.5rem,3vw,2rem);line-height:1}
.console[data-mode="heat"] .metric .n{color:var(--heatGlow)}
.console[data-mode="cool"] .metric .n{color:var(--coolGlow)}
.metric .l{font-size:.78rem;color:var(--steel);margin-top:4px}

/* ====== WHY US / credentials ====== */
.why{position:relative;overflow:hidden}
.why__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,5vw,72px);align-items:center}
@media (max-width:900px){.why__grid{grid-template-columns:1fr}}
.why__media{position:relative;border-radius:calc(var(--radius) + 4px);overflow:hidden;border:1px solid var(--border);aspect-ratio:4/5}
.why__media img{width:100%;height:100%;object-fit:cover}
.why__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,color-mix(in srgb,var(--background) 80%,transparent))}
.why__badge{position:absolute;z-index:2;left:20px;bottom:20px;display:flex;align-items:center;gap:14px;background:color-mix(in srgb,var(--surface) 85%,transparent);backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:var(--radius);padding:16px 20px}
.why__badge .seal{width:46px;height:46px;flex:none}
.why__badge .t{font-family:var(--font-head);font-weight:800;font-size:1.4rem;line-height:1}
.why__badge .s{font-size:.74rem;color:var(--steel)}
.cred-list{display:grid;gap:14px;margin-top:30px}
.cred{display:flex;gap:16px;align-items:flex-start;padding:18px 20px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);transition:border-color .35s,transform .35s}
.cred:hover{transform:translateX(5px);border-color:var(--hair)}
.cred__ico{width:42px;height:42px;border-radius:11px;flex:none;display:grid;place-items:center;background:color-mix(in srgb,var(--gold) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--gold) 30%,var(--border))}
.cred__ico svg{width:22px;height:22px;color:var(--gold)}
.cred h4{font-family:var(--font-head);font-size:1.02rem;margin:0 0 3px}
.cred p{margin:0;font-size:.9rem;color:var(--steel)}

/* ====== PROCESS timeline ====== */
.process{position:relative}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:14px;counter-reset:step}
@media (max-width:900px){.steps{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}
.step{position:relative;padding:30px 24px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
.step__n{font-family:var(--font-head);font-weight:800;font-size:3.2rem;line-height:1;color:transparent;-webkit-text-stroke:1.5px color-mix(in srgb,var(--accent) 55%,var(--border));margin-bottom:14px}
.step h4{font-size:1.1rem;margin:0 0 .4em}
.step p{font-size:.9rem;color:var(--steel);margin:0}
.step__ico{position:absolute;right:18px;top:24px;width:24px;height:24px;color:var(--accent);opacity:.5}
.step::after{content:"";position:absolute;left:0;bottom:0;height:3px;width:100%;background:var(--duo-grad);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease-premium)}
.step:hover::after{transform:scaleX(1)}

/* ====== SERVICE AREAS map ====== */
.areas{position:relative;overflow:hidden}
.areas__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(36px,5vw,64px);align-items:center}
@media (max-width:900px){.areas__grid{grid-template-columns:1fr}}
.areas__map{position:relative;border:1px solid var(--border);border-radius:calc(var(--radius)+4px);background:
  radial-gradient(80% 80% at 30% 20%,color-mix(in srgb,var(--cool) 10%,transparent),transparent 60%),
  var(--panel);padding:26px;aspect-ratio:1/1;display:grid;place-items:center}
.areas__map svg{width:100%;height:100%}
.areas__chips{display:flex;flex-wrap:wrap;gap:11px;margin-top:26px}
.area-chip{display:inline-flex;align-items:center;gap:9px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-pill);padding:10px 18px;font-family:var(--font-head);font-weight:600;font-size:.9rem;transition:border-color .3s,color .3s,transform .3s}
.area-chip svg{width:14px;height:14px;color:var(--heatGlow)}
.area-chip:hover{border-color:var(--heatGlow);color:var(--heatGlow);transform:translateY(-2px)}
.area-chip.is-hub{border-color:var(--gold);color:var(--gold)}.area-chip.is-hub svg{color:var(--gold)}

/* ====== PROOF / reviews ====== */
.proof{position:relative}
.proof__top{display:grid;grid-template-columns:auto 1fr;gap:clamp(28px,5vw,56px);align-items:center;margin-bottom:clamp(36px,4vw,56px)}
@media (max-width:760px){.proof__top{grid-template-columns:1fr;text-align:center}}
.proof__score{text-align:center}
.proof__score .big{font-family:var(--font-head);font-weight:800;font-size:clamp(3.4rem,8vw,5rem);line-height:1;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.proof__score .stars{color:var(--heatGlow);font-size:1.3rem;letter-spacing:3px;margin:6px 0}
.proof__score .count{font-size:.84rem;color:var(--steel)}
.awards-strip{display:flex;flex-wrap:wrap;gap:14px}
.award-card{display:flex;align-items:center;gap:14px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:16px 22px;flex:1;min-width:200px}
.award-card svg{width:34px;height:34px;color:var(--gold);flex:none}
.award-card .t{font-family:var(--font-head);font-weight:700;font-size:.98rem}
.award-card .s{font-size:.78rem;color:var(--steel)}
.quote-slot{max-width:780px;margin:0 auto;text-align:center;padding:34px 30px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);position:relative}
.quote-slot::before{content:"\201C";position:absolute;top:-12px;left:24px;font-family:var(--font-head);font-size:5rem;line-height:1;color:color-mix(in srgb,var(--accent) 40%,transparent)}
.quote-slot p{font-size:1.15rem;font-style:italic;margin-bottom:14px}
.quote-slot .who{font-family:var(--font-head);font-weight:600;font-size:.9rem;color:var(--steel)}

/* ====== FAQ ====== */
.faq{position:relative}
.faq__grid{max-width:820px;margin:0 auto;display:grid;gap:14px}
.faq details{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:border-color .35s}
.faq details[open]{border-color:var(--hair)}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;list-style:none;padding:22px 26px;font-family:var(--font-head);font-weight:600;font-size:1.05rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary .q-ico{width:26px;height:26px;flex:none;position:relative}
.faq summary .q-ico::before,.faq summary .q-ico::after{content:"";position:absolute;background:var(--accent);transition:transform .35s var(--ease-premium)}
.faq summary .q-ico::before{top:12px;left:4px;width:18px;height:2px}
.faq summary .q-ico::after{top:4px;left:12px;width:2px;height:18px}
.faq details[open] summary .q-ico::after{transform:rotate(90deg);opacity:0}
.faq details > div{padding:0 26px 24px;color:color-mix(in srgb,var(--foreground) 82%,transparent)}
.faq details > div p{margin:0}

/* ====== CTA band ====== */
.cta-band{position:relative;overflow:hidden;background:
  radial-gradient(70% 130% at 15% 50%,color-mix(in srgb,var(--heat) 22%,transparent),transparent 60%),
  radial-gradient(70% 130% at 85% 50%,color-mix(in srgb,var(--cool) 22%,transparent),transparent 60%),
  var(--panel-2);border-block:1px solid var(--border)}
.cta-band .container{position:relative;z-index:1;text-align:center;max-width:760px}
.cta-band h2{font-size:clamp(2rem,5vw,3.4rem)}
.cta-band .lede{margin:0 auto 30px;max-width:54ch}
.cta-band__row{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}

/* ====== CONTACT ====== */
.contact__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(36px,5vw,64px)}
@media (max-width:900px){.contact__grid{grid-template-columns:1fr}}
.contact__info{display:flex;flex-direction:column;gap:20px}
.nap{display:flex;gap:16px;align-items:flex-start;padding:20px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);transition:border-color .35s,transform .35s}
.nap:hover{border-color:var(--hair);transform:translateY(-3px)}
.nap__ico{width:46px;height:46px;flex:none;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--heat) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--heat) 28%,var(--border))}
.nap__ico svg{width:22px;height:22px;color:var(--heatGlow)}
.nap.cool .nap__ico{background:color-mix(in srgb,var(--cool) 12%,var(--surface));border-color:color-mix(in srgb,var(--cool) 28%,var(--border))}
.nap.cool .nap__ico svg{color:var(--coolGlow)}
.nap .k{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--steel);margin-bottom:4px}
.nap .v{font-family:var(--font-head);font-weight:600;font-size:1.05rem}
.nap .v a{color:var(--foreground)}.nap .v a:hover{color:var(--heatGlow)}
.contact__form{background:var(--panel);border:1px solid var(--border);border-radius:calc(var(--radius)+4px);padding:clamp(26px,3vw,40px)}
.contact__form h3{font-size:1.4rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:560px){.form-row{grid-template-columns:1fr}}
.field select{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;color:var(--foreground);font:inherit}
.field select:focus{outline:none;border-color:var(--primary)}
.form-note{font-size:.74rem;color:var(--steel);margin-top:12px;line-height:1.5}

/* ====== FOOTER rich ====== */
.site-footer{background:var(--panel-2);position:relative;overflow:hidden}
.footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px;width:100%}
@media (max-width:900px){.footer__grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.footer__grid{grid-template-columns:1fr}}
.footer__brand img{height:50px;margin-bottom:16px}
.footer__brand p{font-size:.9rem;color:var(--steel);max-width:34ch}
.footer__social{display:flex;gap:12px;margin-top:18px}
.footer__social a{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:var(--surface);border:1px solid var(--border);color:var(--steel);transition:color .3s,border-color .3s,transform .3s}
.footer__social a:hover{color:var(--heatGlow);border-color:var(--heatGlow);transform:translateY(-3px)}
.footer__social a svg{width:18px;height:18px}
.footer__col h5{font-family:var(--font-head);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--steel);margin:0 0 16px}
.footer__col ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.footer__col a{color:color-mix(in srgb,var(--foreground) 78%,transparent);font-size:.9rem}
.footer__col a:hover{color:var(--heatGlow)}
.footer__hours{font-size:.88rem;color:var(--steel);display:grid;gap:6px}
.footer__hours .em{color:var(--heatGlow);font-weight:600}
.footer__bottom{border-top:1px solid var(--border);margin-top:50px;padding-top:26px;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;width:100%;font-size:.82rem;color:var(--steel)}
.footer__bottom a{color:var(--steel)}.footer__bottom a:hover{color:var(--heatGlow)}
.site-footer .container{flex-direction:column;align-items:flex-start}

/* reveal helper for grouped children already covered by [data-reveal]; tighten section rhythm */
section.tight{padding-block:clamp(48px,6vw,80px)}
.bg-frost{background:linear-gradient(180deg,var(--background),color-mix(in srgb,var(--cool) 5%,var(--background)))}
.bg-warm{background:linear-gradient(180deg,var(--background),color-mix(in srgb,var(--heat) 5%,var(--background)))}
