:root{
  --ink:#14322c;--green:#0b6f61;--deep:#053f37;--mint:#dff3e6;--orange:#ff7c2f;--sun:#ffc84b;
  --cream:#fff8e9;--paper:#fffdf7;--purple:#6e4fc8;--line:rgba(20,50,44,.13);--shadow:0 22px 60px rgba(5,63,55,.13)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",system-ui,sans-serif;line-height:1.55;overflow-x:hidden}a{text-decoration:none;color:inherit}button,input,select{font:inherit}
.announcement{min-height:38px;background:var(--sun);display:flex;justify-content:center;gap:10px;align-items:center;padding:8px 4vw;font-size:.82rem;font-weight:800}.announcement a{text-decoration:underline}.spark{animation:spin 6s linear infinite}
.site-header{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:13px 5vw;background:rgba(255,253,247,.9);backdrop-filter:blur(18px);border-bottom:1px solid rgba(20,50,44,.06)}.brand{display:flex;gap:11px;align-items:center}.brand-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:50% 50% 42% 58%/57% 45% 55% 43%;background:var(--green);color:white;font-family:"Fraunces",serif;font-size:1.35rem;font-weight:800;transform:rotate(-5deg)}.brand-copy strong,.brand-copy small{display:block}.brand-copy strong{font-family:"Fraunces",serif;font-size:1.1rem}.brand-copy small{font-size:.7rem;color:#6a7774;letter-spacing:.06em}.site-header nav{display:flex;gap:26px;font-size:.88rem;font-weight:700}.site-header nav a:hover{color:var(--orange)}.header-actions{display:flex;gap:9px;align-items:center}.ghost-action{border:0;background:transparent;font-weight:900;color:var(--green);cursor:pointer}
.pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:13px 20px;font-weight:800;border:1px solid transparent;transition:.2s ease;cursor:pointer}.pill:hover{transform:translateY(-2px)}.pill-dark{background:var(--deep);color:white}.pill-orange{background:var(--orange);color:white;box-shadow:0 8px 24px rgba(255,124,47,.25)}.pill-outline{border-color:currentColor}.pill-light{background:white;color:var(--deep)}
.overline{display:block;font-size:.74rem;font-weight:900;letter-spacing:.17em;color:var(--green);margin-bottom:12px}.overline.light{color:#b9efce}
.hero{position:relative;min-height:760px;display:grid;grid-template-columns:1.07fr .93fr;align-items:center;gap:55px;padding:90px max(5vw,calc((100vw - 1280px)/2));background:linear-gradient(115deg,#eff8e9 0%,#fff8e9 56%,#ffe3c9 100%);overflow:hidden}.hero-copy{position:relative;z-index:2}.hero h1{font-family:"Fraunces",serif;font-size:clamp(3.6rem,6.8vw,7.1rem);line-height:.89;letter-spacing:-.045em;margin:.2rem 0 1.5rem;max-width:850px}.hero h1 span{display:block}.hero h1 .accent{color:var(--orange);transform:rotate(-1deg)}.hero-copy>p{max-width:680px;color:#536a65;font-size:1.12rem}.hero-actions{display:flex;gap:11px;flex-wrap:wrap;margin:25px 0 36px}.hero-trust{display:flex;gap:34px;border-top:1px solid var(--line);padding-top:22px}.hero-trust strong{font-size:1.3rem;display:block}.hero-trust span{color:#667973;font-size:.78rem}
.hero-stage{position:relative;height:560px;z-index:2}.hero-orb{position:absolute;border-radius:50%;filter:blur(1px);opacity:.8}.orb-1{width:420px;height:420px;right:-70px;top:70px;background:rgba(11,111,97,.15)}.orb-2{width:260px;height:260px;right:320px;bottom:20px;background:rgba(255,200,75,.32)}.orb-3{width:180px;height:180px;right:650px;top:100px;background:rgba(110,79,200,.12)}
.stage-card{position:absolute;width:220px;min-height:180px;border-radius:30px;padding:25px;box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:flex-end;animation:float 6s ease-in-out infinite}.stage-card .emoji{font-size:3.2rem;margin-bottom:22px}.stage-card strong{font-family:"Fraunces",serif;font-size:1.45rem}.stage-card small{opacity:.7}.card-a{left:20px;top:20px;background:#fff;color:var(--ink);transform:rotate(-5deg)}.card-b{right:10px;top:80px;background:var(--orange);color:white;transform:rotate(4deg);animation-delay:.8s}.card-c{left:130px;bottom:25px;background:var(--green);color:white;transform:rotate(5deg);animation-delay:1.5s}.card-d{right:20px;bottom:0;background:var(--sun);color:var(--ink);transform:rotate(-3deg);animation-delay:2.1s}.sun-stamp{position:absolute;right:190px;top:230px;width:130px;height:130px;border-radius:50%;background:#fff;display:grid;place-items:center;text-align:center;box-shadow:0 15px 40px rgba(20,50,44,.1);animation:spin 22s linear infinite}.sun-stamp span{font-size:2.2rem;line-height:1}.sun-stamp b{font-size:.63rem;letter-spacing:.12em}
.quick-plan{max-width:1280px;margin:-30px auto 0;position:relative;z-index:5;padding:34px 5vw 72px}.quick-title{text-align:center;margin-bottom:25px}.quick-title h2,.booking-head h2,.section-heading h2,.taste h2,.discover h2,.contact h2{font-family:"Fraunces",serif;line-height:1.02;letter-spacing:-.03em}.quick-title h2{font-size:clamp(2rem,4vw,3.4rem);margin:0}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.quick-card{min-height:160px;border-radius:24px;padding:23px;display:flex;flex-direction:column;justify-content:flex-end;transition:.2s ease}.quick-card:hover{transform:translateY(-5px) rotate(-.4deg)}.quick-card>span{font-size:2.2rem;margin-bottom:auto}.quick-card strong{font-family:"Fraunces",serif;font-size:1.5rem}.quick-card small{opacity:.7}.q-green{background:#dff3e6}.q-orange{background:#ffd9c6}.q-yellow{background:#ffefb7}.q-purple{background:#e7ddff}
.booking-panel{max-width:1180px;margin:0 auto 90px;background:white;padding:32px;border:1px solid var(--line);border-radius:30px;box-shadow:var(--shadow)}.booking-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px}.booking-head h2{font-size:2.7rem;margin:0}.booking-badge{display:flex;gap:8px;align-items:center;padding:10px 14px;border-radius:999px;background:#e5f6e8;color:var(--green);font-size:.8rem;font-weight:800}.booking-form{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-top:26px}.booking-form label{display:grid;gap:7px;font-size:.78rem;font-weight:800;color:#60716e}.booking-form input,.booking-form select{width:100%;border:1px solid var(--line);border-radius:14px;background:#fbfcf9;padding:14px;color:var(--ink)}.booking-form .wide{grid-column:span 3}.vibe-row{display:flex;gap:8px;flex-wrap:wrap}.vibe{border:1px solid var(--line);background:white;border-radius:999px;padding:10px 12px;cursor:pointer;font-weight:700;color:var(--ink)}.vibe.active{background:var(--mint);border-color:#8acbb5}.submit{align-self:end;min-height:49px}.booking-result{margin-top:18px;padding:19px;background:#effaf5;border:1px solid #cee9dc;border-radius:16px}.fineprint{font-size:.74rem;color:#76847f;margin-bottom:0}
.section{max-width:1280px;margin:auto;padding:95px 5vw}.section-heading{max-width:850px;margin-bottom:35px}.section-heading h2{font-size:clamp(2.7rem,5vw,5.2rem);margin:.2rem 0 1rem}.split-heading{display:grid;grid-template-columns:1.25fr .75fr;gap:55px;max-width:none;align-items:end}.split-heading p{color:#667873;max-width:500px}
.stay-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.stay-card{min-height:400px;border-radius:30px;padding:28px;display:flex;flex-direction:column;position:relative;overflow:hidden}.stay-card:after{content:"";position:absolute;width:200px;height:200px;border:1px solid currentColor;border-radius:50%;opacity:.12;right:-60px;top:-50px}.stay-number{font-weight:900;opacity:.4}.stay-icon{font-size:4rem;margin:55px 0 25px}.stay-card h3{font-family:"Fraunces",serif;font-size:2rem;margin:0}.stay-card p{opacity:.74}.stay-card strong{font-size:1.15rem;margin-top:auto}.stay-card small{font-size:.75rem;opacity:.65}.stay-card a{margin-top:12px;font-weight:800}.stay-dark{background:var(--deep);color:white}.stay-sun{background:var(--sun)}.stay-cream{background:#efe4d5}
.play-section{background:var(--deep);color:white;overflow:hidden}.marquee{white-space:nowrap;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.13);padding:13px 0;color:#b8efd0;font-weight:900;letter-spacing:.09em}.marquee div{display:inline-block;animation:marquee 30s linear infinite}.play-inner{padding-top:80px}.activity-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,1fr);gap:14px;overflow-x:auto;padding:8px 0 24px;scrollbar-width:thin}.activity-rail article{min-height:260px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:24px;padding:23px}.activity-rail article:nth-child(even){background:rgba(255,124,47,.14)}.big-emoji{font-size:3.2rem;margin-bottom:55px}.activity-rail h3{font-family:"Fraunces",serif;font-size:1.5rem;margin:0}.activity-rail p{color:rgba(255,255,255,.68)}
.package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.package{border:1px solid var(--line);border-radius:26px;padding:28px;background:white;position:relative;min-height:430px;display:flex;flex-direction:column}.package.popular{background:linear-gradient(145deg,#fff3c7,#ffe0c8);transform:translateY(-10px);border-color:#f2c15e}.popular-tag{position:absolute;top:-13px;right:22px;background:var(--orange);color:white;border-radius:999px;padding:7px 11px;font-size:.65rem;font-weight:900}.package-label{font-size:.7rem;font-weight:900;letter-spacing:.14em;color:var(--orange)}.package h3{font-family:"Fraunces",serif;font-size:2rem;margin:12px 0}.package p{color:#687873}.package ul{padding-left:18px;color:#4f625e}.package li{margin:8px 0}.package a{font-weight:900;color:var(--green);margin-top:auto}
.taste{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;background:linear-gradient(135deg,#9d3c24,#e8612e);color:white;padding:95px max(5vw,calc((100vw - 1280px)/2))}.taste h2{font-size:clamp(3rem,5vw,5.6rem);margin:.2rem 0 1rem}.taste p{color:rgba(255,255,255,.82);max-width:620px}.taste-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.taste-grid div{aspect-ratio:1/1;border-radius:24px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.17);padding:20px;display:flex;flex-direction:column;justify-content:flex-end}.taste-grid span{font-size:3rem;margin-bottom:auto}.taste-grid strong{font-family:"Fraunces",serif;font-size:1.25rem}
.event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.event-grid article{padding:28px;border-radius:24px;background:#f2f7f2;border:1px solid var(--line)}.event-capacity{font-family:"Fraunces",serif;font-size:4.5rem;color:var(--green);line-height:1}.event-grid h3{font-family:"Fraunces",serif;font-size:1.6rem}.event-grid p{color:#697b76}.event-grid strong{color:var(--orange)}
.discover{background:#1b1f1d;color:white;display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;padding:95px max(5vw,calc((100vw - 1280px)/2))}.discover h2{font-size:clamp(3rem,5vw,5.5rem);margin:.2rem 0 1rem}.discover p{color:rgba(255,255,255,.66)}.discover-list a{display:grid;grid-template-columns:60px 1fr auto;align-items:center;gap:10px;padding:22px 0;border-bottom:1px solid rgba(255,255,255,.16)}.discover-list a:first-child{border-top:1px solid rgba(255,255,255,.16)}.discover-list span{color:#8fd4b7;font-weight:800}.discover-list strong{font-family:"Fraunces",serif;font-size:1.35rem}.discover-list b{font-size:1.4rem}.discover-list a:hover strong{color:var(--sun)}
.event-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.event-cards article{min-height:250px;border-radius:26px;padding:25px;background:linear-gradient(145deg,#f4e8ff,#fff8e9);border:1px solid var(--line)}.event-cards article:nth-child(2){background:linear-gradient(145deg,#dff3e6,#fff8e9)}.event-cards article:nth-child(3){background:linear-gradient(145deg,#ffe0c8,#fff5da)}.date-chip{display:inline-block;padding:7px 10px;background:white;border-radius:999px;font-size:.65rem;font-weight:900;letter-spacing:.12em}.event-cards h3{font-family:"Fraunces",serif;font-size:1.8rem;margin-top:50px}.event-cards p{color:#64756f}
.contact{background:var(--green);color:white;display:flex;justify-content:space-between;gap:30px;align-items:center;padding:75px max(5vw,calc((100vw - 1280px)/2))}.contact h2{font-size:clamp(3rem,5vw,5rem);margin:0}.contact-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
footer{background:#092f29;color:white;padding:35px 5vw;display:grid;grid-template-columns:1fr auto auto;gap:30px;align-items:center}.footer-brand .brand-icon{background:white;color:var(--green)}.footer-nav{display:flex;gap:18px;font-size:.84rem}.footer-nav a:hover{color:var(--sun)}footer small{color:rgba(255,255,255,.55)}
@keyframes float{0%,100%{translate:0 0}50%{translate:0 -11px}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes marquee{to{transform:translateX(-40%)}}
@media(max-width:1050px){.site-header nav{display:none}.hero{grid-template-columns:1fr;min-height:auto}.hero-stage{height:500px}.quick-grid{grid-template-columns:1fr 1fr}.booking-form{grid-template-columns:1fr 1fr}.booking-form .wide{grid-column:span 2}.stay-grid,.package-grid,.event-grid,.event-cards{grid-template-columns:1fr 1fr}.stay-grid>*:last-child,.package-grid>*:last-child,.event-grid>*:last-child,.event-cards>*:last-child{grid-column:span 2}.taste,.discover{grid-template-columns:1fr}.split-heading{grid-template-columns:1fr}footer{grid-template-columns:1fr}.footer-nav{flex-wrap:wrap}}
@media(max-width:680px){.announcement{font-size:.72rem;text-align:center}.announcement a{display:none}.site-header{padding:10px 4vw}.brand-copy small{display:none}.header-actions .pill{display:none}.hero{padding:70px 5vw 55px}.hero h1{font-size:3.5rem}.hero-stage{height:420px}.stage-card{width:160px;min-height:145px;padding:17px;border-radius:22px}.stage-card .emoji{font-size:2.4rem;margin-bottom:15px}.stage-card strong{font-size:1.1rem}.card-c{left:50px}.sun-stamp{display:none}.hero-trust{gap:15px}.hero-trust span{font-size:.68rem}.quick-plan{padding-top:55px}.quick-grid{grid-template-columns:1fr 1fr}.quick-card{min-height:140px;padding:18px}.booking-panel{width:94%;padding:20px}.booking-head{align-items:flex-start;flex-direction:column}.booking-form{grid-template-columns:1fr}.booking-form .wide{grid-column:auto}.stay-grid,.package-grid,.event-grid,.event-cards{grid-template-columns:1fr}.stay-grid>*:last-child,.package-grid>*:last-child,.event-grid>*:last-child,.event-cards>*:last-child{grid-column:auto}.package.popular{transform:none}.taste,.discover,.contact{padding:70px 5vw}.taste-grid{gap:9px}.contact{align-items:flex-start;flex-direction:column}.contact-actions{justify-content:flex-start}.section{padding:75px 5vw}.section-heading h2{font-size:3rem}}


/* V3: official tariff and menu modules */
.official-tariffs{padding-top:40px}
.tariff-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.tariff-card{position:relative;border:1px solid var(--line);border-radius:28px;padding:28px;background:white;overflow:hidden}
.tariff-card:nth-child(2){background:#fff7e8}.tariff-card:nth-child(3){background:#eef7f3}.tariff-card:nth-child(4){background:#f4efff}
.tariff-icon{font-size:2.2rem;margin-bottom:18px}.tariff-kicker{font-size:.68rem;letter-spacing:.15em;font-weight:900;color:var(--orange)}
.tariff-card h3{font-family:"Fraunces",serif;font-size:2rem;margin:8px 0 18px}
.price-list{display:grid;gap:0;border-top:1px solid var(--line)}
.price-list>div{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid var(--line);align-items:flex-start}
.price-list span{color:#50645f}.price-list strong{text-align:right;white-space:nowrap}
.tariff-note{font-size:.82rem;color:#667873;margin:16px 0 0}.text-cta{display:inline-block;margin-top:18px;color:var(--green);font-weight:900}

.buffet-section{padding-top:50px}.buffet-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.buffet-card{border-radius:26px;padding:25px;border:1px solid var(--line);background:white}
.buffet-complete{background:linear-gradient(145deg,#fff1d7,#fffaf2)}.buffet-medium{background:linear-gradient(145deg,#e8f6ee,#fbfffc)}.buffet-simple{background:linear-gradient(145deg,#efe9ff,#fcfaff)}
.buffet-top{display:flex;justify-content:space-between;gap:15px;align-items:center;padding-bottom:16px;border-bottom:1px solid var(--line)}
.buffet-top span{font-size:.7rem;letter-spacing:.13em;font-weight:900}.buffet-top strong{font-family:"Fraunces",serif;font-size:1.65rem;color:var(--orange)}
.buffet-card ul{padding-left:18px;margin:18px 0 0}.buffet-card li{margin:10px 0;color:#50645f}

.sample-menu{padding-top:55px}.menu-days{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.menu-day{border:1px solid var(--line);border-radius:26px;padding:25px;background:#fff}
.featured-menu{background:var(--deep);color:white}.featured-menu p{color:rgba(255,255,255,.78)}
.menu-date{display:inline-block;font-size:.67rem;font-weight:900;letter-spacing:.1em;color:var(--orange);margin-bottom:24px}
.menu-day h3{font-family:"Fraunces",serif;font-size:2rem;margin:0 0 16px}.menu-day p{color:#5f726d;font-size:.91rem}
.menu-day strong{color:inherit}.menu-note{font-size:.8rem;color:#687a75;margin-top:15px}

@media(max-width:900px){
  .tariff-grid{grid-template-columns:1fr}
  .buffet-grid,.menu-days{grid-template-columns:1fr}
}
