:root{--navy:#092736;--green:#0d4b44;--gold:#b5924c;--ink:#17303d}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);font-family:Arial,'Malgun Gothic',sans-serif;font-size:17px;line-height:1.7}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}header{position:fixed;z-index:10;top:0;width:100%;height:86px;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:15px 4%;background:rgba(9,39,54,.88);backdrop-filter:blur(12px);color:white;transition:height .3s}header.scrolled{height:70px}header img{width:230px;max-width:100%}nav{display:flex;gap:28px;font-size:15px}nav a:hover{color:#e3c68b}.phone{font-size:22px;font-weight:bold;white-space:nowrap}#hero{overflow:hidden;background:var(--navy)}#hero img{display:block;width:100%;height:auto;animation:hero-zoom 1.8s ease-out both}.banner{position:relative;overflow:hidden;background:var(--green);color:white;text-align:center;padding:65px 20px}.banner h1{font-size:clamp(22px,3.5vw,42px);position:relative}.banner a{position:relative;font-size:23px}.leaf{position:absolute;left:6%;top:0;width:140px;opacity:.5;animation:sway 6s ease-in-out infinite alternate}.ticker{overflow:hidden;background:var(--gold);color:white;padding:14px 0;font-size:18px}.ticker div{width:max-content;animation:marquee 34s linear infinite}section{padding:105px 24px}section.pale{background:#f4f7f7}.wrap{max-width:1100px;margin:auto}.heading{text-align:center;margin-bottom:52px}.heading span{font-size:14px;color:var(--gold);letter-spacing:3px;font-weight:bold}.heading h2{font-size:clamp(28px,3.6vw,43px);line-height:1.45;margin:16px 0 12px}.heading p{color:#62717a}.heading:not(:first-child){margin-top:85px}figure{margin:0 0 35px;overflow:hidden;background:white;border-radius:3px}figure img{display:block;width:100%;height:auto;transition:transform .7s ease,filter .7s ease;cursor:zoom-in}figure:hover img{transform:scale(1.018);filter:brightness(1.03)}figcaption{text-align:center;font-size:15px;padding:10px;color:#62717a}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.grid figure{margin-bottom:18px}.grid figure img{aspect-ratio:1.5;object-fit:cover}.grid small{color:var(--gold);font-weight:bold;font-size:13px}.grid h3{font-size:25px;margin:8px 0}.grid p{font-size:16px;color:#62717a}.four{grid-template-columns:repeat(2,1fr);margin-top:45px}dl{margin-top:35px}dl>div{display:grid;grid-template-columns:220px 1fr;border-bottom:1px solid #d6dfe0;padding:18px 16px}dt{font-weight:bold}dd{margin:0}.tabs{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-bottom:28px}.tabs button{border:1px solid #d4dfe1;background:white;color:var(--ink);padding:12px 23px;min-width:85px}.tabs button[aria-selected=true],.tabs button:hover{background:var(--green);color:white;border-color:var(--green)}.tabfigure img{transform:none!important}.tabfigure.switching{animation:tabfade .4s ease}iframe{width:100%;height:620px;border:0;background:#e4ecee}#media iframe{height:auto;aspect-ratio:16/9}details{background:white;border-bottom:1px solid #d5dedf;padding:22px 26px}summary{cursor:pointer;font-size:18px;font-weight:bold}details p{color:#62717a}.actions{display:flex;gap:15px;justify-content:center}.actions a{padding:17px 35px;background:var(--green);color:white;border-radius:3px}footer{background:var(--navy);color:#b9c8ce;padding:50px max(24px,calc((100% - 1100px)/2));font-size:14px}aside{position:fixed;z-index:12;right:20px;bottom:22px;display:flex;flex-direction:column;box-shadow:0 3px 20px #0002}aside a{padding:13px 20px;text-align:center;background:var(--green);color:white;border-bottom:1px solid #ffffff30;font-size:14px}aside a:last-child{background:var(--navy)}.js .reveal{opacity:0;transform:translateY(38px);transition:opacity .85s,transform .85s}.js .reveal.visible{opacity:1;transform:none}dialog{border:0;padding:45px 15px 15px;width:min(1200px,96vw);max-height:95vh;background:white}dialog::backdrop{background:#03141de0}dialog img{width:100%;height:auto}dialog button{position:absolute;top:8px;right:15px;border:0;background:white}body:has(dialog[open]){overflow:hidden}@keyframes hero-zoom{from{transform:scale(1.045);opacity:.6}to{transform:scale(1);opacity:1}}@keyframes sway{to{transform:rotate(8deg) translateY(8px)}}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes tabfade{from{opacity:.2}to{opacity:1}}@media(max-width:1000px){nav{gap:12px}header img{width:170px}.phone{font-size:18px}.grid{gap:22px}}@media(max-width:700px){header{height:62px;padding:10px 16px}header.scrolled{height:62px}header img{width:150px}nav{display:none}.phone{font-size:17px}#hero{padding-top:62px}.banner{padding:40px 16px}.leaf{width:85px}section{padding:64px 18px}.heading{margin-bottom:32px}.grid,.four{grid-template-columns:1fr}.grid article{margin-bottom:15px}.grid figure img{aspect-ratio:auto}dl>div{grid-template-columns:1fr;padding:15px 8px;gap:4px}dd{font-size:16px}.tabs button{padding:10px 15px;font-size:15px}iframe{height:440px}.actions{flex-direction:column;text-align:center}aside{right:0;bottom:0;left:0;flex-direction:row}aside a{flex:1}footer{padding-bottom:95px}figcaption{font-size:14px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}}

/* Updated header and prominent centered quick menu */
header{position:sticky;top:0;background:var(--navy)}
#hero{padding-top:0!important}#hero picture{display:block}#hero img{height:auto;object-fit:contain;animation:hero-appear 1.2s ease-out both}
@keyframes hero-appear{from{opacity:.65}to{opacity:1}}
aside{left:50%;right:auto;bottom:28px;transform:translateX(-50%);flex-direction:row;width:max-content;max-width:calc(100vw - 32px);border:2px solid #c8a564;border-radius:12px;overflow:hidden;box-shadow:0 8px 30px #03131f66}
aside a{padding:17px 30px;min-width:110px;font-size:16px;font-weight:700;border-bottom:0;border-right:1px solid #ffffff40;white-space:nowrap}
aside a:nth-child(2){background:#b5924c;color:#fff}aside a:hover{filter:brightness(1.14)}footer{padding-bottom:140px}footer a{text-decoration:underline;color:white}
@media(max-width:700px){aside{left:50%;right:auto;bottom:14px;width:calc(100% - 32px);max-width:420px}aside a{min-width:0;flex:1;padding:15px 10px;font-size:15px}footer{padding-bottom:130px}}

/* Visit reservation gift popup: desktop and mobile */
#gift-popup{padding:0;border:0;border-radius:18px;width:min(440px,calc(100vw - 40px));max-width:none;max-height:calc(100dvh - 32px);overflow:auto;background:#fbf8ff;color:#342252;box-shadow:0 24px 90px #0006}
#gift-popup::backdrop{background:rgba(14,18,30,.66)}
#gift-popup .gift-content{padding:0}#gift-popup .gift-poster{display:block;width:100%;height:auto;max-height:none;object-fit:contain}
#gift-popup .gift-reserve{display:flex;align-items:center;justify-content:center;gap:24px;background:#473267;color:#fff;font-size:18px;font-weight:700;padding:17px;text-decoration:none}
#gift-popup .gift-controls{display:flex;align-items:center;justify-content:space-between;padding:13px 18px;gap:12px;background:#fff;font-size:13px}
#gift-popup label{display:flex;align-items:center;gap:7px;cursor:pointer}#gift-popup input{accent-color:#473267;width:16px;height:16px}
#gift-popup button{background:none;border:0;color:#342252;font:inherit;padding:8px;cursor:pointer}#gift-popup :focus-visible{outline:3px solid #b291d1;outline-offset:-3px}
@media(max-width:600px){#gift-popup{width:min(400px,calc(100vw - 24px));max-height:calc(100dvh - 24px);border-radius:14px}#gift-popup .gift-reserve{font-size:16px;padding:14px}#gift-popup .gift-controls{padding:9px 12px;font-size:12px}}
#gift-popup .gift-controls button{position:static;flex-shrink:0}

/* Platform lead form */
.gb-lead-form{max-width:680px;margin:0 auto 28px;padding:32px;display:grid;gap:16px;background:#f4f7f7;border:1px solid #d6dfe0;border-radius:12px}
.gb-lead-form>input{width:100%;min-width:0;padding:16px 18px;border:1px solid #b9c8ce;border-radius:6px;background:#fff;color:var(--ink);font:inherit;font-size:16px}
.gb-lead-form>.gb-consent{font-size:14px;line-height:1.6}
.gb-lead-form>button{width:100%;padding:17px 20px;border:0;border-radius:6px;background:var(--green);color:#fff;font-weight:700}
.gb-lead-form>button:hover{filter:brightness(1.12)}
.gb-lead-form>input:focus-visible,.gb-lead-form>button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
@media(max-width:700px){.gb-lead-form{padding:22px 18px;gap:14px}}
