:root { --ink:#091522; --ink-2:#10243a; --paper:#f4f2ed; --bone:#e6e0d7; --chalk:#fffdf8; --signal:#ff6e4a; --lime:#d7f58b; --muted:#68707a; --line:rgba(9,21,34,.14); --serif:"Playfair Display", Georgia, serif; --sans:"DM Sans", Arial, sans-serif; --mono:"DM Mono", monospace; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); font-size:16px; line-height:1.45; }
button,input,select { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
a { color:inherit; text-decoration:none; }
.container { width:min(1280px, calc(100% - 80px)); margin:0 auto; }
.grain { position:fixed; inset:0; z-index:20; opacity:.055; pointer-events:none; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E"); }
.site-header { height:78px; position:absolute; top:0; left:0; right:0; z-index:10; display:flex; align-items:center; padding:0 max(40px, calc((100vw - 1280px)/2)); color:var(--chalk); border-bottom:1px solid rgba(255,255,255,.15); }
.brand { display:flex; align-items:center; gap:10px; font-size:18px; font-weight:700; }
.brand-mark { width:28px; height:28px; border:1.5px solid currentColor; border-radius:50%; display:grid; place-items:center; font-family:var(--serif); font-size:16px; font-style:italic; letter-spacing:0; }
.brand-name { white-space:nowrap; font-size:16px; letter-spacing:-.035em; }.brand-name > span { color:var(--lime); }.brand-name b { margin-left:1px; color:rgba(255,255,255,.72); font-family:var(--mono); font-size:.65em; font-weight:500; letter-spacing:-.03em; vertical-align:top; }
.desktop-nav { display:flex; gap:29px; margin-left:76px; font-size:14px; font-weight:500; color:rgba(255,255,255,.86); }
.desktop-nav a,.text-button,.footer-grid a { transition:opacity .18s ease; }.desktop-nav a:hover,.text-button:hover,.footer-grid a:hover { opacity:.62; }
.header-actions { margin-left:auto; display:flex; align-items:center; gap:24px; font-size:13px; }.text-button { appearance:none; border:0; padding:0; background:transparent; color:inherit; cursor:pointer; font-weight:500; }.language span { font-size:15px; margin-left:3px; }.menu-button { display:none; width:39px; height:39px; padding:9px; background:transparent; border:1px solid rgba(255,255,255,.4); border-radius:50%; }.menu-button span { display:block; height:1px; background:var(--chalk); margin:5px 0; }.mobile-nav { display:none; }
.hero { position:relative; min-height:760px; color:var(--chalk); display:flex; align-items:center; overflow:hidden; background:var(--ink); }.hero-image,.hero-wash { position:absolute; inset:0; width:100%; height:100%; }.hero-image { object-fit:cover; object-position:center; }.hero-wash { background:linear-gradient(90deg, rgba(6,16,31,.84) 0%,rgba(7,19,35,.62) 42%,rgba(7,19,35,.12) 78%),linear-gradient(0deg,rgba(5,15,28,.62),transparent 45%); }
.hero-content { position:relative; z-index:1; padding-top:50px; }.eyebrow { margin:0 0 19px; display:flex; align-items:center; gap:10px; font-family:var(--mono); font-size:10px; letter-spacing:.09em; text-transform:uppercase; color:var(--muted); }.eyebrow span { width:21px; height:1px; background:var(--signal); display:inline-block; }.eyebrow.light { color:rgba(255,255,255,.68); }.eyebrow.light span { background:var(--lime); }
h1,h2,h3,p { margin-top:0; } h1 { margin-bottom:21px; max-width:780px; font-size:clamp(50px, 6.2vw, 92px); line-height:.96; letter-spacing:-.055em; font-weight:600; } h1 em,h2 em { font-family:var(--serif); font-weight:500; letter-spacing:-.06em; } .hero-intro { max-width:510px; margin-bottom:27px; color:rgba(255,255,255,.79); font-size:17px; line-height:1.55; }.hero-proof { display:flex; gap:21px; font-size:12px; font-weight:500; }.hero-proof span:before { content:""; display:inline-block; width:5px; height:5px; margin:0 7px 2px 0; background:var(--lime); border-radius:50%; }
.booking-panel { position:absolute; z-index:2; left:50%; transform:translateX(-50%); bottom:46px; padding:0 23px 15px; border:1px solid rgba(255,255,255,.28); border-radius:6px; background:rgba(11,27,46,.84); box-shadow:0 20px 55px rgba(0,0,0,.22); backdrop-filter:blur(18px); }.booking-tabs { height:58px; display:flex; gap:4px; align-items:end; }.booking-tab { position:relative; height:45px; padding:0 14px 13px; border:0; background:none; color:rgba(255,255,255,.56); cursor:pointer; font-size:13px; font-weight:500; }.booking-tab:after { content:""; position:absolute; left:14px; right:14px; bottom:0; height:2px; background:transparent; }.booking-tab.is-active { color:white; }.booking-tab.is-active:after { background:var(--lime); }.tab-icon { display:inline-grid; place-items:center; width:20px; margin-right:4px; color:var(--lime); font-family:var(--mono); font-size:10px; }.search-form { display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr auto; min-height:75px; overflow:hidden; border-radius:3px; background:var(--chalk); }.field { min-width:0; position:relative; display:flex; flex-direction:column; justify-content:center; padding:0 17px; border-right:1px solid var(--bone); }.field span { margin-bottom:4px; font-size:10px; color:#6b727a; font-weight:600; text-transform:uppercase; letter-spacing:.06em; }.field input,.field select { width:100%; padding:0; background:transparent; border:0; outline:0; color:var(--ink); font-size:15px; font-weight:500; }.field input::placeholder { color:#7f858b; }.field select { cursor:pointer; appearance:none; }.select-field:after { content:"⌄"; position:absolute; right:16px; bottom:21px; color:var(--ink); }.search-button,.dark-button { border:0; padding:0 22px; cursor:pointer; background:var(--signal); color:var(--ink); font-weight:700; font-size:14px; transition:transform .15s,background .15s; }.search-button:hover,.dark-button:hover { transform:translateY(-2px); background:#ff805e; }.search-button .arrow,.dark-button span { margin-left:16px; font-size:17px; }.panel-note { margin:11px 2px 0; color:rgba(255,255,255,.59); font-size:10px; }.availability-dot,.availability i { display:inline-block; width:6px; height:6px; margin:0 5px 1px 0; border-radius:50%; background:var(--lime); box-shadow:0 0 0 3px rgba(215,245,139,.12); }
.concierge-form { min-height:75px; align-items:center; gap:15px; padding:10px 14px; border-radius:3px; background:var(--chalk); color:var(--ink); }.concierge-form:not([hidden]) { display:flex; }.concierge-orb,.small-orb { display:grid; place-items:center; flex:none; width:38px; height:38px; border-radius:50%; background:radial-gradient(circle at 32% 30%, #b3d0fa 0 8%,#6b81e8 30%,#422f82 68%,#1e173a 100%); box-shadow:inset -5px -6px 12px rgba(0,0,0,.27); }.concierge-orb i { position:absolute; width:7px; height:7px; border-radius:50%; background:rgba(255,255,255,.74); }.concierge-orb i:nth-child(1){transform:translate(-9px,-4px)}.concierge-orb i:nth-child(2){transform:translate(7px,2px);width:5px;height:5px}.concierge-orb i:nth-child(3){transform:translate(-2px,10px);width:4px;height:4px}.concierge-copy { min-width:190px; display:flex; flex-direction:column; }.concierge-copy strong { font-size:13px; }.concierge-copy span { color:var(--muted); font-size:11px; }.concierge-input { flex:1; display:flex; align-items:center; height:50px; padding:0 7px 0 15px; border:1px solid var(--bone); border-radius:2px; }.concierge-input input { flex:1; min-width:0; border:0; outline:0; background:none; font-size:13px; }.concierge-input button { width:36px; height:36px; border:0; border-radius:50%; cursor:pointer; background:var(--ink); color:white; font-size:17px; }.concierge-reply { position:absolute; z-index:3; left:23px; right:23px; bottom:-95px; display:flex; align-items:center; gap:13px; padding:15px 18px; border:1px solid var(--bone); background:var(--chalk); color:var(--ink); box-shadow:0 15px 35px rgba(0,0,0,.18); }.concierge-reply p { flex:1; margin:0; font-size:12px; }.reply-star { color:#4e55d8; font-size:23px; }.concierge-reply button { border:0; background:none; text-decoration:underline; cursor:pointer; color:var(--ink); font-size:11px; }
.promise-strip { border-bottom:1px solid var(--line); background:#e9e7e1; }.promise-grid { display:grid; grid-template-columns:repeat(3,1fr); }.promise-grid p { margin:0; padding:19px 25px; border-left:1px solid var(--line); font-size:12px; font-weight:600; }.promise-grid p:last-child { border-right:1px solid var(--line); }.serial,.journey-number,.destination-index { margin-right:10px; color:var(--signal); font-family:var(--mono); font-size:10px; }
.section { padding:130px 0; }.intro-section { padding-bottom:105px; }.section-heading { margin-bottom:55px; }.split-heading,.selection-heading { display:grid; grid-template-columns:1fr 1fr; gap:100px; align-items:end; } h2 { margin:0; font-size:clamp(41px,4.3vw,64px); line-height:.98; letter-spacing:-.055em; font-weight:600; }.section-lede { margin:0 0 4px; max-width:470px; color:#4e5965; font-size:16px; line-height:1.58; }
.journey-grid { display:grid; grid-template-columns:1.45fr 1fr 1fr; grid-template-rows:265px 265px; gap:12px; }.journey-card { position:relative; overflow:hidden; padding:24px; color:var(--chalk); background:var(--ink); min-height:0; transition:transform .22s ease; }.journey-card:hover { transform:translateY(-4px); }.journey-card--large { grid-row:span 2; background:linear-gradient(150deg,#1b4060,#09233c 48%,#071621); }.journey-card--monaco { background:linear-gradient(145deg,#5b403c,#291c2d 58%,#17192c); }.journey-card--route { background:linear-gradient(145deg,#5d6244,#222e24 58%,#101c1c); }.journey-card--select { background:var(--signal); color:var(--ink); }.journey-card:before { content:""; position:absolute; width:270px; height:270px; border-radius:50%; right:-84px; bottom:-135px; border:1px solid rgba(255,255,255,.18); box-shadow:0 0 0 34px rgba(255,255,255,.035),0 0 0 69px rgba(255,255,255,.025); }.journey-card--select:before { border-color:rgba(9,21,34,.18); box-shadow:0 0 0 34px rgba(9,21,34,.04),0 0 0 69px rgba(9,21,34,.03); }.journey-number { position:relative; z-index:1; color:var(--lime); }.journey-card--select .journey-number { color:var(--ink); }.journey-card-content { position:absolute; z-index:1; left:24px; bottom:24px; }.journey-card-content p { margin:0 0 4px; color:rgba(255,255,255,.63); font-family:var(--mono); font-size:10px; text-transform:uppercase; letter-spacing:.08em; }.journey-card--select .journey-card-content p { color:rgba(9,21,34,.62); }.journey-card h3 { margin:0 0 6px; font-size:28px; letter-spacing:-.04em; line-height:1; }.journey-card span { font-size:12px; }.card-arrow { position:absolute; z-index:1; top:20px; right:22px; font-size:21px!important; }
.concierge-section,.how-section { background:var(--ink); color:var(--chalk); }.concierge-section { position:relative; overflow:hidden; }.concierge-section:after { content:"LYRA"; position:absolute; right:-27px; bottom:-99px; color:rgba(255,255,255,.025); font-size:270px; font-weight:700; letter-spacing:-.1em; }.concierge-layout { position:relative; z-index:1; display:grid; grid-template-columns:1fr 1fr; gap:100px; align-items:center; padding-top:112px; padding-bottom:112px; }.concierge-statement > p:not(.eyebrow) { max-width:410px; margin:24px 0 31px; color:rgba(255,255,255,.64); line-height:1.6; }.inline-link { display:inline-flex; align-items:center; gap:13px; border-bottom:1px solid currentColor; padding-bottom:5px; font-size:13px; font-weight:600; }.inline-link span { color:var(--signal); font-size:18px; }.conversation-card { padding:25px; background:var(--chalk); color:var(--ink); box-shadow:15px 19px 0 rgba(255,255,255,.08); }.conversation-top { display:flex; align-items:center; gap:10px; padding-bottom:19px; border-bottom:1px solid var(--bone); }.small-orb { width:28px; height:28px; }.conversation-top strong,.conversation-top small { display:block; }.conversation-top strong { font-size:12px; }.conversation-top small { color:var(--muted); font-size:10px; }.conversation-status { margin-left:auto; padding:4px 6px; background:#e8f5d1; color:#4b6b20; font-family:var(--mono); font-size:8px; }.message { max-width:84%; margin-top:21px; padding:12px 14px; font-size:12px; line-height:1.5; }.message-user { margin-left:auto; background:#e9e7e1; }.message-lyra { position:relative; padding-left:26px; background:#e9edff; }.message-lyra p { margin:0; }.message-spark { position:absolute; left:10px; top:11px; color:#4e55d8; }.option-row { display:flex; gap:7px; margin-top:13px; }.option-row button { padding:8px 11px; border:1px solid var(--bone); background:transparent; cursor:pointer; color:var(--ink); font-size:10px; }.conversation-foot { margin-top:20px; color:var(--muted); font-family:var(--mono); font-size:9px; }
.selection-section { padding-bottom:120px; }.offer-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }.offer-card { position:relative; padding:20px 23px; border:1px solid var(--line); background:var(--chalk); }.offer-card.featured { border-color:var(--ink); background:#fdfbf5; box-shadow:6px 7px 0 var(--ink); }.featured-notice { position:absolute; top:-12px; right:17px; padding:5px 8px; background:var(--signal); color:var(--ink); font-family:var(--mono); font-size:8px; letter-spacing:.04em; }.offer-card-top { display:flex; justify-content:space-between; align-items:center; }.offer-label { font-family:var(--mono); font-size:9px; letter-spacing:.05em; }.availability { color:#52606d; font-size:9px; }.availability i { width:4px; height:4px; margin-right:3px; }.car-silhouette { height:125px; margin:15px 0 12px; position:relative; background:linear-gradient(130deg,transparent 8%,#c7d1d4 8% 12%,transparent 12% 100%); opacity:.95; }.car-silhouette:before { content:""; position:absolute; left:13%; right:8%; bottom:24px; height:43px; border-radius:42% 45% 15% 11% / 68% 79% 20% 22%; background:#263646; box-shadow:0 4px 0 #152330; }.car-silhouette:after { content:""; position:absolute; left:29%; width:44%; bottom:51px; height:29px; transform:skew(-24deg); border-radius:21% 43% 0 0; background:linear-gradient(110deg,#7eabbf,#d7e3e6 45%,#7194a6 46%); }.car-silhouette--suv:before { left:8%; right:6%; bottom:20px; height:56px; border-radius:20% 31% 10% 10%; }.car-silhouette--suv:after { left:25%; width:50%; bottom:64px; height:34px; }.car-silhouette--estate:before { left:10%; right:6%; border-radius:31% 51% 9% 10%; }.car-silhouette--estate:after { left:24%; width:52%; }.offer-card h3 { margin:0; font-size:21px; letter-spacing:-.04em; }.offer-meta { margin:2px 0 17px; color:var(--muted); font-size:12px; }.rule-line { display:flex; justify-content:space-between; align-items:end; padding:13px 0; border-top:1px solid var(--bone); border-bottom:1px solid var(--bone); color:var(--muted); font-size:11px; }.rule-line strong { color:var(--ink); font-size:22px; letter-spacing:-.05em; }.rule-line small { font-size:10px; font-weight:500; letter-spacing:0; }.offer-card ul { margin:14px 0; padding:0; list-style:none; font-size:11px; line-height:1.9; }.offer-card li:before { content:"·"; margin-right:8px; color:var(--signal); font-size:17px; vertical-align:-1px; }.offer-link { padding:0; border:0; background:none; cursor:pointer; color:var(--ink); font-size:11px; font-weight:700; }.offer-link span { color:var(--signal); font-size:16px; margin-left:8px; }.demo-caption { margin:20px 0 0; color:var(--muted); font-family:var(--mono); font-size:10px; }
.destination-section { padding:0 0 125px; }.destination-top { display:flex; align-items:end; justify-content:space-between; margin-bottom:42px; }.destination-list { border-top:1px solid var(--ink); }.destination-list a { display:grid; grid-template-columns:95px 1.3fr 1fr 30px; align-items:center; min-height:83px; border-bottom:1px solid var(--line); transition:padding .2s,background .2s; }.destination-list a:hover { padding-left:16px; background:#e9e7e1; }.destination-list strong { font-size:22px; letter-spacing:-.04em; }.destination-list span:not(.destination-index) { color:var(--muted); font-size:12px; }.destination-list i { font-style:normal; text-align:right; font-size:20px; }
.how-section { position:relative; overflow:hidden; }.how-section:before { content:""; position:absolute; top:-185px; right:-150px; width:590px; height:590px; border:1px solid rgba(215,245,139,.16); border-radius:50%; box-shadow:0 0 0 70px rgba(215,245,139,.025),0 0 0 140px rgba(215,245,139,.02); }.how-heading { position:relative; z-index:1; margin-bottom:63px; }.steps { position:relative; z-index:1; display:grid; grid-template-columns:repeat(4,1fr); gap:28px; margin:0; padding:0; list-style:none; }.steps li { border-top:1px solid rgba(255,255,255,.35); padding-top:16px; }.steps li>span { color:var(--lime); font-family:var(--mono); font-size:10px; }.steps h3 { margin:35px 0 8px; font-size:19px; letter-spacing:-.03em; }.steps p { margin:0; color:rgba(255,255,255,.58); font-size:12px; line-height:1.55; }.manage-section { padding-top:115px; }.manage-card { display:flex; justify-content:space-between; align-items:end; padding:54px; background:var(--signal); }.manage-action { max-width:300px; }.manage-action p { margin-bottom:22px; font-size:13px; }.dark-button { height:48px; padding:0 16px; background:var(--ink); color:var(--chalk); }.dark-button:hover { background:#1d3044; }
.site-footer { padding:74px 0 20px; background:#0c1724; color:var(--chalk); }.footer-grid { display:grid; grid-template-columns:1.3fr .7fr .7fr 1.2fr; gap:40px; padding-bottom:67px; }.footer-brand { margin-bottom:17px; }.footer-grid p { margin:0; color:rgba(255,255,255,.58); font-size:12px; line-height:1.55; }.footer-grid a:not(.brand) { display:block; margin-bottom:10px; color:rgba(255,255,255,.78); font-size:12px; }.footer-label { margin-bottom:14px!important; color:var(--lime)!important; font-family:var(--mono); font-size:9px!important; letter-spacing:.08em; text-transform:uppercase; }.footer-note { max-width:260px; }.footer-bottom { display:flex; justify-content:space-between; padding-top:17px; border-top:1px solid rgba(255,255,255,.15); color:rgba(255,255,255,.4); font-family:var(--mono); font-size:9px; }.toast { position:fixed; z-index:30; right:24px; bottom:24px; max-width:330px; padding:14px 17px; background:var(--ink); color:var(--chalk); box-shadow:0 12px 35px rgba(0,0,0,.27); font-size:12px; }.toast strong { color:var(--lime); }
@media (max-width:900px) { .container { width:min(100% - 40px, 690px); }.site-header { padding:0 20px; }.desktop-nav,.header-actions .language,.header-actions .booking { display:none; }.menu-button { display:block; }.mobile-nav.is-open { position:absolute; display:flex; flex-direction:column; gap:17px; top:70px; right:20px; width:210px; padding:20px; background:var(--ink); border:1px solid rgba(255,255,255,.2); font-size:14px; }.hero { min-height:815px; }.hero-content { padding-top:100px; }.booking-panel { width:calc(100% - 40px); bottom:38px; }.search-form { grid-template-columns:1fr 1fr; }.field-place { grid-column:span 2; border-bottom:1px solid var(--bone); }.field { min-height:65px; }.search-button { grid-column:span 2; height:57px; }.concierge-copy { display:none; }.promise-grid p { padding:16px 12px; font-size:10px; }.split-heading,.selection-heading,.concierge-layout { grid-template-columns:1fr; gap:28px; }.section { padding:90px 0; }.journey-grid { grid-template-columns:1fr 1fr; grid-template-rows:230px 230px 230px; }.journey-card--large { grid-row:span 2; }.concierge-layout { padding-top:80px; padding-bottom:80px; }.offer-cards { grid-template-columns:1fr; }.destination-list a { grid-template-columns:55px 1fr 28px; gap:8px; }.destination-list a span:not(.destination-index) { display:none; }.steps { grid-template-columns:1fr 1fr; }.manage-card { padding:36px; gap:25px; align-items:start; flex-direction:column; }.footer-grid { grid-template-columns:1fr 1fr; }.footer-grid>div:first-child,.footer-grid>div:last-child { grid-column:span 2; } }
@media (max-width:560px) { .container { width:calc(100% - 32px); }.site-header { height:64px; }.brand { font-size:16px; }.brand-mark { width:25px; height:25px; }.brand-name { font-size:14px; }.hero { min-height:780px; }.hero-image { object-position:59% center; }.hero-wash { background:linear-gradient(90deg,rgba(6,16,31,.88),rgba(7,19,35,.25)),linear-gradient(0deg,rgba(5,15,28,.84),transparent 65%); } .hero-content { padding-top:68px; }.hero-intro { font-size:15px; }.hero-proof { flex-direction:column; gap:7px; }.booking-panel { width:calc(100% - 28px); padding:0 10px 12px; bottom:20px; }.booking-tab { padding-left:8px; padding-right:8px; font-size:12px; }.booking-tab:after { left:8px; right:8px; }.tab-icon { display:none; }.search-form { min-height:0; }.field { padding:0 12px; min-height:60px; }.field span { font-size:9px; }.field input,.field select { font-size:12px; }.concierge-input { padding-left:10px; }.concierge-input input { font-size:11px; }.concierge-reply { left:10px; right:10px; bottom:-125px; }.promise-grid { width:100%; }.promise-grid p { border-left:0; padding:15px 9px; font-size:9px; }.promise-grid p:last-child { border-right:0; }.serial { display:block; margin:0 0 4px; }.section { padding:75px 0; }.section-heading { margin-bottom:36px; } h2 { font-size:40px; }.journey-grid { grid-template-columns:1fr; grid-template-rows:220px repeat(3,180px); }.journey-card--large { grid-row:auto; }.journey-card h3 { font-size:25px; }.concierge-section:after { font-size:170px; bottom:-55px; }.conversation-card { padding:18px; box-shadow:8px 9px 0 rgba(255,255,255,.08); }.selection-section { padding-bottom:78px; }.destination-top { display:block; }.destination-top .inline-link { margin-top:23px; }.destination-list a { min-height:70px; }.destination-list strong { font-size:18px; }.how-heading { margin-bottom:45px; }.steps { grid-template-columns:1fr; gap:19px; }.steps h3 { margin:17px 0 6px; }.manage-section { padding-top:72px; }.manage-card { padding:28px 22px; }.footer-grid { grid-template-columns:1fr 1fr; gap:34px 16px; }.footer-bottom { gap:10px; flex-direction:column; }.footer-bottom span:last-child { color:rgba(255,255,255,.55); } }
