@font-face{font-family:Manrope;src:url('/fonts/manrope-variable.ttf') format('truetype');font-weight:200 800;font-display:swap}
@font-face{font-family:Cormorant;src:url('/fonts/cormorant-garamond-variable.ttf') format('truetype');font-weight:300 700;font-display:swap}
:root{--ice:#dfe9ec;--milk:#f8f5ee;--wine:#4c2734;--ink:#252c31;--red:#ad4652;--line:#c4cdd0;--sans:Manrope,Arial,sans-serif;--display:Cormorant,Georgia,serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--milk);color:var(--ink);font:400 16px/1.55 var(--sans)}
button,input,textarea{font:inherit}
a{color:inherit}
img,svg{max-width:100%}
[hidden]{display:none!important}
h1,h2,h3,p,figure{margin-top:0}
h1,h2,h3{hyphens:none;word-break:normal}
h1,h2{font-family:var(--display);font-weight:600;letter-spacing:-.035em;line-height:.93}
h1{font-size:clamp(4.1rem,9vw,9rem);max-width:1050px;margin:0}
h2{font-size:clamp(3.5rem,6.2vw,6.8rem);margin-bottom:0}
h3{line-height:1.15}
.wrap{width:min(calc(100% - 64px),1320px);margin-inline:auto}
.skip{position:absolute;left:16px;top:-100px;padding:10px;background:#fff;z-index:50}
.skip:focus{top:12px}
:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.eyebrow{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:var(--red)}
.section{padding-block:clamp(75px,9vw,145px)}
.section-heading{display:grid;grid-template-columns:200px minmax(0,1fr);gap:40px;align-items:start;margin-bottom:45px}
.section-heading .eyebrow{padding-top:12px}
.button,.nav-cta,.request-form button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:13px 24px;border:1px solid var(--wine);border-radius:2px;background:var(--wine);color:#fff;text-decoration:none;font-weight:800;cursor:pointer;transition:transform .18s,background .18s}
.button:hover,.nav-cta:hover,.request-form button:hover{background:#6a3344;transform:translateY(-2px)}
.header{background:var(--ice);border-bottom:1px solid #bccbd0}
.header-row{min-height:90px;display:flex;align-items:center;gap:36px}
.brand{display:inline-flex;align-items:center;gap:10px;white-space:nowrap;text-decoration:none;font:600 2.25rem/1 var(--display);color:var(--wine)}
.brand-mark{width:43px;height:43px;flex:none}
.nav{margin-left:auto;display:flex;align-items:center;gap:32px}
.nav>a:not(.nav-cta){font-size:.88rem;font-weight:700;text-decoration:none}
.nav>a:not(.nav-cta):hover{text-decoration:underline;text-underline-offset:6px}
.nav-cta{min-height:44px;padding:9px 19px;font-size:.83rem}
.menu-toggle{display:none}
.hero{background:var(--ice);padding:clamp(62px,7vw,110px) 0 90px}
.hero .wrap{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(38px,5vw,80px);align-items:center}
.hero-heading{display:block;margin:0}
.hero h1{font-size:clamp(4.2rem,6.6vw,7.8rem);max-width:8ch}
.hero-heading .eyebrow{margin-bottom:25px}
.hero-side{padding:30px 0 0}
.hero-side p{font-size:1.02rem;max-width:34ch;line-height:1.7;margin-bottom:26px}
.hero-photo{position:relative;margin:0;padding:16px 16px 0;border-radius:46% 46% 22px 22px / 32% 32% 22px 22px;background:#bed4db}
.hero-photo img{display:block;width:100%;height:clamp(430px,47vw,640px);object-fit:cover;object-position:center 58%;border-radius:46% 46% 16px 16px / 32% 32% 16px 16px}
.hero-photo figcaption{position:relative;display:inline-flex;align-items:center;max-width:88%;min-height:48px;margin:-22px 0 0 22px;padding:12px 18px;border-radius:8px 8px 8px 0;background:var(--wine);color:#fff;font-size:.78rem;font-weight:750;letter-spacing:.025em}
.rides{background:var(--milk)}
.ride-list{border-top:2px solid var(--wine)}
.ride{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,.35fr);gap:40px;align-items:start;padding:33px 0;border-bottom:1px solid #bbb8b1}
.ride h3{font:600 clamp(2rem,3.2vw,3.5rem)/1 var(--display);color:var(--wine);margin:0 0 12px}
.ride p{max-width:61ch;margin:0;color:#4c5354}
.ride-side{display:grid;gap:10px;justify-items:start}
.ride strong{font-size:1.7rem;white-space:nowrap;color:var(--wine)}
.ride small{font-size:.77rem;color:#5f6667;line-height:1.45}
.conditions{background:var(--wine);color:#fff}
.conditions-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(50px,8vw,130px)}
.conditions .eyebrow{color:#dca7a6}
.conditions h2{max-width:10ch}
.conditions-lead{max-width:34ch;margin-top:35px;color:#eadde0;font-size:1.05rem;line-height:1.7}
.condition-items{border-top:1px solid #8c6b76}
.condition-items>div{padding:22px 0;border-bottom:1px solid #8c6b76}
.condition-items h3{font-size:1.15rem;margin-bottom:7px}
.condition-items p{max-width:60ch;margin:0;color:#e7dce0;font-size:.9rem}
.route{background:#e7eef0}
.route-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #a7b9be}
.route-grid>div{min-height:170px;padding:28px 28px 0;border-right:1px solid #a7b9be}
.route-grid>div:first-child{padding-left:0}
.route-grid>div:last-child{border-right:0}
.route-grid span{font:600 2rem/1 var(--display);color:var(--wine)}
.route-grid p{max-width:33ch;margin-top:20px;font-size:.88rem}
.address{background:var(--milk)}
.contact-row{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr) minmax(0,1.45fr);gap:22px;margin-bottom:30px}
.contact-row>div{min-width:0;padding:19px 0;border-top:1px solid var(--wine)}
.contact-row small{display:block;margin-bottom:18px;color:#657073;font-size:.75rem}
.contact-row a,.contact-row strong{display:block;font-size:clamp(.92rem,1.2vw,1.18rem);font-weight:800;text-decoration:none;white-space:nowrap}
.contact-row a:hover{text-decoration:underline}
.map-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);min-height:480px;background:#e2e9e7}
.map-frame{min-width:0}
.map-frame iframe{display:block;width:100%;height:100%;min-height:480px;border:0;filter:saturate(.8)}
.map-info{padding:clamp(25px,4vw,55px);display:flex;flex-direction:column;align-items:flex-start}
.map-info h3{font:600 clamp(2.3rem,3vw,3.3rem)/1 var(--display);color:var(--wine);overflow-wrap:break-word}
.map-info p:not(.eyebrow){font-size:.9rem}
.map-info .placeholder-notice{color:#85432c;font-weight:800}
.map-info a{margin-top:auto;font-size:.87rem;font-weight:800;text-underline-offset:5px}
.request{background:#dfe9ec}
.request-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(50px,8vw,130px)}
.request h2{max-width:9ch}
.request-layout>div>p:not(.eyebrow){max-width:35ch;margin-top:28px;line-height:1.7}
.request-phone{font-size:1.2rem;font-weight:800;text-decoration:none;border-bottom:1px solid currentColor}
.request-form{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-content:start}
.request-form label:not(.consent){display:grid;gap:8px;font-size:.78rem;font-weight:800}
.request-form label span{font-weight:400;color:#647174}
.request-form input:not([type=checkbox]),.request-form textarea{width:100%;padding:14px 16px;border:1px solid #a5b6bc;border-radius:2px;background:#f9fbfa;color:var(--ink)}
.request-form textarea{resize:vertical;min-height:110px}
.request-form .full{grid-column:1/-1}
.request-form .consent{display:flex;align-items:flex-start;gap:9px;font-size:.76rem}
.request-form .consent input{margin:3px 0 0}
.request-form button{grid-column:1/-1;justify-self:start}
.form-status{align-self:center;margin:0;color:var(--wine);font-weight:800}
.footer{background:var(--ink);color:#fff;padding:45px 0 32px}
.footer .brand{color:#fff}
.footer-top{display:flex;align-items:center;justify-content:space-between;gap:30px}
.footer nav{display:flex;flex-wrap:wrap;gap:24px}
.footer nav a{text-decoration:none;font-size:.83rem}
.footer-bottom{display:flex;flex-wrap:wrap;gap:12px 32px;padding-top:30px;margin-top:30px;border-top:1px solid #596165;color:#bec8ca;font-size:.75rem}
@media(max-width:1100px){.contact-row{grid-template-columns:1fr}.contact-row a,.contact-row strong{white-space:normal;overflow-wrap:anywhere}.map-layout{grid-template-columns:1fr minmax(280px,.65fr)}}
@media(max-width:820px){.wrap{width:min(calc(100% - 36px),1320px)}.header-row{min-height:70px}.menu-toggle{display:grid;gap:6px;margin-left:auto;padding:13px;border:0;background:none;cursor:pointer}.menu-toggle span{display:block;width:25px;height:2px;background:var(--wine)}.nav{display:none;position:absolute;left:0;right:0;top:70px;z-index:20;margin:0;padding:20px 18px 25px;background:var(--ice);border-bottom:1px solid #bccbd0;align-items:stretch;gap:17px;flex-direction:column}.nav.is-open{display:flex}.header{position:relative;z-index:30}.hero .wrap,.conditions-layout,.request-layout{grid-template-columns:1fr;gap:26px}.hero h1{max-width:12ch}.hero-photo{max-width:650px}.hero-side p{max-width:55ch}.section-heading{grid-template-columns:1fr;gap:5px}.section-heading .eyebrow{padding:0}.route-grid{grid-template-columns:1fr}.route-grid>div,.route-grid>div:first-child{min-height:0;padding:22px 0;border-right:0;border-bottom:1px solid #a7b9be}.map-layout{grid-template-columns:1fr}.map-frame iframe{height:370px;min-height:370px}.map-info{min-height:250px}.footer-top{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){h1{font-size:clamp(3.4rem,14.5vw,5.5rem)}h2{font-size:clamp(3.2rem,12vw,4.9rem)}.hero{padding:55px 0 40px}.hero h1{font-size:clamp(3.4rem,13vw,5.5rem)}.hero-photo{padding:9px 9px 0}.hero-photo img{height:360px;object-position:51% 60%}.hero-photo figcaption{max-width:93%;margin-left:8px;font-size:.67rem}.ride{grid-template-columns:1fr;gap:18px}.ride-side{gap:3px}.contact-row{gap:4px}.request-form{grid-template-columns:1fr}.request-form .full{grid-column:auto}.request-form button{grid-column:auto}.brand{font-size:1.9rem}.brand-mark{width:36px;height:36px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.nav-cta,.request-form button{transition:none}}
