/* YVR Shuttle Version 3 — visual refinement layer */
@font-face{font-family:YVRManrope;src:url('./fonts/manrope-latin.woff2') format('woff2');font-style:normal;font-display:swap}
:root{--v3-orange:#ed771e;--v3-ink:#101010}
body{font-family:YVRManrope,Arial,sans-serif;font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}
.rail{max-width:1180px;padding-left:clamp(20px,3vw,36px);padding-right:clamp(20px,3vw,36px)}
.header-inner{min-height:86px}.nav{gap:clamp(12px,1.6vw,25px)}.nav a{font-size:13px;line-height:1.4}
.hero{min-height:clamp(520px,42vw,650px)}.hero-content{padding-top:80px;padding-bottom:90px}
.hero h1{font-size:clamp(38px,4.7vw,66px);letter-spacing:-.035em;line-height:1.1}.hero p{font-size:clamp(15px,1.4vw,18px);line-height:1.7}
.button,.button-primary{font-size:14px;min-height:44px;align-items:center;justify-content:center}
.home-announcement{padding-top:32px!important;padding-bottom:32px!important}
/* Eliminate empty oversized gap after hero booking strip without collapsing the form. */
body.home .hero-section{margin-bottom:0!important}
body.home .home-announcement{margin-top:0!important}
body.home .hero + section:not(.home-announcement){min-height:0}
.v2-intro{padding:clamp(60px,7vw,95px) 0 clamp(55px,6vw,85px)}
.v2-intro h1{font-size:clamp(38px,4.5vw,64px);letter-spacing:-.035em;max-width:850px}
.v2-intro p:last-child{font-size:clamp(16px,1.3vw,19px);line-height:1.75}
.v2-pad{padding-top:clamp(48px,6vw,85px);padding-bottom:clamp(55px,7vw,100px)}
.v2-services{gap:20px}.v2-service{padding:clamp(25px,3vw,42px);min-height:245px;transition:border-color .2s,transform .2s}
.v2-service:hover{border-color:#ed771e;transform:translateY(-2px)}
.v2-service h2{font-size:clamp(22px,2vw,28px);line-height:1.25}
.v2-service p{font-size:15px;color:#4d4d4d}.v2-service a{font-size:14px}
.v2-cta{padding:clamp(55px,6vw,85px) 0}.v2-cta h2{font-size:clamp(28px,3vw,42px);line-height:1.15}
.v2-text,.v2-contact-card{font-size:16px;line-height:1.75}
.v2-attraction-photo{background:linear-gradient(135deg,#d9d9d9,#f1f1f1)}
.footer{padding-top:65px}.footer a{font-size:14px;line-height:1.8}.footer h3{font-size:17px}
/* Restore readable block-editor content; V2 hid it globally. */
.entry{display:block!important}.v2-editable{padding-top:0;padding-bottom:45px}
@media(max-width:900px){.nav{gap:12px}.nav a{font-size:12px}.v2-vehicle,.v2-contact{gap:28px}}
@media(max-width:760px){.header-inner{min-height:76px}.nav{top:76px;gap:16px}.nav a{font-size:15px}.hero{min-height:530px}.hero-content{padding-top:65px;padding-bottom:80px}.v2-services{grid-template-columns:1fr}.v2-service{min-height:0;padding:27px}.v2-intro{padding:55px 0}.v2-pad{padding-top:45px;padding-bottom:55px}.footer{padding-top:45px}.footer-grid{gap:20px}.v2-map-section iframe{height:330px}}
@media(prefers-reduced-motion:reduce){.v2-service{transition:none}}
