[hidden]{display:none!important}
@media(max-width:899px){.header{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}}
*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:var(--font);font-size:16px;line-height:1.6;color:var(--ink);background:var(--bg);overflow-x:hidden}
img{max-width:100%;height:auto;display:block}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4{margin:0 0 .5em;line-height:1.2;font-family:var(--head)}p{margin:0 0 1em}ul,ol{margin:0;padding:0}
svg{width:1em;height:1em;fill:currentColor;flex:0 0 auto}
.container{width:100%;max-width:1200px;margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-999px;top:8px;z-index:200;background:#000;color:#fff;padding:8px 12px}.skip:focus{left:8px}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:3px solid var(--focus,#2563eb);outline-offset:2px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 20px;border-radius:var(--r-btn,10px);border:2px solid transparent;font-weight:600;text-decoration:none;cursor:pointer;line-height:1.2;text-align:center;transition:transform .15s,background .15s}
.btn:active{transform:translateY(1px)}.btn--sm{min-height:40px;padding:8px 14px;font-size:14px}.btn--block{width:100%}
.burger{display:none;width:44px;height:44px;border:0;background:transparent;cursor:pointer;padding:10px;flex-direction:column;justify-content:center;gap:5px}
.burger span{display:block;height:2px;background:currentColor;border-radius:2px;transition:.2s}
body.menu-open .burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}body.menu-open .burger span:nth-child(2){opacity:0}body.menu-open .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field label,.field .lbl{font-weight:600;font-size:14px}
.field input,.field select,.field textarea{width:100%;min-height:46px;padding:10px 12px;border:1.5px solid var(--line-strong,#c8cdd6);border-radius:var(--r-in,8px);background:#fff;color:#16181d}
.field textarea{min-height:90px;resize:vertical}.field [aria-invalid=true]{border-color:#c62828}.err{color:#c62828;font-size:13px;min-height:0}
.form__ok{padding:12px 14px;border-radius:8px;background:#e8f5e9;color:#1b5e20;font-weight:500}.form__privacy{font-size:13px;color:var(--muted);margin:0}
.float{position:fixed;right:14px;bottom:18px;z-index:70;display:flex;flex-direction:column;gap:10px}
.float__btn{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;box-shadow:0 6px 18px rgba(0,0,0,.2);color:#fff}
.float__btn--zalo{background:#0068ff}.float__btn--zalo svg{width:34px;height:34px}.float__btn--call{background:#16a34a}.float__btn--call svg{width:24px;height:24px}
.demo-badge{position:fixed;left:12px;bottom:12px;z-index:60;font-size:12px;background:#111;color:#fff;padding:6px 10px;border-radius:6px;text-decoration:none}
.social{display:flex;gap:8px;margin-top:14px}.social a{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;border:1px solid currentColor;opacity:.85}.social svg{width:18px;height:18px}
details summary{cursor:pointer;list-style:none}details summary::-webkit-details-marker{display:none}
.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
:root{--ink:#2e1520;--bg:#fbf4f0;--card:#fff;--muted:#6e5560;--line:#efdfd8;--line-strong:#dcc4ba;--acc:#7a1f3d;--acc-soft:#f7e3e7;--acc-ink:#5c1229;--pc:#7a1f3d;--wine:#4a1426;--champ:#e8d3a8;--focus:#b07a2a;--font:"Quicksand",system-ui,sans-serif;--head:"Playfair Display",Georgia,serif;--r-btn:999px;--r-in:12px;--r-card:18px;--r-chip:999px;--fbg:#4a1426;--fink:#ecd9dc;--ok:#2f6b3e}
body{font-weight:500}h1,h2,h3{font-weight:600}h2{font-size:clamp(32px,4.4vw,52px);line-height:1.12}h2 em,h1 em{font-style:italic;font-weight:500;color:var(--acc)}h3{font-size:22px}
.btn--s{background:var(--acc);color:#fff}.btn--s:hover{background:var(--wine)}.btn--g{border-color:var(--acc);color:var(--acc)}.btn--g:hover{background:var(--acc-soft)}.btn--c{background:var(--champ);color:var(--wine)}.btn--c:hover{background:#f1dfba}
.ow{font:700 13px var(--font);letter-spacing:.22em;text-transform:uppercase;color:#a3672a;margin-bottom:12px;display:flex;align-items:center;gap:10px}.ow::before,.ow::after{content:"";width:28px;height:1px;background:currentColor}.ow--l::after{display:none}
.header{position:sticky;top:0;z-index:50;background:rgba(251,244,240,.94);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.header__inner{display:flex;align-items:center;gap:20px;min-height:78px}
.logo{display:flex;flex-direction:column;align-items:flex-start;text-decoration:none;line-height:1}.logo span{font:600 25px var(--head);color:var(--wine)}.logo small{font:700 10px var(--font);letter-spacing:.38em;color:#a3672a;margin-top:5px}
.nav{margin-left:auto;display:flex;align-items:center;gap:28px}.nav ul{display:flex;gap:26px;list-style:none}.nav ul a{text-decoration:none;font-weight:600}.nav ul a:hover{color:var(--acc)}
.hero{padding:60px 0 30px;text-align:center;position:relative;overflow:hidden}.hero .ow{justify-content:center}.hero h1{font-size:clamp(40px,6.6vw,92px);line-height:1.04;max-width:980px;margin:0 auto 18px}.hero p.lead{font-size:19px;color:var(--muted);max-width:560px;margin:0 auto 26px}
.hero__cta{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.stage{position:relative;max-width:1080px;margin:50px auto 0;padding:0 20px}.stage__m{border-radius:400px 400px var(--r-card) var(--r-card);overflow:hidden;aspect-ratio:16/10;border:8px solid #fff;box-shadow:0 30px 70px rgba(74,20,38,.18)}.stage__m img{width:100%;height:100%;object-fit:cover}
.pol{position:absolute;background:#fff;padding:8px 8px 30px;box-shadow:0 16px 40px rgba(74,20,38,.2);width:22%;max-width:220px}.pol img{width:100%;aspect-ratio:3/4;object-fit:cover}.pol figcaption{font:italic 500 15px var(--head);position:absolute;left:0;right:0;bottom:6px;color:var(--wine)}
.pol--l{left:0;bottom:-30px;transform:rotate(-6deg)}.pol--r{right:0;top:30%;transform:rotate(5deg)}
.rib{background:var(--wine);color:var(--champ);margin-top:80px}.rib .container{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;padding-top:30px;padding-bottom:30px;text-align:center}.rib b{display:block;font:600 36px var(--head);color:#fff;line-height:1.1}.rib span{font-size:14px}
.section{padding:96px 0}.sh{text-align:center;margin-bottom:40px}.sh .ow{justify-content:center}.lead{color:var(--muted);font-size:18px;max-width:600px;margin:0 auto}
.halls{display:grid;grid-auto-flow:column;grid-auto-columns:82%;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:14px;scrollbar-width:thin}.hall{scroll-snap-align:start;position:relative;border-radius:var(--r-card);overflow:hidden;min-height:440px;display:flex;align-items:flex-end;color:#fff}
.hall img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}.hall:hover img{transform:scale(1.04)}.hall::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(46,21,32,.88))}
.hall__b{position:relative;z-index:2;padding:24px}.hall h3{font-size:28px;margin:0 0 6px;color:#fff}.hall h3 a{text-decoration:none}.hall h3 a::after{content:"";position:absolute;inset:0}.hall p{margin:0 0 10px;font-size:15px;color:#f3e6e9}.hall__m{display:flex;flex-wrap:wrap;gap:8px;font-size:13px;font-weight:700}.hall__m span{background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.35);padding:4px 12px;border-radius:999px}
.tg{position:absolute;top:16px;left:16px;z-index:3;background:var(--champ);color:var(--wine);font:700 12px var(--font);padding:5px 12px;border-radius:999px}
.pk{display:grid;gap:20px}.pkc{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden;display:flex;flex-direction:column;text-align:center}.pkc img{width:100%;aspect-ratio:4/3;object-fit:cover}.pkc__b{padding:22px 20px 24px;display:flex;flex-direction:column;gap:8px;flex:1}.pkc h3{margin:0}.pkc h3 a{text-decoration:none}.pkc h3 a::after{content:"";position:absolute;inset:0}.pkc p{color:var(--muted);font-size:15px;margin:0}.pkc b{font:600 28px var(--head);color:var(--acc);margin-top:auto}.pkc small{color:var(--muted);font-size:13px}
.pkc--f{border:2px solid var(--acc);box-shadow:0 20px 50px rgba(122,31,61,.15)}
.est{background:#fff;border:1px solid var(--line);border-radius:28px;padding:26px;display:grid;gap:26px}.est input[type=range]{width:100%;accent-color:var(--acc);min-height:30px}.est .rl{display:flex;justify-content:space-between;font-weight:700}.est .rl output{color:var(--acc)}
.sum{background:var(--wine);color:var(--champ);border-radius:22px;padding:26px;text-align:center;display:flex;flex-direction:column;gap:8px;justify-content:center}.sum b{font:600 clamp(32px,4vw,46px) var(--head);color:#fff;line-height:1.1}.sum small{font-size:14px}
.cal{background:#fff;border-radius:var(--r-card);border:1px solid var(--line);padding:22px;max-width:520px;width:100%}.cal h3{text-align:center;margin-bottom:14px}.cal__g{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;text-align:center;font-size:14px}.cal__g .wd{font-weight:700;color:var(--muted);font-size:12px}
.cal__g span{aspect-ratio:1;display:grid;place-items:center;border-radius:50%;font-weight:600}.cal__g .bk{background:#f0e6e2;color:#a8919a;text-decoration:line-through}.cal__g .ok{background:var(--acc-soft);color:var(--acc-ink)}.cal__g .gd{background:var(--acc);color:#fff}
.lg{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;font-size:13px;margin-top:14px}.lg i{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:6px;vertical-align:-1px}
.av{display:grid;gap:36px;align-items:center;justify-items:center}.av ul{list-style:none;display:grid;gap:12px}.av li{display:flex;gap:10px}.av li svg{color:var(--acc);width:22px;height:22px;margin-top:2px}
.gal{columns:2;column-gap:14px}.gal figure{margin:0 0 14px;break-inside:avoid;border-radius:14px;overflow:hidden}.gal img{width:100%}
.rv{display:grid;gap:20px}.rv blockquote{margin:0;text-align:center;padding:30px 24px;border-top:1px solid var(--line-strong)}.rv p{font:italic 500 21px/1.5 var(--head);color:var(--wine)}.rv cite{font-style:normal;font-weight:700;font-size:14px;color:#a3672a;letter-spacing:.06em}
.bkg{background:var(--wine);color:var(--fink)}.bkg h2{color:#fff}.bkg h2 em{color:var(--champ)}.bkg .ow{color:var(--champ)}.bkg__g{display:grid;gap:30px;align-items:center}.bkg .form{background:#fff;color:var(--ink);padding:28px;border-radius:24px}.bkg img{border-radius:200px 200px 18px 18px;width:100%;max-width:400px;aspect-ratio:3/4;object-fit:cover;border:6px solid rgba(232,211,168,.4)}
@media(min-width:640px){.halls{grid-auto-columns:46%}.pk{grid-template-columns:1fr 1fr}.rv{grid-template-columns:repeat(3,1fr)}.rib .container{grid-template-columns:repeat(4,1fr)}.gal{columns:3}}
@media(min-width:900px){.halls{grid-auto-columns:calc((100% - 54px)/4);overflow:visible}.hall{min-height:520px}.hall:nth-child(even){margin-top:50px}.pk{grid-template-columns:repeat(4,1fr)}.est{grid-template-columns:1.3fr 1fr;padding:36px}.av{grid-template-columns:1fr 1fr;justify-items:start}.bkg__g{grid-template-columns:400px 1fr;gap:70px}.gal{columns:4}}
@media(max-width:899px){.pol{width:30%}.pol--r{top:auto;bottom:-24px}}
@media(max-width:480px){.section{padding:64px 0}.hero{padding-top:36px}.hero .ow::before,.hero .ow::after{display:none}.stage{margin-top:34px}.stage__m{border-width:5px;aspect-ratio:4/3.4}.pol{width:27%}.pol--l{bottom:-36px}.pol{padding:5px 5px 22px}.pol figcaption{font-size:12px;bottom:3px}}
.dt{display:grid;gap:30px}.dt__im{position:relative}.dt__im img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:220px 220px var(--r-card) var(--r-card)}.dt h1{font-size:clamp(34px,4.6vw,56px);line-height:1.08;margin:6px 0 10px}
.dpr{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;margin-bottom:10px}.dpr b{font:600 38px var(--head);color:var(--acc)}.dpr s{color:var(--muted)}.dpr small{color:var(--muted)}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 4px}.tags span{border:1px solid var(--line-strong);border-radius:999px;padding:5px 14px;font-size:14px;background:#fff}
.opt{margin:18px 0}.opt__l{font-weight:700;margin-bottom:8px}.ad{display:grid;gap:8px}.ad label{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid var(--line-strong);border-radius:14px;padding:12px 14px;cursor:pointer;background:#fff}.ad input{accent-color:var(--acc);width:20px;height:20px}.ad span{flex:1}.ad b{color:var(--acc)}
.tb{display:flex;align-items:center;gap:14px}.tb input[type=range]{flex:1;accent-color:var(--acc)}.tb output{font-weight:700;min-width:70px;text-align:right}
.tot{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--line-strong);margin-top:18px;padding-top:16px}.tot b{font:600 30px var(--head);color:var(--acc)}.buy{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}.al{font-size:14px;color:var(--muted);border-left:3px solid var(--champ);padding-left:12px;margin-top:14px}
.rc img{aspect-ratio:4/3}
@media(min-width:900px){.dt{grid-template-columns:1fr 1.05fr;gap:60px;align-items:start}}
.footer{background:var(--fbg);color:var(--fink);padding:64px 0 0;margin-top:0}.footer a{color:inherit;text-decoration:none}.footer a:hover{text-decoration:underline}
.footer__grid{display:grid;gap:32px;padding-bottom:40px}.footer__title{font-size:16px;margin-bottom:12px;color:var(--fhead,#fff)}.footer__links{list-style:none;display:grid;gap:8px;font-size:15px}
.footer__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 20px;border-top:1px solid rgba(255,255,255,.14);padding-top:18px;padding-bottom:70px;font-size:13px;opacity:.85}.footer__bottom p{margin:0}
@media(min-width:900px){.footer__grid{grid-template-columns:1.4fr 1fr 1fr 1fr}}
.bc{display:flex;flex-wrap:wrap;gap:8px;font-size:14px;color:var(--muted);padding:22px 0}.bc a{text-decoration:none}.bc a:hover{text-decoration:underline}
.toast{min-height:0;margin-top:12px;font-weight:600;color:var(--ok,#166534)}.toast:empty{display:none}
.spec{width:100%;border-collapse:collapse;margin-top:8px}.spec th,.spec td{text-align:left;padding:11px 0;border-bottom:1px solid var(--line);vertical-align:top}.spec th{width:44%;font-weight:600;color:var(--muted)}
.qty{display:inline-flex;align-items:center;border:1.5px solid var(--line-strong);border-radius:10px;overflow:hidden}.qty button{width:44px;height:44px;border:0;background:transparent;font-size:20px;cursor:pointer}.qty input{width:56px;height:44px;border:0;text-align:center;font-weight:700;-moz-appearance:textfield;background:transparent}.qty input::-webkit-inner-spin-button{-webkit-appearance:none}
.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{position:relative}.chip input{position:absolute;opacity:0;width:1px;height:1px}.chip span{display:inline-flex;align-items:center;min-height:42px;padding:8px 14px;border:1.5px solid var(--line-strong);border-radius:var(--r-chip,999px);cursor:pointer;font-weight:600;font-size:15px;line-height:1.2}.chip input:checked+span{border-color:var(--acc);background:var(--acc-soft);color:var(--acc-ink,inherit)}.chip input:focus-visible+span{outline:3px solid var(--focus);outline-offset:2px}.chip input:disabled+span{opacity:.4;cursor:not-allowed;text-decoration:line-through}
.faq{max-width:820px;margin:28px auto 0;display:grid;gap:10px}.faq details{border:1px solid var(--line);border-radius:var(--r-card,12px);padding:0 18px;background:var(--card,#fff)}.faq summary{padding:16px 28px 16px 0;font-weight:700;position:relative}.faq summary::after{content:"+";position:absolute;right:0;top:12px;font-size:22px;color:var(--acc)}.faq details[open] summary::after{content:"−"}.faq p{color:var(--muted)}
.rel{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}@media(min-width:900px){.rel{grid-template-columns:repeat(4,minmax(0,1fr))}}
.rc{border:1px solid var(--line);border-radius:var(--r-card,12px);overflow:hidden;background:var(--card,#fff)}.rc img{width:100%;aspect-ratio:1;object-fit:cover}.rc div{padding:12px}.rc a{display:block;font-weight:700;text-decoration:none;line-height:1.3}.rc a:hover{color:var(--acc)}.rc b{display:block;margin-top:4px;color:var(--acc-ink,var(--acc))}
.form{display:grid;gap:14px}.row2{display:grid;gap:12px;grid-template-columns:1fr}@media(min-width:560px){.row2{grid-template-columns:1fr 1fr}}
@media(max-width:899px){.burger{display:flex;margin-left:auto;position:relative;z-index:61}.nav{position:fixed;inset:0 0 0 auto;width:min(320px,86vw);background:#fbf4f0;flex-direction:column;align-items:stretch;padding:90px 24px 24px;gap:18px;transform:translateX(100%);visibility:hidden;transition:transform .25s,visibility .25s;z-index:60;box-shadow:-10px 0 40px rgba(0,0,0,.2);overflow-y:auto}
body.menu-open .nav{transform:none;visibility:visible}.nav ul{flex-direction:column;gap:2px}.nav ul a{display:block;padding:12px 0;font-size:18px;border-bottom:1px solid var(--line)}}
