/* 1.2 — Direct headings, a useful trip choice and movement inspired by the trail. */
:root{--motion-ease:cubic-bezier(.16,1,.3,1)}
.hero{min-height:740px;height:min(900px,100svh);padding-top:165px}
.hero h1{font-size:92px;max-width:1000px;line-height:1.08}
.hero-description{font-size:19px;max-width:500px;line-height:1.9;margin-top:27px}
.hero-actions{margin-top:30px}
.hero-bottom{bottom:34px}
.hero-media{inset:-32px 0;transform:translate3d(0,var(--hero-depth,0px),0)}
.hero h1 em{position:relative;width:fit-content}
.hero h1 em::after{content:"";position:absolute;right:0;bottom:-11px;height:3px;width:74px;background:currentColor;transform-origin:right}
.hero-description{margin-top:38px}
.section-heading h2,.intro-copy h2,.faq-grid h2,.page-heading h1,.contact-banner h2,.vehicle-caption h3{margin-top:0}
.page-heading-grid{grid-template-columns:minmax(0,1fr);gap:0}
.page-heading-copy{max-width:1020px}
.page-heading{padding-bottom:40px}
.page-heading h1{margin-top:0}
.intro-section{padding-block:84px 106px}
.intro-grid{align-items:center}
.intro-copy h2{max-width:500px;font-size:66px;line-height:1.13}
.intro-image{width:85%}
.intro-image img{aspect-ratio:4/4.25}
.intro-image figcaption{justify-content:flex-start}
.vehicle-caption h3{margin-bottom:16px}
.audience-heading h3{font-size:30px;font-weight:700;line-height:1.25}
.audience-experience .audience-row{grid-template-columns:minmax(0,1fr) 24px}
.audience-preview{overflow:hidden}
.route-image{overflow:hidden}
.route-image img{transform:translate3d(0,var(--image-depth,0px),0) scale(1.07);will-change:auto}
.trip-planner{background:var(--paper);color:var(--ink);padding-block:76px 80px;border-bottom:1px solid #c6cbbb;scroll-margin-top:25px}
.planner-grid{display:grid;grid-template-columns:.9fr 1.3fr;gap:90px;align-items:start}
.planner-intro h2{font-size:52px;max-width:360px;line-height:1.16}
.planner-intro>p{font-size:16px;color:#4e5945;max-width:350px;margin-top:22px;line-height:1.9}
.planner-intro .text-link{margin-top:22px;font-size:13px}
.planner-intro .text-link svg{width:18px;height:18px}
.planner-controls{min-width:0}
.planner-controls fieldset{border:0;margin:0 0 23px;padding:0;min-width:0}
.planner-controls legend{font-weight:750;font-size:17px;margin-bottom:12px;padding:0}
.planner-options{display:flex;flex-wrap:wrap;gap:9px}
.planner-option{position:relative;display:flex;align-items:center;justify-content:center;gap:9px;border:1px solid #727c65;min-height:48px;padding:11px 14px;cursor:pointer;font-size:14px;font-weight:600;line-height:1.5;transition:color .2s,background .2s,border-color .2s}
.planner-option input{width:16px;height:16px;margin:0;flex-shrink:0;accent-color:#252f20;cursor:pointer}
.planner-option:has(input:checked){background:#dce1d2;border-color:#33422b;box-shadow:inset 0 -2px #33422b}
.planner-option:hover{background:#e3e5d9;border-color:#33422b}
.planner-option:has(input:focus-visible){outline:3px solid #697746;outline-offset:3px}
.planner-option input:focus-visible{outline:none}
.planner-result{border-top:1px solid #a4ad99;padding-top:22px;display:flex;gap:16px;align-items:center;justify-content:space-between}
.planner-summary{font-size:13px;font-weight:650;max-width:160px;line-height:1.7}
.planner-result .button{font-size:13px;flex-shrink:0}
.planner-result .button-label{padding:15px 18px}
.planner-result .button-icon{min-width:49px}
.planner-note{font-size:12px;line-height:1.8;color:#4e5945;margin-top:18px;max-width:530px}
.contact-banner h2{max-width:760px;font-size:61px;line-height:1.16}
.contact-banner-actions{max-width:345px}
.inquiry-panel h2{margin-top:0}
.section-heading{align-items:flex-end}
.video-gallery{scroll-snap-type:x proximity}
.video-gallery li{scroll-snap-align:start}
.gallery-item{overflow:hidden}
.gallery-item img{transition:transform .7s var(--motion-ease),filter .5s}
.gallery-item:hover img,.gallery-item:focus-visible img{transform:scale(1.045)}
.button::after{content:"";position:absolute;bottom:0;inset-inline-start:0;height:3px;width:calc(100% - var(--cut));background:currentColor;opacity:.24;transform:scaleX(0);transform-origin:right;transition:transform .3s var(--motion-ease);pointer-events:none}
.button:hover::after,.button:focus-visible::after{transform:scaleX(1)}
.audience-row{position:relative;isolation:isolate}
.audience-row::after{content:"";position:absolute;inset:0;background:#ffffff05;z-index:-1;transform:scaleX(0);transform-origin:right;transition:transform .35s var(--motion-ease)}
.audience-row:hover::after,.audience-row:focus-visible::after{transform:scaleX(1)}
.js [data-reveal]{transition:opacity .7s var(--motion-ease),transform .7s var(--motion-ease);transition-delay:var(--reveal-delay,0ms)}
.js [data-reveal].reveal-pending{opacity:0;transform:translate3d(0,26px,0);transition:none}
.js [data-reveal]:focus-within{opacity:1;transform:none;transition-delay:0ms}
.motion-ready [data-hero-entry]>h1{animation:hero-arrive .85s var(--motion-ease) both}
.motion-ready [data-hero-entry]>.hero-description{animation:hero-arrive .85s .1s var(--motion-ease) both}
.motion-ready [data-hero-entry]>.hero-actions{animation:hero-arrive .85s .2s var(--motion-ease) both}
.motion-ready .hero h1 em::after{animation:trail-draw .85s .3s var(--motion-ease) both}
@keyframes hero-arrive{from{opacity:0;transform:translate3d(0,22px,0)}to{opacity:1;transform:none}}
@keyframes trail-draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(min-width:1650px){.hero h1{font-size:106px}.planner-grid{gap:120px}.planner-intro h2{font-size:58px}.intro-copy h2{font-size:76px}}
@media(max-width:1190px){.hero h1{font-size:77px}.planner-grid{gap:48px;grid-template-columns:.8fr 1.2fr}.planner-intro h2{font-size:43px}.planner-result{flex-wrap:wrap}.planner-summary{max-width:none}.planner-result .button{flex-grow:1}.intro-copy h2{font-size:56px}.contact-banner h2{font-size:52px}}
@media(max-width:900px){.planner-grid{gap:32px;grid-template-columns:.7fr 1fr}.planner-intro h2{font-size:38px}.planner-intro>p{font-size:14px}.planner-option{font-size:13px;padding:10px 12px}.planner-result{display:block}.planner-summary{margin-bottom:14px}.planner-result .button{width:100%}.hero-media{transform:none;inset:0}.intro-copy h2{font-size:49px}.intro-image{width:94%}.contact-banner h2{font-size:47px}}
@media(max-width:640px){
 .hero{min-height:730px;height:auto;padding:164px 0 148px}
 .hero h1{font-size:49px;line-height:1.13;max-width:360px}
 .hero h1 em{font-size:47px;line-height:1.16;margin-top:7px}
 .hero h1 em::after{bottom:-13px;width:54px;height:2px}
 .hero-description{font-size:16px;line-height:1.85;margin-top:34px;max-width:340px}
 .hero-actions{gap:18px;flex-wrap:wrap;margin-top:26px}
 .hero-actions .text-link{font-size:13px}
 .hero-actions .button{font-size:14px}
 .hero-bottom{bottom:87px;gap:12px;font-size:11px}
 .admin-bar .hero{min-height:730px}
 .trip-planner{padding-block:48px 51px;scroll-margin-top:15px}
 .planner-grid{display:block}
 .planner-intro h2{font-size:37px;max-width:310px}
 .planner-intro>p{max-width:350px;font-size:15px;margin-top:19px}
 .planner-intro .text-link{margin-top:12px}
 .planner-controls{margin-top:26px}
 .planner-controls fieldset{margin-bottom:22px}
 .planner-controls legend{font-size:16px}
 .planner-options{display:grid;grid-template-columns:1fr 1fr;gap:9px}
 .planner-option{font-size:14px;justify-content:flex-start;padding:12px;min-height:49px}
 .planner-vehicles{grid-template-columns:1fr 1fr}
 .planner-vehicles .planner-option:last-child{grid-column:1 / -1}
 .planner-result{padding-top:20px}
 .planner-result .button{font-size:14px;min-height:56px}
 .planner-summary{margin-bottom:14px;font-size:13px;min-height:22px}
 .planner-note{font-size:12px;margin-top:16px}
 .intro-section{padding-block:57px 66px}
 .intro-copy h2{font-size:45px;max-width:300px}
 .intro-image{width:91%;margin-top:10px}
 .intro-image img{aspect-ratio:1.07}
 .section-heading h2{font-size:37px;line-height:1.16}
 .section-heading{gap:20px}
 .audience-heading h3{font-size:26px}
 .audience-experience .audience-row{grid-template-columns:minmax(0,1fr) 24px}
 .faq-grid h2{font-size:37px;line-height:1.16}
 .contact-banner h2{font-size:42px;max-width:390px}
 .contact-banner-actions{max-width:none}
 .page-heading h1{margin-top:0}
 .vehicle-caption h3{margin-top:0;margin-bottom:14px}
 .inquiry-panel h2{margin-top:0}
 .js [data-reveal].reveal-pending{transform:translate3d(0,18px,0)}
}
@media(max-width:360px){.hero h1,.hero h1 em{font-size:43px}.hero{padding-top:153px}.hero-actions{gap:12px}.hero-actions .text-link{font-size:12px}.planner-intro h2,.section-heading h2,.faq-grid h2{font-size:33px}.planner-option{font-size:13px;padding:11px 10px}.planner-result .button{font-size:13px}.planner-result .button-label{padding-inline:11px}.contact-banner h2{font-size:37px}}
@media(prefers-reduced-motion:reduce){.hero-media,.route-image img{transform:none}.js [data-reveal].reveal-pending{opacity:1;transform:none}.gallery-item:hover img,.gallery-item:focus-visible img{transform:none}.button::after,.audience-row::after{transition:none}}
@media(forced-colors:active){.planner-option{border-color:ButtonText}.planner-option:has(input:checked){border-width:2px;box-shadow:none}.planner-option:has(input:focus-visible){outline-color:Highlight}.planner-intro>p,.planner-note{color:CanvasText}}
