/* 2026 premium presentation layer. Layout/content components remain independently reusable.
   All essential content is visible before scripts, fonts, or effects finish loading. */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url('./fonts/manrope-latin-variable.woff2') format('woff2');
}
:root {
  --sans: 'Manrope', 'Segoe UI', Arial, sans-serif;
  --ink: #142c40;
  --muted: #4c6274;
  --canvas: #f5f8fb;
  --soft: #eaf2f8;
  --navy: #0b263d;
  --h1: clamp(38px, 4.15vw, 64px);
  --h2: clamp(30px, 2.85vw, 42px);
  --section-space: clamp(58px, 6.3vw, 94px);
  --luxe-radius: 24px;
  --luxe-outline: 1px solid #bed2e34d;
  --luxe-shadow: 0 5px 12px #14354e04, 0 22px 60px #14354e0a;
  --luxe-ease: cubic-bezier(.22,.68,.2,1);
}
body.premium { background: #fff; font-kerning: normal; }
h1,h2,h3,h4,h5,h6 { font-weight: 700; letter-spacing: -.035em; }
h1,.cover-title,.section-intro>h3 { text-wrap: balance; }
p,.l { text-wrap: pretty; }
.metric-value .l,.metric-label .l { text-wrap: nowrap; }
:focus-visible { outline: 3px solid #2783c8; outline-offset: 5px; }

/* Pearl-glass masthead with legible, solid fallback surfaces. */
.site-header { background: #fffffff5; box-shadow: 0 8px 40px #0b263d0a; }
.header-inner { gap: 22px; }
.primary-nav { gap: 16px; }
.brand>.l { font-size: 16px; }
.primary-nav>.l:last-child>a { border-radius: 100px; padding: 13px 21px; box-shadow: 0 6px 18px #d91d3220; }
.mega-menu { background: #fbfdff; border: var(--luxe-outline); border-radius: 0 0 22px 22px; box-shadow: 0 30px 80px #0b263d24; }
.mega-menu a { border-radius: 10px; }
.menu-toggle { border-radius: 14px; background: var(--navy); box-shadow: 0 6px 14px #0b263d14; }
.contact-strip { background: #f3f7fb; color: #435e73; }
@supports(backdrop-filter:blur(16px)) { .site-header { backdrop-filter: blur(16px); } }

/* Cinematic cover: photographed content inside a luminous, layered frame. */
.page-home .contact-strip { background: #0a2134; color: #d3e2ee; }
.section-cover {
  position: relative;
  isolation: isolate;
  overflow: clip;
  background: #0a2134;
  color: #fff;
  padding-top: 68px;
  padding-bottom: 42px;
}
.section-cover::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: radial-gradient(ellipse at 82% 25%, #1769aa65, transparent 48%), radial-gradient(ellipse at 12% 100%, #315f8124, transparent 60%);
}
.cover-layout { gap: 62px; grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr); }
.cover-title { font-size: clamp(40px,4.35vw,66px); font-weight: 700; letter-spacing: -.047em; line-height: 1.13; }
.cover-title em { color: #a9d9ff; }
.cover-description { color: #d1dfeb; font-size: 20px; }
.cover-copy>.l>a { color: #fff; background: var(--blue); border-radius: 100px; padding: 16px 29px; box-shadow: 0 7px 26px #0002, inset 0 1px 0 #ffffff26; }
.cover-copy>.l>a:hover { background: #267ebe; color: white; }
.cover-photograph { padding: 12px; border-radius: 36px; background: #ffffff09; box-shadow: 0 25px 75px #0003; }
.cover-photograph::before { inset: 0; background: linear-gradient(135deg,#cde6ff28,#ffffff03 50%,#65b8f522); border: 1px solid #cde6ff38; border-radius: 36px; z-index: -1; }
.cover-photograph::after { inset: auto 18% -12px; width: auto; height: 25px; border-radius: 50%; background: #68b7f024; filter: blur(14px); z-index: -1; pointer-events: none; }
.cover-image { border-radius: 26px; height: 520px; }
.certification-gallery { background: #fffffffa; border-radius: 20px; box-shadow: 0 15px 48px #0002; padding: 26px 32px; margin-top: 48px; }
.certification-logo { filter: none; }

/* Every inner page receives the same dimensional visual language. */
.section-page-cover,.restored-contact>.page-hero {
  position: relative;
  isolation: isolate;
  overflow: clip;
  background: #0c293f;
  color: #fff;
}
.section-page-cover::before,.restored-contact>.page-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  background: radial-gradient(ellipse at 90% 10%,#247abb55,transparent 55%),linear-gradient(115deg,transparent 55%,#ffffff03 55%,#ffffff03 56%,transparent 56%);
}
.page-cover-visual { border-radius: 28px; background: #eff7fd; padding: 22px; box-shadow: 0 20px 50px #0002, 10px 10px 0 #93cef50c; }
.page-cover-copy>.l { color: #d2e2ee; }
.page-cover-copy a,.page-cover-copy>.l>a:only-child { color: #e0f1ff; }
.page-cover-copy a:hover { color: #fff; }
.section:nth-of-type(4n+3):not(.section-page-cover):not(.section-metrics):not(.section-article-body) { background: #f6f9fc; }
.section-intro>.l:first-child:not(:only-child) { color: var(--blue-deep); font-weight: 650; letter-spacing: .025em; }
.section-symbol { border-radius: 24px; background: linear-gradient(135deg,#edf5fc,#dfeef9); box-shadow: inset 0 1px 0 #fff,0 15px 34px #1769aa0a; }
.photo-story-layout .story-image,.leadership-image { border-radius: 26px; box-shadow: var(--luxe-shadow); }
.photo-story-layout>figure { border-radius: 26px; }

/* Luminous metrics: real numbers remain stationary and readable. */
.section-metrics { padding-block: 54px; }
.metrics-grid { gap: 12px; }
.metric-tile { border-radius: 18px; background: linear-gradient(145deg,#133b58,#0c283e); box-shadow: 0 12px 30px #0b263d14,inset 0 1px 0 #ffffff1f; padding-block: 30px 26px; }
.metric-tile:nth-child(2n) { background: linear-gradient(145deg,#194764,#10334d); }
.metric-value { font-weight: 750; font-size: clamp(28px,2.45vw,38px); letter-spacing: -.05em; }
.metric-label { color: #e0edf7; font-size: 16px; letter-spacing: -.015em; }
.metric-accent { gap: 5px; margin-top: 22px; }
.metric-accent i { background: #86c8fa; box-shadow: 0 0 9px #86c8fa24; }
.metric-tile::before { content:''; position:absolute; inset:0; border-radius:inherit; pointer-events:none; background:linear-gradient(115deg,transparent 20%,#ffffff0c 42%,transparent 65%); transform:translateX(-105%); }
.metric-tile.is-in-view::before { animation: metric-light 1.4s var(--luxe-ease) .2s 1; }
@keyframes metric-light { to { transform:translateX(105%); } }

/* Sculpted surfaces and consistent optical depth across content families. */
.feature-tile,.story-card,.process-card,.question-card,.person-card,.step-card,.article-directory article,.office-grid article {
  border-radius: var(--luxe-radius);
  box-shadow: var(--luxe-shadow);
  outline: var(--luxe-outline);
  outline-offset: -1px;
}
.feature-tile { background: #f7fafc; padding: 32px; }
.feature-tile:nth-child(3n+1) { background: #eef5fb; }
.tile-symbol { border-radius: 18px; background: #fff; box-shadow: 0 6px 20px #173c5708; }
.tile-photo { border-radius: 16px; }
.tile-copy h3,.tile-copy h5 { line-height: 1.35; font-size: 25px; }
.audience-mosaic { gap: 24px; }
.audience-mosaic .feature-tile { background: linear-gradient(130deg,#103650,#0b263d); }
.audience-mosaic .feature-tile:nth-child(2n) { background: linear-gradient(135deg,#edf5fc,#f7fbfe); }
.audience-mosaic .feature-tile:not(:nth-child(2n)) a { color: white; }
.story-card { background: #fff; }
.story-symbol { background: linear-gradient(135deg,#e5f1fa,#f5f9fc); }
.story-copy { padding: 30px; }
.story-copy h3 { font-size: 24px; }
.story-cover { border-radius: 22px 22px 0 0; }
.process-index button,.process-index a { border-radius: 13px; background: #edf3f8; box-shadow: inset 0 0 0 1px #c9dce94d; color: #304f66; }
.process-index button:hover,.process-index a:hover { background: #dfedf8; }
.process-card { background: #f3f8fc; }
.process-card:first-child { background: linear-gradient(145deg,#143b55,#0b263d); }
.process-copy { padding: 30px; }
.process-copy>h3 { font-size: 28px; }
.process-copy>h5 { font-weight: 500; }
.process-card:first-child .process-copy>h5 { color: #ecf5fc; }
.question-card { background: #f0f6fb; padding: 30px 32px; }
.question-card:nth-child(2n) { background: #fff; }
.question-card h5 { font-size: 23px; }
.quote-card { border-radius: 22px; background: #fff; box-shadow: var(--luxe-shadow); outline: var(--luxe-outline); outline-offset: -1px; margin-right: 0; }
.quote-card>.l:first-child { font-family: Georgia,serif; font-size: 22px; line-height: 1.8; }
.specialty-directory>.l { border-radius: 14px; background: #f0f6fb; box-shadow: inset 0 0 0 1px #bed2e34d; }
.specialty-directory>.l:hover { background: #e5f0f9; }
.section-invitation>.container { border-radius: 30px; background: radial-gradient(ellipse at 95% 0,#2b82b951,transparent 65%),#0c2a41; box-shadow: 0 24px 64px #0b263d18; }
.invitation-visual { border-radius: 24px; background: #edf6fd; }
.section-invitation a,.section-invitation .l>a:only-child { color: #e4f3ff; }
.section-invitation a:hover { color: white; }
.leadership-statement>.l { border-radius: 100px; padding: 12px 19px; background: #ecf4fa; }
.person-card { background: #f9fbfd; }
.person-card figure { background: radial-gradient(ellipse at 50% 15%,#fff,#e4eef7); padding-top: 30px; }
.person-copy { padding: 29px; }
.person-copy h3 { font-size: 24px; line-height: 1.35; }
.person-copy a { color: var(--ink); }
.account-grid .person-copy h3 { font-size: 23px; }
.step-card { background: #eff6fb; }
.article-directory article { background: #f5f9fc; }
.section-article-opening { background: radial-gradient(ellipse at 95% 0,#dceefa8c,transparent 62%),#f3f7fb; padding-block: 68px 46px; }
.article-heading { margin-bottom: 34px; }
.section-article-body .l { line-height: 1.9; color: #3e576b; }
.section-article-body>.container { max-width: 900px; }

/* Premium contact and footer, with the official logo on its own light surface. */
.contact-information,.restored-contact-form { border-radius: 26px; box-shadow: var(--luxe-shadow); outline: var(--luxe-outline); outline-offset: -1px; }
.contact-information { background: linear-gradient(145deg,#eaf3fa,#f5f9fc); }
.restored-contact-form { background: #f9fbfd; }
.restored-contact-form input,.restored-contact-form textarea { border-radius: 11px; border-color: #94aabd; background: #fff; transition: border-color .2s,box-shadow .2s; }
.restored-contact-form input:focus,.restored-contact-form textarea:focus { border-color:var(--blue); box-shadow:0 0 0 4px #1769aa12; }
.restored-contact-form button { border-radius: 100px; }
.restored-contact-form p.implementation-status { border-radius: 12px; background: #e9f0f6; }
.office-grid article { background: white; }
.site-footer { background: radial-gradient(ellipse at 0 0,#1769aa24,transparent 55%),#0a2235; color: #d0dfeb; padding-block: 82px; }
.footer-column { color: #d0dfeb; }
.footer-column h3 { color: #fff; font-size: 21px; }
.footer-column a { color: #d5eafb; }
.footer-column a:hover { color: #fff; }
.footer-logo { padding: 16px; background: #fff; border-radius: 12px; }
.site-footer :focus-visible { outline-color: #a9d9ff; }

/* Delegated pointer lighting never reveals text or changes the reading order. */
.luxe-interactive { position: relative; isolation: isolate; }
.luxe-interactive::after { content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:2;opacity:0;background:radial-gradient(240px circle at var(--luxe-x,50%) var(--luxe-y,50%),#8cc6f414,transparent 75%);transition:opacity .25s; }
.luxe-interactive[data-luxe-active]::after { opacity:1; }
.cover-copy>.l>a,.primary-nav>.l:last-child>a { position:relative;isolation:isolate;overflow:hidden; }
.cover-copy>.l>a::before,.primary-nav>.l:last-child>a::before { content:'';position:absolute;inset:-50% -80%;background:linear-gradient(105deg,transparent 40%,#ffffff2e 50%,transparent 60%);transform:translateX(-65%);pointer-events:none; }
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
  .feature-tile,.story-card,.person-card,.question-card,.step-card { transition:box-shadow .3s var(--luxe-ease),transform .3s var(--luxe-ease); }
  .feature-tile:hover,.story-card:hover,.person-card:hover,.question-card:hover,.step-card:hover,
  .feature-tile:focus-within,.story-card:focus-within,.person-card:focus-within { transform:translateY(-3px);box-shadow:0 8px 18px #14354e08,0 28px 64px #14354e15; }
  .cover-copy>.l>a:is(:hover,:focus-visible)::before,.primary-nav>.l:last-child>a:is(:hover,:focus-visible)::before { animation:button-polish .8s var(--luxe-ease) 1; }
  .cover-photograph.luxe-in-view { animation:frame-settle 1.1s var(--luxe-ease) 1; }
}
@keyframes button-polish { to { transform:translateX(65%); } }
@keyframes frame-settle { from { box-shadow:0 25px 75px #0001; } to { box-shadow:0 25px 75px #0003; } }
@media(max-width:1279px) {
  .primary-nav { padding-top:12px; }
  .mega-menu { border:0;border-radius:16px;box-shadow:none; }
  .metric-value { font-size:36px; }
  .cover-layout { gap:38px; }
  .cover-image { height:470px; }
}
@media(max-width:960px) {
  .cover-layout { grid-template-columns:1fr; }
  .cover-title { max-width:790px; }
  .cover-photograph { max-width:760px; }
  .cover-image { height:420px; }
  .page-cover-visual { padding:16px; }
}
@media(max-width:760px) {
  :root { --h1:clamp(36px,8.2vw,48px);--h2:32px;--luxe-radius:20px;--section-space:56px; }
  .section-cover { padding-top:42px;padding-bottom:32px; }
  .cover-title { font-size:clamp(36px,8.4vw,48px); }
  .cover-description { font-size:19px; }
  .cover-photograph { padding:8px;border-radius:26px; }
  .cover-photograph::before { border-radius:26px; }
  .cover-photograph::after { height:16px; }
  .cover-image { height:340px;border-radius:20px; }
  .certification-gallery { padding:22px 16px;border-radius:16px; }
  .metric-value { font-size:32px; }
  .metric-tile { padding:26px 12px; }
  .metric-label,.metric-label .l { white-space:normal;text-wrap:pretty; }
  .feature-tile,.story-copy,.process-copy,.question-card,.person-copy { padding:26px; }
  .section-invitation>.container { border-radius:24px; }
  .page-cover-visual { border-radius:20px; }
  .contact-information,.restored-contact-form { border-radius:20px; }
  .site-footer { padding-block:54px; }
}
@media(max-width:480px) { .cover-image { height:310px; }.metric-value { font-size:36px; }.restored-contact-form { padding:22px; } }
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation:none!important;transition:none!important; }
  .luxe-interactive::after { display:none; }
}
@media print {
  .section-cover,.section-page-cover,.section-invitation>.container,.site-footer { background:white;color:#142c40; }
  .cover-description,.cover-title em,.page-cover-copy>.l,.footer-column,.footer-column h3,.footer-column a { color:#142c40; }
  .section-cover::before,.section-page-cover::before,.luxe-interactive::after { display:none; }
}


/* Ebook introduction: clean, light split hero inspired by the resource-page reference. */
.page-ebooks .section-ebooks-intro { padding: clamp(48px, 6vw, 84px) 0; background: radial-gradient(ellipse at 82% 45%, #e8f4ff 0, #f7fbff 36%, #fff 72%); color: #123252; }
.page-ebooks .ebooks-intro-layout { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(300px, .88fr); align-items: center; gap: clamp(28px, 5vw, 72px); }
.page-ebooks .ebooks-intro-copy { min-width: 0; }
.page-ebooks .ebooks-eyebrow { display: inline-flex; align-items: center; padding: 10px 19px; margin-bottom: 22px; border-radius: 100px; color: #0874c9; background: #e1f0ff; font-size: 14px; font-weight: 800; letter-spacing: .06em; }
.page-ebooks .ebooks-intro-copy h2 { margin: 0; color: #102f50; font-size: clamp(34px, 4.4vw, 58px); line-height: 1.12; letter-spacing: -.045em; }
.page-ebooks .ebooks-accent { width: 82px; height: 5px; margin: 24px 0 30px; border-radius: 8px; background: linear-gradient(90deg, #0879d0 0 75%, #dceeff 75%); }
.page-ebooks .ebooks-intro-copy > .l { margin: 0 0 17px; color: #4c6380; font-size: clamp(16px, 1.35vw, 20px); line-height: 1.65; }
.page-ebooks .ebooks-terms { display: flex; align-items: center; gap: 18px; margin-top: 28px; padding: 18px 22px; border: 1px solid #c8e3ff; border-radius: 15px; background: #f4faffd9; color: #244666; font-size: 15px; line-height: 1.65; }
.page-ebooks .ebooks-terms a { color: #0876c9; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.page-ebooks .ebooks-shield { display: grid; flex: 0 0 54px; width: 54px; height: 54px; place-items: center; border-radius: 50%; color: #fff; background: linear-gradient(145deg, #218bd9, #075da8); font-size: 29px; font-weight: 800; box-shadow: 0 0 0 9px #e2f1ff; }
.page-ebooks .ebooks-intro-visual { position: relative; display: grid; min-height: 370px; place-items: center; isolation: isolate; }
.page-ebooks .ebooks-orbit { position: absolute; z-index: -2; width: min(100%, 390px); aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #fff 0, #e2f1ff 58%, #c6e4ff 100%); }
.page-ebooks .ebooks-book { position: absolute; display: flex; flex-direction: column; justify-content: center; gap: 10px; width: 205px; height: 275px; padding: 28px 22px; border-radius: 9px 18px 18px 9px; box-shadow: 0 24px 42px #124b7c30, inset 5px 0 0 #ffffffa8; }
.page-ebooks .ebooks-book-back { transform: translate(44px, -4px) rotate(12deg); color: #eaf6ff; background: linear-gradient(145deg, #1476c1, #064a87); }
.page-ebooks .ebooks-book-back span { font-size: 12px; letter-spacing: .12em; }
.page-ebooks .ebooks-book-back strong { font-size: 26px; }
.page-ebooks .ebooks-book-front { transform: translate(-24px, 2px) rotate(-6deg); color: #103b62; border: 1px solid #d4e8fa; background: linear-gradient(145deg, #fff, #edf6ff); }
.page-ebooks .ebooks-book-front span { font-size: 22px; font-weight: 750; }
.page-ebooks .ebooks-book-front strong { color: #0878ca; font-size: 29px; }
.page-ebooks .ebooks-book-front i { display: block; width: 60px; height: 5px; margin-top: 8px; border-radius: 8px; background: #1687d7; }
.page-ebooks .ebooks-download-mark { position: absolute; right: 2%; bottom: 12%; display: grid; width: 82px; height: 82px; place-items: center; border: 8px solid #ffffffb8; border-radius: 50%; color: #0878ca; background: #fff; box-shadow: 0 12px 35px #1262a51c; font-size: 52px; line-height: 1; }
.page-ebooks .ebooks-dots { position: absolute; z-index: -1; top: 6%; right: 0; width: 110px; height: 95px; background-image: radial-gradient(#9ecfff 3px, transparent 3px); background-size: 25px 25px; }
@media (max-width: 760px) { .page-ebooks .ebooks-intro-layout { grid-template-columns: 1fr; } .page-ebooks .ebooks-intro-visual { min-height: 320px; grid-row: 1; } .page-ebooks .ebooks-book { transform-origin: center; scale: .86; } .page-ebooks .ebooks-book-back { transform: translate(34px, -4px) rotate(12deg); } .page-ebooks .ebooks-book-front { transform: translate(-24px, 2px) rotate(-6deg); } .page-ebooks .ebooks-terms { align-items: flex-start; padding: 16px; } }
