:root{--paper:#fffcf8;--ink:#493e53;--red:#a65043;--green:#493e53;--pink:#fff0e9;--yellow:#f3eefb;--muted:#493e53;scroll-behavior:smooth;scroll-padding-top:5rem}*{box-sizing:border-box}body{margin:0;background:#f3eefb;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR","Malgun Gothic",sans-serif;line-height:1.8;word-break:keep-all}a{color:inherit}img{display:block;max-width:100%;width:100%;object-fit:cover}figure{margin:0}main{max-width:1000px;margin:auto;background:var(--paper)}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.4;letter-spacing:-.035em}h2{font-size:clamp(1.7rem,4.4vw,2.8rem);font-weight:800}h3{font-size:1.3rem;font-weight:750}p{font-size:1.12rem}.eyebrow{font-size:.875rem;letter-spacing:.11em;font-weight:750;line-height:1.6;margin-bottom:1.6rem}.red{color:var(--red)}.paper{background:var(--paper);padding:5rem 3.5rem;text-align:center}.paper>p:not(.eyebrow):not(.image-note){margin-top:1.8rem}.image-note{font-size:.75rem;line-height:1.6;color:var(--muted);text-align:center;padding:0 1.2rem;margin-top:1.2rem!important;letter-spacing:0}.light{color:#fff}.muted{color:var(--muted);font-size:1rem}.nav{max-width:1000px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:1.3rem;padding:1rem 2rem;background:var(--paper)}.brand{font-size:1.05rem;font-weight:850;letter-spacing:.07em;line-height:1.3;text-decoration:none}.brand span{display:block;font-size:.75rem;letter-spacing:.24em;color:var(--red);margin-top:.25rem}.nav nav{display:flex;gap:1.5rem}.nav nav a{font-size:.9rem;font-weight:650;text-decoration:none;padding:.2rem 0}.nav a:hover{color:var(--red)}.skip{position:absolute;left:-9999px;top:0;padding:1rem;background:var(--yellow);z-index:10}.skip:focus{left:1rem;top:1rem}:focus-visible{outline:3px solid var(--red);outline-offset:5px}.photo-scene{position:relative;isolation:isolate;color:white;overflow:hidden}.scene-image,.veil{position:absolute;inset:0;height:100%;z-index:-2}.veil{background:linear-gradient(180deg,rgba(0,0,0,.28),rgba(0,0,0,.25) 45%,rgba(0,0,0,.6));z-index:-1}.photo-scene>.image-note{position:absolute;bottom:1.25rem;left:0;width:100%}.hero{min-height:960px;text-align:center;padding:3rem 1.5rem 4rem;display:grid;place-items:center}.hero-copy{width:100%}.hero h1{font-size:clamp(1.7rem,4.8vw,3.2rem);line-height:1.5}.hero-title{font-size:clamp(3.1rem,7.8vw,5.4rem);font-weight:850;line-height:1.06;letter-spacing:-.02em;margin-top:2.6rem}.hero-title span{display:block;color:var(--pink);font-family:Georgia,"Times New Roman",serif;font-weight:400;font-style:italic;font-size:1.04em;margin-top:.8rem}.hero-strip{background:var(--green);display:inline-block;padding:.7rem 1rem;font-size:1.02rem;font-weight:650;border-radius:3px;margin-top:2.7rem}.date-pill{background:var(--paper);color:var(--ink);padding:.6rem 1.3rem;display:table;margin:2rem auto 0;font-size:1.2rem;font-weight:700}.date-pill span{border-left:1px solid #ffedaf;padding-left:1rem;margin-left:1rem}.hero-meta{margin-top:1.6rem;font-weight:750;letter-spacing:.035em;font-size:1.1rem}.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2.7rem}.pillars>div{background:#f3eefb;padding:1.15rem .5rem;border-radius:5px}.pillars span{font-size:.8rem;font-weight:750;color:var(--red)}.pillars p{font-size:1rem;margin-top:.6rem;line-height:1.7}.ribbon{padding:1.4rem 1rem;background:var(--pink);font-size:.95rem;font-weight:800;letter-spacing:.03em;text-align:center}.story{padding-top:5.5rem}.story-row{display:grid;grid-template-columns:1fr 1fr;gap:2.2rem;margin-top:3.3rem;text-align:left;align-items:center}.story-row figure img{aspect-ratio:1/1}.story-row.reverse figure{order:2}.story-row p{font-size:1rem;margin-top:1rem}.number{font-family:Georgia,serif;font-style:italic;font-size:2.6rem;color:var(--red);line-height:1}.story-row h3{margin-top:.8rem;font-size:1.5rem}.feature{min-height:630px;padding:3.2rem 2rem 5rem;display:grid;align-items:center;text-align:center}.feature-copy{width:100%}.feature h2{font-size:clamp(1.8rem,5vw,3.1rem);font-weight:850;line-height:1.48}.feature-copy>p:last-child{margin:4rem auto 0;max-width:780px;font-weight:650;line-height:1.95}.brunch{min-height:540px}.dress-guide{padding-top:3rem;padding-bottom:3rem}.dress-codes{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.dress-codes>div{padding:1rem .4rem;border-top:1px solid #ffedaf;border-bottom:1px solid #ffedaf}.dress-codes b{font-size:.75rem;display:block;color:var(--red)}.dress-codes span{display:block;font-family:Georgia,serif;font-size:1.2rem;margin-top:.5rem}.social .veil{background:linear-gradient(180deg,rgba(0,0,0,.36),rgba(0,0,0,.35),rgba(0,0,0,.65))}.social-steps{margin-top:3rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;text-align:left}.social-steps article{border-top:3px solid var(--red);padding-top:1.2rem}.social-steps span,.eve-steps span{font-size:.8rem;color:var(--red);font-weight:800;letter-spacing:.04em}.social-steps h3{margin-top:.6rem;font-size:1.3rem}.social-steps p{font-size:1rem;margin-top:1rem}.closing-line{font-weight:750;color:var(--green);font-size:1.4rem;margin-top:3rem!important}.english{background:#ddd0ef;text-align:center;padding:4rem 3.5rem}.english>p:not(.eyebrow){margin-top:1.7rem}.conversation{margin:2rem auto;background:var(--paper);max-width:700px;padding:1.6rem 2rem}.conversation p{font-family:Georgia,serif;font-style:italic;font-size:1.55rem;line-height:1.5;padding:1rem 0}.conversation p+p{border-top:1px solid #ffedaf}.conversation span{display:block;font-family:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo",sans-serif;font-style:normal;font-size:1rem;color:var(--muted);margin-top:.3rem}.photo-pair{display:grid;grid-template-columns:1fr 1fr}.photo-pair img{aspect-ratio:1.25/1}.christmas-detail{background:#fff0e9;padding:4.5rem 3.5rem;text-align:center}.eve-steps{max-width:720px;margin:2.8rem auto 0;text-align:left}.eve-steps article{padding:1.6rem 0;border-top:1px solid #e89b89}.eve-steps h3{margin-top:.4rem;font-size:1.6rem}.eve-steps p{margin-top:1rem;font-size:1.05rem}.beach,.boat{min-height:670px}.balance p{line-height:2}.itinerary{padding:4.5rem 3rem 3rem}.itinerary .veil{background:rgba(0,0,0,.5)}.itinerary-inner{position:relative;text-align:center}.itinerary h2{font-size:clamp(1.7rem,4.8vw,2.8rem);letter-spacing:-.02em}.itinerary-sub{font-size:1rem;margin-top:.5rem}.day-list{display:grid;gap:1rem;margin:2.7rem auto 0;max-width:740px}.day{background:var(--paper);color:var(--ink);border-radius:6px;padding:1.5rem 1.6rem;text-align:left}.day-heading{display:flex;gap:1.4rem;align-items:center}.day-number{font-family:Georgia,serif;font-size:2.5rem;font-style:italic;color:var(--red);line-height:1}.day-date{font-size:.875rem;font-weight:750;color:var(--red)}.day h3{font-size:1.3rem;letter-spacing:-.025em;margin-top:.2rem}.day ul{padding:0;margin:1rem 0 0;list-style:none}.day li{font-size:1.05rem;line-height:1.9}.itinerary-end{font-size:.95rem;line-height:1.9;margin-top:2rem}.home figure{margin-top:2.6rem}.home figure img{aspect-ratio:1.9/1}.together{background:#fff8dc;padding:4.5rem 2rem;text-align:center}.together>p:not(.eyebrow){margin-top:1.5rem}.collage{display:grid;grid-template-columns:repeat(3,1fr);margin:2.5rem -2rem 2rem;gap:4px}.collage img{aspect-ratio:1.16/1}.together h3{color:var(--green);letter-spacing:.06em}.wish-list{list-style:none;padding:0;margin:2.5rem auto 0;max-width:720px;text-align:left}.wish-list li{padding:1rem 0 1rem 1.8rem;border-bottom:1px solid #ffedaf;font-size:1.05rem;position:relative}.wish-list li:before{content:'✓';position:absolute;left:0;color:var(--red);font-weight:800}.trip-fit{max-width:720px;background:#f3eefb;margin:2.4rem auto 0;padding:1.7rem;text-align:left;border-left:3px solid var(--red)}.trip-fit p{font-size:1rem;margin-top:1rem}.details{padding:3.7rem 3rem 4.7rem}.details .veil{background:rgba(0,0,0,.58)}.details-card{background:var(--paper);color:var(--ink);padding:2.8rem;max-width:740px;margin:auto;text-align:center;border-radius:6px}.details-card h2{font-size:1.9rem;letter-spacing:-.02em}.details-card dl{margin:2.2rem 0;text-align:left}.details-card dl>div{display:grid;grid-template-columns:110px 1fr;gap:1.2rem;padding:.6rem 0;font-size:1.05rem}.details-card dt{font-weight:750}.details-card dd{margin:0}.booking{padding-top:1.8rem;border-top:1px solid #f3eefb}.booking h3{color:var(--red)}.booking p{margin-top:1.2rem;font-size:1rem}.booking .muted{font-size:.875rem}.faq{text-align:left}.faq .eyebrow,.faq h2{text-align:center}.faq h2{font-size:1.9rem;margin-bottom:2.6rem}.faq details{border-top:1px solid #f3eefb;padding:1.3rem 0}.faq details:last-child{border-bottom:1px solid #f3eefb}.faq summary{font-size:1.15rem;font-weight:750;cursor:pointer;line-height:1.65}.faq details p{font-size:1rem;margin-top:.8rem;line-height:1.9;color:#242424}.final{background:var(--ink);color:var(--paper);text-align:center;padding:4.5rem 2rem 3rem}.final .eyebrow{color:var(--yellow)}.final p:not(.eyebrow){margin-top:1.8rem}.final h2{font-size:clamp(1.8rem,4.6vw,2.8rem)}.cta{display:block;max-width:650px;margin:2.5rem auto 0;background:var(--yellow);color:var(--ink);text-decoration:none;padding:1.2rem;font-size:1.2rem;font-weight:800;border-radius:4px;transition:background .2s}.cta:hover{background:#ffedaf}.cta span{margin-left:.7rem;display:inline-block}.footer-mark{font-size:.875rem;letter-spacing:.05em}.site-footer{text-align:center;padding:1.5rem;font-size:.875rem;color:var(--muted)}
@media(min-width:1100px){main,.nav{box-shadow:0 0 50px rgba(30,32,30,.08)}.hero{min-height:1030px}.feature{min-height:690px}.beach,.boat{min-height:740px}}
@media(max-width:650px){.nav{padding:.9rem 1rem}.nav nav{gap:.9rem}.nav nav a{font-size:.875rem}.brand{font-size:.9rem}.brand span{font-size:.75rem}.paper{padding:3.2rem 1.4rem}.eyebrow{font-size:.8rem;letter-spacing:.065em;margin-bottom:1.2rem}p{font-size:1rem}.hero{min-height:780px;padding:2.4rem 1rem 3.5rem}.hero h1{font-size:1.65rem}.hero-title{font-size:3.15rem;margin-top:2rem}.hero-strip{font-size:.82rem;padding:.6rem .7rem;margin-top:1.8rem;max-width:100%}.date-pill{font-size:.94rem;padding:.65rem .8rem;margin-top:1.5rem}.date-pill span{padding-left:.6rem;margin-left:.6rem}.hero-meta{font-size:.94rem}.pillars{gap:.5rem;margin-top:2rem}.pillars>div{padding:.9rem .3rem}.pillars span{font-size:.75rem;letter-spacing:-.02em}.pillars p{font-size:.85rem}.ribbon{font-size:.8rem;padding:1.15rem .6rem}.story-row{grid-template-columns:1fr;gap:1.2rem;margin-top:2.4rem}.story-row figure img{aspect-ratio:1.6/1}.story-row.reverse figure{order:0}.story-row h3{font-size:1.4rem}.story-row p{font-size:1rem}.number{font-size:2rem}.feature{min-height:560px;padding:2.6rem 1.2rem 4rem}.feature h2{font-size:1.9rem}.feature-copy>p:last-child{margin-top:3rem;font-size:1rem}.brunch{min-height:470px}.dress-codes{grid-template-columns:repeat(2,1fr);gap:1rem}.dress-codes b{font-size:.8rem}.dress-guide .muted{font-size:.9rem}.social-steps{grid-template-columns:1fr;gap:2rem;margin-top:2rem}.social-steps span,.eve-steps span{font-size:.82rem}.social-steps h3{font-size:1.35rem}.closing-line{font-size:1.2rem}.english{padding:3rem 1.4rem}.conversation{padding:.8rem 1rem}.conversation p{font-size:1.35rem}.conversation span{font-size:.95rem}.christmas-detail{padding:3.1rem 1.4rem}.eve-steps h3{font-size:1.35rem}.eve-steps p{font-size:1rem}.beach,.boat{min-height:620px}.itinerary{padding:3.2rem 1.2rem 2rem}.day{padding:1.3rem 1.1rem}.day-heading{gap:1rem}.day h3{font-size:1.04rem;word-break:normal}.day-number{font-size:2.2rem}.day li{font-size:1rem;line-height:1.85;margin-bottom:.18rem}.day-date{font-size:.85rem}.itinerary-end{font-size:.9rem}.home figure img{aspect-ratio:1.25/1}.together{padding:3.1rem 1.2rem}.collage{margin-left:-1.2rem;margin-right:-1.2rem;grid-template-columns:repeat(2,1fr)}.wish-list li{font-size:1rem}.trip-fit{padding:1.2rem}.details{padding:2.8rem 1.2rem 4rem}.details-card{padding:2rem 1.2rem}.details-card h2{font-size:1.55rem}.details-card dl>div{grid-template-columns:75px 1fr;gap:.6rem;font-size:.94rem}.booking p{font-size:.94rem}.faq h2{font-size:1.65rem}.faq summary{font-size:1.1rem}.final{padding:3.3rem 1.2rem 2.5rem}.final h2{font-size:1.8rem}.cta{font-size:1rem;padding:1rem .8rem}.cta span{display:block;margin-left:0;font-size:1.06rem}.image-note{font-size:.75rem}.footer-mark{font-size:.78rem}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}.cta{transition:none}}

/* Detailed six-day itinerary, matching the supplied trip guide. */
.itinerary{background:var(--green);padding:5rem 3.5rem;color:var(--paper)}
.itinerary-inner{max-width:820px;margin:0 auto;text-align:center}
.itinerary .eyebrow{color:var(--yellow)}
.itinerary-sub{margin-top:.8rem;color:#f3eefb}
.itinerary-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin:2.4rem 0 3rem;text-align:left}
.itinerary-overview button{display:block;text-decoration:none;padding:1.1rem 1.2rem;border-radius:8px;background:#493e53;color:var(--paper)}
.itinerary-overview button:nth-child(3),.itinerary-overview button:nth-child(4){background:#a65043}
.itinerary-overview button:hover{box-shadow:inset 0 0 0 2px var(--yellow)}
.itinerary-overview span{display:block;font-size:.75rem;letter-spacing:.035em;font-weight:650}
.itinerary-overview strong{display:block;font-family:Georgia,serif;font-style:italic;font-size:1.15rem;line-height:1.35;margin-top:.45rem}
.itinerary .day-list{display:grid;grid-template-columns:1fr;gap:1.5rem;text-align:left}
.itinerary .day{background:var(--paper);color:var(--ink);padding:2.4rem 2.6rem;border:1px solid #f3eefb;border-radius:16px;scroll-margin-top:2rem}
.itinerary .day:nth-child(3),.itinerary .day:nth-child(4){border:2px solid var(--yellow)}
.itinerary .day-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;border:0;padding:0;margin:0 0 1.6rem}
.itinerary .day-date{color:#a65043;font-size:.8rem;letter-spacing:.12em;font-weight:800}
.itinerary .day-heading h3{font-family:Georgia,serif;font-style:italic;font-size:clamp(1.8rem,4.5vw,2.6rem);font-weight:700;line-height:1.16;color:var(--green);letter-spacing:-.035em;margin:.55rem 0 0}
.itinerary .day-number{font-family:Georgia,serif;font-size:4.8rem;line-height:1;color:#ffedaf;flex:none;font-weight:700;font-style:normal}
.itinerary .day-subtitle{font-size:.95rem;line-height:1.65;margin-top:.8rem;color:#242424;max-width:540px}
.itinerary .day ul{margin:0;padding:0;list-style:none}
.itinerary .day li{display:block;padding:1.1rem 0;margin:0;border:0;border-top:1px solid #ffedaf}
.itinerary .day li:first-child{border-top:0;padding-top:0}
.itinerary .day li:last-child{padding-bottom:0}
.itinerary .day h4{font-size:1.08rem;line-height:1.6;font-weight:800;margin:0;letter-spacing:-.02em;color:var(--green)}
.itinerary .day li p{font-size:1rem;line-height:1.85;color:#242424;margin:.45rem 0 0}
.itinerary .itinerary-end{font-size:.875rem;color:#f3eefb;margin-top:2rem;line-height:1.8}
.site-footer p{font-size:.875rem}.site-footer .image-note{font-size:.75rem;margin-top:.65rem!important;line-height:1.7}
@media(max-width:640px){.itinerary{padding:3.5rem 1.2rem}.itinerary-overview{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin:1.8rem 0 2rem}.itinerary-overview button{padding:.9rem .85rem}.itinerary-overview span{font-size:.75rem;letter-spacing:0}.itinerary-overview strong{font-size:1.05rem}.itinerary .day{padding:1.65rem 1.35rem;border-radius:12px}.itinerary .day-heading{gap:.6rem;margin-bottom:1.3rem}.itinerary .day-number{font-size:3.2rem}.itinerary .day-date{letter-spacing:.055em;font-size:.75rem}.itinerary .day-heading h3{font-size:1.85rem}.itinerary .day li{padding:1rem 0}.itinerary .day h4{font-size:1rem}.itinerary .day li p{font-size:1rem;line-height:1.9}.itinerary .day-subtitle{font-size:.9rem}}

.itinerary-overview button{border:0;font:inherit;text-align:left;cursor:pointer;min-width:0}
.itinerary-overview button[aria-selected="true"]{background:var(--yellow);color:var(--green);box-shadow:0 0 0 2px var(--yellow)}
.itinerary-overview button[aria-selected="false"]{background:#493e53;color:var(--paper)}
.itinerary-overview button[aria-selected="false"]:hover{background:#493e53}
.itinerary .day[hidden]{display:none}

/* Supplied ribbon pattern for the itinerary section only. */
#itinerary{background:#fff0e9 url('assets/itinerary-christmas-hires.png') center top / 100% auto repeat-y;color:var(--green)}
#itinerary .eyebrow{color:#a65043}
#itinerary .itinerary-sub,#itinerary .itinerary-end{color:var(--green)}

.villa-photos{margin-top:2.6rem;text-align:left}.home .villa-photos figure{margin:0}.home .villa-photos img{aspect-ratio:auto;height:auto}.villa-photos figcaption{font-size:.875rem;line-height:1.6;color:var(--muted);margin-top:.65rem}.villa-pair{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.6rem}.villa-pair figure{min-width:0}@media(max-width:640px){.villa-pair{grid-template-columns:1fr;gap:1.4rem}}

#itinerary .itinerary-hint{display:table;margin:1.3rem auto 0;padding:.65rem 1rem;border-radius:8px;background:var(--paper);color:var(--green);font-size:1rem;font-weight:750;line-height:1.7}

.story-row figure img.get-ready-photo{aspect-ratio:1/1;object-position:center top;filter:brightness(1.02) saturate(.88) sepia(.08)}

.villa-gallery{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem 1rem;margin-top:1.6rem;align-items:start}.villa-gallery figure{min-width:0}.villa-bedroom{grid-column:2;grid-row:1 / span 2}.home .villa-exterior{margin-top:1.6rem}.villa-gallery .villa-terrace{grid-column:1;grid-row:2}@media(max-width:640px){.villa-gallery{grid-template-columns:1fr}.villa-bedroom,.villa-gallery .villa-terrace{grid-column:auto;grid-row:auto}}

.social-steps article figure{margin-bottom:1.2rem}.social-steps .social-step-photo{aspect-ratio:4/3;object-fit:cover}.social-step-photo.mission-photo{object-position:50% 22%}.social-step-photo.dinner-photo{object-position:50% 62%}.social-step-photo.party-photo{object-position:50% 43%}.english-photo{max-width:700px;margin:2rem auto 0}.english-photo img{aspect-ratio:4/3;object-position:50% 78%}.eve-user-photo .scene-image{object-position:50% 30%}.eve-user-photo .veil{background:linear-gradient(180deg,rgba(0,0,0,.26),rgba(0,0,0,.36) 45%,rgba(0,0,0,.68))}.christmas-photo-pair img{aspect-ratio:4/3;object-position:center}@media(max-width:640px){.christmas-photo-pair{grid-template-columns:1fr}.social-steps .social-step-photo{aspect-ratio:4/3}}

.boat-user-photo .scene-image{object-position:50% 20%}.christmas-photo-pair img.eve-table-photo{object-position:50% 58%}@media(max-width:640px){.eve-user-photo .scene-image{object-position:52% 30%}.boat-user-photo .scene-image{object-position:50% 22%}}

.story-row figure img.story-christmas-photo{aspect-ratio:1/1;object-position:center}.dress-user-photo .scene-image{object-position:50% 45%}.balance-photo{margin:2.6rem auto 0;max-width:780px}.balance-photo img{aspect-ratio:16/9;object-position:center}@media(max-width:640px){.balance-photo img{aspect-ratio:4/3}.dress-user-photo .scene-image{object-position:50% 42%}}

.dress-user-photo .scene-image{object-position:50% 68%}.brunch-user-photo .scene-image{object-position:50% 46%}.eve-user-photo .scene-image{object-position:50% 56%}.balance-photo img{aspect-ratio:4/3;object-position:50% 56%}@media(max-width:640px){.dress-user-photo .scene-image{object-position:50% 65%}.brunch-user-photo .scene-image{object-position:50% 45%}.eve-user-photo .scene-image{object-position:50% 56%}}

.eve-steps article.house-party-with-photo{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:center}.house-party-with-photo img{aspect-ratio:4/3;object-position:center}.trip-fit-photo{max-width:720px;margin:2.4rem auto 0}.trip-fit-photo img{aspect-ratio:4/3;object-position:center}@media(max-width:640px){.eve-steps article.house-party-with-photo{grid-template-columns:1fr;gap:1.2rem}}

.beach .scene-image{object-position:50% 50%}.collage img.collage-brunch{object-position:50% 45%}.collage img.collage-dinner{object-position:50% 60%}.collage img.collage-ready{object-position:50% 5%}.collage img.collage-boat{object-position:50% 20%}

.final{background:linear-gradient(160deg,#fff0e9 0%,#fff0e9 100%);color:var(--green)}.final .eyebrow{color:#a65043}.final .footer-mark{color:#242424}.final .cta{background:var(--paper);color:var(--green);border:1px solid rgba(21,60,48,.16);box-shadow:0 5px 18px rgba(112,53,66,.08)}.final .cta:hover{background:#f3eefb}.trip-fit-photo img{object-position:50% 63%}

/* Trip identity, a photo pause, and the girls-only villa highlights. */
.intro-moment{padding:0 3.5rem;background:var(--paper)}
.intro-moment img{aspect-ratio:4/3;object-position:50% 42%;border-radius:4px}
.hero-meta{font-size:1rem;letter-spacing:.07em}
.hero .date-pill{margin-top:2.7rem}
.villa-exclusive{margin:2.4rem auto 0;padding:2rem 1.5rem;max-width:800px;background:#fff0e9;border:1px solid #f6c4b6;border-radius:12px;color:var(--green)}
.villa-exclusive>span{display:block;color:#a65043;font-size:.8rem;letter-spacing:.12em;font-weight:800;margin-bottom:.8rem}
.villa-exclusive h3{font-size:clamp(1.5rem,3.5vw,2.2rem)}
.villa-exclusive p{margin-top:1rem;font-size:1.05rem}
.villa-amenities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;list-style:none;padding:0;margin:1.5rem 0 0}
.villa-amenities li{padding:1.2rem .65rem;background:#fff8dc;border-radius:8px}
.villa-amenities b{display:block;color:var(--green);font-size:1.05rem}
.villa-amenities span{display:block;color:#242424;font-size:.875rem;margin-top:.3rem}
.itinerary .flight-note{display:block;color:var(--green);padding:.7rem .85rem;background:#fff0e9;border-left:3px solid var(--red);border-radius:4px;line-height:1.75}
@media(max-width:650px){.intro-moment{padding:0 1.4rem}.intro-moment img{aspect-ratio:4/3}.hero-meta{font-size:.82rem}.villa-exclusive{padding:1.5rem 1rem}.villa-exclusive p{font-size:1rem}.villa-amenities{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.villa-amenities b{font-size:.98rem}.villa-amenities span{font-size:.82rem}}

/* All-inclusive package scope, confirmed by the hosts. */
.all-inclusive-badge{display:table;margin:1.5rem auto 0;padding:.7rem 1.2rem;background:var(--yellow);color:var(--green);border-radius:8px;text-decoration:none;font-size:1.05rem;font-weight:850;letter-spacing:.04em;line-height:1.65}
.all-inclusive-badge span{display:block;font-size:.9rem;letter-spacing:0;font-weight:650}
.all-inclusive-badge:hover{background:#ffedaf}
.inclusive-intro{margin:2.5rem auto 0;padding:1.8rem 1.2rem;border-top:2px solid var(--red);border-bottom:1px solid #f6c4b6;background:#fffcf8;color:var(--green)}
.inclusive-intro .eyebrow{color:#a65043;margin-bottom:.7rem;font-size:.875rem;letter-spacing:.035em}
.inclusive-intro h3{font-size:1.5rem}.inclusive-intro p:not(.eyebrow){font-size:1rem;margin-top:1rem}
.inclusive-intro>a{display:inline-block;margin-top:1rem;color:#a65043;font-size:.95rem;font-weight:750;text-underline-offset:4px}
.inclusions{background:#fffcf8}.inclusion-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:1.3rem;margin-top:2.5rem;text-align:left;align-items:start}
.inclusion-grid article{padding:2rem 1.5rem;border-radius:12px;background:var(--paper);border:1px solid #f3eefb;min-width:0}
.inclusion-grid .included-card{border-top:5px solid var(--green)}.inclusion-grid .excluded-card{border-top:5px solid var(--red)}
.inclusion-label{display:block;color:var(--green);font-size:.875rem;font-weight:850;letter-spacing:.1em;margin-bottom:.5rem}
.excluded-card .inclusion-label{color:#a65043}.inclusion-grid h3{font-size:1.55rem}
.inclusion-grid ul{list-style:none;padding:0;margin:1.5rem 0 0}
.inclusion-grid li{padding:1rem 0;border-top:1px solid #ffedaf}.inclusion-grid li:last-child{padding-bottom:0}
.inclusion-grid b{display:block;font-size:1.05rem;line-height:1.65;color:var(--green)}
.inclusion-grid li span{display:block;font-size:1rem;color:#242424;line-height:1.85;margin-top:.35rem}
.inclusion-scope{margin-top:2rem;padding:1rem;background:#fff0e9;font-size:.95rem;line-height:1.85;border-radius:6px;color:#242424}
.final .final-inclusive{font-weight:800;color:#a65043;letter-spacing:.04em}.final-inclusive span{font-size:1rem;letter-spacing:0;font-weight:650;color:var(--green)}
@media(max-width:650px){.all-inclusive-badge{font-size:.95rem;padding:.7rem 1rem}.all-inclusive-badge span{font-size:.875rem}.inclusive-intro{padding:1.5rem 1rem}.inclusive-intro h3{font-size:1.3rem}.inclusion-grid{grid-template-columns:1fr;gap:1.2rem;margin-top:2rem}.inclusion-grid article{padding:1.5rem 1.2rem}.inclusion-grid h3{font-size:1.4rem}.final-inclusive span{font-size:.9rem}}

/* Cover photo, group format, one scheduled pickup, and confirmed room pricing. */
.hero .scene-image{object-position:50% 48%}.hero .veil{background:linear-gradient(180deg,rgba(22,23,27,.44),rgba(22,23,27,.27) 48%,rgba(22,23,27,.64))}.hero-copy{text-shadow:0 2px 12px rgba(0,0,0,.28)}.hero .date-pill,.hero .all-inclusive-badge{text-shadow:none}
.group-trip-label{display:block;font-size:.875rem;font-weight:850;letter-spacing:.09em;color:#a65043;margin-bottom:.7rem}.trip-fit h3{color:var(--green);font-size:1.55rem}.trip-fit strong{color:var(--green)}
.trip-guide-links{display:flex;justify-content:center;flex-wrap:wrap;gap:.65rem;margin:1.8rem 0}.trip-guide-links a{background:#fff0e9;color:var(--green);border:1px solid #f6c4b6;border-radius:6px;padding:.65rem .9rem;font-weight:750;font-size:.95rem;text-decoration:none}.trip-guide-links a:hover{background:var(--pink)}
.pickup-guide{background:#fffcf8;border-left:3px solid var(--red);padding:1.25rem;text-align:left;margin-top:1.5rem;border-radius:6px}.pickup-guide h3{font-size:1.12rem;color:var(--green)}.pickup-guide p{margin-top:.75rem;font-size:1rem;line-height:1.9}
.pricing{background:#fff0e9}.price-highlight{max-width:740px;margin:2.3rem auto 0;padding:2.3rem 1.5rem;background:var(--paper);border:1px solid #f6c4b6;border-radius:12px}.price-highlight>span{font-size:.875rem;font-weight:800;letter-spacing:.06em;color:#a65043}.price-highlight .price-amount{font-size:clamp(2.4rem,6vw,3.5rem);line-height:1.35;font-weight:850;color:var(--green);margin-top:1rem;letter-spacing:-.045em}.price-amount span{font-size:1.1rem;letter-spacing:0;font-weight:650;display:inline-block;margin-left:.4rem}.price-highlight>p:last-of-type{margin-top:.75rem;font-size:1rem}.price-highlight>a{display:inline-block;color:#a65043;font-weight:750;font-size:.95rem;margin-top:1.2rem;text-underline-offset:4px}
.room-options{max-width:800px;margin:3rem auto 0;scroll-margin-top:2rem}.room-options h3{font-size:1.7rem;color:var(--green)}.room-options>p{font-size:1rem;line-height:1.9;margin-top:1.3rem}.room-table-wrap{margin-top:1.8rem;overflow-x:auto;border-radius:8px;border:1px solid #f6c4b6;background:var(--paper)}.room-table{width:100%;border-collapse:collapse;text-align:left;font-size:1rem;line-height:1.8}.room-table caption{padding:1rem;color:#242424;text-align:left;font-size:.95rem;font-weight:650}.room-table th,.room-table td{padding:1rem;border-top:1px solid #f3eefb;vertical-align:top}.room-table thead{background:var(--green);color:var(--paper)}.room-table thead th{font-size:.95rem;font-weight:750}.room-table tbody th{color:var(--green);width:28%}.room-total{color:var(--green)}.room-allocation{margin-top:1.5rem;background:var(--paper);padding:1.5rem;text-align:left;border-left:3px solid var(--red);border-radius:6px}.room-allocation h4{font-size:1.05rem;color:var(--green);margin:0}.room-allocation p{font-size:1rem;line-height:1.9;margin-top:.9rem}
@media(max-width:650px){.hero .scene-image{object-position:50% 45%}.trip-fit h3{font-size:1.4rem}.trip-guide-links{gap:.5rem}.trip-guide-links a{padding:.6rem .7rem;font-size:.875rem}.pickup-guide{padding:1rem}.price-highlight{padding:1.8rem 1rem}.price-highlight .price-amount{font-size:2.4rem}.price-amount span{font-size:1rem;display:block;margin:.45rem 0 0}.room-options h3{font-size:1.4rem}.room-table th,.room-table td{padding:.85rem .65rem;font-size:.95rem}.room-table thead th{font-size:.875rem}.room-table caption{font-size:.875rem}.room-table tbody th{width:26%}.room-allocation{padding:1.1rem}}

/* All-inclusive is the lead message, with the actual package unpacked below. */
.all-inclusive-hero{display:block;max-width:850px;margin:0 auto 2.1rem;padding:1.7rem 1.2rem;background:var(--paper);color:var(--green);text-shadow:none;text-decoration:none;border-top:6px solid var(--pink);border-bottom:6px solid var(--pink);border-radius:3px;box-shadow:0 10px 35px rgba(20,23,20,.15)}
.inclusive-hero-kicker{display:block;font-size:.875rem;letter-spacing:.12em;font-weight:800;color:#a65043;margin-bottom:.65rem}
.all-inclusive-hero strong{display:block;font-size:clamp(1.85rem,7.7vw,4.9rem);line-height:1.08;letter-spacing:-.045em;font-weight:900}
.inclusive-hero-ko{display:block;font-size:clamp(1.25rem,3.2vw,1.9rem);line-height:1.5;font-weight:850;color:#a65043;margin-top:.3rem}
.inclusive-hero-scope{display:block;font-size:1.05rem;line-height:1.85;font-weight:650;margin-top:.8rem}.inclusive-hero-air{display:block;font-size:.875rem;font-weight:650;color:#242424;margin-top:.65rem}
.all-inclusive-hero:hover{background:#f3eefb}.hero h1{font-size:clamp(1.65rem,3.8vw,2.6rem)}.hero-title{font-size:clamp(2.8rem,6.4vw,4.3rem);margin-top:1.8rem}.hero{padding-top:2.8rem;padding-bottom:3rem}
.inclusive-intro.gift-concept{padding:3rem 1.7rem;background:#fff0e9;border-top:0;border-bottom:0;margin-top:3rem}.gift-concept h3{font-size:clamp(1.7rem,4.3vw,2.7rem);line-height:1.5}
.gift-concept .gift-inclusive-title{font-size:clamp(1.8rem,6.4vw,4rem);font-weight:900;line-height:1.1;letter-spacing:-.045em;margin-top:2rem;color:var(--green)}
.gift-concept .gift-inclusive-ko{font-size:1.4rem;font-weight:800;line-height:1.65;color:#a65043;margin-top:.6rem}.gift-concept p:not(.eyebrow):not(.gift-inclusive-title):not(.gift-inclusive-ko){font-size:1.05rem;margin-top:1.3rem}.gift-scope-tags{display:flex;flex-wrap:wrap;gap:.65rem;justify-content:center;margin:1.5rem auto 0}.gift-scope-tags span{background:var(--paper);padding:.6rem .8rem;border-radius:4px;font-size:.95rem;font-weight:750}.gift-concept p.gift-price-note{font-size:.95rem!important;font-weight:700}
.package-headline>span{display:block;font-size:clamp(1.85rem,6.3vw,4rem);font-weight:900;letter-spacing:-.045em;color:var(--green);margin-bottom:1rem}.inclusions .inclusions-lead{max-width:760px;margin-left:auto;margin-right:auto}.package-included{margin-top:3rem}.package-included>header{text-align:left;margin-bottom:1.2rem}.package-included>header h3{font-size:1.7rem;color:var(--green)}
.included-experiences{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;text-align:left}.included-experiences article{min-width:0;background:var(--paper);padding:1.8rem 1.6rem;border:1px solid #f6c4b6;border-top:4px solid var(--red);border-radius:8px}.included-experiences article:nth-child(even){border-top-color:var(--green)}.experience-category{display:block;font-size:.875rem;font-weight:800;letter-spacing:.045em;color:#a65043;margin-bottom:.7rem}.included-experiences h3{font-size:1.5rem;line-height:1.5;color:var(--green)}.included-experiences ul{list-style:none;margin:1.2rem 0 0;padding:0}.included-experiences li{position:relative;padding:.55rem 0 .55rem 1.35rem;font-size:1rem;line-height:1.8;border-top:1px solid #f3eefb}.included-experiences li:before{content:'✓';position:absolute;left:0;color:#a65043;font-weight:800}.included-experiences li:first-child{border-top:0}
.included-experiences .experience-arrival{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.5rem;border-top-color:var(--green)}.experience-arrival ul{margin-top:0}.experience-pickup-note{grid-column:1 / -1;padding-top:.8rem;border-top:1px solid #f3eefb;font-size:.95rem;color:#242424;line-height:1.9}
.package-excluded{padding:1.8rem;margin-top:2rem;text-align:left;background:#fff8dc;border-radius:8px}.package-excluded h3{font-size:1.4rem;color:var(--green)}.package-excluded ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.3rem;list-style:none;margin:1.5rem 0 0;padding:0}.package-excluded li b{display:block;font-size:1rem}.package-excluded li span{display:block;font-size:.95rem;line-height:1.85;color:#242424;margin-top:.3rem}.package-excluded .inclusion-scope{padding:1rem 0 0;margin-top:1.5rem;border-top:1px solid #ffedaf;background:none}
.final .final-inclusive strong{display:block;font-size:clamp(1.8rem,6.2vw,3.7rem);line-height:1.15;letter-spacing:-.045em;color:var(--green)}.final-inclusive span{display:block;margin-top:.8rem}.final-inclusive .final-inclusive-gift{font-size:1.2rem;font-weight:800;color:#a65043}
@media(max-width:650px){.hero{padding-top:2rem}.all-inclusive-hero{padding:1.3rem .75rem;margin-bottom:1.8rem}.inclusive-hero-kicker{font-size:.8rem;letter-spacing:.045em}.inclusive-hero-scope{font-size:.95rem}.inclusive-hero-air{font-size:.875rem}.hero h1{font-size:1.6rem}.hero-title{font-size:2.8rem}.inclusive-intro.gift-concept{padding:2.2rem 1rem}.gift-concept .gift-inclusive-ko{font-size:1.15rem}.gift-concept p:not(.eyebrow):not(.gift-inclusive-title):not(.gift-inclusive-ko){font-size:1rem}.gift-scope-tags{gap:.5rem}.gift-scope-tags span{font-size:.875rem;padding:.5rem .6rem}.package-included{margin-top:2.2rem}.included-experiences{grid-template-columns:1fr;gap:1rem}.included-experiences article{padding:1.5rem 1.2rem}.included-experiences .experience-arrival{grid-column:auto;grid-template-columns:1fr;gap:1rem}.experience-pickup-note{grid-column:auto}.included-experiences h3{font-size:1.35rem}.experience-category{font-size:.8rem}.package-excluded{padding:1.5rem 1.2rem}.package-excluded ul{grid-template-columns:1fr;gap:1.2rem}.final-inclusive .final-inclusive-gift{font-size:1.05rem}}

/* Large type in the Christmas-gift introduction, including on phones. */
.inclusive-intro.gift-concept p.gift-inclusive-title{font-size:clamp(2.5rem,8.5vw,5rem);font-weight:900;line-height:1.08;letter-spacing:-.045em;margin:1.8rem 0 .85rem;color:var(--green);overflow-wrap:anywhere}
.gift-inclusive-title span{display:inline}
@media(max-width:650px){.inclusive-intro.gift-concept p.gift-inclusive-title{font-size:clamp(2.7rem,12.5vw,4rem);line-height:1.02;margin-top:1.7rem}.gift-inclusive-title span{display:block}}

/* Mobile cover keeps the headline over the photo with responsive type. */
@media(max-width:650px){
 .hero.photo-scene{display:grid;place-items:center;min-height:clamp(540px,145vw,680px);padding:2rem 1.1rem;background:var(--green);color:var(--paper);overflow:hidden}
 .hero.photo-scene>.scene-image{position:absolute;inset:0;z-index:-2;display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:50% 50%}
 .hero.photo-scene>.veil{display:block;position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(3,32,35,.48) 0%,rgba(3,32,35,.42) 45%,rgba(3,32,35,.56) 100%)}
 .hero.photo-scene .hero-copy{position:relative;width:100%;max-width:440px;padding:0;background:transparent;color:var(--paper);text-shadow:0 2px 12px rgba(0,0,0,.35)}
 .hero.photo-scene .hero-copy>.eyebrow{color:var(--paper);font-size:.875rem;letter-spacing:.045em;margin-bottom:1rem}
 .hero.photo-scene h1{font-size:clamp(1.2rem,5.4vw,1.6rem);line-height:1.6;letter-spacing:-.035em;overflow-wrap:anywhere}
 .hero.photo-scene .hero-title{font-size:clamp(2.2rem,10vw,3.3rem);line-height:1.06;margin-top:1.7rem;color:var(--paper);overflow-wrap:anywhere}
 .hero.photo-scene .hero-title span{font-size:.85em;color:var(--pink);line-height:1.2;margin-top:.5rem}
 .hero.photo-scene .date-pill{display:flex;flex-direction:column;gap:.15rem;justify-content:center;align-items:center;width:fit-content;max-width:100%;margin:1.6rem auto 0;padding:.65rem .9rem;border-radius:4px;background:rgba(255,253,247,.94);color:var(--green);font-size:.95rem;line-height:1.75;text-shadow:none}
 .hero.photo-scene .date-pill span{margin:0;padding:0;border:0}
 .nav{gap:.7rem}.nav nav{gap:.65rem}.nav nav a{display:flex;align-items:center;min-height:44px;font-size:.875rem}
}

/* Photo-led introduction and a restrained Christmas gift ribbon. */
#top .intro{display:flex;flex-direction:column}
#top .intro>.eyebrow{order:1}
#top .intro>h2{order:2}
#top .intro>p:not(.eyebrow){order:3}
#top .intro>.intro-breakfast-photo{order:4;margin:2.2rem -3.5rem 0;max-width:none}
#top .intro>.intro-breakfast-photo img{aspect-ratio:1.35/1;border-radius:0;object-position:center 45%}
#top .intro>.trip-pillars{order:5}
#top .intro>.gift-concept{order:6}
#top .gift-concept{position:relative;overflow:visible}
#top .gift-concept::before{content:"";position:absolute;z-index:0;top:0;bottom:0;left:50%;width:34px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,rgba(181,48,67,.12) 28%,rgba(181,48,67,.18) 50%,rgba(181,48,67,.12) 72%,transparent);pointer-events:none}
#top .gift-concept::after{content:"🎀";position:absolute;z-index:2;top:-2.2rem;left:50%;transform:translateX(-50%) rotate(-4deg);font-size:3rem;line-height:1;filter:drop-shadow(0 4px 5px rgba(91,38,36,.14));pointer-events:none}
#top .gift-concept>*{position:relative;z-index:1}
@media(max-width:650px){#top .intro>.intro-breakfast-photo{margin:1.8rem -1.4rem 0}#top .intro>.intro-breakfast-photo img{aspect-ratio:1.12/1}#top .gift-concept::after{top:-1.9rem;font-size:2.6rem}}

/* Larger holiday bow with a horizontal gift-wrap band. */
#top .gift-concept::before{top:1.15rem;bottom:auto;left:0;width:100%;height:3.35rem;transform:none;background:linear-gradient(180deg,rgba(185,52,71,.06),rgba(185,52,71,.17) 45%,rgba(185,52,71,.08));box-shadow:0 1px 0 rgba(255,255,255,.34),0 -1px 0 rgba(157,42,57,.08)}
#top .gift-concept::after{top:-3.25rem;font-size:4.55rem;transform:translateX(-50%) rotate(-4deg);filter:drop-shadow(0 5px 7px rgba(91,38,36,.18))}
@media(max-width:650px){#top .gift-concept::before{top:.95rem;height:2.7rem}#top .gift-concept::after{top:-2.75rem;font-size:4rem}}

/* Tartan bow / invitation-card finish, based on the supplied Christmas ribbon. */
#top .gift-concept{border-radius:10px;outline:1px solid rgba(153,61,67,.22);outline-offset:7px;background:linear-gradient(145deg,rgba(255,255,255,.62),rgba(255,246,241,.38) 54%,rgba(232,244,235,.42));}
#top .gift-concept::after{content:"";top:-4.3rem;left:50%;width:208px;height:154px;transform:translateX(-50%);font-size:0;filter:drop-shadow(0 6px 7px rgba(54,44,30,.18));background:
 radial-gradient(circle at 50% 28%,#493e53 0 10%,#493e53 11% 16%,transparent 17%),
 repeating-linear-gradient(0deg,transparent 0 12px,rgba(188,40,53,.78) 12px 20px,transparent 20px 34px),
 repeating-linear-gradient(90deg,transparent 0 17px,rgba(188,40,53,.78) 17px 27px,transparent 27px 43px),
 repeating-linear-gradient(0deg,rgba(255,255,255,.42) 0 2px,transparent 2px 34px),
 repeating-linear-gradient(90deg,rgba(255,255,255,.32) 0 2px,transparent 2px 43px),#493e53;clip-path:polygon(0 12%,33% 17%,43% 29%,50% 25%,57% 29%,67% 17%,100% 12%,86% 53%,75% 42%,67% 96%,50% 65%,33% 96%,25% 42%,14% 53%);-webkit-clip-path:polygon(0 12%,33% 17%,43% 29%,50% 25%,57% 29%,67% 17%,100% 12%,86% 53%,75% 42%,67% 96%,50% 65%,33% 96%,25% 42%,14% 53%)}
@media(max-width:650px){#top .gift-concept{outline-offset:5px}#top .gift-concept::after{top:-3.8rem;width:184px;height:136px}}

/* Replace the bow and band with a quiet Christmas gift-card frame. */
#top .gift-concept{position:relative;border-radius:12px;border:1px solid rgba(161,63,67,.28);outline:1px solid rgba(38,73,59,.22);outline-offset:7px;background:linear-gradient(145deg,rgba(255,255,255,.68),rgba(255,247,238,.5) 56%,rgba(235,244,235,.5));box-shadow:0 14px 34px rgba(88,63,54,.08),inset 0 1px 0 rgba(255,255,255,.9)}
#top .gift-concept::before{content:"";inset:10px;top:10px;bottom:10px;left:10px;width:auto;height:auto;transform:none;background:transparent;border:1px solid rgba(166,58,68,.2);border-radius:7px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.45);pointer-events:none}
#top .gift-concept::after{content:"";inset:-10px;top:-10px;left:-10px;width:auto;height:auto;transform:none;background:radial-gradient(circle at 1.5% 1.5%,rgba(178,48,65,.9) 0 5px,transparent 6px),radial-gradient(circle at 98.5% 1.5%,rgba(178,48,65,.9) 0 5px,transparent 6px),radial-gradient(circle at 1.5% 98.5%,rgba(35,78,59,.9) 0 5px,transparent 6px),radial-gradient(circle at 98.5% 98.5%,rgba(35,78,59,.9) 0 5px,transparent 6px);filter:none;pointer-events:none}
@media(max-width:650px){#top .gift-concept::before{inset:8px;top:8px;bottom:8px;left:8px}#top .gift-concept::after{inset:-7px;top:-7px;left:-7px}}

/* Supplied tartan bow as a separate invitation topper above the card. */
#top .gift-concept{margin-top:7.5rem;padding-top:4.8rem}
#top .gift-concept::after{content:"";inset:auto;top:-7.15rem;left:-2%;width:104%;height:145px;transform:none;background:url("assets/gift-bow-v63.png") center/100% 145px no-repeat;filter:drop-shadow(0 5px 6px rgba(62,44,34,.14));pointer-events:none;z-index:3}
@media(max-width:650px){#top .gift-concept{margin-top:6rem;padding-top:4rem}#top .gift-concept::after{top:-5.55rem;left:-4%;width:108%;height:108px;background-size:100% 108px}}

/* Remove the topper image; keep the restrained gift-card frame only. */
#top .gift-concept{margin-top:3rem;padding-top:2.8rem}
#top .gift-concept::after{content:"";inset:-10px;top:-10px;left:-10px;width:auto;height:auto;transform:none;background:radial-gradient(circle at 1.5% 1.5%,rgba(178,48,65,.9) 0 5px,transparent 6px),radial-gradient(circle at 98.5% 1.5%,rgba(178,48,65,.9) 0 5px,transparent 6px),radial-gradient(circle at 1.5% 98.5%,rgba(35,78,59,.9) 0 5px,transparent 6px),radial-gradient(circle at 98.5% 98.5%,rgba(35,78,59,.9) 0 5px,transparent 6px);filter:none;pointer-events:none;z-index:3}
@media(max-width:650px){#top .gift-concept{margin-top:2rem;padding-top:2rem}#top .gift-concept::after{inset:-7px;top:-7px;left:-7px}}

/* Phone reading layout: generous type, photo-led chapters, and stacked facts. */
.mobile-cell-label,.faq-hint{display:none}
@media(max-width:650px){
 body{overflow-wrap:anywhere}
 main,section,figure,.feature-copy,.details-card{min-width:0;max-width:100%}
 .nav{flex-wrap:wrap;row-gap:.4rem;padding:.8rem 1.1rem}
 .nav .brand{flex-shrink:0}
 .nav nav{flex-wrap:wrap;column-gap:1rem;row-gap:0}
 .nav nav a{min-height:44px}
 .paper{padding:3rem 1.25rem}
 h2{font-size:clamp(1.55rem,6.3vw,2rem);line-height:1.5}
 .eyebrow{font-size:.875rem;line-height:1.7;letter-spacing:.04em}
 .paper>p:not(.eyebrow):not(.image-note){line-height:1.9}
 .paper>p:not(.eyebrow):not(.image-note) br,
 .story-row p br,.feature-copy>p:last-child br,
 .gift-concept p:not(.eyebrow):not(.gift-inclusive-title):not(.gift-inclusive-ko) br,
 .day-activities p br,.pickup-guide p br,.booking p br,
 .room-options>p br,.faq details p br{display:none}
 .pillars{grid-template-columns:1fr;gap:.65rem;margin-top:1.8rem;text-align:left}
 .pillars>div{padding:1rem 1.1rem;border-left:3px solid var(--red)}
 .pillars span{font-size:.875rem;letter-spacing:.025em}
 .pillars p{font-size:1rem;line-height:1.75;margin-top:.3rem}
 .pillars p br{display:none}
 .ribbon{font-size:.875rem;line-height:1.8;padding:1rem 1.25rem}
 .inclusive-intro.gift-concept{padding:2rem 1rem}
 .gift-concept h3{font-size:clamp(1.45rem,6vw,1.9rem)}
 .inclusive-intro.gift-concept p.gift-inclusive-title{font-size:clamp(2.4rem,12.2vw,4rem);line-height:1.08}
 .gift-scope-tags{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
 .gift-scope-tags span{font-size:.875rem;padding:.7rem .45rem;line-height:1.7}
 .gift-concept>a{min-height:44px;padding:.6rem 0;line-height:1.7}
 .intro-moment{padding:0 1.25rem}
 .story-row{gap:1.25rem;margin-top:2.6rem}
 .story-row h3{font-size:1.4rem;line-height:1.55}
 .story-row p{line-height:1.9}
 .story-row>div{min-width:0}

 /* Keep the selected photos intact; put chapter text beneath them on phones. */
 .photo-scene.feature{display:block;min-height:0;padding:0;background:var(--green);color:var(--paper)}
 .photo-scene.feature>.scene-image{position:static;inset:auto;z-index:auto;width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
 .photo-scene.feature>.veil{display:none}
 .photo-scene.feature .feature-copy{padding:2rem 1.25rem 2.3rem;text-align:left}
 .photo-scene.feature .eyebrow{color:var(--yellow);margin-bottom:.9rem}
 .photo-scene.feature h2{font-size:clamp(1.6rem,6.8vw,2.1rem);line-height:1.5}
 .photo-scene.feature .feature-copy>p:last-child{margin:1.3rem 0 0;font-size:1rem;font-weight:500;line-height:1.9}
 .photo-scene.feature.brunch,.photo-scene.feature.eve{background:#fff0e9;color:var(--green)}
 .photo-scene.feature.brunch .eyebrow,.photo-scene.feature.eve .eyebrow{color:#a65043}
 .dress-guide{padding-top:2rem;padding-bottom:2rem}
 .dress-codes{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}
 .dress-codes>div{min-width:0;padding:1rem .35rem}
 .dress-codes b{font-size:.875rem;line-height:1.7}
 .dress-codes span{font-size:1.15rem;line-height:1.6}
 .dress-guide .muted{font-size:1rem}
 .social-steps{gap:2rem}
 .social-steps span,.eve-steps span{font-size:.875rem;line-height:1.7}
 .social-steps p,.eve-steps p{font-size:1rem;line-height:1.9}
 .christmas-detail{padding:2.6rem 1.25rem}
 .christmas-photo-pair,.villa-pair,.villa-gallery{grid-template-columns:1fr}
 .villa-bedroom,.villa-gallery .villa-terrace{grid-column:auto;grid-row:auto}
 .eve-steps article.house-party-with-photo{grid-template-columns:1fr;gap:1.2rem}
 .eve-steps{margin-top:1.6rem}
 .eve-steps article{padding:1.4rem 0}
 .balance p{line-height:1.9}

 #itinerary{padding:3rem 1.25rem}
 #itinerary h2{font-size:clamp(1.5rem,6.5vw,2rem);line-height:1.4}
 #itinerary .itinerary-hint{display:block;font-size:1rem;padding:.85rem 1rem;line-height:1.8}
 .itinerary-overview{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:1.5rem 0 1.7rem}
 .itinerary-overview button{padding:1rem .8rem;min-height:100px;border-radius:8px}
 .itinerary-overview span{font-size:.875rem;line-height:1.5;letter-spacing:0}
 .itinerary-overview strong{font-size:1.1rem;line-height:1.4;overflow-wrap:anywhere}
 .itinerary .day-list{margin-top:0}
 .itinerary .day{padding:1.5rem 1.15rem}
 .itinerary .day-heading{position:relative;display:block;padding-right:0;margin-bottom:1.5rem}
 .itinerary .day-heading>div{min-width:0}
 .itinerary .day-date{display:block;padding-right:2.5rem;font-size:.875rem;line-height:1.6;letter-spacing:0}
 .itinerary .day-number{position:absolute;top:0;right:0;font-size:1.8rem;color:#8a713a}
 .itinerary .day-heading h3{font-size:clamp(1.8rem,7.6vw,2.2rem);line-height:1.2;margin-top:.8rem}
 .itinerary .day-subtitle{font-size:1rem;line-height:1.8}
 .itinerary .day h4{font-size:1.05rem;line-height:1.7}
 .itinerary .day li p{font-size:1rem;line-height:1.9}
 .itinerary .flight-note{margin:.7rem 0;padding:.85rem;font-weight:700}
 .itinerary .itinerary-end{font-size:.875rem;line-height:1.8}
 .villa-exclusive{padding:1.5rem 1rem}
 .villa-exclusive>span{font-size:.875rem;letter-spacing:.025em}
 .villa-exclusive h3{font-size:1.5rem;line-height:1.55}
 .villa-amenities{grid-template-columns:repeat(2,minmax(0,1fr))}
 .villa-amenities li{min-width:0;padding:1rem .65rem}
 .villa-amenities b{font-size:1rem;line-height:1.7}
 .villa-amenities span,.villa-photos figcaption{font-size:.875rem;line-height:1.8}
 .together{padding:3rem 1.25rem}
 .collage{margin-left:-1.25rem;margin-right:-1.25rem}
 .trip-fit{padding:1.4rem 1.1rem}
 .trip-fit h3{font-size:1.35rem;line-height:1.6}
 .trip-fit p{line-height:1.9}
 .included-experiences article{padding:1.5rem 1.1rem}
 .experience-category{font-size:.875rem;line-height:1.7}
 .included-experiences h3{font-size:1.35rem;line-height:1.6}
 .package-headline>span{font-size:clamp(1.9rem,9.2vw,3rem);line-height:1.2}
 .package-included>header h3{font-size:1.45rem;line-height:1.6}
 .package-excluded{padding:1.5rem 1.1rem}

 .details{padding:2.5rem 1.25rem}
 .details-card{padding:1.8rem 1.1rem}
 .details-card dl>div{grid-template-columns:1fr;gap:.3rem;font-size:1rem;line-height:1.85;padding:.85rem 0;border-bottom:1px solid #ffedaf}
 .details-card dt{font-size:.875rem;color:#a65043}
 .details-card dd{min-width:0}
 .trip-guide-links{display:grid;grid-template-columns:1fr;gap:.6rem}
 .trip-guide-links a{font-size:1rem;min-height:48px;padding:.65rem 1rem}
 .booking p{font-size:1rem}
 .pickup-guide p{line-height:1.9}
 .price-highlight .price-amount{font-size:clamp(2.15rem,10.5vw,3rem)}
 .price-highlight>a{min-height:44px;padding:.5rem 0;line-height:1.8}

 /* A semantic comparison table becomes two roomy option cards. */
 .room-table-wrap{border:0;background:none;overflow:visible}
 .room-table,.room-table caption,.room-table tbody{display:block;width:100%}
 .room-table caption{padding:0 0 1rem;font-size:.875rem;line-height:1.8}
 .room-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .room-table tbody tr{display:block;margin-bottom:1rem;padding:1.3rem 1.1rem;background:var(--paper);border:1px solid #f6c4b6;border-radius:8px}
 .room-table tbody th{display:block;width:auto;padding:0 0 .85rem;border:0;font-size:1.15rem;line-height:1.7}
 .room-table tbody td{display:grid;grid-template-columns:1fr;gap:.3rem;border:0;padding:.8rem 0 0;font-size:1rem;line-height:1.8}
 .mobile-cell-label{display:block;font-size:.875rem;color:#a65043;font-weight:700}
 .room-table td strong{font-size:1.15rem;color:var(--green)}
 .room-total{font-size:1rem;line-height:1.9;text-align:left}
 .room-allocation{padding:1.4rem 1.1rem}
 .room-allocation h4{line-height:1.7}
 .faq h2{font-size:1.65rem;line-height:1.5;margin-bottom:1rem}
 .faq-hint{display:block;font-size:.875rem!important;text-align:center;color:#242424;margin:0 0 1.5rem!important}
 .faq details{padding:1rem 0}
 .faq summary{font-size:1.05rem;line-height:1.75;min-height:44px;padding:.35rem 0}
 .faq details p{line-height:1.9}
 .final{padding:3rem 1.25rem 2.5rem}
 .final h2{font-size:clamp(1.6rem,6.8vw,2rem);line-height:1.5}
 .final .cta{padding:1.1rem .85rem;line-height:1.8;min-height:48px}
 .final-inclusive span{font-size:1rem}
 .footer-mark{font-size:.875rem;line-height:1.8}
 .site-footer{padding:1.5rem 1.25rem}
}

/* An earlier photo pause and concise operational notes. */
.gift-concept p.breakfast-note{color:#242424;font-size:.875rem;line-height:1.8}
.details-card .trip-start-note,.itinerary .day-heading p.trip-start-note{display:block;margin-top:.55rem;font-size:.875rem;line-height:1.8;color:#242424;font-weight:500;letter-spacing:0}
.intro-photo{margin:2rem auto 0;max-width:780px;text-align:left}
.intro-photo img{aspect-ratio:4 / 3;border-radius:5px;object-fit:cover}
.intro-breakfast-photo img{object-position:50% 45%}
.intro-villa-photo img{object-position:center}
.intro-photo figcaption{margin-top:.65rem;font-size:.875rem;line-height:1.7;color:#242424}
@media(max-width:650px){
 .hero.photo-scene .date-pill{flex-direction:column;gap:.2rem;font-size:.95rem;padding:.7rem .8rem}
 .intro-photo{margin-top:1.6rem}
}

/* Cover dates belong to the photo typography, without a separate card. */
.hero.photo-scene .date-pill{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;width:fit-content;max-width:100%;margin:1.8rem auto 0;padding:1rem 0 0;border:0;border-top:1px solid rgba(255,253,247,.5);border-radius:0;background:transparent;color:var(--paper);font-size:1.1rem;font-weight:700;line-height:1.7;text-shadow:0 1px 8px rgba(0,0,0,.4);box-shadow:none}
.hero.photo-scene .date-pill span{display:block;margin:0;padding:0;border:0;color:var(--paper);font-size:.95rem;font-weight:600;letter-spacing:.04em}
@media(max-width:650px){
 .hero.photo-scene .date-pill{margin-top:1.4rem;padding:.85rem 0 0;gap:.25rem;font-size:1rem;line-height:1.75}
 .hero.photo-scene .date-pill span{font-size:.875rem}
}

/* Brand and social links follow the existing green and red accents. */
.brand-links{display:flex;align-items:center;gap:.85rem;flex-shrink:0}
.instagram-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;color:var(--green);border:1px solid rgba(21,60,48,.2);border-radius:50%;text-decoration:none}
.instagram-icon:hover{background:#fff0e9}
.instagram-icon svg,.instagram-button svg{flex-shrink:0}
.footer-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.75rem;margin:1rem auto 1.4rem;max-width:650px}
.footer-links a{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:48px;padding:.65rem 1.1rem;border-radius:5px;font-size:.875rem;font-weight:700;line-height:1.7;text-decoration:none;color:var(--green);border:1px solid rgba(21,60,48,.2)}
.footer-links a.home-button{background:var(--green);color:var(--paper);border-color:var(--green)}
.footer-links a.home-button:hover{background:#493e53}
.footer-links a.instagram-button:hover{background:#fff0e9}
@media(max-width:650px){.nav .brand-links{width:100%;justify-content:space-between}.footer-links{flex-direction:column;align-items:stretch;max-width:360px}.footer-links a{width:100%}}

/* The inquiry link stays easy to tap alongside the section shortcuts. */
.nav nav{align-items:center;gap:1.2rem}
.nav nav a.nav-contact{padding:.5rem .85rem;border-radius:5px;background:var(--green);color:var(--paper)}
.nav nav a.nav-contact:hover{background:#493e53;color:var(--paper)}
@media(max-width:650px){
 .nav nav{width:100%;justify-content:space-between;gap:.35rem;flex-wrap:nowrap}
 .nav nav a{min-width:44px;min-height:44px;justify-content:center;white-space:nowrap;font-size:.875rem}
 .nav nav a.nav-contact{padding:.4rem .6rem}
}

/* A clear application action and one contact channel for trip questions. */
.header-social{display:flex;align-items:center;gap:.55rem}
.instagram-inquiry-hint{font-size:.875rem;line-height:1.5;color:var(--muted);white-space:nowrap}
.instagram-inquiry-hint a{color:var(--green);font-weight:700;text-underline-offset:3px}
.site-footer .social-inquiry-note{font-size:.875rem;line-height:1.8;color:var(--green);margin:0 auto 1rem;max-width:650px}
.social-inquiry-note a{font-weight:750;text-underline-offset:3px}
@media(min-width:651px) and (max-width:850px){.nav{flex-wrap:wrap}.nav .brand-links{width:100%;justify-content:space-between}.nav nav{width:100%;justify-content:space-between}}
@media(max-width:650px){.brand-links{gap:.5rem}.header-social{gap:.45rem}.footer-links{margin-bottom:.8rem}}

/* Photo and theme labels share one quiet, consistent frame. */
.intro-moment{padding:0 3.5rem;background:var(--paper)}
.moment-themes{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem 1.2rem;padding-top:1.3rem;margin-bottom:1.5rem;border-top:1px solid rgba(21,60,48,.16);font-size:.875rem;font-weight:650;line-height:1.8;letter-spacing:.065em;color:var(--green)}
.moment-themes span{white-space:nowrap}
.moment-themes span:last-child{color:#a65043}
.intro-moment img{border-radius:12px}
@media(max-width:650px){.intro-moment{padding:0 1.25rem}.moment-themes{gap:.3rem .9rem;padding-top:1rem;margin-bottom:1.1rem;letter-spacing:.015em}.intro-moment img{border-radius:9px}}

/* The inclusive introduction is open typography, without a pink panel. */
.inclusive-intro.gift-concept{background:transparent;padding:3rem 0 0;border:0;margin-top:3rem}
.gift-concept .gift-inclusive-ko{color:var(--green);font-size:clamp(1.2rem,3.2vw,1.65rem);font-weight:850}
.gift-scope-tags{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;max-width:700px;margin:1.8rem auto 0}
.gift-scope-tags span{display:flex;align-items:center;justify-content:center;min-width:0;min-height:70px;padding:1rem .75rem;background:var(--paper);color:var(--green);border:1px solid #ffedaf;border-radius:8px;font-size:1rem;font-weight:750;line-height:1.7}
.gift-concept p.gift-cost-note{color:#242424;font-size:.875rem;line-height:1.8;margin-top:1.1rem}
.transport-guide{margin:1.5rem 0;text-align:left;padding:1.5rem 0 0;border-top:1px solid #f3eefb}
.transport-guide h3{font-size:1.1rem;line-height:1.7;color:var(--green)}
.transport-guide p{font-size:1rem;line-height:1.9;margin-top:.85rem}
@media(max-width:650px){.inclusive-intro.gift-concept{padding:2rem 0 0;margin-top:2.5rem}.gift-scope-tags{gap:.65rem;margin-top:1.5rem}.gift-scope-tags span{min-height:74px;padding:.8rem .65rem;font-size:.9375rem}.gift-concept p.gift-cost-note{font-size:.875rem}.transport-guide{margin:1.2rem 0;padding-top:1.2rem}}

/* Group-trip guidance uses three readable rows instead of a heavy callout. */
.trip-fit{counter-reset:group-note;background:var(--paper);border:1px solid #ddd0ef;border-radius:14px;padding:2rem 2.1rem;max-width:720px;margin:2.8rem auto 0;text-align:left}
.trip-fit .group-trip-label{display:block;color:#242424;font-size:.875rem;font-weight:650;letter-spacing:.08em;line-height:1.7;margin-bottom:.75rem}
.trip-fit h3{font-size:clamp(1.5rem,3.2vw,1.95rem);color:var(--green);line-height:1.5;letter-spacing:-.035em}
.trip-fit p{counter-increment:group-note;position:relative;margin:0;padding:1.2rem 0 1.2rem 3rem;border-top:1px solid #f3eefb;font-size:1rem;line-height:1.9;color:#242424}
.trip-fit p:first-of-type{margin-top:1.5rem}
.trip-fit p:last-child{padding-bottom:.15rem}
.trip-fit p::before{content:counter(group-note,decimal-leading-zero);position:absolute;top:1.25rem;left:0;color:#a65043;font-size:.875rem;font-weight:750;line-height:1.9;letter-spacing:.04em}
.trip-fit p strong{color:var(--green);font-weight:750}
@media(max-width:650px){.trip-fit{margin-top:2rem;padding:1.5rem 1.2rem;border-radius:12px}.trip-fit h3{font-size:1.4rem}.trip-fit p{padding:1rem 0 1rem 2.4rem;line-height:1.9}.trip-fit p::before{top:1.05rem}.trip-fit p:first-of-type{margin-top:1.25rem}}

/* Frosted surfaces with soft ambient color, rather than solid pink bands. */
.intro{background:radial-gradient(ellipse at 100% 68%,rgba(255,211,232,.4),transparent 48%),radial-gradient(ellipse at 0 78%,rgba(202,232,224,.38),transparent 44%),var(--paper)}
.inclusive-intro.gift-concept{background:rgba(255,255,255,.45);-webkit-backdrop-filter:blur(22px) saturate(150%);backdrop-filter:blur(22px) saturate(150%);border:1px solid rgba(255,255,255,.92);border-radius:28px;padding:2.8rem 1.8rem;box-shadow:0 14px 38px rgba(62,80,68,.07),inset 0 1px 0 rgba(255,255,255,.85)}
.gift-scope-tags{gap:.8rem;max-width:700px}
.gift-scope-tags>span{display:flex;flex-direction:row;gap:.8rem;min-height:80px;padding:1.15rem 1rem;text-align:left;justify-content:flex-start;background:rgba(255,255,255,.44);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.9);border-radius:16px;box-shadow:0 4px 14px rgba(33,62,48,.045),inset 0 1px 0 rgba(255,255,255,.85)}
.gift-scope-tags svg{flex-shrink:0;color:#a65043}
.gift-scope-tags b{font-size:1rem;font-weight:700;line-height:1.6}
.intro-christmas-photo img{aspect-ratio:3/2;object-position:center}
.intro-moment{position:relative;padding:0 3.5rem}
.intro-moment .moment-themes{position:absolute;left:4.75rem;right:4.75rem;bottom:1.25rem;z-index:1;margin:0;padding:.95rem 1rem;background:rgba(255,255,255,.74);-webkit-backdrop-filter:blur(20px) saturate(150%);backdrop-filter:blur(20px) saturate(150%);border:1px solid rgba(255,255,255,.86);border-radius:16px;box-shadow:0 6px 20px rgba(12,40,29,.1);font-size:.875rem;font-weight:650;letter-spacing:.045em}
@media(max-width:650px){.inclusive-intro.gift-concept{padding:2rem 1rem;border-radius:24px}.gift-scope-tags{gap:.65rem}.gift-scope-tags>span{flex-direction:column;justify-content:center;gap:.65rem;text-align:center;min-height:110px;padding:1rem .5rem;border-radius:14px}.gift-scope-tags b{font-size:.9375rem}.intro-moment{padding:0 1.25rem}.intro-moment .moment-themes{left:1.9rem;right:1.9rem;bottom:.65rem;padding:.65rem .7rem;gap:.2rem .85rem;font-size:.875rem;letter-spacing:0;border-radius:12px}}

/* The application follows the iPhone reference: frosted tile, circular icon. */
body{padding-bottom:calc(116px + env(safe-area-inset-bottom,0px))}
.floating-apply{position:fixed;right:calc(1.25rem + env(safe-area-inset-right,0px));bottom:calc(1.25rem + env(safe-area-inset-bottom,0px));z-index:100;display:flex;align-items:center;gap:.6rem;width:max-content;max-width:calc(100vw - 2.5rem);min-height:64px;padding:.55rem .7rem .55rem .55rem;background:rgba(255,255,255,.64);-webkit-backdrop-filter:blur(26px) saturate(180%);backdrop-filter:blur(26px) saturate(180%);border:1px solid rgba(255,255,255,.88);border-radius:24px;box-shadow:0 8px 28px rgba(25,49,39,.16),inset 0 1px 0 rgba(255,255,255,.9);color:#242424;text-decoration:none;animation:apply-float 4.5s ease-in-out infinite;-webkit-tap-highlight-color:transparent}
.apply-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.95);color:#a65043;box-shadow:0 2px 6px rgba(137,38,84,.08)}
.apply-label{font-size:.875rem;font-weight:650;line-height:1.4;text-align:left;white-space:nowrap}
.apply-label strong{display:block;font-size:1.125rem;font-weight:800;margin-top:.2rem;letter-spacing:-.025em}
.floating-apply:hover{background:rgba(255,255,255,.82);animation-play-state:paused}
.floating-apply:focus-visible{animation-play-state:paused;outline:3px solid #a65043;outline-offset:4px}
@keyframes apply-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@media(max-width:650px){.floating-apply{right:calc(.8rem + env(safe-area-inset-right,0px));bottom:calc(.85rem + env(safe-area-inset-bottom,0px));width:max-content;min-height:60px;padding:.5rem .65rem .5rem .5rem;gap:.55rem;border-radius:22px}.apply-icon{width:42px;height:42px}.apply-label strong{font-size:1.0625rem}}
@media(prefers-reduced-motion:reduce){.floating-apply{animation:none}}

/* Small notes clarify the flexible meal plan without interrupting the itinerary. */
.breakfast-guide{margin-top:1rem!important;padding:.9rem 1rem;border-left:2px solid #a65043;background:rgba(255,255,255,.48);color:#242424;font-size:.9rem!important;line-height:1.85!important}
.meal-flex-note{margin-top:.5rem!important;color:#505050;font-size:.875rem!important;line-height:1.75!important}
@media(max-width:650px){.breakfast-guide{padding:.8rem .85rem;font-size:.875rem!important}.meal-flex-note{font-size:.875rem!important;line-height:1.8!important}}

/* Center the dress-up copy directly over a full-height photograph. */
.story-row.story-photo-overlay{position:relative;display:grid;place-items:center;isolation:isolate;overflow:hidden;min-height:670px;margin-inline:-3.5rem;padding:4rem 2rem;border-radius:0;background:#14251f;color:#fffcf8;gap:0;text-align:center}
.story-photo-overlay>figure{position:absolute;inset:0;z-index:-2;width:100%;height:100%}
.story-photo-overlay>figure img.get-ready-photo{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center 30%;filter:saturate(.9)}
.story-photo-overlay::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.32),rgba(0,0,0,.46) 50%,rgba(0,0,0,.58))}
.story-photo-overlay>div{width:100%;max-width:680px;min-width:0;text-shadow:0 2px 12px rgba(0,0,0,.4)}
.story-photo-overlay .number{display:block;color:#fffcf8;font-family:inherit;font-style:normal;font-weight:750;letter-spacing:.1em;font-size:1rem;line-height:1.7}
.story-photo-overlay h3{font-size:clamp(1.9rem,5vw,3.1rem);color:#fffcf8;font-weight:850;line-height:1.48;margin-top:2.2rem}
.story-photo-overlay p{font-size:1.125rem;font-weight:650;color:#fffcf8;line-height:1.95;margin-top:3rem}
.story-photo-overlay p+p{margin-top:1.3rem}
@media(max-width:650px){
 .story-row.story-photo-overlay{min-height:640px;margin-inline:-1.25rem;padding:3.5rem 1.5rem;border-radius:0}
 .story-photo-overlay>figure img.get-ready-photo{height:100%;aspect-ratio:auto;object-fit:cover;object-position:center top}
 .story-photo-overlay .number{font-size:.875rem}
 .story-photo-overlay h3{font-size:1.9rem;margin-top:1.8rem}
 .story-photo-overlay p{font-size:1rem;line-height:1.9;margin-top:2.5rem}
 .story-photo-overlay p+p{margin-top:1.3rem}
}

/* Let the photo show clearly through its theme label. */
.intro-moment .moment-themes{background:rgba(255,255,255,.28);-webkit-backdrop-filter:blur(8px) saturate(120%);backdrop-filter:blur(8px) saturate(120%);border-color:rgba(255,255,255,.52);box-shadow:0 4px 16px rgba(12,40,29,.06);text-shadow:0 1px 2px rgba(255,255,255,.5)}

/* Intro themes and matching photo stories */
.trip-pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:2.5rem 0 3rem;text-align:center}
.trip-pillars article{position:relative;padding:2rem 1rem 1.8rem;border:1px solid #ffedaf;border-radius:20px;background:linear-gradient(145deg,#fffcf8,#fff8dc);box-shadow:0 8px 24px rgba(74,53,40,.04)}
.trip-pillars article>span{display:block;font-size:.75rem;letter-spacing:.18em;color:#a65043;margin-bottom:.8rem}
.trip-pillars h3{font-size:.95rem;letter-spacing:.05em;color:#a65043;margin:0;line-height:1.5}
.trip-pillars p{font-size:1.1rem;line-height:1.85;margin:1rem 0 0;color:#242424}
.story-photo-overlay>figure img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center;filter:saturate(.9)}
@media(max-width:650px){.trip-pillars{grid-template-columns:1fr;gap:.7rem;margin:2rem 0}.trip-pillars article{padding:1.2rem 1rem}.trip-pillars article>span{margin-bottom:.4rem}.trip-pillars p{font-size:1rem;margin-top:.6rem}.story-photo-overlay>figure img{height:100%;aspect-ratio:auto;object-fit:cover}}

/* Chapters 01–05: reference-led centered photographic layout. */
.photo-scene.feature{display:grid;place-items:center;min-height:660px;padding:5rem 2.5rem;text-align:center;color:#fffcf8;background:#493e53}
.photo-scene.feature>.scene-image{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}
.photo-scene.feature>.veil{display:block;background:linear-gradient(180deg,rgba(0,0,0,.3),rgba(0,0,0,.32) 45%,rgba(0,0,0,.55))}
.photo-scene.feature .feature-copy{max-width:820px;padding:0;text-align:center;text-shadow:0 2px 12px rgba(0,0,0,.32)}
.photo-scene.feature .eyebrow{color:#fffcf8;margin-bottom:2rem;letter-spacing:.12em}
.photo-scene.feature h2{font-size:clamp(1.9rem,4.5vw,3.1rem);line-height:1.48}
.photo-scene.feature .feature-copy>p:last-child{margin:3rem auto 0;max-width:780px;font-size:1.12rem;font-weight:650;line-height:1.95;color:#fffcf8}
.photo-scene.feature.brunch{min-height:580px}
.photo-scene.feature.beach,.photo-scene.feature.boat{min-height:700px}
.dress-guide{background:#fffcf8;padding-top:3.5rem;padding-bottom:3.5rem}
.global-detail{background:#fffcf8}
.social-steps article{border-top:2px solid var(--red);padding-top:1.4rem}
.christmas-detail{background:#fff0e9}
@media(max-width:650px){
 .photo-scene.feature{min-height:610px;padding:3.8rem 1.4rem;display:grid;background:#493e53;color:#fffcf8}
 .photo-scene.feature.brunch{min-height:510px}
 .photo-scene.feature.beach,.photo-scene.feature.boat{min-height:610px}
 .photo-scene.feature .feature-copy{padding:0;text-align:center}
 .photo-scene.feature .eyebrow{color:#fffcf8;font-size:.78rem;margin-bottom:1.6rem}
 .photo-scene.feature h2{font-size:1.9rem;line-height:1.5}
 .photo-scene.feature .feature-copy>p:last-child{margin:2.3rem auto 0;font-size:1rem;font-weight:650;line-height:1.95}
 .photo-scene.feature .feature-copy>p:last-child br{display:initial}
 .christmas-photo-pair{grid-template-columns:1fr 1fr}
 .christmas-photo-pair img{aspect-ratio:1/1.1;object-fit:cover}
 .dress-guide{padding:2.5rem 1.25rem}
 .global-detail{padding:3.5rem 1.25rem}
 .christmas-detail{padding:3.5rem 1.25rem}
}

/* Clear photographs with separate editorial text panels, stories 01–03. */
.story{background:#fffcf8}
.story .story-row.story-photo-overlay{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(0,1fr);align-items:center;place-items:stretch;min-height:0;margin:2.4rem 0 0;padding:0;gap:0;border:1px solid #fff8dc;border-radius:22px;background:#fffcf8;color:#242424;text-align:left;overflow:hidden;box-shadow:0 12px 32px rgba(65,40,24,.045)}
.story .story-row.story-photo-overlay::before{display:none}
.story .story-photo-overlay>figure{position:static;inset:auto;z-index:auto;width:100%;height:auto;align-self:center}
.story .story-photo-overlay>figure img,.story .story-photo-overlay>figure img.get-ready-photo{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;object-position:center;filter:none}
.story .story-photo-overlay>div{width:100%;max-width:none;padding:2rem 1.8rem;text-shadow:none;align-self:center}
.story .story-photo-overlay .number{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid #f6c4b6;border-radius:50%;background:#fff0e9;color:#a65043;font-size:.9rem;font-style:normal;letter-spacing:.05em;font-weight:750;line-height:1}
.story .story-photo-overlay h3{margin:1.2rem 0 0;color:#242424;font-size:clamp(1.4rem,2.3vw,1.8rem);font-weight:800;line-height:1.5}
.story .story-photo-overlay p{margin:1.2rem 0 0;color:#242424;font-size:1rem;font-weight:400;line-height:1.9}
.story .story-photo-overlay p+p{margin-top:.9rem}
.story .story-row.story-photo-overlay:nth-of-type(2)>figure{order:2}
.story .story-row.story-photo-overlay:nth-of-type(2){grid-template-columns:minmax(0,1fr) minmax(0,1.18fr);background:#fff0e9}
@media(max-width:650px){
 .story{padding:3.5rem 1.25rem}
 .story .story-row.story-photo-overlay,.story .story-row.story-photo-overlay:nth-of-type(2){grid-template-columns:1fr;min-height:0;margin:2rem 0 0;padding:0;border-radius:18px}
 .story .story-row.story-photo-overlay:nth-of-type(2)>figure{order:0}
 .story .story-photo-overlay>div{padding:1.6rem 1.3rem 1.8rem}
 .story .story-photo-overlay h3{font-size:1.5rem;margin-top:1rem}
 .story .story-photo-overlay p{font-size:1rem;margin-top:1rem}
}

/* Match the first story photo to the shorter landscape photo panels. */
.story .story-photo-overlay>figure img.get-ready-photo{height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center 25%}

.home .villa-exclusive{position:relative;background:linear-gradient(140deg,#fff0e9,#fffcf8);border:1px solid #f6c4b6;border-radius:24px;padding:2.5rem 2rem;box-shadow:0 14px 35px rgba(103,64,46,.04)}
.home .villa-exclusive>span{display:inline-block;padding:.45rem 1rem;border-radius:30px;background:#fffcf8;border:1px solid #f6c4b6;font-size:.75rem;letter-spacing:.12em;color:#a65043}
.home .villa-exclusive h3{font-size:clamp(1.5rem,3.2vw,2rem);margin-top:1.3rem;line-height:1.5;color:#242424}
.home .villa-exclusive p{font-size:1.05rem;line-height:1.9;color:#242424;margin-top:1rem}
.home .villa-amenities{gap:.9rem;margin-top:1.5rem}
.home .villa-amenities li{background:#fffcf8;border:1px solid #ffedaf;border-radius:18px;padding:1.4rem .8rem;box-shadow:0 6px 18px rgba(53,55,36,.035)}
.home .villa-amenities li::before{content:none;display:block;color:#a65043;font-size:1.45rem;line-height:1;margin-bottom:.8rem}
.home .villa-amenities b{color:#242424;font-size:1.05rem;line-height:1.6}
.home .villa-amenities span{color:#242424;line-height:1.7}
.trip-fit p{padding-top:1.1rem;padding-bottom:1.1rem}
@media(max-width:650px){
 .home .villa-exclusive{padding:1.8rem 1.25rem}
 .home .villa-exclusive p{font-size:1rem}
 .home .villa-amenities li{padding:1.1rem .7rem}
 .home .villa-amenities b{font-size:1rem}
}

/* Compact detail links and calm travel guidance. */
.details-card .trip-guide-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin:1.8rem 0}
.details-card .trip-guide-links a{display:flex;align-items:center;justify-content:center;min-height:54px;padding:.75rem .4rem;text-align:center;border:1px solid #ddd0ef;border-radius:14px;background:#f3eefb;color:#242424;text-decoration:none;font-size:.95rem;font-weight:750;box-shadow:0 3px 10px rgba(25,60,48,.035)}
.details-card .trip-guide-links a:hover{background:#f3eefb;transform:translateY(-2px)}
.details-card .pickup-guide{position:relative;margin:1.5rem 0;padding:1.8rem;border:1px solid #ddd0ef;border-left:4px solid #78618f;border-radius:18px;background:linear-gradient(135deg,#f3eefb,#fffcf8);box-shadow:0 8px 22px rgba(35,60,35,.035)}
.details-card .pickup-guide h3{font-size:1.2rem;line-height:1.6;color:#242424;margin:0 0 1rem}
.details-card .pickup-guide p{font-size:1rem;line-height:1.9;color:#242424;margin:0}
.details-card .pickup-guide strong{font-weight:700;color:#242424}
.room-options>h3{color:#242424;line-height:1.55}
@media(max-width:650px){
 .details-card .trip-guide-links{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem}
 .details-card .trip-guide-links a{font-size:.85rem;min-height:52px;padding:.6rem .25rem;border-radius:12px}
 .details-card .pickup-guide{padding:1.3rem 1.1rem;border-radius:16px}
 .details-card .pickup-guide h3{font-size:1.12rem}
 .details-card .pickup-guide p{font-size:1rem;line-height:1.85}
}

/* A polished invitation and coordinated footer. */
#top .final{position:relative;isolation:isolate;overflow:hidden;padding:5rem 3rem 3.5rem;background:radial-gradient(ellipse at 10% 0%,#493e53 0%,transparent 55%),linear-gradient(145deg,#493e53,#102b24);color:#fffcf8;border-top:1px solid #edcf86}
#top .final::before{content:'';position:absolute;inset:1.3rem;border:1px solid rgba(237,213,180,.3);border-radius:28px;pointer-events:none;z-index:-1}
#top .final .eyebrow{max-width:620px;margin:0 auto 1.7rem;font-size:.8rem;letter-spacing:.14em;color:#ffedaf}
#top .final h2{color:#fffcf8;font-size:clamp(1.8rem,4.7vw,2.85rem);line-height:1.5}
#top .final>p:not(.eyebrow):not(.footer-mark){max-width:760px;margin:1.8rem auto 0;color:#fff8dc;font-size:1.05rem;line-height:1.9}
#top .final .final-inclusive{max-width:730px;padding:1.8rem 1.4rem;border:1px solid rgba(237,213,180,.32);border-radius:20px;background:rgba(255,253,243,.07);color:#fffcf8}
#top .final .final-inclusive strong{color:#f3eefb;font-size:clamp(1.8rem,5vw,2.65rem);letter-spacing:.035em}
#top .final .final-inclusive span{color:#fff8dc;font-weight:550;line-height:1.8;font-size:.95rem}
#top .final .final-inclusive .final-inclusive-gift{color:#f3eefb;font-weight:700;font-size:1.05rem}
#top .final .cta{max-width:650px;background:#fff8dc;color:#242424;border:1px solid #ffedaf;border-radius:18px;padding:1.15rem 1.4rem;box-shadow:0 12px 28px rgba(0,0,0,.16);font-size:1.1rem;line-height:1.7}
#top .final .cta span{display:block;margin:.2rem 0 0;font-size:.9rem;font-weight:550}
#top .final .cta:hover{background:#fff8dc;transform:translateY(-2px)}
#top .final .footer-mark{color:#ffedaf;font-size:.8rem;line-height:1.9;letter-spacing:.12em;margin-top:2rem}
.site-footer{max-width:1000px;margin:auto;padding:2.8rem 2rem 5.5rem;background:#fff8dc;color:#242424;border-top:1px solid #ffedaf}
.site-footer>p:first-child{color:#242424;font-weight:700;letter-spacing:.07em}
.site-footer .footer-links{gap:.7rem;margin:1.4rem auto 1.6rem}
.site-footer .footer-links a{border-radius:30px;padding:.75rem 1.2rem;border:1px solid #ddd0ef;background:#fffcf8;font-size:.875rem;box-shadow:0 4px 12px rgba(32,55,30,.035)}
.site-footer .footer-links a.home-button{background:#493e53;color:#fffcf8}
.site-footer .social-inquiry-note{font-size:.95rem;line-height:1.9;color:#242424}
.site-footer .image-note{max-width:760px;margin:1.6rem auto 0!important;padding-top:1.5rem;border-top:1px solid #ffedaf;font-size:.75rem;line-height:1.9;color:#505050}
@media(max-width:650px){
 #top .final{padding:3.5rem 1.5rem 2.8rem}
 #top .final::before{inset:.65rem;border-radius:24px}
 #top .final .eyebrow{font-size:.72rem;letter-spacing:.08em}
 #top .final h2{font-size:1.8rem}
 #top .final>p:not(.eyebrow):not(.footer-mark){font-size:1rem}
 #top .final .final-inclusive{padding:1.5rem 1rem}
 #top .final .final-inclusive strong{font-size:1.85rem}
 #top .final .final-inclusive span{font-size:.9rem}
 #top .final .cta{padding:1.1rem 1rem;font-size:1rem}
 #top .final .cta span{font-size:.85rem}
 .site-footer{padding:2.4rem 1.4rem 5.5rem}
 .site-footer .footer-links{display:grid;grid-template-columns:1fr;width:100%}
 .site-footer .footer-links a{width:100%;border-radius:16px}
}

/* A lighter, more transparent floating application button. */
.floating-apply{background:rgba(255,255,255,.30);border-color:rgba(255,255,255,.5);box-shadow:0 6px 22px rgba(25,49,39,.10)}
.floating-apply .apply-label{font-weight:450;letter-spacing:.01em}
.floating-apply .apply-label strong{font-weight:600;letter-spacing:-.015em}
.floating-apply:hover{background:rgba(255,255,255,.42)}

/* Small trip themes, with less space than a full content section. */
#top .trip-pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:1.8rem auto 2rem;padding:.3rem 0;text-align:left;max-width:850px}
#top .trip-pillars article{display:grid;grid-template-columns:auto 1fr;column-gap:.65rem;align-content:center;padding:.55rem 1rem;border:0;border-radius:0;background:none;box-shadow:none}
#top .trip-pillars article+article{border-left:1px solid #ffedaf}
#top .trip-pillars article>span{grid-row:1/3;display:block;margin:.1rem 0 0;color:#a65043;font-family:Georgia,serif;font-style:italic;font-size:1.05rem;line-height:1.4;letter-spacing:0}
#top .trip-pillars h3{margin:0;font-size:.68rem;font-weight:650;line-height:1.5;letter-spacing:.075em;color:#a65043}
#top .trip-pillars p{margin:.3rem 0 0;font-size:.92rem;line-height:1.65;color:#242424;font-weight:450}

/* Photo-first chapters: full, clear image alongside a quiet editorial caption. */
#top .photo-scene.feature{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:stretch;place-items:stretch;gap:0;min-height:0;padding:0;background:#fff8dc;color:#242424;text-align:left}
#top .photo-scene.feature>.scene-image{position:relative;inset:auto;z-index:auto;width:100%;height:100%;min-height:510px;aspect-ratio:auto;object-fit:cover;filter:none;opacity:1}
#top .photo-scene.feature>.veil{display:none}
#top .photo-scene.feature .feature-copy{position:relative;align-self:center;max-width:none;padding:2.6rem 2rem;border:0;border-radius:0;background:none;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;text-shadow:none;text-align:left}
#top .photo-scene.feature .feature-copy .eyebrow{display:block;margin:0 0 1.1rem;padding:0;border:0;border-radius:0;color:#a65043;font-size:.72rem;font-weight:650;letter-spacing:.14em;line-height:1.7}
#top .photo-scene.feature .feature-copy h2{color:#242424;font-size:clamp(1.5rem,2.8vw,1.95rem);font-weight:650;line-height:1.55;letter-spacing:-.045em}
#top .photo-scene.feature .feature-copy>p:last-child{margin:1.35rem 0 0;padding:1.15rem 0 0;border-top:1px solid #ffedaf;color:#242424;font-size:.95rem;font-weight:400;line-height:1.9;max-width:none}
#top .photo-scene.feature .feature-copy>p:last-child br{display:none}
#top .photo-scene.feature.social,#top .photo-scene.feature.beach{background:#f3eefb}
#top .photo-scene.feature.eve{background:#fffcf8}
#top .photo-scene.feature.social>.scene-image,#top .photo-scene.feature.beach>.scene-image{grid-column:2;grid-row:1}
#top .photo-scene.feature.social .feature-copy,#top .photo-scene.feature.beach .feature-copy{grid-column:1;grid-row:1}
#top .photo-scene.feature.dress>.scene-image{object-position:center 35%}
@media(max-width:650px){
 #top .trip-pillars{grid-template-columns:1fr;gap:0;margin:1.35rem auto 1.6rem;max-width:390px}
 #top .trip-pillars article{padding:.65rem .2rem;column-gap:.8rem}
 #top .trip-pillars article+article{border-left:0;border-top:1px solid #ffedaf}
 #top .trip-pillars article>span{font-size:1rem}
 #top .trip-pillars h3{font-size:.64rem;letter-spacing:.09em}
 #top .trip-pillars p{font-size:.88rem;line-height:1.6;margin:.2rem 0 0}
 #top .trip-pillars p br{display:none}
 #top .photo-scene.feature,#top .photo-scene.feature.brunch,#top .photo-scene.feature.eve{grid-template-columns:1fr;min-height:0;padding:0}
 #top .photo-scene.feature>.scene-image,#top .photo-scene.feature.social>.scene-image,#top .photo-scene.feature.beach>.scene-image{grid-column:1;grid-row:1;position:relative;height:auto;min-height:0;aspect-ratio:4/3;object-fit:cover}
 #top .photo-scene.feature .feature-copy,#top .photo-scene.feature.social .feature-copy,#top .photo-scene.feature.beach .feature-copy{grid-column:1;grid-row:2;padding:1.7rem 1.5rem 2rem;text-align:left}
 #top .photo-scene.feature .feature-copy .eyebrow{font-size:.68rem;margin-bottom:.8rem}
 #top .photo-scene.feature .feature-copy h2{font-size:1.55rem;line-height:1.5;font-weight:650}
 #top .photo-scene.feature .feature-copy>p:last-child{font-size:.94rem;line-height:1.85;margin-top:1rem;padding-top:1rem;font-weight:400}
}

/* Preserve the full composition of the supplied Dress Up photo. */
#top .photo-scene.feature.dress>.scene-image{height:auto;min-height:0;aspect-ratio:4/3;align-self:center;object-fit:contain;object-position:center}

/* A compact photo journal between the story and Dress Up chapter. */
.trip-photo-journal{padding:0 2rem 3rem;background:#fffcf8}
.trip-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;max-width:920px;margin:auto}
.trip-photo-grid figure{overflow:hidden;border-radius:12px;background:#fff8dc}
.trip-photo-grid img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;transition:transform .35s ease}
.trip-photo-grid figure:hover img{transform:scale(1.025)}
.trip-photo-grid img{object-position:center}.trip-photo-grid figure:nth-child(4) img{object-position:center 65%}
@media(max-width:650px){.trip-photo-journal{padding:0 1rem 2rem}.trip-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.trip-photo-grid figure{border-radius:9px}}
@media(prefers-reduced-motion:reduce){.trip-photo-grid img{transition:none}.trip-photo-grid figure:hover img{transform:none}}

/* One compact group-trip note, without numbered rows. */
#top .trip-fit{counter-reset:none;margin:1.8rem auto 0;padding:1.3rem 1.4rem;max-width:720px;border:0;border-left:3px solid #e89b89;border-radius:8px;background:#fff8dc;box-shadow:none}
#top .trip-fit .group-trip-label{font-size:.65rem;font-weight:550;letter-spacing:.09em;margin:0 0 .45rem;color:#8a713a}
#top .trip-fit h3{font-size:1.2rem;font-weight:650;line-height:1.6}
#top .trip-fit h3 br{display:none}
#top .trip-fit p,#top .trip-fit p:first-of-type,#top .trip-fit p:last-child{counter-increment:none;position:static;margin:.65rem 0 0;padding:0;border:0;font-size:.94rem;font-weight:400;line-height:1.9;color:#242424}
#top .trip-fit p::before{content:none;display:none}
@media(max-width:650px){#top .trip-fit{padding:1.1rem 1.15rem}#top .trip-fit h3{font-size:1.1rem}#top .trip-fit p{font-size:.92rem}}

/* Frosted glass invitation with a soft, restrained gradient. */
#top .final{background:radial-gradient(ellipse at 12% 8%,#78618f 0%,transparent 54%),radial-gradient(ellipse at 92% 72%,#493e53 0%,transparent 52%),linear-gradient(145deg,#493e53,#493e53 62%,#493e53);border-top:1px solid #edcf86}
#top .final::before{background:linear-gradient(135deg,rgba(255,252,235,.18),rgba(236,249,237,.07) 48%,rgba(255,255,255,.12));border:1px solid rgba(255,250,225,.35);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 16px 48px rgba(7,32,23,.1)}
#top .final .final-inclusive{background:linear-gradient(135deg,rgba(255,251,234,.18),rgba(234,247,234,.08) 65%,rgba(255,245,219,.13));border-color:rgba(255,246,224,.4);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 8px 28px rgba(7,32,23,.08)}
#top .final .cta{background:linear-gradient(135deg,rgba(255,252,241,.94),rgba(245,240,224,.85));border-color:rgba(255,250,231,.7);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 8px 24px rgba(7,32,23,.13)}
#top .final .cta:hover{background:linear-gradient(135deg,rgba(255,252,241,.98),rgba(245,240,224,.94))}

/* Consistent chapter geometry: mobile first; intrinsic photo sizes never set row height. */
#top .photo-scene.feature{grid-template-columns:minmax(0,1fr);min-height:0;overflow:hidden}
#top .photo-scene.feature .feature-visual{position:relative;grid-column:1;grid-row:1;width:100%;min-width:0;min-height:0;aspect-ratio:4/3;overflow:hidden;margin:0}
#top .photo-scene.feature .feature-visual>.scene-image{position:absolute;inset:0;z-index:auto;width:100%;height:100%;min-height:0;aspect-ratio:auto;object-fit:cover;object-position:50% 40%}
#top .photo-scene.feature.dress .feature-visual>.scene-image{object-fit:contain;object-position:center}
#top .photo-scene.feature .feature-copy,#top .photo-scene.feature.social .feature-copy,#top .photo-scene.feature.beach .feature-copy{grid-column:1;grid-row:2;min-width:0;max-width:100%;padding:1.7rem 1.5rem 2rem;align-self:center}
#top .photo-scene.feature.boat .feature-visual>.scene-image{object-position:center}
@media(min-width:768px){
 #top .photo-scene.feature{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);align-items:stretch}
 #top .photo-scene.feature .feature-visual{grid-column:1;grid-row:1;aspect-ratio:auto;min-height:440px}
 #top .photo-scene.feature .feature-copy{grid-column:2;grid-row:1;padding:2.6rem clamp(1.8rem,3vw,3rem)}
 #top .photo-scene.feature.social .feature-visual,#top .photo-scene.feature.beach .feature-visual{grid-column:2;grid-row:1}
 #top .photo-scene.feature.social .feature-copy,#top .photo-scene.feature.beach .feature-copy{grid-column:1;grid-row:1;padding:2.6rem clamp(1.8rem,3vw,3rem)}
 #top .photo-scene.feature .feature-copy h2{font-size:clamp(1.6rem,2.2vw,2rem);line-height:1.5;text-wrap:balance}
 #top .photo-scene.feature .feature-copy>p:last-child{font-size:1rem;line-height:1.85;max-width:38ch}
 #top .photo-scene.feature .feature-copy h2 br{display:none}
 #top .photo-scene.feature.dress .feature-visual>.scene-image{object-fit:cover;object-position:50% 40%}
 #top .photo-scene.feature.brunch .feature-visual>.scene-image{object-position:50% 35%}
 #top .photo-scene.feature.eve .feature-visual>.scene-image{object-position:50% 52%}
 #top .christmas-photo-pair{gap:12px;padding:12px;background:#fffcf8}
 #top .christmas-photo-pair img{height:320px;aspect-ratio:auto;object-fit:cover}
 #top .eve-steps{max-width:840px}
 #top .house-party-with-photo{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:2rem}
 #top .house-party-with-photo img{height:280px;aspect-ratio:auto;object-fit:cover;border-radius:10px}
}
@media(min-width:1100px){main,.nav{max-width:1120px}#top .photo-scene.feature .feature-visual{min-height:460px}}
@media(min-width:651px) and (max-width:767px){#top .photo-scene.feature .feature-copy h2{font-size:1.7rem}#top .photo-scene.feature .feature-visual{max-height:500px}}

/* Pastel rose invitation; shared by Korean and English pages. */
#top .final{background:radial-gradient(ellipse at 12% 8%,#fff8dc 0%,transparent 55%),radial-gradient(ellipse at 92% 72%,#fff0e9 0%,transparent 52%),linear-gradient(145deg,#fff0e9,#fff0e9 62%,#fff0e9);color:#242424;border-top-color:#f6c4b6}
#top .final::before{background:linear-gradient(135deg,rgba(255,255,255,.5),rgba(255,250,247,.22) 48%,rgba(255,255,255,.35));border-color:rgba(255,255,255,.8);box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 16px 48px rgba(133,76,96,.06)}
#top .final .eyebrow{color:#242424}
#top .final h2{color:#242424}
#top .final>p:not(.eyebrow):not(.footer-mark){color:#242424}
#top .final .final-inclusive{background:linear-gradient(135deg,rgba(255,253,249,.65),rgba(255,244,245,.45));border-color:rgba(255,255,255,.9);box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 8px 28px rgba(133,76,96,.05)}
#top .final .final-inclusive strong{color:#242424}
#top .final .final-inclusive span{color:#242424}
#top .final .final-inclusive .final-inclusive-gift{color:#242424}
#top .final .cta{background:linear-gradient(135deg,#fffcf8,#fffcf8);color:#242424;border-color:#f6c4b6;box-shadow:inset 0 1px 0 #fff,0 8px 24px rgba(133,76,96,.09)}
#top .final .cta:hover{background:linear-gradient(135deg,#fffcf8,#fffcf8)}
#top .final .footer-mark{color:#242424}

/* Room photos alongside the room upgrade comparison. */
.room-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;margin:1.8rem 0 0;text-align:left}
.room-photo-card{min-width:0;margin:0;overflow:hidden;border:1px solid #f6c4b6;border-radius:10px;background:var(--paper)}
.room-photo-card img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}
.room-photo-card figcaption{padding:1rem 1.1rem}
.room-photo-card figcaption strong{display:block;color:var(--green);font-size:1.1rem;line-height:1.5}
.room-photo-card figcaption span{display:block;margin-top:.3rem;font-size:.875rem;line-height:1.6;color:#242424;overflow-wrap:anywhere}
@media(max-width:650px){.room-photo-grid{gap:.75rem}.room-photo-card figcaption{padding:.8rem .65rem}.room-photo-card figcaption strong{font-size:1rem}.room-photo-card figcaption span{font-size:.8rem}}
@media(max-width:360px){.room-photo-grid{grid-template-columns:minmax(0,1fr)}}

/* Room images belong to their corresponding price row. */
.room-table .room-price-photo{display:block;width:100%;max-width:240px;height:auto;aspect-ratio:3/4;object-fit:cover;border-radius:8px;margin-top:.85rem}
@media(max-width:650px){.room-table .room-price-photo{max-width:none}}
