@charset "UTF-8";
@font-face{font-family:"NTP Sans";src:url("assets/fonts/NotoSans-Variable.ttf") format("truetype");font-weight:100 900;font-style:normal;font-display:swap}
:root{--navy:#073d73;--deep:#052b52;--gold:#dfbd78;--ink:#17334b;--muted:#697e8e;--line:#dce3e9;--soft:#f3f6f9;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:#fff;font:15px/1.75 "NTP Sans","Segoe UI",Arial,sans-serif}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,select,textarea{font:inherit}button{cursor:pointer}button,a,input,select,textarea{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #b89145;outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.3;letter-spacing:-.025em;font-weight:600}h2{font-size:clamp(29px,3vw,43px);margin-bottom:20px}h3{font-size:20px}figure{margin:0}figcaption{font-size:10px;color:var(--muted);padding-top:10px}ul{padding-left:22px}li{margin-bottom:10px}.wrap{width:90%;max-width:1320px;margin-inline:auto}.top-bar{background:var(--deep);color:#d8e1ea;font-size:9px;letter-spacing:.06em;padding:8px 0}.top-bar>.wrap{display:flex;justify-content:space-between;gap:20px}.top-bar .wrap>div{display:flex;gap:22px}.header{position:sticky;top:0;z-index:30;background:#fffffff7;border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}.header-inner{width:94%;max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:92px}.brand{display:flex;align-items:center;gap:11px;flex-shrink:0}.brand>img{width:118px;height:auto;aspect-ratio:2/1;object-fit:contain;flex-shrink:0}.brand>span{font-size:16px;font-weight:750;letter-spacing:.015em;white-space:nowrap}.brand small{font-size:7px;display:block;letter-spacing:.11em;font-weight:500;margin-top:4px}.header nav{display:flex;align-items:center;gap:17px;font-size:10px;font-weight:500;white-space:nowrap}.header nav a{padding:12px 0;position:relative}.header nav a:hover,.header nav a[aria-current]{color:#a1782f}.header nav a[aria-current]:after{position:absolute;content:"";height:2px;background:var(--gold);bottom:6px;left:0;right:0}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:23px;border:0;padding:15px 22px;font-size:12px;line-height:1.5;font-weight:600;transition:background .2s}.button.navy,.header-cta{background:var(--navy);color:white}.header-cta{padding:12px 15px;font-size:10px;gap:14px;white-space:nowrap}.button.gold{background:var(--gold);color:var(--deep)}.button.light-outline{background:#052b523d;border:1px solid #ffffff85;color:white}.button.outline{background:transparent;border:1px solid #b4c3d0;color:var(--navy)}.button:hover{background:#d1ae68;color:var(--deep)}.menu-toggle{display:none}.hero{background:linear-gradient(90deg,#032448f2 0%,#06386bc4 40%,#052b5220 78%),url("assets/banner-navy-v2.png") 60% center/cover;color:white;position:relative;min-height:610px;display:flex;align-items:center}.hero>.wrap{padding-block:58px}.hero-copy{max-width:650px}.overline{font-size:10px;font-weight:600;letter-spacing:.13em;line-height:1.6;color:#a17d3c;margin-bottom:20px}.hero .overline{color:var(--gold)}.hero h1{font-size:clamp(42px,4.5vw,67px);line-height:1.19;margin-bottom:23px;letter-spacing:-.04em}.hero h1 span{color:var(--gold)}.hero-copy>p:not(.overline){color:#d5e0ea;font-size:14px;line-height:1.9;margin-bottom:30px}.hero-actions{display:flex;gap:15px;flex-wrap:wrap}.hero-labels{display:flex;gap:20px;margin-top:45px;padding-top:20px;border-top:1px solid #ffffff30;max-width:580px;font-size:8px;color:#c1d2e2;letter-spacing:.08em}.hero-caption{position:absolute;bottom:14px;right:5%;font-size:9px;color:#ffffffb3}.section{padding-block:80px}.section-top{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:30px}.section-top h2{margin-bottom:0}.section-top>p{font-size:13px;color:var(--muted);margin-bottom:5px}.arrow-link{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;font-size:12px;padding:7px 0;border-bottom:1px solid #b8c7d2;color:var(--navy)}.content-note{padding:13px 17px;font-size:11px;line-height:1.7;background:#f8f5ed;border-left:3px solid var(--gold);color:#766846;margin:0 0 25px}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.project-card{border:1px solid var(--line);background:white;min-width:0}.project-image{display:block;height:245px;position:relative;overflow:hidden}.project-image>img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.project-card:hover .project-image>img{transform:scale(1.035)}.project-image>span{position:absolute;bottom:0;left:0;right:0;padding:8px 12px;background:#052b52d9;color:white;font-size:7px;letter-spacing:.04em}.project-info{padding:24px}.project-info .overline{font-size:8px;margin-bottom:12px}.project-info h3{font-size:22px;margin-bottom:13px}.project-info>p:not(.overline){color:var(--muted);font-size:12px;min-height:64px}.project-info .arrow-link{width:100%}.soft-section{background:var(--soft)}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;margin-top:35px}.service-grid article{background:white;min-width:0}.service-grid img{width:100%;height:205px;object-fit:cover}.service-grid article:last-child img{object-position:50% 30%}.service-grid article>div{padding:27px}.service-grid .overline{font-size:9px}.service-grid h3{font-size:22px;min-height:57px;margin:15px 0}.service-grid p{color:var(--muted);font-size:13px;min-height:77px}.service-grid .arrow-link{width:100%;font-size:11px;gap:10px}.about-split,.feature-split{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.about-split figure img{width:100%;height:490px;object-fit:cover}.about-split>div>p:not(.overline),.feature-split>div>p{color:var(--muted);font-size:14px}.about-split .arrow-link{margin-top:15px}.portfolio-intro{border-top:1px solid var(--line)}.empty-portfolio{display:flex;align-items:center;gap:30px;border:1px solid var(--line);padding:35px;background:var(--soft)}.empty-portfolio>div{flex:1}.empty-portfolio h3{margin-bottom:10px;font-size:22px}.empty-portfolio p{color:var(--muted);font-size:13px;margin:0;max-width:620px}.line-icon{font-size:50px;color:#9aafbe;line-height:1}.empty-portfolio .button{white-space:nowrap}.muted{color:var(--muted);font-size:13px}.process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;margin-top:40px}.process-grid article{border-top:1px solid #bdcbd6;padding-top:20px}.process-grid b{display:block;color:#b29054;font-size:20px;font-weight:500;margin-bottom:27px}.process-grid h3{font-size:18px}.process-grid p{font-size:12px;color:var(--muted)}.article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.article-grid article{border-top:3px solid var(--navy);padding:25px 22px;background:var(--soft)}.article-grid article>span{font-size:8px;letter-spacing:.09em;color:#a17d3c}.article-grid h3{margin-top:18px;font-size:21px;min-height:56px}.article-grid p{font-size:13px;color:var(--muted);min-height:68px}.article-grid+.content-note{margin-top:30px}.cta{background:var(--navy);color:white;display:grid;grid-template-columns:1.2fr 1fr;gap:60px;padding:45px 50px;margin-bottom:80px;align-items:center}.cta .overline{color:var(--gold);font-size:9px}.cta h2{font-size:36px;margin:0}.cta>div>p:not(.overline){font-size:13px;color:#cddcea}.cta-phone{display:inline-block;margin-left:22px;font-size:14px;color:var(--gold)}footer{background:var(--deep);color:#bcd0e1;padding-top:50px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:50px;padding-bottom:40px}.footer-grid .brand{color:#f4e0b7}.footer-grid .brand>img{background:white;padding:4px;width:130px;height:auto}.footer-grid .brand span{font-size:15px}.footer-grid p{font-size:12px;margin-top:20px;max-width:370px}.footer-grid h3{font-size:14px;color:white;margin-bottom:20px}.footer-grid>div>a:not(.brand){display:block;font-size:12px;margin:9px 0}.footer-grid a:hover{color:var(--gold)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-block:20px;border-top:1px solid #ffffff20;font-size:9px}.floating-contact{position:fixed;right:16px;bottom:25px;z-index:40;display:flex;flex-direction:column;gap:7px}.floating-contact a{width:42px;height:42px;border:1px solid #a5bed3;background:var(--navy);color:var(--gold);display:grid;place-items:center;font-size:19px;box-shadow:0 3px 12px #03244820}.floating-contact a:nth-child(2){font-size:10px;font-weight:700}.floating-contact a:last-child{font-size:25px;font-weight:700}.page-heading{background:var(--navy);color:white;padding-block:65px}.page-heading .overline{color:var(--gold)}.page-heading h1{font-size:clamp(36px,4vw,55px);max-width:950px;margin-bottom:20px}.page-heading .wrap>p:last-child{color:#d3e0ec;font-size:14px;margin-bottom:0;max-width:750px}.info-list{margin-top:30px}.info-list>div{border-bottom:1px solid var(--line);padding:13px 0;display:grid;grid-template-columns:1fr 1.5fr;gap:20px;font-size:12px}.info-list dt{color:var(--muted)}.info-list dd{margin:0}.catalog-tabs,.status-tabs{display:flex;gap:10px;flex-wrap:wrap;padding-bottom:23px;border-bottom:1px solid var(--line);margin-bottom:25px}.catalog-tabs button,.status-tabs button{padding:11px 17px;background:#f1f5f8;border:1px solid #d6e0e8;color:var(--ink);font-size:12px}.catalog-tabs button.active,.status-tabs button.active{background:var(--navy);color:white;border-color:var(--navy)}.catalog-filter{display:grid;grid-template-columns:1fr 1.4fr auto auto;gap:20px;align-items:end;margin-bottom:25px}.catalog-filter label{font-size:11px}.catalog-filter input,.catalog-filter select{display:block;width:100%;margin-top:7px;padding:12px;border:1px solid #c4d2dd;background:white;color:var(--ink);font-size:13px}.reset-link{border:0;background:transparent;padding:14px 0;color:var(--navy);font-size:12px;text-decoration:underline}.empty-message{padding:60px 30px;text-align:center;background:var(--soft);border:1px dashed #b2c6d6}.empty-message p{font-size:13px;color:var(--muted);max-width:650px;margin-inline:auto}.empty-message h2{font-size:30px;margin-top:20px}.empty-message[hidden],.project-card[hidden]{display:none}.feature-split figure>img{width:100%;height:420px;object-fit:cover}.check-list{font-size:13px;color:var(--muted);margin:25px 0}.service-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.service-options article{padding:30px;border:1px solid var(--line)}.service-options article>span{color:#b2945b;font-size:22px}.service-options h3{margin:28px 0 16px}.service-options p{font-size:13px;min-height:90px;color:var(--muted)}.service-options .button{font-size:11px;padding:12px 15px;gap:10px}.service-options+.content-note{margin-top:30px}.contact-panel{background:var(--navy);padding:35px;color:white}.contact-panel>a{display:block;margin:12px 0;color:#e9d29f;font-size:14px}.contact-panel h3{font-size:23px}.contact-panel p{font-size:12px;color:#c9dbeb;margin-top:25px}.contact-panel.light{background:var(--soft);padding:20px;margin:25px 0;color:var(--ink)}.contact-panel.light a{color:var(--navy)}.contact-page{display:grid;grid-template-columns:1fr 1fr;gap:8%}.contact-page h2{font-size:30px}.contact-page>div>p{font-size:14px;color:var(--muted)}.contact-office img{height:280px;width:100%;object-fit:cover;object-position:50% 35%}.inline-form{border:1px solid var(--line);padding:35px}.form-note{padding:13px 16px;background:#f7f2e6;border-left:3px solid var(--gold);font-size:11px!important;color:#7e6c49!important}.consultation-form label{display:block;margin-bottom:18px;font-size:12px}.consultation-form input,.consultation-form select,.consultation-form textarea{display:block;width:100%;margin-top:7px;border:1px solid #c8d4de;background:white;color:var(--ink);padding:11px;font-size:14px;resize:vertical;min-width:0}.form-zalo{display:block;margin-top:15px;font-size:12px;color:var(--navy)}.form-status{font-size:12px;color:var(--navy);min-height:20px;margin-top:15px}.detail-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:50px}.gallery-main img{width:100%;height:460px;object-fit:cover}.gallery-thumbs{display:flex;gap:12px;margin:20px 0 35px}.gallery-thumbs button{border:2px solid transparent;background:#f0f4f7;padding:3px;width:105px;height:75px}.gallery-thumbs button[aria-pressed=true]{border-color:var(--navy)}.gallery-thumbs img{height:100%;width:100%;object-fit:cover}.detail-layout>div>p{font-size:14px;color:var(--muted)}.detail-sidebar{background:var(--soft);padding:30px;align-self:start}.detail-sidebar h2{font-size:29px}.detail-sidebar .button{width:100%;margin-bottom:14px}.detail-sidebar .arrow-link{font-size:12px}.article-body{max-width:800px}.article-body h3{margin-top:35px;font-size:23px}.article-body p{font-size:15px;color:var(--muted)}.article-note{font-size:11px!important;border-top:1px solid var(--line);padding-top:20px;margin-top:40px}details{border-block:1px solid var(--line);padding:20px 0;margin-top:25px}summary{cursor:pointer;font-size:14px}details p{font-size:13px;color:var(--muted);margin:20px 0 0}dialog{border:0;border-radius:0;padding:0;width:min(620px,92vw);max-height:90vh;color:var(--ink);background:white;box-shadow:0 20px 100px #03244860}dialog::backdrop{background:#032448a6;backdrop-filter:blur(4px)}.dialog-body{padding:35px}.dialog-body h2{font-size:30px}.close-dialog{position:absolute;right:12px;top:12px;border:0;background:#f0f5f9;color:var(--navy);font-size:24px;width:34px;height:34px;line-height:1}.skip-link{position:absolute;left:-999px}.skip-link:focus{left:10px;top:10px;background:white;padding:10px;z-index:100}
@media(max-width:1200px){.header nav{gap:12px;font-size:9px}.header-inner{gap:13px}.brand>span{font-size:14px}.brand>img{width:98px}.header-cta{padding:11px 12px;font-size:9px;gap:9px}.project-image{height:200px}.project-info{padding:20px}.service-grid article>div{padding:22px}.cta{padding:40px;gap:35px}.cta h2{font-size:32px}}
@media(max-width:1050px){.header-inner{min-height:78px;width:90%}.menu-toggle{display:block;margin-left:auto;font-size:21px;width:38px;height:38px;background:transparent;border:1px solid #b9c9d7;color:var(--navy)}.header nav{display:none;position:absolute;left:0;right:0;top:78px;padding:20px 5%;background:white;box-shadow:0 8px 15px #03244815;white-space:normal;max-height:70vh;overflow-y:auto}.header nav.open{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:13px}.header nav a{padding:10px 0}.hero{min-height:560px}.hero h1{font-size:55px}.about-split figure img{height:430px}.empty-portfolio{flex-wrap:wrap}.process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid{gap:30px}.service-grid h3{font-size:19px}.service-grid p{min-height:100px}.contact-page{gap:5%}.inline-form{padding:25px}.detail-layout{gap:30px}}
@media(max-width:760px){html{scroll-padding-top:78px}.top-bar{font-size:8px;padding:7px 0}.top-bar .wrap>span{display:none}.top-bar .wrap{justify-content:center}.top-bar .wrap>div{gap:20px}.header-inner{gap:12px}.brand>span{font-size:13px}.brand small{font-size:6px}.brand>img{width:88px}.brand{gap:8px}.header-cta{display:none}.hero{min-height:575px;background-position:60% center;background-image:linear-gradient(90deg,#032448f2,#06386bbb 70%,#052b5290),url("assets/banner-navy-v2.png")}.hero>.wrap{padding-block:45px}.hero-copy{max-width:520px}.hero h1{font-size:43px;line-height:1.25}.hero-copy>p:not(.overline){font-size:13px}.hero-copy>p br{display:none}.hero .overline{font-size:8px}.hero-actions{gap:12px}.hero-actions .button{font-size:11px;padding:14px 17px;gap:15px}.hero-labels{gap:12px;font-size:7px;flex-wrap:wrap;margin-top:35px}.hero-caption{font-size:7px;bottom:12px}.section{padding-block:50px}.section-top{display:block;margin-bottom:25px}.section-top .arrow-link,.section-top>p{margin-top:20px}.project-grid{grid-template-columns:1fr;gap:22px}.project-image{height:280px}.project-info>p:not(.overline){min-height:0}.project-info{padding:24px}.project-info h3{font-size:23px}.project-image>span{font-size:7px}.service-grid{grid-template-columns:1fr;gap:25px}.service-grid img{height:240px}.service-grid h3,.service-grid p{min-height:0}.service-grid h3{font-size:24px}.service-grid article>div{padding:25px}.service-grid .arrow-link{font-size:12px}.about-split,.feature-split{grid-template-columns:1fr;gap:30px}.about-split figure img{height:390px}.about-split>div>p:not(.overline){font-size:13px}.empty-portfolio{padding:25px;gap:18px;display:block}.empty-portfolio>.line-icon{display:block;margin-bottom:20px}.empty-portfolio .button{margin-top:25px;white-space:normal}.empty-portfolio h3{font-size:21px}.process-grid{gap:22px}.process-grid h3{font-size:17px}.process-grid p{font-size:12px}.process-grid b{margin-bottom:20px}.article-grid{grid-template-columns:1fr;gap:20px}.article-grid h3,.article-grid p{min-height:0}.article-grid article{padding:25px}.cta{grid-template-columns:1fr;padding:30px;gap:25px;margin-bottom:50px}.cta h2{font-size:30px}.cta-phone{font-size:13px;margin-left:15px}.footer-grid{grid-template-columns:1fr;gap:30px;padding-bottom:35px}.footer-grid p{max-width:none}.footer-grid h3{margin-bottom:15px}.footer-bottom{flex-wrap:wrap;font-size:8px;gap:12px}.footer-bottom>span:nth-child(2){width:100%;order:3}.floating-contact{right:8px;bottom:18px}.floating-contact a{width:35px;height:35px;font-size:16px}.floating-contact a:nth-child(2){font-size:9px}.floating-contact a:last-child{font-size:21px}.page-heading{padding-block:45px}.page-heading h1{font-size:35px}.page-heading .wrap>p:last-child{font-size:13px}.catalog-tabs,.status-tabs{gap:8px}.catalog-tabs button,.status-tabs button{font-size:11px;padding:9px 12px}.catalog-filter{grid-template-columns:1fr 1fr;gap:15px}.catalog-filter .button{font-size:12px;justify-content:center}.catalog-filter .reset-link{text-align:left}.feature-split figure>img{height:320px}.service-options{grid-template-columns:1fr;gap:20px}.service-options p{min-height:0}.service-options article{padding:25px}.service-options h3{font-size:23px}.contact-page{grid-template-columns:1fr;gap:35px}.inline-form{padding:25px}.contact-office img{height:320px}.detail-layout{grid-template-columns:1fr;gap:35px}.gallery-main img{height:330px}.detail-sidebar{padding:25px}.info-list>div{font-size:11px;gap:12px}.dialog-body{padding:28px}.dialog-body h2{font-size:26px}.empty-message{padding:35px 20px}.empty-message h2{font-size:25px}}
@media(max-width:390px){.hero h1{font-size:37px}.hero-labels{font-size:6px;gap:10px}.hero-actions .button{padding:13px 15px;font-size:10px;gap:12px}.brand>span{font-size:12px}.brand small{font-size:5px}.brand>img{width:78px}.hero .overline{letter-spacing:.07em}.cta{padding:25px}.cta-phone{display:block;margin:15px 0 0}.process-grid{grid-template-columns:1fr}.top-bar .wrap>div{gap:12px}.project-image{height:240px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}


/* Nam Thinh Phat: shared action hierarchy and supporting color palette. */
:root{--action:#0759a5;--action-hover:#06447f;--action-pressed:#052f5b;--action-soft:#e9f3fd;--teal:#087f8c;--teal-soft:#edf8f8;--champagne:#f7edd9;--focus:#1479cc;--radius:0}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
.button{min-height:48px;border-radius:0;padding:13px 19px;gap:18px;font-size:12px;font-weight:650;border:1px solid transparent;box-shadow:none;transition:background .18s,color .18s,border-color .18s,box-shadow .18s,transform .18s}
.button>span{display:inline-grid;place-items:center;flex-shrink:0;width:26px;height:26px;border-radius:0;background:#ffffff20;font-size:16px;line-height:1;transition:transform .18s,background .18s}
.button.navy,.button.header-cta{background:linear-gradient(125deg,#0968bd,var(--navy));color:white;box-shadow:0 5px 14px #0759a51a}
.button.navy:hover,.button.header-cta:hover{background:var(--action-hover);color:white;border-color:#1d6ba8;box-shadow:0 7px 20px #0759a52b;transform:translateY(-1px)}
.button.navy:active,.button.header-cta:active{background:var(--action-pressed);color:white;transform:translateY(0);box-shadow:none}
.button.gold{background:linear-gradient(120deg,#f1d496,#dfbd78);color:#123753;border-color:#d4ad63;box-shadow:0 5px 15px #bb8c2d20}
.button.gold>span{background:#073d7312;color:var(--deep)}
.button.gold:hover{background:#f3d99f;color:#052b52;border-color:#c59a48;transform:translateY(-1px);box-shadow:0 7px 20px #bb8c2d35}
.button.gold:active{background:#d8b16c;transform:translateY(0);box-shadow:none}
.button.outline{background:white;color:var(--action);border-color:#8eafd0}
.button.outline>span{background:var(--action-soft)}
.button.outline:hover{background:var(--action-soft);color:var(--navy);border-color:var(--action);transform:translateY(-1px)}
.button.outline:active{background:#d8eafa;transform:translateY(0)}
.button.light-outline{background:#ffffff0e;color:white;border-color:#c6dff3a6;box-shadow:none}
.button.light-outline:hover{background:#ffffff20;color:white;border-color:white;transform:translateY(-1px)}
.button.light-outline:active{background:#ffffff30;transform:translateY(0)}
.button:hover>span{transform:translateX(2px)}
.button.header-cta{min-height:43px;font-size:10px;padding:8px 12px;gap:12px}
.button.header-cta>span{width:23px;height:23px;font-size:14px}
.button:focus-visible,.arrow-link:focus-visible,.catalog-tabs button:focus-visible,.status-tabs button:focus-visible,.reset-link:focus-visible,.form-zalo:focus-visible,.floating-contact a:focus-visible{outline:3px solid var(--focus);outline-offset:4px}
.hero .button:focus-visible,.cta .button:focus-visible,.floating-contact a:focus-visible{outline-color:#f1d496}
.button:disabled,.button[aria-disabled=true]{background:#e2e8ef!important;border-color:#d5dfe8!important;color:#687d8e!important;box-shadow:none!important;transform:none!important;cursor:not-allowed}
.button:disabled>span,.button[aria-disabled=true]>span{background:#ced9e3;transform:none}
.button[aria-disabled=true]{pointer-events:none}
.arrow-link{border-bottom:0;border-radius:0;padding:8px 10px 8px 0;gap:20px;color:var(--action);font-weight:650;font-size:12px;min-height:42px;transition:color .18s,background .18s,padding .18s}
.arrow-link>span{display:inline-grid;place-items:center;flex-shrink:0;width:29px;height:29px;background:var(--action-soft);border-radius:0;color:var(--action);transition:transform .18s,background .18s,color .18s}
.arrow-link:hover{color:var(--action-hover);background:#edf5fc;padding-left:10px}
.arrow-link:hover>span{background:var(--action);color:white;transform:translateX(2px)}
.arrow-link:active{background:#dcecf9}
.catalog-tabs,.status-tabs{border:0;border-radius:0;padding:7px;margin-bottom:25px;background:#eaf1f7;gap:6px;width:fit-content;max-width:100%}
.catalog-tabs button,.status-tabs button{border:1px solid transparent;border-radius:0;background:transparent;color:#43627c;min-height:44px;padding:10px 17px;font-weight:600;font-size:12px;transition:background .18s,color .18s,box-shadow .18s}
.catalog-tabs button:hover,.status-tabs button:hover{background:#dceaf5;color:var(--navy)}
.catalog-tabs button.active,.status-tabs button.active{background:white;border-color:#c3d8eb;color:var(--navy);box-shadow:0 2px 7px #073d7312}
.catalog-tabs button:active,.status-tabs button:active{background:#cfdfed}
.reset-link{border-radius:0;padding:12px 14px;text-decoration:none;background:var(--action-soft);color:var(--action);font-weight:600;min-height:44px}
.reset-link:hover{background:#d7eafb;color:var(--action-hover)}
.form-zalo{display:inline-flex;align-items:center;min-height:44px;padding:10px 14px;border-radius:0;background:#ebf3ff;color:#0754b4;font-weight:600;border:1px solid #cadefa}
.form-zalo:hover{background:#dceafe;color:#064387}
.menu-toggle{border-radius:0;background:#eff5fb;border-color:#c2d6e8;min-width:44px;min-height:44px;transition:background .18s}
.menu-toggle:hover{background:#dcebf8}
.floating-contact{gap:9px;right:17px;bottom:25px}
.floating-contact a{width:46px;height:46px;border-radius:0;background:var(--navy);border:1px solid #ffffff80;color:white;box-shadow:0 5px 15px #03244825;transition:transform .18s,box-shadow .18s,background .18s}
.floating-contact a:first-child{background:var(--teal);font-size:20px}
.floating-contact a:nth-child(2){background:#0967cc;color:white;font-size:10px}
.floating-contact a:last-child{background:#176cbe;color:white;font-size:26px}
.floating-contact a:hover{transform:translateY(-2px);box-shadow:0 8px 20px #03244840;filter:brightness(1.08)}
.floating-contact a:active{transform:translateY(0);box-shadow:none}
.header nav a[aria-current]:after{background:var(--action);height:3px;border-radius:0}
.header nav a:hover,.header nav a[aria-current]{color:var(--action)}
.soft-section{background:linear-gradient(120deg,#eff5fb,#f6f9fc)}
.project-card{border-color:#d7e5f0;border-radius:0;overflow:hidden;box-shadow:0 6px 20px #073d7306;transition:box-shadow .2s,border-color .2s}
.project-card:hover{border-color:#a7c9e5;box-shadow:0 10px 26px #073d7310}
.project-image>span{background:#073d73e6}
.content-note{border-radius:0;background:var(--champagne);border-left-color:#caa45d;color:#796139}
.service-grid article{border-radius:0;overflow:hidden;border:1px solid #dce7f0;border-top:4px solid var(--action)}
.service-grid article:nth-child(2){border-top-color:var(--teal)}
.service-grid article:nth-child(3){border-top-color:#b48b3c}
.service-grid article:nth-child(2)>div{background:linear-gradient(180deg,white,var(--teal-soft))}
.service-grid article:nth-child(3)>div{background:linear-gradient(180deg,white,#fcf8ef)}
.service-grid article:nth-child(2) .overline{color:var(--teal)}
.service-grid article:nth-child(2) .arrow-link{color:#076673}
.service-grid article:nth-child(2) .arrow-link>span{background:#dceff0;color:var(--teal)}
.service-grid article:nth-child(2) .arrow-link:hover>span{background:var(--teal);color:white}
.service-grid article:nth-child(3) .overline{color:#977325}
.service-grid article:nth-child(3) .arrow-link>span{background:#f5ecd8;color:#937127}
.service-grid article:nth-child(3) .arrow-link:hover>span{background:#a88230;color:white}
.empty-portfolio,.empty-message{border-radius:0;background:#f0f6fc;border-color:#cbddea}
.process-grid b{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:0;background:#e1effa;color:var(--action);font-size:16px}
.process-grid article:nth-child(2) b{background:#ddf0f0;color:var(--teal)}
.process-grid article:nth-child(3) b{background:#f3e9d5;color:#927033}
.article-grid article{border-radius:0;background:#f1f6fb;border-color:var(--action)}
.article-grid article:nth-child(2){background:#f0f8f8;border-color:var(--teal)}
.article-grid article:nth-child(3){background:#faf6ed;border-color:#b48b3c}
.cta{border-radius:0;background:linear-gradient(125deg,#075198,#052f5c 80%);position:relative;overflow:hidden;box-shadow:0 12px 30px #073d7317}
.cta:after{content:"";position:absolute;width:250px;height:250px;right:-110px;bottom:-175px;border:35px solid #ffffff06;border-radius:0;pointer-events:none}
.service-options article{border-radius:0;border-top:4px solid var(--action)}
.service-options article:nth-child(2){border-top-color:var(--teal);background:#f7fbfb}
.service-options article:nth-child(3){border-top-color:#b48b3c;background:#fcfaf5}
.contact-panel,.inline-form,.detail-sidebar{border-radius:0}
.consultation-form input,.consultation-form select,.consultation-form textarea,.catalog-filter input,.catalog-filter select{border-radius:0}
.gallery-thumbs button{border-radius:0;overflow:hidden}
dialog{border-radius:0}
.close-dialog{border-radius:0;min-width:40px;min-height:40px;background:#e9f2fa}
.close-dialog:hover{background:#d4e5f4}
@media(max-width:760px){.button{min-height:48px}.hero-actions .button{min-height:48px;border-radius:0}.hero-actions .button>span{width:24px;height:24px}.catalog-tabs,.status-tabs{width:100%}.catalog-tabs button,.status-tabs button{min-height:44px;font-size:11px;padding:9px 12px}.floating-contact{right:10px;bottom:20px;gap:8px}.floating-contact a{width:44px;height:44px;border-radius:0}.floating-contact a:nth-child(2){font-size:10px}.floating-contact a:last-child{font-size:25px}.cta{border-radius:0}.consultation-form input,.consultation-form select,.consultation-form textarea{font-size:16px}.reset-link{padding:11px 14px}.gallery-thumbs button{min-width:70px;min-height:70px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important}.button:hover,.button:hover>span,.arrow-link:hover>span,.floating-contact a:hover{transform:none}}

/* Floating website shortcuts */
.floating-contact a:nth-child(n){background:linear-gradient(145deg,#0c72ba,#073d73);color:#fff;border-color:#ffffff80}.floating-contact a[href*="facebook.com"]{font-size:26px}.floating-contact a.floating-admin{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;font-size:8px;line-height:1.1}.floating-admin svg{flex:none}.floating-admin span{font-size:8px;font-weight:650;letter-spacing:0}.floating-contact a:hover{background:linear-gradient(145deg,#1785ca,#0b508f)}
@media(max-width:760px){.floating-contact a[href*="facebook.com"]{font-size:25px}.floating-contact a.floating-admin{font-size:8px}}

/* Angular layout and controls */
.section{padding-block:64px}
.header{background:#fff;backdrop-filter:none}
.button.navy,.button.header-cta{background:#073d73;box-shadow:none}
.button.navy:hover,.button.header-cta:hover{background:#075b9f;box-shadow:none}
.button.gold{background:#dfbd78;box-shadow:none}
.button.gold:hover{background:#efd297;box-shadow:none}
.button>span{background:transparent;border-left:1px solid #ffffff40}
.button.gold>span{border-left-color:#073d7330}
.arrow-link>span{background:transparent;border:1px solid #cedce9}
.floating-contact a:nth-child(n){background:#073d73;box-shadow:0 2px 8px #03244820}
.floating-contact a:hover{background:#075b9f}
.project-card,.service-grid article,.service-options article,.article-grid article,.contact-panel,.inline-form,.detail-sidebar{box-shadow:none;border-color:#cbd9e5}
.project-card:hover{box-shadow:0 4px 12px #073d7310;border-color:#91b4d1}
.soft-section{background:#f1f5f8}
.service-grid article:nth-child(2)>div,.service-grid article:nth-child(3)>div{background:#fff}
.catalog-tabs,.status-tabs{padding:0;background:transparent;gap:0;border-bottom:1px solid #cbd9e5}
.catalog-tabs button,.status-tabs button{border:1px solid #cbd9e5;margin-right:-1px;background:#f1f5f8}
.catalog-tabs button[aria-selected=true],.status-tabs button[aria-selected=true]{background:#073d73;color:#fff}
.cta{background:#073d73;box-shadow:none;border-left:5px solid #dfbd78}
.cta:after{display:none}
@media(max-width:760px){.section{padding-block:44px}.catalog-tabs,.status-tabs{gap:0;row-gap:6px}}