/* Shared layouts for the five internal pages. Header/footer live in site.css. */
.inner-page h2 { font-size: clamp(30px, 3.2vw, 40px); }
.inner-page main h3 { line-height: 1.45; }
.inner-page .subhero-copy h1 { margin: 23px 0 21px; font-size: clamp(40px, 4.2vw, 56px); letter-spacing: -2.3px; line-height: 1.16; }
.inner-page .contact-panel h2 { font-size: clamp(30px, 3.4vw, 43px); }
.inner-page section[id] { scroll-margin-top: 110px; }
.site-page [hidden] { display: none !important; }
.subpage-hero { position: relative; padding: 153px 0 57px; background: #f5f8fc; background-image: radial-gradient(ellipse at 80% 70%, #e1ebf7, transparent 65%); }
.breadcrumbs { display: flex; align-items: center; gap: 12px; margin-bottom: 28px; color: #6c8196; font-size: 10px; }
.breadcrumbs > a { color: #667d95; }
.breadcrumbs > a:hover { color: var(--accent); }
.breadcrumbs > .icon { width: 12px; height: 12px; color: #8fa3b6; }
.breadcrumbs > span { color: #345777; }
.subhero-layout { display: grid; grid-template-columns: minmax(0,1.12fr) minmax(0,1fr); align-items: center; gap: 72px; }
.subhero-copy { padding-block: 5px; }
.subhero-lead { max-width: 466px; color: var(--ink-soft); font-size: 14px; line-height: 1.95; }
.subhero-copy > .action-link { margin-top: 23px; }
.subhero-visual { position: relative; height: 337px; margin: 0; overflow: hidden; border: 6px solid rgba(255,255,255,.82); border-radius: 21px; background: #c7d8e9; box-shadow: 0 17px 45px rgba(37,70,108,.08); }
.subhero-visual > img { width: 100%; height: 100%; object-fit: cover; object-position: 68% center; }
.subhero-shade { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 35%, rgba(15,40,65,.25)); }
.subhero-visual figcaption { position: absolute; right: 17px; bottom: 17px; left: 17px; display: flex; align-items: center; gap: 12px; padding: 14px 16px; border: 1px solid rgba(255,255,255,.75); border-radius: 12px; background: #f0f6fc; }
.subhero-icon { flex: 0 0 auto; display: grid; place-items: center; width: 37px; height: 37px; border-radius: 9px; color: #3b6797; background: rgba(255,255,255,.7); }
.subhero-icon .icon { width: 24px; height: 24px; }
.subhero-visual figcaption > span:last-child { min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.subhero-visual figcaption small { color: #627b95; font-size: 7px; font-weight: 600; letter-spacing: 1.05px; }
.subhero-visual figcaption strong { color: #213f5c; font-size: 12px; font-weight: 600; line-height: 1.6; }
.inner-section { padding-block: 86px; }
.soft-section { background: #f6f9fd; background-image: radial-gradient(ellipse at 50% 70%, #eaf2fc, transparent 65%); }
.subsection-intro { display: flex; align-items: flex-end; justify-content: space-between; gap: 42px; margin-bottom: 37px; }
.subsection-intro > div { min-width: 0; }
.subsection-intro > p { max-width: 325px; color: #667b90; font-size: 13px; line-height: 1.9; }
.subpage-cta { padding-top: 6px; }
.illustration-note { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 27px !important; padding: 12px 15px; border: 1px solid #e2eaf4; border-radius: 10px; color: #60778f; background: #f7fafd; font-size: 11px; line-height: 1.8; }
.illustration-note > .icon { width: 17px; height: 17px; margin-top: 1px; color: #6484a6; }
.principle-list { display: grid; gap: 13px; list-style: none; margin: 24px 0 0; padding: 22px 0 0; border-top: 1px solid #e3ebf3; }
.principle-list li { display: flex; align-items: flex-start; gap: 10px; color: #3e5b75; font-size: 12px; }
.principle-list .icon { width: 17px; height: 17px; margin-top: 2px; color: #507eac; }
@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .subhero-visual figcaption { background: rgba(245,250,255,.86); -webkit-backdrop-filter: blur(17px) saturate(125%); backdrop-filter: blur(17px) saturate(125%); }
}
@media (max-width: 1150px) {
  .subhero-layout { gap: 45px; }
  .subhero-visual { height: 326px; }
}
@media (max-width: 1000px) {
  .subhero-layout { gap: 34px; }
  .subhero-visual { height: 315px; }
  .subhero-visual figcaption { left: 12px; right: 12px; bottom: 12px; padding: 13px; gap: 9px; }
  .subhero-visual figcaption strong { font-size: 10px; }
  .inner-page .subhero-copy h1 { font-size: 46px; letter-spacing: -1.9px; }
  .subhero-lead { font-size: 13px; }
  .subsection-intro { gap: 30px; }
  .subsection-intro > p { max-width: 280px; font-size: 12px; }
}
@media (max-width: 760px) {
  .subpage-hero { padding: 139px 0 38px; }
  .breadcrumbs { margin-bottom: 27px; }
  .subhero-layout { grid-template-columns: minmax(0,1fr); gap: 30px; }
  .inner-page .subhero-copy h1 { font-size: clamp(39px, 7.4vw, 52px); letter-spacing: -1.9px; }
  .subhero-lead { max-width: 490px; font-size: 14px; }
  .subhero-copy > .action-link { margin-top: 19px; }
  .subhero-visual { height: 290px; border-radius: 18px; border-width: 5px; }
  .subhero-visual figcaption { left: 15px; right: 15px; bottom: 15px; padding: 14px 16px; gap: 12px; }
  .subhero-visual figcaption strong { font-size: 12px; }
  .inner-section { padding-block: 62px; }
  .inner-page h2 { font-size: clamp(29px, 5.4vw, 37px); }
  .subsection-intro { display: block; margin-bottom: 29px; }
  .subsection-intro > p { max-width: 450px; margin-top: 19px !important; font-size: 13px; }
  .subpage-cta { padding-top: 0; }
  .illustration-note { font-size: 10px; padding: 12px 13px; }
}
@media (max-width: 420px) {
  .inner-page .subhero-copy h1 { font-size: 38px; letter-spacing: -1.7px; }
  .subhero-lead { font-size: 13px; }
  .subhero-visual { height: 260px; }
  .subhero-visual figcaption { left: 11px; right: 11px; bottom: 11px; padding: 12px; gap: 10px; }
  .subhero-visual figcaption strong { font-size: 10px; }
  .subhero-visual figcaption small { font-size: 6px; }
  .subhero-icon { width: 32px; height: 32px; }
  .subhero-icon .icon { width: 22px; height: 22px; }
  .inner-section { padding-block: 54px; }
  .inner-page .contact-panel h2 { font-size: 29px; }
}
@media (max-width: 350px) { .inner-page .subhero-copy h1 { font-size: 33px; } }
