/* Shared Zolvek surfaces — commercial pages and product introductions. */
:root {--z-bg:#101211;--z-surface:#191c1a;--z-raised:#222723;--z-line:#323934;--z-muted:#b0b8ae;--z-accent:#ff987b;--z-accent-hover:#ffb199;--z-radius:10px;--z-radius-lg:20px;}
body{font-family:var(--z-font);font-size:16px;line-height:1.6;}
.site-shell{width:min(calc(100% - 80px),1280px);}
#siteHeader{padding-top:0;background:rgba(16,18,17,.94);backdrop-filter:blur(18px);position:fixed;inset:0 0 auto;z-index:50;}
#headerBar{min-height:76px;padding-block:12px;}
#headerBar>a:first-child{min-width:0;flex-shrink:0;}
#headerBar .nav-link{min-height:44px;display:inline-flex;align-items:center;}
#headerBar .btn-primary{font-size:12px;letter-spacing:0;text-transform:none;}
#headerBar .hamburger{flex-shrink:0;border-radius:12px;}
#mobileNav{padding:100px max(24px,env(safe-area-inset-left)) max(28px,env(safe-area-inset-bottom));background:#101211;}
#mobileNav a{font-size:25px;line-height:1.3;min-height:66px;letter-spacing:-.6px;}
.mobile-nav:not(.is-open){visibility:hidden;}
.mobile-nav.is-open{visibility:visible;}
.btn-primary,.btn-secondary,.cg-button{border-radius:10px;min-height:48px;padding:12px 22px;text-transform:none;letter-spacing:0;font-family:var(--z-font);font-size:14px;font-weight:650;white-space:normal;}
.btn-primary:hover,.btn-secondary:hover,.cg-button:hover{box-shadow:none;transform:none;}
.btn-primary:active,.btn-secondary:active,.cg-button:active{transform:scale(.98);}
.home-hero{gap:72px;padding-top:64px;padding-bottom:84px;}
.home-hero h1{font-size:clamp(42px,5.2vw,72px);line-height:1.08;letter-spacing:-.05em;}
.hero-intro{font-size:17px;line-height:1.75;max-width:34rem;}
.hero-actions{gap:18px;flex-wrap:wrap;}
.eyebrow{font-size:11px;letter-spacing:.1em;}
.section-heading h2{letter-spacing:-.045em;line-height:1.1;}
.product-card{border-radius:20px;min-height:380px;margin-top:24px;grid-template-columns:1fr 1fr;background:var(--z-surface);}
.product-card-content{padding:38px;}
.product-card-content h3{font-size:34px;letter-spacing:-1.2px;line-height:1.2;}
.product-tagline{font-size:16px;line-height:1.65;}
.product-features{font-size:14px;line-height:1.7;}
.product-card-visual{padding:0;background:#202622;}
.product-card-visual img{width:100%;height:100%;object-fit:contain;border:0;box-shadow:none;border-radius:0;transform:none!important;}
.product-context{width:min(calc(100% - 80px),1280px);margin:24px auto 36px;display:flex;gap:22px;align-items:center;border-bottom:1px solid var(--z-line);padding:0 0 18px;flex-wrap:wrap;font-size:13px;}
.product-context>a{color:var(--z-muted);min-height:44px;display:flex;align-items:center;}
.product-context strong{font-size:16px;color:var(--z-ink);letter-spacing:-.4px;}
.product-context>div{margin-left:auto;display:flex;gap:20px;flex-wrap:wrap;}
.product-context>div a{color:var(--z-ink);min-height:44px;display:flex;align-items:center;}
.product-context a:hover{color:var(--z-accent);}
.industrial-back{display:none;}
.industrial-page .industrial-hero{padding-top:0;}
.industrial-hero h1{font-size:clamp(42px,5vw,68px);letter-spacing:-.045em;}
.industrial-preview{border-radius:18px;overflow:hidden;}
.z-product-content{padding-top:100px;}
.z-product-content .product-context{width:100%;margin-top:0;}
.z-product-content .cg-hero{padding-top:12px;}
.z-product-content .cg-hero h1{font-size:clamp(42px,5vw,68px);letter-spacing:-.045em;}
.z-product-content .cg-hero-image{padding:20px;background:var(--z-raised);border-radius:18px;border:1px solid var(--z-line);}
.z-product-content .cg-hero-image img{width:100%;max-width:100%;transform:none;box-shadow:none;border-radius:8px;}
.z-author{border-top:1px solid var(--z-line);margin:0;padding:20px 24px;text-align:center;font-size:12px;color:var(--z-muted);}
.z-author a{color:var(--z-ink);}
@media(min-width:1024px){#headerBar .hamburger{display:none;}#headerBar nav[aria-label="Principal"]{display:flex;}#headerBar>.btn-primary{display:inline-flex;}}
@media(max-width:1023px){#headerBar nav[aria-label="Principal"],#headerBar>.btn-primary{display:none;}#headerBar .hamburger{display:flex;margin-left:auto;}#headerBar>a:first-child{margin-right:8px;}.home-hero{gap:40px;}}
@media(max-width:767px){.site-shell{width:calc(100% - 40px);}#headerBar{min-height:72px;gap:12px;}.home-hero{padding-top:32px;padding-bottom:48px;gap:32px;}.home-hero h1{font-size:46px;line-height:1.08;}.home-hero h1 br{display:none;}.home-hero h1 span{display:block;}.hero-intro{font-size:16px;line-height:1.7;}.hero-actions{align-items:flex-start;}.product-card{grid-template-columns:1fr;}.product-card-content{padding:26px;}.product-card-visual{aspect-ratio:4/3;min-height:0;}.product-card-content h3{font-size:29px;}.product-context{width:calc(100% - 40px);gap:8px 16px;margin:6px auto 24px;padding-bottom:10px;}.product-context>div{width:100%;margin-left:0;gap:22px;}.product-context strong{margin-left:auto;font-size:14px;}.industrial-page{padding-top:90px;}.z-product-content{padding-top:94px;}.product-actions{gap:14px;flex-wrap:wrap;}.z-product-content .cg-intro{font-size:16px;}.industrial-hero-copy{gap:22px;}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}*,*::before,*::after{animation:none!important;transition:none!important;}}
@media(prefers-reduced-transparency:reduce){#siteHeader{background:#101211;backdrop-filter:none;}}
/* Content is available immediately, including when observers or scripts are delayed. */
.reveal {opacity:1!important;transform:none!important;transition:none!important;}
/* Header contract is independent of each product's utility framework. */
#headerBar>a:first-child{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--z-ink);}
#headerBar>a:first-child>div>span:first-child{display:block;font-size:17px;font-weight:650;line-height:1.2;letter-spacing:-.4px;}
#headerBar>a:first-child>div>span:nth-child(2){display:block;font-size:9px;letter-spacing:.12em;line-height:1.8;color:var(--z-muted);}
#headerBar nav{gap:22px;align-items:center;}
#siteHeader a,#mobileNav a,.product-context a{text-decoration:none;}
#siteHeader img{flex-shrink:0;}
@media(max-width:767px){#headerBar>a:first-child>div>span:nth-child(2){display:none;}}
