/* Index design tokens and reusable content layouts. */
@font-face{font-family:'Noto Sans Thai';src:url('/assets/fonts/noto-sans-thai/NotoSansThai-400.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Noto Sans Thai';src:url('/assets/fonts/noto-sans-thai/NotoSansThai-700.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Noto Sans Thai';src:url('/assets/fonts/noto-sans-thai/NotoSansThai-900.ttf') format('truetype');font-weight:900;font-style:normal;font-display:swap}
.standard-template-page {
  --std-ink:#070e2b; --std-blue:#2563eb; --std-cyan:#06b6d4;
  --std-paper:#fff; --std-soft:#f8faff; --std-cream:#f8faff;
  --std-line:#dbe3ef; --std-muted:#475569;
  --std-brick:#2563eb; --std-brick-soft:#93c5fd;
  --ink:#070e2b; --muted:#475569; --cream:#f8faff; --paper:#fff;
  --line:#dbe3ef; --accent:#2563eb; --accent-dark:#1d4ed8; --soft:#f8faff;
  font-family:'Noto Sans Thai',sans-serif;
  background:#f8faff;
}
html:has(.standard-template-page) { scroll-padding-top:110px; }
.standard-template-page .site-standard-footer { width:100%; max-width:none; margin:0!important; border-top:1px solid rgba(147,197,253,.2); }
.site-standard-footer [data-dbd-footer-card] { position:relative; z-index:1; width:100%; max-width:1180px; margin:-4px auto 0; padding:0 24px 28px; box-sizing:border-box; }
.site-standard-footer .dbd-footer-card { display:flex; align-items:center; gap:24px; padding:18px 22px; border:1px solid rgba(255,255,255,.14); border-radius:18px; background:rgba(255,255,255,.07); }
.site-standard-footer .dbd-footer-logo { flex:0 0 156px; width:156px; height:88px; object-fit:contain; padding:8px; border-radius:12px; background:#fff; box-sizing:border-box; }
.site-standard-footer .dbd-footer-copy { display:grid; gap:4px; min-width:0; }
.site-standard-footer .dbd-footer-copy strong { color:#fff; font-size:15px; line-height:1.5; }
.site-standard-footer .dbd-footer-copy span { color:#cbd5e1; font-size:13px; line-height:1.6; }
.site-standard-footer .dbd-footer-copy a { width:fit-content; margin-top:5px; color:#93c5fd; font-size:13px; font-weight:700; text-decoration:none; }
.site-standard-footer .dbd-footer-copy a:hover { text-decoration:underline; }

/* Interior pages share the full-width index shell; existing page content remains. */
body.standard-template-page.site-standard-interior {
  width:auto; max-width:none; margin:0; padding:0; overflow-x:clip;
  color:#070e2b; background:#f8faff; font:400 16px/1.8 'Noto Sans Thai',sans-serif;
}
.site-standard-interior *, .site-standard-interior *::before, .site-standard-interior *::after { box-sizing:border-box; }
.site-standard-interior .site-standard-main { width:100%; max-width:none; float:none; margin:0; padding:0 0 72px; background:transparent; overflow:visible; }
.site-standard-interior .site-standard-main > :not(.site-standard-hero) { width:calc(100% - 48px); max-width:1180px; margin-left:auto; margin-right:auto; }
.site-standard-interior .site-standard-legacy-chrome, .site-standard-interior .site-standard-empty-shell { display:none; }
.site-standard-interior :is(.main-inner,.content,.post-wrapper,.entry-content,.entry,.home-page) {
  float:none; width:auto; max-width:none; min-width:0; margin:0; padding:0; background:transparent; border:0; box-shadow:none;
}
.site-standard-interior .main-inner { padding-top:64px; }
.site-standard-interior :is(.detail-section,.section-v5) { padding:64px 0; border:0; }
.site-standard-interior :is(.service-grid-v5,.service-wide-v5,.service-faq-v5,.detail-final) { margin-top:48px; margin-bottom:48px; }
.site-standard-interior .site-standard-main :is(h1,h2,h3,h4) { font-family:'Noto Sans Thai',sans-serif; color:#070e2b; font-weight:700; text-transform:none; letter-spacing:-.02em; text-wrap:balance; }
.site-standard-interior .site-standard-main h1 { font-size:clamp(32px,4.3vw,60px); line-height:1.35; margin:16px 0 22px; }
.site-standard-interior .site-standard-main h2 { font-size:clamp(26px,2.7vw,38px); line-height:1.4; margin:0 0 20px; }
.site-standard-interior .site-standard-main h3 { font-size:21px; line-height:1.5; margin:0 0 12px; }
.site-standard-interior .site-standard-main :is(p,li) { font-size:16px; line-height:1.85; }
.site-standard-interior .site-standard-main p { margin:0 0 20px; color:#475569; overflow-wrap:break-word; }
.site-standard-interior .site-standard-main :is(ul,ol) { padding-inline-start:24px; }
.site-standard-interior .site-standard-main li { margin:6px 0; }
.site-standard-interior .site-standard-main :is(a,button):focus-visible { outline:3px solid #2563eb; outline-offset:3px; }
.site-standard-interior .site-standard-main a { color:#2563eb; text-underline-offset:4px; }
.site-standard-interior .site-standard-main :is(img,video,iframe) { max-width:100%; }
.site-standard-interior .site-standard-main img { height:auto; }

/* The same navy glow and 40px grid used by the homepage Hero. */
.site-standard-interior .site-standard-main .site-standard-hero {
  display:block; width:100%; max-width:none; min-height:0; margin:0;
  padding:136px 24px 76px; border:0; border-radius:0; overflow:visible;
  color:#fff; background-color:#070e2b;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),radial-gradient(ellipse at 85% 0%,rgba(34,211,238,.24),transparent 58%),radial-gradient(ellipse at 15% 90%,rgba(37,99,235,.2),transparent 60%);
  background-size:40px 40px,40px 40px,auto,auto;
}
.site-standard-hero .site-standard-hero-inner { max-width:1180px; margin:0 auto; text-align:center; }
.site-standard-hero-split .site-standard-hero-inner { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); align-items:center; gap:52px; text-align:left; }
.site-standard-hero-inner > * { min-width:0; }
.site-standard-interior .site-standard-hero :is(h1,h2,h3) { color:#fff; }
.site-standard-interior .site-standard-hero h1 { max-width:960px; margin-left:auto; margin-right:auto; }
.site-standard-interior .site-standard-hero p { color:#cbd5e1; font-size:17px; line-height:1.85; }
.site-standard-interior .site-standard-hero :is(.eyebrow-v5,.service-eyebrow-v5,.detail-eyebrow,.home-kicker) {
  display:inline-block; width:fit-content; margin:0 0 4px; padding:6px 13px; border:1px solid rgba(147,197,253,.3); border-radius:999px;
  color:#bae6fd; background:rgba(255,255,255,.07); font-size:12px; font-weight:700; line-height:1.65; letter-spacing:.04em;
}
.site-standard-interior .site-standard-hero :is(.detail-hero-card,.service-card-v5,.home-hero-v2-proof) {
  display:block; padding:30px; border:1px solid rgba(255,255,255,.85); border-radius:24px; background:#fff;
  box-shadow:0 18px 56px rgba(0,0,0,.16); color:#070e2b;
}
.site-standard-interior .site-standard-hero :is(.detail-hero-card,.service-card-v5,.home-hero-v2-proof) :is(h2,h3,strong,b) { color:#070e2b; }
.site-standard-interior .site-standard-hero :is(.detail-hero-card,.service-card-v5,.home-hero-v2-proof) :is(p,li,span) { color:#475569; font-size:16px; }
.site-standard-interior .site-standard-hero :is(.detail-hero-card,.service-card-v5) h2 { font-size:24px; }
.site-standard-interior .site-standard-hero :is(.hero-image-v5,.service-hero-image-v5) { min-height:330px; width:100%; border:1px solid rgba(255,255,255,.2); border-radius:24px; object-fit:cover; box-shadow:0 20px 60px rgba(0,0,0,.22); }
.site-standard-interior .site-standard-hero .home-hero-v2-proof span { display:block; margin-top:15px; }
.site-standard-interior :is(.static-breadcrumb,.entry-meta) { margin:0 0 14px; font-size:13px; }
.site-standard-interior .site-standard-hero .static-breadcrumb ol { display:flex; justify-content:center; flex-wrap:wrap; gap:8px 16px; list-style:none; padding:0; margin:0; }
.site-standard-interior .site-standard-hero :is(.static-breadcrumb,.entry-meta) :is(a,li,span) { color:#a5bedf; font-size:13px; line-height:1.7; }
.site-standard-interior .site-standard-hero .entry-meta { padding:0; border:0; background:transparent; }

/* Cards, sections and actions use one palette and spacing scale. */
.site-standard-interior :is(.detail-grid,.service-grid-v5,.cards-v5) { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); gap:20px; }
.site-standard-interior .site-standard-main :is(.detail-card,.service-card-v5,.card-v5,.home-feature-card,.home-service-card) {
  grid-column:auto; min-width:0; padding:28px; border:1px solid #dbe3ef; border-radius:22px; background:#fff; color:#070e2b;
  box-shadow:0 10px 32px rgba(7,14,43,.04); text-decoration:none;
}
.site-standard-interior .site-standard-main :is(.detail-card,.service-card-v5,.card-v5) :is(h2,h3,b) { color:#070e2b; font-size:21px; line-height:1.5; }
.site-standard-interior .site-standard-main :is(.detail-card,.service-card-v5,.card-v5) :is(p,li,span) { color:#475569; }
.site-standard-interior .site-standard-main .card-v5:hover { border-color:#93c5fd; box-shadow:0 16px 38px rgba(37,99,235,.09); }
.site-standard-interior .site-standard-main :is(.icon-v5,.eyebrow-v5,.service-eyebrow-v5,.detail-eyebrow) { color:#2563eb; }
.site-standard-interior .site-standard-main :is(.detail-cta,.service-cta-v5,.hero-cta-v5,.final-cta-v5,.home-cta,.nf-btn-primary) {
  display:inline-flex; justify-content:center; align-items:center; gap:10px; min-height:48px; margin-top:10px; padding:12px 22px;
  border:1px solid transparent; border-radius:999px; background:#070e2b!important; color:#fff!important; font:700 15px/1.6 'Noto Sans Thai',sans-serif;
  text-align:center; text-decoration:none; box-shadow:0 8px 24px rgba(7,14,43,.15); white-space:normal; overflow-wrap:anywhere;
}
.standard-template-page .site-standard-header .site-standard-cta,
.standard-template-page .site-standard-footer .site-standard-cta {
  background:#070e2b!important;
  background-image:none!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(7,14,43,.2)!important;
}
.site-standard-interior .site-standard-hero :is(.detail-cta,.service-cta-v5,.hero-cta-v5,.home-cta) { background:#fff!important; color:#070e2b!important; }
.site-standard-interior :is(.detail-section-dark,.service-wide-v5,.band-v5,.detail-final) { padding:36px; border:1px solid #dbe3ef; border-radius:24px; background:#fff; color:#070e2b; }
.site-standard-interior .site-standard-main :is(.detail-section-dark,.service-wide-v5,.band-v5,.detail-final) :is(h2,h3,b,strong) { color:#070e2b; }
.site-standard-interior .site-standard-main :is(.detail-section-dark,.service-wide-v5,.band-v5,.detail-final) :is(p,span,li) { color:#475569; }
.site-standard-interior :is(.detail-process,.service-process-v5,.process-v5) { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr)); gap:20px; }
.site-standard-interior :is(.detail-step,.service-process-v5>div,.process-v5>div) { padding:24px; border:1px solid #dbe3ef; border-radius:18px; background:#f8faff; }
.site-standard-interior .site-standard-main :is(.detail-step,.service-process-v5>div,.process-v5>div)>strong { display:block; color:#2563eb; font-size:26px; margin-bottom:12px; }
.site-standard-interior :is(.detail-note,.detail-bullets>li) { border-color:#dbe3ef; background:#eff6ff; color:#334155; border-radius:16px; }
.site-standard-interior .detail-bullets strong { display:block; color:#070e2b; margin-bottom:8px; }
.site-standard-interior .site-standard-main details { padding:20px 0; border:0; border-bottom:1px solid #dbe3ef; background:transparent; color:#070e2b; }
.site-standard-interior .site-standard-main summary { cursor:pointer; font-size:17px; line-height:1.7; font-weight:700; }
.site-standard-interior .site-standard-main details p { margin:16px 0 0; }
.site-standard-interior .site-standard-main input:not([type=checkbox]):not([type=radio]), .site-standard-interior .site-standard-main :is(textarea,select) { max-width:100%; padding:12px 16px; border:1px solid #cbd5e1; border-radius:12px; font:inherit; color:#070e2b; background:#fff; }

/* Reading layouts retain their original articles, quizzes, tables and navigation. */
.site-standard-interior .site-standard-main :is(.entry-header,.page-title) { padding:0; margin:0; min-height:0; border:0; background:none; }
.site-standard-interior .site-standard-main .entry-content { max-width:900px; margin:0 auto; padding:36px; border:1px solid #dbe3ef; border-radius:24px; background:#fff; }
.site-standard-interior .site-standard-main .entry-content :is(h2,h3,h4) { margin-top:32px; }
.site-standard-interior .site-standard-main .entry-content .featured-img { display:block; width:auto; max-width:100%; max-height:480px; object-fit:contain; margin:0 auto 32px; border-radius:18px; }
.site-standard-interior .site-standard-main :is(.entry,.entry-content) a { color:#2563eb; }
.site-standard-interior .site-standard-main :is(blockquote,.detail-note) { margin:24px 0; padding:20px 24px; border-left:3px solid #2563eb; background:#eff6ff; color:#334155; }
.site-standard-table-scroll { width:100%; max-width:100%; overflow-x:auto; border:1px solid #dbe3ef; border-radius:16px; margin:24px 0; }
.site-standard-table-scroll:focus-visible { outline:3px solid #2563eb; outline-offset:3px; }
.site-standard-interior .site-standard-main table { width:100%; margin:0; border-collapse:collapse; color:#334155; background:#fff; font-size:15px; }
.site-standard-interior .site-standard-main :is(td,th) { padding:13px 16px; border:1px solid #e2e8f0; line-height:1.75; vertical-align:top; }
.site-standard-interior .site-standard-main th { background:#eff6ff; color:#070e2b; font-weight:700; }
.site-standard-interior .site-standard-main .article-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr)); gap:24px; }
.site-standard-interior .site-standard-main .entry-list { float:none; width:auto; margin:0; padding:24px; border:1px solid #dbe3ef; border-radius:22px; background:#fff; box-shadow:0 8px 28px rgba(7,14,43,.04); }
.site-standard-interior .site-standard-main .entry-list-inner { padding:0; background:none; }
.site-standard-interior .site-standard-main .entry-list h2 { font-size:21px; line-height:1.55; margin:0 0 14px; }
.site-standard-interior .site-standard-main .entry-list h2 a { color:#070e2b; text-decoration:none; }
.site-standard-interior .site-standard-main .entry-thumbnail { width:100%; float:none; margin:0 0 20px; }
.site-standard-interior .site-standard-main .entry-thumbnail img { width:100%; height:180px; object-fit:cover; border-radius:14px; }
.site-standard-interior .site-standard-main :is(.sidebar,.related-posts,.post-nav,.pagination,.page-links) { float:none; clear:both; width:100%; max-width:1180px; margin:36px auto 0; padding:24px; border:1px solid #dbe3ef; border-radius:20px; background:#fff; }
.site-standard-interior .site-standard-main .sidebar { position:static; }
.site-standard-interior .site-standard-main .related-posts { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr)); gap:24px; list-style:none; }
.site-standard-interior .site-standard-main .related-posts li { width:auto; float:none; margin:0; }
.site-standard-interior .site-standard-main .related-posts h4 { font-size:17px; line-height:1.6; }
.site-standard-interior .site-standard-main.nf-wrap { display:block; min-height:70vh; }
.site-standard-interior .site-standard-main .nf-box { padding:48px 24px; text-align:center; }
.site-standard-interior .site-standard-main .nf-code { color:#2563eb; }

@media(max-width:850px) {
  .site-standard-hero-split .site-standard-hero-inner { grid-template-columns:1fr; gap:32px; }
  .site-standard-interior .site-standard-main .site-standard-hero { padding-top:124px; }
  .site-standard-interior .site-standard-hero :is(.hero-image-v5,.service-hero-image-v5) { min-height:240px; max-height:380px; }
}
@media(max-width:600px) {
  html:has(.standard-template-page) { scroll-padding-top:92px; }
  .site-standard-interior .site-standard-main .site-standard-hero { padding:108px 20px 48px; }
  .site-standard-interior .site-standard-main > :not(.site-standard-hero) { width:calc(100% - 40px); }
  .site-standard-interior .site-standard-main h1 { font-size:32px; line-height:1.45; }
  .site-standard-interior .site-standard-main h2 { font-size:26px; line-height:1.5; }
  .site-standard-interior :is(.detail-section,.section-v5) { padding:44px 0; }
  .site-standard-interior :is(.detail-section-dark,.service-wide-v5,.band-v5,.detail-final) { padding:24px; }
  .site-standard-interior .site-standard-main :is(.detail-card,.service-card-v5,.card-v5,.entry-content) { padding:22px; }
  .site-standard-interior .main-inner { padding-top:36px; }
  .site-standard-interior .detail-final { display:block; }
  .site-standard-footer .dbd-footer-card { flex-direction:column; align-items:flex-start; gap:16px; padding:18px; }
  .site-standard-footer .dbd-footer-logo { flex-basis:auto; width:142px; height:80px; }
  .site-standard-footer [data-dbd-footer-card] { padding:0 20px 24px; }
}
