*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:112px}
body{margin:0;font-family:Barlow,system-ui,sans-serif;font-weight:500;font-size:16px;line-height:1.55;color:#82807d;background:#eceae7 url(img/tex-light.webp)}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer}
h1,h2,h3,.dosis{font-family:Dosis,Barlow,sans-serif;font-weight:600;color:#000;margin:0;line-height:1.1}
.wrap{max-width:1200px;margin:0 auto;padding:0 20px}
.narrow{max-width:900px}
.sec-title{text-align:center;text-transform:uppercase;font-size:clamp(26px,3vw,36px);margin-bottom:48px}
.dark{background:#26241f url(img/tex-dark.webp);color:#fff}
.dark .sec-title,.dark h2,.dark h3{color:#fff}
.yellow{background:#82a939 url(img/tex-avocado.webp)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:9999px;font-family:Dosis,sans-serif;font-weight:600;text-transform:uppercase;font-size:14px;line-height:1;padding:11px 26px;border:2px solid transparent;transition:transform .2s,background .2s,color .2s;white-space:nowrap}
.btn:hover{transform:translateY(-2px)}
.btn-red{background:#e8d5b5;color:#3c271c}
.btn-red:hover{background:#dcc39b}
.btn-red-o{border-color:#cdb185;color:#6b4e2e;background:#fff}
.btn-red-o:hover{background:#e8d5b5;color:#3c271c}
.btn-yellow{background:#8fb339;color:#26241f}
.btn-yellow:hover{background:#a3c64f}
.btn-dark{background:#26241f;color:#fff}
.btn-dark-o{border-color:#26241f;color:#26241f}
.btn-lg{font-size:16px;padding:16px 40px}

/* header */
.hdr{position:sticky;top:0;z-index:40;background:#fff;box-shadow:0 2px 12px rgba(0,0,0,.08)}
.hdr-in{display:flex;align-items:center;justify-content:space-between;height:104px;padding:0 24px;max-width:1440px;margin:0 auto;gap:24px}
.logo{display:inline-flex;align-items:center;flex-shrink:0;padding:2px 0}
.wordmark{font-family:Allura,cursive;font-size:43px;font-weight:400;line-height:.9;color:#5f6b1f;white-space:nowrap;letter-spacing:.01em}
.dark .wordmark{color:#b5c26a}
.logo-img{display:block;height:92px;width:auto}
.logo-ftr{height:150px;background:#f7f1e6;padding:12px 16px;border-radius:14px;box-sizing:content-box}
@media(max-width:520px){.hdr-in{height:84px;padding:0 16px}.logo-img{height:72px}.logo-ftr{height:120px}}
@media(max-width:520px){.wordmark{font-size:34px}}
.nav{display:flex;align-items:center;gap:clamp(16px,2.6vw,44px)}
.nav a{font-family:Barlow,sans-serif;font-weight:700;font-size:14px;text-transform:uppercase;color:#82807d;line-height:1.05;transition:color .2s}
.nav a:hover{color:#d30014}
.nav .btn{color:#3c271c}
.burger{display:none;background:none;border:0;color:#26241f;padding:8px}
@media(max-width:1060px){
 .burger{display:block}
 .nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;align-items:flex-start;padding:16px 24px 24px;gap:18px;box-shadow:0 12px 20px rgba(0,0,0,.08)}
 .nav.open{display:flex}
 .nav a{font-size:16px}
}

/* hero slider */
.hero{position:relative;padding-bottom:0}
.hero::before{content:"";position:absolute;inset:0 0 auto 0;height:calc(100% - 76px);background:#26241f url(img/tex-dark.webp)}
.slider{position:relative;max-width:1200px;margin:0 auto;aspect-ratio:1200/520;border-radius:0 0 22px 22px;overflow:hidden;background:#26241f}
.slide{position:absolute;inset:0;opacity:0;transition:opacity .9s ease;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 80px}
.slide.on{opacity:1;z-index:1}
.slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(1.04) contrast(1.02)}
.slide::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(30,18,10,.12),rgba(25,14,8,.42))}
.slide h1,.slide h2{position:relative;z-index:1;color:#fff;text-transform:uppercase;font-size:clamp(28px,4.6vw,64px);font-weight:600;text-shadow:0 3px 18px rgba(0,0,0,.45);margin-bottom:34px}
.slide .btn{position:relative;z-index:1}
.slide h1.h1-long{font-size:clamp(26px,3.6vw,50px);max-width:980px;line-height:1.15}
.s-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;background:none;border:0;color:#fff;padding:14px;opacity:.9}
.s-arrow:hover{opacity:1}
.s-prev{left:40px}.s-next{right:40px}
.dots{position:absolute;left:0;right:0;bottom:28px;display:flex;justify-content:center;gap:8px;z-index:3}
.dots button{width:10px;height:10px;border-radius:50%;border:0;background:#8fb339;padding:0;opacity:.85}
.dots button.on{background:transparent;box-shadow:0 0 0 2px #8fb339}

/* experiences */
.exp{padding:84px 0 80px}
.card{display:grid;grid-template-columns:380px 1fr;gap:24px;background:#fff;border-radius:12px;padding:8px;margin-bottom:24px;position:relative;scroll-margin-top:126px}
.card-img{border-radius:8px;overflow:hidden;min-height:264px;position:relative}
.card-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}
.card:hover .card-img img{transform:scale(1.04)}
.card-body{padding:16px 30px 16px 0;display:flex;flex-direction:column;justify-content:center}
.card h3{font-size:30px;font-weight:500;margin-bottom:6px;padding-right:150px}
.price{font-family:Dosis,sans-serif;font-weight:700;color:#d30014;text-transform:uppercase;font-size:14px;letter-spacing:.04em;margin-bottom:10px}
.card p{margin:0 0 20px;font-size:16px;line-height:1.3}
.card-btns{display:flex;gap:8px;flex-wrap:wrap}
.badge{position:absolute;top:12px;right:12px;background:#8fb339;color:#26241f;font-family:Dosis,sans-serif;font-weight:700;font-size:12px;text-transform:uppercase;border-radius:9999px;padding:5px 20px}
@media(max-width:760px){
 .card{grid-template-columns:1fr}
 .card-img{min-height:220px}
 .card-body{padding:6px 12px 14px}
 .card h3{font-size:24px;padding-right:0}
 .badge{top:16px;right:16px}
}

/* stats */
.stats{padding:80px 0}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.stat{display:flex;align-items:center;gap:16px}
.stat-ico{width:80px;height:80px;border-radius:50%;background:#8fb339;color:#26241f;display:grid;place-items:center;flex-shrink:0}
.stat p{margin:0;font-family:Dosis,sans-serif;font-weight:600;font-size:20px;line-height:1.4;text-transform:uppercase;color:#fff}
.stat p em{font-style:normal;color:#8fb339}
@media(max-width:1000px){.stats-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.stats-grid{grid-template-columns:1fr}.stat-ico{width:64px;height:64px}}

/* menu */
.menu{padding:80px 0 72px;text-align:center}
.menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;max-width:1100px;margin:0 auto 32px}
.dish{background:#fff;border-radius:16px;padding:8px;overflow:hidden}
.dish-img{aspect-ratio:330/246;border-radius:10px;overflow:hidden}
.dish-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.dish:hover .dish-img img{transform:scale(1.05)}
.menu-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.dish h3{font-weight:500;font-size:20px;text-transform:uppercase;padding:22px 10px 16px}
@media(max-width:860px){.menu-grid{grid-template-columns:1fr;max-width:420px}}

/* places */
.places{padding:84px 0 80px}
.tabs{display:flex;max-width:600px;margin:0 auto 32px;border:2px solid #8fb339;border-radius:9999px;padding:2px;background:#26241f}
.tabs button{flex:1;border:0;background:none;color:#fff;font-family:Dosis,sans-serif;font-weight:700;text-transform:uppercase;font-size:14px;padding:10px 6px;border-radius:9999px;transition:background .2s,color .2s}
.tabs button.on{background:#8fb339;color:#26241f}
.place{display:none;grid-template-columns:48% 1fr;background:#8fb339;border-radius:16px;overflow:hidden;border:3px solid #8fb339;max-width:1090px;margin:0 auto}
.place.on{display:grid}
.place-img{position:relative;min-height:360px;border-radius:14px;overflow:hidden}
.place-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.p-arrow{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:40px;background:#fff;border:0;display:grid;place-items:center;color:#26241f;z-index:2}
.p-prev{left:0;border-radius:0 20px 20px 0}.p-next{right:0;border-radius:20px 0 0 20px}
.place-body{padding:40px 32px;display:flex;flex-direction:column;justify-content:center;color:#26241f}
.place-body h3{color:#26241f;text-transform:uppercase;font-size:26px;font-weight:700;margin-bottom:14px}
.place-body p{margin:0 0 24px;line-height:1.5}
@media(max-width:760px){.place.on{grid-template-columns:1fr}.place-img{min-height:240px}.place-body{padding:24px 20px}.tabs button{font-size:12px}}

/* how it works (yellow) */
.how{padding:72px 0 88px}
.how .sec-title{margin-bottom:40px}
.steps{display:grid;grid-template-columns:repeat(3,246px);justify-content:center;gap:32px}
.step{position:relative;aspect-ratio:1;border-radius:12px;overflow:hidden;border:4px solid #fff;box-shadow:0 8px 20px rgba(0,0,0,.12)}
.step img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(1.05) contrast(1.03);transition:transform .4s}
.step:hover img{transform:scale(1.05)}
.step::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 40%,rgba(0,0,0,.65))}
.step div{position:absolute;left:12px;right:12px;bottom:16px;z-index:1;text-align:center;color:#fff;font-family:Dosis,sans-serif;font-weight:700;text-transform:uppercase;font-size:17px;line-height:1.2}
.step div span{display:block;color:#8fb339;font-size:30px}
.how-cta{text-align:center;margin-top:40px}
@media(max-width:860px){.steps{grid-template-columns:minmax(0,300px);}}

/* gallery */
.gallery{padding:80px 0;overflow:hidden}
.track{display:flex;gap:20px;width:max-content;animation:marq 80s linear infinite}
.gallery:hover .track{animation-play-state:paused}
.track img{width:270px;height:270px;aspect-ratio:1/1;object-fit:cover;border-radius:12px;flex-shrink:0;box-shadow:0 10px 26px rgba(0,0,0,.13);filter:saturate(1.03)}
@media(max-width:520px){.track img{width:200px;height:200px}}
.ig-head{text-align:center;margin-bottom:32px}.ig-handle{display:inline-flex;align-items:center;gap:10px;font-size:20px;font-weight:600;color:#3c271c}.ig-handle b{color:#5f6b1f}.ig-handle:hover b{color:#8fb339}
.ig-item{display:block;position:relative;flex-shrink:0;border-radius:12px}.ig-item:hover img{filter:brightness(1.06) saturate(1.08)}.ig-video::after{content:"";position:absolute;top:12px;right:12px;border-style:solid;border-width:9px 0 9px 15px;border-color:transparent transparent transparent #fff;filter:drop-shadow(0 1px 3px rgba(0,0,0,.5))}
@media(max-width:520px){.ig-handle{font-size:16px;gap:8px}.ig-head{margin-bottom:24px}}
@keyframes marq{to{transform:translateX(calc(-50% - 10px))}}
@media(prefers-reduced-motion:reduce){.track{animation:none}}

/* footer */
.ftr{padding:40px 0 24px;color:#fff}
.ftr-top{display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap;align-items:flex-start}
.ftr-links{display:grid;grid-template-columns:auto auto;gap:6px 32px}
.ftr-links a{font-weight:600;font-size:16px}
.ftr-links a:hover,.ftr a:hover{color:#8fb339}
.ftr .logo{display:flex}
.ftr-wa{display:inline-flex;align-items:center;gap:8px;margin-top:18px;font-weight:600}
.ftr-bot{border-top:1px solid rgba(255,255,255,.15);margin-top:32px;padding-top:18px;font-size:14px;display:flex;gap:12px;flex-wrap:wrap}
.ftr-bot b{font-family:Dosis,sans-serif}

/* floating wa */
.fab{position:fixed;right:20px;bottom:20px;z-index:45;width:60px;height:60px;border-radius:50%;background:#25d366;color:#fff;display:grid;place-items:center;box-shadow:0 8px 24px rgba(0,0,0,.25);transition:transform .2s}
.fab:hover{transform:scale(1.07)}

/* booking modal */
.modal{position:fixed;inset:0;z-index:60;display:none;align-items:center;justify-content:center;padding:16px;background:rgba(20,19,16,.6)}
.modal.open{display:flex}
.box{background:#fff;border-radius:16px;width:100%;max-width:520px;max-height:calc(100dvh - 32px);overflow:auto;padding:28px;position:relative;color:#26241f}
.box h2{font-size:28px;text-transform:uppercase;margin-bottom:4px}
.box .sub{margin:0 0 20px;color:#82807d}
.x{position:absolute;top:14px;right:14px;background:none;border:0;color:#26241f;padding:6px}
.fld{display:block;margin-bottom:16px}
.fld>span{display:block;font-family:Dosis,sans-serif;font-weight:700;text-transform:uppercase;font-size:13px;letter-spacing:.04em;margin-bottom:6px}
.fld select,.fld input{width:100%;font:inherit;color:#26241f;padding:12px 14px;border:2px solid #e2e0dc;border-radius:10px;background:#fff}
.fld select:focus,.fld input:focus{outline:none;border-color:#8fb339}
.qty{display:flex;align-items:center;gap:14px}
.qty button{width:40px;height:40px;border-radius:50%;border:2px solid #26241f;background:#fff;font-size:20px;line-height:1;color:#26241f}
.qty output{font-family:Dosis,sans-serif;font-weight:700;font-size:20px;min-width:90px;text-align:center}
.est{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #eee;padding-top:14px;margin:6px 0 18px}
.est b{font-family:Dosis,sans-serif;font-size:20px;color:#d30014;text-transform:uppercase}
.box .btn{width:100%}
.note{font-size:13px;text-align:center;margin:12px 0 0;color:#82807d}
@media(max-width:1060px){.nav a br{display:none}}
@media(max-width:760px){.slider{aspect-ratio:auto;height:420px;border-radius:0 0 16px 16px}.slide{padding:0 48px}.s-prev{left:4px}.s-next{right:4px}.hero::before{height:calc(100% - 40px)}}

.day{padding:80px 0;background:#f6f1e7 url(img/tex-light.webp)}
.day .sec-title{margin-bottom:14px}
.day-intro{text-align:center;max-width:640px;margin:0 auto 40px;color:#5b4a3e;font-size:17px}
.day-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;list-style:none;padding:0;margin:0}
.day-grid li{background:#fff;border-radius:12px;padding:26px 24px;box-shadow:0 6px 18px rgba(0,0,0,.07);border-top:4px solid #8fb339}
.day-grid b{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#e8d5b5;color:#3c271c;font-family:Dosis,sans-serif;font-size:20px;margin-bottom:12px}
.day-grid h3{font-family:Dosis,sans-serif;text-transform:uppercase;font-size:18px;margin:0 0 6px;color:#26241f}
.day-grid p{margin:0;color:#6b5a4c;line-height:1.5}
.day-recipes{display:flex;align-items:center;gap:16px;max-width:760px;margin:32px auto 0;background:#5f6b1f;color:#fff;border-radius:12px;padding:20px 26px}
.day-recipes svg{flex-shrink:0;color:#e8d5b5}
.day-recipes p{margin:0;line-height:1.5}
.day-recipes strong{color:#e8d5b5}
@media(max-width:900px){.day-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.day{padding:60px 0}.day-grid{grid-template-columns:1fr}.day-recipes{flex-direction:column;text-align:center}}
.taxi{display:block;margin:0 0 16px;cursor:pointer}
.taxi input{position:absolute;opacity:0;width:1px;height:1px}
.taxi-btn{display:flex;align-items:center;gap:12px;padding:12px 14px;border:2px solid #cdb185;border-radius:10px;background:#fff;color:#3c271c;transition:background .2s,border-color .2s}
.taxi-btn>svg{flex-shrink:0;color:#6b4e2e}
.taxi-btn>span{flex:1;display:flex;flex-direction:column;line-height:1.25}
.taxi-btn strong{font-family:Dosis,sans-serif;text-transform:uppercase;font-size:15px;letter-spacing:.03em}
.taxi-btn small{font-size:13px;color:#82807d}
.taxi-btn i{width:22px;height:22px;border-radius:6px;border:2px solid #cdb185;flex-shrink:0;display:grid;place-items:center;background:#fff}
.taxi:hover .taxi-btn{border-color:#8fb339}
.taxi input:checked+.taxi-btn{background:#e8d5b5;border-color:#8fb339}
.taxi input:checked+.taxi-btn i{background:#8fb339;border-color:#8fb339}
.taxi input:checked+.taxi-btn i::after{content:"";width:6px;height:11px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg) translate(-1px,-1px)}
.taxi input:focus-visible+.taxi-btn{outline:3px solid #8fb339;outline-offset:2px}
.taxi[hidden]{display:none}

.hero-intro{position:relative;z-index:1;color:#fff;font-size:clamp(17px,1.6vw,21px);max-width:640px;margin:-18px auto 26px;text-shadow:0 2px 12px rgba(0,0,0,.5)}
.hero-btns{position:relative;z-index:1;display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.hero-wa{background:rgba(255,255,255,.92);color:#26241f;border:0}
.hero-wa:hover{background:#fff}
.facts{background:#fff;padding:26px 0;border-bottom:1px solid #eee6d8}
.facts .wrap{display:flex;gap:24px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.facts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px 24px;margin:0;flex:1}
.facts dt{font-family:Dosis,sans-serif;font-weight:700;text-transform:uppercase;font-size:12.5px;letter-spacing:.08em;color:#5f6b1f}
.facts dd{margin:2px 0 0;font-size:15.5px;color:#26241f;font-weight:600}
@media(max-width:700px){.facts-btn{width:100%;text-align:center}.hero-intro{margin-top:-10px}}
@media(max-width:700px){.facts-grid{grid-template-columns:1fr 1fr}}
.m-book{display:none}
@media(max-width:700px){.m-book{display:flex;align-items:center;justify-content:center;position:fixed;left:12px;right:84px;bottom:14px;z-index:45;min-height:52px;border-radius:999px;background:#e8d5b5;color:#3c271c;font-family:Dosis,sans-serif;font-weight:700;text-transform:uppercase;font-size:15px;box-shadow:0 6px 18px rgba(0,0,0,.2)}}
