:root {
  --tech-bg:#e9f1f7;
  --tech-ink:#15394f;
  --product-bg:#f4f0e9;
  --product-ink:#352f29;
  --product-accent:#785b3c;
  --project-bg:#172321;
  --project-ink:#f5f4ed;
}
.hero-scene { height:auto;min-height:clamp(780px,calc(100svh - 84px),960px); }
.scene-content { height:auto;min-height:inherit;padding-top:var(--s16);padding-bottom:var(--s24); }
.scene-content>.eyebrow { max-width:none;font-size:.75rem;line-height:1.5;letter-spacing:.11em;margin-bottom:var(--s8); }
.scene-content h1 { font-size:clamp(4.5rem,6.5vw,6.5rem);line-height:.93;letter-spacing:-.035em; }
.scene-content .hero-declaration { width:min(100%,35rem);font-size:1.125rem;line-height:1.55;margin-top:var(--s8);text-wrap:pretty; }
.hero-declaration strong { display:block; }
.hero-declaration .declaration-origin { font-size:1.25rem;line-height:1.4;font-weight:700;color:#fff;max-width:44ch;text-wrap:balance; }
.hero-declaration .declaration-ambition { margin-top:var(--s4);font-weight:600;color:#eef2f5; }
.hero-declaration .keep-together { white-space:nowrap; }
.scene-content .hero-actions { margin-top:var(--s8);gap:var(--s8); }
.scene-content .hero-button { padding-inline:var(--s6); }
.scene-shade { background:linear-gradient(90deg,rgba(8,24,32,.94) 0%,rgba(8,24,32,.76) 38%,rgba(8,24,32,.2) 72%,rgba(8,24,32,.08) 100%); }
.site-header { color:var(--ink); }
.menu-toggle { white-space:nowrap; }
#story { --bg:#fff;--ink:#263036;--muted:#596367;--line:#d9dfe0;--blue:#27566f;background:var(--bg);color:var(--ink); }
#technology { --bg:#f8fbfd;--surface:#e9f1f7;--ink:var(--tech-ink);--muted:#4b6576;--line:#c2d3df;--blue:#245c80;background:var(--tech-bg);color:var(--ink); }
#products { --bg:#fcfaf6;--surface:#eee8df;--ink:var(--product-ink);--muted:#6b6056;--line:#d7cdbf;--blue:var(--product-accent);background:var(--product-bg);color:var(--ink); }
#projects { --ink:var(--project-ink);--muted:#b8c8c2;--blue:#c5d5b9;--line:#41524d;background:var(--project-bg);color:var(--ink);padding-block:var(--section); }
#advantages { --bg:#fff;--surface:#fff;--ink:#191b1c;--muted:#565b5e;--line:#d8dadd;--blue:#191b1c;background:#fff;color:#191b1c; }
.section-heading { margin-bottom:var(--s12); }
.section-heading h2 { font-size:clamp(2.25rem,3.9vw,3.5rem); }
.section-heading p { max-width:35ch; }
.story-tiles .image-entry { min-height:380px; }
.story-tiles .image-entry-copy>strong { font-size:clamp(2rem,3.7vw,3.25rem); }
.story-tiles .photo-credit { display:none; }
.feature-entry.factory-entry { margin-top:var(--s10);border:0;background:#eff2f0;grid-template-columns:1fr 1fr 44px; }
.factory-entry .feature-entry-image { height:300px; }
.feature-entry.factory-entry .feature-entry-copy>strong { font-size:clamp(2rem,3vw,3rem); }
.origin-line { padding-block:var(--s6); }
.story-declaration { display:grid;grid-template-columns:1fr 3fr;gap:var(--s10);padding-block:var(--s12);margin-top:var(--s10);border-top:1px solid var(--line); }
.story-declaration>.eyebrow { margin-top:var(--s2); }
.story-declaration blockquote { margin:0;color:var(--ink); }
.story-declaration blockquote strong { display:block;font-size:clamp(1.5rem,2.25vw,2rem);line-height:1.35;font-weight:700;letter-spacing:-.015em; }
.story-declaration p { margin-top:var(--s6);max-width:68ch;font-size:var(--text-base); }
.tech-entries { gap:var(--s6); }
#technology .visual-card { border:0; }
#technology .card-media { aspect-ratio:1.8; }
#technology .precision-media { aspect-ratio:1.5;background:#27343e; }
#technology .precision-media>img { width:100%;height:100%;object-fit:contain;padding:var(--s3) var(--s3) 38px; }
#technology .structure-media { background:#efefea; }
#technology .envelope-media { background:#073167; }
#technology .wet-module-media { background:#0b315b; }
#technology .finish-media>img { object-fit:cover;object-position:center 42%;padding:0; }
#technology .precision-media .media-tag { bottom:var(--s3); }
#technology .card-copy { padding:var(--s6) 58px var(--s6) var(--s6); }
#technology .card-copy>strong { font-size:var(--text-lg); }
#technology .card-copy>span:not(.entry-kicker) { display:none; }
#technology .media-tag { text-transform:none;letter-spacing:0;font-size:12px; }
#technology .plus { width:30px;height:30px;font-size:20px; }
.section-links { display:grid;grid-template-columns:1fr 1fr;gap:var(--s8);margin-top:var(--s10); }
.section-links button { border-top:1px solid var(--line);text-align:left;padding:var(--s6) 44px var(--s2) 0;position:relative;color:var(--ink); }
.section-links button>span { display:block;font-size:var(--text-xs);color:var(--muted);margin-bottom:var(--s2); }
.section-links strong { font-size:var(--text-lg);font-weight:500; }
.section-links b { position:absolute;right:0;top:var(--s6);font-size:24px;font-weight:400; }
.edition-cards { gap:var(--s6); }
#products .edition-card { border:0;background:var(--bg);transition:transform .2s ease,box-shadow .2s ease; }
#products .edition-card:hover { transform:translateY(-5px);box-shadow:0 12px 35px #41302012; }
.edition-heading { display:flex;align-items:center;gap:var(--s4);padding:var(--s6) var(--s6) var(--s4);font-size:12px;letter-spacing:.08em; }
.edition-symbol { display:block;position:relative;width:38px;height:38px;flex-shrink:0;color:var(--product-accent); }
.symbol-standard i { position:absolute;inset:7px 4px 3px;border:1.5px solid currentColor; }
.symbol-standard i:after { content:"";position:absolute;bottom:0;left:9px;width:8px;height:13px;border:1.5px solid currentColor;border-bottom:0; }
.symbol-standard:before { content:"";position:absolute;top:3px;left:1px;right:1px;border-top:1.5px solid currentColor; }
.symbol-pro i { position:absolute;inset:5px 10px 5px 3px;border:1.5px solid currentColor;transform:skewY(-16deg);background:#fcfaf6; }
.symbol-pro i:nth-child(2) { transform:translate(5px,-2px) skewY(-16deg); }
.symbol-pro i:nth-child(3) { transform:translate(10px,-4px) skewY(-16deg); }
.symbol-max { border:1.5px solid currentColor;margin:4px;width:30px;height:30px; }
.symbol-max:before,.symbol-max:after { content:"";position:absolute;background:currentColor; }
.symbol-max:before { left:0;right:0;top:13px;height:1px; }
.symbol-max:after { top:0;bottom:0;left:13px;width:1px; }
.symbol-max i { position:absolute;background:currentColor;width:5px;height:5px; }
.symbol-max i:nth-child(1){top:-3px;left:-3px}.symbol-max i:nth-child(2){top:-3px;right:-3px}.symbol-max i:nth-child(3){bottom:-3px;left:-3px}.symbol-max i:nth-child(4){bottom:-3px;right:-3px}
#products .edition-card .card-media { background:#eae7e1;aspect-ratio:1.72; }
#products .edition-card .card-media>img { height:100%;width:100%;object-fit:cover; }
#products .edition-card .card-copy { padding:var(--s6); }
#products .edition-card .card-copy>strong { font-size:36px; }
#products .edition-card .card-copy>.plus { top:var(--s6); }
#products .edition-card .card-copy>span { margin-top:var(--s3);font-size:17px; }
#products .edition-foot { font-size:13px;padding:var(--s4) var(--s6); }
.interior-feature { width:100%;display:grid;grid-template-columns:1.5fr 1fr;text-align:left;align-items:stretch;margin-top:var(--s12);background:#e8e0d4;color:var(--product-ink); }
.interior-feature-image { min-height:380px;display:block; }
.interior-feature-image img { width:100%;height:100%;object-fit:cover; }
.interior-feature-copy { padding:var(--s10);display:flex;flex-direction:column;justify-content:center; }
.interior-feature-copy>strong { font-size:clamp(2rem,3vw,3rem);font-weight:500;line-height:1.05;letter-spacing:-.025em; }
.interior-feature-copy>span:not(.entry-kicker):not(.entry-action) { margin-top:var(--s6);color:#655a4e;font-size:var(--text-base); }
.interior-feature .entry-action { border-color:#b4a896;font-size:var(--text-sm); }
.interior-feature .entry-kicker { color:#6b5236; }
.product-links { display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s8);margin-top:var(--s8); }
.product-links button { color:var(--ink);display:flex;justify-content:space-between;align-items:center;gap:var(--s6);padding:var(--s5) 0;border-bottom:1px solid var(--line);font-size:var(--text-lg);text-align:left; }
#projects .project-media-grid { gap:var(--s6); }
#projects .image-entry { border:1px solid #62706a; }
#projects .photo-credit { background:#16211fde; }
#projects .project-main { min-height:600px; }
#projects .project-site,#projects .project-video { min-height:288px; }
#projects .image-entry-copy>strong { font-size:clamp(2rem,3.6vw,3.5rem); }
#projects .project-site strong,#projects .project-video strong { font-size:clamp(1.8rem,2.5vw,2.6rem); }
#advantages .metrics-status { margin-bottom:0;padding-bottom:var(--s5);border:0; }
#advantages .value-metrics { border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line); }
#advantages .metric-card { padding:var(--s8) var(--s6);display:flex;flex-direction:column; }
#advantages .metric-card>.entry-kicker { margin-bottom:var(--s6);min-height:20px; }
#advantages .metric-card>strong { font-size:clamp(56px,6vw,82px); }
#advantages .metric-label { font-size:20px;line-height:1.3;max-width:22ch;min-height:52px; }
#advantages .metric-explanation { display:none; }
#advantages .metric-card>.plus { bottom:var(--s8);right:var(--s4);width:24px;height:24px;font-size:16px; }
.footer-privacy { margin-top:var(--s6);font-size:12px;max-width:70ch; }
#detail-dialog[data-section="products"] { --bg:#fcfaf6;--surface:#f1ece4;--ink:#352f29;--muted:#6b6056;--line:#d7cdbf;--blue:#785b3c;background:var(--bg);color:var(--ink); }
#detail-dialog[data-section="technology"] { --blue:#245c80; }
.spec-line { font-size:13px;line-height:1.6;padding-top:var(--s5);margin-top:var(--s8);border-top:1px solid var(--line);max-width:100ch; }
#detail-body .detail-figure img { width:100%;height:auto; }
#detail-body .detail-cols { gap:var(--s6); }
#detail-body .interior-gallery .detail-figure { margin:0; }
.story-detail-line { display:flex;align-items:center;gap:var(--s8);padding:var(--s8) 0;border-bottom:1px solid var(--line); }
.story-detail-line strong { font-size:100px;line-height:1;font-weight:500;color:var(--blue);letter-spacing:-.06em; }
.story-detail-line span { font-size:22px;line-height:1.3; }
.interior-components { display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin:var(--s8) 0;border:1px solid var(--line); }
.interior-components span { background:var(--surface);padding:var(--s5);font-size:var(--text-base); }
.product-spec { display:grid;grid-template-columns:1fr 1fr;margin:var(--s8) 0;border-block:1px solid var(--line);gap:var(--s8);padding:var(--s6) 0; }
.product-spec strong { display:block;font-size:32px;line-height:1.2;font-weight:500;color:var(--blue); }
.product-spec span { font-size:14px;color:var(--muted);display:block;margin-top:var(--s3); }
.node-diagram { display:grid;grid-template-columns:1fr 1fr;gap:var(--s10);align-items:center;padding:var(--s8);background:var(--surface);margin:var(--s6) 0 var(--s12); }
.node-stack { display:flex;flex-direction:column;gap:8px;padding:var(--s6) 0; }
.node-layer { min-height:66px;display:flex;align-items:center;gap:var(--s3);padding:var(--s4);border:1px solid #819aaa;background:#d7e2e9;color:#233d4b; }
.node-layer>span { font-size:12px;flex-shrink:0; }
.node-layer>strong { font-size:16px;font-weight:500;line-height:1.2; }
.node-layer:nth-child(1) { margin-left:36px;background:#f2eee5;border-color:#bcb3a3; }
.node-layer:nth-child(2) { margin-left:24px;background:#e5dac1;border-color:#b9a885; }
.node-layer:nth-child(3) { margin-left:12px;background:#c2d9df; }
.node-layer:last-child { background:#26485b;color:white;border-color:#26485b; }
.node-legend>div { display:flex;gap:var(--s4);border-top:1px solid var(--line);padding:var(--s4) 0; }
.node-legend>div>b { font-size:12px;color:var(--blue);padding-top:3px; }
.node-legend p { font-size:14px;line-height:1.5; }
.node-legend p>strong { display:block;font-size:16px;font-weight:500;color:var(--ink);margin-bottom:var(--s1); }
.node-legend p>span { display:block; }
.illustrated-node { grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); }
#detail-body .illustrated-node .detail-figure { margin:0; }
#detail-body .illustrated-node .detail-figure img { height:auto;max-height:500px;object-fit:contain; }
#detail-body .service-node .detail-figure { max-width:300px;justify-self:center; }
#detail-body .lining-node .detail-figure { max-width:280px;justify-self:center; }
.roof-node .node-layer:first-child,.wet-node .node-layer:nth-child(2) { background:#9ebdcc;border-color:#6e96ac; }
[data-theme="dark"] #story { --bg:#202c31;--ink:#f1f3f4;--muted:#c2cdcf;--line:#46565a;--blue:#a8cedb; }
[data-theme="dark"] .feature-entry.factory-entry { background:#2a3a40; }
[data-theme="dark"] #detail-dialog[data-section="technology"] { --blue:#a8cfea; }
[data-theme="dark"] #detail-dialog[data-section="products"] .btn-primary { color:#fff; }
@media(max-width:1000px) {
  .interior-feature { grid-template-columns:1fr 1fr; }
  .interior-feature-copy { padding:var(--s6); }
  .interior-feature-image { min-height:330px; }
  .edition-heading { letter-spacing:0;font-size:12px;padding:var(--s5);gap:var(--s3); }
  #products .edition-card .card-copy { padding:var(--s5); }
  #products .edition-card .card-copy>.plus { right:12px; }
  #products .edition-foot { padding:var(--s4) var(--s5);min-height:70px; }
}
@media(max-width:700px) {
  .hero-scene { height:auto;min-height:calc(100svh - 72px); }
  .scene-content { padding-top:var(--s10);padding-bottom:var(--s20); }
  .scene-content>.eyebrow { max-width:30ch;font-size:.75rem;line-height:1.5;letter-spacing:.09em;margin-bottom:var(--s6); }
  .scene-content h1 { font-size:clamp(3.5rem,15.5vw,4.5rem);line-height:.95;letter-spacing:-.025em; }
  .scene-content .hero-declaration { font-size:1rem;line-height:1.55;margin-top:var(--s6);width:min(100%,35rem); }
  .hero-declaration .declaration-origin { font-size:1.125rem;line-height:1.4; }
  .hero-declaration .declaration-ambition { margin-top:var(--s3); }
  .scene-content .hero-actions { margin-top:var(--s6);gap:var(--s2); }
  .section-heading { gap:var(--s5);margin-bottom:var(--s8); }
  .section-heading h2 { font-size:clamp(32px,8.5vw,42px); }
  .section-heading p { font-size:16px; }
  .story-tiles .image-entry { min-height:340px; }
  .story-declaration { grid-template-columns:1fr;gap:var(--s4);padding-block:var(--s8);margin-top:var(--s8); }
  .story-declaration>.eyebrow { margin-bottom:0; }
  .feature-entry.factory-entry { grid-template-columns:1fr 32px; }
  .factory-entry .feature-entry-image { height:210px; }
  .section-links { grid-template-columns:1fr;gap:var(--s5); }
  #technology .tech-entries { gap:var(--s5); }
  #technology .card-media { aspect-ratio:1.85; }
  #technology .precision-media { aspect-ratio:1.5; }
  #products .edition-card .card-copy { padding:var(--s6); }
  #products .edition-card .card-copy>.plus { right:24px; }
  #products .edition-foot { min-height:0;padding:var(--s4) var(--s6); }
  .edition-heading { padding:var(--s6); }
  .interior-feature { grid-template-columns:1fr; }
  .interior-feature-image { min-height:0; }
  .interior-feature-image img { height:auto;object-fit:contain; }
  .interior-feature-copy { padding:var(--s8) var(--s6); }
  .product-links { grid-template-columns:1fr;gap:0; }
  #projects .project-main { min-height:430px; }
  #projects .project-site,#projects .project-video { min-height:310px; }
  #advantages .metric-card { padding:var(--s8) var(--s6); }
  #advantages .metric-label { min-height:0;max-width:23ch; }
  .node-diagram { grid-template-columns:1fr;gap:var(--s6);padding:var(--s5);margin-bottom:var(--s8); }
  .node-stack { padding:0; }
  .node-layer { min-height:54px; }
  .node-legend .entry-kicker { margin-bottom:var(--s4); }
  .interior-components { grid-template-columns:1fr 1fr; }
  .product-spec { gap:var(--s5); }
  .product-spec strong { font-size:28px; }
  .story-detail-line strong { font-size:80px; }
  .story-detail-line span { font-size:18px; }
}
@media(prefers-reduced-motion:reduce) { #products .edition-card { transition:none; } #products .edition-card:hover { transform:none; } }
@media(max-width:380px) {
  .header-inner { gap:var(--s2); }
  .header-tools { gap:var(--s1); }
  .brand { gap:var(--s2); }
  .menu-toggle { padding-inline:var(--s2); }
}
