/* Current content and media within the existing survey-night design. */
.home-hero{grid-template-columns:.9fr 1.1fr;gap:2.5rem;padding-block:4.2rem}
.home-hero h1{font-size:clamp(2.1rem,3.6vw,3.05rem)}
.home-hero .hero-ctas{gap:.7rem}
.home-hero .hero-ctas .btn{font-size:.95rem;padding:.9em 1.15em}
.hero-film{min-width:0}
.film-intro{font-family:var(--mono);font-size:.78rem;color:var(--mint);margin-bottom:.9rem;line-height:1.6}
.film-intro span{white-space:nowrap}
.review-film{margin:0;min-width:0}
.media-frame{overflow:hidden;background:#070e0a;border:1px solid #345345;border-radius:12px;box-shadow:0 15px 35px -20px #03150c80}
.media-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem .9rem;color:#bbd5c5;font:500 .64rem/1.4 var(--mono);letter-spacing:.06em}
.record-dot{display:inline-flex;align-items:center;gap:.5em;color:#efa092}
.record-dot:before{content:"";width:6px;height:6px;border-radius:50%;background:#e0533c;animation:blink 1.6s steps(2,start) infinite}
.thermal-mark{display:block;width:46px;height:5px;background:var(--thermal);border-radius:5px}
.media-frame .vthumb{border:0;border-radius:0;margin:0}
.review-film figcaption{font-size:.82rem;line-height:1.6;margin-top:.85rem;color:var(--ink-2)}
.on-dark .review-film figcaption{color:#bacdc0}
.film-description{margin-top:1.1rem;font-size:.82rem;color:inherit;opacity:.84;text-align:left}
.film-description summary{cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.film-description p{margin-top:.8rem;line-height:1.6}
.feature-story{display:grid;grid-template-columns:.8fr 1.2fr;gap:3rem;align-items:center;margin-top:2.7rem}
.feature-copy p{margin:0 0 1.2rem;color:var(--ink-2)}
.feature-story-reverse{grid-template-columns:1.2fr .8fr}
.feature-story-reverse .feature-copy{order:2}
.text-link{font-weight:700;color:var(--accent-deep);text-decoration:none}
.centred-copy{text-align:center;max-width:44em;margin-inline:auto}
.centred-copy h2{margin-top:1rem}
.centred-copy p{margin-top:1rem;color:var(--ink-2)}
.centred-copy .hero-ctas,.final .hero-ctas{justify-content:center}
.vthumb{isolation:isolate}
.vthumb img,.vthumb video{display:block;width:100%;height:auto;object-fit:contain}
.vthumb:has(video){cursor:default;background:#050a07}
.vthumb-play:focus-visible{outline:3px solid #fff;outline-offset:5px}
.media-caption{max-width:70em}
.spec-chips li{white-space:normal;max-width:100%;text-align:center}
#film,#models,#inside-roost,#savings,#coverage,#prices,#purchase{scroll-margin-top:100px}
[hidden]{display:none!important}
.calc-result{min-width:0}
.calc-result [data-out=differenceText]{font-size:clamp(1.4rem,2.6vw,2.15rem);line-height:1.3}
.calc-inputs input:invalid:not(:placeholder-shown){box-shadow:none}
#dfvsl .df-product-pair{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:2.3rem}
#dfvsl .df-product-pair a{color:var(--accent-deep);font-weight:600}
#dfvsl .df-body-copy{max-width:52em;margin-top:1.5rem;color:var(--ink-2)}
#dfvsl .film-description{margin-bottom:1.5rem;color:#d0e1d5}
#dfvsl .df-screen video{object-fit:contain!important}
#dfvsl .df-final .df-btn-ghost{color:white;border-color:#ffffff70}
@media(max-width:950px){.home-hero{grid-template-columns:1fr;padding-block:3rem}.home-hero>div:first-child{max-width:45em}.hero-film{max-width:760px;width:100%}.home-hero h1{max-width:18em}.feature-story,.feature-story-reverse{grid-template-columns:1fr;gap:1.8rem}.feature-story-reverse .feature-copy{order:0}}
@media(max-width:600px){.home-hero{gap:2rem}.media-bar{font-size:.57rem;padding:.6rem}.feature-story{margin-top:1.7rem}#dfvsl .df-product-pair{grid-template-columns:1fr}.film-intro{font-size:.7rem}.wordmark small{font-size:.55rem;letter-spacing:.08em}.home-hero .hero-ctas .btn{font-size:.88rem}}
@media(prefers-reduced-motion:reduce){.record-dot:before{animation:none}}

/* Clear routes through the longer product pages. */
.action-links{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.5rem;align-items:center}
.centred-actions{justify-content:center}
.action-links .btn{margin:0!important;text-decoration:none}
.section-jumps{background:#eef2eb;border-bottom:1px solid var(--line);padding:1.05rem 0}
.section-jumps .section-inner{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem 1rem}
.section-jumps span{font:500 .72rem var(--mono);text-transform:uppercase;letter-spacing:.06em;margin-right:.4rem}
.section-jumps a{font-size:.88rem;font-weight:700;padding:.6rem .85rem;border:1px solid #c8d6cb;border-radius:7px;text-decoration:none;transition:background .18s ease,border-color .18s ease}
.section-jumps a:hover,.section-jumps a:focus-visible{background:white;border-color:var(--accent)}
#filtering,#review-steps,#survey-steps,#external-detector,#ultravision,#evidence-authoring{scroll-margin-top:110px}
.field-gallery{max-width:950px;margin-inline:auto;gap:1.5rem}
.field-gallery img{display:block;height:auto;aspect-ratio:3/4;object-fit:contain}
.image-enlarge{display:block;position:relative;cursor:zoom-in;border-radius:12px;overflow:hidden}
.image-enlarge img{transition:filter .22s ease}
.image-enlarge:hover img{filter:brightness(1.06)}
.image-enlarge:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.hero-media .image-enlarge{width:fit-content;max-width:100%;margin-inline:auto}
.roost-hero{grid-template-columns:1fr;max-width:calc(1100px + 2.8rem);gap:2.5rem;padding-block:3.5rem}
.roost-hero>div:first-child{max-width:880px;margin-inline:auto;text-align:center}
.roost-hero .lede{margin-inline:auto}
.roost-hero .hero-ctas{justify-content:center}
.roost-hero .fitline{border-left:0;padding-left:0;margin-inline:auto}
.roost-hero .hero-media{width:100%}
.roost-hero .hero-media .image-enlarge{width:100%}
.image-viewer{margin:auto;padding:0;width:min(1320px,96vw);max-width:96vw;height:min(900px,92dvh);max-height:92dvh;border:1px solid #657b6b;border-radius:12px;background:#0a1410;color:#fff;box-shadow:0 30px 100px #0008}
.image-viewer[open]{display:flex;flex-direction:column}
.image-viewer::backdrop{background:#030805dd}
.image-viewer.strip-view{height:fit-content;min-height:0}
.strip-view .viewer-stage{flex:0 0 120px}
.viewer-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem;padding:.8rem;border-bottom:1px solid #ffffff25;flex-shrink:0}
.viewer-toolbar h2{font:600 1rem var(--display);margin:0 auto 0 0;color:#fff}
.viewer-toolbar button,.viewer-toolbar a{min-height:44px;padding:.6rem .8rem;border:1px solid #ffffff65;border-radius:6px;background:transparent;color:white;font:600 .85rem var(--body);cursor:pointer;text-decoration:none}
.viewer-toolbar button:focus-visible,.viewer-toolbar a:focus-visible{outline:3px solid #b6e5c2;outline-offset:2px}
.viewer-stage{flex:1;min-height:0;overflow:auto;padding:1rem;display:block;position:relative}
.viewer-stage img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.viewer-stage:not(.actual-size) img{position:absolute;inset:1rem;max-width:calc(100% - 2rem);max-height:calc(100% - 2rem);margin:auto}
.viewer-stage.actual-size{display:block}
.viewer-stage.actual-size img{max-width:none;max-height:none;margin:auto}
.viewer-caption{padding:.7rem 1rem;margin:0;flex-shrink:0;font-size:.8rem;line-height:1.5;color:#cfddd3}
body.image-viewer-open{overflow:hidden}
.skip-link{position:fixed;left:1rem;top:-100px;z-index:10000;background:white;color:#0a1410;padding:.85rem 1.1rem;border:2px solid #28734e;border-radius:5px}
.skip-link:focus{top:1rem}
@media(max-width:600px){.action-links{align-items:stretch}.action-links .btn{width:100%;text-align:center}.section-jumps .section-inner{gap:.5rem}.section-jumps span{width:100%;margin-bottom:.2rem}.section-jumps a{font-size:.8rem;flex:1 1 auto;text-align:center}.viewer-toolbar{gap:.4rem}.viewer-toolbar h2{width:100%;font-size:.9rem}.viewer-toolbar button,.viewer-toolbar a{font-size:.76rem;padding:.5rem}.viewer-caption{font-size:.72rem}.viewer-stage{padding:.5rem}.image-viewer{height:88dvh}.field-gallery{gap:1.2rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}.image-enlarge img{filter:none}}
