
@charset "utf-8";

@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&family=Inter:wght@300;400;500;600&display=swap");

@layer properties {
  @supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))) {
  *, ::before, ::after, ::backdrop { --tw-translate-x: 0; --tw-translate-y: 0; --tw-translate-z: 0; --tw-rotate-x: initial; --tw-rotate-y: initial; --tw-rotate-z: initial; --tw-skew-x: initial; --tw-skew-y: initial; --tw-space-y-reverse: 0; --tw-border-style: solid; --tw-gradient-position: initial; --tw-gradient-from: #0000; --tw-gradient-via: #0000; --tw-gradient-to: #0000; --tw-gradient-stops: initial; --tw-gradient-via-stops: initial; --tw-gradient-from-position: 0%; --tw-gradient-via-position: 50%; --tw-gradient-to-position: 100%; --tw-leading: initial; --tw-font-weight: initial; --tw-tracking: initial; --tw-shadow: 0 0 #0000; --tw-shadow-color: initial; --tw-shadow-alpha: 100%; --tw-inset-shadow: 0 0 #0000; --tw-inset-shadow-color: initial; --tw-inset-shadow-alpha: 100%; --tw-ring-color: initial; --tw-ring-shadow: 0 0 #0000; --tw-inset-ring-color: initial; --tw-inset-ring-shadow: 0 0 #0000; --tw-ring-inset: initial; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-blur: initial; --tw-brightness: initial; --tw-contrast: initial; --tw-grayscale: initial; --tw-hue-rotate: initial; --tw-invert: initial; --tw-opacity: initial; --tw-saturate: initial; --tw-sepia: initial; --tw-drop-shadow: initial; --tw-drop-shadow-color: initial; --tw-drop-shadow-alpha: 100%; --tw-drop-shadow-size: initial; --tw-duration: initial; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scale-z: 1; --tw-backdrop-blur: initial; --tw-backdrop-brightness: initial; --tw-backdrop-contrast: initial; --tw-backdrop-grayscale: initial; --tw-backdrop-hue-rotate: initial; --tw-backdrop-invert: initial; --tw-backdrop-opacity: initial; --tw-backdrop-saturate: initial; --tw-backdrop-sepia: initial; }
}
}

@layer theme {
  :root, :host { --font-sans: "Inter", ui-sans-serif, system-ui, sans-serif; --font-serif: "Cormorant Garamond", ui-serif, Georgia, Cambria, "Times New Roman", Times, serif; --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; --color-white: #fff; --spacing: .25rem; --container-sm: 24rem; --container-md: 28rem; --container-2xl: 42rem; --container-3xl: 48rem; --container-4xl: 56rem; --text-xs: .75rem; --text-xs--line-height: calc(1 / .75); --text-sm: .875rem; --text-sm--line-height: calc(1.25 / .875); --text-lg: 1.125rem; --text-lg--line-height: calc(1.75 / 1.125); --text-xl: 1.25rem; --text-xl--line-height: calc(1.75 / 1.25); --text-2xl: 1.5rem; --text-2xl--line-height: calc(2 / 1.5); --text-3xl: 1.875rem; --text-3xl--line-height: 1.2; --text-4xl: 2.25rem; --text-4xl--line-height: calc(2.5 / 2.25); --text-5xl: 3rem; --text-5xl--line-height: 1; --text-6xl: 3.75rem; --text-6xl--line-height: 1; --text-7xl: 4.5rem; --text-7xl--line-height: 1; --text-8xl: 6rem; --text-8xl--line-height: 1; --text-9xl: 8rem; --text-9xl--line-height: 1; --font-weight-light: 300; --font-weight-medium: 500; --font-weight-bold: 700; --tracking-tighter: -.05em; --tracking-tight: -.025em; --tracking-wider: .05em; --tracking-widest: .1em; --leading-tight: 1.25; --leading-relaxed: 1.625; --radius-lg: .5rem; --radius-2xl: 1rem; --drop-shadow-md: 0 3px 3px #0000001f; --drop-shadow-lg: 0 4px 4px #00000026; --blur-md: 12px; --blur-xl: 24px; --blur-3xl: 64px; --default-transition-duration: .15s; --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1); --default-font-family: var(--font-sans); --default-mono-font-family: var(--font-mono); --color-stone-white: #f2f7fb; --color-olive-green: #1b7fc4; --color-warm-beige: #dbe9f6; --color-soft-brown: #44647f; --color-dark-olive: #0c2c48; --color-dark: #0f3a5e; }
}

@layer base {
  *, ::after, ::before, ::backdrop { box-sizing: border-box; border: 0px solid; margin: 0px; padding: 0px; }
  ::file-selector-button { box-sizing: border-box; border: 0px solid; margin: 0px; padding: 0px; }
  html, :host { text-size-adjust: 100%; tab-size: 4; line-height: 1.5; font-family: var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"); font-feature-settings: var(--default-font-feature-settings,normal); font-variation-settings: var(--default-font-variation-settings,normal); -webkit-tap-highlight-color: transparent; }
  hr { height: 0px; color: inherit; border-top-width: 1px; }
  abbr:where([title]) { text-decoration: underline dotted; }
  h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit; }
  a { color: inherit; text-decoration: inherit; }
  b, strong { font-weight: bolder; }
  code, kbd, samp, pre { font-family: var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace); font-feature-settings: var(--default-mono-font-feature-settings,normal); font-variation-settings: var(--default-mono-font-variation-settings,normal); font-size: 1em; }
  small { font-size: 80%; }
  sub, sup { vertical-align: baseline; font-size: 75%; line-height: 0; position: relative; }
  sub { bottom: -0.25em; }
  sup { top: -0.5em; }
  table { text-indent: 0px; border-color: inherit; border-collapse: collapse; }
  progress { vertical-align: baseline; }
  summary { display: list-item; }
  ol, ul, menu { list-style: none; }
  img, svg, video, canvas, audio, iframe, embed, object { vertical-align: middle; display: block; }
  img, video { max-width: 100%; height: auto; }
  button, input, select, optgroup, textarea { font: inherit; letter-spacing: inherit; color: inherit; opacity: 1; background-color: rgba(0, 0, 0, 0); border-radius: 0px; }
  ::file-selector-button { font: inherit; letter-spacing: inherit; color: inherit; opacity: 1; background-color: rgba(0, 0, 0, 0); border-radius: 0px; }
  :where(select:is([multiple], [size])) optgroup { font-weight: bolder; }
  :where(select:is([multiple], [size])) optgroup option { padding-inline-start: 20px; }
  ::file-selector-button { margin-inline-end: 4px; }
  ::placeholder { opacity: 1; }
  @supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px) {
  ::placeholder { color: currentcolor; }
  @supports (color:color-mix(in lab,red,red)) {
  ::placeholder { color: color-mix(currentcolor, transparent); }
}
}
  textarea { resize: vertical; }
  ::-webkit-search-decoration { appearance: none; }
  ::-webkit-date-and-time-value { min-height: 1lh; text-align: inherit; }
  ::-webkit-datetime-edit { display: inline-flex; }
  ::-webkit-datetime-edit-fields-wrapper { padding: 0px; }
  ::-webkit-datetime-edit { padding-block: 0px; }
  ::-webkit-datetime-edit-year-field { padding-block: 0px; }
  ::-webkit-datetime-edit-month-field { padding-block: 0px; }
  ::-webkit-datetime-edit-day-field { padding-block: 0px; }
  ::-webkit-datetime-edit-hour-field { padding-block: 0px; }
  ::-webkit-datetime-edit-minute-field { padding-block: 0px; }
  ::-webkit-datetime-edit-second-field { padding-block: 0px; }
  ::-webkit-datetime-edit-millisecond-field { padding-block: 0px; }
  ::-webkit-datetime-edit-meridiem-field { padding-block: 0px; }
  ::-webkit-calendar-picker-indicator { line-height: 1; }
  button, input:where([type="button"], [type="reset"], [type="submit"]) { appearance: button; }
  ::file-selector-button { appearance: button; }
  ::-webkit-inner-spin-button { height: auto; }
  ::-webkit-outer-spin-button { height: auto; }
  [hidden]:where(:not([hidden="until-found"])) { display: none !important; }
  body { background-color: var(--color-stone-white); font-family: var(--font-sans); color: var(--color-dark); -webkit-font-smoothing: antialiased; }
  body ::selection { background-color: var(--color-olive-green); }
  body::selection { background-color: var(--color-olive-green); }
  body ::selection { color: var(--color-stone-white); }
  body::selection { color: var(--color-stone-white); }
  h1, h2, h3, h4, h5, h6 { font-family: var(--font-serif); --tw-font-weight: var(--font-weight-light); font-weight: var(--font-weight-light); --tw-tracking: var(--tracking-tight); letter-spacing: var(--tracking-tight); }
}

@layer components;

@layer utilities {
  .pointer-events-none { pointer-events: none; }
  .absolute { position: absolute; }
  .fixed { position: fixed; }
  .relative { position: relative; }
  .sticky { position: sticky; }
  .inset-0 { inset: 0px; }
  .-top-20 { top: calc(var(--spacing) * -20); }
  .top-0 { top: 0px; }
  .top-1\/2 { top: 50%; }
  .top-1\/3 { top: 33.3333%; }
  .top-1\/4 { top: 25%; }
  .top-2\/4 { top: 50%; }
  .top-8 { top: calc(var(--spacing) * 8); }
  .-right-20 { right: calc(var(--spacing) * -20); }
  .right-0 { right: 0px; }
  .right-6 { right: calc(var(--spacing) * 6); }
  .right-8 { right: calc(var(--spacing) * 8); }
  .bottom-8 { bottom: calc(var(--spacing) * 8); }
  .left-0 { left: 0px; }
  .left-1\/2 { left: 50%; }
  .z-0 { z-index: 0; }
  .z-10 { z-index: 10; }
  .z-50 { z-index: 50; }
  .z-\[60\] { z-index: 60; }
  .order-1 { order: 1; }
  .order-2 { order: 2; }
  .container { width: 100%; }
  @media (min-width: 40rem) {
  .container { max-width: 40rem; }
}
  @media (min-width: 48rem) {
  .container { max-width: 48rem; }
}
  @media (min-width: 64rem) {
  .container { max-width: 64rem; }
}
  @media (min-width: 80rem) {
  .container { max-width: 80rem; }
}
  @media (min-width: 96rem) {
  .container { max-width: 96rem; }
}
  .mx-auto { margin-inline: auto; }
  .mt-3 { margin-top: calc(var(--spacing) * 3); }
  .mt-8 { margin-top: calc(var(--spacing) * 8); }
  .mt-12 { margin-top: calc(var(--spacing) * 12); }
  .mt-20 { margin-top: calc(var(--spacing) * 20); }
  .mt-auto { margin-top: auto; }
  .mr-\[0\.25em\] { margin-right: 0.25em; }
  .mb-3 { margin-bottom: calc(var(--spacing) * 3); }
  .mb-4 { margin-bottom: calc(var(--spacing) * 4); }
  .mb-6 { margin-bottom: calc(var(--spacing) * 6); }
  .mb-8 { margin-bottom: calc(var(--spacing) * 8); }
  .mb-10 { margin-bottom: calc(var(--spacing) * 10); }
  .mb-12 { margin-bottom: calc(var(--spacing) * 12); }
  .mb-16 { margin-bottom: calc(var(--spacing) * 16); }
  .mb-20 { margin-bottom: calc(var(--spacing) * 20); }
  .mb-24 { margin-bottom: calc(var(--spacing) * 24); }
  .mb-32 { margin-bottom: calc(var(--spacing) * 32); }
  .block { display: block; }
  .flex { display: flex; }
  .grid { display: grid; }
  .hidden { display: none; }
  .inline-block { display: inline-block; }
  .inline-flex { display: inline-flex; }
  .aspect-\[3\/4\] { aspect-ratio: 3 / 4; }
  .aspect-\[4\/3\] { aspect-ratio: 4 / 3; }
  .aspect-\[4\/5\] { aspect-ratio: 4 / 5; }
  .aspect-square { aspect-ratio: 1 / 1; }
  .h-4 { height: calc(var(--spacing) * 4); }
  .h-5 { height: calc(var(--spacing) * 5); }
  .h-6 { height: calc(var(--spacing) * 6); }
  .h-8 { height: calc(var(--spacing) * 8); }
  .h-12 { height: calc(var(--spacing) * 12); }
  .h-40 { height: calc(var(--spacing) * 40); }
  .h-64 { height: calc(var(--spacing) * 64); }
  .h-96 { height: calc(var(--spacing) * 96); }
  .h-\[1px\] { height: 1px; }
  .h-\[50vh\] { height: 50vh; }
  .h-\[65vh\] { height: 65vh; }
  .h-\[70vh\] { height: 70vh; }
  .h-\[80vh\] { height: 80vh; }
  .h-\[85vh\] { height: 85vh; }
  .h-\[300vh\] { height: 300vh; }
  .h-full { height: 100%; }
  .h-screen { height: 100vh; }
  .min-h-screen { min-height: 100vh; }
  .w-4 { width: calc(var(--spacing) * 4); }
  .w-5 { width: calc(var(--spacing) * 5); }
  .w-6 { width: calc(var(--spacing) * 6); }
  .w-8 { width: calc(var(--spacing) * 8); }
  .w-12 { width: calc(var(--spacing) * 12); }
  .w-32 { width: calc(var(--spacing) * 32); }
  .w-40 { width: calc(var(--spacing) * 40); }
  .w-64 { width: calc(var(--spacing) * 64); }
  .w-96 { width: calc(var(--spacing) * 96); }
  .w-\[85vw\] { width: 85vw; }
  .w-\[90vw\] { width: 90vw; }
  .w-\[300vw\] { width: 300vw; }
  .w-full { width: 100%; }
  .max-w-2xl { max-width: var(--container-2xl); }
  .max-w-3xl { max-width: var(--container-3xl); }
  .max-w-4xl { max-width: var(--container-4xl); }
  .max-w-\[320px\] { max-width: 320px; }
  .max-w-md { max-width: var(--container-md); }
  .max-w-sm { max-width: var(--container-sm); }
  .flex-1 { flex: 1 1 0%; }
  .shrink-0 { flex-shrink: 0; }
  .flex-grow { flex-grow: 1; }
  .-translate-x-1\/2 { --tw-translate-x: -50%; translate: var(--tw-translate-x) var(--tw-translate-y); }
  .translate-x-1\/2 { --tw-translate-x: 50%; translate: var(--tw-translate-x) var(--tw-translate-y); }
  .-translate-y-1\/2 { --tw-translate-y: -50%; translate: var(--tw-translate-x) var(--tw-translate-y); }
  .rotate-180 { rotate: 180deg; }
  .transform { transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,); }
  .cursor-none { cursor: none; }
  .cursor-pointer { cursor: pointer; }
  .resize-none { resize: none; }
  .appearance-none { appearance: none; }
  .grid-cols-1 { grid-template-columns: repeat(1, minmax(0px, 1fr)); }
  .grid-cols-2 { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
  .flex-col { flex-direction: column; }
  .items-center { align-items: center; }
  .items-end { align-items: flex-end; }
  .items-start { align-items: flex-start; }
  .justify-between { justify-content: space-between; }
  .justify-center { justify-content: center; }
  .justify-end { justify-content: flex-end; }
  .gap-2 { gap: calc(var(--spacing) * 2); }
  .gap-3 { gap: calc(var(--spacing) * 3); }
  .gap-4 { gap: calc(var(--spacing) * 4); }
  .gap-6 { gap: calc(var(--spacing) * 6); }
  .gap-8 { gap: calc(var(--spacing) * 8); }
  .gap-10 { gap: calc(var(--spacing) * 10); }
  .gap-12 { gap: calc(var(--spacing) * 12); }
  .gap-16 { gap: calc(var(--spacing) * 16); }
  .gap-24 { gap: calc(var(--spacing) * 24); }
  .gap-32 { gap: calc(var(--spacing) * 32); }
  :where(.space-y-4 > :not(:last-child)) { --tw-space-y-reverse: 0; margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse)); margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse))); }
  :where(.space-y-6 > :not(:last-child)) { --tw-space-y-reverse: 0; margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse)); margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse))); }
  :where(.space-y-8 > :not(:last-child)) { --tw-space-y-reverse: 0; margin-block-start: calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse)); margin-block-end: calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse))); }
  :where(.space-y-12 > :not(:last-child)) { --tw-space-y-reverse: 0; margin-block-start: calc(calc(var(--spacing) * 12) * var(--tw-space-y-reverse)); margin-block-end: calc(calc(var(--spacing) * 12) * calc(1 - var(--tw-space-y-reverse))); }
  :where(.space-y-16 > :not(:last-child)) { --tw-space-y-reverse: 0; margin-block-start: calc(calc(var(--spacing) * 16) * var(--tw-space-y-reverse)); margin-block-end: calc(calc(var(--spacing) * 16) * calc(1 - var(--tw-space-y-reverse))); }
  .gap-x-12 { column-gap: calc(var(--spacing) * 12); }
  .gap-y-20 { row-gap: calc(var(--spacing) * 20); }
  .overflow-hidden { overflow: hidden; }
  .rounded-2xl { border-radius: var(--radius-2xl); }
  .rounded-full { border-radius: 3.40282e+38px; }
  .rounded-lg { border-radius: var(--radius-lg); }
  .rounded-none { border-radius: 0px; }
  .border { border-style: var(--tw-border-style); border-width: 1px; }
  .border-y { border-block-style: var(--tw-border-style); border-block-width: 1px; }
  .border-t { border-top-style: var(--tw-border-style); border-top-width: 1px; }
  .border-b { border-bottom-style: var(--tw-border-style); border-bottom-width: 1px; }
  .border-l { border-left-style: var(--tw-border-style); border-left-width: 1px; }
  .border-dark-olive { border-color: var(--color-dark-olive); }
  .border-dark-olive\/10 { border-color: rgba(12, 44, 72, 0.1); }
  @supports (color:color-mix(in lab,red,red)) {
  .border-dark-olive\/10 { border-color: color-mix(in oklab,var(--color-dark-olive) 10%,transparent); }
}
  .border-dark-olive\/20 { border-color: rgba(12, 44, 72, 0.2); }
  @supports (color:color-mix(in lab,red,red)) {
  .border-dark-olive\/20 { border-color: color-mix(in oklab,var(--color-dark-olive) 20%,transparent); }
}
  .border-olive-green { border-color: var(--color-olive-green); }
  .border-olive-green\/10 { border-color: rgba(27, 127, 196, 0.1); }
  @supports (color:color-mix(in lab,red,red)) {
  .border-olive-green\/10 { border-color: color-mix(in oklab,var(--color-olive-green) 10%,transparent); }
}
  .border-olive-green\/20 { border-color: rgba(27, 127, 196, 0.2); }
  @supports (color:color-mix(in lab,red,red)) {
  .border-olive-green\/20 { border-color: color-mix(in oklab,var(--color-olive-green) 20%,transparent); }
}
  .border-soft-brown\/30 { border-color: rgba(27, 127, 196, 0.3); }
  @supports (color:color-mix(in lab,red,red)) {
  .border-soft-brown\/30 { border-color: color-mix(in oklab,var(--color-soft-brown) 30%,transparent); }
}
  .border-stone-white\/10 { border-color: rgba(242, 247, 251, 0.1); }
  @supports (color:color-mix(in lab,red,red)) {
  .border-stone-white\/10 { border-color: color-mix(in oklab,var(--color-stone-white) 10%,transparent); }
}
  .border-stone-white\/20 { border-color: rgba(242, 247, 251, 0.2); }
  @supports (color:color-mix(in lab,red,red)) {
  .border-stone-white\/20 { border-color: color-mix(in oklab,var(--color-stone-white) 20%,transparent); }
}
  .border-stone-white\/30 { border-color: rgba(242, 247, 251, 0.3); }
  @supports (color:color-mix(in lab,red,red)) {
  .border-stone-white\/30 { border-color: color-mix(in oklab,var(--color-stone-white) 30%,transparent); }
}
  .border-stone-white\/50 { border-color: rgba(242, 247, 251, 0.5); }
  @supports (color:color-mix(in lab,red,red)) {
  .border-stone-white\/50 { border-color: color-mix(in oklab,var(--color-stone-white) 50%,transparent); }
}
  .bg-\[\#1b7fc4\]\/5 { background-color: rgba(27, 127, 196, 0.05); }
  .bg-\[\#7360F2\] { background-color: rgb(115, 96, 242); }
  .bg-dark { background-color: var(--color-dark); }
  .bg-olive-green { background-color: var(--color-olive-green); }
  .bg-olive-green\/5 { background-color: rgba(27, 127, 196, 0.05); }
  @supports (color:color-mix(in lab,red,red)) {
  .bg-olive-green\/5 { background-color: color-mix(in oklab,var(--color-olive-green) 5%,transparent); }
}
  .bg-stone-white { background-color: var(--color-stone-white); }
  .bg-stone-white\/50 { background-color: rgba(242, 247, 251, 0.5); }
  @supports (color:color-mix(in lab,red,red)) {
  .bg-stone-white\/50 { background-color: color-mix(in oklab,var(--color-stone-white) 50%,transparent); }
}
  .bg-transparent { background-color: rgba(0, 0, 0, 0); }
  .bg-warm-beige { background-color: var(--color-warm-beige); }
  .bg-gradient-to-b { --tw-gradient-position: to bottom in oklab; background-image: linear-gradient(var(--tw-gradient-stops)); }
  .bg-gradient-to-t { --tw-gradient-position: to top in oklab; background-image: linear-gradient(var(--tw-gradient-stops)); }
  .bg-\[radial-gradient\(\#1b7fc4_1px\,transparent_1px\)\] { background-image: radial-gradient(rgb(27, 127, 196) 1px, rgba(0, 0, 0, 0) 1px); }
  .bg-\[radial-gradient\(circle_at_50\%_50\%\,\#dbe9f6_0\%\,transparent_60\%\)\] { background-image: radial-gradient(circle, rgb(219, 233, 246), rgba(0, 0, 0, 0) 60%); }
  .from-dark\/50 { --tw-gradient-from: #0f3a5e80; }
  @supports (color:color-mix(in lab,red,red)) {
  .from-dark\/50 { --tw-gradient-from: color-mix(in oklab, var(--color-dark) 50%, transparent); }
}
  .from-dark\/50 { --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }
  .from-dark\/80 { --tw-gradient-from: #0f3a5ecc; }
  @supports (color:color-mix(in lab,red,red)) {
  .from-dark\/80 { --tw-gradient-from: color-mix(in oklab, var(--color-dark) 80%, transparent); }
}
  .from-dark\/80 { --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }
  .via-transparent { --tw-gradient-via: transparent; --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-via-stops); }
  .to-dark\/90 { --tw-gradient-to: #0f3a5ee6; }
  @supports (color:color-mix(in lab,red,red)) {
  .to-dark\/90 { --tw-gradient-to: color-mix(in oklab, var(--color-dark) 90%, transparent); }
}
  .to-dark\/90 { --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }
  .to-transparent { --tw-gradient-to: transparent; --tw-gradient-stops: var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }
  .\[background-size\:20px_20px\] { background-size: 20px 20px; }
  .object-cover { object-fit: cover; }
  .p-2 { padding: calc(var(--spacing) * 2); }
  .p-6 { padding: calc(var(--spacing) * 6); }
  .p-8 { padding: calc(var(--spacing) * 8); }
  .p-12 { padding: calc(var(--spacing) * 12); }
  .px-4 { padding-inline: calc(var(--spacing) * 4); }
  .px-6 { padding-inline: calc(var(--spacing) * 6); }
  .px-8 { padding-inline: calc(var(--spacing) * 8); }
  .px-12 { padding-inline: calc(var(--spacing) * 12); }
  .py-3 { padding-block: calc(var(--spacing) * 3); }
  .py-4 { padding-block: calc(var(--spacing) * 4); }
  .py-5 { padding-block: calc(var(--spacing) * 5); }
  .py-6 { padding-block: calc(var(--spacing) * 6); }
  .py-8 { padding-block: calc(var(--spacing) * 8); }
  .py-16 { padding-block: calc(var(--spacing) * 16); }
  .py-24 { padding-block: calc(var(--spacing) * 24); }
  .py-32 { padding-block: calc(var(--spacing) * 32); }
  .py-40 { padding-block: calc(var(--spacing) * 40); }
  .pt-4 { padding-top: calc(var(--spacing) * 4); }
  .pt-6 { padding-top: calc(var(--spacing) * 6); }
  .pt-12 { padding-top: calc(var(--spacing) * 12); }
  .pt-32 { padding-top: calc(var(--spacing) * 32); }
  .pt-48 { padding-top: calc(var(--spacing) * 48); }
  .pr-8 { padding-right: calc(var(--spacing) * 8); }
  .pb-1 { padding-bottom: var(--spacing); }
  .pb-2 { padding-bottom: calc(var(--spacing) * 2); }
  .pb-4 { padding-bottom: calc(var(--spacing) * 4); }
  .pb-6 { padding-bottom: calc(var(--spacing) * 6); }
  .pb-8 { padding-bottom: calc(var(--spacing) * 8); }
  .pb-12 { padding-bottom: calc(var(--spacing) * 12); }
  .pb-24 { padding-bottom: calc(var(--spacing) * 24); }
  .pb-32 { padding-bottom: calc(var(--spacing) * 32); }
  .pl-6 { padding-left: calc(var(--spacing) * 6); }
  .pl-8 { padding-left: calc(var(--spacing) * 8); }
  .text-center { text-align: center; }
  .text-left { text-align: left; }
  .font-sans { font-family: var(--font-sans); }
  .font-serif { font-family: var(--font-serif); }
  .text-2xl { font-size: var(--text-2xl); line-height: var(--tw-leading,var(--text-2xl--line-height)); }
  .text-3xl { font-size: var(--text-3xl); line-height: var(--tw-leading,var(--text-3xl--line-height)); }
  .text-4xl { font-size: var(--text-4xl); line-height: var(--tw-leading,var(--text-4xl--line-height)); }
  .text-5xl { font-size: var(--text-5xl); line-height: var(--tw-leading,var(--text-5xl--line-height)); }
  .text-6xl { font-size: var(--text-6xl); line-height: var(--tw-leading,var(--text-6xl--line-height)); }
  .text-lg { font-size: var(--text-lg); line-height: var(--tw-leading,var(--text-lg--line-height)); }
  .text-sm { font-size: var(--text-sm); line-height: var(--tw-leading,var(--text-sm--line-height)); }
  .text-xl { font-size: var(--text-xl); line-height: var(--tw-leading,var(--text-xl--line-height)); }
  .text-xs { font-size: var(--text-xs); line-height: var(--tw-leading,var(--text-xs--line-height)); }
  .text-\[10px\] { font-size: 10px; }
  .text-\[15vw\] { font-size: 15vw; }
  .text-\[20vw\] { font-size: 20vw; }
  .leading-\[1\.05\] { --tw-leading: 1.05; line-height: 1.05; }
  .leading-none { --tw-leading: 1; line-height: 1; }
  .leading-relaxed { --tw-leading: var(--leading-relaxed); line-height: var(--leading-relaxed); }
  .leading-tight { --tw-leading: var(--leading-tight); line-height: var(--leading-tight); }
  .font-bold { --tw-font-weight: var(--font-weight-bold); font-weight: var(--font-weight-bold); }
  .font-light { --tw-font-weight: var(--font-weight-light); font-weight: var(--font-weight-light); }
  .font-medium { --tw-font-weight: var(--font-weight-medium); font-weight: var(--font-weight-medium); }
  .tracking-\[0\.2em\] { --tw-tracking: .2em; letter-spacing: 0.2em; }
  .tracking-\[0\.3em\] { --tw-tracking: .3em; letter-spacing: 0.3em; }
  .tracking-tight { --tw-tracking: var(--tracking-tight); letter-spacing: var(--tracking-tight); }
  .tracking-tighter { --tw-tracking: var(--tracking-tighter); letter-spacing: var(--tracking-tighter); }
  .tracking-wider { --tw-tracking: var(--tracking-wider); letter-spacing: var(--tracking-wider); }
  .tracking-widest { --tw-tracking: var(--tracking-widest); letter-spacing: var(--tracking-widest); }
  .whitespace-nowrap { white-space: nowrap; }
  .text-dark { color: var(--color-dark); }
  .text-dark-olive { color: var(--color-dark-olive); }
  .text-olive-green { color: var(--color-olive-green); }
  .text-olive-green\/20 { color: rgba(27, 127, 196, 0.2); }
  @supports (color:color-mix(in lab,red,red)) {
  .text-olive-green\/20 { color: color-mix(in oklab,var(--color-olive-green) 20%,transparent); }
}
  .text-olive-green\/30 { color: rgba(27, 127, 196, 0.3); }
  @supports (color:color-mix(in lab,red,red)) {
  .text-olive-green\/30 { color: color-mix(in oklab,var(--color-olive-green) 30%,transparent); }
}
  .text-soft-brown { color: var(--color-soft-brown); }
  .text-stone-white { color: var(--color-stone-white); }
  .text-stone-white\/10 { color: rgba(242, 247, 251, 0.1); }
  @supports (color:color-mix(in lab,red,red)) {
  .text-stone-white\/10 { color: color-mix(in oklab,var(--color-stone-white) 10%,transparent); }
}
  .text-stone-white\/40 { color: rgba(242, 247, 251, 0.4); }
  @supports (color:color-mix(in lab,red,red)) {
  .text-stone-white\/40 { color: color-mix(in oklab,var(--color-stone-white) 40%,transparent); }
}
  .text-stone-white\/50 { color: rgba(242, 247, 251, 0.5); }
  @supports (color:color-mix(in lab,red,red)) {
  .text-stone-white\/50 { color: color-mix(in oklab,var(--color-stone-white) 50%,transparent); }
}
  .text-stone-white\/60 { color: rgba(242, 247, 251, 0.6); }
  @supports (color:color-mix(in lab,red,red)) {
  .text-stone-white\/60 { color: color-mix(in oklab,var(--color-stone-white) 60%,transparent); }
}
  .text-stone-white\/70 { color: rgba(242, 247, 251, 0.7); }
  @supports (color:color-mix(in lab,red,red)) {
  .text-stone-white\/70 { color: color-mix(in oklab,var(--color-stone-white) 70%,transparent); }
}
  .text-stone-white\/80 { color: rgba(242, 247, 251, 0.8); }
  @supports (color:color-mix(in lab,red,red)) {
  .text-stone-white\/80 { color: color-mix(in oklab,var(--color-stone-white) 80%,transparent); }
}
  .text-white { color: var(--color-white); }
  .uppercase { text-transform: uppercase; }
  .italic { font-style: italic; }
  .opacity-5 { opacity: 0.05; }
  .opacity-10 { opacity: 0.1; }
  .opacity-20 { opacity: 0.2; }
  .opacity-50 { opacity: 0.5; }
  .opacity-60 { opacity: 0.6; }
  .opacity-70 { opacity: 0.7; }
  .opacity-80 { opacity: 0.8; }
  .opacity-\[0\.02\] { opacity: 0.02; }
  .opacity-\[0\.03\] { opacity: 0.03; }
  .shadow-2xl { --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color,#00000040); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }
  .shadow-md { --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }
  .shadow-sm { --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }
  .shadow-xl { --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }
  .blur-3xl { --tw-blur: blur(var(--blur-3xl)); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }
  .drop-shadow-lg { --tw-drop-shadow-size: drop-shadow(0 4px 4px var(--tw-drop-shadow-color,#00000026)); --tw-drop-shadow: drop-shadow(var(--drop-shadow-lg)); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }
  .drop-shadow-md { --tw-drop-shadow-size: drop-shadow(0 3px 3px var(--tw-drop-shadow-color,#0000001f)); --tw-drop-shadow: drop-shadow(var(--drop-shadow-md)); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }
  .grayscale { --tw-grayscale: grayscale(100%); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }
  .filter { filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }
  .transition { transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }
  .transition-all { transition-property: all; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }
  .transition-colors { transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }
  .transition-opacity { transition-property: opacity; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }
  .transition-shadow { transition-property: box-shadow; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }
  .transition-transform { transition-property: transform, translate, scale, rotate; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }
  .duration-300 { --tw-duration: .3s; transition-duration: 0.3s; }
  .duration-500 { --tw-duration: .5s; transition-duration: 0.5s; }
  .duration-700 { --tw-duration: .7s; transition-duration: 0.7s; }
  .duration-1000 { --tw-duration: 1s; transition-duration: 1s; }
  .select-none { user-select: none; }
  .group-focus-within\:text-olive-green:is(:where(.group):focus-within *) { color: var(--color-olive-green); }
  @media (hover: hover) {
  .group-hover\:translate-x-2:is(:where(.group):hover *) { --tw-translate-x: calc(var(--spacing) * 2); translate: var(--tw-translate-x) var(--tw-translate-y); }
  .group-hover\:scale-105:is(:where(.group):hover *) { --tw-scale-x: 105%; --tw-scale-y: 105%; --tw-scale-z: 105%; scale: var(--tw-scale-x) var(--tw-scale-y); }
  .group-hover\:scale-110:is(:where(.group):hover *) { --tw-scale-x: 110%; --tw-scale-y: 110%; --tw-scale-z: 110%; scale: var(--tw-scale-x) var(--tw-scale-y); }
  .group-hover\:border-olive-green:is(:where(.group):hover *) { border-color: var(--color-olive-green); }
  .group-hover\:text-olive-green:is(:where(.group):hover *) { color: var(--color-olive-green); }
  .group-hover\:opacity-100:is(:where(.group):hover *) { opacity: 1; }
  .group-hover\:shadow-2xl:is(:where(.group):hover *) { --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color,#00000040); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }
  .group-hover\:grayscale-0:is(:where(.group):hover *) { --tw-grayscale: grayscale(0%); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }
}
  .selection\:bg-olive-green ::selection { background-color: var(--color-olive-green); }
  .selection\:bg-olive-green::selection { background-color: var(--color-olive-green); }
  .selection\:text-stone-white ::selection { color: var(--color-stone-white); }
  .selection\:text-stone-white::selection { color: var(--color-stone-white); }
  @media (hover: hover) {
  .hover\:border-olive-green:hover { border-color: var(--color-olive-green); }
  .hover\:border-stone-white:hover { border-color: var(--color-stone-white); }
  .hover\:bg-dark-olive:hover { background-color: var(--color-dark-olive); }
  .hover\:bg-olive-green:hover { background-color: var(--color-olive-green); }
  .hover\:bg-stone-white:hover { background-color: var(--color-stone-white); }
  .hover\:text-olive-green:hover { color: var(--color-olive-green); }
  .hover\:text-stone-white:hover { color: var(--color-stone-white); }
  .hover\:text-stone-white\/70:hover { color: rgba(242, 247, 251, 0.7); }
  @supports (color:color-mix(in lab,red,red)) {
  .hover\:text-stone-white\/70:hover { color: color-mix(in oklab,var(--color-stone-white) 70%,transparent); }
}
  .hover\:opacity-50:hover { opacity: 0.5; }
  .hover\:opacity-80:hover { opacity: 0.8; }
  .hover\:grayscale-0:hover { --tw-grayscale: grayscale(0%); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }
}
  .focus\:border-olive-green:focus { border-color: var(--color-olive-green); }
  .focus\:outline-none:focus { --tw-outline-style: none; outline-style: none; }
  @media (min-width: 40rem) {
  .sm\:flex-row { flex-direction: row; }
  .sm\:items-center { align-items: center; }
}
  @media (min-width: 48rem) {
  .md\:right-12 { right: calc(var(--spacing) * 12); }
  .md\:mt-12 { margin-top: calc(var(--spacing) * 12); }
  .md\:mt-16 { margin-top: calc(var(--spacing) * 16); }
  .md\:mt-24 { margin-top: calc(var(--spacing) * 24); }
  .md\:mb-40 { margin-bottom: calc(var(--spacing) * 40); }
  .md\:block { display: block; }
  .md\:h-56 { height: calc(var(--spacing) * 56); }
  .md\:w-56 { width: calc(var(--spacing) * 56); }
  .md\:w-\[75vw\] { width: 75vw; }
  .md\:cursor-auto { cursor: auto; }
  .md\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
  .md\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0px, 1fr)); }
  .md\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0px, 1fr)); }
  .md\:flex-row { flex-direction: row; }
  .md\:items-center { align-items: center; }
  .md\:items-end { align-items: flex-end; }
  .md\:justify-end { justify-content: flex-end; }
  .md\:gap-12 { gap: calc(var(--spacing) * 12); }
  .md\:px-12 { padding-inline: calc(var(--spacing) * 12); }
  .md\:px-24 { padding-inline: calc(var(--spacing) * 24); }
  .md\:pb-32 { padding-bottom: calc(var(--spacing) * 32); }
  .md\:text-2xl { font-size: var(--text-2xl); line-height: var(--tw-leading,var(--text-2xl--line-height)); }
  .md\:text-3xl { font-size: var(--text-3xl); line-height: var(--tw-leading,var(--text-3xl--line-height)); }
  .md\:text-4xl { font-size: var(--text-4xl); line-height: var(--tw-leading,var(--text-4xl--line-height)); }
  .md\:text-5xl { font-size: var(--text-5xl); line-height: var(--tw-leading,var(--text-5xl--line-height)); }
  .md\:text-6xl { font-size: var(--text-6xl); line-height: var(--tw-leading,var(--text-6xl--line-height)); }
  .md\:text-7xl { font-size: var(--text-7xl); line-height: var(--tw-leading,var(--text-7xl--line-height)); }
  .md\:text-8xl { font-size: var(--text-8xl); line-height: var(--tw-leading,var(--text-8xl--line-height)); }
  .md\:text-lg { font-size: var(--text-lg); line-height: var(--tw-leading,var(--text-lg--line-height)); }
  .md\:text-xl { font-size: var(--text-xl); line-height: var(--tw-leading,var(--text-xl--line-height)); }
}
  @media (min-width: 64rem) {
  .lg\:order-1 { order: 1; }
  .lg\:order-2 { order: 2; }
  .lg\:col-span-2 { grid-column: span 2 / span 2; }
  .lg\:col-span-5 { grid-column: span 5 / span 5; }
  .lg\:col-span-7 { grid-column: span 7 / span 7; }
  .lg\:mt-32 { margin-top: calc(var(--spacing) * 32); }
  .lg\:flex { display: flex; }
  .lg\:hidden { display: none; }
  .lg\:h-\[75vh\] { height: 75vh; }
  .lg\:w-\[65vw\] { width: 65vw; }
  .lg\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
  .lg\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0px, 1fr)); }
  .lg\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0px, 1fr)); }
  .lg\:grid-cols-12 { grid-template-columns: repeat(12, minmax(0px, 1fr)); }
  .lg\:gap-8 { gap: calc(var(--spacing) * 8); }
  .lg\:gap-24 { gap: calc(var(--spacing) * 24); }
  .lg\:gap-32 { gap: calc(var(--spacing) * 32); }
  .lg\:gap-40 { gap: calc(var(--spacing) * 40); }
  .lg\:p-20 { padding: calc(var(--spacing) * 20); }
  .lg\:px-24 { padding-inline: calc(var(--spacing) * 24); }
  .lg\:text-8xl { font-size: var(--text-8xl); line-height: var(--tw-leading,var(--text-8xl--line-height)); }
  .lg\:text-9xl { font-size: var(--text-9xl); line-height: var(--tw-leading,var(--text-9xl--line-height)); }
}
}

@keyframes fadeIn { 
  0% { opacity: 0; }
  100% { opacity: 1; }
}

@keyframes slideUp { 
  0% { opacity: 0; transform: translateY(40px); }
  100% { opacity: 1; transform: translateY(0px); }
}

.glass-nav { border-bottom-style: var(--tw-border-style); border-color: rgba(27, 127, 196, 0.1); border-bottom-width: 1px; }

@supports (color:color-mix(in lab,red,red)) {
  .glass-nav { border-color: color-mix(in oklab,var(--color-olive-green) 10%,transparent); }
}

.glass-nav { background-color: rgba(242, 247, 251, 0.6); }

@supports (color:color-mix(in lab,red,red)) {
  .glass-nav { background-color: color-mix(in oklab,var(--color-stone-white) 60%,transparent); }
}

.glass-nav { --tw-backdrop-blur: blur(var(--blur-md)); backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,); }

.glass-nav.scrolled { background-color: rgba(27, 127, 196, 0.9); border-color: rgba(0, 0, 0, 0); }

@supports (color:color-mix(in lab,red,red)) {
  .glass-nav.scrolled { background-color: color-mix(in oklab,var(--color-olive-green) 90%,transparent); }
}

.glass-nav.scrolled { color: var(--color-stone-white); --tw-backdrop-blur: blur(var(--blur-xl)); backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,); }

.custom-cursor { border: 1px solid var(--color-olive-green); pointer-events: none; z-index: 9999; border-radius: 50%; width: 20px; height: 20px; transition: transform 0.2s ease-out; position: fixed; transform: translate(-50%, -50%); }

.custom-cursor.hovering { background-color: var(--color-olive-green); opacity: 0.2; transform: translate(-50%, -50%) scale(1.5); }

.no-scrollbar::-webkit-scrollbar { display: none; }

.no-scrollbar { scrollbar-width: none; }

@property --tw-translate-x { syntax: "*"; inherits: false; initial-value: 0; }

@property --tw-translate-y { syntax: "*"; inherits: false; initial-value: 0; }

@property --tw-translate-z { syntax: "*"; inherits: false; initial-value: 0; }

@property --tw-rotate-x { syntax: "*"; inherits: false; }

@property --tw-rotate-y { syntax: "*"; inherits: false; }

@property --tw-rotate-z { syntax: "*"; inherits: false; }

@property --tw-skew-x { syntax: "*"; inherits: false; }

@property --tw-skew-y { syntax: "*"; inherits: false; }

@property --tw-space-y-reverse { syntax: "*"; inherits: false; initial-value: 0; }

@property --tw-border-style { syntax: "*"; inherits: false; initial-value: solid; }

@property --tw-gradient-position { syntax: "*"; inherits: false; }

@property --tw-gradient-from { syntax: "<color>"; inherits: false; initial-value: #0000; }

@property --tw-gradient-via { syntax: "<color>"; inherits: false; initial-value: #0000; }

@property --tw-gradient-to { syntax: "<color>"; inherits: false; initial-value: #0000; }

@property --tw-gradient-stops { syntax: "*"; inherits: false; }

@property --tw-gradient-via-stops { syntax: "*"; inherits: false; }

@property --tw-gradient-from-position { syntax: "<length-percentage>"; inherits: false; initial-value: 0%; }

@property --tw-gradient-via-position { syntax: "<length-percentage>"; inherits: false; initial-value: 50%; }

@property --tw-gradient-to-position { syntax: "<length-percentage>"; inherits: false; initial-value: 100%; }

@property --tw-leading { syntax: "*"; inherits: false; }

@property --tw-font-weight { syntax: "*"; inherits: false; }

@property --tw-tracking { syntax: "*"; inherits: false; }

@property --tw-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }

@property --tw-shadow-color { syntax: "*"; inherits: false; }

@property --tw-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }

@property --tw-inset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }

@property --tw-inset-shadow-color { syntax: "*"; inherits: false; }

@property --tw-inset-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }

@property --tw-ring-color { syntax: "*"; inherits: false; }

@property --tw-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }

@property --tw-inset-ring-color { syntax: "*"; inherits: false; }

@property --tw-inset-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }

@property --tw-ring-inset { syntax: "*"; inherits: false; }

@property --tw-ring-offset-width { syntax: "<length>"; inherits: false; initial-value: 0; }

@property --tw-ring-offset-color { syntax: "*"; inherits: false; initial-value: #fff; }

@property --tw-ring-offset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }

@property --tw-blur { syntax: "*"; inherits: false; }

@property --tw-brightness { syntax: "*"; inherits: false; }

@property --tw-contrast { syntax: "*"; inherits: false; }

@property --tw-grayscale { syntax: "*"; inherits: false; }

@property --tw-hue-rotate { syntax: "*"; inherits: false; }

@property --tw-invert { syntax: "*"; inherits: false; }

@property --tw-opacity { syntax: "*"; inherits: false; }

@property --tw-saturate { syntax: "*"; inherits: false; }

@property --tw-sepia { syntax: "*"; inherits: false; }

@property --tw-drop-shadow { syntax: "*"; inherits: false; }

@property --tw-drop-shadow-color { syntax: "*"; inherits: false; }

@property --tw-drop-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }

@property --tw-drop-shadow-size { syntax: "*"; inherits: false; }

@property --tw-duration { syntax: "*"; inherits: false; }

@property --tw-scale-x { syntax: "*"; inherits: false; initial-value: 1; }

@property --tw-scale-y { syntax: "*"; inherits: false; initial-value: 1; }

@property --tw-scale-z { syntax: "*"; inherits: false; initial-value: 1; }

@property --tw-backdrop-blur { syntax: "*"; inherits: false; }

@property --tw-backdrop-brightness { syntax: "*"; inherits: false; }

@property --tw-backdrop-contrast { syntax: "*"; inherits: false; }

@property --tw-backdrop-grayscale { syntax: "*"; inherits: false; }

@property --tw-backdrop-hue-rotate { syntax: "*"; inherits: false; }

@property --tw-backdrop-invert { syntax: "*"; inherits: false; }

@property --tw-backdrop-opacity { syntax: "*"; inherits: false; }

@property --tw-backdrop-saturate { syntax: "*"; inherits: false; }

@property --tw-backdrop-sepia { syntax: "*"; inherits: false; }



@keyframes dlnBounce { 0%,100% { transform: translateY(0); } 50% { transform: translateY(10px); } }
[data-anim="bounce"] { animation: dlnBounce 2s ease-in-out infinite; }
@keyframes dlnLoopA { from { transform: translateX(0); }     to { transform: translateX(-1000px); } }
@keyframes dlnLoopB { from { transform: translateX(-1000px); } to { transform: translateX(0); } }
[data-anim="loop"][data-from="0"]     { animation: dlnLoopA 50s linear infinite; }
[data-anim="loop"][data-from="-1000"] { animation: dlnLoopB 50s linear infinite; }
[data-anim="hero-img"], [data-anim="marq"] { will-change: transform; }
.faq-answer { display: none; padding-top: 1.25rem; max-width: 62ch; }
.faq-answer.open { display: block; }
.custom-cursor { position: fixed; width: 24px; height: 24px; margin: -12px 0 0 -12px;
  border: 1px solid rgba(242,247,251,.6); border-radius: 50%; pointer-events: none;
  z-index: 9999; mix-blend-mode: difference;
  transition: width .3s ease, height .3s ease, margin .3s ease, background-color .3s ease; }
.custom-cursor.hovering { width: 56px; height: 56px; margin: -28px 0 0 -28px;
  background: rgba(242,247,251,.15); }
@media (prefers-reduced-motion: reduce) {
  [data-anim="bounce"], [data-anim="loop"] { animation: none; }
}

/* ===================== CLINICBRAIN · καρδιολογικό ιατρείο ===================== */
:root { --cb-red: #d92b3f; --cb-blue: #1b7fc4; --cb-blue-soft: #7cc3ef; --cb-ink: #0c2c48; --cb-muted: #44647f; }
.cb-red { color: var(--cb-red); }
.cb-rule-red { background: var(--cb-red); }

/* ---- hero ---- */
.cb-hero-bg { background: linear-gradient(160deg,#0b2942 0%,#123f63 45%,#0d2c48 100%); }
.cb-hero-glow { position: absolute; inset: 0;
  background: radial-gradient(circle at 72% 28%, rgba(124,195,239,.30) 0%, transparent 58%),
              radial-gradient(circle at 18% 88%, rgba(217,43,63,.20) 0%, transparent 55%); }
.cb-hero-grid { position: absolute; inset: 0; opacity: .16;
  background-image: linear-gradient(rgba(124,195,239,.35) 1px, transparent 1px),
                    linear-gradient(90deg, rgba(124,195,239,.35) 1px, transparent 1px);
  background-size: 44px 44px;
  -webkit-mask-image: radial-gradient(circle at 50% 45%, #000 0%, transparent 72%);
          mask-image: radial-gradient(circle at 50% 45%, #000 0%, transparent 72%); }
.cb-hero-ecg { position: absolute; left: 0; right: 0; top: 30%; width: 100%; height: 40%; }
.cb-hero-ecg path { fill: none; stroke: var(--cb-blue-soft); stroke-width: 2.5;
  stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; opacity: .5;
  stroke-dasharray: 1200 1200; stroke-dashoffset: 1200; animation: cbTrace 7s linear infinite; }
@keyframes cbTrace { to { stroke-dashoffset: -1200; } }

/* ---- βιογραφικό ---- */
.cb-cv { list-style: none; margin: 0; padding: 0; border-top: 1px solid rgba(12,44,72,.14); }
.cb-cv li { display: grid; grid-template-columns: 1fr; gap: .35rem;
  padding: 1.15rem 0; border-bottom: 1px solid rgba(12,44,72,.14); }
@media (min-width: 768px) { .cb-cv li { grid-template-columns: 11rem 1fr; gap: 1.5rem; align-items: baseline; } }
.cb-cv__k { font-size: .68rem; letter-spacing: .2em; text-transform: uppercase; color: var(--cb-blue); }
.cb-cv__v { font-weight: 300; line-height: 1.7; color: var(--cb-muted); }

/* ---- εικαστικά panels υπηρεσιών ---- */
.cb-panel { position: relative; display: flex; align-items: center; justify-content: center;
  background: linear-gradient(150deg,#0d3253 0%,#164a75 100%); overflow: hidden; }
.cb-panel::before { content: ""; position: absolute; inset: 0; opacity: .2;
  background-image: linear-gradient(rgba(124,195,239,.4) 1px, transparent 1px),
                    linear-gradient(90deg, rgba(124,195,239,.4) 1px, transparent 1px);
  background-size: 26px 26px; }
.cb-panel__art { position: relative; width: 74%; height: auto; }
.cb-panel__art path { fill: none; stroke: rgba(206,231,247,.5); stroke-width: 3;
  stroke-linecap: round; stroke-linejoin: round; }
.cb-panel__art .cb-panel__pulse { stroke: var(--cb-red); stroke-width: 4; opacity: .95;
  stroke-dasharray: 620; stroke-dashoffset: 620; animation: cbDraw 5s ease-in-out infinite; }
@keyframes cbDraw { 0% { stroke-dashoffset: 620; } 45% { stroke-dashoffset: 0; }
  80% { stroke-dashoffset: 0; } 100% { stroke-dashoffset: -620; } }
.cb-panel__label { position: absolute; left: 1.75rem; bottom: 1.5rem; font-size: .62rem;
  letter-spacing: .28em; text-transform: uppercase; color: rgba(242,247,251,.6); }

/* ---- κάρτες εξετάσεων ---- */
.cb-exam { display: block; position: relative; padding: 2.25rem 1.75rem 2rem;
  border: 1px solid rgba(242,247,251,.13);
  transition: border-color .4s ease, background-color .4s ease, transform .4s ease; }
.cb-exam:hover { border-color: rgba(242,247,251,.35); background: rgba(242,247,251,.04); transform: translateY(-3px); }
.cb-exam__n { display: block; font-family: var(--font-serif); font-size: 2.25rem; line-height: 1;
  color: var(--cb-blue-soft); opacity: .45; margin-bottom: 1.25rem; }
.cb-exam--cta { display: flex; flex-direction: column; justify-content: center;
  border-color: rgba(217,43,63,.75); background: rgba(217,43,63,.09); text-decoration: none; }
.cb-exam--cta:hover { background: rgba(217,43,63,.18); border-color: var(--cb-red); }

/* ---- δημοσιεύσεις ---- */
.cb-pubs { list-style: none; margin: 0; padding: 0; border-top: 1px solid rgba(12,44,72,.14); }
.cb-pub { display: grid; grid-template-columns: 3.25rem 1fr; gap: 1rem;
  padding: 1.35rem 0; border-bottom: 1px solid rgba(12,44,72,.14); }
.cb-pub__year { font-size: .68rem; letter-spacing: .16em; color: var(--cb-blue); padding-top: .35rem; }
.cb-pub__title { display: block; font-family: var(--font-serif); font-size: 1.2rem; line-height: 1.35;
  color: var(--cb-ink); text-decoration: none; transition: color .3s ease; }
.cb-pub__title:hover { color: var(--cb-blue); text-decoration: underline; text-underline-offset: 3px; }
.cb-pub__meta { display: block; margin-top: .4rem; font-size: .78rem; font-weight: 300; color: var(--cb-muted); }
.cb-pub--first .cb-pub__title::after { content: " \2605"; color: var(--cb-red); font-size: .78em; }

/* ---- ωράριο / επικοινωνία ---- */
.cb-hours { width: 100%; border-collapse: collapse; font-weight: 300; color: var(--cb-ink); font-size: .95rem; }
.cb-hours th { text-align: left; font-weight: 300; padding: .32rem 1rem .32rem 0; white-space: nowrap; vertical-align: top; }
.cb-hours td { padding: .32rem 0; }
.cb-hours__note { color: var(--cb-blue); font-size: .85em; white-space: nowrap; }
.cb-tag { display: inline-block; font-size: .58rem; letter-spacing: .18em; text-transform: uppercase;
  color: var(--cb-blue); border: 1px solid rgba(27,127,196,.35); border-radius: 999px;
  padding: .12rem .55rem; vertical-align: middle; }
.cb-fb { display: inline-flex; align-items: center; gap: .7rem; padding: .85rem 1.4rem;
  background: #1877f2; color: #fff; font-size: .7rem; letter-spacing: .18em; text-transform: uppercase;
  border-radius: 999px; text-decoration: none; transition: background-color .3s ease, transform .3s ease; }
.cb-fb:hover { background: #0f5fd0; transform: translateY(-2px); }
.cb-fb svg { width: 18px; height: 18px; flex-shrink: 0; }
.cb-fb--dark { background: transparent; border: 1px solid rgba(242,247,251,.3); color: #f2f7fb; }
.cb-fb--dark:hover { background: #1877f2; border-color: #1877f2; }

/* ---- footer ---- */
.cb-footer-bottom { margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid rgba(242,247,251,.1);
  display: flex; flex-wrap: wrap; gap: .6rem 1.5rem; align-items: center; justify-content: space-between;
  font-size: .72rem; }
.cb-credit { font-size: .8rem; opacity: .7; }
.cb-credit a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.cb-credit a:hover { opacity: 1; color: var(--cb-blue-soft); }

@media (prefers-reduced-motion: reduce) {
  .cb-hero-ecg path, .cb-panel__art .cb-panel__pulse { animation: none; stroke-dashoffset: 0; }
}



.dln-anchor { display: block; position: relative; }
.dln-overlay { position: fixed; inset: 0; z-index: 9998; background: #0c2c48;
  display: flex; align-items: center; justify-content: center;
  opacity: 0; visibility: hidden; transition: opacity .5s ease, visibility .5s; }
.dln-overlay.open { opacity: 1; visibility: visible; }
.dln-overlay__nav { display: flex; flex-direction: column; gap: 1.5rem; text-align: center; }
.dln-overlay__nav a { font-family: "Cormorant Garamond", serif; font-size: clamp(1.8rem, 7vw, 3rem);
  color: #f2f7fb; text-decoration: none; transition: color .3s; }
.dln-overlay__nav a:hover { color: #7cc3ef; }
.dln-overlay__close, .dln-modal__close { position: absolute; top: 1.5rem; right: 1.75rem;
  background: none; border: 0; color: #f2f7fb; font-size: 2.5rem; line-height: 1; cursor: pointer; }
.dln-modal { position: fixed; inset: 0; z-index: 9998; background: rgba(44,44,30,.75);
  display: flex; align-items: center; justify-content: center; padding: 1.5rem;
  opacity: 0; visibility: hidden; transition: opacity .4s ease, visibility .4s; }
.dln-modal.open { opacity: 1; visibility: visible; }
.dln-modal__box { position: relative; background: #f2f7fb; max-width: 46rem; width: 100%;
  max-height: 82vh; overflow-y: auto; padding: 3.5rem clamp(1.5rem, 4vw, 3.5rem); }
.dln-modal__box h2 { font-size: 2.25rem; margin: 0 0 1.5rem; }
.dln-modal__close { color: #0c2c48; top: 1rem; right: 1.25rem; font-size: 2rem; }
.dln-modal__body { color: #44647f; font-weight: 300; line-height: 1.75; }
.dln-modal__body h3 { font-family: inherit; font-size: .72rem; letter-spacing: .2em;
  text-transform: uppercase; color: #1b7fc4; margin: 2rem 0 .6rem; }
.dln-modal__body p { margin: 0 0 1rem; }
.dln-invalid { border-bottom-color: #a33 !important; }
body.dln-locked { overflow: hidden; }


/* ==================== multipage layer — CLINICBRAIN ==================== */
/* λείπουν από το tailwind build που κληρονομήσαμε */
.w-7 { width: 1.75rem; } .h-7 { height: 1.75rem; }

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

/* Δίχτυ ασφαλείας για οριζόντια κύλιση στο κινητό.
   Χρησιμοποιούμε clip και ΟΧΙ hidden: το hidden δημιουργεί scroll container
   και θα ακύρωνε το position:sticky σε header και πλευρική στήλη. */
body { background: var(--color-stone-white); overflow-x: clip; }
img, svg, iframe, video { max-width: 100%; }
img { height: auto; }
/* Τα παιδιά grid/flex έχουν min-width:auto και αρνούνται να συρρικνωθούν κάτω
   από το περιεχόμενό τους — η κλασική αιτία οριζόντιας κύλισης. */
.cb-grid-2 > *, .cb-cards > *, .cb-footer__grid > *, .cb-pub > *,
.cb-facts li > *, .cb-cta-band__in > *, .cb-contact-card__row > * { min-width: 0; }

/* Μακριές συμβολοσειρές χωρίς κενά (email, διευθύνσεις) */
.cb-contact-card a, .cb-footer__list a, .cb-prose a { overflow-wrap: anywhere; }

.cb-skip { position: absolute; left: -9999px; top: 0; z-index: 10000; background: var(--cb-ink);
  color: #fff; padding: .75rem 1.25rem; font-size: .8rem; }
.cb-skip:focus { left: .5rem; top: .5rem; }
:focus-visible { outline: 2px solid var(--cb-blue); outline-offset: 3px; }

/* ---- topbar + header ---- */
.cb-topbar { background: var(--cb-ink); color: rgba(242,247,251,.82); font-size: .74rem; }
.cb-topbar__in { max-width: 96rem; margin: 0 auto; padding: .5rem 1.5rem; display: flex;
  gap: 1.5rem; align-items: center; justify-content: flex-end; flex-wrap: wrap; }
.cb-topbar__item { display: inline-flex; align-items: center; gap: .45rem; color: inherit;
  text-decoration: none; transition: color .3s ease; }
.cb-topbar__item:hover { color: #fff; }
.cb-topbar__item--tel { font-weight: 500; letter-spacing: .04em; }
@media (max-width: 640px) { .cb-topbar__in { justify-content: center; gap: 1rem; }
  .cb-topbar__item--hours { display: none; } }

.cb-header { position: sticky; top: 0; z-index: 50; background: rgba(242,247,251,.94);
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(27,127,196,.14); padding: .9rem 0; }
.cb-logo { display: inline-flex; align-items: center; gap: .7rem; text-decoration: none; }
.cb-logo__txt { display: flex; flex-direction: column; line-height: 1.15; }
.cb-logo__txt strong { font-family: var(--font-serif); font-weight: 500; font-size: 1.15rem;
  letter-spacing: .01em; color: var(--cb-ink); }
.cb-logo__txt em { font-style: normal; font-size: .6rem; letter-spacing: .22em;
  text-transform: uppercase; color: var(--cb-blue); margin-top: .18rem; }
.cb-logo--footer .cb-logo__txt strong { color: #f2f7fb; }
.cb-logo--footer .cb-logo__txt em { color: var(--cb-blue-soft); }

.cb-nav { display: flex; gap: 1.6rem; }
.cb-nav__link { font-size: .7rem; letter-spacing: .17em; text-transform: uppercase;
  color: var(--cb-ink); text-decoration: none; padding-bottom: .3rem; position: relative;
  transition: color .3s ease; }
.cb-nav__link::after { content: ""; position: absolute; left: 0; bottom: 0; height: 1px; width: 0;
  background: var(--cb-blue); transition: width .35s ease; }
.cb-nav__link:hover { color: var(--cb-blue); }
.cb-nav__link:hover::after, .cb-nav__link.is-active::after { width: 100%; }
.cb-nav__link.is-active { color: var(--cb-blue); }
.cb-burger { color: var(--cb-ink); background: none; border: 0; cursor: pointer; padding: .25rem; }

/* ---- κουμπιά ---- */
.cb-btn { display: inline-flex; align-items: center; gap: .75rem; padding: 1.05rem 2rem;
  font-size: .7rem; letter-spacing: .2em; text-transform: uppercase; text-decoration: none;
  border: 1px solid transparent; cursor: pointer; transition: all .4s ease;
  background: var(--cb-blue); color: #fff; }
.cb-btn:hover { background: var(--cb-ink); color: #fff; }
.cb-btn--sm { padding: .7rem 1.25rem; font-size: .64rem; }
.cb-btn--dark { background: var(--cb-ink); }
.cb-btn--dark:hover { background: var(--cb-blue); }
.cb-btn--light { background: #f2f7fb; color: var(--cb-ink); }
.cb-btn--light:hover { background: #fff; color: var(--cb-ink); }
.cb-btn--outline { background: transparent; color: #f2f7fb; border-color: rgba(242,247,251,.45); }
.cb-btn--outline:hover { background: #f2f7fb; color: var(--cb-ink); border-color: #f2f7fb; }
.cb-btn--ghost { background: transparent; color: var(--cb-ink); border-color: rgba(12,44,72,.25); }
.cb-btn--ghost:hover { background: var(--cb-ink); color: #fff; }
.cb-btn[disabled] { opacity: .55; cursor: progress; }
.cb-btn__arrow { transition: transform .3s ease; }
.cb-btn:hover .cb-btn__arrow { transform: translateX(6px); }

/* ---- overlay μενού ---- */
.dln-overlay__nav { max-height: 88vh; overflow-y: auto; padding: 2rem 1.5rem; }
.dln-overlay__sep { display: block; margin: 1.75rem 0 .5rem; font-size: .62rem; letter-spacing: .28em;
  text-transform: uppercase; color: var(--cb-blue-soft); }
.dln-overlay__sub { display: flex; flex-direction: column; gap: .55rem; }
.dln-overlay__sub a { font-family: var(--font-sans); font-size: .95rem; color: rgba(242,247,251,.75); }
.dln-overlay__tel { margin-top: 2rem; font-family: var(--font-sans) !important; font-size: 1.1rem !important;
  letter-spacing: .12em; border: 1px solid rgba(242,247,251,.35); padding: .8rem 1.6rem; }

/* ---- hero αρχικής ---- */
.cb-hero { position: relative; overflow: hidden; min-height: 88vh; display: flex; align-items: flex-end;
  background: linear-gradient(160deg,#0b2942 0%,#123f63 45%,#0d2c48 100%); color: #f2f7fb;
  padding: 7rem 0 6rem; }
.cb-hero__bg { position: absolute; inset: 0; }
.cb-hero__in { max-width: 54rem; }
.cb-hero__h1 { font-family: var(--font-serif); font-weight: 300; letter-spacing: -.025em;
  font-size: clamp(2.4rem, 6.2vw, 4.5rem); line-height: 1.07; margin: 1.1rem 0 1.5rem; }
.cb-hero__lede { max-width: 46rem; font-weight: 300; font-size: 1.08rem; line-height: 1.8;
  color: rgba(242,247,251,.76); }
.cb-hero__actions { display: flex; flex-wrap: wrap; gap: .9rem; margin-top: 2.5rem; }
.cb-hero__cue { position: absolute; left: 50%; transform: translateX(-50%); bottom: 1.4rem; z-index: 2;
  display: flex; flex-direction: column; align-items: center; gap: .4rem;
  font-size: .58rem; letter-spacing: .3em; color: rgba(242,247,251,.55); }
@media (max-width: 640px) { .cb-hero { min-height: 78vh; padding: 4.5rem 0 5rem; } .cb-hero__cue { display: none; } }

/* ---- εσωτερικό hero ---- */
.cb-page-hero { position: relative; overflow: hidden; background: linear-gradient(160deg,#0b2942 0%,#123f63 50%,#0d2c48 100%);
  color: #f2f7fb; padding: 5.5rem 0 4.5rem; }
.cb-page-hero__bg { position: absolute; inset: 0; }
.cb-page-hero__h1 { font-family: var(--font-serif); font-weight: 300; letter-spacing: -.02em;
  font-size: clamp(2.1rem, 5.2vw, 3.6rem); line-height: 1.1; margin: .5rem 0 1rem; max-width: 22ch; }
.cb-page-hero__lede { max-width: 60ch; font-weight: 300; line-height: 1.75; color: rgba(242,247,251,.78);
  font-size: 1.05rem; }
.cb-eyebrow { display: inline-block; font-size: .66rem; letter-spacing: .28em; text-transform: uppercase;
  color: var(--cb-blue); border-left: 2px solid currentColor; padding-left: .85rem; }
.cb-eyebrow--light { color: var(--cb-blue-soft); }

/* ---- ψίχουλα ---- */
.cb-crumbs { margin-bottom: 1.6rem; }
.cb-crumbs ol { display: flex; flex-wrap: wrap; gap: .4rem; list-style: none; margin: 0; padding: 0;
  font-size: .7rem; letter-spacing: .1em; color: rgba(242,247,251,.6); }
.cb-crumbs li + li::before { content: "/"; margin-right: .4rem; opacity: .5; }
.cb-crumbs a { color: inherit; text-decoration: none; }
.cb-crumbs a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.cb-crumbs--dark ol { color: var(--cb-muted); }
.cb-crumbs--dark a:hover { color: var(--cb-blue); }

/* ---- γιγαντιαία γράμματα στο βάθος (κινούνται με το scroll) ---- */
.cb-marq { position: absolute; left: 0; width: 100%; z-index: 0; display: flex;
  overflow: hidden; white-space: nowrap; pointer-events: none; user-select: none;
  opacity: .05; }
.cb-marq--dark { opacity: .055; }
.cb-marq__track { display: flex; gap: 4rem; font-family: var(--font-serif); font-weight: 300;
  font-size: 20vw; line-height: .92; text-transform: uppercase; letter-spacing: -.05em;
  color: var(--cb-ink); will-change: transform; }
.cb-marq--dark .cb-marq__track { color: #f2f7fb; }
@media (max-width: 768px) { .cb-marq__track { font-size: 30vw; } }
@media (prefers-reduced-motion: reduce) { .cb-marq__track { transform: none !important; } }

/* Μόνο οι ενότητες με αυτή την κλάση ψαλιδίζουν — το overflow:hidden θα
   ακύρωνε το position:sticky της πλευρικής στήλης στις υπόλοιπες. */
.cb-section--marq { position: relative; overflow: hidden; }
.cb-section--marq > .container { position: relative; z-index: 10; }

.cb-footer { position: relative; overflow: hidden; }
.cb-footer__loop { position: absolute; inset: 0; z-index: 0; opacity: .05;
  display: flex; flex-direction: column; justify-content: center; gap: 2rem;
  overflow: hidden; white-space: nowrap; pointer-events: none; user-select: none; }
.cb-footer__loop > div { font-family: var(--font-serif); font-weight: 300; font-size: 15vw;
  line-height: 1; text-transform: uppercase; letter-spacing: -.05em; color: #f2f7fb; }

/* ---- τυπογραφία άρθρου ---- */
.cb-section { padding: 5.5rem 0; }
.cb-section--tight { padding: 4rem 0; }
.cb-section--beige { background: var(--color-warm-beige); }
.cb-section--dark { background: var(--cb-ink); color: #f2f7fb; }
.cb-h2 { font-family: var(--font-serif); font-weight: 300; letter-spacing: -.02em;
  font-size: clamp(1.85rem, 4vw, 2.9rem); line-height: 1.15; color: var(--cb-ink); margin: .6rem 0 1.1rem; }
.cb-section--dark .cb-h2 { color: #f2f7fb; }
.cb-h3 { font-family: var(--font-serif); font-weight: 400; font-size: 1.45rem; color: var(--cb-ink);
  margin: 2.4rem 0 .7rem; }
.cb-lede { font-size: 1.1rem; font-weight: 300; line-height: 1.8; color: var(--cb-muted); max-width: 62ch; }
.cb-prose { font-weight: 300; line-height: 1.85; color: var(--cb-muted); max-width: 68ch; }
.cb-prose p { margin: 0 0 1.15rem; }
.cb-prose strong { font-weight: 500; color: var(--cb-ink); }
.cb-prose a { color: var(--cb-blue); text-decoration: underline; text-underline-offset: 3px; }
.cb-prose ul, .cb-prose ol { margin: 0 0 1.4rem; padding-left: 0; list-style: none; }
.cb-prose ul li { position: relative; padding-left: 1.6rem; margin-bottom: .6rem; }
.cb-prose ul li::before { content: ""; position: absolute; left: .25rem; top: .72em; width: 6px; height: 6px;
  border-radius: 50%; background: var(--cb-blue); }
.cb-prose ol { counter-reset: cb; }
.cb-prose ol li { position: relative; padding-left: 2rem; margin-bottom: .6rem; counter-increment: cb; }
.cb-prose ol li::before { content: counter(cb); position: absolute; left: 0; top: 0;
  font-size: .72rem; letter-spacing: .1em; color: var(--cb-blue); padding-top: .35em; }
.cb-prose h3 { font-family: var(--font-serif); font-weight: 400; font-size: 1.35rem;
  color: var(--cb-ink); margin: 2rem 0 .6rem; }
.cb-grid-2 { display: grid; grid-template-columns: 1fr; gap: 3rem; }
@media (min-width: 1024px) { .cb-grid-2 { grid-template-columns: 1fr 1fr; gap: 4.5rem; align-items: start; } }
.cb-grid-2--aside { }
@media (min-width: 1024px) { .cb-grid-2--aside { grid-template-columns: minmax(0,1.55fr) minmax(0,1fr); } }

/* ---- κάρτες ---- */
.cb-cards { display: grid; grid-template-columns: 1fr; gap: 1.5rem; }
@media (min-width: 640px) { .cb-cards { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .cb-cards--3 { grid-template-columns: repeat(3, 1fr); } }
.cb-card { display: flex; flex-direction: column; gap: .85rem; padding: 2rem 1.75rem;
  background: #fff; border: 1px solid rgba(12,44,72,.09); text-decoration: none;
  transition: transform .4s ease, box-shadow .4s ease, border-color .4s ease; }
.cb-card:hover { transform: translateY(-4px); border-color: rgba(27,127,196,.4);
  box-shadow: 0 18px 40px -22px rgba(12,44,72,.45); }
.cb-card__ic { color: var(--cb-blue); }
.cb-card__t { font-family: var(--font-serif); font-size: 1.3rem; color: var(--cb-ink); line-height: 1.25; }
.cb-card__d { font-size: .9rem; font-weight: 300; line-height: 1.65; color: var(--cb-muted); }
.cb-card__more { margin-top: auto; padding-top: .6rem; font-size: .66rem; letter-spacing: .2em;
  text-transform: uppercase; color: var(--cb-blue); }
.cb-card__more span { display: inline-block; transition: transform .3s ease; }
.cb-card:hover .cb-card__more span { transform: translateX(5px); }

/* ---- πλευρική στήλη ---- */
.cb-aside { position: sticky; top: 6.5rem; display: flex; flex-direction: column; gap: 1.5rem; }
.cb-contact-card { background: #fff; border: 1px solid rgba(12,44,72,.1); padding: 1.9rem 1.7rem;
  display: flex; flex-direction: column; gap: 1.35rem; }
.cb-contact-card__row { display: flex; gap: .85rem; align-items: flex-start; font-weight: 300;
  color: var(--cb-ink); font-size: .95rem; }
.cb-contact-card__row a { color: inherit; text-decoration: none; }
.cb-contact-card__row a:hover { color: var(--cb-blue); text-decoration: underline; text-underline-offset: 3px; }
.cb-contact-card__k { display: block; font-size: .62rem; letter-spacing: .2em; text-transform: uppercase;
  color: var(--cb-blue); margin-bottom: .3rem; }
.cb-open-badge { display: inline-block; font-size: .58rem; letter-spacing: .14em; text-transform: uppercase;
  padding: .12rem .5rem; border-radius: 999px; vertical-align: middle; }
.cb-open-badge.is-open { background: rgba(31,150,90,.16); color: #1f965a; }
.cb-open-badge.is-closed { background: rgba(217,43,63,.14); color: #d92b3f; }
.cb-topbar .cb-open-badge.is-open { color: #6fdca5; background: rgba(111,220,165,.14); }
.cb-topbar .cb-open-badge.is-closed { color: #ff9aa6; background: rgba(255,154,166,.14); }

/* ---- πίνακας γρήγορων στοιχείων ---- */
.cb-facts { list-style: none; margin: 0; padding: 0; border-top: 1px solid rgba(12,44,72,.12); }
.cb-facts li { display: grid; grid-template-columns: 1fr; gap: .2rem; padding: .95rem 0;
  border-bottom: 1px solid rgba(12,44,72,.12); font-weight: 300; color: var(--cb-muted); }
@media (min-width: 480px) { .cb-facts li { grid-template-columns: 9.5rem 1fr; gap: 1rem; align-items: baseline; } }
.cb-facts b { font-weight: 400; font-size: .66rem; letter-spacing: .18em; text-transform: uppercase;
  color: var(--cb-blue); }

/* ---- CTA band ---- */
.cb-cta-band { background: linear-gradient(135deg,#0d3253 0%,#1b5a8c 100%); color: #f2f7fb; padding: 3.5rem 0; }
.cb-cta-band__in { display: flex; flex-direction: column; gap: 1.75rem; align-items: flex-start;
  justify-content: space-between; }
@media (min-width: 900px) { .cb-cta-band__in { flex-direction: row; align-items: center; } }
.cb-cta-band__title { font-family: var(--font-serif); font-weight: 300; font-size: clamp(1.6rem,3.2vw,2.3rem); }
.cb-cta-band__lede { font-weight: 300; color: rgba(242,247,251,.75); margin-top: .4rem; }
.cb-cta-band__actions { display: flex; flex-wrap: wrap; gap: .9rem; }

/* ---- online ραντεβού (Calendly) ---- */
.cb-booking { background: #fff; border: 1px solid rgba(12,44,72,.1); padding: 1.5rem;
  box-shadow: 0 24px 60px -40px rgba(12,44,72,.5); }
@media (min-width: 768px) { .cb-booking { padding: 2rem; } }
.cb-booking__note { margin-top: 1.4rem; padding-top: 1.2rem; border-top: 1px solid rgba(12,44,72,.1);
  font-size: .78rem; font-weight: 300; line-height: 1.7; color: var(--cb-muted); }
.cb-booking__note a { color: var(--cb-red); font-weight: 500; }
/* όταν μπει το πραγματικό embed, να μη «σπάει» το πλάτος σε κινητά */
.cb-booking .calendly-inline-widget { min-width: 0 !important; width: 100%; }

/* ---- footer ---- */
.cb-footer { background: var(--cb-ink); color: rgba(242,247,251,.7); padding: 4.5rem 0 2rem;
  font-weight: 300; font-size: .9rem; }
.cb-footer__grid { display: grid; grid-template-columns: 1fr; gap: 2.75rem; }
@media (min-width: 640px) { .cb-footer__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .cb-footer__grid { grid-template-columns: 1.4fr 1fr 1.2fr 1.4fr; gap: 3rem; } }
.cb-footer__col { min-width: 0; }
.cb-footer__col--brand { max-width: 34ch; }
.cb-footer__tag { margin: 1.1rem 0 1.5rem; max-width: 32ch; line-height: 1.7; color: rgba(242,247,251,.55); }
.cb-footer__h { font-size: .64rem; letter-spacing: .24em; text-transform: uppercase;
  color: var(--cb-blue-soft); margin-bottom: 1.1rem; font-weight: 500; }
.cb-footer__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .6rem; }
.cb-footer__list a { color: inherit; text-decoration: none; transition: color .3s ease; }
.cb-footer__list a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.cb-footer__list--contact { gap: .75rem; }
.cb-footer__hours { margin-top: 1.1rem; font-size: .8rem; line-height: 1.7; color: rgba(242,247,251,.5); }
.cb-footer__areas { margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid rgba(242,247,251,.1);
  font-size: .8rem; line-height: 1.8; color: rgba(242,247,251,.5); }
.cb-footer__areas strong { color: rgba(242,247,251,.75); font-weight: 500; }
.cb-footer__bottom { margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid rgba(242,247,251,.1);
  display: flex; flex-wrap: wrap; gap: .7rem 1.75rem; align-items: center; justify-content: space-between;
  font-size: .74rem; }
.cb-footer__legal { display: flex; flex-wrap: wrap; gap: 1.25rem; }
.cb-footer__legal a { color: inherit; text-decoration: none; }
.cb-footer__legal a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }

/* ---- floating call ---- */
.cb-fab { position: fixed; right: 1.25rem; bottom: 1.25rem; z-index: 45; display: inline-flex;
  align-items: center; gap: .6rem; padding: .95rem 1.4rem; border-radius: 999px; background: var(--cb-red);
  color: #fff; text-decoration: none; font-size: .68rem; letter-spacing: .18em; text-transform: uppercase;
  box-shadow: 0 14px 30px -12px rgba(217,43,63,.7); transition: transform .3s ease, background-color .3s ease; }
.cb-fab:hover { transform: translateY(-3px); background: #b81f31; }
@media (max-width: 480px) { .cb-fab span { display: none; } .cb-fab { padding: 1rem; } }

/* ---- εμφάνιση στο scroll ---- */
[data-reveal] { opacity: 0; transform: translateY(26px); transition: opacity .8s ease, transform .8s cubic-bezier(.16,1,.3,1); }
[data-reveal].is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { [data-reveal] { opacity: 1; transform: none; transition: none; } }

/* ---- διάφορα ---- */
.cb-note { border-left: 3px solid var(--cb-blue); background: rgba(27,127,196,.06);
  padding: 1.25rem 1.5rem; font-weight: 300; line-height: 1.75; color: var(--cb-muted); margin: 2rem 0; }
.cb-note--alert { border-color: var(--cb-red); background: rgba(217,43,63,.06); }
.cb-note strong { color: var(--cb-ink); font-weight: 500; }
.cb-figure { margin: 0; }
.cb-figure img { width: 100%; display: block; }
.cb-figure figcaption { margin-top: .7rem; font-size: .75rem; color: var(--cb-muted); font-weight: 300; }
.cb-gallery { display: grid; grid-template-columns: 1fr; gap: 1.25rem; }
.cb-gallery__item { margin: 0; overflow: hidden; background: #fff; border: 1px solid rgba(12,44,72,.1);
  box-shadow: 0 24px 70px -52px rgba(12,44,72,.65); }
.cb-gallery__item img { width: 100%; height: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
@media (min-width: 900px) {
  .cb-gallery--3 { grid-template-columns: 1.25fr .85fr; grid-template-rows: repeat(2, minmax(0, 1fr)); align-items: stretch; }
  .cb-gallery__item--wide { grid-row: span 2; }
  .cb-gallery__item--wide img { aspect-ratio: 1.38 / 1; }
}
.cb-reviews { display: grid; grid-template-columns: 1fr; gap: 1.25rem; }
.cb-reviews, .cb-reviews > * { min-width: 0; max-width: 100%; }
@media (min-width: 760px) { .cb-reviews { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1180px) { .cb-reviews { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.cb-review { background: #fff; border: 1px solid rgba(12,44,72,.1); padding: 1.55rem;
  display: flex; flex-direction: column; gap: 1rem; min-height: 13.5rem;
  box-shadow: 0 22px 58px -48px rgba(12,44,72,.55); overflow-wrap: anywhere; }
.cb-review__top { display: flex; justify-content: space-between; gap: 1rem; align-items: flex-start; }
.cb-review * { min-width: 0; max-width: 100%; }
.cb-review__top > div { min-width: 0; }
.cb-review h3 { font-family: var(--font-serif); font-size: 1.28rem; line-height: 1.2; color: var(--cb-ink); margin: 0; overflow-wrap: anywhere; }
.cb-review__top span { display: block; margin-top: .25rem; font-size: .72rem; letter-spacing: .08em;
  text-transform: uppercase; color: var(--cb-muted); line-height: 1.5; }
.cb-review__top strong { color: var(--cb-blue); font-size: .82rem; white-space: nowrap; }
.cb-review__stars { color: var(--cb-red); letter-spacing: .08em; font-size: .9rem; }
.cb-review__text { font-weight: 300; line-height: 1.75; color: var(--cb-muted); margin: 0; overflow-wrap: anywhere; word-break: break-word; }
.cb-review__text--empty { color: rgba(68,100,127,.72); margin-top: auto; }
.cb-chips { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.25rem; }
.cb-chip { display: inline-block; padding: .4rem .9rem; border: 1px solid rgba(27,127,196,.3);
  border-radius: 999px; font-size: .72rem; font-weight: 300; color: var(--cb-blue); text-decoration: none;
  transition: all .3s ease; }
.cb-chip:hover { background: var(--cb-blue); color: #fff; border-color: var(--cb-blue); }
.cb-stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem; margin-top: 2.5rem; }
@media (min-width: 900px) { .cb-stats { grid-template-columns: repeat(4, 1fr); } }
.cb-stat b { display: block; font-family: var(--font-serif); font-size: 2.4rem; font-weight: 300;
  color: var(--cb-blue); line-height: 1; }
.cb-stat span { display: block; margin-top: .5rem; font-size: .78rem; font-weight: 300; color: var(--cb-muted); }
.cb-section--dark .cb-stat b { color: var(--cb-blue-soft); }
.cb-section--dark .cb-stat span { color: rgba(242,247,251,.6); }
.cb-map { border: 0; width: 100%; height: 380px; display: block; filter: grayscale(.25); }

/* ==================== διορθώσεις για κινητά ==================== */

/* Πίνακας ωραρίου: κάθε ώρα αδιάσπαστη, τα διαστήματα αναδιπλώνονται.
   Οι κανόνες nowrap του base.css ακυρώνονται εδώ. */
.cb-hours { table-layout: auto; }
.cb-hours th { white-space: normal; }
.cb-hours__r { display: inline-block; white-space: nowrap; }
.cb-hours__r + .cb-hours__r::before { content: "·"; margin: 0 .45rem 0 .3rem; opacity: .45; }
.cb-hours__tag { display: inline-block; margin-left: .4rem; color: var(--cb-blue); font-size: .85em; }
.cb-hours__closed { opacity: .65; }
@media (max-width: 600px) {
  .cb-hours, .cb-hours tbody, .cb-hours tr, .cb-hours th, .cb-hours td { display: block; width: 100%; }
  .cb-hours tr { padding: .5rem 0; border-bottom: 1px solid rgba(12,44,72,.08); }
  .cb-hours tr:last-child { border-bottom: 0; padding-bottom: 0; }
  .cb-hours th { padding: 0 0 .2rem; font-size: .64rem; letter-spacing: .18em;
    text-transform: uppercase; color: var(--cb-blue); }
  .cb-hours td { padding: 0; }
  .cb-hours__tag { margin-left: 0; display: block; }
}

/* Κουμπιά: λιγότερο padding και letter-spacing ώστε να χωρούν οι μακριές ετικέτες */
.cb-btn { max-width: 100%; }
@media (max-width: 480px) {
  .cb-btn { padding: .95rem 1.15rem; letter-spacing: .12em; font-size: .66rem; gap: .5rem; }
  .cb-btn--sm { padding: .65rem .9rem; }
}

/* Επικεφαλίδες: το κάτω όριο του clamp ήταν πολύ μεγάλο για οθόνες 360-390px */
.cb-hero__h1 { font-size: clamp(2rem, 7.4vw, 4.5rem); }
.cb-page-hero__h1 { font-size: clamp(1.85rem, 6.4vw, 3.6rem); }
.cb-h2 { font-size: clamp(1.6rem, 4.6vw, 2.9rem); overflow-wrap: anywhere; }
.cb-lede, .cb-prose, .cb-facts span { overflow-wrap: anywhere; }

/* Στο κινητό η μπάρα κορυφής φεύγει εντελώς: το τηλέφωνο είναι ήδη διαθέσιμο
   από το αιωρούμενο κουμπί κλήσης και από το μενού. */
@media (max-width: 767px) {
  .cb-topbar { display: none; }
}

/* Το λογότυπο δεν πρέπει να σπρώχνει το burger εκτός οθόνης */
@media (max-width: 380px) {
  .cb-logo__txt strong { font-size: 1rem; }
  .cb-logo__txt em { font-size: .55rem; letter-spacing: .16em; }
}

/* Ενότητα χάρτη: το περιεχόμενο χρειάζεται τα ίδια περιθώρια με τις υπόλοιπες */
.cb-mapsection { padding-inline: 1.5rem; }
@media (min-width: 768px) { .cb-mapsection { padding-inline: 3rem; } }

/* Οι μεγάλες ιατρικές λέξεις («υπερηχοκαρδιογράφημα», 21 χαρακτήρες) δεν
   χωρούν σε οθόνη 320px και έσπρωχναν τη σελίδα οριζόντια. Το break-word
   σπάει μόνο όταν η λέξη πραγματικά δεν χωράει. */
body { overflow-wrap: break-word; }

/* Ερωτήσεις FAQ: ο τίτλος μοιράζεται τη γραμμή με το στρογγυλό κουμπί */
@media (max-width: 520px) {
  .cb-faq { padding-block: 1.4rem; }
  .cb-faq h3 { font-size: 1.15rem; line-height: 1.35; padding-right: .9rem; }
  .cb-faq .w-12 { width: 2.25rem; height: 2.25rem; }
  .cb-faq .w-5 { width: 1rem; height: 1rem; }
}
