:root{--ink:#101828;--muted:#667085;--line:#e4e7ec;--paper:#f7f5ef;--dark:#101820;--accent:#cf6d2e}
*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff}a{color:inherit}
.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.nav-inner{max-width:1180px;margin:auto;min-height:74px;padding:0 20px;display:flex;align-items:center;gap:28px}.brand{font-weight:900;font-size:1.2rem;text-decoration:none}.nav-inner nav{display:flex;gap:22px;flex:1}.nav-inner nav a{text-decoration:none;font-size:.82rem;font-weight:700}.nav-cta{background:var(--ink);color:#fff;padding:12px 15px;border-radius:9px;text-decoration:none;font-size:.78rem;font-weight:800}
main{min-height:70vh}.hero{max-width:1180px;margin:auto;padding:90px 20px 70px;display:grid;grid-template-columns:1.25fr .75fr;gap:50px;align-items:end}.hero-copy span,.kicker{font-size:.68rem;letter-spacing:1.6px;font-weight:900;color:#bd6429}.hero h1{font-size:clamp(3rem,6vw,6.2rem);line-height:.94;letter-spacing:-.055em;max-width:850px;margin:15px 0}.hero p{font-size:1.05rem;line-height:1.7;color:var(--muted);max-width:720px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 17px;border-radius:9px;text-decoration:none;font-weight:800;font-size:.78rem}.primary{background:var(--accent);color:#fff}.secondary{border:1px solid var(--line);background:#fff}.hero-panel{background:var(--dark);color:#fff;border-radius:20px;padding:25px;display:grid;gap:24px}.hero-stat{display:grid;gap:4px}.hero-stat strong{font-size:1.45rem}.hero-stat span{color:#aeb8c3;font-size:.76rem}.section{max-width:1180px;margin:auto;padding:75px 20px}.section.dark{max-width:none;background:var(--dark);color:#fff}.section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:25px}.section-head h1,.section-head h2{font-size:clamp(2rem,4vw,4rem);line-height:1;letter-spacing:-.04em;margin:8px 0}.section-head p{color:#aeb8c3;max-width:700px}.category-grid,.product-grid,.business-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.category-card,.product-card,.business-grid article{border:1px solid var(--line);border-radius:16px;padding:20px;text-decoration:none}.category-card{min-height:150px;display:flex;flex-direction:column;justify-content:end;background:var(--paper)}.category-card strong{font-size:1.1rem}.category-card span{color:var(--muted);font-size:.78rem;margin-top:6px}.business-grid article{background:#151e27;border-color:#2d3742}.business-grid h3{font-size:1rem}.business-grid p{color:#9da8b4;font-size:.76rem;line-height:1.6}.about-grid{display:grid;grid-template-columns:1fr .7fr;gap:40px}.about-card{background:var(--paper);border-radius:18px;padding:30px;display:grid;grid-template-columns:1fr 1fr;gap:8px 15px}.about-card strong{font-size:1.5rem}.about-card span{color:var(--muted);font-size:.72rem}.enquiry{background:var(--paper);border-radius:22px;margin-bottom:60px}.product-media{height:280px;background:var(--paper);border-radius:12px 12px 0 0;overflow:hidden}.product-media img{width:100%;height:100%;object-fit:cover}.placeholder{height:100%;display:grid;place-items:center;color:#a77d34;font-weight:900}.product-body{padding:16px}.product-body span{font-size:.62rem;text-transform:uppercase;letter-spacing:1px;color:#a65a26;font-weight:900}.product-body h2{font-size:1rem;margin:7px 0;line-height:1.3}.product-body strong{font-size:.9rem}.product-page{max-width:1180px;margin:auto}.breadcrumbs{padding:25px 20px;color:var(--muted);font-size:.75rem}.product-hero{padding:0 20px;display:grid;grid-template-columns:1fr 1fr;gap:25px}.gallery{min-width:0}.main-image{height:590px;background:var(--paper);border-radius:18px;overflow:hidden;display:grid;place-items:center}.main-image img{width:100%;height:100%;object-fit:contain}.thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}.thumb{border:1px solid var(--line);background:#fff;border-radius:9px;padding:3px;height:90px}.thumb img{width:100%;height:100%;object-fit:cover;border-radius:6px}.product-info{border:1px solid var(--line);border-radius:18px;padding:28px;height:max-content}.product-info h1{font-size:2.5rem;line-height:1.05;margin:10px 0}.product-info p{color:var(--muted);line-height:1.7}.price{font-size:1.8rem;font-weight:900;margin:20px 0}.buybox{background:#f7f8fa;border:1px solid var(--line);border-radius:10px;padding:14px;display:flex;justify-content:space-between}.pricing{background:var(--dark);color:#fff;max-width:none;margin-top:60px}.tier-grid{max-width:1180px;margin:auto;display:grid;grid-template-columns:repeat(5,1fr);padding:0 20px}.tier{padding:20px;border-top:1px solid #2d3742;min-height:125px;display:grid;align-content:center;gap:5px}.tier span{color:#9da8b4;font-size:.7rem}.tier b{font-size:.9rem}.footer{background:#101820;color:#fff;padding:50px 20px}.footer-inner{max-width:1180px;margin:auto;display:grid;grid-template-columns:1.5fr 1fr;gap:40px}.footer p{color:#9da8b4;line-height:1.7;font-size:.78rem}
@media(max-width:800px){.nav-inner{min-height:66px}.nav-inner nav,.nav-cta{display:none}.hero{padding:42px 18px;grid-template-columns:1fr}.hero-panel{grid-template-columns:1fr 1fr}.category-grid,.product-grid,.business-grid{grid-template-columns:1fr 1fr}.section{padding:50px 18px}.section-head{display:block}.about-grid{grid-template-columns:1fr}.product-hero{grid-template-columns:1fr;padding:0 12px}.main-image{height:330px}.product-info h1{font-size:1.9rem}.tier-grid{grid-template-columns:repeat(5,180px);overflow-x:auto}.footer-inner{grid-template-columns:1fr}}
@media(max-width:520px){.hero h1{font-size:2.5rem}.hero-panel{grid-template-columns:1fr 1fr;padding:18px}.category-grid,.product-grid,.business-grid{grid-template-columns:1fr 1fr;gap:9px}.product-media{height:180px}.product-body{padding:11px}.product-body h2{font-size:.78rem}.section{padding:40px 14px}.product-hero{padding:0 10px}.main-image{height:300px}.thumb{height:65px}.product-info{padding:18px}.footer{padding:38px 16px}}

.search{display:flex;gap:8px;margin:0 0 28px}.search input,.search select{min-height:46px;border:1px solid var(--line);border-radius:9px;padding:0 13px;background:#fff;font:inherit;color:var(--ink)}.search input{flex:1}.search select{min-width:210px}.search button{border:0;border-radius:9px;background:var(--ink);color:#fff;padding:0 18px;font-weight:800}.category-card-large{min-height:210px}.category-card-top{display:flex;justify-content:flex-end;margin-bottom:auto}.category-card-top span{font-size:.65rem;color:#8b6d58}.category-detail-hero{padding-bottom:40px}.category-detail-copy{max-width:820px}.category-detail-copy h1{font-size:clamp(2.6rem,6vw,5.5rem);line-height:.96;letter-spacing:-.05em;margin:12px 0}.category-detail-copy p{max-width:720px;color:var(--muted);font-size:1rem;line-height:1.75}.category-products{padding-top:40px}.empty-state{margin-top:25px;padding:35px;border:1px solid var(--line);border-radius:16px;background:var(--paper)}.empty-state h2{margin:0 0 8px;font-size:1.5rem}.empty-state p{color:var(--muted);line-height:1.7}.seo-copy{max-width:900px}.rich-copy{color:var(--muted);line-height:1.8;font-size:.95rem}.rich-copy h2,.rich-copy h3{color:var(--ink);line-height:1.2}@media(max-width:600px){.search{display:grid;grid-template-columns:1fr}.search select,.search button{width:100%}.category-card-large{min-height:180px}.category-detail-copy h1{font-size:2.7rem}}
.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.service-card{display:block;border:1px solid var(--line);border-radius:18px;padding:28px;text-decoration:none;background:var(--paper);min-height:250px}.service-card h2{font-size:1.55rem;line-height:1.15;letter-spacing:-.025em;margin:20px 0 10px}.service-card p{color:var(--muted);line-height:1.7;font-size:.86rem;max-width:650px}.service-card strong{display:inline-block;margin-top:12px;font-size:.78rem}.service-hero{padding-bottom:40px}.service-detail-copy{max-width:850px}.service-detail-copy h1{font-size:clamp(2.6rem,6vw,5.5rem);line-height:.96;letter-spacing:-.05em;margin:12px 0}.service-detail-copy>p{color:var(--muted);font-size:1rem;line-height:1.75;max-width:720px}.rich-sections{max-width:900px;padding-top:35px}.rich-sections article{padding:35px 0;border-top:1px solid var(--line)}.rich-sections article:first-child{border-top:0}.rich-sections .rich-copy{margin-top:14px}@media(max-width:700px){.service-grid{grid-template-columns:1fr}.service-card{min-height:210px}.service-detail-copy h1{font-size:2.7rem}}.industry-grid,.city-grid,.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.industry-card,.city-card,.blog-card{display:block;text-decoration:none;border:1px solid var(--line);border-radius:18px;background:var(--paper);padding:25px;min-height:230px}.industry-card h2,.city-card h2,.blog-card h2{font-size:1.45rem;line-height:1.12;letter-spacing:-.025em;margin:18px 0 10px}.industry-card p,.city-card p,.blog-card p{color:var(--muted);line-height:1.7;font-size:.86rem}.industry-card strong,.city-card strong,.blog-card strong{display:inline-block;margin-top:12px;font-size:.78rem}.blog-card{padding:0 0 24px;overflow:hidden}.blog-card img{width:100%;height:190px;object-fit:cover;display:block;margin-bottom:22px}.blog-card>span,.blog-card>h2,.blog-card>p,.blog-card>strong{margin-left:24px;margin-right:24px}.article{max-width:900px}.article h1{font-size:clamp(2.8rem,6vw,5.6rem);line-height:.96;letter-spacing:-.05em;max-width:900px;margin:14px 0}.article-lead{font-size:1.08rem;line-height:1.8;color:var(--muted);max-width:760px}.article-image{display:block;width:100%;max-height:560px;object-fit:cover;border-radius:18px;margin:35px 0}.article-content{max-width:780px;font-size:1rem;line-height:1.85}.article-content h2{font-size:1.65rem;line-height:1.2;margin:40px 0 12px}.article-content p{margin:0 0 18px}.city-card span{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:#8b6d58}@media(max-width:900px){.industry-grid,.city-grid,.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.industry-grid,.city-grid,.blog-grid{grid-template-columns:1fr}.industry-card,.city-card{min-height:190px}.blog-card img{height:175px}.article h1{font-size:2.75rem}}.enquiry{display:grid;grid-template-columns:.85fr 1.15fr;gap:45px;align-items:start}.enquiry-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.enquiry-form input,.enquiry-form textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:10px;padding:13px;font:inherit;color:var(--ink);outline:none}.enquiry-form textarea{grid-column:1/-1;resize:vertical}.enquiry-form button{justify-self:start;border:0;cursor:pointer}.form-success{margin-top:18px;padding:14px 16px;border:1px solid #b9d7c0;border-radius:10px;background:#f2faf4;color:#245c31;font-size:.85rem;line-height:1.5}.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}@media(max-width:700px){.enquiry{grid-template-columns:1fr}.enquiry-form{grid-template-columns:1fr}.enquiry-form textarea{grid-column:auto}}
/* OSIRA homepage v2 */
.eyebrow{font-size:.68rem;letter-spacing:.18em;font-weight:900;color:var(--accent)}
.hero-home{min-height:650px;align-items:center}
.hero-home h1{max-width:760px}
.trust-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:28px}
.trust-row span{border:1px solid var(--line);border-radius:999px;padding:8px 11px;font-size:.68rem;font-weight:800;background:#fff}
.hero-visual{min-height:510px;border-radius:28px;background:linear-gradient(145deg,#f4efe6,#ddd4c5);position:relative;overflow:hidden;display:grid;place-items:center}
.clock-orbit{position:absolute;border:1px solid rgba(16,24,40,.12);border-radius:50%}
.orbit-a{width:390px;height:390px}.orbit-b{width:290px;height:290px}
.clock-face{width:245px;height:245px;border-radius:50%;background:#fbfaf7;border:10px solid #1b2731;box-shadow:0 30px 80px rgba(16,24,40,.2);position:relative;display:grid;place-items:center}
.clock-face:before{content:"";position:absolute;inset:20px;border:1px solid #d8d0c3;border-radius:50%}
.clock-face i,.clock-face b{position:absolute;display:block;transform-origin:bottom center;background:#17212a;border-radius:4px;bottom:50%;left:calc(50% - 3px);width:6px}
.clock-face i{height:72px;transform:rotate(42deg)}.clock-face b{height:55px;transform:rotate(315deg)}
.clock-face em{font-style:normal;font-weight:900;letter-spacing:.12em;margin-top:-18px}.clock-face small{position:absolute;bottom:62px;font-size:7px;letter-spacing:.18em;color:#667085}
.hero-note{position:absolute;bottom:20px;left:20px;right:20px;background:rgba(255,255,255,.88);backdrop-filter:blur(10px);padding:15px 17px;border-radius:13px;display:grid;gap:4px}
.hero-note strong{font-size:.8rem}.hero-note span{font-size:.7rem;color:var(--muted)}
.intro-strip{display:grid;grid-template-columns:1fr 1fr;gap:60px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.intro-strip h2,.seo-home h2{font-size:clamp(2rem,4vw,3.8rem);line-height:1;letter-spacing:-.045em;margin:10px 0}
.intro-strip>p{color:var(--muted);line-height:1.8;align-self:end;max-width:620px}
.card-index{margin-bottom:auto!important;color:#9b765d!important;font-size:.65rem!important}
.category-card{transition:transform .2s ease,border-color .2s ease}.category-card:hover,.product-card:hover{transform:translateY(-3px);border-color:#c8b9a7}
.feature-section{background:#fcfbf8;max-width:none;padding-left:max(20px,calc((100vw - 1140px)/2));padding-right:max(20px,calc((100vw - 1140px)/2))}
.product-card{overflow:hidden;padding:0;background:#fff;transition:transform .2s ease,border-color .2s ease}.product-card .product-body{padding:17px 18px 20px}.product-card .product-media{height:270px}.product-card .product-body strong{display:block;margin-top:13px}
.business-section{padding-left:max(20px,calc((100vw - 1140px)/2));padding-right:max(20px,calc((100vw - 1140px)/2))}
.business-grid article{padding:24px;min-height:205px}.business-grid article a{display:inline-block;color:#fff;font-size:.72rem;font-weight:800;text-decoration:none;margin-top:10px}
.seo-home-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px}.seo-home .rich-copy p{margin:0 0 18px}
@media(max-width:800px){.hero-home{min-height:auto}.hero-visual{min-height:400px}.intro-strip,.seo-home-grid{grid-template-columns:1fr;gap:25px}.feature-section,.business-section{padding-left:18px;padding-right:18px}}
@media(max-width:520px){.hero-visual{min-height:330px}.clock-face{width:190px;height:190px}.orbit-a{width:290px;height:290px}.orbit-b{width:220px;height:220px}.clock-face i{height:55px}.clock-face b{height:42px}.trust-row span{font-size:.6rem}}

/* OSIRA catalogue */
.catalogue-page{background:#fcfbf8;min-height:70vh}.catalogue-hero{padding-bottom:45px}.catalogue-intro{max-width:850px}.catalogue-intro h1{font-size:clamp(2.7rem,6vw,5.6rem);line-height:.96;letter-spacing:-.055em;margin:12px 0}.catalogue-intro p{max-width:760px;color:var(--muted);line-height:1.8}
.catalogue-body{padding-top:10px}.catalogue-toolbar{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:16px 0;color:var(--muted);font-size:.76rem}.catalogue-toolbar strong{color:var(--ink);font-size:1rem}.catalogue-filter-box{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.1fr auto auto;gap:9px;padding:14px;background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:24px}.catalogue-filter-box label{display:block;font-size:.64rem;font-weight:800;color:var(--muted);margin:0 0 6px}.catalogue-filter-box input,.catalogue-filter-box select{width:100%;height:44px;border:1px solid var(--line);border-radius:8px;padding:0 11px;background:#fff;font:inherit;color:var(--ink)}.catalogue-filter-box .btn{height:44px;align-self:end;white-space:nowrap}.catalogue-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.catalogue-grid .product-card{min-width:0}.catalogue-grid .product-media{height:235px}.catalogue-grid .product-body p{font-size:.72rem;color:var(--muted);line-height:1.5;margin:7px 0}.pagination{display:flex;justify-content:center;align-items:center;gap:20px;padding:35px 0;font-size:.78rem}.pagination a{text-decoration:none;font-weight:800;border:1px solid var(--line);padding:10px 14px;border-radius:8px;background:#fff}.pagination span{color:var(--muted)}
@media(max-width:1050px){.catalogue-filter-box{grid-template-columns:1fr 1fr 1fr}.catalogue-filter-box .filter-search{grid-column:1/-1}.catalogue-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.catalogue-filter-box{grid-template-columns:1fr}.catalogue-filter-box .filter-search{grid-column:auto}.catalogue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalogue-grid .product-media{height:185px}.catalogue-intro h1{font-size:2.8rem}.catalogue-toolbar{font-size:.68rem}}
@media(max-width:430px){.catalogue-grid{grid-template-columns:1fr 1fr}.catalogue-grid .product-body{padding:12px}.catalogue-grid .product-body h2{font-size:.8rem}}

/* OSIRA product detail */
.product-breadcrumbs{display:flex;gap:9px;align-items:center;padding-top:24px;padding-bottom:8px;font-size:.72rem;color:var(--muted);overflow:auto;white-space:nowrap}.product-breadcrumbs a{text-decoration:none}.product-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:clamp(30px,6vw,90px);align-items:start;padding-top:28px}.main-image{background:#f1eee8;border-radius:18px;min-height:560px;display:grid;place-items:center;overflow:hidden}.main-image img{width:100%;height:560px;object-fit:contain}.thumbs{display:flex;gap:8px;margin-top:10px}.thumb{width:76px;height:68px;border:1px solid var(--line);background:#fff;border-radius:8px;padding:4px;cursor:pointer}.thumb.active{border-color:var(--ink)}.thumb img{width:100%;height:100%;object-fit:cover;border-radius:5px}.product-info{padding-top:25px}.product-info h1{font-size:clamp(2.4rem,5vw,5rem);line-height:.98;letter-spacing:-.05em;margin:10px 0 18px}.product-lead{font-size:1.05rem;line-height:1.75;color:var(--muted);max-width:680px}.product-meta-line{display:flex;gap:18px;flex-wrap:wrap;font-size:.72rem;color:var(--muted);margin:20px 0}.product-meta-line b{color:var(--ink)}.price{font-size:1.55rem;font-weight:900;margin:12px 0}.price-note{font-size:.72rem;color:var(--muted);line-height:1.5}.buybox{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);background:#fff;border-radius:10px;padding:15px;margin:18px 0;max-width:380px}.buybox span{font-size:.7rem;color:var(--muted)}.product-details-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:14px}.detail-panel{border:1px solid var(--line);background:#fff;border-radius:14px;padding:28px}.detail-panel h2{margin:7px 0 15px}.spec-copy{white-space:pre-line;line-height:1.8;color:var(--muted);font-size:.9rem}.check-list{padding-left:20px;line-height:2;color:var(--muted);font-size:.86rem}.text-link{font-weight:800;text-decoration:none;font-size:.8rem}.product-enquiry{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;background:#f1eee8;border-radius:18px;margin-bottom:40px}.product-enquiry h2{font-size:clamp(2rem,4vw,3.5rem);line-height:1}.product-enquiry .enquiry-form{background:#fff;padding:20px;border-radius:12px}
@media(max-width:850px){.product-hero,.product-details-grid,.product-enquiry{grid-template-columns:1fr}.main-image,.main-image img{min-height:400px;height:400px}.product-info{padding-top:0}}
@media(max-width:520px){.main-image,.main-image img{min-height:320px;height:320px}.product-info h1{font-size:2.6rem}.product-enquiry{padding:20px!important}.thumb{width:62px;height:58px}}

/* OSIRA collections V2 */
.collections-page{background:#fcfbf8}.collections-hero{max-width:980px;padding-bottom:55px}.collections-hero h1{font-size:clamp(2.8rem,7vw,6.5rem);line-height:.93;letter-spacing:-.06em;max-width:900px;margin:12px 0 22px}.collections-hero p{max-width:720px;color:var(--muted);line-height:1.8}.collection-index{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:15px 0;color:var(--muted);font-size:.7rem}.category-grid-v2{grid-template-columns:repeat(3,1fr);gap:12px}.category-card-v2{min-height:300px;display:flex;flex-direction:column;justify-content:space-between;padding:22px;text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:14px;transition:transform .2s,border-color .2s}.category-card-v2:hover{transform:translateY(-3px);border-color:#aaa}.collection-number{font-size:.7rem;color:var(--muted)}.category-card-content{margin-top:auto}.collection-count{font-size:.64rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.category-card-v2 h2{font-size:1.55rem;margin:7px 0}.category-card-v2 p{font-size:.78rem;color:var(--muted);line-height:1.55}.collection-link{display:inline-block;margin-top:12px;font-size:.73rem;font-weight:800}.collection-buying-note{display:grid;grid-template-columns:1fr 1fr;gap:50px;background:#111;color:#fff;border-radius:18px;margin-bottom:40px}.collection-buying-note p{color:#c8c8c8;line-height:1.7}.category-detail-hero-v2{padding-top:20px}.category-detail-copy{max-width:850px;padding:70px 0 45px}.category-detail-copy h1{font-size:clamp(2.8rem,7vw,6.2rem);line-height:.94;letter-spacing:-.06em;margin:10px 0 20px}.category-detail-copy p{font-size:1rem;line-height:1.75;color:var(--muted);max-width:700px}.category-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.category-stats div{padding:18px;border-right:1px solid var(--line)}.category-stats div:last-child{border-right:0}.category-stats strong,.category-stats span{display:block}.category-stats strong{font-size:1.15rem}.category-stats span{font-size:.68rem;color:var(--muted);margin-top:4px}.category-products-v2{padding-top:55px}.category-product-grid{grid-template-columns:repeat(4,1fr)}.category-product-grid .product-body p{font-size:.72rem;color:var(--muted);line-height:1.5;margin:6px 0}.muted-small{font-size:.7rem;color:var(--muted)}.category-seo-copy{max-width:900px}.category-cta{display:flex;justify-content:space-between;align-items:center;background:#f1eee8;border-radius:18px;margin-bottom:40px}.category-cta h2{margin:6px 0;font-size:2.3rem}
@media(max-width:1000px){.category-grid-v2{grid-template-columns:repeat(2,1fr)}.category-product-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.category-grid-v2,.category-product-grid,.category-stats,.collection-buying-note{grid-template-columns:1fr}.category-product-grid{gap:10px}.category-stats div{border-right:0;border-bottom:1px solid var(--line)}.category-cta{display:block}.category-cta .btn{margin-top:15px}.category-card-v2{min-height:260px}}

/* OSIRA services + industries V2 */
.solutions-hero{max-width:980px}.solutions-hero h1{font-size:clamp(2.8rem,7vw,6.4rem);line-height:.94;letter-spacing:-.06em;max-width:900px;margin:12px 0 22px}.solutions-hero p{max-width:740px;color:var(--muted);line-height:1.8}.solution-index{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:15px 0;color:var(--muted);font-size:.7rem}.service-grid-v2,.industry-grid-v2{grid-template-columns:repeat(2,1fr);gap:12px}.service-card-v2,.industry-card-v2{min-height:320px;display:flex;flex-direction:column;justify-content:space-between;text-decoration:none;padding:24px;background:#fff;border:1px solid var(--line);border-radius:14px;transition:transform .2s}.service-card-v2:hover,.industry-card-v2:hover{transform:translateY(-3px)}.solution-number{font-size:.7rem;color:var(--muted)}.service-card-v2 h2,.industry-card-v2 h2{font-size:2rem;line-height:1.02;margin:10px 0}.service-card-v2 p,.industry-card-v2 p{font-size:.82rem;color:var(--muted);line-height:1.65;max-width:600px}.service-card-v2 strong,.industry-card-v2 strong{font-size:.75rem}.solution-note{display:grid;grid-template-columns:1fr 1fr;gap:50px;background:#111;color:#fff;border-radius:18px;margin-bottom:40px}.solution-note p{color:#c8c8c8;line-height:1.7}.solution-detail-hero{padding-top:20px}.solution-detail-copy{max-width:900px;padding:70px 0 50px}.solution-detail-copy h1{font-size:clamp(2.8rem,7vw,6.3rem);line-height:.94;letter-spacing:-.06em;margin:12px 0 20px}.solution-detail-copy p{font-size:1rem;line-height:1.8;color:var(--muted);max-width:720px}.solution-content{max-width:920px}.solution-content article{padding:34px 0;border-top:1px solid var(--line)}.solution-content article:last-child{border-bottom:1px solid var(--line)}.solution-cta{display:flex;align-items:center;justify-content:space-between;background:#f1eee8;border-radius:18px;margin:40px auto}.solution-cta h2{font-size:2.3rem;max-width:700px}.industry-grid-v2 .industry-card-v2{min-height:290px}
@media(max-width:700px){.service-grid-v2,.industry-grid-v2,.solution-note{grid-template-columns:1fr}.service-card-v2 h2,.industry-card-v2 h2{font-size:1.6rem}.solution-cta{display:block}.solution-cta .btn{margin-top:15px}}

/* OSIRA city SEO pages */
.city-index-hero{max-width:980px}.city-index-hero h1{font-size:clamp(2.8rem,7vw,6.3rem);line-height:.94;letter-spacing:-.06em;max-width:900px;margin:12px 0 22px}.city-index-hero p{max-width:740px;color:var(--muted);line-height:1.8}.city-index-bar{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:15px 0;color:var(--muted);font-size:.7rem}.city-grid-v2{grid-template-columns:repeat(3,1fr);gap:12px}.city-card-v2{min-height:250px;padding:22px;display:flex;flex-direction:column;justify-content:space-between;text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:14px}.city-card-v2:hover{border-color:#999;transform:translateY(-2px)}.city-number{font-size:.7rem;color:var(--muted)}.city-card-v2 h2{font-size:2rem;margin:8px 0}.city-card-v2 p{font-size:.78rem;color:var(--muted);line-height:1.55}.city-card-v2 strong{font-size:.73rem}.city-note{display:grid;grid-template-columns:1fr 1fr;gap:50px;background:#111;color:#fff;border-radius:18px;margin-bottom:40px}.city-note p{color:#c8c8c8;line-height:1.7}.city-detail-hero{padding-top:20px}.city-detail-copy{max-width:900px;padding:65px 0 45px}.city-detail-copy h1{font-size:clamp(2.8rem,7vw,6.3rem);line-height:.94;letter-spacing:-.06em;margin:12px 0 20px}.city-detail-copy p{max-width:700px;color:var(--muted);line-height:1.8}.city-facts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.city-facts div{padding:18px;border-right:1px solid var(--line)}.city-facts div:last-child{border-right:0}.city-facts strong,.city-facts span{display:block}.city-facts span{font-size:.68rem;color:var(--muted);margin-top:4px}.city-content{max-width:920px}.city-content article{padding:34px 0;border-top:1px solid var(--line)}.city-content article:last-child{border-bottom:1px solid var(--line)}.inline-links{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}.inline-links a{border:1px solid var(--line);border-radius:20px;padding:8px 12px;text-decoration:none;font-size:.7rem}.city-cta{display:flex;justify-content:space-between;align-items:center;background:#f1eee8;border-radius:18px;margin:40px auto}.city-cta h2{font-size:2.3rem}
@media(max-width:900px){.city-grid-v2{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.city-grid-v2,.city-note,.city-facts{grid-template-columns:1fr}.city-facts div{border-right:0;border-bottom:1px solid var(--line)}.city-cta{display:block}.city-cta .btn{margin-top:15px}}

/* OSIRA guides V2 */
.guides-hero{max-width:980px}.guides-hero h1{font-size:clamp(2.8rem,7vw,6.3rem);line-height:.94;letter-spacing:-.06em;max-width:920px;margin:12px 0 22px}.guides-hero p{max-width:740px;color:var(--muted);line-height:1.8}.guides-index{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:15px 0;color:var(--muted);font-size:.7rem}.blog-grid-v2{grid-template-columns:repeat(2,1fr);gap:12px}.blog-card-v2{min-height:300px;padding:24px;display:flex;flex-direction:column;align-items:flex-start;text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:14px}.blog-card-v2 .guide-number{color:var(--muted);font-size:.7rem;margin-bottom:auto}.blog-card-v2 h2{font-size:2rem;line-height:1.02;margin:10px 0}.blog-card-v2 p{font-size:.82rem;color:var(--muted);line-height:1.65}.blog-card-v2 strong{font-size:.73rem}.guide-cta{display:flex;align-items:center;justify-content:space-between;background:#111;color:#fff;border-radius:18px;margin-bottom:40px}.guide-cta h2{font-size:2.2rem}.article-hero{max-width:1000px}.article-hero h1{font-size:clamp(3rem,8vw,7rem);line-height:.92;letter-spacing:-.065em;max-width:1000px;margin:14px 0 22px}.article-hero p{max-width:760px;color:var(--muted);line-height:1.8;font-size:1.02rem}.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:60px}.article-main{min-width:0}.article-body{max-width:820px;font-size:1rem;line-height:1.85}.article-body h2{font-size:2rem;line-height:1.1;margin:45px 0 12px}.article-body h3{font-size:1.35rem;margin:30px 0 8px}.article-body p{margin:0 0 18px}.article-body ul,.article-body ol{padding-left:22px}.article-aside{position:relative}.article-aside>div{position:sticky;top:20px;border:1px solid var(--line);padding:20px;border-radius:12px;background:#fff}.article-aside a{display:block;text-decoration:none;padding:10px 0;border-bottom:1px solid var(--line);font-size:.76rem}.article-aside a:last-child{border-bottom:0}.article-next{margin-top:55px;padding:28px;background:#f1eee8;border-radius:16px}.article-next h2{font-size:2rem;margin:8px 0}.article-next p{color:var(--muted);line-height:1.7}
@media(max-width:800px){.blog-grid-v2,.article-layout{grid-template-columns:1fr}.article-aside{display:none}.guide-cta{display:block}.guide-cta .btn{margin-top:15px}}

/* OSIRA global footer + SEO UI */
.footer-v2{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.4fr;gap:40px}.footer-v2>div{display:flex;flex-direction:column;align-items:flex-start}.footer-v2 strong{font-size:1.4rem;letter-spacing:.08em}.footer-v2 h4{margin:0 0 12px;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.footer-v2 a{color:inherit;text-decoration:none;font-size:.76rem;line-height:1.8}.footer-v2 p{font-size:.76rem;line-height:1.7;color:var(--muted);margin:8px 0}.footer-brand .footer-note{max-width:390px}.footer-bottom{max-width:1200px;margin:30px auto 0;padding:18px 20px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:.65rem;color:var(--muted)}
@media(max-width:850px){.footer-v2{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.footer-v2{grid-template-columns:1fr}.footer-bottom{display:block}.footer-bottom span{display:block;margin-bottom:6px}}

/* OSIRA professional footer refinement */
.footer-v2{grid-template-columns:minmax(240px,1.5fr) minmax(130px,1fr) minmax(150px,1fr) minmax(220px,1.25fr);gap:42px;align-items:start}
.footer-logo{display:inline-block;color:#fff;text-decoration:none;font-size:1.45rem;font-weight:900;letter-spacing:.12em;line-height:1.1}
.footer-tagline{max-width:390px!important;margin:16px 0 4px!important;color:#d7dde4!important;font-size:.82rem!important;line-height:1.65!important}
.footer-v2 h4{margin:2px 0 14px;font-size:.68rem;text-transform:uppercase;letter-spacing:.16em;color:#fff}
.footer-v2 .footer-col>a{color:#aeb8c3;transition:color .18s ease,transform .18s ease}
.footer-v2 .footer-col>a:hover{color:#fff;transform:translateX(2px)}
.footer-contact p{max-width:300px;margin-top:0}
.footer-contact>a{color:#d8dee5;font-weight:600}
.footer-social{display:flex!important;flex-direction:row!important;align-items:center!important;gap:9px;margin-top:18px}
.social-icon{width:38px;height:38px;border:1px solid #2e3945;border-radius:10px;display:inline-flex!important;align-items:center;justify-content:center;color:#dbe2e8!important;background:#151e27;font-size:.67rem!important;font-weight:900;line-height:1!important;transition:transform .18s ease,border-color .18s ease,background .18s ease}
.social-icon:hover{transform:translateY(-2px);border-color:#667585;background:#1d2833}
.social-icon svg{width:17px;height:17px;fill:currentColor;stroke:none}
.social-icon:nth-child(2) svg{fill:none;stroke:currentColor;stroke-width:1.7}
.social-indiamart{font-size:.6rem!important;letter-spacing:-.04em}
@media(max-width:1000px){.footer-v2{grid-template-columns:1.35fr 1fr 1fr;gap:30px}.footer-brand{grid-column:1/-1}}
@media(max-width:700px){.footer-v2{grid-template-columns:1fr 1fr;gap:30px 22px}.footer-brand{grid-column:1/-1}.footer-contact{grid-column:1/-1}}
@media(max-width:390px){.footer-v2{grid-template-columns:1fr}.footer-brand,.footer-contact{grid-column:auto}}


/* Responsive homepage campaign carousel */
.home-banner-section{width:100%;padding:0 20px;margin:0 auto 54px}
.home-banner-carousel{position:relative;max-width:1220px;margin:0 auto;overflow:hidden;border-radius:18px;background:#17212b;isolation:isolate}
.home-banner-track{position:relative;min-height:clamp(245px,31.25vw,470px)}
.home-banner-slide{position:absolute;inset:0;min-height:clamp(245px,31.25vw,470px);overflow:hidden;display:flex;align-items:center;background:var(--banner-bg,#17212b);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .7s ease,visibility .7s ease}
.home-banner-slide.is-active{position:relative;opacity:1;visibility:visible;pointer-events:auto}
.home-banner-picture,.home-banner-picture img,.home-banner-shade{position:absolute;inset:0;width:100%;height:100%}
.home-banner-picture img{object-fit:cover;object-position:center}
.home-banner-shade{background:linear-gradient(90deg,rgba(8,15,22,.86) 0%,rgba(8,15,22,.65) 43%,rgba(8,15,22,.12) 100%);z-index:1}
.home-banner-copy{position:relative;z-index:2;width:min(660px,74%);padding:clamp(28px,5vw,68px);color:#fff}
.home-banner-eyebrow{display:flex;align-items:center;gap:10px;font-size:.67rem;font-weight:900;letter-spacing:2px;color:#f6c19b}
.home-banner-eyebrow i{display:inline-block;width:25px;height:1px;background:#f6c19b}
.home-banner-copy h2{font-size:clamp(2rem,4.2vw,4.3rem);line-height:1.02;letter-spacing:-.045em;margin:16px 0 12px;max-width:680px;text-wrap:balance}
.home-banner-copy p{max-width:540px;margin:0;color:rgba(255,255,255,.84);font-size:clamp(.9rem,1.25vw,1.06rem);line-height:1.65}
.home-banner-cta{display:inline-flex;align-items:center;gap:20px;margin-top:25px;padding:13px 17px;border-radius:8px;background:#fff;color:#17212b;text-decoration:none;font-size:.8rem;font-weight:850;transition:transform .2s ease,background .2s ease}
.home-banner-cta:hover{transform:translateY(-2px);background:#f6c19b}
.home-banner-arrow{position:absolute;z-index:4;top:50%;transform:translateY(-50%);width:42px;height:42px;border:1px solid rgba(255,255,255,.45);border-radius:50%;background:rgba(12,20,28,.36);color:#fff;font-size:1.8rem;line-height:1;display:grid;place-items:center;cursor:pointer;backdrop-filter:blur(8px);transition:background .2s ease}
.home-banner-arrow:hover{background:rgba(12,20,28,.78)}
.home-banner-arrow.prev{left:16px}.home-banner-arrow.next{right:16px}
.home-banner-dots{position:absolute;z-index:4;bottom:18px;left:50%;transform:translateX(-50%);display:flex;gap:8px;align-items:center}
.home-banner-dots button{width:8px;height:8px;padding:0;border:0;border-radius:99px;background:rgba(255,255,255,.55);cursor:pointer;transition:width .25s ease,background .25s ease}
.home-banner-dots button.is-active{width:25px;background:#fff}
.home-banner-slide[aria-hidden="true"] a{visibility:hidden}
@media(max-width:700px){
 .home-banner-section{padding:0 16px;margin-bottom:38px}
 .home-banner-carousel{border-radius:13px}
 .home-banner-track,.home-banner-slide{min-height:0;height:auto;aspect-ratio:2.51/1}
 .home-banner-slide{align-items:center}
 .home-banner-picture img{object-position:center}
 .home-banner-shade{background:linear-gradient(90deg,rgba(8,15,22,.78),rgba(8,15,22,.35))}
 .home-banner-copy{width:83%;padding:18px 22px 27px}
 .home-banner-eyebrow{font-size:.52rem;letter-spacing:1.3px;gap:7px}
 .home-banner-eyebrow i{width:15px}
 .home-banner-copy h2{font-size:clamp(1.2rem,5vw,2rem);line-height:1.04;margin:9px 0 6px;letter-spacing:-.035em}
 .home-banner-copy p{font-size:clamp(.65rem,2.45vw,.84rem);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
 .home-banner-cta{margin-top:10px;padding:8px 10px;gap:10px;font-size:.65rem;border-radius:6px}
 .home-banner-arrow{width:30px;height:30px;font-size:1.3rem}
 .home-banner-arrow.prev{left:7px}.home-banner-arrow.next{right:7px}
 .home-banner-dots{bottom:8px;gap:5px}
 .home-banner-dots button{width:5px;height:5px}.home-banner-dots button.is-active{width:16px}
}
@media(max-width:390px){
 .home-banner-section{padding:0 12px}
 .home-banner-copy{width:87%;padding:13px 17px 23px}
 .home-banner-copy h2{font-size:1.12rem}
 .home-banner-copy p{font-size:.63rem}
 .home-banner-cta{margin-top:7px;padding:7px 8px}
}
@media(prefers-reduced-motion:reduce){.home-banner-slide,.home-banner-cta,.home-banner-arrow,.home-banner-dots button{transition:none}}
/* Homepage banner administration */
.banner-help{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:18px 20px;margin:22px 0;background:#f7f5ef;border:1px solid #e4e7ec;border-radius:14px;color:#344054;font-size:.85rem}
.banner-help strong{width:100%;font-size:.95rem;color:#101828}.banner-help span{padding:7px 10px;border:1px solid #e0ded8;border-radius:7px;background:#fff;font-weight:750}.banner-help small{flex-basis:100%;color:#667085;line-height:1.5}
.home-banner-admin-form{display:grid;gap:20px;margin-bottom:45px}.home-banner-editor{padding:22px!important}
.banner-editor-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px}
.banner-editor-heading>div{display:flex;align-items:center;gap:12px}.banner-editor-heading h2{margin:0}.banner-editor-heading p{margin:4px 0 0;color:#667085;font-size:.8rem}
.banner-number{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#17212b;color:#fff;font-weight:900}
.toggle-field{display:flex;align-items:center;gap:8px;font-size:.8rem;font-weight:750}.toggle-field input{width:18px;height:18px;accent-color:#17212b}
.banner-preview{position:relative;display:flex;align-items:center;min-height:150px;overflow:hidden;border-radius:12px;padding:20px 25px;margin-bottom:20px;background:var(--banner-bg,#17212b);color:white}
.banner-preview img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.6}.banner-preview:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,15,22,.8),rgba(8,15,22,.15))}
.banner-preview>div{position:relative;z-index:1;display:grid;gap:8px;max-width:560px}.banner-preview span{font-size:.62rem;letter-spacing:1.6px;font-weight:900;color:#f6c19b}.banner-preview strong{font-size:clamp(1.2rem,3vw,2rem);line-height:1.1}.banner-preview small{font-size:.8rem;color:rgba(255,255,255,.85)}
.banner-save-bar{position:sticky;bottom:12px;z-index:20;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;border:1px solid #e4e7ec;border-radius:12px;background:rgba(255,255,255,.96);box-shadow:0 8px 30px rgba(16,24,40,.12);backdrop-filter:blur(10px)}
.banner-save-bar p{margin:0;color:#667085;font-size:.8rem;line-height:1.4}
@media(max-width:600px){.banner-editor-heading{align-items:flex-start;flex-direction:column}.home-banner-editor{padding:15px!important}.banner-save-bar{align-items:stretch;flex-direction:column}.banner-save-bar .admin-button{width:100%;text-align:center}}


/* OSIRA mobile navigation drawer */
.menu-toggle{display:none;align-items:center;justify-content:center;flex-direction:column;gap:5px;width:44px;height:44px;margin-left:auto;border:1px solid var(--line);border-radius:11px;background:#fff;cursor:pointer}
.menu-toggle span{display:block;width:19px;height:2px;border-radius:3px;background:#101828;transition:transform .2s ease,opacity .2s ease}
.drawer-backdrop{position:fixed;inset:0;z-index:1200;background:rgba(9,16,24,.48);opacity:0;transition:opacity .28s ease}
.drawer-backdrop[hidden]{display:none}.drawer-backdrop.is-visible{opacity:1}
.mobile-drawer{position:fixed;z-index:1201;right:0;top:0;width:min(75vw,390px);height:100dvh;height:100vh;overflow-y:auto;background:#fff;color:#101828;box-shadow:-20px 0 55px rgba(0,0,0,.14);padding:20px 22px 26px;transform:translateX(105%);visibility:hidden;transition:transform .28s cubic-bezier(.2,.75,.25,1),visibility .28s ease;display:flex;flex-direction:column}
.mobile-drawer.is-open{transform:translateX(0);visibility:visible}
.drawer-open{overflow:hidden}
.drawer-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:22px;border-bottom:1px solid var(--line)}
.drawer-close{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:#fff;font-size:1.7rem;line-height:1;cursor:pointer}
.drawer-kicker{margin:25px 0 10px;color:#bd6429;font-size:.65rem;font-weight:900;letter-spacing:1.8px}
.mobile-drawer nav{display:grid}.mobile-drawer nav a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid #eef0f3;text-decoration:none;font-size:1rem;font-weight:750}
.mobile-drawer nav a span{color:#bd6429;font-size:.95rem}
.drawer-cta{display:flex;justify-content:space-between;align-items:center;margin-top:24px;padding:15px 16px;border-radius:10px;background:#cf6d2e;color:#fff;text-decoration:none;font-weight:850}
.drawer-footnote{margin-top:auto;padding-top:26px;color:#667085;font-size:.78rem;line-height:1.6}
@media(max-width:800px){.menu-toggle{display:flex}.nav-inner{gap:12px}.mobile-drawer{width:75vw}}
@media(max-width:390px){.mobile-drawer{padding:17px;width:78vw}.mobile-drawer nav a{font-size:.92rem;padding:14px 0}}
/* Image-only homepage carousel with a generous 4:3 desktop canvas */
.home-banner-section{padding:0 20px;margin:0 auto 46px;max-width:1260px}
.home-banner-carousel{max-width:1220px;border-radius:20px;overflow:hidden;background:#f7f5ef;position:relative;isolation:isolate}
.home-banner-track{position:relative;aspect-ratio:4/3;min-height:0}
.home-banner-slide{position:absolute;inset:0;aspect-ratio:4/3;min-height:0;overflow:hidden;background:var(--banner-bg,#f7f5ef);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .65s ease,visibility .65s ease}
.home-banner-slide.is-active{position:absolute;opacity:1;visibility:visible;pointer-events:auto}
.home-banner-image-link,.home-banner-picture{position:absolute;inset:0;display:block;width:100%;height:100%}
.home-banner-picture img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.home-banner-arrow{top:50%;width:42px;height:42px}
.home-banner-arrow.prev{left:14px}.home-banner-arrow.next{right:14px}
.home-banner-dots{bottom:15px}
@media(max-width:700px){
 .home-banner-section{padding:0 14px;margin-bottom:32px}
 .home-banner-carousel{border-radius:13px}
 .home-banner-track,.home-banner-slide{aspect-ratio:3/4}
 .home-banner-picture img{object-fit:cover}
 .home-banner-arrow{width:32px;height:32px}
 .home-banner-arrow.prev{left:8px}.home-banner-arrow.next{right:8px}
 .home-banner-dots{bottom:10px}
}
/* Category cards communicate the collection visually */
.category-grid{gap:16px}
.category-card-visual{position:relative;isolation:isolate;min-height:290px;padding:0;justify-content:flex-end;overflow:hidden;border:0;border-radius:18px;background:#202a31}
.category-card-visual>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.category-card-visual:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(10,18,25,.02) 12%,rgba(10,18,25,.2) 38%,rgba(10,18,25,.88) 100%)}
.category-card-visual:hover>img{transform:scale(1.055)}
.category-card-visual .card-index{position:absolute;top:15px;left:15px;margin:0;padding:7px 9px;border:1px solid rgba(255,255,255,.45);border-radius:7px;background:rgba(15,24,31,.4);color:#fff;font-size:.67rem;backdrop-filter:blur(8px)}
.category-card-copy{display:grid;gap:9px;padding:20px;color:#fff}
.category-card-copy strong{font-size:1.18rem;line-height:1.15;color:#fff}
.category-card-copy>span{font-size:.76rem;line-height:1.5;color:rgba(255,255,255,.84);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.category-card-copy>b{display:flex;justify-content:space-between;align-items:center;padding-top:11px;border-top:1px solid rgba(255,255,255,.25);font-size:.72rem;color:#fff}
.category-card-copy>b i{font-style:normal;font-size:1rem}
.product-card{padding:0;overflow:hidden;display:flex;flex-direction:column;background:#fff;transition:transform .2s ease,box-shadow .2s ease}
.product-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(16,24,40,.09)}
.product-media{height:270px;position:relative;background:#f7f5ef;border-radius:0;overflow:hidden}
.product-media img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.product-card:hover .product-media img{transform:scale(1.035)}
.product-image-label{position:absolute;left:12px;bottom:12px;top:auto;padding:5px 7px;border:1px solid rgba(255,255,255,.75);border-radius:6px;background:rgba(255,255,255,.88);color:#26313a;font-size:.55rem;letter-spacing:1px;font-weight:900}
.product-body{display:flex;flex:1;flex-direction:column;padding:17px}
.product-body .product-category-label{display:block;color:#a65a26;font-size:.61rem;letter-spacing:1px;text-transform:uppercase;font-weight:900}
.product-body h2{font-size:1rem;line-height:1.35;margin:8px 0 12px}
.product-quick-specs{display:grid;gap:5px;list-style:none;margin:0 0 14px;padding:0}
.product-quick-specs li{display:flex;justify-content:space-between;gap:8px;font-size:.68rem;line-height:1.4}
.product-quick-specs li span{color:#667085}.product-quick-specs li b{font-weight:750;text-align:right;color:#26313a}
.product-card-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:9px;margin-top:auto;padding-top:12px;border-top:1px solid #eef0f3}
.product-card-bottom>strong{font-size:.88rem;color:#101828}
.product-explore{font-size:.7rem;font-weight:850;color:#bd6429}
.business-grid-visual{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.business-visual-card{position:relative;isolation:isolate;min-height:320px;overflow:hidden;border:1px solid #2d3742;border-radius:17px;background:#17212b;color:#fff;text-decoration:none;display:flex;align-items:flex-end}
.business-visual-card>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.business-visual-card:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(9,16,23,.05),rgba(9,16,23,.86))}
.business-visual-card:hover>img{transform:scale(1.04)}
.business-visual-card>div{padding:25px}
.business-visual-card>div>b{font-size:.62rem;letter-spacing:1.6px;color:#f4bb91}
.business-visual-card h3{font-size:clamp(1.15rem,2vw,1.8rem);line-height:1.1;margin:12px 0 8px}
.business-visual-card p{font-size:.82rem;line-height:1.6;color:rgba(255,255,255,.82);max-width:430px;margin:0}
.business-visual-card>div>span{display:inline-block;margin-top:16px;font-size:.76rem;font-weight:850}
@media(max-width:520px){
 .category-grid,.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .category-card-visual{min-height:225px;border-radius:13px}
 .category-card-copy{padding:12px;gap:7px}
 .category-card-copy strong{font-size:.92rem}
 .category-card-copy>span{font-size:.68rem;line-height:1.4;-webkit-line-clamp:3}
 .category-card-copy>b{font-size:.63rem;padding-top:8px}
 .product-media{height:190px}
 .product-body{padding:11px}
 .product-body h2{font-size:.82rem;margin:6px 0 10px}
 .product-quick-specs{gap:4px}
 .product-quick-specs li{font-size:.61rem}
 .product-card-bottom>strong{font-size:.74rem}
 .product-explore{font-size:.64rem}
 .business-grid-visual{grid-template-columns:1fr}
 .business-visual-card{min-height:275px}
 .business-visual-card>div{padding:20px}
}
/* Footer stays in normal document flow; link groups are two columns on phones */
html,body{min-height:100%;height:auto}
body{min-height:100vh;display:flex;flex-direction:column}
body>main{flex:1 0 auto;width:100%}
body>.footer{position:relative;flex-shrink:0;margin-top:auto}
.footer{padding:46px 20px 24px}
.footer-inner.footer-v2{grid-template-columns:1.5fr .85fr 1fr 1fr;align-items:start;gap:30px}
.footer-brand{min-width:0}.footer-col{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:11px}
.footer-col h4{margin:0 0 8px;font-size:.7rem;letter-spacing:1.8px}
.footer-col>a{font-size:.8rem;line-height:1.45;text-decoration:none;color:#aeb8c3}
.footer-col>a:hover{color:#fff}
.footer-contact p{margin:0 0 4px;overflow-wrap:anywhere}
.footer-bottom{max-width:1180px;margin:32px auto 0;padding-top:20px;border-top:1px solid #2b343d;display:flex;justify-content:space-between;gap:15px;color:#778392;font-size:.73rem;line-height:1.6}
@media(max-width:1000px){.footer-inner.footer-v2{grid-template-columns:1fr 1fr;gap:30px 22px}.footer-brand,.footer-contact{grid-column:1/-1}}
@media(max-width:700px){
 .footer{padding:35px 18px 24px}
 .footer-inner.footer-v2{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}
 .footer-brand,.footer-contact{grid-column:1/-1}
 .footer-brand{padding-bottom:6px}
 .footer-col{gap:10px}
 .footer-col>a{font-size:.78rem}
 .footer-bottom{margin-top:28px;flex-direction:column;gap:6px}
}
@media(prefers-reduced-motion:reduce){.mobile-drawer,.drawer-backdrop,.menu-toggle span,.home-banner-slide,.category-card-visual>img,.product-media img,.business-visual-card>img{transition:none}}


/* Image-only admin previews and native file upload controls */
.banner-preview.image-only-preview{display:block;padding:0;min-height:0;aspect-ratio:4/3;background:#f7f5ef}
.banner-preview.image-only-preview picture,.banner-preview.image-only-preview>img{position:absolute;inset:0;width:100%;height:100%;display:block}
.banner-preview.image-only-preview img{object-fit:contain;opacity:1;background:var(--banner-bg,#f7f5ef)}
.banner-preview.image-only-preview:after{display:none}
.empty-banner-preview{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;background:#f7f5ef;color:#26313a}
.empty-banner-preview strong{font-size:1.2rem}.empty-banner-preview span{font-size:.8rem;color:#667085}
.home-banner-editor label input[type=file]{display:block;width:100%;margin-top:9px;padding:10px;border:1px dashed #cbd2da;border-radius:8px;background:#f9fafb;font-size:.75rem}
.upload-banner-button{display:inline-flex;margin-top:8px;min-height:36px;padding:0 12px;font-size:.75rem;cursor:pointer}
.upload-banner-button:disabled{opacity:.6;cursor:wait}


/* Catalogue filter sheet: compact search row + animated mobile bottom sheet */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.catalogue-toolbar{gap:15px}
.catalogue-sort-label{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:.74rem;white-space:nowrap}
.catalogue-sort-label select{min-width:175px;height:42px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:0 12px;color:var(--ink);font:inherit}
.catalogue-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin:20px 0 12px}
.catalogue-searchbar{display:flex;align-items:center;gap:10px;min-width:0;border:1px solid var(--line);border-radius:12px;background:#fff;padding:5px 6px 5px 14px;box-shadow:0 2px 6px rgba(16,24,40,.025)}
.catalogue-searchbar>span{font-size:1.5rem;color:#98a2b3}
.catalogue-searchbar input{min-width:0;flex:1;height:40px;border:0;outline:0;background:transparent;font:inherit;font-size:.86rem;color:var(--ink)}
.catalogue-searchbar button{height:40px;border:0;border-radius:8px;background:var(--ink);color:#fff;padding:0 17px;font-size:.78rem;font-weight:800;cursor:pointer}
.catalogue-filter-trigger{display:flex;align-items:center;justify-content:center;gap:9px;min-height:52px;padding:0 17px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font:inherit;font-size:.82rem;font-weight:850;cursor:pointer;white-space:nowrap}
.filter-trigger-icon{font-size:1.2rem;color:#bd6429}
.filter-count{display:grid;place-items:center;min-width:23px;height:23px;padding:0 6px;border-radius:99px;background:#f8e8dc;color:#a44f1e;font-size:.68rem}
.active-filter-chips{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0 22px}
.filter-chip{padding:7px 10px;border:1px solid #f0d4c1;border-radius:99px;background:#fff8f3;color:#a44f1e;text-decoration:none;font-size:.69rem;font-weight:750}
.filter-sheet-backdrop{position:fixed;inset:0;z-index:1300;background:rgba(10,18,26,.45);opacity:0;transition:opacity .28s ease}
.filter-sheet-backdrop[hidden]{display:none}.filter-sheet-backdrop.is-visible{opacity:1}
.filter-sheet{position:fixed;z-index:1301;left:0;right:0;bottom:0;max-height:min(88dvh,850px);overflow-y:auto;padding:12px 22px calc(22px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;background:#fff;box-shadow:0 -20px 70px rgba(16,24,40,.2);transform:translateY(105%);visibility:hidden;transition:transform .32s cubic-bezier(.2,.75,.25,1),visibility .32s ease}
.filter-sheet.is-open{transform:translateY(0);visibility:visible}
.filter-sheet-open{overflow:hidden}
.filter-sheet-grabber{width:42px;height:4px;margin:0 auto 19px;border-radius:8px;background:#d0d5dd}
.filter-sheet-header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding-bottom:20px;border-bottom:1px solid #eef0f3}
.filter-sheet-header h2{font-size:1.6rem;line-height:1.1;letter-spacing:-.04em;margin:7px 0}
.filter-sheet-header p{font-size:.8rem;line-height:1.5;color:var(--muted);margin:0}
.filter-sheet-close{flex:0 0 44px;width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink);font-size:1.8rem;line-height:1;cursor:pointer}
.filter-sheet-form{display:grid;gap:18px;padding:20px 0 0}
.filter-field{display:grid;gap:8px;border:0;margin:0;padding:0;min-width:0}
.filter-field>label,.filter-field>legend{font-size:.78rem;font-weight:850;color:#344054}
.filter-field select,.price-range-inputs input{width:100%;height:48px;border:1px solid #dfe3e8;border-radius:10px;padding:0 13px;background:#fff;color:var(--ink);font:inherit;font-size:.9rem;outline:none}
.filter-field select:focus,.price-range-inputs input:focus{border-color:#cf6d2e;box-shadow:0 0 0 3px rgba(207,109,46,.12)}
.price-range-inputs{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center}
.price-range-inputs>span{color:#98a2b3}.price-range-inputs label{display:grid;gap:6px;color:var(--muted);font-size:.7rem}
.price-range-field>small{font-size:.7rem;color:#98a2b3}
.filter-sheet-actions{position:sticky;bottom:-1px;display:flex;align-items:center;gap:14px;padding:14px 0 0;background:#fff;border-top:1px solid #eef0f3}
.filter-reset{font-size:.8rem;font-weight:800;color:var(--muted);text-decoration:none;white-space:nowrap}
.filter-sheet-actions .btn{flex:1;justify-content:space-between;min-height:50px}
.filter-sheet-actions .btn span{font-size:1.1rem}
.catalogue-load-more-wrap{display:grid;justify-items:center;gap:9px;padding:30px 0}
.catalogue-load-more{min-width:min(100%,310px);min-height:48px;gap:15px;cursor:pointer}
.catalogue-load-more:disabled{opacity:.6;cursor:wait}
.catalogue-load-more-wrap p{font-size:.72rem;color:var(--muted);margin:0}
.js-hidden{display:none!important}
.catalogue-badge{position:absolute;top:11px;left:11px;padding:6px 8px;border-radius:6px;background:#17212b;color:#fff;font-size:.58rem;font-weight:850}
.catalogue-badge.new{background:#e4f5e9;color:#187443}
.catalogue-sku{display:block;margin:8px 0;color:#98a2b3;font-size:.65rem}
.catalogue-price-line{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}
.catalogue-price-line>strong{font-size:.95rem;color:var(--ink)}
.catalogue-discount{color:#16834b;background:#eaf8ef;border-radius:5px;padding:4px 6px;font-size:.61rem;font-weight:850}
.catalogue-card-link{display:flex;justify-content:space-between;align-items:center;margin-top:14px;padding-top:11px;border-top:1px solid #eef0f3;color:#475467;font-size:.72rem;font-weight:800}
.catalogue-card-link b{color:#bd6429;font-size:1rem}
.catalogue-grid .product-card{position:relative;border-radius:15px;padding:0;overflow:hidden;display:flex;flex-direction:column}
.catalogue-grid .product-media{position:relative;height:255px;border-radius:0;overflow:hidden;background:#f3f0e9}
.catalogue-grid .product-media .placeholder{font-size:1.4rem}
.catalogue-grid .product-body{display:flex;flex-direction:column;flex:1;padding:15px}
.catalogue-grid .product-body h2{font-size:.95rem;line-height:1.3;margin:7px 0}
.catalogue-grid .product-body p{font-size:.74rem;line-height:1.5;color:var(--muted);margin:0 0 4px}
.catalogue-grid .catalogue-price-line{margin-top:auto;padding-top:12px}
@media(max-width:700px){
 .catalogue-body{padding-top:4px}
 .catalogue-toolbar{padding:13px 0;align-items:center}
 .catalogue-results-note{display:none}
 .catalogue-sort-label{gap:6px;font-size:.66rem}
 .catalogue-sort-label select{min-width:0;max-width:145px;height:38px;padding:0 8px;font-size:.72rem}
 .catalogue-controls{gap:8px;margin:16px 0 10px}
 .catalogue-searchbar{gap:6px;padding-left:10px}
 .catalogue-searchbar input{font-size:.76rem}
 .catalogue-searchbar button{padding:0 10px;font-size:.7rem}
 .catalogue-filter-trigger{min-height:50px;padding:0 11px;gap:6px;font-size:.75rem}
 .active-filter-chips{margin-bottom:17px}
 .filter-sheet{padding-left:18px;padding-right:18px}
 .catalogue-grid .product-media{height:205px}
 .catalogue-grid .product-body{padding:12px}
 .catalogue-grid .product-body h2{font-size:.83rem}
 .catalogue-grid .product-body p{font-size:.68rem}
 .catalogue-price-line>strong{font-size:.82rem}
}
@media(max-width:390px){.catalogue-searchbar input{font-size:.7rem}.catalogue-searchbar button{font-size:.65rem;padding:0 8px}.catalogue-filter-trigger{padding:0 9px}.catalogue-grid .product-media{height:175px}}
/* Product page: clear gallery controls, honest bulk offers, and wholesale-ready hierarchy */
.product-image-empty{width:100%;height:100%;min-height:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:radial-gradient(circle at 50% 35%,#fffdf9,#e9e3d9 70%,#d9d0c2);color:#a77d34}
.product-image-empty span{font-size:2rem;font-weight:950;letter-spacing:2px}
.product-image-empty small{font-size:.72rem;color:#746b5f}
.thumbs{display:flex;gap:10px;overflow-x:auto;padding:3px 2px 7px}
.thumb{flex:0 0 76px;position:relative;cursor:pointer;transition:border-color .2s,box-shadow .2s}
.thumb.active{border:2px solid #cf6d2e;box-shadow:0 0 0 2px rgba(207,109,46,.12)}
.thumb:focus-visible{outline:2px solid #cf6d2e;outline-offset:2px}
.price-block{margin:20px 0 8px}
.price-block .price{margin:0;font-size:clamp(1.6rem,3vw,2.1rem);letter-spacing:-.035em}
.price-block .price small{font-size:.75rem;font-weight:600;color:var(--muted);letter-spacing:0}
.product-offer-line{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-top:10px}
.product-offer-line strong{color:#167846;font-size:.96rem}
.product-offer-line span{padding:5px 8px;border-radius:6px;background:#e7f7ed;color:#187443;font-size:.68rem;font-weight:850}
.buybox{flex-wrap:wrap;gap:10px}
.buybox-note{width:100%;font-size:.7rem;color:#16834b}
.product-recommendations{padding-top:35px}
.product-recommendations .section-head p,.recently-viewed-section .section-head p{font-size:.82rem;color:var(--muted);line-height:1.6}
.product-recommendations .product-grid,.recently-viewed-section .product-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.product-recommendations .product-card,.recently-viewed-section .product-card{padding:0;overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;text-decoration:none;background:#fff}
.product-recommendations .product-media,.recently-viewed-section .product-media{height:215px;border-radius:0;background:#f4f0e9}
.product-recommendations .product-media img,.recently-viewed-section .product-media img{width:100%;height:100%;object-fit:cover}
.product-recommendations .product-body,.recently-viewed-section .product-body{padding:14px;display:flex;flex:1;flex-direction:column;gap:7px}
.product-recommendations .product-body h2,.recently-viewed-section .product-body h2{font-size:.9rem;line-height:1.3;margin:0}
.product-recommendations .product-body>span,.recently-viewed-section .product-body>span{font-size:.62rem;text-transform:uppercase;letter-spacing:.8px;color:#a65a26;font-weight:900}
.product-recommendations .product-body>strong,.recently-viewed-section .product-body>strong{font-size:.82rem;margin-top:auto;padding-top:8px}
.recently-viewed-section[hidden]{display:none}
@media(max-width:850px){.product-recommendations .product-grid,.recently-viewed-section .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-recommendations .product-media,.recently-viewed-section .product-media{height:190px}}
@media(max-width:520px){.product-recommendations .section-head{display:block}.product-recommendations .section-head>a,.recently-viewed-section .section-head>a{display:inline-block;margin-top:10px}.product-recommendations .product-media,.recently-viewed-section .product-media{height:165px}.product-recommendations .product-body,.recently-viewed-section .product-body{padding:11px}}
/* Services landing page: concise top spacing and image-led business cards */
.services-index-page .services-hero-banner{max-width:1220px;padding-top:38px;padding-bottom:46px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:38px;align-items:center}
.services-hero-copy h1{font-size:clamp(2.7rem,5.8vw,5.5rem);line-height:.96;letter-spacing:-.06em;max-width:720px;margin:14px 0 18px}
.services-hero-copy>p{font-size:.98rem;line-height:1.75;color:var(--muted);max-width:640px}
.services-hero-points{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}
.services-hero-points span{padding:8px 11px;border:1px solid var(--line);border-radius:99px;color:#a65a26;font-size:.68rem;font-weight:800}
.services-hero-art{height:450px;position:relative;overflow:hidden;border-radius:20px;background:#f0ece5}
.services-hero-art>img{width:100%;height:100%;display:block;object-fit:cover}
.services-hero-art:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,24,32,0),rgba(16,24,32,.18))}
.services-hero-art-card{position:absolute;z-index:1;left:18px;right:18px;bottom:18px;display:grid;gap:8px;padding:21px;border:1px solid rgba(255,255,255,.55);border-radius:14px;background:rgba(255,255,255,.82);backdrop-filter:blur(14px);box-shadow:0 12px 40px rgba(16,24,40,.12)}
.services-hero-art-card>span{font-size:.62rem;letter-spacing:1.5px;color:#a65a26;font-weight:900}
.services-hero-art-card strong{font-size:1.5rem;line-height:1.05;letter-spacing:-.04em}
.services-hero-art-card small{font-size:.7rem;color:var(--muted)}
.services-grid-section{padding-top:20px}
.services-visual-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.service-image-card{position:relative;isolation:isolate;min-height:360px;padding:0;overflow:hidden;border:0;background:#17212b;color:#fff;display:flex;align-items:flex-end}
.service-image-card>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.service-image-card:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(11,18,25,.02) 10%,rgba(11,18,25,.85) 100%)}
.service-image-card:hover>img{transform:scale(1.04)}
.service-image-card .solution-number{position:absolute;top:17px;left:17px;padding:7px 10px;border:1px solid rgba(255,255,255,.55);border-radius:8px;background:rgba(12,20,28,.38);color:#fff;backdrop-filter:blur(10px)}
.service-image-copy{width:100%;padding:24px}
.service-image-copy .kicker{color:#f3c29f}
.service-image-copy h2{font-size:clamp(1.5rem,3vw,2.25rem);line-height:1.06;letter-spacing:-.035em;margin:10px 0}
.service-image-copy p{color:rgba(255,255,255,.84);font-size:.82rem;line-height:1.6;max-width:600px}
.service-image-copy strong{display:flex;justify-content:space-between;align-items:center;padding-top:13px;margin-top:15px;border-top:1px solid rgba(255,255,255,.28);font-size:.76rem}
.service-image-copy strong span{font-size:1rem;color:#f3c29f}
.services-process-band{margin-bottom:40px}
@media(max-width:800px){.services-index-page .services-hero-banner{grid-template-columns:1fr;padding-top:28px;padding-bottom:30px;gap:25px}.services-hero-art{height:330px}.services-visual-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-image-card{min-height:300px}.service-image-copy{padding:17px}}
@media(max-width:520px){.services-index-page .services-hero-banner{padding-top:20px}.services-hero-copy h1{font-size:2.7rem}.services-hero-art{height:290px;border-radius:14px}.services-hero-art-card{left:10px;right:10px;bottom:10px;padding:15px}.services-hero-art-card strong{font-size:1.2rem}.services-hero-points{gap:6px}.services-hero-points span{font-size:.61rem;padding:7px 9px}.services-visual-grid{grid-template-columns:1fr}.service-image-card{min-height:300px}}
/* Category cards: glass-backed text stays legible over photography */
.category-card-copy{position:relative;margin:0 10px 10px;padding:15px 14px;border:1px solid rgba(255,255,255,.3);border-radius:12px;background:rgba(15,23,32,.48);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 8px 28px rgba(0,0,0,.1)}
.category-card-copy strong{color:#fff;text-shadow:0 1px 5px rgba(0,0,0,.18)}
.category-card-copy>span{color:rgba(255,255,255,.92)}
.category-card-visual .card-index{background:rgba(18,26,34,.55);backdrop-filter:blur(12px);color:#fff;border-color:rgba(255,255,255,.42)}
/* The drawer close button mirrors the menu trigger dimensions */
.drawer-close{width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center;padding:0;border-radius:50%;font-size:1.65rem;line-height:1}
.drawer-head{align-items:center}
.solution-detail-hero{padding-top:0!important}
.solution-detail-hero .breadcrumbs{padding-top:20px;padding-bottom:8px}
.solution-detail-copy{padding:26px 0 34px}
@media(prefers-reduced-motion:reduce){.filter-sheet,.filter-sheet-backdrop,.service-image-card>img{transition:none}}


/* Service detail pages: bring the headline up and balance it with an image banner */
.service-detail-hero-banner{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.82fr);gap:25px 50px;align-items:center;padding-top:0!important;padding-bottom:36px}
.service-detail-hero-banner .breadcrumbs{grid-column:1/-1;padding:17px 0 0}
.service-detail-hero-banner .solution-detail-copy{padding:12px 0 18px;max-width:760px}
.service-detail-hero-banner .solution-detail-copy h1{font-size:clamp(2.6rem,5.6vw,5.4rem);margin:12px 0 17px}
.service-detail-hero-banner .solution-detail-copy>p{font-size:.98rem;line-height:1.75}
.service-detail-proof{display:flex;flex-wrap:wrap;gap:8px;margin-top:23px}
.service-detail-proof span{padding:8px 10px;border:1px solid var(--line);border-radius:99px;color:#667085;font-size:.65rem;font-weight:750}
.service-detail-banner{height:440px;position:relative;overflow:hidden;border-radius:20px;background:#f0ece5}
.service-detail-banner>img{width:100%;height:100%;display:block;object-fit:cover}
.service-detail-banner:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,24,32,0),rgba(16,24,32,.18))}
.service-detail-banner-card{position:absolute;z-index:1;left:16px;right:16px;bottom:16px;display:grid;gap:7px;padding:18px;border:1px solid rgba(255,255,255,.6);border-radius:13px;background:rgba(255,255,255,.84);backdrop-filter:blur(13px);-webkit-backdrop-filter:blur(13px)}
.service-detail-banner-card span{font-size:.6rem;letter-spacing:1.5px;font-weight:900;color:#a65a26}
.service-detail-banner-card strong{font-size:1.35rem;line-height:1.1}
.service-detail-banner-card small{font-size:.68rem;color:var(--muted)}
@media(max-width:800px){.service-detail-hero-banner{grid-template-columns:1fr;gap:20px;padding-top:0!important}.service-detail-hero-banner .solution-detail-copy{padding:12px 0 0}.service-detail-banner{height:330px}.service-detail-proof{gap:6px}}
@media(max-width:520px){.service-detail-hero-banner .breadcrumbs{padding-top:14px}.service-detail-hero-banner .solution-detail-copy h1{font-size:2.7rem}.service-detail-banner{height:280px;border-radius:14px}.service-detail-banner-card{left:10px;right:10px;bottom:10px;padding:14px}.service-detail-proof span{font-size:.59rem;padding:7px 8px}}

.tier-saving{display:inline-flex;align-self:start;padding:4px 6px;border-radius:5px;background:#e7f7ed;color:#187443;font-size:.62rem;font-style:normal;font-weight:850}
.product-gallery-admin{margin:18px 0;padding:18px;border:1px solid var(--line);border-radius:12px;background:#f9fafb}.product-gallery-admin h3{margin:0 0 6px}.product-gallery-admin>p{margin:0 0 14px;color:var(--muted);font-size:.8rem;line-height:1.6}.product-gallery-admin input[type=file]{display:block;width:100%;margin-top:8px;padding:9px;border:1px dashed #cbd2da;border-radius:8px;background:#fff;font-size:.72rem}.product-image-upload{display:inline-flex;margin-top:7px;min-height:34px;padding:0 10px;font-size:.72rem;cursor:pointer}.product-image-upload:disabled{opacity:.6;cursor:wait}


/* Match the drawer close control to the exact hamburger button footprint and header position */
.mobile-drawer{padding-top:15px}
.mobile-drawer .drawer-head{min-height:44px;padding-bottom:22px;padding-right:58px;position:relative}
.mobile-drawer .drawer-head>.drawer-close{position:absolute;top:0;right:0;width:44px;height:44px;min-width:44px;min-height:44px;flex:0 0 44px;box-sizing:border-box;display:grid;place-items:center;margin:0;padding:0;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);font-family:Arial,sans-serif;font-size:27px;font-weight:400;line-height:1;cursor:pointer;transform:none;box-shadow:none}
.mobile-drawer .drawer-head>.drawer-close:active{background:#f8fafc}
@media(max-width:390px){.mobile-drawer{padding-top:15px}.mobile-drawer .drawer-head{padding-right:54px}.mobile-drawer .drawer-head>.drawer-close{top:0;right:0;width:44px;height:44px;min-width:44px;min-height:44px}}


/* Keep the original header control above the drawer and morph it into the X in-place */
@media(max-width:800px){
 .menu-toggle{position:relative;z-index:1203;transition:background .22s ease,border-color .22s ease}
 .menu-toggle.is-open{position:fixed;top:15px;right:20px;margin:0;background:#fff;border-color:var(--line);border-radius:11px}
 .menu-toggle.is-open span{position:absolute;left:11px;top:20px;width:20px;height:2px;transform-origin:center;opacity:1}
 .menu-toggle.is-open span:nth-child(1){transform:rotate(45deg)}
 .menu-toggle.is-open span:nth-child(2){transform:rotate(-45deg)}
 .menu-toggle.is-open span:nth-child(3){opacity:0;transform:scaleX(0)}
 .mobile-drawer .drawer-head>.drawer-close{display:none!important}
 .mobile-drawer .drawer-head{padding-right:0}
}
@media(max-width:390px){.menu-toggle.is-open{right:20px;top:15px}}


/* Real same-button morph: the menu control is moved into the drawer header while open */
@media(max-width:800px){
 .mobile-drawer .drawer-head{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:64px;padding:0 0 18px;border-bottom:1px solid var(--line)}
 .drawer-title{display:block;color:#101828;font-family:inherit;font-size:1.2rem;font-weight:900;letter-spacing:.04em;line-height:1}
 .mobile-drawer .drawer-head>.menu-toggle.is-open{position:relative;inset:auto;top:auto;right:auto;z-index:1205;width:44px;height:44px;min-width:44px;min-height:44px;margin:0 0 0 auto;padding:0;border:1px solid var(--line);border-radius:11px;background:#fff;box-sizing:border-box}
 .mobile-drawer .drawer-head>.menu-toggle.is-open span{position:absolute;left:11px;top:20px;width:20px;height:2px;background:#101828;transform-origin:center;opacity:1}
 .mobile-drawer .drawer-head>.menu-toggle.is-open span:nth-child(1){transform:rotate(45deg)}
 .mobile-drawer .drawer-head>.menu-toggle.is-open span:nth-child(2){transform:rotate(-45deg)}
 .mobile-drawer .drawer-head>.menu-toggle.is-open span:nth-child(3){opacity:0;transform:scaleX(0)}
 .mobile-drawer .drawer-close{display:none!important}
}


/* Final mobile drawer control fix: keep the original header button anchored in place */
@media(max-width:800px){
 .site-header{position:relative;z-index:1202}
 .nav-inner>.menu-toggle.is-open{position:fixed!important;top:15px!important;right:20px!important;left:auto!important;z-index:1205!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;margin:0!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important;border:1px solid var(--line)!important;border-radius:11px!important;background:#fff!important;box-sizing:border-box!important;transform:none!important}
 .nav-inner>.menu-toggle.is-open span{position:absolute!important;left:11px!important;top:20px!important;width:20px!important;height:2px!important;gap:0!important;margin:0!important;background:#101828!important;transform-origin:center!important;opacity:1!important}
 .nav-inner>.menu-toggle.is-open span:nth-child(1){transform:rotate(45deg)!important}
 .nav-inner>.menu-toggle.is-open span:nth-child(2){transform:rotate(-45deg)!important}
 .nav-inner>.menu-toggle.is-open span:nth-child(3){opacity:0!important;transform:scaleX(0)!important}
 .mobile-drawer{z-index:1201}
 .drawer-backdrop{z-index:1200;cursor:pointer}
 .mobile-drawer .drawer-head{padding-right:0!important}
}


/* Final drawer header: the actual menu button moves into this header, above the drawer content */
@media(max-width:800px){
 .mobile-drawer .drawer-head>.menu-toggle.is-open{
  position:relative!important;inset:auto!important;top:auto!important;right:auto!important;left:auto!important;
  z-index:1305!important;display:flex!important;visibility:visible!important;opacity:1!important;
  width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;
  flex:0 0 44px!important;margin:0 0 0 auto!important;padding:0!important;
  align-items:center!important;justify-content:center!important;box-sizing:border-box!important;
  border:1px solid #e1e5eb!important;border-radius:11px!important;background:#fff!important;
  transform:none!important;box-shadow:none!important;pointer-events:auto!important
 }
 .mobile-drawer .drawer-head>.menu-toggle.is-open span{
  position:absolute!important;left:11px!important;top:20px!important;display:block!important;
  width:20px!important;height:2px!important;min-height:2px!important;margin:0!important;padding:0!important;
  border-radius:2px!important;background:#101828!important;transform-origin:center!important;opacity:1!important
 }
 .mobile-drawer .drawer-head>.menu-toggle.is-open span:nth-child(1){transform:rotate(45deg)!important}
 .mobile-drawer .drawer-head>.menu-toggle.is-open span:nth-child(2){transform:rotate(-45deg)!important}
 .mobile-drawer .drawer-head>.menu-toggle.is-open span:nth-child(3){opacity:0!important;transform:scaleX(0)!important}
 .mobile-drawer .drawer-head{position:relative!important;z-index:1304!important;overflow:visible!important;padding-right:0!important}
 .mobile-drawer{z-index:1201!important}
 .drawer-backdrop{z-index:1200!important}
}


/* OSIRA catalogue and collection refinements */
.catalogue-hero{padding-top:34px!important;padding-bottom:18px!important}
.catalogue-intro{max-width:760px}
.catalogue-intro h1{font-size:clamp(2rem,4.2vw,4rem)!important;line-height:1.02!important;margin:8px 0 10px!important;letter-spacing:-.045em!important}
.catalogue-intro p{font-size:.92rem;line-height:1.5!important;max-width:560px!important;margin:0!important}
.catalogue-body{padding-top:14px!important}
.catalogue-toolbar{margin-bottom:16px}
.catalogue-controls{margin-bottom:18px}
.catalogue-grid{align-items:stretch}
.catalogue-load-more-wrap{min-height:80px}
.catalogue-load-more-wrap p{font-size:.78rem;color:var(--muted)}
/* Product carousel and gallery media are consistently 4:3 */
.main-image{aspect-ratio:4/3!important;height:auto!important;min-height:0!important}
.main-image img{width:100%;height:100%;aspect-ratio:4/3;min-height:0!important;height:auto!important;max-height:none;object-fit:contain}
@media(min-width:851px){.main-image{min-height:0!important}.main-image img{height:100%!important;min-height:0!important}}
@media(max-width:850px){.main-image,.main-image img{height:auto!important;min-height:0!important;aspect-ratio:4/3!important}}
@media(max-width:520px){.main-image,.main-image img{height:auto!important;min-height:0!important;aspect-ratio:4/3!important}}
/* Image-first collection cards: compact thumbnails with readable labels below */
.collections-hero{padding-top:38px!important;padding-bottom:24px!important}
.collections-hero h1{font-size:clamp(2.2rem,5vw,4.7rem)!important;line-height:1!important;margin:9px 0 12px!important}
.collections-hero p{font-size:.9rem;line-height:1.55!important;max-width:650px!important}
.category-grid-v2{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:18px!important}
.category-card-v2{display:block!important;min-height:0!important;padding:0!important;overflow:hidden;border-radius:13px!important;background:#fff!important;box-shadow:0 3px 14px rgba(16,24,40,.045);transition:transform .2s ease,box-shadow .2s ease!important}
.category-card-v2:hover{transform:translateY(-3px)!important;box-shadow:0 10px 25px rgba(16,24,40,.1)!important}
.collection-thumb{position:relative;width:100%;aspect-ratio:4/3;background:#f1eee8;overflow:hidden}
.collection-thumb>img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.category-card-v2:hover .collection-thumb>img{transform:scale(1.04)}
.collection-thumb-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:linear-gradient(145deg,#f7f4ee,#e9e2d6);color:#a77d34}
.collection-thumb-placeholder span{font-size:1.1rem;font-weight:950;letter-spacing:.06em}
.collection-thumb-placeholder small{font-size:.52rem;letter-spacing:.16em;color:#82735e}
.collection-thumb .collection-number{position:absolute;left:9px;top:9px;padding:5px 7px;border-radius:6px;background:rgba(16,24,40,.68);color:#fff;font-size:.6rem;backdrop-filter:blur(8px)}
.category-card-v2 .category-card-content{padding:11px 12px 13px;margin:0!important;display:flex;flex-direction:column;gap:5px}
.category-card-v2 h2{font-size:.9rem!important;line-height:1.2;margin:0!important;letter-spacing:-.015em}
.category-card-v2 .collection-count{font-size:.63rem;letter-spacing:.02em;text-transform:none;color:var(--muted)}
.collection-index{margin-bottom:15px}
@media(max-width:800px){.category-grid-v2{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important}.category-card-v2 .category-card-content{padding:9px 9px 11px}.category-card-v2 h2{font-size:.78rem!important}.category-card-v2 .collection-count{font-size:.58rem}}
@media(max-width:420px){.category-grid-v2{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}.category-card-v2 .category-card-content{padding:8px 7px 9px}.category-card-v2 h2{font-size:.72rem!important}.category-card-v2 .collection-count{font-size:.54rem}.collection-thumb .collection-number{top:6px;left:6px;padding:4px 5px;font-size:.53rem}}
/* Filter sheet owns scrolling; prevent background/body scroll including iOS Safari */
body.filter-sheet-open{position:fixed!important;overflow:hidden!important;width:100%!important;left:0!important;right:0!important;overscroll-behavior:none!important}
.filter-sheet{overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important;touch-action:pan-y!important;max-height:calc(100dvh - env(safe-area-inset-top))!important;padding-bottom:calc(22px + env(safe-area-inset-bottom))!important}
.filter-sheet-backdrop{position:fixed!important;inset:0!important;z-index:1300!important;touch-action:none!important}
.filter-sheet{z-index:1301!important}
.filter-sheet-form{overscroll-behavior:contain}
.filter-sheet-open .site-header{pointer-events:none}
/* About OSIRA page */
.about-hero{padding-top:70px;padding-bottom:55px}
.about-hero h1{max-width:950px;font-size:clamp(2.8rem,7vw,6.3rem);line-height:.95;letter-spacing:-.06em;margin:12px 0 20px}
.about-hero>p{max-width:740px;color:var(--muted);font-size:1.08rem;line-height:1.8}
.about-value-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding-top:25px}
.about-value-grid article{border:1px solid var(--line);border-radius:16px;padding:25px;background:#fff}
.about-value-grid article>span{color:var(--accent);font-size:.7rem;font-weight:900;letter-spacing:.12em}
.about-value-grid h2{font-size:1.25rem;line-height:1.15;margin:25px 0 10px}
.about-value-grid p,.about-location p{color:var(--muted);font-size:.88rem;line-height:1.75}
.about-location{display:grid;grid-template-columns:1.2fr .8fr;gap:35px;align-items:center}
.about-location h2,.about-cta h2{font-size:clamp(2rem,4vw,3.6rem);line-height:1.02;letter-spacing:-.04em;margin:10px 0}
.about-location-card{display:grid;gap:12px;padding:28px;border-radius:16px;background:#f3f0e9;border:1px solid #e4ded2}
.about-location-card strong{font-size:1.7rem}.about-location-card span{color:var(--muted);font-size:.88rem}.about-location-card a{font-weight:800;text-decoration:none}
.about-cta{display:flex;justify-content:space-between;align-items:center;gap:25px;background:#101820;color:#fff;border-radius:18px;margin-bottom:45px}
.about-cta .kicker{color:#f3b78f}.about-cta .btn{white-space:nowrap}
@media(max-width:700px){.catalogue-hero{padding-top:22px!important;padding-bottom:10px!important}.catalogue-intro h1{font-size:2.1rem!important}.catalogue-intro p{font-size:.82rem}.catalogue-body{padding-top:10px!important}.collections-hero{padding-top:25px!important;padding-bottom:18px!important}.collections-hero p{font-size:.82rem}.about-hero{padding-top:38px;padding-bottom:25px}.about-hero h1{font-size:2.65rem}.about-hero>p{font-size:.95rem;line-height:1.65}.about-value-grid{grid-template-columns:1fr;padding-top:10px;gap:10px}.about-value-grid article{padding:19px}.about-value-grid h2{margin:14px 0 8px}.about-location{grid-template-columns:1fr;gap:18px}.about-cta{display:grid;padding:24px!important}.about-cta .btn{width:100%}}


/* Keep the hero carousel landscape 4:3 on mobile as well as desktop */
@media(max-width:800px){
 .home-banner-track,.home-banner-slide{aspect-ratio:4/3!important;min-height:0!important;height:auto!important}
 .home-banner-slide{height:100%!important}
}


/* Final mobile header and banner edge-to-edge correction */
@media(max-width:800px){
  /* An earlier drawer fix accidentally changed the mobile header to relative,
     which made it scroll away. Keep the header sticky during normal scrolling. */
  body:not(.drawer-open):not(.filter-sheet-open)>.site-header{
    position:sticky!important;
    top:0!important;
    z-index:1400!important;
    width:100%!important;
  }
  body.drawer-open>.site-header{
    position:sticky!important;
    top:0!important;
    z-index:1199!important;
  }
  .nav-inner{min-height:66px}
  /* Outer section owns the page gutter; image and its background fill the
     entire carousel frame without an additional inset. */
  .home-banner-section{
    width:100%!important;
    max-width:1260px!important;
    padding:0 14px!important;
    margin:0 auto 32px!important;
  }
  .home-banner-carousel{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    position:relative!important;
    border-radius:13px!important;
    background:var(--banner-bg,#f7f5ef)!important;
  }
  .home-banner-track{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:4/3!important;
    padding:0!important;
    overflow:hidden!important;
  }
  .home-banner-slide{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    aspect-ratio:auto!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    overflow:hidden!important;
  }
  .home-banner-image-link,.home-banner-picture{
    position:absolute!important;
    inset:0!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
  }
  .home-banner-picture img{
    display:block!important;
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    object-fit:cover!important;
    object-position:center!important;
  }
}


/* Enlarge the artwork inside the hero banner so the clock uses the available canvas */
.home-banner-picture img{
  transform:scale(1.10);
  transform-origin:center center;
}
@media(max-width:800px){
  .home-banner-picture img{
    transform:scale(1.16)!important;
    transform-origin:center center!important;
  }
}


/* Desktop homepage hero: balanced, premium-height carousel.
   Keep the mobile 4:3 layout unchanged and let the artwork fill the frame. */
@media(min-width:801px){
  .home-banner-section{
    width:100%;
    max-width:1300px;
    padding:0 24px;
    margin:0 auto 42px;
  }
  .home-banner-carousel{
    width:100%;
    max-width:none;
    border-radius:18px;
  }
  .home-banner-track{
    aspect-ratio:2.25/1!important;
    min-height:0!important;
    height:auto!important;
    max-height:500px;
  }
  .home-banner-slide{
    aspect-ratio:auto!important;
    min-height:0!important;
    height:100%!important;
  }
  .home-banner-image-link,
  .home-banner-picture{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
  }
  .home-banner-picture img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
    transform:none!important;
  }
}


/* Desktop hero carousel: reduce oversized banner height and remove extra zoom.
   Keep mobile's approved 4:3 framing unchanged. */
@media (min-width: 801px) {
  .home-banner-section {
    margin-bottom: 42px;
  }
  .home-banner-track,
  .home-banner-slide {
    height: clamp(300px, 27vw, 390px) !important;
    min-height: 0 !important;
  }
  .home-banner-picture img {
    transform: none !important;
    object-fit: cover !important;
    object-position: center center !important;
  }
}

/* Desktop carousel uses the same 3.3:1 frame as the admin crop editor.
   This keeps image cropping and the actual visible carousel dimensions aligned. */
@media screen and (min-width: 801px) {
  body .home-banner-section .home-banner-carousel {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 3.3 / 1 !important;
    max-height: none !important;
    overflow: hidden !important;
  }
  body .home-banner-section .home-banner-carousel .home-banner-track {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 3.3 / 1 !important;
    position: relative !important;
  }
  body .home-banner-section .home-banner-carousel .home-banner-slide,
  body .home-banner-section .home-banner-carousel .home-banner-slide.is-active {
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: auto !important;
  }
  body .home-banner-section .home-banner-carousel .home-banner-picture img {
    height: 100% !important;
    width: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    transform: none !important;
  }
}


/* Final carousel sizing: compact 16:9 mobile frame, matching the admin cropper.
   Keep this block last so older responsive rules cannot override the ratio. */
@media screen and (max-width: 800px) {
  body .home-banner-section .home-banner-carousel {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 9 !important;
    max-height: none !important;
    overflow: hidden !important;
  }
  body .home-banner-section .home-banner-carousel .home-banner-track {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 16 / 9 !important;
    position: relative !important;
  }
  body .home-banner-section .home-banner-carousel .home-banner-slide,
  body .home-banner-section .home-banner-carousel .home-banner-slide.is-active {
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: auto !important;
  }
  body .home-banner-section .home-banner-carousel .home-banner-picture img {
    height: 100% !important;
    width: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    transform: none !important;
  }
  body .home-banner-section .home-banner-arrow { top: 50% !important; }
}
@media screen and (max-width: 700px) {
  .home-banner-editor .banner-preview.image-only-preview { aspect-ratio: 16 / 9 !important; }
}


/* Final product-card image ratio: square thumbnails across home and catalogue grids. */
body .product-card .product-media,
body .catalogue-grid .product-media {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
}
body .product-card .product-media img,
body .catalogue-grid .product-media img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
}


/* Collection detail pages: tighter editorial spacing and compact mobile hierarchy. */
.category-detail-hero-v2 { padding-top: 14px !important; }
.category-detail-hero-v2 .category-detail-copy { padding: 30px 0 26px !important; }
.category-detail-hero-v2 .breadcrumbs { margin: 0 !important; }
.category-products-v2 { padding-top: 34px !important; }
.category-detail-copy .actions { display:flex; flex-wrap:wrap; gap:12px; }
@media (max-width: 700px) {
  .category-detail-hero-v2 { padding-top: 8px !important; }
  .category-detail-hero-v2 .category-detail-copy { padding: 24px 0 22px !important; }
  .category-detail-copy h1 { font-size: clamp(2.2rem, 10vw, 3.5rem) !important; line-height: .98 !important; margin: 10px 0 14px !important; }
  .category-detail-copy p { font-size: .98rem !important; line-height: 1.6 !important; margin: 0 0 18px !important; }
  .category-detail-copy .actions { display:grid !important; grid-template-columns:1fr !important; gap:9px !important; }
  .category-detail-copy .actions .btn { width:100%; min-height:50px; justify-content:center; }
  .category-detail-hero-v2 .category-stats { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
  .category-detail-hero-v2 .category-stats div { padding:13px 8px !important; border-bottom:0 !important; border-right:1px solid var(--line) !important; }
  .category-detail-hero-v2 .category-stats div:last-child { border-right:0 !important; }
  .category-detail-hero-v2 .category-stats strong { font-size:.94rem !important; }
  .category-detail-hero-v2 .category-stats span { font-size:.62rem !important; line-height:1.35; }
  .category-products-v2 { padding-top:28px !important; }
  .category-products-v2 .section-head { align-items:flex-start; gap:8px; }
  .category-products-v2 .section-head h2 { font-size:1.55rem; }
}

/* Small, restrained product badges in the top-left corner of product imagery. */
.product-media { position:relative; }
.product-status-badge {
  position:absolute; z-index:3; left:9px; top:9px;
  display:inline-flex; align-items:center; justify-content:center;
  max-width:calc(100% - 18px); padding:5px 8px;
  border:1px solid rgba(255,255,255,.85); border-radius:5px;
  background:#fff; color:#182331; font-size:.58rem; line-height:1;
  letter-spacing:.045em; font-weight:900; text-transform:uppercase;
  box-shadow:0 2px 8px rgba(16,24,40,.09);
}
.product-status-badge.new { background:#e8f7ed; color:#176b3a; border-color:#d4efdd; }
.product-status-badge.featured { background:#fff0e6; color:#9d4a20; border-color:#ffdfc9; }
.product-status-badge.bestseller { background:#edf3ff; color:#214c9a; border-color:#d9e5ff; }
.product-image-label { left:auto !important; right:9px !important; top:9px !important; max-width:calc(100% - 110px); }
@media(max-width:430px) {
 .product-status-badge { left:7px; top:7px; padding:4px 6px; font-size:.52rem; }
 .product-image-label { right:7px !important; top:7px !important; font-size:.48rem !important; max-width:55%; }
}


/* OSIRA collection cards: square, image-first, minimal overlays. */
.collections-hero { padding-bottom:24px !important; }
.collections-hero h1 { max-width:780px; }
.collections-hero p { max-width:650px; }
.collection-hero-link { display:inline-flex; align-items:center; gap:8px; margin-top:12px; font-size:.92rem; font-weight:650; text-decoration:underline; text-underline-offset:4px; }
.collections-grid-section { padding-top:10px !important; }
.category-grid-v2 { grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:18px !important; }
.category-card-v2 { display:block !important; min-height:0 !important; padding:0 !important; overflow:hidden; border:1px solid #e7e7e7 !important; border-radius:16px !important; background:#fff !important; }
.category-card-v2 .collection-thumb { position:relative; width:100%; aspect-ratio:1/1 !important; overflow:hidden; background:#f1eee8; }
.category-card-v2 .collection-thumb>img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.category-card-v2:hover .collection-thumb>img { transform:scale(1.035); }
.collection-explore { position:absolute; top:10px; right:10px; z-index:2; display:inline-flex; align-items:center; gap:6px; padding:7px 9px; border:1px solid rgba(255,255,255,.6); border-radius:7px; background:rgba(255,255,255,.92); color:#182331; font-size:.65rem; font-weight:800; line-height:1; box-shadow:0 2px 8px rgba(0,0,0,.08); }
.collection-title-glass { position:absolute; left:10px; right:10px; bottom:31px; z-index:2; padding:11px 12px; border:1px solid rgba(255,255,255,.35); border-radius:10px; background:rgba(17,24,32,.43); backdrop-filter:blur(7px); -webkit-backdrop-filter:blur(7px); }
.collection-title-glass h2 { margin:0 !important; color:#fff; font-size:1.02rem !important; line-height:1.2; letter-spacing:-.015em; font-weight:750; text-shadow:0 1px 5px rgba(0,0,0,.18); }
.collection-brand-note { position:absolute; left:12px; bottom:11px; z-index:2; color:#fff; font-size:.54rem; font-weight:850; letter-spacing:.13em; line-height:1; text-shadow:0 1px 5px rgba(0,0,0,.7); }
.collection-card-content,.category-card-v2 .category-card-content { display:none !important; }
.collection-number { display:none !important; }
@media(max-width:800px) {
 .category-grid-v2 { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:12px !important; }
 .collections-hero { padding-bottom:20px !important; }
 .collections-hero h1 { font-size:clamp(2.2rem,8vw,3.4rem); line-height:.98; }
 .collections-hero p { font-size:.95rem; line-height:1.55; }
 .collection-title-glass { left:8px; right:8px; bottom:29px; padding:9px 10px; }
 .collection-title-glass h2 { font-size:.88rem !important; }
 .collection-explore { top:8px; right:8px; padding:6px 7px; font-size:.58rem; }
 .collection-brand-note { left:10px; bottom:10px; font-size:.48rem; }
}
@media(max-width:380px) {
 .category-grid-v2 { gap:8px !important; }
 .collection-title-glass { left:6px; right:6px; bottom:25px; padding:8px; }
 .collection-title-glass h2 { font-size:.78rem !important; }
 .collection-explore { top:6px; right:6px; }
 .collection-brand-note { left:8px; bottom:8px; font-size:.43rem; }
}
@media(prefers-reduced-motion:reduce) { .category-card-v2 .collection-thumb>img { transition:none; } }


/* Final override: OSIRA branding belongs at the bottom-left of PRODUCT images only.
   This intentionally overrides legacy catalogue rules that placed the label top-right. */
.product-card .product-media > .product-image-label,
.catalogue-product-card .product-media > .product-image-label {
  left: 10px !important;
  right: auto !important;
  top: auto !important;
  bottom: 10px !important;
  max-width: calc(100% - 20px) !important;
  padding: 5px 7px !important;
  border-radius: 5px !important;
  background: rgba(255,255,255,.9) !important;
  color: #26313a !important;
  font-size: .52rem !important;
  line-height: 1.1 !important;
  letter-spacing: .09em !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
  box-shadow: 0 2px 8px rgba(16,24,40,.08) !important;
}
.category-card-v2 .collection-brand-note,
.collections-page .collection-brand-note { display:none !important; }
@media(max-width:430px) {
  .product-card .product-media > .product-image-label,
  .catalogue-product-card .product-media > .product-image-label {
    left: 7px !important; bottom: 7px !important;
    right: auto !important; top: auto !important;
    padding: 4px 6px !important; font-size: .46rem !important;
  }
}


/* FINAL collection-card override: square image with only a compact title at the bottom. */
.collections-page .category-grid-v2 > .category-card-v2 .collection-thumb {
  aspect-ratio: 1 / 1 !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  display: block !important;
  position: relative !important;
  overflow: hidden !important;
  background: #f1eee8 !important;
}
.collections-page .category-grid-v2 > .category-card-v2 .collection-thumb > img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  display: block !important;
}
.collections-page .category-card-v2 .collection-title-glass {
  position: absolute !important;
  left: 9px !important; right: 9px !important; bottom: 9px !important; top: auto !important;
  z-index: 3 !important;
  margin: 0 !important; padding: 9px 11px !important;
  border: 1px solid rgba(255,255,255,.28) !important;
  border-radius: 8px !important;
  background: rgba(18,25,33,.58) !important;
  backdrop-filter: blur(5px) !important; -webkit-backdrop-filter: blur(5px) !important;
}
.collections-page .category-card-v2 .collection-title-glass h2 {
  display: block !important; margin: 0 !important; padding: 0 !important;
  color: #fff !important; font-size: .92rem !important; line-height: 1.2 !important;
  font-weight: 750 !important; letter-spacing: -.01em !important;
}
.collections-page .category-card-v2 .collection-thumb > p,
.collections-page .category-card-v2 .collection-thumb > small,
.collections-page .category-card-v2 .collection-thumb > .collection-description,
.collections-page .category-card-v2 .collection-thumb > .collection-number,
.collections-page .category-card-v2 .collection-thumb > .collection-brand-note { display:none !important; }
.collections-page .category-card-v2 .collection-explore {
  position: absolute !important; top: 8px !important; right: 8px !important; bottom: auto !important;
  z-index: 4 !important; padding: 6px 8px !important; font-size: .58rem !important;
}
@media(max-width:800px) {
 .collections-page .category-grid-v2 { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:12px !important; }
 .collections-page .category-card-v2 .collection-title-glass { left:7px !important; right:7px !important; bottom:7px !important; padding:8px 9px !important; }
 .collections-page .category-card-v2 .collection-title-glass h2 { font-size:.78rem !important; }
}


/* HOMEPAGE collections are .category-card-visual, not .category-card-v2.
   Keep these overrides last so legacy homepage glass-card rules cannot win. */
#collections .category-grid > .category-card-visual {
  position: relative !important;
  display: block !important;
  isolation: isolate !important;
  min-height: 0 !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 16px !important;
  background: #f1eee8 !important;
}
#collections .category-grid > .category-card-visual > img {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
}
#collections .category-grid > .category-card-visual::before {
  content: none !important;
  display: none !important;
}
#collections .category-grid > .category-card-visual > .card-index {
  display: none !important;
}
#collections .category-grid > .category-card-visual > .category-card-copy {
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: none !important;
}
#collections .category-grid > .category-card-visual .category-card-copy > span {
  display: none !important;
}
#collections .category-grid > .category-card-visual .category-card-copy > strong {
  position: absolute !important;
  left: 9px !important;
  right: 9px !important;
  bottom: 9px !important;
  display: block !important;
  margin: 0 !important;
  padding: 9px 11px !important;
  border: 1px solid rgba(255,255,255,.28) !important;
  border-radius: 8px !important;
  background: rgba(18,25,33,.58) !important;
  color: #fff !important;
  font-size: .9rem !important;
  line-height: 1.2 !important;
  font-weight: 750 !important;
  text-shadow: 0 1px 5px rgba(0,0,0,.2) !important;
  backdrop-filter: blur(5px) !important;
  -webkit-backdrop-filter: blur(5px) !important;
}
#collections .category-grid > .category-card-visual .category-card-copy > b {
  position: absolute !important;
  top: 9px !important;
  right: 9px !important;
  bottom: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  margin: 0 !important;
  padding: 6px 8px !important;
  border: 1px solid rgba(255,255,255,.7) !important;
  border-radius: 7px !important;
  background: rgba(255,255,255,.92) !important;
  color: #182331 !important;
  font-size: .58rem !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.08) !important;
}
#collections .category-grid > .category-card-visual .category-card-copy > b i {
  font-size: .8rem !important;
}
@media(max-width:800px) {
  #collections .category-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 12px !important; }
  #collections .category-grid > .category-card-visual { aspect-ratio: 1 / 1 !important; min-height: 0 !important; }
  #collections .category-grid > .category-card-visual .category-card-copy > strong {
    left: 7px !important; right: 7px !important; bottom: 7px !important; padding: 8px 9px !important; font-size: .78rem !important;
  }
  #collections .category-grid > .category-card-visual .category-card-copy > b {
    top: 7px !important; right: 7px !important; padding: 5px 6px !important; font-size: .52rem !important;
  }
}


/* Mobile drawer: keep the SAME header menu button in place, morph hamburger into X,
   and freeze the document itself (overflow:hidden alone does not lock iOS Safari). */
.menu-toggle.is-open {
  position:fixed !important;
  left:var(--menu-toggle-left) !important;
  top:var(--menu-toggle-top) !important;
  right:auto !important;
  z-index:1210 !important;
  width:44px !important; height:44px !important;
  margin:0 !important; padding:0 !important;
  transform:none !important;
  border-radius:12px !important;
  background:#fff !important;
  border-color:#e0e5eb !important;
}
.menu-toggle.is-open span { position:absolute; left:11px; top:20px; width:20px; }
.menu-toggle.is-open span:nth-child(1) { transform:rotate(45deg) !important; }
.menu-toggle.is-open span:nth-child(2) { opacity:0 !important; transform:scaleX(0) !important; }
.menu-toggle.is-open span:nth-child(3) { transform:rotate(-45deg) !important; }
body.drawer-open { overflow:hidden !important; }
@supports (height:100dvh) {
 body.drawer-open { position:fixed !important; width:100% !important; top:var(--drawer-lock-top,0px) !important; left:0 !important; right:0 !important; }
}
.mobile-drawer { z-index:1201 !important; padding-top:max(20px,env(safe-area-inset-top)) !important; }
.drawer-backdrop { z-index:1200 !important; }
.drawer-reseller-cta { display:grid; grid-template-columns:40px minmax(0,1fr) auto; align-items:center; gap:12px; margin-top:12px; padding:15px 15px; border:1px solid #eadfd5; border-radius:13px; background:#f8f4ef; color:#182331; text-decoration:none; }
.drawer-reseller-icon { display:grid; place-items:center; width:38px; height:38px; border-radius:10px; background:#fff; color:#c8642d; font-size:1.2rem; font-weight:900; }
.drawer-reseller-cta>span:nth-child(2) { display:grid; gap:4px; }
.drawer-reseller-cta strong { font-size:.9rem; line-height:1.2; }
.drawer-reseller-cta small { color:#657184; font-size:.69rem; line-height:1.4; }
.drawer-reseller-cta>span:last-child { color:#c8642d; font-size:1.2rem; font-weight:900; }

/* Reseller knowledge hub */
.reseller-page { color:#182331; }
.reseller-hero { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr); align-items:center; gap:32px; padding-top:42px; padding-bottom:46px; }
.reseller-hero-copy { min-width:0; }
.reseller-eyebrow { display:inline-flex; align-items:center; gap:9px; color:#bd6429; font-size:.72rem; font-weight:900; letter-spacing:.16em; text-transform:uppercase; }
.reseller-hero h1 { max-width:760px; margin:18px 0; font-size:clamp(2.35rem,5.4vw,4.7rem); line-height:.99; letter-spacing:-.065em; }
.reseller-hero p { max-width:650px; color:#657184; font-size:1.04rem; line-height:1.75; }
.reseller-hero-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.reseller-btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:48px; padding:12px 17px; border:1px solid #dfe4eb; border-radius:10px; background:#fff; color:#182331; text-decoration:none; font-weight:800; }
.reseller-btn-primary { background:#cf6d2e; border-color:#cf6d2e; color:#fff; }
.reseller-hero-visual { position:relative; min-width:0; aspect-ratio:4/3; overflow:hidden; border-radius:20px; background:#f2eee8; }
.reseller-hero-visual img { display:block; width:100%; height:100%; object-fit:cover; }
.reseller-hero-chip { position:absolute; left:14px; bottom:14px; max-width:calc(100% - 28px); padding:11px 13px; border:1px solid #ffffff80; border-radius:11px; background:#ffffffdf; backdrop-filter:blur(10px); font-size:.75rem; font-weight:850; }
.reseller-trust-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:0 auto 40px; }
.reseller-trust-item { display:flex; align-items:flex-start; gap:11px; padding:17px; border:1px solid #e7eaf0; border-radius:13px; background:#fff; }
.reseller-trust-icon { display:grid; place-items:center; flex:0 0 36px; width:36px; height:36px; border-radius:10px; background:#fff0e7; color:#bd6429; font-weight:900; }
.reseller-trust-item strong { display:block; font-size:.84rem; line-height:1.3; }
.reseller-trust-item small { display:block; margin-top:5px; color:#738094; font-size:.71rem; line-height:1.45; }
.reseller-section-head { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:20px; }
.reseller-section-head h2 { max-width:650px; margin:10px 0 8px; font-size:clamp(1.7rem,3.3vw,2.8rem); line-height:1.05; letter-spacing:-.05em; }
.reseller-section-head p { max-width:690px; margin:0; color:#6b7789; line-height:1.7; }
.reseller-material-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:17px; }
.reseller-material-card { display:flex; flex-direction:column; min-width:0; overflow:hidden; border:1px solid #e4e8ee; border-radius:16px; background:#fff; color:inherit; text-decoration:none; transition:transform .2s ease,box-shadow .2s ease; }
.reseller-material-card:hover { transform:translateY(-3px); box-shadow:0 14px 35px #18233112; }
.reseller-material-photo { position:relative; aspect-ratio:4/3; overflow:hidden; background:#f1f2f4; }
.reseller-material-photo img { display:block; width:100%; height:100%; object-fit:cover; }
.reseller-material-type { position:absolute; top:11px; left:11px; padding:6px 8px; border:1px solid #ffffff90; border-radius:7px; background:#fffffff0; color:#9b4d26; font-size:.62rem; font-weight:900; letter-spacing:.05em; }
.reseller-material-card-body { display:flex; flex:1; flex-direction:column; align-items:flex-start; padding:17px; }
.reseller-material-card h3 { margin:0 0 8px; font-size:1.08rem; letter-spacing:-.025em; }
.reseller-material-card p { margin:0; color:#6b7789; font-size:.8rem; line-height:1.65; }
.reseller-tag-list { display:flex; flex-wrap:wrap; gap:6px; margin:13px 0 16px; }
.reseller-tag { display:inline-flex; padding:6px 8px; border:1px solid #e7eaf0; border-radius:7px; background:#f8fafc; color:#566276; font-size:.66rem; font-weight:750; }
.reseller-card-link { display:flex; align-items:center; justify-content:space-between; gap:10px; width:100%; margin-top:auto; padding-top:13px; border-top:1px solid #edf0f4; color:#a84f22; font-size:.78rem; font-weight:900; }
.reseller-info-band { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px; margin-top:52px; padding:clamp(22px,4vw,42px); border:1px solid #e5e8ee; border-radius:19px; background:#f7f5f1; }
.reseller-info-band h2 { margin:10px 0 12px; font-size:clamp(1.5rem,3vw,2.35rem); line-height:1.06; letter-spacing:-.04em; }
.reseller-info-band p { color:#657184; font-size:.88rem; line-height:1.75; }
.reseller-check-list { display:grid; gap:12px; align-content:center; }
.reseller-check-list div { display:flex; align-items:flex-start; gap:10px; padding:12px; border:1px solid #e6e9ed; border-radius:10px; background:#fff; color:#465367; font-size:.8rem; line-height:1.5; }
.reseller-check-list b { color:#bd6429; }
.reseller-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:38px; }
.reseller-step { padding:19px; border:1px solid #e4e8ee; border-radius:14px; background:#fff; }
.reseller-step>span { display:grid; place-items:center; width:34px; height:34px; border-radius:9px; background:#182331; color:#fff; font-size:.75rem; font-weight:900; }
.reseller-step h3 { margin:14px 0 7px; font-size:.96rem; }
.reseller-step p { margin:0; color:#6b7789; font-size:.79rem; line-height:1.65; }
.reseller-faq { margin-top:42px; }
.reseller-faq details { border-bottom:1px solid #e6e9ee; padding:15px 0; }
.reseller-faq summary { cursor:pointer; font-size:.9rem; font-weight:850; }
.reseller-faq details p { color:#6b7789; font-size:.82rem; line-height:1.7; }
.reseller-final-cta { display:flex; align-items:center; justify-content:space-between; gap:22px; margin:42px 0; padding:clamp(22px,4vw,40px); border-radius:18px; background:#182331; color:#fff; }
.reseller-final-cta h2 { margin:0 0 9px; font-size:clamp(1.45rem,3vw,2.2rem); letter-spacing:-.04em; }
.reseller-final-cta p { max-width:600px; margin:0; color:#c6ced9; font-size:.85rem; line-height:1.65; }
.reseller-detail-hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.9fr); gap:32px; align-items:center; padding-top:30px; padding-bottom:30px; }
.reseller-detail-image { overflow:hidden; aspect-ratio:4/3; border-radius:17px; background:#f1f2f4; }
.reseller-detail-image img { width:100%; height:100%; object-fit:cover; display:block; }
.reseller-detail-hero h1 { margin:12px 0; font-size:clamp(2rem,4.4vw,3.8rem); line-height:1; letter-spacing:-.055em; }
.reseller-detail-hero p { color:#687588; line-height:1.75; }
.reseller-gallery { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:24px 0; }
.reseller-gallery img { width:100%; aspect-ratio:1/1; object-fit:cover; border-radius:11px; border:1px solid #e4e8ee; background:#f1f2f4; }
.reseller-detail-content { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(250px,.8fr); gap:22px; align-items:start; }
.reseller-detail-panel { padding:22px; border:1px solid #e3e8ef; border-radius:15px; background:#fff; }
.reseller-detail-panel h2 { margin:0 0 15px; font-size:1.15rem; }
.reseller-spec-table { width:100%; border-collapse:collapse; font-size:.82rem; }
.reseller-spec-table th,.reseller-spec-table td { padding:12px 10px; border-bottom:1px solid #edf0f4; text-align:left; vertical-align:top; }
.reseller-spec-table th { width:38%; color:#6b7789; font-weight:700; }
.reseller-spec-table td { color:#182331; font-weight:750; }
.reseller-detail-list { display:grid; gap:10px; padding:0; margin:0; list-style:none; }
.reseller-detail-list li { display:flex; gap:9px; color:#526075; font-size:.81rem; line-height:1.5; }
.reseller-detail-list li:before { content:"✓"; color:#bd6429; font-weight:900; }
.reseller-note { padding:14px; margin-top:14px; border-radius:10px; background:#fff7f1; color:#85502f; font-size:.76rem; line-height:1.6; }
@media(max-width:900px) {
 .reseller-hero,.reseller-detail-hero { grid-template-columns:1fr; }
 .reseller-hero-visual { order:-1; max-height:360px; }
 .reseller-material-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .reseller-info-band { grid-template-columns:1fr; }
 .reseller-detail-content { grid-template-columns:1fr; }
}
@media(max-width:600px) {
 .menu-toggle.is-open { width:44px !important; height:44px !important; }
 .mobile-drawer { width:min(88vw,390px) !important; padding-left:20px !important; padding-right:20px !important; }
 .reseller-hero { padding-top:24px; padding-bottom:28px; gap:18px; }
 .reseller-hero h1 { font-size:clamp(2.25rem,10vw,3.1rem); }
 .reseller-hero p { font-size:.9rem; }
 .reseller-hero-visual { aspect-ratio:4/3; border-radius:14px; }
 .reseller-trust-strip { grid-template-columns:1fr; gap:9px; margin-bottom:30px; }
 .reseller-trust-item { padding:13px; }
 .reseller-section-head { display:block; }
 .reseller-material-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 .reseller-material-photo { aspect-ratio:1/1; }
 .reseller-material-card-body { padding:12px; }
 .reseller-material-card h3 { font-size:.9rem; }
 .reseller-material-card p { font-size:.72rem; }
 .reseller-tag { padding:5px 6px; font-size:.59rem; }
 .reseller-info-band { margin-top:32px; padding:19px; }
 .reseller-steps { grid-template-columns:1fr; gap:10px; margin-top:26px; }
 .reseller-final-cta { align-items:stretch; flex-direction:column; margin:30px 0; }
 .reseller-detail-hero { padding-top:18px; gap:18px; }
 .reseller-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .reseller-detail-panel { padding:15px; }
 .reseller-spec-table th,.reseller-spec-table td { padding:10px 7px; font-size:.75rem; }
}

:root { --reseller-charcoal:#202329; --reseller-warm:#F7F5F0; --reseller-gold:#B88743; }
.reseller-page { --accent:var(--reseller-gold); }
.reseller-hero-visual,.reseller-material-photo,.reseller-detail-image { background:var(--reseller-warm); }
.reseller-eyebrow { color:var(--reseller-gold); }
.reseller-btn-primary { background:var(--reseller-charcoal); border-color:var(--reseller-charcoal); }
.reseller-material-card { border-radius:14px; }
.reseller-material-photo { aspect-ratio:1/1; }
.reseller-material-photo img { transition:transform .25s ease; }
.reseller-material-card:hover .reseller-material-photo img { transform:scale(1.035); }
.reseller-badge { position:absolute; right:10px; top:10px; z-index:2; display:inline-flex; align-items:center; padding:7px 9px; border-radius:7px; font-size:.59rem; line-height:1; letter-spacing:.08em; font-weight:900; box-shadow:0 3px 12px #20232916; }
.reseller-badge-featured { background:var(--reseller-charcoal); color:#fff; }
.reseller-badge-recommended { background:#f8eddc; color:#79551e; border:1px solid #e9d2ab; }
.reseller-detail-badge { position:static; margin:12px 0 0; width:max-content; }
.reseller-category-shortcuts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:22px 0 28px; }
.reseller-category-shortcuts a { display:grid; grid-template-columns:40px minmax(0,1fr); align-items:center; column-gap:12px; padding:15px; border:1px solid #e5e2dc; border-radius:13px; background:var(--reseller-warm); text-decoration:none; }
.reseller-category-shortcuts a>span { grid-row:span 2; display:grid; place-items:center; width:40px; height:40px; border-radius:10px; background:#fff; color:var(--reseller-gold); font-size:1.2rem; }
.reseller-category-shortcuts strong { font-size:.82rem; }
.reseller-category-shortcuts small { margin-top:4px; color:#727783; font-size:.68rem; }
.reseller-category-hero { padding-top:42px; padding-bottom:28px; }
.reseller-category-hero h1 { margin:16px 0 10px; font-size:clamp(2.5rem,6vw,4.6rem); letter-spacing:-.06em; line-height:.98; }
.reseller-category-hero p { max-width:700px; color:#6b7280; line-height:1.75; }
.reseller-category-filters { display:flex; flex-wrap:wrap; gap:8px; margin-top:20px; }
.reseller-category-filters span { padding:8px 11px; border:1px solid #e5e2dc; border-radius:999px; background:var(--reseller-warm); color:#4b5058; font-size:.69rem; font-weight:750; }
.reseller-back-link { display:inline-flex; margin-bottom:20px; color:#626875; font-size:.78rem; font-weight:800; text-decoration:none; }
.reseller-empty { grid-column:1/-1; padding:28px; border:1px solid #e6e2da; border-radius:15px; background:var(--reseller-warm); }
.reseller-empty p { color:#687080; line-height:1.7; }
.reseller-full-btn { width:100%; margin-top:18px; }
.reseller-detail-short { color:#333a45 !important; font-size:1.05rem; font-weight:750; }
@media(max-width:600px) {
 .reseller-category-shortcuts { grid-template-columns:1fr; gap:9px; margin:18px 0 22px; }
 .reseller-category-shortcuts a { padding:12px; }
 .reseller-category-hero { padding-top:24px; }
 .reseller-category-hero h1 { font-size:2.65rem; }
 .reseller-material-photo { aspect-ratio:1/1 !important; }
}
@media(max-width:800px) {
 .site-header:has(.menu-toggle.is-open) { z-index:1230 !important; background:transparent !important; border-color:transparent !important; box-shadow:none !important; backdrop-filter:none !important; -webkit-backdrop-filter:none !important; }
 .site-header:has(.menu-toggle.is-open) .brand,
 .site-header:has(.menu-toggle.is-open) nav,
 .site-header:has(.menu-toggle.is-open) .nav-cta { visibility:hidden !important; }
 .menu-toggle.is-open { z-index:1240 !important; }
 .mobile-drawer { position:fixed !important; top:0 !important; right:0 !important; bottom:0 !important; height:100vh !important; height:100dvh !important; max-height:100dvh !important; overflow-x:hidden !important; overflow-y:auto !important; -webkit-overflow-scrolling:touch !important; overscroll-behavior:contain !important; padding-top:max(20px,env(safe-area-inset-top)) !important; padding-bottom:max(28px,env(safe-area-inset-bottom)) !important; }
 .drawer-reseller-cta { margin-bottom:8px !important; }
 .drawer-footnote { padding-bottom:12px !important; }
}
/* Category pages deliberately use two balanced product columns on desktop and mobile. */
.reseller-category-products .reseller-material-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:18px !important; }
@media(max-width:600px){.reseller-category-products .reseller-material-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:10px !important}.reseller-category-products .reseller-material-card-body{padding:11px}.reseller-category-products .reseller-material-card h3{font-size:.85rem}.reseller-category-products .reseller-material-card p{font-size:.7rem}.reseller-category-products .reseller-tag-list{gap:4px}.reseller-category-products .reseller-badge{font-size:.49rem;padding:5px 6px;right:6px;top:6px}.reseller-category-products .reseller-material-type{left:6px;top:6px;font-size:.49rem;padding:5px 6px;max-width:65%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}

/* Final mobile menu override: keep the same header button fixed above both
   the backdrop and drawer, and reliably turn its three bars into an X. */
@media(max-width:800px){
 .site-header:has(.menu-toggle.is-open){position:relative!important;z-index:1304!important;overflow:visible!important}
 .site-header:has(.menu-toggle.is-open) .menu-toggle.is-open{
  position:fixed!important;left:var(--menu-toggle-left)!important;top:var(--menu-toggle-top)!important;
  right:auto!important;bottom:auto!important;inset:auto auto auto auto!important;
  z-index:1310!important;display:flex!important;visibility:visible!important;opacity:1!important;
  width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;
  margin:0!important;padding:0!important;flex:0 0 44px!important;transform:none!important;
  background:#fff!important;border:1px solid #dfe4eb!important;border-radius:12px!important;
  box-shadow:0 4px 16px rgba(16,24,40,.12)!important;
 }
 .site-header:has(.menu-toggle.is-open) .menu-toggle.is-open span,
 .menu-toggle.is-open span{
  position:absolute!important;left:11px!important;top:20px!important;width:20px!important;height:2px!important;
  min-height:2px!important;margin:0!important;padding:0!important;display:block!important;
  opacity:1!important;background:#101828!important;border:0!important;border-radius:2px!important;
  transform-origin:center!important;transition:transform .2s ease,opacity .2s ease!important;
 }
 .menu-toggle.is-open span:nth-child(1){transform:rotate(45deg)!important}
 .menu-toggle.is-open span:nth-child(2){transform:rotate(-45deg)!important;opacity:1!important}
 .menu-toggle.is-open span:nth-child(3){opacity:0!important;transform:scaleX(0)!important}
 .mobile-drawer{z-index:1201!important}
 .drawer-backdrop{z-index:1200!important}
}
/* Browse by category first; product cards no longer carry overlapping image badges. */
.reseller-category-directory{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;margin:24px 0 8px!important}
.reseller-category-directory a{display:flex!important;flex-direction:column!important;min-width:0!important;padding:0!important;overflow:hidden!important;border:1px solid #e5e2dc!important;border-radius:15px!important;background:#fff!important;text-decoration:none!important;transition:transform .2s ease,box-shadow .2s ease!important}
.reseller-category-directory a:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(32,35,41,.09)}
.reseller-category-directory a>img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;background:#F7F5F0}
.reseller-directory-copy{display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:15px}
.reseller-directory-copy strong{font-size:1rem;color:#202329}
.reseller-directory-copy small{color:#6b7280;font-size:.78rem;line-height:1.5}
.reseller-directory-copy b{margin-top:5px;color:#a9572c;font-size:.76rem}
.reseller-card-category{display:block;margin-bottom:8px;color:#a9572c;font-size:.7rem;font-weight:800;letter-spacing:.03em}
.reseller-category-products .reseller-material-photo{position:relative;aspect-ratio:1/1!important;overflow:hidden;background:#F7F5F0}
.reseller-category-products .reseller-material-photo img{width:100%;height:100%;object-fit:cover}
.reseller-category-products .reseller-material-card-body{padding:15px}
.reseller-category-products .reseller-material-type,.reseller-category-products .reseller-badge,
.reseller-category-products .reseller-material-photo .reseller-badge{display:none!important}
.reseller-product-gallery{min-width:0;width:100%}
.reseller-product-gallery .reseller-detail-image{position:relative;touch-action:pan-y;user-select:none;cursor:grab}
.reseller-product-gallery .reseller-detail-image:active{cursor:grabbing}
.reseller-product-gallery .reseller-detail-image img{display:block;width:100%;height:100%;object-fit:contain}
.reseller-gallery-arrow{position:absolute;top:50%;z-index:2;display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(32,35,41,.12);border-radius:50%;background:rgba(255,255,255,.92);color:#202329;font-size:1.8rem;line-height:1;transform:translateY(-50%);box-shadow:0 3px 12px rgba(0,0,0,.12);cursor:pointer}
.reseller-gallery-prev{left:12px}.reseller-gallery-next{right:12px}
.reseller-gallery-count{position:absolute;right:12px;bottom:12px;padding:6px 9px;border-radius:999px;background:rgba(32,35,41,.78);color:white;font-size:.72rem;font-weight:800}
.reseller-gallery-thumbnails{display:flex;gap:10px;overflow-x:auto;padding:12px 2px 5px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
.reseller-gallery-thumb{flex:0 0 76px;width:76px;height:76px;padding:3px;border:2px solid #e3e5e8;border-radius:10px;background:#fff;overflow:hidden;cursor:pointer;scroll-snap-align:start}
.reseller-gallery-thumb img{display:block;width:100%;height:100%;object-fit:cover;border-radius:6px}
.reseller-gallery-thumb.is-active{border-color:#c66b32;box-shadow:0 0 0 2px rgba(198,107,50,.12)}
.reseller-gallery-progress{display:flex;justify-content:center;gap:7px;min-height:18px;padding:7px 0 0}
.reseller-gallery-dot{width:7px;height:7px;flex:0 0 7px;padding:0;border:0;border-radius:99px;background:#d4d7dc;cursor:pointer;transition:width .18s ease,background .18s ease}
.reseller-gallery-dot.is-active{width:22px;flex-basis:22px;background:#c66b32}
.reseller-product-gallery.is-single-image .reseller-gallery-arrow,
.reseller-product-gallery.is-single-image .reseller-gallery-thumbnails,
.reseller-product-gallery.is-single-image .reseller-gallery-progress{display:none}
@media(max-width:600px){
 .reseller-category-directory{gap:10px!important}
 .reseller-directory-copy{padding:11px}
 .reseller-directory-copy strong{font-size:.87rem}
 .reseller-directory-copy small{font-size:.68rem}
 .reseller-directory-copy b{font-size:.68rem}
 .reseller-category-products .reseller-material-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
 .reseller-category-products .reseller-material-card-body{padding:10px}
 .reseller-category-products .reseller-material-card h3{font-size:.88rem}
 .reseller-category-products .reseller-material-card p{font-size:.72rem}
 .reseller-gallery-thumb{flex-basis:66px;width:66px;height:66px}
}

/* Mobile drawer hotfix: the menu toggle stays at the viewport's top-right.
   Older rules positioned it from a stale header rectangle, moving it left/down
   when the page was scrolled. This final block intentionally supersedes them. */
@media (max-width:800px){
  .site-header:has(.menu-toggle.is-open){
    position:relative!important;
    z-index:1304!important;
    overflow:visible!important;
    transform:none!important;
  }
  .site-header:has(.menu-toggle.is-open) .menu-toggle.is-open,
  .nav-inner>.menu-toggle.is-open{
    position:fixed!important;
    top:14px!important;
    right:16px!important;
    bottom:auto!important;
    left:auto!important;
    inset-block-start:14px!important;
    inset-inline-end:16px!important;
    inset-block-end:auto!important;
    inset-inline-start:auto!important;
    z-index:1405!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex-direction:column!important;
    gap:0!important;
    width:44px!important;
    min-width:44px!important;
    max-width:44px!important;
    height:44px!important;
    min-height:44px!important;
    max-height:44px!important;
    margin:0!important;
    padding:0!important;
    flex:0 0 44px!important;
    box-sizing:border-box!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    border:1px solid #dfe4eb!important;
    border-radius:12px!important;
    background:#fff!important;
    box-shadow:0 4px 16px rgba(16,24,40,.12)!important;
    pointer-events:auto!important;
  }
  .site-header:has(.menu-toggle.is-open) .menu-toggle.is-open span,
  .nav-inner>.menu-toggle.is-open span{
    position:absolute!important;
    display:block!important;
    left:11px!important;
    right:auto!important;
    top:20px!important;
    width:20px!important;
    min-width:20px!important;
    max-width:20px!important;
    height:2px!important;
    min-height:2px!important;
    max-height:2px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:2px!important;
    background:#101828!important;
    opacity:1!important;
    transform-origin:center!important;
    transition:transform .22s ease,opacity .18s ease!important;
  }
  .nav-inner>.menu-toggle.is-open span:nth-child(1),
  .site-header:has(.menu-toggle.is-open) .menu-toggle.is-open span:nth-child(1){
    transform:rotate(45deg)!important;
  }
  .nav-inner>.menu-toggle.is-open span:nth-child(2),
  .site-header:has(.menu-toggle.is-open) .menu-toggle.is-open span:nth-child(2){
    transform:rotate(-45deg)!important;
    opacity:1!important;
  }
  .nav-inner>.menu-toggle.is-open span:nth-child(3),
  .site-header:has(.menu-toggle.is-open) .menu-toggle.is-open span:nth-child(3){
    transform:scaleX(0)!important;
    opacity:0!important;
  }
  .mobile-drawer{
    z-index:1201!important;
    position:fixed!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    height:100vh!important;
    height:100dvh!important;
    max-height:100dvh!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .drawer-backdrop{z-index:1200!important}
  body.drawer-open{overflow:hidden!important;overscroll-behavior:none!important}
  body.drawer-open main,
  body.drawer-open>.site-header{touch-action:none}
}
@media(max-width:390px){
  .site-header:has(.menu-toggle.is-open) .menu-toggle.is-open,
  .nav-inner>.menu-toggle.is-open{right:16px!important;top:14px!important;left:auto!important}
}

/* Final alignment: keep the sticky header visible and put the close control
   exactly where the menu toggle normally sits in that header. */
@media(max-width:800px){
  body.drawer-open>.site-header,
  body.drawer-open>.site-header:has(.menu-toggle.is-open){
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    z-index:1404!important;
    min-height:66px!important;
    background:#fff!important;
    border-bottom:1px solid #e5e7eb!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    visibility:visible!important;
    transform:none!important;
    pointer-events:none!important;
  }
  body.drawer-open>.site-header .brand{visibility:visible!important;opacity:1!important}
  body.drawer-open>.site-header .menu-toggle.is-open{
    pointer-events:auto!important;
    top:11px!important;
    right:16px!important;
    left:auto!important;
    width:44px!important;
    height:44px!important;
  }
  body.drawer-open>.site-header .nav-inner{
    min-height:66px!important;
    height:66px!important;
    padding-top:0!important;
    padding-bottom:0!important;
  }
  body.drawer-open>.site-header .nav-inner nav,
  body.drawer-open>.site-header .nav-cta{display:none!important}
  .mobile-drawer{padding-top:max(82px,calc(env(safe-area-inset-top) + 72px))!important}
}


/* Consolidated mobile drawer rules: keep header layout stable and align the
   close control to the actual hamburger coordinates captured by header.ejs. */
@media(max-width:800px){
  .site-header,body.drawer-open>.site-header,.site-header:has(.menu-toggle.is-open){
    position:sticky!important;top:0!important;left:auto!important;right:auto!important;width:100%!important;
    z-index:1000!important;overflow:visible!important;transform:none!important;
    background:rgba(255,255,255,.96)!important;border-bottom:1px solid var(--line)!important;
    box-shadow:none!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important;
  }
  .site-header:has(.menu-toggle.is-open) .brand{visibility:visible!important;opacity:1!important}
  .site-header:has(.menu-toggle.is-open) nav,.site-header:has(.menu-toggle.is-open) .nav-cta{visibility:hidden!important}
  .menu-toggle.is-open,.nav-inner>.menu-toggle.is-open,.site-header:has(.menu-toggle.is-open) .menu-toggle.is-open{
    position:fixed!important;top:var(--menu-toggle-top,12px)!important;left:var(--menu-toggle-left,auto)!important;
    right:auto!important;bottom:auto!important;z-index:1405!important;display:flex!important;
    align-items:center!important;justify-content:center!important;flex-direction:column!important;gap:0!important;
    width:44px!important;min-width:44px!important;max-width:44px!important;height:44px!important;
    min-height:44px!important;max-height:44px!important;margin:0!important;padding:0!important;
    box-sizing:border-box!important;flex:0 0 44px!important;transform:none!important;
    border:1px solid #dfe4eb!important;border-radius:12px!important;background:#fff!important;
    box-shadow:0 4px 16px rgba(16,24,40,.12)!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;
  }
  .menu-toggle.is-open span,.nav-inner>.menu-toggle.is-open span,.site-header:has(.menu-toggle.is-open) .menu-toggle.is-open span{
    position:absolute!important;left:11px!important;right:auto!important;top:20px!important;display:block!important;
    width:20px!important;min-width:20px!important;max-width:20px!important;height:2px!important;min-height:2px!important;
    max-height:2px!important;margin:0!important;padding:0!important;border:0!important;border-radius:2px!important;
    background:#101828!important;opacity:1!important;transform-origin:center!important;
    transition:transform .22s ease,opacity .18s ease!important;
  }
  .menu-toggle.is-open span:nth-child(1),.nav-inner>.menu-toggle.is-open span:nth-child(1){transform:rotate(45deg)!important}
  .menu-toggle.is-open span:nth-child(2),.nav-inner>.menu-toggle.is-open span:nth-child(2){transform:rotate(-45deg)!important;opacity:1!important}
  .menu-toggle.is-open span:nth-child(3),.nav-inner>.menu-toggle.is-open span:nth-child(3){transform:scaleX(0)!important;opacity:0!important}
  .mobile-drawer{position:fixed!important;top:0!important;right:0!important;bottom:0!important;z-index:1201!important;
    width:min(75vw,390px)!important;height:100vh!important;height:100dvh!important;max-height:100dvh!important;
    overflow-x:hidden!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important;
    padding-top:max(20px,env(safe-area-inset-top))!important;padding-bottom:max(28px,env(safe-area-inset-bottom))!important}
  .mobile-drawer.is-open{transform:translateX(0)!important;visibility:visible!important}
  .drawer-backdrop{position:fixed!important;inset:0!important;z-index:1200!important}
  body.drawer-open{position:static!important;top:auto!important;left:auto!important;right:auto!important;width:auto!important;overflow:hidden!important;overscroll-behavior:none!important}
}


/* Final drawer layering: overlay and drawer cover the complete viewport,
   header remains visible only as a blurred backdrop, and the X sits above all. */
@media(max-width:800px){
  body.drawer-open>.site-header,
  .site-header:has(.menu-toggle.is-open){
    position:relative!important;
    top:auto!important;left:auto!important;right:auto!important;
    z-index:1000!important;
    background:rgba(255,255,255,.78)!important;
    border-bottom:1px solid rgba(225,229,235,.7)!important;
    box-shadow:none!important;
    filter:blur(2px)!important;
    pointer-events:none!important;
  }
  .drawer-backdrop{
    position:fixed!important;inset:0!important;z-index:1200!important;
    background:rgba(16,24,40,.42)!important;
    backdrop-filter:blur(5px)!important;-webkit-backdrop-filter:blur(5px)!important;
  }
  .mobile-drawer{
    position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:auto!important;
    z-index:1300!important;width:min(82vw,420px)!important;
    height:100vh!important;height:100dvh!important;max-height:100dvh!important;
    box-sizing:border-box!important;overflow-x:hidden!important;overflow-y:auto!important;
    padding-top:max(20px,env(safe-area-inset-top))!important;
    padding-bottom:max(28px,env(safe-area-inset-bottom))!important;
    transform:translateX(105%)!important;visibility:hidden!important;
    transition:transform .28s cubic-bezier(.2,.75,.25,1),visibility .28s ease!important;
  }
  .mobile-drawer.is-open{transform:translateX(0)!important;visibility:visible!important}
  body>.menu-toggle.is-open{
    position:fixed!important;top:var(--menu-toggle-top,12px)!important;left:var(--menu-toggle-left,auto)!important;
    right:auto!important;bottom:auto!important;z-index:1405!important;
    display:flex!important;align-items:center!important;justify-content:center!important;flex-direction:column!important;
    gap:0!important;width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important;
    margin:0!important;padding:0!important;box-sizing:border-box!important;transform:none!important;
    border:1px solid #dfe4eb!important;border-radius:12px!important;background:#fff!important;
    box-shadow:0 4px 16px rgba(16,24,40,.16)!important;opacity:1!important;visibility:visible!important;
    pointer-events:auto!important;
  }
  body>.menu-toggle.is-open span{
    position:absolute!important;left:11px!important;top:20px!important;right:auto!important;
    display:block!important;width:20px!important;height:2px!important;min-height:2px!important;
    margin:0!important;padding:0!important;border:0!important;border-radius:2px!important;
    background:#101828!important;opacity:1!important;transform-origin:center!important;
  }
  body>.menu-toggle.is-open span:nth-child(1){transform:rotate(45deg)!important}
  body>.menu-toggle.is-open span:nth-child(2){transform:rotate(-45deg)!important}
  body>.menu-toggle.is-open span:nth-child(3){opacity:0!important;transform:scaleX(0)!important}
  body.drawer-open{position:static!important;top:auto!important;left:auto!important;right:auto!important;width:auto!important;overflow:hidden!important}
}


/* Scroll-position-safe drawer: pin the header behind the overlay so it remains
   visible and blurred even when the visitor opens the menu mid-page. Align the
   drawer title and divider to the normal OSIRA header's logo and bottom rule. */
@media(max-width:800px){
  body.drawer-open>.site-header{
    position:fixed!important;top:0!important;left:0!important;right:0!important;
    width:100%!important;z-index:1000!important;display:block!important;
    visibility:visible!important;opacity:1!important;transform:none!important;
    filter:blur(2px)!important;
    background:rgba(255,255,255,.82)!important;
    border-bottom:1px solid rgba(225,229,235,.75)!important;
    pointer-events:none!important;
  }
  body.drawer-open>.site-header .brand{
    visibility:visible!important;opacity:1!important;
  }
  .drawer-backdrop{
    z-index:1200!important;
    background:rgba(16,24,40,.36)!important;
    backdrop-filter:blur(5px)!important;-webkit-backdrop-filter:blur(5px)!important;
  }
  .mobile-drawer{
    padding-top:max(58px,calc(env(safe-area-inset-top) + 50px))!important;
  }
  .mobile-drawer .drawer-head{
    min-height:64px!important;
    padding:0 0 18px!important;
    margin:0!important;
    border-bottom:1px solid var(--line)!important;
    box-sizing:content-box!important;
  }
}


/* Final mobile drawer header spacing: title aligns vertically with close icon,
   with a compact divider gap like a standard navigation drawer. */
@media(max-width:800px){
  .mobile-drawer .drawer-head{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    min-height:44px!important;
    height:44px!important;
    padding:0 0 12px!important;
    margin:0 0 22px!important;
    border-bottom:1px solid var(--line)!important;
    box-sizing:content-box!important;
  }
  .mobile-drawer .drawer-title{
    margin:0!important;
    padding:0!important;
    line-height:1!important;
    align-self:center!important;
  }
  .mobile-drawer .drawer-head>.drawer-close,
  .mobile-drawer .drawer-head>.menu-toggle.is-open{
    position:relative!important;
    inset:auto!important;
    align-self:center!important;
    margin:0!important;
    transform:none!important;
    flex:0 0 44px!important;
    width:44px!important;height:44px!important;
    min-width:44px!important;min-height:44px!important;
  }
}


/* Override cleanup for mobile drawer header. Older drawer patches applied a
   large top padding (82px / safe-area + 72px), pushing MENU far below the X.
   This final rule intentionally resets those conflicting declarations. */
@media(max-width:800px){
  .mobile-drawer{
    padding-top:24px!important;
    padding-bottom:max(28px,env(safe-area-inset-bottom))!important;
  }
  .mobile-drawer .drawer-head{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    height:44px!important;
    min-height:44px!important;
    margin:0 0 18px!important;
    padding:0 0 10px!important;
    box-sizing:content-box!important;
    border-bottom:1px solid var(--line)!important;
  }
  .mobile-drawer .drawer-title{
    display:block!important;
    margin:0!important;
    padding:0!important;
    line-height:1!important;
    align-self:center!important;
  }
}


/* Final measured correction from iPhone screenshot:
   reduce the drawer's top inset so MENU and its divider sit level with the
   floating close control; soften the page dimming so the background remains
   recognizable. This intentionally supersedes the earlier 58px/82px rules. */
@media (max-width:800px){
  body.drawer-open>.mobile-drawer,
  .mobile-drawer{
    padding-top:31px!important;
  }
  .mobile-drawer .drawer-head{
    margin-top:0!important;
    margin-bottom:18px!important;
    padding-top:0!important;
    padding-bottom:10px!important;
    min-height:44px!important;
    height:44px!important;
  }
  .drawer-backdrop{
    background:rgba(16,24,40,.25)!important;
    backdrop-filter:blur(2px)!important;
    -webkit-backdrop-filter:blur(2px)!important;
  }
  body.drawer-open>.site-header{
    filter:blur(1px)!important;
    background:rgba(255,255,255,.68)!important;
  }
}


/* Position the drawer heading from the exact viewport coordinates captured
   from the original hamburger button by the menu script. Do not guess with
   fixed top padding: Safari's visible viewport changes as browser chrome moves. */
@media(max-width:800px){
  .mobile-drawer{
    padding-top:var(--menu-toggle-top,12px)!important;
  }
  .mobile-drawer .drawer-head{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    height:44px!important;
    min-height:44px!important;
    margin:0 0 12px!important;
    padding:0 0 8px!important;
    box-sizing:content-box!important;
    border-bottom:1px solid var(--line)!important;
  }
  .mobile-drawer .drawer-title{
    margin:0!important;
    padding:0!important;
    line-height:1!important;
    align-self:center!important;
  }
  .drawer-backdrop{
    background:rgba(16,24,40,.25)!important;
    backdrop-filter:blur(2px)!important;
    -webkit-backdrop-filter:blur(2px)!important;
  }
}


/* Authoritative mobile drawer alignment fix.
   Earlier patches repeatedly overrode drawer padding (15px, 31px, 58px,
   82px and a JS viewport coordinate). The close button is fixed to the
   viewport, while the drawer's content starts at the viewport's top edge;
   use one stable inset so MENU aligns with the close button on iOS Safari. */
@media (max-width:800px){
  body.drawer-open > .mobile-drawer,
  body > .mobile-drawer.is-open,
  .mobile-drawer.is-open{
    padding-top:22px!important;
    padding-bottom:max(28px,env(safe-area-inset-bottom))!important;
  }
  body.drawer-open > .mobile-drawer .drawer-head,
  .mobile-drawer.is-open .drawer-head{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    height:44px!important;
    min-height:44px!important;
    margin:0 0 12px!important;
    padding:0 0 8px!important;
    box-sizing:content-box!important;
    border-bottom:1px solid var(--line)!important;
  }
  body.drawer-open > .mobile-drawer .drawer-title,
  .mobile-drawer.is-open .drawer-title{
    display:block!important;
    margin:0!important;
    padding:0!important;
    line-height:1!important;
    align-self:center!important;
  }
}


/* Mobile drawer: keep the title + divider pinned while only the menu body scrolls.
   The toggle is moved to body by header.ejs, so align the title row using the
   captured toggle top coordinate and remove inherited spacing from older patches. */
@media (max-width:800px){
  body.drawer-open > .mobile-drawer,
  .mobile-drawer.is-open{
    padding-top:var(--menu-toggle-top,12px)!important;
    padding-bottom:max(28px,env(safe-area-inset-bottom))!important;
  }
  body.drawer-open > .mobile-drawer > .drawer-head,
  .mobile-drawer.is-open > .drawer-head{
    position:sticky!important;
    top:0!important;
    z-index:1302!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    height:44px!important;
    min-height:44px!important;
    margin:0 0 14px!important;
    padding:0 0 8px!important;
    box-sizing:content-box!important;
    background:#fff!important;
    border-bottom:1px solid var(--line)!important;
  }
  body.drawer-open > .mobile-drawer > .drawer-head .drawer-title,
  .mobile-drawer.is-open > .drawer-head .drawer-title{
    display:block!important;
    margin:0!important;
    padding:0!important;
    line-height:1!important;
    transform:translateY(-4px)!important;
    align-self:center!important;
  }
  body.drawer-open > .mobile-drawer > .drawer-kicker,
  body.drawer-open > .mobile-drawer > nav,
  body.drawer-open > .mobile-drawer > .drawer-cta,
  body.drawer-open > .mobile-drawer > .drawer-reseller-cta,
  body.drawer-open > .mobile-drawer > .drawer-footnote{
    position:relative;
    z-index:1;
  }
}


/* Drawer heading cap: opaque white header covers the top edge of the drawer,
   with MENU vertically balanced against the fixed close control. */
@media (max-width:800px){
  body.drawer-open > .mobile-drawer,
  .mobile-drawer.is-open{
    padding-top:var(--menu-toggle-top,12px)!important;
  }
  body.drawer-open > .mobile-drawer > .drawer-head,
  .mobile-drawer.is-open > .drawer-head{
    position:sticky!important;
    top:0!important;
    z-index:10!important;
    height:44px!important;
    min-height:44px!important;
    margin:0 0 14px!important;
    padding:0 0 8px!important;
    background:#fff!important;
    background-color:#fff!important;
    isolation:isolate!important;
    border-bottom:1px solid var(--line)!important;
    box-shadow:0 8px 12px rgba(255,255,255,.96)!important;
  }
  body.drawer-open > .mobile-drawer > .drawer-head::before,
  .mobile-drawer.is-open > .drawer-head::before{
    content:""!important;
    position:absolute!important;
    left:-1px!important;
    right:-1px!important;
    top:-100vh!important;
    height:100vh!important;
    background:#fff!important;
    z-index:-1!important;
    pointer-events:none!important;
  }
  body.drawer-open > .mobile-drawer > .drawer-head .drawer-title,
  .mobile-drawer.is-open > .drawer-head .drawer-title{
    transform:translateY(2px)!important;
    line-height:1!important;
    margin:0!important;
    padding:0!important;
  }
}


/* 2026-10-18 authoritative iOS drawer scroll fix.
   Do not position:fixed the body: it changes the visible page origin in Safari.
   Keep the document in normal flow and lock only scrolling while the overlay is open. */
@media (max-width:800px){
  html:has(body.drawer-open){overflow:hidden!important;overscroll-behavior:none!important;}
  body.drawer-open{
    position:static!important;
    top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;
    width:100%!important;height:auto!important;min-height:0!important;
    overflow:hidden!important;overscroll-behavior:none!important;
    transform:none!important;
  }
  body.drawer-open main,
  body.drawer-open>.site-header{touch-action:auto!important;}
  body.drawer-open>.site-header{
    position:sticky!important;
    top:0!important;
    transform:none!important;
  }
  body.drawer-open>.mobile-drawer{
    position:fixed!important;top:0!important;right:0!important;bottom:0!important;
    height:100dvh!important;max-height:100dvh!important;
    overflow-x:hidden!important;overflow-y:auto!important;
    overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important;
  }
}


/* Homepage product merchandising sections: reusable, responsive wall-clock rows. */
.home-merchandising-section{padding-top:clamp(42px,6vw,88px);padding-bottom:clamp(42px,6vw,88px);border-top:1px solid var(--line)}
.home-merchandising-section .section-head{align-items:flex-end;gap:24px;margin-bottom:28px}
.home-merchandising-section .section-head h2{margin:8px 0 0}
.home-merchandising-section .section-head p{max-width:620px;margin:12px 0 0;color:var(--muted)}
.home-section-see-all{display:inline-flex;align-items:center;gap:10px;flex:0 0 auto;padding:12px 16px;border:1px solid var(--line);border-radius:999px;color:var(--ink);font-weight:700;text-decoration:none;white-space:nowrap;transition:background .2s ease,border-color .2s ease}
.home-section-see-all:hover{background:var(--surface,#f7f5f1);border-color:var(--ink)}
.home-section-product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.home-merchandising-section .product-media{aspect-ratio:1/1;overflow:hidden;background:#f4f1ec}
.home-merchandising-section .product-media>img{width:100%;height:100%;object-fit:cover;display:block}
.home-merchandising-section .product-body h3{font-size:clamp(16px,1.5vw,21px);line-height:1.3;margin:7px 0 16px}
.home-section-mobile-all{display:none}
@media(min-width:1100px){.home-section-product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}}
@media(max-width:760px){
  .home-merchandising-section{padding-top:42px;padding-bottom:42px}
  .home-merchandising-section .section-head{align-items:flex-start;flex-direction:row;gap:12px;margin-bottom:20px}
  .home-merchandising-section .section-head>div{min-width:0}
  .home-merchandising-section .section-head h2{font-size:clamp(25px,6.5vw,34px);line-height:1.12}
  .home-merchandising-section .section-head p{font-size:14px;line-height:1.55}
  .home-section-see-all{font-size:13px;padding:10px 12px;gap:6px;margin-top:2px}
  .home-section-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .home-merchandising-section .product-body{padding:12px}
  .home-merchandising-section .product-body h3{font-size:15px;line-height:1.3;margin:6px 0 12px}
  .home-merchandising-section .product-category-label{font-size:10px}
  .home-merchandising-section .product-card-bottom{align-items:flex-start;gap:8px;flex-direction:column}
  .home-section-mobile-all{display:block;text-align:center;margin-top:20px}
  .home-section-mobile-all a{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border:1px solid var(--line);border-radius:999px;color:var(--ink);font-weight:700;text-decoration:none}
}

/* Product gallery: square presentation, swipe on touch screens, arrows on larger screens. */
.product-page .main-image{position:relative!important;aspect-ratio:1/1!important;width:100%;height:auto!important;min-height:0!important;overflow:hidden;border-radius:20px;background:#f4f2ed;touch-action:pan-y;}
.product-page .main-image>img{display:block;width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;aspect-ratio:1/1!important;object-fit:contain!important;}
.product-gallery-arrow{position:absolute;top:50%;z-index:2;transform:translateY(-50%);display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.8);border-radius:50%;background:rgba(16,24,40,.58);color:#fff;font-size:28px;line-height:1;box-shadow:0 4px 16px rgba(16,24,40,.16);cursor:pointer;}
.product-gallery-prev{left:12px}.product-gallery-next{right:12px}.product-gallery-count{position:absolute;right:12px;bottom:12px;padding:5px 9px;border-radius:999px;background:rgba(16,24,40,.68);color:#fff;font-size:12px;font-weight:700;}
.product-page .thumbs{display:flex;gap:10px;overflow-x:auto;max-width:100%;padding:10px 2px 3px;scrollbar-width:thin;}
.product-page .thumb{flex:0 0 92px;width:92px;height:92px;aspect-ratio:1/1;overflow:hidden;}
.product-page .thumb img{width:100%;height:100%;object-fit:contain;display:block;}
@media(max-width:600px){.product-page .main-image{border-radius:16px}.product-gallery-arrow,.product-gallery-count{display:none!important}.product-page .thumb{flex-basis:76px;width:76px;height:76px}.product-page .product-hero{gap:22px}.product-page .gallery{min-width:0}}

/* Service tiles: reserve a clear number badge area and prevent copy collisions. */
.services-visual-grid .service-image-card{min-width:0;min-height:390px;}
.services-visual-grid .service-image-card .solution-number{z-index:2;line-height:1;min-width:48px;text-align:center;top:18px;left:18px;}
.services-visual-grid .service-image-copy{position:relative;z-index:1;min-width:0;padding:28px 24px 24px;}
.services-visual-grid .service-image-copy .kicker{display:block;line-height:1.45;overflow-wrap:anywhere;margin-top:12px;}
.services-visual-grid .service-image-copy h2{max-width:100%;overflow-wrap:anywhere;}
.services-visual-grid .service-image-copy p{margin-bottom:0;overflow-wrap:anywhere;}

/* Image-led guides and responsive reseller labels. */
.blog-card-v2{overflow:hidden;min-width:0;}
.blog-card-image{width:100%;aspect-ratio:16/9;margin:-1px -1px 18px;overflow:hidden;border-radius:12px;background:#f1eee8;}
.blog-card-image img{display:block;width:100%;height:100%;object-fit:cover;}
.article-featured-image{width:100%;aspect-ratio:16/9;margin:28px 0 36px;overflow:hidden;border-radius:18px;background:#f1eee8;}
.article-featured-image img{display:block;width:100%;height:100%;object-fit:cover;}
.reseller-category-products .reseller-material-card{min-width:0;}
.reseller-category-products .reseller-material-card-body{min-width:0;overflow-wrap:anywhere;}
.reseller-category-products .reseller-material-card h3{line-height:1.25;overflow-wrap:anywhere;word-break:normal;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.reseller-category-products .reseller-material-card p{overflow-wrap:anywhere;}
.reseller-detail-hero{gap:clamp(22px,4vw,48px)!important;align-items:start!important;}
.reseller-detail-image{aspect-ratio:1/1!important;}
.reseller-detail-image img{object-fit:contain!important;}
@media(max-width:600px){.services-visual-grid .service-image-card{min-height:330px}.services-visual-grid .service-image-copy{padding:18px 16px 17px}.services-visual-grid .service-image-copy .kicker{font-size:.58rem;letter-spacing:.11em}.services-visual-grid .service-image-copy h2{font-size:1.35rem;line-height:1.12}.services-visual-grid .service-image-copy p{font-size:.78rem;line-height:1.5}.blog-card-image{margin-bottom:12px}.article-featured-image{margin:20px 0 26px}.reseller-detail-hero{gap:18px!important}.reseller-page .section{padding-top:38px;padding-bottom:38px}}

/* Service editor product selector. */
.service-product-picker{margin-top:24px;padding:22px;border:1px solid var(--line);border-radius:16px;background:#fbfcfd;}
.service-product-picker .editor-section-heading{margin-bottom:16px;}
.service-product-picker-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.service-product-option{display:flex;align-items:center;gap:12px;min-width:0;padding:10px;border:1px solid #e4e7ec;border-radius:12px;background:#fff;cursor:pointer;}
.service-product-option input{flex:0 0 auto;width:18px;height:18px;}
.service-product-option img,.service-product-placeholder{width:64px;height:64px;flex:0 0 64px;object-fit:contain;border-radius:8px;background:#f4f2ed;}
.service-product-placeholder{display:grid;place-items:center;font-size:.72rem;font-weight:900;color:#667085;}
.service-product-option>span:last-child{display:grid;gap:4px;min-width:0;}
.service-product-option strong{font-size:.85rem;line-height:1.25;overflow-wrap:anywhere;}
.service-product-option small{font-size:.72rem;color:#667085;}
.service-products-section .section-head{align-items:end;}
.service-products-grid .product-card{padding:0;overflow:hidden;min-width:0;}
.service-products-grid .product-media{aspect-ratio:1/1;background:#f4f2ed;overflow:hidden;}
.service-products-grid .product-media img{width:100%;height:100%;object-fit:contain;display:block;}
.service-products-grid .product-body{padding:15px;display:grid;gap:8px;}
.service-products-grid .product-body h3{margin:0;font-size:1rem;line-height:1.25;overflow-wrap:anywhere;}
.service-products-grid .product-body>span,.service-products-grid .product-body small{color:#667085;font-size:.75rem;}
@media(max-width:600px){.service-product-picker{padding:14px}.service-product-picker-grid{grid-template-columns:1fr}.service-product-option img,.service-product-placeholder{width:56px;height:56px;flex-basis:56px}.service-products-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.service-products-grid .product-body{padding:10px}.service-products-grid .product-body h3{font-size:.86rem}.service-products-grid .product-body>strong{font-size:.82rem}.services-visual-grid .service-image-copy{padding-top:48px!important}}


/* OSIRA enquiry dialog and persistent WhatsApp contact */
.hero-note{display:flex;flex-direction:column;align-items:flex-start;text-align:left;width:calc(100% - 36px);border:1px solid rgba(255,255,255,.8);cursor:pointer;font:inherit;color:inherit}
.hero-note b{margin-top:8px;color:var(--accent);font-size:.76rem}
.global-enquiry-modal{position:fixed;inset:0;z-index:2000;display:none;align-items:center;justify-content:center;padding:18px}
.global-enquiry-modal.is-open{display:flex}
.global-enquiry-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(16,24,40,.64);backdrop-filter:blur(5px)}
.global-enquiry-dialog{position:relative;z-index:1;width:min(100%,600px);max-height:min(90dvh,850px);overflow:auto;padding:clamp(22px,4vw,38px);border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 24px 80px rgba(16,24,40,.22)}
.global-enquiry-dialog h2{font-size:clamp(1.8rem,4vw,2.7rem);line-height:1.05;letter-spacing:-.045em;margin:10px 0}
.global-enquiry-dialog>p{color:var(--muted);line-height:1.6;margin:0 0 20px}
.global-enquiry-close{position:absolute;right:14px;top:12px;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:#fff;font-size:25px;cursor:pointer}
.global-enquiry-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.global-enquiry-form input,.global-enquiry-form textarea{min-width:0;width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font:inherit}
.global-enquiry-form textarea,.global-enquiry-form button,.global-enquiry-form .honeypot{grid-column:1/-1}
body.enquiry-modal-open{overflow:hidden}
.floating-whatsapp{position:fixed;z-index:1100;right:20px;bottom:22px;width:56px;height:56px;display:grid;place-items:center;border-radius:50%;background:#1fbd66;color:#fff;box-shadow:0 8px 28px rgba(16,24,40,.24);font-size:28px;text-decoration:none}
.floating-whatsapp span{display:grid;place-items:center;width:100%;height:100%;font-size:29px}
@media(max-width:600px){.global-enquiry-modal{padding:10px;align-items:flex-end}.global-enquiry-dialog{max-height:88dvh;padding:23px 18px 20px;border-radius:22px}.global-enquiry-form{grid-template-columns:1fr;gap:10px}.global-enquiry-form input,.global-enquiry-form textarea,.global-enquiry-form button{grid-column:1}.floating-whatsapp{right:14px;bottom:14px;width:50px;height:50px}}
/* Collections should begin near the header instead of carrying an oversized blank hero. */
.category-detail-hero-v2{min-height:0!important;padding-top:clamp(22px,4vw,48px)!important;padding-bottom:clamp(26px,4vw,48px)!important;gap:clamp(22px,3vw,38px)!important}
.category-detail-hero-v2 .breadcrumbs{margin-bottom:clamp(22px,3vw,38px)!important}
.category-detail-hero-v2 .category-detail-copy{max-width:1000px}
.category-detail-hero-v2 .category-detail-copy h1{max-width:1000px;margin:12px 0 16px}
.category-detail-hero-v2 .category-detail-copy>p{max-width:780px}
.category-stats{margin-top:8px!important}
.category-products-v2{padding-top:clamp(34px,5vw,68px)!important}
/* Service tiles: text is anchored at the bottom with a separate number badge above it. */
.services-visual-grid .service-image-card{position:relative;display:block;isolation:isolate;overflow:hidden;min-height:420px;border-radius:22px}
.services-visual-grid .service-image-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.services-visual-grid .service-image-card:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(16,24,40,.06) 5%,rgba(16,24,40,.18) 34%,rgba(16,24,40,.88) 100%)}
.services-visual-grid .service-image-card .solution-number{position:absolute;left:18px;top:18px;display:grid;place-items:center;min-width:52px;height:42px;padding:0 12px;border-radius:12px;background:rgba(16,24,40,.46);border:1px solid rgba(255,255,255,.35);color:#fff;font-size:.9rem;z-index:2}
.services-visual-grid .service-image-copy{position:absolute!important;left:0;right:0;bottom:0;top:auto!important;display:flex;flex-direction:column;gap:4px;padding:24px!important;color:#fff;z-index:1}
.services-visual-grid .service-image-copy .kicker{order:0;margin:0!important;color:#f4c8a7;line-height:1.4;letter-spacing:.12em}
.services-visual-grid .service-image-copy h2{order:1;margin:7px 0;font-size:clamp(1.35rem,2.3vw,2.1rem);line-height:1.08;letter-spacing:-.035em;overflow-wrap:anywhere}
.services-visual-grid .service-image-copy p{order:2;margin:0;color:rgba(255,255,255,.86);font-size:.9rem;line-height:1.5}
.services-visual-grid .service-image-copy strong{order:3;margin-top:14px;padding-top:13px;border-top:1px solid rgba(255,255,255,.32);font-size:.86rem}
@media(max-width:600px){.services-visual-grid .service-image-card{min-height:350px}.services-visual-grid .service-image-copy{padding:17px!important}.services-visual-grid .service-image-copy .kicker{font-size:.58rem}.services-visual-grid .service-image-copy h2{font-size:1.32rem}.services-visual-grid .service-image-copy p{font-size:.77rem}.services-visual-grid .service-image-card .solution-number{left:14px;top:14px}}
/* Buying guides: compact editorial cards and readable article typography. */
.blog-grid-v2{align-items:stretch}
.blog-card-v2{display:flex;flex-direction:column;gap:0;min-width:0;padding:14px!important;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 5px 24px rgba(16,24,40,.035);text-decoration:none;color:inherit;transition:transform .22s ease,box-shadow .22s ease}
.blog-card-v2:hover{transform:translateY(-3px);box-shadow:0 14px 36px rgba(16,24,40,.09)}
.blog-card-image{flex:0 0 auto;width:100%;aspect-ratio:16/9;margin:0 0 16px!important;border-radius:13px;overflow:hidden;background:#f3f1ed}
.blog-card-image img{width:100%;height:100%;object-fit:cover;display:block}
.blog-card-copy{display:flex;flex:1;flex-direction:column;align-items:flex-start;min-width:0;padding:0 4px 5px}
.blog-card-meta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;width:100%;color:var(--muted);font-size:.72rem}
.blog-card-meta>span{color:var(--accent);font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.blog-card-meta time{font-size:.72rem;color:var(--muted)}
.blog-card-copy h2{font-size:clamp(1.15rem,2vw,1.55rem)!important;line-height:1.2!important;letter-spacing:-.025em!important;margin:12px 0 8px!important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.blog-card-copy p{font-size:.9rem!important;line-height:1.55!important;color:var(--muted);margin:0 0 18px!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.blog-read-guide{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;width:100%;padding-top:13px;border-top:1px solid var(--line);font-weight:750;font-size:.88rem;color:var(--ink)}
.blog-read-guide b{font-size:1.2rem;color:var(--accent)}
.article-hero{padding-top:clamp(26px,4vw,52px)!important;padding-bottom:22px!important}
.article-hero .breadcrumbs{margin-bottom:28px}
.article-hero h1{max-width:980px;font-size:clamp(2.25rem,6vw,4.8rem)!important;line-height:1.02!important;letter-spacing:-.055em!important;margin:12px 0 18px!important}
.article-hero>p{max-width:760px;font-size:clamp(1rem,1.7vw,1.25rem)!important;line-height:1.65!important;color:var(--muted)}
.article-meta-row{display:flex;flex-wrap:wrap;gap:12px 20px;margin:20px 0 4px;color:var(--muted);font-size:.83rem}
.article-meta-row span+span:before{content:"·";margin-right:20px;color:var(--accent);font-weight:800}
.article-featured-image{width:100%;max-width:1080px;aspect-ratio:16/9;margin:26px auto 10px!important;border-radius:20px;overflow:hidden;background:#f3f1ed}
.article-featured-image img{display:block;width:100%;height:100%;object-fit:cover}
.article-layout{padding-top:22px!important;gap:clamp(26px,5vw,64px)!important}
.article-main{min-width:0}
.article-body{max-width:760px;margin:0 auto;font-size:1.05rem;line-height:1.85;color:#344054}
.article-body h2{font-size:clamp(1.45rem,3vw,2rem);line-height:1.2;letter-spacing:-.03em;color:var(--ink);margin:38px 0 14px}
.article-body h3{font-size:1.22rem;line-height:1.3;color:var(--ink);margin:28px 0 10px}
.article-body p{margin:0 0 20px}
.article-body ul,.article-body ol{padding-left:1.35rem;margin:0 0 22px}
.article-body li{padding-left:4px;margin:0 0 8px}
.article-body img{max-width:100%;height:auto;border-radius:14px}
.article-body blockquote{margin:26px 0;padding:18px 22px;border-left:3px solid var(--accent);background:#faf7f2;border-radius:0 12px 12px 0}
.article-next{margin-top:44px;padding:clamp(20px,3vw,30px);border:1px solid var(--line);border-radius:18px;background:#faf9f6}
.article-aside{align-self:start;position:sticky;top:100px}
.article-aside>div{padding:20px;border:1px solid var(--line);border-radius:16px;background:#fff}
.article-aside a{display:block;padding:12px 0;border-bottom:1px solid var(--line);font-size:.9rem;text-decoration:none}
.article-aside a:last-child{border-bottom:0}
@media(max-width:700px){.blog-card-v2{padding:10px!important;border-radius:16px}.blog-card-image{margin-bottom:12px!important}.blog-card-copy{padding:0 2px 3px}.blog-card-copy h2{font-size:1.05rem!important;-webkit-line-clamp:3}.blog-card-copy p{font-size:.8rem!important;-webkit-line-clamp:2}.blog-card-meta{font-size:.66rem}.article-hero .breadcrumbs{margin-bottom:20px}.article-hero h1{font-size:clamp(2rem,10vw,3.4rem)!important;line-height:1.03!important}.article-featured-image{border-radius:14px}.article-body{font-size:1rem;line-height:1.78}.article-body h2{margin-top:30px}.article-aside{position:static}}
/* City landing page: more visual hierarchy, less empty space, and locally useful content. */
.city-detail-hero{padding-top:24px!important;padding-bottom:38px!important;min-height:0!important}
.city-detail-hero>.breadcrumbs{margin-bottom:22px!important}
.city-detail-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(24px,5vw,64px);align-items:center}
.city-detail-copy h1{font-size:clamp(2.4rem,5.4vw,5rem)!important;line-height:1.01!important;letter-spacing:-.06em!important;margin:14px 0 20px!important}
.city-detail-copy>p{max-width:620px;color:var(--muted);font-size:clamp(1rem,1.7vw,1.25rem);line-height:1.65}
.city-quick-points{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}
.city-quick-points span{display:flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid var(--line);border-radius:999px;font-size:.78rem;color:#475467;background:#fff}
.city-quick-points b{color:var(--accent)}
.city-hero-visual{position:relative;min-width:0;aspect-ratio:4/3;overflow:hidden;border-radius:24px;background:#eae5dc}
.city-hero-visual img{width:100%;height:100%;display:block;object-fit:cover}
.city-hero-visual>div{position:absolute;left:16px;right:16px;bottom:16px;padding:18px 20px;border:1px solid rgba(255,255,255,.65);border-radius:15px;background:rgba(255,255,255,.91);backdrop-filter:blur(12px);display:grid;gap:6px}
.city-hero-visual>div span{font-size:.68rem;font-weight:850;letter-spacing:.13em;color:var(--accent)}
.city-hero-visual>div strong{font-size:1.1rem;line-height:1.25}
.city-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:28px}
.city-facts>div{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;column-gap:10px;row-gap:3px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff}
.city-fact-icon{grid-row:span 2;display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#f9eee6;color:var(--accent);font-size:1.1rem}
.city-facts strong{font-size:.92rem;line-height:1.25}
.city-facts span:last-child{font-size:.75rem;color:var(--muted)}
.city-content{padding-top:34px!important;display:grid;gap:18px}
.city-intro-panel{padding:clamp(22px,4vw,38px);border:1px solid var(--line);border-radius:20px;background:linear-gradient(135deg,#faf8f3,#fff)}
.city-intro-panel h2,.city-how-section h2,.city-faq-section h2{font-size:clamp(1.7rem,3.5vw,2.6rem);line-height:1.12;letter-spacing:-.04em;margin:10px 0 16px}
.city-content-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.city-content-grid>article{min-width:0;padding:22px;border:1px solid var(--line);border-radius:16px;background:#fff}
.city-content-icon{display:grid;place-items:center;width:38px;height:38px;margin-bottom:14px;border-radius:12px;background:#f9eee6;color:var(--accent);font-size:1.15rem}
.city-content-grid .rich-copy{color:#475467;line-height:1.7}
.city-content-grid .inline-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.city-content-grid .inline-links a{padding:7px 10px;border:1px solid var(--line);border-radius:999px;font-size:.75rem;text-decoration:none}
.city-nearby-panel,.city-closing-copy{padding:18px 22px;border:1px solid var(--line);border-radius:14px}
.city-how-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:30px;align-items:start;background:#faf9f6}
.city-how-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.city-how-grid article{padding:16px;border-radius:14px;border:1px solid var(--line);background:#fff}
.city-how-grid article>span{display:grid;place-items:center;width:35px;height:35px;border-radius:10px;background:#f9eee6;color:var(--accent);font-weight:800}
.city-how-grid h3{font-size:1rem;line-height:1.25;margin:14px 0 8px}
.city-how-grid p{font-size:.82rem;line-height:1.55;color:var(--muted);margin:0}
.city-faq-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:30px;align-items:start}
.city-faq-list details{padding:16px 0;border-bottom:1px solid var(--line)}
.city-faq-list summary{font-weight:750;cursor:pointer;line-height:1.45}
.city-faq-list p{color:var(--muted);line-height:1.65;font-size:.92rem;margin:10px 0 0}
.city-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:clamp(22px,4vw,38px)!important;border-radius:20px;background:#f8f4ee;margin-bottom:50px!important}
.city-cta h2{font-size:clamp(1.7rem,3vw,2.5rem);letter-spacing:-.04em;line-height:1.1;margin:10px 0}
.city-cta p{color:var(--muted)}
@media(max-width:800px){.city-detail-layout{grid-template-columns:1fr}.city-hero-visual{max-height:420px}.city-how-section,.city-faq-section{grid-template-columns:1fr;gap:18px}.city-how-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.city-detail-hero{padding-top:18px!important;padding-bottom:28px!important}.city-detail-copy h1{font-size:clamp(2.25rem,10vw,3.5rem)!important}.city-detail-layout{gap:20px}.city-hero-visual{aspect-ratio:4/3;border-radius:18px}.city-hero-visual>div{left:10px;right:10px;bottom:10px;padding:13px 14px}.city-facts{grid-template-columns:1fr;gap:8px;margin-top:16px}.city-facts>div{padding:12px}.city-content{padding-top:20px!important}.city-content-grid{grid-template-columns:1fr}.city-how-grid{grid-template-columns:1fr}.city-how-grid article{display:grid;grid-template-columns:36px minmax(0,1fr);column-gap:12px;align-items:start}.city-how-grid article>span{grid-row:span 2}.city-how-grid h3{margin:0 0 5px}.city-cta{align-items:flex-start;flex-direction:column}.city-cta .actions{width:100%;display:grid;grid-template-columns:1fr}.city-cta .btn{width:100%}}
/* About page editorial layout */
.about-story-hero{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:clamp(24px,5vw,70px);align-items:center;padding-top:26px!important;padding-bottom:48px!important}
.about-story-copy .breadcrumbs{margin-bottom:24px}
.about-story-copy h1{font-size:clamp(2.5rem,5.4vw,5rem);line-height:1.01;letter-spacing:-.06em;margin:14px 0 22px}
.about-lead{max-width:680px;color:var(--muted);font-size:clamp(1rem,1.6vw,1.2rem);line-height:1.75}
.about-story-visual{position:relative;min-width:0;aspect-ratio:4/5;max-height:650px;border-radius:24px;overflow:hidden;background:#eee9e0}
.about-story-visual picture,.about-story-visual picture img{display:block;width:100%;height:100%}
.about-story-visual picture img{object-fit:cover}
.about-image-note{position:absolute;left:16px;right:16px;bottom:16px;display:flex;gap:13px;align-items:center;padding:17px;border:1px solid rgba(255,255,255,.7);border-radius:16px;background:rgba(255,255,255,.92);backdrop-filter:blur(10px)}
.about-note-icon{flex:0 0 42px;display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#f9eee6;color:var(--accent);font-size:1.5rem}
.about-image-note div{display:grid;gap:4px}
.about-image-note strong{font-size:.95rem;line-height:1.3}
.about-image-note span:last-child{font-size:.8rem;line-height:1.5;color:var(--muted)}
.about-proof-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.about-proof-pills span{padding:9px 12px;border:1px solid var(--line);border-radius:999px;color:#475467;font-size:.76rem}
.about-proof-pills b{color:var(--accent);margin-right:5px}
.about-facts-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding-top:24px!important;padding-bottom:38px!important}
.about-facts-strip>div{display:grid;grid-template-columns:38px minmax(0,1fr);column-gap:10px;align-items:center;padding:17px;border:1px solid var(--line);border-radius:14px}
.about-fact-icon{grid-row:span 2;display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#f9eee6;color:var(--accent);font-size:1.15rem}
.about-facts-strip strong{font-size:.88rem;line-height:1.3}
.about-facts-strip>div>span:last-child{font-size:.73rem;color:var(--muted)}
.about-section-heading{max-width:760px;margin-bottom:28px}
.about-section-heading h2,.about-capability-copy h2,.about-team-copy h2,.about-values-band h2,.about-contact-card h2{font-size:clamp(1.9rem,4vw,3.2rem);line-height:1.08;letter-spacing:-.045em;margin:12px 0}
.about-section-heading p,.about-capability-copy p,.about-team-copy p{color:var(--muted);line-height:1.75}
.about-purpose-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.about-purpose-grid article{padding:24px;border:1px solid var(--line);border-radius:18px;background:#fff;transition:transform .2s ease,box-shadow .2s ease}
.about-purpose-grid article:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(16,24,40,.07)}
.about-card-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#f9eee6;color:var(--accent);font-size:1.5rem}
.about-purpose-grid h3{font-size:1.18rem;margin:18px 0 8px}
.about-purpose-grid p{font-size:.9rem;color:var(--muted);line-height:1.7;margin:0}
.about-capability-section{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(24px,5vw,64px);align-items:center}
.about-capability-image,.about-team-photo{position:relative;min-width:0;aspect-ratio:4/3;overflow:hidden;border-radius:20px;background:#eee9e0}
.about-capability-image img,.about-team-photo img{width:100%;height:100%;display:block;object-fit:cover}
.about-photo-caption{position:absolute;left:12px;bottom:12px;padding:8px 10px;border-radius:9px;background:rgba(255,255,255,.9);color:#475467;font-size:.72rem}
.about-check-list{list-style:none;padding:0;margin:22px 0;display:grid;gap:12px}
.about-check-list li{display:flex;gap:10px;align-items:flex-start;line-height:1.5;color:#344054}
.about-check-list li span{flex:0 0 22px;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#e7f6ec;color:#178348;font-size:.78rem}
.about-offerings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.about-offerings-grid>a{display:flex;align-items:flex-start;gap:15px;padding:20px;border:1px solid var(--line);border-radius:16px;text-decoration:none;color:inherit;background:#fff;transition:border-color .2s ease,transform .2s ease}
.about-offerings-grid>a:hover{border-color:#d9a27e;transform:translateY(-2px)}
.about-offerings-grid>a>span{flex:0 0 42px;display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#f9eee6;color:var(--accent);font-size:1.3rem}
.about-offerings-grid h3{margin:2px 0 7px;font-size:1.05rem}
.about-offerings-grid p{margin:0 0 12px;color:var(--muted);font-size:.87rem;line-height:1.6}
.about-offerings-grid b{color:var(--accent);font-size:.8rem}
.about-team-section{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(24px,5vw,60px);align-items:center}
.about-values-band{display:grid;grid-template-columns:.85fr 1.15fr;gap:32px;padding:clamp(24px,4vw,42px)!important;border-radius:22px;background:#f8f5ef}
.about-values-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.about-values-list article{display:flex;gap:12px;align-items:flex-start}
.about-values-list article>span{flex:0 0 34px;display:grid;place-items:center;width:34px;height:34px;border:1px solid #e6d4c4;border-radius:10px;color:var(--accent);font-weight:800;font-size:.78rem}
.about-values-list h3{margin:2px 0 6px;font-size:.98rem}
.about-values-list p{margin:0;color:var(--muted);font-size:.83rem;line-height:1.6}
.about-contact-card{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:48px!important;padding:clamp(24px,4vw,42px)!important;border:1px solid var(--line);border-radius:22px;background:#fff}
.about-contact-card>div:first-child{max-width:700px}
.about-contact-card p{color:var(--muted);line-height:1.65}
.about-contact-links{display:flex;flex-wrap:wrap;gap:10px 18px}
.about-contact-actions{display:grid;gap:10px;min-width:220px}
@media(max-width:800px){.about-story-hero,.about-capability-section,.about-team-section,.about-values-band{grid-template-columns:1fr}.about-story-visual{aspect-ratio:16/10;max-height:none}.about-facts-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.about-purpose-grid{grid-template-columns:1fr}.about-purpose-grid article{padding:20px}.about-values-band{gap:22px}}
@media(max-width:600px){.about-story-hero{padding-top:18px!important;padding-bottom:30px!important;gap:22px}.about-story-copy h1{font-size:clamp(2.25rem,10vw,3.4rem)}.about-story-visual{aspect-ratio:4/5;border-radius:18px}.about-image-note{left:10px;right:10px;bottom:10px;padding:12px}.about-proof-pills span{font-size:.68rem}.about-facts-strip{gap:8px;padding-bottom:26px!important}.about-facts-strip>div{padding:11px;grid-template-columns:32px minmax(0,1fr);column-gap:8px}.about-fact-icon{width:32px;height:32px}.about-facts-strip strong{font-size:.78rem}.about-facts-strip>div>span:last-child{font-size:.65rem}.about-offerings-grid{grid-template-columns:1fr}.about-offerings-grid>a{padding:15px}.about-values-list{grid-template-columns:1fr}.about-contact-card{align-items:flex-start;flex-direction:column}.about-contact-actions{width:100%;min-width:0}.about-contact-actions .btn{width:100%}}
.about-media-field{padding:14px 0;border-bottom:1px solid var(--line);display:grid;gap:10px}
.about-media-upload{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.about-media-upload input{max-width:100%;font-size:.82rem}
.about-media-preview{display:block;width:min(100%,320px);aspect-ratio:16/9;object-fit:cover;border-radius:10px;border:1px solid var(--line)}
@media(prefers-reduced-motion:reduce){.about-purpose-grid article,.about-offerings-grid>a,.blog-card-v2{transition:none!important}}


/* Prevent reseller category labels from being clipped on narrow cards. */
.reseller-category-directory>a{height:auto!important;min-height:0!important;align-self:stretch!important}
.reseller-category-directory>a>img{aspect-ratio:4/3!important;height:auto!important;flex:0 0 auto!important}
.reseller-directory-copy{flex:1 0 auto!important;min-height:116px;min-width:0!important;overflow:visible!important;white-space:normal!important}
.reseller-directory-copy strong,.reseller-directory-copy small,.reseller-directory-copy b{display:block;max-width:100%;overflow:visible!important;text-overflow:clip!important;white-space:normal!important;overflow-wrap:anywhere;word-break:normal;line-height:1.45}
@media(max-width:600px){.reseller-directory-copy{min-height:108px;padding:11px!important;gap:6px!important}.reseller-directory-copy strong{font-size:.84rem!important}.reseller-directory-copy small{font-size:.68rem!important}.reseller-directory-copy b{font-size:.68rem!important}}
.about-photo-gallery-section{padding-top:24px!important}
.about-photo-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.about-photo-gallery figure{position:relative;min-width:0;aspect-ratio:4/3;margin:0;overflow:hidden;border-radius:18px;background:#eee9e0}
.about-photo-gallery figure img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.about-photo-gallery figure:hover img{transform:scale(1.035)}
.about-photo-gallery figure:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(16,24,40,.78));pointer-events:none}
.about-photo-gallery figcaption{position:absolute;left:15px;right:15px;bottom:14px;z-index:1;display:grid;gap:4px;color:#fff}
.about-photo-gallery figcaption strong{font-size:1rem;line-height:1.25}
.about-photo-gallery figcaption span{font-size:.76rem;line-height:1.4;color:rgba(255,255,255,.82)}
@media(max-width:700px){.about-photo-gallery{grid-template-columns:1fr}.about-photo-gallery figure{aspect-ratio:16/10}.about-photo-gallery figcaption{left:12px;right:12px;bottom:12px}.about-photo-gallery figcaption strong{font-size:.92rem}.about-photo-gallery figcaption span{font-size:.72rem}}


.about-photo-placeholder{width:100%;height:100%;min-height:200px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:9px;padding:clamp(20px,3vw,32px);background:radial-gradient(circle at 78% 22%,rgba(207,109,46,.14),transparent 28%),linear-gradient(135deg,#f7f4ed,#e9e3d8);color:var(--ink)}
.about-photo-placeholder>span{display:grid;place-items:center;width:48px;height:48px;border:1px solid #e0c9b6;border-radius:15px;background:rgba(255,255,255,.65);color:var(--accent);font-size:1.55rem}
.about-photo-placeholder strong{font-size:1.08rem;line-height:1.25}
.about-photo-placeholder small{max-width:300px;color:var(--muted);font-size:.78rem;line-height:1.55}
.about-photo-gallery figure .about-photo-placeholder{position:absolute;inset:0}

.floating-whatsapp svg{display:block;width:30px;height:30px;fill:currentColor}


.category-detail-hero-v2 .category-detail-copy{padding:20px 0 24px!important}
@media(max-width:600px){.category-detail-hero-v2 .category-detail-copy{padding:14px 0 18px!important}.category-detail-hero-v2 .breadcrumbs{margin-bottom:14px!important}}
.article-body h1{font-size:clamp(1.8rem,4vw,2.7rem);line-height:1.12;letter-spacing:-.035em;color:var(--ink);margin:28px 0 14px}
.article-body table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse}
.article-body th,.article-body td{padding:10px 12px;border:1px solid var(--line);text-align:left}

.about-legal-details{display:flex;flex-wrap:wrap;gap:8px 16px;margin:16px 0;color:var(--muted);font-size:.8rem}.about-legal-details strong{color:var(--ink)}


/* FIX: reseller directory copy inherited the 40px icon width from the shortcut-card rule. */
.reseller-category-directory .reseller-directory-copy{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  height:auto!important;
  flex:1 1 auto!important;
  grid-row:auto!important;
  grid-column:auto!important;
  padding:16px!important;
  text-align:left!important;
  overflow:visible!important;
  white-space:normal!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
  box-sizing:border-box!important;
}
.reseller-category-directory .reseller-directory-copy strong,
.reseller-category-directory .reseller-directory-copy small,
.reseller-category-directory .reseller-directory-copy b{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  height:auto!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
  text-overflow:clip!important;
  overflow:visible!important;
  line-height:1.45!important;
}
.reseller-category-directory .reseller-directory-copy strong{font-size:.98rem!important;line-height:1.25!important;margin:0 0 5px!important;color:var(--ink,#101828)!important}
.reseller-category-directory .reseller-directory-copy small{font-size:.78rem!important;color:var(--muted,#667085)!important;margin:0 0 12px!important}
.reseller-category-directory .reseller-directory-copy b{font-size:.76rem!important;color:#a9572c!important;margin-top:auto!important}
@media(max-width:600px){
 .reseller-category-directory .reseller-directory-copy{padding:13px!important}
 .reseller-category-directory .reseller-directory-copy strong{font-size:.92rem!important}
 .reseller-category-directory .reseller-directory-copy small{font-size:.72rem!important}
 .reseller-category-directory .reseller-directory-copy b{font-size:.7rem!important}
}


/* About contact panel: clear hierarchy and comfortable mobile actions. */
.about-contact-card{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(230px,.36fr)!important;align-items:start!important;gap:clamp(24px,4vw,52px)!important;padding:clamp(24px,4vw,48px)!important;border-radius:26px!important;background:linear-gradient(145deg,#fff 0%,#faf8f4 100%)!important;box-shadow:0 18px 55px rgba(16,24,40,.055)!important}
.about-contact-card>div:first-child{max-width:760px!important;min-width:0}
.about-contact-card h2{max-width:680px!important;font-size:clamp(2rem,4.5vw,3.4rem)!important;line-height:1.04!important;margin:14px 0 18px!important}
.about-contact-card p{font-size:clamp(.95rem,1.6vw,1.12rem)!important;line-height:1.75!important;margin:0 0 20px!important}
.about-legal-details{display:flex;flex-wrap:wrap;gap:10px 18px;margin:18px 0 22px}
.about-legal-details span{font-size:.86rem;line-height:1.55;color:var(--muted)}
.about-legal-details strong{color:var(--ink)}
.about-contact-links{display:flex;flex-wrap:wrap;gap:10px 18px}
.about-contact-links a{display:inline-flex;align-items:center;gap:8px;font-size:.92rem;font-weight:750;color:var(--ink);text-decoration:none;overflow-wrap:anywhere}
.about-contact-links a:hover{color:var(--accent)}
.about-contact-actions{display:grid!important;align-content:start!important;gap:12px!important;min-width:0!important;padding:18px!important;border:1px solid var(--line);border-radius:18px;background:#fff}
.about-contact-actions .btn{width:100%;min-height:54px;padding:14px 16px;text-align:center;line-height:1.3;border-radius:12px;font-size:.84rem}
.about-contact-actions .btn.secondary{background:#fff}
@media(max-width:700px){.about-contact-card{grid-template-columns:1fr!important;gap:20px!important;padding:24px 20px!important;margin-bottom:28px!important;border-radius:20px!important}.about-contact-card h2{font-size:clamp(1.85rem,8vw,2.7rem)!important}.about-legal-details{display:grid;grid-template-columns:1fr;gap:8px;margin:16px 0 20px}.about-contact-links{display:grid;grid-template-columns:1fr;gap:12px}.about-contact-actions{padding:12px!important;grid-template-columns:1fr}.about-contact-actions .btn{min-height:50px}}
/* Industry cards now use a consistent 16:9 image and compact copy block. */
.industry-grid-v2{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px!important}
.industry-card-image-v3{display:flex!important;flex-direction:column!important;justify-content:flex-start!important;min-height:0!important;padding:0!important;overflow:hidden!important;gap:0!important;border-radius:20px!important;background:#fff!important}
.industry-card-visual{position:relative;aspect-ratio:16/9;width:100%;overflow:hidden;background:#f2efe9}
.industry-card-visual img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.industry-card-image-v3:hover .industry-card-visual img{transform:scale(1.035)}
.industry-card-visual:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(16,24,40,.35));pointer-events:none}
.industry-card-visual .solution-number{position:absolute;z-index:1;top:14px;left:14px;display:grid;place-items:center;min-width:42px;height:36px;padding:0 10px;border:1px solid rgba(255,255,255,.5);border-radius:10px;background:rgba(16,24,40,.52);color:#fff;font-size:.76rem;font-weight:800}
.industry-card-copy{display:flex;flex-direction:column;align-items:flex-start;flex:1;padding:22px 24px 24px;min-width:0}
.industry-card-copy>.kicker{font-size:.64rem;letter-spacing:.12em}
.industry-card-copy h2{font-size:clamp(1.35rem,2.2vw,1.8rem)!important;line-height:1.12!important;letter-spacing:-.035em!important;margin:10px 0!important;overflow-wrap:normal;word-break:normal}
.industry-card-copy p{font-size:.88rem!important;line-height:1.6!important;margin:0 0 16px!important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.industry-card-copy strong{display:flex;align-items:center;gap:8px;margin-top:auto!important;padding-top:8px;color:var(--ink)}
.solution-detail-hero-v3{padding-top:0!important}
.solution-detail-hero-v3>.breadcrumbs{padding:18px 0 10px!important;margin:0!important}
.solution-detail-layout-v3{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);gap:clamp(26px,5vw,64px);align-items:center;padding:18px 0 20px}
.solution-detail-layout-v3 .solution-detail-copy{padding:18px 0!important;max-width:100%}
.solution-detail-layout-v3 .solution-detail-copy h1{font-size:clamp(2.5rem,5.4vw,5.2rem)!important;line-height:1!important;margin:12px 0 16px!important}
.solution-detail-layout-v3 .solution-detail-copy>p{max-width:640px;line-height:1.7}
.solution-detail-visual{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:22px;background:#f1eee8}
.solution-detail-visual>img{display:block;width:100%;height:100%;object-fit:cover}
.solution-visual-note{position:absolute;left:14px;right:14px;bottom:14px;display:grid;gap:4px;padding:16px 18px;border:1px solid rgba(255,255,255,.55);border-radius:15px;background:rgba(255,255,255,.91);backdrop-filter:blur(12px)}
.solution-visual-note strong{font-size:.95rem;color:var(--ink)}
.solution-visual-note span{font-size:.78rem;line-height:1.5;color:var(--muted)}
.solution-proof-pills{display:flex;flex-wrap:wrap;gap:7px;margin-top:22px}
.solution-proof-pills span{padding:8px 10px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.7rem;font-weight:750}
.solution-content-v3{max-width:980px!important;padding-top:22px!important}
.solution-content-v3 article{padding:24px 0!important}
.solution-content-v3 .rich-copy{margin-top:10px;line-height:1.75;color:#475467}
.solution-content-v3 .rich-copy h2,.solution-content-v3 .rich-copy h3{line-height:1.25;margin:22px 0 8px;color:var(--ink)}
.solution-content-v3 .rich-copy p{margin:0 0 14px}
.solution-content-v3 .rich-copy ul,.solution-content-v3 .rich-copy ol{padding-left:22px;margin:8px 0 16px}
@media(max-width:800px){.industry-grid-v2{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}.industry-card-copy{padding:16px}.industry-card-copy h2{font-size:1.25rem!important}.industry-card-copy p{font-size:.78rem!important;-webkit-line-clamp:3}.solution-detail-layout-v3{grid-template-columns:1fr;gap:18px;padding-top:10px}.solution-detail-layout-v3 .solution-detail-copy{padding:10px 0!important}.solution-detail-visual{aspect-ratio:16/10;border-radius:18px}.solution-proof-pills{margin-top:16px}}
@media(max-width:520px){.industry-grid-v2{grid-template-columns:1fr!important;gap:14px!important}.industry-card-copy{padding:17px 18px 19px}.industry-card-copy h2{font-size:1.45rem!important}.industry-card-copy p{font-size:.84rem!important}.solution-detail-layout-v3 .solution-detail-copy h1{font-size:clamp(2.25rem,10vw,3.3rem)!important}.solution-visual-note{left:9px;right:9px;bottom:9px;padding:12px 14px}.solution-content-v3{padding-top:12px!important}.solution-content-v3 article{padding:20px 0!important}}
/* Article pages: editorial rhythm, readable measure, less empty vertical space. */
.article-hero{padding-top:26px!important;padding-bottom:8px!important}
.article-hero .breadcrumbs{margin-bottom:20px!important;padding:0!important}
.article-meta-row{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;margin:18px 0 0;color:var(--muted);font-size:.8rem;line-height:1.5}
.article-meta-row span+span{padding-left:14px;border-left:1px solid var(--line)}
.article-featured-image{margin:22px auto 0!important;max-height:560px;aspect-ratio:16/9!important}
.article-layout{padding-top:26px!important;padding-bottom:50px!important;align-items:start!important}
.article-body{max-width:760px!important;font-size:1.03rem!important;line-height:1.8!important}
.article-body>*:first-child{margin-top:0!important}
.article-body h2{margin-top:32px!important}
.article-body p{margin-bottom:17px!important}
.article-next{margin-top:34px!important;padding:24px!important}
.article-next h2{font-size:clamp(1.5rem,3vw,2rem)!important;line-height:1.15!important}
@media(max-width:700px){.article-hero{padding-top:18px!important;padding-bottom:0!important}.article-hero .breadcrumbs{margin-bottom:18px!important}.article-meta-row{font-size:.73rem;margin:14px 0 0}.article-featured-image{margin-top:18px!important;aspect-ratio:4/3!important;max-height:380px;border-radius:15px!important}.article-layout{padding-top:18px!important;padding-bottom:32px!important}.article-body{font-size:.98rem!important;line-height:1.75!important}.article-body h2{margin-top:27px!important}.article-next{margin-top:26px!important;padding:20px!important}}


/* ==========================================================
   OSIRA desktop UX refinement — compact page tops, hierarchy,
   catalogue-first layout and marketplace-style product detail.
   Keep these final rules intentional so older component rules
   cannot unexpectedly enlarge headings or vertical spacing.
   ========================================================== */
@media (min-width: 901px) {
  :root { --osira-content-width: 1240px; }
  .section, .hero { max-width: var(--osira-content-width); }
  main { overflow-x: clip; }
  .site-header .nav-inner { max-width: 1320px; min-height: 68px; gap: 30px; }
  .site-header .nav-inner nav { gap: clamp(14px, 1.65vw, 24px); }
  .site-header .nav-inner nav a { white-space: nowrap; }

  /* Home: bring the first fold together without making it crowded. */
  .hero.hero-home {
    padding: 46px 24px 42px !important;
    gap: clamp(30px, 4vw, 58px) !important;
    grid-template-columns: minmax(0, 1.12fr) minmax(360px, .88fr) !important;
    align-items: center !important;
  }
  .hero-home .hero-copy { max-width: 690px; }
  .hero-home .hero-copy h1 {
    max-width: 700px;
    font-size: clamp(3.15rem, 4.3vw, 4.65rem) !important;
    line-height: .99 !important;
    letter-spacing: -.052em !important;
    margin: 12px 0 16px !important;
    text-wrap: balance;
  }
  .hero-home .hero-copy > p { max-width: 620px; font-size: .98rem; line-height: 1.65; margin: 0; }
  .hero-home .actions { margin-top: 20px; }
  .hero-home .hero-visual { min-height: 390px; max-height: 470px; }
  .hero-home .clock-face { width: clamp(210px, 20vw, 280px); height: clamp(210px, 20vw, 280px); }
  .home-banner-section { margin-top: 0 !important; }

  /* About: balanced two-column hero and controlled editorial type. */
  .about-story-hero {
    padding-top: 28px !important; padding-bottom: 42px !important;
    gap: clamp(34px, 4vw, 58px) !important;
    grid-template-columns: minmax(0, 1.02fr) minmax(0, .98fr) !important;
    align-items: center !important;
  }
  .about-story-copy h1 {
    font-size: clamp(2.8rem, 4vw, 4.25rem) !important;
    line-height: 1.02 !important; letter-spacing: -.05em !important;
    max-width: 700px; margin: 14px 0 18px !important; text-wrap: balance;
  }
  .about-story-copy .breadcrumbs { margin-bottom: 22px !important; }
  .about-story-copy .about-lead { max-width: 650px; font-size: .98rem; line-height: 1.72; }
  .about-story-visual { min-width: 0; min-height: 410px; max-height: 510px; }
  .about-story-visual picture, .about-story-visual picture img { display:block; width:100%; height:100%; }
  .about-story-visual picture img { object-fit: cover; border-radius: inherit; }

  /* Collections landing/detail pages: tighter, predictable title hierarchy. */
  .collections-hero, .category-detail-hero-v2 {
    padding-top: 28px !important; padding-bottom: 30px !important;
  }
  .category-detail-hero-v2 .breadcrumbs { margin-bottom: 22px !important; }
  .category-detail-copy h1, .collections-hero h1 {
    font-size: clamp(2.9rem, 4.4vw, 4.6rem) !important;
    line-height: 1.02 !important; letter-spacing: -.05em !important;
    max-width: 980px; margin: 12px 0 14px !important; text-wrap: balance;
  }
  .category-detail-copy > p, .collections-hero > p {
    max-width: 780px; font-size: .98rem; line-height: 1.65; margin: 0;
  }
  .category-detail-copy .actions { margin-top: 20px; }
  .category-stats { margin-top: 26px !important; }
  .category-products-v2 { padding-top: 28px !important; }
  .category-products-v2 .section-head { margin-bottom: 18px !important; }
  .category-product-grid { gap: 18px !important; }

  /* Guides and industry index pages: editorial scale, no giant headlines. */
  .guides-hero, .solutions-hero {
    padding-top: 36px !important; padding-bottom: 28px !important;
  }
  .guides-hero h1, .solutions-hero h1 {
    max-width: 980px !important;
    font-size: clamp(3rem, 4.3vw, 4.65rem) !important;
    line-height: 1.02 !important; letter-spacing: -.052em !important;
    margin: 12px 0 16px !important; text-wrap: balance;
  }
  .guides-hero p, .solutions-hero p {
    max-width: 780px !important; font-size: .98rem !important; line-height: 1.7 !important;
    margin: 0;
  }
  .guides-grid-section, .solutions-grid-section { padding-top: 20px !important; }
  .blog-grid-v2 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 18px !important; }
  .blog-card-v2 { min-height: 330px; padding: 22px !important; }
  .blog-card-v2 h2 { font-size: 1.45rem !important; line-height: 1.16 !important; letter-spacing: -.025em; }
  .blog-card-v2 p { font-size: .88rem !important; line-height: 1.65; }
  .industry-grid-v2 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 18px !important; }
  .industry-card-image-v3 { min-width: 0; }
  .industry-card-visual { aspect-ratio: 16 / 9; overflow:hidden; }
  .industry-card-visual img { width:100%; height:100%; object-fit:cover; }
  .industry-card-copy { padding: 20px 22px 22px !important; }
  .industry-card-copy h2 { font-size: 1.45rem !important; line-height: 1.16 !important; margin: 10px 0 !important; text-wrap: balance; }
  .industry-card-copy p { font-size: .88rem !important; line-height: 1.6 !important; }

  /* Industry detail pages: content width and heading scale. */
  .solution-detail-hero-v3 { padding-bottom: 24px !important; }
  .solution-detail-layout-v3 {
    grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr) !important;
    gap: clamp(34px, 4.2vw, 62px) !important; padding: 18px 0 28px !important;
  }
  .solution-detail-layout-v3 .solution-detail-copy h1 {
    font-size: clamp(2.9rem, 4.1vw, 4.35rem) !important;
    line-height: 1.02 !important; letter-spacing: -.05em !important;
    text-wrap: balance;
  }
  .solution-detail-layout-v3 .solution-detail-copy > p { font-size: .98rem; line-height: 1.7; }
  .solution-content-v3 { max-width: 1060px !important; gap: 22px !important; }
  .solution-content-v3 article { padding: 26px 30px !important; }
  .solution-content-v3 .rich-copy { font-size: .96rem; line-height: 1.8; }
  .solution-content-v3 .rich-copy h2 { font-size: 1.65rem; line-height: 1.2; margin: 0 0 14px; }
  .solution-content-v3 .rich-copy h3 { font-size: 1.2rem; line-height: 1.3; }

  /* Catalogue: keep title, count, sort, search and filters in a compact flow. */
  .catalogue-hero { padding-top: 26px !important; padding-bottom: 12px !important; }
  .catalogue-intro { max-width: 100% !important; }
  .catalogue-intro h1 {
    font-size: clamp(2.6rem, 3.7vw, 3.75rem) !important;
    line-height: 1.02 !important; letter-spacing: -.045em !important;
    margin: 8px 0 8px !important;
  }
  .catalogue-intro p { max-width: 720px; font-size: .9rem; line-height: 1.55; margin: 0; }
  .catalogue-body { padding-top: 8px !important; }
  .catalogue-toolbar {
    display:flex !important; align-items:center !important; justify-content:space-between !important;
    gap:18px !important; margin:0 0 12px !important; padding:12px 0 !important;
    border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  }
  .catalogue-toolbar > div { font-size:.85rem; }
  .catalogue-sort-label { display:flex !important; align-items:center !important; gap:10px !important; white-space:nowrap; font-size:.78rem; }
  .catalogue-sort-label select { min-height:40px; max-width:210px; }
  .catalogue-controls { display:grid !important; grid-template-columns:minmax(0,1fr) auto !important; align-items:start !important; gap:12px !important; margin:0 0 20px !important; }
  .catalogue-searchbar { min-width:0; }
  .catalogue-searchbar input { min-width:0; }
  .catalogue-searchbar, .catalogue-controls > * { min-height:44px; }
  .catalogue-filters, .catalogue-filter-button { align-self:stretch; }
  .catalogue-page .product-grid { gap:16px !important; }
  .catalogue-page .product-card { min-width:0; }
  .catalogue-page .product-media { aspect-ratio: 4 / 3; overflow:hidden; }
  .catalogue-page .product-media img { width:100%; height:100%; object-fit:contain; }

  /* Product detail: familiar marketplace layout, strong image/info split. */
  .product-page { background:#fff; }
  .product-breadcrumbs { padding-top:16px !important; padding-bottom:14px !important; font-size:.78rem; }
  .product-page .product-hero {
    display:grid !important;
    grid-template-columns:minmax(0, 1.02fr) minmax(400px, .98fr) !important;
    gap:clamp(28px, 4vw, 54px) !important;
    align-items:start !important; padding-top:8px !important; padding-bottom:42px !important;
  }
  .product-page .gallery { min-width:0; position:sticky; top:88px; }
  .product-page .main-image {
    width:100%; aspect-ratio:1 / 1; max-height: min(68vh, 650px);
    display:flex; align-items:center; justify-content:center; overflow:hidden;
    background:#f7f6f2; border:1px solid #eeece6; border-radius:16px;
  }
  .product-page .main-image > img { width:100%; height:100%; max-height:650px; object-fit:contain; }
  .product-page .thumbs { display:flex; gap:10px; overflow-x:auto; padding:12px 2px 4px; }
  .product-page .thumb { flex:0 0 72px; width:72px; height:72px; border-radius:10px; overflow:hidden; border:1px solid var(--line); background:#fff; }
  .product-page .thumb img { width:100%; height:100%; object-fit:contain; }
  .product-page .product-info { min-width:0; padding:8px 0 0 !important; }
  .product-page .product-info h1 {
    font-size:clamp(2.15rem, 3vw, 3.25rem) !important;
    line-height:1.06 !important; letter-spacing:-.045em !important;
    margin:10px 0 14px !important; text-wrap:balance;
  }
  .product-page .product-lead { font-size:1rem !important; line-height:1.7 !important; max-width:620px; }
  .product-page .product-meta-line { display:flex; flex-wrap:wrap; gap:10px 18px; font-size:.78rem; margin:16px 0 22px; }
  .product-page .product-info h2 { font-size:1.55rem !important; line-height:1.2 !important; letter-spacing:-.025em; }
  .product-page .product-info h3 { font-size:1.1rem !important; line-height:1.3 !important; }
  .product-page .product-info p, .product-page .product-info li { font-size:.91rem; line-height:1.7; }
  .product-page .product-info .btn { min-height:48px; }
}
@media (min-width: 901px) and (max-width: 1100px) {
  .hero.hero-home { grid-template-columns:minmax(0,1fr) minmax(300px,.8fr) !important; gap:28px !important; }
  .hero-home .hero-copy h1 { font-size:3.2rem !important; }
  .about-story-copy h1, .category-detail-copy h1, .collections-hero h1,
  .guides-hero h1, .solutions-hero h1 { font-size:3rem !important; }
  .product-page .product-hero { grid-template-columns:minmax(0,1fr) minmax(340px,.95fr) !important; gap:26px !important; }
  .industry-grid-v2 { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}
@media (min-width: 701px) and (max-width: 900px) {
  .hero.hero-home { padding:38px 24px !important; gap:26px !important; }
  .hero-home .hero-copy h1 { font-size:clamp(2.8rem,6vw,3.7rem) !important; }
  .about-story-copy h1, .category-detail-copy h1, .collections-hero h1,
  .guides-hero h1, .solutions-hero h1 { font-size:clamp(2.7rem,5.4vw,3.6rem) !important; }
  .product-page .product-hero { grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important; gap:22px !important; }
}

/* Homepage header-to-hero spacing: one source of truth, desktop only.
   Keep the hero at the top of main with a small visual breathing room. */
@media (min-width: 901px) {
  html body main > section.hero.hero-home {
    margin-block-start: 0 !important;
    padding-block-start: 8px !important;
    padding-block-end: 34px !important;
  }
}
