/* Shared styles for all service pages — included via <link> */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --black:#050505;--dark:#0a0a0a;--ink:#111;
  --g1:#1d1d1f;--g2:#3a3a3c;--g3:#6e6e73;
  --g4:#aeaeb2;--g5:#d2d2d7;--g6:#f5f5f7;--white:#fff;
  --gold:#b8953f;--gold2:#d4af6a;
  --sans:'Inter',Arial,sans-serif;
  --thai:'Sarabun',Arial,sans-serif;
  --serif:'Noto Serif Display','Times New Roman',serif;
  --nav-h:54px;--ease:cubic-bezier(.25,.46,.45,.94);
}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--sans);background:var(--white);color:var(--ink);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}
::-webkit-scrollbar{width:0}
[data-th],[data-zh]{display:none}
span[data-th],span[data-zh]{display:none}
span[data-en]{display:inline}
a[data-th],a[data-zh]{display:none}
body.lang-th [data-en]{display:none}
body.lang-th [data-th]{display:block;font-family:var(--thai)}
body.lang-th span[data-th]{display:inline;font-family:var(--thai)}
body.lang-th span[data-en]{display:none}
body.lang-th a[data-th]{display:inline-flex}
body.lang-th a[data-en]{display:none}
body.lang-th h1[data-th],body.lang-th h2[data-th],body.lang-th h3[data-th],body.lang-th p[data-th],body.lang-th div[data-th]{display:block}
body.lang-zh [data-en]{display:none}
body.lang-zh [data-zh]{display:block}
body.lang-zh span[data-zh]{display:inline}
body.lang-zh span[data-en]{display:none}
body.lang-zh a[data-zh]{display:inline-flex}
body.lang-zh a[data-en]{display:none}
body.lang-zh h1[data-zh],body.lang-zh h2[data-zh],body.lang-zh h3[data-zh],body.lang-zh p[data-zh],body.lang-zh div[data-zh]{display:block}
/* Nav */
#nav{position:fixed;top:0;left:0;right:0;z-index:9000;height:var(--nav-h);display:flex;align-items:center;background:rgba(5,5,5,.8);backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(255,255,255,.08);transition:background .4s,border-color .4s}
#nav.light{background:rgba(255,255,255,.9);border-color:rgba(0,0,0,.1)}
.nav-inner{max-width:1200px;width:100%;margin:0 auto;padding:0 28px;display:flex;align-items:center;gap:8px}
.nav-logo{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0}
.nav-logo img{height:30px;width:30px;object-fit:contain;border-radius:50%;transition:opacity .4s;opacity:.9}
#nav.light .nav-logo img{opacity:1}
.nav-logo-text{font-size:14px;font-weight:600;color:rgba(255,255,255,.9);transition:color .4s;white-space:nowrap;letter-spacing:-.01em}
#nav.light .nav-logo-text{color:var(--ink)}
.nav-links{display:flex;align-items:center;list-style:none;flex:1;justify-content:center;gap:2px}
.nav-links a{font-size:12.5px;color:rgba(255,255,255,.7);text-decoration:none;padding:6px 13px;border-radius:6px;transition:all .2s;white-space:nowrap}
#nav.light .nav-links a{color:var(--g2)}
.nav-links a:hover{color:#fff;background:rgba(255,255,255,.08)}
#nav.light .nav-links a:hover{color:var(--ink);background:rgba(0,0,0,.05)}
.lang-drop{position:relative;flex-shrink:0}
.lang-sel{display:flex;align-items:center;gap:6px;background:rgba(255,255,255,.1);border:none;border-radius:980px;padding:6px 12px 6px 10px;color:rgba(255,255,255,.72);font-family:var(--sans);font-size:12px;font-weight:500;cursor:pointer;transition:background .2s,color .2s;white-space:nowrap}
#nav.light .lang-sel{background:rgba(0,0,0,.07);color:var(--g2)}
.lang-sel:hover{background:rgba(255,255,255,.17)}
.lang-sel-flag{font-size:15px;line-height:1}
.lang-sel-arrow{font-size:8px;opacity:.5;transition:transform .2s}
.lang-drop.open .lang-sel-arrow{transform:rotate(180deg)}
.lang-dd{position:absolute;top:calc(100% + 8px);right:0;background:rgba(18,18,18,.97);backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:6px;min-width:148px;opacity:0;pointer-events:none;transform:translateY(-6px);transition:opacity .18s,transform .18s;box-shadow:0 16px 48px rgba(0,0,0,.5);z-index:100}
#nav.light .lang-dd{background:rgba(255,255,255,.97);border-color:rgba(0,0,0,.1)}
.lang-drop.open .lang-dd{opacity:1;pointer-events:all;transform:none}
.lang-opt{display:flex;align-items:center;gap:9px;padding:9px 12px;border-radius:8px;cursor:pointer;border:none;background:none;width:100%;text-align:left;font-family:var(--sans);font-size:13px;font-weight:400;color:rgba(255,255,255,.62);transition:all .15s}
#nav.light .lang-opt{color:var(--g2)}
.lang-opt:hover{background:rgba(255,255,255,.08);color:#fff}
#nav.light .lang-opt:hover{background:rgba(0,0,0,.05);color:var(--ink)}
.lang-opt.active{color:#fff;background:rgba(255,255,255,.06)}
.lang-opt-flag{font-size:16px}
.hbg{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:6px;flex-shrink:0}
.hbg span{display:block;width:20px;height:1.5px;background:rgba(255,255,255,.8);transition:all .3s;border-radius:2px}
#nav.light .hbg span{background:var(--ink)}
.hbg.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.hbg.open span:nth-child(2){opacity:0}
.hbg.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.mob-menu{display:none;position:fixed;top:var(--nav-h);left:0;right:0;z-index:8999;background:rgba(8,8,8,.98);backdrop-filter:blur(24px);padding:8px 0 28px;border-bottom:1px solid rgba(255,255,255,.07)}
.mob-menu.open{display:block}
.mob-menu a{display:block;padding:14px 28px;font-size:15px;color:rgba(255,255,255,.72);text-decoration:none;border-bottom:1px solid rgba(255,255,255,.05);transition:color .15s}
.mob-menu a:hover{color:#fff}
.mob-lang{display:flex;gap:8px;padding:20px 28px}
.mob-lang button{font-size:13px;font-weight:500;cursor:pointer;background:rgba(255,255,255,.08);border:none;color:rgba(255,255,255,.5);padding:8px 18px;border-radius:980px;transition:all .2s}
.mob-lang button.active{background:rgba(255,255,255,.18);color:#fff}
/* Layout */
.container{max-width:1200px;margin:0 auto;padding:0 48px}
.section{padding:100px 0}
.section--dark{background:var(--dark);color:#fff}
.section--gray{background:var(--g6)}
.section--black{background:var(--black);color:#fff}
.eyebrow{display:block;font-size:11px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--g3);margin-bottom:14px}
.eyebrow--gold{color:var(--gold2)}
.eyebrow--light{color:rgba(255,255,255,.3)}
.rule{width:28px;height:1px;background:var(--gold);margin:20px 0}
.h-xl{font-family:var(--serif);font-size:clamp(2.6rem,5.2vw,5rem);font-weight:300;line-height:1.07;letter-spacing:-.03em}
.h-xl[data-th]{font-family:var(--thai);font-size:clamp(2.2rem,4.4vw,4.2rem);letter-spacing:-.01em}
.h-lg{font-family:var(--serif);font-size:clamp(2rem,3.8vw,3.6rem);font-weight:300;line-height:1.1;letter-spacing:-.025em}
.h-md{font-family:var(--serif);font-size:clamp(1.5rem,2.4vw,2.2rem);font-weight:300;line-height:1.15;letter-spacing:-.02em}
.white{color:#fff}
.body-l{font-size:clamp(15px,1.6vw,18px);color:var(--g2);line-height:1.8;font-weight:300}
.body-l[data-th]{font-family:var(--thai);font-size:clamp(15px,1.6vw,17px);line-height:1.9}
.body-l--lt{color:rgba(255,255,255,.5)}
/* Service hero */
.svc-hero{min-height:52vh;display:flex;align-items:flex-end;padding-bottom:80px;padding-top:var(--nav-h);background:var(--black);position:relative;overflow:hidden}
.svc-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.45) grayscale(12%)}
.svc-hero-grad{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.4) 0%,rgba(0,0,0,.85) 100%)}
.svc-hero-content{position:relative;z-index:2;width:100%}
.svc-num-bg{position:absolute;right:48px;bottom:-20px;font-family:var(--serif);font-size:clamp(8rem,18vw,16rem);font-weight:200;color:rgba(255,255,255,.04);line-height:1;letter-spacing:-.05em;pointer-events:none;user-select:none}
/* Breadcrumb */
.bread{font-size:12px;color:rgba(255,255,255,.35);margin-bottom:20px;letter-spacing:.03em}
.bread a{color:rgba(255,255,255,.35);text-decoration:none;transition:color .2s}
.bread a:hover{color:rgba(255,255,255,.65)}
/* Content blocks */
.prose{max-width:720px}
.prose p{font-size:clamp(15px,1.6vw,17px);color:var(--g2);line-height:1.82;margin-bottom:20px;font-weight:300}
.prose p[data-th]{font-family:var(--thai);font-size:clamp(15px,1.6vw,16.5px);line-height:1.95}
.prose h3{font-family:var(--serif);font-size:1.4rem;font-weight:300;letter-spacing:-.01em;color:var(--ink);margin:36px 0 12px}
.prose ul{padding-left:20px;color:var(--g2);font-size:15px;line-height:1.85}
.prose li{margin-bottom:8px}
/* Highlights strip */
.highlights{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5px;background:var(--g5);margin-top:64px}
.hl-card{background:#fff;padding:40px 30px}
.hl-n{font-family:var(--serif);font-size:2.8rem;font-weight:200;color:var(--ink);line-height:1;letter-spacing:-.04em}
.hl-n sup{font-size:.4em;color:var(--gold2);vertical-align:super}
.hl-l{font-size:12px;color:var(--g3);letter-spacing:.06em;margin-top:8px}
/* CTA band */
.cta-band{background:var(--g1);padding:80px 0;text-align:center}
.cta-band .h-md{color:#fff;margin-bottom:28px}
.cta-band .h-md[data-th]{font-family:var(--thai)}
.btn{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:500;font-family:var(--sans);text-decoration:none;padding:13px 26px;border-radius:980px;transition:all .28s var(--ease);cursor:pointer;border:none;letter-spacing:-.01em}
.btn-gold{background:var(--gold);color:#fff}
.btn-gold:hover{background:var(--gold2);transform:scale(1.02)}
.btn-white{background:#fff;color:var(--ink)}
.btn-white:hover{background:rgba(255,255,255,.88);transform:scale(1.02)}
/* Reveal */
.rv{opacity:0;transform:translateY(32px);transition:opacity .85s var(--ease),transform .85s var(--ease)}
.rv.on{opacity:1;transform:none}
/* Footer */
footer{background:var(--black);padding:60px 0 32px;color:#fff}
.foot-btm{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;padding-top:24px;border-top:1px solid rgba(255,255,255,.06)}
.foot-copy{font-size:11.5px;color:rgba(255,255,255,.2)}
.foot-social{display:flex;gap:18px}
.foot-social a{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.28);text-decoration:none;transition:color .2s}
.foot-social a:hover{color:#fff}
@media(max-width:768px){
  :root{--nav-h:50px}
  .container{padding:0 22px}
  .section{padding:64px 0}
  .nav-links{display:none!important}
  .hbg{display:flex}
  .highlights{grid-template-columns:1fr 1fr}
  .svc-num-bg{display:none}
}
