      :root{
      --bg:#070707;
      --panel:rgba(255,255,255,.06);
      --panel2:rgba(255,255,255,.035);
      --stroke:rgba(255,255,255,.10);
      --text:rgba(255,255,255,.92);
      --muted:rgba(255,255,255,.70);
      --muted2:rgba(255,255,255,.52);

      --gold:#d6b46a;
      --gold2:rgba(214,180,106,.72);
      --shadow:0 14px 50px rgba(0,0,0,.55);

      --r:18px;
      --r2:22px;

      /* ✅ ปรับ “ทอง” ให้อ่านง่ายขึ้น */
      --gold-font: 15.8px;   /* ขนาดทอง (desktop) */
      --gold-font-m: 15.2px; /* ขนาดทอง (mobile) */
      --gold-letter: .2px;
    }
    *{box-sizing:border-box}
    html,body{height:100%}
    body{
      margin:0;
      font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
      color:var(--text);
      background:
        radial-gradient(1000px 600px at 20% 10%, rgba(214,180,106,.11), transparent 55%),
        radial-gradient(900px 600px at 80% 0%, rgba(255,255,255,.06), transparent 60%),
        linear-gradient(180deg, #050505, #070707 45%, #050505);
      overflow-x:hidden;
    }

    a{color:inherit;text-decoration:none}
    .wrap{max-width:1180px;margin:0 auto;padding:22px 18px 70px}

    /* HEADER */
    header{
      position:sticky; top:0; z-index:50;
      backdrop-filter: blur(12px);
      background: linear-gradient(180deg, rgba(0,0,0,.75), rgba(0,0,0,.35));
      border-bottom:1px solid rgba(255,255,255,.06);
    }
    .topbar{
      max-width:1180px;margin:0 auto;
      padding:14px 18px;
      display:flex; align-items:center; justify-content:space-between;
      gap:14px;
    }

    .brand{
      display:flex; align-items:center; gap:10px;
      font-weight:800; letter-spacing:.22em;
      text-transform:uppercase;
      font-size:14px;
      color: var(--gold); /* ✅ KRUNIKI สีทอง */
    }
    .dot{
      width:8px;height:8px;border-radius:999px;
      background:var(--gold);
      box-shadow: 0 0 18px rgba(214,180,106,.55);
      flex:0 0 auto;
    }

    nav{
      display:flex; align-items:center; gap:18px;
      color:var(--muted);
      font-size:14px;
      white-space:nowrap;
    }
    nav a{
      padding:8px 10px;
      border-radius:999px;
      transition:.2s ease;
    }
    nav a:hover{background:rgba(255,255,255,.06); color:var(--text)}
    .right{
      display:flex; align-items:center; gap:10px;
    }

    /* SOCIAL ICONS (top-right) */
    .social{
      display:flex; align-items:center; gap:10px;
    }
    .iconbtn{
      width:40px;height:40px;
      border-radius:999px;
      background:rgba(255,255,255,.06);
      border:1px solid rgba(255,255,255,.08);
      display:grid; place-items:center;
      box-shadow: 0 10px 22px rgba(0,0,0,.32);
      transition:.18s ease;
    }
    .iconbtn:hover{
      transform: translateY(-1px);
      border-color: rgba(214,180,106,.35);
      background: rgba(214,180,106,.10);
    }
    .iconbtn svg{
      width:18px;height:18px;
      opacity:.92;
    }
    .iconbtn.gold svg{color:var(--gold)}
    .iconbtn .stroke{stroke:currentColor}
    .iconbtn .fill{fill:currentColor}
    .iconbtn{color:rgba(255,255,255,.86)}
    .iconbtn.gold{color:var(--gold)}

    /* SECTIONS */
    section{padding:26px 0}
    .panel{
      background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.04));
      border:1px solid rgba(255,255,255,.08);
      border-radius: var(--r2);
      box-shadow: var(--shadow);
    }

    /* HERO */
    .hero{
      margin-top:22px;
      padding:26px;

      /* ✅ สำคัญ: ทำให้ order ใช้งานได้ (เพื่อจัดลำดับบนมือถือ) */
      display:flex;
      flex-direction:column;
      gap:16px;
    }
    .heroGrid{
      display:grid;
      grid-template-columns: 1.15fr .85fr;
      gap:18px;
      align-items:stretch;
      order:1;
    }

    .goldline{
      color:var(--gold2);
      font-size: var(--gold-font);
      letter-spacing: var(--gold-letter);
      font-weight:650;
    }
    .goldline strong{color:var(--gold);font-weight:800}

    h1{
      margin:10px 0 12px;
      font-size:40px;
      line-height:1.05;
      letter-spacing:-.02em;
    }
    .lead{
      margin:0;
      color:var(--muted);
      font-size:16px;
      line-height:1.8;
      max-width:60ch;
    }

    .ctaRow{
      margin-top:16px;
      display:flex; flex-wrap:wrap; gap:10px;
    }
    .btn{
      display:inline-flex; align-items:center; gap:10px;
      padding:10px 14px;
      border-radius:999px;
      border:1px solid rgba(255,255,255,.10);
      background: rgba(255,255,255,.06);
      color:rgba(255,255,255,.88);
      transition:.18s ease;
      font-size:14px;
    }
    .btn:hover{transform: translateY(-1px); border-color: rgba(214,180,106,.35)}
    .btn.primary{
      background: rgba(214,180,106,.12);
      border-color: rgba(214,180,106,.35);
      color: rgba(255,255,255,.92);
    }

    .quoteCard{
      border-radius: var(--r2);
      border:1px solid rgba(255,255,255,.08);
      background: rgba(0,0,0,.22);
      padding:18px;
      position:relative;
      overflow:hidden;
    }
    .quoteTop{
      display:flex; align-items:baseline; justify-content:space-between;
      gap:10px;
      color:rgba(255,255,255,.76);
      font-size:14px;
      padding-bottom:12px;
      border-bottom:1px solid rgba(255,255,255,.08);
    }
    .quoteTop .leftTitle{font-weight:750;color:rgba(255,255,255,.86)}
    .quote{
      margin:12px 0 0;
      color:rgba(255,255,255,.78);
      line-height:1.8;
      font-size:15px;
    }

    .banner{
      border-radius: var(--r2);
      overflow:hidden;
      border:1px solid rgba(255,255,255,.08);
      box-shadow: 0 18px 60px rgba(0,0,0,.55);
      order:2;
    }
    .banner img{
      width:100%;
      height:auto;
      display:block;
      transform: translateZ(0);
    }

    /* FIND HERE */
    .grid2{
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap:14px;
      margin-top:14px;
    }
    .card{
      background: rgba(255,255,255,.045);
      border:1px solid rgba(255,255,255,.08);
      border-radius: var(--r2);
      padding:16px 16px 14px;
    }
    .kicker{
      color:var(--gold2);
      font-weight:750;
      font-size: var(--gold-font);
      letter-spacing: var(--gold-letter);
    }
    .card h3{
      margin:8px 0 8px;
      font-size:18px;
    }
    .card p{
      margin:0;
      color:var(--muted);
      line-height:1.75;
      font-size:14.5px;
    }

    /* RESOURCES */
    .resHead{
      display:flex; align-items:center; justify-content:space-between;
      gap:12px;
      padding:18px 18px 0;
    }
    .resHead h2{
      margin:0;
      font-size:26px;
      letter-spacing:-.01em;
    }
    .resTag{
      color:var(--muted2);
      font-size:13px;
    }
    .resBody{
      padding:14px 18px 18px;
    }
    .resBox{
      background: rgba(255,255,255,.035);
      border:1px solid rgba(255,255,255,.08);
      border-radius: var(--r2);
      padding:14px 14px 12px;
      color:var(--muted);
      line-height:1.8;
    }
    .resBox ul{margin:10px 0 0 18px}
    .resBox li{margin:6px 0}

    /* CONTACT */
    .contactHead{
      display:flex; align-items:flex-end; justify-content:space-between;
      gap:12px;
      padding:18px 18px 0;
    }
    .contactHead h2{margin:0;font-size:24px}
    .contactHead .small{color:var(--muted2);font-size:13px}

    .contactGrid{
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap:14px;
      padding:14px 18px 18px;
    }
    .note{
      background: rgba(255,255,255,.035);
      border:1px solid rgba(255,255,255,.08);
      border-radius: var(--r2);
      padding:14px;
      color:var(--muted);
      line-height:1.8;
      font-size:14.5px;
    }
    .lineCta{
      background: rgba(214,180,106,.10);
      border:1px solid rgba(214,180,106,.35);
      border-radius: var(--r2);
      padding:16px;
      display:flex;
      flex-direction:column;
      justify-content:center;
      gap:10px;
    }
    .lineCtaTitle{
      font-weight:850;
      letter-spacing:-.01em;
      font-size:18px;
      display:flex; align-items:center; gap:10px;
    }
    .lineCta a.btn{
      width:max-content;
    }

    footer{
      margin-top:22px;
      color:rgba(255,255,255,.62);
      font-size:13px;
      text-align:center;
      padding:10px 0 0;
    }
    footer .gold{color:var(--gold2); font-size: var(--gold-font); letter-spacing: var(--gold-letter);}

    /* RESPONSIVE */
    @media (max-width: 920px){
      nav{display:none;}
    }

    @media (max-width: 860px){
      :root{
        --gold-font: var(--gold-font-m);
      }
      .wrap{padding:18px 14px 64px}
      .hero{padding:18px}

      /* ✅ Mobile order: รูป (banner) -> การ์ดคำคม -> ข้อความ */
      .banner{order:1}
      .heroGrid{order:2}

      /* ให้ส่วนใน heroGrid เรียงแนวตั้ง และสลับลำดับ: คำคมก่อน ข้อความ */
      .heroGrid{
        display:flex;
        flex-direction:column;
        gap:14px;
      }
      .quoteCard{order:2}
      .heroText{order:3}

      h1{font-size:32px}
      .grid2{grid-template-columns:1fr}
      .contactGrid{grid-template-columns:1fr}
      .iconbtn{width:38px;height:38px}
    }
  .brand span{
  color: var(--gold) !important;
}
/* ===== FIX: Services page content order (force correct flow) ===== */
.panel.hero{
  display: flex;
  flex-direction: column;
}

.panel.hero > .heroGrid{ order: 0; }
.panel.hero > .subPanel{ order: 1; }
.panel.hero > .grid2{ order: 2; }

/* กันกรณีมี rule เก่าไปตั้ง order ไว้ */
.panel.hero > *{
  align-self: stretch;
}

/* =========================
   Mobile Navigation
========================= */

/* ปุ่ม hamburger */
.navToggle {
  display: none;
  font-size: 26px;
  background: none;
  border: none;
  color: #c9a24d;
  cursor: pointer;
}

/* mobile / tablet */
@media (max-width: 768px) {

  .navLinks {
    display: none;
    flex-direction: column;
    gap: 16px;
    background: rgba(0,0,0,0.92);
    position: absolute;
    top: 64px;
    right: 16px;
    padding: 16px 20px;
    border-radius: 14px;
    box-shadow: 0 12px 32px rgba(0,0,0,.35);
    z-index: 1000;
  }

  .navLinks.active {
    display: flex;
  }

  .navToggle {
    display: block;
  }
}
@media (max-width: 768px) {
  .navLinks a { padding: 10px 6px; }
  .navLinks a:active { opacity: 0.8; }
}

/* =========================
   Mobile / iPad Navigation
   (Hamburger + Drawer)
   ========================= */

/* กัน header ลอยทับเนื้อหา (ถ้า header เป็น fixed/sticky) */
header.siteHeader{
  position: sticky;
  top: 0;
  z-index: 999;
}

/* ให้ nav ข้างในจัดตำแหน่งดี ๆ */
.navInner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}

/* Desktop nav ปกติ */
.navLinks{
  display:flex;
  align-items:center;
  gap:18px;
}

/* ปุ่ม Hamburger (ซ่อนบน Desktop) */
.navToggle{
  display:none;
  width:44px;
  height:44px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.25);
  color:#fff;
  font-size:22px;
  line-height:1;
  cursor:pointer;
}

/* Drawer (เมนูมือถือ) — ซ่อนไว้ก่อน */
.mobileDrawer{
  display:none;
  margin-top:12px;
  padding:14px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.28);
  backdrop-filter: blur(10px);
}

.mobileDrawer a{
  display:block;
  padding:12px 10px;
  border-radius:12px;
  color: rgba(255,255,255,.90);
  text-decoration:none;
}

.mobileDrawer a:hover{
  background: rgba(255,255,255,.06);
}

/* ====== Responsive: Tablet & Mobile ====== */
@media (max-width: 980px){
  /* ซ่อนเมนู Desktop */
  .navLinks{ display:none; }

  /* โชว์ปุ่ม Hamburger */
  .navToggle{ display:inline-flex; align-items:center; justify-content:center; }

  /* เปิด drawer เมื่อมี class .isOpen ที่ header */
  header.siteHeader.isOpen .mobileDrawer{ display:block; }
}

/* iPad portrait / small phone */
@media (max-width: 520px){
  .navInner{ gap:10px; }
}

.navToggle{
  position: relative;
  z-index: 2000;
  pointer-events: auto;
}

.cardLink{
  display:block;
  text-decoration:none;
  color:inherit;
}

.cardAction{ margin-top:14px; }

.btnGhost{
  display:inline-block;
  padding:8px 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.25);
  font-size:.95rem;
  opacity:.9;
}

/* =========================
   Bilingual (TH -> EN) Standard
   KRUNIKI: Thai first, English next line
========================= */

.th{ display:block; }
.en{
  display:block;
  margin-top:6px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.75;
}

/* ช่วยให้หัวข้อ/คีย์เวิร์ดที่เป็น EN ไม่เด่นเกิน */
.en strong{ color: rgba(255,255,255,.82); font-weight: 700; }

/* ระยะห่างบล็อกที่มี 2 ภาษา */
.bi{ margin: 0; }
.bi + .bi{ margin-top: 10px; }

/* ถ้าจะใช้กับหัวข้อ */
.hbi{ margin:0; }
.hbi .en{ margin-top:4px; font-size: 13.5px; color: var(--muted2); }

/* Force show Resources on Desktop nav */
.navLinks .navRes { display: inline-flex !important; opacity: 1 !important; visibility: visible !important; }
.navLinks { overflow: visible !important; }

.aboutPhotoFrame{
  width:100%;
  aspect-ratio: 4 / 5;    /* ล็อคสัดส่วน */
  max-height: 520px;      /* กันไม่ให้ยาวเกิน */
  overflow: hidden;
  border-radius: 18px;
  margin-top: 10px;
}

.aboutPhotoFrame img{
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;      
  object-position: 50% 10%; /* ปรับจุดโฟกัสให้เห็นตัวนิกี้ */
}

/* About – Founder Image (KRUNIKI) */
.about-founder-img {
  width: 100%;
  height: auto;
  border-radius: 18px;
  display: block;
  object-fit: cover;

  /* ปรับแสงภาพแบบสุภาพ */
  filter: brightness(1.08) contrast(1.03);
}

/* === About – Founder Image Frame === */
.aboutPhotoFrame{
  width:100%;
  aspect-ratio: 4 / 5;
  max-height: 520px;
  overflow: hidden;
  border-radius: 18px;
  margin-top: 10px;

  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  box-shadow: 0 18px 60px rgba(0,0,0,.35);
}

/* ภาพภายในเฟรม */
.aboutPhotoFrame img,
.about-founder-img{
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: 50% 10%;
  filter: brightness(1.08) contrast(1.03);
}
/* Desktop only */
@media (min-width: 1024px) {
  .about-founder-img {
    max-height: 520px;
  }
}

/* Services hero (add-on) */
.services-hero{
  max-width: 900px;
  margin: 0 auto;
  padding: 28px 18px;
  text-align: center;
}
.services-hero h1{
  font-size: 2.1rem;
  line-height: 1.35;
  margin: 0 0 14px;
}
.services-sub{
  font-size: 1.05rem;
  line-height: 1.85;
  opacity: .86;
  margin: 0 auto 16px;
}
.services-signature{
  margin: 0;
  font-style: italic;
  font-size: 1.05rem;
  color: #d7b46a;
  opacity: .95;
}

/* Mobile tweak */
@media (max-width: 520px){
  .services-hero h1{ font-size: 1.65rem; }
  .services-sub{ font-size: 1rem; }
}

/* ===== Bottom Booking CTA ===== */
.bottomCta{
  display:flex;
  gap:18px;
  align-items:center;
  justify-content:space-between;
  padding:18px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.06);
  box-shadow: 0 18px 60px rgba(0,0,0,.35);
}

.bottomCtaText h2{
  margin:8px 0 8px;
  line-height:1.25;
}

.bottomCtaBtns{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

@media (max-width: 820px){
  .bottomCta{
    flex-direction:column;
    align-items:flex-start;
  }
  .bottomCtaBtns{
    justify-content:flex-start;
    width:100%;
  }
}

/* ===== Sales CTA (2 columns + Mini FAQ) ===== */
.salesCta{
  display:grid;
  grid-template-columns: 1.25fr .95fr;
  gap:16px;
}

.salesLeft, .salesRight{
  padding:18px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.06);
  box-shadow: 0 18px 60px rgba(0,0,0,.35);
}

.salesLeft h2{
  margin:8px 0 0;
  line-height:1.25;
}

.ctaBullets{
  margin:12px 0 0;
  padding-left:18px;
  color: rgba(255,255,255,.82);
  line-height:1.8;
}

.faqHead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}

.faqList{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.faqItem{
  border-radius:14px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.18);
  padding:10px 12px;
}

.faqItem summary{
  cursor:pointer;
  list-style:none;
  font-weight:600;
  color: rgba(255,255,255,.90);
}

.faqItem summary::-webkit-details-marker{ display:none; }

.faqItem summary::after{
  content:"+";
  float:right;
  opacity:.7;
}

.faqItem[open] summary::after{
  content:"–";
}

.faqAns{
  margin-top:8px;
  color: rgba(255,255,255,.82);
  line-height:1.8;
  font-size: .98rem;
}

.faqFoot{
  margin-top:12px;
  display:flex;
  justify-content:flex-end;
}

@media (max-width: 900px){
  .salesCta{ grid-template-columns: 1fr; }
  .faqFoot{ justify-content:flex-start; }
}

/* =========================
   Bottom CTA 2-Column + FAQ
========================= */
.ctaSplit{
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap:16px;
  align-items:stretch;
}

.ctaBox, .faqBox{
  border:1px solid rgba(255,255,255,.10);
  border-radius:18px;
  padding:18px;
  background: rgba(255,255,255,.03);
  box-shadow: 0 16px 40px rgba(0,0,0,.25);
}

.ctaBox h3, .faqBox h3{
  margin:8px 0 6px;
}

.microProof{
  font-size:.95rem;
  line-height:1.7;
  opacity:.78;
  border-top:1px solid rgba(255,255,255,.10);
  padding-top:10px;
}

.faqItem{
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;
  padding:10px 12px;
  background: rgba(0,0,0,.15);
  margin-top:10px;
}

.faqItem summary{
  cursor:pointer;
  list-style:none;
  font-weight:600;
  opacity:.92;
}

.faqItem summary::-webkit-details-marker{ display:none; }

.faqItem p{
  margin:10px 0 0;
  line-height:1.8;
  opacity:.82;
}

/* =========================
   Sticky CTA (Mobile)
========================= */
.stickyLineCta{
  position:fixed;
  left:12px;
  right:12px;
  bottom:12px;
  z-index:999;
  display:none; /* desktop hidden */
  align-items:center;
  justify-content:center;
  gap:10px;

  padding:14px 16px;
  border-radius:999px;
  text-decoration:none;

  background: rgba(0,0,0,.72);
  border:1px solid rgba(215,180,106,.55);
  box-shadow: 0 18px 50px rgba(0,0,0,.35);

  color: rgba(255,255,255,.92);
  font-weight:700;
  letter-spacing:.2px;
  backdrop-filter: blur(10px);
}

.stickyLineCta .dot{
  width:10px;height:10px;border-radius:50%;
  background: rgba(215,180,106,.95);
  box-shadow: 0 0 0 6px rgba(215,180,106,.14);
}

/* show on mobile/tablet */
@media (max-width: 900px){
  .ctaSplit{ grid-template-columns: 1fr; }
  .stickyLineCta{ display:flex; }
  body{ padding-bottom: 78px; } /* กันปุ่มลอยทับคอนเทนต์ */
}

/* กันหน้าเว็บลื่น/ขยับซ้ายขวา */
html, body { max-width: 100%; overflow-x: hidden; }

/* กันรูป/วิดีโอ/iframe ล้น */
img, svg, video, iframe { max-width: 100%; height: auto; }

/* บล็อกยาว ๆ เช่น code / link ยาว */
code, pre, a { overflow-wrap: anywhere; word-break: break-word; }
pre { max-width: 100%; overflow-x: auto; }

/* กัน grid บางแบบล้น */
.grid2, .heroGrid, .wrap, .panel { max-width: 100%; }

/* ฟอนต์หลักของเว็บ (เนื้อหา) */
:root{
  --brand-serif: "Times New Roman", Times, serif;
  --body-sans: Arial, system-ui, -apple-system, "Segoe UI", sans-serif;
}

/* เนื้อหาโดยรวม */
body{ font-family: var(--body-sans); }

/* ชื่อแบรนด์ + คำว่า KRUNIKI และชื่อระบบ */
.brand span,
.brand,
.brandName,
.logoText,
h1, h2,
.hero h1,
.resHead h2{
  font-family: var(--brand-serif);
  letter-spacing: .2px;
}

/* ถ้านิกี้มี class goldline อยู่ */
.goldline strong{ font-family: var(--brand-serif); }

.burger{
  display:none;
  width:44px;height:44px;
  border:1px solid rgba(255,255,255,.15);
  background: rgba(255,255,255,.04);
  border-radius:12px;
  align-items:center; justify-content:center;
  gap:5px;
}
.burger span{
  display:block;
  width:18px;height:2px;
  background: rgba(255,255,255,.85);
  border-radius:2px;
}
.navDesk{ display:flex; gap:18px; align-items:center; }
.navMobile{
  margin-top:10px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  padding:10px;
  background: rgba(0,0,0,.35);
}
.navMobile a{ display:block; padding:10px 8px; }

@media (max-width: 900px){
  .navDesk{ display:none; }
  .burger{ display:inline-flex; }
}
/* ===== Mobile Menu (Hamburger) Fix ===== */

/* กันเว็บเลื่อนซ้าย-ขวา (ช่วยเรื่องความแข็งแรงด้วย) */
html, body { overflow-x: hidden; }

/* ปุ่ม burger */
.burger{
  display:none;
  width:44px;
  height:44px;
  border:1px solid rgba(255,255,255,.15);
  background:rgba(0,0,0,.15);
  border-radius:12px;
  cursor:pointer;
  padding:10px;
  align-items:center;
  justify-content:center;
  gap:6px;
}

/* เส้น 3 เส้นในปุ่ม */
.burger span{
  display:block;
  width:18px;
  height:2px;
  background:rgba(255,255,255,.85);
  border-radius:2px;
}

/* เมนูมือถือ (แผงเต็มจอ) */
.navMobile{
  position:fixed;
  top:72px;             /* ถ้า header สูงไม่เท่ากัน ปรับเลขนี้ได้ */
  left:0;
  right:0;
  width:100%;
  max-width:100%;
  padding:14px 16px;
  background:rgba(10,10,12,.96);
  backdrop-filter: blur(10px);
  border-top:1px solid rgba(255,255,255,.10);
  z-index:9999;
}

/* ลิงก์ในเมนูมือถือ */
.navMobile a{
  display:block;
  padding:14px 10px;
  border-radius:12px;
  text-decoration:none;
  color:rgba(255,255,255,.92);
  font-size:16px;
  line-height:1.4;
}

.navMobile a:hover{
  background:rgba(255,255,255,.06);
}

/* แสดง burger เฉพาะมือถือ + ซ่อนเมนู desktop */
@media (max-width: 900px){
  header .topbar nav { display:none; }   /* nav desktop */
  .burger{ display:flex; }              /* burger โผล่ */
}
html, body {
  max-width: 100%;
  overflow-x: hidden;
}

html, body {
  max-width: 100%;
  overflow-x: hidden;
}
/* Mobile menu control */
.navDrawer { display: none; }
.siteHeader.isOpen .navDrawer { display: block; }

/* กันโดนของอื่นทับ กดไม่ได้ */
.navToggle { position: relative; z-index: 9999; }

/* =========================
   NAV FIX (FINAL OVERRIDE)
   put at END of style.css
========================= */

/* กันโดนของอื่นทับ กดไม่ได้ */
.siteHeader{ position: sticky; top: 0; z-index: 9999; }
.navToggle{ position: relative; z-index: 10000; }

/* desktop */
.siteHeader .navLinks{ display:flex; align-items:center; gap:18px; }
.siteHeader .navToggle{ display:none; }

/* mobile menu base */
.siteHeader .navDrawer{
  display:none;
}

/* Mobile / iPad */
@media (max-width: 980px){

  /* สำคัญ: กัน rule เก่าที่ทำ nav หาย (เช่น nav{display:none}) */
  .siteHeader nav{ display:block !important; }

  .siteHeader .navLinks{ display:none !important; }

  .siteHeader .navToggle{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    width:44px;height:44px;
    border-radius:12px;
    border:1px solid rgba(255,255,255,.10);
    background: rgba(0,0,0,.25);
    color:#fff;
    font-size:22px;
    cursor:pointer;
  }

  /* เปิด/ปิดด้วย class isOpen ที่ JS ใส่ให้ */
  .siteHeader .navDrawer{
    display:block !important;
    max-height: 0;
    overflow: hidden;
    transition: max-height .25s ease;

    margin: 10px 16px 14px;
    padding: 6px;
    border-radius: 16px;
    border: 1px solid rgba(255,255,255,.10);
    background: rgba(0,0,0,.35);
    backdrop-filter: blur(10px);
  }

  .siteHeader .navDrawer.isOpen{
    max-height: 70vh;
  }

  .siteHeader .navDrawer a{
    display:block;
    padding:12px 10px;
    border-radius:12px;
    color: rgba(255,255,255,.90);
  }
  .siteHeader .navDrawer a:hover{
    background: rgba(255,255,255,.06);
  }
}
/* =========================
   PATCH: About hamburger click fix
   (No JS change)
========================= */

/* ให้หัวแถบ hamburger เป็นชั้นบนสุดเสมอ */
header.siteHeader{
  position: sticky;
  top: 0;
  z-index: 99999;
}

/* กัน element อื่นมาทับ header */
.siteHeader, .siteHeader *{
  pointer-events: auto;
}

/* ปุ่มต้องกดได้แน่นอน */
.navToggle{
  position: relative;
  z-index: 100000;
  pointer-events: auto;
}

/* เมนูมือถือให้อยู่เหนือทุกอย่าง */
#mobileMenu{
  position: relative;
  z-index: 99998;
}
/* Gold text (KRUNIKI System highlight) */
.goldText{
  color: var(--gold);
  font-weight: 800;
  letter-spacing: .2px;
}
.servicesHeroTitle{
  text-align: center;
  line-height: 1.25;
}

.goldMain{
  color: var(--gold);
  font-weight: 800;
  font-size: clamp(28px, 4vw, 42px);
}

.goldSub{
  color: var(--gold);
  opacity: .85;
  font-weight: 600;
  font-size: clamp(18px, 2.6vw, 22px);
}
/* ===== Services Hero Spacing ===== */

.services-hero{
  text-align: center;
  padding: 64px 24px 72px;
}

/* หัวเรื่องหลัก */
.servicesHeroTitle{
  margin-bottom: 28px;
  line-height: 1.35;
}

/* คำอธิบายสั้นใต้หัวเรื่อง */
.heroQuote{
  margin-bottom: 36px;
  line-height: 1.7;
  opacity: 0.9;
}

/* ปุ่มหลัก */
.heroActions{
  margin-bottom: 48px;
}

/* ข้อความอธิบายยาว */
.services-sub{
  margin: 0 auto 32px;
  max-width: 820px;
  line-height: 1.9;
  opacity: 0.88;
}

/* Quote */
.services-signature{
  margin: 0 auto 40px;
  font-style: italic;
  opacity: 0.9;
}

/* ปุ่มล่างสุด */
.ctaRow{
  margin-top: 12px;
  gap: 14px;
}
/* ===============================
   KRUNIKI GLOBAL LUXURY PRESET
   =============================== */

:root {
  --gold-main: #c9a86a;
  --gold-soft: #bfa36a;
  --text-main: #eaeaea;
  --text-soft: #cfcfcf;
  --bg-panel: radial-gradient(ellipse at center, #1a1a1a 0%, #0b0b0b 70%);
}

body {
  color: var(--text-main);
  background: #000;
  line-height: 1.7;
  letter-spacing: 0.01em;
}
.panel {
  padding: 72px 0;
}

@media (max-width: 768px) {
  .panel {
    padding: 56px 0;
  }
}

.services-hero,
.heroCard,
.heroBox {
  background: var(--bg-panel);
  border-radius: 22px;
  padding: 56px 48px;
  text-align: center;
  box-shadow: 0 0 0 1px rgba(201,168,106,.08),
              0 40px 80px rgba(0,0,0,.6);
}

@media (max-width: 768px) {
  .services-hero {
    padding: 40px 24px;
  }
}

.servicesHeroTitle {
  margin-bottom: 28px;
  line-height: 1.25;
}

.goldMain {
  color: var(--gold-main);
  font-size: clamp(32px, 4vw, 44px);
  font-weight: 600;
  letter-spacing: 0.04em;
}

.goldSub {
  color: var(--gold-soft);
  font-size: clamp(18px, 2.2vw, 22px);
  font-weight: 400;
  letter-spacing: 0.06em;
}
.heroQuote,
.services-sub {
  max-width: 720px;
  margin: 0 auto 26px;
  color: var(--text-soft);
  font-size: 16px;
  line-height: 1.9;
}

.services-signature {
  margin: 34px auto 36px;
  font-style: italic;
  color: var(--gold-soft);
  font-size: 16px;
  letter-spacing: 0.03em;
}

.btn {
  padding: 12px 22px;
  border-radius: 999px;
  font-size: 14px;
  letter-spacing: .03em;
  transition: all .3s ease;
}

.btn.primary {
  background: linear-gradient(180deg, #d6b87c, #a8874f);
  color: #111;
  box-shadow: 0 8px 24px rgba(201,168,106,.35);
}

.btn.primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 30px rgba(201,168,106,.45);
}

.heroActions,
.ctaRow {
  display: flex;
  justify-content: center;
  gap: 14px;
  margin-top: 28px;
}
/* =========================================
   KRUNIKI — FINAL POLISH (LOCKED)
   Paste at the END of assets/style.css
   ========================================= */

/* 1) Smooth rendering / subtle luxury feel */
html {
  scroll-behavior: smooth;
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: geometricPrecision;
}

/* 2) Premium motion preset (slow, calm, non-flashy) */
:root{
  --ease-lux: cubic-bezier(.2,.8,.2,1);
  --dur-fast: 180ms;
  --dur-med: 320ms;
  --dur-slow: 520ms;

  --gold-main: #c9a86a;
  --gold-soft: #bfa36a;

  --line-gold: rgba(201,168,106,.14);
  --line-soft: rgba(255,255,255,.06);

  --shadow-soft: 0 18px 50px rgba(0,0,0,.55);
  --shadow-lux:  0 30px 90px rgba(0,0,0,.62);

  --glass: rgba(255,255,255,.03);
  --glass-2: rgba(255,255,255,.05);
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  * { transition-duration: 0ms !important; animation-duration: 0ms !important; }
}

/* 3) Global link polish */
a {
  text-decoration: none;
}

.navLinks a,
.navDrawer a {
  transition: color var(--dur-med) var(--ease-lux), opacity var(--dur-med) var(--ease-lux);
}

.navLinks a:hover,
.navDrawer a:hover {
  opacity: .92;
}

/* 4) Card polish (hover lift + border glow) */
.card,
.cardLink {
  position: relative;
  transition:
    transform var(--dur-med) var(--ease-lux),
    box-shadow var(--dur-med) var(--ease-lux),
    border-color var(--dur-med) var(--ease-lux),
    background var(--dur-med) var(--ease-lux);
}

.card::after,
.cardLink::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  opacity: 0;
  transition: opacity var(--dur-med) var(--ease-lux);
  box-shadow: 0 0 0 1px var(--line-gold);
}

.card:hover,
.cardLink:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-soft);
}

.card:hover::after,
.cardLink:hover::after {
  opacity: 1;
}

/* Featured card gets slightly stronger glow */
.card.featured,
.cardLink.featured {
  box-shadow: 0 0 0 1px rgba(201,168,106,.10), 0 26px 70px rgba(0,0,0,.60);
}
.card.featured:hover,
.cardLink.featured:hover {
  transform: translateY(-4px);
  box-shadow: 0 0 0 1px rgba(201,168,106,.18), var(--shadow-lux);
}

/* 5) Button polish (lux touch + consistent spacing) */
.btn {
  transition:
    transform var(--dur-fast) var(--ease-lux),
    box-shadow var(--dur-med) var(--ease-lux),
    background var(--dur-med) var(--ease-lux),
    border-color var(--dur-med) var(--ease-lux),
    color var(--dur-med) var(--ease-lux);
  will-change: transform;
}

.btn:hover {
  transform: translateY(-1px);
}

.btn:active {
  transform: translateY(0px);
}

/* Make sure button rows always breathe */
.ctaRow,
.heroActions {
  display: flex;
  justify-content: center;
  gap: 14px;
  flex-wrap: wrap;
}

/* 6) Hero typography breathing (fix "ชิดเกิน") */
.servicesHeroTitle {
  margin: 0 auto 26px;
  line-height: 1.22;
}

.heroQuote {
  margin: 0 auto 22px;
  line-height: 1.9;
}

.services-sub {
  margin: 18px auto 22px;
  line-height: 1.9;
  max-width: 720px;
  text-align: center; /* ✅ บล็อกนี้ต้องอยู่กลาง */
}

.services-signature {
  margin: 22px auto 30px;
  text-align: center; /* ✅ ล็อกให้อยู่กลาง */
}

/* 7) Fix "บล็อกไปอยู่ซ้าย" ใน services: 
      ถ้า .services-sub / blockquote หลุดออกจาก .services-hero ก็ยังคุมให้อยู่กลาง */
.services-hero,
.services-hero * {
  text-align: center;
}

/* 8) Panel width lock (กันเว็บกว้างผิดปกติ) */
.wrap {
  max-width: 1100px;
  margin: 0 auto;
  padding-left: 18px;
  padding-right: 18px;
}

@media (max-width: 768px) {
  .wrap {
    padding-left: 14px;
    padding-right: 14px;
  }
}

/* 9) Luxury separators (subtle lines) */
hr,
.divider {
  border: none;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--line-soft), transparent);
  margin: 26px 0;
}

/* 10) Social icon polish (top row) */
.iconbtn {
  transition:
    transform var(--dur-fast) var(--ease-lux),
    background var(--dur-med) var(--ease-lux),
    box-shadow var(--dur-med) var(--ease-lux);
}

.iconbtn:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(0,0,0,.35);
}

/* 11) Nav polish: cursor + clickable feel everywhere */
.navLinks a,
.brand {
  cursor: pointer;
}

/* 12) Nav drawer (hamburger) open state polish (uses your main.js .isOpen) */
.navDrawer {
  transition:
    transform var(--dur-med) var(--ease-lux),
    opacity var(--dur-med) var(--ease-lux);
}

.navDrawer.isOpen {
  opacity: 1;
}

/* 13) Soft glass effect for hero boxes (optional, safe) */
.services-hero {
  background:
    radial-gradient(ellipse at 50% 35%, rgba(255,255,255,.06), transparent 55%),
    radial-gradient(ellipse at center, #1a1a1a 0%, #0b0b0b 70%);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 22px;
  padding: 56px 48px;
  box-shadow: 0 0 0 1px rgba(201,168,106,.08), 0 40px 80px rgba(0,0,0,.60);
}

@media (max-width: 768px) {
  .services-hero { padding: 40px 24px; }
}

/* 14) Gold text lock (title only) */
.goldMain { color: var(--gold-main) !important; }
.goldSub  { color: var(--gold-soft) !important; }

/* =========================================
   KRUNIKI — Card Image System (LOCKED)
   ========================================= */

.cardWithImage {
  overflow: hidden;
}

/* Image container */
.cardImage {
  position: relative;
  border-radius: 14px;
  overflow: hidden;
  margin-bottom: 14px;
}

/* Image itself */
.cardImage img {
  width: 100%;
  height: 160px;
  object-fit: cover;
  display: block;
  filter: brightness(.92) contrast(1.05);
  transition: transform .6s ease, filter .6s ease;
}

/* Soft dark overlay for luxury tone */
.cardImage::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(0,0,0,.15),
    rgba(0,0,0,.35)
  );
  pointer-events: none;
}

/* Hover (very subtle, not flashy) */
.cardWithImage:hover .cardImage img {
  transform: scale(1.03);
  filter: brightness(.98) contrast(1.08);
}

/* Card body spacing */
.cardBody {
  padding-top: 2px;
}

.card .btn,
.card .btn.mini {
  pointer-events: none;
}

.cardBtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:14px;
  padding:10px 18px;
  border-radius:999px;

  font-size:14.5px;
  font-weight:700;
  letter-spacing:.2px;

  color:#fff;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.28);

  width:max-content;
}

/* reinforce clickability */
a.cardLink:hover .cardBtn{
  background:rgba(255,255,255,.18);
  border-color:rgba(255,255,255,.45);
  transform:translateY(-1px);
}
.cardImg{
  width:100%;
  display:block;
  border-radius:14px;
  margin-bottom:12px;
}

.cardBtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:12px;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.06);
  font-weight:600;
}

/* ทำให้ปุ่ม “ติดมือ” และทั้งการ์ดดูคลิกได้ */
.cardLink{ text-decoration:none; cursor:pointer; }
.cardLink:hover .cardBtn{ transform: translateY(-1px); }
