/* UniPlan Core: bundled from the approved static preview by build-assets.py. Do not edit by hand. */
:root {
  --section-space: 3rem;
  --hero-title-size: clamp(2.5rem, 4.4vw, 3.9rem);
  --hero-title-leading: 1.12;
  
  --color-primary: #780AC2;
  --color-primary-rgb: 120, 10, 194;
  --color-deep-purple: #3C0561;
  --color-deep-purple-rgb: 60, 5, 97;
  --color-accent: #960DF2;
  --color-accent-rgb: 150, 13, 242;
  --color-lavender: #F7EFFE;
  --color-lavender-rgb: 244, 238, 250;
  --color-soft-bg: #FFFFFF;
  --color-white: #FFFFFF;
  --color-dark-text: #1B1B26;
  --color-muted-text: #4E495E;
  --color-border: #E4DDEC;
  --color-border-subtle: rgba(99, 44, 140, 0.12);

  
  --color-success: var(--color-primary);
  --color-emerald: var(--color-primary);
  --color-emerald-light: var(--color-accent);
  --color-hero-accent: #d7b5ed;
  --color-warning: #F59E0B;
  --color-star: #FFB800;

  
  --bg-body: var(--color-soft-bg);
  --bg-surface: var(--color-white);
  --bg-surface-elevated: #FFFFFF;
  --bg-card: #FFFFFF;
  --bg-contrast: var(--color-deep-purple);
  --text-primary: var(--color-dark-text);
  --text-secondary: var(--color-muted-text);
  --text-contrast: #FFFFFF;
  --border-color: var(--color-border);
  --header-bg: rgba(255, 255, 255, 0.95);
  --header-border: rgba(99, 44, 140, 0.10);

  
  --font-main: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-serif: var(--font-main);
  --font-handwrite: var(--font-main);
  --font-sinhala: 'Noto Sans Sinhala', 'Plus Jakarta Sans', sans-serif;
  --font-tamil: 'Noto Sans Tamil', 'Plus Jakarta Sans', sans-serif;

  
  --shadow-sm: 0 2px 8px rgba(50, 20, 71, 0.05);
  --shadow-md: 0 8px 24px rgba(50, 20, 71, 0.08);
  --shadow-lg: 0 16px 40px rgba(50, 20, 71, 0.12);
  --shadow-xl: 0 24px 60px rgba(50, 20, 71, 0.16);
  --shadow-purple-glow: 0 12px 30px rgba(99, 44, 140, 0.22);
  --shadow-inner: inset 0 2px 4px rgba(0, 0, 0, 0.04);

  
  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-lg: 20px;
  --radius-xl: 28px;
  --radius-full: 9999px;

  
  --transition-fast: 0.18s cubic-bezier(0.16, 1, 0.3, 1);
  --transition-base: 0.28s cubic-bezier(0.16, 1, 0.3, 1);
  --transition-smooth: 0.45s cubic-bezier(0.16, 1, 0.3, 1);

  
  --container-max: 1280px;
  --container-padding: 24px;
}
[data-theme="dark"] {
  --bg-body: #0C0614;
  --bg-surface: #150B24;
  --bg-surface-elevated: #1D1031;
  --bg-card: #180D2B;
  --bg-contrast: #200E39;
  --text-primary: #FFFFFF;
  --text-secondary: #C8BFD6;
  --text-contrast: #FFFFFF;
  --border-color: #382256;
  --color-border-subtle: rgba(138, 80, 173, 0.25);
  --color-lavender: #23113D;
  --header-bg: rgba(12, 6, 20, 0.95);
  --header-border: rgba(138, 80, 173, 0.22);

  --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.4);
  --shadow-md: 0 8px 24px rgba(0, 0, 0, 0.5);
  --shadow-lg: 0 16px 40px rgba(0, 0, 0, 0.6);
  --shadow-xl: 0 24px 60px rgba(0, 0, 0, 0.75);
  --shadow-purple-glow: 0 12px 36px rgba(138, 80, 173, 0.35);
}
body.page-site *, body.page-site *::before, body.page-site *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
html {
  font-size: 16px;
  scroll-behavior: smooth;
  text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
body.page-site {
  font-family: var(--font-main);
  background-color: var(--bg-body);
  color: var(--text-primary);
  line-height: 1.6;
  overflow-x: hidden;
  transition: background-color var(--transition-base), color var(--transition-base);
}
body.page-site img, body.page-site svg, body.page-site video {
  max-width: 100%;
  height: auto;
  display: block;
}
body.page-site a {
  color: inherit;
  text-decoration: none;
  transition: color var(--transition-fast);
}
body.page-site button, body.page-site input, body.page-site select, body.page-site textarea {
  font: inherit;
  color: inherit;
  outline: none;
  border: none;
  background: none;
}
body.page-site button {
  cursor: pointer;
}
body.page-site ul, body.page-site ol {
  list-style: none;
}
body.page-site h1, body.page-site h2, body.page-site h3, body.page-site h4, body.page-site h5, body.page-site h6 {
  font-family: var(--font-main);
  font-weight: 700;
  color: var(--text-primary);
  line-height: 1.22;
  letter-spacing: -0.02em;
}
body.page-site h1 {
  font-size: clamp(2.4rem, 5vw, 3.8rem);
  font-weight: 800;
  line-height: 1.15;
}
body.page-site h2 {
  font-size: clamp(2rem, 3.8vw, 2.75rem);
  font-weight: 800;
}
body.page-site h3 {
  font-size: clamp(1.4rem, 2.4vw, 1.85rem);
  font-weight: 700;
}
body.page-site h4 {
  font-size: 1.25rem;
  font-weight: 600;
}
body.page-site p {
  color: var(--text-secondary);
  font-size: 1.05rem;
  line-height: 1.68;
}
body.page-site .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
@media (min-width: 64rem) {:root { --section-space: 5rem; }

}
body.page-site .footer-social-icons { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.25rem; }
body.page-site .footer-social-icons a { display: inline-flex; justify-content: center; align-items: center; width: 2.75rem; height: 2.75rem; border: 1px solid var(--border-color); border-radius: var(--radius-full); background: var(--bg-surface); color: var(--text-primary); }
body.page-site .footer-social-icons svg { width: 1.25rem; height: 1.25rem; }
body.page-site .site-footer .footer-social-icons a { color: var(--color-white); background: var(--color-primary); border-color: var(--color-hero-accent); }
@media (hover: hover) and (pointer: fine) {body.page-site .footer-social-icons a:hover { background: var(--color-primary); color: var(--color-white); }

}
@media (max-width: 768px) {:root { --hero-title-size: clamp(2.1rem, 7.8vw, 2.85rem); --hero-title-leading: 1.15; }

}
@media (max-width: 480px) {:root { --hero-title-size: clamp(1.85rem, 8vw, 2.25rem); }

}
:root {
  --page-paper: #ffffff;
  --page-white: #ffffff;
  --page-plum-light: #f7effe;
  --page-ink: #1b1b26;
  --page-muted: #4e495e;
  --page-line: #ecdcf8;
  --page-control-border: #9b86ad;
  --page-focus: #780ac2;
  --page-plum: #780ac2;
  --page-error: #b42332;
  --page-on-dark: #ffffff;
  --page-on-dark-muted: #e5dbea;
}
[data-theme="dark"] {
  --page-paper: #0c0614;
  --page-white: #150b24;
  --page-plum-light: #23113d;
  --page-ink: #ffffff;
  --page-muted: #c8bfd6;
  --page-line: #382256;
  --page-control-border: #a58caf;
  --page-focus: #c9a7de;
  --page-plum: #780ac2;
  --page-error: #ff9aaa;
  --page-on-dark: #ffffff;
  --page-on-dark-muted: #e5dbea;
}
body.page-site .joinchat { position: fixed; bottom: max(1.25rem, env(safe-area-inset-bottom)); right: max(1.25rem, env(safe-area-inset-right)); z-index: 1100; font-family: var(--font-main); }
body.page-site .joinchat .joinchat-button { display: flex; align-items: center; justify-content: center; gap: .65rem; min-height: 3.5rem; padding: .85rem 1.2rem; border-radius: var(--radius-full); background: var(--color-primary); color: var(--text-contrast); border: 1px solid var(--color-hero-accent); box-shadow: var(--shadow-md); cursor: pointer; list-style: none; font-size: .9rem; font-weight: 700; }
body.page-site .joinchat summary::-webkit-details-marker { display: none; }
body.page-site .joinchat svg { width: 1.5rem; height: 1.5rem; flex-shrink: 0; }
body.page-site .joinchat-panel { position: absolute; bottom: calc(100% + 1rem); right: 0; width: min(21rem, calc(100vw - 2.5rem)); max-height: calc(100dvh - 7rem); overflow-y: auto; background: var(--bg-surface); color: var(--text-primary); border: 1px solid var(--border-color); border-radius: var(--radius-lg); padding: 1.5rem; box-shadow: var(--shadow-xl); }
body.page-site .joinchat .joinchat-panel h2 { font-family: var(--font-main); font-size: 1.4rem; line-height: 1.3; font-weight: 800; margin-block: 1rem .75rem; }
body.page-site .joinchat-panel p { font-size: .9rem; color: var(--text-secondary); margin-bottom: 1rem; }
body.page-site .joinchat-brand { color: var(--text-primary); font-weight: 700; font-size: .8rem; padding-right: 2rem; }
body.page-site .joinchat-close { position: absolute; right: .75rem; top: .75rem; width: 2.75rem; height: 2.75rem; display: grid; place-items: center; border: 1px solid var(--border-color); border-radius: var(--radius-full); font-size: 1.3rem; color: var(--text-primary); cursor: pointer; }
body.page-site .joinchat-start { display: flex; align-items: center; justify-content: center; gap: .5rem; min-height: 3rem; padding: .75rem; border-radius: var(--radius-full); background: var(--color-primary); color: var(--text-contrast); font-weight: 700; font-size: .9rem; }
body.page-site .joinchat-panel .joinchat-hint { font-size: .75rem; margin-block: .75rem 0; }
body.page-site .joinchat :focus-visible { outline: 3px solid var(--color-hero-accent); outline-offset: 4px; }
@media (max-width: 480px) {body.page-site .joinchat .joinchat-button { width: 3.5rem; padding: .75rem; }
body.page-site .joinchat .joinchat-button span { display: none; }

}
:root {
  --space-xs: .5rem;
  --space-sm: 1rem;
  --space-md: 1.5rem;
  --space-lg: 2rem;
  --space-xl: 3rem;
  --space-2xl: 5rem;
  --page-gutter: clamp(1rem, 4vw, 4rem);
  --page-width: 80rem;
  --page-display: var(--hero-title-size);
  --page-heading: clamp(2rem, 4vw, 3.8rem);
  --page-radius: 1.5rem;
  --page-pill: 999rem;
  --page-control: 3rem;
  --motion-enter: 700ms;
  --motion-ui: 200ms;
  --motion-press: 120ms;
  --motion-ease: cubic-bezier(.23, 1, .32, 1);
  --motion-shift: 1.5rem;
  --motion-step: 80ms;
  --page-focus-width: 3px;
  --page-focus-offset: 5px;
  --page-hover-lift: -2px;
  --font-editorial: var(--font-main);
}
body.page-site { background: var(--page-paper); color: var(--page-ink); overflow-x: clip; transition: none; }
body.page-site *, body.page-site *::before, body.page-site *::after { box-sizing: border-box; }
body.page-site h1, body.page-site h2, body.page-site h3 { color: inherit; overflow-wrap: anywhere; }
body.page-site h1 { font-size: var(--page-display); letter-spacing: -.025em; line-height: var(--hero-title-leading); font-weight: 800; }
body.page-site h2 { font-size: var(--page-heading); letter-spacing: -.045em; line-height: 1.12; }
body.page-site h3 { font-size: 1.4rem; letter-spacing: -.025em; line-height: 1.3; }
body.page-site p { color: var(--page-muted); max-width: 65ch; }
body.page-site button, body.page-site a, body.page-site input, body.page-site textarea, body.page-site summary { -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
body.page-site :focus-visible { outline: var(--page-focus-width) solid var(--page-focus); outline-offset: var(--page-focus-offset); }
body.page-site [hidden] { display: none !important; }
body.page-site .page-wrap { width: min(100% - var(--page-gutter) * 2, var(--page-width)); margin-inline: auto; }
body.page-site .skip-link { position: fixed; top: var(--space-sm); left: var(--space-sm); z-index: 2000; padding: var(--space-sm); background: var(--page-white); transform: translateY(-200%); }
body.page-site .skip-link:focus { transform: none; }
body.page-site .page-topbar { display: none; }
body.page-site .page-topbar .page-wrap { display: flex; justify-content: space-between; align-items: center; min-height: 2.25rem; gap: var(--space-sm); }
body.page-site .page-topbar a { padding-block: var(--space-xs); }
body.page-site .page-header { position: sticky; top: 14px; z-index: 50; background: transparent; border: none; pointer-events: none; margin-bottom: 12px; }
body.page-site .page-header .page-wrap { pointer-events: auto; display: flex; align-items: center; justify-content: space-between; gap: var(--space-sm); min-height: 4.5rem; background: var(--page-white); border: 1px solid var(--page-line); border-radius: 16px; padding: 10px 24px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08); }
[data-theme="dark"] body.page-site .page-header .page-wrap { background: rgba(22, 11, 38, 0.94); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border-color: rgba(138, 80, 173, 0.35); box-shadow: 0 16px 45px rgba(0, 0, 0, 0.65); }
body.page-site .page-logo { display: flex; align-items: center; flex-shrink: 0; }
body.page-site .page-logo img { width: min(10.5rem, 36vw); height: auto; }
[data-theme="dark"] body.page-site .page-logo { background: transparent; border-radius: .5rem; padding: 0; }
body.page-site .page-desktop-nav { display: none; align-items: center; gap: 1.85rem; font-size: 1.05rem; font-weight: 600; letter-spacing: -0.01em; }
body.page-site .page-desktop-nav a, body.page-site .page-desktop-nav summary { min-height: 2.75rem; display: flex; align-items: center; gap: .45rem; white-space: nowrap; color: var(--page-ink); font-size: 1.05rem; font-weight: 600; transition: color var(--motion-ui); }
body.page-site .page-desktop-nav a:hover, body.page-site .page-desktop-nav summary:hover { color: var(--color-primary); }
body.page-site .page-desktop-nav [aria-current="page"] { color: var(--color-primary); font-weight: 700; text-decoration: underline; text-underline-offset: .5rem; }
[data-theme="dark"] body.page-site .page-desktop-nav [aria-current="page"] { color: #C084FC; }
body.page-site .nav-disclosure { position: relative; }
body.page-site .nav-disclosure summary { cursor: pointer; list-style: none; display: inline-flex; align-items: center; gap: .35rem; }
body.page-site .nav-disclosure summary::-webkit-details-marker { display: none; }
body.page-site .nav-disclosure summary::after {
  content: '';
  display: inline-block;
  width: 14px;
  height: 14px;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat center / contain;
  margin-left: 2px;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  vertical-align: middle;
}
body.page-site .nav-disclosure[open] summary::after {
  transform: rotate(180deg);
}
body.page-site .nav-panel { position: absolute; top: calc(100% + 8px); left: -.75rem; padding: 0.85rem; min-width: 15.5rem; border: 1px solid var(--page-line); background: var(--page-white); border-radius: 12px; box-shadow: var(--shadow-lg); z-index: 100; }
body.page-site .nav-panel a { padding: .6rem .9rem; font-size: 0.95rem; font-weight: 500; border-radius: 6px; }
body.page-site .nav-panel a:hover { background: var(--color-lavender); color: var(--color-primary); }
[data-theme="dark"] body.page-site .nav-panel { background: var(--bg-surface-elevated); border-color: rgba(138, 80, 173, 0.3); }
[data-theme="dark"] body.page-site .nav-panel a:hover { background: rgba(138, 80, 173, 0.2); color: #C084FC; }
body.page-site .page-actions { display: flex; align-items: center; gap: 0.85rem; }
body.page-site .page-button { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-sm); background: var(--page-plum); color: var(--page-on-dark); padding: .8rem 1.65rem; min-height: 2.9rem; border: 1px solid var(--page-plum); border-radius: var(--page-pill); font-size: 1rem; font-weight: 700; text-align: center; transition: transform var(--motion-press) var(--motion-ease), opacity var(--motion-ui); }
body.page-site a.page-button::after { content: '↗'; font-size: 1.2em; }
body.page-site .page-button.secondary { background: transparent; border-color: var(--page-control-border); color: var(--page-ink); }
body.page-site .page-button.light { background: var(--page-on-dark); color: var(--page-plum); border-color: var(--page-on-dark); }
body.page-site .page-button:active { transform: scale(.97); }
body.page-site .page-button:disabled { opacity: .5; cursor: not-allowed; }
body.page-site .icon-button { display: inline-grid; place-items: center; min-width: 2.75rem; min-height: 2.75rem; border: 1px solid var(--page-control-border); border-radius: var(--page-pill); font-size: 1.2rem; }
body.page-site .page-actions > .page-button { display: none; }
body.page-site .mobile-dialog { background: var(--page-paper); color: var(--page-ink); border: 1px solid var(--page-line); border-radius: var(--page-radius); width: min(90vw, 28rem); max-height: 85dvh; padding: var(--space-md); margin: auto; }
body.page-site .mobile-dialog::backdrop { background: rgba(25, 14, 34, .65); }
body.page-site .mobile-dialog header { display: flex; justify-content: space-between; align-items: center; }
body.page-site .mobile-dialog nav { display: grid; margin-block: var(--space-md); }
body.page-site .mobile-dialog nav > a { padding: .65rem; border-bottom: 1px solid var(--page-line); }
body.page-site .mobile-dialog details { padding: .65rem; border-bottom: 1px solid var(--page-line); }
body.page-site .mobile-dialog details summary { cursor: pointer; list-style: none; display: flex; align-items: center; justify-content: space-between; font-weight: 600; }
body.page-site .mobile-dialog details summary::-webkit-details-marker { display: none; }
body.page-site .mobile-dialog details summary::after {
  content: '';
  display: inline-block;
  width: 14px;
  height: 14px;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat center / contain;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}
body.page-site .mobile-dialog details[open] summary::after {
  transform: rotate(180deg);
}
body.page-site .mobile-dialog details a { display: block; padding: .6rem; }
body.page-site .breadcrumb { display: flex; gap: var(--space-xs); flex-wrap: wrap; font-size: .75rem; padding-block: var(--space-md); color: var(--page-muted); }
body.page-site .breadcrumb a { text-decoration: underline; text-underline-offset: .2rem; }
body.page-site .kicker { display: flex; align-items: center; gap: var(--space-xs); font-size: .72rem; text-transform: uppercase; letter-spacing: .16em; font-weight: 700; margin-bottom: var(--space-md); }
body.page-site .kicker::before { content: ''; width: .5rem; height: .5rem; background: currentColor; border-radius: var(--page-pill); }
body.page-site .page-lede { font-size: clamp(1rem, 1.6vw, 1.16rem); line-height: 1.8; margin-block: var(--space-md); }
body.page-site .action-row { display: flex; gap: var(--space-sm); flex-wrap: wrap; margin-top: var(--space-lg); }
body.page-site .hero-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-xl); align-items: center; padding-block: var(--space-md) var(--space-2xl); }
body.page-site .hero-grid > *, body.page-site .split-content > *, body.page-site .contact-grid > *, body.page-site .assessment-layout > *, body.page-site .editorial-grid > * { min-width: 0; }
body.page-site .hero-copy em { font-family: var(--font-main); font-style: normal; font-weight: inherit; letter-spacing: inherit; color: var(--color-primary); }
[data-theme="dark"] body.page-site .hero-copy em { color: var(--page-on-dark-muted); }
body.page-site .hero-photo { position: relative; }
body.page-site .hero-photo img { width: 100%; height: 30rem; max-height: 60vh; object-fit: cover; border-radius: var(--page-radius); }
body.page-site .photo-label { position: absolute; bottom: var(--space-md); left: var(--space-md); right: var(--space-md); padding: var(--space-sm); background: var(--page-white); border-radius: .75rem; display: flex; justify-content: space-between; align-items: center; font-size: .75rem; gap: var(--space-sm); }
body.page-site .photo-label strong { font-size: .9rem; }
body.page-site .section-block { padding-block: var(--section-space); }
body.page-site .section-head { display: grid; gap: var(--space-lg); margin-bottom: var(--space-xl); align-items: end; }
body.page-site .section-head p { max-width: 45ch; }
body.page-site .paper-section { background: var(--page-white); }
body.page-site .soft-section { background: var(--page-plum-light); }
body.page-site .dark-section { background: var(--page-plum); color: var(--page-on-dark); }
body.page-site .dark-section p { color: var(--page-on-dark-muted); }
body.page-site .text-link { display: inline-flex; align-items: center; gap: var(--space-xs); min-height: 2.75rem; font-size: .85rem; font-weight: 700; text-decoration: underline; text-underline-offset: .3rem; }
body.page-site .text-link::after { content: '↗'; }
body.page-site .facts-strip { display: grid; grid-template-columns: 1fr; border-block: 1px solid var(--page-line); padding-block: var(--space-lg); gap: var(--space-md); }
body.page-site .facts-strip span { display: block; font-size: .75rem; color: var(--page-muted); }
body.page-site .facts-strip strong { display: block; font-size: 1.5rem; letter-spacing: -.04em; }
body.page-site .editorial-grid { display: grid; gap: var(--space-lg); }
body.page-site .image-card { position: relative; border-radius: var(--page-radius); overflow: clip; background: var(--page-plum); color: var(--page-on-dark); min-height: 24rem; display: flex; align-items: end; }
body.page-site .image-card img { position: absolute; width: 100%; height: 100%; object-fit: cover; inset: 0; transition: transform var(--motion-enter) var(--motion-ease); }
body.page-site .image-card::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(23, 10, 34, .95), rgba(23, 10, 34, .05) 90%); }
body.page-site .image-card .card-copy { padding: var(--space-lg); position: relative; z-index: 1; width: 100%; }
body.page-site .image-card h3 { font-size: clamp(1.8rem, 3vw, 3rem); }
body.page-site .image-card p { color: var(--page-on-dark-muted); margin-top: var(--space-xs); font-size: .85rem; }
body.page-site .image-card .card-meta { display: flex; justify-content: space-between; gap: var(--space-sm); font-size: .72rem; margin-bottom: var(--space-md); text-transform: uppercase; letter-spacing: .12em; }
body.page-site .image-card.lead { min-height: 32rem; }
body.page-site .filter-bar { display: flex; flex-wrap: wrap; gap: var(--space-xs); margin-bottom: var(--space-xl); }
body.page-site .filter-button { padding: .6rem 1rem; min-height: 2.75rem; border-radius: var(--page-pill); border: 1px solid var(--page-line); color: var(--page-ink); font-size: .8rem; transition: transform var(--motion-press), opacity var(--motion-ui); }
body.page-site .filter-button[aria-pressed="true"] { background: var(--page-plum); color: var(--page-on-dark); border-color: var(--page-plum); }
body.page-site .filter-status { color: var(--page-muted); font-size: .8rem; margin-bottom: var(--space-md); }
body.page-site .country-hero { padding-bottom: var(--space-2xl); }
body.page-site .country-canvas { position: relative; min-height: 34rem; display: flex; align-items: end; padding: var(--space-xl) var(--space-md); border-radius: var(--page-radius); overflow: clip; background: var(--page-plum); color: var(--page-on-dark); }
body.page-site .country-canvas > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
body.page-site .country-canvas::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(26, 12, 38, .92), rgba(26, 12, 38, .2)); }
body.page-site .country-canvas .hero-copy { position: relative; z-index: 1; max-width: 48rem; }
body.page-site .country-canvas p { color: var(--page-on-dark-muted); max-width: 46ch; }
body.page-site .country-canvas em { color: var(--page-on-dark); }
body.page-site .country-canvas .page-button.secondary { color: var(--page-on-dark); border-color: var(--page-on-dark-muted); }
body.page-site .country-hero.postcard .hero-photo img { border-radius: 10rem 10rem var(--page-radius) var(--page-radius); }
body.page-site .country-hero.panorama .hero-grid { align-items: start; }
body.page-site .country-hero.panorama .hero-photo { grid-column: 1 / -1; }
body.page-site .country-hero.panorama .hero-photo img { height: 24rem; max-height: none; }
body.page-site .country-hero.reverse .hero-photo img { border-radius: var(--page-radius) 7rem var(--page-radius) var(--page-radius); }
body.page-site .country-hero.atlas .hero-photo img { aspect-ratio: 1; height: auto; border-radius: 50%; }
body.page-site .split-content { display: grid; gap: var(--space-xl); }
body.page-site .number-list { display: grid; }
body.page-site .number-item { display: grid; grid-template-columns: 2.5rem 1fr; gap: var(--space-md); padding-block: var(--space-lg); border-top: 1px solid var(--page-line); }
body.page-site .number-item .number { font-size: 1rem; font-weight: 700; color: var(--page-muted); }
body.page-site .number-item p { margin-top: var(--space-xs); font-size: .95rem; }
body.page-site .note-panel { background: var(--page-plum-light); padding: var(--space-lg); border: 1px solid var(--page-line); border-radius: var(--page-radius); }
body.page-site .note-panel p { margin-top: var(--space-sm); }
body.page-site .checklist { display: grid; gap: var(--space-sm); margin-top: var(--space-md); }
body.page-site .checklist li { display: flex; align-items: start; gap: var(--space-sm); font-size: .9rem; }
body.page-site .checklist li::before { content: '+'; font-weight: 700; }
body.page-site .journey-list { display: grid; gap: var(--space-md); counter-reset: journey; }
body.page-site .journey-list li { counter-increment: journey; padding: var(--space-lg); background: var(--page-white); border: 1px solid var(--page-line); border-radius: var(--page-radius); display: grid; grid-template-columns: 2.5rem 1fr; gap: var(--space-sm); }
body.page-site .journey-list li::before { content: '0' counter(journey); font-weight: 700; color: var(--page-muted); }
body.page-site .journey-list p { margin-top: var(--space-xs); font-size: .9rem; }
body.page-site .page-cta { padding-block: var(--section-space); }
body.page-site .page-cta .page-wrap { display: grid; gap: var(--space-lg); align-items: center; }
body.page-site .page-cta h2 { max-width: 20ch; }
body.page-site .page-footer { padding-block: var(--section-space) var(--space-lg); }
body.page-site .footer-grid { display: grid; gap: var(--space-xl); }
body.page-site .footer-brand { max-width: 30ch; overflow-wrap: anywhere; }
body.page-site .footer-brand p { font-size: .85rem; margin-block: var(--space-md); }
body.page-site .footer-links { display: grid; gap: var(--space-xs); align-content: start; font-size: .85rem; }
body.page-site .footer-links strong { margin-bottom: var(--space-sm); }
body.page-site .footer-links a { padding-block: .3rem; }
body.page-site .footer-bottom { margin-top: var(--space-xl); padding-top: var(--space-lg); border-top: 1px solid var(--page-line); display: flex; flex-wrap: wrap; gap: var(--space-sm); justify-content: space-between; font-size: .75rem; color: var(--page-muted); }
body.page-site .footer-bottom > div { display: flex; gap: var(--space-md); }
body.page-site .service-row { display: grid; gap: var(--space-md); padding-block: var(--space-xl); border-top: 1px solid var(--page-line); align-items: start; }
body.page-site .service-row h3 { font-size: clamp(1.8rem, 3vw, 2.8rem); }
body.page-site .service-row .service-number { font-size: .8rem; color: var(--page-muted); }
body.page-site .service-row p { margin-top: var(--space-xs); }
body.page-site .service-art { background: var(--page-plum-light); padding: var(--space-lg); border-radius: var(--page-radius); position: relative; overflow: clip; }
body.page-site .service-art img { width: 100%; height: 19rem; object-fit: cover; border-radius: 1rem; }
body.page-site .document-preview { background: var(--page-white); border: 1px solid var(--page-line); padding: var(--space-lg); margin-top: calc(var(--space-xl) * -1); margin-left: var(--space-lg); position: relative; border-radius: .75rem; }
body.page-site .document-preview strong { font-size: 1.2rem; }
body.page-site .document-preview span { display: block; margin-top: var(--space-sm); color: var(--page-muted); font-size: .75rem; }
body.page-site .document-line { height: .4rem; border-radius: var(--page-pill); background: var(--page-line); margin-top: var(--space-sm); width: 80%; }
body.page-site .document-line.short { width: 50%; }
body.page-site .service-detail.board .hero-grid { padding: var(--space-md); background: var(--page-plum-light); border-radius: var(--page-radius); }
body.page-site .service-detail.board .service-art { padding: 0; }
body.page-site .service-detail.departure .service-art img { border-radius: 8rem 8rem 1rem 1rem; height: 27rem; }
body.page-site .service-detail.essay .hero-copy h1 { font-family: var(--font-editorial); font-weight: 800; }
body.page-site .funding-hero { padding-block: var(--space-lg) var(--space-2xl); }
body.page-site .funding-hero h1 { max-width: 13ch; }
body.page-site .funding-visual { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-sm); align-items: end; }
body.page-site .funding-visual img { border-radius: var(--page-radius); width: 100%; height: 23rem; object-fit: cover; grid-column: 1 / -1; }
body.page-site .funding-note { padding: var(--space-md); border: 1px solid var(--page-line); border-radius: var(--page-radius); background: var(--page-white); }
body.page-site .funding-note strong { display: block; font-family: var(--font-editorial); font-size: 2rem; margin-bottom: var(--space-xs); }
body.page-site .funding-note p { font-size: .8rem; }
body.page-site .tablist { display: flex; gap: var(--space-xs); margin-bottom: var(--space-lg); }
body.page-site .tab-button { border: 1px solid var(--page-line); padding: .75rem 1.5rem; min-height: var(--page-control); border-radius: var(--page-pill); font-weight: 700; }
body.page-site .tab-button[aria-selected="true"] { background: var(--page-plum); color: var(--page-on-dark); }
body.page-site .test-panel { background: var(--page-white); border-radius: var(--page-radius); padding: var(--space-xl); border: 1px solid var(--page-line); }
body.page-site .test-panel h3 { font-size: 2rem; }
body.page-site .skill-chips { display: flex; flex-wrap: wrap; gap: var(--space-xs); margin-block: var(--space-md); }
body.page-site .skill-chips span { padding: .45rem .8rem; font-size: .75rem; background: var(--page-plum-light); border-radius: var(--page-pill); }
body.page-site .faq-list details { padding-block: var(--space-md); border-bottom: 1px solid var(--page-line); }
body.page-site .faq-list summary { display: flex; justify-content: space-between; gap: var(--space-md); cursor: pointer; font-weight: 600; min-height: 2.75rem; list-style: none; align-items: center; }
body.page-site .faq-list summary::after { content: '+'; font-size: 1.5rem; }
body.page-site .faq-list details[open] summary::after { content: '−'; }
body.page-site .faq-list p { padding-block: var(--space-sm); }
body.page-site .article-card { border-bottom: 1px solid var(--page-line); padding-bottom: var(--space-lg); }
body.page-site .article-card img { width: 100%; height: 17rem; object-fit: cover; border-radius: var(--page-radius); margin-bottom: var(--space-md); }
body.page-site .article-card.lead img { height: 24rem; }
body.page-site .article-card h3 { font-size: 1.8rem; }
body.page-site .article-card .article-category { font-size: .72rem; color: var(--page-muted); margin-block: var(--space-sm); text-transform: uppercase; letter-spacing: .12em; }
body.page-site .journal-title { padding-block: var(--space-md) var(--space-xl); display: grid; gap: var(--space-lg); align-items: end; }
body.page-site .journal-title h1 { font-family: var(--font-editorial); font-weight: 800; }
body.page-site .article-header { padding-block: var(--space-lg) var(--space-xl); max-width: 65rem; }
body.page-site .article-header h1 { font-size: var(--hero-title-size); font-family: var(--font-editorial); font-weight: 800; }
body.page-site .article-cover { width: 100%; height: 28rem; object-fit: cover; border-radius: var(--page-radius); }
body.page-site .reading-grid { display: grid; gap: var(--space-xl); }
body.page-site .reading-copy { max-width: 65ch; }
body.page-site .reading-copy h2 { font-size: 2rem; margin-block: var(--space-xl) var(--space-md); }
body.page-site .reading-copy p { margin-bottom: var(--space-md); line-height: 1.9; }
body.page-site .reading-aside { align-self: start; padding: var(--space-lg); border: 1px solid var(--page-line); border-radius: var(--page-radius); }
body.page-site .reading-aside a { display: block; padding-block: var(--space-xs); text-decoration: underline; }
body.page-site .quote-feature { display: grid; gap: var(--space-xl); align-items: center; }
body.page-site .quote-feature img { width: 100%; height: 28rem; object-fit: cover; border-radius: var(--page-radius); }
body.page-site .quote-feature blockquote { font-size: clamp(1.6rem, 3vw, 2.7rem); line-height: 1.45; font-family: var(--font-editorial); }
body.page-site .quote-author { font-size: .85rem; margin-top: var(--space-lg); }
body.page-site .story-row { display: grid; gap: var(--space-lg); align-items: center; padding-block: var(--space-lg); border-top: 1px solid var(--page-line); }
body.page-site .story-row img { width: 100%; height: 15rem; object-fit: cover; border-radius: 1rem; }
body.page-site .story-row blockquote { font-family: var(--font-editorial); font-size: 1.3rem; line-height: 1.6; margin-block: var(--space-sm); }
body.page-site .contact-grid { display: grid; gap: var(--space-xl); align-items: start; }
body.page-site .contact-title { margin-block: 0 var(--space-xl); }
body.page-site .contact-title h1 { max-width: 13ch; }
body.page-site .contact-method { display: block; padding-block: var(--space-md); border-top: 1px solid var(--page-line); overflow-wrap: anywhere; }
body.page-site .contact-method span { display: block; font-size: .75rem; color: var(--page-muted); }
body.page-site .branch-list { display: grid; gap: var(--space-lg); }
body.page-site .branch-card { padding: var(--space-lg); border: 1px solid var(--page-line); border-radius: var(--page-radius); background: var(--page-white); }
body.page-site .branch-card address { font-style: normal; color: var(--page-muted); margin-block: var(--space-sm); }
body.page-site .page-form { padding: var(--space-lg); background: var(--page-white); border: 1px solid var(--page-line); border-radius: var(--page-radius); }
body.page-site .form-row { display: grid; gap: var(--space-md); align-items: start; }
body.page-site .field { display: grid; gap: var(--space-xs); margin-bottom: var(--space-md); }
body.page-site .field label, body.page-site .choice-group legend { font-size: .8rem; font-weight: 700; }
body.page-site .field input, body.page-site .field textarea { background: var(--page-paper); border: 1px solid var(--page-control-border); border-radius: .65rem; width: 100%; padding: .9rem 1rem; min-height: var(--page-control); font-size: 1rem; }
body.page-site .field textarea { resize: vertical; }
body.page-site .field input:user-invalid, body.page-site .field textarea:user-invalid { border-color: var(--page-error); }
body.page-site .form-hint { font-size: .8rem; margin-block: var(--space-sm); }
body.page-site .form-status { font-size: .85rem; margin-top: var(--space-sm); }
body.page-site .choice-group { border: 0; padding: 0; margin-bottom: var(--space-lg); }
body.page-site .choices { display: flex; flex-wrap: wrap; gap: var(--space-xs); margin-top: var(--space-sm); }
body.page-site .choice { display: flex; align-items: center; gap: var(--space-xs); padding: .65rem 1rem; background: var(--page-paper); border: 1px solid var(--page-control-border); border-radius: var(--page-pill); cursor: pointer; font-size: .8rem; min-height: 2.75rem; }
body.page-site .choice:has(input:checked) { background: var(--page-plum-light); border-color: var(--page-focus); }
body.page-site .choice input { accent-color: var(--color-primary); width: 1rem; height: 1rem; }
body.page-site .assessment-layout { display: grid; gap: var(--space-xl); padding-block: var(--space-lg) var(--space-2xl); }
body.page-site .assessment-layout .hero-copy h1 { font-size: var(--hero-title-size); }
body.page-site .wizard-progress { display: flex; gap: var(--space-xs); margin-block: var(--space-md) var(--space-xl); }
body.page-site .wizard-progress span { flex: 1; height: .3rem; background: var(--page-line); border-radius: var(--page-pill); }
body.page-site .wizard-progress span.active { background: var(--color-primary); }
body.page-site .wizard-step h2 { font-size: 1.6rem; margin-bottom: var(--space-lg); }
body.page-site .wizard-actions { display: flex; justify-content: space-between; gap: var(--space-sm); margin-top: var(--space-lg); flex-wrap: wrap; }
body.page-site .wizard-summary { display: grid; gap: var(--space-xs); margin-block: var(--space-md); }
body.page-site .wizard-summary div { border-top: 1px solid var(--page-line); padding-block: var(--space-xs); }
body.page-site .wizard-summary dt { font-size: .75rem; color: var(--page-muted); }
body.page-site .wizard-summary dd { margin: 0; font-weight: 600; }
body.page-site .about-collage { display: grid; grid-template-columns: 1fr .6fr; gap: var(--space-sm); align-items: end; }
body.page-site .about-collage img { width: 100%; height: 25rem; object-fit: cover; border-radius: var(--page-radius); }
body.page-site .about-collage img:last-child { height: 18rem; border-radius: 6rem 6rem var(--page-radius) var(--page-radius); }
body.page-site .about-statement { font-family: var(--font-editorial); font-size: clamp(1.8rem, 3.8vw, 3.6rem); line-height: 1.35; max-width: 28ch; }
body.page-site .legal-copy { max-width: 65ch; padding-bottom: var(--space-2xl); }
body.page-site .legal-copy h2 { font-size: 1.6rem; margin-block: var(--space-xl) var(--space-sm); }
body.page-site .legal-copy p { line-height: 1.9; }
@keyframes page-rise { from { opacity: 0; transform: translateY(var(--motion-shift)); } to { opacity: 1; transform: none; } }
@keyframes page-slide { from { opacity: 0; transform: translateX(calc(var(--motion-shift) * -1)); } to { opacity: 1; transform: none; } }
@keyframes page-scale { from { opacity: 0; transform: scale(.96); } to { opacity: 1; transform: none; } }
@keyframes page-turn { from { opacity: 0; transform: translateY(var(--motion-shift)) rotate(-2deg); } to { opacity: 1; transform: none; } }
body.page-site .reveal.play { animation: page-rise var(--motion-enter) var(--motion-ease) both; }
body.page-site .reveal.play[data-motion="slide"] { animation-name: page-slide; }
body.page-site .reveal.play[data-motion="scale"] { animation-name: page-scale; }
body.page-site .reveal.play[data-motion="turn"] { animation-name: page-turn; }
body.page-site .hero-copy.reveal.play { animation-delay: var(--motion-step); }
body.page-site .hero-photo.reveal.play, body.page-site .service-art.reveal.play { animation-delay: calc(var(--motion-step) * 2); }
@media (hover: hover) and (pointer: fine) {body.page-site .page-button:hover, body.page-site .filter-button:hover { opacity: .85; transform: translateY(var(--page-hover-lift)); }
body.page-site .image-card:hover img { transform: scale(1.035); }
body.page-site .page-desktop-nav a:hover, body.page-site .footer-links a:hover { text-decoration: underline; text-underline-offset: .3rem; }

}
@media (min-width: 40rem) {body.page-site .funding-visual { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body.page-site .page-actions > .page-button { display: inline-flex; }
body.page-site .facts-strip { grid-template-columns: repeat(3, 1fr); }
body.page-site .editorial-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body.page-site .editorial-grid .lead { grid-column: 1 / -1; }
body.page-site .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body.page-site .form-row, body.page-site .branch-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body.page-site .story-row { grid-template-columns: .4fr 1fr; }
body.page-site .journey-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }

}
@media (min-width: 64rem) {body.page-site .service-detail.board .hero-grid { padding: var(--space-xl); }
body.page-site .page-actions > .page-button { padding-inline: 1.5rem; font-size: 0.95rem; font-weight: 700; }
body.page-site .page-desktop-nav { display: flex; }
body.page-site .menu-toggle { display: none; }
body.page-site .hero-grid { grid-template-columns: 1.1fr 1fr; gap: var(--space-2xl); }
body.page-site .country-hero.reverse .hero-photo { order: -1; }
body.page-site .country-hero.panorama .hero-grid { grid-template-columns: 1fr; }
body.page-site .country-hero.panorama .hero-copy { display: grid; grid-template-columns: 1.1fr 1fr; column-gap: var(--space-xl); }
body.page-site .country-hero.panorama .kicker { grid-column: 1 / -1; }
body.page-site .country-hero.panorama .action-row { grid-column: 2; }
body.page-site .country-canvas { padding: var(--space-2xl); }
body.page-site .section-head, body.page-site .page-cta .page-wrap, body.page-site .journal-title { grid-template-columns: 1.2fr 1fr; }
body.page-site .split-content { grid-template-columns: 1fr 1.2fr; }
body.page-site .editorial-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.page-site .editorial-grid .lead { grid-column: span 2; grid-row: span 2; }
body.page-site .footer-grid { grid-template-columns: 1.5fr 1fr 1fr 1.2fr; }
body.page-site .service-row { grid-template-columns: .12fr 1.1fr 1fr auto; gap: var(--space-lg); }
body.page-site .service-row p { margin: 0; }
body.page-site .quote-feature { grid-template-columns: .8fr 1.2fr; }
body.page-site .contact-grid { grid-template-columns: 1fr 1.2fr; }
body.page-site .assessment-layout { grid-template-columns: .8fr 1.2fr; }
body.page-site .reading-grid { grid-template-columns: 1fr .4fr; }
body.page-site .reading-aside { position: sticky; top: 7rem; }
body.page-site .journey-list { grid-template-columns: repeat(4, minmax(0, 1fr)); }

}
@media (prefers-reduced-motion: reduce) {html { scroll-behavior: auto; }
body.page-site, body.page-site *, body.page-site *::before, body.page-site *::after { animation: none !important; transition: none !important; }
body.page-site .reveal, body.page-site .reveal.play { opacity: 1; transform: none; }

}
body.page-site h1 em, body.page-site h2 em { font-family: var(--font-main); font-style: normal; font-weight: inherit; }
body.page-site main > section, body.page-site main > .legal-copy, body.page-site main > article > .article-header {
  padding-block: var(--section-space);
}
body.page-site main > section > .journal-title { padding-top: 0; }
body.page-site main > .country-hero > .hero-grid { padding-top: 0; }
@media (max-width: 48rem) {body.page-site {
    text-align: center;
  }
body.page-site .hero-copy, body.page-site .hero-grid, body.page-site .split-content, body.page-site .section-head, body.page-site .action-row, body.page-site .about-statement, body.page-site .kicker, body.page-site .page-lede, body.page-site .number-list, body.page-site .number-item, body.page-site .branch-list, body.page-site .branch-card, body.page-site .quote-feature, body.page-site .facts-strip, body.page-site .editorial-grid, body.page-site .contact-grid, body.page-site .assessment-layout, body.page-site .footer-grid, body.page-site .footer-brand, body.page-site .footer-links, body.page-site .footer-bottom, body.page-site .journal-card, body.page-site .image-card, body.page-site .country-card, body.page-site .service-card {
    text-align: center !important;
    justify-content: center !important;
    align-items: center !important;
  }
body.page-site .kicker {
    justify-content: center !important;
    margin-inline: auto !important;
  }
body.page-site .action-row {
    justify-content: center !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 320px !important;
    margin-inline: auto !important;
    gap: var(--space-sm) !important;
  }
body.page-site .action-row .page-button {
    width: 100% !important;
    justify-content: center !important;
  }
body.page-site .page-lede {
    margin-inline: auto !important;
    text-align: center !important;
  }
body.page-site .hero-photo, body.page-site .hero-photo img, body.page-site .about-collage, body.page-site .about-collage img, body.page-site .image-card, body.page-site .image-card img, body.page-site .photo-label {
    margin-inline: auto !important;
    justify-content: center !important;
  }
body.page-site .about-collage {
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    max-width: 400px;
    margin: 0 auto;
  }
body.page-site .about-collage img:last-child {
    display: none;
  }
body.page-site .number-item {
    flex-direction: column !important;
    text-align: center !important;
    align-items: center !important;
  }
body.page-site .number-item .number {
    margin: 0 auto var(--space-xs) auto !important;
  }
body.page-site .branch-card {
    text-align: center !important;
    align-items: center !important;
  }
body.page-site .branch-card address {
    text-align: center !important;
  }
body.page-site .text-link {
    justify-content: center !important;
    margin-inline: auto !important;
  }
body.page-site .footer-brand, body.page-site .footer-links {
    text-align: center !important;
    align-items: center !important;
    display: flex !important;
    flex-direction: column !important;
  }
body.page-site .footer-links a {
    justify-content: center !important;
  }
body.page-site .breadcrumb {
    justify-content: center !important;
  }
body.page-site .form-group, body.page-site .form-group label, body.page-site .contact-form {
    text-align: center !important;
  }
body.page-site .contact-form .page-button {
    margin-inline: auto !important;
  }

}
:root {
  --up-50: #f7effe;
  --up-100: #eacffc;
  --up-200: #d59efa;
  --up-300: #c06ef7;
  --up-400: #ab3df5;
  --up-500: #960df2;
  --up-600: #780ac2;
  --up-700: #5a0891;
  --up-800: #3c0561;
  --up-card-radius: 1.25rem;
  --up-card-shadow: 0 14px 34px rgba(60, 5, 97, .08);
  --up-card-shadow-hover: 0 20px 44px rgba(60, 5, 97, .14);
  --up-flag-shadow: 0 2px 6px rgba(27, 27, 38, .18);
}
[data-theme="dark"] {
  --up-card-shadow: 0 14px 34px rgba(0, 0, 0, .45);
  --up-card-shadow-hover: 0 20px 44px rgba(0, 0, 0, .6);
}
body.page-site .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
body.page-site h1 em, body.page-site h2 em { color: var(--up-600); }
[data-theme="dark"] body.page-site h1 em, [data-theme="dark"] body.page-site h2 em { color: var(--up-200); }
body.page-site .dark-section h2 em, body.page-site .process-section h2 em { color: var(--up-200) !important; }
body.page-site .kicker { color: var(--up-600); }
[data-theme="dark"] body.page-site .kicker { color: var(--up-200); }
body.page-site .dark-section .kicker, body.page-site .process-section .kicker { color: var(--up-100); }
body.page-site .dark-section { background: linear-gradient(135deg, var(--up-700), var(--up-800)); }
body.page-site .flag { display: inline-block; width: 2.5rem; height: 1.875rem; object-fit: cover; border-radius: .375rem; box-shadow: var(--up-flag-shadow); flex-shrink: 0; background: var(--page-white); }
body.page-site .flag-xs { width: 1.5rem; height: 1.125rem; border-radius: .2rem; }
body.page-site .flag-lg { width: 4.75rem; height: 3.5625rem; border-radius: .6rem; }
body.page-site .flag-big { width: min(20rem, 70%); height: auto; aspect-ratio: 4 / 3; border-radius: 1.25rem; box-shadow: 0 24px 50px rgba(60, 5, 97, .22); }
body.page-site .flag-hero-art { position: relative; display: grid; place-items: center; min-height: clamp(18rem, 34vw, 26rem); padding: 2rem 2rem 6rem; border-radius: 2rem; background: radial-gradient(70% 60% at 50% 40%, var(--up-100), transparent 70%), linear-gradient(160deg, var(--up-50), var(--page-white)); border: 1px solid var(--page-line); overflow: clip; }
body.page-site .flag-hero-art .photo-label { box-shadow: var(--up-card-shadow); }
body.page-site .page-header .page-wrap { width: min(100% - 2rem, 86rem); }
body.page-site .page-desktop-nav { gap: 1.5rem; }
body.page-site .page-desktop-nav a, body.page-site .page-desktop-nav summary { font-size: 1rem; }
body.page-site .page-desktop-nav summary[data-current] { color: var(--up-600); }
body.page-site .page-actions > .page-button { white-space: nowrap; }
@media (min-width: 64rem) and (max-width: 74.99rem) {body.page-site .page-desktop-nav { display: none; }
body.page-site .menu-toggle { display: inline-grid; }

}
body.page-site .nav-panel { display: grid; }
body.page-site .nav-mega { grid-template-columns: repeat(2, minmax(13rem, 1fr)); gap: 0 .5rem; min-width: 29rem; }
body.page-site .nav-col { display: grid; align-content: start; }
body.page-site .page-desktop-nav .nav-panel a { min-height: 2.6rem; gap: .65rem; }
body.page-site .page-desktop-nav .nav-all { color: var(--up-600); font-weight: 700; }
body.page-site .nav-sub { position: relative; }
body.page-site .nav-sub > a { justify-content: space-between; }
body.page-site .nav-sub-arrow { font-size: 1.25rem; line-height: 1; color: var(--up-600); }
body.page-site .nav-flyout { position: absolute; top: -.6rem; left: calc(100% + .35rem); display: none; min-width: 14rem; padding: .6rem; background: var(--page-white); border: 1px solid var(--page-line); border-radius: 12px; box-shadow: var(--shadow-lg); z-index: 110; }
body.page-site .nav-sub:hover > .nav-flyout, body.page-site .nav-sub:focus-within > .nav-flyout { display: grid; }
body.page-site .nav-sub:hover > a { background: var(--color-lavender); color: var(--up-600); }
body.page-site .mobile-dialog details details { margin-top: .4rem; border: 0; padding-inline: .35rem; }
body.page-site .mobile-dialog details a { display: flex; align-items: center; gap: .6rem; }
body.page-site .mobile-dialog nav > .page-button { margin-top: var(--space-md); display: flex; color: var(--page-on-dark); border-bottom: 0; }
body.page-site .center-head { text-align: center; max-width: 52rem; margin: 0 auto var(--space-xl); }
body.page-site .center-head .kicker { justify-content: center; }
body.page-site .center-head .page-lede { margin-inline: auto; }
body.page-site .region-links { display: flex; flex-wrap: wrap; gap: var(--space-lg); justify-content: center; margin-top: var(--space-xl); }
body.page-site .band-title { margin: 0; padding: 1.1rem 1.5rem; text-align: center; color: #fff; background: linear-gradient(90deg, var(--up-700), var(--up-600), var(--up-700)); border-radius: 1.25rem; font-size: clamp(1.5rem, 3vw, 2.4rem) !important; }
body.page-site .region-top { padding-bottom: var(--space-xl) !important; }
body.page-site .region-top h1 { font-size: clamp(2.4rem, 5vw, 3.8rem); }
body.page-site .flag-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-md); }
body.page-site .flag-card { display: grid; overflow: clip; background: var(--page-white); border: 1px solid var(--page-line); border-radius: var(--up-card-radius); box-shadow: var(--up-card-shadow); text-align: left; transition: transform var(--motion-ui) var(--motion-ease), box-shadow var(--motion-ui); }
body.page-site .flag-card:hover { transform: translateY(-3px); box-shadow: var(--up-card-shadow-hover); }
body.page-site .flag-card-top { position: relative; display: flex; align-items: flex-start; min-height: 5.5rem; padding: .9rem 1rem; background: linear-gradient(160deg, #fbf8ff, #f3ecfd); }
body.page-site .flag-card-top::after { content: ''; position: absolute; right: 0; bottom: 0; width: 62%; height: 100%; pointer-events: none; background: radial-gradient(circle at 75% 100%, var(--up-100) 0 34%, transparent 35%); opacity: .6; }
body.page-site .flag-card-top.has-landmark::after { width: auto; aspect-ratio: 146 / 140; background: var(--landmark) right bottom / cover no-repeat; mix-blend-mode: multiply; opacity: 1; -webkit-mask: linear-gradient(90deg, transparent, #000 38%); mask: linear-gradient(90deg, transparent, #000 38%); }
body.page-site .flag-card-top .flag { position: relative; z-index: 1; }
body.page-site .flag-card-foot { display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding: .75rem 1rem; border-top: 1px solid var(--page-line); }
body.page-site .flag-card-name { font-weight: 700; font-size: 1.02rem; color: var(--page-ink); }
body.page-site .flag-card-go { display: inline-grid; place-items: center; flex-shrink: 0; width: 1.9rem; height: 1.9rem; border-radius: 999rem; background: var(--up-50); color: var(--up-600); }
[data-theme="dark"] body.page-site .flag-card-top { background: var(--page-plum-light); }
[data-theme="dark"] body.page-site .flag-card-top.has-landmark::after { mix-blend-mode: screen; filter: invert(1); opacity: .35; }
body.page-site .all-destinations { padding-top: var(--space-md) !important; }
body.page-site .dest-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-sm); }
body.page-site .dest-tile { display: grid; justify-items: center; gap: .65rem; padding: 1.25rem .75rem; text-align: center; background: var(--page-white); border: 1px solid var(--page-line); border-radius: 1rem; box-shadow: var(--up-card-shadow); font-weight: 700; color: var(--page-ink); transition: transform var(--motion-ui) var(--motion-ease), border-color var(--motion-ui); }
body.page-site .dest-tile .flag { width: 3.6rem; height: 2.7rem; }
body.page-site .dest-tile:hover { transform: translateY(-3px); border-color: var(--up-300); }
body.page-site .qs-list { display: grid; grid-template-columns: minmax(0, 1fr); gap: .75rem; }
body.page-site .qs-list li { display: flex; align-items: center; gap: .85rem; padding: .95rem 1.1rem; background: var(--page-white); border: 1px solid var(--page-line); border-radius: .9rem; font-weight: 600; color: var(--page-ink); text-align: left; }
body.page-site .qs-list .ui-icon { flex-shrink: 0; color: var(--up-600); }
body.page-site .qs-source { margin-top: var(--space-md); font-size: .8rem; font-style: italic; color: var(--page-muted); }
body.page-site .qs-groups { display: grid; gap: var(--space-lg); }
body.page-site .qs-group h3 { display: flex; align-items: center; gap: .7rem; margin-bottom: var(--space-sm); }
body.page-site .home-hero { padding-top: var(--space-md) !important; }
body.page-site .home-hero-grid { display: grid; gap: var(--space-xl); align-items: center; }
body.page-site .home-hero h1 { font-size: clamp(2.6rem, 5.4vw, 4.6rem); }
body.page-site .home-hero-media { position: relative; }
body.page-site .hero-slider { position: relative; height: clamp(22rem, 48vw, 36rem); overflow: clip; border-radius: 2rem; box-shadow: 0 30px 60px rgba(60, 5, 97, .18); background: var(--up-50); }
body.page-site .hero-slide { position: absolute; inset: 0; opacity: 0; transition: opacity 900ms var(--motion-ease); }
body.page-site .hero-slide.is-active { opacity: 1; }
body.page-site .hero-slide img { width: 100%; height: 100%; object-fit: cover; }
body.page-site .hero-slide.is-active img { animation: hero-zoom 6s ease-out both; }
@keyframes hero-zoom { from { transform: scale(1.06); } to { transform: scale(1); } }
body.page-site .slider-controls { position: absolute; left: 50%; bottom: 1rem; z-index: 2; display: flex; align-items: center; gap: .4rem; padding: .35rem .45rem; transform: translateX(-50%); border-radius: 999rem; background: rgba(255, 255, 255, .92); box-shadow: 0 10px 24px rgba(60, 5, 97, .18); }
body.page-site .slider-btn { display: inline-grid; place-items: center; width: 2.1rem; height: 2.1rem; border-radius: 999rem; color: var(--up-700); }
body.page-site .slider-btn:hover { background: var(--up-50); }
body.page-site .slider-btn.prev .ui-icon { transform: scaleX(-1); }
body.page-site .pause-icon { width: .6rem; height: .7rem; border-inline: 3px solid currentColor; }
body.page-site [data-paused] .pause-icon { width: 0; height: 0; border: 0; border-left: .6rem solid currentColor; border-block: .38rem solid transparent; }
body.page-site .slider-dots { display: flex; gap: .35rem; padding-inline: .2rem; }
body.page-site .slider-dot { width: .55rem; height: .55rem; border-radius: 999rem; background: var(--up-200); transition: width var(--motion-ui), background var(--motion-ui); }
body.page-site .slider-dot[aria-current="true"] { width: 1.5rem; background: var(--up-600); }
body.page-site .home-hero-media .hero-chip { z-index: 3; }
body.page-site .hero-chip { position: absolute; display: flex; align-items: center; gap: .75rem; padding: .8rem 1.1rem; background: var(--page-white); border-radius: 1rem; box-shadow: 0 16px 36px rgba(60, 5, 97, .18); color: var(--up-600); }
body.page-site .hero-chip strong { display: block; font-size: 1.35rem; line-height: 1.1; color: var(--up-800); }
body.page-site .hero-chip span { font-size: .8rem; color: var(--page-muted); }
[data-theme="dark"] body.page-site .hero-chip strong { color: #fff; }
body.page-site .chip-a { left: -1rem; bottom: 5rem; }
body.page-site .chip-b { right: -1rem; top: 2rem; }
body.page-site .hero-flags { margin-top: var(--space-xl); }
body.page-site .hero-flags > span { display: block; font-size: .75rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--page-muted); margin-bottom: .75rem; }
body.page-site .hero-flags > div { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; }
body.page-site .hero-flags a { display: inline-flex; transition: transform var(--motion-ui) var(--motion-ease); }
body.page-site .hero-flags a:hover { transform: translateY(-3px); }
body.page-site .hero-flags .flag { width: 2.6rem; height: 1.95rem; }
body.page-site .hero-flags .hero-flags-more { padding: .35rem .8rem; border-radius: 999rem; background: var(--up-50); color: var(--up-600); font-size: .85rem; font-weight: 700; }
body.page-site .stat-section { padding-top: 0 !important; }
body.page-site .stat-cards, body.page-site .photo-cards { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-md); }
body.page-site .stat-card, body.page-site .photo-card { position: relative; isolation: isolate; display: grid; align-content: start; padding: 0 1.5rem 1.6rem; overflow: clip; background: var(--page-white); border: 0; border-radius: 1.5rem; box-shadow: 0 16px 40px rgba(60, 5, 97, .10), 0 2px 6px rgba(60, 5, 97, .05); }
body.page-site .stat-card::before, body.page-site .photo-card::before { content: ''; position: absolute; inset: auto -20% -30% 10%; height: 60%; z-index: -1; background: radial-gradient(70% 60% at 85% 85%, rgba(213, 158, 250, .28), transparent 70%), radial-gradient(90% 50% at 30% 100%, rgba(234, 207, 252, .45), transparent 70%); pointer-events: none; }
body.page-site .stat-card > img, body.page-site .photo-card > img { width: calc(100% + 3rem); max-width: none; height: 13rem; margin-inline: -1.5rem; object-fit: cover; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath d='M0 0H100V78C82 70 66 74 50 84 33 94 16 96 0 88Z'/%3E%3C/svg%3E") center / 100% 100% no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath d='M0 0H100V78C82 70 66 74 50 84 33 94 16 96 0 88Z'/%3E%3C/svg%3E") center / 100% 100% no-repeat; }
body.page-site .stat-card-icon, body.page-site .photo-card-icon { display: inline-grid; place-items: center; width: 4rem; height: 4rem; margin-top: -2.6rem; margin-bottom: 1rem; position: relative; border-radius: 1.1rem; background: #fff; color: var(--up-600); box-shadow: 0 10px 24px rgba(60, 5, 97, .14); }
body.page-site .stat-card-icon .ui-icon, body.page-site .photo-card-icon .ui-icon { width: 30px; height: 30px; }
body.page-site .stat-card strong { white-space: nowrap; font-size: clamp(1.9rem, 2.7vw, 2.6rem); line-height: 1.05; letter-spacing: -.03em; color: var(--up-800); }
[data-theme="dark"] body.page-site .stat-card strong { color: #fff; }
body.page-site .stat-card > span:last-child { margin-top: .35rem; font-weight: 600; color: #1f1433; }
body.page-site .photo-card h3 { color: #5a0891; font-size: 1.4rem; line-height: 1.2; letter-spacing: -.02em; }
[data-theme="dark"] body.page-site .photo-card h3 { color: var(--up-200); }
body.page-site .photo-card p { margin-top: .5rem; font-size: 1rem; line-height: 1.45; font-weight: 500; color: #2a2140; }
[data-theme="dark"] body.page-site .photo-card p, [data-theme="dark"] body.page-site .stat-card > span:last-child { color: var(--page-muted); }
body.page-site .stat-card::after, body.page-site .photo-card::after { content: ''; display: block; width: 2.2rem; height: 3px; margin-top: 1rem; border-radius: 3px; background: #a565e8; }
[data-theme="dark"] body.page-site .stat-card-icon, [data-theme="dark"] body.page-site .photo-card-icon { background: var(--page-plum-light); color: var(--up-200); }
body.page-site .svc-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-md); }
body.page-site .svc-card { display: grid; align-content: start; gap: .6rem; padding: 1.75rem; background: var(--page-white); border: 1px solid var(--page-line); border-radius: var(--up-card-radius); box-shadow: var(--up-card-shadow); text-align: left; scroll-margin-top: 7rem; transition: transform var(--motion-ui) var(--motion-ease), box-shadow var(--motion-ui), border-color var(--motion-ui); }
body.page-site .svc-card:hover, body.page-site .svc-card:target { transform: translateY(-3px); box-shadow: var(--up-card-shadow-hover); border-color: var(--up-200); }
body.page-site .svc-icon { display: inline-grid; place-items: center; width: 3.25rem; height: 3.25rem; border-radius: .9rem; background: var(--up-50); color: var(--up-600); margin-bottom: .4rem; }
body.page-site .svc-card h3 { font-size: 1.25rem; }
body.page-site .svc-card p { font-size: .95rem; line-height: 1.7; }
body.page-site .svc-more { display: inline-flex; align-items: center; gap: .4rem; margin-top: .4rem; font-weight: 700; font-size: .9rem; color: var(--up-600); }
[data-theme="dark"] body.page-site .svc-icon { color: var(--up-200); background: var(--page-plum-light); }
[data-theme="dark"] body.page-site .svc-more { color: var(--up-200); }
[data-theme="dark"] body.page-site .page-header .page-logo img, [data-theme="dark"] body.page-site .mobile-dialog .page-logo img { filter: brightness(0) invert(1); }
body.page-site .why-grid { display: grid; gap: var(--space-xl); align-items: center; }
body.page-site .why-list { display: grid; gap: 1rem; margin-top: var(--space-md); }
body.page-site .why-list li { display: flex; gap: .85rem; align-items: start; text-align: left; }
body.page-site .why-list .ui-icon { flex-shrink: 0; color: var(--up-600); margin-top: .15rem; }
body.page-site .why-list p { margin: 0; color: var(--page-muted); }
body.page-site .why-list strong { color: var(--page-ink); }
body.page-site .proof-row { display: flex; flex-wrap: wrap; gap: var(--space-md); margin-top: var(--space-lg); }
body.page-site .proof-row > div { flex: 1 1 10rem; padding: 1rem 1.25rem; background: var(--up-50); border-radius: 1rem; }
[data-theme="dark"] body.page-site .proof-row > div { background: var(--page-plum-light); }
body.page-site .proof-row strong { display: block; font-size: 2rem; color: var(--up-700); line-height: 1.1; }
[data-theme="dark"] body.page-site .proof-row strong { color: var(--up-200); }
body.page-site .proof-row span { font-size: .85rem; color: var(--page-muted); }
body.page-site .why-media img { width: 100%; height: clamp(20rem, 40vw, 32rem); object-fit: cover; border-radius: 2rem 7rem 2rem 2rem; }
body.page-site .process-section { position: relative; overflow: clip; padding-bottom: clamp(8.5rem, 11vw, 11rem) !important; color: #fff; background: radial-gradient(55% 60% at 0 0, rgba(120, 70, 190, .35), transparent 70%), linear-gradient(165deg, #4f2a86 0%, #3d1e6c 50%, #391b67 100%); }
body.page-site .process-section > .page-wrap { position: relative; z-index: 1; }
body.page-site .process-section .center-head { margin-bottom: 2.75rem; }
body.page-site .process-section h2 { color: #fff; font-size: clamp(2.6rem, 5.5vw, 4.4rem) !important; }
body.page-site .process-section h2 em { color: #dcc4fb !important; }
body.page-site .process-section p { color: #f3eafe; }
body.page-site .process-kicker { display: flex; align-items: center; justify-content: center; gap: 1rem; margin-bottom: 1rem; font-size: .8rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: #e3d0fb; }
body.page-site .process-kicker::before, body.page-site .process-kicker::after { content: ''; width: 2.6rem; height: 2px; border-radius: 2px; background: currentColor; opacity: .8; }
body.page-site .process-plane { position: absolute; top: 2.5rem; right: clamp(1rem, 4vw, 4rem); width: clamp(7rem, 14vw, 12rem); color: #c7a2f6; z-index: 0; }
body.page-site .process-globe { position: absolute; left: 0; bottom: 0; z-index: 0; width: 100%; height: clamp(7.5rem, 10vw, 10rem); object-fit: cover; object-position: center bottom; filter: brightness(.8) saturate(1.05); -webkit-mask: linear-gradient(180deg, transparent, #000 30%); mask: linear-gradient(180deg, transparent, #000 30%); }
body.page-site .process-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.25rem; }
body.page-site .step-card { position: relative; display: grid; justify-items: center; align-content: center; gap: .7rem; min-height: 11rem; padding: 1.4rem 1rem; text-align: center; background: linear-gradient(180deg, #fcfaff, #f1e8fd); border-radius: 1rem; box-shadow: 0 18px 40px rgba(25, 0, 60, .32); }
body.page-site .step-no { position: absolute; top: .85rem; left: .85rem; display: inline-grid; place-items: center; width: 2.3rem; height: 2.3rem; border-radius: 999rem; background: #ece0fb; font-size: .9rem; font-weight: 700; color: #3c0561; }
body.page-site .step-icon { display: inline-grid; place-items: center; width: 5.25rem; height: 5.25rem; border-radius: 999rem; background: #ece0fb; color: #4f2391; }
body.page-site .step-icon .ui-icon { stroke-width: 1.5; }
body.page-site .step-card h3 { font-size: 1.12rem; font-weight: 800; line-height: 1.25; letter-spacing: -.01em; color: #1b1035; }
body.page-site .process-track { position: relative; }
body.page-site .bend, body.page-site .bend-dot { display: none; }
@media (min-width: 64rem) {body.page-site .process-flow { padding-inline: 2.75rem; }
body.page-site .process-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: 4rem; row-gap: 4rem; }
body.page-site .step-card { height: 11.5rem; min-height: 0; }
body.page-site .step-card:not(:nth-child(4n))::after { content: ''; position: absolute; top: 50%; right: -4rem; width: 4rem; height: 2px; background: #b892ec; z-index: -1; }
body.page-site .step-card:not(:nth-child(4n))::before, body.page-site .bend-dot { content: ''; position: absolute; z-index: 2; width: 2.3rem; height: 2.3rem; border-radius: 999rem; border: 2px solid rgba(255, 255, 255, .55); background: #e7d8fb url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234f2391' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 6 6 6-6 6'/%3E%3C/svg%3E") center / 1.05rem no-repeat; box-shadow: 0 4px 12px rgba(25, 0, 60, .25); }
body.page-site .step-card:not(:nth-child(4n))::before { top: 50%; right: -3.15rem; transform: translateY(-50%); }
body.page-site .bend { display: block; position: absolute; box-sizing: border-box; width: 2.75rem; height: calc(7.75rem + 2px); border: 2px solid #b892ec; z-index: 0; }
body.page-site .bend-r { left: 100%; top: 5.75rem; border-left: 0; border-radius: 0 1.4rem 1.4rem 0; }
body.page-site .bend-l { right: 100%; top: 13.5rem; border-right: 0; border-radius: 1.4rem 0 0 1.4rem; }
body.page-site .process-track::before { content: ''; position: absolute; left: 0; right: 0; top: 13.5rem; border-top: 2px solid #b892ec; }
body.page-site .bend-dot { display: block; }
body.page-site .bend-dot.down { left: calc(100% + 2.75rem); top: 11.6rem; transform: translate(-50%, -50%) rotate(90deg); }
body.page-site .bend-dot.in { right: calc(100% + 2.75rem); top: 20rem; transform: translate(50%, -50%); }

}
@media (max-width: 63.99rem) {body.page-site .process-plane { display: none; }

}
body.page-site .contact-method { display: flex; align-items: center; gap: 1rem; text-align: left; }
body.page-site .contact-method > .ui-icon { flex-shrink: 0; width: 2.75rem; height: 2.75rem; padding: .6rem; border-radius: 999rem; background: var(--up-600); color: #fff; }
body.page-site .contact-method > span { display: block; font-size: inherit; color: inherit; }
body.page-site .contact-method > span > span { display: block; font-size: .75rem; color: var(--page-muted); }
body.page-site .field select { background: var(--page-paper); border: 1px solid var(--page-control-border); border-radius: .65rem; width: 100%; padding: .9rem 1rem; min-height: var(--page-control); font-size: 1rem; color: var(--page-ink); }
body.page-site .branch-card > .ui-icon { color: var(--up-600); margin-bottom: .5rem; }
body.page-site .site-footer-2027 { position: relative; overflow: clip; padding: 3.5rem 0 0 !important; background: linear-gradient(180deg, #fdfcfe 0%, #f5f2fd 50%, #ebe5fc 100%); border-top: 1px solid var(--page-line); }
[data-theme="dark"] body.page-site .site-footer-2027 { background: var(--page-paper); }
body.page-site .site-footer-2027 > .page-wrap { position: relative; z-index: 1; }
body.page-site .footer-map { position: absolute; top: 0; right: 0; width: min(24rem, 32%); height: auto; opacity: .9; pointer-events: none; -webkit-mask: linear-gradient(90deg, transparent, #000 30%), linear-gradient(180deg, #000 55%, transparent); -webkit-mask-composite: source-in; mask: linear-gradient(90deg, transparent, #000 30%) intersect, linear-gradient(180deg, #000 55%, transparent); }
body.page-site .footer-skyline { position: absolute; right: 0; bottom: 3.4rem; z-index: 0; width: min(48%, 50rem); height: auto; pointer-events: none; -webkit-mask: linear-gradient(90deg, transparent 0, #000 22%), linear-gradient(180deg, transparent 0, #000 25%); -webkit-mask-composite: source-in; mask: linear-gradient(90deg, transparent 0, #000 22%) intersect, linear-gradient(180deg, transparent 0, #000 25%); }
[data-theme="dark"] body.page-site .site-footer-2027 { background: linear-gradient(180deg, #120a1f 0%, #170c29 60%, #1e0f36 100%); border-top-color: var(--page-line); }
[data-theme="dark"] body.page-site .footer-map { display: none; }
[data-theme="dark"] body.page-site .footer-skyline { filter: brightness(.62) saturate(.85) hue-rotate(-8deg); -webkit-mask: linear-gradient(90deg, transparent 0, #000 28%), linear-gradient(180deg, transparent 0, transparent 22%, #000 62%); -webkit-mask-composite: source-in; mask: linear-gradient(90deg, transparent 0, #000 28%) intersect, linear-gradient(180deg, transparent 0, transparent 22%, #000 62%); }
[data-theme="dark"] body.page-site .site-footer-2027 .page-logo img { filter: brightness(0) invert(1); }
[data-theme="dark"] body.page-site .footer-tag { color: var(--up-200) !important; }
[data-theme="dark"] body.page-site .footer-news p, [data-theme="dark"] body.page-site .footer-more-menu { color: var(--page-muted); }
[data-theme="dark"] body.page-site .footer-quick .ui-icon, [data-theme="dark"] body.page-site .footer-more-menu a, [data-theme="dark"] body.page-site .footer-more { color: var(--up-200); }
[data-theme="dark"] body.page-site .site-footer-2027 .footer-links > strong::after { background: var(--up-300); }
[data-theme="dark"] body.page-site .footer-follow > span { border-left-color: var(--page-line); }
[data-theme="dark"] body.page-site .news-form { background: var(--page-white); border-color: var(--page-line); box-shadow: none; }
[data-theme="dark"] body.page-site .footer-bar { background: #2a0f4d; }
body.page-site .site-footer-2027 .footer-grid { padding-bottom: 3rem; }
body.page-site .footer-tag { margin: .4rem 0 var(--space-md) !important; font-size: .68rem !important; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: #3c0561 !important; }
body.page-site .footer-contact { display: flex; align-items: center; gap: .8rem; padding-block: .45rem; text-align: left; }
body.page-site .footer-contact small { display: block; font-size: .8rem; color: var(--page-muted); line-height: 1.45; }
body.page-site .footer-contact strong { display: block; font-size: 1rem; color: #2a0b4a; }
[data-theme="dark"] body.page-site .footer-contact strong { color: #fff; }
body.page-site .footer-ic { display: inline-grid; place-items: center; flex-shrink: 0; width: 2.3rem; height: 2.3rem; border-radius: 999rem; background: #4a1f80; color: #fff; }
body.page-site .footer-contact[href*="wa.me"] .footer-ic { background: #25d366; }
body.page-site .footer-follow { display: flex; align-items: center; gap: 1rem; margin-top: var(--space-md); }
body.page-site .footer-follow > span { padding-left: 1rem; border-left: 1px solid #cfc2e6; }
body.page-site .footer-follow small { display: block; font-size: .75rem; color: var(--page-muted); }
body.page-site .footer-follow .footer-social-icons { display: flex; gap: .5rem; }
body.page-site .footer-follow .footer-social-icons a { display: inline-grid; place-items: center; width: 2.5rem; height: 2.5rem; border-radius: 999rem; background: #4a1f80; color: #fff; }
body.page-site .site-footer-2027 .footer-links > strong { font-family: Georgia, 'Times New Roman', serif; font-size: 1.55rem; font-weight: 700; letter-spacing: -.01em; color: #2a0b4a; }
[data-theme="dark"] body.page-site .site-footer-2027 .footer-links > strong { color: #fff; }
body.page-site .site-footer-2027 .footer-links > strong::after { content: ''; display: block; width: 2.4rem; height: 3px; margin-top: .6rem; border-radius: 3px; background: #6a2fb0; }
body.page-site .footer-dest-cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1.25rem; }
body.page-site .footer-dest-cols > div { display: grid; align-content: start; }
body.page-site .footer-dest-cols a, body.page-site .site-footer-2027 .footer-quick > a { display: flex; align-items: center; gap: .65rem; padding-block: .38rem; font-size: .92rem; color: #2a0b4a; }
[data-theme="dark"] body.page-site .footer-dest-cols a, [data-theme="dark"] body.page-site .site-footer-2027 .footer-quick > a { color: var(--page-ink); }
body.page-site .footer-quick .ui-icon { color: #4a1f80; stroke-width: 2.4; }
body.page-site .footer-more { color: var(--up-600); font-weight: 700; }
body.page-site .footer-news p { font-size: .92rem; color: #3b2d55; }
body.page-site .news-form { display: flex; margin-top: var(--space-sm); background: var(--page-white); border: 1px solid var(--page-line); border-radius: .6rem; overflow: clip; box-shadow: var(--up-card-shadow); }
body.page-site .news-form input { flex: 1; min-width: 0; padding: .95rem 1rem; border: 0; background: transparent; font-size: .95rem; color: var(--page-ink); }
body.page-site .news-form button { display: inline-grid; place-items: center; width: 3.6rem; background: #4a1f80; color: #fff; }
body.page-site .footer-more-menu { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem .9rem; margin-top: var(--space-sm); font-size: .8rem; color: var(--page-muted); }
body.page-site .footer-more-menu a { color: #4a1f80; font-weight: 600; text-decoration: underline; text-underline-offset: .2rem; }
body.page-site .footer-bar { position: relative; z-index: 1; background: #481f7b; color: #fff; font-size: .85rem; }
body.page-site .footer-bar .page-wrap { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .75rem 1.5rem; padding-block: 1.05rem; }
body.page-site .footer-bar .page-wrap > span + span { padding-left: 1.5rem; border-left: 1px solid rgba(255, 255, 255, .35); margin-right: auto; }
body.page-site .footer-bar > .page-wrap > div { display: flex; }
body.page-site .footer-bar > .page-wrap > div a { padding-inline: .9rem; border-left: 1px solid rgba(255, 255, 255, .35); }
body.page-site .footer-bar > .page-wrap > div a:first-child { border-left: 0; }
body.page-site .footer-bar a { color: #fff; }
body.page-site .footer-bar a:hover { text-decoration: underline; }
body.page-site .sitemap-grid { display: grid; gap: var(--space-xl); }
body.page-site .sitemap-col h2 { font-size: 1.3rem !important; margin-bottom: var(--space-sm); }
body.page-site .sitemap-col ul { display: grid; gap: .35rem; }
body.page-site .sitemap-col a { text-decoration: underline; text-underline-offset: .2rem; }
@media (min-width: 40rem) {body.page-site .sitemap-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 }
@media (min-width: 64rem) {body.page-site .sitemap-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.page-site .site-footer-2027 .footer-grid > * + * { align-self: start; padding-left: 2rem; border-left: 1px solid #ddd3ee; }
[data-theme="dark"] body.page-site .site-footer-2027 .footer-grid > * + * { border-left-color: var(--page-line); }
body.page-site .site-footer-2027 .footer-grid { padding-bottom: 4rem; min-height: 33rem; }

}
@media (max-width: 63.99rem) {body.page-site .site-footer-2027 { display: flex; flex-direction: column; }
body.page-site .site-footer-2027 > .page-wrap { order: 1; }
body.page-site .footer-skyline { order: 2; position: relative; display: block; bottom: auto; width: 100%; margin-top: -1rem; }
body.page-site .footer-bar { order: 3; }
body.page-site .footer-map { display: none; }
body.page-site .footer-bar .page-wrap > span + span { padding-left: 0; border-left: 0; margin-right: 0; }

}
@media (min-width: 40rem) {body.page-site .flag-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.page-site .dest-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.page-site .stat-cards, body.page-site .photo-cards, body.page-site .svc-grid, body.page-site .process-grid, body.page-site .qs-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body.page-site .branch-list.three { grid-template-columns: repeat(2, minmax(0, 1fr)); }

}
@media (min-width: 64rem) {body.page-site .flag-cards { grid-template-columns: repeat(5, minmax(0, 1fr)); }
body.page-site .dest-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
body.page-site .stat-cards, body.page-site .photo-cards, body.page-site .process-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
body.page-site .svc-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.page-site .qs-groups { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.page-site .qs-groups .qs-list { grid-template-columns: 1fr; }
body.page-site .home-hero-grid { grid-template-columns: 1.05fr .95fr; gap: var(--space-2xl); }
body.page-site .why-grid { grid-template-columns: 1.1fr .9fr; gap: var(--space-2xl); }
body.page-site .branch-list.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.page-site .site-footer-2027 .footer-grid { grid-template-columns: 1.2fr 1.35fr .95fr 1.2fr; gap: 0; }

}
@media (max-width: 39.99rem) {body.page-site .stat-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
body.page-site .stat-card { padding: 0 .9rem 1.1rem; border-radius: 1.1rem; }
body.page-site .stat-card > img { width: calc(100% + 1.8rem); height: 7rem; margin-inline: -.9rem; }
body.page-site .stat-card-icon { width: 2.8rem; height: 2.8rem; margin-top: -1.6rem; border-radius: .8rem; }
body.page-site .stat-card-icon .ui-icon { width: 22px; height: 22px; }
body.page-site .stat-card strong { font-size: 1.45rem; white-space: normal; }
body.page-site .stat-card > span:last-child { font-size: .85rem; }

}
@media (max-width: 48rem) {body.page-site .chip-a { left: .5rem; bottom: 1rem; }
body.page-site .chip-b { right: .5rem; top: 1rem; }
body.page-site .hero-flags > div, body.page-site .region-links { justify-content: center; }
body.page-site .why-list li, body.page-site .qs-list li, body.page-site .svc-card, body.page-site .contact-method, body.page-site .footer-contact { text-align: left !important; }
body.page-site .svc-card, body.page-site .stat-card, body.page-site .photo-card { justify-items: start; text-align: left; }
body.page-site .footer-follow { justify-content: center; }
body.page-site .footer-dest-cols { text-align: left; }
body.page-site .footer-bar .page-wrap { justify-content: center; text-align: center; }

}
body.page-site .mv-grid { display: grid; gap: var(--space-md); align-content: start; }
body.page-site .mv-card { padding: 1.75rem; background: var(--page-white); border: 1px solid var(--page-line); border-radius: var(--up-card-radius); box-shadow: var(--up-card-shadow); }
body.page-site .mv-card h3 { margin-top: .6rem; color: #5a0891; font-size: 1.35rem; }
[data-theme="dark"] body.page-site .mv-card h3 { color: var(--up-200); }
body.page-site .mv-card p { margin-top: .5rem; font-size: 1.02rem; line-height: 1.7; }
body.page-site .team-grid { display: grid; gap: var(--space-lg); align-items: start; }
body.page-site .team-card { overflow: clip; text-align: left; background: var(--page-white); border-radius: 1.5rem; box-shadow: var(--up-card-shadow); }
body.page-site .team-card > img { width: 100%; aspect-ratio: 4 / 4.4; object-fit: cover; object-position: top center; }
body.page-site .team-body { padding: 1.5rem 1.6rem 1.75rem; }
body.page-site .team-role { display: block; font-size: .72rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--up-600); }
[data-theme="dark"] body.page-site .team-role { color: var(--up-200); }
body.page-site .team-card h3 { margin: .45rem 0 .6rem; font-size: 1.35rem; }
body.page-site .team-body > p { font-size: .95rem; line-height: 1.7; }
body.page-site .team-profile { margin-top: 1rem; border-top: 1px solid var(--page-line); }
body.page-site .team-profile summary { display: inline-flex; align-items: center; gap: .4rem; min-height: 2.75rem; cursor: pointer; list-style: none; font-weight: 700; font-size: .9rem; color: var(--up-600); }
body.page-site .team-profile summary::-webkit-details-marker { display: none; }
body.page-site .team-profile summary::after { content: '+'; font-size: 1.2rem; }
body.page-site .team-profile[open] summary::after { content: '−'; }
[data-theme="dark"] body.page-site .team-profile summary { color: var(--up-200); }
body.page-site .team-profile p { margin-top: .75rem; font-size: .92rem; line-height: 1.75; }
@media (min-width: 40rem) {body.page-site .team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 }
@media (min-width: 64rem) {body.page-site .team-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
 }
@media (max-width: 48rem) {body.page-site .mv-card, body.page-site .team-card { text-align: left !important; }
 }
body.page-site .flag-cards { display: flex; flex-wrap: wrap; justify-content: center; }
body.page-site .flag-cards > .flag-card { flex: 0 1 calc((100% - var(--space-md)) / 2); }
@media (min-width: 40rem) {body.page-site .flag-cards > .flag-card { flex-basis: calc((100% - 2 * var(--space-md)) / 3); }
 }
@media (min-width: 64rem) {body.page-site .flag-cards > .flag-card { flex-basis: calc((100% - 4 * var(--space-md)) / 5); }
 }
body.page-site .med-hero h1 { font-size: clamp(2.3rem, 4.6vw, 3.8rem); }
body.page-site .med-hero .hero-flags { margin-top: var(--space-lg); }
body.page-site .med-hero .hero-flags > div { justify-content: center; }
body.page-site .med-highlights { display: grid; gap: .7rem; margin-top: var(--space-md); }
body.page-site .med-highlights li { display: flex; align-items: center; gap: .65rem; font-weight: 600; color: var(--page-ink); text-align: left; }
body.page-site .med-highlights .ui-icon { flex-shrink: 0; color: var(--up-600); }
body.page-site .med-grid { display: grid; gap: var(--space-lg); }
body.page-site .med-card { padding: 1.75rem; text-align: left; background: var(--page-white); border: 1px solid var(--page-line); border-radius: var(--up-card-radius); box-shadow: var(--up-card-shadow); scroll-margin-top: 7rem; }
body.page-site .med-card-head { display: flex; align-items: center; gap: 1rem; margin-bottom: 1rem; }
body.page-site .med-card h3 { font-size: 1.5rem; }
body.page-site .med-card-head span { display: block; margin-top: .2rem; font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--up-600); }
[data-theme="dark"] body.page-site .med-card-head span, [data-theme="dark"] body.page-site .med-highlights .ui-icon { color: var(--up-200); }
body.page-site .med-card h4 { margin: 1.25rem 0 .75rem; font-size: .95rem; }
body.page-site .med-card .qs-list { grid-template-columns: 1fr; }
body.page-site .med-note { margin-top: .9rem; font-size: .88rem; font-style: italic; }
body.page-site .mv-grid.two { max-width: 64rem; margin-inline: auto; }
body.page-site .fee-card { padding: 1.5rem; background: var(--page-white); border: 1px solid var(--page-line); border-radius: var(--up-card-radius); box-shadow: var(--up-card-shadow); }
body.page-site .fee-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
body.page-site .fee-col h3 { padding: .7rem; margin-bottom: .5rem; border-radius: .7rem; text-align: center; font-size: 1.05rem; letter-spacing: .08em; text-transform: uppercase; color: #fff; background: linear-gradient(135deg, var(--up-700), var(--up-600)); }
body.page-site .fee-row { display: grid; gap: .1rem; padding: .8rem .4rem; border-bottom: 1px solid var(--page-line); text-align: left; }
body.page-site .fee-row span { font-size: .85rem; color: var(--page-muted); }
body.page-site .fee-row strong { font-size: 1.5rem; letter-spacing: -.02em; color: var(--up-800); }
[data-theme="dark"] body.page-site .fee-row strong { color: #fff; }
body.page-site .fee-note { margin-top: 1rem; font-size: .85rem; text-align: center; }
body.page-site .qs-source a { text-decoration: underline; text-underline-offset: .2rem; }
@media (min-width: 40rem) {body.page-site .mv-grid.two { grid-template-columns: 1fr 1fr; }
 }
@media (min-width: 64rem) {body.page-site .med-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body.page-site .med-grid > :last-child:nth-child(odd) { grid-column: 1 / -1; }
 }
body.page-site .med-grid > *, body.page-site .fee-cols > *, body.page-site .med-card-head > div { min-width: 0; }
body.page-site .med-card { overflow-wrap: anywhere; }
body.page-site .fee-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 24rem) {body.page-site .med-card { padding: 1.25rem; }
body.page-site .fee-cols { grid-template-columns: 1fr; }

}
body.page-site .med-banner { display: grid; gap: var(--space-lg); align-items: center; padding: clamp(1.5rem, 4vw, 3rem); border-radius: 1.75rem; background: linear-gradient(135deg, var(--up-50), #fff 60%); border: 1px solid var(--page-line); box-shadow: var(--up-card-shadow); }
[data-theme="dark"] body.page-site .med-banner { background: var(--page-plum-light); }
body.page-site .med-banner-flags { display: flex; flex-wrap: wrap; justify-content: center; gap: .8rem; }
body.page-site .med-banner-flags .flag { width: 4.2rem; height: 3.15rem; border-radius: .6rem; }
@media (min-width: 64rem) {body.page-site .med-banner { grid-template-columns: 1.4fr 1fr; }
 }
@media (min-width: 64rem) {body.page-site .page-desktop-nav { gap: 1.15rem; }
body.page-site .page-desktop-nav a, body.page-site .page-desktop-nav summary { font-size: .95rem; }
body.page-site .page-actions > .page-button { padding-inline: 1.1rem; font-size: .9rem; }

}
body.page-site .joinchat .joinchat-button { background: #25d366; border-color: #1ebe5a; color: #fff; text-decoration: none; }
body.page-site .joinchat .joinchat-button:hover { background: #1ebe5a; }
body.page-site .footer-contact.footer-wa { width: fit-content; margin: .2rem 0 .3rem; padding: .55rem .9rem .55rem .55rem; border-radius: 999rem; background: #e7f9ee; border: 1px solid #b9ecca; }
body.page-site .footer-contact.footer-wa strong, body.page-site .footer-contact.footer-wa small { color: #0d6b33; }
[data-theme="dark"] body.page-site .footer-contact.footer-wa { background: rgba(37, 211, 102, .14); border-color: rgba(37, 211, 102, .4); }
[data-theme="dark"] body.page-site .footer-contact.footer-wa strong, [data-theme="dark"] body.page-site .footer-contact.footer-wa small { color: #7ee2a8; }
body.page-site .contact-method[href*="wa.me"] > .ui-icon { background: #25d366; }
body.page-site .contact-method[href*="wa.me"] strong { color: #0d6b33; }
[data-theme="dark"] body.page-site .contact-method[href*="wa.me"] strong { color: #7ee2a8; }
body.page-site .hero-tagline { margin-top: .9rem; font-size: clamp(1.1rem, 1.8vw, 1.35rem); font-weight: 700; color: var(--up-700); }
[data-theme="dark"] body.page-site .hero-tagline { color: var(--up-200); }
body.page-site .inst-grid { display: grid; gap: var(--space-md); }
body.page-site .inst-card { padding: 1.75rem; text-align: left; background: var(--page-white); border: 1px solid var(--page-line); border-radius: var(--up-card-radius); box-shadow: var(--up-card-shadow); }
body.page-site .inst-card h3 { margin: .7rem 0 .4rem; font-size: 1.35rem; }
body.page-site .inst-card p { font-weight: 600; color: var(--up-700); }
[data-theme="dark"] body.page-site .inst-card p { color: var(--up-200); }
@media (min-width: 40rem) {body.page-site .inst-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 }
@media (min-width: 75rem) and (max-width: 84.99rem) {body.page-site .page-desktop-nav { gap: .7rem; }
body.page-site .page-desktop-nav a, body.page-site .page-desktop-nav summary { font-size: .84rem; }
body.page-site .page-actions { gap: .5rem; }
body.page-site .page-actions > .page-button { padding-inline: .9rem; font-size: .8rem; }

}
body.page-site { margin: 0; }
body.page-site a { font: inherit; letter-spacing: inherit; text-transform: inherit; }
body.page-site .elementor-widget-container > section, body.page-site .elementor-widget-container > div > section { margin: 0; }
body.page-site .e-con.up-flush, body.page-site .e-con.up-flush > .e-con-inner { padding: 0 !important; gap: 0 !important; max-width: none !important; }
body.page-site .elementor-widget:not(:last-child) { margin-block-end: 0; }
body.page-site main > section, body.page-site .up-section { padding-block: var(--section-space); }
body.page-site .up-section.tight-top { padding-top: 0; }
body.page-site.elementor-editor-active .reveal { opacity: 1 !important; transform: none !important; }
body.page-site .up-editor-note { padding: 1rem; border: 1px dashed var(--page-line); border-radius: .75rem; font-size: .85rem; color: var(--page-muted); }
body.page-site .news-consent { display: flex; gap: .5rem; align-items: flex-start; margin-top: .6rem; font-size: .8rem; color: var(--page-muted); text-align: left; }
body.page-site .news-consent input { margin-top: .2rem; accent-color: var(--up-600); }
body.page-site .up-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
body.page-site .form-status.is-error { color: var(--page-error); }
body.page-site .form-status.is-success { color: #0d6b33; font-weight: 600; }

