@import url("https://fonts.googleapis.com/css2?family=Archivo:wdth,wght@62..125,700..900&family=Mr+De+Haviland&family=Outfit:wght@300..600&display=swap");

/* Base */
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--page);color:var(--ink);font-family:var(--font-sans);font-size:16px;line-height:26px;-webkit-font-smoothing:antialiased}
:where(a,button,[tabindex]):focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.ro-on-photo{--focus:var(--focus-on-photo);color:var(--on-photo)}
.ro-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}
.ro-demo{padding:var(--space-4)}
.ro-title{font-size:42px;line-height:56px;font-weight:400;margin:0;text-wrap:balance}
.ro-title span{color:var(--ink-faint)}
.ro-text{font-size:18px;line-height:30px;color:var(--ink-muted);margin:0;max-width:62ch}

/* Icon */
.ro-icon{display:inline-block;flex:none;width:24px;height:24px;background:currentColor;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}
.ro-icon--arrow-up-right{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23141804' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M8 7h9v9'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23141804' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M8 7h9v9'/%3E%3C/svg%3E")}
.ro-icon--check-double{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23141804' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 13 3.5 3.5L13 9M11 15l1.5 1.5L21 8'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23141804' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 13 3.5 3.5L13 9M11 15l1.5 1.5L21 8'/%3E%3C/svg%3E")}
.ro-icon--star{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23141804' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath fill='%23141804' stroke='none' d='m12 2.6 2.9 6 6.6.9-4.8 4.6 1.2 6.5L12 17.5l-5.9 3.1 1.2-6.5L2.5 9.500l6.6-.9z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23141804' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath fill='%23141804' stroke='none' d='m12 2.6 2.9 6 6.6.9-4.8 4.6 1.2 6.5L12 17.5l-5.9 3.1 1.2-6.5L2.5 9.500l6.6-.9z'/%3E%3C/svg%3E")}
.ro-icon--chevron-left{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23141804' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m15 5-7 7 7 7'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23141804' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m15 5-7 7 7 7'/%3E%3C/svg%3E")}
.ro-icon--chevron-right{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23141804' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 5 7 7-7 7'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23141804' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 5 7 7-7 7'/%3E%3C/svg%3E")}
.ro-icon--menu{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23141804' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 8h16M4 16h16'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23141804' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 8h16M4 16h16'/%3E%3C/svg%3E")}

/* Photo: a placeholder scene until the real image is set as a background */
.ro-photo{position:relative;isolation:isolate;overflow:hidden;background-color:var(--dusk);background-size:cover;background-position:center;color:var(--on-photo);--focus:var(--focus-on-photo)}
.ro-photo::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,var(--scrim),rgba(10,12,4,0) 62%)}
.ro-scene--mountain{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 1000' preserveAspectRatio='xMidYMid slice'%3E%3Cdefs%3E%3ClinearGradient id='s' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%2354707c'/%3E%3Cstop offset='1' stop-color='%23a9b6b2'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='1600' height='1000' fill='url(%23s)'/%3E%3Cpolygon fill='%235d7682' points='0,520 200,440 380,500 560,400 760,470 980,330 1180,440 1400,370 1600,470 1600,1000 0,1000'/%3E%3Cpolygon fill='%2337505b' points='0,640 240,520 420,620 640,560 860,650 1100,530 1320,640 1600,560 1600,1000 0,1000'/%3E%3Cpolygon fill='%23fff' points='0,300 520,620 240,760 0,620' opacity='.14'/%3E%3Cpolygon fill='%231e2c2c' points='0,790 300,640 560,760 800,700 1040,800 1300,680 1600,790 1600,1000 0,1000'/%3E%3Cpolygon fill='%233b2a1b' points='380,1000 600,810 740,730 820,670 900,730 1040,820 1280,1000'/%3E%3Cpolygon fill='%237a5230' points='600,810 740,730 820,670 840,760 760,830 680,860'/%3E%3C/svg%3E")}
.ro-scene--coast{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 1000' preserveAspectRatio='xMidYMid slice'%3E%3Cdefs%3E%3ClinearGradient id='s' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%239ed3e2'/%3E%3Cstop offset='1' stop-color='%23dcf0f1'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='1600' height='1000' fill='url(%23s)'/%3E%3Cpolygon fill='%230f8794' points='0,380 1600,380 1600,1000 0,1000'/%3E%3Cpolygon fill='%2319b0b5' points='0,620 700,560 1100,1000 0,1000'/%3E%3Cpolygon fill='%2355563f' points='380,470 430,395 520,385 580,470'/%3E%3Cpolygon fill='%236d674e' points='980,1000 1080,540 1230,370 1420,300 1600,340 1600,1000'/%3E%3Cpolygon fill='%234d6a3a' points='1230,370 1420,300 1600,340 1600,420 1420,380 1290,430'/%3E%3Cpolygon fill='%23d8ccae' points='1180,1000 1360,800 1600,720 1600,1000'/%3E%3C/svg%3E")}
.ro-scene--forest{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 1000' preserveAspectRatio='xMidYMid slice'%3E%3Cdefs%3E%3ClinearGradient id='s' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23b6cbd5'/%3E%3Cstop offset='1' stop-color='%23e6edef'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='1600' height='1000' fill='url(%23s)'/%3E%3Cpolygon fill='%237c93a0' points='0,560 260,330 430,450 640,260 860,470 1060,300 1300,480 1600,350 1600,800 0,800'/%3E%3Cpolygon fill='%23f4f7f8' points='260,330 330,392 280,400 230,370 200,384'/%3E%3Cpolygon fill='%23f4f7f8' points='640,260 730,345 660,335 620,380 570,325'/%3E%3Cpolygon fill='%23f4f7f8' points='1060,300 1150,368 1080,362 1020,395 1000,350'/%3E%3Cpolygon fill='%2323443a' points='0,600 200,540 500,610 800,540 1100,610 1400,540 1600,600 1600,1000 0,1000'/%3E%3Cpolygon fill='%233f8c96' points='300,730 1300,710 1500,860 120,880'/%3E%3Cpolygon fill='%2315302a' points='0,880 500,840 1000,900 1600,830 1600,1000 0,1000'/%3E%3C/svg%3E")}

/* Button */
.ro-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);height:60px;padding:0 var(--space-5);border:0;border-radius:var(--radius-pill);font:500 16px/24px var(--font-sans);text-decoration:none;cursor:pointer;transition:background-color .18s ease}
.ro-btn--primary{min-width:165px;background:var(--lime);color:var(--on-lime)}
.ro-btn--primary:hover{background:var(--lime-hover)}
.ro-btn--sm{height:44px;min-width:0;padding:0 var(--space-4)}
.ro-btn:disabled{background:var(--surface-sunken);color:var(--ink-muted);cursor:not-allowed}
.ro-cta{display:inline-flex;align-items:center}

/* Round icon button */
.ro-disc{display:inline-grid;place-items:center;flex:none;width:60px;height:60px;padding:0;border:0;border-radius:var(--radius-pill);background:var(--on-photo);color:var(--on-lime);text-decoration:none;cursor:pointer}
.ro-disc .ro-icon{transition:transform .18s ease}
.ro-disc:hover .ro-icon,.ro-link:hover .ro-icon--arrow-up-right{transform:rotate(45deg)}
.ro-disc--chip{width:36px;height:36px;background:var(--surface-sunken);color:var(--ink)}
.ro-disc--chip .ro-icon{width:18px;height:18px}
.ro-disc--glass{width:44px;height:44px;background:var(--glass-dark);color:var(--on-photo);-webkit-backdrop-filter:blur(var(--blur-glass));backdrop-filter:blur(var(--blur-glass))}
.ro-disc--glass .ro-icon{width:18px;height:18px}

/* Text link */
.ro-link{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--ink);font:500 20px/28px var(--font-sans);text-decoration:none}
.ro-link--sm{font-size:16px;line-height:24px}
.ro-link .ro-disc--chip{transition:background-color .18s ease}
.ro-link:hover .ro-disc--chip{background:var(--lime);color:var(--on-lime)}

/* Navigation */
.ro-nav{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-1) var(--space-1) var(--space-1) var(--space-4);border-radius:var(--radius-md);background:var(--glass-fill);-webkit-backdrop-filter:blur(var(--blur-glass));backdrop-filter:blur(var(--blur-glass));color:var(--on-photo)}
.ro-wordmark{color:inherit;font:500 28px/36px var(--font-sans);text-decoration:none}
.ro-menu{display:flex;align-items:center;gap:var(--space-1);min-height:56px;padding:var(--space-1);border-radius:var(--radius-pill);background:var(--on-photo);box-shadow:var(--shadow-menu);--focus:var(--night)}
.ro-menu a{display:inline-flex;align-items:center;height:40px;padding:0 var(--space-3);border-radius:var(--radius-pill);color:var(--night);font:500 16px/24px var(--font-sans);text-decoration:none}
.ro-menu a[aria-current="page"]{background:var(--night);color:var(--on-night);padding:0 var(--space-4)}
.ro-menu button{display:inline-grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:var(--radius-pill);background:none;color:var(--night);cursor:pointer}
@media (max-width:720px){.ro-menu a:not([aria-current="page"]){display:none}}

/* Hero */
.ro-hero{container-type:inline-size;display:flex;flex-direction:column;gap:var(--space-6);padding:var(--space-4) clamp(16px,5.5cqi,80px) var(--space-5)}
.ro-hero::before{content:"";position:absolute;inset:0 0 auto;height:28%;z-index:-1;background:linear-gradient(to bottom,var(--scrim),rgba(10,12,4,0))}
.ro-hero__photo{position:absolute;z-index:-2;top:-22.5cqi;left:50%;width:150cqi;max-width:none;height:max(84.8cqi,calc(100% + 22.5cqi));object-fit:cover;object-position:50% 0;transform:translateX(-50%);pointer-events:none}
.ro-hero__photo--subject{z-index:2}
.ro-hero>.ro-nav,.ro-hero__action,.ro-hero__foot{position:relative;z-index:3}
@container (max-width:720px){.ro-hero__photo{top:-25%;left:0;width:100%;height:125%;object-position:33% 100%;transform:none}}
.ro-hero__title{position:relative;z-index:1;margin:clamp(24px,7.5cqi,108px) 0 0;text-align:center;font-weight:400}
.ro-hero__script{display:block;position:relative;z-index:1;margin-bottom:-.42em;color:var(--lime);font:400 clamp(92px,14cqi,200px)/1 var(--font-script);transform:rotate(-5deg)}
.ro-hero__world{display:block;font:800 clamp(52px,11.6cqi,168px)/.95 var(--font-display);font-stretch:88%;letter-spacing:-.03em;background:linear-gradient(90deg,var(--hero-tint),var(--on-photo) 55%);-webkit-background-clip:text;background-clip:text;color:transparent}
.ro-hero__action{display:flex;justify-content:center}
.ro-hero__foot{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--space-4)}

/* Avatars and social proof */
.ro-avatar{display:inline-grid;place-items:center;flex:none;width:44px;height:44px;border:2px solid var(--on-photo);border-radius:var(--radius-pill);background:var(--hero-tint);color:var(--night);font:500 14px/20px var(--font-sans);object-fit:cover}
.ro-avatars{display:inline-flex}
.ro-avatars>*+*{margin-left:-12px}
.ro-proof{display:grid;gap:var(--space-2);color:var(--on-photo);font-size:14px;line-height:20px}
.ro-proof__faces{display:flex;align-items:center;gap:var(--space-1)}
.ro-proof__faces hr{width:32px;margin:0;border:0;border-top:1px solid var(--glass-line)}
.ro-proof p{margin:0}

/* Stat */
.ro-stat{display:inline-grid;justify-items:center;gap:var(--space-1);padding:var(--space-3) var(--space-4);border:1px solid var(--glass-line);border-radius:var(--radius-lg);background:var(--glass-dark);-webkit-backdrop-filter:blur(var(--blur-glass));backdrop-filter:blur(var(--blur-glass));color:var(--on-photo);font-size:18px;line-height:24px}
.ro-stat strong{font-size:48px;line-height:56px;font-weight:500;font-variant-numeric:tabular-nums}

/* Eyebrow and checks */
.ro-eyebrow{display:inline-flex;align-items:center;gap:var(--space-1);font:500 16px/24px var(--font-sans);letter-spacing:.02em;text-transform:uppercase}
.ro-eyebrow .ro-icon{color:var(--lime)}
.ro-checks{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-3);margin:0;padding:0;list-style:none;font-size:14px;line-height:20px}
.ro-checks li{display:inline-flex;align-items:center;gap:6px}
.ro-checks .ro-icon{width:18px;height:18px}

/* Tag */
.ro-tag{display:inline-flex;align-items:center;min-height:36px;padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--glass-dark);-webkit-backdrop-filter:blur(var(--blur-glass));backdrop-filter:blur(var(--blur-glass));color:var(--on-photo);font-size:14px;line-height:20px}

/* Destination card */
.ro-dest{display:flex;flex-direction:column;justify-content:space-between;gap:var(--space-5);width:100%;aspect-ratio:4/5;padding:var(--space-3);border-radius:var(--radius-lg);text-decoration:none}
.ro-dest__top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-1)}
.ro-dest__controls{display:flex;gap:var(--space-1)}
.ro-dest__body{display:grid;gap:var(--space-1);padding:var(--space-1)}
.ro-dest h3{margin:0;font-size:30px;line-height:38px;font-weight:400;text-wrap:balance}
.ro-dest p{margin:0;font-size:14px;line-height:20px}

/* Trip facts */
.ro-facts{display:grid;margin:0}
.ro-facts div{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--line)}
.ro-facts dt{color:var(--ink-muted)}
.ro-facts dd{margin:0;font-weight:500;text-align:right;font-variant-numeric:tabular-nums}

/* Story card */
.ro-story{display:grid;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--surface)}
.ro-story .ro-avatar{width:48px;height:48px;border:0}
.ro-story blockquote{margin:0;font-size:22px;line-height:30px}
.ro-story p{margin:0;color:var(--ink-muted)}
.ro-story footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-2)}
.ro-story .ro-link{width:100%;justify-content:space-between}

/* Tip row */
.ro-tip{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);text-decoration:none}
.ro-tip:hover .ro-disc--chip{background:var(--lime);color:var(--on-lime)}

/* Section header */
.ro-section-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--space-3)}

@media (prefers-reduced-motion:reduce){.ro-disc .ro-icon,.ro-link .ro-disc--chip,.ro-btn{transition:none}}
@media (max-width:560px){.ro-title{font-size:32px;line-height:42px}}
