:root{
  --black:#0E0308; --black-2:#170610; --maroon:#4A0E2C; --maroon-2:#3A0A22; --maroon-3:#5C1238;
  --pink:#D6035F; --pink-2:#B0024E;
  --gold:#D4AF5A; --gold-hi:#EBCF8A; --gold-lo:#A8843A;
  --cream:#F7EFE4; --muted:rgba(247,239,228,.68);
  --head:'Marcellus', 'Times New Roman', serif; --body:'Jost', system-ui, sans-serif; --script:'Allura', cursive;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--black);color:var(--cream);font-family:var(--body);font-weight:300;font-size:16.5px;line-height:1.7;-webkit-font-smoothing:antialiased}
a{color:inherit}
img,svg{display:block}
:focus-visible{outline:2px solid var(--gold-hi);outline-offset:3px}
.wrap{max-width:1240px;margin:0 auto;padding:0 32px}
.skip{position:absolute;left:-999px;top:8px;background:var(--cream);color:#000;padding:8px 14px;z-index:200}
.skip:focus{left:8px}
h1,h2,h3,h4{font-family:var(--head);font-weight:400;margin:0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:var(--body);font-weight:500;font-size:13.5px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;padding:13px 24px;line-height:1;transition:background-color .2s,color .2s,border-color .2s}
.btn .wa{width:16px;height:16px}
.btn-line{border:1.5px solid var(--gold);color:var(--gold-hi)}
.btn-line:hover{background:var(--gold);color:var(--black)}
.btn-pink{background:var(--pink);color:#fff;border:1.5px solid var(--pink)}
.btn-pink:hover{background:var(--pink-2);border-color:var(--pink-2)}
.btn-gold{background:var(--gold);color:var(--black);border:1.5px solid var(--gold)}
.btn-gold:hover{background:var(--gold-hi);border-color:var(--gold-hi)}
.nh{display:inline-block;font-weight:600;font-size:12px;letter-spacing:.2em;padding:5px 10px 4px 12px;border:1.5px solid currentColor;line-height:1.2}
.label{font-size:13px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}

/* header */
.top{background:var(--black);border-bottom:1px solid rgba(212,175,90,.22)}
.top-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding:14px 0 12px}
.info-l{display:flex;gap:22px;font-size:13px;line-height:1.55;color:var(--muted)}
.info-l .col + .col{border-left:1px solid rgba(212,175,90,.35);padding-left:22px}
.info-l b{color:var(--gold);font-weight:500}
.info-l a{text-decoration:none}
.logo img{width:96px;height:96px}
.top-r{display:flex;justify-content:flex-end}
nav.main{border-top:1px solid rgba(212,175,90,.14)}
nav.main ul{list-style:none;margin:0;padding:11px 0;display:flex;justify-content:center;flex-wrap:wrap;gap:6px 34px}
nav.main a{text-decoration:none;font-size:14px;letter-spacing:.06em;color:var(--gold-hi)}
nav.main a:hover{color:#fff}

/* hero */
.hero{background:var(--maroon);padding:64px 0 0;text-align:center;overflow:hidden}
.hero h1{color:var(--gold);font-size:clamp(34px,4.6vw,62px);line-height:1.12;max-width:16ch;margin:0 auto}
.hero .sub{margin:18px 0 0;font-size:13px;letter-spacing:.26em;text-transform:uppercase;color:var(--muted)}
.hero .sub .nh{color:var(--gold-hi);margin-left:12px;letter-spacing:.2em}
.arches{width:100%;max-width:1440px;height:auto;margin:48px auto 0;padding:0 16px}
.js .sun{animation:rise 2.8s cubic-bezier(.2,.7,.2,1) both;transform-box:fill-box;transform-origin:center}
@keyframes rise{from{transform:translateY(46px)}to{transform:none}}
@media (prefers-reduced-motion:reduce){.js .sun{animation:none}}

/* intro trio */
.intro{background:var(--maroon)}
.intro .grid{display:grid;grid-template-columns:1fr 1.45fr 1fr;align-items:center;max-width:1440px;margin:0 auto}
.intro .center{background:var(--black);padding:84px 64px 92px;text-align:center}
.intro .center img{width:132px;height:132px;margin:0 auto 26px}
.intro .center h2{color:var(--gold);font-size:clamp(26px,2.6vw,36px);line-height:1.25}
.intro .center .btn{margin:28px 0 24px}
.script{font-family:var(--script);font-size:36px;line-height:1.1;color:var(--gold)}
.intro .center p{margin:16px auto 0;max-width:56ch;font-size:15.5px;color:var(--muted)}
.side{padding:0 26px}
.card{position:relative;border-radius:180px 180px 0 0;overflow:hidden;padding:120px 30px 44px;text-align:center;border:1px solid rgba(212,175,90,.4);background:radial-gradient(120% 70% at 50% 0%, #6A1840 0%, #3A0A22 60%, #22061A 100%)}
.card .ci{width:56px;height:56px;margin:0 auto 18px;color:var(--gold)}
.card h3{font-size:28px;line-height:1.15;color:var(--cream);letter-spacing:.02em}
.card p{margin:12px 0 24px;font-size:15px;color:var(--muted)}

/* menu */
.menu{background:var(--black-2);padding:110px 0 120px}
.menu-head{text-align:center;margin-bottom:40px}
.menu-head h2{font-size:clamp(40px,4.4vw,58px);color:var(--gold);line-height:1.1}
.menu-head p{margin:14px 0 18px;color:var(--muted)}
.menu-head .nh{color:var(--gold-hi)}
.chips{position:sticky;top:0;z-index:30;background:rgba(23,6,16,.96);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-top:1px solid rgba(212,175,90,.18);border-bottom:1px solid rgba(212,175,90,.18);margin-bottom:50px}
.chips .scroller{display:flex;justify-content:safe center;gap:6px;overflow-x:auto;padding:12px 0;scrollbar-width:none}
.chips .scroller::-webkit-scrollbar{display:none}
.chip{flex:none;text-decoration:none;font-size:13.5px;letter-spacing:.06em;color:var(--gold-hi);padding:8px 16px;border:1px solid transparent;border-radius:999px;white-space:nowrap}
.chip:hover{border-color:rgba(212,175,90,.45)}
.chip.on{background:var(--gold);color:var(--black)}
.cat{margin:0 0 64px;scroll-margin-top:84px}
.cat h3{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;font-size:32px;color:var(--gold);padding-bottom:14px;margin-bottom:22px;border-bottom:1px solid rgba(212,175,90,.3)}
.cat h3 span{font-family:var(--body);font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
.dishes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.dish{display:flex;gap:18px;align-items:center;padding:14px;border-radius:14px;background:rgba(247,239,228,.035);border:1px solid rgba(212,175,90,.14)}
.thumb{flex:none;width:96px;height:96px;border-radius:10px;object-fit:cover}
.thumb.ph{display:flex;align-items:center;justify-content:center;color:var(--gold);background:radial-gradient(90% 90% at 30% 20%, #5C1238, #2A0819)}
.thumb.ph svg{width:44px;height:44px;opacity:.9}
.d-txt{min-width:0;display:flex;flex-direction:column}
.d-txt h4{font-size:19px;line-height:1.25;color:var(--cream)}
.d-txt p{margin:2px 0 6px;font-size:14.5px;line-height:1.4;color:var(--muted)}
.d-price{font-weight:600;font-size:16px;color:var(--gold-hi)}
.rm{font-size:.75em;margin-right:3px;letter-spacing:.05em}
.menu-foot{text-align:center;margin-top:10px;color:var(--muted);font-size:15px}
.menu-foot p{margin:0 0 22px}

/* order split */
.order{display:grid;grid-template-columns:1fr 1fr;background:var(--maroon)}
.order .txt{padding:96px 72px;display:flex;flex-direction:column;justify-content:center}
.order h2{font-size:clamp(32px,3.2vw,44px);line-height:1.15;color:var(--gold)}
.order .txt > p{margin:18px 0 30px;max-width:48ch;color:var(--muted)}
.feat{list-style:none;margin:16px 0 36px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:20px 26px}
.feat li{display:flex;align-items:center;gap:14px;font-size:13.5px;letter-spacing:.1em;text-transform:uppercase;line-height:1.35}
.feat svg{flex:none;width:36px;height:36px;color:var(--gold)}
.order .pic{min-height:520px;background:#C70452 url("banner.jpg") center/cover no-repeat}
.order .btn{align-self:flex-start}

/* ways */
.ways{background:var(--black);padding:110px 0 120px;text-align:center}
.ways .lead{font-size:14px;letter-spacing:.1em;color:var(--muted)}
.ways h2{margin-top:10px;font-size:clamp(32px,3.6vw,46px);color:var(--gold);letter-spacing:.02em}
.ways .row{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin:56px auto 50px;max-width:1040px}
.way .arch{height:250px;border-radius:150px 150px 0 0;display:flex;align-items:center;justify-content:center;color:var(--gold);border:1px solid rgba(212,175,90,.35);background:radial-gradient(100% 80% at 50% 10%, #6A1840, #2A0819 75%)}
.way .arch svg{width:86px;height:86px}
.way h3{margin-top:22px;font-size:22px;letter-spacing:.08em;color:var(--gold-hi)}
.way p{margin:6px auto 0;max-width:30ch;font-size:15px;color:var(--muted)}

/* follow */
.follow{background:linear-gradient(180deg,#5C1238,#2A0819);padding:96px 0;text-align:center}
.follow h2{font-size:clamp(32px,3.6vw,48px);color:var(--gold)}
.follow p{margin:12px 0 28px;color:var(--muted)}

/* footer */
footer{background:var(--maroon-2)}
.f-grid{display:grid;grid-template-columns:repeat(4,1fr);padding:64px 0 56px}
.f-col{padding:0 28px;text-align:center;font-size:14.5px;line-height:1.8}
.f-col + .f-col{border-left:1px solid rgba(212,175,90,.25)}
.f-col h4{font-family:var(--body);font-weight:500;font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
.f-col p{margin:0}
.f-col b{font-weight:500;color:var(--cream)}
.f-col span{color:var(--muted)}
.f-col a{text-decoration:none;color:var(--cream)}
.f-col a:hover{color:var(--gold-hi)}
.f-col ul{list-style:none;margin:0;padding:0}
.f-bot{background:var(--black)}
.f-bot .wrap{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 32px}
.f-bot p{margin:0;font-size:13px;color:var(--gold-lo)}
.f-bot img{width:58px;height:58px}
.mbar{display:none}

@media (max-width:1060px){
  .info-l .col:last-child{display:none}
  .intro .grid{grid-template-columns:1fr 1fr}
  .intro .center{grid-column:1/-1;order:-1}
  .side{padding:48px 24px}
  .order{grid-template-columns:1fr}
  .order .pic{min-height:420px;order:-1}
  .order .txt{padding:72px 40px}
  .f-grid{grid-template-columns:1fr 1fr;row-gap:40px}
  .f-col:nth-child(3){border-left:0}
}
@media (max-width:760px){
  body{padding-bottom:72px}
  .wrap{padding:0 20px}
  .top-row{grid-template-columns:1fr;justify-items:center;padding:12px 0 8px}
  .info-l,.top-r{display:none}
  .logo img{width:84px;height:84px}
  nav.main ul{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;gap:24px;padding:10px 20px;scrollbar-width:none}
  nav.main ul::-webkit-scrollbar{display:none}
  nav.main li{flex:none}
  .hero{padding-top:44px}
  .hero .sub{letter-spacing:.16em;font-size:12px;line-height:2}
  .hero .sub .nh{display:table;margin:10px auto 0}
  .arches{margin-top:32px;padding:0 8px}
  .intro .grid{grid-template-columns:1fr}
  .intro .center{padding:64px 24px 70px}
  .side{padding:40px 22px 0}
  .side:last-child{padding-bottom:48px}
  .menu{padding:80px 0 90px}
  .chips .scroller{justify-content:flex-start;padding:10px 20px}
  .chips{margin-left:-20px;margin-right:-20px}
  .dishes{grid-template-columns:1fr;gap:12px}
  .thumb{width:84px;height:84px}
  .d-txt h4{font-size:18px}
  .order .pic{min-height:300px}
  .order .txt{padding:60px 22px}
  .feat{grid-template-columns:1fr}
  .ways .row{grid-template-columns:1fr;gap:44px}
  .f-grid{grid-template-columns:1fr}
  .f-col + .f-col{border-left:0;border-top:1px solid rgba(212,175,90,.25);padding-top:28px}
  .f-bot .wrap{flex-direction:column;text-align:center;padding:18px 20px}
  .mbar{display:grid;grid-template-columns:1.4fr 1fr;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:60;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(14,3,8,.97);border-top:1px solid rgba(212,175,90,.3)}
  .mbar .btn{padding:14px 8px;font-size:12.5px;letter-spacing:.08em}
}

nav.main a[aria-current="page"]{color:#fff;border-bottom:1px solid var(--gold);padding-bottom:3px}
.ph-fallback{display:flex;align-items:center;justify-content:center;color:var(--gold);background:radial-gradient(100% 90% at 50% 15%, #6A1840, #2A0819 75%)}
.ph-fallback svg{width:30%;max-width:84px;height:auto}
/* inner page header band */
.page-hero{position:relative;min-height:340px;display:flex;align-items:flex-end;background:#14040C url("mekong.svg") center bottom/cover no-repeat;border-bottom:1px solid rgba(212,175,90,.3)}
.page-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,3,8,.85) 0%,rgba(14,3,8,.45) 55%,rgba(14,3,8,0) 100%)}
.page-hero .wrap{position:relative;width:100%;padding-top:70px;padding-bottom:56px}
.page-hero h1{font-size:clamp(38px,4.6vw,60px);line-height:1.08;color:var(--gold);max-width:14ch}
.page-hero p{margin:12px 0 0;max-width:46ch;color:var(--muted);font-size:17px}
/* home: menu category grid */
.explore{background:var(--black-2);padding:110px 0 120px;text-align:center}
.explore h2{font-size:clamp(36px,4vw,52px);color:var(--gold)}
.explore .intro-p{margin:12px auto 54px;max-width:52ch;color:var(--muted)}
.cats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.cat-card{display:flex;flex-direction:column;text-decoration:none;color:inherit}
.cat-card .ph-slot{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:999px 999px 0 0;border:1px solid rgba(212,175,90,.35)}
.cat-card h3{margin-top:18px;font-size:22px;color:var(--gold-hi);letter-spacing:.04em}
.cat-card p{margin:4px 0 10px;font-size:14.5px;color:var(--muted)}
.cat-card .more{font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.cat-card:hover h3{color:#fff}
.explore .btn{margin-top:54px}
/* home: services arches */
.ways .way{text-decoration:none;color:inherit;display:block}
.ways .way .ph-slot{height:250px;width:100%;object-fit:cover;border-radius:150px 150px 0 0;border:1px solid rgba(212,175,90,.35)}
.ways .way .ph-fallback svg{width:86px}
.ways .way:hover h3{color:#fff}
/* split rows (events, catering) */
.split{display:grid;grid-template-columns:1fr 1fr;background:var(--maroon)}
.split:nth-of-type(even){background:var(--black)}
.split .txt{padding:90px 72px;display:flex;flex-direction:column;justify-content:center}
.split h2{font-size:clamp(30px,3vw,42px);line-height:1.15;color:var(--gold)}
.split .txt p{margin:16px 0 0;max-width:50ch;color:var(--muted)}
.split .pic .ph-slot{width:100%;height:100%;min-height:440px;object-fit:cover}
.split.flip .pic{order:-1}
/* forms */
.form-sec{background:var(--maroon);padding:100px 0 110px}
.form-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:64px;align-items:start}
.form-aside h2{font-size:clamp(32px,3.4vw,46px);color:var(--gold);line-height:1.12}
.form-aside > p{margin:16px 0 30px;color:var(--muted);max-width:42ch}
.aside-list{list-style:none;margin:0;padding:0;border-top:1px solid rgba(212,175,90,.3)}
.aside-list li{display:grid;grid-template-columns:110px 1fr;gap:14px;padding:16px 0;border-bottom:1px solid rgba(212,175,90,.3);font-size:15.5px}
.aside-list b{font-weight:500;font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);padding-top:3px}
.aside-list a{text-decoration:none;border-bottom:1px solid rgba(212,175,90,.5)}
.form-card{background:var(--black);border:1px solid rgba(212,175,90,.35);padding:40px 40px 44px}
.form-card h3{font-size:26px;color:var(--gold-hi);margin-bottom:6px}
.form-card .hint{margin:0 0 26px;font-size:14.5px;color:var(--muted)}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}
.field{display:flex;flex-direction:column;gap:7px}
.field.full{grid-column:1/-1}
.field label{font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.field input,.field select,.field textarea{font:inherit;font-weight:400;font-size:16px;color:var(--cream);background:#1C0812;border:1px solid rgba(212,175,90,.35);border-radius:0;padding:13px 14px;min-height:48px;width:100%;color-scheme:dark}
.field textarea{min-height:110px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--gold-hi);box-shadow:0 0 0 2px rgba(235,207,138,.25)}
.field .err{font-size:13.5px;color:#FF9DB8;min-height:0}
.amounts{display:flex;flex-wrap:wrap;gap:10px}
.amounts label{position:relative}
.amounts input{position:absolute;opacity:0;pointer-events:none}
.amounts span{display:inline-block;padding:12px 20px;border:1px solid rgba(212,175,90,.45);font-weight:500;letter-spacing:.06em;cursor:pointer;color:var(--gold-hi);text-transform:none}
.amounts input:checked + span{background:var(--gold);color:var(--black);border-color:var(--gold)}
.amounts input:focus-visible + span{outline:2px solid var(--gold-hi);outline-offset:2px}
.form-card .submit{margin-top:28px;width:100%}
.wa-confirm{display:none;margin-top:26px;padding:24px;border:1px solid var(--gold);background:#1C0812}
.wa-confirm.show{display:block}
.wa-confirm h4{font-size:20px;color:var(--gold-hi)}
.wa-confirm pre{white-space:pre-wrap;font:inherit;font-size:15px;color:var(--cream);margin:12px 0 18px;line-height:1.6}
.wa-confirm .btn{width:100%}
.note-sm{margin:14px 0 0;font-size:13.5px;color:var(--muted)}
.feat-row{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
.feat-row li{display:flex;flex-direction:column;align-items:center;gap:12px;font-size:13.5px;letter-spacing:.12em;text-transform:uppercase;line-height:1.4}
.feat-row svg{width:46px;height:46px;color:var(--gold)}
.band{background:var(--black);padding:80px 0;border-bottom:1px solid rgba(212,175,90,.18)}
.band .lead-c{text-align:center;max-width:62ch;margin:0 auto 46px;color:var(--muted);font-size:17px}
.band h2{text-align:center;font-size:clamp(30px,3.4vw,44px);color:var(--gold);margin-bottom:14px}
@media (max-width:1060px){
  .cats-grid{grid-template-columns:repeat(2,1fr)}
  .split{grid-template-columns:1fr}
  .split .pic{order:-1}
  .split .pic .ph-slot{min-height:320px}
  .split .txt{padding:64px 40px}
  .form-grid{grid-template-columns:1fr;gap:44px}
  .feat-row{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:760px){
  .page-hero{min-height:260px}
  .page-hero .wrap{padding-bottom:40px}
  .explore{padding:80px 0 90px}
  .cats-grid{gap:22px 14px}
  .cat-card h3{font-size:18px}
  .cat-card p{display:none}
  .split .txt{padding:54px 22px}
  .form-sec{padding:70px 0 80px}
  .form-card{padding:28px 20px 30px}
  .fields{grid-template-columns:1fr}
  .aside-list li{grid-template-columns:1fr;gap:2px}
  .band{padding:64px 0}
  .side .card{padding-top:84px;border-radius:150px 150px 0 0}
  .follow .btn{font-size:11.5px;letter-spacing:.05em;padding:13px 14px;max-width:100%}
  .btn{white-space:normal;text-align:center}
}
.shop{background:var(--black-2);padding:100px 0 110px}
.products{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,270px));justify-content:center;gap:26px}
.product{display:flex;flex-direction:column;background:rgba(247,239,228,.035);border:1px solid rgba(212,175,90,.18)}
.p-img{width:100%;aspect-ratio:1/1;object-fit:cover}
.p-img.ph-fallback svg{width:70px}
.p-body{display:flex;flex-direction:column;flex:1;padding:18px 18px 20px}
.p-body h3{font-size:21px;line-height:1.2;color:var(--cream)}
.p-body p{margin:4px 0 16px;font-size:14.5px;color:var(--muted);flex:1}
.p-foot{display:flex;align-items:center;justify-content:space-between;gap:10px}
.p-price{font-weight:600;font-size:18px;color:var(--gold-hi)}
.btn-add{padding:10px 18px;font-size:12.5px;background:transparent;font-family:var(--body);cursor:pointer}
.btn-add.added{background:var(--gold);color:var(--black)}
.cart-list{list-style:none;margin:0 0 6px;padding:0;border-top:1px solid rgba(212,175,90,.3)}
.cart-list li{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid rgba(212,175,90,.3);font-size:15.5px}
.cart-list li.cart-empty{display:block;color:var(--muted)}
.qty{display:inline-flex;align-items:center;border:1px solid rgba(212,175,90,.45)}
.qty button{appearance:none;background:none;border:0;color:var(--gold-hi);font:inherit;font-size:18px;width:40px;height:40px;cursor:pointer}
.qty button:hover{background:rgba(212,175,90,.12)}
.qty span{min-width:30px;text-align:center;font-weight:500}
.line-total{min-width:64px;text-align:right;color:var(--gold-hi);font-weight:500}
.cart-total{display:flex;justify-content:space-between;align-items:baseline;padding:14px 0 24px;font-size:15px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.cart-total b{font-size:24px;letter-spacing:0;color:var(--cream);font-weight:500}
.cart-err{margin:12px 0 0;color:#FF9DB8;font-size:14px;min-height:0}
.cart-bar{position:fixed;left:50%;transform:translateX(-50%);bottom:22px;z-index:65;display:flex;align-items:center;gap:18px;padding:14px 22px;background:var(--gold);color:var(--black);text-decoration:none;font-weight:500;box-shadow:0 10px 30px rgba(0,0,0,.45)}
.cart-bar[hidden]{display:none}
.cart-bar .cb-go{letter-spacing:.12em;text-transform:uppercase;font-size:12.5px;border-left:1px solid rgba(14,3,8,.3);padding-left:16px}
@media (max-width:760px){.shop{padding:70px 0 80px}.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.p-body{padding:14px}.p-body h3{font-size:17px}.p-foot{flex-direction:column;align-items:flex-start}.btn-add{width:100%}.cart-bar{bottom:82px;width:calc(100% - 28px);justify-content:space-between}}
.arch-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:1440px;margin:48px auto 0;padding:0 16px}
.arch-row img{width:100%;height:auto;aspect-ratio:388/440;object-fit:cover;border-radius:38% 38% 0 0/33% 33% 0 0;display:block}
.card.photo{background-size:cover;background-position:center;padding-top:300px}
.card.photo::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,3,8,0) 25%,rgba(14,3,8,.75) 58%,rgba(14,3,8,.92) 100%)}
.card.photo > *{position:relative}
.cats-grid{max-width:1100px;margin:0 auto}
.page-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(14,3,8,.55),rgba(14,3,8,0) 60%);pointer-events:none}
.page-hero .wrap{z-index:1}
.page-hero[style]{background-position:center 45%}
@media (max-width:760px){.arch-row{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:32px;padding:0 10px}.card.photo{padding-top:240px}}
.gift-pic{width:100%;aspect-ratio:3/2;margin-top:34px;border-radius:200px 200px 0 0;border:1px solid rgba(212,175,90,.35);object-fit:cover}

/* ===== vivid pink theme (matches the Arya name card) ===== */
:root{
  --card-pink:radial-gradient(60% 70% at 50% 35%, #FA4C92 0%, rgba(250,76,146,0) 70%),
              radial-gradient(45% 55% at 85% 80%, #F33D87 0%, rgba(243,61,135,0) 70%),
              linear-gradient(160deg, #C0054F 0%, #E3286F 45%, #ED2F7A 65%, #C5034B 100%);
  --on-pink-head:#FFFFFF; --on-pink-accent:#FFE45C; --on-pink-text:rgba(255,255,255,.93); --on-pink-line:rgba(255,236,150,.55);
}
.hero,.intro,.order,.split:nth-of-type(odd),.form-sec,.follow,footer{background:var(--card-pink)}
.hero h1{color:var(--on-pink-head);text-shadow:0 2px 20px rgba(120,0,45,.35)}
.hero .sub{color:var(--on-pink-text)}
.hero .sub .nh{color:var(--on-pink-accent)}
.order h2,.split:nth-of-type(odd) h2,.form-sec .form-aside h2,.follow h2{color:var(--on-pink-head)}
.order .txt > p,.split:nth-of-type(odd) .txt p,.form-sec .form-aside > p,.follow p{color:var(--on-pink-text)}
.order .label,.split:nth-of-type(odd) .label{color:var(--on-pink-accent)}
.order .feat li{color:#fff}
.order .feat svg{color:var(--on-pink-accent)}
.order .pic{background:#C0054F url("photos/order-krapao.webp") center/cover no-repeat}
.order .btn-gold,.split:nth-of-type(odd) .btn-gold{background:#FFD84D;border-color:#FFD84D;color:#3A0C26}
.order .btn-gold:hover{background:#FFE47F;border-color:#FFE47F}
.form-sec .aside-list{border-top-color:var(--on-pink-line)}
.form-sec .aside-list li{border-bottom-color:var(--on-pink-line);color:#fff}
.form-sec .aside-list b{color:var(--on-pink-accent)}
.form-sec .aside-list a{border-bottom-color:rgba(255,255,255,.75)}
.form-sec .form-aside .ph-slot{border-color:var(--on-pink-line)}
.form-card{border-color:#F2C94C;box-shadow:0 24px 60px rgba(90,0,35,.35)}
.follow .btn-line,.order .btn-line{border-color:#FFE45C;color:#fff}
.follow .btn-line:hover,.order .btn-line:hover{background:#FFE45C;color:#3A0C26}
footer .f-col h4{color:var(--on-pink-accent)}
footer .f-col,footer .f-col b,footer .f-col a{color:#fff}
footer .f-col span{color:var(--on-pink-text)}
footer .f-col + .f-col{border-left-color:var(--on-pink-line)}
footer .f-col a:hover{color:var(--on-pink-accent)}
footer{border-top:2px solid #F2C94C}
.ph-fallback,.thumb.ph{background:radial-gradient(70% 70% at 50% 35%, #FA4C92 0%, rgba(250,76,146,0) 75%),linear-gradient(160deg,#C0054F,#E3286F 55%,#C5034B);color:#FFE45C}
.intro .side .card.photo{border-color:#F2C94C;box-shadow:0 20px 50px rgba(90,0,35,.35)}
.arch-row img{box-shadow:0 18px 40px rgba(90,0,35,.3)}
.intro .center{box-shadow:0 24px 60px rgba(60,0,30,.35)}
/* hero arches slide in from the right, then stop */
.js .arch-row img{transform:translateX(110vw);opacity:0}
.js .arch-row.go img{animation:archIn 1.5s cubic-bezier(.16,.84,.3,1) forwards}
.js .arch-row.go img:nth-child(2){animation-delay:.22s}
.js .arch-row.go img:nth-child(3){animation-delay:.44s}
.js .arch-row.go img:nth-child(4){animation-delay:.66s}
@keyframes archIn{from{transform:translateX(110vw);opacity:0}50%{opacity:1}to{transform:none;opacity:1}}
.intro .center .desc{font-size:17px;line-height:1.75;color:rgba(247,239,228,.88);margin-top:22px}
.intro .center .loc{margin-top:14px;font-size:15px;letter-spacing:.04em;color:var(--gold-hi)}
.intro .center .btn{margin-top:30px}
@media (max-width:760px){footer .f-col + .f-col{border-top-color:var(--on-pink-line)}}

.mekong-banner{background:#0E0308;border-top:2px solid #F2C94C;border-bottom:2px solid #F2C94C;line-height:0}
.mekong-banner{position:relative;overflow:hidden}
.mb{position:relative;width:100%}
.mekong-banner img{display:block;width:100%;height:auto}
.mb .walker{position:absolute;left:var(--x1);aspect-ratio:24/60;opacity:0;pointer-events:none;will-change:left}
.mb .walker svg{display:block;width:100%;height:100%;overflow:visible;filter:blur(.25px) saturate(.9)}
.mb .walker.flip svg{transform:scaleX(-1)}
.mb .walker .leg,.mb .walker .arm{transform-box:fill-box;transform-origin:50% 0}\n.mb .walker .sleeve{display:none}
.js .mekong-banner.go .walker{animation:walkAcross var(--dur) linear var(--delay) infinite}
.js .mekong-banner.go .walker .l1{animation:swing var(--gait) ease-in-out infinite}
.js .mekong-banner.go .walker .l2{animation:swing var(--gait) ease-in-out calc(var(--gait) * -.5) infinite}
.js .mekong-banner.go .walker .a1{animation:swingA var(--gait) ease-in-out calc(var(--gait) * -.5) infinite}
.js .mekong-banner.go .walker .a2{animation:swingA var(--gait) ease-in-out infinite}
.js .mekong-banner.go .walker .bob{animation:bob calc(var(--gait) / 2) ease-in-out infinite}
@keyframes walkAcross{0%{left:var(--x1);opacity:0}6%{opacity:1}88%{opacity:1}94%,100%{left:var(--x2);opacity:0}}
@keyframes swing{0%,100%{transform:rotate(20deg)}50%{transform:rotate(-20deg)}}
@keyframes swingA{0%,100%{transform:rotate(20deg)}50%{transform:rotate(-20deg)}}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-.8px)}}
@media (prefers-reduced-motion:reduce){.mb .walker{display:none}}

.mb .walker.depth{left:var(--l1);top:var(--t1);width:var(--w1)}
.js .mekong-banner.go .walker.depth{animation:walkDepth var(--dur) linear var(--delay) infinite}
.mb .walker .fl,.mb .walker .fa{transform-box:fill-box;transform-origin:50% 0}
.js .mekong-banner.go .walker .f1{animation:stepFB var(--gait) ease-in-out infinite}
.js .mekong-banner.go .walker .f2{animation:stepFB var(--gait) ease-in-out calc(var(--gait) * -.5) infinite}
.js .mekong-banner.go .walker .fa1{animation:armFB var(--gait) ease-in-out calc(var(--gait) * -.5) infinite}
.js .mekong-banner.go .walker .fa2{animation:armFB var(--gait) ease-in-out infinite}
@keyframes walkDepth{0%{left:var(--l1);top:var(--t1);width:var(--w1);opacity:0}8%{opacity:1}90%{opacity:1}96%,100%{left:var(--l2);top:var(--t2);width:var(--w2);opacity:0}}
@keyframes stepFB{0%,100%{transform:scaleY(1)}50%{transform:scaleY(.84)}}
@keyframes armFB{0%,100%{transform:scaleY(1) rotate(0)}50%{transform:scaleY(.88) rotate(4deg)}}

.field[hidden]{display:none}
.gift-card-wrap{position:relative;margin-top:34px;border-radius:22px;overflow:hidden;transform:rotate(-2deg);box-shadow:0 26px 60px rgba(70,0,30,.45),0 0 0 1px rgba(255,228,92,.5)}
.gift-card-img{display:block;width:100%;height:auto}
.gift-card-wrap .shine{position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.55) 50%,transparent 65%);transform:translateX(-120%);pointer-events:none}
.js .gift-card-wrap .shine{animation:cardShine 4.5s ease-in-out 1s infinite}
@keyframes cardShine{0%{transform:translateX(-120%)}35%,100%{transform:translateX(120%)}}
.ways .way .gift-arch{display:flex;align-items:center;justify-content:center;padding-top:34px;background:radial-gradient(60% 60% at 50% 60%,rgba(242,201,76,.35) 0%,rgba(242,201,76,0) 70%),linear-gradient(180deg,#2A0A1C,#14040C)}
.ways .way .gift-arch img{width:78%;height:auto;border-radius:10px;transform:rotate(-5deg);box-shadow:0 14px 30px rgba(40,0,20,.5)}
@media (prefers-reduced-motion:reduce){.js .gift-card-wrap .shine{animation:none}}

.d-desc{margin:2px 0 8px!important;font-size:13.5px!important;line-height:1.5!important;color:rgba(247,239,228,.55)!important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.dish{align-items:flex-start}

.mb{position:relative;overflow:hidden}
.mb-zoom{position:relative;transform-origin:72% 55%}
.mb-zoom img{display:block;width:100%;height:auto}
.mb .lt,.mb .beacon,.mb .sunglow,.mb .spark,.mb .glint{position:absolute;pointer-events:none;transform:translate(-50%,-50%);opacity:0}
.mb .lt{width:calc(var(--s) * 1%);aspect-ratio:1;border-radius:50%;mix-blend-mode:screen;background:radial-gradient(circle,rgba(255,255,240,1) 0%,rgba(255,230,160,1) 10%,rgba(255,190,90,.6) 28%,rgba(255,160,60,.22) 50%,rgba(255,150,50,0) 70%)}
.mb .beacon{width:1.6%;aspect-ratio:1;border-radius:50%;mix-blend-mode:screen;background:radial-gradient(circle,rgba(255,235,235,1) 0%,rgba(255,60,60,.85) 25%,rgba(255,0,0,0) 70%)}
.mb .sunglow{width:14%;aspect-ratio:1;border-radius:50%;mix-blend-mode:screen;background:radial-gradient(circle,rgba(255,245,210,.9) 0%,rgba(255,200,120,.45) 30%,rgba(255,160,90,0) 70%)}
.mb .spark{width:3.4%;aspect-ratio:1;mix-blend-mode:screen;background:radial-gradient(circle,#fff 0%,rgba(255,240,180,.9) 10%,rgba(255,220,120,0) 45%),linear-gradient(0deg,transparent 47%,rgba(255,250,220,.95) 50%,transparent 53%),linear-gradient(90deg,transparent 47%,rgba(255,250,220,.95) 50%,transparent 53%)}
.mb .glint{width:4.5%;height:.7%;border-radius:50%;mix-blend-mode:screen;background:linear-gradient(90deg,transparent,rgba(255,240,205,.95),transparent)}
.js .mekong-banner.go .mb-zoom{animation:mbZoom 24s ease-in-out infinite alternate}
.js .mekong-banner.go .lt{animation:lampOn .7s ease-out var(--on) forwards,lampFlick var(--t) ease-in-out calc(var(--on) + .7s) infinite}
.js .mekong-banner.go .beacon{animation:beacon 1.6s steps(1,end) .5s infinite}
.js .mekong-banner.go .sunglow{animation:sunPulse 5s ease-in-out .3s infinite}
.js .mekong-banner.go .spark{animation:spark 4s ease-in-out var(--d) infinite}
.js .mekong-banner.go .glint{animation:glint var(--t) ease-in-out var(--d) infinite}
@keyframes mbZoom{from{transform:scale(1)}to{transform:scale(1.03)}}
@keyframes lampOn{0%{opacity:0;transform:translate(-50%,-50%) scale(.4)}60%{opacity:1;transform:translate(-50%,-50%) scale(1.25)}100%{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes lampFlick{0%,100%{opacity:1;transform:translate(-50%,-50%) scale(1)}40%{opacity:.45;transform:translate(-50%,-50%) scale(.82)}55%{opacity:.9;transform:translate(-50%,-50%) scale(1.05)}}
@keyframes beacon{0%{opacity:1}50%{opacity:.1}}
@keyframes sunPulse{0%,100%{opacity:.55;transform:translate(-50%,-50%) scale(.9)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.15)}}
@keyframes spark{0%,70%,100%{opacity:0;transform:translate(-50%,-50%) scale(.3) rotate(0)}80%{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(45deg)}90%{opacity:0;transform:translate(-50%,-50%) scale(.4) rotate(90deg)}}
@keyframes glint{0%,100%{opacity:0;transform:translate(-80%,-50%)}50%{opacity:.95;transform:translate(-20%,-50%)}}
@media (prefers-reduced-motion:reduce){.js .mekong-banner.go .mb-zoom,.js .mekong-banner.go .mb *{animation:none!important}.mb .lt,.mb .beacon,.mb .sunglow,.mb .spark,.mb .glint{display:none}}

@media (prefers-reduced-motion:reduce){.js .arch-row img,.js .arch-row.go img{animation:none;transform:none;opacity:1}}
