*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Trebuchet MS",system-ui,sans-serif;font-size:1rem;line-height:1.65}a{color:inherit;text-underline-offset:.25em}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:5px}img{display:block;width:100%;height:auto}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.04;letter-spacing:-.045em}h1{font-size:clamp(3rem,7.7vw,7.8rem);font-weight:800;max-width:13ch}h2{font-size:clamp(2.2rem,4.5vw,4.6rem);max-width:17ch}h3{font-size:1.65rem;max-width:25ch}p{max-width: sixty;max-width:64ch}p+p{margin-top:1rem}button{cursor:pointer}main{min-height:60vh}section,.section{padding:6rem max(1.25rem,5vw)}.eyebrow,.folio{font-size:.875rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.lede{font-size:clamp(1.15rem,1.8vw,1.45rem);line-height:1.5;max-width:44ch}.fine,figcaption{font-size:.8125rem;line-height:1.6}figcaption{padding:.8rem 0;opacity:.85}.skip{position:absolute;top:-8rem;left:1rem;padding:1rem;background:var(--paper);z-index:5}.skip:focus{top:1rem}.masthead{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:1.5rem max(1.25rem,5vw);flex-wrap:wrap}.wordmark{font-size:1.35rem;font-weight:900;line-height:1.05;letter-spacing:-.045em;text-decoration:none}.wordmark small{display:block;font-size:.72rem;letter-spacing:.13em;line-height:1.7}.masthead nav,.footer-top nav{display:flex;flex-wrap:wrap;gap:.45rem 1.4rem}.masthead nav a,.footer-top nav a{font-size:.9375rem;text-decoration:none;padding:.5rem 0}.masthead a[aria-current]{text-decoration:underline;text-decoration-thickness:2px}.concept-label{display:flex;justify-content:space-between;gap:1rem;padding:.5rem max(1.25rem,5vw);font-size:.8125rem;background:var(--ink);color:var(--paper)}.concept-label a{text-decoration:none}.hero{display:grid;grid-template-columns:1.25fr 1fr;align-items:center;gap:5vw;padding-top:4rem}.hero-copy{display:grid;gap:1.8rem}.hero-media{margin:0;padding:.4rem;background:var(--tray);border-radius:2rem}.hero-media img{aspect-ratio:4/5;object-fit:cover;border-radius:1.65rem}.hero-media figcaption{padding:.8rem 1rem}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:3.25rem;width:fit-content;border:0;border-radius:999px;background:var(--accent);color:var(--button-ink,var(--ink));padding:.85rem 1.3rem;text-decoration:none;font-weight:700;transition:transform .35s cubic-bezier(.32,.72,0,1)}.button:hover{transform:translateY(-3px)}.button:active{transform:scale(.98)}.button .arrow{display:grid;place-items:center;width:1.7rem;height:1.7rem;border-radius:50%;background:rgba(0,0,0,.08)}.button.secondary{background:var(--tray);color:var(--ink)}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem}.duo{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:start}.stack{display:grid;gap:1.5rem}.number{font-size:4rem;line-height:1;font-weight:800;letter-spacing:-.07em}.chapter{display:grid;grid-template-columns:.25fr .8fr 1fr;gap:3rem;border-top:2px solid var(--rule);padding:3rem 0}.chapter p{max-width:50ch}.dark{background:var(--ink);color:var(--paper)}.accent{background:var(--accent);color:var(--button-ink,var(--ink))}.wide-image img{max-height:34rem;object-fit:cover;aspect-ratio:16/8}.wide-image{padding-top:0}.feature-panel{padding:.45rem;background:var(--tray);border-radius:2rem}.feature-panel>div{padding:2rem;background:var(--panel,var(--paper));border-radius:1.6rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.2)}.rule{border-top:2px solid var(--rule);padding-top:1.5rem}.two-links{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.two-links a{padding:2rem;border-block:2px solid var(--rule);text-decoration:none;display:grid;gap:1rem}.two-links a:hover h3{text-decoration:underline}.page-head{display:grid;gap:1.5rem;padding-bottom:3rem}.page-head h1{font-size:clamp(3rem,6vw,6rem);max-width:16ch}.form-layout{display:grid;grid-template-columns:1fr 1fr;gap:6vw;padding-top:1rem}form{display:grid;gap:1.4rem;align-content:start}label{display:grid;gap:.5rem;font-weight:700}input,select,textarea{min-width:0;max-width:100%;width:100%;padding:.9rem 1rem;color:var(--ink);background:var(--paper);border:2px solid var(--rule);border-radius:.7rem}input[type=range]{padding:.8rem 0;accent-color:var(--accent)}textarea{resize:vertical;min-height:7rem}fieldset{border:0;padding:0;margin:0;min-width:0}legend{font-weight:700;margin-bottom:.75rem}.choices{display:flex;gap:.75rem;flex-wrap:wrap}.choices label{display:flex;align-items:center;border:2px solid var(--rule);padding:.6rem .9rem;border-radius:999px;font-weight:400}.choices input{width:auto;accent-color:var(--ink)}.result{padding:2rem;border-radius:1.6rem;background:var(--ink);color:var(--paper);min-height:16rem}.result h2{font-size:2rem;margin-bottom:1rem}.result pre{font:inherit;white-space:pre-wrap;overflow-wrap:anywhere}.result .button{margin-top:1rem}.result[hidden]{display:none}.demo-note{font-size:.875rem;padding-top:1rem}.faq{max-width: sixty;max-width:60rem}details{border-top:2px solid var(--rule);padding:1.5rem 0}summary{font-size:1.125rem;font-weight:700;cursor:pointer}details p{margin-top:1rem}.checklist{padding-left:1.5rem}.checklist li{padding:.5rem 0}footer{padding:4rem max(1.25rem,5vw) 2rem;background:var(--ink);color:var(--paper)}.footer-top{display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap;padding-bottom:3rem}.footer-top .wordmark{font-size:1.7rem}footer>p{font-size:.875rem;max-width:90ch}.footer-links{display:flex;gap:1.5rem;flex-wrap:wrap;margin-top:1.5rem;font-size:.875rem}.photo-note{max-width:70ch}.inline-link{font-weight:700}.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;padding-top:3rem}.timeline>div{border-top:4px solid var(--accent);padding-top:1.5rem}.timeline h3{margin:.75rem 0}.timeline .number{font-size:2.6rem}
@media(max-width:760px){section,.section{padding:3rem 1.25rem}.masthead{padding:1.2rem;gap:1.2rem}.masthead nav{gap:.4rem 1rem}.concept-label{padding:.6rem 1.25rem}.concept-label span{display:none}.hero,.duo,.form-layout{grid-template-columns:1fr;gap:2rem}.hero{padding-top:2.5rem}.hero-media img{aspect-ratio:5/4}.chapter{grid-template-columns:1fr;gap:1rem}.chapter .number{font-size:2.5rem}.two-links,.timeline{grid-template-columns:1fr}.page-head h1{font-size:clamp(2.6rem,10vw,5rem)}.result{padding:1.5rem}.feature-panel>div{padding:1.5rem}.footer-top{display:grid}.wide-image{padding-top:0}h1{overflow-wrap:normal}.masthead nav a{min-height:2.75rem;display:flex;align-items:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{.masthead,.concept-label,.actions,.button,footer,.wide-image,.hero-media{display:none}section,.section{padding:1rem 0}.result{background:white!important;color:black!important}.form-layout,.duo{display:block}}

:root{--paper:#f4f7f4;--ink:#172934;--accent:#8bcfe0;--tray:#dfe8e6;--rule:#9fbbb9;--focus:#a1411a}.slo-dryer .wordmark{letter-spacing:.015em}.slo-dryer .masthead{margin:1rem 3vw;padding:1rem 2rem;border-radius:2rem;background:#e1ece9}.air-hero{display:grid;grid-template-columns:.8fr 1.2fr;gap:5vw;align-items:center;padding-top:3rem}.air-copy{display:grid;gap:1.8rem}.air-copy h1{font-size:clamp(4rem,9vw,9rem);max-width:8ch;line-height:.92;font-weight:800}.air-copy h1 em{font-style:normal;color:#307a8c}.air-image .hero-media img{aspect-ratio:5/4;object-fit:cover}.air-image .hero-media{border-radius:3rem}.air-image .hero-media img{border-radius:2.6rem}.air-step{display:flex;justify-content:space-around;gap:.7rem;flex-wrap:wrap;align-items:center;padding:1.5rem 0;font-size:.875rem;letter-spacing:.1em;border-bottom:5px solid #8bcfe0}.air-step span{color:#aa512b;font-size:1.5rem}.airflow-steps{display:grid;grid-template-columns:1fr;gap:4rem;padding-top:1rem}.airflow-steps article{display:grid;grid-template-columns:.4fr 1fr 1fr;gap:3rem;border-left:6px solid #8bcfe0;padding-left:3rem}.airflow-steps .number{font-size:2rem;color:#307a8c}.airflow-steps h2{font-size:3rem}.slo-dryer .chapter .number{color:#307a8c;font-size:2rem}@media(max-width:760px){.air-hero{grid-template-columns:1fr}.air-copy h1{font-size:clamp(4rem,17vw,7rem)}.air-copy h1 br:first-of-type{display:none}.airflow-steps article{grid-template-columns:1fr;gap:1rem;padding-left:1.5rem}.slo-dryer .masthead{margin:.75rem;padding:1rem}}
/* Intrinsic sizing keeps long names and enlarged text inside the viewport. */
main,section,article,aside,figure,form,nav,header,footer,section>div{min-width:0}
button:disabled{opacity:.55;cursor:not-allowed}
.button{max-width:100%;text-align:left;overflow-wrap:anywhere}
.wordmark{overflow-wrap:anywhere}
.sector-links{display:grid;gap:1rem;margin-top:2.5rem;font-size:1.25rem}
.surface-swatch{background:#d4d1c4;grid-column:1/-1;height:5rem}
@media(max-width:360px){h1,h2,h3{overflow-wrap:anywhere}.game-board{display:block}.game-board>*{margin-bottom:1rem}}
/* Control borders and a two-tone keyboard ring work on light and dark brand surfaces. */
input,select,textarea,.choices label{border-color:var(--ink)}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #111;outline-offset:5px;box-shadow:0 0 0 5px #fff}

/* Motion leaves authored content visible; each brand supplies its own entrance rhythm. */
.two-links a:focus-visible h3,.inline-link:focus-visible,.masthead nav a:focus-visible,.place-settings a:focus-visible{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.25em}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.inline-link{text-decoration-thickness:1px;transition:text-decoration-thickness .18s}.inline-link:hover{text-decoration-thickness:3px}.button:hover .arrow{transform:translateX(2px)}.button .arrow{transition:transform .22s cubic-bezier(.22,1,.36,1)}}
@media(prefers-reduced-motion:reduce){.button:hover,.button:active,.button:hover .arrow,.place-settings a:hover{transform:none!important}}
@media(prefers-reduced-motion:no-preference){.material-swatch,.surface-swatch{transition:background-color .35s ease}}
.roof-hero{overflow:clip}
