/* Homepage-only additions. Existing global styles and performance assets stay intact. */
.tg-home-body .tg-service-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.tg-home-body .tg-home-photo-card{min-width:0}
.tg-home-body .tg-home-card-copy{padding:22px}
.ui122-service-note{font-size:14px;line-height:1.8;color:#536773;max-width:820px;margin:24px 0 0}
.ui122-service-note a,.ui122-faq p a{color:#0077a7;text-decoration:underline;text-underline-offset:3px}
.ui122-needs{padding-top:64px;padding-bottom:64px}
.ui122-need-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.ui122-need-grid article{display:flex;flex-direction:column;padding:28px;border:1px solid #dbe6eb;border-radius:16px;background:#fff;box-shadow:0 10px 28px rgba(16,43,59,.04);min-width:0}
.ui122-step{color:#007cae;font-size:11px;letter-spacing:1.3px;font-weight:700}
.ui122-need-grid h3{font-size:22px;line-height:1.35;margin:18px 0 12px;color:#102b3b;letter-spacing:-.3px}
.ui122-need-grid p{font-size:15px;line-height:1.8;color:#536773;margin:0 0 24px}
.ui122-need-grid a{font-size:14px;font-weight:700;color:#102b3b;margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;text-decoration:none;border-top:1px solid #e6eef2;padding-top:16px}
.ui122-need-grid article:nth-child(2){background:#f2f7fa}.ui122-need-grid article:nth-child(3){border-top:3px solid #e52c40}
.ui122-evidence{display:grid;grid-template-columns:1fr 1.12fr;gap:48px;align-items:start}
.ui122-evidence-intro h2{font-size:clamp(28px,3vw,44px);line-height:1.2;letter-spacing:-1px;margin:14px 0 22px}
.ui122-evidence-intro p{font-size:16px;line-height:1.85;color:#536773;margin:0 0 18px}.ui122-evidence-intro strong{color:#233f50;font-weight:600}
.ui122-inline-links{display:flex;flex-direction:column;gap:14px;padding:12px 0 24px}
.ui122-inline-links a{font-size:15px;font-weight:700;color:#007cae;text-decoration:none;line-height:1.6}
.ui122-evidence-intro small{font-size:13px;line-height:1.8;color:#536773;display:block}
.ui122-evidence-gallery{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.ui122-evidence-gallery figure{margin:0;border:1px solid #dbe6eb;border-radius:16px;overflow:hidden;background:#f4f7f9;min-width:0}
.ui122-evidence-gallery a{color:#102b3b;text-decoration:none;display:block;height:100%}
.ui122-evidence-gallery img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.ui122-evidence-gallery figcaption{padding:20px}.ui122-evidence-gallery strong{font-size:18px;line-height:1.4;display:block}.ui122-evidence-gallery span{display:block;font-size:14px;line-height:1.75;color:#536773;margin:12px 0 18px}.ui122-evidence-gallery b{font-size:13px;color:#007cae;font-weight:600}
.ui122-prices{padding-top:12px}
.ui122-table-scroll{overflow-x:auto;overscroll-behavior-x:contain;border:1px solid #dbe6eb;border-radius:16px;background:#fff}
.ui122-table-scroll table{width:100%;border-collapse:collapse;min-width:650px;text-align:left;font-size:14px;line-height:1.7}
.ui122-table-scroll caption{text-align:left;padding:14px 20px;font-size:12px;color:#536773;background:#f0f6f9}
.ui122-table-scroll th,.ui122-table-scroll td{padding:18px 20px;vertical-align:top;border-bottom:1px solid #e6eef2}
.ui122-table-scroll thead th{background:#102b3b;color:#fff;font-size:12px;letter-spacing:.4px;font-weight:600}
.ui122-table-scroll tbody th{width:25%;font-weight:600;color:#102b3b}.ui122-table-scroll td{color:#536773}.ui122-table-scroll td.ui122-price-number{font-weight:700;color:#007cae;white-space:nowrap}.ui122-table-scroll tr:last-child th,.ui122-table-scroll tr:last-child td{border-bottom:0}
.ui122-price-note{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-top:20px}.ui122-price-note p{font-size:14px;line-height:1.8;color:#536773;margin:0;max-width:760px}.ui122-price-note a{flex-shrink:0}
.ui122-process .tg-process-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:24px}
.ui122-process .tg-process-grid h3{font-size:18px;line-height:1.4}.ui122-process .tg-process-grid p{font-size:14px;line-height:1.8}
.ui122-process-links{display:flex;flex-wrap:wrap;gap:16px 28px;margin-top:32px;border-top:1px solid rgba(255,255,255,.18);padding-top:22px}.ui122-process-links a{color:inherit;font-size:14px;line-height:1.7;text-decoration:underline;text-underline-offset:4px}
.ui122-faq>div:first-child>p{font-size:16px;line-height:1.8;color:#536773;max-width:380px}
.ui122-faq details p{font-size:15px;line-height:1.85;margin-top:16px}.ui122-faq summary{line-height:1.55}
.ui122-needs a:focus-visible,.ui122-evidence a:focus-visible,.ui122-table-scroll:focus-visible,.ui122-process-links a:focus-visible,.ui122-faq summary:focus-visible{outline:3px solid #007cae;outline-offset:4px}
@media(max-width:1100px){.tg-home-body .tg-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ui122-evidence{gap:28px}.ui122-evidence-gallery{grid-template-columns:1fr}.ui122-process .tg-process-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ui122-need-grid article{padding:22px}.ui122-need-grid h3{font-size:20px}}
@media(max-width:760px){.ui122-need-grid{grid-template-columns:1fr}.ui122-evidence{grid-template-columns:1fr;gap:28px}.ui122-evidence-gallery{grid-template-columns:1fr 1fr}.ui122-price-note{display:block}.ui122-price-note a{display:inline-block;margin-top:16px}.ui122-process .tg-process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ui122-needs{padding-top:40px;padding-bottom:40px}.ui122-prices{padding-top:0}.ui122-evidence-intro h2{letter-spacing:-.6px}}
@media(max-width:520px){.tg-home-body .tg-service-grid{grid-template-columns:1fr}.ui122-evidence-gallery{grid-template-columns:1fr}.ui122-process .tg-process-grid{grid-template-columns:1fr;gap:26px}.ui122-table-scroll th,.ui122-table-scroll td{padding:14px}.ui122-evidence-gallery figcaption{padding:22px}.ui122-need-grid article{padding:24px}}

/* SEO123: a focused consultation panel and native FAQ accordion. */
.tg-home-body .ui123-faq-band{background:linear-gradient(135deg,#edf4f7 0%,#f6f9fa 65%,#edf5f8 100%);border-top:1px solid #e1eaee;border-bottom:1px solid #e1eaee}
.tg-home-body .ui123-faq{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr);align-items:start;gap:42px;padding-top:64px;padding-bottom:64px}
.tg-home-body .ui123-faq-panel{background:radial-gradient(ellipse at 100% 0%,#145571 0%,#102b3b 65%);border:1px solid #234f64;border-radius:24px;padding:38px;position:relative;overflow:hidden;box-shadow:0 20px 48px rgba(16,43,59,.12);min-width:0}
.tg-home-body .ui123-faq-panel:before{content:"";display:block;width:52px;height:4px;border-radius:2px;background:#55c4ee;margin-bottom:28px}
.tg-home-body .ui123-faq-panel .tg-kicker{color:#8edbfa;font-size:11px;letter-spacing:1.6px}
.tg-home-body .ui123-faq-panel h2{color:#fff;font-size:clamp(28px,2.7vw,40px);line-height:1.18;letter-spacing:-.9px;margin:18px 0 22px}
.tg-home-body .ui123-faq-panel>p{color:#c6d8e2;font-size:15px;line-height:1.85;margin:0;max-width:none}
.ui123-panel-topics{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 30px}.ui123-panel-topics span{font-size:11px;line-height:1.6;color:#d5e8f2;padding:7px 10px;border:1px solid #3f6376;border-radius:6px;background:rgba(255,255,255,.045)}
.ui123-panel-contact{border-top:1px solid #3c5868;padding-top:24px}.ui123-panel-contact p{color:#d1e0e9;font-size:14px;line-height:1.8;margin:0 0 16px}
.ui123-panel-contact a{display:flex;align-items:center;justify-content:space-between;gap:16px;text-decoration:none;font-weight:600;line-height:1.5}
.ui123-panel-contact .ui123-zalo{background:#fff;color:#102b3b;padding:16px 18px;border-radius:10px;font-size:14px;transition:background .15s}.ui123-panel-contact .ui123-zalo:hover{background:#e3f5fc}.ui123-panel-contact .ui123-call{color:#d2e8f4;font-size:13px;padding:16px 2px 0}.ui123-panel-contact .ui123-call:hover{color:#fff}
.tg-home-body .ui123-faq-list{min-width:0;counter-reset:none}
.tg-home-body .ui123-faq-list details{margin:0 0 12px;padding:0;border:1px solid #d7e4eb;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 3px 10px rgba(16,43,59,.025)}
.tg-home-body .ui123-faq-list details:last-child{margin-bottom:0}
.tg-home-body .ui123-faq-list summary{display:flex;align-items:center;gap:16px;padding:22px 24px;margin:0;cursor:pointer;list-style:none;font-size:16px;font-weight:600;line-height:1.55;color:#183545;transition:background .15s}
.ui123-faq-list summary::-webkit-details-marker{display:none}.ui123-faq-list summary::marker{content:""}
.tg-home-body .ui123-faq-list summary:after{content:none}
.ui123-faq-number{flex:0 0 26px;font-size:12px;font-weight:600;letter-spacing:.7px;color:#708c9b}.ui123-faq-question{flex:1;min-width:0}
.ui123-faq-toggle{position:relative;flex:0 0 28px;width:28px;height:28px;border:1px solid #d7e4eb;border-radius:50%;background:#f2f7fa}
.ui123-faq-toggle:before,.ui123-faq-toggle:after{content:"";position:absolute;background:#33708e;border-radius:1px;left:8px;top:12px;width:10px;height:2px}.ui123-faq-toggle:after{transform:rotate(90deg)}
.tg-home-body .ui123-faq-list details[open]{border-color:#80b8d2;box-shadow:0 10px 24px rgba(0,119,167,.06)}
.tg-home-body .ui123-faq-list details[open] summary{background:#eff7fb;color:#006e9c}
.ui123-faq-list details[open] .ui123-faq-number{color:#0077a7}.ui123-faq-list details[open] .ui123-faq-toggle{background:#007cae;border-color:#007cae}.ui123-faq-list details[open] .ui123-faq-toggle:before{background:#fff}.ui123-faq-list details[open] .ui123-faq-toggle:after{display:none}
.tg-home-body .ui123-faq-answer{padding:0 24px 24px 66px}
.tg-home-body .ui123-faq-answer p{font-size:14px;line-height:1.9;color:#536773;margin:18px 0 0}
.tg-home-body .ui123-faq-answer a{color:#0077a7;text-decoration:underline;text-underline-offset:3px}
.ui123-faq-list summary:focus-visible,.ui123-panel-contact a:focus-visible{outline:3px solid #48b9e6;outline-offset:-4px}
@media(max-width:1100px){.tg-home-body .ui123-faq{gap:26px;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr)}.tg-home-body .ui123-faq-panel{padding:28px}.tg-home-body .ui123-faq-list summary{padding:20px;gap:12px}.tg-home-body .ui123-faq-answer{padding-left:58px;padding-right:20px}}
@media(max-width:800px){.tg-home-body .ui123-faq{grid-template-columns:1fr;gap:24px;padding-top:40px;padding-bottom:40px}.tg-home-body .ui123-faq-panel{padding:30px}.tg-home-body .ui123-faq-panel h2{font-size:32px}.ui123-panel-topics{margin:20px 0 24px}}
@media(max-width:480px){.tg-home-body .ui123-faq-panel{padding:25px;border-radius:18px}.tg-home-body .ui123-faq-panel h2{font-size:29px}.tg-home-body .ui123-faq-list summary{padding:18px 16px;font-size:15px;gap:10px}.ui123-faq-number{flex-basis:22px}.tg-home-body .ui123-faq-answer{padding:0 18px 22px 18px}.ui123-faq-toggle{flex-basis:26px;width:26px;height:26px}.ui123-faq-toggle:before,.ui123-faq-toggle:after{left:7px;top:11px}}
@media(prefers-reduced-motion:reduce){.ui123-panel-contact .ui123-zalo,.tg-home-body .ui123-faq-list summary{transition:none}}
