:root{--bg:#f7f8f5;--surface:#fff;--surface-strong:#f0f2ea;--text:#3b3f3a;--text-h:#1a1f1a;--border:#dde2d8;--brand:#1f7a4a;--shadow:0 8px 20px #17221514;--sans:"Segoe UI", Inter, Roboto, Arial, sans-serif}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--sans);color:var(--text);background:radial-gradient(circle at top, #eef5eb 0%, var(--bg) 35%);line-height:1.55}#root{border-left:1px solid var(--border);border-right:1px solid var(--border);background:color-mix(in oklab, var(--bg) 82%, #fff);width:min(1200px,100%);min-height:100vh;margin:0 auto}h1,h2,h3{color:var(--text-h);margin:0;line-height:1.2}h1{letter-spacing:-.02em;font-size:clamp(2rem,4vw,3.5rem)}h2{margin-bottom:.35rem;font-size:clamp(1.5rem,2.8vw,2rem)}h3{font-size:1.15rem}p{margin:0}.site{flex-direction:column;gap:2.5rem;display:flex}.section{padding:0 2rem}.topbar{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:color-mix(in oklab, var(--surface) 92%, transparent);z-index:5;justify-content:space-between;align-items:center;padding:1.2rem 2rem;display:flex;position:sticky;top:0}.brand-logo{width:auto;height:64px;display:block}.hero{grid-template-columns:1.2fr 1fr;align-items:center;gap:1.5rem;padding-top:2rem;display:grid}.hero-slider{border:1px solid var(--border);background:var(--surface);border-radius:1.25rem;width:100%;height:26rem;position:relative;overflow:hidden;box-shadow:0 20px 45px -25px #00000073}.hero-slide{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity 1.1s;position:absolute;inset:0;transform:scale(1)}.hero-slide.active{opacity:1;z-index:1;animation:6s ease-in-out forwards hero-ken-burns}@keyframes hero-ken-burns{0%{transform:scale(1)}to{transform:scale(1.08)}}.hero-slider-nav{color:#fff;cursor:pointer;z-index:2;background:#00000059;border:none;border-radius:999px;place-items:center;width:2.5rem;height:2.5rem;font-size:1.5rem;line-height:1;transition:background .2s;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.hero-slider-nav:hover{background:#0009}.hero-slider-prev{left:.85rem}.hero-slider-next{right:.85rem}.hero-slider-dots{z-index:2;gap:.5rem;display:flex;position:absolute;bottom:1rem;left:50%;transform:translate(-50%)}.hero-slider-dot{cursor:pointer;background:#ffffff8c;border:none;border-radius:999px;width:.55rem;height:.55rem;padding:0;transition:background .2s,transform .2s}.hero-slider-dot.active{background:#fff;transform:scale(1.25)}.hero-content{text-align:left}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--brand);font-size:.85rem;font-weight:600}.lead{max-width:48rem;margin:1rem 0 0}.cta-row{flex-wrap:wrap;justify-content:flex-start;gap:.85rem;margin-top:1.75rem;display:flex}.btn{border:1px solid #0000;border-radius:999px;padding:.75rem 1.1rem;font-weight:600;text-decoration:none;transition:transform .2s,box-shadow .2s}.btn:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.btn-primary{background:var(--brand);color:#fff}.btn-secondary{background:var(--surface-strong);color:var(--text-h);border-color:var(--border)}.grid{gap:1rem;margin-top:1rem;display:grid}.three{grid-template-columns:repeat(3,minmax(0,1fr))}.destination-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.card{background:var(--surface);border:1px solid var(--border);text-align:left;border-radius:1rem;padding:1rem}.card-with-image{padding:0;overflow:hidden}.card-image{object-fit:cover;width:100%;height:10rem;display:block}.card-body{padding:1rem}.tag{color:var(--brand);letter-spacing:.05em;text-transform:uppercase;margin:0 0 .35rem;font-size:.76rem;font-weight:700}.package .price{color:var(--text-h);font-weight:700}.split{grid-template-columns:2fr 1fr;gap:1rem;display:grid}.check-list{margin:.75rem 0 0;padding-left:1rem}.check-list li{margin-bottom:.45rem}.why-us-list{columns:2;column-gap:2rem;max-width:48rem}.reviews-section{padding-top:.5rem}.reviews-header{grid-template-columns:1.6fr .8fr;align-items:end;gap:1.25rem;margin-bottom:1.25rem;display:grid}.reviews-intro{max-width:40rem;margin-top:.55rem}.reviews-summary{border:1px solid var(--border);background:linear-gradient(160deg, var(--surface) 0%, var(--surface-strong) 100%);text-align:center;border-radius:1rem;padding:1rem 1.15rem}.reviews-average{color:var(--text-h);margin:0;font-size:2.4rem;font-weight:700;line-height:1}.reviews-count{margin-top:.35rem;font-size:.92rem}.reviews-layout{grid-template-columns:1.35fr .9fr;align-items:start;gap:1.25rem;display:grid}.reviews-grid{gap:.9rem;display:grid}.review-card{border:1px solid var(--border);background:var(--surface);border-radius:1rem;padding:1rem 1.1rem}.review-card-top{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.65rem;display:flex}.review-card-top time{color:var(--text);font-size:.82rem}.review-quote{color:var(--text-h);margin:0;line-height:1.55}.review-meta{flex-wrap:wrap;align-items:center;gap:.45rem .85rem;margin-top:.85rem;display:flex}.review-author{color:var(--text-h);margin:0;font-weight:700}.review-highlight{color:var(--brand);margin:0;font-size:.85rem;font-weight:600}.review-form-panel{border:1px solid var(--border);background:var(--surface);border-radius:1rem;padding:1.15rem;position:sticky;top:5.5rem}.review-form-panel h3{margin-bottom:.35rem}.review-form-copy{margin:0 0 1rem;font-size:.95rem}.review-form{gap:.85rem;display:grid}.reviews-state{border:1px dashed var(--border);background:var(--surface);text-align:center;border-radius:1rem;padding:1.25rem}.reviews-state.error{justify-items:center;gap:.75rem;display:grid}.star-rating{align-items:center;gap:.15rem;display:inline-flex}.star-rating .star,.star-rating .star-btn{color:#c8cfc4;font-size:1rem;line-height:1}.star-rating .star.filled,.star-rating .star-btn.filled{color:#d4a017}.star-rating-lg .star,.star-rating-lg .star-btn{font-size:1.35rem}.star-rating.interactive .star-btn{cursor:pointer;background:0 0;border:none;padding:0}.star-rating.interactive .star-btn:hover,.star-rating.interactive .star-btn:focus-visible{color:#d4a017;outline:none}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin-top:1rem;display:grid}.gallery-item{border:1px solid var(--border);background:var(--surface);border-radius:.8rem;min-height:17rem;margin:0;overflow:hidden}.gallery-item img{object-fit:cover;width:100%;height:16rem;display:block}.gallery-image-button{cursor:pointer;background:0 0;border:none;width:100%;margin:0;padding:0}.gallery-item figcaption{text-align:left;color:var(--text-h);padding:.6rem .75rem;font-size:.92rem;font-weight:600}.gallery-intro{margin-top:.35rem}.gallery-filters{flex-wrap:wrap;gap:.6rem;margin-top:1rem;display:flex}.gallery-filter{border:1px solid var(--border);background:var(--surface);color:var(--text-h);cursor:pointer;border-radius:999px;padding:.4rem .8rem;font-weight:600}.gallery-filter.active{background:var(--brand);color:#fff;border-color:var(--brand)}.gallery-more{justify-content:center;margin-top:1rem;display:flex}.lightbox{z-index:30;background:#080a08bf;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.lightbox-content{background:var(--surface);border:1px solid var(--border);border-radius:1rem;width:min(900px,100%);position:relative;overflow:hidden}.lightbox-content img{object-fit:cover;width:100%;max-height:75vh;display:block}.lightbox-content p{color:var(--text-h);margin:0;padding:.75rem 1rem;font-weight:600}.lightbox-close{color:#fff;cursor:pointer;background:#000000b3;border:none;border-radius:999px;width:2rem;height:2rem;font-size:1.2rem;line-height:1;position:absolute;top:.65rem;right:.65rem}.lightbox-nav{color:#fff;cursor:pointer;background:#000000a6;border:none;border-radius:999px;width:2.25rem;height:2.25rem;font-size:1.5rem;line-height:1;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-prev{left:.65rem}.lightbox-next{right:.65rem}.booking-success-overlay{z-index:40;background:#080a08bf;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.booking-success-modal{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:1rem;width:min(420px,100%);padding:2rem 1.75rem;position:relative}.booking-success-modal h3{color:var(--text-h);margin:0 0 .75rem}.booking-success-modal p{color:var(--text);margin:0 0 1.5rem}.booking-success-close{width:2rem;height:2rem;color:var(--text-h);cursor:pointer;background:#00000014;border:none;border-radius:999px;font-size:1.2rem;line-height:1;position:absolute;top:.65rem;right:.65rem}.contact{text-align:center;background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding-top:2rem;padding-bottom:2rem}.contact-meta{flex-wrap:wrap;justify-content:center;gap:1rem;margin:1rem 0 1.3rem;font-size:.95rem;display:flex}.booking-form{text-align:left;max-width:42rem;margin:0 auto}.booking-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin-bottom:.85rem;display:grid}.booking-field{color:var(--text-h);flex-direction:column;gap:.35rem;font-size:.92rem;font-weight:600;display:flex}.booking-field-full{margin-bottom:.85rem}.booking-field input,.booking-field select,.booking-field textarea{font:inherit;color:var(--text);background:var(--surface-strong);border:1px solid var(--border);border-radius:.65rem;padding:.65rem .75rem;font-weight:400}.booking-field textarea{resize:vertical;min-height:6rem}.booking-price{border:1px solid var(--border);background:var(--surface-strong);border-radius:.65rem;margin:0 0 .85rem;padding:.75rem .9rem;font-size:.95rem}.booking-form .btn-primary{cursor:pointer;border:none;width:100%}.booking-form .btn-primary:disabled{opacity:.7;cursor:not-allowed}.booking-feedback{border-radius:.65rem;margin:.85rem 0 0;padding:.75rem .9rem;font-size:.92rem}.booking-feedback.success{background:color-mix(in oklab, var(--brand) 12%, var(--surface));border:1px solid color-mix(in oklab, var(--brand) 35%, var(--border))}.booking-feedback.error{background:color-mix(in oklab, #b42318 10%, var(--surface));border:1px solid color-mix(in oklab, #b42318 30%, var(--border))}.booking-honeypot{opacity:0;pointer-events:none;position:absolute;left:-9999px}.package-book-btn{cursor:pointer;border:none;width:100%;margin-top:.85rem}.footer{text-align:center;padding:1rem 2rem 2rem}.social-list{flex-wrap:wrap;justify-content:center;gap:.5rem;margin:.6rem 0 0;padding:0;list-style:none;display:flex}.social-list a{color:var(--text-h);border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:.3rem .6rem;text-decoration:none}.social-list.compact{margin:0}@media (width<=1024px){.hero{grid-template-columns:1fr}.hero-content{text-align:center}.cta-row{justify-content:center}.reviews-header,.reviews-layout{grid-template-columns:1fr}.review-form-panel{position:static}.three,.destination-grid,.gallery-grid,.split{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.section,.topbar,.footer{padding-left:1rem;padding-right:1rem}.topbar{flex-direction:column;gap:.5rem}.hero-slider{height:16rem}.why-us-list{columns:1}.three,.destination-grid,.gallery-grid,.split,.booking-form-grid{grid-template-columns:1fr}}.admin-shell{color:#1f2a1d;background:radial-gradient(circle at 0 0,#e8f3ea 0%,#0000 40%),#f4f6f2;min-height:100vh}.admin-shell.dashboard{grid-template-columns:240px 1fr;display:grid}.admin-login-card,.admin-upload,.admin-card{background:#fff;border:1px solid #d7ddd2;border-radius:1rem}.admin-login-card{width:min(420px,100% - 2rem);margin:12vh auto;padding:1.6rem}.admin-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:#1f7a4a;margin:0 0 .4rem;font-size:.75rem;font-weight:700}.admin-form{gap:.85rem;margin-top:1rem;display:grid}.admin-form.inline{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end}.admin-form label,.admin-login-card label{gap:.35rem;font-size:.92rem;display:grid}.admin-form input,.admin-form select,.admin-login-card input,.admin-login-card select{font:inherit;border:1px solid #d7ddd2;border-radius:.65rem;padding:.65rem .75rem}.admin-form button,.admin-card-actions button,.admin-logout{color:#fff;cursor:pointer;background:#1f7a4a;border:none;border-radius:999px;padding:.7rem 1rem;font-weight:700}.admin-sidebar{color:#f4f8f4;background:#163524;flex-direction:column;gap:.75rem;padding:1.4rem 1rem;display:flex}.admin-sidebar h1{color:#fff;margin:0 0 .6rem}.admin-sidebar nav{gap:.4rem;display:grid}.admin-sidebar nav button{text-align:left;color:#d7e8d9;cursor:pointer;background:0 0;border:none;border-radius:.7rem;padding:.65rem .75rem}.admin-sidebar nav button.active,.admin-sidebar nav button:hover{color:#fff;background:#1f7a4a}.admin-site-link,.admin-logout{text-align:center;color:#fff;background:0 0;border:1px solid #4d7a5c;margin-top:auto;text-decoration:none}.admin-main{gap:1.25rem;padding:1.5rem;display:grid}.admin-header h2{margin:0 0 .3rem}.admin-upload{padding:1.1rem}.admin-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;display:grid}.admin-card{overflow:hidden}.admin-card img,.admin-edit-preview{object-fit:cover;width:100%;height:150px;display:block}.admin-card div{padding:.8rem}.admin-card h4,.admin-card p{margin:0 0 .35rem}.admin-card-actions{gap:.5rem;display:flex}.admin-card-actions .danger{background:#9b2c2c}.admin-empty{color:#5b6558}.admin-feedback{border-radius:.65rem;margin:.75rem 0 0;padding:.7rem .8rem}.admin-feedback.error{color:#8a1f1f;background:#fdecec}.admin-feedback.success{color:#146236;background:#e8f6ec}.admin-modal{z-index:40;background:#0a100c8c;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.admin-modal .admin-login-card{margin:0}@media (width<=860px){.admin-shell.dashboard{grid-template-columns:1fr}.admin-sidebar{flex-flow:wrap;align-items:center}.admin-sidebar nav{grid-template-columns:repeat(2,1fr);width:100%}}
