@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--ink:#132127;--night:#0c171d;--paper:#f3ead8;--orange:#f7a345;--rust:#c35426;--muted:#6b6b61;--line:#d3c6ad;--title:'Roboto Slab',Rockwell,Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--condensed:'Barlow Condensed','Arial Narrow',Arial,sans-serif;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:1rem;line-height:1.6}img{display:block;max-width:100%}a{color:inherit}button,input,select{font:inherit}button,a,input,summary{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--rust);outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--title);line-height:1.08;letter-spacing:-.045em}h2{font-size:clamp(2.3rem,4vw,3.8rem)}h3{font-size:2rem}p+p{margin-top:1rem}.skip{position:fixed;top:-80px;background:var(--orange);padding:12px;z-index:100}.skip:focus{top:0}.header{min-height:100px;background:var(--night);color:var(--paper);display:flex;align-items:center;justify-content:space-between;padding:20px 5%;gap:30px}.brand{display:flex;flex-direction:column;line-height:1;text-decoration:none;align-items:center;width:max-content;flex-shrink:0}.brand span{font-family:var(--condensed);font-size:.8rem;letter-spacing:.26em;margin-bottom:4px}.brand b{font-family:var(--condensed);font-size:2rem;font-weight:800;letter-spacing:.025em}.brand small{font-size:.6rem;letter-spacing:.2em;margin-top:6px}.header nav{display:flex;align-items:center;gap:32px}.header nav>a:not(.button){text-decoration:none;font-size:.9rem}.header nav>a:hover{text-decoration:underline}.button{display:inline-flex;align-items:center;justify-content:center;gap:32px;background:var(--orange);color:var(--night);padding:17px 26px;min-height:56px;text-decoration:none;font-size:1rem;font-weight:700;border:1px solid var(--orange);border-radius:2px;cursor:pointer;transition:background .15s,transform .15s}.button:hover{background:#ffb35f;transform:translateY(-2px)}.button.small{padding:12px 20px;min-height:46px;font-size:.9rem}.button.outline{background:transparent;border-color:var(--ink)}.button.outline:hover{background:#e4d7bb}.button:disabled{opacity:.6;cursor:not-allowed;transform:none}.hero{position:relative;isolation:isolate;min-height:700px;display:flex;align-items:center;background:var(--night);color:var(--paper);overflow:hidden}.hero-art{position:absolute;inset:0;z-index:-3;width:100%;height:100%;object-fit:cover;object-position:center}.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(10,21,28,.96) 0%,rgba(10,21,28,.84) 27%,rgba(10,21,28,.25) 59%,rgba(10,21,28,.03) 100%)}.hero-copy{padding:60px 6% 70px;width:100%}.eyebrow{font-family:var(--condensed);font-weight:700;font-size:1rem;letter-spacing:.14em;text-transform:uppercase;line-height:1.4}.hero .eyebrow{color:var(--orange);margin-bottom:24px}.hero h1{font-size:clamp(3.3rem,6.8vw,6.6rem);max-width:740px;font-weight:900;line-height:.98}.hero h1 span{font-size:.53em;font-weight:600;letter-spacing:-.03em}.hero-intro{font-size:1.1rem;margin-top:26px;max-width:460px;line-height:1.7}.hero .button{margin-top:28px}.hero-note{font-size:.8rem;margin-top:12px!important;color:#d1c6b4}.hero-stamp{position:absolute;right:5%;top:35px;border:1px solid #f3ead880;transform:rotate(5deg);padding:18px;text-align:center;font-family:var(--condensed);font-weight:600;font-size:1rem;line-height:1.5;letter-spacing:.16em;background:#0c171d50}.ribbon{background:var(--orange);padding:16px 6%;display:flex;justify-content:space-between;align-items:center;gap:20px;font-family:var(--condensed);font-weight:700;letter-spacing:.13em;font-size:1rem}.section{max-width:1440px;margin:auto;padding:100px 6%}.section-head{margin-bottom:48px;display:grid;grid-template-columns:1.25fr 1fr;column-gap:40px;align-items:end}.section-head .eyebrow{grid-column:1/-1;color:var(--rust);margin-bottom:18px}.section-head>p:last-child{max-width:400px;margin:0 0 4px auto}.experience-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.experience{border:1px solid var(--ink);padding:38px;background:var(--ink);color:var(--paper);display:flex;flex-direction:column}.experience .eyebrow{color:var(--orange);margin-bottom:18px}.experience h3{margin-bottom:20px;font-size:2.5rem}.experience>p:not(.eyebrow){max-width:490px}.price{font-size:1rem;margin-top:24px;line-height:1.5}.price strong{font-family:var(--title);font-size:2rem;letter-spacing:-.04em}.price>span{margin:0 10px;color:#8a9699}.metadata{margin-top:12px!important;font-size:.875rem}.experience .button{margin-top:28px;align-self:stretch}.fine{font-size:.8rem;line-height:1.6}.experience .fine{margin-top:14px!important;opacity:.8}.experience.free{background:transparent;color:var(--ink)}.experience.free .eyebrow{color:var(--rust)}.evening{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:center;border-top:1px solid var(--line)}.evening img{aspect-ratio:1.06;object-fit:cover}.evening .eyebrow{color:var(--rust);margin-bottom:20px}.evening h2{margin-bottom:26px}.text-link{display:inline-flex;gap:25px;font-weight:700;text-underline-offset:6px;margin-top:22px}.faq{border-top:1px solid var(--line);display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.faq .eyebrow{color:var(--rust);margin-bottom:16px}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:20px 0}summary{cursor:pointer;font-weight:600;padding-right:10px}details p{padding-top:15px;font-size:.95rem;max-width:590px}.last-call{background:var(--night);color:var(--paper);text-align:center;padding:85px 6%}.last-call .eyebrow{color:var(--orange);margin-bottom:24px}.last-call h2{margin-bottom:30px}.footer{padding:45px 6%;display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;border-top:1px solid var(--line)}.footer p,.footer>a{font-size:.875rem}.footer .fine{width:100%;font-size:.75rem;color:var(--muted);border-top:1px solid var(--line);padding-top:20px;margin-top:0}
@media(min-width:1600px){.hero{min-height:790px}.hero-copy{max-width:1600px;margin:auto}}@media(max-width:900px){.header{padding:20px 5%}.header nav{gap:20px}.header nav>a:not(.button){display:none}.hero{min-height:650px}.hero-art{object-position:62% center}.hero-shade{background:linear-gradient(90deg,#0a151cee 0%,#0a151c99 65%,#0a151c44)}.hero-copy{padding:60px 6%}.hero h1{font-size:5rem}.hero-stamp{display:none}.section{padding:70px 6%}.section-head{display:block}.section-head>p:last-child{margin:22px 0 0}.experience{padding:28px}.experience h3{font-size:2rem}.evening{gap:32px;grid-template-columns:1fr 1fr}.faq{grid-template-columns:1fr;gap:32px}.ribbon{font-size:.85rem;letter-spacing:.09em}.ribbon span:last-child{display:none}.ribbon span:nth-last-child(2){display:none}}
@media(max-width:600px){.header{min-height:86px;gap:12px}.brand b{font-size:1.6rem}.brand small{display:none}.brand span{font-size:.65rem}.button.small{font-size:.8rem;padding:11px 14px}.hero{min-height:685px;align-items:flex-start}.hero-copy{padding:44px 6% 200px}.hero h1{font-size:clamp(3.1rem,13.3vw,5rem)}.hero .eyebrow{font-size:.9rem;letter-spacing:.1em}.hero-art{object-position:66% 90%;height:100%}.hero-shade{background:linear-gradient(180deg,#0a151cf5 0%,#0a151ce0 42%,#0a151c55 72%,#0a151c00)}.hero-intro{font-size:1rem;margin-top:20px}.hero-note{font-size:.75rem}.hero .button{margin-top:23px}.ribbon{gap:12px;justify-content:center;font-size:.8rem;padding:14px 5%}.section{padding:58px 6%}.experience-grid,.evening{grid-template-columns:1fr}.experience{padding:27px}.experience h3{font-size:2.1rem}.section-head{margin-bottom:32px}.section-head>p:last-child{font-size:1rem}.evening img{aspect-ratio:1.35}.evening{gap:32px}.faq{gap:30px}.last-call{padding:60px 6%}.last-call .eyebrow{font-size:.9rem}.footer{padding:35px 6%;gap:25px}.footer>a{width:100%}.price strong{font-size:1.9rem}}
.hero-art{object-position:65% 50%}.hero-shade{background:linear-gradient(90deg,#0a151cf5 0%,#0a151cdd 26%,#0a151c66 55%,#0a151c11 100%)}.outline-light{background:transparent;color:var(--paper);border-color:#d3c6ad70}.outline-light:hover{color:var(--night)}.preview-banner{background:#f9d49e;color:#40230b;padding:11px 6%;font-size:.875rem;text-align:center;border-bottom:1px solid #c3542650}.preview-banner[hidden]{display:none}.booking-page{max-width:1440px;margin:auto;padding:32px 6% 80px}.back-link{font-size:.875rem;text-underline-offset:5px}.booking-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:70px;margin-top:36px;align-items:start}.booking-story>.eyebrow{color:var(--rust);margin-bottom:20px}.booking-story h1{font-size:clamp(2.7rem,4.5vw,4.3rem)}.booking-intro{font-size:1.1rem;margin-top:24px;max-width:580px}.booking-photo{margin:32px 0}.booking-photo img{width:100%;aspect-ratio:1.55;object-fit:cover}.booking-photo figcaption{font-size:.75rem;color:var(--muted);margin-top:8px}.booking-detail{border-top:1px solid var(--line);padding:30px 0}.booking-detail h2{font-size:1.75rem;letter-spacing:-.025em;margin-bottom:23px}.booking-detail>p{font-size:.95rem}.included-list{list-style:none;padding:0;margin:0 0 22px}.included-list li{padding:8px 0 8px 27px;position:relative}.included-list li:before{content:'✦';position:absolute;left:0;color:var(--rust)}.booking-card{background:#fffaf0;border:1px solid var(--ink);padding:32px;position:sticky;top:26px;box-shadow:8px 8px 0 #d5c7ab66}.booking-card>.eyebrow{color:var(--rust);font-size:.9rem;margin-bottom:14px}.booking-card>h2{font-size:2.25rem}.booking-card>.price{margin-top:18px;margin-bottom:26px}.booking-card fieldset{padding:0;margin:0;border:0}.booking-card legend{font-weight:700;margin-bottom:15px;font-size:.95rem}.date-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.date-option{position:relative;cursor:pointer}.date-option input{position:absolute;opacity:0;width:1px;height:1px}.date-option>span{display:flex;flex-direction:column;align-items:center;border:1px solid var(--line);background:#f9f0df;padding:15px 8px;transition:background .15s,border-color .15s}.date-option input:checked+span{border:2px solid var(--ink);padding:14px 7px;background:var(--ink);color:var(--paper)}.date-option input:focus-visible+span{outline:3px solid var(--rust);outline-offset:3px}.date-option small{font-size:.75rem;font-weight:700;letter-spacing:.09em}.date-option b{font-family:var(--title);font-size:2.4rem;line-height:1.4}.date-option em{font-style:normal;font-size:.75rem}.selection-summary{margin:23px 0;display:flex;flex-direction:column;font-size:.875rem;border-top:1px solid var(--line);padding-top:22px;gap:4px}.booking-card .button{width:100%;gap:10px;text-align:center}.booking-card #booking-status{margin-top:15px;color:#665b47}.booking-card #estimate-note{margin-top:10px}.switch-format{padding-top:24px;margin-top:25px!important;border-top:1px solid var(--line);font-size:.8rem}.switch-format a{display:block;font-weight:700; margin-top:4px}.ticket-estimator{margin-top:22px;font-size:.875rem;border-top:1px solid var(--line);padding:16px 0}.ticket-estimator summary{font-size:.875rem}.quantity-row{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:18px 0}.quantity-row label small{display:block;color:var(--muted);font-size:.8rem}.quantity-row input{width:86px;height:45px;border:1px solid var(--muted);border-radius:0;background:#fff;padding:8px 12px}.ticket-total{display:flex;justify-content:space-between;padding:15px 0;border-top:1px solid var(--line);margin-top:10px}.ticket-total b{font-family:var(--title);font-size:1.6rem}.ticket-total small{font-size:.75rem;color:var(--muted)}.field-error{color:#a32c18!important;font-weight:600}.free-note{border-top:1px solid var(--line);padding-top:22px;margin-top:24px;font-size:.875rem}.free-note p{margin-top:8px}.timeline{list-style:none;margin:0;padding:0}.timeline li{display:grid;grid-template-columns:100px 1fr;gap:15px;padding:15px 0;border-bottom:1px solid var(--line);font-size:.9rem}.timeline li:last-child{border:0}.timeline time{font-weight:700;color:var(--rust);font-size:.85rem}.timeline b{display:block;margin-bottom:4px}.date-strip{margin:42px 0 0;display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.night-link{border-top:2px solid var(--rust);text-decoration:none;padding:15px 8px;color:var(--ink);display:flex;flex-direction:column;align-items:center;background:#eadfc9}.night-link:hover{background:#dfcfad}.night-link small{font-family:var(--condensed);font-weight:600;letter-spacing:.08em;font-size:.875rem}.night-link b{font-family:var(--title);font-size:2rem;line-height:1.5}.night-link span{font-size:.75rem;font-weight:700}.night-link.dinner-date{background:var(--ink);color:var(--paper);border-color:var(--orange)}.night-link.dinner-date:hover{background:#263b43}
@media(max-width:1000px){.booking-layout{gap:35px;grid-template-columns:minmax(0,1fr) minmax(330px,.9fr)}.booking-card{padding:25px}.booking-card h2{font-size:2rem}.date-strip{grid-template-columns:repeat(3,1fr)}}@media(max-width:740px){.booking-layout{grid-template-columns:1fr;gap:36px}.booking-card{position:static;grid-row:1}.booking-story{grid-row:2}.booking-page{padding:26px 6% 45px}.booking-layout{margin-top:25px}.booking-card>h2{font-size:2.4rem}.booking-card>.price{margin-bottom:22px}.booking-story h1{font-size:3rem}.booking-story>.eyebrow{margin-top:15px}.preview-banner{font-size:.8rem;text-align:left;padding:10px 6%}.booking-card{box-shadow:5px 5px 0 #d5c7ab66}.booking-photo img{aspect-ratio:1.3}.hero-shade{background:linear-gradient(180deg,#0a151cfa 0%,#0a151ce0 40%,#0a151c66 69%,#0a151c11)}.hero-art{object-position:69% 50%}.date-strip{gap:10px}.night-link span{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Official Watershed assets and color codes from the supplied brand guide. */
@font-face{font-family:Hanley;src:url('hanley-sans-wide.otf') format('opentype');font-display:swap;font-weight:400}
@font-face{font-family:SignPainter;src:url('signpainter-sans.otf') format('opentype');font-display:swap;font-weight:400}
:root{--green:#286140;--river:#a4dbe8;--brown:#473729;--ink:#17372a;--night:#10241c;--title:Hanley,Rockwell,Georgia,serif;--condensed:SignPainter,'Arial Narrow',Arial,sans-serif}
h1,h2,h3{font-weight:400;font-synthesis:none;letter-spacing:0;line-height:1.15}.header{background:var(--paper);color:var(--green);padding:4px 5%;min-height:108px;border-bottom:1px solid var(--line)}.official-logo{width:220px;height:auto;mix-blend-mode:multiply}.header nav>.button{background:var(--green);color:white;border-color:var(--green)}.header nav>.button:hover{background:#1b4d30}.hero h1{font-family:Hanley,Georgia,serif;font-weight:400;font-size:clamp(3rem,5.7vw,5.5rem);letter-spacing:0;line-height:1.04;text-transform:uppercase}.hero h1 span{font-family:SignPainter,Arial,sans-serif;font-weight:400;font-size:.55em;letter-spacing:.06em}.hero .eyebrow,.eyebrow{font-weight:400;font-size:1.03rem;letter-spacing:.09em}.hero-shade{background:linear-gradient(90deg,#10241cf5 0%,#10241cdd 28%,#10241c66 56%,#10241c11 100%)}.hero-stamp{font-weight:400}.ribbon{font-weight:400}.section-head .eyebrow,.evening .eyebrow,.faq .eyebrow,.booking-story>.eyebrow,.booking-card>.eyebrow,.experience.free .eyebrow{color:var(--green)}.experience .eyebrow{font-size:1.03rem}.experience h3{font-size:2.25rem;line-height:1.16}.price strong{font-weight:400}.night-link small{font-weight:400}.night-link b{font-weight:400}.booking-card h2{font-size:2rem}.booking-story h1{font-size:clamp(2.4rem,3.8vw,3.6rem)}.booking-card>.price strong{font-size:1.8rem}.footer .official-logo{width:190px}.outline-light{color:var(--green);border-color:var(--green)}
@media(max-width:900px){.hero h1{font-size:4.7rem}.hero-stamp{display:none}.experience h3{font-size:1.8rem}.hero-copy{padding-top:55px}.header{padding:4px 5%}.official-logo{width:200px}.header nav{gap:16px}.booking-card h2{font-size:1.8rem}}
@media(max-width:600px){.header{min-height:88px;gap:14px}.official-logo{width:172px}.header .button.small{font-size:.8rem;padding:10px 12px;line-height:1.3}.hero h1{font-size:clamp(2.6rem,11.4vw,4rem)}.hero-copy{padding-top:38px}.hero .eyebrow{font-size:.96rem}.hero-shade{background:linear-gradient(180deg,#10241cfa 0%,#10241ce8 41%,#10241c66 69%,#10241c11)}.hero h1 span{font-size:.6em}.experience h3{font-size:2rem}.section-head h2{font-size:2.1rem}.booking-card h2{font-size:2rem}.booking-story h1{font-size:2.6rem}.ribbon{font-size:.875rem;letter-spacing:.02em}.last-call h2{font-size:2.1rem}.last-call .eyebrow{font-size:1rem}.footer .official-logo{width:180px}.price strong{font-size:1.8rem}}

.waiver-step{margin-top:26px;padding-top:25px;border-top:1px solid #bbb49f}.waiver-step h3,.ticket-estimator h3{font-family:inherit;font-size:18px;margin:0 0 10px}.waiver-step p{font-size:14px;line-height:1.55}.waiver-link{display:inline-block;color:#286140;font-weight:700;padding:10px 0;text-underline-offset:4px}.waiver-step .eyebrow{font-size:10px}.confirmation-page{max-width:780px;margin:0 auto;padding:70px 24px 100px}.confirmation-page h1{font-size:clamp(34px,6vw,64px)}.confirmation-page .booking-card{position:static;margin-top:30px}.confirmation-page dl{display:grid;grid-template-columns:1fr 1fr;gap:15px}.confirmation-page dt{color:#5c6259}.confirmation-page dd{margin:0;text-align:right;font-weight:600}.confirmation-page .button{margin-top:16px}[hidden]{display:none!important}

/* Preserve the family and fire together across page sizes. */
.evening img[src$="family-fireside-natural.png"],.booking-photo img[src$="family-fireside-natural.png"]{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}

/* Riverside campaign: open photography, forest tones, and restrained firelight. */
.halloween { --orange:#edaa61; --rust:#a8552c; background:#eee7d8; }
.halloween .river-hero { display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); min-height:660px; align-items:stretch; background:#142b25; overflow:hidden; }
.river-hero .hero-copy { width:auto; max-width:none; margin:0; padding:58px clamp(28px,4.5vw,82px) 62px; position:relative; z-index:2; align-self:center; }
.halloween .river-hero .eyebrow { color:#c9cdbb; font-size:.93rem; line-height:1.8; letter-spacing:.09em; margin-bottom:24px; }
.halloween-label { margin:0 0 18px!important; color:#edaa61; font-family:SignPainter,Arial,sans-serif; font-size:1.15rem; letter-spacing:.04em; }
.river-hero h1 { font-size:clamp(2.8rem,4.6vw,5.1rem); line-height:1.05; max-width:none; }
.river-hero h1 span { display:block; font-size:.51em; line-height:1.4; letter-spacing:.12em; padding:12px 0; }
.river-hero .hero-intro { color:#e0dfd1; font-size:1.05rem; line-height:1.75; max-width:410px; margin-top:28px; }
.river-hero .button { margin-top:30px; padding:16px 25px; background:#edaa61; border-color:#edaa61; }
.river-hero .button:hover { background:#f7bc7d; border-color:#f7bc7d; }
.river-hero .hero-note { color:#b7c3b8; font-size:.875rem; margin-top:15px!important; }
.hero-scene { position:relative; margin:0; min-width:0; min-height:660px; overflow:hidden; }
.hero-scene img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; object-position:80% center; }
.hero-scene::after { content:''; position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg,#142b2566,transparent 30%),linear-gradient(0deg,#0d211ee6,transparent 38%); }
.hero-scene figcaption { position:absolute; z-index:1; bottom:32px; left:34px; right:28px; color:#f7ebd7; border-left:2px solid #d7914f; padding:0 0 0 17px; }
.hero-scene figcaption span { display:block; font-family:SignPainter,Arial,sans-serif; font-size:1rem; letter-spacing:.08em; }
.hero-scene figcaption small { display:block; font-size:.875rem; color:#d3d8cb; margin-top:5px; }
.halloween .ribbon { background:#10211d; color:#c3cec4; border-top:1px solid #a8b6a42b; border-bottom:1px solid #a8b6a42b; padding:20px 6%; font-size:.95rem; letter-spacing:.09em; }
.halloween .ribbon [aria-hidden] { color:#af7947; }
.halloween .choose { padding-top:90px; padding-bottom:95px; }
.halloween .section-head h2 { font-size:clamp(2rem,3.2vw,3.15rem); line-height:1.19; }
.halloween .section-head>p:last-child { color:#536052; }
.halloween .experience-grid { gap:28px; }
.halloween .experience { position:relative; border:1px solid #203e32; border-top:3px solid #b47441; padding:38px; background:linear-gradient(135deg,#234337,#142c25); box-shadow:0 16px 28px #17372a0c; }
.halloween .experience h3 { font-size:clamp(1.65rem,2.3vw,2.2rem); }
.halloween .experience .button { margin-top:auto; }
.halloween .experience .metadata { margin-bottom:26px; }
.halloween .experience.free { background:#faf5e9; color:#17372a; border-color:#c9beaa; border-top-color:#a57344; }
.halloween .experience.free .eyebrow { color:#776047; }
.halloween .experience .price { border-top:1px solid #d8e1ca30; padding-top:20px; }
.halloween .experience.free .price { border-color:#c9beaa80; }
.halloween .night-link { border-top-color:#bd8959; background:#e5dcc8; }
.halloween .night-link.dinner-date { background:#203e32; }
.halloween .night-link span { font-size:.8125rem; }
.halloween .section.evening { max-width:none; gap:clamp(32px,5vw,85px); grid-template-columns:1.15fr 1fr; padding:86px max(6%,calc((100% - 1280px)/2)); background:#172e28; color:#eee8da; border-top:1px solid #aa865240; border-bottom:1px solid #aa865240; }
.evening-photo { margin:0; min-width:0; }
.halloween .evening-photo img { width:100%; height:auto; aspect-ratio:3/2; object-fit:contain; box-shadow:0 24px 48px #08191570; border:1px solid #b1b39c30; }
.evening-photo figcaption { color:#bfccbe; font-size:.875rem; padding-top:16px; }
.halloween .evening .eyebrow { color:#e4ae76; }
.halloween .evening h2 { font-size:clamp(1.9rem,2.8vw,2.8rem); line-height:1.25; }
.halloween .evening p:not(.eyebrow) { color:#d4dccf; }
.halloween .evening .text-link { color:#efb97f; }
.halloween .faq { padding-top:90px; padding-bottom:90px; border-top:0; }
.halloween .faq h2 { font-size:clamp(2rem,3.4vw,3.2rem); }
.halloween .faq-list { border-color:#b5ac955e; }
.halloween .faq details { border-color:#b5ac955e; padding:22px 0; }
.halloween .faq summary { font-size:1rem; }
.halloween .last-call { display:grid; grid-template-columns:minmax(0,1fr) auto; column-gap:50px; text-align:left; align-items:center; padding:70px max(6%,calc((100% - 1280px)/2)); background:radial-gradient(ellipse at 80% 120%,#86532945,transparent 58%),#122922; border-top:1px solid #b5834d70; }
.halloween .last-call .eyebrow { grid-column:1; color:#d7ac7c; font-size:1rem; margin-bottom:18px; }
.halloween .last-call h2 { grid-column:1; margin:0; font-size:clamp(1.9rem,3vw,2.9rem); line-height:1.2; }
.halloween .last-call .button { grid-column:2; grid-row:1/3; align-self:center; }
.halloween .footer { background:#e5dece; }
body[data-format] .booking-card { border-color:#66806b; border-top:3px solid #ad764b; box-shadow:10px 14px 30px #1a342a10; }
body[data-format] .booking-photo img { box-shadow:0 14px 30px #15382815; }
body[data-format] .booking-photo figcaption { font-size:.875rem; margin-top:12px; }
@media(min-width:1700px) { .river-hero .hero-copy { padding-left:max(80px,calc((100vw - 1530px)/2)); } }
@media(max-width:1000px) {
 .halloween .river-hero { grid-template-columns:minmax(0,1fr) minmax(0,1fr); min-height:640px; }
 .river-hero .hero-copy { padding:44px 28px; }
 .river-hero h1 { font-size:clamp(2.4rem,4.6vw,3.6rem); }
 .halloween .river-hero .eyebrow { font-size:.875rem; }
 .hero-scene { min-height:640px; }
 .hero-scene figcaption { left:22px; bottom:26px; right:18px; }
 .halloween .experience { padding:28px; }
 .halloween .section.evening { gap:35px; padding-top:65px; padding-bottom:65px; }
}
@media(max-width:900px) {
 .halloween .river-hero { display:flex; flex-direction:column; min-height:0; align-items:stretch; }
 .river-hero .hero-copy { align-self:stretch; padding:36px 7% 40px; }
 .river-hero h1 { font-size:clamp(2.65rem,9.6vw,4.3rem); }
 .river-hero h1 span { padding:7px 0; }
 .halloween .river-hero .eyebrow { margin-bottom:19px; font-size:.875rem; }
 .halloween-label { font-size:1rem; margin-bottom:16px!important; }
 .river-hero .hero-intro { font-size:1rem; max-width:460px; margin-top:21px; }
 .river-hero .button { margin-top:24px; }
 .hero-scene { min-height:0; height:clamp(320px,75vw,480px); }
 .hero-scene img { object-position:65% 62%; }
 .hero-scene::after { background:linear-gradient(0deg,#0d211ecc,transparent 40%); }
 .hero-scene figcaption { bottom:22px; left:7%; }
 .hero-scene figcaption span { font-size:.875rem; }
 .halloween .ribbon { justify-content:center; padding:17px 5%; gap:12px; font-size:.875rem; letter-spacing:.03em; }
 .halloween .choose { padding-top:58px; padding-bottom:60px; }
 .halloween .section-head { display:block; }
 .halloween .experience-grid { grid-template-columns:1fr; gap:22px; }
 .halloween .experience h3 { font-size:2rem; }
 .halloween .section.evening { grid-template-columns:1fr; padding:52px 6%; gap:35px; }
 .halloween .evening h2 { font-size:2.2rem; }
 .halloween .faq { padding-top:58px; padding-bottom:60px; }
 .halloween .last-call { display:block; padding:52px 7%; }
 .halloween .last-call h2 { font-size:2.1rem; }
 .halloween .last-call .button { margin-top:28px; }
}
@media(max-width:380px) {
 .river-hero h1 { font-size:2.5rem; }
 .halloween .experience h3,.halloween .evening h2,.halloween .last-call h2 { font-size:1.8rem; }
}
/* Keep the cook and the real venue signage in frame. */
.booking-photo img[src$="smoker-halloween.png"],.booking-photo img[src$="smoker-october.webp"] { width:100%; height:auto; aspect-ratio:auto; object-fit:contain; }

/* Reviewed photographs retain their full frames. */
.halloween .base-camp-hero { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); min-height:0; }
.base-camp-hero .hero-scene { align-self:center; min-height:0; height:auto; margin:36px 36px 36px 0; }
.base-camp-hero .hero-scene img { position:static; width:100%; height:auto; aspect-ratio:3/2; object-fit:contain; }
.base-camp-hero .hero-scene::after { display:none; }
.base-camp-hero .hero-scene figcaption { position:static; margin:18px 0 0; padding-left:16px; }
.campfire-details { display:grid; grid-template-columns:minmax(0,.75fr) minmax(0,.798935fr) minmax(0,1.5fr); align-items:start; gap:clamp(24px,2.5vw,36px); max-width:1320px; padding-top:12px; padding-bottom:88px; }
.campfire-details figure { margin:0; min-width:0; }
/* Columns follow the original image proportions, aligning full, uncropped frames. */
.campfire-details img { width:100%; height:auto; box-shadow:0 0 0 7px #faf6ed,0 10px 26px #273b2921; }
.campfire-details figcaption { margin-top:23px; padding:0 2px; font-family:Georgia,serif; font-size:1rem; font-style:italic; line-height:1.5; text-align:center; color:#435343; text-wrap:balance; }
.booking-photo-duo { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:20px; margin-top:28px; }
.booking-photo-duo .booking-photo { margin:0; }
.booking-photo-duo .booking-photo img { width:100%; height:auto; aspect-ratio:auto; object-fit:contain; }
@media(max-width:900px) {
 .base-camp-hero .hero-scene { align-self:stretch; margin:0 6% 32px; }
 .campfire-details { gap:24px; padding-bottom:64px; }
}
@media(max-width:760px) {
 .campfire-details { grid-template-columns:minmax(0,.75fr) minmax(0,.798935fr); row-gap:32px; }
 .campfire-details .creek-detail { grid-column:1/-1; }
}
@media(max-width:600px) {
 .campfire-details { padding:10px 7% 52px; column-gap:22px; }
 .campfire-details img { box-shadow:0 0 0 5px #faf6ed,0 8px 20px #273b291a; }
 .campfire-details figcaption { margin-top:18px; font-size:.9375rem; }
 .booking-photo-duo { gap:14px; }
}

/* Optional kit, carried through both booking packages. */
.smores-upsell{margin:24px 0;padding:22px 18px 8px;border:1px solid #c4b493;border-left:3px solid #ad764b;background:#f1e7d4}
.smores-upsell h3{font-family:inherit;font-size:1.125rem;font-weight:700;line-height:1.4;margin:5px 0 12px}
.smores-upsell p{font-size:.9375rem;line-height:1.55}
.smores-upsell .eyebrow{font-size:.875rem;color:#75532f}
.smores-upsell .fine,.smores-upsell label small,.ticket-total small{font-size:.875rem}
.smores-upsell .quantity-row{gap:12px}.smores-upsell input{flex:0 0 76px;width:76px}
.package-policy{font-size:.875rem;font-weight:700;margin:16px 0!important}
.kit-callout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:28px;margin-top:28px;padding:28px;border:1px solid #c4b493;background:#f7efdf}
.kit-callout h3{font-family:Georgia,serif;font-size:1.625rem;line-height:1.3;margin-top:8px}
.kit-callout .fine{font-size:.875rem}
@media(max-width:740px){.kit-callout{grid-template-columns:1fr;gap:16px;padding:24px}.smores-upsell{padding:18px 14px 6px}}
