/* Valley Jump Park: site styles (Valley Jump Site Setup plugin). Mobile first, no external fonts.
   Palette (brand-palette.md): white base + header, teal footer and dark sections, orange Book buttons with ink text,
   green as a small accent only. */
:root{
  --vj-teal:#006181; --vj-teal-deep:#004A63; --vj-orange:#E06000; --vj-orange-dark:#B84F00;
  --vj-green:#20E001; --vj-green-text:#1A7F00; --vj-ink:#111111; --vj-white:#FFFFFF;
  --vj-mist:#F4F8FA; --vj-mint:#E6F7EA; --vj-peach:#FFE3CC; --vj-line:#D5E2E8; --vj-muted:#3D4F57;
  --vj-radius:14px; --vj-wrap:1180px;
  --vj-font:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --vj-head:ui-rounded,"SF Pro Rounded","Arial Rounded MT Bold","Nunito","Segoe UI",system-ui,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:90px}
body.vj{margin:0;font:400 17px/1.6 var(--vj-font);color:var(--vj-ink);background:var(--vj-white);padding-bottom:76px}
@media (min-width:960px){body.vj{padding-bottom:0}}
.vj img{max-width:100%;height:auto;display:block}
.vj a{color:var(--vj-teal);text-underline-offset:2px}
.vj a:hover{color:var(--vj-teal-deep)}
.vj :focus-visible{outline:3px solid var(--vj-green);outline-offset:2px;box-shadow:0 0 0 5px var(--vj-teal-deep)}
.vj h1,.vj h2,.vj h3{font-family:var(--vj-head);line-height:1.15;color:var(--vj-ink);margin:0 0 .5em;letter-spacing:-.01em}
.vj h1{font-size:clamp(2rem,6vw,3.2rem);font-weight:800}
.vj h2{font-size:clamp(1.55rem,4.2vw,2.3rem);font-weight:800}
.vj :is(p,ul,ol,figure,.wp-block-buttons,.wp-block-table)+:is(h2,h3){margin-top:1.4em}
.vj h3{font-size:1.2rem;font-weight:800}
.vj p{margin:0 0 1em}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}
.vj-skip{position:absolute;left:-999px;top:0;z-index:100;background:var(--vj-ink);color:#fff!important;padding:10px 14px}
.vj-skip:focus{left:8px;top:8px}
.vj-wrap{max-width:var(--vj-wrap);margin:0 auto;padding:0 18px}
.vj-main:focus{outline:none}

/* ---------- buttons ---------- */
.vj-btn,.vj .wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;gap:.4em;min-height:48px;padding:.7em 1.3em;border-radius:999px;font:800 1rem/1.1 var(--vj-head);text-decoration:none;border:2px solid transparent;cursor:pointer;transition:background .15s,color .15s,border-color .15s;text-align:center}
.vj-btn--book,.vj .is-style-book .wp-block-button__link{background:var(--vj-orange);color:var(--vj-ink)!important;border-color:var(--vj-orange)}
.vj-btn--book:hover,.vj .is-style-book .wp-block-button__link:hover{background:var(--vj-orange-dark);border-color:var(--vj-orange-dark);color:#fff!important}
.vj-btn--outline,.vj .is-style-vj-outline .wp-block-button__link{background:#fff;color:var(--vj-teal)!important;border-color:var(--vj-teal)}
.vj-btn--outline:hover,.vj .is-style-vj-outline .wp-block-button__link:hover{background:var(--vj-teal);color:#fff!important}
.vj-btn--dark{background:var(--vj-teal-deep);color:#fff!important;border-color:var(--vj-teal-deep)}
.vj-btn--dark:hover{background:var(--vj-ink);border-color:var(--vj-ink)}
.vj-btn--ghost,.vj .is-style-vj-ghost .wp-block-button__link{background:transparent;color:#fff!important;border-color:#fff}
.vj-btn--ghost:hover,.vj .is-style-vj-ghost .wp-block-button__link:hover{background:#fff;color:var(--vj-teal-deep)!important}
.vj-btn--sm{min-height:40px;padding:.45em 1em;font-size:.92rem}
.vj-btn--block{display:flex;width:100%}
.vj .wp-block-buttons{display:flex;flex-wrap:wrap;gap:12px;margin:1.2em 0}
.vj .wp-block-buttons .wp-block-button{margin:0}
.vj-btns{display:flex;flex-wrap:wrap;gap:12px}

/* ---------- banner ---------- */
.vj-banner{font-weight:700}
.vj-banner--teal{background:var(--vj-teal-deep);color:#fff}
.vj-banner--green{background:var(--vj-green);color:var(--vj-ink)}
.vj-banner__in{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 16px;padding-top:10px;padding-bottom:10px;text-align:center}
.vj-banner__text{margin:0;font-size:.98rem}
.vj-banner[hidden]{display:none}

/* ---------- header + nav ---------- */
.vj-header{background:#fff;border-bottom:1px solid var(--vj-line);position:sticky;top:0;z-index:50}
.admin-bar .vj-header{top:46px}
@media (min-width:783px){.admin-bar .vj-header{top:32px}}
.vj-header__in{display:flex;align-items:center;gap:10px;min-height:68px;flex-wrap:wrap}
.vj-logo{display:block;margin-right:auto;padding:6px 0}
.vj-logo__img{width:150px;height:auto}
.vj-header__call{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;color:var(--vj-teal)!important;border:2px solid var(--vj-line)}
.vj-menu-btn{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 14px;border:2px solid var(--vj-teal);border-radius:999px;background:#fff;color:var(--vj-teal);font:800 .95rem var(--vj-head);cursor:pointer}
.vj-menu-btn__bars,.vj-menu-btn__bars::before,.vj-menu-btn__bars::after{display:block;width:18px;height:2px;background:currentColor;position:relative;content:""}
.vj-menu-btn__bars::before{position:absolute;top:-6px}.vj-menu-btn__bars::after{position:absolute;top:6px}
.vj-nav{display:none;width:100%;padding:6px 0 16px}
.vj-nav.is-open{display:block}
.vj-nav__list{list-style:none;margin:0;padding:0}
.vj-nav__item{border-top:1px solid var(--vj-line)}
.vj-nav__toggle,.vj-nav__link{display:flex;width:100%;align-items:center;justify-content:space-between;gap:6px;min-height:50px;padding:0 4px;background:none;border:0;font:800 1.08rem var(--vj-head);color:var(--vj-ink)!important;text-decoration:none;cursor:pointer}
.vj-chev{transition:transform .15s}
.vj-nav__toggle[aria-expanded="true"] .vj-chev{transform:rotate(180deg)}
.vj-nav__sub{list-style:none;margin:0 0 10px;padding:0 0 0 12px;display:none}
.vj-nav__toggle[aria-expanded="true"]+.vj-nav__sub{display:block}
.vj-nav__sub a{display:block;padding:10px 6px;color:var(--vj-ink)!important;text-decoration:none;font-weight:600}
.vj-nav__sub a[aria-current="page"]{color:var(--vj-teal)!important;text-decoration:underline}
.vj-nav__actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
@media (min-width:600px){.vj-logo__img{width:190px}}
@media (min-width:1080px){
  .vj-header__in{flex-wrap:nowrap;min-height:84px}
  .vj-header__call,.vj-menu-btn{display:none}
  .vj-nav{display:flex!important;align-items:center;width:auto;padding:0;gap:18px}
  .vj-nav__list{display:flex;gap:4px}
  .vj-nav__item{border:0;position:relative}
  .vj-nav__toggle,.vj-nav__link{width:auto;min-height:44px;padding:0 12px;font-size:1rem;border-radius:999px}
  .vj-nav__toggle:hover,.vj-nav__item.is-current>.vj-nav__toggle{background:var(--vj-mist);color:var(--vj-teal)!important}
  .vj-nav__sub{position:absolute;left:0;top:100%;min-width:230px;background:#fff;border:1px solid var(--vj-line);border-radius:12px;box-shadow:0 12px 30px rgba(0,40,55,.14);padding:8px;margin:0}
  .vj-nav__item--sub:hover .vj-nav__sub,.vj-nav__item--sub:focus-within .vj-nav__sub{display:block}
  .vj-nav__sub a{border-radius:8px;padding:10px 12px}
  .vj-nav__sub a:hover{background:var(--vj-mist)}
  .vj-nav__actions{display:flex;margin:0;gap:10px}
  .vj-nav__actions .vj-btn{min-height:44px;padding:.55em 1.1em}
}

/* ---------- sections ---------- */
.vj-page>*{margin-top:0}
.vj-section{padding:44px 0}
/* Section children are centered in the content width (works with and without the classic-theme inner container). */
.vj .vj-section>*,.vj .vj-section>.wp-block-group__inner-container>*{max-width:var(--vj-wrap);margin-left:auto;margin-right:auto;padding-left:18px;padding-right:18px}
.vj .vj-section>.wp-block-group__inner-container{max-width:none;padding:0}
.vj .vj-narrow>*,.vj .vj-narrow>.wp-block-group__inner-container>*{max-width:820px}
/* Boxed children (border/background) keep an 18px gutter on phones. */
.vj .vj-section>.vj-today,.vj .vj-section>.vj-map,.vj .vj-section>.wp-block-group__inner-container>.vj-today,.vj .vj-section>.wp-block-group__inner-container>.vj-map{max-width:calc(var(--vj-wrap) - 36px);margin-left:18px;margin-right:18px;padding-left:20px;padding-right:20px}
@media (min-width:1216px){.vj .vj-section>.vj-today,.vj .vj-section>.vj-map,.vj .vj-section>.wp-block-group__inner-container>.vj-today,.vj .vj-section>.wp-block-group__inner-container>.vj-map{margin-left:auto;margin-right:auto}}
.vj-promo-wrap{max-width:var(--vj-wrap);margin:0 auto;padding:0 18px}
@media (min-width:960px){.vj-section{padding:64px 0}}
.vj-band--mist{background:var(--vj-mist)}
.vj-band--mint{background:var(--vj-mint)}
.vj-band--peach{background:var(--vj-peach)}
.vj-band--dark{background:var(--vj-teal-deep);color:#fff}
.vj-band--dark h2,.vj-band--dark h3,.vj-band--dark p,.vj-band--dark li{color:#fff}
.vj-band--dark a:not(.vj-btn):not(.wp-block-button__link){color:#fff}
.vj-eyebrow{font:800 .85rem var(--vj-head);text-transform:uppercase;letter-spacing:.08em;color:var(--vj-teal)}
.vj-eyebrow::before{content:"";display:inline-block;width:22px;height:4px;border-radius:2px;background:var(--vj-green);vertical-align:middle;margin-right:8px}
.vj-lead{font-size:1.15rem;color:var(--vj-muted)}
.vj-note{font-size:.95rem;color:var(--vj-muted)}
.vj .wp-block-columns{display:flex;flex-wrap:wrap;gap:24px;margin:0 auto 1em}
.vj .wp-block-column{flex:1 1 100%;min-width:0}
@media (min-width:782px){.vj .wp-block-columns{flex-wrap:nowrap;gap:40px}.vj .wp-block-column{flex-basis:0;flex-grow:1}}
.vj .vj-section ul.wp-block-list,.vj .vj-section ol.wp-block-list{padding-left:1.3em}
.vj .vj-section li{margin-bottom:.4em}
.vj-checks{list-style:none;padding-left:0!important}
.vj-checks li{position:relative;padding-left:1.8em}
.vj-checks li::before{content:"";position:absolute;left:0;top:.35em;width:1.05em;height:1.05em;border-radius:50%;background:var(--vj-green-text) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%23fff' stroke-width='2.2'/%3E%3C/svg%3E") center/80% no-repeat}

/* ---------- hero ---------- */
.vj-hero{padding:24px 0 36px;background:linear-gradient(180deg,#fff 0,var(--vj-mist) 100%)}
.vj-hero .wp-block-columns{align-items:center}
.vj-hero .vj-photo{border-radius:var(--vj-radius);overflow:hidden;box-shadow:0 16px 40px rgba(0,60,80,.18)}
.vj-hero .vj-photo img{width:100%;aspect-ratio:1316/640;object-fit:cover}
.vj-tiles{list-style:none;padding:0;padding-top:0!important;padding-bottom:0!important;display:grid;gap:14px;margin-top:22px!important}
@media (min-width:700px){.vj-tiles{grid-template-columns:repeat(3,1fr)}}
.vj .vj-tile{background:#fff;border:2px solid var(--vj-line);border-radius:var(--vj-radius);padding:18px 20px;margin:0}
.vj .vj-tile h3{margin-bottom:.25em}
.vj .vj-tile h3 a{text-decoration:none;color:var(--vj-teal)}
.vj .vj-tile h3 a::after{content:" →"}
.vj .vj-tile p{margin:0;color:var(--vj-muted)}

/* ---------- today box ---------- */
.vj-today{display:flex;flex-wrap:wrap;gap:14px 28px;align-items:center;justify-content:space-between;background:#fff;border:2px solid var(--vj-teal);border-radius:var(--vj-radius);padding:18px 20px;margin:0 auto}
.vj .vj-today__title{font-size:1.15rem;margin:0 0 .2em;color:var(--vj-teal)}
.vj-today__hours{margin:0!important;font-size:1.1rem}
.vj-today__status{display:inline-block;margin-left:6px;padding:2px 10px;border-radius:999px;background:var(--vj-mist);font-weight:700;font-size:.92rem}
.vj-today__special{margin:.3em 0 0!important;font-weight:700;color:var(--vj-orange-dark)}
.vj-today__toddler{margin:.4em 0 0!important;font-size:.95rem}
.vj-today__links{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center}
.vj-today__link{font-weight:700}
.vj-badge{display:inline-block;padding:2px 10px;border-radius:999px;background:var(--vj-green-text);color:#fff;font:800 .82rem var(--vj-head);letter-spacing:.02em;white-space:nowrap}
.vj-home-today{padding:0 0 8px;background:var(--vj-mist)}

/* ---------- photos, gallery, placeholders ---------- */
.vj-photo{margin:0;border-radius:var(--vj-radius);overflow:hidden}
.vj-photo img{width:100%;height:100%;object-fit:cover}
.vj-ph{width:100%;min-height:160px;background:
  radial-gradient(circle at 18% 22%,rgba(255,255,255,.55) 0 18%,transparent 19%),
  radial-gradient(circle at 82% 78%,rgba(255,255,255,.35) 0 22%,transparent 23%),
  linear-gradient(135deg,#CFE7EF 0%,#E6F7EA 55%,#FFE3CC 100%);border-radius:var(--vj-radius)}
.vj-gallery{list-style:none;padding:0;padding-top:0!important;padding-bottom:0!important;display:grid;gap:14px;grid-template-columns:1fr}
@media (min-width:600px){.vj-gallery{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.vj-gallery{grid-template-columns:repeat(3,1fr)}}
.vj-gallery__item{margin:0!important}
.vj-gallery__item .vj-photo,.vj-gallery__item .vj-ph{aspect-ratio:4/3}
.vj-gallery__cap{margin:.5em 0 0!important;font:800 1rem var(--vj-head)}
.vj-features{columns:1;padding-left:0!important;list-style:none}
@media (min-width:700px){.vj-features{columns:2;column-gap:40px}}
.vj-features li{break-inside:avoid;padding-left:1.6em;position:relative}
.vj-features li::before{content:"";position:absolute;left:0;top:.55em;width:.7em;height:.7em;border-radius:50%;background:var(--vj-orange)}

/* ---------- prices ---------- */
.vj-prices{list-style:none;padding:0;padding-top:0!important;padding-bottom:0!important;display:grid;gap:14px;grid-template-columns:repeat(2,1fr);margin:1em auto!important}
@media (min-width:900px){.vj-prices{grid-template-columns:repeat(4,1fr)}}
.vj-price{position:relative;margin:0!important;background:#fff;border:2px solid var(--vj-line);border-radius:var(--vj-radius);padding:20px 14px 16px;text-align:center;display:flex;flex-direction:column;gap:6px}
.vj-price--best{border-color:var(--vj-teal);box-shadow:0 10px 24px rgba(0,97,129,.15)}
.vj-price__flag{position:absolute;top:-12px;left:50%;transform:translateX(-50%);white-space:nowrap;background:var(--vj-teal);color:#fff;font:800 .74rem var(--vj-head);padding:3px 10px;border-radius:999px}
.vj .vj-price__time{margin:0;font:800 1.05rem var(--vj-head);color:var(--vj-teal)}
.vj .vj-price__amt{margin:0 0 6px;font:800 2.2rem/1 var(--vj-head)}
.vj-price__cur{font-size:.55em;vertical-align:.7em;margin-right:2px}
.vj-price .vj-btn{margin-top:auto;font-size:.92rem;padding:.55em .6em}
.vj-prices__note{text-align:center}
.vj-prices--compact .vj-price{padding:16px 10px 12px}

/* ---------- tables ---------- */
.vj .wp-block-table{margin:1em auto;overflow-x:auto}
.vj .wp-block-table table{width:100%;border-collapse:collapse;background:#fff}
.vj .wp-block-table th,.vj .wp-block-table td{border:1px solid var(--vj-line);padding:10px 12px;text-align:left;vertical-align:top;word-break:normal;overflow-wrap:normal}
.vj .wp-block-table thead th{background:var(--vj-teal);color:#fff}
.vj-hours{border-collapse:collapse;width:100%;max-width:440px}
.vj-hours th,.vj-hours td{padding:8px 10px;border-bottom:1px solid var(--vj-line);text-align:left}
.vj-hours th{font-weight:700}
.vj-hours__toddler td,.vj-hours__toddler th{border-bottom:0}

/* ---------- party card, steps, notes ---------- */
.vj .vj-card{background:#fff;border:2px solid var(--vj-line);border-radius:var(--vj-radius);padding:22px}
.vj .vj-card--accent{border-color:var(--vj-orange);background:#fff}
.vj-price-line{font:800 1.35rem var(--vj-head)!important;color:var(--vj-teal)}
.vj-steps{counter-reset:s;list-style:none;padding-left:0!important}
.vj-steps li{counter-increment:s;position:relative;padding-left:3em;margin-bottom:1em!important;min-height:2.2em}
.vj-steps li::before{content:counter(s);position:absolute;left:0;top:-.1em;width:2.1em;height:2.1em;border-radius:50%;background:var(--vj-teal);color:#fff;font:800 1rem/2.1em var(--vj-head);text-align:center}
.vj-special{background:var(--vj-peach);border-radius:var(--vj-radius);padding:16px 18px;margin:1em 0;max-width:560px}
.vj .vj-special__title{font-size:1.05rem;margin-bottom:.3em}
.vj-special__list{margin:0;padding-left:1.1em}
.vj-promo{border-radius:var(--vj-radius);padding:18px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.vj-promo--teal{background:var(--vj-teal-deep);color:#fff}.vj-promo--green{background:var(--vj-mint)}
.vj-promo p{margin:0;font-weight:800}
.vj-copy-link{font-family:ui-monospace,Menlo,Consolas,monospace;background:var(--vj-mist);padding:2px 6px;border-radius:6px}

/* ---------- reviews (plain text, no stars) ---------- */
.vj-reviews{display:grid;grid-auto-flow:column;grid-auto-columns:85%;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}
@media (min-width:900px){.vj-reviews{grid-auto-flow:row;grid-template-columns:repeat(3,1fr);overflow:visible}}
.vj-review{scroll-snap-align:start;margin:0;background:#fff;border-left:5px solid var(--vj-teal);border-radius:10px;padding:16px 18px}
.vj-review p{margin:0 0 .5em}
.vj-review cite{font-style:normal;font-weight:700;color:var(--vj-muted)}

/* ---------- Tots cross-promo ---------- */
.vj-tots .wp-block-columns{align-items:center}
.vj-tots .vj-photo{max-width:200px;border-radius:0;overflow:visible}

/* ---------- map, NAP ---------- */
.vj-map{min-height:260px;border-radius:var(--vj-radius);background:linear-gradient(135deg,#DDEFF5,#E6F7EA);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;margin:1em auto;overflow:hidden}
.vj-map iframe{width:100%;height:360px;border:0}
.vj-map__note{font-size:.85rem;margin:0!important;color:var(--vj-muted)}
.vj-nap{font-style:normal}

/* ---------- forms ---------- */
.vj-form{display:grid;gap:14px;max-width:640px;background:#fff;border:2px solid var(--vj-line);border-radius:var(--vj-radius);padding:20px}
@media (min-width:700px){.vj-form{grid-template-columns:1fr 1fr}.vj-field--textarea,.vj-field--checks,.vj-field--radio,.vj-form__req-note,.vj-form .vj-btn{grid-column:1/-1}}
.vj-field label,.vj-field legend{display:block;font-weight:700;margin-bottom:4px}
.vj-field input,.vj-field textarea,.vj-field select{width:100%;min-height:48px;padding:10px 12px;border:2px solid #8FA7B0;border-radius:10px;font:inherit;background:#fff;color:var(--vj-ink)}
.vj-field input:focus,.vj-field textarea:focus{border-color:var(--vj-teal)}
.vj-field fieldset{border:0;padding:0;margin:0}
.vj-choice{display:inline-flex!important;align-items:center;gap:8px;margin-right:18px;font-weight:400!important;min-height:40px}
.vj-choice input{width:22px;min-height:22px;height:22px}
.vj-req{color:#B00020}
.vj-form__req-note{margin:0!important;font-size:.9rem;color:var(--vj-muted)}
.vj-form__msg{padding:14px 16px;border-radius:10px;font-weight:700}
.vj-form__msg--ok{background:var(--vj-mint)}.vj-form__msg--err{background:#FDE7EA}
.vj-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ---------- footer ---------- */
.vj-footer{background:var(--vj-teal);color:#fff;padding:44px 0 20px}
.vj-footer a{color:#fff}
.vj-footer a:hover{color:#fff;text-decoration-thickness:2px}
.vj-footer__grid{display:grid;gap:30px}
@media (min-width:800px){.vj-footer__grid{grid-template-columns:1.2fr 1fr 1fr}}
.vj-footer__logo{display:inline-block;background:#fff;border-radius:12px;padding:10px 14px;margin-bottom:14px}
.vj-footer-logo__img{width:170px;height:auto}
.vj .vj-footer__h{font-size:1.1rem;color:#fff;margin-bottom:.6em}
.vj-footer .vj-hours th,.vj-footer .vj-hours td{border-color:rgba(255,255,255,.25);color:#fff}
.vj-footer .vj-badge{background:#fff;color:var(--vj-green-text)}
.vj-footer__menu{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:6px}
.vj-footer__cta{font-weight:800}
.vj-footer__social a{display:inline-flex;gap:8px;align-items:center;font-weight:700}
.vj-footer__small{font-size:.9rem;opacity:.95;margin-top:8px}
.vj-footer__copy{margin-top:26px!important;padding-top:16px!important;border-top:1px solid rgba(255,255,255,.25);font-size:.9rem}

/* ---------- mobile sticky bar ---------- */
.vj-sticky{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--vj-line);box-shadow:0 -6px 18px rgba(0,40,55,.12)}
.vj-sticky .vj-btn{min-height:48px;padding:.5em .3em;font-size:.88rem;border-radius:12px}
@media (min-width:960px){.vj-sticky{display:none}}

.vj-404{padding:70px 18px}
/* ---------- 1.0.1 ---------- */
/* Secondary "Questions? Call" line under the Aluvii party buttons (1.0.6: was "Send a Request") */
.vj .vj-alt-link{margin:.4em 0 0;font-weight:700}
.vj-alt-link a{display:inline-flex;align-items:center;min-height:44px}
/* A two-column section whose photo slot is still empty becomes one text column */
.vj .vj-cols--solo>.wp-block-column{max-width:760px}
/* Compact banner on phones: text and a small button flow together on 1-2 lines */
@media (max-width:599px){
.vj-banner__in{display:block;padding:6px 12px;line-height:1.3}
.vj-banner__text{display:inline;font-size:.84rem}
.vj-banner .vj-btn--sm{display:inline-flex;vertical-align:middle;min-height:30px;padding:.15em .75em;margin:2px 0 2px 8px;font-size:.8rem;border-radius:999px}
}
/* Footer tap targets: about 44px tall on phones, 32px+ on desktop */
.vj-footer__menu{gap:0}
.vj-footer__menu a,.vj-footer__cta,.vj-footer__social a{display:inline-flex;align-items:center;min-height:44px}
.vj-footer .vj-nap a{display:inline-block;padding:10px 0}
.vj-footer .vj-footer__links p{margin:0}
@media (min-width:800px){.vj-footer__menu a,.vj-footer__cta,.vj-footer__social a{min-height:34px}.vj-footer .vj-nap a{padding:4px 0}}
.vj .vj-footer__copy{margin-left:auto;margin-right:auto}
.vj-footer__credit{display:block;margin-top:6px;font-size:.8rem;opacity:.85}
.vj-footer__credit a{text-decoration:underline;text-underline-offset:2px}
@media (min-width:800px){.vj-footer__credit{display:inline;margin:0 0 0 .75em;padding-left:.75em;border-left:1px solid rgba(255,255,255,.35)}}
/* 1.0.8: footer tap targets and the required-field star on teal */
.vj-footer__menu a{min-width:44px}
.vj-footer .vj-signup__fine a{padding:12px 0}
.vj-footer .vj-req{color:#FFD7D7}
@media (max-width:799px){.vj-footer__credit{margin-top:0}.vj-footer__credit a{display:inline-flex;align-items:center;min-height:44px}}

/* Reviews section (hidden until quotes are entered) */
.vj-reviews-sec .vj-reviews{margin-top:8px}
.vj-reviews-sec__btns{margin-top:18px!important}
@media (min-width:900px){.vj-reviews--n4{grid-template-columns:repeat(2,1fr)}.vj-reviews--n2{grid-template-columns:repeat(2,1fr)}.vj-reviews--n1{grid-template-columns:1fr}}
.vj-reviews-sec--compact{padding:32px 0}
/* Home hero media (1.0.3): desktop still; phones get a portrait still + optional muted loop on top */
.vj-photo--media{position:relative}
.vj-photo--media picture{display:block}
.vj-hero-video{display:none}
@media (max-width:781px){
.vj-hero .vj-photo--media img{aspect-ratio:4/5}
.vj-hero-video{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .4s;pointer-events:none}
.vj-hero-video.is-playing{opacity:1}
.vj-hero-video__btn{position:absolute;right:10px;bottom:10px;min-height:44px;padding:0 14px;border:0;border-radius:22px;background:rgba(0,40,55,.75);color:#fff;font:600 .85rem/1 inherit;cursor:pointer}
.vj-hero-video__btn:focus-visible{outline:3px solid #fff;outline-offset:2px}
}
@media (min-width:782px){.vj-hero-video__btn{display:none}}
@media (prefers-reduced-motion:reduce){.vj-hero-video{display:none!important}.vj-hero-video__btn{display:none!important}}
/* Landing pages: hours table and special-hours box */
.vj .vj-hours-box .vj-hours{max-width:520px}
.vj .vj-special-box{margin-top:18px!important}
.vj .vj-special-box:empty{display:none}
/* Group landing links on Home */
.vj-groups .vj-tiles{margin-top:10px!important}
/* Email signup */
.vj-signup{display:grid;gap:14px 40px;align-items:start}
@media (min-width:900px){.vj-signup{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}}
.vj .vj-signup__title{font-size:1.45rem;margin:0 0 .25em}
.vj .vj-signup__sub{margin:0;color:var(--vj-muted)}
.vj-signup__form{display:grid;gap:12px}
.vj-signup__row{display:grid;gap:12px}
@media (min-width:600px){.vj-signup__row{grid-template-columns:1.4fr 1fr}}
.vj-opt{font-weight:400;opacity:.85}
.vj-signup__form .vj-btn{justify-self:start;min-width:180px}
.vj .vj-signup__fine{margin:0;font-size:.85rem}
.vj-signup__fine a{display:inline-block;padding:10px 0}
.vj-signup-sec .vj-signup{padding-top:0;padding-bottom:0}
/* Footer version on teal */
.vj-footer__signup{padding-bottom:30px!important;margin-bottom:30px!important;border-bottom:1px solid rgba(255,255,255,.25)}
.vj-footer .vj-signup__title{color:#fff}
.vj-footer .vj-signup__sub,.vj-footer .vj-signup__fine,.vj-footer .vj-opt{color:#fff}
.vj-footer .vj-field label{color:#fff}
.vj-footer .vj-field input{border-color:#fff}
.vj-footer .vj-form__msg{color:var(--vj-ink)}

@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
