/* The same forest, expressed through wind and folded travel paper. */
:root{--paper-shadow:#001e1c42;--wind-ease:cubic-bezier(.18,.68,.18,1)}
/* The scaled photograph must not create an inner scroll position when focused. */
.hero{overflow:clip}
html{scrollbar-color:var(--coral) var(--pine-dark);scrollbar-width:thin}
::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--pine-dark)}::-webkit-scrollbar-thumb{background:var(--coral);border:2px solid var(--pine-dark);border-radius:8px}
.site-header.scrolled:focus-within{transform:translateY(0)}
.section-index{position:relative}
.drifting-leaves{inset:0;z-index:3;contain:layout paint}
.drifting-leaves>svg.wind-leaf{left:var(--leaf-x);top:var(--leaf-y);width:var(--leaf-size);height:calc(var(--leaf-size)*1.333);animation:none;transform:rotate(var(--leaf-angle));color:var(--coral);fill:currentColor;stroke:none;opacity:.9;filter:drop-shadow(1px 3px 2px #002b2b25);will-change:transform}
.drifting-leaves>.wind-leaf:nth-child(3n){color:#bc4029;opacity:.75}
.wind-button{color:var(--cream);padding:0;border-radius:50%;position:relative;isolation:isolate;flex-shrink:0;transition:background .3s,scale .6s var(--ease)}
.wind-button:hover,.wind-button:focus-visible{background:#073e3c4d;scale:1.06}
.wind-button:active{scale:.96}
.wind-button>svg{pointer-events:none}
.wind-button::after{content:'';position:absolute;inset:5px;border:1px solid #f8efd64a;border-radius:50%;scale:.92;opacity:0;transition:scale .8s,opacity .3s}
.wind-button:hover::after,.wind-button:focus-visible::after{scale:1.13;opacity:1}
.big-star{width:105px;height:140px;stroke-width:.8;fill:var(--coral);color:var(--coral);transform:rotate(25deg)}
.journey-panel{grid-template-columns:.88fr 1.12fr;gap:8%;padding:54px 0 20px;align-items:center;min-height:340px}
.journey-words{align-self:center}
.journey-panel.switching .journey-words,.journey-panel.switching .route-path{animation:none}
.journey-words h3{font-size:clamp(35px,3.8vw,58px)}
.route-sketch{--map-tilt-x:0deg;--map-tilt-y:0deg;max-width:650px;width:100%;margin:8px 0 0;padding:28px 25px 22px;color:var(--pine);background:var(--cream);box-shadow:3px 8px 0 #f8efd625,0 18px 38px var(--paper-shadow);transform:perspective(1000px) rotateX(var(--map-tilt-x)) rotateY(var(--map-tilt-y)) rotate(-2deg);transform-style:preserve-3d;transition:transform .65s var(--wind-ease);isolation:isolate}
.route-sketch::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,transparent 32.95%,#b7ab8c35 33.2%,#fff8e85e 33.7%,transparent 34.3%,transparent 65.8%,#b7ab8c42 66.25%,#fff8e870 66.9%,transparent 67.5%);pointer-events:none}
.route-sketch::after{content:'';position:absolute;inset:9px;border:1px solid #173f3921;pointer-events:none}
.route-label{color:var(--pine);opacity:.65;font-size:9px;text-align:left;letter-spacing:.19em;padding:0 5px 12px}
.map-sheet{position:relative;aspect-ratio:520/230;perspective:900px;margin:8px 0 0;transform-style:preserve-3d}
.map-sheet>.route-svg{display:block;width:100%;height:100%;margin:0;stroke:var(--pine)}
.map-ready>.route-svg{visibility:hidden}
.map-face{position:absolute;top:0;bottom:0;width:33.3334%;overflow:hidden;background:transparent;backface-visibility:hidden;transform-style:preserve-3d}
.map-face:nth-of-type(1){left:0;transform-origin:100% 50%}
.map-face:nth-of-type(2){left:33.3333%}
.map-face:nth-of-type(3){left:66.6666%;transform-origin:0 50%}
.map-face>.route-svg{position:absolute;width:300%;height:100%;top:0;max-width:none;margin:0;stroke:var(--pine)}
.map-face:nth-of-type(1)>.route-svg{left:0}.map-face:nth-of-type(2)>.route-svg{left:-100%}.map-face:nth-of-type(3)>.route-svg{left:-200%}
.route-svg .route-path{stroke:var(--red);stroke-width:2.6;stroke-dasharray:1000;stroke-dashoffset:0;stroke-linecap:round}
.route-svg .route-ghost{stroke:var(--pine);opacity:.22;stroke-dasharray:2 6}
.route-svg circle{fill:var(--cream);stroke:var(--pine);stroke-width:1.3}
.route-svg .route-trees{stroke:var(--pine);opacity:.72}
.map-terrain{stroke:var(--pine);stroke-width:.8;opacity:.16;fill:none}
.map-water{fill:#1b766e0f;stroke:#1b766e;stroke-width:.75;opacity:.45}
.map-point{transform-box:fill-box;transform-origin:center}
.map-compass{stroke:var(--red);stroke-width:1.2;fill:none}
.map-compass text{fill:var(--pine);stroke:none;font-family:Otherlight,sans-serif;font-size:8px}
.map-camper{stroke:var(--pine);stroke-width:1.25;stroke-linejoin:round;paint-order:stroke fill}
.map-camper circle{fill:var(--pine);stroke:var(--cream);stroke-width:1}
.route-stops{margin:13px 0 0;gap:12px;font-size:10px;line-height:1.3;align-items:baseline}
.route-stops>span{max-width:33%;position:relative}
.route-stops>span:nth-child(2){padding-top:0;text-align:center}
.route-stops>span:last-child{text-align:right}
.route-sketch>p{border-top:1px solid #173f392f;padding-top:16px;margin-top:20px;font-size:17px;opacity:1;text-align:left}
.route-sketch>p::after{content:'↗';float:right;font-family:Otherlight;font-style:normal;color:var(--red)}
.journey-tabs button{transition:background .35s,color .35s;isolation:isolate}
.journey-tabs button::after{content:'';height:3px;position:absolute;bottom:0;left:25px;right:25px;background:var(--coral);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease)}
.journey-tabs button[aria-selected=true]::after{transform:scaleX(1)}
.journey-tabs button[aria-selected=true]>span{opacity:1;color:var(--red)}
.chapter-down{transition:background .3s,transform .5s var(--ease)}
.chapter-down:hover{background:var(--coral);transform:translateY(4px);border-color:var(--coral)}
.woodland-pointer{position:fixed;left:0;top:0;width:36px;height:42px;z-index:10000;pointer-events:none;opacity:0;transform-origin:2px 2px;will-change:transform;filter:drop-shadow(0 1px 2px #073e3c42)}
.woodland-pointer>svg{width:36px;height:42px;stroke:none;overflow:visible}
.woodland-pointer.is-visible{opacity:1}
.woodland-pointer.is-action .pointer-leaf{fill:var(--cream);stroke:var(--coral);stroke-width:1.8}
@media(hover:hover) and (pointer:fine) and (forced-colors:none){
  body{--forest-control-cursor:url('assets/leaf-pointer.svg') 2 2,pointer;cursor:url('assets/leaf-pointer.svg') 2 2,auto}
  :is(a,button,summary,select,label,[role=button],[role=tab],[role=checkbox],[role=radio],input[type=checkbox],input[type=radio],input[type=button],input[type=submit],input[type=reset],input[type=range]),
  :is(a,button,summary,select,label,[role=button],[role=tab],[role=checkbox],[role=radio]) *{cursor:var(--forest-control-cursor)!important}
  html.forest-pointer body:not(.dialog-open){--forest-control-cursor:none;cursor:none}
  input:not([type=checkbox]):not([type=radio]):not([type=button]):not([type=submit]):not([type=reset]):not([type=range]),textarea,[contenteditable=true],[contenteditable=plaintext-only],[contenteditable=true] *,[contenteditable=plaintext-only] *{cursor:text!important}
  input:is([type=date],[type=time],[type=datetime-local],[type=month],[type=week],[type=color],[type=file]){cursor:auto!important}
  :disabled,[aria-disabled=true],[aria-disabled=true] *{cursor:not-allowed!important}
}
@media(forced-colors:active){
  .woodland-pointer{display:none!important}
  html.forest-pointer body,body{cursor:default}
}

.vehicle-topline>span:last-child{border:1px solid #f8efd665;border-radius:2px;padding:6px 9px 5px;position:relative;top:-5px;opacity:.85;transform:rotate(4deg);transform-origin:50% 0;transition:transform .5s var(--ease)}
.vehicle-item:hover .vehicle-topline>span:last-child,.vehicle-item:focus-within .vehicle-topline>span:last-child{transform:rotate(-8deg);color:var(--coral);border-color:var(--coral)}
.vehicle-item{isolation:isolate}
.vehicle-item::before{content:'';position:absolute;left:0;right:0;top:-1px;height:2px;background:var(--coral);transform:scaleX(0);transform-origin:left;transition:transform .75s var(--ease)}
.vehicle-item:hover::before,.vehicle-item:focus-within::before{transform:scaleX(1)}
.scene-hotspot:focus-visible{outline-offset:14px;border-radius:50%}
.scene-hotspot>span,.interior-hotspot>span{transition:rotate .55s var(--ease),box-shadow .55s var(--ease),background .3s,color .3s}
.scene-hotspot:hover>span,.scene-hotspot:focus-visible>span,.interior-hotspot:hover>span,.interior-hotspot:focus-visible>span{background:var(--coral);color:var(--cream);transform:rotate(90deg);box-shadow:0 0 0 12px #f8efd61c}
.onboard-star{fill:var(--red);stroke-width:.8;transform:rotate(29deg)}
.onboard-photo{isolation:isolate}
.onboard-photo::before{content:'';position:absolute;inset:10px;z-index:2;border:1px solid #f8efd650;pointer-events:none}
.onboard-photo[data-image-state=ready]>img{animation:window-open .85s var(--wind-ease) both}
.camp-accordion summary{position:relative;transition:color .25s}
.camp-accordion summary:hover{color:var(--red)}
.camp-accordion summary>span{display:grid;place-items:center;width:24px;height:25px;border:1px solid transparent;transition:rotate .5s,background .3s,color .3s;flex-shrink:0}
.camp-accordion details[open] summary>span{opacity:1;background:var(--pine);color:var(--cream);rotate:-5deg;border-color:var(--pine)}
.camp-accordion details[open] summary>i{color:var(--red)}
.drift-button{background:none;border:0;padding:0;width:65px;height:94px;overflow:visible;z-index:2;stroke:none;transform:rotate(25deg);transform-origin:50% 90%;transition:scale .5s var(--ease)}
.drift-button>svg{width:100%;height:100%;stroke:none;overflow:visible;pointer-events:none}
.drift-button:hover{scale:1.12}
.drift-button:focus-visible{outline-offset:10px}
.slow-heading-wrap{perspective:900px}
.planning-paper{--paper-lift:0deg;transform:rotate(.6deg);transition:transform .65s var(--wind-ease),box-shadow .65s var(--wind-ease)}
.planning-paper:focus-within{transform:rotate(0);box-shadow:0 18px 70px #00262540}
.planning-paper::after{content:'';position:absolute;width:34px;height:34px;right:0;top:0;background:linear-gradient(45deg,#ddd4b9 49%,#fff8e7 50%);box-shadow:-3px 3px 7px #173f3915;clip-path:polygon(0 0,100% 100%,0 100%);transform:rotate(180deg);transform-origin:center;pointer-events:none}
.plan-slip{position:relative;border:1px solid #173f393d;border-left:4px solid var(--coral);padding:15px 16px;margin:25px 0 27px;background:#fff8e545;color:var(--pine);isolation:isolate}
.plan-slip::before{content:'';position:absolute;left:7px;top:0;bottom:0;border-left:1px dashed #173f3933;pointer-events:none}
.plan-slip>div{display:flex;align-items:center;gap:10px;font-size:16px;font-family:OtherlightSerif,Georgia,serif;font-style:italic}
.plan-slip svg{width:18px;height:24px;color:var(--red);fill:var(--red);stroke-width:.6}
.plan-slip p{display:flex;gap:14px;font-size:11px;margin-top:10px}
.plan-slip p>span+span{border-left:1px solid #173f393d;padding-left:14px}
.plan-slip strong{font-size:11px;line-height:1.35;font-weight:400;display:block;margin-top:7px;opacity:.8}
.form-row{position:relative}
.form-row::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease);pointer-events:none}
.form-row:focus-within::after{transform:scaleX(1)}
.trip-questions{border:0;padding:0;margin:23px 0 0;min-width:0}
.trip-questions legend{font-size:12px;font-weight:700;line-height:1.5;padding:0;margin-bottom:10px}
.trip-questions legend>span{font-size:10px;font-weight:400;opacity:.7;white-space:nowrap}
.trip-questions>div{display:flex;flex-wrap:wrap;gap:8px}
.trip-questions label{position:relative;display:flex;align-items:center;gap:6px;min-height:34px;border:1px solid #173f3940;padding:6px 9px;font-size:11px;cursor:pointer;transition:background .25s,border-color .25s;color:var(--pine)}
.trip-questions input[type=checkbox]{appearance:none;border:1px solid var(--pine);width:13px;height:13px;min-width:13px;margin:0;padding:0;border-radius:0;display:grid;place-items:center;position:relative;outline-offset:3px}
.trip-questions input::after{content:'';width:7px;height:4px;border-left:1.5px solid var(--cream);border-bottom:1.5px solid var(--cream);rotate:-45deg;translate:0 -1px;opacity:0}
.trip-questions input:checked{background:var(--pine)}
.trip-questions input:checked::after{opacity:1}
.trip-questions label:has(input:checked){background:#173f390d;border-color:var(--pine)}
.enquiry-dialog{width:min(660px,92vw);background:var(--cream);border-top:7px solid var(--coral);box-shadow:5px 8px 0 #e5dabec9,0 30px 100px #0023234d}
.postcard-top{display:flex;justify-content:space-between;gap:20px;align-items:center;padding-right:15px}
.postcard-stamp{display:flex;align-items:center;flex-direction:column;justify-content:center;gap:6px;padding:9px 9px 7px;border:1px dashed var(--red);outline:4px solid #ec543712;color:var(--red);width:67px;height:79px;rotate:7deg;flex-shrink:0}
.postcard-stamp>svg{width:24px;height:32px;fill:var(--red);stroke-width:.7}
.postcard-stamp>span{font-size:7px;letter-spacing:.08em}
.postcard-route{display:flex;gap:18px;align-items:center;margin:22px 0 5px;padding:12px 0;border-top:1px dashed #173f3960;border-bottom:1px dashed #173f3960;color:var(--red);font-family:OtherlightSerif,Georgia,serif;font-style:italic;font-size:19px}
.postcard-route span:last-child{margin-left:auto;font-family:Otherlight;font-size:12px;font-style:normal;white-space:nowrap}
.enquiry-dialog dl{margin-top:12px}
.motion-toggle{right:auto;left:20px;bottom:19px;z-index:45;border:1px solid #073e3c22}
.site-footer{padding-bottom:65px}
.back-top:hover svg{animation:home-arrow .6s var(--ease)}
.footer-brand>svg{transition:rotate .7s var(--ease)}
.footer-brand:hover>svg{rotate:90deg}
.is-outside .ribbon-track,.is-outside .water-lines,html.page-resting *{animation-play-state:paused!important}
.motion-paused .drifting-leaves>svg.wind-leaf{transform:rotate(var(--leaf-angle))!important}
.motion-paused .onboard-photo[data-image-state=ready]>img{animation:none;clip-path:none}
.motion-paused .route-sketch{transform:rotate(-2deg)}
.motion-paused .map-face{transform:none!important}
.motion-paused .route-path{stroke-dashoffset:0!important}
.motion-paused .woodland-pointer{display:none}
@keyframes window-open{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes home-arrow{0%{translate:0 0}45%{translate:0 -5px}100%{translate:0 0}}
@media(min-width:1700px){.journey-panel{gap:10%;padding-top:65px;padding-bottom:35px}.route-sketch{padding:32px 30px 25px}.route-stops{font-size:12px}.route-sketch>p{font-size:20px}}
@media(max-width:1100px){.journey-panel{gap:5%;grid-template-columns:1fr 1.1fr}.route-sketch{padding:23px 20px 20px}.route-stops{font-size:9px}.route-sketch>p{font-size:15px}.big-star{width:70px;height:90px}.journey-words h3{font-size:36px}}
@media(max-width:760px){
  .journey-panel{grid-template-columns:1fr;gap:35px;padding-top:36px;padding-bottom:0}.journey-words>p:not(.handwritten){max-width:450px}.journey-words h3{font-size:43px}.journey-words .handwritten{font-size:23px}.journey-words .text-link{font-size:14px}.route-sketch{max-width:500px;margin:5px auto 10px;padding:26px 22px 21px;transform:rotate(-1.5deg)}.route-svg{max-height:none}.route-stops{font-size:11px;margin-top:14px}.route-sketch>p{font-size:17px;margin-top:20px}.route-label{font-size:9px}.big-star{width:49px;height:64px;margin-right:4px}.journey-tabs button::after{left:13px;right:13px}.drifting-leaves>svg.wind-leaf{width:calc(var(--leaf-size)*.72);height:calc(var(--leaf-size)*.96)}.drifting-leaves>.wind-leaf:nth-child(n+7){display:none}.drift-button{width:33px;height:52px;right:-39px}.motion-toggle{left:13px;bottom:13px}.plan-slip{padding:14px 16px;margin:23px 0}.trip-questions label{min-height:39px;font-size:11px}.trip-questions legend{font-size:12px}.postcard-top{padding-right:20px}.postcard-stamp{width:57px;height:68px}.postcard-stamp>svg{height:27px}.postcard-route{font-size:18px}.onboard-photo::before{inset:7px}.vehicle-topline>span:last-child{padding:4px 7px 3px}.planning-paper::after{width:27px;height:27px}.planning-paper:focus-within{transform:rotate(0)}
}
@media(max-width:480px){.journey-words h3{font-size:39px}.route-sketch{padding:24px 19px 19px}.route-stops{font-size:10px;gap:8px}.route-sketch>p{font-size:16px}.drift-button{width:27px;height:38px;right:-25px}.trip-questions label{padding:7px 8px}.postcard-route{font-size:16px}.postcard-top .section-index{font-size:9px}.enquiry-dialog{padding-top:30px}.postcard-stamp{margin-top:12px}.site-footer{padding-bottom:80px}}
@media(prefers-reduced-motion:reduce){.woodland-pointer{display:none}.route-sketch{transform:rotate(-2deg)!important}.map-face{transform:none!important}.route-path{stroke-dashoffset:0!important}.onboard-photo>img{clip-path:none!important;animation:none!important}.drifting-leaves>svg.wind-leaf{transform:rotate(var(--leaf-angle))!important}.drift-button{transform:rotate(25deg)!important}.planning-paper{transition:none}.wind-button,.drift-button{scale:1!important}}

/* Compact motion control leaves the established hero caption clear. */
.motion-toggle{width:36px;height:36px;min-height:36px;padding:0;justify-content:center;gap:0;transition:width .35s var(--ease),gap .35s var(--ease)}
.motion-toggle .motion-icon{position:relative;display:block;flex:0 0 14px;width:14px;height:14px;font-size:0;line-height:0}
.motion-toggle .motion-icon::before,.motion-toggle .motion-icon::after{content:'';position:absolute;top:1px;width:3px;height:12px;background:currentColor;border-radius:.5px}
.motion-toggle .motion-icon::before{left:3px}.motion-toggle .motion-icon::after{right:3px}
.motion-toggle[aria-pressed=true] .motion-icon::before{left:4px;width:0;height:0;background:none;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:9px solid currentColor;border-radius:0}
.motion-toggle[aria-pressed=true] .motion-icon::after{display:none}
.motion-toggle .motion-label{max-width:0;overflow:hidden;white-space:nowrap;opacity:0;transition:max-width .35s,opacity .25s}
.motion-toggle:hover,.motion-toggle:focus-visible{width:112px;gap:8px}
.motion-toggle:hover .motion-label,.motion-toggle:focus-visible .motion-label{max-width:85px;opacity:1}
.motion-toggle:disabled{width:121px;gap:6px}.motion-toggle:disabled .motion-label{max-width:90px;opacity:1}
.submit-trip:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:760px){.hero-note{margin-left:42px}.hero-note .little-rule{display:none}.motion-toggle{width:34px;height:34px;min-height:34px}}

/* Essential words always land when the page is put away mid-arrival. */
html.page-resting .hero-copy h1,html.page-resting .hero-copy p{animation:none!important;opacity:1;transform:none}
