@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');
:root{--ink:#173c33;--cream:#f8f5ee;--gold:#ae8045;--line:#d9ded5;--muted:#55675e;--red:#7e302b;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:15px/1.6 'DM Sans',Arial,sans-serif}a{color:inherit}button,input,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}[hidden]{display:none!important}.wrap{width:min(1200px,calc(100% - 64px));margin:auto}.offer-strip{display:flex;justify-content:center;gap:38px;padding:10px 24px;background:var(--ink);color:#fff8e8;font-size:12px;letter-spacing:.025em}.offer-strip strong{font-weight:700}.masthead{display:flex;justify-content:space-between;align-items:center;padding:30px 0;border-bottom:1px solid var(--line)}.wordmark{font:600 23px/1.1 'Playfair Display',Georgia,serif;letter-spacing:.12em;text-decoration:none;display:block}.wordmark span{display:block;font:10px/1.4 'DM Sans',sans-serif;letter-spacing:.38em;margin-top:8px}.season,.eyebrow{font-size:10px;font-weight:700;letter-spacing:.2em}.season{color:var(--muted)}.contact{font-size:12px;text-underline-offset:5px}.intro{text-align:center;padding:46px 0 32px}.eyebrow{color:#80603c;margin:0 0 10px}.intro h1{font:500 clamp(36px,4.4vw,60px)/1.12 'Playfair Display',Georgia,serif;letter-spacing:-.025em;margin:12px 0 22px}.intro h1 em{font-weight:500;color:#80603c}.intro>p:last-child{max-width:540px;margin:0 auto;color:var(--muted);font-size:15px}h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:500;line-height:1.22}h2{font-size:32px;margin:8px 0 18px}h3{font-size:23px;margin:28px 0 18px}.section-line{display:flex;justify-content:space-between;align-items:center;gap:24px}.section-line>h2{font:600 14px 'DM Sans',sans-serif}.section-line>span{font-size:12px;color:var(--muted)}.experiences{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:8px 0 28px}.experience-choice{display:flex;text-align:left;gap:10px;align-items:center;padding:10px;border:1px solid var(--line);background:#fff;border-radius:12px;color:var(--ink);cursor:pointer;min-height:89px;transition:border-color .15s,background .15s}.experience-choice:hover{border-color:var(--gold)}.experience-choice[aria-pressed=true]{background:#e7ede4;border:2px solid var(--ink);padding:9px}.experience-choice img{width:51px;height:60px;object-fit:cover;border-radius:7px}.experience-choice strong{display:block;font-size:12px;line-height:1.3}.experience-choice small{display:block;font-size:11px;margin-top:6px;color:var(--muted)}.experience{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(330px,1fr);gap:32px;align-items:start}.story{min-width:0}.photo-frame{margin:0;background:#e4e6dc;border-radius:18px;overflow:hidden;position:relative}.photo-frame img{display:block;width:100%;aspect-ratio:3/2;object-fit:contain;animation:reveal .35s ease}.photo-frame figcaption{padding:10px 16px;background:#fff;font-size:11px;color:var(--muted)}.thumbnails{display:flex;gap:9px;margin-top:12px}.thumbnail{border:2px solid transparent;padding:2px;background:transparent;border-radius:8px;cursor:pointer}.thumbnail[aria-pressed=true]{border-color:var(--gold)}.thumbnail img{display:block;width:67px;height:50px;object-fit:cover;border-radius:4px}.story-copy{padding:28px 4px 0}.story-copy h2{font-size:clamp(29px,3vw,40px)}.description{color:var(--muted);font-size:16px}.facts{display:grid;grid-template-columns:1fr 2fr;gap:20px;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:26px 0}.facts span{display:block;font-size:10px;letter-spacing:.15em;color:var(--muted);margin-bottom:6px}.facts strong{font-size:14px;line-height:1.5;display:block}.included{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:15px 20px}.included li{padding-left:23px;position:relative;font-size:14px}.included li:before{content:'✧';position:absolute;left:0;color:var(--gold);font-size:18px;line-height:1.3}.package-description,.notes{font-size:13px;color:var(--muted)}.notes{border-left:2px solid var(--gold);padding:1px 0 1px 16px;margin-top:26px}.notes p{margin:10px 0}.booking-card{position:sticky;top:20px;padding:30px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 16px 40px #193c330a}.price-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.price-top .eyebrow{margin:0}.saving{background:#f2ead8;color:#654720;border:1px solid #d5c4a0;font-size:11px;font-weight:700;padding:5px 10px;border-radius:30px;white-space:nowrap}.booking-card h2{font-size:34px;margin:16px 0 22px}label{display:block;font-size:12px;font-weight:700;margin:17px 0 7px}select{width:100%;border:1px solid #abb6ac;padding:12px 35px 12px 12px;background:#fff;color:var(--ink);border-radius:7px;min-height:46px;font-size:14px}.family-note{font-size:12px;color:var(--muted);line-height:1.6;margin:12px 0 20px}.price-lines>div{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:7px 0;font-size:13px}.price-lines .discount{color:#397047}.price-lines del{color:#6b756f}.price-lines .total-line{border-top:1px solid var(--line);margin-top:12px;padding-top:18px;font-weight:600}.total-line>strong{font:500 43px/1.2 'Playfair Display',Georgia,serif}.payment-split{display:grid;grid-template-columns:1fr 1fr;background:#f5f7f1;border-radius:10px;margin:18px 0;padding:16px;gap:12px}.payment-split>div+div{border-left:1px solid var(--line);padding-left:16px}.payment-split span{display:block;font-size:9px;letter-spacing:.09em;font-weight:700}.payment-split strong{display:block;font:500 25px/1.5 'Playfair Display',Georgia,serif;margin:3px 0}.payment-split small{font-size:10px;line-height:1.4;display:block;color:var(--muted)}.small{font-size:12px;color:var(--muted);line-height:1.6}.book-button{display:block;background:var(--ink);color:white;padding:15px 20px;text-align:center;border-radius:8px;text-decoration:none;font-size:14px;font-weight:700}.book-button:hover{background:#275447}.selected-time{font-size:12px;text-align:center;color:#36634a;line-height:1.5;margin:12px 0}.secure-note{text-align:center;margin-bottom:0}.availability{margin-top:44px;padding:34px;background:white;border:1px solid var(--line);border-radius:18px}.availability h2{margin-bottom:10px;font-size:30px}.text-button{border:0;background:none;color:var(--ink);padding:12px 0;text-decoration:underline;text-underline-offset:4px;cursor:pointer;font-size:12px;white-space:nowrap}.time-windows{font-size:13px;margin:18px 0}.time-windows p{margin:5px 0}.slot-date{padding-top:12px}.slot-date h3{font:600 15px 'DM Sans',Arial,sans-serif;margin:20px 0 14px}.slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:9px}.slot{background:white;border:1px solid #9aae9b;border-radius:7px;color:var(--ink);padding:10px 6px;cursor:pointer;line-height:1.5;font-size:13px}.slot small{display:block;font-size:10px}.slot:disabled{background:#eee;opacity:.65;border-color:#ddd;color:#6b6b6b;cursor:not-allowed}.slot[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:white}.bottom-book{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:24px;margin-top:26px;gap:24px}.bottom-book p{font-size:14px;max-width:60%;margin:0}.bottom-book .book-button{min-width:240px}.good-to-know{display:grid;grid-template-columns:1fr 1.3fr;gap:70px;margin:55px 0}.good-to-know p{font-size:13px;color:var(--muted)}details{border-bottom:1px solid var(--line);padding:18px 0;font-size:13px}summary{cursor:pointer;font-weight:600;list-style-position:outside;margin-left:16px}#policy p{margin:16px 0}.film-wrap video{display:block;width:100%;max-height:380px;border-radius:12px;background:#173c33}.status{font-size:14px}.status:empty{display:none}.error{color:#9b332a}footer{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:22px;padding:30px 0 42px}footer p,footer a{font-size:12px;color:var(--muted)}:focus-visible{outline:3px solid #ae8045;outline-offset:4px}.embed .masthead,.embed .intro, .embed footer{display:none}.embed .wrap{width:calc(100% - 28px)}.embed .choose-section{margin-top:20px}.embed .offer-strip{font-size:11px;gap:10px}.embed .experience{grid-template-columns:1fr}.embed .booking-card{position:static}.embed .story-copy{padding-top:18px}.embed .experiences{display:flex;overflow-x:auto}.embed .experience-choice{min-width:180px}.embed .good-to-know{gap:20px}.embed .availability{padding:20px}.embed .intro{display:none}@keyframes reveal{from{opacity:.3}to{opacity:1}}
@media(max-width:1000px){.season{display:none}.experience-choice{display:block}.experience-choice img{width:100%;height:70px;margin-bottom:8px}.experience{gap:22px;grid-template-columns:minmax(0,1.2fr) minmax(315px,1fr)}.booking-card{padding:23px}.included{grid-template-columns:1fr}.offer-strip{gap:20px}}
@media(max-width:740px){.wrap{width:calc(100% - 32px)}.offer-strip{display:block;text-align:center;font-size:11px;padding:9px}.offer-strip>span{display:block}.masthead{padding:21px 0}.wordmark{font-size:19px}.contact{font-size:11px;max-width:145px;text-align:right}.intro{padding:32px 8px 25px}.intro h1{font-size:37px}.intro>p:last-child{font-size:14px}.section-line{gap:10px}.section-line>span{display:none}.experiences{display:flex;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x proximity}.experience-choice{display:flex;flex:0 0 185px;scroll-snap-align:start}.experience-choice img{width:47px;height:60px;margin:0}.experience{display:flex;flex-direction:column;gap:24px}.story,.booking-card{width:100%}.story-copy{padding:24px 0 0}.story-copy h2{font-size:32px}.booking-card{position:static;order:1;padding:24px}.description{font-size:14px}.facts{grid-template-columns:1fr 2fr}.included{grid-template-columns:1fr}.availability{padding:22px 16px;margin-top:28px}.availability .section-line{align-items:start}.availability h2{font-size:26px}.time-windows{font-size:12px}.bottom-book{display:block}.bottom-book p{max-width:none;margin-bottom:18px}.good-to-know{grid-template-columns:1fr;gap:8px;margin:38px 0}.good-to-know h2{font-size:29px}.photo-frame figcaption{font-size:10px}.slot-grid{grid-template-columns:repeat(3,1fr)}.thumbnails{gap:5px}.thumbnail img{width:53px;height:43px}footer{display:block}footer p{margin:18px 0}.embed .offer-strip>span{display:block}.embed .experience-choice{min-width:180px}.embed .good-to-know{grid-template-columns:1fr}.embed .booking-card{padding:20px}.embed .intro{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

.card-session{font-size:14px;font-weight:700;margin:0 0 4px}.card-dates{font-size:12px;color:var(--muted);margin:0 0 20px}
@media(max-width:740px){.story{display:contents}.photo-frame,.thumbnails{width:100%}.story-copy{order:2}.booking-card{order:1}.thumbnails:empty{display:none}}
.embed .story{display:contents}.embed .story-copy{order:2}.embed .booking-card{order:1}
@media(min-width:741px){.embed .experience{grid-template-columns:minmax(0,1.3fr) minmax(315px,1fr)}.embed .story{display:block}.embed .story-copy,.embed .booking-card{order:0}}
