/* TOZER Air Conditioning · site stylesheet (split from the approved homepage concept, 2026-09-27) */

@font-face{
  font-family:'Montserrat';
  src:url(/assets/fonts/montserrat-variable.woff2) format('woff2-variations');
  font-weight:100 900; font-style:normal; font-display:swap;
}
@font-face{
  font-family:'Playfair Display';
  src:url(/assets/fonts/playfair-display-italic-variable.woff2) format('woff2-variations');
  font-weight:400 900; font-style:italic; font-display:swap;
}

:root{
  /* brand */
  --navy-950:#060C1F;
  --navy-900:#0A1430;
  --navy-800:#0F1E45;
  --navy-700:#16295C;
  --navy:#013366;
  --red:#EF2328;
  --red-hot:#FF4D3A;
  --red-deep:#B5121B;
  --amber:#FF8A4C;
  --cyan:#0099C4;
  --ice:#7AC8E6;
  --ice-bright:#A8E4FF;
  --paper:#F5F7FB;
  --paper-2:#EDF1F8;
  --ink:#0B1226;
  --ink-60:rgba(11,18,38,.62);
  --ink-30:rgba(11,18,38,.32);
  --white-80:rgba(240,246,255,.82);
  --white-55:rgba(240,246,255,.55);
  --white-25:rgba(240,246,255,.25);

  --accent:#1BA6D4;
  --accent-soft:rgba(27,166,212,.22);
  --accent-ink:#0B6E9B;

  --font-d:'Montserrat',system-ui,sans-serif;
  --font-s:'Playfair Display',Georgia,serif;

  --container-small:650px; --container-medium:768px; --container-large:1024px; --container-xlarge:1120px;
  --space-1:1rem; --space-1-5:1.5rem; --space-2:2rem; --space-3:3rem; --space-4:4rem;
  --space-5:5rem; --space-7:7rem; --space-10:10rem;
  --gut:var(--space-3);
  --r-lg:22px; --r-md:14px;

  --ease-out:cubic-bezier(.16,1,.3,1);
  --ease-spring:cubic-bezier(.34,1.56,.64,1);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{margin:0;padding:0}
body{
  font-family:var(--font-d);
  background:var(--navy-950);
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:clip;
}
img,video,canvas,svg{display:block;max-width:100%}
figure{margin:0}
a{color:inherit;text-decoration:none}
button{font:inherit;border:0;background:none;cursor:pointer;color:inherit}
::selection{background:var(--accent);color:#fff}

:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}

/* ============ Client-First structure ============ */
.padding-global{padding-inline:var(--gut)}
.container-xlarge{max-width:var(--container-xlarge);margin-inline:auto}
.padding-section-medium{padding-block:var(--space-5)}
.padding-section-large{padding-block:var(--space-7)}
@media (max-width:767px){
  :root{--gut:var(--space-1-5)}
  .padding-section-medium,.padding-section-large{padding-block:var(--space-4)}
}
@keyframes grain{
  0%,100%{transform:translate(0,0)}10%{transform:translate(-4%,-6%)}20%{transform:translate(-10%,4%)}
  30%{transform:translate(6%,-8%)}40%{transform:translate(-3%,10%)}50%{transform:translate(-8%,-4%)}
  60%{transform:translate(9%,1%)}70%{transform:translate(-2%,6%)}80%{transform:translate(4%,-9%)}90%{transform:translate(8%,5%)}
}

/* ============ nav ============ */
.section_navigation{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  transition:transform .5s var(--ease-out), background .4s;
  background:linear-gradient(color-mix(in srgb, var(--navy-950) 82%, transparent), color-mix(in srgb, var(--navy-950) 55%, transparent) 70%, transparent);
}
.section_navigation.is-solid{background:color-mix(in srgb, var(--navy-950) 88%, transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(255,255,255,.06)}
.nav_container{padding-block:14px;display:flex;align-items:center;gap:28px}
.brand_wrapper{display:flex;align-items:center;gap:11px;flex-shrink:0}
.brand_wrapper img{width:33px;height:auto}
.brand_text{display:flex;flex-direction:column;line-height:1}
.brand_name{font-weight:900;font-style:italic;font-size:23px;letter-spacing:.01em;color:#fff}
.brand_name em{font-style:italic;color:var(--red)}
.brand_subtitle{font-size:7.6px;font-weight:700;letter-spacing:.34em;color:var(--ice);margin-top:3.5px}
.nav_menu{display:flex;gap:4px;margin-left:auto}
.nav_menu a{font-size:12.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--white-80);padding:9px 13px;border-radius:999px;transition:color .25s,background .25s}
.nav_menu a:hover{color:#fff;background:rgba(255,255,255,.08)}
.nav_actions{display:flex;align-items:center;gap:10px;flex-shrink:0;margin-left:auto}
.nav_menu + .nav_actions{margin-left:0}
.nav_phone{font-size:13px;font-weight:800;letter-spacing:.04em;color:#fff;display:flex;align-items:center;gap:8px;white-space:nowrap}
.nav_phone svg{width:14px;height:14px}
.button_primary,.button_ghost{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-weight:800;font-size:13.5px;letter-spacing:.08em;text-transform:uppercase;
  padding:14px 26px;border-radius:999px;position:relative;overflow:hidden;
  transition:transform .35s var(--ease-spring), box-shadow .35s, background .3s, color .3s;
  white-space:nowrap;
}
.button_primary:active,.button_ghost:active{transform:scale(.97)}
.button_primary{background:var(--red);color:#fff;box-shadow:0 10px 30px -10px rgba(239,35,40,.55)}
.button_primary:hover{background:var(--red-hot);transform:translateY(-2px);box-shadow:0 16px 38px -10px rgba(239,35,40,.65)}
.button_ghost{color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.35)}
.button_ghost:hover{box-shadow:inset 0 0 0 1.5px #fff;transform:translateY(-2px)}
.button_primary.is-small,.button_ghost.is-small{padding:10px 20px;font-size:12px}
.nav_burger{display:none;width:44px;height:44px;flex-direction:column;align-items:center;justify-content:center;gap:5px;margin-left:auto;flex-shrink:0}
.nav_burger span{display:block;width:22px;height:2px;background:#fff;transition:.3s var(--ease-out)}
.nav_burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav_burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav_burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* mobile menu */
.nav_mobile-menu{position:fixed;inset:0;z-index:990;background:color-mix(in srgb, var(--navy-950) 96%, transparent);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  display:flex;flex-direction:column;justify-content:center;padding:80px var(--gut) 40px;
  opacity:0;pointer-events:none;visibility:hidden;transition:opacity .4s, visibility 0s .4s}
.nav_mobile-menu.is-open{opacity:1;pointer-events:auto;visibility:visible;transition:opacity .4s}
.nav_mobile-menu a.nav_mobile-link{font-size:clamp(28px,7vw,40px);font-weight:800;color:#fff;padding:10px 0;letter-spacing:-.01em;border-bottom:1px solid rgba(255,255,255,.08);
  display:flex;justify-content:space-between;align-items:center;transform:translateY(18px);opacity:0;transition:.5s var(--ease-out)}
.nav_mobile-menu a.nav_mobile-link small{font-size:12px;font-weight:700;color:var(--accent);letter-spacing:.2em}
.nav_mobile-menu.is-open a.nav_mobile-link{transform:none;opacity:1}
.nav_mobile-menu .button_primary{margin-top:28px}

/* ============ hero ============ */
.section_hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;color:#fff}
.hero_media{position:absolute;inset:0}
.hero_media video{width:100%;height:100%;object-fit:cover;filter:saturate(.92) contrast(1.04)}
.hero_media::after{content:"";position:absolute;inset:0;
  background:
   linear-gradient(180deg, rgba(6,12,31,.62), rgba(6,12,31,.28) 34%, rgba(6,12,31,.44) 66%, var(--navy-950) 97%),
   radial-gradient(120% 90% at 18% 88%, rgba(6,12,31,.78) 0%, transparent 55%);
}
.hero_tint{position:absolute;inset:0;mix-blend-mode:soft-light;
  background:linear-gradient(115deg, color-mix(in srgb, var(--cyan) 55%, transparent), transparent 45%, color-mix(in srgb, var(--red) 45%, transparent));
  opacity:.5}
.hero_content{position:relative;z-index:3;padding-top:130px;padding-bottom:clamp(90px,13vh,150px)}
.hero_eyebrow{display:flex;align-items:center;gap:14px;font-size:12px;font-weight:700;letter-spacing:.32em;text-transform:uppercase;color:var(--ice-bright);margin-bottom:26px}
.hero_eyebrow::before{content:"";width:44px;height:1.5px;background:linear-gradient(90deg,var(--cyan),var(--red));flex-shrink:0}
.section_hero h1{
  margin:0;font-weight:900;text-transform:uppercase;letter-spacing:-.022em;
  font-size:clamp(52px,10.2vw,152px);line-height:.92;
}
.section_hero h1 .hero_heading-row{display:block;overflow:hidden}
.section_hero h1 .hero_heading-inner{display:block;transform:translateY(110%);animation:heroRise 1.1s var(--ease-out) forwards}
.section_hero h1 .hero_heading-row:nth-child(2) .hero_heading-inner{animation-delay:.12s}
@keyframes heroRise{to{transform:none}}
.section_hero h1 .hero_heading-accent{
  background:linear-gradient(90deg,var(--ice-bright) 0%,var(--ice) 26%,#fff 50%,var(--amber) 74%,var(--red-hot) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  background-size:220% 100%;background-position:36% 0;
}
.hero_tagline{
  font-family:var(--font-s);font-style:italic;font-weight:500;
  font-size:clamp(19px,2.6vw,29px);color:var(--white-80);margin:28px 0 14px;
  opacity:0;animation:fadeUp 1s .5s var(--ease-out) forwards;
}
.hero_subtitle{max-width:520px;font-size:15px;line-height:1.75;color:var(--white-80);font-weight:500;margin:0 0 34px;
  opacity:0;animation:fadeUp 1s .65s var(--ease-out) forwards}
.hero_cta-group{display:flex;gap:14px;flex-wrap:wrap;opacity:0;animation:fadeUp 1s .8s var(--ease-out) forwards}
@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.hero_side{
  position:absolute;right:var(--gut);bottom:clamp(90px,13vh,150px);z-index:3;
  display:flex;flex-direction:column;align-items:flex-end;gap:14px;
  opacity:0;animation:fadeUp 1s 1s var(--ease-out) forwards;
}
.hero_scroll-indicator{display:flex;align-items:center;gap:10px;font-size:10px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--white-55)}
.hero_scroll-indicator .hero_scroll-line{width:1.5px;height:44px;background:rgba(255,255,255,.2);position:relative;overflow:hidden}
.hero_scroll-indicator .hero_scroll-line::after{content:"";position:absolute;left:0;top:-50%;width:100%;height:50%;background:#fff;animation:scrollLine 2s var(--ease-out) infinite}
@keyframes scrollLine{to{top:110%}}

/* region marquee */
.marquee_wrapper{position:relative;z-index:3;border-top:1px solid rgba(255,255,255,.09);padding-top:18px;padding-bottom:52px;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee_track{display:flex;gap:0;width:max-content;animation:marq 36s linear infinite}
.marquee_wrapper:hover .marquee_track{animation-play-state:paused}
@keyframes marq{to{transform:translateX(-50%)}}
.marquee_wrapper span{display:flex;align-items:center;gap:26px;padding-right:26px;font-size:12.5px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--white-80);white-space:nowrap}
.marquee_wrapper span i{font-style:normal;color:var(--accent);font-size:9px}

/* ============ sections base ============ */
section{position:relative}
.text-style-eyebrow{display:inline-flex;align-items:center;gap:12px;font-size:11.5px;font-weight:800;letter-spacing:.3em;text-transform:uppercase;color:var(--accent-ink);margin-bottom:20px}
.text-style-eyebrow::before{content:"";width:30px;height:2px;background:var(--accent);border-radius:2px}
.is-dark .text-style-eyebrow{color:var(--ice)}
h2.heading-style-h2{
  margin:0 0 18px;font-weight:900;text-transform:uppercase;letter-spacing:-.018em;
  font-size:clamp(36px,5.6vw,74px);line-height:.98;
}
h2.heading-style-h2 .is-thin{font-weight:250;letter-spacing:-.01em}
.text-style-lede{font-size:clamp(15.5px,1.8vw,18px);line-height:1.8;color:var(--ink-60);max-width:640px;font-weight:500}
.is-dark .text-style-lede{color:var(--white-80)}

/* kinetic per-letter weight (JS adds spans) */
.is-kinetic .kinetic_letter{display:inline-block;font-variation-settings:'wght' var(--w,900);transition:font-variation-settings .18s linear;will-change:font-variation-settings}

/* reveal */
.is-reveal{opacity:0;transform:translateY(34px);transition:opacity 1s var(--ease-out),transform 1s var(--ease-out)}
.is-reveal.is-inview{opacity:1;transform:none}
.is-delay-1{transition-delay:.08s}.is-delay-2{transition-delay:.16s}.is-delay-3{transition-delay:.24s}.is-delay-4{transition-delay:.32s}

/* ============ statement base (rounded paper cap) ============ */
.is-statement{background:var(--paper);color:var(--ink);border-radius:clamp(24px,4vw,44px) clamp(24px,4vw,44px) 0 0;margin-top:-24px;z-index:4}

/* ============ hero trust strip ============ */
.trust_list{list-style:none;display:flex;gap:12px;flex-wrap:wrap;margin:26px 0 0;padding:0;
  opacity:0;animation:fadeUp 1s .95s var(--ease-out) forwards}
.trust_list li{display:flex;align-items:center;gap:9px;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--white-80);
  background:rgba(10,20,48,.5);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);border-radius:999px;padding:10px 16px}
.trust_list li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent)}

/* ============ service pathways ============ */
.pathway_wrapper{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,26px);margin-top:clamp(40px,6vw,70px)}
.pathway_card{display:flex;flex-direction:column;border-radius:var(--r-lg);overflow:hidden;background:#fff;
  box-shadow:0 2px 8px rgba(11,18,38,.06),0 24px 60px -30px rgba(11,18,38,.25);
  transition:transform .5s var(--ease-out), box-shadow .5s}
.pathway_card:hover{transform:translateY(-6px);box-shadow:0 4px 12px rgba(11,18,38,.08),0 44px 90px -30px rgba(11,18,38,.38)}
.pathway_media{aspect-ratio:4/2.5;overflow:hidden}
.pathway_media img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease-out)}
.pathway_card:hover .pathway_media img{transform:scale(1.06)}
.pathway_body{padding:clamp(22px,2.6vw,30px);display:flex;flex-direction:column;gap:10px;flex:1}
.pathway_body h3{margin:0;font-size:clamp(20px,1.9vw,23px);font-weight:850;letter-spacing:-.01em;text-transform:uppercase;color:var(--ink)}
.pathway_body p{margin:0;font-size:14px;line-height:1.7;color:var(--ink-60)}
.pathway_body .link_cta{margin-top:auto;padding-top:12px}

/* ============ why tozer ============ */
.section_why{background:var(--navy-950);color:#fff;overflow:clip}
.section_why::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(60% 50% at 15% 0%, rgba(15,30,69,.6), transparent 70%)}
.section_why .padding-global{position:relative;z-index:2}
.why_header{max-width:760px}
.feature_wrapper{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,26px);margin-top:clamp(40px,6vw,64px)}
.feature_card{background:rgba(255,255,255,.045);border-radius:var(--r-lg);padding:clamp(24px,2.8vw,34px);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
.feature_icon{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:15px;margin-bottom:18px;
  background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}
.feature_icon svg{width:24px;height:24px;color:var(--ice-bright)}
.feature_card h3{margin:0 0 10px;font-size:clamp(18px,1.8vw,21px);font-weight:850;text-transform:uppercase;letter-spacing:0}
.feature_card p{margin:0;font-size:14px;line-height:1.75;color:var(--white-80)}
.feature_card p b{color:#fff;font-weight:700}
.why_quote{margin:clamp(48px,6vw,72px) auto clamp(30px,4vw,44px);max-width:900px;text-align:center;
  font-family:var(--font-s);font-style:italic;font-weight:500;font-size:clamp(26px,3.8vw,44px);line-height:1.25;color:#fff}
.why_quote .quote_mark{color:var(--accent)}
.why_quote cite{display:block;font-family:var(--font-d);font-style:normal;font-size:11px;font-weight:800;letter-spacing:.26em;text-transform:uppercase;color:var(--white-55);margin-top:16px}

/* stats (shared) */
.stat_wrapper{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--ink-30);border-radius:var(--r-lg);overflow:hidden;margin-top:clamp(30px,4vw,44px);box-shadow:0 1px 0 var(--ink-30), 0 -1px 0 var(--ink-30)}
.stat_item{background:var(--paper);padding:clamp(24px,3vw,40px) clamp(20px,2.6vw,36px)}
.stat_item b{display:block;font-size:clamp(38px,4.6vw,62px);font-weight:250;letter-spacing:-.03em;line-height:1;color:var(--ink)}
.stat_item b sup{font-size:.45em;font-weight:600;color:var(--accent-ink);vertical-align:super}
.stat_item > span{display:block;margin-top:10px;font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-60)}
.is-dark{background:rgba(255,255,255,.14);box-shadow:none}
.is-dark .stat_item{background:var(--navy-900)}
.is-dark .stat_item b{color:#fff}
.is-dark .stat_item b sup{color:var(--ice)}
.is-dark .stat_item > span{color:var(--white-55)}

/* ============ system finder fit chips ============ */
.system_chip{position:absolute;top:16px;left:18px;z-index:2;font-size:10.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#fff;
  background:rgba(6,12,31,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.2);padding:8px 14px;border-radius:999px;max-width:80%}

/* ============ brand strip ============ */
.section_logos{background:var(--paper);border-top:1px solid rgba(11,18,38,.08)}
.logos_content{text-align:center}
.section_logos .text-style-label{margin:0 0 26px;font-size:11px;font-weight:800;letter-spacing:.28em;text-transform:uppercase;color:var(--ink-60)}
.logo_list.is-light img{filter:none;opacity:.92}
.logos_note{margin:26px 0 0;font-size:13.5px;font-weight:600;color:var(--ink-60)}

/* ============ offer band (swappable component) ============ */
.banner_offer{background:linear-gradient(90deg,var(--navy-900),var(--navy-800));border-block:1px solid rgba(255,255,255,.08);color:#fff}
.banner_content{display:flex;align-items:center;gap:22px;flex-wrap:wrap;padding-block:20px}
.banner_chip{flex-shrink:0;font-size:10.5px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:#fff;
  background:var(--red);border-radius:999px;padding:8px 15px}
.banner_text{margin:0;flex:1;min-width:260px;font-size:14.5px;font-weight:500;color:var(--white-80)}
.banner_text b{color:#fff;font-weight:700}

/* ============ reviews header stars ============ */
.testimonial_stars-large{margin:0 0 14px;font-size:clamp(22px,2.6vw,30px);letter-spacing:8px;color:var(--amber);text-shadow:0 0 24px rgba(255,138,76,.45)}

/* ============ areas ============ */
.section_areas{background:var(--paper)}
.area_wrapper{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.8vw,22px);margin-top:clamp(40px,6vw,64px)}
.area_card{display:flex;flex-direction:column;gap:4px;background:#fff;border-radius:var(--r-md);padding:clamp(20px,2.4vw,28px);
  box-shadow:0 2px 8px rgba(11,18,38,.06),0 18px 44px -26px rgba(11,18,38,.22);
  transition:transform .4s var(--ease-out), box-shadow .4s}
a.area_card:hover{transform:translateY(-4px);box-shadow:0 4px 12px rgba(11,18,38,.08),0 30px 60px -26px rgba(11,18,38,.32)}
.area_card b{font-size:17px;font-weight:850;text-transform:uppercase;letter-spacing:.02em;color:var(--ink)}
.area_card small{font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-60)}
.area_card span{margin-top:10px;font-size:16px;font-weight:700;color:var(--accent-ink)}
.is-delay-4{transition-delay:.4s}

/* ============ contact extras ============ */
.contact_phone-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:26px}
.contact_email{font-size:13.5px;color:var(--white-55);font-weight:600}
.contact_email a{color:var(--ice);font-weight:700}

/* ============ showroom ============ */
.section_showroom{background:var(--navy-950);color:#fff;overflow:clip}
.section_showroom::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(70% 60% at 82% 20%, rgba(15,30,69,.55), transparent 70%)}
.section_showroom .padding-global{position:relative;z-index:2}
.showroom_wrapper{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(40px,6vw,90px);align-items:center}
.showroom_info-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:30px 0 30px;max-width:460px}
.info_chip{background:rgba(255,255,255,.05);border-radius:var(--r-md);padding:16px 18px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
.info_chip small{display:block;font-size:9.5px;font-weight:800;letter-spacing:.24em;text-transform:uppercase;color:var(--ice);margin-bottom:7px}
.info_chip b{font-size:13.5px;font-weight:700;line-height:1.5;display:block}
.showroom_cta-group{display:flex;gap:14px;flex-wrap:wrap}
.showroom_figure{position:relative;padding-bottom:56px}
.showroom_figure .showroom_photo-main{border-radius:var(--r-lg);overflow:hidden;box-shadow:0 40px 90px -40px rgba(0,0,0,.85)}
.showroom_figure .showroom_photo-main img{width:100%;aspect-ratio:4/4.7;object-fit:cover}
.showroom_figure .showroom_photo-overlay{position:absolute;left:-8%;bottom:0;width:56%;border-radius:var(--r-md);overflow:hidden;
  box-shadow:0 30px 60px -25px rgba(0,0,0,.9), 0 0 0 6px var(--navy-950)}
.showroom_figure .showroom_photo-overlay img{width:100%;aspect-ratio:4/3;object-fit:cover}
.showroom_figure .showroom_caption{position:absolute;right:0;bottom:20px;max-width:40%;text-align:right;line-height:1.7;font-size:10.5px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--white-55)}
.showroom_mascot{position:absolute;top:-34px;right:6%;width:56px;transform:rotate(4deg)}

/* ============ systems ============ */
.section_systems{background:var(--paper)}
.intro_wrapper{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;flex-wrap:wrap;margin-bottom:clamp(40px,6vw,70px)}
.system_wrapper{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,26px);perspective:1400px}
.system_card{
  position:relative;border-radius:var(--r-lg);overflow:hidden;background:#fff;
  box-shadow:0 2px 8px rgba(11,18,38,.06),0 24px 60px -30px rgba(11,18,38,.25);
  transform-style:preserve-3d;transition:transform .5s var(--ease-out), box-shadow .5s;
  display:flex;flex-direction:column;
}
.system_card:hover{box-shadow:0 4px 12px rgba(11,18,38,.08),0 44px 90px -30px rgba(11,18,38,.38)}
.system_media{position:relative;aspect-ratio:4/2.9;overflow:hidden}
.system_media img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease-out)}
.system_card:hover .system_media img{transform:scale(1.06)}
.system_media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,12,31,.0) 40%,rgba(6,12,31,.78))}
.system_body{padding:clamp(22px,2.6vw,32px);display:flex;flex-direction:column;gap:12px;flex:1;transform:translateZ(34px)}
.system_body h3{margin:0;font-size:clamp(21px,2vw,25px);font-weight:850;letter-spacing:-.01em;text-transform:uppercase}
.system_body p{margin:0;font-size:14px;line-height:1.7;color:var(--ink-60)}
.link_cta{margin-top:auto;padding-top:16px;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink);display:flex;align-items:center;gap:8px}
.link_cta svg{width:14px;height:14px;transition:transform .3s}
.system_card:hover .link_cta svg{transform:translateX(5px)}

/* ============ workband ============ */
.section_work{background:var(--navy-950);color:#fff;border-block:1px solid rgba(255,255,255,.07)}
.work_header{text-align:center;max-width:1040px;margin:0 auto clamp(40px,5vw,60px);padding-inline:var(--gut)}
.work_header h2{margin:0;font-weight:250;font-size:clamp(30px,4.2vw,54px);line-height:1.08;letter-spacing:-.01em;color:var(--white-80)}
.work_header h2 b{white-space:nowrap;font-weight:850;color:#fff;text-transform:uppercase;letter-spacing:-.015em}
.work_header p{margin:16px 0 0;font-size:clamp(16px,1.3vw,18px);line-height:1.6;font-weight:500;color:var(--white-80)}
.work_wrapper{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,1.8vw,28px);max-width:calc(1360px + 2*var(--gut));margin-inline:auto;padding-inline:var(--gut)}
.work_item{display:flex;flex-direction:column;gap:18px}
.work_media{border-radius:var(--r-md);overflow:hidden;background:var(--navy-800)}
.work_media img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .9s var(--ease-out)}
.work_item:hover .work_media img{transform:scale(1.04)}
.work_caption{font-size:16px;font-weight:600;line-height:1.5;color:var(--white-80)}
.work_caption b{display:block;margin-bottom:6px;font-size:12px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--ice)}
@media (max-width:1080px){.work_wrapper{grid-template-columns:repeat(2,minmax(0,1fr));max-width:calc(860px + 2*var(--gut))}.work_media img{aspect-ratio:4/3}}
@media (max-width:560px){.work_wrapper{grid-template-columns:1fr;gap:34px}.work_media img{aspect-ratio:3/2}.work_caption{font-size:16.5px}}

/* ============ service ============ */
.service{background:var(--navy-900);color:#fff;overflow:clip}
.svc{border-top:1px solid rgba(255,255,255,.12);padding:0}
.svc:last-child{border-bottom:1px solid rgba(255,255,255,.12)}
.svc-head{width:100%;display:flex;align-items:center;gap:18px;padding:20px 4px;text-align:left}
.svc-head .n{font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--accent);width:30px;flex-shrink:0}
.svc-head .t{font-size:clamp(16.5px,1.8vw,20px);font-weight:800;letter-spacing:.01em;flex:1}
.svc-head .x{width:34px;height:34px;border-radius:50%;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:.35s var(--ease-out)}
.svc-head .x svg{width:13px;height:13px;transition:transform .35s var(--ease-out)}
.svc.is-open .x{background:var(--accent);box-shadow:none}
.svc.is-open .x svg{transform:rotate(45deg)}
.svc-panel{max-height:0;overflow:hidden;transition:max-height .55s var(--ease-out)}
.svc-panel p{margin:0;padding:0 4px 22px 48px;font-size:14px;line-height:1.8;color:var(--white-80);max-width:520px}
.svc-panel b{color:#fff;font-weight:700}

/* ============ process ============ */
.process{background:var(--paper)}
.proc-wrap{position:relative;margin-top:clamp(46px,7vw,80px)}
.steps{display:flex;flex-direction:column;gap:clamp(34px,5vw,54px)}
.step{position:relative;display:grid;grid-template-columns:48px 1fr;gap:clamp(18px,3vw,34px)}

/* ============ team ============ */
.section_team{background:var(--navy-950);color:#fff;overflow:clip}
.team_header{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;flex-wrap:wrap}
.team_quote{max-width:400px;font-family:var(--font-s);font-style:italic;font-size:clamp(17px,2vw,21px);line-height:1.55;color:var(--white-80)}
.team_quote cite{display:block;font-family:var(--font-d);font-style:normal;font-size:11px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--ice);margin-top:12px}
.rail_wrapper{margin-top:clamp(40px,6vw,64px);overflow:hidden;cursor:grab;margin-inline:calc(-1*var(--gut));user-select:none;-webkit-user-select:none;touch-action:pan-y}
.rail_wrapper:active{cursor:grabbing}
.rail_track{display:flex;gap:clamp(14px,1.6vw,22px);padding-inline:var(--gut);width:max-content}
.rail_card{position:relative;flex-shrink:0;width:clamp(230px,26vw,330px);border-radius:var(--r-lg);overflow:hidden;background:var(--navy-800)}
.rail_card img{width:100%;aspect-ratio:3/3.9;object-fit:cover;pointer-events:none;transition:transform .9s var(--ease-out)}
.rail_card:hover img{transform:scale(1.05)}
.rail_card.is-wide{width:clamp(340px,40vw,520px)}
.rail_card.is-wide img{aspect-ratio:16/10.4;height:100%}
.rail_card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(6,12,31,.72))}
.rail_caption{position:absolute;left:18px;right:18px;bottom:15px;z-index:2;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#fff}
.rail_caption small{display:block;font-weight:600;letter-spacing:.06em;text-transform:none;color:var(--white-55);font-size:11.5px;margin-top:3px}
.rail_hint{margin-top:22px;text-align:center;font-size:10.5px;font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:var(--white-55)}

/* ============ reviews ============ */
.section_testimonials{background:var(--navy-900);color:#fff;overflow:clip;position:relative}
.testimonials_background{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.36}
.section_testimonials::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--navy-900) 4%,rgba(10,20,48,.25) 40%,rgba(10,20,48,.25) 70%,var(--navy-900) 97%);z-index:1}
.section_testimonials .padding-global{position:relative;z-index:2}
.testimonial_hero{text-align:center;max-width:840px;margin-inline:auto}
.testimonial_hero blockquote{margin:26px 0 14px;font-family:var(--font-s);font-style:italic;font-weight:500;font-size:clamp(27px,4.4vw,52px);line-height:1.22;color:#fff}
.testimonial_hero blockquote .quote_mark{color:var(--accent)}
.testimonial_hero cite{font-style:normal;font-size:11.5px;font-weight:800;letter-spacing:.26em;text-transform:uppercase;color:var(--white-55)}
.testimonial_belt{margin-top:clamp(46px,6vw,70px);overflow:hidden;margin-inline:calc(-1*var(--gut));
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.testimonial_track{display:flex;gap:18px;width:max-content;padding-inline:var(--gut);animation:marq 52s linear infinite}
.testimonial_belt:hover .testimonial_track{animation-play-state:paused}
.testimonial_card{width:330px;flex-shrink:0;background:rgba(10,20,48,.66);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:var(--r-lg);padding:24px 26px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
.testimonial_stars{color:var(--amber);font-size:13px;letter-spacing:3px;margin-bottom:12px}
.testimonial_card p{margin:0 0 16px;font-size:13.5px;line-height:1.7;color:var(--white-80)}
.testimonial_card footer{display:flex;align-items:center;gap:11px}
.testimonial_avatar{width:34px;height:34px;border-radius:50%;background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:#fff}
.testimonial_card b{display:block;font-size:12.5px;font-weight:800;letter-spacing:.04em}
.testimonial_card small{font-size:11px;color:var(--white-55);font-weight:600}
.logo_list{display:flex;align-items:center;justify-content:center;gap:clamp(34px,6vw,80px);flex-wrap:wrap}
.logo_list .logo_item{display:flex;align-items:center;justify-content:center;padding:10px 6px;border-radius:10px}
.logo_list img{height:clamp(26px,3.2vw,40px);width:auto;filter:brightness(0) invert(1);opacity:.85;transition:opacity .3s, transform .3s}
.logo_list .is-fujitsu img{height:clamp(38px,4.6vw,58px)}
.logo_list .logo_item:hover img{opacity:1;transform:translateY(-2px)}

/* ============ contact ============ */
.section_cta{background:var(--navy-950);color:#fff;overflow:clip}
.contact_wrapper{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,460px);gap:clamp(44px,6vw,100px);align-items:start}
.section_cta h2.heading-style-h2{font-size:clamp(40px,5vw,68px)}
.section_cta .contact_mascot{width:clamp(150px,16vw,220px);border-radius:24px;margin-bottom:30px;box-shadow:0 30px 70px -30px rgba(0,0,0,.8);transform:rotate(-3deg)}
.form_wrapper{background:rgba(255,255,255,.045);border-radius:var(--r-lg);padding:clamp(26px,3vw,40px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);position:relative}
.form_wrapper h3{margin:0 0 6px;font-size:22px;font-weight:850;text-transform:uppercase;letter-spacing:.01em}
.form_wrapper>p{margin:0 0 24px;font-size:13px;color:var(--white-80);line-height:1.6}
.form_row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 14px}
.form_field{display:flex;flex-direction:column;gap:7px;margin-bottom:14px}
.form_field label{font-size:10.5px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--white-55)}
.form_field input,.form_field select,.form_field textarea{
  font:inherit;font-size:14px;color:#fff;background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.16);border-radius:10px;padding:13px 15px;
  transition:border-color .3s, background .3s;appearance:none;-webkit-appearance:none;
}
.form_field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%237AC8E6' stroke-width='2' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center}
.form_field select option{color:var(--ink)}
.form_field input::placeholder,.form_field textarea::placeholder{color:rgba(240,246,255,.35)}
.form_field input:focus,.form_field select:focus,.form_field textarea:focus{outline:none;border-color:var(--accent);background:rgba(255,255,255,.09)}
.form_field textarea{min-height:96px;resize:vertical}
/* form review (Daniel, 3 Oct 2026): invalid fields flag in place, so the box never changes size; 16px inputs on phones so iOS does not zoom */
.form_field [aria-invalid="true"]{border-color:var(--red)!important}
.form_field:has([aria-invalid="true"]) label{color:#FF8A8D}
.form_field:has([aria-invalid="true"]) label::after{content:" · check"}
.form_field label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.form_wrapper.is-light .form_field:has([aria-invalid="true"]) label{color:var(--red-deep)}
.form_privacy{margin:12px 0 0;font-size:12px;line-height:1.5;color:var(--white-55);text-align:center}
.form_privacy a{color:inherit;text-decoration:underline;text-underline-offset:2px;white-space:nowrap}
.form_privacy a:hover{color:var(--ice)}
.form_wrapper.is-light .form_privacy{color:var(--ink-60)}
.form_wrapper.is-light .form_privacy a:hover{color:var(--accent-ink)}
@media (max-width:760px){.form_field input,.form_field select,.form_field textarea{font-size:16px}}
@media (max-width:600px){.form_row{grid-template-columns:1fr}}
.form_wrapper .button_primary{width:100%;margin-top:8px}
.form_note{margin-top:14px;font-size:11px;color:var(--white-55);text-align:center}
.form_wrapper.is-sent .form_fields{display:none}
.form_success{display:none;text-align:center;padding:40px 10px}
.form_wrapper.is-sent .form_success{display:block}
/* confirmation pop-up for forms that stay on the page (Careers): native <dialog>, opened by site.js */
.form_dialog{border:0;padding:0;margin:auto;width:calc(100% - 32px);max-width:440px;border-radius:var(--r-lg);background:#fff;color:var(--ink);box-shadow:0 40px 90px -30px rgba(6,12,31,.6)}
.form_dialog::backdrop{background:rgba(6,12,31,.72);backdrop-filter:blur(4px)}
.form_dialog-body{padding:clamp(30px,5vw,44px);text-align:center}
.form_dialog h3{margin:0 0 10px;font-size:22px;font-weight:850;text-transform:uppercase;letter-spacing:.01em;line-height:1.15}
.form_dialog p{margin:0 0 26px;font-size:15px;line-height:1.6;color:var(--ink-60)}
.form_dialog p a{color:var(--accent-ink);font-weight:800}
.form_dialog form{margin:0}
.form_success .form_success-icon,.form_dialog .form_success-icon{width:64px;height:64px;border-radius:50%;background:var(--accent);margin:0 auto 20px;display:flex;align-items:center;justify-content:center}
.form_success .form_success-icon svg,.form_dialog .form_success-icon svg{width:26px;height:26px;color:#fff}

/* footer (rebuilt 2026-10-03 on the Tops In Stone pattern) */
.section_footer{background:var(--navy-950);border-top:1px solid rgba(255,255,255,.08);color:var(--white-55)}
.container-footer{max-width:1280px;margin-inline:auto}
.footer_top{padding-top:clamp(56px,7vw,90px);display:grid;grid-template-columns:minmax(0,4.4fr) minmax(0,7.6fr);gap:44px clamp(32px,4.5vw,80px);align-items:start}
.footer_brand .brand_wrapper img{width:36px}
.footer_brand .brand_name{font-size:27px}
.footer_brand .brand_subtitle{font-size:8.6px}
.footer_tagline{margin:26px 0 0;font-weight:250;font-size:clamp(26px,2.6vw,34px);line-height:1.1;letter-spacing:-.01em;color:var(--white-80)}
.footer_tagline b{display:block;font-weight:850;color:#fff;text-transform:uppercase;letter-spacing:-.015em}
.footer_blurb{margin:16px 0 0;max-width:46ch;font-size:15.5px;line-height:1.7;font-weight:500;color:var(--white-80)}
.footer_rating{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px 12px;margin-top:24px;color:#fff;font-size:15px}
.footer_stars{display:inline-flex;gap:2px}
.footer_stars svg{width:17px;height:17px;fill:#F5B83D}
.footer_rating b{font-weight:700}
.footer_rating small{font-size:14px;font-weight:600;color:var(--white-55);transition:color .25s}
.footer_rating:hover small{color:var(--ice)}
.footer_social{display:flex;align-items:center;gap:10px;width:max-content;margin-top:18px;font-size:15px;font-weight:600;color:var(--white-80);transition:color .25s}
.footer_social svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.footer_social:hover{color:var(--ice)}
.footer_links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px clamp(16px,2vw,28px)}
.section_footer h4{margin:0 0 18px;font-size:12px;font-weight:800;letter-spacing:.24em;text-transform:uppercase;color:var(--ice)}
.section_footer ul{list-style:none;margin:0;padding:0}
.footer_links li{margin-bottom:12px}
.footer_links a{font-size:15.5px;font-weight:600;line-height:1.35;color:var(--white-80);transition:color .25s}
.footer_links a:hover,.footer_visit p a:hover{color:var(--ice)}
.footer_visit{margin-top:clamp(44px,5vw,64px);padding-top:clamp(30px,3.4vw,40px);border-top:1px solid rgba(255,255,255,.09);display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:28px clamp(24px,3vw,48px);align-items:start}
.footer_visit h4{margin-bottom:12px}
.footer_visit p{margin:0;font-size:15.5px;line-height:1.7;font-weight:500;color:var(--white-80)}
.footer_visit p a{color:#fff;font-weight:600;transition:color .25s}
.footer_visit .button_primary{align-self:center;white-space:nowrap}
.footer_bottom{margin-top:clamp(40px,5vw,60px);padding-block:24px 34px;border-top:1px solid rgba(255,255,255,.09);display:flex;align-items:center;justify-content:space-between;gap:12px 28px;flex-wrap:wrap;font-size:13px;font-weight:500;line-height:1.6;color:var(--white-55)}
.footer_bottom ul{display:flex;flex-wrap:wrap;gap:6px 24px}
.footer_bottom a{color:var(--white-55);transition:color .25s}
.footer_bottom a:hover{color:#fff}
@media (max-width:1080px){
  .footer_top{grid-template-columns:1fr}
  .footer_visit{grid-template-columns:repeat(3,minmax(0,1fr))}
  .footer_visit .button_primary{grid-column:1/-1;justify-self:start}
}
@media (max-width:640px){
  .footer_links{grid-template-columns:1fr 1fr;gap:34px 20px}
  .footer_visit{grid-template-columns:1fr;gap:24px}
  .footer_visit .button_primary{justify-self:stretch;justify-content:center}
  .footer_bottom{flex-direction:column;align-items:flex-start}
}

/* back to top */
.button_back-to-top{position:fixed;right:18px;bottom:18px;z-index:900;width:46px;height:46px;border-radius:50%;
  background:rgba(10,20,48,.72);backdrop-filter:blur(10px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);
  display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:.4s;transform:translateY(10px)}
.button_back-to-top.is-visible{opacity:1;pointer-events:auto;transform:none}
.button_back-to-top svg{width:18px;height:18px;color:#fff}
.button_back-to-top:hover{background:var(--accent)}

/* skip link */
.skip_link{position:fixed;top:-60px;left:16px;z-index:2000;background:var(--red);color:#fff;font-weight:800;font-size:13px;padding:12px 20px;border-radius:10px;transition:top .3s}
.skip_link:focus{top:14px}

/* ============ responsive ============ */
@media (max-width:1080px){
  .nav_menu{display:none}
  .nav_actions .button_primary{display:none}
  .nav_burger{display:flex}
  .stat_wrapper{grid-template-columns:repeat(2,1fr)}
  .pathway_wrapper{grid-template-columns:1fr;max-width:560px;margin-inline:auto}
  .feature_wrapper{grid-template-columns:1fr;max-width:560px}
  .area_wrapper{grid-template-columns:1fr 1fr}
  .showroom_wrapper{grid-template-columns:1fr}
  .showroom_figure{max-width:560px}
  .system_wrapper{grid-template-columns:1fr;max-width:560px;margin-inline:auto}
  .contact_wrapper{grid-template-columns:1fr}
}
@media (max-width:760px){
  .section_hero h1{font-size:clamp(46px,13.5vw,80px)}
  .hero_side{position:static;align-items:flex-start;flex-direction:row;margin-top:26px;animation-delay:.9s}
  .hero_eyebrow{font-size:9.5px;letter-spacing:.2em}
  .stat_wrapper{grid-template-columns:1fr 1fr}
  .showroom_info-grid{grid-template-columns:1fr}
  .testimonial_card{width:290px}
  .area_wrapper{grid-template-columns:1fr}
  .banner_content{flex-direction:column;align-items:flex-start}
  .trust_list li{font-size:10px;padding:8px 13px}
}
@media (max-width:540px){
  .nav_phone-number{display:none}
  .nav_phone{width:40px;height:40px;justify-content:center;border-radius:50%;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.3)}
  .nav_phone svg{width:16px;height:16px}
  .nav_container{gap:14px}
}
@media (max-width:480px){
  .stat_wrapper{grid-template-columns:1fr 1fr;gap:1px}
  .stat_item b{font-size:34px}
  .hero_cta-group .button_primary,.hero_cta-group .button_ghost{flex:1 1 auto;justify-content:center;min-width:0}
  /* long labels (area CTAs) wrap inside the pill instead of clipping or widening the column */
  .button_primary,.button_ghost{white-space:normal;text-align:center;max-width:100%}
}

/* reduced motion */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
  .marquee_track,.testimonial_track{animation:none;transform:none}
  .section_hero h1 .hero_heading-inner{transform:none;animation:none}
  .hero_tagline,.hero_subtitle,.hero_cta-group,.hero_side{opacity:1;animation:none}
  .is-reveal{opacity:1;transform:none}
  .bigread .word{opacity:1}
}


/* ============ site nav: dropdowns (added 2026-09-27) ============ */
.skip_link{position:absolute;left:-999px;top:8px;z-index:2000;background:#fff;color:var(--ink);padding:8px 14px;border-radius:999px;font-weight:700}
.skip_link:focus{left:12px}
.nav_menu{align-items:center}
.nav_item{position:relative}
.nav_menu .nav_link{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--white-80);padding:9px 13px;border-radius:999px;background:none;border:0;cursor:pointer;font-family:inherit;transition:color .25s,background .25s}
.nav_menu .nav_link:hover,.nav_menu .nav_link[aria-current="page"],.nav_item[data-current]>.nav_link,.nav_item.is-open>.nav_link,.nav_item:hover>.nav_link{color:#fff;background:rgba(255,255,255,.08)}
.nav_menu .nav_link svg{width:10px;height:10px;flex-shrink:0;transition:transform .25s var(--ease-out)}
.nav_item.is-open>.nav_link svg,.nav_item:hover>.nav_link svg{transform:rotate(180deg)}
/* 1081-1199px (iPad landscape): the full desktop row needs ~1184px, so the phone becomes the round icon and the pills tighten */
@media (min-width:1081px) and (max-width:1199px){
  .nav_menu{gap:2px}
  .nav_menu a,.nav_menu .nav_link{padding:9px 10px}
  .nav_phone-number{display:none}
  .nav_phone{width:40px;height:40px;justify-content:center;border-radius:50%;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.3)}
  .nav_phone svg{width:16px;height:16px}
}
.nav_dropdown{position:absolute;top:calc(100% + 8px);left:0;min-width:250px;padding:8px;border-radius:16px;background:color-mix(in srgb, var(--navy-950) 94%, transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 24px 60px -20px rgba(0,0,0,.6), inset 0 0 0 1px rgba(255,255,255,.08);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .25s, transform .25s var(--ease-out), visibility 0s .25s}
.nav_dropdown::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
.nav_item:hover>.nav_dropdown,.nav_item:focus-within>.nav_dropdown,.nav_item.is-open>.nav_dropdown{opacity:1;visibility:visible;transform:none;transition:opacity .25s, transform .25s var(--ease-out)}
.nav_menu .nav_dropdown a{display:block;padding:9px 12px;border-radius:10px;font-size:13px;font-weight:700;letter-spacing:.02em;text-transform:none;color:var(--white-80)}
.nav_menu .nav_dropdown a:hover,.nav_menu .nav_dropdown a[aria-current="page"]{background:rgba(255,255,255,.08);color:#fff}
.nav_menu .nav_dropdown a.is-hub{color:var(--ice);border-top:1px solid rgba(255,255,255,.08);margin-top:4px;padding-top:11px}
.nav_menu .nav_dropdown a.is-hub:first-child{border-top:0;margin-top:0;padding-top:9px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:4px;padding-bottom:11px;border-radius:10px 10px 0 0}
/* mobile drawer: grouped accordion */
.nav_mobile-menu{justify-content:flex-start;overflow-y:auto;padding-top:96px}
.nav_mobile-scroll{margin:auto 0;display:flex;flex-direction:column}
.nav_mobile-menu button.nav_mobile-link{width:100%;background:none;border:0;border-bottom:1px solid rgba(255,255,255,.08);font-family:inherit;cursor:pointer;text-align:left;font-size:clamp(28px,7vw,40px);font-weight:800;color:#fff;padding:10px 0;letter-spacing:-.01em;display:flex;justify-content:space-between;align-items:center;transform:translateY(18px);opacity:0;transition:.5s var(--ease-out)}
.nav_mobile-menu.is-open button.nav_mobile-link{transform:none;opacity:1}
.nav_mobile-menu button.nav_mobile-link small{font-size:12px;font-weight:700;color:var(--accent);letter-spacing:.2em;transition:transform .3s}
.nav_mobile-menu button.nav_mobile-link[aria-expanded="true"] small{color:#fff}
.nav_mobile-sub{display:flex;flex-direction:column;padding:6px 0 10px 4px;border-bottom:1px solid rgba(255,255,255,.08)}
.nav_mobile-sub[hidden]{display:none}
.nav_mobile-sublink{font-size:clamp(16px,4.4vw,19px);font-weight:700;color:var(--white-80);padding:8px 0}
.nav_mobile-sublink:hover{color:#fff}
.nav_mobile-menu .button_ghost{margin-top:12px;color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.35)}
/* area cards: page link + tap-to-call */
.area_card{position:relative}
.area_card:hover{transform:translateY(-4px);box-shadow:0 4px 12px rgba(11,18,38,.08),0 30px 60px -26px rgba(11,18,38,.32)}
.area_card .area_name{display:flex;flex-direction:column;gap:4px;color:inherit}
.area_card .area_name::after{content:"";position:absolute;inset:0}
.area_card .area_phone{position:relative;z-index:1;margin-top:10px;font-size:16px;font-weight:700;color:var(--accent-ink)}
/* system cards: whole card clickable via the cta */
.system_card .link_cta::after{content:"";position:absolute;inset:0}
.logos_link{color:var(--accent-ink);font-weight:700;text-decoration:underline;text-underline-offset:3px}

/* ============ inner pages: shared template styles (added 2026-09-27) ============ */
/* hero */
.section_hero.is-inner{min-height:clamp(560px,74svh,800px);justify-content:flex-end}
.section_hero.is-inner .hero_media img{width:100%;height:100%;object-fit:cover;filter:saturate(.95)}
.section_hero.is-inner .hero_media::after{background:linear-gradient(180deg, rgba(6,12,31,.7), rgba(6,12,31,.3) 34%, rgba(6,12,31,.5) 66%, var(--navy-950) 100%),radial-gradient(120% 90% at 18% 88%, rgba(6,12,31,.82) 0%, transparent 58%)}
.section_hero.is-inner .hero_content{padding-top:160px;padding-bottom:clamp(110px,12vh,140px)}
.section_hero.is-inner h1{font-size:clamp(40px,6.4vw,84px);line-height:.96;letter-spacing:-.02em;max-width:15ch;opacity:0;animation:fadeUp 1s .15s var(--ease-out) forwards}
.section_hero.is-inner h1 .is-thin{display:block;font-weight:250;letter-spacing:-.01em}
.section_hero.is-inner .hero_subtitle{max-width:580px;font-size:16.5px;line-height:1.75;color:var(--white-80);margin-top:24px}
.section_hero.is-compact{min-height:0;background:radial-gradient(70% 90% at 80% 0%, rgba(22,41,92,.8), transparent 60%),var(--navy-950)}
.section_hero.is-compact .hero_content{padding-top:150px;padding-bottom:64px}
.section_hero.is-compact h1{font-size:clamp(34px,5vw,64px)}
.hero_eyebrow{opacity:0;animation:fadeUp 1s .1s var(--ease-out) forwards}
.section_hero:not(.is-inner) .hero_eyebrow{opacity:1;animation:none}

/* proof strip (overlaps the hero) */
.section_proof{background:var(--paper);position:relative;z-index:5}
.section_proof .stat_wrapper{margin-top:-58px;background:var(--ink-30);box-shadow:0 30px 60px -30px rgba(11,18,38,.45), 0 0 0 1px var(--ink-30)}
.section_proof .stat_item{background:#fff}
.section_proof .stat_item b{font-size:clamp(32px,4vw,52px)}

/* content sections */
.section_content{background:var(--paper)}
.section_content.is-white{background:#fff}
.section_content.is-dark,.section_content.is-navy{background:var(--navy-950);color:#fff}
.content_wrapper{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(40px,6vw,90px);align-items:center}
.content_wrapper.is-flipped>.content_media{order:-1}
.content_wrapper.is-top{align-items:start}
.content_media{position:relative;border-radius:var(--r-lg);overflow:hidden;box-shadow:0 40px 90px -40px rgba(11,18,38,.5)}
.content_media img{width:100%;aspect-ratio:4/4.1;object-fit:cover}
.content_media.is-landscape img{aspect-ratio:4/3}
.content_media.is-square img{aspect-ratio:1}
.content_media .media_caption{position:absolute;left:18px;right:18px;bottom:16px;z-index:2;font-size:10.5px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.6)}
.content_media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 65%,rgba(6,12,31,.6))}
.rich_text>p{font-size:16.5px;line-height:1.8;color:var(--ink-60);font-weight:500;margin:0 0 18px}
.rich_text>p:last-child{margin-bottom:0}
.rich_text p b,.rich_text p strong{color:var(--ink);font-weight:700}
.is-dark .rich_text>p,.is-navy .rich_text>p{color:var(--white-80)}
.is-dark .rich_text p b,.is-navy .rich_text p b{color:#fff}
.rich_text h3{margin:28px 0 12px;font-size:clamp(19px,1.8vw,22px);font-weight:850;text-transform:uppercase;letter-spacing:0}
.rich_text .text-style-lede{margin-bottom:20px}
.list_ticks{list-style:none;padding:0;margin:22px 0;display:grid;gap:12px}
.list_ticks li{display:flex;gap:12px;align-items:flex-start;font-size:15.5px;font-weight:600;line-height:1.55;color:var(--ink)}
.list_ticks li::before{content:"";flex-shrink:0;width:22px;height:22px;margin-top:1px;border-radius:50%;background:var(--accent-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B6E9B' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7'/%3E%3C/svg%3E") center/12px no-repeat;box-shadow:inset 0 0 0 1px var(--accent)}
.list_ticks.is-cross li::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B5121B' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E");background-color:rgba(239,35,40,.12);box-shadow:inset 0 0 0 1px var(--red)}
.list_ticks.is-two{grid-template-columns:1fr 1fr;column-gap:24px}
.is-dark .list_ticks li,.is-navy .list_ticks li{color:#fff}
.is-dark .list_ticks li::before{background-color:rgba(27,166,212,.22);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A8E4FF' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7'/%3E%3C/svg%3E")}
.text-style-lede b{color:var(--ink);font-weight:700}
.is-dark .text-style-lede b{color:#fff}
.section_content .button_primary,.section_content .button_ghost{margin-top:8px}
.section_content:not(.is-dark) .button_ghost{color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink-30)}
.section_content:not(.is-dark) .button_ghost:hover{box-shadow:inset 0 0 0 1.5px var(--ink)}
.cta_row{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px}

/* icon cards (features, what you get, fit check) */
.icon_wrapper{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,26px);margin-top:clamp(36px,5vw,60px)}
.icon_wrapper.is-four{grid-template-columns:repeat(4,1fr)}
.icon_wrapper.is-two{grid-template-columns:1fr 1fr}
.icon_card{background:#fff;border-radius:var(--r-lg);padding:clamp(24px,2.8vw,34px);box-shadow:0 2px 8px rgba(11,18,38,.06),0 24px 60px -30px rgba(11,18,38,.2);display:flex;flex-direction:column}
.is-dark .icon_card,.is-navy .icon_card{background:rgba(255,255,255,.045);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
.icon_badge{width:64px;height:64px;border-radius:18px;display:flex;align-items:center;justify-content:center;background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent);margin-bottom:20px;flex-shrink:0}
.icon_badge svg{width:32px;height:32px;color:var(--accent-ink)}
.is-dark .icon_badge svg,.is-navy .icon_badge svg{color:var(--ice-bright)}
.icon_card h3{margin:0 0 10px;font-size:clamp(18px,1.8vw,21px);font-weight:850;text-transform:uppercase;letter-spacing:0}
.icon_card p{margin:0;font-size:15px;line-height:1.7;color:var(--ink-60)}
.is-dark .icon_card p,.is-navy .icon_card p{color:var(--white-80)}
.icon_card .link_cta{padding-top:16px}
.icon_card.is-row{flex-direction:row;gap:20px;align-items:flex-start}
.icon_card.is-row .icon_badge{margin-bottom:0;width:56px;height:56px}
.icon_card.is-row .icon_badge svg{width:28px;height:28px}

/* our approach */
.section_approach{background:#fff}
.approach_wrapper{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,26px)}
.approach_step{background:var(--paper);border-radius:var(--r-lg);padding:clamp(24px,2.8vw,34px)}
.approach_icon{width:64px;height:64px;border-radius:18px;display:flex;align-items:center;justify-content:center;background:var(--navy-950);margin-bottom:20px}
.approach_icon svg{width:30px;height:30px;color:var(--ice-bright)}
.approach_step h3{margin:0 0 10px;font-size:clamp(18px,1.8vw,20px);font-weight:850;text-transform:uppercase}
.approach_step p{margin:0;font-size:15px;line-height:1.7;color:var(--ink-60)}
.is-delay-5{transition-delay:.4s}

/* values */
.section_values{background:var(--navy-950);color:#fff;overflow:clip}
.section_values::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(60% 50% at 85% 0%, rgba(15,30,69,.7), transparent 70%)}
.section_values .padding-global{position:relative;z-index:2}
.values_header{text-align:center;max-width:760px;margin:0 auto clamp(40px,6vw,64px)}
.values_header .text-style-eyebrow{justify-content:center}
.values_wrapper{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2vw,24px)}
.value_card{text-align:center;background:rgba(255,255,255,.045);border-radius:var(--r-lg);padding:clamp(26px,3vw,36px) clamp(20px,2.4vw,28px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
.value_icon{width:78px;height:78px;border-radius:50%;margin:0 auto 20px;display:flex;align-items:center;justify-content:center;background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}
.value_icon svg{width:38px;height:38px;color:var(--ice-bright)}
.value_card h3{margin:0 0 10px;font-size:clamp(17px,1.6vw,19px);font-weight:850;text-transform:uppercase}
.value_card p{margin:0;font-size:14.5px;line-height:1.7;color:var(--white-80)}

/* FAQ */
.section_faq{background:var(--paper)}
.section_faq.is-white{background:#fff}
.faq_wrapper{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(40px,6vw,80px);align-items:start}
.faq_intro{position:sticky;top:110px}
.faq_intro .text-style-lede{margin-bottom:22px}
.faq_list{display:flex;flex-direction:column;gap:12px}
.faq_item{background:#fff;border-radius:var(--r-md);box-shadow:0 2px 8px rgba(11,18,38,.06),0 18px 44px -30px rgba(11,18,38,.2)}
.section_faq.is-white .faq_item{background:var(--paper);box-shadow:inset 0 0 0 1px rgba(11,18,38,.06)}
.faq_item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 24px;font-size:16.5px;font-weight:800;line-height:1.4;color:var(--ink)}
.faq_item summary::-webkit-details-marker{display:none}
.faq_item summary::after{content:"";width:32px;height:32px;flex-shrink:0;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--ink-30);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B1226' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center/13px no-repeat;transition:transform .35s var(--ease-out),background-color .3s}
.faq_item[open] summary{color:var(--accent-ink)}
.faq_item[open] summary::after{background-color:var(--accent);box-shadow:none;transform:rotate(45deg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E")}
.faq_item p{margin:0;padding:0 24px 22px;font-size:15.5px;line-height:1.75;color:var(--ink-60)}
.faq_item p+p{margin-top:-10px}
.faq_item p a{color:var(--accent-ink);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.faq_group{margin-top:clamp(36px,5vw,56px)}
.faq_group:first-child{margin-top:0}
.faq_group h3{margin:0 0 16px;font-size:12px;font-weight:800;letter-spacing:.24em;text-transform:uppercase;color:var(--accent-ink)}

/* related pages */
.section_related{background:#fff}
.section_related.is-paper{background:var(--paper)}
.related_wrapper{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,26px);margin-top:clamp(36px,5vw,60px)}
.related_wrapper.is-two{grid-template-columns:1fr 1fr}
.related_wrapper.is-four{grid-template-columns:repeat(4,1fr)}
.related_card{position:relative;display:flex;flex-direction:column;gap:10px;background:var(--paper);border-radius:var(--r-lg);padding:clamp(24px,2.8vw,32px);box-shadow:inset 0 0 0 1px rgba(11,18,38,.06);transition:transform .4s var(--ease-out),box-shadow .4s,background .3s,color .3s}
/* white cards wherever the section behind them is the grey paper tone (related bands, the Brands line-up); the hover selectors below match their weight so hover always turns navy */
.section_related.is-paper .related_card,.section_content .related_card{background:#fff;box-shadow:0 2px 8px rgba(11,18,38,.06)}
.related_card:hover,.section_related.is-paper .related_card:hover,.section_content .related_card:hover{transform:translateY(-5px);background:var(--navy-950);color:#fff;box-shadow:0 30px 60px -30px rgba(6,12,31,.6)}
.related_card small{font-size:10.5px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--accent-ink)}
.related_card:hover small{color:var(--ice)}
.related_card h3{margin:0;font-size:clamp(18px,1.8vw,21px);font-weight:850;text-transform:uppercase}
.related_card p{margin:0;font-size:14.5px;line-height:1.7;color:var(--ink-60)}
.related_card:hover p{color:var(--white-80)}
.related_card .link_cta{color:var(--accent-ink)}
.related_card:hover .link_cta{color:var(--ice)}
.related_card .link_cta::after{content:"";position:absolute;inset:0}
.related_card:hover .link_cta svg{transform:translateX(5px)}

/* gallery */
.gallery_wrapper{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.4vw,20px);margin-top:clamp(36px,5vw,60px)}
.gallery_wrapper.is-four{grid-template-columns:repeat(4,1fr)}
.gallery_item{border-radius:var(--r-md);overflow:hidden;background:var(--navy-800);margin:0}
.gallery_item img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .9s var(--ease-out)}
.gallery_wrapper.is-four .gallery_item img{aspect-ratio:3/3.6}
.gallery_item:hover img{transform:scale(1.05)}

/* tables */
.table_wrapper{overflow-x:auto;margin-top:clamp(30px,4vw,44px);border-radius:var(--r-lg);background:#fff;box-shadow:0 2px 8px rgba(11,18,38,.06)}
.spec_table{width:100%;border-collapse:collapse;font-size:15px;min-width:640px}
.spec_table th,.spec_table td{padding:16px 20px;text-align:left;border-bottom:1px solid rgba(11,18,38,.08);vertical-align:top;line-height:1.55}
.spec_table thead th{font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#fff;background:var(--navy);border-bottom:0;vertical-align:middle;padding-block:15px}
.spec_table tbody th{font-weight:800;color:var(--ink);white-space:nowrap}
.spec_table td{color:var(--ink-60);font-weight:500}
.spec_table tr:last-child td,.spec_table tr:last-child th{border-bottom:0}
.spec_table td a{color:var(--accent-ink);font-weight:700}
/* tables inside a text column: fit the column (no hidden columns), even spacing above and below */
.rich_text .table_wrapper{margin:clamp(26px,3vw,34px) 0;box-shadow:0 2px 8px rgba(11,18,38,.06),0 18px 44px -28px rgba(11,18,38,.28)}
.rich_text .spec_table{min-width:0}
.rich_text .spec_table th,.rich_text .spec_table td{padding:14px 16px}
.rich_text .spec_table tbody th{white-space:normal}
.rich_text .spec_table td{white-space:nowrap}
@media (max-width:560px){.rich_text .spec_table{font-size:14px}.rich_text .spec_table th,.rich_text .spec_table td{padding:12px 11px}.rich_text .spec_table td{white-space:normal}.rich_text .spec_table thead th{font-size:10px;letter-spacing:.12em}}

/* chips / anchor nav */
.chip_list{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.chip_list a{font-size:11.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;padding:10px 16px;border-radius:999px;background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1px rgba(11,18,38,.12);transition:.25s}
.chip_list a:hover{background:var(--navy-950);color:#fff}
.is-dark .chip_list a{background:rgba(255,255,255,.08);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
.is-dark .chip_list a:hover{background:#fff;color:var(--ink)}

/* suburb lists */
.suburb_wrapper{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,24px);margin-top:clamp(30px,4vw,44px)}
.suburb_group{background:#fff;border-radius:var(--r-md);padding:22px 24px;box-shadow:0 2px 8px rgba(11,18,38,.06)}
.suburb_group h3{margin:0 0 12px;font-size:11.5px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--accent-ink)}
.suburb_group ul{list-style:none;margin:0;padding:0;columns:2;column-gap:18px}
.suburb_group li{font-size:14.5px;font-weight:600;color:var(--ink-60);padding:3px 0;break-inside:avoid}

/* areas hub map */
.map_wrapper{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(36px,5vw,70px);align-items:center;margin-top:clamp(36px,5vw,60px)}
.map_figure{margin:0;border-radius:var(--r-lg);overflow:hidden;background:var(--navy-950);box-shadow:0 40px 90px -40px rgba(11,18,38,.6)}
.map_figure svg{width:100%;height:auto;display:block}
.map_pin{cursor:pointer}
.map_pin circle.map_dot{fill:var(--red);stroke:#fff;stroke-width:2.5}
.map_pin circle.map_pulse{fill:none;stroke:var(--red);stroke-width:2;opacity:.6;transform-origin:center;animation:pulse 2.2s ease-out infinite}
.map_pin text{font-family:var(--font-d);font-weight:800;font-size:15px;fill:#fff;letter-spacing:.04em}
.map_pin .map_sub{font-size:11px;font-weight:700;fill:var(--ice);letter-spacing:.14em;text-transform:uppercase}
.map_pin:hover circle.map_dot{fill:var(--ice-bright)}
.map_showroom rect{fill:var(--accent);stroke:#fff;stroke-width:2}
@keyframes pulse{0%{transform:scale(.6);opacity:.7}100%{transform:scale(2.4);opacity:0}}
.map_legend{display:flex;gap:18px;flex-wrap:wrap;margin-top:18px;font-size:12px;font-weight:700;color:var(--ink-60)}
.map_legend span{display:inline-flex;align-items:center;gap:8px}
.map_legend i{width:12px;height:12px;border-radius:50%;background:var(--red);display:inline-block}
.map_legend i.is-showroom{border-radius:3px;background:var(--accent)}
.areas_more{margin:clamp(28px,4vw,40px) 0 0}

/* contact page */
.section_contact-form{background:var(--paper);position:relative;z-index:5}
.contact_grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(36px,5vw,70px);align-items:start}
.contact_grid .form_wrapper{margin-top:-120px}
.form_wrapper.is-light{background:#fff;color:var(--ink);box-shadow:0 2px 8px rgba(11,18,38,.06),0 40px 90px -40px rgba(11,18,38,.45)}
.form_wrapper.is-light>p{color:var(--ink-60)}
.form_wrapper.is-light .form_field label{color:var(--ink-60)}
.form_wrapper.is-light .form_field input,.form_wrapper.is-light .form_field select,.form_wrapper.is-light .form_field textarea{background:var(--paper);color:var(--ink);border-color:rgba(11,18,38,.14)}
.form_wrapper.is-light .form_field input::placeholder,.form_wrapper.is-light .form_field textarea::placeholder{color:var(--ink-30)}
.form_wrapper.is-light .form_field input:focus,.form_wrapper.is-light .form_field textarea:focus{background:#fff;border-color:var(--accent)}
.form_wrapper.is-light .form_note{color:var(--ink-60)}
.contact_numbers{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}
.contact_number{padding:16px 18px;border-radius:var(--r-md);background:#fff;display:flex;flex-direction:column;gap:5px;box-shadow:0 2px 8px rgba(11,18,38,.06)}
.contact_number small{font-size:10px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-60)}
.contact_number a{font-size:19px;font-weight:800;color:var(--accent-ink);letter-spacing:.01em}
.contact_number a:hover{color:var(--red)}
.contact_number.is-wide{grid-column:1/-1}
.contact_detail{display:flex;gap:16px;align-items:flex-start;margin-top:22px}
.contact_detail .icon_badge{width:48px;height:48px;border-radius:14px;margin:0}
.contact_detail .icon_badge svg{width:22px;height:22px}
.contact_detail b{display:block;font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-60);margin-bottom:5px}
.contact_detail p{margin:0;font-size:15.5px;line-height:1.6;color:var(--ink);font-weight:600}
.contact_detail p a{color:var(--accent-ink)}
/* Contact form section: form top lines up with the eyebrow, form bottom with the last contact detail (Daniel, 3 Oct) */
.contact_details{display:grid;grid-template-columns:repeat(4,auto);justify-content:space-between;gap:0 28px;margin-top:clamp(28px,3.5vw,44px);padding-top:clamp(6px,1vw,12px);border-top:1px solid rgba(11,18,38,.08)}
@media (max-width:1200px){.contact_details{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch}}
.contact_grid{align-items:stretch;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.contact_grid .form_wrapper{margin-top:0;display:flex;flex-direction:column}
.contact_grid .form_fields{flex:1;display:flex;flex-direction:column}
.contact_grid .form_field.is-message{flex:1}
.contact_grid .form_field.is-message textarea{flex:1}
@media (max-width:600px){.contact_details{grid-template-columns:1fr}}
.map_embed{border-radius:var(--r-lg);overflow:hidden;box-shadow:0 30px 70px -40px rgba(11,18,38,.5);aspect-ratio:16/8;background:var(--paper-2)}
.map_embed iframe{width:100%;height:100%;border:0;display:block;filter:saturate(.9)}
.showroom_grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2vw,26px);margin-top:clamp(36px,5vw,60px)}
.showroom_card{background:#fff;border-radius:var(--r-lg);overflow:hidden;box-shadow:0 2px 8px rgba(11,18,38,.06),0 24px 60px -30px rgba(11,18,38,.2)}
.showroom_card .showroom_body{padding:clamp(22px,2.6vw,30px)}
.showroom_card h3{margin:0 0 6px;font-size:clamp(19px,1.8vw,22px);font-weight:850;text-transform:uppercase}
.showroom_card p{margin:0 0 8px;font-size:15px;line-height:1.65;color:var(--ink-60);font-weight:500}
.showroom_card .showroom_body .cta_row{margin-top:16px}
.steps_wrapper{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,26px);margin-top:clamp(36px,5vw,60px)}
.step_card{text-align:center;background:#fff;border-radius:var(--r-lg);padding:clamp(28px,3vw,40px) clamp(20px,2.4vw,30px);box-shadow:0 2px 8px rgba(11,18,38,.06)}
.is-dark .step_card{background:rgba(255,255,255,.045);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
.step_number{display:block;font-size:clamp(52px,6vw,76px);font-weight:250;letter-spacing:-.04em;line-height:1;color:var(--accent);margin-bottom:16px}
.step_card h3{margin:0 0 10px;font-size:clamp(18px,1.8vw,21px);font-weight:850;text-transform:uppercase}
.step_card p{margin:0;font-size:15px;line-height:1.7;color:var(--ink-60)}
.is-dark .step_card p{color:var(--white-80)}
.trust_row{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,1.8vw,22px);margin-top:clamp(30px,4vw,44px)}
.trust_item{display:flex;gap:14px;align-items:flex-start;background:#fff;border-radius:var(--r-md);padding:18px 20px;box-shadow:0 2px 8px rgba(11,18,38,.06)}
.trust_item .icon_badge{width:46px;height:46px;border-radius:13px;margin:0}
.trust_item .icon_badge svg{width:22px;height:22px}
.trust_item b{display:block;font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.02em;margin-bottom:3px}
.trust_item span{font-size:13px;line-height:1.5;color:var(--ink-60);font-weight:500}

/* CTA extras */
.cta_points{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:10px}
.cta_points li{display:flex;gap:12px;align-items:center;font-size:14.5px;font-weight:600;color:var(--white-80)}
.cta_points li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent);flex-shrink:0}

/* legal */
.section_legal{background:#fff}
.legal_wrapper{max-width:var(--container-medium);margin-inline:auto}
.legal_wrapper h2{margin:40px 0 12px;font-size:clamp(19px,2vw,23px);font-weight:850;text-transform:uppercase;letter-spacing:0}
.legal_wrapper h2:first-child{margin-top:0}
.legal_wrapper p,.legal_wrapper li{font-size:16px;line-height:1.8;color:var(--ink-60);font-weight:500;margin:0 0 14px}
.legal_wrapper ul{padding-left:22px;margin:0 0 14px}
.legal_wrapper li{margin-bottom:6px}
.legal_wrapper a{color:var(--accent-ink);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.legal_wrapper .legal_updated{font-size:13px;color:var(--ink-60);font-weight:600;letter-spacing:.04em}

/* careers */
.role_card{background:#fff;border-radius:var(--r-lg);padding:clamp(26px,3vw,40px);box-shadow:0 2px 8px rgba(11,18,38,.06),0 30px 70px -40px rgba(11,18,38,.35);display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;margin-top:clamp(30px,4vw,44px)}
.role_card h3{margin:0 0 8px;font-size:clamp(20px,2vw,26px);font-weight:850;text-transform:uppercase}
.role_card p{margin:0;font-size:15.5px;line-height:1.7;color:var(--ink-60)}
.role_tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.role_tags span{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;padding:8px 13px;border-radius:999px;background:var(--paper);color:var(--accent-ink);box-shadow:inset 0 0 0 1px var(--accent-soft)}

/* thank-you */
.thanks_wrapper{text-align:center;max-width:760px;margin-inline:auto}
.thanks_wrapper .text-style-eyebrow{justify-content:center}
.thanks_mascot{width:clamp(140px,15vw,200px);border-radius:24px;margin:0 auto 26px;box-shadow:0 30px 70px -30px rgba(0,0,0,.8);transform:rotate(-3deg)}

/* article / advice */
.article_wrapper{display:grid;grid-template-columns:1fr 280px;gap:clamp(40px,6vw,80px);align-items:start}
.article_toc{position:sticky;top:110px;background:#fff;border-radius:var(--r-md);padding:22px 24px;box-shadow:0 2px 8px rgba(11,18,38,.06)}
.article_toc h3{margin:0 0 12px;font-size:11px;font-weight:800;letter-spacing:.24em;text-transform:uppercase;color:var(--accent-ink)}
.article_toc a{display:block;font-size:14px;font-weight:700;color:var(--ink-60);padding:7px 0;border-bottom:1px solid rgba(11,18,38,.06);transition:color .25s}
.article_toc a:last-child{border-bottom:0}
.article_toc a:hover{color:var(--ink)}
.article_body h2{margin:0 0 16px;font-size:clamp(26px,3vw,38px);font-weight:900;text-transform:uppercase;letter-spacing:-.015em;line-height:1.05}
.article_body h2 .is-thin{font-weight:250}
.article_section{padding-block:clamp(28px,4vw,44px);border-top:1px solid rgba(11,18,38,.08)}
.article_section:first-child{border-top:0;padding-top:0}
.article_section .content_media{margin:26px 0}
.article_section .content_media img{aspect-ratio:16/8}
.callout_box{margin:26px 0;padding:22px 26px;border-radius:var(--r-md);background:var(--navy-950);color:#fff;display:flex;gap:16px;align-items:flex-start}
.callout_box .icon_badge{width:44px;height:44px;border-radius:12px;margin:0;flex-shrink:0}
.callout_box .icon_badge svg{width:22px;height:22px;color:var(--ice-bright)}
.callout_box p{margin:0;font-size:15px;line-height:1.7;color:var(--white-80)}
.callout_box p b{color:#fff}
.callout_box p a{color:var(--ice);font-weight:700}

/* mobile utility bar (inner pages) */
.utility_bar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:950;grid-template-columns:1fr 1fr;gap:10px;background:rgba(6,12,31,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid rgba(255,255,255,.1);padding:10px var(--gut) calc(10px + env(safe-area-inset-bottom))}
.utility_bar a{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:14px 10px;border-radius:999px}
.utility_call{background:#fff;color:var(--navy-950)}
.utility_call svg{width:14px;height:14px}
.utility_quote{background:var(--red);color:#fff}

/* responsive */
@media (max-width:1080px){
  .content_wrapper,.faq_wrapper,.map_wrapper,.contact_grid,.article_wrapper{grid-template-columns:1fr}
  .content_wrapper .content_media,.content_wrapper.is-flipped>.content_media{order:-1;max-width:640px}
  .content_media img{aspect-ratio:16/10}
  .faq_intro,.article_toc{position:static}
  .article_toc{order:-1}
  .contact_grid .form_wrapper{margin-top:0}
  .icon_wrapper,.icon_wrapper.is-four,.approach_wrapper,.related_wrapper,.related_wrapper.is-four,.values_wrapper,.suburb_wrapper,.steps_wrapper,.trust_row{grid-template-columns:1fr 1fr}
  .gallery_wrapper,.gallery_wrapper.is-four{grid-template-columns:1fr 1fr}
  .utility_bar{display:grid}
  body:has(.utility_bar){padding-bottom:74px}
  body:has(.utility_bar) .button_back-to-top{bottom:90px}
}
@media (max-width:760px){
  .section_hero.is-inner{min-height:0}
  .section_hero.is-inner .hero_content{padding-top:130px;padding-bottom:96px}
  .section_hero.is-inner h1{font-size:clamp(34px,10vw,56px)}
  .section_proof .stat_wrapper{margin-top:-40px}
  .icon_wrapper,.icon_wrapper.is-four,.icon_wrapper.is-two,.approach_wrapper,.related_wrapper,.related_wrapper.is-two,.related_wrapper.is-four,.values_wrapper,.suburb_wrapper,.steps_wrapper,.trust_row,.showroom_grid,.contact_numbers{grid-template-columns:1fr}
  .list_ticks.is-two{grid-template-columns:1fr}
  .icon_card.is-row{flex-direction:column}
  .role_card{grid-template-columns:1fr}
  .gallery_wrapper,.gallery_wrapper.is-four{grid-template-columns:1fr 1fr}
  .gallery_wrapper.is-four .gallery_item img{aspect-ratio:4/3}
  .suburb_group ul{columns:2}
  .contact_number.is-wide{grid-column:auto}
}
@media (max-width:480px){
  .gallery_wrapper,.gallery_wrapper.is-four{grid-template-columns:1fr}
  .chip_list a{font-size:10.5px;padding:9px 13px}
}

/* ghost button on light backgrounds */
.button_ghost.is-dark-text{color:var(--ink);box-shadow:inset 0 0 0 1.5px rgba(11,18,38,.25)}
.button_ghost.is-dark-text:hover{box-shadow:inset 0 0 0 1.5px var(--ink)}
.role_card .cta_row{margin-top:0;min-width:220px}
.role_card .cta_row a{text-align:center;justify-content:center}
.utility_call svg{flex-shrink:0}
@media (max-width:520px){.utility_bar{gap:8px}.utility_call,.utility_quote{font-size:12px;letter-spacing:.06em;padding-inline:12px;white-space:nowrap}}
@media (max-width:440px){.utility_call svg{display:none}}

/* QA pass 2026-09-28: cramped boxes, wrapped headings, crops */
.showroom_card>img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.list_ticks li{display:block;position:relative;padding-left:34px}
.list_ticks li::before{position:absolute;left:0;top:1px}
.content_wrapper h2.heading-style-h2,.map_wrapper h2.heading-style-h2{font-size:clamp(30px,3.3vw,46px)}
.faq_wrapper h2.heading-style-h2{font-size:clamp(34px,4.2vw,58px)}
.article_section>p:not([class]){font-size:16.5px;line-height:1.8;color:var(--ink-60);font-weight:500;margin:0 0 18px}
.article_section>p:not([class]):last-child{margin-bottom:0}
@media (max-width:720px){.footer_bottom{padding-bottom:84px}}
@media (max-width:480px){.text-style-eyebrow{letter-spacing:.2em;font-size:11px}}
.table_scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;width:0;min-width:100%;contain:inline-size}

/* ============ About: team cards + hero crop (2026-10-03 review) ============ */
.page_about .section_hero.is-inner .hero_media::after,.page_careers .section_hero.is-inner .hero_media::after,.hero_boxed .section_hero.is-inner .hero_media::after{background:linear-gradient(90deg, rgba(6,12,31,.94) 0%, rgba(6,12,31,.84) 26%, rgba(6,12,31,.55) 48%, rgba(6,12,31,.1) 68%, rgba(6,12,31,0) 82%),linear-gradient(180deg, rgba(6,12,31,.55), rgba(6,12,31,.08) 40%, rgba(6,12,31,.3) 72%, var(--navy-950) 100%)}
.page_about .section_hero.is-inner h1,.page_about .section_hero.is-inner p,.page_careers .section_hero.is-inner h1,.page_careers .section_hero.is-inner p,.hero_boxed .section_hero.is-inner h1,.hero_boxed .section_hero.is-inner p{text-shadow:0 1px 2px rgba(6,12,31,.6),0 10px 34px rgba(6,12,31,.5)}
@media (max-width:900px){.page_about .section_hero.is-inner .hero_media::after,.page_careers .section_hero.is-inner .hero_media::after,.hero_boxed .section_hero.is-inner .hero_media::after{background:linear-gradient(180deg, rgba(6,12,31,.86) 0%, rgba(6,12,31,.8) 40%, rgba(6,12,31,.74) 56%, rgba(6,12,31,.22) 68%, rgba(6,12,31,.28) 86%, var(--navy-950) 100%)}}
/* Careers hero: a full-crew lineup (3:2). Wider than 7:4 the photo box stops widening and anchors right, so the whole crew stays in frame head to shins on any screen instead of being cropped off the bottom; its left edge fades into the navy */
.page_careers .section_hero.is-inner .hero_media{container-type:size;background:var(--navy-950)}
@container (min-aspect-ratio:7/4){.page_careers .section_hero.is-inner .hero_media img{position:absolute;top:0;right:0;width:auto;height:100%;aspect-ratio:7/4;-webkit-mask-image:linear-gradient(90deg,transparent,#000 16%);mask-image:linear-gradient(90deg,transparent,#000 16%)}}
/* Panasonic hero: unit sits right of the heading on desktop; narrow screens show the plain wall behind the text */
@media (max-width:900px){.page_panasonic .section_hero.is-inner .hero_media img{object-position:25% 55%!important}}
/* Servicing hero: tech sits right of the heading on desktop; narrow screens show the brick wall and unit behind the text, never his face */
@media (max-width:900px){.page_servicing .section_hero.is-inner .hero_media img{object-position:0% 40%!important}}
@media (max-width:600px){.page_servicing .section_hero.is-inner .hero_media img{object-position:40% 40%!important}}
/* Repairs hero: tech sits right of the heading on desktop; tablets show the unit and gauges behind the text, never his face */
@media (max-width:1200px){.page_repairs .section_hero.is-inner .hero_media img{object-position:60% 10%!important}}
@media (max-width:900px){.page_repairs .section_hero.is-inner .hero_media img{object-position:0% 10%!important}}
@media (max-width:600px){.page_repairs .section_hero.is-inner .hero_media img{object-position:35% 10%!important}}
/* Commercial hero: technician sits right of the H1 on desktop; at tablet he moves into the gap right of the heading, on phones the frame holds the VRV units so his face never sits behind the text */
@media (max-width:900px){.page_commercial .section_hero.is-inner .hero_media img{object-position:78% 40%!important}}
@media (max-width:600px){.page_commercial .section_hero.is-inner .hero_media img{object-position:45% 40%!important}}
/* Daikin hero: phones frame the Daikin unit so the technician's face never sits behind the H1 */
@media (max-width:600px){.page_daikin .section_hero.is-inner .hero_media img{object-position:56% 40%!important}}
@media (max-width:900px){.page_advice .section_hero.is-inner .hero_media img{object-position:32% 40%!important}}
/* Advice hero: Greg sits right of the H1 down to 861px; below that he is scaled out of frame so his face is never cut or behind the text */
@media (max-width:860px){.page_advice .section_hero.is-inner .hero_media img{object-position:0% 40%!important;transform:scale(1.2);transform-origin:0% 40%}}
/* Brand logos (official files, untouched): white plates so the colour logos read on the dark hero and on the navy hover state of the brand tiles */
.hero_eyebrow:has(.hero_brand)::before{display:none}
.hero_brand{display:inline-flex;align-items:center;height:48px;padding:0 18px;margin-right:6px;background:#fff;border-radius:10px;box-shadow:0 10px 30px -12px rgba(0,0,0,.45)}
.hero_brand img{display:block;width:auto;height:22px}
.hero_brand.is-fujitsu img{height:34px}.hero_brand.is-panasonic img{height:17px}.hero_brand.is-mitsubishi img{height:36px}
.related_logo{display:flex;align-items:center;justify-content:center;height:64px;padding:0 20px;margin-bottom:8px;background:#fff;border-radius:12px}
.related_logo img{display:block;width:auto;height:24px}
.related_logo.is-fujitsu img{height:38px}.related_logo.is-panasonic img{height:19px}.related_logo.is-mitsubishi img{height:44px}
@media (max-width:600px){.hero_brand{height:40px;padding:0 14px}.hero_brand img{height:18px}.hero_brand.is-fujitsu img{height:28px}.hero_brand.is-panasonic img{height:14px}.hero_brand.is-mitsubishi img{height:30px}}
/* Service price card (partials/pricing.html): two service prices plus the breakdown call-out in navy */
.price_wrapper{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,26px)}
.price_card{display:grid;grid-row:span 4;grid-template-rows:subgrid;row-gap:0;background:var(--paper);border-radius:var(--r-lg);padding:clamp(26px,3vw,38px);box-shadow:inset 0 0 0 1px rgba(11,18,38,.07)}
.price_card p{margin:0}
.price_card .price_label{margin-bottom:18px;font-size:12px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--accent-ink)}
.price_card .price_amount{font-family:var(--font-d);font-size:clamp(54px,5.4vw,76px);font-weight:850;line-height:1;letter-spacing:-.02em;color:var(--ink)}
.price_amount sup{font-size:.42em;vertical-align:top;position:relative;top:.16em;margin-right:4px;font-weight:800}
.price_card .price_unit{margin-top:12px;font-size:15.5px;font-weight:700;line-height:1.5;color:var(--ink)}
.price_card .price_text{margin-top:20px;padding-top:18px;border-top:1px solid rgba(11,18,38,.1);font-size:15.5px;font-weight:500;line-height:1.7;color:var(--ink-60)}
.price_card.is-dark{background:var(--navy-950);color:#fff;box-shadow:none}
.price_card.is-dark .price_label{color:var(--ice)}
.price_card.is-dark .price_amount,.price_card.is-dark .price_unit{color:#fff}
.price_card.is-dark .price_text{color:var(--white-80);border-top-color:rgba(255,255,255,.16)}
.price_notes{margin-top:clamp(22px,3vw,30px);display:grid;gap:8px;max-width:880px}
.price_notes p{margin:0;font-size:15px;font-weight:500;line-height:1.7;color:var(--ink-60)}
.price_notes a{color:var(--accent-ink);font-weight:700;white-space:nowrap}
@media (max-width:1080px){.price_wrapper{grid-template-columns:1fr 1fr}.price_card.is-dark{grid-column:1/-1}}
@media (max-width:760px){.price_wrapper{grid-template-columns:1fr}}
.team_wrapper{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,26px);margin-top:clamp(36px,5vw,60px)}
.team_card{display:flex;flex-direction:column;background:rgba(255,255,255,.045);border-radius:var(--r-lg);overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
.team_card img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center 30%;display:block}
.team_body{padding:clamp(20px,2.2vw,26px) clamp(20px,2.2vw,26px) clamp(24px,2.4vw,30px)}
.team_body h3{margin:0;font-size:clamp(19px,1.7vw,22px);font-weight:850;text-transform:uppercase;letter-spacing:0;color:#fff}
.team_role{display:block;margin:6px 0 12px;font-size:11.5px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--ice)}
.team_body p{margin:0;font-size:15px;line-height:1.7;color:var(--white-80)}
@media (max-width:1080px){.team_wrapper{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.team_wrapper{grid-template-columns:1fr;max-width:420px;margin-inline:auto}}

/* Advice buying guide visuals (Daniel, 3 Oct 2026): every part gets a visual; all copy stays as HTML text */
.guide_grid{display:grid;gap:14px;margin:22px 0 26px}
.guide_grid.is-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.guide_grid.is-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.guide_card{background:#fff;border-radius:var(--r-md);padding:22px 20px;box-shadow:0 2px 8px rgba(11,18,38,.06)}
.guide_card .icon_badge{width:52px;height:52px;border-radius:15px;margin-bottom:16px}
.guide_card .icon_badge svg{width:26px;height:26px}
.guide_card h3{margin:0 0 8px;font-size:15.5px;font-weight:850;text-transform:uppercase;letter-spacing:.02em;line-height:1.25;color:var(--ink)}
.guide_card p{margin:0;font-size:15px;line-height:1.6;color:var(--ink-60);font-weight:500}
.guide_card p a,.guide_steps p a{color:var(--accent-ink);font-weight:700}
.guide_card.is-dark{background:var(--navy-950);box-shadow:none}
.guide_card.is-dark h3{color:#fff}
.guide_card.is-dark p{color:var(--white-80)}
.guide_panel-label{margin:0 0 14px;font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--accent-ink)}
.article_section>.guide_panel-label{margin-top:4px}
.guide_panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 0 26px}
.guide_panel{background:#fff;border-radius:var(--r-md);padding:22px 22px 24px;box-shadow:0 2px 8px rgba(11,18,38,.06);display:flex;flex-direction:column}
.guide_panel>p:last-child{margin:auto 0 0;padding-top:18px;font-size:14.5px;line-height:1.65;color:var(--ink-60);font-weight:500}
.guide_flow{display:flex;align-items:center;gap:8px}
.guide_flow-item{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;padding:16px 8px;border-radius:12px;background:var(--paper)}
.guide_flow-item .icon_badge{width:48px;height:48px;border-radius:14px;margin:0 0 10px}
.guide_flow-item .icon_badge svg{width:24px;height:24px}
.guide_flow-item b{font-size:21px;font-weight:900;line-height:1.1;color:var(--ink)}
.guide_flow-item small{font-size:12.5px;font-weight:600;color:var(--ink-60);margin-top:4px;line-height:1.35}
.guide_flow-item.is-hot{background:rgba(255,138,76,.12)}
.guide_flow-item.is-hot .icon_badge{background:rgba(255,138,76,.18);box-shadow:inset 0 0 0 1px var(--amber)}
.guide_flow-item.is-hot .icon_badge svg{color:#C2410C}
.guide_flow-arrow{display:flex}
.guide_flow-arrow svg{width:24px;height:24px;color:var(--accent)}
.guide_bars{display:grid;gap:11px}
.guide_bar{display:grid;grid-template-columns:38px minmax(0,1fr) 100px;align-items:center;gap:10px}
.guide_bar span{font-size:16px;font-weight:850;color:var(--ink)}
.guide_bar i{display:block;height:14px;border-radius:999px;width:var(--w);background:linear-gradient(90deg,rgba(239,35,40,.3),rgba(239,35,40,.68))}
.guide_bar em{font-style:normal;font-size:12.5px;font-weight:800;color:var(--red-deep)}
.guide_bar.is-best i{background:linear-gradient(90deg,var(--accent),var(--accent-ink))}
.guide_bar.is-best em{color:var(--accent-ink);text-transform:uppercase;letter-spacing:.08em;font-size:11px}
.guide_gauge{display:block;width:112px;height:66px;margin:0 0 14px}
.guide_gauge path{fill:none;stroke-width:9;stroke-linecap:round}
.guide_gauge .g_track{stroke:rgba(11,18,38,.08)}
.guide_gauge .g_low,.guide_gauge .g_high{stroke:rgba(239,35,40,.6)}
.guide_gauge .g_ok{stroke:var(--accent)}
.guide_gauge .g_needle{stroke:var(--ink);stroke-width:4}
.guide_gauge .g_hub{fill:var(--ink)}
.is-dark .guide_gauge .g_track{stroke:rgba(255,255,255,.12)}
.is-dark .guide_gauge .g_needle{stroke:#fff}
.is-dark .guide_gauge .g_hub{fill:#fff}
.guide_rule{display:grid;grid-template-columns:210px minmax(0,1fr);gap:14px;margin:0 0 26px}
.guide_rule-stat{background:var(--navy-950);border-radius:var(--r-md);padding:24px 22px;display:flex;flex-direction:column;justify-content:center}
.guide_rule-stat b{font-size:50px;font-weight:900;line-height:1;letter-spacing:-.02em;color:#fff}
.guide_rule-stat b small{font-size:22px;font-weight:700;margin-left:4px;color:var(--ice)}
.guide_rule-stat span{margin-top:12px;font-size:14px;line-height:1.55;color:var(--white-80);font-weight:500}
.guide_rule-list{background:#fff;border-radius:var(--r-md);padding:22px;box-shadow:0 2px 8px rgba(11,18,38,.06)}
.guide_chips{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.guide_chips li{display:flex;align-items:center;gap:10px;font-size:14.5px;font-weight:700;color:var(--ink);line-height:1.35;padding:10px 12px;border-radius:10px;background:var(--paper)}
.guide_chips svg{flex-shrink:0;width:22px;height:22px;color:var(--accent-ink)}
.guide_system{background:#fff;border-radius:var(--r-md);padding:16px 16px 20px;box-shadow:0 2px 8px rgba(11,18,38,.06);display:flex;flex-direction:column}
.guide_diagram{display:block;width:100%;height:auto;margin:0 0 16px;background:var(--paper);border-radius:10px;padding:10px 6px 0}
.guide_diagram .d_ground{stroke:rgba(11,18,38,.25);stroke-width:2}
.guide_diagram .d_roof,.guide_diagram .d_wall{fill:none;stroke:rgba(11,18,38,.5);stroke-width:2;stroke-linejoin:round}
.guide_diagram .d_div{stroke:rgba(11,18,38,.22);stroke-width:1.5}
.guide_diagram .d_room{fill:none}
.guide_diagram .d_room.is-on{fill:rgba(27,166,212,.13)}
.guide_diagram .d_attic{fill:rgba(11,18,38,.05)}
.guide_diagram .d_unit{fill:#fff;stroke:var(--accent-ink);stroke-width:2}
.guide_diagram .d_unit.is-roof{fill:#DDF2FA}
.guide_diagram .d_vent{fill:var(--accent-ink)}
.guide_diagram .d_pipe{fill:none;stroke:var(--accent);stroke-width:2;stroke-dasharray:4 3}
.guide_diagram .d_duct{fill:none;stroke:rgba(11,18,38,.32);stroke-width:5;stroke-linecap:round}
.guide_diagram .d_air{fill:none;stroke:var(--accent);stroke-width:1.6;stroke-linecap:round}
.guide_diagram .d_out{fill:#fff;stroke:rgba(11,18,38,.6);stroke-width:2}
.guide_diagram .d_fan{fill:none;stroke:rgba(11,18,38,.45);stroke-width:1.6}
.guide_diagram .d_grille{stroke:rgba(11,18,38,.4);stroke-width:1.5}
.guide_system h3{margin:0 0 8px;font-size:16px;font-weight:850;text-transform:uppercase;letter-spacing:.02em}
.guide_system h3 a{color:var(--ink);transition:color .25s}
.guide_system h3 a:hover{color:var(--accent-ink)}
.guide_system p{margin:0 0 10px;font-size:14.5px;line-height:1.6;color:var(--ink-60);font-weight:500}
.guide_system p.guide_system-best{margin:auto 0 0;padding-top:12px;border-top:1px solid rgba(11,18,38,.08);color:var(--ink)}
.guide_system-best b{display:block;font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--accent-ink);margin-bottom:4px}
.guide_pick{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.guide_pick>div{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:6px 12px;padding:14px 16px;border-radius:12px;background:#fff;box-shadow:inset 0 0 0 1px rgba(11,18,38,.08)}
.guide_pick span{font-size:14px;font-weight:600;color:var(--ink-60);line-height:1.4}
.guide_pick svg{width:20px;height:20px;color:var(--accent)}
.guide_pick b{font-size:14.5px;font-weight:850;text-transform:uppercase;color:var(--ink);letter-spacing:.02em;line-height:1.25}
.guide_pick small{grid-column:1/-1;font-size:13px;color:var(--ink-60);font-weight:500}
.guide_brand{display:flex;flex-direction:column;background:#fff;border-radius:var(--r-md);padding:16px 16px 18px;box-shadow:0 2px 8px rgba(11,18,38,.06);color:var(--ink);transition:transform .25s,box-shadow .25s}
.guide_brand:hover{transform:translateY(-2px);box-shadow:0 2px 8px rgba(11,18,38,.06),0 18px 40px -22px rgba(11,18,38,.35)}
.guide_brand .related_logo{background:var(--paper);box-shadow:none;margin-bottom:14px}
.guide_brand p{margin:0 0 14px;font-size:15px;line-height:1.6;color:var(--ink-60);font-weight:500}
.guide_tag{margin-top:auto;align-self:flex-start;display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;background:var(--paper);color:var(--ink-60)}
.guide_tag svg{width:15px;height:15px}
.guide_tag.is-agent{background:var(--accent-soft);color:var(--accent-ink)}
.guide_q{display:flex;gap:14px;align-items:flex-start;background:#fff;border-radius:var(--r-md);padding:18px;box-shadow:0 2px 8px rgba(11,18,38,.06)}
.guide_q .icon_badge{width:48px;height:48px;border-radius:14px;margin:0}
.guide_q .icon_badge svg{width:24px;height:24px}
.guide_q p.guide_q-ask{margin:0 0 10px;font-size:15px;font-weight:750;line-height:1.45;color:var(--ink)}
.guide_q p.guide_q-ans{margin:0;padding-top:10px;border-top:1px dashed rgba(11,18,38,.16);font-size:14.5px;line-height:1.5;color:var(--ink-60);font-weight:600}
.guide_q p.guide_q-ans b{color:var(--accent-ink);font-weight:850;letter-spacing:.04em}
.guide_tip-big b{display:block;font-size:40px;font-weight:900;line-height:1;color:#fff;margin:6px 0 22px;letter-spacing:-.02em}
.guide_steps{list-style:none;margin:22px 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;position:relative}
.guide_steps::before{content:"";position:absolute;left:12%;right:12%;top:27px;height:2px;background:repeating-linear-gradient(90deg,var(--accent) 0 6px,transparent 6px 12px);opacity:.55}
.guide_steps li{position:relative;text-align:center;display:flex;flex-direction:column;align-items:center}
.guide_steps .icon_badge{width:56px;height:56px;border-radius:50%;margin:0 0 12px;background:#fff;box-shadow:inset 0 0 0 2px var(--accent),0 8px 20px -10px rgba(11,18,38,.35)}
.guide_steps .icon_badge svg{width:26px;height:26px}
.guide_steps small{font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--accent-ink);margin-bottom:6px}
.guide_steps h3{margin:0 0 6px;font-size:15px;font-weight:850;text-transform:uppercase;line-height:1.25}
.guide_steps p{margin:0;font-size:14.5px;line-height:1.55;color:var(--ink-60);font-weight:500}
.guide_myth{display:flex;align-items:center;gap:22px;padding:20px 24px;border-radius:var(--r-md);background:var(--navy-950)}
.guide_myth-pair{display:flex;gap:8px;flex-shrink:0}
.guide_myth-pair span{display:inline-flex;align-items:center;gap:6px;padding:10px 14px;border-radius:12px;font-size:22px;font-weight:900;line-height:1}
.guide_myth-pair svg{width:18px;height:18px}
.guide_myth-pair .is-no{background:rgba(239,35,40,.18);color:#FF9A9C}
.guide_myth-pair .is-yes{background:rgba(27,166,212,.22);color:var(--ice-bright)}
.guide_myth p{margin:0;font-size:15px;line-height:1.65;color:var(--white-80)}
.guide_myth p b{color:#fff}
@media (max-width:760px){
  .guide_panels,.guide_rule,.guide_pick{grid-template-columns:1fr}
}
@media (max-width:600px){
  .guide_grid.is-3,.guide_grid.is-2{grid-template-columns:1fr}
  .guide_card:has(>.icon_badge){display:grid;grid-template-columns:48px minmax(0,1fr);column-gap:14px;align-items:start}
  .guide_card:has(>.icon_badge) .icon_badge{grid-row:1/3;width:48px;height:48px;margin:0}
  .guide_card:has(>.icon_badge) h3{margin-top:4px}
  .guide_tip-big b{font-size:34px;margin:0 0 14px}
  .guide_sizes .guide_card{display:grid;grid-template-columns:96px minmax(0,1fr);column-gap:14px;align-items:center}
  .guide_sizes .guide_gauge{grid-row:1/3;width:96px;height:57px;margin:0}
  .guide_steps{grid-template-columns:1fr;gap:20px}
  .guide_steps::before{display:none}
  .guide_steps li:not(:last-child)::after{content:"";position:absolute;left:27px;top:56px;bottom:-20px;width:2px;background:repeating-linear-gradient(180deg,var(--accent) 0 6px,transparent 6px 12px);opacity:.55}
  .guide_steps li{display:grid;grid-template-columns:56px minmax(0,1fr);column-gap:16px;text-align:left;align-items:start}
  .guide_steps li>*:not(.icon_badge){grid-column:2}
  .guide_steps .icon_badge{grid-row:1/4;margin:0}
  .guide_myth{flex-direction:column;align-items:flex-start;gap:14px;padding:20px}
}
@media (max-width:480px){
  .guide_chips{grid-template-columns:1fr}
  .guide_flow-item b{font-size:18px}
}

/* ============ Specials & rebates (2026-10-06) ============ */
.offer_tag{align-self:flex-start;margin-bottom:18px;padding:6px 12px;border-radius:99px;background:var(--paper);box-shadow:inset 0 0 0 1px rgba(11,18,38,.06);font-size:10.5px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--accent-ink)}
.offer_card.is-feature{background:var(--navy-950);color:#fff;box-shadow:0 30px 60px -30px rgba(6,12,31,.6)}
.offer_card.is-feature p{color:var(--white-80)}
.offer_card.is-feature .offer_tag{background:var(--accent);box-shadow:none;color:#fff}
.offer_card.is-feature .icon_badge svg{color:var(--ice-bright)}
.offer_card.is-feature .link_cta{color:var(--ice)}
.offer_note{margin:clamp(22px,3vw,30px) 0 0;font-size:13px;line-height:1.6;color:var(--ink-60)}
.rebate_source{margin:clamp(28px,4vw,44px) 0 0;background:rgba(255,255,255,.045);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
.rebate_source a{color:var(--ice);font-weight:700;text-decoration:underline;text-underline-offset:3px}
/* Specials hero: installer loading a Daikin unit, right of the heading on desktop; narrower screens show the van and DAIKIN door behind the text, never his face */
@media (max-width:900px){.page_specials .section_hero.is-inner .hero_media img{object-position:45% 30%!important}}
@media (max-width:600px){.page_specials .section_hero.is-inner .hero_media img{object-position:35% 30%!important}}
/* Boxed hero photo (body class hero_boxed: 404, thank-you, FAQs). For real 3:2 photos whose subject sits just right of centre. The photo keeps its own shape and sits right: on desktop at least --hero-min in (default a quarter) so the face clears the heading and lede; at 900px and below it shifts until only the left --hero-cut of the photo is on screen (default 72cqh = the left 48%), so the face is out of frame and the scene behind it sits behind the text. Its left edge fades into the navy; at 600px and below that fade is short because the edge is off-screen. Pages tune it with --hero-min, --hero-cut and --hero-tablet-fade on their page class */
.hero_boxed .section_hero.is-inner .hero_media{container-type:size;overflow:hidden;background:var(--navy-950)}
.hero_boxed .section_hero.is-inner .hero_media img{--fade:linear-gradient(90deg,transparent 17%,#000 38%);position:absolute;top:0;right:auto;left:max(100cqw - 150cqh, var(--hero-min,25cqw));width:auto;max-width:none;height:100%;aspect-ratio:3/2;-webkit-mask-image:var(--fade);mask-image:var(--fade)}
@media (max-width:900px){.hero_boxed .section_hero.is-inner .hero_media img{left:calc(100cqw - var(--hero-cut,72cqh));--fade:var(--hero-tablet-fade,linear-gradient(90deg,transparent 17%,#000 38%))}}
@media (max-width:600px){.hero_boxed .section_hero.is-inner .hero_media img{--fade:linear-gradient(90deg,transparent,#000 14%)}}
/* thank-you (team member on the office phone): longer heading, so above 1200px the photo starts 40% in; tablets keep the desk and phone at full strength */
.page_thanks{--hero-cut:66cqh;--hero-tablet-fade:linear-gradient(90deg,transparent,#000 14%)}
@media (min-width:1201px){.page_thanks{--hero-min:40cqw}}
/* FAQs (a customer smiling at the Beresfield front counter, face 49% across) */
.page_faqs{--hero-cut:63cqh;--hero-tablet-fade:linear-gradient(90deg,transparent,#000 14%)}

/* ============ Inline video (thank-you page, 2026-10-06) ============ */
.content_wrapper.is-video{grid-template-columns:.8fr 1.2fr}
@media (max-width:1080px){.content_wrapper.is-video{grid-template-columns:1fr}.content_wrapper.is-video .content_media{order:0;max-width:none}}
.content_media.is-video::after{display:none}
.content_media.is-video video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:var(--navy-950)}
.video_play{position:absolute;inset:0;margin:auto;width:clamp(68px,7vw,88px);height:clamp(68px,7vw,88px);padding:0;border:0;border-radius:50%;background:var(--red);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 18px 44px -12px rgba(6,12,31,.75);transition:transform .35s var(--ease-out)}
.video_play[hidden]{display:none}
.video_play:hover{transform:scale(1.07)}
.video_play:focus-visible{outline:3px solid #fff;outline-offset:4px}
.video_play svg{width:40%;height:40%;margin-left:6%}
