/* Consistent, readable typography throughout the presentation. */
:root{--body:Manrope,Arial,sans-serif;--serif:Manrope,Arial,sans-serif}
body{font-size:16px;line-height:1.75;letter-spacing:0}
h1,h2,h3,em{font-family:var(--body);font-style:normal}
h2{font-size:clamp(34px,3.4vw,48px);line-height:1.2;letter-spacing:-.03em;font-weight:500}
h2 em{font-family:inherit;font-size:1em;font-style:normal;line-height:inherit;letter-spacing:inherit}
h3{letter-spacing:-.02em}
.eyebrow{font-size:12px;letter-spacing:.1em;line-height:1.65}
.mini-label{font-size:12px;letter-spacing:.075em;line-height:1.65}
.section-number{font-size:12px;letter-spacing:.06em}
.button,.text-button{font-size:14px;line-height:1.5}
.button-small{font-size:14px;min-height:46px;padding:12px 18px}
.header-inner{height:96px;gap:28px}
.wordmark{width:180px}
.desktop-nav{gap:34px;padding-left:20px}
.desktop-nav a{font-size:16px;letter-spacing:0;line-height:1.5;padding:14px 0}
.hero{padding-top:96px}
.hero h1{font-family:var(--body);font-size:clamp(46px,4.25vw,66px);font-weight:500;line-height:1.15;letter-spacing:-.035em;white-space:normal}
.hero h1>span,.hero h1>em{font-family:inherit;font-size:1em;line-height:1.15;font-style:normal;font-weight:500;letter-spacing:-.035em}
.hero h1>em{margin-top:23px;color:#f4d8ba}
.hero .eyebrow{font-size:12px;letter-spacing:.1em;line-height:1.65;margin-bottom:24px}
.hero-description{font-size:20px;line-height:1.65;letter-spacing:0}
.hero-body{font-size:16px;line-height:1.8;letter-spacing:0;max-width:360px}
.hero-scope{font-size:15px;line-height:1.75}
.hero-story{max-width:380px;padding-top:0}
.hero .hero-actions .button{font-size:14px;min-height:52px;min-width:260px}
.hero .hero-actions .text-button{font-size:14px}
.hero-sector-links>span{font-size:11px;letter-spacing:.04em}
.hero-sector-links>a{font-size:14px}
.hero .ambient-toggle,.hero .scroll-link{font-size:13px}
.flame-background{background-size:auto 105%;background-position:center center;background-color:#070503}
.intro-explanation>p:first-child{font-size:21px;line-height:1.6;letter-spacing:0}
.intro-explanation>p:last-child{font-size:16px;line-height:1.8}
.intro-heading{gap:65px}
.intro-explanation{max-width:455px}
.capability h3{font-size:28px;line-height:1.3}
.capability>p{font-size:15px;line-height:1.8;max-width:310px}
.capability-tag{font-size:12px;letter-spacing:0;line-height:1.6}
.capability-top>span{font-size:12px}
.section-heading>p,.section-heading>div{font-size:16px;line-height:1.8}
.product-card{min-height:540px;padding:25px}
.product-card-content>.mini-label{font-size:11px;line-height:1.6;letter-spacing:.035em}
.product-card h3,.product-title{font-size:32px;letter-spacing:-.025em;line-height:1.3}
.product-card p,.product-description{font-size:15px;line-height:1.8;max-width:320px}
.product-link{font-size:14px;line-height:1.6;gap:10px}
.product-card-top .pill,.pill,.pill-muted{font-size:11px;padding:6px 11px;line-height:1.5}
.product-index{font-size:12px}
.demo-disclaimer{font-size:13px}
.demo-chrome{padding:15px 24px}
.demo-brand{font-size:15px}
.chrome-title{font-size:14px}
.demo-recorded{font-size:12px;gap:8px}
.demo-view-heading{padding:16px 24px}
.demo-view-heading .mini-label{font-size:12px}
.demo-view-heading>span:last-child{font-size:13px}
.demo-video-container{padding:20px;background:#0c100d}
.demo-video-container video{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;max-height:none;background:#000}
.demo-controls{min-height:64px;padding:12px 22px;gap:24px}
.demo-controls .icon-button{width:36px;height:36px;font-size:17px}
.demo-controls .icon-button svg{width:20px;height:20px}
#demo-time{font-size:12px;width:100px}
.demo-controls-left{gap:12px}
.video-seek-label input{height:3px}
.video-seek-label input::-webkit-slider-thumb{width:10px;height:10px}
.thermal-risk-panel{padding:24px;background:#111710;border-top:1px solid #ffffff25}
.thermal-risk-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}
.thermal-risk-heading .mini-label{font-size:12px}
.thermal-risk-heading>span:last-child{font-size:13px;color:#b8c1ab}
.thermal-risk-panel>img{display:block;width:100%;max-width:1100px;height:auto;object-fit:contain;margin:auto;border:1px solid #ffffff20;border-radius:3px}
.risk-preview{padding:24px}
.risk-preview-heading{margin-bottom:22px;gap:20px}
.risk-preview-heading>.mini-label{font-size:12px;letter-spacing:.05em}
.risk-preview-heading>span:last-child{font-size:13px}
.risk-card-grid{gap:18px}
.risk-preview-card{padding:22px}
.risk-card-number{font-size:12px}
.risk-preview-card h3{font-size:23px;line-height:1.35}
.risk-assessment{font-size:13px;padding:5px 12px;line-height:1.5}
.risk-preview-card>p{font-size:15px;line-height:1.8;min-height:81px;max-width:none}
.risk-card-footer{font-size:12px;line-height:1.7}
.demo-caption>p{font-size:13px;line-height:1.7}
.demo-caption .text-button{font-size:14px}
.how-intro>p:not(.eyebrow){font-size:16px;line-height:1.8;max-width:400px}
.how-intro .text-button{font-size:14px}
.how-step h3{font-size:23px;line-height:1.45}
.how-step p{font-size:15px;line-height:1.8;max-width:none}
.step-index{font-size:12px}
.step-tags span{font-size:12px;padding:4px 10px}
.purpose-copy h2{font-size:clamp(36px,3.6vw,52px);line-height:1.2}
.purpose-label .eyebrow{font-size:12px}
.purpose-label .section-number{font-size:12px}
.purpose-copy>p{font-size:20px;line-height:1.7;letter-spacing:0}
.purpose-copy .purpose-detail{font-size:16px;line-height:1.8;max-width:520px}
.purpose-signoff{font-size:13px;line-height:1.7;max-width:520px}
.contact-layout h2{font-size:clamp(34px,3.4vw,48px);line-height:1.2}
.contact-layout>div>p:not(.eyebrow){font-size:16px;line-height:1.8}
.contact-circle span{font-size:15px}
.contact-bottom>a{font-size:19px;line-height:1.7}
.contact-bottom>span{font-size:13px}
.footer-top>p{font-size:14px;line-height:1.8}
.footer-top nav{font-size:14px;line-height:1.8}
.footer-bottom{font-size:12px;line-height:1.8}
.site-dialog h2,.contact-dialog h2{font-family:var(--body);font-size:36px;line-height:1.2;letter-spacing:-.025em}
.site-dialog h2 em{font-family:inherit;font-size:1em;font-style:normal;letter-spacing:inherit}
.site-dialog>p:not(.eyebrow){font-size:15px;line-height:1.8}
.site-dialog .eyebrow{font-size:12px}
.site-dialog .button{font-size:14px}
.dialog-back{font-size:14px;line-height:1.7}
#contact-form label{font-size:13px;line-height:1.7}
#contact-form input,#contact-form textarea{font-size:15px;padding:11px 12px}
.form-note{font-size:12px!important;line-height:1.7}
.form-feedback{font-size:13px}
.video-dialog-heading .mini-label{font-size:12px}
.video-dialog-heading>span:last-child{font-size:13px}
.video-dialog video{max-height:75vh;object-fit:contain;background:#000}
@media(min-width:1600px){.hero h1{font-size:66px}.hero-description{font-size:21px}.hero-body{font-size:16px}}
@media(max-width:1150px){.desktop-nav{gap:23px;padding-left:0}.desktop-nav a{font-size:15px}.header-inner{gap:22px}.wordmark{width:155px}.hero h1{font-size:clamp(42px,4.8vw,55px)}.hero-description{font-size:19px}.hero-body{font-size:15px}.hero-scope{font-size:14px}.hero .hero-actions .button{font-size:14px;min-width:240px}.product-card{padding:20px}.product-link{font-size:13px}.product-card p,.product-description{font-size:14px}.how-layout{gap:55px}.footer-top{flex-wrap:wrap}.footer-top nav{font-size:13px;gap:20px}.risk-preview-card h3{font-size:21px}.risk-preview-card{padding:18px}}
@media(max-width:900px){.desktop-nav{display:none}.menu-toggle{display:block;width:44px;height:44px}.header-inner{height:84px;gap:20px}.header-cta{margin-left:auto;font-size:14px;gap:20px}.wordmark{width:145px}.hero{padding-top:84px}.hero-main{display:flex;flex-direction:column;align-items:stretch;gap:33px;padding-top:55px;padding-bottom:50px}.hero h1{font-size:48px;max-width:650px}.hero .eyebrow{font-size:11px;max-width:none}.hero-story{padding-top:0;max-width:650px}.hero-description{font-size:19px;max-width:550px}.hero-body{font-size:16px;max-width:570px}.hero-scope{font-size:15px}.hero .hero-actions{flex-direction:row;align-items:center;flex-wrap:wrap;gap:25px}.hero .hero-actions .text-button{font-size:14px}.hero-sector-links>span{font-size:11px}.hero-sector-links>a{font-size:14px}.hero-bottom{align-items:flex-end}.hero-bottom-actions{gap:20px}.hero .ambient-toggle,.hero .scroll-link{font-size:12px}.eyebrow,.mini-label,.section-number{font-size:11px}.intro-heading{grid-template-columns:1fr;gap:28px}.intro-explanation{max-width:650px;margin-left:0}.capability{padding-inline:20px}.capability h3{font-size:23px}.capability>p{font-size:14px}.capability-tag{font-size:11px}.section-heading>p,.section-heading>div{font-size:15px}.product-grid{grid-template-columns:1fr;gap:20px}.product-card{min-height:0;padding:26px}.product-cement .cement-art{height:230px}.product-card h3,.product-title{font-size:32px}.product-card p,.product-description{font-size:15px;max-width:500px}.product-card-content>.mini-label{font-size:11px}.product-upcoming{min-height:370px}.product-upcoming .industry-art{position:absolute;right:25px;top:45px;width:230px;height:180px;opacity:.75}.product-upcoming .product-card-content{margin-top:140px;position:relative}.product-upcoming .round-arrow{margin-top:-15px}.product-link{font-size:14px}.product-card-top .pill{font-size:11px}.demo-view-heading>span:last-child{font-size:12px}.risk-card-grid{grid-template-columns:1fr}.risk-preview-card{display:grid;grid-template-columns:1fr auto;gap:0 20px;padding:22px}.risk-card-top{grid-column:1/-1;margin-bottom:14px}.risk-preview-card h3{grid-column:1;grid-row:2;font-size:23px}.risk-assessment{grid-column:2;grid-row:2;margin-top:0}.risk-preview-card>p{grid-column:1/-1;min-height:0;margin-top:13px;font-size:15px}.risk-card-footer{grid-column:1/-1;margin-top:18px}.how-layout{grid-template-columns:1fr;gap:35px}.how-intro>p:not(.eyebrow){max-width:650px}.how-step p{font-size:15px}.purpose-layout{grid-template-columns:1fr;gap:30px}.purpose-label{flex-direction:row;justify-content:space-between}.purpose-copy .purpose-detail{max-width:620px}.contact-bottom{flex-wrap:wrap}.footer-top nav{width:100%;justify-content:space-between}.thermal-risk-panel{padding:20px}}
@media(max-width:650px){body{font-size:15px}h2{font-size:32px;line-height:1.22}.wrap{width:calc(100% - 40px)}.header-inner{height:84px;gap:12px}.wordmark{width:128px}.header-cta{font-size:13px;padding:10px 12px;gap:17px;min-height:42px}.hero{padding-top:84px}.hero-main{gap:28px;padding-top:42px;padding-bottom:36px}.hero h1{font-size:clamp(34px,9.4vw,43px);line-height:1.18;letter-spacing:-.03em}.hero h1>span,.hero h1>em{font-size:1em;line-height:1.18;letter-spacing:-.03em}.hero h1>em{margin-top:18px}.hero .eyebrow{font-size:10px;letter-spacing:.06em;margin-bottom:22px}.hero-description{font-size:18px;line-height:1.65;max-width:100%}.hero-body{font-size:15px;line-height:1.8;margin-top:17px;max-width:100%}.hero-scope{font-size:14px;line-height:1.8;margin-top:20px}.hero .hero-actions{flex-direction:column;align-items:flex-start;gap:20px;margin-top:26px}.hero .hero-actions .button{font-size:13px;min-width:240px;min-height:50px}.hero .hero-actions .text-button{font-size:13px}.hero-sector-links>span{font-size:10px}.hero-sector-links>a{font-size:13px}.hero .ambient-toggle,.hero .scroll-link{font-size:12px}.eyebrow,.mini-label,.section-number{font-size:10px;letter-spacing:.06em}.section-topline{gap:14px}.intro-explanation>p:first-child{font-size:19px}.intro-explanation>p:last-child{font-size:15px}.capability{display:flex;gap:0;padding-block:26px!important}.capability-top{width:100%;margin-bottom:15px}.capability h3{font-size:25px;line-height:1.3;margin-bottom:15px}.capability p{font-size:15px;max-width:none;padding-top:0}.capability-tag{font-size:12px;margin-top:20px;align-self:flex-start}.capability-top>span{font-size:12px}.section-heading>p,.section-heading>div{font-size:15px}.product-card{padding:22px}.product-card h3,.product-title{font-size:30px}.product-card p,.product-description{font-size:15px}.product-card-content>.mini-label{font-size:11px}.product-upcoming .product-card-content>.mini-label{font-size:11px}.product-upcoming .product-description{font-size:15px;max-width:280px}.product-upcoming .product-title{font-size:30px}.product-upcoming .industry-art{width:185px;height:160px;right:5px;top:55px}.product-card-top .pill{font-size:11px}.product-link{font-size:13px}.demo-chrome{padding:12px}.demo-brand>img{width:78px}.chrome-title{font-size:11px}.demo-recorded{font-size:10px}.demo-view-heading{padding:13px 12px;flex-wrap:wrap;gap:5px}.demo-view-heading .mini-label{font-size:11px}.demo-view-heading>span:last-child{font-size:11px}.demo-video-container{padding:8px}.demo-video-container video{aspect-ratio:16/9}.demo-controls{padding:10px;gap:12px;min-height:58px}.demo-controls .icon-button{width:29px;height:29px}.demo-controls-left{gap:5px}#demo-time{font-size:10px;width:80px}.thermal-risk-panel{padding:17px 10px}.thermal-risk-heading{flex-direction:column;align-items:flex-start;gap:6px;margin-bottom:14px}.thermal-risk-heading .mini-label{font-size:11px}.thermal-risk-heading>span:last-child{font-size:12px}.risk-preview{padding:20px 12px}.risk-preview-heading>.mini-label{font-size:11px}.risk-preview-heading>span:last-child{font-size:12px}.risk-preview-card{padding:19px 17px;gap:0 12px}.risk-preview-card h3{font-size:21px}.risk-card-number{font-size:11px}.risk-assessment{font-size:12px}.risk-preview-card>p{font-size:14px}.risk-card-footer{font-size:12px}.demo-caption>p{font-size:12px}.demo-caption .text-button{font-size:14px}.how-intro>p:not(.eyebrow){font-size:15px}.how-intro .text-button{font-size:14px}.how-step{gap:12px}.how-step h3{font-size:22px}.how-step p{font-size:15px}.step-tags span{font-size:11px}.purpose-copy h2{font-size:34px}.purpose-label .eyebrow,.purpose-label .section-number{font-size:10px}.purpose-copy>p{font-size:19px}.purpose-copy .purpose-detail{font-size:15px}.purpose-signoff{font-size:13px}.contact-layout h2{font-size:32px}.contact-layout>div>p:not(.eyebrow){font-size:15px}.contact-circle span{font-size:14px}.contact-bottom>a{font-size:17px}.contact-bottom>span{font-size:12px}.footer-top>p{font-size:13px}.footer-top nav{font-size:13px;gap:12px;flex-wrap:wrap}.footer-bottom{font-size:11px}.site-dialog h2,.contact-dialog h2{font-size:30px}.site-dialog>p:not(.eyebrow){font-size:15px}.site-dialog .eyebrow{font-size:11px}.site-dialog .button{font-size:14px}.form-row{grid-template-columns:1fr}.video-dialog-heading .mini-label{font-size:10px}.video-dialog-heading>span:last-child{font-size:11px}.video-dialog-heading{flex-wrap:wrap}}
@media(max-width:360px){.wrap{width:calc(100% - 32px)}.wordmark{width:110px}.header-inner{gap:10px}.header-cta{font-size:12px;padding:10px;gap:12px}.hero h1{font-size:9.6vw;min-width:0}.hero .eyebrow{font-size:9px}.section-topline{flex-direction:column;gap:8px}.risk-preview-card h3{font-size:19px}.contact-layout h2{font-size:29px}.demo-chrome{flex-wrap:wrap;gap:10px}}
/* User-selected fireplace animation: preserve its portrait proportions. */
.flame-background{background:#030201 url('../media/selected-fire-poster.jpg') center center/auto 100% no-repeat;overflow:hidden}
.flame-background:before{content:'';position:absolute;inset:-30px;background:url('../media/selected-fire-poster.jpg') center center/cover no-repeat;filter:blur(28px);opacity:.13}
.fire-background-video{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;object-fit:contain;object-position:center;background:transparent}
@media(max-width:650px){.fire-background-video{object-fit:cover}.flame-background{background-size:cover}}
.fire-background-video{inset:0 auto 0 50%;width:auto;height:100%;transform:translateX(-50%);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
/* Latest selected footage fills the complete opening scene, without letterboxing. */
.flame-background{background:#000 url('../media/combustion-fullscreen-poster.jpg') center 55%/cover no-repeat}
.flame-background:before{display:none}
.fire-background-video{inset:0;width:100%;height:100%;max-width:none;transform:none;object-fit:cover;object-position:center 55%;mask-image:none;-webkit-mask-image:none}
.flame-veil{background:linear-gradient(90deg,rgba(3,4,3,.66),rgba(3,4,3,.54) 37%,rgba(3,4,3,.32) 55%,rgba(3,4,3,.62) 75%,rgba(3,4,3,.55)),linear-gradient(180deg,rgba(4,5,4,.12),transparent 40%,rgba(4,5,4,.65))}
