:root{--navy:#0F1729;--navy-deep:#080D18;--cream:#F4EEE3;--cream-2:#EDE5D4;--orange:#E8542C;--gold:#F5A623;--grey:#5B6472;--grey-light:#9AA2AF;--line:rgba(15,23,41,0.10);--grad-fire:linear-gradient(135deg, var(--orange), var(--gold));--font-display:'Archivo Black',sans-serif;--font-head:'Space Grotesk',sans-serif;--font-body:'Inter',sans-serif;--font-mono:'JetBrains Mono',monospace}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{-webkit-tap-highlight-color:transparent}[onclick],a,button{-webkit-tap-highlight-color:transparent;outline:0}html{scroll-behavior:smooth;overflow-x:hidden;width:100%;max-width:100vw}section:not(.hero){content-visibility:visible;contain-intrinsic-size:auto}html{background:#0f1729}body{font-family:var(--font-body);background:var(--cream);color:var(--navy);overflow-x:hidden;width:100%;max-width:100vw;-webkit-font-smoothing:antialiased;opacity:0;transition:opacity .2s ease}body.app-loaded{opacity:1}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}.container{width:100%;max-width:1180px;margin:0 auto;padding:0 32px}::selection{background:var(--gold);color:var(--navy)}.texture-bg{position:absolute;inset:0;pointer-events:none;overflow:hidden}.texture-bg svg{position:absolute;inset:0;width:100%;height:100%}header{position:fixed;top:0;left:0;right:0;z-index:500;background:rgba(244,238,227,.86);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);transition:background .3s,transform .38s cubic-bezier(.4,0,.2,1),box-shadow .3s;will-change:transform}header.header-hide{transform:translateY(-100%)}header.header-shrink{box-shadow:0 6px 24px rgba(15,23,41,.08)}header.header-shrink nav{padding:9px 32px}header.header-shrink .brand img{height:26px}header.header-shrink .brand .sub{opacity:0;max-height:0;transform:translateY(-4px)}nav{display:flex;align-items:center;justify-content:space-between;padding:16px 32px;max-width:1180px;margin:0 auto;transition:padding .3s}.brand{display:flex;align-items:center;gap:10px;font-family:var(--font-head);font-weight:700;font-size:1.05rem;letter-spacing:.2px}.brand img{height:34px;width:auto;transition:height .3s}.brand .sub{display:block;font-family:var(--font-mono);font-size:.58rem;letter-spacing:2px;color:#454d59;font-weight:400;text-transform:uppercase;transition:opacity .25s,max-height .25s,transform .25s}.navlinks{display:flex;gap:30px;font-size:.86rem;font-weight:600}.navlinks a{position:relative;padding:4px 0;color:var(--navy);opacity:.75;transition:opacity .2s}.navlinks a:hover{opacity:1}.navlinks a::after{content:'';position:absolute;left:0;bottom:-4px;height:2px;width:0%;background:var(--grad-fire);transition:width .25s ease}.navlinks a.active::after,.navlinks a:hover::after{width:100%}.nav-cta{background:var(--navy);color:#fff;font-size:.8rem;font-weight:700;padding:10px 20px;border-radius:30px;letter-spacing:.3px;transition:transform .2s,box-shadow .2s}.nav-cta:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(15,23,41,.25)}.navburger{display:none}.navlinks-contact-mobile{display:none}.navlinks-shop-mobile{display:none}.navlinks-account-mobile{display:none}.hero{position:relative;min-height:auto;background:#0c1220;color:#fff;display:flex;flex-direction:column;padding-top:88px;overflow:visible;padding-bottom:56px}
.hero-stats-bar{border-top:1px solid rgba(255,255,255,0.07);background:rgba(0,0,0,0.22);padding:22px 0}
.hero-product-card{background:linear-gradient(180deg,#141c2e 0%,#0f1624 100%);border:1px solid rgba(255,255,255,0.08);border-radius:20px;padding:28px 28px 20px;max-width:340px;margin:0 auto;box-shadow:0 20px 50px rgba(0,0,0,0.35)}
.hero-product-meta{text-align:center;margin-top:8px;margin-bottom:4px}
.hpm-name{font-family:var(--font-head);font-weight:700;font-size:1.05rem;color:#fff;letter-spacing:-0.01em}
.hpm-type{font-size:0.78rem;color:#8b939f;margin-top:3px}
.hero-trust{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:28px;font-size:0.8rem;color:#9AA2AF}
.hero-trust .ht-sep{width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,0.25)}
.hero-trust button{background:none;border:none;color:#F5A623;font:inherit;cursor:pointer;padding:0}
.hero-trust button:hover{text-decoration:underline}.hero-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:48px;align-items:center;width:100%;max-width:1180px;margin:0 auto;padding:56px 32px 48px;position:relative;z-index:2}.eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:.72rem;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);margin-bottom:22px}.eyebrow::before{content:'';width:22px;height:2px;background:var(--grad-fire)}.hero h1{font-family:var(--font-head);font-weight:700;font-size:clamp(2.15rem,4.2vw,3.15rem);line-height:1.12;letter-spacing:-0.03em;margin-bottom:18px;color:#fff}.hero h1 em{font-style:normal;background:var(--grad-fire);-webkit-background-clip:text;background-clip:text;color:transparent}.hero p.lead{font-size:1.05rem;color:#c7ccd6;max-width:480px;line-height:1.65;margin-bottom:34px}.hero-actions{display:flex;gap:16px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:.9rem;padding:15px 26px;border-radius:8px;transition:transform .2s,box-shadow .2s,background .2s;cursor:pointer;border:none}.btn-primary{background:var(--grad-fire);color:#fff;box-shadow:0 10px 30px rgba(232,84,44,.35)}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(232,84,44,.45)}.btn-ghost{background:0 0;color:#fff;border:1px solid rgba(255,255,255,.25)}.btn-ghost:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.5)}.hero-stats{display:flex;gap:28px 48px;margin-top:0;flex-wrap:wrap;justify-content:space-between;align-items:center}.hero-stat .num{font-family:var(--font-head);font-weight:700;font-size:2.1rem;background:var(--grad-fire);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-stat .lbl{font-family:var(--font-mono);font-size:.65rem;letter-spacing:1.5px;color:var(--grey-light);text-transform:uppercase;margin-top:4px}.hero-visual{position:relative;display:flex;justify-content:center;align-items:center}.hero-visual .bagwrap{position:relative;width:100%;max-width:280px;margin:0 auto;padding-bottom:0}.hero-visual img{width:100%;filter:drop-shadow(0 30px 50px rgba(0,0,0,.5))}.bag-carousel{position:relative;width:100%;aspect-ratio:522/700}.bag-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transform:none;transition:opacity .45s ease;pointer-events:none}.bag-slide.is-active{opacity:1;transform:none;pointer-events:auto}.bag-dots{position:relative;left:auto;bottom:auto;transform:none;display:flex;justify-content:center;gap:10px;z-index:3;margin-top:14px;padding-bottom:4px}.bag-dot{position:relative;width:24px;height:24px;border-radius:50%;border:none;padding:0;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center}.bag-dot::before{content:'';width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.3);transition:background .3s,transform .3s}.bag-dot:hover::before{background:rgba(255,255,255,.55)}.bag-dot.is-active::before{background:var(--grad-fire);transform:scale(1.25)}/* Hero product badges — static row under bag (no continuous float animation for Edge perf) */
.float-chip{position:static;background:#fff;color:var(--navy);border-radius:10px;padding:9px 14px;font-size:.72rem;font-weight:700;box-shadow:0 8px 20px rgba(0,0,0,.14);display:inline-flex;align-items:center;gap:7px;animation:none!important;will-change:auto!important}
.float-chip.c1,.float-chip.c2,.float-chip.c3{position:static;top:auto;left:auto;right:auto;bottom:auto;animation:none!important}
.float-chip.c3{cursor:pointer;border:none;text-align:left;font-family:var(--font-body)}
.hero-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:16px;max-width:360px;margin-left:auto;margin-right:auto}@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}#reviewModalOverlay{display:none;position:fixed;inset:0;z-index:2000;background:rgba(15,23,41,.72);align-items:center;justify-content:center;padding:20px;overflow-y:auto}#reviewModalOverlay.show{display:flex}.review-modal{background:#fff;border-radius:16px;padding:28px;width:100%;max-width:440px;max-height:90vh;overflow-y:auto;position:relative}.review-modal h3{font-family:var(--font-head);font-size:1.3rem;margin:0 0 4px}.review-modal .rm-close{position:absolute;top:16px;right:18px;cursor:pointer;color:var(--grey);font-family:var(--font-mono);font-size:.85rem}.rm-star-picker{display:flex;gap:6px;font-size:1.8rem;margin:6px 0 16px}.rm-star-picker span{cursor:pointer;color:#ddd;transition:color .15s}.rm-star-picker span.filled{color:#f5a623}.rm-photo-preview{max-width:100%;max-height:160px;border-radius:8px;margin-top:8px;display:none}#rmEmail[readonly],#rmName[readonly]{background:#f4f4f4;color:var(--grey);cursor:not-allowed}section{position:relative;padding:110px 0}.section-head{max-width:640px;margin-bottom:56px}.tag-pill{display:inline-block;background:var(--navy);color:#fff;font-family:var(--font-mono);font-size:.68rem;letter-spacing:2px;text-transform:uppercase;padding:7px 16px;border-radius:20px;margin-bottom:18px}.section-head h2{font-family:var(--font-head);font-weight:700;font-size:clamp(1.8rem,3vw,2.5rem);letter-spacing:-.5px;margin-bottom:12px}.section-head p{color:var(--grey);font-size:1rem;line-height:1.6}.reveal-el{opacity:0;transform:translateY(30px) scale(.98);transition:opacity .8s cubic-bezier(.16,.84,.44,1),transform .8s cubic-bezier(.16,.84,.44,1)}.reveal-el.in{opacity:1;transform:translateY(0) scale(1)}.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:50px}.stat-box{background:var(--navy);color:#fff;border-radius:14px;padding:26px 20px;text-align:center;position:relative;overflow:hidden;transition:transform .3s cubic-bezier(.16,.84,.44,1),box-shadow .3s}.stat-box:hover{transform:translateY(-5px);box-shadow:0 18px 34px rgba(15,23,41,.22)}.stat-box::before{content:'';position:absolute;top:-40%;right:-30%;width:120px;height:120px;background:var(--grad-fire);opacity:.18;border-radius:50%;transition:opacity .3s,transform .5s}.stat-box:hover::before{opacity:.28;transform:scale(1.15)}.stat-box .n{font-family:var(--font-head);font-weight:700;font-size:2rem;color:var(--gold)}.stat-box .l{font-family:var(--font-mono);font-size:.62rem;letter-spacing:1.3px;text-transform:uppercase;color:#b7becb;margin-top:6px}.why-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:start;margin-bottom:56px}.why-grid h3{font-family:var(--font-head);font-size:1.35rem;margin-bottom:16px}.why-list{list-style:none}.why-list li{display:flex;gap:14px;padding:14px 4px;border-bottom:1px solid var(--line);font-size:.96rem;align-items:flex-start;transition:padding-left .25s,background .25s}.why-list li:hover{padding-left:12px;background:linear-gradient(90deg,var(--cream-2),transparent)}.why-list li .dot{width:9px;height:9px;border-radius:50%;background:var(--grad-fire);margin-top:6px;flex-shrink:0;transition:transform .25s}.why-list li:hover .dot{transform:scale(1.4)}.flagship-box{background:var(--cream-2);border:1px solid var(--line);border-radius:16px;padding:28px}.flagship-box .lbl{font-family:var(--font-mono);font-size:.7rem;letter-spacing:1.5px;color:var(--orange);text-transform:uppercase;margin-bottom:10px;font-weight:600}.flagship-box p{color:var(--grey);line-height:1.65;font-size:.94rem}.feature-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.feature-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:26px;transition:transform .35s cubic-bezier(.16,.84,.44,1),box-shadow .35s,border-color .35s;position:relative;overflow:hidden}.feature-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--grad-fire);transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.16,.84,.44,1)}.feature-card:hover::before{transform:scaleX(1)}.feature-card:hover{transform:translateY(-8px);box-shadow:0 24px 46px rgba(15,23,41,.12);border-color:transparent}.feature-card h4{font-family:var(--font-head);font-size:1.05rem;margin-bottom:8px;transition:color .3s}.feature-card:hover h4{color:var(--orange)}.feature-card p{color:var(--grey);font-size:.88rem;line-height:1.55}.products{background:var(--navy)}.products .section-head h2,.products .section-head p{color:#fff}.products .section-head p{color:#aeb5c2}.prod-tabs{display:flex;gap:10px;margin-bottom:40px;flex-wrap:wrap}.prod-tab{font-family:var(--font-mono);font-size:.78rem;font-weight:600;letter-spacing:.5px;padding:11px 20px;border-radius:8px;cursor:pointer;border:1px solid rgba(255,255,255,.15);color:#d6dae2;background:0 0;transition:all .25s}.prod-tab.active{background:#fff;color:var(--navy);border-color:#fff}.prod-panel{display:none}.prod-panel.active{display:grid}.prod-panel{grid-template-columns:0.75fr 1.25fr;gap:50px;align-items:center}.prod-bag{position:relative;display:flex;justify-content:center}.prod-bag img{max-width:260px;filter:drop-shadow(0 30px 45px rgba(0,0,0,.5));transition:transform .4s}.prod-bag:hover img{transform:scale(1.04) rotate(-1.5deg)}.prod-info .type-chip{display:inline-block;font-family:var(--font-mono);font-size:.68rem;letter-spacing:1.5px;padding:6px 14px;border-radius:20px;margin-bottom:14px;font-weight:600;text-transform:uppercase}.prod-info h3{font-family:var(--font-head);font-size:1.7rem;color:#fff;margin-bottom:12px}.prod-info p.desc{color:#b7becb;line-height:1.65;margin-bottom:22px;font-size:.96rem}.prod-meta{display:flex;gap:26px;margin-bottom:26px;flex-wrap:wrap}.prod-meta div .v{font-family:var(--font-head);font-weight:700;font-size:1.3rem;color:#fff}.prod-meta div .k{font-family:var(--font-mono);font-size:.6rem;letter-spacing:1.2px;text-transform:uppercase;color:#8991a1;margin-top:2px}.steps{list-style:none;counter-reset:step}.steps li{counter-increment:step;position:relative;padding-left:38px;margin-bottom:14px;font-size:.88rem;color:#c7ccd6}.steps li::before{content:counter(step);position:absolute;left:0;top:-1px;width:24px;height:24px;border-radius:50%;background:var(--grad-fire);color:#fff;font-family:var(--font-mono);font-weight:700;font-size:.72rem;display:flex;align-items:center;justify-content:center}.steps li b{color:#fff;display:block;font-size:.92rem;margin-bottom:2px}.spec-table-wrap{overflow-x:auto;border-radius:14px;border:1px solid var(--line)}table.spec{width:100%;border-collapse:collapse;font-size:.9rem;min-width:640px}table.spec td,table.spec th{padding:16px 20px;text-align:left;border-bottom:1px solid var(--line)}table.spec thead th{background:var(--navy);color:#fff;font-family:var(--font-mono);font-size:.72rem;letter-spacing:1px;text-transform:uppercase;font-weight:600}table.spec tbody tr:last-child td{border-bottom:none}table.spec tbody tr:hover{background:var(--cream-2)}table.spec td.prop{font-weight:600;color:var(--navy)}table.spec td{font-family:var(--font-mono);color:var(--grey)}.growth-banner{margin-top:36px;background:var(--navy);color:#fff;border-radius:16px;padding:34px 38px;display:flex;align-items:center;gap:28px;flex-wrap:wrap}.growth-banner .big{font-family:var(--font-head);font-weight:700;font-size:3rem;color:var(--gold);line-height:1}.growth-banner .txt{flex:1;min-width:240px}.growth-banner .txt p{color:#b7becb;font-size:.92rem;line-height:1.6}.growth-banner .yrs{font-family:var(--font-mono);font-size:.78rem;letter-spacing:1px;color:var(--gold);margin-top:10px;display:block}.colour-wrap{display:grid;grid-template-columns:0.9fr 1.1fr;gap:50px;align-items:center}.swatch-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}.swatch{text-align:center}.swatch .chip{width:100%;aspect-ratio:1;border-radius:50%;margin-bottom:8px;box-shadow:inset 0 -6px 10px rgba(0,0,0,.15),0 6px 14px rgba(0,0,0,.08);transition:transform .2s}.swatch:hover .chip{transform:scale(1.12) translateY(-4px)}.swatch span{font-family:var(--font-mono);font-size:.62rem;color:var(--grey);text-transform:uppercase;letter-spacing:.4px}.colour-note{margin-top:30px;padding:20px 24px;background:var(--cream-2);border-radius:12px;font-size:.88rem;color:var(--grey);border-left:3px solid var(--orange)}.chart-frame{border-radius:16px;overflow:hidden;box-shadow:0 30px 60px rgba(15,23,41,.15)}.bag-frame{max-width:200px;margin-top:26px;box-shadow:0 20px 38px rgba(15,23,41,.16);background:#fff;padding:12px}.bag-frame img{display:block;width:100%}.company-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-bottom:60px}.info-list{list-style:none}.info-list li{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line);font-size:.92rem}.info-list li .k{font-family:var(--font-mono);font-size:.68rem;letter-spacing:1px;text-transform:uppercase;color:var(--grey)}.info-list li .v{font-weight:600;text-align:right}.overview p{color:var(--grey);line-height:1.7;margin-bottom:16px;font-size:.96rem}.clients-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.client-chip{background:var(--navy);color:#fff;font-size:.8rem;font-weight:600;padding:10px 18px;border-radius:20px}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:60px}.gallery figure{border-radius:12px;overflow:hidden;aspect-ratio:4/3;position:relative}.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.gallery figure:hover img{transform:scale(1.08)}.customer-cols{display:grid;grid-template-columns:1fr 1fr;gap:10px 40px}.customer-cols div{padding:10px 0;border-bottom:1px dashed var(--line);font-size:.9rem;display:flex;gap:10px;align-items:center}.customer-cols div::before{content:'●';color:var(--orange);font-size:.6rem}.vision-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-bottom:50px}.vm-card{background:var(--navy);color:#fff;border-radius:16px;padding:34px}.vm-card h3{font-family:var(--font-mono);font-size:.72rem;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:14px}.vm-card p{font-family:var(--font-head);font-size:1.25rem;line-height:1.45;font-weight:500}.obj-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.obj-card{border:1px solid var(--line);border-radius:14px;padding:22px;background:#fff}.obj-card h4{font-family:var(--font-head);font-size:1rem;margin-bottom:8px}.obj-card p{color:var(--grey);font-size:.84rem;line-height:1.5}.quote-section{background:var(--navy-deep);color:#fff;text-align:center;padding:120px 0}.quote-mark{font-family:var(--font-display);font-size:4rem;color:var(--orange);line-height:1;margin-bottom:10px}blockquote{font-family:var(--font-head);font-weight:500;font-size:clamp(1.4rem,2.6vw,2.1rem);line-height:1.4;max-width:820px;margin:0 auto 22px;font-style:normal}.quote-by{font-family:var(--font-mono);font-size:.78rem;letter-spacing:2px;color:var(--gold);text-transform:uppercase}.reviews-section{background:var(--cream-2)}.rs-head{text-align:center;max-width:640px;margin:0 auto 20px}.rs-summary{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;margin-bottom:48px}.rs-summary .rs-avg-num{font-family:var(--font-head);font-size:2.6rem;font-weight:700;color:var(--navy);line-height:1}.rs-summary .rs-stars-big{color:#f5a623;font-size:1.4rem;letter-spacing:2px;display:block;margin-bottom:4px}.rs-summary .rs-count-txt{color:var(--grey);font-size:.85rem}.rs-summary-divider{width:1px;height:44px;background:var(--line)}.rs-write-btn{padding:14px 28px;border:none;border-radius:10px;cursor:pointer;background:var(--grad-fire);color:#fff;font-weight:700;font-size:.9rem;transition:transform .2s,box-shadow .2s}.rs-write-btn:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(232,84,44,.35)}.rs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.rs-card{background:#fff;border-radius:16px;padding:22px;box-shadow:0 10px 30px rgba(15,23,41,.06);transition:transform .3s cubic-bezier(.16,.84,.44,1),box-shadow .3s;display:flex;flex-direction:column}.rs-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(15,23,41,.1)}.rs-card .rs-card-stars{color:#f5a623;font-size:.95rem;letter-spacing:1px;margin-bottom:10px}.rs-card .rs-card-photo{width:100%;max-height:200px;object-fit:cover;border-radius:10px;margin-bottom:12px;cursor:pointer}.rs-card p{color:var(--navy);font-size:.92rem;line-height:1.55;margin:0 0 14px;flex-grow:1}.rs-card .rs-card-name{font-family:var(--font-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.6px;color:var(--grey);border-top:1px dashed var(--line);padding-top:12px}.rs-empty-box{text-align:center;padding:50px 30px;background:#fff;border-radius:16px;border:1px dashed var(--line)}.rs-empty-box .rs-empty-icon{font-size:2.2rem;margin-bottom:12px}.rs-empty-box p{color:var(--grey);margin-bottom:20px}@media (max-width:900px){.rs-grid{grid-template-columns:1fr 1fr}}@media (max-width:560px){.rs-grid{grid-template-columns:1fr}.rs-summary{flex-direction:column;gap:10px}.rs-summary-divider{display:none}}footer{background:var(--navy);color:#fff;padding:90px 0 30px}.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr 1fr;gap:40px;margin-bottom:60px}.foot-brand{display:flex;align-items:center;gap:10px;margin-bottom:16px}.foot-brand img{height:36px;width:auto}.foot-brand span{font-family:var(--font-head);font-weight:700;font-size:1.1rem}footer p{color:#9aa2af;font-size:.88rem;line-height:1.6;max-width:280px}.foot-col h2{font-family:var(--font-mono);font-size:.68rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);margin-bottom:16px}.foot-col a,.foot-col div{display:block;color:#c7ccd6;font-size:.9rem;margin-bottom:10px}.foot-col a:hover{color:var(--gold)}.foot-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:26px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.8rem;color:#7c8493}.foot-legal-links a{color:#7c8493;text-decoration:none}.foot-legal-links a:hover{color:var(--gold)}@media (max-width:900px){.navlinks{display:none}header nav{position:relative}nav{padding:12px 16px;flex-wrap:nowrap}.brand{gap:8px;min-width:0}.brand img{height:28px;flex-shrink:0}.brand>div{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.92rem}.brand .sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-pill,.nav-cta,.nav-shop-btn,.profile-auth-wrap{display:none!important}.nav-actions{display:flex;align-items:center;gap:20px;flex-shrink:0;margin-left:auto}.navburger{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:26px;height:24px;cursor:pointer;background:0 0;border:none;padding:0;order:2;flex-shrink:0}.navburger span{display:block;height:2px;width:100%;background:var(--navy);border-radius:2px;transition:transform .25s ease,opacity .2s ease}.navburger.is-open span:first-child{transform:translateY(7px) rotate(45deg)}.navburger.is-open span:nth-child(2){opacity:0}.navburger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.cart-icon-wrap{order:1;width:38px;height:38px;margin-left:0;margin-right:4px;flex-shrink:0}.cart-badge{top:-4px;right:-4px}#navlinks.mobile-open{display:flex;flex-direction:column;gap:0;position:absolute;top:100%;left:0;right:0;background:#fff;padding:8px 20px 18px;box-shadow:0 16px 28px rgba(15,23,41,.12);border-radius:0 0 16px 16px;max-height:calc(100vh - 70px);overflow-y:auto}#navlinks.mobile-open a{padding:14px 2px;border-bottom:1px solid rgba(15,23,41,.07);opacity:1;font-size:.95rem}.navlinks-contact-mobile{display:block!important;margin-top:12px;padding:13px 16px!important;border:none!important;text-align:center;background:var(--navy);color:#fff!important;opacity:1!important;border-radius:10px;font-weight:700}.navlinks-shop-mobile{display:block!important;margin-top:10px;padding:13px 16px!important;border:none!important;text-align:center;background:var(--grad-fire);color:#fff!important;opacity:1!important;border-radius:10px;font-weight:700}.navlinks-account-mobile{display:flex!important;gap:10px;margin-top:14px;border-bottom:none!important;padding:0!important}.navlinks-account-mobile a{flex:1;text-align:center;padding:12px 8px!important;border:1px solid var(--line)!important;border-radius:10px;font-weight:700;font-size:.85rem!important}.navlinks-account-mobile.js-hidden{display:none!important}.hero-grid{grid-template-columns:1fr;text-align:left}.hero-visual{order:-1;margin-bottom:20px}.stat-row{grid-template-columns:repeat(2,1fr)}.why-grid{grid-template-columns:1fr;gap:34px}.feature-cards{grid-template-columns:1fr}.prod-panel{grid-template-columns:1fr!important}.colour-wrap{grid-template-columns:1fr}.swatch-grid{grid-template-columns:repeat(4,1fr)}.company-grid{grid-template-columns:1fr}.gallery{grid-template-columns:repeat(2,1fr)}.vision-grid{grid-template-columns:1fr}.obj-grid{grid-template-columns:1fr 1fr}.foot-grid{grid-template-columns:1fr 1fr}.customer-cols{grid-template-columns:1fr}}@media (max-width:480px){nav{padding:10px 14px}.brand img{height:24px}.brand>div{font-size:.82rem}.brand .sub{font-size:.5rem}.nav-actions{gap:10px}.cart-icon-wrap{width:34px;height:34px}.cart-icon-wrap svg{width:18px;height:18px}.navburger{width:24px}}@media (max-width:360px){.brand .sub{display:none}}@media (prefers-reduced-motion:reduce){*{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important}}.page{display:none}.page.active{display:block;animation:pageIn .55s cubic-bezier(.16,.84,.44,1)}@keyframes pageIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.btn{position:relative;overflow:hidden}.btn::after{content:'';position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-20deg)}.btn:hover::after{animation:shine .9s ease}@keyframes shine{from{left:-60%}to{left:130%}}.btn-shop{background:var(--navy);color:#fff;box-shadow:0 10px 26px rgba(15,23,41,.3)}.btn-shop:hover{transform:translateY(-3px);box-shadow:0 16px 30px rgba(15,23,41,.4)}.nav-shop-btn{display:flex;align-items:center;gap:6px;background:var(--grad-fire);color:#fff!important;font-size:.82rem;font-weight:700;padding:10px 16px;border-radius:24px;box-shadow:0 8px 18px rgba(232,84,44,.35);transition:transform .2s,box-shadow .2s;opacity:1!important;white-space:nowrap}.nav-shop-btn svg{width:16px;height:16px;flex-shrink:0}.nav-shop-btn:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(232,84,44,.45)}.nav-shop-btn::after{display:none}.nav-ref-btn{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;color:#fff!important;flex-shrink:0;box-shadow:0 8px 18px rgba(15,23,41,.25);transition:transform .2s,box-shadow .2s;opacity:1!important}.nav-ref-btn svg{width:17px;height:17px}.nav-ref-btn:hover{transform:translateY(-2px) scale(1.06)}.nav-ref-btn.orders{background:var(--navy)}.nav-ref-btn.payment{background:var(--grad-fire);box-shadow:0 8px 18px rgba(232,84,44,.35)}.nav-ref-btn.reviews{background:#f5a623;box-shadow:0 8px 18px rgba(245,166,35,.35)}.nav-ref-btn.myorders{background:var(--navy)}.nav-ref-btn.admin-hub{background:var(--navy)}.cart-icon-wrap{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;cursor:pointer;background:var(--cream-2);transition:transform .2s,background .2s;margin-left:10px;overflow:visible}.cart-icon-wrap:hover{transform:translateY(-2px) scale(1.05);background:#e8dfc9}.cart-icon-wrap svg{width:20px;height:20px}.cart-badge{position:absolute;top:-6px;right:-6px;background:var(--grad-fire);color:#fff;font-family:var(--font-mono);font-size:.62rem;font-weight:700;min-width:18px;height:18px;line-height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;padding:0 3px;box-shadow:0 4px 10px rgba(232,84,44,.5);z-index:5;pointer-events:none}.cart-badge.bump{animation:bump .4s ease}@keyframes bump{0%{transform:scale(1)}40%{transform:scale(1.5)}100%{transform:scale(1)}}.nav-actions{display:flex;align-items:center;gap:10px}.nav-auth{display:flex;align-items:center;gap:16px;font-size:.86rem;font-weight:600}.nav-auth a{opacity:.75;transition:opacity .2s}.nav-auth a:hover{opacity:1}.nav-auth .divider{width:1px;height:14px;background:var(--line)}.account-pill{display:flex;align-items:center;gap:8px;background:var(--cream-2);padding:7px 14px 7px 8px;border-radius:30px;font-size:.82rem;font-weight:700;cursor:pointer;position:relative;z-index:10}.account-pill .avatar{width:24px;height:24px;border-radius:50%;background:var(--grad-fire);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.72rem}.account-menu{position:absolute;top:calc(100% + 10px);right:0;background:#fff;border-radius:12px;box-shadow:0 16px 40px rgba(15,23,41,.18);min-width:170px;padding:8px;display:none;z-index:600}.account-menu.open{display:block}.account-menu a,.account-menu button{display:block;width:100%;text-align:left;padding:9px 12px;border-radius:8px;font-size:.85rem;font-weight:600;background:0 0;border:none;cursor:pointer;color:var(--navy);font-family:inherit}.account-menu a:hover,.account-menu button:hover{background:var(--cream-2)}.profile-auth-wrap{position:relative}.profile-icon-btn{width:38px;height:38px;border-radius:50%;border:none;background:var(--cream-2);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:background .2s,transform .2s}.profile-icon-btn:hover{background:var(--gold);transform:translateY(-2px)}.profile-icon-btn svg{width:19px;height:19px;color:var(--navy)}.guest-menu{position:absolute;top:calc(100% + 12px);right:0;background:#fff;border-radius:12px;box-shadow:0 16px 40px rgba(15,23,41,.18);min-width:170px;padding:8px;z-index:600;opacity:0;visibility:hidden;transform:translateY(-8px) scale(.96);transform-origin:top right;transition:opacity .22s ease,transform .22s ease,visibility .22s}.guest-menu.open{opacity:1;visibility:visible;transform:translateY(0) scale(1)}.guest-menu a{display:block;width:100%;text-align:left;padding:10px 12px;border-radius:8px;font-size:.85rem;font-weight:600;color:var(--navy)}.guest-menu a:hover{background:var(--cream-2)}.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:150px 24px 80px}.auth-box{width:100%;max-width:420px;background:#fff;border-radius:18px;padding:38px 34px;box-shadow:0 20px 60px rgba(15,23,41,.08);border:1px solid var(--line)}.auth-box h2{font-family:var(--font-head);font-size:1.6rem;margin-bottom:6px}.auth-box p.sub-lead{color:var(--grey);font-size:.9rem;margin-bottom:26px}.auth-box label{display:block;font-family:var(--font-mono);font-size:.68rem;text-transform:uppercase;letter-spacing:1px;color:var(--grey);margin-bottom:6px;margin-top:16px}.auth-box input{width:100%;padding:12px 14px;border-radius:8px;border:1px solid var(--line);font-family:inherit;font-size:.92rem;background:var(--cream);transition:border-color .2s,box-shadow .2s}.auth-box input:focus{outline:0;border-color:var(--orange);box-shadow:0 0 0 3px rgba(232,84,44,.12)}.auth-submit-btn{width:100%;margin-top:24px;background:var(--grad-fire);color:#fff;font-weight:700;font-size:.92rem;padding:14px;border:none;border-radius:8px;cursor:pointer;transition:transform .2s,box-shadow .2s}.auth-submit-btn:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(232,84,44,.35)}.auth-switch{text-align:center;margin-top:20px;font-size:.86rem;color:var(--grey)}.auth-switch a{color:var(--orange);font-weight:700}.auth-error{color:#c0392b;font-size:.82rem;margin-top:14px;display:none}.consent-row{display:flex;align-items:flex-start;gap:10px;margin-top:18px;font-size:.84rem;color:var(--grey);line-height:1.5}.consent-row input[type=checkbox]{flex-shrink:0;width:18px;height:18px;margin-top:2px;accent-color:var(--orange);cursor:pointer}.consent-row label{display:inline;font-family:inherit;text-transform:none;letter-spacing:0;margin:0;font-size:.84rem;color:var(--grey);cursor:pointer}.consent-row a{color:var(--orange);font-weight:600;text-decoration:underline}.consent-row a:hover{color:var(--gold)}.auth-submit-btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important}.forgot-pw-row{text-align:right;margin-top:8px}.forgot-pw-row a{font-size:.8rem;color:var(--grey);text-decoration:underline}.forgot-pw-row a:hover{color:var(--orange)}.auth-divider{display:flex;align-items:center;gap:12px;margin:22px 0 16px;color:var(--grey);font-size:.78rem;text-transform:uppercase;letter-spacing:1px}.auth-divider::after,.auth-divider::before{content:'';flex:1;height:1px;background:rgba(15,23,41,.12)}.google-auth-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:13px 18px;border-radius:12px;border:1.5px solid rgba(15,23,41,.15);background:#fff;font-family:var(--font-body);font-weight:600;font-size:.92rem;color:var(--navy);cursor:pointer;transition:box-shadow .2s,transform .2s,border-color .2s}.google-auth-btn:hover{box-shadow:0 8px 18px rgba(15,23,41,.1);border-color:rgba(15,23,41,.25);transform:translateY(-1px)}.auth-error.show{display:block}.shop-hero{background:var(--navy-deep);color:#fff;padding:150px 0 60px;text-align:center;position:relative;overflow:hidden}.shop-hero h1{font-family:var(--font-head);font-weight:700;font-size:clamp(2rem,4vw,2.8rem);margin-bottom:12px}.shop-hero p{color:#b7becb;max-width:560px;margin:0 auto}.shop-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding:70px 0 100px}.shop-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;transition:transform .3s,box-shadow .3s}.shop-card:hover{transform:translateY(-8px);box-shadow:0 24px 44px rgba(15,23,41,.14)}.shop-card .thumb{background:var(--cream-2);display:flex;align-items:center;justify-content:center;padding:30px;height:260px;overflow:hidden}.shop-card .thumb img{max-height:250px;transition:transform .4s;transform:scale(1.18)}.shop-card:hover .thumb img{transform:scale(1.18) rotate(-1deg)}.shop-card:hover .thumb img{transform:scale(1.08) rotate(-1deg)}.shop-card .body{padding:24px 24px 28px;display:flex;flex-direction:column;gap:10px;flex:1}.shop-card .type{font-family:var(--font-mono);font-size:.7rem;letter-spacing:1.2px;text-transform:uppercase;color:var(--orange);font-weight:600}.shop-card h4{font-family:var(--font-head);font-size:1.2rem}.shop-card p.d{color:var(--grey);font-size:.88rem;line-height:1.5;flex:1}.shop-price-row{display:flex;flex-direction:column;align-items:stretch;margin-top:8px}.shop-price{font-family:var(--font-head);font-weight:700;font-size:1.3rem;color:var(--navy)}.shop-price .cur{font-size:.7rem;font-family:var(--font-mono);color:var(--grey);font-weight:500;margin-right:3px}.qty-stepper{display:flex;align-items:center;border:1px solid var(--line);border-radius:8px;overflow:hidden}.qty-stepper button{width:28px;height:28px;background:var(--cream-2);border:none;font-size:1rem;cursor:pointer;color:var(--navy);transition:background .15s}.qty-stepper button:hover{background:var(--gold)}.qty-stepper span{width:30px;text-align:center;font-family:var(--font-mono);font-size:.85rem}.qty-slider-wrap{display:flex;flex-direction:column;gap:6px;width:100%;margin-left:0;margin-top:8px}.qty-slider-top{display:flex;align-items:center;gap:12px;width:100%}.qty-slider-wrap input[type=range]{flex:1;-webkit-appearance:none;appearance:none;height:8px;border-radius:6px;background:var(--line);outline:0;cursor:pointer}.qty-slider-wrap input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:28px;height:28px;border-radius:50%;background:var(--grad-fire);cursor:pointer;box-shadow:0 3px 10px rgba(232,84,44,.55);transition:transform .15s;border:3px solid #fff}.qty-slider-wrap input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.15)}.qty-slider-wrap input[type=range]::-moz-range-thumb{width:28px;height:28px;border-radius:50%;border:3px solid #fff;background:var(--grad-fire);cursor:pointer;box-shadow:0 3px 10px rgba(232,84,44,.55)}.qty-slider-wrap .qty-slider-val{width:56px;text-align:center;font-family:var(--font-mono);font-size:1.15rem;font-weight:800;color:var(--navy);background:var(--cream-2);border-radius:8px;padding:6px 2px;flex-shrink:0;border:1px solid var(--line);-moz-appearance:textfield;appearance:textfield;cursor:text}.qty-slider-wrap .qty-slider-val:focus{outline:2px solid var(--orange);border-color:var(--orange)}.qty-slider-wrap .qty-slider-val::-webkit-inner-spin-button,.qty-slider-wrap .qty-slider-val::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.qty-slider-ticks{display:flex;justify-content:space-between;padding:0 2px;font-family:var(--font-mono);font-size:.66rem;color:var(--grey);letter-spacing:.5px}.add-cart-btn{margin-top:8px;width:100%;padding:11px;border-radius:8px;border:none;cursor:pointer;background:var(--grad-fire);color:#fff;font-weight:700;font-size:.84rem;transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden}.add-cart-btn:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(232,84,44,.4)}.add-cart-btn.added{background:#2e8b4f}.swatch-picker{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.swatch-picker .sw{width:22px;height:22px;border-radius:50%;cursor:pointer;border:2px solid transparent;transition:transform .15s,border-color .15s;box-shadow:inset 0 -3px 5px rgba(0,0,0,.15)}.swatch-picker .sw:hover{transform:scale(1.2)}.swatch-picker .sw.selected{border-color:var(--navy);transform:scale(1.25)}.selected-colour-label{font-family:var(--font-mono);font-size:.68rem;color:var(--grey);margin-top:2px}.cart-page-wrap{padding:150px 32px 100px;min-height:70vh}.cart-table{width:100%;border-collapse:collapse}.cart-table th{font-family:var(--font-mono);font-size:.68rem;text-transform:uppercase;letter-spacing:1px;color:var(--grey);text-align:left;padding:12px 10px;border-bottom:2px solid var(--line)}.cart-table td{padding:18px 10px;border-bottom:1px solid var(--line);vertical-align:middle}.cart-item-info{display:flex;align-items:center;gap:16px}.cart-item-info img{width:64px;height:64px;object-fit:contain;background:var(--cream-2);border-radius:10px;padding:6px}.cart-item-info .nm{font-weight:700;font-size:.92rem}.cart-item-info .vr{font-family:var(--font-mono);font-size:.72rem;color:var(--grey);margin-top:2px}.remove-btn{background:0 0;border:none;color:var(--orange);cursor:pointer;font-family:var(--font-mono);font-size:.72rem;text-decoration:underline;transition:color .2s}.remove-btn:hover{color:#a02c14}.cart-empty{text-align:center;padding:80px 20px;color:var(--grey)}.cart-empty .big-icon{font-size:3rem;margin-bottom:16px}.cart-summary{background:var(--navy);color:#fff;border-radius:16px;padding:30px;margin-top:34px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}.cart-summary .total-block .lbl{font-family:var(--font-mono);font-size:.7rem;letter-spacing:1px;color:#9aa2af;text-transform:uppercase}.cart-summary .total-block .amt{font-family:var(--font-head);font-weight:700;font-size:2rem;color:var(--gold)}@media (max-width:760px){.cart-page-wrap{padding:120px 18px 70px}.cart-page-wrap .section-head{text-align:center;margin-left:auto;margin-right:auto}.cart-table-wrap{border:none;overflow:visible}.cart-table{display:block}.cart-table thead{display:none}.cart-table tbody{display:flex;flex-direction:column;gap:14px}.cart-table tr{display:flex;flex-direction:column;width:100%;border:1px solid var(--line);border-radius:14px;padding:16px;background:#fff;box-shadow:0 4px 14px rgba(15,23,41,.05)}.cart-table td{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid rgba(15,23,41,.06);width:100%}.cart-table tr td:last-child{border-bottom:none;padding-bottom:0}.cart-table td[data-label]::before{content:attr(data-label);font-family:var(--font-mono);font-size:.66rem;letter-spacing:.6px;text-transform:uppercase;color:var(--grey);font-weight:700}.cart-cell-product{padding-bottom:12px!important;margin-bottom:4px;border-bottom:1px solid rgba(15,23,41,.06)!important}.cart-item-info{width:100%}.cart-item-info img{width:52px;height:52px}.cart-cell-remove{justify-content:flex-end!important;padding-top:12px!important}.cart-summary{padding:22px;flex-direction:column;align-items:stretch;text-align:center;gap:14px}.cart-summary .btn{width:100%;justify-content:center}}.checkout-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:50px;padding:150px 32px 100px}.checkout-form label{display:block;font-family:var(--font-mono);font-size:.68rem;text-transform:uppercase;letter-spacing:1px;color:var(--grey);margin-bottom:6px;margin-top:16px}.checkout-form input,.checkout-form textarea{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:8px;font-family:var(--font-body);font-size:.92rem;transition:border-color .2s,box-shadow .2s}.checkout-form input:focus,.checkout-form textarea:focus{outline:0;border-color:var(--orange);box-shadow:0 0 0 3px rgba(232,84,44,.12)}.order-summary-box{background:var(--cream-2);border-radius:16px;padding:26px}.order-summary-box .oi{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px dashed var(--line);font-size:.88rem}.place-order-btn{margin-top:22px;width:100%;padding:16px;border:none;border-radius:10px;cursor:pointer;background:var(--grad-fire);color:#fff;font-weight:700;font-size:.95rem;transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden}.place-order-btn:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(232,84,44,.4)}.place-order-btn:disabled{opacity:.75;cursor:not-allowed;transform:none}.ref-stores-btn{width:100%;margin-top:18px;padding:12px 14px;border:1px dashed var(--orange);border-radius:8px;background:rgba(232,84,44,.06);color:var(--orange);font-family:var(--font-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.6px;font-weight:700;cursor:pointer;transition:background .2s}.ref-stores-btn:hover{background:rgba(232,84,44,.12)}.ref-stores-panel{display:none;margin-top:14px;border:1px solid var(--line);border-radius:10px;padding:16px;background:var(--cream-2)}.ref-stores-panel.show{display:block}.ref-stores-panel .rsp-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:10px}.ref-stores-panel select{flex:1;min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:8px;font-family:var(--font-body);font-size:.88rem;background:#fff}.ref-stores-panel .rsp-btn{padding:9px 14px;border-radius:7px;border:none;cursor:pointer;font-family:var(--font-mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.6px;font-weight:700;white-space:nowrap}.ref-stores-panel .rsp-load{background:var(--navy);color:#fff}.ref-stores-panel .rsp-del{background:#c0392b;color:#fff}.ref-stores-panel .rsp-save{background:var(--grad-fire);color:#fff;width:100%;margin-top:4px;padding:12px;font-size:.72rem}.ref-stores-panel .rsp-empty{color:var(--grey);font-size:.82rem;font-style:italic}.rsp-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:10px}.rsp-row input,.rsp-row select{flex:1;min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:8px;font-family:var(--font-body);font-size:.88rem;background:#fff}.rsp-btn{padding:9px 14px;border-radius:7px;border:none;cursor:pointer;font-family:var(--font-mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.6px;font-weight:700;white-space:nowrap}.rsp-btn.rsp-load{background:var(--navy);color:#fff}@media (max-width:560px){.ref-stores-panel select{flex:1 1 100%}.rsp-row input,.rsp-row select{flex:1 1 100%}.ref-stores-panel .rsp-btn,.rsp-btn{flex:1 1 auto}.store-combo{flex:1 1 100%}}.store-combo{position:relative;flex:1;min-width:0}.store-combo-input{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;font-family:var(--font-body);font-size:16px;background:#fff url('data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 width=%2216%22 height=%2216%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%235B6472%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><circle cx=%2211%22 cy=%2211%22 r=%228%22/><line x1=%2221%22 y1=%2221%22 x2=%2216.65%22 y2=%2216.65%22/></svg>') no-repeat right 12px center;background-size:15px;padding-right:34px}.store-combo-input:focus{outline:0;border-color:var(--orange);box-shadow:0 0 0 3px rgba(232,84,44,.12)}@media (min-width:561px){.store-combo-input{font-size:.88rem}}.store-combo-dropdown{display:none;position:absolute;top:calc(100% + 6px);left:0;right:0;max-height:240px;overflow-y:auto;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 16px 34px rgba(15,23,41,.16);z-index:50}.store-combo-dropdown.show{display:block}.store-combo-opt{padding:11px 14px;font-size:.86rem;color:var(--navy);cursor:pointer;border-bottom:1px solid var(--line)}.store-combo-opt:last-child{border-bottom:none}.store-combo-opt:hover{background:var(--cream-2)}.store-combo-empty{padding:12px 14px;font-size:.82rem;color:var(--grey);font-style:italic}@media (max-width:560px){.rsp-row{flex-direction:column;align-items:stretch}.rsp-row .store-combo{flex:1 1 100%;width:100%}.rsp-row .rsp-btn{flex:1 1 auto;width:100%}}.btn-spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;margin-right:8px;vertical-align:-2px;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.order-success{display:none;background:#e9f7ee;border:1px solid #bfe6cc;color:#1c7a3c;padding:20px;border-radius:10px;margin-top:18px;font-size:.9rem;text-align:center;animation:pageIn .4s ease}.order-success.show{display:block}.contact-page-hero{background:var(--navy-deep);color:#fff;padding:150px 0 70px;text-align:center}.contact-page-hero h1{font-family:var(--font-head);font-weight:700;font-size:clamp(2rem,4vw,2.8rem)}.contact-page-hero p{color:#b7becb;max-width:520px;margin:14px auto 0}.contact-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;padding:40px 0 0}.contact-cards:first-of-type{padding-top:70px}.contact-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:32px 26px;text-align:center;display:block;text-decoration:none;color:inherit;transition:transform .3s,box-shadow .3s,border-color .3s;cursor:pointer;position:relative;overflow:hidden}.contact-card::before{content:'';position:absolute;inset:0;background:var(--grad-fire);opacity:0;transition:opacity .3s}.contact-card:hover{transform:translateY(-10px);box-shadow:0 26px 50px rgba(15,23,41,.16);border-color:transparent}.contact-card:hover::before{opacity:.06}.contact-card .icon-circ{width:64px;height:64px;border-radius:50%;background:var(--grad-fire);display:flex;align-items:center;justify-content:center;margin:0 auto 18px;font-size:1.6rem;transition:transform .35s;box-shadow:0 12px 26px rgba(232,84,44,.32)}.contact-card:hover .icon-circ{transform:rotate(-8deg) scale(1.1)}.contact-card h2{font-family:var(--font-mono);font-size:.68rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--orange);margin-bottom:10px;font-weight:700}.contact-card .val{font-family:var(--font-head);font-size:1.08rem;font-weight:700;margin-bottom:4px;position:relative;z-index:1}.contact-card .sub2{color:var(--grey);font-size:.82rem;position:relative;z-index:1}.contact-map-box{margin-top:10px;border-radius:20px;overflow:hidden;height:260px;background:var(--cream-2);display:flex;align-items:center;justify-content:center;color:var(--grey);font-family:var(--font-mono);font-size:.85rem;border:1px solid var(--line)}#toast{position:fixed;top:100px;right:26px;z-index:99999;display:flex;flex-direction:column;gap:10px}.toast-msg{background:var(--navy);color:#fff;padding:14px 20px;border-radius:10px;font-size:.85rem;font-weight:600;box-shadow:0 16px 30px rgba(0,0,0,.25);display:flex;align-items:center;gap:10px;animation:toastIn .35s ease,toastOut .35s ease 2.4s forwards}@keyframes toastIn{from{transform:translateX(120%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes toastOut{to{transform:translateX(120%);opacity:0}}@media (max-width:900px){.shop-grid{grid-template-columns:1fr 1fr}.contact-cards{grid-template-columns:1fr}.checkout-grid{grid-template-columns:1fr;padding-left:18px;padding-right:18px}}@media (max-width:560px){.shop-grid{grid-template-columns:1fr}}.zoomable{cursor:zoom-in}#img-lightbox{position:fixed;inset:0;z-index:100000;background:rgba(8,13,24,.92);display:flex;align-items:center;justify-content:center;padding:40px;opacity:0;visibility:hidden;transition:opacity .25s ease}#img-lightbox.active{opacity:1;visibility:visible}#img-lightbox img{max-width:min(92vw,1100px);max-height:88vh;border-radius:10px;box-shadow:0 30px 80px rgba(0,0,0,.5);cursor:zoom-out;transform:scale(.95);transition:transform .25s ease}#img-lightbox.active img{transform:scale(1)}#img-lightbox .lb-close{position:absolute;top:22px;right:26px;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.25);font-size:1.4rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}#img-lightbox .lb-close:hover{background:rgba(255,255,255,.22)}#floatShopBtn{position:fixed;right:26px;bottom:26px;z-index:800;display:inline-flex;align-items:center;gap:8px;background:var(--grad-fire);color:#fff;font-weight:700;font-size:.88rem;padding:14px 22px;border-radius:30px;border:none;cursor:pointer;box-shadow:0 12px 28px rgba(232,84,44,.4);transition:transform .2s,box-shadow .2s,opacity .25s,visibility .25s;opacity:0;visibility:hidden;transform:translateY(14px)}#floatShopBtn.show{opacity:1;visibility:visible;transform:translateY(0)}#floatShopBtn:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(232,84,44,.5)}#floatShopBtn svg{width:16px;height:16px;flex-shrink:0}@media (max-width:560px){#floatShopBtn{right:16px;bottom:16px;padding:12px 18px;font-size:.82rem}}#floatRefBtn{position:fixed;right:26px;bottom:96px;z-index:800;display:inline-flex;align-items:center;gap:8px;background:var(--navy);color:#fff;font-weight:700;font-size:.88rem;padding:14px 22px;border-radius:30px;border:none;cursor:pointer;box-shadow:0 12px 28px rgba(15,23,41,.35);transition:transform .2s,box-shadow .2s,opacity .25s,visibility .25s;opacity:0;visibility:hidden;transform:translateY(14px)}#floatRefBtn.show{opacity:1;visibility:visible;transform:translateY(0)}#floatRefBtn:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(15,23,41,.45)}#floatRefBtn svg{width:16px;height:16px;flex-shrink:0}@media (max-width:560px){#floatRefBtn{right:16px;bottom:78px;padding:12px 18px;font-size:.82rem}}#floatPaymentBtn{position:fixed;right:26px;bottom:96px;z-index:800;display:inline-flex;align-items:center;gap:8px;background:var(--navy);color:#fff;font-weight:700;font-size:.88rem;padding:14px 22px;border-radius:30px;border:none;cursor:pointer;box-shadow:0 12px 28px rgba(15,23,41,.35);transition:transform .2s,box-shadow .2s,opacity .25s,visibility .25s;opacity:0;visibility:hidden;transform:translateY(14px)}#floatPaymentBtn.show{opacity:1;visibility:visible;transform:translateY(0)}#floatPaymentBtn:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(15,23,41,.45)}#floatPaymentBtn svg{width:16px;height:16px;flex-shrink:0}@media (max-width:560px){#floatPaymentBtn{right:16px;bottom:78px;padding:12px 18px;font-size:.82rem}}#floatOrdersBtn{position:fixed;right:26px;bottom:166px;z-index:800;display:inline-flex;align-items:center;gap:8px;background:var(--navy);color:#fff;font-weight:700;font-size:.88rem;padding:14px 22px;border-radius:30px;border:none;cursor:pointer;box-shadow:0 12px 28px rgba(15,23,41,.35);transition:transform .2s,box-shadow .2s,opacity .25s,visibility .25s;opacity:0;visibility:hidden;transform:translateY(14px)}#floatOrdersBtn.show{opacity:1;visibility:visible;transform:translateY(0)}#floatOrdersBtn:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(15,23,41,.45)}#floatOrdersBtn svg{width:16px;height:16px;flex-shrink:0}@media (max-width:560px){#floatOrdersBtn{right:16px;bottom:140px;padding:12px 18px;font-size:.82rem}}#floatReviewsBtn{position:fixed;right:26px;bottom:234px;z-index:800;display:inline-flex;align-items:center;gap:8px;background:#f5a623;color:#fff;font-weight:700;font-size:.88rem;padding:14px 22px;border-radius:30px;border:none;cursor:pointer;box-shadow:0 12px 28px rgba(245,166,35,.4);transition:transform .2s,box-shadow .2s,opacity .25s,visibility .25s;opacity:0;visibility:hidden;transform:translateY(14px)}#floatReviewsBtn.show{opacity:1;visibility:visible;transform:translateY(0)}#floatReviewsBtn:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(245,166,35,.5)}#floatReviewsBtn svg{width:16px;height:16px;flex-shrink:0}@media (max-width:560px){#floatReviewsBtn{right:16px;bottom:202px;padding:12px 18px;font-size:.82rem}}#waWidget{position:fixed;left:26px;bottom:26px;z-index:900}#floatWhatsBtn{position:relative;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#25d366;color:#fff;border:none;cursor:pointer;box-shadow:0 12px 28px rgba(37,211,102,.45);transition:transform .2s,box-shadow .2s}#floatWhatsBtn:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 16px 34px rgba(37,211,102,.55)}#floatWhatsBtn svg{width:28px;height:28px;position:relative;z-index:2}#floatWhatsBtn::before{content:'';position:absolute;inset:0;border-radius:50%;background:#25d366;animation:waPulse 2.4s ease-out infinite}#waWidget.wa-open #floatWhatsBtn::before{animation:none}@keyframes waPulse{0%{transform:scale(1);opacity:.55}70%{transform:scale(1.9);opacity:0}100%{transform:scale(1.9);opacity:0}}.wa-panel{position:absolute;left:0;bottom:72px;width:300px;background:#111b21;border-radius:16px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.35);transform:scale(.85) translateY(24px);transform-origin:0 100%;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .28s ease,visibility .28s ease,transform .38s cubic-bezier(.34,1.56,.64,1)}#waWidget.wa-open .wa-panel{opacity:1;visibility:visible;pointer-events:auto;transform:scale(1) translateY(0)}@media (max-width:560px){.wa-panel{width:min(300px,calc(100vw - 32px))}}.wa-panel-header{background:#25d366;color:#fff;padding:16px 18px;display:flex;align-items:center;justify-content:space-between}.wa-panel-header-left{display:flex;align-items:center;gap:10px}.wa-panel-header-left .wa-avatar{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center}.wa-panel-header-left .wa-avatar svg{width:19px;height:19px}.wa-panel-header-left span{font-family:var(--font-head);font-weight:700;font-size:.95rem}.wa-panel-close{background:0 0;border:none;color:#fff;font-size:1.3rem;line-height:1;cursor:pointer;opacity:.85;padding:2px 4px;border-radius:6px;transition:opacity .2s,background .2s}.wa-panel-close:hover{opacity:1;background:rgba(255,255,255,.15)}.wa-panel-body{padding:18px 16px 8px;display:flex;flex-direction:column;gap:10px}.wa-bubble{background:#202c33;color:#e9edef;font-size:.86rem;line-height:1.45;padding:11px 14px;border-radius:4px 14px 14px 14px;max-width:88%;opacity:0;transform:translateY(10px);animation-fill-mode:forwards}#waWidget.wa-open .wa-bubble:first-child{animation:waBubbleIn .35s ease .25s forwards}#waWidget.wa-open .wa-bubble:nth-child(2){animation:waBubbleIn .35s ease .5s forwards}@keyframes waBubbleIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.wa-open-chat{display:flex;align-items:center;justify-content:center;gap:8px;margin:16px;padding:12px;background:#25d366;color:#fff;font-weight:700;font-size:.88rem;border-radius:10px;text-decoration:none;transition:background .2s,transform .2s}.wa-open-chat:hover{background:#20bd5a;transform:translateY(-1px)}.wa-open-chat svg{width:16px;height:16px}@keyframes waWidgetEntrance{0%{transform:scale(0) rotate(-15deg);opacity:0}60%{transform:scale(1.15) rotate(4deg);opacity:1}100%{transform:scale(1) rotate(0);opacity:1}}#floatWhatsBtn.wa-entrance{animation:waWidgetEntrance .55s cubic-bezier(.34,1.56,.64,1)}@media (max-width:560px){#waWidget{left:16px;bottom:16px}#floatWhatsBtn{width:50px;height:50px}#floatWhatsBtn svg{width:25px;height:25px}}.mg-item-header{display:grid;grid-template-columns:2fr 1fr 90px 70px 34px;gap:8px;font-family:var(--font-mono);font-size:.65rem;text-transform:uppercase;letter-spacing:.5px;color:var(--grey);margin-bottom:6px}.mg-item-row{display:grid;grid-template-columns:2fr 1fr 90px 70px 34px;gap:8px;align-items:center;margin-bottom:8px}@media (max-width:640px){.mg-item-header{display:none}.mg-item-row{grid-template-columns:1fr 1fr;grid-template-areas:"product product" "shade shade" "price qty" "remove remove";gap:10px;padding:14px;border:1px solid var(--line);border-radius:10px;margin-bottom:14px;background:var(--cream)}.mg-item-row>:first-child{grid-area:product;width:100%}.mg-item-row>:nth-child(2){grid-area:shade;width:100%}.mg-item-row>:nth-child(3){grid-area:price;width:100%}.mg-item-row>:nth-child(4){grid-area:qty;width:100%}.mg-item-row>:nth-child(5){grid-area:remove;justify-self:end;width:90px}}


/* ===== Equal-size factory gallery ===== */
.gallery {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 14px !important;
}

/* v26: final reference-matched hero overrides */
@media (min-width:961px){
  .hero,.ltg-home-modern .hero{height:max(760px,100svh)!important;min-height:760px!important;padding:68px 0 0!important;box-sizing:border-box!important}
  .hero::before,.ltg-home-modern .hero::before{background-image:url('images/hero-podium-fullscreen.webp')!important;background-size:cover!important;background-position:center center!important}
  .hero::after,.ltg-home-modern .hero::after{background:linear-gradient(90deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.82) 27%,rgba(255,255,255,.34) 43%,rgba(255,255,255,.04) 58%,transparent 68%)!important}
  .hero-inner,.ltg-home-modern .hero-inner{width:min(1220px,calc(100% - 48px))!important;height:100%!important;margin:0 auto!important;padding:0!important;display:grid!important;grid-template-rows:minmax(0,1fr) auto auto!important}
  .hero-top,.ltg-home-modern .hero-top{min-height:0!important;height:auto!important;padding:clamp(24px,4vh,48px) 0 12px!important}
  .hero-copy{max-width:560px!important}
  .hero-visual.hero-podium-stage{top:-68px!important;height:calc(100% + 68px)!important}
  .hero-podium-stage .hero-main-bag{left:74%!important;top:65%!important;width:clamp(210px,17vw,285px)!important;max-width:285px!important;transform:translate(-50%,-100%)!important}
  .hero-podium-stage .hero-main-label{left:74%!important;top:65%!important;width:280px!important;transform:translate(-50%,18px)!important}
  .hero-podium-stage .bag-dots{left:74%!important;top:65%!important;transform:translate(-50%,70px)!important}
  .hero-range{margin:0 0 10px!important;padding:8px!important;background:rgba(255,255,255,.82)!important;border:1px solid rgba(15,23,42,.08)!important;border-radius:14px!important;box-shadow:0 12px 32px rgba(15,23,42,.08)!important;backdrop-filter:blur(12px)!important}
  .hero-stats-bar{margin:0 0 12px!important;padding:12px 18px!important;background:rgba(255,255,255,.68)!important;border:1px solid rgba(15,23,42,.07)!important;border-radius:14px!important;backdrop-filter:blur(10px)!important}
}
@media (max-width:960px){
  .hero,.ltg-home-modern .hero{min-height:100svh!important;padding-top:68px!important;background:#f7f4ef!important}
  .hero::before,.ltg-home-modern .hero::before{background-image:url('images/hero-podium-fullscreen.webp')!important;background-size:auto 100%!important;background-position:72% center!important}
  .hero::after,.ltg-home-modern .hero::after{background:linear-gradient(180deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.9) 39%,rgba(255,255,255,.34) 62%,rgba(255,255,255,.08) 100%)!important}
  .hero-inner,.ltg-home-modern .hero-inner{padding:0 18px!important}
  .hero-top,.ltg-home-modern .hero-top{display:flex!important;padding-top:22px!important}
  .hero-copy{order:1!important;max-width:100%!important}
  .hero-visual.hero-podium-stage{position:relative!important;inset:auto!important;order:2!important;width:100%!important;height:330px!important;min-height:330px!important;transform:none!important;margin:8px 0 0!important}
  .hero-podium-stage .hero-main-bag{left:64%!important;top:78%!important;width:min(190px,45vw)!important;max-width:190px!important;transform:translate(-50%,-100%)!important}
  .hero-podium-stage .hero-main-label{left:64%!important;top:78%!important;transform:translate(-50%,10px)!important}
  .hero-podium-stage .bag-dots{left:64%!important;top:78%!important;transform:translate(-50%,58px)!important}
  .hero-range,.hero-stats-bar{background:rgba(255,255,255,.84)!important;border:1px solid rgba(15,23,42,.08)!important;backdrop-filter:blur(10px)!important}
}
@media (max-width:560px){
  .hero h1,.ltg-home-modern .hero h1{font-size:clamp(2rem,11vw,2.65rem)!important}
  .hero p.lead{font-size:.94rem!important;line-height:1.55!important;margin-bottom:22px!important}
  .hero-actions{gap:10px!important}.hero-actions .btn{padding:12px 16px!important}
  .hero-visual.hero-podium-stage{height:300px!important;min-height:300px!important}
}
.gallery figure {
  aspect-ratio: 4 / 3 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background: #e8e4db;
}
.gallery figure img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform 0.55s cubic-bezier(0.16, 0.84, 0.44, 1) !important;
}
.gallery figure:hover img {
  transform: scale(1.07) !important;
}
@media (max-width: 900px) {
  .gallery { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 520px) {
  .gallery { grid-template-columns: 1fr !important; }
}


/* ===== Swisstek-style facility strip + scroll parallax ===== */
.facility-strip {
  background: #F2F0EA;
  padding: 56px 0 64px;
  overflow: hidden;
}
.facility-strip-inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 28px;
}
.facility-strip-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  height: 340px;
  width: 100%;
  max-width: 980px;
  margin: 0 auto;
}
.facility-panel {
  position: relative;
  overflow: hidden;
  border-radius: 10px;
  height: 100%;
  background: #d9d4c8;
  will-change: transform;
  box-shadow: 0 10px 28px rgba(15, 23, 41, 0.08);
}
.facility-panel .fp-img-wrap {
  position: absolute;
  top: -18%;
  bottom: -18%;
  left: 0;
  right: 0;
  overflow: hidden;
  will-change: transform;
}
.facility-panel .fp-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
  transition: filter 0.4s ease, transform 0.5s cubic-bezier(0.16, 0.84, 0.44, 1);
  filter: brightness(0.9);
  cursor: pointer;
  transform: scale(1.12);
  transform-origin: center center;
}
.facility-panel:hover .fp-img-wrap img {
  filter: brightness(1.02);
  transform: scale(1);
}
.facility-panel .fp-label {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  padding: 28px 12px 16px;
  background: linear-gradient(to top, rgba(8,13,24,0.78) 0%, transparent 100%);
  color: #fff;
  font-family: var(--font-head);
  font-weight: 700;
  font-size: 0.88rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-align: center;
  pointer-events: none;
}
.facility-panel .fp-sub {
  display: block;
  font-family: var(--font-mono);
  font-size: 0.58rem;
  letter-spacing: 1.5px;
  opacity: 0.82;
  margin-top: 4px;
  font-weight: 500;
}
.facility-quote {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 4px 12px 0;
  color: var(--navy);
  max-width: 520px;
  margin: 0 auto;
}
.facility-quote .fq-mark {
  font-family: var(--font-display), Georgia, serif;
  font-size: 3.6rem;
  line-height: 0.75;
  color: rgba(15, 23, 41, 0.12);
  margin-bottom: 6px;
}
.facility-quote p {
  font-family: var(--font-head);
  font-size: 1.15rem;
  line-height: 1.5;
  font-weight: 500;
  color: var(--navy);
  max-width: 480px;
}
@media (max-width: 1000px) {
  .facility-strip-grid { height: 300px; max-width: 100%; }
}
@media (max-width: 720px) {
  .facility-strip-grid {
    grid-template-columns: repeat(2, 1fr);
    height: auto;
    gap: 12px;
  }
  .facility-panel { height: 220px; }
}
@media (max-width: 420px) {
  .facility-strip-grid { grid-template-columns: 1fr; }
  .facility-panel { height: 210px; }
}

/* Hide Stores floating button for public — JS shows it only for ref admins */
#floatStoresBtn {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}
#floatStoresBtn.ref-show {
  display: inline-flex !important;
  opacity: 1 !important;
  visibility: visible !important;
}


/* ===== Products nav dropdown ===== */
.nav-dropdown {
  position: relative;
  display: flex;
  align-items: center;
}
.nav-dropdown-trigger {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  cursor: pointer;
}
.nav-dd-caret {
  font-size: 0.7em;
  transition: transform 0.25s ease;
  opacity: 0.7;
}
.nav-dropdown.open .nav-dd-caret {
  transform: rotate(180deg);
}
.nav-dropdown-menu {
  position: absolute;
  top: calc(100% + 10px);
  left: 50%;
  transform: translateX(-50%) translateY(-6px);
  min-width: 160px;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 16px 40px rgba(15, 23, 41, 0.14);
  border: 1px solid rgba(15, 23, 41, 0.08);
  padding: 8px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s;
  z-index: 800;
}
.nav-dropdown.open .nav-dropdown-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}
.nav-dropdown-menu a {
  display: block;
  padding: 10px 14px;
  border-radius: 8px;
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--navy);
  opacity: 1 !important;
  white-space: nowrap;
}
.nav-dropdown-menu a:hover {
  background: var(--cream-2);
}

/* Mobile: dropdown stacks in mobile menu */
@media (max-width: 900px) {
  .nav-dropdown {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }
  .nav-dropdown-menu {
    position: static;
    transform: none;
    left: auto;
    box-shadow: none;
    border: none;
    background: transparent;
    padding: 0 0 0 12px;
    max-height: 0;
    overflow: hidden;
    opacity: 1;
    visibility: visible;
    pointer-events: none;
    transition: max-height 0.3s ease;
  }
  .nav-dropdown.open .nav-dropdown-menu {
    max-height: 120px;
    pointer-events: auto;
    transform: none;
  }
  .nav-dropdown-menu a {
    padding: 12px 8px;
    border-bottom: 1px solid rgba(15, 23, 41, 0.06);
  }
}

/* Product sub-pages top bar */
.page-hero-bar {
  background: var(--navy);
  color: #fff;
  padding: 130px 0 48px;
  text-align: center;
}
.page-hero-bar-label {
  font-family: var(--font-mono);
  font-size: 0.7rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 10px;
}
.page-hero-bar h1 {
  font-family: var(--font-head);
  font-size: clamp(1.8rem, 3.5vw, 2.6rem);
  margin-bottom: 10px;
}
.page-hero-bar p {
  color: #b7becb;
  max-width: 520px;
  margin: 0 auto;
  font-size: 0.98rem;
  line-height: 1.55;
}

/* Grout page colour section on light page */
#page-grout #colours {
  background: var(--cream) !important;
  padding-top: 60px;
}
#page-adhesive #products {
  padding-top: 60px;
}
#page-adhesive #specs,
#page-adhesive #excellence {
  padding-top: 70px;
}


/* ===== Stronger section titles (home + global) ===== */
.section-head {
  margin-bottom: 40px;
}
.section-head.center {
  text-align: center;
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 48px;
}
.section-head .tag-pill {
  display: inline-flex;
  margin-bottom: 14px;
}
.section-head h2 {
  font-family: var(--font-head);
  font-size: clamp(1.75rem, 3.2vw, 2.45rem);
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--navy);
  margin-bottom: 12px;
}
.section-head p {
  font-size: 1.05rem;
  line-height: 1.6;
  color: var(--grey);
  max-width: 540px;
}
.section-head.center p {
  margin-left: auto;
  margin-right: auto;
}

/* Facility strip title spacing */
.facility-strip-title {
  margin-bottom: 28px;
  padding-top: 8px;
}
.facility-strip .facility-strip-inner {
  margin-top: 8px;
}

/* ===== Home product teaser cards ===== */
.home-products {
  background: #fff;
  padding: 80px 0 70px;
}
.home-prod-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.home-prod-card {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 0;
  background: var(--cream);
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(15,23,41,0.06);
  text-decoration: none;
  color: inherit;
  transition: transform 0.35s cubic-bezier(0.16,0.84,0.44,1), box-shadow 0.35s ease;
  box-shadow: 0 8px 28px rgba(15,23,41,0.05);
}
.home-prod-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 48px rgba(15,23,41,0.12);
}
.hpc-visual {
  background: linear-gradient(160deg, #1a2238, #0F1729);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 28px 18px;
  min-height: 280px;
}
.hpc-visual img {
  max-width: 160px;
  width: 100%;
  height: auto;
  filter: drop-shadow(0 12px 24px rgba(0,0,0,0.35));
  transition: transform 0.4s ease;
}
.home-prod-card:hover .hpc-visual img {
  transform: scale(1.05) translateY(-4px);
}
.hpc-visual-grout {
  background: linear-gradient(160deg, #2a2430, #1a1520);
  padding: 0;
  overflow: hidden;
}
.hpc-visual-grout img {
  max-width: none;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: none;
  min-height: 280px;
}
.hpc-body {
  padding: 28px 26px 26px;
  display: flex;
  flex-direction: column;
}
.hpc-tag {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: 0.65rem;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--orange);
  font-weight: 600;
  margin-bottom: 8px;
}
.hpc-body h3 {
  font-family: var(--font-head);
  font-size: 1.35rem;
  color: var(--navy);
  margin-bottom: 10px;
  letter-spacing: -0.01em;
}
.hpc-body p {
  font-size: 0.92rem;
  line-height: 1.55;
  color: var(--grey);
  margin-bottom: 14px;
}
.hpc-points {
  list-style: none;
  padding: 0;
  margin: 0 0 18px;
}
.hpc-points li {
  font-size: 0.86rem;
  color: var(--navy);
  padding: 5px 0 5px 18px;
  position: relative;
  border-bottom: 1px solid rgba(15,23,41,0.06);
}
.hpc-points li:last-child { border-bottom: none; }
.hpc-points li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 12px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--orange);
}
.hpc-link {
  margin-top: auto;
  font-weight: 700;
  font-size: 0.9rem;
  color: var(--orange);
  letter-spacing: 0.01em;
}
@media (max-width: 900px) {
  .home-prod-grid { grid-template-columns: 1fr; }
  .home-prod-card { grid-template-columns: 1fr 1.2fr; }
}
@media (max-width: 560px) {
  .home-prod-card { grid-template-columns: 1fr; }
  .hpc-visual, .hpc-visual-grout img { min-height: 200px; }
}

/* Final homepage and contact-page clarity fixes. */
.hero-actions {
  align-items: center !important;
  gap: 12px !important;
}

.hero-actions .btn-shop {
  min-height: 48px;
  padding: 13px 24px !important;
  border: 2px solid #e8542c !important;
  border-radius: 16px !important;
  background: #e8542c !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  text-decoration: none !important;
  box-shadow: 0 10px 24px rgba(232, 84, 44, 0.24) !important;
}

.hero-actions .btn-ghost {
  min-height: 48px;
  padding: 13px 24px !important;
  border: 2px solid rgba(15, 23, 41, 0.72) !important;
  border-radius: 16px !important;
  background: rgba(255, 255, 255, 0.88) !important;
  color: #0f1729 !important;
  -webkit-text-fill-color: #0f1729 !important;
  text-decoration: none !important;
  box-shadow: 0 8px 20px rgba(15, 23, 41, 0.1) !important;
}

.hero-actions .btn-shop:hover,
.hero-actions .btn-ghost:hover {
  transform: translateY(-2px) !important;
}

.hero-actions .btn-ghost:hover {
  border-color: #e8542c !important;
  color: #e8542c !important;
  -webkit-text-fill-color: #e8542c !important;
  background: #fff !important;
}

.hero-certs,
.hero-certs li {
  color: #3f4a5c !important;
  -webkit-text-fill-color: #3f4a5c !important;
  opacity: 1 !important;
}

.hero-certs button {
  color: #d94824 !important;
  -webkit-text-fill-color: #d94824 !important;
  font-weight: 700 !important;
}

/* Clean product selector edges: no heavy hand-drawn-looking dark outline. */
.hero-range .hr-item,
.hero-range .hr-item:hover,
.hero-range .hr-item:focus,
.hero-range .hr-item:focus-visible {
  outline: 0 !important;
  border: 1px solid transparent !important;
  box-shadow: none !important;
}

.hero-range .hr-item.is-active,
.hero-range .hr-item[aria-selected="true"] {
  border: 1.5px solid #e8542c !important;
  outline: 0 !important;
  background: #fff4ee !important;
  box-shadow: 0 8px 18px rgba(232, 84, 44, 0.12) !important;
}

.hero-range .hr-item:focus-visible {
  box-shadow: 0 0 0 3px rgba(232, 84, 44, 0.18) !important;
}

/* Facility cards: aligned with no empty stagger gaps; retain gentle image motion. */
.facility-row .facility-strip-grid {
  align-items: stretch !important;
  height: 320px !important;
}

.facility-row .facility-panel,
.facility-row .facility-panel:nth-child(n) {
  height: 320px !important;
  transform: none !important;
  margin: 0 !important;
}

.facility-row .facility-panel .fp-img-wrap,
.facility-row .facility-panel .fp-img-wrap img {
  width: 100% !important;
  height: 100% !important;
}

.facility-row .facility-panel .fp-img-wrap img {
  object-fit: cover !important;
  animation: facilityImageDrift 7s ease-in-out infinite alternate;
}

.facility-row .facility-panel:nth-child(even) .fp-img-wrap img {
  animation-delay: -3.5s;
}

@keyframes facilityImageDrift {
  from { transform: scale(1.02) translateY(0); }
  to { transform: scale(1.055) translateY(-4px); }
}

/* Fixed header clearance: the complete contact label and title show at scroll top. */
.contact-page-hero {
  padding: 136px 20px 62px !important;
  min-height: 270px !important;
  overflow: visible !important;
}

.contact-page-hero .tag-pill {
  margin-top: 0 !important;
  margin-bottom: 18px !important;
}

.contact-page-hero h1 {
  margin-top: 0 !important;
}

@media (max-width: 760px) {
  .hero-actions .btn-shop,
  .hero-actions .btn-ghost {
    min-height: 46px;
    padding: 12px 18px !important;
  }

  .facility-row .facility-strip-grid {
    height: auto !important;
  }

  .facility-row .facility-panel,
  .facility-row .facility-panel:nth-child(n) {
    height: 280px !important;
  }

  .contact-page-hero {
    padding: 112px 18px 50px !important;
    min-height: 250px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .facility-row .facility-panel .fp-img-wrap img {
    animation: none !important;
  }
}

/* ===== Why choose strip ===== */
.home-why {
  background: var(--cream-2);
  padding: 72px 0 80px;
}
.home-why-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}
.hwy-card {
  background: #fff;
  border-radius: 16px;
  padding: 28px 22px 26px;
  border: 1px solid rgba(15,23,41,0.06);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.hwy-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 36px rgba(15,23,41,0.08);
}
.hwy-num {
  font-family: var(--font-mono);
  font-size: 0.75rem;
  letter-spacing: 1px;
  color: var(--orange);
  font-weight: 700;
  margin-bottom: 12px;
}
.hwy-card h3 {
  font-family: var(--font-head);
  font-size: 1.15rem;
  color: var(--navy);
  margin-bottom: 8px;
}
.hwy-card p {
  font-size: 0.9rem;
  line-height: 1.55;
  color: var(--grey);
  margin: 0;
}
@media (max-width: 900px) {
  .home-why-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 520px) {
  .home-why-grid { grid-template-columns: 1fr; }
}

/* Company section breathing room */
#company {
  padding-top: 80px;
  padding-bottom: 70px;
}
#company .section-head h2 {
  font-size: clamp(1.75rem, 3.2vw, 2.35rem);
}

/* Reviews section clearer title */
.reviews-section {
  padding-top: 80px;
  padding-bottom: 80px;
}
.rs-head {
  text-align: center;
  max-width: 600px;
  margin: 0 auto 36px;
}
.rs-head h2 {
  font-family: var(--font-head);
  font-size: clamp(1.75rem, 3.2vw, 2.35rem);
  color: var(--navy);
  margin: 10px 0 12px;
}


/* Alternating title tones: A = black pill + orange title, B = orange pill + black title */
.section-head.tone-a .tag-pill,
.rs-head.tone-a .tag-pill {
  background: var(--navy) !important;
  color: #fff !important;
}
.section-head.tone-a h2,
.rs-head.tone-a h2 {
  color: var(--orange) !important;
}

.section-head.tone-b .tag-pill,
.rs-head.tone-b .tag-pill {
  background: var(--orange) !important;
  color: #fff !important;
}
.section-head.tone-b h2,
.rs-head.tone-b h2 {
  color: var(--navy) !important;
}

/* Title size (shared) */
.section-head h2,
.rs-head h2 {
  font-size: clamp(2.1rem, 4.2vw, 3rem) !important;
  letter-spacing: -0.03em;
}
.section-head p {
  font-size: 1.1rem !important;
}

/* Product teaser images fit better for multi-bag / bag packshots */
.home-prod-card .hpc-visual {
  padding: 20px 14px;
  min-height: 300px;
}
.home-prod-card .hpc-visual img {
  max-width: 220px;
  width: 100%;
  height: auto;
  object-fit: contain;
}


/* Nav: Products dropdown sits cleanly with Home / Company */
.navlinks {
  display: flex;
  align-items: center;
  gap: 6px 22px;
}
.nav-dropdown {
  display: inline-flex;
  align-items: center;
}
.nav-dropdown-trigger {
  white-space: nowrap;
}

/* Hero bag slides — smooth crossfade + alive motion */
#heroCarousel .bag-slide {
  transition: opacity 0.45s ease;
  will-change: auto;
}
#heroCarousel .bag-slide.is-active {
  z-index: 2;
}

/* Float shop always available style when .show */
#floatShopBtn.show {
  display: inline-flex !important;
  opacity: 1 !important;
  visibility: visible !important;
}


/* facility-panel stagger room — extra height so up/down shift is visible */
.facility-strip-grid {
  height: 380px !important;
  align-items: center;
}
.facility-panel {
  height: 320px !important;
}
@media (max-width: 1000px) {
  .facility-strip-grid { height: 340px !important; }
  .facility-panel { height: 280px !important; }
}


/* 4th facility panel — bias crop toward factory building */
.facility-strip-grid .facility-panel:nth-child(4) .fp-img-wrap img {
  object-position: 30% center !important;
}

/* Hero chips / text above animated bag */
.hero-visual {
  position: relative;
  z-index: 1;
}
.hero-visual .bagwrap {
  position: relative;
  z-index: 1;
}
#heroCarousel {
  position: relative;
  z-index: 1;
}
#heroCarousel .bag-slide {
  z-index: 1;
}
.hero-visual .float-chip {
  z-index: 5;
  position: static !important;
}
.float-chip.c1,
.float-chip.c2,
.float-chip.c3 {
  z-index: 5;
  position: static !important;
}

/* Our Product Range cards — inverted colours only */
.home-products {
  background: var(--navy-deep, #080D18) !important;
}
.home-products .section-head h2 {
  color: #fff !important;
}
.home-products.tone-b .section-head h2,
.home-products .section-head.tone-b h2 {
  color: #fff !important;
}
.home-products .section-head p {
  color: #9AA2AF !important;
}
.home-products .tag-pill {
  background: var(--orange) !important;
  color: #fff !important;
}
.home-prod-card {
  background: #121a2e !important;
  border-color: rgba(255,255,255,0.06) !important;
}
.home-prod-card .hpc-visual {
  background: var(--navy-deep, #080D18) !important;
}
.home-prod-card .hpc-visual img {
  max-width: 210px !important;
}
/* Zoom adhesive trio so bags read clearer */
.home-prod-card:first-child .hpc-visual img {
  max-width: 260px !important;
  transform: scale(1.18);
  transform-origin: center center;
}
.home-prod-card:first-child:hover .hpc-visual img {
  transform: scale(1.24);
}
.home-prod-card .hpc-visual img {
  filter: none !important;
  drop-shadow: none;
  max-width: 200px;
}
.home-prod-card .hpc-body {
  background: transparent;
}
.home-prod-card .hpc-body h3 {
  color: #fff !important;
}
.home-prod-card .hpc-body p {
  color: #9AA2AF !important;
}
.home-prod-card .hpc-points li {
  color: #e8e4db !important;
  border-bottom-color: rgba(255,255,255,0.08) !important;
}
.home-prod-card .hpc-tag {
  color: var(--orange) !important;
}
.home-prod-card .hpc-link {
  color: var(--orange) !important;
}


/* Unified hero CTAs — matching orange family */
.hero-actions .btn,
.hero-actions .btn-primary,
.hero-actions .btn-shop,
.hero-actions .btn-ghost {
  background: var(--grad-fire, linear-gradient(135deg, #E8542C, #F5A623)) !important;
  color: #fff !important;
  border: none !important;
  box-shadow: 0 8px 22px rgba(232, 84, 44, 0.28);
}
.hero-actions .btn:hover,
.hero-actions .btn-primary:hover,
.hero-actions .btn-shop:hover,
.hero-actions .btn-ghost:hover {
  filter: brightness(1.06);
  transform: translateY(-1px);
}
.hero-actions .btn-ghost {
  background: transparent !important;
  border: 2px solid #E8542C !important;
  color: #fff !important;
  box-shadow: none;
}
.hero-actions .btn-ghost:hover {
  background: rgba(232, 84, 44, 0.15) !important;
}

/* Explore Products popup — different from nav dropdown */
.hero-prod-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(8, 13, 24, 0.55);
  backdrop-filter: blur(6px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.28s ease, visibility 0.28s;
}
.hero-prod-overlay.open {
  opacity: 1;
  visibility: visible;
}
.hero-prod-panel {
  position: relative;
  width: min(440px, 100%);
  background: linear-gradient(160deg, #121a2e 0%, #0B1220 100%);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 20px;
  padding: 32px 28px 28px;
  box-shadow: 0 28px 80px rgba(0,0,0,0.45);
  transform: translateY(18px) scale(0.96);
  opacity: 0;
  transition: transform 0.35s cubic-bezier(0.16, 0.84, 0.44, 1), opacity 0.3s ease;
}
.hero-prod-overlay.open .hero-prod-panel {
  transform: translateY(0) scale(1);
  opacity: 1;
}
.hero-prod-close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: none;
  background: rgba(255,255,255,0.08);
  color: #fff;
  font-size: 1rem;
  cursor: pointer;
}
.hero-prod-close:hover { background: rgba(255,255,255,0.14); }
.hero-prod-eyebrow {
  font-family: var(--font-mono);
  font-size: 0.68rem;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  color: var(--orange);
  margin: 0 0 8px;
}
.hero-prod-title {
  font-family: var(--font-head);
  font-size: 1.55rem;
  color: #fff;
  margin: 0 0 22px;
  letter-spacing: -0.02em;
}
.hero-prod-options {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.hero-prod-opt {
  display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
  text-align: left;
  padding: 16px 16px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.04);
  color: #fff;
  cursor: pointer;
  transition: background 0.2s, border-color 0.2s, transform 0.2s;
}
.hero-prod-opt:hover {
  background: rgba(232, 84, 44, 0.12);
  border-color: rgba(232, 84, 44, 0.45);
  transform: translateX(4px);
}
.hpo-icon {
  font-size: 1.5rem;
  width: 42px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,0.06);
  border-radius: 12px;
  flex-shrink: 0;
}
.hpo-text {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.hpo-text strong {
  font-family: var(--font-head);
  font-size: 1.05rem;
}
.hpo-text small {
  font-size: 0.8rem;
  color: #9AA2AF;
}
.hpo-arrow {
  color: var(--orange);
  font-size: 1.2rem;
  font-weight: 700;
}


/* Explore popup product thumbs */
.hpo-thumb {
  width: 56px;
  height: 56px;
  border-radius: 12px;
  overflow: hidden;
  flex-shrink: 0;
  background: #0a101c;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255,255,255,0.08);
}
.hpo-thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 4px;
}


/* Product panel — accent line separated from type chip */
.products .prod-panel {
  border-top: none !important;
  position: relative;
  padding-top: 28px !important;
}
.products .prod-panel::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  border-radius: 2px;
  background: #F5C518;
}
.products .prod-panel#p1::before { background: #F5C518; }
.products .prod-panel#p2::before { background: #2E8B4F; }
.products .prod-panel#p3::before { background: #2E6FE8; }

.products .prod-info .type-chip {
  display: inline-block;
  margin-top: 8px;
  margin-bottom: 12px;
}

/* Adhesive page section titles — tone-a / tone-b on dark navy */

#page-adhesive .products .section-head.tone-a .tag-pill {
  background: #E8542C !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  border: none !important;
  box-shadow: none !important;
}
#page-adhesive .products .section-head.tone-a h2 {
  color: #fff !important;
}
#page-adhesive .products .section-head.tone-b .tag-pill {
  background: var(--orange) !important;
  color: #fff !important;
}
#page-adhesive .products .section-head.tone-b h2 {
  color: #fff !important;
}
#page-adhesive .products .section-head p {
  color: #9AA2AF !important;
}

/* Specs / excellence on adhesive page (light bg) — normal tones */
#page-adhesive #specs .section-head.tone-a .tag-pill,
#page-adhesive #excellence .section-head.tone-a .tag-pill {
  background: var(--navy) !important;
  color: #fff !important;
}
#page-adhesive #specs .section-head.tone-a h2,
#page-adhesive #excellence .section-head.tone-a h2 {
  color: var(--orange) !important;
}
#page-adhesive #specs .section-head.tone-b .tag-pill,
#page-adhesive #excellence .section-head.tone-b .tag-pill {
  background: var(--orange) !important;
  color: #fff !important;
}
#page-adhesive #specs .section-head.tone-b h2,
#page-adhesive #excellence .section-head.tone-b h2 {
  color: var(--navy) !important;
}

/* Grout page */
#page-grout .section-head.tone-b .tag-pill {
  background: var(--orange) !important;
  color: #fff !important;
}
#page-grout .section-head.tone-b h2 {
  color: var(--navy) !important;
}


/* ===== Unified titles: orange pill + black heading (site-wide) ===== */
.section-head .tag-pill,
.rs-head .tag-pill,
.facility-strip-title .tag-pill,
#page-adhesive .section-head .tag-pill,
#page-grout .section-head .tag-pill,
#page-adhesive .products .section-head.tone-a .tag-pill,
#page-adhesive .products .section-head.tone-b .tag-pill,
#page-adhesive #specs .section-head.tone-a .tag-pill,
#page-adhesive #specs .section-head.tone-b .tag-pill,
#page-adhesive #excellence .section-head.tone-a .tag-pill,
#page-adhesive #excellence .section-head.tone-b .tag-pill,
.section-head.tone-a .tag-pill,
.section-head.tone-b .tag-pill,
.rs-head.tone-a .tag-pill,
.rs-head.tone-b .tag-pill {
  background: var(--orange) !important;
  color: #fff !important;
  border: none !important;
  box-shadow: none !important;
}

.section-head h2,
.rs-head h2,
.facility-strip-title h2,
#page-adhesive .section-head h2,
#page-grout .section-head h2,
#page-adhesive .products .section-head.tone-a h2,
#page-adhesive .products .section-head.tone-b h2,
#page-adhesive #specs .section-head.tone-a h2,
#page-adhesive #specs .section-head.tone-b h2,
#page-adhesive #excellence .section-head.tone-a h2,
#page-adhesive #excellence .section-head.tone-b h2,
.section-head.tone-a h2,
.section-head.tone-b h2,
.rs-head.tone-a h2,
.rs-head.tone-b h2 {
  color: var(--navy) !important;
}

/* Dark navy sections only — keep heading readable as white */
.home-products .section-head h2,
#page-adhesive .products .section-head h2,
.products .section-head h2 {
  color: #fff !important;
}
.home-products .section-head .tag-pill,
#page-adhesive .products .section-head .tag-pill,
.products .section-head .tag-pill {
  background: var(--orange) !important;
  color: #fff !important;
  border: none !important;
}


/* ===== Adhesive page section backgrounds ===== */
/* Product Range — light like Grout page */
#page-adhesive #products.products,
#page-adhesive .products {
  background: var(--cream, #F4EEE3) !important;
}
#page-adhesive .products .section-head h2 {
  color: var(--navy) !important;
}
#page-adhesive .products .section-head p {
  color: var(--grey) !important;
}
#page-adhesive .products .section-head .tag-pill {
  background: var(--orange) !important;
  color: #fff !important;
}

/* Remaining adhesive sections — dark navy */
#page-adhesive #specs,
#page-adhesive #excellence {
  background: var(--navy-deep, #080D18) !important;
  color: #e8e4db;
}
#page-adhesive #specs .section-head h2,
#page-adhesive #excellence .section-head h2 {
  color: #fff !important;
}
#page-adhesive #specs .section-head p,
#page-adhesive #excellence .section-head p {
  color: #9AA2AF !important;
}
#page-adhesive #specs .section-head .tag-pill,
#page-adhesive #excellence .section-head .tag-pill {
  background: var(--orange) !important;
  color: #fff !important;
}

/* Specs table readable on dark */
#page-adhesive #specs table,
#page-adhesive #specs .spec-table,
#page-adhesive #specs .container {
  color: #e8e4db;
}
#page-adhesive #specs th {
  background: rgba(255,255,255,0.06) !important;
  color: #fff !important;
}
#page-adhesive #specs td {
  border-color: rgba(255,255,255,0.08) !important;
  color: #c8cdd6 !important;
}
#page-adhesive #specs tr:nth-child(even) td {
  background: rgba(255,255,255,0.03);
}

/* Excellence cards on dark */
#page-adhesive #excellence .stat-box,
#page-adhesive #excellence .vm-card,
#page-adhesive #excellence .obj-card,
#page-adhesive #excellence .feature-card {
  background: rgba(255,255,255,0.05) !important;
  border-color: rgba(255,255,255,0.08) !important;
  color: #e8e4db;
}
#page-adhesive #excellence h3,
#page-adhesive #excellence h4 {
  color: #fff !important;
}


/* Product range on cream — force readable dark text */
#page-adhesive .products {
  color: var(--navy) !important;
}
#page-adhesive .products .prod-info h3,
#page-adhesive .products .prod-info h2,
#page-adhesive .products .prod-panel h3 {
  color: var(--navy) !important;
}
#page-adhesive .products .prod-info p,
#page-adhesive .products .prod-info li,
#page-adhesive .products .prod-info span,
#page-adhesive .products .prod-info {
  color: var(--grey) !important;
}
#page-adhesive .products .prod-info .steps li,
#page-adhesive .products .prod-info .step,
#page-adhesive .products .prod-info ol li,
#page-adhesive .products .prod-info .usage-step {
  color: var(--navy) !important;
}
#page-adhesive .products .prod-info strong,
#page-adhesive .products .prod-info b,
#page-adhesive .products .prod-info .step-title {
  color: var(--navy) !important;
}
#page-adhesive .products .prod-tabs .prod-tab {
  color: var(--navy) !important;
  border-color: rgba(15,23,41,0.15) !important;
  background: transparent !important;
}
#page-adhesive .products .prod-tabs .prod-tab.active {
  background: #fff !important;
  color: var(--navy) !important;
  border-color: transparent !important;
  box-shadow: 0 2px 10px rgba(15,23,41,0.08);
}
#page-adhesive .products .metric,
#page-adhesive .products .metrics,
#page-adhesive .products .prod-metrics,
#page-adhesive .products .prod-info [class*="metric"] {
  color: var(--navy) !important;
}
#page-adhesive .products .prod-info .type-chip {
  /* keep variant chip colors from inline styles */
  color: inherit;
}


/* FINAL: Product range cream — all text dark and readable */
#page-adhesive .products .prod-info h3 { color: var(--navy) !important; }
#page-adhesive .products .prod-info p.desc { color: var(--grey) !important; }
#page-adhesive .products .prod-meta div .v { color: var(--navy) !important; }
#page-adhesive .products .prod-meta div .k { color: var(--grey) !important; }
#page-adhesive .products .steps li { color: var(--grey) !important; }
#page-adhesive .products .steps li b { color: var(--navy) !important; }
#page-adhesive .products .prod-tab { color: var(--navy) !important; border-color: rgba(15,23,41,0.18) !important; }
#page-adhesive .products .prod-tab.active { background: #fff !important; color: var(--navy) !important; }
#page-adhesive .products .section-head h2 { color: var(--navy) !important; }
#page-adhesive .products .section-head p { color: var(--grey) !important; }


/* ===== FIX: Product tabs + type chips readability (adhesive page) ===== */
#page-adhesive .products .prod-tabs .prod-tab,
#page-adhesive .products .prod-tab {
  color: #0a0f1a !important;
  font-weight: 700 !important;
  border: 1.5px solid rgba(15, 23, 41, 0.35) !important;
  background: transparent !important;
  box-shadow: none !important;
}
#page-adhesive .products .prod-tabs .prod-tab:hover,
#page-adhesive .products .prod-tab:hover {
  border-color: rgba(15, 23, 41, 0.65) !important;
  background: rgba(15, 23, 41, 0.04) !important;
}
#page-adhesive .products .prod-tabs .prod-tab.active,
#page-adhesive .products .prod-tab.active {
  background: #fff !important;
  color: #0a0f1a !important;
  border: 2px solid #0F1729 !important;
  box-shadow: 0 2px 12px rgba(15, 23, 41, 0.12) !important;
}

/* Type chips — restore designed colours (were forced grey by span rule) */
#page-adhesive .products .prod-info .type-chip {
  color: inherit !important;
  font-weight: 700 !important;
}
#page-adhesive .products .prod-panel#p1 .type-chip {
  background: #F5C518 !important;
  color: #1a1400 !important;
}
#page-adhesive .products .prod-panel#p2 .type-chip {
  background: #2E8B4F !important;
  color: #fff !important;
}
#page-adhesive .products .prod-panel#p3 .type-chip {
  background: #2E6FE8 !important;
  color: #fff !important;
}

/* Specs + Excellence dark sections — white titles (unified navy rule was winning) */
#page-adhesive #specs .section-head h2,
#page-adhesive #excellence .section-head h2,
#page-adhesive #specs .section-head.tone-a h2,
#page-adhesive #specs .section-head.tone-b h2,
#page-adhesive #excellence .section-head.tone-a h2,
#page-adhesive #excellence .section-head.tone-b h2 {
  color: #fff !important;
}
#page-adhesive #specs .section-head p,
#page-adhesive #excellence .section-head p {
  color: #9AA2AF !important;
}

/* Specs table — dark-friendly cells + hover (no cream flash) */
#page-adhesive #specs table.spec td.prop {
  color: #e8e4db !important;
}
#page-adhesive #specs table.spec tbody tr:hover,
#page-adhesive #specs table.spec tbody tr:hover td {
  background: rgba(255, 255, 255, 0.07) !important;
}
#page-adhesive #specs .spec-table-wrap {
  border-color: rgba(255, 255, 255, 0.1) !important;
}


/* ===== FIX: Flagship box on dark Product Excellence section ===== */
#page-adhesive #excellence .flagship-box {
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 16px;
  box-shadow: none !important;
}
#page-adhesive #excellence .flagship-box .lbl {
  color: var(--orange) !important;
  font-weight: 700 !important;
}
#page-adhesive #excellence .flagship-box p {
  color: #c8cdd6 !important;
}
/* "Why Choose LTA" heading + bullets stay readable on dark */
#page-adhesive #excellence .why-choose h3,
#page-adhesive #excellence h3 {
  color: #fff !important;
}
#page-adhesive #excellence .why-choose li,
#page-adhesive #excellence ul li {
  color: #e8e4db !important;
}


/* Why-list + feature cards: dark-friendly on excellence */
#page-adhesive #excellence .why-list li {
  border-bottom-color: rgba(255, 255, 255, 0.08) !important;
  color: #e8e4db !important;
}
#page-adhesive #excellence .why-list li:hover {
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.06), transparent) !important;
}
#page-adhesive #excellence .feature-card {
  background: rgba(255, 255, 255, 0.05) !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
}
#page-adhesive #excellence .feature-card h4 {
  color: #fff !important;
}
#page-adhesive #excellence .feature-card p {
  color: #9AA2AF !important;
}
#page-adhesive #excellence .feature-card:hover {
  border-color: rgba(232, 84, 44, 0.35) !important;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35) !important;
}


/* ===== Product tabs: dark navy so selection is obvious on cream ===== */
#page-adhesive .products .prod-tabs .prod-tab,
#page-adhesive .products .prod-tab {
  color: #0F1729 !important;
  font-weight: 700 !important;
  background: #fff !important;
  border: 2px solid #0F1729 !important;
  box-shadow: none !important;
  opacity: 1 !important;
}
#page-adhesive .products .prod-tabs .prod-tab:hover,
#page-adhesive .products .prod-tab:hover {
  background: #0F1729 !important;
  color: #fff !important;
  border-color: #0F1729 !important;
}
#page-adhesive .products .prod-tabs .prod-tab.active,
#page-adhesive .products .prod-tab.active {
  background: #0F1729 !important;
  color: #fff !important;
  border: 2px solid #0F1729 !important;
  box-shadow: 0 4px 14px rgba(15, 23, 41, 0.22) !important;
}

/* Active tab takes on its product's own colour instead of navy */
#page-adhesive .products .prod-tabs .prod-tab.active[data-tab="p1"] {
  background: #F5C518 !important;
  color: #1a1400 !important;
  border-color: #F5C518 !important;
  box-shadow: 0 4px 14px rgba(245, 197, 24, 0.35) !important;
}
#page-adhesive .products .prod-tabs .prod-tab.active[data-tab="p2"] {
  background: #2E8B4F !important;
  color: #fff !important;
  border-color: #2E8B4F !important;
  box-shadow: 0 4px 14px rgba(46, 139, 79, 0.35) !important;
}
#page-adhesive .products .prod-tabs .prod-tab.active[data-tab="p3"] {
  background: #2E6FE8 !important;
  color: #fff !important;
  border-color: #2E6FE8 !important;
  box-shadow: 0 4px 14px rgba(46, 111, 232, 0.35) !important;
}


/* ===== Grout page: info full-width, then equal image gallery ===== */
#page-grout .grout-info {
  max-width: 720px;
  margin: 0 auto 48px;
}
#page-grout .grout-info .stat-row {
  max-width: 520px;
}
#page-grout .grout-info .steps {
  max-width: 640px;
}
#page-grout .grout-gallery {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  align-items: start;
  margin-top: 12px;
  margin-bottom: 20px;
}
#page-grout .grout-gallery-item {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
#page-grout .grout-gallery-label {
  font-family: var(--font-head);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--navy);
  letter-spacing: -0.01em;
  text-align: center;
}
#page-grout .grout-gallery-item .chart-frame {
  width: 100%;
  aspect-ratio: 3 / 4;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  padding: 16px;
  box-shadow: 0 20px 48px rgba(15, 23, 41, 0.12);
}
#page-grout .grout-gallery-item .chart-frame img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
@media (max-width: 720px) {
  #page-grout .grout-gallery {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  #page-grout .grout-gallery-item .chart-frame {
    aspect-ratio: auto;
    max-height: 520px;
  }
}


/* ===== Grout page layout: text left + bag right, shades full below ===== */
#page-grout .grout-top {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 40px 48px;
  align-items: center;
  margin-bottom: 48px;
}
#page-grout .grout-info {
  max-width: none;
  margin: 0;
}
#page-grout .grout-info .stat-row {
  max-width: 100%;
}
#page-grout .grout-info .steps {
  max-width: none;
}
#page-grout .grout-bag {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: center;
}
#page-grout .grout-bag .chart-frame {
  width: 100%;
  max-width: 320px;
  background: #fff;
  padding: 18px;
  box-shadow: 0 20px 48px rgba(15, 23, 41, 0.12);
}
#page-grout .grout-bag .chart-frame img {
  width: 100%;
  height: auto;
  object-fit: contain;
  display: block;
}
#page-grout .grout-shades {
  margin: 0 0 24px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  width: 100%;
}
#page-grout .grout-shades .chart-frame {
  width: 100%;
  background: #fff;
  padding: 20px;
  box-shadow: 0 20px 48px rgba(15, 23, 41, 0.12);
}
#page-grout .grout-shades .chart-frame img {
  width: 100%;
  height: auto;
  object-fit: contain;
  display: block;
}
#page-grout .grout-gallery-label {
  font-family: var(--font-head);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--navy);
  letter-spacing: -0.01em;
  text-align: center;
}
@media (max-width: 860px) {
  #page-grout .grout-top {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  #page-grout .grout-bag .chart-frame {
    max-width: 280px;
  }
}


/* ===== Grout bag: no white frame; shades chart smaller ===== */
#page-grout .grout-bag .chart-frame {
  background: transparent !important;
  padding: 0 !important;
  box-shadow: none !important;
  border: none !important;
  max-width: 280px;
}
#page-grout .grout-bag .chart-frame img {
  filter: drop-shadow(0 18px 32px rgba(15, 23, 41, 0.18));
}
#page-grout .grout-shades {
  max-width: 560px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 28px;
}
#page-grout .grout-shades .chart-frame {
  padding: 12px;
  box-shadow: 0 14px 36px rgba(15, 23, 41, 0.1);
}


/* ===== Mobile polish: homepage + animations ===== */

/* content-visibility breaks IntersectionObserver on many mobile browsers */
@media (max-width: 900px) {
  section:not(.hero) {
    content-visibility: visible !important;
    contain-intrinsic-size: auto !important;
  }
}

/* Keep reveals workable if JS is late */
@media (max-width: 900px) {
  .reveal-el {
    /* slightly less travel so partial paints still feel smooth */
    transform: translateY(18px) scale(0.99);
  }
}

@media (max-width: 760px) {
  .container {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  /* Hero */
  .hero {
    min-height: auto;
    padding-top: 72px;
  }
  .hero-grid {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
    padding: 32px 18px 36px !important;
  }
  .hero-visual {
    order: 0;
    margin-bottom: 4px;
    margin-top: 8px;
  }
  .hero-product-card {
    max-width: 280px;
    padding: 20px 18px 14px;
  }
  .hero-visual .bagwrap {
    max-width: 200px !important;
    margin: 0 auto;
  }
  .hero-stats-bar .hero-stats {
    gap: 18px 24px;
    justify-content: flex-start;
  }
  .hero-trust {
    margin-top: 20px;
  }
  .hero h1,
  .hero .hero-title {
    font-size: clamp(1.85rem, 8vw, 2.4rem) !important;
    line-height: 1.12 !important;
  }
  .hero-actions {
    gap: 10px !important;
  }
  .hero-actions .btn,
  .hero-actions .btn-primary,
  .hero-actions .btn-shop,
  .hero-actions .btn-ghost {
    width: 100%;
    justify-content: center;
    text-align: center;
  }
  .hero-stats {
    gap: 18px !important;
    margin-top: 28px !important;
  }
  .hero-badges {
    gap: 8px;
    margin-top: 14px;
  }
  .float-chip {
    font-size: 0.68rem !important;
    padding: 7px 11px !important;
  }

  /* Section heads */
  .section-head h2,
  .rs-head h2 {
    font-size: clamp(1.55rem, 6.5vw, 2.1rem) !important;
  }
  .section-head p {
    font-size: 0.95rem !important;
  }

  /* Home product cards */
  .home-prod-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .home-prod-card {
    grid-template-columns: 1fr !important;
  }
  .home-prod-card .hpc-visual {
    min-height: 180px !important;
    padding: 16px !important;
  }
  .home-prod-card .hpc-visual img {
    max-width: 160px !important;
    transform: none !important;
  }
  .home-prod-card:first-child .hpc-visual img {
    max-width: 180px !important;
    transform: none !important;
  }

  /* Facility strip */
  .facility-strip-grid {
    grid-template-columns: 1fr 1fr !important;
    height: auto !important;
    gap: 10px !important;
  }
  .facility-panel {
    height: 160px !important;
  }

  /* Stats / excellence */
  .stat-row {
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }

  /* Footer */
  .foot-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 28px 18px !important;
  }
  .foot-grid > div:first-child {
    grid-column: 1 / -1;
  }
  footer {
    padding: 56px 0 24px !important;
  }

  /* Shop cards */
  .shop-grid {
    grid-template-columns: 1fr !important;
  }

  /* Grout page */
  #page-grout .grout-top {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
  #page-grout .grout-bag .chart-frame {
    max-width: 200px !important;
  }
  #page-grout .grout-shades {
    max-width: 100% !important;
  }

  /* Adhesive tabs */
  #page-adhesive .products .prod-tabs {
    gap: 8px !important;
  }
  #page-adhesive .products .prod-tab {
    font-size: 0.72rem !important;
    padding: 10px 12px !important;
  }

  /* Prevent horizontal scroll jank */
  body, html {
    overflow-x: hidden !important;
  }
  img, video, iframe {
    max-width: 100%;
  }
}

/* Vision objective illustrations. */
.obj-card {
  position: relative;
  padding: 26px !important;
}

.obj-card-icon {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  margin-bottom: 20px;
  border: 1px solid rgba(232, 84, 44, 0.28);
  border-radius: 17px;
  background: #fff1eb;
  color: #e8542c;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.obj-card-icon svg {
  width: 29px;
  height: 29px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.25;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.obj-card h4 {
  margin-bottom: 9px !important;
}

@media (max-width: 560px) {
  .obj-card {
    display: grid;
    grid-template-columns: 48px 1fr;
    column-gap: 15px;
    padding: 22px !important;
  }

  .obj-card-icon {
    width: 48px;
    height: 48px;
    grid-row: 1 / span 2;
    margin-bottom: 0;
    border-radius: 15px;
  }
}

@media (max-width: 420px) {
  .facility-strip-grid {
    grid-template-columns: 1fr !important;
  }
  .facility-panel {
    height: 180px !important;
  }
  .stat-row {
    grid-template-columns: 1fr !important;
  }
  .foot-grid {
    grid-template-columns: 1fr !important;
  }
  .hero-product-card {
    max-width: 240px;
  }
  .hero-visual .bagwrap {
    max-width: 170px !important;
  }
}


/* ===== Mobile: header must fit; facility panels must not overlap ===== */

/* Later .navlinks{display:flex} was overriding the hide rule — force mobile menu */
@media (max-width: 900px) {
  header nav .navlinks,
  #navlinks:not(.mobile-open) {
    display: none !important;
  }
  #navlinks.mobile-open {
    display: flex !important;
    flex-direction: column !important;
  }
  header .navburger {
    display: flex !important;
  }
  header .brand {
    flex: 1 1 auto;
    min-width: 0;
  }
  header .nav-actions {
    gap: 12px !important;
    flex-shrink: 0;
  }
  /* Keep cart + burger only; hide desktop CTAs that overflow */
  header .nav-cta,
  header .nav-shop-btn,
  header .account-pill,
  header .profile-auth-wrap {
    display: none !important;
  }
}

/* Facility strip: kill desktop stagger heights / transforms on phone */
@media (max-width: 760px) {
  .facility-strip-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    height: auto !important;
    min-height: 0 !important;
    gap: 14px !important;
    align-items: stretch !important;
  }
  .facility-panel {
    height: 200px !important;
    min-height: 200px !important;
    max-height: none !important;
    
    position: relative !important;
    width: 100% !important;
  }
  .facility-panel .fp-img-wrap,
  .facility-panel .fp-img-wrap img {
    
  }
  .facility-strip-grid .facility-panel:nth-child(n) {
    
  }
}


/* ===== Mobile hamburger menu — clean fit ===== */
@media (max-width: 900px) {
  #navlinks.mobile-open {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #fff;
    padding: 12px 18px 22px !important;
    box-shadow: 0 20px 40px rgba(15, 23, 41, 0.14);
    border-radius: 0 0 18px 18px;
    max-height: calc(100vh - 64px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    z-index: 600;
  }

  /* Primary links — full width, left aligned, comfortable tap targets */
  #navlinks.mobile-open > a:not(.navlinks-shop-mobile):not(.navlinks-contact-mobile),
  #navlinks.mobile-open .nav-dropdown-trigger {
    display: block !important;
    width: 100%;
    text-align: left !important;
    padding: 15px 4px !important;
    border-bottom: 1px solid rgba(15, 23, 41, 0.08) !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--navy) !important;
    font-size: 1.02rem !important;
    font-weight: 600 !important;
    opacity: 1 !important;
  }

  #navlinks.mobile-open .nav-dropdown {
    display: block !important;
    width: 100%;
  }

  #navlinks.mobile-open .nav-dropdown-menu {
    position: static !important;
    display: none;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    box-shadow: none !important;
    border: none !important;
    background: rgba(15, 23, 41, 0.03) !important;
    border-radius: 10px !important;
    margin: 4px 0 8px !important;
    padding: 4px 0 !important;
    min-width: 0 !important;
  }
  #navlinks.mobile-open .nav-dropdown.open .nav-dropdown-menu,
  #navlinks.mobile-open .nav-dropdown-menu.is-open {
    display: block !important;
  }
  #navlinks.mobile-open .nav-dropdown-menu a {
    display: block !important;
    padding: 12px 16px !important;
    border-bottom: none !important;
    font-size: 0.95rem !important;
    font-weight: 500 !important;
    color: var(--navy) !important;
    opacity: 0.85 !important;
  }

  /* CTA buttons — full width, stacked, clear hierarchy */
  #navlinks.mobile-open .navlinks-shop-mobile {
    display: block !important;
    width: 100% !important;
    margin-top: 16px !important;
    margin-bottom: 0 !important;
    padding: 14px 16px !important;
    border: none !important;
    border-radius: 12px !important;
    text-align: center !important;
    background: var(--grad-fire) !important;
    color: #fff !important;
    font-weight: 700 !important;
    font-size: 0.95rem !important;
    box-shadow: 0 8px 20px rgba(232, 84, 44, 0.25);
  }
  #navlinks.mobile-open .navlinks-contact-mobile {
    display: block !important;
    width: 100% !important;
    margin-top: 10px !important;
    padding: 14px 16px !important;
    border: none !important;
    border-radius: 12px !important;
    text-align: center !important;
    background: var(--navy) !important;
    color: #fff !important;
    font-weight: 700 !important;
    font-size: 0.95rem !important;
  }

  /* Login / Register — equal pair under CTAs */
  #navlinks.mobile-open .navlinks-account-mobile {
    display: flex !important;
    gap: 10px !important;
    margin-top: 12px !important;
    padding: 0 !important;
    border: none !important;
  }
  #navlinks.mobile-open .navlinks-account-mobile a {
    flex: 1 !important;
    text-align: center !important;
    padding: 12px 8px !important;
    border: 1.5px solid rgba(15, 23, 41, 0.14) !important;
    border-radius: 12px !important;
    font-weight: 600 !important;
    font-size: 0.9rem !important;
    color: var(--navy) !important;
    background: #fff !important;
  }
}


/* ===== Shop cards: stop image stretch on mobile ===== */
@media (max-width: 900px) {
  .shop-grid {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    padding: 36px 0 70px !important;
  }
  .shop-card .thumb {
    height: auto !important;
    min-height: 220px;
    max-height: 280px;
    padding: 24px 20px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .shop-card .thumb img {
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 240px !important;
    object-fit: contain !important;
    transform: none !important;
  }
  .shop-card:hover .thumb img {
    transform: none !important;
  }
}
@media (max-width: 560px) {
  .shop-card .thumb {
    min-height: 200px;
    max-height: 240px;
  }
  .shop-card .thumb img {
    max-height: 200px !important;
  }
}


/* ===== Plant gallery — scroll parallax rows ===== */
.gallery.gallery-parallax {
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
  margin-top: 60px;
  overflow: hidden;
}
.gallery-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  will-change: transform;
  transition: none;
}
.gallery-row figure {
  aspect-ratio: 4 / 3 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background: #e8e4db;
  margin: 0;
}
.gallery-row figure img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform 0.55s cubic-bezier(0.16, 0.84, 0.44, 1) !important;
}
.gallery-row figure:hover img {
  transform: scale(1.07) !important;
}
@media (max-width: 900px) {
  .gallery-row {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 520px) {
  .gallery-row {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
  /* Lighter motion on small screens */
  .gallery.gallery-parallax {
    overflow: visible;
  }
}
@media (prefers-reduced-motion: reduce) {
  .gallery-row {
    transform: none !important;
  }
}


/* ===== Plant gallery — sticky horizontal sweep (dramatic) ===== */
.plant-scroll-stage {
  position: relative;
  height: 280vh; /* long scroll = slow noticeable sweep */
  margin: 48px 0 24px;
}
.plant-scroll-sticky {
  position: sticky;
  top: 0;
  height: 100vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: transparent;
}
.plant-scroll-track {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 0;
}
.plant-scroll-stage .gallery-row {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 16px;
  width: max-content;
  will-change: transform;
  grid-template-columns: none !important;
}
.plant-scroll-stage .gallery-row figure {
  flex: 0 0 auto;
  width: min(320px, 72vw);
  aspect-ratio: 4 / 3 !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  margin: 0;
  background: #e8e4db;
  box-shadow: 0 16px 40px rgba(15, 23, 41, 0.12);
}
.plant-scroll-stage .gallery-row figure img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
@media (max-width: 760px) {
  .plant-scroll-stage {
    height: 220vh;
  }
  .plant-scroll-stage .gallery-row {
    gap: 12px;
  }
  .plant-scroll-stage .gallery-row figure {
    width: min(260px, 78vw);
  }
}
@media (prefers-reduced-motion: reduce) {
  .plant-scroll-stage {
    height: auto;
  }
  .plant-scroll-sticky {
    position: relative;
    height: auto;
    overflow: visible;
  }
  .plant-scroll-stage .gallery-row {
    width: 100%;
    flex-wrap: wrap !important;
    transform: none !important;
  }
  .plant-scroll-stage .gallery-row figure {
    width: calc(50% - 8px);
  }
}


/* ===== Plant gallery: compact 2-row, scroll slide (no tall spacer) ===== */
.plant-scroll-stage { height: auto !important; margin: 0 !important; }
.plant-scroll-sticky { position: static !important; height: auto !important; overflow: visible !important; }
.plant-scroll-track { display: contents; }

#plantGallery.gallery-parallax {
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
  margin-top: 48px !important;
  margin-bottom: 8px !important;
  overflow: hidden;
  padding: 8px 0;
}
#plantGallery .gallery-row {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 14px !important;
  width: 100% !important;
  will-change: transform;
}
#plantGallery .gallery-row figure {
  aspect-ratio: 4 / 3 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  margin: 0;
  background: #e8e4db;
}
#plantGallery .gallery-row figure img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
@media (max-width: 900px) {
  #plantGallery .gallery-row {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 520px) {
  #plantGallery .gallery-row {
    gap: 10px !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  #plantGallery .gallery-row {
    transform: none !important;
  }
}


/* ===== Hero — richer atmosphere, same brand vibe ===== */
.hero {
  position: relative;
  isolation: isolate;
}
.hero-atmosphere {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  overflow: hidden;
}
.hero-glow {
  position: absolute;
  border-radius: 50%;
  opacity: 0.55;
  will-change: auto;
}
.hero-glow-a { display: none; }
.hero-glow-b { display: none; }
.hero-grid-lines { display: none; }
.hero-grid {
  position: relative;
  z-index: 2;
}
.hero .eyebrow {
  display: inline-block;
  padding: 0;
  border: none;
  background: none;
  color: #F5A623 !important;
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  margin-bottom: 16px;
  opacity: 0.95;
}
.hero .eyebrow::before { display: none; }
.hero h1 {
  letter-spacing: -0.03em;
  line-height: 1.12;
  text-shadow: none;
}
.hero h1 em {
  font-style: normal;
  background: var(--grad-fire);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}
.hero .lead {
  color: #a8b0bc !important;
  max-width: 32rem;
  font-size: 1.02rem;
  line-height: 1.65;
}
.hero-actions {
  margin-top: 26px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.hero-actions .btn-primary,
.hero-actions .btn-shop {
  box-shadow: 0 10px 28px rgba(232, 84, 44, 0.32);
}
.hero-actions .btn-ghost {
  border-width: 1.5px !important;
  backdrop-filter: blur(6px);
  background: rgba(255,255,255,0.04) !important;
}
.hero-stats {
  margin-top: 48px !important;
  padding-top: 28px;
  border-top: 1px solid rgba(255,255,255,0.08);
  gap: 28px 36px !important;
}
.hero-stat .num {
  font-size: clamp(1.6rem, 2.4vw, 2rem);
  background: var(--grad-fire);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  font-weight: 800;
}
.hero-stat .lbl {
  color: #8b939f !important;
  letter-spacing: 0.4px;
  font-size: 0.72rem;
  text-transform: uppercase;
}
.hero-stats-bar .hero-stat .num {
  font-size: 1.45rem;
  color: #fff;
}
.hero-stats-bar .num {
  background: none !important;
  -webkit-text-fill-color: #fff !important;
  color: #fff !important;
}
.hero-visual {
  position: relative;
}
.hero-stage-glow { display: none; }
.hero-visual .bagwrap {
  position: relative;
  z-index: 1;
}
/* bagFloat removed — continuous transform animation caused severe FPS drops in Edge */
.hero-visual .bagwrap {
  animation: none !important;
  will-change: auto !important;
  transform: none !important;
}
.hero-visual .float-chip {
  background: rgba(255,255,255,0.96) !important;
  border: 1px solid rgba(255,255,255,0.7);
  box-shadow: 0 8px 20px rgba(0,0,0,0.14);
  font-weight: 600;
  will-change: auto !important;
  animation: none !important;
}
@media (max-width: 760px) {
  .hero-glow-a { opacity: 0.35; }
  .hero-glow-b { opacity: 0.25; }
  .hero-grid-lines { opacity: 0.4; }
  .hero-stage-glow { opacity: 0.7; }
}


/* Review card date + time */
.rs-card-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}
.rs-card-when {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  line-height: 1.25;
  flex-shrink: 0;
}
.rs-card-date {
  font-family: var(--font-mono);
  font-size: 0.68rem;
  font-weight: 600;
  color: var(--navy);
  letter-spacing: 0.2px;
}
.rs-card-time {
  font-family: var(--font-mono);
  font-size: 0.62rem;
  color: var(--grey);
  margin-top: 2px;
}
.rs-card .rs-card-stars {
  margin-bottom: 0;
}


/* ---------- BOTTOM TAB BAR (app-native nav, mobile only) ---------- */
#bottomNav{
  display:none;
  position:fixed; left:0; right:0; bottom:0; z-index:600;
  background:rgba(15,23,41,0.97);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-top:1px solid rgba(255,255,255,0.08);
  padding:6px 4px calc(6px + env(safe-area-inset-bottom, 0px));
  box-shadow:0 -8px 26px rgba(0,0,0,0.28);
}
#bottomNav .bn-row{ display:flex; align-items:stretch; justify-content:space-between; }
#bottomNav .bn-item{
  flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:3px; padding:7px 2px 5px; background:none; border:none; cursor:pointer;
  color:#8991A3; font-family:var(--font-body); font-size:0.62rem; font-weight:600;
  letter-spacing:0.2px; position:relative;
}
#bottomNav .bn-item svg{ width:21px; height:21px; transition:transform .2s ease; }
#bottomNav .bn-item.active{ color:var(--gold); }
#bottomNav .bn-item.active svg{ transform:translateY(-1px) scale(1.08); }
#bottomNav .bn-item.active::before{
  content:''; position:absolute; top:0; left:50%; transform:translateX(-50%);
  width:22px; height:3px; border-radius:0 0 4px 4px; background:var(--grad-fire);
}
#bottomNav .bn-cart-wrap{ position:relative; }
#bottomNav .bn-badge{
  position:absolute; top:2px; right:max(4px, calc(50% - 22px)); min-width:15px; height:15px; padding:0 3px;
  border-radius:8px; background:var(--orange); color:#fff; font-size:0.56rem; font-weight:800;
  display:flex; align-items:center; justify-content:center; line-height:1;
}
@media (max-width:900px){
  #bottomNav{ display:block; }
  body.has-bottom-nav{ padding-bottom:0; }
  #floatShopBtn{ bottom:76px !important; }
  #waWidget{ bottom:76px !important; }
  #floatOrdersBtn, #floatPaymentBtn, #floatReviewsBtn, #floatStoresBtn{ bottom:76px !important; }
  footer{ padding-bottom:80px; }
}


/* Mobile app: keep top bar + bottom tab bar */
@media (max-width: 900px) {
  header {
    display: block !important;
    position: sticky;
    top: 0;
    z-index: 500;
  }
  /* leave room so content isn't hidden under bottom nav */
  footer {
    padding-bottom: 80px;
  }
}

/* Desktop: Adhesive / Grout sit cleanly in the top bar */
@media (min-width: 901px) {
  .navlinks a[href="adhesive.html"],
  .navlinks a[href="grout.html"] {
    white-space: nowrap;
  }
}




/* ===== Mobile bottom tab bar (always on phones) ===== */
#bottomNav {
  display: none;
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 600;
  background: rgba(15, 23, 41, 0.97);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  padding: 6px 4px calc(6px + env(safe-area-inset-bottom, 0px));
  box-shadow: 0 -8px 26px rgba(0, 0, 0, 0.28);
}
@media (max-width: 900px) {
  #bottomNav {
    display: block !important;
  }
  header {
    display: block !important;
  }
  /* Float actions sit just above the tab bar — not mid-screen */
  #waWidget {
    bottom: calc(12px + 56px + env(safe-area-inset-bottom, 0px)) !important;
    top: auto !important;
    left: 14px !important;
    right: auto !important;
  }
  #floatWhatsBtn {
    position: relative !important;
    bottom: auto !important;
    top: auto !important;
  }
  #floatShopBtn {
    bottom: calc(72px + env(safe-area-inset-bottom, 0px)) !important;
    top: auto !important;
    right: 14px !important;
    left: auto !important;
  }
  #floatOrdersBtn,
  #floatPaymentBtn,
  #floatReviewsBtn,
  #floatStoresBtn {
    bottom: calc(72px + env(safe-area-inset-bottom, 0px)) !important;
  }
  footer {
    padding-bottom: 90px !important;
  }
}


/* ===== Float buttons: pin just above bottom tab bar (fix) ===== */
@media (max-width: 900px) {
  #bottomNav {
    display: block !important;
    z-index: 1000;
  }
  /* Green WhatsApp — only move the fixed wrapper, not the relative button */
  #waWidget {
    position: fixed !important;
    left: 14px !important;
    right: auto !important;
    top: auto !important;
    bottom: calc(64px + env(safe-area-inset-bottom, 0px)) !important;
    z-index: 900 !important;
    transform: none !important;
  }
  #floatWhatsBtn {
    position: relative !important;
    bottom: auto !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
  }
  /* Orange Shop Now */
  #floatShopBtn {
    position: fixed !important;
    right: 14px !important;
    left: auto !important;
    top: auto !important;
    bottom: calc(64px + env(safe-area-inset-bottom, 0px)) !important;
    z-index: 900 !important;
    transform: none !important;
  }
}

/* ===== REMOVE bottom tab bar (user request) ===== */
#bottomNav {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
  height: 0 !important;
  overflow: hidden !important;
}
@media (max-width: 900px) {
  #bottomNav {
    display: none !important;
  }
  /* Restore float buttons to normal bottom position (no tab bar) */
  #waWidget {
    bottom: 14px !important;
  }
  #floatShopBtn {
    bottom: 14px !important;
  }
  #floatOrdersBtn,
  #floatPaymentBtn,
  #floatReviewsBtn,
  #floatStoresBtn {
    bottom: 14px !important;
  }
  footer {
    padding-bottom: 24px !important;
  }
  body.has-bottom-nav {
    padding-bottom: 0 !important;
  }
}

/* ===== Admin hub page ===== */
.admin-hub {
  padding: 140px 0 100px;
  min-height: 70vh;
  background:
    radial-gradient(ellipse 60% 40% at 90% 0%, rgba(232, 84, 44, 0.08), transparent 60%),
    radial-gradient(ellipse 50% 35% at 10% 100%, rgba(15, 23, 41, 0.06), transparent 55%),
    var(--cream, #F4EEE3);
}
.admin-hub-head {
  text-align: center;
  max-width: 560px;
  margin: 0 auto 48px;
}
.admin-hub-head .tag-pill {
  display: inline-flex;
  margin-bottom: 14px;
  background: var(--orange) !important;
  color: #fff !important;
}
.admin-hub-head h1 {
  font-family: var(--font-head);
  font-size: clamp(2rem, 4vw, 2.8rem);
  color: var(--navy);
  letter-spacing: -0.03em;
  margin-bottom: 12px;
}
.admin-hub-head p {
  color: var(--grey);
  font-size: 1.05rem;
  line-height: 1.55;
}
.admin-hub-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 22px;
  max-width: 920px;
  margin: 0 auto;
}
.admin-hub-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  padding: 32px 28px 28px;
  border-radius: 20px;
  border: 1px solid rgba(15, 23, 41, 0.08);
  background: #fff;
  cursor: pointer;
  transition: transform 0.3s cubic-bezier(0.16, 0.84, 0.44, 1), box-shadow 0.3s ease, border-color 0.25s ease;
  box-shadow: 0 10px 30px rgba(15, 23, 41, 0.06);
  font-family: inherit;
  color: inherit;
  min-height: 220px;
}
.admin-hub-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 22px 48px rgba(15, 23, 41, 0.12);
  border-color: transparent;
}
.ahc-icon {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 18px;
  color: #fff;
}
.ahc-icon svg {
  width: 26px;
  height: 26px;
}
.ahc-orders .ahc-icon { background: var(--navy); box-shadow: 0 10px 22px rgba(15, 23, 41, 0.28); }
.ahc-payment .ahc-icon { background: var(--grad-fire); box-shadow: 0 10px 22px rgba(232, 84, 44, 0.35); }
.ahc-stores .ahc-icon { background: #1B8A4C; box-shadow: 0 10px 22px rgba(27, 138, 76, 0.3); }
.ahc-reviews .ahc-icon { background: #f5a623; box-shadow: 0 10px 22px rgba(245, 166, 35, 0.35); }
.ahc-byref .ahc-icon { background: #2563EB; box-shadow: 0 10px 22px rgba(37, 99, 235, 0.32); }
.ahc-cancel .ahc-icon { background: #C0392B; box-shadow: 0 10px 22px rgba(192, 57, 43, 0.32); }

.ahc-label {
  font-family: var(--font-head);
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 8px;
  letter-spacing: -0.01em;
}
.ahc-desc {
  font-size: 0.92rem;
  line-height: 1.55;
  color: var(--grey);
  flex: 1;
  margin-bottom: 16px;
}
.ahc-go {
  font-family: var(--font-mono);
  font-size: 0.75rem;
  letter-spacing: 1px;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--orange);
}
.admin-hub-card:hover .ahc-go {
  color: var(--navy);
}

/* Nav hub button — grid/apps icon (fixed size, never stretch) */
.nav-ref-btn.admin-hub {
  align-items: center !important;
  justify-content: center !important;
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  min-height: 38px !important;
  max-width: 38px !important;
  max-height: 38px !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  flex: 0 0 38px !important;
  align-self: center !important;
  box-sizing: border-box !important;
  background: var(--navy) !important;
  color: #fff !important;
  box-shadow: 0 8px 18px rgba(15, 23, 41, 0.25);
  line-height: 0 !important;
}
.nav-ref-btn.admin-hub svg {
  width: 17px !important;
  height: 17px !important;
  flex-shrink: 0 !important;
  display: block !important;
}
.nav-ref-btn.admin-hub:hover {
  transform: translateY(-2px) scale(1.06);
}
/* Safety: all nav-ref circular buttons stay fixed size */
.nav-ref-btn {
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  min-height: 38px !important;
  max-height: 38px !important;
  flex: 0 0 38px !important;
  align-self: center !important;
  overflow: hidden !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

@media (max-width: 720px) {
  .admin-hub {
    padding: 120px 0 70px;
  }
  .admin-hub-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .admin-hub-card {
    min-height: 0;
    padding: 24px 22px;
  }
}


/* ===== Cancel Orders modal + hub card ===== */
.ahc-cancel .ahc-icon {
  background: #c0392b;
  box-shadow: 0 10px 22px rgba(192, 57, 43, 0.32);
}
.cx-modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 100000;
  background: rgba(8, 13, 24, 0.55);
  backdrop-filter: blur(6px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s ease, visibility 0.25s;
}
.cx-modal-overlay.open {
  opacity: 1;
  visibility: visible;
}
.cx-modal {
  position: relative;
  width: min(440px, 100%);
  background: #fff;
  border-radius: 18px;
  padding: 28px 26px 24px;
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.28);
  transform: translateY(14px) scale(0.97);
  transition: transform 0.3s cubic-bezier(0.16, 0.84, 0.44, 1);
}
.cx-modal-overlay.open .cx-modal {
  transform: translateY(0) scale(1);
}
.cx-modal-close {
  position: absolute;
  top: 12px;
  right: 14px;
  width: 34px;
  height: 34px;
  border: none;
  border-radius: 50%;
  background: rgba(15, 23, 41, 0.06);
  font-size: 1.2rem;
  cursor: pointer;
  color: var(--navy);
}
.cx-modal h3 {
  font-family: var(--font-head);
  font-size: 1.35rem;
  color: var(--navy);
  margin: 0 0 8px;
}
.cx-modal-sub {
  font-size: 0.9rem;
  color: var(--grey);
  line-height: 1.5;
  margin-bottom: 18px;
}
.cx-label {
  display: block;
  font-family: var(--font-mono);
  font-size: 0.68rem;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  color: var(--grey);
  margin-bottom: 6px;
}
.cx-modal textarea {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 10px;
  font-family: inherit;
  font-size: 0.92rem;
  resize: vertical;
  min-height: 72px;
  margin-bottom: 16px;
  background: var(--cream);
}
.cx-modal textarea:focus {
  outline: none;
  border-color: var(--orange);
  box-shadow: 0 0 0 3px rgba(232, 84, 44, 0.12);
}
.cx-confirm-row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 0.9rem;
  color: var(--navy);
  font-weight: 600;
  cursor: pointer;
  margin-bottom: 22px;
  line-height: 1.4;
}
.cx-confirm-row input[type=checkbox] {
  width: 20px;
  height: 20px;
  margin-top: 1px;
  flex-shrink: 0;
  accent-color: #c0392b;
  cursor: pointer;
}
.cx-modal-actions {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  flex-wrap: wrap;
}
.cx-btn-secondary {
  padding: 12px 18px;
  border-radius: 10px;
  border: 1.5px solid rgba(15, 23, 41, 0.14);
  background: #fff;
  font-weight: 700;
  font-size: 0.88rem;
  cursor: pointer;
  font-family: inherit;
  color: var(--navy);
}
.cx-btn-danger {
  padding: 12px 18px;
  border-radius: 10px;
  border: none;
  background: #c0392b;
  color: #fff;
  font-weight: 700;
  font-size: 0.88rem;
  cursor: pointer;
  font-family: inherit;
  box-shadow: 0 8px 18px rgba(192, 57, 43, 0.28);
}
.cx-btn-danger:disabled {
  opacity: 0.45;
  cursor: not-allowed;
  box-shadow: none;
}
.cx-btn-danger:not(:disabled):hover {
  filter: brightness(1.05);
}
.cx-order-card {
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 14px 16px;
  background: #fff;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}
.cx-order-card.is-cancelled {
  opacity: 0.55;
  background: var(--cream-2);
}
.cx-order-meta {
  font-size: 0.78rem;
  color: var(--grey);
  margin-top: 4px;
}
.cx-cancel-btn {
  padding: 10px 14px;
  border-radius: 8px;
  border: none;
  background: #c0392b;
  color: #fff;
  font-weight: 700;
  font-size: 0.8rem;
  cursor: pointer;
  font-family: inherit;
  white-space: nowrap;
}
.cx-cancel-btn:hover {
  filter: brightness(1.06);
}
.cx-badge-cancelled {
  font-family: var(--font-mono);
  font-size: 0.65rem;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  padding: 4px 8px;
  border-radius: 20px;
  background: #c0392b;
  color: #fff;
}


/* ==========================================================================
   PRODUCTION SAFETY — Cloudflare Pages / live site
   content-visibility + contain-intrinsic-size were causing large empty gaps
   and breaking IntersectionObserver reveals after deploy.
   ========================================================================== */
section:not(.hero) {
  content-visibility: visible !important;
  contain-intrinsic-size: auto !important;
}

/* If JS is slow or observer misses, do not leave content invisible forever.
   Elements still animate in when .in is added; this only softens the "stuck" state. */
.reveal-el {
  /* keep initial motion, but ensure they become visible after a short delay
     even if IntersectionObserver never fires (content-visibility / IO bugs) */
  animation: revealFallback 0.01s 1.4s forwards;
}
@keyframes revealFallback {
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
.reveal-el.in {
  animation: none;
  opacity: 1;
  transform: translateY(0) scale(1);
}

/* Facility grid: never let parallax overflow create empty half-width layouts */
.facility-strip {
  overflow: hidden;
}
.facility-strip-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  width: 100% !important;
  max-width: 980px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.facility-panel {
  min-height: 0;
  /* avoid stacking context issues with will-change + transforms */
}
@media (max-width: 720px) {
  .facility-strip-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 420px) {
  .facility-strip-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Prefer reduced motion: skip fancy motion entirely */
@media (prefers-reduced-motion: reduce) {
  .reveal-el {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
    transition: none !important;
  }
  .facility-panel,
  .facility-panel .fp-img-wrap {
    
  }
}

/* Ref-only admin pages start hidden until enforceRefOnlyPageGuard()
   confirms the visitor is a signed-in ref account — prevents the page
   shell flashing on screen for logged-out visitors / wrong accounts. */
html.ref-gate-hide #site { visibility: hidden; }



/* ========== INDUSTRIAL HERO (v75+) ========== */
.hero {
  position: relative;
  min-height: auto;
  background: #0a0f1a;
  color: #fff;
  display: block;
  padding-top: 80px;
  overflow: visible;
  padding-bottom: 56px;
}
.hero-inner {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 32px;
}
.hero-top {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 40px 56px;
  align-items: center;
  padding: 48px 0 36px;
}
.hero-copy .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 7px 14px;
  border-radius: 999px;
  border: 1px solid rgba(245, 166, 35, 0.35);
  background: rgba(245, 166, 35, 0.08);
  color: #F5A623 !important;
  font-family: var(--font-mono);
  font-size: 0.68rem;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  margin-bottom: 20px;
}
.hero-copy .eyebrow::before {
  content: "";
  display: block !important;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--orange);
  box-shadow: 0 0 10px rgba(232, 84, 44, 0.7);
}
.hero h1 {
  font-family: var(--font-head);
  font-weight: 700;
  font-size: clamp(2.3rem, 4.5vw, 3.5rem);
  line-height: 1.06;
  letter-spacing: -0.03em;
  margin-bottom: 18px;
  color: #fff;
  text-shadow: none;
  max-width: none;
}
.hero h1 em {
  font-style: normal;
  background: var(--grad-fire);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}
.hero .lead {
  color: #9aa3b2 !important;
  max-width: 36rem;
  font-size: 1rem;
  line-height: 1.65;
  margin-bottom: 0;
}
.hero-actions {
  margin-top: 24px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.hero-actions .btn-primary {
  box-shadow: 0 8px 22px rgba(232, 84, 44, 0.28);
}
.hero-actions .btn-ghost {
  border: 1.5px solid rgba(255,255,255,0.28) !important;
  background: transparent !important;
  color: #fff !important;
  backdrop-filter: none;
}
.hero-actions .btn-ghost:hover {
  border-color: rgba(255,255,255,0.55) !important;
  background: rgba(255,255,255,0.06) !important;
}
.hero-certs {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin-top: 22px;
  padding: 0;
  font-size: 0.78rem;
  color: #8b939f;
}
.hero-certs li {
  display: flex;
  align-items: center;
  gap: 6px;
}
.hero-certs li::before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--orange);
  flex-shrink: 0;
}
.hero-certs button {
  background: none;
  border: none;
  color: #F5A623;
  font: inherit;
  cursor: pointer;
  padding: 0;
}
.hero-certs button:hover { text-decoration: underline; }

/* Main product visual */
.hero-visual {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.hero-main-bag {
  position: relative;
  width: 100%;
  max-width: 300px;
  /* slightly taller so full bag (including bottom edge) always fits */
  aspect-ratio: 3 / 4.15;
  overflow: visible;
}
.hero-main-bag .bag-slide {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center center;
  opacity: 0;
  transition: opacity 0.4s ease;
  pointer-events: none;
  filter: drop-shadow(0 18px 28px rgba(0,0,0,0.45));
}
.hero-main-bag .bag-slide.is-active {
  opacity: 1;
  pointer-events: auto;
  z-index: 2;
}
/* ensure grout bag (slightly different framing) is fully visible */
#heroSlide3 {
  object-fit: contain !important;
  object-position: center 45% !important;
}
.hero-main-label {
  text-align: center;
  margin-top: 14px;
}
.hero-main-label strong {
  display: block;
  font-family: var(--font-head);
  font-size: 1.05rem;
  font-weight: 700;
  color: #fff;
}
.hero-main-label span {
  display: block;
  font-size: 0.8rem;
  color: #8b939f;
  margin-top: 2px;
}

/* Product range strip — industrial selector */
.hero-range {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  padding: 8px 0 28px;
  border-top: 1px solid rgba(255,255,255,0.08);
  padding-top: 22px;
}
.hr-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 14px 10px 12px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 12px;
  cursor: pointer;
  color: #c5cbd6;
  transition: border-color 0.2s, background 0.2s, transform 0.2s;
  font-family: var(--font-body);
}
.hr-item:hover {
  background: rgba(255,255,255,0.06);
  border-color: rgba(255,255,255,0.16);
}
.hr-item.is-active {
  background: rgba(232, 84, 44, 0.1);
  border-color: rgba(232, 84, 44, 0.55);
  color: #fff;
}
.hr-item img {
  width: 56px;
  height: 74px;
  object-fit: contain;
  filter: drop-shadow(0 4px 8px rgba(0,0,0,0.35));
}
.hr-name {
  font-size: 0.78rem;
  font-weight: 600;
  text-align: center;
  line-height: 1.25;
}
.hr-spec {
  font-family: var(--font-mono);
  font-size: 0.65rem;
  letter-spacing: 0.4px;
  color: #8b939f;
  text-transform: uppercase;
}
.hr-item.is-active .hr-spec { color: #F5A623; }

/* Stats bar — clean industrial strip */
.hero-stats-bar {
  border-top: none;
  background: transparent;
  margin: 0 0 36px;
  padding: 0;
}
.hero-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  max-width: 100%;
  margin: 0;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 14px;
  overflow: hidden;
  background: rgba(255,255,255,0.03);
}
.hero-stats-bar .hero-stat {
  padding: 22px 16px;
  text-align: center;
  border-right: 1px solid rgba(255,255,255,0.08);
  position: relative;
}
.hero-stats-bar .hero-stat:last-child {
  border-right: none;
}
.hero-stats-bar .hero-stat .num {
  font-family: var(--font-head);
  font-size: 1.65rem;
  font-weight: 700;
  color: #fff !important;
  background: none !important;
  -webkit-text-fill-color: #fff !important;
  line-height: 1.15;
  letter-spacing: -0.02em;
}
.hero-stats-bar .hero-stat .lbl {
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  color: #8b939f !important;
  margin-top: 6px;
  font-weight: 500;
}
@media (max-width: 700px) {
  .hero-stats {
    grid-template-columns: repeat(2, 1fr);
  }
  .hero-stats-bar .hero-stat:nth-child(2) {
    border-right: none;
  }
  .hero-stats-bar .hero-stat:nth-child(1),
  .hero-stats-bar .hero-stat:nth-child(2) {
    border-bottom: 1px solid rgba(255,255,255,0.08);
  }
  .hero-stats-bar .hero-stat {
    padding: 18px 12px;
  }
}

/* Hide old atmosphere / card / float remnants in hero */
/* keep old floating chips/dots/cards hidden; restore atmosphere */
.hero-product-card,
.hero-badges,
.float-chip { display: none !important; }
.hero-atmosphere { display: block !important; position: absolute; inset: 0; pointer-events: none; z-index: 0; overflow: hidden; }
.hero-glow { display: block !important; position: absolute; border-radius: 50%; opacity: 0.5; will-change: auto; }
.hero-glow-a {
  display: block !important;
  width: min(620px, 70vw);
  height: min(620px, 70vw);
  top: -12%;
  right: -8%;
  background: radial-gradient(circle, rgba(232, 84, 44, 0.26) 0%, rgba(245, 166, 35, 0.1) 40%, transparent 70%);
}
.hero-glow-b {
  display: block !important;
  width: min(480px, 55vw);
  height: min(480px, 55vw);
  bottom: -18%;
  left: -10%;
  background: radial-gradient(circle, rgba(46, 111, 232, 0.14) 0%, transparent 70%);
}
.hero-grid-lines {
  display: block !important;
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: radial-gradient(ellipse 70% 60% at 50% 40%, #000 20%, transparent 75%);
  -webkit-mask-image: radial-gradient(ellipse 70% 60% at 50% 40%, #000 20%, transparent 75%);
  opacity: 0.65;
}
.hero-stage-glow { display: none !important; }
.hero-inner, .hero-top, .hero-range, .hero-stats-bar { position: relative; z-index: 2; }

.hero .bagwrap { animation: none !important; will-change: auto !important; transform: none !important; }

@media (max-width: 900px) {
  .hero-top {
    grid-template-columns: 1fr;
    gap: 28px;
    padding: 32px 0 24px;
  }
  .hero-visual { order: 0; margin-top: 12px; }
  .hero-main-bag { max-width: 200px; }
  .hero h1 { max-width: none; font-size: clamp(1.7rem, 7vw, 2.2rem); }
  .hero-range {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
  .hr-item { padding: 12px 8px 10px; }
  .hr-item img { width: 48px; height: 64px; }
  .hero-stats-bar { margin: 0 -18px; padding: 18px; }
  .hero-inner { padding: 0 18px; }
  .hero-stats { gap: 16px 24px; }
}
@media (max-width: 480px) {
  .hero-range { grid-template-columns: repeat(2, 1fr); }
  .hero-certs { gap: 6px 12px; font-size: 0.72rem; }
}


/* Hero CTAs — match original Explore / Shop / Contact look */
.hero-actions .btn-primary,
.hero-actions .btn-shop {
  background: var(--grad-fire) !important;
  border: none !important;
  color: #fff !important;
  box-shadow: 0 10px 28px rgba(232, 84, 44, 0.32);
  font-weight: 700;
}
.hero-actions .btn-primary:hover,
.hero-actions .btn-shop:hover {
  filter: brightness(1.06);
  transform: translateY(-1px);
}
.hero-actions .btn-ghost {
  border: 1.5px solid rgba(255,255,255,0.35) !important;
  background: transparent !important;
  color: #fff !important;
  backdrop-filter: none;
  font-weight: 600;
}
.hero-actions .btn-ghost:hover {
  border-color: rgba(255,255,255,0.6) !important;
  background: rgba(255,255,255,0.06) !important;
}

.hero-stats-bar .hero-stat .num {
  background: none !important;
  -webkit-background-clip: unset !important;
  background-clip: unset !important;
  -webkit-text-fill-color: #fff !important;
  color: #fff !important;
}
.hero-stats-bar .hero-stat::before {
  content: "";
  position: absolute;
  top: 0;
  left: 20%;
  right: 20%;
  height: 2px;
  background: var(--grad-fire);
  opacity: 0;
  transition: opacity 0.2s;
  border-radius: 0 0 2px 2px;
}
.hero-stats-bar .hero-stat:hover::before {
  opacity: 1;
}


/* ========== Hero stats — original clean orange style ========== */
.hero-stats-bar {
  border-top: 1px solid rgba(255,255,255,0.08) !important;
  background: transparent !important;
  margin: 8px 0 40px !important;
  padding: 28px 0 8px !important;
}
.hero-stats {
  display: flex !important;
  grid-template-columns: none !important;
  gap: 28px 48px !important;
  flex-wrap: wrap !important;
  justify-content: flex-start !important;
  border: none !important;
  border-radius: 0 !important;
  overflow: visible !important;
  background: transparent !important;
  max-width: 100% !important;
  margin: 0 !important;
}
.hero-stats-bar .hero-stat {
  padding: 0 !important;
  text-align: left !important;
  border-right: none !important;
  border-bottom: none !important;
  position: relative;
  min-width: 0;
}
.hero-stats-bar .hero-stat::before {
  display: none !important;
}
.hero-stats-bar .hero-stat .num {
  font-family: var(--font-head) !important;
  font-size: 2rem !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  letter-spacing: -0.02em !important;
  background: none !important;
  -webkit-background-clip: unset !important;
  background-clip: unset !important;
  -webkit-text-fill-color: var(--orange) !important;
  color: var(--orange) !important;
}
.hero-stats-bar .hero-stat .lbl {
  font-size: 0.68rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  color: #8b939f !important;
  margin-top: 6px !important;
  font-weight: 500 !important;
}
@media (max-width: 700px) {
  .hero-stats {
    gap: 20px 28px !important;
  }
  .hero-stats-bar .hero-stat .num {
    font-size: 1.65rem !important;
  }
}


/* Hero carousel dots under main bag */
.hero-visual .bag-dots {
  display: flex !important;
  position: relative !important;
  left: auto !important;
  bottom: auto !important;
  transform: none !important;
  justify-content: center;
  gap: 10px;
  margin-top: 14px;
  z-index: 3;
}
.hero-visual .bag-dot {
  position: relative;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: none;
  padding: 0;
  background: transparent;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.hero-visual .bag-dot::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(255,255,255,0.28);
  transition: background 0.25s, transform 0.25s;
}
.hero-visual .bag-dot:hover::before {
  background: rgba(255,255,255,0.5);
}
.hero-visual .bag-dot.is-active::before {
  background: var(--grad-fire);
  transform: scale(1.3);
}


/* ========== Hero fit — tighter above-the-fold spacing ========== */
.hero {
  padding-top: 72px !important;
}
.hero-top {
  padding: 36px 0 24px !important;
  gap: 32px 48px !important;
  align-items: center !important;
}
.hero-copy .eyebrow {
  margin-bottom: 14px !important;
}
.hero h1 {
  margin-bottom: 14px !important;
  font-size: clamp(2.1rem, 4.2vw, 3.2rem) !important;
}
.hero .lead {
  font-size: 0.98rem !important;
  line-height: 1.6 !important;
}
.hero-actions {
  margin-top: 20px !important;
}
.hero-certs {
  margin-top: 16px !important;
}
.hero-main-bag {
  max-width: 260px !important;
  aspect-ratio: 3 / 4 !important;
}
.hero-main-label {
  margin-top: 10px !important;
}
.hero-visual .bag-dots {
  margin-top: 10px !important;
}
.hero-range {
  padding: 16px 0 20px !important;
  gap: 10px !important;
}
.hr-item {
  padding: 12px 8px 10px !important;
}
.hr-item img {
  width: 48px !important;
  height: 64px !important;
}
.hero-stats-bar {
  margin: 4px 0 28px !important;
  padding: 20px 0 4px !important;
}
.hero-stats-bar .hero-stat .num {
  font-size: 1.75rem !important;
}
@media (max-width: 900px) {
  .hero-top {
    padding: 24px 0 18px !important;
    gap: 20px !important;
  }
  .hero-main-bag {
    max-width: 190px !important;
  }
  .hero-range {
    padding: 12px 0 16px !important;
  }
}


/* ===== Product variant tabs — clean soft borders ===== */
#page-adhesive .products .prod-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 28px;
}
#page-adhesive .products .prod-tabs .prod-tab,
#page-adhesive .products .prod-tab {
  color: #3d4654 !important;
  font-weight: 600 !important;
  font-size: 0.88rem !important;
  background: #fff !important;
  border: 1px solid rgba(15, 23, 41, 0.12) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  opacity: 1 !important;
  padding: 11px 18px !important;
  transition: border-color 0.2s, background 0.2s, color 0.2s, box-shadow 0.2s !important;
}
#page-adhesive .products .prod-tabs .prod-tab:hover,
#page-adhesive .products .prod-tab:hover {
  background: #fff !important;
  color: #0F1729 !important;
  border-color: rgba(15, 23, 41, 0.28) !important;
  box-shadow: 0 2px 8px rgba(15, 23, 41, 0.06) !important;
}
#page-adhesive .products .prod-tabs .prod-tab.active,
#page-adhesive .products .prod-tab.active {
  font-weight: 700 !important;
  box-shadow: 0 3px 12px rgba(15, 23, 41, 0.1) !important;
}
#page-adhesive .products .prod-tabs .prod-tab.active[data-tab="p1"] {
  background: #F5C518 !important;
  color: #1a1400 !important;
  border-color: #F5C518 !important;
  box-shadow: 0 3px 12px rgba(245, 197, 24, 0.3) !important;
}
#page-adhesive .products .prod-tabs .prod-tab.active[data-tab="p2"] {
  background: #2E8B4F !important;
  color: #fff !important;
  border-color: #2E8B4F !important;
  box-shadow: 0 3px 12px rgba(46, 139, 79, 0.28) !important;
}
#page-adhesive .products .prod-tabs .prod-tab.active[data-tab="p3"] {
  background: #2E6FE8 !important;
  color: #fff !important;
  border-color: #2E6FE8 !important;
  box-shadow: 0 3px 12px rgba(46, 111, 232, 0.28) !important;
}


/* ========== Scroll cue (hero) — plain text, desktop only ========== */
.scroll-cue {
  position: absolute;
  left: 50%;
  bottom: 6px;
  transform: translateX(-50%);
  z-index: 20;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  background: none !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: rgba(255,255,255,0.55);
  font-family: var(--font-mono);
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  cursor: pointer;
  padding: 6px 10px;
  transition: opacity 0.45s ease, visibility 0.45s ease, transform 0.45s ease, color 0.2s;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.scroll-cue:hover {
  color: rgba(255,255,255,0.95);
  background: none !important;
}
.scroll-cue-arrow {
  display: flex;
  animation: scrollBounce 1.6s ease-in-out infinite;
}
.scroll-cue-arrow svg {
  width: 20px;
  height: 20px;
}
.scroll-cue.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateX(-50%) translateY(10px);
}
@keyframes scrollBounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(6px); }
}
@media (prefers-reduced-motion: reduce) {
  .scroll-cue-arrow { animation: none; }
}
/* No scroll cue on mobile */
@media (max-width: 900px) {
  .scroll-cue {
    display: none !important;
  }
}

/* ========== Mobile polish — all pages ========== */
@media (max-width: 900px) {
  .container {
    padding: 0 16px !important;
  }
  header nav,
  nav {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  section {
    padding: 64px 0 !important;
  }
  .section-head {
    margin-bottom: 32px !important;
  }
  .section-head h2 {
    font-size: clamp(1.5rem, 6.5vw, 2rem) !important;
  }
  .section-head p {
    font-size: 0.92rem !important;
  }
  .hero-inner {
    padding: 0 16px !important;
  }
  .hero-top {
    padding: 28px 0 16px !important;
  }
  .hero-actions {
    gap: 10px !important;
  }
  .hero-actions .btn {
    padding: 11px 16px !important;
    font-size: 0.88rem !important;
  }
  .hero-certs {
    font-size: 0.72rem !important;
    gap: 6px 12px !important;
  }
  .hero-range {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .hero-stats {
    gap: 16px 22px !important;
  }
  .hero-stats-bar .hero-stat .num {
    font-size: 1.45rem !important;
  }
  .facility-strip {
    padding: 40px 0 48px !important;
  }
  .home-prod-card,
  .feature-card,
  .stat-box {
    border-radius: 12px !important;
  }
  footer {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .btn, .btn-primary, .btn-shop, .btn-ghost {
    min-height: 44px;
  }
}

@media (max-width: 480px) {
  .hero h1 {
    font-size: clamp(1.75rem, 8vw, 2.15rem) !important;
  }
  .hero .lead {
    font-size: 0.92rem !important;
  }
  .hero-actions {
    width: 100%;
  }
  .hero-actions .btn {
    flex: 1 1 auto;
    text-align: center;
    justify-content: center;
  }
  .hr-name {
    font-size: 0.72rem !important;
  }
  .hr-spec {
    font-size: 0.6rem !important;
  }
  .hero-main-bag {
    max-width: 170px !important;
  }
}

.hero { overflow: visible !important; padding-bottom: 64px !important; }

html{scroll-behavior:smooth!important;}

.hero {
  margin-bottom: 0 !important;
  border: none !important;
  box-shadow: none !important;
}



/* ========== Mobile content padding — keep text off screen edges ========== */
@media (max-width: 900px) {
  .container,
  .hero-inner {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  section {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .section-head {
    padding-left: 0;
    padding-right: 0;
  }
  footer .container,
  footer {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .page-hero-bar,
  .contact-page-hero .container,
  .shop-hero .container {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  /* forms / cards */
  .checkout-form,
  .review-modal,
  .contact-cards,
  .home-prod-card,
  .feature-card {
    margin-left: 0;
    margin-right: 0;
  }
  p, li, .lead, .section-head p {
    overflow-wrap: break-word;
    word-wrap: break-word;
  }
}
@media (max-width: 480px) {
  .container,
  .hero-inner {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  footer .container,
  footer {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

/* Pages/sections that need cream surface (body is now dark to avoid white line under hero) */
.page:not(#page-home),
#page-home .facility-strip,
.facility-strip,
section.home-products,
.products,
.contact-page-hero,
.shop-page,
#page-shop,
#page-adhesive,
#page-grout,
#page-contact,
#page-stores,
#page-reviews,
#page-cart,
#page-checkout,
#page-login,
#page-register,
#page-orders,
#page-myorders,
#page-payment {
  /* individual pages often set their own bg; cream fallback for text pages */
}
/* Explicit cream bands used on homepage after hero */
.facility-strip { background: #F2F0EA !important; }

/* Hide floating WA + Shop when at bottom of page (mobile only) */
@media (max-width: 900px) {
  body.at-page-bottom #waWidget,
  body.at-page-bottom #floatWhatsBtn,
  body.at-page-bottom #floatShopBtn,
  body.at-page-bottom .float-shop,
  body.at-page-bottom #floatShopBtn.show {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: opacity 0.3s ease, visibility 0.3s ease !important;
  }
}


/* Extend hero navy to fill viewport gap (no cream peeking as a white line) */
.hero {
  min-height: 100vh;
  min-height: 100dvh;
  box-sizing: border-box;
}

/* Mobile: remove excess blank space under header */
@media (max-width: 900px) {
  .hero {
    padding-top: 64px !important;
    min-height: auto !important; /* don't force full screen on mobile */
  }
  .hero-top {
    padding-top: 20px !important;
    padding-bottom: 16px !important;
  }
  .hero-inner {
    padding-top: 0 !important;
  }
}

@media (max-width: 900px) {
  .hero {
    padding-top: 58px !important;
    padding-bottom: 28px !important;
  }
  .hero-top {
    padding: 12px 0 12px !important;
    gap: 20px !important;
  }
  .hero-copy .eyebrow {
    margin-bottom: 12px !important;
  }
  .hero h1 {
    margin-bottom: 12px !important;
  }
}

#company,
#excellence,
section.why-us,
.home-why {
  background: var(--cream) !important;
  color: var(--navy);
}
#company .section-head h2,
#company .section-head p,
#company .company-grid,
#company h3,
#company p,
#company li {
  color: inherit;
}
#company .section-head.tone-b h2 {
  color: var(--navy) !important;
}
#company .section-head p {
  color: var(--grey) !important;
}


/* =========================================================
   LTG MODERN HOMEPAGE REFRESH
   Keeps the existing JS/components intact; this only
   restyles the home experience.
   ========================================================= */

:root{
  --ltg-green:#155f50;
  --ltg-green-dark:#0d4037;
  --ltg-green-soft:#e9f1ed;
  --ltg-paper:#f7f5f0;
  --ltg-ink:#171b1a;
  --ltg-muted:#626a67;
  --ltg-line:rgba(23,27,26,.12);
}

/* Header */
body{background:var(--ltg-paper)}
header{
  background:rgba(255,255,255,.94)!important;
  border-bottom:1px solid rgba(23,27,26,.08)!important;
  box-shadow:0 1px 18px rgba(23,27,26,.04)!important;
}
header nav{min-height:76px!important}
.brand{color:var(--ltg-ink)!important}
.brand .sub{color:#747b78!important}
.navlinks>a,.nav-dropdown-trigger{color:#313735!important}
.navlinks>a:hover,.nav-dropdown-trigger:hover{color:var(--ltg-green)!important}
.profile-icon-btn{
  background:#f0f2ef!important;
  color:var(--ltg-ink)!important;
}
.nav-actions .btn-shop,
header .btn-shop{background:var(--ltg-green)!important;color:#fff!important}
header .btn-primary{background:var(--ltg-green)!important}

/* Hero */
.hero{
  background:var(--ltg-paper)!important;
  color:var(--ltg-ink)!important;
  padding-top:76px!important;
  padding-bottom:0!important;
  min-height:0!important;
  overflow:hidden!important;
}
.hero-atmosphere{display:none!important}
.hero-inner{
  max-width:1440px!important;
  padding:0 5.5vw!important;
}
.hero-top{
  grid-template-columns:minmax(0,1fr) minmax(420px,.95fr)!important;
  gap:5vw!important;
  min-height:585px!important;
  padding:56px 0 48px!important;
  align-items:center!important;
}
.hero-copy .eyebrow{
  border:1px solid rgba(21,95,80,.28)!important;
  background:var(--ltg-green-soft)!important;
  color:var(--ltg-green)!important;
  border-radius:999px!important;
  padding:8px 14px!important;
  font-family:var(--font-mono)!important;
  letter-spacing:1.6px!important;
  margin-bottom:25px!important;
}
.hero-copy .eyebrow::before{
  background:var(--ltg-green)!important;
  box-shadow:none!important;
}
.hero h1{
  color:var(--ltg-ink)!important;
  font-size:clamp(3.4rem,6vw,6.5rem)!important;
  line-height:.94!important;
  letter-spacing:-.055em!important;
  max-width:760px!important;
  margin-bottom:28px!important;
}
.hero h1 em{
  background:none!important;
  color:var(--ltg-green)!important;
  -webkit-text-fill-color:var(--ltg-green)!important;
}
.hero .lead{
  color:var(--ltg-muted)!important;
  max-width:600px!important;
  font-size:1.05rem!important;
  line-height:1.7!important;
}
.hero-actions{margin-top:30px!important;gap:12px!important}
.hero-actions .btn{
  border-radius:8px!important;
  padding:14px 22px!important;
}
.hero-actions .btn-primary{
  background:var(--ltg-green)!important;
  box-shadow:0 10px 25px rgba(21,95,80,.18)!important;
}
.hero-actions .btn-primary:hover{
  background:var(--ltg-green-dark)!important;
  box-shadow:0 15px 30px rgba(21,95,80,.24)!important;
}
.hero-actions .btn-shop{
  background:#fff!important;
  color:var(--ltg-ink)!important;
  border:1px solid var(--ltg-line)!important;
}
.hero-actions .btn-ghost{
  background:transparent!important;
  color:var(--ltg-ink)!important;
  border:0!important;
  text-decoration:underline!important;
  text-underline-offset:5px!important;
}
.hero-certs{
  color:#68706d!important;
  margin-top:24px!important;
  gap:8px 20px!important;
}
.hero-certs li::before{background:var(--ltg-green)!important}
.hero-certs button{color:var(--ltg-green)!important}

/* Product stage: editorial photography feel instead of floating SaaS card */
.hero-visual{
  position:relative!important;
  min-height:530px!important;
  align-items:center!important;
  justify-content:center!important;
  isolation:isolate!important;
}
.hero-visual::before{
  content:"";
  position:absolute;
  inset:0 -5vw 0 0;
  z-index:-2;
  background:
    linear-gradient(135deg,rgba(255,255,255,.8),rgba(226,229,224,.95)),
    repeating-linear-gradient(0deg,transparent 0 52px,rgba(21,95,80,.035) 53px 54px),
    repeating-linear-gradient(90deg,transparent 0 52px,rgba(21,95,80,.035) 53px 54px);
  border-left:1px solid rgba(23,27,26,.08);
}
.hero-visual::after{
  content:"";
  position:absolute;
  width:58%;
  aspect-ratio:1;
  right:7%;
  top:11%;
  border-radius:50%;
  background:rgba(21,95,80,.08);
  filter:blur(1px);
  z-index:-1;
}
.hero-main-bag{
  max-width:400px!important;
  aspect-ratio:3 / 4.15!important;
  filter:drop-shadow(0 28px 30px rgba(23,27,26,.18))!important;
}
.hero-main-bag .bag-slide{filter:none!important}
.hero-main-label{
  margin-top:2px!important;
  text-align:left!important;
  align-self:flex-end!important;
  width:70%!important;
}
.hero-main-label strong{
  color:var(--ltg-ink)!important;
  font-size:1rem!important;
}
.hero-main-label span{color:#707875!important}
.bag-dots{margin-top:8px!important}
.bag-dot::before{background:rgba(21,95,80,.22)!important}
.bag-dot.is-active::before{
  background:var(--ltg-green)!important;
  transform:scale(1.2)!important;
}

/* Product selector */
.hero-range{
  border-top:1px solid var(--ltg-line)!important;
  border-bottom:1px solid var(--ltg-line)!important;
  padding:12px 0 18px!important;
}
.hero-range .hr-item{
  background:transparent!important;
  border-color:transparent!important;
  color:var(--ltg-ink)!important;
}
.hero-range .hr-item:hover,
.hero-range .hr-item.is-active{
  background:#fff!important;
  border-color:rgba(21,95,80,.25)!important;
}

/* Stats */
.hero-stats-bar{
  background:var(--ltg-green-dark)!important;
  border-top:0!important;
  padding:30px 0!important;
}
.hero-stats{
  max-width:1180px!important;
  margin:0 auto!important;
  padding:0 24px!important;
}
.hero-stat{
  position:relative;
  padding:0 28px!important;
}
.hero-stat:not(:last-child)::after{
  content:"";
  position:absolute;
  right:0;
  top:4px;
  width:1px;
  height:46px;
  background:rgba(255,255,255,.2);
}
.hero-stat .num{
  background:none!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-size:2rem!important;
}
.hero-stat .lbl{
  color:rgba(255,255,255,.68)!important;
  letter-spacing:1.2px!important;
}

/* Home products */
.home-products{
  background:#fff!important;
  padding:88px 0 92px!important;
}
.home-products .section-head h2,
.home-why .section-head h2{
  color:var(--ltg-ink)!important;
  font-size:clamp(2rem,3.2vw,3rem)!important;
  letter-spacing:-.04em!important;
}
.home-products .section-head p,
.home-why .section-head p{color:var(--ltg-muted)!important}
.tag-pill{
  color:var(--ltg-green)!important;
  border-color:rgba(21,95,80,.2)!important;
  background:var(--ltg-green-soft)!important;
}
.home-prod-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:22px!important;
}
.home-prod-card{
  background:var(--ltg-paper)!important;
  border:1px solid var(--ltg-line)!important;
  border-radius:14px!important;
  box-shadow:none!important;
}
.home-prod-card:hover{
  transform:translateY(-4px)!important;
  box-shadow:0 18px 40px rgba(23,27,26,.09)!important;
}
.hpc-visual{
  background:#e8ebe6!important;
  min-height:320px!important;
}
.hpc-visual img{filter:drop-shadow(0 15px 18px rgba(23,27,26,.2))!important}
.hpc-tag,.hpc-link{color:var(--ltg-green)!important}
.hpc-body h3{font-size:1.5rem!important;color:var(--ltg-ink)!important}
.hpc-body p{color:var(--ltg-muted)!important}
.hpc-points li::before{background:var(--ltg-green)!important}
.hpc-points li{border-bottom-color:rgba(23,27,26,.07)!important}

/* Why section */
.home-why{
  background:var(--ltg-paper)!important;
  border-top:1px solid var(--ltg-line)!important;
  padding-top:88px!important;
}
.home-why-grid{gap:1px!important;background:var(--ltg-line)!important}
.hwy-card{
  background:#fff!important;
  border:0!important;
  border-radius:0!important;
}
.hwy-num{color:var(--ltg-green)!important}

.hero-product-card,
.float-chip{box-shadow:none!important}
.scroll-cue{color:var(--ltg-green)!important}

/* Mobile */
@media (max-width:900px){
  .hero{padding-top:70px!important}
  .hero-top{
    grid-template-columns:1fr!important;
    gap:24px!important;
    padding-top:40px!important;
  }
  .hero-copy{order:1}
  .hero-visual{
    order:2;
    min-height:440px!important;
    margin:0 -5.5vw!important;
  }
  .hero-visual::before{inset:0!important;border-left:0!important}
  .hero-main-bag{max-width:300px!important}
  .hero-main-label{width:auto!important;align-self:center!important;text-align:center!important}
  .hero-stats{gap:22px!important;justify-content:center!important}
  .hero-stat{padding:0 16px!important}
  .hero-stat:not(:last-child)::after{display:none}
}
@media (max-width:560px){
  .hero h1{font-size:clamp(3rem,14vw,4.2rem)!important}
  .hero .lead{font-size:.98rem!important}
  .hero-actions .btn{width:100%;justify-content:center}
  .hero-certs{font-size:.72rem!important}
  .hero-visual{min-height:390px!important}
  .hero-main-bag{max-width:250px!important}
  .home-products,.home-why{padding-top:64px!important}
}


/* ============================================================
   LTG FULL-PAGE MODERN REFRESH
   Visual direction: premium construction/materials brand.
   Warm white + deep forest green + charcoal.
   ============================================================ */

.ltg-home-modern{
  --m-green:#F25B2A;
  --m-green-dark:#171B24;
  --m-green-soft:#FFF0EA;
  --m-cream:#f6f4ef;
  --m-paper:#ffffff;
  --m-ink:#151918;
  --m-muted:#626a67;
  --m-line:rgba(21,25,24,.11);
  --m-gold:#c59b55;
  background:var(--m-cream)!important;
  color:var(--m-ink)!important;
}
.ltg-home-modern header{
  background:rgba(255,255,255,.94)!important;
  border-bottom:1px solid rgba(21,25,24,.08)!important;
  box-shadow:0 3px 24px rgba(21,25,24,.04)!important;
}
.ltg-home-modern header .nav-cta,
.ltg-home-modern header .btn-primary,
.ltg-home-modern .nav-actions .btn-shop{
  background:var(--m-green)!important;
  color:#fff!important;
}
.ltg-home-modern .navlinks a::after{
  background:var(--m-green)!important;
}
.ltg-home-modern .navlinks a:hover{color:var(--m-green)!important}

/* ---------- HERO ---------- */
.ltg-home-modern .hero{
  background:var(--m-cream)!important;
  color:var(--m-ink)!important;
  padding-top:88px!important;
  padding-bottom:0!important;
}
.ltg-home-modern .hero-atmosphere{display:none!important}
.ltg-home-modern .hero-inner{
  max-width:1440px!important;
  margin:auto!important;
  padding:0 5.5vw!important;
}
.ltg-home-modern .hero-top{
  min-height:600px!important;
  padding:62px 0 48px!important;
  grid-template-columns:minmax(0,1fr) minmax(470px,.94fr)!important;
  gap:5vw!important;
  align-items:center!important;
}
.ltg-home-modern .hero-copy{padding-bottom:4px!important}
.ltg-home-modern .eyebrow{
  display:inline-flex!important;
  border:1px solid rgba(242,91,42,.28)!important;
  border-radius:999px!important;
  background:var(--m-green-soft)!important;
  color:var(--m-green)!important;
  padding:8px 14px!important;
  margin-bottom:24px!important;
}
.ltg-home-modern .eyebrow::before{
  width:5px!important;
  height:5px!important;
  border-radius:50%!important;
  background:var(--m-green)!important;
}
.ltg-home-modern .hero h1{
  color:var(--m-ink)!important;
  font-family:var(--font-head)!important;
  font-weight:700!important;
  font-size:clamp(3.5rem,6.5vw,6.6rem)!important;
  line-height:.91!important;
  letter-spacing:-.065em!important;
  max-width:820px!important;
  margin-bottom:28px!important;
}
.ltg-home-modern .hero h1 em{
  color:var(--m-green)!important;
  -webkit-text-fill-color:var(--m-green)!important;
  background:none!important;
}
.ltg-home-modern .hero p.lead{
  color:var(--m-muted)!important;
  max-width:620px!important;
  font-size:1.04rem!important;
  line-height:1.72!important;
}
.ltg-home-modern .hero-actions{
  gap:12px!important;
  margin-top:30px!important;
}
.ltg-home-modern .hero-actions .btn{
  min-height:48px!important;
  border-radius:8px!important;
  padding:13px 21px!important;
}
.ltg-home-modern .hero-actions .btn-primary{
  background:var(--m-green)!important;
  box-shadow:0 12px 28px rgba(242,91,42,.18)!important;
}
.ltg-home-modern .hero-actions .btn-primary:hover{
  background:var(--m-green-dark)!important;
}
.ltg-home-modern .hero-actions .btn-shop{
  background:#fff!important;
  color:var(--m-ink)!important;
  border:1px solid var(--m-line)!important;
}
.ltg-home-modern .hero-actions .btn-ghost{
  color:var(--m-ink)!important;
  background:transparent!important;
  border:0!important;
  text-decoration:underline!important;
  text-underline-offset:5px!important;
}
.ltg-home-modern .hero-certs{
  color:#69716e!important;
  gap:9px 18px!important;
  margin-top:22px!important;
}
.ltg-home-modern .hero-certs li::before{
  background:var(--m-green)!important;
}
.ltg-home-modern .hero-certs button{color:var(--m-green)!important}

/* Product stage */
.ltg-home-modern .hero-visual{
  min-height:545px!important;
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  isolation:isolate!important;
}
.ltg-home-modern .hero-visual::before{
  content:""!important;
  position:absolute!important;
  z-index:-2!important;
  inset:-12px -3vw -20px 0!important;
  border-left:1px solid var(--m-line)!important;
  background:
    linear-gradient(145deg,rgba(255,255,255,.98),rgba(226,230,225,.96))!important;
}
.ltg-home-modern .hero-visual::after{
  content:""!important;
  position:absolute!important;
  z-index:-1!important;
  width:70%!important;
  height:70%!important;
  right:5%!important;
  top:10%!important;
  border-radius:50%!important;
  background:rgba(242,91,42,.09)!important;
}
.ltg-home-modern .hero-main-bag{
  max-width:400px!important;
  width:min(66%,400px)!important;
  aspect-ratio:3/4.15!important;
  filter:drop-shadow(0 28px 28px rgba(21,25,24,.16))!important;
}
.ltg-home-modern .hero-main-bag .bag-slide{filter:none!important}
.ltg-home-modern .hero-main-label{
  width:min(400px,66%)!important;
  text-align:left!important;
  margin-top:8px!important;
}
.ltg-home-modern .hero-main-label strong{
  color:var(--m-ink)!important;
  font-size:1rem!important;
}
.ltg-home-modern .hero-main-label span{color:#707875!important}
.ltg-home-modern .bag-dot::before{
  background:rgba(242,91,42,.2)!important;
}
.ltg-home-modern .bag-dot.is-active::before{
  background:var(--m-green)!important;
}

/* Product selector */
.ltg-home-modern .hero-range{
  border-top:1px solid var(--m-line)!important;
  border-bottom:1px solid var(--m-line)!important;
  padding:12px 0 18px!important;
}
.ltg-home-modern .hero-range .hr-item{
  background:transparent!important;
  border-color:transparent!important;
  border-radius:10px!important;
  color:var(--m-ink)!important;
}
.ltg-home-modern .hero-range .hr-item:hover,
.ltg-home-modern .hero-range .hr-item.is-active{
  background:#fff!important;
  border-color:rgba(242,91,42,.22)!important;
  box-shadow:0 8px 25px rgba(21,25,24,.05)!important;
}
.ltg-home-modern .hero-range .hr-spec{color:var(--m-green)!important}

/* Stats */
.ltg-home-modern .hero-stats-bar{
  background:var(--m-green-dark)!important;
  border:0!important;
  padding:30px 0!important;
}
.ltg-home-modern .hero-stats{
  max-width:1200px!important;
  margin:auto!important;
}
.ltg-home-modern .hero-stat{
  padding:0 30px!important;
}
.ltg-home-modern .hero-stat:not(:last-child)::after{
  background:rgba(255,255,255,.18)!important;
}
.ltg-home-modern .hero-stat .num{
  background:none!important;
  -webkit-text-fill-color:#fff!important;
  color:#fff!important;
}
.ltg-home-modern .hero-stat .lbl{color:rgba(255,255,255,.68)!important}

/* ---------- SHARED SECTION SYSTEM ---------- */
.ltg-home-modern main>section{
  border-top:1px solid var(--m-line)!important;
}
.ltg-home-modern .section-head h2,
.ltg-home-modern .rs-head h2{
  color:var(--m-ink)!important;
  font-family:var(--font-head)!important;
  letter-spacing:-.045em!important;
}
.ltg-home-modern .section-head p,
.ltg-home-modern .rs-head p{
  color:var(--m-muted)!important;
}
.ltg-home-modern .tag-pill{
  color:var(--m-green)!important;
  background:var(--m-green-soft)!important;
  border-color:rgba(242,91,42,.18)!important;
}

/* ---------- FACILITY ---------- */
.ltg-home-modern .facility-strip{
  background:#fff!important;
  padding:96px 0 100px!important;
}
.ltg-home-modern .facility-strip-inner{
  max-width:1440px!important;
  margin:44px auto 0!important;
  padding:0 5.5vw!important;
}
.ltg-home-modern .facility-strip-grid{
  display:grid!important;
  grid-template-columns:1.15fr .85fr .85fr 1.15fr!important;
  gap:14px!important;
  height:410px!important;
}
.ltg-home-modern .facility-panel{
  border-radius:12px!important;
  overflow:hidden!important;
  border:1px solid var(--m-line)!important;
  background:#e7e8e4!important;
}
/* static stagger removed — JS parallax handles motion */
.ltg-home-modern .fp-img-wrap,
.ltg-home-modern .fp-img-wrap img{
  width:100%!important;
  height:100%!important;
}
.ltg-home-modern .fp-img-wrap img{
  object-fit:cover!important;
  transition:transform .5s ease!important;
}
.ltg-home-modern .facility-panel:hover img{transform:scale(1.035)!important}
.ltg-home-modern .fp-label{
  background:linear-gradient(transparent,rgba(0,0,0,.72))!important;
  color:#fff!important;
  padding:42px 20px 18px!important;
}
.ltg-home-modern .fp-sub{color:rgba(255,255,255,.72)!important}
.ltg-home-modern .facility-quote{
  max-width:760px!important;
  margin:70px auto 0!important;
  text-align:center!important;
}
.ltg-home-modern .fq-mark{color:var(--m-green)!important}
.ltg-home-modern .facility-quote p{
  color:var(--m-ink)!important;
  font-family:var(--font-head)!important;
  font-size:clamp(1.35rem,2.2vw,2rem)!important;
  line-height:1.35!important;
}

/* ---------- PRODUCTS ---------- */
.ltg-home-modern .home-products{
  background:var(--m-cream)!important;
  padding:100px 0!important;
}
.ltg-home-modern .home-products .section-head{
  margin-bottom:45px!important;
}
.ltg-home-modern .home-prod-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:22px!important;
}
.ltg-home-modern .home-prod-card{
  background:#fff!important;
  border:1px solid var(--m-line)!important;
  border-radius:14px!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
.ltg-home-modern .home-prod-card:hover{
  transform:translateY(-5px)!important;
  box-shadow:0 20px 45px rgba(21,25,24,.09)!important;
}
.ltg-home-modern .hpc-visual{
  min-height:360px!important;
  background:#e8ebe6!important;
}
.ltg-home-modern .hpc-visual img{
  filter:drop-shadow(0 18px 20px rgba(21,25,24,.16))!important;
}
.ltg-home-modern .hpc-body{padding:28px!important}
.ltg-home-modern .hpc-tag,
.ltg-home-modern .hpc-link{color:var(--m-green)!important}
.ltg-home-modern .hpc-body h3{color:var(--m-ink)!important}
.ltg-home-modern .hpc-body p{color:var(--m-muted)!important}
.ltg-home-modern .hpc-points li{
  border-bottom-color:var(--m-line)!important;
}
.ltg-home-modern .hpc-points li::before{background:var(--m-green)!important}

/* ---------- WHY ---------- */
.ltg-home-modern .home-why{
  background:#fff!important;
  padding:100px 0!important;
}
.ltg-home-modern .home-why-grid{
  background:var(--m-line)!important;
  gap:1px!important;
  border:1px solid var(--m-line)!important;
  border-radius:14px!important;
  overflow:hidden!important;
}
.ltg-home-modern .hwy-card{
  background:#fff!important;
  border:0!important;
  border-radius:0!important;
  padding:38px!important;
}
.ltg-home-modern .hwy-num{
  color:var(--m-green)!important;
  font-family:var(--font-mono)!important;
}
.ltg-home-modern .hwy-card h3{color:var(--m-ink)!important}
.ltg-home-modern .hwy-card p{color:var(--m-muted)!important}

/* ---------- COMPANY ---------- */
.ltg-home-modern #company{
  background:var(--m-cream)!important;
  padding:110px 0!important;
}
.ltg-home-modern #company .company-grid{
  gap:60px!important;
  align-items:start!important;
}
.ltg-home-modern #company .overview,
.ltg-home-modern #company .info-list{
  background:#fff!important;
  border:1px solid var(--m-line)!important;
  border-radius:14px!important;
  padding:34px!important;
}
.ltg-home-modern #company .overview p{color:var(--m-muted)!important;line-height:1.75!important}
.ltg-home-modern .client-chip{
  background:var(--m-green-soft)!important;
  color:var(--m-green)!important;
  border-color:rgba(242,91,42,.12)!important;
}
.ltg-home-modern .info-list li{
  border-bottom-color:var(--m-line)!important;
}
.ltg-home-modern .info-list .k{color:#7a817e!important}
.ltg-home-modern .info-list .v{color:var(--m-ink)!important}
.ltg-home-modern .customer-cols{
  border-top:1px solid var(--m-line)!important;
  border-left:1px solid var(--m-line)!important;
}
.ltg-home-modern .customer-cols>div{
  background:#fff!important;
  border-right:1px solid var(--m-line)!important;
  border-bottom:1px solid var(--m-line)!important;
  color:var(--m-ink)!important;
}
.ltg-home-modern .gallery figure{
  border-radius:10px!important;
  overflow:hidden!important;
  border:1px solid var(--m-line)!important;
}

/* ---------- VISION / MISSION ---------- */
.ltg-home-modern main>section[style*="cream-2"]{
  background:var(--m-green-dark)!important;
  color:#fff!important;
  padding:105px 0!important;
  border-top:0!important;
}
.ltg-home-modern main>section[style*="cream-2"] .section-head h2{
  color:#fff!important;
}
.ltg-home-modern main>section[style*="cream-2"] .section-head p{
  color:rgba(255,255,255,.68)!important;
}
.ltg-home-modern .vision-grid{
  gap:18px!important;
}
.ltg-home-modern .vm-card{
  background:rgba(255,255,255,.07)!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:14px!important;
  padding:34px!important;
  backdrop-filter:blur(8px)!important;
}
.ltg-home-modern .vm-card h3{color:#fff!important}
.ltg-home-modern .vm-card p{color:rgba(255,255,255,.7)!important}
.ltg-home-modern .obj-grid{gap:1px!important;background:rgba(255,255,255,.12)!important}
.ltg-home-modern .obj-card{
  background:rgba(255,255,255,.045)!important;
  border:0!important;
}
.ltg-home-modern .obj-card h4{color:#fff!important}
.ltg-home-modern .obj-card p{color:rgba(255,255,255,.62)!important}

/* ---------- QUOTE ---------- */
.ltg-home-modern .quote-section{
  background:#fff!important;
  padding:120px 0!important;
}
.ltg-home-modern .quote-mark{
  color:var(--m-green)!important;
}
.ltg-home-modern .quote-section blockquote{
  color:var(--m-ink)!important;
  font-family:var(--font-head)!important;
  font-size:clamp(2rem,4vw,4rem)!important;
  line-height:1.05!important;
  letter-spacing:-.05em!important;
}
.ltg-home-modern .quote-by{
  color:var(--m-muted)!important;
}

/* ---------- REVIEWS ---------- */
.ltg-home-modern .reviews-section{
  background:var(--m-cream)!important;
  padding:100px 0!important;
}
.ltg-home-modern .rs-summary{
  background:#fff!important;
  border:1px solid var(--m-line)!important;
  border-radius:14px!important;
}
.ltg-home-modern .rs-stars-big{color:var(--m-green)!important}
.ltg-home-modern .rs-avg-num{color:var(--m-ink)!important}
.ltg-home-modern .rs-write-btn{
  background:var(--m-green)!important;
  color:#fff!important;
  border-color:var(--m-green)!important;
}
.ltg-home-modern .rs-grid .review-card{
  background:#fff!important;
  border:1px solid var(--m-line)!important;
  border-radius:12px!important;
}

/* ---------- FOOTER ---------- */
.ltg-home-modern footer.contact{
  background:#171B24!important;
  color:#fff!important;
  border-top:0!important;
}
.ltg-home-modern footer.contact h3,
.ltg-home-modern footer.contact h4{
  color:#fff!important;
}
.ltg-home-modern footer.contact p,
.ltg-home-modern footer.contact li,
.ltg-home-modern footer.contact .muted{
  color:rgba(255,255,255,.65)!important;
}
.ltg-home-modern footer.contact a:hover{color:#fff!important}
.ltg-home-modern footer .footer-bottom{
  border-top-color:rgba(255,255,255,.12)!important;
}

/* Floating actions */
.ltg-home-modern #floatShopBtn,
.ltg-home-modern .floatShopBtn{
  background:var(--m-green)!important;
}
.ltg-home-modern #floatRefBtn{
  background:#fff!important;
  color:var(--m-green)!important;
  border-color:rgba(242,91,42,.18)!important;
}
.ltg-home-modern #waWidget{
  box-shadow:0 12px 30px rgba(242,91,42,.18)!important;
}

/* ---------- RESPONSIVE ---------- */
@media (max-width:1000px){
  .ltg-home-modern .hero-top{
    grid-template-columns:1fr!important;
    padding-top:45px!important;
  }
  .ltg-home-modern .hero-visual{
    min-height:480px!important;
  }
  .ltg-home-modern .facility-strip-grid{
    grid-template-columns:1fr 1fr!important;
    height:620px!important;
  }
  /* static stagger removed mobile */
}
@media (max-width:700px){
  .ltg-home-modern .hero{
    padding-top:75px!important;
  }
  .ltg-home-modern .hero-inner{padding:0 20px!important}
  .ltg-home-modern .hero h1{
    font-size:clamp(3rem,15vw,4.4rem)!important;
  }
  .ltg-home-modern .hero-visual{
    min-height:420px!important;
    margin:0 -20px!important;
  }
  .ltg-home-modern .hero-visual::before{
    inset:0!important;
    border-left:0!important;
  }
  .ltg-home-modern .hero-main-bag{
    width:min(68%,300px)!important;
  }
  .ltg-home-modern .hero-main-label{width:min(68%,300px)!important}
  .ltg-home-modern .hero-actions{
    flex-wrap:wrap!important;
  }
  .ltg-home-modern .hero-actions .btn{
    flex:1 1 auto!important;
  }
  .ltg-home-modern .hero-range{
    overflow-x:auto!important;
  }
  .ltg-home-modern .hero-stats{
    grid-template-columns:1fr 1fr!important;
  }
  .ltg-home-modern .hero-stat{
    padding:12px 10px!important;
  }
  .ltg-home-modern .hero-stat:not(:last-child)::after{display:none!important}
  .ltg-home-modern .facility-strip,
  .ltg-home-modern .home-products,
  .ltg-home-modern .home-why,
  .ltg-home-modern #company,
  .ltg-home-modern .reviews-section{
    padding-top:70px!important;
    padding-bottom:70px!important;
  }
  .ltg-home-modern .facility-strip-inner{
    padding:0 20px!important;
  }
  .ltg-home-modern .facility-strip-grid{
    grid-template-columns:1fr!important;
    height:auto!important;
  }
  .ltg-home-modern .facility-panel{height:260px!important}
  .ltg-home-modern .home-prod-grid{
    grid-template-columns:1fr!important;
  }
  .ltg-home-modern .hpc-visual{min-height:300px!important}
  .ltg-home-modern #company .company-grid{
    grid-template-columns:1fr!important;
    gap:20px!important;
  }
  .ltg-home-modern .customer-cols{
    grid-template-columns:1fr 1fr!important;
  }
  .ltg-home-modern .quote-section{padding:80px 0!important}
  .ltg-home-modern .quote-section blockquote{
    font-size:2.2rem!important;
  }
}


/* ============================================================
   LTG FINAL THEME NORMALIZATION
   Brand palette: WHITE + ORANGE + BLACK.
   This final layer intentionally overrides earlier experimental
   theme passes so every page shares the same visual system.
   ============================================================ */
:root{
  --navy:#111111;
  --navy-deep:#050505;
  --cream:#ffffff;
  --cream-2:#f7f7f7;
  --orange:#F15A24;
  --gold:#FF7A00;
  --grey:#4B5563;
  --grey-light:#6B7280;
  --line:rgba(17,17,17,.12);
  --grad-fire:linear-gradient(135deg,#F15A24,#FF7A00);

  /* Older refresh variables — normalized to the same palette */
  --ltg-green:#F15A24;
  --ltg-green-dark:#111111;
  --ltg-green-soft:#FFF1EA;
  --ltg-paper:#ffffff;
  --ltg-ink:#111111;
  --ltg-muted:#4B5563;
  --ltg-line:rgba(17,17,17,.12);

  --m-green:#F15A24;
  --m-green-dark:#111111;
  --m-green-soft:#FFF1EA;
  --m-cream:#ffffff;
  --m-paper:#ffffff;
  --m-ink:#111111;
  --m-muted:#4B5563;
  --m-line:rgba(17,17,17,.12);
  --m-gold:#FF7A00;
}

html{
  background:#050505 !important;
}

body{
  background:#ffffff !important;
  color:#111111 !important;
  opacity:1 !important;
}

a{
  color:inherit;
}

::selection{
  background:#F15A24 !important;
  color:#ffffff !important;
}

/* Header / navigation */
header,
.ltg-home-modern header{
  background:rgba(255,255,255,.97) !important;
  border-bottom:1px solid rgba(17,17,17,.12) !important;
  box-shadow:0 4px 22px rgba(17,17,17,.07) !important;
}

.brand,
.ltg-home-modern .brand{
  color:#111111 !important;
}

.brand .sub,
.ltg-home-modern .brand .sub{
  color:#555555 !important;
}

.navlinks a,
.nav-dropdown-trigger,
.ltg-home-modern .navlinks a,
.ltg-home-modern .nav-dropdown-trigger{
  color:#111111 !important;
  opacity:1 !important;
}

.navlinks a:hover,
.nav-dropdown-trigger:hover,
.ltg-home-modern .navlinks a:hover,
.ltg-home-modern .nav-dropdown-trigger:hover{
  color:#F15A24 !important;
}

.navlinks a::after,
.ltg-home-modern .navlinks a::after{
  background:#F15A24 !important;
}

.nav-cta,
.btn-shop,
.nav-shop-btn,
.ltg-home-modern .nav-cta,
.ltg-home-modern .btn-shop,
.ltg-home-modern .nav-shop-btn{
  background:#111111 !important;
  color:#ffffff !important;
}

.nav-cta:hover,
.btn-shop:hover,
.nav-shop-btn:hover{
  background:#F15A24 !important;
}

.profile-icon-btn{
  background:#f3f3f3 !important;
  color:#111111 !important;
  border-color:rgba(17,17,17,.12) !important;
}

#navlinks.mobile-open{
  background:#ffffff !important;
}

#navlinks.mobile-open a{
  color:#111111 !important;
}

.navlinks-contact-mobile{
  background:#111111 !important;
}

.navlinks-shop-mobile{
  background:linear-gradient(135deg,#F15A24,#FF7A00) !important;
}

/* Global buttons / links */
.btn-primary,
.auth-submit-btn,
.place-order-btn,
.ltg-home-modern .btn-primary{
  background:linear-gradient(135deg,#F15A24,#FF7A00) !important;
  color:#ffffff !important;
}

.btn-primary:hover,
.auth-submit-btn:hover,
.place-order-btn:hover{
  background:#F15A24 !important;
}

.btn-ghost{
  color:#111111 !important;
  border-color:#111111 !important;
  background:#ffffff !important;
}

.btn-ghost:hover{
  background:#111111 !important;
  color:#ffffff !important;
}

.tag-pill{
  background:#111111 !important;
  color:#ffffff !important;
}

.eyebrow,
.hero-trust button,
.hpc-tag,
.hpc-link,
.hero-certs button,
.hero-range .hr-spec,
.fq-mark,
.scroll-cue{
  color:#F15A24 !important;
}

.eyebrow::before,
.hero-certs li::before,
.hpc-points li::before{
  background:#F15A24 !important;
}

/* Hero: readable black/white/orange treatment */
.hero,
.ltg-home-modern .hero{
  background:#ffffff !important;
  color:#111111 !important;
}

.hero h1,
.ltg-home-modern .hero h1{
  color:#111111 !important;
}

.hero h1 em{
  background:linear-gradient(135deg,#F15A24,#FF7A00) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  color:transparent !important;
}

.hero p.lead,
.ltg-home-modern .hero p.lead{
  color:#4B5563 !important;
}

.hero-stats-bar{
  background:#111111 !important;
  border-top-color:rgba(255,255,255,.12) !important;
}

.hero-stat .num{
  background:linear-gradient(135deg,#F15A24,#FF7A00) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  color:transparent !important;
}

.hero-stat .lbl{
  color:#D1D5DB !important;
}

.hero-product-card{
  background:#111111 !important;
  border-color:rgba(255,255,255,.14) !important;
}

.hpm-name{
  color:#ffffff !important;
}

.hpm-type{
  color:#D1D5DB !important;
}

.float-chip{
  background:#ffffff !important;
  color:#111111 !important;
  border:1px solid rgba(17,17,17,.10) !important;
}

.bag-dot::before{
  background:rgba(17,17,17,.28) !important;
}

.bag-dot.is-active::before{
  background:#F15A24 !important;
}

/* Cards, sections and general content */
section{
  background:#ffffff;
  color:#111111;
}

.section-head h2,
.why-grid h3,
.auth-box h2,
.contact-card h2,
h1,h2,h3,h4,h5,h6{
  color:#111111;
}

.section-head p,
.why-list li,
.flagship-box p,
.auth-box p.sub-lead,
.auth-box label{
  color:#4B5563 !important;
}

.feature-card,
.contact-card,
.auth-box,
.flagship-box,
.hero-prod-panel,
.admin-hub-card{
  background:#ffffff !important;
  border-color:rgba(17,17,17,.12) !important;
}

.flagship-box{
  background:#FFF7F2 !important;
}

.feature-card::before{
  background:linear-gradient(135deg,#F15A24,#FF7A00) !important;
}

.stat-box{
  background:#111111 !important;
}

.stat-box .n{
  color:#FF7A00 !important;
}

.stat-box .l{
  color:#D1D5DB !important;
}

.why-list li:hover{
  background:linear-gradient(90deg,#FFF1EA,transparent) !important;
}

.why-list li .dot{
  background:#F15A24 !important;
}

/* Forms: stronger contrast and visible focus states */
input,
textarea,
select{
  color:#111111 !important;
  background:#ffffff !important;
  border-color:#B8BDC5 !important;
}

input::placeholder,
textarea::placeholder{
  color:#6B7280 !important;
  opacity:1 !important;
}

input:focus,
textarea:focus,
select:focus,
button:focus-visible,
a:focus-visible{
  outline:3px solid rgba(241,90,36,.28) !important;
  outline-offset:2px !important;
  border-color:#F15A24 !important;
}

input:disabled,
textarea:disabled,
select:disabled,
button:disabled{
  color:#6B7280 !important;
  background:#eeeeee !important;
  opacity:.8 !important;
}

/* Tables / order management */
table th{
  background:#111111 !important;
  color:#ffffff !important;
}

table td{
  color:#111111 !important;
  border-color:rgba(17,17,17,.12) !important;
}

table tr:nth-child(even) td{
  background:#f8f8f8 !important;
}

/* Admin hub: remove accidental green/blue/red theme colors */
.ahc-orders .ahc-icon{
  background:#111111 !important;
}

.ahc-payment .ahc-icon,
.ahc-stores .ahc-icon,
.ahc-reviews .ahc-icon,
.ahc-byref .ahc-icon,
.ahc-cancel .ahc-icon{
  background:linear-gradient(135deg,#F15A24,#FF7A00) !important;
  box-shadow:0 10px 22px rgba(241,90,36,.24) !important;
}

.ahc-go{
  color:#F15A24 !important;
}

.admin-hub-card:hover .ahc-go{
  color:#111111 !important;
}

/* Product accents: keep the actual product shade swatches untouched,
   but normalize decorative theme accents. */
.products .prod-panel::before,
.products .prod-panel#p1::before,
.products .prod-panel#p2::before,
.products .prod-panel#p3::before{
  background:#F15A24 !important;
}

.type-chip{
  border-color:rgba(241,90,36,.28) !important;
}

.type-chip,
.hpc-tag{
  color:#F15A24 !important;
}

/* Adhesive dark sections stay intentionally black, with readable text. */
#page-adhesive #specs,
#page-adhesive #excellence{
  background:#111111 !important;
  color:#F3F4F6 !important;
}

#page-adhesive #specs .section-head h2,
#page-adhesive #excellence .section-head h2{
  color:#ffffff !important;
}

#page-adhesive #specs .section-head p,
#page-adhesive #excellence .section-head p,
#page-adhesive #specs td{
  color:#D1D5DB !important;
}

#page-adhesive #specs .section-head .tag-pill,
#page-adhesive #excellence .section-head .tag-pill{
  background:#F15A24 !important;
  color:#ffffff !important;
}

#page-adhesive #specs th{
  background:#222222 !important;
  color:#ffffff !important;
}

#page-adhesive #specs td{
  border-color:rgba(255,255,255,.12) !important;
}

#page-adhesive #specs tr:nth-child(even) td{
  background:rgba(255,255,255,.04) !important;
}

/* Footer */
footer{
  background:#111111 !important;
  color:#ffffff !important;
}

footer p{
  color:#D1D5DB !important;
}

.foot-col h2{
  color:#FF7A00 !important;
}

.foot-col a,
.foot-col div{
  color:#E5E7EB !important;
}

.foot-col a:hover,
.foot-legal-links a:hover{
  color:#F15A24 !important;
}

.foot-bottom,
.foot-legal-links a{
  color:#9CA3AF !important;
}

/* Contact page */
.contact-page-hero{
  background:#111111 !important;
}

.contact-page-hero p{
  color:#D1D5DB !important;
}

.contact-card .icon-circ{
  background:linear-gradient(135deg,#F15A24,#FF7A00) !important;
}

/* Keep the WhatsApp service recognizable; it is an external-brand
   control rather than part of the site's theme. */
.wa-open-chat,
#floatWhatsBtn{
  /* intentionally unchanged */
}

/* Accessibility: don't hide important content just because an animation
   or JS initialization fails. */
.reveal-el{
  will-change:auto;
}

@media (prefers-reduced-motion:reduce){
  *,
  *::before,
  *::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    scroll-behavior:auto !important;
    transition-duration:.01ms !important;
  }

  .reveal-el{
    opacity:1 !important;
    transform:none !important;
  }
}

/* Small screens: preserve readable spacing and prevent cramped controls. */
@media (max-width:640px){
  .container{
    padding-left:18px !important;
    padding-right:18px !important;
  }

  nav{
    padding-left:16px !important;
    padding-right:16px !important;
  }

  .hero-grid{
    padding-left:18px !important;
    padding-right:18px !important;
  }

  .btn{
    min-height:44px;
  }

  input,
  textarea,
  select,
  button{
    font-size:16px;
  }
}

/* ================================================================
   LANKA TILE GROUT — FINAL BRAND NORMALIZATION
   Palette: WHITE / ORANGE / BLACK
   This block intentionally overrides legacy theme experiments above.
   ================================================================ */
:root{
  --navy:#111111;
  --navy-deep:#000000;
  --cream:#ffffff;
  --cream-2:#f7f7f7;
  --orange:#f15a24;
  --gold:#ff8a00;
  --grey:#3f3f3f;
  --grey-light:#707070;
  --line:rgba(17,17,17,.14);
  --grad-fire:linear-gradient(135deg,#f15a24,#ff8a00);
}

html,body{background:#fff !important;color:#111 !important;}
body{opacity:1 !important;}

/* Default light surfaces: black text, orange accents. */
main, section, article, .page-content, .content, .container,
.home-products, .home-why, #company, #reviews, #contact,
#page-grout #colours, #page-grout section,
#page-adhesive #products, #page-adhesive #products.products,
#page-adhesive #specs, #page-adhesive #excellence,
.page-section, .products, .specs, .reviews-section,
.shop-section, .checkout-section, .orders-section,
.admin-section, .contact-section{color:#111;}

/* Make all normal text on light surfaces readable, including legacy inline white. */
main p, main li, main label, main td, main th, main small,
main .description, main .desc, main .body, main .meta,
section p, section li, section label, section td, section th,
section small, section .description, section .desc,
.page-section p, .page-section li, .page-section label,
.page-section td, .page-section th, .page-section small,
.home-products .hpc-body, .home-products .hpc-body p,
.home-products .hpc-body li, .home-why .hwy-card p,
.home-why .hwy-card h3,
#page-grout .grout-info, #page-grout .grout-info p,
#page-grout .grout-info li,
#page-grout .grout-gallery-label,
#page-adhesive .products .prod-info,
#page-adhesive .products .prod-info p,
#page-adhesive .products .prod-info li,
#page-adhesive .products .prod-info span,
#page-adhesive .products .prod-info strong,
#page-adhesive .products .products-copy,
#page-adhesive .products .prod-meta .k,
#page-adhesive .products .prod-meta .v{
  color:#111 !important;
}

main p, section p, .section-head p, .rs-head p,
.home-products .hpc-body p, .home-why .hwy-card p,
#page-adhesive .products .prod-info p.desc,
#page-adhesive .products .steps li,
#page-grout .grout-info p{color:#3f3f3f !important;}

/* Headings are always black on light surfaces. */
h1,h2,h3,h4,h5,h6,
.section-head h2,.rs-head h2,
.home-products .section-head h2,
.home-prod-card .hpc-body h3,
.home-why .hwy-card h3,
#page-grout .grout-gallery-label,
#page-adhesive .products .prod-info h2,
#page-adhesive .products .prod-info h3,
#page-adhesive .products .prod-info h4{color:#111 !important;}

/* Navigation */
header{background:rgba(255,255,255,.96) !important;border-bottom:1px solid rgba(17,17,17,.14) !important;}
.navlinks a{color:#111 !important;opacity:1 !important;}
.navlinks a:hover{color:#f15a24 !important;}
.nav-cta{background:#111 !important;color:#fff !important;}
.brand .sub{color:#555 !important;}
.navburger span{background:#111 !important;}

/* Brand accents */
.eyebrow,.hpc-tag,.hpc-link,.hero-prod-eyebrow,
.section-head .tag-pill,.rs-head .tag-pill,
.facility-strip-title .tag-pill{color:#fff !important;background:#f15a24 !important;}
.section-head .tag-pill,.rs-head .tag-pill{border:none !important;}

/* Hero is the intentional black brand panel. */
.hero,.page-hero-bar{background:#111 !important;color:#fff !important;}
.hero h1,.hero .hpm-name,.hero p.lead,.hero .btn-ghost,
.hero .hero-trust,.hero .hero-trust button,
.page-hero-bar h1,.page-hero-bar p{color:#fff !important;}
.hero .hero-trust{color:#cfcfcf !important;}
.hero .hero-stat .lbl{color:#bdbdbd !important;}
.hero .btn-primary{background:#f15a24 !important;color:#fff !important;}
.hero .btn-ghost{background:transparent !important;border:2px solid #f15a24 !important;color:#fff !important;}
.hero-product-card{background:#1b1b1b !important;border-color:rgba(255,255,255,.13) !important;}
.hero-product-meta .hpm-type{color:#bdbdbd !important;}
.hero-stats-bar{background:#080808 !important;}

/* Product cards / general cards on white pages. */
.home-products{background:#fff !important;}
.home-prod-card,.hwy-card,.stat-box,.card,.panel,
.prod-panel,.review-card,.rs-card,.contact-card,.store-card,
.order-card,.checkout-card,.form-card,.info-card,.feature-card,
.vm-card,.obj-card,.flagship-box,.spec-table-wrap,
.shop-card,.cart-card,.summary-card{
  border-color:rgba(17,17,17,.13) !important;
}
.home-prod-card{background:#fff !important;color:#111 !important;}
.hpc-body{background:#fff !important;}
.hpc-visual{background:#111 !important;}
.home-why{background:#f7f7f7 !important;}
.hwy-card{background:#fff !important;}

/* Kill legacy navy/cream text on light cards. */
.home-prod-card .hpc-points li{color:#111 !important;border-bottom-color:rgba(17,17,17,.10) !important;}
.home-prod-card .hpc-body p{color:#3f3f3f !important;}
.home-prod-card .hpc-link,.hpc-tag{color:#f15a24 !important;background:none !important;}

/* Product tabs: high-contrast black/white/orange. */
#page-adhesive .products .prod-tab,
#page-adhesive .products .prod-tabs .prod-tab{
  background:#fff !important;color:#111 !important;border:2px solid #111 !important;opacity:1 !important;
}
#page-adhesive .products .prod-tab:hover,
#page-adhesive .products .prod-tab.active,
#page-adhesive .products .prod-tabs .prod-tab:hover,
#page-adhesive .products .prod-tabs .prod-tab.active{
  background:#f15a24 !important;color:#fff !important;border-color:#f15a24 !important;
}

/* Specs/excellence: black brand sections, therefore white text. */
#page-adhesive #specs,#page-adhesive #excellence{background:#111 !important;color:#fff !important;}
#page-adhesive #specs h1,#page-adhesive #specs h2,#page-adhesive #specs h3,
#page-adhesive #specs h4,#page-adhesive #specs p,#page-adhesive #specs li,
#page-adhesive #excellence h1,#page-adhesive #excellence h2,#page-adhesive #excellence h3,
#page-adhesive #excellence h4,#page-adhesive #excellence p,#page-adhesive #excellence li{
  color:#fff !important;
}
#page-adhesive #specs .section-head p,#page-adhesive #excellence .section-head p,
#page-adhesive #excellence .feature-card p{color:#cfcfcf !important;}
#page-adhesive #specs th{background:#000 !important;color:#fff !important;}
#page-adhesive #specs td{background:#171717 !important;color:#f2f2f2 !important;border-color:#333 !important;}
#page-adhesive #specs tr:nth-child(even) td{background:#1d1d1d !important;}
#page-adhesive #excellence .stat-box,#page-adhesive #excellence .vm-card,
#page-adhesive #excellence .obj-card,#page-adhesive #excellence .feature-card,
#page-adhesive #excellence .flagship-box{background:#1a1a1a !important;color:#fff !important;border-color:#333 !important;}

/* Grout: clean white page with black typography. */
#page-grout #colours{background:#fff !important;}
#page-grout .chart-frame{background:#fff !important;border:1px solid #ddd;}
#page-grout .grout-gallery-label{color:#111 !important;}

/* Forms: no white-on-white inputs. */
input,textarea,select{background:#fff !important;color:#111 !important;border:1.5px solid #aaa !important;}
input::placeholder,textarea::placeholder{color:#777 !important;opacity:1 !important;}
input:focus,textarea:focus,select:focus{border-color:#f15a24 !important;outline:3px solid rgba(241,90,36,.14) !important;}
label{color:#111 !important;}
button{font-family:inherit;}

/* Buttons: black primary, orange action, white text. */
.btn-primary,.btn-shop,.submit-btn,.checkout-btn,.shop-btn,
button[type="submit"],.rs-write-btn,.nav-cta{background:#f15a24 !important;color:#fff !important;border-color:#f15a24 !important;}
.btn-secondary,.btn-outline{background:#fff !important;color:#111 !important;border:2px solid #111 !important;}
.btn-secondary:hover,.btn-outline:hover{background:#111 !important;color:#fff !important;}

/* Tables and admin controls. */
table{color:#111 !important;background:#fff !important;}
th{background:#111 !important;color:#fff !important;}
td{color:#111 !important;background:#fff !important;border-color:#ddd !important;}
tr:nth-child(even) td{background:#fafafa !important;}

/* Modals / overlays use black panels with white text, avoiding white-on-white. */
.review-modal,.hero-prod-panel,.modal,.modal-content,.dialog,.popup-panel{
  background:#fff !important;color:#111 !important;border:1px solid #ddd !important;
}
.review-modal h3,.hero-prod-title,.modal h1,.modal h2,.modal h3,.modal h4{color:#111 !important;}
.hero-prod-overlay,#reviewModalOverlay{background:rgba(0,0,0,.72) !important;}
.hero-prod-opt{background:#fff !important;color:#111 !important;border-color:#ccc !important;}
.hero-prod-opt:hover{background:#fff4ef !important;border-color:#f15a24 !important;}
.hpo-text strong{color:#111 !important;}.hpo-text small{color:#555 !important;}

/* Shared light footer. */
footer,.site-footer,.footer{
  background:#fff !important;
  color:#0f1729 !important;
  border-top:1px solid rgba(15,23,41,.14) !important;
}
footer p,footer li,footer span,footer a,.site-footer p,.site-footer li,.site-footer span,.site-footer a{
  color:#566174 !important;
}
footer a:hover,.site-footer a:hover{color:#f15a24 !important;}

/* Toasts and floating actions remain legible. */
.toast{background:#111 !important;color:#fff !important;}
#floatShopBtn,#floatRefBtn,#floatPaymentBtn,#floatOrdersBtn{background:#111 !important;color:#fff !important;}
#floatReviewsBtn{background:#f15a24 !important;color:#fff !important;}

/* Accessibility: visible keyboard focus everywhere. */
:focus-visible{outline:3px solid #f15a24 !important;outline-offset:3px !important;}

/* Mobile navigation: white surface, black text. */
@media(max-width:900px){
  .navlinks{background:#fff !important;border-top:1px solid #ddd !important;}
  .navlinks a{color:#111 !important;}
  .nav-dropdown-menu{background:#fff !important;}
}

/* Legacy inline light text on known light legal pages. */
body.legal-page,body.legal-page .content{background:#fff !important;color:#111 !important;}

/* Catch legacy inline white text that caused the white-on-white failures. */
main [style*="color:#fff"],main [style*="color: #fff"],
main [style*="color:#ffffff"],main [style*="color: #ffffff"],
section [style*="color:#fff"],section [style*="color: #fff"],
section [style*="color:#ffffff"],section [style*="color: #ffffff"]{
  color:#111 !important;
}
.hero [style*="color:#fff"],.hero [style*="color: #fff"],
.hero [style*="color:#ffffff"],.hero [style*="color: #ffffff"],
.page-hero-bar [style*="color:#fff"],.page-hero-bar [style*="color: #fff"]{
  color:#fff !important;
}
#page-adhesive #specs [style*="color:#fff"],#page-adhesive #specs [style*="color: #fff"],
#page-adhesive #excellence [style*="color:#fff"],#page-adhesive #excellence [style*="color: #fff"]{
  color:#fff !important;
}

/* Legal pages: their content is deliberately light with black text. */
body .content p,body .content li,body .content dd,body .content dt,
body .content span,body .content strong,body .content small{
  color:#3f3f3f !important;
}
body .content h1,body .content h2,body .content h3,body .content h4,
body .content h5,body .content h6{color:#111 !important;}
body .contact-box,body .contact-box p,body .contact-box li{background:#111 !important;color:#fff !important;}


/* ============================================================
   FINAL THEME FIX — White / Orange / Black
   Overrides all previous green / conflicting theme experiments
   ============================================================ */

:root {
  --orange: #E8542C;
  --gold: #F5A623;
  --navy: #0F1729;
  --cream: #F7F5F0;
  --grad-fire: linear-gradient(135deg, #E8542C, #F5A623);
  --ltg-green: #E8542C !important;
  --ltg-green-dark: #0F1729 !important;
  --ltg-green-soft: #FFF0EA !important;
  --m-green: #E8542C !important;
  --m-green-dark: #0F1729 !important;
  --m-green-soft: #FFF0EA !important;
}

/* ---- ORANGE HEADER BAR ---- */
header,
.ltg-home-modern header {
  background: #E8542C !important;
  border-bottom: none !important;
  box-shadow: 0 4px 20px rgba(15, 23, 41, 0.18) !important;
  backdrop-filter: none !important;
}

header .brand,
header .brand > div,
.ltg-home-modern header .brand,
.ltg-home-modern header .brand > div {
  color: #fff !important;
}
header .brand .sub,
.ltg-home-modern header .brand .sub {
  color: rgba(255, 255, 255, 0.75) !important;
}

/* Nav links: white, strong active state */
.navlinks > a,
.nav-dropdown-trigger,
.ltg-home-modern .navlinks > a,
.ltg-home-modern .nav-dropdown-trigger {
  color: rgba(255, 255, 255, 0.88) !important;
  opacity: 1 !important;
  font-weight: 600 !important;
}

.navlinks > a:hover,
.nav-dropdown-trigger:hover,
.ltg-home-modern .navlinks > a:hover,
.ltg-home-modern .nav-dropdown-trigger:hover {
  color: #fff !important;
}

/* Active + underline — thick, solid, centered, highly visible */
.navlinks a::after,
.ltg-home-modern .navlinks a::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  bottom: -6px !important;
  height: 3px !important;
  width: 0 !important;
  background: #fff !important;
  border-radius: 2px !important;
  transition: width 0.25s ease !important;
}

.navlinks a.active::after,
.navlinks a:hover::after,
.ltg-home-modern .navlinks a.active::after,
.ltg-home-modern .navlinks a:hover::after {
  width: 100% !important;
}

.navlinks a.active,
.ltg-home-modern .navlinks a.active {
  color: #fff !important;
  font-weight: 700 !important;
}

/* White buttons with black text on orange header */
header .nav-cta,
header .nav-shop-btn,
header .btn-shop,
header .btn-primary,
.ltg-home-modern header .nav-cta,
.ltg-home-modern header .btn-primary,
.ltg-home-modern .nav-actions .btn-shop,
.ltg-home-modern header .nav-shop-btn {
  background: #fff !important;
  color: #0F1729 !important;
  border: none !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.12) !important;
}

header .nav-cta:hover,
header .nav-shop-btn:hover,
.ltg-home-modern header .nav-cta:hover,
.ltg-home-modern header .nav-shop-btn:hover {
  background: #fff !important;
  color: #E8542C !important;
  transform: translateY(-1px);
}

/* Profile / cart icons on orange header */
header .profile-icon-btn,
header .cart-icon-wrap,
header .nav-ref-btn {
  background: rgba(255,255,255,0.18) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,0.25) !important;
}
header .profile-icon-btn:hover,
header .cart-icon-wrap:hover {
  background: rgba(255,255,255,0.28) !important;
  color: #fff !important;
}
header .cart-badge {
  background: #0F1729 !important;
  color: #fff !important;
}

/* Burger lines white */
header .navburger span {
  background: #fff !important;
}

/* Dropdown menu stays readable */
.nav-dropdown-menu {
  background: #fff !important;
  border: 1px solid rgba(15,23,41,0.1) !important;
}
.nav-dropdown-menu a {
  color: #0F1729 !important;
}
.nav-dropdown-menu a:hover {
  background: #FFF0EA !important;
  color: #E8542C !important;
}

/* ---- Kill green everywhere ---- */
.hero h1 em,
.ltg-home-modern .hero h1 em,
.eyebrow,
.ltg-home-modern .eyebrow,
.tag-pill,
.hpc-tag, .hpc-link,
.hero-certs button,
.scroll-cue {
  color: #E8542C !important;
  -webkit-text-fill-color: #E8542C !important;
}
.eyebrow,
.ltg-home-modern .eyebrow,
.tag-pill {
  background: #FFF0EA !important;
  border-color: rgba(232, 84, 44, 0.28) !important;
}
.eyebrow::before,
.ltg-home-modern .eyebrow::before {
  background: #E8542C !important;
}

/* Stats bar — dark navy (not green) */
.hero-stats-bar {
  background: #0F1729 !important;
}

/* Buttons primary stay orange */
.btn-primary,
.hero-actions .btn-primary,
.ltg-home-modern .hero-actions .btn-primary {
  background: linear-gradient(135deg, #E8542C, #F5A623) !important;
  color: #fff !important;
}

/* Facility: force equal height, no stagger, aligned like clean screenshot */
.facility-strip-grid {
  height: auto !important;
  min-height: 0 !important;
  align-items: stretch !important;
  gap: 16px !important;
}
.facility-panel {
  height: 280px !important;
}
.facility-panel .fp-img-wrap {
  top: -18% !important;
  bottom: -18% !important;
}
.facility-panel .fp-img-wrap img {
  transform: scale(1.05) !important;
  filter: brightness(0.92) !important;
}
.facility-panel:hover .fp-img-wrap img {
  transform: scale(1.1) !important;
}

/* Reduce large empty gaps between sections */
.facility-strip {
  padding: 48px 0 40px !important;
}
.facility-strip-inner {
  gap: 20px !important;
}
.home-products {
  padding: 56px 0 64px !important;
}
.home-why {
  padding-top: 56px !important;
  padding-bottom: 64px !important;
}
.section-head {
  margin-bottom: 28px !important;
}
.facility-quote {
  margin-top: 8px !important;
  max-width: 720px !important;
}

/* Mobile facility */
@media (max-width: 900px) {
  .facility-strip-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    height: auto !important;
  }
  .facility-panel {
    height: 200px !important;
  }
}
@media (max-width: 520px) {
  .facility-strip-grid {
    grid-template-columns: 1fr !important;
  }
  .facility-panel {
    height: 210px !important;
  }
}

/* Mobile nav open panel — keep readable */
#navlinks.mobile-open {
  background: #fff !important;
}
#navlinks.mobile-open a {
  color: #0F1729 !important;
  border-bottom-color: rgba(15,23,41,0.08) !important;
}
#navlinks.mobile-open a.active {
  color: #E8542C !important;
}
#navlinks.mobile-open a::after {
  display: none !important;
}


/* Logo readable on orange header — make it white/light */
header .brand img,
.ltg-home-modern header .brand img {
  filter: brightness(0) invert(1) !important;
  opacity: 0.95 !important;
}

/* Ensure header shrink still works cleanly */
header.header-shrink {
  box-shadow: 0 6px 24px rgba(15, 23, 41, 0.22) !important;
}

/* Nav shop button specific (has SVG + text) */
header .nav-shop-btn svg {
  stroke: #0F1729 !important;
}
header .nav-shop-btn:hover svg {
  stroke: #E8542C !important;
}
header .nav-cta {
  font-weight: 700 !important;
}


/* Tighter vertical rhythm — less empty space before titles */
section:not(.hero):not(.hero-stats-bar):not(.facility-strip) {
  padding: 72px 0 !important;
}
.section-head {
  margin-bottom: 32px !important;
}
#company {
  padding-top: 64px !important;
}
.facility-quote p {
  margin: 0 auto !important;
}

/* Shop page header spacing */
.shop-hero, .page-hero, [class*="order-online"] {
  padding-top: 40px !important;
}




/* ---- HEADER: clean cream/white, not full orange ---- */
header,
.ltg-home-modern header {
  background: rgba(255, 255, 255, 0.96) !important;
  border-bottom: 1px solid rgba(15, 23, 41, 0.08) !important;
  box-shadow: 0 2px 16px rgba(15, 23, 41, 0.06) !important;
  backdrop-filter: blur(12px) !important;
}

header .brand,
header .brand > div,
.ltg-home-modern header .brand,
.ltg-home-modern header .brand > div {
  color: #0F1729 !important;
}
header .brand .sub,
.ltg-home-modern header .brand .sub {
  color: #6B7280 !important;
}
header .brand img,
.ltg-home-modern header .brand img {
  filter: none !important;
  opacity: 1 !important;
}

.navlinks > a,
.nav-dropdown-trigger,
.ltg-home-modern .navlinks > a,
.ltg-home-modern .nav-dropdown-trigger {
  color: #0F1729 !important;
  opacity: 0.72 !important;
  font-weight: 600 !important;
}
.navlinks > a:hover,
.nav-dropdown-trigger:hover,
.ltg-home-modern .navlinks > a:hover,
.ltg-home-modern .nav-dropdown-trigger:hover {
  color: #E8542C !important;
  opacity: 1 !important;
}
.navlinks a.active,
.ltg-home-modern .navlinks a.active {
  color: #E8542C !important;
  opacity: 1 !important;
  font-weight: 700 !important;
}

/* Underline: orange, centered, visible */
.navlinks a::after,
.ltg-home-modern .navlinks a::after {
  left: 50% !important;
  transform: translateX(-50%) !important;
  bottom: -5px !important;
  height: 3px !important;
  width: 0 !important;
  background: #E8542C !important;
  border-radius: 2px !important;
}
.navlinks a.active::after,
.navlinks a:hover::after,
.ltg-home-modern .navlinks a.active::after,
.ltg-home-modern .navlinks a:hover::after {
  width: 100% !important;
}

/* Header CTAs: orange primary + outline shop */
header .nav-cta,
.ltg-home-modern header .nav-cta {
  background: linear-gradient(135deg, #E8542C, #F5A623) !important;
  color: #fff !important;
  border: none !important;
  box-shadow: 0 4px 14px rgba(232, 84, 44, 0.28) !important;
}
header .nav-cta:hover,
.ltg-home-modern header .nav-cta:hover {
  color: #fff !important;
  filter: brightness(1.05);
}
header .nav-shop-btn,
.ltg-home-modern header .nav-shop-btn {
  background: #fff !important;
  color: #0F1729 !important;
  border: 1.5px solid rgba(15, 23, 41, 0.14) !important;
  box-shadow: none !important;
}
header .nav-shop-btn:hover {
  border-color: #E8542C !important;
  color: #E8542C !important;
}
header .nav-shop-btn svg {
  stroke: currentColor !important;
}
header .profile-icon-btn,
header .cart-icon-wrap,
header .nav-ref-btn {
  background: #F4F4F5 !important;
  color: #0F1729 !important;
  border: 1px solid rgba(15, 23, 41, 0.08) !important;
}
header .profile-icon-btn:hover,
header .cart-icon-wrap:hover {
  background: #FFF0EA !important;
  color: #E8542C !important;
}
header .cart-badge {
  background: #E8542C !important;
  color: #fff !important;
}
header .navburger span {
  background: #0F1729 !important;
}

/* ---- TAG PILLS: soft orange, dark text (never blank) ---- */
.tag-pill,
.section-head .tag-pill,
.rs-head .tag-pill,
.facility-strip-title .tag-pill,
.eyebrow,
.ltg-home-modern .eyebrow,
.ltg-home-modern .tag-pill {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  background: #FFF0EA !important;
  color: #E8542C !important;
  -webkit-text-fill-color: #E8542C !important;
  border: 1px solid rgba(232, 84, 44, 0.28) !important;
  border-radius: 999px !important;
  padding: 7px 14px !important;
  font-family: var(--font-mono) !important;
  font-size: 0.68rem !important;
  font-weight: 600 !important;
  letter-spacing: 1.4px !important;
  text-transform: uppercase !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.eyebrow::before,
.ltg-home-modern .eyebrow::before {
  background: #E8542C !important;
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  content: "" !important;
  display: inline-block !important;
}

/* ---- ALL SECTION TITLES: dark, never white on light ---- */
.section-head h2,
.section-head p,
.home-products .section-head h2,
.home-products .section-head p,
.home-why .section-head h2,
.home-why .section-head p,
.facility-strip-title h2,
.facility-strip-title p,
.rs-head h2,
.rs-head p,
.ltg-home-modern .section-head h2,
.ltg-home-modern .section-head p,
.ltg-home-modern main > section .section-head h2,
.ltg-home-modern main > section .section-head p,
.ltg-home-modern main > section[style*="cream"] .section-head h2,
.ltg-home-modern main > section[style*="cream"] .section-head p {
  color: #0F1729 !important;
  -webkit-text-fill-color: #0F1729 !important;
  opacity: 1 !important;
}
.section-head p,
.home-products .section-head p,
.facility-strip-title p,
.rs-head p,
.ltg-home-modern .section-head p {
  color: #5B6472 !important;
  -webkit-text-fill-color: #5B6472 !important;
}

/* ---- VISION / MISSION cards: readable dark text on light cards ---- */
.vision-grid .vm-card,
.ltg-home-modern .vm-card,
.obj-grid .obj-card,
.ltg-home-modern .obj-card {
  background: #fff !important;
  border: 1px solid rgba(15, 23, 41, 0.08) !important;
  border-radius: 14px !important;
  box-shadow: 0 4px 18px rgba(15, 23, 41, 0.04) !important;
  backdrop-filter: none !important;
}
.vm-card h3,
.ltg-home-modern .vm-card h3,
.obj-card h4,
.ltg-home-modern .obj-card h4 {
  color: #0F1729 !important;
  -webkit-text-fill-color: #0F1729 !important;
}
.vm-card p,
.ltg-home-modern .vm-card p,
.obj-card p,
.ltg-home-modern .obj-card p {
  color: #5B6472 !important;
  -webkit-text-fill-color: #5B6472 !important;
}
.ltg-home-modern .obj-grid {
  background: transparent !important;
  gap: 14px !important;
}
section[style*="cream-2"],
.ltg-home-modern main > section[style*="cream"] {
  background: #F4EEE3 !important;
  color: #0F1729 !important;
}

/* ---- Product range selector (hero bottom): strong orange selected ---- */
.hero-range .hr-item,
.ltg-home-modern .hero-range .hr-item {
  background: transparent !important;
  border: 1.5px solid transparent !important;
  border-radius: 12px !important;
  color: #0F1729 !important;
  transition: border-color 0.2s, background 0.2s, box-shadow 0.2s !important;
}
.hero-range .hr-item:hover {
  background: #fff !important;
  border-color: rgba(232, 84, 44, 0.35) !important;
}
.hero-range .hr-item.is-active,
.ltg-home-modern .hero-range .hr-item.is-active {
  background: #fff !important;
  border: 2px solid #E8542C !important;
  box-shadow: 0 6px 20px rgba(232, 84, 44, 0.18) !important;
  color: #0F1729 !important;
}
.hero-range .hr-item.is-active .hr-spec,
.hero-range .hr-item.is-active span {
  color: #E8542C !important;
  font-weight: 700 !important;
}

/* ---- Stats bar: fits better — soft cream strip with dark text ---- */
.hero-stats-bar,
.ltg-home-modern .hero-stats-bar {
  background: #0F1729 !important;
  border-radius: 0 !important;
  margin: 0 !important;
  padding: 28px 0 !important;
  border-top: none !important;
}
.hero-stat .num,
.ltg-home-modern .hero-stat .num {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background: none !important;
}
.hero-stat .lbl,
.ltg-home-modern .hero-stat .lbl {
  color: rgba(255, 255, 255, 0.65) !important;
}
.hero-stat:not(:last-child)::after {
  background: rgba(255, 255, 255, 0.15) !important;
}

/* Soften gap above stats so it sits under product strip cleanly */
.hero-range {
  border-bottom: none !important;
  padding-bottom: 12px !important;
}

/* ---- FOOTER: white / light ---- */
footer,
footer.contact,
.site-footer,
.footer,
.ltg-home-modern footer.contact,
.ltg-home-modern footer {
  background: #fff !important;
  color: #0F1729 !important;
  border-top: 1px solid rgba(15, 23, 41, 0.08) !important;
}
footer h3, footer h4,
.ltg-home-modern footer.contact h3,
.ltg-home-modern footer.contact h4 {
  color: #E8542C !important;
}
footer p, footer li, footer span, footer a,
.ltg-home-modern footer.contact p,
.ltg-home-modern footer.contact li,
.ltg-home-modern footer.contact .muted,
.ltg-home-modern footer.contact a {
  color: #5B6472 !important;
}
footer a:hover,
.ltg-home-modern footer.contact a:hover {
  color: #E8542C !important;
}
footer .footer-bottom,
.ltg-home-modern footer .footer-bottom {
  background: #F7F5F0 !important;
  border-top: 1px solid rgba(15, 23, 41, 0.06) !important;
  color: #6B7280 !important;
}
footer .footer-bottom a {
  color: #6B7280 !important;
}
footer .footer-bottom a:hover {
  color: #E8542C !important;
}
/* brand block in footer */
footer .brand,
footer .brand > div {
  color: #0F1729 !important;
}




/* Allow JS parallax transforms on facility panels */
.facility-strip-grid {
  height: 340px !important;
  align-items: center !important;
}
.facility-panel {
  height: 280px !important;
  transform: none; /* baseline; JS will set translate3d */
  transition: transform 0.08s linear !important;
}
.facility-panel .fp-img-wrap {
  top: -18% !important;
  bottom: -18% !important;
  transform: none;
  transition: transform 0.08s linear !important;
}
.facility-panel .fp-img-wrap img {
  transform: scale(1.12) !important;
  filter: brightness(0.9) !important;
}
.facility-panel:hover .fp-img-wrap img {
  transform: scale(1.16) !important;
}

/* Kill earlier "transform: none !important" locks for facility */
/* facility transform left free for JS */
/* Critical: do NOT use !important on transform so JS inline styles work */
.facility-panel,
.facility-panel .fp-img-wrap,
.ltg-home-modern .facility-panel,
.ltg-home-modern .facility-panel .fp-img-wrap {
  /* leave transform without !important so script can animate */
}

/* Override any previous !important transform:none specifically */
.facility-strip-grid .facility-panel {
  transform: translate3d(0, 0, 0);
}
.facility-strip-grid .facility-panel .fp-img-wrap {
  transform: translate3d(0, 0, 0);
}

/* ---- TAG PILLS: force visible text (white on solid orange) ---- */
.tag-pill,
div.tag-pill,
.section-head .tag-pill,
.section-head.center .tag-pill,
.section-head.tone-a .tag-pill,
.section-head.tone-b .tag-pill,
.rs-head .tag-pill,
.facility-strip-title .tag-pill,
.home-products .tag-pill,
.ltg-home-modern .tag-pill,
.ltg-home-modern .section-head .tag-pill {
  display: inline-block !important;
  background: #E8542C !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 8px 16px !important;
  font-family: var(--font-mono), "JetBrains Mono", monospace !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  letter-spacing: 1.6px !important;
  text-transform: uppercase !important;
  line-height: 1.3 !important;
  white-space: nowrap !important;
  opacity: 1 !important;
  visibility: visible !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
  text-indent: 0 !important;
  width: auto !important;
  max-width: none !important;
}




/* Footer: dark readable text on white */
footer,
footer#contact,
.ltg-home-modern footer,
.ltg-home-modern footer.contact {
  background: #ffffff !important;
  color: #0F1729 !important;
  border-top: 1px solid rgba(15, 23, 41, 0.1) !important;
  padding-top: 48px !important;
  padding-bottom: 24px !important;
}
footer .foot-brand,
footer .foot-brand span {
  color: #0F1729 !important;
  font-weight: 700 !important;
}
footer .foot-grid > div > p,
footer .foot-col,
footer .foot-col div,
footer .foot-col a,
footer p,
footer a,
footer span,
footer li {
  color: #3F4654 !important;
  -webkit-text-fill-color: #3F4654 !important;
  opacity: 1 !important;
}
footer .foot-col h2,
footer .foot-col h3,
footer h2,
footer h3,
footer h4 {
  color: #E8542C !important;
  -webkit-text-fill-color: #E8542C !important;
  font-size: 0.75rem !important;
  letter-spacing: 1.2px !important;
  text-transform: uppercase !important;
  margin-bottom: 10px !important;
}
footer .foot-col a:hover,
footer a:hover {
  color: #E8542C !important;
  -webkit-text-fill-color: #E8542C !important;
}
footer .foot-bottom {
  background: transparent !important;
  border-top: 1px solid rgba(15, 23, 41, 0.08) !important;
  margin-top: 28px !important;
  padding-top: 18px !important;
  color: #5B6472 !important;
}
footer .foot-bottom,
footer .foot-bottom span,
footer .foot-bottom a {
  color: #5B6472 !important;
  -webkit-text-fill-color: #5B6472 !important;
}
footer .foot-bottom a:hover {
  color: #E8542C !important;
}

/* Product range cards: clear outline so they stand out */
.home-prod-card,
.ltg-home-modern .home-prod-card {
  background: #ffffff !important;
  border: 1.5px solid rgba(15, 23, 41, 0.12) !important;
  border-radius: 16px !important;
  box-shadow: 0 8px 28px rgba(15, 23, 41, 0.06) !important;
  overflow: hidden !important;
}
.home-prod-card:hover,
.ltg-home-modern .home-prod-card:hover {
  border-color: rgba(232, 84, 44, 0.45) !important;
  box-shadow: 0 14px 36px rgba(232, 84, 44, 0.12) !important;
  transform: translateY(-3px) !important;
}

/* Reduce large empty space between sections */
section:not(.hero):not(.hero-stats-bar):not(.facility-strip) {
  padding: 56px 0 !important;
}
.section-head {
  margin-bottom: 28px !important;
}
.home-products {
  padding: 48px 0 40px !important;
}
.home-why {
  padding: 40px 0 48px !important;
}
.facility-strip {
  padding: 40px 0 32px !important;
}
#company {
  padding: 48px 0 !important;
}
.quote-section {
  padding: 48px 0 !important;
}
.reviews-section {
  padding: 48px 0 56px !important;
}
.facility-quote {
  margin-top: 12px !important;
  margin-bottom: 0 !important;
}



/* ============================================================
   Facility section: gallery LEFT + text RIGHT (parallax kept)
   ============================================================ */
.facility-strip {
  padding: 56px 4vw 48px !important;
  background: #fff !important;
  overflow: hidden !important;
}
.facility-split {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
  gap: 40px 48px;
  align-items: center;
}
.facility-split-gallery {
  min-width: 0;
}
.facility-split-copy {
  min-width: 0;
  padding-right: 8px;
}
.facility-split-copy .section-head {
  text-align: left !important;
  max-width: none !important;
  margin: 0 0 28px !important;
}
.facility-split-copy .section-head h2 {
  text-align: left !important;
}
.facility-split-copy .section-head p {
  text-align: left !important;
  max-width: 420px;
}
.facility-split-copy .tag-pill {
  margin-bottom: 14px !important;
}

/* 2x2 grid on the left — room for parallax stagger */
.facility-split .facility-strip-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  grid-template-rows: 1fr 1fr !important;
  gap: 14px !important;
  height: 420px !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}
.facility-split .facility-panel {
  height: 100% !important;
  min-height: 0 !important;
  border-radius: 14px !important;
}

/* Quote under the copy on the right */
.facility-split .facility-quote {
  text-align: left !important;
  max-width: 420px !important;
  margin: 0 !important;
}
.facility-split .facility-quote .fq-mark {
  text-align: left !important;
  margin: 0 0 8px !important;
  font-size: 2.4rem !important;
  line-height: 1 !important;
  color: #E8542C !important;
}
.facility-split .facility-quote p {
  text-align: left !important;
  font-size: 1.05rem !important;
  line-height: 1.55 !important;
  color: #3F4654 !important;
}

@media (max-width: 900px) {
  .facility-split {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
  .facility-split-copy {
    order: -1; /* text first on mobile */
  }
  .facility-split .facility-strip-grid {
    height: 360px !important;
  }
  .facility-split-copy .section-head,
  .facility-split-copy .section-head h2,
  .facility-split-copy .section-head p,
  .facility-split .facility-quote,
  .facility-split .facility-quote p {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .facility-split .facility-quote .fq-mark {
    text-align: center !important;
  }
}
@media (max-width: 520px) {
  .facility-split .facility-strip-grid {
    height: 320px !important;
    gap: 10px !important;
  }
}



/* ============================================================
   Facility: title centered on top (unchanged)
   Gallery staggered LEFT + quote text RIGHT beside it
   ============================================================ */
.facility-strip {
  padding: 48px 0 40px !important;
  background: #fff !important;
  overflow: hidden !important;
}
.facility-strip .facility-strip-title {
  text-align: center !important;
  margin-bottom: 28px !important;
}
.facility-strip .facility-strip-title h2,
.facility-strip .facility-strip-title p {
  text-align: center !important;
}

/* Row: cards + quote side by side */
.facility-row {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  align-items: center;
  gap: 36px;
}

/* Original 4-column staggered grid — keep parallax room */
.facility-row .facility-strip-grid {
  flex: 1 1 auto;
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 14px !important;
  height: 340px !important;
  max-width: none !important;
  width: auto !important;
  min-width: 0;
  margin: 0 !important;
}
.facility-row .facility-panel {
  height: 100% !important;
  border-radius: 12px !important;
}

/* Quote sits to the right of the cards */
.facility-row .facility-quote {
  flex: 0 0 280px;
  max-width: 280px;
  margin: 0 !important;
  text-align: left !important;
  padding: 0 !important;
}
.facility-row .facility-quote .fq-mark {
  text-align: left !important;
  margin: 0 0 10px !important;
  font-size: 2.6rem !important;
  line-height: 1 !important;
  color: #E8542C !important;
}
.facility-row .facility-quote p {
  text-align: left !important;
  font-size: 1.02rem !important;
  line-height: 1.55 !important;
  color: #0F1729 !important;
  font-weight: 500 !important;
}

/* Undo previous split layout if still present */
.facility-split { display: contents; }

@media (max-width: 960px) {
  .facility-row {
    flex-direction: column;
    gap: 24px;
  }
  .facility-row .facility-strip-grid {
    width: 100% !important;
    height: 280px !important;
  }
  .facility-row .facility-quote {
    flex: none;
    max-width: 520px;
    text-align: center !important;
  }
  .facility-row .facility-quote .fq-mark,
  .facility-row .facility-quote p {
    text-align: center !important;
  }
}
@media (max-width: 640px) {
  .facility-row .facility-strip-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    height: 360px !important;
  }
}


/* Space so parallax cards never cover the subtitle */
.facility-strip {
  padding: 48px 0 56px !important;
  overflow: visible !important;
}
.facility-strip .container {
  position: relative;
  z-index: 2;
}
.facility-strip .facility-strip-title {
  margin-bottom: 48px !important;
  position: relative;
  z-index: 3;
  background: transparent !important;
}
.facility-strip .facility-strip-title p {
  position: relative;
  z-index: 3;
  background: #fff !important;
  display: inline-block !important;
  padding: 0 12px !important;
  max-width: 520px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Gallery + quote row — more gap, quote further right & larger */
.facility-row {
  max-width: 1240px !important;
  margin: 0 auto !important;
  padding: 24px 32px 16px !important; /* top padding = room for upward parallax */
  display: flex !important;
  align-items: center !important;
  gap: 48px !important;
  position: relative;
  z-index: 1;
}
.facility-row .facility-strip-grid {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  height: 320px !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 12px !important;
}
.facility-row .facility-panel {
  /* keep height for parallax; don't let upward shift eat title */
  will-change: transform;
}

.facility-row .facility-quote {
  flex: 0 0 320px !important;
  max-width: 320px !important;
  min-width: 280px !important;
  margin: 0 0 0 12px !important;
  padding: 8px 0 8px 8px !important;
  text-align: left !important;
  position: relative;
  z-index: 2;
}
.facility-row .facility-quote .fq-mark {
  font-size: 3.2rem !important;
  line-height: 1 !important;
  margin: 0 0 12px !important;
  color: #E8542C !important;
  text-align: left !important;
}
.facility-row .facility-quote p {
  font-size: 1.2rem !important;
  line-height: 1.55 !important;
  font-weight: 600 !important;
  color: #0F1729 !important;
  text-align: left !important;
}

/* Product cards: ALWAYS clearly outlined (not only on hover) */
.home-prod-card,
.ltg-home-modern .home-prod-card,
a.home-prod-card {
  background: #ffffff !important;
  border: 2px solid #E8542C !important;
  border-radius: 16px !important;
  box-shadow: 0 10px 32px rgba(232, 84, 44, 0.12) !important;
  outline: none !important;
}
.home-prod-card:hover,
.ltg-home-modern .home-prod-card:hover,
a.home-prod-card:hover {
  border: 2.5px solid #E8542C !important;
  box-shadow: 0 16px 40px rgba(232, 84, 44, 0.28) !important;
  transform: translateY(-4px) !important;
  background: #FFF8F5 !important;
}

@media (max-width: 960px) {
  .facility-row {
    flex-direction: column !important;
    padding-top: 16px !important;
    gap: 28px !important;
  }
  .facility-row .facility-quote {
    flex: none !important;
    max-width: 480px !important;
    margin: 0 auto !important;
    text-align: center !important;
  }
  .facility-row .facility-quote .fq-mark,
  .facility-row .facility-quote p {
    text-align: center !important;
  }
}




/* Remove extra blank space under header */
.hero,
.ltg-home-modern .hero {
  padding-top: 72px !important;
  padding-bottom: 0 !important;
  min-height: 0 !important;
}
.hero-top,
.ltg-home-modern .hero-top {
  min-height: 0 !important;
  padding: 28px 0 20px !important;
  gap: 32px !important;
}
.hero-inner,
.ltg-home-modern .hero-inner {
  padding-top: 0 !important;
}

/* Stats bar: white background, orange highlight text */
.hero-stats-bar,
.ltg-home-modern .hero-stats-bar {
  background: #ffffff !important;
  border-top: 1px solid rgba(15, 23, 41, 0.08) !important;
  border-bottom: 1px solid rgba(15, 23, 41, 0.08) !important;
  padding: 26px 0 !important;
}
.hero-stat .num,
.ltg-home-modern .hero-stat .num {
  color: #E8542C !important;
  -webkit-text-fill-color: #E8542C !important;
  background: none !important;
  font-weight: 800 !important;
}
.hero-stat .lbl,
.ltg-home-modern .hero-stat .lbl {
  color: #0F1729 !important;
  -webkit-text-fill-color: #0F1729 !important;
  opacity: 0.75 !important;
}
.hero-stat:not(:last-child)::after {
  background: rgba(15, 23, 41, 0.12) !important;
}

/* Profile button: black outline on hover */
header .profile-icon-btn,
header .cart-icon-wrap,
header .nav-ref-btn {
  border: 1.5px solid rgba(15, 23, 41, 0.14) !important;
  background: #fff !important;
  color: #0F1729 !important;
}
header .profile-icon-btn:hover,
header .cart-icon-wrap:hover,
header .nav-ref-btn:hover {
  border-color: #0F1729 !important;
  color: #0F1729 !important;
  background: #fff !important;
  box-shadow: none !important;
}

/* Shop button: black outline on hover (not orange) */
header .nav-shop-btn,
.ltg-home-modern header .nav-shop-btn {
  background: #fff !important;
  color: #0F1729 !important;
  border: 1.5px solid rgba(15, 23, 41, 0.14) !important;
  box-shadow: none !important;
}
header .nav-shop-btn:hover,
.ltg-home-modern header .nav-shop-btn:hover {
  border-color: #0F1729 !important;
  color: #0F1729 !important;
  background: #fff !important;
  box-shadow: none !important;
}
header .nav-shop-btn:hover svg {
  stroke: #0F1729 !important;
}

/* Get In Touch: stay orange on hover (never go white) */
header .nav-cta,
.ltg-home-modern header .nav-cta {
  background: linear-gradient(135deg, #E8542C, #F5A623) !important;
  color: #ffffff !important;
  border: none !important;
  box-shadow: 0 4px 14px rgba(232, 84, 44, 0.28) !important;
}
header .nav-cta:hover,
.ltg-home-modern header .nav-cta:hover,
header .nav-cta:focus,
.ltg-home-modern header .nav-cta:focus {
  background: linear-gradient(135deg, #d44824, #e0961a) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  filter: brightness(1.05);
  box-shadow: 0 6px 18px rgba(232, 84, 44, 0.35) !important;
}




/* Stats numbers */
.hero-stat .num,
.ltg-home-modern .hero-stat .num {
  color: #0F1729 !important;
  -webkit-text-fill-color: #0F1729 !important;
}

/* Nav active underline + text */
.navlinks a.active,
.ltg-home-modern .navlinks a.active {
  color: #0F1729 !important;
}
.navlinks a::after,
.ltg-home-modern .navlinks a::after {
  background: #0F1729 !important;
}
.navlinks a:hover,
.ltg-home-modern .navlinks a:hover {
  color: #0F1729 !important;
}

/* Hero product selector active card */
.hero-range .hr-item.is-active,
.ltg-home-modern .hero-range .hr-item.is-active {
  border: 2px solid #0F1729 !important;
  box-shadow: 0 8px 24px rgba(15, 23, 41, 0.12) !important;
}
.hero-range .hr-item.is-active .hr-spec,
.hero-range .hr-item.is-active span {
  color: #0F1729 !important;
}

/* Product range cards outline */
.home-prod-card,
.ltg-home-modern .home-prod-card,
a.home-prod-card {
  border: 1.5px solid rgba(15, 23, 41, 0.18) !important;
  box-shadow: 0 8px 28px rgba(15, 23, 41, 0.06) !important;
}
.home-prod-card:hover,
a.home-prod-card:hover {
  border-color: #0F1729 !important;
  box-shadow: 0 14px 36px rgba(15, 23, 41, 0.12) !important;
  background: #fff !important;
}

/* Bag dots active */
.bag-dot.is-active::before {
  background: #0F1729 !important;
}



/* ============================================================
   LTG DESIGN SYSTEM v11 — Premium polish pass
   Palette: navy + warm off-white + white + orange accent
   Does not change layout/content/functionality
   ============================================================ */

:root {
  --ltg-navy: #0F1729;
  --ltg-navy-2: #182033;
  --ltg-warm: #F5F5F3;
  --ltg-white: #FFFFFF;
  --ltg-text: #0F1729;
  --ltg-text-2: #5B6472;
  --ltg-text-3: #8B939F;
  --ltg-orange: #E8542C;
  --ltg-orange-soft: #FFF0EA;
  --ltg-line: rgba(15, 23, 41, 0.10);
  --ltg-radius: 14px;
  --ltg-shadow: 0 8px 28px rgba(15, 23, 41, 0.06);
}

/* ---- Base ---- */
body,
.ltg-home-modern {
  background: var(--ltg-warm) !important;
  color: var(--ltg-text) !important;
}

/* ---- Header / Nav: clean white, high contrast ---- */
header,
.ltg-home-modern header {
  background: rgba(255, 255, 255, 0.96) !important;
  border-bottom: 1px solid var(--ltg-line) !important;
  box-shadow: 0 1px 0 rgba(15, 23, 41, 0.04) !important;
  backdrop-filter: blur(12px) !important;
}
header .brand,
header .brand > div { color: var(--ltg-navy) !important; }
header .brand .sub { color: var(--ltg-text-3) !important; }
header .brand img { filter: none !important; opacity: 1 !important; }

.navlinks > a,
.nav-dropdown-trigger {
  color: var(--ltg-text-2) !important;
  opacity: 1 !important;
  font-weight: 500 !important;
}
.navlinks > a:hover,
.nav-dropdown-trigger:hover {
  color: var(--ltg-navy) !important;
}
.navlinks a.active {
  color: var(--ltg-navy) !important;
  font-weight: 700 !important;
}
.navlinks a::after {
  background: var(--ltg-navy) !important;
  height: 2px !important;
  bottom: -4px !important;
}

/* Primary CTA in nav — orange accent only */
header .nav-cta {
  background: var(--ltg-orange) !important;
  color: #fff !important;
  border: none !important;
  box-shadow: none !important;
  font-weight: 700 !important;
}
header .nav-cta:hover,
header .nav-cta:focus {
  background: #d44824 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  filter: none !important;
}

/* Secondary nav controls — navy outline */
header .nav-shop-btn,
header .profile-icon-btn,
header .cart-icon-wrap,
header .nav-ref-btn {
  background: var(--ltg-white) !important;
  color: var(--ltg-navy) !important;
  border: 1.5px solid var(--ltg-line) !important;
  box-shadow: none !important;
}
header .nav-shop-btn:hover,
header .profile-icon-btn:hover,
header .cart-icon-wrap:hover {
  border-color: var(--ltg-navy) !important;
  color: var(--ltg-navy) !important;
  background: var(--ltg-white) !important;
}
header .nav-shop-btn svg { stroke: currentColor !important; }
header .cart-badge {
  background: var(--ltg-orange) !important;
  color: #fff !important;
}
header .navburger span { background: var(--ltg-navy) !important; }

/* ---- Hero ---- */
.hero,
.ltg-home-modern .hero {
  background: var(--ltg-white) !important;
  color: var(--ltg-text) !important;
  padding-top: 76px !important;
  padding-bottom: 0 !important;
}
.hero-top,
.ltg-home-modern .hero-top {
  min-height: 0 !important;
  padding: 36px 0 28px !important;
}
.hero h1,
.ltg-home-modern .hero h1 {
  color: var(--ltg-navy) !important;
  -webkit-text-fill-color: var(--ltg-navy) !important;
  letter-spacing: -0.04em !important;
}
.hero h1 em,
.ltg-home-modern .hero h1 em {
  color: var(--ltg-orange) !important;
  -webkit-text-fill-color: var(--ltg-orange) !important;
  background: none !important;
}
.hero .lead,
.ltg-home-modern .hero .lead {
  color: var(--ltg-text-2) !important;
  -webkit-text-fill-color: var(--ltg-text-2) !important;
  line-height: 1.65 !important;
  max-width: 34em !important;
}
.eyebrow,
.ltg-home-modern .eyebrow,
.tag-pill,
.section-head .tag-pill,
.facility-strip-title .tag-pill,
.rs-head .tag-pill {
  background: var(--ltg-orange-soft) !important;
  color: var(--ltg-orange) !important;
  -webkit-text-fill-color: var(--ltg-orange) !important;
  border: 1px solid rgba(232, 84, 44, 0.22) !important;
  font-weight: 600 !important;
  font-size: 0.68rem !important;
  letter-spacing: 1.4px !important;
  padding: 6px 12px !important;
  border-radius: 999px !important;
  display: inline-block !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.eyebrow::before { background: var(--ltg-orange) !important; }

/* Hero buttons */
.hero-actions .btn-primary,
.ltg-home-modern .hero-actions .btn-primary {
  background: var(--ltg-orange) !important;
  color: #fff !important;
  border: none !important;
  box-shadow: none !important;
}
.hero-actions .btn-primary:hover {
  background: #d44824 !important;
  color: #fff !important;
}
.hero-actions .btn-shop,
.ltg-home-modern .hero-actions .btn-shop {
  background: var(--ltg-white) !important;
  color: var(--ltg-navy) !important;
  border: 1.5px solid var(--ltg-line) !important;
}
.hero-actions .btn-shop:hover {
  border-color: var(--ltg-navy) !important;
}
.hero-actions .btn-ghost {
  color: var(--ltg-navy) !important;
  background: transparent !important;
  border: none !important;
  text-decoration: underline !important;
  text-underline-offset: 4px !important;
}
.hero-certs,
.hero-certs li,
.hero-certs button {
  color: var(--ltg-text-2) !important;
}
.hero-certs li::before { background: var(--ltg-orange) !important; }
.hero-certs button { color: var(--ltg-orange) !important; }

/* Product strip under hero */
.hero-range .hr-item {
  border: 1.5px solid transparent !important;
  border-radius: 12px !important;
  color: var(--ltg-text) !important;
}
.hero-range .hr-item.is-active {
  border-color: var(--ltg-navy) !important;
  background: var(--ltg-white) !important;
  box-shadow: var(--ltg-shadow) !important;
}
.hero-range .hr-item.is-active .hr-spec,
.hero-range .hr-item.is-active span {
  color: var(--ltg-navy) !important;
  font-weight: 700 !important;
}
.bag-dot.is-active::before { background: var(--ltg-navy) !important; }

/* Stats — warm strip, navy numbers, muted labels */
.hero-stats-bar,
.ltg-home-modern .hero-stats-bar {
  background: var(--ltg-warm) !important;
  border-top: 1px solid var(--ltg-line) !important;
  border-bottom: 1px solid var(--ltg-line) !important;
  padding: 28px 0 !important;
}
.hero-stat .num {
  color: var(--ltg-navy) !important;
  -webkit-text-fill-color: var(--ltg-navy) !important;
  background: none !important;
  font-weight: 800 !important;
}
.hero-stat .lbl {
  color: var(--ltg-text-2) !important;
  -webkit-text-fill-color: var(--ltg-text-2) !important;
  opacity: 1 !important;
  letter-spacing: 1px !important;
}
.hero-stat:not(:last-child)::after {
  background: var(--ltg-line) !important;
}

/* ---- Section rhythm ---- */
section:not(.hero):not(.hero-stats-bar) {
  padding: 64px 0 !important;
}
.section-head {
  margin-bottom: 32px !important;
}
.section-head h2,
.ltg-home-modern .section-head h2,
.facility-strip-title h2,
.rs-head h2,
.home-products .section-head h2,
.home-why .section-head h2 {
  color: var(--ltg-navy) !important;
  -webkit-text-fill-color: var(--ltg-navy) !important;
  letter-spacing: -0.03em !important;
  margin-bottom: 10px !important;
}
.section-head p,
.facility-strip-title p,
.rs-head p,
.home-products .section-head p {
  color: var(--ltg-text-2) !important;
  -webkit-text-fill-color: var(--ltg-text-2) !important;
  line-height: 1.6 !important;
}

/* Alternating backgrounds */
.facility-strip {
  background: var(--ltg-white) !important;
  padding: 56px 0 48px !important;
}
.home-products {
  background: var(--ltg-warm) !important;
  padding: 56px 0 48px !important;
}
.home-why {
  background: var(--ltg-white) !important;
  padding: 56px 0 48px !important;
}
#company {
  background: var(--ltg-warm) !important;
  padding: 56px 0 !important;
}
section[style*="cream"],
section[style*="cream-2"] {
  background: var(--ltg-warm) !important;
  color: var(--ltg-text) !important;
}
.quote-section {
  background: var(--ltg-white) !important;
  padding: 56px 0 !important;
}
.quote-section blockquote {
  color: var(--ltg-navy) !important;
}
.quote-mark,
.facility-quote .fq-mark {
  color: var(--ltg-orange) !important;
}
.reviews-section {
  background: var(--ltg-warm) !important;
  padding: 56px 0 64px !important;
}

/* ---- Cards: premium, subtle ---- */
.home-prod-card,
a.home-prod-card,
.ltg-home-modern .home-prod-card {
  background: var(--ltg-white) !important;
  border: 1px solid var(--ltg-line) !important;
  border-radius: var(--ltg-radius) !important;
  box-shadow: var(--ltg-shadow) !important;
  overflow: hidden !important;
}
.home-prod-card:hover,
a.home-prod-card:hover {
  border-color: rgba(15, 23, 41, 0.18) !important;
  box-shadow: 0 14px 36px rgba(15, 23, 41, 0.10) !important;
  transform: translateY(-3px) !important;
  background: var(--ltg-white) !important;
}
.hpc-body h3 { color: var(--ltg-navy) !important; }
.hpc-body p,
.hpc-points li { color: var(--ltg-text-2) !important; }
.hpc-tag,
.hpc-link { color: var(--ltg-orange) !important; }
.hpc-points li::before { background: var(--ltg-orange) !important; }

.vm-card,
.obj-card,
.ltg-home-modern .vm-card,
.ltg-home-modern .obj-card {
  background: var(--ltg-white) !important;
  border: 1px solid var(--ltg-line) !important;
  border-radius: var(--ltg-radius) !important;
  box-shadow: var(--ltg-shadow) !important;
  backdrop-filter: none !important;
}
.vm-card h3,
.obj-card h4,
.ltg-home-modern .vm-card h3,
.ltg-home-modern .obj-card h4 {
  color: var(--ltg-navy) !important;
  -webkit-text-fill-color: var(--ltg-navy) !important;
}
.vm-card p,
.obj-card p,
.ltg-home-modern .vm-card p,
.ltg-home-modern .obj-card p {
  color: var(--ltg-text-2) !important;
  -webkit-text-fill-color: var(--ltg-text-2) !important;
}
.ltg-home-modern .obj-grid {
  background: transparent !important;
  gap: 14px !important;
}

.hwy-card {
  background: var(--ltg-white) !important;
  border: 1px solid var(--ltg-line) !important;
}
.hwy-num { color: var(--ltg-orange) !important; }

/* Facility quote */
.facility-row .facility-quote p {
  color: var(--ltg-navy) !important;
  font-size: 1.15rem !important;
  font-weight: 600 !important;
  line-height: 1.55 !important;
}
.facility-strip .facility-strip-title {
  margin-bottom: 40px !important;
  z-index: 3;
}
.facility-strip .facility-strip-title p {
  background: transparent !important;
}

/* Reviews */
.rs-summary {
  background: var(--ltg-white) !important;
  border: 1px solid var(--ltg-line) !important;
  border-radius: var(--ltg-radius) !important;
}
.rs-write-btn {
  background: var(--ltg-orange) !important;
  color: #fff !important;
  border: none !important;
}
.rs-grid .review-card {
  background: var(--ltg-white) !important;
  border: 1px solid var(--ltg-line) !important;
  border-radius: 12px !important;
}

/* ---- Footer: strong navy ending ---- */
footer,
footer#contact,
footer.contact,
.ltg-home-modern footer,
.ltg-home-modern footer.contact {
  background: #fff !important;
  color: #0f1729 !important;
  border-top: 2px solid #c8ced8 !important;
  box-shadow: 0 -8px 24px rgba(15, 23, 41, 0.07) !important;
  padding-top: 56px !important;
  padding-bottom: 28px !important;
}
footer .foot-brand,
footer .foot-brand span,
footer .brand,
footer .brand > div {
  color: #0f1729 !important;
  -webkit-text-fill-color: #0f1729 !important;
}
footer .foot-grid > div > p,
footer .foot-col,
footer .foot-col div,
footer .foot-col a,
footer p,
footer a,
footer span,
footer li {
  color: #566174 !important;
  -webkit-text-fill-color: #566174 !important;
}
footer .foot-col h2,
footer h2,
footer h3,
footer h4 {
  color: var(--ltg-orange) !important;
  -webkit-text-fill-color: var(--ltg-orange) !important;
  font-size: 0.72rem !important;
  letter-spacing: 1.3px !important;
  text-transform: uppercase !important;
}
footer .foot-col a:hover,
footer a:hover {
  color: var(--ltg-orange) !important;
  -webkit-text-fill-color: var(--ltg-orange) !important;
}
footer .foot-bottom {
  background: transparent !important;
  border-top: 1px solid rgba(15, 23, 41, 0.14) !important;
  margin-top: 32px !important;
  padding-top: 20px !important;
}
footer .foot-bottom,
footer .foot-bottom span,
footer .foot-bottom a {
  color: #697386 !important;
  -webkit-text-fill-color: #697386 !important;
}
footer .foot-bottom a:hover {
  color: var(--ltg-orange) !important;
  -webkit-text-fill-color: var(--ltg-orange) !important;
}

/* Primary global buttons */
.btn-primary,
.rs-write-btn,
.place-order-btn {
  background: var(--ltg-orange) !important;
  color: #fff !important;
  border: none !important;
}
.btn-primary:hover {
  background: #d44824 !important;
  color: #fff !important;
}

/* Mobile nav panel */
#navlinks.mobile-open {
  background: var(--ltg-white) !important;
}
#navlinks.mobile-open a {
  color: var(--ltg-navy) !important;
}
#navlinks.mobile-open a.active {
  color: var(--ltg-orange) !important;
}

/* Forms / login readability */
input, textarea, select {
  color: var(--ltg-navy) !important;
  background: var(--ltg-white) !important;
}
input::placeholder, textarea::placeholder {
  color: var(--ltg-text-3) !important;
}



/* ============================================================
   Adhesive + Grout pages: full white, dark readable text
   ============================================================ */

#page-adhesive,
#page-grout,
#page-adhesive .page,
#page-grout .page {
  background: #FFFFFF !important;
  color: #0F1729 !important;
}

/* Hero bars on product pages */
#page-adhesive .page-hero-bar,
#page-grout .page-hero-bar,
.page-hero-bar {
  background: #FFFFFF !important;
  color: #0F1729 !important;
  border-bottom: 1px solid rgba(15, 23, 41, 0.08) !important;
}
.page-hero-bar h1,
.page-hero-bar p,
.page-hero-bar-label,
#page-adhesive .page-hero-bar h1,
#page-adhesive .page-hero-bar p,
#page-grout .page-hero-bar h1,
#page-grout .page-hero-bar p {
  color: #0F1729 !important;
  -webkit-text-fill-color: #0F1729 !important;
}
.page-hero-bar-label {
  color: #E8542C !important;
  -webkit-text-fill-color: #E8542C !important;
}
.page-hero-bar p {
  color: #5B6472 !important;
  -webkit-text-fill-color: #5B6472 !important;
}

/* All product page sections white */
#page-adhesive #products,
#page-adhesive .products,
#page-adhesive #specs,
#page-adhesive #excellence,
#page-grout #colours,
#page-grout section,
#page-adhesive section {
  background: #FFFFFF !important;
  color: #0F1729 !important;
}

/* Headings */
#page-adhesive h1,
#page-adhesive h2,
#page-adhesive h3,
#page-adhesive h4,
#page-grout h1,
#page-grout h2,
#page-grout h3,
#page-grout h4,
#page-adhesive .section-head h2,
#page-grout .section-head h2,
#page-adhesive .products .section-head h2,
#page-adhesive #specs .section-head h2,
#page-adhesive #excellence .section-head h2,
#page-adhesive #excellence h3,
#page-adhesive #excellence h4 {
  color: #0F1729 !important;
  -webkit-text-fill-color: #0F1729 !important;
}

/* Body / supporting text */
#page-adhesive p,
#page-grout p,
#page-adhesive .section-head p,
#page-grout .section-head p,
#page-adhesive .products .section-head p,
#page-adhesive .products .prod-info p,
#page-adhesive .products .prod-info p.desc,
#page-adhesive .products .steps li,
#page-adhesive #excellence .feature-card p,
#page-grout .grout-info p {
  color: #5B6472 !important;
  -webkit-text-fill-color: #5B6472 !important;
}

#page-adhesive .products .prod-info h3,
#page-adhesive .products .prod-info h4,
#page-adhesive .products .steps li b,
#page-adhesive .products .prod-meta div .v {
  color: #0F1729 !important;
  -webkit-text-fill-color: #0F1729 !important;
}
#page-adhesive .products .prod-meta div .k {
  color: #8B939F !important;
}

/* Tag pills on product pages */
#page-adhesive .tag-pill,
#page-grout .tag-pill,
#page-adhesive .section-head .tag-pill,
#page-grout .section-head .tag-pill,
#page-adhesive .products .section-head .tag-pill,
#page-adhesive #specs .section-head .tag-pill,
#page-adhesive #excellence .section-head .tag-pill {
  background: #FFF0EA !important;
  color: #E8542C !important;
  -webkit-text-fill-color: #E8542C !important;
  border: 1px solid rgba(232, 84, 44, 0.25) !important;
}

/* Specs table — light */
#page-adhesive #specs table,
#page-adhesive #specs table.spec,
#page-adhesive #specs th,
#page-adhesive #specs td {
  background: #FFFFFF !important;
  color: #0F1729 !important;
  border-color: rgba(15, 23, 41, 0.10) !important;
}
#page-adhesive #specs th {
  background: #F5F5F3 !important;
  color: #0F1729 !important;
  font-weight: 700 !important;
}
#page-adhesive #specs td {
  color: #5B6472 !important;
}
#page-adhesive #specs tr:hover td {
  background: #FFF0EA !important;
  color: #0F1729 !important;
}

/* Feature / excellence cards */
#page-adhesive #excellence .feature-card,
#page-adhesive #excellence .flagship-box,
#page-adhesive #excellence .stat-box,
#page-adhesive #excellence .vm-card,
#page-adhesive #excellence .obj-card {
  background: #FFFFFF !important;
  color: #0F1729 !important;
  border: 1px solid rgba(15, 23, 41, 0.10) !important;
  box-shadow: 0 8px 24px rgba(15, 23, 41, 0.05) !important;
}
#page-adhesive #excellence .feature-card h3,
#page-adhesive #excellence .feature-card h4,
#page-adhesive #excellence .flagship-box,
#page-adhesive #excellence .flagship-box * {
  color: #0F1729 !important;
  -webkit-text-fill-color: #0F1729 !important;
}
#page-adhesive #excellence .feature-card p {
  color: #5B6472 !important;
  -webkit-text-fill-color: #5B6472 !important;
}

/* Product tabs */
#page-adhesive .products .prod-tab {
  background: #FFFFFF !important;
  color: #0F1729 !important;
  border: 1.5px solid rgba(15, 23, 41, 0.14) !important;
}
#page-adhesive .products .prod-tab:hover {
  border-color: #0F1729 !important;
  color: #0F1729 !important;
}
#page-adhesive .products .prod-tab.active,
#page-adhesive .products .prod-tabs .prod-tab.active {
  background: #0F1729 !important;
  color: #FFFFFF !important;
  border-color: #0F1729 !important;
  box-shadow: none !important;
}

/* Grout colour chart / gallery */
#page-grout #colours,
#page-grout .chart-frame {
  background: #FFFFFF !important;
  border-color: rgba(15, 23, 41, 0.10) !important;
}
#page-grout .grout-gallery-label,
#page-grout .grout-info h3,
#page-grout .grout-info h4 {
  color: #0F1729 !important;
}

/* Why list / bullets on adhesive */
#page-adhesive #excellence .why-list li {
  color: #5B6472 !important;
}
#page-adhesive #excellence .why-list li:hover {
  color: #0F1729 !important;
}

/* Kill any leftover forced white text on these pages */
#page-adhesive [style*="color:#fff"],
#page-adhesive [style*="color: #fff"],
#page-adhesive [style*="color:#ffffff"],
#page-grout [style*="color:#fff"],
#page-grout [style*="color: #fff"] {
  color: #0F1729 !important;
}



/* ============================================================
   Force visible tag-pill labels on adhesive/grout (never blank)
   ============================================================ */
#page-adhesive .tag-pill,
#page-grout .tag-pill,
#page-adhesive .section-head .tag-pill,
#page-grout .section-head .tag-pill,
#page-adhesive .products .section-head .tag-pill,
#page-adhesive #specs .section-head .tag-pill,
#page-adhesive #excellence .section-head .tag-pill,
#page-adhesive .section-head.tone-a .tag-pill,
#page-adhesive .section-head.tone-b .tag-pill,
#page-grout .section-head.tone-a .tag-pill,
#page-grout .section-head.tone-b .tag-pill {
  display: inline-block !important;
  background: #E8542C !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 8px 16px !important;
  font-family: var(--font-mono), ui-monospace, monospace !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  line-height: 1.3 !important;
  white-space: nowrap !important;
  opacity: 1 !important;
  visibility: visible !important;
  height: auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  overflow: visible !important;
  text-indent: 0 !important;
}

/* Active product tab: keep gold/amber for C1T style but ensure text visible */
#page-adhesive .products .prod-tab.active[data-tab="p1"],
#page-adhesive .products .prod-tabs .prod-tab.active {
  color: #0F1729 !important;
  -webkit-text-fill-color: #0F1729 !important;
}

/* Cream section on adhesive products stays light; text already dark */
#page-adhesive #products.products,
#page-adhesive .products {
  background: #F5F5F3 !important;
}



/* ============================================================
   Product-accent colours (C1T gold / C2T green / C2TE blue)
   + specs table readability + excellence labels
   ============================================================ */

#page-adhesive .products,
#products.products {
  --prod-accent: #F5C518;
}

/* Accent line under tabs / above panel */
#page-adhesive .products .prod-panel::before,
.products .prod-panel::before {
  background: var(--prod-accent, #F5C518) !important;
}
.products .prod-panel#p1::before { background: #F5C518 !important; }
.products .prod-panel#p2::before { background: #2E8B4F !important; }
.products .prod-panel#p3::before { background: #2E6FE8 !important; }

/* Step numbers match active product */
#page-adhesive .products .steps li::before,
.products .steps li::before {
  background: var(--prod-accent, #F5C518) !important;
  color: #fff !important;
  box-shadow: none !important;
}
/* Dark text on gold for readability */
#page-adhesive .products[data-active-tab="p1"] .steps li::before,
#products.products[data-active-tab="p1"] .steps li::before {
  color: #1a1400 !important;
}

/* Tab hover uses product colour when hovering that tab */
#page-adhesive .products .prod-tab[data-tab="p1"]:hover {
  border-color: #F5C518 !important;
  color: #1a1400 !important;
  background: rgba(245, 197, 24, 0.18) !important;
}
#page-adhesive .products .prod-tab[data-tab="p2"]:hover {
  border-color: #2E8B4F !important;
  color: #2E8B4F !important;
  background: rgba(46, 139, 79, 0.10) !important;
}
#page-adhesive .products .prod-tab[data-tab="p3"]:hover {
  border-color: #2E6FE8 !important;
  color: #2E6FE8 !important;
  background: rgba(46, 111, 232, 0.10) !important;
}

/* Active tabs — product colours (override any orange) */
#page-adhesive .products .prod-tab.active[data-tab="p1"],
#page-adhesive .products .prod-tabs .prod-tab.active[data-tab="p1"] {
  background: #F5C518 !important;
  color: #1a1400 !important;
  border-color: #F5C518 !important;
  box-shadow: 0 4px 14px rgba(245, 197, 24, 0.3) !important;
}
#page-adhesive .products .prod-tab.active[data-tab="p2"],
#page-adhesive .products .prod-tabs .prod-tab.active[data-tab="p2"] {
  background: #2E8B4F !important;
  color: #fff !important;
  border-color: #2E8B4F !important;
  box-shadow: 0 4px 14px rgba(46, 139, 79, 0.3) !important;
}
#page-adhesive .products .prod-tab.active[data-tab="p3"],
#page-adhesive .products .prod-tabs .prod-tab.active[data-tab="p3"] {
  background: #2E6FE8 !important;
  color: #fff !important;
  border-color: #2E6FE8 !important;
  box-shadow: 0 4px 14px rgba(46, 111, 232, 0.3) !important;
}

/* Why list / excellence hover — navy, not orange */
#page-adhesive #excellence .why-list li:hover,
#page-adhesive #excellence .feature-card:hover {
  border-color: rgba(15, 23, 41, 0.18) !important;
}

/* ---- Specs table: no dark/light mix-up — clean light table ---- */
#page-adhesive #specs table,
#page-adhesive #specs table.spec,
#page-adhesive #specs .spec-table-wrap table {
  background: #fff !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  width: 100% !important;
  border: 0 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
}
#page-adhesive #specs th,
#page-adhesive #specs table.spec th {
  background: #0F1729 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-weight: 700 !important;
  border-right: 1px solid #394255 !important;
  border-bottom: 3px solid #E8542C !important;
  padding: 14px 16px !important;
}
#page-adhesive #specs td,
#page-adhesive #specs table.spec td {
  background: #FFFFFF !important;
  color: #0F1729 !important;
  -webkit-text-fill-color: #0F1729 !important;
  border-right: 1px solid #cbd2dc !important;
  border-bottom: 1px solid #cbd2dc !important;
  padding: 14px 16px !important;
}
#page-adhesive #specs tbody tr:nth-child(even) td {
  background: #F1F3F6 !important;
  color: #0F1729 !important;
  -webkit-text-fill-color: #0F1729 !important;
}
#page-adhesive #specs tbody tr:hover td {
  background: #FFF0EA !important;
  color: #0F1729 !important;
}
/* First column label always dark */
#page-adhesive #specs td:first-child,
#page-adhesive #specs th:first-child {
  color: #0F1729 !important;
  font-weight: 600 !important;
}

/* Years growth box can stay navy as intentional dark card */
#page-adhesive #specs .flagship-box,
#page-adhesive #excellence .flagship-box {
  background: #0F1729 !important;
  color: #fff !important;
  border: none !important;
}
#page-adhesive #specs .flagship-box *,
#page-adhesive #excellence .flagship-box * {
  color: inherit;
}

/* ---- Product Excellence: readable stat labels ---- */
#page-adhesive #excellence .stat-box,
#page-adhesive #excellence .stat-row > * {
  background: #FFFFFF !important;
  border: 1px solid rgba(15, 23, 41, 0.08) !important;
  color: #0F1729 !important;
}
#page-adhesive #excellence .stat-box .num,
#page-adhesive #excellence .stat-row .num,
#page-adhesive #excellence [class*="stat"] .num {
  color: #E8542C !important;
  -webkit-text-fill-color: #E8542C !important;
}
#page-adhesive #excellence .stat-box .lbl,
#page-adhesive #excellence .stat-row .lbl,
#page-adhesive #excellence .stat-box small,
#page-adhesive #excellence .stat-box span:not(.num) {
  color: #5B6472 !important;
  -webkit-text-fill-color: #5B6472 !important;
  opacity: 1 !important;
  font-weight: 600 !important;
  letter-spacing: 0.8px !important;
}

/* Feature cards under excellence */
#page-adhesive #excellence .feature-card {
  background: #fff !important;
  border: 1px solid rgba(15, 23, 41, 0.08) !important;
}
#page-adhesive #excellence .feature-card h3,
#page-adhesive #excellence .feature-card h4 {
  color: #0F1729 !important;
}
#page-adhesive #excellence .feature-card p {
  color: #5B6472 !important;
}
#page-adhesive #excellence .why-list li {
  color: #5B6472 !important;
}
#page-adhesive #excellence .why-list li::before,
#page-adhesive #excellence .why-list li b::before {
  background: #E8542C !important;
}



/* ============================================================
   Steps numbers dark + tab outlines product colour + hover grow
   ============================================================ */

/* Step badges: solid product colour, DARK numbers for contrast */
#page-adhesive .products .steps li::before,
.products .steps li::before {
  background: var(--prod-accent, #F5C518) !important;
  color: #0F1729 !important;
  -webkit-text-fill-color: #0F1729 !important;
  font-weight: 800 !important;
  font-size: 0.75rem !important;
  border: none !important;
}
/* Blue accent: white numbers still readable on blue */
#page-adhesive .products[data-active-tab="p3"] .steps li::before,
#products.products[data-active-tab="p3"] .steps li::before {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}
/* Green + gold: keep dark numbers */
#page-adhesive .products[data-active-tab="p1"] .steps li::before,
#page-adhesive .products[data-active-tab="p2"] .steps li::before,
#products.products[data-active-tab="p1"] .steps li::before,
#products.products[data-active-tab="p2"] .steps li::before {
  color: #0F1729 !important;
  -webkit-text-fill-color: #0F1729 !important;
}

/* Inactive tabs: product-colour outline (no black) */
#page-adhesive .products .prod-tab,
#page-adhesive .products .prod-tabs .prod-tab {
  background: transparent !important;
  border: 1.5px solid rgba(15, 23, 41, 0.12) !important;
  color: #0F1729 !important;
  transition: transform 0.22s ease, font-size 0.22s ease, border-color 0.2s ease,
              background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease !important;
  transform-origin: center center;
}
#page-adhesive .products .prod-tab[data-tab="p1"] {
  border-color: #F5C518 !important;
  color: #5C4A00 !important;
}
#page-adhesive .products .prod-tab[data-tab="p2"] {
  border-color: #2E8B4F !important;
  color: #1F5C35 !important;
}
#page-adhesive .products .prod-tab[data-tab="p3"] {
  border-color: #2E6FE8 !important;
  color: #1A4BB8 !important;
}

/* Hover: bigger text + slight scale */
#page-adhesive .products .prod-tab:hover {
  transform: scale(1.08) !important;
  font-weight: 700 !important;
  z-index: 2;
}
#page-adhesive .products .prod-tab[data-tab="p1"]:hover {
  background: rgba(245, 197, 24, 0.2) !important;
  border-color: #F5C518 !important;
  color: #1a1400 !important;
  box-shadow: 0 6px 18px rgba(245, 197, 24, 0.25) !important;
}
#page-adhesive .products .prod-tab[data-tab="p2"]:hover {
  background: rgba(46, 139, 79, 0.12) !important;
  border-color: #2E8B4F !important;
  color: #14532D !important;
  box-shadow: 0 6px 18px rgba(46, 139, 79, 0.22) !important;
}
#page-adhesive .products .prod-tab[data-tab="p3"]:hover {
  background: rgba(46, 111, 232, 0.12) !important;
  border-color: #2E6FE8 !important;
  color: #1A4BB8 !important;
  box-shadow: 0 6px 18px rgba(46, 111, 232, 0.22) !important;
}

/* Active stays filled product colour, no black border */
#page-adhesive .products .prod-tab.active[data-tab="p1"] {
  background: #F5C518 !important;
  color: #1a1400 !important;
  border-color: #F5C518 !important;
  transform: none !important;
}
#page-adhesive .products .prod-tab.active[data-tab="p2"] {
  background: #2E8B4F !important;
  color: #FFFFFF !important;
  border-color: #2E8B4F !important;
  transform: none !important;
}
#page-adhesive .products .prod-tab.active[data-tab="p3"] {
  background: #2E6FE8 !important;
  color: #FFFFFF !important;
  border-color: #2E6FE8 !important;
  transform: none !important;
}



/* ============================================================
   Clean tabs: solid fill like blue, no muddy hover merge
   ============================================================ */

#page-adhesive .products .prod-tab,
#page-adhesive .products .prod-tabs .prod-tab {
  background: #FFFFFF !important;
  border: 1.5px solid !important;
  font-weight: 600 !important;
  box-shadow: none !important;
  transform: none !important;
  transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease,
              color 0.18s ease, border-color 0.18s ease !important;
}

/* Inactive — white fill, product border + text (no tinted wash) */
#page-adhesive .products .prod-tab[data-tab="p1"] {
  border-color: #F5C518 !important;
  color: #8A6D00 !important;
  background: #FFFFFF !important;
}
#page-adhesive .products .prod-tab[data-tab="p2"] {
  border-color: #2E8B4F !important;
  color: #1F5C35 !important;
  background: #FFFFFF !important;
}
#page-adhesive .products .prod-tab[data-tab="p3"] {
  border-color: #2E6FE8 !important;
  color: #1A4BB8 !important;
  background: #FFFFFF !important;
}

/* Hover — scale only, no soft colour wash (avoids merging) */
#page-adhesive .products .prod-tab:hover:not(.active) {
  transform: scale(1.06) !important;
  background: #FFFFFF !important;
  box-shadow: 0 4px 14px rgba(15, 23, 41, 0.10) !important;
  font-weight: 700 !important;
}
#page-adhesive .products .prod-tab[data-tab="p1"]:hover:not(.active) {
  border-color: #F5C518 !important;
  color: #5C4A00 !important;
}
#page-adhesive .products .prod-tab[data-tab="p2"]:hover:not(.active) {
  border-color: #2E8B4F !important;
  color: #14532D !important;
}
#page-adhesive .products .prod-tab[data-tab="p3"]:hover:not(.active) {
  border-color: #2E6FE8 !important;
  color: #123A9E !important;
}

/* Active — solid product fill (same effect as blue for all three) */
#page-adhesive .products .prod-tab.active[data-tab="p1"],
#page-adhesive .products .prod-tabs .prod-tab.active[data-tab="p1"] {
  background: #F5C518 !important;
  color: #1a1400 !important;
  border-color: #F5C518 !important;
  box-shadow: 0 4px 14px rgba(245, 197, 24, 0.35) !important;
  transform: none !important;
}
#page-adhesive .products .prod-tab.active[data-tab="p2"],
#page-adhesive .products .prod-tabs .prod-tab.active[data-tab="p2"] {
  background: #2E8B4F !important;
  color: #FFFFFF !important;
  border-color: #2E8B4F !important;
  box-shadow: 0 4px 14px rgba(46, 139, 79, 0.35) !important;
  transform: none !important;
}
#page-adhesive .products .prod-tab.active[data-tab="p3"],
#page-adhesive .products .prod-tabs .prod-tab.active[data-tab="p3"] {
  background: #2E6FE8 !important;
  color: #FFFFFF !important;
  border-color: #2E6FE8 !important;
  box-shadow: 0 4px 14px rgba(46, 111, 232, 0.35) !important;
  transform: none !important;
}

/* Step numbers — high contrast on every product colour */
#page-adhesive .products .steps li::before,
.products .steps li::before {
  font-weight: 800 !important;
  font-size: 0.78rem !important;
  line-height: 24px !important;
}
/* Gold: dark number */
#page-adhesive .products[data-active-tab="p1"] .steps li::before {
  background: #F5C518 !important;
  color: #1a1400 !important;
  -webkit-text-fill-color: #1a1400 !important;
}
/* Green: WHITE number (was hard to see) */
#page-adhesive .products[data-active-tab="p2"] .steps li::before {
  background: #2E8B4F !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}
/* Blue: white number */
#page-adhesive .products[data-active-tab="p3"] .steps li::before {
  background: #2E6FE8 !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}



/* ============================================================
   Hero podium stage + mockup-inspired polish
   ============================================================ */

.hero,
.ltg-home-modern .hero {
  background: #FFFFFF !important;
  overflow: hidden !important;
}

.hero-top,
.ltg-home-modern .hero-top {
  align-items: center !important;
  padding: 40px 0 20px !important;
  gap: 36px !important;
}

/* ---- Podium stage (product sits on stand) ---- */
.hero-visual.hero-podium-stage {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-end !important;
  min-height: 480px !important;
  padding: 24px 12px 16px !important;
  background: transparent !important;
  isolation: isolate;
}

.hero-podium-bg {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  background-image: url('images/hero-podium.webp') !important;
  background-size: cover !important;
  background-position: center 55% !important;
  background-repeat: no-repeat !important;
  border-radius: 24px !important;
  overflow: hidden !important;
}

/* Soft vignette so text/label stays readable */
.hero-podium-bg::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(
    180deg,
    rgba(255,255,255,0.15) 0%,
    rgba(255,255,255,0) 35%,
    rgba(255,255,255,0) 55%,
    rgba(255,255,255,0.35) 100%
  ) !important;
  pointer-events: none !important;
}

.hero-podium-stage .hero-main-bag {
  position: relative !important;
  z-index: 2 !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: 320px !important;
  margin: 0 auto !important;
  /* lift bag so it sits on the pedestal in the photo */
  transform: translateY(8%) !important;
  filter: drop-shadow(0 28px 40px rgba(15, 23, 41, 0.28)) !important;
}

.hero-podium-stage .hero-main-bag .bag-slide {
  width: 100% !important;
  max-width: 280px !important;
  height: auto !important;
  object-fit: contain !important;
  display: none !important;
  margin: 0 auto !important;
}
.hero-podium-stage .hero-main-bag .bag-slide.is-active {
  display: block !important;
}

.hero-podium-stage .hero-main-label {
  position: relative !important;
  z-index: 3 !important;
  text-align: center !important;
  margin-top: 12px !important;
  background: transparent !important;
}
.hero-podium-stage .hero-main-label strong {
  color: #0F1729 !important;
  font-size: 1.05rem !important;
  display: block !important;
}
.hero-podium-stage .hero-main-label span {
  color: #5B6472 !important;
  font-size: 0.85rem !important;
}

.hero-podium-stage .bag-dots {
  position: relative !important;
  z-index: 3 !important;
  margin-top: 10px !important;
}

/* ---- Hero copy polish (mockup-inspired) ---- */
.hero .eyebrow {
  background: transparent !important;
  border: 1px solid rgba(232, 84, 44, 0.35) !important;
  color: #E8542C !important;
  -webkit-text-fill-color: #E8542C !important;
  border-radius: 999px !important;
  padding: 6px 14px !important;
}

.hero-actions .btn-primary {
  border-radius: 10px !important;
  padding: 12px 22px !important;
  font-weight: 700 !important;
}
.hero-actions .btn-shop {
  border-radius: 10px !important;
  border: 1.5px solid rgba(15, 23, 41, 0.12) !important;
  background: #fff !important;
  color: #0F1729 !important;
}
.hero-actions .btn-ghost {
  color: #E8542C !important;
  text-decoration: underline !important;
  text-underline-offset: 4px !important;
  border: none !important;
  background: transparent !important;
}

/* Product range strip — soft card like mockup */
.hero-range {
  background: #FFFFFF !important;
  border: 1px solid rgba(15, 23, 41, 0.08) !important;
  border-radius: 16px !important;
  padding: 10px !important;
  max-width: 920px !important;
  margin: 8px auto 20px !important;
  box-shadow: 0 8px 28px rgba(15, 23, 41, 0.05) !important;
  gap: 6px !important;
}
.hero-range .hr-item {
  border-radius: 12px !important;
  border: 1.5px solid transparent !important;
  background: transparent !important;
}
.hero-range .hr-item.is-active {
  border-color: #E8542C !important;
  background: #FFF8F5 !important;
  box-shadow: none !important;
}
.hero-range .hr-item.is-active .hr-name,
.hero-range .hr-item.is-active .hr-spec {
  color: #0F1729 !important;
}
.hero-range .hr-spec {
  color: #E8542C !important;
  font-weight: 600 !important;
}

/* Stats bar — light card with icons feel */
.hero-stats-bar {
  background: #F7F7F5 !important;
  border: 1px solid rgba(15, 23, 41, 0.06) !important;
  border-radius: 16px !important;
  max-width: 920px !important;
  margin: 0 auto 28px !important;
  padding: 22px 16px !important;
}
.hero-stat .num {
  color: #0F1729 !important;
  -webkit-text-fill-color: #0F1729 !important;
}
.hero-stat .lbl {
  color: #5B6472 !important;
}

@media (max-width: 900px) {
  .hero-visual.hero-podium-stage {
    min-height: 380px !important;
  }
  .hero-podium-stage .hero-main-bag {
    max-width: 220px !important;
    transform: translateY(6%) !important;
  }
  .hero-podium-stage .hero-main-bag .bag-slide.is-active {
    max-width: 200px !important;
  }
}



/* ============================================================
   Hero podium: seamless fade into white (no boxed card)
   ============================================================ */

.hero-visual.hero-podium-stage {
  position: relative !important;
  min-height: 520px !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
  isolation: auto !important;
}

/* Full scene background — soft edges fade to white */
.hero-podium-bg {
  position: absolute !important;
  inset: -8% -12% -5% -8% !important;
  z-index: 0 !important;
  background-image: url('images/hero-podium.webp') !important;
  background-size: cover !important;
  background-position: center 50% !important;
  background-repeat: no-repeat !important;
  border-radius: 0 !important;
  /* Feather all edges into pure white */
  -webkit-mask-image: radial-gradient(
    ellipse 78% 72% at 52% 48%,
    #000 42%,
    rgba(0,0,0,0.85) 58%,
    rgba(0,0,0,0.4) 72%,
    transparent 88%
  ) !important;
  mask-image: radial-gradient(
    ellipse 78% 72% at 52% 48%,
    #000 42%,
    rgba(0,0,0,0.85) 58%,
    rgba(0,0,0,0.4) 72%,
    transparent 88%
  ) !important;
  opacity: 0.95 !important;
  filter: saturate(0.92) brightness(1.04) !important;
}

/* Extra white wash so it melts into page */
.hero-podium-bg::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    radial-gradient(ellipse 70% 60% at 50% 45%, transparent 30%, rgba(255,255,255,0.55) 75%, #fff 100%),
    linear-gradient(90deg, #fff 0%, transparent 18%, transparent 82%, #fff 100%),
    linear-gradient(180deg, #fff 0%, transparent 20%, transparent 75%, rgba(255,255,255,0.7) 100%) !important;
  pointer-events: none !important;
}

/* Soft ambient peach disc behind bag (mockup style) */
.hero-podium-stage::before {
  content: "" !important;
  position: absolute !important;
  width: 70% !important;
  height: 70% !important;
  left: 15% !important;
  top: 8% !important;
  border-radius: 50% !important;
  background: radial-gradient(circle, #FFE8D6 0%, #FFF0EA 45%, transparent 70%) !important;
  z-index: 0 !important;
  pointer-events: none !important;
  opacity: 0.85 !important;
}

.hero-podium-stage .hero-main-bag {
  position: relative !important;
  z-index: 2 !important;
  max-width: 300px !important;
  /* Sit on the pedestal area of the photo */
  transform: translateY(12%) !important;
  filter: drop-shadow(0 32px 48px rgba(15, 23, 41, 0.22)) !important;
}
.hero-podium-stage .hero-main-bag .bag-slide.is-active {
  max-width: 270px !important;
}

.hero-podium-stage .hero-main-label {
  z-index: 3 !important;
  margin-top: 18px !important;
  background: transparent !important;
  padding: 0 !important;
  box-shadow: none !important;
}

.hero-podium-stage .bag-dots {
  z-index: 3 !important;
}

/* Hero overall: pure white, no hard visual card */
.hero-top {
  background: transparent !important;
}
.hero-visual {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

@media (max-width: 900px) {
  .hero-visual.hero-podium-stage {
    min-height: 400px !important;
  }
  .hero-podium-stage .hero-main-bag {
    max-width: 210px !important;
    transform: translateY(8%) !important;
  }
  .hero-podium-bg {
    inset: -4% -6% -2% -6% !important;
  }
}



/* ============================================================
   Hero stats icons (mockup style)
   ============================================================ */
.hero-stats {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 12px !important;
  align-items: center !important;
}
.hero-stat {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  gap: 4px !important;
  position: relative !important;
}
.hero-stat-icon {
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  background: #FFF0EA !important;
  color: #E8542C !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 6px !important;
}
.hero-stat-icon svg {
  width: 20px !important;
  height: 20px !important;
  display: block !important;
}
.hero-stat .num {
  font-size: 1.55rem !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  color: #0F1729 !important;
  -webkit-text-fill-color: #0F1729 !important;
}
.hero-stat .lbl {
  font-size: 0.65rem !important;
  letter-spacing: 1.1px !important;
  text-transform: uppercase !important;
  color: #5B6472 !important;
  font-weight: 600 !important;
}
.hero-stat:not(:last-child)::after {
  content: "" !important;
  position: absolute !important;
  right: 0 !important;
  top: 18% !important;
  bottom: 18% !important;
  width: 1px !important;
  background: rgba(15, 23, 41, 0.08) !important;
}

@media (max-width: 640px) {
  .hero-stats {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 18px 10px !important;
  }
  .hero-stat:not(:last-child)::after {
    display: none !important;
  }
}



/* ============================================================
   Hero FULL-SCREEN podium scene (v20)
   Background fills the whole hero like the mockup
   ============================================================ */

.hero,
.ltg-home-modern .hero {
  position: relative !important;
  background: #FFFFFF !important;
  overflow: hidden !important;
  padding-top: 72px !important;
  padding-bottom: 0 !important;
  min-height: 0 !important;
}

/* Full-bleed background layer behind everything in hero */
.hero::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  background-image: url('images/hero-podium-fullscreen.webp') !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  pointer-events: none !important;
}

/* Soft left wash so left copy stays readable on white */
.hero::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  background: linear-gradient(
    90deg,
    rgba(255,255,255,0.92) 0%,
    rgba(255,255,255,0.75) 28%,
    rgba(255,255,255,0.25) 48%,
    transparent 62%
  ) !important;
  pointer-events: none !important;
}

.hero > .container,
.hero .hero-top,
.hero .hero-range,
.hero .hero-stats-bar,
.hero .scroll-cue {
  position: relative !important;
  z-index: 2 !important;
}

.hero-top,
.ltg-home-modern .hero-top {
  display: grid !important;
  grid-template-columns: 1.05fr 0.95fr !important;
  align-items: center !important;
  gap: 24px !important;
  min-height: 520px !important;
  padding: 28px 0 12px !important;
  background: transparent !important;
}

/* Hide old small podium bg inside visual — full hero bg handles it */
.hero-podium-bg {
  display: none !important;
}

.hero-visual.hero-podium-stage {
  position: relative !important;
  min-height: 480px !important;
  height: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  overflow: visible !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-end !important;
}

/* Soft ambient ring hint (optional glow) */
.hero-podium-stage::before {
  display: none !important;
}

/* Product bag — sit on the circular stand (right side of photo) */
.hero-podium-stage .hero-main-bag {
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
  max-width: 300px !important;
  margin: 0 auto !important;
  /* Tune: lower = sits deeper on pedestal */
  transform: translateY(6%) !important;
  filter: drop-shadow(0 28px 40px rgba(15, 23, 41, 0.25)) !important;
}
.hero-podium-stage .hero-main-bag .bag-slide {
  width: 100% !important;
  max-width: 280px !important;
  height: auto !important;
  object-fit: contain !important;
  display: none !important;
  margin: 0 auto !important;
}
.hero-podium-stage .hero-main-bag .bag-slide.is-active {
  display: block !important;
  max-width: 280px !important;
}

.hero-podium-stage .hero-main-label {
  position: relative !important;
  z-index: 3 !important;
  text-align: center !important;
  margin-top: 14px !important;
  background: transparent !important;
  padding: 0 !important;
}
.hero-podium-stage .hero-main-label strong {
  color: #0F1729 !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
}
.hero-podium-stage .hero-main-label span {
  color: #5B6472 !important;
  font-size: 0.85rem !important;
}

.hero-podium-stage .bag-dots {
  position: relative !important;
  z-index: 3 !important;
  margin-top: 8px !important;
  margin-bottom: 8px !important;
}

/* Copy column readable over white wash */
.hero-copy {
  position: relative !important;
  z-index: 3 !important;
  max-width: 540px !important;
}

/* Range + stats sit on soft translucent cards over the scene */
.hero-range {
  background: rgba(255, 255, 255, 0.92) !important;
  backdrop-filter: blur(10px) !important;
  border: 1px solid rgba(15, 23, 41, 0.08) !important;
  border-radius: 16px !important;
  margin: 8px auto 16px !important;
  max-width: 960px !important;
}
.hero-stats-bar {
  background: rgba(247, 247, 245, 0.92) !important;
  backdrop-filter: blur(10px) !important;
  border: 1px solid rgba(15, 23, 41, 0.06) !important;
  border-radius: 16px !important;
  max-width: 960px !important;
  margin: 0 auto 28px !important;
}

@media (max-width: 960px) {
  .hero-top {
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
    padding: 20px 0 8px !important;
  }
  .hero::after {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.88) 0%,
      rgba(255,255,255,0.55) 35%,
      transparent 60%
    ) !important;
  }
  .hero-visual.hero-podium-stage {
    min-height: 360px !important;
  }
  .hero-podium-stage .hero-main-bag {
    max-width: 220px !important;
    transform: translateY(4%) !important;
  }
  .hero-podium-stage .hero-main-bag .bag-slide.is-active {
    max-width: 200px !important;
  }
}



/* ============================================================
   v21 — bag ON the stand + background fitted to hero viewport
   ============================================================ */

.hero,
.ltg-home-modern .hero {
  position: relative !important;
  background: #f7f7f5 !important;
  overflow: hidden !important;
  padding-top: 70px !important;
  padding-bottom: 0 !important;
  min-height: calc(100vh - 0px) !important;
  max-height: none !important;
}

/* Full section background — framed so podium is in the right column */
.hero::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  background-image: url('images/hero-podium-fullscreen.webp') !important;
  background-size: cover !important;
  /* Bias right so the circular stand sits under the product column */
  background-position: 72% 55% !important;
  background-repeat: no-repeat !important;
  pointer-events: none !important;
}

/* Left readability wash only — keep right podium clear */
.hero::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  background: linear-gradient(
    90deg,
    rgba(255,255,255,0.94) 0%,
    rgba(255,255,255,0.82) 32%,
    rgba(255,255,255,0.35) 48%,
    transparent 58%
  ) !important;
  pointer-events: none !important;
}

.hero-top,
.ltg-home-modern .hero-top {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  align-items: stretch !important;
  gap: 16px !important;
  min-height: calc(100vh - 200px) !important;
  padding: 20px 0 0 !important;
  background: transparent !important;
}

.hero-visual.hero-podium-stage {
  position: relative !important;
  min-height: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-end !important; /* push content toward stand */
  padding: 0 0 8% 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  overflow: visible !important;
}

/* Product bag — centered on the circular pedestal */
.hero-podium-stage .hero-main-bag {
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
  max-width: 260px !important;
  margin: 0 auto !important;
  /* Sit on the platform (not floating in the rings) */
  transform: translateY(18%) !important;
  filter: drop-shadow(0 24px 36px rgba(15, 23, 41, 0.28)) !important;
}
.hero-podium-stage .hero-main-bag .bag-slide.is-active {
  display: block !important;
  max-width: 250px !important;
  width: 100% !important;
  margin: 0 auto !important;
}

/* Label + dots below the bag, still above bottom of stand */
.hero-podium-stage .hero-main-label {
  position: relative !important;
  z-index: 3 !important;
  margin-top: 28px !important;
  margin-bottom: 4px !important;
  text-align: center !important;
  background: transparent !important;
}
.hero-podium-stage .bag-dots {
  position: relative !important;
  z-index: 3 !important;
  margin: 6px 0 0 !important;
}

/* Range strip stays under the hero scene */
.hero-range {
  margin-top: -8px !important;
  margin-bottom: 14px !important;
}
.hero-stats-bar {
  margin-bottom: 24px !important;
}

@media (max-width: 960px) {
  .hero {
    min-height: auto !important;
  }
  .hero::before {
    background-position: center 40% !important;
  }
  .hero::after {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.9) 0%,
      rgba(255,255,255,0.55) 40%,
      transparent 70%
    ) !important;
  }
  .hero-top {
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
  }
  .hero-visual.hero-podium-stage {
    min-height: 380px !important;
    padding-bottom: 6% !important;
  }
  .hero-podium-stage .hero-main-bag {
    max-width: 200px !important;
    transform: translateY(10%) !important;
  }
}



/* ============================================================
   v22 — bag ON pedestal + hero height = first screen
   ============================================================ */

.hero,
.ltg-home-modern .hero {
  position: relative !important;
  background: #f5f5f3 !important;
  overflow: hidden !important;
  /* First screen under fixed header */
  min-height: 100vh !important;
  padding-top: 68px !important;
  padding-bottom: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}

.hero > .container {
  position: relative !important;
  z-index: 2 !important;
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding-left: 32px !important;
  padding-right: 32px !important;
}

/* Background locked to hero bounds */
.hero::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  background-image: url('images/hero-podium-fullscreen.webp') !important;
  background-size: cover !important;
  /* pedestal sits lower-right in the frame */
  background-position: 78% 70% !important;
  background-repeat: no-repeat !important;
  pointer-events: none !important;
}

.hero::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  background: linear-gradient(
    90deg,
    #ffffff 0%,
    rgba(255,255,255,0.92) 30%,
    rgba(255,255,255,0.4) 48%,
    transparent 58%
  ) !important;
  pointer-events: none !important;
}

.hero-top,
.ltg-home-modern .hero-top {
  flex: 1 1 auto !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  align-items: stretch !important;
  gap: 12px !important;
  min-height: 0 !important;
  padding: 12px 0 0 !important;
  background: transparent !important;
}

/* Right stage: bag anchored to BOTTOM (on the stand) */
.hero-visual.hero-podium-stage {
  position: relative !important;
  height: 100% !important;
  min-height: 420px !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.hero-podium-stage .hero-main-bag {
  position: absolute !important;
  left: 50% !important;
  /* Bottom of bag sits on pedestal surface */
  bottom: 3% !important;
  transform: translateX(-50%) !important;
  width: 240px !important;
  max-width: 42% !important;
  margin: 0 !important;
  z-index: 2 !important;
  filter: drop-shadow(0 20px 32px rgba(15, 23, 41, 0.3)) !important;
}
.hero-podium-stage .hero-main-bag .bag-slide {
  display: none !important;
  width: 100% !important;
  height: auto !important;
  max-width: none !important;
  margin: 0 !important;
}
.hero-podium-stage .hero-main-bag .bag-slide.is-active {
  display: block !important;
}

/* Label + dots just under the bag / on stand front */
.hero-podium-stage .hero-main-label {
  position: absolute !important;
  left: 50% !important;
  bottom: 4% !important;
  transform: translateX(-50%) !important;
  width: 90% !important;
  text-align: center !important;
  z-index: 3 !important;
  margin: 0 !important;
  background: transparent !important;
}
.hero-podium-stage .bag-dots {
  position: absolute !important;
  left: 50% !important;
  bottom: 0.5% !important;
  transform: translateX(-50%) !important;
  z-index: 3 !important;
  margin: 0 !important;
}

/* Product strip + stats below the fold scene, not covering stand */
.hero-range {
  position: relative !important;
  z-index: 3 !important;
  margin: 0 auto 12px !important;
  flex-shrink: 0 !important;
}
.hero-stats-bar {
  position: relative !important;
  z-index: 3 !important;
  margin: 0 auto 20px !important;
  flex-shrink: 0 !important;
}

@media (max-width: 960px) {
  .hero,
  .ltg-home-modern .hero {
    min-height: auto !important;
  }
  .hero-top,
  .ltg-home-modern .hero-top {
    grid-template-columns: 1fr !important;
    display: flex !important;
    flex-direction: column !important;
  }
  .hero-copy { order: 1 !important; }
  .hero-visual.hero-podium-stage,
  .ltg-home-modern .hero-visual.hero-podium-stage {
    order: 2 !important;
    width: 100% !important;
    min-height: 340px !important;
    height: 340px !important;
    margin-top: 18px !important;
  }
  .hero-podium-stage .hero-main-bag,
  .ltg-home-modern .hero-podium-stage .hero-main-bag {
    width: 170px !important;
    max-width: 60% !important;
    bottom: 5% !important;
    left: 50% !important;
  }
  .hero-podium-stage .hero-main-label,
  .ltg-home-modern .hero-podium-stage .hero-main-label {
    width: 92% !important;
    left: 50% !important;
  }
  .hero::before,
  .ltg-home-modern .hero::before {
    background-position: center 60% !important;
  }
}



/* ============================================================
   v24 — full-bleed picture hero, bag anchored on stand, cream overlay
   ============================================================ */
.hero,
.ltg-home-modern .hero {
  position: relative !important;
  background: #f5f5f3 !important;
  overflow: hidden !important;
  min-height: 100vh !important;
  padding-top: 68px !important;
  padding-bottom: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Full picture, uncropped in intent — cover so it always fills the screen edge-to-edge */
.hero::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  background-image: url('images/hero-podium-fullscreen.webp') !important;
  background-size: cover !important;
  background-position: 74% 55% !important;
  background-repeat: no-repeat !important;
  pointer-events: none !important;
}

/* Cream-tinted fade so copy stays readable but the photo shows through fully on the right */
.hero::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  background: linear-gradient(
    90deg,
    rgba(244,238,227,0.94) 0%,
    rgba(244,238,227,0.72) 24%,
    rgba(244,238,227,0.28) 42%,
    rgba(244,238,227,0.05) 56%,
    transparent 66%
  ) !important;
  pointer-events: none !important;
}

.hero-top,
.ltg-home-modern .hero-top {
  display: block !important;
  min-height: calc(100vh - 210px) !important;
  padding: 20px 0 0 !important;
  background: transparent !important;
  position: relative !important;
  z-index: 2 !important;
}
.hero-copy { max-width: 540px !important; position: relative !important; z-index: 2 !important; }

/* Old separate podium graphic is retired — the full picture on .hero IS the stage now */
.hero-podium-bg { display: none !important; }

/* Bag breaks out of the centered container so its % position maps to the FULL screen width,
   matching the background-position % above (74% across, ~55% down the picture = the stand). */
.hero-visual.hero-podium-stage {
  position: absolute !important;
  top: -68px !important;
  left: 50% !important;
  width: 100vw !important;
  height: calc(100% + 68px) !important;
  transform: translateX(-50%) !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  min-height: 1px !important;
  z-index: 2 !important;
  pointer-events: none !important;
}

.hero-podium-stage .hero-main-bag {
  position: absolute !important;
  left: 74% !important;
  top: 60% !important;
  transform: translate(-50%, -82%) !important;
  width: 230px !important;
  max-width: 22vw !important;
  margin: 0 !important;
  z-index: 2 !important;
  pointer-events: auto !important;
  filter: drop-shadow(0 22px 30px rgba(15,23,41,0.32)) !important;
}
.hero-podium-stage .hero-main-bag .bag-slide {
  display: none !important;
  width: 100% !important;
  height: auto !important;
  max-width: none !important;
  margin: 0 !important;
}
.hero-podium-stage .hero-main-bag .bag-slide.is-active { display: block !important; }

.hero-podium-stage .hero-main-label {
  position: absolute !important;
  left: 74% !important;
  top: 60% !important;
  transform: translate(-50%, 30px) !important;
  width: 230px !important;
  text-align: center !important;
  z-index: 3 !important;
  margin: 0 !important;
  background: transparent !important;
  pointer-events: auto !important;
}
.hero-podium-stage .bag-dots {
  position: absolute !important;
  left: 74% !important;
  top: 60% !important;
  transform: translate(-50%, 74px) !important;
  z-index: 3 !important;
  margin: 0 !important;
  pointer-events: auto !important;
}

.hero-copy { position: relative !important; z-index: 2 !important; }
.hero-range,
.hero-stats-bar { position: relative !important; z-index: 3 !important; }

@media (max-width: 960px) {
  .hero, .ltg-home-modern .hero { min-height: auto !important; }
  .hero::before { background-position: 68% 46% !important; }
  .hero::after {
    background: linear-gradient(
      180deg,
      rgba(244,238,227,0.96) 0%,
      rgba(244,238,227,0.78) 34%,
      rgba(244,238,227,0.25) 58%,
      transparent 74%
    ) !important;
  }
  .hero-top, .ltg-home-modern .hero-top {
    grid-template-columns: 1fr !important;
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
  }
  .hero-copy { order: 1 !important; }
  .hero-visual.hero-podium-stage {
    order: 2 !important;
    min-height: 300px !important;
    margin-top: 14px !important;
  }
  .hero-podium-stage-breakout { height: calc(100% + 68px) !important; }
  .hero-podium-stage .hero-main-bag {
    left: 50% !important; top: 42% !important;
    width: 160px !important; max-width: 44vw !important;
  }
  .hero-podium-stage .hero-main-label { left: 50% !important; top: 42% !important; width: 200px !important; }
  .hero-podium-stage .bag-dots { left: 50% !important; top: 42% !important; }
}


/* ============================================================
   v25 — transparent product cards, bigger title matching brand ref,
   bigger bag on stand
   ============================================================ */

/* Hero product tab strip + stats bar: no more white card boxes — let the photo show through */
.hero-range {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}
.hero-stats-bar {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}
.hero-range .hr-item.is-active {
  background: rgba(255,255,255,0.55) !important;
  backdrop-filter: blur(6px) !important;
}

/* Title — big, tight, two lines (matches brand reference) */
.hero-copy { max-width: 640px !important; }
.hero h1,
.ltg-home-modern .hero h1 {
  font-size: clamp(2.7rem, 4.8vw, 4.1rem) !important;
  line-height: 1.06 !important;
  letter-spacing: -0.03em !important;
  font-weight: 800 !important;
  max-width: none !important;
  margin-bottom: 22px !important;
}

/* Bag — a touch bigger so it fills the stand properly */
.hero-podium-stage .hero-main-bag {
  width: 260px !important;
  max-width: 25vw !important;
  transform: translate(-50%, -86%) !important;
}

@media (max-width: 960px) {
  .hero-copy { max-width: 100% !important; }
  .hero h1, .ltg-home-modern .hero h1 {
    font-size: clamp(2.1rem, 8vw, 2.8rem) !important;
  }
  .hero-podium-stage .hero-main-bag {
    width: 180px !important;
    max-width: 48vw !important;
  }
}

/* v26 final cascade: reference-matched landing hero */
@media (min-width:961px){
  .hero,.ltg-home-modern .hero{height:max(760px,100svh)!important;min-height:760px!important;padding:68px 0 0!important;box-sizing:border-box!important}
  .hero::before,.ltg-home-modern .hero::before{background-image:url('images/hero-podium-fullscreen.webp')!important;background-size:cover!important;background-position:center center!important}
  .hero::after,.ltg-home-modern .hero::after{background:linear-gradient(90deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.82) 27%,rgba(255,255,255,.34) 43%,rgba(255,255,255,.04) 58%,transparent 68%)!important}
  .hero-inner,.ltg-home-modern .hero-inner{width:min(1220px,calc(100% - 48px))!important;height:100%!important;margin:0 auto!important;padding:0!important;display:grid!important;grid-template-rows:minmax(0,1fr) auto auto!important}
  .hero-top,.ltg-home-modern .hero-top{min-height:0!important;height:auto!important;padding:clamp(24px,4vh,48px) 0 12px!important}
  .hero-copy{max-width:560px!important}
  .hero-visual.hero-podium-stage{top:-68px!important;height:calc(100% + 68px)!important}
  .hero-podium-stage .hero-main-bag{left:74%!important;top:65%!important;width:clamp(210px,17vw,285px)!important;max-width:285px!important;transform:translate(-50%,-100%)!important}
  .hero-podium-stage .hero-main-label{left:74%!important;top:65%!important;width:280px!important;transform:translate(-50%,18px)!important}
  .hero-podium-stage .bag-dots{left:74%!important;top:65%!important;transform:translate(-50%,70px)!important}
  .hero-range{margin:0 0 10px!important;padding:8px!important;background:rgba(255,255,255,.82)!important;border:1px solid rgba(15,23,42,.08)!important;border-radius:14px!important;box-shadow:0 12px 32px rgba(15,23,42,.08)!important;backdrop-filter:blur(12px)!important}
  .hero-stats-bar{margin:0 0 12px!important;padding:12px 18px!important;background:rgba(255,255,255,.68)!important;border:1px solid rgba(15,23,42,.07)!important;border-radius:14px!important;backdrop-filter:blur(10px)!important}
}
@media (max-width:960px){
  .hero,.ltg-home-modern .hero{min-height:100svh!important;padding-top:68px!important;background:#f7f4ef!important}
  .hero::before,.ltg-home-modern .hero::before{background-image:url('images/hero-podium-fullscreen.webp')!important;background-size:auto 100%!important;background-position:72% center!important}
  .hero::after,.ltg-home-modern .hero::after{background:linear-gradient(180deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.9) 39%,rgba(255,255,255,.34) 62%,rgba(255,255,255,.08) 100%)!important}
  .hero-inner,.ltg-home-modern .hero-inner{padding:0 18px!important}.hero-top,.ltg-home-modern .hero-top{display:flex!important;padding-top:22px!important}.hero-copy{order:1!important;max-width:100%!important}
  .hero-visual.hero-podium-stage{position:relative!important;inset:auto!important;order:2!important;width:100%!important;height:330px!important;min-height:330px!important;transform:none!important;margin:8px 0 0!important}
  .hero-podium-stage .hero-main-bag{left:64%!important;top:78%!important;width:min(190px,45vw)!important;max-width:190px!important;transform:translate(-50%,-100%)!important}
  .hero-podium-stage .hero-main-label{left:64%!important;top:78%!important;transform:translate(-50%,10px)!important}.hero-podium-stage .bag-dots{left:64%!important;top:78%!important;transform:translate(-50%,58px)!important}
  .hero-range,.hero-stats-bar{background:rgba(255,255,255,.84)!important;border:1px solid rgba(15,23,42,.08)!important;backdrop-filter:blur(10px)!important}
}
@media (max-width:560px){.hero h1,.ltg-home-modern .hero h1{font-size:clamp(2rem,11vw,2.65rem)!important}.hero p.lead{font-size:.94rem!important;line-height:1.55!important;margin-bottom:22px!important}.hero-actions{gap:10px!important}.hero-actions .btn{padding:12px 16px!important}.hero-visual.hero-podium-stage{height:300px!important;min-height:300px!important}}

/* v27: architectural showroom background and pedestal alignment */
.hero::before,
.ltg-home-modern .hero::before {
  background-image: url('images/hero-architectural-studio-v27.png') !important;
  background-size: cover !important;
  background-position: center center !important;
}

.hero::after,
.ltg-home-modern .hero::after {
  background: linear-gradient(90deg,
    rgba(255,255,255,.80) 0%,
    rgba(255,255,255,.55) 31%,
    rgba(255,255,255,.16) 46%,
    transparent 58%) !important;
}

@media (min-width: 961px) {
  .hero-podium-stage .hero-main-bag {
    left: 72% !important;
    top: 73% !important;
    width: clamp(205px, 15vw, 255px) !important;
    max-width: 255px !important;
    transform: translate(-50%, -100%) !important;
  }

  .hero-podium-stage .hero-main-label {
    left: 72% !important;
    top: 73% !important;
    transform: translate(-50%, 18px) !important;
  }

  .hero-podium-stage .bag-dots {
    left: 72% !important;
    top: 73% !important;
    transform: translate(-50%, 70px) !important;
  }
}

@media (max-width: 960px) {
  .hero::before,
  .ltg-home-modern .hero::before {
    background-size: auto 100% !important;
    background-position: 70% center !important;
  }

  .hero::after,
  .ltg-home-modern .hero::after {
    background: linear-gradient(180deg,
      rgba(255,255,255,.97) 0%,
      rgba(255,255,255,.91) 40%,
      rgba(255,255,255,.30) 64%,
      rgba(255,255,255,.06) 100%) !important;
  }

  .hero-podium-stage .hero-main-bag {
    left: 69% !important;
    top: 79% !important;
    width: min(178px, 43vw) !important;
  }

  .hero-podium-stage .hero-main-label,
  .hero-podium-stage .bag-dots {
    left: 69% !important;
    top: 79% !important;
  }
}

/* v28: give the full-screen hero more breathing room */
@media (min-width: 961px) {
  .hero,
  .ltg-home-modern .hero {
    background-color: #fff !important;
  }

  .hero::before,
  .ltg-home-modern .hero::before {
    background-size: auto 100% !important;
    background-position: right center !important;
  }

  /* Make the product stage use the entire hero, not only the copy row. */
  .hero-top,
  .ltg-home-modern .hero-top {
    position: static !important;
  }

  .hero-visual.hero-podium-stage,
  .ltg-home-modern .hero-visual.hero-podium-stage {
    top: -68px !important;
    left: 50% !important;
    width: 100vw !important;
    height: calc(100% + 68px) !important;
    transform: translateX(-50%) !important;
  }

  .hero-podium-stage .hero-main-bag {
    left: 77% !important;
    top: 70% !important;
    width: clamp(190px, 12.5vw, 230px) !important;
    max-width: 230px !important;
    transform: translate(-50%, -100%) !important;
  }

  .hero-podium-stage .hero-main-label {
    left: 77% !important;
    top: 70% !important;
    width: 250px !important;
    transform: translate(-50%, 16px) !important;
  }

  .hero-podium-stage .bag-dots {
    left: 77% !important;
    top: 70% !important;
    transform: translate(-50%, 66px) !important;
  }

  .hero-range {
    margin-bottom: 12px !important;
  }

  .hero-stats-bar {
    margin-bottom: 18px !important;
  }
}

@media (min-width: 961px) and (max-height: 820px) {
  .hero-copy .eyebrow {
    margin-bottom: 14px !important;
  }

  .hero h1,
  .ltg-home-modern .hero h1 {
    font-size: clamp(2.5rem, 4vw, 3.5rem) !important;
    margin-bottom: 16px !important;
  }

  .hero p.lead {
    margin-bottom: 22px !important;
  }

  .hero-podium-stage .hero-main-bag {
    width: clamp(175px, 11.5vw, 210px) !important;
  }
}

/* v29: compact transparent hero panels + centered product */
@media (min-width: 961px) {
  .hero-range,
  .hero-stats-bar {
    width: min(790px, 66vw) !important;
    max-width: 790px !important;
    justify-self: start !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    background: rgba(255, 255, 255, .38) !important;
    border: 1px solid rgba(255, 255, 255, .62) !important;
    box-shadow: 0 10px 30px rgba(15, 23, 41, .055) !important;
    -webkit-backdrop-filter: blur(15px) saturate(115%) !important;
    backdrop-filter: blur(15px) saturate(115%) !important;
  }

  .hero-range {
    padding: 6px !important;
    gap: 3px !important;
    border-radius: 14px !important;
    margin-top: 4px !important;
    margin-bottom: 9px !important;
  }

  .hero-range .hr-item {
    padding: 7px 5px 6px !important;
    border-radius: 10px !important;
    background: rgba(255, 255, 255, .08) !important;
  }

  .hero-range .hr-item img {
    width: 39px !important;
    height: 52px !important;
  }

  .hero-range .hr-name {
    font-size: .76rem !important;
  }

  .hero-range .hr-spec {
    font-size: .62rem !important;
  }

  .hero-range .hr-item.is-active {
    background: rgba(255, 255, 255, .52) !important;
    border-color: rgba(232, 84, 44, .75) !important;
    box-shadow: 0 4px 14px rgba(15, 23, 41, .04) !important;
  }

  .hero-stats-bar {
    padding: 10px 12px !important;
    border-radius: 14px !important;
    margin-bottom: 14px !important;
  }

  .hero-stats {
    gap: 0 !important;
  }

  .hero-stats-bar .hero-stat {
    padding: 2px 10px !important;
  }

  .hero-stat-icon {
    width: 32px !important;
    height: 32px !important;
    margin-bottom: 3px !important;
  }

  .hero-stat-icon svg {
    width: 17px !important;
    height: 17px !important;
  }

  .hero-stats-bar .hero-stat .num {
    font-size: 1.45rem !important;
    line-height: 1.05 !important;
  }

  .hero-stats-bar .hero-stat .lbl {
    font-size: .56rem !important;
    margin-top: 3px !important;
  }

  /* The presentation bay is centered around 74% of the full hero width. */
  .hero-podium-stage .hero-main-bag {
    left: 74% !important;
    top: 76% !important;
    width: clamp(185px, 12vw, 220px) !important;
    max-width: 220px !important;
  }

  .hero-podium-stage .hero-main-label {
    left: 74% !important;
    top: 76% !important;
    transform: translate(-50%, 14px) !important;
  }

  .hero-podium-stage .bag-dots {
    left: 74% !important;
    top: 76% !important;
    transform: translate(-50%, 60px) !important;
  }
}

/* v30: continue the fitted scene across ultra-wide screens */
@media (min-width: 961px) {
  .hero::before,
  .ltg-home-modern .hero::before {
    background-image:
      url('images/hero-architectural-studio-v27.png'),
      linear-gradient(90deg, #f4f4f2 0%, #f7f7f5 16%, #fafaf8 38%, #f6f6f4 100%) !important;
    background-size: auto 100%, 100% 100% !important;
    background-position: right center, left center !important;
    background-repeat: no-repeat, no-repeat !important;
  }
}

/* v31: true ultra-wide photographic scene — no uncovered side strip */
.hero::before,
.ltg-home-modern .hero::before {
  background-image: url('images/perf/hero-tools-leaf-shadow-desktop.webp') !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

.hero::after,
.ltg-home-modern .hero::after {
  background: linear-gradient(90deg,
    rgba(255,255,255,.78) 0%,
    rgba(255,255,255,.55) 28%,
    rgba(255,255,255,.18) 45%,
    transparent 58%) !important;
}

@media (min-width: 961px) {
  .hero-podium-stage .hero-main-bag {
    left: 74% !important;
    top: 79% !important;
  }

  .hero-podium-stage .hero-main-label,
  .hero-podium-stage .bag-dots {
    left: 74% !important;
    top: 79% !important;
  }
}

@media (max-width: 960px) {
  .hero::before,
  .ltg-home-modern .hero::before {
    background-image: url('images/perf/hero-tools-leaf-shadow-mobile.webp') !important;
    background-size: cover !important;
    background-position: center center !important;
  }
}

/* v32: high-resolution carousel products at a stronger hero scale */
@media (min-width: 961px) {
  .hero-podium-stage .hero-main-bag {
    width: clamp(250px, 16vw, 300px) !important;
    max-width: 300px !important;
    left: 74% !important;
    top: 79% !important;
  }

  .hero-podium-stage .hero-main-bag .bag-slide {
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    image-rendering: auto !important;
  }
}

@media (max-width: 960px) {
  .hero-podium-stage .hero-main-bag {
    width: min(220px, 52vw) !important;
    max-width: 220px !important;
  }
}

/* v33: stronger products and restrained manufacturer-grade styling */
.hero-podium-stage .hero-main-label {
  display: none !important;
}

@media (min-width: 961px) {
  .hero-podium-stage .hero-main-bag {
    width: clamp(320px, 20vw, 380px) !important;
    max-width: 380px !important;
    left: 74% !important;
    top: 79% !important;
    filter: drop-shadow(0 22px 26px rgba(15, 23, 41, .18)) !important;
  }

  .hero-podium-stage .bag-dots {
    left: 74% !important;
    top: 79% !important;
    transform: translate(-50%, 18px) !important;
  }

  .hero-range,
  .hero-stats-bar {
    background: rgba(255, 255, 255, .94) !important;
    border: 1px solid rgba(15, 23, 41, .12) !important;
    border-radius: 6px !important;
    box-shadow: 0 8px 24px rgba(15, 23, 41, .07) !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }

  .hero-range {
    padding: 5px !important;
    gap: 2px !important;
  }

  .hero-range .hr-item {
    border-radius: 3px !important;
    background: transparent !important;
  }

  .hero-range .hr-item.is-active {
    background: #fff !important;
    border-color: #e8542c !important;
    box-shadow: inset 0 -3px 0 #e8542c !important;
  }

  .hero-stats-bar {
    padding: 9px 12px !important;
  }

  .hero-stats-bar .hero-stat:not(:last-child) {
    border-right: 1px solid rgba(15, 23, 41, .10) !important;
  }
}

.hero .eyebrow {
  border-radius: 4px !important;
  letter-spacing: 1.7px !important;
}

.hero-actions .btn,
.hero-actions .btn-primary,
.hero-actions .btn-shop,
.hero-actions .btn-ghost {
  border-radius: 5px !important;
}

.bag-dot::before {
  width: 7px !important;
  height: 7px !important;
  background: rgba(15, 23, 41, .28) !important;
}

.bag-dot.is-active::before {
  background: #e8542c !important;
}

@media (max-width: 960px) {
  .hero-podium-stage .hero-main-bag {
    width: min(260px, 60vw) !important;
    max-width: 260px !important;
  }

  .hero-podium-stage .bag-dots {
    transform: translate(-50%, 18px) !important;
  }
}

/* v34: visually anchored product, pedestal dots, floating glass groups */
@media (min-width: 961px) {
  .hero-podium-stage .hero-main-bag {
    left: 74% !important;
    top: 79% !important;
    width: clamp(420px, 26vw, 500px) !important;
    max-width: 500px !important;
    transform: translate(-50%, -61%) !important;
    filter: drop-shadow(0 24px 30px rgba(15, 23, 41, .20)) !important;
  }

  .hero-podium-stage .bag-dots {
    left: 74% !important;
    top: 79% !important;
    transform: translate(-50%, 62px) !important;
    gap: 8px !important;
    padding: 5px 9px !important;
    background: rgba(255, 255, 255, .24) !important;
    border-radius: 999px !important;
  }

  .hero-range,
  .hero-stats-bar {
    width: min(800px, 66vw) !important;
    max-width: 800px !important;
    background: rgba(255, 255, 255, .34) !important;
    border: 1px solid rgba(255, 255, 255, .52) !important;
    border-radius: 22px !important;
    box-shadow: 0 16px 38px rgba(15, 23, 41, .08) !important;
    -webkit-backdrop-filter: blur(18px) saturate(120%) !important;
    backdrop-filter: blur(18px) saturate(120%) !important;
  }

  .hero-range {
    padding: 8px !important;
    gap: 6px !important;
  }

  .hero-range .hr-item {
    border: 1px solid transparent !important;
    border-radius: 15px !important;
    background: rgba(255, 255, 255, .16) !important;
    box-shadow: none !important;
  }

  .hero-range .hr-item:hover {
    background: rgba(255, 255, 255, .42) !important;
    border-color: rgba(232, 84, 44, .24) !important;
  }

  .hero-range .hr-item.is-active {
    background: rgba(255, 255, 255, .64) !important;
    border-color: rgba(232, 84, 44, .72) !important;
    box-shadow: 0 8px 18px rgba(15, 23, 41, .06) !important;
  }

  .hero-stats-bar {
    padding: 12px 14px !important;
  }

  .hero-stats-bar .hero-stat {
    border: 0 !important;
    border-right: 0 !important;
    border-radius: 14px !important;
    background: rgba(255, 255, 255, .12) !important;
    padding: 7px 10px !important;
  }

  .hero-stats-bar .hero-stat:not(:last-child) {
    border-right: 0 !important;
  }
}

.bag-dot {
  width: 18px !important;
  height: 18px !important;
}

.bag-dot::before {
  width: 10px !important;
  height: 10px !important;
  box-sizing: border-box !important;
  background: rgba(255, 255, 255, .44) !important;
  border: 2px solid #f26a2e !important;
}

.bag-dot.is-active::before {
  background: #f26a2e !important;
  border-color: #f26a2e !important;
  transform: scale(1.08) !important;
}

@media (max-width: 960px) {
  .hero-podium-stage .hero-main-bag {
    width: min(300px, 68vw) !important;
    max-width: 300px !important;
    transform: translate(-50%, -66%) !important;
  }

  .hero-podium-stage .bag-dots {
    transform: translate(-50%, 54px) !important;
    gap: 7px !important;
  }

  .hero-range,
  .hero-stats-bar {
    background: rgba(255, 255, 255, .42) !important;
    border: 1px solid rgba(255, 255, 255, .55) !important;
    border-radius: 18px !important;
    box-shadow: 0 12px 28px rgba(15, 23, 41, .08) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    backdrop-filter: blur(16px) !important;
  }
}

/* v35: clean carousel dots + open horizontal credentials strip */
.hero-podium-stage .bag-dots,
.ltg-home-modern .hero-podium-stage .bag-dots {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  overflow: visible !important;
}

@media (min-width: 961px) {
  .hero-podium-stage .bag-dots {
    transform: translate(-50%, 62px) !important;
  }

  .hero-stats-bar,
  .ltg-home-modern .hero-stats-bar {
    width: min(800px, 66vw) !important;
    max-width: 800px !important;
    padding: 11px 0 !important;
    margin-bottom: 16px !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }

  .hero-stats-bar .hero-stats {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 0 !important;
    width: 100% !important;
  }

  .hero-stats-bar .hero-stat {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    column-gap: 11px !important;
    row-gap: 1px !important;
    align-items: center !important;
    padding: 7px 16px !important;
    text-align: left !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  .hero-stats-bar .hero-stat:not(:last-child) {
    border-right: 1px solid rgba(15, 23, 41, .12) !important;
  }

  .hero-stats-bar .hero-stat-icon {
    grid-column: 1 !important;
    grid-row: 1 / 3 !important;
    width: 40px !important;
    height: 40px !important;
    margin: 0 !important;
    background: rgba(232, 84, 44, .10) !important;
    color: #e8542c !important;
    border: 1px solid rgba(232, 84, 44, .12) !important;
  }

  .hero-stats-bar .hero-stat-icon svg {
    width: 20px !important;
    height: 20px !important;
  }

  .hero-stats-bar .hero-stat .num {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: end !important;
    font-size: 1.5rem !important;
    line-height: 1 !important;
    text-align: left !important;
    color: #0f1729 !important;
    -webkit-text-fill-color: #0f1729 !important;
  }

  .hero-stats-bar .hero-stat .lbl {
    grid-column: 2 !important;
    grid-row: 2 !important;
    align-self: start !important;
    margin: 3px 0 0 !important;
    font-size: .55rem !important;
    line-height: 1.25 !important;
    text-align: left !important;
    color: #5b6472 !important;
    letter-spacing: .9px !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 960px) {
  .hero-podium-stage .bag-dots {
    transform: translate(-50%, 54px) !important;
  }

  .hero-stats-bar,
  .ltg-home-modern .hero-stats-bar {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }
}

/* v36: tighter hero rhythm, restored pedestal dots, floating product */
@media (min-width: 961px) {
  .hero-range,
  .hero-stats-bar {
    transform: translateY(-30px) !important;
  }

  .hero-podium-stage .bag-dots,
  .ltg-home-modern .hero-podium-stage .bag-dots {
    left: 74% !important;
    top: 77% !important;
    transform: translate(-50%, 0) !important;
  }
}

.hero-podium-stage .hero-main-bag::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  bottom: 3% !important;
  width: 58% !important;
  height: 22px !important;
  transform: translate(-50%, 34px) !important;
  border-radius: 50% !important;
  background: radial-gradient(ellipse, rgba(15, 23, 41, .28) 0%, rgba(15, 23, 41, .11) 46%, transparent 74%) !important;
  filter: blur(7px) !important;
  opacity: .72 !important;
  pointer-events: none !important;
  z-index: -1 !important;
  animation: heroProductShadow 3.8s ease-in-out infinite !important;
}

.hero-podium-stage .hero-main-bag .bag-slide.is-active {
  animation: heroProductFloat 3.8s ease-in-out infinite !important;
  filter: drop-shadow(0 18px 20px rgba(15, 23, 41, .16)) !important;
  will-change: transform !important;
}

@keyframes heroProductFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-13px); }
}

@keyframes heroProductShadow {
  0%, 100% { transform: translate(-50%, 34px) scale(1); opacity: .72; }
  50% { transform: translate(-50%, 34px) scale(.84); opacity: .44; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-podium-stage .hero-main-bag .bag-slide.is-active,
  .hero-podium-stage .hero-main-bag::after {
    animation: none !important;
  }
}

@media (max-width: 960px) {
  .hero-range,
  .hero-stats-bar {
    transform: translateY(-14px) !important;
  }

  .hero-podium-stage .bag-dots,
  .ltg-home-modern .hero-podium-stage .bag-dots {
    top: 76% !important;
    transform: translate(-50%, 0) !important;
  }
}

/* v37: reference-sized product with clearly visible float and ground shadow */
.hero-podium-stage .hero-main-bag::after {
  display: none !important;
}

.hero-product-ground-shadow {
  position: absolute !important;
  left: 74% !important;
  top: 68% !important;
  width: 235px !important;
  height: 34px !important;
  transform: translate(-50%, -50%) scale(1) !important;
  border-radius: 50% !important;
  background: radial-gradient(ellipse, rgba(15, 23, 41, .38) 0%, rgba(15, 23, 41, .20) 38%, rgba(15, 23, 41, .05) 65%, transparent 76%) !important;
  filter: blur(7px) !important;
  opacity: .82 !important;
  pointer-events: none !important;
  z-index: 1 !important;
  animation: heroGroundShadowV37 3.2s ease-in-out infinite !important;
}

@media (min-width: 961px) {
  .hero-podium-stage .hero-main-bag {
    left: 74% !important;
    top: 79% !important;
    width: clamp(590px, 35vw, 680px) !important;
    max-width: 680px !important;
    transform: translate(-50%, -61%) !important;
    z-index: 2 !important;
  }

  .hero-podium-stage .bag-dots,
  .ltg-home-modern .hero-podium-stage .bag-dots {
    left: 74% !important;
    top: 77% !important;
    transform: translate(-50%, 0) !important;
    z-index: 3 !important;
  }
}

.hero-podium-stage .hero-main-bag .bag-slide.is-active {
  animation: heroProductFloatV37 3.2s ease-in-out infinite !important;
  filter: drop-shadow(0 24px 24px rgba(15, 23, 41, .24)) !important;
}

@keyframes heroProductFloatV37 {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-26px); }
}

@keyframes heroGroundShadowV37 {
  0%, 100% { transform: translate(-50%, -50%) scale(1); opacity: .82; filter: blur(7px); }
  50% { transform: translate(-50%, -50%) scale(.72); opacity: .46; filter: blur(9px); }
}

@media (prefers-reduced-motion: reduce) {
  .hero-podium-stage .hero-main-bag .bag-slide.is-active,
  .hero-product-ground-shadow {
    animation: none !important;
  }
}

@media (max-width: 960px) {
  .hero-podium-stage .hero-main-bag {
    width: min(360px, 78vw) !important;
    max-width: 360px !important;
  }

  .hero-product-ground-shadow {
    left: 69% !important;
    top: 68% !important;
    width: 160px !important;
    height: 26px !important;
  }
}

/* v38: enlarge the active image itself; do not scale the positioning container */
@media (min-width: 961px) {
  .hero-podium-stage .hero-main-bag,
  .ltg-home-modern .hero-podium-stage .hero-main-bag {
    left: 74% !important;
    top: 24% !important;
    width: 400px !important;
    max-width: 400px !important;
    height: auto !important;
    transform: translateX(-50%) !important;
    margin: 0 !important;
  }

  .hero-podium-stage .hero-main-bag .bag-slide,
  .hero-podium-stage .hero-main-bag .bag-slide.is-active,
  .ltg-home-modern .hero-podium-stage .hero-main-bag .bag-slide,
  .ltg-home-modern .hero-podium-stage .hero-main-bag .bag-slide.is-active {
    position: relative !important;
    inset: auto !important;
    width: 400px !important;
    max-width: 400px !important;
    height: auto !important;
    margin: 0 auto !important;
    object-fit: contain !important;
  }

  .hero-product-ground-shadow {
    left: 74% !important;
    top: 74% !important;
    width: 245px !important;
    height: 36px !important;
  }

  .hero-podium-stage .bag-dots,
  .ltg-home-modern .hero-podium-stage .bag-dots {
    left: 74% !important;
    top: 77% !important;
    transform: translate(-50%, 0) !important;
  }
}

/* ============================================================
   v60 light-surface repair
   Keeps intentional dark navigation/footer accents while removing
   inherited black blocks from page content and restoring contrast.
   ============================================================ */
:root {
  --v60-ink: #0f1729;
  --v60-copy: #556070;
  --v60-line: rgba(15, 23, 41, 0.11);
  --v60-paper: #ffffff;
  --v60-warm: #f7f6f2;
  --v60-orange: #e8542c;
  --v60-orange-soft: #fff0ea;
}

html,
body,
.page,
#site,
main {
  background: var(--v60-paper) !important;
}

/* Page mastheads: prevent black-on-black titles on shop and product pages. */
.shop-hero,
.page-hero-bar,
.contact-page-hero {
  background: var(--v60-warm) !important;
  color: var(--v60-ink) !important;
  border-bottom: 1px solid var(--v60-line) !important;
}

.shop-hero h1,
.shop-hero p,
.page-hero-bar h1,
.page-hero-bar p,
.contact-page-hero h1,
.contact-page-hero p {
  color: var(--v60-ink) !important;
  -webkit-text-fill-color: var(--v60-ink) !important;
  opacity: 1 !important;
}

.shop-hero p,
.page-hero-bar p,
.contact-page-hero p {
  color: var(--v60-copy) !important;
  -webkit-text-fill-color: var(--v60-copy) !important;
}

.shop-hero {
  padding-top: 132px !important;
  padding-bottom: 58px !important;
}

.shop-hero .tag-pill,
.page-hero-bar-label {
  background: var(--v60-orange-soft) !important;
  color: var(--v60-orange) !important;
  -webkit-text-fill-color: var(--v60-orange) !important;
  border: 1px solid rgba(232, 84, 44, 0.22) !important;
}

/* Product content: replace accidental dark placeholders with finished cards. */
#page-adhesive #specs .growth-banner,
#page-adhesive #excellence .flagship-box,
#page-adhesive #excellence .stat-box,
#page-grout .stat-box {
  background: var(--v60-paper) !important;
  color: var(--v60-ink) !important;
  border: 1px solid var(--v60-line) !important;
  box-shadow: 0 10px 28px rgba(15, 23, 41, 0.06) !important;
}

#page-adhesive #specs .growth-banner {
  background: var(--v60-warm) !important;
}

#page-adhesive #specs .growth-banner .big,
#page-adhesive #specs .growth-banner .yrs,
#page-adhesive #specs .growth-banner [style*="color:var(--gold)"],
#page-adhesive #excellence .flagship-box .lbl,
#page-adhesive #excellence .stat-box .n,
#page-grout .stat-box .n {
  color: var(--v60-orange) !important;
  -webkit-text-fill-color: var(--v60-orange) !important;
}

#page-adhesive #specs .growth-banner p,
#page-adhesive #excellence .flagship-box p,
#page-adhesive #excellence .stat-box .l,
#page-grout .stat-box .l {
  color: var(--v60-copy) !important;
  -webkit-text-fill-color: var(--v60-copy) !important;
  opacity: 1 !important;
}

#page-adhesive #excellence .flagship-box,
#page-adhesive #excellence .flagship-box * {
  visibility: visible !important;
  opacity: 1 !important;
}

#page-adhesive #excellence .flagship-box {
  min-height: 100% !important;
}

#page-grout .stat-box::before,
#page-adhesive #excellence .stat-box::before {
  background: var(--v60-orange) !important;
  opacity: 0.12 !important;
}

/* Review title was clipping the last line/descender at some widths. */
.rs-head {
  width: min(100%, 760px) !important;
  max-width: 760px !important;
  overflow: visible !important;
}

.rs-head h1,
.rs-head h2 {
  width: 100% !important;
  max-width: none !important;
  overflow: visible !important;
  line-height: 1.14 !important;
  padding-bottom: 0.08em !important;
  text-wrap: balance;
}

/* Keep card content visible even when older reveal/colour overrides collide. */
.shop-card,
.shop-card .body,
.feature-card,
.stat-box,
.flagship-box {
  color: var(--v60-ink) !important;
}

.shop-card h2,
.shop-card h4,
.shop-card .d,
.shop-price,
.feature-card h4,
.feature-card p {
  opacity: 1 !important;
  visibility: visible !important;
}

@media (max-width: 900px) {
  .shop-hero {
    padding-top: 106px !important;
    padding-bottom: 44px !important;
  }

  #page-adhesive #excellence .why-grid {
    gap: 28px !important;
  }
}

@media (max-width: 560px) {
  .shop-hero {
    padding-top: 94px !important;
    padding-bottom: 36px !important;
  }

  .rs-head h1,
  .rs-head h2 {
    font-size: clamp(1.9rem, 10vw, 2.55rem) !important;
  }
}

/* v40: calmer, slower floating motion */
.hero-podium-stage .hero-main-bag .bag-slide.is-active {
  animation: heroProductFloatV40 4.2s ease-in-out infinite !important;
}

.hero-product-ground-shadow {
  animation: heroGroundShadowV40 4.2s ease-in-out infinite !important;
}

@keyframes heroProductFloatV40 {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-16px); }
}

@keyframes heroGroundShadowV40 {
  0%, 100% { transform: translate(-50%, -50%) scale(1); opacity: .76; filter: blur(7px); }
  50% { transform: translate(-50%, -50%) scale(.86); opacity: .58; filter: blur(8px); }
}

@media (prefers-reduced-motion: reduce) {
  .hero-podium-stage .hero-main-bag .bag-slide.is-active,
  .hero-product-ground-shadow {
    animation: none !important;
  }
}

/* v39: preserve product scale; lift it slightly off the pedestal */
@media (min-width: 961px) {
  .hero-podium-stage .hero-main-bag,
  .ltg-home-modern .hero-podium-stage .hero-main-bag {
    top: 21.5% !important;
    width: 400px !important;
    max-width: 400px !important;
  }

  .hero-podium-stage .hero-main-bag .bag-slide,
  .hero-podium-stage .hero-main-bag .bag-slide.is-active,
  .ltg-home-modern .hero-podium-stage .hero-main-bag .bag-slide,
  .ltg-home-modern .hero-podium-stage .hero-main-bag .bag-slide.is-active {
    width: 400px !important;
    max-width: 400px !important;
  }
}

/* v60 final precedence guard: this must remain the last theme layer. */
html, body, .page, #site, main { background: #fff !important; }
.shop-hero, .page-hero-bar, .contact-page-hero {
  background: #f7f6f2 !important;
  color: #0f1729 !important;
  border-bottom: 1px solid rgba(15, 23, 41, .11) !important;
}
.shop-hero h1, .page-hero-bar h1, .contact-page-hero h1 {
  color: #0f1729 !important;
  -webkit-text-fill-color: #0f1729 !important;
}
.shop-hero p, .page-hero-bar p, .contact-page-hero p {
  color: #556070 !important;
  -webkit-text-fill-color: #556070 !important;
}
#page-adhesive #specs .growth-banner,
#page-adhesive #excellence .flagship-box,
#page-adhesive #excellence .stat-box,
#page-grout .stat-box {
  background: #fff !important;
  color: #0f1729 !important;
  border: 1px solid rgba(15, 23, 41, .11) !important;
  box-shadow: 0 10px 28px rgba(15, 23, 41, .06) !important;
}
#page-adhesive #specs .growth-banner { background: #f7f6f2 !important; }
#page-adhesive #specs .growth-banner .big,
#page-adhesive #specs .growth-banner .yrs,
#page-adhesive #excellence .flagship-box .lbl,
#page-adhesive #excellence .stat-box .n,
#page-grout .stat-box .n {
  color: #e8542c !important;
  -webkit-text-fill-color: #e8542c !important;
}
#page-adhesive #specs .growth-banner p,
#page-adhesive #excellence .flagship-box p,
#page-adhesive #excellence .stat-box .l,
#page-grout .stat-box .l {
  color: #556070 !important;
  -webkit-text-fill-color: #556070 !important;
  opacity: 1 !important;
}
#page-adhesive #excellence .flagship-box,
#page-adhesive #excellence .flagship-box * {
  opacity: 1 !important;
  visibility: visible !important;
}
.rs-head { width: min(100%, 760px) !important; max-width: 760px !important; overflow: visible !important; }
.rs-head h1, .rs-head h2 {
  width: 100% !important;
  max-width: none !important;
  line-height: 1.14 !important;
  padding-bottom: .08em !important;
  overflow: visible !important;
  text-wrap: balance;
}

/* Small shared controls that were still inheriting the legacy black theme. */
#floatShopBtn,
#floatShopBtn.show {
  background: #e8542c !important;
  color: #fff !important;
  border-color: #e8542c !important;
  box-shadow: 0 12px 28px rgba(232, 84, 44, .30) !important;
}

#floatShopBtn:hover {
  background: #d94824 !important;
  box-shadow: 0 16px 34px rgba(232, 84, 44, .38) !important;
}

.page-hero-bar-label {
  display: inline-block !important;
  width: auto !important;
  max-width: max-content !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 7px 14px !important;
  border-radius: 999px !important;
  line-height: 1.2 !important;
}

/* Final light-surface visibility pass. */
#page-adhesive #specs .spec-table-wrap {
  border: 2px solid #aeb7c5 !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  background: #fff !important;
  box-shadow: 0 12px 28px rgba(15, 23, 41, 0.13) !important;
}
#page-adhesive #specs table.spec {
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border: 0 !important;
}
#page-adhesive #specs table.spec th {
  background: #0f1729 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  border-right: 1px solid #465064 !important;
  border-bottom: 3px solid #e8542c !important;
}
#page-adhesive #specs table.spec td {
  background: #fff !important;
  color: #0f1729 !important;
  -webkit-text-fill-color: #0f1729 !important;
  border-right: 1px solid #c3cad5 !important;
  border-bottom: 1px solid #c3cad5 !important;
}
#page-adhesive #specs table.spec th:last-child,
#page-adhesive #specs table.spec td:last-child {
  border-right: 0 !important;
}
#page-adhesive #specs table.spec tbody tr:nth-child(even) td {
  background: #eef1f5 !important;
}
#page-adhesive #specs table.spec tbody td:first-child {
  background: #f7ede6 !important;
  font-weight: 700 !important;
}
#page-adhesive #specs table.spec tbody tr:nth-child(even) td:first-child {
  background: #eaded5 !important;
}
#page-adhesive #specs table.spec tbody tr:last-child td {
  border-bottom: 0 !important;
}

/* Other pale cards that previously relied on a dark page background. */
.feature-card,
.obj-card,
.overview,
.info-list,
.store-card,
.contact-card,
.review-card,
.rs-card,
.product-range-card {
  border-color: #c8ced8 !important;
}

/* Product Excellence cards: clearly defined on the white page. */
#page-adhesive #excellence .flagship-box {
  position: relative;
  overflow: hidden;
  background: #f8fafc !important;
  color: #0f1729 !important;
  border: 2px solid #aeb7c5 !important;
  border-radius: 14px !important;
  box-shadow: 0 10px 24px rgba(15, 23, 41, 0.1) !important;
}
#page-adhesive #excellence .flagship-box::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: #e8542c;
}
#page-adhesive #excellence .flagship-box .lbl {
  color: #e8542c !important;
  -webkit-text-fill-color: #e8542c !important;
}
#page-adhesive #excellence .flagship-box p {
  color: #566174 !important;
  -webkit-text-fill-color: #566174 !important;
}
#page-adhesive #excellence .feature-card {
  background: #fff !important;
  border: 2px solid #b9c1cd !important;
  border-radius: 13px !important;
  box-shadow: 0 8px 20px rgba(15, 23, 41, 0.08) !important;
}
#page-adhesive #excellence .feature-card:hover {
  border-color: #e8542c !important;
  box-shadow: 0 14px 30px rgba(15, 23, 41, 0.14) !important;
}

/* Grout specification cards: visible resting state on the light background. */
#page-grout #colours .stat-box {
  background: #fff !important;
  border: 2px solid #b7c0cc !important;
  border-radius: 13px !important;
  box-shadow: 0 9px 22px rgba(15, 23, 41, 0.1) !important;
}
#page-grout #colours .stat-box::after {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  background: #e8542c;
  opacity: 0.9;
}
#page-grout #colours .stat-box:hover {
  border-color: #e8542c !important;
  box-shadow: 0 14px 30px rgba(15, 23, 41, 0.15) !important;
}

/* Unified rounded geometry across interactive surfaces. */
:root {
  --radius-control: 12px;
  --radius-card: 18px;
  --radius-panel: 22px;
}

.feature-card,
.obj-card,
.vm-card,
.flagship-box,
.stat-box,
.shop-card,
.store-card,
.contact-card,
.review-card,
.rs-card,
.auth-card,
.product-range-card,
.product-price-card,
.cart-summary,
.order-summary-box,
.growth-banner,
.colour-note,
.grout-bag,
.hero-range,
.hero-prod-panel,
.review-modal,
.wa-panel {
  border-radius: var(--radius-card) !important;
}

.spec-table-wrap,
.cart-table-wrap,
.table-wrap,
.chart-frame,
.contact-map-box,
.ref-stores-panel,
.checkout-grid > *,
.company-grid > * {
  border-radius: var(--radius-panel) !important;
  overflow: hidden;
}

button,
.btn,
input,
select,
textarea,
.prod-tab,
.nav-shop-btn,
.nav-cta,
.account-pill {
  border-radius: var(--radius-control) !important;
}

.gallery figure,
.facility-panel,
.bag-frame,
.cart-item-info img,
.rs-card .rs-card-photo {
  border-radius: 16px !important;
  overflow: hidden;
}

/* Shop hover: no black outline or mismatched hard-edge animation. */
header .nav-shop-btn:hover,
header .nav-shop-btn:focus,
.hero-actions .btn-shop:hover,
.hero-actions .btn-shop:focus {
  outline: 0 !important;
  border-color: #e8542c !important;
  box-shadow: 0 0 0 3px rgba(232, 84, 44, 0.15) !important;
}

header .nav-shop-btn::after,
.hero-actions .btn-shop::after {
  display: none !important;
}

/* Final site-wide soft-corner system. Keep outer containers visibly softer than
   their nested controls so the rounded geometry reads at a glance. */
:root {
  --radius-control: 18px;
  --radius-card: 26px;
  --radius-panel: 32px;
  --radius-media: 24px;
}

/* Large content surfaces and table shells. */
.company-grid > *,
.overview,
.info-list,
.spec-table-wrap,
.cart-table-wrap,
.table-wrap,
.chart-frame,
.contact-map-box,
.ref-stores-panel,
.checkout-grid > *,
.facility-panel,
.hero-range,
.hero-prod-panel,
.review-modal,
.wa-panel {
  border-radius: var(--radius-panel) !important;
  overflow: hidden;
}

/* Reusable cards throughout home, company, product, shop and account pages. */
.feature-card,
.obj-card,
.vm-card,
.flagship-box,
.stat-box,
.shop-card,
.store-card,
.contact-card,
.review-card,
.rs-card,
.rs-empty-box,
.auth-card,
.product-range-card,
.product-price-card,
.cart-summary,
.order-summary-box,
.growth-banner,
.colour-note,
.grout-bag,
.gallery figure,
.bag-frame,
.toast-msg,
.order-success,
.mg-item-row {
  border-radius: var(--radius-card) !important;
}

/* Company customer-base rows need their own visible rounded silhouette. */
.customer-cols > div {
  border: 1px solid #b8c0cc !important;
  border-radius: 18px !important;
  padding: 14px 18px !important;
  background: #fff !important;
  overflow: hidden;
}

.clients-row .client-chip,
.client-chip {
  border-radius: 16px !important;
}

/* Controls stay slightly tighter than their parent cards. */
button,
.btn,
input,
select,
textarea,
.prod-tab,
.nav-shop-btn,
.nav-cta,
.account-pill,
.ref-stores-btn,
.rsp-btn,
.store-combo-input,
.store-combo-dropdown,
.wa-open-chat {
  border-radius: var(--radius-control) !important;
}

/* Product imagery and gallery frames. */
.gallery figure,
.bag-frame,
.cart-item-info img,
.rs-card .rs-card-photo,
.product-range-card img,
.shop-card img {
  border-radius: var(--radius-media) !important;
}

/* Explicitly beat legacy 13–14px product rules. */
#page-adhesive #specs .spec-table-wrap,
#page-adhesive #excellence .flagship-box,
#page-adhesive #excellence .feature-card,
#page-grout #colours .stat-box {
  border-radius: var(--radius-card) !important;
}

@media (max-width: 760px) {
  :root {
    --radius-control: 16px;
    --radius-card: 22px;
    --radius-panel: 26px;
    --radius-media: 20px;
  }

  .cart-table tr,
  .customer-cols > div {
    border-radius: 20px !important;
  }

  #navlinks.mobile-open {
    border-radius: 0 0 26px 26px !important;
  }
}

/* Absolute final precedence: hero clarity, clean selectors, aligned facility,
   and complete contact masthead. */
.hero-actions{align-items:center!important;gap:12px!important}
.hero-actions .btn-shop{min-height:48px;padding:13px 24px!important;border:2px solid #e8542c!important;border-radius:16px!important;background:#e8542c!important;color:#fff!important;-webkit-text-fill-color:#fff!important;text-decoration:none!important;box-shadow:0 10px 24px rgba(232,84,44,.24)!important}
.hero-actions .btn-ghost{min-height:48px;padding:13px 24px!important;border:2px solid rgba(15,23,41,.72)!important;border-radius:16px!important;background:rgba(255,255,255,.9)!important;color:#0f1729!important;-webkit-text-fill-color:#0f1729!important;text-decoration:none!important;box-shadow:0 8px 20px rgba(15,23,41,.1)!important}
.hero-actions .btn-shop:hover,.hero-actions .btn-ghost:hover{transform:translateY(-2px)!important}
.hero-actions .btn-ghost:hover{border-color:#e8542c!important;color:#e8542c!important;-webkit-text-fill-color:#e8542c!important;background:#fff!important}
.hero-certs,.hero-certs li{color:#3f4a5c!important;-webkit-text-fill-color:#3f4a5c!important;opacity:1!important}
.hero-certs button{color:#d94824!important;-webkit-text-fill-color:#d94824!important;font-weight:700!important}
.hero-range .hr-item,.hero-range .hr-item:hover,.hero-range .hr-item:focus,.hero-range .hr-item:focus-visible{outline:0!important;border:1px solid transparent!important;box-shadow:none!important}
.hero-range .hr-item.is-active,.hero-range .hr-item[aria-selected="true"]{border:1.5px solid #e8542c!important;outline:0!important;background:#fff4ee!important;box-shadow:0 8px 18px rgba(232,84,44,.12)!important}
.hero-range .hr-item:focus-visible{box-shadow:0 0 0 3px rgba(232,84,44,.18)!important}
.facility-row .facility-strip-grid{align-items:stretch!important;height:320px!important}
.facility-row .facility-panel,.facility-row .facility-panel:nth-child(n){height:320px!important;transform:none!important;margin:0!important}
.facility-row .facility-panel .fp-img-wrap,.facility-row .facility-panel .fp-img-wrap img{width:100%!important;height:100%!important}
.facility-row .facility-panel .fp-img-wrap img{object-fit:cover!important;animation:facilityImageDrift 7s ease-in-out infinite alternate}
.facility-row .facility-panel:nth-child(even) .fp-img-wrap img{animation-delay:-3.5s}
.contact-page-hero{padding:136px 20px 62px!important;min-height:270px!important;overflow:visible!important}
.contact-page-hero .tag-pill{margin-top:0!important;margin-bottom:18px!important}
.contact-page-hero h1{margin-top:0!important}
@media(max-width:760px){.hero-actions .btn-shop,.hero-actions .btn-ghost{min-height:46px;padding:12px 18px!important}.facility-row .facility-strip-grid{height:auto!important}.facility-row .facility-panel,.facility-row .facility-panel:nth-child(n){height:280px!important}.contact-page-hero{padding:112px 18px 50px!important;min-height:250px!important}}
@media(prefers-reduced-motion:reduce){.facility-row .facility-panel .fp-img-wrap img{animation:none!important}}

/* ===== v61: Mobile top bar — profile/account button + ref button spacing ===== */
@media (max-width:900px){
  header .nav-actions{
    gap:8px !important;
  }
  header .profile-auth-wrap{
    display:flex !important;
    align-items:center;
    justify-content:center;
    order:0;
    position:relative;
  }
  header .profile-auth-wrap .profile-icon-btn{
    width:36px;
    height:36px;
  }
  header .profile-auth-wrap .profile-icon-btn svg{
    width:17px;
    height:17px;
  }
  header .account-pill{
    display:flex !important;
    order:0;
    width:36px;
    height:36px;
    padding:0;
    border-radius:50%;
    justify-content:center;
    gap:0;
  }
  header .account-pill #accountName{
    display:none;
  }
  header .account-pill .avatar{
    width:100%;
    height:100%;
    font-size:.78rem;
  }
  header .nav-ref-btn.myorders,
  header .nav-ref-btn.admin-hub{
    width:36px !important;
    height:36px !important;
    order:0;
  }
  header .guest-menu,
  header .account-menu{
    right:-6px;
  }
}
@media (max-width:480px){
  header .nav-actions{
    gap:6px !important;
  }
  header .profile-auth-wrap .profile-icon-btn,
  header .account-pill{
    width:32px;
    height:32px;
  }
  header .profile-auth-wrap .profile-icon-btn svg{
    width:15px;
    height:15px;
  }
  header .nav-ref-btn.myorders,
  header .nav-ref-btn.admin-hub{
    width:32px !important;
    height:32px !important;
  }
}

/* Manage Orders: keep the inline editor readable and anchored to the selected order. */
#page-orders .mg-editor-wrap {
  width: 100%;
  max-width: 720px;
  margin-top: 12px;
  padding: 22px;
  border: 1px solid #c8ced8;
  border-radius: 18px !important;
  background: #f7f6f2;
  box-shadow: 0 12px 30px rgba(15, 23, 41, 0.08);
  scroll-margin-top: 92px;
}

#page-orders .mg-add-item-btn,
#page-orders .mg-add-item-btn:hover,
#page-orders .mg-add-item-btn:focus-visible {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  margin-top: 10px;
  padding: 11px 18px;
  border: 1px solid #0f1729 !important;
  background: #0f1729 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-size: 0.72rem;
  line-height: 1.2;
  opacity: 1 !important;
  box-shadow: none;
}

#page-orders .mg-add-item-btn:hover {
  background: #1e293b !important;
  transform: translateY(-1px);
}

#page-orders .mg-add-item-btn:focus-visible {
  outline: 3px solid rgba(232, 84, 44, 0.22) !important;
  outline-offset: 3px;
}

#page-orders .mg-reason-label {
  display: block;
  margin-top: 16px;
  line-height: 1.45;
}

#page-orders .mg-reason-label span {
  color: var(--grey);
  font-size: 0.76rem;
  font-weight: 400;
}

#page-orders #mgEditReason {
  display: block;
  width: 100% !important;
  min-width: 0;
  min-height: 104px;
  margin-top: 8px;
  padding: 13px 14px !important;
  border: 1.5px solid #aeb7c5 !important;
  background: #fff !important;
  color: #0f1729 !important;
  -webkit-text-fill-color: #0f1729 !important;
  font-family: var(--font-body);
  font-size: 0.94rem;
  line-height: 1.5;
  resize: vertical;
}

#page-orders #mgEditReason:focus {
  border-color: var(--orange) !important;
  outline: 3px solid rgba(232, 84, 44, 0.14) !important;
}

@media (max-width: 640px) {
  #page-orders .mg-editor-wrap {
    margin-top: 8px;
    padding: 16px;
    border-radius: 16px !important;
    scroll-margin-top: 78px;
  }

  #page-orders .mg-add-item-btn {
    width: 100%;
    min-height: 46px;
    font-size: 0.76rem;
  }

  #page-orders .mg-reason-label span {
    display: block;
    margin-top: 2px;
  }

  #page-orders #mgEditReason {
    min-height: 120px;
    font-size: 16px;
  }
}

/* Record Payment: full-width introduction above the operational two-column area. */
#page-payment .payment-page-intro {
  padding-top: 150px;
  padding-bottom: 34px;
}

#page-payment .payment-page-intro .tag-pill {
  margin-bottom: 18px;
}

#page-payment .payment-page-intro h1 {
  max-width: 720px;
  margin: 0 0 10px;
  color: #0f1729;
  font-family: var(--font-head);
  font-size: clamp(2rem, 3.2vw, 2.6rem);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -0.035em;
  text-wrap: balance;
}

#page-payment .payment-page-intro p {
  max-width: 720px;
  margin: 0;
  color: #556070;
  font-size: 0.98rem;
  line-height: 1.65;
  text-wrap: pretty;
}

#page-payment .payment-workspace {
  padding-top: 0;
  gap: 50px;
}

#page-payment .payment-workspace .checkout-form > label:first-child {
  margin-top: 0;
}

@media (max-width: 900px) {
  #page-payment .payment-page-intro {
    padding-top: 42px;
    padding-bottom: 26px;
  }

  #page-payment .payment-page-intro .tag-pill {
    margin-bottom: 14px;
  }

  #page-payment .payment-page-intro h1 {
    margin-bottom: 9px;
    font-size: clamp(1.8rem, 8vw, 2.2rem);
  }

  #page-payment .payment-page-intro p {
    max-width: 38rem;
    font-size: 0.94rem;
    line-height: 1.6;
  }

  #page-payment .payment-workspace {
    padding-top: 0;
    padding-bottom: 84px;
    gap: 28px;
  }
}

@media (max-width: 480px) {
  #page-payment .payment-page-intro {
    padding-top: 30px;
    padding-bottom: 22px;
  }

  #page-payment .payment-page-intro h1 {
    font-size: 1.8rem;
  }

  #page-payment .payment-page-intro p {
    font-size: 0.92rem;
  }
}

/* Manage Stores: responsive editor and inline selected-store placement. */
#page-stores .stores-page-shell {
  padding-top: 150px;
  padding-bottom: 120px;
}

#page-stores .stores-page-intro {
  max-width: 780px;
}

#page-stores .stores-page-intro .tag-pill {
  margin-bottom: 18px;
}

#page-stores .stores-page-intro h1 {
  margin: 0 0 10px;
  color: #0f1729;
  font-family: var(--font-head);
  font-size: clamp(2rem, 3.2vw, 2.6rem);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -0.035em;
  text-wrap: balance;
}

#page-stores .stores-page-intro p {
  max-width: 720px;
  margin: 0;
  color: #556070;
  font-size: 0.98rem;
  line-height: 1.65;
  text-wrap: pretty;
}

#page-stores .stores-toolbar,
#page-stores .st-editor-home,
#page-stores .st-store-list {
  width: 100%;
  max-width: 960px;
}

#page-stores .stores-toolbar {
  margin-top: 28px;
}

#page-stores .stores-search-row,
#page-stores .st-order-search-row {
  flex-wrap: nowrap;
  margin-bottom: 0;
}

#page-stores .stores-search-row input,
#page-stores .st-order-search-row input {
  min-height: 46px;
  padding: 11px 14px;
  border: 1.5px solid #b8c0cc;
  font-size: 0.94rem;
}

#page-stores .stores-search-row .rsp-btn,
#page-stores .st-order-search-row .rsp-btn {
  min-height: 46px;
  padding-inline: 22px;
}

#page-stores .stores-toolbar-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
}

#page-stores .stores-toolbar-actions .ref-stores-btn,
#page-stores .st-show-orders-btn {
  width: auto;
  min-width: 205px;
  min-height: 44px;
  margin-top: 0;
  padding: 11px 16px;
}

#page-stores .stores-toolbar-actions .stores-add-btn {
  border-style: solid;
  background: #0f1729;
  color: #fff;
}

#page-stores .stores-toolbar-actions .stores-add-btn:hover {
  background: #1e293b;
}

#page-stores .stores-loading-hint {
  max-width: 960px;
  margin-top: 10px;
  color: var(--grey);
  font-size: 0.82rem;
}

#page-stores .st-store-list {
  display: grid;
  gap: 10px;
  margin-top: 22px;
}

#page-stores .st-store-card {
  display: flex;
  width: 100%;
  min-height: 74px;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: 15px 18px;
  border: 1.5px solid #d2d7df;
  border-radius: 12px;
  background: #fff;
  color: #0f1729;
  font-family: var(--font-body);
  text-align: left;
  cursor: pointer;
  transition: border-color 180ms ease, background 180ms ease, transform 180ms ease;
}

#page-stores .st-store-card:hover {
  border-color: #aeb7c5;
  background: #fbfaf7;
  transform: translateY(-1px);
}

#page-stores .st-store-card:focus-visible {
  border-color: var(--orange);
  outline: 3px solid rgba(232, 84, 44, 0.16);
  outline-offset: 2px;
}

#page-stores .st-store-card.is-selected {
  border-color: var(--orange);
  background: rgba(232, 84, 44, 0.055);
}

#page-stores .st-store-name {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.3;
}

#page-stores .st-store-meta {
  margin-top: 5px;
  color: #667080;
  font-size: 0.82rem;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

#page-stores .st-store-empty {
  padding: 24px;
  border: 1px dashed #c8ced8;
  border-radius: 12px;
  color: var(--grey);
  font-size: 0.9rem;
  text-align: center;
}

#page-stores .st-store-editor {
  width: 100%;
  max-width: 960px;
  margin: 12px 0 8px;
  padding: 26px;
  border: 1px solid #c8ced8;
  border-radius: 18px;
  background: #f7f6f2;
  box-shadow: 0 14px 34px rgba(15, 23, 41, 0.08);
  scroll-margin-top: 92px;
}

#page-stores .st-editor-home .st-store-editor {
  margin-top: 22px;
  margin-bottom: 4px;
}

#page-stores .st-editor-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 22px;
}

#page-stores .st-editor-head h2 {
  margin: 0;
  color: #0f1729;
  font-family: var(--font-head);
  font-size: clamp(1.3rem, 2.4vw, 1.55rem);
  line-height: 1.25;
  letter-spacing: -0.02em;
  overflow-wrap: anywhere;
}

#page-stores .st-editor-close {
  flex: 0 0 auto;
  padding: 6px 4px;
  border: 0;
  background: transparent;
  color: #596273;
  font-family: var(--font-mono);
  font-size: 0.72rem;
  cursor: pointer;
}

#page-stores .st-editor-close:hover {
  color: var(--orange);
}

#page-stores .st-editor-close:focus-visible {
  border-radius: 5px;
  outline: 3px solid rgba(232, 84, 44, 0.16);
  outline-offset: 2px;
}

#page-stores .st-fields-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 20px;
}

#page-stores .st-field-wide {
  grid-column: 1 / -1;
}

#page-stores .st-field label {
  display: block;
  margin: 0 0 7px;
  color: #4f5969;
  font-family: var(--font-mono);
  font-size: 0.69rem;
  font-weight: 700;
  letter-spacing: 0.75px;
  line-height: 1.35;
  text-transform: uppercase;
}

#page-stores .st-field label span {
  color: var(--orange);
}

#page-stores .st-field input,
#page-stores .st-field textarea {
  display: block;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 12px 14px;
  border: 1.5px solid #aeb7c5;
  border-radius: 9px;
  background: #fff;
  color: #0f1729;
  font-family: var(--font-body);
  font-size: 0.95rem;
  line-height: 1.45;
  transition: border-color 180ms ease, box-shadow 180ms ease;
}

#page-stores .st-field input {
  min-height: 48px;
}

#page-stores .st-field textarea {
  min-height: 104px;
  resize: vertical;
}

#page-stores .st-field input:focus,
#page-stores .st-field textarea:focus {
  border-color: var(--orange);
  outline: 0;
  box-shadow: 0 0 0 3px rgba(232, 84, 44, 0.14);
}

#page-stores .st-editor-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 22px;
}

#page-stores .st-editor-actions .place-order-btn {
  width: auto;
  min-width: 210px;
  min-height: 48px;
  margin-top: 0;
  padding: 13px 24px;
}

#page-stores .st-editor-actions .cx-btn-danger {
  min-height: 48px;
  padding: 12px 20px;
}

#page-stores .st-orders-section {
  margin-top: 28px;
  padding-top: 22px;
  border-top: 1px solid #cfd4dc;
}

#page-stores .st-orders-section h3 {
  margin: 0 0 14px;
  font-family: var(--font-head);
  font-size: 1.15rem;
}

#page-stores .st-show-orders-btn {
  margin-top: 10px;
}

#page-stores .st-orders-list {
  display: grid;
  gap: 10px;
  margin-top: 16px;
}

@media (max-width: 900px) {
  #page-stores .stores-page-shell {
    padding-top: 42px;
    padding-bottom: 92px;
  }

  #page-stores .stores-page-intro h1 {
    font-size: clamp(1.8rem, 8vw, 2.2rem);
  }

  #page-stores .stores-page-intro p {
    max-width: 40rem;
    font-size: 0.94rem;
    line-height: 1.6;
  }
}

@media (max-width: 640px) {
  #page-stores .stores-page-shell {
    padding-right: 18px;
    padding-left: 18px;
  }

  #page-stores .stores-page-intro .tag-pill {
    margin-bottom: 14px;
  }

  #page-stores .stores-toolbar {
    margin-top: 22px;
  }

  #page-stores .stores-search-row,
  #page-stores .st-order-search-row {
    flex-direction: column;
    align-items: stretch;
  }

  #page-stores .stores-search-row input,
  #page-stores .st-order-search-row input,
  #page-stores .st-field input,
  #page-stores .st-field textarea {
    font-size: 16px;
  }

  #page-stores .stores-search-row .rsp-btn,
  #page-stores .st-order-search-row .rsp-btn {
    width: 100%;
  }

  #page-stores .stores-toolbar-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  #page-stores .stores-toolbar-actions .ref-stores-btn,
  #page-stores .st-show-orders-btn {
    width: 100%;
    min-width: 0;
  }

  #page-stores .st-store-list {
    margin-top: 18px;
  }

  #page-stores .st-store-card {
    min-height: 78px;
    padding: 15px;
  }

  #page-stores .st-store-editor {
    margin-top: 8px;
    padding: 18px;
    border-radius: 16px;
    scroll-margin-top: 78px;
  }

  #page-stores .st-editor-home .st-store-editor {
    margin-top: 18px;
  }

  #page-stores .st-editor-head {
    margin-bottom: 18px;
  }

  #page-stores .st-editor-head h2 {
    font-size: 1.3rem;
  }

  #page-stores .st-fields-grid {
    grid-template-columns: 1fr;
    gap: 15px;
  }

  #page-stores .st-field-wide {
    grid-column: auto;
  }

  #page-stores .st-editor-actions {
    flex-direction: column;
    align-items: stretch;
  }

  #page-stores .st-editor-actions .place-order-btn,
  #page-stores .st-editor-actions .cx-btn-danger {
    width: 100%;
    min-width: 0;
  }

  #page-stores .st-orders-section {
    margin-top: 24px;
    padding-top: 20px;
  }
}

/* Shared Ref administration pages: desktop scale, mobile rhythm, and controls. */
:is(#page-orders, #page-cancel-orders, #page-byref, #page-reviews) .ref-admin-page-shell {
  padding-top: 150px;
  padding-bottom: 120px;
}

:is(#page-orders, #page-cancel-orders, #page-byref, #page-reviews) .ref-admin-intro {
  max-width: 780px;
}

:is(#page-orders, #page-cancel-orders, #page-byref, #page-reviews) .ref-admin-intro .tag-pill {
  margin-bottom: 18px;
}

:is(#page-orders, #page-cancel-orders, #page-byref, #page-reviews) .ref-admin-intro h1 {
  margin: 0 0 10px;
  color: #0f1729;
  font-family: var(--font-head);
  font-size: clamp(2rem, 3.2vw, 2.6rem);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -0.035em;
  text-wrap: balance;
}

:is(#page-orders, #page-cancel-orders, #page-byref, #page-reviews) .ref-admin-intro p {
  max-width: 720px;
  margin: 0;
  color: #556070;
  font-size: 0.98rem;
  line-height: 1.65;
  text-wrap: pretty;
}

:is(#page-orders, #page-cancel-orders, #page-byref, #page-reviews) .ref-admin-toolbar,
:is(#page-orders, #page-cancel-orders, #page-byref, #page-reviews) .ref-admin-tabs,
:is(#page-orders, #page-cancel-orders, #page-byref, #page-reviews) .ref-admin-filter-toggle,
:is(#page-orders, #page-cancel-orders, #page-byref, #page-reviews) .ref-admin-list,
#page-orders .mg-editor-wrap {
  width: 100%;
  max-width: 960px;
}

:is(#page-orders, #page-cancel-orders, #page-byref) .ref-admin-toolbar {
  margin-top: 28px;
}

:is(#page-orders, #page-cancel-orders, #page-byref) .ref-admin-search-row {
  max-width: 760px;
  flex-wrap: nowrap;
  margin-bottom: 0;
}

:is(#page-orders, #page-cancel-orders, #page-byref) .ref-admin-search-row input,
:is(#page-orders, #page-cancel-orders, #page-byref) .ref-admin-search-row select {
  min-height: 48px;
  padding: 11px 14px;
  border: 1.5px solid #b8c0cc;
  background: #fff;
  font-size: 0.94rem;
}

:is(#page-orders, #page-cancel-orders, #page-byref) .ref-admin-search-row input:focus,
:is(#page-orders, #page-cancel-orders, #page-byref) .ref-admin-search-row select:focus {
  border-color: var(--orange);
  outline: 0;
  box-shadow: 0 0 0 3px rgba(232, 84, 44, 0.14);
}

:is(#page-orders, #page-cancel-orders, #page-byref) .ref-admin-search-row .rsp-btn {
  min-width: 108px;
  min-height: 48px;
  padding-inline: 22px;
  transition: background 180ms ease, transform 180ms ease;
}

:is(#page-orders, #page-cancel-orders, #page-byref) .ref-admin-search-row .rsp-btn:hover {
  background: #1e293b;
  transform: translateY(-1px);
}

:is(#page-orders, #page-cancel-orders) .ref-admin-secondary-btn {
  width: auto;
  min-width: 220px;
  min-height: 44px;
  margin-top: 10px;
  padding: 11px 16px;
}

#page-orders .ref-admin-filter-toggle {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 16px;
  color: #0f1729;
  font-size: 0.9rem;
  font-weight: 600;
  cursor: pointer;
}

#page-orders .ref-admin-filter-toggle input {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
  margin: 0;
  accent-color: var(--orange);
  cursor: pointer;
}

:is(#page-orders, #page-cancel-orders, #page-byref, #page-reviews) .ref-admin-list {
  display: grid;
  gap: 12px;
  margin-top: 24px;
}

:is(#page-orders, #page-byref) .ref-admin-list > .mg-order-card,
#page-cancel-orders .ref-admin-list > .cx-order-card {
  min-height: 78px;
  padding: 16px 18px !important;
  border: 1.5px solid #d2d7df !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: none;
  transition: border-color 180ms ease, background 180ms ease, transform 180ms ease;
}

:is(#page-orders, #page-byref) .ref-admin-list > .mg-order-card:hover,
#page-cancel-orders .ref-admin-list > .cx-order-card:hover {
  border-color: #aeb7c5 !important;
  background: #fbfaf7 !important;
  transform: translateY(-1px);
}

:is(#page-orders, #page-byref) .ref-admin-list > .mg-order-card:focus-visible,
#page-cancel-orders .ref-admin-list > .cx-order-card:focus-within {
  border-color: var(--orange) !important;
  outline: 3px solid rgba(232, 84, 44, 0.15);
  outline-offset: 2px;
}

#page-orders .mg-editor-wrap {
  padding: 26px;
  border-radius: 18px !important;
}

#page-orders .mg-item-header,
#page-orders .mg-item-row {
  grid-template-columns: minmax(240px, 2.2fr) minmax(120px, 1fr) 105px 84px 40px;
  gap: 10px;
}

#page-orders #mgRefNameSelect,
#page-orders #mgRefNameNew {
  width: 100%;
  min-height: 46px;
  padding: 11px 13px;
  border: 1.5px solid #aeb7c5;
  border-radius: 9px;
  background: #fff;
  font-family: var(--font-body);
  font-size: 0.94rem;
}

#page-orders #mgRefNameSelect:focus,
#page-orders #mgRefNameNew:focus {
  border-color: var(--orange);
  outline: 0;
  box-shadow: 0 0 0 3px rgba(232, 84, 44, 0.14);
}

#page-byref .ref-admin-ref-toolbar {
  max-width: 760px;
}

#page-byref .ref-admin-ref-toolbar > label {
  display: block;
  margin: 0 0 7px;
  color: #4f5969;
  font-family: var(--font-mono);
  font-size: 0.69rem;
  font-weight: 700;
  letter-spacing: 0.75px;
  line-height: 1.35;
  text-transform: uppercase;
}

#page-reviews .ref-admin-tabs {
  display: inline-flex;
  gap: 8px;
  width: auto;
  margin-top: 28px;
  padding: 5px;
  border: 1px solid #d5dae2;
  border-radius: 12px;
  background: #f7f6f2;
}

#page-reviews .ref-admin-tabs .rsp-btn {
  min-width: 132px;
  min-height: 42px;
  padding: 10px 18px;
  border-radius: 8px;
  transition: background 180ms ease, color 180ms ease, transform 180ms ease;
}

#page-reviews .ref-admin-tabs .rsp-btn:hover {
  transform: translateY(-1px);
}

#page-reviews .ref-review-list > div {
  padding: 20px 22px !important;
  border: 1.5px solid #d2d7df !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: none;
}

#page-reviews .ref-review-list > div > p {
  max-width: 70ch;
  font-size: 0.94rem !important;
  line-height: 1.6 !important;
}

#page-reviews .ref-review-list > div > div:last-child {
  display: flex !important;
  flex-wrap: wrap;
  gap: 10px !important;
}

#page-reviews .ref-review-list > div > div:last-child .rsp-btn {
  min-height: 42px;
  padding: 10px 16px;
}

@media (max-width: 900px) {
  :is(#page-orders, #page-cancel-orders, #page-byref, #page-reviews) .ref-admin-page-shell {
    padding-top: 42px;
    padding-bottom: 92px;
  }

  :is(#page-orders, #page-cancel-orders, #page-byref, #page-reviews) .ref-admin-intro h1 {
    font-size: clamp(1.8rem, 8vw, 2.2rem);
  }

  :is(#page-orders, #page-cancel-orders, #page-byref, #page-reviews) .ref-admin-intro p {
    max-width: 40rem;
    font-size: 0.94rem;
    line-height: 1.6;
  }
}

@media (max-width: 640px) {
  :is(#page-orders, #page-cancel-orders, #page-byref, #page-reviews) .ref-admin-page-shell {
    padding-right: 18px;
    padding-left: 18px;
  }

  :is(#page-orders, #page-cancel-orders, #page-byref, #page-reviews) .ref-admin-intro .tag-pill {
    margin-bottom: 14px;
  }

  :is(#page-orders, #page-cancel-orders, #page-byref) .ref-admin-toolbar,
  #page-reviews .ref-admin-tabs {
    margin-top: 22px;
  }

  :is(#page-orders, #page-cancel-orders, #page-byref) .ref-admin-search-row {
    flex-direction: column;
    align-items: stretch;
  }

  :is(#page-orders, #page-cancel-orders, #page-byref) .ref-admin-search-row input,
  :is(#page-orders, #page-cancel-orders, #page-byref) .ref-admin-search-row select {
    width: 100%;
    font-size: 16px;
  }

  :is(#page-orders, #page-cancel-orders, #page-byref) .ref-admin-search-row .rsp-btn,
  :is(#page-orders, #page-cancel-orders) .ref-admin-secondary-btn {
    width: 100%;
    min-width: 0;
  }

  #page-orders .ref-admin-filter-toggle {
    min-height: 44px;
    margin-top: 12px;
  }

  :is(#page-orders, #page-cancel-orders, #page-byref, #page-reviews) .ref-admin-list {
    margin-top: 18px;
  }

  :is(#page-orders, #page-byref) .ref-admin-list > .mg-order-card,
  #page-cancel-orders .ref-admin-list > .cx-order-card {
    min-height: 84px;
    padding: 15px !important;
  }

  #page-byref .ref-admin-list > .mg-order-card > div:first-child {
    display: grid !important;
    gap: 6px !important;
  }

  #page-orders .mg-editor-wrap {
    width: 100%;
    padding: 18px;
  }

  #page-orders .mg-item-row {
    grid-template-columns: 1fr 1fr;
  }

  #page-orders #mgRefNameSelect,
  #page-orders #mgRefNameNew {
    font-size: 16px;
  }

  #page-reviews .ref-admin-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }

  #page-reviews .ref-admin-tabs .rsp-btn {
    width: 100%;
    min-width: 0;
  }

  #page-reviews .ref-review-list > div {
    padding: 17px !important;
  }

  #page-reviews .ref-review-list > div > div:last-child {
    display: grid !important;
    grid-template-columns: 1fr;
  }

  #page-reviews .ref-review-list > div > div:last-child .rsp-btn {
    width: 100%;
  }
}
.google-auth-host{width:100%;min-height:44px;display:flex;justify-content:center;align-items:center;overflow:hidden}.google-auth-host>div,.google-auth-host iframe{max-width:100%!important}.google-auth-host.is-loading{opacity:.65;pointer-events:none}

/* LTG checkout login icon v12 */
.checkout-login-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;}
.checkout-login-btn .checkout-lock-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;flex:0 0 18px;color:#fff;}
.checkout-login-btn .checkout-lock-icon svg{display:block;width:18px;height:18px;}
