/* Editorial polish: preserve Kaishell blue, the seven-section architecture and existing type. */
:root,[data-theme="light"] {
  --surface:#f4f5f3;
  --text-title:clamp(2.25rem,1.65rem + 2.1vw,3.5rem);
  --section:clamp(4.5rem,7.5vw,7.5rem);
}
html { scroll-padding-top:100px; }
main>section[id] { scroll-margin-top:0; }
.site-header { background:var(--bg); }
.header-inner { gap:var(--s6); }
h2,h3 { text-wrap:balance; }
.section-heading h2 { max-width:23ch; }
.section-heading p { max-width:44ch; }
.eyebrow { letter-spacing:.12em; }
.nav a:not(.btn) { position:relative; }
.nav a:not(.btn)::after { content:""; position:absolute; bottom:0; left:0; right:0; height:2px; background:var(--blue); transform:scaleX(0); transform-origin:left; }
.nav a.current:not(.btn)::after { transform:scaleX(1); }
.btn span,.text-link span,.hero-secondary span { display:inline-block; }
.hero-scene { height:clamp(660px,calc(100svh - 84px),880px); }
.scene-content { padding-block:var(--s20); }
.scene-content>.eyebrow { max-width:42ch; }
.scene-content h1 { font-weight:500; font-size:clamp(4.5rem,7.1vw,7.6rem); }
.scene-content p { font-size:var(--text-lg); }
.hero-actions { display:flex; align-items:center; gap:var(--s8); margin-top:var(--s8); }
.hero-button { margin:0; }
.hero-secondary { display:inline-flex; align-items:center; gap:var(--s4); font-size:var(--text-sm); min-height:48px; color:white; text-decoration:underline; text-underline-offset:6px; }
.scene-caption { font-size:.75rem; background:rgba(14,31,38,.82); }
.vision-strip-inner { padding-block:var(--s10); }
.vision-strip-inner>div:last-child { border-left:1px solid #526776; padding-left:var(--s8); }
.vision-strip a { text-decoration:none; font-size:var(--text-lg); max-width:28ch; }
.vision-strip a span { font-size:var(--text-sm); text-decoration:underline; text-underline-offset:5px; display:inline-block; margin-top:var(--s2); }
.vision-strip small { max-width:40ch; }
.story-opening { grid-template-columns:1.5fr .5fr; }
.story-lede { max-width:44ch; }
.years strong { font-size:clamp(6.5rem,11vw,10rem); }
.story-narrative { gap:var(--s12); }
.small-title { max-width:19ch; }
.digital-chain { gap:var(--s6); }
.digital-chain article { border-top:1px solid var(--line); }
.digital-chain article>span { font-variant-numeric:tabular-nums; }
.digital-chain p { font-size:1rem; line-height:1.5; }
.factory-copy h3 { font-size:var(--text-xl); }
.factory-copy p { max-width:43ch; }
.factory-story figure img { aspect-ratio:1.6; }
.factory-story figcaption,.product-showcase figcaption { max-width:75ch; font-size:.75rem; }
.mission { padding:0; gap:0; grid-template-columns:1fr 1fr; background:var(--night); color:white; overflow:hidden; }
.mission-message { padding:var(--s12); display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.mission-message .eyebrow { color:#aecff7; }
.mission-message h2 { max-width:18ch; font-size:var(--text-title); }
.mission-message>p { color:#c4d3df; margin-top:var(--s6); max-width:37ch; }
.mission-signature { color:#b4d4ff; font-size:var(--text-sm); margin-top:var(--s8); }
.mission-image { position:relative; min-height:450px; margin:0; }
.mission-image img { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
.mission-image figcaption { position:absolute; bottom:var(--s4); left:var(--s4); right:var(--s4); background:rgba(14,31,38,.84); color:#fff; font-size:.75rem; padding:var(--s2) var(--s3); }
.mission-pillars { grid-column:1/-1; display:grid; grid-template-columns:repeat(3,1fr); gap:0; padding:0 var(--s12) var(--s10); }
.mission-pillars article { display:block; padding:var(--s8) var(--s8) 0 0; border-top:1px solid #4d6576; }
.mission-pillars article+article { padding-left:var(--s8); border-left:1px solid #4d6576; }
.mission-pillars h3 { color:#b4d4ff; font-size:var(--text-lg); margin-bottom:var(--s4); }
.mission-pillars p { font-size:1rem; color:#c4d3df; max-width:35ch; }
.tech-tabs { margin-bottom:var(--s8); }
.tech-panel { border:1px solid var(--line); min-height:480px; }
.tech-tabs button { padding-inline:var(--s2); }
.tech-tabs button[aria-selected=true] { background:var(--bg); }
.compact-facts>div,.standards-list>a,.evidence-grid p { font-size:1rem; }
.status-label { padding-left:var(--s3); border-left:2px solid var(--blue); }
.product-showcase { grid-template-columns:1.2fr .8fr; gap:var(--s16); }
.product-showcase img { height:460px; }
.product-description h3 { font-size:var(--text-xl); max-width:20ch; }
.product-description>p { max-width:39ch; margin-top:var(--s5); }
.product-description dl { margin-top:var(--s6); }
.edition-grid { gap:0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.edition-grid article { background:none; padding:var(--s8); }
.edition-grid article+article { border-left:1px solid var(--line); }
.edition-letter { font-size:var(--text-xl); margin-bottom:var(--s8); }
.edition-grid h3 { font-size:var(--text-xl); }
.edition-grid p { font-size:1rem; max-width:35ch; }
.edition-detail { display:block; border-top:1px solid var(--line); padding-top:var(--s5); margin-top:var(--s8); font-size:.75rem; color:var(--muted); }
.editions-heading { border-top:0; margin-top:var(--s10); }
.project-cover { min-height:580px; }
.project-cover h3 { font-size:clamp(3rem,4.7vw,4.5rem); }
.project-data { padding:var(--s10); }
.project-data>.status-label { margin-bottom:var(--s8); }
.project-data .text-link { margin-top:var(--s4); }
.project-disclosure { max-width:95ch; }
.advantages-grid { gap:var(--s12) var(--s10); }
.advantages-grid h3 { max-width:23ch; font-size:var(--text-lg); }
.advantages-grid p { max-width:38ch; }
.brand-metrics { border-left:0; border-right:0; }
.brand-metrics>div { padding-left:var(--s8); }
.brand-metrics>div:first-child { padding-left:0; }
.brand-metrics strong { font-variant-numeric:tabular-nums; }
.contact { background:var(--night); color:#fff; }
.contact .eyebrow { color:#aecff7; }
.contact-lede,.contact-topics,.contact .fine { color:#c4d3df; }
.contact-email,.contact-topics span:before { color:#b4d4ff; }
.contact h2 { max-width:18ch; }
.contact-layout { grid-template-columns:.9fr 1.1fr; align-items:start; }
#project-form { padding:var(--s8); background:var(--bg); color:var(--ink); }
.form-heading { padding-bottom:var(--s6); margin-bottom:var(--s6); border-bottom:1px solid var(--line); }
.form-heading h3 { font-size:var(--text-lg); margin-bottom:var(--s2); }
.form-heading p { font-size:var(--text-sm); }
.contact #project-form .fine { color:var(--muted); }
.form-grid { gap:var(--s5) var(--s4); }
.form-actions { align-items:flex-start; }
.form-actions .btn { gap:var(--s4); flex-shrink:0; }
.footer-tag { font-size:var(--text-lg); color:var(--ink); }
[data-theme="dark"] { --surface:#1c2c38; }
[data-theme="dark"] .contact { background:#10202d; }
[data-theme="dark"] .mission { background:#10202d; }
@media (prefers-reduced-motion:no-preference) {
  .nav a::after,.btn span,.text-link span,.hero-secondary span { transition:transform .2s ease; }
  .btn:hover span,.text-link:hover span,.hero-secondary:hover span { transform:translate(2px,-2px); }
}
@media(max-width:1100px) {
  .hero-actions { gap:var(--s6); }
  .story-narrative { gap:var(--s8); }
  .mission-message { padding:var(--s8); }
  .mission-pillars { padding:0 var(--s8) var(--s8); }
  .product-showcase { gap:var(--s8); }
  .contact-layout { gap:var(--s8); }
  #project-form { padding:var(--s6); }
  .form-actions { flex-direction:column; }
}
@media(max-width:950px) {
  .hero-scene { height:760px; }
  .nav a.current:not(.btn)::after { right:auto; width:2px; height:24px; top:50%; bottom:auto; transform:translateY(-50%); }
  .mission { grid-template-columns:1fr 1fr; }
  .mission-message h2 { font-size:2.5rem; }
  .mission-image { min-height:400px; }
  .mission-pillars article+article { padding-left:var(--s5); }
  .mission-pillars article { padding-right:var(--s5); }
  .project-data { padding:var(--s6); }
}
@media(max-width:850px) {
  .contact-layout { grid-template-columns:1fr; gap:var(--s10); }
  .form-actions { flex-direction:row; align-items:center; }
}
@media(max-width:700px) {
  html { scroll-padding-top:88px; }
  .hero-scene { height:clamp(720px,calc(100svh - 72px),770px); }
  .scene-content { padding-top:var(--s10); padding-bottom:var(--s20); }
  .scene-content>.eyebrow { max-width:29ch; margin-bottom:var(--s8); }
  .scene-content h1 { font-size:clamp(4.5rem,13vw,6rem); }
  .hero-actions { flex-direction:column; align-items:flex-start; gap:var(--s2); margin-top:var(--s6); }
  .hero-secondary { min-height:44px; }
  .scene-caption { bottom:var(--s4); }
  .vision-strip-inner { padding-block:var(--s8); }
  .vision-strip-inner>div:last-child { border-left:0; padding-left:0; }
  .vision-strip a { font-size:var(--text-lg); }
  .story-opening { grid-template-columns:1fr; }
  .story-narrative { gap:var(--s5); }
  .digital-chain { gap:var(--s8) var(--s5); }
  .digital-chain h3 { font-size:1.125rem; }
  .digital-chain p { font-size:var(--text-sm); }
  .mission { grid-template-columns:1fr; }
  .mission-message { padding:var(--s8); }
  .mission-message h2 { font-size:var(--text-title); }
  .mission-image { min-height:300px; }
  .mission-pillars { grid-template-columns:1fr; padding:var(--s3) var(--s8) var(--s8); }
  .mission-pillars article,.mission-pillars article+article { border-left:0; padding:var(--s6) 0; }
  .mission-pillars article:first-child { border-top:0; }
  .mission-pillars article:last-child { padding-bottom:0; }
  .mission-pillars h3 { margin-bottom:var(--s3); }
  .tech-tabs button { font-size:var(--text-sm); }
  .tech-panel { padding:var(--s5); }
  .product-showcase { grid-template-columns:1fr; }
  .product-showcase img { height:280px; }
  .product-description h3 { font-size:var(--text-title); }
  .edition-grid article { padding:var(--s6) 0; grid-template-columns:40px 1fr; }
  .edition-grid article+article { border-left:0; border-top:1px solid var(--line); }
  .edition-letter { grid-row:1/5; margin:0; }
  .edition-detail { grid-column:2; margin-top:var(--s5); padding-top:var(--s4); }
  .edition-grid p { margin-top:var(--s3); }
  .project-cover { min-height:400px; }
  .brand-metrics>div,.brand-metrics>div:first-child { padding:var(--s6) 0; }
  .contact-email { font-size:var(--text-base); }
  #project-form { padding:var(--s5); }
  .form-heading p { max-width:28ch; }
  .form-actions { flex-direction:column; align-items:stretch; }
  .form-actions small { max-width:none; }
  .form-actions .btn { width:100%; }
}
