@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;800&display=swap');
*{box-sizing:border-box}body{margin:0;font-family:'DM Sans',sans-serif;background:var(--bg);color:var(--ink)}body.coast{--bg:#f4eee4;--ink:#334841;--accent:#334841;--surface:#e4dfd2;--accentText:#fff}body.studio{--bg:#fcf5f3;--ink:#563c49;--accent:#805e70;--surface:#ecd5dc;--accentText:#fff}body.ride{--bg:#f2f4e8;--ink:#222b23;--accent:#d7eb78;--surface:#e1e5d6;--accentText:#222b23}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}.demo-banner{padding:12px 6%;background:var(--ink);color:var(--bg);font-size:11px;display:flex;justify-content:space-between;gap:20px}.demo-banner a{text-decoration:underline}header{display:flex;justify-content:space-between;align-items:center;padding:30px 6%;gap:25px}.brand{font-size:26px;font-weight:800;letter-spacing:-1px}header nav{display:flex;gap:25px;font-size:13px}.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:50px;padding:45px 6% 70px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700}h1{font-family:Georgia,serif;font-size:clamp(48px,6.7vw,90px);font-weight:400;line-height:1.04;letter-spacing:-3px;margin:24px 0}body.ride h1{font-family:Manrope,sans-serif;font-weight:800}.hero p{font-size:16px;line-height:1.8;max-width:390px;opacity:.75}.button{display:inline-block;background:var(--accent);color:var(--accentText);border:0;border-radius:30px;padding:17px 23px;margin-top:12px}.scene{height:470px;background:var(--surface);border-radius:180px 180px 5px 5px;position:relative;overflow:hidden}.coast .scene{background:linear-gradient(#c9d7ca 0 52%,#769e98 52% 57%,#a2bab0 57% 70%,#ddd0b4 70%)}.coast .scene:before{content:'';position:absolute;width:110px;height:110px;top:65px;left:55%;background:#fae1aa;border-radius:50%}.coast .scene:after{content:'';position:absolute;inset:40px 35px -40px;border:45px solid #e3d2b5;border-bottom:0;border-radius:200px 200px 0 0;box-shadow:15px 15px 30px #34483222}.studio .scene:before{content:'';position:absolute;width:210px;height:330px;left:22%;top:85px;border-radius:130px 130px 20px 20px;background:radial-gradient(ellipse at 25% 15%,#fff5e2,#ce9999 50%,#6c475b);transform:rotate(-12deg);box-shadow:30px 30px 45px #7c506633}.studio .scene:after{content:'07';position:absolute;bottom:20px;right:20px;font:110px Georgia;color:#fff7}.ride .scene{border-radius:12px;background:#d7eb78}.ride .scene svg{position:absolute;inset:20%;width:65%;height:60%}.ride .scene:after{content:'EXPLORE / REPEAT';position:absolute;bottom:35px;left:35px;font-size:12px;letter-spacing:3px}section.content{padding:65px 6%;border-top:1px solid #8883}h2{font-family:Georgia,serif;font-size:40px;font-weight:400;letter-spacing:-1px}.ride h2{font-family:Manrope,sans-serif;font-weight:800}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:var(--surface);padding:28px;border-radius:8px}.card .visual{height:145px;border-radius:5px;margin-bottom:24px;background:linear-gradient(145deg,#ffffff99,#ffffff00),var(--accent)}.card h3{font-size:23px;font-weight:500;margin:0 0 12px}.card p{line-height:1.7;font-size:14px;opacity:.8}.price{font-size:24px;display:block;margin:20px 0}.tag{font-size:10px;letter-spacing:1px;display:inline-block;padding:7px 10px;border:1px solid #8885;border-radius:20px;margin-bottom:12px}.filters{display:flex;gap:10px;margin-bottom:25px;flex-wrap:wrap}.filter{padding:10px 17px;border:1px solid #8885;border-radius:25px;background:none;color:var(--ink)}.filter[aria-pressed=true]{background:var(--ink);color:var(--bg)}.booking{display:grid;grid-template-columns:1fr 1fr;gap:60px;background:var(--surface)}form{display:grid;gap:15px}label{font-size:12px}input,select{display:block;margin-top:7px;width:100%;padding:13px;background:var(--bg);border:1px solid #8885;border-radius:5px;color:var(--ink)}.notice{font-size:12px;line-height:1.7;opacity:.8}#result{line-height:1.7;padding:18px;border:1px solid #8885;border-radius:6px}footer{padding:30px 6%;display:flex;justify-content:space-between;gap:20px;font-size:12px}a:focus-visible,button:focus-visible{outline:3px solid var(--ink);outline-offset:4px}html{scroll-behavior:smooth}section[id]{scroll-margin-top:20px}@media(max-width:700px){header nav{gap:13px;font-size:11px}.hero{grid-template-columns:1fr;gap:30px}.scene{height:330px}.cards,.booking{grid-template-columns:1fr;gap:20px}.demo-banner{font-size:9px}h1{letter-spacing:-2px}section.content{padding-block:45px}footer{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.icon{width:18px;height:18px;vertical-align:middle;display:inline-block}button .icon,a .icon{margin-left:5px}@view-transition{navigation:auto}
.english-date{display:grid;grid-template-columns:70px minmax(110px,1fr) 90px;gap:8px}.english-date select{padding:12px 8px}
/* Touch layout and form controls for the three concept websites. */
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;max-width:100%;text-align:left}
.button .icon{width:19px;height:19px;flex:none}.card{min-width:0}.notice,#result,footer{overflow-wrap:anywhere}
@media(max-width:700px){header{flex-wrap:wrap;gap:18px;padding-top:24px;padding-bottom:18px}header nav{width:100%;justify-content:space-between;align-items:center;gap:12px}header nav a{display:inline-flex;align-items:center;min-height:44px;font-size:12px}.demo-banner{flex-wrap:wrap;gap:8px;align-items:center;line-height:1.6}.demo-banner a{min-height:32px;display:inline-flex;align-items:center}.brand{font-size:25px}.hero h1{font-size:clamp(38px,10.6vw,65px);overflow-wrap:break-word}.booking>*,.hero>*{min-width:0}input,select{font-size:16px;min-height:48px;min-width:0}.english-date{grid-template-columns:minmax(0,.85fr) minmax(0,1.45fr) minmax(0,1.1fr);gap:7px}.english-date select{min-width:0;padding:12px 5px}.filters .filter{min-height:44px}footer a{line-height:1.8}}
@media(max-width:380px){.english-date{grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr)}.english-date select[name=year]{grid-column:1/-1}.booking .button{width:100%}}
