/* Shared typography and neutral surfaces adopted from the September review. */
:root{--paper:#f7f7f4;--soft:#eeefec;--line:#d4d4ce;--muted:#62625d;--ink:#222320;--wine:#772536;--wine-deep:#521725;font-family:"Source Han Sans SC","Microsoft YaHei","PingFang SC",sans-serif}
h1,h2,h3{font-family:inherit;line-height:1.35;letter-spacing:-.025em}
h2{font-weight:450}
body{font-size:1rem}
:focus-visible{outline:2px solid var(--wine);outline-offset:5px}
main [id]{scroll-margin-top:0}
@media(max-width:820px){html{scroll-padding-top:90px}}
.site-header{background:var(--paper)}
.header-home{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;margin-right:auto;flex-shrink:0;font-size:1rem;font-weight:500;line-height:1.5;color:var(--ink)}
.header-home:hover,.header-home[aria-current=page]{color:var(--wine);text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:1px}
.eyebrow,.eyebrow.light{font-size:.875rem}
.eyebrow.light{color:inherit}
.button-lime{background:var(--wine);color:#fff}
.button-lime:hover{background:var(--wine-deep)}
.section-intro,.capability-grid p,.faq-item>p,.service-steps p,.app-section>div>p{font-size:1rem}
.tech-hero,.about-hero,.contact-hero{background:var(--soft);color:var(--ink);border-bottom:1px solid var(--line)}
.tech-hero h1,.about-hero h1,.contact-hero h1{font-weight:450}
.tech-hero h1 em,.about-hero h1 em,.contact-hero h1 em{color:var(--ink)}
.tech-hero>div>p:not(.eyebrow),.contact-hero>p:not(.eyebrow),.about-hero>div{color:var(--muted)}
.tech-type{color:var(--wine);font-weight:350}
.tech-type>span:first-child,.tech-type>span:nth-child(2){color:var(--muted)}
.system-diagram--featured{background:transparent}
.diagram-branches article,.capability-grid article{background:transparent;box-shadow:none}
.diagram-branches article{border:0;border-top:1px solid var(--line)}
.stone-material,.stone-material__copy{background:var(--soft)}
.service-hero,.bottom-cta{background:var(--soft);color:var(--ink)}
.service-hero h1{color:var(--ink)}
.service-hero-mark{color:#dddcd7}
.mobile-nav summary{min-width:44px;min-height:44px}
.kit-section,.brand-values{background:var(--ink)}
.kit-section .eyebrow,.brand-values .eyebrow{color:#d1ccc7}
.kit-title>p:not(.eyebrow){color:#d1ccc7}
.app-section--editorial{background:var(--paper);border-block:1px solid var(--line);gap:26px clamp(35px,7vw,100px);padding-block:clamp(64px,7vw,110px);overflow:visible}
.app-section--editorial>.eyebrow{grid-column:1/-1}
.app-section--editorial>div>p{color:var(--muted);line-height:1.9}
.app-function-list{list-style:none;padding:0;margin:0}
.app-function-list li{display:grid;grid-template-columns:30px minmax(0,1fr);gap:20px;padding:28px 0;border-top:1px solid var(--line)}
.app-function-list li>span{font-size:.875rem;color:var(--wine);padding-top:6px}
.app-function-list h3{font-size:1.5rem;font-weight:450;margin-bottom:12px}
.app-function-list p{font-size:1rem;color:var(--muted)}
.rights-list h3{font-weight:450}
.product-intro h1{font-family:inherit;font-weight:500}
.scene-figure>.scene-frame,.gallery-stage--scene>.scene-frame{object-fit:contain;background:#eae6df}
@media(max-width:600px){
  .section-intro,.capability-grid p,.faq-item>p,.service-steps p,.app-section>div>p{font-size:1rem}
  .app-section--editorial{grid-template-columns:minmax(0,1fr)}
  .app-function-list li{gap:16px}
  .tech-type{font-size:1.6rem;gap:14px}
}

/* Image proportions follow the subject; captions remain in the reading flow. */
.section{padding-block:clamp(60px,6.5vw,104px)}
.site-header .header-contact{min-height:44px;font-size:.875rem}
.site-header .header-contact--user{display:none}
@media(max-width:820px){
 .site-header .header-contact--channel{display:none}
 .site-header .header-contact--user{display:flex}
}
.product-intro{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:40px;align-items:center;min-height:0;padding-block:60px}
.product-intro .scene-figure{display:block;min-height:0;overflow:visible;background:transparent;align-self:center}
.product-intro .scene-figure>.scene-frame{position:static;inset:auto;display:block;width:100%;height:auto;max-width:100%;aspect-ratio:16/9;object-fit:contain;transform:none;background:transparent}
.product-intro .scene-figure figcaption,.gallery-stage--scene figcaption,.stone-material__visual--scene figcaption{position:static;inset:auto;color:var(--muted);text-shadow:none;line-height:1.7;font-size:.875rem;margin:0;padding:14px 0 0;letter-spacing:0}
.product-subnav a{min-height:44px;display:inline-flex;align-items:center}
.product-experience{padding-top:64px}
.wearing-experience{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:center;margin-bottom:48px}
.wearing-experience figure{min-width:0;margin:0}
.wearing-experience img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;background:var(--soft)}
.wearing-experience figcaption{padding-top:14px;font-size:.875rem;line-height:1.7;color:var(--muted)}
.wearing-experience-copy{min-width:0}
.wearing-experience-copy h3{font-size:clamp(1.5rem,2.3vw,2.4rem);font-weight:450;line-height:1.5;margin-bottom:22px}
.wearing-experience-copy p{font-size:1rem;line-height:1.9;color:var(--muted);margin-bottom:18px}
.wearing-experience-copy .text-link{font-size:1rem;min-height:44px;margin-top:8px}
.spec-group{padding-block:24px;gap:32px;grid-template-columns:minmax(140px,.7fr) minmax(0,3fr)}
.spec-group dl{column-gap:32px}
.spec-group dl>div{padding-block:12px}
.mode-index{margin-bottom:28px}
.kit-section{padding-block:52px;gap:48px}
.kit-title h2{font-size:clamp(2rem,3vw,3rem)}
.gallery{padding:0;background:transparent}
.gallery-stage--scene{display:block;min-height:0;overflow:visible;background:transparent}
.gallery-image-window{position:relative;width:100%;max-width:1000px;margin:auto;aspect-ratio:3/2;max-height:600px;overflow:hidden;background:var(--paper)}
.gallery-image-window>.scene-frame{display:block;position:static;width:100%;height:100%;max-width:100%;max-height:none;object-fit:contain;transform:none;filter:none;background:transparent}
.gallery--connection .gallery-image-window{background:var(--soft)}
.gallery--connection .gallery-image-window>.scene-frame{position:absolute;left:-85%;top:8%;width:200%;max-width:none;height:auto;object-fit:contain;clip-path:inset(0 0 50% 0)}
.gallery-stage--scene figcaption{padding-block:16px;text-align:center}
.gallery-controls{gap:clamp(14px,4vw,50px)}
.gallery-controls button{font-size:1rem;min-height:56px}
.stone-material{max-width:var(--max);margin:auto;padding:clamp(52px,6vw,90px) var(--gutter);grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(32px,5vw,72px);background:var(--paper);align-items:center}
.stone-material .stone-material__visual--scene{display:block;min-height:0;overflow:visible;background:none}
.stone-material__visual--scene>.scene-frame{display:block;position:static;width:100%;height:auto;max-width:100%;max-height:none;aspect-ratio:3/2;object-fit:contain;transform:none;filter:none}
.stone-material__copy{padding:0;background:transparent}
.stone-material__copy h2{font-size:clamp(2rem,3.3vw,3.25rem)}
.tech-detail{background:var(--paper)}
.tech-detail-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:start;gap:clamp(32px,5vw,72px)}
.control-demo{padding:28px;background:#eeede9;min-width:0;border-top:3px solid var(--wine)}
.control-demo-heading>span{font-size:.875rem;color:var(--wine)}
.control-demo-heading p{font-size:1rem;margin-top:8px}
.control-demo-options{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}
.control-demo-options button{font:inherit;font-size:.875rem;line-height:1.5;padding:10px 14px;min-height:44px;border:1px solid #c9c7c0;background:transparent;color:var(--ink);cursor:pointer}
.control-demo-options button[aria-pressed=true]{background:var(--wine);border-color:var(--wine);color:#fff}
.control-demo-options button:hover{border-color:var(--wine)}
.control-demo-results [hidden]{display:none}
.control-demo-results>div{animation:control-appear .22s ease-out}
.control-command,.control-coordinator,.control-outcome{padding:20px 0;border-top:1px solid #d0cec7}
.control-demo-results span{font-size:.875rem;color:var(--muted)}
.control-demo-results p{font-size:1rem;line-height:1.9;margin-top:10px}
.control-command p{font-size:clamp(1.25rem,1.7vw,1.7rem)}
.control-outcome h3{font-size:1.5rem;font-weight:500;line-height:1.5;margin-top:12px}
.control-outcome{padding-bottom:0}
.control-outcome p{color:var(--muted)}
.process-list li{padding-block:24px}
.rhythm-section{border-block:1px solid var(--line)}
.rhythm-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-bottom:26px}
.rhythm-flow p{border-top:1px solid var(--line);padding-top:22px;font-size:1.25rem}
.rhythm-flow span{display:block;color:var(--wine);font-size:.875rem;margin-bottom:14px}
.contact-business-strip{padding:20px var(--gutter);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;border-bottom:1px solid var(--line)}
.contact-business-strip p{font-size:1rem;color:var(--muted)}
.contact-business-strip .text-link{min-height:44px;padding-block:10px}
.service-hero{padding-block:60px;min-height:0}
/* A dedicated route gives channel visitors detail without changing the home story. */
.partner-page h1,.partner-page h2,.partner-page h3{font-weight:450;line-height:1.4}
.partner-page p{font-size:1rem;line-height:1.9}
.partner-hero{border-bottom:1px solid var(--line);padding-top:72px;padding-bottom:56px}
.partner-hero h1{font-size:clamp(2.7rem,5vw,5.4rem);letter-spacing:-.035em}
.partner-hero-bottom{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-top:30px}
.partner-hero-bottom>p{color:var(--muted)}
.partner-overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(36px,7vw,100px);align-items:start}
.partner-overview h2{font-size:clamp(2.5rem,4vw,4rem)}
.partner-overview h2>span{display:inline-block;font-size:1.25rem;letter-spacing:0}
.partner-overview>div>p:not(.eyebrow){color:var(--muted);max-width:30em;margin:22px 0}
.partner-facts{margin:0;min-width:0}
.partner-facts>div{display:grid;grid-template-columns:6em minmax(0,1fr);gap:24px;border-top:1px solid var(--line);padding:24px 0;font-size:1rem;line-height:1.9}
.partner-facts dt{color:var(--muted)}
.partner-facts dd{margin:0}
.partner-facts a{display:flex;align-items:center;gap:12px;color:var(--wine);margin-top:10px;min-height:44px}
.partner-facts svg{width:18px}
.partner-resources{padding-top:20px}
.partner-resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.partner-resource-grid>a{border-top:1px solid var(--ink);padding:26px 0;display:flex;flex-direction:column;align-items:start;min-width:0}
.partner-resource-grid>a>span:first-child{font-size:.875rem;color:var(--muted)}
.partner-resource-grid h3{font-size:1.5rem;margin:22px 0 14px}
.partner-resource-grid p{color:var(--muted);margin-bottom:26px}
.partner-resource-link{margin-top:auto;display:flex;align-items:center;gap:12px;font-size:1rem;min-height:44px;color:var(--wine)}
.partner-resource-link svg{width:20px}
.partner-resource-grid>a:hover .partner-resource-link{text-decoration:underline;text-underline-offset:5px}
.partner-contact{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(36px,6vw,84px);border-block:1px solid var(--line);background:var(--soft)}
.partner-contact>div{min-width:0}
.partner-contact h2{font-size:clamp(2.2rem,3.6vw,3.5rem)}
.partner-contact>div>p:not(.eyebrow){color:var(--muted);margin-top:24px}
.partner-email{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-size:clamp(1.3rem,2.4vw,2.2rem);line-height:1.6;color:var(--wine);padding:16px 0;margin-top:20px;overflow-wrap:anywhere}
.partner-email svg{width:24px;flex-shrink:0}
.partner-contact .partner-mail-note{font-size:.875rem;margin-top:0}
.partner-contact-brief{padding-top:6px}
.partner-contact-brief h3{font-size:1.25rem}
.partner-contact-brief ol{list-style:none;padding:0;margin:20px 0 0}
.partner-contact-brief li{padding:16px 0;border-top:1px solid var(--line);display:flex;gap:18px;font-size:1rem;line-height:1.8}
.partner-contact-brief li span{color:var(--wine);font-size:.875rem;padding-top:2px}
.partner-contact-brief>p{font-size:.875rem!important}
.partner-service{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-block:32px;flex-wrap:wrap}
.partner-service>p{color:var(--muted)}
.partner-service .text-link{min-height:44px;padding-block:10px}
@keyframes control-appear{from{opacity:.4;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){
 .wearing-experience{grid-template-columns:minmax(0,1fr);gap:24px;margin-bottom:36px}
 .wearing-experience-copy h3 br{display:none}
 .wearing-experience-copy p{max-width:44em}
 .spec-group{grid-template-columns:minmax(0,1fr);gap:16px}
 .product-intro{grid-template-columns:minmax(0,1fr);padding-block:44px;gap:32px}
 .product-intro .scene-figure{max-width:800px;width:100%;margin:auto}
 .stone-material{grid-template-columns:1fr;gap:32px}
 .tech-detail-grid{grid-template-columns:1fr}
 .partner-overview,.partner-contact{grid-template-columns:1fr;gap:36px}
 .partner-contact-brief{padding-top:0}
 .partner-resource-grid{gap:24px}
}
@media(max-width:600px){
 .product-intro{padding-block:32px}
 .product-intro .scene-figure{min-height:0}
 .product-intro .scene-figure figcaption{font-size:.875rem}
 .product-intro h1{font-size:clamp(2.8rem,11vw,4.2rem)}
 .product-subnav{gap:12px;padding-block:10px}
 .product-subnav nav{gap:18px;flex-wrap:wrap}
 .product-subnav nav .text-link{display:none}
 .gallery-image-window{min-height:0;max-height:none}
 .gallery-controls{gap:18px;justify-content:space-between}
 .gallery-controls button{font-size:.875rem;min-height:52px}
 .gallery-stage--scene{min-height:0}
 .stone-material .stone-material__visual--scene{min-height:0}
 .stone-material__copy{padding:0}
 .kit-section{gap:28px;padding-block:40px}
 .control-demo{padding:22px}
 .control-demo-options{gap:8px}
 .control-demo-options button{padding:10px}
 .rhythm-flow{grid-template-columns:1fr;gap:18px}
 .rhythm-flow p{display:flex;gap:20px;align-items:center;font-size:1rem;padding-top:18px}
 .rhythm-flow span{margin:0}
 .partner-hero{padding-top:44px;padding-bottom:40px}
 .partner-hero h1{font-size:clamp(2.3rem,8.7vw,3.5rem)}
 .partner-hero-bottom{flex-direction:column;align-items:start;gap:22px;margin-top:22px}
 .partner-resource-grid{grid-template-columns:1fr;gap:6px}
 .partner-resource-grid h3{margin-top:16px}
 .partner-resource-grid p{margin-bottom:12px}
 .partner-facts>div{grid-template-columns:5em minmax(0,1fr);gap:18px;padding-block:20px}
 .partner-email{display:block;font-size:1.4rem}
 .partner-email svg{display:inline-block;vertical-align:middle;margin-left:8px}
 .contact-business-strip{gap:4px}
}
