:root{--ink:#101820;--muted:#5c6872;--blue:#0aa8e8;--blue2:#0078a8;--pale:#eef7fb;--line:#dbe3e8;--white:#fff;--max:1180px;--radius:22px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:#f7f9fa;line-height:1.6}a{color:inherit}.section-shell{width:min(var(--max),calc(100% - 40px));margin-inline:auto}.site-header{height:82px;display:flex;align-items:center;justify-content:space-between;width:min(var(--max),calc(100% - 40px));margin:auto}.brand img{display:block;width:250px;max-height:70px;object-fit:contain}.site-header nav{display:flex;gap:26px}.site-header nav a{text-decoration:none;font-size:.92rem;font-weight:700;color:#33424d}.hero{min-height:650px;display:grid;grid-template-columns:1.12fr .88fr;gap:65px;align-items:center;padding:68px 0 90px}.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-size:.72rem;font-weight:850;color:var(--blue2)}h1,h2,h3{line-height:1.08;margin:0}h1{font-size:clamp(3rem,6vw,6.3rem);letter-spacing:-.065em;margin:18px 0 24px}h1 span{color:var(--blue2)}h2{font-size:clamp(2rem,4vw,3.8rem);letter-spacing:-.045em;margin:14px 0 22px}.hero-copy>p{font-size:1.18rem;max-width:680px;color:var(--muted)}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:32px 0}.button{display:inline-flex;justify-content:center;align-items:center;min-height:50px;padding:0 22px;border-radius:12px;border:1px solid transparent;text-decoration:none;font-weight:800;cursor:pointer;font:inherit}.primary{background:var(--ink);color:#fff}.primary:hover{background:#1e303d}.secondary{background:#fff;border-color:var(--line);color:var(--ink)}.trust-row{display:flex;flex-wrap:wrap;gap:18px;color:#52616b;font-size:.88rem;font-weight:750}.trust-row span:before{content:'✓';color:var(--blue2);margin-right:7px}.hero-art{display:grid;place-items:center}.printer-card{position:relative;width:min(100%,460px);aspect-ratio:1/1;border-radius:42px;background:linear-gradient(145deg,#101820,#1c303f);box-shadow:0 35px 80px #1018202b;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;padding:44px;color:#fff}.printer-card:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 38%,#0aa8e84a,transparent 40%)}.printer-card p{z-index:3;text-align:center;font-weight:750;margin:28px 0 0}.nozzle{position:absolute;top:80px;width:78px;height:70px;background:#d9e3e9;clip-path:polygon(18% 0,82% 0,82% 45%,58% 45%,50% 100%,42% 45%,18% 45%);z-index:2}.print-layer{position:absolute;left:50%;transform:translateX(-50%) rotate(30deg) skewX(-30deg);width:170px;height:170px;border:14px solid var(--blue);border-radius:7px;box-shadow:0 0 28px #0aa8e855}.l1{top:175px}.l2{top:200px;opacity:.82}.l3{top:225px;opacity:.58}.l4{top:250px;opacity:.35}.intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;padding:90px 0;border-top:1px solid var(--line)}.intro p{font-size:1.18rem;color:var(--muted);margin:0}.section-block{padding:100px 0}.card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:42px}.product-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px;min-height:330px;display:flex;flex-direction:column}.product-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--pale);font-weight:900;color:var(--blue2);margin-bottom:36px}.product-card h3{font-size:1.35rem;margin-bottom:16px}.product-card p{color:var(--muted)}.product-card span{margin-top:auto;font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:var(--blue2)}.feature-band{background:var(--ink);color:#fff;padding:100px 0}.split{display:grid;grid-template-columns:1.3fr .7fr;gap:80px;align-items:end}.split p{color:#c7d1d8;font-size:1.08rem}.light{color:#53c9fa}.text-link{color:#53c9fa;font-weight:800;text-decoration:none}.steps{list-style:none;padding:0;margin:42px 0 0;display:grid;grid-template-columns:repeat(4,1fr);counter-reset:s}.steps li{counter-increment:s;border-top:2px solid var(--line);padding:26px 22px 0 0;position:relative}.steps li:before{content:'0' counter(s);position:absolute;top:-40px;color:var(--blue2);font-weight:900}.steps strong,.steps span{display:block}.steps span{color:var(--muted);margin-top:10px}.case{padding-bottom:100px}.case-panel{background:var(--pale);border-radius:32px;padding:45px;display:grid;grid-template-columns:1fr 1fr;gap:45px}.case-panel p{color:var(--muted)}.case-placeholder{min-height:330px;border:2px dashed #aad4e5;border-radius:24px;display:grid;place-items:center;background:#fff;color:#66828f;font-weight:750}.quote-section{padding:100px 0;display:grid;grid-template-columns:.72fr 1.28fr;gap:80px}.quote-copy p{color:var(--muted);font-size:1.05rem}.whatsapp-link{display:inline-block;margin-top:12px;color:#087b58;font-weight:800}.quote-form{background:#fff;border:1px solid var(--line);border-radius:28px;padding:36px;box-shadow:0 20px 50px #13222d0d}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:block;font-size:.86rem;font-weight:750;margin-bottom:16px}input,select,textarea{width:100%;margin-top:7px;border:1px solid #cbd6dc;border-radius:10px;padding:13px 14px;background:#fbfcfd;font:inherit;color:var(--ink)}textarea{resize:vertical}.consent{display:flex;gap:10px;align-items:flex-start}.consent input{width:auto;margin-top:5px}.honeypot{position:absolute!important;left:-9999px!important}.success{background:#e6f8ef;color:#176341;border-radius:10px;padding:12px;margin-bottom:18px;font-weight:750}footer{background:#eaf0f3;padding:50px 0}.footer-inner{display:grid;grid-template-columns:220px 1fr 1fr;gap:30px;align-items:center}.footer-inner img{width:210px}.footer-inner p{color:var(--muted);margin:4px 0}.admin-body{min-height:100vh;background:#eef3f5;padding:30px}.login-card{width:min(430px,100%);margin:10vh auto;background:#fff;padding:35px;border-radius:24px;box-shadow:0 25px 65px #10202d1f}.login-card img{width:240px;display:block;margin:auto}.warning{padding:12px;background:#fff4d6;border-radius:10px}.admin-shell{width:min(1000px,100%);margin:auto}.admin-top{display:flex;justify-content:space-between;align-items:center}.admin-top h1 span{font-size:1rem;background:#dfe8ed;border-radius:999px;padding:5px 10px}.enquiry-list{display:grid;gap:16px}.enquiry-card{background:#fff;border-radius:18px;padding:26px}.enquiry-card>div{display:flex;justify-content:space-between}.enquiry-card>div span{color:var(--muted);font-size:.82rem}.enquiry-card h2{font-size:1.35rem}.enquiry-card dl{display:grid;grid-template-columns:120px 1fr}.enquiry-card dt{font-weight:800}.enquiry-card dd{margin:0}.small,small{color:var(--muted);font-weight:500}@media(max-width:900px){.site-header nav{display:none}.hero,.intro,.split,.quote-section,.case-panel{grid-template-columns:1fr}.hero{padding-top:30px;gap:30px}.hero-art{order:-1}.printer-card{max-width:370px}.card-grid,.steps{grid-template-columns:1fr 1fr}.quote-section{gap:30px}.footer-inner{grid-template-columns:1fr}.footer-inner p:last-child{margin-top:20px}}@media(max-width:580px){.section-shell,.site-header{width:min(100% - 26px,var(--max))}.site-header{height:72px}.brand img{width:205px;max-height:60px}.hero{min-height:auto;padding-bottom:65px}.hero-art{display:none}h1{font-size:3.25rem}.actions .button{width:100%}.intro,.section-block,.quote-section{padding:65px 0}.card-grid,.steps,.form-row{grid-template-columns:1fr}.product-card{min-height:260px}.feature-band{padding:65px 0}.case-panel,.quote-form{padding:24px}.quote-section{display:block}.quote-form{margin-top:30px}.footer-inner img{width:190px}.admin-body{padding:14px}.enquiry-card>div{display:block}}
/* Phase 2 catalogue and admin */
.product-card{position:relative;overflow:hidden}.featured-product{border-color:#79cdec;box-shadow:0 18px 45px #0aa8e812}.featured-product:after{content:'Featured';position:absolute;right:18px;top:18px;background:var(--ink);color:#fff;border-radius:999px;padding:5px 10px;font-size:.68rem;font-weight:850;text-transform:uppercase;letter-spacing:.1em}.product-image{width:calc(100% + 60px);height:190px;object-fit:cover;margin:-30px -30px 24px}.product-category{display:block;text-transform:uppercase;letter-spacing:.12em;color:var(--blue2);font-weight:850;margin-bottom:12px}.product-meta{margin-top:auto;display:flex;flex-direction:column;gap:4px}.product-meta strong{font-size:.95rem}.product-meta span{margin-top:0}.product-enquire{margin-top:18px;text-decoration:none;font-weight:800;color:var(--blue2);font-size:.9rem}.wide-admin{width:min(1220px,100%)}.admin-logo{width:190px;display:block}.admin-top>div h1{margin-top:8px;font-size:2rem}.admin-tabs{display:flex;gap:8px;margin:25px 0}.admin-tabs a{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 16px;text-decoration:none;font-weight:800}.admin-tabs a.active{background:var(--ink);color:#fff}.admin-tabs span{opacity:.7;margin-left:5px}.admin-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:20px}.admin-panel{background:#fff;border-radius:20px;padding:24px;border:1px solid var(--line)}.admin-panel h2{font-size:1.7rem;margin:4px 0 20px}.panel-heading{display:flex;justify-content:space-between;align-items:center}.product-admin-list{display:grid;gap:10px}.product-admin-list article{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:15px;border:1px solid var(--line);border-radius:13px}.product-admin-list article span{display:block;color:var(--muted);font-size:.82rem}.row-actions{display:flex;align-items:center;gap:10px}.row-actions a,.row-actions button{border:0;background:none;color:var(--blue2);font:inherit;font-weight:800;cursor:pointer;text-decoration:none}.row-actions button{color:#a43b3b}.check-row{display:flex;gap:24px;margin-bottom:18px}.check-row label{display:flex;align-items:center;gap:8px}.check-row input{width:auto;margin:0}@media(max-width:850px){.admin-grid{grid-template-columns:1fr}.admin-tabs{overflow-x:auto}.product-image{height:170px}}

/* Phase 2A: multi-photo product catalogue */
.product-cover-link{display:block;margin:-30px -30px 24px;overflow:hidden;background:#eef3f5}.product-cover-link .product-image{width:100%;height:190px;object-fit:cover;margin:0;display:block;transition:transform .25s ease}.product-cover-link:hover .product-image{transform:scale(1.025)}.product-gallery{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:10px 0 16px}.product-gallery a{display:block;border:1px solid var(--line);border-radius:8px;overflow:hidden;aspect-ratio:1/1;background:#eef3f5}.product-gallery img{width:100%;height:100%;object-fit:cover;display:block}.current-images{border:1px solid var(--line);background:#f8fafb;border-radius:14px;padding:14px;margin-bottom:16px}.current-images>strong{display:block;margin-bottom:2px}.image-admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}.image-admin-item{margin:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}.image-admin-item img{display:block;width:100%;height:95px;object-fit:cover}.image-admin-item span{display:flex;align-items:center;gap:6px;padding:8px;font-size:.75rem}.image-admin-item input{width:auto;margin:0}.upload-note{margin:-10px 0 16px}.product-form input[type=file]{background:#fff}.product-form input[type=file]::file-selector-button{border:0;border-radius:8px;padding:9px 12px;margin-right:10px;background:var(--ink);color:#fff;font-weight:750;cursor:pointer}@media(max-width:580px){.image-admin-grid{grid-template-columns:repeat(2,1fr)}.product-cover-link .product-image{height:180px}}

/* Phase 2B: make the currently selected catalogue product unmistakable. */
.product-admin-list article.selected-product {
  border-color: #0aa6d8;
  box-shadow: 0 0 0 3px rgba(10,166,216,.14);
  background: #f5fcff;
}
.product-admin-list article.selected-product strong::after {
  content: "  • Editing";
  color: #087da3;
  font-size: .78em;
  font-weight: 700;
}

/* Phase 2C: shorter catalogue cards and dedicated product pages */
.product-title-link{color:inherit;text-decoration:none}.product-title-link:hover{color:var(--blue2)}.product-summary{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden;margin-bottom:20px}.product-icon-link{text-decoration:none}.product-card .product-meta{margin-top:auto}.product-card .product-enquire{display:inline-flex;align-items:center}.product-detail{padding:35px 0 100px}.breadcrumbs{display:flex;flex-wrap:wrap;gap:9px;align-items:center;color:var(--muted);font-size:.88rem;margin-bottom:30px}.breadcrumbs a{text-decoration:none;font-weight:700}.product-detail-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(340px,.88fr);gap:65px;align-items:start}.detail-gallery{min-width:0}.gallery-main{display:block;width:100%;border:0;padding:0;border-radius:26px;overflow:hidden;background:#eef3f5;cursor:zoom-in;aspect-ratio:4/3}.gallery-main img{display:block;width:100%;height:100%;object-fit:cover}.gallery-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:12px}.gallery-thumb{padding:0;border:2px solid transparent;border-radius:12px;overflow:hidden;background:#eef3f5;aspect-ratio:1/1;cursor:pointer}.gallery-thumb.active{border-color:var(--blue2)}.gallery-thumb img{display:block;width:100%;height:100%;object-fit:cover}.gallery-empty{min-height:460px;border:2px dashed #aad4e5;border-radius:26px;display:grid;place-items:center;background:#fff;color:var(--muted);font-weight:750}.product-detail-copy{position:sticky;top:24px;background:#fff;border:1px solid var(--line);border-radius:26px;padding:38px}.product-detail-copy h1{font-size:clamp(2.4rem,5vw,4.8rem);letter-spacing:-.055em;margin:14px 0 18px}.detail-badge{display:inline-flex;background:var(--pale);color:var(--blue2);border-radius:999px;padding:7px 12px;font-size:.75rem;font-weight:850;text-transform:uppercase;letter-spacing:.1em}.detail-description{font-size:1.08rem;color:var(--muted);margin:24px 0}.detail-price{font-size:1.45rem;font-weight:900;margin:24px 0}.detail-actions{display:flex;flex-wrap:wrap;gap:10px}.product-note{margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}.product-note p{color:var(--muted);font-size:.88rem;margin:5px 0}.product-not-found{padding:100px 0;min-height:65vh}.product-not-found h1{font-size:clamp(3rem,7vw,6rem)}.gallery-lightbox[hidden]{display:none}.gallery-lightbox{position:fixed;inset:0;z-index:9999;background:#06111beF;display:grid;place-items:center;padding:35px}.gallery-lightbox>img{max-width:min(1200px,88vw);max-height:88vh;object-fit:contain;border-radius:12px}.lightbox-close,.lightbox-nav{position:absolute;border:0;background:#fff;color:var(--ink);width:48px;height:48px;border-radius:999px;font-size:2rem;line-height:1;cursor:pointer}.lightbox-close{right:24px;top:20px}.lightbox-prev{left:22px;top:50%;transform:translateY(-50%)}.lightbox-next{right:22px;top:50%;transform:translateY(-50%)}body.lightbox-open{overflow:hidden}@media(max-width:900px){.product-detail-grid{grid-template-columns:1fr;gap:28px}.product-detail-copy{position:static}.gallery-main{aspect-ratio:16/11}}@media(max-width:580px){.product-card .product-summary{-webkit-line-clamp:3}.product-detail{padding-top:20px}.product-detail-copy{padding:24px}.product-detail-copy h1{font-size:2.5rem}.gallery-thumbs{grid-template-columns:repeat(5,74px);overflow-x:auto}.gallery-main{aspect-ratio:1/1}.gallery-lightbox{padding:15px}.lightbox-nav{width:40px;height:40px}.lightbox-prev{left:8px}.lightbox-next{right:8px}.lightbox-close{right:10px;top:10px}}

/* Phase 2D: reliable product gallery navigation */
.gallery-stage{position:relative}.gallery-stage-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:44px;height:44px;border:0;border-radius:999px;background:rgba(255,255,255,.94);color:var(--ink);font-size:2rem;line-height:1;box-shadow:0 8px 24px rgba(16,24,32,.18);cursor:pointer}.gallery-stage-prev{left:14px}.gallery-stage-next{right:14px}.gallery-counter,.lightbox-counter{position:absolute;z-index:3;padding:7px 11px;border-radius:999px;background:rgba(6,17,27,.78);color:#fff;font-weight:800;font-size:.78rem;letter-spacing:.04em}.gallery-counter{right:14px;bottom:14px}.lightbox-counter{left:50%;bottom:18px;transform:translateX(-50%)}.gallery-thumb[aria-current="true"]{border-color:var(--blue2);box-shadow:0 0 0 2px rgba(0,132,180,.12)}.gallery-stage-nav:focus-visible,.lightbox-nav:focus-visible,.lightbox-close:focus-visible,.gallery-thumb:focus-visible{outline:3px solid var(--blue2);outline-offset:3px}@media(max-width:580px){.gallery-stage-nav{width:38px;height:38px;font-size:1.65rem}.gallery-stage-prev{left:8px}.gallery-stage-next{right:8px}.gallery-counter{right:8px;bottom:8px}}

/* Phase 2E: mobile lightbox controls */
.gallery-lightbox{display:flex;align-items:center;justify-content:center;padding:18px;overflow:hidden}
.gallery-lightbox[hidden]{display:none!important}
.lightbox-frame{position:relative;display:flex;align-items:center;justify-content:center;width:min(1200px,100%);height:min(88vh,900px)}
.gallery-lightbox .lightbox-frame>img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:14px}
.gallery-lightbox .lightbox-nav{display:grid!important;place-items:center;z-index:10002;top:50%;width:52px;height:52px;background:#fff;color:#07121d;box-shadow:0 8px 30px rgba(0,0,0,.35);font-size:2.4rem;font-weight:900}
.gallery-lightbox .lightbox-prev{left:14px}
.gallery-lightbox .lightbox-next{right:14px}
.gallery-lightbox .lightbox-close{z-index:10003;right:8px;top:8px;width:52px;height:52px;display:grid;place-items:center;box-shadow:0 8px 30px rgba(0,0,0,.35)}
.gallery-lightbox .lightbox-counter{z-index:10003;left:50%;bottom:10px;transform:translateX(-50%)}
.gallery-lightbox.single-photo .lightbox-nav,.gallery-lightbox.single-photo .lightbox-counter{display:none!important}
@media(max-width:580px){
 .gallery-lightbox{padding:8px}
 .lightbox-frame{width:100%;height:calc(100dvh - 80px)}
 .gallery-lightbox .lightbox-frame>img{max-width:calc(100% - 12px);max-height:calc(100% - 80px)}
 .gallery-lightbox .lightbox-nav{width:46px;height:46px;font-size:2rem;top:auto;bottom:18px;transform:none}
 .gallery-lightbox .lightbox-prev{left:20px}
 .gallery-lightbox .lightbox-next{right:20px}
 .gallery-lightbox .lightbox-counter{bottom:28px}
 .gallery-lightbox .lightbox-close{position:fixed;right:14px;top:14px;width:50px;height:50px}
}

/* Phase 2F: recovered gallery files and always-visible controls */
.gallery-photo-count{display:inline-flex;margin:0 0 10px;padding:7px 11px;border-radius:999px;background:#eef6f9;color:var(--blue2);font-size:.78rem;font-weight:850;letter-spacing:.04em}
.gallery-lightbox .lightbox-frame{isolation:isolate}
.gallery-lightbox .lightbox-frame>img{position:relative;z-index:1}
.gallery-lightbox .lightbox-nav{position:absolute!important;z-index:20!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important}
.gallery-lightbox .lightbox-prev{left:18px!important;top:50%!important;bottom:auto!important;transform:translateY(-50%)!important}
.gallery-lightbox .lightbox-next{right:18px!important;top:50%!important;bottom:auto!important;transform:translateY(-50%)!important}
.gallery-lightbox .lightbox-counter{z-index:21!important}
.gallery-lightbox.single-photo .lightbox-nav,.gallery-lightbox.single-photo .lightbox-counter{display:none!important}
@media(max-width:580px){
 .gallery-lightbox .lightbox-prev{left:12px!important;top:auto!important;bottom:18px!important;transform:none!important}
 .gallery-lightbox .lightbox-next{right:12px!important;top:auto!important;bottom:18px!important;transform:none!important}
 .gallery-lightbox .lightbox-counter{bottom:28px!important}
}

/* Phase 2G */
.product-category a{color:inherit;text-decoration:none}.product-category a:hover{text-decoration:underline}.product-specs{display:grid;gap:0;border:1px solid #d9e2e8;border-radius:18px;overflow:hidden;margin:1.5rem 0}.product-specs div{display:grid;grid-template-columns:minmax(130px,.7fr) 1.3fr;gap:1rem;padding:1rem 1.1rem;border-bottom:1px solid #e6ecef}.product-specs div:last-child{border-bottom:0}.product-specs dt{font-weight:800;color:#31465a}.product-specs dd{margin:0}.share-panel{margin-top:1.5rem;padding:1.25rem;border:1px solid #d9e2e8;border-radius:20px;background:#f7fafb}.share-panel>strong{display:block;margin-bottom:.8rem}.share-actions{display:flex;gap:.7rem;flex-wrap:wrap;align-items:center}.share-actions .button{padding:.72rem 1rem}.product-qr{display:flex;align-items:center;gap:1rem;margin-top:1rem}.product-qr img{width:110px;height:110px;border-radius:12px;background:#fff;padding:6px;border:1px solid #dbe4e8}.category-hero{padding-top:3rem;padding-bottom:2rem}.category-hero h1{font-size:clamp(2.5rem,6vw,5rem);margin:.4rem 0}.category-hero p{max-width:760px}.category-count{font-weight:800;color:#0077a8;margin-top:1rem}.product-form textarea[name="included"],.product-form textarea[name="notes"]{min-height:90px}@media(max-width:700px){.product-specs div{grid-template-columns:1fr;gap:.3rem}.product-qr{align-items:flex-start}.share-actions .button{width:auto;flex:1 1 130px;text-align:center}}

/* Phase 2G.2 — Compact mobile product typography */
@media (max-width:580px){
  .product-detail-copy{padding:21px 20px;border-radius:22px}
  .product-detail-copy h1{font-size:2.05rem;line-height:1.04;letter-spacing:-.045em;margin:11px 0 14px}
  .product-detail-copy .eyebrow,.product-category{font-size:.66rem;letter-spacing:.14em}
  .detail-badge{font-size:.68rem;line-height:1.3;padding:6px 10px;letter-spacing:.08em}
  .detail-description{font-size:.96rem;line-height:1.55;margin:18px 0}
  .detail-price{font-size:1.25rem;margin:18px 0}
  .product-specs{margin:1.1rem 0;border-radius:15px}
  .product-specs div{padding:.78rem .9rem;gap:.2rem}
  .product-specs dt{font-size:.82rem}
  .product-specs dd{font-size:.9rem;line-height:1.45}
  .share-panel{margin-top:1.1rem;padding:1rem;border-radius:16px}
  .share-panel>strong{font-size:.92rem}
  .share-actions .button{font-size:.86rem;min-height:44px;padding:.6rem .8rem}
  .product-note{margin-top:20px;padding-top:16px}
  .product-note p{font-size:.8rem;line-height:1.45}
  .breadcrumbs{font-size:.78rem;margin-bottom:20px}
}

/* Phase 2G.3 — enforced compact mobile product typography + cache refresh */
@media (max-width: 700px) {
  body .product-detail-copy {
    padding: 18px 17px !important;
    border-radius: 20px !important;
  }
  body .product-detail-copy h1 {
    font-size: 1.72rem !important;
    line-height: 1.06 !important;
    letter-spacing: -0.035em !important;
    margin: 9px 0 12px !important;
  }
  body .product-detail-copy .eyebrow,
  body .product-detail-copy .product-category {
    font-size: .61rem !important;
    line-height: 1.35 !important;
    letter-spacing: .13em !important;
  }
  body .product-detail-copy .detail-badge {
    font-size: .61rem !important;
    line-height: 1.25 !important;
    padding: 6px 9px !important;
    letter-spacing: .07em !important;
  }
  body .product-detail-copy .detail-description {
    font-size: .88rem !important;
    line-height: 1.48 !important;
    margin: 15px 0 !important;
  }
  body .product-detail-copy .detail-price {
    font-size: 1.12rem !important;
    margin: 15px 0 !important;
  }
  body .product-detail-copy .product-specs {
    margin: .9rem 0 !important;
  }
  body .product-detail-copy .product-specs div {
    padding: .68rem .78rem !important;
  }
  body .product-detail-copy .product-specs dt {
    font-size: .76rem !important;
  }
  body .product-detail-copy .product-specs dd {
    font-size: .83rem !important;
    line-height: 1.4 !important;
  }
  body .product-detail-copy .share-panel {
    padding: .9rem !important;
    margin-top: 1rem !important;
  }
  body .product-detail-copy .share-actions .button,
  body .product-detail-copy .detail-actions .button {
    min-height: 43px !important;
    padding: 0 14px !important;
    font-size: .82rem !important;
  }
  body .product-detail-copy .product-note {
    margin-top: 16px !important;
    padding-top: 13px !important;
  }
  body .product-detail-copy .product-note p {
    font-size: .75rem !important;
    line-height: 1.4 !important;
  }
}
/* Phase 3 shop catalogue and enquiry basket */
.shop-toolbar{display:grid;grid-template-columns:1fr 260px auto;gap:12px;margin:22px 0}.shop-toolbar input,.shop-toolbar select,.basket-form input,.basket-form select,.basket-form textarea,.product-buy-box input{width:100%;border:1px solid #cedae0;border-radius:14px;padding:13px;background:#fff;font:inherit}.shop-card-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.shop-card-actions .button{font-size:.85rem;padding:10px 14px}.basket-toggle,.floating-basket{border:0;border-radius:999px;background:#101820;color:#fff;padding:10px 16px;font-weight:800}.basket-toggle span,.floating-basket span{background:#00a9e0;color:#fff;border-radius:999px;padding:2px 7px}.floating-basket{position:fixed;right:18px;bottom:18px;z-index:40;box-shadow:0 10px 30px #0004}.basket-backdrop{position:fixed;inset:0;background:#07131dcc;z-index:80;opacity:0;transition:.2s}.basket-backdrop.open{opacity:1}.basket-drawer{position:fixed;z-index:81;top:0;right:0;width:min(480px,100%);height:100dvh;background:#f7fafb;transform:translateX(105%);transition:.25s;overflow:auto;padding:24px;box-shadow:-20px 0 50px #0003}.basket-drawer.open{transform:none}.basket-head{display:flex;justify-content:space-between;gap:20px;align-items:start}.basket-head h2{margin:4px 0 18px}.basket-head>button{font-size:2rem;border:0;background:transparent}.basket-items{display:grid;gap:10px}.basket-item{display:grid;grid-template-columns:64px 1fr auto;gap:12px;background:#fff;border:1px solid #d8e2e7;border-radius:16px;padding:10px}.basket-item img{width:64px;height:64px;object-fit:cover;border-radius:10px}.basket-item div{display:grid;gap:3px}.basket-item label{font-size:.8rem}.basket-item input{width:65px}.basket-item>button{border:0;background:none;color:#a42d2d}.basket-form{display:grid;gap:12px;margin-top:20px}.basket-form label{display:grid;gap:5px;font-weight:700}.product-buy-box{display:grid;grid-template-columns:120px 1fr;gap:12px;margin:14px 0}.product-buy-box label{display:grid;gap:5px;font-weight:700}.product-card[hidden]{display:none!important}
@media(max-width:700px){.shop-toolbar{grid-template-columns:1fr}.shop-card-actions{display:grid;grid-template-columns:1fr 1fr}.basket-drawer{padding:18px}.product-buy-box{grid-template-columns:100px 1fr}.site-header nav .basket-toggle{display:inline-flex}}

/* Phase 3A — compact shop and mobile layout */
.section-block{padding-top:78px;padding-bottom:78px}
.card-grid{margin-top:30px;gap:14px}
.product-card{padding:24px;min-height:300px;border-radius:18px}
.product-image{width:calc(100% + 48px);height:170px;margin:-24px -24px 20px}
.product-card h3{font-size:1.22rem;margin-bottom:10px}
.product-card p{font-size:.94rem;line-height:1.5;margin-top:6px;margin-bottom:14px}
.product-category{font-size:.68rem;margin-bottom:8px}
.product-meta strong{font-size:.9rem}
.product-enquire{margin-top:12px;font-size:.84rem}
.shop-toolbar{margin:16px 0 24px}
.shop-toolbar input,.shop-toolbar select{padding:11px 12px}
.shop-card-actions{gap:8px;margin-top:12px}
.shop-card-actions .button{min-height:43px;padding:8px 12px}
.basket-drawer{padding:20px}
.basket-head h2{font-size:1.65rem;margin-bottom:12px}
.basket-form{gap:9px;margin-top:14px}
.basket-form label{margin-bottom:5px;font-size:.8rem}
.basket-form input,.basket-form select,.basket-form textarea{padding:10px 11px;margin-top:3px}
.product-buy-box{margin:10px 0;gap:9px}

@media(max-width:700px){
 body{font-size:14px;line-height:1.48}
 .section-shell,.site-header{width:min(100% - 22px,var(--max))}
 .site-header{height:62px}
 .brand img{width:178px;max-height:50px}
 .section-block{padding:42px 0}
 .category-hero{padding-top:24px;padding-bottom:14px}
 .category-hero h1{font-size:2rem;line-height:1.05;margin:7px 0 10px}
 .category-hero p{font-size:.9rem;line-height:1.45;margin:0 0 10px}
 .category-count{font-size:.8rem;margin-top:8px}
 h2{font-size:1.72rem;margin:8px 0 13px}
 .eyebrow{font-size:.62rem;letter-spacing:.14em}
 .shop-toolbar{gap:8px;margin:12px 0 18px}
 .shop-toolbar input,.shop-toolbar select{font-size:.88rem;padding:10px 11px;border-radius:11px;margin-top:0}
 .shop-toolbar .button{min-height:42px;font-size:.83rem;padding:0 13px}
 .card-grid{gap:11px;margin-top:20px}
 .product-card{padding:16px;min-height:0;border-radius:16px}
 .product-image{width:calc(100% + 32px);height:155px;margin:-16px -16px 14px}
 .product-category{font-size:.59rem;letter-spacing:.11em;margin-bottom:6px}
 .product-card h3{font-size:1.05rem;line-height:1.12;margin-bottom:7px}
 .product-card p,.product-summary{font-size:.82rem;line-height:1.42;margin:4px 0 10px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
 .product-meta{gap:1px}
 .product-meta strong{font-size:.84rem}
 .product-meta span{font-size:.61rem}
 .product-enquire{font-size:.78rem;margin-top:9px}
 .shop-card-actions{grid-template-columns:1fr 1fr;gap:7px;margin-top:9px}
 .shop-card-actions .button,.shop-card-actions .product-enquire{min-height:39px;font-size:.73rem;padding:6px 8px;margin-top:0;display:flex;align-items:center;justify-content:center;text-align:center}
 .floating-basket{right:12px;bottom:12px;padding:8px 12px;font-size:.78rem}
 .basket-drawer{padding:13px}
 .basket-head small{font-size:.62rem}
 .basket-head h2{font-size:1.35rem;margin:2px 0 9px}
 .basket-head>button{font-size:1.65rem;padding:0 5px}
 .basket-items{gap:7px}
 .basket-item{grid-template-columns:52px 1fr auto;gap:8px;padding:8px;border-radius:12px}
 .basket-item img{width:52px;height:52px;border-radius:8px}
 .basket-item strong{font-size:.8rem;line-height:1.25}
 .basket-item small,.basket-item label{font-size:.68rem}
 .basket-item input{width:54px;padding:7px}
 .basket-form{gap:6px;margin-top:11px}
 .basket-form label{font-size:.72rem;margin-bottom:2px;gap:2px}
 .basket-form input,.basket-form select,.basket-form textarea{font-size:.82rem;padding:8px 9px;border-radius:9px;margin-top:2px}
 .basket-form textarea{min-height:64px}
 .basket-form .button{min-height:40px;font-size:.78rem}
 .product-buy-box{grid-template-columns:82px 1fr;gap:7px;margin:8px 0}
 .product-buy-box label{font-size:.72rem;gap:2px}
 .product-buy-box input{font-size:.82rem;padding:8px 9px;border-radius:9px}
 .share-panel{padding:.75rem!important;margin-top:.75rem!important}
 .share-actions{gap:.45rem}
 .share-actions .button{min-height:38px!important;font-size:.74rem!important;padding:0 9px!important}
 .product-specs div{padding:.58rem .7rem!important}
 .product-specs dt{font-size:.7rem!important}
 .product-specs dd{font-size:.77rem!important}
 footer{padding:30px 0}
 .footer-inner{gap:14px}
 .footer-inner img{width:155px}
 .footer-inner p,.footer-inner strong{font-size:.78rem}
}

/* Phase 3B: 3D-print inspired responsive navigation */
.site-header{position:relative;z-index:200;height:92px}
.brand{display:inline-flex;align-items:center;flex:0 0 auto}
.brand img{width:282px;max-height:78px}
.primary-menu{align-items:center}
.print-menu-toggle{display:none;align-items:center;gap:10px;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:14px;min-height:48px;padding:7px 13px 7px 10px;font:inherit;font-size:.78rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;box-shadow:0 8px 20px rgba(16,24,32,.08)}
.print-menu-icon{position:relative;width:31px;height:31px;display:block}
.print-menu-icon i{position:absolute;left:5px;width:21px;height:7px;border:2px solid var(--ink);border-radius:2px;transform:skewY(-18deg);background:#fff;transition:transform .22s ease,opacity .18s ease,top .22s ease}
.print-menu-icon i:nth-child(1){top:4px;border-color:var(--blue2);background:#dff5fd}
.print-menu-icon i:nth-child(2){top:11px}
.print-menu-icon i:nth-child(3){top:18px}
.print-menu-icon b{position:absolute;top:0;left:12px;width:8px;height:7px;background:var(--ink);clip-path:polygon(0 0,100% 0,75% 65%,58% 65%,50% 100%,42% 65%,25% 65%)}
.print-menu-toggle[aria-expanded="true"] .print-menu-icon i:nth-child(1){top:12px;transform:rotate(45deg);border-color:var(--ink);background:#fff}
.print-menu-toggle[aria-expanded="true"] .print-menu-icon i:nth-child(2){opacity:0}
.print-menu-toggle[aria-expanded="true"] .print-menu-icon i:nth-child(3){top:12px;transform:rotate(-45deg)}
.print-menu-toggle[aria-expanded="true"] .print-menu-icon b{opacity:0}

@media(max-width:900px){
 .site-header{height:78px;width:min(var(--max),calc(100% - 28px));background:#f7f9fa}
 .brand img{width:236px;max-height:68px}
 .print-menu-toggle{display:inline-flex}
 .site-header .primary-menu{display:none;position:absolute;top:calc(100% - 2px);left:0;right:0;flex-direction:column;align-items:stretch;gap:5px;background:#101820;color:#fff;border-radius:18px;padding:12px;box-shadow:0 24px 55px rgba(16,24,32,.25)}
 .site-header .primary-menu.is-open{display:flex}
 .site-header .primary-menu a,.site-header .primary-menu .basket-toggle{display:flex;align-items:center;justify-content:space-between;min-height:46px;padding:10px 14px;border-radius:11px;color:#fff;text-decoration:none;font-size:.9rem;font-weight:780;background:transparent;border:0;text-align:left}
 .site-header .primary-menu a:hover,.site-header .primary-menu a:focus-visible,.site-header .primary-menu .basket-toggle:hover{background:#1b2a35;color:#55cdfb}
 .site-header .primary-menu a:after{content:'›';font-size:1.35rem;color:#55cdfb}
 body.menu-open{overflow:hidden}
 body.menu-open:before{content:'';position:fixed;inset:78px 0 0;background:rgba(6,17,27,.42);z-index:150}
}
@media(max-width:580px){
 .site-header{height:70px;width:min(100% - 20px,var(--max))}
 .brand img{width:218px;max-height:62px}
 .print-menu-toggle{min-height:44px;padding:5px 9px;border-radius:12px}
 .menu-label{display:none}
 .site-header .primary-menu{border-radius:15px}
 body.menu-open:before{inset:70px 0 0}
}
@media(max-width:390px){.brand img{width:194px}.print-menu-icon{width:29px}.print-menu-toggle{padding-inline:7px}}

/* Phase 3C: cumulative header/logo reconciliation */
.site-header{min-height:76px;height:auto;padding-block:8px}
.brand img{display:block;width:238px;max-width:46vw;max-height:64px;object-fit:contain}
@media(max-width:900px){
 .site-header{min-height:68px;padding-block:6px}
 .brand img{width:190px;max-width:58vw;max-height:54px}
}
@media(max-width:580px){
 .site-header{min-height:62px;padding-block:5px}
 .brand img{width:172px;max-width:62vw;max-height:48px}
 .print-menu-toggle{flex:0 0 auto}
}
@media(max-width:390px){.brand img{width:158px;max-width:60vw}}

/* Phase 3D — Logo print intro and PWA */
.logo-intro-active{overflow:hidden}.logo-print-intro{position:fixed;inset:0;z-index:10000;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(145deg,#f7fafb,#e9f1f4);color:#101820;transition:opacity .55s ease,visibility .55s ease}.logo-print-intro.is-leaving{opacity:0;visibility:hidden}.logo-intro-skip{position:absolute;top:max(18px,env(safe-area-inset-top));right:20px;border:1px solid #ccd9df;background:#fff;border-radius:999px;padding:9px 15px;font:700 .8rem inherit;color:#263746}.logo-printer{position:relative;width:190px;height:170px}.intro-nozzle{position:absolute;top:0;left:50%;width:50px;height:48px;transform:translateX(-50%);background:#1b2d3d;border-radius:6px 6px 12px 12px;animation:nozzleScan 2.15s ease-in-out both}.intro-nozzle:after{content:"";position:absolute;left:18px;bottom:-18px;border-left:7px solid transparent;border-right:7px solid transparent;border-top:18px solid #13a7d6}.intro-nozzle span{position:absolute;inset:8px 10px 17px;border:2px solid #607486;border-radius:3px}.intro-print-bed{position:absolute;left:25px;right:25px;bottom:5px;height:100px;perspective:500px}.intro-layer{position:absolute;left:50%;width:118px;height:19px;border:3px solid #1c354a;background:#fff;transform:translateX(-50%) rotateX(58deg) rotateZ(30deg) scale(.05);opacity:0;animation:printLayer .35s ease-out forwards}.intro-layer.layer-1{bottom:0;animation-delay:.35s}.intro-layer.layer-2{bottom:12px;animation-delay:.72s}.intro-layer.layer-3{bottom:24px;animation-delay:1.09s}.intro-layer.layer-4{bottom:36px;animation-delay:1.46s}.intro-layer.layer-5{bottom:48px;background:#11a9df;animation-delay:1.83s}.intro-cube{position:absolute;left:50%;bottom:76px;width:22px;height:22px;background:#1c354a;transform:translateX(-50%) scale(0);animation:cubePop .3s 2.18s ease-out forwards}.intro-wordmark{width:min(270px,66vw);height:auto;opacity:0;transform:translateY(12px);animation:wordmarkReveal .55s 2.35s ease-out forwards}.logo-print-intro p{margin:12px 0 0;font-size:.88rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:#547080;opacity:0;animation:wordmarkReveal .45s 2.65s ease-out forwards}.install-app-link{border:1px solid #16a9d8;background:#e9faff;color:#074e68;border-radius:12px;padding:.72rem 1rem;font-weight:800;cursor:pointer}
@keyframes nozzleScan{0%{transform:translateX(-72px)}18%{transform:translateX(22px)}36%{transform:translateX(-58px)}54%{transform:translateX(15px)}72%{transform:translateX(-32px)}100%{transform:translateX(-50%)}}
@keyframes printLayer{to{opacity:1;transform:translateX(-50%) rotateX(58deg) rotateZ(30deg) scale(1)}}@keyframes cubePop{to{transform:translateX(-50%) scale(1)}}@keyframes wordmarkReveal{to{opacity:1;transform:translateY(0)}}
@media (prefers-reduced-motion:reduce){.logo-print-intro{display:none!important}.intro-nozzle,.intro-layer,.intro-cube,.intro-wordmark,.logo-print-intro p{animation:none!important}}
@media (max-width:720px){.logo-printer{transform:scale(.88);margin-bottom:-8px}.intro-wordmark{width:min(235px,68vw)}.logo-print-intro p{font-size:.7rem}.primary-menu .install-app-link{width:100%;text-align:left}}


/* Phase 3E — cumulative visual and PWA reconciliation */
.site-header .brand img{width:230px!important;max-width:58vw!important;max-height:58px!important}
.pwa-install-panel{margin-top:10px;margin-bottom:34px;background:linear-gradient(135deg,#101820,#1b3445);color:#fff;border-radius:20px;padding:22px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;box-shadow:0 18px 44px rgba(16,24,32,.14)}
.pwa-install-panel h2{font-size:1.45rem;margin:3px 0 6px;letter-spacing:-.025em}.pwa-install-panel p{margin:0;color:#cfdae1;font-size:.9rem;line-height:1.45}.pwa-install-panel .eyebrow{color:#56cdf8}.pwa-install-panel .button{background:#fff;color:#101820;white-space:nowrap}
.pwa-install-icon{position:relative;width:48px;height:46px}.pwa-install-icon span{position:absolute;left:5px;width:37px;height:10px;border:2px solid #55cdfb;background:#173247;transform:skewY(-14deg)}.pwa-install-icon span:nth-child(1){top:5px}.pwa-install-icon span:nth-child(2){top:16px}.pwa-install-icon span:nth-child(3){top:27px}.pwa-install-icon b{position:absolute;left:19px;top:0;width:14px;height:9px;background:#fff;clip-path:polygon(0 0,100% 0,70% 70%,58% 70%,50% 100%,42% 70%,30% 70%)}
.pwa-toast{position:fixed;left:50%;bottom:24px;z-index:12000;max-width:min(92vw,520px);transform:translate(-50%,30px);opacity:0;background:#101820;color:#fff;border-radius:14px;padding:13px 16px;font-size:.88rem;box-shadow:0 18px 48px rgba(0,0,0,.3);transition:.25s}.pwa-toast.show{transform:translate(-50%,0);opacity:1}
@media(max-width:580px){
 body{font-size:14px;line-height:1.48}
 .site-header{min-height:58px!important;padding:4px 0!important}.site-header .brand img{width:190px!important;max-width:62vw!important;max-height:48px!important}
 .hero{padding:18px 0 30px!important;gap:14px!important}.hero h1{font-size:2.45rem!important;line-height:.98!important;margin:10px 0 16px!important}.hero-copy>p{font-size:.94rem!important;line-height:1.45!important}.actions{margin:19px 0!important;gap:8px!important}.button{min-height:43px!important;padding:0 15px!important;font-size:.82rem!important}.trust-row{gap:7px 14px!important;font-size:.75rem!important}
 .pwa-install-panel{margin-top:0;margin-bottom:26px;padding:16px;grid-template-columns:42px 1fr;gap:10px 12px;border-radius:16px}.pwa-install-panel h2{font-size:1.18rem;margin:2px 0 4px}.pwa-install-panel p{font-size:.78rem}.pwa-install-panel .button{grid-column:1/-1;width:100%}.pwa-install-icon{transform:scale(.82);transform-origin:left center}
 .intro{padding:30px 0!important;gap:14px!important}.intro h2,.section-block h2{font-size:1.55rem!important;margin:7px 0 12px!important}.intro p{font-size:.9rem!important;line-height:1.48!important}.section-block{padding:34px 0!important}.section-block>.eyebrow{font-size:.61rem!important}.shop-toolbar{margin:14px 0!important;gap:7px!important}
 .product-card{padding:14px!important;min-height:0!important;border-radius:15px!important}.product-cover-link{margin:-14px -14px 13px!important}.product-cover-link .product-image{height:148px!important}.product-card h3{font-size:1.02rem!important;margin:4px 0 7px!important}.product-card p,.product-summary{font-size:.79rem!important;line-height:1.4!important;margin-bottom:8px!important}.product-category{font-size:.57rem!important;margin-bottom:5px!important}.product-meta strong{font-size:.79rem!important}.card-grid{gap:10px!important;margin-top:15px!important}
 .feature-band{padding:38px 0!important}.steps{margin-top:28px!important}.quote-section{padding:38px 0!important}.case{padding-bottom:38px!important}footer{padding:28px 0!important}
}
@media(max-width:390px){.site-header .brand img{width:176px!important}}
