@font-face { font-family:"Geist"; font-style:normal; font-weight:100 900; font-display:swap; src:url("/ta/t34/geist-latin.woff2") format("woff2"); }
:root { --font-geist-sans:"Geist",Arial,Helvetica,sans-serif; --ink:#0b1f31; --ink-soft:#18384b; --paper:#f4f1e9; --white:#ffffff; --blue:#165ee4; --aqua:#53d9d0; --lime:#c9f06f; --coral:#ff735f; --gold:#f7c94a; --violet:#a990ff; --rose:#ff98c6; --line:rgba(11,31,49,0.16); }
* { box-sizing:border-box; }
h2 { font-weight:400 !important; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--font-geist-sans),Arial,sans-serif !important; font-size:16px; line-height:1.6; }
a { color:inherit; text-decoration:none; }
button,input,select,textarea { font-family:var(--font-geist-sans),Arial,sans-serif !important; font:inherit; }
.site-frame { overflow:hidden; }
.shell { width:min(1420px,calc(100% - 80px)); margin:0 auto; }
.utility-bar { position:relative; z-index:40; background:#101848; color:rgba(255,255,255,0.72); font-size:12px; letter-spacing:0.05em; }
.utility-inner { min-height:44px; display:flex; align-items:center; justify-content:space-between; }
.decyp-brand { display:flex; align-items:center; }
.decyp-brand img { display:block; width:374px; max-width:100%; height:36px; object-fit:contain; object-position:left center; }
.utility-inner div { display:flex; gap:26px; }
.utility-inner a:hover { color:var(--white); }
.site-header { position:relative; z-index:30; background:rgba(255,255,255,0.97); border-bottom:1px solid rgba(11,31,49,0.1); }
.header-inner { min-height:92px; display:flex; align-items:center; gap:34px; }
.brand { display:flex; align-items:center; flex:0 0 auto; }
.brand img { display:block; width:188px; height:auto; }
.desktop-nav { margin-left:auto; display:flex; align-items:stretch; align-self:stretch; gap:2px; }
.nav-item { position:relative; display:flex; align-items:center; }
.nav-item>a,.nav-item>button { display:flex; align-items:center; gap:7px; height:100%; padding:0 13px; border:0; background:transparent; color:var(--ink); cursor:pointer; font-size:13px; font-weight:650; white-space:nowrap; }
.nav-chevron { width:6px; height:6px; margin:-3px 0 0 2px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); }
.nav-item:hover>a,.nav-item:hover>button,.nav-item:focus-within>a,.nav-item:focus-within>button { color:var(--blue); }
.nav-menu { position:absolute; top:calc(100% - 2px); left:0; width:300px; padding:18px; background:var(--white); border:1px solid rgba(11,31,49,0.09); box-shadow:0 24px 70px rgba(11,31,49,0.16); opacity:0; pointer-events:none; transform:translateY(10px); transition:180ms ease; }
.nav-item:hover .nav-menu,.nav-item:focus-within .nav-menu { opacity:1; pointer-events:auto; transform:translateY(0); }
.nav-menu p { margin:0 0 10px; padding:0 10px 10px; border-bottom:1px solid var(--line); color:rgba(11,31,49,0.5); font-size:11px; font-weight:750; letter-spacing:0.12em; text-transform:uppercase; }
.nav-menu a { display:flex; align-items:center; justify-content:space-between; padding:8px 10px; color:var(--ink-soft); font-size:13px; line-height:1.25; }
.nav-menu a:hover { background:#eff5ff; color:var(--blue); }
.header-cta { display:inline-flex; align-items:center; gap:18px; flex:0 0 auto; padding:13px 18px; background:var(--blue); color:var(--white); font-size:13px; font-weight:700; transition:180ms ease; }
.header-cta:hover { background:var(--ink); }
.menu-toggle,.mobile-nav { display:none; }
.hero { position:relative; min-height:790px; display:flex; align-items:flex-end; background:var(--ink); color:var(--white); }
.hero-image,.hero-shade { position:absolute; inset:0; }
.hero-image { background-position:center; background-size:cover; transform:scale(1.015); }
.hero-shade { background:linear-gradient(90deg,rgba(6,25,44,0.93) 0%,rgba(6,25,44,0.66) 45%,rgba(6,25,44,0.06) 78%),linear-gradient(0deg,rgba(6,25,44,0.65) 0%,transparent 48%); }
.hero-orbit { position:absolute; border:1px solid rgba(255,255,255,0.25); border-radius:50%; }
.orbit-one { right:-220px; top:-430px; width:900px; height:900px; }
.orbit-two { right:-340px; top:-560px; width:1160px; height:1160px; }
.hero-content { position:relative; z-index:2; padding-bottom:96px; }
.hero h1 { max-width:780px; margin:0; font-size:clamp(70px,8vw,126px); line-height:0.84; letter-spacing:-0.075em; }
.hero h1 span { color:var(--aqua); font-weight:360; }
.hero-copy { max-width:640px; margin:34px 0 0; color:rgba(255,255,255,0.82); font-size:19px; line-height:1.55; }
.hero-actions { display:flex; gap:12px; margin-top:34px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:24px; min-height:52px; padding:0 22px; font-size:14px; font-weight:720; transition:180ms ease; }
.button-light { background:var(--white); color:var(--ink); }
.button-light:hover { background:var(--aqua); }
.button-dark { background:var(--ink); color:var(--white); }
.button-dark:hover,.button-dark:focus-visible { background:#165ee4; color:#ffffff !important; }
.section-pad { padding:120px 0; }
.welcome-grid { display:grid; grid-template-columns:1.15fr 0.85fr; gap:130px; }
.welcome h2,.section-heading h2,.feature-copy h2,.quick h2,.contact-band h2 { margin:0; font-size:clamp(44px,5vw,74px); line-height:1; letter-spacing:-0.055em; }
.welcome-copy { padding-top:32px; }
.welcome-copy p { margin:0 0 18px; color:rgba(11,31,49,0.7); font-size:18px; }
.anniversary { position:relative; overflow:hidden; background:var(--ink); color:var(--white); }
.anniversary::after { content:""; position:absolute; right:-300px; top:-500px; width:920px; height:920px; border:1px solid rgba(247,201,74,0.2); border-radius:50%; box-shadow:0 0 0 160px rgba(247,201,74,0.025); }
.anniversary-grid { position:relative; z-index:2; display:grid; grid-template-columns:1.15fr 0.85fr; gap:100px; align-items:center; }
.anniversary-crest img { display:block; width:100%; height:auto; }
.anniversary-copy h2 { margin:0; font-size:clamp(45px,4.7vw,70px); line-height:0.98; letter-spacing:-0.058em; }
.anniversary-copy>p { margin:28px 0 25px; color:rgba(255,255,255,0.7); font-size:17px; }
.subjects-promotion { background:var(--white); }
.subjects-promo-heading { display:grid; grid-template-columns:1.15fr 0.85fr; gap:110px; align-items:end; margin-bottom:48px; }
.subjects-promo-heading h2 { max-width:850px; margin:0; font-size:clamp(48px,5.4vw,80px); line-height:0.96; letter-spacing:-0.06em; }
.subjects-promo-heading>div:last-child>p { max-width:520px; margin:0 0 22px; color:rgba(11,31,49,0.68); font-size:17px; }
.subjects-promo-artwork { position:relative; display:block; overflow:hidden; background:var(--ink); box-shadow:0 32px 90px rgba(11,31,49,0.18); }
.subjects-promo-artwork::after { content:"Open app ↗"; position:absolute; right:22px; top:22px; padding:11px 17px; border:1px solid rgba(255,255,255,0.42); background:rgba(7,24,39,0.78); color:var(--white); font-size:12px; font-weight:740; letter-spacing:0.04em; backdrop-filter:blur(8px); transition:180ms ease; }
.subjects-promo-artwork img { display:block; width:100%; height:auto; transition:transform 500ms ease; }
.subjects-promo-artwork:hover img { transform:scale(1.012); }
.subjects-promo-artwork:hover::after { background:var(--aqua); border-color:var(--aqua); color:var(--ink); }
.text-link { display:inline-flex; align-items:center; gap:18px; color:var(--white); font-size:14px; font-weight:740; border-bottom:1px solid currentColor; }
.text-link.dark { margin-top:12px; color:var(--ink); }
.pathways { background:var(--ink); color:var(--white); }
.section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:50px; margin-bottom:54px; }
.section-heading>p { max-width:450px; margin:0 0 7px; color:rgba(255,255,255,0.64); font-size:17px; }
.pathway-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.pathway-card { min-height:440px; display:flex; flex-direction:column; justify-content:space-between; padding:30px; color:var(--ink); transition:220ms ease; }
.pathway-card:hover { transform:translateY(-7px); }
.pathway-card.future { background:var(--aqua); }
.pathway-card.current { background:var(--coral); }
.pathway-card.community { background:var(--lime); }
.card-number { align-self:flex-start; padding:4px 10px; border:1px solid rgba(11,31,49,0.42); border-radius:30px; font-size:11px; font-weight:760; }
.pathway-card p { margin:0 0 8px; font-size:12px; font-weight:760; letter-spacing:0.1em; text-transform:uppercase; }
.pathway-card h3 { max-width:320px; margin:0 0 24px; font-size:42px; line-height:1; letter-spacing:-0.055em; }
.pathway-card div>span { display:flex; align-items:center; justify-content:space-between; padding-top:18px; border-top:1px solid rgba(11,31,49,0.24); font-size:13px; font-weight:680; }
.feature { background:var(--paper); }
.feature-grid { display:grid; grid-template-columns:1.05fr 0.95fr; gap:95px; align-items:center; }
.feature-image { position:relative; min-height:610px; overflow:hidden; background:var(--ink); }
.feature-image img { width:100%; height:610px; display:block; object-fit:cover; transition:transform 700ms ease; }
.feature-image:hover img { transform:scale(1.03); }
.feature-image span { position:absolute; right:0; bottom:0; padding:18px 26px; background:var(--gold); color:var(--ink); font-size:12px; font-weight:760; letter-spacing:0.12em; text-transform:uppercase; }
.feature-copy p { max-width:580px; margin:30px 0 36px; color:rgba(11,31,49,0.7); font-size:18px; }
.feature-copy .cms-section-copy { margin-bottom:32px; }
.feature-copy .cms-section-copy>:last-child { margin-bottom:0; }
.feature-copy .button-dark { background:#0b1f31; color:#ffffff !important; }
.feature-copy .button-dark:hover,.feature-copy .button-dark:focus-visible { background:#165ee4; color:#ffffff !important; }
.updates { background:var(--white); }
.dark-heading>div { color:var(--ink); }
.updates-grid { display:grid; grid-template-columns:1.25fr 0.75fr; gap:16px; }
.update-card { border:1px solid var(--line); }
.update-featured { grid-row:span 2; display:grid; grid-template-columns:0.88fr 1.12fr; min-height:520px; }
.update-image { background-position:center; background-size:cover; }
.newsletter-image {  }
.update-featured>div:last-child,.update-small { padding:42px; }
.tag { margin:0 0 30px; color:var(--blue); font-size:11px; font-weight:770; letter-spacing:0.12em; text-transform:uppercase; }
.update-card h3 { margin:0; font-size:34px; line-height:1.05; letter-spacing:-0.045em; }
.update-card p:not(.tag) { color:rgba(11,31,49,0.66); }
.update-card a { display:inline-flex; gap:16px; margin-top:22px; font-size:13px; font-weight:730; border-bottom:1px solid currentColor; }
.update-small { display:flex; flex-direction:column; justify-content:space-between; min-height:252px; }
.update-small h3 { font-size:28px; }
.event-card { background:#eef6ff; }
.enrol-card { background:#f7f3e7; }
.quick { background:var(--ink); color:var(--white); }
.quick h2 { margin-bottom:50px; }
.quick-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.quick-link { min-height:164px; display:grid; grid-template-columns:1fr auto; grid-template-rows:auto 1fr; padding:22px; color:var(--ink); transition:180ms ease; }
.quick-link:hover { transform:translateY(-5px); }
.quick-link>span { grid-column:1 / -1; align-self:start; font-size:11px; font-weight:760; }
.quick-link strong { align-self:end; font-size:21px; letter-spacing:-0.035em; }
.quick-link>span:last-child { grid-column:2; align-self:end; font-size:20px; }
.quick-link.cobalt { background:#90b9ff; }
.quick-link.aqua { background:var(--aqua); }
.quick-link.coral { background:var(--coral); }
.quick-link.lime { background:var(--lime); }
.quick-link.gold { background:var(--gold); }
.quick-link.violet { background:var(--violet); }
.quick-link.rose { background:var(--rose); }
.contact-band { padding:100px 0; background:var(--blue); color:var(--white); }
.contact-band-grid { display:grid; grid-template-columns:1.2fr 0.8fr; gap:90px; align-items:end; }
.contact-band-grid>div:last-child { max-width:460px; }
.contact-band-grid p { margin:0 0 28px; color:rgba(255,255,255,0.78); font-size:18px; }
.footer { position:relative; overflow:hidden; padding:0 0 28px; background:#071827; color:var(--white); }
.footer-orbit { position:absolute; right:-320px; bottom:-520px; width:920px; height:920px; border:1px solid rgba(83,217,208,0.12); border-radius:50%; box-shadow:0 0 0 170px rgba(83,217,208,0.018),0 0 0 340px rgba(83,217,208,0.012); }
.footer-cta { position:relative; z-index:2; display:flex; align-items:flex-end; justify-content:space-between; gap:60px; padding-top:88px; padding-bottom:70px; border-bottom:1px solid rgba(255,255,255,0.15); }
.footer-cta h2 { max-width:760px; margin:0; font-size:clamp(48px,5.2vw,78px); line-height:0.96; letter-spacing:-0.062em; }
.footer-cta-actions { display:flex; flex:0 0 auto; align-self:center; gap:10px; }
.footer-grid { position:relative; z-index:2; display:grid; grid-template-columns:1.25fr 0.7fr 1fr 1.1fr; gap:70px; padding-top:70px; }
.footer-brand img { width:220px; filter:brightness(0) invert(1); }
.footer-brand p,.newsletter p:not(.footer-label) { margin:22px 0 0; color:rgba(255,255,255,0.58); font-size:14px; }
.footer-label { margin:0 0 17px; color:var(--aqua); font-size:11px; font-weight:760; letter-spacing:0.12em; text-transform:uppercase; }
.footer address { margin-bottom:15px; color:rgba(255,255,255,0.82); font-style:normal; }
.footer-contact>a:not(.text-link) { display:block; margin:0 0 9px; color:rgba(255,255,255,0.76); font-size:14px; }
.footer-nav a { display:flex; justify-content:space-between; gap:18px; padding:8px 0; border-bottom:1px solid rgba(255,255,255,0.1); color:rgba(255,255,255,0.72); font-size:13px; }
.footer-nav a:hover,.footer-contact>a:hover { color:var(--aqua); }
.contact-label { margin-top:32px; }
.footer .text-link { color:rgba(255,255,255,0.75); font-size:12px; }
.socials { display:flex; gap:17px; margin-top:24px; }
.socials a { display:inline-flex; gap:8px; font-size:12px; }
.newsletter { align-self:start; padding:28px; border:1px solid rgba(255,255,255,0.12); background:rgba(255,255,255,0.045); }
.footer-button { display:flex; justify-content:space-between; align-items:center; width:100%; margin-top:20px; padding:14px 16px; background:var(--aqua); color:var(--ink); font-size:13px; font-weight:750; }
.footer-bottom { position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:30px; margin-top:65px; padding-top:28px; border-top:1px solid rgba(255,255,255,0.14); color:rgba(255,255,255,0.45); font-size:11px; }
.footer-government { display:flex; align-items:center; gap:24px; }
.footer-government img { width:auto; height:44px; max-width:220px; object-fit:contain; filter:brightness(0) invert(1); opacity:0.75; }
.footer-government a { display:inline-flex; gap:8px; color:rgba(255,255,255,0.52); }
.footer-fine-print { justify-self:end; display:flex; align-items:center; justify-content:flex-end; gap:26px; text-align:right; }
.footer-fine-print>p { margin:0; white-space:nowrap; }
.footer-legal { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:22px; }
@media (max-width:1220px) {
  .shell { width:min(100% - 48px,1200px); }
  .desktop-nav { display:none; }
  .header-cta { margin-left:auto; }
  .menu-toggle { display:flex; flex-direction:column; justify-content:center; gap:6px; width:48px; height:48px; border:1px solid var(--line); background:transparent; cursor:pointer; }
  .menu-toggle span { width:22px; height:2px; margin:0 auto; background:var(--ink); }
  .mobile-nav { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; max-height:calc(100vh - 126px); overflow-y:auto; padding:30px 24px 40px; background:var(--white); border-top:1px solid var(--line); }
  .mobile-nav>div>a:first-child { display:block; padding-bottom:9px; border-bottom:1px solid var(--line); font-weight:730; }
  .mobile-subitem { display:block; margin-top:8px; color:rgba(11,31,49,0.65); font-size:13px; }
  .pathway-card { min-height:390px; }
  .pathway-card h3 { font-size:36px; }
  .quick-grid { grid-template-columns:repeat(3,1fr); }
  .footer-grid { grid-template-columns:1.15fr 0.75fr 1fr; }
  .newsletter { grid-column:1 / -1; }
}
@media (max-width:820px) {
  .shell { width:min(100% - 32px,760px); }
  .utility-inner { min-height:44px; justify-content:center; }
  .decyp-brand img { width:min(100%,360px); }
  .utility-inner div { display:none; }
  .header-inner { min-height:76px; gap:14px; }
  .brand img { width:150px; }
  .header-cta { display:none; }
  .mobile-nav { grid-template-columns:1fr 1fr; }
  .hero { min-height:680px; align-items:center; }
  .hero-content { padding:70px 0 80px; }
  .hero h1 { font-size:clamp(64px,18vw,104px); }
  .hero-shade { background:linear-gradient(90deg,rgba(6,25,44,0.94) 0%,rgba(6,25,44,0.68) 90%),linear-gradient(0deg,rgba(6,25,44,0.6),transparent); }
  .section-pad { padding:82px 0; }
  .welcome-grid,.feature-grid,.contact-band-grid,.subjects-promo-heading,.anniversary-grid { grid-template-columns:1fr; gap:42px; }
  .welcome-copy { padding-top:0; }
  .section-heading { align-items:flex-start; flex-direction:column; gap:24px; }
  .pathway-grid { grid-template-columns:1fr; }
  .pathway-card { min-height:320px; }
  .feature-image,.feature-image img { min-height:440px; height:440px; }
  .updates-grid { grid-template-columns:1fr; }
  .update-featured { grid-row:auto; grid-template-columns:1fr; }
  .update-image { min-height:390px; }
  .quick-grid { grid-template-columns:1fr 1fr; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .footer-cta { align-items:flex-start; flex-direction:column; }
  .footer-cta-actions { width:100%; flex-wrap:wrap; }
  .footer-bottom { grid-template-columns:1fr; justify-items:start; }
  .footer-fine-print { justify-self:start; justify-content:flex-start; text-align:left; }
  .footer-legal { justify-content:flex-start; }
}
@media (max-width:520px) {
  .decyp-brand img { width:min(100%,320px); }
  .subjects-promo-artwork::after { right:12px; top:12px; }
  .mobile-nav { grid-template-columns:1fr; }
  .hero-copy { font-size:16px; }
  .hero-actions { align-items:stretch; flex-direction:column; }
  .welcome h2,.section-heading h2,.feature-copy h2,.quick h2,.contact-band h2 { font-size:42px; }
  .pathway-card h3 { font-size:34px; }
  .update-featured>div:last-child,.update-small { padding:28px; }
  .quick-grid { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-cta-actions { flex-direction:column; }
  .footer-government { align-items:flex-start; flex-direction:column; }
  .footer-fine-print { align-items:flex-start; flex-direction:column; gap:12px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important; }
}
.page-hero { position:relative; min-height:590px; display:flex; align-items:flex-end; overflow:hidden; background:var(--ink); color:var(--white); }
.page-hero>img,.page-hero-overlay { position:absolute; inset:0; width:100%; height:100%; }
.page-hero>img { object-fit:cover; }
.page-hero-overlay { background:linear-gradient(90deg,rgba(6,25,44,0.95) 0%,rgba(6,25,44,0.7) 52%,rgba(6,25,44,0.2) 100%),linear-gradient(0deg,rgba(6,25,44,0.55),transparent 60%); }
.page-hero:not(.has-page-image)::after { content:""; position:absolute; top:-440px; right:-100px; width:850px; height:850px; border:1px solid rgba(83,217,208,0.3); border-radius:50%; box-shadow:0 0 0 150px rgba(83,217,208,0.04),0 0 0 300px rgba(83,217,208,0.025); }
.page-hero-content { position:relative; z-index:2; padding-bottom:86px; }
.page-hero h1 { max-width:950px; margin:0; font-size:clamp(62px,7vw,108px); line-height:0.92; letter-spacing:-0.067em; }
.page-hero-content>p:last-child { max-width:680px; margin:30px 0 0; color:rgba(255,255,255,0.76); font-size:19px; }
.page-layout { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:100px; padding-top:110px; padding-bottom:120px; }
.page-main { min-width:0; }
.page-sidebar { position:sticky; top:26px; align-self:start; padding-top:10px; }
.sidebar-label { margin:0 0 18px; color:rgba(11,31,49,0.48); font-size:11px; font-weight:780; letter-spacing:0.13em; text-transform:uppercase; }
.page-sidebar>a { display:flex; justify-content:space-between; gap:20px; padding:14px 0; border-bottom:1px solid var(--line); font-size:13px; font-weight:680; }
.page-sidebar>a:hover { color:var(--blue); }
.sidebar-callout { margin-top:30px; padding:27px; background:var(--blue); color:var(--white); }
.sidebar-callout p { margin:0 0 7px; color:var(--aqua); font-size:11px; font-weight:760; letter-spacing:0.1em; text-transform:uppercase; }
.sidebar-callout strong { display:block; font-size:25px; line-height:1.08; letter-spacing:-0.04em; }
.sidebar-callout a { display:flex; justify-content:space-between; margin-top:24px; padding-top:13px; border-top:1px solid rgba(255,255,255,0.25); font-size:12px; font-weight:700; }
.content-panel { margin-bottom:80px; }
.content-panel>h2,.areas-intro h2,.clp-card h2,.network-card h2,.social-contact h2 { margin:0 0 32px; font-size:clamp(38px,4.5vw,62px); line-height:1; letter-spacing:-0.055em; }
.prose { max-width:850px; color:rgba(11,31,49,0.72); font-size:18px; line-height:1.78; }
.prose p { margin:0 0 22px; }
.prose ul { margin:26px 0 0; padding:0; list-style:none; }
.prose li { position:relative; padding:13px 0 13px 32px; border-bottom:1px solid var(--line); }
.prose li::before { content:"↗"; position:absolute; left:0; top:14px; color:var(--blue); font-size:13px; }
.prose a:not(.button) { color:var(--blue); text-decoration:underline; }
.prose .button { margin-top:16px; }
.inline-feature { display:grid; grid-template-columns:1.08fr 0.92fr; align-items:start; gap:55px; margin:2rem 0 80px; padding:48px; background:linear-gradient(135deg,var(--ink) 0%,#12314a 100%); color:var(--white); }
.inline-feature h2 { margin:0; font-size:clamp(34px,4vw,51px); line-height:1; letter-spacing:-0.052em; }
.inline-feature>p,.inline-feature>div:last-child p { margin:0; align-self:start; color:rgba(255,255,255,0.72); font-size:16px; }
.inline-feature .button { margin-top:24px; }
.values-section { margin-bottom:30px; }
.values-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.values-grid article { min-height:220px; padding:26px; border:1px solid var(--line); background:rgba(255,255,255,0.38); }
.values-grid article:last-child { grid-column:1 / -1; background:var(--aqua); }
.values-grid span,.steps-grid span { color:var(--blue); font-size:11px; font-weight:780; }
.values-grid h3,.steps-grid h3,.mini-card-grid h3,.contact-cards h3 { margin:44px 0 8px; font-size:28px; line-height:1.05; letter-spacing:-0.045em; }
.values-grid p,.steps-grid p,.mini-card-grid p,.contact-cards p { margin:0; color:rgba(11,31,49,0.66); font-size:14px; }
.areas-section { margin-bottom:30px; }
.areas-intro { margin-bottom:48px; }
.areas-intro>p:last-child { max-width:600px; margin:0; color:rgba(11,31,49,0.65); font-size:17px; }
.areas-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.area-card { position:relative; min-height:350px; overflow:hidden; background:var(--ink); transition:180ms ease; }
.area-card:hover { transform:translateY(-4px); }
.area-card>img,.area-card-shade { position:absolute; inset:0; width:100%; height:100%; }
.area-card>img { object-fit:cover; transition:transform 550ms ease; }
.area-card:hover>img { transform:scale(1.055); }
.area-card-shade { background:linear-gradient(180deg,rgba(7,24,39,0.05) 20%,rgba(7,24,39,0.9) 100%); }
.area-card-content { position:relative; z-index:2; min-height:350px; display:grid; grid-template-columns:1fr auto; grid-template-rows:auto 1fr; padding:22px; color:var(--white); }
.area-card-content>span:first-child { grid-column:1 / -1; align-self:start; justify-self:start; padding:4px 9px; border:1px solid rgba(255,255,255,0.48); border-radius:30px; font-size:10px; font-weight:780; }
.area-card-content>div { align-self:end; }
.area-card-content p { margin:0 0 7px; color:rgba(255,255,255,0.7); font-size:10px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; }
.area-card-content h3 { max-width:250px; margin:0; font-size:27px; line-height:1; letter-spacing:-0.045em; }
.area-card-content>span:last-child { align-self:end; font-size:18px; }
.steps-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:0 0 80px; }
.steps-grid article { min-height:260px; padding:26px; background:var(--white); border:1px solid var(--line); }
.steps-grid article:nth-child(2) { background:#eef6ff; }
.steps-grid article:nth-child(3) { background:var(--lime); }
.clp-card,.network-card,.social-contact { display:grid; grid-template-columns:0.8fr 1.2fr; gap:60px; margin:0 0 80px; padding:50px; background:var(--ink); color:var(--white); }
.clp-card ul { margin:0; padding:0; list-style:none; columns:2; column-gap:38px; }
.clp-card li { break-inside:avoid; padding:10px 0; border-bottom:1px solid rgba(255,255,255,0.17); color:rgba(255,255,255,0.74); font-size:14px; }
.service-pills { display:flex; flex-wrap:wrap; gap:9px; margin:26px 0; }
.service-pills span { padding:8px 15px; border:1px solid rgba(22,94,228,0.3); border-radius:50px; background:#eef5ff; color:var(--blue); font-size:13px; font-weight:690; }
.mini-card-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.mini-card-grid article { min-height:310px; padding:27px; border:1px solid var(--line); background:var(--white); }
.mini-card-grid article:nth-child(2) { background:var(--gold); }
.mini-card-grid article:nth-child(3) { background:#dce9ff; }
.notice { margin:34px 0; padding:26px; border-left:4px solid var(--coral); background:#fff2ee; }
.notice strong { color:var(--ink); font-size:13px; letter-spacing:0.1em; text-transform:uppercase; }
.notice p { margin:8px 0 0; }
.network-card dl { margin:0; }
.network-card dl>div { display:grid; grid-template-columns:0.9fr 1.1fr; gap:20px; padding:12px 0; border-bottom:1px solid rgba(255,255,255,0.16); }
.network-card dt { color:rgba(255,255,255,0.5); font-size:12px; }
.network-card dd { margin:0; font-size:14px; font-weight:680; }
.newsletter-list { display:grid; grid-template-columns:0.75fr 1.25fr; gap:70px; margin:0 0 80px; }
.newsletter-list>div:last-child a,.newsletter-entry { display:grid; grid-template-columns:50px 1fr auto; gap:18px; align-items:center; padding:17px 0; border-bottom:1px solid var(--line); }
.newsletter-list a span:first-child,.newsletter-entry span:first-child { color:var(--blue); font-size:11px; font-weight:780; }
.newsletter-list a strong,.newsletter-entry strong { font-size:19px; }
.newsletter-entry span:last-child { color:rgba(11,31,49,0.48); font-size:12px; }
.contact-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-bottom:80px; }
.contact-cards article { min-height:360px; padding:28px; border:1px solid var(--line); background:var(--white); }
.contact-cards article:nth-child(2) { background:var(--aqua); }
.contact-cards article:nth-child(3) { background:#dce9ff; }
.contact-cards article>span { color:var(--blue); font-size:11px; font-weight:780; }
.contact-cards h3 { margin:46px 0 18px; font-size:26px; overflow-wrap:anywhere; }
.contact-cards article>a:last-child { display:inline-flex; gap:16px; margin-top:24px; border-bottom:1px solid currentColor; font-size:12px; font-weight:700; }
.social-contact { grid-template-columns:1fr 0.7fr; align-items:end; }
.social-contact h2 { margin:0; }
.social-contact>div:last-child a { display:flex; justify-content:space-between; padding:14px 0; border-bottom:1px solid rgba(255,255,255,0.25); font-weight:680; }
.resource-links { display:grid; gap:10px; margin-top:30px; }
.resource-links>a { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:19px 22px; border:1px solid var(--line); background:var(--white); color:var(--ink); text-decoration:none !important; transition:180ms ease; }
.resource-links>a:hover { border-color:var(--blue); color:var(--blue); transform:translateX(4px); }
.profile-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.profile-grid article { min-height:250px; display:flex; flex-direction:column; justify-content:flex-end; padding:30px; border:1px solid var(--line); background:var(--white); }
.profile-grid article:nth-child(2) { background:var(--aqua); }
.profile-grid article:nth-child(3) { background:#dce9ff; }
.profile-grid article:nth-child(4) { background:var(--gold); }
.profile-grid span { margin-bottom:auto; color:var(--blue); font-size:11px; font-weight:780; }
.profile-grid h3 { margin:50px 0 3px; font-size:32px; line-height:1.05; letter-spacing:-0.045em; }
.profile-grid p { margin:0; color:rgba(11,31,49,0.62); }
.video-frame { position:relative; overflow:hidden; width:100%; padding-top:56.25%; background:var(--ink); }
.video-frame iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.date-feature { margin-bottom:80px; padding:50px; background:var(--blue); color:var(--white); }
.date-feature>span { color:var(--aqua); font-size:11px; font-weight:780; letter-spacing:0.12em; text-transform:uppercase; }
.date-feature h2 { margin:14px 0 18px; font-size:clamp(48px,6vw,76px); line-height:0.95; letter-spacing:-0.06em; }
.date-feature p { max-width:620px; margin:0 0 28px; color:rgba(255,255,255,0.78); font-size:17px; }
.guide-links article a { display:inline-flex; gap:14px; margin-top:24px; border-bottom:1px solid currentColor; font-size:12px; font-weight:720; }
.date-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin-bottom:80px; }
.date-grid article { min-height:220px; padding:28px; border:1px solid var(--line); background:var(--white); }
.date-grid article:nth-child(2) { background:var(--aqua); }
.date-grid article:nth-child(3) { background:#dce9ff; }
.date-grid article:nth-child(4) { background:var(--gold); }
.date-grid span { color:var(--blue); font-size:11px; font-weight:780; letter-spacing:0.1em; text-transform:uppercase; }
.date-grid h3 { margin:54px 0 7px; font-size:27px; line-height:1.05; letter-spacing:-0.04em; }
.date-grid p { margin:0; color:rgba(11,31,49,0.6); font-size:13px; }
.date-poster { display:block; width:100%; height:auto; border:1px solid var(--line); box-shadow:0 28px 70px rgba(11,31,49,0.12); }
.community-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.community-grid a { min-height:220px; display:grid; grid-template-columns:1fr auto; grid-template-rows:auto 1fr; padding:28px; border:1px solid var(--line); background:var(--white); transition:180ms ease; }
.community-grid a:nth-child(2),.community-grid a:nth-child(5) { background:var(--aqua); }
.community-grid a:nth-child(3),.community-grid a:nth-child(6) { background:#dce9ff; }
.community-grid a:hover { transform:translateY(-4px); }
.community-grid a>span:first-child { grid-column:1 / -1; color:var(--blue); font-size:11px; font-weight:780; }
.community-grid h3 { align-self:end; margin:50px 0 0; font-size:28px; line-height:1.05; letter-spacing:-0.045em; }
.community-grid a>span:last-child { align-self:end; }
.photo-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.photo-grid figure { position:relative; min-height:380px; margin:0; overflow:hidden; background:var(--ink); }
.photo-grid figure:nth-child(3n) { grid-column:1 / -1; min-height:470px; }
.photo-grid img { display:block; width:100%; height:100%; min-height:inherit; object-fit:cover; transition:transform 550ms ease; }
.photo-grid figure:hover img { transform:scale(1.035); }
.photo-grid figcaption { position:absolute; left:18px; bottom:18px; padding:10px 15px; background:rgba(7,24,39,0.88); color:var(--white); font-size:13px; font-weight:720; }
.sitemap-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:50px 40px; }
.sitemap-grid h2 { margin:0 0 16px; font-size:31px; line-height:1; letter-spacing:-0.045em; }
.sitemap-grid a { display:flex; justify-content:space-between; gap:20px; padding:12px 0; border-bottom:1px solid var(--line); font-size:14px; font-weight:660; }
.sitemap-grid a:hover { color:var(--blue); }
@media (max-width:980px) {
  .page-layout { grid-template-columns:1fr; gap:50px; }
  .page-sidebar { position:static; display:none; }
  .contact-cards { grid-template-columns:1fr; }
  .contact-cards article { min-height:280px; }
}
@media (max-width:760px) {
  .page-hero { min-height:500px; }
  .page-hero-content { padding-bottom:60px; }
  .page-layout { padding-top:76px; padding-bottom:80px; }
  .inline-feature,.clp-card,.network-card,.social-contact,.newsletter-list { grid-template-columns:1fr; gap:34px; padding:34px; }
  .newsletter-list { padding:0; }
  .values-grid,.areas-grid,.steps-grid,.mini-card-grid,.profile-grid,.date-grid,.community-grid,.photo-grid,.sitemap-grid { grid-template-columns:1fr; }
  .values-grid article:last-child { grid-column:auto; }
  .clp-card ul { columns:1; }
  .date-feature { padding:34px; }
  .photo-grid figure:nth-child(3n) { grid-column:auto; min-height:380px; }
  .newsletter-entry { grid-template-columns:40px 1fr; }
  .newsletter-entry span:last-child { grid-column:2; }
}
.sky-menu { align-self:stretch; display:flex; margin-left:auto; }
.sky-menu ul { margin:0; padding:0; list-style:none; }
.sky-menu>ul { display:flex; align-items:stretch; gap:2px; }
.sky-menu .nav-item { position:relative; display:flex; align-items:stretch; list-style:none; }
.sky-menu>ul>.nav-item>a,.sky-menu>ul>.nav-item>button { position:relative; display:flex; align-items:center; gap:7px; height:100%; padding:0 13px; border:0; background:transparent; color:var(--menu-colour,var(--ink)); cursor:pointer; font-family:inherit; font-size:13px; font-weight:650; line-height:1.2; text-decoration:none; white-space:nowrap; transition:color 180ms ease; }
.sky-menu>ul>.nav-item::before { position:absolute; right:13px; bottom:20px; left:13px; height:2px; background:var(--menu-hover-colour,#165ee4); content:""; opacity:0; transform:scaleX(0.45); transition:opacity 180ms ease,transform 180ms ease; }
.sky-menu>ul>.nav-item.current>a,.sky-menu>ul>.nav-item.current>button,.sky-menu>ul>.nav-item:hover>a,.sky-menu>ul>.nav-item:hover>button,.sky-menu>ul>.nav-item:focus-within>a,.sky-menu>ul>.nav-item:focus-within>button { color:var(--menu-hover-colour,#165ee4) !important; }
.sky-menu>ul>.nav-item.current::before,.sky-menu>ul>.nav-item:hover::before,.sky-menu>ul>.nav-item:focus-within::before,.sky-menu>ul>.nav-item.is-dropdown-open::before { opacity:1; transform:scaleX(1); }
.sky-menu .nav-chevron { flex:0 0 auto; transition:transform 180ms ease; }
.sky-menu .nav-item:hover>button .nav-chevron,.sky-menu .nav-item:focus-within>button .nav-chevron,.sky-menu .nav-item.is-dropdown-open>button .nav-chevron { transform:translateY(2px) rotate(225deg); }
.sky-menu .nav-menu { position:absolute; top:calc(100% - 2px); left:0; z-index:50; display:block; width:320px; padding:18px; background:#ffffff; border:1px solid rgba(11,31,49,0.09); box-shadow:0 24px 70px rgba(11,31,49,0.16); opacity:0; pointer-events:none; transform:translateY(10px); transition:opacity 180ms ease,transform 180ms ease; }
.sky-menu>ul>.nav-item:nth-last-child(-n+2) .nav-menu { right:0; left:auto; }
.sky-menu .nav-item:hover .nav-menu,.sky-menu .nav-item:focus-within .nav-menu,.sky-menu .nav-item.is-dropdown-open .nav-menu { opacity:1; pointer-events:auto; transform:translateY(0); }
.sky-menu .nav-menu p { margin:0 0 10px; padding:0 10px 10px; border-bottom:1px solid var(--line); color:rgba(11,31,49,0.5); font-size:11px; font-weight:750; letter-spacing:0.12em; text-transform:uppercase; }
.sky-menu .nav-menu a { display:flex; align-items:center; justify-content:space-between; gap:14px; width:100%; padding:8px 10px; color:var(--ink-soft); font-size:13px; font-weight:520; line-height:1.25; text-decoration:none; transition:background-color 150ms ease,color 150ms ease; }
.sky-menu .nav-menu .submenu-item { display:block; }
.sky-menu .nav-menu a:hover,.sky-menu .nav-menu a:focus-visible,.sky-menu .nav-menu a.is-current { background:#eff5ff; color:var(--menu-hover-colour,#165ee4) !important; }
.sky-menu .nav-menu .external-mark { flex:0 0 auto; font-size:12px; }
.section-overlay { position:absolute; inset:0; background:var(--overlay-colour,#06192c); opacity:var(--overlay-opacity,0.65); pointer-events:none; }
.cms-section-copy { color:inherit; }
.cms-section-copy p:last-child { margin-bottom:0; }
.anniversary-copy .cms-section-copy { margin:28px 0 25px; color:rgba(255,255,255,0.7); font-size:17px; }
.subjects-promo-heading .cms-section-copy { max-width:520px; margin-bottom:22px; font-size:17px; }
.cms-page-heading { position:relative; min-height:500px; display:flex; align-items:flex-end; overflow:hidden; background-position:center; background-size:cover; color:#ffffff; }
.cms-page-heading-content { position:relative; z-index:2; padding-top:120px; padding-bottom:76px; }
.cms-page-heading h1 { max-width:950px; margin:0; font-weight:400; font-size:clamp(58px,7vw,104px); line-height:0.94; letter-spacing:-0.06em; }
.cms-page-heading p { max-width:700px; margin:26px 0 0; font-size:19px; opacity:0.8; }
.cms-rich-text { padding-top:var(--top-gap,100px); padding-bottom:var(--bottom-gap,100px); }
.cms-rich-text-inner { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,360px); align-items:start; gap:clamp(48px,6vw,96px); max-width:none; }
.cms-rich-text-main { min-width:0; max-width:900px; }
.cms-rich-text[data-sidebar="no"] .cms-rich-text-inner { grid-template-columns:minmax(0,1fr); gap:0; }
.cms-rich-text[data-sidebar="no"] .cms-rich-text-main { width:100%; max-width:none; }
.cms-rich-text[data-sidebar="no"] .cms-rich-text-sidebar { display:none; }
.cms-rich-text h2 { margin:0 0 30px; font-size:clamp(40px,5vw,68px); line-height:1; letter-spacing:-0.055em; }
.cms-rich-text .cms-section-copy { font-size:18px; line-height:1.78; }
.cms-rich-editor>:first-child { margin-top:0; }
.cms-rich-editor>:last-child { margin-bottom:0; }
.cms-rich-points-panel { display:grid; grid-template-columns:minmax(190px,0.72fr) minmax(0,1.28fr); align-items:start; gap:clamp(32px,5vw,72px); margin-top:clamp(42px,5vw,64px); padding:clamp(30px,4vw,52px); background:#0b1f31; color:#ffffff; }
.cms-rich-points-panel h3 { margin:0; font-size:clamp(38px,4vw,58px); font-weight:400; line-height:0.98; letter-spacing:-0.055em; text-wrap:balance; }
.cms-rich-points-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 clamp(24px,4vw,48px); margin:0; padding:0; list-style:none; }
.cms-rich-points-list li { position:relative; min-width:0; padding:14px 0 14px 18px; border-bottom:1px solid currentColor; font-size:14px; line-height:1.55; opacity:0.86; }
.cms-rich-points-list li::before { content:""; position:absolute; top:22px; left:0; width:5px; height:5px; background:currentColor; }
.cms-rich-editor-followup { margin-top:clamp(42px,5vw,64px); }
.cms-rich-pills { display:flex; flex-wrap:wrap; gap:9px; margin-top:20px; }
.cms-rich-pills span { display:inline-flex; align-items:center; min-height:34px; padding:7px 13px; border:1px solid #b9d0f5; border-radius:999px; background:#edf5ff; color:#165ee4; font-size:12px; font-weight:700; line-height:1.2; }
.cms-rich-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:clamp(42px,5vw,64px); }
.cms-rich-card { min-width:0; min-height:230px; padding:clamp(24px,3vw,34px); display:flex; flex-direction:column; background:#ffffff; color:#0b1f31; }
.cms-rich-card h3 { margin:0 0 14px; font-size:clamp(24px,2.4vw,31px); font-weight:600; line-height:1.05; letter-spacing:-0.04em; text-wrap:balance; }
.cms-rich-card p { margin:0; font-size:14px; line-height:1.62; opacity:0.78; }
.cms-rich-card-link,.cms-sidebar-box-link { display:flex; align-items:center; justify-content:space-between; gap:18px; color:inherit !important; font-weight:700; line-height:1.25; text-decoration:none !important; opacity:0.82; transition:opacity 180ms ease; }
.cms-rich-card-link { margin-top:auto; padding-top:22px; border-top:1px solid currentColor; font-size:13px; }
.cms-sidebar-box-link { margin-top:auto; padding-top:6px; font-size:12px; }
.cms-rich-card-link span,.cms-sidebar-box-link span { flex:0 0 auto; transition:transform 180ms ease; }
.cms-rich-card-link:hover,.cms-rich-card-link:focus-visible,.cms-sidebar-box-link:hover,.cms-sidebar-box-link:focus-visible { color:inherit !important; opacity:1; }
.cms-rich-card-link:hover span,.cms-rich-card-link:focus-visible span,.cms-sidebar-box-link:hover span,.cms-sidebar-box-link:focus-visible span { transform:translate(3px,-3px); }
.cms-rich-text-main>.button { margin-top:32px; }
.cms-document-download { position:relative; isolation:isolate; display:grid; grid-template-columns:minmax(270px,0.9fr) minmax(0,1.1fr); width:100%; min-height:500px; margin-top:clamp(42px,5vw,64px); overflow:hidden; background:#0b1f31; color:#ffffff; }
.cms-document-download::before { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(115deg,transparent 0 62%,rgba(255,255,255,0.035) 62% 62.3%,transparent 62.3%),repeating-linear-gradient(0deg,transparent 0 54px,rgba(255,255,255,0.025) 54px 55px); pointer-events:none; }
.cms-document-download-content { grid-column:2; grid-row:1; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; min-width:0; padding:clamp(42px,6vw,78px); }
.cms-document-download-label { margin:0 0 24px; color:var(--document-accent,#5fd9d0); font-size:11px; font-weight:800; line-height:1.2; letter-spacing:0.14em; text-transform:uppercase; }
.cms-document-download-content h3 { max-width:11ch; margin:0; font-size:clamp(38px,4.6vw,60px); font-weight:400; line-height:0.98; letter-spacing:-0.055em; text-wrap:balance; }
.cms-document-download-details { max-width:44ch; margin:24px 0 0; font-size:17px; line-height:1.65; opacity:0.76; }
.cms-document-download-rule { width:min(100%,420px); height:1px; margin:clamp(28px,4vw,42px) 0; background:currentColor; opacity:0.18; }
.cms-document-download-button { display:inline-flex; align-items:center; justify-content:space-between; gap:34px; min-width:min(100%,290px); min-height:58px; padding:16px 20px 16px 24px; background:var(--document-accent,#5fd9d0); color:var(--document-button-text,#0b1f31) !important; font-size:14px; font-weight:760; line-height:1.2; text-decoration:none !important; transition:filter 180ms ease,transform 180ms ease; }
.cms-document-download-button i { flex:0 0 auto; font-size:17px; }
.cms-document-download-button:hover,.cms-document-download-button:focus-visible { color:var(--document-button-text,#0b1f31) !important; filter:brightness(0.9); transform:translateY(-2px); }
.cms-document-download-button:focus-visible { outline:2px solid currentColor; outline-offset:4px; }
.cms-document-download-stage { position:relative; grid-column:1; grid-row:1; display:grid; place-items:center; min-width:0; min-height:500px; padding:clamp(42px,6vw,74px); overflow:hidden; border-right:1px solid rgba(255,255,255,0.13); background:radial-gradient(circle at 50% 42%,rgba(255,255,255,0.15),transparent 42%),linear-gradient(145deg,rgba(255,255,255,0.1),transparent 64%); perspective:1100px; }
.cms-document-download-stage::before { content:""; position:absolute; top:50%; left:50%; width:clamp(290px,35vw,430px); aspect-ratio:1; border:1px solid rgba(255,255,255,0.11); transform:translate(-50%,-50%) rotate(45deg); }
.cms-document-download-stage::after { content:""; position:absolute; right:8%; bottom:12%; left:8%; height:1px; background:rgba(255,255,255,0.2); }
.cms-document-book { position:relative; z-index:1; width:clamp(190px,23vw,270px); aspect-ratio:3 / 4; transform:rotateY(-13deg) rotateZ(-1deg); transform-origin:left center; transform-style:preserve-3d; filter:drop-shadow(24px 28px 22px rgba(0,0,0,0.34)); transition:transform 500ms cubic-bezier(0.2,0.75,0.2,1); }
.cms-document-download:hover .cms-document-book { transform:rotateY(-7deg) rotateZ(0deg) translateY(-5px); }
.cms-document-book::before { content:""; position:absolute; z-index:3; top:0; bottom:0; left:0; width:18px; background:linear-gradient(90deg,rgba(0,0,0,0.34),rgba(255,255,255,0.14) 38%,rgba(0,0,0,0.18)); pointer-events:none; }
.cms-document-book::after { content:""; position:absolute; z-index:-1; top:9px; right:-10px; bottom:-9px; left:8px; border-right:10px solid #d9d4c8; border-bottom:9px solid #eee9df; background:#f7f3e9; transform:translateZ(-2px); }
.cms-document-cover-surface { position:relative; z-index:2; width:100%; height:100%; overflow:hidden; border:1px solid rgba(255,255,255,0.3); background:#f3efe6; }
.cms-document-cover-surface::after { content:""; position:absolute; inset:0; background:linear-gradient(105deg,rgba(255,255,255,0.16),transparent 24% 74%,rgba(0,0,0,0.08)); pointer-events:none; }
.cms-document-cover-surface img { display:block; width:100%; height:100%; background:#f3efe6; object-position:center; }
.cms-document-download:not(:has(.cms-document-download-stage)) { grid-template-columns:1fr; }
.cms-document-download:not(:has(.cms-document-download-stage)) .cms-document-download-content { grid-column:1; }
.cms-document-download-vertical { position:relative; isolation:isolate; order:3; display:flex; flex-direction:column; min-width:0; overflow:hidden; background:#0b1f31; color:#ffffff; }
.cms-document-download-vertical::before { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(135deg,transparent 0 68%,rgba(255,255,255,0.045) 68% 68.5%,transparent 68.5%),repeating-linear-gradient(0deg,transparent 0 42px,rgba(255,255,255,0.025) 42px 43px); pointer-events:none; }
.cms-document-download-vertical .cms-document-download-stage { grid-column:auto; grid-row:auto; min-height:340px; padding:38px 30px 44px; border-right:0; border-bottom:1px solid rgba(255,255,255,0.13); }
.cms-document-download-vertical .cms-document-download-stage::before { width:260px; }
.cms-document-download-vertical .cms-document-download-stage::after { right:12%; bottom:10%; left:12%; }
.cms-document-download-vertical .cms-document-book { width:min(72%,205px); filter:drop-shadow(18px 22px 16px rgba(0,0,0,0.34)); }
.cms-document-download-vertical:hover .cms-document-book { transform:rotateY(-7deg) rotateZ(0deg) translateY(-4px); }
.cms-document-download-vertical .cms-document-download-content { grid-column:auto; grid-row:auto; align-items:stretch; padding:30px; }
.cms-document-download-vertical .cms-document-download-label { margin-bottom:16px; }
.cms-document-download-vertical .cms-document-download-content h3 { max-width:none; font-size:clamp(29px,2.8vw,36px); line-height:1.02; }
.cms-document-download-vertical .cms-document-download-details { margin-top:16px; font-size:14px; line-height:1.6; }
.cms-document-download-vertical .cms-document-download-rule { width:100%; margin:24px 0; }
.cms-document-download-vertical .cms-document-download-button { width:100%; min-width:0; }
.cms-rich-text-sidebar { display:flex; flex-direction:column; gap:24px; min-width:0; }
.cms-sidebar-card { order:3; padding:30px; background:#0b1f31; color:#ffffff; }
.cms-sidebar-card:empty { display:none; }
.cms-sidebar-card h3 { margin:0 0 16px; font-size:28px; line-height:1.08; letter-spacing:-0.035em; }
.cms-sidebar-card .cms-section-copy { font-size:15px; line-height:1.65; }
.cms-sidebar-card .button { width:100%; margin-top:22px; }
body.is-image-modal-open { overflow:hidden; }
.cms-image-modal { width:min(1420px,calc(100vw - 48px)); max-width:none; height:min(900px,calc(100vh - 48px)); max-height:none; margin:auto; padding:0; overflow:hidden; border:0; background:transparent; color:#ffffff; }
.cms-image-modal::backdrop { background:rgba(2,10,18,0.94); backdrop-filter:blur(10px); }
.cms-image-modal.is-fallback-open { position:fixed; z-index:9999; inset:24px; display:block; }
.cms-image-modal-panel { display:grid; grid-template-rows:auto minmax(0,1fr); width:100%; height:100%; border-top:5px solid #5fd9d0; background:#071a2b; }
.cms-image-modal-toolbar { display:flex; align-items:center; justify-content:space-between; gap:30px; min-height:90px; padding:20px clamp(22px,4vw,46px); border-bottom:1px solid rgba(255,255,255,0.14); }
.cms-image-modal-toolbar>div>span { display:block; color:#5fd9d0; font-size:10px; font-weight:800; line-height:1; letter-spacing:0.15em; text-transform:uppercase; }
.cms-image-modal-toolbar p { margin:7px 0 0; font-size:clamp(18px,2.2vw,28px); font-weight:400; line-height:1.1; letter-spacing:-0.025em; }
.cms-image-modal-close { display:inline-flex; align-items:center; justify-content:space-between; gap:28px; min-width:132px; padding:14px 16px; border:0; background:#5fd9d0; color:#061c2c; font:inherit; font-size:11px; font-weight:800; line-height:1; letter-spacing:0.06em; text-transform:uppercase; cursor:pointer; transition:background-color 180ms ease,color 180ms ease; }
.cms-image-modal-close:hover,.cms-image-modal-close:focus-visible { background:#ffffff; color:#061c2c; }
.cms-image-modal-close:focus-visible { outline:3px solid #5fd9d0; outline-offset:4px; }
.cms-image-modal-stage { position:relative; display:grid; min-height:0; padding:clamp(18px,3vw,38px); overflow:auto; place-items:center; background:#020a12; background-image:linear-gradient(135deg,rgba(95,217,208,0.08),transparent 42%); }
.cms-image-modal-stage img { box-sizing:border-box; display:block; width:auto; max-width:100%; height:auto; max-height:100%; border:4px solid #ffffff; object-fit:contain; }
@media (max-width:700px) {
  .cms-image-modal { width:calc(100vw - 24px); height:calc(100vh - 24px); }
  .cms-image-modal-toolbar { min-height:76px; padding:15px 16px; }
  .cms-image-modal-toolbar p { font-size:17px; }
  .cms-image-modal-close { min-width:46px; padding:14px; }
  .cms-image-modal-close span { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
  .cms-image-modal-stage { padding:14px; }
}
.cms-sidebar-boxes { order:2; display:grid; gap:12px; }
.cms-sidebar-boxes:empty { display:none; }
.cms-sidebar-box { position:relative; display:flex; flex-direction:column; gap:14px; min-height:150px; padding:24px; overflow:hidden; background:#eef5ff; color:#0b1f31; }
.cms-sidebar-box::before { content:attr(data-number); font-size:11px; font-weight:780; line-height:1; letter-spacing:0.12em; opacity:0.62; }
.cms-sidebar-box-title { display:flex; align-items:center; gap:14px; min-width:0; }
.cms-sidebar-box-icon { flex:0 0 auto; width:38px; font-size:38px; line-height:1; text-align:center; }
.cms-sidebar-box h3 { margin:0; font-size:24px; line-height:1.08; letter-spacing:-0.035em; }
.cms-sidebar-box p { margin:0; font-size:14px; line-height:1.55; opacity:0.78; }
.cms-sidebar-links { order:4; display:grid; }
.cms-sidebar-links:empty { display:none; }
.cms-sidebar-links a { display:flex; justify-content:space-between; gap:20px; padding:14px 0; border-bottom:1px solid currentColor; font-size:13px; font-weight:680; }
.cms-sidebar-links a:hover,.cms-sidebar-links a:focus-visible { color:#165ee4; }
.cms-rich-text-full-width { position:relative; isolation:isolate; overflow:hidden; padding-top:var(--top-gap,100px); padding-bottom:var(--bottom-gap,100px); }
.cms-rich-text-full-width::before { content:""; position:absolute; z-index:-1; inset:0; background:radial-gradient(circle at 88% 0%,rgba(22,94,228,0.09),transparent 34%); pointer-events:none; }
.cms-rich-text-full-width-inner { position:relative; z-index:1; }
.cms-rich-text-full-width-header { display:grid; grid-template-columns:minmax(260px,0.75fr) minmax(0,1.25fr); align-items:start; gap:clamp(40px,7vw,112px); margin-bottom:clamp(48px,6vw,82px); }
.cms-rich-text-full-width h2 { margin:0; font-size:clamp(48px,5.8vw,84px); font-weight:400; line-height:0.94; letter-spacing:-0.06em; text-wrap:balance; }
.cms-rich-text-full-width-intro { position:relative; max-width:900px; margin:0; padding:clamp(24px,3vw,42px); border-left:4px solid var(--accent-colour,currentColor); border-radius:0 22px 22px 0; background:rgba(255,255,255,0.46); background:color-mix(in srgb,currentColor 5%,transparent); box-shadow:inset 0 1px 0 rgba(255,255,255,0.35); font-size:clamp(24px,2.4vw,36px); font-weight:400; line-height:1.28; letter-spacing:-0.035em; text-wrap:balance; }
.cms-rich-text-full-width-copy { width:100%; max-width:1100px; margin-right:auto; margin-left:auto; font-size:clamp(18px,1.35vw,21px); line-height:1.82; }
.cms-rich-text-full-width-copy>p,.cms-rich-text-full-width-copy>ul,.cms-rich-text-full-width-copy>ol,.cms-rich-text-full-width-copy>blockquote,.cms-rich-text-full-width-copy>h2,.cms-rich-text-full-width-copy>h3,.cms-rich-text-full-width-copy>h4 { max-width:78ch; margin-right:auto; margin-left:auto; }
.cms-rich-text-full-width-copy>p:first-child { font-size:clamp(20px,1.7vw,25px); line-height:1.65; letter-spacing:-0.015em; }
.cms-rich-text-full-width-copy h2,.cms-rich-text-full-width-copy h3,.cms-rich-text-full-width-copy h4 { margin-top:2em; margin-bottom:0.65em; font-weight:500; line-height:1.12; letter-spacing:-0.035em; text-wrap:balance; }
.cms-rich-text-full-width-copy h2 { font-size:clamp(34px,3.2vw,50px); }
.cms-rich-text-full-width-copy h3 { font-size:clamp(28px,2.5vw,38px); }
.cms-rich-text-full-width-copy h4 { font-size:clamp(22px,2vw,30px); }
.cms-rich-text-full-width-copy blockquote { margin-top:2em; margin-bottom:2em; padding:clamp(24px,3vw,40px); border:0; border-left:4px solid var(--accent-colour,currentColor); border-radius:0 20px 20px 0; background:rgba(22,94,228,0.07); font-size:1.08em; }
.cms-rich-text-full-width-copy>:first-child { margin-top:0; }
.cms-rich-text-full-width-copy>:last-child { margin-bottom:0; }
.cms-video-panel { position:relative; width:100%; margin:clamp(52px,7vw,96px) auto 0; padding:0; border:1px solid rgba(11,31,49,0.24); background:#071521; color:#ffffff; }
.cms-video-console { display:grid; grid-template-columns:minmax(0,1fr) 235px; align-items:stretch; min-width:0; }
.cms-video-stage { display:flex; align-items:center; min-width:0; padding:12px; background:#02070b; }
.cms-youtube-embed { position:relative; width:100%; overflow:hidden; border:1px solid rgba(255,255,255,0.18); aspect-ratio:16 / 9; background:#000000; }
.cms-youtube-embed iframe { display:block; width:100%; height:100%; border:0; }
.cms-video-stage:fullscreen,.cms-video-stage:-webkit-full-screen { width:100%; height:100%; padding:0; background:#000000; }
.cms-video-stage:fullscreen .cms-youtube-embed,.cms-video-stage:-webkit-full-screen .cms-youtube-embed { height:100%; border:0; aspect-ratio:auto; }
.cms-video-controls { display:flex; flex-direction:column; min-width:0; border-left:1px solid rgba(255,255,255,0.14); background:linear-gradient(180deg,#102c43 0%,#0b1f31 100%); }
.cms-video-control-heading { min-height:112px; padding:20px; border-bottom:1px solid rgba(255,255,255,0.14); }
.cms-video-control-heading>span { display:block; margin-bottom:12px; color:#5fd9d0; font-size:10px; font-weight:760; line-height:1; letter-spacing:0.15em; text-transform:uppercase; }
.cms-video-control-heading h3 { margin:0; color:#ffffff; font-size:20px; font-weight:500; line-height:1.18; letter-spacing:-0.025em; }
.cms-video-actions { display:grid; }
.cms-video-action { display:grid; grid-template-columns:22px minmax(0,1fr); align-items:center; gap:13px; width:100%; min-height:54px; margin:0; padding:12px 18px; border:0; border-bottom:1px solid rgba(255,255,255,0.12); background:transparent; color:rgba(255,255,255,0.88); font:inherit; font-size:13px; font-weight:650; line-height:1.2; text-align:left; cursor:pointer; transition:background-color 160ms ease,color 160ms ease; }
.cms-video-action i { color:#5fd9d0; font-size:17px; text-align:center; transition:color 160ms ease; }
.cms-video-action:hover,.cms-video-action:focus-visible { background:#165ee4; color:#ffffff; }
.cms-video-action:hover i,.cms-video-action:focus-visible i { color:#ffffff; }
.cms-video-action:focus-visible { outline:2px solid #ffffff; outline-offset:-4px; }
.cms-video-privacy { display:flex; align-items:center; gap:9px; margin:auto 0 0; padding:16px 18px; border-top:1px solid rgba(255,255,255,0.14); color:rgba(255,255,255,0.55); font-size:10px; line-height:1.35; letter-spacing:0.05em; text-transform:uppercase; }
.cms-video-privacy i { color:#5fd9d0; font-size:13px; }
.cms-video-panel figcaption { display:flex; align-items:center; gap:14px; padding:18px 8px 3px; color:rgba(255,255,255,0.78); font-size:14px; line-height:1.5; letter-spacing:0.01em; }
.cms-video-panel figcaption::before { content:""; flex:0 0 34px; width:34px; height:2px; background:#5fd9d0; }
.cms-rich-text-full-width .button { display:flex; width:max-content; margin:40px auto 0; }
.enrolment-process-section { padding-top:var(--top-gap,100px); padding-bottom:var(--bottom-gap,100px); }
.enrolment-process-header { max-width:920px; margin-bottom:clamp(48px,6vw,78px); }
.enrolment-process-header h2 { margin:0; font-size:clamp(48px,6vw,82px); font-weight:400; line-height:0.98; letter-spacing:-0.055em; text-wrap:balance; }
.enrolment-process-header p { max-width:720px; margin:24px 0 0; font-size:18px; line-height:1.7; opacity:0.72; }
.enrolment-process-timeline { position:relative; display:grid; gap:28px; width:100%; max-width:1180px; margin:0 auto; }
.enrolment-process-timeline::before { content:""; position:absolute; top:68px; bottom:68px; left:67px; width:2px; background:var(--process-line-colour,#c8d2dc); }
.enrolment-process-step { position:relative; display:grid; grid-template-columns:115px minmax(0,1fr); align-items:center; min-height:154px; }
.enrolment-process-step:not(:last-child)::after { content:""; position:absolute; z-index:1; bottom:-18px; left:62px; width:10px; height:10px; border-right:2px solid var(--process-line-colour,#c8d2dc); border-bottom:2px solid var(--process-line-colour,#c8d2dc); transform:rotate(45deg); }
.enrolment-process-marker { position:relative; z-index:2; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px; width:136px; height:136px; padding:18px; border:2px solid rgba(255,255,255,0.45); border-radius:50%; background:var(--step-colour,#165ee4); color:var(--step-contrast,#ffffff); text-align:center; }
.enrolment-process-marker span { font-size:10px; font-weight:800; line-height:1; letter-spacing:0.14em; opacity:0.7; }
.enrolment-process-marker h3 { margin:0; font-size:14px; font-weight:650; line-height:1.14; letter-spacing:-0.015em; overflow-wrap:anywhere; text-wrap:balance; }
.enrolment-process-panel { position:relative; z-index:1; display:grid; grid-template-columns:minmax(180px,0.62fr) minmax(0,1.38fr); align-items:center; gap:clamp(28px,5vw,72px); min-height:142px; margin-left:-23px; padding:28px 70px 28px 72px; background:#f2f5f8; background:color-mix(in srgb,var(--step-colour,#165ee4) 17%,#ffffff); clip-path:polygon(0 0,calc(100% - 42px) 0,100% 50%,calc(100% - 42px) 100%,0 100%); }
.enrolment-process-panel::before { content:""; position:absolute; top:0; bottom:0; left:0; width:5px; background:var(--step-colour,#165ee4); }
.enrolment-process-timing,.enrolment-process-details { min-width:0; margin:0; }
.enrolment-process-timing { color:var(--step-colour,#165ee4); font-size:clamp(18px,2vw,25px); font-weight:780; line-height:1.08; letter-spacing:-0.03em; text-wrap:balance; }
.enrolment-process-details { max-width:58ch; font-size:16px; line-height:1.62; opacity:0.82; }
@media (max-width:760px) {
  .enrolment-process-timeline { gap:24px; }
  .enrolment-process-timeline::before { top:52px; bottom:52px; left:51px; }
  .enrolment-process-step { grid-template-columns:112px minmax(0,1fr); align-items:start; min-height:0; }
  .enrolment-process-step:not(:last-child)::after { bottom:-16px; left:46px; }
  .enrolment-process-marker { width:104px; height:104px; padding:13px; }
  .enrolment-process-marker h3 { font-size:11px; }
  .enrolment-process-panel { grid-template-columns:1fr; gap:14px; min-height:104px; margin-left:-15px; padding:24px 28px 24px 38px; clip-path:none; }
  .enrolment-process-panel::before { width:4px; }
}
@media (max-width:480px) {
  .enrolment-process-header h2 { font-size:44px; }
  .enrolment-process-timeline::before { top:43px; bottom:43px; left:42px; }
  .enrolment-process-step { grid-template-columns:92px minmax(0,1fr); }
  .enrolment-process-step:not(:last-child)::after { left:37px; }
  .enrolment-process-marker { width:86px; height:86px; padding:10px; }
  .enrolment-process-marker span { font-size:8px; }
  .enrolment-process-marker h3 { font-size:9px; }
  .enrolment-process-panel { margin-left:-9px; padding:20px 18px 20px 24px; }
  .enrolment-process-timing { font-size:17px; }
  .enrolment-process-details { font-size:14px; }
}
@media (max-width:980px) {
  .cms-rich-text-inner { grid-template-columns:1fr; }
  .cms-rich-text-main { max-width:none; }
  .cms-rich-points-panel { grid-template-columns:minmax(190px,0.55fr) minmax(0,1.45fr); }
  .cms-rich-text-sidebar { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; }
  .cms-sidebar-boxes { grid-column:1 / -1; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cms-sidebar-links { grid-column:1 / -1; }
  .cms-video-console { grid-template-columns:1fr; }
  .cms-video-controls { border-top:1px solid rgba(255,255,255,0.14); border-left:0; }
  .cms-video-control-heading { min-height:0; }
  .cms-video-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cms-video-action:nth-child(odd) { border-right:1px solid rgba(255,255,255,0.12); }
}
@media (max-width:760px) {
  .cms-document-download { grid-template-columns:1fr; min-height:0; }
  .cms-document-download-stage { grid-column:1; grid-row:1; min-height:430px; border-right:0; border-bottom:1px solid rgba(255,255,255,0.13); }
  .cms-document-download-content { grid-column:1; grid-row:2; }
  .cms-document-download:not(:has(.cms-document-download-stage)) .cms-document-download-content { grid-row:1; }
}
@media (max-width:620px) {
  .cms-document-download-stage { min-height:360px; padding:38px; }
  .cms-document-book { width:205px; }
  .cms-document-download-content { padding:34px 28px 38px; }
  .cms-document-download-content h3 { font-size:38px; }
  .cms-document-download-button { width:100%; min-width:0; }
  .cms-rich-points-panel { grid-template-columns:1fr; }
  .cms-rich-points-list,.cms-rich-card-grid { grid-template-columns:1fr; }
  .cms-rich-card { min-height:0; }
  .cms-rich-text-sidebar { grid-template-columns:1fr; }
  .cms-sidebar-boxes { grid-column:auto; grid-template-columns:1fr; }
  .cms-sidebar-links { grid-column:auto; }
  .cms-rich-text-full-width-header { grid-template-columns:1fr; gap:28px; margin-bottom:44px; }
  .cms-rich-text-full-width-intro { border-radius:0 18px 18px 0; }
  .cms-video-stage { padding:6px; }
  .cms-video-actions { grid-template-columns:1fr; }
  .cms-video-action:nth-child(odd) { border-right:0; }
}
.menu-toggle.is-open span:first-child { transform:translateY(4px) rotate(45deg); }
.menu-toggle.is-open span:last-child { transform:translateY(-4px) rotate(-45deg); }
@media (max-width:1220px) {
  .sky-menu { position:absolute; top:100%; right:0; left:0; display:none; max-height:calc(100vh - 120px); overflow-y:auto; background:#ffffff; border-top:1px solid var(--line); box-shadow:0 22px 50px rgba(11,31,49,0.12); }
  .sky-menu.is-open { display:block; }
  .sky-menu>ul { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px 24px; padding:30px 24px 40px; }
  .sky-menu>ul>.nav-item { display:block; }
  .sky-menu>ul>.nav-item::before { display:none; }
  .sky-menu>ul>.nav-item>a,.sky-menu>ul>.nav-item>button { display:flex; justify-content:space-between; width:100%; height:auto; padding:0 0 9px; border-bottom:1px solid var(--line); color:var(--ink); font-weight:730; }
  .sky-menu .nav-chevron { display:none; }
  .sky-menu .nav-menu,.sky-menu>ul>.nav-item:nth-last-child(-n+2) .nav-menu { position:static; display:block; width:auto; padding:5px 0 0; background:transparent; border:0; box-shadow:none; opacity:1; pointer-events:auto; transform:none; }
  .sky-menu .nav-menu p { display:none; }
  .sky-menu .nav-menu a { display:block; padding:6px 0; color:rgba(11,31,49,0.65); font-size:13px; font-weight:520; }
  .sky-menu .nav-menu a.is-current,.sky-menu .nav-menu a:hover,.sky-menu .nav-menu a:focus-visible { background:transparent; color:var(--menu-hover-colour,#165ee4) !important; }
}
@media (max-width:820px) {
  .sky-menu>ul { grid-template-columns:1fr 1fr; }
}
@media (max-width:520px) {
  .sky-menu>ul { grid-template-columns:1fr; }
}
.logo-link-panels { padding-top:var(--logo-top-gap,90px); padding-bottom:var(--logo-bottom-gap,90px); background:#f4f1e8; color:#0b1f31; }
.logo-link-panels-header { display:grid; grid-template-columns:minmax(0,0.8fr) minmax(280px,1.2fr); align-items:end; gap:clamp(30px,6vw,90px); margin-bottom:clamp(38px,5vw,64px); }
.logo-link-panels-header h2 { margin:0; font-size:clamp(42px,5vw,68px); font-weight:400; line-height:0.98; letter-spacing:-0.055em; text-wrap:balance; }
.logo-link-panels-header p { max-width:62ch; margin:0; font-size:17px; line-height:1.7; opacity:0.72; }
.logo-link-panels-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:16px; }
.logo-link-panel { position:relative; display:grid; grid-template-rows:auto 1fr auto; min-width:0; min-height:270px; padding:18px; overflow:hidden; border:1px solid var(--logo-panel-border,#cbd5de); background:var(--logo-panel-background,#ffffff); transition:transform 220ms ease,border-color 220ms ease,background-color 220ms ease; }
.logo-link-panel::after { content:""; position:absolute; right:0; bottom:0; left:0; height:4px; background:var(--logo-panel-accent,#5fd9d0); transform:scaleX(0); transform-origin:left; transition:transform 220ms ease; }
.logo-link-panel:hover,.logo-link-panel:focus-within { border-color:var(--logo-panel-accent,#5fd9d0); transform:translateY(-5px); }
.logo-link-panel:hover::after,.logo-link-panel:focus-within::after { transform:scaleX(1); }
.logo-link-panel-image { display:grid; width:100%; min-height:105px; padding:15px; place-items:center; background:var(--logo-background,#ffffff); border:1px solid rgba(11,31,49,0.1); }
.logo-link-panel-image img { display:block; width:auto; max-width:100%; height:auto; max-height:78px; object-fit:contain; }
.logo-link-panel h3 { align-self:end; margin:25px 0 18px; font-size:clamp(18px,1.5vw,23px); font-weight:650; line-height:1.12; letter-spacing:-0.035em; text-wrap:balance; }
.logo-link-panel-link { display:flex; align-items:center; justify-content:space-between; gap:18px; padding-top:15px; border-top:1px solid rgba(11,31,49,0.15); color:inherit; font-size:12px; font-weight:780; line-height:1.25; letter-spacing:0.035em; text-decoration:none; text-transform:uppercase; }
.logo-link-panel-link::before { content:""; position:absolute; z-index:1; inset:0; }
.logo-link-panel-link span,.logo-link-panel-link i { position:relative; z-index:2; }
.logo-link-panel-link i { color:var(--logo-panel-accent,#168b84); font-size:14px; transition:transform 180ms ease; }
.logo-link-panel:hover .logo-link-panel-link i { transform:translate(3px,-3px); }
.logo-link-panel-link:focus-visible { outline:none; }
.logo-link-panel:focus-within { outline:3px solid var(--logo-panel-accent,#5fd9d0); outline-offset:4px; }
@media (max-width:1199px) {
  .logo-link-panels-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:760px) {
  .logo-link-panels-header { grid-template-columns:1fr; align-items:start; }
  .logo-link-panels-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:480px) {
  .logo-link-panels-grid { grid-template-columns:1fr; }
  .logo-link-panel { min-height:240px; }
}
@media (prefers-reduced-motion:reduce) {
  .logo-link-panel,.logo-link-panel::after,.logo-link-panel-link i { transition:none; }
}
.cms-section-copy.cms-rich-editor { --editor-list-accent:#168b84; --editor-list-rule:rgba(11,31,49,0.16); --editor-link-colour:#0b1f31; --editor-link-accent:#168b84; --editor-link-background:#ffffff; }
.cms-section-copy.cms-rich-editor ul { margin:1.75rem 0; padding:0; list-style:none; }
.cms-section-copy.cms-rich-editor ul>li { position:relative; margin:0; padding:1.15rem 0 1.15rem 2.25rem; list-style:none; }
.cms-section-copy.cms-rich-editor ul>li+li { border-top:1px solid var(--editor-list-rule); }
.cms-section-copy.cms-rich-editor ul>li::before { content:"\f061"; position:absolute; top:1.73rem; left:0.15rem; color:var(--editor-list-accent); font-family:"Font Awesome 7 Free","Font Awesome 6 Free","Font Awesome 5 Free"; font-size:0.8rem; font-weight:900; line-height:1; }
.cms-section-copy.cms-rich-editor ul>li>:first-child { margin-top:0; }
.cms-section-copy.cms-rich-editor ul>li>:last-child { margin-bottom:0; }
.cms-section-copy.cms-rich-editor a[href] { display:inline-flex; align-items:center; gap:0.75rem; max-width:100%; margin:0.2rem 0.15rem 0.2rem 0; padding:0.55rem 0.65rem 0.55rem 1rem; border:1px solid rgba(11,31,49,0.24); border-radius:999px; background:var(--editor-link-background); color:var(--editor-link-colour); font-weight:700; line-height:1.3; text-decoration:none; vertical-align:middle; cursor:pointer; transition:color 180ms ease,background-color 180ms ease,border-color 180ms ease,transform 180ms ease; }
.cms-section-copy.cms-rich-editor a[href]::after { content:"\f061"; display:inline-grid; flex:0 0 1.8rem; width:1.8rem; height:1.8rem; border-radius:50%; background:var(--editor-link-accent); color:#ffffff; font-family:"Font Awesome 7 Free","Font Awesome 6 Free","Font Awesome 5 Free"; font-size:0.7rem; font-weight:900; line-height:1; place-items:center; transition:color 180ms ease,background-color 180ms ease,transform 180ms ease; }
.cms-section-copy.cms-rich-editor a[href]:hover { border-color:var(--editor-link-colour); background:var(--editor-link-colour); color:#ffffff; transform:translateY(-2px); }
.cms-section-copy.cms-rich-editor a[href]:hover::after { background:var(--editor-link-accent); transform:translateX(4px); }
.cms-section-copy.cms-rich-editor a[href]:focus-visible { outline:3px solid var(--editor-link-accent); outline-offset:3px; }
@media (prefers-reduced-motion:reduce) {
  .cms-section-copy.cms-rich-editor a[href],.cms-section-copy.cms-rich-editor a[href]::after { transition:none; }
  .cms-section-copy.cms-rich-editor a[href]:hover,.cms-section-copy.cms-rich-editor a[href]:hover::after { transform:none; }
}
.cms-section-copy.cms-rich-editor h2:not(:first-of-type),.cms-section-copy.cms-rich-editor h3 { margin-top:3rem; }
.cms-people-panels { position:relative; padding-top:var(--people-top-gap,96px); padding-bottom:var(--people-bottom-gap,96px); }
.cms-people-header { display:grid; grid-template-columns:minmax(0,0.82fr) minmax(280px,1.18fr); align-items:end; gap:clamp(34px,6vw,92px); margin-bottom:clamp(42px,6vw,72px); }
.cms-people-header:empty,.cms-people-header:not(:has(h2)):not(:has(p)) { display:none; }
.cms-people-header h2 { margin:0; font-size:clamp(48px,5.8vw,78px); font-weight:400; line-height:0.98; letter-spacing:-0.055em; text-wrap:balance; }
.cms-people-header p { max-width:62ch; margin:0; font-size:17px; line-height:1.72; opacity:0.72; }
.cms-people-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.cms-person-card { position:relative; display:grid; grid-template-rows:minmax(0,1fr) auto; min-width:0; overflow:hidden; border:1px solid rgba(11,31,49,0.18); background:var(--people-panel-background,#ffffff); transition:transform 240ms ease,border-color 240ms ease; }
.cms-person-card::after { content:""; position:absolute; right:0; bottom:0; left:0; height:5px; background:var(--people-accent,#5fd9d0); transform:scaleX(0.16); transform-origin:left; transition:transform 280ms ease; }
.cms-person-card:hover { border-color:var(--people-accent,#5fd9d0); transform:translateY(-6px); }
.cms-person-card:hover::after { transform:scaleX(1); }
.cms-person-image { min-height:360px; overflow:hidden; background:#dfe6ec; }
.cms-person-image img { display:block; width:100%; height:100%; aspect-ratio:4 / 5; object-fit:cover; transition:transform 600ms cubic-bezier(0.2,0.72,0.2,1),filter 300ms ease; }
.cms-person-card:hover .cms-person-image img { transform:scale(1.035); filter:saturate(1.05) contrast(1.02); }
.cms-person-details { position:relative; z-index:1; min-height:132px; padding:25px 24px 29px; background:var(--people-panel-background,#ffffff); }
.cms-person-details h3 { margin:0; font-size:clamp(23px,2.2vw,31px); font-weight:520; line-height:1.04; letter-spacing:-0.04em; text-wrap:balance; }
.cms-person-details p { margin:11px 0 0; color:var(--people-accent,#168b84); font-size:12px; font-weight:780; line-height:1.4; letter-spacing:0.07em; text-transform:uppercase; }
@media (max-width:1100px) {
  .cms-people-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px) {
  .cms-people-header { grid-template-columns:1fr; align-items:start; gap:24px; }
}
@media (max-width:540px) {
  .cms-people-grid { grid-template-columns:1fr; }
  .cms-person-image { min-height:0; }
}
@media (prefers-reduced-motion:reduce) {
  .cms-person-card,.cms-person-card::after,.cms-person-image img { transition:none; }
  .cms-person-card:hover,.cms-person-card:hover .cms-person-image img { transform:none; }
}
.cms-photo-gallery { position:relative; padding-top:var(--gallery-top-gap,96px); padding-bottom:var(--gallery-bottom-gap,96px); }
.cms-gallery-header { display:grid; grid-template-columns:minmax(0,0.82fr) minmax(280px,1.18fr); align-items:end; gap:clamp(34px,6vw,92px); margin-bottom:clamp(42px,6vw,72px); }
.cms-gallery-header:empty,.cms-gallery-header:not(:has(h2)):not(:has(p)) { display:none; }
.cms-gallery-header h2 { margin:0; font-size:clamp(48px,5.8vw,78px); font-weight:400; line-height:0.98; letter-spacing:-0.055em; text-wrap:balance; }
.cms-gallery-header p { max-width:62ch; margin:0; font-size:17px; line-height:1.72; opacity:0.72; }
.cms-gallery-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.cms-gallery-item { min-width:0; margin:0; overflow:hidden; background:var(--navy,#071a2b); }
.cms-photo-gallery .cms-gallery-trigger { display:grid; grid-template-rows:auto minmax(82px,auto); width:100%; height:100%; margin:0; padding:0; overflow:hidden; border:0; background:transparent; color:#ffffff; font:inherit; text-align:left; cursor:zoom-in; }
.cms-gallery-image { display:block; width:100%; overflow:hidden; background:#dfe5e8; }
.cms-gallery-image img { display:block; width:100%; aspect-ratio:4 / 3; margin:0; border:0; background:#dfe5e8; object-fit:var(--gallery-image-fit,cover); object-position:center; transition:transform 500ms cubic-bezier(0.2,0.72,0.2,1),filter 300ms ease; }
.cms-gallery-item:hover .cms-gallery-image img,.cms-gallery-trigger:focus-visible .cms-gallery-image img { transform:scale(1.035); filter:saturate(1.06) contrast(1.025); }
.cms-gallery-meta { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:18px; min-height:82px; padding:15px 15px 15px 19px; background:var(--navy,#071a2b); color:#ffffff; }
.cms-gallery-caption { position:relative; display:block; min-width:0; padding-left:14px; color:rgba(255,255,255,0.84); font-size:0.8125rem; font-weight:450; line-height:1.5; }
.cms-gallery-caption::before { content:""; position:absolute; top:0.15em; bottom:0.15em; left:0; width:2px; background:var(--gallery-accent,#5fd9d0); }
.cms-gallery-caption-source { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); clip-path:inset(50%); border:0; white-space:nowrap; }
.cms-photo-gallery .cms-gallery-cue { position:static; right:auto; bottom:auto; display:inline-flex; align-items:center; justify-content:space-between; gap:14px; min-width:116px; min-height:44px; margin:0; padding:0 0 0 14px; border:1px solid rgba(255,255,255,0.28); background:rgba(255,255,255,0.08); color:#ffffff; font-size:0.625rem; font-weight:800; line-height:1; letter-spacing:0.05em; text-transform:uppercase; transition:border-color 180ms ease,background-color 180ms ease,color 180ms ease; }
.cms-gallery-cue-icon { display:grid; width:43px; align-self:stretch; flex:0 0 43px; place-items:center; background:var(--gallery-accent,#5fd9d0); color:var(--navy,#071a2b); font-size:0.75rem; transition:background-color 180ms ease,color 180ms ease; }
.cms-gallery-trigger:hover .cms-gallery-cue,.cms-gallery-trigger:focus-visible .cms-gallery-cue { border-color:#ffffff; background:#ffffff; color:var(--navy,#071a2b); }
.cms-gallery-trigger:hover .cms-gallery-cue-icon,.cms-gallery-trigger:focus-visible .cms-gallery-cue-icon { background:var(--navy,#071a2b); color:#ffffff; }
.cms-gallery-trigger:focus-visible { position:relative; z-index:2; outline:3px solid var(--gallery-accent,#5fd9d0); outline-offset:4px; }
.cms-gallery-meta:not(:has(.cms-gallery-caption)) { grid-template-columns:1fr; padding:13px; }
.cms-gallery-meta:not(:has(.cms-gallery-caption)) .cms-gallery-cue { width:100%; }
body.is-gallery-modal-open { overflow:hidden; }
.cms-gallery-modal { box-sizing:border-box; width:auto; max-width:none; height:auto; max-height:none; margin:0; padding:0; overflow:hidden; border:0; background:transparent; color:#ffffff; }
.cms-gallery-modal[open],.cms-gallery-modal.is-fallback-open { position:fixed; inset:1rem; width:auto; max-width:none; height:auto; max-height:none; margin:0; padding:0; overflow:hidden; }
.cms-gallery-modal::backdrop { background:rgba(2,10,18,0.96); backdrop-filter:blur(9px); }
.cms-gallery-modal.is-fallback-open { z-index:9999; display:block; background:rgba(2,10,18,0.96); }
.cms-gallery-modal-panel { display:grid; grid-template-rows:minmax(0,1fr) auto; width:100%; height:100%; min-height:0; overflow:hidden; background:var(--navy,#071a2b); }
.cms-gallery-modal-stage { display:grid; grid-template-columns:60px minmax(0,1fr) 60px; align-items:stretch; gap:clamp(0.75rem,2vw,1.75rem); min-width:0; min-height:0; height:100%; padding:clamp(1rem,2.5vw,2.5rem); overflow:hidden; background:#020a12; }
.cms-gallery-modal-image-frame { display:grid; width:100%; height:100%; min-width:0; min-height:0; overflow:hidden; place-items:center; }
.cms-gallery-modal-image-frame>img { display:block; width:100%; height:100%; min-width:0; min-height:0; max-width:none; max-height:none; margin:0; padding:0; border:0; object-fit:contain !important; object-position:center center; }
.cms-gallery-modal-meta { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:28px; min-height:82px; padding:16px clamp(20px,3vw,40px); background:var(--navy,#071a2b); }
.cms-gallery-modal-meta>p { position:relative; min-width:0; max-width:70ch; margin:0; padding-left:17px; overflow:hidden; color:rgba(255,255,255,0.86); font-size:clamp(0.875rem,1.4vw,1.0625rem); line-height:1.5; text-overflow:ellipsis; white-space:nowrap; }
.cms-gallery-modal-meta>p::before { content:""; position:absolute; top:0.15em; bottom:0.15em; left:0; width:3px; background:var(--gallery-accent,#5fd9d0); }
.cms-gallery-modal-tools { display:flex; align-items:center; gap:18px; }
.cms-gallery-modal-tools>span { color:rgba(255,255,255,0.62); font-size:0.6875rem; font-weight:750; line-height:1; letter-spacing:0.12em; }
.cms-gallery-modal-nav,.cms-gallery-modal-close { display:inline-flex; align-items:center; justify-content:center; border:0; background:var(--gallery-accent,#5fd9d0); color:var(--navy,#071a2b); font:inherit; cursor:pointer; transition:background-color 180ms ease,color 180ms ease,transform 180ms ease; }
.cms-gallery-modal-nav { width:52px; height:52px; margin:auto; font-size:0.875rem; }
.cms-gallery-modal-close { justify-content:space-between; gap:24px; min-width:122px; min-height:48px; padding:0 16px; font-size:0.6875rem; font-weight:800; line-height:1; letter-spacing:0.06em; text-transform:uppercase; }
.cms-gallery-modal-nav:hover,.cms-gallery-modal-nav:focus-visible,.cms-gallery-modal-close:hover,.cms-gallery-modal-close:focus-visible { background:#ffffff; color:var(--navy,#071a2b); }
.cms-gallery-modal-previous:hover { transform:translateX(-4px); }
.cms-gallery-modal-next:hover { transform:translateX(4px); }
.cms-gallery-modal-nav:focus-visible,.cms-gallery-modal-close:focus-visible { outline:3px solid var(--gallery-accent,#5fd9d0); outline-offset:4px; }
@media (max-width:900px) {
  .cms-gallery-header { grid-template-columns:1fr; align-items:start; gap:24px; }
  .cms-gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cms-gallery-modal[open],.cms-gallery-modal.is-fallback-open { inset:0.375rem; }
  .cms-gallery-modal-stage { grid-template-columns:42px minmax(0,1fr) 42px; gap:0.375rem; padding:0.75rem; }
  .cms-gallery-modal-nav { width:40px; height:48px; }
  .cms-gallery-modal-meta { gap:16px; min-height:72px; padding:12px 14px; }
  .cms-gallery-modal-close { min-width:48px; padding:0 15px; }
  .cms-gallery-modal-close span { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); clip-path:inset(50%); border:0; white-space:nowrap; }
}
@media (max-width:580px) {
  .cms-gallery-grid { grid-template-columns:1fr; }
  .cms-gallery-modal-tools>span { display:none; }
}
@media (prefers-reduced-motion:reduce) {
  .cms-gallery-image img,.cms-gallery-cue,.cms-gallery-cue-icon,.cms-gallery-modal-nav,.cms-gallery-modal-close { transition:none; }
  .cms-gallery-item:hover .cms-gallery-image img,.cms-gallery-modal-nav:hover { transform:none; }
}
.cms-contact-information { position:relative; padding-top:var(--contact-top-gap,96px); padding-bottom:var(--contact-bottom-gap,96px); }
.cms-contact-header { display:grid; grid-template-columns:minmax(0,0.82fr) minmax(280px,1.18fr); align-items:end; gap:clamp(34px,6vw,92px); margin-bottom:clamp(42px,6vw,72px); }
.cms-contact-header:empty,.cms-contact-header:not(:has(h2)):not(:has(p)) { display:none; }
.cms-contact-header h2 { margin:0; font-size:clamp(48px,5.8vw,78px); font-weight:400; line-height:0.98; letter-spacing:-0.055em; text-wrap:balance; }
.cms-contact-header p { max-width:62ch; margin:0; font-size:17px; line-height:1.72; opacity:0.72; }
.cms-contact-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.cms-contact-box { --contact-generated-accent:rgba(0,0,0,0.16); position:relative; display:flex; min-width:0; min-height:248px; padding:clamp(26px,3vw,38px); overflow:hidden; flex-direction:column; border:1px solid rgba(11,31,49,0.16); background:var(--contact-box-background,#ffffff); color:var(--contact-box-text,#0b1f31); transition:transform 220ms ease,border-color 220ms ease; }
@supports (background:color-mix(in srgb,white,black)) {
  .cms-contact-box { --contact-generated-accent:color-mix(in srgb,var(--contact-box-background,#ffffff) 82%,#000000 18%); }
}
.cms-contact-box::after { content:""; position:absolute; right:0; bottom:0; left:0; height:5px; background:var(--contact-generated-accent); transform:scaleX(0.18); transform-origin:left; transition:transform 240ms ease; }
.cms-contact-box:hover,.cms-contact-box:focus-within { border-color:var(--contact-generated-accent); transform:translateY(-5px); }
.cms-contact-box:hover::after,.cms-contact-box:focus-within::after { transform:scaleX(1); }
.cms-contact-box-icon { display:grid; width:58px; height:58px; margin-bottom:28px; place-items:center; background:var(--contact-generated-accent); color:var(--contact-icon-colour,#ffffff); font-size:21px; }
.cms-contact-box-icon i { color:inherit; }
.cms-contact-box h3 { margin:0; font-size:clamp(26px,2.8vw,38px); font-weight:440; line-height:1; letter-spacing:-0.045em; }
.cms-contact-box-copy { margin-top:18px; font-size:15px; line-height:1.65; opacity:0.82; }
.cms-contact-box-copy>:first-child { margin-top:0; }
.cms-contact-box-copy>:last-child { margin-bottom:0; }
.cms-contact-box-action { width:100%; margin-top:auto; padding-top:20px; }
.cms-contact-information .cms-contact-box-link { display:flex; align-items:center; justify-content:space-between; gap:1.25rem; width:100%; min-height:3.5rem; margin:0; padding:1rem 1.125rem; border:1px solid rgba(255,255,255,0.72); background:rgba(255,255,255,0.84); color:#0b1f31; font-size:0.8125rem; font-weight:750; line-height:1.3; overflow-wrap:anywhere; text-decoration:none; backdrop-filter:blur(5px); -webkit-backdrop-filter:blur(5px); transition:background-color 180ms ease,border-color 180ms ease,transform 180ms ease; }
.cms-contact-information .cms-contact-box-link::before { content:none; }
.cms-contact-box-link span { min-width:0; }
.cms-contact-box-link i { flex:0 0 auto; color:currentColor; transition:transform 180ms ease; }
.cms-contact-information .cms-contact-box-link:hover,.cms-contact-information .cms-contact-box-link:focus-visible { border-color:#ffffff; background:#ffffff; color:#0b1f31; transform:translateY(-2px); }
.cms-contact-box-link:hover i,.cms-contact-box-link:focus-visible i { transform:translate(3px,-3px); }
.cms-contact-information .cms-contact-box-link:focus-visible { outline:3px solid rgba(255,255,255,0.82); outline-offset:3px; }
@media (max-width:1100px) {
  .cms-contact-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px) {
  .cms-contact-header { grid-template-columns:1fr; align-items:start; gap:24px; }
}
@media (max-width:540px) {
  .cms-contact-grid { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce) {
  .cms-contact-box,.cms-contact-box::after,.cms-contact-box-link,.cms-contact-box-link i { transition:none; }
  .cms-contact-box:hover,.cms-contact-box-link:hover,.cms-contact-box-link:hover i { transform:none; }
}
.cms-sidebar-image { position:relative; width:100%; margin:0; overflow:hidden; border:0; background:transparent; box-shadow:none; }
.cms-sidebar-image .cms-sidebar-image-trigger { position:relative; display:block; width:100%; padding:0; overflow:hidden; border:0; background:#dfe5e8; }
.cms-sidebar-image .cms-sidebar-image-trigger img { display:block; width:100%; height:auto; aspect-ratio:4 / 5; margin:0; padding:0; border:0; background:#dfe5e8; object-position:center; transition:transform 600ms cubic-bezier(0.2,0.72,0.2,1),filter 300ms ease; }
.cms-sidebar-image.is-expandable .cms-sidebar-image-trigger { cursor:zoom-in; }
.cms-sidebar-image.is-expandable .cms-sidebar-image-trigger:hover img,.cms-sidebar-image.is-expandable .cms-sidebar-image-trigger:focus-visible img { transform:scale(1.025); filter:saturate(1.05) contrast(1.025); }
.cms-sidebar-image.is-expandable .cms-sidebar-image-trigger:focus-visible { outline:3px solid var(--aqua,#5fd9d0); outline-offset:4px; }
.cms-sidebar-image .cms-sidebar-image-meta { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:20px; margin:0; padding:18px 18px 18px 22px; border:0; border-top:5px solid var(--aqua,#5fd9d0); background:var(--navy,#071a2b); color:#ffffff; opacity:1; }
.cms-sidebar-image:not(.is-expandable) .cms-sidebar-image-meta:not(:has(.cms-sidebar-image-caption)) { display:none; }
.cms-sidebar-image-caption { position:relative; max-width:34ch; margin:0; padding-left:16px; color:rgba(255,255,255,0.82); font-size:0.8125rem; font-weight:450; line-height:1.55; }
.cms-sidebar-image-caption::before { content:""; position:absolute; top:0.15em; bottom:0.15em; left:0; width:2px; background:var(--aqua,#5fd9d0); }
.cms-sidebar-image .cms-sidebar-image-cue { display:none; align-items:center; justify-content:space-between; gap:18px; min-width:142px; min-height:50px; margin:0; padding:0 0 0 17px; border:1px solid rgba(255,255,255,0.32); background:rgba(255,255,255,0.08); color:#ffffff; font:inherit; font-size:0.6875rem; font-weight:800; line-height:1; letter-spacing:0.055em; text-align:left; text-transform:uppercase; cursor:pointer; box-shadow:none; transition:border-color 180ms ease,background-color 180ms ease,color 180ms ease,transform 180ms ease; }
.cms-sidebar-image.is-expandable .cms-sidebar-image-cue { display:inline-flex; }
.cms-sidebar-image-cue-icon { display:grid; width:48px; align-self:stretch; flex:0 0 48px; place-items:center; background:var(--aqua,#5fd9d0); color:var(--navy,#071a2b); transition:background-color 180ms ease,color 180ms ease; }
.cms-sidebar-image .cms-sidebar-image-cue:hover,.cms-sidebar-image .cms-sidebar-image-cue:focus-visible { border-color:var(--aqua,#5fd9d0); background:#ffffff; color:var(--navy,#071a2b); transform:translateY(-2px); }
.cms-sidebar-image .cms-sidebar-image-cue:hover .cms-sidebar-image-cue-icon,.cms-sidebar-image .cms-sidebar-image-cue:focus-visible .cms-sidebar-image-cue-icon { background:var(--navy,#071a2b); color:#ffffff; }
.cms-sidebar-image .cms-sidebar-image-cue:focus-visible { outline:3px solid var(--aqua,#5fd9d0); outline-offset:3px; }
.cms-sidebar-image.is-expandable .cms-sidebar-image-meta:not(:has(.cms-sidebar-image-caption)) { grid-template-columns:1fr; padding:14px; }
.cms-sidebar-image.is-expandable .cms-sidebar-image-meta:not(:has(.cms-sidebar-image-caption)) .cms-sidebar-image-cue { width:100%; }
@media (max-width:540px) {
  .cms-sidebar-image .cms-sidebar-image-meta { grid-template-columns:1fr; }
  .cms-sidebar-image .cms-sidebar-image-cue { width:100%; }
}
@media (prefers-reduced-motion:reduce) {
  .cms-sidebar-image-trigger img,.cms-sidebar-image-cue,.cms-sidebar-image-cue-icon { transition:none; }
  .cms-sidebar-image.is-expandable .cms-sidebar-image-trigger:hover img,.cms-sidebar-image .cms-sidebar-image-cue:hover { transform:none; }
}

.cms-transition-matrix { --transition-accent:#159a9c; --transition-panel:#ffffff; --transition-panel-text:#0b1f31; padding:6rem 0; background:#f4f1e9; color:#0b1f31; }
.cms-transition-matrix * { box-sizing:border-box; }
.cms-transition-matrix .shell { width:min(1420px,calc(100% - 80px)); margin:0 auto; }
.cms-transition-header { max-width:820px; margin:0 auto clamp(2.5rem,5vw,4rem); text-align:center; }
.cms-transition-header h2 { margin:0; color:inherit; font-size:clamp(2.6rem,4.5vw,4.5rem); font-weight:400; line-height:1; letter-spacing:-0.05em; text-wrap:balance; }
.cms-transition-introduction { max-width:680px; margin:1.25rem auto 0; color:inherit; font-size:clamp(1rem,1.2vw,1.1rem); line-height:1.65; opacity:0.72; }
.cms-transition-introduction > :first-child { margin-top:0; }
.cms-transition-introduction > :last-child { margin-bottom:0; }
.cms-transition-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; }
.cms-transition-simple-card { position:relative; display:flex; min-height:275px; flex-direction:column; align-items:center; justify-content:center; gap:1.35rem; padding:2.25rem 1.75rem; overflow:hidden; border:1px solid rgba(11,31,49,0.14); background:var(--transition-panel,#ffffff); color:var(--transition-panel-text,#0b1f31); text-align:center; text-decoration:none; transition:border-color 180ms ease,background-color 180ms ease,transform 180ms ease; }
.cms-transition-simple-card::after { position:absolute; right:0; bottom:0; left:0; height:4px; background:var(--transition-accent,#159a9c); content:""; transform:scaleX(0); transform-origin:left; transition:transform 220ms ease; }
.cms-transition-simple-icon { display:grid; width:4.75rem; height:4.75rem; place-items:center; border:1px solid color-mix(in srgb,var(--transition-accent,#159a9c) 35%,transparent); border-radius:50%; background:color-mix(in srgb,var(--transition-accent,#159a9c) 9%,transparent); color:var(--transition-accent,#159a9c); transition:background-color 180ms ease,color 180ms ease,border-color 180ms ease; }
.cms-transition-simple-icon i { font-size:2rem; line-height:1; }
.cms-transition-simple-card h3 { max-width:330px; margin:0; color:inherit; font-size:clamp(1.35rem,1.8vw,1.75rem); font-weight:500; line-height:1.14; letter-spacing:-0.03em; text-wrap:balance; }
.cms-transition-simple-action { display:inline-flex; align-items:center; gap:0.7rem; color:var(--transition-accent,#159a9c); font-size:0.78rem; font-weight:800; letter-spacing:0.06em; line-height:1.2; text-transform:uppercase; }
.cms-transition-simple-action i { font-size:0.75rem; transition:transform 180ms ease; }
.cms-transition-simple-card:hover { transform:translateY(-2px); border-color:var(--transition-accent,#159a9c); background:color-mix(in srgb,var(--transition-accent,#159a9c) 3%,var(--transition-panel,#ffffff)); }
.cms-transition-simple-card:hover::after { transform:scaleX(1); }
.cms-transition-simple-card:hover .cms-transition-simple-icon { border-color:var(--transition-accent,#159a9c); background:var(--transition-accent,#159a9c); color:#ffffff; }
.cms-transition-simple-card:hover .cms-transition-simple-action i { transform:translateX(0.25rem); }
.cms-transition-simple-card:focus-visible { outline:3px solid var(--transition-accent,#159a9c); outline-offset:3px; }
@media (max-width:900px) { .cms-transition-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:620px) { .cms-transition-matrix { padding:4rem 0; } .cms-transition-matrix .shell { width:min(100% - 40px,1420px); } .cms-transition-grid { grid-template-columns:1fr; gap:0.9rem; } .cms-transition-simple-card { min-height:235px; } }
@media (prefers-reduced-motion:reduce) { .cms-transition-simple-card,.cms-transition-simple-card::after,.cms-transition-simple-icon,.cms-transition-simple-action i { transition:none; } .cms-transition-simple-card:hover { transform:none; } }


.cms-transition-promo { padding:7rem 0; background:#f4f1e9; color:#0b1f31; }
.cms-transition-promo * { box-sizing:border-box; }
.cms-transition-promo .shell { width:min(1420px,calc(100% - 80px)); margin:0 auto; }
.cms-transition-promo-panel { display:grid; min-height:570px; grid-template-columns:minmax(0,0.86fr) minmax(0,1.14fr); overflow:hidden; background:var(--transition-promo-panel,#071827); }
.cms-transition-promo-content { position:relative; z-index:2; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:clamp(3rem,6vw,6.5rem); background:var(--transition-promo-panel,#071827); color:var(--transition-promo-panel-text,#ffffff); }
.cms-transition-promo-content::before { position:absolute; top:0; left:0; width:8rem; height:5px; background:var(--transition-promo-accent,#5fd9d0); content:""; }
.cms-transition-promo-content h2 { max-width:680px; margin:0; color:inherit; font-size:clamp(2.75rem,4.7vw,5.25rem); font-weight:400; line-height:0.94; letter-spacing:-0.055em; text-wrap:balance; }
.cms-transition-promo-copy { max-width:620px; margin-top:2rem; color:inherit; font-size:clamp(1rem,1.3vw,1.15rem); line-height:1.7; opacity:0.78; }
.cms-transition-promo-copy > :first-child { margin-top:0; }
.cms-transition-promo-copy > :last-child { margin-bottom:0; }
.cms-transition-promo-button { display:inline-flex; min-height:3.8rem; align-items:center; justify-content:space-between; gap:2rem; margin-top:2.25rem; padding:0.85rem 1rem 0.85rem 1.35rem; background:var(--transition-promo-accent,#5fd9d0); color:#071827; font-size:0.82rem; font-weight:800; letter-spacing:0.06em; line-height:1.2; text-decoration:none; text-transform:uppercase; transition:background-color 220ms ease,color 220ms ease,transform 220ms ease; }
.cms-transition-promo-button i { display:grid; width:2rem; height:2rem; place-items:center; border:1px solid rgba(7,24,39,0.28); transition:transform 220ms ease; }
.cms-transition-promo-button:hover { transform:translateY(-2px); background:#ffffff; color:#071827; }
.cms-transition-promo-button:hover i { transform:translateX(0.25rem); }
.cms-transition-promo-button:focus-visible { outline:3px solid #ffffff; outline-offset:4px; }
.cms-transition-promo-image { position:relative; min-height:570px; overflow:hidden; isolation:isolate; background:#d9e1df; }
.cms-transition-promo-image::after { position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,rgba(7,24,39,0.28) 0%,rgba(7,24,39,0.04) 35%,rgba(7,24,39,0) 62%); content:""; pointer-events:none; }
.cms-transition-promo-image img { position:absolute; inset:0; width:100%; height:100%; display:block; object-fit:cover; object-position:center; }
.cms-transition-promo-image-label { position:absolute; right:0; bottom:0; z-index:2; display:grid; width:min(15rem,46%); min-height:8.5rem; grid-template-columns:auto 1fr; align-items:end; gap:1rem; padding:1.35rem; background:var(--transition-promo-accent,#5fd9d0); color:#071827; }
.cms-transition-promo-image-label strong { font-size:clamp(2.5rem,4vw,4.25rem); font-weight:400; line-height:0.8; letter-spacing:-0.06em; }
.cms-transition-promo-image-label span { align-self:end; padding-bottom:0.1rem; font-size:0.72rem; font-weight:800; letter-spacing:0.07em; line-height:1.25; text-transform:uppercase; }
@media (max-width:1000px) { .cms-transition-promo-panel { grid-template-columns:1fr; } .cms-transition-promo-content { min-height:500px; } .cms-transition-promo-image { min-height:500px; } .cms-transition-promo-image::after { background:linear-gradient(180deg,rgba(7,24,39,0.18),rgba(7,24,39,0) 38%); } }
@media (max-width:680px) { .cms-transition-promo { padding:4.5rem 0; } .cms-transition-promo .shell { width:min(100% - 40px,1420px); } .cms-transition-promo-content { min-height:auto; padding:3.25rem 1.75rem; } .cms-transition-promo-image { min-height:380px; } .cms-transition-promo-image-label { width:min(13rem,62%); min-height:7.25rem; } }
@media (prefers-reduced-motion:reduce) { .cms-transition-promo-button,.cms-transition-promo-button i { transition:none; } .cms-transition-promo-button:hover { transform:none; } }


.cms-quick-links { padding:6rem 0; background:#f4f1e9; color:#0b1f31; }
.cms-quick-links * { box-sizing:border-box; }
.cms-quick-links .shell { width:min(1420px,calc(100% - 80px)); margin:0 auto; }
.cms-quick-links-header { max-width:780px; margin-bottom:clamp(2.5rem,5vw,4rem); }
.cms-quick-links-header h2 { margin:0; color:inherit; font-size:clamp(2.75rem,4.5vw,4.5rem); font-weight:400; line-height:1; letter-spacing:-0.05em; text-wrap:balance; }
.cms-quick-links-introduction { max-width:650px; margin-top:1.25rem; color:inherit; font-size:clamp(1rem,1.2vw,1.1rem); line-height:1.65; opacity:0.72; }
.cms-quick-links-introduction > :first-child { margin-top:0; }
.cms-quick-links-introduction > :last-child { margin-bottom:0; }
.cms-quick-links-grid { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; }
.cms-quick-link { position:relative; display:grid; min-height:190px; flex:0 1 calc((100% - 36px)/4); grid-template-columns:1fr auto; grid-template-rows:auto 1fr; gap:1.5rem; padding:1.6rem; overflow:hidden; background:var(--quick-card-background,#ffffff); color:var(--quick-card-text,#0b1f31); text-decoration:none; transition:transform 180ms ease,filter 180ms ease; }
.cms-quick-link::after { position:absolute; right:0; bottom:0; left:0; height:4px; background:currentColor; content:""; opacity:0.26; transform:scaleX(0.24); transform-origin:left; transition:transform 220ms ease,opacity 220ms ease; }
.cms-quick-link-icon { display:grid; width:4.75rem; height:4.75rem; grid-column:1 / -1; place-items:center; border:1px solid color-mix(in srgb,var(--quick-card-text,#0b1f31) 18%,transparent); background:color-mix(in srgb,var(--quick-card-text,#0b1f31) 11%,transparent); color:var(--quick-card-text,#0b1f31); transition:background-color 180ms ease,color 180ms ease,transform 180ms ease; }
.cms-quick-link-icon i { font-size:2.15rem; line-height:1; }
.cms-quick-link strong { align-self:end; max-width:260px; color:inherit; font-size:clamp(1.35rem,1.8vw,1.75rem); font-weight:500; line-height:1.08; letter-spacing:-0.035em; text-wrap:balance; }
.cms-quick-link-arrow { align-self:end; display:grid; width:2.5rem; height:2.5rem; place-items:center; border:1px solid color-mix(in srgb,var(--quick-card-text,#0b1f31) 30%,transparent); color:inherit; transition:background-color 180ms ease,color 180ms ease,transform 180ms ease; }
.cms-quick-link-arrow i { font-size:0.85rem; }
.cms-quick-link:hover { transform:translateY(-3px); filter:saturate(1.04); }
.cms-quick-link:hover::after { opacity:0.72; transform:scaleX(1); }
.cms-quick-link:hover .cms-quick-link-icon { transform:translateY(-2px); background:var(--quick-card-text,#0b1f31); color:var(--quick-card-background,#ffffff); }
.cms-quick-link:hover .cms-quick-link-arrow { transform:translateX(0.2rem); background:var(--quick-card-text,#0b1f31); color:var(--quick-card-background,#ffffff); }
.cms-quick-link:focus-visible { outline:3px solid currentColor; outline-offset:-6px; }
@media (max-width:1050px) { .cms-quick-link { flex-basis:calc((100% - 12px)/2); } }
@media (max-width:620px) { .cms-quick-links { padding:4rem 0; } .cms-quick-links .shell { width:min(100% - 40px,1420px); } .cms-quick-links-grid { gap:0.9rem; } .cms-quick-link { min-height:220px; flex-basis:100%; } }
@media (prefers-reduced-motion:reduce) { .cms-quick-link,.cms-quick-link::after,.cms-quick-link-icon,.cms-quick-link-arrow { transition:none; } .cms-quick-link:hover,.cms-quick-link:hover .cms-quick-link-icon,.cms-quick-link:hover .cms-quick-link-arrow { transform:none; } }
