


:root { --navy:#343e68; --navy-deep:#252d52; --pink:#e85d94; --pink-soft:#f7d1e1; --green:#95c78d; --yellow:#f9b217; --sky:#eaf5fa; --ink:#242945; --paper:#fffdf9; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial,Helvetica,sans-serif; }
a { color:inherit; text-decoration:none; }
.site-header { min-height:108px; padding:10px clamp(24px,5vw,80px); display:grid; grid-template-columns:minmax(145px,210px) 1fr minmax(190px,250px); align-items:center; gap:34px; background:rgba(255,255,255,.97); position:relative; z-index:10; }
.brand { display:flex; align-items:center; }
.product-brand img { width:190px; max-height:88px; object-fit:contain; display:block; }
.operator-lockup { display:flex; align-items:center; justify-content:flex-end; gap:13px; min-width:0; }
.operator-lockup span { color:#737a92; font-size:10px; font-weight:900; letter-spacing:.11em; line-height:1.2; text-transform:uppercase; white-space:nowrap; }
.operator-lockup img { width:170px; height:auto; display:block; }
nav { display:flex; gap:30px; font-size:14px; font-weight:700; color:var(--navy); }
nav a:hover { color:var(--pink); }
.button { display:inline-flex; align-items:center; justify-content:center; gap:10px; background:var(--pink); color:white; padding:16px 24px; border-radius:999px; font-weight:800; box-shadow:0 8px 24px rgba(232,93,148,.24); transition:transform .2s,box-shadow .2s; }
.button:hover { transform:translateY(-2px); box-shadow:0 12px 28px rgba(232,93,148,.34); }
.button-small { padding:12px 19px; font-size:13px; }
.hero { min-height:680px; position:relative; display:flex; align-items:center; overflow:hidden; background:var(--navy); }
.hero-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:58% center; }
.hero-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(35,43,79,.98) 0%,rgba(35,43,79,.9) 32%,rgba(35,43,79,.3) 61%,rgba(35,43,79,.04) 100%); }
.hero-content { position:relative; z-index:2; width:min(1180px,calc(100% - 48px)); margin:0 auto; padding:76px 0 58px; color:white; }
.kicker,.section-label { display:inline-block; color:var(--pink-soft); font-size:13px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.hero h1 { font-size:clamp(68px,8vw,120px); line-height:.84; letter-spacing:-.065em; margin:24px 0 26px; max-width:700px; }
.hero h1 em { color:var(--pink); font-style:normal; font-family:Georgia,serif; font-weight:700; }
.hero-content>p { max-width:575px; font-size:clamp(18px,2vw,23px); line-height:1.5; color:#eef0fa; }
.hero-actions { display:flex; align-items:center; gap:26px; margin-top:34px; }
.text-link { font-weight:800; border-bottom:2px solid rgba(255,255,255,.5); padding-bottom:4px; }
.hero-proof { display:flex; gap:44px; margin-top:52px; }
.hero-proof div { display:flex; flex-direction:column; border-left:2px solid var(--green); padding-left:14px; }
.hero-proof strong { font-size:27px; }
.hero-proof span { font-size:12px; color:#d8dced; margin-top:3px; }
.intro { width:min(1180px,calc(100% - 48px)); margin:0 auto; padding:100px 0 42px; display:grid; grid-template-columns:1.3fr .7fr; gap:80px; align-items:end; }
.section-label { color:var(--pink); margin-bottom:16px; }
.intro h2 { font-size:clamp(38px,5vw,62px); line-height:1; letter-spacing:-.045em; margin:0; color:var(--navy-deep); }
.intro>p { font-size:17px; line-height:1.7; color:#66708a; margin:0 0 6px; }
.trip-overview { width:min(1180px,calc(100% - 48px)); margin:0 auto 12px; display:grid; grid-template-columns:repeat(3,1fr); gap:1px; overflow:hidden; border-radius:16px; background:#e8e9ef; }
.trip-overview div { display:flex; align-items:center; justify-content:center; gap:10px; padding:20px; background:white; color:var(--navy); }
.trip-overview svg { color:var(--pink); }
.plan-grid { width:min(1180px,calc(100% - 48px)); margin:0 auto; display:grid; grid-template-columns:repeat(2,1fr); gap:22px; padding:26px 0; }
.cabin-grid { max-width:920px; }
.plan-card { background:white; border:1px solid #e8e9ef; border-top:8px solid var(--pink); border-radius:22px; padding:28px; box-shadow:0 16px 50px rgba(46,55,94,.08); position:relative; }
.plan-card.navy { border-top-color:var(--navy); transform:translateY(-10px); }
.plan-card.green { border-top-color:var(--green); }
.plan-topline { display:flex; align-items:center; justify-content:space-between; gap:12px; color:#737b93; font-size:12px; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.plan-topline b { color:white; background:var(--pink); border-radius:99px; padding:7px 10px; letter-spacing:0; text-transform:none; }
.green .plan-topline b { background:#5e9f58; }
.plan-card h3 { font-family:Georgia,serif; font-size:46px; color:var(--navy); margin:20px 0 15px; letter-spacing:-.04em; }
.plan-meta { display:flex; flex-direction:column; gap:8px; color:#5f6882; font-size:14px; }
.plan-meta span { display:flex; align-items:center; gap:8px; }
.ship { background:var(--sky); padding:12px 14px; border-radius:10px; font-size:13px; font-weight:800; color:var(--navy); margin:20px 0; }
.price { display:grid; grid-template-columns:auto 1fr; align-items:end; border-bottom:1px solid #ececf1; padding-bottom:21px; }
.price small { grid-column:1/-1; color:#8a91a5; font-size:11px; font-weight:800; text-transform:uppercase; }
.price strong { font-size:40px; line-height:1; color:var(--navy-deep); letter-spacing:-.04em; }
.price span { font-size:12px; color:#81889c; margin:0 0 4px 8px; }
.plan-card ul { list-style:none; padding:8px 0 12px; margin:0; display:grid; gap:10px; }
.plan-card li { display:flex; align-items:center; gap:9px; font-size:14px; color:#515a73; }
.plan-card li svg { color:var(--pink); stroke-width:3; }
.cabin-description { min-height:48px; color:#68718a; font-size:14px; line-height:1.55; }
.green li svg { color:#5e9f58; }
.plan-card>a { display:inline-flex; align-items:center; gap:8px; color:var(--pink); font-weight:900; font-size:14px; }
.navy>a { color:var(--navy); } .green>a { color:#4f8f4a; }
.price-note { width:min(1180px,calc(100% - 48px)); margin:22px auto 80px; display:flex; align-items:center; justify-content:center; gap:13px; background:var(--pink-soft); color:var(--navy); border-radius:14px; padding:18px 24px; }
.price-note p { margin:0; font-size:14px; }
.itineraries { background:#fff7fa; padding:100px max(24px,calc((100% - 1180px)/2)); scroll-margin-top:24px; }
.itinerary-heading { display:grid; grid-template-columns:1fr auto; align-items:end; gap:20px; margin-bottom:42px; }
.itinerary-heading .section-label { grid-column:1/-1; margin-bottom:-4px; }
.itinerary-heading h2,.payment-heading h2 { color:var(--navy-deep); font-size:clamp(38px,4.7vw,62px); line-height:1.02; letter-spacing:-.045em; margin:0; }
.itinerary-heading p { color:#69718a; margin:0 0 7px; }
.itinerary-list { display:grid; gap:16px; }
.itinerary-plan { background:white; border:1px solid #ece4e8; border-radius:20px; overflow:hidden; scroll-margin-top:24px; box-shadow:0 12px 34px rgba(46,55,94,.06); }
.itinerary-plan summary { cursor:pointer; list-style:none; display:grid; grid-template-columns:1fr auto 28px; align-items:center; gap:22px; padding:24px 28px; color:var(--navy); }
.itinerary-plan summary::-webkit-details-marker { display:none; }
.itinerary-plan summary>span:first-child { display:flex; align-items:baseline; gap:14px; }
.itinerary-plan summary small { color:var(--pink); font-size:11px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.itinerary-plan summary strong { font-family:Georgia,serif; font-size:29px; }
.itinerary-summary-meta { color:#727a92; font-size:13px; font-weight:700; }
.itinerary-plan summary>b { color:var(--pink); font-size:26px; text-align:center; transition:transform .2s; }
.itinerary-plan[open] summary>b { transform:rotate(45deg); }
.day-grid { border-top:1px solid #ececf1; padding:28px; display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:#ececf1; }
.day { background:white; padding:19px 21px; min-height:112px; }
.day strong { display:block; color:var(--pink); font-size:12px; letter-spacing:.04em; text-transform:uppercase; }
.day p { color:#5f6881; font-size:14px; line-height:1.55; margin:9px 0 0; }
.included { background:var(--navy-deep); color:white; padding:100px max(24px,calc((100% - 1180px)/2)); display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.included h2,.two-audiences h2,.clarity h2,.faq h2,.contact h2 { font-size:clamp(38px,4.7vw,62px); line-height:1.02; letter-spacing:-.045em; margin:14px 0 24px; }
.included h2 em,.contact h2 em { font-family:Georgia,serif; color:var(--pink); font-style:normal; }
.section-label.light { color:var(--pink-soft); }
.included-copy>p { color:#d8dced; line-height:1.7; max-width:570px; }
.included-list { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:34px; }
.included-list>div { display:flex; align-items:center; gap:12px; font-size:13px; color:#e7e9f2; }
.included-list svg { color:var(--green); width:24px; flex:0 0 auto; }
.included-list span { display:flex; flex-direction:column; }
.included-panel { background:#fff; color:var(--navy); padding:38px; border-radius:26px; position:relative; box-shadow:18px 18px 0 var(--pink); }
.included-badge { display:inline-flex; align-items:center; gap:8px; background:var(--pink-soft); color:#a83362; padding:9px 13px; border-radius:99px; font-size:12px; font-weight:900; }
.included-panel h3 { font-family:Georgia,serif; font-size:48px; line-height:.98; margin:25px 0 18px; }
.included-panel>p { line-height:1.65; color:#5d6680; }
.included-panel .included-footnote { margin:16px 0 0; font-size:12px; color:#858ca0; }
.express-line { margin-top:26px; background:var(--sky); border-radius:14px; padding:18px; display:flex; align-items:center; justify-content:space-between; gap:8px; font-size:11px; text-align:center; }
.express-line b { color:var(--pink); }
.express-line svg { flex:0 0 auto; width:15px; }
.payment { padding:100px max(24px,calc((100% - 1180px)/2)); background:var(--paper); }
.payment-heading { display:grid; grid-template-columns:1.15fr .85fr; gap:60px; align-items:end; }
.payment-heading>p { color:#69718a; line-height:1.75; margin:0 0 5px; }
.payment-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:44px; }
.payment-grid.cabin-payments { grid-template-columns:repeat(2,1fr); max-width:820px; margin-left:auto; margin-right:auto; }
.payment-grid article { background:white; border:1px solid #e8e9ef; border-radius:20px; padding:28px; box-shadow:0 14px 35px rgba(52,62,104,.06); }
.payment-grid svg { color:var(--pink); }
.payment-grid span { display:block; color:#777f96; font-size:12px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; margin-top:20px; }
.payment-grid h3 { color:var(--navy); font-family:Georgia,serif; font-size:29px; margin:8px 0 20px; }
.payment-grid p { color:#68718a; font-size:14px; margin:8px 0; }
.payment-grid p strong { color:var(--navy); }
.payment-note { color:#8a91a5; font-size:11px; margin:20px 0 0; }
.schedule-wrap { overflow-x:auto; margin-top:34px; border:1px solid #e3e5ed; border-radius:20px; background:white; box-shadow:0 14px 35px rgba(52,62,104,.05); }
.payment-schedule { width:100%; border-collapse:collapse; min-width:680px; }
.payment-schedule caption { text-align:left; padding:24px 26px 15px; color:var(--navy); font-size:18px; font-family:Georgia,serif; font-weight:700; }
.payment-schedule th,.payment-schedule td { padding:15px 26px; text-align:left; border-top:1px solid #ececf1; font-size:14px; }
.payment-schedule th { background:#fff7fa; color:var(--navy); font-size:11px; letter-spacing:.07em; text-transform:uppercase; }
.payment-schedule td { color:#606980; }
.payment-schedule td:nth-child(3),.payment-schedule td:nth-child(4) { color:var(--navy); font-weight:800; }
.payment-schedule tbody tr:first-child { background:var(--pink-soft); }
.payment-schedule tbody tr:first-child td { color:var(--navy-deep); font-weight:900; }
.payment-cta { display:flex; justify-content:center; margin-top:34px; }
.registration { padding:100px max(24px,calc((100% - 1180px)/2)); background:#fff7fa; display:grid; grid-template-columns:.7fr 1.3fr; gap:70px; align-items:start; scroll-margin-top:20px; }
.registration-intro { position:sticky; top:30px; }
.registration-intro h2 { color:var(--navy-deep); font-size:clamp(38px,4.7vw,60px); line-height:1.02; letter-spacing:-.045em; margin:12px 0 24px; }
.registration-intro>p { color:#68718a; line-height:1.7; }
.registration-assurance { display:flex; gap:12px; align-items:flex-start; margin-top:28px; padding:18px; border-radius:14px; background:white; color:#66708a; font-size:13px; line-height:1.55; }
.registration-assurance svg { color:var(--green); flex:0 0 auto; }
.registration-assurance strong { color:var(--navy); }
.registration-form { background:white; border:1px solid #ece4e8; border-radius:24px; padding:34px; box-shadow:0 18px 50px rgba(52,62,104,.08); }
.registration-prices { display:grid; grid-template-columns:1fr 1fr; gap:14px; padding:26px; border-radius:18px; background:var(--navy); color:white; }
.registration-prices>span { grid-column:1/-1; font-size:11px; font-weight:900; letter-spacing:.11em; text-transform:uppercase; color:#f4ccdc; }
.registration-prices>div { display:grid; gap:7px; padding-top:5px; }
.registration-prices strong { font-size:13px; text-transform:uppercase; letter-spacing:.06em; }
.registration-prices b { font-family:Georgia,serif; font-size:29px; }
.registration-deadline { margin:20px 0 26px; color:var(--pink); font-weight:900; }
.registration-steps { list-style:none; counter-reset:registration-step; padding:0; margin:0 0 26px; display:grid; gap:22px; }
.registration-steps li { counter-increment:registration-step; display:grid; grid-template-columns:42px 1fr; gap:14px; align-items:start; }
.registration-steps li::before { content:counter(registration-step,decimal-leading-zero); color:var(--pink); font-size:25px; line-height:1; font-weight:900; }
.registration-steps strong { color:var(--navy); font-size:15px; }
.registration-steps p { color:#68718a; font-size:13px; line-height:1.55; margin:6px 0 0; }
.registration-steps p b { color:#4b5570; }
.cabin-warning { background:var(--pink-soft); color:#59627c; padding:19px 21px; border-radius:14px; margin:0 0 24px; }
.cabin-warning strong { color:var(--navy); font-size:12px; letter-spacing:.06em; text-transform:uppercase; }
.cabin-warning p { margin:8px 0 0; font-size:13px; line-height:1.55; }
.registration-form fieldset { border:0; padding:0; margin:0 0 34px; }
.registration-form legend { width:100%; color:var(--navy); font-family:Georgia,serif; font-size:24px; font-weight:700; padding:0 0 15px; margin-bottom:20px; border-bottom:1px solid #ececf1; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.field { display:grid; gap:8px; }
.field-wide { grid-column:1/-1; }
.field span { color:#535d78; font-size:13px; font-weight:800; }
.field input,.field select { width:100%; border:1px solid #d9dce7; background:#fff; color:var(--ink); border-radius:11px; min-height:48px; padding:11px 13px; font:inherit; outline:none; }
.field input:focus,.field select:focus { border-color:var(--pink); box-shadow:0 0 0 3px rgba(232,93,148,.12); }
.consent-field { display:flex; gap:11px; align-items:flex-start; color:#68718a; font-size:12px; line-height:1.5; margin:4px 0 24px; }
.consent-field input { margin-top:2px; accent-color:var(--pink); }
.registration-submit { width:100%; border:0; cursor:pointer; display:flex; align-items:center; justify-content:center; gap:10px; background:var(--pink); color:white; padding:16px 24px; border-radius:999px; font:inherit; font-weight:900; box-shadow:0 8px 24px rgba(232,93,148,.24); }
.registration-submit:hover { background:#d94c84; }
.registration-help { display:flex; align-items:flex-start; gap:8px; color:#7b8297; font-size:11px; line-height:1.5; margin:16px 8px 0; }
.registration-help svg { color:#5e9f58; flex:0 0 auto; }
.two-audiences { display:grid; grid-template-columns:1fr 1fr; }
.two-audiences article { padding:90px max(30px,calc((100vw - 1180px)/2)); }
.for-her { background:#fff7fa; padding-right:70px!important; }
.for-family { background:var(--pink); color:white; padding-left:70px!important; }
.two-audiences h2 { font-size:clamp(38px,4vw,56px); }
.two-audiences p { line-height:1.7; max-width:560px; }
.two-audiences ul { list-style:none; padding:20px 0 0; display:grid; gap:16px; }
.two-audiences li { display:flex; align-items:center; gap:12px; font-weight:700; }
.two-audiences li svg { width:22px; color:var(--pink); }
.for-family li svg { color:#fff; }
.for-family small { display:block; margin-top:28px; color:#ffe5ef; line-height:1.5; }
.testimonials { background:var(--sky); padding:100px max(24px,calc((100% - 1180px)/2)); }
.testimonials-heading { display:grid; grid-template-columns:1.15fr .85fr; gap:60px; align-items:end; }
.testimonials-heading h2 { font-size:clamp(38px,4.7vw,62px); line-height:1.02; letter-spacing:-.045em; margin:14px 0 0; color:var(--navy); }
.testimonials-heading>p { color:#69718a; line-height:1.75; margin:0 0 5px; max-width:500px; }
.testimonial-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:20px; margin-top:52px; }
.testimonial-card { grid-column:span 2; background:white; border:1px solid rgba(52,62,104,.1); border-radius:22px; padding:28px; box-shadow:0 14px 35px rgba(52,62,104,.07); display:flex; flex-direction:column; min-height:285px; }
.testimonial-card:nth-child(4),.testimonial-card:nth-child(5) { grid-column:span 3; min-height:250px; }
.testimonial-card.featured { border-top:5px solid var(--pink); }
.review-top { display:flex; align-items:center; justify-content:space-between; color:#c8ccda; }
.stars { display:flex; gap:2px; color:var(--yellow); }
.stars svg { fill:currentColor; stroke-width:1.5; }
.testimonial-card blockquote { margin:26px 0 30px; color:var(--navy); font-family:Georgia,serif; font-size:18px; line-height:1.6; }
.testimonial-card footer { margin-top:auto; padding:0; min-height:0; display:flex; flex-direction:column; align-items:flex-start; gap:5px; color:inherit; text-align:left; }
.testimonial-card footer strong { color:var(--ink); font-size:14px; }
.testimonial-card footer span { color:#8990a5; font-size:11px; text-transform:uppercase; letter-spacing:.08em; font-weight:800; }
.testimonial-source { color:#8b92a7; font-size:11px; margin:22px 0 0; }
.clarity { width:min(1180px,calc(100% - 48px)); margin:0 auto; padding:100px 0; }
.clarity-heading { max-width:720px; }
.clarity-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:42px; }
.clarity-grid article { background:white; border:1px solid #e8e9ef; border-radius:18px; padding:30px; }
.clarity-grid svg { color:var(--pink); }
.clarity-grid h3 { color:var(--navy); margin:18px 0 10px; }
.clarity-grid p { color:#69718a; line-height:1.65; font-size:14px; margin:0; }
.faq { background:var(--sky); padding:100px max(24px,calc((100% - 1180px)/2)); display:grid; grid-template-columns:.8fr 1.2fr; gap:70px; }
.faq-list { display:grid; gap:12px; }
.faq details { background:white; border-radius:14px; padding:0 22px; }
.faq summary { cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:16px; padding:22px 0; font-weight:800; color:var(--navy); }
.faq summary::-webkit-details-marker { display:none; }
.faq summary span { color:var(--pink); font-size:24px; }
.faq details p { color:#68718a; line-height:1.65; margin:-2px 0 22px; font-size:14px; }
.contact { background:var(--navy); color:white; text-align:center; padding:100px 24px; }
.contact h2 { font-size:clamp(52px,6vw,82px); margin-bottom:20px; }
.contact>p { color:#d8dced; font-size:18px; }
.contact-actions { display:flex; justify-content:center; gap:14px; margin:36px 0; }
.button-light { background:white; color:var(--navy); box-shadow:none; }
.outline-button { border:2px solid rgba(255,255,255,.6); border-radius:99px; padding:14px 22px; font-weight:800; }
.contact small { color:#aeb4cc; }
.site-footer { padding:58px max(24px,calc((100% - 1180px)/2)) 38px; background:#fff; color:#66708a; }
.footer-main { display:grid; grid-template-columns:1fr 1fr; gap:80px; padding-bottom:44px; border-bottom:1px solid #e5e7ef; }
.footer-brand { display:block; }
.footer-brand img { width:220px; height:auto; }
.footer-brand p { margin:20px 0 0; color:var(--navy); font-family:Georgia,serif; font-size:22px; line-height:1.45; max-width:360px; }
.footer-contact { display:grid; gap:9px; font-style:normal; line-height:1.5; }
.footer-contact strong { color:var(--navy); font-size:12px; letter-spacing:.12em; text-transform:uppercase; margin-bottom:7px; }
.footer-contact a { color:var(--navy); font-weight:800; width:max-content; max-width:100%; overflow-wrap:anywhere; }
.footer-contact a:hover { color:var(--pink); }
.legal-notes { display:grid; grid-template-columns:1fr 1fr; gap:36px; padding-top:32px; }
.legal-notes p { margin:0; font-size:11px; line-height:1.7; color:#81879a; }
.legal-notes strong { color:#5f667d; }
@media(max-width:900px){ nav{display:none}.site-header{min-height:96px;padding:8px 20px;grid-template-columns:1fr auto;gap:20px}.product-brand img{width:155px;max-height:78px}.operator-lockup img{width:135px}.hero{min-height:690px}.hero-image{object-position:68% center}.hero-overlay{background:linear-gradient(90deg,rgba(35,43,79,.95) 0%,rgba(35,43,79,.68) 55%,rgba(35,43,79,.3) 100%)}.intro{grid-template-columns:1fr;gap:24px;padding-top:72px}.trip-overview{grid-template-columns:1fr}.plan-grid{grid-template-columns:1fr;max-width:620px}.plan-card.navy{transform:none}.itinerary-heading,.payment-heading{grid-template-columns:1fr;gap:18px}.payment-grid,.payment-grid.cabin-payments{grid-template-columns:1fr}.included,.faq,.registration{grid-template-columns:1fr;gap:45px}.registration-intro{position:static}.two-audiences{grid-template-columns:1fr}.two-audiences article,.for-her,.for-family{padding:70px 30px!important}.testimonials-heading{grid-template-columns:1fr;gap:24px}.testimonial-card,.testimonial-card:nth-child(4),.testimonial-card:nth-child(5){grid-column:span 3}.clarity-grid{grid-template-columns:1fr}.faq{padding-top:75px;padding-bottom:75px}.footer-main,.legal-notes{grid-template-columns:1fr;gap:32px} }
@media(max-width:560px){ .site-header{gap:12px;padding-left:14px;padding-right:14px}.product-brand img{width:132px;max-height:72px}.operator-lockup{gap:7px}.operator-lockup span{font-size:8px;white-space:normal;max-width:47px;text-align:right}.operator-lockup img{width:102px}.hero-image{object-position:72% center}.hero-overlay{background:linear-gradient(90deg,rgba(35,43,79,.94) 0%,rgba(35,43,79,.72) 72%,rgba(35,43,79,.48) 100%)}.hero-content{padding-top:62px}.hero h1{font-size:54px}.hero-actions{flex-direction:column;align-items:flex-start}.hero-proof{gap:16px;flex-wrap:wrap}.hero-proof strong{font-size:20px}.intro,.trip-overview,.plan-grid,.price-note{width:min(100% - 30px,1180px)}.price-note{align-items:flex-start} }
@media(max-width:560px){.itineraries,.payment,.registration{padding-top:72px;padding-bottom:72px}.itinerary-plan summary{grid-template-columns:1fr 24px;padding:21px}.itinerary-summary-meta{grid-column:1/-1;grid-row:2}.itinerary-plan summary>b{grid-column:2;grid-row:1}.day-grid{grid-template-columns:1fr;padding:18px}.included-list{grid-template-columns:1fr}.included-panel{padding:28px;box-shadow:10px 10px 0 var(--pink)}.included-panel h3{font-size:39px}.express-line{flex-direction:column}.express-line svg{transform:rotate(90deg)}.registration-form{padding:24px 18px}.registration-prices{grid-template-columns:1fr;padding:22px}.registration-prices>span{grid-column:1}.registration-prices b{font-size:26px}.form-grid{grid-template-columns:1fr}.field-wide{grid-column:1}.payment-schedule th,.payment-schedule td{padding:13px 16px}.testimonials{padding:75px 20px}.testimonial-grid{grid-template-columns:1fr;margin-top:38px}.testimonial-card,.testimonial-card:nth-child(4),.testimonial-card:nth-child(5){grid-column:1;min-height:0}.contact-actions{flex-direction:column;align-items:stretch}.contact h2{font-size:52px}.site-footer{padding-top:44px}.footer-main{gap:38px}.footer-brand p{font-size:19px}.legal-notes{gap:20px}}

/* A thank-you card for lifelong friends and their families. */
.thanks-page{min-height:100vh;background:radial-gradient(ellipse at 90% 8%,#fbe2ec 0,transparent 46%),radial-gradient(ellipse at 4% 70%,#e8f1fb 0,transparent 44%),#fffdf9;color:#252d52;padding:32px 24px 24px;text-align:center}.thanks-brand{max-width:940px;margin:auto;display:flex;justify-content:space-between;align-items:center}.thanks-brand>a>img{width:130px;height:auto}.thanks-brand>div{display:grid;gap:6px;justify-items:center;font-size:11px;letter-spacing:.08em}.thanks-brand>div>img{width:150px;height:auto}.thanks-intro{max-width:760px;margin:42px auto 30px}.thanks-intro h1{font-family:Georgia,serif;font-size:clamp(38px,6vw,66px);line-height:1.12;margin:18px 0}.thanks-intro h1 em{color:#d74d87;font-weight:normal}.thanks-intro>p:last-child{font-size:18px;line-height:1.6}.thanks-card{max-width:740px;margin:30px auto 0;padding:36px 42px 34px;background:#fff;border:1px solid #f1cbdd;border-radius:28px;box-shadow:0 20px 70px #343e6812;position:relative}.thanks-heart{display:block;color:#e85d94;font-size:52px;line-height:1}.thanks-label{font-size:11px;text-transform:uppercase;letter-spacing:.17em;color:#a2436b;margin:18px 0 24px}.thanks-card blockquote{font-family:Georgia,serif;font-size:clamp(22px,3vw,29px);line-height:1.6;margin:0;min-height:190px}.thanks-signature{font-weight:700;margin-top:26px;font-size:15px;color:#b83e73}.thanks-date{font-size:12px;margin:12px 0 0;color:#66708a}.thanks-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;max-width:780px;margin:28px auto}.thanks-actions button{font:inherit;cursor:pointer;min-height:48px}.thanks-secondary{border:1px solid #ddd2e2;background:#fff;border-radius:999px;padding:12px 22px;color:#343e68}.thanks-copy{border:0;background:transparent;color:#8f3664;text-decoration:underline;padding:10px}.thanks-next{max-width:600px;margin:38px auto}.thanks-next h2{font-family:Georgia,serif;font-size:24px}.thanks-next p{line-height:1.7;color:#66708a}.thanks-next a{display:inline-block;margin-top:14px;color:#b83e73;font-weight:700}.thanks-footer{max-width:680px;margin:40px auto 0;border-top:1px solid #eadfea;padding-top:24px;font-size:12px;color:#66708a;line-height:1.7}.thanks-footer a{color:#343e68;text-decoration:underline}@media(max-width:550px){.thanks-page{padding:22px 18px}.thanks-brand>a>img{width:95px}.thanks-brand>div>img{width:120px}.thanks-intro{margin-top:32px}.thanks-card{padding:26px 22px}.thanks-card blockquote{min-height:0}.thanks-actions{flex-direction:column;align-items:stretch}.thanks-actions a{justify-content:center}.thanks-signature{font-size:14px}}
