.page-hero{padding:120px max(32px,calc((100vw - var(--max))/2));min-height:440px;background:var(--paper)}.page-hero h1,.contact-page h1{max-width:900px;margin:0;font-size:clamp(50px,6vw,84px);line-height:.96;letter-spacing:-.065em}.page-hero>p:last-child{max-width:560px;margin:28px 0 0;color:var(--muted);font-size:18px}.page-hero-dark{background:var(--navy);color:#fff}.page-hero-dark .overline{color:#7bc9ff}.page-hero-dark>p:last-child{color:#d2e0e8}.family-section{display:grid;gap:15px;padding:75px max(32px,calc((100vw - var(--max))/2)) 130px}.family-card{position:relative;display:grid;grid-template-columns:.9fr 1.1fr;min-height:480px;padding:50px;border-radius:20px;overflow:hidden}.family-card h2{margin:68px 0 14px;font-size:clamp(35px,4vw,54px);line-height:1;letter-spacing:-.055em}.family-card p{max-width:430px;color:#575962;font-size:17px}.family-card span,.solution-page-grid span,.company-principles span{font-size:13px;color:#74757c}.family-card img{position:absolute;right:5%;bottom:0;width:45%;height:92%;object-fit:contain;mix-blend-mode:multiply}.family-pv{background:#edf2f5}.family-pv img{width:38%;right:9%}.family-storage{background:#f0efed}.family-inverter{background:#111114;color:#fff}.family-inverter p{color:#d2d2d7}.family-links{display:grid;gap:9px;margin-top:30px}.family-links a,.solution-page-grid a,.resource-grid a{color:var(--blue);text-decoration:none;font-size:15px}.product-family-word{position:absolute;right:8%;bottom:62px;text-align:right;color:var(--orange);font-size:75px;font-weight:700;line-height:.8;letter-spacing:-.07em}.product-family-word em{color:#fff;font-size:22px;font-style:normal;letter-spacing:0}.solution-page-grid{display:grid;grid-template-columns:repeat(2,1fr);max-width:var(--max);margin:auto;border-left:1px solid var(--line);border-top:1px solid var(--line)}.solution-page-grid article{min-height:300px;padding:35px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.solution-page-grid h2{margin:54px 0 8px;font-size:32px;letter-spacing:-.045em}.solution-page-grid p{margin:0;color:var(--muted)}.solution-page-grid a{display:inline-block;margin-top:22px}.solution-evidence{margin-top:120px}.company-principles{display:grid;grid-template-columns:repeat(3,1fr);max-width:var(--max);margin:auto;padding:0 max(32px,calc((100vw - var(--max))/2)) 120px;gap:16px}.company-principles article{padding:28px;background:var(--paper);border-radius:16px}.company-principles h2{margin:75px 0 14px;font-size:29px;letter-spacing:-.045em}.company-principles p{color:var(--muted);font-size:15px}.resources{background:#111114;color:#fff}.resources h2{color:#fff}.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:60px}.resource-grid article{padding:30px;min-height:270px;background:#202024}.resource-grid h3{font-size:24px;margin:0 0 14px}.resource-grid p{color:#b8b8c0;font-size:15px}.resource-grid a{display:inline-block;margin-top:20px;color:#7bc9ff}.contact-page{display:grid;grid-template-columns:.8fr 1.2fr;gap:110px;max-width:var(--max);margin:auto;padding:120px max(32px,calc((100vw - var(--max))/2))}.contact-page>div>p:last-child{margin-top:27px;color:var(--muted);font-size:17px}@media(max-width:850px){.page-hero{padding:85px 26px;min-height:360px}.family-section{padding:45px 26px 85px}.family-card{grid-template-columns:1fr;min-height:540px;padding:30px}.family-card h2{margin-top:55px}.family-card img{width:68%;height:55%;right:0}.family-pv img{width:55%;right:7%}.product-family-word{right:30px;bottom:50px;font-size:60px}.solution-page-grid{grid-template-columns:1fr;margin:0 26px}.company-principles,.resource-grid{grid-template-columns:1fr}.company-principles{padding:0 26px 85px}.resource-grid{margin-top:36px}.contact-page{grid-template-columns:1fr;gap:45px;padding:85px 26px}.solution-evidence{margin-top:85px}} 

/* Scoped destination and inquiry context styles. */
.inner-page .main-nav a[aria-current="page"] { text-decoration: underline; text-underline-offset: 6px; }
.detail-section { max-width: 1240px; margin-inline: auto; padding: 88px 32px; }
.detail-section--soft { background: #f3f6fa; }
.detail-intro { max-width: 760px; margin-bottom: 40px; }
.detail-intro h2 { margin: 0 0 20px; font-size: clamp(30px, 3.5vw, 48px); line-height: 1.12; letter-spacing: -.04em; }
.detail-intro p, .detail-points p, .system-roles p, .system-control p { color: #52657a; line-height: 1.65; }
.application-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.application-gallery article { background: #f3f6fa; min-width: 0; }
.application-gallery img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.application-gallery article > div { padding: 26px; }
.application-gallery h3, .system-roles h3, .system-control h3, .detail-points h3 { margin: 0 0 14px; font-size: 22px; line-height: 1.3; }
.application-gallery p { color: #52657a; line-height: 1.6; }
.application-gallery a, .system-roles a, .detail-link, .detail-route-links a { display: inline-block; padding-block: 12px; color: #005eaa; text-underline-offset: 4px; }
.detail-points { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; padding-left: 24px; }
.detail-scene { margin: 0; }
.detail-scene img { display: block; width: 100%; height: auto; max-height: 680px; object-fit: cover; }
.detail-scene figcaption { padding: 18px 32px; color: #52657a; font-size: 14px; background: #f3f6fa; }
.system-roles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.system-roles article { padding: 32px; background: #f3f6fa; }
.system-control { margin-top: 32px; padding: 32px; border-left: 3px solid #7b9aad; background: #f3f6fa; }
.detail-route-links { display: flex; flex-wrap: wrap; gap: 16px 36px; }
@media (max-width: 850px) {
  .detail-section { padding: 56px 26px; }
  .application-gallery, .detail-points, .system-roles { grid-template-columns: 1fr; }
  .detail-page .page-hero h1 { font-size: clamp(38px, 10vw, 60px); }
  .detail-route-links { flex-direction: column; gap: 4px; }
}
.inner-page main [id] { scroll-margin-top: 96px; }
.family-subtype { margin-top: 24px; }
.family-subtype h3 { margin: 0 0 8px; font-size: 22px; }
.family-subtype p { margin: 0; }
#inquiry-context { margin: 0; padding: 16px; background: #edf2f5; border-radius: 8px; font-size: 15px; overflow-wrap: anywhere; }
.inquiry-form > input[type="hidden"] { display: none; }
@media (max-width: 850px) {
  .family-storage { display: flex; flex-direction: column; }
  .family-storage img { position: static; width: 100%; height: 260px; margin-top: 24px; }
  .inner-page main [id] { scroll-margin-top: 84px; }
}
