:root{--bg:#121815;--surface:#1e2621;--dim:#a1aaa2;--white:#f0f2e9;--stroke:#404c42;--accent:#d6fa79;--dark:#101614}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{background:var(--bg);color:var(--white);margin:0;font-family:'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{display:block;width:100%;height:100%;object-fit:cover}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.skip{position:absolute;z-index:200;top:-80px;left:10px;padding:13px;background:#fff;color:#000}.skip:focus{top:12px}.topline{display:flex;justify-content:space-between;padding:9px 4vw;border-bottom:1px solid var(--stroke);font-size:9px;letter-spacing:.13em;color:var(--dim)}.header{height:89px;padding:0 4vw;display:flex;align-items:center;gap:30px;position:relative;z-index:35;border-bottom:1px solid #ffffff26;background:#121815}.logo{display:flex;gap:11px;align-items:center;font-family:'Barlow Condensed',sans-serif;font-size:27px;font-weight:800;letter-spacing:.04em;line-height:.78}.logo small{display:block;font:600 8px 'DM Sans',sans-serif;letter-spacing:.24em;margin-top:10px;color:#bac3b8}.emblem{display:grid;place-items:center;width:44px;height:44px;border:2px solid var(--accent);color:var(--accent);font-family:Arial;font-size:36px;line-height:1}.header nav{display:flex;gap:34px;margin:auto;font-size:10px;font-weight:700;letter-spacing:.16em}.header nav a:hover{color:var(--accent)}.header-book{font-size:10px;font-weight:800;letter-spacing:.1em;color:var(--accent);border:1px solid var(--accent);padding:18px;white-space:nowrap}.header-book span{margin-left:28px}.header-book:hover{background:var(--accent);color:#000}.hamburger{display:none;width:46px;height:46px;flex-shrink:0;border:1px solid var(--stroke);background:none;align-items:center;justify-content:center;flex-direction:column;gap:7px}.hamburger span{width:20px;height:1px;background:white}.hero{min-height:680px;height:min(850px,85svh);position:relative;background:#1e2a27;overflow:hidden}.hero-image,.hero-overlay{position:absolute;inset:0}.hero-image{background:url('https://images.unsplash.com/photo-1503376780353-7e6692767b70?w=2000&q=90&auto=format&fit=crop') center 57%/cover}.hero-overlay{background:linear-gradient(90deg,#0a0e0ce8 5%,#0a0e0c85 47%,#0a0e0c1a 100%),linear-gradient(0deg,#121815a8,transparent 35%)}.hero-inner{position:absolute;top:50%;left:6.5vw;max-width:760px;transform:translateY(-50%)}.kicker,.smallhead{font:700 10px 'DM Sans',sans-serif;letter-spacing:.19em;color:var(--accent);display:flex;align-items:center;gap:12px}.kicker-line{display:inline-block;background:var(--accent);width:25px;height:1px}.hero h1,h2{font-family:'Barlow Condensed',Impact,sans-serif;font-size:clamp(77px,10vw,156px);line-height:.82;letter-spacing:-.025em;font-weight:800;margin:31px 0 28px}.hero em,h2 em{color:var(--accent);font-style:normal}.hero p{color:#d1d8d0;line-height:1.8;max-width:405px;font-size:14px}.hero-actions{display:flex;align-items:center;gap:36px;margin-top:40px}.button{border:0;display:inline-flex;justify-content:space-between;align-items:center;gap:45px;padding:20px 25px;font-size:11px;font-weight:800;letter-spacing:.1em;min-height:55px}.button.neon{background:var(--accent);color:#142014}.button.neon:hover{background:#edffb7}.button span{font-size:16px}.text-link{border-bottom:1px solid #b0b6af;padding:16px 0;font-size:10px;font-weight:800;letter-spacing:.12em}.text-link span{margin-left:12px}.hero-bottom{position:absolute;bottom:30px;left:6.5vw;right:6.5vw;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.18em;color:#c9d0c5}.ticker{background:var(--accent);color:#1e2b1c;padding:18px 0;overflow:hidden;text-align:center;font:700 clamp(17px,2.5vw,33px) 'Barlow Condensed',sans-serif;white-space:nowrap;letter-spacing:.05em}.ticker b{font-size:.8em;margin:0 19px}.shell{padding:125px 6.5vw}.overview{display:grid;grid-template-columns:1.1fr .9fr;gap:10vw}.overview h2,.section-title h2,.booking h2,.faq h2{font-size:clamp(70px,7.5vw,124px);margin:28px 0}.overview-right{padding-top:52px}.overview-right>p{font-size:15px;color:#bfc8bf;line-height:2;max-width:510px}.statline{display:flex;gap:35px;border-top:1px solid var(--stroke);margin:38px 0 26px;padding-top:25px}.statline>div{flex:1}.statline strong{font:700 58px 'Barlow Condensed',sans-serif}.statline span{display:block;font-size:9px;letter-spacing:.11em;color:#a9b4a7}.overview-right small,.disclaimer{font-size:10px;color:#8e9a8d;line-height:1.5}.services{background:#19221c}.section-title{display:grid;grid-template-columns:30% 1fr;gap:15px;align-items:start;margin-bottom:50px}.section-title h2{margin:0}.section-title p{font-size:14px;color:#aeb9ae;line-height:1.7}.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.plan{background:#222b24;border:1px solid #39463c;padding:32px;display:flex;flex-direction:column;min-height:570px}.plan.highlighted{background:#293728;border-color:var(--accent)}.plan-tag{display:flex;justify-content:space-between;gap:10px;font-size:9px;letter-spacing:.12em;color:#b0bcb0}.plan-tag span{color:var(--accent)}.plan h3{font:800 clamp(34px,3.15vw,54px) 'Barlow Condensed',sans-serif;line-height:.9;margin:60px 0 15px}.plan-desc{font-size:12px;color:#bac4b9;line-height:1.8;max-width:235px}.plan-price{display:flex;align-items:baseline;gap:10px;border-bottom:1px solid var(--stroke);padding:20px 0}.plan-price strong{font:700 83px 'Barlow Condensed',sans-serif}.plan-price span{color:var(--accent);font-size:11px;letter-spacing:.05em}.plan ul{list-style:none;padding:0;margin:25px 0 34px;display:grid;gap:13px}.plan li{font-size:12px;color:#d3dad0}.plan li::before{content:'';color:var(--accent);margin-right:11px}.pick{margin-top:auto;display:flex;align-items:center;justify-content:space-between;width:100%;border:1px solid #8f9f86;background:transparent;color:var(--white);padding:17px 16px;font-size:10px;letter-spacing:.14em;font-weight:700}.pick:hover,.highlighted .pick{background:var(--accent);color:#142014;border-color:var(--accent)}.disclaimer{margin-top:22px}.gallery{background:#101713}.gallery-heading{padding-bottom:48px}.gallery-heading .smallhead{margin-bottom:28px}.gallery-heading h2{font-size:clamp(70px,7.5vw,120px);margin:0 0 25px}.gallery-heading p{max-width:520px;font-size:13px;line-height:1.7;color:#a8b3a9}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.gallery-item{position:relative;height:400px;background:#222;overflow:hidden}.gallery-item.wide{grid-column:1/-1;height:550px}.gallery-item img{opacity:.85;transition:transform .6s}.gallery-item:hover img{transform:scale(1.025)}.gallery-item span{position:absolute;bottom:22px;left:26px;font-size:10px;letter-spacing:.15em;color:white;background:#101713b8;padding:12px}.process .section-title{margin-bottom:58px}.process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}.process-grid article{border-top:1px solid var(--accent);padding-top:25px}.process-grid article>span{font:700 52px 'Barlow Condensed',sans-serif;color:var(--accent)}.process-grid h3{font:700 33px 'Barlow Condensed',sans-serif;margin:35px 0 12px}.process-grid p{font-size:12px;line-height:1.9;color:#afbcaf;max-width:245px}.booking{background:#dce6d5;color:#1c281f}.booking-layout{display:grid;grid-template-columns:1fr 1.07fr;gap:8vw}.booking .smallhead{color:#5e7651}.booking h2{font-size:clamp(70px,7.8vw,125px);margin:25px 0}.booking h2 em{color:#59704d}.booking-copy>p{line-height:1.9;max-width:345px;color:#59685b;font-size:13px}.booking-art{border-top:1px solid #9cac9a;margin-top:95px;min-height:180px;display:flex;justify-content:space-between;align-items:end;gap:10px}.art-stamp{font:100px Arial;color:#829776;line-height:1}.booking-art>span{font-size:9px;letter-spacing:.12em;font-weight:700}.booking-form{padding:37px;background:#f2f5eb;border:1px solid #cad4c5;box-shadow:10px 10px 0 #a4b5a0}.step-label{font:700 10px 'DM Sans',sans-serif;letter-spacing:.12em;margin:0 0 18px;display:flex;align-items:center;gap:12px}.step-label:not(:first-child){margin-top:32px}.step-label span{display:grid;place-items:center;width:27px;height:27px;background:#1e3222;color:var(--accent);font-size:10px}.package-options{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.package-options label{position:relative;cursor:pointer}.package-options input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer}.package-options label span{display:grid;gap:8px;border:1px solid #afbdac;padding:15px 9px;min-height:72px}.package-options label b{font:700 20px 'Barlow Condensed',sans-serif;text-transform:uppercase}.package-options label small{font-size:9px;color:#607461}.package-options input:checked+span{border-color:#243926;background:#d2e5bb;box-shadow:inset 0 0 0 1px #243926}.package-options input:focus-visible+span{outline:3px solid #688d42;outline-offset:2px}.date-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.date-row label,.vehicle-label{display:block;font-size:11px;font-weight:700;color:#4f6250}.date-row input,.date-row select,.vehicle-label input{width:100%;border:1px solid #b4c5b3;background:#fbfdf7;padding:14px 12px;font-size:13px;min-height:47px;display:block;margin-top:9px;border-radius:0;color:#1c281f}.vehicle-label{margin-top:15px}.booking-total{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #b9c7b5;margin-top:27px;padding-top:24px;gap:10px}.booking-total>span{font-size:10px;letter-spacing:.1em;font-weight:700}.booking-total strong{font:700 22px 'Barlow Condensed',sans-serif;text-align:right}.booking-total strong span{font-size:13px;color:#5e775b;margin-left:7px}.booking-submit{margin-top:21px;width:100%;background:#263d25!important;color:#efffbd!important}.booking-submit:hover{background:#405e35!important}.form-legal{font-size:10px;color:#607361;line-height:1.5}.faq{display:grid;grid-template-columns:1fr 1fr;gap:65px}.faq .section-title{display:block}.faq .section-title h2{margin:25px 0}.faqlist{align-self:center}.faqlist details{border-top:1px solid var(--stroke)}.faqlist details:last-child{border-bottom:1px solid var(--stroke)}.faqlist summary{list-style:none;cursor:pointer;padding:25px 0;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:13px;font-weight:700}.faqlist summary::-webkit-details-marker{display:none}.faqlist summary span{color:var(--accent);font-size:20px}.faqlist details[open] summary span{transform:rotate(45deg)}.faqlist p{font-size:12px;line-height:1.9;color:#aab7ab;padding:0 20px 22px 0;margin:0}footer{padding:65px 6.5vw 20px;background:#0a100c}.footer-top{display:flex;align-items:end;justify-content:space-between;gap:20px}.footer-mark{font:800 clamp(60px,12.8vw,230px) 'Barlow Condensed',sans-serif;letter-spacing:-.04em;line-height:.82}.footer-mark span{font:50px Arial;color:var(--accent);vertical-align:top}.footer-top p{color:var(--accent);font:700 19px 'Barlow Condensed',sans-serif}.footer-links{display:flex;gap:28px;margin-top:45px;font-size:10px;letter-spacing:.11em}.footer-links a{padding:10px 0}.footer-bottom{border-top:1px solid var(--stroke);margin-top:35px;padding-top:22px;display:flex;justify-content:space-between;gap:15px;color:#9ca89c;font-size:9px;letter-spacing:.08em}dialog{border:1px solid #abc49b;background:#e9f0e4;color:#1c291c;padding:38px;width:min(90vw,560px);box-shadow:0 20px 100px #0009}dialog::backdrop{background:#000a}dialog .smallhead{color:#597a44}dialog h2{font-size:60px;margin:25px 0}dialog p{font-size:13px;line-height:1.7}dialog textarea{width:100%;resize:vertical;border:1px solid #9aac9b;background:#fff;color:#1c291c;padding:14px;font-size:12px;line-height:1.7;display:block;margin:20px 0}dialog .button{width:100%}.close{position:absolute;right:22px;top:20px;border:0;background:transparent;font-size:18px;padding:9px}
@media(max-width:1090px){.header nav{gap:17px}.header{padding:0 3vw;gap:15px}.shell{padding:100px 5vw}.plan{padding:25px;min-height:575px}.plan h3{font-size:37px}.section-title{grid-template-columns:25% 1fr}.booking-layout{gap:4vw}.booking-form{padding:25px}.footer-mark{font-size:11.5vw}}@media(max-width:780px){.topline{padding:8px 16px}.topline span:nth-child(2){display:none}.header{height:73px;padding:0 20px;justify-content:space-between}.header nav{display:none;position:absolute;left:0;right:0;top:73px;padding:15px 20px 25px;background:#121815;flex-direction:column;gap:0;border-bottom:1px solid var(--stroke);box-shadow:0 20px 28px #0008}.header nav.open{display:flex}.header nav a{padding:17px 8px;border-bottom:1px solid var(--stroke);font-size:13px}.header-book{display:none}.hamburger{display:flex}.hero{height:calc(100svh - 100px);min-height:640px;max-height:820px}.hero-image{background-position:60% center}.hero-overlay{background:linear-gradient(90deg,#0b100dea,#0b100d72 88%),linear-gradient(0deg,#101614b3,transparent 60%)}.hero-inner{left:6vw;right:6vw;top:49%}.hero h1{font-size:clamp(69px,13vw,111px)}.hero-bottom{left:6vw;right:6vw}.shell{padding:76px 6vw}.overview{grid-template-columns:1fr;gap:5px}.overview-right{padding-top:0}.overview h2,.section-title h2,.booking h2,.faq h2{font-size:clamp(65px,12vw,110px)}.section-title{grid-template-columns:1fr;gap:20px}.plans{grid-template-columns:1fr}.plan{min-height:auto;padding:29px}.plan h3{font-size:47px;margin:36px 0 12px}.plan ul{margin-bottom:30px}.plan-price strong{font-size:70px}.gallery-item.wide{height:400px}.gallery-item{height:280px}.process-grid{grid-template-columns:1fr 1fr;gap:32px}.booking-layout{grid-template-columns:1fr;gap:40px}.booking-art{display:none}.faq{grid-template-columns:1fr;gap:15px}.footer-mark{font-size:12vw}.footer-mark span{font-size:27px}.footer-top p{font-size:14px}}@media(max-width:450px){.hero h1{font-size:clamp(61px,14vw,79px)}.hero-actions{gap:14px;align-items:start;flex-direction:column;margin-top:28px}.hero p{font-size:13px}.hero-bottom{font-size:8px}.ticker{font-size:19px}.ticker b{margin:0 8px}.overview h2,.section-title h2,.booking h2,.faq h2{font-size:clamp(58px,13vw,75px)}.statline{gap:17px}.statline strong{font-size:48px}.gallery-grid{gap:6px}.gallery-item.wide{height:330px}.gallery-item{height:215px}.gallery-item span{left:9px;bottom:9px;padding:8px;font-size:8px}.process-grid{gap:18px}.process-grid h3{font-size:30px;margin:19px 0 7px}.booking-form{padding:18px;box-shadow:5px 5px 0 #a4b5a0}.date-row{grid-template-columns:1fr}.package-options{gap:5px}.package-options label span{padding:12px 5px}.package-options label b{font-size:17px}.package-options label small{font-size:8px}.booking-total strong{font-size:19px}.footer-top{align-items:start;flex-direction:column;gap:12px}.footer-mark{font-size:16vw}.footer-bottom{flex-direction:column}.footer-links{flex-wrap:wrap;gap:16px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
/* Keep booking grid children shrinkable on narrow screens. */
.booking-layout>*,.booking-form,.booking-copy{min-width:0}
@media(max-width:450px){.booking h2{font-size:clamp(52px,12vw,63px)}.booking-total{flex-wrap:wrap}}
.package-options{grid-template-columns:repeat(3,minmax(0,1fr))}.package-options label{min-width:0}.package-options label b{overflow-wrap:anywhere}
@media(max-width:450px){.process .section-title>*{min-width:0}.process .section-title h2{font-size:clamp(52px,12vw,63px)}}

/* Demo responsive QA: readable package choices and tiny phone support. */
@media (max-width: 450px) {
  .package-options,.plans {grid-template-columns: minmax(0, 1fr);}
  .plan {min-width:0;}
  .package-options label span {display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:52px;padding:12px 14px;}
  .package-options label b {font-size:17px;letter-spacing:.02em;white-space:nowrap;overflow-wrap:normal;}
  .package-options label small {font-size:10px;white-space:nowrap;}
}
@media (max-width: 359px) {
  .overview h2,.section-title h2,.faq h2 {font-size:clamp(45px,14vw,53px);}
  .section-title,.plans {grid-template-columns:minmax(0,1fr);}
  .plan {min-width:0;}
  .plan h3 {font-size:clamp(34px,11vw,42px);}
  .gallery-heading h2 {font-size:clamp(44px,13vw,52px);}
  .process-grid {grid-template-columns:minmax(0,1fr);}
  .process .section-title h2 {font-size:clamp(40px,12vw,46px);}
}
