/* COOLECO / PHOTON — a spatial narrative about matter, sunlight and heat. */
.cinematic-site { --night:#030d1c; --ice:#b1e9ff; --solar-paper:#fbfaf2; background:var(--solar-paper); }
/* A quiet solar tint gives the light chapters depth against white components. */
.cinematic-site .technology,
.cinematic-site .fr-section,
.cinematic-site .coatings-section,
.cinematic-site .cases-section,
.cinematic-site .pricing-section {
 background:linear-gradient(90deg,#faf4dd 0%,var(--solar-paper) 45%,#f8fafb 90%);
}
.cinematic-site .explorer-section,
.cinematic-site .glass-section,
.cinematic-site .textile-section,
.cinematic-site .chooser-section {
 background:linear-gradient(90deg,#f4dfa442,transparent 58%),#f0f5f7;
}
.cinematic-site footer { background:linear-gradient(90deg,#faf4dd,var(--solar-paper) 55%,#f4f8fa); }
.cinematic-site .pricing-conditions { background:#f4efda; }
.hero-journey { position:relative; background:var(--solar-paper); }
.cinematic-active .hero-journey { height:230svh; min-height:1600px; }
.cinematic-site .hero { background:linear-gradient(110deg,#faf2d7 0%,#fcfaf0 46%,#eaf3f7 100%); color:#102e45; height:100svh; min-height:930px; max-height:none; overflow:hidden; }
.cinematic-active .hero { position:sticky; top:0; }
.cinematic-site .hero-container { z-index:3; padding-top:clamp(170px,22vh,245px); pointer-events:none; }
.cinematic-site .hero-copy { max-width:900px; animation:none; }
.cinematic-site .hero h1>span { animation:photon-title-in 1.2s cubic-bezier(.16,1,.3,1) both; }
.cinematic-site .hero h1>span:last-child { animation-delay:.1s; }
.cinematic-site .hero-eyebrow { color:#29465c; font-size:10px; letter-spacing:.2em; margin-bottom:34px; }
.cinematic-site .hero h1 { font-size:clamp(72px,7.6vw,122px); font-weight:470; line-height:.97; letter-spacing:-.073em; text-shadow:none; }
.cinematic-site .hero h1 span:last-child { color:#235a79; }
.cinematic-site .hero-copy>p { color:#18354b; font-size:16px; max-width:425px; margin-top:33px; }
.cinematic-site .hero-actions { pointer-events:auto; margin-top:35px; }
.cinematic-site .hero-actions .button { min-height:54px; padding:16px 22px; font-size:12px; }
.cinematic-site .hero-actions .button.text { color:#18354b; background:#fffdf3e6; border:1px solid #8da4b5; }
.cinematic-site .hero-actions .button.primary { background:#f4d447; box-shadow:0 5px 32px #f4d44716; }
.cinematic-site .hero-stage { width:82%; height:102%; position:absolute; right:-17%; top:0; bottom:auto; z-index:1; animation:none; pointer-events:none; }
.cinematic-site .hero-stage>.building-svg { position:absolute; width:100%; top:18%; opacity:1; filter:drop-shadow(0 22px 32px #31557326); }
.cinematic-site .hero-stage.scene-ready>.building-svg { opacity:0; }
.cinematic-site .hero-stage .scene-orbit { inset:25% 12% 18%; border-color:#63889c33; opacity:.5; }
.cinematic-site .hero-shade { position:absolute; inset:0; z-index:2; pointer-events:none; background:linear-gradient(90deg,#faf2d7 0%,#faf4dede 20%,#fcfaf066 38%,transparent 65%); }
.cinematic-site .hero-grid { z-index:0; background-size:110px 110px; background-image:linear-gradient(#496d8210 1px,transparent 1px),linear-gradient(90deg,#496d8210 1px,transparent 1px); mask-image:linear-gradient(transparent,#000); }
.hero-horizon { position:absolute; width:95%; right:-23%; top:-45%; height:130%; border:1px solid #ae9c572b; border-radius:50%; transform:rotate(-24deg); box-shadow:0 0 150px 30px #d8bd4b0c,inset 0 0 110px #d8bd4b12; }
.cinematic-site .hero-stage .scene-label { color:#29465c; font-size:9px; letter-spacing:.09em; z-index:3; }
.cinematic-site .hero-stage .label-sun { top:16%!important; left:28%; color:#765708; }
.cinematic-site .hero-stage .label-sun>span { color:#765708; }
.cinematic-site .hero-stage .label-sun i { background:#f4d447; }
.cinematic-site .hero-stage .label-space { top:11%!important; left:62%; color:#17577c; }
.cinematic-site .hero-stage .label-space>span { color:#17577c; }
.cinematic-site .hero-stage .label-space i { background:#1875a2; box-shadow:0 0 0 4px #1875a214; }
.cinematic-site .hero-stage .label-roof { left:59%; top:56%; background:#fffdf3ed; border-color:#839fa977; color:#183e58; padding:12px 15px; }
.cinematic-site .hero>.scene-caption { right:5.5%; bottom:122px; color:#38566c; font-size:8px; z-index:4; }
.cinematic-site .hero-bottom { bottom:83px; align-items:end; }
.cinematic-site .hero-mini strong { font-size:37px; color:#102e45; }
.cinematic-site .hero-mini strong>span,.cinematic-site .hero-mini p { color:#29465c; }
.cinematic-site .scroll-cue { pointer-events:auto; }
.cinematic-site .scroll-cue>span { color:#29465c; }
.cinematic-site .hero .scroll-cue i { color:#654d09; border-color:#b9a04f80; background:#f4d44735; animation:scroll-indicator 2.6s ease-in-out infinite; }
.hero-chapter-copy { position:absolute; top:25%; left:var(--gutter); max-width:520px; opacity:0; visibility:hidden; pointer-events:none; }
.cinematic-active .hero-chapter-copy { visibility:visible; }
.hero-chapter-copy .eyebrow { color:#765708; margin-bottom:28px; }
.hero-chapter-copy h2 { font-size:clamp(55px,6.6vw,106px); line-height:.98; letter-spacing:-.06em; color:#102e45; }
.hero-chapter-copy p { color:#18354b; font-size:16px; line-height:1.8; margin-top:25px; }
.hero-sequence { position:absolute; bottom:0; left:var(--gutter); right:var(--gutter); height:47px; display:flex; gap:35px; align-items:center; border-top:1px solid #6f8da145; color:#35536a; font:8px monospace; letter-spacing:.12em; }
.hero-sequence>span { transition:color .25s; }
.hero-sequence>span.active { color:#765708; }
.sequence-track { position:absolute; top:-1px; height:1px; left:0; right:0; overflow:hidden; }
.sequence-track i { display:block; height:1px; background:#ab8314; transform:scaleX(.015); transform-origin:left; }
/* The navigation keeps the warm, light theme throughout the page. */
.cinematic-site .navbar { background:linear-gradient(110deg,#fff8dfeb,#fffdf2ee 52%,#f1f7f9ef); border-color:#d2d7cda6; color:#102e45; box-shadow:0 8px 28px #17344c0a; transition:background .3s,border-color .3s; }
.cinematic-site .navbar.scrolled { background:linear-gradient(110deg,#fff8e3f5,#fffdf4f7 52%,#f2f7faf7); }

.cinematic-site .navbar .nav-cta { background:#112f45; color:#fff; }
.cinematic-site .navbar .menu-toggle span { background:#18354b; }
.cinematic-site .mobile-menu { background:linear-gradient(135deg,#fbf2d5,#fcfaf0 55%,#eef5f8); }
.cinematic-site .industry-strip { background:linear-gradient(90deg,#f8efcf,#fbfaf2 52%,#edf4f7); border-color:#d1d9d8; color:#18354b; }
.cinematic-site .industry-strip span { color:#29465c; }
.cinematic-site .industry-strip p { color:#18354b; }
.cinematic-site .industry-strip i { color:#947110; }
/* Every title has a masked, spatial entrance; source text remains indexable. */
.title-line { display:block; overflow:hidden; padding-bottom:.09em; margin-bottom:-.09em; perspective:700px; }
.title-line>span { display:block; transform-origin:50% 100%; }
.cinematic-active .reveal,.cinematic-active .reveal.visible { opacity:1; transform:none; transition:none; }
.cinematic-site .section { padding-block:130px; }
/* The renderer moves between seven slots; original SVG/CSS remain as fallbacks. */
.scene-slot { position:relative; isolation:isolate; }
.scene-slot>.scene-canvas { position:absolute; inset:0; z-index:1; display:block; width:100%; height:100%; pointer-events:none; opacity:0; transition:opacity .45s; }
.scene-slot.scene-ready>.scene-canvas { opacity:1; }
.scene-slot.scene-ready>.material-object,.scene-slot.scene-ready>.glass-scene { opacity:0; }
.scene-slot>.material-object,.scene-slot>.glass-scene { transition:opacity .45s; }
.scene-slot.scene-ready .layers { opacity:0; }
.scene-slot .layer-model { z-index:2; pointer-events:none; }
.scene-slot .material-measure,.scene-slot .glacier-temperature,.scene-slot .art-caption { z-index:3; }
/* Scientific chapter: a dark optical bench with a real rotating cutaway. */
.cinematic-site .story-stage { overflow:hidden; background:radial-gradient(ellipse at 70% 25%,#123452,#061428 70%); color:#e2f2fd; border:1px solid #264862; box-shadow:0 28px 75px #071c3017; }
.cinematic-site .story-stage>.eyebrow { position:relative; z-index:3; color:#afcde2; }
.cinematic-site .story-stage .building-svg { opacity:.65; filter:drop-shadow(0 0 15px #69acff2b); }
.cinematic-site .story-stage.scene-ready>.building-svg { opacity:0; }
.cinematic-site .step-number { align-self:flex-start; padding:3px 7px; }
.cinematic-site .story-stage .atmosphere { z-index:3; color:#88b7d6; border-color:#579ccd45; }
.cinematic-site .story-stage .atmosphere span { color:#9cbfd7; }
.cinematic-site .story-readout { z-index:3; background:#07182ae8; border-color:#3778a455; backdrop-filter:blur(8px); }
.cinematic-site .story-readout>span { color:#d9f4ff; }
.cinematic-site .story-readout>small { color:#9cbbd1; }
.cinematic-site .story-dots { z-index:3; }
.cinematic-site .story-step.active .step-number { color:#705600; background:#f4d4473b; }
.cinematic-site .story-step { transition:opacity .55s,color .55s; }
/* Product stage has more scale, depth and decisive hover feedback. */
.cinematic-site .product-art { perspective:900px; }
.cinematic-site .product-art .material-object { transform:scale(1.08); }
.cinematic-site .product-tabs button { transition:background .22s,color .22s; }
.cinematic-site .thermal-comparison { box-shadow:0 30px 75px #16385117; }
.cinematic-site .comparison-divider>span { background:var(--solar); box-shadow:0 4px 30px #132c5350; }
.cinematic-site .comparison-divider { background:var(--solar); }
.cinematic-site .feature-art { min-height:530px; }
.cinematic-site .coating-surface { box-shadow:0 5px 0 #45667c,0 9px 0 #82a1b2,0 18px 0 #b8cbd6,0 38px 45px #173e6138; }
.cinematic-site .coating-applied { transition-duration:2.3s; }
.cinematic-site .coating-edge { transition-duration:2.3s; box-shadow:-12px 0 25px #f4d44729; }
.cinematic-site .textile-art { background:radial-gradient(ellipse at 40% 40%,#d5edf7,#edf4f8 76%); }
/* The SolCold chapter changes scale, lighting and spatial rhythm. */
.cinematic-site .solcold-section { background:linear-gradient(130deg,#020a16,#0a2948 70%,#06182c); padding-top:70px; }
.polar-word { position:absolute; top:80px; left:-2%; font-size:clamp(130px,25vw,460px); line-height:1; font-weight:500; letter-spacing:-.08em; color:#7ebce108; -webkit-text-stroke:1px #7ebce111; white-space:nowrap; pointer-events:none; }
.cinematic-site .polar-hero { min-height:660px; position:relative; }
.cinematic-site .polar-copy { z-index:2; }
.cinematic-site .polar-copy h2 { font-size:clamp(84px,10.1vw,156px); }
.cinematic-site .polar-art { height:570px; width:125%; margin-left:-8%; }
.cinematic-site .polar-art .material-object { height:100%; }
.cinematic-site .polar-art .material-measure { bottom:22px; }
.cinematic-site .polar-copy>p { color:#c7ddeb; }
.cinematic-site .polar-description { color:#a0bed2; }
.cinematic-site .solcold-metrics .metric strong { font-size:clamp(38px,4.3vw,68px); }
.cinematic-site .glacier-section { background:linear-gradient(#06182c 0,#49738b 85px,#b5d7e7 180px,#eaf7fc 40%,#f8fbfd); padding-top:230px; overflow:clip; }
.cinematic-site .glacier-hero { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.cinematic-site .glacier-art { height:570px; width:122%; margin-left:-8%; }
.cinematic-site .glacier-art .material-object { height:100%; }
.cinematic-site .glacier-temperature { bottom:0; right:8%; }
.cinematic-site .glacier-temperature strong { font-size:100px; }
.cinematic-site .glacier-hero .section-heading h2 { font-size:clamp(70px,8.2vw,130px); }
.cinematic-site .case-image { overflow:hidden; }
.cinematic-site .case-image img { height:106%; width:100%; object-fit:cover; max-width:none; }
.cinematic-site .use-case { transform-origin:50% 90%; }
.cinematic-site .case-copy>.eyebrow,.cinematic-site .case-context dt,.cinematic-site .case-end>span { color:#536d82; }
/* A physical tile roof, shared camera and two material states. */
.roof-comparison-section { position:relative; background:#071423; color:#eaf5ff; }
.roof-anchor-alias { position:absolute; top:0; left:0; scroll-margin-top:110px; }
.roof-comparison-section .section-heading h2 { color:#ecf6ff; }
.roof-comparison-section .section-heading h2 em { color:#a8d9f3; }
.roof-comparison-section .section-heading>.eyebrow { color:#e8ce6b; }
.roof-comparison-section .split-heading>p { color:#a4bdcf; max-width:365px; }
.roof-comparison { margin:45px 0 0; }
.roof-comparison-stage { height:660px; overflow:hidden; border:1px solid #55788b50; background:#081522; isolation:isolate; }
.roof-atmosphere { position:absolute; inset:0; background:linear-gradient(90deg,#362019 0%,#251911 var(--roof-split),#071b2c var(--roof-split),#0a2136 100%); }
.roof-atmosphere:after { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at 50% 100%,transparent 20%,#030e1b80 90%); }
.roof-fallback { position:absolute; width:100%; height:100%; inset:0; transition:opacity .3s; }
.roof-fallback-cool { clip-path:inset(0 0 0 var(--roof-split)); }
.roof-comparison-stage.scene-ready>.roof-fallback { opacity:0; }
.roof-temperature { position:absolute; top:35px; z-index:3; display:flex; flex-direction:column; pointer-events:none; transition:opacity .18s; }
.roof-temperature-before { left:38px; color:#ffb580; }
.roof-temperature-after { right:38px; color:#a8e5ff; text-align:right; }
.roof-temperature .eyebrow { color:inherit; font-size:10px; letter-spacing:.09em; }
.roof-temperature strong { font-weight:450; font-size:96px; line-height:1.1; letter-spacing:-.07em; margin-top:13px; font-variant-numeric:tabular-nums; }
.roof-temperature strong>span { font-size:36px; letter-spacing:-.04em; margin-left:7px; }
.roof-temperature small { font-size:11px; color:#b8c7d0; margin-top:5px; }
.roof-demo-label { position:absolute; right:24px; bottom:23px; z-index:3; color:#afc2d0; font:8px monospace; letter-spacing:.12em; }
.roof-divider { position:absolute; top:0; bottom:0; left:var(--roof-split); width:1px; z-index:3; pointer-events:none; background:#f4d447b3; }
.roof-divider>span { position:absolute; top:52%; transform:translate(-50%,-50%); width:58px; height:58px; display:flex; align-items:center; justify-content:center; gap:11px; border:1px solid #f9e89c; border-radius:50%; color:#06182c; background:#f4d447; box-shadow:0 5px 35px #0006; font:25px sans-serif; }
.roof-divider i { height:20px; width:1px; background:#0c284155; }
.roof-range { position:absolute; z-index:4; inset:0; width:100%; height:100%; opacity:0; margin:0; cursor:ew-resize; touch-action:pan-y; appearance:none; -webkit-appearance:none; }
.roof-range::-webkit-slider-thumb { appearance:none; -webkit-appearance:none; width:1px; height:660px; }
.roof-range::-moz-range-thumb { width:1px; height:660px; border:0; }
.roof-comparison-stage:has(.roof-range:focus-visible) { outline:3px solid #f4d447; outline-offset:5px; }
.roof-drag-hint { position:absolute; z-index:3; bottom:23px; left:24px; font:9px monospace; letter-spacing:.11em; color:#dcd39c; pointer-events:none; }
.roof-comparison-stage.all-before .roof-temperature-after,.roof-comparison-stage.all-after .roof-temperature-before { opacity:0; }
.roof-comparison-stage.all-before .roof-divider,.roof-comparison-stage.all-after .roof-divider { opacity:0; }
.roof-comparison-toolbar { display:flex; align-items:center; justify-content:space-between; gap:25px; margin-top:22px; }
.roof-presets { display:flex; padding:4px; gap:4px; border:1px solid #405b7180; background:#0a1c2e; }
.roof-presets button { font:inherit; font-size:11px; color:#c3d6e4; padding:12px 17px; background:transparent; border:0; cursor:pointer; min-height:44px; transition:background .2s,color .2s,transform .15s; }
.roof-presets button span { margin-left:9px; font-variant-numeric:tabular-nums; }
.roof-presets button[aria-pressed=true] { background:#d4eaf7; color:#0b253b; }
.roof-presets button:focus-visible { outline:2px solid #f4d447; outline-offset:2px; }
.roof-presets button:active { transform:scale(.97); }
.roof-difference { font-size:11px; color:#aec5d5; white-space:nowrap; }
.roof-difference b { display:inline-block; font-size:31px; font-weight:450; letter-spacing:-.035em; color:#f0d263; margin-right:12px; }
.roof-comparison figcaption { color:#b1c4d1; font-size:11px; line-height:1.7; margin-top:22px; max-width:890px; }
@media(hover:hover){.roof-presets button:not([aria-pressed=true]):hover{background:#19364d;color:#fff;}}
@media(max-width:768px){
 .roof-comparison-stage { height:560px; }
 .roof-temperature { top:27px; }
 .roof-temperature-before { left:25px; }.roof-temperature-after { right:25px; }
 .roof-temperature strong { font-size:80px; }
 .roof-comparison-toolbar { flex-wrap:wrap; gap:15px; }
}
@media(max-width:640px){
 .roof-comparison { margin-top:30px; }
 .roof-comparison-stage { height:450px; }
 .roof-temperature { top:22px; }
 .roof-temperature-before { left:17px; }.roof-temperature-after { right:17px; }
 .roof-temperature .eyebrow { font-size:8px; letter-spacing:0; }
 .roof-temperature strong { font-size:65px; margin-top:12px; }
 .roof-temperature strong>span { font-size:25px; margin-left:4px; }
 .roof-temperature small { font-size:10px; }
 .roof-divider>span { width:46px; height:46px; gap:8px; }
 .roof-demo-label { right:15px; bottom:19px; font-size:7px; letter-spacing:.02em; }
 .roof-drag-hint { left:15px; bottom:19px; font-size:7px; letter-spacing:.02em; }
 .roof-presets { width:100%; display:grid; grid-template-columns:1fr .85fr 1fr; gap:1px; }
 .roof-presets button { font-size:11px; padding:9px 5px; }
 .roof-presets button span { display:block; margin:3px 0 0; font-size:10px; }
 .roof-difference { margin-left:auto; }.roof-difference b { font-size:25px; }
 .roof-comparison figcaption { font-size:11px; }
}
@keyframes photon-title-in { from{transform:translate3d(0,48px,0)}to{transform:translateZ(0)} }
@keyframes scroll-indicator { 0%,100%{transform:translateY(0)}50%{transform:translateY(7px)} }
@media(hover:hover) and (pointer:fine){
 .cinematic-site .button:hover svg,.cinematic-site .nav-cta:hover svg { transform:translateX(5px); }
 .cinematic-site .product-tabs button:not([aria-selected=true]):hover { background:#e0eff9; }
 .cinematic-site .product-art:hover .material-sheet.front { transform:rotateX(43deg) rotateY(7deg) rotateZ(-23deg) translateZ(65px); }
 .cinematic-site .surface-options button:hover { background:#e7f1f8; transform:translateY(-3px); }
 .cinematic-site .surface-options button[aria-pressed=true]:hover { background:var(--navy); }
}
@media(min-width:1600px){
 .cinematic-site .hero-stage { width:77%; right:-5%; }
 .cinematic-site .hero-copy { max-width:1000px; }
}
@media(max-width:1100px){
 .cinematic-site .hero-container { padding-top:175px; }
 .cinematic-site .hero h1 { font-size:clamp(66px,8vw,90px); }
 .cinematic-site .hero-stage { width:105%; right:-28%; height:95%; top:12%; }
 .cinematic-site .hero-stage .label-space,.cinematic-site .hero-stage .label-roof { left:48%; }
 .cinematic-site .hero-copy>p { max-width:350px; font-size:15px; }
 .cinematic-site .hero-shade { background:linear-gradient(90deg,#faf2d7 0%,#faf4debb 18%,#fcfaf033 48%,transparent 70%); }
 .cinematic-site .polar-art,.cinematic-site .glacier-art { width:115%; margin-left:-5%; height:480px; }
 .cinematic-site .polar-copy h2 { font-size:90px; }
 .hero-chapter-copy h2 { font-size:70px; }
}
@media(max-width:768px){
 .cinematic-site .hero { height:100svh; min-height:960px; }
 .cinematic-site .hero-container { padding-top:143px; }
 .cinematic-site .hero-copy { max-width:none; }
 .cinematic-site .hero h1 { font-size:clamp(52px,8.9vw,74px); }
 .cinematic-site .hero-copy>p { max-width:430px; font-size:14px; margin-top:24px; }
 .cinematic-site .hero-stage { width:135%; height:680px; top:320px; right:-24%; }
 .cinematic-site .hero-shade { background:linear-gradient(#fcf7e5 0%,#fcf7e5dd 24%,#fcfaf011 50%,transparent 73%,#edf4f799 100%); }
 .cinematic-site .hero-stage .label-sun { left:27%; top:10%!important; }
 .cinematic-site .hero-stage .label-space { left:55%; top:5%!important; }
 .cinematic-site .hero-stage .label-roof { left:53%; top:55%; }
 .cinematic-site .hero-bottom { bottom:78px; }
 .hero-chapter-copy { top:145px; max-width:90%; }
 .hero-chapter-copy h2 { font-size:65px; }
 .hero-chapter-copy p { font-size:13px; }
 .cinematic-site .hero>.scene-caption { bottom:200px; right:10%; font-size:7px; }
 .cinematic-site .section { padding-block:85px; }
 .cinematic-site .solcold-section { padding-top:40px; }
 .cinematic-site .glacier-section { padding-top:200px; }
 .cinematic-site .feature-art { min-height:370px; }
 .cinematic-site .polar-art,.cinematic-site .glacier-art { width:100%; margin:0; height:430px; }
 .cinematic-site .polar-hero { min-height:0; }
}
@media(max-width:640px){
 .cinematic-active .hero-journey { height:205svh; min-height:1570px; }
 .cinematic-site .hero { height:100svh; min-height:840px; }
 .cinematic-site .hero-container { padding-top:130px; }
 .cinematic-site .hero-eyebrow { font-size:8px; margin-bottom:25px; letter-spacing:.1em; }
 .cinematic-site .hero h1 { font-size:clamp(43px,11.15vw,68px); letter-spacing:-.065em; line-height:1.02; }
 .cinematic-site .hero-copy>p { font-size:13px; max-width:340px; margin-top:24px; line-height:1.6; }
 .cinematic-site .hero-actions { margin-top:24px; gap:10px; }
 .cinematic-site .hero-actions .button { min-height:44px; padding:13px 12px; font-size:9px; gap:14px; }
 .cinematic-site .hero-stage { width:148%; right:-24%; top:360px; height:430px; }
 .cinematic-site .hero-stage .scene-label { font-size:7px; letter-spacing:0; }
 .cinematic-site .hero-stage .scene-label>span { font-size:9px; }
 .cinematic-site .hero-stage .label-sun { top:22%!important; left:26%; }
 .cinematic-site .hero-stage .label-space { top:17%!important; left:57%; }
 .cinematic-site .hero-stage .label-roof { top:63%; padding:8px 10px; }
 .cinematic-site .hero-shade { background:linear-gradient(#fcf7e5 0%,#fcf7e5 37%,#fcf7e5d9 45%,transparent 60%,#edf4f780 100%); }
 .cinematic-site .hero-bottom { bottom:62px; gap:30px; }
 .cinematic-site .hero-mini strong { font-size:27px; }
 .cinematic-site .hero-mini strong>span { font-size:15px; }
 .cinematic-site .hero-mini p { font-size:9px; }
 .cinematic-site .hero .scroll-cue i { width:34px; height:34px; }
 .cinematic-site .hero>.scene-caption { display:none; }
 .hero-sequence { height:38px; font-size:6px; gap:23px; letter-spacing:.05em; }
 .hero-chapter-copy { top:132px; max-width:90%; }
 .hero-chapter-copy h2 { font-size:clamp(42px,12vw,64px); }
 .hero-chapter-copy .eyebrow { margin-bottom:23px; font-size:8px; }
 .hero-chapter-copy p { font-size:13px; line-height:1.65; margin-top:20px; }
 .cinematic-site .feature-art { min-height:350px; }
 .cinematic-site .section { padding-block:65px; }
 .cinematic-site .polar-copy h2 { font-size:88px; }
 .cinematic-site .polar-copy>p { font-size:25px; }
 .cinematic-site .polar-art { height:340px; }
 .cinematic-site .polar-art .material-measure { bottom:0; }
 .cinematic-site .solcold-metrics .metric strong { font-size:39px; }
 .cinematic-site .glacier-section { padding-top:180px; }
 .cinematic-site .glacier-hero .section-heading h2 { font-size:clamp(53px,14.8vw,68px); }
 .cinematic-site .glacier-art { height:370px; }
 .cinematic-site .glacier-temperature strong { font-size:76px; }
 .cinematic-site .glacier-temperature { bottom:0; right:6%; }
 .cinematic-site .glacier-art .material-object { height:300px; }
 .cinematic-site .layer-labels { right:8px; width:95px; }
 .cinematic-site .story-stage { width:100%; min-height:0; height:320px; aspect-ratio:auto; }
}
@media(prefers-reduced-motion:reduce){
 .cinematic-site .hero-journey { height:auto; min-height:0; }
 .cinematic-site .hero { position:relative; }
 .cinematic-site .hero-chapter-copy { display:none; }
 .title-line>span { transform:none!important; opacity:1!important; }
 .scene-slot>.scene-canvas { display:none; }
 .cinematic-site .hero-copy { opacity:1!important; transform:none!important; filter:none!important; }
 .cinematic-site .hero-stage>.building-svg { opacity:1; }
}

/* Readable sales copy: stronger ink, larger body type, and visible evidence. */
.cinematic-site { --ink:#0a2238; --muted:#294458; font-size:18px; font-weight:500; -webkit-font-smoothing:auto; }
.cinematic-site .section-heading h2 { color:#0c263e; font-weight:650; }
.cinematic-site .section-heading h2 em { color:#17445f; }
.cinematic-site .section-heading>.eyebrow { color:#31536f; font-size:13px; font-weight:550; letter-spacing:.09em; }
.cinematic-site .section-heading>p,
.cinematic-site .split-heading>p,
.cinematic-site .feature-copy>p,
.cinematic-site .product-panel-copy>p:not(.product-promise),
.cinematic-site .story-step p,
.cinematic-site .glacier-description { font-size:19px; line-height:1.65; color:#18354b; font-weight:500; }
.cinematic-site .section-heading>p { max-width:750px; }
.cinematic-site .split-heading>p { max-width:455px; }
.cinematic-site .product-panel-copy .product-promise { font-size:24px; line-height:1.35; color:#14354f; font-weight:500; }
.cinematic-site .story-step { opacity:1; }
.cinematic-site .story-step h3 { font-weight:500; }
.cinematic-site .story-step p { max-width:450px; }
.cinematic-site .step-number { font-size:14px; font-weight:600; }
.cinematic-site .metric>span { font-size:16px; line-height:1.5; color:#29465c; }
.cinematic-site .price-note { font-size:16px; color:#29465c; }
.cinematic-site .source-note { font-size:15px!important; color:#314b60; line-height:1.65; }
.cinematic-site .documentation summary { font-size:17px; color:#1b3e59; font-weight:500; padding-block:23px; }
.cinematic-site .technical-content { font-size:17px; line-height:1.75; color:#18354b; }
.cinematic-site .technical-content .document-intro,
.cinematic-site .technical-content .spec-row,
.cinematic-site .technical-content .data-item>span { font-size:16px; }
.cinematic-site .responsive-table td,.cinematic-site .responsive-table tbody th,
.cinematic-site .price-table td,.cinematic-site .price-table tbody th { font-size:16px; line-height:1.6; }
.cinematic-site .responsive-table thead th,.cinematic-site .price-table thead th { font-size:13px; color:#3c5770; }
.cinematic-site .product-summary>div>p,.cinematic-site .coating-types p,
.cinematic-site .case-context,.cinematic-site .study-steps p { font-size:18px; line-height:1.7; color:#203e54; }
.cinematic-site .case-copy>.eyebrow,.cinematic-site .case-end>span,
.cinematic-site .case-stat>span,.cinematic-site .application-sectors { font-size:14px; color:#203e54; }
.cinematic-site .case-feature-copy>p { font-size:19px; }
.cinematic-site .recommendation-description { font-size:19px; line-height:1.65; color:#18354b; }
.cinematic-site .pricing-conditions p { font-size:16px; }
.cinematic-site .data-provenance p { font-size:18px; line-height:1.7; color:#18354b; }
.cinematic-site .button { font-size:15px; }
.cinematic-site .hero-copy>p { max-width:530px; font-size:21px; line-height:1.6; color:#18354b; }
.cinematic-site .hero-chapter-copy p { font-size:21px; color:#18354b; }
.cinematic-site .hero-mini p { font-size:14px; color:#29465c; }
.cinematic-site .hero-eyebrow { color:#29465c; }
.cinematic-site .fr-proof { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; margin:42px 0 20px; padding:34px 0; border-block:1px solid #bfcfd7; }
.cinematic-site .fr-proof .metric { gap:12px; }
.cinematic-site .fr-proof .metric+.metric { border-left:1px solid #bfcfd7; padding-left:30px; }
.cinematic-site .fr-proof strong { font-size:64px; color:#12334e; font-weight:500; letter-spacing:-.05em; }
.cinematic-site .solcold-section .source-note { color:#d4e5f1; }
.cinematic-site .solcold-section .metric>span { color:#e8f3fa; }
.cinematic-site .polar-description { font-size:19px; line-height:1.7; color:#e7f2fa; }
.cinematic-site .polar-copy>p { font-weight:500; color:#eef7fc; }
.cinematic-site .polar-copy h2 em { color:#b6e6ff; }
.cinematic-site .solcold-section .documentation summary { color:#d7eaf6; }
.cinematic-site .solcold-section .technical-content { color:#c6ddea; }
.cinematic-site .polar-bottom p { font-size:17px; color:#e7f2fa; }
.cinematic-site .glacier-hero .section-heading>p { font-size:clamp(25px,2.6vw,36px); line-height:1.25; font-weight:500; color:#133b56; }
.cinematic-site .glacier-description { color:#102e44; }
.cinematic-site .glacier-header .eyebrow { font-size:13px; }
.cinematic-site .glacier-detail>div:last-child>p,.cinematic-site .glacier-specs p { font-size:18px; color:#18354b; }
.cinematic-site .roof-comparison-section .section-heading h2,
.cinematic-site .contact-section .section-heading h2 { color:#edf6ff; }
.cinematic-site .roof-comparison-section .section-heading h2 em,
.cinematic-site .contact-section .section-heading h2 em { color:#b4def5; }
.cinematic-site .roof-comparison-section .section-heading>.eyebrow { color:#e8d37c; }
.cinematic-site .roof-comparison-section .split-heading>p,
.cinematic-site .contact-section .section-heading>p { color:#e8f3fa; font-size:19px; }
.cinematic-site .contact-section .section-heading>.eyebrow { color:#b4d2e6; }
.cinematic-site .contact-small { color:#c0d6e5; font-size:15px; }
.cinematic-site .roof-comparison figcaption { font-size:15px; color:#c0d2df; }
.cinematic-site .footer-description { font-size:17px; }
/* Supporting UI must remain readable beside the larger editorial copy. */
.cinematic-site :is(h3,h4) { font-weight:600; }
.cinematic-site .section-heading h2 { letter-spacing:-.045em; }
.cinematic-site .hero h1 { font-weight:600; }
.cinematic-site .hero-actions .button { font-size:15px; font-weight:650; }
.cinematic-site .hero-actions .button.text { background:#fffdf3e6; border-color:#8fa3ad; color:#18354b; }
.cinematic-site .desktop-nav a,.cinematic-site .nav-cta { font-size:14px; font-weight:600; }
.cinematic-site .desktop-nav { gap:clamp(15px,1.6vw,25px); }
.cinematic-site .eyebrow { font-size:13px; font-weight:600; letter-spacing:.06em; }
.cinematic-site :is(.product-panel-copy>.eyebrow,.product-art>.eyebrow,.coating-types .eyebrow,.case-copy>.eyebrow,.case-feature-copy>.eyebrow,.data-provenance>.eyebrow,.technical-content .eyebrow,.glacier-header .eyebrow) { font-size:13px; color:#29465c; }
.cinematic-site .hero-eyebrow { font-size:13px; letter-spacing:.08em; color:#29465c; }
.cinematic-site :is(.solcold-head>.eyebrow,.polar-copy>.eyebrow,.contact-coordinate>.eyebrow) { font-size:13px; color:#d4e7f5; }
.cinematic-site .measurement-badge { font-size:12px; color:#e8f4fc; max-width:430px; }
.cinematic-site .solcold-head { align-items:start; flex-wrap:wrap; }
.cinematic-site .product-tabs button { font-size:16px; font-weight:600; }
.cinematic-site .product-tabs button>span,.cinematic-site .product-tabs button>small { font-size:12px; }
.cinematic-site .product-tabs button>small { color:#29465c; }
.cinematic-site .product-tabs button[aria-selected=true]>small { color:#e1f0fb; }
.cinematic-site .product-panel-copy .product-promise { font-size:26px!important; font-weight:600; }
.cinematic-site .product-panel-copy>.button,.cinematic-site .polar-copy>.button,.cinematic-site .glacier-detail .button,.cinematic-site .recommendation .button,.cinematic-site .contact-actions .button { font-size:15px; font-weight:600; }
.cinematic-site .metric strong { font-weight:600; }
.cinematic-site :is(.range-note p,.range-note a,.precision-note,.coating-types strong,.recommendation-surface,.pricing-filters button,.pricing-search input,.price-count) { font-size:16px; }
.cinematic-site .text-link { font-size:15px; }
.cinematic-site .surface-options button { font-size:16px; font-weight:600; }
.cinematic-site .surface-options button>span,.cinematic-site .study-steps article>span { font-size:13px; }
.cinematic-site .price-table tbody th a { font-size:16px; font-weight:650; }
.cinematic-site .price-table td.price { font-size:21px; font-weight:600; }
.cinematic-site .product-price small { font-size:13px; max-width:none; }
.cinematic-site .product-price span { font-size:15px; }
.cinematic-site .responsive-table td:before,.cinematic-site .price-table td:before { font-size:14px; color:#29465c; font-weight:600; }
.cinematic-site .technical-content :is(th,td,.evidence-row) { font-size:15px; }
.cinematic-site .technical-content thead th { font-size:13px; }
.cinematic-site .technical-content figcaption { font-size:14px; }
.cinematic-site .solcold-section .technical-content { --ink:#edf6fd; --muted:#d2e4f1; color:#e1eef7; }
.cinematic-site .solcold-section :is(.technical-content .eyebrow,.technical-content thead th) { color:#d9ebf7; }
.cinematic-site .solcold-section .responsive-table td:before { color:#d2e4f1; }
.cinematic-site :is(.case-feature-facts small,.image-tag) { font-size:13px; }
.cinematic-site .temperature-row { font-size:14px; grid-template-columns:145px minmax(0,1fr) 90px; }
.cinematic-site .temperature-row>strong { font-size:19px; }
.cinematic-site .temperature-row strong small { font-size:13px; }
.cinematic-site :is(.chart-heading>span,.chart-scale,.glacier-temperature>span) { font-size:12px; color:#29465c; }
.cinematic-site .chart-heading>span { width:130px; }
.cinematic-site .glacier-specs p { gap:20px; }
.cinematic-site .glacier-specs strong { flex-shrink:0; }
.cinematic-site .hero-sequence { font-size:12px; color:#35536a; letter-spacing:.04em; }
.cinematic-site .scroll-cue>span { font-size:12px; color:#29465c; }
.cinematic-site .hero-stage .scene-label { font-size:12px; font-weight:600; letter-spacing:0; }
.cinematic-site .hero-stage .scene-label>span { font-size:13px; }
.cinematic-site .hero-stage .label-sun>span { color:#765708; }
.cinematic-site .hero>.scene-caption { font-size:11px; color:#38566c; background:#fffdf2ed; padding:7px 10px; border-radius:3px; }
.cinematic-site .hero .scroll-cue { background:#fffdf2ed; padding:6px 8px 6px 14px; border-radius:4px; }
.cinematic-site .industry-strip span { font-size:12px; color:#29465c; }
.cinematic-site .industry-strip p { font-size:15px; }
.cinematic-site :is(.story-stage>.eyebrow,.story-readout>small,.story-stage .atmosphere,.story-stage .atmosphere span) { font-size:12px; color:#e4f1fb; }
.cinematic-site :is(.art-caption,.sample-ref,.glass-in,.glass-out,.glass-reflection,.coating-note,.layer-dimension) { font-size:12px!important; color:#29465c; font-weight:600; }
.cinematic-site .layer-labels { width:155px; top:20%; gap:24px; }
.cinematic-site .layer-labels>span { font-size:12px; color:#193c55; font-weight:600; background:#edf7fcf2; padding:5px 7px; }
.cinematic-site .layer-labels b { font-size:11px; color:#29465c; }
.cinematic-site .material-measure { font-size:14px; color:#d6eaf7; }
.cinematic-site .material-measure small { font-size:11px; }
.cinematic-site .roof-temperature .eyebrow { font-size:14px; }
.cinematic-site .roof-temperature small { font-size:14px; color:#e4eef5; }
.cinematic-site :is(.roof-demo-label,.roof-drag-hint) { font-size:11px; letter-spacing:.04em; }
.cinematic-site .roof-presets button { font-size:15px; font-weight:600; }
.cinematic-site .roof-difference { font-size:14px; color:#dbeaf5; }
.cinematic-site .contact-coordinate>p { font-size:17px; color:#e1eef7; }
.cinematic-site .contact-coordinate .text-link { font-size:16px; color:#e1eef7; }
.cinematic-site .footer-top>p { color:#15384f; font-weight:600; }
.cinematic-site .footer-links { font-size:15px; color:#183b52; }
.cinematic-site .footer-bottom { font-size:13px; color:#29465c; }
.cinematic-site .footer-description .text-link { font-size:15px; }
@media(min-width:769px) and (max-width:1100px){
 .cinematic-site .desktop-nav { gap:14px; }
 .cinematic-site .desktop-nav a,.cinematic-site .nav-cta { font-size:12px; }
 .cinematic-site .navbar { gap:16px; padding-left:18px; }
}
@media(max-width:768px){
 .cinematic-site .fr-proof { gap:18px; }
 .cinematic-site .fr-proof strong { font-size:45px; }
 .cinematic-site .fr-proof .metric+.metric { padding-left:18px; }
}
@media(max-width:640px){
 .cinematic-site .hero { min-height:1020px; }
 .cinematic-site .hero-stage { top:520px; }
 .cinematic-site .hero-copy>p { max-width:350px; font-size:18px; line-height:1.65; }
 .cinematic-site .hero-actions { display:grid; grid-template-columns:1fr; align-items:stretch; max-width:350px; gap:10px; }
 .cinematic-site .hero-actions .button { white-space:normal; font-size:14px; line-height:1.4; min-height:62px; padding:11px; gap:8px; }
 .cinematic-site .hero-actions .button svg { flex-shrink:0; width:17px; }
 .cinematic-site .hero-mini p { font-size:13px; }
 .cinematic-site .hero-chapter-copy p { font-size:18px; }
 .cinematic-site .section-heading>.eyebrow { font-size:12px; }
 .cinematic-site .section-heading>p,.cinematic-site .split-heading>p,
 .cinematic-site .feature-copy>p,.cinematic-site .product-panel-copy>p:not(.product-promise),
 .cinematic-site .story-step p,.cinematic-site .glacier-description,
 .cinematic-site .polar-description,.cinematic-site .recommendation-description,
 .cinematic-site .contact-section .section-heading>p { font-size:18px; line-height:1.65; font-weight:500; }
 .cinematic-site .product-panel-copy .product-promise { font-size:21px; }
 .cinematic-site .metric>span { font-size:15px; }
 .cinematic-site .fr-proof { gap:10px; padding-block:25px; margin-top:28px; }
 .cinematic-site .fr-proof .metric+.metric { padding-left:10px; }
 .cinematic-site .fr-proof strong { font-size:32px; }
 .cinematic-site .fr-proof .metric>span { font-size:14px; }
 .cinematic-site .source-note { font-size:14px!important; }
 .cinematic-site .documentation summary { font-size:16px; line-height:1.5; }
 .cinematic-site .technical-content { font-size:16px; }
 .cinematic-site .responsive-table td,.cinematic-site .responsive-table tbody th,
 .cinematic-site .price-table td,.cinematic-site .price-table tbody th { font-size:15px; }
 .cinematic-site .price-table td.price { font-size:20px; }
 .cinematic-site .product-summary>div>p,.cinematic-site .coating-types p,
 .cinematic-site .case-context,.cinematic-site .study-steps p { font-size:17px; }
 .cinematic-site .case-feature-copy>p,.cinematic-site .data-provenance p { font-size:17px; }
 .cinematic-site .pricing-conditions p { font-size:15px; }
 .cinematic-site .glacier-hero .section-heading>p { font-size:26px; }
 .cinematic-site .glacier-header .eyebrow { font-size:12px; }
 .cinematic-site .roof-comparison figcaption { font-size:14px; }
 .cinematic-site .contact-actions .button { font-size:14px; min-height:48px; }
}

@media(max-width:640px){
 .cinematic-site .hero h1 { font-size:clamp(42px,11vw,68px); }
 .cinematic-site .hero-eyebrow { font-size:11px; letter-spacing:.035em; }
 .cinematic-site .hero-bottom { gap:20px; bottom:68px; }
 .cinematic-site .hero-mini p { font-size:13px; }
 .cinematic-site .hero-sequence { font-size:10px; gap:0; justify-content:space-between; letter-spacing:0; }
 .cinematic-site .hero-stage .scene-label { font-size:10px; max-width:155px; }
 .cinematic-site .hero-stage .scene-label>span { font-size:12px; }
 .cinematic-site .hero-stage .label-space { left:53%; }
 .cinematic-site .hero-stage .label-roof { font-size:10px; }
 .cinematic-site .industry-strip p { font-size:13px; gap:10px; }
 .cinematic-site .industry-strip span { font-size:11px; }
 .cinematic-site .section-heading h2 { font-size:36px; line-height:1.14; }
 .cinematic-site .feature-copy .section-heading h2 { font-size:36px; }
 .cinematic-site .glacier-hero .section-heading h2 { font-size:clamp(56px,14.5vw,68px); }
 .cinematic-site .eyebrow { font-size:12px; letter-spacing:.04em; }
 .cinematic-site .product-tabs button { font-size:14px; padding-inline:9px; }
 .cinematic-site .product-panel-copy .product-promise { font-size:23px!important; }
 .cinematic-site .product-panel-copy .button,.cinematic-site .polar-copy .button,.cinematic-site .glacier-detail .button,.cinematic-site .recommendation .button { font-size:14px; white-space:normal; }
 .cinematic-site .product-summary { gap:20px; }
 .cinematic-site .product-price { min-width:100px; }
 .cinematic-site .product-price small { font-size:12px; max-width:130px; }
 .cinematic-site .fr-proof { grid-template-columns:1fr; gap:0; padding-block:4px; }
 .cinematic-site .fr-proof .metric { display:grid; grid-template-columns:105px 1fr; align-items:center; padding:20px 0; gap:18px; }
 .cinematic-site .fr-proof .metric+.metric { border-left:0; border-top:1px solid #c5d2d9; padding-left:0; }
 .cinematic-site .fr-proof .metric>span { font-size:15px; }
 .cinematic-site .surface-options button { font-size:15px; }
 .cinematic-site .pricing-filters { flex-wrap:wrap; }
 .cinematic-site .pricing-filters button { font-size:14px; padding:10px 13px; }
 .cinematic-site .responsive-table td:before,.cinematic-site .price-table td:before { font-size:14px; max-width:40%; flex-shrink:1; }
 .cinematic-site .contact-actions .button { font-size:14px; white-space:normal; }
 .cinematic-site .temperature-row { grid-template-columns:105px minmax(0,1fr) 78px; gap:10px; }
 .cinematic-site .chart-heading { align-items:start; flex-direction:column; gap:15px; }
 .cinematic-site .chart-heading>span { width:auto; }
 .cinematic-site .layer-labels { width:130px; right:8px; gap:16px; }
 .cinematic-site .layer-labels>span { font-size:11px; }
 .cinematic-site .roof-temperature .eyebrow { font-size:11px; min-height:3.4em; }
 .cinematic-site .roof-temperature { max-width:calc(50% - 27px); }
 .cinematic-site .roof-temperature-after { align-items:flex-end; }
 .cinematic-site .roof-temperature small { font-size:12px; }
 .cinematic-site .roof-presets button { font-size:13px; }
 .cinematic-site .roof-presets button span { font-size:12px; }
 .cinematic-site .roof-demo-label { bottom:16px; right:auto; left:15px; font-size:10px; }
 .cinematic-site .roof-drag-hint { bottom:38px; font-size:10px; }
 .cinematic-site .footer-links { font-size:14px; column-gap:14px; }
}
