/* Eco Portables Studio product page
   Layout: D2C product page on a 1440px shell (Express Portables flow). Hero gallery + lean buy box,
   floor plans carousel, finishes visualiser, alternating image-and-text build blocks, comparison table, specs,
   delivery timeline, uses, reviews, finance, FAQ, Instagram grid, showrooms, quote or visit form.
   Light look, lime highlight, deep green for the form band. Pills on imagery are selling points only. */
/* Brand tokens (Eco Portables logo presentation, Sep 2026): green #30B56A, black #111314, grey #E5E7EB, Montserrat.
   The brand green is too light for text on white (2.6:1), so it carries buttons (black text), bars and badges;
   text accents use the darker --green-deep. Dark bands are the brand black. */
:root{
  --bg:#FFFFFF; --mist:#F3F4F6; --ink:#111314; --ink-2:#2A2D2F; --muted:#5F6368; --line:#E5E7EB; --ring:rgba(17,19,20,.08);
  --green:#30B56A; --green-hover:#28A35F; --green-deep:#1D7F4A; --night:#111314; --lime:#30B56A; --lime-soft:#E7F7EE; --lime-ink:#1D7F4A; --red:#C0392B; --red-soft:#FBE4E4;
  --fd:"Montserrat","Helvetica Neue",Arial,sans-serif; --fs:"Montserrat","Helvetica Neue",Arial,sans-serif;
  --r:12px; --r-lg:20px; --r-xl:28px; --sh:0 12px 36px rgba(17,19,20,.07); --sh-lg:0 30px 70px rgba(17,19,20,.13); --ease:cubic-bezier(.32,.72,0,1);
  --gl:max(16px, env(safe-area-inset-left,0px)); --gr:max(16px, env(safe-area-inset-right,0px));
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.55 var(--fs);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
button{font:inherit;color:inherit}
h1,h2,h3,h4{margin:0;font-family:var(--fd);letter-spacing:-.02em;text-wrap:balance}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
[hidden]{display:none!important}
.shell{max-width:1440px;margin-inline:auto;padding-left:max(var(--gl), 4vw);padding-right:max(var(--gr), 4vw)}
.section{padding-block:clamp(64px,8vw,112px)}
.section--tight{padding-block:clamp(48px,6vw,80px)}
.section--mist{background:var(--mist)}
.section--night{background:var(--night);color:#fff}
.center{text-align:center}
.eyebrow{display:inline-block;font:600 12px/1 var(--fs);letter-spacing:.14em;text-transform:uppercase;color:var(--green-deep);margin-bottom:16px}
.h2{font-size:clamp(32px,4.4vw,54px);line-height:1.04;font-weight:700}
.lead{font-size:clamp(17px,1.5vw,20px);color:var(--muted);max-width:60ch;margin-inline:auto;margin-top:16px}
.head{margin-bottom:clamp(32px,4.5vw,56px)}
.hl{font-style:normal;background:linear-gradient(transparent 86%,var(--green) 86%,var(--green) 97%,transparent 97%);padding-inline:1px}
.section--night .hl{color:var(--green);background:none}
:focus-visible{outline:3px solid var(--green-deep);outline-offset:3px;border-radius:4px}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:var(--r);padding:16px 24px;font:600 16px/1 var(--fs);text-decoration:none;cursor:pointer;transition:transform .4s var(--ease),background .3s var(--ease),box-shadow .4s var(--ease);white-space:nowrap}
.btn:active{transform:scale(.98)}
.btn--primary{background:var(--green);color:var(--ink);box-shadow:0 8px 22px rgba(48,181,106,.28)}
.btn--primary:hover{background:var(--green-hover)}
.btn__ic{width:30px;height:30px;border-radius:50%;background:rgba(17,19,20,.1);display:grid;place-items:center;margin:-6px -10px -6px 2px;flex:none;transition:transform .4s var(--ease)}
.btn__ic svg{width:15px;height:15px}
.btn--primary:hover .btn__ic{transform:translateX(3px)}
.btn--ghost{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1.5px #CBD1C2}
.btn--ghost:hover{box-shadow:inset 0 0 0 1.5px var(--ink)}
.btn--lg{padding:19px 30px;font-size:17px}
.btn--block{width:100%}
.btn > svg{width:18px;height:18px;flex:none}

.ic{width:22px;height:22px;flex:none;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.tag{background:var(--lime);color:var(--ink);font:700 10px/1 var(--fs);letter-spacing:.06em;text-transform:uppercase;padding:5px 7px;border-radius:4px}
.chip{display:inline-flex;align-items:center;gap:6px;background:rgba(11,12,0,.7);color:#fff;font:600 12px/1 var(--fs);letter-spacing:.04em;padding:8px 12px;border-radius:999px;backdrop-filter:blur(6px)}
.chip--lime{background:var(--lime);color:var(--ink);backdrop-filter:none}
.tabs{display:inline-flex;background:#fff;border-radius:999px;padding:4px;gap:2px;box-shadow:var(--sh),0 0 0 1px var(--ring)}
.tab{border:0;background:transparent;border-radius:999px;padding:9px 16px;font-weight:600;font-size:13.5px;cursor:pointer;color:var(--ink-2);white-space:nowrap;transition:background .3s var(--ease),color .3s var(--ease)}
.tab[aria-selected="true"]{background:var(--ink);color:#fff}
.rise{transform:translateY(16px);transition:transform .9s var(--ease)}
.rise.in{transform:none}

/* Ticker */
.ticker{background:var(--night);color:#fff;overflow:hidden;font:500 13px/1 var(--fs)}
.ticker__track{display:flex;width:max-content;animation:ticker 46s linear infinite;padding-block:11px}
.ticker:hover .ticker__track{animation-play-state:paused}
.ticker__item{display:inline-flex;align-items:center;gap:10px;padding-inline:28px;white-space:nowrap}
.ticker__item::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--lime)}
@keyframes ticker{to{transform:translateX(-50%)}}

/* Header */
.site{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.site__row{display:flex;align-items:center;gap:28px;height:76px}
.logo img{height:30px;width:auto}
.nav{display:flex;gap:28px;font-weight:500;font-size:15px}
.nav a{text-decoration:none;color:var(--ink-2)}
.nav a:hover{color:var(--green-deep)}
.site__cta{margin-left:auto;display:flex;align-items:center;gap:16px}
.site__phone{text-decoration:none;font-weight:600;font-size:15px;color:var(--ink-2)}
.site .btn{padding:12px 18px;font-size:15px}
.burger{display:none;background:none;border:0;padding:8px}
/* phone menu (round 15): a panel under the header with five big items, the range as a photo grid, buttons at the foot */
.mmenu{position:fixed;left:0;right:0;bottom:0;top:110px;z-index:49;background:#fff;border-top:1px solid var(--line);overflow:auto;overscroll-behavior:contain}
.mmenu__in{display:flex;flex-direction:column;min-height:100%;padding-block:6px 22px}
.mmenu__nav{display:flex;flex-direction:column}
.mmenu .mmenu__item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:17px 2px;border:0;border-bottom:1px solid var(--line);background:none;font:700 22px/1.2 var(--fs);letter-spacing:-.02em;color:var(--ink);text-decoration:none;text-align:left;cursor:pointer}
.mmenu__item .ic{width:20px;height:20px;color:var(--muted);transition:transform .3s var(--ease)}
.mmenu__item[aria-expanded="true"] .ic{transform:rotate(180deg);color:var(--green-deep)}
.mmenu__range{padding:4px 0 18px;border-bottom:1px solid var(--line)}
.mmenu__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px}
.mmenu__card{display:block;text-decoration:none;color:var(--ink)}
.mmenu__card img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:12px;background:var(--mist)}
.mmenu__card span{display:block;margin-top:7px;font:600 14px/1.25 var(--fs)}
.mmenu__all{display:inline-flex;align-items:center;gap:6px;margin-top:16px;font:600 15px/1 var(--fs);color:var(--green-deep);text-decoration:none}
.mmenu__cta{display:grid;gap:10px;margin-top:auto;padding-top:28px}
.mmenu__cta .btn{width:100%;justify-content:center}
.mmenu__social{display:flex;justify-content:center;gap:12px;padding-top:20px}
.mmenu__social a{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);color:var(--ink)}
.mmenu__social .ic{width:19px;height:19px}
.burger__close{display:none}
.burger[aria-expanded="true"] .burger__open{display:none}
.burger[aria-expanded="true"] .burger__close{display:block}
@media (max-width:980px){body.menu-open{overflow:hidden}.menu-open .mbar{display:none}}
@media (min-width:981px){.mmenu{display:none}}
.ic--sm{width:15px;height:15px;stroke-width:2}
.nav a[aria-current="page"]{color:var(--green-deep)}
/* Products dropdown: hover or focus on desktop, tap to open on touch */
.dd{position:relative}
.dd > a{display:inline-flex;align-items:center;gap:4px}
.dd__panel{position:absolute;left:-16px;top:100%;padding-top:14px;display:none;z-index:60}
.dd:hover .dd__panel,.dd:focus-within .dd__panel,.dd.is-open .dd__panel{display:block}
.dd__grid{display:grid;grid-template-columns:repeat(2,260px);gap:4px;background:#fff;border-radius:var(--r-lg);padding:12px;box-shadow:var(--sh-lg),0 0 0 1px var(--ring)}
.dd__grid a{display:block;padding:11px 14px;border-radius:12px;text-decoration:none;color:var(--ink)}
.dd__grid a:hover,.dd__grid a[aria-current="page"]{background:var(--mist)}
.dd__grid b{display:block;font-weight:600;font-size:15px}
.dd__grid small{display:block;color:var(--muted);font-size:12.5px;margin-top:2px}
.dd__all{display:inline-flex;align-items:center;gap:6px;margin:8px 0 0 12px;position:absolute;left:0;bottom:-30px;white-space:nowrap;font-weight:600;font-size:14px;color:var(--green-deep);text-decoration:none;background:#fff;padding:9px 14px;border-radius:999px;box-shadow:var(--sh),0 0 0 1px var(--ring)}
@media (max-width:980px){.nav,.site__phone{display:none}.burger{display:inline-flex}}

/* Hero */
.hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(28px,4vw,64px);align-items:start;padding-block:32px 72px}
.hero > *{min-width:0}
.gallery__main{position:relative;aspect-ratio:4/3;border-radius:var(--r-xl);overflow:hidden;background:var(--mist);box-shadow:0 0 0 1px var(--ring);margin:0}
.gallery__main img{width:100%;height:100%;object-fit:cover;transition:opacity .3s var(--ease)}
.gallery__main img.is-fading{opacity:0}
.gallery__tags{position:absolute;left:18px;top:18px;display:flex;gap:8px}
.gallery__arrows{position:absolute;right:16px;bottom:16px;display:flex;gap:8px}
.gallery__arrows button{width:42px;height:42px;border-radius:50%;border:0;background:rgba(255,255,255,.92);display:grid;place-items:center;cursor:pointer;box-shadow:var(--sh)}
.gallery__arrows svg{width:18px;height:18px}
.thumbs{display:flex;gap:10px;margin-top:14px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}
.thumbs::-webkit-scrollbar{display:none}
.thumb{flex:none;width:104px;aspect-ratio:1;border-radius:14px;overflow:hidden;border:2px solid transparent;padding:0;background:var(--mist);cursor:pointer;transition:border-color .3s var(--ease)}
.thumb img{width:100%;height:100%;object-fit:cover}
.thumb[aria-current="true"]{border-color:var(--ink)}
.buy{position:sticky;top:92px}
.buy h1{font-size:clamp(34px,3.6vw,48px);line-height:1.02;font-weight:700}
.rating{display:inline-flex;align-items:center;gap:10px;margin-top:14px;font-size:14px;font-weight:500;text-decoration:none;color:var(--ink-2)}
.stars{display:inline-flex;gap:2px}
.stars svg{width:15px;height:15px;fill:#F2B705}
.buy__sub{margin-top:14px;font-size:17px;color:var(--muted);max-width:46ch}
.proof{margin-top:22px;display:grid;gap:12px;padding-top:22px;border-top:1px solid var(--line)}
.proof li{display:flex;gap:12px;align-items:center;font-size:15px;color:var(--ink-2)}
.proof .ic{width:20px;height:20px;color:var(--green)}
.field{margin-top:24px}
.field__label{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-weight:600;font-size:15px;margin-bottom:10px}
.field__label small{font-weight:500;color:var(--muted);font-size:13px;text-align:right}
.field__label small a{color:var(--green-deep);text-decoration:none;font-weight:600}
.opts{display:grid;gap:10px}
.opts--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.opts--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.opt{position:relative;text-align:left;border:1.5px solid var(--line);background:#fff;border-radius:14px;padding:13px 14px;cursor:pointer;transition:border-color .3s var(--ease),box-shadow .3s var(--ease);min-width:0}
.opt:hover{border-color:#C6CDBB}
.opt[aria-pressed="true"]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.opt b{display:block;font-weight:600;font-size:15px;line-height:1.2}
.opt small{display:block;color:var(--muted);font-size:12.5px;margin-top:4px}
.opt .tag{position:absolute;top:-9px;right:10px}
.cta{margin-top:26px;display:grid;gap:10px}
.cta .btn{width:100%}
.cta .btn--ghost .ic{width:19px;height:19px;color:var(--green-deep)}
.assure{margin-top:16px;display:flex;justify-content:center;gap:18px;flex-wrap:wrap;font-size:13px;color:var(--muted)}
.assure span{display:inline-flex;align-items:center;gap:6px}
.assure .ic{width:15px;height:15px;color:var(--green)}
.acc{margin-top:22px;border-top:1px solid var(--line)}
.acc details{border-bottom:1px solid var(--line)}
.acc summary{cursor:pointer;list-style:none;padding:16px 0;font-weight:600;font-size:15px;display:flex;justify-content:space-between;align-items:center}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"+";font:500 22px/1 var(--fd);color:var(--green-deep)}
.acc details[open] summary::after{content:"−"}
.acc .body{padding:0 0 16px;font-size:14.5px;color:var(--ink-2)}
.acc .body ul{display:grid;gap:6px}
.acc .body li{padding-left:16px;position:relative}
.acc .body li::before{content:"";position:absolute;left:0;top:9px;width:6px;height:6px;border-radius:50%;background:var(--green)}
@media (max-width:980px){.hero{grid-template-columns:minmax(0,1fr)}.buy{position:static}}
@media (max-width:480px){.opts--3 .opt{padding:12px 10px}.opts--3 .opt b{font-size:14px}}

/* Floor plan library: size tabs, three-up grid, six shown then "Show all" */
.lay-bar{display:flex;justify-content:center;align-items:center;gap:16px;margin-bottom:26px}
.lay-bar .tabs:empty{display:none}
.lay-bar .tab small{font-weight:500;color:var(--muted);margin-left:2px}
.lay-bar .tab[aria-selected="true"] small{color:rgba(255,255,255,.7)}
.lay-grid{--cols:3;--gap:18px;display:flex;flex-wrap:wrap;justify-content:center;gap:var(--gap)}
.lay-grid>.lay{flex:0 0 calc((100% - (var(--cols) - 1) * var(--gap)) / var(--cols));max-width:460px}
.lay{background:#fff;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh),0 0 0 1px var(--ring);display:flex;flex-direction:column;min-width:0;cursor:pointer;text-align:left;border:0;padding:0;transition:box-shadow .4s var(--ease),transform .4s var(--ease)}
.lay:hover{transform:translateY(-2px)}
.lay[aria-pressed="true"]{box-shadow:0 0 0 2px var(--green),var(--sh)}
.lay[hidden]{display:none}
.lay-group{flex:0 0 100%;display:flex;align-items:center;gap:14px;margin-top:14px;font:600 12.5px/1 var(--fs);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.lay-group::after{content:"";flex:1;height:1px;background:var(--line)}
.lay-group:first-child{margin-top:0}
.lay-group[hidden]{display:none}
.lay__img{aspect-ratio:4/3;background:#fff;position:relative;padding:10px}
.lay__img img{width:100%;height:100%;object-fit:contain}
.lay-more{display:flex;justify-content:center;margin-top:24px}
.lay-more:empty{display:none}
.lay-note{text-align:center;color:var(--muted);font-size:14.5px;max-width:62ch;margin:22px auto 0}
@media (max-width:900px){.lay-grid{--gap:12px}.lay-grid:not([data-n="1"]){--cols:2!important}}
@media (max-width:520px){.lay-grid{--cols:1!important}.lay-grid>.lay{max-width:none}}
/* Product video */
.vid{position:relative;max-width:1240px;margin-inline:auto}
.vid__tabs{display:flex;justify-content:center;margin-bottom:22px}
.vid__frame{margin:0;aspect-ratio:16/9;border-radius:var(--r-xl);overflow:hidden;background:#000;box-shadow:var(--sh-lg),0 0 0 1px var(--ring);position:relative}
.vid__frame video,.vid__frame img,.vid__frame iframe{width:100%;height:100%;object-fit:cover;display:block;border:0}
.vid__frame[hidden]{display:none}
.vid__frame .play{left:50%;top:50%;bottom:auto;transform:translate(-50%,-50%)}
.vid__frame .play:hover{transform:translate(-50%,-50%) scale(1.03)}
.lay__pop{position:absolute;right:12px;top:12px;font:600 12px/1 var(--fs);color:var(--ink-2);background:#fff;padding:8px 11px;border-radius:999px;box-shadow:0 0 0 1px var(--line)}
.lay__body{padding:16px 18px 18px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:10px;border-top:1px solid var(--line);flex:1}
.lay h3{font-size:18px;font-weight:600;letter-spacing:-.01em}
.lay p{font-size:13px;color:var(--muted);margin-top:3px}
.lay__pick{flex:none;display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:600;color:var(--green-deep)}
.lay__pick .ic{width:16px;height:16px}

/* Finishes visualiser: category tabs, a stage image with a sample card, colour options beside it */
.vis-tabs{display:flex;justify-content:center;margin-bottom:24px;overflow-x:auto;scrollbar-width:none;padding:2px}
.vis-tabs::-webkit-scrollbar{display:none}
.vis-tabs .tabs{flex:none}
.vis{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,.55fr);gap:clamp(20px,3vw,40px);align-items:center;max-width:1240px;margin-inline:auto}
.vis__stage{position:relative;margin:0;aspect-ratio:16/10;border-radius:var(--r-xl);overflow:hidden;background:var(--mist);box-shadow:0 0 0 1px var(--ring)}
.vis__stage img{width:100%;height:100%;object-fit:cover;transition:opacity .35s var(--ease),transform .9s var(--ease)}
.vis__stage img.is-fading{opacity:0}
.vis__lens{position:absolute;left:16px;bottom:16px;display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.95);border-radius:16px;padding:8px 16px 8px 8px;box-shadow:var(--sh)}
.vis__lens > span:first-child{width:52px;height:52px;border-radius:10px;background-size:cover;background-position:center;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06)}
.vis__lens small{display:block;font-size:12px;color:var(--muted)}
.vis__lens b{display:block;font:600 16px/1.2 var(--fd);letter-spacing:-.01em}
.vis__panel h3{font-size:clamp(24px,2.4vw,30px);line-height:1.1}
.vis__panel > p{margin-top:8px;color:var(--muted);font-size:15.5px}
.vis__opts{margin-top:22px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.vopt{display:flex;align-items:center;gap:12px;border:1.5px solid var(--line);background:#fff;border-radius:14px;padding:8px 12px 8px 8px;cursor:pointer;text-align:left;min-width:0;transition:border-color .3s var(--ease),box-shadow .3s var(--ease)}
.vopt:hover{border-color:#C6CDBB}
.vopt[aria-pressed="true"]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.vopt__sw{width:44px;height:44px;border-radius:9px;flex:none;background-size:cover;background-position:center;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06)}
.vopt__n{font-size:14px;font-weight:600;line-height:1.2;min-width:0}
.vis__foot{margin-top:18px;font-size:13.5px;color:var(--muted)}
@media (max-width:900px){.vis{grid-template-columns:minmax(0,1fr)}.vis-tabs{justify-content:flex-start}}
@media (max-width:480px){.vis__lens{left:10px;bottom:10px;padding:6px 12px 6px 6px}.vis__lens > span:first-child{width:40px;height:40px}.vis__lens b{font-size:14px}}

/* Build blocks (Express key-features pattern): image and copy alternate, one selling point on each image */
.feat{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,5vw,80px);align-items:center;padding-block:clamp(28px,4vw,48px)}
.feat + .feat{border-top:1px solid var(--line)}
.feat:nth-of-type(even) .feat__media{order:2}
.feat__media{border-radius:var(--r-xl);overflow:hidden;aspect-ratio:5/4;background:#fff;box-shadow:0 0 0 1px var(--ring);position:relative;min-width:0}
.feat__media img{width:100%;height:100%;object-fit:cover}
.feat__media--whole img{object-fit:contain;padding:clamp(10px,1.6vw,22px)}
.usp{position:absolute;left:16px;bottom:16px;display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--ink);font:600 14px/1 var(--fs);padding:11px 15px 11px 12px;border-radius:999px;box-shadow:var(--sh)}
.usp .ic{width:17px;height:17px;color:var(--ink);background:var(--green);border-radius:50%;padding:3px;stroke-width:2.6}
.feat__body{min-width:0}
.feat__body h3{font-size:clamp(26px,2.8vw,36px);line-height:1.08;margin-bottom:14px}
.feat__body p{color:var(--muted);font-size:17px;max-width:44ch}
.feat__body ul{margin-top:20px;display:grid;gap:10px;font-size:15.5px}
.feat__body li{display:flex;gap:10px;align-items:flex-start;color:var(--ink-2)}
.feat__body li .ic{width:18px;height:18px;color:var(--green);margin-top:3px}
@media (max-width:860px){.feat{grid-template-columns:minmax(0,1fr)}.feat:nth-of-type(even) .feat__media{order:0}}

/* Comparison */
.cmp-wrap{overflow-x:auto;max-width:1000px;margin-inline:auto;border-radius:var(--r-lg);background:#fff;box-shadow:var(--sh),0 0 0 1px var(--ring)}
.cmp{width:100%;border-collapse:separate;border-spacing:0;min-width:560px;font-size:15.5px}
.cmp th,.cmp td{padding:18px 20px;text-align:center;border-bottom:1px solid var(--line);vertical-align:middle}
.cmp th:first-child,.cmp td:first-child{text-align:left;font-weight:500;color:var(--ink-2);width:48%;position:sticky;left:0;background:#fff}
.cmp thead th{font:600 13px/1.3 var(--fs);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);padding-block:24px}
.cmp thead th.us{background:var(--lime-soft);border-radius:16px 16px 0 0;width:24%}
.cmp thead th.us img{height:34px;width:auto;margin:0 auto}
.cmp td.us{background:var(--lime-soft)}
.cmp tbody tr:last-child td{border-bottom:0}
.cmp tbody tr:last-child td.us{border-radius:0 0 16px 16px}
.yes,.no{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%}
.yes{background:var(--green);color:var(--ink)}
.no{background:var(--red-soft);color:var(--red)}
.yes svg,.no svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.cmp .cap{display:block;font-size:12.5px;color:var(--muted);margin-top:5px;font-weight:400}
@media (max-width:560px){.cmp{min-width:0;font-size:13.5px}.cmp th,.cmp td{padding:12px 8px}.cmp th:first-child,.cmp td:first-child{width:42%;position:static}.cmp thead th{font-size:11.5px;letter-spacing:.02em}.cmp thead th.us img{height:24px}.cmp .cap{font-size:11px}}

/* Specs */
.spec-tabs{display:flex;justify-content:center;margin-bottom:28px}
.specs{max-width:1100px;margin-inline:auto;display:grid;gap:18px}
.plan{background:#fff;border-radius:var(--r-lg);box-shadow:var(--sh),0 0 0 1px var(--ring);overflow:hidden;margin:0}
.plan img{width:100%;height:auto;max-height:440px;object-fit:contain;background:#fff}
.plan figcaption{padding:14px 18px;font-size:13.5px;color:var(--muted);border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.plan figcaption a{color:var(--green-deep);font-weight:600;text-decoration:none}
.kv{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.kv div{background:#fff;border-radius:14px;padding:18px;box-shadow:var(--sh),0 0 0 1px var(--ring)}
.kv b{display:block;font:700 26px/1 var(--fd);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.kv span{display:block;font-size:12.5px;color:var(--muted);margin-top:6px}
.spec-card{background:#fff;border-radius:var(--r-lg);box-shadow:var(--sh),0 0 0 1px var(--ring);padding:8px 26px}
.spec-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px}
.spec-grid--1{grid-template-columns:minmax(0,1fr)}
.kv:empty,.spec-tabs[hidden]{display:none}
.spec-grid dl{margin:0}
.spec-grid div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;padding:14px 0;border-bottom:1px solid var(--line);font-size:14.5px}
.spec-grid dl > div:last-child{border-bottom:0}
.spec-grid dt{font-weight:600;color:var(--ink)}
.spec-grid dd{margin:0;color:var(--ink-2)}
.spec-grid dd small{display:block;color:var(--muted);font-size:12.5px;margin-top:3px}
.pc,.pd{display:inline-block;font:700 10px/1 var(--fs);letter-spacing:.06em;text-transform:uppercase;padding:4px 6px;border-radius:4px;margin-right:6px;vertical-align:middle}
.pc{background:#EEF0EA;color:var(--ink-2)}
.pd{background:var(--lime);color:var(--ink)}
.pdx{background:var(--night);color:#fff}
@media (max-width:760px){.kv{grid-template-columns:repeat(2,minmax(0,1fr))}.spec-grid{grid-template-columns:minmax(0,1fr)}.spec-grid dl:first-child > div:last-child{border-bottom:1px solid var(--line)}}

/* Delivery timeline: the line fills and each step lights up in turn when the section scrolls into view */
.tl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;position:relative;max-width:1100px;margin-inline:auto}
.tl::before,.tl::after{content:"";position:absolute;left:12.5%;right:12.5%;top:27px;height:3px;border-radius:3px}
.tl::before{background:#DDE2D4}
.tl::after{background:var(--green);transform:scaleX(0);transform-origin:left center}
.tl.go::after{transform:scaleX(1);transition:transform 2.4s cubic-bezier(.65,0,.35,1)}
.tl li{text-align:center;padding:0 10px;position:relative;min-width:0;z-index:1}
.tl .ic-wrap{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;margin:0 auto 16px;background:#fff;color:var(--green-deep);box-shadow:0 0 0 6px #fff,0 0 0 7px #DDE2D4;transition:background .5s var(--ease),color .5s var(--ease),box-shadow .5s var(--ease),transform .5s var(--ease)}
.tl.go .ic-wrap{background:var(--green);color:var(--ink);box-shadow:0 0 0 6px #fff,0 10px 24px rgba(48,181,106,.3);transform:scale(1.06);transition-delay:calc(var(--i) * .72s)}
.tl .ic-wrap .ic{width:24px;height:24px}
.tl b{display:block;font:600 18px/1.2 var(--fd);letter-spacing:-.01em}
.tl p{font-size:14px;color:var(--muted);margin-top:6px}
.tl__when{display:inline-block;margin-top:10px;font-size:12.5px;font-weight:600;color:var(--lime-ink);background:var(--lime-soft);padding:6px 10px;border-radius:999px;opacity:.35;transform:translateY(6px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.tl.go .tl__when{opacity:1;transform:none;transition-delay:calc(var(--i) * .72s + .15s)}
.tl__total{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:clamp(28px,4vw,44px);font:600 clamp(17px,1.6vw,20px)/1.3 var(--fd);letter-spacing:-.01em;text-align:center}
.tl__total .ic{color:var(--green)}
@media (max-width:760px){
  .tl{grid-template-columns:minmax(0,1fr);gap:26px;max-width:460px}
  .tl::before,.tl::after{left:27px;right:auto;top:28px;bottom:28px;width:3px;height:auto}
  .tl::after{transform:scaleY(0);transform-origin:center top}
  .tl.go::after{transform:scaleY(1)}
  .tl li{display:grid;grid-template-columns:56px minmax(0,1fr);gap:16px;text-align:left;padding:0}
  .tl .ic-wrap{margin:0}
}

/* Applications */
.apps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.app{position:relative;aspect-ratio:4/3;border-radius:var(--r-lg);overflow:hidden;background:var(--night);color:#fff;text-decoration:none;display:flex;align-items:flex-end;isolation:isolate;min-width:0}
.app img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.app:hover img{transform:scale(1.05)}
.app::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(17,19,20,0) 55%,rgba(17,19,20,.66) 100%);z-index:1}
.app b{position:relative;z-index:2;padding:18px 20px;font:600 20px/1.2 var(--fd);letter-spacing:-.01em}
.app b small{display:block;font:500 13px/1.3 var(--fs);color:rgba(255,255,255,.75);margin-top:4px}
.apps--4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:860px){.apps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.apps{grid-template-columns:minmax(0,1fr)}}

/* Reviews */
.rv-bar{display:flex;align-items:center;justify-content:center;gap:clamp(20px,4vw,56px);flex-wrap:wrap;margin-bottom:34px}
.rv-bar .big{font:700 60px/1 var(--fd);letter-spacing:-.03em}
.rv-bar .stars svg{width:20px;height:20px}
.rv-bar p{font-size:14px;color:var(--muted);margin-top:6px}
.bars{display:grid;gap:7px;min-width:240px}
.bars div{display:grid;grid-template-columns:40px minmax(0,1fr) 24px;gap:10px;align-items:center;font-size:12.5px;color:var(--ink-2);font-variant-numeric:tabular-nums}
.bars i{height:7px;border-radius:999px;background:#E6E9DF;overflow:hidden;display:block;font-style:normal}
.bars i b{display:block;height:100%;background:#F2B705;border-radius:999px}
.rv__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.rev{background:#fff;border-radius:var(--r-lg);padding:24px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--sh),0 0 0 1px var(--ring);min-width:0}
.rev header{display:flex;align-items:center;gap:12px}
.rev .av{width:40px;height:40px;border-radius:50%;background:var(--lime-soft);color:var(--lime-ink);display:grid;place-items:center;font:700 13px/1 var(--fd);flex:none}
.rev header b{display:block;font-weight:600;font-size:15px}
.rev header small{color:var(--muted);font-size:12.5px;display:inline-flex;align-items:center;gap:5px}
.rev header small .ic{width:13px;height:13px;color:var(--green)}
.rev .stars svg{width:14px;height:14px}
.rev h3{font-size:16.5px;font-weight:600;letter-spacing:0}
.rev p{font-size:14.5px;color:var(--ink-2);flex:1}
.rv__more{grid-column:1/-1;display:flex;justify-content:center;gap:10px;margin-top:6px;flex-wrap:wrap}
@media (max-width:980px){.rv__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.rv__grid{grid-template-columns:minmax(0,1fr)}}

/* Finance: one slim card, logo, one line, one button */
.fin{max-width:1100px;margin-inline:auto;background:#fff;border-radius:var(--r-xl);box-shadow:var(--sh),0 0 0 1px var(--ring);padding:clamp(22px,3vw,34px) clamp(22px,3.4vw,44px);display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:clamp(18px,3vw,40px);align-items:center}
.fin__logo{height:44px;width:auto}
.fin__copy h2{font-size:clamp(22px,2.4vw,30px);line-height:1.12}
.fin__copy p{margin-top:6px;color:var(--muted);font-size:15.5px}
.fin__legal{max-width:1100px;margin:12px auto 0;font-size:12px;color:var(--muted);text-align:center}
@media (max-width:860px){.fin{grid-template-columns:minmax(0,1fr);text-align:center;justify-items:center}}

/* FAQ */
.faq-tabs{display:flex;justify-content:center;margin-bottom:28px;overflow-x:auto;scrollbar-width:none;padding:2px}
.faq-tabs::-webkit-scrollbar{display:none}
.faq-tabs .tabs{flex:none}
.faq-panel{display:none;max-width:860px;margin-inline:auto;background:#fff;border-radius:var(--r-lg);box-shadow:var(--sh),0 0 0 1px var(--ring);padding:6px 28px}
.faq-panel.is-on{display:block}
.faq-panel details{border-bottom:1px solid var(--line)}
.faq-panel details:last-child{border-bottom:0}
.faq-panel summary{cursor:pointer;list-style:none;padding:18px 0;font-weight:600;font-size:16.5px;display:flex;justify-content:space-between;gap:16px;align-items:center}
.faq-panel summary::-webkit-details-marker{display:none}
.faq-panel summary::after{content:"+";font:500 22px/1 var(--fd);color:var(--green-deep);flex:none}
.faq-panel details[open] summary::after{content:"−"}
.faq-panel .ans{padding:0 0 18px;color:var(--ink-2);font-size:15.5px;max-width:66ch}
@media (max-width:760px){.faq-tabs{justify-content:flex-start}}

/* Instagram grid: square tiles, reel marker, profile glyph on hover */
/* two rows of four, every tile at Instagram's 4:5 feed size; phones show two rows of two */
.ig{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.ig__tile{position:relative;aspect-ratio:4/5;border-radius:14px;overflow:hidden;background:#E6E9DF;display:block}
.ig__tile img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.ig__tile:hover img{transform:scale(1.05)}
.ig__type{position:absolute;right:10px;top:10px;color:#fff;filter:drop-shadow(0 1px 3px rgba(0,0,0,.45))}
.ig__type .ic{width:20px;height:20px;stroke-width:1.8}
.ig__hover{position:absolute;inset:0;display:grid;place-items:center;background:rgba(17,19,20,.4);color:#fff;opacity:0;transition:opacity .35s var(--ease)}
.ig__hover .ic{width:34px;height:34px;stroke-width:1.6}
.ig__tile:hover .ig__hover,.ig__tile:focus-visible .ig__hover{opacity:1}
.ig-cta{display:flex;justify-content:center;margin-top:28px}
.ig-cta .ic{width:19px;height:19px}
@media (max-width:860px){.ig{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ig__tile{border-radius:10px}.ig__tile:nth-child(n+5){display:none}}

/* Showrooms */
.rooms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:880px;margin-inline:auto}  /* Perth and Brisbane, a centred pair */
.room{background:#fff;border-radius:var(--r-lg);box-shadow:var(--sh),0 0 0 1px var(--ring);padding:clamp(20px,2.4vw,28px);display:flex;flex-direction:column;gap:16px;min-width:0}
.room header{display:flex;align-items:center;gap:14px}
.room__pin{width:44px;height:44px;border-radius:50%;background:var(--lime-soft);color:var(--green-deep);display:grid;place-items:center;flex:none}
.room__pin .ic{width:21px;height:21px}
.room header small{display:block;font-size:12.5px;color:var(--muted)}
.room h3{font-size:24px;line-height:1.1}
.room__addr{font-size:15.5px;color:var(--ink-2)}
.room__hours{margin:0;display:grid;gap:6px;padding-block:14px;border-block:1px solid var(--line)}
.room__hours div{display:flex;justify-content:space-between;gap:12px;font-size:14px}
.room__hours dt{color:var(--muted)}
.room__hours dd{margin:0;font-weight:600;color:var(--ink-2)}
.room__tel{display:inline-flex;align-items:center;gap:8px;font-weight:600;text-decoration:none;font-size:15px}
.room__tel .ic{width:17px;height:17px;color:var(--green)}
.room__cta{margin-top:auto;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
.room__cta .btn{padding:14px 18px;font-size:15px}
@media (max-width:980px){.rooms{grid-template-columns:minmax(0,1fr);max-width:560px}}

/* Quote or visit form */
.quote{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,5vw,80px);align-items:center}
.quote > *{min-width:0}
.quote h2{font-size:clamp(34px,4.2vw,52px);line-height:1.05}
.quote__intro p{margin-top:18px;font-size:17px;color:rgba(255,255,255,.75)}
.quote__tel{display:inline-flex;align-items:center;gap:10px;margin-top:22px;color:#fff;text-decoration:none;font-weight:600;font-size:16px}
.quote__tel .ic{width:19px;height:19px;color:var(--lime)}
.form{background:#fff;color:var(--ink);border-radius:var(--r-xl);padding:clamp(22px,3vw,36px);box-shadow:var(--sh-lg)}
.seg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));background:var(--mist);border-radius:14px;padding:4px;gap:4px;margin-bottom:22px}
.seg button{border:0;background:transparent;border-radius:11px;padding:12px 10px;font-weight:600;font-size:14.5px;cursor:pointer;color:var(--ink-2);transition:background .3s var(--ease),box-shadow .3s var(--ease)}
.seg button[aria-selected="true"]{background:#fff;color:var(--ink);box-shadow:0 2px 8px rgba(17,19,20,.1),0 0 0 1px var(--ring)}
.form h3{font-size:22px;margin-bottom:4px}
.form > p{color:var(--muted);font-size:14.5px;margin-bottom:18px}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.f{display:grid;gap:6px;min-width:0}
.f label{font-size:13px;font-weight:600}
.f label small{font-weight:500;color:var(--muted)}
.f input,.f select,.f textarea{width:100%;border:1.5px solid #CBD1C2;border-radius:10px;padding:13px 14px;font:inherit;font-size:15px;background:#fff;color:var(--ink)}
.f input:focus,.f select:focus,.f textarea:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px rgba(11,145,70,.15)}
.f input.is-bad,.f select.is-bad{border-color:var(--red)}
.f textarea{min-height:90px;resize:vertical}
.f--full{grid-column:1/-1}
.form .btn{margin-top:16px}
.form small.legal{display:block;margin-top:12px;font-size:12px;color:var(--muted)}
.form__ok{display:grid;gap:12px;padding:12px 0}
.form__ok p{color:var(--ink-2)}
.form__err{margin-top:12px;font-size:13.5px;color:var(--red)}
.form__err:empty{display:none}
@media (max-width:860px){.quote{grid-template-columns:minmax(0,1fr)}}
@media (max-width:520px){.grid2{grid-template-columns:minmax(0,1fr)}.seg button{font-size:13.5px;padding:11px 6px}}

/* Footer */
.foot{background:var(--night);color:#fff;padding-block:56px 32px;border-top:1px solid rgba(255,255,255,.08)}
.foot__grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:36px}
.foot__grid > *{min-width:0}
.foot img.logo-img{height:36px;width:auto;margin-bottom:16px}
.foot p{color:rgba(255,255,255,.7);font-size:14px;max-width:32ch}
.foot h4{font:600 12px/1 var(--fs);letter-spacing:.12em;text-transform:uppercase;color:var(--lime);margin-bottom:14px}
.foot ul{display:grid;gap:9px;font-size:14.5px}
.foot a{color:#fff;text-decoration:none}
.foot a:hover{color:var(--lime)}
.foot .room-f b{display:block;font-weight:600}
.foot .room-f span{display:block;color:rgba(255,255,255,.65);font-size:13px}
.foot .room-f a{font-size:13px;color:var(--lime)}
.foot__base{margin-top:40px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px;color:rgba(255,255,255,.6)}
@media (max-width:900px){.foot__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.foot__grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:980px){.foot{padding-bottom:calc(32px + 76px)}}

/* Sticky mobile bar */
.mbar{position:fixed;left:0;right:0;bottom:0;z-index:55;display:none;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-top:1px solid var(--line);padding:10px var(--gr) calc(10px + env(safe-area-inset-bottom,0px)) var(--gl);gap:10px}
.mbar .btn{flex:1;padding:14px 16px;font-size:15px}
@media (max-width:980px){.mbar{display:flex}}

/* ---------- Content pages: verbatim blocks from the live site in the theme's components ---------- */
.phero{background:var(--mist);padding-block:clamp(40px,6vw,80px)}
.phero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:center}
.phero--plain .phero__grid{grid-template-columns:minmax(0,1fr);text-align:center}
.phero--plain .phero__copy{max-width:760px;margin-inline:auto}
.phero h1{font-size:clamp(36px,4.6vw,58px);line-height:1.02;font-weight:700}
.phero .lead{margin-top:18px;margin-inline:0}
.phero--plain .lead{margin-inline:auto}
.cta-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}
.phero--plain .cta-row{justify-content:center}
.cta-row .btn--ghost .ic{width:19px;height:19px;color:var(--green-deep)}
.phero__img{margin:0;aspect-ratio:4/3;border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--sh-lg),0 0 0 1px var(--ring);background:#fff}
.phero__img img{width:100%;height:100%;object-fit:cover}
@media (max-width:900px){.phero__grid{grid-template-columns:minmax(0,1fr)}.phero__img{aspect-ratio:16/10}}
.prose{max-width:800px;margin-inline:auto;font-size:17px;color:var(--ink-2)}
.prose--center{text-align:center}
.prose h2{font-size:clamp(28px,3.4vw,42px);line-height:1.08;margin:0 0 16px;color:var(--ink)}
.prose h3{font-size:clamp(21px,2.2vw,26px);line-height:1.15;margin:34px 0 10px;color:var(--ink)}
.prose h4,.prose h5{font-size:17px;margin:22px 0 8px;color:var(--ink)}
.prose p{margin:0 0 14px}
.prose p.eyebrow{margin-bottom:12px}
.prose ul,.prose ol{margin:0 0 16px;padding-left:22px;list-style:disc}
.prose ol{list-style:decimal}
.prose li{margin:6px 0}
.prose a{color:var(--green-deep);font-weight:600}
.prose img{display:block;max-height:480px;width:auto;max-width:100%;border-radius:var(--r-lg);margin:22px auto;box-shadow:var(--sh)}
.prose img.img--sm{max-width:300px;max-height:120px;margin:18px 0;box-shadow:none;border-radius:0}
.prose table{width:100%;border-collapse:collapse;margin:20px 0;font-size:15px}
.prose td,.prose th{border-bottom:1px solid var(--line);padding:10px 8px;text-align:left;vertical-align:top}
.prose strong{color:var(--ink)}
.cmp-wrap--wide{max-width:1100px}
.cmp3 th:first-child,.cmp3 td:first-child{width:34%}
.cmp3 thead th{padding-block:20px}
.cmp3 td{font-size:14.5px;color:var(--ink-2)}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.card{background:#fff;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh),0 0 0 1px var(--ring);display:flex;flex-direction:column;min-width:0}
.card img{width:100%;aspect-ratio:4/3;object-fit:cover}
.card__body{padding:22px 24px 24px;display:flex;flex-direction:column;gap:14px;flex:1}
.card h3{font-size:22px;line-height:1.1}
.card ul{display:grid;gap:8px;font-size:14.5px;color:var(--ink-2)}
.card li{display:flex;gap:9px;align-items:flex-start}
.card li .ic{width:17px;height:17px;color:var(--green);margin-top:2px}
.card .btn{margin-top:auto;align-self:flex-start}
@media (max-width:900px){.cards{grid-template-columns:minmax(0,1fr);max-width:560px;margin-inline:auto}}
.gal{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.gal img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r-lg);box-shadow:0 0 0 1px var(--ring)}
@media (max-width:700px){.gal{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ptiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ptile{margin:0;background:#fff;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh),0 0 0 1px var(--ring);min-width:0}
.ptile img{width:100%;aspect-ratio:4/3;object-fit:contain;background:#fff;padding:10px}
.ptile figcaption{padding:12px 16px 16px;font:600 15px/1.2 var(--fs);border-top:1px solid var(--line)}
@media (max-width:860px){.ptiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.ptiles{grid-template-columns:minmax(0,1fr)}}
.resgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.res{display:flex;flex-direction:column;background:#fff;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh),0 0 0 1px var(--ring);text-decoration:none;color:inherit;min-width:0;transition:transform .4s var(--ease)}
.res:hover{transform:translateY(-2px)}
.res img{width:100%;aspect-ratio:16/10;object-fit:cover}
.res > div{padding:20px 22px 22px;display:grid;gap:8px}
.res h3{font-size:19px;line-height:1.15}
.res p{color:var(--muted);font-size:14.5px}
.res span{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:14px;color:var(--green-deep)}
@media (max-width:860px){.resgrid{grid-template-columns:minmax(0,1fr);max-width:560px;margin-inline:auto}}
.feat__body.prose{max-width:none;font-size:16px}
.feat__body.prose h2{font-size:clamp(26px,2.8vw,36px)}
.feat__body.prose h3{margin-top:0}
.feat__body.prose .btn{margin-top:8px}
.feat__body.prose h5{font:600 22px/1.1 var(--fd);margin:0 0 10px}
.icons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:1100px;margin-inline:auto}
.icons li{display:flex;gap:14px;align-items:flex-start;background:#fff;border-radius:var(--r-lg);padding:20px 22px;box-shadow:var(--sh),0 0 0 1px var(--ring)}
.icons__ic{width:38px;height:38px;border-radius:50%;background:var(--lime-soft);color:var(--green-deep);display:grid;place-items:center;flex:none}
.icons__ic .ic{width:19px;height:19px}
.icons b{display:block;font:600 17px/1.2 var(--fd);letter-spacing:-.01em}
.icons p{color:var(--muted);font-size:14.5px;margin-top:4px}
@media (max-width:860px){.icons{grid-template-columns:minmax(0,1fr)}}
.ptabs .faq-tabs{margin-bottom:24px}
.ppanel{display:none;max-width:1100px;margin-inline:auto;background:#fff;border-radius:var(--r-lg);box-shadow:var(--sh),0 0 0 1px var(--ring);padding:clamp(22px,3vw,36px);grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(20px,3vw,40px);align-items:center}
.ppanel.is-on{display:grid}
.ppanel .prose{max-width:none;font-size:16px}
.ppanel .prose h3{margin-top:0}
.ppanel__img{margin:0;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/3}
.ppanel__img img{width:100%;height:100%;object-fit:cover}
@media (max-width:860px){.ppanel.is-on{grid-template-columns:minmax(0,1fr)}}
.split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,5vw,72px);align-items:start;max-width:1200px;margin-inline:auto}
.split .prose{max-width:none}
.split__items{display:grid;gap:14px}
.split__items li{background:#fff;border-radius:16px;padding:18px 20px;box-shadow:var(--sh),0 0 0 1px var(--ring)}
.split__items b{display:block;font:600 17px/1.2 var(--fd)}
.split__items p{color:var(--muted);font-size:14.5px;margin-top:4px}
.split__img{margin-top:18px;border-radius:var(--r-lg)}
@media (max-width:860px){.split{grid-template-columns:minmax(0,1fr)}}
.feat__media--embed{aspect-ratio:16/10;background:#000}
.feat__media--embed iframe{width:100%;height:100%;border:0;display:block}
.embed{max-width:1100px;margin-inline:auto;aspect-ratio:16/9;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-lg),0 0 0 1px var(--ring);background:#000}
.embed iframe{width:100%;height:100%;border:0;display:block}
.script-embed{max-width:1100px;margin-inline:auto;min-height:120px}
.tl--2{grid-template-columns:repeat(2,minmax(0,1fr))}.tl--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.tl--3::before,.tl--3::after{left:16.6%;right:16.6%}.tl--2::before,.tl--2::after{left:25%;right:25%}
.tl.tl--5,.tl.tl--6{grid-template-columns:repeat(3,minmax(0,1fr))}

/* ---------- Homepage ---------- */
.hhero{background:var(--mist);padding-block:clamp(40px,6vw,88px) clamp(48px,7vw,96px)}
.hhero__grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(28px,5vw,72px);align-items:center}
.hhero h1{font-size:clamp(38px,4.6vw,62px);line-height:1;font-weight:700;margin-top:14px}
.hhero .lead{margin:20px 0 0;max-width:52ch}
.hhero .cta-row{margin-top:28px}
.hhero__proof{margin-top:28px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;padding-top:24px;border-top:1px solid var(--line)}
.hhero__proof li{display:flex;gap:10px;align-items:center;font-size:14.5px;color:var(--ink-2)}
.hhero__proof .ic{width:19px;height:19px;color:var(--green)}
.hhero__media{position:relative;margin:0;aspect-ratio:4/3;border-radius:var(--r-xl);overflow:hidden;background:#000;box-shadow:var(--sh-lg),0 0 0 1px var(--ring)}
.hhero__media img,.hhero__media iframe{width:100%;height:100%;object-fit:cover;display:block;border:0}
.play{position:absolute;left:18px;bottom:18px;display:inline-flex;align-items:center;gap:12px;border:0;background:rgba(255,255,255,.95);color:var(--ink);border-radius:999px;padding:8px 18px 8px 8px;cursor:pointer;box-shadow:var(--sh);font:600 14px/1 var(--fs);transition:transform .4s var(--ease)}
.play:hover{transform:translateY(-1px)}
.play__ic{width:40px;height:40px;border-radius:50%;background:var(--green);color:var(--ink);display:grid;place-items:center}
.play__ic .ic{width:18px;height:18px;fill:var(--ink);stroke:none;margin-left:2px}
@media (max-width:980px){.hhero__grid{grid-template-columns:minmax(0,1fr)}.hhero__media{aspect-ratio:16/10}}
@media (max-width:480px){.hhero__proof{grid-template-columns:minmax(0,1fr)}.hhero .cta-row .btn{width:100%}}
.cats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.cat{display:flex;flex-direction:column;background:#fff;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh),0 0 0 1px var(--ring);text-decoration:none;color:inherit;min-width:0;transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.cat:hover{transform:translateY(-3px);box-shadow:var(--sh-lg),0 0 0 1px var(--ring)}
.cat__img{position:relative;aspect-ratio:4/3;background:var(--mist);overflow:hidden}
.cat__img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.cat:hover .cat__img img{transform:scale(1.04)}
.cat__img .chip{position:absolute;left:12px;top:12px}
.cat__body{padding:18px 20px 20px;display:grid;gap:6px;flex:1;align-content:start}
.cat h3{font-size:19px;line-height:1.15}
.cat p{color:var(--muted);font-size:14px}
.cat__more{display:inline-flex;align-items:center;gap:6px;margin-top:8px;font-weight:600;font-size:14px;color:var(--green-deep)}
@media (max-width:1100px){.cats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){.cats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cat__body{padding:14px 14px 16px}.cat h3{font-size:16px}.cat p{font-size:13px}}
.spot{background:var(--night);color:#fff;padding-block:clamp(56px,7vw,104px)}
.spot__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,5vw,72px);align-items:center}
.spot__img{margin:0;aspect-ratio:4/3;border-radius:var(--r-xl);overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,.35)}
.spot__img img{width:100%;height:100%;object-fit:cover}
.spot .eyebrow{color:var(--lime)}
.spot h2{font-size:clamp(32px,4.2vw,54px);line-height:1.04}
.spot p{margin-top:18px;font-size:17px;color:rgba(255,255,255,.78);max-width:50ch}
.spot .btn--ghost{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.4)}
.spot .btn--ghost:hover{box-shadow:inset 0 0 0 1.5px #fff}
@media (max-width:900px){.spot__grid{grid-template-columns:minmax(0,1fr)}}
.rcards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.rcard{position:relative;display:block;aspect-ratio:4/3;border-radius:var(--r-lg);overflow:hidden;background:var(--night);color:#fff;text-decoration:none;isolation:isolate}
.rcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.rcard:hover img{transform:scale(1.05)}
.rcard::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(17,19,20,0) 50%,rgba(17,19,20,.7) 100%);z-index:1}
.rcard div{position:absolute;left:0;right:0;bottom:0;padding:18px 20px;z-index:2}
.rcard small{display:block;font-size:13px;color:rgba(255,255,255,.75)}
.rcard b{display:block;font:600 22px/1.15 var(--fd);letter-spacing:-.01em;margin-top:2px}
.scards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}
.scard{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 12px;background:#fff;border-radius:16px;padding:16px 18px;text-decoration:none;color:inherit;box-shadow:var(--sh),0 0 0 1px var(--ring)}
.scard b{font:600 18px/1.1 var(--fd)}
.scard small{color:var(--muted);font-size:13px;grid-column:1}
.scard .ic{grid-row:1/3;color:var(--green-deep)}
@media (max-width:760px){.rcards,.scards{grid-template-columns:minmax(0,1fr)}}

@media (prefers-reduced-motion:reduce){
  .ticker__track{animation:none}
  .rise{transform:none}
  html{scroll-behavior:auto}
  *{transition:none!important}
}

/* ---------- Homepage v3 (22 Oct 2026, round 8): centred photo hero, carousels, brand palette ---------- */
.section--air{padding-block:clamp(80px,9.5vw,136px)}
.head--row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;text-align:left}
.head--row .lead{margin-inline:0}
.head--row .car__nav{flex:none;padding-bottom:6px}
@media (max-width:640px){.head--row{flex-direction:column;align-items:flex-start}}


.car{position:relative}
.car__track{display:flex;gap:36px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:24px;scroll-behavior:smooth;scrollbar-width:none;padding:12px 24px 64px;margin:-12px -24px -52px}
.car__track::-webkit-scrollbar{display:none}
.car__track>*{flex:0 0 calc((100% - 72px)/3);scroll-snap-align:start;min-width:0}
.car--wide .car__track>*{flex-basis:min(820px,74%)}
.car--4 .car__track>*{flex-basis:calc((100% - 108px)/4)}
.car__nav{display:flex;gap:8px}
.car__btn{width:46px;height:46px;border-radius:50%;border:0;background:#fff;color:var(--ink);box-shadow:var(--sh),0 0 0 1px var(--ring);cursor:pointer;display:grid;place-items:center;transition:transform .3s var(--ease),opacity .3s var(--ease)}
.car__btn:hover{transform:translateY(-1px)}
.car__btn:disabled{opacity:.35;cursor:default;transform:none}
.car__btn .ic{width:20px;height:20px}
@media (max-width:1000px){.car__track>*,.car--4 .car__track>*{flex-basis:calc((100% - 36px)/2)}}
@media (max-width:640px){.car__track>*,.car--4 .car__track>*,.car--wide .car__track>*{flex-basis:86%}.car__track{gap:12px;padding:12px 16px 56px;margin:-12px -16px -44px;scroll-padding-inline:16px}}

.slide{margin:0;aspect-ratio:16/10;border-radius:var(--r-xl);overflow:hidden;background:var(--mist);box-shadow:var(--sh)}
.slide img{width:100%;height:100%;object-fit:cover}


.steps-cta{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:34px;align-items:center}
.steps-cta p{color:var(--muted);font-size:14.5px;width:100%;text-align:center}

.car .app{aspect-ratio:4/5}
.car .app b{font-size:19px}

.itiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.itile{background:#fff;border-radius:var(--r-lg);box-shadow:var(--sh),0 0 0 1px var(--ring);padding:clamp(22px,2.6vw,32px)}
.itile .ic-wrap{width:52px;height:52px;border-radius:16px;background:var(--lime-soft);color:var(--green-deep);display:grid;place-items:center;margin-bottom:18px}
.itile .ic{width:26px;height:26px;stroke-width:1.5}
.itile h3{font-size:18px;font-weight:700;line-height:1.25}
.itile p{font-size:14.5px;color:var(--muted);margin-top:8px}
@media (max-width:1000px){.itiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.itiles{grid-template-columns:minmax(0,1fr);gap:12px}}


.film{position:relative;border-radius:var(--r-xl);overflow:hidden;aspect-ratio:16/9;background:var(--night);box-shadow:var(--sh-lg);isolation:isolate}
.film img{width:100%;height:100%;object-fit:cover;display:block}
.film::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(17,19,20,.06),rgba(17,19,20,.6));z-index:1}
.film .play{position:absolute;left:50%;top:50%;bottom:auto;transform:translate(-50%,-50%);z-index:2;padding:10px 26px 10px 10px;font-size:15px}
.film .play:hover{transform:translate(-50%,-50%) translateY(-1px)}
.film .play__ic{width:54px;height:54px}
.film__cap{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:clamp(18px,2.4vw,30px);color:#fff;display:flex;justify-content:space-between;align-items:flex-end;gap:16px}
.film__cap b{font:600 clamp(16px,1.6vw,22px)/1.25 var(--fd);max-width:36ch}
.film__cap a{color:#fff;font-size:14px;white-space:nowrap}
@media (max-width:640px){.film{aspect-ratio:4/5}.film__cap{flex-direction:column;align-items:flex-start}.film__cap a{white-space:normal}}

.visit{margin:0 auto clamp(24px,3vw,40px);max-width:1240px;border-radius:var(--r-xl);overflow:hidden;aspect-ratio:21/9;position:relative;box-shadow:var(--sh-lg);background:var(--night)}
.visit img{width:100%;height:100%;object-fit:cover}
.visit figcaption{position:absolute;left:18px;bottom:18px;background:rgba(255,255,255,.94);border-radius:999px;padding:9px 14px;font:600 13px/1 var(--fs)}
@media (max-width:640px){.visit{aspect-ratio:4/3}}


/* ---------- Product "Up close" grid (Express 'Our features' style): real close-ups, one label each ---------- */
.dets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 20px}
.dets--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.det{margin:0;min-width:0}
.det img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:var(--r-lg);background:var(--mist);display:block;transition:transform .8s var(--ease)}
.det:hover img{transform:scale(1.02)}
.det figcaption{margin-top:12px;font:600 15.5px/1.3 var(--fd);color:var(--ink)}
.dets-cta{display:flex;justify-content:center;margin-top:40px}
@media (max-width:900px){.dets,.dets--3{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.det figcaption{font-size:14px;margin-top:8px}}

/* ---------- Homepage v4 (22 Oct 2026, round 9): framed hero, use-case switcher, map, light motion ---------- */


/* compact process timeline (homepage) */
.tl--compact{margin-top:6px}

/* Australia-wide: dotted map, pulsing showroom pins, delivery arcs that draw in */
.auw{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,5vw,80px);align-items:center}
.auw__copy .lead{margin-inline:0}
.auw__rooms{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:24px}
.auw__rooms li{display:flex;align-items:center;gap:8px;font-size:15px;color:var(--ink-2)}
.auw__rooms b{color:var(--ink)}
.auw__dot{width:10px;height:10px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px var(--lime-soft)}
.auw .cta-row{margin-top:30px}
.auw__map{margin:0}
.auw__map svg{width:100%;height:auto;display:block;overflow:visible}
.au__land{fill:url(#auDots);stroke:#D5D9DF;stroke-width:2}
#auDots circle{fill:#C3C9D1}
.au__arc{fill:none;stroke:var(--green);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;opacity:.85;transition:stroke-dashoffset 1.6s cubic-bezier(.65,0,.35,1) calc(var(--i) * .12s + .2s)}
.auw.in .au__arc{stroke-dashoffset:0}
.au__dest{fill:var(--ink);opacity:0;transform:scale(.4);transform-box:fill-box;transform-origin:center;transition:opacity .4s var(--ease) calc(var(--i) * .12s + 1.5s),transform .4s var(--ease) calc(var(--i) * .12s + 1.5s)}
.auw.in .au__dest{opacity:1;transform:none}
.au__pin{fill:var(--green);stroke:#fff;stroke-width:5}
.au__pulse{fill:var(--green);opacity:0;transform-box:fill-box;transform-origin:center;animation:auPulse 2.4s ease-out infinite}
.au__label{font:700 30px var(--fs);fill:var(--ink);paint-order:stroke;stroke:#F3F4F6;stroke-width:8px;stroke-linejoin:round}
.au__run{fill:var(--green-deep)}
@keyframes auPulse{0%{opacity:.5;transform:scale(1)}100%{opacity:0;transform:scale(3.4)}}
@media (max-width:900px){.auw{grid-template-columns:minmax(0,1fr)}}

/* light motion everywhere: staggered reveal for grids, lift on hover */
.rise.stagger.in>*{animation:staggerUp .8s var(--ease) backwards}
.rise.stagger.in>:nth-child(2){animation-delay:.07s}
.rise.stagger.in>:nth-child(3){animation-delay:.14s}
.rise.stagger.in>:nth-child(4){animation-delay:.21s}
.rise.stagger.in>:nth-child(5){animation-delay:.28s}
.rise.stagger.in>:nth-child(6){animation-delay:.35s}
.rise.stagger.in>:nth-child(7){animation-delay:.42s}
.rise.stagger.in>:nth-child(n+8){animation-delay:.49s}
@keyframes staggerUp{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
.itile{transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.itile:hover{transform:translateY(-4px);box-shadow:var(--sh-lg),0 0 0 1px var(--ring)}
.itile .ic-wrap{transition:background .4s var(--ease),color .4s var(--ease),transform .4s var(--ease)}
.itile:hover .ic-wrap{background:var(--green);color:var(--ink);transform:rotate(-6deg) scale(1.06)}
.room{transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.room:hover{transform:translateY(-3px);box-shadow:var(--sh-lg),0 0 0 1px var(--ring)}
.rev{transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.rev:hover{transform:translateY(-3px)}
.slide img,.film img,.visit img{transition:transform 1.2s var(--ease)}
.slide:hover img,.film:hover img,.visit:hover img{transform:scale(1.03)}

@media (prefers-reduced-motion:reduce){
  .au__arc,.au__dest{transition:none}.au__arc{stroke-dashoffset:0}.au__dest{opacity:1;transform:none}.au__pulse{animation:none}
  .rise.stagger.in>*{animation:none}
}

/* ---------- Homepage v6 (22 Oct 2026, round 9c polish): short split hero, accordion blocks, story block ---------- */
.hero6{background:#fff;padding-block:clamp(36px,5vw,72px) clamp(24px,3vw,40px)}
.hero6__grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:clamp(28px,4.5vw,64px);align-items:center}
.hero6__h1{font-size:clamp(40px,3.9vw,58px);line-height:1.04;font-weight:800;letter-spacing:-.04em}
.hero6__h1 em{white-space:nowrap}
.hero6__h1 .hl{background:linear-gradient(transparent 86%,var(--green) 86%,var(--green) 97%,transparent 97%)}
.hero6__sub{margin:20px 0 0;max-width:48ch;font-size:clamp(17px,1.35vw,19px)}
.hero6__cta{margin-top:28px}
.hero6__frame{position:relative;margin:0;aspect-ratio:5/4;border-radius:var(--r-xl);overflow:hidden;background:var(--mist);box-shadow:var(--sh-lg)}
.hero6__frame img{width:100%;height:100%;object-fit:cover;animation:heroZoom 2.4s var(--ease) .2s both}
.hero6__frame .hero6__img{position:absolute;inset:0;opacity:0;transform:scale(1.05);animation:none;transition:opacity 1.1s var(--ease),transform 7s linear}
.hero6__frame .hero6__img.is-on{opacity:1;transform:scale(1)}
.hero6__frame .hero6__img:first-child{animation:heroZoom 2.4s var(--ease) .2s both}
.hero6__cap{position:absolute;z-index:2;left:18px;bottom:18px;display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.94);color:var(--ink);text-decoration:none;font:600 13.5px/1 var(--fs);padding:11px 16px;border-radius:999px;box-shadow:var(--sh)}
.hero6__cap .ic{width:15px;height:15px;transition:transform .3s var(--ease)}
.hero6__cap:hover .ic{transform:translateX(3px)}
.hero6__copy{animation:fadeUp .9s var(--ease) both}
.hero6__frame{animation:fadeUp 1.1s var(--ease) .15s both}
.hero6__proof{display:flex;flex-wrap:wrap;gap:12px 36px;margin-top:clamp(28px,4vw,48px);padding-top:22px;border-top:1px solid var(--line)}
.hero6__proof li{display:flex;align-items:center;gap:10px;font-size:14.5px;font-weight:500;color:var(--ink-2)}
.hero6__proof .ic{width:19px;height:19px;color:var(--green-deep)}
@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes heroZoom{from{transform:scale(1.08)}to{transform:scale(1)}}
@media (max-width:980px){.hero6__grid{grid-template-columns:minmax(0,1fr);gap:24px}.hero6__frame{aspect-ratio:16/10}.hero6__h1{font-size:clamp(34px,7.4vw,56px)}.hero6__h1 em{white-space:normal}}
@media (max-width:480px){.hero6{padding-top:28px}.hero6 .cta-row{gap:10px}.hero6 .cta-row .btn{width:100%;padding:16px 22px;font-size:16px}.hero6__sub{font-size:16px;margin-top:14px}.hero6__cta{margin-top:22px}.hero6__frame{aspect-ratio:4/3}.hero6__proof{gap:10px 20px}.hero6__proof li{font-size:13.5px}}

/* range cards (prc, not pc: .pc is the specs pill) */
.prc{display:flex;flex-direction:column;background:#fff;border-radius:var(--r-lg);overflow:hidden;box-shadow:0 6px 12px rgba(17,19,20,.06),0 0 0 1px var(--ring);text-decoration:none;color:inherit;transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.prc:hover{transform:translateY(-3px);box-shadow:0 10px 16px rgba(17,19,20,.09),0 0 0 1px var(--ring)}
.prc figure{margin:0;aspect-ratio:4/3;overflow:hidden;background:var(--mist)}
.prc img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.prc:hover img{transform:scale(1.04)}
.prc>div{padding:18px 20px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.prc h3{font-size:18px;font-weight:700;line-height:1.2;letter-spacing:-.01em}
.prc p{font-size:13.5px;color:var(--muted);margin-top:4px}
.prc__go{flex:none;width:40px;height:40px;border-radius:50%;background:var(--green);color:var(--ink);display:grid;place-items:center;transition:transform .4s var(--ease)}
.prc:hover .prc__go{transform:translateX(3px)}
.prc__go .ic{width:17px;height:17px}

/* image + accordion: the open row shows its text right under its title and swaps the image */
.ac{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,5vw,72px);align-items:start}
.ac--right .ac__media{order:2}
.ac__media{position:sticky;top:104px;margin:0;aspect-ratio:4/3;border-radius:var(--r-xl);overflow:hidden;background:#fff;box-shadow:var(--sh-lg),0 0 0 1px var(--ring);isolation:isolate}
.ac__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.03);transition:opacity .5s var(--ease),transform 2.5s var(--ease)}
.ac__img.is-on{opacity:1;transform:scale(1)}
.ac--plans .ac__img{object-fit:contain;padding:clamp(12px,1.8vw,24px);transform:none}
/* each row's own image, used on phones only (the side image would scroll out of view) */
.ac__mfig{display:none;position:relative;margin:16px 0 4px;aspect-ratio:4/3;border-radius:var(--r-lg);overflow:hidden;background:#fff;box-shadow:var(--sh),0 0 0 1px var(--ring)}
.ac__mfig img{width:100%;height:100%;object-fit:cover}
.ac--plans .ac__mfig img{object-fit:contain;padding:10px}
.ac__mfig figcaption{position:absolute;left:12px;bottom:12px}
.ac__mfig .ac__cap{font-size:12.5px;padding:9px 12px}
.ac__media figcaption{position:absolute;left:18px;bottom:18px;z-index:2}
.ac__cap{display:inline-flex;align-items:center;gap:6px;background:var(--ink);color:#fff;text-decoration:none;font:600 13px/1 var(--fs);padding:10px 14px;border-radius:999px}
.ac__cap .ic{width:15px;height:15px;transition:transform .3s var(--ease)}
.ac__cap:hover .ic{transform:translateX(3px)}
.ac__list{display:flex;flex-direction:column}
.ac__row{border-top:1px solid var(--line)}
.ac__row:last-of-type{border-bottom:1px solid var(--line)}
.ac__btn{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;text-align:left;border:0;background:transparent;padding:16px 4px;font:700 17px/1.25 var(--fd);letter-spacing:-.015em;color:var(--ink-2);cursor:pointer;transition:color .3s var(--ease)}
.ac__btn:hover,.ac__row.is-open .ac__btn{color:var(--ink)}
.ac__n{font:700 11px/1 var(--fs);letter-spacing:.12em;color:var(--green-deep);width:30px;text-align:center;padding:6px 0;border-radius:999px;transition:background .3s var(--ease),color .3s var(--ease)}
.ac__row.is-open .ac__n{background:var(--green);color:var(--ink)}
.ac__chev{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;color:var(--muted);transition:transform .4s var(--ease),background .3s var(--ease),color .3s var(--ease)}
.ac__chev .ic{width:16px;height:16px}
.ac__row.is-open .ac__chev{transform:rotate(180deg);background:var(--ink);color:#fff}
.ac__body{overflow:hidden;transition:height .45s var(--ease)}
.ac__inner{padding:0 4px 18px 48px}
.ac__inner p{color:var(--muted);font-size:15.5px;max-width:48ch}
.ac__foot{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:24px}
.ac__foot:empty{display:none}
.ac__note{color:var(--muted);font-size:13.5px;max-width:44ch}
@media (max-width:980px){.ac,.ac--plans{grid-template-columns:minmax(0,1fr);gap:0}.ac__media{display:none}.ac__mfig{display:block}.ac__btn{font-size:16px;padding:15px 2px}.ac__inner{padding-left:46px}.ac__foot{margin-top:22px}}
@media (max-width:480px){.ac__inner{padding-left:0}.ac__inner p{padding-left:46px}}

/* use-case story: one image, a switching title, previous and next */
.st{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,5vw,72px);align-items:center}
.st--right .st__media{order:2}
.st__media{position:relative;margin:0;aspect-ratio:4/3;border-radius:var(--r-xl);overflow:hidden;background:var(--night);box-shadow:var(--sh-lg);isolation:isolate}
.st__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.05);transition:opacity .7s var(--ease),transform 4.2s var(--ease)}
.st__img.is-on{opacity:1;transform:scale(1)}
.st__dots{position:absolute;left:18px;right:18px;bottom:16px;z-index:2;display:flex;gap:6px}
.st__dot{flex:1;height:18px;border:0;background:none;padding:7px 0;cursor:pointer}
.st__dot i{display:block;height:4px;border-radius:4px;background:rgba(255,255,255,.4);overflow:hidden;position:relative}
.st__dot i::after{content:"";position:absolute;inset:0;background:#fff;transform:scaleX(0);transform-origin:left}
.st__dot[aria-current="true"] i::after{animation:stFill var(--dur,4.2s) linear forwards}
.st.is-held .st__dot[aria-current="true"] i::after,.st.is-off .st__dot[aria-current="true"] i::after{animation-play-state:paused}
.st.is-picked .st__dot[aria-current="true"] i::after{animation:none;transform:scaleX(1)}
.st__dot.is-done i::after{transform:scaleX(1)}
@keyframes stFill{to{transform:scaleX(1)}}
.st__k{font:700 12px/1 var(--fs);letter-spacing:.14em;text-transform:uppercase;color:var(--green-deep)}
.st__count b{color:var(--ink)}
.st__title{font-size:clamp(30px,3.6vw,52px);font-weight:800;letter-spacing:-.035em;line-height:1.02;margin-top:16px;transition:opacity .3s var(--ease),transform .3s var(--ease)}
.st__text{margin-top:16px;font-size:clamp(17px,1.4vw,19px);line-height:1.55;color:var(--ink-2);max-width:36ch;transition:opacity .3s var(--ease),transform .3s var(--ease)}
.st.is-swap .st__title,.st.is-swap .st__text{opacity:0;transform:translateY(8px)}
.st__ctl{display:flex;align-items:center;gap:8px;margin-top:28px;flex-wrap:wrap}
.st__cta{margin-left:auto}
.st__cta:empty{display:none}
@media (max-width:980px){.st{grid-template-columns:minmax(0,1fr);gap:22px}.st__media,.st--right .st__media{order:-1}.st__title{font-size:clamp(26px,6vw,36px)}}
@media (max-width:480px){.st__cta{margin-left:0;width:100%}.st__cta .btn{width:100%}}
@media (prefers-reduced-motion:reduce){.hero6__copy,.hero6__frame,.hero6__frame img{animation:none}.ac__img,.st__img{transition:none;transform:none}.ac__body{transition:none}.st__dot[aria-current="true"] i::after{animation:none;transform:scaleX(1)}}

/* ---------- Forms v7 (22 Oct 2026): multi-step front end for the two live HubSpot forms, and the enquiry band ---------- */
.form--hs h3{font-size:clamp(20px,1.8vw,24px);margin-bottom:6px}
.form--hs > p{margin-bottom:18px}
.fprog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 20px;padding:0;list-style:none}
.fprog li{display:flex;align-items:center;gap:8px;font:600 13px/1.2 var(--fs);color:var(--muted);padding-top:12px;border-top:3px solid var(--line);transition:border-color .4s var(--ease),color .3s var(--ease)}
.fprog li b{flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:12px;background:var(--mist);color:var(--ink-2);transition:background .3s var(--ease),color .3s var(--ease)}
.fprog li[aria-current="step"]{color:var(--ink);border-color:var(--green)}
.fprog li[aria-current="step"] b{background:var(--green);color:var(--ink)}
.fprog li.is-done{color:var(--ink-2);border-color:var(--ink)}
.fprog li.is-done b{background:var(--ink);color:#fff}
.fstep{border:0;margin:0;padding:0;min-width:0}
.fstep:not([hidden]){animation:fadeUp .45s var(--ease) both}
.form--hs .f label small{margin-left:6px}
.f.is-bad input,.f.is-bad select{border-color:var(--red)}
.f.is-bad .chk{color:var(--red)}
.consent{gap:10px;margin-top:4px}
.consent p{font-size:12.5px;line-height:1.5;color:var(--muted)}
.chk{display:flex;gap:10px;align-items:flex-start;font-size:14px;font-weight:500;line-height:1.45;cursor:pointer}
.chk input{flex:none;width:20px;height:20px;margin:1px 0 0;accent-color:var(--green-deep)}
.chk a{color:var(--ink);text-decoration:underline}
.fnav{display:flex;gap:10px;margin-top:20px}
.fnav .btn{margin-top:0}
.fnav [data-f-next],.fnav [data-f-send]{margin-left:auto}
.form--hs .form__err{margin-top:10px}
.quote__links{display:grid;gap:14px;margin-top:24px;justify-items:start}
.quote__links .quote__tel{margin-top:0}
@media (max-width:520px){.fprog li span{display:none}.fprog li{justify-content:center}.fnav .btn{flex:1}.fnav [data-f-back]{flex:0 0 auto}}
@media (prefers-reduced-motion:reduce){.fstep:not([hidden]){animation:none}}

/* enquiry band: pages without their own form send visitors to Get in touch (quote) or a showroom page (visit) */
.qband{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(28px,5vw,80px);align-items:center}
.qband h2{font-size:clamp(34px,4.4vw,58px);line-height:1.04}
.qband__copy p{margin-top:16px;font-size:18px;color:rgba(255,255,255,.75)}
.qband__cta{display:grid;gap:12px}
.qband__cta .quote__tel{justify-self:center;margin-top:8px}
@media (max-width:860px){.qband{grid-template-columns:minmax(0,1fr)}.qband__cta .quote__tel{justify-self:start}}

/* ---------- Round 10 (22 Oct 2026): two-line headlines, grouped range menu, use-case product button ---------- */
.br-wide{display:inline}
@media (max-width:760px){.br-wide{display:none}}
.dd__grid--groups{grid-template-columns:repeat(3,252px);gap:4px 8px}
.dd__col{display:flex;flex-direction:column;gap:2px;min-width:0}
.dd__col h5{font:600 11.5px/1 var(--fs);letter-spacing:.12em;text-transform:uppercase;color:var(--green-deep);padding:12px 14px 8px}
.st__ctl{display:flex;align-items:center;gap:10px;margin-top:30px;flex-wrap:wrap}
.st__ctl .st__cap{margin:0;padding:15px 22px;background:var(--green);color:var(--ink);font:600 15.5px/1.2 var(--fs);border-radius:var(--r)}
.st__ctl .st__cap .btn__ic{margin-left:2px}
.st__arrows{display:flex;gap:8px;margin-left:auto}
@media (max-width:480px){.st__ctl .st__cap{width:100%;justify-content:center}}

/* ---------- Round 11 (22 Oct 2026): hero rotation, enquiry card, contact page, Credit One widget ---------- */
html{scroll-padding-top:96px}
.anchor{display:block;height:0;overflow:hidden}
.hero6__dots{position:absolute;z-index:2;top:16px;right:16px;display:flex;gap:6px}
.hero6__dots button{width:30px;height:18px;padding:7px 0;border:0;background:none;cursor:pointer}
.hero6__dots i{display:block;height:4px;border-radius:4px;background:rgba(255,255,255,.55);overflow:hidden;position:relative;box-shadow:0 1px 3px rgba(17,19,20,.18)}
.hero6__dots i::after{content:"";position:absolute;inset:0;background:#fff;transform:scaleX(0);transform-origin:left}
.hero6__dots [aria-current="true"] i::after{animation:stFill var(--dur,5.5s) linear forwards}
.hero6__frame.is-held [aria-current="true"] i::after,.hero6__frame.is-off [aria-current="true"] i::after{animation-play-state:paused}
.hero6__frame.is-static [aria-current="true"] i::after{animation:none;transform:scaleX(1)}

.enq{background:#fff;color:var(--ink);border-radius:var(--r-xl);padding:clamp(18px,2.6vw,32px);box-shadow:var(--sh-lg)}
.enq .form{background:none;box-shadow:none;padding:0;border-radius:0}
.enq__pick{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:24px}
.enq__opt{position:relative;display:flex;align-items:flex-start;gap:12px;text-align:left;padding:16px 40px 16px 16px;border-radius:16px;border:1.5px solid var(--line);background:#fff;cursor:pointer;font:inherit;color:var(--ink);transition:border-color .3s var(--ease),box-shadow .3s var(--ease),background .3s var(--ease),transform .3s var(--ease)}
.enq__opt:hover{border-color:#CBD1C2;transform:translateY(-1px)}
.enq__opt[aria-selected="true"]{border-color:var(--green);background:var(--lime-soft);box-shadow:0 0 0 3px rgba(48,181,106,.16)}
.enq__opt:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.enq__ic{flex:none;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--mist);color:var(--ink);transition:background .3s var(--ease)}
.enq__ic .ic{width:20px;height:20px}
.enq__opt[aria-selected="true"] .enq__ic{background:var(--green)}
.enq__txt b{display:block;font:700 16.5px/1.25 var(--fd);letter-spacing:-.01em}
.enq__txt small{display:block;margin-top:5px;font-size:13px;line-height:1.45;color:var(--muted)}
.enq__tick{position:absolute;top:12px;right:12px;width:22px;height:22px;border-radius:50%;background:var(--green);color:var(--ink);display:none;place-items:center}
.enq__tick .ic{width:13px;height:13px;stroke-width:3}
.enq__opt[aria-selected="true"] .enq__tick{display:grid}
.enq__panel[hidden]{display:none}
@media (max-width:520px){.enq__pick{gap:8px;margin-bottom:18px}.enq__opt{flex-direction:column;gap:8px;padding:12px 30px 12px 12px}.enq__ic{width:36px;height:36px}.enq__txt b{font-size:15px}.enq__txt small{font-size:12px}.enq__tick{top:10px;right:10px}}

.contact{padding-block:clamp(40px,6vw,88px)}
.contact__grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);grid-template-areas:"head form" "more form";grid-template-rows:auto 1fr;gap:0 clamp(28px,5vw,80px);align-items:start}
.contact__head{grid-area:head}
.contact__form{grid-area:form}
.contact__more{grid-area:more}
.contact__h1{font-size:clamp(34px,3.4vw,48px);line-height:1.04;font-weight:800;letter-spacing:-.035em}
.contact__head .lead{margin:18px 0 0}
.contact__sub{margin-top:34px;font:600 15px/1.3 var(--fs);color:var(--ink)}
.contact__rooms{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:10px;max-width:470px}
.contact__rooms li{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border-radius:var(--r);padding:14px 16px;box-shadow:0 0 0 1px var(--ring)}
.contact__rooms b{display:block;font-size:15px}
.contact__rooms small{display:block;color:var(--muted);font-size:12.5px;margin-top:2px}
.contact__rooms a{flex:none;display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--ink);text-decoration:none}
.contact__rooms a .ic{width:16px;height:16px;color:var(--green-deep)}
.contact__mail{margin-top:18px;color:var(--muted);font-size:14.5px}
.contact__mail a{color:var(--ink);font-weight:600}
@media (max-width:980px){.contact__grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "form" "more";grid-template-rows:auto;gap:24px}.contact__sub{margin-top:8px}}

/* Credit One's own widget (finance page): our image reset stacked its inline icons, which spilled past its fixed-height
   social row into the FAQ. Keep its images inline, contain its floats, and leave out its social links. */
.script-embed{display:flow-root}
#coau-embedded-finance-page img{display:inline-block}
#credit-one-social-media{display:none}

/* specs: a size with no drawn plan yet keeps the frame and says so (round 11) */
.plan__empty{display:grid;justify-items:center;align-content:center;gap:10px;text-align:center;min-height:300px;padding:32px 24px;background:var(--mist)}
.plan__empty[hidden]{display:none}
.plan__empty-ic{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:#fff;box-shadow:0 0 0 1px var(--ring)}
.plan__empty-ic .ic{width:24px;height:24px;color:var(--green-deep)}
.plan__empty b{font:700 18px/1.25 var(--fd);color:var(--ink)}
.plan__empty p{max-width:44ch;color:var(--muted);font-size:14.5px}
.plan__empty .btn{margin-top:6px}
.plan.is-empty figcaption{display:none}

/* round 12: phones get the short line of an intro (.ls) instead of the full copy (.lx), smaller and tighter */
.ls{display:none}
@media (max-width:640px){
  .lx{display:none}.ls{display:inline}
  .lead{font-size:16px;line-height:1.5;margin-top:12px}
  .head{margin-bottom:24px}
  .ac__inner p{font-size:15px;line-height:1.5}
  .ac__note{display:none}
}
/* round 13: swipeable image sliders. The page still scrolls up and down over them; sideways swipes go to onSwipe() in main.js */
.hero6__frame,.st__media,.gallery__main{touch-action:pan-y pinch-zoom}
/* round 13: the homepage walk-through plays in place (the popup is gone); once the player is in, the cover's shade goes */
.film iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.film.is-playing::after{display:none}
.film.is-playing{aspect-ratio:16/9}  /* phones crop the cover 4:5; the player itself is always 16:9, or it squashes */
/* round 13: pause/play button on in-page video loops */
.vid__toggle{position:absolute;right:14px;bottom:14px;z-index:2;width:42px;height:42px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:var(--ink);display:grid;place-items:center;cursor:pointer;box-shadow:0 4px 14px rgba(17,19,20,.18)}
.vid__toggle .ic{width:16px;height:16px;stroke-width:2.6}
.vid__toggle .ic--play{display:none;fill:currentColor;stroke:none;margin-left:2px}
.vid__toggle.is-paused .ic--play{display:block}
.vid__toggle.is-paused .ic--pause{display:none}
/* round 13: footer social icons (Ollie, 23 Oct) and the Pathfinder credit beside the legal link */
.foot__social{display:flex;gap:10px;margin-top:20px}
.foot__social a{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.22);transition:border-color .3s var(--ease),color .3s var(--ease)}
.foot__social a:hover{border-color:var(--lime);color:var(--lime)}
.foot__social .ic{width:19px;height:19px}
.foot__links{display:flex;flex-wrap:wrap;gap:6px 22px}
/* ---------- Round 13 hero (23 Oct 2026): full-width photo, copy left over a soft shade, product clear on the right ---------- */
.hero7{position:relative;isolation:isolate;display:flex;align-items:center;min-height:clamp(560px,80vh,860px);background:var(--night);color:#fff;overflow:hidden}
.hero7__media{position:absolute;inset:0;z-index:0;touch-action:pan-y pinch-zoom}
.hero7__media .hero6__img{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;object-position:50% 56%;opacity:0;transform:scale(1.06);transition:opacity 1.2s var(--ease),transform 9s linear}
.hero7__media .hero6__img.is-on{opacity:1;transform:scale(1)}
.hero7__media::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(9,12,10,.76) 0%,rgba(9,12,10,.6) 32%,rgba(9,12,10,.28) 50%,rgba(9,12,10,0) 66%),linear-gradient(0deg,rgba(9,12,10,.38) 0%,rgba(9,12,10,0) 32%)}
.hero7__inner{position:relative;z-index:1;width:100%;padding-block:clamp(48px,7vw,96px);pointer-events:none}
.hero7__copy{max-width:min(640px,46vw);pointer-events:auto;animation:fadeUp .9s var(--ease) both}
.hero7 .hero6__h1{color:#fff;font-size:clamp(40px,3.7vw,60px);text-shadow:0 2px 24px rgba(0,0,0,.22)}
.hero7 .hero6__sub{color:rgba(255,255,255,.92);text-shadow:0 1px 14px rgba(0,0,0,.35)}
/* round 14 (Ollie: the bars beside the product pill looked cluttered): bars top right, pill alone bottom right */
.hero7__ctl{position:absolute;z-index:2;inset:0;pointer-events:none}
.hero7__ctl .hero6__cap{position:absolute;left:auto;right:clamp(16px,3vw,40px);bottom:clamp(16px,2.6vw,32px);pointer-events:auto}
.hero7__ctl .hero6__dots{position:absolute;top:clamp(16px,2.4vw,28px);right:clamp(16px,3vw,40px);pointer-events:auto}
.hero7.is-off [aria-current="true"] i::after{animation-play-state:paused}
.hero7.is-static [aria-current="true"] i::after{animation:none;transform:scaleX(1)}
@media (max-width:900px){
  .hero7{display:block;min-height:0}
  /* round 17 (Ollie picked option D): a full-width 4:3 photo with no fade, then a white sheet with rounded top corners that
     slides over its lower edge and holds the copy */
  .hero7{background:#fff;color:var(--ink)}
  .hero7__media{position:relative;inset:auto;aspect-ratio:4/3}
  .hero7__media::after{display:none}
  .hero7__inner{position:relative;z-index:2;margin-top:-26px;background:#fff;border-radius:24px 24px 0 0;padding-block:26px 34px;box-shadow:0 -10px 24px rgba(17,19,20,.08)}
  .hero7 .hero6__h1{color:var(--ink);text-shadow:none}
  .hero7 .hero6__sub{color:var(--ink-2);text-shadow:none}
  .hero7__copy{max-width:none}
  .hero7 .hero6__h1{font-size:clamp(32px,8.2vw,48px)}
  .hero7 .hero6__h1 em{white-space:normal}
  /* phones: a small see-through product chip top left, the bars top right; nothing sits between the image and the headline */
  .hero7__ctl .hero6__cap{left:14px;right:auto;top:14px;bottom:auto;max-width:calc(100% - 140px);font-size:12px;padding:8px 11px;gap:6px;background:rgba(17,19,20,.5);color:#fff;box-shadow:none;border:1px solid rgba(255,255,255,.2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
  .hero7__ctl .hero6__cap .ic{width:12px;height:12px}
  .hero7__ctl .hero6__dots{top:14px;right:14px}
}
@media (min-width:641px) and (max-width:900px){.hero7__media{aspect-ratio:16/10}}  /* tablets: a shorter photo keeps the buttons on screen */
@media (max-width:480px){.hero7 .cta-row{gap:10px}.hero7 .cta-row .btn{width:100%;padding:16px 22px;font-size:16px}.hero7 .hero6__sub{font-size:16px;margin-top:14px}.hero7 .hero6__cta{margin-top:22px}}
/* round 13: between 981 and 1100 px the menu wrapped onto two lines; keep links on one line and drop the duplicate visit link */
.nav > a,.dd > a,.site__phone{white-space:nowrap}
.dd__grid a{white-space:normal}  /* round 15: the product blurbs in the dropdown must wrap inside their own column */
@media (max-width:1100px){.site__phone{display:none}.nav{gap:22px}}
@media (prefers-reduced-motion:reduce){.hero7__media .hero6__img{transition:none;transform:none}.hero7__copy{animation:none}}
/* round 14: carousel arrows sit beside the heading on wide screens and bottom right under the cards on phones */
.car__nav--foot{display:none}
@media (max-width:640px){.head--row .car__nav{display:none}.car__nav--foot{display:flex;justify-content:flex-end;margin-top:18px}}
/* Expanda pilot, 29 Oct (round 4): floor plan planner. One bar with a Size and a Bedrooms switch, one full-width plan,
   a strip of thumbnails for the plans that match */
.badge-pop{display:inline-flex;align-items:center;font:700 11px/1 var(--fs);font-style:normal;letter-spacing:.03em;text-transform:none;color:var(--ink);background:var(--green);padding:6px 10px;border-radius:999px;white-space:nowrap;vertical-align:middle}
.pl-bar{display:flex;justify-content:center;width:max-content;max-width:100%;margin:0 auto 26px;padding:6px;background:#fff;border-radius:999px;box-shadow:var(--sh),0 0 0 1px var(--ring)}
.pl-bar .pl-seg{background:none;padding:0;min-width:0;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.pl-bar .pl-seg::-webkit-scrollbar{display:none}
.pl-bar{overflow:hidden}  /* many models (Portable Toilets has six) scroll sideways inside the bar instead of widening the page */
.pl-seg button small{font-weight:500;font-size:12px;opacity:.6;margin-left:3px}
.pl-ctl{display:flex;align-items:center;gap:12px}
.pl-ctl[hidden]{display:none}
.pl-ctl + .pl-ctl{padding-left:28px;border-left:1px solid var(--line)}
.pl-ctl__l{font:600 12px/1 var(--fs);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.pl-seg{display:flex;gap:4px;background:var(--mist);border-radius:999px;padding:4px}
.pl-seg button{font:600 14px/1 var(--fs);color:var(--ink-2);background:none;border:0;border-radius:999px;padding:11px 16px;min-width:46px;cursor:pointer;white-space:nowrap;transition:background .2s,color .2s}
.pl-seg button:hover{color:var(--ink)}
.pl-seg button[aria-selected="true"],.pl-seg button[aria-pressed="true"]{background:var(--ink);color:#fff}
.pl{max-width:1240px;margin-inline:auto;background:#fff;border-radius:var(--r-xl);box-shadow:var(--sh-lg),0 0 0 1px var(--ring);overflow:hidden}
.pl__top{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:28px 36px 0}
.pl__kicker{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font:600 12px/1 var(--fs);letter-spacing:.12em;text-transform:uppercase;color:var(--green-deep);margin-bottom:10px}
.pl__kicker .badge-pop{letter-spacing:.02em}
.pl__top h3{font-size:clamp(21px,2.3vw,28px);font-weight:700;letter-spacing:-.02em;line-height:1.15}
.pl__meta{font-size:14px;color:var(--muted);margin-top:8px}
.pl__flip{flex:none;display:flex;background:var(--mist);border-radius:999px;padding:4px}
.pl__flip[hidden]{display:none}
.pl__flip button{font:600 13px/1 var(--fs);color:var(--muted);background:none;border:0;padding:10px 15px;border-radius:999px;cursor:pointer;white-space:nowrap}
.pl__flip button[aria-pressed="true"]{background:#fff;color:var(--ink);box-shadow:0 2px 8px rgba(17,19,20,.1)}
.pl__img{position:relative;height:min(560px,62vh);padding:16px 84px;touch-action:pan-y}
.pl__zoom{display:block;width:100%;height:100%;padding:0;border:0;background:none;cursor:zoom-in}
.pl__zoom img{width:100%;height:100%;object-fit:contain;transition:opacity .25s}
.pl__zoom img.is-fading{opacity:.15}
.pl__expand{position:absolute;right:36px;top:16px;width:40px;height:40px;border-radius:50%;border:0;background:#fff;color:var(--ink);box-shadow:var(--sh),0 0 0 1px var(--ring);display:grid;place-items:center;cursor:pointer}
.pl__expand svg{width:18px;height:18px}
.pl__nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:0;background:#fff;color:var(--ink);box-shadow:var(--sh),0 0 0 1px var(--ring);display:grid;place-items:center;cursor:pointer}
.pl__nav svg{width:20px;height:20px}
.pl__nav:hover,.pl__expand:hover{background:var(--mist)}
.pl__nav[hidden]{display:none}
.pl__nav--prev{left:20px}.pl__nav--next{right:20px}
.pl__car{position:relative;border-top:1px solid var(--line)}
.pl__strip{display:flex;gap:14px;overflow-x:auto;padding:18px 66px 24px;scroll-padding-inline:66px;scrollbar-width:none;scroll-behavior:smooth;scroll-snap-type:x proximity}
.pl__strip::-webkit-scrollbar{display:none}
@media (min-width:761px){.pl__strip{-webkit-mask-image:linear-gradient(to right,transparent 0,#000 60px,#000 calc(100% - 60px),transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 60px,#000 calc(100% - 60px),transparent 100%)}}
.pl__strip:empty{display:none}
.pl__cnav{position:absolute;top:calc(50% - 22px);z-index:2;width:42px;height:42px;border-radius:50%;border:0;background:#fff;color:var(--ink);box-shadow:var(--sh),0 0 0 1px var(--ring);display:grid;place-items:center;cursor:pointer}
.pl__cnav svg{width:18px;height:18px}
.pl__cnav:hover{background:var(--mist)}
.pl__cnav:disabled{opacity:0;pointer-events:none}
.pl__cnav[hidden]{display:none}
.pl__cnav--prev{left:14px}.pl__cnav--next{right:14px}
.pl__th{flex:0 0 164px;display:flex;flex-direction:column;gap:4px;text-align:left;background:none;border:0;padding:0;cursor:pointer;font-family:inherit;scroll-snap-align:start}
.pl__th-img{position:relative;display:block;aspect-ratio:4/3;background:#fff;border-radius:12px;box-shadow:0 0 0 1px var(--line);padding:6px;margin-bottom:6px;transition:box-shadow .2s}
.pl__th-img .badge-pop{position:absolute;left:6px;top:6px;padding:4px 7px;font-size:10px}
.pl__th-b{font:700 11px/1 var(--fs);letter-spacing:.08em;text-transform:uppercase;color:var(--green-deep)}
.pl__th-img img{width:100%;height:100%;object-fit:contain}
.pl__th-n{font:500 12.5px/1.3 var(--fs);color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pl__th:hover .pl__th-img{box-shadow:0 0 0 1px var(--ink-2)}
.pl__th[aria-current="true"] .pl__th-img{box-shadow:0 0 0 2px var(--green)}
.pl__th[aria-current="true"] .pl__th-n{color:var(--ink);font-weight:600}
@media (max-width:760px){
  .pl-seg button{padding:10px 12px;min-width:0}
  .pl-seg button small{display:none}
  .pl__cnav{width:34px;height:34px;top:calc(50% - 26px)}
  .pl__cnav svg{width:16px;height:16px}
  .pl__cnav--prev{left:6px}.pl__cnav--next{right:6px}
  .pl{border-radius:var(--r-lg)}
  .pl__top{padding:20px 16px 0;flex-direction:column;gap:14px}
  .pl__flip{align-self:stretch}.pl__flip button{flex:1}
  .pl__img{height:auto;padding:12px 8px 6px}
  .pl__zoom img{height:auto;max-height:110vw}
  .pl__nav{display:none}
  .pl__expand{right:12px;top:12px;width:36px;height:36px}
  .pl__strip{gap:10px;padding:14px 44px 18px;scroll-padding-inline:44px;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 40px,#000 calc(100% - 40px),transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 40px,#000 calc(100% - 40px),transparent 100%)}
  .pl__th{flex-basis:118px}
}
/* full-size viewer: the plan and its 3D view side by side */
.pv{border:0;padding:0;border-radius:var(--r-lg);width:min(1240px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);box-shadow:var(--sh-lg);background:#fff;color:var(--ink)}
.pv::backdrop{background:rgba(17,19,20,.62)}
.pv[open]{display:flex;flex-direction:column}
.pv__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 24px 12px}
.pv__head h3{font-size:20px;font-weight:600;letter-spacing:-.01em}
.pv__head p{font-size:13.5px;color:var(--muted);margin-top:4px}
.pv__x{flex:none;width:40px;height:40px;border-radius:50%;border:0;background:var(--mist);display:grid;place-items:center;cursor:pointer}
.pv__x .ic{width:18px;height:18px;stroke:var(--ink);fill:none;stroke-width:2.2;stroke-linecap:round}
/* full-size plan view: fills the window, one view at a time, tap to zoom (main.js openPlan) */
.pv{width:min(1400px,calc(100vw - 32px));height:calc(100dvh - 32px);max-height:none}
.pv__body{flex:1;min-height:0;display:flex;flex-direction:column;gap:12px;padding:0 24px 20px}
.pv__tabs{align-self:flex-start;display:inline-flex;gap:4px;padding:4px;border-radius:999px;background:var(--mist)}
.pv__tabs button{border:0;background:none;padding:9px 18px;border-radius:999px;font:600 13px/1 var(--fs);color:var(--muted);cursor:pointer}
.pv__tabs button[aria-pressed="true"]{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(17,19,20,.14)}
.pv__stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:12px;background:#fff;box-shadow:0 0 0 1px var(--line);cursor:zoom-in}
.pv__stage img{display:block;width:100%;height:100%;object-fit:contain}
.pv__stage.is-zoom{display:block;overflow:auto;cursor:zoom-out;-webkit-overflow-scrolling:touch}
.pv__stage.is-zoom img{max-width:none;height:auto;object-fit:fill}
.pv__hint{margin:0;font-size:12.5px;color:var(--muted)}
@media (max-width:760px){.pv{width:100vw;height:100dvh;max-width:100vw;margin:0;border-radius:0}.pv__head{padding:14px 16px 8px}.pv__body{padding:0 12px 12px}}

/* Expanda pilot (round 3): range comparison. Each group sits beside its own section label; "Premium as standard" leads;
   the popular range stays tinted top to bottom and the range names stay pinned under the site header while it scrolls */
.rng{max-width:1160px;margin-inline:auto;background:#fff;border-radius:var(--r-xl);box-shadow:var(--sh-lg),0 0 0 1px var(--ring);overflow:clip}
.rng__t{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:14.5px}
.rng__t thead td,.rng__t thead th{position:sticky;top:var(--stick,77px);z-index:3;background:#fff;border-bottom:1px solid var(--line)}
.rng__t thead .is-pop{background:var(--lime-soft)}
.rng__sec-h{width:21%}
.rng__feat-h{width:28%}
.rng__t thead th{vertical-align:bottom;padding:24px 12px 18px;text-align:center}
.rng__t thead th b{display:block;font:700 19px/1.2 var(--fd);letter-spacing:-.01em;color:var(--ink)}
.rng__t thead th span{display:block;font-size:12.5px;line-height:1.35;color:var(--muted);margin-top:6px}
.rng__t thead th .badge-pop{margin-bottom:10px}
.rng__t tbody th[scope="row"]{text-align:left;font-weight:500;color:var(--ink);padding:14px 18px;line-height:1.35}
.rng__t tbody td{text-align:center;color:var(--ink-2);padding:14px 10px;line-height:1.35}
.rng__t tbody tr:not(.rng__g) > *{border-bottom:1px solid var(--line)}
.rng__t .is-pop{background:var(--lime-soft)}
.rng__sec{vertical-align:top;text-align:left;padding:22px 22px;background:#FAFAFB;border-right:1px solid var(--line)}
.rng__sec b{display:block;font:700 15px/1.3 var(--fd);color:var(--ink);letter-spacing:-.01em}
.rng__sec span{display:block;font-size:12.5px;line-height:1.4;color:var(--muted);margin-top:6px}
.rng__grp--std .rng__sec b{display:flex;align-items:center;gap:8px;color:var(--green-deep);font-size:16px}
.rng__grp--std .rng__sec b .ic{flex:none;width:22px;height:22px;padding:4px;border-radius:50%;background:var(--green);stroke:var(--ink);fill:none;stroke-width:3}
.rng__grp + .rng__grp tr:nth-child(2) > *,.rng__grp + .rng__grp .rng__sec{border-top:1px solid rgba(17,19,20,.16)}
.rng__t tbody:last-child tr:last-child > *{border-bottom:0}
.rng__g{display:none}
.rng__std-m{display:none}
.rng__t .yes,.rng__t .no{vertical-align:middle}
@media (max-width:760px){
  .rng{border-radius:var(--r-lg)}
  .rng__sec,.rng__sec-h,.rng__grp--std{display:none}
  .rng__std-m{display:block;padding:20px 18px 22px;background:var(--lime-soft);border-bottom:1px solid var(--line)}
  .rng__std-h{display:flex;align-items:center;gap:10px;margin-bottom:14px}
  .rng__std-h > .ic{flex:none;width:26px;height:26px;padding:5px;border-radius:50%;background:var(--green);stroke:var(--ink);fill:none;stroke-width:3}
  .rng__std-h b{display:block;font:700 16px/1.2 var(--fd);color:var(--ink)}
  .rng__std-h span{display:block;font-size:12.5px;color:var(--muted);margin-top:2px}
  .rng__std-m ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
  .rng__std-m li{display:flex;align-items:flex-start;gap:9px;font-size:14px;line-height:1.35;color:var(--ink-2)}
  .rng__std-m li .ic{flex:none;width:15px;height:15px;margin-top:2px;stroke:var(--green-deep);fill:none;stroke-width:3}
  .rng__feat-h{width:34%}
  .rng__t{font-size:12px}
  .rng__t thead th{padding:16px 4px 12px}.rng__t thead th b{font-size:14px}.rng__t thead th span{display:none}.rng__t thead th .badge-pop{font-size:9px;padding:4px 6px;margin-bottom:6px}
  .rng__g{display:table-row}
  .rng__g th{text-align:left;padding:22px 12px 8px;background:#fff;border-bottom:1px solid var(--line)}
  .rng__g th b{display:block;font:700 14px/1.2 var(--fd);color:var(--ink)}
  .rng__grp + .rng__grp tr:nth-child(2) > *{border-top:0}
  .rng__t tbody th[scope="row"]{padding:12px 6px 12px 12px;font-size:12.5px;font-weight:500}
  .rng__t tbody td{padding:12px 4px;font-size:11.5px;overflow-wrap:anywhere}
  .rng__t .yes,.rng__t .no{width:22px;height:22px}
}

/* Finishes round 3 (30 Oct 2026): options grouped by range, each group under a range badge */
.vopt-g{grid-column:1/-1;margin:8px 0 -2px}
.vopt-g:first-child{margin-top:0}
.badge-range{display:inline-flex;align-items:center;font:700 11px/1 var(--fs);letter-spacing:.03em;padding:6px 10px;border-radius:999px;white-space:nowrap}
.badge-range--classic{background:var(--mist);color:var(--ink-2);box-shadow:inset 0 0 0 1px var(--line)}
.badge-range--deluxe{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}
.badge-range--designer{background:var(--green);color:var(--ink)}

/* Expanda, Jin Yan round (30 Oct 2026): Deluxe badge solid black (Ollie: it should pop), ranges "Show all", lifestyle grid */
.badge-range--classic{background:#fff;color:var(--muted);box-shadow:inset 0 0 0 1px var(--line)}
.badge-range--deluxe{background:var(--ink);color:#fff;box-shadow:none}
/* Ollie, 30 Oct: black reads more premium than green; Designer, the top range, adds green text and a star */
.badge-range--designer{background:var(--ink);color:var(--green)}
.badge-range--designer::before{content:"\2726";margin-right:5px;font-size:10px}
.rng__all{margin-top:20px;text-align:center}
.life{list-style:none;margin:36px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.life__card{background:#fff;border-radius:var(--r-xl,20px);padding:22px 20px;box-shadow:0 0 0 1px var(--ring)}
.section--mist .life__card{box-shadow:none}
.life__card .ic-wrap{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:var(--lime-soft)}
.life__card .ic-wrap .ic{width:22px;height:22px;stroke:var(--green-deep);fill:none;stroke-width:2}
.life__card b{display:block;margin-top:14px;font:600 17px/1.25 var(--fd);letter-spacing:-.01em}
.life__card p{margin:6px 0 0;color:var(--muted);font-size:14.5px;line-height:1.5}
@media (max-width:1000px){.life{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.life{gap:10px}.life__card{padding:14px 12px}.life__card b{font-size:15px}.life__card p{font-size:13px}.life__card .ic-wrap{width:38px;height:38px}}

/* Category, location and accessory pages (SEO build, 30 Oct 2026) */
.hero7--cat{min-height:clamp(440px,62vh,640px)}
.hero7--cat .hero7__media .hero6__img{object-position:50% 50%}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin-bottom:16px;font:600 12.5px/1.2 var(--fs);letter-spacing:.02em}
.crumbs a{color:rgba(255,255,255,.82);text-decoration:none}
.crumbs a:hover{color:#fff;text-decoration:underline}
.crumbs span{color:rgba(255,255,255,.5)}
.crumbs b{color:var(--green);font-weight:700}
.crumbs--dark a{color:var(--muted)}.crumbs--dark span{color:#C3C8CD}.crumbs--dark b{color:var(--green-deep)}
.cat__fact{display:block;font:600 12.5px/1.3 var(--fs);color:var(--ink-2)}
.cat__img--white{background:#fff}.cat__img--white img{object-fit:contain;padding:8px}
.cats__more{margin-top:24px;text-align:center}
/* icon cards (Ollie, 30 Oct: icons were too small for the text): icon tile on top like .itile, one short line under a bigger title */
.pts{list-style:none;margin:40px auto 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;max-width:1100px}
.pts li{display:flex;flex-direction:column;gap:18px;align-items:flex-start;background:#fff;border-radius:var(--r-lg);padding:28px 26px 26px;box-shadow:0 0 0 1px var(--ring);transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.section--mist .pts li{box-shadow:none}
.pts li:hover{transform:translateY(-3px);box-shadow:0 0 0 1px var(--ring),0 14px 30px rgba(17,19,20,.07)}
.pts .ic-wrap{flex:none;display:grid;place-items:center;width:56px;height:56px;border-radius:16px;background:var(--lime-soft);color:var(--green-deep);transition:background .4s var(--ease),color .4s var(--ease),transform .4s var(--ease)}
.pts li:hover .ic-wrap{background:var(--green);color:var(--ink);transform:rotate(-6deg) scale(1.06)}
.pts .ic-wrap .ic{width:28px;height:28px;stroke:currentColor;fill:none;stroke-width:1.8}
.pts b{display:block;font:600 19px/1.25 var(--fd);letter-spacing:-.01em}
.pts p{margin:8px 0 0;color:var(--muted);font-size:15px;line-height:1.55}
@media (max-width:640px){.pts li{flex-direction:row;gap:16px;padding:20px 18px}.pts .ic-wrap{width:48px;height:48px;border-radius:14px}.pts .ic-wrap .ic{width:24px;height:24px}.pts b{font-size:17px}.pts p{font-size:14.5px}}
@media (prefers-reduced-motion:reduce){.pts li,.pts .ic-wrap{transition:none}.pts li:hover,.pts li:hover .ic-wrap{transform:none}}
.lnks{margin:32px auto 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:1100px}
.lnk{position:relative;display:block;padding:18px 48px 18px 20px;background:#fff;border-radius:var(--r-lg);box-shadow:0 0 0 1px var(--ring);text-decoration:none;color:var(--ink);transition:box-shadow .3s var(--ease)}
.lnk:hover{box-shadow:0 0 0 1.5px var(--ink)}
.lnk b{display:block;font:600 16px/1.25 var(--fd)}
.lnk small{display:block;margin-top:4px;color:var(--muted);font-size:13.5px}
.lnk__go{position:absolute;right:18px;top:50%;transform:translateY(-50%);color:var(--green-deep)}
.room-card{margin:28px auto 0;max-width:900px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;background:#fff;border-radius:var(--r-xl,20px);padding:26px 28px;box-shadow:0 0 0 1px var(--ring)}
.room-card h3{font-size:22px}
.room-card p{margin-top:6px;color:var(--muted)}
.room-card__hours{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:4px;font-size:14px}
.room-card__hours li{display:flex;gap:12px}.room-card__hours span{min-width:96px;color:var(--muted)}
.faq-list{max-width:820px;margin:28px auto 0;display:grid;gap:10px}
.faq-list details{background:#fff;border-radius:16px;box-shadow:0 0 0 1px var(--ring);padding:0 20px}
.faq-list summary{cursor:pointer;padding:18px 0;font:600 16px/1.3 var(--fd);list-style:none}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list .ans{padding:0 0 18px;color:var(--muted)}
.acc-hero{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(24px,4vw,56px);align-items:center;padding-block:clamp(32px,5vw,64px)}
.acc-hero__img{margin:0;background:#fff;border-radius:var(--r-xl,20px);box-shadow:0 0 0 1px var(--ring);overflow:hidden}
.acc-hero__img img{display:block;width:100%;height:auto}
.acc-hero h1{font-size:clamp(32px,3.2vw,48px);line-height:1.05;letter-spacing:-.03em}
.acc-hero .lead{margin:14px 0 0;text-align:left}
.acc-facts{list-style:none;margin:20px 0 24px;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.acc-facts li{background:var(--mist);border-radius:12px;padding:12px 14px}
.acc-facts span{display:block;font-size:12px;color:var(--muted)}.acc-facts b{display:block;margin-top:2px;font:600 15px/1.25 var(--fd)}
.dd__grid--groups[style*="--cols"]{grid-template-columns:repeat(var(--cols),232px)}
.mmenu__sub{padding:4px 0 18px;border-bottom:1px solid var(--line);display:grid;gap:14px}
.mmenu__col h5{margin:6px 0 6px;font:600 11.5px/1 var(--fs);letter-spacing:.12em;text-transform:uppercase;color:var(--green-deep)}
.mmenu__col a{display:block;padding:8px 0;font:600 15px/1.25 var(--fs);color:var(--ink);text-decoration:none}
@media (max-width:1000px){.pts,.lnks{grid-template-columns:repeat(2,minmax(0,1fr))}.acc-hero{grid-template-columns:1fr}}
@media (max-width:640px){.pts,.lnks{grid-template-columns:1fr}.room-card{padding:20px}.acc-facts{grid-template-columns:1fr 1fr}}
/* category heroes carry longer, keyword-led H1s than the homepage: smaller, and the highlighted line may wrap */
.hero7--cat .hero7__copy{max-width:min(720px,54vw)}
.hero7--cat .hero6__h1{font-size:clamp(32px,3vw,48px);line-height:1.08}
.hero7--cat .hero6__h1 em{white-space:normal}
@media (max-width:900px){.hero7--cat .hero7__copy{max-width:100%}.hero7--cat .hero6__h1{font-size:clamp(28px,7.4vw,38px)}}

/* Mega menu, round 2 (30 Oct): "Our range" opens one full-width panel: model tiles, then the category links */
.dd--mega{position:static}
.dd--mega > a{padding-block:28px;margin-block:-28px}
.dd__panel.mega{left:0;right:0;top:100%;padding-top:0;background:#fff;border-top:1px solid var(--line);box-shadow:0 28px 48px -28px rgba(17,19,20,.28)}
.mega__in{display:grid;grid-template-columns:minmax(0,2.2fr) repeat(3,minmax(0,1fr));gap:32px;padding-block:26px 18px}
.mega__col h5{margin:2px 0 10px;font:600 11.5px/1 var(--fs);letter-spacing:.12em;text-transform:uppercase;color:var(--green-deep)}
.mega__col ul{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:1px}
.mega__col li a{display:block;padding:5px 0;font-size:14.5px;line-height:1.3;color:var(--ink-2);text-decoration:none}
.mega__col li a:hover,.mega__col li a[aria-current="page"]{color:var(--green-deep)}
.mega__models{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 14px}
.mega__model{display:flex;align-items:center;gap:12px;padding:7px;border-radius:12px;text-decoration:none;color:var(--ink);transition:background .2s var(--ease)}
.mega__model:hover,.mega__model[aria-current="page"]{background:var(--mist)}
.mega__model img{flex:none;width:68px;height:51px;object-fit:cover;border-radius:8px;background:var(--mist)}
.mega__model b{display:block;font:600 14.5px/1.2 var(--fd)}
.mega__model small{display:block;margin-top:2px;font-size:12.5px;line-height:1.3;color:var(--muted)}
.mega__foot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-block:12px 14px;font-size:13px;color:var(--muted)}
.mega__foot a{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:14px;color:var(--green-deep);text-decoration:none}

/* Menu round 3 (Ollie, 2 Nov: "too intense"): Our range shows only the models and trailers; Shop by nests the
   category pages in groups, the hovered group's links on the right */
.mega__in--solo{grid-template-columns:1fr}
.mega__in--solo .mega__models{grid-template-columns:repeat(3,minmax(0,1fr))}
.dd--nest .dd__panel{left:-20px;width:max-content}  /* widens for By location's two columns */
.nest{display:grid;grid-template-columns:220px minmax(300px,auto);background:#fff;border-radius:var(--r-lg);box-shadow:var(--sh-lg),0 0 0 1px var(--ring);overflow:hidden;min-height:268px}
.nest__tabs{display:flex;flex-direction:column;gap:2px;padding:10px;background:var(--mist)}
.nest__tab{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:11px 12px;border:0;border-radius:10px;background:none;font:600 14.5px/1.2 var(--fs);color:var(--ink-2);text-align:left;cursor:pointer}
.nest__tab .ic{width:14px;height:14px;transform:rotate(-90deg);opacity:.4}
.nest__tab[aria-selected="true"]{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(17,19,20,.08)}
.nest__tab[aria-selected="true"] .ic{opacity:1;color:var(--green-deep)}
.nest__panes{padding:14px 16px}
.nest__pane{display:flex;gap:24px}
.nest__pane[hidden]{display:none}
.nest__col{display:flex;flex-direction:column;min-width:200px}
.nest__col h5{margin:4px 0 6px 10px;font:600 11px/1 var(--fs);letter-spacing:.12em;text-transform:uppercase;color:var(--green-deep)}
.nest__col a{display:block;padding:9px 10px;border-radius:10px;font-size:14.5px;line-height:1.25;color:var(--ink);text-decoration:none;white-space:nowrap}
.nest__col a:hover,.nest__col a[aria-current="page"]{background:var(--mist);color:var(--green-deep)}
/* phones: Shop by's groups are accordions inside the menu */
.mmenu__sub--nest{gap:0;padding-top:0}
.mmenu__group{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px 2px;border:0;border-bottom:1px solid var(--line);background:none;font:600 17px/1.2 var(--fs);color:var(--ink);text-align:left}
.mmenu__group .ic{width:18px;height:18px;color:var(--muted);transition:transform .3s var(--ease)}
.mmenu__group[aria-expanded="true"] .ic{transform:rotate(180deg);color:var(--green-deep)}
.mmenu__groupsub{padding:6px 0 10px 12px;display:grid;gap:8px}
/* phone conversion (2 Nov): form fields at 16 px so iPhones do not zoom in on tap; the trailer page's "Add to my
   <model> quote" buttons wrap and run full width instead of widening the page */
@media (max-width:760px){.f input,.f select,.f textarea{font-size:16px}}
.acc-hero .cta-row{flex-wrap:wrap}
.acc-hero .cta-row .btn{white-space:normal;text-align:center}
.acc-hero__copy{min-width:0}
@media (max-width:640px){.acc-hero .cta-row .btn{width:100%;justify-content:center}}
/* Menu round 4 (Ollie, 2 Nov: Our range was too wide; Shop by now lives inside it): Models is the first group, two
   columns of small picture tiles, with "See the whole range" across the foot */
.dd--nest .nest__tabs{min-width:200px}
.nest__models{display:grid;grid-template-columns:repeat(2,minmax(0,250px));gap:2px 6px}
.nest__model{display:flex;align-items:center;gap:10px;padding:6px;border-radius:10px;color:var(--ink);text-decoration:none}
.nest__model:hover,.nest__model[aria-current="page"]{background:var(--mist)}
.nest__model img{flex:none;width:60px;height:45px;object-fit:cover;border-radius:7px;background:var(--mist)}
.nest__model b{display:block;font:600 14px/1.2 var(--fd)}
.nest__model small{display:block;margin-top:2px;font-size:12px;line-height:1.3;color:var(--muted);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.nest__foot{grid-column:1/-1;display:flex;justify-content:flex-end;padding:10px 18px;border-top:1px solid var(--line)}
.nest__foot a{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:14px;color:var(--green-deep);text-decoration:none}
/* one fixed width so the panel does not jump between groups; model tiles are picture and name only */
.dd--nest .nest{width:700px;grid-template-columns:200px minmax(0,1fr)}
.nest__model small{display:none}
.nest__model{min-height:58px}
.dd--nest .nest{grid-template-columns:216px minmax(0,1fr)}
.nest__tab{white-space:nowrap}
