@import url('https://fonts.googleapis.com/css2?family=Anuphan:wght@400;500;600;700&display=swap');
:root{--blue:#1949ff;--orange:#ff6235;--yellow:#f7df34;--green:#1d6e47;--ink:#11130f;--paper:#f5f1e8;--white:#fffdf7;--line:2px solid var(--ink);--display: "Anuphan",sans-serif;--brand: "Archivo Black","Anuphan",sans-serif;--alt: "Anuphan",sans-serif;--body: "Anuphan",sans-serif;--mono:"DM Mono","Anuphan",monospace}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-weight:600;overflow-x:hidden}
body.menu-open{overflow:hidden}
img{display:block;width:100%;height:100%;object-fit:cover}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{color:inherit}
.skip-link{position:fixed;top:8px;left:8px;z-index:999;transform:translateY(-160%);background:var(--yellow);border:2px solid;padding:10px 14px;font-family:var(--mono)}
.skip-link:focus{transform:none}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.demo-bar{height:42px;background:var(--ink);color:var(--white);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 22px;font:500 11px var(--mono);letter-spacing:.08em;position:relative;z-index:100}
.demo-picker{align-self:stretch;display:flex}
.demo-picker a{width:45px;display:grid;place-items:center;border-left:1px solid #555}
.demo-picker a:last-child{border-right:1px solid #555}.demo-picker .active{background:var(--yellow);color:var(--ink)}
.demo-contact{justify-self:end}.demo-contact:hover{color:var(--yellow)}
.site-header{height:82px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;background:var(--paper);border-bottom:var(--line);position:relative;z-index:90}
.brand{font:24px var(--brand);letter-spacing:-.04em}.brand span{color:var(--blue);font-size:30px}
.site-nav{display:flex;align-items:center;gap:28px;font:700 13px var(--alt)}
.site-nav>a:not(.nav-book):hover{color:var(--blue)}
.nav-book{padding:14px 19px;background:var(--orange);border:var(--line);box-shadow:4px 4px 0 var(--ink)}
.nav-book:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ink)}
.menu-toggle{display:none;background:none;border:0;font:700 12px var(--mono)}
.section-pad{padding:110px 5vw}.section-number,.eyebrow{font:500 12px var(--mono);letter-spacing:.08em}
h1,h2,h3,p{margin-top:0}.section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:55px}
.section-head h2,.promise h2,.timeline-title h2,.policy-intro h2{font:clamp(48px,7vw,108px)/.84 var(--display);letter-spacing:-.07em;margin:18px 0 0}
.section-head>p{max-width:420px;font-size:18px;line-height:1.55;margin-bottom:0}
.sharp-tag{display:inline-block;border:2px solid;padding:8px 12px;font:500 11px var(--mono);box-shadow:3px 3px 0 var(--ink)}.sharp-tag.blue{background:var(--blue);color:white}.sharp-tag.yellow{background:var(--yellow)}.sharp-tag.orange{background:var(--orange)}
.button{display:inline-flex;align-items:center;justify-content:space-between;min-width:230px;padding:18px 20px;border:var(--line);font:700 14px var(--alt);box-shadow:5px 5px 0 var(--ink);transition:.2s}.button:hover{transform:translate(3px,3px);box-shadow:2px 2px 0 var(--ink)}.button-yellow{background:var(--yellow)}

.hero{position:relative;background:var(--blue);color:var(--white);display:grid;grid-template-columns:52% 48%;min-height:calc(100svh - 124px);padding-bottom:40px}
.hero-copy{padding:7vh 3vw 10vh 5vw;position:relative;z-index:2}
.hero h1{font:700 clamp(42px,7vw,96px)/1.05 var(--display);letter-spacing:-.03em;margin:4vh 0 35px}
.hero h1 em{font-style:normal;color:var(--yellow);-webkit-text-stroke:2px var(--ink);text-shadow:5px 5px 0 var(--ink)}
.hero-lead{font-size:clamp(18px,1.6vw,25px);line-height:1.45;max-width:620px}
.hero-actions{display:flex;align-items:center;gap:30px;margin-top:40px}.availability{font:500 11px var(--mono)}.availability b{display:inline-block;width:9px;height:9px;background:var(--yellow);border-radius:50%;margin-right:8px;animation:pulse 1.8s infinite}
.hero-visual{position:relative;min-height:650px;padding:4vh 4vw 8vh 0}
.hero-image{height:100%;margin:0;border:3px solid var(--ink);transform:rotate(1.7deg);box-shadow:10px 10px 0 var(--ink)}
.sticker{position:absolute;color:var(--ink);border:3px solid var(--ink);font:18px/1.05 var(--display);padding:18px;z-index:2;box-shadow:5px 5px 0 var(--ink)}
.sticker-top{right:1vw;top:9vh;background:var(--yellow);transform:rotate(6deg)}.sticker-bottom{left:-35px;bottom:7vh;background:var(--orange);transform:rotate(-5deg)}
.route-arrow{position:absolute;right:7%;bottom:4%;width:190px;overflow:visible}.route-arrow path{fill:none;stroke:var(--yellow);stroke-width:7;stroke-linecap:square}
.hero-ticker{position:absolute;bottom:0;left:0;width:100%;height:42px;background:var(--yellow);color:var(--ink);border-block:2px solid var(--ink);overflow:hidden;font:500 12px/38px var(--mono);white-space:nowrap}.hero-ticker div{width:max-content;animation:ticker 25s linear infinite}

.promise{background:var(--paper);overflow:hidden}.promise h2 span{color:var(--orange)}.promise-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:8vw;margin-top:70px}.big-copy{font:700 clamp(28px,3.2vw,48px)/1.12 var(--alt);letter-spacing:-.04em}.promise-points p{display:grid;grid-template-columns:55px 1fr;border-top:var(--line);padding:22px 0;margin:0}.promise-points b{font:500 12px var(--mono)}.promise-points span{display:grid;grid-template-columns:190px 1fr;gap:20px;line-height:1.5}.promise-points strong{font-family:var(--display);font-weight:700}

.weekends{background:var(--yellow);border-block:var(--line)}.event-list{border-top:3px solid var(--ink)}.event-row{display:grid;grid-template-columns:55px 1.2fr 1fr 170px 60px;align-items:center;gap:25px;min-height:235px;border-bottom:3px solid var(--ink);padding:30px 25px;position:relative}.event-row:hover{background:var(--white)}.event-index{font:500 12px var(--mono);align-self:start}.event-title h3{font:clamp(42px,5vw,78px)/.82 var(--display);letter-spacing:-.06em;margin:22px 0 0}.event-meta{line-height:1.5}.event-meta b{font:500 11px var(--mono)}.event-price small,.event-price span{display:block;font:500 10px var(--mono)}.event-price strong{font:28px var(--display)}.event-row>a{font-size:42px;border:2px solid;width:55px;height:55px;display:grid;place-items:center}.event-row>a:hover{background:var(--blue);color:white}.orange-row:hover{background:var(--orange)}.green-row:hover{background:var(--green);color:white}

.vibes{background:var(--paper)}.vibe-board{display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:340px 300px;gap:16px}.vibe{border:3px solid var(--ink);padding:30px;display:flex;flex-direction:column;box-shadow:6px 6px 0 var(--ink);transition:.2s}.vibe:hover{transform:translate(-3px,-3px);box-shadow:10px 10px 0 var(--ink)}.vibe>span,.vibe>b{font:500 11px var(--mono)}.vibe h3{font:clamp(37px,4vw,65px)/.86 var(--display);letter-spacing:-.06em;margin:30px 0 16px}.vibe p{line-height:1.45;max-width:370px}.vibe b{margin-top:auto}.fire{grid-column:1/8;background:var(--orange)}.movie{grid-column:8/13;background:var(--blue);color:white}.hike{grid-column:1/6;background:var(--green);color:white}.make{grid-column:6/13;background:var(--yellow)}

.stay{background:var(--green);color:white;display:grid;grid-template-columns:1fr 1fr;gap:6vw}.stay-image{position:relative;min-height:800px}.stay-image img{border:3px solid var(--ink);box-shadow:10px 10px 0 var(--yellow)}.photo-note{position:absolute;bottom:25px;left:-25px;background:var(--yellow);color:var(--ink);border:3px solid var(--ink);padding:14px 18px;font:500 12px var(--mono);transform:rotate(-3deg)}.stay-copy h2{font:clamp(52px,6vw,95px)/.85 var(--display);letter-spacing:-.07em;margin:22px 0 55px}.stay-copy h2 span{color:var(--yellow)}.stay-options{border-top:2px solid}.stay-options article{display:grid;grid-template-columns:45px 1fr auto;gap:15px;padding:25px 0;border-bottom:2px solid;align-items:start}.stay-options article>span{font:500 11px var(--mono)}.stay-options h3{font:700 22px var(--display);margin-bottom:8px}.stay-options p{font-size:14px;line-height:1.5;margin:0}.stay-options b{font:500 12px var(--mono);color:var(--yellow)}.addons{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}.addons>*{border:1px solid;padding:8px 10px;font:500 10px var(--mono)}.addons strong{background:var(--yellow);color:var(--ink)}

.groups{background:var(--blue);color:white}.tier-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.tier{border:3px solid var(--ink);background:var(--paper);color:var(--ink);padding:30px;box-shadow:8px 8px 0 var(--ink);display:flex;flex-direction:column;min-height:560px}.tier.featured{background:var(--yellow);transform:translateY(-25px)}.tier h3{font:clamp(38px,4vw,62px)/.9 var(--display);letter-spacing:-.06em;margin:35px 0 10px}.tier-price{font:36px var(--display);border-bottom:2px solid;padding-bottom:20px}.tier-price small{font:500 10px var(--mono)}.tier ul{padding:0;list-style:none;margin:0 0 30px}.tier li{padding:12px 0;border-bottom:1px solid;font-size:14px}.tier li:before{content:"→";margin-right:10px}.tier a{background:var(--ink);color:white;padding:16px;text-align:center;font:500 12px var(--mono);margin-top:auto}.tier a:hover{background:var(--orange);color:var(--ink)}

.timeline{background:var(--paper)}.timeline-title{display:flex;align-items:end;justify-content:space-between;margin-bottom:80px}.timeline-title h2 span{color:var(--blue)}.timeline-track{display:grid;grid-template-columns:repeat(6,1fr);border-top:4px solid;position:relative}.timeline-track article{padding:35px 22px 10px 0;border-right:1px solid;min-height:240px}.timeline-track article:before{content:"";position:absolute;width:14px;height:14px;background:var(--orange);border:2px solid;transform:translateY(-44px)}.timeline-track time{font:500 10px var(--mono)}.timeline-track h3{font:22px var(--display);margin:25px 0 12px}.timeline-track p{font-size:13px;line-height:1.5;padding-right:12px}

.gallery{display:grid;grid-template-columns:1.2fr .8fr 1fr;grid-template-rows:280px 330px;background:var(--orange);padding:4vw;gap:18px;border-block:var(--line);position:relative}.gallery figure{margin:0;border:3px solid;box-shadow:7px 7px 0 var(--ink)}.gallery-a{grid-row:1/3}.gallery-b{grid-column:2/4;grid-row:2}.gallery-type{grid-column:2/4;font:clamp(55px,8vw,125px)/.76 var(--display);letter-spacing:-.08em;align-self:end}.gallery-type span{color:var(--yellow);text-shadow:3px 3px 0 var(--ink)}.gallery-stamp{position:absolute;right:5%;top:34%;background:var(--yellow);border:3px solid;padding:20px;font:35px/1 var(--display);text-align:center;transform:rotate(8deg);box-shadow:5px 5px 0}.gallery-stamp small{font:500 9px var(--mono)}

.policies{display:grid;grid-template-columns:1fr 1fr;gap:8vw;background:var(--yellow)}.policy-intro h2 span{color:var(--blue)}.policy-grid{border-top:3px solid}.policy-grid details{border-bottom:3px solid}.policy-grid summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;padding:27px 0;font:20px var(--display)}.policy-grid summary::-webkit-details-marker{display:none}.policy-grid summary span{font:30px/20px var(--mono);transition:.2s}.policy-grid details[open] summary span{transform:rotate(45deg)}.policy-grid details p{line-height:1.6;padding:0 40px 25px 0}

.testimonials{background:var(--orange);display:grid;grid-template-columns:140px 1fr;position:relative}.quote-mark{font:220px/1 var(--display);color:var(--yellow)}.quotes{max-width:1000px}.quote{display:none;margin:0}.quote.active{display:block;animation:quoteIn .45s ease}.quote blockquote{font:700 clamp(32px,4.8vw,72px)/1.03 var(--alt);letter-spacing:-.05em;margin:0}.quote figcaption{margin-top:35px;font:500 12px var(--mono)}.quote-controls{grid-column:2;display:flex;align-items:center;gap:18px;margin-top:35px}.quote-controls button{width:50px;height:45px;border:2px solid;background:transparent;font-size:22px;cursor:pointer}.quote-controls button:hover{background:var(--yellow)}

.booking{background:var(--paper);display:grid;grid-template-columns:.7fr 1.3fr;gap:8vw}.booking-intro{position:sticky;top:35px;align-self:start}.booking-intro h2{font:clamp(65px,8vw,130px)/.79 var(--display);letter-spacing:-.08em;margin:25px 0 35px;color:var(--blue)}.booking-intro>p{font-size:18px;line-height:1.6;max-width:440px}.contact-note{display:flex;flex-direction:column;border-top:2px solid;padding-top:25px;margin-top:55px;gap:10px;font:500 12px var(--mono)}.contact-note a:hover{color:var(--blue)}.booking-form{border:3px solid;padding:38px;background:var(--yellow);box-shadow:10px 10px 0 var(--ink)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px 22px}.booking-form label>span,.booking-form legend{display:block;font:500 10px var(--mono);text-transform:uppercase;margin-bottom:8px}.booking-form input:not([type=checkbox]):not([type=radio]),.booking-form select,.booking-form textarea{width:100%;background:transparent;border:0;border-bottom:2px solid;border-radius:0;padding:10px 2px;font:700 15px var(--alt);color:var(--ink);outline:none}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{background:rgba(255,255,255,.55);box-shadow:0 3px 0 var(--blue)}.booking-form fieldset{border:0;border-top:2px solid;margin:35px 0 0;padding:20px 0 0}.choice-row{display:flex;flex-wrap:wrap;gap:8px}.choice-row label{cursor:pointer}.choice-row input{position:absolute;opacity:0}.choice-row label span{border:2px solid;padding:10px 12px;margin:0}.choice-row input:checked+span{background:var(--blue);color:white;box-shadow:3px 3px 0 var(--ink)}.choice-row input:focus-visible+span{outline:3px solid var(--orange);outline-offset:2px}.full-label{display:block;margin-top:30px}.form-footer{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:30px}.consent{display:flex;align-items:center;gap:8px;font-size:12px}.consent span{margin:0!important}.submit-button{border:3px solid;background:var(--orange);padding:20px;min-width:250px;display:flex;justify-content:space-between;cursor:pointer;font:16px var(--display);box-shadow:5px 5px 0}.submit-button:hover{transform:translate(3px,3px);box-shadow:2px 2px 0}.form-status{font:500 11px var(--mono);margin:18px 0 0;color:#9b2110}

.site-footer{background:var(--ink);color:white;padding:80px 5vw 25px;display:grid;grid-template-columns:2fr repeat(3,1fr);gap:40px}.footer-brand{font:clamp(70px,9vw,135px)/.65 var(--brand);letter-spacing:-.06em;color:var(--yellow)}.footer-brand span{font-size:.27em;color:white;letter-spacing:.03em}.site-footer>div:not(.footer-brand):not(.footer-bottom){font-size:13px;line-height:1.6}.site-footer b{font:500 10px var(--mono);color:var(--yellow);display:block;margin-bottom:18px}.site-footer a{display:block}.site-footer a:hover{color:var(--yellow)}.mail-form{display:flex;border-bottom:1px solid}.mail-form input{background:none;border:0;color:white;width:100%;padding:10px 0;font:500 11px var(--mono);outline:none}.mail-form button{background:none;color:var(--yellow);border:0;font-size:20px;cursor:pointer}.footer-bottom{grid-column:1/-1;border-top:1px solid #555;padding-top:20px;margin-top:50px;display:flex;justify-content:space-between;font:500 9px var(--mono)}
.alert{position:fixed;right:25px;bottom:25px;z-index:200;background:var(--yellow);border:3px solid var(--ink);box-shadow:7px 7px 0 var(--ink);padding:22px 55px 22px 22px;max-width:420px;transform:translateY(180%);transition:.35s}.alert.show{transform:none}.alert strong,.alert span{display:block}.alert strong{font-family:var(--display);margin-bottom:6px}.alert span{font-size:12px}.alert button{position:absolute;right:12px;top:8px;background:0;border:0;font-size:25px;cursor:pointer}
.reveal{opacity:0;transform:translateY(35px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}
@keyframes ticker{to{transform:translateX(-50%)}}@keyframes pulse{50%{transform:scale(1.5)}}@keyframes quoteIn{from{opacity:0;transform:translateY(12px)}} 

@media(max-width:1000px){
  .site-nav{position:fixed;inset:124px 0 0;background:var(--yellow);display:none;flex-direction:column;align-items:stretch;padding:45px 7vw;gap:0}.site-nav.open{display:flex}.site-nav a{font:clamp(30px,7vw,65px) var(--display);padding:15px 0;border-bottom:2px solid}.nav-book{box-shadow:none;background:var(--orange)}.menu-toggle{display:flex;align-items:center;gap:10px}.menu-toggle i,.menu-toggle i:after{content:"";display:block;width:26px;height:3px;background:var(--ink);transition:.2s}.menu-toggle i:after{transform:translateY(7px)}.menu-toggle[aria-expanded=true] i{transform:rotate(45deg)}.menu-toggle[aria-expanded=true] i:after{transform:rotate(90deg)}
  .hero{grid-template-columns:1fr}.hero-copy{padding-bottom:5vh}.hero-visual{height:70vh;padding:0 5vw 10vh}.hero h1{font-size:clamp(55px,13vw,110px)}.promise-grid,.stay,.policies,.booking{grid-template-columns:1fr}.event-row{grid-template-columns:40px 1.2fr 1fr 60px}.event-price{display:none}.tier-grid{grid-template-columns:1fr}.tier.featured{transform:none}.timeline-track{grid-template-columns:repeat(3,1fr);row-gap:45px}.booking-intro{position:static}.gallery{grid-template-rows:230px 280px}.stay-image{min-height:600px}.site-footer{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}
}
@media(max-width:650px){
  .demo-bar{grid-template-columns:1fr auto;padding:0 12px}.demo-label{display:none}.demo-picker{order:2}.demo-contact{justify-self:start;font-size:9px}.site-header{height:68px;padding:0 18px}.brand{font-size:18px}.brand span{font-size:23px}.site-nav{inset:110px 0 0}
  .section-pad{padding:75px 20px}.section-head{display:block}.section-head>p{margin-top:28px}.hero{min-height:auto}.hero-copy{padding:50px 20px 30px}.hero .eyebrow{font-size:9px}.hero h1{font-size:15vw;margin:35px 0 28px}.hero h1 em{-webkit-text-stroke:1px var(--ink);text-shadow:3px 3px 0 var(--ink)}.hero-lead{font-size:16px}.hero-actions{align-items:flex-start;flex-direction:column}.hero-visual{height:58vh;min-height:470px;padding:0 20px 80px}.sticker{font-size:13px}.sticker-top{right:8px}.sticker-bottom{left:10px}.route-arrow{width:130px}
  .promise-grid{display:block;margin-top:40px}.promise-points{margin-top:45px}.promise-points span{display:block}.promise-points strong{display:block;margin-bottom:6px}.event-row{grid-template-columns:30px 1fr 50px;gap:10px;padding:25px 8px}.event-title h3{font-size:42px}.event-meta{grid-column:2/4}.event-row>a{grid-column:3;grid-row:1;width:45px;height:45px;font-size:30px}.vibe-board{display:flex;flex-direction:column}.vibe{min-height:300px}.stay{gap:55px}.stay-image{min-height:460px}.stay-options article{grid-template-columns:30px 1fr}.stay-options article>b{grid-column:2}.groups .section-head{margin-bottom:70px}.tier{min-height:520px}.timeline-title{display:block}.timeline-track{grid-template-columns:1fr;border-top:0;border-left:4px solid;margin-left:8px}.timeline-track article{min-height:160px;padding:0 10px 25px 35px;border-right:0}.timeline-track article:before{transform:translate(-45px,0)}.gallery{grid-template-columns:1fr 1fr;grid-template-rows:310px 200px 250px}.gallery-a{grid-column:1/3;grid-row:1}.gallery-type{grid-column:1/3;grid-row:2;font-size:58px}.gallery-b{grid-column:1/3;grid-row:3}.gallery-stamp{top:45%}.policies{gap:60px}.testimonials{grid-template-columns:1fr}.quote-mark{font-size:120px;height:90px}.quote-controls{grid-column:1}.booking-form{padding:25px 18px}.form-grid{grid-template-columns:1fr}.form-footer{align-items:stretch;flex-direction:column}.submit-button{width:100%}.site-footer{grid-template-columns:1fr}.footer-brand{grid-column:auto}.footer-bottom{display:grid;gap:10px}.alert{left:15px;right:15px;bottom:15px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
