@font-face{font-family:DejaVu Serif;src:url(/assets/brand-serif.ttf);font-display:swap}@font-face{font-family:DejaVu Sans;src:url(/assets/body-sans.ttf);font-display:swap}@font-face{font-family:Noto Sans Thai;src:url(/assets/thai-sans.ttf);font-display:swap}.photo{display:block;width:100%;height:100%;object-fit:cover}.hero .visual{height:530px}.card .visual{height:310px}.contact-links{display:grid;gap:12px;margin-top:30px}.contact-links a{border-bottom:1px solid #9FB2BF;padding-bottom:8px}.about p{margin-top:45px}@media(max-width:850px){.hero .visual{height:380px}}.brand-logo{display:block;width:250px;height:auto}.eyebrow{color:#B79555}.brand{font-family:"DejaVu Serif",Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#F5F2EA;color:#102B3E;font-family:"DejaVu Sans",Arial,"Noto Sans Thai","Microsoft YaHei",sans-serif;line-height:1.7}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:5px}button{cursor:pointer}header{padding:22px 5%;display:flex;align-items:center;justify-content:space-between;background:#F5F2EA;position:sticky;top:0;z-index:5;border-bottom:1px solid #C9D3D8}.brand{font-size:19px;letter-spacing:3px;line-height:1.3}.brand small{font-size:9px;letter-spacing:5px}nav{display:flex;gap:24px;font-size:13px}.languages{display:flex;gap:12px;font-size:12px}.languages a[aria-current=page]{border-bottom:1px solid}main section{padding:90px 6%}.hero{display:grid;grid-template-columns:1fr 1fr;gap:6%;align-items:center;min-height:690px}.eyebrow{font-size:10px;letter-spacing:3px}h1{font-size:clamp(36px,4.2vw,70px);font-weight:700;line-height:1.25;letter-spacing:-2px}h2{font-size:clamp(28px,3vw,46px);font-weight:400;line-height:1.35}p{max-width:670px}.intro{color:#526878;font-size:16px}.button{display:inline-block;border:1px solid #102B3E;padding:13px 24px;background:#102B3E;color:#fff;font-size:13px}.textlink{display:inline-block;margin:16px 20px;font-size:13px;border-bottom:1px solid}.visual{background:#ddd2c0;min-height:420px;position:relative;overflow:hidden}.visual svg{width:100%;height:100%;display:block}.caption{font-size:10px;color:#768075;margin-top:12px}.about{background:#102B3E;color:#F5F2EA;display:grid;grid-template-columns:1fr 1fr;gap:10%}.about p{color:#C9D3D8}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.card .visual{min-height:220px;height:260px}.card h3{font-weight:400;font-size:23px}.card p{font-size:14px;color:#526878}.process{border-top:1px solid #C9D3D8}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.step{border-top:1px solid #9FB2BF;padding-top:20px}.step b{font-size:12px;color:#B79555}.step h3{font-weight:400}details{border-bottom:1px solid #C9D3D8;padding:22px 0}summary{cursor:pointer;font-size:18px}details p{color:#526878}.contact{background:#E5EAED;display:grid;grid-template-columns:1fr 1.2fr;gap:8%}form{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{font-size:12px;display:block}input,select,textarea{display:block;width:100%;border:1px solid #9FB2BF;border-radius:0;background:#f8f7f2;padding:11px;margin-top:6px;color:#102B3E}textarea{min-height:110px}.wide{grid-column:1/-1}.small{font-size:12px;color:#526878}footer{padding:45px 6%;display:flex;justify-content:space-between;gap:20px;font-size:12px}.assistant-button{position:fixed;right:20px;bottom:20px;background:#102B3E;border:1px solid #d3dfcf;color:white;padding:12px 20px;z-index:9}.panel{position:fixed;right:20px;bottom:80px;width:min(370px,calc(100vw - 40px));background:#f8f7f2;padding:24px;box-shadow:0 10px 45px #23382b33;z-index:10;border:1px solid #C9D3D8}.panel button{display:block;margin:10px 0;background:transparent;border:1px solid #C9D3D8;padding:9px;width:100%;color:#102B3E;text-align:left}.panel[hidden],dialog:not([open]){display:none}dialog{max-width:640px;border:1px solid #C9D3D8;padding:30px;color:#102B3E;background:#f8f7f2}dialog::backdrop{background:#152e2466}@media(max-width:850px){header{flex-wrap:wrap;gap:16px}nav{order:3;width:100%;gap:16px;overflow:auto;white-space:nowrap}.hero,.about,.contact{grid-template-columns:1fr}.hero{padding-top:45px}.hero .visual{margin-top:25px}.grid{grid-template-columns:1fr}.steps{grid-template-columns:1fr 1fr}main section{padding:60px 6%}.about{gap:10px}.contact{gap:20px}footer{flex-direction:column}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Brand gold feedback for navigation and language controls. */
header nav a,header .languages a{transition:color .18s ease}
header nav a:hover,header nav a:focus-visible,header .languages a:hover,header .languages a:focus-visible{color:#B79555}
header nav a:focus-visible,header .languages a:focus-visible{outline:2px solid #B79555;outline-offset:5px}
@media(prefers-reduced-motion:reduce){header nav a,header .languages a{transition:none}}

/* Ivory header with restrained gold linework and a clear logo panel. */
header{
 background-color:#EBE6DA;
 background-image:repeating-linear-gradient(135deg,transparent 0,transparent 29px,rgba(183,149,85,.10) 29px,rgba(183,149,85,.10) 30px,transparent 30px,transparent 60px);
 background-size:52% 100%;background-position:right top;background-repeat:no-repeat;
 border-bottom:1px solid rgba(183,149,85,.42);
 box-shadow:0 4px 18px rgba(16,43,62,.055);
}
header > .brand{
 background:#F5F2EA;padding:8px 12px;border:1px solid rgba(183,149,85,.25);
 box-shadow:0 2px 8px rgba(16,43,62,.035);flex-shrink:0;
}
@media(max-width:850px){header{background-size:70% 100%}}
/* Visit imagery: soft crossfade, restrained motion and accessible controls. */
.hero-carousel{position:relative;overflow:hidden;background:#102B3E}
.hero-carousel .hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.2s ease;pointer-events:none;object-position:center}
.hero-carousel .hero-slide.is-active{opacity:1;animation:visit-drift 8s ease-out both}
@keyframes visit-drift{from{transform:scale(1)}to{transform:scale(1.035)}}
.hero-controls{position:absolute;bottom:16px;right:16px;display:flex;align-items:center;gap:8px;z-index:2;padding:7px;background:rgba(16,43,62,.90);color:#F5F2EA}
.hero-controls button{border:1px solid rgba(183,149,85,.7);background:transparent;color:#F5F2EA;padding:6px 12px;font-size:12px;min-height:38px}
.hero-controls button:hover,.hero-controls button:focus-visible{color:#B79555;outline:2px solid #B79555}
.slide-count{font-size:11px;padding:0 8px}
.factory-visit{background:#EBE6DA;border-top:1px solid rgba(183,149,85,.3)}
.visit-intro{max-width:780px;color:#526878}
.visit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:36px}
.visit-grid figure{margin:0;min-width:0}.visit-grid img{display:block;width:100%;height:260px;object-fit:cover;background:#F5F2EA}
.visit-grid figure:first-child img{object-fit:contain}.visit-grid figcaption{font-size:12px;margin-top:10px;color:#526878}
@media(max-width:850px){.visit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.visit-grid img{height:230px}}
@media(max-width:520px){.visit-grid{grid-template-columns:1fr}.visit-grid img{height:280px}}
@media(prefers-reduced-motion:reduce){.hero-carousel .hero-slide{transition:none}.hero-carousel .hero-slide.is-active{animation:none}}
