/* H&C Plant Hire — shared site CSS. Layout is inline per page; this file carries
   fonts, tokens, keyframes, pseudo-states, motion and the chrome JS hooks. */

:root{
  color-scheme:light;
  --hc-display:"Barlow Condensed","Arial Narrow",system-ui,sans-serif;
  --hc-body:"Barlow",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --hc-yellow:#fefe27;--hc-yellow-hover:#f2f200;--hc-yellow-soft:#fdfbd6;--hc-yellow-ink:#0a0a0a;
  --hc-black:#000000;--hc-dark:#141414;--hc-panel:#1f1f1f;
  --hc-bg:#f6f6f2;--hc-bg-subtle:#efefea;--hc-surface:#ffffff;
  --hc-fg-strong:#0a0a0a;--hc-fg:#2a2a28;--hc-fg-muted:#66665f;
  --hc-border:rgba(10,10,10,0.1);--hc-border-strong:rgba(10,10,10,0.18);
  --hc-navy:#012e56;--hc-success-bg:#eef6ee;--hc-success-fg:#1f5a2b;
}
*{box-sizing:border-box}
html{background:var(--hc-bg);overflow-y:scroll;scrollbar-gutter:stable;min-height:100%}
body{margin:0;min-height:calc(100vh / var(--hc-zoom,1));background:var(--hc-bg);font-family:var(--hc-body);color:var(--hc-fg);font-size:15.5px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}
a:hover{color:inherit}
h1,h2,h3,p{margin:0}
h1,h2,h3,.hc-display{font-family:var(--hc-display);text-transform:uppercase;letter-spacing:0.005em;line-height:0.98;font-weight:800;color:var(--hc-fg-strong)}
img{color:transparent;max-width:100%}
/* P05: <picture> adds no box of its own, so layout stays exactly as it was with a bare <img>. */
picture{display:contents}
/* Without a box of their own <source> lines must not become grid/flex items of a menu row (they did, and
   pushed the menu thumbnails into the text column). */
picture>source{display:none}
/* P05: photo boxes show the site's subtle background while the picture loads. Photos only (logos and
   transparent PNGs live in /assets/). :where() keeps this at zero specificity, so any class rule wins;
   the dark photo frames below keep their own dark colour. */
:where(picture img,img[src*="/media/"]){background-color:var(--hc-bg-subtle)}
.hc-hero-media,.hc-cimg,.hc-lb-img{background-color:transparent}
input,select,textarea{width:100%;font:inherit;font-size:15px;color:var(--hc-fg-strong);background:#fff;border:1px solid var(--hc-border-strong);border-radius:6px;padding:0 12px;min-height:46px}
input,select,textarea{font-size:16px;font-weight:400;font-family:var(--hc-body);letter-spacing:0}
input::placeholder,textarea::placeholder{color:#8a8a82}
textarea{padding:10px 12px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:none;border-color:#111;box-shadow:0 0 0 3px rgba(254,254,39,0.7)}
button{font:inherit;cursor:pointer}

/* ---- Buttons ---- */
.hc-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:50px;padding:0 24px;border-radius:4px;font-family:var(--hc-display);font-size:17px;font-weight:800;letter-spacing:0.04em;text-transform:uppercase;white-space:nowrap;border:1.5px solid transparent;transition:background .15s ease,color .15s ease,border-color .15s ease,transform .12s ease}
.hc-btn:active{transform:translateY(1px)}
.hc-btn-yellow{background:var(--hc-yellow);color:var(--hc-yellow-ink);border-color:var(--hc-yellow)}
.hc-btn-yellow:hover{background:var(--hc-yellow-hover);border-color:var(--hc-yellow-hover);color:var(--hc-yellow-ink)}
.hc-btn-black{background:#000;color:#fff;border-color:#000}
.hc-btn-black:hover{background:#222;border-color:#222;color:#fff}
.hc-btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,0.6)}
.hc-btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,0.08);color:#fff}
.hc-btn-ghost-dark{background:transparent;color:#0a0a0a;border-color:rgba(10,10,10,0.5)}
.hc-btn-ghost-dark:hover{border-color:#0a0a0a;background:rgba(10,10,10,0.06);color:#0a0a0a}
.hc-arrow{display:inline-block;transition:transform .25s cubic-bezier(.2,.6,.2,1)}
.hc-btn:hover .hc-arrow,.hc-card:hover .hc-arrow{transform:translateX(4px)}

/* ---- Header ---- */
.hc-shell{position:sticky;top:0;z-index:50}
/* The page is at least one full screen tall at any site zoom (screen height ÷ zoom), and on short pages the main content
   grows so the footer meets the bottom of the screen instead of leaving a light strip beneath it. */
#hc-page{display:flex;flex-direction:column}
#hc-page>main{flex:1 0 auto}
.hc-topbar a:hover{color:var(--hc-yellow)!important}
header.hc-header{background:#000;transition:background .25s ease,box-shadow .25s ease}
.hc-navbar{background:#000;border-top:2px solid transparent;position:relative;transition:background .25s ease,box-shadow .25s ease}
header.hc-header.hc-stuck .hc-navbar{background:#000}
header.hc-header.hc-stuck{background:transparent;box-shadow:none}
.hc-hdr-row{transition:min-height .25s ease}
.hc-hdr-row>*{align-self:center}
.hc-navlink,.hc-phone,.hc-callbtn{padding-top:1px}
.hc-navbar{background:#0a0a0a;border-top:2px solid var(--hc-yellow);border-bottom:1px solid rgba(255,255,255,0.08)}
header.hc-header.hc-stuck{background:#000;box-shadow:0 6px 18px rgba(0,0,0,0.25)}
header.hc-header.hc-stuck .hc-hdr-row{min-height:0!important;height:0!important;overflow:hidden;opacity:0}
.hc-navlink{z-index:0}
.hc-hdr-row{transition:height .25s ease,opacity .2s ease}
.hc-hdr-row>a img{transition:height .25s ease}
.hc-navlink{position:relative;color:rgba(255,255,255,0.9)}
.hc-caret{transition:transform .2s ease;opacity:.7}
.hc-dd:not(.hc-dd-js):hover .hc-caret,.hc-dd.is-open .hc-caret{transform:rotate(180deg);opacity:1}
.hc-navlink:hover,.hc-dd:not(.hc-dd-js):hover>.hc-navlink,.hc-dd.is-open>.hc-navlink{color:var(--hc-yellow)!important}
.hc-navlink{transition:color .18s ease}

.hc-navlink.is-active{color:#fff!important}
.hc-navlink.is-active::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:4px;background:var(--hc-yellow)}
.hc-dd{position:relative;display:flex;align-items:center}
/* P09/F6: 28px wide (24px+ even at the 0.9 desktop zoom, WCAG 2.5.8). The caret keeps its place (flex-start after the same
   8px), and the extra width hangs into the gap on the right (margin-right:-10px), so nothing on screen moves. */
.hc-dd-toggle{display:inline-flex;align-items:center;justify-content:flex-start;width:auto;min-width:28px;height:50px;margin:0 -10px 0 0;padding:0 0 0 8px;border:0;background:none;color:rgba(255,255,255,0.9);cursor:pointer;transition:color .18s ease}
.hc-dd-toggle:hover,.hc-dd:not(.hc-dd-js):hover>.hc-dd-toggle,.hc-dd.is-open>.hc-dd-toggle{color:var(--hc-yellow)}
.hc-dd-toggle:focus{outline:none}
.hc-dd-toggle:focus-visible .hc-caret{outline:2px solid #fff;outline-offset:4px;border-radius:2px;opacity:1}
.hc-navlink:focus-visible{outline:2px solid #fff;outline-offset:4px;border-radius:2px}
.hc-dd-menu{position:absolute;top:calc(100% + 1px);left:-17px;width:max-content;max-width:calc(100vw - 32px);max-height:calc(100vh - 160px);overflow-y:auto;overscroll-behavior:contain;background:#141414;border:1px solid rgba(255,255,255,0.08);border-top:0;border-radius:0 0 8px 8px;box-shadow:0 18px 40px rgba(0,0,0,0.45);padding:8px;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-4px);transition:opacity .15s ease,transform .15s ease,visibility 0s linear .15s;z-index:60}
.hc-dd-menu::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
.hc-dd:not(.hc-dd-js):hover .hc-dd-menu,.hc-dd:not(.hc-dd-js):focus-within .hc-dd-menu,.hc-dd.is-open .hc-dd-menu{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition:opacity .15s ease,transform .15s ease,visibility 0s}
.hc-mega-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-rows:repeat(4,auto);grid-auto-flow:column;grid-auto-columns:minmax(236px,max-content);gap:2px 4px}
.hc-mega-item{display:grid;grid-template-columns:60px minmax(0,1fr);align-items:center;column-gap:12px;padding:8px;border-radius:6px;color:#fff;text-decoration:none;transition:background-color .15s ease}
.hc-mega-img,.hc-mm-img{display:block;width:60px;height:40px;object-fit:cover;border-radius:3px;background:#262626}
.hc-mega-txt{display:grid;gap:2px;min-width:0}
.hc-mega-name{font-size:14.5px;line-height:1.2;font-weight:700;color:#fff;white-space:nowrap}
.hc-mega-sub{font-size:12.5px;line-height:1.3;font-weight:500;color:rgba(255,255,255,0.62);white-space:nowrap}
.hc-mega-item:hover{background:rgba(255,255,255,0.07);color:#fff}
.hc-mega-item:focus{outline:none}
.hc-mega-item:focus-visible{background:rgba(255,255,255,0.07);box-shadow:inset 0 0 0 2px #fff}
.hc-mega-item[aria-current="page"]{background:rgba(255,255,255,0.04);box-shadow:inset 3px 0 0 var(--hc-yellow)}
.hc-mega-item[aria-current="page"]:focus-visible{box-shadow:inset 3px 0 0 var(--hc-yellow),inset 0 0 0 2px #fff}
.hc-mega-foot{display:flex;align-items:center;gap:8px;min-height:44px;margin:6px -8px -8px;padding:0 16px;border-top:1px solid rgba(255,255,255,0.08);font-size:14px;font-weight:700;color:var(--hc-yellow);text-decoration:none}
.hc-mega-foot:hover{color:var(--hc-yellow);text-decoration:underline;text-underline-offset:3px}
.hc-mega-arrow{display:inline-block;transition:transform .15s ease}
.hc-mega-foot:hover .hc-mega-arrow{transform:translateX(3px)}
.hc-mega-foot:focus{outline:none}
.hc-mega-foot:focus-visible{box-shadow:inset 0 0 0 2px #fff;border-radius:0 0 8px 8px}
@media (prefers-reduced-motion:reduce){.hc-dd-menu,.hc-caret,.hc-mega-arrow{transition:none!important}}
@media (max-width:1180px){.hc-nav-status span:last-child,.hc-nav-status span:nth-last-child(2){display:none}}
@media (max-width:1040px){.hc-nav-center{justify-content:space-between;gap:20px!important}}

/* ---- Gallery ---- */
.hc-gal-img{opacity:0;transition:opacity .35s ease}
.hc-gal-img.is-on{opacity:1}
@media (max-width:900px){.hc-feature{grid-template-columns:1fr!important}}

/* ---- Mobile menu ---- */
.hc-mob-eye{margin:0 0 10px;font-family:var(--hc-body);font-size:11px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--hc-yellow)}
.hc-mob-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.hc-mob-tile{position:relative;display:flex;align-items:flex-end;min-height:84px;border-radius:8px;overflow:hidden;background:#161616;color:#fff!important;text-decoration:none;font-family:'Barlow Condensed','Arial Narrow',system-ui,sans-serif;font-size:17px;font-weight:800;text-transform:uppercase;line-height:1;border-bottom:none!important;padding:0!important}
.hc-mob-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.hc-mob-tile span{position:relative;padding:10px 12px;background:linear-gradient(0deg,rgba(0,0,0,0.85),rgba(0,0,0,0));width:100%}
.hc-mob-tile-all{background:var(--hc-yellow);color:#0a0a0a!important;align-items:center;justify-content:center}
.hc-mob-tile-all span{background:none;text-align:center;padding:10px}
.hc-mob-links{display:grid;border-top:1px solid rgba(255,255,255,0.1)}
.hc-mob-links a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:50px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,0.1);color:#f3f3ed;text-decoration:none;font-family:var(--hc-body);font-size:18px;line-height:1.35;font-weight:600;text-transform:none;letter-spacing:0}
.hc-mob-links a::after{content:"→";flex:none;color:rgba(255,255,255,0.45);font-size:17px;font-weight:400}
.hc-mob-links a:hover,.hc-mob-links a.is-active,.hc-mob-links a[aria-current="page"]{color:var(--hc-yellow)}
.hc-mob-links a:focus-visible{outline:2px solid var(--hc-yellow);outline-offset:-2px}
.hc-mob-cta{display:grid;gap:10px;margin-top:24px;padding-bottom:16px}
.hc-mobile .hc-mob-cta .hc-btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:50px;padding:13px 16px;font-family:var(--hc-body);font-size:16px!important;line-height:1.25;font-weight:700;letter-spacing:0;text-transform:none;text-align:center}
/* Menu links must not override the yellow button's dark text, including touch states. */
.hc-mobile .hc-mob-cta a.hc-btn-yellow,.hc-mobile .hc-mob-cta a.hc-btn-yellow:is(:hover,:focus-visible,:active){color:var(--hc-yellow-ink);background:var(--hc-yellow);border:1px solid var(--hc-yellow)}
.hc-mobile .hc-mob-cta a.hc-btn-yellow:hover{background:var(--hc-yellow-hover);border-color:var(--hc-yellow-hover)}
.hc-mobile .hc-mob-cta .hc-open-status{display:flex!important;flex-wrap:wrap;justify-content:center;gap:5px 8px!important;text-align:center;line-height:1.5}
.hc-mobile .hc-mob-cta .hc-open-status>span:last-child{flex-basis:100%}
.hc-mobile .hc-mob-cta .hc-open-status>span:nth-child(3){display:none}
.hc-mobile.is-open{max-height:calc(100vh - 140px);overflow-y:auto}
.hc-mob-machines{list-style:none;margin:0;padding:0;display:grid;border-top:1px solid rgba(255,255,255,0.08)}
.hc-mobile a.hc-mm-row{display:grid;grid-template-columns:60px minmax(0,1fr);align-items:center;column-gap:14px;min-height:58px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,0.08);font-family:var(--hc-body);font-size:inherit;font-weight:inherit;letter-spacing:0;text-transform:none;color:#fff}
.hc-mobile a.hc-mm-row:hover,.hc-mobile a.hc-mm-row:active{color:#fff;background:rgba(255,255,255,0.04)}
.hc-mobile a.hc-mm-row:focus-visible{outline:2px solid #fff;outline-offset:-2px}
.hc-mm-row .hc-mega-name{font-size:16px;font-weight:700;white-space:normal}
.hc-mm-row .hc-mega-sub{font-size:13.5px;white-space:normal}
.hc-mobile a.hc-mm-row[aria-current="page"] .hc-mega-name{color:var(--hc-yellow)}
.hc-mobile a.hc-mob-all{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0;border-bottom:0;font-family:var(--hc-body);font-size:15px;font-weight:700;letter-spacing:0;text-transform:none;color:var(--hc-yellow)}
.hc-mobile a.hc-mob-all:hover{text-decoration:underline;text-underline-offset:3px}
@media (min-width:600px){
  .hc-mob-machines,.hc-mob-links,.hc-mob-cta{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}
  .hc-mob-cta{column-gap:12px}
  .hc-mobile .hc-mob-cta .hc-open-status{grid-column:1/-1}
  .hc-mobile .hc-mob-cta .hc-open-status>span:last-child{flex-basis:auto}
  .hc-mobile .hc-mob-cta .hc-open-status>span:nth-child(3){display:inline}
}

/* ---- Fleet (home) ---- */
.hc-fleet-tile{transition:transform .28s cubic-bezier(.2,.6,.2,1),box-shadow .28s ease}
.hc-fleet-tile:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(10,10,10,0.18)}
.hc-fleet-tile .hc-cimg{transition:transform .6s cubic-bezier(.2,.6,.2,1)}
.hc-fleet-tile:hover .hc-cimg{transform:scale(1.05)}
@media (max-width:980px){.hc-fleet{grid-template-columns:repeat(2,minmax(0,1fr))!important}.hc-fleet-feature{grid-column:span 2!important;min-height:340px!important}}
@media (max-width:640px){.hc-fleet{grid-template-columns:1fr!important}.hc-fleet-feature{grid-column:auto!important;min-height:300px!important}.hc-fleet-tile{min-height:220px!important}}

.hc-gphoto .hc-cimg{transition:transform .5s cubic-bezier(.2,.6,.2,1)}
.hc-gphoto:hover .hc-cimg{transform:scale(1.04)}
.hc-glink{transition:color .18s ease}
.hc-glink:hover{color:#000}
.hc-glink:hover .hc-arrow{transform:translateX(4px);color:var(--hc-fg-strong)}

.hc-fcard .hc-cimg{transition:transform .5s cubic-bezier(.2,.6,.2,1),filter .3s ease}
.hc-fcard:hover .hc-cimg{transform:scale(1.03);filter:saturate(1) contrast(1.02)}
.hc-fcard:hover>span:last-child{border-bottom-color:var(--hc-fg-strong)}
.hc-fcard>span:last-child{transition:border-color .2s ease}

@media (max-width:980px){.hc-fleet-rest{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (max-width:680px){.hc-fleet-core,.hc-fleet-rest{grid-template-columns:1fr!important;gap:22px!important}}

/* ---- Footer ---- */
.hc-flink{color:rgba(255,255,255,0.72)}
.hc-flink:hover{color:var(--hc-yellow)!important}
.hc-hy:hover{color:var(--hc-yellow)!important}
.hc-hu:hover{text-decoration:underline}



/* ---- Video hero (home) ---- */
.hc-video{--hh:clamp(480px,calc(78vh * var(--hc-vh,1)),900px);position:relative;height:var(--hh);overflow:hidden;background:#000}
.hc-hero-media{display:block}
/* centred zoom, just enough that the burnt-in captions (bottom ~18% of frame) stay out of view: rendered height >= container height / 0.64 */
.hc-video video{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:max(100%,calc(var(--hh) * 2.78));height:auto;aspect-ratio:16/9;max-width:none;display:block;pointer-events:none;background:#000}
/* 14 Oct 2026 (P07): the video sits over the photo (its own first frame) and takes over once it is playing. */
/* Batch A (HOME-4): a hard cut, not a 0.3 s fade. The photo is the video's first frame, so the switch is invisible; a fade showed both pictures at once while the camera was already moving. */
.hc-video video{opacity:0}
.hc-video.hc-video-playing video{opacity:1}

/* ---- Photo grid ---- */
.hc-ptile{position:relative;display:block;width:100%;overflow:hidden;border-radius:8px;background:#111;color:#fff}
.hc-ptile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.6,.2,1)}
.hc-ptile:hover img{transform:scale(1.025)}
.hc-ptile-lbl{position:absolute;left:0;right:0;bottom:0;padding:48px 18px 16px;background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,0.72) 100%);display:grid;gap:5px}
.hc-ptile-eye{font-size:11px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--hc-yellow)}
.hc-ptile-t{font-size:22px;font-weight:800;text-transform:uppercase;line-height:0.95;color:#fff}
.hc-ptile-c{font-size:13.5px;line-height:1.3;font-weight:500;color:#e6e6e0}
.hc-pgrid .hc-ptile[style*="21/9"] .hc-ptile-t{font-size:32px}
@media (max-width:560px){.hc-ptile-t{font-size:24px}}
@media (max-width:640px){.hc-lead h1{font-size:44px!important}}

/* ---- Scroll reveal ---- */
.hc-reveal{opacity:0}
.hc-reveal.hc-in{opacity:1;animation:hcRise .7s cubic-bezier(.2,.7,.2,1) var(--d,0ms) backwards}
.hc-reveal.hc-in[data-reveal="left"]{animation-name:hcLeft}
.hc-reveal.hc-in[data-reveal="right"]{animation-name:hcRight}
@keyframes hcRise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes hcLeft{from{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:none}}
@keyframes hcRight{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.hc-reveal{opacity:1}.hc-reveal.hc-in{animation:none}}
html,body{overflow-x:clip}

/* ---- Cards ---- */
.hc-card{display:flex;flex-direction:column;background:var(--hc-surface);border:1px solid var(--hc-border-strong);border-radius:10px;overflow:hidden;box-shadow:0 1px 2px rgba(10,10,10,0.04),0 4px 14px rgba(10,10,10,0.06);transition:transform .3s cubic-bezier(.2,.6,.2,1),box-shadow .3s ease,border-color .3s ease}
.hc-card:hover{transform:translateY(-4px);box-shadow:0 1px 2px rgba(10,10,10,0.05),0 18px 40px rgba(10,10,10,0.14);border-color:rgba(10,10,10,0.3)}
.hc-card .hc-cimg{transition:transform .55s cubic-bezier(.2,.6,.2,1)}
.hc-fit>img:first-child{transition:none}
.hc-card:hover .hc-cimg{transform:scale(1.04)}
.hc-card:hover .hc-ctitle{text-decoration:underline;text-decoration-color:var(--hc-yellow);text-decoration-thickness:3px;text-underline-offset:4px}

.hc-tile:hover .hc-ctitle{text-decoration:none}
.hc-tile:hover .hc-arrow{transform:translateX(4px)}

/* ---- Striped photo placeholder ---- */
.hc-ph{background:repeating-linear-gradient(-45deg,#e8e8e2 0 14px,#dedcd4 14px 28px);display:flex;align-items:center;justify-content:center}
.hc-ph span{font-family:ui-monospace,Menlo,monospace;font-size:11.5px;letter-spacing:0.04em;color:#6b6a64;background:rgba(255,255,255,0.9);border:1px solid rgba(10,10,10,0.1);border-radius:6px;padding:5px 10px;white-space:nowrap}
.hc-ph-dark{background:repeating-linear-gradient(-45deg,#1c1c1c 0 14px,#242424 14px 28px)}
.hc-ph-dark span{background:rgba(0,0,0,0.6);color:rgba(255,255,255,0.7);border-color:rgba(255,255,255,0.15)}

.hc-lbl-dark input,.hc-lbl-dark textarea{background:#141414;border-color:rgba(255,255,255,0.18);color:#fff}
.hc-lbl-dark input:focus,.hc-lbl-dark textarea:focus{border-color:var(--hc-yellow);box-shadow:none}

.hc-mrow .hc-cimg{transition:transform .6s cubic-bezier(.2,.6,.2,1)}
.hc-mrow:has(a:hover) .hc-cimg{transform:scale(1.03)}
.hc-mrow .hc-ctitle:hover,.hc-mrow:has(>a:hover) .hc-ctitle{text-decoration:underline;text-decoration-color:var(--hc-yellow);text-decoration-thickness:4px;text-underline-offset:5px}
@media (max-width:980px){.hc-mrow{direction:ltr!important}}

/* ---- Modal ---- */
#hc-quote-modal.hc-qm-open{display:block!important}
html.hc-modal-lock,html.hc-menu-lock{overflow:hidden}
/* Batch B (M12/POP-1): no scroll-anchoring nudge of the page behind while the pop-up holds the lock (Firefox, 200 % zoom). */
html.hc-modal-lock{overflow-anchor:none}
#hc-quote-modal{overscroll-behavior:contain}
.hc-qm-box{overscroll-behavior:contain}
#hc-quote-modal>[data-close]{touch-action:none}
.hc-x:hover{background:var(--hc-bg)!important;color:var(--hc-fg-strong)!important}

/* ---- Open status dot ---- */
.hc-open-status .dot{width:8px;height:8px;border-radius:50%;background:#b8b4ab;display:inline-block}


@media (prefers-reduced-motion:reduce){
  .hc-reveal{opacity:1!important;transition:none!important}
}
/* ---- Mobile menu ---- */
.hc-menubtn{display:none;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 14px;border:1.5px solid rgba(255,255,255,0.4);border-radius:4px;background:transparent;color:#fff;font-family:var(--hc-display);font-size:16px;line-height:1;font-weight:700;letter-spacing:0.06em;text-transform:uppercase}
.hc-menubtn>svg{display:block;flex:none;width:20px;height:16px;overflow:visible}
.hc-menubtn:hover{border-color:var(--hc-yellow);color:var(--hc-yellow)}
.hc-mobile{display:none;background:#0d0d0d;border-top:1px solid rgba(255,255,255,0.1);padding:18px 0 16px;font-family:var(--hc-body)}
.hc-mobile.hc-open{display:block;max-height:calc(100vh - 68px);max-height:calc(100dvh - 68px);overflow-y:auto;overscroll-behavior:contain}
/* Batch A (M1, audit JRN-1/NAV-5): the open menu floats over the page instead of pushing it down, so opening or closing it can never
   move the page. Do not add a site-wide scroll-padding-top: it brings the jump back (audit M5). */
.hc-mobile.hc-open{position:absolute;top:100%;left:0;right:0}
/* Batch A (M3, NAV-2): above the phone breakpoint the menu is never shown, even if it was left open when the window widened. */
@media (min-width:901px){.hc-mobile.hc-open{display:none}}
.hc-mobile a.hc-sub{font-family:var(--hc-body);font-size:14.5px;font-weight:600;text-transform:none;letter-spacing:0;padding:8px 0 8px 18px;color:rgba(255,255,255,0.7)}
@media (max-width:1180px){
  .hc-navlink{font-size:15px!important}
}
@media (max-width:1040px){
  .hc-navlink{font-size:13.5px!important;letter-spacing:0.02em!important}
}
@media (max-width:900px){
  .hc-navbar{display:none!important}
  .hc-menubtn{display:inline-flex}
}
@media (max-width:600px){
  .hc-grid-3,.hc-grid-4{grid-template-columns:1fr!important}
}
@media (max-width:980px){
  .hc-sticky{position:static!important}
  .hc-grid-2{grid-template-columns:1fr!important}
  .hc-grid-3,.hc-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .hc-hero-h1{font-size:60px!important}
}
@media (max-width:860px){
  .hc-topbar{display:none!important}
  .hc-menubtn{display:inline-flex}
  .hc-phone{display:inline-flex!important}
}

.hc-nrow:hover span span:last-child{color:#8a8a00}
@media (max-width:560px){.hc-nrow{grid-template-columns:88px 1fr!important;gap:14px!important}.hc-nrow img{width:88px!important;height:60px!important}}
.hc-pg{font-family:var(--hc-body);font-size:14px;font-weight:700;min-width:40px;height:40px;padding:0 12px;border-radius:6px;border:1px solid var(--hc-border-strong);background:transparent;color:var(--hc-fg-strong);cursor:pointer}
.hc-pg:hover{background:var(--hc-surface)}
.hc-pg.is-on{background:var(--hc-fg-strong);border-color:var(--hc-fg-strong);color:var(--hc-yellow)}
.hc-pg:disabled{opacity:.35;cursor:default}

/* ---- Customer review fixes (Sept 2026) ---- */
button.hc-btn{font-family:var(--hc-display)}
.hc-show-sm{display:none}
.hc-phone:hover{color:#fff!important}
.hc-nav-cta{margin-left:auto;display:none;align-items:center;gap:18px}
header.hc-header.hc-stuck .hc-nav-cta{display:flex}
.hc-nav-phone{font-family:var(--hc-display);font-size:20px;font-weight:800;line-height:1;letter-spacing:0.02em;color:var(--hc-yellow);white-space:nowrap}
.hc-nav-phone:hover{color:#fff}
.hc-mgrid{grid-template-columns:repeat(12,minmax(0,1fr))}
.hc-mgrid>*{grid-column:span 3}
.hc-mgrid>:nth-child(n+5){grid-column:span 4;aspect-ratio:16/9!important}
@media (max-width:980px){
  .hc-mgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hc-mgrid>*,.hc-mgrid>:nth-child(n+5){grid-column:auto;aspect-ratio:4/3!important}
  .hc-mgrid>:last-child{grid-column:span 2;aspect-ratio:16/9!important}
}
@media (max-width:900px){
  header.hc-header.hc-stuck .hc-hdr-row{height:auto!important;min-height:64px!important;overflow:visible;opacity:1}
  .hc-hdr-row{min-height:64px!important;gap:12px!important}
  .hc-hdr-row>a img{height:36px!important}
  .hc-hdr-row :is(.hc-phone,.hc-callbtn,.hc-menubtn){display:inline-flex;flex:none;align-items:center;justify-content:center;height:44px;min-height:44px!important;padding-top:0!important;padding-bottom:0!important;line-height:1;border-radius:4px}
  .hc-hdr-row .hc-phone{min-width:44px}
  .hc-video{--hh:clamp(240px,56vh,560px)}
}
@media (max-width:600px){
  .hc-mgrid{grid-template-columns:1fr}
  .hc-mgrid>:last-child{grid-column:auto;aspect-ratio:4/3!important}
  .hc-hero-h1{font-size:44px!important}
  .hc-intro{padding:44px 0 48px!important}
  .hc-intro .hc-btn{flex:1 1 auto}
  .hc-home-mach{padding:40px 0 52px!important}
}
@media (max-width:560px){
  .hc-hdr-row{gap:10px!important}
  .hc-hdr-row>div{gap:10px!important}
  .hc-hdr-row>a img{height:30px!important}
  .hc-hide-sm{display:none}
  .hc-show-sm{display:inline}
  .hc-phone{font-size:20px!important;min-height:44px;align-items:center}
  .hc-callbtn{padding:0 12px!important}
  .hc-menubtn{width:44px;min-width:44px;padding:0;justify-content:center}
  .hc-fpair{grid-template-columns:1fr!important}
  .hc-qm-scroll{padding:24px 20px!important}
}

/* footer */
.hc-foot .hc-flink:hover{color:var(--hc-yellow)!important}
@media (max-width:980px){.hc-foot-nav{display:flex!important;flex-wrap:wrap;gap:6px 22px;width:100%}.hc-foot-cols{display:grid!important;grid-template-columns:1fr 1fr}.hc-foot-cols>:first-child{grid-column:span 2}}
@media (max-width:560px){.hc-foot-cols{grid-template-columns:1fr!important;gap:24px!important}.hc-foot-cols>:first-child{grid-column:auto}}

/* machine cards */
.hc-mcards{grid-template-columns:repeat(12,minmax(0,1fr))!important}
.hc-mcards>*{grid-column:span 3}
.hc-mcards>:nth-child(-n+3){grid-column:span 4}
.hc-mcard-t{text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:2px;text-underline-offset:4px;transition:text-decoration-color .15s ease}
.hc-mcard:hover .hc-mcard-t{text-decoration-color:var(--hc-yellow-ink)}
@media (max-width:980px){.hc-mcards{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:22px 12px!important}.hc-mcards>*,.hc-mcards>:nth-child(-n+3){grid-column:auto}.hc-mcards>:first-child{grid-column:span 2}.hc-mcards>:first-child>span:first-child{aspect-ratio:16/9!important}}
@media (max-width:720px){.hc-mcard-t{font-size:17px!important}}
/* end machine cards */
.hc-qm-scroll{scrollbar-width:thin;scrollbar-color:rgba(10,10,10,0.22) transparent;overscroll-behavior:contain}
.hc-qm-scroll::-webkit-scrollbar{width:14px}
.hc-qm-scroll::-webkit-scrollbar-track{background:transparent;margin:14px 0}
.hc-qm-scroll::-webkit-scrollbar-thumb{background:rgba(10,10,10,0.2);background-clip:padding-box;border:4px solid transparent;border-radius:999px}
.hc-qm-scroll::-webkit-scrollbar-thumb:hover{background-color:rgba(10,10,10,0.35)}
.hc-qm-scroll::-webkit-scrollbar-button{display:none;height:0}

/* footer v3 */
.hc-f-main{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;align-items:stretch;padding:24px 0 20px}
.hc-f-main>*{min-width:0;padding:0 clamp(20px,2.6vw,44px)}
.hc-f-main>:first-child{padding-left:0}
.hc-f-main>:last-child{padding-right:0}
.hc-f-brand{display:flex;flex-direction:column;align-items:flex-start;gap:10px;max-width:none}
.hc-f-about{margin:0;font-size:13.5px;line-height:1.5;color:#a3a39c;max-width:34ch}
.hc-f-about br{display:none}
.hc-f-col{display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.hc-f-col>:last-child{margin-top:auto}
.hc-f-addr{text-wrap:balance}
.hc-f-label{margin-bottom:4px;font-size:11px;line-height:16px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:#8a8a83}
.hc-f-phone{margin-bottom:2px;font-family:var(--hc-display);font-size:26px;line-height:1;font-weight:800;letter-spacing:0.01em;color:#fff;white-space:nowrap}
.hc-f-phone:hover{color:var(--hc-yellow)}
.hc-f-mail{font-size:13.5px;line-height:21px;color:#fff;font-weight:600;text-decoration:underline;text-decoration-color:#4a4a46;text-underline-offset:4px}
.hc-f-mail:hover{color:#fff;text-decoration-color:#fff}
.hc-f-hours{font-size:13.5px;line-height:21px;color:#a3a39c}
.hc-f-addr{margin:0;font-style:normal;font-size:13.5px;line-height:21px;color:#e4e4df}
.hc-f-dir{margin-top:2px;font-size:13px;line-height:21px;font-weight:700;color:#fff}
.hc-f-dir:hover{color:var(--hc-yellow)}
.hc-f-legal{display:flex;align-items:center;justify-content:space-between;gap:8px 24px;flex-wrap:wrap;padding:10px 0 12px;border-top:1px solid #262624;font-size:12px;line-height:18px;color:#8a8a83}
.hc-f-legal a{color:#a3a39c}
.hc-f-legal a:hover{color:#fff}
@media (max-width:1100px){.hc-f-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 0}.hc-f-main>*:nth-child(odd){padding-left:0;border-left:0}.hc-f-main>*:nth-child(even){padding-right:0}}
@media (max-width:600px){
  .hc-f-main{grid-template-columns:1fr;gap:0;padding:22px 0 0}
  .hc-f-main>*{padding:14px 0!important;border-left:0!important;border-top:1px solid #262624}
  .hc-f-main>:first-child{padding-top:0;border-top:0}
  .hc-f-addr{font-size:15px;line-height:23px}
  .hc-f-mail,.hc-f-dir{display:inline-flex;align-items:center;min-height:44px;font-size:16px;margin:0}
  .hc-f-hours{font-size:15px}
  .hc-f-phone{font-size:30px}
  .hc-f-legal{display:grid;justify-content:start;gap:0;padding:8px 0 16px}
  .hc-f-legal a{display:inline-flex;align-items:center;min-height:44px}
}
/* end footer v2 */

/* fleet list */
.hc-flist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px}
.hc-flist-row{display:grid;grid-template-columns:minmax(0,1fr) auto 24px;align-items:center;gap:16px;min-height:64px;padding:12px 0;border-top:0;color:var(--hc-fg-strong);transition:border-color .2s ease}
.hc-flist-row:nth-last-child(-n+2){border-bottom:0}

.hc-flist-t{font-family:'Barlow Semi Condensed','Arial Narrow',system-ui,sans-serif;font-size:20px;line-height:1.2;font-weight:700}
.hc-flist-r{font-size:14.5px;line-height:1.4;color:var(--hc-fg-muted);white-space:nowrap}
.hc-flist-a{font-size:18px;color:var(--hc-fg-muted);transition:transform .2s ease,color .2s ease;justify-self:end}
.hc-flist-row:hover .hc-flist-a{color:var(--hc-fg-strong);transform:translateX(3px)}
.hc-flist-all .hc-flist-a{color:var(--hc-fg-strong)}
@media (max-width:860px){.hc-flist{grid-template-columns:1fr}.hc-flist-row:nth-last-child(2){border-bottom:0}.hc-flist-row:last-child:hover{border-bottom-color:var(--hc-fg-strong)}}
@media (max-width:560px){.hc-fleet-list{padding:clamp(16px,3vw,48px) 0!important}.hc-flist-row{grid-template-columns:minmax(0,1fr) 20px;row-gap:2px;min-height:68px}.hc-flist-t{font-size:18px}.hc-flist-r{grid-row:2;white-space:normal}.hc-flist-a{grid-row:1/3;grid-column:2}}
.hc-fleet-dark .hc-flist-row{color:#fff}.hc-fleet-dark .hc-flist-r{color:#a3a39c}.hc-fleet-dark .hc-flist-a{color:#a3a39c}.hc-fleet-dark .hc-flist-row:hover .hc-flist-a,.hc-fleet-dark .hc-flist-all .hc-flist-a{color:var(--hc-yellow)}.hc-fleet-dark .hc-flist-row:hover .hc-flist-t{text-decoration:underline;text-decoration-color:var(--hc-yellow);text-decoration-thickness:2px;text-underline-offset:4px}
.hc-flist{gap:12px 16px}
.hc-flist-row{padding:14px 22px;background:#efefea;border-radius:10px;transition:background .2s ease}
.hc-flist-all{background:#0a0a0a}
.hc-flist-all .hc-flist-t,.hc-flist-all .hc-flist-r,.hc-flist-all .hc-flist-a,.hc-flist-all:hover .hc-flist-a{color:var(--hc-yellow)!important}
@media (max-width:560px){.hc-flist-row{padding:12px 18px}}
.hc-fleet-dark .hc-flist-row{background:#1a1a1a}
/* end fleet list */

/* social values */
@media (max-width:980px) and (min-width:601px){.hc-sv-ach>:last-child{grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:28px}.hc-sv-ach>:last-child>img{grid-column:1/-1;aspect-ratio:auto!important;height:320px;object-position:50% 78%!important}.hc-sv-ach>:last-child>h3{grid-column:1;grid-row:2}.hc-sv-ach>:last-child>p:nth-of-type(1){grid-column:1;grid-row:3/span 2}.hc-sv-ach>:last-child>p:nth-of-type(2){grid-column:2;grid-row:2;align-self:end;margin:0!important}.hc-sv-ach>:last-child>ul{grid-column:2;grid-row:3/span 2}}
@media (max-width:600px){.hc-sv-ach{grid-template-columns:1fr!important}}
@media (max-width:980px){.hc-sv-hero-img{height:clamp(220px,45vw,380px)!important}.hc-sv-pri{grid-template-columns:1fr!important}}
@media (min-width:601px) and (max-width:980px){.hc-sv-pri{grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:28px!important}}

.hc-mrow-go:hover .hc-arrow{transform:translateX(4px)}
.hc-mrow-q{transition:color .18s ease,text-decoration-color .18s ease}
.hc-mrow-q:hover{color:var(--hc-fg-strong)!important;text-decoration-color:var(--hc-yellow)!important}
@media (max-width:980px){.hc-gallery{aspect-ratio:16/9!important;height:auto!important;min-height:0!important;flex:none!important}.hc-mside{display:block!important}.hc-gal-col{position:static!important;height:auto!important}}
/* about us */
@media (max-width:820px){.hc-ab2{grid-template-columns:1fr!important;align-items:start!important}.hc-ab2 img[style*="5/4"]{aspect-ratio:16/10!important}}
@media (max-width:600px){.hc-ab-depots{grid-template-columns:1fr!important;gap:32px!important}}
@media (max-width:560px){.hc-ab-stats{grid-template-columns:1fr!important}}
.hc-f{border-top:2px solid var(--hc-yellow)}

/* ---- News ---- */
.hc-lead-anim img{animation:hcLeadZoom 1.8s cubic-bezier(.2,.7,.2,1) both}
.hc-lead-anim h1{animation:hcRise .8s cubic-bezier(.2,.7,.2,1) .25s both}
@keyframes hcLeadZoom{from{transform:scale(1.08)}to{transform:none}}
.hc-nfeat img{transition:transform .9s cubic-bezier(.2,.6,.2,1)}
.hc-nfeat:hover img{transform:scale(1.04)}
.hc-nfeat-cta span{transition:transform .25s ease}
.hc-nfeat:hover .hc-nfeat-cta span{transform:translate(3px,-3px)}
.hc-ncard-img img{transition:transform .6s cubic-bezier(.2,.6,.2,1)}
.hc-ncard:hover .hc-ncard-img img{transform:scale(1.06)}
.hc-ncard-img::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--hc-yellow);transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.2,.6,.2,1)}
.hc-ncard:hover .hc-ncard-img::after{transform:scaleX(1)}
.hc-ncard-t{transition:color .2s ease}
.hc-ncard:hover .hc-ncard-t{color:#6b6b00!important}
.hc-nanim .hc-ncard{opacity:0}
.hc-nanim .hc-ncard.hc-nin{opacity:1;animation:hcRise .6s cubic-bezier(.2,.7,.2,1) var(--d,0ms) backwards}
@media (max-width:980px){.hc-ngrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.hc-nfeat{height:auto!important;aspect-ratio:16/10}}
@media (max-width:600px){.hc-ngrid{grid-template-columns:1fr!important;gap:32px!important}.hc-nfeat{aspect-ratio:4/5!important}.hc-nfeat>span:nth-of-type(1){background:linear-gradient(180deg,rgba(0,0,0,0) 30%,rgba(0,0,0,0.85) 100%)!important}}
@media (prefers-reduced-motion:reduce){.hc-lead-anim img,.hc-lead-anim h1{animation:none}.hc-nanim .hc-ncard{opacity:1}.hc-nanim .hc-ncard.hc-nin{animation:none}}

/* ---- Single-row header (trial: .hc-h1r) ---- */
header.hc-h1r{border-bottom:2px solid var(--hc-yellow)}
header.hc-h1r .hc-hdr-row{transition:height .25s ease}
header.hc-h1r.hc-stuck .hc-hdr-row{height:64px!important;min-height:0!important;overflow:visible!important;opacity:1!important}
header.hc-h1r.hc-stuck .hc-hdr-row>a img{height:36px!important}
header.hc-h1r .hc-dd,header.hc-h1r .hc-navlink,header.hc-h1r .hc-dd-toggle{height:100%!important}
header.hc-h1r .hc-navlink.is-active::after{display:none}
header.hc-h1r .hc-navlink.is-active{color:var(--hc-yellow)!important}
header.hc-h1r .hc-dd-menu{top:calc(100% + 2px);left:50%;transform:translate(-50%,-4px)}
header.hc-h1r .hc-dd:not(.hc-dd-js):hover .hc-dd-menu,header.hc-h1r .hc-dd:not(.hc-dd-js):focus-within .hc-dd-menu,header.hc-h1r .hc-dd.is-open .hc-dd-menu{transform:translate(-50%,0)}
header.hc-h1r .hc-hdr-row>div{justify-self:end}
header.hc-h1r .hc-hdr-row>a{justify-self:start}
/* Batch A (M4, NAV-3): between 901 and 1240px the number does not fit, so the header shows the phone icon on its own (a 44px call
   link) instead of nothing. From 1241px the full number shows; at 900px and below the existing phone rules apply. */
@media (min-width:901px) and (max-width:1240px){header.hc-h1r .hc-phone{display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px}header.hc-h1r .hc-phone .hc-hide-sm{display:none}header.hc-h1r .hc-phone-icon{display:block;flex:none;width:26px;height:26px}header.hc-h1r .hc-hdr-row>div{gap:12px!important}header.hc-h1r .hc-callbtn{white-space:nowrap}}
@media (min-width:901px) and (max-width:1040px){header.hc-h1r .hc-callbtn .hc-hide-sm{display:none}}
@media (max-width:900px){header.hc-h1r .hc-hdr-row{grid-template-columns:auto minmax(0,1fr)!important;gap:12px!important}header.hc-h1r .hc-inline-nav{display:none!important}header.hc-h1r .hc-phone{display:inline-flex}header.hc-h1r .hc-hdr-row{height:auto!important}}

/* Local review refinements, 24 September 2026. */
.hc-skip{position:fixed;top:10px;left:16px;z-index:2147483100;transform:translateY(-160%);background:var(--hc-yellow);color:#000;padding:12px 20px;border:2px solid #000;border-radius:4px;font-weight:700}
.hc-skip:focus{transform:none}
:where(a,button,select,input,textarea,summary):focus-visible{outline:3px solid #727200;outline-offset:4px}
.hc-header :where(a,button):focus-visible,.hc-f :where(a,button):focus-visible{outline-color:var(--hc-yellow)}
#main-content:focus{outline:none}
/* Tapping or clicking never flashes a box: no phone tap highlight (Android Chrome paints it blue) and no outline after a
   click. Keyboard users still get the outline above. Panels and headings that receive focus from a script are not controls. */
html{-webkit-tap-highlight-color:transparent}
:focus:not(:focus-visible),[tabindex="-1"]:focus{outline:none}
.hc-optional{display:inline;color:var(--hc-fg-muted);font-weight:400}
.hc-form-help{font-size:14px;line-height:1.5;margin:0}
.hc-form-help a{text-decoration:underline;text-underline-offset:3px;font-weight:600}
.hc-form-preview{font-size:13px;line-height:1.5;padding:10px 12px;background:#f2f2ec;border-left:3px solid #c4c4b8;color:#52524a}
.hc-qm-box{max-height:calc(100dvh - 32px)!important}
.hc-qm-box .hc-x{width:44px!important;height:44px!important;background:#fff!important;z-index:1}
.hc-qm-box .hc-qm-scroll{padding-top:58px!important}
.hc-f-legal a{min-height:44px;display:inline-flex;align-items:center}
.hc-article{width:min(100% - 40px,920px);margin:0 auto;padding:40px 0 64px}
.hc-article .hc-breadcrumb{font-size:14px;margin-bottom:28px;color:#5b5b53}
.hc-article .hc-breadcrumb a{text-decoration:underline;text-underline-offset:3px}
.hc-article h1{font-size:clamp(32px,4.5vw,54px);line-height:1.1;text-transform:none;max-width:28ch;letter-spacing:0}
.hc-article-date{display:block;margin:20px 0 12px;font-size:14px;color:#5b5b53}
.hc-archive-note{font-size:14px;line-height:1.5;color:#5b5b53;padding:14px 0 22px;border-bottom:1px solid var(--hc-border);margin-bottom:28px}
.hc-article-body{font-size:17px;line-height:1.75;overflow-wrap:anywhere}
.hc-article-body p{margin:0 0 22px}
.hc-article-body p:empty{display:none}
.hc-article-body img{display:block;width:auto;height:auto;max-width:100%;max-height:760px;object-fit:contain;margin:24px auto;border-radius:8px}
.hc-article-body a{font-weight:600;text-decoration:underline;text-underline-offset:3px}
.hc-article-nav{display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px;margin-top:36px;padding-top:24px;border-top:1px solid var(--hc-border);font-weight:600}
.hc-article-nav a{min-height:44px;display:inline-flex;align-items:center}
.hc-draft-note{padding:20px;border:1px solid #b6b69a;background:#f2f2df;line-height:1.6;margin:24px 0}
.hc-review-detail{color:#665719;background:#f4efd9;padding:2px 5px;border-radius:3px}
.hc-policy h2{font-size:27px;text-transform:none;margin:30px 0 12px;line-height:1.2}
.hc-policy p,.hc-policy ul{margin-bottom:16px}
.hc-policy li{margin-bottom:8px}
@media(max-width:600px){
 .hc-article{padding-top:28px}
}
@media(prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}.hc-gallery .hc-gal-img{transition:none!important;transform:none!important}.hc-video video{transition:none}}

/* Keep the mobile action boxes aligned without squeezing the smallest headers. */
@media(max-width:360px){#hc-page header.hc-header.hc-h1r .hc-hdr-row>a img{height:24px!important}}
@media(max-width:320px){
 #hc-page header.hc-header.hc-h1r .hc-hdr-row>a img{height:21px!important}
 #hc-page header.hc-header.hc-h1r .hc-hdr-row,#hc-page header.hc-header.hc-h1r .hc-hdr-row>div{gap:6px!important}
 .hc-hdr-row .hc-callbtn{padding-inline:10px!important}
}

/* A quiet first-load invitation on phones; the desktop telephone stays unchanged. */
.hc-phone-icon{display:none}
@media(max-width:900px){
 .hc-hdr-row .hc-phone{width:44px;min-width:44px;justify-content:flex-end}
 .hc-hdr-row .hc-phone>.hc-hide-sm{display:none}
 /* A slightly larger handset whose visible edge sits 6px inside its tap area (the artwork is inset 3/24 of its
    viewBox, 3.25px at 26px), so it sits a little further from Quote than the boxed buttons sit from each other. */
 .hc-hdr-row .hc-phone-icon{display:block;flex:none;width:26px;height:26px;margin-right:2.75px;transform-origin:50% 65%}
 .hc-hdr-row .hc-callbtn{border-color:rgba(255,255,255,0.4)}
 .hc2-tile{-webkit-tap-highlight-color:transparent}
 .hc2-tile::before{display:none}
 .hc2-tile:active{background:transparent;color:var(--hc-fg-strong)}
}
@media(max-width:900px) and (prefers-reduced-motion:no-preference){
 .hc-hdr-row .hc-phone-icon{animation:hcPhoneRing 920ms ease-in-out 550ms 1 both}
}
@keyframes hcPhoneRing{0%,100%{transform:rotate(0)}18%{transform:rotate(-9deg)}34%{transform:rotate(7deg)}50%{transform:rotate(-5deg)}66%{transform:rotate(3deg)}82%{transform:rotate(-1deg)}}

/* Enquiry feedback stays in flow; the spam trap is excluded from visual and keyboard navigation. */
.hc-enquiry-status { margin:0; padding:12px 14px; font-size:14px; line-height:1.5; text-align:left; color:#25251f; background:#f4f3ee; border-left:3px solid var(--hc-yellow); }
.hc-enquiry-status:empty { display:none; }
.hc-enquiry-status[data-error="true"] { border-left-color:#9c392d; }
.hc-enquiry-status:focus { outline:2px solid #25251f; outline-offset:3px; }
.hc-enquiry-trap { position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; clip-path:inset(50%)!important; white-space:nowrap!important; }
form[aria-busy="true"] [type="submit"] { cursor:wait; opacity:.72; }
/* Batch B (FORM-2): Send is switched off until hc-enquiry.js starts. Make that visible, and if the script never starts (blocked or
   failed), show "Form not ready? Call..." 1.5 s after the form is first shown. Send and the line share one grid cell
   (.hc-send-row), so while the line waits it has no height and adds no gap: a normal load never moves anything. It is not
   motion, so it also appears with reduced motion. */
form[data-enquiry]:not([aria-busy="true"]) [type="submit"][disabled] { opacity:.55; cursor:not-allowed; }
.hc-send-row { display:grid; }
.hc-form-notready { margin:0; max-height:0; overflow:hidden; visibility:hidden; font-size:13px; line-height:1.5; color:#52524a; }
.hc-form-notready a { font-weight:700; color:#0a0a0a; }
form[data-enquiry-ready] .hc-form-notready { display:none; }
form[data-enquiry]:not([data-enquiry-ready]) .hc-form-notready { animation:hcFormNotReady 0s 1.5s both!important; }
@keyframes hcFormNotReady { to { margin-top:8px; max-height:12em; visibility:visible; } }
