

@font-face {
  font-family: 'Readex Pro';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url(/landing/assets/fonts/readex-pro-300-700-arabic.woff2) format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}

@font-face {
  font-family: 'Readex Pro';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url(/landing/assets/fonts/readex-pro-300-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Tajawal';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/landing/assets/fonts/tajawal-400-arabic.woff2) format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}

@font-face {
  font-family: 'Tajawal';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/landing/assets/fonts/tajawal-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Tajawal';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/landing/assets/fonts/tajawal-500-arabic.woff2) format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}

@font-face {
  font-family: 'Tajawal';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/landing/assets/fonts/tajawal-500-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Tajawal';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/landing/assets/fonts/tajawal-700-arabic.woff2) format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}

@font-face {
  font-family: 'Tajawal';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/landing/assets/fonts/tajawal-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  color-scheme: light;

  
  
  --palette-teal-950: #01211F;
  --palette-teal-900: #013D39;
  --palette-teal-800: #024240;
  --palette-teal-700: #03615C;
  --palette-teal-600: #12907D;
  --palette-teal-500: #1E9F83;
  --palette-teal-400: #2FB08B;
  --palette-teal-300: #5FCF9C;
  --palette-teal-100: #DCF5EC;

  --palette-green-600: #2FB08B;
  --palette-green-500: #42BB86;
  --palette-green-400: #6FDC83;
  --palette-green-300: #87F082;
  --palette-green-200: #A9F192;
  --palette-green-100: #E9FBE6;

  --palette-ivory-50: #FBFCF9;
  --palette-ivory-100: #F1F5F1;
  --palette-white: #FFFFFF;

  --palette-ink-900: #06201D;
  --palette-ink-600: #42605A;
  --palette-ink-400: #6F8C86;

  --palette-coral-500: #D2504B;
  --palette-whatsapp-500: #1DA851;

  
  --color-page-background: var(--palette-ivory-100);
  --color-surface: var(--palette-white);
  --color-surface-muted: var(--palette-ivory-50);

  --color-glass-fill: rgb(255 255 255 / 0.58);
  --color-glass-border: rgb(255 255 255 / 0.85);
  --color-glass-highlight: rgb(255 255 255 / 0.95);

  --color-border-subtle: rgb(11 61 58 / 0.09);
  --color-border-strong: rgb(11 61 58 / 0.2);

  --color-text-primary: var(--palette-ink-900);
  --color-text-secondary: var(--palette-ink-600);
  --color-text-muted: var(--palette-ink-400);
  --color-text-on-brand: var(--palette-ivory-50);
  --color-text-on-brand-muted: rgb(251 250 246 / 0.72);
  --color-text-on-accent: var(--palette-teal-950);

  --color-brand: var(--palette-teal-800);
  --color-brand-soft: var(--palette-teal-100);
  --color-accent: var(--palette-green-600);
  --color-accent-strong: var(--palette-teal-600);
  --color-accent-soft: var(--palette-green-100);
  --color-accent-on-dark: var(--palette-green-300);

  --color-success: var(--palette-teal-500);
  --color-danger: var(--palette-coral-500);
  --color-whatsapp: var(--palette-whatsapp-500);
  --color-focus-ring: rgb(47 176 139 / 0.4);

  
  --gradient-brand: linear-gradient(135deg, var(--palette-teal-600) 0%, var(--palette-teal-900) 100%);
  --gradient-brand-deep: radial-gradient(120% 140% at 100% 0%, var(--palette-teal-700) 0%, var(--palette-teal-900) 45%, var(--palette-teal-950) 100%);
  --gradient-accent: linear-gradient(135deg, var(--palette-green-300) 0%, var(--palette-green-500) 100%);
  --gradient-accent-text: linear-gradient(115deg, var(--palette-teal-700) 5%, var(--palette-green-500) 95%);
  --gradient-accent-text-on-dark: linear-gradient(115deg, var(--palette-green-300) 5%, var(--palette-teal-300) 95%);
  --gradient-accent-line: linear-gradient(90deg, transparent, var(--palette-green-500), transparent);

  --aurora-color-primary: rgb(26 140 130 / 0.26);
  --aurora-color-secondary: rgb(111 220 131 / 0.26);
  --aurora-color-tertiary: rgb(95 207 156 / 0.22);

  
  --shadow-soft: 0 1px 2px rgb(7 43 40 / 0.04), 0 10px 30px -14px rgb(7 43 40 / 0.14);
  --shadow-elevated: 0 2px 6px rgb(7 43 40 / 0.05), 0 30px 70px -30px rgb(7 43 40 / 0.32);
  --shadow-glow-brand: 0 14px 34px -14px rgb(11 61 58 / 0.7);
  --shadow-glow-accent: 0 14px 34px -14px rgb(47 176 139 / 0.7);
  --shadow-glow-whatsapp: 0 14px 34px -14px rgb(29 168 81 / 0.7);

  --glass-blur: 18px;

  
  --font-family-display: "Readex Pro", "Tajawal", system-ui, sans-serif;
  --font-family-body: "Tajawal", system-ui, sans-serif;

  --font-size-xs: 0.8125rem;
  --font-size-sm: 0.9375rem;
  --font-size-base: 1.0625rem;
  --font-size-lg: clamp(1.125rem, 1.05rem + 0.3vw, 1.25rem);
  --font-size-xl: clamp(1.35rem, 1.15rem + 0.8vw, 1.75rem);
  --font-size-2xl: clamp(1.85rem, 1.35rem + 1.9vw, 2.85rem);
  --font-size-3xl: clamp(2.3rem, 1.4rem + 3.4vw, 4.1rem);
  --font-size-display-number: clamp(2rem, 1.4rem + 2.5vw, 3.25rem);

  --font-weight-light: 300;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;

  --line-height-tight: 1.3;
  --line-height-snug: 1.55;
  --line-height-body: 1.85;
  --letter-spacing-wide: 0.06em;

  
  --space-3xs: 0.25rem;
  --space-2xs: 0.375rem;
  --space-xs: 0.5rem;
  --space-sm: 0.75rem;
  --space-md: 1rem;
  --space-lg: 1.5rem;
  --space-xl: 2rem;
  --space-2xl: 3rem;
  --space-3xl: 4.5rem;

  --section-padding-block: clamp(4.5rem, 3rem + 6vw, 8rem);
  --container-max-width: 1200px;
  --container-padding-inline: clamp(1rem, 0.4rem + 2.6vw, 2rem);
  --header-height: 5rem;

  
  --radius-sm: 0.5rem;
  --radius-md: 0.875rem;
  --radius-lg: 1.25rem;
  --radius-xl: 1.75rem;
  --radius-2xl: 2.5rem;
  --radius-pill: 999px;

  
  --duration-fast: 160ms;
  --duration-base: 280ms;
  --duration-slow: 600ms;
  --duration-reveal: 620ms;
  --reveal-distance: 18px;
  --easing-standard: cubic-bezier(0.2, 0.7, 0.2, 1);
  --easing-emphasized: cubic-bezier(0.16, 1, 0.3, 1);

  
  --z-index-header: 50;
  --z-index-floating: 60;
  --z-index-skip-link: 100;
}

:root[data-theme="dark"] {
  color-scheme: dark;

  --color-page-background: #04120F;
  --color-surface: #082523;
  --color-surface-muted: #051A18;

  --color-glass-fill: rgb(10 40 37 / 0.55);
  --color-glass-border: rgb(125 211 198 / 0.12);
  --color-glass-highlight: rgb(135 240 130 / 0.22);

  --color-border-subtle: rgb(125 211 198 / 0.1);
  --color-border-strong: rgb(125 211 198 / 0.22);

  --color-text-primary: #EDF5F3;
  --color-text-secondary: #A5BAB6;
  --color-text-muted: #6D8682;

  --color-brand: var(--palette-teal-300);
  --color-brand-soft: rgb(125 211 198 / 0.1);
  --color-accent: var(--palette-green-300);
  --color-accent-strong: var(--palette-green-400);
  --color-accent-soft: rgb(111 220 131 / 0.14);

  --color-focus-ring: rgb(135 240 130 / 0.38);

  --gradient-brand: linear-gradient(135deg, var(--palette-teal-500) 0%, var(--palette-teal-700) 100%);
  --gradient-brand-deep: radial-gradient(120% 140% at 100% 0%, #0F4A45 0%, #082C29 45%, #03100F 100%);
  --gradient-accent-text: linear-gradient(115deg, var(--palette-teal-300) 5%, var(--palette-green-300) 95%);

  --aurora-color-primary: rgb(26 140 130 / 0.2);
  --aurora-color-secondary: rgb(111 220 131 / 0.12);
  --aurora-color-tertiary: rgb(18 144 125 / 0.26);

  --shadow-soft: 0 1px 2px rgb(0 0 0 / 0.3), 0 10px 30px -14px rgb(0 0 0 / 0.55);
  --shadow-elevated: 0 2px 6px rgb(0 0 0 / 0.25), 0 30px 70px -30px rgb(0 0 0 / 0.8);
  --shadow-glow-brand: 0 14px 34px -14px rgb(26 140 130 / 0.65);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

* {
  margin: 0;
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

img,
picture,
svg,
video {
  display: block;
  max-width: 100%;
}

input,
button,
textarea,
select {
  font: inherit;
  color: inherit;
}

button {
  background: none;
  border: 0;
  padding: 0;
}

ul[role="list"],
ol[role="list"] {
  list-style: none;
  padding: 0;
}

a {
  color: inherit;
}

[hidden] {
  display: none !important;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--header-height) + var(--space-lg));
}

body {
  min-height: 100vh;
  overflow-x: clip;
  background-color: var(--color-page-background);
  background-image:
    radial-gradient(60rem 40rem at 100% -10%, var(--aurora-color-secondary), transparent 60%),
    radial-gradient(50rem 40rem at -10% 30%, var(--aurora-color-tertiary), transparent 60%);
  
  background-attachment: scroll;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

::selection {
  background-color: var(--color-accent-soft);
  color: var(--color-text-primary);
}

:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 3px;
}

.icon-sprite {
  display: none;
}

body {
  font-family: var(--font-family-body);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-body);
  color: var(--color-text-primary);
}

h1,
h2,
h3,
h4 {
  font-family: var(--font-family-display);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-tight);
  color: var(--color-text-primary);
  text-wrap: balance;
}

p {
  text-wrap: pretty;
}

strong {
  font-weight: var(--font-weight-bold);
}

:root {
  --inline-direction: 1;
}

:root[dir="rtl"] {
  --inline-direction: -1;
}

.icon--directional {
  transform: scaleX(calc(var(--inline-direction) * -1));
}

:root[dir="ltr"] {
  --line-height-body: 1.7;
}

::view-transition-old(root),
::view-transition-new(root) {
  animation: none;
  mix-blend-mode: normal;
}

:root[data-theme-transitioning] *,
:root[data-theme-transitioning] *::before,
:root[data-theme-transitioning] *::after {
  transition:
    background-color var(--duration-slow) var(--easing-standard),
    border-color var(--duration-slow) var(--easing-standard),
    color var(--duration-slow) var(--easing-standard),
    box-shadow var(--duration-slow) var(--easing-standard) !important;
}

.layout-container {
  width: min(100% - (var(--container-padding-inline) * 2), var(--container-max-width));
  margin-inline: auto;
}

.page-section {
  position: relative;
  isolation: isolate;
  padding-block: var(--section-padding-block);
}

.page-section--compact {
  padding-block: clamp(1.5rem, 1rem + 2vw, 3rem);
}

.page-section--tinted {
  background: linear-gradient(
    180deg,
    transparent 0%,
    var(--color-surface-muted) 18%,
    var(--color-surface-muted) 82%,
    transparent 100%
  );
}

.page-section--clipped {
  overflow: clip;
}

.auto-grid {
  display: grid;
  grid-template-columns: repeat(
    auto-fit,
    minmax(min(100%, var(--auto-grid-min-item-width, 280px)), 1fr)
  );
  gap: var(--auto-grid-gap, var(--space-lg));
}

.glass-panel {
  position: relative;
  background-color: var(--color-glass-fill);
  border: 1px solid var(--color-glass-border);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-elevated);
  -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(160%);
  backdrop-filter: blur(var(--glass-blur)) saturate(160%);
}

.glass-panel::before {
  content: "";
  position: absolute;
  inset: -1px;
  padding: 1px;
  border-radius: inherit;
  background: linear-gradient(
    155deg,
    var(--color-glass-highlight) 0%,
    transparent 38%,
    transparent 68%,
    color-mix(in srgb, var(--color-accent) 40%, transparent) 100%
  );
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
}

@media (max-width: 767px) {
  :root {
    --glass-blur: 10px;
  }
}

.icon {
  width: var(--icon-size, 1.25rem);
  height: var(--icon-size, 1.25rem);
  flex-shrink: 0;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.icon--small {
  --icon-size: 1rem;
}

.icon--large {
  --icon-size: 1.6rem;
}

.icon-badge {
  display: inline-grid;
  place-items: center;
  flex-shrink: 0;
  width: var(--icon-badge-size, 3rem);
  height: var(--icon-badge-size, 3rem);
  border-radius: calc(var(--icon-badge-size, 3rem) * 0.32);
  background: var(--icon-badge-background, var(--color-brand-soft));
  color: var(--icon-badge-foreground, var(--color-brand));
  border: 1px solid var(--icon-badge-border, var(--color-border-subtle));
  box-shadow: var(--icon-badge-shadow, none);
  transform: rotate(var(--icon-badge-rotation, 0deg)) scale(var(--icon-badge-scale, 1));
  transition:
    background var(--duration-base) var(--easing-standard),
    color var(--duration-base) var(--easing-standard),
    transform var(--duration-slow) var(--easing-emphasized);
}

.icon-badge--small {
  --icon-badge-size: 2.6rem;
  --icon-size: 1.15rem;
}

.icon-badge--large {
  --icon-badge-size: 3.75rem;
  --icon-size: 1.6rem;
}

.icon-badge--brand {
  --icon-badge-background: var(--gradient-brand);
  --icon-badge-foreground: var(--color-text-on-brand);
  --icon-badge-border: transparent;
  --icon-badge-shadow: var(--shadow-glow-brand);
}

.icon-badge--accent {
  --icon-badge-background: var(--gradient-accent);
  --icon-badge-foreground: var(--color-text-on-accent);
  --icon-badge-border: transparent;
  --icon-badge-shadow: var(--shadow-glow-accent);
}

.icon-button {
  position: relative;
  display: inline-grid;
  place-items: center;
  width: 2.75rem;
  height: 2.75rem;
  flex-shrink: 0;
  border-radius: 50%;
  border: 1px solid var(--color-border-strong);
  background-color: var(--color-surface);
  color: var(--color-text-primary);
  cursor: pointer;
  overflow: hidden;
  transition:
    border-color var(--duration-base) var(--easing-standard),
    color var(--duration-base) var(--easing-standard),
    transform var(--duration-base) var(--easing-emphasized);
}

.icon-button:hover {
  border-color: var(--color-accent);
  color: var(--color-accent-strong);
  transform: translateY(-1px);
}

.icon-button:active {
  transform: scale(0.94);
}

.button {
  --button-background: var(--color-surface);
  --button-foreground: var(--color-text-primary);
  --button-border: var(--color-border-strong);
  --button-shadow: none;
  --button-height: 3.25rem;
  --button-padding-inline: var(--space-lg);

  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-xs);
  min-height: var(--button-height);
  padding-inline: var(--button-padding-inline);
  border-radius: var(--radius-pill);
  border: 1px solid var(--button-border);
  background: var(--button-background);
  color: var(--button-foreground);
  box-shadow: var(--button-shadow);
  font-family: var(--font-family-body);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-bold);
  line-height: 1;
  white-space: nowrap;
  text-decoration: none;
  cursor: pointer;
  transition:
    transform var(--duration-base) var(--easing-emphasized),
    box-shadow var(--duration-base) var(--easing-standard),
    border-color var(--duration-base) var(--easing-standard);
}

.button::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(115deg, transparent 30%, rgb(255 255 255 / 0.32) 50%, transparent 70%);
  transform: translateX(120%);
  transition: transform 700ms var(--easing-standard);
}

.button:hover {
  transform: translateY(-2px);
}

.button:hover::before {
  transform: translateX(-120%);
}

.button:active {
  transform: translateY(0) scale(0.98);
}

.button--primary {
  --button-background: var(--gradient-brand);
  --button-foreground: var(--color-text-on-brand);
  --button-border: transparent;
  --button-shadow: var(--shadow-glow-brand);
}

.button--accent {
  --button-background: var(--gradient-accent);
  --button-foreground: var(--color-text-on-accent);
  --button-border: transparent;
  --button-shadow: var(--shadow-glow-accent);
}

.button--whatsapp {
  --button-background: var(--color-whatsapp);
  --button-foreground: var(--palette-white);
  --button-border: transparent;
  --button-shadow: var(--shadow-glow-whatsapp);
}

.button--glass {
  --button-background: var(--color-glass-fill);
  --button-border: var(--color-border-strong);
  -webkit-backdrop-filter: blur(var(--glass-blur));
  backdrop-filter: blur(var(--glass-blur));
}

.button--glass:hover {
  --button-border: var(--color-accent);
}

.button--on-dark {
  --button-background: rgb(255 255 255 / 0.08);
  --button-foreground: var(--color-text-on-brand);
  --button-border: rgb(135 240 130 / 0.28);
}

.button--compact {
  --button-height: 2.75rem;
  --button-padding-inline: var(--space-md);
}

.button--large {
  --button-height: 3.75rem;
  --button-padding-inline: var(--space-xl);
  font-size: var(--font-size-base);
}

.button--block {
  width: 100%;
}

.button__meta {
  padding-inline-start: var(--space-xs);
  margin-inline-start: var(--space-3xs);
  border-inline-start: 1px solid color-mix(in srgb, currentColor 35%, transparent);
  font-family: var(--font-family-display);
  font-weight: var(--font-weight-medium);
  letter-spacing: 0.04em;
}

.eyebrow-badge {
  --eyebrow-tone: var(--color-accent-strong);
  --eyebrow-dot: var(--color-accent);

  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  padding: var(--space-2xs) var(--space-md);
  border-radius: var(--radius-pill);
  border: 1px solid color-mix(in srgb, var(--eyebrow-dot) 35%, transparent);
  background-color: color-mix(in srgb, var(--eyebrow-dot) 12%, transparent);
  color: var(--eyebrow-tone);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  line-height: 1.5;
}

.eyebrow-badge::before {
  content: "";
  width: 0.4rem;
  height: 0.4rem;
  border-radius: 50%;
  background-color: var(--eyebrow-dot);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--eyebrow-dot) 22%, transparent);
}

.eyebrow-badge--on-dark {
  --eyebrow-tone: var(--color-accent-on-dark);
  --eyebrow-dot: var(--color-accent-on-dark);
}

.section-heading {
  display: grid;
  justify-items: start;
  gap: var(--space-sm);
  max-width: 46rem;
  margin-block-end: clamp(2.5rem, 1.8rem + 3vw, 4rem);
}

.section-heading--centered {
  justify-items: center;
  margin-inline: auto;
  text-align: center;
}

.section-heading--flush {
  margin-block-end: 0;
}

.section-heading__title {
  font-size: var(--font-size-2xl);
}

.section-heading__description {
  max-width: 38rem;
  font-size: var(--font-size-lg);
  color: var(--color-text-secondary);
}

.brand-logo {
  display: inline-flex;
  align-items: center;
  color: inherit;
  text-decoration: none;
}

.brand-logo--large {
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-xs);
}

.brand-logo__image {
  display: block;
  height: var(--brand-logo-height, 3rem);
  aspect-ratio: 2.82; 
  background: url("/landing/assets/images/logo.webp") center / contain no-repeat;
  transition: transform var(--duration-base) var(--easing-emphasized);
}

.brand-logo--large .brand-logo__image {
  --brand-logo-height: 4rem;
}

.brand-logo:hover .brand-logo__image {
  transform: scale(1.03);
}

:root[data-theme="dark"] .brand-logo__image {
  background-image: url("/landing/assets/images/logo-on-dark.webp");
}

.brand-logo__tagline {
  color: var(--color-text-secondary);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
}

:root[dir="ltr"] .brand-logo__tagline {
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

@media (max-width: 400px) {
  .brand-logo:not(.brand-logo--large) .brand-logo__image {
    --brand-logo-height: 2.5rem;
  }
}

.theme-toggle__icon {
  grid-area: 1 / 1;
  transition:
    transform var(--duration-slow) var(--easing-emphasized),
    opacity var(--duration-base) var(--easing-standard);
}

.theme-toggle__icon--sun {
  opacity: 0;
  transform: rotate(-90deg) scale(0.4);
}

:root[data-theme="dark"] .theme-toggle__icon--moon {
  opacity: 0;
  transform: rotate(90deg) scale(0.4);
}

:root[data-theme="dark"] .theme-toggle__icon--sun {
  opacity: 1;
  transform: none;
}

.language-switcher {
  display: flex;
}

.language-switcher__button {
  font-family: var(--font-family-display);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.02em;
}

.navigation-toggle {
  display: none;
}

.navigation-toggle__bar {
  position: absolute;
  width: 1.1rem;
  height: 1.5px;
  border-radius: 2px;
  background-color: currentColor;
  transition: transform var(--duration-base) var(--easing-emphasized);
}

.navigation-toggle__bar:first-child {
  transform: translateY(-3.5px);
}

.navigation-toggle__bar:last-child {
  transform: translateY(3.5px);
}

.navigation-toggle[aria-expanded="true"] .navigation-toggle__bar:first-child {
  transform: rotate(45deg);
}

.navigation-toggle[aria-expanded="true"] .navigation-toggle__bar:last-child {
  transform: rotate(-45deg);
}

@media (max-width: 960px) {
  .navigation-toggle {
    display: inline-grid;
  }
}

.pulse-indicator {
  position: relative;
  width: 0.6rem;
  height: 0.6rem;
  flex-shrink: 0;
  border-radius: 50%;
  background-color: var(--color-success);
}

.pulse-indicator::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background-color: inherit;
  animation: pulse-ring 2s ease-out infinite;
}

.heartbeat-line {
  width: 100%;
  height: auto;
  overflow: visible;
}

.heartbeat-line__track,
.heartbeat-line__trace {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.heartbeat-line__track {
  stroke: var(--color-border-strong);
  stroke-width: 1.5;
}

.heartbeat-line__trace {
  stroke: var(--color-accent);
  stroke-width: 2.5;
  stroke-dasharray: 0.28 0.72;
  filter: drop-shadow(0 0 6px var(--color-accent));
  animation: heartbeat-trace 2.8s linear infinite;
}

.aurora-backdrop {
  position: absolute;
  inset: 0;
  z-index: -1;
  overflow: hidden;
  pointer-events: none;
}

.aurora-backdrop__blob {
  position: absolute;
  width: var(--aurora-blob-size, 480px);
  aspect-ratio: 1;
  border-radius: 50%;
  filter: blur(90px);
}

@media (min-width: 768px) {
  .aurora-backdrop__blob {
    animation: aurora-drift 22s var(--easing-standard) infinite alternate;
  }
}

.aurora-backdrop__blob--primary {
  --aurora-blob-size: clamp(320px, 45vw, 640px);
  inset-block-start: -18%;
  inset-inline-end: -12%;
  background-color: var(--aurora-color-primary);
}

.aurora-backdrop__blob--secondary {
  --aurora-blob-size: clamp(280px, 38vw, 520px);
  inset-block-end: -22%;
  inset-inline-start: -10%;
  background-color: var(--aurora-color-secondary);
  animation-delay: -7s;
}

.aurora-backdrop__blob--tertiary {
  --aurora-blob-size: clamp(220px, 26vw, 380px);
  inset-block-start: 30%;
  inset-inline-start: 38%;
  background-color: var(--aurora-color-tertiary);
  animation-delay: -14s;
}

.aurora-backdrop__grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(to right, var(--color-border-subtle) 1px, transparent 1px),
    linear-gradient(to bottom, var(--color-border-subtle) 1px, transparent 1px);
  background-size: 72px 72px;
  -webkit-mask-image: radial-gradient(ellipse 70% 60% at 50% 35%, #000 25%, transparent 75%);
  mask-image: radial-gradient(ellipse 70% 60% at 50% 35%, #000 25%, transparent 75%);
}

.floating-info-card {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  max-width: 16.5rem;
  padding: var(--space-sm) var(--space-md);
  border-radius: var(--radius-lg);
}

.floating-info-card__text {
  display: grid;
  line-height: var(--line-height-snug);
}

.floating-info-card__title {
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-primary);
}

.floating-info-card__caption {
  font-size: var(--font-size-xs);
  color: var(--color-text-secondary);
}

.highlight-item {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  padding: var(--space-md);
  border-radius: var(--radius-lg);
  transition: background-color var(--duration-base) var(--easing-standard);
}

.highlight-item:hover {
  --icon-badge-rotation: -8deg;
  background-color: var(--color-brand-soft);
}

.highlight-item__text {
  display: grid;
  line-height: var(--line-height-snug);
}

.highlight-item__title {
  font-family: var(--font-family-display);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
}

.highlight-item__caption {
  font-size: var(--font-size-xs);
  color: var(--color-text-secondary);
}

.service-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  height: 100%;
  padding: clamp(1.5rem, 1.2rem + 1.5vw, 2.25rem);
  overflow: hidden;
  transition:
    transform var(--duration-slow) var(--easing-emphasized),
    box-shadow var(--duration-slow) var(--easing-standard);
}

.service-card::after {
  content: "";
  position: absolute;
  inset-block-start: -40%;
  inset-inline-end: -30%;
  width: 70%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, var(--aurora-color-secondary), transparent 70%);
  opacity: 0;
  transition: opacity var(--duration-slow) var(--easing-standard);
  pointer-events: none;
}

.service-card:hover {
  --icon-badge-background: var(--gradient-brand);
  --icon-badge-foreground: var(--color-text-on-brand);
  --icon-badge-rotation: -6deg;
  --icon-badge-scale: 1.06;
  transform: translateY(-6px);
  box-shadow: var(--shadow-elevated), var(--shadow-glow-accent);
}

.service-card:hover::after {
  opacity: 1;
}

.service-card__index {
  position: absolute;
  inset-block-start: var(--space-sm);
  inset-inline-end: var(--space-lg);
  font-family: var(--font-family-display);
  font-size: 4.5rem;
  font-weight: var(--font-weight-light);
  line-height: 1;
  color: transparent;
  -webkit-text-stroke: 1px var(--color-border-strong);
  transition: -webkit-text-stroke-color var(--duration-base) var(--easing-standard);
  pointer-events: none;
}

.service-card:hover .service-card__index {
  -webkit-text-stroke-color: var(--color-accent);
}

.service-card__department {
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  letter-spacing: var(--letter-spacing-wide);
  color: var(--color-accent-strong);
}

.service-card__title {
  font-size: var(--font-size-xl);
}

.service-card__description {
  flex-grow: 1;
  color: var(--color-text-secondary);
}

.service-card__link {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  align-self: flex-start;
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-bold);
  color: var(--color-brand);
  text-decoration: none;
}

.service-card__link .icon {
  
  transition: translate var(--duration-base) var(--easing-emphasized);
}

.service-card__link:hover .icon {
  translate: calc(4px * var(--inline-direction)) 0;
}

.journey-step {
  display: grid;
  align-content: start;
  gap: var(--space-sm);
  padding: clamp(1.5rem, 1.2rem + 1.5vw, 2.25rem);
}

.journey-step__number {
  display: grid;
  place-items: center;
  width: 3.25rem;
  height: 3.25rem;
  margin-block-end: var(--space-sm);
  border-radius: var(--radius-md);
  background: var(--gradient-brand);
  box-shadow: var(--shadow-glow-brand);
  color: var(--color-text-on-brand);
  font-family: var(--font-family-display);
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-semibold);
}

.journey-step__title {
  font-size: var(--font-size-lg);
}

.journey-step__text {
  color: var(--color-text-secondary);
}

.branch-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
  padding: clamp(1.5rem, 1.1rem + 2vw, 2.5rem);
  overflow: hidden;
  transition: transform var(--duration-slow) var(--easing-emphasized);
}

.branch-card:hover {
  --icon-badge-rotation: -6deg;
  transform: translateY(-4px);
}

.branch-card__watermark {
  position: absolute;
  inset-block-end: -2.2rem;
  inset-inline-start: -0.5rem;
  font-family: var(--font-family-display);
  font-size: 9rem;
  font-weight: var(--font-weight-bold);
  line-height: 1;
  color: var(--color-brand);
  opacity: 0.05;
  pointer-events: none;
  user-select: none;
}

.branch-card__header {
  display: flex;
  align-items: center;
  gap: var(--space-md);
}

.branch-card__label {
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  color: var(--color-accent-strong);
}

.branch-card__name {
  font-size: var(--font-size-xl);
}

.branch-card__divider {
  height: 1px;
  border: 0;
  background: var(--gradient-accent-line);
  opacity: 0.6;
}

.branch-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
  margin-block-start: auto;
}

.checklist {
  display: grid;
  gap: var(--space-sm);
  padding: 0;
  list-style: none;
}

.checklist__item {
  display: flex;
  align-items: flex-start;
  gap: var(--space-sm);
  color: var(--color-text-secondary);
}

.checklist__icon {
  --icon-size: 0.95rem;
  box-sizing: content-box;
  margin-block-start: 0.3rem;
  padding: 0.22rem;
  border-radius: 50%;
  background-color: var(--color-accent-soft);
  color: var(--color-accent-strong);
  stroke-width: 2.5;
}

.contact-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
}

.contact-actions--card {
  margin-block-start: auto;
  padding-block-start: var(--space-md);
  border-block-start: 1px solid var(--color-border-subtle);
}

.contact-actions--card > .button {
  flex: 1 1 8rem;
}

.callout {
  --callout-tone: var(--color-brand);

  display: flex;
  align-items: flex-start;
  gap: var(--space-md);
  padding: var(--space-md) var(--space-lg);
  border-radius: var(--radius-lg);
  border: 1px solid color-mix(in srgb, var(--callout-tone) 28%, transparent);
  background-color: color-mix(in srgb, var(--callout-tone) 8%, var(--color-surface));
}

.callout--danger {
  --callout-tone: var(--color-danger);
}

.callout__icon {
  --icon-size: 1.5rem;
  margin-block-start: 0.15rem;
  color: var(--callout-tone);
}

.callout__body {
  display: grid;
  gap: var(--space-3xs);
}

.callout__title {
  font-weight: var(--font-weight-bold);
  color: var(--color-text-primary);
}

.callout__text {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
}

.callout__action {
  justify-self: start;
  margin-block-start: var(--space-xs);
}

.form-field {
  display: grid;
  align-content: start;
  gap: var(--space-xs);
  min-inline-size: 0;
}

.form-field--full-width {
  grid-column: 1 / -1;
}

.form-field--fieldset {
  display: block;
  margin: 0;
  padding: 0;
  border: 0;
}

.form-field--fieldset > .form-field__label {
  float: left;
  width: 100%;
  padding: 0;
  margin-block-end: var(--space-xs);
}

.form-field--fieldset > .form-field__label + * {
  clear: both;
}

.form-field--fieldset > .form-field__error {
  margin-block-start: var(--space-xs);
}

.form-field__label {
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-primary);
}

.form-field__required-mark {
  margin-inline-start: var(--space-3xs);
  color: var(--color-accent-strong);
}

.form-field__optional-mark {
  margin-inline-start: var(--space-3xs);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-regular);
  color: var(--color-text-muted);
}

.form-field__control-shell {
  position: relative;
  display: flex;
  align-items: center;
}

.form-field__icon,
.form-field__chevron {
  position: absolute;
  color: var(--color-text-muted);
  pointer-events: none;
  transition: color var(--duration-base) var(--easing-standard);
}

.form-field__icon {
  inset-inline-start: var(--space-md);
}

.form-field__chevron {
  --icon-size: 1rem;
  inset-inline-end: var(--space-md);
}

.form-field__control-shell:focus-within .form-field__icon {
  color: var(--color-accent-strong);
}

.form-field__control {
  width: 100%;
  min-height: 3.25rem;
  padding: var(--space-sm) var(--space-md);
  padding-inline-start: 2.9rem;
  border-radius: var(--radius-md);
  border: 1px solid var(--color-border-strong);
  background-color: var(--color-surface);
  color: var(--color-text-primary);
  font-size: var(--font-size-sm);
  appearance: none;
  transition:
    border-color var(--duration-base) var(--easing-standard),
    box-shadow var(--duration-base) var(--easing-standard);
}

.form-field__control::placeholder {
  color: var(--color-text-muted);
  opacity: 1;
}

.form-field__control:hover {
  border-color: color-mix(in srgb, var(--color-brand) 45%, var(--color-border-strong));
}

.form-field__control:focus {
  outline: none;
  border-color: var(--color-accent);
  box-shadow: 0 0 0 4px var(--color-focus-ring);
}

.form-field__control[aria-invalid="true"] {
  border-color: var(--color-danger);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--color-danger) 14%, transparent);
}

.form-field__control--without-icon {
  padding-inline-start: var(--space-md);
}

.form-field__control--select {
  padding-inline-end: 2.75rem;
  cursor: pointer;
}

.form-field__control--textarea {
  min-height: 7.5rem;
  resize: vertical;
  line-height: 1.7;
}

.form-field__control[type="date"]::-webkit-calendar-picker-indicator {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  opacity: 0;
  cursor: pointer;
}

.form-field__control--latin-digits {
  direction: ltr;
}

:root[dir="rtl"] .form-field__control--latin-digits,
:root[dir="rtl"] .form-field__control--latin-digits::placeholder {
  text-align: right;
}

:root[dir="rtl"] .form-field__control--latin-digits {
  padding-left: var(--space-md);
  padding-right: 2.9rem;
}

:root[dir="ltr"] .form-field__control--latin-digits,
:root[dir="ltr"] .form-field__control--latin-digits::placeholder {
  text-align: left;
}

.form-field__error {
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
  color: var(--color-danger);
}

.form-field__error:empty {
  display: none;
}

.choice-card-group {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 9.5rem), 1fr));
  gap: var(--space-sm);
}

.choice-card {
  position: relative;
  display: block;
  cursor: pointer;
}

.choice-card__input {
  position: absolute;
  inset: 0;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

.choice-card__body {
  position: relative;
  display: grid;
  justify-items: start;
  gap: var(--space-3xs);
  height: 100%;
  padding: var(--space-md);
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-border-strong);
  background-color: var(--color-surface);
  transition:
    border-color var(--duration-base) var(--easing-standard),
    background var(--duration-base) var(--easing-standard),
    transform var(--duration-base) var(--easing-emphasized);
}

.choice-card__body::after {
  content: "";
  position: absolute;
  inset-block-start: var(--space-md);
  inset-inline-end: var(--space-md);
  width: 1.1rem;
  height: 1.1rem;
  border-radius: 50%;
  border: 1.5px solid var(--color-border-strong);
  transition: all var(--duration-base) var(--easing-standard);
}

.choice-card__icon {
  --icon-size: 1.5rem;
  margin-block-end: var(--space-2xs);
  color: var(--color-brand);
}

.choice-card__title {
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-bold);
}

.choice-card__caption {
  font-size: var(--font-size-xs);
  color: var(--color-text-muted);
}

.choice-card:hover .choice-card__body {
  border-color: color-mix(in srgb, var(--color-brand) 45%, var(--color-border-strong));
  transform: translateY(-2px);
}

.choice-card__input:checked + .choice-card__body {
  border-color: var(--color-accent);
  background: linear-gradient(160deg, var(--color-accent-soft), var(--color-surface) 75%);
  box-shadow: inset 0 0 0 1px var(--color-accent);
}

.choice-card__input:checked + .choice-card__body::after {
  border-color: var(--color-accent);
  background: radial-gradient(circle, var(--color-accent) 0 38%, transparent 42%);
}

.choice-card__input:focus-visible + .choice-card__body {
  outline: 2px solid var(--color-accent);
  outline-offset: 3px;
}

.choice-card__input[aria-invalid="true"] + .choice-card__body {
  border-color: var(--color-danger);
}

.segmented-control {
  display: grid;
  grid-auto-columns: 1fr;
  grid-auto-flow: column;
  gap: var(--space-3xs);
  padding: var(--space-3xs);
  border-radius: var(--radius-pill);
  border: 1px solid var(--color-border-subtle);
  background-color: var(--color-surface-muted);
}

.segmented-control__option {
  position: relative;
  cursor: pointer;
}

.segmented-control__input {
  position: absolute;
  inset: 0;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

.segmented-control__label {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2xs);
  min-height: 2.6rem;
  padding-inline: var(--space-md);
  border-radius: var(--radius-pill);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-secondary);
  transition:
    background-color var(--duration-base) var(--easing-standard),
    color var(--duration-base) var(--easing-standard),
    box-shadow var(--duration-base) var(--easing-standard);
}

.segmented-control__input:checked + .segmented-control__label {
  background-color: var(--color-surface);
  color: var(--color-text-primary);
  box-shadow: var(--shadow-soft);
}

.segmented-control__input:checked + .segmented-control__label--alert {
  color: var(--color-danger);
}

.segmented-control__input:focus-visible + .segmented-control__label {
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
}

.checkbox-field {
  display: flex;
  align-items: flex-start;
  gap: var(--space-sm);
  font-size: var(--font-size-sm);
  line-height: 1.7;
  color: var(--color-text-secondary);
  cursor: pointer;
}

.checkbox-field__input {
  display: grid;
  place-content: center;
  flex-shrink: 0;
  
  width: 1.5rem;
  height: 1.5rem;
  margin: 0.1rem 0 0;
  border-radius: 0.4rem;
  border: 1.5px solid var(--color-border-strong);
  background-color: var(--color-surface);
  appearance: none;
  cursor: pointer;
  transition:
    background-color var(--duration-base) var(--easing-standard),
    border-color var(--duration-base) var(--easing-standard);
}

.checkbox-field__input::before {
  content: "";
  width: 0.7rem;
  height: 0.7rem;
  background-color: var(--color-text-on-accent);
  clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
  transform: scale(0);
  transition: transform var(--duration-base) var(--easing-emphasized);
}

.checkbox-field__input:checked {
  border-color: var(--color-accent);
  background-color: var(--color-accent);
}

.checkbox-field__input:checked::before {
  transform: scale(1);
}

.checkbox-field__input[aria-invalid="true"] {
  border-color: var(--color-danger);
}

.skip-link {
  position: fixed;
  inset-block-start: var(--space-sm);
  inset-inline-start: var(--space-sm);
  z-index: var(--z-index-skip-link);
  padding: var(--space-xs) var(--space-md);
  border-radius: var(--radius-pill);
  background-color: var(--color-brand);
  color: var(--color-text-on-brand);
  font-weight: var(--font-weight-bold);
  text-decoration: none;
  transform: translateY(-200%);
  transition: transform var(--duration-base) var(--easing-emphasized);
}

.skip-link:focus-visible {
  transform: none;
}

.partial-load-notice {
  max-width: 40rem;
  margin: 20vh auto;
  padding: var(--space-lg);
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-danger);
  background-color: var(--color-surface);
  color: var(--color-text-primary);
  text-align: center;
}

.partial-load-notice code {
  direction: ltr;
  unicode-bidi: isolate;
  padding: 0.1rem 0.4rem;
  border-radius: var(--radius-sm);
  background-color: var(--color-surface-muted);
}

.site-header {
  position: fixed;
  inset-block-start: 0;
  inset-inline: 0;
  z-index: var(--z-index-header);
  padding-block-start: var(--space-sm);
  pointer-events: none;
}

.site-header__bar {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-md);
  min-height: 4rem;
  padding-block: var(--space-2xs);
  padding-inline: var(--space-md) var(--space-2xs);
  border-radius: var(--radius-pill);
  border: 1px solid transparent;
  pointer-events: auto;
  transition:
    background-color var(--duration-slow) var(--easing-standard),
    border-color var(--duration-slow) var(--easing-standard),
    box-shadow var(--duration-slow) var(--easing-standard);
}

.site-header[data-scrolled] .site-header__bar,
.site-header[data-navigation-open] .site-header__bar {
  background-color: var(--color-glass-fill);
  border-color: var(--color-glass-border);
  box-shadow: var(--shadow-soft);
  -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(160%);
  backdrop-filter: blur(var(--glass-blur)) saturate(160%);
}

@media (max-width: 767px) {
  .site-header__bar {
    background-color: var(--color-glass-fill);
    border-color: var(--color-glass-border);
    box-shadow: var(--shadow-soft);
    -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(160%);
    backdrop-filter: blur(var(--glass-blur)) saturate(160%);
  }
}

.site-header__actions {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
}

.site-navigation__list {
  display: flex;
  align-items: center;
  gap: var(--space-3xs);
  margin: 0;
}

.site-navigation__link {
  display: block;
  padding: var(--space-xs) var(--space-md);
  border-radius: var(--radius-pill);
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  text-decoration: none;
  transition:
    background-color var(--duration-base) var(--easing-standard),
    color var(--duration-base) var(--easing-standard);
}

.site-navigation__link:hover {
  background-color: var(--color-brand-soft);
  color: var(--color-text-primary);
}

.site-navigation__link[aria-current="location"] {
  background-color: var(--color-brand-soft);
  color: var(--color-brand);
  font-weight: var(--font-weight-bold);
}

.site-navigation__mobile-call {
  display: none;
}

@media (max-width: 960px) {
  .site-navigation {
    position: absolute;
    inset-inline: 0;
    inset-block-start: calc(100% + var(--space-sm));
    padding: var(--space-md);
    border-radius: var(--radius-xl);
    border: 1px solid var(--color-border-subtle);
    background-color: var(--color-surface);
    box-shadow: var(--shadow-elevated);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px) scale(0.98);
    transform-origin: top center;
    transition:
      opacity var(--duration-base) var(--easing-standard),
      transform var(--duration-base) var(--easing-emphasized),
      visibility var(--duration-base);
  }

  .site-header[data-navigation-open] .site-navigation {
    opacity: 1;
    visibility: visible;
    transform: none;
  }

  .site-navigation__list {
    flex-direction: column;
    align-items: stretch;
  }

  .site-navigation__link {
    padding: var(--space-sm) var(--space-md);
    font-size: var(--font-size-base);
  }

  .site-navigation__mobile-call {
    display: flex;
    margin-block-start: var(--space-sm);
  }
}

.hero {
  position: relative;
  isolation: isolate;
  overflow: clip;
  padding-block:
    calc(var(--header-height) + clamp(2.5rem, 1.5rem + 5vw, 5.5rem))
    clamp(3rem, 2rem + 5vw, 6rem);
}

.hero__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  align-items: center;
  gap: clamp(2.5rem, 1.5rem + 5vw, 5rem);
}

.hero__content {
  display: grid;
  justify-items: start;
  gap: var(--space-lg);
}

.hero__title {
  font-size: var(--font-size-3xl);
  line-height: 1.25;
}

.hero__title-highlight {
  display: block;
}

.hero__lead {
  max-width: 34rem;
  font-size: var(--font-size-lg);
  color: var(--color-text-secondary);
}

.hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm);
}

.hero__secondary-link {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  padding-block-end: 2px;
  border-block-end: 1px solid transparent;
  color: var(--color-brand);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-bold);
  text-decoration: none;
  transition: border-color var(--duration-base) var(--easing-standard);
}

.hero__secondary-link:hover {
  border-color: var(--color-accent);
}

.hero__assurances {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs) var(--space-lg);
  width: 100%;
  padding-block-start: var(--space-md);
  border-block-start: 1px solid var(--color-border-subtle);
}

.hero__assurance {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
}

.hero__assurance-icon {
  --icon-size: 1rem;
  color: var(--color-accent-strong);
  stroke-width: 2.5;
}

@media (max-width: 960px) {
  .hero__layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .hero__actions,
  .hero__actions > .button {
    width: 100%;
  }
}

.hero-visual {
  position: relative;
  display: grid;
  place-items: center;
  width: 100%;
  max-width: 32rem;
  aspect-ratio: 1;
  margin-inline: auto;
}

.hero-visual__orbit {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 1px dashed var(--color-border-strong);
  animation: orbit-spin 80s linear infinite;
}

.hero-visual__orbit--inner {
  inset: 13%;
  border-style: solid;
  border-color: var(--color-border-subtle);
  animation-duration: 50s;
  animation-direction: reverse;
}

.hero-visual__satellite {
  position: absolute;
  inset-block-start: -6px;
  inset-inline-start: calc(50% - 6px);
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background-color: var(--color-accent);
  box-shadow:
    0 0 0 6px var(--color-accent-soft),
    0 0 24px var(--color-accent);
}

.hero-visual__halo {
  position: absolute;
  inset: 18%;
  border-radius: 50%;
  background: radial-gradient(circle, var(--aurora-color-primary), transparent 70%);
  filter: blur(24px);
}

.hero-visual__core {
  z-index: 1;
  display: grid;
  gap: var(--space-sm);
  width: min(80%, 22rem);
  padding: var(--space-xl);
}

.hero-visual__status {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  color: var(--color-text-secondary);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
}

.hero-visual__eyebrow {
  color: var(--color-accent-strong);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  letter-spacing: var(--letter-spacing-wide);
}

.hero-visual__title {
  font-family: var(--font-family-display);
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-tight);
}

.hero-visual__phone {
  justify-self: start;
  color: var(--color-brand);
  font-family: var(--font-family-display);
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-medium);
  letter-spacing: 0.05em;
  text-decoration: none;
}

.hero-visual__floating {
  position: absolute;
  z-index: 2;
  animation: float-y 7s ease-in-out infinite;
}

.hero-visual__floating--upper {
  inset-block-start: 5%;
  inset-inline-start: -4%;
}

.hero-visual__floating--lower {
  inset-block-end: 7%;
  inset-inline-end: -6%;
  animation-delay: -3.5s;
}

@media (max-width: 960px) {
  .hero-visual {
    max-width: 28rem;
  }
}

@media (max-width: 560px) {
  .hero-visual {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    aspect-ratio: auto;
  }

  .hero-visual__orbit,
  .hero-visual__halo {
    display: none;
  }

  .hero-visual__core {
    width: 100%;
  }

  .hero-visual__floating {
    position: relative;
    inset: auto;
    width: 100%;
    max-width: none;
    animation: none;
  }
}

.hero__photo {
  display: none;
}

@media (max-width: 767px) {
  .hero {
    --hero-photo-height: min(56svh, 440px);

    padding-block-start: 0;
  }

  .hero__photo {
    position: relative;
    display: block;
    overflow: hidden;
    height: var(--hero-photo-height);
    
    margin-block-end: calc(var(--hero-photo-height) * -0.3);
  }

  .hero__photo-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 40%; 
  }

  :root[data-theme="dark"] .hero__photo-image {
    filter: brightness(0.7) saturate(0.9);
  }

  
  .hero__photo::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
      to bottom,
      color-mix(in srgb, var(--color-page-background) 45%, transparent) 0%,
      transparent 22%,
      transparent 42%,
      color-mix(in srgb, var(--color-page-background) 85%, transparent) 72%,
      var(--color-page-background) 92%
    );
  }

  
  .hero__layout {
    position: relative;
  }
}

.highlights-panel {
  --auto-grid-min-item-width: 230px;
  --auto-grid-gap: var(--space-2xs);

  padding: var(--space-xs);
  border-radius: var(--radius-2xl);
}

.highlights__contact {
  margin-block-start: var(--space-lg);
}

.initiative {
  display: grid;
  gap: var(--space-lg);
  padding: clamp(var(--space-lg), 2vw + 1rem, var(--space-2xl));
  overflow: hidden;
}

.initiative::after {
  content: "";
  position: absolute;
  inset-block-start: -40%;
  inset-inline-end: -10%;
  z-index: -1;
  width: 24rem;
  height: 24rem;
  border-radius: 50%;
  background: radial-gradient(circle, var(--color-accent-soft) 0%, transparent 70%);
  pointer-events: none;
}

.initiative__intro {
  display: grid;
  justify-items: start;
  gap: var(--space-sm);
  max-width: 44rem;
}

.initiative__title {
  font-size: var(--font-size-2xl);
  line-height: var(--line-height-snug);
}

.initiative__description {
  color: var(--color-text-secondary);
}

.initiative__areas {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(18rem, 100%), 1fr));
  gap: var(--space-md);
}

.initiative-area {
  display: flex;
  align-items: flex-start;
  gap: var(--space-sm);
  padding: var(--space-md);
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-border-subtle);
  background-color: color-mix(in srgb, var(--color-surface) 65%, transparent);
}

.initiative-area__text {
  display: grid;
  gap: var(--space-3xs);
}

.initiative-area__title {
  font-family: var(--font-family-display);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-bold);
}

.initiative-area__caption {
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
}

.initiative__partners {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-2xs) var(--space-xs);
  padding: var(--space-sm) var(--space-md);
  border-radius: var(--radius-lg);
  border: 1px dashed color-mix(in srgb, var(--color-accent) 45%, transparent);
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
}

.initiative__partners .icon {
  color: var(--color-accent-strong);
}

.initiative__partners-title {
  color: var(--color-text-primary);
  font-weight: var(--font-weight-bold);
}

.initiative__cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-sm) var(--space-md);
  padding-block-start: var(--space-md);
  border-block-start: 1px solid var(--color-border-subtle);
}

.initiative__cta-text {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-bold);
}

.initiative__phone {
  margin-inline-end: auto;
  color: var(--color-brand);
  font-family: var(--font-family-display);
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-medium);
  letter-spacing: 0.04em;
  text-decoration: none;
}

.initiative__phone:hover {
  color: var(--color-accent-strong);
}

@media (max-width: 560px) {
  .initiative__cta {
    justify-content: center;
    text-align: center;
  }

  .initiative__phone {
    margin-inline-end: 0;
  }

  .initiative__cta .contact-actions {
    width: 100%;
  }

  .initiative__cta .contact-actions > .button {
    flex: 1 1 9rem;
  }
}

.care-journey {
  --auto-grid-min-item-width: 260px;

  position: relative;
  margin: 0;
}

.care-journey::before {
  content: "";
  position: absolute;
  inset-inline: 12%;
  inset-block-start: calc(clamp(1.5rem, 1.2rem + 1.5vw, 2.25rem) + 1.6rem);
  z-index: -1;
  height: 1px;
  background: var(--gradient-accent-line);
}

@media (max-width: 860px) {
  .care-journey::before {
    display: none;
  }
}

.care-journey__contact {
  margin-block-start: clamp(2rem, 1.5rem + 2vw, 3rem);
}

.branches-grid {
  --auto-grid-min-item-width: 320px;
}

.branches__map-action {
  display: flex;
  justify-content: center;
  margin-block-start: var(--space-2xl);
}

.branches__contact {
  margin-block-start: clamp(2rem, 1.5rem + 2vw, 3rem);
}

.booking-section__layout {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  align-items: start;
  gap: clamp(2rem, 1rem + 5vw, 4.5rem);
}

.booking-section__intro {
  position: sticky;
  inset-block-start: calc(var(--header-height) + var(--space-xl));
  display: grid;
  gap: var(--space-xl);
}

@media (max-width: 960px) {
  .booking-section__layout {
    grid-template-columns: 1fr;
  }

  .booking-section__intro {
    position: static;
  }
}

.booking-form {
  display: grid;
  gap: var(--space-xl);
  padding: clamp(1.5rem, 1rem + 2.5vw, 2.75rem);
}

.booking-form__header {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--space-xs) var(--space-md);
  padding-block-end: var(--space-lg);
  border-block-end: 1px solid var(--color-border-subtle);
}

.booking-form__title {
  font-size: var(--font-size-xl);
}

.booking-form__subtitle {
  color: var(--color-text-muted);
  font-size: var(--font-size-xs);
}

.booking-form__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-lg) var(--space-md);
}

.booking-form__full-row {
  grid-column: 1 / -1;
}

.booking-form__footer {
  display: grid;
  gap: var(--space-md);
}

.booking-form__note {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  color: var(--color-text-muted);
  font-size: var(--font-size-xs);
}

@media (max-width: 600px) {
  .booking-form__grid {
    grid-template-columns: 1fr;
  }
}

.booking-success {
  display: grid;
  justify-items: center;
  gap: var(--space-md);
  padding: clamp(2rem, 1.2rem + 4vw, 3.5rem);
  text-align: center;
}

.booking-success:focus {
  outline: none;
}

.booking-success__icon {
  margin-block-end: var(--space-xs);
  animation: success-pop var(--duration-slow) var(--easing-emphasized) both;
}

.booking-success__title {
  font-size: var(--font-size-xl);
}

.booking-success__text {
  max-width: 28rem;
  color: var(--color-text-secondary);
}

.booking-success__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-sm);
  margin-block-start: var(--space-sm);
}

.contact-cta {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
  align-items: center;
  gap: var(--space-2xl);
  padding: clamp(2rem, 1rem + 5vw, 4.5rem);
  border-radius: var(--radius-2xl);
  border: 1px solid rgb(135 240 130 / 0.18);
  background: var(--gradient-brand-deep);
  box-shadow: var(--shadow-elevated);
  color: var(--color-text-on-brand);
}

.contact-cta__ring {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: -12%;
  z-index: -1;
  width: var(--contact-cta-ring-size);
  aspect-ratio: 1;
  border-radius: 50%;
  border: 1px solid rgb(135 240 130 / 0.14);
  transform: translateY(-50%);
}

.contact-cta__ring--small {
  --contact-cta-ring-size: 16rem;
}

.contact-cta__ring--medium {
  --contact-cta-ring-size: 28rem;
}

.contact-cta__ring--large {
  --contact-cta-ring-size: 40rem;
}

.contact-cta__content {
  display: grid;
  justify-items: start;
  gap: var(--space-md);
}

.contact-cta__title {
  font-size: var(--font-size-2xl);
  color: var(--color-text-on-brand);
}

.contact-cta__text {
  color: var(--color-text-on-brand-muted);
  font-size: var(--font-size-lg);
}

.contact-cta__actions {
  display: grid;
  justify-items: start;
  gap: var(--space-md);
}

.contact-cta__phone-label {
  color: var(--color-text-on-brand-muted);
  font-size: var(--font-size-sm);
}

.contact-cta__phone {
  color: var(--color-accent-on-dark);
  font-family: var(--font-family-display);
  font-size: var(--font-size-display-number);
  font-weight: var(--font-weight-light);
  letter-spacing: 0.06em;
  line-height: 1.1;
  text-decoration: none;
  background-image: var(--gradient-accent-line);
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: 0% 1px;
  transition: background-size var(--duration-slow) var(--easing-emphasized);
}

.contact-cta__phone:hover {
  background-size: 100% 1px;
}

.contact-cta__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm);
}

@media (max-width: 860px) {
  .contact-cta {
    grid-template-columns: 1fr;
  }
}

.site-footer {
  position: relative;
  padding-block: var(--space-3xl) var(--space-xl);
  border-block-start: 1px solid var(--color-border-subtle);
  background-color: var(--color-surface-muted);
}

.site-footer::before {
  content: "";
  position: absolute;
  inset-block-start: -1px;
  inset-inline: 0;
  height: 1px;
  background: var(--gradient-accent-line);
}

.site-footer__columns {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) repeat(3, minmax(0, 1fr));
  gap: var(--space-2xl) var(--space-xl);
}

.site-footer__description {
  max-width: 24rem;
  margin-block: var(--space-md);
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
}

.site-footer__heading {
  margin-block-end: var(--space-md);
  font-family: var(--font-family-body);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-bold);
}

.site-footer__links {
  display: grid;
  gap: var(--space-xs);
}

.site-footer__link {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
  text-decoration: none;
  transition: color var(--duration-base) var(--easing-standard);
}

.site-footer__link:hover {
  color: var(--color-brand);
}

.site-footer__link-caption {
  display: block;
  color: var(--color-text-muted);
  font-size: var(--font-size-xs);
}

.site-footer__bottom {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  margin-block-start: var(--space-2xl);
  padding-block-start: var(--space-lg);
  border-block-start: 1px solid var(--color-border-subtle);
  color: var(--color-text-muted);
  font-size: var(--font-size-xs);
}

@media (max-width: 900px) {
  .site-footer__columns {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .site-footer__columns {
    grid-template-columns: 1fr;
  }
}

.site-footer__credit {
  color: var(--color-text-muted);
}

.site-footer__credit-link {
  color: var(--color-brand);
  font-weight: var(--font-weight-bold);
  text-decoration: none;
  border-block-end: 1px solid transparent;
  transition: border-color var(--duration-base) var(--easing-standard);
}

.site-footer__credit-link:hover {
  border-color: var(--color-accent);
}

.contact-strip {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-md) var(--space-lg);
  padding: var(--space-md) var(--space-lg);
  border-radius: var(--radius-2xl);
}

.contact-strip__text {
  display: grid;
  line-height: var(--line-height-snug);
  margin-inline-end: auto;
}

.contact-strip__title {
  font-family: var(--font-family-display);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
}

.contact-strip__subtitle {
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
}

.contact-strip__phone {
  color: var(--color-brand);
  font-family: var(--font-family-display);
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-medium);
  letter-spacing: 0.04em;
  text-decoration: none;
}

.contact-strip__phone:hover {
  color: var(--color-accent-strong);
}

@media (max-width: 560px) {
  .contact-strip {
    justify-content: center;
    text-align: center;
  }

  .contact-strip__text {
    margin-inline-end: 0;
    justify-items: center;
    flex-basis: 100%;
  }

  .contact-strip .contact-actions {
    flex-basis: 100%;
  }

  .contact-strip .contact-actions > .button {
    flex: 1;
  }
}

.contact-dock {
  position: fixed;
  inset-inline-end: var(--space-md);
  inset-block-start: 50%;
  z-index: var(--z-index-floating);
  display: none;
  flex-direction: column;
  gap: var(--space-sm);
  transform: translateY(-50%);
}

.contact-dock__action {
  --contact-dock-size: 3.5rem;

  display: flex;
  align-items: center;
  gap: var(--space-sm);
  width: var(--contact-dock-size);
  height: var(--contact-dock-size);
  padding: 0;
  border-radius: var(--radius-pill);
  background: var(--contact-dock-background);
  color: var(--contact-dock-foreground);
  box-shadow: var(--contact-dock-shadow);
  text-decoration: none;
  overflow: hidden;
  transition:
    width var(--duration-base) var(--easing-emphasized),
    transform var(--duration-base) var(--easing-emphasized),
    box-shadow var(--duration-base) var(--easing-standard);
}

.contact-dock__action--whatsapp {
  --contact-dock-background: var(--color-whatsapp);
  --contact-dock-foreground: var(--palette-white);
  --contact-dock-shadow: var(--shadow-glow-whatsapp);
}

.contact-dock__action--call {
  --contact-dock-background: var(--gradient-brand);
  --contact-dock-foreground: var(--color-text-on-brand);
  --contact-dock-shadow: var(--shadow-glow-brand);
}

.contact-dock__icon {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: var(--contact-dock-size);
  height: var(--contact-dock-size);
}

.contact-dock__label {
  display: grid;
  padding-inline-end: var(--space-lg);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-bold);
  line-height: 1.35;
  white-space: nowrap;
  opacity: 0;
  transition: opacity var(--duration-base) var(--easing-standard);
}

.contact-dock__number {
  font-family: var(--font-family-display);
  font-weight: var(--font-weight-medium);
  letter-spacing: 0.04em;
  opacity: 0.85;
}

.contact-dock__action:hover,
.contact-dock__action:focus-visible {
  width: max-content;
  transform: scale(1.02);
}

.contact-dock__action:hover .contact-dock__label,
.contact-dock__action:focus-visible .contact-dock__label {
  opacity: 1;
}

.contact-dock__action--whatsapp::after {
  content: "";
  position: absolute;
  inset-inline-end: 0;
  width: var(--contact-dock-size);
  height: var(--contact-dock-size);
  border-radius: 50%;
  border: 2px solid var(--color-whatsapp);
  animation: pulse-ring 2.6s ease-out infinite;
  pointer-events: none;
}

.contact-dock__action {
  position: relative;
}

.contact-dock__action:hover::after {
  animation: none;
  opacity: 0;
}

@media (min-width: 768px) {
  .contact-dock {
    display: flex;
  }
}

@media (max-height: 520px) {
  .contact-dock {
    display: none;
  }
}

.mobile-call-bar {
  position: fixed;
  inset-inline: var(--space-sm);
  inset-block-end: var(--space-sm);
  z-index: var(--z-index-floating);
  display: none;
  gap: var(--space-xs);
  padding: var(--space-2xs);
  border-radius: var(--radius-pill);
}

.mobile-call-bar__primary {
  flex: 1;
}

.mobile-call-bar__whatsapp {
  --button-padding-inline: 0;
  width: 3.25rem;
  flex-shrink: 0;
}

@media (max-width: 767px) {
  .mobile-call-bar {
    display: flex;
  }

  
  body {
    padding-block-end: 5.5rem;
  }
}

.content-page {
  position: relative;
  isolation: isolate;
  display: grid;
  align-content: center;
  justify-items: center;
  min-height: 100svh;
  padding-block: var(--space-3xl);
}

.content-page__panel {
  display: grid;
  justify-items: start;
  gap: var(--space-md);
  width: min(100%, 46rem);
  padding: clamp(1.75rem, 1.2rem + 3vw, 3rem);
}

.content-page__title {
  font-size: var(--font-size-2xl);
}

.content-page__text {
  color: var(--color-text-secondary);
}

.content-page__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-xs);
  padding: var(--space-sm) var(--space-md);
  border-radius: var(--radius-md);
  background-color: var(--color-surface-muted);
  color: var(--color-text-muted);
  font-size: var(--font-size-xs);
}

.content-page__meta code {
  direction: ltr;
  unicode-bidi: isolate;
  font-family: var(--font-family-display);
  color: var(--color-text-secondary);
}

.content-page__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm);
  margin-block-start: var(--space-sm);
}

@keyframes aurora-drift {
  0%   { transform: translate3d(0, 0, 0) scale(1); }
  50%  { transform: translate3d(5%, 6%, 0) scale(1.08); }
  100% { transform: translate3d(-5%, -3%, 0) scale(0.95); }
}

@keyframes float-y {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-14px); }
}

@keyframes orbit-spin {
  to { transform: rotate(360deg); }
}

@keyframes pulse-ring {
  from { transform: scale(1); opacity: 0.6; }
  to   { transform: scale(3); opacity: 0; }
}

@keyframes heartbeat-trace {
  from { stroke-dashoffset: 1; }
  to   { stroke-dashoffset: 0; }
}

@keyframes reveal-rise {
  from { opacity: 0; translate: 0 var(--reveal-distance, 18px); }
  to   { opacity: 1; translate: 0 0; }
}

@keyframes reveal-fade {
  from { opacity: 0; }
  to   { opacity: 1; }
}

@keyframes success-pop {
  from { opacity: 0; transform: scale(0.6) rotate(-12deg); }
  to   { opacity: 1; transform: none; }
}

.text-gradient {
  background-image: var(--text-gradient, var(--gradient-accent-text));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.text-gradient--on-dark {
  --text-gradient: var(--gradient-accent-text-on-dark);
}

.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

@media (max-width: 767px) {
  .hidden-on-mobile {
    display: none !important;
  }
}

@media (max-width: 767px) {
  .hero__secondary-link,
  .service-card__link {
    min-height: 2.75rem;
    align-items: center;
  }

  .site-footer__link {
    padding-block: var(--space-2xs);
  }
}

:root[data-reveal-ready] [data-reveal]:not(.is-revealed) {
  opacity: 0;
}

:root[data-reveal-ready] [data-reveal].is-revealed {
  animation: reveal-rise var(--duration-reveal) var(--easing-emphasized)
             calc(var(--reveal-delay, 0ms) * var(--reveal-delay-scale, 1)) both;
}

@media (max-width: 767px) {
  :root {
    --duration-reveal: 420ms;
    --reveal-distance: 12px;
    --reveal-delay-scale: 0.25;
  }
}

@media (prefers-reduced-motion: reduce) {
  :root[data-reveal-ready] [data-reveal].is-revealed {
    animation: reveal-fade 300ms ease-out 0s both;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  
  .aurora-backdrop__blob,
  .hero-visual__orbit,
  .hero-visual__floating,
  .heartbeat-line__trace,
  .pulse-indicator::after,
  .contact-dock__action--whatsapp::after,
  .booking-success__icon {
    animation: none;
  }

  
  .button,
  .service-card,
  .branch-card,
  .choice-card__body,
  .icon-badge,
  .theme-toggle__icon {
    transition-property: background-color, border-color, color, box-shadow, opacity;
  }

  .button:hover,
  .service-card:hover,
  .branch-card:hover,
  .choice-card:hover .choice-card__body {
    transform: none;
  }
}

