/* Shared branding and the full-site extension of the approved homepage. */
:root { --brand-teal: #16b394; --brand-lilac: #cf94ed; --page-gutter: clamp(24px, 5.5vw, 96px); }
.site-header { background: #fff; }
.brand img { width: 168px; height: 80px; object-fit: contain; mix-blend-mode: multiply; }
.footer-brand img { width: 230px; height: 112px; object-fit: contain; mix-blend-mode: multiply; }
.intro-leaf { mix-blend-mode: multiply; object-fit: contain; }
.inner-page { background: #f4f6f0; color: var(--ink); }
.inner-page main { padding-top: var(--header); }
.inner-page h1, .inner-page h2, .inner-page h3 { font-weight: 500; text-wrap: balance; }
.inner-page h1 { letter-spacing: -.065em; line-height: .99; }
.inner-page h2 { font-size: clamp(32px, 4.1vw, 64px); line-height: 1.06; letter-spacing: -.055em; }
.inner-page h3 { font-size: clamp(23px, 2.1vw, 31px); line-height: 1.15; letter-spacing: -.035em; }
.inner-page p { line-height: 1.7; }
.inner-page em { font-style: normal; color: #547846; }
.inner-page :is(h2,h3,section,[id]) { scroll-margin-top: calc(var(--header) + 28px); }
.inner-page a:not(.button):hover { text-decoration-thickness: 1px; text-underline-offset: 5px; }
.inner-page [hidden] { display: none !important; }
.inner-page :focus-visible { outline: 3px solid #176b54; outline-offset: 5px; }
.inner-page button, .inner-page input, .inner-page textarea, .inner-page select { font: inherit; }
.inner-page button { cursor: pointer; }
.inner-page button:disabled { cursor: wait; opacity: .65; }
.inner-page .button { min-height: 52px; }
.page-hero { padding: clamp(60px, 7vw, 110px) var(--page-gutter); min-height: 550px; position: relative; }
.page-hero h1 { font-size: clamp(54px, 6.5vw, 102px); margin: 0 0 32px; max-width: 1100px; }
.page-hero p { max-width: 580px; font-size: clamp(17px, 1.4vw, 20px); margin: 0 0 32px; color: #516256; }
.page-hero.has-image { display: grid; grid-template-columns: 1.15fr 1fr; align-items: center; gap: 5vw; padding-right: 0; padding-top: 35px; padding-bottom: 35px; min-height: 680px; }
.has-image h1 { font-size: clamp(50px, 5.5vw, 85px); }
.page-hero-image { height: 600px; overflow: hidden; border-radius: 44% 0 0 0; }
.page-hero-image img { width: 100%; height: 100%; object-fit: cover; }
.text-hero { background: #e8eddf; }
.text-hero::after { content: ''; position: absolute; width: 180px; height: 8px; background: var(--brand-lilac); bottom: 0; right: var(--page-gutter); }
.dark-hero { background: var(--brand-dark-gradient); color: #fff; }
.dark-hero em { color: #bdcfae; }
.dark-hero p { color: #e1e8da; }
.page-section { padding: clamp(65px, 8vw, 125px) var(--page-gutter); }
.page-section > h2 { margin: 0 0 55px; max-width: 1000px; }
.page-section + .page-section { border-top: 1px solid #ced7c7; }
.reading-copy { max-width: 730px; margin-left: auto; font-size: 19px; }
.reading-copy p + p { margin-top: 24px; }
.reading-copy .button, .reading-copy .text-link { margin-top: 24px; }
.page-close { background: var(--brand-dark-gradient); color: white; padding: 90px var(--page-gutter); display: grid; grid-template-columns: 1.5fr 1fr; gap: 8vw; align-items: end; }
.page-close h2 { max-width: 780px; margin: 0; }
.page-close p { margin: 0 0 26px; color: #e3ebdd; font-size: 18px; }
.page-close .button { background: #fff; color: var(--forest); }
.page-close .button:hover { background: #e5edda; }
.section-intro { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: 50px; }
.section-intro h2 { margin: 0; }
.product-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 60px 32px; }
.product-tile { min-width: 0; }
.product-tile-image { background: #e9edde; display: grid; place-items: center; aspect-ratio: 1/1.05; overflow: hidden; }
.product-tile:nth-child(2n) .product-tile-image { background: #e9e5ed; }
.product-tile-image img { width: 88%; height: 88%; object-fit: contain; mix-blend-mode: multiply; transition: transform .6s cubic-bezier(.2,.65,.3,1); }
.product-tile-image:hover img { transform: scale(1.055); }
.tile-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 15px; margin: 24px 0 12px; }
.tile-heading h3 { margin: 0; }
.tile-heading > span { font-size: 20px; font-variant-numeric: tabular-nums; }
.product-tile > p { color: #516256; max-width: 360px; min-height: 3.4em; margin: 0 0 20px; }
.product-hero { display: grid; grid-template-columns: 1.05fr 1fr; min-height: 720px; }
.product-stage { position: relative; isolation: isolate; background: #e5eadd; display: grid; place-items: center; overflow: hidden; padding: 50px; }
.product-stage::before { content: ''; position: absolute; inset: 9% 14%; border: 1px solid #a5b79a; border-radius: 50%; transform: rotate(-20deg); }
.product-main-image { position: relative; z-index: 2; width: 92%; height: 540px; object-fit: contain; mix-blend-mode: multiply; }
.product-stage-word { position: absolute; bottom: -45px; left: 16px; font-size: clamp(190px,25vw,390px); line-height: 1; color: #d3dcc9; font-weight: 600; letter-spacing: -.1em; z-index: -1; }
.product-intro { padding: 65px var(--page-gutter) 55px 5vw; align-self: center; }
.product-intro h1 { font-size: clamp(50px,5.7vw,82px); margin: 0 0 26px; }
.product-intro h1 span { display: block; font-size: clamp(24px,2.2vw,34px); line-height: 1.2; letter-spacing: -.035em; margin-top: 16px; color: #5d705b; }
.product-intro > p { font-size: 17px; color: #516256; }
.product-purchase { border-top: 1px solid #ccd5c4; margin-top: 30px; padding-top: 25px; }
.product-purchase > strong { font-size: 34px; font-weight: 500; }
.product-purchase > p { font-size: 13px; margin: 6px 0 20px; }
.purchase-controls { display: flex; align-items: end; gap: 16px; }
.purchase-controls label { display: grid; gap: 7px; font-size: 13px; }
.purchase-controls input { width: 80px; height: 54px; border: 1px solid #7c9079; padding: 10px; background: #fff; border-radius: 0; }
.product-intro > .text-link { margin-top: 24px; }
.basket-continue { margin-top: 15px; }
.page-jump-nav { display: flex; gap: 40px; padding: 25px var(--page-gutter); border-bottom: 1px solid #c8d4c1; flex-wrap: wrap; font-size: 14px; }
.page-jump-nav a { padding: 9px 0; }
.product-details,.specification-section,.download-section { display: grid; grid-template-columns: 1fr 1.1fr; gap: 7vw; }
.feature-lines { list-style: none; padding: 0; margin: 0; }
.feature-lines li { padding: 22px 0 22px 28px; border-bottom: 1px solid #ccd5c4; position: relative; font-size: 19px; line-height: 1.5; }
.feature-lines li::before { content: '+'; position: absolute; left: 0; color: #507943; }
.specification-section { background: #e8eddf; }
.specification-section h2,.download-section h2 { margin: 0 0 28px; }
.specification-section p,.download-section p { max-width: 380px; color: #516256; }
.spec-table { margin: 0; }
.spec-table > div { display: grid; grid-template-columns: 1fr 1.2fr; gap: 25px; padding: 19px 0; border-bottom: 1px solid #b9c7b1; line-height: 1.5; font-size: 15px; }
.spec-table dt { color: #516256; }
.spec-table dd { margin: 0; }
.download-list a { display: grid; grid-template-columns: 1fr auto; gap: 10px; padding: 25px 0; border-bottom: 1px solid #c4d0bc; font-size: 18px; }
.download-list a small { font-size: 12px; color: #516256; grid-column: 1; }
.download-list a > span:last-child { grid-column: 2; grid-row: 1/3; align-self: center; font-size: 30px; }
.download-list a:hover { color: #11634c; }
.document-directory { display: grid; grid-template-columns: 1fr 1fr; gap: 65px 7vw; }
.document-directory h3 { margin: 0; }
.filter-controls { display: flex; gap: 8px; flex-wrap: wrap; }
.filter-button { border: 1px solid #819579; color: var(--forest); background: transparent; padding: 12px 18px; min-height: 44px; border-radius: 0; }
.filter-button[aria-pressed="true"],.filter-button:hover { background: var(--forest); color: white; }
.filter-status:empty,.search-status:empty { display: none; }
.editorial-row { display: grid; grid-template-columns: 70px 1fr 1fr; gap: 4vw; padding: 38px 0; border-top: 1px solid #c3cfbb; align-items: start; }
.editorial-row h3 { margin: 0; }
.editorial-row p { margin: 0; color: #516256; font-size: 18px; }
.row-number { color: #557a48; font-size: 17px; padding-top: 5px; }
.law-panel { background: #e8eddf; }
.sector-scenes { display: grid; grid-template-columns: 1.3fr 1fr; gap: 45px; align-items: start; }
.sector-scenes figure { margin: 0; }
.sector-scenes figure:nth-child(2) { margin-top: 100px; }
.sector-scenes img { height: 420px; width: 100%; object-fit: cover; }
.sector-scenes figcaption { font-size: 25px; margin-top: 22px; }
.space-directory { display: grid; grid-template-columns: 1fr 1fr; gap: 65px 45px; }
.space-directory img { width: 100%; height: 370px; object-fit: cover; }
.space-directory h2 { font-size: 34px; margin-top: 25px; display: flex; justify-content: space-between; }
.space-directory a:nth-child(even) { transform: translateY(60px); }
.space-directory { padding-bottom: 160px; }
.faq-list { max-width: 950px; margin-left: auto; }
.faq-list details { border-top: 1px solid #bccab5; }
.faq-list summary { padding: 27px 45px 27px 0; font-size: clamp(20px,2vw,28px); cursor: pointer; position: relative; list-style: none; line-height: 1.3; letter-spacing: -.025em; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary::after { content: '+'; position: absolute; right: 0; }
.faq-list details[open] summary::after { content: '−'; }
.faq-list p { max-width: 720px; margin: 0 0 28px; color: #516256; }
.article-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 65px 35px; }
.article-tile img { width: 100%; aspect-ratio: 1.42; height: auto; object-fit: cover; margin-bottom: 24px; }
.article-tile h3 { margin: 0 0 18px; }
.article-tile p { margin: 0 0 22px; color: #516256; font-size: 15px; }
.article-meta { color: #576d53; font-size: 13px; }
.search-label { display: grid; gap: 12px; width: min(100%,350px); font-size: 14px; }
.search-label input { border: 0; border-bottom: 1px solid #768b6e; background: transparent; padding: 15px 0; color: var(--ink); min-width: 0; width: 100%; border-radius: 0; }
.article-header { padding: 80px var(--page-gutter) 65px; max-width: 1250px; }
.article-header h1 { font-size: clamp(44px,5.5vw,84px); max-width: 1100px; margin: 0 0 32px; }
.article-header > p { font-size: 20px; max-width: 780px; margin-bottom: 25px; color: #516256; }
.article-cover { padding: 0 var(--page-gutter); }
.article-cover img { width: 100%; height: 480px; object-fit: cover; }
.article-layout { display: grid; grid-template-columns: .8fr 2fr; gap: 8vw; padding: 80px var(--page-gutter) 110px; align-items: start; }
.article-contents { position: sticky; top: calc(var(--header) + 32px); border-top: 2px solid #819b72; padding-top: 24px; }
.article-contents h2 { font-size: 22px; margin: 0 0 20px; }
.article-contents a { display: block; font-size: 14px; padding: 10px 0; line-height: 1.45; color: #50664d; }
.article-contents a:hover { text-decoration: underline; }
.article-body { max-width: 780px; font-size: 18px; min-width: 0; }
.article-body h2 { font-size: clamp(28px,3vw,42px); margin: 55px 0 24px; }
.article-body h2:first-child { margin-top: 0; }
.article-body p { margin: 0 0 25px; }
.article-body li { line-height: 1.7; margin: 12px 0; }
.article-body ul { padding-left: 22px; }
.article-body blockquote { font-size: 27px; letter-spacing: -.025em; line-height: 1.45; border-left: 3px solid #8eac7b; margin: 40px 0; padding: 12px 0 12px 35px; }
.article-callout { background: #e5ebdc; padding: 28px; margin: 30px 0; line-height: 1.7; }
.article-source-note { border-top: 1px solid #aabd9f; margin-top: 60px; font-size: 15px; }
.article-source-note h2 { font-size: 27px; }
.article-body a,.policy-body a { text-decoration: underline; text-underline-offset: 4px; }
.technology-story { display: grid; grid-template-columns: 1fr 1fr; gap: 7vw; align-items: start; }
.technology-visual { position: sticky; top: calc(var(--header) + 50px); height: 510px; overflow: hidden; background: #e5ebdc; }
.air-orbit { position: absolute; inset: 12%; border: 1px solid #bccaae; border-radius: 50%; }
.filter-layer { position: absolute; width: 33%; height: 50%; top: 20%; border: 1px solid #769564; background: repeating-linear-gradient(90deg,#bdcdb2 0px,#bdcdb2 1px,#dfe6d9 1px,#dfe6d9 6px); transform: skewY(-16deg); box-shadow: 16px 20px 30px #1d36241a; }
.filter-layer span { position: absolute; bottom: 14px; left: 14px; background: var(--forest); color: white; padding: 7px; font-size: 14px; }
.layer-1 { left: 10%; }.layer-2 { left: 25%; top: 24%; }.layer-3 { left: 40%; top: 28%; }.layer-4 { left: 55%; top: 32%; }
.technology-word { position: absolute; left: 20px; bottom: 0; font-size: 100px; letter-spacing: -.08em; line-height: 1; color: #516c43; }
.technology-steps article { min-height: 420px; padding: 80px 0; border-top: 1px solid #bccaae; }
.technology-steps h2 { font-size: 44px; margin: 0 0 25px; }
.technology-steps p { font-size: 19px; color: #516256; }
.table-wrap { overflow-x: auto; }
.table-wrap table { width: 100%; border-collapse: collapse; min-width: 620px; text-align: left; }
.table-wrap caption { text-align: left; margin-bottom: 20px; }
.table-wrap th,.table-wrap td { padding: 25px 20px 25px 0; border-bottom: 1px solid #c4d0bc; line-height: 1.6; vertical-align: top; }
.table-wrap th { font-weight: 600; }
.people-profiles { display: grid; grid-template-columns: 1fr 1fr; gap: 8vw; margin-left: 20%; }
.people-profiles article { border-top: 2px solid #9ab18c; padding-top: 30px; }
.people-profiles h3 { font-size: 50px; margin: 0 0 20px; }
.people-profiles p { font-size: 18px; }
.policy-body { max-width: 900px; margin: auto; padding: 60px 30px 100px; font-size: 17px; }
.policy-body h2 { font-size: 32px; margin: 48px 0 22px; }
.policy-body p { margin-bottom: 22px; }
.contact-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 8vw; }
.contact-layout h2 { font-size: clamp(30px,3vw,46px); margin: 0 0 30px; }
.contact-aside { align-self: start; position: sticky; top: calc(var(--header) + 35px); }
.contact-aside p { color: #516256; max-width: 360px; margin-bottom: 24px; }
.enquiry-form { margin-top: 35px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; }
.form-grid label { display: grid; gap: 10px; font-size: 14px; }
.form-wide { grid-column: 1/-1; }
.form-grid input,.form-grid textarea,.form-grid select { width: 100%; border: 1px solid #809376; border-radius: 0; padding: 14px; background: #fff; color: var(--ink); min-height: 52px; }
.form-grid textarea { resize: vertical; }
.form-grid label > span { font-size: 12px; }
.consent-label { display: flex; align-items: start; gap: 12px; margin: 28px 0; font-size: 14px; line-height: 1.6; }
.consent-label input { width: 20px; height: 20px; flex-shrink: 0; margin-top: 2px; accent-color: var(--forest); }
.consent-label a { text-decoration: underline; }
.form-status { font-size: 15px; }
.form-status.error { color: #8c2626; }
.form-status.success { color: #215b39; padding: 20px; border: 1px solid #79a474; }
.cart-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 7vw; }
.cart-layout h2 { font-size: 37px; margin-bottom: 35px; }
.cart-item { display: grid; grid-template-columns: 85px 1fr; gap: 22px; padding: 24px 0; border-top: 1px solid #c2cfb8; }
.cart-item img { width: 85px; height: 105px; object-fit: contain; mix-blend-mode: multiply; }
.cart-item h3 { margin: 0 0 14px; font-size: 24px; }
.cart-item-controls { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.cart-item-controls label { font-size: 12px; display: flex; align-items: center; gap: 8px; }
.cart-item-controls input { width: 65px; padding: 10px; border: 1px solid #809376; background: #fff; }
.cart-item-controls button { border: 0; background: transparent; text-decoration: underline; min-height: 44px; color: #5a6656; }
.cart-summary { border-top: 2px solid #849b78; padding-top: 20px; margin-top: 20px; }
.cart-summary div { display: flex; justify-content: space-between; padding: 10px 0; gap: 20px; }
.cart-summary .total { font-size: 24px; }
.cart-summary p { color: #516256; font-size: 13px; }
.cart-undo { display: flex; gap: 20px; align-items: center; margin-top: 20px; }
.cart-undo button { border: 0; background: none; color: var(--ink); padding: 12px; }
.site-toast { position: fixed; right: 25px; bottom: 25px; background: var(--forest); color: white; padding: 18px 25px; max-width: calc(100vw - 50px); z-index: 150; box-shadow: 0 5px 25px #16352a22; }
@media(min-width:1600px) { .inner-page main { max-width: 1920px; margin: auto; } }
@media(max-width:1100px) {
 .desktop-nav { gap: 19px; }.product-intro { padding: 45px 30px; }.product-main-image { height: 430px; }.product-hero { min-height: 620px; }
 .product-stage { padding: 20px; }.purchase-controls { flex-wrap: wrap; }.product-grid { gap: 50px 24px; }
 .article-layout { gap: 5vw; }.page-hero.has-image { min-height: 580px; }.page-hero-image { height: 520px; }
 .technology-visual { height: 410px; }.article-grid { gap: 45px 25px; }
}
@media(max-width:800px) {
 .brand img { width: 135px; height: 64px; }.page-hero { min-height: 440px; }.page-hero h1 { font-size: clamp(46px,7.5vw,65px); }
 .page-hero.has-image { grid-template-columns: 1.2fr 1fr; gap: 25px; min-height: 550px; }.has-image h1 { font-size: 48px; }.page-hero-image { height: 480px; }
 .product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.product-grid .product-tile:nth-child(3):last-child { grid-column: 1/-1; display: grid; grid-template-columns: 1fr 1fr; column-gap: 35px; align-items: start; }.product-grid .product-tile:nth-child(3):last-child .product-tile-image { grid-row: 1/4; }
 .product-hero { grid-template-columns: 1fr 1fr; }.product-intro h1 { font-size: 47px; }.product-intro h1 span { font-size: 25px; }.product-stage { padding: 15px; }.product-main-image { width: 100%; height: 380px; }
 .product-intro { padding: 40px 25px; }.purchase-controls .button { padding: 16px 20px; font-size: 14px; }.product-details,.specification-section,.download-section { gap: 35px; }
 .editorial-row { grid-template-columns: 40px 1fr 1.3fr; gap: 25px; }.editorial-row p { font-size: 16px; }
 .page-close { gap: 35px; }.article-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.article-tile:last-child:nth-child(odd) { grid-column: 1/-1; max-width: 550px; }
 .section-intro { align-items: start; flex-direction: column; }.article-layout { grid-template-columns: 1fr; }.article-contents { position: static; columns: 2; }.article-contents h2 { column-span: all; }.article-contents a { break-inside: avoid; }
 .technology-story { gap: 30px; }.technology-visual { height: 340px; }.technology-steps h2 { font-size: 34px; }
 .contact-layout,.cart-layout { grid-template-columns: 1fr; }.contact-aside { position: static; }.contact-aside p { max-width: 600px; }.form-grid { gap: 20px; }.contact-layout > div:last-child { max-width: 700px; }
 .people-profiles { margin-left: 0; }.sector-scenes img { height: 330px; }.space-directory img { height: 270px; }.space-directory h2 { font-size: 27px; }
}
@media(max-width:600px) {
 :root { --page-gutter: 24px; }.page-hero { padding-top: 55px; padding-bottom: 55px; }.page-hero h1 { font-size: clamp(40px,10vw,58px); }.page-hero p { font-size: 17px; }
 .page-hero.has-image { display: flex; flex-direction: column; gap: 35px; padding: 45px 0 0; }.page-hero-copy { padding: 0 var(--page-gutter); width: 100%; }.text-hero .page-hero-copy { padding: 0; }.page-hero-image { height: 340px; width: calc(100% - 24px); margin-left: 24px; border-radius: 30% 0 0 0; }
 .page-section { padding-top: 60px; padding-bottom: 60px; }.page-section > h2 { margin-bottom: 35px; }.page-close { grid-template-columns: 1fr; padding: 60px var(--page-gutter); }.page-close h2 { font-size: 40px; }
 .product-hero { display: flex; flex-direction: column; }.product-stage { min-height: 370px; }.product-main-image { height: 320px; max-width: 350px; }.product-stage-word { font-size: 250px; bottom: -30px; }.product-intro { padding: 35px var(--page-gutter) 45px; }.product-intro h1 { font-size: 55px; }.product-intro h1 span { font-size: 26px; }.purchase-controls { flex-wrap: nowrap; }.purchase-controls .button { flex: 1; }.product-purchase > p { font-size: 12px; }
 .product-details,.specification-section,.download-section { grid-template-columns: 1fr; gap: 25px; }.page-jump-nav { gap: 8px 23px; padding-top: 16px; padding-bottom: 16px; font-size: 13px; }
 .product-grid { grid-template-columns: 1fr; gap: 45px; }.product-grid .product-tile:nth-child(3):last-child { display: block; }.product-tile-image { aspect-ratio: 1.1; }.product-tile > p { min-height: 0; }.tile-heading h3 { font-size: 28px; }.tile-heading { margin-top: 20px; }
 .editorial-row { grid-template-columns: 30px 1fr; gap: 12px 15px; padding: 28px 0; }.editorial-row h3 { font-size: 28px; }.editorial-row p { grid-column: 2; font-size: 17px; }.row-number { font-size: 14px; }
 .document-directory { grid-template-columns: 1fr; gap: 45px; }.reading-copy { font-size: 17px; }.sector-scenes { grid-template-columns: 1fr; gap: 32px; }.sector-scenes figure:nth-child(2) { margin-top: 0; }.sector-scenes img { height: 300px; }
 .space-directory { grid-template-columns: 1fr; gap: 35px; }.space-directory a:nth-child(even) { transform: none; }.space-directory h2 { font-size: 28px; }.space-directory img { height: 300px; }
 .article-grid { grid-template-columns: 1fr; gap: 45px; }.article-tile:last-child:nth-child(odd) { grid-column: auto; }.article-tile h3 { font-size: 28px; }.article-tile p { font-size: 16px; }
 .article-header { padding: 50px var(--page-gutter) 35px; }.article-header h1 { font-size: 42px; }.article-header > p { font-size: 17px; }.article-cover { padding: 0; }.article-cover img { height: 290px; }.article-layout { padding: 40px var(--page-gutter) 60px; gap: 40px; }.article-contents { columns: 1; }.article-body { font-size: 17px; }.article-body h2 { font-size: 30px; }.article-body blockquote { font-size: 24px; padding-left: 22px; }.article-callout { padding: 23px; }
 .technology-story { display: block; }.technology-visual { position: relative; top: auto; height: 350px; margin-bottom: 40px; }.technology-steps article { min-height: 0; padding: 30px 0; }.technology-steps h2 { font-size: 32px; }.technology-steps p { font-size: 17px; }.people-profiles { grid-template-columns: 1fr; gap: 35px; }
 .form-grid { grid-template-columns: 1fr; }.form-grid input,.form-grid textarea,.form-grid select { font-size: 16px; }.policy-body { padding: 35px 24px 60px; }.cart-item { gap: 15px; }.cart-item-controls { gap: 10px; }.cart-item-controls label { font-size: 11px; }.cart-item-controls input { width: 55px; }
 .footer-brand img { width: 205px; height: 100px; }.site-toast { right: 15px; bottom: 15px; max-width: calc(100vw - 30px); }
}
@media(prefers-reduced-motion:reduce) { .inner-page *, .inner-page *::before, .inner-page *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }.technology-visual { position: relative; top: auto; } }
/* Override homepage-specific layout rules that share component names. */
.inner-page main { padding-top: 0; }
.inner-page .product-purchase { display: block; }
.inner-page .product-purchase .button { margin: 0; }
.pollen-calendar { max-width: 900px; margin-left: auto; }
.pollen-calendar > div { display: grid; grid-template-columns: 1fr 1.5fr; gap: 30px; padding: 25px 0; border-top: 1px solid #bdcbb4; }
.pollen-calendar h3,.pollen-calendar p { margin: 0; }
.pollen-calendar > p { margin-bottom: 35px; }
.pollen-calendar .text-link { margin-top: 30px; }
@media(max-width:600px) { .pollen-calendar > div { grid-template-columns: 1fr; gap: 15px; } }
.product-intro { min-width: 0; }
@media(max-width:360px) { .product-intro h1 { font-size: 42px; }.purchase-controls { gap: 10px; }.purchase-controls .button { padding: 16px 14px; } }
/* V2 launch story: supplied product visuals, distinct from the available range. */
.v2-launch { padding: clamp(65px,7vw,110px) var(--page-gutter); background: #17372c; color: #f2f5e9; overflow: clip; }
.v2-launch figure,.v2-product-page figure { margin: 0; }
.v2-launch-lead { display: grid; grid-template-columns: .86fr 1.4fr; gap: 4vw; align-items: center; }
.v2-launch-copy h2 { font-size: clamp(62px,7vw,108px); line-height: 1; letter-spacing: -.065em; font-weight: 500; margin: 0 0 20px; }
.launch-status { display: inline-flex; gap: 9px; align-items: center; padding: 8px 13px; border: 1px solid currentColor; font-size: 14px; line-height: 1.4; font-weight: 500; width: fit-content; }
.v2-launch .launch-status { color: #c5e6c8; margin: 0 0 28px; }
.v2-launch-copy h3 { font-size: clamp(27px,2.7vw,40px); line-height: 1.12; letter-spacing: -.045em; font-weight: 500; margin: 0 0 24px; }
.v2-launch-copy > p:not(.launch-status) { font-size: 17px; line-height: 1.75; color: #d6e2d0; margin: 0 0 28px; max-width: 480px; }
.v2-launch-render { overflow: hidden; background: #07120e; }
.v2-launch-render img { width: 100%; height: auto; display: block; }
.v2-life-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 7vw; margin: 65px 0 32px; align-items: end; }
.v2-life-intro h3 { font-size: clamp(28px,3vw,44px); line-height: 1.1; letter-spacing: -.04em; font-weight: 500; margin: 0; }
.v2-life-intro p { font-size: 16px; color: #d6e2d0; line-height: 1.7; margin: 0; max-width: 510px; }
.v2-lifestyle-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.v2-lifestyle-pair img { width: 100%; height: auto; display: block; }
.v2-launch .v2-lifestyle-pair img { aspect-ratio: 1.2; object-fit: cover; object-position: center 30%; }
.v2-visual-note { font-size: 13px; line-height: 1.65; margin: 22px 0 0; max-width: 800px; color: #516256; }
.v2-launch .v2-visual-note { color: #cbdac6; }
.v2-product-hero { display: grid; grid-template-columns: 1fr 1.3fr; align-items: center; background: #e8eddf; }
.v2-product-copy { padding: 60px 4vw 60px var(--page-gutter); min-width: 0; }
.v2-product-copy h1 { font-size: clamp(100px,10vw,160px); margin: 0 0 25px; }
.v2-product-copy h1 span { display: block; font-size: clamp(29px,3vw,44px); line-height: 1.12; letter-spacing: -.045em; margin-top: 18px; }
.v2-product-copy .launch-status { color: #365e41; margin: 0 0 25px; }
.v2-product-copy > p:not(.launch-status):not(.v2-launch-note) { color: #516256; font-size: 17px; line-height: 1.7; margin: 0 0 30px; max-width: 520px; }
.v2-product-copy .v2-launch-note { font-size: 13px; line-height: 1.65; color: #516256; max-width: 430px; margin: 22px 0 0; }
.v2-product-render { background: #07120e; align-self: stretch; display: grid; align-items: center; overflow: hidden; }
.v2-product-render img { width: 100%; height: auto; display: block; }
.v2-section-heading { display: grid; grid-template-columns: 1.15fr 1fr; gap: 6vw; align-items: end; margin-bottom: 50px; }
.v2-section-heading h2 { margin: 0; }
.v2-section-heading > p { color: #516256; font-size: 18px; max-width: 520px; margin: 0; }
.v2-engineering-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 6vw; align-items: center; margin-bottom: 70px; }
.v2-engineering-grid img { width: 100%; height: auto; display: block; }
.v2-engineering-grid h3 { font-size: clamp(28px,3vw,42px); margin: 0 0 25px; }
.v2-engineering-grid p { color: #516256; margin-bottom: 24px; }
.v2-product-page figcaption { font-size: 14px; color: #516256; line-height: 1.7; margin-top: 17px; }
.v2-internals { max-width: 1120px; margin: 0 auto !important; }
.v2-internals img { width: 100%; height: auto; display: block; }
.v2-internals figcaption { display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.v2-internals figcaption a { text-decoration: underline; text-underline-offset: 4px; }
.v2-development { background: #e8eddf; display: grid; grid-template-columns: 1.1fr 1fr; gap: 7vw; }
.v2-development h2 { margin: 0 0 25px; }
.v2-development p { color: #516256; max-width: 470px; margin-bottom: 28px; }
.product-grid .v2-collection-tile { grid-column: 1/-1; display: grid; grid-template-columns: 1.3fr 1fr; align-items: center; background: #e8eddf; }
.v2-collection-image { background: #07120e; display: block; }
.v2-collection-image img { width: 100%; height: auto; display: block; }
.v2-collection-copy { padding: 35px 4vw; }
.v2-collection-copy h3 { font-size: clamp(44px,5vw,76px); margin: 0 0 20px; }
.v2-collection-copy .launch-status { margin: 0 0 20px; color: #365e41; }
.v2-collection-copy > p:not(.launch-status) { line-height: 1.7; margin: 0 0 25px; max-width: 400px; color: #516256; }
@media(max-width:950px) {
 .v2-launch-lead { grid-template-columns: 1fr 1.15fr; gap: 30px; }.v2-launch-copy h2 { font-size: 68px; }.v2-launch-copy h3 { font-size: 30px; }.v2-launch-copy > p:not(.launch-status) { font-size: 16px; }
 .v2-product-hero { grid-template-columns: 1fr 1fr; }.v2-product-copy { padding: 40px 30px; }.v2-product-copy h1 { font-size: 110px; }.v2-product-copy h1 span { font-size: 32px; }
 .v2-engineering-grid { gap: 35px; }.v2-collection-copy { padding: 30px; }.v2-collection-copy h3 { font-size: 50px; }
}
@media(max-width:650px) {
 .v2-launch { padding: 55px 24px; }.v2-launch-lead { grid-template-columns: 1fr; gap: 35px; }.v2-launch-copy h2 { font-size: 76px; }.v2-launch-copy h3 { font-size: 34px; }.v2-launch-render { margin: 0 -24px !important; }
 .v2-life-intro { grid-template-columns: 1fr; gap: 20px; margin-top: 45px; }.v2-lifestyle-pair { gap: 14px; }.v2-launch .v2-lifestyle-pair img { aspect-ratio: .75; object-position: center 22%; }.v2-visual-note { font-size: 12px; }
 .v2-product-hero { display: flex; flex-direction: column; }.v2-product-copy { padding: 45px 24px 35px; width: 100%; }.v2-product-copy h1 { font-size: 104px; }.v2-product-copy h1 span { font-size: 33px; }.v2-product-render { width: 100%; }
 .v2-section-heading,.v2-engineering-grid,.v2-development { grid-template-columns: 1fr; gap: 28px; }.v2-section-heading { margin-bottom: 30px; }.v2-section-heading > p { font-size: 17px; }.v2-engineering-grid { margin-bottom: 40px; }.v2-engineering-grid p:last-child { margin-bottom: 0; }
 .v2-spaces .v2-lifestyle-pair { grid-template-columns: 1fr; gap: 25px; }.v2-internals figcaption { font-size: 12px; gap: 8px; }.v2-development h2 { font-size: 38px; }
 .product-grid .v2-collection-tile { grid-template-columns: 1fr; }.v2-collection-copy { padding: 28px 24px 35px; }.v2-collection-copy h3 { font-size: 56px; }
}
@media(prefers-reduced-motion:reduce) { .v2-launch-render img { transform: none !important; } }

/* HEPA Pro: the existing forest/sage palette, a product-led editorial opening. */
.nav-hepa {color:#315c27;white-space:nowrap}
.home-hepa-links {display:flex;flex-wrap:wrap;gap:12px 25px;margin:24px 0}
.hepa-hero {display:grid;grid-template-columns:1fr 1fr;min-height:680px;background:#e8eddf;overflow:hidden}
.hepa-hero-copy {padding:clamp(48px,6vw,90px) 0 clamp(48px,6vw,90px) clamp(24px,5.5vw,88px);position:relative;z-index:1}
.hepa-hero h1 {font-size:clamp(54px,6.8vw,108px);font-weight:500;line-height:.99;letter-spacing:-.065em;margin:0 0 32px;text-wrap:balance}
.hepa-hero-copy p {max-width:530px;font-size:18px;line-height:1.7;margin:0 0 18px}
.hepa-hero-copy p + p {font-size:15px;max-width:450px}
.hepa-actions {display:flex;align-items:center;flex-wrap:wrap;gap:18px 28px;margin-top:28px}
.hepa-actions .text-link {margin:0}
.hepa-hero-visual {position:relative;display:grid;place-items:center;isolation:isolate;min-width:0}
.hepa-hero-name {position:absolute;left:2%;bottom:8%;font-size:clamp(130px,16vw,260px);letter-spacing:-.08em;line-height:.83;color:#c8d4bb;z-index:-1;pointer-events:none}
.hepa-hero-product {width:100%;max-width:720px;height:100%;max-height:700px;object-fit:contain;padding:35px 0}
.hepa-nav {display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 20px;padding:20px 5.5vw}
.hepa-nav a {display:flex;align-items:center;gap:8px;min-height:44px;font-size:13px;line-height:1.5}
.hepa-nav a span {display:none}
.hepa-section>h2,.hepa-order h2 {font-size:clamp(36px,4.5vw,72px);line-height:1.04;letter-spacing:-.055em;font-weight:500;max-width:900px;margin:0 0 50px;text-wrap:balance}
.hepa-section p,.hepa-order p {font-size:17px;line-height:1.75;max-width:70ch}
.hepa-section h3 {font-size:clamp(23px,2vw,32px);line-height:1.15;font-weight:500;letter-spacing:-.035em;margin:0 0 20px}
.hepa-technologies article {display:grid;grid-template-columns:1fr 1.25fr;gap:8vw;padding:40px 0;border-top:1px solid #b8c6af}
.hepa-technologies .technology-name {font-size:15px;color:#506347;margin-top:15px}
.hepa-technologies p {margin-top:0}
.hepa-technologies article .text-link {font-size:13px;margin-top:10px}
.hepa-evidence-panel {background:#234235;color:#f4f6f0}
.hepa-evidence-panel .text-link {color:#f4f6f0;border-color:#97ab89}
.hepa-evidence-panel .button {background:#f4f6f0;color:#234235}
.hepa-evidence-intro {display:grid;grid-template-columns:1fr 1fr;gap:0 6vw}
.hepa-evidence-intro .hepa-actions {grid-column:1/-1}
.hepa-split-copy {display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:start}
.hepa-split-copy>div {min-width:0}
.hepa-split-copy>p {margin-top:0}
.hepa-section .hepa-note {font-size:14px;line-height:1.75;color:#53634c;margin-top:30px}
.hepa-section .spec-table {width:100%;margin:0}
.hepa-section .spec-table div {gap:20px}
.hepa-section .text-link {max-width:100%;overflow-wrap:anywhere}
.hepa-section .download-list {min-width:0}
.hepa-section .download-list a {padding:22px 0;gap:12px}
.hepa-section .download-list small {font-size:12px}
.hepa-section .faq-list details .text-link {margin:0 25px 25px}
.concern-directory {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #b8c6af}
.concern-directory>a {padding:32px 40px 32px 0;border-bottom:1px solid #b8c6af;text-decoration:none;transition:background .2s}
.concern-directory>a:nth-child(even) {padding-left:40px;border-left:1px solid #b8c6af}
.concern-directory>a:hover {background:#e8eddf}
.concern-directory h3 {display:flex;justify-content:space-between;gap:20px}
.concern-directory p {max-width:45ch;font-size:15px}
.evidence-questions {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4vw}
.hepa-order {display:grid;grid-template-columns:1.25fr 1fr;gap:8vw;background:#e8eddf}
.hepa-order .product-purchase {border:0;margin:0;padding:0;align-self:center}
.hepa-order .product-purchase>strong {font-size:clamp(44px,5vw,78px);font-weight:500;letter-spacing:-.05em;display:block;margin-bottom:25px}
.hepa-order h2 {margin-bottom:28px}
.hepa-mobile-action {display:none}
.study-grid {display:grid;grid-template-columns:1fr 1fr;gap:40px;margin:40px 0}
.study-card {padding:30px 0;border-top:1px solid #a8b79f}
.study-detail dd {overflow-wrap:anywhere}
.hepa-flagship section[id],.hepa-support-page section[id] {scroll-margin-top:110px}
.hepa-support-page table {font-variant-numeric:tabular-nums}
@media (min-width:951px) and (max-width:1200px) {
 .desktop-nav {gap:14px}.header-shop {display:none}
}
@media (max-width:950px) {
 .hepa-hero {min-height:560px;grid-template-columns:1.15fr 1fr}
 .hepa-hero h1 {font-size:clamp(48px,7.5vw,72px)}
 .hepa-hero-copy {padding-top:55px;padding-bottom:55px}
 .hepa-hero-copy p {font-size:16px}
 .hepa-hero-name {font-size:17vw;bottom:20%}
 .hepa-technologies article {gap:5vw}
 .hepa-section>h2 {margin-bottom:35px}
 .hepa-nav {justify-content:flex-start;gap:4px 25px}
 .hepa-order {gap:5vw}
}
@media (max-width:650px) {
 .hepa-hero {grid-template-columns:1fr;min-height:0}
 .hepa-hero-copy {padding:44px 24px 12px}
 .hepa-hero h1 {font-size:clamp(48px,11.8vw,72px);max-width:500px;margin-bottom:24px}
 .hepa-hero-copy p {max-width:40ch}
 .hepa-hero .hepa-actions {gap:18px;margin-top:22px}
 .hepa-hero-visual {height:350px}
 .hepa-hero-product {width:92%;max-height:360px;padding:0}
 .hepa-hero-name {left:10%;bottom:18%;font-size:31vw}
 .hepa-nav {padding:16px 24px;display:grid;grid-template-columns:1fr 1fr;gap:4px 16px}
 .hepa-nav a {font-size:12px}
 .hepa-section>h2,.hepa-order h2 {font-size:clamp(34px,9vw,48px);margin-bottom:30px}
 .hepa-technologies article,.hepa-split-copy,.hepa-order,.hepa-evidence-intro {grid-template-columns:1fr;gap:24px}
 .hepa-technologies article {padding:28px 0;gap:5px}
 .hepa-technologies .technology-name {margin-bottom:15px}
 .hepa-section p {font-size:16px}
 .hepa-actions {gap:18px}
 .concern-directory {grid-template-columns:1fr}
 .concern-directory>a,.concern-directory>a:nth-child(even) {padding:24px 0;border-left:0}
 .concern-directory h3 {font-size:26px;margin-bottom:12px}
 .evidence-questions,.study-grid {grid-template-columns:1fr;gap:26px}
 .hepa-flagship {padding-bottom:calc(84px + env(safe-area-inset-bottom))}
 .hepa-mobile-action {display:flex;position:fixed;bottom:0;left:0;right:0;z-index:30;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px calc(12px + env(safe-area-inset-bottom));background:#f4f6f0;border-top:1px solid #a8b79f}
 .hepa-mobile-action[hidden] {display:none}
 .hepa-mobile-action>span {font-size:12px}
 .hepa-mobile-action strong {display:block;font-size:20px;font-weight:600}
 .hepa-mobile-action .button {font-size:12px;padding:14px;min-height:48px;gap:15px}
 .hepa-flagship {scroll-padding-bottom:100px}
 .hepa-flagship :is(a,button,input,summary) {scroll-margin-block:110px}
 .hepa-flagship .site-toast {bottom:110px}
 .hepa-section .download-list a {display:flex;flex-wrap:wrap}
 .hepa-section .download-list a small {width:100%;order:2}
}
.comparison-scroll-hint {display:none}
@media(max-width:650px) {
 .comparison-scroll-hint {display:block;font-size:14px !important}
 .hepa-support-page .table-wrap caption {max-width:calc(100vw - 48px)}
 .hepa-support-page .table-wrap th:first-child {position:sticky;left:0;z-index:1;background:#f4f6f0;min-width:140px;max-width:160px;padding-right:18px;box-shadow:5px 0 0 #f4f6f0}
}

/* Unified navigation type: button resets must not override the main links. */
.site-header .desktop-nav>a,.site-header .desktop-nav>button.nav-trigger {font-family:Manrope,Arial,sans-serif;font-size:14px;font-weight:600;line-height:1.4;letter-spacing:-.015em}
.site-header .desktop-nav {gap:22px}
.site-header .desktop-nav .nav-hepa {text-decoration:underline;text-decoration-color:#518040;text-underline-offset:8px;text-decoration-thickness:2px}
.hepa-nav a {font-size:14px;font-weight:600;letter-spacing:-.01em}
/* Product and room are deliberately layered as an editorial composition. */
.hepa-hero-visual {margin:28px 28px 28px 35px;border-radius:180px 0 0 0;overflow:hidden;background:#dce5d1;align-self:stretch}
.hepa-hero-room {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.8;z-index:-2}
.hepa-hero-visual::after {content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(244,246,240,.05),rgba(220,229,209,.93));z-index:-1}
.hepa-hero-name {color:#fff;opacity:.9;left:3%;bottom:9%;font-size:clamp(130px,15vw,240px);z-index:0}
.hepa-hero-product {position:relative;z-index:1;max-height:670px;transform-origin:center bottom;filter:drop-shadow(12px 28px 14px rgba(26,51,36,.12))}
.hepa-explore {background:#fff}
.hepa-explore-heading {display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:60px}
.hepa-explore-heading h2 {margin:0;font-size:clamp(40px,5vw,76px)}
.hepa-explore-heading>p {max-width:330px;margin-bottom:5px;color:#506347;font-size:17px}
.hepa-explore-layout {display:grid;grid-template-columns:1fr 1.1fr;gap:7vw;align-items:start}
.hepa-tech-stage {background:#edf1e7;position:sticky;top:calc(var(--header) + 25px);border-radius:150px 150px 0 0;min-width:0;overflow:hidden}
.hepa-tech-figure {margin:0;padding:35px 25px 22px}
.hepa-tech-image {height:450px;display:grid;place-items:center;overflow:hidden}
.hepa-tech-image img {height:100%;width:auto;max-width:100%;object-fit:contain;mix-blend-mode:multiply}
.visual-filter .hepa-tech-image img {height:78%}
.visual-monitor .hepa-tech-image {position:relative}
.visual-monitor .hepa-tech-image img {position:absolute;width:180%;max-width:none;height:auto;top:15px;left:-40%;mix-blend-mode:normal}
.hepa-tech-figure figcaption {font-size:12px;text-align:center;margin-top:25px;color:#4e6046;line-height:1.6}
.hepa-tech-step {border-top:1px solid #bac7b1}
.hepa-tech-step:last-child {border-bottom:1px solid #bac7b1}
.hepa-tech-step summary {display:flex;align-items:center;justify-content:space-between;gap:25px;cursor:pointer;list-style:none;padding:27px 0}
.hepa-tech-step summary::-webkit-details-marker {display:none}
.hepa-tech-step summary h3 {margin:0;font-size:clamp(23px,2.2vw,34px)}
.hepa-tech-step summary>span {font-size:25px;font-weight:400;transition:transform .25s}
.hepa-tech-step[open] summary>span {transform:rotate(45deg)}
.hepa-tech-step[open] summary {color:#3b612f}
.hepa-tech-description {padding:0 0 30px;max-width:60ch}
.hepa-tech-description h4 {font-size:18px;font-weight:600;margin:0 0 14px;letter-spacing:-.02em}
.hepa-tech-description p {font-size:16px;color:#506347;margin:0 0 20px}
.hepa-tech-description .text-link {font-size:12px}
.hepa-flagship .hepa-evidence-panel {display:grid;grid-template-columns:1fr 1.2fr;gap:7vw;align-items:start;position:relative;overflow:hidden}
.hepa-flagship .hepa-evidence-panel>h2 {margin:0;font-size:clamp(42px,5vw,76px)}
.hepa-flagship .hepa-evidence-intro {grid-template-columns:1fr;gap:0}
.hepa-flagship .hepa-evidence-intro p:first-child {font-size:24px;line-height:1.5;margin-top:0}
.hepa-flagship .hepa-evidence-intro p:nth-child(2) {color:#d5dfce;font-size:16px}
.hepa-spaces-editorial {display:grid;grid-template-columns:1.25fr 1fr;gap:5vw;margin-bottom:75px}
.hepa-spaces-editorial>a {text-decoration:none}
.hepa-space-work {padding-top:130px}
.hepa-space-photo {height:440px;overflow:hidden}
.hepa-space-work .hepa-space-photo {height:350px;border-radius:130px 0 0 0}
.hepa-space-photo img {width:100%;height:100%;object-fit:cover;transition:transform .6s}
.hepa-spaces-editorial>a:hover img {transform:scale(1.035)}
.hepa-spaces-editorial h3 {display:flex;align-items:center;justify-content:space-between;margin:25px 0 12px;font-size:34px}
.hepa-spaces-editorial p {font-size:16px;margin:0;color:#506347}
.hepa-uses-editorial .concern-directory {grid-template-columns:repeat(3,minmax(0,1fr))}
.hepa-uses-editorial .concern-directory>a,.hepa-uses-editorial .concern-directory>a:nth-child(even) {padding:25px;border-left:0}
.hepa-uses-editorial .concern-directory h3 {font-size:23px}
.hepa-uses-editorial .concern-directory p {font-size:14px}
.hepa-size-study {margin:0 0 35px;background:#e8eddf;padding:20px 20px 25px}
.hepa-size-image {height:370px;position:relative;max-width:390px;margin:auto}
.hepa-size-image img {width:100%;height:100%;object-fit:contain}
.hepa-height {position:absolute;right:10%;top:15%;height:70%;border-right:1px solid #708366;padding-right:10px;writing-mode:vertical-rl;text-align:center;font-size:13px}
.hepa-width {position:absolute;bottom:8%;left:33%;width:33%;text-align:center;border-bottom:1px solid #708366;padding-bottom:4px;font-size:13px}
.hepa-size-study figcaption {font-size:14px;line-height:1.6;text-align:center}
.hepa-care-image {height:520px;position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:end;padding:65px var(--page-gutter)}
.hepa-care-image>img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.hepa-care-image::after {content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,36,27,.78),rgba(13,36,27,.1));z-index:-1}
.hepa-care-image h3 {font-size:clamp(42px,5.5vw,84px);color:white;margin:0 0 20px;max-width:800px}
.hepa-care-image p {color:#fff;font-size:18px;margin:0}
@media(min-width:951px) and (max-width:1200px) {.site-header .desktop-nav {gap:18px}.site-header .desktop-nav>a,.site-header .desktop-nav>button.nav-trigger {font-size:13px}}
@media(max-width:950px) {
 .hepa-hero-visual {margin:20px 20px 20px 15px;border-radius:120px 0 0 0}
 .hepa-explore-heading {gap:30px;align-items:start}.hepa-explore-heading>p {max-width:240px}
 .hepa-explore-layout {gap:35px}.hepa-tech-image {height:370px}.hepa-tech-stage {border-radius:100px 100px 0 0}
 .hepa-spaces-editorial {gap:30px}.hepa-space-photo {height:330px}.hepa-space-work {padding-top:90px}.hepa-space-work .hepa-space-photo {height:280px}
 .hepa-uses-editorial .concern-directory {grid-template-columns:1fr 1fr}
}
@media(max-width:650px) {
 .hepa-nav a {font-size:13px}
 .hepa-hero-visual {height:400px;margin:20px 24px 28px;border-radius:120px 0 0 0}
 .hepa-hero-product {height:400px;max-height:400px;width:100%}.hepa-hero-name {font-size:37vw;bottom:8%}
 .hepa-explore-heading {display:block;margin-bottom:30px}.hepa-explore-heading>p {max-width:40ch;margin-top:20px;font-size:16px}
 .hepa-explore-layout {grid-template-columns:1fr;gap:25px}
 .hepa-tech-stage {position:static;border-radius:100px 100px 0 0}.hepa-tech-figure {padding:22px 20px 18px}.hepa-tech-image {height:300px}.hepa-tech-figure figcaption {margin-top:15px}
 .hepa-tech-step summary {padding:23px 0}.hepa-tech-description p {font-size:15px}
 .hepa-flagship .hepa-evidence-panel {grid-template-columns:1fr;gap:30px}.hepa-flagship .hepa-evidence-intro p:first-child {font-size:20px}
 .hepa-spaces-editorial {gap:28px;grid-template-columns:1fr;margin-bottom:45px}.hepa-space-work {padding-top:0;margin-left:32px}.hepa-space-photo {height:300px}.hepa-space-work .hepa-space-photo {height:260px;border-radius:100px 0 0 0}
 .hepa-spaces-editorial h3 {font-size:28px;margin-top:20px}
 .hepa-uses-editorial .concern-directory {grid-template-columns:1fr}.hepa-uses-editorial .concern-directory>a,.hepa-uses-editorial .concern-directory>a:nth-child(even) {padding:22px 0}
 .hepa-size-image {height:330px}
 .hepa-care-image {height:400px;padding:40px 24px}.hepa-care-image h3 {font-size:42px}
}
@media(prefers-reduced-motion:reduce) {.hepa-space-photo img,.hepa-tech-step summary>span {transition:none}}
.hepa-tech-image {grid-template-rows:minmax(0,1fr)}
.hepa-tech-image img {min-height:0;max-height:100%}
.hepa-size-image img {height:calc(100% - 30px)}
.hepa-width {bottom:0}
.hepa-flagship #specifications .text-link {display:flex;width:fit-content;margin:12px 0}
.hepa-hero-room {object-position:left center}
.hepa-space-home .hepa-space-photo img {width:150%;max-width:none;object-position:left center}
.hepa-care-image>img {object-position:center 40%}
.visual-filter .hepa-tech-image {max-width:360px;margin:auto}
.visual-filter .hepa-tech-image img {width:108%;max-width:none;height:100%;object-fit:cover}
