/* Bundled from xs lighting html files/xs-contact-page.html; selectors scoped by conditional enqueue and .xs-page. */

  .xs-page, .editor-styles-wrapper {
    --xs-red: #c0272d;
    --xs-red-dark: #9e1f24;
    --xs-red-light: #e8484e;
    --xs-black: #111111;
    --xs-white: #fafafa;
    --xs-offwhite: #f4f3f1;
    --xs-gray-100: #eae8e4;
    --xs-gray-200: #d4d1cb;
    --xs-gray-400: #918d86;
    --xs-gray-600: #5c5955;
    --xs-gray-800: #2d2b28;
    --xs-font-heading: 'Source Serif 4', Georgia, serif;
    --xs-font-body: 'Outfit', -apple-system, sans-serif;
    --xs-radius: 10px;
    --xs-radius-lg: 18px;
    --xs-ease: cubic-bezier(0.22, 1, 0.36, 1);
    --xs-max-width: 1200px;
    --xs-section-pad: clamp(4rem, 8vw, 7rem) clamp(1.25rem, 4vw, 3rem);
  }
  .xs-page, .xs-page *, .xs-page *::before, .xs-page *::after { box-sizing: border-box; margin: 0; padding: 0; }
  .xs-page { scroll-behavior: smooth; }
  .xs-page { font-family: var(--xs-font-body); color: var(--xs-gray-800); background: var(--xs-white); -webkit-font-smoothing: antialiased;  }
  .xs-page img { display: block; max-width: 100%; }

  /* HERO (compact) */
  .xs-hero {
    position: relative;
    padding: clamp(3rem, 6vw, 4.5rem) clamp(1.25rem, 4vw, 3rem);
    background: var(--xs-black);
    overflow: hidden;
    text-align: center;
  }
  .xs-hero::before {
    content: '';
    position: absolute; inset: 0;
    background: radial-gradient(ellipse 60% 50% at 50% 40%, rgba(192,39,45,0.12), transparent 70%);
    pointer-events: none;
  }
  .xs-hero__inner {
    position: relative; z-index: 2;
    max-width: 600px; margin: 0 auto;
  }
  .xs-hero__breadcrumb {
    font-size: 0.78rem; color: var(--xs-gray-400);
    margin-bottom: 1.25rem;
  }
  .xs-hero__breadcrumb a { color: var(--xs-gray-400); text-decoration: none; transition: color 0.2s; }
  .xs-hero__breadcrumb a:hover { color: var(--xs-white); }
  .xs-hero__breadcrumb span { color: var(--xs-red-light); margin: 0 0.4rem; }
  .xs-hero h1 {
    font-family: var(--xs-font-heading);
    font-size: clamp(2rem, 3.5vw, 2.8rem);
    font-weight: 700; color: var(--xs-white);
    letter-spacing: -0.02em; margin-bottom: 0.75rem;
  }
  .xs-hero__desc {
    font-size: 1rem; line-height: 1.7;
    color: var(--xs-gray-200);
  }

  /* SHARED */
  .xs-label { font-size: 0.72rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--xs-red); margin-bottom: 0.75rem; }
  .xs-heading { font-family: var(--xs-font-heading); font-size: clamp(1.6rem, 2.5vw, 2rem); font-weight: 700; color: var(--xs-black); letter-spacing: -0.02em; line-height: 1.2; margin-bottom: 0.75rem; }

  /* MAIN CONTENT */
  .xs-contact-main {
    padding: var(--xs-section-pad);
  }
  .xs-contact-main__inner {
    max-width: var(--xs-max-width);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(2rem, 5vw, 4rem);
  }

  /* FORM */
  .xs-form { display: flex; flex-direction: column; gap: 1.25rem; }
  .xs-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
  .xs-page--contact .xs-form label {
    display: block;
    font-size: 0.78rem; font-weight: 600;
    color: var(--xs-gray-600);
    margin-bottom: 0.4rem;
    letter-spacing: 0.02em;
  }
  .xs-page--contact .xs-form input:not([type="hidden"]),
  .xs-page--contact .xs-form textarea,
  .xs-page--contact .xs-form select {
    width: 100%;
    padding: 0.75rem 1rem;
    border: 1px solid var(--xs-gray-100);
    border-radius: 8px;
    font-family: var(--xs-font-body);
    font-size: 0.9rem;
    transition: border-color 0.2s;
  }
  .xs-page--contact .xs-form input:not([type="hidden"]):focus,
  .xs-page--contact .xs-form textarea:focus,
  .xs-page--contact .xs-form select:focus {
    outline: none;
    border-color: var(--xs-red);
  }
  .xs-page--contact .xs-form input:not([type="hidden"]):focus-visible,
  .xs-page--contact .xs-form textarea:focus-visible,
  .xs-page--contact .xs-form select:focus-visible {
    outline: 2px solid var(--xs-red);
    outline-offset: 2px;
  }
  .xs-page--contact .xs-form select { height: auto; }
  .xs-page--contact .xs-form input::placeholder,
  .xs-page--contact .xs-form textarea::placeholder {
    color: var(--xs-gray-600);
    -webkit-text-fill-color: var(--xs-gray-600);
    opacity: 1;
  }
  .xs-form textarea { resize: vertical; min-height: 120px; }
  .xs-btn {
    display: inline-flex; align-items: center; gap: 0.5rem;
    padding: 0.8rem 1.75rem; border-radius: 7px;
    font-family: var(--xs-font-body); font-size: 0.9rem; font-weight: 600;
    text-decoration: none; border: none; cursor: pointer;
    transition: transform 0.3s var(--xs-ease), background 0.2s;
    line-height: 1;
  }
  .xs-btn:hover { transform: translateY(-1px); }
  .xs-btn--red { background: var(--xs-red); color: #fff; }
  .xs-btn--red:hover { background: var(--xs-red-dark); }
  .xs-btn svg { width: 15px; height: 15px; flex-shrink: 0; }

  /* CONTACT DETAILS SIDEBAR */
  .xs-contact-sidebar h3 {
    font-family: var(--xs-font-heading);
    font-size: 1.15rem; font-weight: 600;
    color: var(--xs-black); margin-bottom: 1.5rem;
  }
  .xs-contact-details { display: flex; flex-direction: column; gap: 1.25rem; margin-bottom: 2.5rem; }
  .xs-contact-item { display: flex; gap: 1rem; align-items: flex-start; }
  .xs-contact-item__icon {
    width: 40px; height: 40px; min-width: 40px;
    display: flex; align-items: center; justify-content: center;
    background: var(--xs-offwhite); border: 1px solid var(--xs-gray-100); border-radius: 10px;
  }
  .xs-contact-item__icon svg { width: 18px; height: 18px; stroke: var(--xs-red); fill: none; stroke-width: 1.5; }
  .xs-contact-item__label { font-size: 0.75rem; font-weight: 600; color: var(--xs-gray-400); text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 0.1rem; }
  .xs-contact-item__value { font-size: 0.92rem; color: var(--xs-black); }
  .xs-contact-item__value a { color: var(--xs-black); text-decoration: none; transition: color 0.2s; }
  .xs-contact-item__value a:hover { color: var(--xs-red); }
  .xs-hours { margin-bottom: 2.5rem; }
  .xs-hours h4 { font-size: 0.88rem; font-weight: 600; color: var(--xs-black); margin-bottom: 0.5rem; }
  .xs-hours p { font-size: 0.88rem; line-height: 1.6; color: var(--xs-gray-600); }

  /* MAP */
  .xs-map {
    padding: 0 clamp(1.25rem, 4vw, 3rem) clamp(3rem, 6vw, 5rem);
  }
  .xs-map__inner {
    max-width: var(--xs-max-width);
    margin: 0 auto;
    border-radius: var(--xs-radius-lg);
    overflow: hidden;
    border: 1px solid var(--xs-gray-100);
  }
  .xs-map iframe { width: 100%; height: 400px; border: none; display: block; }

  /* SEO CONTENT */
  .xs-seo {
    padding: var(--xs-section-pad);
    background: var(--xs-offwhite);
    border-top: 1px solid var(--xs-gray-100);
  }
  .xs-seo__inner { max-width: 780px; margin: 0 auto; }
  .xs-seo h2 {
    font-family: var(--xs-font-heading);
    font-size: clamp(1.6rem, 2.5vw, 2rem);
    font-weight: 700; color: var(--xs-black);
    margin-bottom: 1.25rem; line-height: 1.25;
  }
  .xs-seo h3 {
    font-family: var(--xs-font-heading);
    font-size: 1.2rem; font-weight: 600;
    color: var(--xs-black); margin: 2rem 0 0.75rem;
  }
  .xs-seo p {
    font-size: 0.95rem; line-height: 1.75;
    color: var(--xs-gray-600); margin-bottom: 1rem;
  }
  .xs-seo p a { color: var(--xs-red); text-decoration: underline; text-underline-offset: 2px; transition: color 0.2s; }
  .xs-seo p a:hover { color: var(--xs-red-dark); }

  /* RESPONSIVE */
  @media (max-width: 768px) {
    .xs-contact-main__inner { grid-template-columns: 1fr; }
    .xs-form__row { grid-template-columns: 1fr; }
  }
  @media (max-width: 640px) {
    .xs-page {  }
  }
