:root{--forest:#234939;--earth:#e9d1ac;--terra:#c26430;--maroon:#752e10;--paper:#fbf4e6;--ink:#234939;--muted:#636756;--line:#d0c7b5;--display:TTMDisplay;--body:TTMBody}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.6}img{max-width:100%;height:auto}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}a{color:inherit}button{cursor:pointer}button:disabled{cursor:default}input,select,textarea{max-width:100%;min-width:0}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--terra);outline-offset:5px}input:focus,select:focus,textarea:focus{outline:3px solid #c2643055;outline-offset:2px;border-color:var(--terra)}[hidden]{display:none!important}.wrap{width:min(1200px,calc(100% - 96px));margin:auto}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;margin:0 0 20px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--display);font-weight:400;letter-spacing:-2px;line-height:1.05}h1 em,h2 em{font-weight:400;color:var(--maroon)}h2{font-size:clamp(38px,4.3vw,58px);margin-bottom:0}h3{font-size:16px;line-height:1.4}p{margin-bottom:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:32px;min-height:54px;border-radius:4px;padding:14px 23px;text-decoration:none;border:1px solid transparent;font-size:14px;font-weight:700;transition:background .2s,transform .2s}.button span{font-size:23px;line-height:1}.primary{background:var(--forest);color:var(--paper)}.primary:hover{background:#16372a;transform:translateY(-2px)}.primary:disabled{opacity:.5;transform:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:20px;top:-100px;z-index:100;background:var(--forest);color:white;padding:12px}.skip-link:focus{top:10px}.site-header{display:flex;align-items:center;justify-content:space-between;max-width:1440px;padding:28px 48px 18px;margin:auto}.brand{display:block;width:110px}.brand img{display:block;width:110px;height:73px;object-fit:contain}.site-header nav{display:flex;align-items:center;gap:40px;font-size:13px;font-weight:700}.site-header nav a{text-decoration:none}.site-header .nav-book{border-bottom:1px solid var(--forest);padding:12px 0}.nav-book span{margin-left:16px;font-size:20px}.hero{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;padding:40px 0 66px}.hero-copy{padding-bottom:10px}.hero-copy .eyebrow{display:flex;align-items:center;gap:10px}.little-sun{font-size:24px;color:var(--terra)}h1{font-size:clamp(54px,5.8vw,84px);line-height:.99;margin:0 0 24px}.hero-description{font-size:15px;line-height:1.9;max-width:430px;margin-bottom:28px}.hero-meta{display:flex;gap:16px;align-items:center;font-size:12px;margin-top:22px}.hero-meta strong{font-size:14px}.meta-dot{font-size:20px;color:var(--terra)}.river-postcard{border:1px solid var(--forest);background:var(--earth);padding:14px;transform:rotate(1.5deg);box-shadow:8px 10px 0 #2349390b;border-radius:1px}.postcard-top,.postcard-bottom{display:flex;align-items:center;justify-content:space-between;font-size:9px;font-weight:700;letter-spacing:1.1px;line-height:1.5;padding:6px 3px 18px}.postcard-top{font-size:10px}.postcard-serial{writing-mode:vertical-rl;transform:rotate(180deg);font-size:8px}.postcard-art{position:relative;overflow:hidden;height:420px;background:var(--forest);border-radius:130px 130px 2px 2px;border:1px solid var(--forest)}.sun-disc{position:absolute;width:230px;height:230px;top:44px;left:calc(50% - 115px);border-radius:50%;background:var(--terra);opacity:.92}.arch-text{position:absolute;top:24px;left:0;right:0;text-align:center;color:var(--earth);font-size:9px;letter-spacing:2px}.hero-mascot{position:absolute;height:342px;width:auto;max-width:none;left:50%;transform:translateX(-50%);bottom:32px;z-index:3}.river-lines{position:absolute;inset:auto 0 -4px;height:96px;background:var(--earth) url('assets/river-pattern.webp') center/220px auto;opacity:1}.round-stamp{position:absolute;width:115px;height:115px;border:1px solid var(--earth);border-radius:50%;left:22px;top:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:var(--earth);transform:rotate(-16deg);z-index:4;font-size:7px;letter-spacing:1px;background:var(--forest)}.round-stamp img{filter:brightness(0) saturate(100%) invert(89%) sepia(14%) saturate(575%) hue-rotate(340deg) brightness(99%) contrast(84%);width:56px}.postcard-fare{position:absolute;right:21px;bottom:36px;background:var(--paper);border-radius:50%;width:113px;height:113px;display:flex;flex-wrap:wrap;align-content:center;justify-content:center;column-gap:4px;z-index:4;color:var(--maroon);transform:rotate(8deg);box-shadow:0 0 0 5px #fbf4e650}.postcard-fare span{font-size:13px;padding-top:16px}.postcard-fare strong{font-family:var(--display);font-size:54px;line-height:1}.postcard-fare small{width:100%;text-align:center;font-size:7px;letter-spacing:2px;margin-top:4px}.postcard-bottom{font-size:8px;padding:16px 3px 4px;gap:15px}.river-divider{height:32px;opacity:.6;background:url('assets/river-pattern.webp') center/170px auto;border-top:1px solid #c2643022;border-bottom:1px solid #c2643022}.experience{display:grid;grid-template-columns:.85fr 1.5fr;gap:80px;padding:77px 0 84px}.experience-content>p{max-width:625px;font-size:15px;line-height:1.9;margin-bottom:35px}.ride-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.fact-number{display:block;color:var(--terra);font-size:12px;font-family:var(--display);border-top:1px solid var(--line);padding-top:16px;margin-bottom:18px}.ride-facts h3{font-size:14px;margin-bottom:10px}.ride-facts p{font-size:12px;color:var(--muted);line-height:1.8}.booking-section{background:#efe5d3;padding:72px 0 80px;border-top:1px solid #d8cbb6;border-bottom:1px solid #d8cbb6}.booking-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:42px;gap:30px}.booking-heading>p{font-size:14px;line-height:1.9;margin-bottom:5px}.booking-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,1fr);gap:50px;align-items:start}.booking-form{min-width:0}.booking-form fieldset{padding:28px 0;border:0;border-bottom:1px solid #ccc0ab;margin:0;min-width:0}.booking-form fieldset:first-child{padding-top:0}.booking-form legend{float:left;width:100%;font-size:18px;font-weight:700;margin-bottom:22px;display:flex;gap:11px;align-items:center}.booking-form legend+*{clear:both}.step-number{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--forest);border-radius:50%;width:27px;height:27px;font-size:12px;font-weight:400;flex-shrink:0}.choice-grid{display:grid;gap:10px}.choice{position:relative;display:flex;gap:13px;align-items:center;border:1px solid #c9beaa;border-radius:5px;min-height:83px;padding:15px 17px;cursor:pointer;background:#fbf4e65c}.choice:has(input:checked){border-color:var(--forest);background:var(--paper);box-shadow:0 0 0 1px var(--forest)}.choice:has(input:focus-visible){outline:3px solid var(--terra);outline-offset:3px}.choice input{position:absolute;opacity:0;width:20px;height:20px;margin:0}.choice-dot{width:17px;height:17px;border:1px solid var(--forest);border-radius:50%;flex-shrink:0;position:relative}.choice input:checked+.choice-dot:after{content:'';position:absolute;inset:3px;background:var(--forest);border-radius:50%}.choice strong{display:block;font-size:14px}.choice small{display:block;font-size:11px;color:var(--muted);line-height:1.7;margin-top:3px}.choice-arrow{margin-left:auto;font-size:22px}.conditional-field{margin-top:16px}label:not(.choice){display:block;font-size:12px;font-weight:700;margin-bottom:8px}input:not([type=radio]),select,textarea{border:1px solid #bbae96;border-radius:4px;padding:13px 12px;background:var(--paper);color:var(--forest);width:100%;font-size:13px;line-height:1.5;min-height:48px}input::placeholder,textarea::placeholder{color:#73796c;opacity:1}textarea{resize:vertical;vertical-align:top}.field-hint{font-size:11px;color:#686a5a;line-height:1.8;margin-top:8px}.field-error{font-size:12px;color:var(--maroon);margin-top:9px;line-height:1.7}.field-error:before{content:'! ';font-weight:700}[aria-invalid=true]{border-color:var(--maroon)!important}.stop-row{margin-top:25px;display:grid;gap:14px}.stop-row label{margin-bottom:0}.stop-row .field-hint{margin-top:3px}.stop-row select{max-width:100%}.group-row{display:flex;justify-content:space-between;gap:20px;align-items:center}.group-row label{margin-bottom:0}.group-row .field-hint{margin-top:4px}.stepper{display:flex;border:1px solid var(--forest);border-radius:4px;overflow:hidden;background:var(--paper)}.stepper button{border:0;background:transparent;color:var(--forest);width:49px;min-height:51px;font-size:23px}.stepper button:hover:enabled{background:#e9d1ac77}.stepper button:disabled{opacity:.3}.stepper input[type=number]{width:58px;text-align:center;border:0;border-radius:0;padding:10px 0;font-size:19px;-moz-appearance:textfield;appearance:textfield;min-height:51px;box-shadow:none}.stepper input::-webkit-inner-spin-button,.stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.seat-line{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px}.seat-line>div{display:flex;gap:7px}.seat{width:13px;height:17px;display:block;border:1px solid #b3ad98;border-radius:5px 5px 2px 2px;position:relative;background:transparent}.seat:after{content:'';position:absolute;bottom:-4px;left:1px;right:1px;border-bottom:1px solid #b3ad98}.seat.selected{background:var(--forest);border-color:var(--forest)}.seat.selected:after{border-color:var(--forest)}.seat-line>span{font-size:11px;color:var(--muted)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.required-word,.optional-word{font-weight:400;color:var(--muted);font-size:10px}.lower-fields{margin-top:22px}.prepare-button{width:100%;margin-top:27px;justify-content:space-between;min-height:57px}.form-footnote{font-size:10px;text-align:center;color:var(--muted);margin-top:12px}.fare-ticket{position:sticky;top:24px;max-width:420px;width:100%;margin-top:0;filter:drop-shadow(0 8px 10px #23493909)}.ticket-header{background:var(--forest);color:var(--earth);padding:30px 22px 24px;text-align:center;border-radius:8px 8px 0 0}.ticket-header img{width:175px;height:auto;display:block;margin:0 auto 15px}.ticket-header p{font-size:8px;letter-spacing:2px}.ticket-body{padding:24px 28px 22px;background:var(--paper);border-left:1px solid #d6cbb8;border-right:1px solid #d6cbb8}.ticket-label{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding-bottom:17px}.ticket-label h3{font-family:var(--display);font-size:20px;margin:0;font-weight:400}.ticket-label>span{font-size:8px;letter-spacing:1px;max-width:80px;text-align:right}.ticket-price{text-align:center;padding:27px 0 25px}.ticket-price>span{font-size:10px;letter-spacing:1px;text-transform:uppercase}.ticket-price strong{display:block;font-family:var(--display);font-size:64px;line-height:1.25;color:var(--maroon);letter-spacing:-2px;overflow-wrap:anywhere}.ticket-price p{font-size:11px;margin-top:2px}.ticket-details{margin:0;padding-top:15px;border-top:1px solid var(--line);font-size:11px}.ticket-details>div{display:grid;grid-template-columns:70px 1fr;gap:15px;margin-bottom:13px}.ticket-details dt{color:var(--muted)}.ticket-details dd{margin:0;text-align:right;font-weight:700;overflow-wrap:anywhere;white-space:pre-wrap}.ticket-seam{border-bottom:1px dashed #bdae95;margin:22px -28px;position:relative}.ticket-seam:before,.ticket-seam:after{content:'';background:#efe5d3;border-radius:50%;width:20px;height:20px;position:absolute;top:-10px}.ticket-seam:before{left:-11px}.ticket-seam:after{right:-11px}.ticket-note{display:flex;align-items:center;gap:16px}.ticket-note img{flex-shrink:0;width:42px}.ticket-note p{font-size:10px;line-height:1.8}.ticket-footer{background:var(--earth);display:flex;justify-content:space-between;gap:10px;padding:14px 24px;font-size:7px;letter-spacing:1px;border:1px solid #d6cbb8;border-radius:0 0 8px 8px}.enquiry-section{border-top:1px solid #c4b89f;padding-top:50px;margin-top:54px;display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}.enquiry-intro>p:not(.eyebrow){font-size:14px;margin-top:22px;max-width:330px}.enquiry-intro p.field-hint{font-size:11px}.enquiry-message{padding:24px;background:var(--paper);border:1px solid #b9ad97;border-radius:5px}.enquiry-message textarea{border:none;background:#f0e8d9;width:100%;font-family:var(--body);font-size:12px;line-height:1.9;min-height:304px;padding:16px;color:var(--forest)}.enquiry-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px}.enquiry-actions .button{font-size:12px;min-height:48px;gap:20px;padding:12px 17px}.edit-link{font-size:11px;text-underline-offset:4px;padding:12px 0}#whatsapp-status{font-size:11px;min-height:18px;margin-top:10px;color:var(--forest)}.before-you-go{padding:78px 0 86px;display:grid;grid-template-columns:.8fr 1.3fr;gap:80px}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:first-child{border-top:1px solid var(--line)}.faq-list summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:14px;font-weight:700;padding:21px 0;cursor:pointer}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:22px;font-weight:400;transition:transform .2s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{font-size:13px;color:var(--muted);line-height:1.9;padding:0 30px 22px 0}.site-footer{background:var(--forest);color:var(--earth);padding:42px 0 24px;position:relative}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}.footer-inner img{width:160px}.footer-inner p{font-family:var(--display);font-size:20px;font-style:italic}.footer-inner>span{font-size:8px;letter-spacing:1.5px}.footer-bottom{border-top:1px solid #e9d1ac33;margin-top:32px;padding-top:18px;display:flex;justify-content:space-between;font-size:9px;color:#e9d1acc0}
.group-fare{font-size:13px;font-weight:700;margin-top:22px;padding-top:14px;border-top:1px dashed #bbae96;color:var(--maroon)}
@media(min-width:1500px){.hero{padding-top:60px;padding-bottom:85px}.postcard-art{height:455px}.hero-mascot{height:377px}}
@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.site-header{padding:24px 32px}.hero{gap:30px}.postcard-art{height:385px}.hero-mascot{height:306px}.round-stamp{width:95px;height:95px;left:14px;top:185px;font-size:6px}.postcard-fare{width:90px;height:90px;right:14px}.postcard-fare strong{font-size:45px}.postcard-fare span{padding-top:13px;font-size:10px}.experience{gap:40px;grid-template-columns:.9fr 1.5fr}.ride-facts{gap:15px}.booking-grid{gap:30px;grid-template-columns:minmax(0,1.45fr) minmax(260px,1fr)}.ticket-body{padding-left:22px;padding-right:22px}.ticket-seam{margin-left:-22px;margin-right:-22px}.booking-heading>p{max-width:280px}.before-you-go{gap:40px}.enquiry-section{gap:35px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.site-header{padding:17px 20px}.brand,.brand img{width:86px}.brand img{height:57px}.site-header nav{gap:20px;font-size:11px}.nav-about{display:none}.site-header .nav-book{padding:8px 0}.hero{grid-template-columns:1fr;padding:31px 0 49px;gap:40px}.hero-copy{padding:0}.hero-copy .eyebrow{font-size:9px;letter-spacing:1.5px;margin-bottom:20px}h1{font-size:clamp(56px,10.5vw,76px);letter-spacing:-2px;margin-bottom:22px}.hero-description{font-size:14px;max-width:430px;margin-bottom:24px}.hero-meta{font-size:11px;margin-top:18px}.hero .button{font-size:13px}.river-postcard{max-width:480px;width:calc(100% - 6px);justify-self:center;transform:rotate(1deg);padding:13px}.postcard-art{height:370px}.hero-mascot{height:303px;bottom:26px}.round-stamp{top:164px;left:20px;width:97px;height:97px}.postcard-fare{bottom:32px;width:100px;height:100px;right:18px}.postcard-fare strong{font-size:48px}.postcard-bottom{font-size:7px}.postcard-top{font-size:9px}.river-divider{height:24px}.experience{grid-template-columns:1fr;gap:27px;padding:48px 0 50px}.section-heading h2 br{display:none}h2{font-size:43px;letter-spacing:-1.5px}.eyebrow{font-size:9px;letter-spacing:1.5px;margin-bottom:15px}.experience-content>p{font-size:14px;margin-bottom:28px}.ride-facts{grid-template-columns:1fr;gap:22px}.ride-facts>div{display:grid;grid-template-columns:35px 1fr;gap:0 14px;border-top:1px solid var(--line);padding-top:16px}.fact-number{grid-row:span 2;padding:0;border:0;margin:0;font-size:14px}.ride-facts h3{margin-bottom:6px;font-size:14px}.ride-facts p{font-size:12px}.booking-section{padding:48px 0 50px}.booking-heading{display:block;margin-bottom:30px}.booking-heading>p{margin-top:20px;max-width:none;font-size:13px}.booking-heading>p br{display:none}.booking-grid{grid-template-columns:1fr;gap:32px}.fare-ticket{position:static;max-width:none}.booking-form legend{font-size:17px;margin-bottom:21px}.booking-form fieldset{padding:26px 0}.choice{padding:15px 14px}.choice small{font-size:10px}.choice strong{font-size:13px}.choice-arrow{font-size:20px}.field-grid{gap:16px}input:not([type=radio]),select,textarea{font-size:16px;padding:12px 10px}.field-grid label{font-size:11px}.optional-word,.required-word{font-size:9px}.field-hint{font-size:11px}.group-row{gap:12px}.stepper button{width:45px}.stepper input[type=number]{width:48px;font-size:20px}.seat-line{gap:10px}.seat-line>div{gap:6px}.seat-line>span{font-size:10px}.seat{width:12px;height:16px}.ticket-header{padding-top:27px}.ticket-body{padding:24px}.ticket-details{font-size:12px}.ticket-seam{margin-left:-24px;margin-right:-24px}.ticket-price strong{font-size:68px}.ticket-label h3{font-size:23px}.ticket-note p{font-size:11px}.ticket-price p{font-size:12px}.ticket-footer{font-size:8px}.enquiry-section{grid-template-columns:1fr;gap:26px;margin-top:40px;padding-top:38px}.enquiry-intro h2 br{display:none}.enquiry-intro>p:not(.eyebrow){max-width:none;font-size:13px;margin-top:18px}.enquiry-intro p.field-hint{font-size:11px;margin-top:10px}.enquiry-message{padding:16px}.enquiry-message textarea{font-size:16px;min-height:410px;line-height:1.7;padding:14px}.enquiry-actions{gap:10px}.enquiry-actions .button{font-size:12px;gap:18px}.before-you-go{grid-template-columns:1fr;padding:48px 0 55px;gap:28px}.before-you-go h2 br{display:none}.faq-list summary{font-size:13px;padding:20px 0}.faq-list details p{font-size:12px}.footer-inner{display:flex;flex-direction:column;align-items:flex-start;gap:20px}.footer-inner img{width:155px}.footer-inner p{font-size:21px}.footer-inner>span{font-size:8px}.footer-bottom{font-size:8px;gap:20px}.site-footer{padding-top:34px}.form-footnote{font-size:10px}}
@media(max-width:380px){.field-grid{grid-template-columns:1fr}.lower-fields{gap:19px}.seat-line{flex-direction:column;align-items:flex-start;gap:12px}.round-stamp{width:82px;height:82px;left:12px;top:184px}.postcard-fare{width:87px;height:87px;right:12px}.postcard-art{height:340px}.hero-mascot{height:280px}.arch-text{font-size:8px;letter-spacing:1.5px}.postcard-bottom{font-size:6px}.group-row{flex-wrap:wrap}.hero-meta{gap:10px}.button{gap:24px}.enquiry-actions{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
