@font-face{font-family:Outfit;src:url('assets/outfit-bold.ttf') format('truetype');font-weight:700;font-display:swap}@font-face{font-family:DM;src:url('assets/dm-sans.ttf') format('truetype');font-weight:100 900;font-display:swap}
:root{--ink:#272130;--muted:#6f677a;--purple:#713bb6;--pale:#f5f0fa;--line:#e8dff0}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;color:var(--ink);background:white;font:16px/1.65 DM,Arial,sans-serif}a{color:inherit;text-underline-offset:5px}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3{font-family:Outfit,Arial,sans-serif;line-height:1.08;letter-spacing:-.045em;margin:0}h1{font-size:clamp(46px,5.4vw,76px)}h2{font-size:clamp(34px,3.8vw,50px)}h3{font-size:32px}.wrap{max-width:1240px;margin:auto;padding-left:32px;padding-right:32px}.skip{position:absolute;left:10px;top:-100px;background:white;z-index:9}.skip:focus{top:10px}.topline{background:var(--purple);color:white;text-align:center;padding:9px 20px;font-size:10px;letter-spacing:.2em;font-weight:650}header{display:flex;justify-content:space-between;align-items:center;padding-top:25px;padding-bottom:25px;border-bottom:1px solid var(--line);gap:25px}.brand{font:700 34px/1 Outfit,Arial,sans-serif;text-decoration:none;letter-spacing:-.055em;white-space:nowrap}.brand>span{color:var(--purple)}.brand small{display:block;text-align:center;font:500 10px/1 DM,Arial,sans-serif;letter-spacing:.55em;margin-top:11px;padding-left:.55em}nav{display:flex;align-items:center;gap:28px;font-size:13px;font-weight:600}nav a{text-decoration:none}.portal{padding:10px 15px;border:1px solid var(--line);border-radius:6px}.portal span{color:var(--purple);margin-left:10px}.hero{display:grid;grid-template-columns:1fr 1fr;gap:42px;padding-top:55px;padding-bottom:55px;align-items:center}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.19em;color:var(--purple);margin:0 0 22px}h1 em{font-style:normal;color:var(--purple)}.lede{color:var(--muted);font-size:18px;max-width:455px;margin:26px 0 30px}.button{display:inline-flex;gap:28px;align-items:center;justify-content:center;background:var(--purple);border:1px solid var(--purple);color:white;border-radius:6px;font-size:13px;font-weight:700;padding:16px 23px;text-decoration:none}.button:hover{background:#532584}.caption{font-size:11px;color:var(--muted);margin-top:25px}.hero-photo{height:550px;position:relative;overflow:hidden;border-radius:100px 10px 10px 10px}.hero-photo>img{object-position:center}.photo-label{position:absolute;left:24px;bottom:24px;background:#ffffffed;padding:20px 25px;border-radius:5px}.photo-label>span{font-size:8px;letter-spacing:.17em;color:var(--purple);font-weight:700}.photo-label strong{display:block;font:700 30px/1.05 Outfit;margin-top:10px;letter-spacing:-.04em}.ribbon{display:flex;justify-content:center;gap:80px;background:var(--pale);padding:20px;font-size:12px;color:var(--purple)}.ribbon span:before{content:'✳';margin-right:18px}.ideas{padding-top:75px;padding-bottom:75px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px}.section-heading .eyebrow{margin-bottom:15px}.section-heading>p{color:var(--muted);font-size:14px;margin:0}.idea-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:25px}.idea{border:1px solid var(--line);border-radius:10px;overflow:hidden}.idea>img{height:280px}.idea>div{padding:30px}.idea .eyebrow{margin-bottom:15px}.idea p:not(.eyebrow){font-size:14px;color:var(--muted);max-width:480px}.idea a,.text-link{font-size:13px;font-weight:700;color:var(--purple)}.family-feature{display:grid;grid-template-columns:1fr 1fr;gap:75px;padding-bottom:70px;align-items:center}.family-photo{height:620px;border-radius:10px 100px 10px 10px;overflow:hidden}.family-copy>p:not(.eyebrow){font-size:15px;color:var(--muted);margin-top:25px}.family-copy ol{padding:0;list-style:none;margin:28px 0}.family-copy li{display:flex;gap:20px;border-top:1px solid var(--line);padding:17px 0}.family-copy li>span{color:var(--purple);font-size:12px;padding-top:3px}.family-copy li strong{font-size:15px}.family-copy li p{font-size:13px;color:var(--muted);margin:4px 0 0}.departure{padding:55px 32px 65px;background:var(--pale);text-align:center;border-radius:12px;margin-bottom:65px}.departure .button{margin-top:28px}footer{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding-top:35px;padding-bottom:30px;border-top:1px solid var(--line)}footer .brand{font-size:26px}footer p{font-size:12px;color:var(--muted)}footer>div:nth-child(2){display:flex;gap:12px;align-items:end;flex-direction:column;font-size:12px}.footer-note{grid-column:1/-1;font-size:11px;border-top:1px solid var(--line);padding-top:20px}.page-head{padding-top:65px;padding-bottom:45px;max-width:850px}.page-head p:not(.eyebrow){color:var(--muted);font-size:17px}.booking-list{margin-bottom:60px}.booking-row{display:grid;grid-template-columns:180px 1fr 220px;align-items:center;gap:35px;border-top:1px solid var(--line);padding:30px 0}.booking-row h2{font-size:30px}.booking-row p{font-size:14px;color:var(--muted);margin:8px 0 0}.booking-row .status{font-size:12px;background:var(--pale);padding:13px 18px;border-radius:6px;color:var(--purple)}.disclosure{padding:24px 28px;border-left:3px solid var(--purple);background:var(--pale);margin-bottom:55px;font-size:14px}.disclosure p{margin:8px 0}.prose{max-width:830px;padding-top:55px;padding-bottom:65px}.prose h2{font-size:26px;margin-top:35px}.prose p,.prose li{color:var(--muted)}.prose h1{font-size:45px}.travel-icon{font-size:36px;color:var(--purple)}a:focus-visible{outline:3px solid #d1a5f5;outline-offset:5px}@media(max-width:800px){.wrap{padding-left:22px;padding-right:22px}header{flex-wrap:wrap;gap:25px}nav{gap:18px;font-size:12px;flex-wrap:wrap}.hero{grid-template-columns:1fr;gap:30px;padding-top:35px}.hero-photo{height:430px}.hero-copy{max-width:600px}.ribbon{gap:25px;font-size:10px;flex-wrap:wrap}.ribbon span:before{margin-right:6px}.section-heading{align-items:start;flex-direction:column;gap:20px}.ideas{padding-top:45px;padding-bottom:45px}.idea-grid{grid-template-columns:1fr}.idea>img{height:260px}.family-feature{grid-template-columns:1fr;gap:30px;padding-bottom:45px}.family-photo{height:350px;order:2}.departure{border-radius:0;margin-bottom:35px;padding-top:40px;padding-bottom:40px}.booking-row{grid-template-columns:1fr;gap:12px}.booking-row h2{font-size:28px}.booking-row .status{justify-self:start}footer{grid-template-columns:1fr}footer>div:nth-child(2){align-items:start}.brand{font-size:32px}.page-head{padding-top:40px}.prose h1{font-size:37px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
