/* ============================================================
   WELCOME FESTIVAL — event landing page (per-city)
   builds on styles.css design system
   ============================================================ */

/* page always shows the dark logo (light page) */
/* logo embedded so it can never show broken (even in live-edit overlay) */
.wf-page .nav-logo img{ content:url("data:image/png;base64,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"); height:42px; width:auto; }

.wf-page .nav-logo .logo-light{ display:none; }
.wf-page .nav-logo .logo-dark{ display:block; }

/* ---------- HERO ---------- */
.wf-hero{ position:relative; overflow:hidden; padding:54px 0 76px; }
.wf-hero .wrap{ position:relative; z-index:2; }
/* Per-city city photo as a darkened cinematic backdrop behind the festival hero,
   fading into the page colour at the bottom for a smooth transition between sections. */
.wf-hero-bg{ position:absolute; inset:0; z-index:0; background-color:#16110d; background-size:cover; background-position:center; background-repeat:no-repeat; }
.wf-hero-bg::after{ content:""; position:absolute; inset:0; background:
  linear-gradient(180deg, rgba(255,246,240,0) 82%, rgba(255,246,240,1) 100%),
  linear-gradient(180deg, rgba(14,10,8,.68) 0%, rgba(14,10,8,.62) 46%, rgba(14,10,8,.78) 100%); }
.wf-hero-photo{ background:#16110d; }
.wf-hero-photo h1{ color:#fff; }
.wf-hero-photo .lead{ color:rgba(255,255,255,.92); }
.wf-hero-photo .uni-hl{ color:#fff; }
.wf-hero-photo .wf-yr-line path{ stroke:#fff; }
.wf-hero-photo .btn-primary{ color:var(--ink); }
.wf-hero-photo .btn-ghost{ background:#fff; color:var(--ink); border-color:#fff; }
.wf-hero-photo .btn-ghost:hover{ background:rgba(255,255,255,.86); color:var(--ink); border-color:#fff; }
/* WF nav blends into the hero photo at the top (transparent), turns solid cream once scrolled */
body.wf-page .nav{ position:fixed; left:0; right:0; top:0; background:transparent; -webkit-backdrop-filter:none; backdrop-filter:none; border-bottom-color:transparent; }
body.wf-page .nav.scrolled{ background:rgba(255,246,240,.92); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); border-bottom-color:var(--line); }
/* on the dark hero (top, not scrolled) the nav goes white; on scroll it returns to the normal dark-on-cream */
body.wf-page .nav:not(.scrolled) .nav-links a{ color:#fff; }
body.wf-page .nav:not(.scrolled) .nav-socials a, body.wf-page .nav:not(.scrolled) .nav-burger{ color:#fff; }
body.wf-page .nav:not(.scrolled) .nav-logo img{ filter:brightness(0) invert(1); }
/* menu open: the solid cream panel sits behind the nav, so logo + X must go back to dark ink */
body.wf-page.nav-open .nav:not(.scrolled) .nav-logo img{ filter:none; }
body.wf-page.nav-open .nav:not(.scrolled) .nav-burger,
body.wf-page.nav-open .nav:not(.scrolled) .nav-socials a{ color:var(--ink); }
body.wf-page.nav-open .nav:not(.scrolled) .nav-links.open > a{ color:var(--ink); }
body.wf-page.nav-open .nav:not(.scrolled) .nav-links.open .nav-m-socials a{ color:#7a6a60; }
body.wf-page .wf-hero{ padding-top:100px; min-height:100vh; box-sizing:border-box; display:flex; flex-direction:column; justify-content:center; }
body.wf-page section[id]{ scroll-margin-top:84px; }
@media (max-width:680px){ body.wf-page .wf-hero{ padding-top:78px; } }
.wf-hero-grid{ display:grid; grid-template-columns:1fr .82fr; gap:40px; align-items:center; }
.wf-kicker{ display:inline-flex; align-items:center; gap:10px; white-space:nowrap; font-weight:800; font-size:14px; letter-spacing:.12em;
  text-transform:uppercase; color:var(--orange); background:#fff; border:2px solid var(--ink); border-radius:100px;
  padding:9px 18px; box-shadow:4px 4px 0 var(--ink); }
.wf-kicker .dot{ width:8px; height:8px; border-radius:50%; background:var(--orange); flex:none; animation:wfDotPulse 1.8s ease-out infinite; }
.wf-hero h1{ margin:22px 0 0; font-size:clamp(48px,7.4vw,104px); line-height:.9; }
.wf-hero h1 .yr{ display:block; color:var(--orange); -webkit-text-stroke:0; }
/* 2026: clean hand-drawn underline instead of the oval */
.wf-yr{ position:relative; display:inline-block; white-space:nowrap; }
.wf-yr-line{ position:absolute; left:0; bottom:-.1em; width:100%; height:.2em; overflow:visible; pointer-events:none; }
.wf-yr-line path{ fill:none; stroke:var(--ink); stroke-width:6; stroke-linecap:round; stroke-linejoin:round; }
.has-js .wf-yr-line path{ stroke-dasharray:520; stroke-dashoffset:520; transition:stroke-dashoffset 1s ease .2s; }
.has-js .wf-yr.draw .wf-yr-line path{ stroke-dashoffset:0; }
/* university tags in the lead get a soft grey marker highlight */
.uni-hl{ background:none; color:var(--ink); font-weight:800; padding:0; border-radius:0;
  box-decoration-break:clone; -webkit-box-decoration-break:clone; }
.scribble-ink svg path{ stroke:var(--ink) !important; stroke-width:3.6; }
.wf-hero .scribble{ margin-top:.06em; }
.wf-hero .lead{ margin:26px 0 0; font-size:clamp(18px,1.4vw,21px); }
.wf-hero-actions{ display:flex; flex-wrap:wrap; gap:14px; margin-top:34px; align-items:center; }
.wf-unis{ margin-top:30px; display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.wf-unis-label{ color:#6a5b53; font-weight:800; font-size:13px; letter-spacing:.04em; text-transform:uppercase; }
.u-logos{ display:flex; flex-wrap:wrap; gap:10px; }
.u-logo{ position:relative; width:88px; height:46px; border-radius:11px; background:#fff; border:1.5px solid var(--line);
  box-shadow:0 3px 0 rgba(40,20,10,.06); overflow:hidden; display:grid; place-items:center; }
.u-logo image-slot{ position:absolute; inset:0; width:100%; height:100%; display:block; z-index:2; }
.u-logo-name{ font-family:var(--font-display); font-weight:900; font-size:15px; color:var(--ink); letter-spacing:-.01em; z-index:1; }

/* poster */
.wf-poster-wrap{ position:relative; width:100%; max-width:468px; margin:0 auto; }
.wf-poster{ position:relative; z-index:2; border-radius:24px; overflow:hidden; border:3px solid var(--ink);
  box-shadow:12px 12px 0 var(--ink); aspect-ratio:1/1; background:linear-gradient(150deg,#FF4B29,#B72A12); }
.wf-poster image-slot, .wf-poster video-slot{ width:100%; height:100%; display:block; }
.wf-date-badge{ position:absolute; z-index:4; left:-22px; bottom:17%; background:var(--ink); color:#fff;
  border-radius:18px; padding:14px 20px; box-shadow:0 14px 30px rgba(40,20,10,.34); transform:rotate(-4deg); }
.wf-date-badge .d-day{ font-family:var(--font-display); font-weight:900; font-size:30px; line-height:1; }
.wf-date-badge .d-rest{ font-weight:800; font-size:15px; color:var(--orange); opacity:1; margin-top:4px; letter-spacing:.04em; }

/* partner strip */
.wf-partners{ background:var(--paper-2); border-top:2px solid var(--line); border-bottom:2px solid var(--line); padding:26px 0; }
.wf-partners .wrap{ display:flex; align-items:center; gap:30px; flex-wrap:wrap; justify-content:center; }
.wf-partners .pl-label{ font-weight:800; font-size:13px; letter-spacing:.12em; text-transform:uppercase; color:#8a7a70; }
.wf-partner-logos{ display:flex; align-items:center; gap:18px; flex-wrap:wrap; justify-content:center; }
.wf-partner{ width:118px; height:50px; border-radius:12px; background:#fff; border:1.5px solid var(--line); overflow:hidden; }
.wf-partner image-slot{ width:100%; height:100%; display:block; }

/* ---------- VIDEO / WHAT TO EXPECT ---------- */
.wf-expect-grid{ display:grid; grid-template-columns:.92fr 1.08fr; gap:48px; align-items:center; position:relative; z-index:2; }
.wf-expect-copy .eyebrow{ margin-bottom:18px; }
.wf-expect-copy h2{ margin-bottom:18px; }
.wf-feature-video{ position:relative; aspect-ratio:16/10; border-radius:24px; overflow:hidden; border:3px solid var(--ink);
  background:#000; box-shadow:10px 10px 0 var(--ink); }
.wf-feature-video video-slot{ width:100%; height:100%; display:block; }
.wf-video-row{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; margin:8px auto 0; max-width:920px; position:relative; z-index:2; }
.wf-vthumb{ aspect-ratio:9/16; border-radius:18px; overflow:hidden; border:2px solid var(--ink); background:#000; box-shadow:5px 5px 0 var(--ink); transition:transform .15s; }
.wf-vthumb:hover{ transform:translateY(-4px); }
.wf-vthumb video-slot{ width:100%; height:100%; display:block; }
.wf-expect-cta{ text-align:center; margin-top:40px; position:relative; z-index:2; }
.wf-note-videos{ top:-50px; left:14px; right:auto; color:var(--orange); transform:rotate(-7deg); display:flex; flex-direction:column; align-items:flex-start; }
.wf-note-videos svg{ margin-top:1px; margin-left:14px; }

/* ---------- PREPARATION PACKAGE (compact emoji cards) ---------- */
.wf-pkg-grid{ display:flex; flex-wrap:wrap; justify-content:center; align-items:stretch; gap:16px; position:relative; z-index:2; }
.wf-pkg-grid > .wf-pcard{ flex:1 1 0; min-width:168px; }
.wf-pcard{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:13px; background:#fff; border:2px solid var(--ink); border-radius:16px;
  padding:26px 16px 22px; box-shadow:4px 4px 0 var(--ink); transition:transform .16s, box-shadow .16s; }
.wf-pcard:hover{ transform:translate(-2px,-2px); box-shadow:7px 7px 0 var(--ink); }
.wf-pcard-ico{ flex:none; width:52px; height:52px; border-radius:13px; background:var(--paper-2); border:2px solid var(--ink);
  display:grid; place-items:center; font-size:26px; line-height:1; box-shadow:2px 2px 0 var(--ink); }
.wf-pcard-ico img{ width:30px; height:30px; object-fit:contain; }
.wf-pcard-body{ display:flex; flex-direction:column; gap:6px; align-items:center; }
.wf-pcard-body h3{ font-size:16.5px; line-height:1.15; }
.wf-pcard-body p{ margin:0; font-size:13px; line-height:1.45; color:#5a4d45; }
.wf-pkg-note{ text-align:center; margin:46px auto 0; max-width:60ch; font-weight:600; color:#5a4d45; position:relative; z-index:2; }

/* "all in one ticket" card */
.wf-pcard-cta{ background:var(--ink); border-color:var(--ink); color:#fff; flex-direction:column; align-items:stretch; gap:0; justify-content:center; padding:22px 24px; }
.wf-pcard-cta .wf-pcard-body{ gap:8px; align-items:flex-start; }
.wf-pcard-cta h3{ color:#fff; font-size:21px; line-height:1.08; }
.wf-pcard-cta p{ color:rgba(255,255,255,.78) !important; }
.wf-pcard-cta .btn{ width:100%; margin-top:6px; }

/* ---------- SEMESTER PASS COMPARE ---------- */
.wf-pass-grid{ display:grid; grid-template-columns:1fr 1fr; gap:26px; align-items:stretch; max-width:900px; margin:0 auto; position:relative; z-index:2; }
.wf-pass{ display:flex; flex-direction:column; border-radius:22px; overflow:hidden; }
.wf-pass-basic{ background:#fff; border:2px solid var(--ink); box-shadow:7px 7px 0 var(--ink); }
.wf-pass-best{ border:2.5px solid var(--orange); box-shadow:9px 9px 0 var(--orange); }

/* header zone (tag + title + subtitle) sits at the top of the card */
.wf-pass-head{ display:flex; flex-direction:column; justify-content:center; padding:22px 26px 18px; }
.wf-pass-head > *{ flex:0 0 auto; }
.wf-pass-basic .wf-pass-head{ background:var(--paper-2); border-bottom:2px solid var(--ink); }
.wf-pass-best .wf-pass-head{ background:var(--orange-soft); border-bottom:2.5px solid var(--orange); }
.wf-pass-tag{ display:inline-flex; align-items:center; gap:7px; align-self:flex-start; font-weight:800; font-size:12px;
  letter-spacing:.1em; text-transform:uppercase; padding:7px 14px; border-radius:100px; margin-bottom:14px; }
.wf-pass-basic .wf-pass-tag{ background:#fff; color:var(--orange); border:1.5px solid var(--line); }
.wf-pass-best .wf-pass-tag{ background:var(--orange); color:#fff; }
.wf-pass-head h3{ font-size:clamp(24px,2.4vw,31px); line-height:1.04; color:var(--ink); }
.wf-pass-head .wf-pass-sub{ margin:9px 0 0; font-size:14.5px; line-height:1.5; color:#5a4d45; max-width:42ch; }

/* body zone (included items + CTA) */
.wf-pass-box{ padding:22px 22px 22px 20px; display:flex; flex-direction:column; flex:1; }
.wf-pass-best .wf-pass-box{ color:#fff;
  background:radial-gradient(circle at 84% -10%, rgba(255,75,41,.24), transparent 55%), linear-gradient(165deg, #30251F 0%, #1B130F 72%); }

/* emoji-marker lists */
.wf-pass-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:13px; }
.wf-pass-list-emoji li{ display:flex; align-items:center; gap:13px; font-size:14.5px; line-height:1.4; font-weight:500; }
/* soft highlighted emoji badge — bigger + crisp (no haze) */
.wf-pass-list-emoji .em{ flex:none; width:44px; height:44px; display:grid; place-items:center; font-size:25px; line-height:1;
  border-radius:13px; background:#FFE0D2; }
/* semester pass: clean bright bubble so the emoji colour pops on dark, no glow haze */
.wf-pass-best .wf-pass-list-emoji .em{ background:#fff; box-shadow:inset 0 0 0 1.5px rgba(255,75,41,.35); }
.wf-pass-list-emoji .em .wf-em-ico{ width:1.85em; height:1.85em; object-fit:contain; display:block; margin:0 auto; }
.wf-pass-basic .wf-pass-list li{ color:#6a5d54; }
.wf-pass-best .wf-pass-list li{ color:rgba(255,255,255,.6); }

.wf-pass-foot{ margin-top:auto; padding-top:20px; display:flex; flex-direction:column; gap:10px; }
.wf-pass-foot .btn{ width:100%; }
.wf-pass-detail{ font-size:12.5px; font-weight:700; line-height:1.4; text-align:center; }
.wf-pass-basic .wf-pass-detail{ color:#9a8a80; }
.wf-pass-best .wf-pass-detail{ color:rgba(255,255,255,.55); }

.wf-pass-sublabel{ display:block; font-size:11.5px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--orange); margin:0 0 13px; }
.wf-pass-best .wf-pass-sublabel:not(:first-of-type){ margin-top:18px; padding-top:16px; border-top:1px solid rgba(255,255,255,.14); }
.wf-pass-list-compact{ display:grid; grid-template-columns:1fr 1fr; gap:13px 16px; }
.wf-pass-list-compact li{ display:flex; align-items:center; gap:10px; font-size:14px; color:rgba(255,255,255,.78); }
.wf-pass-list-compact li::before{ display:none; }
/* compact "plus everything" emojis: clean bubble, slightly bigger, no glow */
.wf-pass-list-compact .em{ width:33px; height:33px; border-radius:10px; font-size:18px; background:#fff; box-shadow:inset 0 0 0 1.5px rgba(255,75,41,.3); }

/* "See what's included" expander: hidden on desktop/tablet (full list shows);
   activated only on phones inside the <=680px media query. */
.wf-pass-toggle{ display:none; }

/* ---------- handwritten notes flanking the ticket cards ---------- */
.wf-note-pick{ left:6%; bottom:5%; top:auto; transform:rotate(-6deg); }
.wf-note-allin{ right:4%; top:13%; left:auto; transform:rotate(7deg); }
@media (max-width:1080px){
  .wf-pgdeco, .wf-note-pick, .wf-note-allin,
  #pass .deco, #expect .deco, #package .deco{ display:none; }
}

/* glow heartbeat on the Semester Pass CTA (no scale, stays same size) */
@keyframes wfPulse{
  0%   { box-shadow:0 4px 0 var(--orange-deep), 0 0 0 rgba(255,75,41,0); }
  12%  { box-shadow:0 5px 0 var(--orange-deep), 0 6px 24px rgba(255,75,41,.7); }
  24%  { box-shadow:0 4px 0 var(--orange-deep), 0 4px 12px rgba(255,75,41,.25); }
  36%  { box-shadow:0 5px 0 var(--orange-deep), 0 6px 20px rgba(255,75,41,.55); }
  50%,100%{ box-shadow:0 4px 0 var(--orange-deep), 0 0 0 rgba(255,75,41,0); }
}
.wf-pass-best .btn{ animation:wfPulse 1.8s ease-in-out infinite; }
.wf-pass-best .btn:hover{ animation-play-state:paused; }
@media (prefers-reduced-motion:reduce){ .wf-pass-best .btn{ animation:none; } }

/* key terms: crisp typographic emphasis (bold, no underline) */
.wf-hl{ font-weight:800; letter-spacing:-.01em; }
.wf-pass-basic .wf-hl{ color:var(--ink); }
.wf-pass-best .wf-hl{ color:#fff; }

/* FAQ question = single flex item so it doesn't break into pieces */
.wf-page .qa .q{ flex:1; text-align:left; }

/* ---------- THROWBACK GALLERY ---------- */
.wf-gallery .gcard{ background:var(--paper-2); }

/* ---------- reviews block (shared testimonials layout, reused here) ---------- */
.wf-page .vcard video-slot{ width:100%; height:100%; display:block; }
.wf-page .vbig-item{ position:relative; }
.wf-note-play{ top:-30px; right:-4px; left:auto; transform:rotate(7deg); }

/* ---------- Semester Pass: "most popular" corner ribbon ---------- */
.wf-pass{ position:relative; }
.wf-pass-ribbon{ position:absolute; top:20px; right:-58px; z-index:6; transform:rotate(40deg);
  background:var(--orange); color:#fff; font-weight:800; font-size:11.5px; letter-spacing:.12em; text-transform:uppercase;
  padding:8px 64px; text-align:center; box-shadow:0 6px 16px rgba(40,20,10,.3); }

/* ---------- responsive ---------- */
@media (max-width:980px){
  .wf-hero-grid{ grid-template-columns:1fr; gap:40px; }
  .wf-poster-wrap{ width:100%; max-width:360px; margin:0 auto; }
  .wf-expect-grid{ grid-template-columns:1fr; gap:32px; }
  .wf-feature-video{ order:-1; }
  .wf-pkg-grid > .wf-pcard{ flex-basis:calc(50% - 8px); }
  .wf-pass-grid{ grid-template-columns:1fr; }
  .wf-pass-head{ min-height:0; padding-bottom:14px; }
  .wf-video-row{ grid-template-columns:repeat(4,1fr); max-width:none; }
}
@media (max-width:680px){
  .wf-hero{ padding:30px 0 50px; }

  /* Ticket cards: collapse the long "what's included" list behind a tap so the
     cards stay short on phones. The toggle shows a quick emoji preview; tapping
     reveals the full list (JS sets the open height for a smooth slide). */
  .wf-pass-toggle{ display:flex; flex-direction:column; align-items:stretch; gap:11px;
    width:100%; margin:0; padding:4px 0 2px; border:0; background:none; cursor:pointer;
    font:inherit; color:inherit; -webkit-tap-highlight-color:transparent; }
  .wf-pass-toggle-emojis{ display:flex; align-items:center; justify-content:center; gap:11px; font-size:20px; line-height:1; }
  .wf-pass-toggle-emojis .wf-em-ico{ width:24px; height:24px; object-fit:contain; }
  .wf-pass-toggle-label{ display:inline-flex; align-items:center; justify-content:center; gap:8px; font-weight:800; font-size:14.5px; color:var(--orange);
    align-self:center; padding:10px 18px; border-radius:999px; border:1.5px solid rgba(255,75,41,.4); background:#fff;
    animation:wfHintPulse 1.9s ease-in-out infinite; }
  .wf-pass-best .wf-pass-toggle-label{ color:#fff; background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.45);
    animation-name:wfHintPulseLight; }
  .wf-pass.is-open .wf-pass-toggle-label{ animation:none; border-color:transparent; background:none; padding:6px 0 0; }
  @keyframes wfHintPulse{
    0%,100%{ transform:scale(1); box-shadow:0 0 0 0 rgba(255,75,41,.4); }
    55%{ transform:scale(1.045); box-shadow:0 0 0 9px rgba(255,75,41,0); }
  }
  @keyframes wfHintPulseLight{
    0%,100%{ transform:scale(1); box-shadow:0 0 0 0 rgba(255,255,255,.4); }
    55%{ transform:scale(1.045); box-shadow:0 0 0 9px rgba(255,255,255,0); }
  }
  .wf-pass-chev{ width:8px; height:8px; margin-top:-3px; border-right:2.5px solid currentColor; border-bottom:2.5px solid currentColor; border-radius:0 0 2px 0; transform:rotate(45deg); transition:transform .28s ease; }
  .wf-pass.is-open .wf-pass-chev{ transform:rotate(225deg); }
  .wf-pass-reveal{ max-height:0; overflow:hidden; transition:max-height .34s ease; }
  .wf-pass-reveal > :first-child{ margin-top:10px; }
  .wf-hero h1{ font-size:clamp(46px,13vw,78px); }
  .wf-hero-actions{ flex-direction:row; flex-wrap:nowrap; gap:10px; }
  .wf-hero-actions .btn{ flex:1 1 0; min-width:0; padding:13px 12px; font-size:14px; }
  .wf-page .section{ padding:62px 0; }
  .wf-pkg-grid{ gap:12px; }
  .wf-pkg-grid > .wf-pcard{ flex-basis:100%; }
  .wf-pcard{ flex-direction:row; align-items:center; text-align:left; padding:16px 16px; gap:14px; }
  .wf-pcard-body{ align-items:flex-start; }
  .wf-pcard-ico{ width:46px; height:46px; font-size:23px; }
  .wf-pcard-ico img{ width:26px; height:26px; }

  /* videos become a swipeable strip that bleeds to the screen edges */
  .wf-video-row{ display:flex; grid-template-columns:none; max-width:none; gap:14px;
    overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;
    padding:4px 28px 14px; margin-left:-28px; margin-right:-28px; scrollbar-width:none; }
  .wf-video-row::-webkit-scrollbar{ display:none; }
  .wf-vthumb{ flex:0 0 62%; max-width:230px; scroll-snap-align:center; }

  .wf-date-badge{ left:auto; right:12px; top:10px; bottom:auto; padding:9px 14px; border-radius:14px; }
  .wf-date-badge .d-day{ font-size:22px; }
  .wf-date-badge .d-rest{ font-size:12px; margin-top:2px; }
  .wf-partners .wrap{ gap:18px; }
  .wf-note-videos{ display:none; }
}
@media (max-width:560px){
  .wf-video-row{ padding-left:20px; padding-right:20px; margin-left:-20px; margin-right:-20px; }
}

/* ---------- ticket checkout modal (personalised) ---------- */
body.tt-open{ overflow:hidden; }
.tt-modal{ position:fixed; inset:0; z-index:3000; display:flex; align-items:center; justify-content:center; padding:24px; }
.tt-modal[hidden]{ display:none; }
.tt-backdrop{ position:absolute; inset:0; background:rgba(16,10,7,.62); backdrop-filter:blur(3px); animation:ttFade .2s ease; }
.tt-card{ position:relative; z-index:1; display:grid; grid-template-columns:minmax(300px,38%) 1fr;
  width:min(1040px,96vw); height:min(820px,92vh); background:#fff; border:2.5px solid var(--ink);
  border-radius:24px; overflow:hidden; box-shadow:12px 12px 0 var(--ink); animation:ttPop .24s cubic-bezier(.2,.9,.3,1.2); }
@keyframes ttFade{ from{opacity:0} to{opacity:1} }
@keyframes ttPop{ from{opacity:0; transform:translateY(16px) scale(.98)} to{opacity:1; transform:none} }
.tt-x{ position:absolute; top:14px; right:14px; z-index:5; width:40px; height:40px; display:grid; place-items:center;
  border:none; border-radius:50%; background:rgba(255,255,255,.92); color:var(--ink); cursor:pointer;
  box-shadow:0 2px 10px rgba(0,0,0,.2); transition:background .14s, transform .14s; }
.tt-x:hover{ background:#fff; transform:scale(1.05); }

.tt-side{ background:#0c3b25; background-image:radial-gradient(circle at 80% 8%, rgba(31,168,92,.5), transparent 55%);
  color:#fff; padding:38px 34px; overflow-y:auto; display:flex; flex-direction:column; }
.tt-eyebrow{ display:inline-flex; align-self:flex-start; width:auto; align-items:center; gap:9px; font-weight:800; font-size:12px; letter-spacing:.07em;
  text-transform:uppercase; color:var(--orange); background:#fff; border-radius:100px; padding:7px 14px; box-shadow:0 4px 14px rgba(0,0,0,.18); }
.tt-eyebrow .dot{ width:8px; height:8px; border-radius:50%; background:var(--orange); animation:wfDotPulse 1.8s ease-out infinite; }
.tt-side h3{ margin:16px 0 0; font-size:clamp(25px,3vw,33px); line-height:1.05; letter-spacing:-.01em; }
.tt-pick-label{ margin:22px 0 4px; font-size:12px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:#9fd8bb; }
.tt-pick{ margin:0; font-family:var(--font-display); font-weight:900; font-size:21px; color:var(--yellow,#FFD84D); line-height:1.1; }
.tt-perks{ list-style:none; margin:20px 0 0; padding:0; display:flex; flex-direction:column; gap:12px; max-height:640px; overflow:hidden; transition:max-height .32s ease, opacity .22s ease, margin .3s ease; }
.tt-side.tt-collapsed .tt-perks{ max-height:0; opacity:0; margin-top:0; }
.tt-perks li{ display:flex; align-items:flex-start; gap:12px; font-size:14.5px; line-height:1.4; color:#dbefe3; }
.tt-perks b{ color:#fff; font-weight:800; }
.tt-perk-ico{ flex:none; width:30px; height:30px; display:grid; place-items:center; font-size:17px; border-radius:9px; background:rgba(255,255,255,.1); }
.tt-wa{ width:26px; height:26px; display:block; }
.tt-reassure{ display:flex; flex-wrap:wrap; gap:8px; margin-top:auto; padding-top:24px; }
.tt-chip{ font-size:12.5px; font-weight:700; color:#eafff4; background:rgba(255,255,255,.12); padding:7px 12px; border-radius:100px; }
.tt-note{ margin:16px 0 0; font-size:12.5px; line-height:1.5; color:#9fd8bb; }

.tt-frame-catch{ display:none; }
.tt-frame-wrap{ position:relative; background:#fff; display:flex; flex-direction:column; }
.tt-frame-wrap iframe{ flex:1; width:100%; height:100%; border:0; display:block; }
.tt-loading{ position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px;
  background:#fff; color:#6a5d54; font-weight:700; font-size:15px; z-index:1; }
.tt-spin{ width:34px; height:34px; border-radius:50%; border:3px solid var(--line); border-top-color:var(--orange); animation:ttSpin .8s linear infinite; }
@keyframes ttSpin{ to{ transform:rotate(360deg); } }
.tt-fallback{ position:absolute; bottom:10px; left:50%; transform:translateX(-50%); z-index:2; white-space:nowrap;
  font-size:12.5px; font-weight:700; color:#8a7c72; text-decoration:none; background:rgba(255,255,255,.92); padding:6px 12px; border-radius:100px; }
.tt-fallback:hover{ color:var(--orange); }

@media (max-width:820px){
  .tt-modal{ padding:0; align-items:flex-start; }
  /* 100dvh = the *visible* viewport (excludes Chrome's bottom toolbar), so the
     checkout's Subtotal + Book button at the bottom of the iframe stays on-screen.
     100vh kept first as a fallback for older browsers. */
  .tt-card{ grid-template-columns:1fr; grid-template-rows:auto 1fr; width:100vw;
    height:100vh; height:100dvh; max-height:100vh; max-height:100dvh;
    border:0; border-radius:0; box-shadow:none; }
  .tt-frame-catch{ display:block; position:absolute; inset:0; z-index:4; }
  .tt-side{ padding:22px 22px 18px; transition:padding .3s ease; }
  .tt-side.tt-collapsed{ padding-bottom:14px; }
  .tt-side h3{ font-size:22px; }
  .tt-perks{ margin:14px 0 0; gap:9px; font-size:13.5px; }
  .tt-perk-ico{ width:28px; height:28px; }
  .tt-note{ display:none; }
  .tt-reassure{ margin-top:14px; padding-top:14px; }
}

.wf-pkg-cta{ text-align:center; margin-top:30px; }
.wf-pkg-cta p{ font-size:17px; line-height:1.5; font-weight:600; color:#5a4d45; max-width:48ch; margin:0 auto 16px; }

/* mobile: smaller kicker pill */
@media (max-width:680px){
  .wf-kicker{ font-size:12.5px; letter-spacing:.06em; padding:8px 15px; gap:8px; }
  .wf-kicker .dot{ width:7px; height:7px; }
}

@keyframes wfDotPulse{ 0%{ box-shadow:0 0 0 0 rgba(255,75,41,.55); } 70%{ box-shadow:0 0 0 7px rgba(255,75,41,0); } 100%{ box-shadow:0 0 0 0 rgba(255,75,41,0); } }
@media (prefers-reduced-motion:reduce){ .wf-kicker .dot{ animation:none; } }
