*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:#111;font:15px/1.55 Arial,Roboto,sans-serif}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}header{display:flex;justify-content:space-between;align-items:center;padding:22px 4vw;border-bottom:1px solid #111;gap:15px}header .logo{font-size:18px;font-weight:700}nav{display:flex;gap:24px}main{min-height:75vh}.home{min-height:78vh;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:40px 18px}.skulls{width:min(480px,85vw);height:auto;animation:none;transform:none}.home h1{font-size:clamp(19px,3vw,34px);font-weight:500;margin:25px 0 16px}.home p{margin:0 0 12px}.home .explore{font-size:17px;text-decoration:underline;text-underline-offset:5px}.small{font-size:12px;color:#666}.wrap{max-width:1320px;margin:auto;padding:40px 4vw 80px}.topline{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid #111;padding-bottom:18px;margin-bottom:30px}.topline h1{font-size:clamp(28px,4vw,52px);font-weight:500;margin:0}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 14px}.item img{width:100%;aspect-ratio:1;object-fit:contain;background:#fafafa;display:block}.item .name{padding:8px 0}.detail{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:6vw}.detail img{width:100%;height:auto;display:block}.detailside{position:sticky;top:25px;align-self:start}.detailside h1{font-size:34px;font-weight:500;margin:12px 0 25px}.variants{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 25px}.variant{border:1px solid #aaa;background:white;padding:9px 13px;cursor:pointer;font:inherit}.variant[aria-pressed=true]{border:2px solid #111}.variant:disabled{text-decoration:line-through;color:#999}.description{border-top:1px solid #ddd;padding:20px 0;line-height:1.8}.description img{max-width:100%}.notice{border-top:1px solid #111;padding:18px 0}.btn{display:inline-block;background:#111;color:#fff;padding:14px 24px;text-align:center;border:1px solid #111}.btn:hover{background:#fff;color:#111;text-decoration:none}.back{display:inline-block;margin-bottom:22px}.pages{max-width:850px;margin:0 auto;padding:50px 4vw}.pages h1{font-size:40px;font-weight:500}.pages iframe{border:0;width:100%;min-height:1100px}footer{border-top:1px solid #ddd;padding:24px 4vw;font-size:12px;color:#666}.error{padding:22px;border:1px solid #ddd}.more{margin-top:40px}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:800px){header{padding:18px 16px}nav{gap:12px;font-size:13px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 10px}.detail{display:block}.detailside{position:static;margin-top:25px}.wrap{padding:24px 16px 70px}.topline h1{font-size:32px}}@media(prefers-reduced-motion:reduce){.skulls{animation:none}}
/* v2: keep animation inside image boundaries, never overlay text */
.home{gap:0;overflow:hidden;min-height:calc(100svh - 120px);padding:30px 18px 55px}.home .skulls{display:block;position:static;transform:none!important;width:min(360px,75vw);max-height:360px;object-fit:contain;flex:none;margin:0 auto 22px;animation:none!important}.home h1{margin:8px 0 20px;line-height:1.25}.home p{margin:0 0 12px}.home .small{margin-top:4px}
header{position:relative;z-index:2}nav{flex-wrap:wrap;align-items:center;justify-content:flex-end}nav a{white-space:nowrap}.pages{max-width:1100px}.pages h1{margin-bottom:32px}.dawn-section{padding:18px 0;border-bottom:1px solid #ddd}.dawn-section h2,.dawn-section h3{font-weight:600}.dawn-block{margin:0 0 18px;line-height:1.75}.dawn-block p{margin:8px 0 15px}.dawn-block ul{padding-left:22px}.dawn-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.dawn-columns .dawn-block{border-right:1px solid #ddd;padding-right:18px}.dawn-columns .dawn-block:last-child{border:0}.form-action{margin:20px 0 30px;padding:16px 0}.form-action .btn{margin-top:12px}.description{overflow-wrap:anywhere}.description p{margin:10px 0}.detailside{top:30px}
@media(max-width:900px){header{align-items:flex-start;flex-direction:column}nav{justify-content:flex-start;gap:12px 17px}.dawn-columns{grid-template-columns:1fr;gap:0}.dawn-columns .dawn-block{border-right:0;border-bottom:1px solid #eee}.home .skulls{width:min(310px,78vw);max-height:310px}.home h1{font-size:clamp(20px,4vw,30px)}}

/* v3: unify skull image background with site white using multiply compositing */
.home .skulls{mix-blend-mode:multiply}
/* About: Dawn-style compact accordion FAQ, retain all source text */
.pages.about-page{max-width:1100px}
.about-page .dawn-section{padding:20px 0;border-bottom:1px solid #e7e7e7}
.about-page .dawn-block{margin:0;line-height:1.7}
.about-page .dawn-block h3{font-size:16px;line-height:1.5;margin:0 0 12px}
.about-page .dawn-block p{margin:0 0 12px}
.about-page .dawn-columns{gap:18px}
.about-page .dawn-columns .dawn-block{padding-right:18px}
.about-page .faq-item{border-bottom:1px solid #e6e6e6}
.about-page .faq-item:first-of-type{border-top:1px solid #e6e6e6}
.about-page .faq-item summary{list-style:none;display:flex;align-items:center;gap:18px;padding:19px 6px;cursor:pointer;font-size:16px;line-height:1.5}
.about-page .faq-item summary::-webkit-details-marker{display:none}
.about-page .faq-mark{border:1.5px solid #111;border-radius:50%;width:23px;height:23px;display:inline-flex;align-items:center;justify-content:center;font-size:15px;flex:none;line-height:1}
.about-page .faq-chevron{margin-left:auto;border-right:1px solid #333;border-bottom:1px solid #333;transform:rotate(45deg);width:9px;height:9px;flex:none;transition:transform .2s}
.about-page .faq-item[open] .faq-chevron{transform:rotate(225deg)}
.about-page .faq-answer{padding:0 52px 20px;line-height:1.8}
.about-page .faq-answer p{margin:0 0 12px}
@media(max-width:700px){.about-page .faq-item summary{font-size:14px;gap:12px;padding:17px 0}.about-page .faq-answer{padding:0 12px 16px 35px}.about-page .dawn-columns .dawn-block{padding-right:0}}

/* v4 brand mark and language menu */
header .logo{display:flex;align-items:center;flex:none}header .logo img{display:block;width:64px;height:64px;object-fit:contain;mix-blend-mode:multiply}header{gap:20px}header nav{margin-left:auto}.language-control{flex:none}.language-control select{max-width:140px;background:#fff;border:1px solid #bbb;border-radius:0;padding:8px 24px 8px 10px;color:#111;font:inherit;cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.translation-notice{font-size:13px;color:#666;border-left:2px solid #aaa;padding:8px 12px;margin:0 0 26px}@media(max-width:900px){header{flex-direction:row;flex-wrap:wrap;align-items:center}header .logo img{width:52px;height:52px}header nav{order:3;width:100%;margin:0;justify-content:flex-start}.language-control{margin-left:auto}}

/* v5: About-only typography, compact FAQ and contextual links */
.about-page>h1{font-size:clamp(24px,2.6vw,30px);line-height:1.25;margin:8px 0 20px}
.about-page .faq-item summary{padding:10px 4px;gap:12px;font-size:14px;line-height:1.35}
.about-page .faq-item summary h3{font-size:14px;line-height:1.35;font-weight:600;margin:0}
.about-page .faq-mark{width:20px;height:20px;font-size:12px;border-width:1px}
.about-page .faq-chevron{width:7px;height:7px}
.about-page .faq-answer{padding:2px 36px 12px;font-size:14px;line-height:1.65}
.about-page .faq-answer p{margin:0 0 9px}
.about-page .about-booking-action{padding:14px 0 22px;border-bottom:1px solid #e7e7e7}
.about-page .about-booking-action .btn,.about-page .about-waiting-action .btn{font-size:13px;padding:10px 17px}
.about-page .about-waiting-action{margin:12px 0 8px}
@media(max-width:700px){.about-page>h1{font-size:25px}.about-page .faq-item summary{font-size:13px;padding:10px 0;gap:10px}.about-page .faq-item summary h3{font-size:13px}.about-page .faq-answer{padding:2px 10px 12px 30px;font-size:13px}}

/* v6: verified About compact typography, accordion spacing and actions */
.about-page > h1 {font-size:clamp(22px,2.2vw,28px)!important;line-height:1.25;margin:6px 0 20px!important}
.about-page .faq-item {margin:0!important;border-bottom:1px solid #e5e5e5}
.about-page .faq-item summary {min-height:0!important;padding:11px 4px!important;gap:12px!important;font-size:14px!important;line-height:1.4!important}
.about-page .faq-question {font-size:14px!important;line-height:1.4;font-weight:600;flex:1}
.about-page .faq-answer {padding:0 34px 12px!important;font-size:14px!important}
.about-page .about-booking-action {margin:0;padding:12px 0 18px}
.about-page .about-booking-action .btn,.about-page .about-waiting-action .btn {padding:9px 16px;font-size:13px}
@media(max-width:700px){.about-page .faq-item summary{padding:10px 0!important}.about-page .faq-question{font-size:13px!important}.about-page .faq-answer{padding:0 8px 12px 30px!important}}

/* v7: precise home image white and reduced heading, center About CTA */
.home h1{font-size:clamp(19px,2.1vw,27px)!important;line-height:1.3;max-width:calc(100vw - 36px);overflow-wrap:normal}
.home .skulls{mix-blend-mode:normal!important;background:#fff}
.about-page .about-booking-action{display:flex;align-items:center;justify-content:center;text-align:center;width:100%}
@media(max-width:700px){.home h1{font-size:clamp(17px,4.2vw,22px)!important}}

/* v8: match original GIF #FBFBFB background and align page heading typography */
html,body,header,main,footer,.home,.pages,.wrap{background-color:#fbfbfb}
.home .skulls{background-color:#fbfbfb!important;mix-blend-mode:normal!important}
.pages>h1,.pages.about-page>h1,.topline h1{font-family:Arial,Roboto,sans-serif!important;font-size:clamp(32px,4.2vw,48px)!important;font-weight:400!important;letter-spacing:-.035em;line-height:1.15!important}
@media(max-width:700px){.pages>h1,.pages.about-page>h1,.topline h1{font-size:clamp(30px,7vw,40px)!important}}

/* v11: single-image product carousel and variant-linked images */
.item img{background:#fbfbfb;mix-blend-mode:multiply}
.product-gallery{min-width:0;align-self:start}
.gallery-stage{position:relative;overflow:hidden;background:#fbfbfb;touch-action:pan-y}
.gallery-track{display:flex;transition:transform .3s ease;will-change:transform}
.gallery-slide{flex:0 0 100%;min-width:0;aspect-ratio:1;display:flex;align-items:center;justify-content:center;overflow:hidden}
.detail .gallery-slide img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;background:#fbfbfb}
.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);background:rgba(251,251,251,.88);border:1px solid #ddd;color:#111;width:38px;height:46px;font-size:30px;line-height:1;cursor:pointer;z-index:1}
.gallery-prev{left:8px}.gallery-next{right:8px}
.gallery-bottom{display:flex;align-items:center;justify-content:space-between;padding:12px 2px;gap:12px}
.gallery-count{font-size:12px;color:#666;font-variant-numeric:tabular-nums}
.gallery-dots{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.gallery-dot{width:7px;height:7px;border:1px solid #777;border-radius:50%;padding:0;background:transparent;cursor:pointer}
.gallery-dot[aria-current=true]{background:#111;border-color:#111}
.variant.sold-out .variant-label{text-decoration:line-through;text-decoration-thickness:1px;color:#888}
.variant.sold-out .sold-out-note{font-size:12px;color:#777}
.variant[aria-pressed=true]{border:2px solid #111;padding:8px 12px}
.detailside .description{margin-bottom:12px}
@media(max-width:800px){.gallery-stage{max-width:100%}.gallery-arrow{width:30px;height:40px;font-size:25px}}
@media(prefers-reduced-motion:reduce){.gallery-track{transition:none}}

/* v12: unify flash tile background against the site canvas */
.grid .item{background:transparent}
.grid .item img{background:transparent!important;mix-blend-mode:multiply!important}
.grid{background:#fbfbfb}

/* v15: display Powerful Form directly within the page */
.embedded-form{width:100%;max-width:900px;margin:28px auto 0}
.embedded-form iframe{display:block;width:100%;height:1100px;min-height:75vh;border:0;background:#fbfbfb}
.form-fallback{margin:12px 0 0;text-align:center}
.form-fallback a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:700px){.embedded-form{margin-top:20px}.embedded-form iframe{height:1250px}}

/* v16: white canvas throughout, including embedded forms */
html,body,header,main,footer,.home,.pages,.wrap,.grid{background-color:#fff!important}
.home .skulls{background-color:#fff!important}
.grid .item,.grid .item img,.item img,.gallery-stage,.detail .gallery-slide img{background-color:#fff!important}
/* Give embedded forms the available page width rather than a narrow column. */
.pages:has(.embedded-form){max-width:none;width:100%;padding-left:clamp(16px,3vw,48px);padding-right:clamp(16px,3vw,48px)}
.pages:has(.embedded-form) .embedded-form{width:100%;max-width:none;margin:32px auto 0}
/* Cross-origin embeds cannot be measured by the parent. Reserve sufficient vertical
   space to avoid the 1100px nested scroll region; only the outer page should scroll. */
.pages:has(.embedded-form) .embedded-form iframe{display:block;width:100%;height:4600px;min-height:0;overflow:hidden;border:0;background:#fff!important}
@media(max-width:700px){.pages:has(.embedded-form) .embedded-form{margin-top:20px}.pages:has(.embedded-form) .embedded-form iframe{height:5400px}}

/* v17: remove the excessive fixed 4600/5400px blank form area.
   Individual fallbacks; iframe contents are cross-origin, so precise auto sizing
   requires an embed height message from the form provider. */
.pages:has(.embedded-form) .embedded-form{margin-top:12px!important}
.pages:has(.embedded-form){padding-bottom:32px!important}
.pages:has(.embedded-form) .embedded-form iframe{height:2100px!important;min-height:0!important}
.pages:has(.embedded-form--booking) .embedded-form--booking iframe{height:2700px!important}
.pages:has(.embedded-form--waiting-list) .embedded-form--waiting-list iframe{height:1650px!important}
.pages:has(.embedded-form--booking-confirmation) .embedded-form--booking-confirmation iframe{height:2100px!important}
.pages:has(.embedded-form--leave-a-review) .embedded-form--leave-a-review iframe{height:1500px!important}
@media(max-width:700px){
.pages:has(.embedded-form) .embedded-form{margin-top:10px!important}
.pages:has(.embedded-form--booking) .embedded-form--booking iframe{height:3100px!important}
.pages:has(.embedded-form--waiting-list) .embedded-form--waiting-list iframe{height:1850px!important}
.pages:has(.embedded-form--booking-confirmation) .embedded-form--booking-confirmation iframe{height:2350px!important}
.pages:has(.embedded-form--leave-a-review) .embedded-form--leave-a-review iframe{height:1750px!important}
}

/* v18: booking and waiting-list pages follow the same centered content column as About. */
.pages:has(.embedded-form){max-width:1100px!important;width:100%!important;margin-left:auto!important;margin-right:auto!important;padding:50px 4vw 36px!important}
.pages:has(.embedded-form) .embedded-form{max-width:760px!important;width:100%!important;margin:16px auto 0!important}
.pages:has(.embedded-form) .embedded-form iframe{width:100%!important;max-width:100%!important}
@media(max-width:700px){.pages:has(.embedded-form){padding:34px 5vw 28px!important}.pages:has(.embedded-form) .embedded-form{margin-top:12px!important}}

/* v19: crop the large top blank area baked into Powerful Form's share page.
   The cross-origin iframe cannot expose its intrinsic content height. */
.pages:has(.embedded-form) .embedded-form{position:relative;overflow:hidden;margin-top:10px!important;max-width:760px!important}
.pages:has(.embedded-form) .embedded-form iframe{position:relative;top:-310px;height:calc(var(--form-frame-height) + 310px)!important;margin-bottom:-310px!important;min-height:0!important}
.pages:has(.embedded-form--booking) .embedded-form--booking{--form-frame-height:2300px}
.pages:has(.embedded-form--waiting-list) .embedded-form--waiting-list{--form-frame-height:1320px}
.pages:has(.embedded-form--booking-confirmation) .embedded-form--booking-confirmation{--form-frame-height:1850px}
.pages:has(.embedded-form--leave-a-review) .embedded-form--leave-a-review{--form-frame-height:1250px}
.pages:has(.embedded-form) .form-fallback{margin:6px 0 0!important;padding:0 0 10px!important}
@media(max-width:700px){
.pages:has(.embedded-form) .embedded-form iframe{top:-230px;height:calc(var(--form-frame-height) + 230px)!important;margin-bottom:-230px!important}
.pages:has(.embedded-form--booking) .embedded-form--booking{--form-frame-height:2650px}
.pages:has(.embedded-form--waiting-list) .embedded-form--waiting-list{--form-frame-height:1550px}
.pages:has(.embedded-form--booking-confirmation) .embedded-form--booking-confirmation{--form-frame-height:2050px}
.pages:has(.embedded-form--leave-a-review) .embedded-form--leave-a-review{--form-frame-height:1450px}
}

/* v20: waiting-list only — pull the embedded form closer to its intro.
   Other forms and page layouts are unchanged. */
.pages:has(.embedded-form--waiting-list) .embedded-form--waiting-list{--form-frame-height:1200px!important;margin-top:0!important}
.pages:has(.embedded-form--waiting-list) .embedded-form--waiting-list iframe{top:-430px!important;height:calc(var(--form-frame-height) + 430px)!important;margin-bottom:-430px!important}
@media(max-width:700px){
.pages:has(.embedded-form--waiting-list) .embedded-form--waiting-list{--form-frame-height:1430px!important;margin-top:0!important}
.pages:has(.embedded-form--waiting-list) .embedded-form--waiting-list iframe{top:-350px!important;height:calc(var(--form-frame-height) + 350px)!important;margin-bottom:-350px!important}
}

/* v21: trim empty space below submit buttons on the two public forms.
   Keep the iframe's top crop unchanged so the first fields stay visible. */
@media (min-width:701px){
  .pages:has(.embedded-form--waiting-list) .embedded-form--waiting-list{--form-frame-height:850px!important}
  .pages:has(.embedded-form--booking) .embedded-form--booking{--form-frame-height:1870px!important}
}
@media (max-width:700px){
  .pages:has(.embedded-form--waiting-list) .embedded-form--waiting-list{--form-frame-height:1130px!important}
  .pages:has(.embedded-form--booking) .embedded-form--booking{--form-frame-height:2310px!important}
}

/* v24: restore ALL beginning fields on the two public forms.
   The earlier negative iframe offsets cropped real form inputs, not only whitespace.
   Cross-origin iframe content must remain uncropped until the provider supplies
   an embeddable, auto-resizing version. */
.pages:has(.embedded-form--booking) .embedded-form--booking,
.pages:has(.embedded-form--waiting-list) .embedded-form--waiting-list{
  overflow:visible!important;
}
.pages:has(.embedded-form--booking) .embedded-form--booking iframe,
.pages:has(.embedded-form--waiting-list) .embedded-form--waiting-list iframe{
  top:0!important;
  margin-bottom:0!important;
  transform:none!important;
}
@media(min-width:701px){
  .pages:has(.embedded-form--booking) .embedded-form--booking iframe{height:2180px!important}
  .pages:has(.embedded-form--waiting-list) .embedded-form--waiting-list iframe{height:1280px!important}
}
@media(max-width:700px){
  .pages:has(.embedded-form--booking) .embedded-form--booking iframe{height:2540px!important}
  .pages:has(.embedded-form--waiting-list) .embedded-form--waiting-list iframe{height:1480px!important}
}

/* v25: Waiting List only. Gently crop the unused top space of the
   third-party share page while preserving the first form fields.
   Booking / Inquiry is intentionally untouched. */
.pages:has(.embedded-form--waiting-list) .embedded-form--waiting-list{
  overflow:hidden!important;
}
.pages:has(.embedded-form--waiting-list) .embedded-form--waiting-list iframe{
  position:relative!important;
  top:-200px!important;
  margin-bottom:-200px!important;
  transform:none!important;
}

/* v27: city-specific pages reuse About's centered page width and section grid.
   No changes to embedded forms, homepage, Flash, or About. */
.pages:has(.city-content){max-width:1100px!important}
.city-heading{border-bottom:1px solid #ddd;padding:0 0 14px;margin-bottom:14px}
.city-label{font-size:12px;letter-spacing:.075em;text-transform:uppercase;color:#666}
.city-content{line-height:1.7}
.city-content>h2{font-weight:500;font-size:clamp(18px,2.2vw,25px);margin:37px 0 8px;padding-bottom:10px;border-bottom:1px solid #ddd;letter-spacing:-.02em}
.city-content .dawn-section{padding:14px 0 20px}
.city-content .dawn-block h3{font-size:15px;line-height:1.5;margin:0 0 12px;font-weight:600}
.city-content .dawn-block{font-size:14px;line-height:1.75}
.city-content .dawn-columns{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}
.city-content .dawn-columns .dawn-block:nth-child(2n){border-right:0}
.city-content a:not(.btn){text-decoration:underline;text-underline-offset:3px}
.city-cta{margin:28px 0 18px;text-align:center}
@media(max-width:760px){.city-content .dawn-columns{grid-template-columns:1fr}.city-content .dawn-columns .dawn-block{border-right:0;padding-right:0}.city-content>h2{margin-top:26px}}


/* v28: city guide refinement — no home link, tighter width, optional accordions,
   and booking confirmation form top must remain fully visible. */
.pages.city-page{max-width:980px!important;padding:42px 4vw 38px!important}
.pages.city-page h1{font-size:clamp(30px,5vw,58px);margin-bottom:28px}
.pages.city-page .city-heading{margin-bottom:18px}
.pages.city-page .city-content{max-width:920px;margin:0 auto;line-height:1.72}
.pages.city-page .city-content>h2{margin-top:34px}
.pages.city-page .dawn-section{padding:12px 0 16px}
.pages.city-page .dawn-columns{column-gap:18px}
.pages.city-page .dawn-columns .dawn-block{padding-right:14px}
.pages.city-page .dawn-block{font-size:14px;line-height:1.72}
.pages.city-page .dawn-block h3{font-size:15px;line-height:1.55}
.pages.city-page .city-cta{margin-top:24px}
@media(max-width:760px){
  .pages.city-page{padding:32px 5vw 28px!important}
  .pages.city-page .city-content{max-width:none}
  .pages.city-page .dawn-section{padding:10px 0 14px}
}
/* Compact accordion treatment for long list sections on city pages */
.city-page .city-faq-item{border-bottom:1px solid #e6e6e6}
.city-page .city-faq-item:first-child{border-top:1px solid #e6e6e6}
.city-page .city-faq-item summary{list-style:none;display:flex;align-items:center;gap:14px;padding:14px 4px;cursor:pointer;font-size:15px;line-height:1.5}
.city-page .city-faq-item summary::-webkit-details-marker{display:none}
.city-page .city-faq-mark{width:22px;height:22px;border:1px solid #111;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:9px;flex:none;line-height:1}
.city-page .city-faq-question{font-size:15px;font-weight:500;flex:1}
.city-page .city-faq-answer{padding:0 10px 16px 36px;line-height:1.75}
.city-page .city-faq-answer p{margin:0 0 10px}
.city-page .city-faq-item .faq-chevron{margin-left:auto;border-right:1px solid #333;border-bottom:1px solid #333;transform:rotate(45deg);width:8px;height:8px;flex:none;transition:transform .2s}
.city-page .city-faq-item[open] .faq-chevron{transform:rotate(225deg)}
@media(max-width:700px){
  .city-page .city-faq-item summary{font-size:14px;gap:12px;padding:13px 0}
  .city-page .city-faq-question{font-size:14px}
  .city-page .city-faq-answer{padding:0 8px 14px 30px;font-size:13px}
}
/* Booking confirmation was still inheriting the old global iframe crop. */
.pages:has(.embedded-form--booking-confirmation) .embedded-form--booking-confirmation{overflow:visible!important}
.pages:has(.embedded-form--booking-confirmation) .embedded-form--booking-confirmation iframe{top:0!important;margin-bottom:0!important;transform:none!important}
@media(min-width:701px){
  .pages:has(.embedded-form--booking-confirmation) .embedded-form--booking-confirmation iframe{height:2350px!important}
}
@media(max-width:700px){
  .pages:has(.embedded-form--booking-confirmation) .embedded-form--booking-confirmation iframe{height:2750px!important}
}


/* v29 — remove duplicated dividers caused by the original Dawn section border
   and the new collapsed city-item dividers both appearing. */
.city-page .city-content .dawn-section:has(> .city-faq-item){
  border-bottom:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
}
.city-page .city-content .dawn-section > .city-faq-item:first-child{
  border-top:0!important;
}
/* Keep one divider between collapsed items, and none in addition to section heading. */
.city-page .city-content .dawn-section:has(> .city-faq-item) + h2{
  margin-top:28px;
}

/* Booking confirmation: the Powerful Form share page has its own oversized top
   padding. Crop only the empty upper portion of this iframe, not public forms.
   Leave the progress indicator and all fields visible. */
.pages:has(.embedded-form--booking-confirmation) .embedded-form--booking-confirmation{
  position:relative;
  overflow:hidden!important;
  margin-top:8px!important;
}
.pages:has(.embedded-form--booking-confirmation) .embedded-form--booking-confirmation iframe{
  position:relative!important;
  top:-240px!important;
  margin-bottom:-240px!important;
  height:2590px!important;
  transform:none!important;
}
@media(max-width:700px){
  .pages:has(.embedded-form--booking-confirmation) .embedded-form--booking-confirmation iframe{
    top:-170px!important;
    margin-bottom:-170px!important;
    height:2920px!important;
  }
}

/* v30 — booking confirmation only: further trim the blank top region of
   Powerful Form's share page. Preserve the progress indicator and first field.
   Keep the iframe's effective layout footprint unchanged to avoid cutting its
   multi-step form at the bottom. */
@media(min-width:701px){
  .pages:has(.embedded-form--booking-confirmation) .embedded-form--booking-confirmation iframe{
    top:-535px!important;
    margin-bottom:-535px!important;
    height:2885px!important;
  }
}
@media(max-width:700px){
  .pages:has(.embedded-form--booking-confirmation) .embedded-form--booking-confirmation iframe{
    top:-350px!important;
    margin-bottom:-350px!important;
    height:3100px!important;
  }
}

/* v31: booking confirmation only. The iframe was still occupying 2350px
   AFTER the top crop, leaving a very large blank area below the first
   step's Next button. Trim that reserved footprint by 650px on desktop,
   600px on mobile. Do not affect the other three forms. */
@media (min-width:701px){
  .pages:has(.embedded-form--booking-confirmation) .embedded-form--booking-confirmation iframe{
    height:2235px!important;
    top:-535px!important;
    margin-bottom:-535px!important;
  }
}
@media (max-width:700px){
  .pages:has(.embedded-form--booking-confirmation) .embedded-form--booking-confirmation iframe{
    height:2500px!important;
    top:-350px!important;
    margin-bottom:-350px!important;
  }
}


/* v32: booking confirmation ONLY. Correct the cumulative over-crop and
   excessive first-step frame footprint introduced by v30/v31.
   Cross-origin, multi-step Powerful Form cannot auto-size without provider
   resize events. Keep a safer crop, reserve a first-step-sized viewport and
   allow the provider iframe to scroll on later/longer steps instead of
   truncating user-input controls. */
.pages:has(.embedded-form--booking-confirmation) .embedded-form--booking-confirmation{
  margin-top:8px!important;
  overflow:hidden!important;
}
.pages:has(.embedded-form--booking-confirmation) .embedded-form--booking-confirmation iframe{
  position:relative!important;
  top:-300px!important;
  margin-bottom:-300px!important;
  height:1510px!important;
  min-height:0!important;
  transform:none!important;
}
@media(max-width:700px){
 .pages:has(.embedded-form--booking-confirmation) .embedded-form--booking-confirmation iframe{
   top:-225px!important;
   margin-bottom:-225px!important;
   height:1625px!important;
 }
}


/* v33 — Booking Confirmation safety fix.
   Cross-origin multi-step forms have variable heights; cropping the external
   page irreversibly hides input fields. Disable all previous top/bottom crop
   overrides for this page. A bounded, scrollable iframe makes every step,
   including Next and Submit, reachable without oversized empty outer space.
   Other embedded forms are unchanged. */
.pages:has(.embedded-form--booking-confirmation) .embedded-form--booking-confirmation {
  position: static!important;
  overflow: visible!important;
  margin-top: 12px!important;
}
.pages:has(.embedded-form--booking-confirmation) .embedded-form--booking-confirmation iframe {
  position: static!important;
  top: auto!important;
  margin: 0!important;
  transform: none!important;
  width: 100%!important;
  height: min(1100px, 80vh)!important;
  min-height: 640px!important;
  overflow: auto!important;
  border: 0!important;
}
@media (max-width:700px) {
  .pages:has(.embedded-form--booking-confirmation) .embedded-form--booking-confirmation iframe {
    height: 78vh!important;
    min-height: 560px!important;
  }
}


/* v34: keep Booking Confirmation consistent with Booking / Inquiry and Waiting List:
   single outer-page scroll, uncut form at the top, same width and spacing.
   External multi-step forms cannot automatically communicate their height; reserve
   adequate frame height without hiding fields. */
.pages:has(.embedded-form--booking-confirmation) .embedded-form--booking-confirmation{
  position:relative!important;overflow:visible!important;
  max-width:760px!important;width:100%!important;
  margin:12px auto 0!important;
}
.pages:has(.embedded-form--booking-confirmation) .embedded-form--booking-confirmation iframe{
  position:static!important;top:auto!important;bottom:auto!important;
  margin:0!important;transform:none!important;
  height:2100px!important;min-height:0!important;max-height:none!important;
  width:100%!important;overflow:hidden!important;border:0!important;
}
@media(max-width:700px){
  .pages:has(.embedded-form--booking-confirmation) .embedded-form--booking-confirmation iframe{height:2400px!important}
}

/* v35 — Booking Confirmation only: lightly reduce the extra whitespace at
   the top of Powerful Form's shared page. Preserve the existing bottom
   footprint and outer-page scrolling, and avoid the aggressive cropping
   that previously hid first-step inputs. */
@media(min-width:701px){
  .pages:has(.embedded-form--booking-confirmation) .embedded-form--booking-confirmation{
    overflow:hidden!important;
  }
  .pages:has(.embedded-form--booking-confirmation) .embedded-form--booking-confirmation iframe{
    position:relative!important;
    top:-140px!important;
    margin-bottom:-140px!important;
    height:2100px!important;
  }
}
@media(max-width:700px){
  .pages:has(.embedded-form--booking-confirmation) .embedded-form--booking-confirmation{
    overflow:hidden!important;
  }
  .pages:has(.embedded-form--booking-confirmation) .embedded-form--booking-confirmation iframe{
    position:relative!important;
    top:-90px!important;
    margin-bottom:-90px!important;
    height:2400px!important;
  }
}


/* v42: dedicated care manual layout; scoped so all other pages remain unchanged */
.pages.care-page{max-width:1100px}
.care-manual{max-width:1050px;margin:0 auto}
.care-manual>.care-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;border-top:1px solid #111;border-bottom:1px solid #ddd;padding:12px 2px;margin:0 0 26px}
.care-toolbar-label{font-size:12px;letter-spacing:.04em;text-transform:lowercase}
.care-toolbar-actions{display:flex;gap:9px;flex-wrap:wrap}
.care-toolbar-actions button{font:inherit;font-size:12px;background:#fff;color:#111;border:1px solid #bdbdbd;border-radius:0;cursor:pointer;padding:8px 12px}
.care-toolbar-actions button:hover,.care-toolbar-actions button:focus-visible{background:#111;color:#fff}
.care-manual>h2{font-size:clamp(17px,2vw,23px);font-weight:600;line-height:1.5;margin:34px 0 10px;padding:0 0 13px;border-bottom:1px solid #111}
.care-manual>.care-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:22px;row-gap:0;padding:0 0 22px;border-bottom:0}
.care-manual .care-grid>.care-item{align-self:start;min-width:0;border-bottom:1px solid #dedede;overflow-wrap:anywhere}
.care-manual .care-item>summary{list-style:none;display:flex;align-items:flex-start;gap:12px;cursor:pointer;padding:17px 3px;line-height:1.5;font-size:14px;font-weight:600}
.care-manual .care-item>summary::-webkit-details-marker{display:none}
.care-manual .care-item>summary::marker{content:''}
.care-manual .care-item-icon{flex:none;display:inline-flex;align-items:center;justify-content:center;margin-top:1px;width:23px;height:23px;border:1px solid #222;border-radius:50%;font-size:18px;font-weight:400;line-height:1}
.care-manual .care-item[open] .care-item-icon{font-size:0}
.care-manual .care-item[open] .care-item-icon::after{content:'−';font-size:18px}
.care-manual .care-item-title h3{font-size:14px;font-weight:600;line-height:1.55;margin:0}
.care-manual .care-item-body{font-size:13px;line-height:1.8;padding:0 10px 18px 38px}
.care-manual .care-item-body ul{padding-left:16px;margin:0}
.care-manual .care-item-body li{margin-bottom:9px}
.care-manual .care-item-body a{text-decoration:underline;text-underline-offset:2px}
.care-manual .care-grid>.dawn-block{min-width:0;padding:18px 4px 20px 0;font-size:13px}
@media(max-width:760px){
 .care-manual>.care-grid{grid-template-columns:1fr;gap:0}
 .care-manual>h2{margin-top:27px;font-size:18px}
 .care-manual .care-item>summary{padding:14px 0}
 .care-manual .care-item-body{padding-left:35px}
 .care-toolbar-label{font-size:11px}
}

/* v43: care manual ending, compact confirmation/review copy (About typography) */
.care-manual .care-item-body .care-review-link{display:inline-block;margin:14px 0 2px;padding:10px 16px;background:#111;color:#fff;border:1px solid #111;font-size:13px;font-weight:600;text-decoration:none;line-height:1.4}
.care-manual .care-item-body .care-review-link:hover,.care-manual .care-item-body .care-review-link:focus-visible{background:#fff;color:#111}
.care-manual .care-signoff{padding:22px 0 12px;border-top:1px solid #ddd}
.care-manual .care-signoff .dawn-block{max-width:100%;margin:0;line-height:1.7}
.care-manual .care-signoff p{margin:0 0 12px}
.pages:has(.embedded-form--booking-confirmation)>.dawn-section,.pages:has(.embedded-form--leave-a-review)>.dawn-section{padding:20px 0;border-bottom:1px solid #e7e7e7}
.pages:has(.embedded-form--booking-confirmation)>.dawn-section .dawn-block,.pages:has(.embedded-form--leave-a-review)>.dawn-section .dawn-block{margin:0;line-height:1.7}
.pages:has(.embedded-form--booking-confirmation)>.dawn-section p,.pages:has(.embedded-form--leave-a-review)>.dawn-section p{margin:0 0 12px}
.pages:has(.embedded-form--booking-confirmation)>.dawn-section p:last-child,.pages:has(.embedded-form--leave-a-review)>.dawn-section p:last-child{margin-bottom:0}

/* v44: matching About paragraph rhythm for booking confirmation only */
.pages.booking-confirmation-page>.dawn-section{padding:20px 0;border-bottom:1px solid #e7e7e7}
.pages.booking-confirmation-page>.dawn-section .dawn-block{margin:0;line-height:1.7}
.pages.booking-confirmation-page>.dawn-section .dawn-block p{margin:0 0 12px;line-height:1.7}
.pages.booking-confirmation-page>.dawn-section .dawn-block p:last-child{margin-bottom:0}

/* v45: booking confirmation uses an About-style continuous text block. */
.pages.booking-confirmation-page .dawn-block p.booking-confirmation-copy{margin:0!important;padding:0!important;line-height:1.65!important;}
.pages.booking-confirmation-page .dawn-block p.booking-confirmation-copy br{display:block;content:"";}

/* v49: Original Shopify pricing information, compact paragraphs in every language */
.pages .original-booking-copy{padding-top:15px;padding-bottom:18px;}
.pages .original-booking-copy .dawn-block{line-height:1.7;}
.pages .original-booking-copy p,.pages .original-booking-copy ul,.pages .original-booking-copy ol{margin:0 0 10px!important;padding-top:0;padding-bottom:0;}
.pages .original-booking-copy li{margin:0 0 5px!important;line-height:1.7;}
.pages .original-booking-copy p:last-child,.pages .original-booking-copy ul:last-child{margin-bottom:0!important;}
