
:root{--paper:#f6f0e8;--paper2:#fffaf3;--ink:#201512;--wine:#5a1815;--gold:#b78848;--muted:#75675e;--line:rgba(63,39,29,.14);--shadow:0 28px 80px rgba(64,38,25,.14);--radius:26px;--max:1200px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:Tahoma,"Noto Sans Thai",Arial,sans-serif;line-height:1.68;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input{font:inherit}.wrap{width:min(var(--max),calc(100% - 48px));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;left:16px;top:-100px;background:#000;color:#fff;padding:12px 18px;z-index:999;border-radius:10px}.skip:focus{top:16px}.header{position:sticky;top:0;z-index:100;background:rgba(246,240,232,.91);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:12px}.brand-ad{width:45px;height:45px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;font:italic 19px Georgia,serif;color:var(--wine);letter-spacing:-.08em}.brand strong{display:block;font:400 19px Georgia,"Times New Roman",serif;letter-spacing:.03em}.brand small{display:block;font-size:9px;letter-spacing:.25em;color:var(--muted);margin-top:2px}.nav-menu{display:flex;align-items:center;gap:23px;font-size:13px}.nav-menu>a:not(.nav-cta){padding:10px 0;position:relative}.nav-menu>a:not(.nav-cta):after{content:"";position:absolute;left:0;bottom:4px;width:0;height:1px;background:var(--wine);transition:.25s}.nav-menu>a:hover:after{width:100%}.nav-cta{border:1px solid var(--ink);border-radius:99px;padding:10px 17px}.nav-toggle{display:none;background:transparent;border:0;width:42px;height:42px;padding:10px}.nav-toggle span{height:1px;background:var(--ink);display:block;margin:5px 0}.kicker{font-size:11px;letter-spacing:.23em;font-weight:700;color:#8d6d53;margin:0 0 16px;text-transform:uppercase}h1,h2,h3{font-family:Georgia,"Times New Roman","Noto Serif Thai",serif;font-weight:400;line-height:1.1;margin-top:0}h1{font-size:clamp(3.2rem,7.4vw,7rem);letter-spacing:-.055em;margin-bottom:25px}h1 em{font-style:italic;color:var(--wine)}h2{font-size:clamp(2.1rem,4.2vw,4.1rem);letter-spacing:-.04em}h3{font-size:1.45rem}p{margin-top:0}.btn{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:12px 20px;border-radius:99px;font-size:13px;font-weight:700;transition:transform .18s,box-shadow .18s,background .18s}.btn:hover{transform:translateY(-2px)}.btn.dark{background:var(--ink);color:white;box-shadow:0 10px 28px rgba(32,21,18,.18)}.btn.dark:hover{background:var(--wine)}.btn.light{border:1px solid var(--line);background:rgba(255,255,255,.45)}.btn.wide{width:100%}.actions{display:flex;gap:11px;flex-wrap:wrap;align-items:center}.text-link{font-weight:700;font-size:13px;border-bottom:1px solid var(--ink);padding-bottom:3px}.hero{min-height:720px;display:grid;grid-template-columns:1.02fr .98fr;gap:70px;align-items:center;padding-block:64px 78px}.hero-copy{padding-left:3px}.hero-lead{font-size:clamp(1rem,1.7vw,1.23rem);color:#5e5149;max-width:700px}.hero-notes{display:flex;gap:18px;flex-wrap:wrap;margin-top:25px;color:var(--muted);font-size:12px}.hero-notes span:before{content:"·";color:var(--gold);font-size:22px;vertical-align:-2px;margin-right:6px}.hero-media{position:relative;max-width:530px;justify-self:end}.hero-picture{display:block;border-radius:250px 250px 24px 24px;overflow:hidden;box-shadow:var(--shadow);background:#d4c0a8}.hero-picture img{aspect-ratio:3/4;object-fit:cover}.hero-stamp{position:absolute;bottom:28px;left:-48px;width:112px;height:112px;border-radius:50%;background:var(--paper2);border:1px solid var(--gold);display:grid;place-content:center;text-align:center;font:italic 24px Georgia,serif;color:var(--wine);box-shadow:0 14px 30px rgba(41,24,15,.18)}.hero-stamp small{font:700 8px Tahoma,sans-serif;letter-spacing:.19em;color:#8b745f}.trust-strip{background:var(--ink);color:white}.trust-grid{min-height:145px;display:grid;grid-template-columns:repeat(4,1fr);align-items:center}.trust-grid>div{display:flex;align-items:center;gap:14px;padding:20px 24px;border-right:1px solid rgba(255,255,255,.12)}.trust-grid>div:last-child{border-right:0}.trust-grid strong{font:italic clamp(1.65rem,3vw,2.6rem) Georgia,serif;color:#ecd1a6}.trust-grid span{font-size:11px;color:#cfc1b7}.section{padding-block:110px}.section-head{max-width:760px;margin-bottom:45px}.section-head>p:last-child,.text-hero>p:last-child,.inner-copy>p{color:var(--muted);font-size:1.08rem;max-width:740px}.category-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}.category-card{grid-column:span 4;position:relative;min-height:500px;border-radius:var(--radius);overflow:hidden;background:#ddd;box-shadow:0 12px 35px rgba(55,32,20,.08)}.category-card.large{grid-column:span 8}.card-picture{display:block;width:100%;height:100%}.card-picture img{width:100%;height:500px;object-fit:cover;transition:transform .55s cubic-bezier(.2,.7,.2,1)}.category-card:hover img{transform:scale(1.035)}.category-card:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(20,12,9,.76),rgba(20,12,9,0) 58%)}.card-overlay{position:absolute;z-index:2;left:28px;right:28px;bottom:26px;color:white}.card-overlay small{letter-spacing:.2em;font-size:9px;color:#e7cfaa}.card-overlay h3{font-size:2rem;margin:5px 0}.card-overlay span{font-size:11px;color:#e9dfd5}.statement{background:#eadfd2;padding-block:105px}.statement-grid{display:grid;grid-template-columns:.48fr 1.52fr;gap:80px}.statement-num{font:italic clamp(7rem,17vw,15rem)/.8 Georgia,serif;color:rgba(90,24,21,.12);letter-spacing:-.09em}.benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:45px}.benefits article{border-top:1px solid rgba(90,24,21,.25);padding-top:18px}.benefits b,.steps b{font:italic 1rem Georgia,serif;color:#9b794e}.benefits h3{margin:23px 0 8px}.benefits p,.steps p{color:var(--muted);font-size:.92rem}.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(5,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.steps li{padding:27px 22px 31px;border-right:1px solid var(--line)}.steps li:last-child{border-right:0}.steps h3{margin:28px 0 8px}.steps.big{grid-template-columns:1fr}.steps.big li{display:grid;grid-template-columns:70px .6fr 1fr;gap:30px;align-items:start;border-right:0;border-bottom:1px solid var(--line);padding:34px 0}.steps.big li:last-child{border-bottom:0}.steps.big h2{font-size:2rem;margin:0}.visit{background:#2a1c17;color:#fff;padding-block:90px}.visit-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:65px;align-items:center}.store-picture{display:block;border-radius:var(--radius);overflow:hidden}.store-picture img{aspect-ratio:4/5;object-fit:cover}.visit-copy .kicker{color:#d8b780}.visit-copy h2{font-size:clamp(2rem,4vw,3.8rem)}.visit-copy .address{color:#d3c5bc}.visit-copy dl{margin:30px 0}.visit-copy dl>div{display:grid;grid-template-columns:110px 1fr;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.12)}.visit-copy dt{color:#aa998f}.visit-copy dd{margin:0}.visit .btn.dark{background:#fff;color:var(--ink)}.visit .text-link{border-color:white}.social-block{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.social-links{border-top:1px solid var(--line)}.social-links a{display:flex;justify-content:space-between;gap:20px;padding:20px 0;border-bottom:1px solid var(--line);font-size:13px;color:var(--muted)}.social-links span{font:400 1.2rem Georgia,serif;color:var(--ink)}.footer{background:#160f0d;color:#e7ddd4;padding:70px 0 30px}.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:50px}.footer h2{font-size:2rem;margin:14px 0 10px}.footer h3{font:700 11px Tahoma,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#bfa68a}.footer a,.footer span,.footer p{display:block;color:#b9aaa0;font-size:12px;margin:9px 0}.footer a:hover{color:white}.footer-bottom{display:flex;justify-content:space-between;margin-top:50px;padding-top:23px;border-top:1px solid rgba(255,255,255,.1);font-size:10px;color:#82756e;letter-spacing:.08em}.mobile-actions{display:none}.breadcrumb{padding-top:28px}.breadcrumb ol{list-style:none;display:flex;gap:9px;padding:0;margin:0;font-size:10px;color:#8a7a70}.breadcrumb li+li:before{content:"/";margin-right:9px;color:#bba99e}.breadcrumb a{text-decoration:underline;text-underline-offset:3px}.inner-hero{min-height:600px;display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center;padding-block:55px 80px}.inner-copy h1{font-size:clamp(3.3rem,6vw,6rem)}.inner-media{max-width:500px;justify-self:end}.inner-picture{display:block;border-radius:210px 210px 22px 22px;overflow:hidden;box-shadow:var(--shadow)}.inner-picture img{aspect-ratio:3/4;object-fit:cover}.two-col{display:grid;grid-template-columns:1.55fr .65fr;gap:80px;align-items:start;border-top:1px solid var(--line)}.prose{max-width:780px}.prose h2{font-size:clamp(1.8rem,3.4vw,3rem);margin-top:55px}.prose h2:first-child{margin-top:0}.prose p,.prose li{color:#5e524c;font-size:1rem}.checklist{padding:0;list-style:none}.checklist li{padding:14px 0;border-bottom:1px solid var(--line)}.checklist li:before{content:"✓";color:var(--gold);font-weight:700;margin-right:12px}.info-card{position:sticky;top:110px;background:var(--paper2);border:1px solid var(--line);border-radius:var(--radius);padding:29px;box-shadow:0 18px 40px rgba(65,38,23,.06)}.info-card hr{border:0;border-top:1px solid var(--line);margin:24px 0}.info-card p{color:var(--muted)}.price{display:flex;align-items:baseline;gap:8px;margin:20px 0}.price b{font:italic 5rem/.8 Georgia,serif;color:var(--wine)}.price span{font-weight:700}.gallery{display:grid;gap:16px}.gallery.three{grid-template-columns:repeat(3,1fr)}.gallery-picture{display:block;border-radius:22px;overflow:hidden;background:#d9c9b8}.gallery-picture img{width:100%;height:520px;object-fit:cover}.text-hero{padding-block:85px 50px;max-width:1000px}.text-hero h1{font-size:clamp(3rem,7vw,6.3rem)}.callout{margin-top:70px;padding:45px;border-radius:var(--radius);background:#eadfd2}.callout h2{font-size:2.3rem}.faq-list{max-width:900px}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;cursor:pointer;padding:24px 45px 24px 0;font:400 1.35rem Georgia,"Noto Serif Thai",serif;position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";position:absolute;right:0;top:22px;font-size:25px;color:var(--wine)}.faq-list details[open] summary:after{content:"–"}.faq-list details p{padding:0 40px 24px 0;color:var(--muted)}.contact-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center;padding-block:70px 90px}.contact-hero h1{font-size:clamp(3.2rem,6vw,5.8rem)}.contact-picture{display:block;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.contact-picture img{aspect-ratio:4/5;object-fit:cover}.contact-cards{margin-top:38px;border-top:1px solid var(--line)}.contact-cards>a,.contact-cards>div{display:grid;grid-template-columns:90px 1fr 110px;gap:15px;align-items:center;padding:17px 0;border-bottom:1px solid var(--line)}.contact-cards small{font-size:9px;letter-spacing:.17em;color:#987958}.contact-cards strong{font-size:14px}.contact-cards span{font-size:10px;color:var(--muted);text-align:right}.map-section{background:#e8ddcf;padding-block:95px}.map-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}.map-grid iframe{width:100%;height:500px;border:0;border-radius:var(--radius);background:#ddd}.map-grid h2{font-size:clamp(2.2rem,4vw,3.8rem)}.error-page{min-height:100vh;display:grid;place-content:center;text-align:center;padding:30px}.error-page h1{font-size:clamp(3rem,8vw,7rem)}.reveal{animation:fadeup .75s both}.reveal:nth-child(2){animation-delay:.1s}@keyframes fadeup{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}
@media(max-width:980px){.wrap{width:min(var(--max),calc(100% - 34px))}.nav{height:70px}.nav-toggle{display:block}.nav-menu{display:none;position:absolute;top:69px;left:16px;right:16px;background:var(--paper2);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:20px;padding:16px;flex-direction:column;align-items:stretch;gap:2px}.nav-menu.open{display:flex}.nav-menu a{padding:11px 10px!important}.nav-cta{border:0;background:var(--ink);color:white;text-align:center;margin-top:5px}.hero,.inner-hero,.contact-hero{grid-template-columns:1fr;min-height:0;gap:38px}.hero{padding-top:55px}.hero-media,.inner-media{justify-self:center;max-width:560px}.hero-stamp{left:18px}.trust-grid{grid-template-columns:1fr 1fr}.trust-grid>div:nth-child(2){border-right:0}.trust-grid>div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.12)}.category-card,.category-card.large{grid-column:span 6}.statement-grid,.visit-grid,.social-block,.two-col,.map-grid{grid-template-columns:1fr}.statement-num{display:none}.benefits{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr}.steps li{border-bottom:1px solid var(--line)}.steps li:nth-child(2n){border-right:0}.steps.big li{grid-template-columns:55px 1fr;gap:20px}.steps.big li p{grid-column:2}.info-card{position:static}.gallery-picture img{height:440px}.footer-grid{grid-template-columns:1fr 1fr}.mobile-actions{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;z-index:90;bottom:0;left:0;right:0;background:#1c1210;color:white;padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -8px 25px rgba(0,0,0,.15)}.mobile-actions a{text-align:center;padding:12px 6px;font-size:11px;border-right:1px solid rgba(255,255,255,.1)}.mobile-actions a:last-child{border-right:0}.footer{padding-bottom:80px}}
@media(max-width:650px){.wrap{width:calc(100% - 28px)}.brand-ad{width:39px;height:39px}.brand strong{font-size:17px}.hero{padding-block:38px 55px}.hero h1{font-size:clamp(2.8rem,15vw,4.3rem)}.hero-picture{border-radius:180px 180px 20px 20px}.hero-notes{gap:6px 13px}.hero-stamp{width:90px;height:90px;bottom:18px;font-size:20px}.trust-grid>div{padding:18px 12px}.trust-grid strong{font-size:1.8rem}.section{padding-block:76px}.section-head{margin-bottom:30px}.category-grid{display:block}.category-card,.category-card.large{display:block;min-height:420px;margin-bottom:14px}.card-picture img{height:420px}.statement{padding-block:75px}.benefits{grid-template-columns:1fr}.steps{grid-template-columns:1fr}.steps li{border-right:0}.visit{padding-block:70px}.visit-copy dl>div{grid-template-columns:90px 1fr}.gallery.three{grid-template-columns:1fr}.gallery-picture img{height:auto;aspect-ratio:3/4}.inner-hero{padding-block:35px 60px}.inner-copy h1{font-size:clamp(2.9rem,13vw,4.3rem)}.two-col{gap:45px}.text-hero{padding-block:55px 20px}.callout{padding:30px 24px}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}.contact-cards>a,.contact-cards>div{grid-template-columns:1fr;gap:2px;padding:15px 0}.contact-cards span{text-align:left}.map-grid iframe{height:390px}.actions .btn{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{animation:none!important}.card-picture img,.btn{transition:none!important}}

.statement-logo{display:block;max-width:320px;margin:0 auto}.statement-logo img{border-radius:20px;box-shadow:0 18px 45px rgba(60,34,21,.12)}.brand-more{display:block;width:max-content;margin:22px auto 0}.under-grid-link{text-align:right;margin-top:24px}.brand-logo-picture{display:block;border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}.brand-logo-picture img{width:100%;height:auto}@media(max-width:980px){.statement-num{display:block}.statement-logo{max-width:260px;margin-bottom:40px}.under-grid-link{text-align:left}}

/* V1.1 visual QA corrections */
.card-picture img.focus-upper{object-position:center 30%}
.category-card-brand{background:linear-gradient(145deg,#c7a06b 0%,#6a3529 58%,#2a1713 100%)}
.card-brand-visual{position:absolute;inset:0;display:grid;place-content:center;gap:16px;text-align:center;color:#fff5e9}
.card-brand-monogram{width:150px;height:150px;border:1px solid rgba(255,238,210,.75);border-radius:50%;display:grid;place-items:center;margin:auto;font:italic 4.8rem/1 Georgia,serif;color:#f1d2a1;letter-spacing:-.08em}
.card-brand-copy{font-size:11px;letter-spacing:.24em;color:#f1d8b7}
.statement-brand{align-self:start}
.brand-more{display:flex;align-items:center;gap:8px;width:max-content;margin:22px auto 0;font-family:Tahoma,"Noto Sans Thai",Arial,sans-serif;font-size:13px;font-style:normal;font-weight:700;line-height:1.5;letter-spacing:0;color:var(--ink);direction:ltr;unicode-bidi:isolate}
.inner-brand-panel{min-height:500px;border-radius:210px 210px 22px 22px;background:linear-gradient(145deg,#ead9c1 0%,#b98a50 47%,#4d241e 100%);box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:48px 34px;color:#fff8ef}
.inner-brand-monogram{width:180px;height:180px;border:1px solid rgba(255,245,225,.78);border-radius:50%;display:grid;place-items:center;font:italic 5.8rem/1 Georgia,serif;color:#f7d8a7;letter-spacing:-.08em;margin-bottom:28px}
.inner-brand-panel strong{font:400 1.55rem Georgia,serif;letter-spacing:.18em}
.inner-brand-panel small{max-width:280px;margin-top:14px;font-size:12px;line-height:1.7;color:#f1dfd3}
.social-links a{align-items:center;transition:color .18s,transform .18s}
.social-links a:hover{color:var(--wine);transform:translateX(3px)}
.social-links strong{font:400 1.2rem Georgia,serif;color:var(--ink)}
.social-links span{font:400 13px Tahoma,"Noto Sans Thai",Arial,sans-serif;color:var(--muted);overflow-wrap:anywhere;text-align:right}
@media(max-width:650px){.social-links a{align-items:flex-start;flex-direction:column;gap:4px}.social-links span{text-align:left}.card-brand-monogram{width:130px;height:130px;font-size:4.1rem}.inner-brand-panel{min-height:430px}.inner-brand-monogram{width:150px;height:150px;font-size:4.8rem}}

/* V1.2 — official primary logo in site header */
.header-brand{display:flex;align-items:center;flex:0 0 auto}
.header-logo{display:block;width:76px;height:76px}
.header-logo img{display:block;width:100%;height:100%;object-fit:contain}
@media(max-width:980px){.nav{height:76px}.header-logo{width:60px;height:60px}.nav-menu{top:75px}}
@media(max-width:650px){.header-logo{width:56px;height:56px}}

/* V1.3 — Luxury visual refinement
   Goal: cleaner Thai typography, restrained editorial script accents,
   more generous whitespace, refined proportions and subtle motion. */
:root{
  --paper:#f8f3ec;
  --paper2:#fffaf5;
  --ink:#211714;
  --wine:#671d1a;
  --gold:#b98a4c;
  --muted:#74675f;
  --line:rgba(54,34,27,.12);
  --shadow:0 28px 78px rgba(52,31,21,.11);
  --radius:20px;
  --max:1220px;
  --thai-ui:"Leelawadee UI","Noto Sans Thai",Tahoma,"Segoe UI",Arial,sans-serif;
  --editorial:Georgia,"Times New Roman",serif;
  --script:"Segoe Script","Brush Script MT","Snell Roundhand",cursive;
}
body{
  font-family:var(--thai-ui);
  font-size:15px;
  line-height:1.78;
  letter-spacing:.002em;
  background:linear-gradient(180deg,#fbf7f1 0,#f8f3ec 18%,#f8f3ec 100%);
}
.wrap{width:min(var(--max),calc(100% - 64px))}
.header{
  background:rgba(250,246,240,.88);
  backdrop-filter:blur(22px) saturate(135%);
  -webkit-backdrop-filter:blur(22px) saturate(135%);
  border-bottom:1px solid rgba(93,66,52,.10);
  transition:box-shadow .3s ease,background .3s ease;
}
.header.is-scrolled{background:rgba(250,246,240,.96);box-shadow:0 10px 34px rgba(49,30,22,.055)}
.nav{height:94px;gap:38px}
.header-logo{width:82px;height:82px;transition:transform .35s ease,filter .35s ease}
.header-brand:hover .header-logo{transform:translateY(-1px) scale(1.018);filter:saturate(1.05)}
.nav-menu{gap:30px;font-size:12px;font-weight:500;letter-spacing:.025em}
.nav-menu>a:not(.nav-cta){padding:14px 0}
.nav-menu>a:not(.nav-cta):after{bottom:8px;background:var(--gold);transition:width .32s cubic-bezier(.2,.7,.2,1)}
.nav-cta{border-color:rgba(33,23,20,.58);padding:11px 19px;background:rgba(255,255,255,.18);transition:background .25s ease,color .25s ease,border-color .25s ease,transform .25s ease}
.nav-cta:hover{background:var(--ink);color:#fff;border-color:var(--ink);transform:translateY(-1px)}
.kicker{
  font-family:var(--editorial);
  font-size:10px;
  letter-spacing:.27em;
  font-weight:700;
  color:#94704e;
  margin-bottom:13px;
}
h1,h2,h3{
  font-family:var(--thai-ui);
  font-weight:300;
  letter-spacing:-.035em;
  line-height:1.16;
}
h1{font-size:clamp(3.15rem,6.1vw,5.85rem);margin-bottom:28px;letter-spacing:-.048em}
h1 em{font-family:var(--thai-ui);font-weight:300;font-style:italic;color:var(--wine);letter-spacing:-.045em}
h2{font-size:clamp(2.25rem,3.85vw,3.75rem);letter-spacing:-.038em}
h3{font-size:1.35rem;font-weight:400;letter-spacing:-.018em}
.editorial-script{
  margin:-3px 0 9px 1px;
  font-family:var(--script);
  font-size:clamp(1.35rem,2.1vw,2.15rem);
  font-weight:400;
  line-height:1.2;
  letter-spacing:.015em;
  color:var(--wine);
  transform:rotate(-1deg);
  transform-origin:left center;
}
.section-script{font-size:clamp(1.2rem,1.8vw,1.8rem);color:#9c7448;margin-bottom:8px}
.hero{
  min-height:760px;
  grid-template-columns:.94fr 1.06fr;
  gap:86px;
  padding-block:72px 92px;
}
.hero-copy{max-width:650px;padding-left:0}
.hero-lead{font-size:clamp(.98rem,1.35vw,1.12rem);line-height:1.9;max-width:610px;color:#665850;border-left:1px solid rgba(185,138,76,.55);padding-left:20px}
.actions{gap:12px;margin-top:26px}
.btn{min-height:47px;padding:11px 21px;font-size:12px;font-weight:600;letter-spacing:.025em;box-shadow:none}
.btn.dark{box-shadow:0 10px 28px rgba(32,21,18,.12)}
.btn.light{border-color:rgba(77,52,41,.16);background:rgba(255,255,255,.52)}
.hero-notes{margin-top:27px;font-size:11px;letter-spacing:.01em}
.hero-media{max-width:555px}
.hero-picture{border-radius:280px 280px 18px 18px;box-shadow:0 34px 90px rgba(57,34,23,.15)}
.hero-picture img{transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.hero-media:hover .hero-picture img{transform:scale(1.012)}
.hero-stamp{width:102px;height:102px;bottom:34px;left:-40px;background:rgba(255,250,245,.95);font:italic 21px var(--editorial);box-shadow:0 18px 40px rgba(41,24,15,.14)}
.hero-stamp small{font-family:var(--thai-ui);font-size:7px;letter-spacing:.21em}
.trust-strip{background:#211714}
.trust-grid{min-height:126px}
.trust-grid>div{padding:18px 29px;gap:16px}
.trust-grid strong{font-family:var(--editorial);font-weight:400;font-style:italic;color:#e6c28c;letter-spacing:-.025em}
.trust-grid span{font-size:10px;line-height:1.55;color:#d2c5bc}
.section{padding-block:128px}
.section-head{max-width:820px;margin-bottom:54px}
.section-head>p:last-child,.text-hero>p:last-child,.inner-copy>p{font-size:1.02rem;line-height:1.9}
.category-grid{gap:22px}
.category-card{min-height:520px;border-radius:20px;box-shadow:0 16px 45px rgba(55,32,20,.075);transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s ease}
.category-card:hover{transform:translateY(-4px);box-shadow:0 24px 60px rgba(55,32,20,.12)}
.card-picture img{height:520px;transition:transform .85s cubic-bezier(.2,.7,.2,1),filter .55s ease}
.category-card:hover img{transform:scale(1.025);filter:saturate(.95) contrast(1.02)}
.category-card:after{background:linear-gradient(to top,rgba(20,12,9,.77),rgba(20,12,9,.10) 51%,rgba(20,12,9,0) 72%)}
.card-overlay{left:30px;right:30px;bottom:28px}
.card-overlay small{font-family:var(--editorial);font-size:8px;letter-spacing:.25em;color:#ecd6b4}
.card-overlay h3{font-size:1.85rem;font-weight:400;line-height:1.18;margin:6px 0 7px}
.card-overlay span{font-size:10px;letter-spacing:.015em}
.under-grid-link{margin-top:32px}
.text-link{font-size:12px;font-weight:600;border-bottom-color:rgba(33,23,20,.55);transition:color .2s ease,border-color .2s ease}
.text-link:hover{color:var(--wine);border-color:var(--wine)}
.statement{background:#eee3d6;padding-block:122px}
.statement-grid{grid-template-columns:.52fr 1.48fr;gap:96px;align-items:center}
.statement-logo{max-width:292px}
.statement-logo img{border-radius:16px;box-shadow:0 22px 55px rgba(60,34,21,.10)}
.statement-grid h2{max-width:770px}
.benefits{gap:30px;margin-top:50px}
.benefits article{padding-top:21px;border-top-color:rgba(90,24,21,.19)}
.benefits b,.steps b{font-family:var(--editorial);font-weight:400;font-style:italic;color:#9b7444}
.benefits h3{margin:19px 0 8px;font-size:1.22rem}
.benefits p,.steps p{font-size:.88rem;line-height:1.82}
.process .section-head{max-width:850px}
.steps{border-color:rgba(54,34,27,.11)}
.steps li{padding:31px 24px 35px;transition:background .25s ease}
.steps li:hover{background:rgba(255,255,255,.27)}
.steps h3{margin:24px 0 8px;font-size:1.2rem}
.visit{background:#2a1d18;padding-block:108px}
.visit-grid{gap:82px}
.store-picture{border-radius:18px;box-shadow:0 30px 70px rgba(0,0,0,.15)}
.visit-copy h2{font-size:clamp(2.2rem,3.7vw,3.55rem);font-weight:300}
.visit-copy .address{line-height:1.9}
.visit-copy dl>div{padding:12px 0}
.social-block{grid-template-columns:.72fr 1.28fr;gap:95px;align-items:start}
.social-block h2{max-width:430px}
.social-links a{padding:23px 0;transition:color .25s ease,transform .25s ease,padding .25s ease}
.social-links a:hover{transform:none;padding-left:9px;padding-right:3px}
.social-links strong{font-family:var(--editorial);font-size:1.14rem;font-weight:400}
.social-links span{font-size:12px}
.footer{background:#15100e;padding-top:76px}
.footer-grid{gap:58px}
.footer h2{font-family:var(--editorial);font-size:1.95rem;font-weight:400;letter-spacing:-.02em}
.footer h3{font-family:var(--editorial);font-size:10px;letter-spacing:.2em;font-weight:700}
.footer a,.footer span,.footer p{font-size:11px;line-height:1.72}
.inner-hero{min-height:640px;grid-template-columns:.98fr 1.02fr;gap:84px;padding-block:70px 92px}
.inner-copy h1{font-size:clamp(3.1rem,5.3vw,5.35rem)}
.inner-picture{border-radius:235px 235px 18px 18px;box-shadow:0 30px 80px rgba(58,35,24,.13)}
.text-hero{padding-block:96px 58px}
.text-hero h1{font-size:clamp(3rem,5.6vw,5.5rem)}
.info-card{border-color:rgba(54,34,27,.10);box-shadow:0 20px 45px rgba(65,38,23,.045);border-radius:18px}
.callout{background:#eee3d6;border-radius:18px}
.faq-list summary{font-family:var(--thai-ui);font-weight:400;font-size:1.22rem}
.contact-picture,.map-grid iframe{border-radius:18px}
.map-section{background:#ece2d7}
.card-brand-monogram,.inner-brand-monogram{font-family:var(--editorial)}
.brand-more{font-family:var(--thai-ui);font-size:12px;font-weight:600}

@media(max-width:980px){
  .wrap{width:min(var(--max),calc(100% - 40px))}
  .nav{height:82px}.header-logo{width:67px;height:67px}.nav-menu{top:81px}
  .hero{padding-top:58px;gap:44px}.hero-copy{max-width:720px}.hero-media{max-width:545px}
  .statement-grid{gap:45px}.section{padding-block:96px}.social-block{gap:50px}
}
@media(max-width:650px){
  .wrap{width:calc(100% - 30px)}
  .nav{height:74px}.header-logo{width:59px;height:59px}.nav-menu{top:73px}
  h1{font-size:clamp(2.75rem,13.6vw,4rem);line-height:1.13}
  h2{font-size:clamp(2rem,9.3vw,3rem)}
  .editorial-script{font-size:1.45rem;margin-bottom:10px}
  .hero{padding-block:44px 62px}.hero-lead{padding-left:15px}.hero-media{width:96%}
  .hero-picture{border-radius:190px 190px 15px 15px}.hero-stamp{width:82px;height:82px;left:8px;bottom:16px;font-size:17px}
  .trust-grid{min-height:0}.trust-grid>div{padding:19px 14px}.trust-grid strong{font-size:1.65rem}
  .section{padding-block:82px}.section-head{margin-bottom:36px}
  .category-card,.category-card.large{min-height:410px;margin-bottom:16px;border-radius:16px}.card-picture img{height:410px}.card-overlay{left:22px;right:22px;bottom:22px}.card-overlay h3{font-size:1.58rem}
  .statement{padding-block:82px}.statement-logo{max-width:225px}.benefits{margin-top:38px}
  .visit{padding-block:78px}.visit-grid{gap:44px}.store-picture{border-radius:16px}
  .social-block{gap:34px}.social-block h2{max-width:none}
  .footer{padding-top:60px}
  .inner-hero{padding-block:44px 65px}.inner-copy h1{font-size:clamp(2.65rem,12vw,3.85rem)}
}


/* V1.4 — Architectural typography refinement
   IBM Plex Sans Thai = primary Thai/UI face
   Cormorant Garamond = restrained editorial English/numerals
   Parisienne = accent-only handwritten English script
*/
:root{
  --thai-ui:"IBM Plex Sans Thai","Noto Sans Thai","Leelawadee UI",Tahoma,"Segoe UI",Arial,sans-serif;
  --editorial:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --script:"Parisienne","Segoe Script","Snell Roundhand","Brush Script MT",cursive;
}
body{
  font-family:var(--thai-ui);
  font-weight:300;
  font-size:15px;
  line-height:1.86;
  letter-spacing:.006em;
  text-rendering:optimizeLegibility;
}
button,input,textarea,select{font-family:var(--thai-ui)}
.nav-menu{
  font-family:var(--thai-ui);
  font-weight:400;
  font-size:12px;
  letter-spacing:.035em;
}
.kicker{
  font-family:var(--thai-ui);
  font-weight:500;
  font-size:9.5px;
  letter-spacing:.28em;
}
h1,h2,h3{
  font-family:var(--thai-ui);
  font-weight:300;
  letter-spacing:-.018em;
  text-wrap:balance;
}
h1{
  font-size:clamp(3.05rem,5.85vw,5.65rem);
  line-height:1.19;
  letter-spacing:-.022em;
}
h1 em{
  font-family:var(--thai-ui);
  font-style:normal;
  font-weight:300;
  color:var(--wine);
  letter-spacing:-.018em;
}
h2{
  font-size:clamp(2.12rem,3.65vw,3.5rem);
  line-height:1.24;
  letter-spacing:-.016em;
}
h3{
  font-size:1.3rem;
  line-height:1.4;
  font-weight:400;
  letter-spacing:-.01em;
}
p,li,dt,dd{font-weight:300}
.hero-lead,.section-head>p:last-child,.text-hero>p:last-child,.inner-copy>p{
  font-weight:300;
  line-height:2;
}
.editorial-script{
  font-family:var(--script);
  font-size:clamp(1.72rem,2.35vw,2.45rem);
  font-weight:400;
  line-height:1;
  letter-spacing:0;
  color:#8e5538;
  transform:rotate(-1.25deg);
  margin:0 0 18px 3px;
}
.section-script{
  font-family:var(--script);
  font-size:clamp(1.42rem,1.9vw,2rem);
  font-weight:400;
  color:#986744;
  letter-spacing:0;
}
.btn,.text-link{
  font-family:var(--thai-ui);
  font-weight:500;
  letter-spacing:.025em;
}
.trust-grid strong,
.benefits b,
.steps b,
.hero-stamp,
.card-brand-monogram,
.inner-brand-monogram{
  font-family:var(--editorial);
}
.trust-grid strong{
  font-weight:400;
  font-style:italic;
  letter-spacing:-.015em;
}
.card-overlay small{
  font-family:var(--thai-ui);
  font-weight:500;
  letter-spacing:.25em;
}
.card-overlay h3{
  font-family:var(--thai-ui);
  font-weight:300;
  letter-spacing:-.012em;
}
.benefits h3,.steps h3,.faq-list summary{
  font-family:var(--thai-ui);
  font-weight:400;
}
.social-links strong,
.footer h2{
  font-family:var(--editorial);
  font-weight:400;
}
.footer h3{
  font-family:var(--thai-ui);
  font-weight:500;
  letter-spacing:.22em;
}
.footer a,.footer span,.footer p{font-weight:300}
.brand-more{font-family:var(--thai-ui);font-weight:400}
.inner-copy h1{font-size:clamp(3rem,5.05vw,5.1rem);line-height:1.2}
.text-hero h1{font-size:clamp(2.9rem,5.3vw,5.2rem);line-height:1.2}

@media(max-width:650px){
  body{font-size:14.5px;line-height:1.82}
  .nav-menu{font-size:13px}
  h1{font-size:clamp(2.55rem,12.3vw,3.75rem);line-height:1.2;letter-spacing:-.015em}
  h2{font-size:clamp(1.95rem,8.8vw,2.85rem);line-height:1.27}
  .editorial-script{font-size:1.7rem;margin-bottom:14px}
  .inner-copy h1{font-size:clamp(2.5rem,11.4vw,3.6rem)}
}

/* V1.5 — Mobile & Tablet refinement
   Goal: preserve the approved V1.4 desktop design while improving small-screen
   proportions, hierarchy, media balance, header logo visibility and fixed actions.
*/

/* Tablet: keep the editorial character, but tighten vertical rhythm. */
@media (min-width:651px) and (max-width:980px){
  .nav{height:84px}
  .header-logo{width:74px;height:74px}
  .nav-menu{top:83px}
  .hero,.inner-hero,.contact-hero{gap:34px}
  .hero{padding-block:46px 68px}
  .inner-hero{padding-block:44px 72px}
  .hero-media{width:min(78vw,500px);max-width:none;justify-self:center}
  .inner-media{width:min(68vw,430px);max-width:none;justify-self:center}
  .section{padding-block:88px}
  .statement{padding-block:90px}
  .visit{padding-block:88px}
  .mobile-actions{display:none}
  .footer{padding-bottom:34px}
}

/* Phones: explicit one-column layout avoids image/text imbalance on narrow screens. */
@media (max-width:650px){
  body{
    font-size:14.5px;
    line-height:1.78;
    padding-bottom:calc(48px + env(safe-area-inset-bottom));
    overflow-x:hidden;
  }
  .wrap{width:calc(100% - 34px)}

  /* Header: make the official logo noticeable without making the bar oversized. */
  .nav{height:82px}
  .header-logo{width:69px;height:69px}
  .nav-menu{top:81px;left:12px;right:12px}
  .nav-toggle{width:44px;height:44px;padding:9px}
  .nav-toggle span{margin:6px 0}

  /* Home hero */
  .hero{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:30px;
    min-height:0;
    padding-block:34px 56px;
  }
  .hero-copy{width:100%;padding-left:0}
  .kicker{font-size:9px;letter-spacing:.24em;margin-bottom:13px}
  .editorial-script{font-size:1.48rem;line-height:1.06;margin:0 0 13px 1px;transform:rotate(-.8deg)}
  h1{
    font-size:clamp(2.35rem,10.8vw,3.12rem);
    line-height:1.18;
    letter-spacing:-.012em;
    margin-bottom:20px;
  }
  h2{font-size:clamp(1.85rem,8.2vw,2.65rem);line-height:1.27}
  .hero h1{font-size:clamp(2.42rem,11.1vw,3.18rem);line-height:1.18}
  .hero-lead{
    font-size:.98rem;
    line-height:1.82;
    padding-left:14px;
    border-left:1px solid rgba(185,138,76,.5);
    max-width:none;
  }
  .actions{margin-top:22px;gap:9px}
  .actions .btn{width:100%;min-height:45px}
  .hero-notes{margin-top:20px;gap:4px 12px;font-size:10.5px}
  .hero-media{
    width:min(88vw,390px);
    max-width:none;
    align-self:center;
    justify-self:auto;
    margin:2px auto 0;
  }
  .hero-picture{border-radius:210px 210px 15px 15px}
  .hero-stamp{width:76px;height:76px;left:8px;bottom:15px;font-size:16px}
  .hero-stamp small{font-size:6px}

  /* Inner/category pages */
  .breadcrumb{padding-top:19px}
  .breadcrumb ol{font-size:9.5px;gap:7px;flex-wrap:wrap}
  .breadcrumb li+li:before{margin-right:7px}
  .inner-hero{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:28px;
    min-height:0;
    padding-block:26px 56px;
  }
  .inner-copy{width:100%}
  .inner-copy h1{
    font-size:clamp(2.12rem,9.55vw,2.82rem);
    line-height:1.22;
    letter-spacing:-.01em;
    margin-bottom:18px;
    max-width:100%;
  }
  .inner-copy>p:last-of-type{
    font-size:.98rem;
    line-height:1.9;
    max-width:none;
  }
  .inner-media{
    width:min(82vw,350px);
    max-width:none;
    align-self:center;
    justify-self:auto;
    margin:0 auto;
  }
  .inner-picture{border-radius:175px 175px 14px 14px}
  .text-hero{padding-block:42px 22px}
  .text-hero h1{font-size:clamp(2.18rem,9.8vw,2.95rem);line-height:1.22}
  .contact-hero{padding-block:40px 60px;gap:30px}
  .contact-hero h1{font-size:clamp(2.2rem,9.8vw,3rem);line-height:1.22}
  .contact-picture{max-width:360px;margin-inline:auto}

  /* General spacing and visual balance. */
  .section{padding-block:68px}
  .section-head{margin-bottom:31px}
  .section-head>p:last-child,.text-hero>p:last-child,.inner-copy>p{font-size:.98rem;line-height:1.88}
  .category-card,.category-card.large{min-height:390px;margin-bottom:13px}
  .card-picture img{height:390px}
  .statement{padding-block:70px}
  .statement-logo{max-width:210px;margin-inline:auto}
  .benefits{margin-top:32px}
  .steps li{padding:24px 6px 27px}
  .visit{padding-block:68px}
  .visit-grid{gap:36px}
  .social-block{gap:28px}
  .social-links a{padding:18px 0}
  .footer{padding-top:54px;padding-bottom:34px}

  /* Compact contact bar: still useful, but no longer visually dominates the screen. */
  .mobile-actions{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    position:fixed;
    z-index:90;
    left:0;
    right:0;
    bottom:0;
    min-height:44px;
    background:rgba(28,18,16,.97);
    color:#fff;
    padding-bottom:env(safe-area-inset-bottom);
    box-shadow:0 -6px 20px rgba(0,0,0,.12);
    backdrop-filter:blur(10px);
  }
  .mobile-actions a{
    display:grid;
    place-items:center;
    min-height:44px;
    padding:8px 5px;
    font-size:10.5px;
    font-weight:400;
    letter-spacing:.01em;
  }
  .footer-bottom{margin-top:34px;padding-top:20px}
}

/* Extra-narrow phones: one more step down, without changing the design language. */
@media (max-width:390px){
  .wrap{width:calc(100% - 30px)}
  .nav{height:80px}
  .header-logo{width:67px;height:67px}
  .nav-menu{top:79px}
  .hero{padding-top:30px;gap:27px}
  .hero h1{font-size:clamp(2.28rem,10.7vw,2.72rem)}
  .inner-copy h1{font-size:clamp(2.02rem,9.3vw,2.5rem)}
  .editorial-script{font-size:1.4rem}
  .hero-media{width:min(90vw,360px)}
  .inner-media{width:min(84vw,330px)}
}


/* V1.6 — Navigation completeness refinement
   Desktop: compact luxury header with one "ชุดและบริการ" dropdown.
   Mobile/Tablet: hamburger opens the complete category list without hiding services.
*/
.nav-dropdown{position:relative;display:flex;align-items:center}
.nav-dropdown-toggle{
  appearance:none;
  border:0;
  background:transparent;
  color:inherit;
  cursor:pointer;
  font:inherit;
  letter-spacing:inherit;
  padding:14px 0;
  display:flex;
  align-items:center;
  gap:5px;
  position:relative;
}
.nav-dropdown-toggle:after{
  content:"";
  position:absolute;
  left:0;
  bottom:8px;
  width:0;
  height:1px;
  background:var(--gold);
  transition:width .32s cubic-bezier(.2,.7,.2,1);
}
.nav-dropdown-toggle:hover:after,
.nav-dropdown.open>.nav-dropdown-toggle:after,
.nav-dropdown:focus-within>.nav-dropdown-toggle:after{width:100%}
.nav-dropdown-toggle span{font-size:13px;line-height:1;transform:translateY(-1px);transition:transform .22s ease}
.nav-dropdown.open>.nav-dropdown-toggle span{transform:translateY(-1px) rotate(180deg)}
.nav-dropdown-menu{
  position:absolute;
  z-index:120;
  top:calc(100% + 10px);
  left:50%;
  transform:translateX(-50%) translateY(-5px);
  width:max-content;
  min-width:265px;
  padding:10px;
  border:1px solid rgba(54,34,27,.11);
  border-radius:16px;
  background:rgba(255,250,245,.985);
  box-shadow:0 24px 60px rgba(49,30,22,.13);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .2s ease,transform .2s ease,visibility .2s;
}
.nav-dropdown-menu:before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
.nav-dropdown-menu a{
  display:block;
  padding:10px 13px;
  border-radius:10px;
  color:var(--ink);
  font-size:12px;
  font-weight:400;
  letter-spacing:.01em;
  white-space:nowrap;
  transition:background .18s ease,color .18s ease,padding .18s ease;
}
.nav-dropdown-menu a:hover,
.nav-dropdown-menu a:focus-visible{background:#f1e6d9;color:var(--wine);padding-left:17px;outline:none}
.nav-dropdown.open>.nav-dropdown-menu,
.nav-dropdown:hover>.nav-dropdown-menu,
.nav-dropdown:focus-within>.nav-dropdown-menu{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateX(-50%) translateY(0);
}

@media (max-width:980px){
  .nav-menu{
    max-height:calc(100dvh - 104px);
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-width:thin;
  }
  .nav-dropdown{display:block;width:100%}
  .nav-dropdown-toggle{
    width:100%;
    justify-content:space-between;
    padding:12px 10px 7px;
    color:#8d6d53;
    font-size:10px;
    font-weight:500;
    letter-spacing:.16em;
    text-transform:uppercase;
    pointer-events:none;
  }
  .nav-dropdown-toggle:after{display:none}
  .nav-dropdown-toggle span{display:none}
  .nav-dropdown-menu,
  .nav-dropdown.open>.nav-dropdown-menu,
  .nav-dropdown:hover>.nav-dropdown-menu,
  .nav-dropdown:focus-within>.nav-dropdown-menu{
    position:static;
    display:grid;
    width:100%;
    min-width:0;
    padding:1px 0 8px 12px;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
  }
  .nav-dropdown-menu:before{display:none}
  .nav-dropdown-menu a{
    position:relative;
    padding:10px 12px 10px 15px!important;
    border-radius:8px;
    font-size:12.5px;
    font-weight:300;
    white-space:normal;
  }
  .nav-dropdown-menu a:before{
    content:"";
    position:absolute;
    left:2px;
    top:50%;
    width:5px;
    height:1px;
    background:var(--gold);
  }
  .nav-dropdown-menu a:hover,
  .nav-dropdown-menu a:focus-visible{padding-left:15px!important;background:#f1e6d9}
}

@media (max-width:650px){
  .nav-menu{padding:13px 14px 15px}
  .nav-menu>a{font-weight:350}
  .nav-dropdown-toggle{padding-top:10px}
  .nav-dropdown-menu{padding-bottom:6px}
}

/* V1.6.1 — Compact mobile navigation refinement
   Keeps the approved V1.6 navigation structure, but makes the mobile/tablet
   menu shorter, easier to scan, and prevents the fixed contact bar from
   overlapping the open menu. Desktop navigation is unchanged. */
@media (max-width:980px){
  .nav-menu{
    gap:0;
    justify-content:flex-start;
    min-height:0;
    height:auto;
    padding:10px 12px 12px;
    max-height:calc(100dvh - 96px);
    border-radius:18px;
  }
  .nav-menu>a:not(.nav-cta){
    padding:8px 10px!important;
    line-height:1.55;
  }
  .nav-dropdown-toggle{
    padding:9px 10px 5px;
    margin-top:2px;
    line-height:1.45;
  }
  .nav-dropdown-menu,
  .nav-dropdown.open>.nav-dropdown-menu,
  .nav-dropdown:hover>.nav-dropdown-menu,
  .nav-dropdown:focus-within>.nav-dropdown-menu{
    gap:0;
    padding:0 0 5px 10px;
  }
  .nav-dropdown-menu a{
    padding:6px 10px 6px 14px!important;
    line-height:1.5;
  }
  .nav-dropdown-menu a:hover,
  .nav-dropdown-menu a:focus-visible{
    padding-left:14px!important;
  }
  .nav-cta{
    display:grid;
    place-items:center;
    min-height:42px;
    margin-top:8px;
    padding:9px 12px!important;
    border-radius:999px;
  }
  body.nav-open{overflow:hidden}
  .mobile-actions{
    transition:opacity .18s ease,transform .18s ease,visibility .18s;
  }
  body.nav-open .mobile-actions{
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(100%);
  }
}

@media (max-width:650px){
  .nav-menu{
    left:10px;
    right:10px;
    padding:9px 11px 11px;
    max-height:calc(100dvh - 92px);
  }
  .nav-menu>a:not(.nav-cta){padding:7px 9px!important}
  .nav-dropdown-toggle{padding:8px 9px 4px}
  .nav-dropdown-menu,
  .nav-dropdown.open>.nav-dropdown-menu,
  .nav-dropdown:hover>.nav-dropdown-menu,
  .nav-dropdown:focus-within>.nav-dropdown-menu{padding-left:8px}
  .nav-dropdown-menu a{padding:5px 9px 5px 14px!important}
  .nav-cta{min-height:40px;margin-top:7px;padding:8px 10px!important}
}

/* V1.6.2 — Mobile menu final compact + cache-busted delivery
   Fits the complete navigation comfortably on common phones and guarantees
   the fixed contact bar disappears while the menu is open. Desktop unchanged. */
@media (max-width:980px){
  .nav-menu{
    gap:0!important;
    justify-content:flex-start!important;
    padding:11px 13px 13px!important;
    max-height:calc(100dvh - 92px)!important;
    overflow-y:auto;
  }
  .nav-menu>a:not(.nav-cta){padding:6px 10px!important;line-height:1.35!important;min-height:0!important}
  .nav-dropdown-toggle{margin:3px 0 0!important;padding:7px 10px 4px!important;line-height:1.3!important}
  .nav-dropdown-menu,
  .nav-dropdown.open>.nav-dropdown-menu,
  .nav-dropdown:hover>.nav-dropdown-menu,
  .nav-dropdown:focus-within>.nav-dropdown-menu{gap:0!important;padding:0 0 4px 9px!important}
  .nav-dropdown-menu a{padding:4px 9px 4px 14px!important;line-height:1.38!important;min-height:0!important}
  .nav-dropdown-menu a:hover,
  .nav-dropdown-menu a:focus-visible{padding-left:14px!important}
  .nav-cta{display:grid!important;place-items:center;min-height:38px!important;margin-top:6px!important;padding:7px 12px!important;border-radius:999px!important}
  html.nav-open,body.nav-open{overflow:hidden!important}
  html.nav-open .mobile-actions,
  body.nav-open .mobile-actions,
  body:has(.nav-menu.open) .mobile-actions{display:none!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translateY(100%)!important}
}
@media (max-width:650px){
  .nav-menu{left:10px!important;right:10px!important;padding:10px 12px 12px!important;max-height:calc(100dvh - 88px)!important}
  .nav-menu>a:not(.nav-cta){padding:5px 9px!important}
  .nav-dropdown-toggle{padding:6px 9px 3px!important}
  .nav-dropdown-menu,
  .nav-dropdown.open>.nav-dropdown-menu,
  .nav-dropdown:hover>.nav-dropdown-menu,
  .nav-dropdown:focus-within>.nav-dropdown-menu{padding-left:7px!important}
  .nav-dropdown-menu a{padding:3.5px 8px 3.5px 14px!important}
  .nav-cta{min-height:37px!important;margin-top:5px!important;padding:6px 10px!important}
}

/* V1.6.3 — Mobile navigation focus + visible contact CTA
   Delta refinement only: keeps the approved menu structure and spacing,
   adds a soft focus scrim behind the open menu, and guarantees the
   "ติดต่อร้าน" CTA is visibly rendered on mobile/tablet. Desktop unchanged. */
.nav-scrim{display:none}
@media (max-width:980px){
  .header{z-index:100}
  .nav-menu{z-index:135}
  .nav-scrim{
    display:block;
    position:fixed;
    inset:0;
    z-index:90;
    background:rgba(29,19,16,.18);
    backdrop-filter:blur(2.5px);
    -webkit-backdrop-filter:blur(2.5px);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .2s ease,visibility .2s ease;
  }
  .nav-scrim.open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }
  .nav-menu .nav-cta{
    display:grid!important;
    place-items:center!important;
    min-height:40px!important;
    margin:8px 2px 1px!important;
    padding:7px 14px!important;
    border:1px solid var(--ink)!important;
    border-radius:999px!important;
    background:var(--ink)!important;
    color:#fff!important;
    font-weight:500!important;
    letter-spacing:.015em!important;
    opacity:1!important;
    visibility:visible!important;
    box-shadow:0 8px 22px rgba(32,21,18,.12)!important;
  }
  .nav-menu .nav-cta:hover,
  .nav-menu .nav-cta:focus-visible{
    background:var(--wine)!important;
    border-color:var(--wine)!important;
    color:#fff!important;
    outline:none;
  }
  html.nav-open,body.nav-open{overflow:hidden!important}
}
@media (max-width:650px){
  .nav-menu .nav-cta{min-height:39px!important;margin-top:7px!important;padding:6px 12px!important}
}

/* V1.6.4 — Scroll-safe mobile navigation
   Fix: on some mobile Chrome builds, locking html/body overflow while already
   scrolled can move the sticky header/menu out of the visible viewport. Keep
   the document scroll position intact and let the fixed scrim block background
   gestures instead. The menu therefore opens correctly at any scroll depth. */
@media (max-width:980px){
  html.nav-open{overflow-y:auto!important}
  body.nav-open{overflow-x:hidden!important;overflow-y:visible!important}
  .nav-scrim.open{touch-action:none!important}
  .nav-menu.open{visibility:visible!important;opacity:1!important;pointer-events:auto!important}
}

/* V1.6.5 — Viewport-anchored mobile menu portal
   Root cause fix: the mobile panel is portaled to <body> and fixed directly
   to the viewport instead of being absolutely positioned inside the sticky
   header. This prevents scroll offset from pushing the menu above the screen. */
@media (min-width:651px) and (max-width:980px){
  .nav-menu.nav-portal{
    position:fixed!important;
    top:84px!important;
    left:20px!important;
    right:20px!important;
    width:auto!important;
    max-height:calc(100dvh - 98px)!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    z-index:145!important;
  }
}
@media (max-width:650px){
  .nav-menu.nav-portal{
    position:fixed!important;
    top:82px!important;
    left:20px!important;
    right:20px!important;
    width:auto!important;
    max-height:calc(100dvh - 94px)!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    z-index:145!important;
  }
}


/* V1.6.6 — Mobile menu section-label typography alignment
   Visual-only refinement: "ชุดและบริการ" now uses the same readable scale
   as the primary mobile navigation while retaining a subtle warm-gold accent. */
@media (max-width:980px){
  .nav-dropdown-toggle{
    color:#8d6d53!important;
    font-size:13px!important;
    font-weight:350!important;
    line-height:1.35!important;
    letter-spacing:.01em!important;
    text-transform:none!important;
  }
}
