/* styles.css */
:root { --ink:#193027; --forest:#1f4938; --soft:#f3f6f2; --line:#dce5dc; --white:#fff; --muted:#587066; --shell:min(1200px, calc(100% - 64px)); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:linear-gradient(180deg, #fff 0%, #f3f7f1 31%, #f8f7f2 64%, #fff 100%); font:16px/1.5 "DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif; }
a { color:inherit; }
.shell { width:var(--shell); margin-inline:auto; }
.skip-link { position:absolute; left:1rem; top:-5rem; padding:.65rem .9rem; background:var(--ink); color:white; z-index:10; }
.skip-link:focus { top:1rem; }
.site-header { position:relative; z-index:3; background:#fff; border-bottom:1px solid rgba(25,48,39,.08); }
.header-inner { height:76px; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.brand { font-size:1.17rem; font-weight:700; letter-spacing:-.04em; text-decoration:none; white-space:nowrap; }
.brand span { color:var(--forest); }
nav { display:flex; align-items:center; gap:1.4rem; font-size:.92rem; }
nav a { text-decoration:none; }
nav a:not(.header-cta):hover, nav a:not(.header-cta):focus-visible { text-decoration:underline; text-underline-offset:.25em; }
.header-cta { display:inline-flex; min-height:44px; align-items:center; padding:.52rem .8rem; border:1px solid var(--ink); border-radius:100px; }
.hero { position:relative; isolation:isolate; min-height:682px; overflow:hidden; background:#e7efe9; }
.hero-media { position:absolute; inset:0; z-index:0; }
.hero-media::after { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg, rgba(247,250,247,.98) 0%, rgba(247,250,247,.96) 38%, rgba(247,250,247,.88) 50%, rgba(247,250,247,.15) 68%, rgba(247,250,247,0) 88%); pointer-events:none; }
.hero-image { position:absolute; inset:0; z-index:0; width:100%; height:100%; object-fit:cover; object-position:center; opacity:0; transition:opacity 800ms ease; }
.hero-image.is-active { opacity:1; }
.hero-inner { position:relative; z-index:2; min-height:682px; padding:96px 0 42px; display:flex; flex-direction:column; justify-content:space-between; align-items:flex-start; }
.hero-copy { max-width:620px; }
.eyebrow { margin:0 0 1.15rem; color:var(--forest); font-size:.8rem; line-height:1.2; font-weight:700; letter-spacing:.11em; text-transform:uppercase; }
h1, h2, p { margin-top:0; }
h1 { margin-bottom:1.35rem; font-size:clamp(2.85rem, 5.6vw, 5.5rem); line-height:1.03; letter-spacing:-.035em; font-weight:600; }
h1 span { display:block; min-height:1em; white-space:nowrap; }
.hero-subtitle { min-height:3.2rem; max-width:480px; margin-bottom:1.85rem; color:#314c40; font-size:1.05rem; }
.hero-actions { min-height:49px; display:flex; align-items:center; gap:1.15rem; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:.7rem; min-height:48px; padding:.7rem 1.05rem; border:1px solid transparent; border-radius:100px; font-weight:700; text-decoration:none; }
.button-dark { color:white; background:var(--ink); }
.button-dark:hover, .button-dark:focus-visible { background:#29483a; }
.quiet-link { display:inline-flex; min-height:44px; align-items:center; padding:.6rem 0; font-weight:700; text-decoration:none; }
.quiet-link:hover, .quiet-link:focus-visible { text-decoration:underline; text-underline-offset:.25em; }
.audience-controls { display:flex; align-items:center; gap:1rem; }
.audience-switch { display:flex; padding:4px; gap:3px; border:1px solid rgba(25,48,39,.16); background:rgba(255,255,255,.8); border-radius:999px; backdrop-filter:blur(9px); }
button { color:inherit; font:inherit; cursor:pointer; }
.audience-switch button { min-width:90px; min-height:44px; padding:.54rem .78rem; border:0; border-radius:999px; background:transparent; font-size:.88rem; }
.audience-switch button:hover { background:rgba(25,48,39,.08); }
.audience-switch button:active { background:rgba(25,48,39,.16); }
.audience-switch button[aria-pressed="true"] { color:white; background:var(--ink); }
.intro-strip { border-bottom:1px solid var(--line); background:#fff; }
.intro-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:3rem; padding:30px 0; }
.intro-grid p { margin:0; display:grid; gap:.25rem; font-size:.86rem; }
.intro-grid strong { font-size:.8rem; letter-spacing:.03em; }
.intro-grid span { color:var(--muted); }
.scroll-story { position:relative; }
.scroll-story[hidden] { display:none !important; }
.filtration-heading h2 { letter-spacing:-.035em; }
.media-caption { margin:0; color:var(--muted); font-size:.8rem; }
.filtration-story { padding:4vh 0 10vh; }
.filtration-inner { width:var(--shell); min-height:160vh; margin:auto; }
.filtration-scene { position:sticky; top:7vh; display:flex; flex-direction:column; align-items:center; }
.filtration-heading { max-width:760px; text-align:center; }
.filtration-stage { position:relative; width:min(100%, 1000px, 120vh); aspect-ratio:16 / 9; margin-top:2vh; }
.filtration-stage img { display:block; width:100%; height:100%; object-fit:contain; }
.filtration-labels { position:relative; width:min(78%, 790px, 94vh); display:grid; grid-template-columns:1fr 1fr 1fr; margin-top:-3.3rem; color:var(--ink); font-size:.88rem; font-weight:700; pointer-events:none; }
.filtration-labels span:nth-child(2) { text-align:center; }.filtration-labels span:last-child { text-align:right; }
.filtration-story .media-caption { position:relative; margin-top:1.4rem; text-align:center; }
.devices { padding:112px 0 104px; }
.section-heading { max-width:720px; margin-bottom:44px; }
h2 { margin-bottom:1.1rem; font-size:clamp(2.1rem, 4vw, 3.9rem); line-height:1.03; letter-spacing:-.065em; font-weight:600; }
.section-heading > p:last-child { max-width:610px; color:var(--muted); }
.device-grid { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:20px; }
.device-card { display:flex; min-height:360px; flex-direction:column; padding:18px; border:1px solid var(--line); border-radius:8px; background:#fff; }
.device-media { position:relative; display:grid; place-items:center; min-height:154px; margin:0 0 19px; overflow:hidden; background:#f6f8f5; }
.device-media img { width:100%; height:154px; object-fit:contain; mix-blend-mode:multiply; }
.device-media figcaption { position:absolute; right:10px; bottom:8px; color:#5d7166; font-size:.67rem; }
.series-illustration { color:var(--forest); font-size:1.12rem; font-weight:700; }
.device-card h3 { margin:0 0 .45rem; font-size:1.25rem; letter-spacing:-.04em; }
.device-card p { margin-bottom:.55rem; color:var(--muted); font-size:.91rem; }
.model-count { color:#547060 !important; font-size:.75rem !important; text-transform:uppercase; letter-spacing:.08em; }
.price-block { display:grid; gap:.08rem; margin:.75rem 0 1rem !important; color:var(--ink) !important; }
.device-price { font-size:1.15rem; letter-spacing:-.03em; }
.price-label { color:var(--muted); font-size:.68rem; line-height:1.25; }
.model-picker { display:grid; grid-template-columns:1fr auto; gap:.65rem; margin-top:auto; align-items:center; }
.model-picker label { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
select { width:100%; min-width:0; min-height:44px; padding:.63rem .5rem; border:1px solid #b8c8bc; border-radius:4px; background:#fff; color:var(--ink); font:inherit; font-size:1rem; }
.detail-link { display:inline-flex; align-items:center; min-height:44px; padding:.58rem .2rem; color:var(--forest); font-size:.84rem; font-weight:700; white-space:nowrap; }
.more-devices { display:block; min-height:44px; margin:28px auto 0; padding:.6rem 1rem; border:1px solid var(--ink); border-radius:100px; background:#fff; font-weight:700; }
.more-devices[hidden] { display:none; }
.catalog-note { max-width:690px; margin:25px 0 0; color:var(--muted); font-size:.8rem; }
.project-section { padding:104px 0; color:white; background:var(--forest); }
.project-grid { display:grid; grid-template-columns:1fr 2fr; gap:3rem; }
.project-section .eyebrow { color:#cde3d2; }
.project-section h2 { max-width:660px; }
.project-section p:not(.eyebrow) { max-width:640px; color:#d9e7dc; font-size:1.04rem; }
.button-light { margin-top:1rem; color:var(--ink); background:#f9fbf8; }
.site-footer { padding:25px 0; background:#10251c; color:#dfe9e2; }
.site-footer .shell { display:flex; justify-content:space-between; gap:1rem; align-items:center; }
.site-footer p { margin:0; color:#a5b8ab; font-size:.76rem; }
:focus-visible { outline:3px solid #537f69; outline-offset:3px; }
@media (max-width:760px) {
  :root { --shell:min(100% - 32px, 1200px); }
  .header-inner { height:64px; }
  nav { gap:.8rem; font-size:.82rem; }
  nav a:not(.header-cta) { display:none; }
  .header-cta { padding:.43rem .65rem; }
  .hero { min-height:675px; }
  .hero-media::after { background:linear-gradient(180deg, rgba(249,251,249,.98) 0%, rgba(249,251,249,.96) 50%, rgba(249,251,249,.84) 65%, rgba(249,251,249,.15) 82%, rgba(249,251,249,0) 100%); }
  .hero-image { object-position:62% center; }
  .hero-inner { min-height:675px; padding:52px 0 24px; }
  h1 { font-size:clamp(2.2rem, 10.8vw, 4rem); }
  .hero-subtitle { min-height:4.45rem; max-width:340px; font-size:.98rem; }
  .hero-actions { flex-wrap:wrap; gap:.55rem .9rem; }
  .button { min-height:45px; padding:.65rem .85rem; font-size:.9rem; }
  .audience-controls { width:100%; justify-content:space-between; gap:.55rem; }
  .audience-switch button { min-width:74px; padding-inline:.55rem; }
  .intro-grid { grid-template-columns:1fr; gap:1.2rem; padding:25px 0; }
  .filtration-story { padding:20px 0 54px; }
  .filtration-inner { min-height:120vh; }
  .filtration-labels { width:88%; margin-top:-2.2rem; font-size:.8rem; }
  .devices { padding:72px 0; }
  .device-grid { grid-template-columns:1fr; }
  .project-section { padding:74px 0; }
  .project-grid { grid-template-columns:1fr; gap:1rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  .hero-image { transition:none; }
  .filtration-scene, .filtration-stage, .filtration-labels, .filtration-story .media-caption { position:relative; top:auto; }
}

.series-illustration{padding:1.25rem;text-align:center;color:var(--forest);font-size:clamp(1.25rem,1.6vw,1.8rem);font-weight:600;line-height:1.15;letter-spacing:-.04em;}


/* filter-presets.css */
.filtration-inner{min-height:0}
.filtration-scene{position:relative;top:auto;max-width:1180px;margin-inline:auto;padding:24px 26px 30px;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(280px,.88fr);grid-template-areas:'heading heading' 'visual info' 'caption caption';gap:22px 42px}
.filtration-heading{grid-area:heading;max-width:920px;justify-self:center;text-align:center}
.filter-title-stack{display:grid;width:100%}
.filter-title-stack>h2,.filter-title-reserve{grid-area:1/1}
.filtration-heading h2,.filter-title-reserve{font-size:clamp(2rem,3.5vw,3rem);font-weight:600;line-height:1.07;letter-spacing:-.045em;margin:0 auto 16px}
.filter-title-reserve{visibility:hidden;pointer-events:none}
.filter-switch{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:0 auto}
.filter-switch button{font:inherit;font-size:.9rem;min-width:64px;min-height:44px;padding:10px 17px;border:1px solid #b8c6bd;border-radius:24px;color:#354b40;background:#fff;cursor:pointer}
.filter-switch button[aria-pressed=true]{background:#223d31;border-color:#223d31;color:#fff}
.filter-switch button:focus-visible{outline:3px solid #427754;outline-offset:3px}
.filtration-stage{grid-area:visual;align-self:start;width:100%;aspect-ratio:1200/660;margin:0}
.filtration-stage img{display:block;width:100%;height:auto;max-height:min(520px,54vw);object-fit:contain}
.filter-info{grid-area:info;max-width:500px;align-self:center;text-align:left}
.filter-info p{margin:5px 0;line-height:1.55}
.filter-details-heading{margin:16px 0 3px;color:#52675a;font-size:.76rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.filter-info>.filter-details-heading:first-child{margin-top:0}
.filter-structure{font-size:1rem;font-weight:650;color:#263b30}
.filter-availability{font-size:.84rem;color:#4b6555}
.filter-description{font-size:1rem;color:#33473a}
.filter-evidence{font-size:1rem;font-weight:650;color:var(--forest,#294939)}
.filter-note{font-size:.84rem;color:#52675a}
.filtration-scene>.media-caption{grid-area:caption;max-width:780px;margin:0 auto;font-size:.76rem;line-height:1.45;text-align:center;color:#52675a}
.filtration-scene>.media-caption a{color:inherit}
@media(max-width:700px){.filtration-scene{display:flex;flex-direction:column;gap:16px;padding:20px 16px 26px}.filtration-heading h2,.filter-title-reserve{font-size:clamp(1.8rem,8vw,2.45rem)}.filter-switch{gap:6px}.filter-switch button{min-width:calc((100% - 12px)/3);padding-inline:8px}.filtration-stage{order:2}.filter-info{order:3;max-width:none}.filtration-scene>.media-caption{order:4}.filtration-stage img{max-height:300px}.filter-description,.filter-evidence{font-size:.95rem}}
@media(prefers-reduced-motion:reduce){.filtration-inner{min-height:0}}


/* homepage-refinement.css */
@font-face{font-family:Manrope;src:url('/assets/fonts/Manrope-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Manrope;src:url('/assets/fonts/Manrope-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Manrope;src:url('/assets/fonts/Manrope-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
body{font-family:Manrope,system-ui,sans-serif;background:#f5f7f3}
h1,h2{font-weight:500;letter-spacing:-.035em;line-height:1.07}
.eyebrow{font-weight:500;letter-spacing:.12em;font-size:.75rem}
.site-header{border:0;background:#fff}.header-inner{height:80px}
.brand-image{position:relative;display:block;width:212px;height:36px;overflow:hidden}
.brand-image img{position:absolute;display:block;max-width:none;width:116%;height:auto;left:-8%;top:50%;transform:translateY(-50%)}
.header-cta{background:var(--forest);color:white;border:0;padding:.65rem 1.15rem;font-weight:500}
nav{gap:1.65rem;font-size:.82rem}.hero h1{font-weight:500;letter-spacing:-.035em}
.hero-image:not(.is-active){pointer-events:none}
.intro-strip,.product-reveal,.story-recovery,.filtration-story,.story-dimensions{background:#f5f7f3;border:0}
.intro-grid{gap:3rem;padding:48px 0 36px}.intro-grid p{gap:.5rem}.intro-grid strong{font-size:1.04rem;font-weight:600;letter-spacing:-.015em}.intro-grid span{font-size:.88rem;line-height:1.6;max-width:290px}
.product-reveal-heading{display:grid;justify-items:center;gap:1.1rem;text-align:center;padding-top:4vh}
.product-reveal-heading h2{max-width:900px;font-size:clamp(2.3rem,4.5vw,4.8rem);letter-spacing:-.04em;line-height:1.08;margin-bottom:.6rem}
.product-reveal-heading .eyebrow{margin-bottom:.6rem}.product-reveal-heading>div:first-child>p:last-child{font-size:.9rem}
.story-model-switch{border:0;box-shadow:none;padding:4px;background:#e6ece3}
.story-model-switch button{text-align:center;font-weight:500;min-width:130px}.story-model-switch button span{font-size:.68rem}
.product-reveal .device-story-stage{width:min(100% - 32px,1440px)}
.product-reveal .device-story-stage img{max-height:68svh;filter:drop-shadow(0 1.6rem 1.8rem #19302712)}
.story-intro-facts{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:2rem;text-align:center;padding-bottom:4vh;max-width:920px}
.story-intro-facts>div{display:flex;flex-direction:column;gap:.55rem;align-items:center}.story-intro-facts>[hidden]{display:none}
.story-intro-facts strong{font-size:clamp(1.65rem,3vw,2.8rem);font-weight:500;line-height:1.1;letter-spacing:-.04em;white-space:nowrap}.story-intro-facts span{font-size:.72rem;color:var(--muted);max-width:220px}.story-price strong{color:#326047}
.story-chapter{border:0}.story-copy h2{line-height:1.06;letter-spacing:-.04em;font-weight:500}.story-copy>p:not(.eyebrow){line-height:1.7;font-size:1rem}
.recovery-badge{border:0;padding:0}.recovery-badge span{text-transform:none;font-weight:400;letter-spacing:0;font-size:.82rem}.recovery-badge small:empty{display:none}
.recovery-visual{grid-template-rows:minmax(300px,450px) auto;padding:0;gap:1rem}.recovery-visual>img{max-height:450px;max-width:560px;transform:translate3d(0,var(--detail-rise,0px),0) rotate(var(--detail-turn,0deg));will-change:transform}
.recovery-detail{width:100%;max-width:620px;color:var(--muted)}.recovery-detail summary,.story-specs summary{cursor:pointer;font-size:.82rem;font-weight:500;padding:12px 0;text-underline-offset:4px}.recovery-detail[open] summary{margin-bottom:1rem}.recovery-detail .recovery-principle{font-family:Manrope,system-ui,sans-serif}
.story-dimensions{min-height:0;height:170svh;padding:0}.story-dimensions .story-chapter-grid{position:sticky;top:0;min-height:100svh;padding:5vh 0}
.story-dimensions-value{margin-top:1.5rem;font-size:clamp(1.6rem,2.7vw,3rem)}.story-specs{margin-top:1.2rem;color:var(--muted)}
.story-specs dl{margin:1rem 0;font-size:.8rem}.story-specs dl>div{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:.65rem 0;border-bottom:1px solid #dce5dc}.story-specs dd{margin:0;color:var(--ink)}.story-specs p{font-size:.76rem;line-height:1.6}
.dimensions-visual{min-height:480px;padding:2rem 0}.dimensions-visual #dimensions-image{transform:translate3d(0,var(--detail-rise,0px),0) rotate(var(--detail-turn,0deg));will-change:transform}
.dimensions-visual .story-installation-image{position:absolute;inset:0;z-index:2;width:100%;height:100%;max-height:none;max-width:none;aspect-ratio:auto;object-fit:cover;opacity:var(--installation-progress,0);filter:none;mask-image:linear-gradient(90deg,transparent,#000 7%,#000 95%,transparent)}
.story-dimensions[data-has-installation=true] #dimensions-image,.story-dimensions[data-has-installation=true] .dimension-line,.story-dimensions[data-has-installation=true] .dimension-figure-label{opacity:calc(1 - var(--installation-progress,0))}
.installation-example{opacity:var(--installation-progress,0);position:absolute;bottom:1.2rem!important;left:2rem!important;padding:.35rem .6rem;background:#ffffffe3;color:#42604d;font-size:.68rem}
.story-dimensions[data-has-installation=false] .installation-example{display:none}
@media(max-width:760px){.brand-image{width:172px;height:30px}.header-inner{height:72px}nav{gap:.8rem;font-size:.74rem}.header-cta{padding:.55rem .8rem}.intro-grid{gap:1.3rem;padding:32px 0}.intro-grid strong{font-size:.9rem}.intro-grid span{font-size:.75rem}.product-reveal-heading{padding-top:3vh;gap:.7rem}.product-reveal-heading h2{font-size:clamp(2rem,7vw,3.3rem)}.story-intro-facts{gap:.65rem;padding-bottom:3vh}.story-intro-facts strong{font-size:clamp(1.35rem,4.7vw,2rem)}.story-intro-facts span{font-size:.6rem}.story-model-switch{margin-top:0}.story-model-switch button{min-height:42px;min-width:115px}.product-reveal .device-story-stage img{max-height:50svh}.story-dimensions{height:190svh;min-height:1050px}.story-dimensions .story-chapter-grid{padding:4vh 0;gap:1rem}.dimensions-visual{min-height:310px}.story-copy h2{font-size:clamp(2.25rem,8vw,3.8rem)}.story-copy>p:not(.eyebrow){font-size:.9rem;line-height:1.65}.story-dimensions-value{font-size:1.7rem}.recovery-visual{grid-template-rows:300px auto}.recovery-visual>img{max-height:300px}}
@media(max-width:520px){.header-inner nav>a:not(.header-cta){display:none}.intro-grid{grid-template-columns:1fr;gap:1.1rem}.intro-grid p{grid-template-columns:1fr 1.25fr;align-items:start;gap:1rem}.intro-grid span{max-width:none}.story-intro-facts span{max-width:115px}}
@media(prefers-reduced-motion:reduce){.recovery-visual>img,.dimensions-visual #dimensions-image{transform:none!important;will-change:auto}.story-dimensions{height:auto;min-height:0;padding:3rem 0}.story-dimensions .story-chapter-grid{position:relative}.story-dimensions[data-has-installation=true]{--installation-progress:1!important}}

/* Canonical VA06 mark, decision-062. Never crop or redraw its four paths. */
.brand{display:inline-flex;align-items:center;gap:11px;letter-spacing:-.025em}.brand-mark{display:block;width:48px;height:29px;object-fit:contain;flex:none}.brand .brand-wordmark{font-family:Manrope,system-ui,sans-serif;font-size:1.2rem;font-weight:500;color:#25282A}
@media(max-width:520px){.brand{gap:8px}.brand-mark{width:40px;height:25px}.brand .brand-wordmark{font-size:1.05rem}}

/* Installation photo rejected: show the untouched measured native geometry. */
.dimensions-visual .story-installation-image{object-fit:contain;mask-image:none;filter:drop-shadow(0 1.5rem 1.5rem #19302718)}
.story-installation-image[hidden]{display:none!important}

.f-port-sketch{grid-row:1;width:100%;align-self:center}.f-port-sketch svg{display:block;width:100%;height:auto;overflow:visible}.f-port-sketch svg text{font-family:Manrope,system-ui,sans-serif}.port-sketch-view{text-align:center;color:var(--muted);font-size:.7rem;margin:0}.f-port-sketch[hidden],.recovery-visual>img[hidden]{display:none!important}
.source-flow-dot{opacity:0;animation:source-flow-right 4.5s linear infinite;animation-play-state:paused;transform-box:view-box}.source-flow-dot.flow-left{animation-name:source-flow-left}.story-recovery[data-active=true] .source-flow-dot{animation-play-state:running}
@keyframes source-flow-right{0%{opacity:0;transform:translateX(0)}15%,80%{opacity:.8}100%{opacity:0;transform:translateX(170px)}}
@keyframes source-flow-left{0%{opacity:0;transform:translateX(0)}15%,80%{opacity:.8}100%{opacity:0;transform:translateX(-170px)}}
@media(prefers-reduced-motion:reduce){.source-flow-dot{animation:none!important}}

/* Benefits and knowledge use the same quiet paper surface as the hero. */
.benefits,.knowledge{background:#f5f7f3;padding:clamp(4.5rem,9vw,9rem) 0}
.benefits-heading,.knowledge-heading{max-width:760px;margin:0 auto clamp(2.5rem,5vw,4.5rem);text-align:center}
.benefits-heading h2,.knowledge-heading h2{font-size:clamp(2.2rem,5vw,3.8rem);max-width:760px;margin:.6rem auto 1rem}
.benefits-heading p:last-child,.knowledge-heading p:last-child{max-width:620px;margin:0 auto;color:var(--muted);line-height:1.7}
.benefit-grid,.knowledge-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.25rem,2.8vw,2.8rem)}
.benefit-story,.knowledge-card{min-width:0;background:transparent;border:0}
.benefit-story figure{margin:0}.benefit-story figure img,.knowledge-card>img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.benefit-story figcaption{padding:.75rem 1.25rem 0;color:var(--muted);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase}
.benefit-story-copy{padding:0 1.25rem 1.4rem}.benefit-story-copy h3,.knowledge-card h3{font-size:clamp(1.25rem,2vw,1.7rem);font-weight:500;letter-spacing:-.025em;line-height:1.15;margin:.55rem 0 .6rem}.benefit-story-copy>p,.knowledge-card>div>p:not(.eyebrow){color:var(--muted);font-size:.9rem;line-height:1.6;margin:0}
.benefit-story details{margin-top:1.2rem;border-top:1px solid #e2e9e1;padding-top:.8rem;color:var(--muted);font-size:.78rem;line-height:1.6}.benefit-story details summary{cursor:pointer;color:var(--ink);font-weight:500}.benefit-story details p{margin:.7rem 0}.benefit-story details a,.knowledge-card a,.knowledge-banner a{color:#326047;text-underline-offset:4px}
.knowledge{padding-top:clamp(5rem,10vw,10rem)}.knowledge-heading{text-align:left;margin-left:0}.knowledge-heading h2{margin-left:0}.knowledge-heading p:last-child{margin-left:0}
.knowledge-card>div{padding:1.25rem 1.35rem 1.5rem}.knowledge-card .eyebrow{margin:0 0 .75rem;color:#597463}.knowledge-card h3{margin:.2rem 0 .65rem}.knowledge-card a{display:inline-flex;gap:.4rem;margin-top:1.2rem;font-size:.82rem;font-weight:500}
.knowledge-card h3 a{display:inline;color:inherit;margin:0;font:inherit;text-decoration:none}.knowledge-card h3 a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em}.knowledge-card h3 a:focus-visible{outline:2px solid #326047;outline-offset:4px;border-radius:2px}
.knowledge-banner{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-top:clamp(2.5rem,5vw,4.5rem);padding:1.4rem 1.6rem;background:#e6ece3;border:0}.knowledge-banner p{margin:0;font-size:clamp(1.1rem,2vw,1.6rem);letter-spacing:-.02em}.knowledge-banner a{white-space:nowrap}
.story-overview-actions{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap;margin-top:.15rem;padding-bottom:2vh}.story-overview-actions .story-detail-link{display:inline-flex;align-items:center;gap:.4rem;color:#326047;font-size:.78rem;font-weight:600;text-underline-offset:4px}.story-overview-actions .story-specs{margin:0}.story-overview-actions .story-specs summary{padding:.3rem 0}.story-overview-actions .story-specs[open]{position:relative;z-index:2;width:min(100%,920px);flex-basis:100%;max-height:25svh;overflow:auto}
.story-detail-link:focus-visible,.benefit-story a:focus-visible,.knowledge a:focus-visible,.benefit-story summary:focus-visible{outline:2px solid #326047;outline-offset:4px;border-radius:2px}
@media(max-width:760px){.benefits,.knowledge{padding:4.5rem 0}.benefit-grid,.knowledge-grid{grid-template-columns:1fr;gap:1.5rem}.benefit-story-copy,.knowledge-card>div{padding-left:1.1rem;padding-right:1.1rem}.knowledge-heading{margin-bottom:2.5rem}.knowledge-banner{align-items:flex-start;flex-direction:column;gap:.8rem}}

/* Dimensions belong to the same device view; the duplicate chapter is retired. */
.product-reveal-sticky{min-height:0;grid-template-rows:auto minmax(0,1fr) auto auto}
.story-model-switch{max-width:100%;overflow-x:auto;scrollbar-width:thin;justify-self:center}
.story-model-switch button{flex:none;min-width:122px}
.product-reveal .device-story-stage{grid-template-rows:minmax(0,1fr) auto;gap:.4rem;padding-bottom:1rem}
.device-dimensions{margin:0;text-align:center;color:var(--muted);font-size:.66rem;line-height:1.6}
.device-dimensions strong{display:block;color:var(--ink);font-size:clamp(.92rem,1.4vw,1.18rem);font-weight:500;letter-spacing:.01em}
.device-dimensions span{display:block}
.story-intro-facts{padding-bottom:1vh}
.story-overview-details{width:min(100% - 48px,920px);padding-bottom:2vh}
.story-overview-details .story-specs{margin:0;text-align:center}
.story-overview-details .story-specs[open]{max-height:25svh;overflow:auto}
.story-overview-details .story-specs dl,.story-overview-details .story-specs p{text-align:left}
.story-overview-details .story-specs summary{padding:.45rem 0;font-size:.72rem}
.product-reveal[data-story-mode=still]{height:100svh;min-height:620px}
.product-reveal[data-model=fp300] #f150-frame{mix-blend-mode:multiply}
@media(max-height:680px){.product-reveal-heading{gap:.65rem;padding-top:2vh}.product-reveal-heading h2{font-size:clamp(1.85rem,4vw,3.5rem)}.product-reveal-heading .eyebrow{margin-bottom:.35rem}.story-model-switch button{min-height:43px}.story-intro-facts strong{font-size:clamp(1.4rem,2.8vw,2rem)}.story-intro-facts>div{gap:.25rem}.product-reveal .device-story-stage{padding-bottom:.6rem}}
@media(max-width:760px){.story-model-switch{display:flex;width:100%;margin-top:0}.story-model-switch button{min-width:108px}.product-reveal .device-story-stage{padding-bottom:.65rem}.story-intro-facts{padding-bottom:1vh}.story-overview-details{padding-bottom:1.5vh}.product-reveal[data-story-mode=still]{min-height:560px}}
@media(prefers-reduced-motion:reduce){.product-reveal[data-story-mode=still]{height:auto;min-height:0}.product-reveal .device-story-stage{margin:1rem auto}}

/* Premium local homepage: one restrained paper-and-forest system. */
.hero{min-height:clamp(620px,calc(100svh - 80px),760px);background:#dfe7dd}
.hero-inner{min-height:clamp(620px,calc(100svh - 80px),760px);padding:clamp(4rem,8vw,8rem) 0 2.2rem}
.hero-media::after{background:linear-gradient(90deg,rgba(245,247,243,.92),rgba(245,247,243,.72) 37%,rgba(245,247,243,.13) 68%,transparent 88%)}
.hero-copy{max-width:720px}
.hero h1{margin-bottom:1.25rem;color:var(--ink);font-size:clamp(3rem,6vw,5.75rem);line-height:1.04;letter-spacing:-.035em;text-wrap:balance}
.hero h1 span:last-child{color:var(--forest)}
.hero-subtitle{max-width:560px;min-height:0;margin-bottom:1.25rem;color:#303d36;font-size:clamp(1rem,1.7vw,1.28rem);line-height:1.55}
.hero-price{display:flex;align-items:center;gap:1.3rem;margin:0 0 1.65rem}
.hero-price strong{color:var(--forest);font-size:clamp(2.2rem,4vw,3.7rem);font-weight:600;letter-spacing:-.045em;white-space:nowrap;line-height:1.05}
.hero-price span{color:#4f5a53;font-size:.78rem;line-height:1.5}
.hero-actions{gap:1rem}
.hero-actions .button{min-height:52px;padding:.78rem 1.3rem;background:var(--forest)}
.hero-actions .quiet-link{min-height:52px;padding:.7rem 1.1rem;border:1px solid #a9b6ac;border-radius:100px;font-weight:500}
.audience-switch button[aria-pressed=true]{background:#fff;color:var(--ink);box-shadow:0 1px 4px #1f49381f}
.audience-switch{border:0;background:#ffffffa8}
.product-reveal,.story-recovery,.story-power,.filtration-story{background:var(--paper)}
.product-reveal-heading h2{max-width:980px;font-size:clamp(2.3rem,4.6vw,4.9rem);line-height:1.08}
.story-model-switch{border:1px solid #d8e0d7;border-radius:100px;background:#f7f9f6}
.story-model-switch button{min-width:150px;border-radius:100px}
.story-model-switch button[aria-pressed=true]{background:var(--forest)}
.story-price strong{color:var(--forest);font-size:clamp(2.25rem,4vw,3.8rem)}
.story-intro-facts{max-width:1100px;gap:1.2rem}
.story-intro-facts span{font-size:.75rem}
.story-overview-actions .story-detail-link{min-height:48px;padding:.7rem 1.1rem;border-radius:100px;background:var(--forest);color:#fff;font-size:.85rem;text-decoration:none}
.story-overview-actions .story-specs summary{min-height:48px;padding:.7rem 1.1rem;border:1px solid #aebdaf;border-radius:100px;color:var(--ink);text-decoration:none}
.devices{padding:clamp(5rem,10vw,9rem) 0}
.devices .section-heading{max-width:900px;margin-bottom:clamp(2rem,4vw,4rem)}
.devices .section-heading h2{max-width:850px;font-size:clamp(2.3rem,4.8vw,4.5rem);line-height:1.08;letter-spacing:-.04em}
.devices .section-heading>p:last-child{max-width:760px;font-size:1rem;line-height:1.65}
.device-grid{gap:clamp(1.6rem,3.2vw,3.7rem)}
.device-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.86fr);grid-template-rows:auto auto auto 1fr;column-gap:1.2rem;align-items:start;min-height:255px;padding:0;border:0;border-radius:0;background:transparent}
.device-media{grid-column:1;grid-row:1/5;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:255px;min-height:0;margin:0;background:#eaf0e8;overflow:hidden}
.device-media img{width:100%;height:220px;object-fit:contain;mix-blend-mode:normal}
.device-media figcaption{position:static;align-self:stretch;min-height:28px;padding:.25rem .5rem;text-align:center;color:var(--muted);font-size:.61rem;line-height:1.35}
.device-media-empty{display:grid;place-items:center;width:100%;height:220px;padding:1.2rem;color:var(--muted);font-size:.95rem;text-align:center}
.device-card h3{grid-column:2;grid-row:1;margin:.15rem 0 .22rem;font-size:clamp(1.15rem,1.65vw,1.55rem);line-height:1.15;letter-spacing:-.025em}
.device-card .device-summary{grid-column:2;grid-row:2;margin:0;color:var(--muted);font-size:.83rem}
.device-card .model-count{display:none}
.device-card .price-block{grid-column:2;grid-row:3;gap:.15rem;margin:.6rem 0 .8rem!important}
.device-price{color:var(--forest);font-size:clamp(1.75rem,2.75vw,2.8rem);font-weight:600;line-height:1.1;letter-spacing:-.045em}
.device-card .price-label{max-width:220px;font-size:.62rem;line-height:1.35}
.device-card .model-picker{grid-column:2;grid-row:4;display:flex;flex-direction:column;align-items:stretch;gap:.3rem;margin-top:0}
.device-card select{min-height:42px;border-color:#cad8ca;border-radius:10px;background:#f9fbf8;font-size:.81rem}
.device-card .detail-link{min-height:38px;padding:.35rem 0;font-size:.79rem;text-decoration:underline;text-decoration-color:#809f8b;text-underline-offset:6px}
.catalog-note{max-width:860px}.devices-overview-link{margin-top:1rem}
.knowledge-card>div{padding:1.2rem .25rem 1.5rem}
.knowledge-card a{font-weight:600}
.project-section{background:var(--forest)}
.project-section h2{max-width:760px;font-size:clamp(2.25rem,4.5vw,4.3rem);line-height:1.08}
.site-footer{background:#173b2b}
@media(max-height:680px) and (min-width:761px){.hero-inner{padding-top:3rem;padding-bottom:1.3rem}.hero h1{font-size:clamp(3rem,5vw,4.4rem)}.hero-subtitle{margin-bottom:.8rem}.hero-price{margin-bottom:1rem}}
@media(max-width:1040px){.device-card{grid-template-columns:1fr;grid-template-rows:auto auto auto auto auto}.device-media{grid-column:1;grid-row:1;height:240px;margin-bottom:1rem}.device-card h3,.device-card .device-summary,.device-card .price-block,.device-card .model-picker{grid-column:1;grid-row:auto}.device-card .price-block{margin:.6rem 0!important}}
@media(max-width:760px){.hero,.hero-inner{min-height:690px}.hero-inner{padding:3.6rem 0 1.6rem}.hero-media::after{background:linear-gradient(180deg,rgba(245,247,243,.97),rgba(245,247,243,.91) 49%,rgba(245,247,243,.45) 74%,transparent)}.hero h1{font-size:clamp(2.65rem,10vw,4.2rem)}.hero h1 span{white-space:normal}.hero-price{gap:.7rem;align-items:flex-start}.hero-price strong{font-size:clamp(2rem,8.5vw,2.8rem)}.hero-price span{font-size:.68rem}.hero-actions{flex-wrap:wrap}.story-model-switch button{min-width:115px}.story-intro-facts{gap:.5rem}.story-price strong{font-size:clamp(1.65rem,5vw,2.3rem)}.device-grid{grid-template-columns:1fr;gap:2.5rem}.device-card{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);column-gap:1rem}.device-media{grid-column:1;grid-row:1/5;height:225px;margin:0}.device-card h3,.device-card .device-summary,.device-card .price-block,.device-card .model-picker{grid-column:2}.knowledge-card>div{padding:1rem 0}}
@media(max-width:560px){.device-card{display:grid;grid-template-columns:1fr}.device-media{grid-column:1;grid-row:1;height:240px;margin-bottom:1rem}.device-card h3,.device-card .device-summary,.device-card .price-block,.device-card .model-picker{grid-column:1;grid-row:auto}.device-price{font-size:2.4rem}.hero-actions .button,.hero-actions .quiet-link{font-size:.82rem}.product-reveal-heading h2{font-size:clamp(2rem,8vw,3rem)}}
@media(prefers-reduced-motion:reduce){.hero-image{transition:none}.product-reveal .device-story-stage img{filter:none}}

/* Homepage favorites stay compact; full product imagery lives in the catalog. */
.devices-quiet .device-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 3rem}
.devices-quiet .device-card{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto auto;gap:.4rem 1rem;padding:1.6rem 0;border-top:1px solid var(--line)}
.devices-quiet .device-card .device-media,.devices-quiet .device-card .model-count{display:none}
.devices-quiet .device-card h3{grid-column:1;grid-row:1;margin:0;font-size:1.45rem}
.devices-quiet .device-card .device-summary{grid-column:1;grid-row:2;font-size:.85rem;margin:0}
.devices-quiet .device-card .price-block{grid-column:2;grid-row:1/3;text-align:right;margin:0!important;max-width:195px}
.devices-quiet .device-price{font-size:1.5rem;line-height:1.2}
.devices-quiet .price-label{font-size:.65rem;line-height:1.5}
.devices-quiet .device-card .model-picker{grid-column:1/-1;grid-row:3;margin-top:.8rem}
.devices-quiet .model-picker label{font-size:.75rem}
@media(max-width:760px){.devices-quiet .device-grid{grid-template-columns:1fr}.devices-quiet .device-card h3{font-size:1.25rem}.devices-quiet .device-price{font-size:1.3rem}}
/* Hero feedback 06.10: soft contrast behind copy, concise named offer. */
.hero-copy{position:relative;isolation:isolate}
.hero-copy::before{content:"";position:absolute;inset:-3rem -5rem -2rem -3rem;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 38% 45%,rgba(249,250,244,.94) 0%,rgba(249,250,244,.72) 42%,rgba(249,250,244,0) 74%)}
.hero h1,.hero-subtitle{text-shadow:0 2px 16px rgba(255,255,255,.65)}
.hero-price{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem}
.hero-price-model{font-size:.88rem!important;font-weight:500;color:var(--ink)}
.hero-price-line{display:flex;align-items:baseline;gap:1rem;flex-wrap:wrap}
.hero-price-line small{font-size:.82rem;color:var(--muted)}
#hero-tax-note{font-size:.78rem}
@media(max-width:760px){.hero-copy::before{inset:-2rem -1rem}.hero-price-line{gap:.7rem}}

/* Model-specific performance beside the hero offer. */
.hero-performance{display:flex;flex-wrap:wrap;gap:1rem 2.5rem;margin:1.2rem 0 1.5rem}
.hero-performance>div{display:flex;flex-direction:column;gap:.2rem}
.hero-performance dt{font-size:.78rem;color:var(--muted)}
.hero-performance dd{margin:0;font-size:clamp(1.25rem,2vw,1.65rem);font-weight:600;letter-spacing:-.025em;color:var(--ink)}
.hero-performance small{display:block;font-weight:400;letter-spacing:0;font-size:.65rem;color:var(--muted)}
@media(max-width:760px){.hero-performance{gap:.8rem 1.5rem;margin:1rem 0}.hero-performance dt{font-size:.72rem}}

/* Shared geometry keeps both audience views on the same baseline. */
.hero-copy{width:min(720px,100%)}
.hero h1{min-height:2.08em}
.hero h1 span{white-space:nowrap}
.hero-subtitle{min-height:4.65em}
.hero-image{object-position:50% 50%}
.hero-price-line{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:baseline;column-gap:.8rem;width:100%;font-variant-numeric:tabular-nums}
.hero-price-line #hero-tax-note{font-size:.72rem;line-height:1.35;max-width:10rem}
#hero-gross-price{font-size:.78rem;color:var(--muted);line-height:1.4;font-variant-numeric:tabular-nums}
.hero-performance>div{min-width:9rem}
@media(max-width:760px){
 .hero h1{font-size:clamp(1.75rem,7.7vw,3.7rem)}
 .hero-subtitle{min-height:7.75em}
 .hero-image{object-position:62% 50%}
 .hero-price{gap:.25rem}
 .hero-price-line{column-gap:.65rem}
 .hero-price-line #hero-tax-note{font-size:.65rem;max-width:8rem}
}

/* Native TP yaw: a short scroll passage, fixed image plane. */
.product-reveal[data-story-mode=yaw-right]{height:180svh;min-height:0}
.product-reveal[data-story-mode=yaw-right] #f150-frame{transform:none!important}
@media(prefers-reduced-motion:reduce){.product-reveal[data-story-mode=yaw-right]{height:auto;min-height:0}}

/* Quiet brand entrance: transform keeps header geometry fixed. */
@keyframes ventora-brand-arrive{
 from{opacity:.25;transform:translateY(3px)}
 to{opacity:1;transform:translateY(0)}
}
.site-header .brand-mark{animation:ventora-brand-arrive 520ms cubic-bezier(.165,.84,.44,1) both}
.site-header .brand-wordmark{animation:ventora-brand-arrive 520ms cubic-bezier(.165,.84,.44,1) 70ms both;transition:color 180ms ease}
@media(hover:hover){.site-header .brand:hover .brand-wordmark{color:var(--forest)}}
.ventora-review-paused .site-header .brand-mark,.ventora-review-paused .site-header .brand-wordmark{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){
 .site-header .brand-mark,.site-header .brand-wordmark{animation:none;transition:none}
}

/* Benefit cards share a text baseline while their natural headings remain unforced. */
.benefit-story{display:flex;flex-direction:column}
.benefit-story-copy--baseline{display:flex;flex:1;flex-direction:column}
.benefit-story-copy--baseline h3{min-height:2.3em;text-wrap:balance}
.benefit-story-copy--baseline .benefit-story-action{margin-top:auto;padding-top:1.25rem}
@media(max-width:760px){.benefit-story-copy--baseline h3{min-height:0}}


/* premium-base.css */
@font-face{font-family:Manrope;src:url('/assets/fonts/Manrope-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Manrope;src:url('/assets/fonts/Manrope-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Manrope;src:url('/assets/fonts/Manrope-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
:root{--paper:#f5f7f3;--ink:#25282a;--forest:#1f4938;--soft:#e6ece3;--muted:#4e6157;--line:#dce5dc;--shell:min(1200px,calc(100% - 64px));color-scheme:light}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.6 Manrope,system-ui,sans-serif}
button,input,select,textarea{font:inherit}
a{color:inherit}
img{max-width:100%}
.shell{width:var(--shell);margin-inline:auto}
.skip-link{position:absolute;left:1rem;top:-5rem;z-index:20;padding:.65rem .9rem;background:var(--ink);color:#fff}
.skip-link:focus{top:1rem}
.site-header{position:relative;z-index:10;background:#fff}
.header-inner{min-height:80px;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}
.brand{display:inline-flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none;white-space:nowrap}
.brand-mark{display:block;width:48px;height:29px;object-fit:contain;flex:none}
.brand-wordmark{color:var(--ink);font-size:1.2rem;font-weight:500;letter-spacing:-.025em}
.site-header nav{display:flex;align-items:center;gap:clamp(.8rem,2vw,1.7rem);font-size:.82rem}
.site-header nav a{text-decoration:none}
.site-header nav a:not(.header-cta):hover{text-decoration:underline;text-underline-offset:.3em}
.header-cta{display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:.6rem 1.1rem;border-radius:100px;background:var(--forest);color:#fff;font-weight:500}
.button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:.55rem;padding:.72rem 1.2rem;border:1px solid transparent;border-radius:100px;font-weight:600;text-decoration:none}
.button-dark{background:var(--forest);color:#fff}
.button-dark:hover,.header-cta:hover{background:#153e2d}
.quiet-link{display:inline-flex;min-height:44px;align-items:center;gap:.4rem;color:var(--forest);font-weight:600;text-decoration:none}
.quiet-link:hover{text-decoration:underline;text-underline-offset:.3em}
.eyebrow{margin:0 0 1rem;color:var(--forest);font-size:.75rem;font-weight:600;letter-spacing:.12em;line-height:1.3;text-transform:uppercase}
:focus-visible{outline:3px solid #446f58;outline-offset:3px}
@media(max-width:760px){:root{--shell:min(100% - 32px,1200px)}.header-inner{min-height:72px}.brand-mark{width:40px;height:25px}.brand-wordmark{font-size:1.05rem}.site-header nav{gap:.75rem}.site-header .header-inner nav>a:not(.header-cta){display:inline-flex}.header-cta{padding:.55rem .8rem}}
@media(max-width:520px){.site-header nav{gap:.62rem;font-size:.72rem}.site-header nav .header-cta{display:inline-flex;min-height:36px;padding:.43rem .65rem;font-size:0}.site-header nav .header-cta::before{content:'Projekt';font-size:.72rem;font-weight:600}.site-header nav>a[href="#kontakt"]:not(.header-cta){display:none}.brand{gap:6px}.brand-wordmark{font-size:.92rem}.brand-mark{width:33px;height:23px}}
@media(max-width:380px){.header-inner{height:auto;flex-wrap:wrap;justify-content:center;gap:.35rem;padding:.55rem 0}.site-header nav{width:100%;justify-content:center;gap:1.2rem}.site-header nav .header-cta{margin-left:.2rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Shared readable closing section across the catalogue and knowledge pages. */
body .site-footer{background:#173b2b;color:#f5f7f3;padding:2.6rem 0;border-top:1px solid #53705c}
body .site-footer .shell{display:grid;grid-template-columns:1fr auto;gap:1rem 2rem;align-items:start}
body .site-footer .brand,body .site-footer .brand .brand-wordmark{color:#f5f7f3}
body .site-footer .brand-mark{filter:brightness(0) invert(1)}
body .site-footer p{color:#d8e7d6;font-size:.9rem;line-height:1.65;margin:0}
body .site-footer strong{color:inherit}
body .site-footer nav{display:flex;gap:1.3rem;flex-wrap:wrap;grid-column:1/-1}
body .site-footer a{display:inline-flex;align-items:center;min-height:44px;color:#f5f7f3;font-size:1rem;text-underline-offset:.3em}
body .site-footer .footer-owner{grid-column:1/-1;font-size:.875rem;color:#d8e7d6}
@media(max-width:760px){body .site-footer .shell{grid-template-columns:1fr}body .site-footer nav{gap:.4rem 1.2rem}body .site-footer p{max-width:100%}}


/* subtle-launch.css */
/* Approved launch composition: native media, one shared numeric baseline. */
.launch-product{height:210svh;min-height:0;background:var(--paper);scroll-margin-top:0}
.launch-product .product-reveal-sticky{display:grid;grid-template-rows:minmax(0,1fr) auto;height:100svh;min-height:0;padding:clamp(1.5rem,4vh,3rem) 0;gap:1.25rem}
.launch-product-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);align-items:center;gap:clamp(2rem,4vw,4rem);min-height:0}
.launch-product .device-story-stage{display:grid;grid-template-rows:1fr;width:100%;height:100%;min-height:0;margin:0;padding:0;overflow:hidden}
.launch-product .device-story-stage img{width:100%;height:100%;max-height:none;object-fit:contain;transform:scale(1.42);filter:none}
.launch-product-copy{min-width:0}
.launch-product-copy .eyebrow{margin-bottom:1rem;text-transform:none;letter-spacing:.04em}
.launch-product-copy h2{font-size:clamp(2.5rem,4.5vw,4.8rem);line-height:1.06;letter-spacing:-.045em;margin:0 0 1.2rem}
.launch-product-copy h2 span{display:block}
.launch-product-features{max-width:460px;color:var(--muted);font-size:.86rem;line-height:1.6;margin:0 0 2.2rem}
.launch-product-metrics{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto auto;align-items:baseline;column-gap:1.5rem;row-gap:.65rem}
.launch-price-heading{grid-column:1;grid-row:1;font-size:.75rem;color:var(--muted)}
.launch-price-number,.launch-efficiency-number{grid-row:2;font-size:clamp(2rem,3.8vw,3.8rem);font-weight:600;line-height:1.05;letter-spacing:-.045em;white-space:nowrap;color:var(--forest)}
.launch-price-number{grid-column:1}.launch-efficiency-number{grid-column:2}
.launch-price-terms,.launch-efficiency-label{grid-row:3;font-size:.72rem;line-height:1.5;color:var(--muted);align-self:start}
.launch-price-terms{grid-column:1}.launch-efficiency-label{grid-column:2;max-width:220px}
.launch-product-actions{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap;margin-top:1.8rem;font-size:.8rem}
.launch-product-copy .story-specs{margin-top:.6rem}
.launch-product-copy .story-specs[open]{max-height:22svh;overflow:auto}
.launch-product-copy .story-specs dl{margin:.2rem 0}.launch-product-copy .story-specs small{display:block;font-size:.7rem;color:var(--muted)}
.launch-product .story-model-switch{width:auto;max-width:calc(100% - 32px);margin:0 auto;padding:4px;display:flex;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}
.launch-product .story-model-switch button{min-width:125px;min-height:44px}
.launch-product[data-story-mode=still]{height:100svh;min-height:0}
.launch-product[data-story-mode=still] .product-reveal-sticky{position:relative}
.launch-product[data-model=cfa250c] .device-story-stage img{transform:scale(1.12)}
.launch-product[data-model=cfat350t] .device-story-stage img{transform:scale(1.05)}
.launch-product[data-model=cfat350t] .launch-price-number{white-space:normal;overflow-wrap:anywhere;font-size:clamp(1.4rem,2.6vw,2.6rem)}
.launch-product[data-model=w350-erv] .device-story-stage img{transform:scale(1.22)}
.benefit-story-copy>a{display:inline-flex;min-height:44px;align-items:center;color:var(--forest);font-size:.82rem;text-underline-offset:4px}
.benefit-thermal-visual{display:block;width:100%;height:auto;aspect-ratio:3/2;background:#eaf0e8}
.knowledge .knowledge-grid{display:block}
.knowledge .knowledge-card{display:grid;grid-template-columns:60px 1fr;gap:1.5rem;padding:1.7rem 0;border-top:1px solid var(--line)}
.knowledge-card .knowledge-number{font-size:1.1rem;color:var(--muted)}
.knowledge .knowledge-card>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.9fr);align-items:start;column-gap:2rem;padding:0}
.knowledge .knowledge-card .eyebrow{grid-column:1;margin:0 0 .55rem}
.knowledge .knowledge-card h3{grid-column:1;margin:0;font-size:clamp(1.3rem,2.2vw,1.9rem)}
.knowledge .knowledge-card>div>p:not(.eyebrow){grid-column:2;grid-row:1/3;margin:0}
.knowledge .knowledge-card a{grid-column:2;min-height:44px;margin:.4rem 0 0}
@media(max-width:760px){
 .launch-product{height:220svh}
 .launch-product .product-reveal-sticky{padding:1rem 0;gap:.8rem}
 .launch-product-grid{grid-template-columns:1fr;grid-template-rows:minmax(140px,1fr) auto;gap:.5rem}
 .launch-product .device-story-stage{height:100%;max-height:36svh}
 .launch-product .device-story-stage img{transform:scale(1.36)}
 .launch-product-copy{max-width:560px;width:100%;margin:auto}
 .launch-product-copy .eyebrow{margin-bottom:.6rem;font-size:.7rem}
 .launch-product-copy h2{font-size:clamp(2rem,6.8vw,3rem);margin-bottom:.7rem}
 .launch-product-features{font-size:.76rem;margin-bottom:1.1rem}
 .launch-product-metrics{column-gap:1rem;row-gap:.45rem}
 .launch-price-number,.launch-efficiency-number{font-size:clamp(1.85rem,6.8vw,3rem)}
 .launch-product-actions{gap:1rem;margin-top:1rem;font-size:.75rem}
 .launch-product-actions .button{min-height:44px;padding:.55rem .9rem}
 .launch-product-copy .story-specs{margin:0}.launch-product-copy .story-specs summary{padding:.4rem 0;font-size:.72rem}
 .launch-product .story-model-switch button{min-width:100px;font-size:.78rem}
 .launch-product .story-model-switch button span{font-size:.6rem}
 .knowledge .knowledge-card{grid-template-columns:36px 1fr;gap:.6rem}
 .knowledge .knowledge-card>div{display:block}
 .knowledge .knowledge-card>div>p:not(.eyebrow){margin-top:.8rem}
}
@media(max-width:520px){
 .site-header nav>a:not(.header-cta){display:none!important}
 .site-header nav .header-cta{font-size:.7rem;white-space:nowrap}
 .site-header nav .header-cta::before{content:none}
}
@media(max-width:760px) and (max-height:700px){
 .launch-product .product-reveal-sticky{padding:.6rem 0;gap:.4rem}
 .launch-product-grid{grid-template-rows:minmax(100px,1fr) auto;gap:.25rem}
 .launch-product-copy h2{font-size:1.85rem;margin-bottom:.45rem}
 .launch-product-copy .eyebrow{margin-bottom:.3rem}
 .launch-product-features{margin-bottom:.7rem}
 .launch-product-actions{margin-top:.6rem}
}
@media(max-height:480px){
 .launch-product{height:auto;min-height:200svh}
 .launch-product .product-reveal-sticky{height:auto;min-height:100svh;position:relative;overflow:visible}
 .launch-product .device-story-stage{min-height:180px}
 .launch-product-copy .story-specs[open]{max-height:none}
 .launch-product[data-story-mode=still]{height:auto;min-height:0}
}
@media(prefers-reduced-motion:reduce){
 .launch-product,.launch-product[data-story-mode=still]{height:auto;min-height:0}
 .launch-product .product-reveal-sticky{position:relative;height:auto;overflow:visible;padding:3rem 0}
 .launch-product .device-story-stage{min-height:260px;height:min(55vw,600px)}
 .launch-product-copy .story-specs[open]{max-height:none}
}


/* controls-showcase.css */
/* Gallery 2: equal image zones; nested crops remove source whitespace only. */
.controls-showcase{padding:clamp(4.5rem,8vw,8rem) 0 0;background:var(--paper)}
.controls-shell{max-width:1440px}
.controls-heading{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.75fr);gap:clamp(2rem,7vw,8rem);align-items:end;margin-bottom:clamp(2.5rem,5vw,4.75rem)}
.controls-heading h2{max-width:850px;margin:0;font-size:clamp(2.7rem,5.25vw,5.75rem);line-height:.98;letter-spacing:-.06em;overflow-wrap:anywhere}
.controls-heading p{max-width:460px;margin:0 0 .3rem;color:var(--muted);font-size:clamp(1rem,1.55vw,1.3rem);line-height:1.42}
.controls-gallery{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,2.3fr) minmax(0,1fr) minmax(0,1fr) minmax(0,.65fr) minmax(0,.75fr);row-gap:2.5rem;border-right:1px solid #d9e2da}
.control-item{display:grid;grid-template-rows:30px 240px auto;min-width:0;margin:0;padding-inline:clamp(8px,1.25vw,18px);border-left:1px solid #d9e2da;--body-width:128px}
.control-index{color:#789385;font-size:.74rem;letter-spacing:.06em}
.control-visual{display:flex;align-items:center;justify-content:center;width:100%;min-width:0;height:100%}
.control-crop{position:relative;flex:none;width:min(100%,var(--body-width));max-width:100%;aspect-ratio:var(--crop-ratio);overflow:hidden}
.control-crop img{position:absolute;display:block;width:var(--image-width);max-width:none;height:auto;max-height:none;left:var(--image-left);top:var(--image-top);mix-blend-mode:multiply}
.control-item--hw{--body-width:128px;--crop-ratio:685/785;--image-width:169.48905%;--image-left:-36.49635%;--image-top:-18.47134%;}
.control-item--vk8{--body-width:340px;--crop-ratio:1380/940;--image-width:111.30435%;--image-left:-5.07246%;--image-top:-2.65957%;}
.control-item--vk2{--body-width:128px;--crop-ratio:750/880;--image-width:160.00000%;--image-left:-32.66667%;--image-top:-12.50000%;}
.control-item--hw08{--body-width:128px;--crop-ratio:830/890;--image-width:144.57831%;--image-left:-21.68675%;--image-top:-12.35955%;}
.control-item--remote{--body-width:56px;--crop-ratio:429/1420;--image-width:238.694639%;--image-left:-69.463869%;--image-top:-4.225352%;}
.control-item--app{--body-width:104px;--crop-ratio:941/1672;--image-width:100.00000%;--image-left:0.00000%;--image-top:0.00000%;}
.control-item--remote .control-crop img,.control-item--app .control-crop img{mix-blend-mode:normal}
.control-item figcaption{display:grid;grid-template-rows:2.6em auto;align-content:start;gap:.35rem;min-width:0;min-height:84px;padding-top:1.1rem;text-align:center;overflow-wrap:anywhere;hyphens:auto}
.control-item figcaption strong{align-self:end;font-size:clamp(.85rem,1.05vw,1.05rem);font-weight:600;letter-spacing:-.025em;line-height:1.3}
.control-item figcaption span{color:var(--muted);font-size:clamp(.76rem,.9vw,.92rem);line-height:1.3}
.controls-availability{max-width:560px;margin:clamp(2.25rem,4vw,3.75rem) auto clamp(3.25rem,7vw,6rem);color:var(--muted);font-size:.92rem;line-height:1.5;text-align:center}
.controls-glt{background:#e9f1e9;border-top:1px solid #d2ddd3}.controls-glt__inner{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,7vw,7rem);align-items:start;padding-block:clamp(2.5rem,5vw,4.25rem)}.controls-glt h3{max-width:510px;margin:0;color:var(--forest);font-size:clamp(1.9rem,3.25vw,3.35rem);line-height:1.03;letter-spacing:-.055em}.controls-glt__copy{max-width:620px}.controls-glt p{margin:0;color:#375447;font-size:1rem;line-height:1.58}.controls-glt .quiet-link{display:inline-flex;min-height:44px;align-items:center;margin-top:.9rem;color:var(--forest);text-decoration:underline;text-underline-offset:5px}

@media(max-width:1100px){
 .controls-heading{grid-template-columns:1fr;gap:1rem}
 .controls-heading p{max-width:620px}
 .controls-gallery{grid-template-columns:repeat(4,minmax(0,1fr))}
 .control-item{grid-template-rows:28px 220px auto}
 .control-item--vk8{grid-column:span 2;--body-width:300px}
 .controls-glt__inner{grid-template-columns:minmax(0,1fr);gap:1.25rem}
}
@media(max-width:560px){
 .controls-showcase{padding-top:4.25rem}
 .controls-heading{margin-bottom:2.75rem}
 .controls-heading h2{font-size:clamp(2.55rem,12vw,3.65rem)}
 .controls-gallery{grid-template-columns:repeat(2,minmax(0,1fr));border-right:0;row-gap:1.75rem}
 .control-item{grid-template-rows:26px 200px auto;padding-inline:10px;border-left:0;--body-width:118px}
 .control-item:nth-child(2),.control-item:nth-child(5),.control-item:nth-child(7){border-left:1px solid #d9e2da}
 .control-item--vk8{--body-width:290px}
 .control-item--remote{--body-width:56px}
 .control-item--app{--body-width:90px}
 .control-item figcaption{min-height:76px;padding-top:.8rem}
 .controls-availability{margin:2.5rem auto 4rem;font-size:.84rem}
 .controls-glt__inner{padding-top:3rem;padding-bottom:3rem}
 .controls-glt p{font-size:.95rem}
}


/* sales-expansion.css */
.sales-section{padding:clamp(4.5rem,9vw,8.5rem) 0}
.sales-section h2{font-size:clamp(2.4rem,4.8vw,4.6rem);font-weight:500;line-height:1.1;letter-spacing:-.045em;text-wrap:balance;margin:.7rem 0 1.7rem}
.sales-section h3{font-size:clamp(1.25rem,2vw,1.75rem);font-weight:500;letter-spacing:-.025em;line-height:1.25;margin:0 0 .8rem}
.sales-section p{line-height:1.7}.sales-section a:not(.button){text-underline-offset:.28em}
.sales-section .section-heading{max-width:850px;margin-bottom:3rem}
.sales-section .section-heading>p:last-child,.section-intro{max-width:580px;color:var(--muted);font-size:1.05rem}
.building-health{background:#e6ece3}
.building-heading{display:grid;grid-template-columns:1.45fr 1fr;gap:0 5rem;align-items:end}
.building-heading .eyebrow{grid-column:1/-1}.building-heading h2{margin-bottom:0}.building-heading>p:last-child{margin:0;color:var(--muted);max-width:400px;font-size:1.08rem}
.everyday-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:7rem}
.audience-benefits article{padding:1.6rem 0;border-top:1px solid var(--line)}.audience-benefits article:first-child{padding-top:0;border-top:0}
.audience-benefits article p{margin:.5rem 0;color:var(--muted)}.audience-benefits article>div{display:flex;gap:1.3rem;flex-wrap:wrap}
.mounting-intro{padding-top:2rem}.mounting-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid var(--line)}
.mounting-grid>a{position:relative;display:flex;flex-direction:column;align-items:flex-start;text-decoration:none;padding:1.9rem 1.6rem 1.4rem;border-right:1px solid var(--line);min-width:0;transition:background .2s ease}
.mounting-grid>a:first-child{padding-left:0}.mounting-grid>a:last-child{border-right:0}.mounting-grid>a:hover{background:var(--soft)}
.mounting-number{font-size:.78rem;color:var(--muted);margin-bottom:2rem}.mounting-grid h3{font-size:1.5rem}.mounting-grid p{font-size:.9rem;color:var(--muted);margin:0 0 1rem}.mounting-cta{margin-top:auto;color:var(--forest);font-size:.82rem;font-weight:500}.mounting-arrow{align-self:flex-end;margin-top:-1.5rem;font-size:1.5rem;color:var(--forest)}
.product-facts{padding:2.7rem 0 4.5rem;background:var(--paper)}
.facts-heading{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.4rem 2rem;margin-bottom:2rem}.facts-heading .eyebrow{grid-column:1/-1;margin:0}.facts-heading h2{font-size:clamp(1.4rem,2.2vw,2rem);font-weight:500;letter-spacing:-.03em;margin:0}
.product-facts .story-specs{margin:0;max-width:none;border:0;font-size:1rem}
.product-facts .story-specs dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.8rem 2.5rem;padding:1.8rem 0 0;border-top:1px solid var(--line);margin:0}
.product-facts .story-specs dl>div{display:block;min-width:0;padding:0;border:0}.product-facts dt{font-size:.8rem;color:var(--muted);margin-bottom:.45rem}.product-facts dd{font-size:1.08rem;font-weight:500;line-height:1.55;margin:0;overflow-wrap:anywhere}.product-facts small{display:block;font-size:.8rem;font-weight:400;color:var(--muted);margin-top:.25rem}
.recovery-detail{border-top:1px solid var(--line);margin-top:1.5rem;padding-top:1.4rem}.recovery-detail h3{font-size:1rem;font-weight:500;margin:0 0 1rem}.recovery-detail .recovery-principle{display:block;width:100%;height:auto}
.renovation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem}.renovation-grid article{border-top:1px solid var(--line);padding-top:1.5rem}.renovation-grid article>p:not(.eyebrow){color:var(--muted);font-size:.95rem}.renovation-grid a{display:inline-flex;align-items:center;min-height:44px;color:var(--forest);font-size:.85rem}
.roi-callout{margin-top:3.5rem;padding:2rem;background:var(--soft);display:flex;align-items:center;justify-content:space-between;gap:3rem}.roi-callout>div{max-width:650px}.roi-callout h3{font-size:1.45rem}.roi-callout p{margin:0;color:var(--muted);font-size:.95rem}.roi-callout .button{flex:none}
.project-section .contact-email{display:block;width:fit-content;color:#fff;font-size:clamp(1.1rem,2vw,1.4rem);margin:1.6rem 0;text-underline-offset:.3em}
.partner-section{background:#223d31;color:#f7faf5}.partner-section__inner{padding-block:clamp(3.5rem,6vw,5.5rem)}.partner-section__intro{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(1.5rem,5vw,5rem);align-items:end;margin-bottom:clamp(1.75rem,4vw,3rem)}.partner-section .eyebrow{margin:0;color:#b9cfb8}.partner-section h2{max-width:540px;margin:.35rem 0 0;font-size:clamp(2.25rem,4.4vw,4.35rem);line-height:1;letter-spacing:-.055em}.partner-section__intro>p:last-child{max-width:590px;margin:0;color:#d8e7d6;font-size:clamp(1rem,1.4vw,1.15rem);line-height:1.6}.partner-section__cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#547260}.partner-card{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:clamp(1.5rem,3vw,2.5rem);background:#f6f8f3;color:#263b30}.partner-card h3{margin:0 0 .7rem;font-size:clamp(1.35rem,2vw,1.8rem);letter-spacing:-.035em}.partner-card p{max-width:44ch;margin:0;color:#52675a;line-height:1.58}.partner-card a{display:inline-flex;align-items:center;min-height:44px;margin-top:1.35rem;color:#315441;font-weight:650;text-decoration:underline;text-underline-offset:.25em}.partner-card a:focus-visible{outline:3px solid #315441;outline-offset:4px}
.project-section .project-grid>div>p{font-size:1.05rem;line-height:1.7;color:#deeadc;max-width:620px}
.project-section h2{max-width:800px}.device-card .model-picker label{font-size:.85rem}
.calculator-page{padding:clamp(3rem,7vw,6rem) 0}.calculator-intro{max-width:820px;margin-bottom:3rem}.calculator-intro h1{font-size:clamp(2.5rem,5vw,4.5rem);line-height:1.12;font-weight:500;letter-spacing:-.045em}.calculator-intro>p{color:var(--muted);max-width:690px}
.calculator-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:4rem;align-items:start}.calculator-form fieldset{border:0;padding:0;margin:0 0 2.5rem}.calculator-form legend{font-size:1.2rem;font-weight:500;margin-bottom:1.4rem}.calculator-fields{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem}.calculator-fields label{display:grid;gap:.4rem;align-content:start;font-size:.86rem}.calculator-fields input,.calculator-fields select{width:100%;min-height:48px;border:1px solid #b0bfb0;border-radius:5px;background:#fff;padding:.65rem .75rem;color:var(--ink)}.calculator-fields small{color:var(--muted);font-size:.78rem;line-height:1.45}.calculator-fields .wide{grid-column:1/-1}.calculator-aside{background:var(--soft);padding:2rem}.calculator-aside h2{font-size:1.8rem;line-height:1.2;letter-spacing:-.03em;font-weight:500}.calculator-aside p,.calculator-aside li{font-size:.94rem;color:var(--muted)}.calculator-aside a{color:var(--forest);text-underline-offset:.25em}.calculator-aside ul{padding-left:1.15rem}.calculator-result{margin-top:2rem;padding:2rem;background:var(--forest);color:#fff}.calculator-result h2{font-size:1.6rem;font-weight:500;line-height:1.2}.calculator-result dl{margin:0}.calculator-result dl>div{padding:1rem 0;border-bottom:1px solid #577664}.calculator-result dt{font-size:.85rem;color:#d8e7d6}.calculator-result dd{margin:.3rem 0 0;font-size:1.3rem}.calculator-result [data-result=net]{font-size:2.8rem;letter-spacing:-.04em}.calculator-result p{font-size:.83rem;color:#d8e7d6}.calculator-error{color:#913721;font-size:.9rem}.calculator-form .button{cursor:pointer}
@media(max-width:1000px){.building-heading,.everyday-grid{gap:3rem}.mounting-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mounting-grid>a:nth-child(2){border-right:0}.mounting-grid>a:nth-child(n+3){border-top:1px solid var(--line)}.mounting-grid>a:nth-child(3){padding-left:0}.roi-callout{align-items:flex-start;flex-direction:column;gap:1.5rem}.calculator-layout{gap:2rem}}
@media(max-width:760px){.building-heading,.everyday-grid,.calculator-layout{grid-template-columns:1fr;gap:2rem}.building-heading .eyebrow{margin-bottom:0}.building-heading>p:last-child{max-width:100%}.product-facts .story-specs dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.facts-heading{display:block}.facts-heading h2{margin:.5rem 0}.renovation-grid{grid-template-columns:1fr;gap:2rem}.roi-callout{padding:1.5rem}.calculator-aside{padding:1.5rem}}
@media(max-width:760px){.partner-section__intro{grid-template-columns:1fr;gap:1rem}.partner-section__cards{grid-template-columns:1fr}.partner-section__inner{padding-block:3.5rem}}
@media(max-width:520px){.site-header .header-inner{flex-wrap:wrap;gap:.7rem;padding-block:1rem}.site-header .header-inner nav{width:100%;justify-content:space-between;gap:.6rem}.site-header .header-inner nav>a:not(.header-cta){display:inline-flex!important}.site-header .header-inner nav .header-cta{font-size:.72rem}.mounting-grid>a{padding:1.5rem 1rem}.mounting-grid h3{font-size:1.3rem}.mounting-number{margin-bottom:1.3rem}.product-facts .story-specs dl,.calculator-fields{grid-template-columns:1fr}.calculator-fields .wide{grid-column:auto}.calculator-result{padding:1.5rem}.roi-callout .button{width:100%;font-size:.9rem}}
.mounting-illustration{width:100%;max-width:240px;margin:-.7rem 0 1.5rem;color:var(--forest)}
.mounting-illustration svg{display:block;width:100%;height:auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}
.mounting-illustration rect{fill:#e6ece3}.mounting-illustration .air-line{stroke:#759b88;stroke-dasharray:4 4}
.calculator-fields input:disabled{background:#edf1ea;border-color:#d5ddd0;color:#647464}
.calculator-fields label:has(input:disabled){color:#647464}
.calculator-result .result-source{font-size:.8rem;color:#d8e7d6;line-height:1.5}
.calculator-result [data-result=sensitivity]{font-size:.95rem;line-height:1.65}
.knowledge-topics{display:flex;flex-wrap:wrap;gap:.2rem 1.5rem;margin-top:1.6rem;padding-top:1rem;border-top:1px solid var(--line)}
.knowledge-topics a{display:inline-flex;align-items:center;min-height:44px;font-size:.9rem;color:var(--forest);text-underline-offset:.25em}
.controls-sensor-strip .sensor-state{font-size:.875rem;padding:.8rem}.controls-sensor-strip .sensor-state b{font-size:.875rem}.controls-sensor-strip .sensor-state small{font-size:.8rem}
.controls-compatibility .controls-hw-profiles,.controls-compatibility .controls-compatibility-note{font-size:.875rem;line-height:1.6}

.controls-media-choice[aria-pressed=true]{background:var(--soft);color:var(--forest);border-color:var(--forest)}

/* Heat recovery: text and simple symbols, without a product diagram. */
.recovery-explainer{display:grid;gap:2.2rem;align-self:center;padding:2rem 0}
.recovery-explainer article{display:grid;grid-template-columns:2.4rem 1fr;gap:1.5rem;align-items:start}
.recovery-explainer svg{width:2.4rem;height:2.4rem;fill:none;stroke:var(--green,#294b39);stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
.recovery-explainer h3{margin:0 0 .65rem;font-size:clamp(1.15rem,1.7vw,1.5rem);font-weight:500;letter-spacing:-.025em}
.recovery-explainer p{margin:0;max-width:42ch;color:var(--muted);line-height:1.7}
@media(max-width:650px){.recovery-explainer{padding:0;gap:1.8rem}.recovery-explainer article{gap:1rem}}

/* Short editorial copy: natural wrapping, no stranded introductory word. */
.mounting-intro .section-heading{max-width:960px}
.mounting-intro .section-heading>p:last-child{max-width:64ch;text-wrap:pretty}
.sales-section p,.section-heading>p{ text-wrap:pretty }

/* Approved October 6 imagery: generous pictures alongside concise copy. */
.building-with-image{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:center;gap:clamp(2rem,5vw,5rem)}
.building-copy>p:last-child{max-width:36rem;margin:1.5rem 0 0;color:var(--muted);font-size:1.08rem}
.approved-scene{margin:0;min-width:0;overflow:hidden;border-radius:12px}
.approved-scene img{display:block;width:100%;height:auto;aspect-ratio:1672/941;object-fit:cover}
.everyday-scene{margin-top:2rem}
.everyday-grid{align-items:center;gap:clamp(2rem,6vw,6rem)}
@media(max-width:760px){.building-with-image{grid-template-columns:1fr}.building-with-image .approved-scene{margin-top:.5rem}.everyday-scene{margin-top:1.5rem}}

/* Full-width mounting strip: each route uses the same compact technical grammar. */
.mounting-grid{align-items:stretch}
.mounting-grid>.mounting-card{min-height:25rem;isolation:isolate}
.mounting-grid>.mounting-card .mounting-illustration{flex:none;min-height:5.4rem;display:flex;align-items:center}
.mounting-grid>.mounting-card .mounting-illustration svg{max-height:5.4rem}
.mounting-grid>.mounting-card .mounting-illustration--photo{display:flex;align-items:center;justify-content:center;width:100%;height:clamp(160px,16vw,210px);min-height:0;max-width:none;margin:-.35rem 0 1rem}
.mounting-grid>.mounting-card .mounting-illustration--photo img{display:block;width:100%;height:100%;object-fit:contain}
.mounting-grid>.mounting-card h3{margin-top:.15rem}
.mounting-grid>.mounting-card .mounting-cta{padding-top:1.25rem}

/* Energy follows the recovery explanation as one compact chapter, with #energie retained for links. */
.recovery-energy{padding:0;background:transparent}
.recovery-energy-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(2.5rem,7vw,6rem);padding:clamp(2rem,4vw,3.5rem);background:var(--forest);color:var(--paper)}
@media(max-width:1000px){.recovery-energy-grid{gap:3rem}.mounting-grid>.mounting-card{min-height:22rem}}
@media(max-width:760px){.recovery-energy-grid{grid-template-columns:1fr;gap:2rem;padding:1.5rem}.mounting-grid>.mounting-card{min-height:0}.mounting-grid>.mounting-card .mounting-illustration{min-height:4.5rem}}
@media(max-width:760px){.mounting-grid>.mounting-card .mounting-illustration--photo{height:220px}}

/* One recovery chapter: its compact energy line is an endpoint, not a second pitch. */
.story-recovery .recovery-energy{margin-top:clamp(3rem,7vw,6rem);padding:0;background:transparent}
.story-recovery .recovery-energy-grid{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:clamp(1.5rem,5vw,4rem);padding:clamp(1.5rem,3vw,2.5rem);background:var(--forest);color:var(--paper)}
.recovery-energy-grid>p{max-width:56ch;margin:0;font-size:clamp(1.05rem,1.7vw,1.35rem);line-height:1.5;letter-spacing:-.015em}
.recovery-energy-grid .quiet-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;color:#d8e7d6;font-size:.86rem;font-weight:500;text-align:center;text-underline-offset:.28em}
.recovery-energy-grid .quiet-link:focus-visible{outline:2px solid #fff;outline-offset:5px;border-radius:3px}

/* Neubau and Bestand receive equal decision space, with the planning checklist kept secondary. */
.renovation-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,6vw,6rem)}
.renovation-grid .project-card{display:flex;min-height:100%;flex-direction:column;padding:clamp(1.5rem,3vw,2.4rem);border-top:1px solid var(--line);background:var(--soft)}
.renovation-grid .project-card>p:not(.eyebrow){max-width:55ch;margin:.1rem 0 1.4rem;color:var(--muted);font-size:.98rem}
.project-card-points{display:flex;flex-wrap:wrap;gap:.55rem;margin:0 0 1.35rem;padding:0;list-style:none}
.project-card-points li{padding:.38rem .6rem;border:1px solid #c7d3c5;border-radius:999px;color:#46604f;font-size:.78rem;line-height:1.25}
.renovation-grid .project-card>a{margin-top:auto}
@media(max-width:760px){.story-recovery .recovery-energy{margin-top:2.5rem}.story-recovery .recovery-energy-grid{grid-template-columns:1fr;gap:1.15rem;padding:1.5rem}.recovery-energy-grid .quiet-link{justify-content:flex-start;text-align:left}.renovation-grid{grid-template-columns:1fr;gap:1.25rem}.renovation-grid .project-card{padding:1.5rem}}

/* The building chapter explains the planning work on-page; sources stay secondary. */
.building-education{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.25rem,4vw,3.5rem);margin-top:clamp(2.5rem,5vw,4rem);padding-top:clamp(1.5rem,3vw,2.5rem);border-top:1px solid #bfccbc}
.building-education-card{display:flex;min-width:0;flex-direction:column;padding:0}
.building-education-card h3{max-width:28ch;margin:0 0 .7rem;font-size:clamp(1.15rem,1.7vw,1.45rem)}
.building-education-card>p{max-width:50ch;margin:0;color:var(--muted);font-size:.95rem}
.building-education-points{display:grid;gap:.55rem;margin:1.1rem 0 0;padding:0;list-style:none}
.building-education-points li{position:relative;padding-left:1rem;color:#55705d;font-size:.82rem;line-height:1.5}
.building-education-points li::before{content:"";position:absolute;top:.68em;left:0;width:4px;height:4px;border-radius:50%;background:var(--forest)}
.building-education-source{display:inline-flex;align-items:center;min-height:40px;width:fit-content;margin-top:1rem;color:var(--forest);font-size:.78rem;text-underline-offset:.25em}
.building-education-source:focus-visible{outline:2px solid var(--forest);outline-offset:4px;border-radius:3px}
.building-education-action{margin:1.7rem 0 0}.building-education-action .button{width:fit-content}
@media(max-width:760px){.building-education{grid-template-columns:1fr;gap:1.75rem;margin-top:2.5rem}.building-education-card h3{max-width:none}.building-education-action .button{width:100%;justify-content:center}}

/* A quiet editorial invitation between the current device chooser and the longer page story. */
.social-row{padding:clamp(1.5rem,3vw,2.5rem) 0;border-block:1px solid var(--line);background:#f8faf7}
.social-row__inner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1.5rem 3rem}
.social-row__copy h2{margin:0;font-size:clamp(1.25rem,2vw,1.65rem);font-weight:500;letter-spacing:-.03em;line-height:1.2}
.social-row__copy p{max-width:55ch;margin:.45rem 0 0;color:var(--muted);font-size:.92rem;line-height:1.55}
.social-row__links{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem}
.social-row__link{display:inline-flex;align-items:center;gap:.48rem;min-height:44px;padding:.55rem .85rem;border:1px solid #9ab7a1;border-radius:999px;background:#fff;color:var(--forest);font-size:.84rem;font-weight:600;text-decoration:none;text-underline-offset:.24em;transition:background .2s ease,color .2s ease,border-color .2s ease}
.social-row__link svg{width:18px;height:18px;flex:none;fill:currentColor}
.social-row__link:hover{border-color:var(--forest);background:var(--forest);color:#fff;text-decoration:none}.social-row__link:focus-visible{outline:2px solid var(--forest);outline-offset:3px}
.devices-catalog-action{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.65rem 1.25rem}
.devices-catalog-action .quiet-link{display:inline-flex;min-height:44px;align-items:center}
@media(max-width:560px){.devices-catalog-action{justify-content:flex-start;text-align:left}}
@media(max-width:760px){.social-row__inner{grid-template-columns:1fr;gap:1rem}.social-row__links{margin-left:-.65rem}.social-row__link{padding-block:.7rem}}

@media(max-width:560px){.mounting-grid{grid-template-columns:1fr}.mounting-grid>.mounting-card:nth-child(n){padding-inline:1rem;border-right:0}.mounting-grid>.mounting-card+.mounting-card{border-top:1px solid var(--line)}}


/* recovery-explainer.css */
.story-recovery{background:#f5f7f3;padding-block:clamp(3rem,5vw,4rem)}
.recovery-layout{max-width:1180px;margin-inline:auto}
.recovery-lead{max-width:1000px;margin-inline:auto;text-align:center}
.recovery-lead h2{margin:.3rem 0 .8rem;font-size:clamp(2.1rem,4vw,3.5rem);line-height:1;letter-spacing:-.055em}
.recovery-lead>p:last-child{margin:0;color:var(--muted,#52675a);font-size:clamp(1rem,1.55vw,1.2rem);line-height:1.65}
.recovery-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:2rem 0 0;padding:0;list-style:none;background:#d7e0d8;border:1px solid #d7e0d8;counter-reset:recovery-step}
.recovery-steps li{min-height:0;padding:clamp(1.25rem,2vw,1.5rem);background:#fff;counter-increment:recovery-step}
.recovery-steps li::before{content:'0' counter(recovery-step);display:block;margin-bottom:.85rem;color:#69806e;font-size:.75rem;font-weight:700;letter-spacing:.12em}
.recovery-steps h3,.recovery-note h3{margin:0 0 .55rem;color:#263b30;font-size:clamp(1.1rem,1.7vw,1.4rem);letter-spacing:-.025em}
.recovery-steps p,.recovery-note p{margin:0;color:#52675a;line-height:1.58}
.recovery-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:1px;background:#d7e0d8}
.recovery-note{padding:1.3rem;border-top:3px solid #cf916e;background:#fff7f1}
.recovery-note--cool{border-color:#6f9aaa;background:#f0f6f7}
.recovery-note--cool h3{color:#315665}
.story-recovery .recovery-energy{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:1.5rem;align-items:center;margin-top:1px;padding:1rem clamp(1.25rem,3vw,2rem);background:#223d31;color:#f7faf5;text-align:left}
.recovery-energy h3{margin:0 0 .25rem;font-size:clamp(1.2rem,2vw,1.55rem);letter-spacing:-.035em}
.recovery-energy p{max-width:760px;margin:0;color:#d8e7d6;font-size:.95rem;line-height:1.45}
.recovery-energy .button{grid-column:2;grid-row:1 / span 2;display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin:0;padding:.72rem 1rem;border:1px solid #d8e7d6;color:#fff;text-decoration:none}
.recovery-energy .button:focus-visible{outline:3px solid #427754;outline-offset:-3px}
@media(max-width:700px){.story-recovery{padding-block:3rem}.recovery-layout{width:100%;padding-inline:16px}.recovery-steps,.recovery-notes{grid-template-columns:1fr}.recovery-steps li{min-height:0;padding:1.4rem}.story-recovery .recovery-energy{display:block;margin-inline:-16px;padding:1.4rem 1rem;text-align:center}.recovery-energy h3{margin-bottom:.55rem}.recovery-energy .button{margin-top:1rem}}


/* text-reveal.css */
/* Reveal sharpness only; components retain control of their visibility. */
[data-text-reveal]{filter:none;transition:filter 360ms cubic-bezier(.22,1,.36,1)}
[data-text-reveal].text-reveal-active{filter:blur(calc(4px * (1 - var(--text-reveal,1))))}
[data-text-reveal]:focus-within,[data-text-reveal]:hover{filter:none!important}
@media(prefers-reduced-motion:reduce){[data-text-reveal]{filter:none!important;transition:none!important}}
@media print{[data-text-reveal]{filter:none!important}}


/* contact-dialog.css */
html.contact-modal-open{overflow:hidden}
.contact-dialog{box-sizing:border-box;width:min(720px,calc(100% - 40px));max-height:calc(100dvh - 48px);padding:clamp(24px,4vw,44px);border:1px solid #dce3dc;border-radius:16px;background:#f5f7f3;color:#173b2c;box-shadow:0 24px 90px #102b2540;overflow:auto}
.contact-dialog::backdrop{background:#15251f70;backdrop-filter:blur(6px)}
.contact-dialog *{box-sizing:border-box}
.contact-dialog-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}
.contact-dialog-brand{font-size:1.05rem;font-weight:600}
.contact-close{display:grid;place-items:center;width:44px;height:44px;border:0;background:transparent;color:inherit;font-size:2rem;cursor:pointer;border-radius:50%}
.contact-dialog h2{font-size:clamp(1.75rem,3vw,2.4rem);line-height:1.12;letter-spacing:-.04em;margin:0 0 10px}
.contact-dialog-intro{color:#59685f;margin:0 0 24px}
.contact-audience{display:grid;grid-template-columns:1fr 1fr;border:1px solid #bbc9bf;border-radius:10px;padding:4px;gap:4px;margin:0 0 24px}
.contact-audience label{position:relative;display:grid;place-items:center;min-height:44px;cursor:pointer}
.contact-audience input{position:absolute;opacity:0;width:1px;height:1px}
.contact-audience span{display:grid;place-items:center;width:100%;height:100%;min-height:44px;border-radius:7px}
.contact-audience input:checked+span{background:#173b2c;color:#fff}
.contact-audience input:focus-visible+span{outline:2px solid #173b2c;outline-offset:3px}
.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}
.contact-field{display:flex;flex-direction:column;gap:7px;font-size:.9rem;font-weight:500}
.contact-field-wide{grid-column:1/-1}
.contact-field input,.contact-field textarea{width:100%;min-width:0;border:1px solid #b9c6bc;border-radius:8px;padding:12px 14px;background:#fff8;color:#173b2c;font:inherit;font-weight:400;min-height:48px}
.contact-field textarea{min-height:112px;resize:vertical}
.contact-dialog :focus-visible{outline:2px solid #2a6b4c;outline-offset:3px}
.contact-privacy{font-size:.75rem;color:#59685f;line-height:1.5;margin:18px 0}
.contact-submit{width:100%;min-height:48px;background:#173b2c;color:#fff;border:0;border-radius:9px;font:inherit;cursor:pointer}
.contact-submit:hover{background:#294e3b}
.contact-mail-note,.contact-status{font-size:.75rem;line-height:1.5;color:#59685f;text-align:center;margin:10px 0 0}
.contact-status:empty{display:none}
@media(max-width:600px){.contact-dialog{width:100%;max-width:none;height:100dvh;max-height:100dvh;margin:0;border:0;border-radius:0;padding:20px 24px;padding-bottom:max(24px,env(safe-area-inset-bottom))}.contact-fields{grid-template-columns:1fr;gap:15px}.contact-dialog h2{max-width:330px;font-size:2rem}.contact-dialog-top{margin-bottom:22px}.contact-dialog-intro{font-size:.95rem}.contact-field textarea{min-height:104px}}


/* online-featured.css */
#online-featured{background:#f5f7f3;color:#25282a;padding:48px 32px 28px;font-family:Manrope,system-ui,sans-serif}
#online-featured .online-featured__inner{max-width:1200px;margin:auto}
#online-featured .online-featured__layout{position:relative}
#online-featured .online-featured__nav{position:absolute;left:0;top:20px;width:160px;z-index:1}
#online-featured[data-online-featured-audience="zuhause"] [data-featured-nav="gewerbe"],#online-featured[data-online-featured-audience="gewerbe"] [data-featured-nav="zuhause"],#online-featured:not([data-online-featured-audience]) [data-featured-nav="gewerbe"]{display:none}
#online-featured .online-featured__nav-label{margin:0 0 10px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#69736d}
#online-featured .online-featured__nav-label:nth-of-type(2){margin-top:30px}
#online-featured .online-featured__nav-group{display:grid;gap:8px}
#online-featured .online-featured__nav button{display:block;width:100%;min-height:44px;padding:4px 12px;border:0;border-left:1px solid transparent;background:transparent;color:#56615b;font:400 16px/1.3 Manrope,system-ui,sans-serif;text-align:left;cursor:pointer}
#online-featured .online-featured__nav button small{display:block;font-size:12px;margin-top:4px;color:#738078}
#online-featured .online-featured__nav button:hover{color:#25282a}
#online-featured .online-featured__nav button[aria-pressed="true"]{border-left-color:#25282a;color:#25282a}
#online-featured .online-featured__nav button:focus-visible{outline:2px solid #25282a;outline-offset:2px}
#online-featured .online-featured__content{min-width:0}
#online-featured h2{height:36px;margin:0 0 8px;font-size:clamp(23px,2.2vw,30px);font-weight:400;letter-spacing:-.03em;line-height:1.2}
#online-featured #online-featured-subtitle{height:48px;margin:0;font-size:17px;font-weight:400;line-height:1.4;color:#56615b}
#online-featured .online-featured__stage{height:440px;width:100%;margin:0;display:flex;align-items:center;justify-content:center;overflow:hidden;padding-left:0}
#online-featured #online-featured-image{display:block;width:100%;height:100%;max-width:660px;max-height:420px;object-fit:contain;mix-blend-mode:multiply}
#online-featured[data-online-featured-series="CS"] #online-featured-image,#online-featured[data-online-featured-series="F"] #online-featured-image{width:min(590px,100%);height:auto;max-height:none;flex-shrink:0}
#online-featured dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0}
#online-featured dl>div{height:110px;padding:16px 8px;text-align:center}
#online-featured dl>div+div{border-left:1px solid #dbe2dc}
#online-featured #online-featured-price dt{color:#1f4938;font-weight:400}
#online-featured dt{font-size:18px;font-weight:500;line-height:1.4;margin:0;white-space:nowrap}
#online-featured dd{font-size:13px;font-weight:400;line-height:1.4;color:#56615b;margin:4px 0 0}
#online-featured .online-featured__action{text-align:center;margin-top:8px}
#online-featured #online-featured-link{display:inline-flex;min-height:44px;align-items:center;color:#1f4938;font-size:14px;font-weight:400;text-decoration:underline;text-underline-offset:4px}
#online-featured #online-featured-link:focus-visible{outline:2px solid #25282a;outline-offset:4px}
@media(max-width:760px){
 #online-featured{padding:28px 16px 20px}
 #online-featured .online-featured__layout{display:block}
 #online-featured .online-featured__nav{position:static;width:100%;display:flex;align-items:flex-start;gap:10px;overflow-x:auto;padding:0 0 14px;scrollbar-width:none}
 #online-featured .online-featured__nav::-webkit-scrollbar{display:none}
 #online-featured .online-featured__nav-label{flex:0 0 auto;margin:7px 0 0;font-size:10px}
 #online-featured .online-featured__nav-label:nth-of-type(2){margin:7px 0 0 12px}
 #online-featured .online-featured__nav-group{display:flex;flex:0 0 auto;gap:2px}
 #online-featured .online-featured__nav button{width:auto;padding:6px 9px;border:0;border-bottom:1px solid transparent;white-space:nowrap;font-size:12px;text-align:center}
 #online-featured .online-featured__nav button[aria-pressed="true"]{border-bottom-color:#25282a}
 #online-featured h2{height:30px;font-size:23px}
 #online-featured #online-featured-subtitle{height:42px;font-size:15px}
 #online-featured .online-featured__stage{height:280px;padding-left:0}
 #online-featured #online-featured-image{max-height:270px}
 #online-featured dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
 #online-featured dl>div{height:122px;min-height:122px;padding:12px 2px}
 #online-featured dt{font-size:14px;white-space:normal}
 #online-featured dd{font-size:12px}
 #online-featured .online-featured__action{text-align:center}
}

/* Comparable visual weight with preserved device proportions. */
#online-featured[data-online-featured-series="CFA-C"][data-online-featured-audience="zuhause"] #online-featured-image{max-height:330px}
@media(min-width:761px) and (max-width:980px){
 #online-featured .online-featured__nav{position:static;width:100%;margin-bottom:18px}
 #online-featured .online-featured__nav-group{display:flex;overflow-x:auto;gap:8px;scrollbar-width:none}
 #online-featured .online-featured__nav button{flex:0 0 auto;width:auto;border-left:0;border-bottom:1px solid transparent;padding:6px 12px}
 #online-featured .online-featured__nav button[aria-pressed="true"]{border-bottom-color:#25282a}
}
@media(max-width:760px){
 #online-featured[data-online-featured-series="CFA-C"][data-online-featured-audience="zuhause"] #online-featured-image{max-height:230px}
}

/* Keep motion frames from widening very narrow screens. */
@media(max-width:360px){#online-featured{overflow-x:clip}}


/* hero-portfolio.css */
/* Approved portfolio hero: original photographs and heading, shared geometry. */
.hero .hero-copy{--hero-subtitle-font-size:clamp(1rem,1.7vw,1.28rem);--hero-subtitle-line-height:1.55;--hero-subtitle-lines:2;--hero-subtitle-row:calc(var(--hero-subtitle-font-size) * var(--hero-subtitle-line-height) * var(--hero-subtitle-lines));display:grid;grid-template-rows:auto auto var(--hero-subtitle-row) 84px 62px;row-gap:18px;align-content:start}
.hero .eyebrow{margin:0;white-space:nowrap}
.hero h1{margin:0;min-height:2.08em}
.hero h1 span{white-space:nowrap}
.hero .hero-subtitle{min-height:0;margin:0;max-width:720px;font-size:var(--hero-subtitle-font-size);font-weight:400;line-height:var(--hero-subtitle-line-height)}
.hero .hero-subtitle span{display:block}
.hero .hero-performance{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin:0;max-width:650px;height:84px;min-height:84px}
.hero .hero-performance>div{min-width:0;height:84px;display:flex;flex-direction:column-reverse;justify-content:flex-end;gap:4px}
.hero .hero-performance>div+div{border-left:1px solid #bdc9c0;padding-left:28px}
.hero .hero-performance dd{font-size:clamp(19px,2.05vw,27px);font-weight:400;letter-spacing:-.04em;line-height:1.3;white-space:nowrap}
.hero .hero-performance dt{display:flex;flex-direction:column;gap:2px;font-size:13px;font-weight:400;line-height:1.25;color:#637069;min-height:0;white-space:nowrap}
.hero .hero-performance small{font-size:.86em;line-height:1.25;color:#637069;white-space:nowrap}
.hero .hero-entry-price{height:62px;margin:0;color:#315441;display:flex;flex-direction:column;justify-content:flex-start;font-weight:400}
.hero .hero-entry-price__value{font-size:clamp(30px,3vw,36px);font-weight:400;letter-spacing:-.045em;line-height:1.1;font-variant-numeric:tabular-nums;white-space:nowrap}
.hero .hero-entry-price__caption{margin-top:4px;color:#637069;font-size:12px;font-weight:400;line-height:1.3;white-space:nowrap}
.hero h1{font-weight:400}
.hero .hero-inner{height:clamp(620px,calc(100svh - 80px),760px)}
@media(max-width:760px){
 .hero,.hero .hero-inner{height:690px;min-height:690px}
 .hero .hero-copy{--hero-subtitle-font-size:clamp(12px,3.6vw,15px);--hero-subtitle-lines:4;grid-template-rows:auto auto var(--hero-subtitle-row) 80px 66px;row-gap:16px}
 .hero .eyebrow{font-size:clamp(8px,2.25vw,11px)}
 .hero .hero-subtitle{min-height:0;max-width:350px}
 .hero .hero-performance{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin:0;min-height:80px;height:80px;width:100%}
 .hero .hero-performance>div{height:80px}
 .hero .hero-performance>div+div{padding-left:16px}
 .hero .hero-performance dd{font-size:clamp(13px,3.7vw,20px);white-space:nowrap;min-height:0}
 .hero .hero-performance dt{font-size:clamp(9px,2.6vw,11px)}
 .hero .hero-entry-price{height:66px;margin-top:0}
 .hero .hero-entry-price__value{font-size:24px}
 .hero .hero-entry-price__caption{font-size:11px;white-space:nowrap;min-height:0;max-width:100%}
 .hero .hero-media{top:auto;bottom:0;height:300px;background:#e5ece3}
 .hero .hero-image{object-fit:contain;object-position:center bottom}
 .hero .hero-media::after{background:linear-gradient(180deg,#f5f7f3 0%,rgba(245,247,243,.15) 30%,transparent 65%)}
}


/* audience-transition.css */
/* Compact handoff from the photographic hero into the audience-specific assortment. */
.hero-media::before{content:"";position:absolute;right:0;bottom:0;left:0;height:88px;z-index:2;background:linear-gradient(180deg,rgba(245,247,243,0),#f5f7f3);pointer-events:none}
.audience-transition{height:auto;min-height:150px;padding:16px 24px;background:#f5f7f3;display:flex;align-items:center;justify-content:center}
.audience-transition__inner{display:flex;flex-direction:column;align-items:center;gap:16px;width:100%}
.audience-transition__label{margin:0;color:#637069;font-size:11px;font-weight:400;letter-spacing:.12em;line-height:1.2;text-transform:uppercase;white-space:nowrap}
.audience-transition__helper{max-width:56ch;margin:-8px 0 0;color:#637069;font-size:.82rem;line-height:1.45;text-align:center}
.audience-transition .audience-controls{display:flex;justify-content:center;width:100%}
.audience-transition .audience-switch{display:flex;width:min(260px,100%);height:52px;padding:3px;gap:2px;border:1px solid #bdc9c0;border-radius:999px;background:rgba(255,255,255,.94);box-shadow:0 2px 8px rgba(31,73,56,.08)}
.audience-transition .audience-switch button{position:relative;flex:1;min-width:0;min-height:44px;padding:.45rem .7rem;border:0;border-radius:999px;background:transparent;color:#637069;font-size:.8rem;font-weight:500;line-height:1.2;white-space:nowrap}
.audience-transition .audience-switch button[aria-pressed="true"]{color:#fff;background:#315441;box-shadow:inset 0 0 0 1px #244332,0 2px 6px rgba(31,73,56,.2)}
.audience-transition .audience-switch button[aria-pressed="true"]::after{content:"";position:absolute;left:50%;bottom:3px;width:4px;height:4px;border-radius:50%;background:#5f8b6f;transform:translateX(-50%)}
#online-featured .online-featured__audience{height:18px;margin:0 0 4px;color:#315441;font-size:11px;font-weight:400;letter-spacing:.12em;line-height:18px;text-transform:uppercase;white-space:nowrap}
@media(max-width:760px){
 .hero-media::before{height:78px}
 .audience-transition{height:auto;min-height:150px;padding:16px}
 .audience-transition__label{font-size:10px;letter-spacing:.1em}
 .audience-transition .audience-switch button{padding-inline:.55rem;font-size:.78rem}
}


/* f-scroll-motion.css */
/* F-series frame overlay for the existing online-featured stage. */
#online-featured .online-featured__stage{position:relative}
#online-featured #f-scroll-motion-frame{position:absolute;inset:0;z-index:2;display:block;width:100%;height:100%;object-fit:contain;transform:translateX(-1%) scale(1.12);transform-origin:center;opacity:0;pointer-events:none;mix-blend-mode:multiply}
#online-featured[data-online-featured-series="F"][data-online-featured-audience="zuhause"][data-f-motion-ready="true"] #online-featured-image,#online-featured[data-online-featured-series="V"][data-online-featured-audience="zuhause"][data-v-motion-ready="true"] #online-featured-image{opacity:0}
#online-featured[data-online-featured-series="F"][data-f-motion-ready="true"] #f-scroll-motion-frame{opacity:1}
#online-featured[data-online-featured-series="V"][data-v-motion-ready="true"] #v-scroll-motion-frame{opacity:1}
#online-featured #v-scroll-motion-frame{position:absolute;inset:0;z-index:2;display:block;width:100%;height:100%;object-fit:contain;transform:scale(1.4);transform-origin:center;opacity:0;pointer-events:none;mix-blend-mode:multiply}

@media(max-width:400px){
 #online-featured #v-scroll-motion-frame{transform:scale(1.3)}
}

#online-featured .series-scroll-motion-frame{position:absolute;inset:0;z-index:2;display:block;width:100%;height:100%;object-fit:contain;transform:scale(1.12);transform-origin:center;opacity:0;pointer-events:none;mix-blend-mode:multiply}
#online-featured[data-online-featured-series="CS"][data-online-featured-audience="zuhause"][data-cs-home-motion-ready="true"] #csHome-scroll-motion-frame{opacity:1}
#online-featured[data-online-featured-series="CS"][data-online-featured-audience="zuhause"][data-cs-home-motion-ready="true"] #online-featured-image{opacity:0}
#online-featured[data-online-featured-series="CS"][data-online-featured-audience="gewerbe"][data-cs-business-motion-ready="true"] #csBusiness-scroll-motion-frame{opacity:1}
#online-featured[data-online-featured-series="CS"][data-online-featured-audience="gewerbe"][data-cs-business-motion-ready="true"] #online-featured-image{opacity:0}
#online-featured[data-online-featured-series="W"][data-online-featured-audience="zuhause"][data-w-home-motion-ready="true"] #wHome-scroll-motion-frame{opacity:1}
#online-featured[data-online-featured-series="W"][data-online-featured-audience="zuhause"][data-w-home-motion-ready="true"] #online-featured-image{opacity:0}
#online-featured[data-online-featured-series="W"][data-online-featured-audience="gewerbe"][data-w-business-motion-ready="true"] #wBusiness-scroll-motion-frame{opacity:1}
#online-featured[data-online-featured-series="W"][data-online-featured-audience="gewerbe"][data-w-business-motion-ready="true"] #online-featured-image{opacity:0}
#online-featured[data-online-featured-series="TP"][data-tp-motion-ready="true"] #tp-scroll-motion-frame{opacity:1}
#online-featured[data-online-featured-series="TP"][data-tp-motion-ready="true"] #online-featured-image{opacity:0}
@media(max-width:400px){#online-featured #tp-scroll-motion-frame{transform:translateX(18px) scale(1.3)}}

#online-featured #csHome-scroll-motion-frame{transform:translateY(12px) scale(1.12)}
#online-featured #csBusiness-scroll-motion-frame{transform:scale(1.24)}
@media(max-width:400px){#online-featured #wHome-scroll-motion-frame,#online-featured #wBusiness-scroll-motion-frame{transform:scale(1.08)}}

#online-featured[data-online-featured-series="CFA-C"][data-online-featured-audience="zuhause"][data-cfa-home-motion-ready="true"] #cfaHome-scroll-motion-frame{opacity:1}
#online-featured[data-online-featured-series="CFA-C"][data-online-featured-audience="zuhause"][data-cfa-home-motion-ready="true"] #online-featured-image{opacity:0}

#online-featured[data-online-featured-series="CFA-C"][data-online-featured-audience="gewerbe"][data-cfa-business-motion-ready="true"] #cfaBusiness-scroll-motion-frame{opacity:1}
#online-featured[data-online-featured-series="CFA-C"][data-online-featured-audience="gewerbe"][data-cfa-business-motion-ready="true"] #online-featured-image{opacity:0}
#online-featured #cfaHome-scroll-motion-frame{transform:scale(1.55)}
#online-featured #cfaBusiness-scroll-motion-frame{transform:scale(1.18)}
@media(max-width:400px){#online-featured #cfaHome-scroll-motion-frame{transform:scale(1.35)}}


/* homepage-polish.css */
/* Local owner feedback: controls integration and a useful catalog entry. */
.controls-compact .controls-heading>p{max-width:920px;margin-inline:auto;line-height:1.65}
.controls-integration{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:2rem 4rem;margin-top:2.5rem;padding:2rem 0;border-top:1px solid var(--line)}
.controls-integration h3{margin:0;font-size:clamp(1.4rem,2.2vw,2rem);line-height:1.2;letter-spacing:-.025em}
.controls-integration p{margin:0 0 1rem;line-height:1.65;color:var(--muted)}
.controls-integration .quiet-link{display:inline-flex;align-items:center;gap:.5rem;min-height:44px}
.devices-quiet .section-heading{margin-bottom:2rem}
.device-entry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}
.device-entry-card{display:grid;grid-template-rows:auto auto 1fr auto;min-width:0;color:var(--ink);text-decoration:none;padding:0 0 1.2rem;border-bottom:1px solid var(--line)}
.device-entry-card figure{margin:0 0 1.4rem;background:#eaf0e8;display:flex;flex-direction:column;min-width:0}
.device-entry-card img{display:block;width:100%;height:230px;padding:1rem;object-fit:contain}
.device-entry-card figcaption{padding:.2rem .8rem .8rem;color:var(--muted);font-size:.7rem;line-height:1.4}
.device-entry-card h3{font-size:clamp(1.3rem,2vw,1.8rem);letter-spacing:-.025em;line-height:1.2;margin:0 0 .8rem}
.device-entry-card>p{margin:0 0 1.3rem;color:var(--muted);font-size:.95rem;line-height:1.65}
.device-entry-action{display:flex;align-items:center;justify-content:space-between;gap:.6rem;min-height:44px;font-size:.84rem;font-weight:600;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#809f8b}
.device-entry-card:hover .device-entry-action{text-decoration-color:currentColor}
.device-entry-card:focus-visible{outline:3px solid var(--forest);outline-offset:7px}
.devices-catalog-action{margin:1.5rem 0 0}
.devices-catalog-action .quiet-link{display:inline-flex;gap:.5rem;align-items:center;min-height:44px}
.filtration-intro{max-width:920px;margin:0 auto 1.25rem;font-size:1rem;line-height:1.65;color:var(--muted)}
.filter-standard-note{max-width:960px;margin:1.5rem auto 0;padding-top:1.2rem;border-top:1px solid var(--line);font-size:.8rem;line-height:1.6;color:var(--muted)}
@media(max-width:900px){.device-entry-grid{gap:1.25rem}.device-entry-card img{height:190px}.controls-integration{gap:1.5rem 2rem}}
@media(max-width:700px){.device-entry-grid{grid-template-columns:1fr;gap:2rem}.device-entry-card img{height:220px}.controls-integration{grid-template-columns:1fr;gap:1rem;padding-block:1.5rem}.filtration-intro{font-size:.93rem}.filter-standard-note{margin-inline:1.25rem}.device-entry-card h3{font-size:1.55rem}}


/* presentation-polish.css */
/* Mobile navigation keeps the same destinations with comfortable touch targets. */
@media(max-width:600px){
 .site-header .header-inner{position:relative;height:auto;min-height:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:4px;padding-block:8px}
 .site-header .header-inner .brand{min-height:44px;align-self:flex-start}
 .site-header .header-inner nav{position:static;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);width:100%;gap:4px;margin:0}
 .site-header .header-inner nav>a:not(.header-cta){display:inline-flex!important;align-items:center;justify-content:center;min-height:44px;min-width:0;padding:4px;font-size:13px;line-height:1.25;text-align:center;white-space:normal}
 .site-header .header-inner nav .header-cta{position:absolute;right:0;top:8px;display:inline-flex;min-height:44px;max-width:calc(100% - 142px);margin:0;padding:8px 10px;font-size:12px;line-height:1.25;text-align:center;white-space:normal}
 .site-header .header-inner nav .header-cta::before{content:none}
 .site-header .header-inner nav .header-cta span{display:none}
 input,select,textarea{font-size:16px}
 button,a,input,select,textarea{-webkit-tap-highlight-color:rgba(47,89,64,.16)}
 .contact-dialog .contact-field input,.contact-dialog .contact-field textarea{font-size:16px}
 .controls-lineup figcaption{hyphens:auto;overflow-wrap:anywhere}
 .catalog-filters{flex-wrap:wrap;overflow:visible}
 .detail-toolbar .model-picker{width:100%;max-width:100%;min-width:0}
 .detail-toolbar .model-picker select{width:100%;max-width:100%;min-width:0}
 .detail-section-nav{flex-wrap:wrap;overflow:visible}
}
/* Preserve short device facts when a visitor increases text size. */
@media(max-width:760px){
 #online-featured h2,#online-featured #online-featured-subtitle{height:auto;min-height:30px}
 #online-featured #online-featured-subtitle{margin-bottom:14px;min-height:42px}
 #online-featured dl>div{height:auto;min-height:110px;overflow-wrap:anywhere}
 #online-featured .online-featured__nav{display:block;overflow:visible;padding-bottom:16px}
 #online-featured .online-featured__nav-group{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
 #online-featured .online-featured__nav button{width:100%;min-height:52px;padding:6px;white-space:normal}
 #online-featured .online-featured__nav button small{font-size:11px}
}

/* Final homepage-only responsive layer: resolve the established component
   breakpoints without changing approved content, imagery, or page behavior. */
body{font-size:16px}

/* Keep text visible as each chapter enters the viewport. */
@media(max-width:1180px),(any-pointer:coarse){[data-text-reveal].text-reveal-active{filter:none!important;transition:none!important}}

/* The family chooser becomes a visible, stable control strip before the
   former sidebar can squeeze the product stage. */
@media(max-width:1180px){
 #online-featured .online-featured__layout{display:block}
 #online-featured .online-featured__nav{position:static;display:block;width:100%;margin:0 0 1.15rem;overflow:visible}
 #online-featured .online-featured__nav-group{display:grid;width:100%;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:4px 8px}
 #online-featured .online-featured__nav button{width:100%;min-height:44px;padding:6px 8px;border:1px solid transparent;border-bottom:1px solid #cbd6cd;text-align:center;white-space:normal;font-size:14px}
 #online-featured .online-featured__nav button[aria-pressed="true"]{border-color:#25282a;background:#eef3ee}
 #online-featured h2{height:auto;min-height:2.45em;margin-bottom:6px}
 #online-featured #online-featured-subtitle{height:auto;min-height:3.2em}
 #online-featured .online-featured__stage{height:clamp(300px,45vw,440px)}
 #online-featured dl>div{height:auto;min-height:118px}
}

/* Preserve a readable four-column control gallery through tablet width. */
@media(max-width:1200px){
 .controls-gallery{grid-template-columns:repeat(4,minmax(0,1fr))}
 .control-item{grid-template-rows:28px 210px auto}
 .control-item--vk8{grid-column:span 2;--body-width:300px}
 .control-item--remote{--body-width:56px}
}

/* The filter stage and its explanation need one calm reading column before
   the phone breakpoint; title reserves continue to prevent grade-switch jumps. */
@media(max-width:900px){
 .filtration-inner{min-height:0}
 .filtration-scene{grid-template-columns:1fr;grid-template-areas:"heading" "visual" "info" "caption";gap:18px;padding-inline:20px}
 .filtration-stage{max-width:760px;justify-self:center}
 .filtration-stage img{max-height:min(440px,58vw)}
 .filter-info{max-width:660px;justify-self:center}
}

/* No fixed-height squeeze on phones: the approved hero image follows its
   reserved copy rows, so Zuhause and Gewerbe keep the same stable rhythm. */
@media(max-width:760px){
 .hero{display:flex;flex-direction:column;min-height:0;height:auto}
 .hero .hero-inner{order:1;height:auto;min-height:0;padding:2rem 0 1.3rem;justify-content:flex-start}
 .hero .hero-copy{width:100%;min-width:0;max-width:100%;--hero-subtitle-font-size:clamp(15px,4.1vw,16px);--hero-subtitle-lines:4;grid-template-rows:auto auto var(--hero-subtitle-row) 80px 66px;row-gap:14px}
 .hero .eyebrow{white-space:normal;font-size:clamp(10px,2.6vw,11px)}
 .hero .hero-performance dt{white-space:normal;font-size:clamp(10px,2.7vw,11px)}
 .hero .hero-performance dd{font-size:clamp(15px,4vw,20px)}
 .hero .hero-performance small{font-size:10px;white-space:normal}
 .hero .hero-media{position:relative;inset:auto;top:auto;bottom:auto;order:2;width:100%;height:auto;aspect-ratio:1672/941;background:transparent}
 .hero .hero-image{object-fit:contain;object-position:center bottom}
 .hero-media::before{height:54px}

 .sales-section{padding-block:clamp(3rem,11vw,4rem)}
 .benefits,.knowledge,.devices{padding-block:3.5rem}
 .sales-section .section-heading{margin-bottom:2rem}
 .mounting-grid>a{padding-block:1.25rem}
 .mounting-number{margin-bottom:1rem}
 .mounting-grid>.mounting-card .mounting-illustration--photo{height:clamp(160px,48vw,190px);margin-bottom:.75rem}
 .mounting-grid>.mounting-card .mounting-cta{padding-top:1rem}
 .controls-gallery{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:1.5rem;border-right:0}
 .control-item{grid-template-rows:26px 200px auto;padding-inline:10px;border-left:0}
 .control-item:nth-child(2),.control-item:nth-child(5),.control-item:nth-child(7){border-left:1px solid #d9e2da}
 .control-item--vk8{--body-width:290px}
 .control-item--remote{--body-width:56px}
 .filtration-scene{padding-inline:16px}
 .filtration-stage img{max-height:300px}
 .project-section a{display:inline-flex;align-items:center;min-height:44px}
 .site-footer a{display:inline-flex;align-items:center;min-height:44px}
 #alltag .audience-benefits a{display:inline-flex;align-items:center;min-height:44px}
}

@media(max-width:560px){
 #online-featured .online-featured__nav-group{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
 #online-featured .online-featured__nav button{min-height:44px;padding:5px 4px;font-size:12px;line-height:1.2}
 #online-featured .online-featured__nav button small{margin-top:2px;font-size:10px}
 #online-featured .online-featured__stage{height:260px}
 #online-featured dl>div{min-height:112px;padding:10px 2px}
 .mounting-grid>a{padding-inline:1rem}
}

@media(max-width:360px){
 #online-featured .online-featured__nav button{min-height:68px}
}
