/* Shared dark interiors; photography inherits the approved research-page mask. */
.interior-intro .research-intro-copy { max-width:1200px; }
.interior-intro .research-lead+.research-lead { margin-top:22px; }
.intro-subtitle { margin:0 0 22px; color:#ddd; font-size:clamp(20px,1.8vw,28px); line-height:1.5; font-weight:700; }
.profile-navigation { grid-template-columns:repeat(3,minmax(0,1fr)); max-width:1000px; }
.story-section { display:grid; grid-template-columns:1fr 1.5fr; align-items:center; gap:clamp(36px,7vw,120px); min-block-size:calc(var(--screen-height) * .7); padding:clamp(72px,8vw,140px) max(var(--padding),calc((100% - 1600px) / 2)); }
.story-section:nth-of-type(even) { background:#151515; }
.story-section h2 { margin:0; font-size:clamp(30px,3.2vw,52px); line-height:1.2; font-weight:700; text-wrap:balance; }
.story-section p { margin:0; color:#ccc; font-size:clamp(18px,1.6vw,24px); line-height:1.8; }
.principles-section { padding:clamp(64px,8vw,128px) max(var(--padding),calc((100% - 1600px) / 2)); background:#151515; }
.principles-section>h2,.applications-section>h2 { margin:0 0 clamp(44px,5vw,80px); font-size:clamp(28px,2.8vw,44px); line-height:1.3; font-weight:700; text-align:center; text-wrap:balance; }
.principles-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(30px,4vw,70px); }
.principle { padding-top:28px; border-top:1px solid #ffffff30; }
.principle-number { margin:0 0 25px; color:var(--button-accent); font-size:20px; line-height:1.2; font-weight:700; }
.principle h3 { margin:0 0 22px; font-size:clamp(23px,2vw,32px); line-height:1.3; font-weight:700; text-wrap:balance; }
.principle>p:last-child { margin:0; color:#ccc; font-size:clamp(17px,1.35vw,21px); line-height:1.8; }
.applications-section { padding:clamp(64px,8vw,128px) max(var(--padding),calc((100% - 1600px) / 2)); background:#151515; }
.solutions-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(56px,6vw,100px) clamp(28px,4vw,70px); }
.solution-item { min-width:0; }
.solution-item .process-visual { margin-bottom:30px; }
.solution-item h3 { margin:0 0 18px; font-size:clamp(25px,2.2vw,36px); line-height:1.3; font-weight:700; text-wrap:balance; }
.solution-item>p { margin:0; color:#ccc; font-size:clamp(18px,1.5vw,23px); line-height:1.8; }
.contact-page-content { display:flex; flex-direction:column; gap:48px; min-block-size:var(--screen-height); padding:30px var(--padding) clamp(50px,6vw,96px); }
.contact-page-inner { width:100%; max-width:1500px; margin:auto; padding-block:36px; }
.contact-page-inner>h1 { margin:0 0 clamp(60px,7vw,110px); font-size:clamp(42px,4.4vw,78px); line-height:1.2; font-weight:700; text-align:center; }
.contact-details { display:grid; grid-template-columns:1fr 1.15fr 1.6fr; gap:clamp(28px,4vw,70px); font-style:normal; }
.contact-details>div { min-width:0; padding-top:24px; border-top:1px solid #ffffff30; }
.contact-details h2 { margin:0 0 24px; font-size:18px; line-height:1.5; font-weight:700; color:var(--button-accent); }
.contact-details a,.contact-details span { font-size:clamp(18px,1.65vw,26px); line-height:1.8; overflow-wrap:anywhere; }
.contact-details a:hover { color:var(--button-accent); }
:lang(zh) .story-section p,:lang(zh) .principle>p:last-child { line-height:1.9; }
@media(max-width:800px) {
  .story-section { grid-template-columns:1fr; gap:30px; min-block-size:0; padding-block:64px; }
  .story-section h2 { font-size:32px; }
  .story-section p { font-size:18px; }
  .principles-grid { grid-template-columns:1fr; gap:40px; }
  .principle h3 { font-size:26px; }
  .principle>p:last-child { font-size:18px; }
  .contact-details { grid-template-columns:1fr; gap:34px; }
  .contact-page-inner>h1 { margin-bottom:50px; }
  .contact-details h2 { margin-bottom:12px; }
}
@media(max-width:600px) {
  .solutions-grid { grid-template-columns:1fr; gap:48px; }
  .solution-item h3 { font-size:26px; }
  .solution-item .process-visual { margin-bottom:24px; }
  .principles-section,.applications-section { padding-block:56px; }
  .profile-navigation { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .contact-page-content { padding-top:26px; gap:30px; }
  .contact-page-inner { padding-block:20px; }
  .contact-details a,.contact-details span { font-size:20px; }
}
@media(max-width:480px) {
  .environment-page:lang(en) .research-intro h1 { font-size:clamp(28px,8vw,34px); }
}
