/* Floating navigation keeps a visible gutter even while pinned. */
:root{--header-gap:14px;--header-gutter:3%;--header-bottom:calc(var(--header-height,82px) + var(--header-gap))}
body{padding-top:var(--header-gap)}
html{scroll-padding-top:calc(var(--header-bottom) + 24px)}
.site-header,.product-header{position:sticky;top:var(--header-gap);margin:0 var(--header-gutter) 14px;min-height:82px;padding:10px 2.5%;border:1px solid #ffffff18;border-radius:26px;background:#1c1d21f5;box-shadow:0 10px 30px #11121814,0 2px 5px #1112180a;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);z-index:50}
.site-header{grid-template-columns:minmax(0,1fr) 112px minmax(0,1fr);gap:24px}
.site-header .logo{width:108px;max-height:59px}
.header-links{gap:clamp(14px,2vw,30px)}
.header-links .header-quote{background:#ffffff05;border-color:#ffffff2b;padding:11px 19px}
.mega-panel{top:calc(var(--header-bottom) + 8px);left:var(--header-gutter);right:var(--header-gutter);max-height:calc(100dvh - var(--header-bottom) - 24px);border:1px solid #17171912;border-radius:24px;padding:26px 3% 22px;box-shadow:0 20px 55px #0003}
.scroll-stage .hero{top:calc(var(--header-bottom) + 12px);height:calc(100svh - var(--header-bottom) - 24px)}
.universe-panel{top:var(--header-bottom);height:calc(100svh - var(--header-bottom))}
.universe-stage{scroll-margin-top:var(--header-bottom)}
.product-header img{width:108px}
.skip{z-index:100}
@media(min-width:761px) and (max-width:1050px){.site-header{gap:16px;grid-template-columns:minmax(0,1fr) 100px minmax(0,1fr)}.site-header .logo{width:100px}.header-links{gap:13px;font-size:11px}.header-links .header-quote{padding:9px 13px;gap:10px}}
@media(max-width:760px){:root{--header-gap:10px;--header-gutter:12px}.site-header,.product-header{min-height:72px;border-radius:22px;padding:8px 16px;margin-bottom:12px}.site-header{grid-template-columns:1fr 95px 1fr;gap:12px}.site-header .logo,.product-header img{width:95px;max-height:52px}#menu{top:calc(var(--header-bottom) + 8px);left:var(--header-gutter);right:var(--header-gutter);max-height:calc(100dvh - var(--header-bottom) - 24px);border:1px solid #ffffff18;border-radius:22px;box-shadow:0 20px 45px #0003;padding:12px 22px 22px}.product-header{grid-template-columns:1fr 95px 1fr}.mobile-toggle{gap:8px}}
@media(prefers-reduced-motion:reduce){.scroll-stage .hero,.universe-panel{top:auto}}
/* Bounded megamenus leave the underlying story visible. */
.mega-panel{left:50%;right:auto;transform:translateX(-50%);width:min(960px,calc(100% - 48px));height:min(440px,58dvh);max-height:calc(100dvh - var(--header-bottom) - 40px);display:flex;flex-direction:column;overflow:hidden;padding:20px 26px 16px}.mega-heading{margin-bottom:12px;flex-shrink:0}.mega-heading h2{font-size:27px}.mega-search{padding:9px 12px;margin-bottom:14px;flex-shrink:0}.mega-grid{columns:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 24px;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;flex:1;padding-right:10px}.mega-group{margin-bottom:8px}.mega-all{margin-top:12px;padding-top:12px;flex-shrink:0}.mega-group .product-link{padding:6px 0}.category-page-nav{display:flex;flex-wrap:wrap;gap:10px;padding:0 5% 30px}.category-page-nav a{border:1px solid #ccc;border-radius:30px;padding:10px 17px;font-size:12px}.category-page-nav a[aria-current=page]{background:#171719;color:white}.category-hero{padding:50px 5% 25px;display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center}.category-hero h1{font-size:clamp(48px,7vw,95px)}.category-hero p{line-height:1.6;color:#666;max-width:550px}.category-hero img{width:100%;height:300px;object-fit:cover;border-radius:24px}.category-hero img.isolated{object-fit:contain}.category-list{padding:25px 5% 70px}.category-list input{color:#171719;border:1px solid #bbb;border-radius:12px;padding:14px 18px;max-width:500px;margin-bottom:25px}.category-results{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.category-results a{padding:25px;border:1px solid #d4d1cc;border-radius:16px;display:flex;flex-direction:column;gap:15px;min-height:150px;transition:background .2s}.category-results a:hover{background:white}.category-results small{font-size:10px;color:#777}.category-results h2{font-size:24px;margin:0}.category-results span{font-size:11px;margin-top:auto}.category-count{font-size:12px;color:#666}.category-empty{padding:30px 0}.product-specimen{padding:70px 8%;max-width:1100px}.product-specimen h1{font-size:clamp(46px,7vw,95px)}.product-specimen>p{line-height:1.7;max-width:650px;color:#666}
@media(max-width:760px){#menu{max-height:min(62dvh,520px)}.mega-panel{width:calc(100% - 24px);padding:18px;height:56dvh}.mega-grid{grid-template-columns:1fr 1fr}.category-hero{grid-template-columns:1fr;gap:15px;padding-top:30px}.category-hero img{height:240px}.category-results{grid-template-columns:1fr 1fr;gap:10px}.category-results a{padding:18px;min-height:150px}.category-results h2{font-size:19px}.product-specimen{padding:40px 6%}.category-hero h1{font-size:54px}}
/* Shared navigation utilities: contact, search and buying guidance. */
.site-header .header-links{gap:clamp(10px,1.35vw,22px)}
.utility-trigger,.mobile-search{border:0;background:transparent;color:#e8e5e3;font:inherit;padding:10px 0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.utility-trigger:hover,.utility-trigger[aria-expanded=true],.mobile-search:hover{color:var(--red)}
.mobile-tools{display:none}.mobile-utility{display:flex;align-items:center;gap:10px;width:100%;background:none;border:0;border-bottom:1px solid #ffffff25;color:inherit;font:inherit;padding:17px 0;text-align:left;cursor:pointer}
.mega-panel.utility-panel{width:min(560px,calc(100vw - 32px));height:auto;max-height:64dvh;left:auto;right:3%;transform:none}
.utility-content{overflow:auto;padding:0 24px 20px}.utility-link{display:block;color:#171719;padding:15px 0;border-bottom:1px solid #17171920;text-decoration:none;font-size:17px}.utility-link small{display:block;font-size:12px;color:#666;margin-top:6px}.utility-link:hover{color:var(--red)}
.buying-guide{padding:17px 0;border-bottom:1px solid #17171920}.buying-guide summary{cursor:pointer;font-size:17px}.buying-guide ol{padding-left:22px;font-size:13px;line-height:1.65}.buying-guide li{padding:6px 0}
@media(max-width:760px){.mobile-tools{display:flex;align-items:center;gap:12px;grid-column:1;grid-row:1}.mobile-tools .mobile-services{display:flex;font-size:10px}.mobile-tools .mobile-services span{display:none}.mobile-search{padding:10px 0}.mega-panel.utility-panel{right:12px;width:calc(100vw - 24px)}.utility-content{padding:0 18px 18px}}
@media(min-width:761px) and (max-width:980px){.site-header .header-links{font-size:10px;gap:8px}}
/* Larger, balanced dark navigation with directional hover and persistent open state. */
.site-header{background:#1c1d21f5;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-color:#ffffff18;box-shadow:0 10px 30px #11121814,0 2px 5px #1112180a;min-height:88px}
.site-header .header-links{font-size:13px;gap:clamp(12px,1.3vw,21px)}
.site-header .category-trigger,.site-header .utility-trigger,.site-header .header-about{position:relative;color:#f2f1ef;cursor:pointer}
.site-header .category-trigger:after,.site-header .utility-trigger:after,.site-header .header-about:after{content:'';position:absolute;left:0;right:0;bottom:3px;width:100%;height:2px;background:#ff4770;border-radius:2px;transform:scaleX(0);transform-origin:left;transition:transform .28s cubic-bezier(.2,.7,.2,1)}
.site-header .category-trigger:hover:after,.site-header .category-trigger:focus-visible:after,.site-header .category-trigger[aria-expanded=true]:after,.site-header .utility-trigger:hover:after,.site-header .utility-trigger:focus-visible:after,.site-header .utility-trigger[aria-expanded=true]:after,.site-header .header-about:hover:after,.site-header .header-about:focus-visible:after{transform:scaleX(1)}
.site-header .header-about{padding:10px 0}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.site-header{background:#1c1d21}}
@media(min-width:1101px) and (max-width:1250px){.site-header{gap:15px;padding-inline:20px;grid-template-columns:minmax(0,1fr) 100px minmax(0,1fr)}.site-header .header-links{font-size:12px;gap:10px}.site-header .header-quote{padding:10px 13px;gap:10px}}
@media(max-width:1100px){.site-header{grid-template-columns:1fr 100px 1fr;gap:12px;min-height:76px;padding:10px 18px}.site-header .header-links{display:none}.brand-center{grid-column:2;grid-row:1}.mobile-tools{display:flex;align-items:center;gap:12px;grid-column:1;grid-row:1}.mobile-tools .mobile-services{display:flex;font-size:12px;color:#f2f1ef;gap:8px}.mobile-toggle{display:flex;justify-self:end;grid-column:3;grid-row:1;align-items:center;gap:10px;border:0;color:#f2f1ef;background:none;padding:12px 0;font-size:12px}.menu-lines{width:19px;height:9px;border-top:1px solid currentColor;border-bottom:1px solid currentColor}.mobile-toggle[aria-expanded=true] .menu-lines{transform:rotate(-45deg)}#menu:not([hidden]){display:block!important;position:fixed;top:calc(var(--header-bottom) + 8px);left:var(--header-gutter);right:var(--header-gutter);z-index:49;max-height:min(62dvh,520px);overflow:auto;border:1px solid #ffffff25;border-radius:22px;padding:12px 22px 22px;box-shadow:0 20px 45px #0003}#menu[hidden]{display:none!important}}
@media(prefers-reduced-motion:reduce){.site-header .category-trigger:after,.site-header .utility-trigger:after,.site-header .header-about:after{transition:none}}

/* Photography-led opening: supported products, gentle close-up, no plane rotation. */
.hero-showcase{position:absolute;right:4%;top:48%;transform:translateY(-50%);width:44%;aspect-ratio:1;max-height:calc(100% - 130px);border-radius:22px;overflow:hidden;isolation:isolate;background:#d8d0c4;box-shadow:0 16px 40px #28231b14;z-index:1}
.hero-showcase .hero-paper-photo{display:block;width:100%;height:100%;object-fit:cover;will-change:transform;transform-origin:55% 55%}
.showcase-note,.showcase-credit{position:absolute;z-index:2;left:18px;color:#fff;background:#222222c9;backdrop-filter:blur(8px);border:1px solid #ffffff30;border-radius:30px;padding:9px 13px;font-size:9px;letter-spacing:1px}
.showcase-note{top:18px;opacity:var(--detail-reveal,0);transform:translateY(calc((1 - var(--detail-reveal,0))*8px))}.showcase-credit{bottom:15px;font-size:8px;letter-spacing:.35px}
@media(max-width:800px){.hero-showcase{width:min(82%,330px);height:auto;max-height:none;right:50%;top:auto;bottom:85px;transform:translateX(50%)}.photo-ready .hero-copy{margin-bottom:0}.showcase-credit{left:12px;bottom:10px;padding:7px 9px;font-size:7px}.showcase-note{left:12px;top:12px;font-size:8px}.scroll-stage .photo-ready{min-height:850px}}
@media(max-width:420px){.hero-showcase{width:78%;max-width:300px}.scroll-stage .photo-ready{min-height:800px}}
@media(prefers-reduced-motion:reduce){.hero-showcase .hero-paper-photo{will-change:auto}.showcase-note{opacity:1;transform:none}}
/* Interactive print prototype, with real geometry and an accessible DOM control. */
.print-studio{position:absolute;right:3.5%;top:48%;transform:translateY(-50%);width:46%;height:calc(100% - 140px);max-height:610px;z-index:2;display:flex;flex-direction:column;color:#242428}
.studio-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:0 14px;font-size:9px;letter-spacing:1.5px;height:32px;flex-shrink:0}.studio-heading span{display:flex;align-items:center;gap:8px}.studio-heading i{width:5px;height:5px;border-radius:50%;background:#ff2451}.studio-heading small{font-size:8px;color:#666}
.studio-viewport{position:relative;flex:1;min-height:0;touch-action:pan-y;cursor:pointer;border-radius:20px;background:radial-gradient(ellipse at center,#edece650,transparent 70%)}
.studio-viewport canvas{display:block;position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.studio-fallback{display:block;width:100%;height:100%;object-fit:contain;padding:12px 35px}.studio-webgl .studio-fallback{visibility:hidden}
.studio-invitation{display:none;position:absolute;left:50%;top:50%;width:72%;transform:translate(-50%,-50%);z-index:1;text-align:center;pointer-events:none;transition:opacity .35s ease}
.studio-webgl .studio-invitation{display:block}.studio-invitation span{font-size:9px;letter-spacing:3px}.studio-invitation strong{display:block;font-size:clamp(30px,4vw,58px);font-weight:500;letter-spacing:-2px;margin:9px 0 20px}.studio-invitation small{font-size:10px;color:#555}.print-studio[data-state=printing] .studio-invitation,.print-studio[data-state=complete] .studio-invitation{opacity:0}
.studio-controls{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-shrink:0;border-top:1px solid #17171922;margin:4px 10px 0;padding:16px 3px 0}.studio-controls>div{display:grid;gap:6px}#print-state{font-size:12px}.studio-controls small{font-size:9px;color:#666}.studio-controls button{border:1px solid #171719;color:#fff;background:#202125;border-radius:30px;padding:13px 18px;font:inherit;font-size:12px;cursor:pointer;display:flex;align-items:center;gap:14px;white-space:nowrap;transition:background .2s}.studio-controls button span{color:#ff4770}.studio-controls button:hover{background:#343438}.studio-controls button:focus-visible{outline:3px solid #ff2451;outline-offset:4px}.studio-controls button:disabled{opacity:.5;cursor:wait}
@media(max-width:800px){.print-studio{right:5%;top:auto;bottom:90px;transform:none;width:90%;height:390px;max-height:none}.scroll-stage .studio-ready{min-height:900px}.studio-controls{padding-top:12px}.studio-invitation strong{font-size:38px}}
@media(max-width:420px){.scroll-stage .studio-ready{min-height:850px}.print-studio{height:355px;bottom:90px}.studio-heading{font-size:8px;padding:0 8px}.studio-controls button{font-size:10px;padding:12px 13px;gap:8px}#print-state{font-size:10px}.studio-controls small{font-size:8px}.studio-controls{margin-inline:4px}.studio-invitation small{font-size:9px}}
@media(prefers-reduced-motion:reduce){.studio-invitation,.studio-controls button{transition:none}}
.studio-controls button{min-height:44px}
@media(max-width:800px){.scroll-stage:has(.studio-ready){height:auto}.scroll-stage .studio-ready{position:relative;top:auto}.studio-controls{padding-bottom:2px}}
/* Fine light ripples remain behind readable header controls. */
.site-header{isolation:isolate}.site-header>*{position:relative;z-index:1}.site-header .header-ripple{position:absolute;z-index:0;pointer-events:none;width:100px;height:100px;border-radius:50%;border:1px solid #ffffff20;box-shadow:0 0 15px #ff245115,inset 0 0 16px #ffffff09;backdrop-filter:blur(1px);animation:header-wave 1.2s ease-out forwards;transform:translate(-50%,-50%)}
@keyframes header-wave{from{opacity:.7;scale:.15}to{opacity:0;scale:2.3}}
@media(prefers-reduced-motion:reduce){.header-ripple{display:none}}
.print-studio .studio-invitation{top:65%}.studio-controls button[hidden]{display:none}
@media(max-width:800px){.scroll-stage:has(.studio-ready){height:160vh}}
