/* avanti-header plugin CSS. GENERATED by wordpress/build_avanti_header.py from design/src; do not edit. */
  /* Design tokens: Avanti Brand v1.0 (brand/tokens/avanti-tokens.css). Injected into every file by tools/build.py.
     Every colour, font, size and spacing value lives here only (build rule 2). */
  .av-header, .av-footer, .book-strip, .av-form, .av-reel-modal {
    /* colour */
    --color-cream: #F8F4EC;
    --color-surface: #FFFDF9;
    --color-beige: #EBE1D1;
    --color-sand: #D6C2A1;
    --color-line: #E7DCCB;
    --color-burgundy: #6B2C32;
    --color-burgundy-hover: #571F25;
    --color-wine: #3F1A1F;
    --color-gold: #B08D57;
    --color-gold-ink: #8C6B38;
    --color-gold-on-dark: #CFAE78;
    --color-ink: #2A1D1F;
    --color-ink-soft: #6B5D58;
    --color-on-dark: #F8F4EC;
    --color-on-dark-soft: #D9C8BB;
    --color-on-dark-button: #F3E9DA;
    --color-on-dark-line: #5E3A40;
    --color-whatsapp: #1F7A4D;

    /* type */
    --font-head: "Cormorant Garamond", "Georgia", serif;
    --font-body: "DM Sans", "Segoe UI", "Arial", sans-serif;
    --size-display: 56px;
    --size-h2: 40px;
    --size-h3: 24px;
    --size-h4: 20px;
    --size-lead: 17px;
    --size-body: 15px;
    --size-small: 13px;
    --size-label: 11px;
    --size-button: 12px;
    --size-nav: 14px;
    --size-icon: 18px;
    --weight-regular: 400;
    --weight-medium: 500;
    --weight-head: 500;
    --leading-display: 1.04;
    --leading-heading: 1.15;
    --leading-body: 1.65;
    --leading-tight: 1.3;
    --tracking-label: 0.18em;
    --tracking-button: 0.16em;
    --tracking-nav: 0.02em;

    /* space */
    --space-1: 4px;
    --space-2: 8px;
    --space-3: 12px;
    --space-4: 16px;
    --space-5: 24px;
    --space-6: 32px;
    --space-7: 48px;
    --space-8: 64px;
    --space-9: 96px;
    --section-pad: 40px; /* owner 2026-10-29: spacing rule, 80 px between sections (was 56) */
    --gutter: 32px;

    /* layout */
    --container: 1200px;
    --text-max: 640px;
    --header-height: 76px;
    --tile: calc((100% - 3 * var(--space-4)) / 4); /* videos, reels, stats: 4 per row laptop, 2 tablet + phone */
    --rel-col: calc((100% - 4 * var(--space-4)) / 5); /* related links: 5 laptop, 2 tablet, 1 phone */
    --card-row: calc((100% - 2 * var(--space-5)) / 3); /* category cards: 3 per row laptop, 2 tablet, 1 phone */
    --sticky-offset: 136px; /* sticky side card: below the sticky site header (top bar + menu bar) + gap */
    --logo-width: 200px;
    --logo-width-footer: 220px;
    --logo-width-mobile: 150px;
    --button-height: 48px;
    --button-height-small: 40px;
    --card-image-height: 220px;
    --hero-image-height: 560px;
    --mega-col: 200px;
    --rail: 260px;
    --rail-tablet: 38%;
    --feature: 260px;
    --feature-img: 150px;
    --links-max: 300px;
    --dropdown: 280px;
    --hero-media: 40%;
    --list-col: calc((100% - 2 * var(--space-6)) / 3);
    --card-col: calc((100% - 3 * var(--space-5)) / 4);
    --third-col: calc((100% - 2 * var(--space-5)) / 3);
    --gallery-h: 300px;
    --stat-col: 200px;
    --half: 50%;
    --slide-h: 480px;
    --photo-card-h: 320px;
    --ba-card: 340px;
    --avatar: 56px;
    --icon: 64px;
    --icon-small: 44px;
    --video-h: 440px;
    --star: 16px;
    --overlay: linear-gradient(0deg, rgba(42, 29, 31, 0.72), rgba(42, 29, 31, 0) 60%);
    --edge: max(var(--gutter), calc((100vw - var(--container)) / 2 + var(--gutter)));
    --lift: -4px;
    --zoom: 1.04;
    --feature-doc: 40%;
    --size-mag: 72px;
    --size-mag-h2: 52px;
    --leading-mag: 0.98;
    --mag-text: 46%;
    --mag-hero-h: 440px;
    --home-hero-h: 400px; /* home only (owner 2026-10-29: less empty space) */
    --mag-overlap: -48px;
    --mag-pull: -64px;
    --mag-room: 64px; /* space the text column leaves for the facts card pull-in (= -mag-pull) */
    --mag-col: calc((100% - 2 * var(--space-5)) / 3);
    --mag-frame-h: 200px;
    --mag-col-6: calc((100% - 5 * var(--space-4)) / 6);
    --mag-col-3: calc((100% - 2 * var(--space-4)) / 3);
    --mag-frame-h-t: 200px;
    --mag-frame-h-m: 130px;
    --tech-frame-h: 180px;
    --tech-name-h: 2.5em; /* two lines of tile name, so the lines under all start level */
    --doc-h: 560px;
    --faq-side: 30%;
    --facts-w: 86%;
    --price-col: calc((100% - var(--space-3)) / 2);
    --vs-key: 120px;
    --fact-col: 40%;
    --price-cell: 18%;
    --stagger: 40px;
    --read-max: 760px;
    --icon-xl: 96px;
    --quote-card-mobile: 85%;
    --tile-col: calc((100% - 3 * var(--space-5)) / 4);
    --quote-max: 820px;
    --split-image-height: 440px;
    --icon-box: 40px;
    --form-field: 48px;
    --border: 1px;
    --border-strong: 2px;
    --radius: 0;
    --speed: 0.2s;
    --ease: ease;
    /* card effects (owner 2026-10-21): soft shadow, lift on hover, slow image zoom; see _effects.css */
    --speed-card: 0.35s;
    --speed-zoom: 0.6s;
    --shadow-soft: 0 4px 16px rgba(63, 26, 31, 0.08);
    --shadow-lift: 0 16px 36px rgba(63, 26, 31, 0.18);
    --feature-scale: 1.04;
    --nudge: 4px;
    --marker: inset 0 -12px 0 rgba(176, 141, 87, 0.35); /* gold highlighter behind hovered text links */
    --marker-dark: inset 0 -12px 0 rgba(207, 174, 120, 0.3);
    /* blog banners (owner pick 2026-10-21: List A, Category A, Post A) */
    --banner-h: 380px;
    --banner-text: 620px;
    --banner-shade: linear-gradient(90deg, rgba(63, 26, 31, 0.94) 0%, rgba(63, 26, 31, 0.78) 45%, rgba(63, 26, 31, 0) 82%);
    --side-col: 300px;
    --side-top: 96px;
    /* laser category Design 5 r18 (owner 2026-10-28): women / men blocks, area tiles, dark photo cards */
    --lx-media: 400px;
    --lx-photo-h: 380px;
    --area-3: calc((100% - 2 * var(--space-3)) / 3);
    --area-4: calc((100% - 3 * var(--space-3)) / 4);
    --link-5: calc((100% - 4 * var(--space-3)) / 5); /* name links (All treatments A-Z): 5 per row laptop, 3 tablet, 2 phone */
    --area-art: 124px;
    --dark-glow: linear-gradient(200deg, rgba(176, 141, 87, 0.16) 0%, rgba(176, 141, 87, 0) 60%); /* soft gold glow, top right */
    --photo-tone: saturate(0.85) contrast(0.97) sepia(0.1);
    --photo-tone-dark: saturate(0.82) contrast(1.06) brightness(0.94) sepia(0.12);
    --photo-tone-full: saturate(1) contrast(1.04) brightness(1) sepia(0);
    --card-on-dark: rgba(248, 244, 236, 0.04);
    --line-on-dark-gold: rgba(207, 174, 120, 0.25);
    --line-on-dark-gold-hover: rgba(207, 174, 120, 0.8);
    --area-shadow: 0 14px 30px -18px rgba(63, 26, 31, 0.55);
    --area-frame: #D9C3A0;
    --zoom-photo: 1.06;
    /* Fitzpatrick skin-type swatches (illustration only, laser hair page 2026-10-28) */
    --skin-1: #F3DCCB;
    --skin-2: #E4BE9C;
    --skin-3: #C99268;
    --skin-4: #9C6644;
    --skin-5: #5C3A26;
    --swatch: 56px;
    --round: 50%;
    --men-media: 360px;
    --hw-max: 880px;
    --tl-pull: -20px; /* timeline circle centred on its line (= -icon-box / 2) */
    --hw-thumb: 62%;
    --area-bg: linear-gradient(180deg, #FBF6EE 0%, #F1E7DA 100%);
    --area-inner: inset 0 0 0 5px #F6EEE2, inset 0 0 0 6px rgba(176, 141, 87, 0.6); /* thin gold line inside the tile */
    --area-inner-hover: inset 0 0 0 5px #F6EEE2, inset 0 0 0 6px #6B2C32, 0 14px 30px -18px rgba(63, 26, 31, 0.55);
    --color-gold-text: #7E5F2F; /* small gold text, 5.3:1 on cream (owner OK 2026-10-28; gold-ink is 4.4:1) */
  }
  @media (max-width: 1024px) {
    .av-header, .av-footer, .book-strip, .av-form, .av-reel-modal {
      --size-display: 46px;
      --size-h2: 34px;
      --section-pad: 36px;
      --gutter: 28px;
      --hero-image-height: 440px;
      --card-col: calc((100% - var(--space-5)) / 2);
      --card-row: calc((100% - var(--space-5)) / 2);
      --tile: calc((100% - var(--space-4)) / 2);
      --rel-col: calc((100% - var(--space-4)) / 2);
      --list-col: calc((100% - var(--space-6)) / 2);
      --gallery-h: 220px;
      --split-image-height: 360px;
      --size-mag: 56px;
      --size-mag-h2: 42px;
      --mag-hero-h: 360px;
      --home-hero-h: 340px;
      --mag-pull: -32px;
      --mag-room: 32px;
      --doc-h: 460px;
      --slide-h: 400px;
      --photo-card-h: 260px;
      --tile-col: calc((100% - var(--space-5)) / 2);
      --banner-h: 320px;
      --lx-media: 250px;
      --area-4: calc((100% - var(--space-3)) / 2);
      --link-5: calc((100% - 2 * var(--space-3)) / 3);
    }
  }
  @media (max-width: 767px) {
    .av-header, .av-footer, .book-strip, .av-form, .av-reel-modal {
      --size-display: 36px;
      --size-h2: 28px;
      --size-h3: 22px;
      --size-lead: 16px;
      --section-pad: 28px;
      --gutter: 16px;
      --logo-width: 160px;
      --header-height: 64px;
      --hero-image-height: 300px;
      --card-image-height: 200px;
      --card-col: 100%;
      --card-row: 100%;
      --rel-col: 100%;
      --third-col: 100%;
      --list-col: 100%;
      --gallery-h: 240px;
      --split-image-height: 260px;
      --size-mag: 46px;
      --size-mag-h2: 34px;
      --mag-hero-h: 260px;
      --home-hero-h: 240px;
      --doc-h: 380px;
      --slide-h: 260px;
      --photo-card-h: 220px;
      --ba-card: 280px;
      --video-h: 300px;
      --tile-col: calc((100% - var(--space-3)) / 2);
      --banner-h: 300px;
      --banner-shade: linear-gradient(90deg, rgba(63, 26, 31, 0.86), rgba(63, 26, 31, 0.78));
      --lx-media: 100%;
      --men-media: 100%;
      --swatch: 44px;
      --lx-photo-h: 260px;
      --area-3: calc((100% - var(--space-3)) / 2);
      --link-5: calc((100% - var(--space-3)) / 2);
      --area-art: 100px;
    }
  }

.av-header .eyebrow, .av-footer .eyebrow, .book-strip .eyebrow, .av-form .eyebrow, .av-reel-modal .eyebrow {
    margin: 0;
    font-family: var(--font-body);
    font-size: var(--size-label);
    font-weight: var(--weight-medium);
    letter-spacing: var(--tracking-label);
    text-transform: uppercase;
    color: var(--color-gold-ink);
  }
.av-header .eyebrow-on-dark, .av-footer .eyebrow-on-dark, .book-strip .eyebrow-on-dark, .av-form .eyebrow-on-dark, .av-reel-modal .eyebrow-on-dark {
    margin: 0;
    font-family: var(--font-body);
    font-size: var(--size-label);
    font-weight: var(--weight-medium);
    letter-spacing: var(--tracking-label);
    text-transform: uppercase;
    color: var(--color-gold-on-dark);
  }
.av-header .text-lead, .av-footer .text-lead, .book-strip .text-lead, .av-form .text-lead, .av-reel-modal .text-lead { margin: 0; font-size: var(--size-lead); color: var(--color-ink-soft); max-width: var(--text-max); }
.av-header .button-primary, .av-footer .button-primary, .book-strip .button-primary, .av-form .button-primary, .av-reel-modal .button-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: var(--button-height);
    padding: 0 var(--space-5);
    border: var(--border) solid var(--color-burgundy);
    border-radius: var(--radius);
    background: var(--color-burgundy);
    color: var(--color-on-dark);
    font-family: var(--font-body);
    font-size: var(--size-button);
    font-weight: var(--weight-medium);
    letter-spacing: var(--tracking-button);
    text-transform: uppercase;
    text-decoration: none;
    transition: all var(--speed) var(--ease);
  }
.av-header .button-primary:hover, .av-footer .button-primary:hover, .book-strip .button-primary:hover, .av-form .button-primary:hover, .av-reel-modal .button-primary:hover { background: var(--color-gold); border-color: var(--color-gold); color: var(--color-wine); }
.av-header .button-whatsapp, .av-footer .button-whatsapp, .book-strip .button-whatsapp, .av-form .button-whatsapp, .av-reel-modal .button-whatsapp {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);
    min-height: var(--button-height);
    padding: 0 var(--space-5);
    border: var(--border) solid var(--color-whatsapp);
    border-radius: var(--radius);
    background: var(--color-surface);
    color: var(--color-whatsapp);
    font-family: var(--font-body);
    font-size: var(--size-button);
    font-weight: var(--weight-medium);
    letter-spacing: var(--tracking-button);
    text-transform: uppercase;
    text-decoration: none;
    transition: all var(--speed) var(--ease);
  }
.av-header .button-whatsapp:hover, .av-footer .button-whatsapp:hover, .book-strip .button-whatsapp:hover, .av-form .button-whatsapp:hover, .av-reel-modal .button-whatsapp:hover { background: var(--color-whatsapp); color: var(--color-on-dark); }
.av-header .button-row, .av-footer .button-row, .book-strip .button-row, .av-form .button-row, .av-reel-modal .button-row { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-5); padding: 0; }
@media (max-width: 767px)  {
.av-header .button-primary, .av-footer .button-primary, .book-strip .button-primary, .av-form .button-primary, .av-reel-modal .button-primary { width: 100%; }
}
body .av-header { position: sticky; top: 0; z-index: 10; display: flex; flex-direction: column; background: var(--color-surface); border-bottom: var(--border) solid var(--color-line); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .header-util { display: flex; border-bottom: var(--border) solid var(--color-line); padding: 0; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .util-row { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--space-2) var(--space-5); width: 100%; max-width: var(--container); margin: 0 auto; padding: var(--space-2) var(--gutter); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .util-text { font-size: var(--size-label); letter-spacing: var(--tracking-label); text-transform: uppercase; color: var(--color-ink-soft); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .util-links { display: flex; gap: var(--space-5); padding: 0; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .util-link { font-size: var(--size-label); letter-spacing: var(--tracking-label); text-transform: uppercase; color: var(--color-ink-soft); text-decoration: none; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .util-link:hover { color: var(--color-burgundy); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .header-row { display: flex; flex-wrap: wrap; align-items: center; column-gap: var(--space-6); width: 100%; max-width: var(--container); margin: 0 auto; padding: 0 var(--gutter); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .svc-radio { display: none; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .header-logo { display: flex; align-items: center; width: var(--logo-width); min-height: var(--header-height); flex: none; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .nav-main { display: flex; align-items: center; gap: var(--space-5); margin-left: auto; padding: 0; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .nav-drop { display: flex; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .nav-link { display: inline-flex; align-items: center; gap: var(--space-1); padding: var(--space-2) 0; border-bottom: var(--border) solid var(--color-surface); font-size: var(--size-nav); letter-spacing: var(--tracking-nav); color: var(--color-ink); text-decoration: none; white-space: nowrap; cursor: pointer; list-style: none; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .nav-link::-webkit-details-marker { display: none; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .nav-link:hover { border-bottom-color: var(--color-gold); color: var(--color-burgundy); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .nav-drop[open] .nav-link { border-bottom-color: var(--color-gold); color: var(--color-burgundy); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .nav-caret { display: inline-flex; font-size: var(--size-label); color: var(--color-gold-ink); transition: transform var(--speed) var(--ease); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .nav-drop[open] .nav-caret { transform: rotate(180deg); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .header-actions { display: flex; align-items: center; gap: var(--space-4); flex: none; padding: 0; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .header-book { display: inline-flex; align-items: center; min-height: var(--button-height-small); padding: 0 var(--space-4); background: var(--color-burgundy); color: var(--color-on-dark); font-size: var(--size-label); font-weight: var(--weight-medium); letter-spacing: var(--tracking-button); text-transform: uppercase; text-decoration: none; white-space: nowrap; transition: all var(--speed) var(--ease); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .header-book:hover { background: var(--color-gold); color: var(--color-wine); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .nav-search { display: flex; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .nav-search-toggle { display: inline-flex; align-items: center; justify-content: center; width: var(--button-height-small); min-height: var(--button-height-small); border: var(--border) solid var(--color-line); color: var(--color-burgundy); cursor: pointer; list-style: none; transition: all var(--speed) var(--ease); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .nav-search-toggle::-webkit-details-marker { display: none; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .nav-search-toggle:hover { background: var(--color-burgundy); border-color: var(--color-burgundy); color: var(--color-on-dark); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .nav-search[open] .nav-search-toggle { background: var(--color-burgundy); border-color: var(--color-burgundy); color: var(--color-on-dark); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .search-icon { width: var(--space-4); height: var(--space-4); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .panel-search { flex-basis: 100%; padding: var(--space-4); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .header-row:has(.nav-search[open]) .panel-search { display: flex; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .h-search { display: flex; flex-direction: row; width: 100%; border: var(--border) solid var(--color-line); background: var(--color-surface); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .h-search-input { flex: 1 1 0; min-width: 0; min-height: var(--button-height); padding: 0 var(--space-4); border: 0; background: transparent; font-family: var(--font-body); font-size: var(--size-body); color: var(--color-ink); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .h-search-button { flex: none; padding: 0 var(--space-5); border: 0; border-radius: 0; background: var(--color-burgundy); font-family: var(--font-body); font-size: var(--size-label); font-weight: var(--weight-medium); letter-spacing: var(--tracking-button); text-transform: uppercase; color: var(--color-on-dark); cursor: pointer; transition: all var(--speed) var(--ease); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .h-search-button:hover { background: var(--color-gold); color: var(--color-wine); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .mega-panel { display: none; flex-basis: 100%; margin-bottom: var(--space-5); background: var(--color-surface); border: var(--border) solid var(--color-line); border-top: var(--border-strong) solid var(--color-gold); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .panel-cols { flex-wrap: nowrap; gap: var(--space-6); padding: var(--space-6); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .panel-small { flex-basis: auto; flex-direction: column; margin-left: auto; width: var(--dropdown); padding: var(--space-3) var(--space-5); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .header-row:has(.drop-services[open]) .panel-services,
:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .header-row:has(.drop-concerns[open]) .panel-concerns,
:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .header-row:has(.drop-about[open]) .panel-about { display: flex; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .mega-col { display: flex; flex-direction: column; gap: var(--space-2); flex: 1 1 0; min-width: 0; padding: 0; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .mega-head { margin: 0 0 var(--space-2); padding-bottom: var(--space-2); border-bottom: var(--border) solid var(--color-line); white-space: nowrap; font-family: var(--font-head); font-size: var(--size-lead); font-weight: var(--weight-head); color: var(--color-burgundy); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .mega-link { padding: var(--space-1) 0; font-size: var(--size-small); color: var(--color-ink); text-decoration: none; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .mega-link:hover { color: var(--color-burgundy); text-decoration: underline; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .mega-all { align-self: flex-start; margin-top: var(--space-2); font-size: var(--size-label); font-weight: var(--weight-medium); letter-spacing: var(--tracking-button); text-transform: uppercase; color: var(--color-gold-ink); text-decoration: none; border-bottom: var(--border) solid var(--color-gold); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .mega-all:hover { color: var(--color-burgundy); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .about-link { padding: var(--space-3) 0; border-bottom: var(--border) solid var(--color-line); font-family: var(--font-head); font-size: var(--size-h4); color: var(--color-ink); text-decoration: none; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .about-link:hover { color: var(--color-burgundy); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .mega-feature { display: flex; flex-direction: column; gap: var(--space-2); flex: 0 0 var(--feature); padding: var(--space-5); background: var(--color-wine); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .feature-img { width: 100%; height: var(--feature-img); object-fit: cover; margin-bottom: var(--space-2); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .mega-feature-title { margin: 0; font-family: var(--font-head); font-size: var(--size-h3); font-weight: var(--weight-head); line-height: var(--leading-tight); color: var(--color-on-dark); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .mega-feature-text { margin: 0; font-size: var(--size-small); color: var(--color-on-dark-soft); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .feature-online { margin-top: var(--space-3); padding-top: var(--space-3); border-top: var(--border) solid var(--color-on-dark-line); font-size: var(--size-small); color: var(--color-on-dark-soft); text-decoration: none; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .feature-online:hover { color: var(--color-on-dark); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .mega-feature-link { align-self: flex-start; font-size: var(--size-label); font-weight: var(--weight-medium); letter-spacing: var(--tracking-button); text-transform: uppercase; color: var(--color-on-dark); text-decoration: none; border-bottom: var(--border) solid var(--color-gold-on-dark); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .svc-rail { display: flex; flex-direction: column; flex: 0 0 var(--rail); padding: var(--space-3) 0; border-right: var(--border) solid var(--color-line); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .svc-tab { display: flex; justify-content: space-between; align-items: center; gap: var(--space-3); padding: var(--space-3) var(--space-5); border-left: var(--border-strong) solid var(--color-surface); font-family: var(--font-head); font-size: var(--size-h4); color: var(--color-ink); cursor: pointer; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .svc-tab:hover { color: var(--color-burgundy); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .svc-count { font-family: var(--font-body); font-size: var(--size-label); color: var(--color-ink-soft); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .svc-main { display: flex; flex: 1 1 auto; min-width: 0; padding: var(--space-6); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .svc-pane { display: none; flex-direction: column; gap: var(--space-3); width: 100%; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .svc-pane-head { display: flex; flex-direction: column; gap: var(--space-1); padding-bottom: var(--space-3); border-bottom: var(--border) solid var(--color-line); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .svc-title { margin: 0; font-family: var(--font-head); font-size: var(--size-h3); color: var(--color-burgundy); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .svc-blurb { margin: 0; font-size: var(--size-small); color: var(--color-ink-soft); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .svc-links { display: flex; flex-direction: column; flex-wrap: wrap; align-content: flex-start; column-gap: var(--space-6); max-height: var(--links-max); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .svc-feature { margin: var(--space-4); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .nav-mobile { display: none; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .nav-mobile-toggle { display: inline-flex; align-items: center; min-height: var(--button-height-small); padding: 0 var(--space-3); border: var(--border) solid var(--color-ink); color: var(--color-ink); font-size: var(--size-label); font-weight: var(--weight-medium); letter-spacing: var(--tracking-button); text-transform: uppercase; cursor: pointer; list-style: none; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .nav-mobile-toggle::-webkit-details-marker { display: none; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .label-close { display: none; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .nav-mobile[open] .label-open { display: none; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .nav-mobile[open] .label-close { display: inline; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .nav-mobile[open] .nav-mobile-toggle { background: var(--color-ink); color: var(--color-surface); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .m-home { display: none; flex-basis: 100%; padding: var(--space-4) 0; border-bottom: var(--border) solid var(--color-line); font-family: var(--font-head); font-size: var(--size-h4); color: var(--color-ink); text-decoration: none; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .drawer-title { display: none; flex-basis: 100%; margin: 0; padding: var(--space-4) 0 var(--space-2); font-size: var(--size-label); letter-spacing: var(--tracking-label); text-transform: uppercase; color: var(--color-gold-ink); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .m-services { display: none; flex-direction: column; flex-basis: 100%; border-top: var(--border) solid var(--color-line); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .m-svc { display: none; flex-basis: 100%; border-bottom: var(--border) solid var(--color-line); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .m-svc[open] .mobile-section-toggle { color: var(--color-burgundy); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .m-svc[open] .nav-caret { transform: rotate(180deg); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .m-svc[open] .mobile-section-toggle { font-weight: var(--weight-head); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .m-svc .m-services { margin: 0 0 var(--space-3); padding: 0 0 0 var(--space-4); border-top: 0; border-left: var(--border-strong) solid var(--color-gold); background: var(--color-cream); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .m-svc .m-cat { border-bottom: var(--border) solid var(--color-line); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .m-svc .m-cat-head { padding: var(--space-3) var(--space-3) var(--space-3) 0; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .m-svc .m-cat-name { font-family: var(--font-body); font-size: var(--size-body); color: var(--color-ink); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .m-svc .m-cat[open] .m-cat-name { color: var(--color-burgundy); font-weight: var(--weight-medium); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .m-svc .m-cat-links { padding: 0 var(--space-3) var(--space-3) var(--space-3); background: var(--color-surface); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .mobile-section[open] .mobile-sub { margin: 0 0 var(--space-3); padding: var(--space-2) var(--space-3) var(--space-3) var(--space-4); border-left: var(--border-strong) solid var(--color-gold); background: var(--color-cream); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .m-cat { border-bottom: var(--border) solid var(--color-line); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .m-cat-head { display: flex; justify-content: space-between; align-items: center; padding: var(--space-3) 0; cursor: pointer; list-style: none; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .m-cat-head::-webkit-details-marker { display: none; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .m-cat-name { font-family: var(--font-head); font-size: var(--size-h4); color: var(--color-ink); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .m-cat[open] .m-cat-name { color: var(--color-burgundy); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .m-cat-links { display: flex; flex-direction: column; padding: 0 var(--space-4) var(--space-4); background: var(--color-cream); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .mobile-panel { display: none; flex-basis: 100%; flex-direction: column; padding: 0 0 var(--space-6); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .mobile-section { border-bottom: var(--border) solid var(--color-line); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .mobile-section-toggle,
:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .mobile-link { display: flex; justify-content: space-between; align-items: center; padding: var(--space-4) 0; font-family: var(--font-head); font-size: var(--size-h4); color: var(--color-ink); text-decoration: none; cursor: pointer; list-style: none; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .mobile-link { border-bottom: var(--border) solid var(--color-line); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .mobile-section-toggle::-webkit-details-marker { display: none; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .mobile-section[open] .mobile-section-toggle { color: var(--color-burgundy); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .mobile-section[open] .nav-caret { transform: rotate(180deg); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .mobile-sub { display: flex; flex-direction: column; gap: var(--space-1); padding: 0 0 var(--space-4); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .mobile-label { margin: var(--space-3) 0 var(--space-1); font-size: var(--size-label); letter-spacing: var(--tracking-label); text-transform: uppercase; color: var(--color-gold-ink); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .mobile-sub-link { padding: var(--space-2) 0; font-size: var(--size-body); color: var(--color-ink); text-decoration: none; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .mobile-sub-link:hover { color: var(--color-burgundy); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .mobile-actions { display: flex; flex-direction: column; gap: var(--space-3); margin-top: var(--space-5); }

  
  @media (max-width: 1024px) {:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .nav-main { display: none; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .header-row:has(.drop-services[open]) .panel-services,
:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .header-row:has(.drop-concerns[open]) .panel-concerns,
:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .header-row:has(.drop-about[open]) .panel-about { display: none; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .header-actions { margin-left: auto; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .nav-mobile { display: flex; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .header-row:has(.nav-mobile[open]) .drawer-title { display: block; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .header-row:has(.nav-mobile[open]) .panel-services { display: flex; margin-bottom: 0; border: var(--border) solid var(--color-line); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .header-row:has(.nav-mobile[open]) .mobile-panel { display: flex; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .svc-feature { display: none; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .svc-rail { flex: 0 0 var(--rail-tablet); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .svc-main { padding: var(--space-5); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .svc-links { flex-wrap: nowrap; max-height: none; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .util-links { display: none; }
  }
  
  @media (max-width: 767px) {:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .util-text-long { display: none; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .header-row { column-gap: var(--space-3); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .header-logo { width: var(--logo-width-mobile); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .header-actions { gap: var(--space-2); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .header-book { padding: 0 var(--space-3); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .book-long { display: none; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .nav-mobile-toggle { padding: 0 var(--space-2); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .header-row:has(.nav-mobile[open]) .panel-services { display: none; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .header-row:has(.nav-mobile[open]) .m-services { display: flex; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .header-row:has(.nav-mobile[open]) .m-svc { display: block; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .header-row:has(.nav-mobile[open]) .drawer-title { display: none; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .header-row:has(.nav-mobile[open]) .m-home { display: flex; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .panel-search { padding: var(--space-3) 0; border-left: 0; border-right: 0; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .h-search-button { padding: 0 var(--space-3); }
  }

body .book-strip { display: flex; flex-direction: column; background: var(--color-beige); padding: var(--section-pad) 0; }body .book-strip-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-5); width: 100%; max-width: var(--container); margin: 0 auto; padding: 0 var(--gutter); }body .book-strip-text { display: flex; flex-direction: column; gap: var(--space-2); max-width: var(--text-max); padding: 0; }body .book-strip-title { margin: 0; font-family: var(--font-head); font-size: var(--size-h2); font-weight: var(--weight-head); line-height: var(--leading-heading); color: var(--color-burgundy); }body .av-footer { display: flex; flex-direction: column; background: var(--color-wine); color: var(--color-on-dark-soft); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .footer-main { display: flex; flex-wrap: wrap; gap: var(--space-6); width: 100%; max-width: var(--container); margin: 0 auto; padding: var(--section-pad) var(--gutter) var(--space-6); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .footer-brand { display: flex; flex-direction: column; gap: var(--space-4); flex: 0 0 var(--feature); min-width: 0; padding: 0; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .footer-logo { display: flex; width: var(--logo-width-footer); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .footer-about { margin: 0; font-size: var(--size-small); color: var(--color-on-dark-soft); max-width: var(--text-max); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .footer-socials { display: flex; flex-direction: row; flex-wrap: wrap; gap: var(--space-2); padding: 0; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .footer-social { padding: var(--space-1) var(--space-3); border: var(--border) solid var(--color-on-dark-line); font-size: var(--size-label); letter-spacing: var(--tracking-nav); color: var(--color-on-dark); text-decoration: none; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .footer-social:hover { border-color: var(--color-gold-on-dark); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .footer-col { display: flex; flex-direction: column; gap: var(--space-2); flex: 1 1 0; min-width: 0; padding: 0; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .footer-head { margin: 0 0 var(--space-2); font-size: var(--size-label); font-weight: var(--weight-medium); letter-spacing: var(--tracking-label); text-transform: uppercase; color: var(--color-gold-on-dark); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .footer-link { font-size: var(--size-small); color: var(--color-on-dark); text-decoration: none; overflow-wrap: anywhere; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .footer-link:hover { text-decoration: underline; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .footer-text { margin: 0; font-size: var(--size-small); color: var(--color-on-dark-soft); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .footer-rating { margin: 0; font-size: var(--size-small); color: var(--color-gold-on-dark); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .footer-visit { display: flex; flex-direction: column; gap: var(--space-2); flex: 1.4 1 0; min-width: 0; padding: 0; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .footer-phone { font-family: var(--font-head); font-size: var(--size-h4); color: var(--color-on-dark); text-decoration: none; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .footer-phone:hover { color: var(--color-gold-on-dark); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .footer-hours { display: flex; flex-direction: column; gap: var(--space-1); padding: 0; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .footer-hours-row { display: flex; flex-direction: row; gap: var(--space-4); margin: 0; font-size: var(--size-small); color: var(--color-on-dark-soft); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .footer-hours-day { flex: 0 0 var(--fact-col); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .footer-hours-time { color: var(--color-on-dark); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .footer-btns { display: flex; flex-wrap: wrap; gap: var(--space-2); padding: var(--space-2) 0 0; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .footer-btn { padding: var(--space-2) var(--space-3); border: var(--border) solid var(--color-on-dark-line); font-size: var(--size-label); letter-spacing: var(--tracking-label); text-transform: uppercase; color: var(--color-on-dark); text-decoration: none; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .footer-btn:hover { background: var(--color-gold); border-color: var(--color-gold); color: var(--color-wine); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .footer-az { display: block; width: 100%; max-width: var(--container); margin: 0 auto; padding: 0 var(--gutter) var(--space-5); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .footer-az-sum { display: flex; justify-content: space-between; align-items: center; padding: var(--space-4) 0; border-top: var(--border) solid var(--color-on-dark-line); border-bottom: var(--border) solid var(--color-on-dark-line); cursor: pointer; list-style: none; font-size: var(--size-label); letter-spacing: var(--tracking-label); text-transform: uppercase; color: var(--color-gold-on-dark); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .footer-az-sum::-webkit-details-marker { display: none; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .footer-az-plus,
:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .footer-az-minus { font-size: var(--size-h4); color: var(--color-on-dark); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .footer-az-minus { display: none; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .footer-az[open] .footer-az-plus { display: none; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .footer-az[open] .footer-az-minus { display: inline; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .footer-az-sum:hover { color: var(--color-on-dark); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .footer-az-list { display: flex; flex-wrap: wrap; column-gap: var(--space-5); row-gap: var(--space-2); padding: var(--space-4) 0 0; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .footer-az-link { flex: 0 0 var(--mega-col); min-width: 0; font-size: var(--size-small); color: var(--color-on-dark-soft); text-decoration: none; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .footer-az-link:hover { color: var(--color-gold-on-dark); text-decoration: underline; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .footer-bottom { display: flex; border-top: var(--border) solid var(--color-on-dark-line); padding: 0; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .footer-bottom-row { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--space-3); width: 100%; max-width: var(--container); margin: 0 auto; padding: var(--space-5) var(--gutter); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .footer-small { margin: 0; font-size: var(--size-label); letter-spacing: var(--tracking-nav); color: var(--color-on-dark-soft); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .footer-small-link { font-size: var(--size-label); color: var(--color-on-dark-soft); }
  @media (max-width: 1024px) {:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .footer-brand { flex: 0 0 100%; }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .footer-col { flex: 1 1 var(--third-col); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .footer-visit { flex: 1 1 100%; }
  }
  @media (max-width: 767px) {:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .footer-main { gap: var(--space-5); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .footer-col { flex: 1 1 var(--fact-col); }:is(.av-header, .av-footer, .book-strip, .av-form, .av-reel-modal) .footer-az-link { flex: 0 0 var(--fact-col); }body .book-strip-row { flex-direction: column; align-items: flex-start; }
  }


/* ---- booking strip form (Fluent Forms, shortcode from Settings > Avanti Header) ---- */
body .book-strip .book-strip-text { flex: 1 1 420px; }
body .book-strip .book-strip-form { display: flex; flex-direction: column; gap: var(--space-3); flex: 1 1 440px; max-width: 560px; min-width: 0; }
body .book-strip .fluentform form { margin: 0; }
body .book-strip .fluentform fieldset { display: flex; flex-wrap: wrap; align-items: flex-start; gap: var(--space-3); }
body .book-strip .fluentform .ff-el-group { flex: 1 1 160px; margin: 0; }
body .book-strip .fluentform .ff-el-input--label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
body .book-strip .fluentform .ff-el-group.ff_submit_btn_wrapper { flex: 0 0 auto; }
body .book-strip .fluentform .ff-el-form-control { height: var(--button-height); padding: 0 var(--space-4); border: var(--border) solid var(--color-sand);
  border-radius: 0; background: var(--color-surface); color: var(--color-ink); font-family: var(--font-body); font-size: var(--size-body); box-shadow: none; }
body .book-strip .fluentform .ff-el-form-control:focus { border-color: var(--color-burgundy); outline: none; }
body .book-strip .fluentform .ff-btn-submit { height: var(--button-height); padding: 0 var(--space-5); border: 0; border-radius: 0; background: var(--color-burgundy);
  color: var(--color-on-dark); font-family: var(--font-body); font-size: var(--size-button); font-weight: var(--weight-medium);
  letter-spacing: var(--tracking-button); text-transform: uppercase; box-shadow: none; }
body .book-strip .fluentform .ff-btn-submit:hover { background: var(--color-gold); color: var(--color-wine); }
body .book-strip .fluentform .error, body .book-strip .ff-message-success { font-size: var(--size-small); color: var(--color-burgundy); }
body .book-strip .ff-message-success { padding: var(--space-4); border: var(--border) solid var(--color-sand); background: var(--color-surface); box-shadow: none; }
body .book-strip .book-strip-wa { align-self: flex-start; font-size: var(--size-label); font-weight: var(--weight-medium); letter-spacing: var(--tracking-button);
  text-transform: uppercase; color: var(--color-whatsapp); text-decoration: none; border-bottom: var(--border) solid var(--color-whatsapp); }
@media (max-width: 767px) { body .book-strip .book-strip-text { flex: none; } body .book-strip .book-strip-form { flex: none; max-width: none; align-self: stretch; } body .book-strip .fluentform .ff-el-group, body .book-strip .fluentform .ff-el-group.ff_submit_btn_wrapper { flex: 1 1 100%; } body .book-strip .ff-btn-submit { width: 100%; } }

/* ---- Phone bottom bar: Call | WhatsApp | Book on every page (owner 2026-11-02, mockups/footer-mobilebar-preview.html).
   Replaces the pages' own phone bars (k-bar / b-bar); Book keeps going to the page's own form (assets/avanti-header.js). ---- */
body .av-mbar { display: none; }
@media (max-width: 767px) {
  body .av-mbar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 99; display: flex; flex-direction: row; height: 60px;
    background: var(--color-surface); border-top: 1px solid var(--color-sand); box-shadow: 0 -4px 14px rgba(42, 29, 31, .08); }
  body .av-mbar-link { display: flex; flex: 1 1 0; flex-direction: column; align-items: center; justify-content: center; gap: 3px;
    font-family: var(--font-body); font-size: 11px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: var(--color-burgundy); text-decoration: none; }
  body .av-mbar-link + .av-mbar-link { border-left: 1px solid var(--color-sand); }
  body .av-mbar-link svg { width: 20px; height: 20px; }
  body .av-footer .av-mbar .av-mbar-wa { color: var(--color-whatsapp); }
  body .av-footer .av-mbar .av-mbar-book, body .av-footer .av-mbar .av-mbar-book:visited { flex: 1.25 1 0; background: var(--color-burgundy); color: var(--color-on-dark); }
  body .av-mbar-link:hover, body .av-mbar-link:active { background: var(--color-beige); }
  body .av-footer .av-mbar .av-mbar-book:hover, body .av-footer .av-mbar .av-mbar-book:active { background: var(--color-gold); color: var(--color-wine); }
  body { padding-bottom: 60px; }
  body .e-con[class*="k-bar"], body .e-con[class*="b-bar"] { display: none !important; }
  body #ast-scroll-top { bottom: 76px; }
}
/* ---- booking forms inside pages (Elementor Shortcode widget with CSS class av-form; Laser layout D, 2026-10-19) ---- */
body .av-form { align-self: stretch; width: 100%; }  /* full-width fields in flex-start boxes, e.g. pre-bridal (1.8.10) */
body .av-form .fluentform form { margin: 0; }
body .av-form .fluentform fieldset { display: flex; flex-direction: column; gap: var(--space-3); }
body .av-form .fluentform .ff-el-group { margin: 0; }
body .av-form .fluentform .ff-el-input--label label { font-family: var(--font-body); font-size: var(--size-small); font-weight: var(--weight-regular); color: var(--color-ink); }
body .av-form .fluentform .ff-el-form-control { height: var(--button-height); padding: 0 var(--space-4); border: var(--border) solid var(--color-line);
  border-radius: 0; background: var(--color-cream); color: var(--color-ink); font-family: var(--font-body); font-size: var(--size-body); box-shadow: none; }
body .av-form .fluentform select.ff-el-form-control { font-family: var(--font-body); font-size: var(--size-body); line-height: 1.2; color: var(--color-ink-soft); }  /* bridal form dropdowns (1.8.11) */
body .av-form .fluentform .ff-el-form-control:focus { border-color: var(--color-burgundy); outline: none; }
body .av-form .fluentform .ff-btn-submit { width: 100%; height: var(--button-height); padding: 0 var(--space-5); border: 0; border-radius: 0; background: var(--color-burgundy);
  color: var(--color-on-dark); font-family: var(--font-body); font-size: var(--size-button); font-weight: var(--weight-medium);
  letter-spacing: var(--tracking-button); text-transform: uppercase; box-shadow: none; }
body .av-form .fluentform .ff-btn-submit:hover { background: var(--color-gold); color: var(--color-wine); }
body .av-form .fluentform .error, body .av-form .ff-message-success { font-size: var(--size-small); color: var(--color-burgundy); }
body .av-form .ff-message-success { padding: var(--space-4); border: var(--border) solid var(--color-line); background: var(--color-surface); box-shadow: none; }

/* ---- Instagram pop-up player (assets/avanti-header.js; 2026-10-19) ---- */
body .av-reel-modal { position: fixed; inset: 0; z-index: 99999; display: flex; align-items: center; justify-content: center; padding: var(--space-4); background: rgba(42, 29, 31, 0.86); }
body .av-reel-modal[hidden] { display: none; }
body .av-reel-box { position: relative; width: min(400px, 100%); height: min(720px, calc(100vh - 2 * var(--space-6))); background: var(--color-surface); }
body .av-reel-frame { display: block; width: 100%; height: 100%; border: 0; }
body .av-reel-close { position: absolute; top: calc(-1 * var(--space-6)); right: 0; width: var(--space-6); height: var(--space-6); padding: 0; border: 0; border-radius: 0;
  background: transparent; color: var(--color-on-dark); font-size: var(--size-h3); line-height: 1; cursor: pointer; }

/* ---- Laser pages: For women / For men tab (assets/avanti-header.js; owner 2026-10-28, Design 5 r18) ---- */
body .av-lx-tabs { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin: 0 0 4px; }
body .av-lx-list { display: inline-flex; gap: 0; padding: 4px; border: 1px solid #E6D3B3; border-radius: 999px; background: #FFFDF9; }
body .av-lx-tabs .av-lx-tab { margin: 0; padding: 10px 26px; border: 0; border-radius: 999px; background: transparent; background-color: transparent; color: #6B2C32; cursor: pointer; min-height: 0; width: auto;
  font-family: "DM Sans", sans-serif; font-size: 13px; font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase; line-height: 1; transition: all 0.35s ease; box-shadow: none; }
body .av-lx-tabs .av-lx-tab:hover, body .av-lx-tabs .av-lx-tab:focus { background-color: #EFE4D6; color: #6B2C32; }
body .av-lx-tabs .av-lx-tab[aria-selected="true"] { background: #6B2C32; background-color: #6B2C32; color: #F8F4EC; }
body .av-lx-tabs .av-lx-tab:focus-visible { outline: 3px solid #B08D57; outline-offset: 3px; }
body .av-lx-sum { margin: 0 0 0 auto; font-family: "DM Sans", sans-serif; font-size: 14px; font-weight: 500; color: #6B2C32; }
body .av-lx-on [role="tabpanel"] .lx-sum { display: none; }
body .av-lx-on [role="tabpanel"][hidden] { display: none; }
body .av-lx-fade { animation: av-lx-fade 0.5s ease; }
@keyframes av-lx-fade { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@media (max-width: 767px) { body .av-lx-sum { margin: 0; width: 100%; } body .av-lx-tabs .av-lx-tab { padding: 10px 18px; } }
@media (prefers-reduced-motion: reduce) { body .av-lx-fade { animation: none; } }

/* ---- Tab sets: hub treatment groups (assets/avanti-header.js; owner 2026-10-29) ---- */
body .av-tabs { display: flex; flex-wrap: nowrap; gap: 0; margin: 0 0 8px; border-bottom: 1px solid rgba(207, 174, 120, 0.35); overflow-x: auto; scrollbar-width: none; }
body .av-tabs .av-tab { position: relative; margin: 0 0 -1px; padding: 14px 22px 16px; border: 0; border-bottom: 3px solid transparent; border-radius: 0; background: transparent; background-color: transparent;
  color: rgba(243, 231, 216, 0.72); cursor: pointer; font-family: "Cormorant Garamond", serif; font-size: 20px; font-weight: 500; letter-spacing: 0; text-transform: none; line-height: 1.2;
  white-space: nowrap; transition: color 0.3s ease, border-color 0.3s ease; box-shadow: none; min-height: 0; width: auto; }
body .av-tabs .av-tab-n { margin-left: 8px; font-family: "DM Sans", sans-serif; font-size: 12px; color: rgba(207, 174, 120, 0.85); }
body .av-tabs .av-tab:hover, body .av-tabs .av-tab:focus { color: #FFFFFF; border-bottom-color: rgba(207, 174, 120, 0.5); background-color: transparent; }
body .av-tabs .av-tab[aria-selected="true"] { color: #CFAE78; border-bottom-color: #CFAE78; background: transparent; background-color: transparent; }
body .av-tabs .av-tab:focus-visible { outline: 2px solid #CFAE78; outline-offset: -2px; }
body .av-tabs-on [role="tabpanel"][hidden] { display: none; }
body .av-tabs-on .av-tab-h { display: none; }
body .av-tabs-on > [role="tabpanel"] { padding-top: 20px; }
@media (max-width: 1024px) {
  body .av-tabs { flex-wrap: wrap; gap: 8px; margin: 0 0 4px; border-bottom: 0; overflow: visible; }  /* phone: 2 x 2 grid, all tabs visible (owner 2026-10-29) */
  body .av-tabs .av-tab { flex: 1 1 calc(50% - 4px); margin: 0; padding: 12px 10px; border: 1px solid rgba(207, 174, 120, 0.45); border-bottom-width: 1px; font-size: 17px; line-height: 1.2; white-space: normal; text-align: center; }
  body .av-tabs .av-tab[aria-selected="true"] { background: #CFAE78; background-color: #CFAE78; border-color: #CFAE78; color: #3F1A1F; }
  body .av-tabs .av-tab[aria-selected="true"] .av-tab-n { color: #3F1A1F; }
  body .av-tabs-on > [role="tabpanel"] { padding-top: 16px; }
}

/* ---- Laser page booking band: Fluent Form fields in one row beside the title (owner 2026-10-28) ---- */
body .k-band-form .av-form { flex: 2 1 560px; min-width: 0; }
body .k-band-form .av-form .fluentform fieldset { flex-direction: row; flex-wrap: wrap; align-items: flex-start; gap: 12px; }
body .k-band-form .av-form .fluentform .ff-el-group { flex: 1 1 200px; min-width: 0; margin: 0; }
body .k-band-form .av-form .fluentform .ff_submit_btn_wrapper { flex: 0 0 auto; margin: 0; }
body .k-band-form .av-form .fluentform .ff-btn-submit { width: auto; }
@media (max-width: 767px) { body .k-band-form .av-form { flex: none; width: 100%; } body .k-band-form .av-form .fluentform .ff_submit_btn_wrapper { flex: 1 1 100%; } body .k-band-form .av-form .fluentform .ff-btn-submit { width: 100%; } }

/* ---- WordPress integration (plugin only) ---- */
body .av-header { top: var(--wp-admin--admin-bar--height, 0px); }
/* phones (<=600px): the WordPress admin bar scrolls away, so a logged-in header must stick at 0, not 46px (owner 2026-10-19) */
@media (max-width: 600px) { body .av-header { top: 0; } }
.av-header p, .av-footer p, .book-strip p, .book-strip h2 { margin-top: 0; }
.av-header a, .av-footer a, .book-strip a { box-shadow: none; }
.av-header img, .av-footer img { height: auto; }
.av-header .svc-tab { margin: 0; }
/* desktop: menus open as an overlay under the header bar */
@media (min-width: 1025px) {
  .av-header .header-row { position: relative; }
  .av-header .mega-panel { position: absolute; top: 100%; left: var(--gutter); right: var(--gutter); z-index: 20; margin: 0; }
  .av-header .panel-small { left: auto; right: var(--gutter); width: var(--dropdown); }
}
/* drawer can be taller than the screen on tablet/phone */
@media (max-width: 1024px) {
  .av-header:has(.nav-mobile[open]) { height: 100vh; height: 100dvh; max-height: none; overflow-y: auto; overscroll-behavior: contain; }
  /* open menu = full screen, page behind does not scroll (owner 2026-11-01, plugin 1.8.8) */
  html:has(.av-header .nav-mobile[open]) { overflow: hidden; }
}
