/* Trang chủ — style gốc từ mockup (các khối <style> của trang chủ, giữ nguyên thứ tự). */

:root{--ink:#173731;--muted:#60746e;--line:#dce6e1;--paper:#fffdfa;--mint:#edf5f0;--accent:#ef6b2e;--font:'Be Vietnam Pro','Segoe UI',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.5 var(--font)}a{color:inherit;text-decoration:none}.wrap{width:min(1240px,calc(100% - 48px));margin:auto}.topbar{background:var(--ink);color:#dbe9e4;font-size:12px}.topbar .wrap{min-height:38px;display:flex;justify-content:space-between;align-items:center}.topbar strong{color:#fff}.topbar time{color:#f4b38f}header{border-bottom:1px solid var(--line)}.header-inner{height:94px;display:flex;align-items:center;gap:26px}.brand img{width:104px;height:74px;object-fit:contain}.main-nav{display:flex;gap:22px;flex:1}.main-nav a{font-size:14px;font-weight:650}.main-nav a:hover,.main-nav a.active{color:var(--accent)}.phone,.btn.primary{background:var(--accent);color:#fff}.phone{display:inline-flex;align-items:center;min-height:46px;padding:0 15px;border-radius:10px;font-size:13px;font-weight:750}.burger{display:none;border:1px solid var(--line);background:#fff;border-radius:8px;width:42px;height:42px;font-size:22px}.hero{background:#f2f2f3;border-bottom:1px solid var(--line)}.hero-grid{min-height:430px;display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}.eyebrow,.kicker{color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.hero h1{max-width:690px;margin:10px 0 15px;font-size:clamp(40px,5vw,62px);line-height:1.06}.hero p{max-width:650px;margin:0;color:var(--muted);font-size:17px;line-height:1.65}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 17px;border-radius:9px;font-size:13px;font-weight:750}.btn.secondary{border:1px solid #cbd8d3;background:#fff}.hero-media{height:330px;border:1px solid #d3dfda;border-radius:12px;overflow:hidden;background:#fff}.hero-media img{width:100%;height:100%;object-fit:cover;display:block}.hero-note{margin-top:9px;color:var(--muted);font-size:12px}.section{padding:78px 0}.section.mint{background:var(--mint)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px}.section-head h2{margin:7px 0 0;font-size:clamp(30px,3.2vw,44px);line-height:1.12}.section-head p{max-width:470px;margin:0;color:var(--muted);font-size:15px}.category-grid,.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.category-card,.project{overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#fff}.category-card{display:flex;flex-direction:column;transition:.2s ease}.category-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px #17373118}.category-media{height:215px;background:#eef1ee}.category-media img{width:100%;height:100%;object-fit:cover;display:block}.category-body{display:flex;flex:1;flex-direction:column;padding:20px}.category-body h3{margin:0 0 7px;font-size:19px}.category-body p{margin:0 0 16px;color:var(--muted);font-size:13px}.category-body .btn{align-self:flex-start;margin-top:auto}.need-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.need{padding:24px;border:1px solid var(--line);border-radius:10px;background:#fff}.need-index{color:var(--accent);font-size:12px;font-weight:800}.need h3{margin:12px 0 5px;font-size:19px}.need p,.project p{margin:0;color:var(--muted);font-size:13px}.project img{display:block;width:100%;height:205px;object-fit:cover}.project-body{padding:18px}.project-body small{color:var(--accent);font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.project-body h3{margin:7px 0 6px;font-size:18px}.proof,.consult-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px}.proof h2,.consult h2{margin:7px 0 12px;font-size:clamp(30px,3.2vw,42px);line-height:1.12}.proof p,.consult p{color:var(--muted);line-height:1.65}.proof-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.proof-list div{padding:17px;border:1px solid var(--line);border-radius:9px;background:#fff}.proof-list b{display:block;font-size:14px}.proof-list span{display:block;margin-top:4px;color:var(--muted);font-size:12px}.consult{background:var(--ink);color:#fff}.consult p{color:#c9dad4}.form{padding:24px;border-radius:10px;background:#fff;color:var(--ink)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.form label{display:grid;gap:5px;color:var(--muted);font-size:11px;font-weight:700}.form .full{grid-column:1/-1}.form input,.form select,.form textarea{width:100%;padding:11px;border:1px solid var(--line);border-radius:7px;font:inherit;font-size:13px}.form textarea{min-height:85px}.form button{width:100%;margin-top:13px;min-height:44px;border:0;border-radius:8px;background:var(--accent);color:#fff;font-weight:800}.footer{padding:50px 0 0;background:#0f332d;color:#c9dbd4}.footer-grid{display:grid;grid-template-columns:1.35fr .8fr .8fr 1fr;gap:34px;padding-bottom:38px}.footer h3,.footer h4{margin:0 0 12px;color:#fff}.footer h3{font-size:18px}.footer h4{font-size:13px}.footer p,.footer a{display:block;margin:7px 0;color:#b9cdc7;font-size:13px}.footer a:hover{color:#fff}.footer-bottom{padding:15px 0 20px;border-top:1px solid #ffffff1f;color:#8fa69e;font-size:11px}@media(max-width:1000px){.main-nav{display:none}.burger{display:block;margin-left:auto}.hero-grid{grid-template-columns:1fr .8fr;gap:28px}.category-grid,.project-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:680px){.wrap{width:calc(100% - 28px)}.topbar time{display:none}.header-inner{height:70px}.brand img{width:68px;height:56px}.phone{min-height:40px;padding:0 10px;font-size:12px}.hero-grid{display:block}.hero-copy{padding:42px 0 30px}.hero h1{font-size:38px}.hero p{font-size:14px}.actions{display:grid;grid-template-columns:1fr;margin-top:20px}.actions .btn{width:100%}.hero-media{height:220px;margin-bottom:24px}.section{padding:56px 0}.section-head{display:block;margin-bottom:22px}.section-head p{margin-top:12px}.category-grid,.project-grid,.need-grid,.proof,.consult-grid{grid-template-columns:1fr}.category-media{height:230px}.proof-list{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.form .full{grid-column:auto}.footer-grid{grid-template-columns:1fr}}
.hero-grid{min-height:470px}.hero-media{position:relative;height:360px;background:#eef1ee}.hero-carousel{isolation:isolate}.hero-slide{position:absolute;inset:0;display:grid;place-items:center;opacity:0;visibility:hidden;transition:opacity .35s ease}.hero-slide.is-active{opacity:1;visibility:visible}.hero-slide img{width:100%;height:100%;padding:24px;object-fit:contain;mix-blend-mode:multiply}.hero-slide.photo img{padding:0;object-fit:cover;mix-blend-mode:normal}.hero-slide::after{content:"";position:absolute;inset:48% 0 0;background:linear-gradient(180deg,transparent,rgba(10,34,30,.46));pointer-events:none}.hero-slide-label{position:absolute;z-index:2;left:18px;bottom:18px;max-width:68%;padding:8px 11px;border-radius:7px;background:rgba(23,55,49,.92);color:#fff;font-size:12px;font-weight:700}.hero-carousel-control{position:absolute;z-index:3;top:50%;display:grid;place-items:center;width:38px;height:38px;border:1px solid #cbd8d3;border-radius:50%;background:rgba(255,255,255,.94);color:var(--ink);font-size:20px;cursor:pointer;transform:translateY(-50%)}.hero-carousel-control:hover{border-color:var(--accent);color:var(--accent)}.hero-carousel-control.prev{left:14px}.hero-carousel-control.next{right:14px}.hero-dots{position:absolute;z-index:3;right:18px;bottom:18px;display:flex;gap:7px}.hero-dot{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:#d1ddd8;cursor:pointer;box-shadow:0 0 0 1px rgba(23,55,49,.12)}.hero-dot.is-active{background:var(--accent);transform:scale(1.25)}.hero-note{min-height:38px}.trust-strip{background:#fff;border-bottom:1px solid var(--line)}.trust-grid{min-height:92px;display:grid;grid-template-columns:repeat(3,1fr);align-items:center}.trust-item{min-width:0;padding:0 28px;border-left:1px solid var(--line)}.trust-item:first-child{padding-left:0;border-left:0}.trust-item:last-child{padding-right:0}.trust-item strong{display:block;color:var(--ink);font-size:14px;font-weight:700}.trust-item span{display:block;margin-top:3px;color:var(--muted);font-size:12px}.category-body .btn{width:100%;margin-top:auto}.need{font:inherit;color:var(--ink);text-align:left;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.need:hover,.need.is-active{border-color:#e69a75;box-shadow:0 10px 24px rgba(23,55,49,.08);transform:translateY(-2px)}.need:focus-visible{outline:2px solid var(--accent);outline-offset:3px}#contact{scroll-margin-top:24px}.case-video{margin-top:34px;overflow:hidden;background:#173731;color:#fff}.case-video-grid{min-height:440px;display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);align-items:stretch}.case-video-copy{padding:56px 46px;display:flex;flex-direction:column;justify-content:center}.case-video-copy .kicker{color:#f3a47f}.case-video-copy h2{margin:9px 0 15px;font-size:clamp(30px,3.2vw,43px);line-height:1.14}.case-video-copy p{margin:0;color:#c9dad4;font-size:15px;line-height:1.7}.case-video-meta{margin-top:25px;padding-top:20px;border-top:1px solid rgba(255,255,255,.16);display:grid;gap:8px;color:#e5efeb;font-size:13px}.case-video-meta span{display:flex;align-items:center;gap:9px}.case-video-meta span::before{content:"";width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:var(--accent)}.case-video-frame{position:relative;min-height:440px;overflow:hidden;background:#0f2925}.case-video-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.case-video-frame::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(23,55,49,.28),transparent 45%);pointer-events:none}.case-video-badge{position:absolute;z-index:2;left:24px;bottom:24px;padding:10px 13px;border-radius:7px;background:rgba(15,51,45,.92);color:#fff;font-size:12px;font-weight:700}.consult{background:#edf5f0;color:var(--ink);border-top:1px solid #dce6e1}.consult p{color:var(--muted)}.consult-copy{padding:18px 30px 18px 0;align-self:center}.consult-copy h2{max-width:470px}.consult-points{display:grid;gap:12px;margin-top:24px}.consult-point{padding:0 0 12px 18px;border-bottom:1px solid #d3e1da;position:relative;color:#526762;font-size:13px}.consult-point::before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;border-radius:50%;background:var(--accent)}.form{padding:30px;border:1px solid #d8e3de;border-radius:12px;background:#fff;color:var(--ink);box-shadow:0 12px 28px rgba(23,55,49,.06)}.form .kicker{margin-bottom:7px}.form h3{margin:0 0 8px;font-size:25px;line-height:1.28}.form>p{margin:0 0 22px;color:#526762;font-size:14px;line-height:1.6}.form-grid{gap:16px}.form label{display:flex;flex-wrap:wrap;column-gap:4px;row-gap:7px;color:#31534c;font-size:13px;font-weight:650}.form label input,.form label select,.form label textarea{flex:0 0 100%;min-height:46px;padding:11px 13px;border:1px solid #cadad3;border-radius:8px;background:#fffdfa;font-size:14px;line-height:1.45}.form textarea{min-height:104px}.form input:focus,.form select:focus,.form textarea:focus{border-color:#b94b1a;outline:2px solid rgba(185,75,26,.16);outline-offset:1px}.form-help{margin:14px 0 16px!important;padding-top:14px;border-top:1px solid #e5ece8;color:#62756f!important;font-size:13px!important;line-height:1.55!important}.form button{min-height:48px;margin-top:0;border-radius:8px;background:#b94b1a;font-size:14px;box-shadow:0 8px 18px rgba(185,75,26,.2)}.form button:hover{background:#9f3e14}@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}}@media(max-width:850px){.case-video-grid{grid-template-columns:1fr}.case-video-copy{padding:44px 34px 34px}.case-video-frame{min-height:360px}.consult-grid{grid-template-columns:1fr}.consult-copy{padding:0}.form{max-width:680px}}@media(max-width:680px){.hero-grid{min-height:0}.hero-media{height:260px}.hero-slide img{padding:16px}.hero-slide.photo img{padding:0}.hero-slide-label{left:12px;bottom:12px;max-width:72%;font-size:11px}.hero-carousel-control{width:34px;height:34px}.hero-carousel-control.prev{left:10px}.hero-carousel-control.next{right:10px}.hero-dots{right:12px;bottom:14px;max-width:88px;flex-wrap:wrap;justify-content:flex-end}.trust-grid{grid-template-columns:1fr;min-height:0;padding:10px 0}.trust-item,.trust-item:first-child,.trust-item:last-child{padding:13px 0;border-left:0;border-top:1px solid var(--line)}.trust-item:first-child{border-top:0}.case-video{margin-top:26px}.case-video-copy{padding:38px 24px 30px}.case-video-frame{min-height:280px}.case-video-badge{left:14px;bottom:14px}.form{padding:22px 18px}.form h3{font-size:22px}}
/* Hero proportions: give the product visual room while keeping the copy compact. */
.hero-grid{min-height:570px}.hero-copy{max-width:650px}.hero-media{height:470px}
.hero h1{max-width:600px;height:2.2em;overflow:hidden;font-size:clamp(36px,4.2vw,54px);line-height:1.1}.hero-copy>p{height:3.6em;overflow:hidden}.hero-facts{display:flex;flex-wrap:wrap;gap:8px 18px;height:22px;overflow:hidden;margin-top:20px;color:#526762;font-size:13px;font-weight:600}.hero-facts span{display:inline-flex;align-items:center;gap:7px}.hero-facts span::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--accent)}
@media(max-width:1000px){.hero-grid{min-height:520px}.hero-media{height:420px}}
@media(max-width:680px){.hero-grid{min-height:0}.hero-media{height:260px}.hero h1{height:2.12em}.hero-copy>p{height:5em}.hero-facts{height:38px;gap:7px 14px;margin-top:16px;font-size:12px}}

/*----*/
.tp-floating-contact .tp-zalo-mark,.tp-mobile-actions .tp-zalo-mark{font:700 9px/1 Arial,sans-serif;color:#0068ff;text-align:center}
/*----*/
.project-extra{display:none}#projects .project-grid{position:relative}.projects-toggle{position:absolute;z-index:3;top:102px;right:-18px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #cbd8d3;border-radius:50%;background:rgba(255,255,255,.96);color:var(--ink);font-size:28px;line-height:1;cursor:pointer;transform:translateY(-50%);box-shadow:0 5px 14px rgba(23,55,49,.12)}.projects-toggle:hover{border-color:var(--accent);color:var(--accent)}.projects-toggle.is-back{left:-18px;right:auto}.projects-expanded .project-extra{display:block}@media(max-width:680px){#projects .project-grid{display:flex;grid-template-columns:none;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 2px 12px;scrollbar-width:thin}#projects .project{flex:0 0 82vw;scroll-snap-align:start}.projects-toggle{display:none}}
/*----*/
#projects .project-grid{display:flex;flex-wrap:nowrap;gap:18px;overflow:hidden;position:relative;padding:2px 0 12px;scroll-behavior:smooth;scrollbar-width:none}#projects .project-grid::-webkit-scrollbar{display:none}#projects .project-grid .project{display:block;flex:0 0 calc((100% - 36px)/3);min-width:0}.projects-toggle{display:none}.projects-slider-nav{position:absolute;z-index:4;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #cbd8d3;border-radius:50%;background:rgba(255,255,255,.96);color:var(--ink);font-size:28px;line-height:1;cursor:pointer;transform:translateY(-50%);box-shadow:0 5px 14px rgba(23,55,49,.12)}.projects-slider-nav:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.projects-slider-nav:disabled{opacity:.35;cursor:default}.projects-slider-prev{left:-18px}.projects-slider-next{right:-18px}@media(max-width:1000px) and (min-width:681px){#projects .project-grid .project{flex-basis:calc((100% - 18px)/2.2)}}@media(max-width:680px){#projects .project-grid{overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;gap:14px;padding:2px 2px 12px}#projects .project-grid .project{flex:0 0 90.91%;scroll-snap-align:start}.projects-slider-nav{display:none}}
/*----*/
#projects .wrap{position:relative}.projects-slider-nav{left:auto!important;right:auto!important}.projects-slider-prev{left:-22px!important}.projects-slider-next{right:-22px!important}
/*----*/
.case-video-frame{display:block;width:100%;padding:0;border:0;text-align:left;cursor:pointer}.case-video-frame:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.case-video-overlay{position:absolute;inset:0;background:rgba(10,34,30,.12);transition:background .25s ease}.case-video-play{position:absolute;z-index:2;top:50%;left:50%;display:grid;place-items:center;width:78px;height:78px;border:1px solid rgba(255,255,255,.9);border-radius:50%;background:rgba(239,107,46,.96);box-shadow:0 8px 22px rgba(0,0,0,.2);transform:translate(-50%,-50%);transition:transform .25s ease,background .25s ease}.case-video-play svg{width:30px;height:30px;fill:#fff;transform:translateX(2px)}.case-video-frame:hover .case-video-play{background:#f47b43;transform:translate(-50%,-50%) scale(1.06)}.case-video-frame:hover .case-video-overlay{background:rgba(10,34,30,.15)}.case-video-frame:hover img{transform:scale(1.02);transition:transform .3s ease}.case-video-frame img{transition:transform .3s ease}.video-modal{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:20px}.video-modal[hidden]{display:none}.video-modal-backdrop{position:absolute;inset:0;background:rgba(9,27,24,.78)}.video-modal-panel{position:relative;z-index:1;width:min(900px,100%);padding:24px;border-radius:14px;background:#fff;color:var(--ink);box-shadow:0 20px 60px rgba(0,0,0,.35)}.video-modal-panel h2{margin:0 44px 16px 0;font-size:22px}.video-modal-close{position:absolute;top:12px;right:14px;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink);font-size:25px;line-height:1;cursor:pointer}.video-modal-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.video-modal-media{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:9px;background:#102d27}.video-modal-media video{width:100%;height:100%;display:block;object-fit:contain}.video-modal-media p{position:absolute;inset:auto 12px 10px;margin:0;color:#fff;font-size:12px;text-align:center;text-shadow:0 1px 3px #000}@media(max-width:680px){.case-video-play{width:62px;height:62px}.case-video-play svg{width:24px;height:24px}.video-modal{padding:12px}.video-modal-panel{padding:18px}.video-modal-panel h2{font-size:18px}.video-modal-close{top:8px;right:8px}}

/*----*/
@media(max-height:720px) and (min-width:681px){.tp-floating-contact{bottom:12px;transform:scale(.9);transform-origin:bottom right}}@media(max-width:680px){body{padding-bottom:78px}.tp-mobile-actions{padding-bottom:env(safe-area-inset-bottom,0px);min-height:64px}.tp-mobile-actions a{min-height:48px}.footer-bottom{padding-bottom:92px}}
