@font-face{font-family:Sora;src:url('assets/sora.ttf') format('truetype');font-weight:100 800;font-display:swap}@font-face{font-family:'DM Sans';src:url('assets/dm-sans.ttf') format('truetype');font-weight:100 1000;font-display:swap}
:root{--ocean:#29232f;--teal:#713baf;--coral:#713baf;--sand:#fff;--gold:#b68bdd;--muted:#6b6472;--purple:#713baf;--line:#e6e0eb;--lilac:#f5f0fb}body{background:white;color:var(--ocean);font:16px/1.65 'DM Sans',sans-serif}.wrap{max-width:1280px}.preview{background:var(--lilac);color:#624480;font-size:11px}header{border-color:var(--line)}.brand{font:700 26px Sora,sans-serif;letter-spacing:-1px;gap:9px}.brand i{font:inherit;color:var(--purple)}.brand small{font:10px 'DM Sans',sans-serif;color:var(--muted);margin-top:7px}.sun{font-size:38px;color:var(--purple)}nav{gap:22px;align-items:center}nav a,nav button,.planning-link,.text-button{font:600 13px 'DM Sans',sans-serif;color:var(--ocean)}h1,h2,h3,.scenario h3,.event-card h3,.stay-section article h3,.booking-card h3{font-family:Sora,sans-serif;font-weight:600;letter-spacing:-.045em}h1{font-size:clamp(44px,5.1vw,70px);line-height:1.12}h2{font-size:34px;line-height:1.2}h3{line-height:1.3}em{font-style:normal;font-weight:inherit;color:var(--purple)}.eyebrow,.form-caption{color:var(--purple);font-size:10px;letter-spacing:.16em}.button,.booking-card .button{background:var(--purple);border-color:var(--purple);border-radius:7px;padding:14px 22px;font-family:'DM Sans',sans-serif}.button:hover{background:#562588;border-color:#562588}a{color:#64329e}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:#9566c7}.hero{grid-template-columns:1fr 1.12fr;padding-top:64px;padding-bottom:68px;gap:60px}.hero .lede{font-size:17px;max-width:410px}.hero-actions{gap:18px;align-items:center}.hero-actions .secondary-link{padding:0;border:0;font-size:13px;text-decoration:underline;text-underline-offset:5px}.trip-facts{border-top:1px solid var(--line);padding-top:20px;max-width:380px}.trip-facts b{font-family:Sora,sans-serif;font-size:18px}.travel-visual{padding:0 0 30px}.travel-photo{height:465px;border-radius:9px;box-shadow:none}.travel-stamp{background:#fff;right:18px;top:18px;width:90px;height:90px;color:var(--purple);border:0;font-size:9px}.travel-stamp b{font-size:18px}.boarding-pass{left:-24px;bottom:0;right:50px;border-color:var(--line);background:white;box-shadow:0 10px 28px #37214e12;border-radius:8px}.boarding-pass>div:first-child{padding:20px 24px}.boarding-pass small{color:var(--purple)}.boarding-pass strong{font:600 23px Sora,sans-serif;letter-spacing:-1px}.boarding-pass p{margin-top:5px;color:var(--muted)}.pass-stub{background:var(--lilac);border-color:#cdb6df;color:var(--purple);padding:22px}.travel-strip{background:white;color:#64546f;border-block:1px solid var(--line);gap:65px}.travel-strip span:before{content:'✦';color:var(--purple)}
.explore{padding-top:56px;padding-bottom:54px}.planning .explore{border:0;margin-top:0;padding-top:36px;padding-bottom:10px}.explore-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:28px;gap:24px}.explore-heading h2{margin-bottom:0}.explore-heading>p{color:var(--muted);font-size:14px;margin-bottom:0}.explore-grid{display:grid;grid-template-columns:1.15fr .85fr 1fr;gap:22px}.explore-card{position:relative;overflow:hidden;border-radius:10px;text-decoration:none;color:var(--ocean);transition:transform .2s;min-height:365px}.explore-card:hover{transform:translateY(-4px)}.explore-card h3{font-size:27px;margin:12px 0 18px}.explore-card span:last-child{font-size:12px}.explore-card img{display:block;width:100%;object-fit:cover}.photo-card img{height:100%;position:absolute;inset:0}.photo-card:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent,#160829e8)}.photo-card>div{position:absolute;bottom:25px;left:26px;right:26px;z-index:1;color:#fff}.photo-card h3,.photo-card .eyebrow{color:white}.category-icon{display:flex;margin-bottom:15px}.travel-icon{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;color:var(--purple);flex-shrink:0}.photo-card .travel-icon{color:white}.city-card{border:1px solid var(--line)}.city-card img{height:160px}.city-card>div{padding:22px}.city-card .category-icon{position:absolute;right:18px;top:140px;width:42px;height:42px;border-radius:50%;background:white;display:grid;place-items:center;border:1px solid var(--line)}.city-card h3{margin-top:0}.city-card p{font-size:13px;color:var(--muted);margin-bottom:10px}.escape-card{background:var(--lilac);display:flex;flex-direction:column;justify-content:space-between}.escape-card>div{padding:25px}.escape-card img{height:130px;object-position:center 60%}.escape-card .eyebrow{display:block}.escape-card h3{font-size:25px;margin-bottom:16px}
.steps{gap:30px;padding-bottom:45px}.steps article{border-top-color:var(--line)}.steps span{font:600 14px Sora;color:var(--purple)}.steps h2{font-size:20px}.steps p,.form-layout aside>p,.aside-note p,.hint,.local-note,.stay-section>p,.stay-section article p,.backup-section>p,#events>p{color:var(--muted)}.form-section{background:white;border-top:1px solid var(--line)}.form-layout aside h2{font-size:38px}.aside-note{border-color:var(--line)}form{background:white;border-color:var(--line);border-radius:10px;box-shadow:0 5px 25px #30203d04}input:not([type=checkbox]),select,textarea{background:white;border-color:#d8d0df;border-radius:5px;font-family:'DM Sans',sans-serif}.choices label{border-color:var(--line);border-radius:5px}.choices input{accent-color:var(--purple)}.local-note{background:#faf8fd;border-color:#c8a8e3}.metric,.summary-grid article,.response{background:white;border-color:var(--line);border-radius:9px}.metric strong{font-family:Sora;color:var(--purple)}.metric span,.response small{color:var(--muted)}.response h3{font-family:Sora}.bar-track{background:#f1eaf8}.next-step,.group-callout{background:var(--lilac);color:var(--ocean);border:1px solid #e2d3ee;border-radius:10px}.next-step h2,.group-callout h2{color:var(--ocean)}.next-step .eyebrow,.group-callout .eyebrow{color:var(--purple)}.next-step p:last-child,.group-callout p{color:var(--muted)}
.planning-intro{min-height:310px;padding:10px 43% 25px 0}.planning-intro h1{font-size:clamp(38px,3.7vw,51px);line-height:1.15}.planning-intro>p:last-child{color:var(--muted);font-size:15px}.planning-intro:after{width:37%;height:280px;background-image:url('assets/concert.jpg');border-radius:9px;box-shadow:none}.planning section{border-color:var(--line);border-top-style:solid}.section-heading h2{font-size:32px}.scenario{border:1px solid var(--line);background:white;border-radius:10px;padding:26px;box-shadow:0 7px 20px #34204606}.scenario:nth-child(3n+2){background:var(--lilac)}.scenario>.travel-icon{margin-bottom:20px}.scenario>p:first-of-type{font-size:10px;letter-spacing:.12em;color:var(--purple)}.scenario h3{font-size:25px}.scenario p{color:var(--muted)}.scenario .scenario-facts{border-color:var(--line)}.organizer,.affiliate-editor{border:1px solid var(--line);background:white;border-radius:8px}.organizer summary{color:var(--purple)}.vote-results{background:#faf8fd;border-color:var(--line);border-radius:9px}.event-card{border:1px solid var(--line);border-left:5px solid var(--purple);background:white;border-radius:10px;padding:30px;box-shadow:0 8px 26px #45276806}.event-card>.travel-icon{box-sizing:content-box;padding:12px;background:var(--lilac);border-radius:12px;margin-bottom:16px}.event-card h3{font-size:29px}.event-meta{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--purple)}.event-counts{background:var(--lilac);border-radius:6px;color:#563876}.event-card form{box-shadow:none;background:#fcfbfe}#event-suggestions .event-card{border-left:1px solid var(--line);border-top:3px solid #b392d4;box-shadow:none;background:#fcfbfe}.concert-details{background:#faf8fd;border-left-color:var(--purple)}.concert-details strong{font:600 23px Sora;color:var(--ocean)}.concert-details a{color:var(--purple)}.concert-details small{color:var(--muted)}.stay-entry{border-color:var(--line)}.stay-entry a{color:var(--purple)}.stay-section article h3{font-size:22px}.summary-grid article{border-top:3px solid #b392d4}#planning-status:not(:empty),#form-status:not(:empty),#board-status:not(:empty){background:var(--lilac);border-color:var(--purple)}
.booking-hero{min-height:380px;padding:10px 47% 36px 0}.booking-hero h1{font-size:61px;line-height:1.1}.booking-hero:after{width:41%;height:330px;background-image:url('assets/beach.jpg');border-radius:9px;box-shadow:none}.booking-hero>p{color:var(--muted)}.booking-hero>.eyebrow{color:var(--purple)}.booking-steps{color:var(--purple);font-size:11px}.disclosure{background:#faf8fd;border-color:var(--line);border-radius:7px}.booking-card{border:1px solid var(--line);border-radius:10px;box-shadow:0 6px 20px #45276805;background:white}.booking-card>.travel-icon{box-sizing:content-box;padding:13px;background:var(--lilac);border-radius:12px;margin-bottom:20px}.booking-card:nth-child(3n+2){background:#fcfaff}.booking-card h3{font-size:25px}.booking-card p,.affiliate-label{color:var(--muted)}.placeholder-card:before{content:none}.placeholder-card p:last-child{display:inline-flex;border:1px solid #e4d5ee;padding:5px 10px;border-radius:20px;font-size:11px;color:var(--purple)}.group-callout .button{background:var(--purple);border-color:var(--purple);color:white}footer{border-top:1px solid var(--line);padding-top:28px;margin-top:20px}footer>span{font:600 21px Sora;letter-spacing:-.04em}footer p{color:var(--muted)}.photo-credit{color:var(--muted);font-size:11px}
@media(max-width:1050px){header{flex-wrap:wrap;gap:18px}.hero{gap:36px}.hero h1{font-size:56px}.travel-photo{height:435px}.boarding-pass strong{font-size:20px}.explore-card h3{font-size:24px}.planning-intro h1{font-size:42px}.booking-hero h1{font-size:52px}}
@media(max-width:750px){.hero{grid-template-columns:1fr;gap:36px;padding-top:35px;padding-bottom:40px}.hero h1{font-size:52px}.hero h1 br:nth-child(2){display:none}.hero .lede{max-width:500px}.travel-photo{height:355px}.boarding-pass{left:14px;right:14px}.boarding-pass>div:first-child{padding:16px}.travel-strip{gap:15px;justify-content:space-around;font-size:8px;padding:16px 12px}.travel-strip span:before{margin-right:5px}.explore{padding-top:36px;padding-bottom:35px}.explore-heading{align-items:flex-start;flex-direction:column;gap:14px}.explore-heading h2{font-size:30px}.explore-grid{grid-template-columns:1fr;gap:18px}.explore-card{min-height:300px}.photo-card{min-height:350px}.city-card{display:grid;grid-template-columns:42% 1fr;min-height:230px}.city-card img{height:100%}.city-card .category-icon{position:static;border:0;display:flex;place-items:normal;width:auto;height:auto}.escape-card{display:grid;grid-template-columns:1fr 40%;min-height:240px}.escape-card img{height:100%}.planning-intro{padding:0 0 220px;min-height:0}.planning-intro:after{top:auto;bottom:0;width:100%;height:195px}.planning-intro h1{font-size:39px}.planning .explore{padding-top:25px}.section-heading h2{font-size:28px}.scenario-grid{grid-template-columns:1fr}.event-card{padding:22px}.event-card form{padding:16px}.event-card h3{font-size:25px}.booking-hero{padding:0 0 250px;min-height:0}.booking-hero:after{top:auto;bottom:25px;width:100%;height:200px}.booking-hero h1{font-size:48px}.booking-steps{flex-direction:column;gap:5px}.form-layout aside h2{font-size:33px}header nav{flex-wrap:wrap;gap:12px 20px}.hero-actions .button{width:auto}.summary-grid{grid-template-columns:1fr}.explore .eyebrow{margin-bottom:12px}footer{flex-wrap:wrap}}
.discussion{border-top:1px solid var(--line);margin-top:24px;padding-top:18px}.discussion summary{cursor:pointer;font:600 13px 'DM Sans',sans-serif;color:var(--purple)}.discussion>p{font-size:12px;margin:14px 0;color:var(--muted)}.discussion form{padding:16px;margin-top:18px;box-shadow:none;background:#fcfaff}.discussion form label{margin-bottom:14px}.discussion form .button{font-size:12px;padding:10px 14px;width:auto}.discussion textarea{font-size:14px}.discussion .comment{padding:15px 0;border-bottom:1px solid var(--line)}.discussion .comment strong{display:block;font-size:13px;color:var(--ocean)}.discussion time{display:block;font-size:10px;color:var(--muted)}.discussion .comment p{margin:8px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px}.discussion .hint:empty{display:none}.scenario:has(.discussion[open]){grid-column:1/-1}.scenario:has(.discussion[open]) .discussion{max-width:760px}.escape-card img{height:170px}.planning-intro:after{background-position:center 35%}
@media(max-width:750px){.escape-card img{height:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.explore-card{transition:none}}
.escape-card img{object-position:center 85%}
.photo-card:after{background:linear-gradient(transparent 35%,#000000dc)}.photo-card img{object-position:45% center}.planning-intro:after{background-position:center 40%}
.planning-intro:after{background-image:url("assets/planning-together.jpg");background-position:65% 55%}.travel-photo{object-position:65% center}
.planning-intro:after{background-position:center 27%}.travel-photo{object-position:center 25%}.photo-card img{object-position:center 33%}
.planning-intro:after{background-position:center top}.travel-photo{object-position:center 12%}
.planning-intro:after{background-image:url("assets/family-airport.png");background-position:center 43%}.travel-photo{object-position:center 43%}
.events-page .planning-intro:after{background-image:url("assets/concert.jpg");background-position:center 35%}.page-switch{padding:14px 18px;border:1px solid var(--line);border-radius:8px;font-size:13px;background:#fcfaff}.page-switch a{text-decoration:none;color:var(--purple);font-weight:600}
nav a[aria-current="page"]{color:var(--purple);text-decoration:underline;text-underline-offset:7px}
.occasion-actions{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:32px}.occasion-actions button{display:flex;align-items:center;gap:16px;border:1px solid var(--line);background:white;border-radius:10px;padding:22px;text-align:left;color:var(--ocean)}.occasion-actions button:hover{border-color:var(--purple);background:#fcfaff}.occasion-actions button>span:first-child{display:grid;place-items:center;border-radius:12px;background:var(--lilac);padding:12px}.occasion-actions button>span:last-child{margin-left:auto;color:var(--purple)}.occasion-actions strong{display:block;font:600 19px Sora,sans-serif;letter-spacing:-.03em}.occasion-actions small{display:block;font:13px "DM Sans",sans-serif;color:var(--muted);margin-top:5px}@media(max-width:650px){.occasion-actions{grid-template-columns:1fr}.occasion-actions button{padding:18px}}
.holiday-actions{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 30px}.holiday-actions button{display:flex;gap:9px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:30px;padding:10px 15px;font:600 13px "DM Sans",sans-serif;color:var(--ocean)}.holiday-actions button:hover{background:var(--lilac);border-color:var(--purple)}.holiday-actions .travel-icon{width:20px;height:20px}.bring-list{border:1px solid #e2d3ee;border-radius:10px;padding:22px;margin-top:25px;background:#fcfaff}.bring-list>summary{cursor:pointer;font:600 18px Sora,sans-serif;letter-spacing:-.03em;color:var(--purple)}.bring-list>p{font-size:13px;color:var(--muted);margin:16px 0}.bring-counts{display:flex;flex-wrap:wrap;gap:18px;padding:12px 0;color:var(--purple);font-size:13px}.bring-counts span{color:#45684a}.bring-item{padding:20px;border:1px solid var(--line);border-left:4px solid #a66b31;border-radius:8px;background:#fff;margin:16px 0}.bring-item.covered{border-left-color:#568563}.bring-item h4{margin:0 0 5px;font:600 19px Sora,sans-serif;letter-spacing:-.03em}.bring-item>strong{display:inline-block;color:#82501e;font-size:12px}.bring-item.covered>strong{color:#3f6c4b}.bring-item>p{font-size:13px;margin:6px 0}.bring-item li{font-size:13px;overflow-wrap:anywhere;margin:5px 0}.bring-list form{box-shadow:none;padding:18px;background:#fff;margin-top:16px}.bring-list label{margin-bottom:14px}.bring-list .button{font-size:13px;padding:11px 16px;width:auto}.bring-status:empty{display:none}.bring-status:not(:empty){background:var(--lilac);padding:10px;font-size:13px}.bring-item details>summary{cursor:pointer;color:var(--purple);font-size:13px;font-weight:600}.bring-item details{margin-top:16px}.bring-list .missing-toggle{display:flex;gap:9px;align-items:center;font-size:13px;margin-top:15px}.bring-list input[type=checkbox]{accent-color:var(--purple)}@media(max-width:650px){.bring-list{padding:15px}.bring-item{padding:15px}.bring-list form{padding:13px}.bring-list>summary{font-size:16px}}
.trip-confirmation{border-top:1px solid var(--line);padding-top:18px;margin-top:20px}.trip-confirmation>strong{font-size:13px;color:var(--purple)}.trip-confirmation>p{font-size:12px;margin:8px 0 14px}.trip-confirmation .button{font-size:12px;padding:10px 15px;width:auto}.confirmed-outing{grid-column:1/-1;border:2px solid #b99ad6!important;background:white!important;scroll-margin-top:24px}.confirmed-outing>p:first-of-type{display:inline-flex;background:var(--lilac);padding:5px 10px;border-radius:20px}.confirmed-outing>.travel-icon{display:none}.confirmed-outing .discussion{max-width:800px}.confirmed-outing .discussion>summary{font-size:18px}.confirmed-outing .comment-list{background:#faf8fd;padding:0 18px;border-radius:8px}

/* Refreshed feature-card photography: retain faces and the tropical shoreline. */
.photo-card img{object-position:center 33%}.city-card img{object-position:center 34%}.escape-card img{object-position:center 67%}

/* Concerts card: keep the live stage and audience in frame. */
.photo-card img{object-position:center 60%}

/* A shared photo-led layout for the three outing ideas. */
.outing-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
.outing-card{display:flex;flex-direction:column;min-height:0;background:#fff;border:1px solid #e6dfec;border-radius:16px;box-shadow:0 5px 18px #40245105;transition:transform .2s,box-shadow .2s,border-color .2s}
.outing-card:hover{transform:translateY(-4px);border-color:#bea0d9;box-shadow:0 14px 30px #40245112}
.outing-card:focus-visible{outline:3px solid #8650b9;outline-offset:5px}
.outing-photo{height:245px;overflow:hidden;background:#eee7f4;flex-shrink:0}
.outing-photo img{height:100%;width:100%;object-fit:cover;object-position:center 62%;transition:transform .35s}
.outing-card:hover .outing-photo img{transform:scale(1.035)}
.outing-card:nth-child(2) .outing-photo img{object-position:center 36%}
.outing-card:nth-child(3) .outing-photo img{object-position:center 63%}
.outing-body{display:flex;flex-direction:column;flex:1;padding:26px 27px 20px}
.outing-category{display:flex;align-items:center;gap:9px;margin:0 0 17px;color:var(--purple);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.outing-category>span{display:flex}.outing-category .travel-icon{width:19px;height:19px;stroke-width:1.7}
.outing-card h3{font-size:27px;line-height:1.2;letter-spacing:-.045em;margin:0 0 14px;color:var(--ocean)}
.outing-description{font-size:14px;line-height:1.7;color:var(--muted);margin:0 0 26px;max-width:32ch}
.outing-action{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:auto;padding-top:17px;border-top:1px solid #eee7f3;color:var(--purple);font-size:13px;font-weight:600}
.outing-action .outing-arrow{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:#f2eafa;font-size:20px;transition:background .2s,color .2s}
.outing-card:hover .outing-arrow{background:var(--purple);color:white}
@media(min-width:751px) and (max-width:1000px){.outing-grid{gap:16px}.outing-body{padding:22px 20px 18px}.outing-photo{height:210px}.outing-card h3{font-size:24px}}
@media(max-width:750px){.outing-grid{grid-template-columns:1fr;gap:24px}.outing-card{min-height:0}.outing-photo{height:230px}.outing-body{padding:24px}.outing-card h3{font-size:27px}.outing-description{max-width:none}.outing-action{padding-top:16px}}
@media(prefers-reduced-motion:reduce){.outing-card,.outing-photo img,.outing-arrow{transition:none}.outing-card:hover,.outing-card:hover .outing-photo img{transform:none}}

/* Selected photo direction: performers, dinner together, tropical beach. */
.outing-card:first-child .outing-photo img{object-position:center 35%}.outing-card:nth-child(2) .outing-photo img{object-position:center 40%}.outing-card:nth-child(3) .outing-photo img{object-position:center 58%}
/* Shared BrightBree wordmark: matching Studio typography with the Travel accent. */
@font-face{font-family:BrightBreeOutfit;src:url('assets/outfit-bold.ttf') format('truetype');font-weight:700 800;font-display:swap}
header .brand{display:inline-flex;color:#101015;gap:0;letter-spacing:normal;text-decoration:none;flex-shrink:0}
header .brand-name{font-family:BrightBreeOutfit,Arial,sans-serif;font-size:36px;font-weight:800;letter-spacing:-1.8px;line-height:1}
header .brand-dot{display:inline-block;margin-left:1px;color:var(--purple)}
header .brand-name small{display:block;font:600 10px/1.5 'DM Sans',sans-serif;letter-spacing:.43em;margin-top:8px;text-align:center;color:#101015;padding-left:.43em}
@media(max-width:650px){header .brand-name{font-size:30px}header .brand-name small{font-size:9px}}
