@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;600;700;800&family=Playfair+Display:ital,wght@1,700&display=swap');

:root{--ink:#18332e;--cream:#f4efe5;--coral:#ff6b58;--lime:#d9f06c;--blue:#b9dcf5;--line:rgba(24,51,46,.18)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Manrope,Arial,sans-serif}button,a{font:inherit}button{color:inherit}a{color:inherit;text-decoration:none}
nav{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid var(--line);position:relative;z-index:5}.brand{font:700 13px DM Mono}.brand span{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--coral);margin-right:10px}.nav-links{display:flex;gap:34px;font-size:13px}.year{font:500 12px DM Mono;border:1px solid;padding:8px 12px;border-radius:20px}
.hero{min-height:680px;padding:84px 8vw;position:relative;overflow:hidden;border-bottom:1px solid var(--line)}.eyebrow{font:500 11px DM Mono;text-transform:uppercase;letter-spacing:.14em;margin-bottom:22px}.hero h1{font-size:clamp(68px,10vw,145px);letter-spacing:-.075em;line-height:.76;margin:0;max-width:900px}.hero h1 em{font-family:"Playfair Display",serif;color:var(--coral);font-weight:700}.hero-copy{max-width:450px;font-size:17px;line-height:1.65;margin:42px 0 30px}.primary{display:inline-flex;gap:38px;align-items:center;background:var(--ink);color:white;padding:17px 22px;border-radius:4px;font-size:13px;font-weight:700}.primary span{font-size:20px}.ticket{position:absolute;right:7vw;bottom:82px;width:340px;height:155px;background:var(--lime);transform:rotate(-5deg);padding:18px 24px;box-shadow:0 12px 0 rgba(24,51,46,.12);border:1px solid var(--ink)}.ticket:before,.ticket:after{content:"";position:absolute;width:22px;height:22px;border-radius:50%;background:var(--cream);top:66px}.ticket:before{left:-12px}.ticket:after{right:-12px}.ticket-top,.ticket-bottom,.ticket-route{display:flex;justify-content:space-between;align-items:center}.ticket-top,.ticket-bottom{font:500 9px DM Mono;letter-spacing:.09em}.ticket-route{font-size:23px;border-top:1px dashed;border-bottom:1px dashed;margin:13px 0;padding:19px 0}.orbit{position:absolute;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center}.orbit-one{width:72px;height:72px;right:34%;top:90px;font-size:30px;transform:rotate(15deg)}.orbit-two{width:50px;height:50px;right:46%;bottom:70px;background:var(--blue);font-size:24px;transform:rotate(-12deg)}
.picker{padding:100px 5vw;background:#faf7f0}.section-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:56px}.section-heading>div{display:flex;gap:20px;align-items:start}.step{font:500 10px DM Mono;border:1px solid;padding:7px 9px;border-radius:50%;margin-top:10px}.section-heading h2{font-size:clamp(40px,5vw,72px);letter-spacing:-.06em;line-height:1;margin:0}.section-heading p{max-width:350px;font-size:14px;line-height:1.6;margin:0}.month-tabs{display:grid;grid-template-columns:repeat(12,1fr);border:1px solid var(--ink);border-radius:5px;overflow:hidden;margin-bottom:30px}.month-tabs button{border:0;border-right:1px solid var(--ink);background:transparent;padding:15px 4px;font:500 11px DM Mono;cursor:pointer;position:relative}.month-tabs button:last-child{border:0}.month-tabs button.active{background:var(--ink);color:white}.month-tabs small{position:absolute;background:var(--coral);color:white;width:16px;height:16px;border-radius:50%;top:2px;right:2px;font-size:9px;display:grid;place-items:center}
.weekend-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.weekend-card{min-height:220px;border:1px solid var(--line);background:var(--cream);padding:20px;text-align:left;display:flex;flex-direction:column;position:relative;cursor:pointer;transition:.2s}.weekend-card:hover{transform:translateY(-4px);border-color:var(--ink)}.weekend-card.chosen{background:var(--lime);border-color:var(--ink)}.week-number,.days{font:500 9px DM Mono;letter-spacing:.08em}.dates{display:flex;align-items:center;gap:9px;margin:auto 0}.dates b{font-size:42px;letter-spacing:-.07em}.dates i{font-style:normal}.check{position:absolute;right:16px;bottom:16px;width:31px;height:31px;border:1px solid;border-radius:50%;display:grid;place-items:center;font-size:17px}.selection-bar{margin-top:26px;background:var(--ink);color:white;padding:20px 24px;display:flex;align-items:center;justify-content:space-between;border-radius:5px}.selection-bar>div{display:flex;gap:16px;align-items:center}.selection-bar strong{font-size:36px;color:var(--lime)}.selection-bar span{font-size:12px}.selection-bar small{opacity:.6}.selection-bar button{background:var(--coral);border:0;padding:14px 18px;border-radius:3px;color:white;font-size:12px;font-weight:700;cursor:pointer}.selection-bar button span{margin-left:24px}
.dreams{background:var(--ink);color:white;padding:100px 5vw}.section-heading.light .step{border-color:rgba(255,255,255,.4)}.section-heading.light p{color:rgba(255,255,255,.65)}.destination-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.destination{height:500px;border:0;padding:36px;text-align:left;display:flex;flex-direction:column;position:relative;overflow:hidden;cursor:pointer;transition:.25s}.destination:hover{transform:translateY(-5px)}.destination.selected{outline:5px solid white;outline-offset:-5px}.madeira{background:var(--blue);color:var(--ink)}.brazil{background:var(--coral);color:var(--ink)}.destination:before{content:"";position:absolute;width:400px;height:400px;border:1px solid currentColor;border-radius:48% 52% 63% 37%;right:-120px;top:-100px;transform:rotate(35deg)}.brazil:after{content:"";position:absolute;width:230px;height:230px;background:var(--lime);border-radius:50%;right:-30px;bottom:45px}.stamp{position:absolute;right:32px;top:30px;border:1px solid;border-radius:50%;width:78px;height:78px;display:grid;place-items:center;text-align:center;font:500 9px DM Mono;transform:rotate(12deg);z-index:2}.place-no{font:500 10px DM Mono;letter-spacing:.08em}.place-name{font-size:clamp(65px,8vw,120px);font-weight:800;letter-spacing:-.09em;margin:auto 0 8px;z-index:2}.place-name em{font-family:"Playfair Display",serif;font-weight:700}.place-copy{font-size:14px;max-width:310px;z-index:2}.choose{margin-top:40px;border-top:1px solid;padding-top:18px;font-size:12px;font-weight:700;z-index:2}.surprise{width:100%;margin-top:18px;background:transparent;border:1px dashed rgba(255,255,255,.45);color:white;display:grid;grid-template-columns:40px auto 1fr;align-items:center;text-align:left;padding:22px;cursor:pointer}.surprise.selected{background:rgba(255,255,255,.08);border-color:var(--lime)}.surprise span{font-size:25px;color:var(--lime)}.surprise small{text-align:right;opacity:.6}footer{background:var(--ink);color:rgba(255,255,255,.55);border-top:1px solid rgba(255,255,255,.15);padding:30px 5vw;display:flex;justify-content:space-between;font:500 9px DM Mono;letter-spacing:.08em}
@media(max-width:800px){nav{height:70px}.nav-links{display:none}.hero{padding:65px 6vw 390px;min-height:auto}.hero h1{font-size:72px}.hero-copy{font-size:15px}.ticket{right:10%;bottom:100px;width:80%;}.orbit-one{right:7%;top:40px}.orbit-two{bottom:45px;right:8%}.picker,.dreams{padding:72px 5vw}.section-heading{display:block}.section-heading p{margin-top:22px}.month-tabs{overflow-x:auto;display:flex}.month-tabs button{min-width:58px}.weekend-grid{grid-template-columns:1fr 1fr}.destination-grid{grid-template-columns:1fr}.destination{height:400px}.selection-bar{position:sticky;bottom:10px;z-index:5}.selection-bar small{display:none}}@media(max-width:480px){.hero h1{font-size:59px}.weekend-grid{grid-template-columns:1fr}.weekend-card{min-height:165px}.destination{height:360px;padding:25px}.place-name{font-size:70px}.selection-bar{padding:14px}.selection-bar strong{font-size:28px}.selection-bar button span{margin-left:8px}.surprise{grid-template-columns:35px 1fr}.surprise small{display:none}}
