/*!tailwindcss v4.1.18 | MIT License | https://tailwindcss.com*/@layer properties;@layer theme,base,components,utilities;@layer theme{:root, :host {
    --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
      "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --spacing: 0.25rem;
    --text-sm: 0.875rem;
    --text-sm--line-height: calc(1.25 / 0.875);
    --text-lg: 1.125rem;
    --text-lg--line-height: calc(1.75 / 1.125);
    --text-2xl: 1.5rem;
    --text-2xl--line-height: calc(2 / 1.5);
    --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;
    --font-weight-medium: 500;
    --tracking-tighter: -0.05em;
    --leading-tight: 1.25;
    --default-transition-duration: 150ms;
    --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
  }
}@layer base{*, ::after, ::before, ::backdrop, ::file-selector-button {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid;
  }
  html, :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    -moz-tab-size: 4;
      -o-tab-size: 4;
         tab-size: 4;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, 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: 0;
    color: inherit;
    border-top-width: 1px;
  }
  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }
  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }
  a {
    color: inherit;
    -webkit-text-decoration: 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 {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }
  :-moz-focusring {
    outline: auto;
  }
  progress {
    vertical-align: baseline;
  }
  summary {
    display: list-item;
  }
  ol, ul, menu {
    list-style: none;
  }
  img, svg, video, canvas, audio, iframe, embed, object {
    display: block;
    vertical-align: middle;
  }
  img, video {
    max-width: 100%;
    height: auto;
  }
  button, input, select, optgroup, textarea, ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    border-radius: 0;
    background-color: transparent;
    opacity: 1;
  }
  :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;
  }
  ::-moz-placeholder {
    opacity: 1;
  }
  ::placeholder {
    opacity: 1;
  }
  @supports (not (-webkit-appearance: -apple-pay-button))  or (contain-intrinsic-size: 1px) {
    ::-moz-placeholder {
      color: currentcolor;
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
    ::placeholder {
      color: currentcolor;
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }
  textarea {
    resize: vertical;
  }
  ::-webkit-search-decoration {
    -webkit-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: 0;
  }
  ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }
  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }
  :-moz-ui-invalid {
    box-shadow: none;
  }
  button, input:where([type="button"], [type="reset"], [type="submit"]), ::file-selector-button {
    -webkit-appearance: button;
       -moz-appearance: button;
            appearance: button;
  }
  ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
    height: auto;
  }
  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}@layer utilities{.collapse {
    visibility: collapse;
  }
  .visible {
    visibility: visible;
  }
  .fixed {
    position: fixed;
  }
  .relative {
    position: relative;
  }
  .z-\[100\] {
    z-index: 100;
  }
  .z-\[101\] {
    z-index: 101;
  }
  .container {
    width: 100%;
    @media (width >= 40rem) {
      max-width: 40rem;
    }
    @media (width >= 48rem) {
      max-width: 48rem;
    }
    @media (width >= 64rem) {
      max-width: 64rem;
    }
    @media (width >= 80rem) {
      max-width: 80rem;
    }
    @media (width >= 96rem) {
      max-width: 96rem;
    }
  }
  .mb-8 {
    margin-bottom: calc(var(--spacing) * 8);
  }
  .ml-2 {
    margin-left: calc(var(--spacing) * 2);
  }
  .block {
    display: block;
  }
  .contents {
    display: contents;
  }
  .flex {
    display: flex;
  }
  .grid {
    display: grid;
  }
  .hidden {
    display: none;
  }
  .inline {
    display: inline;
  }
  .inline-block {
    display: inline-block;
  }
  .w-full {
    width: 100%;
  }
  .min-w-\[8ch\] {
    min-width: 8ch;
  }
  .min-w-\[10ch\] {
    min-width: 10ch;
  }
  .grow {
    flex-grow: 1;
  }
  .transform {
    transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
  }
  .resize {
    resize: both;
  }
  .grid-cols-\[auto_1fr\] {
    grid-template-columns: auto 1fr;
  }
  .flex-wrap {
    flex-wrap: wrap;
  }
  .items-center {
    align-items: center;
  }
  .justify-end {
    justify-content: flex-end;
  }
  .justify-start {
    justify-content: flex-start;
  }
  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }
  .gap-x-6 {
    -moz-column-gap: calc(var(--spacing) * 6);
         column-gap: calc(var(--spacing) * 6);
  }
  .space-x-3 {
    :where(& > :not(:last-child)) {
      --tw-space-x-reverse: 0;
      margin-inline-start: calc(calc(var(--spacing) * 3) * var(--tw-space-x-reverse));
      margin-inline-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-x-reverse)));
    }
  }
  .gap-y-2 {
    row-gap: calc(var(--spacing) * 2);
  }
  .overflow-hidden {
    overflow: hidden;
  }
  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }
  .border-l {
    border-left-style: var(--tw-border-style);
    border-left-width: 1px;
  }
  .px-6 {
    padding-inline: calc(var(--spacing) * 6);
  }
  .py-0 {
    padding-block: calc(var(--spacing) * 0);
  }
  .py-4 {
    padding-block: calc(var(--spacing) * 4);
  }
  .pl-4 {
    padding-left: calc(var(--spacing) * 4);
  }
  .text-left {
    text-align: left;
  }
  .font-sans {
    font-family: var(--font-sans);
  }
  .text-4xl {
    font-size: var(--text-4xl);
    line-height: var(--tw-leading, var(--text-4xl--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));
  }
  .leading-tight {
    --tw-leading: var(--leading-tight);
    line-height: var(--leading-tight);
  }
  .font-medium {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }
  .break-words {
    overflow-wrap: break-word;
  }
  .whitespace-nowrap {
    white-space: nowrap;
  }
  .uppercase {
    text-transform: uppercase;
  }
  .antialiased {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  .blur {
    --tw-blur: blur(8px);
    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, 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));
  }
  .duration-300 {
    --tw-duration: 300ms;
    transition-duration: 300ms;
  }
  .sm\:text-5xl {
    @media (width >= 40rem) {
      font-size: var(--text-5xl);
      line-height: var(--tw-leading, var(--text-5xl--line-height));
    }
  }
  .md\:gap-x-10 {
    @media (width >= 48rem) {
      -moz-column-gap: calc(var(--spacing) * 10);
           column-gap: calc(var(--spacing) * 10);
    }
  }
  .md\:text-2xl {
    @media (width >= 48rem) {
      font-size: var(--text-2xl);
      line-height: var(--tw-leading, var(--text-2xl--line-height));
    }
  }
  .md\:text-6xl {
    @media (width >= 48rem) {
      font-size: var(--text-6xl);
      line-height: var(--tw-leading, var(--text-6xl--line-height));
    }
  }
  .md\:whitespace-nowrap {
    @media (width >= 48rem) {
      white-space: nowrap;
    }
  }
}@import 'https://fonts.googleapis.com/css2?family=Questrial&display=swap';@layer theme{:root {
    --logo-color: #d4b474;
    --text-color: #1e252b;
    --background-color: #f4f6f7;
    --background-alt: #e1e8ed;
    --muted-color: #5e6d7a;
    --accent-color: #426683;
    --accent-secondary: #a7843f;
    --surface-color: #ffffff;
    --border-color: #cedde8;
    --header-bg-color: rgba(244, 246, 247, 0.8);
    --header-backdrop-blur: blur(12px);
    --header-text-color: #1e252b;
    --header-text-hover: #426683;
    --header-border-color: rgba(206, 221, 232, 0.6);
  }
  @media (prefers-color-scheme: dark) {
    :root {
      --text-color: #e1e8ed;
      --background-color: #1e252b;
      --background-alt: #161c21;
      --muted-color: #998f81;
      --accent-color: #d4b474;
      --accent-secondary: #7e9eb6;
      --surface-color: #262e36;
      --border-color: #3a4752;
      --header-bg-color: rgba(30, 37, 43, 0.8);
      --header-text-color: #e1e8ed;
      --header-text-hover: #d4b474;
      --header-border-color: rgba(132, 158, 180, 0.4);
    }
  }
}@layer base{body {
    background-color: var(--background-color);
    color: var(--text-color);
    min-height: 100%;
    margin: 0;
    overflow: auto;
    transition: background-color 0.3s ease, color 0.3s ease;
  }
  html {
    scroll-snap-type: y proximity;
    scroll-behavior: smooth;
    height: 100%;
    -webkit-overflow-scrolling: touch;
  }
  .page-wrapper {
    height: auto;
    overflow: visible;
    -webkit-overflow-scrolling: auto;
    display: block;
  }
  section {
    width: 100%;
    scroll-snap-align: none;
    scroll-snap-stop: normal;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 59rem;
    margin: 0 auto;
  }
  .container {
    background: var(--background-alt);
    padding: 0.5rem 1.2rem;
    margin: 1.2rem 0rem;
    border-radius: 2%;
  }
  #hero .container {
    background: var(--background-color);
  }
  .logo,
  .logo-header {
    color: var(--logo-color);
    font-weight: 600;
    letter-spacing: 0.02em;
    display: inline-block;
    will-change: transform, opacity;
    cursor: default;
  }
  .char {
    display: inline-block;
    opacity: 0;
    transform: translateY(8px) scale(0.98);
    transition: transform 520ms cubic-bezier(.2, .9, .22, 1), opacity 520ms ease;
    will-change: transform, opacity;
  }
  .char.in {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
  #main-header.nav-hidden {
    opacity: 0;
    transform: translateY(-12px) scaleY(0.995);
    pointer-events: none;
    transition: opacity 420ms ease, transform 420ms ease;
  }
  #main-header.nav-visible {
    opacity: 1;
    transform: none;
    pointer-events: auto;
    transition: opacity 420ms cubic-bezier(.2, .9, .22, 1), transform 420ms cubic-bezier(.2, .9, .22, 1);
  }
  header {
    background-color: var(--header-bg-color);
    backdrop-filter: var(--header-backdrop-blur);
    -webkit-backdrop-filter: var(--header-backdrop-blur);
    border-bottom: 1px solid var(--header-border-color);
    color: var(--header-text-color);
  }
  .hero-title-line {
    visibility: hidden;
  }
}@layer components{div.avatars-grid {
    padding: 1rem;
  }
  .avatar-title {
    font-weight: 600;
  }
  h2 {
    color: var(--accent-color);
  }
  .question-text,
  .benefit h3 {
    color: var(--text-color);
  }
  .benefit p,
  div.faq-answer-wrapper div.faq-answer ul li {
    color: var(--muted-color);
    font-size: 1rem;
  }
  .faq-answer {
    color: var(--text-color);
  }
  .nav-link {
    color: var(--header-text-color);
    transition: color 0.2s ease;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: 1rem;
    font-weight: 500;
  }
  .nav-link:hover {
    color: var(--accent-secondary);
  }
  .lang-nav a:hover {
    color: var(--accent-secondary);
  }
  .section-title {
    margin-top: calc(var(--spacing) * 6);
    margin-bottom: calc(var(--spacing) * 3);
    font-size: var(--text-4xl);
    line-height: var(--tw-leading, var(--text-4xl--line-height));
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
    --tw-tracking: var(--tracking-tighter);
    letter-spacing: var(--tracking-tighter);
    @media (width >= 48rem) {
      font-size: var(--text-4xl);
      line-height: var(--tw-leading, var(--text-4xl--line-height));
    }
  }
}.faq-container{display:flex;flex-direction:column;gap:1rem}.faq-question{display:flex;justify-content:space-between;align-items:center;padding:0 1rem;font-size:1.125rem;color:var(--accent-color);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:1px solid transparent;border-radius:.5rem;list-style:none;transition:all .2s ease}.faq-item{border:1px solid transparent;border-radius:.5rem;overflow:hidden;transition:all .3s ease}.faq-item[open]{background:var(--surface-color);border-color:var(--border-color)}.faq-question::-webkit-details-marker{display:none}.faq-question:hover{background:var(--surface-color);border-color:var(--border-color)}.question-text{flex:1;padding-right:1rem;letter-spacing:-.6px}.chevron{display:inline-block;font-size:1.5rem;font-weight:700;transition:transform .3s ease;transform:rotate(90deg);color:var(--accent-color)}.faq-item[open] .chevron{transform:rotate(270deg)}.faq-answer-wrapper{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease-out}.faq-item[open]>.faq-answer-wrapper{grid-template-rows:1fr;transition:grid-template-rows .4s ease-in}.faq-answer{overflow:hidden;padding:0 1.5rem;color:var(--text-color);font-size:1rem;line-height:1.7}.faq-item[open] .faq-answer{padding-top:1rem;padding-bottom:1.5rem}.faq-answer ul{list-style:disc;margin-left:1.5rem;margin-top:.5rem;margin-bottom:.5rem}.faq-answer li{margin-bottom:.375rem}.faq-answer p{margin-bottom:.75rem}.faq-answer strong{font-weight:600;color:var(--accent-color)}@media(max-width:768px){.section-title{font-size:1.875rem}.faq-question{font-size:1.25rem;padding:0 .8rem}.question-text{padding-right:.875}.faq-answer{font-size:1rem;padding:0 1.25rem}.faq-item[open] .faq-answer{padding-top:.875rem;padding-bottom:1.25rem}}.faq-item.closing .faq-answer-wrapper{grid-template-rows:0fr}.hidden-char.revealed{opacity:1 !important;transform:translateX(0)scale(1) !important;width:auto !important;max-width:100px !important}.placeholder{white-space:nowrap}.hidden-char{display:inline-block;vertical-align:bottom}section:not(#contact):not(#hero) .container,section:not(#contact):not(#hero) .section-container{padding-top:1.5rem;padding-bottom:2.5rem}@media(min-width:768px){section:not(#contact):not(#hero) .container,section:not(#contact):not(#hero) .section-container{padding-top:1.5rem;padding-bottom:2.5rem}}.splash-screen{background-color:var(--background-color);transition:opacity 800ms ease,transform 800ms cubic-bezier(.4,0,.2,1);position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center}.splash-screen .container{position:relative;z-index:10;text-align:center}.splash-screen h1{font-size:2.25rem}@media(min-width:640px){.splash-screen h1{font-size:3rem}}@media(min-width:768px){.splash-screen h1{font-size:3.75rem}}.splash-screen.hidden{opacity:0;transform:scale(.95);pointer-events:none}.avatars-grid{display:grid;gap:1.25rem;align-items:center}.avatar-card{display:flex;align-items:center;gap:0;background:rgba(255,255,255,5%);border-radius:.5rem}.avatar-image{margin-right:1rem;width:6rem;height:6rem;border-radius:9999px;-o-object-fit:cover;object-fit:cover;border:1px solid rgba(255,255,255,.1)}.avatar-info{margin-left:.5rem}.integration-benefits{display:grid;grid-template-columns:1fr;gap:0;max-width:80rem}.integration-benefits .benefit{padding:1rem}.integration-benefits .benefit h3{font-size:1.5rem;font-weight:500;display:flex;align-items:center}.integration-benefits .benefit h3 span{margin-right:.75rem}.integration-benefits .benefit p{color:var(--muted-color)}.integration-intro{color:var(--muted-color);line-height:1.625;max-width:56rem}.section-container{margin:0 auto;position:relative;z-index:10;background:var(--background-alt);margin:1.2rem 0;border-radius:2%}.section-container-standard{padding-left:1.5rem;padding-right:1.5rem}.section-container-responsive{padding-left:.75rem;padding-right:.75rem}@media(min-width:640px){.section-container-responsive{padding-left:1.5rem;padding-right:1.5rem}}.about-content{text-align:center;font-style:italic;color:var(--muted-color);margin-top:1rem;margin-bottom:1rem}.booking-loading{display:none;align-items:center;justify-content:center;flex-direction:column;padding:2rem;text-align:center;color:var(--muted-color);font-size:1rem;background:var(--surface-color);border-radius:12px;width:-moz-fit-content;width:fit-content;max-width:90%;margin:auto;align-self:center;box-shadow:0 4px 12px rgba(0,0,0,8%)}.booking-loading::after{content:'';display:inline-block;width:20px;height:20px;margin-left:.75rem;border:3px solid var(--border-color);border-top-color:var(--accent-color);border-radius:50%;animation:spin .8s linear infinite}.booking-result{background:var(--surface-color);border-radius:12px;padding:1.5rem 2rem;width:-moz-fit-content;width:fit-content;max-width:90%;margin:auto;box-shadow:0 4px 12px rgba(0,0,0,8%);font-size:.95rem;line-height:1.4;display:flex;flex-direction:column;align-items:center;text-align:center}.booking-result-content{margin-bottom:1.5rem;width:100%}.booking-result-content h3{font-size:1.25rem;margin:0 0 1rem;color:var(--accent-color);font-weight:600}.booking-result-content.error h3{color:#ef4444}.booking-details{background:var(--background-alt);padding:1rem;border-radius:8px;margin:1rem 0;width:100%;text-align:center}.booking-details p{margin:.5rem 0;font-size:.95rem;color:var(--text-color)}.booking-details strong{color:var(--accent-color)}.modal-buttons{display:flex;justify-content:center;gap:1rem;width:100%;margin-top:1rem}.btn{flex:initial;min-width:120px;padding:.75rem 1.5rem;border:none;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s ease}.btn-primary{background-color:var(--accent-color);color:#fff}.btn-primary:hover{opacity:.9;transform:translateY(-1px)}.btn-secondary{background-color:var(--background-alt);color:var(--text-color)}.btn-secondary:hover{background-color:var(--border-color)}.error-message{font-size:.825rem;color:#ef4444;min-height:1.2em;opacity:0;transition:opacity .2s ease;margin-top:.25rem;text-align:left}.error-message.show{opacity:1}input.invalid,textarea.invalid{border-color:#ef4444 !important}@keyframes spin{to{transform:rotate(360deg)}}.appointment-calendar{background-color:var(--background-color);color:var(--text-color);padding:.5rem !important;width:100%;max-width:900px;margin:0 auto;box-sizing:border-box}@media(max-width:480px){.appointment-calendar{padding:.25rem !important}}.appointment-calendar:not([data-initialized=ready]){background-color:var(--background-alt)}.calendar-loading,.calendar-container{transition:opacity .5s ease}.appointment-calendar:not([data-initialized=ready]) .calendar-container{opacity:0;pointer-events:none}.appointment-calendar[data-initialized=ready] .calendar-loading{opacity:0;pointer-events:none}.appointment-calendar[data-initialized=ready] .calendar-container{opacity:1;animation:slideInUp .6s ease-out}@keyframes slideInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.appointment-calendar:not([data-initialized=ready]) .calendar-header{display:none}.appointment-calendar[data-view=booking] .calendar-header,.appointment-calendar[data-view=booking] .calendar-container{display:none}.booking-view{display:none;opacity:0;transform:translateY(20px);transition:opacity .45s ease,transform .45s ease;box-sizing:border-box;width:100%;padding:.5rem 0}.appointment-calendar[data-view=booking] .booking-view{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;min-height:400px;opacity:1;transform:translateY(0)}.booking-form-container{background:var(--surface-color);border-radius:10px;padding:1.5rem 2rem;width:650px;max-width:95%;margin:0 auto;box-shadow:0 4px 12px rgba(0,0,0,8%);font-size:.9rem;line-height:1.1;box-sizing:border-box}@media(max-width:768px){.booking-form-container{width:100% !important;max-width:100%;padding:1rem 0;border-radius:0;box-shadow:none}}.booking-form-container h2{font-size:1.05rem;margin:0 0 .5rem;color:var(--accent-color);font-weight:600}.booking-form-fields{display:flex;flex-direction:row;gap:.5rem;margin-bottom:.5rem}.booking-form-fields .form-group{flex:1;display:flex;flex-direction:column}@media(max-width:768px){.booking-form-fields{flex-direction:row;width:100%;gap:.5rem}.booking-form-fields .form-group{flex:1;width:auto}.booking-form-fields input{width:100%;box-sizing:border-box}}.booking-form-fields .form-group input{padding:.5rem;font-size:.95rem}@media(max-width:480px){.booking-compact-details{flex-direction:column;align-items:stretch;gap:.4rem}.booking-compact-details .line{justify-content:space-between}}.calendar-header{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem;margin-top:1.5rem;padding:0 1rem}.header-top{display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;text-align:center;gap:.5rem}.month-controls{display:none}.calendar-header h2{font-size:1.3rem;font-weight:400;margin:0;color:var(--accent-color)}.timezone-info{font-size:.9rem;color:var(--muted-color)}.calendar-loading{display:flex;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center;color:var(--muted-color);font-size:1rem;min-height:500px;opacity:1}.calendar-loading::after{content:'';display:inline-block;width:20px;height:20px;margin-left:.75rem;border:3px solid var(--border-color);border-top-color:var(--accent-color);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.appointment-calendar[data-initialized=ready] .calendar-loading{display:none}.calendar-container{display:grid;grid-template-columns:1fr;gap:0;width:100%;max-width:100%;justify-content:stretch;align-items:start;box-sizing:border-box}.month-calendar{background:var(--surface-color);border-radius:12px;padding:.1rem;box-shadow:0 1px 3px rgba(0,0,0,.1);width:100%;max-width:180px}.month-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-left:.3rem}.month-header h3{font-size:1.125rem;font-weight:600;margin:0}.month-nav{display:flex;gap:.5rem}.month-nav button{background:0 0;border:none;cursor:pointer;padding:.25rem;color:var(--text-color);font-size:1.25rem;border-radius:4px;transition:background-color .2s}.month-nav button:hover{background-color:var(--background-alt)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.1rem}.calendar-day-header{text-align:center;font-size:1rem;font-weight:600;color:var(--muted-color);padding:.15rem 0;padding-top:.3rem}.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:1rem;border-radius:16px;cursor:pointer;transition:all .2s}.calendar-day.other-month{color:var(--muted-color);opacity:.4}.calendar-day.today{background-color:var(--accent-color);color:#fff;font-weight:600}.calendar-day.selected{background-color:var(--accent-secondary);color:#fff;font-weight:600}.calendar-day.today.selected{background-color:var(--accent-color);color:#fff;font-weight:600}.calendar-day.has-slots:not(.selected):not(.today){background-color:var(--background-alt)}.calendar-day.has-slots:hover:not(.selected){background-color:var(--border-color)}.time-slots-container{background:var(--surface-color);border-radius:12px;padding:.2rem;box-shadow:0 1px 3px rgba(0,0,0,.1);overflow-x:auto;width:100%;max-width:100%;box-sizing:border-box}.days-navigation{display:flex;gap:.3rem;overflow-x:auto;padding-bottom:.5rem;margin-bottom:1.5rem;width:100%;max-width:100%;justify-content:center;align-items:flex-start}.days-navigation::-webkit-scrollbar{height:6px}.days-navigation::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.day-column{flex:1;min-width:80px;max-width:140px;display:flex;flex-direction:column;align-items:center;gap:.4rem}@media(max-width:480px){.day-column{min-width:80px;max-width:110px}}.days-nav-button{background:0 0;border:none;border-radius:4px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;flex-shrink:0;color:var(--text-color);padding:0;opacity:.6}.days-nav-button:hover{background-color:var(--background-alt);opacity:1}.days-nav-button:disabled{opacity:.2;cursor:not-allowed}.days-nav-button:disabled:hover{background-color:transparent;opacity:.2}.days-nav-button svg{width:16px;height:16px}.day-header-content{flex:1;display:flex;flex-direction:column;align-items:center;line-height:.8}.day-header{width:100%;margin-bottom:.3rem;padding-bottom:.35rem;border-bottom:2px solid var(--border-color);position:relative;display:grid;grid-template-columns:24px 1fr 24px;align-items:center;padding-top:.35rem;gap:.25rem;min-height:48px}.day-header .header-text{display:flex;flex-direction:column;align-items:center;line-height:1.1;width:100%}.day-header .days-nav-button{width:24px;height:24px;display:flex;align-items:center;justify-content:center;padding:0;background:0 0;border:none;color:var(--text-color);cursor:pointer;opacity:.6;transition:opacity .2s}.day-header .days-nav-button:hover{opacity:1}.day-header .days-nav-spacer{width:24px}.day-header.today{background-color:var(--accent-color) !important;color:var(--background-color);border-radius:16px;padding:.35rem .5rem;margin-bottom:.3rem}.day-header.today .day-name,.day-header.today .day-date{color:var(--background-color)}.day-header.today .days-nav-button{color:var(--background-color)}.day-header.today .days-nav-button:hover{background-color:rgba(255,255,255,.2)}.day-name{font-size:1rem;color:var(--muted-color);text-transform:uppercase;font-weight:600}.day-date{font-size:1rem;font-weight:500;margin-top:.25rem}.time-slot{padding:.5rem .8rem;margin:.2rem;border:2px solid var(--border-color);border-radius:20px;text-align:center;cursor:pointer;font-weight:500;transition:all .2s;background:var(--surface-color);font-size:.95rem;letter-spacing:-.5px;width:100%;box-sizing:border-box}.time-slot:hover{border-color:var(--accent-color);background-color:var(--background-alt)}.time-slot.booked{background-color:var(--background-alt);color:var(--muted-color);cursor:not-allowed;opacity:.5}.time-slot.booked:hover{border-color:var(--border-color);background-color:var(--background-alt)}.no-slots{text-align:center;color:var(--muted-color);padding:.3rem;font-size:1rem}.appointment-details{background:var(--background-alt);padding:1rem;border-radius:8px;margin-bottom:1.5rem}.appointment-details p{margin:.5rem 0;font-size:.875rem}.appointment-details strong{color:var(--accent-color)}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;font-size:.875rem}.form-group input{width:100%;padding:.75rem;border:2px solid var(--border-color);border-radius:8px;font-size:1rem;transition:border-color .2s;box-sizing:border-box}.form-group input:focus{outline:none;border-color:var(--accent-color)}.form-group input.invalid{border-color:#ef4444}.confirmation{text-align:center}.confirmation-icon{font-size:3rem;margin-bottom:1rem}.confirmation h3{color:var(--accent-color)}.confirmation p{color:var(--muted-color);margin:.5rem 0}@media(max-width:768px){.appointment-calendar{padding:.2rem;width:100%}.time-slot{padding:.3rem .6rem}.time-slots-container{width:100%}.days-navigation{display:flex;justify-content:center;gap:.4rem;overflow-x:hidden;width:100%;flex-wrap:nowrap}.day-column{min-width:0;flex:1;max-width:120px;display:flex;flex-direction:column;align-items:center}.days-nav-button{width:16px;height:16px}.days-nav-button svg{width:14px;height:14px}.day-header{width:100% !important;grid-template-columns:16px 1fr 16px !important;gap:.1rem !important;margin-bottom:.2rem !important;padding-bottom:.2rem !important;padding-top:.2rem !important}.day-header .days-nav-spacer{width:16px !important}.day-header .day-header-content{flex:1;text-align:center}.calendar-header h2{font-size:1.1rem}.timezone-info{font-size:1rem}.month-header{margin-bottom:.5rem}.month-header h3{font-size:1rem}.calendar-day-header{font-size:1rem;padding:.1rem 0}.calendar-grid{gap:0}.calendar-day{font-size:1rem;padding:0;border-radius:16px;max-width:28px;max-height:28px;width:28px;height:28px;flex:none;text-align:center;margin:0 auto}.day-name{font-size:1rem}.day-date{font-size:1.2rem;margin-top:.1rem;white-space:nowrap}.day-header.today{padding:.2rem;margin-bottom:.2rem}.days-navigation{padding-bottom:.25rem;margin-bottom:1rem}.calendar-container{margin-bottom:1rem}.no-slots{color:var(--muted-color);font-size:1.5rem;padding:1rem 0;opacity:.3}}#contact .container{padding-top:1.5rem}.intent-selector{display:flex;gap:1rem;margin:2rem 0;margin-bottom:1rem;justify-content:center;flex-wrap:wrap}.intent-button{padding:.875rem 1.75rem;border:2px solid var(--border-color);background:var(--surface-color);color:var(--text-color);border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.intent-button:hover{border-color:var(--accent-color);background-color:var(--background-alt)}.intent-button[aria-pressed=true]{background-color:var(--accent-color);color:#fff;border-color:var(--accent-color)}.intent-button[aria-pressed=true]:hover{opacity:.9}.intent-content{min-height:0;height:0;overflow:hidden;position:relative;transition:height .4s cubic-bezier(.4,0,.2,1)}.intent-content.active{height:450px;overflow:visible;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;padding:20px}.intent-content-wrapper{display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;animation:intentEnter .4s cubic-bezier(.4,0,.2,1)forwards}.intent-content-wrapper>.appointment-calendar,.intent-content-wrapper>.message-form-container-view{width:100%}@media(min-width:769px){.intent-content[data-height-locked=true]{min-height:var(--intent-content-height,auto)}}@keyframes intentEnter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.intent-content-wrapper.exit{animation:intentExit .2s cubic-bezier(.4,0,.2,1)forwards}@keyframes intentExit{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}.message-form-container-view{width:100%;min-height:400px;display:flex;flex-direction:column;align-items:center;justify-content:center}.message-form{width:100%;max-width:700px;margin:0 auto;display:flex;flex-direction:column;gap:.5rem}.message-form .form-group{display:flex;flex-direction:column;flex:1}.message-form .form-row{display:flex;gap:1rem;width:100%}.message-form div.form-group textarea#messageText{min-height:250px}@media(max-width:600px){.message-form .form-row{flex-direction:row;gap:.5rem}.message-form .form-row .form-group{min-width:0}}.message-form .form-group label{font-weight:500;font-size:.95rem;color:var(--text-color)}.message-form .form-group input,.message-form .form-group textarea{padding:.75rem;border:2px solid var(--border-color);border-radius:6px;background:var(--surface-color);color:var(--text-color);font-family:inherit;font-size:1rem;transition:border-color .2s ease}.message-form .form-group input:focus,.message-form .form-group textarea:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px rgba(138,0,160,.1)}.message-form .form-group textarea{resize:vertical;min-height:140px;max-height:600px}.message-form .form-actions{display:flex;gap:1rem;justify-content:center}.message-form .submit-button{flex:0 1 200px;padding:.875rem 1.5rem;background-color:var(--accent-color);color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.message-form .submit-button:hover{opacity:.9;transform:translateY(-1px)}.message-form .submit-button:active{transform:translateY(0)}.message-form .submit-button:disabled{opacity:.5;cursor:not-allowed}.appointment-calendar{margin-top:0}@media(max-width:768px){.intent-selector{flex-direction:row;gap:.75rem}#contact>div.container>h2{margin-left:.5rem}.intent-button{flex:1;width:auto;padding:.875rem 1rem}.message-form .form-actions{flex-direction:column}.message-form .submit-button{width:100%;flex:none;padding:.875rem 1.5rem}}@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-x-reverse{syntax: "*";
  inherits: false;
  initial-value: 0;
}@property --tw-border-style{syntax: "*";
  inherits: false;
  initial-value: solid;
}@property --tw-leading{syntax: "*";
  inherits: false;
}@property --tw-font-weight{syntax: "*";
  inherits: false;
}@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-tracking{syntax: "*";
  inherits: false;
}@keyframes spin{to{transform:rotate(360deg)}}@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-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-space-x-reverse: 0;
      --tw-border-style: solid;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --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-tracking: initial;
    }
  }
}