/* Shared additions; the original page design and media styles stay in place. */
:root { --ts-accent:#80caff; --ts-accent-rgb:128,202,255; }
body[data-ts-page="vertical-series"] { --ts-accent:#52ff9a; --ts-accent-rgb:82,255,154; }
html { scroll-padding-top:100px; }
body { overflow-wrap:break-word; }
.ts-site-header { position:sticky;top:0;z-index:45;width:100%;border-bottom:1px solid rgba(var(--ts-accent-rgb),.16);background:rgba(5,10,19,.94);backdrop-filter:blur(18px); }
.ts-nav-layout { width:min(100% - 48px,1320px);min-height:86px;margin:auto;display:flex;align-items:center;gap:26px; }
.ts-brand { display:flex;flex-direction:column;gap:6px;flex-shrink:0;text-decoration:none;color:#fff; }
.ts-brand img { width:auto;max-width:200px;height:37px;object-fit:contain; }
.ts-brand b { font:700 24px "Bai Jamjuree",sans-serif;letter-spacing:.04em; }
.ts-brand small { font:500 12px "IBM Plex Mono",monospace;letter-spacing:.13em;color:#afc0d6; }
.ts-site-menu { display:flex;align-items:center;gap:20px;margin-left:auto; }
.ts-site-menu a,.ts-courses-toggle { position:relative;display:block;padding:12px 0;font:500 14px/1.5 "IBM Plex Sans Thai",sans-serif;color:#c9d5e5;text-decoration:none;white-space:nowrap; }
.ts-site-menu>a::after,.ts-courses-toggle::after { content:"";position:absolute;left:0;right:0;bottom:5px;height:2px;background:var(--ts-accent);transform:scaleX(0);transform-origin:left;transition:transform .2s ease; }
.ts-site-menu>a:hover::after,.ts-site-menu>a:focus-visible::after,.ts-site-menu>a.active::after,.ts-courses-toggle:hover::after,.ts-courses-toggle:focus-visible::after { transform:scaleX(1); }
.ts-site-menu a:hover,.ts-site-menu a.active { color:#fff; }
.ts-courses { position:relative; }
.ts-courses-toggle { background:none;border:0;cursor:pointer; }
.ts-course-links { display:none;position:absolute;top:100%;left:-16px;min-width:185px;padding:8px;background:#0a1321;border:1px solid rgba(var(--ts-accent-rgb),.28);border-radius:14px;box-shadow:0 18px 50px #0008; }
.ts-courses.is-open .ts-course-links { display:block; }
.ts-course-links a { padding:10px 14px;border-radius:8px; }
.ts-course-links a:hover { color:var(--ts-accent);background:rgba(var(--ts-accent-rgb),.08); }
.ts-nav-actions { display:flex;align-items:center;gap:10px;flex-shrink:0; }
.ts-account-link { padding:10px 16px;border:1px solid rgba(var(--ts-accent-rgb),.5);border-radius:999px;background:rgba(var(--ts-accent-rgb),.08);color:#eef7ff;font:600 14px/1.5 "IBM Plex Sans Thai",sans-serif;text-decoration:none;white-space:nowrap;transition:background .2s,border-color .2s; }
.ts-account-link:hover { background:rgba(var(--ts-accent-rgb),.2);border-color:var(--ts-accent); }
.ts-menu-toggle { display:none;width:44px;height:44px;place-items:center;border:1px solid #ffffff30;border-radius:10px;background:#ffffff08;color:#fff;font:22px/1 sans-serif;cursor:pointer; }
body :is(a,button,input,select,textarea,[tabindex]):focus-visible { outline:2px solid var(--ts-accent);outline-offset:4px; }
body :is(input,select,textarea) { font-size:16px; }
.ts-production { position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;gap:28px;margin-top:28px;padding:32px 36px;border:1px solid rgba(var(--ts-accent-rgb),.35);border-radius:20px;background:radial-gradient(ellipse at 0 0,rgba(33,115,216,.17),transparent 70%),#0a1220;color:#f2f7ff;text-decoration:none;overflow:hidden;transition:border-color .22s,transform .22s,box-shadow .22s; }
.ts-production:hover { transform:translateY(-3px);border-color:var(--ts-accent);box-shadow:0 16px 36px #0003; }
.ts-production small { display:block;font:500 12px "IBM Plex Mono",monospace;color:var(--ts-accent);letter-spacing:.12em; }
.ts-production h3 { margin:10px 0 8px;font:700 clamp(22px,3vw,30px)/1.5 "Bai Jamjuree",sans-serif;color:#fff; }
.ts-production p { margin:0;color:#c3d0e2;font-size:16px; }
.ts-production .ts-company-url { display:block;margin-top:12px;font-size:14px;color:#91b2d7;overflow-wrap:anywhere; }
.ts-production .ts-production-cta { display:inline-flex;align-items:center;gap:12px;white-space:nowrap;padding:13px 22px;border:1px solid rgba(var(--ts-accent-rgb),.6);border-radius:999px;color:#e9f5ff;font-size:16px; }
.ts-production-cta i { font-style:normal;transition:transform .2s; }
.ts-production:hover .ts-production-cta i { transform:translate(2px,-2px); }
.ts-shared-footer { border-top:1px solid #ffffff20;padding:38px 0;color:#a8b9ce; }
.ts-footer-inner { width:min(100% - 40px,1180px);margin:auto;display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:26px;font-size:14px; }
.ts-footer-inner a { color:#c3d4e8;text-decoration:none;line-height:2; }
.ts-footer-inner a:hover { color:var(--ts-accent); }
.ts-footer-inner p { margin:8px 0;font-size:14px; }
.ts-footer-company { align-self:start;padding:20px;border:1px solid #ffffff20;border-radius:14px; }
.ts-footer-company span { display:block; }
.ts-footer-copy { grid-column:1/-1; }
.ts-admin-links { display:flex;gap:8px;flex-wrap:wrap;padding:10px 0 0;font-size:14px; }
.ts-admin-links a { color:#acd8ff;padding:6px 10px;border:1px solid #ffffff28;border-radius:8px;text-decoration:none; }
.ts-form-status { margin:12px 0 0;color:#bce7ff;font-size:16px; }
.ts-form-status[data-error="true"] { color:#ffb9b9; }
.ts-account-tabs { display:flex;gap:10px;margin-bottom:18px; }
.ts-account-tabs button { flex:1;padding:10px;border:1px solid #ffffff28;border-radius:9px;background:#ffffff08;color:#dbeaff;font:600 14px "IBM Plex Sans Thai",sans-serif;cursor:pointer; }
.ts-account-tabs button[aria-pressed="true"] { border-color:var(--ts-accent);background:rgba(var(--ts-accent-rgb),.16); }
.ts-honeypot { position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden; }
@media (hover:hover) and (pointer:fine) { .ccard:hover { transform:translateY(-2px); } }
@media (max-width:1180px) {
  .ts-nav-layout { min-height:78px;gap:16px;justify-content:space-between; }
  .ts-site-menu { display:none;position:absolute;left:24px;right:24px;top:calc(100% + 8px);margin:0;padding:16px;background:#08111f;border:1px solid rgba(var(--ts-accent-rgb),.25);border-radius:16px;box-shadow:0 20px 50px #0009;max-height:calc(100dvh - 110px);overflow:auto; }
  .ts-site-menu.is-open { display:block; }
  .ts-site-menu a,.ts-courses-toggle { width:100%;padding:12px 14px;text-align:left;font-size:16px; }
  .ts-site-menu>a::after,.ts-courses-toggle::after { left:14px;right:14px; }
  .ts-course-links { position:static;box-shadow:none;margin:0 10px 6px; }
  .ts-menu-toggle { display:grid; }
}
@media (max-width:600px) {
  .ts-nav-layout { width:calc(100% - 24px);min-height:76px;gap:8px; }
  .ts-brand img { height:28px;max-width:96px; }
  .ts-brand small { font-size:12px;letter-spacing:0; }
  .ts-nav-actions { gap:6px; }
  .ts-account-link { max-width:137px;white-space:normal;text-align:center;font-size:14px;padding:8px 10px; }
  .ts-site-menu { left:12px;right:12px; }
  .ts-production { grid-template-columns:1fr;padding:24px;gap:20px; }
  .ts-production .ts-production-cta { justify-self:start; }
  .ts-footer-inner { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce) {
  .ts-hover-burst { display:none; }
  .ts-production,.ts-production-cta i,.ccard { transform:none!important;transition:none!important; }
}

body[data-ts-page="contact"] .footer-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
@media(max-width:900px){ body[data-ts-page="contact"] .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px){ body[data-ts-page="contact"] .footer-grid { grid-template-columns:1fr; } }

.ts-account-tabs button {cursor:pointer;}
.auth-status {margin:14px 0;color:#bce7ff;line-height:1.7;}
.auth-status[data-error="true"] {color:#ffb9b9;}
.ts-account-tabs button[aria-pressed="true"]{color:#fff;}
.ts-course-enquiry{margin:0 0 20px;padding:16px;border:1px solid #80caff66;border-radius:12px;color:#cceaff;background:#80caff0d;}
.ts-site-menu [role="menu"] {position:static;}

.ts-production-note{margin:24px 0 0;color:#80caff;font-weight:600;font-size:clamp(16px,2.2vw,22px);line-height:1.7;text-align:center;overflow-wrap:anywhere;}
.ts-production-note a:hover{text-decoration:underline;text-underline-offset:5px;}
