.subpage { background: #fff; }
.subpage .mega-menu, .site-header .mega-menu { background: var(--mint); }
.active-nav { color: var(--green) !important; }
.page-shell { width: min(1140px, calc(100% - 44px)); margin-inline: auto; }
.subhero { padding: 66px 0 92px; overflow: hidden; }
.breadcrumb { display: flex; gap: 9px; color: #66706d; font-size: 13px; }
.breadcrumb a:hover { color: var(--green); }
.subhero-grid { min-height: 540px; display: grid; grid-template-columns: 1.1fr .9fr; gap: 60px; align-items: center; }
.page-kicker { display: block; margin-bottom: 24px; color: var(--green); font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.subhero h1 { max-width: 800px; margin: 0; font-size: clamp(58px, 7vw, 104px); line-height: .96; letter-spacing: -.065em; font-weight: 600; }
.subhero p { max-width: 680px; margin: 35px 0 0; font-size: 20px; line-height: 1.55; }
.subhero .outline-link { margin-top: 36px; }
.hero-orbit { position: relative; width: min(440px, 38vw); aspect-ratio: 1; justify-self: end; border: 1px solid #93aaa4; border-radius: 50%; }
.hero-orbit::before, .hero-orbit::after { content: ""; position: absolute; border: 1px solid #b4c8c3; border-radius: 50%; }
.hero-orbit::before { inset: 13%; }
.hero-orbit::after { inset: 30%; background: var(--green); border-color: var(--green); }
.hero-orbit span { position: absolute; z-index: 2; width: 18%; aspect-ratio: 1; border-radius: 50%; background: var(--mint); border: 1px solid #93aaa4; }
.hero-orbit span:first-child { top: 7%; right: 16%; }
.hero-orbit span:nth-child(2) { bottom: 8%; left: 16%; background: #fff; }
.hero-orbit b { position: absolute; z-index: 3; left: 50%; top: 50%; transform: translate(-50%,-50%); color: #fff; font-size: 55px; font-weight: 300; }
.page-section { padding: 100px 0; background: var(--grey); }
.section-title-row { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: end; margin-bottom: 55px; }
.section-title-row h2, .mint-band h2, .page-cta h2, .contact-page-layout h2 { margin: 0; font-size: clamp(38px, 4.6vw, 66px); line-height: 1.03; letter-spacing: -.045em; font-weight: 500; }
.section-title-row > p { margin: 0; font-size: 17px; line-height: 1.65; }
.feature-grid, .editorial-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; }
.feature-grid article, .editorial-grid article { min-height: 320px; padding: 28px; border-radius: 16px; background: #fff; display: flex; flex-direction: column; }
.feature-grid article > span, .editorial-grid article > span { color: var(--green); font-size: 13px; }
.feature-grid h3, .editorial-grid h3 { margin: auto 0 20px; font-size: 28px; line-height: 1.1; font-weight: 500; }
.feature-grid p, .editorial-grid p { margin: 0; line-height: 1.6; }
.editorial-grid a { margin-top: 24px; color: var(--green); }
.detail-section { padding: 105px 0; background: #fff; }
.detail-heading { display: grid; grid-template-columns: .65fr 1.35fr; gap: 70px; align-items: end; margin-bottom: 48px; }
.detail-heading h2 { max-width: 760px; margin: 0; font-size: clamp(38px, 4.6vw, 66px); line-height: 1.03; letter-spacing: -.045em; font-weight: 500; }
.detail-list { border-top: 1px solid #b8c0be; }
.detail-list article { display: grid; grid-template-columns: 70px minmax(180px,.65fr) 1.35fr; gap: 28px; align-items: start; padding: 27px 0; border-bottom: 1px solid #b8c0be; }
.detail-list article > span { color: var(--green); font-size: 13px; font-weight: 700; }
.detail-list h3 { margin: 0; font-size: 24px; font-weight: 500; }
.detail-list p { max-width: 640px; margin: 0; color: #3e4543; font-size: 16px; line-height: 1.65; }
.mint-band { padding: 105px 0; background: var(--mint); }
.mint-band h2 { max-width: 820px; }
.mint-band p { max-width: 700px; margin: 26px 0 0; font-size: 18px; line-height: 1.65; }
.mint-band .outline-link { margin-top: 38px; }
.page-cta { padding: 85px 0; background: #fff; }
.page-cta .page-shell { display: flex; justify-content: space-between; align-items: end; gap: 30px; }
.page-cta h2 { font-size: clamp(38px, 4vw, 58px); }
.page-cta .outline-link { flex: 0 0 auto; }
.policy-layout { display: grid; grid-template-columns: 240px 1fr; gap: 90px; }
.policy-layout aside { position: sticky; top: 30px; align-self: start; }
.policy-layout aside a { display: block; padding: 10px 0; border-bottom: 1px solid #c7c7c7; }
.policy-layout article { max-width: 720px; }
.policy-layout article h2 { margin: 0 0 24px; font-size: 40px; font-weight: 500; }
.policy-layout article h2:not(:first-child) { margin-top: 70px; }
.policy-layout article p { font-size: 17px; line-height: 1.75; }
.policy-layout article ul { padding: 0; list-style: none; }
.policy-layout article li { padding: 24px 0; border-top: 1px solid #c7c7c7; display: grid; grid-template-columns: 200px 1fr; gap: 35px; }
.policy-layout article li span { color: #545454; }
.contact-page-section { background: var(--grey); }
.contact-page-layout { display: grid; grid-template-columns: .85fr 1.15fr; gap: 70px; align-items: start; }
.contact-page-layout > div > p { max-width: 460px; font-size: 17px; line-height: 1.7; }
.contact-page-form { padding: 34px; border-radius: 16px; background: #fff; }
.subpage .floating-talk a { width: 76px; min-height: 112px; padding: 14px 11px; border-radius: 20px 0 0 20px; display: flex; flex-direction: column; justify-content: center; align-items: center; color: #fff; background: var(--green-dark); }

@media (max-width: 960px) {
  .subhero-grid { min-height: 470px; grid-template-columns: 1fr .65fr; }
  .hero-orbit { width: min(320px, 34vw); }
  .section-title-row { gap: 35px; }
  .detail-heading { gap: 35px; }
  .contact-page-layout { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
  .page-shell { width: calc(100% - 28px); }
  .subhero { padding: 42px 0 68px; }
  .subhero-grid { min-height: auto; padding-top: 80px; grid-template-columns: 1fr; }
  .subhero h1 { font-size: 54px; }
  .subhero p { font-size: 17px; }
  .hero-orbit { width: 280px; justify-self: center; margin-top: 30px; }
  .page-section { padding: 70px 0; }
  .section-title-row { grid-template-columns: 1fr; gap: 22px; }
  .feature-grid, .editorial-grid { grid-template-columns: 1fr; }
  .feature-grid article, .editorial-grid article { min-height: 255px; }
  .detail-section { padding: 70px 0; }
  .detail-heading { grid-template-columns: 1fr; gap: 22px; }
  .detail-list article { grid-template-columns: 42px 1fr; gap: 10px 16px; }
  .detail-list p { grid-column: 2; }
  .mint-band { padding: 70px 0; }
  .page-cta .page-shell { align-items: flex-start; flex-direction: column; }
  .policy-layout { grid-template-columns: 1fr; gap: 45px; }
  .policy-layout aside { position: static; }
  .policy-layout article li { grid-template-columns: 1fr; gap: 8px; }
  .contact-page-form { padding: 22px 16px; }
  .subpage .floating-talk { display: block; }
}
