/* HOME — page-only rules. No header/footer geometry lives here. */
.page-home .hero,.page-home .approach-section{border-bottom:1px solid var(--line);overflow:hidden;background:#fff}
.page-home .hero-inner,.page-home .approach-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(520px,736px);gap:30px;align-items:center}
.page-home .hero-inner{min-height:520px}.page-home .approach-inner{min-height:420px}
.page-home .hero-copy,.page-home .approach-copy{min-width:0;max-width:650px}
.page-home .hero-copy{padding:54px 0 48px}.page-home .approach-copy{padding:48px 0}
.page-home .hero .eyebrow{margin-bottom:24px}
.page-home .hero h1{margin:0;font-family:var(--serif);font-size:clamp(58px,4.3vw,76px);line-height:.95;font-weight:400;letter-spacing:-.04em;color:#061a42}
.page-home .hero h1 em{font-style:normal;color:var(--blue)}.page-home .hero h1 span{color:var(--bronze)}
.page-home .hero-text{max-width:560px;margin:28px 0 0;font-size:18px;line-height:1.45;color:var(--text)}
.page-home .hero-actions{display:flex;align-items:center;gap:36px;margin-top:30px;flex-wrap:wrap}
.page-home .text-link{display:inline-flex;gap:18px;align-items:center;color:#1224e7;border-bottom:2px solid #b9c1ff;padding-bottom:4px;font-size:16px;white-space:nowrap}

.page-home .visual-frame{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;min-width:0}
.page-home .visual-art{position:absolute;inset:0}.page-home .visual-art img{width:100%;height:100%;object-fit:cover;object-position:center}
.page-home .visual-caption{position:absolute;inset:0 0 0 auto;width:38%;padding:clamp(12px,2vw,30px) clamp(10px,1.5vw,24px);display:flex;flex-direction:column;justify-content:center;font-family:"Avenir Next",Avenir,"Helvetica Neue",Arial,sans-serif;color:#0c2b5a}
.page-home .caption-rule{display:block;width:42px;height:2px;flex:0 0 2px;background:#17345e;margin:0 0 28px}
.page-home .caption-rule-bottom{margin:28px 0 0}
.page-home .hero-caption-copy,.page-home .approach-caption-copy{display:flex;flex-direction:column;gap:clamp(8px,1vw,16px);font-size:clamp(10px,1vw,18px);line-height:1.12;letter-spacing:clamp(.7px,.12vw,2px);white-space:nowrap}
.page-home .hero-caption-copy{font-weight:600}.page-home .approach-caption-copy{font-weight:500}

.page-home .pillars-section{border-bottom:1px solid var(--line)}
.page-home .pillars-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding-inline:var(--gutter)}
.page-home .pillar{min-width:0;min-height:250px;padding:34px 30px 30px;border-right:1px solid #dfe6ee;display:flex;flex-direction:column;align-items:flex-start}
.page-home .pillar:first-child{border-left:1px solid #dfe6ee}.page-home .pillar img{width:48px;height:48px;object-fit:cover;border-radius:50%;margin-bottom:14px}
.page-home .pillar h2{font-family:var(--serif);font-size:27px;font-weight:400;margin:0 0 6px;line-height:1.08}.page-home .pillar p{font-size:14px;line-height:1.45;color:#385477;margin:0;max-width:360px}.page-home .pillar a{margin-top:auto;padding-top:24px;color:#1224e7;font-size:13px;font-weight:700;display:inline-flex;gap:18px}
.page-home .approach-copy h2{font-family:var(--serif);font-size:48px;line-height:.98;font-weight:400;letter-spacing:-.04em;margin:15px 0 20px}.page-home .approach-copy>p:not(.eyebrow){font-size:16px;line-height:1.5;color:var(--text);max-width:570px;margin:0 0 18px}

@media (max-width:1100px){
  .page-home .hero-inner,.page-home .approach-inner{grid-template-columns:minmax(0,1fr) minmax(400px,48%);gap:24px}
  .page-home .hero h1{font-size:clamp(48px,5.1vw,62px)}
  .page-home .hero-text{font-size:16px}
  .page-home .pillar{padding-inline:22px}.page-home .pillar h2{font-size:clamp(23px,2.5vw,27px)}
}
@media (max-width:820px){
  .page-home .hero-inner,.page-home .approach-inner{grid-template-columns:minmax(0,1fr) minmax(340px,46%);gap:20px}
  .page-home .hero-copy{padding:38px 0}.page-home .hero h1{font-size:clamp(40px,6vw,52px)}.page-home .hero-text{font-size:14px;margin-top:20px}
  .page-home .hero-actions{gap:20px;margin-top:22px}.page-home .primary-btn{padding:13px 20px;font-size:14px}.page-home .text-link{font-size:14px}
  .page-home .eyebrow{font-size:10px;letter-spacing:.28em}
  .page-home .pillars-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
  .page-home .pillar{min-height:225px}
  .page-home .visual-caption{width:40%}.page-home .caption-rule{width:28px;margin-bottom:16px}.page-home .caption-rule-bottom{margin-top:16px}
  .page-home .approach-copy h2{font-size:38px}
}
@media (max-width:700px){
  .page-home .hero-inner,.page-home .approach-inner{grid-template-columns:1fr;gap:18px;padding-top:22px;padding-bottom:22px}
  .page-home .hero-copy,.page-home .approach-copy{max-width:none;padding:18px 0 0}
  .page-home .visual-frame{width:100%}.page-home .pillars-grid{grid-template-columns:1fr}
  .page-home .pillar{border-right:0;border-left:0;border-bottom:1px solid #dfe6ee;min-height:0;padding:28px 0}
}
