:root{--jade-950:#0f2a24;--jade-900:#16382f;--jade-800:#1f5c4d;--jade-700:#2a7a66;--jade-100:#e7f0ec;--jade-50:#f3f8f6;--sand-200:#e4d5bc;--sand-400:#c4a574;--ink:#1a2a26;--ink-soft:#3d524c;--mist:#dfe9e4;--white:#fbfcfb;--font-display:"Noto Serif SC", "Songti SC", serif;--font-body:"Noto Sans SC", "PingFang SC", "Hiragino Sans GB", sans-serif;--ease-out:cubic-bezier(.22, 1, .36, 1);--max:1120px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;color:var(--ink);font-family:var(--font-body);background:radial-gradient(1200px 600px at 10% -10%, #2a7a661f, transparent 55%), radial-gradient(900px 500px at 100% 20%, #c4a57424, transparent 50%), linear-gradient(180deg, var(--jade-50) 0%, var(--white) 40%, var(--mist) 100%);-webkit-font-smoothing:antialiased;margin:0;font-weight:400;line-height:1.7}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit}.site{overflow-x:clip}.nav{z-index:20;color:var(--white);justify-content:space-between;align-items:center;padding:1.1rem clamp(1.25rem,4vw,2.5rem);display:flex;position:absolute;top:0;left:0;right:0}.nav__brand{font-family:var(--font-display);letter-spacing:.08em;opacity:.92;font-size:1.05rem;font-weight:600}.nav__links{gap:1.25rem;font-size:.92rem;font-weight:500;display:flex}.nav__links a{opacity:.88;transition:opacity .2s}.nav__links a:hover{opacity:1}@media (width<=640px){.nav__links{gap:.85rem;font-size:.85rem}}.hero{min-height:100svh;color:var(--white);align-items:end;padding-top:4.5rem;display:grid;position:relative}.hero__media{z-index:0;position:absolute;inset:0;overflow:hidden}.hero__media img{object-fit:cover;object-position:center 35%;width:100%;height:100%;animation:hero-drift 18s var(--ease-out) forwards;transform:scale(1.06)}.hero__shade{background:linear-gradient(#0f2a2459 0%,#0f2a2433 35%,#0f2a24c7 100%),linear-gradient(90deg,#0f2a2473 0%,#0000 55%);position:absolute;inset:0}.hero__content{z-index:1;width:min(var(--max), 100%);margin:0 auto;padding:0 clamp(1.25rem,4vw,2.5rem) clamp(2.25rem,5vw,3.75rem);position:relative}.hero__brand{font-family:var(--font-display);letter-spacing:.12em;animation:rise .9s var(--ease-out) both;margin:0 0 .55rem;font-size:clamp(2.35rem,6.5vw,3.85rem);font-weight:700;line-height:1.12}.hero__headline{font-family:var(--font-display);letter-spacing:.04em;animation:rise .9s var(--ease-out) .12s both;margin:0 0 .55rem;font-size:clamp(1.2rem,2.8vw,1.65rem);font-weight:600}.hero__sub{color:#fbfcfbe6;max-width:28rem;animation:rise .9s var(--ease-out) .22s both;margin:0 0 1.35rem;font-size:clamp(.95rem,2vw,1.05rem);line-height:1.7}.hero__ctas{animation:rise .9s var(--ease-out) .32s both;flex-wrap:wrap;gap:.75rem;display:flex}.btn{letter-spacing:.04em;cursor:pointer;border:1px solid #0000;border-radius:.35rem;justify-content:center;align-items:center;min-height:2.85rem;padding:.7rem 1.35rem;font-weight:500;transition:transform .2s,background .2s,border-color .2s,color .2s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn--solid{background:var(--sand-400);color:var(--jade-950)}.btn--solid:hover{background:#d0b488}.btn--ghost{color:var(--white);background:0 0;border-color:#fbfcfb8c}.btn--ghost:hover{border-color:var(--white);background:#fbfcfb14}.btn--jade{background:var(--jade-800);color:var(--white)}.btn--jade:hover{background:var(--jade-700)}.btn--outline{border-color:var(--jade-800);color:var(--jade-800);background:0 0}.btn--outline:hover{background:var(--jade-100)}.section{width:min(var(--max), 100%);margin:0 auto;padding:clamp(3.5rem,8vw,5.5rem) clamp(1.25rem,4vw,2.5rem)}.section__label{letter-spacing:.18em;color:var(--jade-700);text-transform:none;margin:0 0 .5rem;font-size:.85rem;font-weight:500}.section__title{font-family:var(--font-display);letter-spacing:.06em;color:var(--jade-950);margin:0 0 .75rem;font-size:clamp(1.65rem,3.5vw,2.15rem);font-weight:700}.section__lead{max-width:36rem;color:var(--ink-soft);margin:0 0 2.25rem;font-size:1.02rem}.reveal{opacity:0;transition:opacity .7s var(--ease-out), transform .7s var(--ease-out);transform:translateY(18px)}.reveal.is-visible{opacity:1;transform:none}.features{gap:1.75rem 2.5rem;display:grid}@media (width>=720px){.features{grid-template-columns:1fr 1fr}}.feature h3{font-family:var(--font-display);letter-spacing:.04em;color:var(--jade-900);margin:0 0 .4rem;font-size:1.15rem;font-weight:600}.feature p{color:var(--ink-soft);margin:0}.feature{border-top:1px solid #1f5c4d2e;padding-top:1rem}.shops{gap:1.25rem;display:grid}@media (width>=720px){.shops{grid-template-columns:1fr 1fr}}.shop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fbfcfbb8;border:1px solid #1f5c4d24;border-radius:.5rem;padding:1.5rem 1.35rem}.shop h3{font-family:var(--font-display);letter-spacing:.05em;color:var(--jade-900);margin:0 0 .85rem;font-size:1.25rem}.shop dl{gap:.55rem;margin:0 0 1.25rem;display:grid}.shop dt{letter-spacing:.12em;color:var(--jade-700);font-size:.78rem}.shop dd{color:var(--ink);margin:.15rem 0 0}.shop__actions{flex-wrap:wrap;gap:.6rem;display:flex}.booking-band{color:var(--white);text-align:center;background:linear-gradient(135deg,#1f5c4df2,#16382ffa),radial-gradient(600px 200px at 90% 10%,#c4a57459,#0000 60%);border-radius:.6rem;margin:0 clamp(1.25rem,4vw,2.5rem);padding:clamp(2.5rem,6vw,3.5rem) clamp(1.5rem,4vw,2.5rem)}.booking-band h2{font-family:var(--font-display);letter-spacing:.06em;margin:0 0 .65rem;font-size:clamp(1.45rem,3vw,1.9rem)}.booking-band p{color:#fbfcfbe0;max-width:32rem;margin:0 auto 1.5rem}.booking-band__ctas{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.booking-band .btn--ghost{border-color:#fbfcfb73}.about-block{max-width:40rem}.about-block p{color:var(--ink-soft);margin:0 0 1rem}.about-block .company{font-family:var(--font-display);letter-spacing:.04em;color:var(--jade-900);margin:0;font-size:1.05rem}.footer{text-align:center;color:var(--ink-soft);border-top:1px solid #1f5c4d1f;margin-top:2rem;padding:2rem clamp(1.25rem,4vw,2.5rem) 2.5rem;font-size:.88rem}.footer__brand{font-family:var(--font-display);letter-spacing:.1em;color:var(--jade-900);margin:0 0 .35rem;font-weight:600}.footer p{margin:.25rem 0}.footer a{text-underline-offset:3px;text-decoration:underline}@keyframes rise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@keyframes hero-drift{0%{transform:scale(1.06)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero__media img,.hero__brand,.hero__headline,.hero__sub,.hero__ctas,.reveal{opacity:1;transform:none;transition:none!important;animation:none!important}}
