/*
Theme Name: Thợ Sửa Điện Máy
Theme URI: https://thosuadienmay.com
Author: Thợ Sửa Điện Máy
Description: Giao diện dịch vụ sửa điện máy tại nhà, tối ưu chuyển đổi và SEO địa phương.
Version: 1.0.0
Text Domain: tsdm
*/

:root{--navy:#082b70;--blue:#075bea;--sky:#eaf4ff;--yellow:#ffc62f;--red:#f53b30;--green:#159a52;--ink:#10234a;--muted:#60708f;--line:#dbe7f6;--white:#fff;--radius:18px;--shadow:0 12px 32px rgba(7,48,116,.12);--container:1180px;--font-main:'Be Vietnam Pro','Inter',-apple-system,BlinkMacSystemFont,sans-serif}
*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:var(--font-main);background:#fff;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1,h2,h3,h4,h5,h6{font-family:var(--font-main)}img{max-width:100%;height:auto}a{color:var(--blue);text-decoration:none}button,input,select,textarea{font:inherit}.container{width:min(calc(100% - 32px),var(--container));margin-inline:auto}.screen-reader-text{position:absolute;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}.skip-link:focus{clip:auto;width:auto;height:auto;z-index:9999;background:#fff;padding:10px}
.site-header{position:sticky;top:0;z-index:100;background:linear-gradient(90deg,#073eab,#075bea);color:#fff;box-shadow:0 4px 18px rgba(4,33,92,.2)}.header-inner{min-height:72px;display:flex;align-items:center;gap:28px}.brand{flex-shrink:0;display:flex;align-items:center;gap:10px;color:#fff;font-weight:700;line-height:1.05}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border:3px solid var(--yellow);border-radius:12px;color:var(--yellow);font-size:21px}.brand small{display:block;color:#dceaff;font-size:10px;letter-spacing:.04em}.brand strong{color:var(--yellow);font-size:16px}.brand-tagline{display:block;color:#cfe0ff;font-size:10px;font-weight:600;font-style:normal;letter-spacing:.02em;margin-top:2px}.main-nav{margin-left:24px}.main-nav ul{display:flex;align-items:center;gap:22px;list-style:none;margin:0;padding:0}.main-nav a{color:#fff;font-weight:700;font-size:13.5px;white-space:nowrap}.main-nav a:hover,.main-nav .current-menu-item>a{color:var(--yellow)}.header-call{flex-shrink:0;display:flex;align-items:center;gap:10px;background:linear-gradient(180deg,#ff5a38,#e92822);color:#fff;padding:7px 18px 7px 7px;border:2px solid var(--yellow);border-radius:999px;line-height:1.15;box-shadow:0 6px 16px rgba(210,24,18,.3)}.header-call small{display:block;font-size:10px;font-weight:700;color:#ffe0d9}.header-call strong{font-size:16px;font-weight:700}.header-call-icon{display:grid;place-items:center;width:32px;height:32px;flex:none;border-radius:50%;background:rgba(255,255,255,.22);font-size:15px}.menu-toggle{display:none;background:none;border:0;color:#fff;font-size:26px}.header-hours{display:none;flex-shrink:1;min-width:0;align-items:center;gap:8px;margin-inline:auto;padding:8px 16px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.1);color:#eaf4ff;font-size:12.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-hours-icon{font-size:15px}@media(min-width:1300px){.header-hours{display:flex}}
.hero{overflow:hidden;background:radial-gradient(circle at 18% 45%,#fff 0,#fff9e9 35%,transparent 56%),linear-gradient(110deg,#fff8e6 0,#f8fbff 55%,#dbeeff 100%);border-bottom:1px solid #dceafb}.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;align-items:center;min-height:510px}.eyebrow{display:inline-flex;align-items:center;gap:8px;background:var(--yellow);color:#10234a;border-radius:999px;padding:6px 13px;font-size:13px;font-weight:700;text-transform:uppercase}.hero h1{margin:15px 0 12px;font-size:clamp(38px,5vw,66px);line-height:1.02;letter-spacing:-.04em;text-transform:uppercase}.hero h1 span{color:var(--blue)}.hero-sub{font-size:20px;font-weight:700;margin:0 0 18px}.hero-points{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 26px;padding:0;list-style:none}.hero-points li{display:inline-flex;align-items:center;background:#fff;padding:8px 16px 8px 8px;border-radius:999px;font-size:14px;font-weight:700;color:var(--navy);box-shadow:0 6px 16px rgba(7,48,116,.12)}.hero-points li:before{content:"✓";display:inline-grid;place-items:center;width:22px;height:22px;margin-right:8px;flex:none;background:var(--green);border-radius:50%;color:#fff;font-size:12px}.cta-row{display:flex;flex-wrap:wrap;gap:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:9px 22px;border-radius:999px;border:0;font-weight:700;cursor:pointer;transition:.2s transform,.2s box-shadow}.btn:hover{transform:translateY(-2px)}.btn-icon{display:grid;place-items:center;width:32px;height:32px;flex:none;border-radius:50%;background:rgba(255,255,255,.22);font-size:15px}.btn-primary{background:linear-gradient(180deg,#ff533c,#ed201b);color:#fff;box-shadow:0 10px 22px rgba(230,32,26,.3);text-align:left;line-height:1.15}.btn-primary small{display:block;font-size:11px;font-weight:700;opacity:.9}.btn-secondary{background:#fff;color:var(--blue);box-shadow:var(--shadow)}.btn-secondary .btn-icon{background:var(--sky);color:var(--blue)}.btn-blue{background:linear-gradient(180deg,#1485ff,#075bea);color:#fff}.hero-art{position:relative;align-self:end;height:475px}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center;border-radius:28px;box-shadow:var(--shadow)}.speed-pill{position:absolute;left:25px;bottom:4px;z-index:4;background:#fff;border:3px solid var(--yellow);padding:9px 18px;border-radius:999px;font-weight:700;color:var(--navy)}.trust-float{position:absolute;right:6px;top:38px;z-index:4;margin:0;padding:14px 18px;list-style:none;background:#fff;border-radius:16px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:9px}.trust-float li{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--navy);white-space:nowrap}.trust-float li:before{content:"✓";display:inline-grid;place-items:center;width:18px;height:18px;flex:none;background:var(--green);border-radius:50%;color:#fff;font-size:11px}@media(max-width:1180px){.trust-float{right:-4px}}@media(max-width:640px){.trust-float{position:static;margin-top:16px;box-shadow:none;background:transparent;padding:0}.trust-float li{background:#fff;padding:8px 12px;border-radius:999px;box-shadow:0 6px 14px rgba(7,48,116,.1)}}
.section{padding:68px 0}.section-soft{background:linear-gradient(180deg,#f8fbff,#eef6ff)}.section-title{text-align:center;margin:0 0 30px}.section-title .kicker{display:block;color:var(--blue);font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.section-title h2{font-size:clamp(27px,4vw,38px);line-height:1.15;margin:7px 0;color:var(--navy)}.section-title p{max-width:680px;margin:0 auto;color:var(--muted)}
.section-title h2 .title-accent{color:#ffc62f;text-shadow:0 2px 0 rgba(7,31,87,.16),0 8px 18px rgba(255,198,47,.18)}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service-card{display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 22px rgba(8,58,135,.09);transition:.2s}.service-card:hover{transform:translateY(-5px);box-shadow:0 16px 32px rgba(8,58,135,.16)}.service-thumb{aspect-ratio:16/10;display:grid;place-items:center;background:linear-gradient(145deg,#d8ecff,#f8fbff);font-size:58px;overflow:hidden}.service-thumb img{width:100%;height:100%;object-fit:cover}.service-body{padding:18px;display:flex;flex:1;flex-direction:column}.service-body h3{font-size:18px;line-height:1.3;margin:0 0 7px}.service-body h3 a{color:var(--navy)}.service-body p{margin:0 0 14px;color:var(--muted);font-size:14px}.service-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}.chip{background:#edf5ff;color:var(--blue);font-size:12px;font-weight:700;border-radius:999px;padding:5px 9px}.card-link{display:inline-flex;margin-top:14px;font-size:14px;font-weight:700}
.trust-grid{display:grid;grid-template-columns:repeat(6,1fr);background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.trust-item{text-align:center;padding:24px 15px}.trust-item+.trust-item{border-left:1px solid var(--line)}.trust-icon{display:grid;place-items:center;margin:0 auto 10px;width:54px;height:54px;border-radius:50%;background:#e7f3ff;color:var(--blue);font-size:27px}.trust-item strong{display:block;color:var(--navy)}.trust-item span{font-size:13px;color:var(--muted)}
.process-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.process-item{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px 18px;box-shadow:0 8px 18px rgba(8,58,135,.08)}.process-no{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--blue);color:#fff;font-weight:700;margin-bottom:14px}.process-item h3{margin:0 0 6px;font-size:17px}.process-item p{margin:0;color:var(--muted);font-size:14px}
.offer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px}.offer{min-height:220px;padding:27px;border-radius:22px;position:relative;overflow:hidden;color:#fff;background:linear-gradient(120deg,#0644bd,#1394ff);box-shadow:var(--shadow)}.offer:nth-child(2){background:linear-gradient(120deg,#fff,#eaf4ff);color:var(--ink)}.offer:nth-child(3){background:linear-gradient(120deg,#fff5dd,#ffd581);color:var(--ink)}.offer h3{font-size:24px;line-height:1.2;margin:0 0 8px}.offer-price{font-size:28px;color:var(--yellow);font-weight:700}.offer:nth-child(n+2) .offer-price{color:var(--red)}.offer ul{padding-left:18px;font-size:14px}
.review-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.review{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:0 8px 18px rgba(8,58,135,.07)}.stars{color:#ffad00;letter-spacing:2px}.review blockquote{margin:10px 0;font-size:14px}.review cite{font-style:normal;font-weight:700;color:var(--navy);font-size:13px}
.faq-list{max-width:860px;margin:auto}.faq-item{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:10px;overflow:hidden}.faq-question{width:100%;display:flex;justify-content:space-between;text-align:left;background:none;border:0;padding:17px 20px;font-weight:700;color:var(--navy);cursor:pointer}.faq-answer{display:none;padding:0 20px 18px;color:var(--muted)}.faq-item.is-open .faq-answer{display:block}
.coverage{background:linear-gradient(90deg,#075bea,#063b9d);color:#fff;border-radius:20px;padding:26px 30px;display:flex;align-items:center;justify-content:space-between;gap:24px}.coverage h2{margin:0;font-size:25px}.coverage p{margin:4px 0 0;color:#dfeaff}
.site-footer h3{color:#fff;font-size:16px}.site-footer ul{list-style:none;padding:0;margin:0}.site-footer li{margin:8px 0}.site-footer a{color:#d8e7ff}.site-footer a:hover{color:var(--yellow)}.footer-bottom{border-top:1px solid rgba(255,255,255,.14);margin-top:35px;padding-top:18px;text-align:center;font-size:13px}
.floating-contact{position:fixed;right:18px;bottom:18px;z-index:80;display:flex;flex-direction:column;gap:10px}.float-btn{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;color:#fff;background:var(--blue);box-shadow:0 8px 20px rgba(0,0,0,.2);font-weight:700}.float-btn.call{background:var(--red)}
.page-hero{background:linear-gradient(120deg,#eaf4ff,#fff7dc);padding:48px 0}.page-hero h1{margin:6px 0;font-size:clamp(31px,5vw,48px);color:var(--navy)}.breadcrumb{font-size:13px;color:var(--muted)}.breadcrumb a{color:var(--blue)}.archive-layout{display:grid;grid-template-columns:260px 1fr;gap:28px}.filters{border:1px solid var(--line);border-radius:16px;padding:18px;background:#fff;height:max-content;position:sticky;top:92px}.filters label{display:block;font-size:13px;font-weight:700;margin:12px 0 5px}.filters select,.search-field,.form-control{width:100%;min-height:44px;border:1px solid #cddbec;border-radius:10px;padding:9px 12px;background:#fff}.filter-actions{display:flex;gap:8px;margin-top:16px}.filter-actions .btn{min-height:42px;padding:8px 13px}.results-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.load-more-wrap{text-align:center;margin-top:28px}.empty-state{text-align:center;padding:50px 20px;border:1px dashed #aac2e2;border-radius:18px;background:#f8fbff}.seo-block{margin-top:48px;padding:30px;background:#f4f8fd;border-radius:20px}.seo-block h2{color:var(--navy)}
.content-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:36px}.article{min-width:0}.article h1{font-size:clamp(32px,5vw,50px);line-height:1.12;color:var(--navy)}.article-meta{display:flex;gap:13px;flex-wrap:wrap;color:var(--muted);font-size:14px}.article-featured{margin:22px 0;border-radius:20px;overflow:hidden}.article-content{font-size:17px}.article-content h2,.article-content h3{color:var(--navy);font-weight:500;letter-spacing:-.01em;scroll-margin-top:95px}.article-content h2{margin-top:36px;font-size:clamp(21px,2.4vw,26px);line-height:1.3}.article-content h3{font-size:19px;line-height:1.35}.article-content img{border-radius:14px}.toc{position:relative;overflow:hidden;border:1px solid #cfe3ff;border-radius:20px;margin:22px 0;background:linear-gradient(135deg,#fff,#f4faff);box-shadow:0 10px 26px rgba(7,60,145,.08)}.toc-toggle{display:flex;align-items:center;gap:12px;width:100%;border:0;background:none;padding:16px 20px;color:var(--blue);font-weight:800;font-size:13px;letter-spacing:.06em;text-transform:uppercase;text-align:left;cursor:pointer}.toc-toggle:before{content:"☰";flex:none;color:var(--blue);font-size:15px}.toc-toggle span{margin-left:auto;display:grid;place-items:center;width:30px;height:30px;flex:none;border-radius:50%;background:var(--sky);color:var(--blue);font-size:17px;font-weight:900;line-height:1;transition:.2s transform,.2s background,.2s color}.toc.is-open .toc-toggle span{background:var(--blue);color:#fff}.toc-list{display:none;margin:0;padding:2px 20px 18px 52px;color:var(--muted)}.toc.is-open .toc-list{display:block}.toc-list li{margin:8px 0}.toc-list a{color:var(--ink);font-weight:600;font-size:14px}.toc-list a:hover{color:var(--blue)}.sidebar-card,.author-box{border:1px solid var(--line);border-radius:18px;padding:22px;background:#fff;box-shadow:0 8px 20px rgba(8,58,135,.07)}.sidebar-card{position:sticky;top:92px}.author-box{display:flex;gap:18px;margin:32px 0}.author-avatar{width:78px;height:78px;flex:0 0 78px;border-radius:50%;object-fit:cover;background:#eaf4ff}.author-box h3{margin:0}.comments-area{margin-top:40px}.comment-list{list-style:none;padding:0}.comment-body{padding:17px;border-bottom:1px solid var(--line)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-group.full{grid-column:1/-1}.form-group label{display:block;font-weight:700;font-size:13px;margin-bottom:5px}textarea.form-control{min-height:130px}.notice{padding:12px 14px;border-radius:10px;background:#eaf8ee;color:#146832}.notice.error{background:#fff0ef;color:#a71f18}
/* Bài viết kiến thức: bảng so sánh, danh sách nhấn mạnh, FAQ trong nội dung */
.article-content table{width:100%;border-collapse:collapse;margin:0;font-size:15px}
.article-content thead th{background:var(--navy);color:#fff;text-align:left;padding:12px 14px;font-weight:700;white-space:nowrap}
.article-content td,.article-content th{padding:12px 14px;border-bottom:1px solid var(--line)}
.article-content tbody tr:nth-child(even){background:#f8fbff}
.article-content .prose-table{overflow-x:auto;border:1px solid var(--line);border-radius:14px;margin:18px 0 26px}
.article-content ul,.article-content ol{display:grid;gap:10px;margin:14px 0 26px;padding:18px 20px 18px 40px;border:1px solid var(--line);border-radius:14px;background:#f8fbff}
.article-content li{color:var(--ink);line-height:1.7}
.article-content li strong{color:var(--navy)}
.article-content li::marker{color:var(--blue);font-weight:700}
.article-content .faq-list{margin:18px 0 0;max-width:none}
@media(max-width:600px){.article-content table{font-size:14px}.article-content td,.article-content th{padding:10px 11px}.article-content ul,.article-content ol{padding:15px 15px 15px 32px}}
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.post-card{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}.post-card-thumb{aspect-ratio:16/9;background:#eaf4ff;display:grid;place-items:center;font-size:40px}.post-card-body{padding:18px}.post-card h3{font-size:18px;line-height:1.3;margin:6px 0}.post-card h3 a{color:var(--navy)}.post-card p{font-size:14px;color:var(--muted)}.not-found{text-align:center;padding:80px 0}.not-found .code{font-size:110px;line-height:1;font-weight:700;color:#cfe2fa}
.service-category-hero{overflow:hidden;background:linear-gradient(125deg,var(--service-soft),#fff 65%);border-bottom:1px solid color-mix(in srgb,var(--service-accent) 18%,#fff);padding:58px 0}.service-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:55px}.service-category-hero h1{font-size:clamp(40px,6vw,66px);line-height:1.04;letter-spacing:-.04em;color:var(--navy);margin:12px 0}.service-kicker{display:inline-block;color:var(--service-accent);font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.service-lead{max-width:720px;font-size:19px;color:#3c4f73}.service-facts{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 25px}.service-facts span{padding:8px 12px;border-radius:999px;background:#fff;border:1px solid color-mix(in srgb,var(--service-accent) 22%,#dbe7f6);font-size:13px;font-weight:700}.service-device{min-height:330px;border-radius:36px;background:radial-gradient(circle at 50% 35%,#fff,var(--service-soft));border:2px solid color-mix(in srgb,var(--service-accent) 22%,#fff);box-shadow:0 24px 60px color-mix(in srgb,var(--service-accent) 18%,transparent);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative}.service-device:before,.service-device:after{content:"";position:absolute;border:1px solid color-mix(in srgb,var(--service-accent) 20%,transparent);border-radius:50%;inset:28px}.service-device:after{inset:58px}.device-icon{font-size:100px;line-height:1;filter:drop-shadow(0 15px 22px rgba(9,46,100,.18));z-index:1}.service-device strong,.service-device small{z-index:1}.service-device strong{font-size:22px;color:var(--navy);margin-top:15px}.service-device small{color:var(--muted)}
.service-diagnostic{background:#fff}.cycle-track,.cook-timeline,.flow-track{display:grid;grid-template-columns:repeat(4,1fr);gap:0;max-width:1000px;margin:auto}.cycle-track>div,.cook-timeline>div,.flow-track>div{position:relative;text-align:center;padding:18px}.cycle-track>div:not(:last-child):after,.cook-timeline>div:not(:last-child):after,.flow-track>div:not(:last-child):after{content:"";position:absolute;right:-28%;top:36px;width:56%;border-top:3px dotted var(--service-accent)}.cycle-track span,.cook-timeline span{display:grid;place-items:center;width:46px;height:46px;margin:0 auto 10px;border-radius:50%;background:var(--service-accent);color:#fff;font-weight:700}.cycle-track strong,.cook-timeline strong,.flow-track strong{display:block;color:var(--navy)}
.cold-map{display:grid;grid-template-columns:1.3fr .45fr 1.3fr .8fr;max-width:1000px;min-height:230px;margin:auto;border:8px solid #b9d7e8;border-radius:26px;overflow:hidden;background:#effbff}.cold-map>div{display:flex;flex-direction:column;align-items:center;justify-content:center;border-right:2px solid #c4dfec}.cold-map>div:last-child{border:0;background:#edf1f3}.cold-map span{font-size:30px;font-weight:700;color:var(--service-accent)}.cold-map strong{color:var(--navy)}.cold-air{background:linear-gradient(180deg,#d9f6ff,#fff)}
.comfort-panel{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.comfort-panel>div{min-height:180px;display:flex;flex-direction:column;justify-content:center;align-items:center;border-radius:28px;background:radial-gradient(circle,#fff,var(--service-soft));border:1px solid color-mix(in srgb,var(--service-accent) 25%,#fff)}.comfort-panel strong{font-size:44px;color:var(--service-accent)}.comfort-panel span{font-weight:700;color:var(--navy)}
.before-after{display:grid;grid-template-columns:1fr 1fr;gap:22px}.before-after>div{padding:26px;border-radius:24px;background:#f3f5f6;border:1px solid var(--line)}.before-after>div:last-child{background:var(--service-soft);border-color:color-mix(in srgb,var(--service-accent) 25%,#fff)}.before-after span{font-size:12px;font-weight:700;color:var(--service-accent)}.before-after strong{display:block;font-size:20px;margin:5px 0 18px}.dirty-coil,.clean-coil{height:90px;border-radius:12px;background:repeating-linear-gradient(90deg,#79808b 0 5px,#9c8c69 5px 10px);filter:saturate(.5)}.clean-coil{background:repeating-linear-gradient(90deg,#57bdec 0 5px,#d8f5ff 5px 10px);filter:none}
.tv-diagnostic{max-width:850px;margin:auto}.tv-screen{height:330px;border:18px solid #15223d;border-bottom-width:28px;border-radius:24px;background:linear-gradient(135deg,#171d55,#6b56e7,#1bb6dc);display:flex;align-items:center;justify-content:center;position:relative;color:#fff;font-weight:700;font-size:30px;overflow:hidden}.tv-screen i{position:absolute;width:160%;height:1px;background:rgba(255,255,255,.28);transform:rotate(-18deg)}.tv-screen i:nth-child(2){transform:rotate(18deg)}.tv-screen i:nth-child(3){height:80px;width:80px;border:1px solid rgba(255,255,255,.5);border-radius:50%;background:none}.tv-controls{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px}.tv-controls span{text-align:center;padding:10px;background:var(--service-soft);border-radius:8px;color:var(--service-accent);font-size:12px;font-weight:700}
.safety-panel{display:grid;grid-template-columns:180px 1fr;gap:35px;align-items:center;max-width:980px;margin:auto;padding:35px;border:2px solid var(--service-accent);border-radius:28px;background:var(--service-soft)}.safety-symbol{display:grid;place-items:center;width:150px;height:150px;border-radius:50%;background:var(--service-accent);color:#fff;font-size:72px}.safety-panel h2{font-size:32px;line-height:1.2;color:var(--navy);margin:7px 0}.safety-panel p{margin:0;color:var(--muted)}
.flow-track>div{background:var(--service-soft);margin:0 5px;border-radius:16px;border:1px solid color-mix(in srgb,var(--service-accent) 18%,#fff)}.flow-track>div:not(:last-child):after{border-top-style:solid;z-index:2}.flow-track span{display:block;font-size:32px;color:var(--service-accent)}
.cook-timeline>div{border-top:6px solid color-mix(in srgb,var(--service-accent) 45%,#fff);background:linear-gradient(180deg,var(--service-soft),#fff)}.service-layout-cooking .service-device{border-radius:48% 48% 24px 24px}.service-layout-cooking .service-device:before{border-radius:50%;border-width:5px}
.audio-console{max-width:900px;margin:auto;padding:28px;background:#17152a;border-radius:26px;box-shadow:var(--shadow)}.eq-bars{height:220px;display:flex;align-items:end;justify-content:center;gap:12px}.eq-bars i{width:28px;background:linear-gradient(180deg,#eb54ff,var(--service-accent));border-radius:8px 8px 2px 2px;box-shadow:0 0 18px color-mix(in srgb,var(--service-accent) 55%,transparent)}.audio-path{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:20px}.audio-path span{text-align:center;padding:10px;border:1px solid #6c5a9a;border-radius:8px;color:#fff;font-size:12px;font-weight:700}
.service-issue-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service-issue-grid article{background:#fff;border:1px solid color-mix(in srgb,var(--service-accent) 18%,#dbe7f6);border-radius:20px;padding:22px;box-shadow:0 10px 24px color-mix(in srgb,var(--service-accent) 8%,transparent)}.service-issue-grid article>span{display:inline-block;color:var(--service-accent);font-weight:700;font-size:13px}.service-issue-grid h3{color:var(--navy);font-size:18px;margin:7px 0}.service-issue-grid p{margin:0;color:var(--muted);font-size:14px}.service-price-table{border:1px solid var(--line);border-radius:16px;overflow:hidden;margin:20px 0 35px}.price-row{display:grid;grid-template-columns:1.3fr .8fr 1fr;gap:15px;padding:14px 16px;border-bottom:1px solid var(--line)}.price-row:last-child{border:0}.price-head{background:var(--service-accent);color:#fff}.price-row:not(.price-head) strong{color:var(--service-accent)}.service-process{display:grid;gap:12px;margin-bottom:36px}.service-process article{display:grid;grid-template-columns:46px 1fr;gap:15px;padding:16px;border-left:4px solid var(--service-accent);background:var(--service-soft);border-radius:0 14px 14px 0}.service-process article>span{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--service-accent);color:#fff;font-weight:700}.service-process h3{margin:0;color:var(--navy);font-size:17px}.service-process p{margin:3px 0 0;color:var(--muted);font-size:14px}
.service-silo-section{background:#fff}.service-silo-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px;max-width:980px;margin:auto}.silo-column{border-top:5px solid var(--service-accent);background:#fff;box-shadow:0 12px 34px rgba(7,48,116,.1);border-radius:0 0 18px 18px;padding:24px 28px}.silo-column h3{font-size:20px;text-transform:uppercase;color:#111;margin:0 0 12px}.silo-column ul{list-style:none;margin:0;padding:0}.silo-column li{border-bottom:1px solid #e2e2e2}.silo-column li:last-child{border:0}.silo-column a{display:block;padding:10px 2px;color:#687184;font-weight:700}.silo-column a:hover{color:var(--service-accent);padding-left:6px}.service-article-hero{padding:52px 0;background:linear-gradient(120deg,var(--service-soft),#fff);border-bottom:1px solid color-mix(in srgb,var(--service-accent) 18%,#fff)}.service-article-hero h1{font-size:clamp(36px,5vw,56px);line-height:1.12;color:var(--navy);max-width:900px;margin:10px 0}.service-article-hero>div>p{font-size:18px;max-width:760px;color:var(--muted)}.service-article-hero .service-facts a{font-weight:700}.silo-parent-callout{margin:35px 0;padding:26px;border-radius:18px;background:var(--service-soft);border-left:5px solid var(--service-accent)}.silo-parent-callout>span{font-size:12px;font-weight:700;text-transform:uppercase;color:var(--service-accent)}.silo-parent-callout h2{margin:4px 0;color:var(--navy)}.sibling-links{list-style:none;padding:0;margin:12px 0 0}.sibling-links li{border-bottom:1px solid var(--line)}.sibling-links a{display:block;padding:9px 0;font-size:14px;font-weight:700}
.taxonomy-hub-hero{padding:58px 0;background:linear-gradient(120deg,#eaf4ff,#fff8df);border-bottom:1px solid var(--line)}.fault-hub .taxonomy-hub-hero{background:linear-gradient(120deg,#fff0eb,#fff9e8)}.taxonomy-hub-heading{display:grid;grid-template-columns:minmax(0,1fr) 190px;align-items:center;gap:42px}.hub-kicker{display:inline-block;color:var(--blue);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.fault-hub .hub-kicker{color:#d9482e}.taxonomy-hub-heading h1{max-width:900px;margin:8px 0;font-size:clamp(36px,5vw,56px);line-height:1.08;color:var(--navy)}.taxonomy-hub-heading p{max-width:760px;margin:0;color:var(--muted);font-size:18px}.taxonomy-hub-stat{display:flex;min-height:160px;flex-direction:column;align-items:center;justify-content:center;border:1px solid #c9dcf4;border-radius:28px;background:rgba(255,255,255,.76);box-shadow:var(--shadow)}.taxonomy-hub-stat strong{font-size:48px;line-height:1;color:var(--blue)}.fault-hub .taxonomy-hub-stat strong{color:#d9482e}.taxonomy-hub-stat span{font-weight:700;color:var(--navy)}.taxonomy-hub-stat small{color:var(--muted)}.taxonomy-hub-nav{position:sticky;top:72px;z-index:50;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 8px 20px rgba(7,48,116,.06)}.taxonomy-hub-nav .container{display:flex;align-items:center;gap:9px;overflow-x:auto;padding-block:13px;scrollbar-width:thin}.taxonomy-hub-nav strong{white-space:nowrap;font-size:13px}.taxonomy-hub-nav a{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;padding:7px 11px;border:1px solid var(--line);border-radius:999px;background:#f8fbff;font-size:13px;font-weight:700}.taxonomy-hub-nav a span{display:grid;place-items:center;min-width:21px;height:21px;padding:0 5px;border-radius:50%;background:var(--blue);color:#fff;font-size:11px}.taxonomy-service-group{scroll-margin-top:135px}.taxonomy-service-group:nth-child(even){background:#f8fbff}.taxonomy-group-head{display:grid;grid-template-columns:76px minmax(0,1fr) auto;align-items:center;gap:18px;margin-bottom:24px;padding:20px;border-radius:20px;background:linear-gradient(110deg,var(--group-soft),#fff);border-left:5px solid var(--group-accent)}.taxonomy-group-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:18px;background:#fff;font-size:34px;box-shadow:0 8px 18px rgba(7,48,116,.1)}.taxonomy-group-head span{display:block;color:var(--group-accent);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.taxonomy-group-head h2{margin:2px 0;font-size:clamp(24px,3vw,32px);line-height:1.18;color:var(--navy)}.taxonomy-group-head p{margin:0;color:var(--muted);font-size:14px}.taxonomy-parent-link{white-space:nowrap;padding:10px 15px;border:1px solid color-mix(in srgb,var(--group-accent) 25%,#dbe7f6);border-radius:999px;background:#fff;color:var(--group-accent);font-size:13px;font-weight:700}.taxonomy-group-grid{grid-template-columns:repeat(3,1fr)}.taxonomy-hub-seo{background:#f4f8fd}.taxonomy-hub-seo .seo-block{margin-top:0;background:#fff;border:1px solid var(--line)}.taxonomy-hub-faq{margin-top:35px}.taxonomy-hub-faq>h2{text-align:center;color:var(--navy)}
@media(max-width:980px){.main-nav{display:none;position:absolute;left:0;right:0;top:72px;background:#063b9d;padding:20px}.main-nav.is-open{display:block}.main-nav ul{display:block}.main-nav li{margin:12px}.menu-toggle{display:block;margin-left:auto}.header-call{padding:10px}.header-call small,.header-call strong{display:none}.hero-grid,.service-hero-grid{grid-template-columns:1fr}.hero-copy{padding:60px 0 0}.hero-art{height:410px}.service-device{min-height:260px}.service-grid{grid-template-columns:repeat(2,1fr)}.trust-grid{grid-template-columns:repeat(3,1fr)}.trust-item:nth-child(4){border-left:0}.process-grid{grid-template-columns:repeat(2,1fr)}.offer-grid{grid-template-columns:1fr}.review-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.archive-layout,.content-layout{grid-template-columns:1fr}.filters,.sidebar-card{position:static}.post-grid{grid-template-columns:repeat(2,1fr)}.service-issue-grid{grid-template-columns:repeat(2,1fr)}.comfort-panel{grid-template-columns:repeat(2,1fr)}.cold-map{grid-template-columns:1fr 1fr}.cold-map>div{min-height:130px}.cycle-track,.cook-timeline,.flow-track{grid-template-columns:repeat(2,1fr);gap:10px}.cycle-track>div:after,.cook-timeline>div:after,.flow-track>div:after{display:none}}
@media(max-width:600px){.container{width:min(calc(100% - 24px),var(--container))}.site-header .brand small{display:none}.hero h1{font-size:38px}.hero-sub{font-size:17px}.hero-art{height:340px}.tech-circle{inset:50px 0 10px}.technician{width:210px}.tech-body{height:190px}.appliance.fridge{width:90px;height:205px}.appliance.washer{width:108px;height:116px}.appliance.washer:after{width:55px;height:55px;left:18px;top:38px}.section{padding:50px 0}.service-category-hero{padding:38px 0}.service-category-hero h1{font-size:39px}.service-lead{font-size:16px}.service-device{min-height:220px}.device-icon{font-size:72px}.service-grid,.review-grid,.post-grid,.service-issue-grid,.comfort-panel,.service-silo-grid{grid-template-columns:1fr}.silo-column{padding:20px}.trust-grid{grid-template-columns:repeat(2,1fr)}.trust-item:nth-child(odd){border-left:0}.process-grid{grid-template-columns:1fr}.coverage{align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-group.full{grid-column:auto}.floating-contact{right:12px;bottom:12px}.float-btn{width:48px;height:48px}.author-box{display:block}.author-avatar{margin-bottom:10px}.before-after{grid-template-columns:1fr}.tv-screen{height:220px;border-width:12px;border-bottom-width:20px}.tv-controls{grid-template-columns:1fr 1fr}.safety-panel{grid-template-columns:1fr;padding:24px}.safety-symbol{width:90px;height:90px;font-size:42px}.safety-panel h2{font-size:25px}.price-row{grid-template-columns:1fr}.price-head strong:nth-child(n+2){display:none}.audio-path{grid-template-columns:1fr 1fr}.eq-bars i{width:18px}.cold-map{grid-template-columns:1fr}.cycle-track,.cook-timeline,.flow-track{grid-template-columns:1fr 1fr}}
@media(max-width:980px){.taxonomy-hub-heading{grid-template-columns:1fr}.taxonomy-hub-stat{min-height:auto;align-items:flex-start;padding:18px 22px}.taxonomy-hub-stat strong{font-size:38px}.taxonomy-group-head{grid-template-columns:64px 1fr}.taxonomy-parent-link{grid-column:1/-1;width:max-content}.taxonomy-group-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.taxonomy-hub-hero{padding:38px 0}.taxonomy-hub-heading{gap:24px}.taxonomy-hub-heading h1{font-size:36px}.taxonomy-hub-heading p{font-size:16px}.taxonomy-hub-nav{top:72px}.taxonomy-hub-nav .container{width:100%;padding-inline:12px}.taxonomy-group-head{grid-template-columns:52px 1fr;padding:16px}.taxonomy-group-icon{width:48px;height:48px;font-size:27px}.taxonomy-group-head p{grid-column:1/-1}.taxonomy-group-grid{grid-template-columns:1fr}}

/* Inner pages visual system */
.inner-hero,.archive-hero,.article-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#eaf6ff 0,#f8fbff 42%,#fff7dc 100%);border-bottom:1px solid #cfe3ff}
.inner-hero:before,.archive-hero:before,.article-hero:before{content:"";position:absolute;inset:auto 0 0;height:5px;background:linear-gradient(90deg,#075bea,#ffc62f,#ff4936)}
.inner-hero-grid,.archive-hero-grid,.article-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;align-items:center;gap:42px;padding:46px 0}
.inner-kicker{display:inline-flex;align-items:center;gap:8px;margin-bottom:10px;padding:7px 14px;border:1px solid rgba(255,198,47,.65);border-radius:999px;background:#fff6d7;color:#8a5c00;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.inner-kicker:before{content:"";width:8px;height:8px;border-radius:50%;background:#ff4936;box-shadow:0 0 0 5px rgba(255,73,54,.12)}
.inner-hero h1,.archive-hero h1,.article-hero h1{max-width:830px;margin:6px 0 12px;color:#071f57;font-size:clamp(38px,5vw,60px);line-height:1.04;letter-spacing:-.02em}
.inner-hero p,.archive-hero p,.article-hero p{max-width:760px;margin:0;color:#3e5172;font-size:18px;font-weight:600}
.inner-hero .breadcrumb,.archive-hero .breadcrumb,.article-hero .breadcrumb{margin-bottom:14px}
.inner-hero-card,.archive-hero-panel{position:relative;overflow:hidden;border:1px solid rgba(7,91,234,.18);border-radius:24px;background:rgba(255,255,255,.84);box-shadow:0 22px 48px rgba(7,60,145,.14);backdrop-filter:blur(10px)}
.inner-hero-card{padding:26px;display:grid;gap:10px}
.inner-hero-card strong{display:block;color:#075bea;font-size:34px;line-height:1}
.inner-hero-card span{color:#526585;font-weight:700}
.inner-hero-card .btn{width:max-content;margin-top:7px}
.rich-page-hero{min-height:calc(100vh - 54px);display:flex;align-items:center;background:linear-gradient(105deg,rgba(234,246,255,.98) 0%,rgba(248,251,255,.94) 45%,rgba(255,247,220,.88) 100%);border-bottom:0}
.rich-page-hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:7px;background:linear-gradient(90deg,#075bea,#ffc62f,#ff4936)}
.rich-page-hero .inner-hero-grid{grid-template-columns:minmax(0,1fr) minmax(420px,560px);padding:70px 0 78px}
.inner-cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.inner-cta-row .btn{min-width:170px;box-shadow:0 14px 26px rgba(7,60,145,.13)}
.inner-cta-row .btn-primary{box-shadow:0 16px 28px rgba(238,30,24,.28)}
.inner-hero-visual{position:relative;display:grid;gap:12px;padding:10px;border:1px solid rgba(7,91,234,.18);border-radius:28px;background:rgba(255,255,255,.86);box-shadow:0 26px 58px rgba(7,60,145,.16);backdrop-filter:blur(10px)}
.inner-hero-visual:before{content:"";position:absolute;inset:-1px;border-radius:28px;padding:1px;background:linear-gradient(135deg,#79bdff,#ffc62f,#ff4936);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.inner-hero-visual img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:20px}
.hero-hotline-card{position:absolute;left:24px;bottom:92px;padding:12px 16px;border-radius:18px;background:linear-gradient(180deg,#075bea,#043c9d);color:#fff;box-shadow:0 14px 28px rgba(7,60,145,.24)}
.hero-hotline-card span{display:block;font-size:11px;font-weight:700;opacity:.86}
.hero-hotline-card strong{display:block;color:#ffc62f;font-size:25px;line-height:1.05}
.inner-hero-visual ul{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0;padding:0;list-style:none}
.inner-hero-visual li{position:relative;min-height:58px;padding:10px 10px 10px 30px;border:1px solid #d8e9ff;border-radius:14px;background:#f7fbff;color:#092b68;font-size:12px;font-weight:700;line-height:1.25}
.inner-hero-visual li:before{content:"";position:absolute;left:10px;top:13px;width:14px;height:14px;border-radius:50%;background:#17b66b;box-shadow:inset 0 0 0 4px #dff7ea}
.archive-hero-panel img,.article-hero-media img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.archive-hero-panel strong{display:block;padding:18px 22px 0;color:#071f57;font-size:26px;line-height:1.1}
.archive-hero-panel span{display:block;padding:5px 22px 22px;color:#526585;font-weight:700}
.hero-mini-facts{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}
.hero-mini-facts span{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:999px;background:#fff;color:#082b70;font-size:13px;font-weight:700;box-shadow:0 8px 18px rgba(7,60,145,.09)}
.hero-mini-facts span:before,.sidebar-checks li:before{content:"";display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#17b66b;box-shadow:inset 0 0 0 4px rgba(255,255,255,.75)}
.archive-list-section,.page-content-section,.article-main-section{background:linear-gradient(180deg,#eaf6ff 0,#f7fbff 34%,#fff 100%)}
.page-content-section{position:relative;padding-top:42px}
.inner-page-layout{align-items:start}
.page-info-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:-88px 0 34px;position:relative;z-index:3}
.page-info-strip article{display:grid;grid-template-columns:48px 1fr;gap:5px 12px;align-items:center;min-height:96px;padding:17px;border:1px solid #cfe3ff;border-radius:20px;background:rgba(255,255,255,.94);box-shadow:0 16px 36px rgba(7,60,145,.12);backdrop-filter:blur(10px)}
.page-info-strip span{grid-row:1/3;display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:linear-gradient(180deg,#ffc62f,#ffb11c);color:#06215c;font-weight:700;box-shadow:0 10px 20px rgba(255,198,47,.25)}
.page-info-strip strong{color:#071f57;font-size:17px;line-height:1.15}
.page-info-strip small{color:#526585;font-size:13px;font-weight:700;line-height:1.35}
.archive-services-page .service-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.archive-services-page .service-card{min-height:360px;border-radius:20px}
.archive-services-page .service-thumb{aspect-ratio:16/9}
.archive-services-page .service-body{padding:18px 18px 20px}
.archive-services-page .archive-hero{padding:0}
.archive-services-page .archive-hero-grid{align-items:start;padding:30px 0 34px}
.blog-hub-page .archive-hero{padding:0}
.blog-hub-page .archive-hero-grid{align-items:start;padding:30px 0 34px}
.elevated-head{align-items:center;margin-bottom:22px;padding:16px 18px;border:1px solid #cfe3ff;border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(9,65,147,.08)}
.elevated-head strong{color:#071f57;font-size:20px}
.elevated-head span,.elevated-head a{color:#526585;font-weight:700}
.premium-seo,.page-article,.single-article-page .article{position:relative;border:1px solid #d5e7ff;background:linear-gradient(180deg,#fff,#f9fcff);box-shadow:0 16px 38px rgba(9,65,147,.09)}
.premium-seo{padding:34px;border-radius:24px}
.premium-seo h2,.premium-seo h3{color:#071f57}
.premium-seo h2{font-size:clamp(25px,3vw,34px);line-height:1.16}
.page-article,.single-article-page .article{padding:36px;border-radius:26px}
.page-shell .page-article:before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;border-radius:26px 0 0 26px;background:linear-gradient(180deg,#075bea,#ffc62f,#ff4936)}
.page-shell .article-content h2{position:relative;margin-top:42px;margin-bottom:16px;padding:0 0 0 22px}
.page-shell .article-content h2:first-child{margin-top:0}
.page-shell .article-content h2:before{content:"";position:absolute;left:0;top:.34em;width:8px;height:28px;border-radius:999px;background:#ffc62f;box-shadow:0 8px 16px rgba(255,198,47,.22)}
.page-shell .article-content p{max-width:860px;font-weight:600;line-height:1.8}
.support-card{overflow:hidden;border-color:#b9d8ff;background:linear-gradient(180deg,#fff,#eef7ff);box-shadow:0 18px 42px rgba(7,60,145,.12)}
.support-card:before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,#075bea,#ffc62f,#ff4936)}
.support-card h3{margin:8px 0;color:#071f57;font-size:25px;line-height:1.2}
.support-card p{color:#2f4368;font-weight:600}
.support-phone{margin:18px 0;padding:16px;border-radius:18px;background:linear-gradient(135deg,#075bea,#043b9c);color:#fff;box-shadow:0 14px 30px rgba(7,60,145,.2)}
.support-phone span{display:block;font-size:12px;font-weight:700;opacity:.86}
.support-phone strong{display:block;color:#ffc62f;font-size:29px;line-height:1.05}
.support-actions{display:grid;gap:10px;margin-top:18px}
.support-actions .btn{width:100%;min-height:48px}
.sidebar-checks{display:grid;gap:9px;margin:18px 0;padding:0;list-style:none}
.sidebar-checks li{display:flex;align-items:center;gap:8px;color:#16315f;font-size:14px;font-weight:700}
.sidebar-checks li:before{flex:none}
.post-card{position:relative;overflow:hidden;border:1px solid #d3e6ff;border-radius:20px;background:#fff;box-shadow:0 12px 28px rgba(9,65,147,.1);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.post-card:hover{transform:translateY(-5px);border-color:#80bdff;box-shadow:0 20px 38px rgba(9,65,147,.16)}
.post-card-thumb{aspect-ratio:16/9;background:linear-gradient(135deg,#eaf6ff,#fff8df);font-size:44px;color:#075bea}
.post-card-thumb img{width:100%;height:100%;object-fit:cover}
.post-card-body{padding:20px}
.post-card--text-only{display:flex;min-height:230px}
.post-card--text-only:before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,#075bea,#ffc528)}
.post-card--text-only .post-card-body{display:flex;flex-direction:column;align-items:flex-start;gap:9px;padding:24px}
.post-card--text-only h3{margin:0}
.post-card--text-only p{margin:0}
.post-card--text-only .card-link{margin-top:auto}
.post-card-body small{display:inline-flex;margin-bottom:8px;padding:5px 10px;border-radius:999px;background:#eef7ff;color:#075bea;font-size:12px;font-weight:700}
.post-card h3{font-size:20px;margin:5px 0 9px}
.post-card h3 a{color:#071f57}
.post-card p{color:#526585}
.article-hero{padding:0}
.article-hero-grid{grid-template-columns:minmax(0,1fr) minmax(340px,500px);padding:42px 0}
.article-hero-media{overflow:hidden;border:1px solid #cfe3ff;border-radius:26px;background:#fff;box-shadow:0 24px 52px rgba(7,60,145,.16)}
.article-hero .article-meta{margin-top:20px}
.single-article-page .article-content,.page-shell .article-content{font-size:18px;color:#172d56}
.single-article-page .article-content h2,.page-shell .article-content h2{padding-top:10px;color:#071f57;font-size:clamp(25px,3vw,34px);line-height:1.18}
.single-article-page .article-content p,.page-shell .article-content p{color:#223961}
.service-category-hero{position:relative;padding:52px 0;background:linear-gradient(135deg,var(--service-soft),#f8fbff 48%,#fff7dc 100%)}
.service-category-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.78),rgba(255,255,255,.28));pointer-events:none}
.service-category-hero .container{position:relative;z-index:1}
.service-category-hero h1{font-size:clamp(44px,6.2vw,74px);text-shadow:0 1px 0 rgba(255,255,255,.55)}
.service-category-hero .service-lead{font-weight:700;color:#344a70}
.service-category-hero .service-facts span{border:1px solid color-mix(in srgb,var(--service-accent) 30%,#dbe7f6);background:rgba(255,255,255,.86);box-shadow:0 8px 18px color-mix(in srgb,var(--service-accent) 12%,transparent)}
.service-device-photo{display:block;min-height:auto;padding:10px;border-radius:30px;background:#fff;box-shadow:0 26px 58px color-mix(in srgb,var(--service-accent) 22%,transparent);overflow:hidden}
.service-device-photo:before,.service-device-photo:after{display:none}
.service-device-photo>img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:22px}
.service-device-photo>div{display:grid;grid-template-columns:64px 1fr;align-items:center;gap:12px;padding:16px 14px 8px;text-align:left}
.service-device-photo .device-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:var(--service-soft);font-size:30px}
.service-device-photo strong{margin:0;font-size:22px}
.service-device-photo small{grid-column:2;color:#526585;font-weight:700}
.service-silo-section{background:#fff}
.service-silo-section .section-title p{max-width:860px}
.service-silo-grid{gap:22px}
.silo-column{border:1px solid #d2e5ff;border-radius:24px;background:linear-gradient(180deg,#fff,#f6fbff);box-shadow:0 14px 32px rgba(9,65,147,.09)}
.silo-column h3{color:#071f57}
.silo-column li a{border-color:#dbeafb;background:#fff;box-shadow:0 8px 18px rgba(7,60,145,.06)}
.service-issue-grid article,.service-process article,.price-row{border-color:#d2e5ff;box-shadow:0 10px 24px rgba(9,65,147,.08)}
.service-issue-grid article{background:linear-gradient(180deg,#fff,#f9fcff)}
.service-issue-grid article span{background:#ffc62f;color:#06215c;box-shadow:0 8px 18px rgba(255,198,47,.22)}
.service-process article span{background:#075bea;box-shadow:0 0 0 6px #e6f2ff}
@media(max-width:980px){
  .inner-hero-grid,.archive-hero-grid,.article-hero-grid{grid-template-columns:1fr;gap:24px;padding:34px 0}
  .inner-hero-card,.archive-hero-panel,.article-hero-media{max-width:560px}
  .rich-page-hero{min-height:auto}
  .rich-page-hero .inner-hero-grid{grid-template-columns:1fr;padding:44px 0 78px}
  .inner-hero-visual{max-width:620px}
  .page-info-strip{grid-template-columns:1fr;margin:-58px 0 28px}
  .service-device-photo{max-width:620px;margin:auto}
  .archive-services-page .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .inner-hero h1,.archive-hero h1,.article-hero h1{font-size:34px}
  .inner-hero p,.archive-hero p,.article-hero p{font-size:16px}
  .inner-hero-card,.premium-seo,.page-article,.single-article-page .article{border-radius:18px;padding:22px}
  .page-shell .page-article:before{width:4px;border-radius:18px 0 0 18px}
  .page-info-strip article{min-height:auto}
  .inner-cta-row .btn{width:100%}
  .inner-hero-visual{border-radius:20px;padding:8px}
  .inner-hero-visual img{border-radius:15px}
  .hero-hotline-card{position:static;order:2}
  .inner-hero-visual ul{grid-template-columns:1fr;order:3}
  .hero-mini-facts{display:grid}
  .elevated-head{display:grid;gap:4px}
  .post-card h3{font-size:18px}
  .archive-services-page .service-grid{grid-template-columns:1fr}
  .article-hero-grid{padding:28px 0}
  .article-hero-media{border-radius:18px}
  .service-category-hero{padding:34px 0}
  .service-category-hero h1{font-size:38px}
  .service-device-photo>div{grid-template-columns:52px 1fr}
  .service-device-photo .device-icon{width:48px;height:48px;border-radius:15px;font-size:26px}
}

/* Dedicated service landing pages: one search intent per URL. */
.service-landing{--landing-dark:#061f4f;overflow:hidden}.brand-landing-hero,.fault-landing-hero{position:relative;padding:36px 0 66px;background:radial-gradient(circle at 82% 24%,color-mix(in srgb,var(--service-accent) 22%,transparent),transparent 31%),linear-gradient(135deg,#f8fbff 0,var(--service-soft) 52%,#fff 100%);border-bottom:1px solid color-mix(in srgb,var(--service-accent) 20%,#fff)}.brand-landing-hero:after,.fault-landing-hero:after{content:"";position:absolute;right:-130px;bottom:-230px;width:480px;height:480px;border:1px solid color-mix(in srgb,var(--service-accent) 18%,transparent);border-radius:50%;box-shadow:0 0 0 55px color-mix(in srgb,var(--service-accent) 5%,transparent),0 0 0 110px color-mix(in srgb,var(--service-accent) 4%,transparent)}.landing-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);align-items:center;gap:64px;padding-top:28px}.landing-kicker{display:inline-flex;align-items:center;gap:8px;color:var(--service-accent);font-size:12px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.landing-kicker:before{content:"";width:26px;border-top:3px solid currentColor;border-radius:3px}.service-landing h1{max-width:820px;margin:10px 0 16px;color:var(--navy);font-size:clamp(40px,5.5vw,64px);line-height:1.05;letter-spacing:-.045em}.service-landing .landing-hero-grid>div>p{max-width:720px;margin:0;color:#405270;font-size:18px}.landing-chip-row{display:flex;flex-wrap:wrap;gap:9px;margin:22px 0}.landing-chip-row span{padding:7px 11px;border:1px solid color-mix(in srgb,var(--service-accent) 22%,#dce8f7);border-radius:999px;background:rgba(255,255,255,.8);color:var(--navy);font-size:12px;font-weight:700}.brand-identity-card,.fault-signal-card{position:relative;min-height:330px;padding:34px;border:1px solid rgba(255,255,255,.28);border-radius:34px;background:linear-gradient(145deg,var(--landing-dark),var(--service-accent));color:#fff;box-shadow:0 28px 60px color-mix(in srgb,var(--service-accent) 28%,transparent);overflow:hidden}.brand-identity-card{display:flex;flex-direction:column;justify-content:flex-end}.brand-identity-card:before{content:"";position:absolute;inset:25px;border:1px solid rgba(255,255,255,.2);border-radius:24px}.brand-identity-card small,.brand-identity-card strong,.brand-identity-card span{position:relative;z-index:1}.brand-identity-card small{letter-spacing:.18em;font-weight:700;opacity:.72}.brand-identity-card strong{font-size:clamp(44px,7vw,76px);line-height:1;text-transform:uppercase}.brand-identity-card span{font-weight:700;opacity:.8}.brand-identity-card i{position:absolute;right:-12px;top:-24px;color:rgba(255,255,255,.09);font-size:170px;font-style:normal;font-weight:700;text-transform:uppercase}.fault-signal-card{display:flex;flex-direction:column;justify-content:center}.fault-signal-card>span{font-size:11px;font-weight:700;letter-spacing:.16em;opacity:.68}.fault-signal-card>strong{position:relative;z-index:1;margin:12px 0 28px;font-size:32px;line-height:1.15}.fault-signal-card>div{display:flex;align-items:end;gap:9px;height:70px}.fault-signal-card i{display:block;width:11px;border-radius:10px;background:var(--yellow);animation:tsdm-signal 1.7s ease-in-out infinite}.fault-signal-card i:nth-child(1){height:30%}.fault-signal-card i:nth-child(2){height:78%;animation-delay:.15s}.fault-signal-card i:nth-child(3){height:46%;animation-delay:.3s}.fault-signal-card i:nth-child(4){height:94%;animation-delay:.45s}.fault-signal-card small{margin-top:22px;padding-top:15px;border-top:1px solid rgba(255,255,255,.18);opacity:.75}@keyframes tsdm-signal{50%{transform:scaleY(.72);opacity:.6}}
.landing-proof{position:relative;z-index:3;background:#fff;border-bottom:1px solid var(--line)}.landing-proof-grid{display:grid;grid-template-columns:repeat(4,1fr)}.landing-proof-grid>div{padding:22px 28px;text-align:center}.landing-proof-grid>div+div{border-left:1px solid var(--line)}.landing-proof strong{display:block;color:var(--service-accent);font-size:27px;line-height:1}.landing-proof span{color:var(--muted);font-size:12px;font-weight:700}.fault-safety-strip{background:#fff6dc;border-block:1px solid #f4df9a}.fault-safety-strip .container{display:flex;align-items:center;gap:20px;padding-block:17px}.fault-safety-strip strong{flex:0 0 auto;color:#875607}.fault-safety-strip p{margin:0;color:#6d5a2f;font-size:14px}.landing-two-col{display:grid;grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:46px}.landing-main{min-width:0}.landing-section-head{margin-bottom:25px}.landing-section-head>span{color:var(--service-accent);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.landing-section-head h2{margin:7px 0;color:var(--navy);font-size:clamp(28px,4vw,40px);line-height:1.15}.landing-sidebar{position:sticky;top:96px;padding:26px;border:1px solid color-mix(in srgb,var(--service-accent) 20%,var(--line));border-radius:24px;background:linear-gradient(160deg,#fff,var(--service-soft));box-shadow:var(--shadow)}.landing-sidebar h2{margin:12px 0;color:var(--navy);font-size:22px;line-height:1.25}.landing-sidebar ul{margin:18px 0;padding:0;list-style:none}.landing-sidebar li{position:relative;padding:9px 0 9px 25px;border-bottom:1px solid rgba(8,43,112,.09);font-size:14px}.landing-sidebar li:before{content:"✓";position:absolute;left:0;color:var(--service-accent);font-weight:700}.landing-sidebar .btn{width:100%;margin-top:7px}.landing-parent-link{display:block;margin-top:16px;text-align:center;font-size:13px;font-weight:700}.brand-info-grid,.fault-check-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:30px}.brand-info-grid article,.fault-check-grid article{padding:21px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 7px 18px rgba(8,58,135,.06)}.brand-info-grid article>span,.fault-check-grid article>span{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:var(--service-soft);color:var(--service-accent);font-size:12px;font-weight:700}.brand-info-grid h3,.fault-check-grid h3{margin:13px 0 5px;color:var(--navy);font-size:17px}.brand-info-grid p,.fault-check-grid p{margin:0;color:var(--muted);font-size:14px}.fault-editorial-content{margin-top:34px;padding-top:10px;border-top:1px solid var(--line)}
.landing-link-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.landing-link-grid>a{display:flex;min-height:205px;flex-direction:column;padding:22px;border:1px solid var(--line);border-radius:19px;background:#fff;box-shadow:0 8px 20px rgba(7,48,116,.07);transition:.2s transform,.2s border-color}.landing-link-grid>a:hover{transform:translateY(-4px);border-color:var(--service-accent)}.landing-link-grid span{color:var(--service-accent);font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.landing-link-grid strong{margin:8px 0;color:var(--navy);font-size:19px;line-height:1.3}.landing-link-grid small{color:var(--muted)}.landing-link-grid b{margin-top:auto;padding-top:15px;color:var(--service-accent);font-size:13px}.landing-brand-links{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.landing-brand-links>a{display:flex;min-height:150px;flex-direction:column;align-items:center;justify-content:center;padding:16px;border:1px solid var(--line);border-radius:20px;background:#fff;text-align:center;box-shadow:0 7px 18px rgba(8,58,135,.06);transition:.2s}.landing-brand-links>a:hover{transform:translateY(-4px);border-color:var(--service-accent)}.landing-brand-links span{display:grid;place-items:center;width:48px;height:48px;margin-bottom:8px;border-radius:15px;background:var(--service-soft);color:var(--service-accent);font-weight:700;text-transform:uppercase}.landing-brand-links strong{color:var(--navy);font-size:17px}.landing-brand-links small{color:var(--muted);font-size:11px}.landing-process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.landing-process-grid article{position:relative;padding:26px 20px;border:1px solid var(--line);border-radius:20px;background:#fff;overflow:hidden}.landing-process-grid article:after{content:"";position:absolute;right:-24px;top:-25px;width:85px;height:85px;border-radius:50%;background:var(--service-soft)}.landing-process-grid article>span{position:relative;z-index:1;display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:var(--service-accent);color:#fff;font-weight:700}.landing-process-grid h3{margin:18px 0 6px;color:var(--navy)}.landing-process-grid p{margin:0;color:var(--muted);font-size:14px}.landing-related-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.landing-related-list a{display:flex;align-items:center;justify-content:space-between;padding:17px 19px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--navy);font-weight:700}.landing-related-list a span{color:var(--service-accent);font-size:20px}.landing-editorial{max-width:850px}
@media(max-width:960px){.landing-hero-grid{grid-template-columns:1fr;gap:34px}.brand-identity-card,.fault-signal-card{min-height:245px}.landing-two-col{grid-template-columns:1fr}.landing-sidebar{position:static}.landing-link-grid{grid-template-columns:repeat(2,1fr)}.landing-brand-links{grid-template-columns:repeat(3,1fr)}.landing-process-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.brand-landing-hero,.fault-landing-hero{padding:26px 0 42px}.landing-hero-grid{padding-top:20px}.service-landing h1{font-size:38px}.service-landing .landing-hero-grid>div>p{font-size:16px}.brand-identity-card,.fault-signal-card{min-height:220px;padding:25px;border-radius:25px}.brand-identity-card strong{font-size:50px}.fault-signal-card>strong{font-size:27px}.landing-proof-grid{grid-template-columns:1fr 1fr}.landing-proof-grid>div{padding:17px 10px}.landing-proof-grid>div:nth-child(3){border-left:0;border-top:1px solid var(--line)}.landing-proof-grid>div:nth-child(4){border-top:1px solid var(--line)}.fault-safety-strip .container{align-items:flex-start;flex-direction:column;gap:4px}.brand-info-grid,.fault-check-grid,.landing-link-grid,.landing-process-grid,.landing-related-list{grid-template-columns:1fr}.landing-brand-links{grid-template-columns:1fr 1fr}.landing-link-grid>a{min-height:180px}.landing-two-col{gap:28px}.landing-section-head h2{font-size:29px}}

/* Full-section homepage banner when a hero image is configured. */
.hero:has(.hero-photo){position:relative;isolation:isolate;background:#071f4f;border-bottom:0}.hero:has(.hero-photo):before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(255,248,230,.97) 0%,rgba(255,248,230,.88) 38%,rgba(248,251,255,.42) 66%,rgba(219,238,255,.12) 100%),radial-gradient(circle at 18% 45%,rgba(255,255,255,.82) 0,rgba(255,249,233,.56) 35%,transparent 58%)}.hero:has(.hero-photo) .hero-grid{position:relative;z-index:1;grid-template-columns:minmax(0,760px);min-height:calc(100vh - 72px);padding-block:72px}.hero:has(.hero-photo) .hero-copy{max-width:760px}.hero:has(.hero-photo) .hero-sub{max-width:650px}.hero:has(.hero-photo) .hero-art{position:absolute;inset:0;z-index:-2;height:auto;pointer-events:none}.hero:has(.hero-photo) .hero-photo{position:absolute;inset:0;width:100%;height:100%;border-radius:0;object-fit:cover;object-position:center;box-shadow:none}.hero:has(.hero-photo) .speed-pill,.hero:has(.hero-photo) .trust-float{display:none}@media(max-width:980px){.hero:has(.hero-photo) .hero-grid{min-height:calc(100vh - 72px);padding-block:62px}.hero:has(.hero-photo) .hero-copy{padding:0}}@media(max-width:600px){.hero:has(.hero-photo) .hero-grid{min-height:calc(100vh - 72px);padding-block:46px}.hero:has(.hero-photo):before{background:linear-gradient(180deg,rgba(255,248,230,.97) 0%,rgba(255,248,230,.9) 54%,rgba(248,251,255,.54) 100%)}}

/* Mockup-aligned homepage visual refresh. */
body{background:linear-gradient(180deg,#f7fbff 0,#eef7ff 58%,#fff 100%);font-weight:500}
.container{width:min(calc(100% - 44px),1220px)}
.site-header{background:linear-gradient(90deg,#0048b8 0,#006fff 52%,#0051c8 100%);box-shadow:0 4px 18px rgba(0,63,155,.24)}
.header-inner{min-height:54px;gap:26px}
.brand-mark{width:40px;height:40px;border-width:2px;border-radius:8px;color:#ffd329;background:rgba(255,255,255,.08);overflow:hidden}
.brand-mark img{display:block;width:30px;height:30px;object-fit:contain}
.brand strong{color:#ffd329;font-size:17px;letter-spacing:.01em}
.brand small,.brand-tagline{color:#fff;font-size:10px;line-height:1.1}
.main-nav a{font-size:14px;font-weight:700}
.header-call{min-height:44px;padding:5px 20px 5px 8px;border:2px solid #ffca35;background:linear-gradient(180deg,#ff6942,#ee1414);box-shadow:0 8px 18px rgba(238,20,20,.35)}
.header-call-icon{width:34px;height:34px;background:rgba(255,255,255,.2)}
.header-call small{font-size:11px;color:#fff;font-weight:700}.header-call strong{font-size:19px;line-height:1}
@media(min-width:981px) and (max-width:1180px){.header-inner{gap:12px}.main-nav{margin-left:0}.main-nav ul{gap:8px}.main-nav a{font-size:12px}.header-hours{display:none}.header-call{min-height:auto;padding:6px 12px 6px 6px}.header-call small{display:none}.header-call strong{font-size:14px}.header-call-icon{width:28px;height:28px;font-size:13px}}
.hero{position:relative;isolation:isolate;min-height:384px;background:linear-gradient(90deg,#fff5e2 0,#fff8ec 45%,#e8f6ff 100%);border-bottom:0}
.hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(255,248,232,.98) 0%,rgba(255,248,232,.94) 37%,rgba(255,255,255,.42) 56%,rgba(255,255,255,0) 76%)}
.hero-grid{grid-template-columns:minmax(0,610px) minmax(420px,1fr);min-height:384px;gap:24px}
.hero-copy{position:relative;z-index:3;padding:26px 0 20px}
.eyebrow{background:#ffc928;color:#001d55;padding:7px 18px;border-radius:18px;font-size:14px;line-height:1.15;box-shadow:0 5px 12px rgba(246,174,0,.16)}
.hero h1{margin:16px 0 10px;max-width:640px;color:#092260;font-size:clamp(36px,3.65vw,47px);line-height:1.06;letter-spacing:0;text-shadow:0 1px 0 rgba(255,255,255,.45)}
.hero h1 span{color:#086aff}
.hero-sub{margin-bottom:18px;color:#071d50;font-size:19px;font-weight:700}
.hero-points{gap:24px;margin:18px 0 24px}
.hero-points li{background:transparent;padding:0;box-shadow:none;color:#071d50;font-size:14px}
.hero-points li:before{content:"✓";width:19px;height:19px;margin-right:8px;background:#ffd145;color:#0876df;box-shadow:inset 0 0 0 2px #fff}
.btn{min-height:48px;padding:9px 22px;border-radius:999px}
.hero .cta-row{gap:18px}
.hero .btn-primary{min-width:270px;min-height:68px;background:linear-gradient(180deg,#ff623d,#ee0b0b);box-shadow:0 14px 24px rgba(226,32,18,.34);font-size:19px;text-transform:uppercase}
.hero .btn-primary .btn-icon{width:38px;height:38px;background:rgba(255,255,255,.22);font-size:22px}
.hero .btn-primary small{font-size:12px;text-transform:uppercase}
.hero .btn-primary em{display:block;margin-top:2px;font-size:13px;font-style:normal;font-weight:700;text-transform:none;opacity:.92}
.hero .btn-secondary{min-width:194px;min-height:58px;color:#0064ea;background:linear-gradient(180deg,#fff,#eaf4ff);box-shadow:0 10px 22px rgba(5,71,166,.16);font-size:16px}
.hero .btn-secondary .btn-icon{color:#0876df;font-size:18px}
.hero:has(.hero-photo){min-height:384px;background:#eaf5ff;border-bottom:0}
.hero:has(.hero-photo):before{z-index:-1;background:linear-gradient(90deg,rgba(255,248,232,.98) 0%,rgba(255,248,232,.94) 37%,rgba(255,255,255,.42) 57%,rgba(255,255,255,0) 76%)}
.hero:has(.hero-photo) .hero-grid{grid-template-columns:minmax(0,610px) minmax(420px,1fr);min-height:384px;padding-block:0}
.hero:has(.hero-photo) .hero-copy{max-width:610px;padding:26px 0 20px}
.hero:has(.hero-photo) .hero-art{position:absolute;inset:0;z-index:-2;height:auto}
.hero:has(.hero-photo) .hero-photo{object-position:center top}
.hero-art{height:384px;align-self:stretch}
.hero-photo{border-radius:0;box-shadow:none;object-fit:cover;object-position:center top}
.hero:has(.hero-photo) .speed-pill,.hero:has(.hero-photo) .trust-float{display:flex}
.speed-pill{left:43.5%;bottom:26px;z-index:4;display:flex;align-items:center;gap:10px;border:0;background:linear-gradient(180deg,#fff,#fff2bd);box-shadow:0 8px 18px rgba(9,72,162,.22);color:#071d50;font-size:15px}
.speed-pill:before{content:"⏱";display:grid;place-items:center;width:58px;height:58px;margin-left:-14px;border-radius:50%;background:#fff;border:5px solid #ffb018;color:#ff7a00;font-size:32px;box-shadow:0 7px 14px rgba(255,126,0,.25)}
.speed-pill span{display:block;font-weight:700}.speed-pill strong{display:block;color:#064fc8;font-size:24px;line-height:1}
.trust-float{right:10px;top:auto;bottom:24px;padding:16px 22px;border:1px solid #d3e7ff;border-radius:20px;box-shadow:0 12px 24px rgba(14,91,190,.2)}
.section{padding:32px 0}
.section-soft{background:linear-gradient(180deg,#f2f9ff,#eaf5ff)}
.section-title{margin-bottom:22px}
.section-title .kicker{display:none}
.section-title h2{display:flex;align-items:center;justify-content:center;gap:14px;margin:0;color:#082763;font-size:clamp(25px,3vw,33px);font-weight:700;text-transform:uppercase;letter-spacing:0}
.section-title h2:before,.section-title h2:after{content:"";width:54px;border-top:2px solid #1183ff}
.section-title p{margin-top:8px;font-size:14px}
.service-grid{grid-template-columns:repeat(8,minmax(0,1fr));gap:14px}
.service-card{border-color:#cfe3ff;border-radius:15px;background:#fff;box-shadow:0 8px 18px rgba(16,94,202,.14);overflow:hidden}
.service-card:hover{transform:translateY(-4px);box-shadow:0 14px 28px rgba(16,94,202,.22)}
.service-thumb{aspect-ratio:1.35;background:linear-gradient(145deg,#e7f4ff,#fff);font-size:48px}
.service-body{padding:12px 13px 13px}
.service-body h3{display:flex;align-items:center;gap:7px;margin-bottom:7px;font-size:15px;line-height:1.25}
.service-body h3:before{content:"⚙";display:grid;place-items:center;width:30px;height:30px;flex:none;border-radius:50%;background:#0d84ff;color:#fff;font-size:14px;box-shadow:0 5px 12px rgba(7,107,232,.28)}
.service-body h3 a{color:#082763}
.service-body p{display:-webkit-box;min-height:42px;margin-bottom:12px;overflow:hidden;color:#20375f;font-size:12.5px;line-height:1.45;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.service-meta{display:none}
.card-link{align-self:center;margin-top:auto;padding:8px 18px;border-radius:999px;background:#e8f4ff;color:#0066e8;font-size:12px;font-weight:700}
.services-section{position:relative;overflow:hidden;background:linear-gradient(180deg,#f6fbff 0,#edf6ff 100%)}
.services-section:before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,#b9dcff,transparent)}
.services-section .container{position:relative;z-index:1}
.services-section .section-title{max-width:820px;margin-inline:auto;margin-bottom:30px}
.services-section .section-title .kicker{display:inline-flex;align-items:center;gap:8px;margin-bottom:9px;padding:6px 12px;border:1px solid #c7dfff;border-radius:999px;background:#fff;color:#075bea;font-size:11px;letter-spacing:.09em}
.services-section .section-title .kicker:before{content:"";width:7px;height:7px;border-radius:50%;background:#18b867;box-shadow:0 0 0 4px rgba(24,184,103,.12)}
.services-section .section-title h2{display:block;margin:0;color:#071f57;font-size:clamp(28px,3.2vw,40px);font-weight:700;line-height:1.12;text-transform:none}
.services-section .section-title h2:before,.services-section .section-title h2:after{display:none}
.services-section .section-title p{max-width:760px;margin-top:10px;color:#43577a;font-size:15.5px;line-height:1.65}
.services-section .service-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.services-section .service-card{position:relative;min-height:292px;border:1px solid #d3e6ff;border-radius:18px;background:linear-gradient(180deg,#fff 0,#f9fcff 100%);box-shadow:0 14px 28px rgba(9,65,147,.1);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.services-section .service-card:before{content:"";position:absolute;inset:0;border-radius:18px;background:linear-gradient(135deg,rgba(7,91,234,.08),transparent 36%);opacity:0;transition:.22s opacity;pointer-events:none}
.services-section .service-card:hover{transform:translateY(-6px);border-color:#78b8ff;box-shadow:0 20px 38px rgba(9,65,147,.16)}
.services-section .service-card:hover:before{opacity:1}
.services-section .service-thumb{position:relative;aspect-ratio:16/9;background:linear-gradient(135deg,#eef8ff 0,#fff 70%);font-size:46px}
.services-section .service-thumb:after{content:"";position:absolute;left:18px;right:18px;bottom:0;height:1px;background:linear-gradient(90deg,transparent,#d6e8fb,transparent)}
.services-section .service-thumb span{display:grid;place-items:center;width:76px;height:76px;border-radius:24px;background:#fff;box-shadow:0 12px 24px rgba(7,74,170,.12)}
.services-section .service-body{position:relative;padding:16px 16px 17px}
.services-section .service-body h3{display:block;margin:0 0 8px;font-size:18px;line-height:1.25}
.services-section .service-body h3:before{display:none}
.services-section .service-body h3 a{color:#071f57}
.services-section .service-body p{min-height:62px;margin-bottom:18px;color:#445a7e;font-size:13.5px;line-height:1.55;-webkit-line-clamp:3}
.services-section .card-link{width:100%;min-height:42px;align-items:center;justify-content:space-between;margin-top:auto;padding:10px 13px 10px 16px;border:1px solid #cfe4ff;border-radius:12px;background:#eef7ff;color:#075bea;font-size:13px;box-shadow:inset 0 -1px 0 rgba(7,91,234,.08)}
.services-section .card-link span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#075bea;color:#fff}
.services-section .card-link:hover{background:#075bea;color:#fff;border-color:#075bea}
.services-section .card-link:hover span{background:#fff;color:#075bea}
.trust-grid{border-color:#cfe3ff;border-radius:18px;background:linear-gradient(180deg,#fff,#edf7ff);box-shadow:0 9px 18px rgba(13,92,202,.13)}
.trust-item{position:relative;padding:18px 15px}
.trust-icon{width:56px;height:56px;margin-bottom:9px;background:#fff;border:1px solid #cfe3ff;color:#0d84ff;box-shadow:0 8px 16px rgba(16,94,202,.12)}
.trust-item strong{color:#071d50;font-size:15px}.trust-item span{color:#0d234d}
.why-section{padding:48px 0;background:radial-gradient(circle at 18% 0,rgba(255,198,47,.22),transparent 30%),linear-gradient(180deg,#edf7ff 0,#f8fcff 100%)}
.why-section .section-title{margin-bottom:26px}
.why-section .section-title .kicker{display:none}
.why-section .section-title h2{display:block;margin:0;color:#071f57;font-size:clamp(28px,3.2vw,40px);font-weight:700;line-height:1.12;text-transform:none}
.why-section .section-title h2 span{color:#ffc62f;text-shadow:0 2px 0 rgba(7,31,87,.18),0 8px 18px rgba(255,198,47,.18)}
.why-section .section-title h2:before,.why-section .section-title h2:after{display:none}
.why-section .trust-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;padding:14px;border:1px solid #bddcff;border-radius:26px;background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(232,246,255,.94));box-shadow:0 18px 36px rgba(8,80,180,.14),inset 0 1px 0 rgba(255,255,255,.95)}
.why-section .trust-item{position:relative;display:grid;grid-template-rows:88px 40px 34px;row-gap:8px;align-items:start;justify-items:center;min-height:184px;padding:14px 12px 16px;border:1px solid transparent;border-radius:18px;text-align:center;background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(240,248,255,.38));transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,background .22s ease}
.why-section .trust-item+.trust-item{border-left:0}
.why-section .trust-item:after{content:"";position:absolute;right:-5px;top:24px;bottom:24px;width:1px;background:linear-gradient(180deg,transparent,#b8d7fb,transparent)}
.why-section .trust-item:last-child:after{display:none}
.why-section .trust-item:hover{transform:translateY(-3px);border-color:#d7e9ff;background:linear-gradient(180deg,#fff,rgba(237,247,255,.78));box-shadow:0 14px 26px rgba(7,91,234,.12)}
.why-section .trust-icon{position:relative;display:grid;place-items:center;width:88px;height:88px;margin:0 auto;border:0;border-radius:28px;background:radial-gradient(circle at 50% 40%,rgba(255,198,47,.18),rgba(255,255,255,0) 58%);box-shadow:none}
.why-section .trust-icon:before{content:"";position:absolute;inset:10px;border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(219,239,255,.28));box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}
.why-section .trust-icon img{position:relative;z-index:1;display:block;width:86px;height:86px;object-fit:contain;filter:drop-shadow(0 8px 12px rgba(7,91,234,.16))}
.why-section .trust-item strong{display:flex;align-items:flex-start;justify-content:center;min-width:0;width:100%;padding-top:3px;color:#071f57;font-size:15px;font-weight:700;line-height:1.18}
.why-section .trust-item span:not(.trust-icon){display:flex;align-items:start;justify-content:center;min-width:0;width:100%;margin:0;color:#111827;font-size:13px;font-weight:600;line-height:1.28}
.process-grid{grid-template-columns:repeat(5,1fr);gap:12px}
.process-item{min-height:150px;padding:22px 18px 20px 48px;border:1px solid #cfe3ff;border-radius:15px;background:linear-gradient(145deg,#fff,#eef7ff);box-shadow:0 8px 16px rgba(16,94,202,.12);clip-path:polygon(0 0,92% 0,100% 50%,92% 100%,0 100%,8% 50%)}
.process-no{position:absolute;left:20px;top:20px;width:34px;height:34px;background:linear-gradient(180deg,#1595ff,#005ee7);box-shadow:0 7px 14px rgba(0,101,231,.28)}
.process-item h3{color:#071d50;font-size:16px}.process-item p{color:#102b55;font-size:13px}
.offer-grid{gap:18px}
.offer{min-height:190px;padding:24px 28px;border:1px solid #a9d4ff;border-radius:20px;box-shadow:0 12px 24px rgba(0,87,191,.18)}
.offer h3{font-size:25px}.offer-price{font-size:32px}
.offer .btn{min-height:40px;padding:7px 22px;border-radius:999px}
.section:has(.review-grid){position:relative;overflow:hidden;background:radial-gradient(circle at 16% 12%,rgba(255,198,47,.18),transparent 28%),linear-gradient(180deg,#f5fbff 0,#eaf5ff 100%)}
.section:has(.review-grid) .section-title{margin-bottom:26px}
.section:has(.review-grid) .section-title .kicker{display:inline-flex;align-items:center;gap:8px;margin-bottom:12px;padding:6px 13px;border:1px solid #cfe3ff;border-radius:999px;background:#fff;color:#075bea;box-shadow:0 8px 18px rgba(7,91,234,.08)}
.section:has(.review-grid) .section-title h2{font-size:clamp(28px,3.6vw,42px);letter-spacing:0}
.review-grid{grid-template-columns:repeat(4,1fr);gap:18px}
.review{position:relative;display:grid;grid-template-columns:62px 1fr;grid-template-rows:auto 1fr auto;column-gap:14px;row-gap:10px;min-height:206px;padding:20px 20px 18px;border:1px solid #cfe3ff;border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(248,252,255,.9));box-shadow:0 15px 32px rgba(7,48,116,.1),inset 0 1px 0 rgba(255,255,255,.92);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.review:hover{transform:translateY(-4px);border-color:#9dcbff;box-shadow:0 22px 38px rgba(7,91,234,.15),inset 0 1px 0 rgba(255,255,255,.95)}
.review:before{content:"KH";grid-row:1;display:grid;place-items:center;width:62px;height:62px;border-radius:18px;background:linear-gradient(145deg,#075bea,#30a9ff);color:#fff;font-size:17px;font-weight:700;letter-spacing:.02em;box-shadow:0 10px 18px rgba(7,91,234,.22),inset 0 0 0 4px rgba(255,255,255,.28)}
.review:nth-child(1):before{content:"AM"}.review:nth-child(2):before{content:"CH"}.review:nth-child(3):before{content:"AT"}.review:nth-child(4):before{content:"CL"}
.review:after{content:"\201D";position:absolute;right:18px;top:9px;color:rgba(7,91,234,.1);font-family:Georgia,serif;font-size:64px;font-weight:700;line-height:1}
.stars{grid-column:2;align-self:center;width:max-content;padding:5px 9px;border-radius:999px;background:#fff8e2;color:#ffad00;font-size:12px;letter-spacing:1px;line-height:1;box-shadow:inset 0 0 0 1px rgba(255,198,47,.35)}
.review blockquote{grid-column:1/-1;margin:6px 0 0;color:#071d50;font-size:14px;font-weight:700;line-height:1.55}
.review cite{grid-column:1/-1;display:flex;align-items:center;gap:8px;margin-top:4px;color:#24466f;font-size:13px;font-style:normal;font-weight:700}
.review cite:before{content:"";width:22px;height:3px;border-radius:999px;background:linear-gradient(90deg,#ffc62f,#075bea)}
#dat-lich{position:relative;overflow:hidden;padding:78px 0 86px;background:radial-gradient(circle at 16% 20%,rgba(255,198,47,.22),transparent 30%),radial-gradient(circle at 88% 30%,rgba(7,91,234,.2),transparent 34%),linear-gradient(135deg,#eef8ff 0,#f9fcff 48%,#e8f4ff 100%)}
#dat-lich:before{content:"";position:absolute;inset:24px auto auto -120px;width:360px;height:360px;border-radius:50%;border:42px solid rgba(7,91,234,.06)}
#dat-lich:after{content:"";position:absolute;right:-130px;bottom:-180px;width:420px;height:420px;border-radius:50%;background:linear-gradient(135deg,rgba(255,198,47,.28),rgba(7,91,234,.08));filter:blur(2px)}
#dat-lich .content-layout{position:relative;z-index:1;grid-template-columns:minmax(0,1fr) 360px;gap:28px;align-items:stretch}
#dat-lich .content-layout>div:first-child{position:relative;padding:34px;border:1px solid rgba(157,203,255,.78);border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(246,251,255,.9));box-shadow:0 24px 55px rgba(7,48,116,.13),inset 0 1px 0 rgba(255,255,255,.95)}
#dat-lich .content-layout>div:first-child:before{content:"";position:absolute;left:34px;right:34px;top:0;height:5px;border-radius:0 0 999px 999px;background:linear-gradient(90deg,#075bea,#ffc62f,#f53b30)}
#dat-lich .section-title{margin-bottom:28px}
#dat-lich .section-title .kicker{display:inline-flex;align-items:center;gap:8px;margin-bottom:10px;padding:7px 13px;border-radius:999px;background:#fff2ce;color:#8a5800;font-size:12px;letter-spacing:.08em;box-shadow:inset 0 0 0 1px rgba(255,198,47,.42)}
#dat-lich .section-title .kicker:before{content:"";width:8px;height:8px;border-radius:50%;background:#f53b30;box-shadow:0 0 0 5px rgba(245,59,48,.12)}
#dat-lich .section-title h2{max-width:820px;margin-top:4px;color:#071f57;font-size:clamp(30px,3.4vw,44px);line-height:1.08;letter-spacing:0;text-transform:none}
#dat-lich .section-title h2:before,#dat-lich .section-title h2:after{display:none}
#dat-lich .section-title p{max-width:620px;margin:8px 0 0;color:#455f85;font-size:16px;font-weight:600}
#dat-lich .form-grid{gap:18px}
#dat-lich .form-group{margin:0}
#dat-lich .form-group label{margin-bottom:8px;color:#071f57;font-size:14px;font-weight:700}
#dat-lich .form-control{min-height:58px;border:1px solid #bddcff;border-radius:16px;background:#fff;color:#071f57;font-size:16px;font-weight:600;box-shadow:0 10px 22px rgba(7,48,116,.05),inset 0 1px 0 rgba(255,255,255,.8);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
#dat-lich .form-control:focus{outline:0;border-color:#075bea;box-shadow:0 0 0 4px rgba(7,91,234,.13),0 14px 25px rgba(7,91,234,.09)}
#dat-lich textarea.form-control{min-height:150px;resize:vertical}
#dat-lich .form-control::placeholder{color:#7b8799;font-weight:500}
#dat-lich .form-group.full:last-child{display:flex;align-items:center;gap:14px;padding-top:6px}
#dat-lich .form-group.full:last-child:after{content:"Phản hồi trong giờ làm việc gần nhất";color:#476184;font-size:13px;font-weight:700}
#dat-lich .btn-primary{min-width:240px;min-height:60px;padding:12px 28px;border-radius:18px;background:linear-gradient(135deg,#ff6b4b 0,#f53b30 42%,#d80f19 100%);box-shadow:0 17px 28px rgba(245,59,48,.28),inset 0 1px 0 rgba(255,255,255,.24)}
#dat-lich .btn-primary:hover{box-shadow:0 22px 34px rgba(245,59,48,.34),inset 0 1px 0 rgba(255,255,255,.28)}
#dat-lich .sidebar-card{position:sticky;top:86px;min-height:100%;padding:30px;border:1px solid rgba(255,198,47,.55);border-radius:28px;background:radial-gradient(circle at 50% 8%,rgba(255,198,47,.34),transparent 26%),radial-gradient(circle at 85% 72%,rgba(255,255,255,.13),transparent 28%),linear-gradient(150deg,#053a9b 0,#075bea 56%,#032b76 100%);color:#fff;text-align:center;box-shadow:0 24px 55px rgba(7,48,116,.2),inset 0 1px 0 rgba(255,255,255,.22)}
#dat-lich .sidebar-card:before{content:"☎";display:grid;place-items:center;width:64px;height:64px;margin:0 auto 20px;border-radius:22px;background:rgba(255,255,255,.14);color:#ffc62f;font-size:29px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18),0 14px 28px rgba(0,31,92,.16)}
#dat-lich .sidebar-card h3{margin:0 0 20px;color:#fff;font-size:23px;line-height:1.2}
#dat-lich .sidebar-card p{position:relative;margin:18px 0 0;padding-top:18px;border-top:1px solid rgba(255,255,255,.18);color:#eaf4ff;font-size:15px;font-weight:600}
#dat-lich .sidebar-card p:first-of-type{margin:0;padding:0;border:0}
#dat-lich .sidebar-card a{display:inline-block;color:#ffc62f!important;font-size:34px!important;line-height:1.05;text-shadow:0 7px 18px rgba(0,0,0,.18)}
#dat-lich .sidebar-card p:nth-of-type(n+2){line-height:1.45}
#dat-lich .booking-benefits{display:grid;gap:10px;margin:28px 0 0;padding:16px;border:1px solid rgba(255,255,255,.18);border-radius:18px;background:rgba(255,255,255,.1);list-style:none;text-align:left;box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}
#dat-lich .booking-benefits li{position:relative;padding:9px 10px 9px 36px;border-radius:13px;background:rgba(255,255,255,.08);color:#fff;font-size:14px;font-weight:700;line-height:1.35}
#dat-lich .booking-benefits li:before{content:"✓";position:absolute;left:10px;top:50%;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#16b86a;color:#fff;font-size:11px;font-weight:700;transform:translateY(-50%);box-shadow:0 0 0 3px rgba(22,184,106,.16)}
.home-seo-section{position:relative;overflow:hidden;padding:74px 0 82px;background:linear-gradient(180deg,#f8fcff 0,#eef7ff 100%)}
.home-seo-section:before{content:"";position:absolute;left:7%;top:44px;width:160px;height:160px;border-radius:42px;background:linear-gradient(135deg,rgba(255,198,47,.24),rgba(7,91,234,.08));transform:rotate(8deg)}
.home-seo-section:after{content:"";position:absolute;right:6%;bottom:36px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(7,91,234,.18),transparent 68%)}
.home-seo-card{position:relative;z-index:1;margin-top:0;padding:42px 46px 40px 52px;border:1px solid #bddcff;border-left:7px solid #ffc62f;border-radius:28px;background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(242,249,255,.92));box-shadow:0 24px 55px rgba(7,48,116,.12),inset 0 1px 0 rgba(255,255,255,.95)}
.home-seo-card:before{content:"";position:absolute;inset:0 0 auto;height:6px;border-radius:28px 28px 0 0;background:linear-gradient(90deg,#075bea,#30a9ff,#ffc62f,#f53b30)}
.home-seo-card:after{content:"✓";position:absolute;right:34px;top:30px;display:grid;place-items:center;width:54px;height:54px;border-radius:18px;background:linear-gradient(135deg,#075bea,#30a9ff);color:#fff;font-size:25px;font-weight:700;box-shadow:0 15px 28px rgba(7,91,234,.2),inset 0 0 0 4px rgba(255,255,255,.22)}
.home-seo-card h2{max-width:820px;margin:0 90px 22px 0;color:#071f57;font-size:clamp(26px,3vw,38px);line-height:1.15;letter-spacing:0}
.home-seo-card h2:before{content:"";display:block;width:62px;height:5px;margin-bottom:16px;border-radius:999px;background:linear-gradient(90deg,#ffc62f,#075bea)}
.home-seo-card p{position:relative;max-width:1080px;margin:18px 0 0;padding-left:22px;color:#10234a;font-size:17px;font-weight:600;line-height:1.75}
.home-seo-card p:before{content:"";position:absolute;left:0;top:.68em;width:8px;height:8px;border-radius:50%;background:#16b86a;box-shadow:0 0 0 5px rgba(22,184,106,.12)}
.home-seo-card strong{color:#075bea}
.coverage-section{padding:34px 0 28px;background:linear-gradient(180deg,#eef7ff 0,#f8fcff 100%)}
.coverage{position:relative;display:grid;grid-template-columns:154px minmax(260px,1fr) minmax(300px,.82fr) auto;align-items:center;gap:18px;min-height:86px;padding:14px 20px 14px 18px;border:1px solid rgba(110,183,255,.75);border-radius:16px;background:radial-gradient(circle at 14% 42%,rgba(75,194,255,.55),transparent 22%),linear-gradient(100deg,#0c93ff 0,#075bea 48%,#003ea7 100%);box-shadow:0 16px 34px rgba(0,78,177,.22),inset 0 1px 0 rgba(255,255,255,.22);overflow:hidden}
.coverage:before{content:"";position:absolute;left:0;top:0;bottom:0;width:235px;background:linear-gradient(100deg,rgba(255,255,255,.16),rgba(255,255,255,0));clip-path:polygon(0 0,82% 0,100% 100%,0 100%)}
.coverage:after{content:"";position:absolute;right:22%;top:-78px;width:190px;height:190px;border-radius:50%;background:rgba(255,255,255,.08)}
.coverage-visual{position:relative;z-index:1;display:grid;place-items:center;height:58px;border-radius:14px;background:linear-gradient(135deg,rgba(255,255,255,.28),rgba(255,255,255,.06));overflow:hidden}
.coverage-visual:before{content:"";position:absolute;left:12px;right:14px;bottom:10px;height:22px;border-radius:60% 40% 50% 45%;background:linear-gradient(135deg,#d8f4ff,#7fd6ff);clip-path:polygon(0 65%,22% 32%,43% 52%,62% 18%,85% 43%,100% 28%,100% 100%,0 100%)}
.coverage-visual:after{content:"";position:absolute;left:24px;top:15px;width:72px;height:38px;border:2px dashed rgba(255,255,255,.6);border-left:0;border-bottom:0;border-radius:50%;transform:rotate(-14deg)}
.coverage-visual span{position:relative;z-index:1;display:block;width:38px;height:38px;border-radius:50% 50% 50% 8px;background:linear-gradient(180deg,#5bd6ff,#0873f5);transform:rotate(-45deg);box-shadow:0 9px 18px rgba(0,43,112,.22),inset 0 0 0 4px rgba(255,255,255,.22)}
.coverage-visual span:before{content:"";position:absolute;left:50%;top:50%;width:12px;height:12px;border-radius:50%;background:#fff;transform:translate(-50%,-50%);box-shadow:0 0 0 4px rgba(255,255,255,.22)}
.coverage-copy{position:relative;z-index:1}
.coverage h2{margin:0;color:#fff;font-size:20px;line-height:1.18;text-transform:uppercase}
.coverage p{margin:5px 0 0;color:#d9ecff;font-size:14px;font-weight:700}
.coverage-areas{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,max-content);gap:6px 16px;margin:0;padding:0;list-style:none}
.coverage-areas li{display:flex;align-items:center;gap:6px;color:#eaf4ff;font-size:12px;font-weight:700;white-space:nowrap;text-shadow:0 1px 0 rgba(0,0,0,.12)}
.coverage-areas li:before{content:"✓";display:grid;place-items:center;width:16px;height:16px;border-radius:50%;background:#16b86a;color:#fff;font-size:10px;box-shadow:0 0 0 2px rgba(255,255,255,.14)}
.coverage-call{position:relative;z-index:1;min-width:220px;min-height:54px;padding:12px 24px;border:1px solid #ffc62f;border-radius:999px;background:linear-gradient(180deg,#ff6b3e,#ec1717)!important;color:#fff!important;font-size:16px;box-shadow:0 12px 24px rgba(235,28,28,.32),inset 0 1px 0 rgba(255,255,255,.25)}
.site-footer{position:relative;overflow:hidden;padding:24px 0 16px;border-top:1px solid rgba(255,198,47,.35);background:radial-gradient(circle at 50% 0,rgba(0,149,255,.38),transparent 34%),linear-gradient(180deg,#064fb5 0,#032b78 48%,#031a55 100%);color:#d9ebff;text-align:center;box-shadow:inset 0 1px 0 rgba(255,255,255,.16)}
.site-footer:before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,#49bdff,#ffc62f,#49bdff,transparent)}
.site-footer:after{content:"";position:absolute;left:50%;top:-115px;width:520px;height:210px;border-radius:50%;background:rgba(255,255,255,.08);filter:blur(4px);transform:translateX(-50%)}
.footer-center{position:relative;z-index:1;display:grid;justify-items:center;gap:8px}
.footer-brand{display:inline-flex;align-items:center;justify-content:center;gap:10px;color:#fff;text-align:left;line-height:1.05}
.footer-brand-mark{display:grid;place-items:center;width:48px;height:48px;border:3px solid #ffc62f;border-radius:12px;color:#ffc62f;font-size:26px;box-shadow:0 0 0 4px rgba(255,198,47,.1);overflow:hidden;background:rgba(255,255,255,.08)}
.footer-brand-mark img{display:block;width:36px;height:36px;object-fit:contain}
.footer-brand small{display:block;color:#cfe7ff;font-size:11px;font-weight:700;letter-spacing:.08em}
.footer-brand strong{display:block;color:#ffc62f;font-size:22px;font-weight:700;letter-spacing:.01em;text-transform:uppercase}
.footer-brand em{display:block;color:#fff;font-size:12px;font-style:normal;font-weight:700}
.site-footer h2{margin:7px 0 0;color:#fff;font-size:21px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.footer-contact-line{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 18px;color:#d8ecff;font-size:14px;font-weight:700}
.footer-contact-line span{display:inline-flex;align-items:center;gap:5px}
.footer-social{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:5px}
.footer-social a{display:inline-flex;align-items:center;justify-content:center;min-width:126px;min-height:38px;padding:9px 24px;border-radius:999px;color:#fff;font-size:15px;font-weight:700;box-shadow:0 10px 18px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.24);transition:transform .2s ease,box-shadow .2s ease}
.footer-social a:before{display:none}
.footer-social .social-icon{display:inline-grid;place-items:center;width:24px;height:24px;margin-right:8px;flex:0 0 24px;border-radius:50%;background:rgba(255,255,255,.18)}
.footer-social .social-icon svg{display:block;width:20px;height:20px}
.footer-social .zalo-icon{flex:0 0 28px;width:28px;height:28px;border-radius:50%;background:#fff;overflow:hidden}
.footer-social .zalo-icon img{display:block;width:100%;height:100%;object-fit:contain}
.footer-social .zalo{background:linear-gradient(180deg,#29a9ff,#0873ed)}
.footer-social .tiktok{background:linear-gradient(180deg,#121212,#010101)}
.footer-social .tiktok .social-icon{background:#050505}
.footer-social .youtube{background:linear-gradient(180deg,#ff3d3d,#d90418)}
.footer-social .youtube .social-icon{background:#ff0000}
.footer-social .facebook{background:linear-gradient(180deg,#3a8dff,#1556c8)}
.footer-social .facebook .social-icon{background:#1877f2}
.footer-social a:hover{transform:translateY(-2px);box-shadow:0 14px 24px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.28)}
.footer-bottom{margin-top:2px;padding-top:8px;border-top:0;color:#bcd4f5;font-size:11px}
.floating-contact{right:18px;bottom:18px}.float-btn{width:58px;height:58px;background:#075bea}.float-btn.call{background:#ff281d}.zalo-float{background:#fff;padding:7px;overflow:hidden}.zalo-float img{display:block;width:100%;height:100%;object-fit:contain}
@media(max-width:1200px){.service-grid{grid-template-columns:repeat(4,1fr)}.hero-grid,.hero:has(.hero-photo) .hero-grid{grid-template-columns:minmax(0,560px) 1fr}.process-grid{grid-template-columns:repeat(3,1fr)}.process-item{clip-path:none;padding-left:22px}.process-no{position:static;margin-bottom:12px}}
@media(max-width:980px){.container{width:min(calc(100% - 28px),var(--container))}.header-inner{min-height:62px}.header-hours{display:none}.main-nav{top:62px}.hero,.hero:has(.hero-photo){min-height:auto}.hero-grid,.hero:has(.hero-photo) .hero-grid{grid-template-columns:1fr;min-height:520px;padding-block:42px}.hero-copy,.hero:has(.hero-photo) .hero-copy{max-width:620px;padding:0}.hero-art,.hero:has(.hero-photo) .hero-art{position:absolute;inset:0;z-index:-2;height:auto}.hero:before,.hero:has(.hero-photo):before{background:linear-gradient(180deg,rgba(255,246,225,.98),rgba(255,246,225,.9) 52%,rgba(255,255,255,.62))}.service-grid{grid-template-columns:repeat(2,1fr)}.trust-grid{grid-template-columns:repeat(3,1fr)}.review-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.container{width:min(calc(100% - 24px),var(--container))}.brand strong{font-size:16px}.header-call{width:58px;height:58px;min-height:58px;justify-content:center;padding:6px;border-radius:50%}.header-call-icon{width:42px;height:42px}.hero-grid,.hero:has(.hero-photo) .hero-grid{min-height:calc(100vh - 62px);padding-block:58px}.eyebrow{font-size:12px;line-height:1.25}.hero h1{font-size:clamp(34px,10vw,42px)}.hero-sub{font-size:17px}.hero-points{display:grid;gap:12px}.hero .btn-primary,.hero .btn-secondary{width:100%;min-width:0}.cta-row{max-width:230px}.section{padding:28px 0}.section-title h2{display:block;font-size:24px;text-align:center}.section-title h2:before,.section-title h2:after{display:none}.service-grid,.trust-grid,.process-grid,.offer-grid{grid-template-columns:1fr}.service-card{display:grid;grid-template-columns:128px 1fr}.service-thumb{aspect-ratio:auto;min-height:100%}.trust-item+.trust-item{border-left:0;border-top:1px solid var(--line)}.review{grid-template-columns:64px 1fr}.review:before{width:64px;height:64px}.coverage{align-items:stretch}.site-footer{text-align:left}.site-footer .brand{justify-content:flex-start}}
@media(max-width:600px){.hero:has(.hero-photo):before,.hero:before{background:linear-gradient(180deg,rgba(255,246,225,.55) 0%,rgba(255,246,225,.28) 40%,rgba(237,247,255,.08) 100%)}.hero:has(.hero-photo) .hero-photo{opacity:1;object-position:72% top}.hero-copy,.hero:has(.hero-photo) .hero-copy{max-width:360px;padding:16px 12px;border-radius:20px;background:rgba(255,247,229,.88);backdrop-filter:blur(2px)}.hero h1,.hero-sub,.hero-points li{position:relative;text-shadow:0 1px 0 #fff}.hero-points li{background:rgba(255,255,255,.9);width:max-content;max-width:100%;padding:7px 13px 7px 8px;border-radius:999px;box-shadow:0 6px 14px rgba(8,50,116,.08)}}
@media(max-width:600px){.hero:has(.hero-photo) .speed-pill,.hero:has(.hero-photo) .trust-float{display:none}.hero .cta-row{gap:14px}.hero .btn-primary{min-height:70px}.hero .btn-secondary{min-height:58px}}

/* ImageGen hero v2: clean bitmap background, CSS-native buttons and badges. */
.hero{min-height:430px;background:#f7fbff;border-bottom:1px solid #d9e8fb}
.hero:before{z-index:0;background:linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.9) 35%,rgba(255,255,255,.28) 54%,rgba(255,255,255,0) 76%)}
.hero-grid,.hero:has(.hero-photo) .hero-grid{grid-template-columns:minmax(0,620px) 1fr;min-height:430px;padding-block:0}
.hero-copy,.hero:has(.hero-photo) .hero-copy{max-width:620px;padding:34px 0 30px}
.hero-photo,.hero:has(.hero-photo) .hero-photo{object-fit:cover;object-position:center 30%;filter:saturate(1.03) contrast(1.02)}
.eyebrow{border:1px solid rgba(255,201,40,.8);background:linear-gradient(180deg,#ffe074,#ffc526);box-shadow:0 10px 24px rgba(255,190,21,.18);color:#062766}
.hero h1{max-width:620px;margin:18px 0 12px;color:#061f58;font-size:clamp(38px,3.7vw,52px);line-height:1.04;letter-spacing:0;text-wrap:balance}
.hero h1 span{color:#056df5}
.hero-sub{max-width:560px;color:#0a2459;font-size:19px;line-height:1.45}
.hero-points{gap:10px;margin:19px 0 25px}
.hero-points li{min-height:36px;padding:7px 13px 7px 8px;border:1px solid rgba(255,255,255,.88);border-radius:999px;background:rgba(255,255,255,.72);box-shadow:0 10px 24px rgba(11,63,142,.1);backdrop-filter:blur(8px);font-size:13.5px}
.hero .cta-row{align-items:center;gap:12px}
.hero .btn{position:relative;overflow:hidden;min-height:60px;border:1px solid rgba(255,255,255,.78);box-shadow:0 16px 34px rgba(10,56,132,.16)}
.hero .btn:after{content:"";position:absolute;inset:1px;border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,rgba(255,255,255,.36),rgba(255,255,255,0) 42%)}
.hero .btn-primary{min-width:282px;min-height:70px;padding:10px 24px 10px 13px;background:linear-gradient(135deg,#ff6a3d 0%,#f51f25 58%,#d70916 100%);box-shadow:0 18px 34px rgba(230,28,31,.3);font-size:20px}
.hero .btn-primary .btn-icon{width:46px;height:46px;background:rgba(255,255,255,.2);box-shadow:inset 0 0 0 1px rgba(255,255,255,.24)}
.hero .btn-secondary{min-width:210px;min-height:62px;background:rgba(255,255,255,.78);color:#055fd9;box-shadow:0 16px 34px rgba(3,74,180,.14);backdrop-filter:blur(10px)}
.hero .btn-secondary .btn-icon{background:#eaf4ff;color:#056df5}
.speed-pill{left:47%;bottom:28px;padding:10px 24px 10px 16px;border:1px solid rgba(255,255,255,.86);background:rgba(255,255,255,.8);box-shadow:0 18px 40px rgba(7,63,146,.18);backdrop-filter:blur(12px)}
.speed-pill:before{width:54px;height:54px;margin-left:-8px;border:0;background:linear-gradient(180deg,#fff1aa,#ffb627);box-shadow:0 10px 22px rgba(255,168,0,.26);font-size:28px}
.speed-pill strong{color:#065bd8}
.trust-float{right:28px;bottom:30px;padding:16px 19px;border:1px solid rgba(255,255,255,.86);background:rgba(255,255,255,.78);box-shadow:0 18px 40px rgba(7,63,146,.18);backdrop-filter:blur(12px)}
.trust-float li:before{content:"✓";background:linear-gradient(180deg,#22c875,#0d9d53)}

@media(max-width:1200px){
  .hero-grid,.hero:has(.hero-photo) .hero-grid{grid-template-columns:minmax(0,570px) 1fr}
  .hero-copy,.hero:has(.hero-photo) .hero-copy{max-width:570px}
  .hero h1{font-size:clamp(36px,3.5vw,48px)}
  .speed-pill{left:44%}
}
@media(max-width:980px){
  .hero,.hero:has(.hero-photo){min-height:auto}
  .hero-grid,.hero:has(.hero-photo) .hero-grid{min-height:620px;padding-block:34px}
  .hero:before,.hero:has(.hero-photo):before{background:linear-gradient(180deg,rgba(255,255,255,.5) 0%,rgba(255,255,255,.3) 54%,rgba(237,247,255,.1) 100%)}
  .hero:has(.hero-photo) .hero-photo{opacity:1;object-position:62% top}
  .speed-pill,.hero:has(.hero-photo) .speed-pill,.trust-float,.hero:has(.hero-photo) .trust-float{display:none}
}
@media(max-width:600px){
  .hero-grid,.hero:has(.hero-photo) .hero-grid{min-height:calc(100vh - 62px);padding-block:54px 38px}
  .hero-copy,.hero:has(.hero-photo) .hero-copy{max-width:100%;padding:18px 12px;border:1px solid rgba(255,255,255,.72);border-radius:18px;background:rgba(255,250,238,.78);box-shadow:0 16px 34px rgba(7,48,116,.1);backdrop-filter:blur(8px)}
  .hero:has(.hero-photo) .hero-photo{opacity:1;object-position:62% top}
  .hero h1{font-size:clamp(33px,10vw,42px);line-height:1.05}
  .hero-sub{font-size:16.5px}
  .hero-points{gap:10px}
  .hero .cta-row{max-width:none}
  .hero .btn-primary,.hero .btn-secondary{width:100%;min-width:0}
}

/* Keep the banner bitmap full-bleed even while copy stays inside the content container. */
.hero{overflow:hidden}
.hero:has(.hero-photo) .hero-art{
  position:absolute;
  top:0;
  bottom:0;
  left:50%;
  right:auto;
  width:100vw;
  height:auto;
  transform:translateX(-50%);
  z-index:-1;
}
.hero:has(.hero-photo) .hero-photo{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-width:none;
}

/* V3 framing: keep technician hands, tablet, and full tool belt visible. */
.hero,.hero:has(.hero-photo){min-height:560px}
.hero-grid,.hero:has(.hero-photo) .hero-grid{min-height:560px}
.hero-copy,.hero:has(.hero-photo) .hero-copy{padding-top:54px}
.hero-photo,.hero:has(.hero-photo) .hero-photo{object-position:center 48%}
.speed-pill{bottom:76px}
.trust-float{bottom:90px}

@media(max-width:1200px){
  .hero,.hero:has(.hero-photo){min-height:520px}
  .hero-grid,.hero:has(.hero-photo) .hero-grid{min-height:520px}
  .speed-pill{bottom:54px}
  .trust-float{bottom:70px}
}
@media(max-width:980px){
  .hero,.hero:has(.hero-photo){min-height:auto}
  .hero-grid,.hero:has(.hero-photo) .hero-grid{min-height:650px}
  .hero:has(.hero-photo) .hero-photo{object-position:62% top}
}
@media(max-width:600px){
  .hero-grid,.hero:has(.hero-photo) .hero-grid{min-height:calc(100vh - 62px)}
  .hero-copy,.hero:has(.hero-photo) .hero-copy{padding-top:18px}
}

/* Compact demo-like hero typography and CTA sizing. */
.hero-copy,.hero:has(.hero-photo) .hero-copy{max-width:600px;padding-top:50px}
.eyebrow{
  padding:7px 22px;
  border-radius:20px;
  font-family:var(--font-main);
  font-size:14px;
  font-weight:700;
  line-height:1.18;
}
.hero h1{
  max-width:660px;
  margin:16px 0 12px;
  font-family:var(--font-main);
  font-size:clamp(39px,3.35vw,50px);
  font-weight:700;
  font-style:italic;
  line-height:.99;
  letter-spacing:0;
  transform:skewX(-5deg);
  transform-origin:left center;
}
.hero h1 span{display:block}
.hero-sub{
  max-width:610px;
  margin-bottom:18px;
  font-family:var(--font-main);
  font-size:20px;
  font-weight:700;
  line-height:1.28;
}
.hero-points{gap:12px;margin:18px 0 22px}
.hero-points li{
  min-height:32px;
  padding:6px 13px 6px 8px;
  font-family:var(--font-main);
  font-size:14px;
  font-weight:700;
}
.hero-points li:before{width:20px;height:20px;margin-right:8px}
.hero .cta-row{gap:14px}
.hero .btn{min-height:54px}
.hero .btn-primary{
  min-width:252px;
  min-height:62px;
  padding:8px 22px 8px 12px;
  font-size:18px;
}
.hero .btn-primary .btn-icon{width:40px;height:40px;font-size:20px}
.hero .btn-primary small{font-size:11px}
.hero .btn-primary em{font-size:12px}
.hero .btn-secondary{
  min-width:184px;
  min-height:56px;
  padding-inline:20px;
  font-size:16px;
}
.hero .btn-secondary .btn-icon{width:34px;height:34px}
.speed-pill{
  gap:8px;
  min-height:58px;
  padding:8px 20px 8px 12px;
  font-size:14px;
}
.speed-pill:before{width:46px;height:46px;font-size:24px}
.speed-pill strong{font-size:21px}
.trust-float{padding:13px 17px;gap:7px}
.trust-float li{font-size:12.5px}

@media(max-width:1200px){
  .hero-copy,.hero:has(.hero-photo) .hero-copy{max-width:560px}
  .hero h1{font-size:clamp(36px,3.2vw,45px)}
  .hero-sub{font-size:18px}
}
@media(max-width:600px){
  .hero-copy,.hero:has(.hero-photo) .hero-copy{max-width:100%;padding-top:18px}
  .eyebrow{font-size:12px;padding:7px 17px}
  .hero h1{font-size:clamp(32px,9.4vw,40px);transform:skewX(-3deg)}
  .hero-sub{font-size:16px;line-height:1.35}
  .hero-points li{font-size:13.5px}
  .hero .btn-primary,.hero .btn-secondary{min-height:58px}
}

/* Final cleanup: Vietnamese-safe type and one tidy CTA cluster. */
.hero-copy,.hero:has(.hero-photo) .hero-copy{max-width:650px}
.hero h1{
  max-width:650px;
  margin:16px 0 12px;
  font-family:var(--font-main);
  font-size:clamp(42px,3.85vw,56px);
  font-weight:700;
  font-style:normal;
  line-height:1.12;
  letter-spacing:0;
  text-transform:uppercase;
  transform:none;
  text-wrap:balance;
  text-rendering:geometricPrecision;
}
.hero h1 span{display:block;margin-top:4px;color:#056df5}
.hero-sub{
  max-width:650px;
  margin:0 0 18px;
  font-family:var(--font-main);
  font-size:20px;
  font-weight:700;
  line-height:1.35;
}
.hero-points{gap:10px;margin:18px 0 18px}
.hero-points li{font-family:var(--font-main);font-size:14px;font-weight:700}
.hero-copy .cta-row{
  display:grid;
  grid-template-columns:246px 216px;
  align-items:center;
  gap:10px;
  max-width:472px;
}
.hero-copy .speed-pill{
  position:static;
  grid-column:1 / -1;
  width:100%;
  min-height:54px;
  transform:none;
  padding:8px 17px 8px 10px;
  border-radius:28px;
  gap:10px;
  font-family:var(--font-main);
  font-size:14px;
  line-height:1.1;
  justify-content:flex-start;
}
.hero-copy .speed-pill:before{
  width:38px;
  height:38px;
  margin-left:0;
  font-size:21px;
}
.hero-copy .speed-pill strong{margin-left:auto;font-size:22px}
.hero-copy .speed-pill span,.hero-copy .speed-pill strong{display:inline;white-space:nowrap}
.hero .btn-primary{
  min-width:0;
  width:246px;
  min-height:60px;
  padding:8px 18px 8px 11px;
  font-size:18px;
}
.hero .btn-primary .btn-icon{width:38px;height:38px;font-size:19px}
.hero .btn-secondary{
  min-width:0;
  width:216px;
  min-height:60px;
  padding-inline:16px;
  font-size:15px;
  white-space:nowrap;
}
.hero .btn-secondary .btn-icon{width:32px;height:32px}
.hero-art>.speed-pill{display:none}
.trust-float{right:28px}

@media(max-width:1200px){
  .hero-copy,.hero:has(.hero-photo) .hero-copy{max-width:600px}
  .hero h1{font-size:clamp(38px,3.5vw,48px)}
  .hero-sub{font-size:18px}
  .hero-copy .cta-row{grid-template-columns:246px 216px;max-width:472px}
  .hero-copy .speed-pill{grid-column:1 / -1;width:100%}
}
@media(max-width:600px){
  .hero-copy,.hero:has(.hero-photo) .hero-copy{max-width:100%}
  .hero h1{font-size:clamp(32px,9.2vw,39px);line-height:1.04;transform:none}
  .hero-sub{font-size:16px;line-height:1.35}
  .hero-copy .cta-row{display:grid;grid-template-columns:1fr;max-width:none;gap:10px}
  .hero .btn-primary,.hero .btn-secondary{width:100%;min-height:58px}
  .hero-copy .speed-pill{display:flex;order:-1;width:100%;max-width:100%;min-height:50px}
  .hero:has(.hero-photo) .hero-copy .speed-pill{display:flex}
  .hero-copy .speed-pill strong{font-size:20px}
}

/* Preserve the intended two-line hero title: each sentence stays on one line. */
.hero h1,
.hero h1 span{
  white-space:nowrap;
}
@media(max-width:1200px){
  .hero h1{font-size:clamp(34px,3.2vw,43px)}
}
@media(max-width:980px){
  .hero h1{font-size:clamp(28px,6.8vw,40px)}
}
@media(max-width:600px){
  .hero h1{font-size:clamp(23px,6.85vw,27px);line-height:1.16}
  .hero h1 span{margin-top:5px}
}

/* CTA row and plain trust checks per latest layout direction. */
.hero-points{
  gap:26px;
  margin:18px 0 20px;
}
.hero-points li{
  min-height:auto;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
  color:#08245a;
  font-size:14px;
  font-weight:700;
}
.hero-points li:before{
  content:"✓";
  width:20px;
  height:20px;
  margin-right:8px;
  background:#16b45f;
  color:#fff;
  box-shadow:0 0 0 3px rgba(22,180,95,.12);
}
.hero-copy .cta-row{
  grid-template-columns:228px 182px 190px;
  max-width:620px;
  gap:10px;
  margin-top:56px;
}
.hero .btn-primary,
.hero .btn-secondary,
.hero-copy .speed-pill{
  width:100%;
  min-height:58px;
  height:58px;
  border-radius:999px;
  overflow:hidden;
  white-space:nowrap;
}
.hero .btn-primary{padding:8px 16px 8px 10px}
.hero .btn-primary span:last-child,
.hero .btn-secondary,
.hero-copy .speed-pill span,
.hero-copy .speed-pill strong{
  min-width:0;
}
.hero .btn-secondary{padding-inline:14px;font-size:14px}
.hero-copy .speed-pill{
  grid-column:auto;
  padding:8px 12px 8px 9px;
}
.hero-copy .speed-pill:before{
  width:36px;
  height:36px;
  flex:0 0 36px;
}
.hero-copy .speed-pill span{font-size:12px}
.hero-copy .speed-pill strong{
  margin-left:2px;
  font-size:17px;
}

@media(max-width:1200px){
  .hero-copy .cta-row{
    grid-template-columns:218px 172px 184px;
    max-width:594px;
    margin-top:42px;
  }
  .hero .btn-primary,
  .hero .btn-secondary,
  .hero-copy .speed-pill{
    min-height:56px;
    height:56px;
  }
  .hero-copy .speed-pill span{display:inline}
  .hero-copy .speed-pill strong{font-size:16px}
}
@media(max-width:980px){
  .hero-copy .cta-row{
    grid-template-columns:1fr 1fr;
    max-width:470px;
  }
  .hero-copy .speed-pill{
    grid-column:1 / -1;
  }
  .hero-copy .speed-pill span{display:inline}
}
@media(max-width:600px){
  .hero-points{display:grid;gap:12px;margin:18px 0}
  .hero-copy .cta-row{
    grid-template-columns:1fr;
    max-width:none;
    margin-top:18px;
  }
  .hero .btn-primary,
  .hero .btn-secondary,
  .hero-copy .speed-pill{
    height:58px;
  }
}
@media(max-width:980px){
  .services-section .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .services-section .service-card{min-height:275px}
}
@media(max-width:600px){
  .services-section{padding:44px 0}
  .services-section .section-title{margin-bottom:22px;text-align:left}
  .services-section .section-title .kicker{font-size:10px}
  .services-section .section-title h2{font-size:27px}
  .services-section .section-title p{font-size:14px;line-height:1.6}
  .services-section .service-grid{grid-template-columns:1fr;gap:12px}
  .services-section .service-card{display:flex;min-height:auto;grid-template-columns:none}
  .services-section .service-thumb{aspect-ratio:16/9;min-height:0}
  .services-section .service-thumb span{width:62px;height:62px;border-radius:20px;font-size:38px}
  .services-section .service-body{padding:14px}
  .services-section .service-body p{min-height:auto}
}
@media(max-width:980px){
  .why-section .trust-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px}
  .why-section .trust-item{grid-template-rows:86px 40px 34px;min-height:182px}
  .why-section .trust-item:after{display:none}
}
@media(max-width:600px){
  .why-section{padding:40px 0 70px}
  .why-section .section-title{text-align:center}
  .why-section .section-title h2{font-size:25px;line-height:1.18}
  .why-section .trust-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px;border-radius:18px}
  .why-section .trust-item{grid-template-rows:76px 38px 38px;min-height:168px;padding:10px 8px 14px;border:1px solid rgba(207,227,255,.75)}
  .why-section .trust-icon{width:76px;height:76px;border-radius:24px}
  .why-section .trust-icon img{width:74px;height:74px}
  .why-section .trust-item strong{font-size:14px}
  .why-section .trust-item span:not(.trust-icon){font-size:12px}
}
@media(max-width:980px){
  .section:has(.review-grid) .review-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .section:has(.review-grid) .review{grid-template-columns:62px 1fr;min-height:196px}
  .section:has(.review-grid) .review:before{width:62px;height:62px}
}
@media(max-width:600px){
  .section:has(.review-grid){padding:40px 0 74px}
  .section:has(.review-grid) .section-title h2{font-size:26px;line-height:1.18}
  .section:has(.review-grid) .review-grid{grid-template-columns:1fr;gap:12px}
  .section:has(.review-grid) .review{grid-template-columns:58px 1fr;min-height:178px;padding:17px;border-radius:18px}
  .section:has(.review-grid) .review:before{width:58px;height:58px;border-radius:16px;font-size:16px}
  .section:has(.review-grid) .review blockquote{font-size:13.5px}
}
@media(max-width:980px){
  #dat-lich{padding:58px 0 72px}
  #dat-lich .content-layout{grid-template-columns:1fr;gap:18px}
  #dat-lich .sidebar-card{position:relative;top:auto;min-height:auto}
}
@media(max-width:600px){
  #dat-lich{padding:44px 0 82px}
  #dat-lich .content-layout>div:first-child{padding:22px;border-radius:22px}
  #dat-lich .content-layout>div:first-child:before{left:22px;right:22px}
  #dat-lich .section-title{text-align:left!important;margin-bottom:22px}
  #dat-lich .section-title h2{font-size:27px;line-height:1.14}
  #dat-lich .section-title p{font-size:14px}
  #dat-lich .form-grid{grid-template-columns:1fr;gap:15px}
  #dat-lich .form-group.full{grid-column:auto}
  #dat-lich .form-control{min-height:54px;border-radius:14px;font-size:15px}
  #dat-lich textarea.form-control{min-height:132px}
  #dat-lich .form-group.full:last-child{display:block}
  #dat-lich .form-group.full:last-child:after{display:block;margin-top:10px}
  #dat-lich .btn-primary{width:100%;min-width:0;border-radius:16px}
  #dat-lich .sidebar-card{padding:24px;border-radius:22px}
  #dat-lich .sidebar-card h3{font-size:21px}
  #dat-lich .sidebar-card a{font-size:30px!important}
}
@media(max-width:980px){
  .home-seo-section{padding:58px 0 66px}
  .home-seo-card{padding:36px 34px 34px;border-radius:24px}
  .home-seo-card h2{margin-right:76px}
}
@media(max-width:600px){
  .home-seo-section{padding:44px 0 70px}
  .home-seo-card{padding:28px 22px 26px;border-left-width:4px;border-radius:20px}
  .home-seo-card:after{right:20px;top:22px;width:42px;height:42px;border-radius:14px;font-size:20px}
  .home-seo-card h2{margin-right:54px;margin-bottom:18px;font-size:25px;line-height:1.2}
  .home-seo-card h2:before{width:48px;height:4px;margin-bottom:12px}
  .home-seo-card p{padding-left:18px;font-size:15px;line-height:1.65}
}
@media(max-width:1100px){
  .coverage{grid-template-columns:120px minmax(0,1fr) auto;gap:14px}
  .coverage-areas{grid-column:2 / 3;grid-template-columns:repeat(3,max-content)}
  .coverage-call{grid-row:1 / span 2;grid-column:3}
}
@media(max-width:760px){
  .coverage-section{padding:26px 0 22px}
  .coverage{grid-template-columns:86px minmax(0,1fr);padding:16px;gap:12px;border-radius:18px}
  .coverage-visual{height:64px}
  .coverage h2{font-size:17px}
  .coverage p{font-size:13px}
  .coverage-areas{grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px}
  .coverage-call{grid-row:auto;grid-column:1 / -1;width:100%;min-width:0;justify-content:center}
}
@media(max-width:760px){
  .site-footer{padding:22px 0 30px;text-align:center}
  .footer-brand{align-items:center;text-align:left}
  .footer-brand-mark{width:44px;height:44px;font-size:24px}
  .footer-brand-mark img{width:32px;height:32px}
  .footer-brand strong{font-size:18px}
  .footer-brand em{font-size:11px}
  .site-footer h2{font-size:16px;line-height:1.3}
  .footer-contact-line{display:grid;gap:5px;font-size:13px}
  .footer-social{display:grid;grid-template-columns:repeat(2,1fr);width:min(100%,320px);gap:10px}
  .footer-social a{min-width:0;min-height:42px;padding:8px 10px;font-size:13.5px}
  .footer-bottom{max-width:270px;line-height:1.45}
}
.process-section{
  position:relative;
  overflow:hidden;
  padding:44px 0;
  background:linear-gradient(180deg,#f7fbff 0,#edf7ff 100%);
}
.process-section:before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:1px;
  background:linear-gradient(90deg,transparent,#b9dcff,transparent);
}
.process-section .container{position:relative;z-index:1}
.process-section .section-title{margin-bottom:22px}
.process-section .section-title .kicker{display:none}
.process-section .section-title h2{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  margin:0;
  color:#071f57;
  font-size:clamp(26px,3vw,36px);
  font-weight:700;
  line-height:1.12;
  text-transform:uppercase;
}
.process-section .section-title h2:before,
.process-section .section-title h2:after{
  content:"";
  display:block;
  width:58px;
  height:2px;
  border:0;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,#0d84ff);
}
.process-section .section-title h2:after{background:linear-gradient(90deg,#0d84ff,transparent)}
.process-section .process-grid{
  position:relative;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;
  align-items:stretch;
}
.process-section .process-grid:before{
  content:"";
  position:absolute;
  left:7%;
  right:7%;
  top:50%;
  z-index:0;
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(13,132,255,0),rgba(255,198,47,.55) 16%,rgba(13,132,255,.46) 50%,rgba(255,198,47,.55) 84%,rgba(13,132,255,0));
  box-shadow:0 0 0 1px rgba(255,255,255,.65),0 8px 18px rgba(7,91,234,.14);
  transform:translateY(-50%);
}
.process-section .process-item{
  isolation:isolate;
  position:relative;
  z-index:1;
  min-height:156px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  align-items:center;
  padding:88px 18px 20px;
  border:1px solid rgba(121,183,255,.54);
  border-radius:18px;
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(245,251,255,.9));
  box-shadow:0 12px 28px rgba(7,72,164,.1),inset 0 1px 0 rgba(255,255,255,.95);
  clip-path:none;
  overflow:hidden;
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.process-section .process-item:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:radial-gradient(circle at 72% 0,rgba(13,132,255,.15),transparent 36%),linear-gradient(135deg,rgba(255,198,47,.12),transparent 38%);
  opacity:.72;
}
.process-section .process-item:after{
  content:"";
  position:absolute;
  right:-28px;
  top:-34px;
  z-index:-1;
  width:116px;
  height:116px;
  border-radius:50%;
  background:linear-gradient(145deg,rgba(13,132,255,.14),rgba(255,255,255,0));
}
.process-section .process-item:hover{
  transform:translateY(-5px);
  border-color:#69b1ff;
  box-shadow:0 18px 34px rgba(7,72,164,.16),inset 0 1px 0 rgba(255,255,255,.95);
}
.process-section .process-no{
  position:absolute;
  left:50%;
  top:20px;
  transform:translateX(-50%);
  display:grid;
  place-items:center;
  width:52px;
  height:52px;
  margin:0;
  border:4px solid #ffc62f;
  border-radius:50%;
  background:radial-gradient(circle at 35% 28%,#31a8ff 0,#0878ee 48%,#004fc8 100%);
  color:#fff;
  font-size:22px;
  font-weight:700;
  line-height:1;
  box-shadow:0 12px 22px rgba(0,101,231,.3),0 0 0 4px rgba(255,198,47,.18),inset 0 1px 0 rgba(255,255,255,.42);
}
.process-section .process-item h3{
  margin:0 0 7px;
  color:#061f57;
  font-size:17px;
  line-height:1.25;
  font-weight:700;
  text-align:center;
}
.process-section .process-item p{
  margin:0;
  color:#17315d;
  font-size:13.5px;
  font-weight:600;
  line-height:1.45;
  text-align:center;
}
@media(max-width:1200px){
  .process-section .process-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .process-section .process-grid:before{display:none}
  .process-section .process-item{min-height:158px;padding-left:18px}
}
@media(max-width:700px){
  .process-section{padding:38px 0}
  .process-section .section-title h2{display:block;font-size:clamp(15px,5.6vw,25px);text-align:center;white-space:nowrap}
  .process-section .section-title h2:before,
  .process-section .section-title h2:after{display:none}
  .process-section .process-grid{grid-template-columns:1fr;gap:12px}
  .process-section .process-item{
    min-height:auto;
    padding:84px 18px 18px;
    justify-content:center;
  }
  .process-section .process-no{left:50%;top:18px;transform:translateX(-50%);width:50px;height:50px;font-size:21px}
}
.offers-section{padding-top:34px}
.offers-section .offer-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.offers-section .offer{
  position:relative;
  min-height:210px;
  display:flex;
  align-items:center;
  padding:22px;
  border:1px solid rgba(141,196,255,.72);
  border-radius:18px;
  overflow:hidden;
  background:#fff;
  color:#071f57;
  box-shadow:0 16px 34px rgba(7,72,164,.14);
}
.offers-section .offer-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  z-index:0;
  transition:transform .35s ease,filter .35s ease;
}
.offers-section .offer:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(90deg,rgba(255,255,255,.96) 0,rgba(255,255,255,.86) 44%,rgba(255,255,255,.18) 72%,rgba(255,255,255,0) 100%);
}
.offers-section .offer:first-child:before{
  background:linear-gradient(90deg,rgba(0,80,200,.96) 0,rgba(0,104,230,.82) 42%,rgba(0,104,230,.16) 74%,rgba(0,104,230,0) 100%);
}
.offers-section .offer-content{position:relative;z-index:2;max-width:58%}
.offers-section .offer h3{margin:0 0 6px;color:#071f57;font-size:22px;line-height:1.18;font-weight:700}
.offers-section .offer:first-child h3,
.offers-section .offer:first-child li{color:#fff}
.offers-section .offer-price{display:block;margin-bottom:8px;color:#f8302d;font-size:31px;font-weight:700;line-height:1}
.offers-section .offer:first-child .offer-price{color:#ffc62f}
.offers-section .offer ul{margin:0 0 15px;padding:0;list-style:none;color:#0b2b5f;font-size:13px;font-weight:700;line-height:1.45}
.offers-section .offer li{position:relative;padding-left:18px}
.offers-section .offer li+li{margin-top:3px}
.offers-section .offer li:before{content:"✓";position:absolute;left:0;top:0;color:#12a95c;font-weight:700}
.offers-section .offer .btn{min-height:38px;padding:7px 18px;font-size:13px;box-shadow:0 8px 16px rgba(7,91,234,.18)}
.offers-section .offer:hover .offer-bg{transform:scale(1.045);filter:saturate(1.06)}
@media(max-width:980px){
  .offers-section .offer-grid{grid-template-columns:1fr}
  .offers-section .offer{min-height:220px}
}
@media(max-width:600px){
  .offers-section .offer{min-height:210px;padding:18px}
  .offers-section .offer-content{max-width:68%}
  .offers-section .offer h3{font-size:20px}
  .offers-section .offer-price{font-size:27px}
}

/* Service category polish */
.service-category .section-title h2{
  color:#06215c;
  text-shadow:0 1px 0 rgba(255,255,255,.8);
}
.service-category .section-title h2 strong,
.service-category .section-title h2 .accent{
  color:#ffc62f;
}
.service-category .service-kicker{
  padding:8px 14px;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(255,198,47,.22),rgba(255,255,255,.82));
  border:1px solid rgba(255,198,47,.5);
  color:#9b4b00;
  box-shadow:0 10px 22px rgba(255,198,47,.12);
}
.service-category-hero .service-kicker{
  color:#06215c;
}
.service-category .service-facts span{
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:9px 15px;
  font-size:14px;
  color:#09245d;
}
.service-device-photo{
  transform:translateZ(0);
}
.service-device-photo:focus-within,
.service-device-photo:hover{
  box-shadow:0 32px 76px color-mix(in srgb,var(--service-accent) 28%,transparent);
}
.service-issue-section{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 9% 10%,rgba(255,198,47,.22),transparent 24%),
    radial-gradient(circle at 91% 22%,rgba(7,91,234,.14),transparent 28%),
    linear-gradient(180deg,#eef8ff 0,#f8fcff 100%);
}
.service-issue-section .section-title{
  margin-bottom:24px;
}
.service-issue-grid{
  gap:22px;
}
.service-issue-grid article{
  position:relative;
  min-height:214px;
  padding:24px 24px 26px;
  overflow:hidden;
  border:1px solid rgba(133,190,255,.72);
  border-radius:26px;
  background:
    radial-gradient(circle at 90% 0,rgba(7,91,234,.13),transparent 31%),
    linear-gradient(180deg,#fff 0,#f8fcff 100%);
  box-shadow:0 18px 42px rgba(9,65,147,.12);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.service-issue-grid article:before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:5px;
  background:linear-gradient(90deg,#ffc62f,#075bea);
}
.service-issue-grid article:hover{
  transform:translateY(-6px);
  border-color:rgba(7,91,234,.46);
  box-shadow:0 26px 56px rgba(7,91,234,.17);
}
.issue-card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:22px;
}
.service-issue-grid article .issue-no{
  display:grid;
  place-items:center;
  width:66px;
  height:66px;
  border-radius:22px;
  background:linear-gradient(145deg,#ffc62f,#ffe28a);
  color:#06215c;
  font-size:28px;
  font-weight:700;
  letter-spacing:0;
  box-shadow:0 15px 28px rgba(255,198,47,.3),inset 0 0 0 5px rgba(255,255,255,.55);
}
.service-issue-grid article .issue-mark{
  position:relative;
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  border-radius:20px;
  background:linear-gradient(145deg,#eaf5ff,#fff);
  color:inherit;
  box-shadow:inset 0 0 0 1px rgba(7,91,234,.13);
}
.service-issue-grid article .issue-mark:before,
.service-issue-grid article .issue-mark:after{
  content:"";
  position:absolute;
  border-radius:999px;
}
.service-issue-grid article .issue-mark:before{
  width:26px;
  height:26px;
  border:5px solid #075bea;
  border-right-color:#ffc62f;
}
.service-issue-grid article .issue-mark:after{
  width:10px;
  height:10px;
  background:#ffc62f;
  box-shadow:18px 0 0 rgba(7,91,234,.24),0 18px 0 rgba(7,91,234,.18);
}
.service-issue-grid h3{
  margin:0 0 10px;
  font-size:clamp(20px,2vw,24px);
  line-height:1.2;
  color:#06215c;
  font-weight:700;
}
.service-issue-grid p{
  color:#4f6385;
  font-size:16px;
  line-height:1.55;
  font-weight:600;
}
.service-price-table{
  border:0;
  border-radius:24px;
  background:#fff;
  box-shadow:0 18px 46px rgba(9,65,147,.12);
}
.price-row{
  align-items:center;
  min-height:64px;
  padding:18px 20px;
  border-color:#d9eaff;
}
.price-head{
  background:linear-gradient(90deg,#063b9d,#075bea);
}
.price-row:not(.price-head) strong{
  display:inline-flex;
  justify-content:center;
  padding:8px 12px;
  border-radius:999px;
  background:#fff6d9;
  color:#9b4b00;
}
.service-process{
  gap:16px;
}
.service-process article{
  grid-template-columns:68px 1fr;
  align-items:center;
  min-height:108px;
  padding:20px;
  border:1px solid rgba(133,190,255,.72);
  border-left:0;
  border-radius:24px;
  background:linear-gradient(120deg,#fff,#f5fbff);
  box-shadow:0 16px 36px rgba(9,65,147,.1);
}
.service-process article>span{
  width:58px;
  height:58px;
  border:5px solid #ffc62f;
  background:#075bea;
  font-size:24px;
  box-shadow:0 14px 26px rgba(7,91,234,.22);
}
.service-process h3{
  font-size:20px;
}
.service-process p{
  font-size:15px;
  line-height:1.5;
}
.category-cta-card{
  padding:26px;
  border-radius:28px;
  border:1px solid rgba(255,198,47,.46);
  background:
    radial-gradient(circle at 90% 8%,rgba(255,198,47,.22),transparent 27%),
    linear-gradient(180deg,#fff 0,#f3f9ff 100%);
  box-shadow:0 24px 56px rgba(7,72,164,.14);
}
.category-cta-card:before{
  content:"";
  display:block;
  height:6px;
  margin:-26px -26px 22px;
  border-radius:28px 28px 0 0;
  background:linear-gradient(90deg,#075bea,#ffc62f,#ff3b30);
}
.category-cta-card h2{
  margin:12px 0 10px;
  color:#06215c;
  font-size:30px;
  line-height:1.14;
}
.category-cta-card p{
  color:#526585;
  font-weight:700;
  line-height:1.55;
}
.category-cta-phone{
  container-type:inline-size;
  margin:20px 0 14px;
  padding:18px;
  border-radius:22px;
  background:linear-gradient(135deg,#063b9d,#075bea);
  color:#fff;
  text-align:center;
  box-shadow:0 18px 34px rgba(7,91,234,.2);
}
.category-cta-phone span{
  display:block;
  margin-bottom:4px;
  color:#dcecff;
  font-weight:700;
  font-size:13px;
}
.category-cta-phone strong{
  display:block;
  overflow:hidden;
  color:#ffc62f;
  font-size:clamp(18px,13cqw,34px);
  line-height:1;
  letter-spacing:.01em;
  text-align:center;
}
.category-cta-actions{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  margin-bottom:22px;
}
.category-cta-actions .btn{
  justify-content:center;
  min-height:50px;
  width:100%;
}
.category-cta-actions .btn-secondary{
  background:#fff;
  border:1px solid rgba(7,91,234,.2);
  color:#075bea;
}
.category-cta-card h3{
  margin:18px 0 12px;
  color:#06215c;
  font-size:17px;
}
.category-cta-card .service-meta{
  gap:9px;
}
.category-cta-card .chip{
  padding:8px 11px;
  background:#fff;
  border:1px solid #d7e9ff;
  color:#075bea;
  box-shadow:0 8px 16px rgba(7,91,234,.08);
}
.related-service-section{
  overflow:hidden;
  background:
    linear-gradient(180deg,#edf8ff 0,#f7fcff 100%);
}
.related-service-section .section-title{
  margin-bottom:20px;
}
.related-service-section .section-title h2{
  background:linear-gradient(90deg,#06215c,#075bea 58%,#06215c);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.related-service-slider{
  display:grid!important;
  grid-auto-flow:column;
  grid-auto-columns:calc((100% - 72px)/5);
  grid-template-columns:none!important;
  gap:18px;
  overflow-x:auto;
  overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory;
  padding:10px 4px 28px;
  scrollbar-color:#8cc7ff #e9f5ff;
  scrollbar-width:thin;
}
.related-service-slider .service-card{
  scroll-snap-align:start;
  min-width:0;
  overflow:hidden;
  min-height:390px;
  border:1px solid rgba(139,198,255,.75);
  border-radius:24px;
  background:#fff;
  box-shadow:0 18px 42px rgba(7,60,145,.14);
}
.related-service-slider .service-card:hover{
  transform:translateY(-6px);
  box-shadow:0 28px 58px rgba(7,60,145,.18);
}
.related-service-slider .service-thumb{
  aspect-ratio:16/9.4;
  font-size:70px;
  background:#eaf5ff;
}
.related-service-slider .service-thumb img{
  transition:transform .35s ease,filter .35s ease;
}
.related-service-slider .service-card:hover .service-thumb img{
  transform:scale(1.055);
  filter:saturate(1.06);
}
.related-service-slider .service-body{
  padding:22px 22px 20px;
}
.related-service-slider .service-body h3{
  min-height:auto;
  margin-bottom:12px;
  color:#06215c;
  font-size:21px;
  line-height:1.2;
}
.related-service-slider .service-body p{
  min-height:72px;
  color:#31476b;
  font-size:15px;
  font-weight:600;
  line-height:1.55;
}
.related-service-slider .service-body .service-meta{
  margin-top:4px;
}
.related-service-slider .service-body .chip{
  font-size:13px;
  padding:7px 10px;
  background:#eef7ff;
}
.related-service-slider .card-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:52px;
  margin-top:16px;
  padding:0 14px 0 18px;
  border-radius:999px;
  background:linear-gradient(90deg,#fff6d9,#fff,#eef7ff);
  border:1px solid #cde5ff;
  color:#075bea;
  font-size:15px;
  font-weight:700;
  box-shadow:0 10px 18px rgba(7,91,234,.08);
}
.related-service-slider .card-link:after{
  content:"→";
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border-radius:50%;
  background:#075bea;
  color:#fff;
}
@media(max-width:1180px){
  .related-service-slider{grid-auto-columns:calc((100% - 36px)/3)}
}
@media(max-width:980px){
  .service-issue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .category-cta-card{position:static}
  .related-service-slider{grid-auto-columns:calc((100% - 18px)/2)}
}
@media(max-width:600px){
  .service-issue-grid{grid-template-columns:1fr}
  .service-issue-grid article{min-height:190px;padding:22px}
  .service-issue-grid article .issue-no{width:58px;height:58px;font-size:24px}
  .issue-mark{width:50px;height:50px}
  .service-process article{grid-template-columns:56px 1fr;padding:16px}
  .service-process article>span{width:48px;height:48px;font-size:21px;border-width:4px}
  .category-cta-phone strong{font-size:29px}
  .related-service-slider{grid-auto-columns:82%}
  .related-service-slider .service-card{
    display:flex;
    min-height:350px;
  }
  .related-service-slider .service-thumb{
    aspect-ratio:16/9.4;
    min-height:0;
  }
  .services-section .service-grid{
    display:grid!important;
    grid-auto-flow:column;
    grid-template-columns:none!important;
    grid-auto-columns:62%;
    gap:14px;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    scroll-snap-type:x mandatory;
    padding:4px 4px 10px;
  }
  .services-section .service-grid .service-card{
    scroll-snap-align:start;
    min-width:0;
  }
  .services-section .service-grid .service-thumb{
    aspect-ratio:16/9.4;
    min-height:0;
  }
  .review-grid{
    display:grid!important;
    grid-auto-flow:column;
    grid-template-columns:none!important;
    grid-auto-columns:78%;
    gap:14px;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    scroll-snap-type:x mandatory;
    padding:4px 4px 10px;
  }
  .review-grid .review{
    scroll-snap-align:start;
    min-width:0;
  }
}

/* Swipe hint + prev/next nav shared by horizontal service sliders */
.slider-wrap{position:relative}
.slider-hint{display:none;align-items:center;justify-content:center;gap:9px;margin:0 0 12px;color:var(--muted);font-size:12.5px;font-weight:700}
.slider-hint:before,.slider-hint:after{content:"";width:18px;height:1px;background:var(--line)}
.slider-hint-icon{display:inline-block;animation:tsdm-swipe-hint 1.6s ease-in-out infinite}
@keyframes tsdm-swipe-hint{0%,100%{transform:translateX(0)}50%{transform:translateX(5px)}}
.slider-nav{position:absolute;top:38%;z-index:5;display:none;place-items:center;width:36px;height:36px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--blue);font-size:17px;font-weight:900;line-height:1;box-shadow:0 8px 18px rgba(7,60,145,.18);cursor:pointer}
.slider-nav.is-prev{left:-2px}
.slider-nav.is-next{right:-2px}
.slider-nav:active{transform:scale(.92)}
@media(max-width:980px){
  .related-service-slider-wrap .slider-hint,.related-service-slider-wrap .slider-nav{display:flex}
  .related-service-slider-wrap .slider-nav{display:grid}
}
@media(max-width:600px){
  .services-slider-wrap .slider-hint,.services-slider-wrap .slider-nav{display:flex}
  .services-slider-wrap .slider-nav{display:grid}
  .reviews-slider-wrap .slider-hint,.reviews-slider-wrap .slider-nav{display:flex}
  .reviews-slider-wrap .slider-nav{display:grid}
}

/* Compact full-width banner for About and Contact pages */
.page-gioi-thieu .rich-page-hero,
.page-lien-he .rich-page-hero{
  min-height:auto;
  align-items:stretch;
  padding:0;
  background:
    radial-gradient(circle at 84% 18%,rgba(255,198,47,.18),transparent 28%),
    radial-gradient(circle at 10% 58%,rgba(7,91,234,.1),transparent 32%),
    linear-gradient(105deg,#eaf6ff 0%,#f8fbff 48%,#fff8df 100%);
}
.page-gioi-thieu .rich-page-hero .inner-hero-grid,
.page-lien-he .rich-page-hero .inner-hero-grid{
  grid-template-columns:minmax(0,1fr) minmax(380px,520px);
  align-items:start;
  gap:44px;
  padding:26px 0 32px;
}
.page-gioi-thieu .rich-page-hero .breadcrumb,
.page-lien-he .rich-page-hero .breadcrumb{
  margin-bottom:10px;
}
.page-gioi-thieu .rich-page-hero h1,
.page-lien-he .rich-page-hero h1{
  max-width:760px;
  margin:18px 0 12px;
  font-size:clamp(42px,4.6vw,58px);
  line-height:.98;
}
.page-gioi-thieu .rich-page-hero p,
.page-lien-he .rich-page-hero p{
  max-width:700px;
  font-size:17px;
  line-height:1.55;
}
.page-gioi-thieu .hero-mini-facts,
.page-lien-he .hero-mini-facts{
  margin-top:20px;
  gap:10px;
}
.page-gioi-thieu .inner-cta-row,
.page-lien-he .inner-cta-row{
  margin-top:22px;
}
.page-gioi-thieu .inner-hero-visual,
.page-lien-he .inner-hero-visual{
  align-self:center;
  max-width:520px;
  gap:10px;
  padding:9px;
  border-radius:24px;
  box-shadow:0 22px 48px rgba(7,60,145,.14);
}
.page-gioi-thieu .inner-hero-visual:before,
.page-lien-he .inner-hero-visual:before{
  border-radius:24px;
}
.page-gioi-thieu .inner-hero-visual img,
.page-lien-he .inner-hero-visual img{
  aspect-ratio:16/8.2;
  border-radius:17px;
}
.page-gioi-thieu .hero-hotline-card,
.page-lien-he .hero-hotline-card{
  left:20px;
  bottom:86px;
  padding:12px 18px;
  border-radius:16px;
}
.page-gioi-thieu .hero-hotline-card strong,
.page-lien-he .hero-hotline-card strong{
  font-size:27px;
}
.page-gioi-thieu .inner-hero-visual ul,
.page-lien-he .inner-hero-visual ul{
  gap:8px;
}
.page-gioi-thieu .inner-hero-visual li,
.page-lien-he .inner-hero-visual li{
  min-height:50px;
  padding:9px 9px 9px 28px;
  font-size:12px;
}
@media(max-width:980px){
  .page-gioi-thieu .rich-page-hero .inner-hero-grid,
  .page-lien-he .rich-page-hero .inner-hero-grid{
    grid-template-columns:1fr;
    gap:24px;
    padding:30px 0 40px;
  }
  .page-gioi-thieu .inner-hero-visual,
  .page-lien-he .inner-hero-visual{
    gap:6px;
    padding:7px;
    max-width:640px;
  }
}
@media(max-width:600px){
  .page-gioi-thieu .rich-page-hero .inner-hero-grid,
  .page-lien-he .rich-page-hero .inner-hero-grid{
    gap:18px;
    padding:22px 0 30px;
  }
  .page-gioi-thieu .rich-page-hero h1,
  .page-lien-he .rich-page-hero h1{
    margin:14px 0 10px;
    font-size:34px;
  }
  .page-gioi-thieu .rich-page-hero p,
  .page-lien-he .rich-page-hero p{
    font-size:15.5px;
    line-height:1.48;
  }
  .page-gioi-thieu .hero-mini-facts,
  .page-lien-he .hero-mini-facts{
    margin-top:16px;
  }
  .page-gioi-thieu .inner-cta-row,
  .page-lien-he .inner-cta-row{
    margin-top:16px;
    gap:10px;
  }
  .page-gioi-thieu .inner-cta-row .btn,
  .page-lien-he .inner-cta-row .btn{
    min-height:48px;
  }
  .page-gioi-thieu .inner-hero-visual img,
  .page-lien-he .inner-hero-visual img{
    aspect-ratio:16/6.8;
  }
  .page-gioi-thieu .hero-hotline-card,
  .page-lien-he .hero-hotline-card{
    position:absolute;
    left:14px;
    bottom:14px;
    width:auto;
    min-width:188px;
    margin:0;
    padding:10px 14px;
  }
  .page-gioi-thieu .hero-hotline-card strong,
  .page-lien-he .hero-hotline-card strong{
    font-size:24px;
  }
  .page-gioi-thieu .inner-hero-visual ul,
  .page-lien-he .inner-hero-visual ul{
    display:none;
  }
}

/* Stronger service silo and related-service sections */
.service-category .service-silo-section{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 13% 18%,rgba(255,198,47,.16),transparent 26%),
    radial-gradient(circle at 88% 10%,rgba(7,91,234,.12),transparent 30%),
    linear-gradient(180deg,#fff 0,#f4fbff 100%);
}
.service-category .service-silo-section .section-title h2,
.service-category .related-service-section .section-title h2{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  margin:0 0 10px;
  color:#06215c;
  background:none;
  -webkit-background-clip:initial;
  background-clip:initial;
  -webkit-text-fill-color:#06215c;
  text-shadow:0 2px 0 rgba(255,255,255,.9);
}
.service-category .service-silo-section .section-title h2:before,
.service-category .service-silo-section .section-title h2:after,
.service-category .related-service-section .section-title h2:before,
.service-category .related-service-section .section-title h2:after{
  content:"";
  display:block;
  width:70px;
  height:3px;
  border:0;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,#075bea 38%,#ffc62f);
}
.service-category .service-silo-section .section-title h2:after,
.service-category .related-service-section .section-title h2:after{
  background:linear-gradient(90deg,#ffc62f,#075bea 62%,transparent);
}
.service-category .service-silo-section .section-title p{
  max-width:820px;
  color:#536785;
  font-size:16.5px;
  line-height:1.65;
  font-weight:700;
}
.service-silo-grid{
  max-width:1120px;
  gap:24px;
}
.silo-column{
  position:relative;
  overflow:hidden;
  padding:0;
  border:1px solid rgba(137,194,255,.72);
  border-radius:26px;
  background:linear-gradient(180deg,#fff,#f8fcff);
  box-shadow:0 22px 52px rgba(7,60,145,.12);
}
.silo-column:before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:7px;
  background:linear-gradient(90deg,#075bea,#ffc62f,#ff4936);
}
.silo-column h3{
  display:flex;
  align-items:center;
  gap:12px;
  margin:0;
  padding:28px 30px 18px;
  color:#06215c;
  font-size:24px;
  line-height:1.2;
  font-weight:700;
  text-transform:none;
}
.silo-column h3:before{
  content:"";
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  flex:0 0 42px;
  border-radius:15px;
  background:linear-gradient(145deg,#075bea,#0d84ff);
  box-shadow:0 12px 24px rgba(7,91,234,.2),inset 0 0 0 1px rgba(255,255,255,.35);
}
.silo-column:first-child h3:before{
  background:
    linear-gradient(145deg,#ff4936,#ff7b54);
}
.silo-column ul{
  display:grid;
  gap:10px;
  margin:0;
  padding:0 30px 30px;
}
.silo-column li{
  border:0;
}
.silo-column a{
  position:relative;
  display:flex;
  align-items:center;
  min-height:54px;
  padding:12px 48px 12px 18px;
  border:1px solid #d7e9ff;
  border-radius:16px;
  background:#fff;
  color:#334869;
  font-size:16px;
  font-weight:700;
  box-shadow:0 10px 22px rgba(7,60,145,.07);
  transition:transform .2s ease,box-shadow .2s ease,color .2s ease,border-color .2s ease;
}
.silo-column a:before{
  content:"";
  width:8px;
  height:8px;
  margin-right:12px;
  border-radius:50%;
  background:#ffc62f;
  box-shadow:0 0 0 5px rgba(255,198,47,.18);
}
.silo-column a:after{
  content:"→";
  position:absolute;
  right:16px;
  top:50%;
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  border-radius:50%;
  background:#eef7ff;
  color:#075bea;
  transform:translateY(-50%);
}
.silo-column a:hover{
  color:#075bea;
  padding-left:18px;
  border-color:#9ed0ff;
  transform:translateY(-2px);
  box-shadow:0 16px 28px rgba(7,91,234,.12);
}
.related-service-section{
  position:relative;
  background:
    radial-gradient(circle at 50% 0,rgba(255,198,47,.2),transparent 22%),
    linear-gradient(180deg,#eef8ff 0,#f8fcff 100%);
}
.related-service-section .section-title{
  margin-bottom:26px;
}
.related-service-section .section-title .kicker{
  color:#9b4b00;
}
@media(max-width:980px){
  .service-silo-grid{
    grid-template-columns:1fr;
  }
  .service-category .service-silo-section .section-title h2,
  .service-category .related-service-section .section-title h2{
    gap:10px;
  }
}
@media(max-width:600px){
  .service-category .service-silo-section .section-title h2,
  .service-category .related-service-section .section-title h2{
    display:block;
    font-size:26px;
    line-height:1.18;
  }
  .service-category .service-silo-section .section-title h2:before,
  .service-category .service-silo-section .section-title h2:after,
  .service-category .related-service-section .section-title h2:before,
  .service-category .related-service-section .section-title h2:after{
    display:none;
  }
  .silo-column h3{
    padding:24px 20px 16px;
    font-size:21px;
  }
  .silo-column ul{
    padding:0 20px 22px;
  }
  .silo-column a{
    min-height:52px;
    font-size:15px;
  }
  .related-service-slider .service-card{
    min-height:360px;
  }
}

/* Keep About/Contact info cards below the hero instead of overlapping it */
.page-gioi-thieu .page-content-section,
.page-lien-he .page-content-section{
  padding-top:46px;
}
.page-gioi-thieu .page-info-strip,
.page-lien-he .page-info-strip{
  margin:0 0 36px;
}
.page-gioi-thieu .page-content-section:before,
.page-lien-he .page-content-section:before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(7,91,234,.22),transparent);
}
@media(max-width:980px){
  .page-gioi-thieu .page-content-section,
  .page-lien-he .page-content-section{
    padding-top:34px;
  }
  .page-gioi-thieu .page-info-strip,
  .page-lien-he .page-info-strip{
    margin:0 0 28px;
  }
}

/* Add visual icons to About/Contact article content */
.page-gioi-thieu .page-article,
.page-lien-he .page-article{
  background:
    radial-gradient(circle at 96% 8%,rgba(255,198,47,.16),transparent 24%),
    linear-gradient(180deg,#fff,#f8fcff);
}
.page-gioi-thieu .article-content h2,
.page-lien-he .article-content h2{
  display:flex;
  align-items:center;
  gap:14px;
  padding:0;
  margin-top:34px;
}
.page-gioi-thieu .article-content h2:first-child,
.page-lien-he .article-content h2:first-child{
  margin-top:0;
}
.page-gioi-thieu .article-content h2:before,
.page-lien-he .article-content h2:before{
  position:static;
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  flex:0 0 48px;
  border-radius:16px;
  background:linear-gradient(145deg,#075bea,#0d84ff);
  color:#fff;
  font-size:22px;
  line-height:1;
  box-shadow:0 14px 26px rgba(7,91,234,.2),inset 0 0 0 1px rgba(255,255,255,.34);
}
.page-lien-he .article-content h2:nth-of-type(1):before{content:"☎"}
.page-lien-he .article-content h2:nth-of-type(2):before{content:"✓";background:linear-gradient(145deg,#ffc62f,#ffb11c);color:#06215c}
.page-gioi-thieu .article-content h2:nth-of-type(1):before{content:"⚡"}
.page-gioi-thieu .article-content h2:nth-of-type(2):before{content:"✓";background:linear-gradient(145deg,#ffc62f,#ffb11c);color:#06215c}
.page-gioi-thieu .article-content h2:nth-of-type(3):before{content:"⌂"}
.page-lien-he .article-content p:first-of-type{
  position:relative;
  max-width:720px;
  margin:12px 0 34px;
  padding:18px 22px 18px 64px;
  border:1px solid #d6e9ff;
  border-radius:20px;
  background:#fff;
  color:#082b70;
  box-shadow:0 14px 34px rgba(7,60,145,.08);
}
.page-lien-he .article-content p:first-of-type:before{
  content:"☎\A @\A ⌂";
  white-space:pre;
  position:absolute;
  left:18px;
  top:18px;
  display:block;
  width:28px;
  color:#075bea;
  font-size:18px;
  font-weight:700;
  line-height:1.8;
  text-align:center;
}
.page-lien-he .article-content p:first-of-type:after{
  content:"";
  position:absolute;
  left:54px;
  top:18px;
  bottom:18px;
  width:1px;
  background:linear-gradient(180deg,#d8eaff,transparent);
}
.page-lien-he .article-content p:nth-of-type(2),
.page-gioi-thieu .article-content p{
  position:relative;
  padding:18px 20px;
  border:1px solid #dbeaff;
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 26px rgba(7,60,145,.06);
}
.page-lien-he .article-content p:nth-of-type(2):before,
.page-gioi-thieu .article-content p:before{
  content:"";
  display:inline-block;
  width:10px;
  height:10px;
  margin-right:10px;
  border-radius:50%;
  background:#17b66b;
  box-shadow:0 0 0 5px #ddf7ea;
  vertical-align:.08em;
}

/* Match contact-page left card height to the sidebar, and give its content more breathing room */
.page-lien-he .inner-page-layout{
  align-items:stretch;
}
.page-lien-he .page-article{
  padding:44px;
}
.page-lien-he .article-content{
  font-size:17.5px;
  line-height:1.85;
}
.page-lien-he .article-content h2{
  margin-top:40px;
}
.page-lien-he .article-content p:first-of-type{
  margin:16px 0 40px;
  padding:24px 26px 24px 68px;
  line-height:1.85;
}
.page-lien-he .article-content p:nth-of-type(2){
  padding:24px 26px;
  line-height:1.85;
}
.page-lien-he .article-content p:last-child{
  margin-bottom:0;
}
@media(max-width:600px){
  .page-gioi-thieu .article-content h2,
  .page-lien-he .article-content h2{
    gap:10px;
    font-size:25px;
  }
  .page-gioi-thieu .article-content h2:before,
  .page-lien-he .article-content h2:before{
    width:42px;
    height:42px;
    flex-basis:42px;
    border-radius:14px;
    font-size:19px;
  }
  .page-lien-he .article-content p:first-of-type{
    padding:16px 16px 16px 56px;
  }
  .page-lien-he .article-content p:first-of-type:before{
    left:16px;
    top:16px;
  }
  .page-lien-he .article-content p:first-of-type:after{
    left:48px;
    top:16px;
    bottom:16px;
  }
}

/* Compact service category hero with full-width bitmap banner */
.service-category .service-category-hero{
  isolation:isolate;
  min-height:430px;
  padding:32px 0;
  background:
    linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.9) 36%,rgba(255,255,255,.42) 54%,rgba(255,255,255,.08) 70%,rgba(255,255,255,0) 100%),
    linear-gradient(180deg,rgba(5,35,92,.06),rgba(255,198,47,.06)),
    var(--service-hero-img),
    linear-gradient(135deg,var(--service-soft),#fff7dc);
  background-size:cover,cover,auto 118%,cover;
  background-position:center,center,right 44%,center;
  border-bottom:1px solid rgba(255,198,47,.42);
}
.service-category .service-category-hero:before{
  z-index:-1;
  background:
    radial-gradient(circle at 15% 58%,rgba(7,91,234,.1),transparent 30%),
    radial-gradient(circle at 88% 12%,rgba(255,198,47,.18),transparent 28%);
}
.service-category .service-category-hero:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:6px;
  z-index:0;
  background:linear-gradient(90deg,#075bea,#ffc62f,#ff4936);
}
.service-category .service-hero-grid{
  min-height:366px;
  grid-template-columns:minmax(0,720px) minmax(220px,1fr);
  gap:28px;
  align-items:center;
}
.service-category .service-category-hero h1{
  max-width:760px;
  margin:14px 0 10px;
  font-size:clamp(40px,5vw,62px);
  line-height:1;
  letter-spacing:-.035em;
}
.service-category .service-category-hero .service-lead{
  max-width:690px;
  font-size:18px;
  line-height:1.48;
}
.service-category .service-category-hero .service-facts{
  margin:18px 0 22px;
}
.service-category .service-category-hero .service-facts span{
  min-height:40px;
  background:rgba(255,255,255,.9);
  backdrop-filter:blur(8px);
}
.service-category .service-category-hero .cta-row .btn{
  min-height:50px;
}
.service-category .service-device-photo{
  justify-self:end;
  align-self:end;
  width:min(360px,100%);
  margin:0 0 10px;
  padding:12px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.72);
  background:rgba(255,255,255,.68);
  box-shadow:0 20px 46px rgba(7,60,145,.18);
  backdrop-filter:blur(6px);
}
.service-category .service-device-photo>img{
  display:none;
}
.service-category .service-device-photo>div{
  grid-template-columns:58px 1fr;
  padding:0;
}
.service-category .service-device-photo .device-icon{
  width:54px;
  height:54px;
  border-radius:18px;
  background:linear-gradient(145deg,#fff6d9,#fff);
  box-shadow:0 10px 20px rgba(255,198,47,.18);
}
.service-category .service-device-photo strong{
  font-size:21px;
}
@media(max-width:980px){
  .service-category .service-category-hero{
    min-height:auto;
    padding:30px 0 34px;
    background:
      linear-gradient(180deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.9) 48%,rgba(255,255,255,.62) 100%),
      linear-gradient(180deg,rgba(5,35,92,.05),rgba(255,198,47,.06)),
      var(--service-hero-img),
      linear-gradient(135deg,var(--service-soft),#fff7dc);
    background-size:cover,cover,cover,cover;
    background-position:center,center,center,center;
  }
  .service-category .service-hero-grid{
    min-height:auto;
    grid-template-columns:1fr;
    gap:18px;
  }
  .service-category .service-device-photo{
    justify-self:start;
    width:min(100%,420px);
    margin:0;
  }
}
@media(max-width:600px){
  .service-category .service-category-hero{
    padding:24px 0 30px;
  }
  .service-category .service-category-hero h1{
    font-size:36px;
  }
  .service-category .service-category-hero .service-lead{
    font-size:15.5px;
  }
  .service-category .service-category-hero .service-facts{
    margin:14px 0 16px;
  }
  .service-category .service-category-hero .cta-row{
    max-width:none;
  }
  .service-category .service-category-hero .cta-row .btn{
    width:100%;
  }
  .service-category .service-device-photo{
    display:none;
  }
}

/* Audit fixes: header search, honeypot, small inline-style extractions */
.search-toggle{flex-shrink:0;margin-left:auto;background:none;border:0;color:#fff;font-size:19px;line-height:1;cursor:pointer;padding:6px}
.site-search{display:none;position:absolute;left:0;right:0;top:100%;background:#073eab;box-shadow:0 12px 24px rgba(4,33,92,.22)}
.site-search.is-open{display:block}
.site-search .container{display:flex;gap:10px;padding-block:12px}
.site-search .search-field{flex:1;min-height:44px;border-radius:10px;border:0;padding:9px 14px}
.hp-field{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.cta-title-left{text-align:left}
.sidebar-phone-link{font-size:26px;font-weight:700}
@media(max-width:600px){.site-search .container{flex-direction:column}}

/* Sharper service hero image: use the real bitmap panel, not an over-scaled background */
.service-category .service-category-hero{
  background:
    linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.94) 48%,rgba(255,255,255,.7) 63%,rgba(255,255,255,.12) 100%),
    linear-gradient(135deg,var(--service-soft),#fff7dc);
  background-size:cover,cover;
  background-position:center,center;
}
.service-category .service-category-hero:before{
  z-index:0;
  background:
    radial-gradient(circle at 14% 58%,rgba(7,91,234,.1),transparent 30%),
    radial-gradient(circle at 78% 20%,rgba(255,198,47,.12),transparent 26%);
}
.service-category .service-category-hero .container{
  z-index:2;
}
.service-category .service-hero-grid{
  grid-template-columns:minmax(0,620px) minmax(520px,1fr);
  gap:46px;
}
.service-category .service-hero-grid>div:first-child{
  max-width:620px;
}
.service-category .service-device-photo{
  position:relative;
  top:auto;
  right:auto;
  bottom:auto;
  width:100%;
  height:360px;
  justify-self:stretch;
  align-self:center;
  margin:0;
  padding:0;
  overflow:hidden;
  border:0;
  border-radius:30px;
  background:#fff;
  box-shadow:0 22px 54px rgba(7,60,145,.18);
  backdrop-filter:none;
}
.service-category .service-device-photo>img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  border-radius:0;
  filter:none;
}
.service-category .service-device-photo>div{
  position:absolute;
  left:22px;
  bottom:22px;
  width:min(360px,calc(100% - 44px));
  grid-template-columns:54px 1fr;
  gap:12px;
  padding:14px;
  border-radius:22px;
  background:rgba(255,255,255,.9);
  box-shadow:0 16px 34px rgba(7,60,145,.18);
  backdrop-filter:blur(8px);
}
.service-category .service-device-photo small{
  grid-column:2;
}
@media(max-width:980px){
  .service-category .service-category-hero{
    background:
      linear-gradient(180deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.92) 56%,rgba(255,255,255,.8) 100%),
      var(--service-hero-img),
      linear-gradient(135deg,var(--service-soft),#fff7dc);
    background-size:cover,cover,cover;
    background-position:center,center,center;
  }
  .service-category .service-device-photo{
    position:relative;
    inset:auto;
    width:100%;
    max-width:620px;
    height:260px;
    border-radius:24px;
    justify-self:start;
  }
}
@media(max-width:600px){
  .service-category .service-device-photo{
    display:block;
    height:190px;
    border-radius:20px;
  }
  .service-category .service-device-photo>div{
    display:none;
  }
}

/* Final responsive guard for service hero image panel */
@media(max-width:980px){
  .service-category .service-hero-grid{
    grid-template-columns:1fr;
    gap:18px;
  }
  .service-category .service-hero-grid>div:first-child{
    max-width:100%;
  }
  .service-category .service-device-photo{
    position:relative;
    inset:auto;
    width:100%;
    max-width:620px;
    height:260px;
    justify-self:start;
  }
}
@media(max-width:600px){
  .service-category .service-device-photo{
    height:178px;
  }
}

/* Final homepage hero polish: roomier title lines and balanced CTA pills. */
.hero h1{
  line-height:1.12;
}
.hero h1 span{
  margin-top:12px;
}
.hero-points li:before{
  content:"✓";
}
.hero-copy .cta-row{
  grid-template-columns:282px 224px 238px;
  max-width:772px;
  gap:14px;
  align-items:center;
  margin-top:58px;
}
.hero .btn-primary,
.hero .btn-secondary,
.hero-copy .speed-pill{
  height:68px;
  min-height:68px;
  border-radius:999px;
  box-shadow:0 16px 32px rgba(8,50,116,.14);
}
.hero .btn-primary{
  width:282px;
  padding:9px 22px 9px 14px;
  gap:12px;
}
.hero .btn-primary .btn-icon{
  width:44px;
  height:44px;
  font-size:20px;
}
.hero .btn-primary span:last-child{
  display:grid;
  gap:1px;
  line-height:1.05;
}
.hero .btn-primary small{
  font-size:12px;
  line-height:1;
}
.hero .btn-primary em{
  font-size:13px;
  line-height:1;
}
.hero .btn-secondary{
  width:224px;
  padding:0 22px;
  gap:12px;
  font-size:16px;
}
.hero .btn-secondary .btn-icon{
  width:40px;
  height:40px;
}
.hero-copy .speed-pill{
  width:238px;
  padding:9px 18px 9px 12px;
  gap:10px;
  justify-content:flex-start;
}
.hero-copy .speed-pill:before{
  width:44px;
  height:44px;
  flex-basis:44px;
  font-size:23px;
}
.hero-copy .speed-pill span{
  font-size:13px;
  font-weight:800;
}
.hero-copy .speed-pill strong{
  margin-left:auto;
  font-size:21px;
  letter-spacing:.01em;
}
@media(max-width:1200px){
  .hero h1 span{margin-top:10px}
  .hero-copy .cta-row{
    grid-template-columns:268px 210px 224px;
    max-width:730px;
    gap:12px;
    margin-top:46px;
  }
  .hero .btn-primary{width:268px}
  .hero .btn-secondary{width:210px}
  .hero-copy .speed-pill{width:224px}
}
@media(max-width:980px){
  .hero-copy .cta-row{
    grid-template-columns:1fr 1fr;
    max-width:520px;
    margin-top:26px;
  }
  .hero .btn-primary,
  .hero .btn-secondary{
    width:100%;
  }
  .hero-copy .speed-pill{
    grid-column:1 / -1;
    width:100%;
  }
}
@media(max-width:600px){
  .hero h1{line-height:1.16}
  .hero h1 span{margin-top:7px}
  .hero-copy .cta-row{
    grid-template-columns:1fr;
    gap:10px;
    max-width:none;
    margin-top:18px;
  }
  .hero .btn-primary,
  .hero .btn-secondary,
  .hero-copy .speed-pill{
    width:100%;
    height:60px;
    min-height:60px;
  }
}

/* Compact the homepage SEO block and the service-area banner beneath it. */
.home-seo-section{
  padding:38px 0 30px;
}
.home-seo-section:before{
  top:18px;
}
.home-seo-section:after{
  bottom:8px;
}
.home-seo-card{
  padding:32px 42px 30px 48px;
}
.home-seo-card h2{
  margin-bottom:16px;
}
.home-seo-card h2:before{
  margin-bottom:12px;
}
.home-seo-card p{
  margin-top:14px;
  line-height:1.62;
}
.coverage-section{
  padding:18px 0 22px;
}
@media(max-width:980px){
  .home-seo-section{
    padding:32px 0 26px;
  }
  .home-seo-card{
    padding:28px 30px 28px;
  }
  .coverage-section{
    padding:16px 0 20px;
  }
}
@media(max-width:600px){
  .home-seo-section{
    padding:26px 0 22px;
  }
  .home-seo-card{
    padding:24px 20px 22px;
  }
  .home-seo-card p{
    line-height:1.58;
  }
  .coverage-section{
    padding:14px 0 18px;
  }
}

/* Article footer: share row, author box, comments — restyled to match brand palette */
.article-post-footer{margin:30px 0 0;padding:20px 22px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,#fff,var(--sky))}
.article-share-row{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.article-share-copy strong{display:block;color:var(--navy);font-size:15px}
.article-share-copy small{color:var(--muted);font-size:12px}
.article-share-buttons{display:flex;gap:8px;flex:none}
.article-share-buttons a{display:flex;align-items:center;gap:8px;height:42px;padding:0 16px;border-radius:12px;color:#fff;font-size:13px;font-weight:700;text-decoration:none;box-shadow:0 8px 18px rgba(7,60,145,.16);transition:.2s transform,.2s box-shadow}
.article-share-buttons a:hover{transform:translateY(-2px);box-shadow:0 12px 22px rgba(7,60,145,.22)}
.article-share-buttons svg{width:18px;height:18px;fill:currentColor}
.article-share-buttons img{width:20px;height:20px;border-radius:5px;background:#fff}
.article-share-buttons .is-facebook{background:linear-gradient(135deg,#1977ef,#0d5fce)}
.article-share-buttons .is-zalo{background:linear-gradient(135deg,#0b8df3,#0874dc)}
.article-publication-meta{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:14px;padding-top:14px;border-top:1px dashed var(--line);color:var(--muted);font-size:12.5px}
.article-publication-meta span{display:inline-flex;align-items:center;gap:6px}
.article-publication-meta a{color:var(--blue);font-weight:700}

.author-box{position:relative;padding-left:28px;overflow:hidden}
.author-box:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--blue),var(--yellow),var(--red))}
.author-box__eyebrow{display:block;margin-bottom:4px;color:var(--blue);font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.author-box h3{font-size:19px}
.author-box h3 a{color:var(--navy)}
.author-box__role{margin:2px 0!important;color:var(--ink)!important;font-weight:700!important}
.author-box p{margin:4px 0;color:var(--muted);font-size:14px;line-height:1.65}
.author-box__link{display:inline-flex;align-items:center;gap:6px;margin-top:8px;color:var(--blue);font-size:13px;font-weight:800;text-decoration:none}
.author-box__link:hover{color:var(--red)}

.comments-area{padding:26px 28px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(135deg,#fff,#f6faff)}
.comments-heading{display:flex;align-items:center;gap:12px;margin:0 0 20px}
.comments-heading__icon{
  position:relative;
  display:grid;
  place-items:center;
  flex:none;
  width:48px;
  height:48px;
  border-radius:14px;
  background:linear-gradient(145deg,#0b7dff 0%,#075bea 58%,#0648c6 100%);
  color:#fff;
  font-size:0;
  box-shadow:0 12px 24px rgba(7,91,234,.24),inset 0 1px 0 rgba(255,255,255,.24);
}
.comments-heading__icon:before{
  content:"";
  width:22px;
  height:16px;
  border-radius:6px;
  background:#fff;
  box-shadow:0 0 0 1px rgba(255,255,255,.18);
}
.comments-heading__icon:after{
  content:"";
  position:absolute;
  left:17px;
  bottom:13px;
  width:7px;
  height:7px;
  background:#fff;
  clip-path:polygon(0 0,100% 0,0 100%);
}
.comments-heading>div{min-width:0}
.comments-heading span{display:block;color:var(--blue);font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.comments-heading h2{margin:2px 0 0;color:var(--navy);font-size:22px}
.comment-list{margin:0 0 22px;display:grid;gap:10px}
.comment-body{padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff}
.comment-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:0}
.comment-form>p{margin:0}
.comment-form-comment,.comment-form .comment-notes,.comment-form .logged-in-as{grid-column:1/-1}
.comment-form label{display:block;margin-bottom:6px;color:var(--navy);font-size:13px;font-weight:700}
.comment-form input:not([type=checkbox]),.comment-form textarea{width:100%;padding:11px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font:inherit;font-size:14px;outline:none;transition:.2s border-color,.2s box-shadow}
.comment-form textarea{min-height:120px;resize:vertical}
.comment-form input:focus,.comment-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(7,91,234,.12)}
.comment-form .comment-notes{color:var(--muted);font-size:12.5px}
.comment-form .form-submit{grid-column:1/-1;margin:6px 0 0}
.comment-form .form-submit input[type=submit]{display:inline-flex;min-height:48px;padding:0 26px;border:0;border-radius:999px;background:linear-gradient(180deg,#1485ff,var(--blue));color:#fff;font:inherit;font-size:14px;font-weight:800;cursor:pointer;box-shadow:0 10px 22px rgba(7,91,234,.24)}

/* Progressive comment form: start with just the textarea, reveal contact fields once the visitor starts typing */
.comment-form-author,.comment-form-email,.comment-form .comment-notes,.comment-form .form-submit{overflow:hidden;max-height:0;margin:0!important;opacity:0;transform:translateY(-6px);pointer-events:none;transition:max-height .3s ease,opacity .2s ease,transform .2s ease,margin .2s ease}
.comment-form.is-expanded .comment-form-author,.comment-form.is-expanded .comment-form-email{max-height:90px;opacity:1;transform:none;pointer-events:auto;margin-top:14px!important}
.comment-form.is-expanded .comment-notes{max-height:60px;opacity:1;transform:none;pointer-events:auto;margin-top:10px!important}
.comment-form.is-expanded .form-submit{max-height:70px;opacity:1;transform:none;pointer-events:auto;margin-top:14px!important}

/* Sidebar quick-request card: hotline CTA + lead form sharing the site-wide contact handler */
.article-cta-card{overflow:hidden;text-align:left}
.article-cta-card:before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,var(--blue),var(--yellow),var(--red))}
.article-cta-icon{display:grid;place-items:center;width:46px;height:46px;margin-bottom:14px;border-radius:14px;background:var(--sky);color:var(--blue);font-size:21px}
.article-cta-card h3{margin:0;color:var(--navy);font-size:19px}
.article-cta-card>p{margin:8px 0 16px;color:var(--muted);font-size:14px;line-height:1.6}
.article-cta-phone{display:flex;width:100%;justify-content:center;margin-bottom:16px}
.article-cta-divider{position:relative;margin:0 0 16px;text-align:center}
.article-cta-divider:before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--line)}
.article-cta-divider span{position:relative;padding:0 10px;background:#fff;color:var(--muted);font-size:12px;font-weight:700}
.article-cta-form.form-grid{grid-template-columns:1fr;gap:12px}
.article-cta-form .form-group label{font-size:12.5px}
.article-cta-form textarea.form-control{min-height:80px}
.article-cta-form .btn{width:100%}

/* Sidebar: services related to the article's topic, matched by device keyword */
.related-services-card{overflow:hidden;text-align:left;background:linear-gradient(160deg,#fff,var(--sky))}
.related-services-card:before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,var(--blue),var(--yellow),var(--red))}
.related-services-card h3{display:flex;align-items:center;gap:10px;margin:8px 0 16px;color:var(--navy);font-size:18px;line-height:1.3}
.related-services-icon{display:grid;place-items:center;width:38px;height:38px;flex:none;border-radius:12px;background:#fff;box-shadow:0 6px 14px rgba(7,60,145,.14);font-size:18px}
.related-services-list{display:grid;gap:10px;margin:0 0 18px;padding:0;list-style:none}
.related-services-list a{display:flex;align-items:center;gap:11px;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--navy);font-size:13.5px;font-weight:700;text-decoration:none;box-shadow:0 6px 16px rgba(8,58,135,.06);transition:.2s transform,.2s box-shadow,.2s border-color}
.related-services-list a:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(7,91,234,.16);border-color:var(--blue)}
.related-services-list a i{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:10px;background:var(--sky);font-style:normal;font-size:15px}
.related-services-list a span{flex:1;min-width:0}
.related-services-list a em{display:grid;place-items:center;flex:none;width:22px;height:22px;border-radius:50%;background:var(--sky);color:var(--blue);font-style:normal;font-size:12px;transition:.2s background,.2s color}
.related-services-list a:hover em{background:var(--blue);color:#fff}
.related-services-cta{width:100%;justify-content:center;box-shadow:0 12px 26px rgba(7,91,234,.24)}

/* Two stacked sidebar cards on the article page: stick together as one group instead of overlapping */
.single-article-page .content-layout>aside{position:sticky;top:92px;align-self:start;display:grid;gap:22px}
.single-article-page .content-layout>aside .sidebar-card{position:static}

/* Related posts: full-width section spanning the article + sidebar column */
.related-posts-section .post-grid{grid-template-columns:repeat(4,1fr)}
@media(max-width:1180px){.related-posts-section .post-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){.related-posts-section .post-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.related-posts-section .post-grid{grid-template-columns:1fr}}

@media(max-width:820px){
  .article-share-row{flex-direction:column;align-items:flex-start}
  .comments-area{padding:20px 18px}
  .comment-form{grid-template-columns:1fr}
}

/* Mobile hero: stop forcing near-full-viewport height so the wide banner photo
   (1600x667) doesn't need an extreme object-fit:cover crop, and shrink the text
   card so it no longer covers most of the photo. */
@media(max-width:600px){
  .hero-grid,.hero:has(.hero-photo) .hero-grid{display:flex!important;flex-direction:column!important;min-height:0!important;height:auto!important;padding-block:0!important}
  .hero:has(.hero-photo) .hero-art{order:-1!important;position:relative!important;inset:auto!important;top:auto!important;bottom:auto!important;transform:none!important;width:100vw!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;height:56vw!important;min-height:210px!important;max-height:320px!important;z-index:1!important;overflow:hidden!important}
  .hero:has(.hero-photo) .hero-photo{opacity:1!important;object-position:center 42%!important}
  .hero:has(.hero-photo):before{display:none!important}
  .hero-copy,.hero:has(.hero-photo) .hero-copy{position:relative!important;z-index:1!important;max-width:100%!important;margin:0!important;padding:20px 16px 26px!important;border:0!important;border-radius:0!important;background:linear-gradient(180deg,#fff8e6,#fff)!important;box-shadow:none!important;backdrop-filter:none!important}
  .hero h1,.hero-sub,.hero-points li{text-shadow:none!important}
}

@media(max-width:600px){
  .header-call{display:none!important}
  .header-inner{display:grid!important;grid-template-columns:44px 1fr 44px!important;align-items:center!important;gap:0!important}
  .menu-toggle{order:1!important;grid-column:1!important;justify-self:start!important;margin-left:0!important}
  .brand{order:2!important;grid-column:2!important;justify-self:center!important;text-align:center!important}
  .search-toggle{order:3!important;grid-column:3!important;justify-self:end!important;margin-left:0!important}
  .hero-points{display:flex!important;flex-wrap:nowrap!important;gap:6px!important;margin:14px 0 20px!important}
  .hero-points li{flex:1!important;justify-content:center!important;padding:7px 6px!important;font-size:10.5px!important;text-align:center!important;white-space:normal!important;line-height:1.2!important}
  .hero-points li:before{width:16px!important;height:16px!important;margin-right:4px!important;font-size:9px!important;flex:none!important}
}

/* Floating contact buttons: gentle bob + pulsing ring to draw the eye without being noisy */
.float-btn{position:relative;animation:tsdm-float-bob 2.6s ease-in-out infinite}
.float-btn:before{content:"";position:absolute;inset:0;border-radius:50%;animation:tsdm-float-pulse 2.2s ease-out infinite;pointer-events:none}
.float-btn.call{--pulse-rgb:255,40,29}
.float-btn.zalo-float{--pulse-rgb:0,132,255;animation-delay:.6s}
.float-btn.zalo-float:before{animation-delay:1.1s}
.float-btn:hover{animation-play-state:paused;transform:scale(1.08)}
.float-btn:active{transform:scale(.92)}
@keyframes tsdm-float-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes tsdm-float-pulse{
  0%{box-shadow:0 0 0 0 rgba(var(--pulse-rgb),.55)}
  70%{box-shadow:0 0 0 16px rgba(var(--pulse-rgb),0)}
  100%{box-shadow:0 0 0 0 rgba(var(--pulse-rgb),0)}
}
@media(prefers-reduced-motion:reduce){
  .float-btn,.float-btn:before{animation:none}
}

/* Promotional popup (Cài đặt website → Nút nổi & Popup) */
body.has-popup{overflow:hidden}
.tsdm-popup{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:20px}
.tsdm-popup-backdrop{position:absolute;inset:0;background:rgba(8,43,112,.55);backdrop-filter:blur(2px);opacity:0;transition:opacity .25s ease}
.tsdm-popup-card{position:relative;width:min(420px,100%);border-radius:24px;background:#fff;box-shadow:0 30px 70px rgba(7,48,116,.35);overflow:hidden;transform:translateY(16px) scale(.96);opacity:0;transition:transform .25s ease,opacity .25s ease}
.tsdm-popup.is-open .tsdm-popup-backdrop{opacity:1}
.tsdm-popup.is-open .tsdm-popup-card{transform:none;opacity:1}
.tsdm-popup-close{position:absolute;z-index:2;top:12px;right:12px;display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:50%;background:rgba(8,43,112,.08);color:var(--navy);font-size:20px;line-height:1;cursor:pointer}
.tsdm-popup-close:hover{background:rgba(8,43,112,.16)}
.tsdm-popup-image{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:var(--sky)}
.tsdm-popup-body{padding:26px 26px 28px;text-align:center}
.tsdm-popup-body h3{margin:0 0 10px;color:var(--navy);font-size:22px;line-height:1.25}
.tsdm-popup-body p{margin:0 0 20px;color:var(--muted);font-size:14.5px;line-height:1.6}
.tsdm-popup-body .btn{width:100%}
@media(max-width:480px){
  .tsdm-popup-body{padding:22px 18px 24px}
}

/* Flexible Content safety guards.
   Claude-added layouts can be rendered inside article/sidebar containers on pages,
   terms, and service content. Keep those sections scoped to their parent so full
   width homepage blocks do not break existing grids. */
.page-article > .section,
.article > .section,
.seo-block > .section{
  margin:28px 0;
  padding:0;
}
.page-article > .section > .container,
.article > .section > .container,
.seo-block > .section > .container{
  width:100%;
  max-width:none;
}
.page-article .section-title,
.article .section-title,
.seo-block .section-title{
  text-align:left;
}
.page-article .trust-grid,
.article .trust-grid,
.seo-block .trust-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.page-article .process-grid,
.article .process-grid,
.seo-block .process-grid,
.page-article .offer-grid,
.article .offer-grid,
.seo-block .offer-grid,
.page-article .review-grid,
.article .review-grid,
.seo-block .review-grid{
  grid-template-columns:1fr;
}
.page-article .content-layout,
.article .content-layout,
.seo-block .content-layout{
  grid-template-columns:1fr!important;
}
@media(max-width:600px){
  .page-article > .section,
  .article > .section,
  .seo-block > .section{
    margin:22px 0;
  }
  .page-article .trust-grid,
  .article .trust-grid,
  .seo-block .trust-grid{
    grid-template-columns:1fr;
  }
}

/* Text repair after Flexible Content rollout */
.hero-copy{
  position:relative;
  z-index:6;
  max-width:920px;
}
.hero h1{
  max-width:920px;
  font-size:clamp(36px,3.7vw,54px);
  line-height:1.08;
  letter-spacing:0;
  text-wrap:normal;
  white-space:nowrap;
}
.hero h1 span{
  display:block;
  white-space:nowrap;
}
.hero .btn-primary small{
  text-transform:none;
  letter-spacing:0;
  white-space:nowrap;
}
.hero .btn-primary span:last-child{
  min-width:0;
}
.home-rich-text-section{
  padding:42px 0 34px;
  background:#fff;
}
.home-rich-text-section .home-seo-card{
  margin-top:0;
}
.home-rich-text-section .article-content h2:first-child{
  margin-top:0;
}
@media(max-width:980px){
  .hero-copy,
  .hero h1{
    max-width:100%;
  }
}
@media(max-width:600px){
  .hero h1{
    font-size:clamp(24px,6.65vw,29px);
    line-height:1.14;
    max-width:100%;
    overflow-wrap:break-word;
  }
  .hero h1 span{white-space:nowrap}
  .home-rich-text-section{
    padding:28px 0 24px;
  }
}

/* Mobile service cards: keep copy out of image areas on service/archive pages. */
@media(max-width:600px){
  .archive-services-page .service-card,
  .taxonomy-hub .service-card,
  .taxonomy-group-grid .service-card,
  .related-service-slider .service-card,
  .services-section .service-grid .service-card{
    display:flex!important;
    flex-direction:column!important;
    grid-template-columns:none!important;
    min-height:0!important;
    overflow:hidden!important;
    border-radius:18px!important;
    background:#fff!important;
  }
  .archive-services-page .service-thumb,
  .taxonomy-hub .service-thumb,
  .taxonomy-group-grid .service-thumb,
  .related-service-slider .service-thumb,
  .services-section .service-grid .service-thumb{
    display:block!important;
    width:100%!important;
    min-height:0!important;
    aspect-ratio:16/9!important;
    flex:0 0 auto!important;
    overflow:hidden!important;
  }
  .archive-services-page .service-thumb img,
  .taxonomy-hub .service-thumb img,
  .taxonomy-group-grid .service-thumb img,
  .related-service-slider .service-thumb img,
  .services-section .service-grid .service-thumb img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }
  .archive-services-page .service-body,
  .taxonomy-hub .service-body,
  .taxonomy-group-grid .service-body,
  .related-service-slider .service-body,
  .services-section .service-grid .service-body{
    position:static!important;
    display:flex!important;
    flex:1 1 auto!important;
    flex-direction:column!important;
    min-width:0!important;
    padding:14px 14px 15px!important;
    background:#fff!important;
  }
  .archive-services-page .service-body h3,
  .taxonomy-hub .service-body h3,
  .taxonomy-group-grid .service-body h3,
  .related-service-slider .service-body h3,
  .services-section .service-grid .service-body h3{
    display:flex!important;
    align-items:flex-start!important;
    gap:8px!important;
    min-height:0!important;
    margin:0 0 7px!important;
    color:#071f57!important;
    font-size:16px!important;
    line-height:1.25!important;
  }
  .archive-services-page .service-body h3 a,
  .taxonomy-hub .service-body h3 a,
  .taxonomy-group-grid .service-body h3 a,
  .related-service-slider .service-body h3 a,
  .services-section .service-grid .service-body h3 a{
    min-width:0!important;
    color:#071f57!important;
    overflow-wrap:anywhere!important;
  }
  .archive-services-page .service-body h3:before,
  .taxonomy-hub .service-body h3:before,
  .taxonomy-group-grid .service-body h3:before,
  .related-service-slider .service-body h3:before,
  .services-section .service-grid .service-body h3:before{
    width:28px!important;
    height:28px!important;
    margin-top:-2px!important;
    flex:0 0 28px!important;
    font-size:13px!important;
  }
  .archive-services-page .service-body p,
  .taxonomy-hub .service-body p,
  .taxonomy-group-grid .service-body p,
  .related-service-slider .service-body p,
  .services-section .service-grid .service-body p{
    display:-webkit-box!important;
    min-height:0!important;
    margin:0 0 12px!important;
    overflow:hidden!important;
    color:#334866!important;
    font-size:13px!important;
    line-height:1.45!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
  }
  .archive-services-page .service-meta,
  .taxonomy-hub .service-meta,
  .taxonomy-group-grid .service-meta,
  .related-service-slider .service-meta,
  .services-section .service-grid .service-meta{
    margin-top:auto!important;
  }
  .archive-services-page .card-link,
  .taxonomy-hub .card-link,
  .taxonomy-group-grid .card-link,
  .related-service-slider .card-link,
  .services-section .service-grid .card-link{
    position:static!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-height:40px!important;
    margin:12px 0 0!important;
    padding:9px 12px!important;
    border:1px solid #cfe4ff!important;
    border-radius:999px!important;
    background:#eef7ff!important;
    color:#075bea!important;
    font-size:13px!important;
    line-height:1.2!important;
    text-align:center!important;
    box-shadow:none!important;
  }
  .related-service-slider .card-link:after{
    display:none!important;
  }
}

/* Mobile service landing chips: three balanced actions without an empty column. */
@media(max-width:600px){
  .service-category-hero{
    overflow:hidden!important;
  }
  .service-category-hero .container,
  .service-category-hero .service-hero-grid,
  .service-category-hero .service-hero-grid>div{
    max-width:100%!important;
    min-width:0!important;
  }
  .service-category-hero .container{
    width:min(calc(100% - 24px),var(--container))!important;
    margin-inline:auto!important;
  }
  .service-category-hero .service-hero-grid{
    width:100%!important;
    grid-template-columns:minmax(0,1fr)!important;
  }
  .service-category .service-category-hero .service-hero-grid,
  .service-category .service-category-hero .service-hero-grid>div:first-child{
    width:calc(100vw - 24px)!important;
    max-width:calc(100vw - 24px)!important;
    min-width:0!important;
  }
  .service-category-hero .service-hero-grid>div:first-child{
    padding-inline:12px!important;
    text-align:center!important;
  }
  .service-category-hero .breadcrumb{
    text-align:left!important;
  }
  .service-category-hero .service-kicker{
    display:inline-block!important;
    width:fit-content!important;
    max-width:280px!important;
    margin:0 auto 12px!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    font-size:11.5px!important;
    line-height:1.25!important;
    text-align:center!important;
  }
  .service-category-hero h1,
  .service-category-hero .service-lead{
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    text-align:left!important;
  }
  .service-category-hero .service-lead{
    display:block!important;
    width:auto!important;
  }
  .landing-chip-row{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    width:100%!important;
    margin:18px 0 20px!important;
  }
  .landing-chip-row span{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:0!important;
    min-height:48px!important;
    padding:8px 7px!important;
    border-radius:16px!important;
    text-align:center!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    font-size:12px!important;
    line-height:1.22!important;
  }
  .landing-chip-row span:nth-child(3){
    grid-column:auto!important;
  }
  .service-category-hero .service-facts{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    width:100%!important;
    margin:16px 0 20px!important;
  }
  .service-category-hero .service-facts span{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:0!important;
    min-height:48px!important;
    padding:8px 7px!important;
    border-radius:16px!important;
    text-align:center!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    font-size:12px!important;
    line-height:1.22!important;
  }
  .service-category-hero .service-facts span:nth-child(3){
    grid-column:auto!important;
  }
}

/* Booking popup: "Đặt lịch online" opens this instead of scrolling, styled like the homepage hero/CTA gradient */
.tsdm-booking-popup{position:fixed;inset:0;z-index:210;display:grid;place-items:center;padding:20px}
.tsdm-booking-popup .tsdm-popup-backdrop{position:absolute;inset:0;background:rgba(8,43,112,.55);backdrop-filter:blur(2px);opacity:0;transition:opacity .25s ease}
.tsdm-booking-popup.is-open .tsdm-popup-backdrop{opacity:1}
.tsdm-booking-card{position:relative;width:min(480px,100%);max-height:90vh;overflow-y:auto;border-radius:26px;background:#fff;box-shadow:0 30px 70px rgba(7,48,116,.4);transform:translateY(16px) scale(.96);opacity:0;transition:transform .25s ease,opacity .25s ease}
.tsdm-booking-popup.is-open .tsdm-booking-card{transform:none;opacity:1}
.tsdm-booking-popup .tsdm-popup-close{background:rgba(255,255,255,.22);color:#fff}
.tsdm-booking-popup .tsdm-popup-close:hover{background:rgba(255,255,255,.34)}
.tsdm-booking-header{position:relative;overflow:hidden;padding:32px 28px 26px;border-radius:26px 26px 0 0;background:linear-gradient(135deg,#073eab 0,#075bea 55%,#0d84ff 100%);color:#fff}
.tsdm-booking-header:before{content:"";position:absolute;right:-40px;top:-60px;width:190px;height:190px;border-radius:50%;background:rgba(255,255,255,.08)}
.tsdm-booking-header:after{content:"";position:absolute;left:-30px;bottom:-50px;width:130px;height:130px;border-radius:50%;background:rgba(255,255,255,.06)}
.tsdm-booking-kicker{position:relative;z-index:1;display:inline-block;margin-bottom:10px;padding:5px 13px;border-radius:999px;background:rgba(255,255,255,.16);color:var(--yellow);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.tsdm-booking-header h3{position:relative;z-index:1;margin:0 0 8px;font-size:23px;line-height:1.28}
.tsdm-booking-header p{position:relative;z-index:1;margin:0 0 18px;color:#dbeaff;font-size:13.5px;line-height:1.6}
.tsdm-booking-hotline{position:relative;z-index:1;display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:14px;background:rgba(255,255,255,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.16)}
.tsdm-booking-hotline span{color:#cfe0ff;font-size:12px;font-weight:700}
.tsdm-booking-hotline a{color:var(--yellow);font-size:19px;font-weight:900}
.tsdm-booking-body{padding:24px 28px 28px}
.tsdm-booking-body .form-grid{grid-template-columns:1fr;gap:14px}
.tsdm-booking-body .btn{width:100%}
.tsdm-booking-body .notice{margin-bottom:16px}
@media(max-width:480px){
  .tsdm-booking-header{padding:26px 20px 22px}
  .tsdm-booking-body{padding:20px 20px 24px}
}

/* Mobile service issue cards: center numbered badges, keep the small icon tucked to the right. */
@media(max-width:600px){
  .service-issue-grid article{
    position:relative!important;
    padding-top:24px!important;
  }
  .service-issue-grid .issue-card-head{
    display:block!important;
    margin:0 0 20px!important;
    text-align:center!important;
  }
  .service-issue-grid article .issue-no{
    display:grid!important;
    place-items:center!important;
    width:58px!important;
    height:58px!important;
    margin-inline:auto!important;
    padding:0!important;
    line-height:1!important;
    text-align:center!important;
    font-variant-numeric:tabular-nums!important;
  }
  .service-issue-grid article .issue-mark{
    position:absolute!important;
    top:20px!important;
    right:20px!important;
    width:50px!important;
    height:50px!important;
  }
}

/* Homepage hero title: tighten the first section typography after the Flexible Content rollout. */
body.home .hero-copy,
body.front-page .hero-copy{
  max-width:1040px!important;
}
body.home .hero h1,
body.front-page .hero h1{
  max-width:1040px!important;
  margin:14px 0 14px!important;
  color:#06215c!important;
  font-family:'Be Vietnam Pro','Inter',-apple-system,BlinkMacSystemFont,sans-serif!important;
  font-size:clamp(40px,3.6vw,56px)!important;
  font-weight:700!important;
  line-height:1.08!important;
  letter-spacing:0!important;
  text-transform:none!important;
  text-wrap:normal!important;
  white-space:normal!important;
}
body.home .hero h1 br,
body.front-page .hero h1 br{
  display:none!important;
}
body.home .hero h1 span,
body.front-page .hero h1 span{
  display:block!important;
  margin:0!important;
  color:#075bea!important;
  font-family:'Be Vietnam Pro','Inter',-apple-system,BlinkMacSystemFont,sans-serif!important;
  font-weight:700!important;
  white-space:normal!important;
}
body.home .hero h1 .hero-title-main,
body.front-page .hero h1 .hero-title-main{
  color:#075bea!important;
}
body.home .hero h1 .hero-title-sub,
body.front-page .hero h1 .hero-title-sub{
  margin-top:15px!important;
  color:#ffc62f!important;
  text-shadow:0 2px 0 rgba(6,33,92,.08)!important;
}
@media(min-width:981px){
  body.home .hero h1 span,
  body.front-page .hero h1 span{
    white-space:nowrap!important;
  }
}
@media(max-width:980px){
  body.home .hero h1,
  body.front-page .hero h1{
    font-size:clamp(36px,6.8vw,52px)!important;
    line-height:1.08!important;
  }
}
@media(max-width:600px){
  body.home .hero h1,
  body.front-page .hero h1{
    font-size:clamp(28px,8.3vw,36px)!important;
    line-height:1.1!important;
  }
  body.home .hero h1 .hero-title-sub,
  body.front-page .hero h1 .hero-title-sub{
    margin-top:10px!important;
  }
}

/* Mobile service hero spacing: give breadcrumbs breathing room and soften the fact chips. */
@media(max-width:600px){
  .service-landing .brand-landing-hero,
  .service-landing .fault-landing-hero{
    padding-top:34px!important;
    padding-bottom:36px!important;
  }
  .service-landing .landing-hero-grid{
    padding-top:0!important;
    gap:24px!important;
  }
  .service-landing .breadcrumb{
    display:block!important;
    margin:0 0 18px!important;
    line-height:1.45!important;
  }
  .service-landing .landing-kicker{
    display:flex!important;
    width:max-content!important;
    max-width:100%!important;
    margin:0 auto 20px!important;
  }
  .service-landing .landing-chip-row,
  .service-category-hero .service-facts{
    gap:8px!important;
    margin:15px 0 18px!important;
  }
  .service-landing .landing-chip-row span,
  .service-category-hero .service-facts span{
    min-height:40px!important;
    padding:6px 12px!important;
    border:1px solid rgba(7,91,234,.16)!important;
    border-bottom-color:rgba(7,91,234,.16)!important;
    border-radius:13px!important;
    background:rgba(255,255,255,.82)!important;
    box-shadow:none!important;
  }
}

/* Desktop category sidebar: keep short service names on one line inside the booking card. */
@media(min-width:981px){
  .category-cta-card h2{
    max-width:100%!important;
    font-size:clamp(24px,1.7vw,28px)!important;
    line-height:1.12!important;
    letter-spacing:0!important;
    white-space:nowrap!important;
  }
}

/* Homepage hero CTA cleanup: remove the old badge and make the three actions feel balanced. */
body.home .hero .eyebrow,
body.front-page .hero .eyebrow{
  display:none!important;
}
body.home .hero h1,
body.front-page .hero h1{
  margin-top:0!important;
}
body.home .hero-copy .cta-row,
body.front-page .hero-copy .cta-row{
  display:grid!important;
  grid-template-columns:minmax(260px,1.12fr) minmax(220px,.92fr) minmax(230px,.96fr)!important;
  align-items:stretch!important;
  gap:16px!important;
  width:min(100%,805px)!important;
  max-width:805px!important;
  margin-top:36px!important;
}
body.home .hero .btn-primary,
body.front-page .hero .btn-primary,
body.home .hero .btn-secondary,
body.front-page .hero .btn-secondary,
body.home .hero-copy .speed-pill,
body.front-page .hero-copy .speed-pill{
  width:100%!important;
  height:66px!important;
  min-height:66px!important;
  padding:10px 18px!important;
  border-radius:999px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
  box-shadow:0 14px 30px rgba(7,48,116,.16)!important;
}
body.home .hero .btn-primary,
body.front-page .hero .btn-primary{
  justify-content:flex-start!important;
  padding-left:14px!important;
  background:linear-gradient(135deg,#ff725f 0%,#fa2b2c 52%,#e2121c 100%)!important;
  box-shadow:0 16px 32px rgba(239,34,32,.28)!important;
}
body.home .hero .btn-primary .btn-icon,
body.front-page .hero .btn-primary .btn-icon,
body.home .hero .btn-secondary .btn-icon,
body.front-page .hero .btn-secondary .btn-icon{
  width:44px!important;
  height:44px!important;
  flex:0 0 44px!important;
}
body.home .hero .btn-primary span:last-child,
body.front-page .hero .btn-primary span:last-child{
  display:grid!important;
  gap:1px!important;
  min-width:0!important;
  line-height:1.05!important;
}
body.home .hero .btn-primary small,
body.front-page .hero .btn-primary small,
body.home .hero .btn-primary em,
body.front-page .hero .btn-primary em{
  font-size:12px!important;
  line-height:1!important;
}
body.home .hero .btn-secondary,
body.front-page .hero .btn-secondary,
body.home .hero-copy .speed-pill,
body.front-page .hero-copy .speed-pill{
  background:rgba(255,255,255,.94)!important;
  border:1px solid rgba(7,91,234,.08)!important;
  color:#075bea!important;
}
body.home .hero .btn-secondary .btn-icon,
body.front-page .hero .btn-secondary .btn-icon{
  background:#eef7ff!important;
  color:#075bea!important;
}
body.home .hero-copy .speed-pill,
body.front-page .hero-copy .speed-pill{
  position:static!important;
  color:#082b70!important;
  border-color:rgba(255,198,47,.28)!important;
}
body.home .hero-copy .speed-pill:before,
body.front-page .hero-copy .speed-pill:before{
  content:"\23F1"!important;
  display:grid!important;
  place-items:center!important;
  position:static!important;
  width:44px!important;
  height:44px!important;
  flex:0 0 44px!important;
  margin:0!important;
  border:0!important;
  border-radius:50%!important;
  background:linear-gradient(180deg,#ffe88a,#ffb62a)!important;
  color:#ff7815!important;
  font-size:22px!important;
  line-height:1!important;
  box-shadow:none!important;
}
body.home .hero-copy .speed-pill span,
body.front-page .hero-copy .speed-pill span{
  display:inline!important;
  font-size:12px!important;
  font-weight:800!important;
  white-space:nowrap!important;
}
body.home .hero-copy .speed-pill strong,
body.front-page .hero-copy .speed-pill strong{
  display:inline!important;
  margin:0!important;
  color:#075bea!important;
  font-size:22px!important;
  line-height:1!important;
  white-space:nowrap!important;
}
@media(max-width:980px){
  body.home .hero-copy .cta-row,
  body.front-page .hero-copy .cta-row{
    grid-template-columns:1fr!important;
    width:100%!important;
    max-width:none!important;
    margin-top:24px!important;
  }
}
@media(max-width:600px){
  body.home .hero .btn-primary,
  body.front-page .hero .btn-primary,
  body.home .hero .btn-secondary,
  body.front-page .hero .btn-secondary,
  body.home .hero-copy .speed-pill,
  body.front-page .hero-copy .speed-pill{
    height:58px!important;
    min-height:58px!important;
  }
  body.home .hero .btn-primary .btn-icon,
  body.front-page .hero .btn-primary .btn-icon,
  body.home .hero .btn-secondary .btn-icon,
  body.front-page .hero .btn-secondary .btn-icon,
  body.home .hero-copy .speed-pill:before,
  body.front-page .hero-copy .speed-pill:before{
    width:38px!important;
    height:38px!important;
    flex-basis:38px!important;
  }
}

/* Homepage hero spacing after removing the badge: lift the content block to close the empty top area. */
@media(min-width:981px){
  body.home .hero:has(.hero-photo) .hero-grid,
  body.front-page .hero:has(.hero-photo) .hero-grid{
    min-height:520px!important;
    padding-block:20px 28px!important;
  }
  body.home .hero .hero-copy,
  body.front-page .hero .hero-copy{
    transform:translate(clamp(-58px,-3.1vw,-28px),clamp(-48px,-3.6vw,-30px))!important;
  }
  body.home .hero:has(.hero-photo) .hero-photo,
  body.front-page .hero:has(.hero-photo) .hero-photo{
    object-position:center 24%!important;
  }
}
@media(max-width:980px){
  body.home .hero .hero-copy,
  body.front-page .hero .hero-copy{
    transform:none!important;
  }
}

/* Homepage mobile hero: place the main headline inside the empty left side of the banner photo. */
@media(max-width:600px){
  body.home .hero,
  body.front-page .hero{
    position:relative!important;
  }
  body.home .hero:has(.hero-photo) .hero-grid,
  body.front-page .hero:has(.hero-photo) .hero-grid{
    gap:0!important;
    width:100vw!important;
    max-width:100vw!important;
    margin-left:calc(50% - 50vw)!important;
    margin-right:calc(50% - 50vw)!important;
  }
  body.home .hero:has(.hero-photo) .hero-art,
  body.front-page .hero:has(.hero-photo) .hero-art{
    min-height:250px!important;
    height:64vw!important;
    max-height:285px!important;
  }
  body.home .hero:has(.hero-photo) .hero-photo,
  body.front-page .hero:has(.hero-photo) .hero-photo{
    object-position:58% 42%!important;
  }
  body.home .hero-copy,
  body.front-page .hero-copy,
  body.home .hero:has(.hero-photo) .hero-copy,
  body.front-page .hero:has(.hero-photo) .hero-copy{
    box-sizing:border-box!important;
    width:100vw!important;
    max-width:100vw!important;
    margin:0!important;
    padding:18px 28px 28px!important;
    border-radius:0!important;
    background:linear-gradient(180deg,#fff8e6 0%,#fffaf0 58%,#fff 100%)!important;
    overflow:visible!important;
  }
  body.home .hero h1,
  body.front-page .hero h1{
    position:absolute!important;
    z-index:4!important;
    top:calc(38px - clamp(250px,64vw,285px))!important;
    left:18px!important;
    width:min(62vw,238px)!important;
    max-width:238px!important;
    margin:0!important;
    color:#075bea!important;
    font-size:clamp(18px,5.2vw,22px)!important;
    line-height:1.08!important;
    white-space:nowrap!important;
    text-shadow:0 2px 0 rgba(255,255,255,.82),0 10px 22px rgba(7,48,116,.14)!important;
  }
  body.home .hero h1 span,
  body.front-page .hero h1 span{
    display:block!important;
    white-space:nowrap!important;
  }
  body.home .hero h1 .hero-title-sub,
  body.front-page .hero h1 .hero-title-sub{
    margin-top:4px!important;
    color:#ffc62f!important;
  }
  body.home .hero-sub,
  body.front-page .hero-sub{
    display:block!important;
    width:min(100%,320px)!important;
    max-width:320px!important;
    margin-inline:auto!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    font-size:15.5px!important;
    line-height:1.45!important;
  }
  body.home .hero-points,
  body.front-page .hero-points{
    position:absolute!important;
    z-index:5!important;
    top:calc(118px - clamp(250px,64vw,285px))!important;
    left:42px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    width:auto!important;
    max-width:170px!important;
    gap:7px!important;
    margin:0!important;
    padding:0!important;
  }
  body.home .hero-points li,
  body.front-page .hero-points li{
    flex:0 0 auto!important;
    min-width:0!important;
    min-height:24px!important;
    padding:4px 9px 4px 6px!important;
    background:rgba(255,255,255,.86)!important;
    border:1px solid rgba(16,63,142,.08)!important;
    box-shadow:0 8px 18px rgba(7,48,116,.08)!important;
    font-size:11px!important;
    line-height:1.1!important;
    white-space:nowrap!important;
  }
  body.home .hero-points li:before,
  body.front-page .hero-points li:before{
    width:17px!important;
    height:17px!important;
    margin-right:5px!important;
    font-size:10px!important;
  }
}

/* Booking popup polish: cleaner hierarchy, softer form surface and stronger mobile fit. */
.tsdm-booking-popup{
  padding:18px!important;
}
.tsdm-booking-popup .tsdm-popup-backdrop{
  background:rgba(3,24,64,.68)!important;
  backdrop-filter:blur(8px)!important;
}
.tsdm-booking-card{
  display:flex!important;
  flex-direction:column!important;
  width:min(500px,100%)!important;
  max-height:min(92vh,820px)!important;
  overflow:hidden!important;
  border:1px solid rgba(255,255,255,.46)!important;
  border-radius:24px!important;
  background:#f7fbff!important;
  box-shadow:0 34px 90px rgba(3,24,64,.42),0 0 0 1px rgba(7,91,234,.08)!important;
}
.tsdm-booking-card:before{
  content:""!important;
  position:absolute!important;
  inset:0 0 auto!important;
  height:5px!important;
  background:linear-gradient(90deg,#ffc62f 0,#0b76ff 48%,#ff3b30 100%)!important;
  z-index:3!important;
}
.tsdm-booking-popup .tsdm-popup-close{
  top:18px!important;
  right:18px!important;
  width:38px!important;
  height:38px!important;
  background:rgba(255,255,255,.2)!important;
  border:1px solid rgba(255,255,255,.24)!important;
  color:#fff!important;
  font-size:22px!important;
  font-weight:800!important;
  box-shadow:0 10px 24px rgba(4,29,76,.16)!important;
}
.tsdm-booking-popup .tsdm-popup-close:hover{
  background:#fff!important;
  color:#075bea!important;
}
.tsdm-booking-header{
  flex:0 0 auto!important;
  padding:28px 32px 22px!important;
  border-radius:24px 24px 0 0!important;
  background:linear-gradient(135deg,#073eab 0%,#075bea 58%,#0d84ff 100%)!important;
}
.tsdm-booking-header:before{
  right:-64px!important;
  top:-82px!important;
  width:230px!important;
  height:230px!important;
  background:rgba(255,255,255,.11)!important;
}
.tsdm-booking-header:after{
  left:auto!important;
  right:46px!important;
  bottom:-62px!important;
  width:170px!important;
  height:170px!important;
  background:rgba(255,255,255,.06)!important;
}
.tsdm-booking-kicker{
  margin-bottom:10px!important;
  padding:7px 14px!important;
  background:rgba(255,255,255,.16)!important;
  color:#ffc62f!important;
  font-size:11px!important;
  letter-spacing:.08em!important;
}
.tsdm-booking-header h3{
  max-width:390px!important;
  margin:0 44px 8px 0!important;
  font-size:24px!important;
  line-height:1.18!important;
  letter-spacing:0!important;
}
.tsdm-booking-header p{
  max-width:390px!important;
  margin:0 0 16px!important;
  color:#eaf3ff!important;
  font-size:14px!important;
  line-height:1.55!important;
}
.tsdm-booking-hotline{
  min-height:50px!important;
  padding:10px 16px!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.14)!important;
  border:1px solid rgba(255,255,255,.18)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16)!important;
}
.tsdm-booking-hotline span{
  color:#d8e8ff!important;
  font-size:13px!important;
}
.tsdm-booking-hotline a{
  color:#ffc62f!important;
  font-size:21px!important;
  line-height:1!important;
  letter-spacing:.01em!important;
}
.tsdm-booking-body{
  flex:1 1 auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow-y:auto!important;
  padding:24px 32px 26px!important;
  background:linear-gradient(180deg,#fff 0%,#f7fbff 100%)!important;
}
.tsdm-booking-body .form-grid{
  grid-template-columns:1fr!important;
  gap:14px!important;
}
.tsdm-booking-body .booking-service-context:not([hidden]){
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin:0!important;
  padding:10px 12px!important;
  border:1px solid rgba(7,91,234,.14)!important;
  border-radius:12px!important;
  background:#eef7ff!important;
  color:#082b70!important;
}
.tsdm-booking-body .booking-service-context span{
  color:#536987!important;
  font-size:12px!important;
  font-weight:800!important;
}
.tsdm-booking-body .booking-service-context strong{
  min-width:0!important;
  color:#075bea!important;
  font-size:13px!important;
  line-height:1.3!important;
  text-align:right!important;
}
.tsdm-booking-body .form-group{
  margin:0!important;
}
.tsdm-booking-body .form-group label{
  margin-bottom:7px!important;
  color:#0a2b66!important;
  font-size:13px!important;
  font-weight:800!important;
}
.tsdm-booking-body .form-control{
  width:100%!important;
  min-height:46px!important;
  padding:12px 15px!important;
  border:1px solid #c8dcf6!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#082b70!important;
  font-size:15px!important;
  line-height:1.45!important;
  box-shadow:0 8px 20px rgba(7,48,116,.05)!important;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease!important;
}
.tsdm-booking-body textarea.form-control{
  min-height:104px!important;
  resize:vertical!important;
}
.tsdm-booking-body .form-control:focus{
  outline:none!important;
  border-color:#075bea!important;
  background:#fbfdff!important;
  box-shadow:0 0 0 4px rgba(7,91,234,.12),0 12px 24px rgba(7,48,116,.08)!important;
}
.tsdm-booking-body .form-control::placeholder{
  color:#7b8798!important;
}
.tsdm-booking-body .btn{
  width:100%!important;
  min-height:52px!important;
  margin-top:2px!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#ff6b57 0%,#ff332f 55%,#e9191f 100%)!important;
  color:#fff!important;
  font-size:16px!important;
  font-weight:900!important;
  box-shadow:0 16px 30px rgba(239,34,32,.25)!important;
}
.tsdm-booking-body .btn:hover{
  transform:translateY(-1px)!important;
  box-shadow:0 18px 34px rgba(239,34,32,.3)!important;
}
@media(max-width:520px){
  .tsdm-booking-popup{
    align-items:end!important;
    padding:10px!important;
  }
  .tsdm-booking-card{
    max-height:94vh!important;
    border-radius:22px!important;
  }
  .tsdm-booking-header{
    padding:26px 22px 22px!important;
  }
  .tsdm-booking-header h3{
    margin-right:42px!important;
    font-size:22px!important;
  }
  .tsdm-booking-header p{
    font-size:13.5px!important;
  }
  .tsdm-booking-hotline{
    flex-wrap:wrap!important;
    gap:5px 10px!important;
  }
  .tsdm-booking-body{
    max-height:calc(94vh - 205px)!important;
    padding:22px!important;
  }
}

/* Service category process: replace the heavy boxed cards with a cleaner timeline. */
.service-category-detail .service-process,
.service-process{
  position:relative!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:20px 30px!important;
  margin-top:24px!important;
}
.service-category-detail .service-process:before,
.service-process:before{
  content:""!important;
  position:absolute!important;
  left:29px!important;
  top:28px!important;
  bottom:28px!important;
  width:2px!important;
  background:linear-gradient(180deg,#075bea,#ffc62f,#ff3b30)!important;
  opacity:.22!important;
}
.service-category-detail .service-process article,
.service-process article{
  position:relative!important;
  display:grid!important;
  grid-template-columns:58px minmax(0,1fr)!important;
  align-items:start!important;
  gap:16px!important;
  min-height:0!important;
  padding:4px 0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  text-align:left!important;
}
.service-category-detail .service-process article:before,
.service-process article:before{
  content:""!important;
  position:absolute!important;
  left:70px!important;
  right:0!important;
  bottom:-10px!important;
  height:1px!important;
  background:linear-gradient(90deg,rgba(7,91,234,.13),transparent)!important;
}
.service-category-detail .service-process article>span,
.service-process article>span{
  position:relative!important;
  z-index:1!important;
  display:grid!important;
  place-items:center!important;
  width:58px!important;
  height:58px!important;
  margin:0!important;
  border:0!important;
  border-radius:18px!important;
  background:linear-gradient(135deg,#075bea 0%,#0d84ff 100%)!important;
  color:#fff!important;
  font-size:22px!important;
  font-weight:900!important;
  line-height:1!important;
  box-shadow:inset 0 0 0 4px rgba(255,255,255,.9),0 10px 22px rgba(7,91,234,.18)!important;
}
.service-category-detail .service-process article>div,
.service-process article>div{
  min-width:0!important;
  padding:4px 0 18px!important;
}
.service-category-detail .service-process h3,
.service-process h3{
  margin:0 0 6px!important;
  color:#082b70!important;
  font-size:20px!important;
  line-height:1.28!important;
  letter-spacing:0!important;
}
.service-category-detail .service-process p,
.service-process p{
  max-width:480px!important;
  margin:0!important;
  color:#536987!important;
  font-size:15.5px!important;
  line-height:1.55!important;
  font-weight:600!important;
}
@media(max-width:800px){
  .service-category-detail .service-process,
  .service-process{
    grid-template-columns:1fr!important;
    gap:18px!important;
  }
}
@media(max-width:600px){
  .service-category-detail .service-process,
  .service-process{
    margin-top:20px!important;
    gap:16px!important;
  }
  .service-category-detail .service-process:before,
  .service-process:before{
    left:24px!important;
  }
  .service-category-detail .service-process article,
  .service-process article{
    grid-template-columns:50px minmax(0,1fr)!important;
    gap:14px!important;
  }
  .service-category-detail .service-process article:before,
  .service-process article:before{
    left:64px!important;
  }
  .service-category-detail .service-process article>span,
  .service-process article>span{
    width:50px!important;
    height:50px!important;
    border-radius:16px!important;
    font-size:19px!important;
  }
  .service-category-detail .service-process h3,
  .service-process h3{
    font-size:18px!important;
  }
  .service-category-detail .service-process p,
  .service-process p{
    font-size:14.5px!important;
  }
}

/* Dedicated category process timeline: this section should not look like bordered cards. */
.service-process-section{
  padding:4px 0 6px!important;
}
.service-process-section>h2{
  max-width:760px!important;
  margin:0 0 24px!important;
  color:#082b70!important;
  font-size:clamp(28px,3vw,38px)!important;
  line-height:1.12!important;
  letter-spacing:0!important;
}
.service-process-section .service-process-timeline{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:24px 34px!important;
  position:relative!important;
  margin:0!important;
  padding:0!important;
}
.service-process-section .service-process-timeline:before{
  display:none!important;
}
.service-process-section .service-process-timeline article{
  display:grid!important;
  grid-template-columns:54px minmax(0,1fr)!important;
  gap:16px!important;
  align-items:start!important;
  min-height:0!important;
  padding:0 0 22px!important;
  border:0!important;
  border-bottom:1px solid rgba(7,91,234,.12)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  text-align:left!important;
}
.service-process-section .service-process-timeline article:before,
.service-process-section .service-process-timeline article:after{
  display:none!important;
}
.service-process-section .service-process-timeline article>span{
  display:grid!important;
  place-items:center!important;
  width:54px!important;
  height:54px!important;
  margin:0!important;
  border:0!important;
  border-radius:16px!important;
  background:#075bea!important;
  color:#fff!important;
  font-size:20px!important;
  font-weight:900!important;
  line-height:1!important;
  box-shadow:inset 0 0 0 4px #fff,0 10px 22px rgba(7,91,234,.18)!important;
}
.service-process-section .service-process-timeline article>div{
  padding:2px 0 0!important;
  min-width:0!important;
}
.service-process-section .service-process-timeline h3{
  margin:0 0 6px!important;
  color:#082b70!important;
  font-size:19px!important;
  line-height:1.28!important;
}
.service-process-section .service-process-timeline p{
  margin:0!important;
  color:#526a8f!important;
  font-size:15px!important;
  line-height:1.55!important;
  font-weight:600!important;
}
@media(max-width:760px){
  .service-process-section .service-process-timeline{
    grid-template-columns:1fr!important;
    gap:18px!important;
  }
  .service-process-section .service-process-timeline article{
    grid-template-columns:48px minmax(0,1fr)!important;
    gap:14px!important;
    padding-bottom:18px!important;
  }
  .service-process-section .service-process-timeline article>span{
    width:48px!important;
    height:48px!important;
    border-radius:15px!important;
    font-size:18px!important;
  }
}

/* Category flexible process: remove oversized bordered boxes from ACF step sections. */
body.tax-danh_muc_dich_vu .process-section{
  padding:48px 0!important;
  background:linear-gradient(180deg,#f8fcff 0%,#eef7ff 100%)!important;
}
body.tax-danh_muc_dich_vu .process-section:before{
  display:none!important;
}
body.tax-danh_muc_dich_vu .process-section .section-title{
  max-width:760px!important;
  margin:0 auto 28px!important;
  text-align:center!important;
}
body.tax-danh_muc_dich_vu .process-section .section-title h2{
  display:block!important;
  margin:0!important;
  color:#082b70!important;
  font-size:clamp(30px,3.4vw,44px)!important;
  line-height:1.12!important;
  letter-spacing:0!important;
  white-space:normal!important;
  text-transform:uppercase!important;
}
body.tax-danh_muc_dich_vu .process-section .section-title h2:before,
body.tax-danh_muc_dich_vu .process-section .section-title h2:after{
  display:none!important;
}
body.tax-danh_muc_dich_vu .process-section .process-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:18px!important;
  max-width:760px!important;
  margin:0 auto!important;
  padding:0!important;
}
body.tax-danh_muc_dich_vu .process-section .process-grid:before{
  display:none!important;
}
body.tax-danh_muc_dich_vu .process-section .process-item{
  display:grid!important;
  grid-template-columns:56px minmax(0,1fr)!important;
  align-items:start!important;
  gap:16px!important;
  min-height:0!important;
  padding:0 0 22px!important;
  border:0!important;
  border-bottom:1px solid rgba(7,91,234,.14)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  text-align:left!important;
  overflow:visible!important;
  width:100%!important;
}
body.tax-danh_muc_dich_vu .process-section .process-item:before,
body.tax-danh_muc_dich_vu .process-section .process-item:after{
  display:none!important;
}
body.tax-danh_muc_dich_vu .process-section .process-no{
  position:static!important;
  transform:none!important;
  display:grid!important;
  place-items:center!important;
  width:56px!important;
  height:56px!important;
  margin:0!important;
  border:0!important;
  border-radius:16px!important;
  background:#075bea!important;
  color:#fff!important;
  font-size:20px!important;
  font-weight:900!important;
  line-height:1!important;
  box-shadow:inset 0 0 0 4px #fff,0 10px 22px rgba(7,91,234,.18)!important;
}
body.tax-danh_muc_dich_vu .process-section .process-item h3{
  grid-column:2!important;
  margin:1px 0 6px!important;
  color:#082b70!important;
  font-size:19px!important;
  line-height:1.3!important;
  letter-spacing:0!important;
  max-width:none!important;
  white-space:normal!important;
}
body.tax-danh_muc_dich_vu .process-section .process-item p{
  grid-column:2!important;
  margin:0!important;
  color:#536987!important;
  font-size:15px!important;
  line-height:1.55!important;
  font-weight:600!important;
  max-width:620px!important;
  white-space:normal!important;
}
@media(max-width:760px){
  body.tax-danh_muc_dich_vu .process-section{
    padding:38px 0!important;
  }
  body.tax-danh_muc_dich_vu .process-section .process-grid{
    grid-template-columns:1fr!important;
    gap:18px!important;
  }
  body.tax-danh_muc_dich_vu .process-section .process-item{
    grid-template-columns:50px minmax(0,1fr)!important;
    gap:14px!important;
    padding-bottom:18px!important;
  }
  body.tax-danh_muc_dich_vu .process-section .process-no{
    width:50px!important;
    height:50px!important;
    border-radius:15px!important;
    font-size:18px!important;
  }
  body.tax-danh_muc_dich_vu .process-section .section-title h2{
    font-size:clamp(24px,7vw,32px)!important;
  }
}
