/* Base: reset, type scale, links, focus and utilities. Values come from tokens.css (DESIGN-SYSTEM.md). */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--c-ivory);color:var(--c-ink);font:400 var(--fs-body)/1.6 var(--f-body);overflow-x:hidden}
html:lang(th) body{line-height:1.7}
a{color:var(--c-gold-700)}
a:hover{color:var(--c-navy-800)}
img,svg{max-width:100%}
h1,h2,h3{font-family:var(--f-display);font-weight:600;line-height:1.2;color:var(--c-navy-800);text-wrap:balance}
h1{line-height:1.15;font-size:clamp(32px,4.4vw,var(--fs-h1));margin:var(--s-2) 0 var(--s-6)}
h2{font-size:clamp(26px,3vw,var(--fs-h2));margin:0 0 var(--s-4)}
h3{line-height:1.3;font-size:var(--fs-h3);margin:0 0 var(--s-2)}
html:lang(th) h1{line-height:1.25}html:lang(th) h2{line-height:1.3}html:lang(th) h3{line-height:1.4}
p{margin:0 0 var(--s-4)}
button,input,select,textarea{font:inherit}
:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--r-sm)}
main:focus{outline:none}
.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-link{position:absolute;left:var(--s-4);top:-60px;z-index:50;background:var(--c-navy-800);color:#fff;padding:var(--s-2) var(--s-4);border-radius:var(--r-md)}
.skip-link:focus{top:var(--s-2)}
.muted{color:var(--c-muted)}.small{font-size:var(--fs-small)}.center{text-align:center}
.num,.price,.tabular{font-variant-numeric:tabular-nums}
.eyebrow{margin:0;font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--c-gold-700)}
html:lang(th) .eyebrow{letter-spacing:.02em}
.label-caps{font-size:var(--fs-label);font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.icon{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;vertical-align:-3px}
.wrap{max-width:var(--container);margin:0 auto;padding:0 var(--s-8)}
@media (max-width:639px){.wrap{padding:0 var(--s-4)}}
@media (prefers-reduced-motion:reduce){
 *,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}
}
