.inner-page { background:var(--paper); }
.sub-nav { position:fixed; background:rgba(246,245,240,.9); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); }
.sub-nav.is-dark { color:white; background:rgba(11,32,34,.82); border-color:rgba(255,255,255,.14); }
.sub-nav .nav-links a.active:after { width:100%; }
.page-loading { min-height:100vh; display:grid; place-items:center; font-size:11px; letter-spacing:.25em; }
.page-hero { min-height:640px; padding:180px 6vw 80px; display:grid; grid-template-columns:18% 58% 24%; align-items:end; background:var(--ice); position:relative; overflow:hidden; }
.page-hero:after { content:""; width:34vw; height:34vw; border:1px solid rgba(16,43,45,.14); border-radius:50%; position:absolute; right:-8vw; top:120px; }
.page-number { align-self:start; font-size:9px; letter-spacing:.2em; }
.page-hero-copy { position:relative; z-index:2; }
.page-hero h1 { margin:18px 0 0; max-width:1200px; font-family:Georgia,"Songti SC",serif; font-size:clamp(64px,8.3vw,138px); line-height:.84; font-weight:400; letter-spacing:-.065em; }
.page-hero h1 em { color:#66837d; font-style:normal; }
.page-intro { align-self:end; position:relative; z-index:2; border-top:1px solid var(--line); padding-top:22px; font-size:14px; line-height:1.9; }
.page-intro span { display:block; margin-bottom:14px; font-size:9px; letter-spacing:.18em; font-weight:700; }
.content-section { padding:120px 6vw; }
.content-section.dark { background:var(--ink); color:#eef3ed; }
.content-section.lime { background:var(--lime); }
.product-family-hero { margin:0; padding:clamp(24px,3.2vw,56px) 6vw; min-height:0; display:grid; place-items:center; background:var(--ink); overflow:hidden; }
.product-family-hero:first-child { padding-top:calc(92px + clamp(24px,3.2vw,56px)); }
.product-family-hero[id] { scroll-margin-top:92px; }
.product-family-stage { position:relative; isolation:isolate; width:min(100%,1672px); line-height:0; box-shadow:0 30px 80px rgba(0,0,0,.22); }
.product-family-base { display:block; width:100%; height:auto; }
.product-family-product { position:absolute; height:auto; z-index:2; pointer-events:auto; transform:translateZ(0) scale(1); transform-origin:50% 82%; transition:transform .52s cubic-bezier(.2,.75,.25,1),filter .52s ease; filter:brightness(1) contrast(1) drop-shadow(0 0 0 rgba(0,0,0,0)); will-change:transform,filter; }
.product-family-product:hover { z-index:8; transform:translateZ(0) scale(1.035); filter:brightness(1.09) contrast(1.025) drop-shadow(0 20px 18px rgba(0,0,0,.32)); }
.product-family-wall { left:23.983%; top:62.593%; width:18.600%; }
.product-family-whole-air { left:47.967%; top:21.254%; width:12.799%; }
.product-family-dual-fan { left:60.766%; top:28.693%; width:18.122%; }
.product-family-single-fan { left:71.053%; top:62.699%; width:16.088%; }
@media (hover:none),(pointer:coarse) { .product-family-product { display:none; } }
@media (prefers-reduced-motion:reduce) { .product-family-product { transition:none; } }
.content-head { display:grid; grid-template-columns:18% 50% 32%; gap:0; align-items:start; margin-bottom:70px; }
.content-head .index { font-size:9px; letter-spacing:.2em; }
.content-head h2 { margin:0; font-family:Georgia,"Songti SC",serif; font-size:clamp(46px,5.4vw,88px); line-height:.96; font-weight:400; letter-spacing:-.05em; }
.content-head p { margin:10px 0 0; padding-left:4vw; font-size:14px; line-height:2; opacity:.78; }
.editorial-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:1px; background:var(--line); }
.editorial-panel { background:var(--paper); padding:55px; min-height:360px; }
.editorial-panel.large { grid-row:span 2; min-height:720px; display:flex; flex-direction:column; justify-content:space-between; }
.editorial-panel .panel-no { font-size:9px; letter-spacing:.2em; }
.editorial-panel h3 { margin:42px 0 28px; font-family:Georgia,"Songti SC",serif; font-size:clamp(32px,4vw,62px); line-height:1.05; font-weight:400; }
.editorial-panel p { font-size:14px; line-height:2; max-width:640px; }
.editorial-panel img { width:100%; height:260px; object-fit:cover; filter:saturate(.72); }
.editorial-panel.large img { height:360px; margin-top:45px; }
.timeline-band { display:grid; grid-template-columns:repeat(5,1fr); margin-top:70px; border-top:1px solid var(--line); }
.timeline-band div { padding:28px 25px 0 0; display:flex; gap:28px; }
.timeline-band strong { font-size:30px; }
.timeline-band span { font-size:12px; line-height:1.7; }
.catalog-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:rgba(255,255,255,.16); }
.catalog-card { background:#dfe7e3; color:var(--ink); min-height:540px; padding:30px; display:flex; flex-direction:column; }
.catalog-meta { display:flex; justify-content:space-between; font-size:9px; letter-spacing:.18em; }
.catalog-card img { width:70%; height:330px; margin:auto; object-fit:contain; filter:drop-shadow(0 24px 22px rgba(8,29,30,.16)); }
.catalog-card h3 { margin:0; padding-top:22px; border-top:1px solid var(--line); font-size:34px; font-weight:500; }
.catalog-card p { font-size:13px; line-height:1.8; opacity:.7; max-width:520px; }
.system-list { display:grid; gap:1px; background:var(--line); }
.system-item { background:var(--paper); display:grid; grid-template-columns:1.1fr .9fr; min-height:520px; }
.system-item:nth-child(even) .system-image { order:2; }
.system-image { overflow:hidden; background:#d9dfdb; }
.system-image img { width:100%; height:100%; object-fit:cover; filter:saturate(.68) contrast(1.02); transition:.6s; }
.system-item:hover img { transform:scale(1.025); filter:saturate(.9); }
.system-copy { padding:60px; display:flex; flex-direction:column; justify-content:space-between; }
.system-copy .no { font-size:9px; letter-spacing:.2em; }
.system-copy h3 { margin:28px 0; font-family:Georgia,"Songti SC",serif; font-size:clamp(38px,4.4vw,68px); line-height:1.05; font-weight:400; }
.system-copy p { font-size:14px; line-height:2; max-width:520px; }
.project-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:60px 24px; }
.overseas-showcase { margin:0 0 95px; padding:28px; background:#102b2d; color:#eef3ed; }
.overseas-intro { display:grid; grid-template-columns:1fr 1.35fr 1fr; gap:36px; align-items:end; padding:12px 4px 28px; }
.overseas-intro>span { align-self:start; font-size:9px; letter-spacing:.2em; color:#cbe86b; }
.overseas-intro h3 { margin:0; font:700 clamp(30px,3.8vw,60px)/.95 Arial,sans-serif; letter-spacing:-.045em; }
.overseas-intro p { margin:0; font-size:12px; line-height:1.8; opacity:.68; }
.italy-case-grid { display:grid; grid-template-columns:1fr 1fr; gap:34px 14px; }
.italy-case { min-width:0; border-top:1px solid rgba(255,255,255,.2); padding-top:14px; }
.italy-case figure { position:relative; overflow:hidden; margin:0; aspect-ratio:16/9; background:#20383a; }
.italy-case figure img { width:100%; height:100%; object-fit:cover; filter:saturate(.86) contrast(1.03); transition:.7s ease; }
.italy-case:hover figure img { transform:scale(1.018); filter:saturate(.98); }
.italy-case figure span { position:absolute; left:14px; top:14px; padding:9px 11px; background:#cbe86b; color:#102b2d; font-size:8px; letter-spacing:.14em; }
.italy-case-copy { display:grid; grid-template-columns:.72fr 1fr; gap:18px; padding:18px 4px 2px; }
.italy-case-copy h4 { margin:0; font:400 23px/1.05 Georgia,"Songti SC",serif; }
.italy-case-copy p { margin:0; font-size:11px; line-height:1.75; opacity:.72; }
.italy-case-copy small { grid-column:2; font-size:7px; letter-spacing:.15em; opacity:.45; }
.lang-en .italy-case-copy h4 { font-family:Arial,sans-serif; font-weight:700; letter-spacing:-.025em; }
.project-card { min-width:0; }
.project-card:nth-child(5n+1) { grid-column:span 2; }
.project-image { height:390px; overflow:hidden; background:#d9dfdb; position:relative; }
.project-card:nth-child(5n+1) .project-image { height:580px; }
.project-image img { width:100%; height:100%; object-fit:cover; filter:saturate(.88) contrast(1.01); transition:.6s; }
.project-card:hover img { transform:scale(1.035); filter:saturate(1); }
.project-tag { position:absolute; left:15px; top:15px; padding:9px 11px; background:var(--lime); font-size:8px; letter-spacing:.15em; }
.project-title { display:flex; justify-content:space-between; gap:15px; align-items:baseline; margin-top:17px; padding-top:17px; border-top:1px solid var(--line); }
.project-title h3 { margin:0; font-family:Georgia,"Songti SC",serif; font-size:20px; font-weight:400; }
.project-title span { white-space:nowrap; font-size:9px; letter-spacing:.12em; }
.project-keywords { display:flex; flex-wrap:wrap; gap:7px; margin-top:13px; }
.project-keywords span { padding:7px 10px; border:1px solid var(--line); border-radius:999px; color:rgba(16,43,45,.7); font-size:10px; line-height:1; letter-spacing:.03em; }
.journal-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); }
.journal-card { background:var(--paper); min-height:560px; padding:22px; display:flex; flex-direction:column; }
.journal-card img { width:100%; height:230px; object-fit:cover; filter:saturate(.65); }
.journal-card time { margin-top:25px; font-size:9px; letter-spacing:.17em; }
.journal-card h3 { margin:20px 0; font-family:Georgia,"Songti SC",serif; font-size:27px; line-height:1.25; font-weight:400; }
.journal-card p { margin:0; font-size:13px; line-height:1.9; opacity:.7; }
.contact-grid { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:1px; background:rgba(16,43,45,.2); }
.contact-card { background:var(--lime); padding:48px; min-height:340px; display:flex; flex-direction:column; justify-content:space-between; }
.contact-card span { font-size:9px; letter-spacing:.2em; }
.contact-card h3 { margin:0; font-family:Georgia,"Songti SC",serif; font-size:clamp(28px,3vw,46px); font-weight:400; line-height:1.2; }
.contact-card p,.contact-card a { font-size:14px; line-height:1.9; }
.inner-footer { background:#0b2022; color:#eef3ed; padding:70px 6vw 35px; }
.inner-footer-top { display:flex; justify-content:space-between; align-items:flex-end; padding-bottom:70px; }
.inner-footer-top h2 { margin:0; font-family:Georgia,"Songti SC",serif; font-size:clamp(38px,5vw,78px); line-height:1; font-weight:400; }
.inner-footer-top a { border-bottom:1px solid rgba(255,255,255,.45); padding:12px 0; }
.inner-footer-bottom { border-top:1px solid rgba(255,255,255,.18); padding-top:26px; display:flex; justify-content:space-between; align-items:flex-end; gap:28px; font-size:10px; opacity:.72; }
.inner-footer-logo { width:94px; height:auto; margin-right:auto; filter:brightness(0) invert(1); }
.nav-shell .brand-signature { width:168px!important; max-width:168px!important; height:auto!important; }
.lang-en .page-hero h1,.lang-en .content-head h2,.lang-en .editorial-panel h3,.lang-en .system-copy h3,.lang-en .inner-footer-top h2 { font-family:Arial,sans-serif; font-weight:700; }
.lang-en .page-hero h1 { font-size:clamp(60px,7.5vw,124px); }
.lang-en .editorial-panel h3 { font-size:clamp(30px,3.6vw,56px); }

.detail-hero { min-height:760px; padding:150px 6vw 70px; display:grid; grid-template-columns:46% 54%; background:var(--ice); gap:4vw; }
.detail-lead { display:flex; flex-direction:column; justify-content:space-between; padding:32px 0; }
.breadcrumbs { display:flex; flex-wrap:wrap; gap:10px; font-size:9px; letter-spacing:.16em; text-transform:uppercase; opacity:.65; }
.breadcrumbs span { opacity:.45; }
.detail-title .kicker { margin-bottom:25px; }
.detail-title h1 { margin:0; font-family:Georgia,"Songti SC",serif; font-size:clamp(58px,7.2vw,116px); line-height:.88; font-weight:400; letter-spacing:-.06em; }
.detail-title p { margin:35px 0 0; max-width:620px; font-size:15px; line-height:2; }
.detail-visual { min-height:580px; overflow:hidden; position:relative; background:#d6dfdb; }
.detail-main-image { width:100%; height:100%; object-fit:cover; filter:saturate(.72); }
.detail-page[data-section="system"][data-detail-id="principle"] .detail-visual { align-self:center; min-height:0; aspect-ratio:1.95/1; background:#eee8d8; }
.detail-page[data-section="system"][data-detail-id="principle"] .detail-main-image { object-fit:contain; object-position:center; filter:none; }
.detail-page[data-section="system"][data-detail-id="principle"] .detail-hero { grid-template-columns:1fr 1fr; grid-template-rows:auto auto; gap:0; }
.detail-page[data-section="system"][data-detail-id="principle"] .detail-lead { display:contents; }
.detail-page[data-section="system"][data-detail-id="principle"] .breadcrumbs { grid-column:1/-1; grid-row:1; margin-bottom:52px; }
.detail-page[data-section="system"][data-detail-id="principle"] .detail-title { grid-column:1; grid-row:2; box-sizing:border-box; aspect-ratio:1.95/1; padding:clamp(24px,3.5vw,64px); display:flex; flex-direction:column; justify-content:center; overflow:hidden; }
.detail-page[data-section="system"][data-detail-id="principle"] .detail-title h1 { font-size:clamp(44px,5vw,82px); line-height:.92; }
.detail-page[data-section="system"][data-detail-id="principle"] .detail-title p { margin-top:clamp(20px,2vw,34px); font-size:clamp(12px,1vw,15px); line-height:1.8; }
.detail-page[data-section="system"][data-detail-id="principle"] .detail-visual { grid-column:2; grid-row:2; width:100%; }
.detail-page[data-section="products"] .detail-visual { background:radial-gradient(circle at 54% 45%,#eef3f0 0,#d6dfdb 72%); }
.detail-page[data-section="products"] .detail-main-image { box-sizing:border-box; width:70%; height:70%; margin:15% auto; object-fit:contain; padding:18px; filter:drop-shadow(0 34px 30px rgba(8,29,30,.18)); }
.detail-page[data-section="cases"] .detail-main-image { filter:saturate(.9) contrast(1.01); }
.equipment-signature { position:absolute; z-index:2; left:32px; bottom:25px; width:230px; max-width:38%; height:auto; opacity:.72; }
.detail-story { padding:120px 6vw; display:grid; grid-template-columns:18% 50% 32%; }
.detail-story .index { font-size:9px; letter-spacing:.18em; }
.detail-article h2 { margin:0 0 45px; font-family:Georgia,"Songti SC",serif; font-size:clamp(42px,5vw,78px); line-height:1; font-weight:400; letter-spacing:-.045em; }
.detail-article p { font-size:15px; line-height:2.1; margin:0 0 24px; max-width:760px; }
.detail-aside { padding-left:4vw; }
.detail-aside span { display:block; font-size:9px; letter-spacing:.18em; margin-bottom:24px; }
.detail-aside p { font-size:13px; line-height:1.9; opacity:.72; }
.detail-facts { grid-column:2/4; display:grid; grid-template-columns:repeat(4,1fr); margin-top:90px; border-top:1px solid var(--line); }
.detail-fact { padding:24px 20px 0 0; min-height:130px; border-right:1px solid var(--line); }
.detail-fact:not(:first-child) { padding-left:22px; }
.detail-fact b { display:block; font-size:9px; letter-spacing:.16em; font-weight:400; margin-bottom:32px; }
.detail-fact strong { font-family:Georgia,"Songti SC",serif; font-size:22px; font-weight:400; }
.product-specs { padding:82px 6vw; background:#dce9eb; }
.spec-head { display:grid; grid-template-columns:1.3fr .7fr; gap:6vw; align-items:end; margin-bottom:42px; }
.spec-head h2 { margin:16px 0 0; font-family:Georgia,"Songti SC",serif; font-size:clamp(38px,4.5vw,68px); line-height:1; font-weight:400; letter-spacing:-.05em; }
.spec-head>p { margin:0 0 7px; max-width:480px; font-size:13px; line-height:1.9; }
.spec-layout { display:grid; grid-template-columns:minmax(0,1fr) 160px; gap:1px; background:rgba(16,43,45,.18); }
.spec-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:rgba(16,43,45,.18); }
.spec-item { min-height:108px; padding:17px; display:flex; flex-direction:column; background:#eef3f2; }
.spec-item span,.cert-panel>span { font-size:9px; letter-spacing:.14em; text-transform:uppercase; opacity:.62; }
.spec-item strong { margin-top:auto; padding-top:18px; font-family:Georgia,"Songti SC",serif; font-size:17px; line-height:1.25; font-weight:400; }
.cert-panel { padding:24px 20px; display:flex; flex-direction:column; align-items:center; background:var(--paper); }
.cert-panel>span { align-self:flex-start; }
.cert-panel img { width:78px; max-height:240px; object-fit:contain; margin:auto 0; mix-blend-mode:multiply; }
.cert-panel p { margin:0; font-size:9px; line-height:1.6; opacity:.55; }
.purification-section { padding:120px 6vw; background:#102f2f; color:#eef3ed; }
.purification-head { display:grid; grid-template-columns:1.25fr .75fr; gap:6vw; align-items:end; margin-bottom:65px; }
.purification-head h2 { margin:22px 0 0; max-width:980px; font-family:Georgia,"Songti SC",serif; font-size:clamp(44px,5vw,78px); line-height:1.04; font-weight:400; letter-spacing:-.045em; }
.purification-head>p { margin:0 0 6px; font-size:13px; line-height:1.9; opacity:.75; }
.purification-process { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(255,255,255,.18); }
.purification-process article { min-height:390px; padding:34px; display:flex; flex-direction:column; background:#173b3b; }
.purification-process span { font-size:9px; letter-spacing:.16em; color:var(--lime); }
.purification-process h3 { margin:55px 0 24px; font-family:Georgia,"Songti SC",serif; font-size:31px; line-height:1.15; font-weight:400; }
.purification-process p { margin:auto 0 0; font-size:13px; line-height:2; opacity:.76; }
.purification-note { display:grid; grid-template-columns:.28fr .72fr; gap:35px; padding:28px 0 0; border-top:1px solid rgba(255,255,255,.2); margin-top:48px; }
.purification-note b { font-size:9px; letter-spacing:.18em; color:var(--lime); }
.purification-note p { margin:0; max-width:820px; font-size:11px; line-height:1.9; opacity:.62; }
.installation-section,.principle-section { padding:120px 6vw; background:var(--paper); }
.installation-head,.principle-head { display:grid; grid-template-columns:1.25fr .75fr; gap:6vw; align-items:end; margin-bottom:65px; }
.installation-head h2,.principle-head h2 { margin:22px 0 0; max-width:900px; font-family:Georgia,"Songti SC",serif; font-size:clamp(44px,5vw,78px); line-height:1.05; font-weight:400; letter-spacing:-.045em; }
.installation-head>p,.principle-head>p { margin:0 0 6px; font-size:13px; line-height:1.9; }
.installation-grid { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); }
.installation-grid figure { margin:0; padding:18px; background:#e8efed; }
.installation-grid img { width:100%; aspect-ratio:1.92/1; object-fit:cover; }
.installation-grid figcaption { display:flex; justify-content:space-between; gap:20px; padding:18px 3px 2px; font-size:10px; letter-spacing:.12em; }
.installation-grid figcaption b { font-weight:400; }
.system-video { margin-top:70px; display:grid; grid-template-columns:.48fr 1.52fr; gap:1px; background:var(--line); }
.video-copy { padding:42px; background:var(--lime); display:flex; flex-direction:column; justify-content:flex-end; }
.video-copy h3 { margin:22px 0; font-family:Georgia,"Songti SC",serif; font-size:clamp(34px,4vw,58px); line-height:1.02; font-weight:400; letter-spacing:-.04em; }
.video-copy>p:last-child { margin:0; font-size:13px; line-height:1.9; }
.system-video video { width:100%; aspect-ratio:16/9; display:block; background:#0b2022; object-fit:contain; }
.principle-section { background:#102f2f; color:#eef3ed; }
.principle-image { padding:18px; background:#e8efed; }
.principle-image img { width:100%; height:auto; }

/* Interactive whole-air system */
.system-lab { --flow-speed:4s; padding:120px 6vw 80px; background:#dce9e7; color:var(--ink); overflow:hidden; }
.lab-heading { display:grid; grid-template-columns:1.25fr .75fr; gap:6vw; align-items:end; margin-bottom:54px; }
.lab-heading>div { display:grid; justify-items:start; }
.lab-signature { width:220px!important; max-width:220px!important; height:auto!important; margin-bottom:32px; opacity:.96; }
.lab-heading h2 { margin:18px 0 0; max-width:920px; font-family:Georgia,"Songti SC",serif; font-size:clamp(46px,5.5vw,88px); line-height:.98; font-weight:400; letter-spacing:-.055em; }
.lab-heading>p { margin:0 0 8px; max-width:520px; font-size:14px; line-height:2; }
.lab-modebar { display:flex; flex-wrap:wrap; gap:1px; margin-bottom:1px; background:rgba(16,43,45,.16); }
.lab-modebar button { min-width:130px; border:0; padding:17px 24px; background:#eef4f1; cursor:pointer; font-size:10px; letter-spacing:.15em; transition:.25s ease; }
.lab-modebar button:hover,.lab-modebar button.active { background:var(--lime); }
.lab-layout { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(320px,.55fr); gap:1px; background:rgba(16,43,45,.18); }
.lab-canvas { position:relative; min-width:0; min-height:660px; padding:64px 18px 12px; background:#f2f5f1; }
.lab-canvas svg { display:block; width:100%; height:100%; min-height:570px; overflow:visible; }
.lab-status { position:absolute; z-index:3; left:28px; top:24px; display:flex; align-items:center; gap:10px; font-size:9px; letter-spacing:.13em; }
.lab-status small { margin-left:12px; opacity:.5; }
.status-dot { width:8px; height:8px; border-radius:50%; background:#61a38e; box-shadow:0 0 0 6px rgba(97,163,142,.12); animation:systemPulse 2s infinite; }
@keyframes systemPulse { 50% { box-shadow:0 0 0 12px rgba(97,163,142,0); } }
.lab-wall { fill:none; stroke:rgba(16,43,45,.26); stroke-width:2; }
.flow-line { fill:none; stroke-width:13; stroke-linecap:round; stroke-linejoin:round; opacity:.88; transition:stroke .35s,opacity .35s,stroke-width .35s; }
.air-supply { stroke:#52a7a1; }
.air-return { stroke:#87a29d; stroke-dasharray:20 12; }
.fresh-line { stroke:#78b9b4; }
.exhaust-line { stroke:#9aa9a5; stroke-dasharray:18 11; }
.water-supply { stroke:#468fb5; }
.water-return { stroke:#ba6c6d; }
.control-line { fill:none; stroke:#9aae65; stroke-width:2; stroke-dasharray:6 8; }
.system-lab[data-mode="heating"] .water-supply { stroke:#d57a62; }
.system-lab[data-mode="heating"] .water-return { stroke:#b99772; }
.system-lab[data-mode="dry"] .flow-line:not(.fresh-line) { opacity:.38; }
.system-lab[data-mode="dry"] .air-supply,.system-lab[data-mode="dry"] .water-supply { opacity:1; stroke-width:16; }
.system-lab[data-mode="fresh"] .flow-line { opacity:.28; }
.system-lab[data-mode="fresh"] .fresh-line,.system-lab[data-mode="fresh"] .exhaust-line,.system-lab[data-mode="fresh"] .air-supply { opacity:1; stroke-width:16; }
.flow-particle { pointer-events:none; }
.air-particle { fill:var(--lime); filter:drop-shadow(0 0 6px rgba(203,232,107,.8)); }
.water-particle { fill:#f4faf9; stroke:#35799d; stroke-width:2; }
.lab-node { cursor:pointer; outline:none; }
.lab-node rect,.lab-node circle,.lab-node>path:first-child { fill:#f7f6ef; stroke:rgba(16,43,45,.46); stroke-width:2; transition:.25s ease; }
.lab-node path:not(:first-child),.lab-node.main-unit path { fill:none; stroke:#315a5b; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }
.lab-node text { fill:var(--ink); font-family:Arial,"PingFang SC",sans-serif; font-size:14px; font-weight:700; letter-spacing:.08em; text-anchor:middle; }
.lab-node:hover rect,.lab-node:hover circle,.lab-node.selected rect,.lab-node.selected circle,.lab-node:focus rect,.lab-node:focus circle { fill:var(--lime); stroke:var(--ink); }
.lab-node.main-unit rect:first-child { fill:#d2e2de; }
.lab-node.main-unit.selected rect:first-child,.lab-node.main-unit:hover rect:first-child { fill:var(--lime); }
.lab-node.tank>path:first-child { fill:#dfe9e5; }
.lab-node.controller rect { fill:#d7e5b4; }
.lab-node.sensor rect { fill:var(--lime); }
.room-label text:first-child { fill:var(--ink); font:700 16px Arial,"PingFang SC",sans-serif; letter-spacing:.12em; }
.room-label text:last-child { fill:rgba(16,43,45,.56); font:11px Arial,"PingFang SC",sans-serif; letter-spacing:.1em; }
.lab-panel { display:flex; flex-direction:column; min-width:0; padding:26px; background:#102f2f; color:#eef3ed; }
.lab-readings { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:rgba(255,255,255,.16); }
.lab-readings article { min-height:116px; padding:17px; display:flex; flex-direction:column; background:#153a3a; }
.lab-readings span { font-size:8px; letter-spacing:.15em; opacity:.6; }
.lab-readings strong { margin-top:auto; font-family:Georgia,serif; font-size:30px; font-weight:400; }
.lab-readings small { margin-left:4px; font-family:Arial,sans-serif; font-size:10px; opacity:.62; }
.lab-controls { display:grid; gap:27px; padding:34px 3px; border-bottom:1px solid rgba(255,255,255,.18); }
.lab-controls label { display:grid; gap:13px; }
.lab-controls label>span { display:flex; justify-content:space-between; gap:16px; font-size:9px; letter-spacing:.12em; }
.lab-controls output { color:var(--lime); }
.lab-controls input[type="range"] { width:100%; height:2px; appearance:none; background:rgba(255,255,255,.28); accent-color:var(--lime); }
.lab-controls input[type="range"]::-webkit-slider-thumb { appearance:none; width:15px; height:15px; border-radius:50%; background:var(--lime); cursor:grab; }
.lab-node-copy { margin-top:auto; padding-top:36px; }
.lab-node-copy>span { color:var(--lime); font-size:9px; letter-spacing:.16em; }
.lab-node-copy h3 { margin:18px 0; font-family:Georgia,"Songti SC",serif; font-size:31px; line-height:1.12; font-weight:400; }
.lab-node-copy p { margin:0; font-size:12px; line-height:1.9; opacity:.72; }
.lab-disclaimer { margin:20px 0 0; text-align:right; font-size:9px; line-height:1.8; opacity:.56; }
.lang-en .lab-heading h2,.lang-en .lab-node-copy h3 { font-family:Arial,sans-serif; font-weight:700; }

/* Engineering calculator built on the original system drawing */
.engineering-lab { --water-duration:4s; --air-duration:3.8s; --passive-duration:5.4s; --room-air-duration:5.2s; --eddy-duration:2.7s; --air-intensity:.84; --eddy-opacity:.68; padding:110px 4vw 72px; background:#dce9e7; color:var(--ink); }
.engineering-head { display:grid; grid-template-columns:1fr; gap:0; align-items:end; max-width:1780px; margin:0 auto 50px; }
.engineering-head h2 { margin:20px 0 0; max-width:1050px; font-family:Georgia,"Songti SC",serif; font-size:clamp(42px,5vw,82px); line-height:1; font-weight:400; letter-spacing:-.05em; }
.engineering-head>div:last-child { display:grid; justify-items:start; }
.engineering-head p:last-child { margin:22px 0 0; max-width:620px; font-size:13px; line-height:1.9; }
.engineering-logo { width:168px!important; max-width:168px!important; height:auto!important; }
.engineering-shell { display:grid; grid-template-columns:1fr; gap:1px; max-width:1780px; margin:auto; background:rgba(16,43,45,.2); }
.real-diagram { position:relative; min-width:0; align-self:start; overflow:hidden; background:#eee9dc; }
.real-diagram>img { display:block; width:100%; height:auto; object-fit:contain; object-position:center; }
.flow-overlay { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.engineering-lab .flow-overlay,.engineering-lab .diagram-hotspot,.engineering-lab .diagram-reading,.engineering-lab .fresh-label { display:none!important; }
.sim-flow { fill:none; }
.water-stream-bed,.water-stream-flow,.water-stream-sheen,.air-stream-bed,.air-stream-flow,.air-stream-specks { fill:none; stroke-linecap:round; stroke-linejoin:round; pointer-events:none; }
.water-stream-bed { stroke-width:7; opacity:.42; filter:url(#waterSheen); }
.water-stream-flow { stroke-width:3.5; opacity:1; stroke-dasharray:18 7 3 7; animation:water-stream var(--water-duration) linear infinite; filter:url(#flowGlow); }
.water-stream-sheen { stroke-width:1.15; opacity:.82; stroke:#f3ffff!important; stroke-dasharray:3 19 1 13; animation:water-sheen calc(var(--water-duration) * .72) linear infinite; }
.water-stream-flow.reverse,.water-stream-sheen.reverse { animation-direction:reverse; }
.hydro-field { opacity:.94; filter:url(#flowGlow); }
.hydro-band,.hydro-vector { fill:none; stroke-linecap:round; stroke-linejoin:round; pointer-events:none; }
.hydro-wall { stroke-width:9; }
.hydro-body { stroke-width:6; }
.hydro-core { stroke-width:2.8; animation:hydro-pulse calc(var(--water-duration) * .82) ease-in-out infinite alternate; }
.hydro-cold .hydro-wall { stroke:#064ab8; }
.hydro-cold .hydro-body { stroke:#00a9ed; }
.hydro-cold .hydro-core { stroke:#d8fbff; }
.hydro-warm .hydro-wall { stroke:#a81328; }
.hydro-warm .hydro-body { stroke:#f14d35; }
.hydro-warm .hydro-core { stroke:#ffe0a1; }
.hydro-vector { stroke:#fff; stroke-width:1.45; opacity:.95; stroke-dasharray:2 8 15 9; animation:hydro-travel var(--water-duration) linear infinite; }
.hydro-vector.reverse { animation-direction:reverse; }
.cold-stream { stroke:#009fe5; }
.warm-stream { stroke:#ff6d4e; }
.floor-stream { stroke:#ff523d; }
.air-stream-bed { stroke-width:20; opacity:.34; filter:url(#airMist); }
.air-stream-flow { stroke-width:5.4; opacity:.96; stroke-dasharray:2 13 11 18; animation:air-stream var(--air-duration) linear infinite; filter:url(#flowGlow); }
.air-stream-specks { stroke-width:3.2; opacity:1; stroke-dasharray:1 12 1 25; animation:air-specks calc(var(--air-duration) * .64) linear infinite; filter:url(#flowGlow); }
.air-stream-flow.reverse,.air-stream-specks.reverse { animation-direction:reverse; }
.cfd-field { opacity:var(--air-intensity); filter:url(#flowGlow); }
.cfd-field.cfd-passive { opacity:calc(var(--air-intensity) * .72); }
.cfd-band,.cfd-vector { fill:none; stroke-linecap:round; stroke-linejoin:round; pointer-events:none; }
.cfd-boundary { stroke:#2457d6; stroke-width:27; opacity:.72; }
.cfd-low { stroke:#00a9ea; stroke-width:22; opacity:.78; }
.cfd-medium { stroke:#39d878; stroke-width:16; opacity:.82; }
.cfd-high { stroke:#e6df36; stroke-width:10; opacity:.86; }
.cfd-core { stroke:#f05d36; stroke-width:5; opacity:.92; animation:cfd-pulse calc(var(--air-duration) * .9) ease-in-out infinite alternate; }
.cfd-vector { stroke:#fff7c7; stroke-width:2.2; opacity:.92; stroke-dasharray:2 13 24 17; animation:cfd-travel var(--air-duration) linear infinite; }
.cfd-vector.reverse { animation-direction:reverse; }
.cfd-return { filter:saturate(.86) url(#flowGlow); }
.room-airflow-field { opacity:var(--air-intensity); mix-blend-mode:normal; }
.room-air-mist,.room-air-line { fill:none; stroke-linecap:round; pointer-events:none; }
.room-air-mist { stroke-width:28; opacity:.28; filter:url(#airMist); }
.room-air-line { stroke-width:3.2; opacity:.96; stroke-dasharray:2 10 18 16; animation:room-airflow var(--room-air-duration) linear infinite; filter:url(#flowGlow); }
.room-air-line.reverse { animation-direction:reverse; }
.room-air-particle { filter:url(#flowGlow); opacity:1; }
.room-air-particle.supply { fill:#00ceb9; }
.room-air-particle.return { fill:#6f9692; }
.duct-eddy-field { opacity:var(--eddy-opacity); }
.duct-eddy { fill:none; stroke-width:3.4; stroke-dasharray:3 7 12 8; transform-box:fill-box; transform-origin:center; animation:duct-eddy var(--eddy-duration) linear infinite; filter:url(#flowGlow); }
.duct-eddy.counter { animation-direction:reverse; }
.supply-stream { stroke:#00bfae; }
.return-stream { stroke:#759b96; }
.fresh-stream { stroke:#35cda7; }
.passive-stream { stroke:#739a91; opacity:.8; animation-duration:var(--passive-duration); }
@keyframes water-stream { to { stroke-dashoffset:-80; } }
@keyframes water-sheen { 0% { stroke-dashoffset:0; opacity:.35; } 45% { opacity:.95; } 100% { stroke-dashoffset:-72; opacity:.35; } }
@keyframes hydro-travel { to { stroke-dashoffset:-68; } }
@keyframes hydro-pulse { from { opacity:.58; stroke-width:2.1; } to { opacity:1; stroke-width:3.4; } }
@keyframes air-stream { to { stroke-dashoffset:-98; } }
@keyframes air-specks { 0% { stroke-dashoffset:0; opacity:.3; } 50% { opacity:.9; } 100% { stroke-dashoffset:-82; opacity:.3; } }
@keyframes room-airflow { 0% { stroke-dashoffset:0; opacity:.3; } 45% { opacity:.92; } 100% { stroke-dashoffset:-96; opacity:.3; } }
@keyframes duct-eddy { to { transform:rotate(360deg); stroke-dashoffset:-30; } }
@keyframes cfd-travel { to { stroke-dashoffset:-112; } }
@keyframes cfd-pulse { from { opacity:.68; stroke-width:4.2; } to { opacity:1; stroke-width:6.2; } }
.water-supply-flow { stroke:#1b87c8; }
.water-return-flow { stroke:#d27563; }
.air-supply-flow { stroke:#55b9b1; }
.air-return-flow { stroke:#718e8c; }
.water-dot.cold { fill:#52c3ff; }
.water-dot.warm { fill:#ff9b7e; }
.water-dot.floor { fill:#ff765f; }
.air-dot { fill:var(--lime); }
.air-dot.return { fill:#d9e4df; }
.water-dot animateMotion { dur:var(--water-duration); }
.air-dot animateMotion { dur:var(--air-duration); }
.diagram-hotspot { position:absolute; z-index:4; display:grid; grid-template-columns:34px auto; align-items:center; gap:8px; border:0; padding:5px 10px 5px 5px; border-radius:999px; background:rgba(246,245,240,.92); color:var(--ink); box-shadow:0 8px 24px rgba(16,43,45,.18); cursor:pointer; }
.diagram-hotspot b { width:34px; height:34px; border-radius:50%; display:grid; place-items:center; background:#fff; border:1px solid rgba(16,43,45,.25); font-size:9px; }
.diagram-hotspot span { font-size:8px; letter-spacing:.1em; white-space:nowrap; }
.diagram-hotspot.active b,.diagram-hotspot:hover b { background:var(--lime); }
.pump-hotspot { left:28%; top:72%; }
.fan-hotspot { left:47%; top:58%; }
.diagram-reading { position:absolute; z-index:3; min-width:150px; padding:11px 13px; background:rgba(9,37,39,.86); color:white; backdrop-filter:blur(8px); }
.diagram-reading span { display:block; margin-bottom:5px; font-size:7px; letter-spacing:.14em; opacity:.58; }
.diagram-reading b { font:400 17px Georgia,serif; }
.diagram-reading em { display:block; margin-top:4px; color:var(--lime); font:normal 10px Arial,sans-serif; }
.water-reading { left:5%; bottom:5%; }
.air-reading { right:4%; top:5%; }
.passive-reading { left:2.5%; top:28%; min-width:135px; }
.engineering-panel { min-width:0; background:#102f2f; color:#eef3ed; }
.calculator-tabs { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:rgba(255,255,255,.18); }
.calculator-tabs button { border:0; padding:20px 14px; background:#183b3b; color:inherit; font-size:9px; letter-spacing:.14em; cursor:pointer; }
.calculator-tabs button.active { background:var(--lime); color:var(--ink); }
.calc-panel { display:none; padding:30px; }
.calc-panel.active { display:block; }
.calc-intro span { color:var(--lime); font-size:8px; letter-spacing:.16em; }
.calc-intro h3 { margin:14px 0 11px; font-family:Georgia,"Songti SC",serif; font-size:30px; line-height:1.1; font-weight:400; }
.calc-intro p { margin:0 0 28px; font-size:11px; line-height:1.8; opacity:.64; }
.input-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(175px,1fr)); gap:14px 12px; }
.input-grid label { display:grid; gap:7px; font-size:8px; letter-spacing:.08em; color:rgba(238,243,237,.68); }
.input-grid label>span { display:grid; grid-template-columns:1fr auto; align-items:center; min-width:0; border:1px solid rgba(255,255,255,.2); background:rgba(255,255,255,.04); }
.input-grid input { width:100%; min-width:0; height:42px; border:0; outline:0; padding:0 11px; background:transparent; color:#fff; font:500 16px Arial,sans-serif; }
.input-grid select { width:100%; min-width:0; height:42px; border:0; outline:0; padding:0 10px; background:#173b3b; color:#fff; font:500 13px Arial,sans-serif; }
.input-grid i { padding:0 9px; font-size:8px; font-style:normal; white-space:nowrap; opacity:.58; }
.input-grid .dual-input { grid-template-columns:1fr auto 1fr auto; }
.input-grid .dual-input b { font-weight:400; opacity:.4; }
.result-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(155px,1fr)); gap:1px; margin-top:24px; background:rgba(255,255,255,.18); }
.result-grid.air-results { grid-template-columns:repeat(9,minmax(0,1fr)); }
.result-grid article { min-height:104px; padding:13px; background:#173b3b; }
.result-grid span { display:block; min-height:22px; font-size:7px; letter-spacing:.13em; opacity:.56; }
.result-grid strong { display:inline-block; margin-top:15px; font:400 27px Georgia,serif; }
.result-grid small { margin-left:5px; font-size:8px; opacity:.58; }
.water-reference,.air-reference { display:grid; grid-template-columns:.7fr 1fr 1.35fr; gap:1px; margin-top:1px; background:rgba(255,255,255,.18); }
.water-reference>div,.air-reference>div { min-width:0; padding:13px; background:#102f2f; }
.water-reference span,.air-reference span { display:block; min-height:20px; font-size:7px; letter-spacing:.12em; opacity:.5; }
.water-reference strong,.air-reference strong { display:block; margin-top:8px; font:400 13px/1.35 Arial,sans-serif; color:var(--lime); }
.air-reference { grid-template-columns:repeat(3,1fr); }
.pump-selection { display:grid; grid-template-columns:1.25fr repeat(4,1fr); gap:1px; margin-top:1px; background:rgba(255,255,255,.18); }
.pump-selection.fan-selection { grid-template-columns:1.2fr repeat(5,1fr); }
.pump-selection>div { min-width:0; padding:14px; background:#173b3b; }
.pump-selection span { display:block; min-height:20px; font-size:7px; letter-spacing:.12em; opacity:.5; }
.pump-selection strong { display:inline-block; margin-top:8px; font:400 15px/1.3 Arial,sans-serif; color:var(--lime); }
.pump-selection small { margin-left:5px; font-size:8px; opacity:.55; }
.pump-selection.warn strong { color:#ffac96; }
.standard-note { margin:13px 0 0; padding-top:12px; border-top:1px solid rgba(255,255,255,.12); font-size:8px; line-height:1.65; opacity:.52; }
.calc-status { margin-top:18px; padding:14px; display:flex; justify-content:space-between; gap:14px; border-left:3px solid #d5a05f; background:rgba(255,255,255,.06); font-size:10px; line-height:1.6; }
.calc-status.good { border-color:var(--lime); }
.calc-status.warn { border-color:#e48c73; }
.calc-status b { color:var(--lime); }
.calc-status.warn b { color:#ffac96; }
.calc-status span { opacity:.68; }
.effect-box { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:24px; margin-top:10px; padding:15px; border:1px solid rgba(255,255,255,.13); background:rgba(4,25,26,.28); }
.effect-box>span { grid-column:1/-1; display:block; margin-bottom:10px; color:#ffac96; font-size:7px; letter-spacing:.14em; }
.effect-box.good>span { color:var(--lime); }
.effect-box p { position:relative; margin:6px 0; padding-left:13px; font-size:9px; line-height:1.55; color:rgba(238,243,237,.72); }
.effect-box p:before { content:'↳'; position:absolute; left:0; color:#ffac96; }
.effect-box.good p:before { color:var(--lime); }
.air-mode { display:grid; grid-template-columns:1fr 1fr; gap:1px; margin-bottom:18px; background:rgba(255,255,255,.16); }
.air-mode label { padding:12px; background:#173b3b; font-size:8px; letter-spacing:.08em; cursor:pointer; }
.air-mode input { accent-color:var(--lime); margin-right:7px; }
.recommended-size { display:flex; justify-content:space-between; align-items:end; gap:20px; margin-top:18px; padding:15px 0; border-top:1px solid rgba(255,255,255,.18); border-bottom:1px solid rgba(255,255,255,.18); }
.recommended-size span { font-size:7px; letter-spacing:.13em; opacity:.58; }
.recommended-size strong { font:400 19px Georgia,serif; }
.engineering-note { max-width:1780px; margin:20px auto 0; text-align:right; font-size:9px; line-height:1.7; opacity:.56; }
.lang-en .engineering-head h2,.lang-en .calc-intro h3 { font-family:Arial,sans-serif; font-weight:700; }

@media (max-width:1100px) {
  .engineering-panel { max-width:none; }
  .input-grid { grid-template-columns:repeat(2,1fr); }
  .result-grid { grid-template-columns:repeat(3,1fr); }
  .result-grid.air-results { grid-template-columns:repeat(3,1fr); }
  .pump-selection,.pump-selection.fan-selection { grid-template-columns:repeat(3,1fr); }
}

@media (max-width:700px) {
  .engineering-lab { padding:75px 0 45px; }
  .engineering-head { grid-template-columns:1fr; gap:30px; padding:0 7vw; }
  .engineering-logo { width:145px!important; max-width:145px!important; }
  .real-diagram { overflow-x:auto; }
  .real-diagram>img,.flow-overlay { width:820px; max-width:none; }
  .engineering-panel { margin-top:0; }
  .calc-panel { padding:25px 7vw; }
  .input-grid { grid-template-columns:1fr; }
  .result-grid { grid-template-columns:repeat(2,1fr); }
  .result-grid.air-results { grid-template-columns:repeat(2,1fr); }
  .effect-box { grid-template-columns:1fr; }
  .effect-box>span { grid-column:1; }
  .water-reference,.air-reference,.pump-selection,.pump-selection.fan-selection { grid-template-columns:1fr; }
  .engineering-note { padding:0 7vw; text-align:left; }
}
.detail-next { min-height:360px; padding:75px 6vw; background:var(--lime); display:flex; align-items:flex-end; justify-content:space-between; gap:40px; }
.detail-next span { font-size:9px; letter-spacing:.18em; }
.detail-next h2 { margin:25px 0 0; font-family:Georgia,"Songti SC",serif; font-size:clamp(44px,6vw,92px); line-height:.95; font-weight:400; }
.detail-next .circle-link { background:var(--ink); color:white; flex:0 0 auto; }
.lang-en .detail-title h1,.lang-en .detail-article h2,.lang-en .spec-head h2,.lang-en .purification-head h2,.lang-en .installation-head h2,.lang-en .principle-head h2,.lang-en .video-copy h3,.lang-en .detail-next h2 { font-family:Arial,sans-serif; font-weight:700; }
.lang-en .purification-process h3 { font-family:Arial,sans-serif; font-weight:600; }
.lang-en .spec-item strong { font-family:Arial,sans-serif; font-size:18px; font-weight:500; }

@media (max-width:900px) {
  .product-family-hero:first-child { padding-top:98px; }
  .detail-hero { min-height:auto; grid-template-columns:1fr; padding:120px 7vw 55px; }
  .detail-lead { min-height:480px; }
  .detail-visual { min-height:440px; }
  .detail-page[data-section="system"][data-detail-id="principle"] .detail-hero { grid-template-columns:1fr; grid-template-rows:auto auto auto; }
  .detail-page[data-section="system"][data-detail-id="principle"] .breadcrumbs { grid-column:1; grid-row:1; margin-bottom:36px; }
  .detail-page[data-section="system"][data-detail-id="principle"] .detail-title { grid-column:1; grid-row:2; aspect-ratio:1.95/1; min-height:0; padding:clamp(24px,5vw,42px) 0; }
  .detail-page[data-section="system"][data-detail-id="principle"] .detail-visual { grid-column:1; grid-row:3; }
  .detail-story { grid-template-columns:1fr; padding:85px 7vw; }
  .detail-story .index { margin-bottom:45px; }
  .detail-aside { padding:40px 0 0; }
  .detail-facts { grid-column:1; grid-template-columns:1fr 1fr; }
  .product-specs { padding:85px 7vw; }
  .spec-head { grid-template-columns:1fr; gap:30px; margin-bottom:50px; }
  .spec-layout { grid-template-columns:1fr; }
  .spec-grid { grid-template-columns:1fr 1fr; }
  .cert-panel { min-height:300px; display:grid; grid-template-columns:1fr auto; gap:25px; align-items:center; }
  .cert-panel img { grid-row:1/3; grid-column:2; margin:0; max-height:240px; }
  .purification-section { padding:85px 7vw; }
  .purification-head { grid-template-columns:1fr; gap:28px; margin-bottom:48px; }
  .purification-process { grid-template-columns:1fr; }
  .purification-process article { min-height:330px; }
  .purification-note { grid-template-columns:1fr; }
  .installation-section,.principle-section { padding:85px 7vw; }
  .installation-head,.principle-head { grid-template-columns:1fr; gap:28px; margin-bottom:48px; }
  .installation-grid { grid-template-columns:1fr; }
  .system-video { grid-template-columns:1fr; }
  .video-copy { min-height:280px; }
  .system-lab { padding:85px 7vw 60px; }
  .lab-heading { grid-template-columns:1fr; gap:30px; }
  .lab-layout { grid-template-columns:1fr; }
  .lab-canvas { min-height:520px; overflow-x:auto; }
  .lab-canvas svg { min-width:850px; min-height:500px; }
  .lab-panel { min-height:560px; }
}

@media (max-width:560px) {
  .detail-title h1 { font-size:16vw; }
  .detail-visual { min-height:330px; }
  .detail-page[data-section="system"][data-detail-id="principle"] .detail-title { aspect-ratio:auto; min-height:280px; }
  .detail-page[data-section="system"][data-detail-id="principle"] .detail-visual { min-height:0; }
  .detail-facts { grid-template-columns:1fr; }
  .detail-fact { border-right:0; border-bottom:1px solid var(--line); padding-left:0!important; }
  .equipment-signature { left:20px; bottom:18px; width:180px; }
  .spec-grid { grid-template-columns:1fr; }
  .lab-signature { width:180px!important; max-width:180px!important; }
  .lab-modebar { display:grid; grid-template-columns:1fr 1fr; }
  .lab-modebar button { min-width:0; padding:15px 10px; }
  .lab-canvas { margin:0 -7vw; padding-left:7vw; padding-right:7vw; }
  .lab-readings article { min-height:100px; }
}

@media (max-width:900px) {
  .page-hero { min-height:600px; grid-template-columns:1fr; padding:140px 7vw 70px; }
  .page-number { margin-bottom:50px; }
  .page-intro { margin-top:50px; }
  .content-section { padding:85px 7vw; }
  .product-family-hero { padding:24px 7vw; }
  .product-family-base { width:100%; }
  .content-head { grid-template-columns:1fr; gap:35px; }
  .content-head p { padding-left:0; }
  .editorial-grid,.catalog-grid,.system-item,.contact-grid { grid-template-columns:1fr; }
  .editorial-panel.large { grid-row:auto; min-height:560px; }
  .timeline-band { grid-template-columns:1fr; gap:25px; }
  .system-item:nth-child(even) .system-image { order:0; }
  .system-image { min-height:330px; }
  .system-copy { padding:40px; }
  .project-grid { grid-template-columns:1fr 1fr; }
  .overseas-intro { grid-template-columns:1fr 1fr; }
  .overseas-intro p { grid-column:2; }
  .italy-case-copy { grid-template-columns:1fr; gap:10px; }
  .italy-case-copy small { grid-column:auto; }
  .project-card:nth-child(5n+1) { grid-column:span 2; }
  .journal-grid { grid-template-columns:1fr 1fr; }
}

@media (max-width:560px) {
  .page-hero h1 { font-size:16vw; }
  .project-grid,.journal-grid { grid-template-columns:1fr; }
  .overseas-showcase { margin-bottom:70px; padding:14px; }
  .overseas-intro { grid-template-columns:1fr; gap:18px; padding:14px 4px 24px; }
  .overseas-intro p { grid-column:auto; }
  .italy-case-grid { grid-template-columns:1fr; gap:30px; }
  .project-card:nth-child(5n+1) { grid-column:auto; }
  .project-card:nth-child(5n+1) .project-image,.project-image { height:300px; }
  .catalog-card { min-height:440px; }
  .catalog-card img { width:70%; height:245px; }
  .editorial-panel { padding:36px 28px; }
  .inner-footer-top { align-items:flex-start; flex-direction:column; gap:40px; }
  .inner-footer-bottom { align-items:flex-start; flex-direction:column; gap:18px; }
  .inner-footer-logo { width:82px; }
}
.seo-fallback { max-width:1000px; margin:140px auto 40px; padding:40px 6vw; }
.seo-fallback h1 { font-family:Georgia,"Songti SC",serif; font-size:clamp(38px,6vw,82px); line-height:1.05; font-weight:400; }
.seo-fallback p { max-width:760px; line-height:1.9; }

.category-tabs { display:flex; flex-wrap:wrap; gap:10px; margin:0 0 38px; padding:0 0 18px; border-bottom:1px solid var(--line); }
.category-tabs a { min-width:118px; padding:13px 18px; border:1px solid var(--line); color:var(--ink); font-size:11px; letter-spacing:.1em; text-align:center; transition:background .25s ease,color .25s ease,border-color .25s ease; }
.category-tabs a:hover,.category-tabs a.active { background:var(--ink); border-color:var(--ink); color:#fff; }
@media (max-width:560px) {
  .category-tabs { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
  .category-tabs a { min-width:0; }
}

.product-layouts { padding:100px 6vw; background:var(--paper); color:var(--ink); scroll-margin-top:92px; }
.product-layouts-head { display:grid; grid-template-columns:1.1fr .9fr; gap:6vw; align-items:end; margin-bottom:28px; }
.product-layouts-head h2 { max-width:760px; margin:20px 0 0; font-family:Georgia,"Songti SC",serif; font-size:clamp(34px,4.2vw,64px); font-weight:400; line-height:1.13; letter-spacing:-.035em; overflow-wrap:break-word; }
.product-layouts-lead { margin:0; font-size:clamp(18px,1.6vw,25px); line-height:1.65; }
.product-layouts-note { max-width:940px; margin:0 0 36px; font-size:13px; line-height:1.85; }
.product-layouts-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.product-layout-card { min-width:0; margin:0; border:1px solid var(--line); background:var(--paper); }
.product-layout-card>a { display:block; color:inherit; text-decoration:none; }
.product-layout-card>a:focus-visible { outline:3px solid var(--ink); outline-offset:4px; }
.product-layout-card img { display:block; width:100%; max-width:100%; height:auto; aspect-ratio:auto; object-fit:contain; }
.product-layout-open { display:flex; justify-content:space-between; gap:16px; padding:15px 20px; border-top:1px solid var(--line); font-size:12px; }
.product-layout-card>a:hover .product-layout-open { text-decoration:underline; text-underline-offset:4px; }
.product-layout-card figcaption { display:flex; align-items:baseline; gap:18px; padding:18px 20px; border-top:1px solid var(--line); font-size:12px; }
.product-layout-card figcaption strong { font-size:18px; font-weight:400; letter-spacing:.08em; }
@media (max-width:900px) {
  .product-layouts { padding:72px 7vw; }
  .product-layouts-head { grid-template-columns:1fr; gap:22px; }
  .product-layouts-grid { grid-template-columns:minmax(0,1fr); gap:24px; }
}

.space-value { margin-bottom:72px; }
.space-value-head { max-width:1050px; margin-bottom:38px; }
.space-value-head h2 { margin:20px 0 0; font-family:Georgia,"Songti SC",serif; font-size:clamp(34px,4.2vw,64px); font-weight:400; line-height:1.18; letter-spacing:-.03em; overflow-wrap:break-word; }
.space-value-layout { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:clamp(28px,4vw,64px); align-items:stretch; }
.space-value-copy { min-width:0; max-width:720px; }
.space-value-copy>p { margin:0 0 22px; font-size:16px; line-height:1.95; overflow-wrap:break-word; }
.space-value-copy>.space-value-statement { margin-top:30px; padding-top:24px; border-top:1px solid var(--line); font-family:Georgia,"Songti SC",serif; font-size:clamp(21px,1.9vw,28px); line-height:1.65; }
.space-value-copy>.space-value-footnote { margin-bottom:0; font-size:12px; line-height:1.8; }
.space-value-figure { min-width:0; min-height:0; margin:0; position:relative; border:1px solid var(--line); background:var(--paper); }
.space-value-figure>a { position:absolute; inset:0; display:block; color:inherit; text-decoration:none; }
.space-value-figure>a:focus-visible { outline:3px solid var(--ink); outline-offset:4px; }
.space-value-figure img { display:block; width:100%; max-width:100%; height:100%; aspect-ratio:auto; object-fit:contain; }
.space-value-reference-head { padding-top:38px; border-top:1px solid var(--line); }
.space-value-reference-head h3 { margin:0 0 18px; font-family:Georgia,"Songti SC",serif; font-size:clamp(26px,2.8vw,40px); font-weight:400; line-height:1.25; }
@media (max-width:900px) {
  .space-value { margin-bottom:48px; }
  .space-value-head { margin-bottom:28px; }
  .space-value-layout { grid-template-columns:minmax(0,1fr); gap:30px; }
  .space-value-copy { max-width:none; }
  .space-value-figure { position:static; }
  .space-value-figure>a { position:static; inset:auto; }
  .space-value-figure img { height:auto; }
}
