:root {
  --trip-ink: #18251f;
  --trip-muted: #657169;
  --trip-forest: #123d2a;
  --trip-deep: #08251a;
  --trip-leaf: #2f7751;
  --trip-gold: #efb548;
  --trip-gold-pale: #f9e8b7;
  --trip-red: #b84b34;
  --trip-cream: #fff8e9;
  --trip-paper: #f5eddf;
  --trip-line: rgba(24, 37, 31, .14);
}

.bbq-page { color: var(--trip-ink); background: #fffaf0; }
.bbq-page main { overflow: hidden; }
.bbq-page .inner-ribbon { background: #fffdf8; }
.bbq-page .inner-breadcrumb { font-size: .875rem; }
.bbq-page .inner-section-nav { grid-template-columns: repeat(7, minmax(0, 1fr)); }
.bbq-page .inner-section-nav a { min-height: 58px; display: grid; place-items: center; padding-inline: 8px; text-align: center; line-height: 1.3; white-space: nowrap; }
.bbq-page .inner-section-nav a[aria-current="page"] { color: #ffd477; }
.trip-alert { padding: 10px 18px; color: #fff3cc; background: var(--trip-deep); text-align: center; font-size: .9rem; font-weight: 800; letter-spacing: .035em; }

.trip-hero { position: relative; min-height: 680px; display: grid; background: var(--trip-deep); }
.trip-hero-media { position: absolute; inset: 0; overflow: hidden; }
.trip-hero-media::after { content: ""; position: absolute; z-index: 2; inset: 0 auto 0 0; width: 41%; background: linear-gradient(90deg, rgba(4,20,13,.9) 0%, rgba(5,26,17,.9) 67%, rgba(6,29,19,.55) 82%, rgba(6,29,19,.22) 93%, rgba(6,29,19,0) 100%); pointer-events: none; }
.trip-hero-slide { position: absolute; z-index: 0; inset: 0; margin: 0; opacity: 0; visibility: hidden; transition: opacity .8s ease, visibility .8s ease; }
.trip-hero-slide.is-active { z-index: 1; opacity: 1; visibility: visible; }
.trip-hero-slide picture { display: block; width: 100%; height: 100%; }
.trip-hero-slide img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; transform: scale(1.015); transition: transform 6.2s ease; }
.trip-hero-slide.is-active img { transform: scale(1.055); }
.trip-hero-slide figcaption { display: none; }
.trip-hero-inner { position: relative; z-index: 3; min-height: 680px; display: flex; align-items: center; }
.trip-hero-copy { width: min(680px, 58%); padding: 54px 0; color: #fff; }
.trip-kicker { display: flex; align-items: center; gap: 12px; margin: 0 0 14px; color: #ffd77e; font-size: .88rem; font-weight: 900; letter-spacing: .16em; }
.trip-kicker::before { content: ""; width: 40px; height: 2px; background: currentColor; }
.trip-hero h1 { margin: 0; color: #fff; font-size: clamp(3.2rem, 6vw, 6.7rem); line-height: .98; letter-spacing: .02em; text-wrap: balance; }
.trip-hero h1.headline-medium { font-size: clamp(2.8rem,5vw,5.5rem); }
.trip-hero h1.headline-long { font-size: clamp(2.35rem,4.25vw,4.8rem); }
.trip-headline-rotator { display: flex; min-height: 1.96em; flex-direction: column; justify-content: center; transition: opacity .52s ease, transform .52s ease; }
.trip-headline-rotator > span { display: block; color: #fff; line-height: .98; }
.trip-headline-rotator > span:last-child { color: #ffd071; }
.trip-headline-rotator.is-changing { opacity: 0; transform: translateY(10px); }
.trip-hero-lead { max-width: 610px; margin: 22px 0 0; color: rgba(255,255,255,.88); font-size: clamp(1rem, 1.5vw, 1.2rem); line-height: 1.75; font-weight: 650; }
.trip-hero-lead span { display: block; }
.trip-price-lockup { width: fit-content; display: flex; align-items: center; gap: 14px; margin-top: 24px; padding: 13px 18px; border: 1px solid rgba(255,215,126,.6); border-radius: 16px; background: rgba(4,22,14,.6); box-shadow: 0 18px 50px rgba(0,0,0,.22); backdrop-filter: blur(12px); }
.trip-price-lockup > span { color: rgba(255,255,255,.78); font-weight: 800; }
.trip-price-lockup strong { color: #fff; font-size: 2.45rem; line-height: 1; font-variant-numeric: tabular-nums; }
.trip-price-lockup strong small { font-size: .875rem; }
.trip-price-lockup em { padding: 7px 9px; border-radius: 999px; color: #203122; background: #ffd77e; font-size: .875rem; font-style: normal; font-weight: 900; }
.trip-hero-tags { display: flex; flex-wrap: wrap; gap: 8px 0; margin: 18px 0 0; padding: 0; list-style: none; color: rgba(255,255,255,.8); }
.trip-hero-tags li { padding: 0 13px; border-left: 1px solid rgba(255,208,113,.55); font-size: .875rem; font-weight: 750; }
.trip-hero-tags li:first-child { padding-left: 0; border-left: 0; }
.trip-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.trip-hero-actions .button { min-width: 165px; justify-content: center; }
.trip-button-ghost { color: #fff; border-color: var(--line-color); background: var(--line-color); box-shadow: 0 10px 24px rgba(6,199,85,.24); }
.trip-button-ghost:hover { color: #fff; border-color: #05b94f; background: #05b94f; box-shadow: 0 12px 28px rgba(6,199,85,.32); }
.trip-button-outline { color: #fff; border-color: rgba(255,255,255,.6); background: transparent; }
.trip-button-outline:hover { color: var(--trip-deep); background: #fff; }
.trip-hero-note { margin: 12px 0 0; color: rgba(255,255,255,.72); font-size: .875rem; line-height: 1.65; }
.trip-carousel-meta { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 12px; }
.trip-carousel-meta .trip-hero-note { margin: 0; max-width: 460px; color: rgba(255,255,255,.86); }
.trip-carousel-controls { display: flex; align-items: center; gap: 7px; flex: 0 0 auto; }
.trip-carousel-controls button { display: grid; width: 36px; height: 36px; place-items: center; padding: 0; border: 1px solid rgba(255,255,255,.42); border-radius: 50%; color: #fff; background: rgba(0,0,0,.18); font: 800 1rem/1 sans-serif; cursor: pointer; }
.trip-carousel-controls span { min-width: 60px; color: #ffe19a; font-size: .875rem; font-weight: 900; text-align: center; }

.trip-proof { position: relative; isolation: isolate; overflow: hidden; color: #fff; background: linear-gradient(110deg, #0a2d1f, #185038 53%, #0a2d1f); }
.trip-proof::before { content: ""; position: absolute; z-index: -1; inset: 0; background: url("../images/bbq-food-table-pattern.svg?v=20260920-2") center / 560px 315px repeat; opacity: .2; pointer-events: none; }
.trip-proof-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.trip-proof-grid > div { position: relative; min-height: 122px; display: flex; flex-direction: column; justify-content: center; padding: 20px 24px; border-right: 1px solid rgba(255,255,255,.15); background: linear-gradient(145deg, rgba(255,255,255,.045), rgba(0,0,0,.035)); }
.trip-proof-grid > div:nth-child(even) { background: linear-gradient(145deg, rgba(244,194,87,.055), rgba(0,0,0,.045)); }
.trip-proof-grid > div:last-child { border-right: 0; }
.trip-proof-grid small { color: #f5c968; font-size: .875rem; font-weight: 900; letter-spacing: .1em; }
.trip-proof-grid strong { margin-top: 5px; color: #fff; font-size: 1.12rem; }
.trip-proof-grid span { margin-top: 4px; color: rgba(255,255,255,.74); font-size: .875rem; font-weight: 650; line-height: 1.55; }

.trip-festival-bonus { padding: 34px 0; background: #f4ead9; }
.trip-festival-bonus-card { position: relative; isolation: isolate; overflow: hidden; display: grid; grid-template-columns: minmax(270px,.76fr) minmax(0,1.24fr) auto; align-items: center; gap: 25px; padding: 27px 30px; border: 1px solid rgba(255,211,111,.58); border-radius: 26px; color: #fff; background: linear-gradient(120deg, #7f3023, #ac5230 58%, #c87539); box-shadow: 0 20px 48px rgba(91,45,25,.18); }
.trip-festival-bonus-card::before { content: ""; position: absolute; z-index: -1; inset: 0; background: url("../images/bbq-food-table-pattern.svg?v=20260920-2") center / 520px 293px repeat; opacity: .14; pointer-events: none; }
.trip-festival-bonus-card::after { content: ""; position: absolute; z-index: -1; inset: 0; background: radial-gradient(circle at 89% 18%, rgba(255,225,145,.2), transparent 30%), radial-gradient(circle at 8% 88%, rgba(255,255,255,.1), transparent 28%); pointer-events: none; }
.trip-festival-icon { display: grid; width: 86px; height: 86px; place-items: center; border: 1px solid rgba(255,230,164,.45); border-radius: 24px; color: #ffdd82; background: rgba(0,0,0,.14); transform: rotate(-3deg); }
.trip-festival-icon svg { width: 50px; height: 50px; fill: none; stroke: currentColor; stroke-width: 2.3; stroke-linecap: round; stroke-linejoin: round; transform: rotate(3deg); }
.trip-festival-media { display: grid; grid-template-columns: 1.45fr .9fr; grid-template-rows: 1fr 1fr; gap: 6px; height: 190px; margin: 0; overflow: hidden; border: 1px solid rgba(255,234,182,.42); border-radius: 19px; background: rgba(0,0,0,.14); box-shadow: 0 13px 30px rgba(56,20,11,.2); }
.trip-festival-media img { width: 100%; height: 100%; display: block; object-fit: cover; }
.trip-festival-media .trip-festival-main-photo { grid-row: 1 / 3; }
.trip-festival-copy > p:first-child { margin: 0 0 5px; color: #ffdf8e; font-size: .875rem; font-weight: 900; letter-spacing: .08em; }
.trip-festival-copy h2 { margin: 0; color: #fff; font-size: clamp(1.65rem,3vw,2.7rem); line-height: 1.25; }
.trip-festival-copy > p:not(:first-child) { margin: 7px 0 3px; color: rgba(255,255,255,.9); line-height: 1.7; }
.trip-festival-copy small { display: block; color: rgba(255,255,255,.72); font-size: .875rem; line-height: 1.65; }
.trip-festival-button { color: #5e2c1f; background: #ffe09a; white-space: nowrap; }
.trip-festival-button:hover { color: #3b1a13; background: #fff1c9; }

.trip-section { padding: 82px 0; }
.trip-section-soft { position: relative; isolation: isolate; overflow: hidden; background: linear-gradient(135deg, #f3ead9, #fffaf0 54%, #efe2cb); }
.trip-section-soft::before { content: ""; position: absolute; z-index: -1; inset: 0; background: url("../images/bbq-food-table-pattern.svg?v=20260920-2") center / 660px 371px repeat; opacity: .18; pointer-events: none; }
.trip-section-paper { position: relative; isolation: isolate; overflow: hidden; background: linear-gradient(135deg,#d7e6df,#eef5f1 55%,#c9ddd3); }
.trip-section-paper::before { content: ""; position: absolute; z-index: -1; inset: 0; background: url("../images/bbq-food-table-pattern.svg?v=20260920-2") center / 650px 366px repeat; opacity: .12; pointer-events: none; }
.trip-section-paper .eyebrow, .trip-section-paper .trip-guide-grid small { color: #2f6b55; }
.trip-section-sage { position: relative; isolation: isolate; overflow: hidden; padding-block: 68px; background: linear-gradient(135deg,#e4efe7,#f3f7f1 56%,#dce9e0); }
.trip-section-sage::before { content: ""; position: absolute; z-index: -1; inset: 0; background: url("../images/bbq-food-table-pattern.svg?v=20260920-2") center / 650px 366px repeat; opacity: .16; pointer-events: none; }
.trip-section-warm { position: relative; isolation: isolate; overflow: hidden; padding-block: 68px; background: linear-gradient(135deg,#edd8c7,#f8e9d9 55%,#e9ceb9); }
.trip-section-warm::before { content: ""; position: absolute; z-index: -1; inset: 0; background: url("../images/bbq-food-table-pattern.svg?v=20260920-2") center / 650px 366px repeat; opacity: .14; pointer-events: none; }
.trip-section-sage .trip-section-head, .trip-section-warm .trip-section-head { margin-bottom: 29px; }
.trip-section-forest { position: relative; isolation: isolate; overflow: hidden; padding-block: 70px; color: #fff; background: linear-gradient(135deg,#09271b,#164934 54%,#082218); }
.trip-section-forest::before { content: ""; position: absolute; z-index: -1; inset: 0; background: url("../images/bbq-food-table-pattern.svg?v=20260920-2") center / 650px 366px repeat; opacity: .27; pointer-events: none; }
.trip-section-forest::after { content: ""; position: absolute; z-index: -1; inset: 0; background: radial-gradient(circle at 88% 16%,rgba(247,203,105,.11),transparent 30%),radial-gradient(circle at 9% 86%,rgba(255,255,255,.06),transparent 32%); pointer-events: none; }
.trip-section-forest .trip-section-head { margin-bottom: 29px; }
.trip-section-forest .trip-section-head .eyebrow { color: #f5c968; }
.trip-section-forest .trip-section-head > p { color: rgba(255,255,255,.76); }
.trip-section-dark { position: relative; isolation: isolate; overflow: hidden; color: #fff; background: linear-gradient(135deg, #0b281c 0%, #123a28 52%, #071f16 100%); }
.trip-section-dark::before { content: ""; position: absolute; z-index: -1; inset: 0; background: url("../images/bbq-food-table-pattern.svg?v=20260920-2") 50% 0 / 720px 405px repeat; opacity: .34; pointer-events: none; }
.trip-section-dark#booking::before { opacity: .23; }
.trip-section-dark::after { content: ""; position: absolute; z-index: -1; inset: 0; background: radial-gradient(circle at 18% 18%, rgba(255,255,255,.05), transparent 30%), radial-gradient(circle at 82% 75%, rgba(242,188,90,.08), transparent 34%); pointer-events: none; }
.trip-section-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 470px); align-items: end; gap: 42px; margin-bottom: 38px; }
.trip-section-head .eyebrow, .trip-booking-copy .eyebrow { margin: 0 0 12px; color: var(--trip-red); font-size: .875rem; font-weight: 900; letter-spacing: .13em; }
.trip-section-dark .trip-section-head .eyebrow, .trip-booking-copy .eyebrow { color: #f5c968; }
.trip-section-head h2 { margin: 0; color: inherit; font-size: clamp(2.2rem, 4vw, 4.2rem); line-height: 1.22; letter-spacing: .025em; }
.trip-section-head > p { margin: 0; color: var(--trip-muted); line-height: 1.9; }
.trip-section-dark .trip-section-head > p { color: rgba(255,255,255,.7); }
.trip-section-head--mascot { grid-template-columns: minmax(0,1fr) minmax(280px,390px) 190px; align-items: center; }
.trip-section-head--mascot h2 { font-size: clamp(2.2rem,3.4vw,3.7rem); }
.trip-experience-mascot { align-self: stretch; min-height: 245px; margin: 0; overflow: hidden; border: 1px solid rgba(118,92,54,.18); border-radius: 24px; background: #fff9ed; box-shadow: 0 13px 30px rgba(45,55,47,.07); }
.trip-experience-mascot img { display: block; width: 100%; height: 100%; object-fit: contain; }
#upgrade .trip-section-head { grid-template-columns: minmax(0, 850px); align-items: start; gap: 15px; }
#upgrade .trip-section-head > p { max-width: 720px; font-size: 1rem; }

.trip-master-section { position: relative; isolation: isolate; overflow: hidden; background: #fffaf0; }
.trip-master-section::before { content: ""; position: absolute; z-index: -1; inset: 0; background: url("../images/bbq-food-table-pattern.svg?v=20260920-2") center / 760px 428px repeat; opacity: .1; pointer-events: none; }
.trip-story-grid { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 11px; }
.trip-story-grid article { position: relative; isolation: isolate; overflow: hidden; min-height: 310px; padding: 21px 18px; border: 1px solid rgba(118,92,54,.18); border-radius: 22px; background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(246,231,201,.9)); box-shadow: 0 15px 34px rgba(45,55,47,.06); }
.trip-story-grid article::before { content: ""; position: absolute; z-index: -1; inset: 0; background: url("../images/bbq-food-table-pattern.svg?v=20260920-2") center / 390px 219px repeat; opacity: .07; pointer-events: none; }
.trip-story-icon { display: grid; width: 62px; height: 62px; place-items: center; margin-bottom: 19px; border: 1px solid rgba(184,75,52,.18); border-radius: 19px; color: var(--trip-red); background: linear-gradient(145deg,#fff2d5,#efc778); box-shadow: 0 10px 24px rgba(121,79,34,.12); }
.trip-story-icon svg { width: 36px; height: 36px; fill: none; stroke: currentColor; stroke-width: 2.25; stroke-linecap: round; stroke-linejoin: round; }
.trip-story-grid small { color: #8b6938; font-size: .875rem; font-weight: 900; letter-spacing: .075em; }
.trip-story-grid h3 { margin: 11px 0 9px; font-size: 1.16rem; line-height: 1.45; }
.trip-story-grid p { margin: 0; color: var(--trip-muted); font-size: 1rem; line-height: 1.72; }

.trip-food-layout { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(340px,.92fr); gap: 34px; align-items: stretch; }
.trip-food-image { position: relative; min-height: 500px; margin: 0; overflow: hidden; border-radius: 28px; box-shadow: 0 22px 52px rgba(55,42,24,.12); }
.trip-food-image img { width: 100%; height: 100%; display: block; object-fit: cover; }
.trip-food-image figcaption { position: absolute; left: 18px; bottom: 18px; max-width: calc(100% - 36px); padding: 10px 14px; border-radius: 12px; color: rgba(255,255,255,.94); background: rgba(8,29,20,.8); font-size: .875rem; font-weight: 750; line-height: 1.5; }
.trip-food-copy { display: flex; flex-direction: column; justify-content: center; padding: 25px 8px; }
.trip-food-copy .eyebrow { margin: 0 0 12px; color: var(--trip-red); font-size: .875rem; font-weight: 900; letter-spacing: .13em; }
.trip-food-copy h2 { margin: 0 0 18px; font-size: clamp(2.2rem,4vw,4.1rem); line-height: 1.22; }
.trip-food-copy > p { margin: 0; color: var(--trip-muted); font-size: 1rem; line-height: 1.85; }
.trip-food-list { display: grid; gap: 12px; margin: 27px 0 0; padding: 0; list-style: none; }
.trip-food-list li { padding: 17px 19px; border-left: 3px solid var(--trip-gold); color: #314038; background: rgba(255,255,255,.9); box-shadow: 0 10px 24px rgba(55,45,31,.045); font-size: 1rem; font-weight: 800; line-height: 1.55; }

.trip-grill-partner { position: relative; isolation: isolate; overflow: hidden; padding-block: 68px; background: linear-gradient(135deg,#edc18d,#fff0d7 52%,#e5a35e); }
.trip-grill-partner::before { content: ""; position: absolute; z-index: -1; inset: 0; background: url("../images/bbq-food-table-pattern.svg?v=20260920-2") center / 660px 371px repeat; opacity: .12; pointer-events: none; }
.trip-grill-partner-card { position: relative; isolation: isolate; overflow: hidden; display: grid; grid-template-columns: minmax(0,1.24fr) minmax(330px,.76fr); border: 1px solid rgba(255,220,143,.5); border-radius: 30px; color: #fff; background: linear-gradient(125deg,#762d17 0%,#a84a1f 58%,#672612 100%); box-shadow: 0 25px 65px rgba(92,43,18,.28); }
.trip-grill-partner-card::before { content: ""; position: absolute; z-index: -1; inset: 0; background: radial-gradient(circle at 8% 12%,rgba(255,220,133,.2),transparent 27%),url("../images/bbq-food-table-pattern.svg?v=20260920-2") center / 560px 315px repeat; opacity: .25; pointer-events: none; }
.trip-grill-partner-copy { padding: 50px 52px 48px; }
.trip-grill-partner-copy .eyebrow { margin: 0 0 10px; color: #f5c968; font-size: .875rem; font-weight: 900; letter-spacing: .13em; }
.trip-partner-label { display: inline-flex; margin: 0 0 20px; padding: 7px 11px; border: 1px solid rgba(255,217,124,.42); border-radius: 999px; color: #ffe09a; background: rgba(255,255,255,.07); font-size: .875rem; font-weight: 900; letter-spacing: .035em; }
.trip-grill-partner-copy h2 { margin: 0; color: #fff; font-size: clamp(2.2rem,4vw,4rem); line-height: 1.18; letter-spacing: .02em; }
.trip-grill-partner-copy > p:not(.eyebrow):not(.trip-partner-label) { max-width: 710px; margin: 20px 0 0; color: rgba(255,255,255,.8); font-size: 1rem; line-height: 1.85; }
.trip-partner-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 12px; margin-top: 27px; }
.trip-partner-actions .button { min-height: 48px; justify-content: center; }
.trip-partner-primary { color: #2b291e; border-color: #ffd778; background: linear-gradient(135deg,#ffe19a,#efb548); }
.trip-partner-primary:hover { color: #1e261f; border-color: #fff0bd; background: #fff0bd; }
.trip-partner-social { color: #fff; border-color: rgba(255,255,255,.4); background: transparent; }
.trip-partner-social:hover { color: var(--trip-deep); border-color: #fff; background: #fff; }
.trip-partner-booking-link { color: #ffe09a; font-size: .9375rem; font-weight: 900; text-decoration: underline; text-decoration-color: rgba(255,224,154,.5); text-underline-offset: 4px; }
.trip-partner-booking-link:hover { color: #fff; }
.trip-grill-partner-services { position: relative; display: flex; flex-direction: column; justify-content: center; padding: 42px 38px; border-left: 1px solid rgba(255,222,146,.24); background: linear-gradient(145deg,rgba(255,255,255,.105),rgba(0,0,0,.08)); }
.trip-grill-partner-icon { display: grid; width: 84px; height: 84px; place-items: center; margin-bottom: 19px; border: 1px solid rgba(255,222,146,.38); border-radius: 25px; color: #ffd978; background: rgba(0,0,0,.13); transform: rotate(-3deg); }
.trip-grill-partner-icon svg { width: 55px; height: 55px; fill: none; stroke: currentColor; stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; transform: rotate(3deg); }
.trip-grill-partner-services > p { margin: 0 0 19px; color: #ffdc8a; font-size: .875rem; font-weight: 900; letter-spacing: .1em; }
.trip-grill-partner-services ul { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.trip-grill-partner-services li { display: flex; align-items: center; gap: 13px; padding: 13px 15px; border: 1px solid rgba(255,255,255,.14); border-radius: 13px; background: rgba(255,255,255,.07); }
.trip-grill-partner-services li span { color: #f5c968; font: 900 .875rem/1 Georgia,serif; }
.trip-grill-partner-services li strong { color: #fff; font-size: 1rem; }
.trip-grill-partner-services small { display: block; margin-top: 19px; color: rgba(255,255,255,.66); font-size: .8125rem; line-height: 1.7; }

.trip-audience { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.trip-audience article { position: relative; isolation: isolate; overflow: hidden; padding: 30px; border: 1px solid rgba(87,69,45,.12); border-radius: 26px; background: linear-gradient(145deg,#fff,#f5e2bd); box-shadow: 0 17px 42px rgba(34,42,36,.07); }
.trip-section-forest .trip-audience article { border-color: rgba(255,220,143,.28); box-shadow: 0 20px 46px rgba(0,0,0,.18); }
.trip-section-forest .trip-audience h3 { color: #18382c; }
.trip-section-forest .trip-audience p { color: #66726c; }
.trip-audience article::before { content: ""; position: absolute; z-index: -1; inset: 0; background: url("../images/bbq-food-table-pattern.svg?v=20260920-2") center / 480px 270px repeat; opacity: .08; pointer-events: none; }
.trip-audience small { color: var(--trip-red); font-size: .875rem; font-weight: 900; letter-spacing: .09em; }
.trip-audience h3 { margin: 9px 0 12px; font-size: 1.72rem; line-height: 1.4; }
.trip-audience p { margin: 0; color: var(--trip-muted); font-size: 1rem; line-height: 1.82; }
.trip-audience blockquote { margin: 24px 0 0; padding: 18px 20px; border-left: 3px solid var(--trip-gold); color: #37473d; background: rgba(255,248,233,.9); font-size: 1rem; font-weight: 800; line-height: 1.7; }

.trip-timeline { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 0; padding: 0; list-style: none; counter-reset: none; }
.trip-timeline li { position: relative; isolation: isolate; overflow: hidden; min-height: 350px; padding: 27px 24px 30px; border: 1px solid rgba(239,181,72,.28); border-radius: 24px; color: #fff; background: radial-gradient(circle at 88% 9%, rgba(255,211,111,.19) 0 2px, transparent 3px), radial-gradient(circle at 80% 17%, rgba(255,211,111,.11) 0 4px, transparent 5px), repeating-linear-gradient(125deg, transparent 0 24px, rgba(255,255,255,.022) 24px 25px), linear-gradient(145deg, #174b35, #082e21 74%); box-shadow: 0 20px 46px rgba(11,45,32,.15); transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.trip-timeline li:nth-child(2) { background-color: #0c3929; background-image: radial-gradient(circle at 88% 9%, rgba(255,211,111,.19) 0 2px, transparent 3px), radial-gradient(circle at 80% 17%, rgba(255,211,111,.11) 0 4px, transparent 5px), repeating-linear-gradient(125deg, transparent 0 24px, rgba(255,255,255,.022) 24px 25px), linear-gradient(145deg, #0f3d2c, #06271c 74%); }
.trip-timeline li:nth-child(3) { background-color: #28523a; background-image: radial-gradient(circle at 88% 9%, rgba(255,211,111,.19) 0 2px, transparent 3px), radial-gradient(circle at 80% 17%, rgba(255,211,111,.11) 0 4px, transparent 5px), repeating-linear-gradient(125deg, transparent 0 24px, rgba(255,255,255,.022) 24px 25px), linear-gradient(145deg, #2c5d40, #123624 74%); }
.trip-timeline li:nth-child(4) { border-color: rgba(255,205,89,.58); background-color: #472d17; background-image: radial-gradient(circle at 88% 9%, rgba(255,224,146,.25) 0 2px, transparent 3px), radial-gradient(circle at 80% 17%, rgba(255,224,146,.14) 0 4px, transparent 5px), repeating-linear-gradient(125deg, transparent 0 24px, rgba(255,255,255,.025) 24px 25px), linear-gradient(145deg, #744724, #362513 78%); }
.trip-timeline li::before { content: ""; position: absolute; z-index: -1; inset: 0; background: url("../images/bbq-food-table-pattern.svg?v=20260920-2") center / 430px 242px repeat; opacity: .18; pointer-events: none; }
.trip-timeline li::after { content: ""; position: absolute; left: 24px; bottom: 0; width: 52px; height: 4px; border-radius: 6px 6px 0 0; background: linear-gradient(90deg, #ffd36f, #e99c33); }
.trip-timeline li:hover { transform: translateY(-5px); border-color: rgba(255,211,111,.65); box-shadow: 0 26px 55px rgba(11,45,32,.22); }
.trip-timeline-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 42px; }
.trip-timeline-number { display: grid; place-items: center; width: 52px; height: 52px; flex: 0 0 52px; border-radius: 50%; color: var(--trip-deep); background: linear-gradient(145deg, #ffd777, #efad36); box-shadow: 0 9px 22px rgba(0,0,0,.18); font-weight: 950; font-variant-numeric: tabular-nums; }
.trip-timeline-icon { display: grid; place-items: center; width: 72px; height: 72px; border: 1px solid rgba(255,218,132,.25); border-radius: 20px; color: #ffd978; background: rgba(255,255,255,.075); transform: rotate(3deg); }
.trip-timeline-icon svg { width: 39px; height: 39px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; transform: rotate(-3deg); }
.trip-timeline small { display: inline-flex; padding: 7px 10px; border: 1px solid rgba(255,219,137,.3); border-radius: 999px; color: #ffdf92; background: rgba(255,255,255,.09); font-size: .875rem; font-weight: 900; line-height: 1.35; letter-spacing: .06em; }
.trip-timeline h3 { margin: 11px 0 11px; color: #fff; font-size: 1.35rem; line-height: 1.4; }
.trip-timeline p { margin: 0; color: rgba(255,255,255,.82); font-size: 1rem; line-height: 1.78; }

.trip-plan-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.trip-plan { overflow: hidden; border: 1px solid rgba(255,255,255,.15); border-radius: 28px; background: rgba(255,255,255,.06); box-shadow: 0 25px 70px rgba(0,0,0,.15); }
.trip-plan.is-featured { border-color: rgba(239,181,72,.72); background: linear-gradient(145deg, rgba(239,181,72,.16), rgba(255,255,255,.055)); }
.trip-plan-photo { position: relative; height: 245px; overflow: hidden; }
.trip-plan-photo::after { content: ""; position: absolute; inset: 45% 0 0; background: linear-gradient(transparent, rgba(5,22,15,.88)); }
.trip-plan-photo img { width: 100%; height: 100%; display: block; object-fit: cover; }
.trip-plan-photo span { position: absolute; z-index: 1; right: 18px; top: 18px; padding: 8px 12px; border-radius: 999px; color: #203122; background: #ffd77e; font-size: .875rem; font-weight: 900; }
.trip-plan-body { position: relative; padding: 28px; }
.trip-plan-code { margin: 0; color: #f5c968; font-size: .875rem; font-weight: 900; letter-spacing: .09em; }
.trip-plan h3 { margin: 8px 0 3px; color: #fff; font-size: clamp(1.55rem, 2.4vw, 2.25rem); }
.trip-plan-choice { margin: 0; color: rgba(255,255,255,.76); font-size: .9375rem; line-height: 1.55; }
.trip-plan-price { display: flex; align-items: baseline; gap: 5px; margin-top: 23px; }
.trip-plan-price strong { color: #fff; font-size: clamp(2.7rem, 5vw, 4.4rem); line-height: 1; }
.trip-plan-price span { color: rgba(255,255,255,.68); font-weight: 800; }
.trip-plan-math { margin: 15px 0 0; padding: 14px 16px; border-left: 3px solid var(--trip-gold); color: rgba(255,255,255,.78); background: rgba(0,0,0,.15); font-size: .9375rem; line-height: 1.75; }
.trip-plan-math b { color: #ffd77e; }
.trip-plan ul { display: grid; gap: 11px; margin: 22px 0 0; padding: 0; list-style: none; color: rgba(255,255,255,.86); font-size: 1rem; line-height: 1.6; }
.trip-plan li::before { content: "✓"; margin-right: 9px; color: #f5c968; font-weight: 900; }
.trip-plan .button { width: 100%; justify-content: center; margin-top: 26px; }
.trip-tax-note { margin-top: 24px; padding: 19px 22px; border: 1px solid rgba(255,255,255,.18); border-radius: 16px; color: rgba(255,255,255,.82); background: rgba(0,0,0,.15); font-size: .9375rem; line-height: 1.75; }
.trip-tax-note strong { color: #ffd77e; }

.trip-flash-section { position: relative; overflow: hidden; }
.trip-flash-section::before { content: ""; position: absolute; inset: 0; opacity: .2; pointer-events: none; background: url("../images/bbq-food-table-pattern.svg?v=20260920-2") center / 420px 237px repeat; }
.trip-flash-section > .container { position: relative; }
.trip-flash-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.trip-flash-card { overflow: hidden; display: flex; flex-direction: column; border: 1px solid var(--trip-line); border-radius: 26px; background: rgba(255,255,255,.94); box-shadow: 0 20px 55px rgba(35,44,38,.1); }
.trip-flash-photo { position: relative; height: 220px; overflow: hidden; }
.trip-flash-photo::after { content: ""; position: absolute; inset: 48% 0 0; background: linear-gradient(transparent,rgba(4,35,24,.78)); }
.trip-flash-photo img { width: 100%; height: 100%; display: block; object-fit: cover; }
.trip-flash-photo span { position: absolute; z-index: 1; top: 16px; right: 16px; padding: 7px 11px; border-radius: 999px; color: #123528; background: #ffd77e; font-size: .875rem; font-weight: 900; }
.trip-flash-body { display: flex; flex: 1; flex-direction: column; padding: 24px; }
.trip-flash-body > p { margin: 0; color: var(--trip-red); font-size: 1.35rem; font-weight: 900; line-height: 1.45; }
.trip-flash-body > div { display: flex; align-items: baseline; gap: 5px; margin: 17px 0 8px; }
.trip-flash-body strong { color: var(--trip-ink); font-size: clamp(2.25rem,3.5vw,3.25rem); line-height: 1; }
.trip-flash-body > div span { color: var(--trip-muted); font-size: 1rem; font-weight: 700; }
.trip-flash-body ul { flex: 1; margin: 17px 0 0; padding: 18px 0 0 1.25rem; border-top: 1px solid var(--trip-line); color: var(--trip-muted); font-size: .95rem; line-height: 1.75; }
.trip-flash-body .button { width: 100%; justify-content: center; margin-top: 22px; }
.trip-flash-note { margin-top: 20px; padding: 18px 21px; border-left: 4px solid var(--trip-gold); border-radius: 0 16px 16px 0; color: var(--trip-muted); background: rgba(255,255,255,.82); font-size: .95rem; line-height: 1.75; }
.trip-flash-note strong { color: var(--trip-ink); }
.trip-options-note { flex-basis: 100%; margin: 0 0 10px; color: var(--trip-muted); font-size: .875rem; line-height: 1.6; }
.trip-options.is-flash-plan input:disabled + span { opacity: .48; }

.trip-upgrade-grid { display: grid; grid-template-columns: 1fr 1fr .72fr; gap: 16px; }
.trip-upgrade-grid article { overflow: hidden; border: 1px solid var(--trip-line); border-radius: 24px; background: #fff; box-shadow: 0 18px 50px rgba(35,44,38,.08); }
.trip-upgrade-grid article img { width: 100%; height: 230px; display: block; object-fit: cover; }
.trip-upgrade-grid article div { padding: 22px; }
.trip-upgrade-grid small { color: var(--trip-red); font-size: .875rem; font-weight: 900; letter-spacing: .1em; }
.trip-upgrade-grid h3 { margin: 6px 0 8px; font-size: 1.6rem; }
.trip-upgrade-grid p { margin: 0; color: var(--trip-muted); line-height: 1.7; }
.trip-upgrade-grid aside { position: relative; isolation: isolate; overflow: hidden; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 11px; padding: 26px; border-radius: 24px; color: #fff; background: rgba(7,47,34,.9); text-align: center; }
.trip-upgrade-grid aside::before { content: ""; position: absolute; z-index: -1; inset: 0; background: url("../images/bbq-food-table-pattern.svg?v=20260920-2") center / 360px 203px repeat; opacity: .2; pointer-events: none; }
.trip-upgrade-grid aside::after { content: ""; position: absolute; z-index: -1; inset: 0; background: radial-gradient(circle at 86% 12%, rgba(245,201,104,.18), transparent 29%), radial-gradient(circle at 12% 88%, rgba(255,255,255,.08), transparent 32%); pointer-events: none; }
.trip-upgrade-grid aside > span { color: #f5c968; font-size: .875rem; font-weight: 900; letter-spacing: .08em; }
.trip-upgrade-grid aside strong { display: grid; justify-items: center; gap: 5px; width: 100%; padding: 16px 0; border-bottom: 1px solid rgba(255,255,255,.16); font-size: 1.72rem; line-height: 1.15; }
.trip-upgrade-grid aside b { display: block; color: rgba(255,255,255,.72); font-size: .875rem; }
.trip-upgrade-grid aside p { color: rgba(255,255,255,.75); font-size: .875rem; line-height: 1.65; text-align: center; }

.trip-care-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.trip-care-grid-master { grid-template-columns: repeat(4,1fr); gap: 11px; }
.trip-care-grid-master article { min-height: 300px; padding: 21px 20px 23px; border-radius: 22px; }
.trip-care-grid-master .trip-care-top { align-items: flex-start; }
.trip-care-grid-master i { width: 50px; height: 50px; flex-basis: 50px; border-radius: 16px; }
.trip-care-grid-master svg { width: 29px; height: 29px; }
.trip-care-grid-master h3 { font-size: 1.28rem; }
.trip-care-grid article { position: relative; isolation: isolate; overflow: hidden; min-height: 250px; padding: 27px 29px 30px; border: 1px solid rgba(173,145,91,.3); border-radius: 26px; background: linear-gradient(145deg, rgba(255,253,247,.98), rgba(246,233,207,.9)); box-shadow: 0 18px 48px rgba(52,45,31,.08); }
.trip-care-grid article::before { content: ""; position: absolute; z-index: -1; inset: 0; background: url("../images/bbq-food-table-pattern.svg?v=20260920-2") center / 410px 231px repeat; opacity: .075; pointer-events: none; }
.trip-care-grid article::after { content: attr(data-card); position: absolute; z-index: -1; right: 20px; bottom: -20px; color: rgba(151,91,52,.075); font: 900 7rem/1 Georgia, serif; letter-spacing: -.08em; }
.trip-care-grid article:nth-child(2), .trip-care-grid article:nth-child(3) { border-color: rgba(67,118,88,.28); background: linear-gradient(145deg, rgba(246,252,247,.98), rgba(219,235,223,.82)); }
.trip-care-top { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.trip-care-grid span { display: inline-flex; padding: 7px 11px; border: 1px solid rgba(198,113,67,.2); border-radius: 999px; color: #8b452f; background: #ffe8ad; font-size: .875rem; font-weight: 900; }
.trip-care-grid i { display: grid; width: 56px; height: 56px; flex: 0 0 56px; place-items: center; border: 1px solid rgba(151,91,52,.18); border-radius: 18px; color: #9a5437; background: rgba(255,255,255,.62); box-shadow: 0 9px 22px rgba(80,58,28,.08); transform: rotate(3deg); }
.trip-care-grid article:nth-child(2) i, .trip-care-grid article:nth-child(3) i { color: #286345; border-color: rgba(40,99,69,.18); }
.trip-care-grid svg { width: 31px; height: 31px; fill: none; stroke: currentColor; stroke-width: 2.25; stroke-linecap: round; stroke-linejoin: round; transform: rotate(-3deg); }
.trip-care-grid h3 { margin: 18px 0 10px; padding-top: 15px; border-top: 1px solid rgba(112,89,51,.14); font-size: 1.58rem; }
.trip-care-grid p { max-width: 88%; margin: 0; color: var(--trip-muted); line-height: 1.8; }

.trip-guide-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 13px; }
.trip-guide-grid article { min-height: 250px; padding: 25px; border: 1px solid rgba(72,62,46,.12); border-radius: 22px; background: rgba(255,255,255,.8); box-shadow: 0 14px 35px rgba(49,45,36,.045); }
.trip-guide-grid small { color: var(--trip-red); font-size: .875rem; font-weight: 900; letter-spacing: .08em; }
.trip-guide-grid h3 { margin: 9px 0 10px; font-size: 1.28rem; }
.trip-guide-grid p { margin: 0; color: var(--trip-muted); line-height: 1.75; }
.trip-guide-grid a { display: inline-block; margin-top: 16px; color: var(--trip-leaf); font-weight: 900; }
.trip-night-note { position: relative; isolation: isolate; overflow: hidden; display: flex; align-items: center; gap: 16px; margin-top: 18px; padding: 20px 22px; border-radius: 16px; color: #fff; background: linear-gradient(100deg, #9e3d2c, #c66f37); }
.trip-night-note::before { content: ""; position: absolute; z-index: -1; inset: 0; background: url("../images/bbq-food-table-pattern.svg?v=20260920-2") center / 430px 242px repeat; opacity: .16; pointer-events: none; }
.trip-night-note strong { font-size: 1.12rem; }
.trip-night-note span { flex: 1; color: rgba(255,255,255,.8); }
.trip-night-note a { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 9px 16px; border-radius: 999px; color: #fff; background: var(--line-color); box-shadow: 0 10px 24px rgba(6,199,85,.24); font-weight: 900; text-decoration: none; }
.trip-night-note a:hover { color: #fff; background: #05b94f; }

.trip-booking-layout { display: grid; grid-template-columns: minmax(290px,.72fr) minmax(0,1.28fr); gap: 42px; }
.trip-booking-copy { position: sticky; top: 120px; align-self: start; }
.trip-booking-copy h2 { margin: 0; color: #fff; font-size: clamp(2.25rem, 4vw, 4rem); line-height: 1.24; }
.trip-booking-copy > p { color: rgba(255,255,255,.7); line-height: 1.85; }
.trip-booking-copy ul { display: grid; gap: 12px; margin: 27px 0 0; padding: 0; list-style: none; color: rgba(255,255,255,.8); }
.trip-booking-copy li { padding-left: 23px; position: relative; line-height: 1.65; }
.trip-booking-copy li::before { content: "✓"; position: absolute; left: 0; color: #f5c968; font-weight: 900; }
.trip-booking-steps { display: grid; gap: 10px; margin: 26px 0 0; padding: 0 !important; list-style: none; counter-reset: none; }
.trip-booking-steps li { display: grid; grid-template-columns: 38px 1fr; align-items: center; gap: 11px; padding: 0 !important; color: #fff; font-weight: 800; }
.trip-booking-steps li::before { display: none; }
.trip-booking-steps b { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid rgba(255,215,126,.44); border-radius: 50%; color: #ffd77e; background: rgba(255,255,255,.06); }
.trip-form { padding: 30px; border-radius: 25px; color: var(--trip-ink); background: linear-gradient(145deg, #fffef9, #f7ead3); box-shadow: 0 26px 70px rgba(0,0,0,.2); }
.trip-form-head { display: flex; justify-content: space-between; gap: 20px; align-items: start; margin-bottom: 24px; }
.trip-form-head h3 { margin: 0; font-size: 1.5rem; }
.trip-form-head span { color: #934a36; font-size: .875rem; font-weight: 800; }
.trip-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 17px; }
.trip-form-grid > label { display: grid; gap: 8px; }
.trip-form-grid label > span, .trip-options legend { color: #34433a; font-size: .875rem; font-weight: 850; }
.trip-form input, .trip-form select, .trip-form textarea { width: 100%; min-height: 49px; padding: 11px 13px; border: 1px solid #c9c3b7; border-radius: 10px; color: var(--trip-ink); background: #fff; font: inherit; }
.trip-form textarea { resize: vertical; }
.trip-field-wide, .trip-options { grid-column: 1 / -1; }
.trip-options { margin: 0; padding: 0; border: 0; }
.trip-options > div { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 9px; }
.trip-period-options > div { grid-template-columns: repeat(2, 1fr); }
.trip-options label { cursor: pointer; }
.trip-options input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.trip-options label span { display: block; padding: 12px 8px; border: 1px solid #cec6b8; border-radius: 10px; background: #fff; text-align: center; font-size: .875rem; font-weight: 800; }
.trip-period-options label span { min-height: 74px; display: grid; place-content: center; gap: 3px; line-height: 1.45; }
.trip-period-options label span b { display: block; color: var(--trip-deep); font-size: 1rem; }
.trip-options input:checked + span { border-color: var(--trip-gold); color: var(--trip-deep); background: #f8e9c6; box-shadow: inset 0 0 0 1px var(--trip-gold); }
.trip-estimate { display: grid; grid-template-columns: minmax(210px,.7fr) 1fr; gap: 20px; align-items: center; margin: 24px 0 18px; padding: 20px; border-radius: 16px; background: #e4eee7; }
.trip-estimate small, .trip-estimate strong, .trip-estimate span { display: block; }
.trip-estimate small { color: var(--trip-muted); font-weight: 800; }
.trip-estimate strong { margin: 3px 0; color: var(--trip-deep); font-size: 1.75rem; }
.trip-estimate small { font-size: .875rem; }
.trip-estimate span { color: var(--trip-leaf); font-size: .875rem; font-weight: 800; }
.trip-estimate p { margin: 0; color: var(--trip-muted); font-size: .875rem; line-height: 1.65; }
.trip-consent { display: flex; gap: 9px; color: var(--trip-muted); font-size: .875rem; line-height: 1.6; }
.trip-consent input { width: auto; min-height: 0; margin-top: 3px; }
.trip-form-actions { display: flex; align-items: center; gap: 15px; margin-top: 20px; }
.trip-form-actions .button { border: 0; }
.trip-form-actions span { color: #795d4e; font-size: .875rem; font-weight: 800; }
.trip-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

.trip-faq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 13px; }
.trip-faq-grid details { border: 1px solid var(--trip-line); border-radius: 15px; background: rgba(255,255,255,.82); }
.trip-faq-grid summary { position: relative; padding: 18px 50px 18px 19px; cursor: pointer; list-style: none; font-weight: 850; }
.trip-faq-grid summary::-webkit-details-marker { display: none; }
.trip-faq-grid summary::after { content: "+"; position: absolute; right: 19px; top: 50%; color: var(--trip-red); font-size: 1.4rem; transform: translateY(-50%); }
.trip-faq-grid details[open] summary::after { content: "−"; }
.trip-faq-grid p { margin: 0; padding: 0 19px 19px; color: var(--trip-muted); line-height: 1.78; }

.trip-notice-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.trip-notice-grid article { position: relative; isolation: isolate; overflow: hidden; min-height: 185px; padding: 21px 23px; border: 1px solid rgba(132,76,50,.2); border-radius: 20px; background: linear-gradient(145deg,rgba(255,253,248,.98),rgba(255,239,218,.94)); box-shadow: 0 14px 34px rgba(71,43,28,.07); }
.trip-notice-grid article::before { content: ""; position: absolute; z-index: -1; inset: 0; background: url("../images/bbq-food-table-pattern.svg?v=20260920-2") center / 390px 219px repeat; opacity: .07; pointer-events: none; }
.trip-notice-grid h3 { margin: 0 0 9px; font-size: 1.22rem; line-height: 1.45; }
.trip-notice-grid p { margin: 0; color: var(--trip-muted); font-size: 1rem; line-height: 1.75; }
.trip-policy-note { margin: 25px 0 0; padding: 19px 22px; border-left: 4px solid var(--trip-red); color: #664f43; background: #fff0dc; font-size: 1rem; font-weight: 800; line-height: 1.75; }

.trip-final { position: relative; isolation: isolate; overflow: hidden; padding: 58px 0; color: #fff; background: linear-gradient(110deg, #9f3d2b, #cf7939); }
.trip-final::before { content: ""; position: absolute; z-index: -1; inset: 0; background: url("../images/bbq-food-table-pattern.svg?v=20260920-2") center / 560px 315px repeat; opacity: .19; pointer-events: none; }
.trip-final::after { content: ""; position: absolute; z-index: -1; inset: 0; background: radial-gradient(circle at 88% 15%,rgba(255,226,152,.2),transparent 31%),radial-gradient(circle at 8% 90%,rgba(83,24,19,.15),transparent 34%); pointer-events: none; }
.trip-final-row { display: flex; justify-content: space-between; align-items: center; gap: 35px; }
.trip-final-row p { margin: 0 0 5px; color: #ffe19a; font-size: .875rem; font-weight: 900; letter-spacing: .08em; }
.trip-final h2 { margin: 0; color: #fff; font-size: clamp(2rem, 3.5vw, 3.5rem); line-height: 1.26; }
.trip-final h2 span { display: block; }
.trip-final-row > div:last-child { display: flex; gap: 10px; flex-shrink: 0; }
.trip-final .button { min-width: 150px; justify-content: center; }

@media (max-width: 1040px) {
  .bbq-page .inner-section-nav { grid-template-columns: repeat(7, minmax(96px, 1fr)); }
  .trip-hero-copy { width: min(650px, 67%); }
  .trip-section-head { grid-template-columns: 1fr; gap: 18px; }
  .trip-section-head--mascot { grid-template-columns: minmax(0,1fr) 180px; }
  .trip-section-head--mascot > p { grid-column: 1; }
  .trip-experience-mascot { grid-column: 2; grid-row: 1 / span 2; min-height: 230px; }
  .trip-timeline { grid-template-columns: 1fr 1fr; gap: 12px; }
  .trip-story-grid { grid-template-columns: repeat(2,1fr); }
  .trip-story-grid article:first-child { grid-column: 1 / -1; }
  .trip-food-layout { grid-template-columns: 1fr; }
  .trip-grill-partner-card { grid-template-columns: 1fr; }
  .trip-grill-partner-services { border-top: 1px solid rgba(255,222,146,.24); border-left: 0; }
  .trip-care-grid-master { grid-template-columns: repeat(2,1fr); }
  .trip-notice-grid { grid-template-columns: repeat(2,1fr); }
  .trip-timeline li { min-height: 290px; border-radius: 20px; }
  .trip-upgrade-grid { grid-template-columns: 1fr 1fr; }
  .trip-upgrade-grid aside { grid-column: 1 / -1; }
  .trip-flash-grid { grid-template-columns: 1fr 1fr; }
  .trip-flash-card:last-child { grid-column: 1 / -1; }
  .trip-guide-grid { grid-template-columns: 1fr 1fr; }
  .trip-booking-layout { grid-template-columns: 1fr; }
  .trip-booking-copy { position: static; }
  .trip-festival-bonus-card { grid-template-columns: 240px minmax(0,1fr); }
  .trip-festival-button { grid-column: 2; width: max-content; }
}

@media (max-width: 760px) {
  .bbq-page .inner-breadcrumb,
  .bbq-page .inner-ribbon { display: none; }
  .trip-alert { padding: 9px 12px; font-size: .875rem; line-height: 1.45; }
  .trip-hero, .trip-hero-inner { min-height: 700px; }
  .trip-hero-media::after { inset: 0; width: auto; background: linear-gradient(0deg, rgba(3,18,11,.9) 0%, rgba(4,23,14,.78) 52%, rgba(4,23,14,.17) 100%); }
  .trip-hero-media img { object-position: center 30%; }
  .trip-hero-inner { align-items: flex-end; }
  .trip-hero-copy { width: 100%; padding: 120px 0 32px; }
  .trip-hero h1 { font-size: clamp(2.65rem, 13vw, 4.3rem); }
  .trip-hero h1.headline-medium { font-size: clamp(2.35rem,11vw,3.75rem); }
  .trip-hero h1.headline-long { font-size: clamp(2rem,9.2vw,3.2rem); }
  .trip-hero-lead { font-size: .94rem; line-height: 1.65; }
  .trip-carousel-meta { align-items: flex-start; flex-direction: column; gap: 9px; }
  .trip-carousel-controls button { width: 34px; height: 34px; }
  .trip-price-lockup { gap: 10px; padding: 11px 13px; }
  .trip-price-lockup strong { font-size: 2rem; }
  .trip-hero-tags li { padding: 0 8px; font-size: .875rem; line-height: 1.45; }
  .trip-hero-tags li:nth-child(3) { width: 100%; padding-left: 0; border-left: 0; }
  .trip-hero-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .trip-hero-actions .button { min-width: 0; padding-inline: 10px; }
  .trip-proof-grid { grid-template-columns: 1fr 1fr; }
  .trip-proof-grid > div { min-height: 105px; padding: 15px; border-bottom: 1px solid rgba(255,255,255,.12); }
  .trip-proof-grid > div:nth-child(2) { border-right: 0; }
  .trip-festival-bonus { padding: 20px 0; }
  .trip-section-sage, .trip-section-warm, .trip-section-forest, .trip-grill-partner { padding-block: 44px; }
  .trip-festival-bonus-card { grid-template-columns: 1fr; gap: 16px; padding: 18px; border-radius: 20px; }
  .trip-festival-media { height: 190px; }
  .trip-festival-icon { width: 58px; height: 58px; border-radius: 17px; }
  .trip-festival-icon svg { width: 35px; height: 35px; }
  .trip-festival-copy h2 { font-size: 1.65rem; }
  .trip-festival-button { grid-column: 1; width: 100%; justify-content: center; }
  .trip-section { padding: 54px 0; }
  .trip-section-head { margin-bottom: 26px; }
  .trip-section-head--mascot { grid-template-columns: 1fr; }
  .trip-section-head--mascot > p, .trip-experience-mascot { grid-column: auto; grid-row: auto; }
  .trip-experience-mascot { width: min(220px,72vw); min-height: 280px; justify-self: center; }
  .trip-section-head h2 { font-size: clamp(2rem, 9vw, 3rem); }
  .trip-timeline, .trip-plan-grid, .trip-care-grid, .trip-guide-grid, .trip-faq-grid { grid-template-columns: 1fr; }
  .trip-timeline li { min-height: 0; border-radius: 18px; }
  .trip-timeline-top { margin-bottom: 25px; }
  .trip-timeline-icon { width: 62px; height: 62px; border-radius: 17px; }
  .trip-timeline-icon svg { width: 34px; height: 34px; }
  .trip-plan-photo { height: 210px; }
  .trip-plan-body { padding: 23px 20px; }
  .trip-story-grid, .trip-audience, .trip-care-grid-master, .trip-notice-grid { grid-template-columns: 1fr; }
  .trip-story-grid article:first-child { grid-column: auto; }
  .trip-story-grid article, .trip-care-grid-master article, .trip-notice-grid article { min-height: 0; }
  .trip-food-image { min-height: 430px; }
  .trip-grill-partner-card { border-radius: 22px; }
  .trip-grill-partner-copy, .trip-grill-partner-services { padding: 28px 21px; }
  .trip-grill-partner-copy h2 { font-size: clamp(1.75rem,7.2vw,2.25rem); line-height: 1.25; }
  .trip-partner-actions { display: grid; grid-template-columns: 1fr; }
  .trip-partner-actions .button { width: 100%; }
  .trip-upgrade-grid { grid-template-columns: 1fr; }
  .trip-upgrade-grid aside { grid-column: auto; }
  .trip-flash-grid { grid-template-columns: 1fr; }
  .trip-flash-card:last-child { grid-column: auto; }
  .trip-guide-grid article, .trip-care-grid article { min-height: 0; }
  .trip-night-note, .trip-final-row, .trip-final-row > div:last-child, .trip-form-actions { align-items: stretch; flex-direction: column; }
  .trip-form { padding: 23px 17px; }
  .trip-form-grid { grid-template-columns: 1fr; }
  .trip-field-wide, .trip-options { grid-column: auto; }
  .trip-options > div { grid-template-columns: 1fr; }
  .trip-estimate { grid-template-columns: 1fr; gap: 10px; }
  .trip-final-row > div:last-child { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
