/* =========================================
   VĂN LANG — Responsive — Home / About / Contact
   Khớp ảnh mẫu: hero beige + teal #0f5d5a
   ========================================= */
:root{
  --header-h:61px; /* chiều cao header sticky (padding 10x2 + content + border 1px) — hero slider trừ ra để full màn hình */
  --teal:#115e59;
  --teal-dark:#0e4a47;
  --teal-mid:#146c67;
  --teal-light:#e6f0ee;
  --teal-pale:#f2f7f6;
  --beige:#fdf6ee;
  --beige-2:#fefcf7;
  --line:#dde9e7;
  --line2:#eaf2f0;
  --text:#1b3331;
  --muted:#6b8684;
  --muted2:#8aa5a2;
  --white:#fff;
  --r:16px;--r2:20px;--r3:24px;
  --shadow:0 6px 28px rgba(16,70,68,.07);
  --shadow2:0 10px 36px rgba(16,70,68,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;max-width:100%;overflow-x:clip}
body{margin:0;min-width:0;max-width:100%;overflow-x:clip;font-family:'Be Vietnam Pro',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);background:#fff;line-height:1.6;-webkit-font-smoothing:antialiased}
main{min-width:0}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{margin:0;padding:0;list-style:none}
h1,h2,h3,h4,p{margin:0}
.container{width:min(1160px,92%);margin-inline:auto}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 20px;border-radius:999px;border:1px solid transparent;font-weight:700;font-size:13.5px;cursor:pointer;transition:.18s;white-space:nowrap;line-height:1}
.btn-teal{background:var(--teal);color:#fff}
.btn-teal:hover{background:var(--teal-dark)}
.btn-white{background:#fff;color:var(--teal);border-color:var(--line)}
.btn-white:hover{border-color:var(--teal)}
.btn-dark{background:var(--teal-dark);color:#fff}
.btn-dark:hover{background:#0a3633}

/* header */
.header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:saturate(180%) blur(8px);border-bottom:1px solid var(--line2)}
.header-inner{display:flex;align-items:center;gap:16px;padding:10px 0}
.logo{display:flex;align-items:center;gap:10px;line-height:1.1;flex-shrink:0}
.logo-mark{width:60px;height:50px;border-radius:50%;display:grid;place-items:center;background:var(--teal-pale);border:1px solid var(--line);font-size:18px}
.logo small{display:block;font-size:9px;letter-spacing:.11em;color:var(--muted);font-weight:700;text-transform:uppercase}
.logo b{font-size:15px;letter-spacing:.04em;color:var(--teal)}
.nav{margin-left:20px;display:flex;align-items:center;gap:2px}
.nav a{padding:8px 10px;border-radius:999px;font-size:13.5px;font-weight:600;color:var(--muted);white-space:nowrap}
.nav a.active,.nav a:hover{color:var(--teal);background:var(--teal-pale)}
.header-actions{margin-left:auto;display:flex;align-items:center;gap:10px}
.hotline{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:#fff;font-weight:700;font-size:13px;color:var(--teal)}
.hotline span{width:22px;height:22px;display:grid;place-items:center;background:var(--teal);color:#fff;border-radius:50%;font-size:11px}
.hamburger{display:none;width:42px;height:42px;padding:10px;border-radius:12px;border:1px solid var(--line);background:#fff;place-items:center;align-content:center;gap:5px;cursor:pointer;color:var(--teal);flex-shrink:0}
.hamburger span{display:block;width:20px;height:2px;border-radius:999px;background:currentColor;transition:transform .2s ease,opacity .2s ease}
.hamburger.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger.is-open span:nth-child(2){opacity:0}
.hamburger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-menu{position:fixed;inset:var(--header-h) 0 auto;z-index:48;max-height:calc(100svh - var(--header-h));overflow-y:auto;padding:10px 0 16px;background:rgba(255,255,255,.98);border-bottom:1px solid var(--line);box-shadow:var(--shadow2);backdrop-filter:blur(12px)}
.mobile-menu[hidden]{display:none}
.mobile-nav-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.mobile-nav-links a{padding:11px 13px;border-radius:10px;font-size:13px;font-weight:700;color:var(--text)}
.mobile-nav-links a.active,.mobile-nav-links a:hover{color:var(--teal);background:var(--teal-pale)}
.mobile-menu-actions{display:flex;gap:8px;margin-top:10px;padding-top:12px;border-top:1px solid var(--line2)}
.mobile-nav{display:none;position:fixed;inset:60px 0 auto 0;background:#fff;border-top:1px solid var(--line2);padding:14px;box-shadow:var(--shadow2);z-index:49}
.mobile-nav.open{display:block}
.mobile-nav a{display:block;padding:12px 14px;border-radius:12px;font-weight:600}
.mobile-nav a:hover{background:var(--teal-pale)}

/* hero */
.hero{background:linear-gradient(180deg,#fdfbf6 0%,#fef7ec 55%,#fff 100%);overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:28px;align-items:center;padding:22px 0 18px}
.hero h1{font-size:40px;line-height:1.08;color:var(--teal);font-weight:800;letter-spacing:-.02em}
.hero h1 em{font-style:normal;color:#1a7a74;position:relative}
.hero-desc{color:var(--muted);font-size:13.8px;margin:14px 0 18px;max-width:520px;line-height:1.65}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap}
.hero-badges{display:flex;gap:16px;margin-top:18px;flex-wrap:wrap}
.mini-badge{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;color:var(--teal)}
.mini-badge i{width:26px;height:26px;display:grid;place-items:center;background:#fff;border:1px solid var(--line);border-radius:50%;font-style:normal;font-size:11px;color:var(--teal)}
.hero-visual{position:relative;border-radius:22px;overflow:hidden;background:#ddd;aspect-ratio:1.45/1;box-shadow:0 12px 40px rgba(16,70,68,.12)}
.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center top}

/* section label with arrows */
.sec-label{display:flex;align-items:center;justify-content:center;gap:14px;color:var(--teal);font-weight:800;font-size:13px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:16px}
.sec-label::before,.sec-label::after{content:"";height:1px;flex:1;max-width:160px;background:var(--line)}
.sec-label i{width:0;height:0;border-style:solid}
.sec-label .arr{font-size:10px;opacity:.6}

/* finder */
.finder-section{padding:10px 0 6px}
.finder-box{background:#fff;border:1px solid var(--line);border-radius:22px;padding:16px 16px 18px;box-shadow:var(--shadow)}
.finder-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:2px}
.finder-card{background:#fff;border:1px solid var(--line2);border-radius:16px;padding:16px 12px 14px;text-align:center;transition:.18s}
.finder-card:hover{border-color:var(--teal);transform:translateY(-2px);box-shadow:var(--shadow)}
.finder-icon{width:44px;height:44px;margin:0 auto 10px;display:grid;place-items:center;background:var(--teal-pale);border:1px solid var(--line);border-radius:12px;color:var(--teal);font-size:18px}
.finder-card h4{font-size:13px;font-weight:800;line-height:1.3}
.finder-card p{font-size:11.5px;color:var(--muted);margin-top:5px;line-height:1.45}
.finder-cta{display:flex;justify-content:center;margin-top:14px}

/* featured services */
.section{padding:22px 0}
.section h2{font-size:19px;text-align:center;color:var(--teal);font-weight:800;letter-spacing:.02em}
.services-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-top:14px}
.service-card{background:#fff;border:1px solid var(--line2);border-radius:16px;padding:16px 10px 14px;text-align:center;box-shadow:0 2px 12px rgba(16,70,68,.04)}
.service-card .svc-icon{width:42px;height:42px;margin:0 auto 10px;display:grid;place-items:center;background:#fff7eb;border:1px solid #f2e6d0;border-radius:12px;color:var(--teal);font-size:17px}
.service-card h4{font-size:12.5px;font-weight:800;line-height:1.3}
.service-card p{font-size:11px;color:var(--muted);margin-top:6px;line-height:1.45}

/* process */
.process-wrap{background:#fff;border:1px solid var(--line2);border-radius:22px;padding:18px 16px;box-shadow:var(--shadow)}
.process-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:14px;position:relative}
.process-step{text-align:center;padding:8px 6px;position:relative}
.process-step .step-icon{width:46px;height:46px;margin:0 auto 8px;display:grid;place-items:center;background:var(--teal-pale);border:1px solid var(--line);border-radius:50%;color:var(--teal);font-size:16px}
.process-step h4{font-size:12px;font-weight:800;line-height:1.25}
.process-step p{font-size:11px;color:var(--muted);margin-top:4px;line-height:1.4}
.process-line{position:absolute;left:8%;right:8%;top:31px;height:1px;background:repeating-linear-gradient(90deg,var(--line) 0 6px,transparent 6px 10px);display:block}
.process-step{position:relative;z-index:1}

/* stats */
.stats{background:linear-gradient(90deg,var(--teal) 0%,#17706b 100%);color:#fff;border-radius:18px;padding:16px 12px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px}
.stat{display:flex;align-items:center;gap:10px;justify-content:center}
.stat-icon{width:36px;height:36px;display:grid;place-items:center;background:rgba(255,255,255,.13);border-radius:10px;font-size:16px;flex-shrink:0}
.stat b{font-size:19px;line-height:1;display:block}
.stat span{font-size:11.5px;opacity:.88;line-height:1.25;display:block;margin-top:2px}

/* team */
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px}
.team-card{background:#fff;border:1px solid var(--line2);border-radius:16px;padding:14px;display:flex;gap:12px;align-items:center;box-shadow:0 2px 14px rgba(16,70,68,.05)}
.team-avatar{width:58px;height:58px;border-radius:50%;object-fit:cover;border:3px solid var(--teal-light);flex-shrink:0}
.team-card h4{font-size:13.5px;font-weight:800;line-height:1.2}
.team-card .role{font-size:11.5px;color:var(--teal);font-weight:600;margin-top:2px}
.team-card q{font-size:11.5px;color:var(--muted);display:block;margin-top:4px;line-height:1.5;font-style:italic}

/* cta bottom */
.cta-bottom{margin-top:16px;display:grid;grid-template-columns:1.1fr auto;gap:16px;align-items:center;background:linear-gradient(90deg,#fff7e8 0%,#fff 55%,#eef6f4 100%);border:1px solid var(--line);border-radius:20px;padding:16px 18px}
.cta-left{display:flex;gap:14px;align-items:center}
.cta-left img{width:92px;height:72px;object-fit:cover;border-radius:12px;flex-shrink:0}
.cta-left h3{color:var(--teal);font-size:15px;font-weight:800;line-height:1.25}
.cta-left p{font-size:11.5px;color:var(--muted);margin-top:4px}
.cta-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.cta-phone{display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 18px}
.cta-phone small{font-weight:600;font-size:11px;opacity:.9}
.cta-reg{display:flex;flex-direction:column;align-items:center;line-height:1.2}
.cta-reg small{font-size:11px;color:var(--muted);font-weight:500}

/* footer */
.footer{background:var(--teal-dark);color:#d6e7e3;padding:26px 0 14px;margin-top:24px}
.footer-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr;gap:22px}
.footer-logo{display:flex;align-items:center;gap:10px;color:#fff;font-weight:800}
.footer-logo .logo-mark{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.18);color:#fff}
.footer p,.footer a{font-size:12.5px;line-height:1.65;color:#b9cfcc}
.footer h4{color:#fff;font-size:11.5px;letter-spacing:.07em;text-transform:uppercase;margin-bottom:10px}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:18px;padding-top:12px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:11.5px;color:#8fb0ad}
.socials{display:flex;gap:8px}
.socials a{width:28px;height:28px;display:grid;place-items:center;background:rgba(255,255,255,.1);border-radius:50%;font-size:12px}

/* page banner (about/contact) — phóng to hơn */
.page-banner{background:linear-gradient(90deg,#eaf3f1 0%,#eef6f3 40%,#fdf6ea 100%);border-bottom:1px solid var(--line2);padding:48px 0 36px;position:relative;overflow:hidden;min-height:200px;display:flex;align-items:center}
.page-banner .container{position:relative;z-index:2}
.page-banner h1{font-size:34px;color:var(--teal);font-weight:800;letter-spacing:.02em;line-height:1.15}
.breadcrumb{font-size:13px;color:var(--muted);margin-top:8px}
.page-banner .banner-img{position:absolute;right:0;top:0;bottom:0;width:48%;opacity:1;pointer-events:none}
.page-banner .banner-img img{width:100%;height:100%;object-fit:cover;object-position:center top}
.page-banner .banner-img::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#eaf3f1 6%,rgba(234,243,241,.85) 30%,transparent 62%)}
.quote-badge{position:absolute;right:3%;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:14px;padding:10px 14px;font-size:12px;color:var(--muted);font-style:italic;max-width:210px;line-height:1.5;z-index:2;box-shadow:0 4px 16px rgba(16,70,68,.08)}

/* about */
.about-layout{display:grid;grid-template-columns:1.75fr .9fr;gap:20px;padding:22px 0}
.about-article h2{font-size:17px;color:var(--teal);display:flex;align-items:center;gap:8px;font-weight:800}
.about-article h2 i{width:28px;height:28px;display:grid;place-items:center;background:var(--teal-light);border-radius:50%;font-style:normal;font-size:14px}
.about-article p{font-size:13.5px;color:var(--muted);margin-top:10px;line-height:1.7}
.about-features{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}
.feat{border:1px solid var(--line2);border-radius:14px;padding:12px;text-align:center;background:#fff}
.feat i{width:36px;height:36px;display:grid;place-items:center;background:var(--teal-pale);border-radius:10px;margin:0 auto 8px;font-style:normal;color:var(--teal)}
.feat b{font-size:12px;display:block}
.feat span{font-size:11px;color:var(--muted)}
.sidebar{position:sticky;top:76px;align-self:start;display:flex;flex-direction:column;gap:14px}
.side-card{border:1px solid var(--line2);border-radius:16px;overflow:hidden;background:#fff;box-shadow:var(--shadow)}
.side-card .side-head{padding:14px 16px;background:linear-gradient(135deg,var(--teal) 0%,var(--teal-mid) 100%);color:#fff;display:flex;gap:12px;align-items:center}
.side-card .side-head img{width:64px;height:48px;border-radius:10px;object-fit:cover;border:2px solid rgba(255,255,255,.5)}
.side-card .side-body{padding:14px}
.video-thumb{position:relative;border-radius:12px;overflow:hidden;aspect-ratio:16/9;background:#ddd}
.video-thumb img{width:100%;height:100%;object-fit:cover}
.play{position:absolute;inset:0;display:grid;place-items:center}
.play span{width:44px;height:44px;display:grid;place-items:center;background:rgba(255,255,255,.92);border-radius:50%;color:var(--teal);font-size:18px;box-shadow:0 4px 16px rgba(0,0,0,.18)}
.side-quote{font-size:12px;color:var(--muted);font-style:italic;margin-top:10px;line-height:1.5;border-left:3px solid var(--teal-light);padding-left:10px}
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.why-item{border:1px solid var(--line2);border-radius:12px;padding:10px;display:flex;gap:8px;align-items:flex-start;background:var(--teal-pale)}
.why-item i{width:28px;height:28px;display:grid;place-items:center;background:#fff;border-radius:50%;color:var(--teal);font-style:normal;flex-shrink:0;border:1px solid var(--line)}
.why-item b{font-size:12px;display:block}
.why-item span{font-size:11px;color:var(--muted)}
.contact-mini{border:1px solid var(--line);border-radius:14px;padding:12px;background:var(--beige-2);display:flex;flex-direction:column;gap:10px}
.contact-mini h4{font-size:13px;color:var(--teal)}
.contact-mini .btn{width:100%}

/* contact */
.contact-intro{max-width:520px;color:var(--muted);font-size:13.5px;margin-top:8px;line-height:1.6}
.contact-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:20px;padding:18px 0}
.info-card h3{font-size:16px;color:var(--teal);font-weight:800}
.info-card p{font-size:12.5px;color:var(--muted);margin-top:6px;line-height:1.6}
.info-list{margin-top:14px;display:flex;flex-direction:column;gap:10px}
.info-item{display:flex;gap:10px;align-items:flex-start;font-size:13px}
.info-item i{width:32px;height:32px;display:grid;place-items:center;background:var(--teal-light);border-radius:50%;color:var(--teal);font-style:normal;flex-shrink:0}
.info-item b{font-size:13px}
.info-item span{font-size:12px;color:var(--muted)}
.map-card{border-radius:14px;overflow:hidden;border:1px solid var(--line2);margin-top:12px;height:180px;background:#e8f2ef;position:relative}
.map-card img{width:100%;height:100%;object-fit:cover}
.map-pin{position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);width:30px;height:30px;background:var(--teal);color:#fff;border-radius:50% 50% 50% 0;transform:translate(-50%,-50%) rotate(-45deg);display:grid;place-items:center;box-shadow:0 6px 16px rgba(0,0,0,.2)}
.map-pin span{transform:rotate(45deg);font-size:15px}
.form-card{border:1px solid var(--line2);border-radius:16px;padding:18px;background:#fff;box-shadow:var(--shadow);align-self:start;position:sticky;top:76px}
.form-card h3{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--teal);text-align:center;font-weight:800}
.form-grid{display:grid;gap:10px;margin-top:14px}
.input,.select,.textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font-size:13px;font-family:inherit;background:#fff;color:var(--text);outline:none;transition:.15s}
.input:focus,.select:focus,.textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(17,94,89,.12)}
.textarea{min-height:90px;resize:vertical}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.btn-submit{width:100%;background:var(--teal);color:#fff;border-radius:10px;padding:12px;font-weight:800;border:none;cursor:pointer;font-size:13px}
.btn-submit:hover{background:var(--teal-dark)}
.commit{margin-top:16px;border:1px solid var(--line2);border-radius:14px;padding:14px;background:var(--teal-pale)}
.commit h4{font-size:13px;color:var(--teal);text-align:center;margin-bottom:10px;font-weight:800}
.commit-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.commit-item{display:flex;gap:8px;align-items:flex-start;font-size:11.5px;line-height:1.4}
.commit-item i{width:26px;height:26px;display:grid;place-items:center;background:#fff;border-radius:50%;border:1px solid var(--line);color:var(--teal);font-style:normal;flex-shrink:0}



/* main slider — banner to dưới menu */
.main-slider{position:relative;overflow:hidden;background:#0e4a47}
.slider-viewport{overflow:hidden}
.slider-track{display:flex;transition:transform .55s cubic-bezier(.4,0,.2,1)}
.slide{flex:0 0 100%;position:relative;min-width:0;margin:0;min-height:clamp(480px,calc(100svh - var(--header-h)),720px);background-image:var(--slide-image);background-size:cover;background-position:center;display:flex;align-items:center}
.slide-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,54,51,.74) 0%,rgba(10,54,51,.42) 52%,rgba(10,54,51,.08) 100%)}
.slide-inner{position:relative;z-index:1;padding:36px 0}
.slide-copy{max-width:560px;color:#fff}
.slide-badge{display:inline-block;font-size:11px;letter-spacing:.06em;font-weight:700;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);padding:6px 12px;border-radius:999px;margin-bottom:12px;backdrop-filter:blur(6px)}
.slide-copy h2{font-size:38px;line-height:1.1;font-weight:800;letter-spacing:-.02em}
.slide-copy h2 em{font-style:normal;color:#c8f0ec}
.slide-copy p{font-size:14px;opacity:.92;margin-top:10px;line-height:1.6;max-width:520px}
.slide-actions{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}
.slider-arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.12);backdrop-filter:blur(8px);color:#fff;font-size:22px;cursor:pointer;display:grid;place-items:center;z-index:2;transition:.18s}
.slider-arrow:hover{background:rgba(255,255,255,.22)}
.slider-arrow.prev{left:16px}
.slider-arrow.next{right:16px}
.slider-dots{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);display:flex;gap:8px;z-index:2}
.slider-dots .dot{width:28px;height:6px;border-radius:999px;border:none;background:rgba(255,255,255,.38);cursor:pointer;transition:.2s}
.slider-dots .dot.active{background:#fff;width:36px}
@media(max-width:900px){
  .slide{min-height:clamp(440px,70svh,620px)}
  .slide-copy h2{font-size:28px}
  .slider-arrow{width:38px;height:38px;font-size:18px}
}
@media(max-width:600px){
  .page-banner{padding:24px 0 18px;min-height:130px}
  .page-banner h1{font-size:24px}
  .slide{min-height:clamp(440px,72svh,560px);background-image:var(--slide-mobile-image,var(--slide-image));background-position:center}
  .slide-inner{padding:22px 0}
  .slide-copy h2{font-size:24px}
  .slide-copy p{font-size:13px}
  .slider-arrow{width:34px;height:34px}
  .slider-arrow.prev{left:8px}
  .slider-arrow.next{right:8px}
}

/* responsive */
@media(max-width:1024px){
  .page-banner{padding:32px 0 24px;min-height:160px}
  .page-banner h1{font-size:28px}
  .hero-grid{grid-template-columns:1fr;gap:18px}
  .hero-visual{aspect-ratio:16/10;max-height:380px}
  .services-grid{grid-template-columns:repeat(3,1fr)}
  .process-grid{grid-template-columns:repeat(3,1fr)}
  .process-line{display:none}
  .stats{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
  .about-layout{grid-template-columns:1fr}
  .contact-layout{grid-template-columns:1fr}
  .sidebar,.form-card{position:static}
  .page-banner .banner-img{display:none}
  .quote-badge{display:none}
  .cta-bottom{grid-template-columns:1fr}
  .cta-actions{justify-content:flex-start}
}
@media(max-width:768px){
  .nav,.header-actions .hotline{display:none}
  .hamburger{display:grid}
  .hero h1{font-size:28px}
  .finder-grid{grid-template-columns:repeat(2,1fr)}
  .finder-grid .finder-card:last-child{grid-column:1 / -1;max-width:50%;justify-self:center;width:100%}
  .services-grid{grid-template-columns:repeat(2,1fr)}
  .process-grid{grid-template-columns:repeat(2,1fr)}
  .team-grid{grid-template-columns:1fr}
  .about-features{grid-template-columns:repeat(2,1fr)}
  .form-row{grid-template-columns:1fr}
  .commit-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column}
}
@media(max-width:480px){
  .hero h1{font-size:24px}
  .finder-grid{grid-template-columns:1fr}
  .finder-grid .finder-card:last-child{grid-column:auto;max-width:none}
  .services-grid{grid-template-columns:1fr}
  .process-grid{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr}
  .cta-left{flex-direction:column;align-items:flex-start}
}

/* ==== khối trang chủ render từ home_sections (FR-32, batch 9 13/09) ==== */
.sec-head{display:block}
.sec-more{display:block;text-align:center;font-size:12px;font-weight:700;color:var(--teal);margin-top:2px}
.section-alt{background:var(--teal-pale)}
.post-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:14px}
.post-card{background:#fff;border:1px solid var(--line2);border-radius:16px;overflow:hidden;box-shadow:0 2px 14px rgba(16,70,68,.05);display:flex;flex-direction:column}
.post-thumb{display:block;aspect-ratio:16/10;background:var(--teal-light)}
.post-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.post-body{padding:12px 13px 14px;display:flex;flex-direction:column;gap:6px}
.post-body h3{font-size:13.5px;font-weight:800;line-height:1.35}
.post-body h3 a{color:var(--text)}
.post-body h3 a:hover{color:var(--teal)}
.post-body p{font-size:12px;color:var(--muted);line-height:1.5}
.svc-icon img{width:26px;height:26px;object-fit:contain}
.main-svc-box .sec-label .svc-icon img{width:44.8px;height:44.8px;object-fit:contain}
.team-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.main-slider .slide{background-color:var(--teal-dark)}

/* ==== trang danh sách tin /tin-tuc (FR-02, batch 10 13/09) ==== */
.news-filter{display:flex;align-items:center;gap:10px;margin:14px 0 4px;flex-wrap:wrap}
.news-filter-label{font-size:12.5px;font-weight:700;color:var(--muted)}
.news-filter select{padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:13px;color:var(--text);min-width:200px}
.news-filter select:focus{outline:2px solid var(--teal);outline-offset:1px}
.news-count{font-size:12px;color:var(--muted);margin:6px 0 0}
.news-empty{font-size:13.5px;color:var(--muted);padding:26px 0;text-align:center}
.pager{display:flex;gap:6px;justify-content:center;align-items:center;margin-top:22px;flex-wrap:wrap}
.pager-link,.pager-current{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 10px;border-radius:10px;border:1px solid var(--line);background:#fff;font-size:13px;font-weight:700;color:var(--teal-dark);text-decoration:none;transition:.18s}
.pager-link:hover{border-color:var(--teal);background:var(--teal-pale)}
.pager-current{background:var(--teal);border-color:var(--teal);color:#fff}

/* ==== banner news_top đầu /tin-tuc (FR-31, 14/09) ==== */
.news-top-banner{display:block;margin:14px 0 0}
.news-top-banner figure{position:relative;margin:0;border-radius:16px;overflow:hidden;background:var(--teal-dark) center/cover no-repeat;min-height:180px;display:flex;align-items:center}
.news-top-banner .ntb-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,70,68,.72),rgba(16,70,68,.15))}
.news-top-banner figcaption{position:relative;padding:26px 30px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.news-top-banner h2{font-size:21px;font-weight:800;color:#fff;line-height:1.3}
.news-top-banner p{font-size:13px;color:rgba(255,255,255,.88);line-height:1.5}
.pager-gap{font-size:13px;color:var(--muted);padding:0 4px}
@media(max-width:1024px){
  .post-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
  .post-grid{grid-template-columns:1fr}
  .slide-copy h2{font-size:24px}
}

/* ==== trang chi tiết bài viết /tin-tuc/{slug} (FR-03, batch 11 13/09) ==== */
.breadcrumb{font-size:12.5px;color:var(--muted);margin:6px 0 14px}
.breadcrumb a{color:var(--muted)}
.breadcrumb a:hover{color:var(--teal)}
.article{max-width:860px;margin:0 auto}
.article-head h1{font-size:30px;line-height:1.22;color:var(--teal);font-weight:800;letter-spacing:-.01em;text-align:left}
.article-lede{font-size:16px;color:var(--ink);margin-top:10px}
.article-meta{font-size:13px;font-weight:600;color:var(--muted);margin-top:12px}
.article-banner{margin:18px 0}
.article-banner img{width:100%;aspect-ratio:16/8;object-fit:cover;border-radius:16px;display:block}
.article-banner figcaption{font-size:12px;color:var(--muted);margin-top:6px;text-align:center}
.article-body{font-size:15.5px;line-height:1.75;color:var(--ink)}
.article-body h2{font-size:20px;text-align:left;color:var(--teal);margin:22px 0 8px}
.article-body h3{font-size:17px;text-align:left;color:var(--teal);margin:18px 0 8px}
.article-body p{margin:0 0 12px}
.article-body img{max-width:100%;height:auto;border-radius:12px;margin:8px 0}
.article-body ul,.article-body ol{margin:0 0 12px 22px}
.article-body blockquote{border-left:3px solid var(--teal);background:var(--teal-pale);padding:10px 16px;margin:14px 0;border-radius:0 10px 10px 0;color:var(--teal-dark)}
.article-tags{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 6px}
.tag-chip{display:inline-block;padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:12.5px;font-weight:600;color:var(--teal)}
.tag-chip:hover{background:var(--teal-pale)}
.share-row{display:flex;align-items:center;gap:10px;margin:16px 0 4px;font-size:13px;font-weight:700;color:var(--muted)}
.share-btn{padding:7px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:12.5px;font-weight:700;color:var(--teal)}
.share-btn:hover{border-color:var(--teal);background:var(--teal-pale)}
.related .post-grid{grid-template-columns:repeat(4,1fr)}
@media(max-width:860px){
  .article-head h1{font-size:24px}
  .related .post-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
  .related .post-grid{grid-template-columns:1fr}
}

/* FR-05: trang danh mục — mô tả đầu trang (§3.2), pager/card dùng lại khuôn FR-02 */
.cat-desc{max-width:720px;margin:-4px 0 14px;color:var(--muted);font-size:14.5px;line-height:1.6}

/* FR-07: trang tìm kiếm /tim-kiem?q= (batch 15) */
.search-box{max-width:640px;margin:14px 0 20px}
.search-form{display:flex;gap:8px}
.search-input{flex:1;padding:10px 16px;border:1px solid var(--line);border-radius:999px;font-size:14px;color:var(--text);background:#fff}
.search-input:focus{outline:2px solid var(--teal);outline-offset:1px}

/* FR-08: trang danh sách dịch vụ /dich-vu (batch 16) */
.services-page-grid{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:18px}
@media(max-width:860px){
  .services-page-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
  .services-page-grid{grid-template-columns:1fr}
}

/* FR-09: trang đội ngũ /doi-ngu (batch 17) */
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:18px}
.team-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px 18px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;transition:.18s box-shadow}
.team-card:hover{box-shadow:var(--shadow2)}
.team-avatar{width:80px;height:80px;border-radius:50%;overflow:hidden;background:var(--teal-pale);border:2px solid var(--line);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.team-avatar img{width:80px;height:80px;object-fit:cover}
.team-avatar-placeholder{font-size:28px;font-weight:800;color:var(--teal);line-height:1}
.team-info{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%}
.team-name{font-size:16px;font-weight:700;color:var(--teal)}
.team-pos{font-size:13px;color:var(--muted);font-weight:600}
.team-bio{font-size:13.5px;color:var(--text);line-height:1.6;margin:2px 0}
.team-contact{display:flex;flex-direction:column;gap:4px;margin-top:4px}
.team-contact-link{font-size:12.5px;color:var(--teal);font-weight:600}
.team-contact-link:hover{text-decoration:underline}
@media(max-width:860px){
  .team-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
  .team-grid{grid-template-columns:1fr}
}



/* UI overhaul — process / pricing / contact (batch UI 2026-09-16) */
.process-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-top:14px}
.process-step{background:#fff;border:1px solid var(--line2);border-radius:14px;padding:14px 10px;text-align:center}
.process-num{width:32px;height:32px;display:grid;place-items:center;margin:0 auto 8px;background:var(--teal);color:#fff;border-radius:50%;font-weight:800;font-size:13px}
.process-step h4{font-size:13px;font-weight:800;line-height:1.3;color:var(--teal)}
.process-step p{font-size:11.5px;color:var(--muted);margin-top:6px;line-height:1.5}
.sec-subtitle{font-size:13px;color:var(--muted);text-align:center;margin-top:6px}
@media(max-width:1024px){.process-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.process-grid{grid-template-columns:1fr}}

.pricing-filter{margin:14px 0 8px}
.pricing-filter-row{display:flex;gap:10px;align-items:end;flex-wrap:wrap}
.pricing-filter-field{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted);min-width:180px}
.pricing-filter-field span{font-weight:700;color:var(--teal);font-size:11px;letter-spacing:.04em;text-transform:uppercase}
.pricing-filter-q{flex:1;min-width:220px}
.pricing-table th{font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--teal);background:var(--teal-pale)}
.pricing-table td{font-size:13px}
.pricing-name{font-weight:700}
.pricing-price{font-weight:800;color:var(--teal);white-space:nowrap}
.pricing-contact{color:var(--muted);font-weight:600}
.pricing-group-row td{background:var(--beige);font-weight:800;color:var(--teal);font-size:12.5px;letter-spacing:.03em}
.table-wrap{overflow:auto}

/* Public pricing page — table search + pagination */
.pricing-hero{min-height:220px}
.pricing-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:34px;align-items:start}
.pricing-title{font-size:20px;text-align:left;color:var(--text);font-weight:800;letter-spacing:0;margin-bottom:12px}
.pricing-note-lead{max-width:780px;font-size:13px;color:var(--muted);line-height:1.7;margin-bottom:14px}
.pricing-search{display:grid;grid-template-columns:minmax(220px,1fr) 210px auto auto;gap:10px;margin:12px 0 8px}
.pricing-search .btn{border-radius:8px;height:40px}
.pricing-search-input,.pricing-search-select{height:40px;border-radius:8px}
.pricing-card{background:var(--white);border:1px solid var(--line2);border-radius:8px;box-shadow:var(--shadow);overflow:hidden;margin-top:14px}
.pricing-table-public{width:100%;min-width:680px;border-collapse:collapse}
.pricing-table-public th{height:42px;background:var(--teal-pale);color:var(--teal);border-bottom:1px solid var(--line2);text-align:left}
.pricing-table-public.pricing-table-home th{background:#f6fecf;color:var(--text)}
.pricing-table-public td{border-bottom:1px solid var(--line2);vertical-align:top}
.pricing-table-public tbody tr:nth-child(even){background:#f3faf9}
.pricing-table-public tbody tr:hover{background:var(--beige-2)}
.pricing-index{width:58px;text-align:center;color:var(--muted);font-weight:700}
.pricing-table-public .pricing-name{min-width:330px}
.pricing-table-public .pricing-name strong{display:block;font-size:13px;color:var(--text);line-height:1.4}
.pricing-table-public .pricing-name span{display:block;font-size:11.5px;color:var(--teal);font-weight:700;margin-top:3px}
.pricing-table-public .pricing-name small{display:block;font-size:11.5px;color:var(--muted);font-weight:500;line-height:1.45;margin-top:3px}
.pricing-table-public .pricing-price,.pricing-insurance{width:150px;text-align:left;font-weight:800;color:var(--teal);white-space:nowrap}
.pricing-table-public .pricing-contact{color:var(--muted)}
.pricing-insurance{color:var(--muted)}
.pricing-card .pager{padding:0 14px 18px}
.pricing-side-card{position:sticky;top:82px;min-height:270px;border-radius:8px;padding:26px 24px;background:linear-gradient(135deg,rgba(14,74,71,.96),rgba(17,94,89,.82)),url("https://images.unsplash.com/photo-1584515933487-779824d29309?w=700&q=80") center/cover;color:var(--white);box-shadow:var(--shadow2);overflow:hidden}
.pricing-hotline-icon{width:46px;height:46px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.35);border-radius:50%;font-size:21px;margin-bottom:14px}
.pricing-side-card span{display:block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.82}
.pricing-side-card strong{display:block;font-size:25px;letter-spacing:.06em;line-height:1.25;margin-top:4px}
.pricing-side-card p{font-size:13px;line-height:1.65;margin:16px 0 18px;color:rgba(255,255,255,.88)}
.pricing-side-card .btn{border-radius:8px;background:var(--white);color:var(--teal);width:100%}
@media(max-width:1024px){
  .pricing-layout{grid-template-columns:1fr}
  .pricing-side-card{position:static;min-height:auto}
}
@media(max-width:760px){
  .pricing-search{grid-template-columns:1fr}
  .pricing-search .btn{width:100%}
}

.cta-bottom .cta-phone small{display:block;font-size:11px;opacity:.9}
/* ==========================================================================
   KHỐI 2 DỊCH VỤ CHÍNH TRANG CHỦ (HARDCODE)
   ========================================================================== */
.static-main-services {
    background-color: #f7fafa;
    padding: 60px 0;
}
.main-svc-box {
    margin-bottom: 50px;
}
.main-svc-box:last-child {
    margin-bottom: 0;
}
.main-svc-box .sec-head {
    text-align: center;
    margin-bottom: 40px;
}
.main-svc-box .sec-label {
    color: #00665c;
    font-size: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-bottom: 10px;
}
.main-svc-box .sec-subtitle {
    color: #555;
    margin: 0;
}
.ms-content-wrap {
    display: flex;
    background: #fff;
    border-radius: 12px;
    border: 1px solid #e0eae8;
    box-shadow: 0 4px 15px rgba(0,0,0,0.03);
    overflow: hidden;
}
.ms-image {
    flex: 0 0 35%;
}
.ms-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.ms-details {
    flex: 1;
    padding: 40px;
}
.ms-details h3 {
    color: #00665c;
    margin-top: 0;
    margin-bottom: 15px;
    font-size: 24px;
}
.ms-details p {
    color: #555;
    line-height: 1.6;
    margin-bottom: 20px;
}
.ms-features {
    list-style: none;
    padding: 0;
    margin: 0 0 30px 0;
    color: #333;
}
.ms-features li {
    margin-bottom: 12px;
    display: flex;
    align-items: center;
}
.ms-check {
    margin-right: 8px;
    flex-shrink: 0;
}
.ms-highlight {
    flex: 0 0 20%;
    background-color: #f0f7f6;
    padding: 40px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    border-left: 1px solid #e0eae8;
}
.ms-highlight .hl-icon {
    color: #00665c;
    margin-bottom: 15px;
}
.ms-highlight p {
    color: #333;
    line-height: 1.5;
    margin: 0;
}
.ms-highlight strong {
    color: #00665c;
    display: block;
    font-size: 1.1em;
}

@media (max-width: 991px) {
    .ms-content-wrap {
        flex-direction: column;
    }
    .ms-image {
        height: 250px;
    }
    .ms-highlight {
        border-left: none;
        border-top: 1px solid #e0eae8;
    }
}

/* =========================================
   CONTACT BUBBLES — nổi góc phải dưới
   Theo mẫu ảnh: Messenger (xanh dương) + Zalo (xanh dương đậm) + Hotline (xanh lá)
   ========================================= */
.contact-bubbles{position:fixed;bottom:24px;right:24px;z-index:100;display:flex;flex-direction:column;align-items:flex-end;gap:14px}

.bubble{display:flex;align-items:center;gap:0;border-radius:999px;text-decoration:none;cursor:pointer;transition:all .25s ease;box-shadow:0 4px 16px rgba(0,0,0,.18)}
.bubble-icon{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .25s ease}
.bubble-label{max-width:0;overflow:hidden;white-space:nowrap;font-size:14px;font-weight:600;transition:max-width .35s ease,padding .35s ease,opacity .25s ease;opacity:0;padding:0}
.bubble:hover .bubble-label{max-width:200px;padding:0 18px 0 0;opacity:1}
.bubble:hover .bubble-icon{transform:scale(1.1)}

/* Messenger — gradient xanh */
.bubble-messenger{background:linear-gradient(135deg,#00c6ff,#0078ff)}
.bubble-messenger .bubble-icon{background:linear-gradient(135deg,#00c6ff,#0078ff);color:#fff}
.bubble-messenger .bubble-label{color:#fff}

/* Zalo — xanh dương Zalo */
.bubble-zalo{background:#0068FF}
.bubble-zalo .bubble-icon{background:#0068FF;color:#fff}
.bubble-zalo .bubble-label{color:#fff}

/* Hotline — xanh teal đậm */
.bubble-hotline{background:var(--teal)}
.bubble-hotline .bubble-icon{background:var(--teal);color:#fff}
.bubble-hotline .bubble-label{color:#fff}

/* Ring animation cho hotline */
.bubble-hotline::before{content:'';position:absolute;right:0;bottom:0;width:52px;height:52px;border-radius:50%;background:var(--teal);opacity:.3;animation:bubble-ring 2s infinite ease-out;pointer-events:none}
@keyframes bubble-ring{0%{transform:scale(1);opacity:.35}100%{transform:scale(1.7);opacity:0}}
.bubble-hotline{position:relative}

/* Mobile: label luôn ẩn, chỉ hiện icon tròn */
@media(max-width:768px){
  .contact-bubbles{bottom:16px;right:16px;gap:10px}
  .bubble-icon{width:46px;height:46px}
  .bubble:hover .bubble-label{max-width:0;padding:0;opacity:0}
  .bubble-hotline::before{width:46px;height:46px}
}


/* Pricing Grid Cards */
.pricing-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px; margin-top: 24px; }
.pricing-grid-card { display: flex; flex-direction: column; justify-content: space-between; background: var(--white); border: 1px solid var(--line2); border-radius: 8px; box-shadow: var(--shadow); padding: 16px; text-decoration: none; color: var(--text); transition: transform 0.2s, box-shadow 0.2s; }
.pricing-grid-card:hover { transform: translateY(-2px); box-shadow: var(--shadow2); }
.pricing-grid-hd { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 16px; }
.pricing-num { display: grid; place-items: center; width: 28px; height: 28px; background: var(--teal-pale); color: var(--teal); border-radius: 50%; font-size: 13px; font-weight: 700; flex-shrink: 0; }
.pricing-name { font-size: 15px; font-weight: 600; line-height: 1.4; color: var(--text); }
.pricing-grid-bd { border-top: 1px dashed var(--line); padding-top: 12px; margin-top: auto; }
.pricing-amount { font-size: 17px; font-weight: 800; color: var(--teal); }
.review-section { background: #faf7f2; }
.review-summary { display: grid; grid-template-columns: 180px 1fr; gap: 36px; align-items: center; padding: 32px 40px; background: #fff; border: 1px solid #e5ddd1; border-radius: 16px; }
.review-score strong { font-size: 56px; line-height: 1; color: #161616; }
.review-score > span { margin-left: 5px; color: #596273; font-size: 22px; font-weight: 700; }
.review-score p { margin: 4px 0 0; color: #5f6672; }
.review-stars { position: relative; width: max-content; color: #ddd4c8; font-size: 23px; letter-spacing: 2px; margin-top: 8px; line-height: 1; }
.review-stars i { position: absolute; inset: 0 auto 0 0; overflow: hidden; color: #f5a316; font-style: normal; white-space: nowrap; }
.review-bars { display: grid; gap: 10px; }
.review-bar-row { display: grid; grid-template-columns: 42px minmax(120px, 1fr) 58px; align-items: center; gap: 12px; color: #596273; font-size: 14px; }
.review-star-label { color: #f5a316; white-space: nowrap; }
.review-bar { height: 10px; overflow: hidden; border-radius: 999px; background: #e9e1d5; }
.review-bar i { display: block; height: 100%; border-radius: inherit; background: #f5a316; }
.review-bar-row strong { text-align: right; font-weight: 600; }
.review-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 28px; align-items: start; }
.review-shot { margin: 0; overflow: hidden; border: 1px solid #e5ddd1; border-radius: 14px; background: #fff; box-shadow: 0 8px 24px rgba(46, 35, 20, .06); }
.review-shot img { display: block; width: 100%; height: auto; }
@media (max-width: 760px) { .review-summary { grid-template-columns: 1fr; padding: 24px; gap: 20px; } .review-gallery { grid-template-columns: 1fr; } }

/* Responsive polish 28/09/2026 — toàn bộ giao diện công khai */
.pricing-layout > main,.pricing-layout > aside,.slider-track > *{min-width:0}
.table-wrap{max-width:100%;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
.article-body{overflow-wrap:anywhere}
.article-body iframe,.article-body video{display:block;max-width:100%;margin-inline:auto}

@media(max-width:1100px){
  :root{--header-h:71px}
  .nav,.header-actions .hotline{display:none}
  .hamburger{display:grid}
  .header-inner{gap:12px}
  .header-actions{margin-left:auto}
  .logo{min-width:0}
}

@media(max-width:768px){
  .container{width:min(100% - 32px,1160px)}
  .header-inner{min-height:70px;padding:8px 0}
  .logo-mark{width:50px;height:46px}
  .logo small{font-size:7.5px;letter-spacing:.08em}
  .logo b{font-size:14px}
  .header-actions{display:none}
  .hamburger{margin-left:auto}
  .mobile-menu{inset:70px 0 auto}
  .mobile-menu-actions .btn{flex:1;padding-inline:12px}

  .section{padding:28px 0}
  .section h2{font-size:18px;line-height:1.35}
  .sec-label{gap:8px;font-size:12.5px;line-height:1.4;text-align:center}
  .sec-label::before,.sec-label::after{max-width:54px}
  .sec-subtitle{font-size:12.5px;line-height:1.6}

  .slide-overlay{background:linear-gradient(0deg,rgba(7,45,43,.9) 0%,rgba(7,45,43,.58) 55%,rgba(7,45,43,.18) 100%)}
  .slide{align-items:flex-end}
  .slide-inner{width:100%;padding:34px 0 54px}
  .slide-copy{max-width:100%}
  .slide-badge{font-size:10px;line-height:1.35}
  .slide-copy p{max-width:32rem;font-size:13px;line-height:1.65}
  .slider-dots{bottom:18px}

  .page-banner{min-height:150px;padding:28px 0 20px}
  .page-banner h1{font-size:26px}
  .breadcrumb{margin-bottom:0;font-size:11.5px;overflow-wrap:anywhere}

  .post-grid,.services-grid,.services-page-grid,.team-grid{gap:14px}
  .post-card,.service-card,.team-card{border-radius:14px}
  .service-card{padding:18px 14px}
  .service-card h4{font-size:13.5px}
  .service-card p{font-size:12px}
  .team-card{padding:20px 16px}

  .static-main-services{padding:34px 0}
  .main-svc-box{margin-bottom:30px}
  .main-svc-box .sec-head{margin-bottom:18px}
  .main-svc-box .sec-label{font-size:21px}
  .ms-content-wrap{border-radius:16px}
  .ms-image{height:220px}
  .ms-details{padding:22px 18px}
  .ms-details h3{font-size:20px}
  .ms-details p,.ms-features{font-size:13px}
  .ms-highlight{padding:22px 18px}

  .cta-bottom{padding:20px 16px;gap:18px}
  .cta-actions{display:grid;grid-template-columns:1fr;justify-content:stretch}
  .cta-actions .btn{width:100%}
  .map-card{height:220px!important}

  .about-layout,.contact-layout{padding:24px 0;gap:22px}
  .about-features{gap:8px}
  .why-grid{grid-template-columns:1fr}
  .contact-intro{font-size:12.5px}

  .news-filter{align-items:stretch}
  .news-filter-label{width:100%}
  .news-filter select{width:100%;min-width:0;flex:1}
  .news-filter .btn{flex:0 0 auto}
  .news-top-banner figure{min-height:200px}
  .news-top-banner figcaption{padding:24px 20px}
  .news-top-banner h2{font-size:18px}

  .search-form{flex-direction:column}
  .search-form .btn{width:100%}
  .article-head h1{font-size:25px;overflow-wrap:anywhere}
  .article-lede{font-size:14.5px}
  .article-body{font-size:15px;line-height:1.72}
  .article-banner img{aspect-ratio:16/10}
  .share-row{flex-wrap:wrap}

  .pricing-layout{gap:22px}
  .pricing-title{font-size:18px;line-height:1.4}
  .pricing-search{width:100%}
  .pricing-search > *{min-width:0;width:100%}
  .pricing-side-card{padding:22px 20px;border-radius:14px}

  .review-section{padding-block:32px}
  .review-summary{padding:22px 18px;border-radius:14px}
  .review-score{text-align:center}
  .review-stars{margin-inline:auto}
  .review-bar-row{grid-template-columns:38px minmax(0,1fr) 48px;gap:8px;font-size:12.5px}
  .review-gallery{gap:14px;margin-top:18px}

  .footer{padding-top:32px}
  .footer-grid{gap:26px}
  .footer p,.footer a{font-size:12px}
  .contact-bubbles{right:12px;bottom:12px}
  .bubble-icon{width:44px;height:44px}
  .bubble-hotline::before{width:44px;height:44px}
}

@media(max-width:640px){
  .pricing-card{overflow:visible;background:transparent;border:0;box-shadow:none}
  .pricing-card .table-wrap{overflow:visible}
  .pricing-table-public{display:block;width:100%;min-width:0}
  .pricing-table-public thead{display:none}
  .pricing-table-public tbody{display:grid;gap:12px}
  .pricing-table-public tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:15px;background:#fff!important;border:1px solid var(--line2);border-radius:14px;box-shadow:0 4px 16px rgba(16,70,68,.05)}
  .pricing-table-public td{display:block;width:auto!important;min-width:0!important;padding:0!important;border:0!important}
  .pricing-table-public .pricing-index{grid-column:1/-1;text-align:left;font-size:11px;color:var(--muted)}
  .pricing-table-public .pricing-name{grid-column:1/-1}
  .pricing-table-public .pricing-name strong{font-size:14px}
  .pricing-table-public .pricing-unit,.pricing-table-public .pricing-price,.pricing-table-public .pricing-insurance,.pricing-table-public .pricing-note{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;font-size:12.5px;text-align:right;white-space:normal}
  .pricing-table-public .pricing-unit::before{content:'Đơn vị';color:var(--muted);font-weight:600;text-align:left}
  .pricing-table-public .pricing-price::before{content:'Giá dịch vụ';color:var(--muted);font-weight:600;text-align:left}
  .pricing-table-public .pricing-insurance::before{content:'Giá BHYT';color:var(--muted);font-weight:600;text-align:left}
  .pricing-table-public .pricing-note{grid-column:1/-1;text-align:left}
  .pricing-table-public .pricing-note::before{content:'Ghi chú';min-width:56px;color:var(--muted);font-weight:600;text-align:left}
  .pricing-table-home tr{grid-template-columns:1fr}
  .pricing-table-home .pricing-name,.pricing-table-home .pricing-unit,.pricing-table-home .pricing-price,.pricing-table-home .pricing-note{grid-column:1}
  .pricing-card .pager{padding:8px 0 0}
}

@media(max-width:480px){
  .container{width:min(100% - 24px,1160px)}
  .logo{gap:7px}
  .logo-mark{width:44px;height:42px}
  .logo small{max-width:170px;white-space:normal}
  .hamburger{width:40px;height:40px}
  .mobile-nav-links{grid-template-columns:1fr}
  .mobile-menu-actions{display:grid;grid-template-columns:1fr}
  .slide{min-height:500px}
  .slide-inner{padding-bottom:48px}
  .slide-copy h2{font-size:22px}
  .slider-arrow{display:none}
  .page-banner h1{font-size:23px}
  .section{padding:24px 0}
  .about-features{grid-template-columns:1fr 1fr}
  .finder-grid,.services-grid,.process-grid,.post-grid,.pricing-grid{grid-template-columns:1fr}
  .process-step{text-align:left;display:grid;grid-template-columns:40px 1fr;column-gap:10px}
  .process-num{grid-row:1/3;margin:0}
  .process-step h4,.process-step p{text-align:left}
  .review-score strong{font-size:48px}
  .pager-link,.pager-current{min-width:34px;height:34px;padding-inline:9px}
}
