/* Neon+ After Hours child theme stylesheet.
   Part 1: the landing page's own CSS (prefixed .nah) - header/footer come from here.
   Part 2: site.css - everything the landing never had. */
.nah{background:var(--bg);color:var(--ink);font:400 17px/1.6 var(--body);-webkit-font-smoothing:antialiased}.nah h1,.nah h2,.nah p,.nah dl,.nah dt,.nah dd,.nah strong,.nah label,.nah output{color:inherit;font-family:inherit;text-transform:none;letter-spacing:inherit;margin:0}.nah dt{font-weight:400}.nah a,.nah a:hover{text-decoration:none}body{margin:0;background:#151714}:root{--bg:#151714;--surface:#20231e;--ink:#f4f5ed;--muted:#b3b8ab;--lime:#d5f77b;--line:#3c4236;--display:'Space Grotesk',sans-serif;--body:'DM Sans',sans-serif}*{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:40px}body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.6 var(--body);-webkit-font-smoothing:antialiased}.nah a{color:inherit;text-decoration:none}.nah img{display:block;max-width:100%}.nah a:focus-visible,.nah input:focus-visible{outline:3px solid var(--lime);outline-offset:6px}::selection{background:var(--lime);color:var(--bg)}.nah .skip{position:fixed;left:20px;top:-80px;background:var(--lime);color:var(--bg);padding:12px;z-index:100}.nah .skip:focus{top:10px}.nah .wrap{max-width:1500px;padding-inline:clamp(22px,5.1vw,80px);margin-inline:auto}.nah .review-strip{display:flex;justify-content:space-between;padding:7px 5.1%;background:#262a22;font-size:12px;letter-spacing:.08em;color:#d9ddcf}.nah .review-strip a{text-decoration:underline;text-underline-offset:3px}.nah .cinema{position:relative;min-height:760px;height:min(860px,100svh);isolation:isolate;display:flex;flex-direction:column;justify-content:space-between}.nah .cinema-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 41%;z-index:-2}.nah .cinema:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#10140bc2,transparent 30%,#10130e20 45%,#10130ef2 100%);z-index:-1}.nah .nav{padding:29px 5.1%;display:flex;align-items:center;justify-content:space-between;gap:30px;width:100%;max-width:1600px;margin-inline:auto}.nah .brand{font:600 45px/1 var(--display);letter-spacing:-4px;white-space:nowrap}.nah .brand>span{color:var(--lime);margin-left:5px;font-weight:400;position:relative}.nah .brand>span:after{content:'';position:absolute;bottom:-7px;left:4px;width:22px;height:3px;background:linear-gradient(to right,#e9585b 25%,#f0d36b 25% 50%,#6995ff 50% 75%,#91bd77 75%)}.nah .nav nav{display:flex;align-items:center;gap:35px;font-size:14px}.nah .nav a:hover{color:var(--lime)}.nah .nav-contact{border:1px solid #ffffff55;border-radius:30px;padding:11px 20px}.nah .nav-contact>span{margin-left:24px}.nah .cinema-content{padding:120px 5.1% 18px;display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-top:auto;width:100%;max-width:1600px;margin-inline:auto}.nah .eyebrow{font-size:11px;letter-spacing:.15em;line-height:1.6;font-weight:600;margin:0 0 22px}.nah .cinema-content .eyebrow{color:#e9eddf}.nah .cinema h1{font:500 clamp(67px,6.9vw,111px)/.99 var(--display);letter-spacing:-.066em;margin:0}.nah .cinema h1>span{color:var(--lime)}.nah .hero-aside{padding-bottom:6px;flex-shrink:0}.nah .hero-aside>p{font-size:19px;line-height:1.45;margin:0 0 25px}.nah .button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:15px 21px;border-radius:4px;background:var(--lime);color:#1b2412;font-size:14px;font-weight:600;transition:background .2s,transform .2s}.nah .button>span{font-size:22px;line-height:1}.nah .button:hover{background:#e0ffa0;transform:translateY(-3px)}.nah .cinema-bottom{display:flex;justify-content:space-between;gap:30px;font-size:10px;letter-spacing:.12em;margin:26px 5.1% 22px;border-top:1px solid #ffffff30;padding-top:17px;color:#cbd0c2}.nah .cinema-bottom>span:last-child{letter-spacing:0;color:#bfc6b7}.nah .v6-section{padding-top:91px}.nah .section-heading{display:grid;grid-template-columns:1.4fr 1fr;align-items:end;gap:15px 45px;margin-bottom:42px}.nah .section-heading .eyebrow{grid-column:1/-1;color:var(--muted);margin-bottom:0}.nah .section-heading h2,.nah .space-copy h2,.nah .range-heading h2{font:500 clamp(45px,4.3vw,67px)/1.08 var(--display);letter-spacing:-.05em;margin:0}.nah .section-heading h2>span{color:var(--muted)}.nah .section-heading>p:last-child{justify-self:end;font-size:18px;margin:0 0 4px;color:#c7cdbe;line-height:1.55}.nah .v6-stage{position:relative;isolation:isolate;border:1px solid #42493a;height:425px;background:radial-gradient(ellipse at 50% 72%,#606c3a45,transparent 65%),#20231d;overflow:hidden}.nah .v6-stage:after{content:'';position:absolute;left:5%;right:5%;bottom:82px;height:1px;background:#7784584d;z-index:-1}.nah .v6-word{position:absolute;top:-38px;left:44px;font:500 310px/1.3 var(--display);letter-spacing:-.11em;color:#d5f77b0d}.nah .v6-stage>img{width:74%;height:auto;position:absolute;top:35%;left:13%;filter:drop-shadow(0 30px 25px #0006);transform:rotate(-4deg)}.nah .v6-corner{position:absolute;left:29px;bottom:23px;color:#d2d9c9;font-size:10px;letter-spacing:.1em;line-height:1.7}.nah .round-link{position:absolute;bottom:23px;right:29px;width:53px;height:53px;border:1px solid var(--lime);color:var(--lime);border-radius:50%;display:grid;place-items:center;font-size:27px;transition:background .2s,color .2s}.nah .round-link:hover{background:var(--lime);color:var(--bg)}.nah .spec-row{display:grid;grid-template-columns:1fr 1.3fr 1.5fr 1fr;margin:0;border-bottom:1px solid var(--line)}.nah .spec-row>div{padding:28px 20px 30px;border-right:1px solid var(--line)}.nah .spec-row>div:first-child{padding-left:0}.nah .spec-row>div:last-child{border:0;padding-left:35px}.nah .spec-row dt{font-size:12px;color:var(--muted);margin-bottom:9px}.nah .spec-row dd{font:500 clamp(30px,3.2vw,46px)/1.1 var(--display);letter-spacing:-.06em;margin:0;white-space:nowrap}.nah .spec-row dd>span{font-size:14px;letter-spacing:0}.nah .spec-row dd.word-spec{font-size:23px;letter-spacing:-.025em}.nah .space-section{display:grid;grid-template-columns:.86fr 1.14fr;gap:80px;align-items:center;padding-top:109px;padding-bottom:100px}.nah .space-copy .eyebrow{color:var(--muted)}.nah .space-copy h2>span{color:var(--lime)}.nah .space-copy>p:not(.eyebrow):not(.micro){color:var(--muted);max-width:365px;margin:24px 0 32px}.nah .distance-label{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:13px}.nah .distance-label label{font-size:13px;color:#e6eadf}.nah .distance-label output{font:500 25px/1 var(--display);white-space:nowrap;color:var(--lime)}.nah input[type=range]{width:100%;margin:0;accent-color:var(--lime);height:25px;cursor:ew-resize;background:transparent}.nah input[type=range]::-webkit-slider-runnable-track{height:3px;background:#79885b}.nah input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;margin-top:-6px}.nah input[type=range]:focus-visible{outline-offset:7px}.nah .range-endpoints{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-top:3px}.nah .micro{font-size:12px;line-height:1.65;color:var(--muted)}.nah .space-copy .micro{max-width:385px;margin:20px 0 0}.nah .geometry{border:1px solid var(--line);background:#1d2119;align-self:stretch;display:flex;flex-direction:column;justify-content:space-between;min-height:430px;padding:23px}.nah .wall-label{display:flex;justify-content:space-between;gap:15px;font-size:10px;color:#c8d2ba;letter-spacing:.11em}.nah .wall{width:100%;min-height:260px;display:flex;align-items:center;justify-content:center;background-image:linear-gradient(#d5f77b07 1px,transparent 1px),linear-gradient(90deg,#d5f77b07 1px,transparent 1px);background-size:30px 30px}.nah .projected-frame{border:1px solid #d5f77ba0;background:radial-gradient(ellipse at center,#b7df623b,#b7df6207);width:70%;aspect-ratio:1.6;position:relative;display:flex;align-items:center;justify-content:center;transition:none;box-shadow:0 0 40px #cfff4310;text-align:center;min-width:0}.nah .frame-cross{position:absolute;font-size:19px;line-height:1;color:var(--lime)}.nah .tl{left:-7px;top:-9px}.nah .tr{right:-7px;top:-9px}.nah .bl{left:-7px;bottom:-9px}.nah .br{right:-7px;bottom:-9px}.nah .frame-eyebrow{font-size:10px;letter-spacing:.06em;display:block;color:#c5d8a8}.nah .geometry-readout output{font:500 clamp(32px,4.1vw,57px)/1.4 var(--display);color:var(--lime);letter-spacing:-.045em;display:block}.nah .geometry-readout output>span{font-size:20px}.nah .geometry-bottom{display:flex;justify-content:space-between;gap:15px;font-size:11px;color:#bac9a8;border-top:1px solid var(--line);padding-top:17px}.nah .range-section{padding-top:20px;padding-bottom:30px}.nah .range-heading{display:grid;grid-template-columns:1.4fr 1fr;align-items:end;gap:20px;margin-bottom:40px}.nah .range-heading .eyebrow{grid-column:1/-1;margin:0;color:var(--muted)}.nah .range-heading h2>span{color:var(--muted)}.nah .range-heading>p:last-child{justify-self:end;margin:0 0 3px;color:var(--muted)}.nah .range-list{border-top:1px solid #5f6a50}.nah .range-list>a{display:grid;grid-template-columns:.22fr .9fr 1fr .45fr;align-items:center;gap:25px;padding:29px 8px;border-bottom:1px solid #424b36;transition:padding .25s,background .25s}.nah .range-list>a:hover{padding-inline:22px;background:#d5f77b0a}.nah .range-no{font-size:12px;color:#b2c299}.nah .range-list strong{font:500 40px/1.2 var(--display);letter-spacing:-.05em}.nah .range-description{font-size:16px;color:#cbd2c0}.nah .range-action{font-size:12px;justify-self:end;color:var(--lime)}.nah .range-action>span{font-size:24px;margin-left:30px}.nah .range-note{margin:15px 0}.nah .closing{padding-top:85px;padding-bottom:101px}.nah .closing .eyebrow{color:var(--muted)}.nah .closing h2{font:500 clamp(70px,8.4vw,125px)/1.04 var(--display);letter-spacing:-.065em;margin:0 0 35px}.nah .closing h2>span{color:var(--lime)}.nah .footer{border-top:1px solid var(--line);padding-top:37px;padding-bottom:20px}.nah .footer-top{display:grid;grid-template-columns:.5fr 1.4fr 1fr;gap:50px;align-items:start}.nah .footer-top>p{font-size:12px;color:var(--muted);line-height:1.7;margin:0;max-width:490px}.nah .footer-top>.footer-contact{font-size:13px;text-align:right;color:#d9dfcf}.nah .footer-top>.footer-contact:hover{color:var(--lime)}.nah .footer-bottom{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);border-top:1px solid var(--line);margin-top:35px;padding-top:18px}@media(max-width:1100px){.nah .cinema{min-height:740px}.nah .cinema-content{display:block}.nah .hero-aside{display:flex;justify-content:space-between;align-items:center;margin-top:30px;gap:20px}.nah .hero-aside>p{margin:0;font-size:17px}.nah .cinema h1{font-size:clamp(70px,8vw,100px)}.nah .space-section{gap:40px}.nah .spec-row dd{font-size:34px}.nah .spec-row dd>span{font-size:11px}.nah .spec-row dd.word-spec{font-size:22px}.nah .geometry{padding:17px}.nah .footer-top{gap:35px;grid-template-columns:.5fr 1.4fr}.nah .footer-top>.footer-contact{grid-column:2;text-align:left}}@media(max-width:700px){.nah .review-strip{font-size:10px;padding:7px 22px;letter-spacing:.04em}.nah .review-strip>span:last-child{display:none}.nah .cinema{height:760px;min-height:0;max-height:none}.nah .cinema-image{object-position:61% center}.nah .cinema:before{background:linear-gradient(180deg,#10140bd1,transparent 27%,#10130e3d 45%,#10130efa 100%)}.nah .nav{padding:24px 22px;gap:15px}.nah .brand{font-size:38px}.nah .nav nav{gap:18px;font-size:12px}.nah .nav nav>a:first-child{display:none}.nah .nav-contact{padding:9px 12px}.nah .nav-contact>span{margin-left:7px}.nah .cinema-content{padding:90px 22px 0}.nah .cinema-content .eyebrow{font-size:9px;letter-spacing:.12em;margin-bottom:18px}.nah .cinema h1{font-size:clamp(48px,12vw,77px);line-height:1.04;letter-spacing:-.075em}.nah .hero-aside{display:block;margin-top:21px}.nah .hero-aside>p{font-size:17px;line-height:1.5}.nah .hero-aside>p br{display:none}.nah .hero-aside .button{margin-top:23px;padding:14px 17px;gap:30px;font-size:13px}.nah .cinema-bottom{margin:26px 22px 20px;padding-top:14px;display:block;font-size:8px}.nah .cinema-bottom>span{display:block}.nah .cinema-bottom>span:last-child{font-size:9px;margin-top:9px}.nah .v6-section{padding-top:57px}.nah .section-heading{display:block;margin-bottom:25px}.nah .section-heading .eyebrow{font-size:10px;margin-bottom:18px}.nah .section-heading h2,.nah .space-copy h2,.nah .range-heading h2{font-size:43px}.nah .section-heading>p:last-child{font-size:16px;margin:22px 0 0;max-width:310px}.nah .section-heading>p:last-child br{display:none}.nah .v6-stage{height:280px}.nah .v6-stage>img{width:90%;left:5%;top:39%}.nah .v6-word{font-size:210px;left:15px;top:-16px}.nah .v6-corner{left:17px;bottom:18px;font-size:8px;letter-spacing:.04em}.nah .round-link{height:43px;width:43px;bottom:17px;right:17px;font-size:23px}.nah .spec-row{grid-template-columns:1fr 1fr}.nah .spec-row>div,.nah .spec-row>div:first-child,.nah .spec-row>div:last-child{padding:21px 13px;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}.nah .spec-row>div:nth-child(2n){border-right:0;padding-left:22px}.nah .spec-row>div:nth-child(3),.nah .spec-row>div:nth-child(4){border-bottom:0}.nah .spec-row dt{font-size:10px}.nah .spec-row dd{font-size:29px}.nah .spec-row dd>span{font-size:10px}.nah .spec-row dd.word-spec{font-size:19px}.nah .spec-row dd.word-spec br{display:none}.nah .space-section{grid-template-columns:1fr;padding-top:60px;padding-bottom:52px;gap:29px}.nah .space-copy .eyebrow{font-size:10px}.nah .space-copy>p:not(.eyebrow):not(.micro){font-size:16px;margin:20px 0 26px}.nah .distance-label label{font-size:12px}.nah .space-copy .micro{font-size:11px}.nah .geometry{min-height:340px;padding:17px}.nah .wall{min-height:243px}.nah .wall-label{font-size:9px}.nah .geometry-bottom{font-size:10px}.nah .frame-eyebrow{font-size:8px}.nah .geometry-readout output{font-size:34px}.nah .geometry-readout output>span{font-size:17px}.nah .range-heading{display:block;margin-bottom:25px}.nah .range-heading .eyebrow{font-size:10px;margin-bottom:18px}.nah .range-heading>p:last-child{font-size:16px;margin-top:19px}.nah .range-heading>p:last-child br{display:none}.nah .range-list>a{grid-template-columns:26px 1fr 30px;gap:12px;padding:20px 0}.nah .range-no{font-size:10px;grid-row:1/3}.nah .range-list strong{font-size:31px}.nah .range-description{grid-column:2;grid-row:2;font-size:13px}.nah .range-action{grid-column:3;grid-row:1/3;font-size:0}.nah .range-action>span{margin:0;font-size:25px}.nah .range-list>a:hover{padding-inline:8px}.nah .range-note{font-size:10px}.nah .closing{padding-top:45px;padding-bottom:63px}.nah .closing .eyebrow{font-size:10px}.nah .closing h2{font-size:clamp(46px,12vw,72px);line-height:1.07;margin-bottom:26px}.nah .closing .button{font-size:13px;padding:14px 18px}.nah .footer{padding-top:30px}.nah .footer-top{grid-template-columns:1fr;gap:24px}.nah .footer-top>p{font-size:12px}.nah .footer-top>.footer-contact{grid-column:1;text-align:left}.nah .footer-bottom{display:block;font-size:10px;margin-top:25px}.nah .footer-bottom>span{display:block;margin:5px 0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}.nah .geometry-readout{text-align:center;padding:5px 0 22px}.nah .geometry-readout .frame-eyebrow{font-size:11px;letter-spacing:.09em}.nah .geometry-readout output{font-size:44px;line-height:1.25}.nah .geometry-readout output>span{font-size:20px}.nah .geometry .wall{min-height:260px}@media(max-width:700px){.nah .geometry .wall{min-height:210px}.nah .geometry-readout{padding:0 0 20px}.nah .geometry-readout output{font-size:38px}.nah .geometry-readout .frame-eyebrow{font-size:10px}}
.nah .button,.nah .button:hover{font-family:var(--body);text-transform:none;letter-spacing:normal;line-height:1.6;border-radius:4px}.nah .nav nav{gap:30px}.nah .nav .nav-cart{opacity:.9}.nah .button-ghost{background:transparent;color:var(--ink);border:1px solid #ffffff55}.nah .button-ghost:hover{background:#ffffff12;color:var(--ink)}.nah .closing-actions{display:flex;flex-wrap:wrap;gap:14px}.nah .range-all{display:inline-block;margin-top:22px;font-size:13px;color:var(--lime);border-bottom:1px solid #d5f77b66;padding-bottom:3px}.nah .footer-contact{font-size:13px;color:#d9dfcf;line-height:1.8;text-align:right}.nah .footer-contact a:hover,.nah .footer-links a:hover{color:var(--lime)}.nah .footer-links{display:flex;flex-wrap:wrap;gap:8px 26px;font-size:12px;color:var(--muted);margin-top:30px}@media(max-width:1100px){.nah .footer-contact{grid-column:2;text-align:left}}@media(max-width:700px){.nah .nav nav>a:first-child{display:none}.nah .nav nav{gap:14px}.nah .footer-contact{grid-column:1}.nah .closing-actions .button{width:100%}}
/* Neon+ After Hours: site layer.
   Loaded after Blocksy + WooCommerce on every page (body.ah). The homepage's own CSS
   (prefixed .nah) is concatenated in front of this file by build_pack.py, so the header and
   footer use the landing page's exact rules. This file only adds what the landing never had. */

:root{--bg:#151714;--surface:#20231e;--surface-2:#1d2119;--ink:#f4f5ed;--muted:#b3b8ab;--lime:#d5f77b;
  --lime-dim:#d5f77b66;--line:#3c4236;--line-strong:#5f6a50;--screen:#efefef;--screen-ink:#1b2412;
  --display:'Space Grotesk',sans-serif;--body:'DM Sans',sans-serif;--shell:1500px;
  --gutter:clamp(22px,5.1vw,80px);
  --cross:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15'%3E%3Cpath d='M7.5 1v13M1 7.5h13' stroke='%23d5f77b' stroke-width='1.6'/%3E%3C/svg%3E")}

/* ---------- base: retune Blocksy's own variables, then the few rules it hardcodes ---------- */
body.ah{--theme-palette-color-1:var(--lime);--theme-palette-color-2:#e0ffa0;--theme-palette-color-3:var(--ink);
  --theme-palette-color-4:var(--ink);--theme-palette-color-5:var(--line);--theme-palette-color-6:var(--surface);
  --theme-palette-color-7:var(--bg);--theme-palette-color-8:var(--bg);
  --theme-text-color:var(--ink);--theme-headings-color:var(--ink);--theme-heading-color:var(--ink);
  --theme-link-initial-color:var(--ink);--theme-link-hover-color:var(--lime);--theme-border-color:var(--line);
  --theme-font-family:var(--body);--theme-button-font-family:var(--body);
  --theme-button-background-initial-color:var(--lime);--theme-button-background-hover-color:#e0ffa0;
  --theme-button-text-initial-color:var(--screen-ink);--theme-button-text-hover-color:var(--screen-ink);
  --theme-button-border-radius:4px;--theme-form-field-border-initial-color:var(--line-strong);
  --theme-form-field-border-focus-color:var(--lime);--theme-form-field-background-initial-color:var(--surface-2);
  --theme-form-field-background-focus-color:var(--surface-2);--theme-form-text-initial-color:var(--ink);
  --theme-form-text-focus-color:var(--ink);--theme-form-field-border-radius:4px;--theme-form-field-height:50px;
  --theme-content-spacing:1.2em;
  margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.6 var(--body);-webkit-font-smoothing:antialiased}
body.ah #main-container,body.ah .site-main{background:transparent}
body.ah ::selection{background:var(--lime);color:var(--bg)}
body.ah :where(h1,h2,h3,h4){font-family:var(--display);font-weight:500;letter-spacing:-.04em;color:var(--ink);text-transform:none}
body.ah a{color:inherit;text-decoration:none}
body.ah :where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--lime);outline-offset:4px}
body.ah img{max-width:100%;height:auto}
.ah-wrap{max-width:var(--shell);margin-inline:auto;padding-inline:var(--gutter)}
.ah-eyebrow{font-size:12px;letter-spacing:.15em;line-height:1.6;font-weight:600;color:var(--muted);margin:0 0 22px;text-transform:uppercase}
.ah-micro{font-size:12px;line-height:1.65;color:var(--muted)}
/* the landing's button, for pages outside .nah */
.nah-btn{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:15px 21px;border-radius:4px;background:var(--lime);color:var(--screen-ink)!important;font:600 14px/1.4 var(--body);white-space:nowrap;transition:background .2s,transform .2s}
.nah-btn>span{font-size:22px;line-height:1}
.nah-btn:hover{background:#e0ffa0;transform:translateY(-3px)}
.nah-btn.ghost{background:transparent;color:var(--ink)!important;border:1px solid #ffffff55}
.nah-btn.ghost:hover{background:#ffffff12}

/* ---------- chrome: the landing header, fixed to a solid bar on inner pages ---------- */
.ah-chrome{background:var(--bg);border-bottom:1px solid var(--line)}
.ah-chrome .nav{padding-block:22px}
.ah-chrome .nav nav a[aria-current]{color:var(--lime)}
.ah-cart-count{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;margin-left:6px;border-radius:10px;background:var(--lime);color:var(--screen-ink);font-size:11px;font-weight:700}
body.home .ah-chrome{position:absolute;top:var(--wp-admin--admin-bar--height,0px);left:0;right:0;z-index:5;background:transparent;border:0}
body.home .ah-chrome .nav{padding-block:29px}
body.ah .nah .footer{margin-top:40px}

/* ---------- page head: every inner page opens with its own facts, never a bare title ---------- */
.ah-head{padding-top:clamp(44px,6vw,84px);padding-bottom:clamp(36px,4.5vw,64px);display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:24px 64px;align-items:end}
.ah-crumbs{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px;font-size:12px;color:var(--muted);letter-spacing:.04em;margin-bottom:6px}
.ah-crumbs a:hover{color:var(--lime)}
.ah-crumbs span[aria-hidden]{opacity:.5}
.ah-head h1{font:500 clamp(52px,6.4vw,104px)/.98 var(--display);letter-spacing:-.066em;margin:0}
.ah-head h1 span{color:var(--lime)}
.ah-head .ah-lede{font-size:19px;line-height:1.5;color:#d6dbcc;margin:0;max-width:34ch}
.ah-head .ah-eyebrow{grid-column:1/-1;margin:0}

/* ---------- icon family: line icons in a small "screen" with the landing's corner crosses ---------- */
.ah-ico{position:relative;display:inline-grid;place-items:center;width:52px;height:52px;border:1px solid var(--line-strong);flex-shrink:0}
.ah-ico:before,.ah-ico:after{content:'';position:absolute;inset:-8px;background:var(--cross) left top/15px no-repeat,var(--cross) right bottom/15px no-repeat;pointer-events:none}
.ah-ico svg{width:26px;height:26px;fill:none;stroke:var(--ink);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.ah-ico svg .ah-hot{stroke:var(--lime)}

/* ---------- the projected screen: how every product photo sits on a dark page ---------- */
.ah-screen,body.ah ul.products li.product figure,body.ah .ct-product-gallery-container .flexy-view{position:relative;background:var(--screen);box-shadow:0 0 60px #cfff4312}
.ah-screen:after,body.ah ul.products li.product figure:after,body.ah .ct-product-gallery-container .flexy-view:after{content:'';position:absolute;inset:-8px;pointer-events:none;
  background:var(--cross) left top/15px no-repeat,var(--cross) right top/15px no-repeat,var(--cross) left bottom/15px no-repeat,var(--cross) right bottom/15px no-repeat}

/* ---------- WooCommerce: category / shop head (Blocksy hero) ---------- */
body.ah .hero-section{max-width:var(--shell);margin-inline:auto;padding:clamp(44px,6vw,84px) var(--gutter) 10px;background:transparent!important;min-height:0!important}
body.ah .hero-section .ct-breadcrumbs,body.ah .hero-section .ct-breadcrumbs *{text-transform:none;letter-spacing:.04em}
body.ah .hero-section .entry-header{max-width:none;padding:0;text-align:left}
body.ah .hero-section .ct-breadcrumbs{font-size:12px;color:var(--muted);letter-spacing:.04em;margin-bottom:18px}
body.ah .hero-section .ct-breadcrumbs a:hover{color:var(--lime)}
body.ah .hero-section .page-title{font:500 clamp(52px,6.4vw,104px)/.98 var(--display);letter-spacing:-.066em;margin:0}
.ah-shelf{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.ah-shelf a{display:inline-flex;align-items:baseline;gap:10px;padding:10px 16px;border:1px solid var(--line-strong);border-radius:30px;font-size:14px;transition:border-color .2s,color .2s}
.ah-shelf a b{font:500 13px/1 var(--display);color:var(--muted)}
.ah-shelf a:hover{border-color:var(--lime);color:var(--lime)}
.ah-shelf a[aria-current]{background:var(--lime);border-color:var(--lime);color:var(--screen-ink)}
.ah-shelf a[aria-current] b{color:var(--screen-ink)}
body.ah .ct-container{max-width:var(--shell);padding-inline:var(--gutter);width:auto}
body.ah .woo-listing-top{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;margin:28px 0 44px}
body.ah .woocommerce-result-count{font-size:13px;color:var(--muted);margin:0}
body.ah .woocommerce-ordering select{height:42px;min-width:230px;font-size:14px;background-color:var(--surface-2);color:var(--ink);border:1px solid var(--line-strong);border-radius:4px;padding:0 14px}

/* product grid: column count follows the CHILD COUNT so the last row is never an orphan */
body.ah ul.products{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:56px 34px;margin:0 0 30px;padding:0;list-style:none}
body.ah ul.products:before,body.ah ul.products:after{display:none}
body.ah:is(.woocommerce-shop,.tax-product_cat,.post-type-archive-product) ul.products>li.product:first-child:nth-last-child(3n+1){grid-column:1/-1}
body.ah:is(.woocommerce-shop,.tax-product_cat,.post-type-archive-product) ul.products>li.product:first-child:nth-last-child(3n+2){grid-column:span 2}
body.ah ul.products>li.product{width:auto!important;margin:0!important;float:none!important;display:flex;flex-direction:column;align-items:flex-start;text-align:left}
body.ah ul.products li.product figure{margin:0 0 22px;width:100%;aspect-ratio:4/3;display:grid;place-items:center;overflow:visible}
body.ah ul.products li.product figure .ct-media-container{display:block;width:100%;height:100%}
body.ah ul.products li.product figure img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;transition:transform .35s}
body.ah ul.products li.product:hover figure img{transform:scale(1.035)}
body.ah ul.products li.product .woocommerce-loop-product__title{font:500 26px/1.15 var(--display);letter-spacing:-.04em;margin:0 0 8px;padding:0}
body.ah ul.products li.product .woocommerce-loop-product__title a:hover{color:var(--lime)}
body.ah ul.products li.product .price{font:500 18px/1.3 var(--display);color:var(--ink);letter-spacing:-.02em;margin:0 0 6px}
body.ah ul.products li.product .entry-meta{list-style:none;padding:0;margin:0 0 18px;font-size:12px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}
body.ah ul.products li.product .ct-woo-card-actions{margin-top:auto}
body.ah ul.products li.product .button{display:inline-flex;align-items:center;gap:16px;padding:11px 18px;border-radius:4px;background:transparent;border:1px solid var(--lime);color:var(--lime);font:600 13px/1.4 var(--body);min-height:0}
body.ah ul.products li.product .button:hover{background:var(--lime);color:var(--screen-ink)}
/* the wide first card: photo left, words right */
body.ah:is(.woocommerce-shop,.tax-product_cat,.post-type-archive-product) ul.products>li.product:first-child:nth-last-child(3n+1){display:grid;grid-template-columns:1.25fr 1fr;column-gap:56px;align-items:center}
body.ah:is(.woocommerce-shop,.tax-product_cat,.post-type-archive-product) ul.products>li.product:first-child:nth-last-child(3n+1) figure{grid-row:1/6;aspect-ratio:16/9;margin:0}
body.ah:is(.woocommerce-shop,.tax-product_cat,.post-type-archive-product) ul.products>li.product:first-child:nth-last-child(3n+1) .woocommerce-loop-product__title{font-size:clamp(34px,3.2vw,48px);letter-spacing:-.055em}
body.ah:is(.woocommerce-shop,.tax-product_cat,.post-type-archive-product) ul.products>li.product:first-child:nth-last-child(3n+1) .price{font-size:24px}
body.ah:is(.woocommerce-shop,.tax-product_cat,.post-type-archive-product) ul.products>li.product:first-child:nth-last-child(3n+1) .ct-woo-card-actions{margin-top:10px}
body.ah:is(.woocommerce-shop,.tax-product_cat,.post-type-archive-product) ul.products>li.product:first-child:nth-last-child(3n+2) figure{aspect-ratio:16/7.2}

/* ---------- WooCommerce: single product ---------- */
body.ah .product-entry-wrapper{max-width:var(--shell);margin:0 auto;padding:clamp(34px,4vw,60px) var(--gutter) 70px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(40px,5vw,88px);align-items:start}
body.ah .woocommerce-product-gallery{width:auto!important;margin:0!important;float:none!important}
body.ah .ct-product-gallery-container .flexy-view{overflow:hidden}
body.ah .ct-product-gallery-container .flexy-item img{mix-blend-mode:multiply}
body.ah .flexy-pills{margin-top:26px}
body.ah .flexy-pills ol{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:12px;padding-bottom:4px!important;padding:0;margin:0;list-style:none}
body.ah .flexy-pills li{width:72px;flex:0 0 72px;background:var(--screen);opacity:.82;border:2px solid transparent;cursor:pointer;transition:opacity .2s,border-color .2s}
body.ah .flexy-pills li.active,body.ah .flexy-pills li:hover{opacity:1;border-color:var(--lime)}
body.ah .flexy-pills img{mix-blend-mode:multiply;display:block}
body.ah .flexy-arrow-prev,body.ah .flexy-arrow-next{background:var(--bg);color:var(--lime);border:1px solid var(--lime);border-radius:50%}
body.ah .entry-summary{position:sticky;top:30px;width:auto!important;float:none!important;margin:0!important}
.ah-summary-eyebrow{font-size:11px;letter-spacing:.15em;font-weight:600;color:var(--muted);text-transform:uppercase;margin:0 0 16px}
body.ah .product_title{font:500 clamp(44px,4.4vw,70px)/1 var(--display);letter-spacing:-.06em;margin:0 0 22px}
body.ah .summary .price{font:500 34px/1 var(--display);letter-spacing:-.04em;color:var(--ink);margin:0 0 26px;padding-bottom:26px;border-bottom:1px solid var(--line);display:block}
body.ah .woocommerce-product-details__short-description{color:#d6dbcc;font-size:16px}
body.ah .woocommerce-product-details__short-description a[href*="paylater"]{display:none}
body.ah .ct-product-divider{display:none}
body.ah form.cart{margin:26px 0 0}
body.ah .single_add_to_cart_button{width:100%;justify-content:space-between;min-height:58px;padding:0 24px;font:600 15px/1 var(--body);border-radius:4px;background:var(--lime);color:var(--screen-ink)}
body.ah .single_add_to_cart_button:after{content:'↗\FE0E';font-size:22px}
body.ah .single_add_to_cart_button:hover{background:#e0ffa0}
.ah-buy-help{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.ah-buy-help a{display:flex;flex-direction:column;gap:3px;padding:14px 16px;border:1px solid var(--line-strong);border-radius:4px;font-size:14px;font-weight:600;transition:border-color .2s}
.ah-buy-help a span{font-size:12px;font-weight:400;color:var(--muted)}
.ah-buy-help a:hover{border-color:var(--lime)}
body.ah .product_meta{margin-top:26px;padding-top:18px;border-top:1px solid var(--line);font-size:12px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}
body.ah .product_meta a:hover{color:var(--lime)}

/* tabs become a chapter rule */
body.ah .woocommerce-tabs{max-width:var(--shell);margin:0 auto;padding:0 var(--gutter)}
body.ah .woocommerce-tabs ul.tabs{display:flex;gap:34px;margin:0;padding:0;border-bottom:1px solid var(--line);list-style:none;max-width:none}
body.ah .woocommerce-tabs ul.tabs:before,body.ah .woocommerce-tabs ul.tabs:after{display:none}
body.ah .woocommerce-tabs ul.tabs li{background:none;border:0;margin:0;padding:0}
body.ah .woocommerce-tabs ul.tabs li a{display:block;padding:0 0 16px;font:500 15px/1 var(--display);color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px}
body.ah .woocommerce-tabs ul.tabs li.active a{color:var(--ink);border-color:var(--lime)}
body.ah .woocommerce-Tabs-panel{max-width:none;padding:0;margin:0}

/* the spec sheet: the most valuable object on the page, so the best presented */
.ah-spec-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px 64px;align-items:end;padding:64px 0 30px}
.ah-spec-head h2{font:500 clamp(40px,4vw,62px)/1.05 var(--display);letter-spacing:-.05em;margin:0}
.ah-spec-head h2 span{color:var(--muted)}
.ah-spec-head p{justify-self:end;max-width:40ch;color:var(--muted);font-size:15px;margin:0}
body.ah #tab-description{counter-reset:specsec}
body.ah #tab-description table{width:100%!important;border:0!important;border-collapse:collapse;margin:0 0 20px;table-layout:auto}
body.ah #tab-description :is(tbody,tr){border:0!important}
body.ah #tab-description td{width:auto!important;border:0!important;border-bottom:1px solid var(--line)!important;padding:17px 20px 17px 0;vertical-align:top;background:none;font-size:17px;line-height:1.45;color:var(--ink);font-family:var(--display);letter-spacing:-.01em}
body.ah #tab-description td:first-child{width:36%!important;font-family:var(--body);font-size:14px;color:var(--muted);letter-spacing:0}
body.ah #tab-description tr:has(>td:only-child) td{counter-increment:specsec;padding:58px 0 16px;border-bottom:1px solid var(--line-strong)!important;font:600 12px/1.6 var(--body);letter-spacing:.15em;text-transform:uppercase;color:var(--ink)}
body.ah #tab-description tr:has(>td:only-child) td:before{content:counter(specsec,decimal-leading-zero) ' / ';color:var(--muted)}
body.ah #tab-description tr:first-child td:only-child{padding-top:6px}
/* a full-width row straight after a heading row is content (e.g. the packing list), not another heading */
body.ah #tab-description tr:has(>td:only-child)+tr:has(>td:only-child) td{counter-increment:none;padding:18px 0;border-bottom:1px solid var(--line)!important;font:400 17px/1.5 var(--display);letter-spacing:-.01em;text-transform:none;color:var(--ink)}
body.ah #tab-description tr:has(>td:only-child)+tr:has(>td:only-child) td:before{content:none}
body.ah .woocommerce-tabs ul.tabs{justify-content:flex-start}
body.ah #tab-description tr:hover td:not([colspan]){background:#d5f77b08}
body.ah .woocommerce-Tabs-panel--additional_information table{width:100%;border-collapse:collapse}
body.ah .woocommerce-Tabs-panel--additional_information th,body.ah .woocommerce-Tabs-panel--additional_information td{border:0;border-bottom:1px solid var(--line);padding:16px 0;text-align:left;background:none;font-weight:400}
body.ah .woocommerce-Tabs-panel--additional_information th{color:var(--muted);font-size:14px;width:36%}

/* PayLater band on projector pages (theme hook) */
.ah-paylater-band{max-width:var(--shell);margin:70px auto 0;padding:0 var(--gutter)}
.ah-paylater-band>div{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:30px;align-items:center;padding:30px 34px;border:1px solid var(--line-strong);background:linear-gradient(90deg,#d5f77b10,transparent 60%)}
.ah-paylater-band h2{font:500 30px/1.1 var(--display);letter-spacing:-.04em;margin:0 0 6px}
.ah-paylater-band p{margin:0;color:var(--muted);font-size:15px}

/* related products */
body.ah section.related,body.ah section.up-sells{max-width:var(--shell);margin:90px auto 0;padding:0 var(--gutter)}
body.ah section.related>h2,body.ah section.up-sells>h2{font:500 clamp(34px,3.2vw,48px)/1.05 var(--display);letter-spacing:-.05em;margin:0 0 40px;padding-top:30px;border-top:1px solid var(--line)}

/* ---------- buttons, fields and notices shared by cart, checkout and account ---------- */
body.ah .button,body.ah button.button,body.ah input[type=submit],body.ah .wp-element-button{font:600 14px/1.4 var(--body);border-radius:4px;letter-spacing:0;text-transform:none}
body.ah :is(input[type=text],input[type=email],input[type=tel],input[type=password],input[type=number],input[type=search],select,textarea),body.ah .select2-container .select2-selection--single{background:var(--surface-2);color:var(--ink);border:1px solid var(--line-strong);border-radius:4px;font:400 16px/1.4 var(--body);min-height:50px;padding:12px 14px;box-shadow:none}
body.ah :is(input,select,textarea):focus,body.ah .select2-container--focus .select2-selection{border-color:var(--lime);outline:none;box-shadow:0 0 0 1px var(--lime)}
body.ah .select2-container .select2-selection--single .select2-selection__rendered{color:var(--ink);line-height:26px;padding:0}
body.ah .select2-dropdown{background:var(--surface);border-color:var(--line-strong);color:var(--ink)}
body.ah .select2-results__option--highlighted{background:var(--lime)!important;color:var(--screen-ink)!important}
body.ah label,body.ah .form-row label{font-size:13px;color:var(--muted);font-weight:500;margin-bottom:7px}
body.ah .required{color:var(--muted);text-decoration:none}
body.ah :is(.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews){background:var(--surface);color:var(--ink);border:0;border-left:3px solid var(--lime);border-radius:0;padding:16px 20px;font-size:15px}
body.ah .woocommerce-error{border-left-color:#ff8a7a}

/* ---------- cart ---------- */
body.ah.woocommerce-cart .entry-content,body.ah.woocommerce-checkout .entry-content,body.ah.woocommerce-account .entry-content{max-width:var(--shell);margin:0 auto;padding:0 var(--gutter) 40px}
body.ah .ct-woocommerce-cart-form{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:56px;align-items:start}
body.ah table.shop_table{border:0;border-collapse:collapse;width:100%;background:none}
body.ah table.shop_table th{font:600 11px/1.6 var(--body);letter-spacing:.15em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line-strong);padding:0 10px 14px 0;background:none}
body.ah table.shop_table td{border:0;border-bottom:1px solid var(--line);padding:22px 10px 22px 0;background:none;vertical-align:middle}
body.ah table.cart td.product-thumbnail img{width:92px;background:var(--screen);mix-blend-mode:normal;padding:6px}
body.ah table.cart td.product-name a{font:500 22px/1.2 var(--display);letter-spacing:-.03em}
body.ah table.cart td.product-name a:hover{color:var(--lime)}
body.ah table.cart .product-remove a{color:var(--muted)!important;font-size:22px}
body.ah table.cart .product-remove a:hover{color:#ff8a7a!important;background:none}
body.ah table.cart td.actions{border:0;padding-top:24px}
body.ah table.cart td.actions .coupon{display:flex;gap:10px}
body.ah table.cart td.actions .button{background:transparent;border:1px solid var(--line-strong);color:var(--ink)}
body.ah table.cart td.actions .button:hover{border-color:var(--lime);color:var(--lime)}
body.ah .cart-collaterals,body.ah .cart_totals{width:auto!important;float:none!important}
body.ah .cart_totals{background:var(--surface);padding:30px;position:sticky;top:30px}
body.ah .cart_totals>h2{font:500 30px/1.1 var(--display);letter-spacing:-.04em;margin:0 0 20px}
body.ah .cart_totals table.shop_table th{font:400 14px/1.4 var(--body);letter-spacing:0;text-transform:none;color:var(--muted);border-bottom:1px solid var(--line);padding:16px 0}
body.ah .cart_totals .order-total td,body.ah .order-total .amount{font:500 26px/1 var(--display);letter-spacing:-.03em;color:var(--ink)}
body.ah .wc-proceed-to-checkout .checkout-button{display:flex!important;justify-content:space-between;align-items:center;width:100%;min-height:58px;padding:0 24px;font-size:15px;background:var(--lime);color:var(--screen-ink)}
body.ah .wc-proceed-to-checkout .checkout-button:after{content:'↗\FE0E';font-size:22px}

/* ---------- checkout: the payment step itself is iPay88's page; this only dresses the form ---------- */
body.ah form.checkout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(36px,5vw,80px);align-items:start}
body.ah form.checkout>.woocommerce-NoticeGroup{grid-column:1/-1}
body.ah form.checkout .col2-set{width:auto;float:none;margin:0}
body.ah form.checkout .col2-set>div{width:auto;float:none;margin:0 0 40px}
body.ah form.checkout h3{font:500 30px/1.1 var(--display);letter-spacing:-.04em;margin:0 0 24px;padding-bottom:16px;border-bottom:1px solid var(--line)}
body.ah .woocommerce-billing-fields__field-wrapper,body.ah .woocommerce-shipping-fields__field-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:4px 18px}
body.ah .woocommerce-billing-fields__field-wrapper .form-row-wide,body.ah .woocommerce-shipping-fields__field-wrapper .form-row-wide{grid-column:1/-1}
body.ah .form-row{margin:0 0 16px;padding:0;width:auto!important;float:none!important}
body.ah .ct-order-review{background:var(--surface);padding:32px;position:sticky;top:30px}
body.ah #order_review_heading{margin-top:0}
body.ah .woocommerce-checkout-review-order-table td,body.ah .woocommerce-checkout-review-order-table th{padding:14px 0}
body.ah .woocommerce-checkout-review-order-table .product-name{font:500 18px/1.3 var(--display)}
body.ah #payment{background:none;border-radius:0;margin-top:26px}
body.ah #payment ul.payment_methods{border:0;padding:0;margin:0 0 20px;list-style:none}
body.ah #payment li.wc_payment_method{border:1px solid var(--lime);padding:18px 18px 14px;font:600 16px/1.3 var(--body)}
body.ah #payment li.wc_payment_method>label{color:var(--ink);font-size:16px;font-weight:600;margin:0}
body.ah #payment .payment_box{background:none;color:var(--muted);font-size:14px;font-weight:400;padding:10px 0 0;margin:0}
body.ah #payment .payment_box:before{display:none}
body.ah .woocommerce-privacy-policy-text,body.ah .woocommerce-terms-and-conditions-wrapper{font-size:13px;color:var(--muted)}
body.ah .woocommerce-privacy-policy-text a,body.ah .woocommerce-terms-and-conditions-link{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
body.ah .woocommerce-terms-and-conditions{background:var(--surface-2)!important;border:1px solid var(--line)!important;color:var(--muted);font-size:13px}
body.ah #place_order{width:100%;min-height:60px;font-size:16px;background:var(--lime);color:var(--screen-ink);margin-top:14px}

/* ---------- account ---------- */
body.ah .woocommerce-form-login,body.ah .woocommerce-form-register{max-width:520px;background:var(--surface);padding:34px;border:0;border-radius:0;margin:0}
body.ah.woocommerce-account .u-columns{display:grid;grid-template-columns:1fr 1fr;gap:34px}
body.ah.woocommerce-account .u-columns>div{width:auto;float:none}
body.ah .woocommerce-form-login__submit,body.ah .woocommerce-form-register__submit{background:var(--lime);color:var(--screen-ink);min-height:52px;padding:0 26px}
body.ah .woocommerce-MyAccount-navigation ul{list-style:none;padding:0;border-top:1px solid var(--line)}
body.ah .woocommerce-MyAccount-navigation li a{display:block;padding:14px 0;border-bottom:1px solid var(--line)}
body.ah .woocommerce-MyAccount-navigation li.is-active a{color:var(--lime)}

/* ---------- content pages (rebuilt from Elementor) ---------- */
.ah-page{padding-bottom:40px}
.ah-band{padding-block:clamp(56px,7vw,110px)}
.ah-band+.ah-band{border-top:1px solid var(--line)}
.ah-h2{font:500 clamp(40px,4.3vw,67px)/1.06 var(--display);letter-spacing:-.05em;margin:0 0 22px}
.ah-h2 span{color:var(--muted)}
.ah-prose{max-width:68ch}
.ah-prose p{margin:0 0 1.1em;color:#dde1d4}
.ah-prose a{text-decoration:underline;text-decoration-color:var(--lime-dim);text-underline-offset:3px}
.ah-prose a:hover{color:var(--lime)}
.ah-figure{margin:0;position:relative}
.ah-figure img{display:block;width:100%;height:auto}
.ah-figure figcaption{margin-top:12px;font-size:12px;color:var(--muted)}
.ah-bleed{position:relative;height:clamp(300px,42vw,560px);overflow:hidden}
.ah-bleed img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ah-bleed:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,var(--bg) 0,transparent 22%,transparent 70%,var(--bg))}
.ah-bleed figcaption{position:absolute;right:var(--gutter);bottom:18px;z-index:2;font-size:11px;color:#cbd0c2}

/* FAQ: a topic index in the head, answers in a two-column register with a sticky rail */
.ah-topics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.ah-topics a{display:flex;align-items:center;gap:16px;padding:14px;border:1px solid var(--line);font-size:14px;font-weight:500;transition:border-color .2s}
.ah-topics a:hover{border-color:var(--lime)}
.ah-topics a b{display:block;font-size:11px;font-weight:400;color:var(--muted)}
.ah-qa-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:64px;align-items:start}
.ah-rail{position:sticky;top:30px;border-top:1px solid var(--line-strong);padding-top:18px}
.ah-rail p{margin:0 0 14px}
.ah-rail a{display:block;padding:7px 0;font-size:14px;color:var(--muted)}
.ah-rail a:hover{color:var(--lime)}
.ah-qa-group{margin:0 0 60px}
.ah-qa-group>header{display:flex;align-items:center;gap:22px;margin:0 0 10px;padding-bottom:18px;border-bottom:1px solid var(--line-strong)}
.ah-qa-group>header h2{font:500 34px/1.1 var(--display);letter-spacing:-.045em;margin:0}
.ah-qa{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:40px;padding:28px 0;border-bottom:1px solid var(--line)}
.ah-qa h3{font:500 22px/1.25 var(--display);letter-spacing:-.03em;margin:0}
.ah-qa div p{margin:0 0 .8em;color:#dde1d4}
.ah-qa div p:last-child{margin:0}
.ah-address{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin:0 0 .8em}
.ah-address>div{background:var(--bg);padding:16px}
.ah-address b{display:block;font-size:11px;letter-spacing:.14em;color:var(--lime);margin-bottom:6px;font-weight:600}
.ah-address span{font-size:14px;color:#dde1d4;line-height:1.5}

/* Delivery & refund: the page's own numbers are its hero */
.ah-numbers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line-strong);border-left:1px solid var(--line)}
.ah-numbers>div{padding:28px 26px 30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:10px}
.ah-numbers b{font:500 clamp(46px,4.6vw,72px)/1 var(--display);letter-spacing:-.06em}
.ah-numbers b small{font-size:.36em;letter-spacing:-.01em;color:var(--muted);margin-left:6px}
.ah-numbers span{font-size:14px;color:var(--muted);max-width:26ch}
.ah-policy{display:grid;grid-template-columns:260px minmax(0,1fr);gap:64px;align-items:start}
.ah-policy section{padding:0 0 44px;margin:0 0 44px;border-bottom:1px solid var(--line)}
.ah-policy section:last-child{border:0}
.ah-policy h2{display:flex;gap:18px;align-items:center;font:500 30px/1.15 var(--display);letter-spacing:-.04em;margin:0 0 18px}

/* Company profile: the timeline is the page's main object and breaks the column */
.ah-timeline{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--line-strong);margin-top:40px;counter-reset:ms}
.ah-timeline li{list-style:none;position:relative;padding:34px 18px 0 0}
.ah-timeline li:before{content:'';position:absolute;top:-6px;left:0;width:11px;height:11px;border-radius:50%;background:var(--bg);border:2px solid var(--lime)}
.ah-timeline li:last-child:before{border-style:dashed;border-color:var(--muted)}
.ah-timeline b{display:block;font:500 34px/1 var(--display);letter-spacing:-.05em;margin-bottom:12px}
.ah-timeline span{font-size:14px;color:#cfd4c6;line-height:1.5}
.ah-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px}
.ah-offer{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-top:34px}
.ah-offer>div{background:var(--bg);padding:26px 24px 30px;display:flex;flex-direction:column;gap:20px}
.ah-offer h3{font:500 22px/1.2 var(--display);letter-spacing:-.03em;margin:0}
.ah-offer p{margin:0;font-size:15px;color:var(--muted)}
.ah-range-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:26px;margin-top:40px}
.ah-range-strip a{display:block}
.ah-range-strip .ah-screen{aspect-ratio:1;display:grid;place-items:center}
.ah-range-strip img{mix-blend-mode:multiply;width:100%}
.ah-range-strip span{display:block;margin-top:14px;font:500 16px/1.2 var(--display);letter-spacing:-.02em}
.ah-people{columns:2;column-gap:56px;padding:0;margin:0;list-style:none}
.ah-people li{break-inside:avoid;padding:16px 0;border-bottom:1px solid var(--line)}
.ah-people b{display:block;font:500 21px/1.2 var(--display);letter-spacing:-.03em}
.ah-people span{font-size:14px;color:var(--muted)}

/* Contact + PayLater */
.ah-places{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px}
.ah-place{border-top:1px solid var(--line-strong);padding-top:24px;display:flex;flex-direction:column;gap:14px}
.ah-place h3{font:500 26px/1.1 var(--display);letter-spacing:-.04em;margin:0}
.ah-place p{margin:0;color:#dde1d4;font-size:15px}
.ah-place .ah-eyebrow{margin:0}
.ah-reach{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.ah-reach>a,.ah-reach>div{background:var(--bg);padding:26px;display:flex;gap:18px;align-items:center;min-width:0}
.ah-reach>*>div{min-width:0}
.ah-reach b{display:block;font:500 22px/1.2 var(--display);letter-spacing:-.03em}
.ah-reach span{display:block;font-size:12px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px}
.ah-reach a:hover b{color:var(--lime)}
.ah-form-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(40px,5vw,90px);align-items:start}
.ah-form{background:var(--surface);padding:clamp(24px,3vw,40px)}
.ah-form .row{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.ah-form label{display:block;margin:0 0 7px}
.ah-form .field{margin:0 0 18px}
.ah-form input,.ah-form select,.ah-form textarea{width:100%}
.ah-form textarea{min-height:120px}
.ah-consent{display:flex;gap:12px;align-items:flex-start;font-size:13px;color:#cfd4c6;margin:6px 0 22px}
.ah-consent input{width:20px!important;min-height:20px!important;height:20px;margin-top:2px;accent-color:var(--lime)}
.ah-form button{width:100%;display:flex;justify-content:space-between;align-items:center;min-height:58px;padding:0 24px;border:0;border-radius:4px;background:var(--lime);color:var(--screen-ink);font:600 15px/1 var(--body);cursor:pointer}
.ah-steps{counter-reset:st;padding:0;margin:30px 0 0;list-style:none}
.ah-steps li{counter-increment:st;display:grid;grid-template-columns:56px minmax(0,1fr);gap:14px;padding:18px 0;border-top:1px solid var(--line)}
.ah-steps li:before{content:counter(st,decimal-leading-zero);font:500 26px/1 var(--display);color:var(--muted);letter-spacing:-.04em}
.ah-steps b{display:block;font:500 19px/1.3 var(--display)}
.ah-steps span{font-size:15px;color:var(--muted)}
.ah-todo{}

/* Article hub */
.ah-index{border-top:1px solid var(--line-strong)}
.ah-index a{display:grid;grid-template-columns:70px minmax(0,1.6fr) minmax(0,1fr) 140px;gap:26px;align-items:center;padding:30px 8px;border-bottom:1px solid var(--line);transition:padding .25s,background .25s}
.ah-index a:hover{padding-inline:22px;background:#d5f77b0a}
.ah-index .no{font-size:12px;color:#b2c299}
.ah-index strong{font:500 clamp(24px,2.3vw,34px)/1.15 var(--display);letter-spacing:-.045em}
.ah-index .topic{font-size:14px;color:#cbd2c0}
.ah-index .go{justify-self:end;font-size:12px;color:var(--lime)}
.ah-index .go:after{content:'  ↗\FE0E';font-size:20px}

/* ---------- articles (bodies carried over word for word from espg.com.my) ---------- */
body.ah .aeo{padding-bottom:30px}
body.ah .aeo .shell{max-width:var(--shell);margin-inline:auto;padding-inline:var(--gutter)}
body.ah .a-hero{padding-top:clamp(44px,6vw,80px);padding-bottom:40px}
body.ah .a-crumbs{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;color:var(--muted);margin-bottom:26px}
body.ah .a-crumbs a:hover{color:var(--lime)}
body.ah .aeo .eyebrow{font-size:11px;letter-spacing:.15em;font-weight:600;color:var(--muted);text-transform:uppercase;margin:0 0 18px}
body.ah .aeo .h-lg{font:500 clamp(46px,5.2vw,84px)/1.02 var(--display);letter-spacing:-.06em;margin:0 0 40px;max-width:17ch}
body.ah .aeo .h-md{font:500 clamp(30px,2.9vw,44px)/1.1 var(--display);letter-spacing:-.045em;margin:0 0 22px}
body.ah .a-hero-split{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:start}
body.ah .a-answer{font-size:20px;line-height:1.55;color:#e6eadf;border-left:3px solid var(--lime);padding-left:26px}
body.ah .a-answer p{margin:0}
body.ah .a-review-date{font-size:12px;color:var(--muted);margin:22px 0 0 29px}
body.ah .a-takeaways{background:var(--surface);padding:30px 30px 20px;position:relative}
body.ah .a-takeaways:after{content:'';position:absolute;inset:-8px;pointer-events:none;background:var(--cross) left top/15px no-repeat,var(--cross) right bottom/15px no-repeat}
body.ah .a-label{font-size:11px;letter-spacing:.15em;font-weight:600;color:var(--muted);text-transform:uppercase;margin:0 0 10px}
body.ah .a-takeaway-heading{font:500 24px/1.2 var(--display);letter-spacing:-.03em;margin:0 0 16px}
body.ah .a-takeaways ol{margin:0;padding:0;list-style:none;counter-reset:tk}
body.ah .a-takeaways li{counter-increment:tk;display:block;position:relative;padding:12px 0 12px 34px;border-top:1px solid var(--line);font-size:15px;color:#dde1d4}
body.ah .a-takeaways li b{color:var(--ink)}
body.ah .a-takeaways li:before{content:counter(tk,decimal-leading-zero);position:absolute;left:0;top:12px;font:500 13px/1.6 var(--display);color:var(--muted)}
body.ah .a-article-front{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding-top:26px;padding-bottom:26px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
body.ah .a-article-front p{margin:0;font-size:13px;color:var(--muted);line-height:1.6}
body.ah .a-article-front b{display:block;color:var(--ink);font-weight:600;margin-bottom:4px}
body.ah .a-page-route{display:flex;flex-wrap:wrap;gap:10px;padding-top:30px;padding-bottom:10px}
body.ah .a-page-route a{display:inline-flex;gap:10px;align-items:baseline;padding:9px 15px;border:1px solid var(--line-strong);border-radius:30px;font-size:13px}
body.ah .a-page-route a b{font-family:var(--display);color:var(--muted);font-weight:500}
body.ah .a-page-route a:hover{border-color:var(--lime)}
body.ah .a-chapter{display:grid;grid-template-columns:minmax(120px,.28fr) minmax(0,1fr);gap:0 40px;padding-top:clamp(56px,6vw,90px)}
body.ah .a-chapter>div:last-child{max-width:820px}
body.ah .a-chapter-no{font:500 clamp(70px,8vw,130px)/.85 var(--display);letter-spacing:-.08em;color:transparent;-webkit-text-stroke:1px var(--line-strong);position:sticky;top:30px;align-self:start}
body.ah .a-chapter p{color:#dde1d4;margin:0 0 1.1em;max-width:68ch}
body.ah .a-chapter p a,body.ah .a-sources a,body.ah .a-article-faq a{text-decoration:underline;text-decoration-color:var(--lime-dim);text-underline-offset:3px}
body.ah .a-chapter p a:hover{color:var(--lime)}
body.ah .aeo .stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);margin:30px 0}
body.ah .aeo .stat{padding:22px 24px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:8px}
body.ah .aeo .stat:last-child{border:0;background:#d5f77b0d}
body.ah .aeo .stat b{font:500 clamp(34px,3.4vw,52px)/1 var(--display);letter-spacing:-.05em}
body.ah .aeo .stat:last-child b{color:var(--lime)}
body.ah .aeo .stat span{font-size:13px;color:var(--muted)}
body.ah .a-table-wrap{overflow-x:auto;margin:30px 0}
body.ah .a-lookup{width:100%;border-collapse:collapse}
body.ah .a-lookup caption{text-align:left;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding-bottom:14px;font-weight:600}
body.ah .a-lookup th,body.ah .a-lookup td{text-align:left;padding:15px 18px 15px 0;border-bottom:1px solid var(--line);font-weight:400}
body.ah .a-lookup thead th{font-size:13px;color:var(--muted);border-bottom:1px solid var(--line-strong)}
body.ah .a-lookup tbody th{font:500 20px/1.2 var(--display);letter-spacing:-.02em}
body.ah .a-lookup td{font:400 17px/1.4 var(--display);color:#e6eadf}
body.ah .a-throw-figure{margin:34px 0;padding:24px;border:1px solid var(--line);background:var(--surface-2);max-width:560px}
body.ah .a-throw-figure svg{width:100%;height:auto;display:block;font-family:var(--body)}
body.ah .a-throw-figure .tf-screen{stroke:var(--lime);stroke-width:3}
body.ah .a-throw-figure .tf-beam{fill:#d5f77b1f;stroke:#d5f77b66}
body.ah .a-throw-figure .tf-body{fill:var(--surface);stroke:var(--ink)}
body.ah .a-throw-figure .tf-lens{fill:var(--lime)}
body.ah .a-throw-figure .tf-dim{stroke:var(--muted)}
body.ah .a-throw-figure .tf-text{fill:var(--ink)}
body.ah .a-throw-figure figcaption{font-size:12px;color:var(--muted);margin-top:14px}
body.ah .aeo dl.rows,body.ah .aeo .sheet__specs{margin:26px 0;border-top:1px solid var(--line-strong)}
body.ah .aeo dl.rows>div,body.ah .aeo .sheet__specs>div{display:grid;grid-template-columns:180px 1fr;gap:20px;padding:15px 0;border-bottom:1px solid var(--line)}
body.ah .aeo dl dt{font:500 17px/1.4 var(--display);color:var(--ink)}
body.ah .aeo dl dd{margin:0;color:#dde1d4;font-size:16px}
body.ah .aeo .sheet__specs dd{font:500 22px/1.2 var(--display);color:var(--lime);letter-spacing:-.02em}
body.ah .a-article-faq,body.ah .a-sources,body.ah .a-related,body.ah .a-site-index,body.ah .aeo .a-cta{padding-top:clamp(56px,6vw,90px)}
body.ah .a-article-faq details{border-top:1px solid var(--line);max-width:900px}
body.ah .a-article-faq details:last-of-type{border-bottom:1px solid var(--line)}
body.ah .a-article-faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;padding:22px 0;font:500 21px/1.3 var(--display);letter-spacing:-.02em}
body.ah .a-article-faq summary::-webkit-details-marker{display:none}
body.ah .a-article-faq summary:after{content:'+';color:var(--lime);font-size:28px;line-height:.8}
body.ah .a-article-faq details[open] summary:after{content:'−'}
body.ah .a-article-faq details>div{padding:0 0 22px;color:#dde1d4;max-width:70ch}
body.ah .a-sources ul{padding:0;list-style:none;border-top:1px solid var(--line);max-width:900px}
body.ah .a-sources li{padding:16px 0;border-bottom:1px solid var(--line);font-size:15px;color:var(--muted)}
body.ah .a-sources li a{color:var(--ink);margin-right:6px}
body.ah .a-sources>p{color:var(--muted);font-size:14px;max-width:70ch}

/* ---------- 404 ---------- */
.ah-404{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:60px;align-items:center;padding-block:clamp(50px,7vw,110px)}
.ah-404 h1{font:500 clamp(60px,8vw,128px)/.95 var(--display);letter-spacing:-.07em;margin:0 0 26px}
.ah-404 h1 span{color:var(--lime)}
.ah-404 nav{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}

/* ---------- responsive ---------- */
@media(max-width:1100px){
  .ah-head{grid-template-columns:1fr}
  body.ah ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.ah:is(.woocommerce-shop,.tax-product_cat,.post-type-archive-product) ul.products>li.product:first-child:nth-last-child(3n+1),body.ah:is(.woocommerce-shop,.tax-product_cat,.post-type-archive-product) ul.products>li.product:first-child:nth-last-child(3n+2){grid-column:auto;display:flex}
  body.ah:is(.woocommerce-shop,.tax-product_cat,.post-type-archive-product) ul.products>li.product:first-child:nth-last-child(3n+1) figure,body.ah:is(.woocommerce-shop,.tax-product_cat,.post-type-archive-product) ul.products>li.product:first-child:nth-last-child(3n+2) figure{aspect-ratio:4/3;margin:0 0 22px}
  body.ah:is(.woocommerce-shop,.tax-product_cat,.post-type-archive-product) ul.products>li.product:first-child:nth-last-child(2n+1){grid-column:1/-1}
  body.ah:is(.woocommerce-shop,.tax-product_cat,.post-type-archive-product) ul.products>li.product:first-child:nth-last-child(2n+1) figure{aspect-ratio:16/8}
  body.ah .product-entry-wrapper{grid-template-columns:1fr}
  body.ah .entry-summary{position:static}
  body.ah .ct-woocommerce-cart-form,body.ah form.checkout{grid-template-columns:1fr}
  .ah-topics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ah-qa-layout,.ah-policy{grid-template-columns:1fr}
  .ah-rail{position:static;display:none}
  .ah-timeline{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:34px}
  .ah-timeline li:nth-child(n+5){border-top:1px solid var(--line-strong);margin-top:-1px}
  .ah-offer{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ah-range-strip{grid-template-columns:repeat(4,minmax(0,1fr))}
  .ah-form-layout{grid-template-columns:1fr}
  .ah-index a{grid-template-columns:50px minmax(0,1fr) 110px}
  .ah-index .topic{display:none}
}
@media(max-width:700px){
  body.ah{font-size:16px}
  .ah-head h1,body.ah .hero-section .page-title{font-size:clamp(44px,12vw,64px);letter-spacing:-.06em}
  .ah-head .ah-lede{font-size:17px}
  body.ah .woo-listing-top{flex-direction:column;align-items:stretch}
  body.ah .woocommerce-ordering select{width:100%}
  body.ah ul.products{grid-template-columns:1fr;gap:44px}
  body.ah:is(.woocommerce-shop,.tax-product_cat,.post-type-archive-product) ul.products>li.product:first-child:nth-last-child(2n+1) figure{aspect-ratio:4/3}
  body.ah .product_title{font-size:clamp(38px,10.5vw,52px)}
  .ah-spec-head{grid-template-columns:1fr;padding-top:44px}
  .ah-spec-head p{justify-self:start}
  body.ah #tab-description td{display:block;width:auto!important;padding:4px 0 14px;border-bottom:1px solid var(--line)}
  body.ah #tab-description td:first-child{width:auto!important;padding-top:14px;border-bottom:0}
  body.ah #tab-description tr:has(>td:only-child) td{padding-top:44px}
  .ah-buy-help{grid-template-columns:1fr}
  .ah-paylater-band>div{grid-template-columns:1fr;padding:24px}
  body.ah table.cart td.product-thumbnail{display:none}
  body.ah table.shop_table_responsive tr td:before{color:var(--muted)}
  body.ah .woocommerce-billing-fields__field-wrapper,body.ah .woocommerce-shipping-fields__field-wrapper{grid-template-columns:1fr}
  body.ah .ct-order-review,body.ah .cart_totals{padding:22px}
  body.ah.woocommerce-account .u-columns{grid-template-columns:1fr}
  .ah-topics{grid-template-columns:1fr}
  .ah-qa{grid-template-columns:1fr;gap:12px}
  .ah-address{grid-template-columns:1fr}
  .ah-numbers{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ah-numbers>div{padding:20px 16px}
  .ah-timeline{grid-template-columns:1fr;border-top:0;border-left:1px solid var(--line-strong);margin-left:6px}
  .ah-timeline li{padding:0 0 26px 26px}
  .ah-timeline li:before{left:-7px;top:6px}
  .ah-timeline li:nth-child(n+5){border-top:0;margin-top:0}
  .ah-grid-2{grid-template-columns:1fr;gap:34px}
  .ah-offer{grid-template-columns:1fr}
  .ah-range-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ah-range-strip a:first-child{grid-column:1/-1}
  .ah-people{columns:1}
  .ah-places,.ah-reach{grid-template-columns:1fr}
  .ah-form .row{grid-template-columns:1fr}
  .ah-index a{grid-template-columns:34px minmax(0,1fr) 30px;gap:14px;padding:22px 0}
  .ah-index .go{font-size:0}
  .ah-index .go:after{font-size:22px}
  body.ah .a-hero-split,body.ah .a-article-front{grid-template-columns:1fr}
  body.ah .a-chapter{grid-template-columns:1fr}
  body.ah .a-chapter-no{position:static;font-size:64px;margin-bottom:14px}
  body.ah .aeo .stats{grid-template-columns:1fr}
  body.ah .aeo .stat{border-right:0;border-bottom:1px solid var(--line)}
  body.ah .aeo dl.rows>div,body.ah .aeo .sheet__specs>div{grid-template-columns:1fr;gap:4px}
  .ah-404{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){body.ah *,body.ah *:before,body.ah *:after{transition:none!important;animation:none!important}}

/* Blocksy off-canvas menu + search modal: replaced by the After Hours header */
body.ah #offcanvas,body.ah #search-modal{display:none!important}
html:has(body.ah){background:#151714}
/* Blocksy's page title (cart, checkout, account, plain pages) lines up with the content below it */
body.ah .hero-section[data-type="type-1"]{padding-top:clamp(44px,6vw,84px);padding-bottom:24px}
body.ah .hero-section[data-type="type-1"] .page-title,body.ah .entry-header .page-title{font:500 clamp(52px,6.4vw,104px)/.98 var(--display);letter-spacing:-.066em;margin:0}
body.ah .hero-section.is-width-constrained{width:auto!important;max-width:var(--shell)!important;margin-inline:auto!important}
/* Blocksy width-constrains these wrappers on its own; the shell handles width here */
body.ah .product-entry-wrapper.is-width-constrained,body.ah .woocommerce-tabs .is-width-constrained{width:auto!important;margin-inline:auto!important}
body.ah .product-entry-wrapper{max-width:var(--shell)!important}
body.ah .entry-summary{padding:0!important}
body.ah .woocommerce-ordering svg,body.ah .woocommerce-ordering .ct-sort-icon{display:none}
@media(max-width:1100px){body.ah:is(.woocommerce-shop,.tax-product_cat,.post-type-archive-product) ul.products>li.product:first-child:nth-last-child(3n+1),body.ah:is(.woocommerce-shop,.tax-product_cat,.post-type-archive-product) ul.products>li.product:first-child:nth-last-child(3n+2){align-items:flex-start;text-align:left}}
@media(max-width:700px){
  body.ah .woocommerce-tabs ul.tabs{flex-direction:row!important;gap:26px;overflow-x:auto}
  body.ah .woocommerce-tabs ul.tabs li{width:auto!important;border:0!important}
  body.ah .woocommerce-tabs ul.tabs li a{white-space:nowrap;padding:0 0 14px!important;text-align:left}
  .ah-reach b{font-size:18px;overflow-wrap:anywhere}
  .ah-reach>a,.ah-reach>div{padding:20px}
  /* header: brand + PayLater + Cart + Talk must fit 390px on one line */
  .nah .nav{gap:10px!important}
  .nah .nav nav{gap:12px!important;font-size:12px!important;white-space:nowrap}
  .nah .brand{font-size:34px!important;letter-spacing:-3.4px!important}
  .nah .nav-contact{padding:8px 11px!important;white-space:nowrap}
  .nah .nav-contact>span{margin-left:6px!important}
  .ah-cart-count{min-width:17px;height:17px;font-size:10px;margin-left:4px}
}
@media(max-width:380px){.nah .nav-contact>span{display:none}.nah .nav nav{gap:10px!important}.nah .brand{font-size:31px!important}}
@media(max-width:340px){.nah .nav nav>a[href*="paylater"]{display:none}}
body.ah #tab-description td:not(:only-child){width:auto!important}
body.ah #tab-description td:first-child:not(:only-child){width:36%!important}
body.ah section.related.is-width-constrained,body.ah section.up-sells.is-width-constrained{width:auto!important;max-width:var(--shell)!important;margin-inline:auto!important}
/* quantity stepper drawn in text, independent of the WooCommerce icon font */
body.ah .quantity{border:1px solid var(--line-strong);border-radius:4px;height:58px;background:var(--surface-2)}
body.ah .quantity .ct-increase:before,body.ah .quantity .ct-decrease:before{font-family:var(--display)!important;font-size:20px;color:var(--ink)}
body.ah .quantity .ct-increase:before{content:'+'!important}
body.ah .quantity .ct-decrease:before{content:'−'!important}
body.ah .quantity input.qty{background:transparent;border:0;color:var(--ink);font:500 18px/1 var(--display);min-height:0}

/* ---------- design review round 1 (22 Sep) ---------- */
/* headings: Blocksy redefines the font variable per heading level (Poppins); pin it back */
body.ah :is(h1,h2,h3,h4,h5,h6){--theme-font-family:var(--display)}
body.ah{--theme-form-selection-field-initial-color:var(--line-strong);--theme-form-selection-field-active-color:var(--lime)}
body.ah :is(input[type=checkbox],input[type=radio]){accent-color:var(--lime)}
body.ah #ship-to-different-address,body.ah #ship-to-different-address *{font:600 16px/1.4 var(--body)!important;letter-spacing:0!important}
/* sold-out label: a dark pill inside the photo panel */
body.ah ul.products li.product{position:relative}
body.ah .out-of-stock-badge{position:absolute;top:14px;left:14px;z-index:2;background:var(--bg);color:var(--ink);font:600 11px/1 var(--body);letter-spacing:.12em;padding:8px 11px;border-radius:30px;text-transform:uppercase}
/* one spec source on product pages: the description sheet. The "additional information"
   tab repeats shipping weight/size fields that contradict it (V6: 1 kg vs 786 g) - theme removes the tab */
body.ah .woocommerce-tabs ul.tabs,body.ah #tab-additional_information{display:none!important}
body.ah #tab-description{display:block!important}
/* related products: left edge of the page, and shown at every width */
body.ah section.related.ct-hidden-sm,body.ah section.related.ct-hidden-md{display:block!important}
/* shop paging as pills */
body.ah .ct-pagination{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0 40px;justify-content:flex-start}
body.ah .ct-pagination :is(a,span).page-numbers{display:inline-grid;place-items:center;min-width:46px;height:46px;padding:0 16px;border:1px solid var(--line-strong);border-radius:30px;font:500 15px/1 var(--display);color:var(--ink)}
body.ah .ct-pagination .page-numbers.current{background:var(--lime);border-color:var(--lime);color:var(--screen-ink)}
body.ah .ct-pagination a.page-numbers:hover{border-color:var(--lime);color:var(--lime)}
body.ah .ct-pagination>div{display:flex;gap:10px}
body.ah .woo-listing-top{margin-top:34px}
body.ah .tax-product_cat .ct-container,body.ah.post-type-archive-product .ct-container,body.ah.tax-product_cat .ct-container{padding-top:0!important}
/* article: "keep going" + site index + closing call */
body.ah .a-related>div{display:grid;border-top:1px solid var(--line);max-width:900px}
body.ah .a-related>div a,body.ah .a-site-index a{display:block;padding:18px 0;border-bottom:1px solid var(--line);font:500 20px/1.3 var(--display);letter-spacing:-.02em}
body.ah .a-related>div a:hover,body.ah .a-site-index a:hover{color:var(--lime)}
body.ah .aeo .a-cta{padding-bottom:30px}
body.ah .aeo .a-cta p{color:#dde1d4;max-width:68ch}
body.ah .aeo .btn{display:inline-flex;align-items:center;gap:30px;padding:15px 21px;border-radius:4px;background:var(--lime);color:var(--screen-ink)!important;font:600 14px/1.4 var(--body);margin-top:10px}
/* delivery/FAQ closing line reads as a contact line, not a footnote */
.ah-policy .ah-micro,.ah-qa-layout .ah-micro{font-size:15px;color:#dde1d4;border-left:3px solid var(--line-strong);padding-left:18px;margin-top:20px}
body.ah a[href^="tel:"]{white-space:nowrap}
/* PayLater: a framed projected screen, not the contact page's full-bleed band */
.ah-pl-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(40px,5vw,90px);align-items:center}
@media(max-width:1100px){.ah-pl-top{grid-template-columns:1fr}}
@media(max-width:700px){
  .ah-offer{grid-template-columns:1fr!important}
  /* phone header: keep Projectors (the way into the shop), drop PayLater; 40px tap height */
  .nah .nav nav>a:first-child{display:inline-block!important}
  .nah .nav nav>a[href*="paylater"]{display:none!important}
  .nah .nav nav>a:not(.nav-contact){padding-block:11px}
  .nah .footer-bottom{font-size:12px!important}
}
@media(max-width:400px){.nah .nav-contact>span{display:none}}
body.ah .ct-pagination .page-numbers{white-space:nowrap}

/* ---------- WordPress: forms rendered by WPForms (contact, PayLater) ---------- */
body.ah .wpforms-container{--wpforms-field-border-color:var(--line-strong);--wpforms-field-background-color:var(--surface-2);--wpforms-field-text-color:var(--ink);--wpforms-label-color:var(--muted);--wpforms-label-sublabel-color:var(--muted);--wpforms-button-background-color:var(--lime);--wpforms-button-text-color:var(--screen-ink);--wpforms-field-border-radius:4px;--wpforms-button-border-radius:4px;--wpforms-label-error-color:#ff8a7a;margin:0!important}
body.ah .ah-form-slot{background:var(--surface);padding:clamp(24px,3vw,40px)}
body.ah .wpforms-container .wpforms-field{padding:0 0 18px!important}
body.ah .wpforms-container .wpforms-field-label{font:500 13px/1.4 var(--body)!important;color:var(--muted)!important;margin:0 0 7px!important}
body.ah .wpforms-container .wpforms-field-sublabel{font-size:12px!important;color:var(--muted)!important}
body.ah .wpforms-container .wpforms-required-label{color:var(--muted)!important}
body.ah .wpforms-container :is(input[type=text],input[type=email],input[type=tel],input[type=number],select,textarea){width:100%!important;max-width:none!important;background:var(--surface-2)!important;color:var(--ink)!important;border:1px solid var(--line-strong)!important;border-radius:4px!important;font:400 16px/1.4 var(--body)!important;min-height:50px!important;padding:12px 14px!important;box-shadow:none!important}
body.ah .wpforms-container textarea{min-height:120px!important}
body.ah .wpforms-container :is(input,select,textarea):focus{border-color:var(--lime)!important;box-shadow:0 0 0 1px var(--lime)!important}
body.ah .wpforms-container .wpforms-field-checkbox li,body.ah .wpforms-container .wpforms-field-gdpr-checkbox li{display:flex;gap:12px;align-items:flex-start}
body.ah .wpforms-container .wpforms-field-checkbox label,body.ah .wpforms-container .wpforms-field-gdpr-checkbox label{font-size:13px!important;color:#cfd4c6!important}
body.ah .wpforms-container input[type=checkbox]{accent-color:var(--lime);width:20px;height:20px;margin-top:2px}
body.ah .wpforms-container .wpforms-submit-container{padding:6px 0 0!important}
body.ah .wpforms-container button.wpforms-submit{width:100%!important;min-height:58px!important;border:0!important;border-radius:4px!important;background:var(--lime)!important;color:var(--screen-ink)!important;font:600 15px/1 var(--body)!important;text-align:left!important;padding:0 24px!important}
body.ah .wpforms-container button.wpforms-submit:hover{background:#e0ffa0!important}
body.ah .wpforms-confirmation-container-full{background:var(--surface)!important;border:0!important;border-left:3px solid var(--lime)!important;color:var(--ink)!important}
body.ah .ah-page{padding-bottom:40px}
.ah-model-intro{margin:0 0 30px}
.ah-prose,.ah-qa div,.ah-policy section{overflow-wrap:anywhere}

/* ---------- glossary + shared article furniture (bodies carried from espg.com.my) ---------- */
body.ah .aeo .shell,body.ah .aeo .a-term-grid{max-width:var(--shell);margin-inline:auto;padding-inline:var(--gutter)}
body.ah .aeo .p-crumbs{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;color:var(--muted);margin-bottom:26px}
body.ah .aeo .a-review-date b{display:block;color:var(--ink);font-weight:600}
body.ah .a-term-nav{display:flex;flex-wrap:wrap;gap:10px;padding-top:30px;padding-bottom:10px}
body.ah .a-term-nav a{display:inline-flex;padding:9px 15px;border:1px solid var(--line-strong);border-radius:30px;font-size:13px;transition:border-color .2s,color .2s}
body.ah .a-term-nav a:hover{border-color:var(--lime);color:var(--lime)}
body.ah .aeo .p-glance{padding-top:clamp(56px,6vw,90px)}
body.ah .aeo .p-glance-intro{color:#dde1d4;max-width:68ch}
body.ah .aeo table:not(.a-lookup){width:100%;border-collapse:collapse;border:0!important;margin:0}
body.ah .aeo table:not(.a-lookup) caption{text-align:left;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding-bottom:14px;font-weight:600}
body.ah .aeo table:not(.a-lookup) :is(th,td){text-align:left!important;padding:15px 18px 15px 0;border:0!important;border-bottom:1px solid var(--line)!important;background:none!important;font-weight:400}
body.ah .aeo table:not(.a-lookup) thead th{font-size:13px;color:var(--muted);border-bottom:1px solid var(--line-strong)!important}
body.ah .aeo table:not(.a-lookup) tbody th{font:500 19px/1.25 var(--display);letter-spacing:-.02em;color:var(--ink)}
body.ah .aeo table:not(.a-lookup) td{font:400 16px/1.45 var(--body);color:#e6eadf}
body.ah .aeo table:not(.a-lookup) td:nth-child(2){font:500 18px/1.3 var(--display);color:var(--ink)}
body.ah .a-term-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border-block:1px solid var(--line);margin:clamp(56px,6vw,90px) var(--gutter) 0!important;padding:0!important;max-width:calc(var(--shell) - 2*var(--gutter))!important}
@media(min-width:1501px){body.ah .a-term-grid{margin-inline:auto!important}}
body.ah .a-term-card{background:var(--bg);padding:34px 34px 30px;scroll-margin-top:30px;display:flex;flex-direction:column}
body.ah .a-term-key{font-size:12px;letter-spacing:.15em;font-weight:600;color:var(--muted);text-transform:uppercase;margin:0 0 14px}
body.ah .a-term-card .h-md{font-size:clamp(28px,2.4vw,38px)!important;margin:0 0 14px!important}
body.ah .a-term-body>p{color:#dde1d4;margin:0 0 20px;font-size:16px}
body.ah .p-term-facts{margin:auto 0 0;border-top:1px solid var(--line-strong)}
body.ah .p-term-facts>div{display:grid;grid-template-columns:110px 1fr;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}
body.ah .p-term-facts dt{font:600 12px/1.6 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
body.ah .p-term-facts dd{margin:0;font-size:15px;color:#e6eadf}
body.ah .p-term-facts>div:first-child dd{font:500 18px/1.35 var(--display);color:var(--ink)}
body.ah .p-term-facts a,body.ah .a-site-index li a{text-decoration:underline;text-decoration-color:var(--lime-dim);text-underline-offset:3px}
body.ah .aeo section.close{padding-block:clamp(56px,6vw,100px)}
body.ah .aeo section.close .shell{text-align:left!important}
body.ah .aeo .lede{font-size:19px;color:#d6dbcc;max-width:60ch;margin:0 0 26px}
body.ah .aeo .hero__cta{display:flex;flex-wrap:wrap;gap:12px}
body.ah .aeo .btn{display:inline-flex;align-items:center;gap:20px;padding:15px 21px;border-radius:4px;font:600 14px/1.4 var(--body)}
body.ah .aeo .btn--light{background:var(--lime);color:var(--screen-ink)!important}
body.ah .aeo .btn--ghost{background:transparent;border:1px solid #ffffff55;color:var(--ink)!important}
body.ah .a-site-index ul{list-style:none;padding:0;margin:0;columns:2;column-gap:56px;border-top:1px solid var(--line)}
body.ah .a-site-index li{break-inside:avoid;padding:13px 0;border-bottom:1px solid var(--line);font-size:15px}
body.ah .a-site-index li a{font:400 15px/1.4 var(--body);display:inline;padding:0;border:0}
@media(max-width:900px){body.ah .a-term-grid{grid-template-columns:1fr}body.ah .a-site-index ul{columns:1}}
@media(max-width:700px){body.ah .a-term-card{padding:26px 0}body.ah .a-term-grid{margin-inline:var(--gutter)!important}body.ah .a-term-grid{background:none;gap:0}body.ah .a-term-card{border-bottom:1px solid var(--line)}
  body.ah .aeo table[data-stack] thead{display:none}body.ah .aeo table[data-stack] tr{display:block;padding:14px 0;border-bottom:1px solid var(--line)}
  body.ah .aeo table[data-stack] :is(th,td){display:block;border:0!important;padding:3px 0}
  body.ah .aeo table[data-stack] td:before{content:attr(data-label) ' · ';color:var(--muted);font:400 12px/1.4 var(--body)}
  body.ah .p-term-facts>div{grid-template-columns:1fr;gap:2px}}

/* ---------- model intro on projector product pages ---------- */
.ah-model{padding:clamp(56px,6vw,90px) 0 10px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px 64px;align-items:start}
.ah-model .ah-eyebrow{grid-column:1/-1;margin:0}
.ah-model h2{font:500 clamp(40px,4vw,62px)/1.05 var(--display);letter-spacing:-.05em;margin:0}
.ah-model-answer{grid-column:1;font-size:19px;line-height:1.55;color:#e6eadf;border-left:3px solid var(--lime);padding-left:24px}
.ah-model-answer p{margin:0}
.ah-keyfacts{grid-column:2;grid-row:2/4;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin:0}
.ah-keyfacts>div{background:var(--bg);padding:18px 20px}
.ah-keyfacts dt{font-size:12px;color:var(--muted);margin-bottom:6px}
.ah-keyfacts dd{margin:0;font:500 clamp(22px,2vw,30px)/1.1 var(--display);letter-spacing:-.04em}
.ah-model-guides{grid-column:1;display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center;margin-top:8px}
.ah-model-guides span{font-size:11px;letter-spacing:.15em;font-weight:600;color:var(--muted);text-transform:uppercase;margin-right:6px}
.ah-model-guides a{padding:8px 13px;border:1px solid var(--line-strong);border-radius:30px;font-size:13px}
.ah-model-guides a:hover{border-color:var(--lime);color:var(--lime)}
@media(max-width:900px){.ah-model{grid-template-columns:1fr}.ah-model-answer,.ah-keyfacts,.ah-model-guides{grid-column:1;grid-row:auto}}
@media(max-width:700px){.ah-model-answer{font-size:17px;padding-left:18px}.ah-keyfacts dd{font-size:21px}}
@media(max-width:700px){body.ah #tab-description td:first-child:not(:only-child){width:auto!important;border-bottom:0!important}}

/* ======================= review round 2 (22 Sep) ======================= */
/* structural lines at >=3:1 on inner pages (the locked homepage keeps its own values) */
body.ah:not(.home){--line:#5f6a50;--line-strong:#7c8868;--theme-form-field-border-initial-color:#7c8868;--theme-border-color:#5f6a50}
body.ah .wpforms-container :is(input[type=text],input[type=email],input[type=tel],input[type=number],select,textarea){border-color:#7c8868!important}
body.ah .ah-form-slot,.ah-form{border:1px solid #5f6a50}
body.ah .wpforms-container .wpforms-field-checkbox li{min-height:44px;align-items:center}
body.ah .wpforms-container input[type=checkbox]{width:24px!important;height:24px!important;flex:0 0 24px}
body.ah .wpforms-container .wpforms-field-checkbox label{cursor:pointer;padding:8px 0}
@media(max-width:600px){body.ah .wpforms-container .wpforms-one-half{width:100%!important;margin-left:0!important;float:none!important}
  body.ah .wpforms-container .wpforms-field-row-block{width:100%!important;padding:0!important;margin-bottom:12px!important}}

/* the quotable answer every page leads with */
.ah-answer{border-left:3px solid var(--lime);padding:2px 0 2px 24px;margin:0;max-width:62ch}
.ah-answer p{margin:0;font-size:19px;line-height:1.55;color:#e6eadf}
.ah-head .ah-answer{grid-column:1/-1;margin-top:10px}
@media(max-width:700px){.ah-answer{padding-left:18px}.ah-answer p{font-size:17px}}
.ah-head-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);align-self:end}
.ah-head-facts>div{background:var(--bg);padding:16px 18px}
.ah-head-facts b{display:block;font:500 clamp(28px,2.6vw,40px)/1 var(--display);letter-spacing:-.05em;margin-bottom:6px}
.ah-head-facts span{font-size:13px;color:var(--muted)}

/* company: the record stat */
.ah-record{display:grid;grid-template-columns:auto minmax(0,1fr);gap:24px 48px;align-items:center;padding:34px;border:1px solid var(--line);background:linear-gradient(90deg,#d5f77b0f,transparent 55%)}
.ah-record b{font:500 clamp(64px,8vw,120px)/.9 var(--display);letter-spacing:-.07em}
.ah-record p{margin:0;color:#dde1d4;max-width:56ch}
.ah-record small{display:block;margin-top:10px;font-size:13px;color:var(--muted)}
@media(max-width:700px){.ah-record{grid-template-columns:1fr;padding:24px}}
.ah-people{columns:1!important}
.ah-people li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:12px;align-items:baseline}
@media(max-width:700px){.ah-people li{grid-template-columns:1fr;gap:2px}}
.ah-h3{font:500 clamp(24px,2.2vw,32px)/1.15 var(--display);letter-spacing:-.04em;margin:0 0 14px}

/* delivery: a journey, not the FAQ's rail */
.ah-journey{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:2px solid var(--lime)}
.ah-journey li{position:relative;padding:28px 24px 0 0}
.ah-journey li:before{content:'';position:absolute;top:-7px;left:0;width:12px;height:12px;border-radius:50%;background:var(--lime)}
.ah-journey b{display:block;font:500 clamp(30px,3vw,46px)/1 var(--display);letter-spacing:-.05em;margin-bottom:10px}
.ah-journey span{display:block;font-size:14px;color:#cfd4c6;max-width:24ch}
.ah-journey em{display:block;font-style:normal;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
@media(max-width:900px){.ah-journey{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:30px}}
@media(max-width:600px){.ah-journey{grid-template-columns:1fr;border-top:0;border-left:2px solid var(--lime);margin-left:6px}.ah-journey li{padding:0 0 26px 24px}.ah-journey li:before{top:4px;left:-7px}}
.ah-cards2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.ah-cards2>section{background:var(--bg);padding:30px 32px;margin:0!important;border:0!important}
.ah-cards2 h2{display:flex;gap:18px;align-items:center;font:500 26px/1.2 var(--display);letter-spacing:-.035em;margin:0 0 16px}
@media(max-width:800px){.ah-cards2{grid-template-columns:1fr}.ah-cards2>section{padding:24px 20px}}

/* long legal pages: numbered eyebrow + sentence-case title, real lists, phone index */
.ah-policy h2 small{display:block;font:600 12px/1.5 var(--body);letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.ah-policy h2 .t{display:block}
.ah-policy h3{font:500 21px/1.3 var(--display);letter-spacing:-.02em;margin:26px 0 10px}
.ah-prose ol,.ah-prose ul{margin:0 0 1.1em;padding-left:1.3em;color:#dde1d4}
.ah-prose li{margin:0 0 .45em}
.ah-prose li::marker{color:var(--muted)}
.ah-toc-phone{display:none;border:1px solid var(--line);margin-bottom:34px}
.ah-toc-phone summary{cursor:pointer;padding:16px 18px;font:500 18px/1.2 var(--display);list-style:none;display:flex;justify-content:space-between}
.ah-toc-phone summary::-webkit-details-marker{display:none}
.ah-toc-phone summary:after{content:'+';color:var(--lime)}
.ah-toc-phone[open] summary:after{content:'\2212'}
.ah-toc-phone nav{padding:0 18px 14px}
.ah-toc-phone a{display:block;padding:9px 0;border-top:1px solid var(--line);font-size:14px}
@media(max-width:1100px){.ah-toc-phone{display:block}}
.ah-policy-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:10px}
.ah-policy-summary>div{background:var(--bg);padding:22px;display:flex;gap:16px;align-items:flex-start}
.ah-policy-summary b{display:block;font:500 18px/1.25 var(--display);margin-bottom:4px}
.ah-policy-summary span{font-size:14px;color:#cfd4c6}
@media(max-width:900px){.ah-policy-summary{grid-template-columns:1fr}}

/* guides hub: cards with an icon and the guide's own answer */
.ah-guide-group{margin:0 0 56px}
.ah-guide-group>h2{font:500 clamp(30px,3vw,44px)/1.1 var(--display);letter-spacing:-.045em;margin:0 0 22px}
.ah-guides{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.ah-guides>a{background:var(--bg);padding:28px 30px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 20px;transition:background .25s}
.ah-guides>a:last-child:nth-child(odd){grid-column:1/-1}
.ah-guides>a:hover{background:#d5f77b0a}
.ah-guides>a .ah-ico{grid-row:1/4}
.ah-guides strong{font:500 23px/1.2 var(--display);letter-spacing:-.035em}
.ah-guides>a:hover strong{color:var(--lime)}
.ah-guides p{margin:0;font-size:15px;color:#cfd4c6}
.ah-guides em{font-style:normal;font-size:13px;color:var(--lime)}
.ah-guides em:after{content:'  \2197\FE0E'}
@media(max-width:800px){.ah-guides{grid-template-columns:1fr}.ah-guides>a{padding:22px 18px}}
.ah-bleed figcaption,.ah-figure figcaption{font-size:12px}

/* product pages */
body.ah .ct-product-gallery-container{position:relative}
body.ah .ct-product-gallery-container:before{content:'';position:absolute;left:-8px;right:-8px;top:-8px;aspect-ratio:1;pointer-events:none;z-index:3;background:var(--cross) left top/15px no-repeat,var(--cross) right top/15px no-repeat,var(--cross) left bottom/15px no-repeat,var(--cross) right bottom/15px no-repeat}
.ah-crumbline{font-size:12px;color:var(--muted);letter-spacing:.04em;margin:0 0 14px;display:flex;gap:10px;flex-wrap:wrap}
.ah-crumbline a:hover{color:var(--lime)}
.ah-summary-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin:26px 0 0}
.ah-summary-facts>div{background:var(--bg);padding:14px 16px}
.ah-summary-facts dt{font-size:12px;color:var(--muted);margin-bottom:4px}
.ah-summary-facts dd{margin:0;font:500 21px/1.15 var(--display);letter-spacing:-.03em}
.ah-assure{display:flex;gap:14px;align-items:flex-start;margin-top:16px;padding:14px 0 0;border-top:1px solid var(--line);font-size:14px;color:#cfd4c6}
.ah-assure a{text-decoration:underline;text-decoration-color:var(--lime-dim);text-underline-offset:3px}
.ah-model-guides{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ah-model-guides span{grid-column:1/-1}
.ah-model-guides a{border-radius:4px!important;padding:12px 14px!important}
@media(max-width:600px){.ah-model-guides{grid-template-columns:1fr}}
.ah-model-device{grid-column:2;grid-row:2/4;border:1px solid var(--line);padding:22px 24px;display:flex;flex-direction:column;gap:14px;align-self:start}
.ah-model-device h3{font:500 22px/1.2 var(--display);letter-spacing:-.03em;margin:0}
.ah-model-device p{margin:0;font-size:14px;color:#cfd4c6}
.ah-runtime{display:grid;gap:10px}
.ah-runtime div{display:grid;grid-template-columns:130px minmax(0,1fr) 70px;gap:12px;align-items:center;font-size:13px}
.ah-runtime i{display:block;height:10px;background:var(--lime);border-radius:5px}
.ah-runtime b{font:500 16px/1 var(--display);text-align:right}
.ah-big{font:500 clamp(54px,5vw,80px)/.95 var(--display);letter-spacing:-.06em}
@media(max-width:900px){.ah-model-device{grid-column:1;grid-row:auto}}
@media(max-width:600px){.ah-runtime div{grid-template-columns:96px minmax(0,1fr) 60px}}
body.ah.single-product section.related ul.products{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:40px 24px}
body.ah section.related li.product .woocommerce-loop-product__title{font-size:20px}
body.ah ul.products li.product .button{min-height:44px;padding:12px 18px}
@media(max-width:1100px){body.ah.single-product section.related ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:600px){body.ah.single-product section.related ul.products{gap:30px 14px}body.ah section.related li.product .woocommerce-loop-product__title{font-size:16px}body.ah section.related li.product .price{font-size:14px}}
body.ah .ct-product-gallery-container .flexy-item img{object-fit:contain}
body.ah .ct-product-gallery-container .flexy-item .ct-media-container{padding:4%}

/* ---- round 2, part b ---- */
.ah-cta-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:34px;padding-top:26px;border-top:1px solid var(--line)}
.ah-cta-row .ah-micro{flex:1 1 100%;margin:0 0 6px;font-size:15px;color:#dde1d4;border:0;padding:0}
.ah-reach4{grid-template-columns:repeat(4,minmax(0,1fr))!important}
@media(max-width:1100px){.ah-reach4{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:600px){.ah-reach4{grid-template-columns:1fr!important}}
.ah-reach b{font-size:clamp(17px,1.5vw,21px)}
.ah-models a{align-items:baseline}
.ah-models a b{font-size:13px}
@media(min-width:1101px){.ah-sticky{position:sticky;top:30px}}
.ah-pl-top{align-items:start}
body.ah .a-term-key{display:flex;align-items:center;gap:14px}
body.ah .a-term-key .ah-ico{width:40px;height:40px}
body.ah .a-term-key .ah-ico svg{width:20px;height:20px}
body.ah .aeo section.close .h-lg{font-size:clamp(34px,3.4vw,54px)!important}
body.ah .aeo h1.h-lg span{color:var(--lime)}
.ah-head>div:empty{display:none}
.ah-head .ah-head-facts{grid-column:2;grid-row:3}
@media(max-width:1100px){.ah-head .ah-head-facts{grid-column:1;grid-row:auto}}
.ah-range-strip span small{margin-top:2px}

/* ---- article furniture carried from espg.com.my (every class a body uses must be styled) ---- */
body.ah .aeo :is(.a-artifact-flow,.a-artifact-stack,.a-checklist){list-style:none;margin:26px 0;padding:0;border-top:1px solid var(--line-strong);counter-reset:af;max-width:820px}
body.ah .aeo :is(.a-artifact-flow,.a-artifact-stack,.a-checklist)>li{counter-increment:af;position:relative;padding:15px 0 15px 44px;border-bottom:1px solid var(--line);color:#dde1d4;font-size:16px}
body.ah .aeo :is(.a-artifact-flow,.a-artifact-stack,.a-checklist)>li:before{content:counter(af,decimal-leading-zero);position:absolute;left:0;top:16px;font:500 13px/1.6 var(--display);color:var(--muted)}
body.ah .aeo .a-artifact-flow>li{display:grid;grid-template-columns:minmax(120px,.3fr) minmax(0,1fr);gap:4px 20px}
body.ah .aeo .a-artifact-flow>li b,body.ah .aeo .a-artifact-stack>li b{font:500 17px/1.4 var(--display);color:var(--ink);margin-right:8px}
@media(max-width:600px){body.ah .aeo .a-artifact-flow>li{grid-template-columns:1fr}}
body.ah .aeo .a-evidence-marker{font-size:14px;color:var(--muted);border-left:2px solid var(--line-strong);padding-left:16px;margin:18px 0}
body.ah .aeo .a-evidence-marker a,body.ah .aeo .p-src a{text-decoration:underline;text-decoration-color:var(--lime-dim);text-underline-offset:3px;margin-right:4px}
body.ah .aeo .p-src{display:block;margin-top:8px;font-size:13px;color:var(--muted)}
body.ah .aeo .p-act{margin:30px 0;padding:24px 28px;border-left:3px solid var(--lime);background:var(--surface);max-width:820px}
body.ah .aeo .p-act blockquote{margin:0}
body.ah .aeo .p-act blockquote p{font:400 19px/1.5 var(--display);color:var(--ink);margin:0 0 12px}
body.ah .aeo .p-act cite{font-style:normal;font-size:13px;color:var(--muted)}
body.ah .aeo .p-act cite a{text-decoration:underline;text-underline-offset:3px}
body.ah .aeo .p-hero-split{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:start}
@media(max-width:700px){body.ah .aeo .p-hero-split{grid-template-columns:1fr}}
body.ah .aeo .p-keep-note{display:block;margin-top:6px;font-size:13px;color:var(--lime)}
body.ah .aeo :is(.nw,.p-nowrap){white-space:nowrap}
body.ah .aeo .places{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin:26px 0;max-width:900px}
body.ah .aeo .places:has(>.place:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
body.ah .aeo .place{background:var(--bg);padding:20px 22px}
body.ah .aeo .place .tag{display:inline-block;font:600 11px/1.6 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
body.ah .aeo .place__name{display:block;font:500 21px/1.2 var(--display);letter-spacing:-.03em;margin-bottom:8px}
body.ah .aeo .place p{margin:0 0 6px;font-size:14px;color:#cfd4c6}
@media(max-width:700px){body.ah .aeo .places{grid-template-columns:1fr!important}}
/* the classroom room plan: line art on the dark ground */
body.ah .aeo .pl-figure{margin:34px 0;padding:22px;border:1px solid var(--line);background:var(--surface-2);max-width:900px}
body.ah .aeo .pl-scroll{overflow-x:auto}
body.ah .aeo .pl-plan{display:block;width:100%;min-width:560px;height:auto;font-family:var(--body)}
body.ah .aeo .pl-room{fill:none;stroke:var(--line-strong);stroke-width:2}
body.ah .aeo .pl-image{stroke:var(--lime);stroke-width:5}
body.ah .aeo .pl-board{stroke:var(--muted);stroke-width:5}
body.ah .aeo .pl-cone{fill:#d5f77b1f;stroke:#d5f77b66}
body.ah .aeo .pl-proj{fill:var(--surface);stroke:var(--ink);stroke-width:1.5}
body.ah .aeo .pl-dim{stroke:var(--muted);stroke-width:1.2}
body.ah .aeo .pl-seat{fill:none;stroke:#7c8868;stroke-width:1.2}
body.ah .aeo .pl-seat--key{fill:#d5f77b26;stroke:var(--lime)}
body.ah .aeo .pl-teacher{fill:var(--lime)}
body.ah .aeo :is(.pl-door,.pl-socket){fill:none;stroke:var(--ink);stroke-width:1.5}
body.ah .aeo .pl-cable{fill:none;stroke:#f0d36b;stroke-width:1.5;stroke-dasharray:5 4}
body.ah .aeo .pl-t{fill:#cfd4c6;font-size:14px;letter-spacing:.06em}
body.ah .aeo .pl-t--hi{fill:var(--lime);font-size:15px;font-weight:600}
body.ah .aeo .pl-t--minor{fill:var(--muted);font-size:12px}
body.ah .aeo .pl-figure figcaption{font-size:13px;color:var(--muted);margin-top:14px}
body.ah .aeo .a-hero-main{min-width:0}
body.ah .aeo .a-byline b,body.ah .aeo .a-method-note b{color:var(--ink)}
body.ah .aeo table.p-keep caption{text-align:left}

/* ---- design round 2 findings (22 Sep) ---- */
.ah-policy h2{flex-direction:column;align-items:flex-start!important;gap:4px!important}
.ah-policy h2:has(.ah-ico){flex-direction:row;align-items:center!important;gap:18px!important}
.ah-model-device p.ah-big{font:500 clamp(54px,5vw,80px)/.95 var(--display);letter-spacing:-.06em;color:var(--ink);margin:0}
body.ah .ct-product-gallery-container:before{display:none}
body.ah .ct-product-gallery-container .flexy-view{overflow:visible!important}
body.ah .ct-product-gallery-container .flexy-view>.flexy-items{overflow:hidden}
body.ah .ct-product-gallery-container .flexy-view:after{inset:-8px!important;z-index:4}
body.ah .ct-product-gallery-container .flexy-item .ct-media-container{padding:0!important;background:transparent!important}
body.ah .ct-product-gallery-container .flexy-item img{mix-blend-mode:multiply;background:transparent}
/* stat bands sized by their count; figures in ink (lime is for things you press) */
body.ah .aeo .stats:has(>.stat:nth-child(4):last-child){grid-template-columns:repeat(4,minmax(0,1fr))}
body.ah .aeo .stats:has(>.stat:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:700px){body.ah .aeo .stats:has(>.stat:nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
  body.ah .aeo .stats:has(>.stat:nth-child(4):last-child)>.stat{border-bottom:1px solid var(--line)}}
body.ah .aeo .stat:last-child b,body.ah .aeo .sheet__specs dd{color:var(--ink)}
body.ah .aeo .stat:last-child{background:var(--surface)}
/* body-text links look like links */
:is(.ah-qa,.ah-cards2,.ah-policy,.ah-prose,.ah-place,.ah-answer) a:not(.nah-btn){text-decoration:underline;text-decoration-color:var(--lime-dim);text-underline-offset:3px}
:is(.ah-qa,.ah-cards2,.ah-policy,.ah-prose,.ah-place,.ah-answer) a:not(.nah-btn):hover{color:var(--lime)}
.ah-rail a{text-decoration:none!important}
/* compact data tables on phones */
@media(max-width:600px){body.ah .aeo .a-lookup :is(th,td){padding:10px 10px 10px 0;font-size:14px}
  body.ah .aeo .a-lookup tbody th{font-size:16px}
  body.ah .aeo .a-table-wrap{margin-inline:calc(-1 * var(--gutter));padding-inline:var(--gutter)}}
/* article lead image */
body.ah .aeo figure.ah-lead{margin:0;padding:0}
body.ah .aeo figure.ah-lead img{display:block;width:100%;height:clamp(260px,34vw,480px);object-fit:cover}
body.ah .aeo figure.ah-lead figcaption{max-width:var(--shell);margin:10px auto 0;padding-inline:var(--gutter);font-size:12px;color:var(--muted)}
/* headings added inside article chapters and FAQ accordions */
body.ah .a-article-faq summary h3{font:inherit;margin:0;letter-spacing:inherit}
body.ah .a-chapter h3{font:500 clamp(22px,2vw,28px)/1.2 var(--display);letter-spacing:-.03em;margin:30px 0 12px;color:var(--ink)}
/* design round-2 article findings */
body.ah .aeo .a-chapter>div:last-child,body.ah .aeo .pl-figure{min-width:0}
body.ah .aeo .pl-cable{stroke:var(--muted)}
body.ah .aeo h1 .nw,body.ah .aeo h1 .p-nowrap{color:inherit}
body.ah .aeo .p-keep-note{color:var(--muted)}
body.ah .aeo table:not(.a-lookup) :is(th,td){padding-left:0}
body.ah .aeo table{border:0!important}body.ah .aeo table :is(th,td){border-left:0!important;border-right:0!important;border-top:0!important}

/* site-articles.css */
/* site-articles.css: round-3 cycle fixes (23 Sep 2026). Owned by one workstream only. */

/* 1. Stray space before punctuation after links in notes and Sources ('Q1 , C2000'): the links carried a right margin. */
body.ah .a-sources li a,body.ah .aeo .a-sources li a,body.ah .aeo .a-evidence-marker a,body.ah .aeo .p-src a{margin-right:0}

/* 2. Tables whose value columns must carry equal weight: the row label is the strong column, no value column is
      set in bold display type (site.css makes td:nth-child(2) the heavy one). Opt-in per table with data-even. */
body.ah .aeo table[data-even]:not(.a-lookup) td,
body.ah .aeo table[data-even]:not(.a-lookup) td:nth-child(2){font:400 16px/1.45 var(--body);color:#e6eadf;letter-spacing:0}
body.ah .aeo table[data-even]:not(.a-lookup) tbody th{font:500 19px/1.25 var(--display);letter-spacing:-.02em;color:var(--ink)}
@media(max-width:700px){body.ah .aeo table[data-even][data-stack] tbody th{font-size:18px;padding-bottom:6px}}

/* 3. A table that breaks out of the ~820px text column like a figure (desktop only). */
@media(min-width:1200px){
  body.ah .aeo .a-chapter>div:last-child:has(>.a-table-wrap.a-wide){max-width:none}
  body.ah .aeo .a-chapter>div:last-child:has(>.a-table-wrap.a-wide)>:not(.a-wide){max-width:820px}
}

/* 4. Plan-view diagrams: labels in ink, lime kept for the image-area bar only. */
body.ah .aeo .pl-t--hi{fill:var(--ink)}
body.ah .aeo .pl-seat--key{fill:#f4f5ed14;stroke:var(--ink)}
body.ah .aeo .pl-teacher{fill:var(--ink)}
body.ah .aeo .pl-cone{fill:#f4f5ed0d;stroke:#f4f5ed40}
body.ah .aeo .pl-num{fill:var(--bg);stroke:var(--ink);stroke-width:1.2}
body.ah .aeo .pl-num-t{fill:var(--ink);font:600 12px var(--display);letter-spacing:0}
body.ah .aeo .pl-window{stroke:var(--muted);stroke-width:5;stroke-dasharray:14 6}
body.ah .aeo .pl-legend{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 22px;font-size:13px;color:var(--muted)}
body.ah .aeo .pl-legend li{display:flex;gap:10px;align-items:baseline}
body.ah .aeo .pl-legend b{font:600 12px/1.6 var(--display);color:var(--ink);border:1px solid var(--ink);border-radius:50%;min-width:22px;height:22px;display:inline-grid;place-items:center}
@media(max-width:700px){body.ah .aeo .pl-legend{grid-template-columns:1fr}}

/* 5. The throw diagram as a full-column exhibit: line art in SVG, labels as HTML in the small label style,
      so they stay 12px at every width instead of scaling with the drawing. */
body.ah .aeo .a-throw-figure{max-width:none;margin:34px 0;padding:24px}
body.ah .aeo .tf-stage{position:relative;aspect-ratio:2.6/1;margin:0}
body.ah .aeo .tf-stage svg{position:absolute;inset:0;width:100%;height:100%;display:block}
body.ah .aeo .tf-stage :is(line,polygon,rect){vector-effect:non-scaling-stroke}
body.ah .aeo .tf-stage .tf-lens{fill:var(--ink)}
body.ah .aeo .tf-stage .tf-beam{fill:#f4f5ed0d;stroke:#f4f5ed40}
body.ah .aeo .tf-stage .tf-dim{stroke:var(--muted);stroke-width:1}
body.ah .aeo .tf-stage .tf-screen{stroke:var(--lime);stroke-width:4}
body.ah .aeo .tf-label{position:absolute;margin:0;font:600 12px/1.35 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
body.ah .aeo .tf-label b{display:block;font:500 17px/1.2 var(--display);letter-spacing:-.02em;text-transform:none;color:var(--ink)}
body.ah .aeo .tf-at-width{right:0;top:0;text-align:right}
body.ah .aeo .tf-at-dist{left:50%;bottom:0;transform:translateX(-50%);text-align:center}
body.ah .aeo .tf-at-lens{left:0;top:66%}
body.ah .aeo .a-throw-figure figcaption{font-size:13px}
@media(max-width:700px){
  body.ah .aeo .a-throw-figure{padding:16px}
  body.ah .aeo .tf-stage{aspect-ratio:1.25/1}
  body.ah .aeo .tf-label b{font-size:15px}
}

/* 6. Hero balance: the method note can sit under the lede when the takeaways panel runs long. */
body.ah .aeo .a-hero-note{margin:26px 0 0 29px;padding-top:16px;border-top:1px solid var(--line);font-size:13px;color:var(--muted);line-height:1.6;max-width:62ch}
body.ah .aeo .a-hero-note b{display:block;color:var(--ink);font-weight:600;margin-bottom:4px}
@media(max-width:700px){body.ah .aeo .a-hero-note{margin-left:0}}

/* 7. 'Keep:' notes in ownership rows stay muted (lime is for things you press). */
body.ah .aeo dl.rows .p-keep-note{color:var(--muted)}

/* ---- round 3b (23 Sep): second-round fixes ---- */
/* 8. Plan diagrams: a landscape drawing on desktop and a portrait drawing on phones, so no label renders under 12px and
      nothing is cut off. The wide drawing may break the text column like a figure. */
body.ah .aeo .pl-plan--tall{display:none}
@media(max-width:600px){
  body.ah .aeo .pl-plan{min-width:0}
  body.ah .aeo .pl-plan--wide{display:none}
  body.ah .aeo .pl-plan--tall{display:block}
  body.ah .aeo .pl-figure{padding:14px}
}
body.ah .aeo .pl-plan--tall .pl-t{font-size:17px}
body.ah .aeo .pl-plan--tall .pl-t--hi{font-size:18px}
body.ah .aeo .pl-plan--tall .pl-t--minor{font-size:16px}
body.ah .aeo .pl-plan--tall .pl-num-t{font-size:16px}
body.ah .aeo .pl-tape{stroke:var(--ink);stroke-width:1.4;stroke-dasharray:2 5}
@media(min-width:1200px){
  body.ah .aeo .a-chapter>div:last-child:has(>.pl-figure.a-wide){max-width:none}
  body.ah .aeo .a-chapter>div:last-child:has(>.pl-figure.a-wide)>:not(.a-wide){max-width:820px}
  body.ah .aeo .pl-figure.a-wide{max-width:1120px}
}
/* the room-brief rows carry the numbers drawn on the plan */
body.ah .aeo dl.rows[data-substance="room-brief"]{counter-reset:rb}
body.ah .aeo dl.rows[data-substance="room-brief"] dt{counter-increment:rb;display:flex;gap:10px;align-items:baseline}
body.ah .aeo dl.rows[data-substance="room-brief"] dt:before{content:counter(rb);font:600 12px/20px var(--display);color:var(--ink);border:1px solid var(--ink);border-radius:50%;min-width:22px;height:22px;text-align:center;flex-shrink:0}

/* 9. Pull-quote: the note line aligns with the quote and citation. */
body.ah .aeo .p-act blockquote{padding:0!important;border:0!important;margin:0!important;background:none!important}
body.ah .aeo .p-act figcaption{margin:10px 0 0;padding:0;font-size:13px;color:var(--muted)}

/* 10. Eight chapter chips fit one row at desktop width. */
@media(min-width:1200px){
  body.ah .aeo .a-page-route:has(>a:nth-child(8)){gap:8px;flex-wrap:nowrap}
  body.ah .aeo .a-page-route:has(>a:nth-child(8))>a{padding:9px 12px;white-space:nowrap}
}

/* 11. Site index as a compact card grid instead of a second underlined link list (opt-in: data-cards). */
body.ah .aeo .a-site-index[data-cards] ul{columns:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;background:none;border:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
body.ah .aeo .a-site-index[data-cards] li{background:var(--bg);padding:0;margin:0;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
body.ah .aeo .a-site-index[data-cards] li a{display:block;height:100%;padding:14px 18px;font-size:14px;line-height:1.4;text-decoration:none;color:#dde1d4}
body.ah .aeo .a-site-index[data-cards] li a:hover{color:var(--lime)}
@media(max-width:900px){body.ah .aeo .a-site-index[data-cards] ul{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.ah .aeo .a-site-index[data-cards] ul{grid-template-columns:1fr}}

/* 12. Horizontal bar exhibit (published runtimes, timelines): figures in ink, no lime.
      Each bar row = value label, then a track holding the bar; the axis lines up with the tracks. */
body.ah .aeo .a-bars{margin:34px 0;padding:24px;border:1px solid var(--line);background:var(--surface-2)}
body.ah .aeo .a-bars-title{margin:0 0 18px;font:600 12px/1.4 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
body.ah .aeo .a-bars-group{display:grid;grid-template-columns:110px minmax(0,1fr);gap:6px 18px;padding:14px 0;border-top:1px solid var(--line);align-items:center}
body.ah .aeo .a-bars-group>b{font:500 19px/1.2 var(--display);color:var(--ink);grid-row:span 3;align-self:start}
body.ah .aeo .a-bars-group>.a-bar{grid-column:2}
body.ah .aeo .a-bar{display:grid;grid-template-columns:128px minmax(0,1fr);gap:12px;align-items:center;min-height:22px}
body.ah .aeo .a-bar>span{font-size:13px;color:#dde1d4;white-space:nowrap}
body.ah .aeo .a-track{display:flex;height:16px}
body.ah .aeo .a-track>i{display:block;height:100%;background:var(--ink)}
body.ah .aeo .a-track>i.k1,body.ah .aeo .a-bars-key i.k1{opacity:1}
body.ah .aeo .a-track>i.k2{opacity:.6}
body.ah .aeo .a-track>i.k3{opacity:.35}
body.ah .aeo .a-track>i.off{background:none}
body.ah .aeo .a-track>i.open{background:repeating-linear-gradient(90deg,var(--ink) 0 10px,transparent 10px 16px)}
body.ah .aeo .a-bars-axis{display:flex;justify-content:space-between;margin:8px 0 0 268px;font-size:12px;color:var(--muted);border-top:1px solid var(--line-strong);padding-top:6px}
body.ah .aeo .a-bars-key{display:flex;flex-wrap:wrap;gap:8px 20px;margin:16px 0 0;padding:0;list-style:none;font-size:13px;color:var(--muted)}
body.ah .aeo .a-bars-key li{display:flex;align-items:center;gap:8px}
body.ah .aeo .a-bars-key i{display:inline-block;width:22px;height:12px;background:var(--ink)}
body.ah .aeo .a-bars-key i.k2{opacity:.6}
body.ah .aeo .a-bars-key i.k3{opacity:.35}
body.ah .aeo .a-bars-key i.open{background:repeating-linear-gradient(90deg,var(--ink) 0 6px,transparent 6px 10px)}
body.ah .aeo .a-bars figcaption{margin-top:14px;font-size:13px;color:var(--muted)}
body.ah .aeo .a-bars--time .a-bars-group{grid-template-columns:180px minmax(0,1fr)}
body.ah .aeo .a-bars--time .a-bars-group>b{grid-row:auto;align-self:center;font-size:16px}
body.ah .aeo .a-bars--time .a-bars-axis{margin-left:338px}
@media(max-width:600px){
  body.ah .aeo .a-bars{padding:16px}
  body.ah .aeo .a-bars-group,body.ah .aeo .a-bars--time .a-bars-group{grid-template-columns:minmax(0,1fr)}
  body.ah .aeo .a-bars-group>b{grid-row:auto}
  body.ah .aeo .a-bars-group>.a-bar{grid-column:1}
  body.ah .aeo .a-bar{grid-template-columns:104px minmax(0,1fr);gap:10px}
  body.ah .aeo .a-bars-axis,body.ah .aeo .a-bars--time .a-bars-axis{margin-left:114px}
}

/* 13. State marks for the session-coverage grid (one family: full, half, ring, plug). */
body.ah .aeo .a-state{display:inline-block;width:12px;height:12px;border-radius:50%;border:1.5px solid var(--ink);margin-right:8px;vertical-align:-1px}
body.ah .aeo .a-state--ok{background:var(--ink)}
body.ah .aeo .a-state--tight{background:linear-gradient(90deg,var(--ink) 50%,transparent 50%)}
body.ah .aeo .a-state--edge{background:transparent}
body.ah .aeo .a-state--plug{border-radius:2px;border-style:dashed}
body.ah .aeo .a-state-key{display:flex;flex-wrap:wrap;gap:8px 22px;list-style:none;margin:0 0 26px;padding:0;font-size:13px;color:var(--muted)}

/* 14. Icons from the site family inside article cards and step lists. */
body.ah .aeo .place .ah-ico,body.ah .aeo .a-artifact-flow .ah-ico{width:40px;height:40px;margin:0 0 12px}
body.ah .aeo .place .ah-ico{display:grid;margin:8px 0 16px 8px}
body.ah .aeo .place .ah-ico svg,body.ah .aeo .a-artifact-flow .ah-ico svg{width:20px;height:20px}
body.ah .aeo .a-artifact-flow>li:has(.ah-ico){align-items:center}
body.ah .aeo .a-artifact-flow>li b:has(.ah-ico){display:flex;align-items:center;gap:14px}
body.ah .aeo .a-artifact-flow>li b .ah-ico{margin:0}

/* 15. Per-section source notes read as quiet text; the Sources block carries the full list. */
body.ah .aeo .a-evidence-marker .p-src a{color:var(--muted);text-decoration-color:var(--line-strong)}

/* site-chrome.css */
/* site-chrome.css: the header menu (Dan, 24 Sep 2026: "allow for the other sections to be navigatable on top").
   The landing header carried Projectors / PayLater / Cart / Talk to Neon+ only. It now also carries Guides, FAQ
   and Company, with a "Menu" dropdown that holds every section and takes over below 1100px, so nothing is
   unreachable on a laptop or a phone (the landing CSS used to simply hide the first link under 700px). */

body.ah .nah .nav nav {
	gap: 26px;
}

/* the dropdown: plain <details>, no JavaScript */
body.ah .nah .nav .nav-more {
	position: relative;
	display: none;
}

body.ah .nah .nav .nav-more > summary {
	list-style: none;
	cursor: pointer;
	padding: 6px 0;
}

body.ah .nah .nav .nav-more > summary::-webkit-details-marker {
	display: none;
}

body.ah .nah .nav .nav-more > summary::after {
	content: "";
	display: inline-block;
	width: 6px;
	height: 6px;
	margin-left: 8px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: translateY(-2px) rotate(45deg);
}

body.ah .nah .nav .nav-more[open] > summary {
	color: var(--lime);
}

body.ah .nah .nav .nav-more > div {
	position: absolute;
	right: 0;
	top: calc(100% + 12px);
	z-index: 120;
	display: grid;
	gap: 2px;
	min-width: 220px;
	padding: 10px;
	border: 1px solid #ffffff2e;
	border-radius: 16px;
	background: #1b1f18;
	box-shadow: 0 18px 44px #0009;
}

body.ah .nah .nav .nav-more > div > a {
	padding: 11px 12px;
	border-radius: 10px;
	font-size: 14px;
	white-space: nowrap;
}

body.ah .nah .nav .nav-more > div > a:hover,
body.ah .nah .nav .nav-more > div > a[aria-current="page"] {
	background: #ffffff12;
	color: var(--lime);
}

/* laptops and below: the inline section links fold into the dropdown */
@media (max-width: 1100px) {
	body.ah .nah .nav nav > a:not(.nav-cart):not(.nav-contact) {
		display: none;
	}
	body.ah .nah .nav .nav-more {
		display: block;
	}
}

/* phones: keep the menu, the cart and the contact button, all at a 44px tap target.
   The row has to fit 390px: brand + Menu + Cart + the Talk button. */
@media (max-width: 700px) {
	body.ah .nah .nav {
		padding: 20px 14px;
		gap: 8px;
	}
	body.ah .nah .brand {
		font-size: 30px;
	}
	body.ah .nah .nav nav {
		gap: 10px;
		font-size: 12px;
	}
	body.ah .nah .nav-contact {
		padding: 9px 11px;
		font-size: 12px;
	}
	body.ah .nah .nav-contact > span {
		margin-left: 6px;
	}
	body.ah .nah .nav .nav-more > summary,
	body.ah .nah .nav .nav-cart {
		min-height: 44px;
		display: flex;
		align-items: center;
	}
	body.ah .nah .nav .nav-more > div {
		position: fixed;
		left: 14px;
		right: 14px;
		top: 84px;
		min-width: 0;
	}
	body.ah .nah .nav .nav-more > div > a {
		padding: 13px 12px;
		font-size: 15px;
	}
}

/* site-policy.css */
/* site-policy.css: round-3 cycle fixes (23 Sep 2026). Owned by one workstream only.
   Pages: FAQ, Delivery & refund, Terms & conditions, Privacy policy (Contact / Company use only shared classes).
   Loaded after site.css; every rule is scoped under body.ah at equal or higher specificity. */

/* ---- shared: a visually hidden separator (keeps "Section 6: Warranty" as the extracted heading text) */
body.ah .ah-vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}

/* ---- shared: prose links read as links (lime, underlined), like the articles */
body.ah :is(.ah-faq,.ah-cards2,.ah-policy) :is(.ah-prose,.ah-qa>div) a:not(.nah-btn),
body.ah .ah-policy-summary a{color:var(--lime);text-decoration:underline;text-decoration-color:var(--lime-dim);text-decoration-thickness:1px;text-underline-offset:3px;transition:text-decoration-color .2s}
body.ah :is(.ah-faq,.ah-cards2,.ah-policy) :is(.ah-prose,.ah-qa>div) a:not(.nah-btn):hover,
body.ah .ah-policy-summary a:hover{text-decoration-color:var(--lime)}
/* a row of onward links under an answer: each link gets the arrow */
body.ah .ah-links{display:flex;flex-wrap:wrap;gap:8px 26px;margin:16px 0 0!important}
body.ah .ah-links a:after{content:'\00a0\2197\FE0E';text-decoration:none;display:inline-block}
/* long URLs in the client's policy text break at slashes and dots, not mid-word */
body.ah .ah-prose a.ah-url{overflow-wrap:normal;word-break:normal}

/* ---- FAQ: question and key figure on one row, the answer under the question at one measure */
body.ah .ah-faq .ah-qa{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:14px 48px;padding:30px 0}
body.ah .ah-faq .ah-qa>header{display:contents}
body.ah .ah-faq .ah-qa h3{grid-column:1;grid-row:1;max-width:36ch}
body.ah .ah-faq .ah-qa>div{grid-column:1;grid-row:2;min-width:0}
body.ah .ah-faq .ah-qa>div>p{max-width:72ch}
body.ah .ah-faq .ah-qa-key{grid-column:2;grid-row:1/span 2;align-self:start;margin:0;padding:14px 0 0;border-top:2px solid var(--lime);display:flex;flex-direction:column;gap:6px}
body.ah .ah-faq .ah-qa-key b{font:500 clamp(28px,2.4vw,36px)/1 var(--display);letter-spacing:-.05em;color:var(--ink)}
body.ah .ah-faq .ah-qa-key span{font-size:13px;line-height:1.45;color:var(--muted)}
/* showroom answer: the Contact page's location cards */
body.ah .ah-faq .ah-places-faq{gap:26px;margin:18px 0 20px}
body.ah .ah-faq .ah-places-faq .ah-place{gap:12px;padding-top:20px}
body.ah .ah-faq .ah-places-faq .ah-place h4{font:500 22px/1.15 var(--display);letter-spacing:-.04em;margin:0;color:var(--ink)}
body.ah .ah-faq .ah-places-faq .ah-place p{margin:0;font-size:15px;line-height:1.55}
/* no empty row / double rule above the closing CTA */
body.ah .ah-faq .ah-qa-group:last-of-type{margin-bottom:0}
body.ah .ah-faq .ah-qa-group:last-of-type .ah-qa:last-child{border-bottom:0;padding-bottom:0}
body.ah .ah-faq .ah-cta-end{margin-top:40px}
@media(max-width:900px){body.ah .ah-faq .ah-places-faq{grid-template-columns:1fr;gap:0}body.ah .ah-faq .ah-places-faq .ah-place{padding:16px 0}}
@media(max-width:700px){
  body.ah .ah-faq .ah-qa{grid-template-columns:1fr;gap:12px;padding:26px 0}
  body.ah .ah-faq .ah-qa h3,body.ah .ah-faq .ah-qa>div,body.ah .ah-faq .ah-qa-key{grid-column:1;grid-row:auto}
  body.ah .ah-faq .ah-qa-key{flex-direction:row;align-items:baseline;gap:12px;padding-top:10px;border-top-width:1px}
  body.ah .ah-faq .ah-qa-key b{font-size:26px}
}

/* ---- Delivery & refund: the journey fills the hero's right half, beside the H1 and the answer */
body.ah .ah-journey-v{grid-template-columns:1fr;border-top:0;border-left:2px solid var(--lime);margin:4px 0 0 6px;row-gap:0}
body.ah .ah-journey-v li{display:grid;grid-template-columns:minmax(104px,auto) minmax(0,1fr);column-gap:18px;align-items:baseline;padding:0 0 22px 26px}
body.ah .ah-journey-v li:last-child{padding-bottom:0}
body.ah .ah-journey-v li:before{top:4px;left:-7px}
body.ah .ah-journey-v em{grid-column:1/-1;margin-bottom:6px}
body.ah .ah-journey-v b{font-size:clamp(28px,2.5vw,38px);margin:0}
body.ah .ah-journey-v span{max-width:none;font-size:14px;line-height:1.5}
@media(min-width:1101px){
  body.ah .ah-head-split{align-items:start;row-gap:28px}
  body.ah .ah-head-split>.ah-crumbs{grid-row:1}
  body.ah .ah-head-split>.ah-eyebrow{grid-row:2}
  body.ah .ah-head-split>h1{grid-column:1;grid-row:3}
  body.ah .ah-head-split>.ah-answer{grid-column:1;grid-row:4;margin-top:0}
  body.ah .ah-head-split>div:not(.ah-answer){grid-column:2;grid-row:3/span 2;align-self:start;padding-top:8px}
}
@media(max-width:1100px){body.ah .ah-head-split>div:not(.ah-answer){order:5;margin-top:10px}}
@media(max-width:600px){body.ah .ah-journey-v li{grid-template-columns:1fr}body.ah .ah-journey-v b{margin-bottom:6px}}
/* card headings: icon above the heading on phones, so the question gets the full width */
@media(max-width:600px){body.ah .ah-cards2 h2{flex-direction:column;align-items:flex-start;gap:14px;font-size:24px}}
/* no dead band before the footer */
body.ah .ah-band.ah-band-end{padding-bottom:clamp(28px,3.5vw,48px)}

/* ---- Terms: section number stacks above the title (never squeezed beside it) */
body.ah .ah-policy h2.ah-h2-num{flex-direction:column;align-items:flex-start;gap:4px}
body.ah .ah-policy h2.ah-h2-num small{margin:0}
body.ah .ah-policy h2.ah-h2-num .t{min-width:0}
/* Section 14's (a)-(k): a real list that keeps the client's own letters */
body.ah .ah-prose ul.ah-legal-list{list-style:none;padding-left:0}
body.ah .ah-prose ul.ah-legal-list li{padding-left:0}

/* ---- Contact (round 2, 23 Sep 2026): photo in the hero, email never breaks inside the domain, cards beside the form */
body.ah .ah-contact-fig{margin:0}
body.ah .ah-contact-fig img{aspect-ratio:3/2;object-fit:cover;border:1px solid var(--line)}
body.ah .ah-reach-co b.ah-nowrap{white-space:nowrap;overflow-wrap:normal}
@media(min-width:1101px){body.ah .ah-reach4.ah-reach-co{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.45fr) minmax(0,1fr)!important}}
@media(max-width:1100px){body.ah .ah-reach-co b.ah-nowrap{white-space:normal}}
body.ah .ah-places-h{margin-top:44px}
body.ah .ah-places.ah-places-co{grid-template-columns:1fr;gap:0}
body.ah .ah-places-co .ah-place{display:grid;grid-template-columns:52px minmax(0,1fr);column-gap:18px;row-gap:6px;padding:22px 0;border-top:1px solid var(--line-strong)}
body.ah .ah-places-co .ah-place>.ah-ico{grid-row:1/span 4}
body.ah .ah-places-co .ah-place h3{font-size:22px}
body.ah .ah-places-co .ah-place a{color:var(--lime);text-decoration:underline;text-decoration-color:var(--lime-dim);text-underline-offset:3px}
body.ah .ah-places-co .ah-place a:hover{text-decoration-color:var(--lime)}

/* ---- Company profile (round 2): facts box aligned with the headline block, one stop per year, 4-up range */
@media(min-width:1101px){
  body.ah .ah-head-co{align-items:start;row-gap:28px}
  body.ah .ah-head-co>.ah-crumbs{grid-row:1}
  body.ah .ah-head-co>.ah-eyebrow{grid-row:2}
  body.ah .ah-head-co>h1{grid-column:1;grid-row:3}
  body.ah .ah-head-co>.ah-answer{grid-column:1;grid-row:4;margin-top:0}
  body.ah .ah-head-co>div:not(.ah-answer){grid-column:2;grid-row:3/span 2;align-self:end}
}
body.ah .ah-timeline.ah-timeline-co{grid-template-columns:repeat(5,minmax(0,1fr))}
body.ah .ah-timeline-co li:nth-child(n+5){border-top:0;margin-top:0}
body.ah .ah-timeline-co li:last-child:before{border-style:solid;border-color:var(--lime);background:var(--lime)}
body.ah .ah-timeline-co span{display:block}
body.ah .ah-timeline-co span+span{margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}
@media(max-width:700px){body.ah .ah-timeline.ah-timeline-co{grid-template-columns:1fr}}
body.ah .ah-amv{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px}
body.ah .ah-amv .ah-eyebrow{margin:0 0 12px;padding-top:14px;border-top:2px solid var(--lime);color:var(--ink)}
@media(max-width:900px){body.ah .ah-amv{grid-template-columns:1fr;gap:34px}}
body.ah .ah-range-strip.ah-range-co{grid-template-columns:repeat(4,minmax(0,1fr));gap:30px 26px}
body.ah .ah-range-co span small{display:block;color:var(--muted);font:400 14px/1.4 var(--body);letter-spacing:0}
body.ah .ah-range-co>a>span:not(.ah-screen){font-size:20px}
body.ah .ah-range-co .ah-range-all .ah-screen{background:transparent;border:1px solid var(--line-strong);box-shadow:none}
body.ah .ah-range-co .ah-range-all .ah-screen b{font:500 clamp(64px,7vw,110px)/1 var(--display);letter-spacing:-.07em;color:var(--lime)}
body.ah .ah-range-co .ah-range-all:hover .ah-screen{border-color:var(--lime)}
@media(max-width:700px){body.ah .ah-range-strip.ah-range-co{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px}
  body.ah .ah-range-strip.ah-range-co a:first-child{grid-column:auto}
  body.ah .ah-range-co>a>span:not(.ah-screen){font-size:17px}}
@media(max-width:600px){body.ah .ah-cta-co .nah-btn{width:100%}}

/* site-products.css */
/* site-products.css: round-3 cycle fixes (23 Sep 2026). Owned by one workstream only. */
/* Product pages (WooCommerce single product, preview theme). Loaded after site.css, so equal specificity wins. */

/* ---- H1: "Neon+ <Model>" with "Projector" on its own muted line; the qualifier lives in the eyebrow ---- */
body.ah .product_title{font-size:clamp(40px,4.2vw,64px);line-height:.98}
body.ah .product_title .ah-title-kind{display:block;color:var(--muted)}
body.ah .ah-summary-eyebrow span{color:var(--ink)}
@media(max-width:700px){body.ah .product_title{font-size:clamp(36px,10vw,48px)}}

/* ---- model device: the headline figure beats '.ah-model-device p' ---- */
body.ah .ah-model-device .ah-big,body.ah .ah-model-device p.ah-big{font:500 clamp(44px,4.6vw,72px)/.95 var(--display);letter-spacing:-.06em;color:var(--ink);margin:0;white-space:nowrap}
@media(max-width:600px){body.ah .ah-model-device .ah-big,body.ah .ah-model-device p.ah-big{font-size:40px}}
body.ah .ah-model-device a,body.ah .ah-model-more a{text-decoration:underline;text-decoration-color:var(--lime-dim);text-underline-offset:3px}
body.ah .ah-model-device a:hover,body.ah .ah-model-more a:hover{color:var(--lime)}
@media(min-width:901px){body.ah .ah-model-device{grid-row:2/6}}

/* comparison / trade-off paragraphs under the answer */
body.ah .ah-model-more{grid-column:1;padding-left:27px;font-size:16px;line-height:1.6;color:#cfd4c6}
body.ah .ah-model-more p{margin:0}
body.ah .ah-model-more p+p{margin-top:12px}
@media(max-width:900px){body.ah .ah-model-more{grid-column:1;grid-row:auto}}
@media(max-width:700px){body.ah .ah-model-more{padding-left:21px;font-size:15px}}

/* V6: the 1.2:1 throw frame (top-down) */
body.ah .ah-throw{display:block;width:100%;max-width:420px;height:auto}
body.ah .ah-throw-cone{fill:#d5f77b1f;stroke:#d5f77b66;stroke-width:1}
body.ah .ah-throw-proj{fill:var(--surface);stroke:var(--ink);stroke-width:1.5}
body.ah .ah-throw-screen{stroke:var(--lime);stroke-width:5}
body.ah .ah-throw-dim{fill:none;stroke:var(--muted);stroke-width:1.2}
body.ah .ah-throw-t{fill:#cfd4c6;font:500 14px/1 var(--body);letter-spacing:.04em}
body.ah .ah-throw-hi{fill:var(--lime);font-weight:600}
body.ah .ah-throw-ratio{fill:var(--ink);font:500 26px/1 var(--display);letter-spacing:-.03em}

/* X5: side-by-side X5 vs X5 Plus (inside #tab-description, so it must beat the spec-sheet table rules) */
body.ah #tab-description table.ah-vs{width:100%!important;margin:0!important;border-collapse:collapse;table-layout:fixed}
body.ah #tab-description .ah-vs :is(th,td){width:auto!important;padding:11px 10px 11px 0;border:0!important;border-bottom:1px solid var(--line)!important;text-align:left;vertical-align:top;background:none}
body.ah #tab-description .ah-vs thead th{font:600 11px/1.4 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
body.ah #tab-description .ah-vs thead th+th{font:500 20px/1.1 var(--display);letter-spacing:-.03em;text-transform:none;color:var(--ink)}
body.ah #tab-description .ah-vs tbody th{font:400 14px/1.4 var(--body);color:var(--muted)}
body.ah #tab-description .ah-vs td{font:500 16px/1.3 var(--display);letter-spacing:-.01em;color:var(--ink)}
body.ah #tab-description .ah-vs tbody tr:nth-child(-n+2) :is(th,td){background:#d5f77b0d}
body.ah #tab-description .ah-vs tr:hover td{background:none}
body.ah #tab-description .ah-vs tbody tr:nth-child(-n+2):hover :is(th,td){background:#d5f77b0d}

/* X5 Plus: the microphone callout */
body.ah .ah-mics{display:flex;align-items:center;gap:20px}
body.ah .ah-mic-art{flex:0 0 auto;width:96px;height:96px}
body.ah .ah-mic-head{fill:#d5f77b1f;stroke:var(--lime);stroke-width:2.5}
body.ah .ah-mic-body{fill:none;stroke:var(--ink);stroke-width:2}

/* ---- PayLater band: the PayLater page's own wording, with a link ---- */
body.ah .ah-paylater-band p a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--lime-dim);text-underline-offset:3px}
body.ah .ah-paylater-band p a:hover{color:var(--lime)}

/* ---- gallery: square panel filled by the (square) photo, crosses on the panel's own corners ---- */
body.ah .ct-product-gallery-container:before{display:none!important}
body.ah .ct-product-gallery-container .flexy-view:after{content:none!important;display:none!important}
body.ah .ct-product-gallery-container .flexy .flexy-view{overflow:hidden!important}
body.ah .ct-product-gallery-container .flexy-view>.flexy-items{overflow:visible!important}
body.ah .ct-product-gallery-container .flexy{position:relative}
body.ah .ct-product-gallery-container .flexy:after{content:'';position:absolute;top:-8px;bottom:-8px;left:-8px;right:-8px;aspect-ratio:auto;pointer-events:none;z-index:4;
  background:var(--cross) left top/15px no-repeat,var(--cross) right top/15px no-repeat,var(--cross) left bottom/15px no-repeat,var(--cross) right bottom/15px no-repeat}
body.ah .ct-product-gallery-container .flexy-item .ct-media-container{display:block;aspect-ratio:1/1;padding:0!important;overflow:hidden;background:transparent!important}
body.ah .ct-product-gallery-container .flexy-item .ct-media-container img{display:block;aspect-ratio:1/1!important;width:100%!important;height:100%!important;object-fit:cover!important}
/* the V6 is flat: zoom the three product views so it fills the width */
body.ah.ah-product-v6-projector .ct-product-gallery-container .flexy-item:nth-child(-n+3) .ct-media-container img{transform:scale(1.3)}
/* thumbnails: square tiles filled by their photo */
body.ah .flexy-pills .ct-media-container{display:block;aspect-ratio:1/1;overflow:hidden;background:var(--screen)}
body.ah .flexy-pills .ct-media-container img{aspect-ratio:1/1!important;width:100%!important;height:100%!important;object-fit:cover}

/* ---- the published spec sheet: bigger labels, chapter headings in the display face, index in the left gutter ---- */
body.ah #tab-description table:not(.ah-vs) tr:not(:has(td:not(:empty))){display:none}
body.ah #tab-description table:not(.ah-vs) td{font-size:18px}
body.ah #tab-description table:not(.ah-vs) td:first-child:not(:only-child){font-size:15px;color:#b9bfae}
body.ah #tab-description tr:has(>td:only-child) td{font:500 clamp(22px,2vw,28px)/1.2 var(--display);letter-spacing:-.03em;text-transform:none;color:var(--ink)}
body.ah #tab-description tr:has(>td:only-child) td:before{font:500 15px/1 var(--display);letter-spacing:0;color:var(--muted);margin-right:10px}
@media(min-width:1200px){
  body.ah #tab-description table:not(.ah-vs){margin-left:150px!important;width:calc(100% - 150px)!important}
  body.ah #tab-description table:not(.ah-vs) tr:has(>td:only-child) td{position:relative}
  body.ah #tab-description table:not(.ah-vs) tr:has(>td:only-child) td:before{content:counter(specsec,decimal-leading-zero);position:absolute;left:-150px;bottom:14px;margin:0;font:500 46px/1 var(--display);letter-spacing:-.05em;color:var(--lime)}
  body.ah #tab-description table:not(.ah-vs) tr:has(>td:only-child)+tr:has(>td:only-child) td:before{content:none}
}

/* ---- round-1 (new cycle) X5 fixes: the phone spec-sheet rule (td{display:block}) must not stack the comparison ---- */
body.ah #tab-description table.ah-vs tr{display:table-row}
body.ah #tab-description table.ah-vs :is(th,td){display:table-cell}
body.ah #tab-description table.ah-vs col,body.ah #tab-description table.ah-vs thead th:first-child{width:36%!important}
@media(max-width:700px){
  body.ah #tab-description table.ah-vs :is(th,td){padding:10px 8px 10px 0}
  body.ah #tab-description .ah-vs thead th+th{font-size:16px}
  body.ah #tab-description .ah-vs tbody th{font-size:13px}
  body.ah #tab-description .ah-vs td{font-size:14px}
}
/* phone gallery: the slider arrows move off the product, into the panel's lower corners */
@media(max-width:700px){
  body.ah .ct-product-gallery-container :is(.flexy-arrow-prev,.flexy-arrow-next){top:auto!important;bottom:12px!important;transform:none!important;width:36px;height:36px;margin:0!important}
  body.ah .ct-product-gallery-container .flexy-arrow-prev{left:12px!important}
  body.ah .ct-product-gallery-container .flexy-arrow-next{right:12px!important}
}
