/* INASEN / The spatial edit — typography, composition and interaction. */
:root { --paper:#f6f5f1; --line:#dcddd5; --nav-size:84px; --soft:#e9ece3; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
html { scroll-padding-top:calc(var(--nav-size) + 24px); }
::selection { background:#c83d3030; }
.header { height:var(--nav-size); gap:30px; z-index:40; transition:background .3s,border-color .3s,box-shadow .3s; }
.has-scrolled .header { background:#f6f5f1f5; border-color:#d4d8ca; box-shadow:0 5px 25px #20251c05; }
.desktop-nav { gap:24px; }
.desktop-nav a { font-size:12px; }
.header-tools { gap:20px; }
.wordmark { letter-spacing:2.3px; }
.header-cta { min-height:46px; padding:14px 18px; font-size:11px; }
.nav-entry { display:flex; align-items:center; gap:3px; }
.nav-disclosure { width:18px; height:36px; display:grid; place-items:center; padding:0; }
.nav-disclosure svg { width:12px; height:12px; transition:transform .25s; }
.nav-disclosure[aria-expanded=true] svg { transform:rotate(180deg); }
.navigation-shade { position:fixed; inset:var(--nav-size) 0 0; z-index:29; background:#1b211c3d; backdrop-filter:blur(3px); }
.mega-menu { position:fixed; top:var(--nav-size); left:0; right:0; z-index:35; display:grid; grid-template-columns:.85fr 2fr; gap:7%; padding:40px 4.2% 44px; background:var(--paper); border-bottom:1px solid var(--line); box-shadow:0 25px 40px #1820100c; max-height:calc(100dvh - var(--nav-size)); overflow:auto; animation:menu-appear .3s var(--ease); }
.mega-intro>.eyebrow { font-size:8px; color:var(--muted); }
.mega-intro h2 { font-size:27px; line-height:1.5; letter-spacing:-.7px; white-space:pre-line; margin:24px 0 23px; }
.mega-intro .text-link { font-size:11px; }
.mega-collection { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; padding-right:14px; }
.mega-picture { position:relative; height:150px; overflow:hidden; }
.mega-picture img { width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease); }
.mega-collection>a:hover img { transform:scale(1.04); }
.mega-picture>span { position:absolute; top:13px; left:13px; right:13px; color:white; font-size:9px; letter-spacing:1px; }
.mega-link-copy { display:flex; flex-direction:column; gap:9px; padding:18px 0 0; }
.mega-link-copy strong { font-size:14px; font-weight:400; }
.mega-link-copy small { font-size:7px; letter-spacing:1px; color:var(--muted); }
.mega-close { position:absolute; right:16px; top:12px; font-size:25px; }
.navigation-open .comparison-strip,.navigation-open .product-inquiry-dock { opacity:0; pointer-events:none; }
.section-pad { padding-top:112px; padding-bottom:112px; }
.section-heading { margin-bottom:48px; }
.section-heading h2 { font-weight:400; font-size:clamp(34px,3.45vw,54px); letter-spacing:-1.8px; }
.section-index { letter-spacing:1.9px; font-size:9px; margin-bottom:24px; }
.interior-intro h1 { font-weight:500; letter-spacing:-2.8px; }
.interior-lead { font-size:12px; color:#71776b; }
.breadcrumb { padding-top:24px; padding-bottom:24px; font-size:9px; }
.hero { min-height:665px; }
.hero-visual { min-height:665px; }
.hero h1 { font-weight:500; font-size:clamp(48px,5.1vw,82px); letter-spacing:-3.8px; }
.hero-description { font-size:13px; }
.hero-copy { padding-top:76px; }
.hero-tab { padding-top:29px; padding-bottom:29px; }
.hero-tab.active { background:#ecefe5; }
.hero-tab:before { height:2px; }
.hero-tab strong { font-size:13px; }
.button { position:relative; overflow:hidden; }
.button>span:last-child { transition:translate .25s var(--ease); }
.button:hover>span:last-child { translate:3px -3px; }
.text-link { text-underline-offset:6px; transition:color .2s,border-color .2s; }
.round-arrow { transition:background .3s,border-color .3s,rotate .3s; }
.round-arrow:hover { rotate:45deg; }

/* A curated project viewer, followed by an asymmetric spatial index. */
.project-masthead { display:grid; grid-template-columns:minmax(0,1.8fr) minmax(230px,.8fr); gap:5%; align-items:end; margin:26px 4.2% 43px; }
.project-masthead>.eyebrow,.project-masthead .eyebrow { display:flex; align-items:center; gap:9px; font-size:8px; letter-spacing:1.8px; }
.project-masthead h1 { font-size:clamp(45px,5.2vw,80px); font-weight:400; letter-spacing:-3px; line-height:1.35; margin:26px 0 0; }
.project-masthead h1>span { display:inline-block; white-space:nowrap; }
.masthead-aside { padding-bottom:4px; }
.masthead-script { display:block; font-family:Georgia,"Times New Roman",serif; font-style:italic; font-size:26px; letter-spacing:-.8px; color:#828977; margin-bottom:16px; }
.masthead-aside>p { font-size:11px; line-height:1.9; color:var(--muted); white-space:pre-line; }
.masthead-aside .text-link { font-size:10px; margin-top:13px; }
.project-explorer { display:grid; grid-template-columns:minmax(0,1fr) 295px; margin:0 4.2%; min-height:575px; position:relative; }
.feature-stage { min-height:575px; background:#343b2e; position:relative; overflow:hidden; }
.feature-image-link { display:block; min-height:575px; height:100%; position:relative; color:#fff; }
.feature-image-link>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:52% center; transition:transform 1s var(--ease); }
.feature-image-link:hover>img { transform:scale(1.025); }
.feature-vignette { position:absolute; inset:0; background:linear-gradient(180deg,#0003,transparent 23%,transparent 35%,#111a0dcc); }
.feature-topline { position:absolute; top:29px; left:34px; right:34px; display:flex; justify-content:space-between; font-size:8px; letter-spacing:1.4px; gap:20px; }
.feature-caption { position:absolute; left:38px; right:38px; bottom:53px; }
.feature-caption .eyebrow { font-size:8px; letter-spacing:1.9px; color:#e1e5d9; }
.feature-caption h2 { font-size:clamp(32px,3.45vw,52px); letter-spacing:-1.5px; font-weight:400; margin:17px 0 14px; line-height:1.3; }
.feature-caption>p:not(.eyebrow) { font-size:11px; line-height:1.8; color:#e0e4d8; }
.feature-explore { display:inline-flex; align-items:center; gap:55px; padding:12px 0 9px; border-bottom:1px solid #d5dac180; font-size:11px; margin-top:16px; }
.feature-explore>span:last-child { font-size:21px; transition:translate .3s; }
.feature-image-link:hover .feature-explore>span:last-child { translate:4px -4px; }
.feature-art-label { position:absolute; bottom:20px; left:38px; font-size:7px; letter-spacing:1.4px; color:#c1cbb6; }
.feature-rail { display:flex; flex-direction:column; background:var(--soft); }
.feature-rail-heading { padding:31px 27px 28px; }
.feature-rail-heading>.eyebrow { font-size:8px; letter-spacing:1.5px; color:var(--muted); }
.feature-rail-heading h2 { font-size:28px; line-height:1.45; letter-spacing:-.6px; font-weight:400; margin-top:20px; white-space:pre-line; }
.feature-choice { display:grid; grid-template-columns:18px minmax(0,1fr) 14px; gap:8px 11px; align-items:start; width:100%; padding:23px 26px; text-align:left; border-top:1px solid #d0d5c5; transition:background .35s; }
.feature-choice-index { font-size:9px; color:var(--muted); padding-top:3px; }
.feature-choice strong { display:block; font-size:13px; font-weight:400; line-height:1.6; }
.feature-choice small { display:block; font-size:9px; color:var(--muted); line-height:1.7; margin-top:7px; }
.feature-choice-arrow { font-size:16px; transition:rotate .3s; }
.feature-choice>img { grid-column:2/-1; width:100%; height:72px; max-height:0; opacity:0; object-fit:cover; margin-top:0; transition:max-height .35s var(--ease),opacity .4s,margin .35s; }
.feature-choice.active { background:var(--paper); }
.feature-choice.active .feature-choice-index,.feature-choice.active strong,.feature-choice.active .feature-choice-arrow { color:var(--red); }
.feature-choice.active .feature-choice-arrow { rotate:45deg; }
.feature-choice.active>img { max-height:72px; opacity:1; margin-top:12px; }
.feature-rail-bottom { display:flex; align-items:center; gap:9px; margin-top:auto; padding:22px 26px; border-top:1px solid #d0d5c5; font-size:8px; color:var(--muted); line-height:1.8; }
.feature-rail-bottom .red-dot { width:4px; height:4px; }
.premium-archive { padding-top:110px; }
.premium-archive>.collection-toolbar { position:sticky; top:var(--nav-size); z-index:9; background:var(--paper); min-height:68px; }
.archive-tools { display:flex; align-items:center; gap:22px; }
.layout-switch { display:flex; align-items:center; gap:5px; }
.layout-switch>button { width:34px; height:34px; display:grid; place-items:center; color:#909787; border:1px solid transparent; }
.layout-switch svg { width:15px; height:15px; }
.layout-switch button[aria-pressed=true] { color:var(--ink); border-color:#cbd1c0; }
.premium-archive .project-index-grid { grid-template-columns:repeat(12,minmax(0,1fr)); gap:45px 36px; margin-top:42px; }
.premium-archive .project-index-card { grid-column:span 7; margin:0; }
.premium-archive .project-index-card:nth-child(2) { grid-column:span 5; margin-top:125px; }
.premium-archive .project-index-card:nth-child(3) { grid-column:4/-1; margin-top:22px; }
.premium-archive .project-picture { height:420px; }
.premium-archive .project-index-card:nth-child(2) .project-picture { height:350px; }
.premium-archive .project-index-card:nth-child(3) .project-picture { height:450px; }
.premium-archive .project-card-copy { align-items:start; gap:20px; margin-top:26px; }
.premium-archive .project-card-copy h2 { font-size:28px; font-weight:400; letter-spacing:-.9px; }
.project-card-note { font-size:11px; line-height:1.8; margin-top:14px; color:var(--muted); }
.premium-archive .project-card-copy>.text-link { white-space:nowrap; font-size:10px; margin-top:20px; }
.premium-archive .project-index-grid[data-filtered=true]>.project-index-card { grid-column:1/-1; margin-top:0; }
.premium-archive .project-index-grid[data-filtered=true] .project-picture { height:480px; }
.premium-archive .project-index-grid[data-layout=list] { display:block; }
.premium-archive .project-index-grid[data-layout=list]>.project-index-card { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr); gap:45px; padding:28px 0; border-bottom:1px solid var(--line); margin-top:0; }
.premium-archive .project-index-grid[data-layout=list] .project-picture { height:230px; }
.premium-archive .project-index-grid[data-layout=list] .project-card-copy { flex-direction:column; justify-content:center; margin:0; }
.archive-disclaimer { margin-top:60px; padding-top:22px; border-top:1px solid var(--line); font-size:9px; }

/* Catalogue and equipment: larger image planes and a quieter information layer. */
.collection-opening { display:grid; grid-template-columns:minmax(0,.87fr) minmax(0,1.13fr); gap:6%; margin:12px 4.2% 0; }
.collection-opening>.interior-intro { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:30px 0; gap:0; }
.collection-opening .interior-intro h1 { font-size:clamp(40px,4.35vw,67px); font-weight:400; line-height:1.3; }
.collection-opening .interior-lead { margin-top:29px; font-size:12px; }
.collection-opening>.wide-banner { height:440px; margin:0; }
.collection-opening .banner-label { flex-wrap:wrap; left:24px; right:24px; gap:12px; }
.collection-opening .banner-label>span:first-child { flex-basis:100%; font-size:8px; }
.collection-opening .banner-label>span:nth-child(2) { font-size:11px; }
.catalog-layout { grid-template-columns:195px minmax(0,1fr); gap:7%; padding-top:95px; }
.category-rail { position:sticky; top:calc(var(--nav-size) + 35px); align-self:start; }
.category-rail>h2 { font-weight:400; margin-top:18px; }
.rail-filter { padding:21px 0; }
.rail-filter.active { padding-left:14px; color:var(--ink); }
.rail-filter.active:before { content:""; position:absolute; left:0; top:50%; width:4px; height:4px; margin-top:-2px; background:var(--red); }
.rail-help { background:transparent; padding:24px 0; margin-top:30px; border-top:1px solid var(--line); }
.catalog-products { grid-template-columns:repeat(3,minmax(0,1fr)); gap:42px 30px; padding-bottom:32px; }
.catalog-products .product-card:nth-child(even) { margin-top:0; }
.catalog-products .product-media { aspect-ratio:1.12; }
.product-media { isolation:isolate; }
.product-media:before { content:attr(data-frame); position:absolute; top:17px; right:17px; z-index:1; font-size:8px; letter-spacing:1px; color:white; text-shadow:0 1px 8px #0005; pointer-events:none; }
.product-series { font-size:8px; top:17px; left:17px; }
.product-add { width:38px; height:38px; bottom:14px; right:14px; background:var(--paper); font-size:21px; }
.quick-view-button { position:absolute; bottom:14px; left:14px; display:flex; gap:25px; align-items:center; padding:12px 15px; font-size:10px; background:#f6f5f1ee; color:var(--ink); opacity:0; translate:0 8px; transition:opacity .25s,translate .3s,background .25s; }
.quick-view-button:hover { background:#fff; }
.product-media:hover .quick-view-button,.product-media:focus-within .quick-view-button { opacity:1; translate:0 0; }
.product-info { padding-top:22px; }
.product-top h3,.catalog-products .product-top h3 { font-size:22px; font-weight:400; letter-spacing:-.5px; }
.product-top>button { width:30px; height:30px; display:grid; place-items:center; border:1px solid #cdd2c3; border-radius:50%; font-size:14px; transition:background .2s,color .2s; }
.product-top>button:hover { background:var(--ink); color:white; }
.product-subtitle { font-size:10px; margin-top:12px; }
.product-bottom { padding-top:18px; margin-top:23px; }
.product-bottom>a,.product-bottom>button,.compare-check { font-size:10px; }
.detail-hero { grid-template-columns:minmax(0,1.32fr) minmax(0,1fr); gap:6%; padding-top:22px; padding-bottom:85px; }
.detail-gallery { display:grid; grid-template-columns:65px minmax(0,1fr); gap:20px; align-content:start; }
.detail-stage { grid-column:2; grid-row:1; height:600px; }
.detail-thumbs { grid-column:1; grid-row:1; flex-direction:column; gap:13px; padding:0; align-items:stretch; }
.detail-thumbs>button { width:65px; height:64px; }
.detail-thumbs>span { margin:18px 0 0; font-size:8px; text-align:center; }
.detail-gallery>.page-note { grid-column:1/-1; line-height:1.9; margin-top:0; }
.detail-summary { position:sticky; top:calc(var(--nav-size) + 25px); align-self:start; padding-top:22px; }
.detail-summary h1 { font-size:clamp(40px,4.1vw,62px); font-weight:400; letter-spacing:-2.2px; }
.detail-description { font-size:12px; line-height:2; }
.detail-summary .product-facts>div { padding:17px 0; font-size:10px; }
.detail-actions { margin-top:32px; }
.detail-nav,.reading-progress { top:var(--nav-size); }
.detail-nav { min-height:66px; }
.detail-nav a { position:relative; }
.detail-nav a:after { content:""; position:absolute; bottom:0; left:0; right:0; height:2px; background:var(--red); transform:scaleX(0); transition:transform .25s; }
.detail-nav a[aria-current]:after { transform:scaleX(1); }
.spec-data>div { padding:24px 0; }
.resource-panel { padding:38px; }
.product-inquiry-dock { position:fixed; bottom:18px; left:50%; translate:-50% 0; width:min(850px,calc(100% - 48px)); z-index:23; display:flex; align-items:center; gap:30px; padding:13px 15px; background:#f6f5f1f5; backdrop-filter:blur(15px); border:1px solid #ccd2c1; box-shadow:0 12px 55px #24301817; animation:dock-appear .3s var(--ease); }
.product-inquiry-dock>div { display:flex; gap:15px; align-items:center; margin-right:auto; }
.product-inquiry-dock img { width:52px; height:52px; object-fit:cover; }
.product-inquiry-dock small { display:block; font-size:7px; color:var(--muted); letter-spacing:1px; margin-bottom:8px; }
.product-inquiry-dock strong { font-size:17px; font-weight:400; }
.product-inquiry-dock>a { font-size:11px; }
.product-inquiry-dock .button { min-height:46px; font-size:11px; padding:13px 20px; gap:35px; }
.comparison-strip { position:fixed; bottom:18px; left:50%; translate:-50% 0; width:min(850px,calc(100% - 48px)); z-index:24; background:#f6f5f1f5; backdrop-filter:blur(18px); border:1px solid #c7cebc; display:flex; align-items:center; gap:22px; padding:17px 19px; box-shadow:0 15px 65px #1f281d1c; animation:dock-appear .3s var(--ease); }
.comparison-strip-label { margin-right:auto; flex-shrink:0; }
.comparison-strip-label .eyebrow { display:block; font-size:7px; letter-spacing:1.2px; color:var(--muted); margin-bottom:7px; }
.comparison-strip-label strong { display:block; font-size:12px; font-weight:400; }
.comparison-chips { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.comparison-chip { display:flex; gap:10px; align-items:center; border:1px solid #cdd4c2; padding:7px 8px 7px 11px; font-size:10px; }
.comparison-chip>button { width:21px; height:21px; display:grid; place-items:center; font-size:16px; }
.comparison-start { display:flex; align-items:center; justify-content:space-between; gap:23px; min-height:43px; padding:13px 18px; font-size:11px; background:var(--ink); color:white; white-space:nowrap; }
.comparison-start>span:last-child { font-size:17px; }
.comparison-start:disabled { opacity:.42; }
.comparison-visible .product-inquiry-dock { bottom:110px; }
.comparison-visible .toast,.inquiry-dock-visible .toast { bottom:120px; }
.comparison-visible .footer { padding-bottom:125px; }

/* Secondary pages retain the same editorial cadence and interaction language. */
.solution-showcase { display:flex; gap:18px; }
.solution-scene { flex:1; min-width:0; height:560px; transition:flex .65s var(--ease); }
.solution-scene:first-child { flex:1.35; }
.solution-showcase:has(.solution-scene:hover) .solution-scene,.solution-showcase:has(.solution-scene:focus-visible) .solution-scene { flex:1; }
.solution-showcase .solution-scene:hover,.solution-showcase .solution-scene:focus-visible { flex:1.7; }
.solution-scene>div { bottom:32px; left:27px; right:27px; }
.solution-scene h2 { font-size:31px; font-weight:400; margin-top:19px; line-height:1.45; }
.solution-scene .round-arrow { margin-top:30px; }
.planner-panel { border:1px solid #cfd5c4; padding:40px; background:var(--paper); }
.planner-choice { transition:background .25s,border-color .25s,padding .25s; }
.planner-choice.active { background:#e6ebdd; padding-left:22px; }
.process-number { font-size:13px; font-family:Georgia,serif; font-style:italic; }
.process-grid h3 { font-size:22px; font-weight:400; }
.about-hero h1 { font-weight:400; line-height:1.4; }
.about-hero-picture { height:690px; }
.about-detail>div:first-child { margin-top:60px; }
.values-grid h3 { font-weight:400; font-size:30px; }
.resource-cards { gap:0; }
.resource-cards>article { background:transparent; padding:35px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); border-right:1px solid var(--line); }
.resource-cards>article:first-child { border-left:1px solid var(--line); }
.resource-symbol { font-family:Georgia,serif; color:#7a856d; margin-bottom:50px; }
.resource-cards h2 { font-weight:400; font-size:27px; }
.faq-item summary { padding:25px 0; }
.faq-item[open] summary { color:var(--red); }
.standard-tabs button { transition:border-color .25s,color .25s; }
.contact-form-wrap { background:#fbfcf8; border:1px solid #dbe0d2; padding:38px; }
.contact-form-wrap h2 { font-size:34px; font-weight:400; }
.contact-form-wrap .section-index { font-size:8px; }
.contact-form-wrap input,.contact-form-wrap select,.contact-form-wrap textarea { border:0; border-bottom:1px solid #bdc8b0; background:#f0f3ea; padding:15px 13px; }
.contact-form-wrap input:focus,.contact-form-wrap select:focus,.contact-form-wrap textarea:focus { outline:1px solid #74836a; outline-offset:0; background:#f5f8f1; }
.contact-form-wrap .form-note { background:transparent; border-left:2px solid #bcc8ac; padding:0 0 0 14px; color:#7a846f; }
.contact-topic { transition:padding .25s,background .25s; }
.contact-topic.active { background:#e9ede1; padding-left:17px; padding-right:17px; }
.contact-selection { margin-top:48px; }
.journal-grid { grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:65px 40px; }
.journal-grid>article:first-child { grid-column:1/-1; display:grid; grid-template-columns:1.3fr 1fr; column-gap:48px; align-content:start; }
.journal-grid>article:first-child .journal-picture { grid-row:1/6; height:420px; }
.journal-grid>article:first-child>.eyebrow { margin-top:35px; }
.journal-grid>article:first-child h2 { font-size:35px; line-height:1.6; margin-top:20px; }
.journal-grid>article:first-child>.text-link { align-self:start; justify-self:start; margin-top:24px; }
.journal-grid h2 { font-weight:400; }
.project-cta { padding-top:90px; padding-bottom:90px; }
.project-cta h2 { font-size:clamp(42px,4.5vw,70px); font-weight:400; line-height:1.35; letter-spacing:-2px; }
.project-cta .eyebrow { letter-spacing:2px; }
.footer-signature { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; border-bottom:1px solid var(--line); padding-bottom:45px; margin-bottom:55px; }
.footer-signature>a { font-size:clamp(80px,16vw,235px); font-weight:700; letter-spacing:-.075em; line-height:.85; }
.footer-signature sup { font-size:13px; letter-spacing:0; vertical-align:top; display:inline-block; padding-top:6px; padding-left:15px; }
.footer-signature>div { min-width:180px; padding-bottom:5px; }
.footer-signature p { font-size:8px; letter-spacing:1.1px; color:var(--muted); margin-bottom:18px; }
.footer-signature>div>span { font-size:12px; line-height:1.9; white-space:pre-line; }
.footer-brand>.wordmark { display:none; }
.footer-brand>p { margin-top:0; }
.footer-grid { padding-bottom:50px; }
.footer-column-title { margin-top:0; }
.reveal-element { opacity:0; transform:translateY(25px); transition:opacity .7s var(--ease) var(--reveal-delay,0ms),transform .8s var(--ease) var(--reveal-delay,0ms); }
.reveal-element.is-revealed { opacity:1; transform:none; }
@keyframes menu-appear { from { opacity:0; translate:0 -8px; } to { opacity:1; translate:0 0; } }
@keyframes dock-appear { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }

/* Denser catalogue rows, aligned across each breakpoint. */
@media (min-width:1550px) {
  .catalog-products { grid-template-columns:repeat(4,minmax(0,1fr)); }
}

@media (max-width:1190px) {
  :root { --nav-size:80px; }
  .header { gap:22px; }
  .desktop-nav { gap:19px; }
  .desktop-nav a { font-size:11px; }
  .header-tools { gap:16px; }
  .mega-menu { gap:5%; }
  .mega-intro h2 { font-size:24px; }
  .mega-picture { height:135px; }
  .project-masthead { grid-template-columns:minmax(0,1.8fr) minmax(220px,.85fr); gap:4%; }
  .project-masthead h1 { font-size:54px; letter-spacing:-2.5px; }
  .masthead-script { font-size:23px; }
  .project-explorer { grid-template-columns:minmax(0,1fr) 265px; }
  .feature-stage,.feature-image-link { min-height:545px; }
  .feature-rail-heading { padding:27px 24px 25px; }
  .feature-rail-heading h2 { font-size:26px; }
  .feature-choice { padding:21px 22px; column-gap:8px; }
  .feature-choice strong { font-size:12px; }
  .feature-choice small { font-size:8px; }
  .feature-rail-bottom { padding:20px 22px; font-size:7px; }
  .feature-caption { left:30px; right:30px; }
  .feature-caption h2 { font-size:38px; }
  .feature-topline { left:30px; right:30px; }
  .feature-art-label { left:30px; }
  .premium-archive .project-index-grid { column-gap:27px; }
  .premium-archive .project-index-card:nth-child(2) { margin-top:100px; }
  .premium-archive .project-picture { height:370px; }
  .premium-archive .project-index-card:nth-child(2) .project-picture { height:300px; }
  .premium-archive .project-index-card:nth-child(3) .project-picture { height:400px; }
  .premium-archive .project-card-copy { flex-direction:column; gap:14px; }
  .premium-archive .project-card-copy>.text-link { margin-top:0; }
  .collection-opening .interior-intro h1 { font-size:49px; }
  .collection-opening>.wide-banner { height:420px; }
  .catalog-layout { grid-template-columns:170px minmax(0,1fr); gap:5%; }
  .catalog-products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:35px 24px; }
  .catalog-products .product-card:nth-child(even) { margin-top:0; }
  .product-top h3,.catalog-products .product-top h3 { font-size:20px; }
  .detail-gallery { grid-template-columns:55px minmax(0,1fr); gap:14px; }
  .detail-thumbs>button { width:55px; height:54px; }
  .detail-stage { height:540px; }
  .detail-summary .product-facts>div { font-size:10px; }
  .detail-summary .button { font-size:11px; }
  .solution-scene { height:510px; }
  .solution-scene h2 { font-size:27px; }
  .planner-panel { padding:30px; }
  .contact-form-wrap { padding:30px; }
  .contact-form-wrap h2 { font-size:29px; }
  .about-hero-picture { height:580px; }
  .resource-cards>article { padding:30px; }
  .resource-cards h2 { font-size:24px; }
  .journal-grid>article:first-child { column-gap:35px; }
  .journal-grid>article:first-child h2 { font-size:30px; }
  .journal-grid>article:first-child .journal-picture { height:400px; }
  .footer-signature { gap:30px; }
  .footer-signature>div { min-width:160px; }
}
@media (max-width:1050px) {
  .desktop-nav { display:none; }
  .header-tools { margin-left:auto; }
  .menu-toggle { display:flex; flex-direction:column; justify-content:center; gap:6px; width:27px; }
  .menu-toggle span { height:1px; background:var(--ink); width:22px; transition:transform .2s; }
  .menu-toggle[aria-expanded=true] span:first-child { transform:translateY(3.5px) rotate(45deg); }
  .menu-toggle[aria-expanded=true] span:last-child { transform:translateY(-3.5px) rotate(-45deg); }
  .mobile-menu:not([hidden]) { display:flex; position:fixed; z-index:39; top:var(--nav-size); left:0; right:0; background:var(--paper); padding:20px 4.2% 25px; flex-direction:column; border-bottom:1px solid var(--line); box-shadow:0 25px 30px #0001; }
  .mobile-menu a { padding:17px 0; border-bottom:1px solid var(--line); font-size:16px; }
  .mobile-menu a[aria-current=page] { color:var(--red); }
}
@media (max-width:900px) {
  :root { --nav-size:76px; }
  .section-pad { padding-top:80px; padding-bottom:80px; }
  .hero,.hero-visual { min-height:570px; }
  .hero-copy { padding-top:55px; }
  .hero h1 { font-size:44px; letter-spacing:-2px; }
  .hero-description { font-size:11px; }
  .project-masthead { grid-template-columns:minmax(0,1.3fr) minmax(210px,.8fr); gap:30px; margin-top:24px; margin-bottom:35px; }
  .project-masthead h1 { font-size:43px; line-height:1.5; letter-spacing:-2px; text-wrap:balance; }
  .project-masthead .eyebrow { font-size:7px; letter-spacing:1.3px; }
  .masthead-script { font-size:21px; }
  .masthead-aside>p { font-size:10px; }
  .project-explorer { grid-template-columns:minmax(0,1fr) 240px; }
  .feature-stage,.feature-image-link { min-height:525px; }
  .feature-rail-heading { padding:26px 22px 24px; }
  .feature-rail-heading>.eyebrow { font-size:7px; }
  .feature-rail-heading h2 { font-size:24px; margin-top:16px; }
  .feature-choice { padding:19px 20px; column-gap:8px; grid-template-columns:16px minmax(0,1fr) 12px; }
  .feature-choice strong { font-size:11px; }
  .feature-choice small { font-size:8px; }
  .feature-choice>img { height:62px; }
  .feature-choice.active>img { max-height:62px; }
  .feature-caption { left:25px; right:25px; bottom:50px; }
  .feature-caption h2 { font-size:31px; line-height:1.5; }
  .feature-caption>p:not(.eyebrow) { font-size:10px; }
  .feature-caption .eyebrow { font-size:7px; }
  .feature-topline { left:25px; right:25px; font-size:7px; top:25px; }
  .feature-art-label { left:25px; }
  .feature-explore { font-size:10px; gap:35px; margin-top:12px; }
  .premium-archive .project-index-grid { column-gap:23px; }
  .premium-archive .project-index-card:nth-child(2) { margin-top:80px; }
  .premium-archive .project-picture { height:330px; }
  .premium-archive .project-index-card:nth-child(2) .project-picture { height:270px; }
  .premium-archive .project-index-card:nth-child(3) .project-picture { height:350px; }
  .premium-archive .project-card-copy h2 { font-size:25px; }
  .project-card-note { font-size:10px; }
  .archive-tools { gap:15px; }
  .archive-tools .small-muted { font-size:8px; }
  .premium-archive .filters { gap:21px; }
  .premium-archive .filter { font-size:11px; }
  .premium-archive .project-index-grid[data-layout=list]>.project-index-card { gap:30px; }
  .collection-opening { gap:5%; }
  .collection-opening .interior-intro h1 { font-size:39px; }
  .collection-opening .interior-lead { font-size:11px; margin-top:23px; }
  .collection-opening>.wide-banner { height:390px; }
  .collection-opening .banner-label { left:20px; right:20px; font-size:10px; }
  .collection-opening .banner-label>span:nth-child(2) { font-size:10px; }
  .catalog-layout { grid-template-columns:145px minmax(0,1fr); gap:4%; }
  .catalog-products { gap:30px 20px; }
  .catalog-products .product-card:nth-child(even) { margin-top:0; }
  .product-top h3,.catalog-products .product-top h3 { font-size:18px; }
  .product-subtitle { font-size:10px; }
  .quick-view-button { gap:14px; padding:11px 12px; font-size:9px; }
  .detail-hero { gap:4%; }
  .detail-gallery { grid-template-columns:45px minmax(0,1fr); gap:12px; }
  .detail-thumbs>button { width:45px; height:48px; }
  .detail-stage { height:450px; }
  .detail-summary h1 { font-size:36px; }
  .detail-description { font-size:10px; }
  .detail-summary .product-facts>div { font-size:9px; padding:14px 0; }
  .detail-actions { margin-top:24px; }
  .detail-summary .button { font-size:10px; }
  .product-inquiry-dock { gap:22px; }
  .product-inquiry-dock .button { gap:20px; }
  .comparison-strip { gap:15px; padding:15px; }
  .comparison-strip-label strong { font-size:10px; }
  .comparison-chip { gap:5px; font-size:9px; padding:6px 6px 6px 9px; }
  .comparison-chips { gap:6px; }
  .comparison-start { font-size:10px; gap:15px; padding:12px 14px; }
  .solution-scene { height:450px; }
  .solution-scene>div { left:20px; right:20px; }
  .solution-scene h2 { font-size:24px; }
  .solution-scene .eyebrow { font-size:7px; }
  .solution-showcase .solution-scene:hover,.solution-showcase .solution-scene:focus-visible { flex:1.4; }
  .planner-panel { padding:26px; }
  .process-grid h3 { font-size:20px; }
  .about-hero-picture { height:520px; }
  .about-detail>div:first-child { margin-top:30px; }
  .contact-form-wrap { padding:26px; }
  .contact-form-wrap h2 { font-size:27px; }
  .resource-cards>article { padding:25px; }
  .resource-cards h2 { font-size:21px; }
  .journal-grid>article:first-child { column-gap:28px; }
  .journal-grid>article:first-child .journal-picture { height:370px; }
  .journal-grid>article:first-child h2 { font-size:26px; line-height:1.5; }
  .journal-grid>article:first-child>.eyebrow { margin-top:20px; }
  .project-cta { padding-top:70px; padding-bottom:70px; }
  .project-cta h2 { font-size:40px; }
  .footer-signature { gap:25px; padding-bottom:35px; margin-bottom:45px; }
  .footer-signature>div { min-width:150px; }
  .footer-signature p { font-size:7px; letter-spacing:.7px; }
  .footer-signature>div>span { font-size:11px; }
}
@media (max-width:640px) {
  :root { --nav-size:72px; }
  .header { gap:15px; }
  .header-tools { gap:16px; }
  .mobile-menu:not([hidden]) { padding:15px 22px 25px; }
  .mobile-menu a { font-size:15px; }
  .section-pad { padding:65px 22px; }
  .section-heading { margin-bottom:28px; }
  .section-heading h2 { font-size:33px; letter-spacing:-1px; }
  .section-index { font-size:8px; margin-bottom:18px; }
  .breadcrumb { padding:18px 22px; font-size:8px; }
  .interior-intro h1 { letter-spacing:-1.8px; }
  .hero { min-height:0; }
  .hero-copy { padding:43px 23px 35px; }
  .hero h1 { font-size:48px; line-height:1.3; letter-spacing:-2.8px; margin-top:27px; }
  .hero-description { font-size:12px; }
  .hero-visual { min-height:0; height:380px; }
  .hero-tab { padding:20px 9px; }
  .hero-tab strong { font-size:10px; }
  .project-masthead { display:block; margin:20px 22px 32px; }
  .project-masthead .eyebrow { font-size:7px; letter-spacing:1.3px; }
  .project-masthead h1 { font-size:clamp(36px,10.5vw,43px); line-height:1.4; letter-spacing:-2px; margin-top:24px; max-width:340px; text-wrap:balance; }
  .masthead-aside { margin-top:24px; padding:0; }
  .masthead-script { font-size:23px; margin-bottom:12px; }
  .masthead-aside>p { font-size:10px; line-height:1.9; }
  .masthead-aside>.text-link { font-size:9px; margin-top:9px; }
  .project-explorer { display:block; margin:0 22px; }
  .feature-stage,.feature-image-link { min-height:470px; }
  .feature-topline { top:24px; left:22px; right:22px; font-size:6px; letter-spacing:.9px; }
  .feature-caption { left:23px; right:23px; bottom:49px; }
  .feature-caption h2 { font-size:32px; letter-spacing:-1px; margin:16px 0 13px; }
  .feature-caption>p:not(.eyebrow) { font-size:10px; line-height:1.9; }
  .feature-caption>.eyebrow { font-size:7px; letter-spacing:1px; }
  .feature-explore { font-size:10px; gap:40px; margin-top:11px; padding-bottom:8px; }
  .feature-art-label { left:23px; bottom:19px; font-size:6px; }
  .feature-rail-heading { padding:17px 18px 15px; }
  .feature-rail-heading>.eyebrow { font-size:7px; letter-spacing:1.3px; }
  .feature-rail-heading h2 { display:none; }
  .feature-choices { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
  .feature-choice { position:relative; display:block; padding:18px 13px 19px; min-height:96px; height:100%; border-right:1px solid #d0d5c5; }
  .feature-choice:last-child { border-right:0; }
  .feature-choice-index { display:block; font-size:8px; margin-bottom:13px; }
  .feature-choice strong { font-size:11px; font-weight:400; line-height:1.7; }
  .feature-choice small,.feature-choice>img { display:none; }
  .feature-choice-arrow { position:absolute; right:12px; top:20px; font-size:13px; }
  .feature-choice.active:after { content:""; position:absolute; bottom:0; left:0; right:0; height:2px; background:var(--red); }
  .feature-rail-bottom { padding:15px 18px; font-size:7px; letter-spacing:.3px; }
  .premium-archive { padding-top:65px; }
  .premium-archive>.collection-toolbar { min-height:0; flex-direction:column; gap:5px; padding-bottom:9px; align-items:stretch; }
  .premium-archive .filters { gap:16px; justify-content:space-between; width:100%; }
  .premium-archive .filter { font-size:10px; padding:17px 0; }
  .archive-tools { width:100%; justify-content:space-between; gap:16px; }
  .archive-tools .small-muted { font-size:7px; }
  .layout-switch>button { width:31px; height:31px; }
  .layout-switch svg { width:14px; height:14px; }
  .premium-archive .project-index-grid { grid-template-columns:1fr; gap:38px; margin-top:29px; }
  .premium-archive .project-index-card,.premium-archive .project-index-card:nth-child(2),.premium-archive .project-index-card:nth-child(3) { grid-column:1/-1; margin:0; }
  .premium-archive .project-picture,.premium-archive .project-index-card:nth-child(2) .project-picture,.premium-archive .project-index-card:nth-child(3) .project-picture { height:330px; }
  .premium-archive .project-card-copy { margin-top:20px; gap:13px; }
  .premium-archive .project-card-copy h2 { font-size:26px; letter-spacing:-.7px; }
  .premium-archive .project-card-copy .eyebrow { font-size:7px; }
  .project-card-note { font-size:10px; line-height:1.9; margin-top:12px; }
  .premium-archive .project-card-copy>.text-link { font-size:10px; }
  .premium-archive .project-index-grid[data-filtered=true] .project-picture { height:330px; }
  .premium-archive .project-index-grid[data-layout=list]>.project-index-card { grid-template-columns:115px minmax(0,1fr); gap:19px; padding:24px 0; }
  .premium-archive .project-index-grid[data-layout=list] .project-picture { height:168px; }
  .premium-archive .project-index-grid[data-layout=list] .project-card-copy { gap:12px; }
  .premium-archive .project-index-grid[data-layout=list] .project-card-copy h2 { font-size:20px; line-height:1.5; margin-top:10px; }
  .premium-archive .project-index-grid[data-layout=list] .project-card-copy .eyebrow { font-size:6px; line-height:1.8; }
  .premium-archive .project-index-grid[data-layout=list] .project-card-note { display:none; }
  .premium-archive .project-index-grid[data-layout=list] .project-card-copy>.text-link { font-size:9px; }
  .premium-archive .project-index-grid[data-layout=list] .project-image-index { font-size:6px; left:10px; top:12px; letter-spacing:.6px; }
  .premium-archive .project-index-grid[data-layout=list] .round-arrow { width:28px; height:28px; font-size:15px; right:12px; bottom:13px; }
  .archive-disclaimer { margin-top:35px; font-size:8px; }
  .collection-opening { display:block; margin:0 22px; }
  .collection-opening>.interior-intro { padding:21px 0 32px; }
  .collection-opening .interior-intro h1 { font-size:41px; line-height:1.35; }
  .collection-opening .interior-lead { font-size:11px; margin-top:23px; }
  .collection-opening>.wide-banner { height:305px; }
  .collection-opening .banner-label { left:19px; right:19px; bottom:20px; gap:11px; }
  .collection-opening .banner-label>span:first-child { font-size:7px; }
  .collection-opening .banner-label>span:nth-child(2) { font-size:9px; }
  .catalog-layout { display:block; padding-top:38px; }
  .category-rail { position:static; }
  .rail-filter { padding:18px 0; }
  .catalog-products { padding-bottom:0; gap:30px 14px; }
  .catalog-products .product-card:nth-child(even) { margin-top:0; }
  .catalog-products .product-media { aspect-ratio:.9; }
  .product-info { padding-top:16px; }
  .product-top h3,.catalog-products .product-top h3 { font-size:15px; letter-spacing:-.2px; }
  .product-top>button { width:24px; height:24px; font-size:12px; }
  .product-subtitle,.catalog-products .product-subtitle { font-size:9px; margin-top:9px; }
  .product-series { left:12px; top:13px; font-size:7px; letter-spacing:.7px; }
  .product-media:before { top:13px; right:12px; font-size:7px; }
  .product-add { width:31px; height:31px; bottom:11px; right:11px; font-size:20px; }
  .quick-view-button { bottom:11px; left:11px; gap:12px; font-size:8px; padding:10px 11px; }
  .product-bottom { padding-top:14px; margin-top:17px; }
  .product-bottom>a,.product-bottom>button,.compare-check { font-size:9px; }
  .detail-hero { padding:14px 22px 45px; display:flex; gap:28px; }
  .detail-gallery { display:flex; flex-direction:column; gap:0; }
  .detail-stage { height:360px; order:0; }
  .detail-thumbs { flex-direction:row; align-items:center; gap:11px; order:1; padding:15px 0; }
  .detail-thumbs>button { width:62px; height:54px; }
  .detail-thumbs>span { margin:0 0 0 auto; font-size:8px; }
  .detail-gallery>.page-note { order:2; font-size:8px; }
  .detail-summary { position:static; padding-top:0; }
  .detail-summary h1 { font-size:44px; }
  .detail-description { font-size:12px; line-height:1.95; }
  .detail-summary .product-facts>div { font-size:11px; padding:18px 0; }
  .detail-summary .button { font-size:12px; min-height:50px; }
  .detail-actions { margin-top:28px; }
  .detail-nav { min-height:57px; }
  .resource-panel { padding:27px; }
  .spec-data>div { padding:20px 0; }
  .product-inquiry-dock { width:calc(100% - 24px); bottom:12px; padding:10px 12px; gap:15px; }
  .product-inquiry-dock>div { gap:10px; }
  .product-inquiry-dock img { width:39px; height:42px; }
  .product-inquiry-dock small { font-size:5px; letter-spacing:.6px; margin-bottom:7px; }
  .product-inquiry-dock strong { font-size:13px; }
  .product-inquiry-dock>a { display:none; }
  .product-inquiry-dock .button { font-size:9px; min-height:43px; gap:17px; padding:12px 13px; }
  .comparison-strip { width:calc(100% - 24px); bottom:12px; display:grid; grid-template-columns:1fr; gap:9px; padding:12px; }
  .comparison-strip-label { display:none; }
  .comparison-chips { justify-content:center; gap:6px; flex-wrap:nowrap; }
  .comparison-chip { gap:4px; padding:4px 5px 4px 8px; font-size:9px; }
  .comparison-chip>button { width:20px; height:24px; font-size:15px; }
  .comparison-start { width:100%; min-height:37px; padding:10px 14px; font-size:10px; }
  .comparison-start>span:last-child { font-size:15px; }
  .comparison-visible .product-inquiry-dock { bottom:135px; }
  .comparison-visible .toast,.inquiry-dock-visible .toast { bottom:135px; }
  .comparison-visible .footer { padding-bottom:150px; }
  .solution-showcase { display:grid; gap:18px; }
  .solution-scene { height:355px; flex:initial!important; }
  .solution-scene>div { bottom:25px; left:24px; right:24px; }
  .solution-scene h2 { font-size:29px; margin-top:16px; }
  .solution-scene .eyebrow { font-size:7px; }
  .solution-scene .round-arrow { margin-top:0; }
  .planner-panel { padding:25px 22px; }
  .planner-choice.active { padding-left:19px; }
  .process-grid h3 { font-size:19px; }
  .about-hero-picture { height:405px; }
  .about-hero h1 { font-size:39px; }
  .about-detail>div:first-child { margin-top:0; }
  .values-grid h3 { font-size:25px; }
  .resource-cards { gap:20px; }
  .resource-cards>article { padding:29px; border:1px solid var(--line); }
  .resource-symbol { margin-bottom:28px; }
  .resource-cards h2 { font-size:27px; }
  .faq-item summary { padding:22px 0; }
  .contact-form-wrap { padding:26px 21px; }
  .contact-form-wrap h2 { font-size:29px; }
  .contact-form-wrap>.section-heading { margin-bottom:27px; }
  .contact-form-wrap input,.contact-form-wrap select,.contact-form-wrap textarea { font-size:12px; padding:15px 11px; }
  .contact-topic.active { padding-left:15px; padding-right:15px; }
  .contact-selection { margin-top:34px; }
  .journal-grid { display:grid; grid-template-columns:1fr; gap:45px; }
  .journal-grid>article:first-child { display:block; grid-column:1; }
  .journal-grid>article:first-child .journal-picture { height:300px; }
  .journal-grid>article:first-child>.eyebrow { margin-top:25px; }
  .journal-grid>article:first-child h2 { font-size:27px; line-height:1.6; margin-top:17px; }
  .journal-grid>article:first-child>.text-link { margin-top:20px; }
  .project-cta { padding:55px 24px; }
  .project-cta h2 { font-size:39px; letter-spacing:-1.7px; }
  .footer-signature { display:block; padding-bottom:30px; margin-bottom:35px; }
  .footer-signature>a { font-size:clamp(77px,22.5vw,125px); line-height:.95; }
  .footer-signature sup { font-size:9px; padding-top:1px; padding-left:9px; }
  .footer-signature>div { display:flex; align-items:start; justify-content:space-between; gap:25px; margin-top:28px; padding:0; min-width:0; }
  .footer-signature p { font-size:7px; letter-spacing:.5px; margin:2px 0 0; line-height:1.8; max-width:120px; }
  .footer-signature>div>span { font-size:10px; line-height:1.9; }
  .footer-grid { padding-bottom:35px; }
}
@media (hover:none) {
  .quick-view-button { opacity:1; translate:0 0; }
}
/* About / Company journey. Sample chronology is kept in data.js. */
.about-history-link { margin-top:25px; font-size:11px; }
.company-history { overflow-anchor:none; scroll-margin-top:-60px; padding-top:96px; padding-bottom:76px; background:#eceee6; border-top:1px solid #dce0d3; }
.history-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:45px; padding-bottom:48px; margin-bottom:55px; border-bottom:1px solid #cfd5c5; }
.history-heading h2 { font-size:clamp(38px,4.1vw,62px); font-weight:400; letter-spacing:-2px; }
.history-heading .section-index { font-size:9px; letter-spacing:1.8px; }
.history-heading-aside { display:flex; align-items:flex-start; gap:65px; }
.history-intro { font-size:15px; line-height:1.9; color:#535d49; white-space:pre-line; }
.history-disclaimer { display:flex; flex-direction:column; align-items:flex-start; gap:11px; }
.history-disclaimer>p { font-size:9px; line-height:1.8; color:#717b65; }
.history-demo-badge { display:inline-block; font-size:8px; letter-spacing:.8px; padding:7px 9px; border:1px solid #bbc5ae; color:#59664c; }
.history-layout { display:grid; grid-template-columns:190px minmax(0,1fr); gap:7.4%; align-items:start; }
.history-rail { position:sticky; top:calc(var(--nav-size) + 32px); align-self:start; min-width:0; }
.history-rail-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; padding-bottom:22px; }
.history-rail-heading .eyebrow { font-size:8px; color:#717c65; letter-spacing:1.1px; }
.history-counter { font-size:9px; color:#808a74; letter-spacing:.8px; white-space:nowrap; }
.history-counter>span { color:var(--ink); }
.history-years { position:relative; isolation:isolate; }
.history-rail-progress { position:absolute; left:4px; width:1px; top:35px; bottom:35px; background:#c5ceba; z-index:-1; }
.history-rail-progress:after { content:""; display:block; height:var(--history-progress,0%); width:1px; background:var(--red); transition:height .35s ease; }
.history-year { position:relative; min-height:70px; display:grid; grid-template-columns:1fr auto; grid-template-rows:auto auto; column-gap:8px; align-content:center; padding:10px 0 10px 26px; }
.history-year-dot { position:absolute; left:1px; top:31px; width:7px; height:7px; border:1px solid #aab69a; border-radius:50%; background:#eceee6; transition:background .3s,border-color .3s; }
.history-year-number { font-size:28px; line-height:1; letter-spacing:-1px; color:#7b876f; transition:color .25s; }
.history-year-title { grid-column:1; margin-top:7px; font-size:10px; color:#76816a; line-height:1.4; }
.history-year-arrow { grid-column:2; grid-row:1 / 3; align-self:center; color:var(--red); font-size:17px; opacity:0; translate:-5px 0; transition:opacity .25s,translate .25s; }
.history-year.active .history-year-dot,.history-year.is-past .history-year-dot { background:var(--red); border-color:var(--red); }
.history-year.active .history-year-dot { box-shadow:0 0 0 4px #ce3d3010; }
.history-year.active .history-year-number,.history-year:hover .history-year-number { color:var(--ink); }
.history-year.active .history-year-title { color:var(--red); }
.history-year.active .history-year-arrow { opacity:1; translate:0; }
.history-rail-foot { border-top:1px solid #cfd5c5; margin-top:28px; padding-top:20px; }
.history-rail-foot>span { font-size:9px; letter-spacing:1.5px; color:#56624a; }
.history-rail-foot>p { font-size:10px; color:#7a846f; margin-top:10px; line-height:1.7; }
.history-entries { min-width:0; }
.journey-entry { position:relative; padding:38px 0 62px; border-top:1px solid #cfd5c5; scroll-margin-top:8px; outline-offset:6px; }
.journey-entry:first-child { border-top:0; padding-top:0; }
.journey-entry-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:32px; }
.journey-entry-heading>div { display:flex; align-items:baseline; gap:24px; }
.journey-entry-year { font-size:clamp(42px,4vw,58px); line-height:1; letter-spacing:-2.8px; font-weight:400; }
.journey-stage { font-size:12px; color:#5b6750; }
.journey-order { font-size:8px; letter-spacing:1.3px; color:#7b866f; white-space:nowrap; }
.journey-composition { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.15fr); gap:8%; align-items:center; }
.journey-copy { min-width:0; }
.journey-keyword { color:#7d886f; font-size:7px; letter-spacing:1.1px; line-height:1.7; margin-bottom:22px; }
.journey-copy h3 { font-size:clamp(24px,2.3vw,32px); font-weight:400; letter-spacing:-.6px; line-height:1.6; text-wrap:balance; }
.journey-description { margin-top:22px; font-size:12px; line-height:2.05; color:#6c7760; max-width:440px; }
.journey-picture { margin:0; position:relative; background:#d4dacb; overflow:hidden; aspect-ratio:1.17; }
.journey-picture img { width:100%; height:100%; object-fit:cover; transition:transform 1.1s var(--ease); }
.journey-picture:hover img { transform:scale(1.035); }
.journey-picture:after { content:""; position:absolute; inset:65% 0 0; background:linear-gradient(transparent,#121a0f80); pointer-events:none; }
.journey-picture figcaption { position:absolute; bottom:19px; left:20px; right:20px; display:flex; justify-content:space-between; gap:10px; color:white; z-index:1; font-size:7px; letter-spacing:1px; }
.journey-compact { padding-top:35px; padding-bottom:45px; }
.journey-compact .journey-entry-year { font-size:39px; letter-spacing:-1.8px; color:#4d5b40; }
.journey-compact .journey-entry-heading { margin-bottom:23px; }
.journey-compact .journey-composition { display:block; }
.journey-compact .journey-copy { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:0 8%; }
.journey-compact .journey-keyword { grid-column:1 / -1; margin-bottom:14px; }
.journey-compact h3 { font-size:24px; }
.journey-compact .journey-description { margin-top:0; align-self:start; }
.journey-space .journey-composition { grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); align-items:center; }
.journey-space .journey-picture { grid-column:1; grid-row:1; aspect-ratio:1.06; }
.journey-space .journey-copy { grid-column:2; grid-row:1; }
.journey-finale { padding-bottom:35px; }
.journey-finale .journey-composition { display:flex; flex-direction:column-reverse; gap:30px; }
.journey-finale .journey-picture { width:100%; aspect-ratio:2.18; }
.journey-finale .journey-copy { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:0 8%; width:100%; }
.journey-finale .journey-keyword { grid-column:1 / -1; margin-bottom:15px; }
.journey-finale .journey-description { margin-top:0; }
.history-ending { border-top:1px solid #cfd5c5; display:flex; align-items:center; justify-content:space-between; gap:25px; padding-top:25px; }
.history-ending>span { font-size:8px; letter-spacing:1.6px; color:#718063; }
.history-ending .text-link { font-size:10px; }
@media(max-width:1190px) {
  .history-layout { grid-template-columns:160px minmax(0,1fr); gap:6%; }
  .history-heading-aside { gap:35px; }
  .journey-composition { gap:7%; }
  .journey-copy h3 { font-size:25px; }
  .journey-description { font-size:11px; }
  .journey-compact h3 { font-size:22px; }
  .journey-entry-heading>div { gap:20px; }
}
@media(max-width:800px) {
  .company-history { padding-top:75px; padding-bottom:60px; }
  .history-heading { margin-bottom:0; padding-bottom:32px; gap:30px; }
  .history-heading h2 { font-size:42px; }
  .history-heading-aside { gap:25px; }
  .history-intro { font-size:12px; }
  .history-disclaimer>p { font-size:8px; }
  .history-demo-badge { font-size:7px; }
  .history-layout { display:block; }
  .history-rail { top:var(--nav-size); z-index:8; background:#eceee6f5; backdrop-filter:blur(15px); margin-bottom:36px; padding:18px 0 0; border-bottom:1px solid #c9d1be; }
  .history-rail-heading { padding-bottom:7px; }
  .history-rail-heading .eyebrow { font-size:7px; }
  .history-counter { font-size:8px; }
  .history-years { display:flex; gap:0; overflow-x:auto; scrollbar-width:none; padding:0; overscroll-behavior-x:contain; }
  .history-years::-webkit-scrollbar { display:none; }
  .history-year { flex:1 0 105px; min-height:66px; padding:11px 15px 13px 0; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; scroll-snap-align:center; }
  .history-year:after { content:""; position:absolute; left:0; right:15px; bottom:0; height:2px; background:var(--red); transform:scaleX(0); transform-origin:left; transition:transform .3s; }
  .history-year.active:after { transform:scaleX(1); }
  .history-year-number { font-size:27px; }
  .history-year-title { font-size:9px; margin-top:6px; }
  .history-year-arrow,.history-year-dot,.history-rail-progress,.history-rail-foot { display:none; }
  .journey-entry { scroll-margin-top:110px; padding-bottom:46px; }
  .journey-entry-heading { margin-bottom:27px; }
  .journey-entry-year { font-size:45px; }
  .journey-copy h3 { font-size:27px; }
  .journey-compact h3 { font-size:23px; }
  .journey-compact .journey-entry-year { font-size:36px; }
  .journey-description { font-size:12px; }
  .journey-keyword { font-size:7px; margin-bottom:17px; }
}
@media(max-width:640px) {
  .company-history { padding:60px 22px 45px; }
  .about-history-link { font-size:10px; margin-top:20px; }
  .history-heading { display:block; padding-bottom:26px; }
  .history-heading .section-index { font-size:8px; margin-bottom:18px; }
  .history-heading h2 { font-size:38px; letter-spacing:-1.5px; }
  .history-heading-aside { margin-top:22px; justify-content:space-between; align-items:flex-start; gap:20px; }
  .history-intro { font-size:12px; }
  .history-disclaimer { gap:8px; }
  .history-disclaimer>p { font-size:8px; }
  .history-demo-badge { font-size:7px; letter-spacing:.3px; padding:6px 7px; }
  .history-rail { padding-top:14px; margin-bottom:28px; }
  .history-year { flex:0 0 100px; min-height:65px; }
  .history-year-number { font-size:26px; }
  .history-year-title { font-size:9px; }
  .journey-entry { padding-top:28px; padding-bottom:34px; }
  .journey-entry-heading { margin-bottom:22px; gap:12px; }
  .journey-entry-heading>div { gap:17px; }
  .journey-entry-year { font-size:43px; letter-spacing:-2px; }
  .journey-stage { font-size:11px; max-width:160px; line-height:1.5; }
  .journey-order { font-size:7px; letter-spacing:.5px; }
  .journey-composition,.journey-space .journey-composition { display:flex; flex-direction:column; align-items:stretch; gap:25px; }
  .journey-keyword { font-size:6px; letter-spacing:1px; margin-bottom:13px; }
  .journey-copy h3 { font-size:26px; line-height:1.6; }
  .journey-description { font-size:12px; line-height:1.95; margin-top:16px; max-width:none; }
  .journey-picture { width:100%; aspect-ratio:1.42; }
  .journey-picture figcaption { bottom:15px; left:16px; right:16px; font-size:6px; letter-spacing:.7px; }
  .journey-space .journey-picture { aspect-ratio:1.42; }
  .journey-compact { padding-top:27px; padding-bottom:29px; }
  .journey-compact .journey-entry-year { font-size:34px; }
  .journey-compact .journey-entry-heading { margin-bottom:19px; }
  .journey-compact .journey-copy,.journey-finale .journey-copy { display:block; }
  .journey-compact h3 { font-size:23px; }
  .journey-compact .journey-description,.journey-finale .journey-description { margin-top:15px; }
  .journey-finale .journey-composition { flex-direction:column; gap:24px; }
  .journey-finale .journey-picture { aspect-ratio:1.42; }
  .history-ending { gap:15px; padding-top:19px; }
  .history-ending>span { font-size:6px; letter-spacing:1px; }
  .history-ending .text-link { font-size:9px; }
}

@media (prefers-reduced-motion:reduce) {
  .reveal-element { opacity:1!important; transform:none!important; }
  .feature-image-link:hover>img,.mega-collection>a:hover img { transform:none; }
  .quick-view-button { translate:0 0; }
  .history-year:after,.history-year-arrow,.history-rail-progress:after { transition:none; }
  .journey-picture:hover img { transform:none; }
  html { scroll-behavior:auto; }
}

/* One continuous switcher spans the copy and image, aligned to the hero frame. */
.hero-selector { width:auto; margin:0 0 0 4.2%; grid-template-columns:repeat(3,minmax(0,1fr)); }
.hero-tab { min-width:0; }
.hero-tab>span:nth-child(2) { min-width:0; }
.hero-tab strong { white-space:normal; }
@media (max-width:640px) {
  .hero-selector { width:auto; margin:0 0 0 22px; }
}
