.formation-page { background: #fff; }
.formation-page main [id] { scroll-margin-top: 92px; }

.formation-hero { position: relative; overflow: hidden; padding: 42px 0 88px; background: linear-gradient(112deg, #f7f9fb 0%, #eef4f8 58%, #e4edf4 100%); }
.formation-hero::before { content: ""; position: absolute; inset: 0; opacity: .3; background-image: linear-gradient(rgba(7,45,92,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(7,45,92,.08) 1px, transparent 1px); background-size: 62px 62px; mask-image: linear-gradient(90deg, transparent 0%, #000 64%, #000 100%); pointer-events: none; }
.formation-breadcrumb { position: relative; z-index: 1; margin-bottom: 42px; }
.formation-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: .92fr 1.08fr; gap: 7%; align-items: center; }
.formation-hero-copy h1 { max-width: 760px; margin: 0; color: var(--navy); font-family: Georgia, "Times New Roman", serif; font-size: clamp(53px, 4.7vw, 76px); font-weight: 500; letter-spacing: -.045em; line-height: 1.03; }
.formation-hero-copy h1 span { color: var(--blue); }
.formation-hero-copy > p:not(.eyebrow) { max-width: 650px; margin: 27px 0 31px; color: #3b5772; font-size: 16px; line-height: 1.8; }
.formation-hero-actions { display: flex; align-items: center; gap: 26px; }
.formation-hero-media { position: relative; min-height: 520px; margin: 0; overflow: hidden; border-top: 3px solid var(--gold); background: #d8e3ec; box-shadow: 0 28px 70px rgba(5,35,70,.2); }
.formation-hero-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 50%, rgba(3,28,60,.68)); pointer-events: none; }
.formation-hero-media > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.formation-hero-caption { position: absolute; right: 24px; bottom: 22px; left: 24px; z-index: 1; display: flex; align-items: end; justify-content: space-between; gap: 20px; color: #fff; }
.formation-hero-caption strong { max-width: 310px; font-family: Georgia, serif; font-size: 23px; font-weight: 500; line-height: 1.25; }
.formation-hero-caption small { color: #e4c485; font-size: 11px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }

.formation-principles { background: #031d3d; color: #fff; }
.formation-principles-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.formation-principles article { min-height: 142px; padding: 28px 30px 25px; border-right: 1px solid rgba(255,255,255,.13); }
.formation-principles article:first-child { border-left: 1px solid rgba(255,255,255,.13); }
.formation-principles small, .formation-principles strong, .formation-principles span { display: block; }
.formation-principles small { color: #dfb96f; font-size: 11px; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.formation-principles strong { margin-top: 13px; font-family: Georgia, serif; font-size: 21px; font-weight: 500; line-height: 1.25; }
.formation-principles span { margin-top: 7px; color: #b3c6d8; font-size: 12px; line-height: 1.55; }

.formation-section { padding: 116px 0; }
.formation-section--soft { background: #f2f6f9; }
.formation-section--navy { position: relative; overflow: hidden; background: #06264d; color: #fff; }
.formation-section--navy::after { content: ""; position: absolute; inset: 0; opacity: .1; background-image: radial-gradient(circle, rgba(255,255,255,.75) 1px, transparent 1px); background-size: 22px 22px; mask-image: linear-gradient(90deg, transparent 0%, #000 70%); pointer-events: none; }
.formation-heading { display: grid; margin-bottom: 56px; grid-template-columns: 1.03fr .97fr; gap: 10%; align-items: end; }
.formation-heading h2, .formation-fit-intro h2, .formation-documents-copy h2, .formation-activation-copy h2 { margin: 0; color: var(--navy); font-family: Georgia, "Times New Roman", serif; font-size: clamp(42px, 3.9vw, 59px); font-weight: 500; letter-spacing: -.04em; line-height: 1.08; }
.formation-heading > p { max-width: 600px; margin: 0 0 5px; color: var(--muted); font-size: 15px; line-height: 1.8; }

.formation-destinations { padding-top: 104px; background: #fff; }
.formation-destinations-heading { margin-bottom: 44px; }
.formation-destination-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.formation-destination { position: relative; min-height: 300px; overflow: hidden; border-top: 2px solid var(--gold); background: #082c54; color: #fff; }
.formation-destination--wide { grid-column: span 2; }
.formation-destination img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .55s ease; }
.formation-destination-shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(3,24,50,.08) 15%, rgba(3,24,50,.9) 100%); }
.formation-destination-copy { position: absolute; right: 0; bottom: 0; left: 0; display: block; padding: 27px 29px; }
.formation-destination-copy small, .formation-destination-copy strong, .formation-destination-copy em { display: block; }
.formation-destination-copy small { color: #e1bd77; font-size: 10px; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.formation-destination-copy strong { margin-top: 8px; color: #fff; font-family: Georgia, "Times New Roman", serif; font-size: 29px; font-weight: 600; line-height: 1.15; }
.formation-destination-copy em { max-height: 0; margin-top: 0; overflow: hidden; color: rgba(255,255,255,.84); font-size: 12px; font-style: normal; font-weight: 700; opacity: 0; transition: max-height .3s ease, margin .3s ease, opacity .3s ease; }
.formation-destination-copy b { margin-left: 8px; color: #e1bd77; font-weight: 400; }
.formation-destination:hover img { transform: scale(1.035); }
.formation-destination:hover .formation-destination-copy em { max-height: 30px; margin-top: 13px; opacity: 1; }
.formation-destination-note { margin: 25px 0 0; color: #60758a; font-size: 13px; text-align: right; }
.formation-destination-note a { padding-bottom: 3px; border-bottom: 1px solid #8ca7bd; color: var(--blue); font-weight: 800; }

.formation-fit-grid { display: grid; grid-template-columns: .69fr 1.31fr; gap: 9%; align-items: start; }
.formation-fit-intro { position: sticky; top: 136px; }
.formation-fit-intro > p:not(.eyebrow) { margin: 24px 0 27px; color: var(--muted); font-size: 15px; line-height: 1.82; }
.formation-fit-board { border-top: 1px solid var(--navy); }
.formation-fit-board article { display: grid; min-height: 142px; padding: 27px 0; grid-template-columns: 190px 1fr; gap: 38px; border-bottom: 1px solid var(--line); }
.formation-fit-board small { color: var(--gold); font-size: 11px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.formation-fit-board h3 { margin: 9px 0 0; color: var(--navy); font-family: Georgia, serif; font-size: 23px; line-height: 1.25; }
.formation-fit-board p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.75; }

.formation-entity-table-wrap { overflow-x: auto; border: 1px solid var(--line); background: #fff; box-shadow: 0 18px 45px rgba(7,45,92,.07); }
.formation-entity-table { width: 100%; min-width: 1040px; border-collapse: collapse; }
.formation-entity-table th, .formation-entity-table td { padding: 21px 22px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.formation-entity-table th:last-child, .formation-entity-table td:last-child { border-right: 0; }
.formation-entity-table tr:last-child td { border-bottom: 0; }
.formation-entity-table thead th { background: #071f3d; color: #fff; font-size: 11px; letter-spacing: .09em; text-transform: uppercase; }
.formation-entity-table tbody th { width: 180px; background: #f8fafc; color: var(--navy); font-family: Georgia, serif; font-size: 18px; font-weight: 700; line-height: 1.25; }
.formation-entity-table td { color: var(--muted); font-size: 13px; line-height: 1.65; }
.formation-table-note { margin: 16px 0 0; color: #6f8294; font-size: 12px; line-height: 1.65; }

.formation-process { counter-reset: formation-step; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--navy); border-left: 1px solid var(--line); }
.formation-process article { counter-increment: formation-step; position: relative; min-height: 255px; padding: 34px 31px 30px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #fff; }
.formation-process article::before { content: counter(formation-step, decimal-leading-zero); display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid #c6d3df; border-radius: 50%; color: var(--gold); font-family: Georgia, serif; font-size: 16px; }
.formation-process small { position: absolute; top: 46px; right: 30px; color: var(--gold); font-size: 10px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.formation-process h3 { margin: 30px 0 13px; color: var(--navy); font-family: Georgia, serif; font-size: 25px; line-height: 1.22; }
.formation-process p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.72; }

.formation-documents-grid { display: grid; grid-template-columns: .88fr 1.12fr; gap: 8%; align-items: stretch; }
.formation-documents-media { position: relative; min-height: 680px; margin: 0; overflow: hidden; border-top: 3px solid var(--gold); background: #dce5ec; }
.formation-documents-media img { width: 100%; height: 100%; object-fit: cover; }
.formation-documents-media figcaption { position: absolute; right: 0; bottom: 0; left: 0; padding: 24px 27px; background: rgba(3,28,60,.92); color: #fff; font-family: Georgia, serif; font-size: 20px; line-height: 1.35; }
.formation-documents-copy { padding: 16px 0; }
.formation-documents-copy > p:not(.eyebrow) { margin: 24px 0 30px; color: var(--muted); font-size: 15px; line-height: 1.8; }
.formation-document-groups { border-top: 1px solid var(--navy); }
.formation-document-groups article { display: grid; padding: 24px 0; grid-template-columns: 170px 1fr; gap: 30px; border-bottom: 1px solid var(--line); }
.formation-document-groups h3 { margin: 0; color: var(--navy); font-family: Georgia, serif; font-size: 21px; line-height: 1.25; }
.formation-document-groups ul { padding: 0; margin: 0; list-style: none; }
.formation-document-groups li { position: relative; padding: 3px 0 6px 17px; color: var(--muted); font-size: 13px; line-height: 1.55; }
.formation-document-groups li::before { content: ""; position: absolute; top: 11px; left: 0; width: 5px; height: 5px; background: var(--gold); transform: rotate(45deg); }

.formation-scope-grid { position: relative; z-index: 1; display: grid; grid-template-columns: .72fr 1.28fr; gap: 9%; align-items: start; }
.formation-scope-intro h2 { margin: 0; color: #fff; font-family: Georgia, serif; font-size: clamp(42px, 3.9vw, 59px); font-weight: 500; letter-spacing: -.04em; line-height: 1.08; }
.formation-scope-intro > p:not(.eyebrow) { margin: 24px 0 28px; color: #bed0df; font-size: 15px; line-height: 1.8; }
.formation-scope-board { border-top: 1px solid rgba(255,255,255,.7); }
.formation-scope-board article { display: grid; min-height: 124px; padding: 25px 0; grid-template-columns: 180px 1fr; gap: 32px; border-bottom: 1px solid rgba(255,255,255,.14); }
.formation-scope-board h3 { margin: 0; color: #e1bd77; font-size: 11px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.formation-scope-board p { margin: 0; color: #d2e0eb; font-size: 14px; line-height: 1.7; }

.formation-activation-grid { display: grid; grid-template-columns: 1.08fr .92fr; gap: 8%; align-items: center; }
.formation-activation-media { min-height: 590px; margin: 0; overflow: hidden; background: #dbe4eb; box-shadow: 0 24px 58px rgba(7,45,92,.13); }
.formation-activation-media img { width: 100%; height: 100%; object-fit: cover; }
.formation-activation-copy > p:not(.eyebrow) { margin: 24px 0 29px; color: var(--muted); font-size: 15px; line-height: 1.8; }
.formation-continuity { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--navy); border-left: 1px solid var(--line); }
.formation-continuity article { min-height: 155px; padding: 24px 22px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.formation-continuity small { color: var(--gold); font-size: 10px; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.formation-continuity h3 { margin: 14px 0 7px; color: var(--navy); font-family: Georgia, serif; font-size: 20px; line-height: 1.25; }
.formation-continuity p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.6; }

.formation-faq { max-width: 1040px; margin-inline: auto; border-top: 1px solid var(--navy); }
.formation-faq details { border-bottom: 1px solid var(--line); }
.formation-faq summary { position: relative; padding: 25px 58px 25px 0; color: var(--navy); font-family: Georgia, serif; font-size: 22px; font-weight: 700; line-height: 1.35; cursor: pointer; list-style: none; }
.formation-faq summary::-webkit-details-marker { display: none; }
.formation-faq summary::after { content: "+"; position: absolute; top: 18px; right: 0; display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid #c8d5df; border-radius: 50%; color: var(--gold); font-family: Arial, sans-serif; font-size: 20px; font-weight: 400; }
.formation-faq details[open] summary::after { content: "−"; }
.formation-faq details p { max-width: 840px; padding: 0 60px 25px 0; margin: 0; color: var(--muted); font-size: 14px; line-height: 1.78; }

@media (max-width: 1160px) {
  .formation-hero-grid { gap: 4%; }
  .formation-hero-copy h1 { font-size: 57px; }
  .formation-hero-media { min-height: 470px; }
  .formation-principles article { padding-inline: 23px; }
}

@media (max-width: 900px) {
  .formation-hero-grid, .formation-fit-grid, .formation-documents-grid, .formation-scope-grid, .formation-activation-grid { grid-template-columns: 1fr; }
  .formation-hero-grid { gap: 44px; }
  .formation-principles-grid { grid-template-columns: repeat(2, 1fr); }
  .formation-principles article:nth-child(2) { border-right: 0; }
  .formation-principles article:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.13); }
  .formation-fit-intro { position: static; }
  .formation-heading { grid-template-columns: 1fr; gap: 25px; }
  .formation-process { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .formation-documents-grid, .formation-scope-grid, .formation-activation-grid { gap: 48px; }
  .formation-documents-media { min-height: 480px; }
  .formation-activation-media { min-height: 440px; }
  .formation-destination-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .formation-page main [id] { scroll-margin-top: 78px; }
  .formation-hero { padding: 28px 0 64px; }
  .formation-breadcrumb { margin-bottom: 30px; }
  .formation-hero-copy h1 { font-size: 43px; }
  .formation-hero-copy > p:not(.eyebrow) { font-size: 15px; }
  .formation-hero-actions { align-items: flex-start; flex-direction: column; gap: 11px; }
  .formation-hero-media { min-height: 360px; }
  .formation-hero-caption { align-items: flex-start; flex-direction: column; gap: 6px; }
  .formation-principles-grid { grid-template-columns: 1fr; }
  .formation-principles article, .formation-principles article:nth-child(2) { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.13); border-left: 0; }
  .formation-principles article:last-child { border-bottom: 0; }
  .formation-section { padding: 86px 0; }
  .formation-heading h2, .formation-fit-intro h2, .formation-documents-copy h2, .formation-activation-copy h2, .formation-scope-intro h2 { font-size: 39px; }
  .formation-fit-board article, .formation-document-groups article, .formation-scope-board article { grid-template-columns: 1fr; gap: 14px; }
  .formation-process { grid-template-columns: 1fr; }
  .formation-process article { min-height: 220px; }
  .formation-documents-media { min-height: 390px; }
  .formation-continuity { grid-template-columns: 1fr; }
  .formation-activation-media { min-height: 340px; }
  .formation-faq summary { padding-right: 50px; font-size: 20px; }
  .formation-faq details p { padding-right: 0; }
  .formation-destination-grid { grid-template-columns: 1fr; }
  .formation-destination--wide { grid-column: auto; }
  .formation-destination { min-height: 270px; }
  .formation-destination-copy em { max-height: 30px; margin-top: 11px; opacity: 1; }
  .formation-destination-note { text-align: left; }
}

@media (prefers-reduced-motion: reduce) {
  .formation-faq summary { scroll-behavior: auto; }
}
