: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:100vh;background:var(--navy-deep);color:#fff;display:flex;align-items:center;padding-top:90px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.15fr 0.85fr;gap:50px;align-items:center;width:100%;max-width:1180px;margin:0 auto;padding:70px 32px 90px;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.4rem,4.6vw,3.6rem);line-height:1.06;letter-spacing:-.5px;margin-bottom:22px}.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:34px;margin-top:52px;flex-wrap:wrap}.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:320px;padding-bottom:34px}.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:scale(.94) translateY(10px);transition:opacity .7s ease,transform .7s ease;pointer-events:none}.bag-slide.is-active{opacity:1;transform:scale(1) translateY(0);pointer-events:auto}.bag-dots{position:absolute;left:50%;bottom:-34px;transform:translateX(-50%);display:flex;gap:10px;z-index:3}.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)}.float-chip{position:absolute;background:#fff;color:var(--navy);border-radius:10px;padding:10px 16px;font-size:.75rem;font-weight:700;box-shadow:0 14px 30px rgba(0,0,0,.25);display:flex;align-items:center;gap:8px;animation:floaty 4.5s ease-in-out infinite}.float-chip.c1{top:8%;left:-6%;animation-delay:0s}.float-chip.c2{bottom:10%;right:-8%;animation-delay:1.4s}.float-chip.c3{top:45%;right:-10%;animation-delay:.7s;cursor:pointer;border:none;text-align:left;font-family:var(--font-body)}@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}}.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;
}
.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.35s ease;
  filter: brightness(0.9);
  cursor: pointer;
}
.facility-panel:hover .fp-img-wrap img {
  filter: brightness(1.02);
}
.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; }
}

/* ===== 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.55s ease, transform 0.4s ease;
  will-change: transform, opacity;
}
#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: 20 !important;
  position: absolute;
}
.float-chip.c1,
.float-chip.c2,
.float-chip.c3 {
  z-index: 20 !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: transparent !important;
  color: var(--orange) !important;
  border: 1px solid rgba(232, 84, 44, 0.55) !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: 36px 18px 56px !important;
  }
  .hero-visual {
    order: -1;
    margin-bottom: 8px;
  }
  .hero-visual .bagwrap {
    max-width: 220px !important;
    margin: 0 auto;
  }
  .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;
  }
  .float-chip {
    display: none !important; /* chips collide on narrow screens */
  }

  /* 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%;
  }
}

@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-visual .bagwrap {
    max-width: 180px !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;
    transform: none !important;
    position: relative !important;
    width: 100% !important;
  }
  .facility-panel .fp-img-wrap,
  .facility-panel .fp-img-wrap img {
    transform: none !important;
  }
  .facility-strip-grid .facility-panel:nth-child(n) {
    transform: none !important;
  }
}


/* ===== 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%;
  filter: blur(80px);
  opacity: 0.55;
}
.hero-glow-a {
  width: min(620px, 70vw);
  height: min(620px, 70vw);
  top: -12%;
  right: -8%;
  background: radial-gradient(circle, rgba(232, 84, 44, 0.28) 0%, rgba(245, 166, 35, 0.12) 40%, transparent 70%);
}
.hero-glow-b {
  width: min(480px, 55vw);
  height: min(480px, 55vw);
  bottom: -18%;
  left: -10%;
  background: radial-gradient(circle, rgba(46, 111, 232, 0.16) 0%, transparent 70%);
}
.hero-grid-lines {
  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.7;
}
.hero-grid {
  position: relative;
  z-index: 2;
}
.hero .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: 22px;
}
.hero .eyebrow::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--orange);
  box-shadow: 0 0 10px rgba(232, 84, 44, 0.7);
}
.hero h1 {
  letter-spacing: -0.035em;
  line-height: 1.05;
  text-shadow: 0 12px 40px rgba(0,0,0,0.25);
}
.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: #b8c0cc !important;
  max-width: 34rem;
  font-size: 1.05rem;
  line-height: 1.65;
}
.hero-actions {
  margin-top: 28px;
}
.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.6px;
}
.hero-visual {
  position: relative;
}
.hero-stage-glow {
  position: absolute;
  width: 78%;
  height: 40%;
  left: 11%;
  bottom: 6%;
  background: radial-gradient(ellipse at center, rgba(232, 84, 44, 0.35) 0%, rgba(245, 166, 35, 0.12) 45%, transparent 72%);
  filter: blur(28px);
  pointer-events: none;
  z-index: 0;
}
.hero-visual .bagwrap {
  position: relative;
  z-index: 1;
}
.hero-visual .bag-slide {
  filter: drop-shadow(0 28px 50px rgba(0,0,0,0.45)) drop-shadow(0 0 40px rgba(232, 84, 44, 0.12));
}
.hero-visual .float-chip {
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  background: rgba(255,255,255,0.94) !important;
  border: 1px solid rgba(255,255,255,0.7);
  box-shadow: 0 12px 32px rgba(0,0,0,0.18);
  font-weight: 600;
}
@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-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 {
    transform: none !important;
  }
}
