:root{--paper:#f7f4ee;--white:#fffefa;--ink:#191919;--muted:#615e59;--red:#a61e22;--red-dark:#80171b;--line:#ddd8d0;--soft:#eeeae3;--shadow:0 24px 60px rgba(28,22,19,.09)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Sarabun,system-ui,sans-serif;line-height:1.7}
body.gate-pending{overflow:hidden}
button{font:inherit;cursor:pointer}
a{color:inherit}
img{max-width:100%;height:auto}
:focus-visible{outline:3px solid var(--red);outline-offset:4px}
[tabindex="-1"]:focus,[tabindex="-1"]:focus-visible{outline:none}
::selection{background:#e8b4ad;color:#201414}
.skip-link{position:fixed;left:10px;top:-100px;z-index:100;background:var(--ink);color:#fff;padding:8px 14px;border-radius:4px}
.skip-link:focus{top:10px}
.shell{width:min(1160px,calc(100% - 36px));margin-inline:auto}
h1,h2,h3,p{margin-top:0}
h1,h2,h3,.brand,.footer-name{font-family:Kanit,Sarabun,sans-serif}
.site-header{background:var(--paper);border-bottom:1px solid var(--line);position:relative;z-index:5}
.header-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:9px;text-decoration:none;font-size:1.27rem;font-weight:600;white-space:nowrap}
.brand b{color:var(--red);font-weight:600}
.brand-mark{position:relative;display:grid;place-items:center;width:31px;height:31px;background:var(--ink);color:#fff;font-size:1.15rem;line-height:1;clip-path:polygon(0 0,100% 0,100% 76%,72% 100%,0 100%)}
.brand-mark span{position:absolute;width:17px;height:3px;background:var(--red);right:-2px;bottom:7px;transform:rotate(-28deg)}
.site-header nav{display:flex;align-items:center;gap:clamp(14px,3vw,34px)}
.site-header nav a{text-decoration:none;font-size:.83rem;font-weight:700;color:#3e3b39}
.site-header nav a:hover,.site-header nav a:focus-visible{color:var(--red)}
.hero{position:relative;overflow:hidden;background:linear-gradient(116deg,#f7f4ee 51%,#efeae1 100%)}
.hero-geometry{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.hero-geometry span{position:absolute;display:block;width:34vw;min-width:250px;height:22px;right:-6vw;top:14%;background:rgba(166,30,34,.09);transform:rotate(-28deg)}
.hero-geometry span:nth-child(2){top:24%;right:-12vw;height:5px;background:rgba(166,30,34,.17)}
.hero-geometry span:nth-child(3){top:84%;right:39vw;width:24vw;height:1px;background:rgba(25,25,25,.1);transform:rotate(0)}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:clamp(28px,6vw,84px);min-height:640px;padding-top:75px;padding-bottom:85px;position:relative}
.hero-copy{position:relative;z-index:1}
.eyebrow,.section-index,.gate-eyebrow{font-size:.74rem;letter-spacing:.09em;text-transform:uppercase;font-weight:700;color:var(--red)}
.eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:28px}
.eyebrow span{display:block;width:29px;height:3px;background:var(--red);transform:skewX(-30deg)}
h1{font-size:clamp(2.9rem,6vw,5.6rem);font-weight:600;line-height:1.09;letter-spacing:-.045em;margin-bottom:27px}
h1 em{font-style:normal;color:var(--red)}
.hero-lead{max-width:565px;font-size:clamp(1.06rem,1.55vw,1.3rem);line-height:1.8;color:#3e3a38;margin-bottom:32px}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:30px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:47px;padding:10px 19px;border:1px solid transparent;border-radius:3px;text-decoration:none;font-size:.88rem;font-weight:700;transition:background .2s,color .2s,transform .2s,border-color .2s}
.button:hover{transform:translateY(-2px)}
.button-primary{background:var(--red);color:#fff;border-color:var(--red)}
.button-primary:hover{background:var(--red-dark);border-color:var(--red-dark)}
.button-outline{background:transparent;color:var(--ink);border-color:#706961}
.button-outline:hover{border-color:var(--red);color:var(--red)}
.store-status{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:0;font-size:.81rem;font-weight:700}
.store-status small{font-weight:500;color:var(--muted);font-size:.79rem}
.status-dot{width:8px;height:8px;border-radius:50%;background:#777;box-shadow:0 0 0 4px #e0ddd8}
.store-status.is-open .status-dot{background:#377450;box-shadow:0 0 0 4px #dce9df}
.store-status.is-closed .status-dot{background:var(--red);box-shadow:0 0 0 4px #f2dddd}
.hero-brand{position:relative;padding:26px 24px 20px;background:#fff;box-shadow:var(--shadow);border:1px solid #e8e2da;transform:rotate(1deg)}
.hero-brand:before{content:"";position:absolute;z-index:-1;inset:17px -16px -17px 16px;border:1px solid rgba(166,30,34,.3);transform:rotate(-2deg)}
.hero-logo-frame{aspect-ratio:1.22;display:grid;place-items:center;background:#fff}
.hero-logo-frame img{display:block;width:100%;object-fit:contain}
.hero-caption{display:flex;justify-content:space-between;gap:12px;padding-top:11px;border-top:1px solid #e7e4df;font-size:.64rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#6a6660}
.hero-bottom{display:flex;align-items:center;gap:18px;position:relative;padding:17px 0;border-top:1px solid #dcd7cf;color:#79736c;font-size:.67rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.hairline{height:1px;flex:1;background:#d8d2c8}
.section{padding:clamp(80px,9vw,126px) 0}
.section-heading{max-width:720px;margin-bottom:38px}
.section-index{display:flex;gap:12px;align-items:center;margin-bottom:13px}
.section-index span{font-family:Kanit,sans-serif;color:#a7a099;font-size:.8rem}
h2{font-size:clamp(2.25rem,4.3vw,4rem);line-height:1.28;letter-spacing:-.03em;font-weight:600;margin-bottom:14px}
.section-heading>p:last-child{font-size:1.02rem;color:var(--muted);line-height:1.8;margin-bottom:0}
.categories-section{background:var(--white)}
.category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.category-card{position:relative;min-height:235px;padding:27px;background:var(--paper);border:1px solid var(--line);overflow:hidden;display:flex;flex-direction:column;align-items:flex-start}
.category-card:after{content:"";position:absolute;right:-45px;bottom:28px;width:145px;height:1px;background:rgba(166,30,34,.25);transform:rotate(-27deg)}
.category-icon{position:relative;width:66px;height:55px;margin-bottom:auto}
.category-icon i{display:block;position:absolute}
.icon-diamond i{width:40px;height:40px;left:9px;top:7px;border:2px solid var(--red);transform:rotate(45deg)}
.icon-lines i{width:55px;height:2px;left:3px;top:13px;background:var(--red);transform:rotate(-24deg)}
.icon-lines i:nth-child(2){top:25px}.icon-lines i:nth-child(3){top:37px}
.icon-cubes i{width:24px;height:24px;border:2px solid var(--red);transform:skewY(-22deg);left:2px;top:11px}
.icon-cubes i:nth-child(2){left:21px;top:19px}.icon-cubes i:nth-child(3){left:40px;top:27px}
.icon-slash i{width:56px;height:16px;background:var(--red);top:19px;left:2px;transform:skewX(-29deg)}
.icon-steps i{width:28px;height:25px;border-top:2px solid var(--red);border-left:2px solid var(--red);left:6px;top:11px;transform:skewX(-23deg)}
.icon-steps i:nth-child(2){left:27px;top:28px}
.icon-ring i{width:43px;height:43px;border:2px solid var(--red);border-radius:50%;left:10px;top:6px}
.icon-ring i:after{content:"";position:absolute;left:20px;top:-7px;width:2px;height:54px;background:var(--red);transform:rotate(33deg)}
.category-number{font-family:Kanit,sans-serif;font-size:.69rem;color:var(--red);letter-spacing:.08em;margin-bottom:6px}
.category-card h3{font-size:1.34rem;line-height:1.4;font-weight:500;margin:0}
.category-card p{font-size:.81rem;color:var(--muted);margin:4px 0 0}
.guidance-section{background:#1c1b1a;color:#fff;overflow:hidden}
.guidance-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(38px,8vw,120px);align-items:center}
.guidance-graphic{height:365px;position:relative;border:1px solid rgba(255,255,255,.19);overflow:hidden;background:linear-gradient(135deg,#232120,#181717)}
.graphic-line{position:absolute;inset:50% -10% auto;height:1px;background:rgba(255,255,255,.25);transform:rotate(-28deg)}
.graphic-slab{position:absolute;background:var(--red);height:30px;width:73%;left:-21%;top:24%;transform:rotate(-30deg) translateX(-100%)}
.graphic-slab.two{width:92%;top:45%;left:25%;height:5px;background:#eee9e2;transform:rotate(-30deg) translateX(100%)}
.graphic-slab.three{width:70%;top:73%;left:41%;height:20px;background:#7e171b;transform:rotate(-30deg) translateX(100%)}
.js .guidance-graphic.is-visible .graphic-slab.one{animation:slide-left 1s ease-out forwards}
.js .guidance-graphic.is-visible .graphic-slab.two{animation:slide-right 1.15s .1s ease-out forwards}
.js .guidance-graphic.is-visible .graphic-slab.three{animation:slide-right 1.2s .2s ease-out forwards}
@keyframes slide-left{to{transform:rotate(-30deg) translateX(0)}}
@keyframes slide-right{to{transform:rotate(-30deg) translateX(0)}}
.graphic-caption{position:absolute;bottom:19px;left:23px;font:600 .75rem Kanit,sans-serif;letter-spacing:.18em;color:#b2aaa1}
.guidance-copy .section-index{color:#e3b3b2}
.guidance-copy h2 em{font-style:normal;color:#e5a9a6}
.guidance-copy>p:not(.section-index){font-size:1.06rem;line-height:1.9;color:#d6d0c9;max-width:470px;margin-bottom:26px}
.text-link{display:inline-flex;align-items:center;gap:12px;font-weight:700;text-decoration:none;border-bottom:1px solid #d4b0af;padding:0 0 6px;color:#fff}
.text-link:hover{color:#f0babb}
.visit-section{background:var(--paper)}
.visit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.visit-detail{min-height:250px;padding:29px;background:var(--white);border:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start}
.detail-label{font-size:.75rem;font-weight:700;color:var(--red);letter-spacing:.08em;margin-bottom:23px}
.visit-detail address{font-style:normal;font-size:1rem;line-height:1.8;font-weight:600;margin-bottom:18px}
.detail-main{font:500 1.32rem/1.6 Kanit,sans-serif;margin-bottom:16px}
.detail-link{display:inline-flex;gap:9px;text-decoration:none;font-size:.86rem;font-weight:700;border-bottom:1px solid var(--red);padding-bottom:4px;margin-top:auto}
.detail-link:hover{color:var(--red)}
.detail-note{font-size:.74rem;color:var(--muted);margin:10px 0 0}
.contact-link{text-decoration:none;overflow-wrap:anywhere}
.contact-link:hover{color:var(--red)}
.site-footer{background:#191918;color:#fff;padding-top:42px}
.footer-top{display:flex;justify-content:space-between;align-items:end;gap:20px;padding-bottom:35px}
.footer-name{font-size:1.62rem;font-weight:600;margin-bottom:0;line-height:1.3}
.footer-name span{color:#d15e60}
.footer-top p:last-child{color:#bdb7b1;font-size:.79rem;margin-bottom:0}
.footer-top>a{text-decoration:none;font-size:.8rem;color:#d8d0c8;border-bottom:1px solid #827c76}
.footer-bottom{border-top:1px solid #4e4a47;padding:18px 0;display:flex;justify-content:space-between;gap:15px;font-size:.76rem;color:#d2ccc5}
.footer-bottom p{margin:0}.footer-bottom a{color:#fff}
.age-gate{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;overflow-y:auto;padding:20px;background:rgba(15,14,13,.94)}
.age-gate[hidden]{display:none}
.gate-card{width:min(790px,100%);display:grid;grid-template-columns:.9fr 1.1fr;background:var(--paper);box-shadow:0 25px 75px rgba(0,0,0,.25)}
.gate-brand{background:#fff;display:grid;place-items:center;padding:28px;border-right:12px solid var(--red)}
.gate-brand img{width:min(100%,300px);display:block}
.gate-content{padding:clamp(27px,5vw,59px);display:flex;flex-direction:column;justify-content:center}
.gate-eyebrow{margin-bottom:13px}
.gate-content h2{font-size:clamp(1.55rem,3.4vw,2.65rem);line-height:1.4;margin-bottom:13px}
.gate-content h2 span{color:var(--red)}
.gate-content>p:not(.gate-eyebrow){font-size:.94rem;color:var(--muted);margin-bottom:19px}
.gate-actions{display:flex;flex-direction:column;align-items:stretch;gap:9px}
.gate-actions[hidden]{display:none}
.gate-actions .button{width:100%;min-height:48px}
.button-quiet{background:transparent;border-color:#8c8580;color:var(--ink)}
.button-quiet:hover{border-color:var(--red);color:var(--red)}
.gate-content .gate-declined{font-size:1.1rem!important;font-weight:700;color:var(--red)!important;margin-top:10px}
@media(max-width:850px){.hero-grid{grid-template-columns:1fr 1fr;gap:20px}.hero-brand{padding:14px}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.visit-grid{grid-template-columns:1fr 1fr}.visit-detail:last-child{grid-column:span 2;min-height:170px}.guidance-grid{gap:35px}}
@media(max-width:650px){.header-inner{min-height:68px}.site-header nav{gap:13px}.site-header nav a{font-size:.73rem}.site-header nav a:nth-child(2){display:none}.hero-grid{grid-template-columns:1fr;min-height:auto;padding-top:65px;padding-bottom:65px;gap:35px}.hero-copy{order:2}.hero-brand{order:1;width:min(325px,80%);margin-inline:auto;transform:rotate(1deg)}.hero-brand:before{inset:12px -10px -12px 10px}.hero-logo-frame{aspect-ratio:1.55}.hero-logo-frame img{height:100%;object-fit:contain}.hero-bottom{display:none}.hero h1{font-size:clamp(2.75rem,11vw,4.2rem)}.hero-lead{font-size:1.05rem}.section{padding:78px 0}.guidance-grid{grid-template-columns:1fr}.guidance-graphic{height:250px}.guidance-copy{order:-1}.visit-grid{grid-template-columns:1fr}.visit-detail,.visit-detail:last-child{grid-column:auto;min-height:190px}.gate-card{grid-template-columns:1fr;max-width:440px}.gate-brand{padding:8px 18px;border-right:0;border-bottom:6px solid var(--red)}.gate-brand img{width:min(100%,160px)}.gate-content{padding:26px}.gate-content h2{font-size:1.7rem}.footer-bottom{flex-direction:column}}
@media(max-width:390px){.site-header nav a:nth-child(1){display:none}.category-grid{grid-template-columns:1fr}.category-card{min-height:185px}.hero-actions{flex-direction:column;align-items:stretch}.button{width:100%}.hero-brand{width:min(300px,88%)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}.graphic-slab.one{transform:rotate(-30deg) translateX(0)}.graphic-slab.two,.graphic-slab.three{transform:rotate(-30deg) translateX(0)}}
