
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --ink:#060d0a;--deep:#0d1810;--moss:#2d4a36;
  --sage:#4a7a5a;--mist:#8bb89a;--gold:#c9a84c;
  --amber:#e8b84a;--fire:#e85a2a;--dawn:#d4896a;--cream:#f0ece2;
}
html{scroll-behavior:smooth;-webkit-tap-highlight-color:transparent;}
body{font-family:'Inter',sans-serif;background:var(--ink);color:var(--cream);overflow-x:hidden;padding-bottom:env(safe-area-inset-bottom,20px);}

#hero-canvas{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:0;pointer-events:none;}

/* LOADER */
#loader{position:fixed;inset:0;z-index:9999;background:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;transition:opacity 0.8s ease;}
.loader-tent{font-size:3rem;animation:lbounce 1.2s ease-in-out infinite;}
@keyframes lbounce{0%,100%{transform:translateY(0);}50%{transform:translateY(-12px);}}
.loader-bar{width:160px;height:2px;background:rgba(240,236,226,0.1);border-radius:2px;overflow:hidden;}
.loader-fill{height:100%;background:linear-gradient(to right,var(--gold),var(--amber));border-radius:2px;width:0%;transition:width 0.08s linear;}
.loader-txt{font-size:0.63rem;letter-spacing:0.2em;text-transform:uppercase;color:rgba(240,236,226,0.3);}

/* NAV */
nav.topnav{position:fixed;top:env(safe-area-inset-top,0px);left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;transition:background 0.4s,backdrop-filter 0.4s;}
nav.topnav.sc{background:rgba(6,13,10,0.88);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(232,184,74,0.1);}
.logo{font-family:'Cormorant Garamond',serif;font-size:1.45rem;font-weight:600;color:var(--amber);letter-spacing:0.04em;text-decoration:none;display:flex;align-items:center;gap:0.4rem;opacity:0;animation:fadeIn 1s 2s ease forwards;}
.logo-ring{width:28px;height:28px;border-radius:50%;border:1.5px solid var(--amber);display:flex;align-items:center;justify-content:center;font-size:0.78rem;}
.nav-right{display:flex;gap:0.5rem;opacity:0;animation:fadeIn 1s 2.2s ease forwards;}
.nav-btn-icon{width:36px;height:36px;border-radius:50%;background:rgba(240,236,226,0.07);border:1px solid rgba(240,236,226,0.1);display:flex;align-items:center;justify-content:center;font-size:0.9rem;cursor:pointer;}
.nav-btn-icon:active{background:rgba(232,184,74,0.15);}

/* HERO */
.hero{position:relative;z-index:10;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;padding:0 1.25rem 2rem;pointer-events:none;}
.hero *{pointer-events:auto;}
.aurora-wrap{position:absolute;inset:0;overflow:hidden;pointer-events:none;}
.ablob{position:absolute;border-radius:50%;filter:blur(60px);mix-blend-mode:screen;animation:bfloat var(--d,10s) ease-in-out infinite alternate;}
@keyframes bfloat{0%{transform:translate(0,0) scale(1);opacity:var(--a0,0.5);}100%{transform:translate(var(--tx,5%),var(--ty,4%)) scale(var(--s,1.1));opacity:var(--a1,0.9);}}
.tent-hero{position:absolute;bottom:0;right:0;width:210px;opacity:0.13;animation:tsway 7s ease-in-out infinite;transform-origin:bottom center;}
@keyframes tsway{0%,100%{transform:translateY(0);}50%{transform:translateY(-6px);}}
.grd-mist{position:absolute;bottom:0;left:0;right:0;height:130px;background:linear-gradient(to top,rgba(45,74,54,0.2) 0%,transparent 100%);pointer-events:none;}

.hero-eye{font-size:0.62rem;font-weight:500;letter-spacing:0.22em;text-transform:uppercase;color:var(--amber);margin-bottom:1rem;display:flex;align-items:center;gap:0.7rem;opacity:0;animation:slideUp 1s 1.8s ease forwards;}
.hero-eye::before{content:'';width:24px;height:1px;background:var(--amber);}
.hero-h1{font-family:'Cormorant Garamond',serif;font-size:clamp(3.2rem,15vw,5.5rem);font-weight:300;line-height:0.93;letter-spacing:-0.02em;color:var(--cream);opacity:0;animation:slideUp 1s 2s ease forwards;}
.hero-h1 strong{font-weight:700;font-style:italic;display:block;background:linear-gradient(120deg,var(--amber) 0%,var(--fire) 45%,var(--amber) 100%);background-size:200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:shim 5s 3s linear infinite;}
@keyframes shim{0%{background-position:0%;}100%{background-position:200%;}}
.hero-sub{font-size:0.85rem;font-weight:300;color:rgba(240,236,226,0.48);line-height:1.75;max-width:320px;margin:1.2rem 0 1.8rem;opacity:0;animation:slideUp 1s 2.2s ease forwards;}
.hero-cta{display:flex;flex-direction:column;gap:0.75rem;opacity:0;animation:slideUp 1s 2.4s ease forwards;}
.btn-fire{background:linear-gradient(135deg,var(--gold),var(--amber),var(--fire));background-size:200%;color:var(--ink);padding:1rem 1.5rem;border-radius:1rem;font-weight:700;font-size:0.92rem;text-align:center;text-decoration:none;display:block;letter-spacing:0.03em;box-shadow:0 0 30px rgba(232,90,42,0.25),0 4px 20px rgba(0,0,0,0.5);transition:transform 0.15s;animation:firebg 4s 3s ease-in-out infinite alternate;}
@keyframes firebg{0%{background-position:0% 50%;}100%{background-position:100% 50%;}}
.btn-fire:active{transform:scale(0.97);}
.btn-out{background:rgba(240,236,226,0.05);border:1px solid rgba(240,236,226,0.15);color:rgba(240,236,226,0.65);padding:0.85rem 1.5rem;border-radius:1rem;font-size:0.85rem;text-align:center;text-decoration:none;display:block;}
.btn-out:active{background:rgba(240,236,226,0.1);}
.hero-stats{display:flex;margin-top:1.2rem;background:rgba(6,13,10,0.72);backdrop-filter:blur(14px);border:1px solid rgba(240,236,226,0.07);border-radius:1rem;overflow:hidden;opacity:0;animation:slideUp 1s 2.6s ease forwards;}
.hst{flex:1;padding:0.85rem 0.5rem;text-align:center;border-right:1px solid rgba(240,236,226,0.05);}
.hst:last-child{border-right:none;}
.hst-n{font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-weight:600;color:var(--cream);line-height:1;}
.hst-n b{color:var(--amber);}
.hst-l{font-size:0.57rem;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:rgba(240,236,226,0.3);margin-top:0.2rem;}
.scroll-hint{position:absolute;bottom:5.5rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:0.4rem;opacity:0;animation:fadeIn 1s 3.2s ease forwards;pointer-events:none;}
.sh-line{width:1px;height:44px;background:linear-gradient(to bottom,transparent,var(--amber),transparent);animation:spulse 2s 3s ease-in-out infinite;}
@keyframes spulse{0%,100%{opacity:0.2;transform:scaleY(0.6);}50%{opacity:0.8;transform:scaleY(1);}}
.sh-lbl{font-size:0.55rem;letter-spacing:0.2em;text-transform:uppercase;color:rgba(240,236,226,0.22);}

/* MAIN */
main{position:relative;z-index:10;padding-bottom:calc(76px + env(safe-area-inset-bottom,0px));}
.sec{padding:2.5rem 1.25rem;}
.bg-d{background:rgba(13,24,16,0.97);}
.bg-i{background:rgba(6,13,10,0.97);}
.eye{font-size:0.6rem;font-weight:500;letter-spacing:0.2em;text-transform:uppercase;color:var(--amber);margin-bottom:0.5rem;display:flex;align-items:center;gap:0.6rem;}
.eye::after{content:'';flex:1;max-width:36px;height:1px;background:linear-gradient(to right,var(--amber),transparent);}
.ttl{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,9vw,2.8rem);font-weight:300;line-height:1.05;color:var(--cream);}
.ttl em{font-style:italic;color:var(--mist);}

/* CAMPFIRE */
.fire-wrap{position:relative;width:100%;height:210px;display:flex;align-items:flex-end;justify-content:center;margin:2rem 0 1rem;overflow:hidden;}
.logs{position:absolute;bottom:18px;}
.log{position:absolute;height:10px;border-radius:5px;background:linear-gradient(to right,#3a1f0a,#5c3012,#3a1f0a);}
.log:nth-child(1){width:80px;bottom:0;left:0;}
.log:nth-child(2){width:65px;bottom:6px;left:8px;transform:rotate(-8deg);}
.log:nth-child(3){width:65px;bottom:6px;left:6px;transform:rotate(8deg);}
.flames{position:absolute;bottom:30px;display:flex;gap:2px;align-items:flex-end;}
.fl{border-radius:50% 50% 20% 20%;transform-origin:bottom center;filter:blur(1.5px);}
.fl1{width:18px;height:55px;background:radial-gradient(ellipse at 50% 100%,#ffdd44,#ff8800,transparent);animation:fk1 0.7s ease-in-out infinite alternate;}
.fl2{width:24px;height:72px;background:radial-gradient(ellipse at 50% 100%,#ffee66,#ff5500,transparent);animation:fk2 0.9s ease-in-out infinite alternate;}
.fl3{width:18px;height:55px;background:radial-gradient(ellipse at 50% 100%,#ffdd44,#ff8800,transparent);animation:fk3 0.6s ease-in-out infinite alternate;}
.fl4{width:14px;height:42px;background:radial-gradient(ellipse at 50% 100%,#fff8,#ffaa22,transparent);animation:fk1 0.5s 0.1s ease-in-out infinite alternate;}
.fl5{width:20px;height:62px;background:radial-gradient(ellipse at 50% 100%,#ffee44,#ff4400,transparent);animation:fk2 0.8s 0.2s ease-in-out infinite alternate;}
@keyframes fk1{0%{transform:scaleX(1) scaleY(1) rotate(-3deg);opacity:.9;}100%{transform:scaleX(0.8) scaleY(1.15) rotate(4deg);opacity:1;}}
@keyframes fk2{0%{transform:scaleX(1) scaleY(1) rotate(2deg);opacity:1;}100%{transform:scaleX(1.1) scaleY(.9) rotate(-3deg);opacity:.85;}}
@keyframes fk3{0%{transform:scaleX(.9) scaleY(1.1) rotate(-2deg);opacity:.95;}100%{transform:scaleX(1.1) scaleY(.95) rotate(5deg);opacity:1;}}
.embers-wrap{position:absolute;bottom:26px;width:100px;height:130px;}
.ember{position:absolute;width:3px;height:3px;border-radius:50%;background:var(--amber);animation:ember var(--d,2s) var(--dl,0s) ease-out infinite;left:var(--x,50%);}
@keyframes ember{0%{transform:translateY(0) translateX(0) scale(1);opacity:.9;}50%{opacity:.5;}100%{transform:translateY(-110px) translateX(var(--sw,12px)) scale(0);opacity:0;}}
.smk{position:absolute;border-radius:50%;background:rgba(180,200,190,0.1);filter:blur(5px);animation:smkr var(--sd,3s) var(--sdl,0s) ease-out infinite;}
@keyframes smkr{0%{transform:translateY(0) scale(0.4);opacity:.35;}100%{transform:translateY(-90px) scale(2.8) translateX(var(--ssw,10px));opacity:0;}}
.fire-glow{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:170px;height:55px;border-radius:50%;background:radial-gradient(ellipse,rgba(232,90,42,0.28) 0%,transparent 70%);filter:blur(8px);animation:gp 1.2s ease-in-out infinite alternate;}
@keyframes gp{0%{opacity:.6;transform:translateX(-50%) scale(.9);}100%{opacity:1;transform:translateX(-50%) scale(1.1);}}

/* CARDS SCROLL */
.card-scroll{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:1.5rem 0 0.5rem;margin:0 -1.25rem;padding-left:1.25rem;padding-right:1.25rem;}
.card-scroll::-webkit-scrollbar{display:none;}
.fcard{flex-shrink:0;width:72vw;max-width:280px;scroll-snap-align:start;border-radius:20px;overflow:hidden;position:relative;aspect-ratio:3/4;cursor:pointer;transition:transform 0.3s;}
.fcard:active{transform:scale(0.96);}
.fc-bg{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:5rem;transition:transform 0.5s;}
.fcard:active .fc-bg{transform:scale(1.07);}
.fc-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(4,8,6,.96) 0%,rgba(4,8,6,.25) 45%,transparent 70%);}
.fc-bd{position:absolute;bottom:0;left:0;right:0;padding:1.2rem;}
.fc-reg{font-size:0.6rem;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:var(--amber);margin-bottom:.3rem;}
.fc-nm{font-family:'Cormorant Garamond',serif;font-size:1.25rem;font-weight:600;color:var(--cream);line-height:1.2;margin-bottom:.6rem;}
.fc-chips{display:flex;gap:.3rem;flex-wrap:wrap;}
.fchip{font-size:.58rem;padding:.2rem .55rem;border-radius:2rem;background:rgba(240,236,226,.1);border:1px solid rgba(240,236,226,.12);color:rgba(240,236,226,.6);}
.fc-badge{position:absolute;top:.8rem;left:.8rem;background:var(--amber);color:var(--ink);font-size:.58rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.25rem .7rem;border-radius:2rem;}
.fc-star{position:absolute;top:.8rem;right:.8rem;background:rgba(6,13,10,.75);backdrop-filter:blur(8px);border:1px solid rgba(201,168,76,.3);padding:.25rem .6rem;border-radius:2rem;font-size:.68rem;color:var(--amber);font-weight:600;}

/* MAP */
.map-card{border-radius:20px;overflow:hidden;border:1px solid rgba(201,168,76,.12);margin-top:1.5rem;position:relative;min-height:240px;background:linear-gradient(135deg,#0a1810,#101f14);animation:mapglow 4s ease-in-out infinite alternate;}
@keyframes mapglow{0%{box-shadow:0 0 20px rgba(45,74,54,.15);}100%{box-shadow:0 0 50px rgba(45,74,54,.4);}}
.map-inner{width:100%;padding:1.5rem;display:flex;align-items:center;justify-content:center;}
.map-svg{width:80%;filter:drop-shadow(0 0 20px rgba(74,122,90,.65));}
.map-pins{position:absolute;inset:0;pointer-events:none;}
.mpin{position:absolute;transform:translate(-50%,-50%);}
.mring{width:8px;height:8px;border-radius:50%;border:1.5px solid var(--amber);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);animation:mpring 2.8s ease-out infinite;}
.mring:nth-child(2){animation-delay:.9s;}
@keyframes mpring{0%{width:6px;height:6px;opacity:1;}100%{width:36px;height:36px;opacity:0;}}
.mcore{width:7px;height:7px;border-radius:50%;background:var(--amber);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 10px var(--amber);z-index:2;}
.map-bot{position:absolute;bottom:0;left:0;right:0;background:rgba(6,13,10,.82);backdrop-filter:blur(10px);border-top:1px solid rgba(240,236,226,.06);padding:.85rem 1rem;display:flex;align-items:center;justify-content:space-between;}
.map-cta{font-size:.82rem;font-weight:500;color:var(--cream);}
.map-arr{width:34px;height:34px;border-radius:50%;background:var(--amber);color:var(--ink);display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:700;flex-shrink:0;}
.map-arr:active{transform:scale(.9);}

/* WEATHER */
.weather{border-radius:16px;background:linear-gradient(135deg,#0a1810,#0f2014);border:1px solid rgba(74,122,90,.2);padding:1.2rem;margin-top:1.25rem;position:relative;overflow:hidden;}
.cld-bg{position:absolute;top:.8rem;right:-16px;font-size:2rem;opacity:.05;animation:cdrift 12s linear infinite;}
@keyframes cdrift{0%{transform:translateX(0);}100%{transform:translateX(-220px);}}
.w-top{display:flex;justify-content:space-between;align-items:flex-start;}
.w-place{font-size:.73rem;color:rgba(240,236,226,.38);margin-bottom:.2rem;}
.w-temp{font-family:'Cormorant Garamond',serif;font-size:3rem;font-weight:300;color:var(--cream);line-height:1;}
.w-ico{font-size:2.5rem;animation:wsway 4s ease-in-out infinite;}
@keyframes wsway{0%,100%{transform:rotate(-5deg);}50%{transform:rotate(5deg);}}
.w-desc{font-size:.73rem;color:rgba(240,236,226,.38);margin-top:.25rem;}
.w-row{display:flex;gap:0;margin-top:1rem;background:rgba(240,236,226,.04);border-radius:10px;overflow:hidden;}
.w-day{flex:1;padding:.6rem 0;text-align:center;border-right:1px solid rgba(240,236,226,.04);}
.w-day:last-child{border-right:none;}
.wd-lbl{font-size:.58rem;color:rgba(240,236,226,.28);margin-bottom:.2rem;}
.wd-ico{font-size:1rem;}
.wd-t{font-size:.7rem;font-weight:500;color:var(--cream);}

/* LIST */
.camp-list{margin-top:1.25rem;}
.ci{display:flex;gap:.85rem;align-items:flex-start;padding:.9rem;border-radius:14px;background:rgba(17,25,22,.6);border:1px solid rgba(240,236,226,.05);margin-bottom:.65rem;cursor:pointer;transition:border-color .25s,transform .15s;}
.ci:active{transform:scale(.98);border-color:rgba(232,184,74,.2);}
.ci-img{width:76px;height:76px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:2.2rem;flex-shrink:0;}
.ci-body{flex:1;min-width:0;}
.ci-reg{font-size:.58rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--sage);margin-bottom:.18rem;}
.ci-nm{font-family:'Cormorant Garamond',serif;font-size:1rem;font-weight:600;color:var(--cream);line-height:1.25;margin-bottom:.35rem;}
.ci-chips{display:flex;gap:.28rem;flex-wrap:wrap;}
.ci-chip{font-size:.56rem;padding:.15rem .42rem;border-radius:4px;background:rgba(45,74,54,.3);border:1px solid rgba(74,122,90,.25);color:rgba(240,236,226,.45);}
.ci-foot{display:flex;justify-content:space-between;margin-top:.45rem;font-size:.7rem;}
.ci-price{color:var(--amber);font-weight:500;}
.ci-stars{color:var(--amber);}

/* REGION STRIP */
.rstrip{display:flex;gap:.5rem;overflow-x:auto;scrollbar-width:none;padding:1rem 0 .25rem;margin:0 -1.25rem;padding-left:1.25rem;padding-right:1.25rem;}
.rstrip::-webkit-scrollbar{display:none;}
.rpill{flex-shrink:0;padding:.5rem 1rem;border-radius:2rem;font-size:.72rem;font-weight:500;border:1px solid rgba(240,236,226,.1);color:rgba(240,236,226,.45);background:transparent;cursor:pointer;transition:all .2s;}
.rpill.active,.rpill:active{background:rgba(232,184,74,.12);border-color:var(--amber);color:var(--amber);}

/* NATURE QUOTE */
.nq{position:relative;overflow:hidden;padding:2.5rem 1.25rem;background:var(--deep);}
.nq-txt{font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-style:italic;font-weight:300;color:var(--cream);line-height:1.4;margin-bottom:1rem;}
.nq-txt span{color:var(--amber);}
.nq-auth{font-size:.68rem;font-weight:500;letter-spacing:.1em;color:rgba(240,236,226,.3);}
.tree-strip{position:absolute;bottom:0;left:0;right:0;height:56px;opacity:.1;}

/* BLOG */
.blog-list{margin-top:1.25rem;display:flex;flex-direction:column;gap:.85rem;}
.bcard{border-radius:16px;overflow:hidden;background:rgba(17,25,22,.6);border:1px solid rgba(240,236,226,.05);cursor:pointer;transition:border-color .2s;}
.bcard:active{border-color:rgba(232,184,74,.2);}
.bc-img{width:100%;height:150px;display:flex;align-items:center;justify-content:center;font-size:4rem;position:relative;overflow:hidden;}
.bc-img-in{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:4rem;transition:transform .5s;}
.bcard:active .bc-img-in{transform:scale(1.06);}
.bc-tag{position:absolute;top:.65rem;left:.65rem;font-size:.58rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.22rem .55rem;border-radius:4px;color:white;}
.bc-body{padding:.9rem 1rem 1rem;}
.bc-ttl{font-family:'Cormorant Garamond',serif;font-size:1.05rem;font-weight:600;color:var(--cream);line-height:1.35;margin-bottom:.35rem;transition:color .2s;}
.bcard:active .bc-ttl{color:var(--amber);}
.bc-meta{font-size:.65rem;color:rgba(240,236,226,.28);}

/* TAB BAR */
.tabbar{position:fixed;bottom:0;left:0;right:0;height:calc(68px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:rgba(6,13,10,.94);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-top:1px solid rgba(240,236,226,.06);display:flex;align-items:flex-start;justify-content:space-around;z-index:300;padding-top:.55rem;}
.tab{display:flex;flex-direction:column;align-items:center;gap:.18rem;flex:1;cursor:pointer;padding:.3rem 0;transition:transform .15s;}
.tab:active{transform:scale(.88);}
.tab-ico{font-size:1.3rem;transition:filter .2s,transform .25s;}
.tab.active .tab-ico{filter:drop-shadow(0 0 6px var(--amber));transform:translateY(-3px) scale(1.12);}
.tab-lbl{font-size:.58rem;font-weight:500;letter-spacing:.05em;color:rgba(240,236,226,.28);transition:color .2s;}
.tab.active .tab-lbl{color:var(--amber);}
.tab-dot{width:4px;height:4px;border-radius:50%;background:var(--amber);opacity:0;transition:opacity .2s;}
.tab.active .tab-dot{opacity:1;}

/* REVEAL */
.rev{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease;}
.rev.in{opacity:1;transform:translateY(0);}
.d1{transition-delay:.1s;}.d2{transition-delay:.2s;}.d3{transition-delay:.3s;}

@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
@keyframes slideUp{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}

.gb-f{background:linear-gradient(160deg,#0d2016,#162e1a);}
.gb-g{background:linear-gradient(160deg,#0d1a2a,#0f2232);}
.gb-l{background:linear-gradient(160deg,#2a1205,#1a0d05);}
.gb-fj{background:linear-gradient(160deg,#0d1e22,#0a1820);}
.gb-h{background:linear-gradient(160deg,#1a1405,#120e05);}
.gb-a{background:linear-gradient(160deg,#051a14,#0a2218);}


/* ── SECTION WRAPPERS ── */
.fp-section{position:relative;z-index:10;}
.fp-bg-deep{background:rgba(13,24,16,0.98);}
.fp-bg-ink{background:rgba(6,13,10,0.98);}
.fp-container{max-width:1280px;margin:0 auto;padding:0 1.25rem;}
.fp-eye{font-size:.65rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--amber);margin-bottom:.5rem;display:flex;align-items:center;gap:.6rem;}
.fp-eye::after{content:'';flex:1;max-width:40px;height:1px;background:linear-gradient(to right,var(--amber),transparent);}
.fp-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,5vw,3rem);font-weight:300;line-height:1.1;color:var(--cream);}
.fp-title em{font-style:italic;color:var(--mist);}
.fp-search-wrap{display:flex;gap:.6rem;flex-wrap:wrap;margin:1.5rem 0 0;max-width:600px;}
.fp-search-input{flex:1;min-width:180px;padding:.8rem 1.1rem;border-radius:.9rem;border:1.5px solid rgba(240,236,226,.15);background:rgba(6,13,10,.7);color:var(--cream);font-size:.88rem;font-family:inherit;backdrop-filter:blur(12px);}
.fp-search-input::placeholder{color:rgba(240,236,226,.35);}
.fp-search-input:focus{outline:none;border-color:var(--amber);}
.fp-search-select{padding:.8rem 1rem;border-radius:.9rem;border:1.5px solid rgba(240,236,226,.15);background:rgba(6,13,10,.8);color:var(--cream);font-size:.85rem;font-family:inherit;cursor:pointer;}
.fp-search-select option{background:#0d1810;}
.fp-search-btn{padding:.8rem 1.6rem;border-radius:.9rem;background:linear-gradient(135deg,var(--gold),var(--amber));color:var(--ink);font-weight:700;font-size:.88rem;border:none;cursor:pointer;white-space:nowrap;}
.fp-search-btn:hover{box-shadow:0 4px 20px rgba(232,184,74,.4);}
#fp-main-map{height:520px;border-radius:1.2rem;border:1px solid rgba(201,168,76,.15);overflow:hidden;}
.fp-map-filters{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.75rem;}
.fp-pill{padding:.45rem .95rem;border-radius:2rem;font-size:.75rem;font-weight:500;border:1px solid rgba(240,236,226,.12);color:rgba(240,236,226,.45);background:transparent;cursor:pointer;transition:all .2s;}
.fp-pill.active,.fp-pill:hover{background:rgba(232,184,74,.15);border-color:var(--amber);color:var(--amber);}
.fp-amenity-filter{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:.75rem;padding:.75rem 1rem;background:rgba(17,25,22,.8);border-radius:1rem;border:1px solid rgba(240,236,226,.06);}
.fp-amenity-filter label{display:flex;align-items:center;gap:.35rem;font-size:.72rem;color:rgba(240,236,226,.5);cursor:pointer;padding:.2rem .4rem;border-radius:.4rem;transition:all .2s;}
.fp-amenity-filter label:hover{color:var(--amber);}
.fp-amenity-filter input{accent-color:var(--amber);}
#fp-camp-panel{display:none;margin-top:1rem;background:rgba(13,24,16,.98);border:1px solid rgba(201,168,76,.2);border-radius:1.2rem;padding:1.25rem;position:relative;animation:panelIn .3s ease;}
@keyframes panelIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}
.fp-panel-close{position:absolute;top:.85rem;right:.85rem;background:rgba(240,236,226,.1);border:none;color:var(--cream);width:28px;height:28px;border-radius:50%;cursor:pointer;font-size:.9rem;}
.fp-panel-img{width:100%;height:200px;object-fit:cover;border-radius:.9rem;margin-bottom:.75rem;}
.fp-panel-region{font-size:.6rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--sage);margin-bottom:.2rem;}
.fp-panel-title{font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-weight:600;color:var(--cream);line-height:1.2;margin-bottom:.5rem;}
.fp-panel-meta{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;margin-bottom:.5rem;}
.fp-panel-price{font-size:1rem;font-weight:700;color:var(--amber);}
.fp-panel-info{font-size:.78rem;color:rgba(240,236,226,.45);margin-bottom:.3rem;}
.fp-panel-chips{display:flex;gap:.3rem;flex-wrap:wrap;margin:.5rem 0;}
.fp-panel-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.85rem;}
.fp-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-top:1.5rem;}
.fp-card{background:rgba(17,25,22,.8);border:1px solid rgba(240,236,226,.07);border-radius:1.2rem;overflow:hidden;cursor:pointer;transition:transform .3s,border-color .3s,box-shadow .3s;}
.fp-card:hover{transform:translateY(-5px);border-color:rgba(201,168,76,.3);box-shadow:0 12px 40px rgba(0,0,0,.4);}
.fp-card-img{width:100%;height:200px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.fp-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.fp-card:hover .fp-card-img img{transform:scale(1.06);}
.fp-card-img-ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:4rem;}
.fp-card-badge{position:absolute;top:.75rem;left:.75rem;background:var(--amber);color:var(--ink);font-size:.6rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.22rem .65rem;border-radius:2rem;}
.fp-card-star{position:absolute;top:.75rem;right:.75rem;background:rgba(6,13,10,.75);backdrop-filter:blur(8px);border:1px solid rgba(201,168,76,.3);padding:.22rem .6rem;border-radius:2rem;font-size:.7rem;color:var(--amber);font-weight:600;}
.fp-card-body{padding:1.1rem;}
.fp-card-region{font-size:.6rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--sage);margin-bottom:.25rem;}
.fp-card-title{font-family:'Cormorant Garamond',serif;font-size:1.15rem;font-weight:600;color:var(--cream);line-height:1.25;margin-bottom:.45rem;}
.fp-card-title a{color:inherit;text-decoration:none;}
.fp-card-title a:hover{color:var(--amber);}
.fp-card-excerpt{font-size:.78rem;color:rgba(240,236,226,.4);line-height:1.55;margin-bottom:.65rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.fp-card-chips{display:flex;gap:.3rem;flex-wrap:wrap;margin-bottom:.75rem;}
.fp-chip{font-size:.6rem;padding:.18rem .5rem;border-radius:4px;background:rgba(45,74,54,.3);border:1px solid rgba(74,122,90,.25);color:rgba(240,236,226,.5);}
.fp-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:.75rem;border-top:1px solid rgba(240,236,226,.06);font-size:.78rem;}
.fp-card-price{font-weight:600;color:var(--amber);}
.fp-card-open{color:rgba(240,236,226,.35);}
.fp-load-more{display:flex;justify-content:center;margin-top:2rem;}
.fp-load-more-btn{padding:.8rem 2.5rem;border-radius:2rem;border:1.5px solid var(--amber);background:transparent;color:var(--amber);font-weight:600;font-size:.88rem;cursor:pointer;transition:all .2s;}
.fp-load-more-btn:hover{background:rgba(232,184,74,.15);}
.fp-no-results,.fp-loading{padding:3rem;text-align:center;color:rgba(240,236,226,.3);font-size:.9rem;}
.fp-stars{color:var(--amber);letter-spacing:.04em;}
.fp-rating-cnt{font-size:.75em;color:rgba(240,236,226,.4);}
.fp-weather-card{background:linear-gradient(135deg,#0a1810,#0f2014);border-radius:.9rem;padding:.9rem;border:1px solid rgba(74,122,90,.2);margin:.5rem 0;}
.fp-wh{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.6rem;}
.fp-wtemp{font-family:'Cormorant Garamond',serif;font-size:2.2rem;font-weight:300;color:var(--cream);line-height:1;}
.fp-wdesc{font-size:.75rem;color:rgba(240,236,226,.45);margin-top:.2rem;}
.fp-wextra{font-size:.68rem;color:rgba(240,236,226,.3);margin-top:.15rem;}
.fp-wico{font-size:2.2rem;}
.fp-wfc{display:flex;border-top:1px solid rgba(240,236,226,.07);padding-top:.6rem;}
.fp-wday{flex:1;text-align:center;border-right:1px solid rgba(240,236,226,.05);padding:.25rem 0;}
.fp-wday:last-child{border-right:none;}
.fp-wdlbl{font-size:.58rem;color:rgba(240,236,226,.3);}
.fp-wdico{font-size:1rem;}
.fp-wdt{font-size:.7rem;font-weight:500;color:var(--cream);}
.fp-btn-primary{background:linear-gradient(135deg,var(--gold),var(--amber));color:var(--ink);padding:.6rem 1.3rem;border-radius:2rem;font-weight:700;font-size:.82rem;text-decoration:none;transition:box-shadow .2s;}
.fp-btn-primary:hover{box-shadow:0 4px 16px rgba(232,184,74,.4);}
.fp-btn-book{background:var(--moss);color:var(--cream)!important;padding:.6rem 1.1rem;border-radius:2rem;font-size:.82rem;font-weight:600;text-decoration:none;}
.fp-btn-weather{padding:.6rem 1rem;border-radius:2rem;border:1px solid var(--sage);background:transparent;color:var(--sage);font-size:.8rem;cursor:pointer;}
.fp-btn-weather:hover{background:rgba(74,122,90,.15);}
body.admin-bar #fp-main-map{height:calc(520px - 32px);}
main{padding-bottom:calc(75px + env(safe-area-inset-bottom,0px))!important;}
/* list filter bar */
.fp-list-bar{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin:1rem 0;}
.fp-list-bar select{padding:.5rem .9rem;border-radius:.8rem;border:1.5px solid rgba(240,236,226,.12);background:rgba(6,13,10,.8);color:var(--cream);font-size:.8rem;font-family:inherit;cursor:pointer;}
.fp-list-bar input[type=checkbox]{accent-color:var(--amber);}
.fp-list-bar label{display:flex;align-items:center;gap:.3rem;font-size:.78rem;color:rgba(240,236,226,.5);cursor:pointer;}
/* Reveal */
.fp-rev{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease;}
.fp-rev.fp-in{opacity:1;transform:translateY(0);}
.fp-d1{transition-delay:.1s;}.fp-d2{transition-delay:.2s;}.fp-d3{transition-delay:.3s;}
/* Marker CSS injected by JS */
.mpin{position:relative;width:30px;height:30px;display:flex;align-items:center;justify-content:center;}
.mring{position:absolute;border-radius:50%;border:2px solid #e8b84a;animation:mr 2.5s ease-out infinite;}
.mring:nth-child(2){animation-delay:.9s;}
@keyframes mr{0%{width:6px;height:6px;opacity:1;top:12px;left:12px}100%{width:30px;height:30px;opacity:0;top:0;left:0}}
.mcore{width:12px;height:12px;border-radius:50%;background:#e8b84a;z-index:2;box-shadow:0 0 8px #e8b84a;display:flex;align-items:center;justify-content:center;font-size:.6rem;}
.mpin-f .mcore{width:22px;height:22px;font-size:.85rem;}
.mpin-f .mring{border-color:#e85a2a;}
/* Nature quote */
.fp-nq{position:relative;overflow:hidden;padding:3rem 1.25rem;background:var(--deep);}
.fp-nq-txt{font-family:'Cormorant Garamond',serif;font-size:clamp(1.3rem,4vw,1.8rem);font-style:italic;font-weight:300;color:var(--cream);line-height:1.45;margin-bottom:.85rem;max-width:600px;}
.fp-nq-txt span{color:var(--amber);}
.fp-nq-auth{font-size:.7rem;font-weight:500;letter-spacing:.1em;color:rgba(240,236,226,.3);}
.fp-tree{position:absolute;bottom:0;left:0;right:0;height:56px;opacity:.08;}
/* Blog */
.fp-blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-top:2rem;}
.fp-blog-card{background:rgba(17,25,22,.8);border:1px solid rgba(240,236,226,.07);border-radius:1rem;overflow:hidden;cursor:pointer;transition:border-color .2s,transform .2s;}
.fp-blog-card:hover{border-color:rgba(201,168,76,.25);transform:translateY(-3px);}
.fp-blog-img{width:100%;height:160px;display:flex;align-items:center;justify-content:center;font-size:3.5rem;position:relative;overflow:hidden;}
.fp-blog-tag{position:absolute;top:.65rem;left:.65rem;font-size:.58rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.2rem .55rem;border-radius:4px;color:white;}
.fp-blog-body{padding:.9rem 1rem 1.1rem;}
.fp-blog-title{font-family:'Cormorant Garamond',serif;font-size:1rem;font-weight:600;color:var(--cream);line-height:1.35;margin-bottom:.35rem;}
.fp-blog-meta{font-size:.65rem;color:rgba(240,236,226,.28);}
.gb-f{background:linear-gradient(160deg,#0d2016,#162e1a);}
.gb-g{background:linear-gradient(160deg,#0d1a2a,#0f2232);}
.gb-l{background:linear-gradient(160deg,#2a1205,#1a0d05);}
.gb-fj{background:linear-gradient(160deg,#0d1e22,#0a1820);}
.gb-h{background:linear-gradient(160deg,#1a1405,#120e05);}
.gb-a{background:linear-gradient(160deg,#051a14,#0a2218);}
/* Single camp */
.tj-single{max-width:900px;margin:0 auto;padding:2rem 1.5rem 4rem;background:#fff;color:#1a1a1a;}
.tj-single-region{font-size:.65rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#4a7a5a;margin-bottom:.4rem;}
.tj-single-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,5vw,3.5rem);font-weight:300;line-height:1.1;margin-bottom:.75rem;color:#1a1a1a;}
.tj-single-hero{width:100%;height:420px;object-fit:cover;border-radius:16px;margin-bottom:2rem;}
.tj-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.5rem 0;}
.tj-info-box{background:#f8faf9;border-radius:10px;padding:.85rem 1rem;}
.tj-info-lbl{font-size:.62rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#888;margin-bottom:.2rem;}
.tj-info-val{font-size:.9rem;font-weight:600;color:#333;}
.tj-chips-row{display:flex;gap:.4rem;flex-wrap:wrap;margin:1rem 0;}
.tj-chip{font-size:.65rem;padding:.2rem .55rem;border-radius:4px;background:rgba(45,74,54,.1);border:1px solid rgba(74,122,90,.2);color:#2d4a36;}
#tj-single-map{height:300px;border-radius:16px;margin:1.5rem 0;border:1px solid #e8f4ec;}
.tj-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.5rem;margin:1.5rem 0;}
.tj-gal-item-front{aspect-ratio:1;border-radius:8px;overflow:hidden;cursor:pointer;}
.tj-gal-item-front img{width:100%;height:100%;object-fit:cover;transition:transform .4s;}
.tj-gal-item-front:hover img{transform:scale(1.07);}
.tj-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.93);z-index:9999;display:flex;align-items:center;justify-content:center;cursor:pointer;}
.tj-lightbox img{max-width:90vw;max-height:90vh;border-radius:8px;}
.tj-lb-close{position:absolute;top:1.5rem;right:1.5rem;background:rgba(255,255,255,.15);border:none;color:#fff;width:40px;height:40px;border-radius:50%;font-size:1.2rem;cursor:pointer;}
.tj-rv-section{margin-top:3rem;}
.tj-rv-section h3{font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:400;margin-bottom:1rem;color:#1a1a1a;}
.tj-rv{padding:1rem;background:#f8faf9;border-radius:10px;margin-bottom:.75rem;}
.tj-rv-head{display:flex;gap:.65rem;align-items:center;margin-bottom:.3rem;font-size:.88rem;flex-wrap:wrap;}
.tj-rv-text{font-size:.88rem;color:#555;line-height:1.6;}
.tj-rv-form{background:#f0f7f2;border-radius:16px;padding:1.5rem;margin-top:1.5rem;}
.tj-rv-form h4{font-size:1.1rem;margin-bottom:1rem;color:#1a1a1a;}
.tj-form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:.75rem;}
.tj-form-field{display:flex;flex-direction:column;gap:.3rem;}
.tj-form-field label{font-size:.78rem;font-weight:600;color:#555;}
.tj-form-field input,.tj-form-field textarea{padding:.6rem .85rem;border-radius:8px;border:1.5px solid #ddd;font-size:.88rem;font-family:inherit;}
.tj-form-field input:focus,.tj-form-field textarea:focus{outline:none;border-color:#4a7a5a;}
.tj-form-field textarea{resize:vertical;min-height:90px;}
.tj-star-row{display:flex;gap:.2rem;margin-bottom:.75rem;}
.tj-star-btn{font-size:1.4rem;background:none;border:none;cursor:pointer;color:#ddd;transition:color .15s;}
.tj-star-btn.on{color:#e8b84a;}
.tj-form-submit{background:linear-gradient(135deg,#c9a84c,#e8b84a);color:#060d0a;padding:.7rem 1.8rem;border-radius:2rem;border:none;font-weight:700;font-size:.88rem;cursor:pointer;}
.tj-form-err{color:#c00;font-size:.8rem;margin-top:.4rem;display:none;}
.tj-rv-success{padding:1rem;background:#e8f5e9;border-radius:8px;color:#2e7d32;font-size:.9rem;}
@media(max-width:640px){.tj-info-grid,.tj-form-row{grid-template-columns:1fr;}.tj-single-hero{height:240px;}}
