:root {
      --color-primary: #377187;
      --color-primary-contrast: #ffffff;
      --color-secondary: #5b945f;
      --color-secondary-contrast: #ffffff;
      --color-accent: #4fb1bc;
      --color-highlight: #81ba49;
      --color-muted: #52a587;
      --color-text: #1f2937;
      --color-text-muted: #4b5563;
      --color-bg: #ffffff;
      --color-bg-alt: #f4f8f7;
      --color-border: #d1e0dc;
      --font-heading: "Montserrat", sans-serif;
      --font-body: "Open Sans", sans-serif;
      --fs-h1: clamp(2.25rem, 5vw + 1rem, 4rem);
      --fs-h2: clamp(1.75rem, 3vw + .5rem, 2.75rem);
      --fs-h3: clamp(1.25rem, 2vw + .25rem, 1.5rem);
      --fs-body: clamp(1rem, 1vw + .5rem, 1.125rem);
      --space-xs: .25rem;
      --space-sm: .5rem;
      --space-md: 1rem;
      --space-lg: 1.5rem;
      --space-xl: 2.5rem;
      --space-2xl: 4rem;
      --radius-sm: .5rem;
      --radius-md: .75rem;
      --radius-lg: 1.25rem;
      --shadow-sm: 0 1px 2px rgba(0,0,0,.05);
      --shadow-md: 0 10px 25px rgba(0,0,0,.08);
      --container-max: 1200px;
    }* { margin: 0; padding: 0; box-sizing: border-box; }html { scroll-behavior: smooth; }body { font-family: var(--font-body); font-size: var(--fs-body); line-height: 1.6; color: var(--color-text); background: var(--color-bg); }h1, h2, h3, h4 { font-family: var(--font-heading); line-height: 1.2; font-weight: 700; }img { max-width: 100%; height: auto; display: block; }a { color: inherit; text-decoration: none; }ul { list-style: none; }button, input, select, textarea { font: inherit; }.container { max-width: var(--container-max); margin: 0 auto; padding: 0 var(--space-lg); }.section { padding: var(--space-2xl) 0; }.section-primary { background: var(--color-bg); }.section-alt { background: var(--color-bg-alt); }.section-accent { background: var(--color-secondary); color: var(--color-secondary-contrast); }.section-accent .section-subtitle,
    .section-accent p { opacity: .95; }.section-header { text-align: center; max-width: 760px; margin: 0 auto var(--space-xl); }.section-title { font-size: var(--fs-h2); margin-bottom: var(--space-md); }.section-subtitle { font-size: var(--fs-body); color: var(--color-text-muted); }.btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-sm); padding: var(--space-md) var(--space-xl); border-radius: var(--radius-md); font-family: var(--font-heading); font-weight: 600; font-size: .95rem; letter-spacing: .02em; transition: transform .2s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease, color .2s ease; cursor: pointer; border: 2px solid transparent; min-height: 44px; }.btn-primary { background: var(--color-primary); color: var(--color-primary-contrast); box-shadow: var(--shadow-sm); }.btn-primary:hover { background: color-mix(in srgb, var(--color-primary) 85%, black); transform: translateY(-2px); box-shadow: var(--shadow-md); }.btn-secondary { background: transparent; color: var(--color-primary); border-color: var(--color-primary); }.btn-secondary:hover { background: var(--color-primary); color: var(--color-primary-contrast); transform: translateY(-2px); }.btn-light { background: var(--color-bg); color: var(--color-primary); }.btn-light:hover { background: var(--color-bg-alt); }.btn-white { background: var(--color-secondary-contrast); color: var(--color-secondary); }.btn-white:hover { background: var(--color-bg-alt); }.card { background: var(--color-bg); border-radius: var(--radius-lg); padding: var(--space-xl); box-shadow: var(--shadow-sm); transition: transform .25s ease, box-shadow .25s ease; border: 1px solid var(--color-border); }.card:hover { transform: translateY(-6px); box-shadow: var(--shadow-md); }.section-accent .card { background: color-mix(in srgb, var(--color-secondary-contrast) 14%, transparent); border-color: color-mix(in srgb, var(--color-secondary-contrast) 25%, transparent); color: var(--color-secondary-contrast); }.icon-circle { width: 56px; height: 56px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: color-mix(in srgb, var(--color-accent) 15%, transparent); color: var(--color-primary); font-size: 1.35rem; margin-bottom: var(--space-md); }.section-accent .icon-circle { background: color-mix(in srgb, var(--color-secondary-contrast) 20%, transparent); color: var(--color-secondary-contrast); }.site-header { position: sticky; top: 0; z-index: 1000; background: color-mix(in srgb, var(--color-bg) 95%, transparent); backdrop-filter: blur(8px); border-bottom: 1px solid var(--color-border); }.header-inner { display: flex; align-items: center; justify-content: space-between; min-height: 72px; }.logo { display: flex; align-items: center; gap: var(--space-md); font-family: var(--font-heading); font-weight: 700; color: var(--color-primary); font-size: 1.25rem; }.logo img { height: 44px; width: auto; }.desktop-nav { display: flex; align-items: center; gap: var(--space-lg); }.nav-list { display: flex; align-items: center; gap: var(--space-lg); list-style: none; margin: 0; padding: 0; }.nav-item { position: relative; }.nav-link { display: flex; align-items: center; gap: var(--space-xs); padding: var(--space-sm) 0; font-weight: 600; color: var(--color-text); transition: color .2s; min-height: 44px; }.nav-link:hover, .nav-link:focus { color: var(--color-primary); }.dropdown { position: absolute; top: 100%; left: 0; background: var(--color-bg); border-radius: var(--radius-md); box-shadow: var(--shadow-md); border: 1px solid var(--color-border); min-width: 220px; padding: var(--space-sm) 0; opacity: 0; visibility: hidden; transform: translateY(8px); transition: all .2s ease; }.nav-item:hover .dropdown, .nav-item:focus-within .dropdown { opacity: 1; visibility: visible; transform: translateY(0); }.dropdown a { display: block; padding: var(--space-sm) var(--space-md); color: var(--color-text); transition: background .2s, color .2s; }.dropdown a:hover { background: var(--color-bg-alt); color: var(--color-primary); }.mobile-menu-toggle { display: none; background: none; border: none; font-size: 1.5rem; color: var(--color-primary); cursor: pointer; width: 44px; height: 44px; align-items: center; justify-content: center; }.mobile-nav { display: none; position: absolute; top: 100%; left: 0; right: 0; background: var(--color-bg); border-bottom: 1px solid var(--color-border); box-shadow: var(--shadow-md); padding: var(--space-md) var(--space-lg); }.mobile-nav.open { display: block; }.mobile-nav-list { display: flex; flex-direction: column; gap: var(--space-sm); }.mobile-nav-item { border-bottom: 1px solid var(--color-border); }.mobile-nav-row { display: flex; align-items: center; justify-content: space-between; }.mobile-nav-link { display: flex; align-items: center; padding: var(--space-md) 0; font-weight: 600; min-height: 44px; flex: 1; }.toggle-submenu { background: none; border: none; font-size: 1.1rem; color: var(--color-primary); width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; }.mobile-submenu { display: none; padding-left: var(--space-lg); padding-bottom: var(--space-md); }.mobile-submenu.open { display: block; }.mobile-submenu a { display: block; padding: var(--space-sm) 0; color: var(--color-text-muted); }.header-cta { padding: var(--space-sm) var(--space-lg); font-size: .85rem; letter-spacing: .03em; margin-left: var(--space-md); background: color-mix(in srgb, var(--color-primary) 85%, black); box-shadow: var(--shadow-md); }.header-cta:hover { transform: translateY(-2px); }.mobile-nav-cta { border-bottom: none; padding-top: var(--space-md); }.mobile-cta-btn { width: 100%; justify-content: center; background: color-mix(in srgb, var(--color-primary) 85%, black); box-shadow: var(--shadow-md); }@media (max-width: 768px) { .desktop-nav { display: none; }.mobile-menu-toggle { display: flex; }.process-timeline { flex-direction: column; padding-top: 0; }.process-timeline::before { display: none; }.step-timeline { flex: none; margin-bottom: var(--space-lg); max-width: none; text-align: center; } }.hero { position: relative; min-height: 90vh; display: flex; align-items: center; color: var(--color-primary-contrast); overflow: hidden; }.hero-bg { position: absolute; inset: 0; background: linear-gradient(135deg, color-mix(in srgb, var(--color-primary) 92%, transparent), color-mix(in srgb, var(--color-primary) 70%, transparent)), url("https://images.unsplash.com/photo-1576091160399-112ba8d25d1d?auto=format&fit=crop&w=1920&q=80") center/cover no-repeat; z-index: -1; }.hero-content { position: relative; z-index: 1; max-width: 760px; }.hero h1 { font-size: var(--fs-h1); margin-bottom: var(--space-md); }.hero p { font-size: clamp(1.1rem, 2vw, 1.35rem); margin-bottom: var(--space-xl); opacity: .95; }.hero-badges { display: flex; flex-wrap: wrap; gap: var(--space-md); margin-bottom: var(--space-xl); }.hero-badges span { display: inline-flex; align-items: center; gap: var(--space-sm); background: color-mix(in srgb, var(--color-bg) 18%, transparent); padding: var(--space-sm) var(--space-md); border-radius: var(--radius-md); backdrop-filter: blur(4px); font-size: .95rem; }.hero-ctas { display: flex; flex-wrap: wrap; gap: var(--space-md); }.trust-bar-inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-lg); }.trust-logos { display: flex; flex-wrap: wrap; gap: var(--space-md); }.trust-logo { display: flex; align-items: center; justify-content: center; min-width: 120px; height: 64px; padding: var(--space-sm) var(--space-md); background: var(--color-bg); border: 1px solid var(--color-border); border-radius: var(--radius-md); font-family: var(--font-heading); font-weight: 700; color: var(--color-primary); box-shadow: var(--shadow-sm); }.audience-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: var(--space-lg); }.audience-card { text-align: center; }.audience-card .icon-circle { margin: 0 auto var(--space-md); }.audience-subtext { text-align: center; margin-top: var(--space-xl); color: var(--color-text-muted); font-weight: 600; }.services-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: var(--space-xl); }.service-card { display: flex; flex-direction: column; }.service-card h3 { color: var(--color-primary); margin-bottom: var(--space-sm); }.service-card p { flex: 1; margin-bottom: var(--space-lg); color: var(--color-text-muted); }.pillars-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-lg); }@media (max-width: 768px) { .pillars-grid { grid-template-columns: 1fr; } }.pillar-icon { flex-shrink: 0; width: 48px; height: 48px; border-radius: 50%; background: color-mix(in srgb, var(--color-accent) 15%, transparent); display: flex; align-items: center; justify-content: center; color: var(--color-primary); font-size: 1.1rem; }.massage-layout { display: grid; gap: var(--space-xl); }.massage-forms { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: var(--space-lg); justify-items: center; }.benefits-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: var(--space-lg); }.specialties-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: var(--space-lg); }.badge-list { display: flex; flex-wrap: wrap; gap: var(--space-sm); margin-top: var(--space-md); }.badge-pill { background: color-mix(in srgb, var(--color-secondary-contrast) 20%, transparent); padding: var(--space-xs) var(--space-sm); border-radius: var(--radius-sm); font-size: .85rem; }.therapist-layout { display: grid; grid-template-columns: 1fr 1.2fr; gap: var(--space-xl); align-items: center; }.therapist-image img { border-radius: var(--radius-lg); box-shadow: var(--shadow-md); object-fit: cover; width: 100%; max-height: 520px; }.therapist-badges { display: flex; flex-wrap: wrap; gap: var(--space-sm); margin: var(--space-lg) 0; }.therapist-badges span { background: color-mix(in srgb, var(--color-accent) 12%, transparent); color: var(--color-primary); padding: var(--space-sm) var(--space-md); border-radius: var(--radius-md); font-weight: 600; font-size: .9rem; }@media (max-width: 768px) { .therapist-layout { grid-template-columns: 1fr; } }.steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: var(--space-lg); }.step-number { width: 48px; height: 48px; border-radius: 50%; background: var(--color-primary); color: var(--color-primary-contrast); display: flex; align-items: center; justify-content: center; font-family: var(--font-heading); font-weight: 700; margin-bottom: var(--space-md); }.step-duration { color: var(--color-text-muted); font-size: .9rem; margin-top: var(--space-sm); }.value-inner { max-width: 800px; margin: 0 auto; text-align: center; }.pricing-inner { text-align: center; }.testimonials-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-lg); }@media (max-width: 768px) { .testimonials-grid { grid-template-columns: 1fr; } }.quote-icon { color: var(--color-primary); font-size: 1.5rem; margin-bottom: var(--space-sm); opacity: .6; }.testimonial-author { margin-top: var(--space-md); font-weight: 700; font-family: var(--font-heading); }.testimonial-role { color: var(--color-text-muted); font-size: .9rem; }.faq-list { max-width: 800px; margin: 0 auto; display: flex; flex-direction: column; gap: var(--space-md); }.faq-item { border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-bg); overflow: hidden; }.faq-item summary { padding: var(--space-md) var(--space-lg); cursor: pointer; font-weight: 600; font-family: var(--font-heading); list-style: none; display: flex; justify-content: space-between; align-items: center; min-height: 44px; }.faq-item summary::-webkit-details-marker { display: none; }.faq-item summary::after { content: "+"; font-size: 1.25rem; color: var(--color-primary); }.faq-item[open] summary::after { content: "−"; }.faq-answer { padding: 0 var(--space-lg) var(--space-md); color: var(--color-text-muted); }.booking-layout { display: grid; grid-template-columns: 1.2fr .8fr; gap: var(--space-xl); align-items: start; }.booking-form { background: var(--color-bg); color: var(--color-text); padding: var(--space-xl); border-radius: var(--radius-lg); box-shadow: var(--shadow-md); }.form-group { margin-bottom: var(--space-md); }.form-group label { display: block; font-weight: 600; margin-bottom: var(--space-sm); }.form-group input, .form-group select { width: 100%; padding: var(--space-md); border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-bg); min-height: 44px; }.service-options { display: flex; flex-wrap: wrap; gap: var(--space-sm); margin-bottom: var(--space-md); }.service-option { display: flex; align-items: center; gap: var(--space-sm); padding: var(--space-sm) var(--space-md); border: 1px solid var(--color-border); border-radius: var(--radius-md); cursor: pointer; transition: all .2s; }.service-option input { width: auto; }.service-option:hover { border-color: var(--color-primary); }.service-option:has(input:checked) { background: color-mix(in srgb, var(--color-accent) 12%, transparent); border-color: var(--color-primary); }.review-card { background: var(--color-bg); color: var(--color-text); padding: var(--space-xl); border-radius: var(--radius-lg); box-shadow: var(--shadow-md); text-align: center; }@media (max-width: 768px) { .booking-layout { grid-template-columns: 1fr; } }.footer { background: var(--color-primary); color: var(--color-primary-contrast); padding: var(--space-2xl) 0 var(--space-lg); }.footer-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-xl); margin-bottom: var(--space-xl); }.footer-col-title { font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; margin-bottom: var(--space-lg); opacity: .7; }.footer-logo { display: flex; align-items: center; gap: var(--space-md); font-family: var(--font-heading); font-weight: 700; }.footer-logo img { height: 48px; width: auto; }.footer-nav-list { display: flex; flex-direction: column; gap: var(--space-sm); }.footer-nav-list a { color: var(--color-primary-contrast); opacity: .9; transition: opacity .2s; }.footer-nav-list a:hover { opacity: 1; text-decoration: underline; }.footer-company { font-weight: 600; margin-bottom: var(--space-xs); }.footer-contact-line { margin-bottom: var(--space-xs); display: flex; align-items: center; gap: var(--space-sm); }.footer-contact-line a { color: var(--color-primary-contrast); opacity: .9; transition: opacity .2s; }.footer-contact-line a:hover { opacity: 1; text-decoration: underline; }.footer-icon { font-size: .95rem; opacity: .8; width: 20px; text-align: center; }.footer-cta-wrap { margin-top: var(--space-lg); }.footer-cta { display: block; width: 100%; text-align: center; padding: var(--space-md) var(--space-lg); font-size: .85rem; letter-spacing: .03em; background: var(--color-primary-contrast); color: var(--color-primary); }.footer-google-btn { display: block; width: 100%; text-align: center; padding: var(--space-md) var(--space-lg); font-size: .85rem; letter-spacing: .03em; background: transparent; color: var(--color-primary-contrast); border: 2px solid var(--color-primary-contrast); }.footer-google-btn:hover { background: var(--color-primary-contrast); color: var(--color-primary); }.footer a { color: var(--color-primary-contrast); }.footer-bottom { border-top: 1px solid color-mix(in srgb, var(--color-primary-contrast) 20%, transparent); padding-top: var(--space-lg); text-align: center; font-size: .85rem; opacity: .8; }@media (max-width: 768px) {
      .footer-grid { grid-template-columns: 1fr 1fr; }
    }@media (max-width: 480px) {
      .footer-grid { grid-template-columns: 1fr; }
    }.hero-split-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-xl);
    align-items: center;
  }.hero-split-content {
    max-width: 640px;
  }.hero-split-headline {
    font-size: var(--fs-h1);
    color: var(--color-primary);
    margin-bottom: var(--space-sm);
  }.hero-split-subheadline {
    font-size: var(--fs-h3);
    color: var(--color-text-muted);
    margin-bottom: var(--space-lg);
  }.hero-split-badges {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-md);
    margin-bottom: var(--space-xl);
  }.hero-split-badges span {
    display: inline-flex;
    align-items: center;
    gap: var(--space-sm);
    background: color-mix(in srgb, var(--color-accent) 12%, transparent);
    color: var(--color-primary);
    padding: var(--space-sm) var(--space-md);
    border-radius: var(--radius-md);
    font-weight: 600;
    font-size: .95rem;
  }.hero-split-media {
    position: relative;
  }.hero-split-media::before {
    content: "";
    position: absolute;
    inset: -16px 16px auto auto;
    width: 80%;
    height: 80%;
    background: color-mix(in srgb, var(--color-primary) 12%, transparent);
    border-radius: var(--radius-lg);
    z-index: 0;
  }.hero-split-media img {
    position: relative;
    z-index: 1;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-md);
    object-fit: cover;
    width: 100%;
    max-height: 560px;
  }.quote-section {
    text-align: center;
  }.quote-icon {
    color: var(--color-secondary-contrast);
    font-size: 2.5rem;
    margin-bottom: var(--space-md);
    opacity: .8;
  }.quote-text {
    font-size: clamp(1.5rem, 3vw, 2.25rem);
    font-family: var(--font-heading);
    font-weight: 700;
    line-height: 1.3;
    max-width: 820px;
    margin: 0 auto;
    color: var(--color-secondary-contrast);
  }.timeline {
    position: relative;
    max-width: 900px;
    margin: 0 auto;
  }.timeline::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 2px;
    background: var(--color-border);
    transform: translateX(-50%);
  }.timeline-item { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-xl); align-items: center; margin-bottom: var(--space-xl); position: relative; }.timeline-item:last-child {
    margin-bottom: 0;
  }.timeline-content {
    background: var(--color-bg);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    padding: var(--space-xl);
    box-shadow: var(--shadow-sm);
  }.timeline-title {
    font-size: var(--fs-h3);
    color: var(--color-primary);
    margin-bottom: var(--space-sm);
  }.timeline-description {
    color: var(--color-text-muted);
    line-height: 1.6;
  }.qualifications-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: var(--space-lg);
  }.qualification-card {
    background: var(--color-bg);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    padding: var(--space-lg);
    box-shadow: var(--shadow-sm);
    transition: transform .2s ease, box-shadow .2s ease;
  }.qualification-icon {
    color: var(--color-secondary);
    font-size: 1.35rem;
    margin-bottom: var(--space-sm);
  }.qualification-title {
    font-size: 1.1rem;
    color: var(--color-text);
    margin-bottom: var(--space-xs);
    font-weight: 700;
  }.qualification-desc {
    color: var(--color-text-muted);
    font-size: .95rem;
  }.philosophy-layout {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: var(--space-xl);
    align-items: center;
  }.philosophy-media img {
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-md);
    object-fit: cover;
    width: 100%;
    max-height: 520px;
  }.philosophy-title {
    font-size: var(--fs-h2);
    color: var(--color-primary);
    margin-bottom: var(--space-md);
  }.philosophy-text {
    color: var(--color-text-muted);
    line-height: 1.7;
  }.strengths-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: var(--space-lg);
  }.strength-card {
    background: var(--color-bg);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    padding: var(--space-xl);
    box-shadow: var(--shadow-sm);
    transition: transform .25s ease, box-shadow .25s ease;
    text-align: center;
  }.strength-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-md);
  }.strength-icon {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: color-mix(in srgb, var(--color-accent) 15%, transparent);
    color: var(--color-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    margin: 0 auto var(--space-md);
  }.strength-title {
    font-size: var(--fs-h3);
    color: var(--color-primary);
    margin-bottom: var(--space-sm);
  }.strength-desc {
    color: var(--color-text-muted);
  }.contact-form {
    background: var(--color-bg);
    padding: var(--space-xl);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-md);
    max-width: 720px;
    margin: 0 auto;
  }.form-row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-md);
  }.form-group {
    margin-bottom: var(--space-md);
  }.form-group label {
    display: block;
    font-weight: 600;
    margin-bottom: var(--space-sm);
    color: var(--color-text);
  }.form-group input,
  .form-group textarea {
    width: 100%;
    padding: var(--space-md);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-bg);
    min-height: 44px;
    color: var(--color-text);
  }.form-group textarea {
    min-height: 120px;
    resize: vertical;
  }.google-review-cta {
    text-align: center;
  }.google-review-cta p {
    margin-bottom: var(--space-xl);
    opacity: .95;
  }@media (max-width: 768px) {
    .hero-split-layout,
    .philosophy-layout {
      grid-template-columns: 1fr;
    }
    .hero-split-media::before {
      display: none;
    }
    .timeline::before {
      left: 24px;
    }
    .timeline-item {
      grid-template-columns: 1fr;
    }
    .timeline-item:nth-child(odd) .timeline-content,
    .timeline-item:nth-child(even) .timeline-content {
      margin: 0 0 0 56px;
    }
    .timeline-icon {
      left: 24px;
      transform: translateY(-50%);
    }
    .form-row {
      grid-template-columns: 1fr;
    }
  }.contact-channels-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: var(--space-lg);
  }.channel-card {
    background: var(--color-bg);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    padding: var(--space-xl);
    text-align: center;
    box-shadow: var(--shadow-sm);
    transition: transform .25s ease, box-shadow .25s ease;
  }.channel-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-md);
  }.channel-card .icon-circle {
    margin: 0 auto var(--space-md);
  }.channel-title {
    font-family: var(--font-heading);
    font-size: var(--fs-h3);
    color: var(--color-primary);
    margin-bottom: var(--space-sm);
  }.channel-lines {
    color: var(--color-text-muted);
    margin-bottom: var(--space-lg);
    line-height: 1.5;
  }.channel-lines p {
    margin-bottom: var(--space-xs);
  }.channel-link {
    font-weight: 600;
    color: var(--color-primary);
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color .2s;
  }.channel-link:hover {
    color: var(--color-muted);
  }.booking-form-section .booking-form {
    max-width: 760px;
    margin: 0 auto;
  }.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-md);
  }@media (max-width: 768px) {
    .form-row {
      grid-template-columns: 1fr;
    }
  }.form-group textarea {
    width: 100%;
    padding: var(--space-md);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-bg);
    min-height: 120px;
    resize: vertical;
  }.form-hint {
    display: flex;
    align-items: flex-start;
    gap: var(--space-sm);
    color: var(--color-text-muted);
    font-size: .95rem;
    margin-top: var(--space-lg);
  }.form-hint i {
    color: var(--color-accent);
    margin-top: 2px;
  }.map-wrapper {
    position: relative;
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: var(--shadow-md);
    border: 1px solid var(--color-border);
  }.map-embed {
    width: 100%;
    height: 420px;
    border: 0;
    display: block;
  }.map-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: color-mix(in srgb, var(--color-bg) 95%, transparent);
    backdrop-filter: blur(6px);
    padding: var(--space-lg);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-md);
    border-top: 1px solid var(--color-border);
  }.map-address {
    font-weight: 600;
    color: var(--color-text);
  }@media (max-width: 768px) {
    .map-embed {
      height: 320px;
    }
  }.pillar-header { align-items: center; display: flex; gap: var(--space-sm); margin-bottom: var(--space-sm); }.pillar-header h4 { font-family: var(--font-heading); font-size: 1.1rem; margin-bottom: 0; }.process-timeline { display: flex; gap: var(--space-lg); justify-content: space-between; padding-top: var(--space-xl); position: relative; }.process-timeline::before { background: var(--color-primary); content: ""; height: 2px; left: 0; position: absolute; right: 0; top: calc(var(--space-xl) + 24px); z-index: 0; }.step-timeline { flex: 1; max-width: 280px; position: relative; text-align: left; z-index: 1; }.step-timeline .step-number { margin-bottom: var(--space-lg); }.massage-forms { align-items: stretch; display: flex; flex-wrap: wrap; gap: var(--space-lg); justify-content: center; }.massage-form-card { flex: 1 1 220px; max-width: 260px; min-width: 220px; text-align: left; }.massage-form-card .icon-circle { margin-bottom: var(--space-md); }.testimonial .quote-icon { color: var(--color-accent); font-size: 1.5rem; margin-bottom: var(--space-sm); opacity: .6; }.step-timeline .step-number { text-align: center; }.pillar { align-items: flex-start; display: flex; flex-direction: column; gap: var(--space-md); text-align: left; }.footer-cta:hover { background: color-mix(in srgb, var(--color-primary-contrast) 90%, transparent); box-shadow: var(--shadow-md); transform: translateY(-2px); }.footer .footer-cta { color: var(--color-primary); font-weight: 700; }.footer .footer-cta:hover { color: var(--color-primary); }.timeline-item { gap: 0; grid-template-columns: 1fr auto 1fr; }.timeline-item:nth-child(odd) .timeline-content { grid-column: 1; margin-right: var(--space-xl); }.timeline-item:nth-child(odd) .timeline-icon { grid-column: 2; }.timeline-item:nth-child(even) .timeline-content { grid-column: 3; margin-left: var(--space-xl); }.timeline-item:nth-child(even) .timeline-spacer { grid-column: 1; }.timeline-spacer { min-width: 40px; }.timeline-icon { align-items: center; background: var(--color-primary); border-radius: 50%; box-shadow: var(--shadow-sm); color: var(--color-primary-contrast); display: flex; font-size: 1.25rem; height: 56px; justify-content: center; margin: 0 var(--space-xl); position: relative; width: 56px; z-index: 1; }