/* Korean page only: scoped operational detail and small-screen width corrections. */
.flight-local-note{display:block;margin-top:.6rem;font-size:.82rem;line-height:1.7;color:#687164}
.pickup-flight{margin:1.2rem 0;padding:1.2rem;border:1px solid #dce1d3;border-radius:12px;background:#fffdf8;text-align:left}
.pickup-flight-name{margin:0!important;font-size:1rem!important}
.pickup-flight-name span{display:block;font-size:.875rem;font-weight:400;margin-top:.2rem}
.pickup-flight-route{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.75rem;margin-top:1.2rem}
.pickup-flight-route>div{min-width:0}
.pickup-flight-route b{display:block;font-size:1.65rem;line-height:1.3;color:#153c30}
.pickup-flight-route span{display:block;font-size:.82rem;line-height:1.6;margin-top:.4rem}
.pickup-flight-route .flight-arrow{font-size:1.4rem;color:#958778}
.pickup-flight-duration{font-size:.82rem!important;color:#687164;margin:.8rem 0 0!important}

@media(max-width:1024px){
 /* Flex items must be allowed to wrap before the navigation exceeds the screen. */
 .nav,.nav .brand-links,.nav .header-social,.nav nav{min-width:0;max-width:100%}
 .nav{flex-wrap:wrap}
 .nav .brand-links{flex-wrap:wrap;flex-shrink:1}
 .nav .header-social{flex-shrink:1}
 .nav .instagram-icon{flex-shrink:0}
 .nav .instagram-inquiry-hint{min-width:0;white-space:normal;overflow-wrap:anywhere}
 .nav nav{flex-wrap:wrap}
}
@media(max-width:650px){
 /* Parent padding is 1.25rem: the old -1.4rem exceeded it by 2.4px per side. */
 #top .intro>.intro-breakfast-photo{margin-left:-1.25rem;margin-right:-1.25rem}
 /* The existing grid uses min-content tracks; keep long labels inside their tracks. */
 .gift-scope-tags,.social-steps,.included-experiences,.villa-amenities,.collage{min-width:0}
 .gift-scope-tags{grid-template-columns:repeat(2,minmax(0,1fr))}
 .gift-scope-tags>span,.social-steps>article,.collage>img,.nav nav a{min-width:0}
 .nav .brand-links{gap:.65rem}
 .nav nav{column-gap:.35rem;row-gap:.3rem}
 .nav nav a{overflow-wrap:anywhere}
 .nav .brand{max-width:100%}
 /* Use containing-block width and both safe areas, rather than a 100vw limit. */
 .floating-apply{max-width:calc(100% - 1.6rem - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px))}
 .floating-apply .apply-label{min-width:0;white-space:normal;overflow-wrap:anywhere}
 .pickup-flight{padding:1rem .75rem}
 .pickup-flight-route{column-gap:.4rem}
 .pickup-flight-route b{font-size:1.5rem}
 /* Prevent Safari horizontal overscroll after correcting the overflowing elements.
    Vertical scrolling and pinch zoom remain available; no document width masking. */
 html,body{overscroll-behavior-x:none;touch-action:pan-y pinch-zoom}
}

/* Deliberate Korean copy breaks: preserve desktop flow and phone readability. */
.mobile-copy-break{display:none}
#top .intro .intro-copy-break{display:block}
.dress-codes small{display:block;margin-top:.5rem;font-size:.8rem;line-height:1.7;color:var(--muted);overflow-wrap:anywhere}
.dress-codes>div{min-width:0}
.dress-codes span{font-size:clamp(1rem,2.4vw,1.3rem);overflow-wrap:anywhere}
@media(max-width:650px){
 body .mobile-copy-break{display:block}
 #top .intro .intro-copy-break{display:block}
 .dress-codes b{letter-spacing:0}
 .dress-codes span{font-size:1.05rem;line-height:1.6}
 .dress-codes small{font-size:.78rem}
}

/* Korean outfit inspiration: isolated from existing sections. */
.outfit-inspiration{padding:clamp(2.5rem,6vw,5rem) clamp(1.25rem,5vw,4rem);background:#fff3ee;text-align:center}
.outfit-inspiration h2{margin:0 0 1rem;font-size:clamp(1.65rem,3.2vw,2.8rem)}
.outfit-inspiration>p{line-height:1.8}
.outfit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem;max-width:1080px;margin:2rem auto 0}
.outfit-grid figure{min-width:0;margin:0;text-align:left}
.outfit-grid img{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:2/3;object-fit:cover;border-radius:14px}
.outfit-grid figcaption{padding:.7rem .1rem;font-size:.9rem;font-weight:600;color:#654b45}
.outfit-inspiration .outfit-note{font-size:.75rem;color:#89756d;margin-top:1rem}
@media(max-width:650px){.outfit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.outfit-grid figcaption{font-size:.75rem}.outfit-inspiration h2{font-size:1.6rem}}

/* Selected photo and explicit editorial line breaks, at every viewport size. */
#top .story .story-photo-overlay>figure img.get-ready-photo{aspect-ratio:1/1;height:auto;object-fit:cover;object-position:center 25%}
#top p br.requested-copy-break,
#top .photo-scene.feature .feature-copy>p:last-child br.requested-copy-break{display:block}

/* Photo-led dress codes, Korean page only. */
.dress-codes-photos{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;align-items:start}
.dress-codes-photos>div{min-width:0;padding:0;border:0;text-align:left}
.dress-codes-photos b{min-height:2.6em;line-height:1.4;margin-bottom:.65rem}
.dress-codes-photos img{width:100%;max-width:100%;height:auto;aspect-ratio:2/3;object-fit:cover;border-radius:10px}
.dress-codes-photos small{display:block;margin-top:.65rem;font-size:.78rem;line-height:1.65}
@media(max-width:650px){.dress-codes-photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem .8rem}.dress-codes-photos b{font-size:.78rem}}

.global-detail>.culture-badge{display:table;max-width:100%;margin:.2rem auto .85rem!important;padding:.45rem 1rem;background:transparent;color:#a44e65;border-top:1px solid #ddb1bc;border-bottom:1px solid #ddb1bc;border-radius:0;font-size:.82rem;font-weight:700;line-height:1.6;transform:none}

.home .villa-pajama-photo{margin:2rem 0 0}.home .villa-pajama-photo img{width:100%;height:auto;aspect-ratio:auto;border-radius:12px}

/* Keep price, inclusions, room options and exclusions in one reading sequence. */
#inclusions .pricing-summary{margin:2.5rem 0 3rem;padding:0;background:transparent;border-radius:0;scroll-margin-top:5rem}
#inclusions .pricing-summary>.eyebrow{margin-bottom:1rem}
#inclusions .pricing-summary>h2{font-size:clamp(1.65rem,4vw,2.35rem)}
#inclusions .price-upgrade-summary{margin-top:.75rem;font-size:1rem;line-height:1.8}
#inclusions .room-options-panel{margin:2.5rem 0;padding:2rem 1.5rem;border:1px solid #efb9c2;border-radius:16px;background:#fdf3f3}
#inclusions .room-options-panel>.room-options{margin-top:0;min-width:0;max-width:100%}
#included-details{scroll-margin-top:5rem}
@media(max-width:650px){
 #inclusions .pricing-summary{padding:0}
 #inclusions .room-options-panel{padding:1.7rem 1rem}
 #inclusions .price-upgrade-summary{font-size:.9rem}
}

/* Keep the price card and the final contact action visually distinct. */
#inclusions .recommended-flight-summary{display:block;margin-top:1em}
#inclusions .recommended-flight-summary br{display:block}
#top .contact-section{padding:2.5rem 1.5rem;text-align:center;background:var(--paper)}
#top .contact-section .cta{display:block;max-width:650px;margin:0 auto;padding:1.2rem 1.4rem;background:#fff3ef;color:#754454;border:1px solid #e1bac5;border-radius:18px;font-size:1.1rem;line-height:1.7;text-decoration:none}
#top .contact-section .cta span{display:block;margin-top:.25rem;font-size:.9rem;font-weight:550}
#top .contact-section .cta:hover{background:#ffece9}

/* Attach meal and drink explanations closely to the preceding item. */
#included-details .breakfast-guide{margin-top:.2rem!important}

/* Give room photos more space in the desktop comparison table. */
@media(min-width:651px){
 #rooms .room-table{table-layout:fixed}
 #rooms .room-table th:first-child{width:48%}
 #rooms .room-table th:nth-child(2){width:27%}
 #rooms .room-table th:nth-child(3){width:25%}
 #rooms .room-table .room-price-photo{max-width:none;width:100%}
}
.trip-reviews{background:#fff3ee}
.trip-reviews .review-video{width:100%;max-width:880px;margin:2rem auto 0;aspect-ratio:16/9;overflow:hidden;border-radius:14px;background:#202221}
.trip-reviews .review-video iframe{display:block;width:100%;height:100%;border:0}
.trip-reviews .review-video-link{display:inline-block;margin-top:1rem;font-size:.9rem;color:#754454;text-underline-offset:4px}
@media(max-width:650px){.trip-reviews{padding:3rem 1.25rem}.trip-reviews .review-video{margin-top:1.5rem;border-radius:10px}}

/* Give the Christmas house-party image a taller frame. */
#top .story .story-photo-overlay>figure img.story-christmas-photo{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;object-position:center}

/* Official airline search shortcut below the recommended flight. */
#inclusions .flight-search-link{display:inline-flex;align-items:center;gap:.5rem;max-width:100%;min-height:44px;margin-top:.8rem;padding:.6rem .8rem;border:1px solid #d6b4a9;border-radius:10px;background:#fff5ed;color:#754454;font-size:.9rem;line-height:1.5;font-weight:650;text-decoration:none}
#inclusions .flight-search-link svg{flex:0 0 18px}
#inclusions .flight-search-link span{display:inline}
#inclusions .flight-search-link:hover{background:#fbe8df}
#inclusions .flight-search-link:focus-visible{outline:2px solid #153c30;outline-offset:3px}

#included-home{scroll-margin-top:5rem}

/* Larger trip-introduction text across desktop and mobile. */
#top .trip-pillars{max-width:960px;margin:2rem auto 2.3rem}
#top .trip-pillars article{padding:1rem 1.2rem;column-gap:.9rem}
#top .trip-pillars article>span{font-size:1.3rem}
#top .trip-pillars h3{font-size:.86rem;line-height:1.6}
#top .trip-pillars p{font-size:1.12rem;line-height:1.75;margin-top:.4rem}
@media(max-width:650px){
 #top .trip-pillars{max-width:440px;width:100%;margin:1.7rem auto 2rem}
 #top .trip-pillars article{padding:1rem .25rem;column-gap:.9rem}
 #top .trip-pillars article>span{font-size:1.25rem}
 #top .trip-pillars h3{font-size:.8rem;letter-spacing:.07em}
 #top .trip-pillars p{font-size:1.08rem;line-height:1.7;margin-top:.3rem}
}
/* Match the footer to the wide desktop page. */
@media(min-width:1100px){.site-footer{width:100%;max-width:1120px}}

/* February 2026 participant stories and replaceable photo slots. */
.trip-reviews .written-reviews{max-width:920px;margin:3.5rem auto 0;padding-top:3rem;border-top:1px solid #e3c9bf;text-align:left}
.written-reviews-heading{text-align:center;margin-bottom:2rem}
.written-reviews-heading .eyebrow{font-size:.75rem;margin-bottom:.8rem}
.written-reviews-heading h3{font-size:clamp(1.5rem,3vw,2rem);color:#153c30}
.written-reviews-heading>p:last-child{font-size:.9rem;color:#78655e;margin-top:.7rem}
.testimonial-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.15rem;align-items:start}
.testimonial-card{padding:1.6rem;background:#fffdf7;border:1px solid #e9d8ce;border-radius:18px;min-width:0}
.testimonial-card:last-child{grid-column:1/-1}
.testimonial-card>header{display:flex;align-items:center;gap:.85rem}
.participant-portrait{flex:0 0 64px;width:64px;height:64px;border-radius:50%;overflow:hidden;background:#efe3da;color:#8f595e;display:grid;place-items:center;border:1px solid #e4cfc2;font-weight:700;font-size:.95rem}
.participant-portrait img{width:100%;height:100%;object-fit:cover}
.testimonial-card h4{margin:0;font-size:1.05rem;color:#153c30}
.testimonial-card header p{font-size:.78rem;color:#857267;margin:.15rem 0 0}
.testimonial-card blockquote{margin:1.25rem 0 0;padding:0;border:0}
.testimonial-card blockquote p{font-size:1rem;line-height:1.9;color:#443e39;margin:0;word-break:keep-all;overflow-wrap:anywhere}
.testimonial-card blockquote p+p{margin-top:.8rem}
.trip-memory-gallery{margin-top:2.8rem;text-align:center}
.trip-memory-gallery h3{color:#153c30;font-size:1.4rem}
.trip-memory-gallery>p{font-size:.88rem;color:#857267;margin:.5rem 0 1.2rem}
.trip-memory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}
.trip-memory-slot{margin:0;aspect-ratio:4/3;border:1px dashed #cbb5a7;border-radius:12px;background:#f6ece4;overflow:hidden;display:grid;place-items:center;color:#8b7768}
.trip-memory-slot>div{display:flex;align-items:center;flex-direction:column;gap:.65rem;padding:1rem}
.trip-memory-slot span{font-size:.8rem}
.trip-memory-slot img{width:100%;height:100%;object-fit:cover}
@media(max-width:650px){
 .trip-reviews .written-reviews{margin-top:2.5rem;padding-top:2rem}
 .testimonial-grid{grid-template-columns:1fr;gap:1rem}
 .testimonial-card{padding:1.25rem}
 .participant-portrait{width:56px;height:56px;flex-basis:56px}
 .testimonial-card blockquote p{font-size:.96rem;line-height:1.9}
 .trip-memory-grid{grid-template-columns:1fr}
}

/* Short authentic excerpts before the package price. */
#top .review-preview{background:#fff3ee;text-align:center;padding-top:3rem;padding-bottom:3rem}
.review-preview h2{font-size:clamp(1.55rem,3vw,2.2rem)}
.review-preview .review-preview-note{margin:.8rem 0 1.6rem;font-size:.85rem;color:#78655e}
.review-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;max-width:960px;margin:0 auto}
.review-preview-grid figure{margin:0;padding:1.4rem;background:#fffdf7;border:1px solid #e9d8ce;border-radius:14px;text-align:left;display:flex;flex-direction:column}
.review-preview-grid blockquote{margin:0;padding:0;border:0;font-size:1rem;line-height:1.85;color:#443e39;word-break:keep-all;overflow-wrap:anywhere}
.review-preview-grid figcaption{margin-top:auto;padding-top:1rem;font-size:.85rem;font-weight:700;color:#8f595e}
.review-preview-link{display:inline-block;margin-top:1.4rem;color:#754454;font-size:.9rem;text-underline-offset:4px}
.review-preview-link:focus-visible{outline:2px solid #153c30;outline-offset:4px}
@media(max-width:650px){.review-preview-grid{grid-template-columns:1fr;gap:.8rem}.review-preview-grid figure{padding:1.15rem}.review-preview-grid blockquote{font-size:.96rem}}

/* Original participant portraits: face-focused CSS framing and gentle exposure adjustment. */
.participant-portrait.has-photo{position:relative;width:80px;height:80px;flex-basis:80px}
.participant-portrait.has-photo img{position:absolute;max-width:none;max-height:none;height:auto;object-fit:initial}
.review-preview-grid figcaption.with-portrait{display:flex;align-items:center;gap:.7rem}
.review-preview-grid .participant-portrait.has-photo{width:48px;height:48px;flex-basis:48px}
.participant-portrait[data-photo-slot="portrait-jenna"] img{width:142.1687%;left:-16.8675%;top:-19.2771%;filter:brightness(1.06)}
.participant-portrait[data-photo-slot="portrait-haesa"] img{width:237.6471%;left:-37.6471%;top:-29.4118%;filter:brightness(1.1)}
.participant-portrait[data-photo-slot="portrait-jia"] img{width:235.0000%;left:-62.5000%;top:-27.0833%;filter:brightness(1.38)}
.participant-portrait[data-photo-slot="portrait-mikyeong"] img{width:198.0000%;left:-35.0000%;top:-38.3333%;filter:brightness(1.02)}

/* Wider portrait framing preserves more hair, shoulders and surroundings. */
.participant-portrait[data-photo-slot="portrait-jenna"] img{width:100.0000%;left:0.0000%;top:-3.3898%;}
.participant-portrait[data-photo-slot="portrait-haesa"] img{width:144.2857%;left:-8.9286%;top:-5.3571%;}
.participant-portrait[data-photo-slot="portrait-jia"] img{width:128.1818%;left:-13.6364%;top:-2.2727%;}
.participant-portrait[data-photo-slot="portrait-mikyeong"] img{width:125.0526%;left:-7.3684%;top:-11.5789%;}

/* A simple incoming-message conversation before pricing. */
#top .review-preview{background:#fffaf6}
.review-preview-grid{display:flex;flex-direction:column;gap:1.65rem;max-width:720px;margin:2rem auto;text-align:left}
.review-preview-grid figure{display:flex;flex-direction:column;align-items:flex-start;width:90%;padding:0;border:0;border-radius:0;background:transparent}
.review-preview-grid figure:nth-child(2){align-self:flex-end}
.review-preview-grid figcaption.with-portrait{order:-1;margin:0 0 .55rem;padding:0;gap:.6rem;color:#777;font-size:.82rem;font-weight:500}
.review-preview-grid .participant-portrait.has-photo{width:44px;height:44px;flex-basis:44px}
.review-preview-grid blockquote{position:relative;margin:0 0 0 20px;padding:1rem 1.2rem;border-radius:22px;background:#e9e9eb;color:#202124;line-height:1.75;font-size:1rem;word-break:keep-all}
.review-preview-grid blockquote::before{content:"";position:absolute;bottom:0;left:-7px;width:19px;height:18px;background:#e9e9eb;border-bottom-right-radius:15px}
.review-preview-grid blockquote::after{content:"";position:absolute;bottom:-1px;left:-12px;width:12px;height:20px;background:#fffaf6;border-bottom-right-radius:12px}
.review-preview-grid figure:nth-child(2) blockquote{background:#e5edf5}
.review-preview-grid figure:nth-child(2) blockquote::before{background:#e5edf5}
.review-reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1);transition-delay:var(--review-delay,0ms)}
.review-reveal.is-visible{opacity:1;transform:translateY(0)}
@media(max-width:650px){.review-preview-grid{gap:1.4rem;margin:1.6rem auto}.review-preview-grid figure{width:96%}.review-preview-grid blockquote{font-size:.95rem;padding:.9rem 1rem;margin-left:12px}}
@media(prefers-reduced-motion:reduce){.review-reveal{opacity:1;transform:none;transition:none}}

/* Actual past-trip photographs, with uncropped group faces. */
#top .trip-fit-photo.real-trip-photo img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
.trip-memory-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:1rem}
.trip-memory-photo{margin:0;border-radius:14px;overflow:hidden;background:#f6ece4}
.trip-memory-photo img{display:block;width:100%;height:auto}
.trip-memory-photo:first-child{grid-row:span 2}
@media(max-width:650px){.trip-memory-grid{grid-template-columns:1fr}.trip-memory-photo:first-child{grid-row:auto}}

/* Center each trip theme on mobile. */
@media(max-width:650px){
 #top .trip-pillars{text-align:center}
 #top .trip-pillars article{grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center}
 #top .trip-pillars article>span{grid-row:auto;margin:0 0 .4rem}
 #top .trip-pillars h3,#top .trip-pillars p{width:100%;text-align:center}
}

/* Soft pink and butter-yellow incoming message bubbles. */
.review-preview-grid figure blockquote,.review-preview-grid figure blockquote::before{background:#f9dfe7}
.review-preview-grid figure:nth-child(2) blockquote,.review-preview-grid figure:nth-child(2) blockquote::before{background:#fff0bd}
.review-preview-grid figure:nth-child(3) blockquote,.review-preview-grid figure:nth-child(3) blockquote::before{background:#fbe7ed}

/* Updated supplied portraits, with natural upper-body framing. */
.participant-portrait[data-photo-slot="portrait-jia"] img{width:100%;height:100%;left:0;top:0;object-fit:cover;object-position:50% 12%;filter:none}
.participant-portrait[data-photo-slot="portrait-jenna"] img{width:100%;height:100%;left:0;top:0;object-fit:cover;object-position:50% 12%;filter:none}
.participant-portrait[data-photo-slot="portrait-haesa"] img{width:100%;height:100%;left:0;top:0;object-fit:cover;object-position:50% 12%;filter:none}
.participant-portrait[data-photo-slot="portrait-mikyeong"] img{width:100%;height:100%;left:0;top:0;object-fit:cover;object-position:50% 12%;filter:none}

/* Mikyeong's preview message is aligned to the right, including its tail. */
.review-preview-grid figure:nth-child(2){align-items:flex-end}
.review-preview-grid figure:nth-child(2) figcaption.with-portrait{flex-direction:row-reverse;text-align:right;align-self:flex-end}
.review-preview-grid figure:nth-child(2) blockquote{margin-left:0;margin-right:20px}
.review-preview-grid figure:nth-child(2) blockquote::before{left:auto;right:-7px;border-bottom-right-radius:0;border-bottom-left-radius:15px}
.review-preview-grid figure:nth-child(2) blockquote::after{left:auto;right:-12px;border-bottom-right-radius:0;border-bottom-left-radius:12px}
@media(max-width:650px){.review-preview-grid figure:nth-child(2) blockquote{margin-right:12px}}

/* A fan of printed photographs that opens into an accessible album. */
.trip-photo-fan{position:relative;width:100%;max-width:700px;height:370px;margin:1rem auto 0}
.trip-photo-card{position:absolute;top:40px;left:50%;width:35%;max-width:230px;aspect-ratio:3/4;padding:8px 8px 24px;background:#fffdf8;border-radius:8px;box-shadow:0 8px 24px #5b39352b;transform-origin:50% 95%;transition:transform .25s ease,box-shadow .25s ease;transform:translateX(calc(-50% + var(--shift))) rotate(var(--turn));overflow:hidden}
.trip-photo-card:nth-child(1){--shift:-80%;--turn:-20deg}
.trip-photo-card:nth-child(2){--shift:-28%;--turn:-7deg}
.trip-photo-card:nth-child(3){--shift:28%;--turn:7deg}
.trip-photo-card:nth-child(4){--shift:80%;--turn:20deg}
.trip-photo-card img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 65%;border-radius:3px}
.trip-photo-card span{position:absolute;bottom:5px;right:12px;color:#9b7771;font-size:.7rem}
.trip-photo-card:hover,.trip-photo-card:focus-visible{z-index:5;transform:translateX(calc(-50% + var(--shift))) translateY(-18px) rotate(var(--turn));box-shadow:0 14px 32px #5b393545;outline:2px solid #d9a1ae;outline-offset:3px}
.trip-memory-gallery .trip-photo-hint{margin:.5rem 0 0;color:#88656a;font-size:.85rem}
.trip-photo-dialog{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:65px 60px;background:rgba(30,23,26,.96);border:0;color:white;box-sizing:border-box}
.trip-photo-dialog::backdrop{background:rgba(0,0,0,.75)}
.trip-photo-dialog[open]{display:flex;align-items:center;justify-content:center}
.trip-photo-dialog .trip-photo-large{width:100%;height:100%;object-fit:contain}
.trip-photo-dialog button{position:absolute;width:44px;height:44px;border:1px solid #ffffff50;border-radius:50%;background:#ffffff18;color:#fff;font-size:30px;cursor:pointer;display:grid;place-items:center}
.trip-photo-close{top:15px;right:16px}.trip-photo-prev{left:10px;top:50%}.trip-photo-next{right:10px;top:50%}
.trip-photo-count{position:absolute;bottom:15px;left:0;width:100%;text-align:center;font-size:.85rem;color:#fff}
@media(max-width:650px){.trip-photo-fan{height:245px}.trip-photo-card{top:35px;width:34%;padding:5px 5px 21px}.trip-photo-card:nth-child(1){--shift:-75%}.trip-photo-card:nth-child(4){--shift:75%}.trip-photo-dialog{padding:65px 14px 75px}.trip-photo-prev,.trip-photo-next{top:auto;bottom:12px;z-index:2}.trip-photo-count{bottom:22px}}
@media(prefers-reduced-motion:reduce){.trip-photo-card{transition:none}}

/* Pastel frosted-glass messages, with readable text. */
#top .review-preview{background:radial-gradient(ellipse at 15% 40%,#f8d8e5aa,transparent 55%),radial-gradient(ellipse at 85% 70%,#fff0bbaa,transparent 50%),#fffaf6}
.review-preview-grid figure{--glass-tint:rgba(249,213,226,.48)}
.review-preview-grid figure:nth-child(2){--glass-tint:rgba(255,237,176,.48)}
.review-preview-grid figure:nth-child(3){--glass-tint:rgba(251,221,233,.48)}
.review-preview-grid figure blockquote{background:var(--glass-tint);backdrop-filter:blur(14px) saturate(125%);-webkit-backdrop-filter:blur(14px) saturate(125%);border:1px solid rgba(255,255,255,.85);box-shadow:inset 0 1px 0 #ffffffaa,0 8px 24px #8f65700d;color:#443e39}
.review-preview-grid figure blockquote::before{background:var(--glass-tint);width:13px;height:12px;left:-6px;bottom:3px;clip-path:polygon(100% 0,100% 100%,0 100%);border-radius:0;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.review-preview-grid figure blockquote::after{display:none}
.review-preview-grid figure:nth-child(2) blockquote::before{left:auto;right:-6px;clip-path:polygon(0 0,100% 100%,0 100%);border-radius:0}
#reviews-preview .review-preview-grid figure blockquote,#reviews-preview .review-preview-grid figure blockquote::before{background:var(--glass-tint)}

/* Early-bird price hierarchy. */
#pricing .price-highlight{border:2px solid #e8a3b6;background:linear-gradient(145deg,#fffdf7,#fff0f3);box-shadow:0 12px 32px #ad5e7812}
#pricing .earlybird-badge{display:table;margin:1.2rem auto 1rem;padding:.55rem 1rem;border-radius:999px;background:#963d55;color:#fff;font-size:.86rem;font-weight:750;letter-spacing:.02em;line-height:1.5}
#pricing .price-original{margin:.5rem 0 .2rem;color:#8b7578;font-size:1.1rem;line-height:1.6}
#pricing .price-original del{text-decoration-thickness:2px;text-decoration-color:#ac7883}
#pricing .earlybird-price{margin:.3rem 0;color:#963d55;font-size:clamp(2.4rem,7vw,4.2rem);font-weight:850;line-height:1.15;letter-spacing:-.055em}
#pricing .earlybird-price span{display:block;margin-top:.55rem;font-size:1.05rem;letter-spacing:0;line-height:1.5}
#pricing .earlybird-saving{display:table;margin:1rem auto 1.2rem;padding:.4rem .9rem;border-radius:8px;background:#ffefbc;color:#79472f;font-size:.95rem;font-weight:750;line-height:1.5}
.detail-original-price{font-size:.9em;color:#8b7578}
@media(max-width:650px){#pricing .earlybird-badge{font-size:.76rem;padding:.5rem .8rem}#pricing .price-original{font-size:1rem}#pricing .earlybird-saving{font-size:.85rem}}

/* Make the saving from the regular price unmistakable. */
#pricing .price-original{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.4rem .65rem;margin:1.2rem 0 1rem;font-size:clamp(1.3rem,3vw,1.7rem);font-weight:650;color:#817276}
#pricing .price-original>span{font-size:.9rem;color:#67585c}
#pricing .price-original del{text-decoration-thickness:3px;text-decoration-color:#9a4059}
#pricing .earlybird-discount-callout{position:relative;width:fit-content;max-width:100%;margin:0 auto 1.8rem;padding:.95rem 1.8rem 1.1rem;border-radius:16px;background:#963d55;box-shadow:0 8px 20px #963d5522;color:#fff;text-align:center}
#pricing .earlybird-discount-callout>span:first-child{display:block;font-size:.9rem;font-weight:600;line-height:1.5;color:#fff0f4}
#pricing .earlybird-discount-callout strong{display:block;margin-top:.15rem;font-size:clamp(1.85rem,5vw,2.8rem);font-weight:850;line-height:1.25;letter-spacing:-.04em;color:#fff0b8}
#pricing .earlybird-discount-callout .discount-arrow{position:absolute;bottom:-22px;left:calc(50% - 18px);width:36px;height:36px;border-radius:50%;background:#963d55;color:#fff0b8;display:grid;place-items:center;font-size:1.6rem;font-weight:700;line-height:1}
#pricing .earlybird-price-label{margin:0 0 .4rem;font-size:.92rem;font-weight:750;color:#963d55}
#pricing .earlybird-price{margin:.35rem 0 1.35rem}
@media(max-width:650px){#pricing .earlybird-discount-callout{padding:.85rem 1.2rem 1rem}#pricing .earlybird-price-label{font-size:.82rem}}

#details .detail-original-price del{text-decoration-thickness:2px}
#details .detail-price-saving{color:#963d55;font-weight:650;font-size:.9em}

/* Frosted pricing card with quiet pastel depth and clear discount hierarchy. */
#pricing{background:radial-gradient(ellipse at 12% 28%,rgba(240,184,204,.6),transparent 56%),radial-gradient(ellipse at 90% 75%,rgba(255,235,178,.65),transparent 55%);border-radius:32px}
#pricing .price-highlight{background:linear-gradient(135deg,rgba(255,255,255,.66),rgba(255,250,247,.3));border:1px solid rgba(255,255,255,.92);border-radius:28px;backdrop-filter:blur(22px) saturate(125%);-webkit-backdrop-filter:blur(22px) saturate(125%);box-shadow:inset 0 1px 0 #fff,0 16px 45px rgba(111,64,77,.09);padding:2.5rem 1.6rem;text-align:center}
#pricing .price-highlight>span{color:#705d64;font-size:.78rem;letter-spacing:.09em}
#pricing .earlybird-badge{background:rgba(255,255,255,.48);color:#8d3e58;border:1px solid rgba(184,106,135,.22);box-shadow:inset 0 1px 0 #ffffffb3;border-radius:999px;font-size:.75rem;padding:.5rem .95rem;margin:1.05rem auto 1.35rem}
#pricing .price-original{color:#89767e;font-weight:500;margin:0 0 1.1rem;font-size:clamp(1.25rem,3vw,1.55rem)}
#pricing .price-original>span{color:#77656e;font-size:.84rem}
#pricing .price-original del{text-decoration-color:#a47b8a;text-decoration-thickness:2px}
#pricing .earlybird-discount-callout{background:linear-gradient(125deg,rgba(248,204,222,.56),rgba(255,241,204,.42));border:1px solid rgba(255,255,255,.92);box-shadow:inset 0 1px 0 #ffffffd9,0 5px 18px #9d61700b;border-radius:18px;padding:.9rem 1.65rem 1rem;margin:0 auto 1.6rem;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
#pricing .earlybird-discount-callout>span:first-child{color:#78515e;font-size:.8rem;letter-spacing:.01em}
#pricing .earlybird-discount-callout strong{color:#963d55;font-size:clamp(1.8rem,5vw,2.5rem);font-weight:800;line-height:1.3}
#pricing .earlybird-discount-callout .discount-arrow{background:transparent;color:#a26076;box-shadow:none;bottom:-26px;font-size:1.35rem;font-weight:500}
#pricing .earlybird-price-label{color:#78515e;font-size:.82rem;font-weight:600;margin-bottom:.35rem}
#pricing .earlybird-price{color:#77344b;font-size:clamp(2.5rem,7vw,4rem);letter-spacing:-.055em;margin:.3rem 0 1.25rem}
#pricing .earlybird-price span{color:#705d64;font-size:1rem;font-weight:550}
#pricing .price-highlight>p:last-of-type{color:#6f6266;font-size:.88rem;line-height:1.7}
#pricing .price-highlight>a{color:#8d3e58;font-size:.85rem;font-weight:650;text-underline-offset:5px}
@media(max-width:650px){#pricing .price-highlight{padding:1.8rem 1rem;border-radius:23px}#pricing .earlybird-discount-callout{padding:.85rem 1.2rem 1rem}#pricing .price-highlight>p:last-of-type{font-size:.8rem}}

#top .gift-preview{text-align:center}
#top .gift-preview>.gift-concept{margin-top:0;width:100%;box-sizing:border-box}

/* Consistent rounded photographs throughout the villa introduction. */
#top .home img{border-radius:18px}

/* One continuous, numbered experience story, with supporting details grouped. */
#top .experience-sequence{background:#fff9f5;padding:0 clamp(16px,3vw,36px) 32px}
#top .experience-sequence>.story{padding:3rem 1rem 2rem;background:transparent}
#top .experience-chapter{padding:1.8rem 0 2.2rem;border-top:1px solid #ddbcc4;scroll-margin-top:4rem}
#top .chapter-heading{margin:0 0 1rem;color:#9c4960;font-size:.85rem;font-weight:750;letter-spacing:.12em;text-align:left}
#top .experience-chapter>.photo-scene.feature{border-radius:16px;background:#fffdf9}
#top .experience-chapter .feature-copy{padding:1.8rem}
#top .experience-chapter>.outfit-inspiration,#top .experience-chapter>.global-detail,#top .experience-chapter>.christmas-detail{background:transparent;padding:2rem 0 .5rem}
#top .experience-chapter .outfit-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}
#top .experience-chapter .outfit-grid img{aspect-ratio:2/3;object-fit:cover;object-position:center}
#top .experience-chapter .outfit-grid figure:nth-child(3) img{object-position:center 65%}
#top .experience-chapter .outfit-grid figure:nth-child(4) img{object-position:center 65%}
#top .experience-chapter .dress .feature-visual{aspect-ratio:2/3;min-height:0}
#top .experience-chapter .dress .feature-visual>.scene-image{object-fit:cover;object-position:center}
@media(max-width:650px){
 #top .experience-sequence{padding:0 18px 24px}
 #top .experience-chapter{padding:1.4rem 0 1.8rem}
 #top .chapter-heading{font-size:.78rem;margin-bottom:.8rem}
 #top .experience-chapter .feature-copy{padding:1.35rem 1rem 1.5rem}
 #top .experience-chapter .feature-copy h2{font-size:1.5rem;line-height:1.5}
 #top .experience-chapter .outfit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}
 #top .experience-chapter>.outfit-inspiration h2,#top .experience-chapter>.global-detail h2,#top .experience-chapter>.christmas-detail h2{font-size:1.4rem}
}

/* Match the brunch frame and keep the Christmas photos in one gallery. */
#top .experience-chapter .dress .feature-visual{aspect-ratio:4/3;min-height:0}
#top .experience-chapter .dress .feature-visual>.scene-image{object-fit:cover;object-position:50% 36%}
#top .eve-gallery-intro{background:#fffdf9;border-radius:16px;overflow:hidden;padding:2rem 0 0;text-align:center}
#top .eve-gallery-intro>h2{margin:0 1rem 1rem;color:#183e32;font-size:clamp(1.5rem,2.2vw,2rem);line-height:1.5}
#top .eve-gallery-intro>p{margin:0 1rem 1.6rem;line-height:1.85}
#top .eve-mood-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 12px 12px}
#top .eve-mood-gallery figure{margin:0;min-width:0;overflow:hidden;border-radius:10px;aspect-ratio:1/1}
#top .eve-mood-gallery figure:first-child{grid-column:1/-1;aspect-ratio:4/3}
#top .eve-mood-gallery img{position:static;display:block;width:100%;height:100%;object-fit:cover;object-position:center}
@media(min-width:768px){
 #top .experience-chapter .dress .feature-visual{aspect-ratio:auto;min-height:440px}
 #top .global-detail>.culture-badge{font-size:1.3rem;padding:.65rem 1.6rem;line-height:1.6}
 #top .eve-mood-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:0 18px 18px}
 #top .eve-mood-gallery figure,#top .eve-mood-gallery figure:first-child{grid-column:auto;aspect-ratio:3/4}
}
@media(min-width:1100px){#top .experience-chapter .dress .feature-visual{min-height:460px}}

/* Requested mobile-first refinements, October 2026. */
.nav .brand{font-size:1rem;line-height:1.3;white-space:nowrap}
.nav .brand span{font-size:1em;letter-spacing:.115em;line-height:1.3;margin-top:.2rem}
#top .trip-pillars article{padding-top:1rem;padding-bottom:1rem}
#top .trip-pillars article>p{margin-bottom:0}
#top .photo-scene.feature.dress .feature-visual>.scene-image{object-fit:cover;object-position:50% 36%}
#top .chapter-heading{display:table;padding:.5rem .8rem;border-radius:6px;background:#9c4960;color:#fff9f5}
#top .experience-chapter>.outfit-inspiration,
#top .experience-chapter>.global-detail,
#top .experience-chapter>.christmas-detail{margin:1.25rem 0 0 1rem;padding:1.5rem 1rem;border-left:2px solid #ddb3bf;border-radius:0 12px 12px 0;background:#f9eef0}
#top .experience-chapter .eve-steps article>span,
#top .experience-chapter .eve-steps article>div>span,
#top .experience-chapter .social-steps article>span{color:#956575}
#top .home .villa-exclusive{background:linear-gradient(140deg,#efc3d0,#f7dce3);border-color:#dba0b3}
#included-details .breakfast-self-service{margin-bottom:1em!important}
#included-details .all-activities-highlight{color:#8f3653;font-weight:750;background:#f7e4eb;border-radius:8px;padding:.8rem .8rem .8rem 2rem;margin-bottom:.5rem}
#included-details .all-activities-highlight:before{left:.6rem;color:#8f3653}
#top .package-excluded>h3{color:#a04432}
#top .package-excluded .airfare-excluded>b{color:#a04432;font-weight:800}
@media(min-width:768px){
 #top .experience-chapter>.outfit-inspiration,
 #top .experience-chapter>.global-detail,
 #top .experience-chapter>.christmas-detail{margin-left:1.5rem;padding:2rem 1.5rem}
}

/* Balance the two introduction text blocks between their photographs. */
#top .intro{--intro-copy-space:5rem;--intro-themes-space:2rem;padding-top:var(--intro-copy-space);padding-bottom:0}
#top .intro>.intro-breakfast-photo{margin-top:var(--intro-copy-space)}
#top .intro>.trip-pillars{margin-top:var(--intro-themes-space);margin-bottom:var(--intro-themes-space);padding-top:0;padding-bottom:0}
/* Each category uses the same emphasis; breakfast guidance stays neutral. */
#included-details .main-inclusion{padding:0;border-top:0;margin-block:.5rem}
#included-details .main-inclusion>.inclusion-label{display:block;padding:.8rem .8rem .8rem 2rem;border-radius:8px;background:#f7e4eb;color:#8f3653;font-weight:750}
#included-details .main-inclusion:before{left:.6rem;top:.8rem;color:#8f3653}
#included-details .main-inclusion>.breakfast-self-service{font-weight:400;margin-top:.8rem!important}
@media(max-width:650px){
 #top .intro{--intro-copy-space:3rem;--intro-themes-space:1.7rem}
}
/* Keep the mobile document flush to the viewport, including horizontal overscroll. */
@media(max-width:1024px){
 html{width:100%;max-width:100%;overflow-x:clip;scrollbar-gutter:auto;background:var(--paper)}
 body{width:100%;max-width:100%;margin-inline:0;overflow-x:clip;background:var(--paper)}
 body>main,body>.nav,body>.site-footer{width:100%;max-width:100%;margin-inline:0}
}

/* Fresh ocean photograph behind the unchanged trip details card. */
#details>.veil{background:rgba(222,249,248,.08)}
#details>.scene-image{object-fit:cover;object-position:center}

/* Limited early-bird availability, beside both price summaries. */
#pricing .earlybird-badge{display:inline-flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.5rem .65rem;max-width:100%}
#pricing .earlybird-limit{display:inline-block;padding:.2rem .65rem;border-radius:999px;background:#963d55;color:#fff;font-size:.85rem;font-weight:800;line-height:1.5;white-space:nowrap}
#details .detail-earlybird-limit{display:inline-block;margin-left:.5rem;padding:.12rem .5rem;border-radius:999px;background:#f7e4eb;color:#8f3653;font-size:.8rem;font-weight:800;line-height:1.6;white-space:nowrap;vertical-align:middle}

/* Equal outer breathing room for text sections; retain title/body grouping. */
#top .hero{padding-top:3rem;padding-bottom:3rem}
#top .experience-sequence>.story{padding-top:3rem;padding-bottom:3rem}
#top .experience-chapter{padding-top:1.8rem;padding-bottom:1.8rem}
#top .itinerary{padding-top:4.5rem;padding-bottom:4.5rem}
#top .details{padding-top:3.7rem;padding-bottom:3.7rem}
#top .final{padding-top:5rem;padding-bottom:5rem}
#top .eve-gallery-intro>p{margin-bottom:2rem}
#pricing .earlybird-discount-callout{padding-top:.9rem;padding-bottom:.9rem}
@media(max-width:767px){
 #top .photo-scene.feature .feature-copy,
 #top .photo-scene.feature.social .feature-copy,
 #top .photo-scene.feature.beach .feature-copy{padding-top:1.7rem;padding-bottom:1.7rem}
}
@media(max-width:650px){
 #top .hero{padding-top:2rem;padding-bottom:2rem}
 #top .experience-chapter{padding-top:1.4rem;padding-bottom:1.4rem}
 #top .itinerary{padding-top:3.2rem;padding-bottom:3.2rem}
 #top .details{padding-top:2.8rem;padding-bottom:2.8rem}
 #top .final{padding-top:3.5rem;padding-bottom:3.5rem}
 #pricing .earlybird-discount-callout{padding-top:.85rem;padding-bottom:.85rem}
}

/* Inline day disclosures and concise application action. */
#itinerary .day-list{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;margin-top:1.8rem}
#itinerary .day-disclosure{min-width:0;padding:0;border:1px solid #e7ddc8;border-radius:14px;background:var(--paper);scroll-margin-top:1rem}
#itinerary .day-disclosure:nth-child(3),#itinerary .day-disclosure:nth-child(4){border-color:#ce948e}
#itinerary .day-summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;list-style:none;padding:1.3rem 1.5rem;cursor:pointer;border-radius:13px;color:var(--green);scroll-margin-top:1rem;-webkit-tap-highlight-color:transparent}
#itinerary .day-summary::-webkit-details-marker{display:none}
#itinerary .day-summary::marker{content:''}
#itinerary .day-title{min-width:0;display:block}
#itinerary .day-summary .day-date{display:block;padding:0;font-size:.8rem;line-height:1.6;letter-spacing:.06em}
#itinerary .day-summary strong{display:block;font-family:Georgia,serif;font-style:italic;font-size:clamp(1.25rem,3vw,1.7rem);line-height:1.3;margin-top:.3rem;overflow-wrap:anywhere}
#itinerary .day-chevron{flex:none;transition:transform .2s ease}
#itinerary .day-disclosure[open]>.day-summary{border-bottom:1px solid #e7ddc8;border-radius:13px 13px 0 0;background:#f5efdf}
#itinerary .day-disclosure[open] .day-chevron{transform:rotate(180deg)}
#itinerary .day-summary:focus-visible,#itinerary .day-controls button:focus-visible{outline:3px solid #b43c34;outline-offset:3px}
#itinerary .day-content{padding:1.5rem}
#itinerary .day-content>.day-subtitle{margin:0 0 1.2rem}
#itinerary .day-controls{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid #e7ddc8}
#itinerary .day-controls button{font:inherit;font-size:.9rem;font-weight:700;color:var(--green);background:#efe9db;border:0;border-radius:8px;padding:.75rem 1rem;min-height:44px;cursor:pointer}
#itinerary .day-controls button:hover{background:#e4dbc5}
#itinerary .day-controls button[data-next-day]{background:var(--green);color:var(--paper);margin-left:auto}
.scope-asterisk{font-size:.52em;line-height:0;vertical-align:super;margin-left:.1em;letter-spacing:0}
.floating-apply{min-height:48px;padding:.8rem 1.5rem;border-radius:999px;animation:none}
.floating-apply .apply-label{display:block;font-size:.95rem;font-weight:700;line-height:1.2;letter-spacing:.12em;white-space:nowrap}
@media(max-width:650px){
 #itinerary .day-summary{padding:1.1rem}
 #itinerary .day-content{padding:1.2rem 1.1rem}
 #itinerary .day-summary strong{font-size:1.25rem}
 #itinerary .day-summary .day-date{font-size:.78rem;letter-spacing:.02em}
 .floating-apply{min-height:48px;padding:.85rem 1.3rem;border-radius:999px}
 .floating-apply .apply-label{white-space:nowrap;font-size:.9rem}
}
@media(prefers-reduced-motion:reduce){#itinerary .day-chevron{transition:none}}

/* Review navigation and unobtrusive explanations at the end of the page. */
.all-reviews-button{display:inline-flex;align-items:center;justify-content:center;gap:.7rem;min-height:46px;margin:1rem auto 0;padding:.7rem 1.3rem;border:1px solid #153c30;border-radius:6px;color:#153c30;background:transparent;text-decoration:none;font-size:.95rem;font-weight:650}
.all-reviews-button:hover{background:#153c30;color:#fffdf7}
.all-reviews-button:focus-visible{outline:3px solid #b43c34;outline-offset:4px}
#participant-stories{scroll-margin-top:1.5rem}
#top #experience-dress{border-top:0}
.scope-asterisk a{color:inherit;text-decoration:none;padding:0 .08em}
.scope-asterisk a:hover{text-decoration:underline}
.scope-asterisk a:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.package-notes{max-width:1040px;margin:0 auto;padding:1.5rem clamp(1.25rem,4vw,3rem) 6rem;color:#62625b;text-align:left;background:transparent}
.package-notes p{margin:0 0 1rem;font-size:.8rem;line-height:1.85;word-break:keep-all;overflow-wrap:anywhere;scroll-margin-top:1.5rem}
.package-notes strong{font-size:inherit;font-weight:650}

/* Tight footnote markers and explicit participant capacity. */
.scope-asterisk{margin-left:0;letter-spacing:0;white-space:nowrap}
.scope-asterisk a{padding:0;margin:0;letter-spacing:0}
.price-highlight .participant-limit{margin:.85rem 0 .45rem;font-size:1rem;font-weight:700;color:var(--green);line-height:1.6}
#top .intro-continuation{padding-top:0}

/* User-selected photographs: keep existing frame ratios and adjust only crop focus. */
#top .photo-scene.feature.social .feature-visual>.scene-image{object-position:50% 48%}
#top .photo-scene.feature.beach .feature-visual>.scene-image{object-position:50% 45%}
#top .photo-scene.feature.boat .feature-visual>.scene-image{object-position:50% 64%}
.social-step-photo.dinner-photo{object-position:50% 54%}
.social-step-photo.mission-photo{object-position:50% 74%}
.intro-christmas-photo img{object-fit:cover;object-position:50% 42%}
.trip-fit-photo img{object-fit:cover;object-position:50% 61%}
.trip-photo-grid figure:nth-child(4) img{object-position:50% 72%}
.trip-photo-grid figure:nth-child(6) img{object-position:50% 60%}
.review-mood-photo{max-width:720px;margin:0 auto 2.5rem}
.review-mood-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:50% 76%;border-radius:14px}
.review-mood-photo figcaption{margin-top:.5rem;text-align:right;font-size:.75rem;color:#78655e}

/* Participant names sit above their messages, aligned with each bubble. */
#reviews-preview .review-preview-grid figcaption{order:-1;margin:0 0 .5rem 20px;padding:0;font-size:.85rem;line-height:1.5;color:#78655e;font-weight:650}
#reviews-preview .review-preview-grid figure:nth-child(2) figcaption{margin-left:0;margin-right:20px;text-align:right}
@media(max-width:650px){
 #reviews-preview .review-preview-grid figcaption{margin-left:12px}
 #reviews-preview .review-preview-grid figure:nth-child(2) figcaption{margin-left:0;margin-right:12px}
}
#included-details .meal-service>span{background:transparent;color:inherit;font:inherit;letter-spacing:inherit;padding:0;border-radius:0}

/* Preserve photo frames while focusing on the selected people and FINNS building. */
#top .photo-scene.feature.beach .feature-visual>.scene-image{object-position:50% 100%}
.trip-photo-grid img[src="assets/user-photo-17-oct06.jpg"]{object-position:50% 100%}
#top .photo-scene.feature.boat .feature-visual>.scene-image{object-position:50% 20%}
.collage img.collage-boat{object-position:50% 20%}
#top .photo-scene.feature.social .feature-visual>.scene-image{object-position:50% 54%}
.social-step-photo.dinner-photo{object-position:50% 48%}
.social-step-photo.party-photo{object-position:50% 50%}
#top .intro-moment img{object-fit:cover;object-position:50% 100%}
#top .intro>.intro-breakfast-photo img{object-fit:cover;object-position:50% 80%}
#top .photo-scene.feature.brunch .feature-visual>.scene-image{object-position:50% 80%}
.collage img.collage-brunch{object-position:50% 80%}
.written-reviews>.review-mood-photo{margin-top:2.5rem;margin-bottom:0}

/* Latest selected scene images retain their existing responsive frames. */
#top #experience-dress .feature-visual>.scene-image{object-position:50% 50%}
#top #experience-brunch .feature-visual>.scene-image{object-position:50% 50%}
#top #experience-social .feature-visual>.scene-image{object-position:50% 45%}
#experience-eve .house-party-with-photo figure img{object-position:50% 45%;object-fit:cover}

/* Consistent section rhythm and photo transitions, October 6. */
#top{--section-space:clamp(3rem,6vw,5rem);--photo-gutter:clamp(18px,3vw,36px)}
#top>section:not(.hero):not(.photo-scene):not(.intro-continuation){padding-top:var(--section-space);padding-bottom:var(--section-space)}
#top .experience-chapter{padding-top:2rem;padding-bottom:2rem}
#top .intro-moment{padding:0 var(--photo-gutter) 2rem;background:#fff9f5}
#top .intro-moment img{border-radius:12px}
#top .experience-sequence{padding-left:var(--photo-gutter);padding-right:var(--photo-gutter)}
#top .experience-sequence>.experience-chapter:first-child{padding-top:0;border-top:0}
#top .experience-chapter .feature-visual{border-radius:12px;overflow:hidden}
#top #experience-brunch .feature-visual>.scene-image{object-position:50% 42%}
#top img[src="assets/christmas-refresh-04-boat-party-oct07.png"]{clip-path:inset(0 1.2% 0 0);transform:scale(1.03);transform-origin:left center}
#top .collage{overflow:hidden}
#top .collage img.collage-gift{object-position:50% 65%}

#participant-stories .all-reviews-action{text-align:center;margin-top:1.5rem}
#participant-stories .all-reviews-button:disabled{font-family:inherit;opacity:1;cursor:default}
