/* ==========================================================
   พรวศิน อมูเลต — Premium Amulet Foundry
   Palette : #6D0007 (60%) / #E0A851 (30%) / #F9EDDC (10%)
   ========================================================== */

:root{
  /* core palette */
  --maroon:#6D0007;
  --maroon-deep:#3E0004;
  --maroon-900:#4C0005;
  --maroon-800:#5C0006;
  --maroon-600:#8A1218;
  --maroon-ink:#2A0002;

  --gold:#E0A851;
  --gold-lt:#F1CE90;
  --gold-dk:#B07F33;
  --gold-soft:rgba(224,168,81,.16);
  --gold-line:rgba(224,168,81,.28);

  --cream:#F9EDDC;
  --cream-bg:#FFFFFF;
  --cream-dim:rgba(249,237,220,.72);
  --cream-faint:rgba(249,237,220,.45);

  --radius-xl:32px;
  --radius-lg:24px;
  --radius-md:16px;
  --radius-sm:10px;

  --shadow-soft:0 18px 50px -20px rgba(0,0,0,.55);
  --shadow-deep:0 30px 80px -30px rgba(0,0,0,.75);

  --ease:cubic-bezier(.22,.61,.36,1);
  --maxw:1240px;
}

*,*::before,*::after{box-sizing:border-box;}
*{margin:0;padding:0;}

html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}

body{
  font-family:'Kanit','Noto Sans Thai',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-weight:300;
  font-size:16px;
  line-height:1.75;
  color:var(--cream);
  background:var(--maroon-deep);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}

img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button,input,textarea,select{font:inherit;color:inherit;}
ul{list-style:none;}

h1,h2,h3,h4,h5{font-weight:500;line-height:1.28;letter-spacing:-.01em;}

::selection{background:var(--gold);color:var(--maroon-ink);}

::-webkit-scrollbar{width:10px;}
::-webkit-scrollbar-track{background:var(--maroon-deep);}
::-webkit-scrollbar-thumb{background:linear-gradient(var(--gold-dk),var(--maroon-600));border-radius:99px;border:2px solid var(--maroon-deep);}
::-webkit-scrollbar-thumb:hover{background:var(--gold);}

/* ---------- layout helpers ---------- */
.container{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:24px;}
.section{padding:clamp(64px,8vw,120px) 0;position:relative;}
.center{text-align:center;}

.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:.74rem;font-weight:500;letter-spacing:.28em;text-transform:uppercase;
  color:var(--gold);
}
.eyebrow::before,.eyebrow::after{content:"";width:26px;height:1px;background:linear-gradient(90deg,transparent,var(--gold));}
.eyebrow::after{background:linear-gradient(270deg,transparent,var(--gold));}
.eyebrow.left::after{display:none;}

.sec-title{
  font-size:clamp(1.9rem,4vw,3rem);
  font-weight:500;margin-top:14px;
}
.sec-title .hl{
  background:linear-gradient(100deg,var(--gold-lt),var(--gold) 45%,var(--gold-dk));
  -webkit-background-clip:text;background-clip:text;color:transparent;
  font-weight:600;
}
.sec-sub{margin-top:14px;color:var(--cream-dim);max-width:640px;font-size:1rem;}
.center .sec-sub{margin-inline:auto;}

.ornament{display:flex;align-items:center;justify-content:center;gap:14px;margin:18px auto 0;max-width:260px;}
.ornament span{height:1px;flex:1;background:linear-gradient(90deg,transparent,var(--gold-line));}
.ornament span:last-child{background:linear-gradient(270deg,transparent,var(--gold-line));}
.ornament i{width:9px;height:9px;transform:rotate(45deg);background:var(--gold);box-shadow:0 0 14px var(--gold);}

/* ---------- buttons ---------- */
.btn{
  --h:54px;
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  height:var(--h);padding:0 30px;border-radius:99px;border:1px solid transparent;
  font-size:.95rem;font-weight:400;letter-spacing:.02em;cursor:pointer;
  transition:.45s var(--ease);position:relative;overflow:hidden;white-space:nowrap;
}
.btn svg{width:17px;height:17px;flex:none;transition:transform .45s var(--ease);}
.btn-gold{
  background:linear-gradient(120deg,var(--gold-lt),var(--gold) 40%,var(--gold-dk));
  color:var(--maroon-ink);font-weight:500;
  box-shadow:0 14px 34px -14px rgba(224,168,81,.75);
}
.btn-gold:hover{transform:translateY(-3px);box-shadow:0 22px 44px -16px rgba(224,168,81,.9);}
.btn-gold:hover svg{transform:translate(3px,-3px);}
.btn-ghost{border-color:var(--gold-line);color:var(--cream);background:rgba(249,237,220,.04);backdrop-filter:blur(6px);}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-3px);background:var(--gold-soft);}
.btn-dark{background:var(--maroon-ink);color:var(--cream);}
.btn-dark:hover{background:var(--maroon);transform:translateY(-3px);}
.btn-sm{--h:44px;padding:0 22px;font-size:.86rem;}
.btn-block{width:100%;}

/* ============ TOP BAR ============ */
.topbar{
  background:var(--maroon-ink);
  border-bottom:1px solid rgba(224,168,81,.14);
  font-size:.8rem;color:var(--cream-dim);
}
.topbar .container{display:flex;align-items:center;justify-content:space-between;gap:18px;height:42px;}
.topbar a{transition:color .3s;}
.topbar a:hover{color:var(--gold);}
.topbar .tb-l{display:flex;align-items:center;gap:22px;}
.topbar .tb-r{display:flex;align-items:center;gap:16px;}
.topbar i.dot{width:5px;height:5px;border-radius:50%;background:var(--gold);display:inline-block;margin-right:8px;box-shadow:0 0 8px var(--gold);animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
.topbar .tb-soc{display:flex;gap:10px;}
.topbar .tb-soc a{width:26px;height:26px;border:1px solid rgba(224,168,81,.22);border-radius:50%;display:grid;place-items:center;}
.topbar .tb-soc svg{width:12px;height:12px;}
.topbar .tb-soc a:hover{background:var(--gold);color:var(--maroon-ink);border-color:var(--gold);}

/* ============ NAVBAR (pill) ============ */
.nav-outer{position:sticky;top:0;z-index:900;padding:18px 0;transition:padding .4s var(--ease);}
.nav-outer::before{
  content:"";position:absolute;inset:0;backdrop-filter:blur(0px);
  background:linear-gradient(var(--gold-soft),transparent);opacity:0;transition:.4s;
}
.nav-outer.stuck{padding:10px 0;}
.nav-outer.stuck::before{opacity:1;backdrop-filter:blur(10px);}

.nav{
  position:relative;
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  height:80px;padding:0 14px 0 20px;border-radius:99px;
  background:linear-gradient(120deg,#5C0006,#2E0003 60%);
  border:1px solid rgba(224,168,81,.22);
  box-shadow:var(--shadow-soft);
}
.brand{display:flex;align-items:center;gap:12px;flex:none;}
.brand-mark{
  width:60px;height:60px;border-radius:14px;flex:none;overflow:hidden;
  display:grid;place-items:center;background:var(--maroon-ink);
  border:1px solid rgba(224,168,81,.42);
  box-shadow:0 8px 22px -10px rgba(224,168,81,.7);
}
.brand-mark img{width:100%;height:100%;object-fit:cover;display:block;}
.brand-txt strong{display:block;font-size:1.02rem;font-weight:500;letter-spacing:.01em;line-height:1.15;}
.brand-txt small{display:block;font-size:.63rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);font-weight:300;}

.nav-links{display:flex;align-items:center;gap:4px;}
.nav-links a{
  position:relative;padding:10px 16px;border-radius:99px;font-size:.93rem;font-weight:300;
  color:var(--cream-dim);transition:.35s var(--ease);
}
.nav-links a:hover{color:var(--cream);}
.nav-links a.active{color:var(--maroon-ink);font-weight:400;background:linear-gradient(120deg,var(--gold-lt),var(--gold));box-shadow:0 8px 20px -10px rgba(224,168,81,.9);}

.nav-actions{display:flex;align-items:center;gap:8px;flex:none;}
.icon-btn{
  width:44px;height:44px;border-radius:50%;display:grid;place-items:center;
  border:1px solid rgba(224,168,81,.22);background:transparent;cursor:pointer;transition:.35s var(--ease);
}
.icon-btn svg{width:18px;height:18px;}
.icon-btn:hover{background:var(--gold);color:var(--maroon-ink);border-color:var(--gold);transform:translateY(-2px);}
.nav-cta{display:inline-flex;}
.burger{display:none;}

/* mobile drawer */
.drawer{position:fixed;inset:0;z-index:1000;pointer-events:none;overflow:hidden;}
.drawer-bg{position:absolute;inset:0;background:rgba(20,0,2,.7);backdrop-filter:blur(6px);opacity:0;transition:.4s;}
.drawer-panel{
  position:absolute;top:0;right:0;height:100%;width:min(340px,86vw);
  background:linear-gradient(160deg,#5C0006,#2A0002);
  border-left:1px solid var(--gold-line);
  padding:28px 26px;transform:translateX(102%);transition:.5s var(--ease);
  display:flex;flex-direction:column;gap:8px;overflow-y:auto;
}
.drawer.open{pointer-events:auto;}
.drawer.open .drawer-bg{opacity:1;}
.drawer.open .drawer-panel{transform:none;}
.drawer-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;}
.drawer-panel a.dl{
  padding:14px 16px;border-radius:14px;font-size:1rem;color:var(--cream-dim);
  border:1px solid transparent;transition:.3s;display:flex;justify-content:space-between;align-items:center;
}
.drawer-panel a.dl:hover,.drawer-panel a.dl.active{color:var(--gold);border-color:var(--gold-line);background:var(--gold-soft);}
.drawer-foot{margin-top:auto;padding-top:22px;border-top:1px solid rgba(224,168,81,.16);display:grid;gap:10px;}
.drawer-foot .mini{font-size:.8rem;color:var(--cream-faint);}

/* ============ HERO ============ */
.hero{padding:22px 0 clamp(50px,7vw,90px);position:relative;}
.hero-glow{
  position:absolute;top:-160px;left:50%;transform:translateX(-50%);
  width:min(1100px,100%);height:520px;pointer-events:none;
  background:radial-gradient(ellipse at center,rgba(224,168,81,.22),transparent 68%);
  filter:blur(30px);
}
.hero-grid{
  display:grid;gap:16px;position:relative;
  grid-template-columns:1.12fr .94fr .94fr;
  grid-template-rows:minmax(300px,1fr) minmax(200px,auto);
}
.hero-visual{grid-area:1/1/3/2;}
.hero-copy{grid-area:1/2/2/4;}
.hero-mini-a{grid-area:2/2/3/3;}
.hero-mini-b{grid-area:2/3/3/4;}

.hero-visual{
  position:relative;border-radius:var(--radius-xl);overflow:hidden;
  background:var(--maroon-ink);border:1px solid rgba(224,168,81,.2);
  box-shadow:var(--shadow-deep);min-height:420px;
}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.1s var(--ease),transform 7s linear;transform:scale(1.06);}
.hero-slide.on{opacity:1;transform:scale(1);}
.hero-slide img{width:100%;height:100%;object-fit:cover;}
.hero-visual::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(42,0,2,.35) 0%,transparent 35%,rgba(42,0,2,.85) 100%);
}
.hero-dots{position:absolute;left:26px;bottom:26px;display:flex;gap:8px;z-index:3;}
.hero-dots button{
  width:26px;height:4px;border-radius:99px;border:0;cursor:pointer;padding:0;
  background:rgba(249,237,220,.32);transition:.4s var(--ease);
}
.hero-dots button.on{width:46px;background:var(--gold);box-shadow:0 0 14px var(--gold);}
.hero-badge{
  position:absolute;top:22px;left:22px;z-index:3;
  display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:99px;
  background:rgba(42,0,2,.55);backdrop-filter:blur(10px);border:1px solid var(--gold-line);
  font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);
}
.hero-cap{position:absolute;right:26px;bottom:26px;z-index:3;text-align:right;}
.hero-cap b{display:block;font-weight:400;font-size:1.02rem;}
.hero-cap span{font-size:.78rem;color:var(--cream-faint);letter-spacing:.1em;}

.hero-copy{
  border-radius:var(--radius-xl);padding:clamp(30px,4vw,54px);
  background:#FFFFFF;
  color:var(--maroon-ink);position:relative;overflow:hidden;
  display:flex;flex-direction:column;justify-content:center;
  box-shadow:var(--shadow-soft);
}
.hero-copy::before{
  content:"";position:absolute;right:-90px;top:-90px;width:300px;height:300px;border-radius:50%;
  background:radial-gradient(circle,rgba(224,168,81,.3),transparent 70%);
}
.hero-copy::after{
  content:"";position:absolute;right:-40px;bottom:-70px;width:220px;height:220px;
  border:1px solid rgba(109,0,7,.12);border-radius:50%;
}
.hero-copy .eyebrow{color:var(--maroon);position:relative;}
.hero-copy .eyebrow::before,.hero-copy .eyebrow::after{background:linear-gradient(90deg,transparent,var(--maroon));}
.hero-title{
  font-size:clamp(2.1rem,4.4vw,3.5rem);font-weight:500;line-height:1.18;margin-top:16px;
  color:var(--maroon);position:relative;letter-spacing:-.02em;
}
.hero-title em{
  font-style:normal;font-weight:600;
  background:linear-gradient(100deg,var(--gold-dk),#8A5A16 60%,var(--maroon-600));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero-desc{margin-top:16px;color:rgba(42,0,2,.72);font-size:1rem;max-width:520px;position:relative;}
.hero-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px;position:relative;}
.hero-copy .btn-ghost{border-color:rgba(109,0,7,.28);color:var(--maroon);background:transparent;}
.hero-copy .btn-ghost:hover{background:var(--maroon);color:var(--cream);border-color:var(--maroon);}
.hero-stats{display:flex;gap:clamp(30px,5.5vw,64px);margin-top:32px;padding-top:22px;border-top:1px solid rgba(109,0,7,.14);position:relative;flex-wrap:wrap;}
.hero-stats div b{display:block;font-size:1.55rem;font-weight:600;color:var(--maroon);line-height:1.1;white-space:nowrap;}
.hero-stats div > span{font-size:.78rem;color:rgba(42,0,2,.6);letter-spacing:.06em;}

.hero-mini{
  position:relative;border-radius:var(--radius-lg);overflow:hidden;min-height:210px;
  border:1px solid rgba(224,168,81,.2);background:var(--maroon-ink);
  display:block;box-shadow:var(--shadow-soft);
}
.hero-mini img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform 1s var(--ease);}
.hero-mini::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(42,0,2,.7) 0%,transparent 45%,rgba(42,0,2,.6) 100%);}
.hero-mini .lbl{position:absolute;top:22px;left:22px;z-index:2;font-size:1.15rem;font-weight:400;}
.hero-mini .go{
  position:absolute;right:20px;bottom:20px;z-index:2;width:40px;height:40px;border-radius:50%;
  background:rgba(249,237,220,.12);border:1px solid var(--gold-line);backdrop-filter:blur(8px);
  display:grid;place-items:center;transition:.45s var(--ease);
}
.hero-mini .go svg{width:16px;height:16px;}
.hero-mini:hover img{transform:scale(1.08);}
.hero-mini:hover .go{background:var(--gold);color:var(--maroon-ink);border-color:var(--gold);}

/* ============ MARQUEE ============ */
.marquee{
  border-block:1px solid rgba(224,168,81,.16);
  background:linear-gradient(90deg,var(--maroon-900),var(--maroon-ink) 50%,var(--maroon-900));
  overflow:hidden;padding:16px 0;
}
.marquee-track{display:flex;gap:56px;width:max-content;animation:slide 32s linear infinite;}
.marquee:hover .marquee-track{animation-play-state:paused;}
.marquee-track span{display:inline-flex;align-items:center;gap:14px;font-size:.92rem;letter-spacing:.16em;color:var(--cream-dim);text-transform:uppercase;white-space:nowrap;}
.marquee-track span::before{content:"";width:7px;height:7px;transform:rotate(45deg);background:var(--gold);flex:none;}
@keyframes slide{to{transform:translateX(-50%);}}

/* ============ CATALOG BENTO ============ */
.catalog-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:34px;}
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;}
.tile{
  position:relative;border-radius:var(--radius-lg);overflow:hidden;min-height:196px;
  border:1px solid rgba(224,168,81,.18);background:var(--maroon-900);
  box-shadow:var(--shadow-soft);isolation:isolate;
}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease),filter .6s;filter:saturate(.92);}
.tile::after{content:"";position:absolute;inset:0;background:linear-gradient(190deg,rgba(42,0,2,.62) 0%,rgba(42,0,2,.18) 45%,rgba(42,0,2,.88) 100%);z-index:1;transition:.6s;}
.tile-in{position:relative;z-index:2;height:100%;padding:22px;display:flex;flex-direction:column;justify-content:space-between;}
.tile-name{font-size:1.02rem;font-weight:400;line-height:1.35;max-width:82%;text-shadow:0 2px 18px rgba(0,0,0,.6);}
.tile-name small{display:block;font-size:.72rem;color:var(--gold);letter-spacing:.2em;text-transform:uppercase;font-weight:300;margin-bottom:6px;}
.tile-num{align-self:flex-end;font-size:2.1rem;font-weight:200;color:rgba(249,237,220,.5);line-height:1;letter-spacing:-.03em;transition:.5s;}
.tile:hover img{transform:scale(1.09);filter:saturate(1.05);}
.tile:hover::after{background:linear-gradient(190deg,rgba(109,0,7,.55) 0%,rgba(42,0,2,.25) 45%,rgba(42,0,2,.9) 100%);}
.tile:hover .tile-num{color:var(--gold);}
.tile.t1{grid-column:span 2;grid-row:span 2;min-height:406px;}
.tile.t2,.tile.t3,.tile.t4{grid-column:span 2;}
.tile.t5,.tile.t6{grid-column:span 1;}

/* ============ CARDS ============ */
.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;}
.grid-4{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;}
.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;}

/* home services grid — fixed 3 columns, centered icon */
.services-grid{grid-template-columns:repeat(3,1fr);}
.services-grid .card-ico{margin-inline:auto;}
@media (max-width:980px){.services-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:640px){.services-grid{grid-template-columns:1fr;}}

.card{
  position:relative;border-radius:var(--radius-lg);padding:30px 26px;
  background:linear-gradient(160deg,rgba(249,237,220,.055),rgba(249,237,220,.015));
  border:1px solid rgba(224,168,81,.16);
  transition:.5s var(--ease);overflow:hidden;
}
.card::before{
  content:"";position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:0;transition:.5s;
}
.card:hover{transform:translateY(-6px);border-color:var(--gold-line);background:linear-gradient(160deg,rgba(224,168,81,.1),rgba(249,237,220,.02));}
.card:hover::before{opacity:1;}
.card-ico{
  width:56px;height:56px;border-radius:16px;display:grid;place-items:center;margin-bottom:20px;
  background:var(--gold-soft);border:1px solid var(--gold-line);color:var(--gold);transition:.5s var(--ease);
}
.card-ico svg{width:26px;height:26px;}
.card:hover .card-ico{background:linear-gradient(130deg,var(--gold-lt),var(--gold-dk));color:var(--maroon-ink);transform:rotate(-6deg) scale(1.06);}
.card h3{font-size:1.16rem;font-weight:400;margin-bottom:10px;}
.card p{font-size:.92rem;color:var(--cream-dim);}
.card .num{position:absolute;right:22px;top:18px;font-size:2.6rem;font-weight:200;color:rgba(224,168,81,.14);line-height:1;}
ul.tick{margin-top:16px;display:grid;gap:8px;}
ul.tick li{font-size:.86rem;color:var(--cream-dim);display:flex;gap:9px;align-items:flex-start;}
ul.tick li::before{content:"";width:6px;height:6px;margin-top:9px;flex:none;transform:rotate(45deg);background:var(--gold);}

/* service showcase card with image */
.svc{
  border-radius:var(--radius-lg);overflow:hidden;border:1px solid rgba(224,168,81,.18);
  background:linear-gradient(170deg,rgba(249,237,220,.05),rgba(249,237,220,.012));
  transition:.55s var(--ease);display:flex;flex-direction:column;
}
.svc:hover{transform:translateY(-7px);border-color:var(--gold-line);box-shadow:var(--shadow-deep);}
.svc-img{position:relative;aspect-ratio:1/1;overflow:hidden;}
.svc-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease);}
.svc:hover .svc-img img{transform:scale(1.08);}
.svc-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(42,0,2,.8));}
.svc-tag{
  position:absolute;top:16px;left:16px;z-index:2;padding:7px 14px;border-radius:99px;font-size:.72rem;
  letter-spacing:.14em;text-transform:uppercase;background:rgba(42,0,2,.6);border:1px solid var(--gold-line);
  color:var(--gold);backdrop-filter:blur(8px);
}
.svc-body{padding:26px;flex:1;display:flex;flex-direction:column;}
.svc-body h3{font-size:1.22rem;font-weight:400;margin-bottom:10px;}
.svc-body p{font-size:.92rem;color:var(--cream-dim);}
.svc-foot{margin-top:auto;padding-top:20px;display:flex;align-items:center;justify-content:space-between;gap:14px;}
.svc-price{font-size:.86rem;color:var(--cream-faint);}
.svc-price b{display:block;color:var(--gold);font-size:1.05rem;font-weight:500;}
.svc-go{
  display:inline-flex;align-items:center;gap:9px;flex:none;
  padding:11px 22px;border-radius:999px;
  border:1px solid var(--gold-line);color:var(--gold);
  font-size:.92rem;letter-spacing:.02em;
  transition:.45s var(--ease);
}
.svc-go svg{width:16px;height:16px;transition:transform .45s var(--ease);}
.svc:hover .svc-go{background:var(--gold);color:var(--maroon-ink);border-color:var(--gold);}
.svc:hover .svc-go svg{transform:translateX(4px);}

/* ============ PROCESS ============ */
.process{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0;}
.step{position:relative;padding:30px 22px;border-left:1px solid rgba(224,168,81,.16);transition:.5s var(--ease);}
.step:first-child{border-left:0;}
.step:hover{background:linear-gradient(180deg,rgba(224,168,81,.09),transparent);}
.step .st-n{
  width:46px;height:46px;border-radius:50%;display:grid;place-items:center;margin-bottom:18px;
  border:1px solid var(--gold-line);color:var(--gold);font-size:.9rem;font-weight:400;transition:.5s var(--ease);
}
.step:hover .st-n{background:var(--gold);color:var(--maroon-ink);border-color:var(--gold);box-shadow:0 0 24px -4px var(--gold);}
.step h4{font-size:1.04rem;font-weight:400;margin-bottom:8px;}
.step p{font-size:.87rem;color:var(--cream-dim);}

/* home process — single row of 6 steps with divider lines */
.process-row{grid-template-columns:repeat(6,1fr);}
.process-row .step{padding:30px 18px;border-left:1px solid rgba(224,168,81,.16);border-top:0;}
.process-row .step:first-child{border-left:0;}
@media (max-width:1080px){
  .process-row{grid-template-columns:repeat(3,1fr);}
  .process-row .step{padding:30px 22px;border-left:1px solid rgba(224,168,81,.16);}
  .process-row .step:nth-child(3n+1){border-left:0;}
  .process-row .step:nth-child(n+4){border-top:1px solid rgba(224,168,81,.16);}
}
@media (max-width:640px){
  .process-row{grid-template-columns:1fr;}
  .process-row .step,.process-row .step:nth-child(3n+1){border-left:0;border-top:1px solid rgba(224,168,81,.16);}
}
/* ============ SPLIT ============ */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,64px);align-items:center;}
.split.rev .split-media{order:2;}
.split-media{position:relative;}
.split-media .m1{border-radius:var(--radius-lg);overflow:hidden;border:1px solid rgba(224,168,81,.22);box-shadow:var(--shadow-deep);}
.split-media .m1 img{width:100%;aspect-ratio:4/3.4;object-fit:cover;}
.split-media .m2{
  position:absolute;right:-18px;bottom:-34px;width:46%;border-radius:var(--radius-md);overflow:hidden;
  border:4px solid var(--maroon-deep);box-shadow:var(--shadow-deep);
}
.split-media .m2 img{width:100%;aspect-ratio:1/1;object-fit:cover;}
.split-media .tag{
  position:absolute;left:-16px;top:26px;padding:12px 20px;border-radius:14px;
  background:linear-gradient(130deg,var(--gold-lt),var(--gold-dk));color:var(--maroon-ink);
  font-size:.82rem;font-weight:500;box-shadow:0 16px 34px -14px rgba(224,168,81,.8);
}
.feat-list{display:grid;gap:14px;margin-top:26px;}
.feat-list li{display:flex;gap:14px;align-items:flex-start;}
.feat-list .fi{
  width:38px;height:38px;flex:none;border-radius:11px;display:grid;place-items:center;
  background:var(--gold-soft);border:1px solid var(--gold-line);color:var(--gold);
}
.feat-list .fi svg{width:17px;height:17px;}
.feat-list b{display:block;font-weight:400;font-size:1rem;}
.feat-list span{font-size:.87rem;color:var(--cream-dim);}

/* ============ GALLERY ============ */
.filters{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:34px;}
.filters button{
  padding:11px 22px;border-radius:99px;border:1px solid rgba(224,168,81,.22);
  background:transparent;color:var(--cream-dim);font-size:.88rem;cursor:pointer;transition:.4s var(--ease);
}
.filters button:hover{color:var(--gold);border-color:var(--gold);}
.filters button.on{background:linear-gradient(120deg,var(--gold-lt),var(--gold));color:var(--maroon-ink);border-color:transparent;font-weight:400;}

.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:14px;}
.gitem{
  position:relative;border-radius:var(--radius-md);overflow:hidden;cursor:pointer;
  border:1px solid rgba(224,168,81,.16);background:var(--maroon-900);
  aspect-ratio:1/1.18;transition:.55s var(--ease);
}
.gitem.tall{aspect-ratio:1/1.5;}
.gitem img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease);}
.gitem .gov{
  position:absolute;inset:0;padding:18px;display:flex;flex-direction:column;justify-content:flex-end;
  background:linear-gradient(180deg,transparent 40%,rgba(42,0,2,.9));
  opacity:0;transition:.5s var(--ease);
}
.gitem .gov b{font-weight:400;font-size:.98rem;}
.gitem .gov small{color:var(--gold);font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;}
.gitem:hover{border-color:var(--gold);transform:translateY(-5px);box-shadow:var(--shadow-deep);}
.gitem:hover img{transform:scale(1.1);}
.gitem:hover .gov{opacity:1;}
.gitem.hide{display:none;}
.gitem .zoom{
  position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:50%;
  background:rgba(42,0,2,.6);border:1px solid var(--gold-line);display:grid;place-items:center;
  opacity:0;transform:scale(.7);transition:.45s var(--ease);backdrop-filter:blur(6px);
}
.gitem .zoom svg{width:15px;height:15px;color:var(--gold);}
.gitem:hover .zoom{opacity:1;transform:none;}
.load-more{display:flex;justify-content:center;margin-top:38px;}

/* lightbox */
.lightbox{position:fixed;inset:0;z-index:1100;display:grid;place-items:center;padding:5vw;opacity:0;pointer-events:none;transition:.45s var(--ease);}
.lightbox.open{opacity:1;pointer-events:auto;}
.lightbox-bg{position:absolute;inset:0;background:rgba(20,0,2,.93);backdrop-filter:blur(10px);}
.lightbox figure{position:relative;max-width:min(900px,90vw);text-align:center;transform:scale(.94);transition:.45s var(--ease);}
.lightbox.open figure{transform:none;}
.lightbox img{max-height:74vh;max-width:100%;width:auto;margin-inline:auto;border-radius:var(--radius-md);border:1px solid var(--gold-line);box-shadow:var(--shadow-deep);}
.lightbox figcaption{margin-top:14px;color:var(--cream-dim);font-size:.9rem;}
.lightbox figcaption b{display:block;color:var(--gold);font-weight:400;}
.lb-btn{
  position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;
  background:rgba(249,237,220,.08);border:1px solid var(--gold-line);color:var(--cream);
  display:grid;place-items:center;cursor:pointer;transition:.35s;z-index:5;backdrop-filter:blur(8px);
}
.lb-btn svg{width:20px;height:20px;}
.lb-btn:hover{background:var(--gold);color:var(--maroon-ink);}
.lb-prev{left:2vw;}.lb-next{right:2vw;}
.lb-close{position:absolute;top:3vh;right:3vw;width:48px;height:48px;border-radius:50%;background:rgba(249,237,220,.08);border:1px solid var(--gold-line);color:var(--cream);display:grid;place-items:center;cursor:pointer;z-index:5;transition:.35s;}
.lb-close svg{width:20px;height:20px;}
.lb-close:hover{background:var(--gold);color:var(--maroon-ink);transform:rotate(90deg);}

/* ============ TESTIMONIALS ============ */
.tst{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;}
.tst-card{
  border-radius:var(--radius-lg);padding:32px 28px;position:relative;
  background:linear-gradient(160deg,rgba(249,237,220,.06),rgba(249,237,220,.015));
  border:1px solid rgba(224,168,81,.16);transition:.5s var(--ease);
}
.tst-card:hover{transform:translateY(-6px);border-color:var(--gold-line);}
.tst-card .qm{font-size:3.4rem;line-height:.6;color:rgba(224,168,81,.28);font-weight:600;}
.tst-card p{margin:16px 0 22px;font-size:.95rem;color:var(--cream-dim);}
.stars{display:flex;gap:3px;color:var(--gold);margin-bottom:14px;}
.stars svg{width:15px;height:15px;}
.tst-who{display:flex;align-items:center;gap:13px;padding-top:18px;border-top:1px solid rgba(224,168,81,.14);}
.avatar{
  width:44px;height:44px;border-radius:50%;flex:none;display:grid;place-items:center;
  background:linear-gradient(140deg,var(--gold-lt),var(--gold-dk));color:var(--maroon-ink);
  font-weight:500;font-size:1rem;
}
.tst-who b{display:block;font-weight:400;font-size:.95rem;}
.tst-who span{font-size:.79rem;color:var(--cream-faint);}

/* ============ STATS ============ */
.band{
  border-block:1px solid rgba(224,168,81,.16);
  background:radial-gradient(ellipse at 50% 0%,rgba(224,168,81,.1),transparent 60%),var(--maroon-deep);
}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;text-align:center;}
.stat{padding:34px 16px;border-left:1px solid rgba(224,168,81,.14);}
.stat:first-child{border-left:0;}
.stat b{
  display:block;font-size:clamp(2rem,4vw,2.9rem);font-weight:300;line-height:1;letter-spacing:-.02em;
  background:linear-gradient(120deg,var(--gold-lt),var(--gold),var(--gold-dk));white-space:nowrap;
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.stat > span{display:block;margin-top:10px;font-size:.84rem;color:var(--cream-dim);letter-spacing:.06em;}

/* ============ FAQ ============ */
.faq{display:grid;gap:12px;max-width:880px;margin-inline:auto;}
.faq-item{border:1px solid rgba(224,168,81,.18);border-radius:var(--radius-md);overflow:hidden;background:rgba(249,237,220,.03);transition:.4s;}
.faq-item.open{border-color:var(--gold-line);background:rgba(224,168,81,.07);}
.faq-q{
  width:100%;background:none;border:0;text-align:left;cursor:pointer;
  padding:22px 24px;display:flex;align-items:center;justify-content:space-between;gap:18px;
  font-size:1rem;font-weight:300;transition:.35s;
}
.faq-q:hover{color:var(--gold);}
.faq-q .pm{width:30px;height:30px;flex:none;border-radius:50%;border:1px solid var(--gold-line);display:grid;place-items:center;color:var(--gold);transition:.45s var(--ease);}
.faq-q .pm svg{width:14px;height:14px;}
.faq-item.open .pm{background:var(--gold);color:var(--maroon-ink);transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .5s var(--ease);}
.faq-a p{padding:0 24px 24px;font-size:.92rem;color:var(--cream-dim);}

/* ============ PAGE HEADER ============ */
.pagehead{position:relative;padding:clamp(56px,8vw,104px) 0 clamp(46px,6vw,76px);overflow:hidden;text-align:center;}
.pagehead::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(ellipse at 50% -10%,rgba(224,168,81,.2),transparent 62%);
}
.pagehead img.bgi{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.13;filter:saturate(.5);}
.pagehead .container{position:relative;}
.pagehead h1{font-size:clamp(2.2rem,5vw,3.6rem);font-weight:500;margin-top:16px;}
.pagehead h1 .hl{background:linear-gradient(100deg,var(--gold-lt),var(--gold) 45%,var(--gold-dk));-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:600;}
.pagehead p{margin:16px auto 0;color:var(--cream-dim);max-width:620px;}
.crumb{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:20px;font-size:.84rem;color:var(--cream-faint);}
.crumb a:hover{color:var(--gold);}
.crumb i{width:4px;height:4px;background:var(--gold);transform:rotate(45deg);}

/* ============ CONTACT ============ */
.contact-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:22px;align-items:start;}
.info-card{
  border-radius:var(--radius-lg);padding:30px;
  background:linear-gradient(160deg,rgba(249,237,220,.06),rgba(249,237,220,.015));
  border:1px solid rgba(224,168,81,.16);
}
.info-row{display:flex;gap:16px;padding:18px 0;border-bottom:1px dashed rgba(224,168,81,.16);}
.info-row:last-child{border-bottom:0;padding-bottom:0;}
.info-row .ii{width:44px;height:44px;flex:none;border-radius:13px;display:grid;place-items:center;background:var(--gold-soft);border:1px solid var(--gold-line);color:var(--gold);transition:.4s;}
.info-row .ii svg{width:19px;height:19px;}
.info-row:hover .ii{background:var(--gold);color:var(--maroon-ink);}
.info-row small{display:block;font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);}
.info-row b{display:block;font-weight:400;font-size:1.02rem;margin-top:3px;}
.info-row p{font-size:.86rem;color:var(--cream-dim);}

.form-card{
  border-radius:var(--radius-lg);padding:clamp(28px,4vw,42px);
  background:linear-gradient(155deg,rgba(224,168,81,.09),rgba(249,237,220,.02));
  border:1px solid rgba(224,168,81,.2);
}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.field{margin-bottom:18px;position:relative;}
.field label{display:block;font-size:.83rem;color:var(--cream-dim);margin-bottom:8px;letter-spacing:.04em;}
.field label .req{color:var(--gold);}
.field input,.field textarea,.field select{
  width:100%;padding:15px 18px;border-radius:14px;
  background:rgba(42,0,2,.4);border:1px solid rgba(224,168,81,.2);
  color:var(--cream);font-size:.95rem;font-weight:300;transition:.35s;outline:none;
}
.field select{appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E0A851' stroke-width='2'><path d='M6 9l6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right 16px center;background-size:18px;padding-right:46px;}
.field select option{background:#3E0004;color:#F9EDDC;}
.field textarea{resize:vertical;min-height:130px;}
.field input::placeholder,.field textarea::placeholder{color:rgba(249,237,220,.32);}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--gold);background:rgba(42,0,2,.62);box-shadow:0 0 0 4px rgba(224,168,81,.12);}
.field.err input,.field.err textarea,.field.err select{border-color:#E8695E;}
.field .msg{font-size:.76rem;color:#E8695E;margin-top:6px;display:none;}
.field.err .msg{display:block;}
.form-note{font-size:.8rem;color:var(--cream-faint);margin-top:14px;}
.form-ok{
  display:none;margin-top:18px;padding:16px 20px;border-radius:14px;
  background:rgba(224,168,81,.14);border:1px solid var(--gold-line);color:var(--gold);font-size:.9rem;
}
.form-ok.show{display:flex;gap:10px;align-items:center;}
.form-ok svg{width:20px;height:20px;flex:none;}

.map-wrap{border-radius:var(--radius-lg);overflow:hidden;border:1px solid rgba(224,168,81,.2);height:400px;position:relative;background:var(--maroon-900);}
.map-col .map-wrap{height:clamp(360px,46vh,540px);}
.map-wrap iframe{width:100%;height:100%;border:0;filter:grayscale(.35) contrast(.95) brightness(.9);}

/* ============ CTA ============ */
.cta{
  position:relative;border-radius:var(--radius-xl);overflow:hidden;
  padding:clamp(44px,6vw,76px) clamp(28px,5vw,64px);text-align:center;
  background:linear-gradient(140deg,var(--maroon) 0%,var(--maroon-deep) 70%);
  border:1px solid var(--gold-line);
}
.cta::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(ellipse at 50% 120%,rgba(224,168,81,.32),transparent 62%);
}
.cta img.cbg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.12;}
.cta > *{position:relative;}
.cta h2{font-size:clamp(1.7rem,3.6vw,2.7rem);font-weight:500;}
.cta p{margin-top:14px;color:var(--cream-dim);max-width:560px;margin-inline:auto;}
.cta .hero-btns{justify-content:center;}

/* ============ FOOTER ============ */
.footer{background:var(--maroon-ink);border-top:1px solid rgba(224,168,81,.16);padding-top:64px;}
.f-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:36px;padding-bottom:48px;}
.f-brand p{margin-top:18px;font-size:.9rem;color:var(--cream-dim);max-width:330px;}
.f-soc{display:flex;gap:10px;margin-top:22px;}
.f-soc a{width:40px;height:40px;border-radius:50%;border:1px solid rgba(224,168,81,.22);display:grid;place-items:center;transition:.4s var(--ease);}
.f-soc svg{width:17px;height:17px;}
.f-soc a:hover{background:var(--gold);color:var(--maroon-ink);border-color:var(--gold);transform:translateY(-3px);}
.f-col h5{font-size:.8rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:20px;font-weight:400;}
.f-col li{margin-bottom:11px;}
.f-col a{font-size:.9rem;color:var(--cream-dim);transition:.3s;display:inline-block;}
.f-col a:hover{color:var(--gold);transform:translateX(4px);}
.f-contact li{display:flex;gap:11px;font-size:.9rem;color:var(--cream-dim);margin-bottom:14px;align-items:flex-start;}
.f-contact svg{width:16px;height:16px;color:var(--gold);flex:none;margin-top:5px;}
.f-bottom{border-top:1px solid rgba(224,168,81,.14);padding:22px 0;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.82rem;color:var(--cream-faint);}
.f-bottom a:hover{color:var(--gold);}

/* ============ FLOATING ============ */
.float-stack{position:fixed;right:20px;bottom:20px;z-index:800;display:grid;gap:10px;}
.fab{
  width:52px;height:52px;border-radius:50%;display:grid;place-items:center;cursor:pointer;
  border:1px solid var(--gold-line);background:rgba(42,0,2,.75);backdrop-filter:blur(10px);
  color:var(--gold);transition:.4s var(--ease);box-shadow:var(--shadow-soft);
}
.fab svg{width:21px;height:21px;}
.fab:hover{background:var(--gold);color:var(--maroon-ink);transform:translateY(-4px) scale(1.05);}
#toTop{opacity:0;pointer-events:none;transform:translateY(12px);}
#toTop.show{opacity:1;pointer-events:auto;transform:none;}

/* ============ REVEAL ============ */
.rv{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform .9s var(--ease);}
.rv.in{opacity:1;transform:none;}
.rv.d1{transition-delay:.08s}.rv.d2{transition-delay:.16s}.rv.d3{transition-delay:.24s}
.rv.d4{transition-delay:.32s}.rv.d5{transition-delay:.4s}.rv.d6{transition-delay:.48s}

/* ============ RESPONSIVE ============ */
@media (max-width:1080px){
  .nav-links{display:none;}
  .burger{display:grid;}
  .nav-cta{display:none;}
  .f-grid{grid-template-columns:1fr 1fr;}
  .contact-grid{grid-template-columns:1fr;}
}
@media (max-width:980px){
  .hero-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto;}
  .hero-copy{grid-area:1/1/2/3;}
  .hero-visual{grid-area:2/1/3/3;min-height:340px;}
  .hero-mini-a{grid-area:3/1/4/2;}
  .hero-mini-b{grid-area:3/2/4/3;}
  .split{grid-template-columns:1fr;}
  .split.rev .split-media{order:0;}
  .split-media{max-width:520px;margin-inline:auto;}
  .tile.t1{grid-column:span 3;grid-row:span 1;min-height:230px;}
  .tile.t2,.tile.t3,.tile.t4,.tile.t5,.tile.t6{grid-column:span 3;}
  .step{border-left:0;border-top:1px solid rgba(224,168,81,.16);}
  .stat{border-left:0;}
}
@media (max-width:640px){
  body{font-size:15px;}
  .container{padding-inline:18px;}
  .hide-sm{display:none!important;}
  .nav{height:72px;padding:0 8px 0 14px;}
  .brand-mark{width:50px;height:50px;border-radius:12px;}
  .brand-txt strong{font-size:.94rem;}
  .hero-grid{grid-template-columns:1fr;}
  .hero-copy,.hero-visual,.hero-mini-a,.hero-mini-b{grid-area:auto;}
  .hero-visual{min-height:300px;}
  .bento{grid-template-columns:1fr 1fr;}
  .tile.t1,.tile.t2,.tile.t3,.tile.t4,.tile.t5,.tile.t6{grid-column:span 2;min-height:180px;}
  .f-grid{grid-template-columns:1fr;gap:32px;}
  .gallery{grid-template-columns:repeat(auto-fill,minmax(148px,1fr));}
  .form-row{grid-template-columns:1fr;gap:0;}
  .lb-prev{left:6px}.lb-next{right:6px}
  .float-stack{right:14px;bottom:14px;}
  .split-media .m2{width:42%;right:-6px;bottom:-24px;}
}

/* ==========================================================
   LIGHT SECTIONS — cream background (#FCF7ED)
   Token flip: components reading --cream / --gold / --gold-line
   switch automatically to a palette that stays readable on cream.
   ========================================================== */
.light{
  --cream:#3E0004;
  --cream-dim:rgba(62,0,4,.74);
  --cream-faint:rgba(62,0,4,.52);
  --gold:#8A5A16;
  --gold-soft:rgba(122,78,18,.12);
  --gold-line:rgba(92,0,6,.22);
  background:var(--cream-bg);
  color:#3E0004;
  border-block:1px solid rgba(109,0,7,.08);
}
.light h1,.light h2,.light h3,.light h4,.light h5,.light .sec-title{color:#5C0006;}
.light .sec-title .hl,.light .stat b,.light .pagehead h1 .hl{
  background:linear-gradient(100deg,#9A6A1E,#7A3A18 50%,#5C0006);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
/* Testimonials section — eyebrow & title colour override */
.light .eyebrow{color:#3e0004;}
.light .eyebrow::before{background:linear-gradient(90deg,transparent,#3e0004);}
.light .eyebrow::after{background:linear-gradient(270deg,transparent,#3e0004);}
.light .tst-section .sec-title{color:#3e0004 !important;}
.light .tst-section .sec-title .hl{color:#4c0005 !important;background:none !important;-webkit-background-clip:unset !important;background-clip:unset !important;}

/* surfaces */
.light .card,.light .faq-item,.light .info-card,.light .form-card{
  background:linear-gradient(160deg,#FDF8EE 0%,#F7EBD5 100%);
  border-color:rgba(92,0,6,.14);
  box-shadow:0 16px 40px -22px rgba(62,0,4,.55);
}
.light .tst-card,.light .svc{
  background:#ffffff;
  border-color:rgba(92,0,6,.14);
  box-shadow:0 16px 40px -22px rgba(62,0,4,.55);
}
.light .card:hover{
  border-color:rgba(122,78,18,.5);
  background:linear-gradient(160deg,#FFFFFF 0%,#F6E6C9 100%);
  box-shadow:0 22px 46px -26px rgba(62,0,4,.55);
}
.light .tst-card:hover,.light .svc:hover{
  border-color:rgba(122,78,18,.5);
  background:#ffffff;
  box-shadow:0 22px 46px -26px rgba(62,0,4,.55);
}
.light .faq-item.open{background:linear-gradient(160deg,#FFFFFF,#F6E6C9);border-color:rgba(122,78,18,.45);}

/* icons & gold fills */
.light .card-ico,.light .st-n,.light .fi,.light .info-row .ii,.light .faq-q .pm,.light .svc-go{
  color:#6E430F;border-color:rgba(122,78,18,.26);background:rgba(138,90,22,.08);
}
.light .card:hover .card-ico,.light .step:hover .st-n,.light .info-row:hover .ii,
.light .faq-item.open .pm,.light .svc:hover .svc-go{
  background:linear-gradient(130deg,#E8BE79,#B07F33);color:#3E0004;border-color:transparent;
}
.light .avatar{background:linear-gradient(140deg,#FFF3D6,#B07F33);color:#3E0004;}
.light .tst-card .qm{color:rgba(122,78,18,.42);}
.light .svc-tag{background:rgba(255,255,255,.9);border-color:rgba(122,78,18,.3);color:#6E430F;}
.light .svc-price b{color:#6E430F;}

/* buttons */
.light .btn-ghost{border-color:rgba(109,0,7,.26);color:#5C0006;background:transparent;}
.light .btn-ghost:hover{background:#6D0007;color:#FCF7ED;border-color:#6D0007;}

/* dividers & rules */
.light .step{border-left-color:rgba(109,0,7,.12);border-top-color:rgba(109,0,7,.12);}
.light .step:hover{background:linear-gradient(180deg,rgba(138,90,22,.08),transparent);}
.light .stat{border-left-color:rgba(109,0,7,.12);}
.light .tst-who{border-top-color:rgba(109,0,7,.12);}
.light .info-row{border-bottom-color:rgba(109,0,7,.14);}
.light .split-media .m1{border-color:rgba(109,0,7,.14);}
.light .split-media .m2{border-color:var(--cream-bg);}
.light .gitem{border-color:rgba(92,0,6,.14);background:#F2EADC;}
.light .gitem:hover{border-color:#B07F33;}
.light .filters button{border-color:rgba(92,0,6,.24);color:rgba(62,0,4,.72);}
.light .filters button:hover{color:#6E430F;border-color:#7A4E12;}
.light .filters button.on{background:linear-gradient(120deg,#6D0007,#3E0004);color:#FFF3D6;border-color:transparent;}

/* form fields */
.light .field input,.light .field textarea,.light .field select{
  background:#FFFFFF;border-color:rgba(109,0,7,.16);color:#3E0004;
}
.light .field input::placeholder,.light .field textarea::placeholder{color:rgba(62,0,4,.34);}
.light .field input:focus,.light .field textarea:focus,.light .field select:focus{
  border-color:#B07F33;background:#FFFDF8;box-shadow:0 0 0 4px rgba(176,127,51,.14);
}
.light .field select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236E430F' stroke-width='2'><path d='M6 9l6 6 6-6'/></svg>");}
.light .field select option{background:#FFFFFF;color:#3E0004;}
.light .form-ok{background:rgba(255,255,255,.6);border-color:rgba(122,78,18,.4);color:#6E430F;}
.light .map-wrap{border-color:rgba(92,0,6,.16);background:#F2EADC;}
.light .map-wrap iframe{filter:none;}

/* portfolio reviews — warm tan cards (สีตามที่ลูกค้าเลือกไว้) */
.light .tst-warm .tst-card{
  background:#ffffff;
  border-color:rgba(92,0,6,.12);
  box-shadow:0 18px 40px -24px rgba(62,0,4,.55);
}
.light .tst-warm .tst-card:hover{
  background:#ffffff;
  border-color:rgba(122,78,18,.42);
  box-shadow:0 26px 50px -26px rgba(62,0,4,.6);
}
.light .tst-warm .tst-card .qm{color:rgba(122,78,18,.45);}
.light .tst-warm .tst-who{border-top-color:rgba(92,0,6,.16);}
.light .tst-warm .avatar{background:linear-gradient(140deg,#EBD3A6,#C79C56);color:#3E0004;}

/* materials grid — centred card content */
.grid-center .card{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.grid-center .card h3{margin-bottom:8px;}
.grid-center .card p{max-width:30ch;}
.grid-center .card-ico{margin-inline:auto;}

/* navbar wordmark — Pornwasin / AMULET lockup */
.nav .brand-txt{line-height:1;}
.nav .brand-txt strong{
  display:block;font-size:1.34rem;font-weight:500;line-height:1.05;letter-spacing:.045em;
  background:linear-gradient(100deg,#FFF6E0 0%,var(--gold-lt) 38%,var(--gold) 72%,var(--gold-dk) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  text-shadow:0 1px 12px rgba(224,168,81,.18);
}
.nav .brand-txt small{
  display:block;margin-top:6px;padding-top:6px;
  border-top:1px solid var(--gold-line);
  font-size:.6rem;font-weight:300;letter-spacing:.46em;text-transform:uppercase;
  color:var(--gold);text-indent:.06em;
}
@media (max-width:640px){
  .nav .brand-txt strong{font-size:1.12rem;}
  .nav .brand-txt small{font-size:.54rem;letter-spacing:.34em;margin-top:5px;padding-top:5px;}
}

/* hero copy — black text */
.hero-copy .eyebrow{color:#000;}
.hero-copy .eyebrow::before{background:linear-gradient(90deg,transparent,#000);}
.hero-copy .eyebrow::after{background:linear-gradient(270deg,transparent,#000);}
.hero-copy .hero-title{color:#5C0006;}
.hero-copy .hero-title em{background:none;color:#5C0006;-webkit-text-fill-color:#5C0006;}
.hero-copy .hero-desc{color:rgba(0,0,0,.8);}
.hero-copy .btn-gold{color:#000;}
.hero-copy .btn-ghost{color:#000;border-color:rgba(0,0,0,.32);}
.hero-copy .btn-ghost:hover{background:#000;color:var(--cream);border-color:#000;}

/* heading with no gold gradient — whole title in one solid colour */
.sec-title.solid .hl{background:none;color:inherit;-webkit-text-fill-color:inherit;font-weight:600;}

/* page header with white headline */
.pagehead.ph-white .eyebrow{color:#fff;}
.pagehead.ph-white .eyebrow::before{background:linear-gradient(90deg,transparent,#fff);}
.pagehead.ph-white .eyebrow::after{background:linear-gradient(270deg,transparent,#fff);}
.pagehead.ph-white h1{color:#fff;}
.pagehead.ph-white h1 .hl{background:none;color:#fff;-webkit-text-fill-color:#fff;}

/* heading in pure white (for dark sections) */
.sec-title.white{color:#fff;}
.sec-title.white .hl{background:none;color:#fff;-webkit-text-fill-color:#fff;}

/* home service cards — พื้นขาวล้วน */
.light .services-grid .card{
  background:#FFFFFF;
  border-color:rgba(92,0,6,.12);
  box-shadow:0 14px 34px -22px rgba(62,0,4,.42);
}
.light .services-grid .card:hover{
  background:#FFFFFF;
  border-color:rgba(138,90,22,.5);
  box-shadow:0 24px 48px -24px rgba(62,0,4,.5);
}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition-duration:.01ms!important;}
  .rv{opacity:1;transform:none;}
}

/* contact — การ์ดข้อมูลการติดต่อ พื้นขาวล้วน */
.light .info-card{
  background:#FFFFFF;
  border-color:rgba(92,0,6,.12);
  box-shadow:0 16px 40px -22px rgba(62,0,4,.5);
}

/* eyebrow สีขาวล้วน (สำหรับ section พื้นเข้ม) */
.eyebrow.white{color:#fff;}
.eyebrow.white::before{background:linear-gradient(90deg,transparent,#fff);}
.eyebrow.white::after{background:linear-gradient(270deg,transparent,#fff);}

/* .hl โทนแดงเข้ม ปิด gradient ทอง */
.sec-title .hl.ink{background:none;color:var(--maroon-900);-webkit-text-fill-color:var(--maroon-900);}

/* ปุ่มพื้นขาว (สำหรับ section พื้นสว่าง) */
.btn-white{
  background:#FFFFFF;color:var(--maroon-ink);font-weight:500;
  border-color:rgba(92,0,6,.18);
  box-shadow:0 14px 34px -16px rgba(62,0,4,.4);
}
.btn-white:hover{transform:translateY(-3px);border-color:rgba(122,78,18,.5);box-shadow:0 22px 44px -18px rgba(62,0,4,.45);}
.btn-white:hover svg{transform:translate(3px,-3px);}

/* .hl สีขาวล้วน ปิด gradient ทอง (เปลี่ยนเฉพาะคำที่ไฮไลต์ ไม่ทั้งบรรทัด) */
.sec-title .hl.white{background:none;color:#fff;-webkit-text-fill-color:#fff;}

/* ============ FAQ SPLIT + QR FRAME ============ */
.faq-split{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(26px,4vw,52px);align-items:start;}
.faq-split .faq{max-width:none;margin-inline:0;}
.faq-head .ornament{margin-inline:0;}

/* กรอบพรีเมียม: ขอบไล่เฉดทอง 2px ครอบแผงเนื้อแดงเข้ม */
.qr-frame{
  align-self:end;
  border-radius:var(--radius-lg);padding:2px;
  background:linear-gradient(150deg,var(--gold-lt) 0%,var(--gold-dk) 32%,rgba(224,168,81,.14) 58%,var(--gold) 100%);
  box-shadow:var(--shadow-deep);
}
.qr-frame-in{
  position:relative;overflow:hidden;text-align:center;
  border-radius:calc(var(--radius-lg) - 2px);
  padding:clamp(22px,3vw,30px);
  background:linear-gradient(165deg,#430009 0%,var(--maroon-ink) 55%,#1B0001 100%);
}
/* แสงวูบมุมบนซ้าย */
.qr-frame-in::before{
  content:"";position:absolute;top:-42%;left:-24%;width:96%;height:96%;pointer-events:none;
  background:radial-gradient(ellipse,rgba(224,168,81,.3),transparent 68%);
}
/* เส้นกรอบในบางๆ */
.qr-frame-in::after{
  content:"";position:absolute;inset:11px;pointer-events:none;
  border:1px solid rgba(224,168,81,.2);
  border-radius:calc(var(--radius-lg) - 12px);
}
.qr-frame .eyebrow,
.qr-title,.qr-plate,.qr-note,.qr-frame .btn{position:relative;z-index:1;}
.qr-title{margin-top:12px;font-size:1.32rem;font-weight:400;color:var(--cream);}

/* แผ่นรอง QR สีขาว + มุมสแกนทอง */
.qr-plate{
  position:relative;margin:20px auto 0;width:min(236px,100%);
  padding:12px;border-radius:18px;background:#fff;
  box-shadow:0 18px 40px -18px rgba(0,0,0,.8),0 0 0 1px rgba(224,168,81,.34);
}
.qr-plate img{display:block;width:100%;height:auto;border-radius:8px;}
.qr-plate::before,.qr-plate::after{
  content:"";position:absolute;width:28px;height:28px;pointer-events:none;
  border:2px solid var(--gold);
}
.qr-plate::before{top:-8px;left:-8px;border-right:0;border-bottom:0;border-radius:9px 0 0 0;}
.qr-plate::after{bottom:-8px;right:-8px;border-left:0;border-top:0;border-radius:0 0 9px 0;}

.qr-note{margin-top:16px;font-size:.86rem;line-height:1.75;color:var(--cream-dim);}
.qr-frame .btn{margin-top:18px;}

@media (max-width:900px){
  .faq-split{grid-template-columns:1fr;}
  .faq-col{order:1;}
  .qr-frame{align-self:auto;order:2;width:100%;max-width:420px;margin-inline:auto;}
}

/* ============ FLOATING CONTACT (popup toggle) ============ */
.fab-group{display:grid;gap:10px;}
.fab-group .fab{
  opacity:0;visibility:hidden;pointer-events:none;
  transform:translateY(16px) scale(.55);
  transition:opacity .38s var(--ease),transform .38s var(--ease),visibility .38s,background .4s,color .4s;
}
.fab-group.open .fab{opacity:1;visibility:visible;pointer-events:auto;transform:none;}
/* ไล่ทีละปุ่มจากล่างขึ้นบน */
.fab-group.open .fab:nth-child(3){transition-delay:0s;}
.fab-group.open .fab:nth-child(2){transition-delay:.06s;}
.fab-group.open .fab:nth-child(1){transition-delay:.12s;}

/* ปุ่ม popup พื้นทอง */
.fab-toggle{
  position:relative;
  background:linear-gradient(130deg,var(--gold-lt),var(--gold) 45%,var(--gold-dk));
  color:var(--maroon-ink);border-color:transparent;
}
.fab-toggle:hover{background:linear-gradient(130deg,var(--gold-lt),var(--gold) 45%,var(--gold-dk));color:var(--maroon-ink);}
.fab-toggle svg{position:absolute;transition:.42s var(--ease);}
.fab-toggle .i-close{opacity:0;transform:rotate(-90deg) scale(.5);}
.fab-toggle.open .i-chat{opacity:0;transform:rotate(90deg) scale(.5);}
.fab-toggle.open .i-close{opacity:1;transform:none;}

/* เอฟเฟกต์น้ำกระเพื่อม บอกว่ากดได้ */
.fab-toggle::before,.fab-toggle::after{
  content:"";position:absolute;inset:0;border-radius:50%;pointer-events:none;
  border:2px solid var(--gold);
  animation:fabRipple 2.6s var(--ease) infinite;
}
.fab-toggle::after{animation-delay:1.3s;}
.fab-toggle.open::before,.fab-toggle.open::after{animation:none;opacity:0;}
@keyframes fabRipple{
  0%{transform:scale(1);opacity:.6;}
  60%{opacity:.12;}
  100%{transform:scale(2);opacity:0;}
}

/* ============ MOBILE: TOPBAR + FOOTER ============ */
.only-sm{display:none;}

@media (max-width:640px){
  /* topbar — เหลือชื่อแบรนด์ + เบอร์โทร ตัดไอคอนโซเชียลออก */
  .only-sm{display:inline-block;}
  .topbar .tb-soc{display:none;}

  /* footer — จัดกึ่งกลางทั้งคอลัมน์ */
  .footer .f-grid{text-align:center;}
  .footer .f-brand .brand{justify-content:center;}
  .footer .f-brand p{margin-inline:auto;}
  .footer .f-col a:hover{transform:none;}
  .footer .f-contact li{justify-content:center;align-items:center;}
  .footer .f-contact svg{margin-top:0;}
  .footer .f-bottom{flex-direction:column;align-items:center;text-align:center;gap:10px;}
}

/* ============ MOBILE: HERO + BENTO แบบหลายคอลัมน์ ============ */
@media (max-width:640px){
  /* ปุ่ม hero — 2 คอลัมน์ (เฉพาะใน .hero-copy ไม่กระทบ .hero-btns ที่อื่น) */
  .hero-copy .hero-btns{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
  .hero-copy .hero-btns .btn{
    --h:auto;min-height:50px;padding:10px 12px;gap:6px;
    font-size:.82rem;line-height:1.35;white-space:normal;text-align:center;
  }
  .hero-copy .hero-btns .btn svg{width:14px;height:14px;}

  /* สถิติ hero — 3 คอลัมน์ */
  .hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
  .hero-stats div b{font-size:1.1rem;}
  .hero-stats div > span{display:block;font-size:.66rem;letter-spacing:.01em;line-height:1.4;}

  /* การ์ดเล็ก hero — 2 คอลัมน์เคียงกัน */
  .hero-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto;}
  .hero-visual,.hero-copy{grid-column:1/-1;}
  .hero-mini-a,.hero-mini-b{grid-column:auto;}
  /* สลับให้กล่องข้อความขึ้นก่อนภาพใหญ่ */
  .hero-copy{order:1;}
  .hero-visual{order:2;}
  .hero-mini-a{order:3;}
  .hero-mini-b{order:4;}
  .hero-mini{min-height:152px;}
  .hero-mini .lbl{top:14px;left:14px;font-size:.92rem;}
  .hero-mini .go{right:12px;bottom:12px;width:34px;height:34px;}
  .hero-mini .go svg{width:13px;height:13px;}

  /* หมวดหมู่งานจัดสร้าง — 2 คอลัมน์ */
  .bento .tile.t1,.bento .tile.t2,.bento .tile.t3,
  .bento .tile.t4,.bento .tile.t5,.bento .tile.t6{
    grid-column:span 1;grid-row:span 1;min-height:158px;
  }
  .bento .tile-in{padding:15px;}
  .bento .tile-name{font-size:.9rem;max-width:100%;}
  .bento .tile-name small{font-size:.6rem;letter-spacing:.14em;margin-bottom:4px;}
}

/* ============ กันจอเลื่อนแนวนอน ============ */
/* clip (ไม่ใช่ hidden) เพื่อไม่ให้ position:sticky ของ .nav-outer เสีย */
html{overflow-x:clip;}

@media (max-width:640px){
  /* grid ที่ตั้ง min ไว้กว้างกว่าจอมือถือแคบ — บังคับคอลัมน์เดียว */
  .grid-2,.grid-3,.grid-4,.tst,.process{grid-template-columns:1fr;}
}

/* ============ MOBILE: SERVICES GRID 2 คอลัมน์ / STATS 4 คอลัมน์ ============ */
@media (max-width:640px){
  /* ครบทุกขั้นตอน — การ์ดบริการ 2 คอลัมน์ (ทับกฎ .grid-3 ที่บังคับคอลัมน์เดียว) */
  .grid-3.services-grid.home-services{grid-template-columns:1fr 1fr;gap:12px;}
  .home-services .card{padding:18px 14px;}
  .home-services .card-ico{width:44px;height:44px;border-radius:13px;margin-bottom:14px;}
  .home-services .card-ico svg{width:21px;height:21px;}
  .home-services .card h3{font-size:.98rem;line-height:1.35;margin-bottom:8px;}
  .home-services .card p{font-size:.8rem;line-height:1.6;}
  .home-services ul.tick{margin-top:12px;gap:6px;}
  .home-services ul.tick li{font-size:.74rem;gap:6px;line-height:1.5;}
  .home-services ul.tick li::before{width:5px;height:5px;margin-top:7px;}

  /* แถบสถิติ — 4 คอลัมน์ ใช้เส้นคั่นแทน gap */
  .stats{grid-template-columns:repeat(4,1fr);gap:0;}
  .stat{padding:18px 5px;}
  .stat b{font-size:1.05rem;letter-spacing:-.01em;}
  .stat > span{margin-top:6px;font-size:.56rem;letter-spacing:0;line-height:1.4;}
}

/* โลโก้หัวเมนูมือถือ (drawer) — 44x44 สไตล์เดียวกับ .brand-mark */
.drawer-logo{
  width:44px;height:44px;flex:none;border-radius:12px;overflow:hidden;
  display:grid;place-items:center;background:var(--maroon-ink);
  border:1px solid rgba(224,168,81,.42);
  box-shadow:0 8px 22px -10px rgba(224,168,81,.7);
}
.drawer-logo img{width:100%;height:100%;object-fit:cover;display:block;}

/* ปุ่มแบบโชว์ข้อมูลอย่างเดียว — กดไม่ได้ แต่ลากคลุมคัดลอกได้ */
.btn-static{cursor:default;user-select:text;-webkit-user-select:text;}
.btn-static:hover{transform:none;box-shadow:0 14px 34px -14px rgba(224,168,81,.75);}
.btn-static:hover svg{transform:none;}

/* เนื้อโลหะ & ผิวงาน — ขนาดหัวข้อการ์ด (ย้ายมาจาก inline style) */
.grid-center .card h3{font-size:1.05rem;}

@media (max-width:640px){
  /* แสดง 2 คอลัมน์ (ทับกฎ .grid-4 ที่บังคับคอลัมน์เดียว) */
  .grid-4.grid-center{grid-template-columns:1fr 1fr;gap:10px;}
  .grid-4.grid-center .card{padding:16px 12px;}
  .grid-4.grid-center .card h3{font-size:.9rem;line-height:1.35;margin-bottom:6px;}
  .grid-4.grid-center .card p{font-size:.75rem;line-height:1.6;}
}

/* ============ FOOTER BRAND ============ */
/* โลโก้ footer 80x80 ทุกขนาดจอ (ทับกฎ .brand-mark 60px/50px ของแถบเมนู) */
.footer .brand-mark{width:80px;height:80px;border-radius:18px;}

/* ============ PAGEHEAD: แถบ LINE ID / เบอร์โทร ============ */
.head-contact{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:22px;}
.head-contact .hc{
  display:inline-flex;align-items:center;gap:9px;
  padding:11px 22px;border-radius:999px;
  border:1px solid var(--gold-line);background:rgba(249,237,220,.07);
  backdrop-filter:blur(6px);
  font-size:.94rem;color:var(--cream);letter-spacing:.01em;
  transition:.42s var(--ease);
}
.head-contact .hc svg{width:16px;height:16px;flex:none;color:var(--gold);transition:.42s var(--ease);}
.head-contact .hc b{font-weight:500;}
.head-contact .hc.static{cursor:default;user-select:text;-webkit-user-select:text;}
.head-contact a.hc:hover{background:var(--gold);color:var(--maroon-ink);border-color:var(--gold);transform:translateY(-2px);}
.head-contact a.hc:hover svg{color:var(--maroon-ink);}

@media (max-width:640px){
  .head-contact{gap:9px;margin-top:18px;}
  .head-contact .hc{padding:9px 16px;font-size:.84rem;gap:7px;}
  .head-contact .hc svg{width:14px;height:14px;}
}

/* ============ QR FRAME ใน section พื้นสว่าง (หน้า contact) ============ */
/* การ์ดนี้พื้นเข้มเสมอ จึงต้องรีเซ็ตตัวแปรสีกลับเป็นชุดโทนมืด
   ไม่งั้น .light จะเปลี่ยน --cream/--gold เป็นสีเข้มจนอ่านไม่ออก */
.qr-frame-in{
  --cream:#F9EDDC;
  --cream-dim:rgba(249,237,220,.72);
  --gold:#E0A851;
  --gold-line:rgba(224,168,81,.28);
}
.qr-frame .eyebrow{color:var(--gold);}
.qr-frame .eyebrow::before{background:linear-gradient(90deg,transparent,var(--gold));}
.qr-frame .eyebrow::after{background:linear-gradient(270deg,transparent,var(--gold));}

/* ---------- หน้า contact: การ์ด QR พื้นขาว + ลอยตามการเลื่อน ---------- */
.contact-grid .qr-plate{width:min(300px,100%);}

/* คอลัมน์ยืดเต็มความสูงแถว แล้วดันการ์ดลงชิดล่าง ให้ขอบล่างตรงกับแถว Address */
.contact-grid .map-col{align-self:stretch;display:flex;flex-direction:column;justify-content:flex-end;}
.contact-grid .qr-frame{position:sticky;bottom:24px;align-self:auto;margin-bottom:80px;}

/* พื้นขาว — สลับชุดตัวแปรสีกลับเป็นโทนเข้มให้อ่านออกบนพื้นสว่าง */
.contact-grid .qr-frame-in{
  --cream:#3E0004;
  --cream-dim:rgba(62,0,4,.7);
  --gold:#8A5A16;
  --gold-line:rgba(92,0,6,.18);
  background:#FFFFFF;
}
.contact-grid .qr-frame-in::before{display:none;}
.contact-grid .qr-frame-in::after{border-color:rgba(92,0,6,.12);}
.contact-grid .qr-title{color:#5C0006;}
/* แผ่นรอง QR ขาวบนพื้นขาว — ใส่เส้นขอบกับเงาให้แยกชั้นกัน */
.contact-grid .qr-plate{box-shadow:0 14px 34px -20px rgba(62,0,4,.4),0 0 0 1px rgba(92,0,6,.12);}

@media (max-width:1080px){
  .contact-grid .qr-frame{position:static;}
}

/* การ์ดงานปั้นขี้ผึ้ง — รูปสูงเรียว (859x1903) เลื่อนกรอบขึ้นไปหาพระพักตร์
   ค่า center 20% ทำให้เห็นช่วง 11–56% ของภาพ = พระเศียร พระพักตร์ ถึงฐานบัวครบ
   (ค่าเดิม center center เห็น 27–72% ซึ่งตัดยอดพระเศียรทิ้ง) */
#wax .svc-img img{object-position:center 20%;}

/* ภาพพื้นหลังหัวหน้าที่เป็นแบนเนอร์มีตัวหนังสือแบรนด์ (hero-main.webp 2954x1418)
   เลื่อนกรอบขึ้นไปหาข้อความ "พรวศิน อมูเลต" ที่อยู่ช่วง 11–21% จากขอบบน
   และเพิ่มความทึบจาก .13 เป็น .2 ให้พออ่านออกโดยไม่กลืนหัวข้อด้านหน้า */
.pagehead img.bgi.bgi-brand{object-position:center 15%;opacity:.2;}

/* ============ หน้า LEGAL (นโยบายความเป็นส่วนตัว) ============ */
.legal{font-size:.98rem;line-height:1.9;}
.legal-updated{font-size:.84rem;color:var(--cream-faint);letter-spacing:.04em;margin-bottom:26px;}
.legal h2{font-size:1.12rem;font-weight:500;color:#5C0006;margin:34px 0 10px;}
.legal h2:first-of-type{margin-top:0;}
.legal p{color:var(--cream-dim);}
.legal ul.tick{margin:12px 0 0;}
.legal ul.tick li{font-size:.94rem;line-height:1.8;}
.legal a{color:#6E430F;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;}
.legal a:hover{color:var(--maroon);}
.legal b{font-weight:500;color:#5C0006;}

/* ============ หน้า ERROR (404 / 500) ============ */
.errpage{text-align:center;padding-block:clamp(70px,10vw,130px);}
.errpage .err-code{
  display:block;font-size:clamp(4.6rem,15vw,9rem);font-weight:200;line-height:.9;
  letter-spacing:-.04em;margin-bottom:14px;
  background:linear-gradient(120deg,var(--gold-lt),var(--gold) 45%,var(--gold-dk));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.errpage h1{font-size:clamp(1.6rem,4vw,2.4rem);color:#fff;margin-top:10px;}
.errpage p{margin:16px auto 0;max-width:520px;color:var(--cream-dim);}
.errpage .hero-btns{justify-content:center;}
.err-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 26px;margin-top:30px;font-size:.9rem;}
.err-links a{color:var(--cream-faint);transition:color .3s;}
.err-links a:hover{color:var(--gold);}
