/* winchester-hvac.com design system v2h (HVAC variant), generated by .inboxsweep/wshared/v2h/build.py. Edit page.css / chrome.css / palettes.py there, not this file. */
:root{ --b:#16707C; --bd:#0E4A53; --a:#F08A22; --ah:#FFA544; --oa:#10262B; --at:#A8560A; --ink:#163238; --cream:#F4EDDA; --alt:#F3F7F7; --line:#DCE6E7; --muted:#56686B; --tint:#E3F0F1; --disp:"Barlow Condensed","Arial Narrow",Arial,sans-serif; --body:"Barlow",system-ui,-apple-system,"Segoe UI",sans-serif; --scene:url(scene-hvac.svg); --dots:url(dots-light.svg); --check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2310262B' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12.5l5 5L20 6.5'/%3E%3C/svg%3E"); --checkw:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12.5l5 5L20 6.5'/%3E%3C/svg%3E"); }
/* Winchester DBA v2, everything outside .wh-page: theme shell, toolbar, header, phone call bar, footer. Not prefixed. */
body main.tm-main.uk-section{ padding-top:0; padding-bottom:0; }
body .tm-main > .uk-container{ max-width:none; padding-left:0; padding-right:0; }
html{ scroll-behavior:smooth; }

/* toolbar */
body .tm-toolbar.tm-toolbar-default{ background:var(--bd)!important; background-image:none!important; color:#fff; padding-top:0; padding-bottom:0; }
body .tm-toolbar .uk-container{ max-width:1240px; padding-left:28px; padding-right:28px; }
.wh-tb{ display:flex; align-items:center; min-height:54px; font-family:var(--body); font-size:.95rem; font-weight:600; color:#fff; }
.wh-tb .slog{ font-family:var(--disp); font-weight:600; letter-spacing:.15em; text-transform:uppercase; color:var(--ah); font-size:1.1rem; line-height:1; }
.wh-tb a{ color:#fff; text-decoration:none; padding:0 18px; line-height:1.1; border-right:1px solid rgba(255,255,255,.28); }
.wh-tb a:hover{ color:var(--ah); text-decoration:none; }
.wh-tb a.wh-btn{ border:2px dashed var(--oa); background:var(--a); color:var(--oa)!important; box-shadow:0 0 0 3px var(--a); font-family:var(--disp); font-weight:700; font-size:1.08rem; letter-spacing:.06em; text-transform:uppercase; line-height:1; padding:9px 16px; border-radius:3px; margin-left:22px; }
.wh-tb a.wh-btn:hover{ background:var(--ah); box-shadow:0 0 0 3px var(--ah); }
.wh-tb a.last{ border-right:0; }

/* header */
body .tm-header .uk-navbar-container{ background:#fff!important; }
body .tm-header .uk-container{ max-width:1240px; padding-left:28px; padding-right:28px; }
body .tm-header .uk-navbar-nav{ gap:0; }
body .tm-header .uk-navbar-nav > li > a{ font-family:var(--disp); font-weight:600; font-size:1.2rem; letter-spacing:.05em; text-transform:uppercase; color:var(--ink); min-height:96px; padding:0 15px; }
body .tm-header .uk-navbar-nav > li:hover > a, body .tm-header .uk-navbar-nav > li.uk-active > a, body .tm-header .uk-navbar-nav > li > a[aria-expanded="true"]{ color:var(--at); }
body .tm-header .uk-navbar-nav > li > a::after{ display:none; }
body .tm-header .uk-navbar-nav > li > a::before{ background-color:var(--a)!important; }
body .tm-header .uk-drop, body .tm-header .uk-navbar-dropdown, body .uk-navbar-container .uk-navbar-dropdown{ position:absolute!important; }
body .uk-navbar-dropdown{ background:#fff; border:3px solid var(--ink); border-radius:4px; box-shadow:8px 8px 0 var(--a); padding:14px 22px; width:300px; max-height:calc(100vh - 160px); overflow-y:auto; }
body .uk-navbar-dropdown-nav{ display:block; }
body .uk-navbar-dropdown-nav > li > a{ font-family:var(--disp); font-weight:600; font-size:1.18rem; letter-spacing:.02em; color:var(--ink); padding:8px 0; border-bottom:1px dashed var(--line); }
body .uk-navbar-dropdown-nav > li:last-child > a{ border-bottom:0; }
body .uk-navbar-dropdown-nav > li > a:hover, body .uk-navbar-dropdown-nav > li.uk-active > a{ color:var(--at); }
body .uk-logo{ flex-shrink:0; }
body .uk-logo img{ max-height:84px; width:auto; }
body .uk-navbar-toggle{ color:var(--ink); }
body .uk-offcanvas-bar{ background:var(--bd); }
body .uk-offcanvas-bar .uk-nav > li > a{ color:#fff; font-family:var(--disp); font-weight:600; font-size:1.35rem; letter-spacing:.04em; text-transform:uppercase; }
body .uk-offcanvas-bar .uk-nav-sub a{ color:rgba(255,255,255,.8); font-size:1.02rem; }
body .uk-offcanvas-bar .uk-nav-sub a:hover{ color:var(--ah); }
body .uk-offcanvas-bar .uk-nav-parent-icon > a::after{ filter:invert(1); }
body .uk-offcanvas-close{ color:#fff; }

/* phone header + the fixed call bar (HFCM Mobile Buttons) */
body .tm-header-mobile .uk-navbar-container{ background:#fff; box-shadow:none; }
body .tm-header-mobile .uk-container{ padding-left:20px!important; padding-right:20px!important; }
body .tm-header-mobile .uk-logo img{ max-height:54px; }
body .tm-header-mobile .uk-navbar-toggle{ color:var(--ink); }
body .mobile-buttons{ display:none; }
@media (max-width:1099px){
  html, body{ background:#fff!important; }
  html{ padding-top:0!important; margin-top:0!important; }
  body .mobile-buttons{ display:flex!important; position:fixed; top:0; left:0; right:0; z-index:1000!important; width:100%; }
  body .mobile-buttons ul{ display:grid!important; grid-template-columns:1fr 1fr; width:100%; margin:0; padding:0; list-style:none; }
  body .mobile-buttons li{ margin:0; }
  body .mobile-buttons a{ display:flex; align-items:center; justify-content:center; box-sizing:border-box; height:56px; border:0!important; font-family:var(--disp); font-weight:700; font-size:1.16rem; letter-spacing:.05em; text-transform:uppercase; text-decoration:none; }
  body .mobile-buttons a.button-left{ background:var(--a)!important; color:var(--oa)!important; }
  body .mobile-buttons a.button-right{ background:var(--bd)!important; color:#fff!important; }
  body .tm-page{ padding-top:56px!important; margin-top:0!important; }
}

/* footer (markup lives in the theme config, unchanged) */
body footer.tm-footer, body .tm-footer .uk-section-default{ background:var(--bd); }
body .tm-footer .uk-container.uk-container-expand, body footer .uk-container{ padding-left:0!important; padding-right:0!important; max-width:none!important; }
body footer .uk-grid.tm-grid-expand{ margin-left:0!important; }
body footer .uk-grid.tm-grid-expand > *{ padding-left:0!important; }
body footer .uk-section{ padding:0; }
.wh-footer, .wh-footer *{ box-sizing:border-box; }
.wh-footer{ background:var(--bd) var(--dots); border-top:5px solid var(--a); color:rgba(255,255,255,.82); font-family:var(--body); font-size:1rem; line-height:1.55; }
.wh-footer .wh-wrap{ max-width:1240px; margin:0 auto; padding:0 28px; }
.wh-footer .top{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:44px; padding:64px 0 46px; }
.wh-footer h4{ color:var(--ah); font-family:var(--disp); font-weight:700; font-size:1.45rem; letter-spacing:.04em; text-transform:none; margin:0 0 14px; }
.wh-footer ul{ list-style:none; padding:0; margin:0; }
.wh-footer li{ margin:0 0 9px; }
.wh-footer a{ color:#fff; text-decoration:none; }
.wh-footer a:hover{ color:var(--ah); }
.wh-footer .mark{ display:flex; align-items:center; gap:16px; margin-bottom:18px; }
.wh-footer .mark img{ width:92px; height:92px; display:block; transform:rotate(-6deg); }
.wh-footer .mark b{ display:block; color:#fff; font-family:var(--disp); font-weight:800; font-size:1.9rem; line-height:1; text-transform:uppercase; letter-spacing:.01em; }
.wh-footer .mark span{ display:block; color:var(--ah); font-family:var(--disp); font-weight:600; font-size:1rem; letter-spacing:.16em; text-transform:uppercase; margin-top:6px; }
.wh-footer .brand p{ max-width:350px; margin:0 0 14px; }
.wh-footer .brand .wh-phone{ display:inline-block; color:#fff; font-family:var(--disp); font-weight:800; font-size:2rem; line-height:1; }
.wh-footer .brand .wh-phone:hover{ color:var(--ah); }
.wh-footer .bottom{ border-top:1px dashed rgba(255,255,255,.25); padding:20px 0; display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; font-size:.9rem; color:rgba(255,255,255,.7); }
.wh-footer .bottom a{ color:rgba(255,255,255,.7); }
@media (max-width:900px){
  .wh-footer .top{ grid-template-columns:1fr 1fr; gap:30px 16px; text-align:center; padding:46px 0 28px; }
  .wh-footer .wh-wrap{ padding:0 20px; }
  .wh-footer .brand{ grid-column:1 / -1; display:flex; flex-direction:column; align-items:center; }
  .wh-footer .mark{ flex-direction:column; gap:12px; text-align:center; }
  .wh-footer .brand p{ max-width:330px; margin:0 auto 12px; }
  .wh-footer .top > div:last-child{ grid-column:1 / -1; }
  .wh-footer .bottom{ justify-content:center; text-align:center; flex-direction:column; gap:6px; }
}

/* ==================== v2h, WINCHESTER HVAC ONLY: no stitched button, soft menu card, straight badge ==================== */
.wh-tb a.wh-btn{ border:2px solid var(--a); box-shadow:none; border-radius:8px; padding:10px 18px; }
.wh-tb a.wh-btn:hover{ border-color:var(--ah); box-shadow:none; }
body .tm-header .uk-navbar-container{ border-bottom:1px solid var(--line); }
body .uk-navbar-dropdown{ border:1px solid var(--line); border-radius:14px; box-shadow:0 18px 40px rgba(14,74,83,.18); }
body .uk-navbar-dropdown-nav > li > a{ border-bottom-style:solid; }
.wh-footer{ background:var(--bd); border-top:0; }
.wh-footer .mark img{ transform:none; }
.wh-footer .bottom{ border-top-style:solid; border-top-color:rgba(255,255,255,.16); }

/* Winchester DBA v2 design system, page layer. build.py prefixes every selector here with "body .wh-page"
   (the theme's body h1 / h3 / a rules beat anything less specific). Colours are the :root tokens build.py prints per site. */
body .wh-page{ background:#fff; color:var(--ink); font-family:var(--body); font-size:17px; line-height:1.62; overflow-x:clip; }
body .wh-page *{ box-sizing:border-box; }
body .wh-page .wh-wrap{ max-width:1240px; margin:0 auto; padding:0 28px; }
body .wh-page .wh-narrow{ max-width:860px; }
body .wh-page h1, body .wh-page h2, body .wh-page h3, body .wh-page h4{ font-family:var(--disp); font-weight:700; line-height:1.04; margin:0; color:var(--ink); text-transform:none; letter-spacing:.005em; }
body .wh-page h2{ font-size:clamp(2.05rem,3.3vw,2.95rem); }
body .wh-page h3{ font-size:1.55rem; }
body .wh-page p{ margin:0 0 1em; }
body .wh-page a{ color:var(--at); text-decoration:none; }
body .wh-page a:hover{ color:var(--at); text-decoration:underline; }
body .wh-page img{ max-width:100%; height:auto; }
body .wh-page .lead{ font-size:1.16rem; color:var(--ink); }
body .wh-page .wh-label{ display:none; }

/* buttons: squared, stamped */
body .wh-page .wh-btn{ display:inline-flex; align-items:center; justify-content:center; gap:10px; font-family:var(--disp); font-weight:700; font-size:1.2rem; letter-spacing:.05em; text-transform:uppercase; line-height:1; padding:15px 26px; border-radius:3px; border:2px solid transparent; text-decoration:none; cursor:pointer; transition:transform .15s ease, box-shadow .15s ease, background-color .15s ease; }
body .wh-page .wh-btn:hover{ text-decoration:none; transform:translate(-2px,-2px); }
body .wh-page .wh-btn svg{ width:20px; height:20px; flex:0 0 20px; }
body .wh-page .wh-btn-primary{ background:var(--a); color:var(--oa); border:2px dashed var(--oa); box-shadow:0 0 0 4px var(--a); margin:4px; }
body .wh-page .wh-btn-primary:hover{ background:var(--ah); color:var(--oa); box-shadow:0 0 0 4px var(--ah), 6px 6px 0 4px rgba(0,0,0,.28); }
body .wh-page .wh-btn-ghost{ background:var(--bd); color:#fff; border-color:#fff; margin:4px 0; }
body .wh-page .wh-btn-ghost:hover{ color:#fff; box-shadow:5px 5px 0 rgba(0,0,0,.3); }
body .wh-page .wh-btn-teal{ background:var(--b); color:#fff; border-color:var(--b); box-shadow:4px 4px 0 var(--bd); }
body .wh-page .wh-btn-teal:hover{ color:#fff; box-shadow:6px 6px 0 var(--bd); }
body .wh-page .wh-btn-outline{ background:#fff; color:var(--ink); border-color:var(--ink); box-shadow:4px 4px 0 var(--ink); }
body .wh-page .wh-btn-outline:hover{ color:var(--ink); box-shadow:6px 6px 0 var(--ink); }
body .wh-page .wh-actions{ display:flex; flex-wrap:wrap; align-items:center; gap:16px 20px; margin-top:28px; }

/* hero */
body .wh-page .wh-hero{ position:relative; background:var(--b) var(--scene) center bottom / cover no-repeat; color:#fff; padding:70px 0 160px; border-top:5px solid var(--a); }
body .wh-page .wh-hero::before{ content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.34),rgba(0,0,0,.12) 55%,rgba(0,0,0,0) 75%); pointer-events:none; }
body .wh-page .wh-hero .wh-wrap{ position:relative; z-index:1; }
body .wh-page .wh-hero-grid{ display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:40px; align-items:center; }
body .wh-page .wh-kicker{ font-family:var(--disp); font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--ah); font-size:1.2rem; line-height:1.2; margin:0 0 12px; }
body .wh-page .wh-hero h1{ color:#fff; text-transform:uppercase; font-weight:800; font-size:clamp(2.9rem,6vw,5.5rem); line-height:.94; letter-spacing:0; text-shadow:0 3px 0 rgba(0,0,0,.18); }
body .wh-page .wh-hero h1 span{ display:block; }
body .wh-page .wh-hero h1 .l2{ color:var(--ah); }
body .wh-page .wh-hero .wh-sub{ font-family:var(--disp); font-weight:600; font-size:1.65rem; line-height:1.15; color:#fff; margin:16px 0 0; }
body .wh-page .wh-hero .wh-lede{ font-size:1.14rem; line-height:1.55; max-width:640px; margin:14px 0 0; color:rgba(255,255,255,.93); }
body .wh-page .wh-hero .wh-lede a:not(.wh-btn), body .wh-page .wh-hero a.wh-tel{ color:var(--ah); text-decoration:underline; }
body .wh-page .wh-chips{ display:flex; flex-wrap:wrap; gap:16px 30px; margin:28px 0 0; padding:0; list-style:none; }
body .wh-page .wh-chips li{ display:flex; align-items:center; gap:12px; font-family:var(--disp); font-weight:600; font-size:1.22rem; line-height:1.08; max-width:220px; color:#fff; }
body .wh-page .wh-chips .ic{ flex:0 0 46px; height:46px; background:var(--a); color:var(--oa); display:grid; place-items:center; border-radius:3px; }
body .wh-page .wh-chips svg{ width:26px; height:26px; }
body .wh-page .wh-hero-badge{ justify-self:center; }
body .wh-page .wh-hero-badge img{ display:block; width:430px; max-width:100%; transform:rotate(-6deg); filter:drop-shadow(12px 14px 0 rgba(0,0,0,.32)); }
body .wh-page .wh-crumb{ font-size:.95rem; margin:0 0 18px; color:rgba(255,255,255,.85); }
body .wh-page .wh-crumb a{ color:#fff; text-decoration:none; }
body .wh-page .wh-crumb a:hover{ color:var(--ah); }
body .wh-page .wh-crumb > span::before{ content:"/"; margin:0 9px; opacity:.6; }
body .wh-page .wh-crumb > span, body .wh-page .wh-crumb > span a{ color:rgba(255,255,255,.85); }
body .wh-page .wh-hero.sm{ padding:44px 0 64px; }
body .wh-page .wh-hero.sm h1{ font-size:clamp(2.35rem,4.4vw,3.9rem); max-width:980px; }
body .wh-page .wh-hero.sm .wh-sub{ color:var(--ah); font-size:1.55rem; }
body .wh-page .wh-hero.sm .wh-lede{ max-width:760px; }
body .wh-page .wh-hero.sm.lift{ padding-bottom:150px; }
body .wh-page .wh-hero.compact{ padding:36px 0 50px; }
body .wh-page .wh-hero.sm.lift{ padding-bottom:150px; }

/* form + call card, straight under the hero */
body .wh-page .wh-under{ position:relative; z-index:2; margin-top:-96px; padding:0 0 76px; }
body .wh-page .wh-under-grid{ display:grid; grid-template-columns:minmax(0,1.22fr) minmax(0,.78fr); gap:48px; align-items:start; }
body .wh-page .wh-formcard{ background:#fff; border:4px solid var(--a); box-shadow:-10px 10px 0 var(--bd); border-radius:4px; padding:26px 26px 14px; }
body .wh-page .wh-formcard h2{ color:var(--b); font-size:2.25rem; }
body .wh-page .wh-formcard > p{ color:var(--muted); margin:6px 0 10px; }
/* form_embed.js keeps growing the iframe if it is left to size itself, hold it */
body .wh-page .wh-formwrap{ min-height:640px; }
body .wh-page .wh-formwrap iframe{ display:block; width:100%; border:0; height:860px!important; min-height:0; }
body .wh-page .wh-callcard, body .wh-page .wh-card.teal{ background:var(--b) var(--dots) ; color:#fff; border:3px solid var(--a); box-shadow:10px 10px 0 var(--bd); border-radius:4px; padding:30px 30px 28px; }
body .wh-page .wh-callcard h3, body .wh-page .wh-card.teal h3{ color:#fff; font-size:2rem; }
body .wh-page .wh-callcard p, body .wh-page .wh-card.teal p{ color:rgba(255,255,255,.92); margin:8px 0 0; }
body .wh-page .wh-phone{ display:block; font-family:var(--disp); font-weight:800; font-size:2.75rem; line-height:1; letter-spacing:.01em; color:#fff; margin:16px 0 4px; text-decoration:none; }
body .wh-page .wh-phone:hover{ color:var(--ah); text-decoration:none; }
body .wh-page .wh-callcard .wh-btn, body .wh-page .wh-card.teal .wh-btn{ margin-top:20px; }
body .wh-page .wh-callcard hr{ border:0; border-top:1px dashed rgba(255,255,255,.35); margin:20px 0 14px; }
body .wh-page .wh-ticks{ list-style:none; margin:0; padding:0; }
body .wh-page .wh-ticks li{ display:flex; gap:12px; align-items:flex-start; padding:7px 0; line-height:1.4; }
body .wh-page .wh-ticks li::before{ content:""; flex:0 0 26px; height:26px; margin-top:1px; border-radius:50%; background:var(--a) var(--check) center / 14px no-repeat; }

/* sections */
body .wh-page .wh-sec{ padding:84px 0; position:relative; }
body .wh-page .wh-alt{ background:var(--alt); }
body .wh-page .wh-head{ max-width:860px; margin:0 0 34px; }
body .wh-page .wh-head h2{ color:var(--b); }
body .wh-page .wh-head p{ margin:12px 0 0; font-size:1.12rem; }
body .wh-page .wh-head.c{ margin-left:auto; margin-right:auto; text-align:center; }
body .wh-page .wh-sec > .wh-wrap > h2{ color:var(--b); margin-bottom:36px; }
body .wh-page .wh-sec > .wh-wrap > .lead{ margin:-10px 0 30px; max-width:860px; }

/* tilted service tiles */
body .wh-page .wh-tiles-sec{ padding:30px 0 96px; }
body .wh-page .wh-under + .wh-tiles-sec{ padding-top:6px; }
body .wh-page .wh-tiles{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:44px 36px; }
body .wh-page .wh-tile{ position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:16px; min-height:236px; padding:26px 18px; text-align:center; background:var(--b) var(--dots); border:3px solid var(--cream); border-radius:14px; box-shadow:9px 9px 0 var(--bd); transform:skew(-5deg) rotate(-2deg); transition:transform .2s ease, box-shadow .2s ease; text-decoration:none; }
body .wh-page .wh-tile > *{ transform:skew(5deg); }
body .wh-page .wh-tile .ic{ color:#fff; width:62px; height:62px; }
body .wh-page .wh-tile .ic svg{ width:62px; height:62px; stroke-width:1.7; }
body .wh-page .wh-tile b{ font-family:var(--disp); font-weight:800; font-size:1.62rem; line-height:1; text-transform:uppercase; letter-spacing:.02em; color:var(--ah); text-shadow:0 2px 0 rgba(0,0,0,.28); }
body .wh-page .wh-tile:hover{ text-decoration:none; transform:skew(0) rotate(0) translateY(-4px); box-shadow:12px 14px 0 var(--bd); }
body .wh-page .wh-tile:hover > *{ transform:none; }
body .wh-page .wh-tiles.six{ grid-template-columns:repeat(3,minmax(0,1fr)); }

body .wh-page .wh-svclist{ list-style:none; margin:70px 0 0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:0 56px; }
body .wh-page .wh-svclist li{ padding:20px 0; border-top:2px dashed var(--line); }
body .wh-page .wh-svclist a{ display:block; font-family:var(--disp); font-weight:700; font-size:1.75rem; line-height:1.1; color:var(--b); text-decoration:none; margin-bottom:4px; }
body .wh-page .wh-svclist a:hover{ color:var(--at); }
body .wh-page .wh-svclist span{ display:block; }

/* angled colour band: intro on the left, the checklist on the right */
body .wh-page .wh-angle{ position:relative; background:var(--bd) ; color:#fff; padding:150px 0 140px; clip-path:polygon(0 70px,100% 0,100% calc(100% - 70px),0 100%); margin:0; }
body .wh-page .wh-angle.b{ background:var(--b); }
body .wh-page .wh-angle .wh-two{ align-items:center; }
body .wh-page .wh-angle h2{ color:#fff; }
body .wh-page .wh-angle h2 + .rule{ height:4px; background:var(--a); margin:22px 0 22px; border-radius:2px; }
body .wh-page .wh-angle p{ color:rgba(255,255,255,.93); }
body .wh-page .wh-angle a:not(.wh-btn){ color:var(--ah); }
body .wh-page .wh-checkgrid{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:6px 30px; }
body .wh-page .wh-checkgrid li{ display:flex; align-items:center; gap:12px; padding:9px 0; font-size:1.1rem; line-height:1.3; }
body .wh-page .wh-checkgrid li::before{ content:""; flex:0 0 26px; height:26px; border-radius:50%; background:var(--a) var(--check) center / 14px no-repeat; }
body .wh-page .wh-checkgrid a, body .wh-page .wh-angle .wh-checkgrid a:not(.wh-btn){ color:#fff; text-decoration:none; }
body .wh-page .wh-checkgrid a:hover, body .wh-page .wh-angle .wh-checkgrid a:not(.wh-btn):hover{ color:var(--ah); text-decoration:underline; }

/* two columns, framed figure */
body .wh-page .wh-two{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:60px; align-items:start; }
body .wh-page .wh-two.wide-l{ grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr); gap:56px; }
body .wh-page .wh-two > *{ min-width:0; }
body .wh-page .wh-frame{ position:relative; border:5px solid var(--a); border-radius:6px; box-shadow:-10px 10px 0 var(--b); background:var(--b); overflow:hidden; line-height:0; }
body .wh-page .wh-frame.r{ box-shadow:10px 10px 0 var(--b); }
body .wh-page .wh-frame.art{ background:var(--b) var(--scene) center bottom / cover no-repeat; display:grid; place-items:center; aspect-ratio:3/2; }
body .wh-page .wh-frame.art img{ width:58%; max-width:320px; transform:rotate(-5deg); filter:drop-shadow(8px 10px 0 rgba(0,0,0,.3)); }
body .wh-page .wh-frame iframe{ display:block; width:100%; height:440px; border:0; }
body .wh-page .wh-row h2{ color:var(--b); }
body .wh-page .wh-row h3{ color:var(--b); font-size:1.75rem; margin:26px 0 8px; }
body .wh-page .wh-row h3:first-child{ margin-top:0; }
body .wh-page .wh-row h3 a{ color:var(--b); }
body .wh-page .wh-row .lead{ margin-top:14px; }
body .wh-page .wh-map{ margin:0; }
body .wh-page .wh-areas{ display:flex; flex-wrap:wrap; gap:10px; margin:24px 0 0; }
body .wh-page .wh-areas a{ display:inline-flex; align-items:center; gap:8px; font-family:var(--disp); font-weight:600; font-size:1.12rem; letter-spacing:.02em; line-height:1; padding:11px 15px; border:2px solid var(--b); border-radius:3px; color:var(--b); background:#fff; text-decoration:none; white-space:nowrap; }
body .wh-page .wh-areas a::before{ content:""; width:9px; height:9px; border-radius:50%; background:var(--a); }
body .wh-page .wh-areas a:hover, body .wh-page .wh-areas a.now{ background:var(--b); color:#fff; text-decoration:none; }

/* why: sunburst */
body .wh-page .wh-why{ background:var(--b); background-image:repeating-conic-gradient(from 0deg at 50% -10%, rgba(0,0,0,.13) 0deg 7deg, rgba(0,0,0,0) 7deg 14deg); color:#fff; padding:110px 0 100px; clip-path:polygon(0 0,50% 46px,100% 0,100% 100%,0 100%); margin-top:-1px; }
body .wh-page .wh-why h2{ color:#fff; text-align:center; max-width:760px; margin:0 auto 40px; }
body .wh-page .wh-why .grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; }
body .wh-page .wh-why .item{ background:var(--bd) var(--dots); border:3px solid #fff; border-radius:4px; padding:24px 24px 22px; box-shadow:0 8px 0 rgba(0,0,0,.18); }
body .wh-page .wh-why .item h3{ color:#fff; font-size:1.6rem; display:flex; align-items:center; gap:12px; padding-bottom:14px; margin-bottom:14px; border-bottom:3px solid var(--a); }
body .wh-page .wh-why .item h3 .n{ flex:0 0 38px; height:38px; display:grid; place-items:center; background:var(--a); color:var(--oa); font-size:1.3rem; font-weight:800; border-radius:3px; }
body .wh-page .wh-why .item p{ color:rgba(255,255,255,.93); margin:0; font-size:1.02rem; }
body .wh-page .wh-why .item.go{ background:var(--a); border-color:var(--oa); }
body .wh-page .wh-why .item.go h3{ color:var(--oa); border-bottom-color:var(--oa); }
body .wh-page .wh-why .item.go p{ color:var(--oa); }
body .wh-page .wh-why .item.go a.wh-phone{ color:var(--oa); font-size:2.1rem; margin:12px 0 0; }
body .wh-page .wh-why .item.wide{ grid-column:span 2; }

/* reviews */
body .wh-page .wh-reviews{ padding:0 0 84px; }
body .wh-page .wh-reviews .bar{ background:var(--b); color:#fff; padding:64px 0 60px; clip-path:polygon(0 40px,100% 0,100% calc(100% - 40px),0 100%); margin-bottom:26px; }
body .wh-page .wh-reviews .bar h2{ color:#fff; text-align:center; }
body .wh-page .wh-why + .wh-reviews{ padding-top:0; }

/* steps */
body .wh-page .wh-steps{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; counter-reset:st; }
body .wh-page .wh-steps .st{ counter-increment:st; position:relative; background:#fff; border:3px solid var(--ink); border-radius:4px; padding:58px 26px 24px; box-shadow:8px 8px 0 var(--a); margin-top:26px; }
body .wh-page .wh-steps .st::before{ content:counter(st); position:absolute; top:-28px; left:22px; width:64px; height:64px; display:grid; place-items:center; background:var(--b); color:#fff; font-family:var(--disp); font-weight:800; font-size:2.3rem; border:3px solid var(--ink); border-radius:4px; transform:rotate(-4deg); }
body .wh-page .wh-steps h3{ color:var(--ink); font-size:1.6rem; margin-bottom:8px; }
body .wh-page .wh-steps p{ margin:0; color:var(--ink); }

/* faq: UIkit accordion, restyled */
body .wh-page .wh-faq h2{ color:var(--b); margin-bottom:26px; }
body .wh-page .wh-faq ul{ list-style:none; margin:0; padding:0; }
body .wh-page .wh-faq ul > li{ margin:0 0 14px!important; padding:0!important; background:#fff; border:2px solid var(--ink); border-left:8px solid var(--b); border-radius:3px; }
body .wh-page .wh-faq li.uk-open{ border-left-color:var(--a); box-shadow:6px 6px 0 var(--tint); }
body .wh-page .wh-faq .uk-accordion-title{ margin:0; display:flex; justify-content:space-between; align-items:center; gap:16px; padding:17px 20px; font-family:var(--disp); font-weight:700; font-size:1.42rem; line-height:1.15; color:var(--ink); text-decoration:none; }
body .wh-page .wh-faq .uk-accordion-title::before{ display:none; }
body .wh-page .wh-faq .uk-accordion-title::after{ content:"+"; flex:0 0 34px; height:34px; display:grid; place-items:center; background:var(--b); color:#fff; font-size:1.6rem; line-height:1; border-radius:3px; }
body .wh-page .wh-faq li.uk-open .uk-accordion-title::after{ content:"\2212"; background:var(--a); color:var(--oa); }
body .wh-page .wh-faq .uk-accordion-content{ margin:0; padding:0 20px 18px; }
body .wh-page .wh-faq .uk-accordion-content p{ margin:0; }

/* closing band over the scene */
body .wh-page .wh-cta{ position:relative; background:var(--bd) var(--scene) center bottom / cover no-repeat; color:#fff; padding:96px 0 100px; }
body .wh-page .wh-cta::before{ content:""; position:absolute; inset:0; background:rgba(0,0,0,.42); }
body .wh-page .wh-cta .wh-wrap{ position:relative; display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:50px; align-items:center; }
body .wh-page .wh-cta h2{ color:#fff; font-size:clamp(2.3rem,4.2vw,3.6rem); text-transform:uppercase; font-weight:800; line-height:.98; }
body .wh-page .wh-cta p{ color:rgba(255,255,255,.93); font-size:1.14rem; margin:14px 0 0; max-width:600px; }
body .wh-page .wh-cta .wh-ticks{ margin-top:18px; }
body .wh-page .wh-cta .wh-ticks li{ font-size:1.08rem; }

/* contact / estimate block */
body .wh-page .wh-estimate .wh-two{ grid-template-columns:minmax(0,1.22fr) minmax(0,.78fr); gap:48px; }
body .wh-page .wh-estimate.first{ padding-top:0; margin-top:-96px; z-index:2; }
body .wh-page .wh-estimate.first > .wh-wrap > h2{ display:none; }
body .wh-page .wh-info{ background:var(--alt); border:3px solid var(--ink); border-radius:4px; padding:28px; box-shadow:10px 10px 0 var(--a); }
body .wh-page .wh-estimate.first .wh-info{ background:#fff; }
body .wh-page .wh-info h3{ color:var(--b); font-size:1.9rem; }
body .wh-page .wh-info > p{ margin:8px 0 16px; }
body .wh-page .wh-info .it{ display:flex; gap:14px; padding:14px 0; border-top:1px dashed var(--line); }
body .wh-page .wh-info .it .ic{ flex:0 0 44px; height:44px; display:grid; place-items:center; background:var(--b); color:#fff; border-radius:3px; }
body .wh-page .wh-info .it .ic svg{ width:22px; height:22px; }
body .wh-page .wh-info .it b{ font-family:var(--disp); font-size:1.25rem; font-weight:700; display:block; line-height:1.1; }
body .wh-page .wh-info .it p{ margin:3px 0 0; }

/* cards and prose on the inner pages */
body .wh-page .wh-card{ background:#fff; border:3px solid var(--ink); border-radius:4px; padding:26px; box-shadow:8px 8px 0 var(--a); }
body .wh-page .wh-card h3{ color:var(--b); font-size:1.7rem; margin-bottom:8px; }
body .wh-page .wh-card.cream{ background:var(--cream); }
body .wh-page .wh-card.teal{ border-color:var(--a); }
body .wh-page .wh-side{ position:sticky; top:24px; display:grid; gap:30px; }
body .wh-page .wh-prose h2{ color:var(--b); font-size:clamp(1.8rem,2.6vw,2.3rem); margin:1.5em 0 .45em; }
body .wh-page .wh-prose > h2:first-child, body .wh-page .wh-prose > .wh-label + h2{ margin-top:0; }
body .wh-page .wh-prose p{ margin:0 0 1.05em; }
body .wh-page .wh-checks{ list-style:none; margin:0 0 1.2em; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:4px 28px; }
body .wh-page .wh-checks.one{ grid-template-columns:1fr; }
body .wh-page .wh-checks li{ display:flex; gap:12px; align-items:flex-start; padding:8px 0; line-height:1.4; border-bottom:1px dashed var(--line); }
body .wh-page .wh-checks li::before{ content:""; flex:0 0 24px; height:24px; margin-top:1px; border-radius:50%; background:var(--b) var(--checkw) center / 13px no-repeat; }
body .wh-page .wh-related{ list-style:none; margin:0; padding:0; }
body .wh-page .wh-related li{ border-bottom:1px dashed var(--line); }
body .wh-page .wh-related li:last-child{ border-bottom:0; }
body .wh-page .wh-related a{ display:flex; justify-content:space-between; align-items:center; padding:11px 0; font-family:var(--disp); font-weight:600; font-size:1.22rem; color:var(--ink); text-decoration:none; }
body .wh-page .wh-related a::after{ content:"\203A"; color:var(--at); font-size:1.5rem; line-height:1; }
body .wh-page .wh-related a:hover{ color:var(--at); }
body .wh-page .wh-notice{ background:var(--cream); border:3px solid var(--ink); border-radius:4px; padding:24px; box-shadow:8px 8px 0 var(--a); }
body .wh-page .wh-notice b{ font-family:var(--disp); font-size:1.5rem; }

/* towns on the service area page */
body .wh-page .wh-towns{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; margin-top:44px; }
body .wh-page .wh-towns a{ display:block; background:#fff; border:3px solid var(--ink); border-radius:4px; padding:24px; box-shadow:8px 8px 0 var(--b); color:var(--ink); text-decoration:none; transition:transform .15s ease, box-shadow .15s ease; }
body .wh-page .wh-towns a:hover{ transform:translate(-3px,-3px); box-shadow:11px 11px 0 var(--a); text-decoration:none; }
body .wh-page .wh-towns .st{ font-family:var(--disp); font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--at); font-size:1rem; }
body .wh-page .wh-towns h3{ color:var(--b); font-size:1.8rem; margin:4px 0 8px; }
body .wh-page .wh-towns p{ margin:0; }

@media (max-width:1100px){
  body .wh-page .wh-tiles{ grid-template-columns:repeat(4,minmax(0,1fr)); gap:34px 24px; }
  body .wh-page .wh-tile{ min-height:200px; }
  body .wh-page .wh-tile b{ font-size:1.35rem; }
  body .wh-page .wh-hero-badge img{ width:340px; }
}
@media (max-width:959px){
  body .wh-page .wh-sec{ padding:60px 0; }
  body .wh-page .wh-hero{ padding:44px 0 130px; }
  body .wh-page .wh-hero-grid{ grid-template-columns:1fr; gap:0; }
  body .wh-page .wh-hero-badge{ display:none; }   /* the header logo already carries the badge on phones and tablets */
  body .wh-page .wh-hero::before{ background:rgba(0,0,0,.22); }
  body .wh-page .wh-under-grid, body .wh-page .wh-two, body .wh-page .wh-two.wide-l, body .wh-page .wh-estimate .wh-two, body .wh-page .wh-cta .wh-wrap{ grid-template-columns:1fr; gap:40px; }
  body .wh-page .wh-tiles, body .wh-page .wh-tiles.six{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 22px; }
  body .wh-page .wh-why .grid, body .wh-page .wh-steps, body .wh-page .wh-towns{ grid-template-columns:1fr; }
  body .wh-page .wh-why .item.wide{ grid-column:auto; }
  body .wh-page .wh-steps{ gap:44px; }
  body .wh-page .wh-angle{ padding:110px 0 100px; clip-path:polygon(0 36px,100% 0,100% calc(100% - 36px),0 100%); }
  body .wh-page .wh-why{ clip-path:polygon(0 0,50% 26px,100% 0,100% 100%,0 100%); padding:80px 0 70px; }
  body .wh-page .wh-reviews .bar{ clip-path:polygon(0 22px,100% 0,100% calc(100% - 22px),0 100%); padding:50px 0 46px; }
  body .wh-page .wh-side{ position:static; }
  body .wh-page .wh-frame, body .wh-page .wh-formcard{ box-shadow:-7px 7px 0 var(--b); }
  body .wh-page .wh-formcard{ box-shadow:-7px 7px 0 var(--bd); }
  body .wh-page .wh-frame.r, body .wh-page .wh-callcard, body .wh-page .wh-card.teal{ box-shadow:7px 7px 0 var(--bd); }
  body .wh-page .wh-frame.r{ box-shadow:7px 7px 0 var(--b); }
  body .wh-page .wh-row .wh-frame{ order:-1; }
}
@media (max-width:640px){
  body .wh-page{ font-size:16.5px; }
  body .wh-page .wh-wrap{ padding:0 20px; }
  body .wh-page .wh-hero h1{ font-size:clamp(2.5rem,12.4vw,3.4rem); }
  body .wh-page .wh-hero.sm h1{ font-size:clamp(2.1rem,9.6vw,2.8rem); }
  body .wh-page .wh-hero .wh-sub{ font-size:1.38rem; }
  body .wh-page .wh-hero.sm .wh-sub{ font-size:1.3rem; }
  body .wh-page .wh-kicker{ font-size:1.02rem; letter-spacing:.13em; }
  body .wh-page .wh-chips{ gap:12px 16px; display:grid; grid-template-columns:1fr 1fr; }
  body .wh-page .wh-chips li{ font-size:1.08rem; max-width:none; }
  body .wh-page .wh-chips li:last-child:nth-child(odd){ grid-column:span 2; }
  body .wh-page .wh-chips .ic{ flex-basis:40px; height:40px; }
  body .wh-page .wh-actions{ gap:14px; }
  body .wh-page .wh-actions .wh-btn{ width:100%; }
  body .wh-page .wh-actions .wh-btn-primary{ width:calc(100% - 8px); }
  body .wh-page .wh-formcard{ padding:18px 12px 8px; border-width:3px; }
  body .wh-page .wh-formcard h2{ font-size:1.9rem; padding:0 6px; }
  body .wh-page .wh-formcard > p{ padding:0 6px; }
  body .wh-page .wh-callcard, body .wh-page .wh-card.teal, body .wh-page .wh-card, body .wh-page .wh-info{ padding:22px 20px; }
  body .wh-page .wh-phone{ font-size:2.35rem; }
  body .wh-page .wh-tile{ min-height:158px; gap:10px; padding:18px 10px; border-radius:11px; box-shadow:6px 6px 0 var(--bd); }
  body .wh-page .wh-tile .ic, body .wh-page .wh-tile .ic svg{ width:44px; height:44px; }
  body .wh-page .wh-tile b{ font-size:1.16rem; }
  body .wh-page .wh-checkgrid, body .wh-page .wh-checks, body .wh-page .wh-svclist{ grid-template-columns:1fr; }
  body .wh-page .wh-svclist{ margin-top:50px; }
  body .wh-page .wh-svclist a{ font-size:1.5rem; }
  body .wh-page .wh-areas{ display:grid; grid-template-columns:1fr 1fr; gap:8px; }
  body .wh-page .wh-areas a{ font-size:1rem; padding:11px 9px; justify-content:center; }
  body .wh-page .wh-frame iframe{ height:320px; }
  body .wh-page .wh-formwrap iframe{ height:970px!important; }
  body .wh-page .wh-faq .uk-accordion-title{ font-size:1.22rem; padding:15px 14px; }
  body .wh-page .wh-faq .uk-accordion-content{ padding:0 14px 16px; }
  body .wh-page .wh-cta{ padding:70px 0 74px; }
  body .wh-page .wh-under, body .wh-page .wh-estimate.first{ margin-top:-84px; }
}
@media (prefers-reduced-motion:reduce){
  body .wh-page .wh-btn, body .wh-page .wh-tile, body .wh-page .wh-towns a{ transition:none; }
}

/* ==================== v2h, WINCHESTER HVAC ONLY (2026-09-29) ====================
   Zack: put HVAC back on the v2 design, but switch it up, it read too close to a local client (GSSN Heating and Cooling,
   also HVAC, also Winchester). v2 borrowed the GSSN signatures: tilted tiles with a hard offset shadow, the stitched
   dashed button, angled colour bands, the sunburst, square stamped icons. v2h keeps the flow, the type, the palette
   and the ridge artwork, and swaps those signatures for an upright, rounded, soft shadow language. */
body .wh-page .wh-btn{ border-radius:10px; padding:16px 28px; }
body .wh-page .wh-btn:hover{ transform:translateY(-2px); }
body .wh-page .wh-btn-primary{ border:2px solid var(--a); box-shadow:0 6px 16px rgba(0,0,0,.18); margin:0; }
body .wh-page .wh-btn-primary:hover{ border-color:var(--ah); box-shadow:0 10px 22px rgba(0,0,0,.24); }
body .wh-page .wh-btn-ghost{ background:transparent; border-color:rgba(255,255,255,.85); margin:0; }
body .wh-page .wh-btn-ghost:hover{ background:#fff; color:var(--ink); box-shadow:none; }
body .wh-page .wh-btn-teal, body .wh-page .wh-btn-outline{ box-shadow:none; }
body .wh-page .wh-btn-teal:hover{ background:var(--bd); border-color:var(--bd); box-shadow:0 8px 18px rgba(0,0,0,.18); }
body .wh-page .wh-btn-outline:hover{ background:var(--ink); color:#fff; box-shadow:none; }

/* hero: one colour headline with an accent rule, round outlined icons, the badge sits straight */
body .wh-page .wh-hero{ border-top:0; }
body .wh-page .wh-hero h1{ text-shadow:none; }
body .wh-page .wh-hero h1 .l2{ color:#fff; }
body .wh-page .wh-hero.home h1::after{ content:""; display:block; width:120px; height:8px; border-radius:4px; background:var(--a); margin-top:22px; }
body .wh-page .wh-hero .wh-sub{ margin-top:20px; }
body .wh-page .wh-chips .ic{ background:transparent; color:var(--ah); border:2px solid var(--ah); border-radius:50%; }
body .wh-page .wh-hero-badge img{ transform:none; filter:drop-shadow(0 18px 30px rgba(0,0,0,.35)); }

/* cards: rounded, soft shadow, no hard offset */
body .wh-page .wh-formcard{ border:0; border-top:6px solid var(--a); border-radius:18px; box-shadow:0 22px 50px rgba(14,74,83,.2); }
body .wh-page .wh-callcard, body .wh-page .wh-card.teal{ background:var(--b); border:0; border-radius:18px; box-shadow:0 22px 50px rgba(14,74,83,.28); }
body .wh-page .wh-callcard hr{ border-top-style:solid; border-top-color:rgba(255,255,255,.25); }
body .wh-page .wh-card, body .wh-page .wh-notice, body .wh-page .wh-info{ border:1px solid var(--line); border-radius:16px; box-shadow:0 12px 30px rgba(14,74,83,.1); }
body .wh-page .wh-card.teal{ border:0; }
body .wh-page .wh-info .it{ border-top-style:solid; }
body .wh-page .wh-info .it .ic{ border-radius:50%; }
body .wh-page .wh-frame, body .wh-page .wh-frame.r{ border:0; border-radius:18px; box-shadow:0 18px 40px rgba(14,74,83,.2); }
body .wh-page .wh-frame.art img{ transform:none; filter:drop-shadow(0 12px 22px rgba(0,0,0,.3)); }

/* service tiles: upright white cards, icon in a round teal seat, an accent bar that grows on hover */
body .wh-page .wh-tiles{ gap:26px; }
body .wh-page .wh-tile{ min-height:210px; background:#fff; border:1px solid var(--line); border-radius:18px; box-shadow:0 10px 26px rgba(14,74,83,.1); transform:none; overflow:hidden; }
body .wh-page .wh-tile > *{ transform:none; }
body .wh-page .wh-tile::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:6px; background:var(--a); transform:scaleX(.22); transform-origin:left center; transition:transform .25s ease; }
body .wh-page .wh-tile .ic{ width:84px; height:84px; border-radius:50%; background:var(--b); display:grid; place-items:center; }
body .wh-page .wh-tile .ic svg{ width:44px; height:44px; stroke-width:1.8; }
body .wh-page .wh-tile b{ color:var(--ink); text-shadow:none; font-size:1.5rem; }
body .wh-page .wh-tile:hover{ transform:translateY(-6px); box-shadow:0 20px 40px rgba(14,74,83,.18); }
body .wh-page .wh-tile:hover > *{ transform:none; }
body .wh-page .wh-tile:hover::after{ transform:scaleX(1); }
body .wh-page .wh-tile:hover .ic{ background:var(--bd); }
body .wh-page .wh-svclist li{ border-top:1px solid var(--line); }

/* the dark band is a rounded panel set inside the page, not an angled stripe */
body .wh-page .wh-angle{ clip-path:none; margin:0 28px; border-radius:28px; padding:96px 0 92px; }
body .wh-page .wh-angle h2 + .rule{ width:120px; height:8px; border-radius:4px; }
body .wh-page .wh-angle + .wh-sec{ padding-top:96px; }

/* why: cream, no sunburst, white cards */
body .wh-page .wh-why{ background:var(--cream); background-image:none; color:var(--ink); clip-path:none; padding:96px 0 92px; margin-top:0; }
body .wh-page .wh-why h2{ color:var(--b); }
body .wh-page .wh-why .item{ background:#fff; border:1px solid var(--line); border-radius:16px; box-shadow:0 12px 30px rgba(14,74,83,.1); }
body .wh-page .wh-why .item h3{ color:var(--ink); border-bottom:2px solid var(--tint); }
body .wh-page .wh-why .item h3 .n{ border-radius:50%; background:var(--b); color:#fff; }
body .wh-page .wh-why .item p{ color:var(--ink); }
body .wh-page .wh-why .item.go{ background:var(--b); border-color:var(--b); }
body .wh-page .wh-why .item.go h3{ color:#fff; border-bottom-color:rgba(255,255,255,.3); }
body .wh-page .wh-why .item.go p{ color:rgba(255,255,255,.93); }
body .wh-page .wh-why .item.go a.wh-phone{ color:var(--ah); }

/* reviews heading: a rounded panel like the band */
body .wh-page .wh-reviews{ padding-top:84px; }
body .wh-page .wh-why + .wh-reviews{ padding-top:84px; }
body .wh-page .wh-reviews .bar{ clip-path:none; margin:0 28px 30px; border-radius:28px; padding:54px 0 50px; }

/* steps: round numbers, no tilt */
body .wh-page .wh-steps .st{ border:1px solid var(--line); border-radius:16px; box-shadow:0 12px 30px rgba(14,74,83,.1); }
body .wh-page .wh-steps .st::before{ border:0; border-radius:50%; transform:none; background:var(--a); color:var(--oa); top:-32px; left:24px; box-shadow:0 8px 18px rgba(0,0,0,.18); }

/* faq */
body .wh-page .wh-faq ul > li{ border:1px solid var(--line); border-radius:14px; box-shadow:0 6px 18px rgba(14,74,83,.07); }
body .wh-page .wh-faq li.uk-open{ border-color:var(--line); box-shadow:0 12px 30px rgba(14,74,83,.14); }
body .wh-page .wh-faq .uk-accordion-title::after{ border-radius:50%; }

/* town pills and cards */
body .wh-page .wh-areas a{ border-radius:999px; border-width:1px; padding:11px 18px; }
body .wh-page .wh-towns a{ border:1px solid var(--line); border-radius:16px; box-shadow:0 12px 30px rgba(14,74,83,.1); }
body .wh-page .wh-towns a:hover{ transform:translateY(-5px); box-shadow:0 20px 40px rgba(14,74,83,.18); }
body .wh-page .wh-checks li, body .wh-page .wh-related li{ border-bottom-style:solid; }

/* closing band */
body .wh-page .wh-cta{ border-radius:28px 28px 0 0; }

@media (max-width:959px){
  body .wh-page .wh-angle{ clip-path:none; margin:0 14px; border-radius:22px; padding:70px 0 66px; }
  body .wh-page .wh-why{ clip-path:none; padding:70px 0 64px; }
  body .wh-page .wh-reviews .bar{ clip-path:none; margin:0 14px 24px; border-radius:22px; padding:44px 0 40px; }
  body .wh-page .wh-frame, body .wh-page .wh-frame.r{ box-shadow:0 14px 30px rgba(14,74,83,.2); }
  body .wh-page .wh-formcard{ box-shadow:0 18px 40px rgba(14,74,83,.2); }
  body .wh-page .wh-callcard, body .wh-page .wh-card.teal{ box-shadow:0 18px 40px rgba(14,74,83,.26); }
  body .wh-page .wh-cta{ border-radius:22px 22px 0 0; }
}
@media (max-width:640px){
  body .wh-page .wh-tile{ min-height:150px; border-radius:16px; box-shadow:0 8px 20px rgba(14,74,83,.1); }
  body .wh-page .wh-tile .ic{ width:60px; height:60px; }
  body .wh-page .wh-tile .ic svg{ width:32px; height:32px; }
  body .wh-page .wh-tile b{ font-size:1.12rem; }
  body .wh-page .wh-actions .wh-btn-primary{ width:100%; }
  body .wh-page .wh-hero.home h1::after{ width:90px; height:6px; margin-top:16px; }
}

/* the reviews band shows only once Trustindex has put a widget in it, no heading over an empty space */
body .wh-page .wh-reviews:not(:has(.ti-widget)){ display:none; }
