/*
Theme Name: sonnhat Child
Theme URI: https://sonnhat.com
Description: Child theme của Divi cho sonnhat.com — automation và đào tạo A.I cho doanh nghiệp. Nền trắng, Be Vietnam Pro, điểm nhấn cam.
Author: sonnhat
Template: Divi
Version: 1.0.0
Text Domain: sonnhat-child
*/

/* ==========================================================================
   0. Font tự host (Be Vietnam Pro + JetBrains Mono, có subset tiếng Việt)
   ========================================================================== */
@font-face{font-family:"Be Vietnam Pro";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/BeVietnamPro-400-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
@font-face{font-family:"Be Vietnam Pro";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/BeVietnamPro-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Be Vietnam Pro";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/BeVietnamPro-500-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
@font-face{font-family:"Be Vietnam Pro";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/BeVietnamPro-500-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Be Vietnam Pro";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/BeVietnamPro-600-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
@font-face{font-family:"Be Vietnam Pro";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/BeVietnamPro-600-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Be Vietnam Pro";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/BeVietnamPro-700-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
@font-face{font-family:"Be Vietnam Pro";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/BeVietnamPro-700-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Be Vietnam Pro";font-style:normal;font-weight:800;font-display:swap;src:url(fonts/BeVietnamPro-800-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
@font-face{font-family:"Be Vietnam Pro";font-style:normal;font-weight:800;font-display:swap;src:url(fonts/BeVietnamPro-800-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/JetBrainsMono-400-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/JetBrainsMono-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/JetBrainsMono-600-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/JetBrainsMono-600-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ==========================================================================
   1. Token thiết kế
   ========================================================================== */
:root{
  --ms-nen:#FFFFFF;
  --ms-nen-phu:#F7F7F5;
  --ms-nen-cam:#FFF1EA;
  --ms-chu:#16181C;
  --ms-xam:#6B7280;
  --ms-xam-nhat:#9CA3AF;
  --ms-vien:#E5E7EB;
  --ms-cam:#FF6B2C;
  --ms-cam-dam:#E85A1E;
  --ms-xanh:#0E9F6E;
  --ms-toi:#16181C;
  --ms-font:"Be Vietnam Pro",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --ms-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --ms-bo:16px;
  --ms-bo-lon:28px;
  --ms-bong:0 1px 2px rgba(22,24,28,.04),0 8px 24px -8px rgba(22,24,28,.10);
  --ms-bong-lon:0 2px 4px rgba(22,24,28,.04),0 24px 48px -16px rgba(22,24,28,.18);
  --ms-de:cubic-bezier(.22,1,.36,1);
  --ms-khoang:clamp(72px,10vw,128px);
}

/* ==========================================================================
   2. Nền chữ toàn site
   ========================================================================== */
html{scroll-behavior:smooth}
body,#et-main-area,#main-content,.et_pb_section,.et_pb_text,.et_pb_module,#et-boc,.et-db #et-boc .et-l{
  font-family:var(--ms-font) !important;
}
body{background:var(--ms-nen);color:var(--ms-chu);font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4,h5,h6,.et_pb_module h1,.et_pb_module h2,.et_pb_module h3,.et_pb_module h4{
  font-family:var(--ms-font) !important;color:var(--ms-chu);letter-spacing:-.02em;line-height:1.15;font-weight:800
}
h1,.et_pb_module h1{font-size:clamp(40px,6vw,72px);letter-spacing:-.03em;line-height:1.05}
h2,.et_pb_module h2{font-size:clamp(30px,4vw,48px)}
h3,.et_pb_module h3{font-size:clamp(22px,2.4vw,28px);font-weight:700}
h4,.et_pb_module h4{font-size:19px;font-weight:700}
p{margin-bottom:1.1em}
a{color:var(--ms-cam);text-decoration:none;transition:color .2s}
a:hover{color:var(--ms-cam-dam)}
strong,b{font-weight:700;color:var(--ms-chu)}
::selection{background:var(--ms-cam);color:#fff}
#main-content .container:before{display:none}
.et_pb_section{background-color:var(--ms-nen)}
.et_pb_row{max-width:1200px}
#page-container{overflow-x:clip}

/* Nhãn nhỏ trên tiêu đề (eyebrow) */
.ms-nhan,.ms-nhan p{
  display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ms-cam);margin:0 0 16px
}
.ms-nhan:before{content:"";width:22px;height:2px;background:var(--ms-cam);border-radius:2px;flex:0 0 22px}
.ms-nhan,.ms-nhan p{flex-wrap:wrap}
.ms-xam,.ms-xam p{color:var(--ms-xam)}
.ms-lead,.ms-lead p{font-size:clamp(18px,1.6vw,21px);line-height:1.6;color:var(--ms-xam);max-width:60ch}
.ms-mono{font-family:var(--ms-mono)}

/* Gạch chân cam vẽ dần dưới từ khoá */
.ms-hl{
  display:inline;padding:0 .06em;margin:0 -.06em;
  -webkit-box-decoration-break:clone;box-decoration-break:clone;
  background-image:linear-gradient(90deg,rgba(255,107,44,.55),rgba(255,107,44,.30));
  background-repeat:no-repeat;background-position:0 86%;background-size:0% .34em;
  transition:background-size .9s var(--ms-de) .25s
}
.is-in .ms-hl,.ms-hl.is-in{background-size:100% .34em}
.ms-cam{color:var(--ms-cam)}

/* ==========================================================================
   3. Reveal khi cuộn
   ========================================================================== */
.ms-reveal{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ms-de),transform .9s var(--ms-de)}
.ms-reveal.is-in{opacity:1;transform:none}
.ms-reveal-stagger>*{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ms-de),transform .8s var(--ms-de)}
.ms-reveal-stagger.is-in>*{opacity:1;transform:none}
.ms-reveal-stagger.is-in>*:nth-child(1){transition-delay:.05s}
.ms-reveal-stagger.is-in>*:nth-child(2){transition-delay:.15s}
.ms-reveal-stagger.is-in>*:nth-child(3){transition-delay:.25s}
.ms-reveal-stagger.is-in>*:nth-child(4){transition-delay:.35s}
.ms-reveal-stagger.is-in>*:nth-child(5){transition-delay:.45s}
.ms-reveal-stagger.is-in>*:nth-child(6){transition-delay:.55s}
.ms-reveal-stagger.is-in>*:nth-child(n+7){transition-delay:.65s}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .ms-reveal,.ms-reveal-stagger>*{opacity:1 !important;transform:none !important;transition:none !important}
  .ms-hl{background-size:100% .34em;transition:none}
  .ms-marquee__track{animation:none !important}
  .ms-float{animation:none !important}
  .ms-blob{display:none}
}

/* ==========================================================================
   4. Nút
   ========================================================================== */
.et_pb_button,.ms-btn a.et_pb_button,.ms-btn .et_pb_button{
  font-family:var(--ms-font) !important;font-weight:600 !important;font-size:16px !important;letter-spacing:0;
  border-radius:999px !important;padding:15px 28px !important;border:1.5px solid var(--ms-chu) !important;
  color:var(--ms-chu) !important;background:transparent;line-height:1.2;
  transition:transform .35s var(--ms-de),background .25s,color .25s,border-color .25s,box-shadow .35s !important;
  position:relative;overflow:hidden;white-space:nowrap;display:inline-block
}
.et_pb_button:after{display:none !important}
.et_pb_button:hover{background:var(--ms-chu);color:#fff !important;padding:15px 28px !important;transform:translateY(-2px);box-shadow:var(--ms-bong)}
.ms-btn-cam .et_pb_button,.ms-btn-cam.et_pb_button{background:var(--ms-cam) !important;border-color:var(--ms-cam) !important;color:#fff !important}
.ms-btn-cam .et_pb_button:hover,.ms-btn-cam.et_pb_button:hover{background:var(--ms-cam-dam) !important;border-color:var(--ms-cam-dam) !important;box-shadow:0 12px 28px -10px rgba(255,107,44,.6)}
.ms-btn-trang .et_pb_button{background:#fff !important;border-color:#fff !important;color:var(--ms-chu) !important}
.ms-btn-trang .et_pb_button:hover{background:var(--ms-cam) !important;border-color:var(--ms-cam) !important;color:#fff !important}
.ms-btn .et_pb_button_wrapper{display:inline-block;margin-right:12px;margin-bottom:8px}
.ms-btn-hang{display:flex;flex-wrap:wrap;gap:12px}
.ms-ripple{position:absolute;border-radius:50%;background:rgba(255,255,255,.35);transform:scale(0);animation:ms-ripple .6s linear;pointer-events:none}
@keyframes ms-ripple{to{transform:scale(4);opacity:0}}
.ms-magnet{will-change:transform}

/* ==========================================================================
   5. Header (Theme Builder)
   ========================================================================== */
.ms-header{position:sticky;top:0;z-index:999;background:rgba(255,255,255,.72);backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);
  border-bottom:1px solid transparent;transition:border-color .3s,box-shadow .3s,padding .3s}
.ms-header.is-scrolled{border-bottom-color:var(--ms-vien);box-shadow:0 8px 24px -16px rgba(22,24,28,.15)}
.ms-header .et_pb_row{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 0 !important;width:92%;max-width:1200px;transition:padding .3s}
.ms-header.is-scrolled .et_pb_row{padding:10px 0 !important}
.ms-header .et_pb_column{width:auto !important;margin:0 !important;flex:0 0 auto}
.ms-header .et_pb_column.ms-header__menu{flex:1 1 auto;display:flex;justify-content:flex-end}
.ms-logo,.ms-logo p{font-size:22px;font-weight:800;letter-spacing:-.03em;margin:0;line-height:1;color:var(--ms-chu)}
.ms-logo a{color:var(--ms-chu)}
.ms-logo .ms-cham{color:var(--ms-cam)}
.ms-header .et_pb_menu{background:transparent}
.ms-header .et_pb_menu .et_pb_menu__wrap{justify-content:flex-end}
.ms-header .et_pb_menu .et_pb_menu__menu>nav>ul>li{margin:0}
.ms-header .et_pb_menu .et_pb_menu__menu>nav>ul>li>a{
  font-family:var(--ms-font);font-size:15px;font-weight:500;color:var(--ms-chu);padding:8px 14px !important;position:relative;letter-spacing:0
}
.ms-header .et_pb_menu .et_pb_menu__menu>nav>ul>li>a:after{
  content:"";position:absolute;left:14px;right:14px;bottom:2px;height:2px;background:var(--ms-cam);border-radius:2px;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ms-de)
}
.ms-header .et_pb_menu .et_pb_menu__menu>nav>ul>li>a:hover:after,
.ms-header .et_pb_menu .et_pb_menu__menu>nav>ul>li.current-menu-item>a:after{transform:scaleX(1)}
.ms-header .et_pb_menu .et_pb_menu__menu>nav>ul>li.current-menu-item>a{color:var(--ms-chu);opacity:1}
.ms-header .et_pb_menu .et_pb_menu__menu>nav>ul>li.ms-menu-cta>a{
  background:var(--ms-cam);color:#fff;border-radius:999px;padding:10px 18px !important;margin-left:8px;font-weight:600;transition:background .25s,transform .3s var(--ms-de)
}
.ms-header .et_pb_menu .et_pb_menu__menu>nav>ul>li.ms-menu-cta>a:after{display:none}
.ms-header .et_pb_menu .et_pb_menu__menu>nav>ul>li.ms-menu-cta>a:hover{background:var(--ms-cam-dam);transform:translateY(-1px)}
.ms-header .et_mobile_nav_menu .mobile_menu_bar:before{color:var(--ms-chu)}
.ms-header .et_mobile_menu{border-top:2px solid var(--ms-cam);background:#fff;box-shadow:var(--ms-bong-lon);border-radius:0 0 var(--ms-bo) var(--ms-bo);padding:12px 0}
.ms-header .et_mobile_menu li a{font-family:var(--ms-font);font-size:17px;font-weight:500;color:var(--ms-chu);padding:12px 20px;border:0}
.ms-header .et_mobile_menu li.ms-menu-cta a{color:var(--ms-cam);font-weight:700}
.ms-header .et_pb_menu__logo-wrap{display:none}
@media (max-width:980px){
  .ms-header .et_pb_row{padding:12px 0 !important}
  .ms-header .et_pb_column.ms-header__menu{flex:0 0 auto}
}

/* ==========================================================================
   6. Hero
   ========================================================================== */
.ms-hero{position:relative;overflow:hidden;padding-top:clamp(56px,8vw,96px) !important;padding-bottom:clamp(56px,8vw,96px) !important}
.ms-hero:before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(rgba(22,24,28,.10) 1px,transparent 1.2px);background-size:26px 26px;
  -webkit-mask-image:radial-gradient(ellipse 70% 70% at 50% 40%,#000 30%,transparent 80%);mask-image:radial-gradient(ellipse 70% 70% at 50% 40%,#000 30%,transparent 80%)
}
.ms-blob{position:absolute;width:520px;height:520px;border-radius:50%;pointer-events:none;z-index:0;
  background:radial-gradient(circle at center,rgba(255,107,44,.28),rgba(255,107,44,0) 65%);
  filter:blur(24px);transform:translate(-50%,-50%);left:70%;top:35%;transition:left 1.2s var(--ms-de),top 1.2s var(--ms-de);will-change:left,top}
.ms-hero .et_pb_row{position:relative;z-index:1;align-items:center;display:flex;flex-wrap:wrap}
.ms-hero h1{margin-bottom:22px}
.ms-hero .ms-lead{margin-bottom:34px}
.ms-hero__anh{position:relative;padding:24px 8px 8px 24px}
.ms-hero__anh:before{content:"";position:absolute;inset:0 16px 16px 0;background:var(--ms-cam);border-radius:36% 64% 62% 38%/45% 42% 58% 55%;z-index:0;opacity:.95;
  animation:ms-morph 12s ease-in-out infinite alternate}
.ms-hero__anh img{position:relative;z-index:1;border-radius:32% 68% 60% 40%/50% 40% 60% 50%;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:top center;
  box-shadow:var(--ms-bong-lon);animation:ms-morph2 12s ease-in-out infinite alternate}
@keyframes ms-morph{0%{border-radius:36% 64% 62% 38%/45% 42% 58% 55%}100%{border-radius:58% 42% 40% 60%/55% 60% 40% 45%}}
@keyframes ms-morph2{0%{border-radius:32% 68% 60% 40%/50% 40% 60% 50%}100%{border-radius:55% 45% 35% 65%/45% 55% 45% 55%}}
.ms-sticker{position:absolute;z-index:2;background:#fff;border:1px solid var(--ms-vien);border-radius:999px;padding:9px 16px;font-size:14px;font-weight:600;
  box-shadow:var(--ms-bong);white-space:nowrap;display:inline-flex;align-items:center;gap:8px}
.ms-sticker i{width:8px;height:8px;border-radius:50%;background:var(--ms-cam);display:inline-block}
.ms-sticker--1{left:-6%;top:14%;transform:rotate(-6deg)}
.ms-sticker--2{right:-4%;top:46%;transform:rotate(4deg)}
.ms-sticker--3{left:2%;bottom:6%;transform:rotate(-3deg)}
.ms-float{animation:ms-float 6s ease-in-out infinite}
.ms-float--2{animation-delay:-2s}
.ms-float--3{animation-delay:-4s}
@keyframes ms-float{0%,100%{translate:0 0}50%{translate:0 -10px}}
.ms-hero__meta{display:flex;gap:28px;flex-wrap:wrap;margin-top:34px;padding-top:24px;border-top:1px solid var(--ms-vien);font-size:14px;color:var(--ms-xam)}
.ms-hero__meta b{display:block;font-size:15px;color:var(--ms-chu);font-weight:700}
@media (max-width:980px){
  .ms-hero__anh{margin-top:40px;max-width:420px;margin-left:auto;margin-right:auto}
  .ms-sticker--1{left:-2%}
  .ms-sticker--2{right:-2%}
}

/* ==========================================================================
   7. Marquee
   ========================================================================== */
.ms-marquee{overflow:hidden;border-top:1px solid var(--ms-vien);border-bottom:1px solid var(--ms-vien);padding:18px 0;background:var(--ms-nen);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.ms-marquee__track{display:flex;width:max-content;gap:0;animation:ms-marquee 40s linear infinite}
.ms-marquee:hover .ms-marquee__track{animation-play-state:paused}
.ms-marquee__item{display:inline-flex;align-items:center;gap:22px;padding:0 22px;font-size:15px;font-weight:600;letter-spacing:.02em;color:var(--ms-chu);white-space:nowrap}
.ms-marquee__item:after{content:"";width:6px;height:6px;border-radius:50%;background:var(--ms-cam)}
@keyframes ms-marquee{to{transform:translateX(-50%)}}

/* ==========================================================================
   8. Dải số (Number Counter)
   ========================================================================== */
.ms-so .et_pb_number_counter{text-align:left;padding:28px 28px 24px;border:1px solid var(--ms-vien);border-radius:var(--ms-bo-lon);background:#fff;height:100%;transition:transform .4s var(--ms-de),box-shadow .4s}
.ms-so .et_pb_number_counter:hover{transform:translateY(-4px);box-shadow:var(--ms-bong)}
.ms-so .et_pb_number_counter .percent{font-family:var(--ms-font) !important;font-weight:800;font-size:clamp(44px,5vw,64px);letter-spacing:-.04em;color:var(--ms-chu);line-height:1}
.ms-so .et_pb_number_counter .percent-sign{color:var(--ms-cam)}
.ms-so .et_pb_number_counter .title,.ms-so .et_pb_number_counter h3{font-size:15px;font-weight:500;color:var(--ms-xam);margin-top:10px;letter-spacing:0}
.ms-so .et_pb_column{margin-bottom:0}

/* ==========================================================================
   9. Thẻ (card) dùng chung — Blurb, Toggle, Blog, Prompt
   ========================================================================== */
.ms-the .et_pb_blurb,.ms-the.et_pb_blurb{
  background:#fff;border:1px solid var(--ms-vien);border-radius:var(--ms-bo-lon);padding:34px 30px;height:100%;position:relative;overflow:hidden;
  transition:transform .45s var(--ms-de),box-shadow .45s,border-color .3s
}
.ms-the .et_pb_blurb:before,.ms-the.et_pb_blurb:before{content:"";position:absolute;left:0;top:0;right:0;height:3px;background:var(--ms-cam);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ms-de)}
.ms-the .et_pb_blurb:hover,.ms-the.et_pb_blurb:hover{transform:translateY(-6px);box-shadow:var(--ms-bong-lon);border-color:transparent}
.ms-the .et_pb_blurb:hover:before,.ms-the.et_pb_blurb:hover:before{transform:scaleX(1)}
.ms-the .et_pb_blurb .et_pb_main_blurb_image{margin-bottom:22px}
.ms-the .et_pb_blurb .et-pb-icon{font-size:26px;color:var(--ms-cam);background:var(--ms-nen-cam);border-radius:14px;width:56px;height:56px;line-height:56px;display:inline-block;text-align:center}
.ms-the .et_pb_blurb .et_pb_module_header,.ms-the .et_pb_blurb h4{font-size:21px;font-weight:700;margin-bottom:10px;letter-spacing:-.01em}
.ms-the .et_pb_blurb .et_pb_blurb_description{color:var(--ms-xam);font-size:16px}
.ms-the .et_pb_blurb .et_pb_blurb_description ul{list-style:none;padding:0;margin:14px 0 0}
.ms-the .et_pb_blurb .et_pb_blurb_description li{position:relative;padding-left:22px;margin-bottom:8px;color:var(--ms-chu)}
.ms-the .et_pb_blurb .et_pb_blurb_description li:before{content:"";position:absolute;left:0;top:11px;width:10px;height:2px;background:var(--ms-cam);border-radius:2px}
.ms-the__so{font-family:var(--ms-mono);font-size:13px;color:var(--ms-cam);font-weight:600;display:block;margin-bottom:14px;letter-spacing:.06em}
.ms-the-cam .et_pb_blurb{background:var(--ms-nen-cam);border-color:transparent}
.ms-the-toi .et_pb_blurb{background:var(--ms-toi);color:#fff;border-color:transparent}
.ms-the-toi .et_pb_blurb h4,.ms-the-toi .et_pb_blurb .et_pb_module_header{color:#fff}
.ms-the-toi .et_pb_blurb .et_pb_blurb_description{color:rgba(255,255,255,.72)}
.ms-the-toi .et_pb_blurb .et_pb_blurb_description li{color:#fff}
.ms-the .et_pb_column{margin-bottom:0}
.ms-luoi .et_pb_row{display:flex;flex-wrap:wrap;gap:24px 0}
.ms-luoi .et_pb_column{display:flex;flex-direction:column}
.ms-luoi .et_pb_column>.et_pb_module{flex:1}

/* Nghiêng 3D nhẹ khi rê chuột */
.ms-tilt{transform-style:preserve-3d;transition:transform .2s ease-out}

/* Toggle (FAQ) */
.ms-faq .et_pb_toggle{border:0;border-bottom:1px solid var(--ms-vien);padding:22px 0;background:transparent;border-radius:0}
.ms-faq .et_pb_toggle:first-child{border-top:1px solid var(--ms-vien)}
.ms-faq .et_pb_toggle_title{font-size:19px;font-weight:600;padding-right:44px;color:var(--ms-chu);cursor:pointer;letter-spacing:-.01em}
.ms-faq .et_pb_toggle_title:before{font-size:22px;right:4px;color:var(--ms-cam);transition:transform .3s}
.ms-faq .et_pb_toggle_open .et_pb_toggle_title:before{transform:rotate(180deg)}
.ms-faq .et_pb_toggle_content{padding-top:12px;color:var(--ms-xam);font-size:16px}

/* Blog module */
.ms-blog .et_pb_post{background:#fff;border:1px solid var(--ms-vien);border-radius:var(--ms-bo-lon);overflow:hidden;padding:0 !important;margin-bottom:0 !important;height:100%;transition:transform .45s var(--ms-de),box-shadow .45s}
.ms-blog .et_pb_post:hover{transform:translateY(-6px);box-shadow:var(--ms-bong-lon)}
.ms-blog .et_pb_post .entry-featured-image-url{margin:0;display:block;aspect-ratio:16/10;overflow:hidden;background:var(--ms-nen-cam)}
.ms-blog .et_pb_post .entry-featured-image-url img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ms-de)}
.ms-blog .et_pb_post:hover .entry-featured-image-url img{transform:scale(1.04)}
.ms-blog .et_pb_post .entry-title,.ms-blog .et_pb_post .post-content,.ms-blog .et_pb_post .post-meta{padding-left:26px;padding-right:26px}
.ms-blog .et_pb_post .entry-title{font-size:21px;font-weight:700;margin:22px 0 8px;line-height:1.3;letter-spacing:-.01em}
.ms-blog .et_pb_post .entry-title a{color:var(--ms-chu)}
.ms-blog .et_pb_post .entry-title a:hover{color:var(--ms-cam)}
.ms-blog .et_pb_post .post-meta{font-size:13px;color:var(--ms-xam-nhat);margin-bottom:8px}
.ms-blog .et_pb_post .post-meta a{color:var(--ms-xam)}
.ms-blog .et_pb_post .post-content{padding-bottom:26px;color:var(--ms-xam);font-size:15px}
.ms-blog .et_pb_post .post-content .more-link{display:inline-block;margin-top:8px;color:var(--ms-cam);font-weight:600}
.ms-blog .et_pb_blog_grid .column{display:flex}
.ms-blog .et_pb_blog_grid .et_pb_salvattore_content{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.ms-blog .et_pb_blog_grid .et_pb_salvattore_content .column{width:auto !important;float:none;margin:0 !important}
@media (max-width:980px){.ms-blog .et_pb_blog_grid .et_pb_salvattore_content{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.ms-blog .et_pb_blog_grid .et_pb_salvattore_content{grid-template-columns:1fr}}
.ms-blog .pagination a{color:var(--ms-cam);font-weight:600}

/* ==========================================================================
   10. Kho prompt
   ========================================================================== */
.ms-prompts__loc{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:34px}
.ms-prompts__loc button{font-family:var(--ms-font);font-size:14px;font-weight:600;padding:9px 18px;border-radius:999px;border:1px solid var(--ms-vien);background:#fff;color:var(--ms-chu);cursor:pointer;transition:all .25s}
.ms-prompts__loc button:hover{border-color:var(--ms-chu)}
.ms-prompts__loc button.is-active{background:var(--ms-chu);border-color:var(--ms-chu);color:#fff}
.ms-prompts__luoi{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media (max-width:980px){.ms-prompts__luoi{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.ms-prompts__luoi{grid-template-columns:1fr}}
.ms-prompt{background:#fff;border:1px solid var(--ms-vien);border-radius:var(--ms-bo-lon);padding:26px 26px 22px;display:flex;flex-direction:column;gap:14px;position:relative;
  transition:transform .45s var(--ms-de),box-shadow .45s,opacity .3s}
.ms-prompt:hover{transform:translateY(-6px);box-shadow:var(--ms-bong-lon)}
.ms-prompt.is-hidden{display:none}
.ms-prompt__nhom{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ms-cam)}
.ms-prompt__tieude{font-size:19px;font-weight:700;line-height:1.3;letter-spacing:-.01em;margin:0}
.ms-prompt__tieude a{color:var(--ms-chu)}
.ms-prompt__tieude a:hover{color:var(--ms-cam)}
.ms-prompt__mota{font-size:15px;color:var(--ms-xam);margin:0}
.ms-prompt__box{font-family:var(--ms-mono);font-size:13px;line-height:1.6;color:var(--ms-chu);background:var(--ms-nen-phu);border-radius:14px;padding:16px;white-space:pre-wrap;word-break:break-word;
  max-height:170px;overflow:hidden;position:relative;margin:0}
.ms-prompt__box:after{content:"";position:absolute;left:0;right:0;bottom:0;height:60px;background:linear-gradient(transparent,var(--ms-nen-phu))}
.ms-prompt__box.is-open{max-height:none}
.ms-prompt__box.is-open:after{display:none}
.ms-prompt__hanh{display:flex;gap:10px;margin-top:auto;padding-top:4px}
.ms-copy,.ms-xemthem{font-family:var(--ms-font);font-size:14px;font-weight:600;padding:10px 16px;border-radius:999px;border:1.5px solid var(--ms-chu);background:#fff;color:var(--ms-chu);cursor:pointer;
  display:inline-flex;align-items:center;gap:8px;transition:all .25s}
.ms-copy:hover{background:var(--ms-chu);color:#fff}
.ms-copy.is-done{background:var(--ms-xanh);border-color:var(--ms-xanh);color:#fff}
.ms-xemthem{border-color:var(--ms-vien);color:var(--ms-xam)}
.ms-xemthem:hover{border-color:var(--ms-chu);color:var(--ms-chu)}
.single-prompt .ms-prompt__box{max-height:none;font-size:15px;padding:28px}
.single-prompt .ms-prompt__box:after{display:none}
.single-prompt .ms-prompt__hanh{margin:18px 0 32px}

/* ==========================================================================
   11. TikTok
   ========================================================================== */
.ms-tiktok{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media (max-width:980px){.ms-tiktok{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.ms-tiktok{grid-template-columns:1fr}}
.ms-tiktok__o{border-radius:var(--ms-bo-lon);overflow:hidden;background:var(--ms-nen-phu);border:1px solid var(--ms-vien);min-height:580px;display:flex;align-items:center;justify-content:center;position:relative}
.ms-tiktok__o blockquote{margin:0 !important;max-width:100% !important;min-width:0 !important}
.ms-tiktok__cho{color:var(--ms-xam);font-size:14px;text-align:center;padding:30px}
.ms-tiktok__cho b{display:block;font-size:40px;color:var(--ms-cam);margin-bottom:8px}
.ms-tiktok--creator{display:block}.ms-tiktok--creator .ms-tiktok__o{min-height:0;display:block;padding:8px}.ms-tiktok--creator blockquote{width:100% !important}

/* ==========================================================================
   12. Timeline (Giới thiệu)
   ========================================================================== */
.ms-timeline{position:relative;padding-left:36px;margin:0;list-style:none}
.ms-timeline:before{content:"";position:absolute;left:9px;top:8px;bottom:8px;width:2px;background:linear-gradient(var(--ms-cam),var(--ms-vien))}
.ms-timeline li{position:relative;padding:0 0 36px 0}
.ms-timeline li:last-child{padding-bottom:0}
.ms-timeline li:before{content:"";position:absolute;left:-36px;top:6px;width:20px;height:20px;border-radius:50%;background:#fff;border:4px solid var(--ms-cam);box-shadow:0 0 0 4px #fff}
.ms-timeline .ms-tl__nam{font-family:var(--ms-mono);font-size:13px;font-weight:600;color:var(--ms-cam);letter-spacing:.06em;display:block;margin-bottom:6px}
.ms-timeline h4{margin:0 0 6px;font-size:20px}
.ms-timeline p{margin:0;color:var(--ms-xam);font-size:16px}

/* Quy trình 4 bước */
.ms-buoc{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;counter-reset:buoc}
@media (max-width:980px){.ms-buoc{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.ms-buoc{grid-template-columns:1fr}}
.ms-buoc div{counter-increment:buoc;background:var(--ms-nen-phu);border-radius:var(--ms-bo-lon);padding:28px 24px;position:relative}
.ms-buoc div:before{content:"0" counter(buoc);font-family:var(--ms-mono);font-size:13px;font-weight:600;color:var(--ms-cam);display:block;margin-bottom:14px}
.ms-buoc h4{margin:0 0 8px;font-size:18px}
.ms-buoc p{margin:0;font-size:15px;color:var(--ms-xam)}

/* Danh mục công bố */
.ms-congbo{border:1px solid var(--ms-vien);border-radius:var(--ms-bo-lon);padding:30px 32px;background:#fff;margin-bottom:18px}
.ms-congbo__nam{font-family:var(--ms-mono);font-size:13px;color:var(--ms-cam);font-weight:600;letter-spacing:.06em}
.ms-congbo h4{margin:8px 0 8px;font-size:20px;line-height:1.35}
.ms-congbo p{margin:0;color:var(--ms-xam);font-size:15px}
.ms-congbo em{color:var(--ms-chu);font-style:normal;font-weight:500}

/* ==========================================================================
   13. Câu chốt (quote lớn)
   ========================================================================== */
.ms-chot{background:var(--ms-nen-cam) !important;position:relative;overflow:hidden}
.ms-chot:before{content:"“";position:absolute;left:4%;top:-40px;font-size:340px;line-height:1;font-weight:800;color:rgba(255,107,44,.16);font-family:Georgia,serif;pointer-events:none}
.ms-chot .et_pb_text{position:relative;z-index:1}
.ms-chot blockquote,.ms-chot .ms-chot__cau{border:0;padding:0;margin:0 0 20px;font-size:clamp(26px,3.6vw,44px);font-weight:800;letter-spacing:-.03em;line-height:1.2;color:var(--ms-chu)}
.ms-chot cite,.ms-chot .ms-chot__ai{font-style:normal;font-size:15px;color:var(--ms-xam);font-weight:500}

/* ==========================================================================
   14. Liên hệ (Divi Contact Form)
   ========================================================================== */
.ms-form .et_pb_contact_form_container .et_pb_contact_field{margin-bottom:14px}
.ms-form .et_pb_contact_form_container input[type=text],.ms-form .et_pb_contact_form_container input[type=email],.ms-form .et_pb_contact_form_container textarea,.ms-form .et_pb_contact_form_container select{
  font-family:var(--ms-font);font-size:16px;color:var(--ms-chu);background:#fff;border:1.5px solid var(--ms-vien);border-radius:14px;padding:16px 18px;width:100%;transition:border-color .25s,box-shadow .25s}
.ms-form .et_pb_contact_form_container input:focus,.ms-form .et_pb_contact_form_container textarea:focus{border-color:var(--ms-cam);box-shadow:0 0 0 4px rgba(255,107,44,.15);outline:0}
.ms-form .et_pb_contact_form_container textarea{min-height:150px}
.ms-form .et_pb_contact_form_container .et_pb_contact_field_options_title{font-weight:600;font-size:15px}
.ms-form .et_pb_contact_form_container .et_pb_contact_submit{border-radius:999px !important;background:var(--ms-cam) !important;border-color:var(--ms-cam) !important;color:#fff !important;padding:15px 30px !important;margin-top:6px}
.ms-form .et_pb_contact_form_container .et_pb_contact_submit:hover{background:var(--ms-cam-dam) !important}
.ms-form .et_pb_contact_form_container .et_pb_contact_form_label{font-size:14px;font-weight:600;color:var(--ms-chu);margin-bottom:6px;display:block}
.ms-form .et-pb-contact-message p{color:var(--ms-xanh);font-weight:600}
.ms-form .et_contact_bottom_container{float:none;display:flex;justify-content:flex-start}
.ms-lienhe__kenh{list-style:none;padding:0;margin:0}
.ms-lienhe__kenh li{display:flex;align-items:center;gap:14px;padding:16px 0;border-bottom:1px solid var(--ms-vien);font-size:16px}
.ms-lienhe__kenh li span{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ms-xam-nhat);width:88px;flex:0 0 88px}
.ms-lienhe__kenh li a{color:var(--ms-chu);font-weight:600}
.ms-lienhe__kenh li a:hover{color:var(--ms-cam)}

/* ==========================================================================
   15. Footer (Theme Builder)
   ========================================================================== */
.ms-footer{background:var(--ms-toi) !important;color:rgba(255,255,255,.7);padding:72px 0 32px !important}
.ms-footer h4,.ms-footer .et_pb_text h4{color:#fff;font-size:14px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;margin-bottom:18px}
.ms-footer p{color:rgba(255,255,255,.7);font-size:15px}
.ms-footer .ms-logo,.ms-footer .ms-logo p{color:#fff;font-size:26px}
.ms-footer .ms-logo a{color:#fff}
.ms-footer ul{list-style:none;padding:0;margin:0}
.ms-footer li{margin-bottom:10px;font-size:15px}
.ms-footer a{color:rgba(255,255,255,.78)}
.ms-footer a:hover{color:var(--ms-cam)}
.ms-footer__cuoi{border-top:1px solid rgba(255,255,255,.12);margin-top:44px;padding-top:24px;font-size:13px;color:rgba(255,255,255,.45);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
.ms-footer .et_pb_row{padding:0 !important}
.ms-footer .et_pb_column{margin-bottom:24px}

/* ==========================================================================
   16. Bài viết đơn
   ========================================================================== */
.single-post #main-content .container,.single-prompt #main-content .container{max-width:760px;padding-top:48px}
.single-post .et_post_meta_wrapper .entry-title,.single-prompt .entry-title{font-size:clamp(32px,4.4vw,52px);margin-bottom:14px}
.single-post .post-meta{font-size:14px;color:var(--ms-xam)}
.single-post .entry-content{font-size:18px;line-height:1.8}
.single-post .entry-content h2{font-size:30px;margin:44px 0 14px}
.single-post .entry-content h3{font-size:24px;margin:34px 0 10px}
.single-post .entry-content blockquote{border-left:3px solid var(--ms-cam);padding:6px 0 6px 22px;margin:28px 0;font-size:22px;font-weight:600;letter-spacing:-.01em;color:var(--ms-chu)}
.single-post .entry-content img{border-radius:var(--ms-bo)}
.single-post .et_post_meta_wrapper img{border-radius:var(--ms-bo-lon)}
.single #sidebar{display:none}
.single #left-area{width:100%;padding-right:0}
.single #main-content .container:before{display:none}
#comment-wrap{display:none}
.et_pb_post_content,.entry-content{color:var(--ms-chu)}

/* Trang lưu trữ / danh sách bài mặc định của Divi */
.archive #main-content .container,.blog #main-content .container,.search #main-content .container{padding-top:48px}
.archive #left-area,.blog #left-area{width:100%;padding-right:0}
.archive #sidebar,.blog #sidebar{display:none}
.archive .et_pb_post,.blog .et_pb_post{border-bottom:1px solid var(--ms-vien);padding-bottom:36px;margin-bottom:36px}
.archive .et_pb_post .entry-title,.blog .et_pb_post .entry-title{font-size:28px}
.archive .et_pb_post .entry-title a,.blog .et_pb_post .entry-title a{color:var(--ms-chu)}
.archive .et_pb_post .entry-featured-image-url img,.blog .et_pb_post .entry-featured-image-url img{border-radius:var(--ms-bo-lon)}

/* ==========================================================================
   17. Tiện ích
   ========================================================================== */
.ms-khoang{padding-top:var(--ms-khoang) !important;padding-bottom:var(--ms-khoang) !important}
.ms-khoang-nho{padding-top:56px !important;padding-bottom:56px !important}
.ms-nen-phu{background:var(--ms-nen-phu) !important}
.ms-nen-cam{background:var(--ms-nen-cam) !important}
.ms-giua{text-align:center}
.ms-giua .ms-lead{margin-left:auto;margin-right:auto}
.ms-giua .ms-nhan{justify-content:center}
.ms-hep{max-width:760px;margin-left:auto;margin-right:auto}
.ms-tieude-hang{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:40px}
.ms-tieude-hang h2{margin:0}
.ms-link-mui{font-weight:600;color:var(--ms-chu);display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.ms-link-mui:after{content:"";width:18px;height:2px;background:currentColor;border-radius:2px;transition:width .3s var(--ms-de)}
.ms-link-mui:hover{color:var(--ms-cam)}
.ms-link-mui:hover:after{width:28px}
.ms-ghi{font-size:13px;color:var(--ms-xam-nhat);font-family:var(--ms-mono)}
.ms-hai-cot .et_pb_column{margin-bottom:0}
.ms-so-lon{font-size:clamp(52px,7vw,84px);font-weight:800;letter-spacing:-.04em;line-height:1;color:var(--ms-chu)}
.et_pb_section.ms-khoang .et_pb_row{padding:0}
.et_pb_image img{border-radius:var(--ms-bo-lon)}
.et_pb_column{margin-bottom:0}
.et_pb_row{padding:0}
.et_pb_text_inner p:last-child{margin-bottom:0}
#et-secondary-menu,#top-header{display:none}
.et_pb_scroll_top{background:var(--ms-cam);border-radius:12px}
@media (max-width:767px){
  body{font-size:16px}
  .ms-blob{display:none}
  .ms-hero__meta{gap:16px}
  .ms-hero__meta>div{flex:1 1 40%}
  .et_pb_row{width:92%}
  .ms-hero{padding-top:36px !important}
  h1,.et_pb_module h1{font-size:40px}
  .ms-chot:before{font-size:200px}
  .ms-tieude-hang{margin-bottom:28px}
}

/* ==========================================================================
   18. Sơn Nhật — logo, hero luồng tự động
   ========================================================================== */
.sn-logo{display:inline-flex;align-items:center;gap:10px;font-size:22px;font-weight:800;letter-spacing:-.03em;color:var(--ms-chu);line-height:1}
.sn-logo img{width:34px;height:34px;border-radius:9px;display:block;transition:transform .4s var(--ms-de)}
.sn-logo:hover img{transform:rotate(-8deg) scale(1.06)}
.sn-logo span{white-space:nowrap}
.sn-logo--trang{color:#fff;font-size:26px}
.sn-logo--trang img{width:40px;height:40px}
.ms-logo .sn-logo:hover{color:var(--ms-chu)}
.ms-footer .ms-logo .sn-logo:hover{color:#fff}
.ms-footer .ms-logo{margin-bottom:18px}

.sn-hero .et_pb_row{align-items:center}
.sn-flow{background:#fff;border:1px solid var(--ms-vien);border-radius:var(--ms-bo-lon);padding:22px 22px 18px;box-shadow:var(--ms-bong-lon);position:relative;transform:rotate(1.2deg);transition:transform .6s var(--ms-de)}
.sn-flow:hover{transform:rotate(0) translateY(-4px)}
.sn-flow__hang{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}
.sn-flow__nhan{font-family:var(--ms-mono);font-size:12px;letter-spacing:.06em;color:var(--ms-xam)}
.sn-flow__trangthai{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:600;color:var(--ms-xanh);background:rgba(14,159,110,.1);padding:5px 11px;border-radius:999px}
.sn-flow__trangthai i{width:7px;height:7px;border-radius:50%;background:var(--ms-xanh);animation:sn-nhay 1.6s ease-in-out infinite}
@keyframes sn-nhay{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}
.sn-flow__luoi{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:56px 44px;padding:6px 0}
.sn-flow__nut{position:relative;z-index:1;background:var(--ms-nen-phu);border:1px solid var(--ms-vien);border-radius:16px;padding:14px 16px;opacity:0;transform:translateY(10px);animation:sn-hien .7s var(--ms-de) forwards}
.sn-flow__nut b{display:block;font-size:14px;font-weight:700;line-height:1.3;margin-bottom:4px}
.sn-flow__nut small{font-size:12px;color:var(--ms-xam)}
.sn-flow__nut--1{animation-delay:.2s}
.sn-flow__nut--2{animation-delay:.8s}
.sn-flow__nut--3{animation-delay:1.4s;grid-column:2}
.sn-flow__nut--4{animation-delay:2s;grid-column:1;grid-row:2}
.sn-flow__nut--ai{background:var(--ms-chu);color:#fff;border-color:var(--ms-chu)}
.sn-flow__nut--ai b{color:#fff}
.sn-flow__nut--ai small{color:rgba(255,255,255,.7)}
.sn-flow__nut--ai:before{content:"A.I";position:absolute;top:-10px;right:12px;background:var(--ms-cam);color:#fff;font-size:10px;font-weight:700;letter-spacing:.08em;padding:3px 8px;border-radius:999px}
@keyframes sn-hien{to{opacity:1;transform:none}}
.sn-flow__day{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.sn-flow__day path{fill:none;stroke:var(--ms-cam);stroke-width:2;stroke-dasharray:6 6;stroke-linecap:round;animation:sn-chay 1.2s linear infinite}
@keyframes sn-chay{to{stroke-dashoffset:-12}}
.sn-flow__chan{display:flex;gap:10px;justify-content:center;margin-top:18px;padding-top:14px;border-top:1px dashed var(--ms-vien);font-size:13px;color:var(--ms-xam)}
@media (max-width:980px){.sn-flow{transform:none;margin-top:36px}}
@media (max-width:480px){.sn-flow__luoi{grid-template-columns:1fr;gap:18px}.sn-flow__nut--3,.sn-flow__nut--4{grid-column:1;grid-row:auto}.sn-flow__day{display:none}}
@media (prefers-reduced-motion:reduce){.sn-flow__nut{opacity:1;transform:none;animation:none}.sn-flow__day path,.sn-flow__trangthai i{animation:none}.sn-flow{transform:none}}

/* Gói dịch vụ */
.sn-goi .et_pb_blurb .ms-the__so{font-size:12px}
.sn-goi__thoi{display:inline-block;font-family:var(--ms-mono);font-size:13px;color:var(--ms-chu);background:var(--ms-nen-cam);padding:4px 10px;border-radius:999px;margin:0 0 12px}

/* Trang Doanh nghiệp dẫn đầu */
.sn-baihoc{background:#fff;border:1px solid var(--ms-vien);border-radius:var(--ms-bo-lon);padding:40px;margin-bottom:24px;display:grid;grid-template-columns:1fr 2fr;gap:36px;transition:box-shadow .4s,transform .4s var(--ms-de)}
.sn-baihoc:hover{box-shadow:var(--ms-bong-lon);transform:translateY(-3px)}
.sn-baihoc__dau h3{font-size:clamp(22px,2.2vw,28px);margin:6px 0 10px;line-height:1.2}
.sn-baihoc__ho{font-family:var(--ms-mono);font-size:13px;color:var(--ms-xam);margin:0}
.sn-baihoc__than{display:grid;gap:22px}
.sn-baihoc__than h4{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ms-xam-nhat);margin:0 0 8px;font-weight:600}
.sn-baihoc__than p{margin:0;font-size:16px;color:var(--ms-chu)}
.sn-baihoc__ap{background:var(--ms-nen-cam);border-radius:18px;padding:20px 22px}
.sn-baihoc__ap h4{color:var(--ms-cam)}
@media (max-width:980px){.sn-baihoc{grid-template-columns:1fr;padding:28px;gap:22px}}

/* Chuyển ngôn ngữ */
.ms-header .et_pb_column.ms-header__menu{align-items:center;gap:6px}
.ms-header .et_pb_column.ms-header__menu .et_pb_menu{flex:0 1 auto}
.sn-lang-wrap{flex:0 0 auto;margin-left:6px}
.sn-lang{display:inline-flex;align-items:center;gap:6px;font-family:var(--ms-mono);font-size:13px;font-weight:600;letter-spacing:.06em;color:var(--ms-xam-nhat);border:1px solid var(--ms-vien);border-radius:999px;padding:7px 12px;background:#fff}
.sn-lang a{color:var(--ms-xam)}
.sn-lang a:hover{color:var(--ms-cam)}
.sn-lang a.is-active{color:var(--ms-chu);pointer-events:none}
@media (max-width:980px){.ms-header .et_pb_column.ms-header__menu{display:flex;flex-direction:row;align-items:center}.sn-lang-wrap{order:-1;margin:0 8px 0 0}}
