:root{--navy:#071d35;--navy-2:#0b3158;--navy-3:#041426;--gold:#f4b323;--gold-dark:#b97800;--ink:#102337;--muted:#657585;--line:#dce3e7;--paper:#fff;--soft:#f3f6f7;--cream:#f7f4ed}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font:15px/1.7 "Be Vietnam Pro",sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,select{font:inherit}::selection{color:var(--navy);background:var(--gold)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.container{width:min(1180px,calc(100% - 48px));margin-inline:auto}.section{padding:96px 0;scroll-margin-top:84px}.section h2{margin:0;font-size:clamp(36px,4vw,54px);line-height:1.15;letter-spacing:-2px}.section h2 em{color:var(--navy-2);font-style:normal}.kicker{display:inline-flex;align-items:center;gap:12px;margin-bottom:17px;color:var(--navy-2);font-size:10px;font-weight:800;letter-spacing:1.9px}.kicker:before{width:32px;height:2px;content:"";background:var(--gold)}.kicker.light{color:var(--gold)}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:56px;margin-bottom:48px}.section-head>p{width:min(390px,100%);margin:0;color:var(--muted);font-size:14px}
/* Header */
.site-header{position:absolute;z-index:20;top:0;left:0;width:100%;height:76px;color:var(--navy);background:#fff;border-bottom:2px solid var(--gold);box-shadow:0 7px 24px rgba(7,29,53,.09)}.site-header.scrolled{position:fixed;background:rgba(255,255,255,.97);backdrop-filter:blur(14px)}.nav-wrap{display:flex;align-items:center;height:100%}.brand{display:flex;flex:0 0 124px;align-items:center;justify-content:center;width:124px;height:72px;padding:4px 6px}.brand img{width:auto;height:64px;object-fit:contain}.desktop-nav{display:flex;flex:1;align-items:center;justify-content:center;gap:clamp(13px,1.2vw,20px);margin:0 24px;white-space:nowrap}.desktop-nav a{padding:28px 0 24px;color:var(--navy);font-size:9.6px;font-weight:800;letter-spacing:.35px;text-transform:uppercase;transition:color .2s}.desktop-nav a:hover,.desktop-nav a.active{color:var(--gold-dark)}.nav-call{display:flex;flex:0 0 184px;align-items:center;gap:10px;width:184px;padding-left:17px;border-left:1px solid rgba(7,29,53,.16)}.phone-icon{display:grid;flex:0 0 36px;width:36px;height:36px;place-items:center;color:var(--gold-dark);border:1px solid rgba(7,29,53,.25);border-radius:50%}.nav-call small,.nav-call strong{display:block}.nav-call small{color:var(--muted);font-size:9px;text-transform:uppercase}.nav-call strong{color:var(--navy);font-size:14px;letter-spacing:.35px;white-space:nowrap}.menu-btn,.mobile-nav{display:none}
/* Hero */
.hero{position:relative;display:flex;align-items:center;height:min(920px,calc(100vh - 20px));min-height:720px;padding-top:76px;overflow:hidden;color:#fff;background:var(--navy)}.hero-bg{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(4,19,35,.58),rgba(4,19,35,.08) 72%),url("assets/hero-construction.webp");background-position:center;background-size:cover}.hero:after{position:absolute;inset:45% 0 0;content:"";background:linear-gradient(0deg,rgba(4,19,35,.88),transparent)}.hero-content{position:relative;z-index:2;padding-bottom:35px}.hero-eyebrow{display:flex;align-items:center;gap:14px;color:var(--gold);font-size:11px;font-weight:800;letter-spacing:2px}.hero-eyebrow i{width:60px;height:1px;background:var(--gold)}.hero h1{max-width:760px;margin:19px 0 22px;font-size:clamp(54px,5.8vw,78px);line-height:1.08;letter-spacing:-3.5px}.hero h1 span{color:var(--gold)}.hero-content>p{max-width:620px;margin:0 0 32px;color:rgba(255,255,255,.82);font-size:15px;line-height:1.75}.hero-actions{display:flex;gap:12px}.btn{display:inline-flex;min-height:52px;align-items:center;justify-content:center;gap:26px;padding:0 24px;border:0;cursor:pointer;font-size:12px;font-weight:700;transition:transform .2s,background .2s,color .2s}.btn-primary{color:var(--navy);background:var(--gold)}.btn-primary:hover{background:#ffc642;transform:translateY(-2px)}.btn-ghost{color:#fff;background:transparent;border:1px solid rgba(255,255,255,.48)}.btn-ghost:hover{color:var(--navy);background:#fff}.btn-dark{color:#fff;background:var(--navy)}.hero-stats{position:absolute;z-index:3;bottom:0;left:0;width:100%;border-top:1px solid rgba(255,255,255,.17)}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);max-width:760px;margin-left:auto}.stats-grid>div{display:flex;align-items:center;gap:14px;min-height:72px;padding:15px 20px;border-left:1px solid rgba(255,255,255,.17)}.stats-grid strong{color:var(--gold);font-size:23px}.stats-grid span{color:rgba(255,255,255,.76);font-size:10px;line-height:1.5;letter-spacing:.6px;text-transform:uppercase}
/* About */
.about{background:#fff}.about-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:end;gap:92px}.about-copy{color:var(--muted);font-size:16px}.about-copy p{margin:0 0 25px}.about-copy strong{color:var(--ink)}.text-link{padding-bottom:7px;color:var(--navy-2);border-bottom:1px solid #bdc9d1;font-size:12px;font-weight:800}.text-link span{margin-left:13px;color:var(--gold-dark)}.commitments{display:grid;grid-template-columns:repeat(4,1fr);margin-top:64px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.commitments article{display:flex;gap:16px;min-height:170px;padding:26px 21px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .25s,transform .25s}.commitments article:hover{background:var(--soft);transform:translateY(-3px)}.commitments span{padding-top:2px;color:var(--gold-dark);font-size:10px;font-weight:800}.commitments h3{margin:0 0 8px;font-size:14px;line-height:1.45}.commitments p{margin:0;color:var(--muted);font-size:11px;line-height:1.65}
/* Services */
.services{color:#fff;background:var(--navy)}.services .section-head>p{color:#aeb9c3}.services h2{color:#fff}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.14);border-left:1px solid rgba(255,255,255,.14)}.service-card{position:relative;display:flex;min-height:370px;flex-direction:column;padding:32px 27px;overflow:hidden;border-right:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14);transition:color .3s,transform .3s}.service-card:before{position:absolute;z-index:0;inset:auto 0 0;height:0;content:"";background:var(--gold);transition:height .35s}.service-card>*{position:relative;z-index:1}.service-card.featured{color:var(--navy);background:var(--gold);transform:translateY(-8px)}.service-card:hover{color:var(--navy);transform:translateY(-7px)}.service-card:hover:before{height:100%}.service-no{position:absolute;top:30px;right:25px;font-size:9px;opacity:.62}.service-icon{display:grid;width:68px;height:74px;place-items:center;margin:28px 0 24px;color:#fff;background:var(--gold);clip-path:polygon(50% 0,92% 24%,92% 76%,50% 100%,8% 76%,8% 24%);transition:transform .3s,background .3s}.service-icon svg{width:37px;height:37px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.service-card.featured .service-icon,.service-card:hover .service-icon{background:var(--navy);transform:translateY(-5px)}.service-card h3{min-height:55px;margin:0 0 10px;font-size:18px;line-height:1.5}.service-card p{margin:0 0 20px;color:#a5b2bd;font-size:12px;line-height:1.68}.service-card.featured p,.service-card:hover p{color:#40556a}.service-card a{margin-top:auto;font-size:11px;font-weight:800}
/* Process light */
.process{position:relative;overflow:hidden;background:var(--cream)}.process-heading{max-width:720px;margin:0 auto;text-align:center}.process-heading .kicker{justify-content:center;color:var(--navy-2)}.process-heading h2{color:var(--ink)}.process-heading h2 em{color:var(--gold-dark)}.process-heading p{max-width:570px;margin:19px auto 0;color:var(--muted);font-size:13px}.process-track{display:grid;grid-template-columns:repeat(5,1fr);margin:62px 0 0;padding:0;list-style:none}.process-track li{position:relative;padding:0 16px;text-align:center;transition:transform .3s}.process-track li:not(:last-child):after{position:absolute;top:36px;right:-12px;content:"→";color:#9aa9b4;font-size:25px}.process-icon{position:relative;display:grid;width:86px;height:86px;place-items:center;margin:0 auto 24px;color:#fff;background:var(--navy);clip-path:polygon(50% 0,92% 24%,92% 76%,50% 100%,8% 76%,8% 24%);transition:transform .3s,background .3s}.process-icon svg{width:55px;height:55px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.process-icon b{position:absolute;right:3px;bottom:5px;display:grid;width:23px;height:23px;place-items:center;color:var(--navy);background:var(--gold);border-radius:50%;font-size:8px}.process-track li:hover{transform:translateY(-5px)}.process-track li:hover .process-icon{background:var(--navy-2);transform:translateY(-3px)}.process-track h3{margin:0 0 9px;color:var(--navy);font-size:12px;line-height:1.45;letter-spacing:.35px;text-transform:uppercase}.process-track p{margin:0;color:var(--muted);font-size:10.5px;line-height:1.65}.process-cta{margin-top:45px;text-align:center}
/* Gallery dark */
.gallery-section{color:#fff;background:var(--navy-2)}.gallery-section .section-head h2{color:#fff}.gallery-section .section-head>p{color:#b7c2cc}.gallery-section .kicker{color:var(--gold)}.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}.gallery-item{position:relative;grid-column:span 5;height:410px;margin:0;overflow:hidden;background:var(--navy)}.gallery-item-wide{grid-column:span 7}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .55s}.gallery-item:after{position:absolute;inset:38% 0 0;content:"";background:linear-gradient(0deg,rgba(4,18,32,.93),transparent)}.gallery-item:hover img{transform:scale(1.035)}.gallery-item figcaption{position:absolute;z-index:2;right:26px;bottom:23px;left:26px;display:flex;flex-direction:column;gap:5px}.gallery-item figcaption span{color:var(--gold);font-size:9px;font-weight:800;letter-spacing:1.6px}.gallery-item figcaption strong{color:#fff;font-size:16px;line-height:1.45}.gallery-empty-note{margin:16px 0 0;color:#aebcc7;font-size:10px;text-align:right}.gallery-manager{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:-10px 0 24px;padding:18px 20px;color:var(--ink);background:#fff;border:1px dashed #9dadb8}.gallery-manager[hidden]{display:none}.gallery-manager>div{display:flex;flex-direction:column}.gallery-manager strong{font-size:13px}.gallery-manager span{color:var(--muted);font-size:10px}.gallery-upload{padding:11px 18px;color:#fff;background:var(--navy);cursor:pointer;font-size:11px;font-weight:800}.gallery-upload input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.gallery-item-uploaded{grid-column:span 4;height:340px}.gallery-delete{position:absolute;z-index:4;top:12px;right:12px;width:32px;height:32px;color:#fff;background:rgba(4,18,32,.85);border:0;cursor:pointer}
/* Capability */
.projects{background:#fff}.project-feature{display:grid;grid-template-columns:1.55fr .85fr;min-height:500px;overflow:hidden;color:#fff;background:var(--navy)}.project-image{background:url("assets/site-supervision.webp") center/cover no-repeat}.project-info{display:flex;flex-direction:column;justify-content:center;padding:54px 42px}.project-info>span{color:var(--gold);font-size:9px;font-weight:800;letter-spacing:1.8px}.project-info h3{margin:17px 0;font-size:24px;line-height:1.45}.project-info p{margin:0 0 22px;color:#afbcc7;font-size:12px}.project-info ul{margin:0 0 24px;padding:0;border-top:1px solid rgba(255,255,255,.14);list-style:none}.project-info li{position:relative;padding:9px 0 9px 19px;color:#d4dce2;border-bottom:1px solid rgba(255,255,255,.14);font-size:11px}.project-info li:before{position:absolute;left:0;content:"✓";color:var(--gold);font-weight:800}.project-info a{color:var(--gold);font-size:11px;font-weight:800}
/* Updates */
.company-updates{padding:82px 0;background:var(--soft)}.update-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.update-card{display:grid;grid-template-columns:72px 1fr;gap:22px;padding:34px 30px;background:#fff;border:1px solid var(--line);transition:transform .25s,box-shadow .25s;scroll-margin-top:86px}.update-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(7,29,53,.08)}.update-icon{display:grid;width:64px;height:70px;place-items:center;color:#fff;background:var(--gold);clip-path:polygon(50% 0,92% 24%,92% 76%,50% 100%,8% 76%,8% 24%)}.update-icon svg{width:35px;height:35px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.update-card span{color:var(--gold-dark);font-size:9px;font-weight:800;letter-spacing:1.4px}.update-card h2{margin:6px 0 8px!important;font-size:20px!important;line-height:1.4!important;letter-spacing:-.5px!important}.update-card p{margin:0 0 14px;color:var(--muted);font-size:11px}.update-card a{color:var(--navy-2);font-size:10px;font-weight:800}
/* Contact */
.contact{padding:90px 0;background:var(--navy-2)}.contact-card{position:relative;display:grid;grid-template-columns:1fr .86fr;gap:72px;padding:58px 64px;overflow:hidden;color:#fff;background:var(--navy);border:1px solid rgba(255,255,255,.12)}.contact-card:after{position:absolute;right:-35px;bottom:-110px;content:"VC";color:rgba(255,255,255,.025);font-size:290px;font-weight:800;line-height:1}.contact-copy,.contact-form{position:relative;z-index:1}.contact-copy h2{color:#fff}.contact-copy p{max-width:420px;margin:18px 0;color:#acb9c4;font-size:13px}.contact-phone{display:inline-flex;flex-direction:column;margin-top:12px;color:var(--gold);font-size:24px;font-weight:800}.contact-phone small{color:#95a6b4;font-size:8px;letter-spacing:1.5px;text-transform:uppercase}.contact-form{display:grid;gap:14px;padding:27px;color:var(--ink);background:#fff;box-shadow:0 20px 50px rgba(2,15,28,.28)}.contact-form label{font-size:9px;font-weight:800;letter-spacing:.7px;text-transform:uppercase}.contact-form input,.contact-form select{width:100%;margin-top:3px;padding:9px 0 11px;color:var(--ink);background:#fff;border:0;border-bottom:1px solid #d4dce1;outline:0;font-size:12px}.contact-form input:focus,.contact-form select:focus{border-color:var(--gold)}.contact-form .btn{width:100%;margin-top:5px}.form-note{min-height:0;margin:0;color:#157044;font-size:11px;text-align:center}
/* Footer */
footer{padding:60px 0 18px;color:#fff;background:var(--navy-3);border-top:3px solid var(--gold)}.footer-main{display:grid;grid-template-columns:1.2fr .75fr .75fr 1.05fr auto;align-items:start;gap:42px}.footer-brand img{width:142px;padding:9px 12px;background:#fff;border-left:3px solid var(--gold)}.footer-brand p,footer p{color:#91a0ac;font-size:11px}.footer-main h3{margin:0 0 16px;color:var(--gold);font-size:10px;letter-spacing:1.4px;text-transform:uppercase}.footer-links a{display:block;margin-bottom:8px;color:#d9e0e5;font-size:11px}.footer-main a:hover{color:var(--gold)}.footer-phone{display:block;margin-bottom:5px;color:var(--gold);font-size:19px;font-weight:800}.footer-zalo{display:inline-block;margin-top:5px;padding-bottom:2px;color:#dce6ee;border-bottom:1px solid rgba(255,255,255,.24);font-size:10px}.back-top{display:grid;width:42px;height:42px;place-items:center;border:1px solid #50606e}.footer-bottom{display:flex;justify-content:space-between;margin-top:44px;padding-top:16px;color:#758592;border-top:1px solid #253441;font-size:9px}.floating-actions{position:fixed;z-index:30;right:20px;bottom:20px;display:flex;flex-direction:column;gap:9px}.floating-actions a{display:grid;width:48px;height:48px;place-items:center;color:#fff;border-radius:50%;box-shadow:0 7px 20px rgba(0,0,0,.24);font-size:11px;font-weight:800;transition:transform .2s}.floating-actions a:hover{transform:translateY(-3px)}.zalo{background:#0876dc}.float-call{color:var(--navy)!important;background:var(--gold);font-size:18px!important}.reveal{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:1080px){.desktop-nav{gap:10px;margin:0 12px}.desktop-nav a{font-size:8.5px}.nav-call{flex-basis:170px;width:170px;padding-left:10px}.brand{flex-basis:114px;width:114px}.about-grid{gap:60px}.footer-main{grid-template-columns:1.15fr 1fr 1fr}.footer-contact{grid-column:2/3}.back-top{display:none}}
@media(max-width:900px){.site-header{height:70px}.brand{flex-basis:108px;width:108px;height:68px}.brand img{height:60px}.desktop-nav,.nav-call{display:none}.menu-btn{position:absolute;z-index:2;top:14px;right:24px;display:flex;width:42px;height:42px;align-items:center;justify-content:center;padding:0;background:rgba(7,29,53,.06);border:0}.menu-btn svg{display:block;width:25px;height:25px;fill:none;stroke:var(--navy);stroke-width:2;stroke-linecap:round}.mobile-nav{position:absolute;top:70px;left:0;display:flex;width:100%;flex-direction:column;padding:12px 24px 22px;color:var(--navy);background:#fff;box-shadow:0 18px 34px rgba(7,29,53,.15);opacity:0;transform:scaleY(0);transform-origin:top;transition:.22s}.mobile-nav.open{opacity:1;transform:scaleY(1)}.mobile-nav a{padding:10px 0;color:var(--navy);border-bottom:1px solid var(--line);font-size:11px;font-weight:800;letter-spacing:.5px;text-transform:uppercase}.mobile-nav a.active{color:var(--gold-dark)}.mobile-nav .mobile-call{margin-top:10px;color:var(--navy);background:var(--gold);text-align:center}.hero{height:780px;min-height:780px;padding-top:70px}.hero-bg{background-position:64% center}.about-grid,.contact-card{grid-template-columns:1fr;gap:42px}.commitments,.service-grid{grid-template-columns:repeat(2,1fr)}.process-track{grid-template-columns:repeat(3,1fr);row-gap:48px}.process-track li:nth-child(3):after{display:none}.process-track li:nth-child(4){grid-column:1/2;margin-left:50%}.process-track li:nth-child(5){grid-column:2/3;margin-left:50%}.gallery-item,.gallery-item-wide,.gallery-item-uploaded{grid-column:span 6;height:370px}.project-feature{grid-template-columns:1.15fr 1fr}.update-grid{grid-template-columns:1fr}}
@media(max-width:620px){.container{width:calc(100% - 32px)}.section{padding:68px 0}.section h2{font-size:36px;letter-spacing:-1.4px}.section-head{display:block;margin-bottom:34px}.section-head>p{margin-top:16px;line-height:1.7}.brand{flex-basis:102px;width:102px;padding:4px}.brand img{height:58px}.menu-btn{right:16px}.hero{height:720px;min-height:720px}.hero-bg{background-position:69% center}.hero:after{inset:28% 0 0}.hero-content{padding-bottom:0}.hero-eyebrow{font-size:9px;letter-spacing:1.4px}.hero-eyebrow i{width:32px}.hero h1{margin:17px 0 20px;font-size:44px;line-height:1.1;letter-spacing:-2.4px}.hero-content>p{width:calc(100% - 10px);font-size:13px}.hero-actions{flex-direction:column}.hero-stats{display:none}.about-grid{gap:27px}.about-copy{font-size:14px}.commitments{grid-template-columns:1fr;margin-top:46px}.commitments article{min-height:auto}.service-grid{grid-template-columns:1fr}.service-card{min-height:320px}.service-card.featured{transform:none}.service-card h3{min-height:auto}.process-heading{text-align:left}.process-heading .kicker{justify-content:flex-start}.process-heading p{margin-left:0}.process-track{grid-template-columns:1fr;margin-top:42px}.process-track li,.process-track li:nth-child(4),.process-track li:nth-child(5){display:grid;grid-template-columns:74px 1fr;grid-column:auto;column-gap:17px;margin-left:0;padding:0 0 39px;text-align:left}.process-track li:not(:last-child):after,.process-track li:nth-child(3):after{top:72px;right:auto;left:31px;display:block;content:"↓";font-size:20px}.process-icon{grid-row:1/3;width:68px;height:72px;margin:0}.process-icon svg{width:43px;height:43px}.process-track h3{margin:7px 0 5px}.process-track p{font-size:11px}.process-cta{margin-top:5px}.process-cta .btn{width:100%}.gallery-item,.gallery-item-wide,.gallery-item-uploaded{grid-column:1/-1;height:320px}.gallery-manager{align-items:stretch;flex-direction:column}.gallery-upload{text-align:center}.gallery-empty-note{text-align:left}.project-feature{display:block}.project-image{height:330px}.project-info{padding:36px 24px}.company-updates{padding:64px 0}.update-card{grid-template-columns:55px 1fr;gap:14px;padding:25px 19px}.update-icon{width:54px;height:60px}.update-icon svg{width:30px;height:30px}.update-card h2{font-size:18px!important}.contact{padding:68px 0}.contact-card{padding:42px 20px}.contact-form{padding:24px 19px}.footer-main{grid-template-columns:1fr 1fr;gap:31px 22px}.footer-brand,.footer-contact{grid-column:1/-1}.footer-bottom{display:block;margin-top:36px}.footer-bottom span{display:block;margin:4px 0}.floating-actions{right:13px;bottom:13px}.floating-actions a{width:45px;height:45px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}

/* Project library: filtering, sorting and image viewer */
.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 24px;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.14)}
.gallery-filters{display:flex;flex-wrap:wrap;gap:8px}.gallery-filters button{padding:10px 15px;color:#bdc8d1;background:transparent;border:1px solid rgba(255,255,255,.22);cursor:pointer;font-size:9px;font-weight:800;letter-spacing:.65px;text-transform:uppercase;transition:.2s}.gallery-filters button:hover,.gallery-filters button.active{color:var(--navy);background:var(--gold);border-color:var(--gold)}
.gallery-sort{display:flex;align-items:center;gap:10px;white-space:nowrap}.gallery-sort span{color:#9eacb8;font-size:9px;font-weight:800;letter-spacing:.7px;text-transform:uppercase}.gallery-sort select,.gallery-manager-category select{padding:10px 34px 10px 12px;color:#fff;background:var(--navy);border:1px solid rgba(255,255,255,.24);outline:0;font-size:10px}
.gallery-manager-category{display:flex;flex-direction:column;gap:4px}.gallery-manager-category span{font-size:8px;font-weight:800;letter-spacing:.6px;text-transform:uppercase}.gallery-manager-category select{color:var(--ink);background:#fff;border-color:#cbd4db}
.gallery-manager-project{display:flex;min-width:220px;flex-direction:column;gap:4px}.gallery-manager-project span{font-size:8px;font-weight:800;letter-spacing:.6px;text-transform:uppercase}.gallery-manager-project input{height:37px;padding:0 11px;color:var(--ink);background:#fff;border:1px solid #cbd4db;outline:0;font-size:10px}.gallery-manager-project input:focus{border-color:var(--gold-dark)}
.gallery-item{cursor:zoom-in}.gallery-item[hidden]{display:none}.gallery-item:before{position:absolute;z-index:3;top:18px;right:18px;display:grid;width:38px;height:38px;place-items:center;content:"+";color:#fff;background:rgba(4,18,32,.74);border:1px solid rgba(255,255,255,.42);font-size:20px;opacity:0;transform:translateY(-6px);transition:.25s}.gallery-item:hover:before,.gallery-item:focus:before{opacity:1;transform:none}.gallery-item:focus{outline:2px solid var(--gold);outline-offset:3px}.gallery-results{display:flex;justify-content:space-between;gap:16px}.gallery-no-results{margin:16px 0 0;color:var(--gold);font-size:10px;font-weight:700}.gallery-delete{cursor:pointer!important}
.gallery-item.album-cover{grid-column:span 6}.gallery-grid.album-single .album-cover{grid-column:1/-1;height:500px}.album-count{position:absolute;z-index:3;top:18px;left:18px;padding:8px 11px;color:var(--navy);background:var(--gold);font-size:9px;letter-spacing:.6px;text-transform:uppercase}.album-cover figcaption span:after{content:" · ALBUM DỰ ÁN"}
.project-lightbox{position:fixed;z-index:1000;inset:0;display:grid;grid-template-columns:76px minmax(0,1180px) 76px;align-items:center;justify-content:center;padding:34px;background:rgba(2,12,22,.94);backdrop-filter:blur(8px)}.project-lightbox[hidden]{display:none}.lightbox-panel{position:relative;max-height:calc(100vh - 68px);overflow:hidden;background:#071d35;box-shadow:0 30px 90px rgba(0,0,0,.5)}.lightbox-panel img{display:block;width:100%;max-height:calc(100vh - 150px);object-fit:contain;background:#020b14}.lightbox-caption{display:grid;grid-template-columns:1fr auto;gap:5px 20px;padding:17px 22px 19px}.lightbox-caption span{grid-column:1/-1;color:var(--gold);font-size:9px;font-weight:800;letter-spacing:1.3px;text-transform:uppercase}.lightbox-caption strong{color:#fff;font-size:15px}.lightbox-caption small{align-self:center;color:#98a7b4;font-size:10px}.lightbox-close,.lightbox-nav{display:grid;place-items:center;color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);cursor:pointer;transition:.2s}.lightbox-close:hover,.lightbox-nav:hover{color:var(--navy);background:var(--gold);border-color:var(--gold)}.lightbox-close{position:absolute;z-index:3;top:24px;right:24px;width:44px;height:44px;font-size:27px}.lightbox-nav{width:48px;height:64px;margin:auto;font-size:32px}.lightbox-prev{justify-self:start}.lightbox-next{justify-self:end}body.lightbox-open{overflow:hidden}
@media(max-width:900px){.gallery-toolbar{align-items:flex-start;flex-direction:column}.gallery-sort{align-self:flex-end}.project-lightbox{grid-template-columns:52px minmax(0,1fr) 52px;padding:20px}.lightbox-close{top:12px;right:12px}}
@media(max-width:620px){.gallery-filters{display:grid;width:100%;grid-template-columns:1fr 1fr}.gallery-filters button:first-child{grid-column:1/-1}.gallery-sort{width:100%;justify-content:space-between}.gallery-sort select{flex:1}.gallery-grid.album-single .album-cover{height:360px}.gallery-manager-project{min-width:0}.project-lightbox{display:block;padding:64px 12px 86px}.lightbox-panel{top:50%;transform:translateY(-50%)}.lightbox-nav{position:absolute;z-index:3;bottom:18px;width:46px;height:46px}.lightbox-prev{left:calc(50% - 54px)}.lightbox-next{right:calc(50% - 54px)}.lightbox-caption{padding:13px 15px 15px}.lightbox-caption strong{font-size:13px}}

/* Home project showcase */
.home-page .gallery-toolbar,.home-page .gallery-manager,.home-page .gallery-empty-note,.home-page .gallery-no-results{display:none!important}.home-slider-head{display:flex;align-items:center;justify-content:space-between;margin:-6px 0 20px;color:#aebcc7;font-size:10px;font-weight:700;letter-spacing:.6px;text-transform:uppercase}.home-project-stage{position:relative}.home-slider-side{position:absolute;z-index:8;top:50%;display:grid;width:48px;height:68px;place-items:center;color:#fff;background:rgba(3,16,29,.82);border:1px solid rgba(255,255,255,.48);cursor:pointer;font-size:34px;transform:translateY(-50%);transition:.2s}.home-slider-side:hover{color:var(--navy);background:var(--gold);border-color:var(--gold)}.home-slider-prev{left:14px}.home-slider-next{right:14px}.home-page .gallery-grid{display:flex;gap:16px;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none}.home-page .gallery-grid::-webkit-scrollbar{display:none}.home-page .gallery-item.album-cover,.home-page .gallery-grid.album-single .album-cover{min-width:66%;height:430px;flex:0 0 66%;scroll-snap-align:start}.home-page .album-count{display:none}.home-page .album-cover figcaption span:after{content:" · XEM DỰ ÁN"}
.home-page .gallery-item:before,.projects-page .gallery-item:before{content:"→";cursor:pointer}

/* Dedicated projects page */
.project-page-main{padding-top:72px}.project-page-hero{display:flex;min-height:380px;align-items:flex-end;padding:92px 0 72px;color:#fff;background:linear-gradient(115deg,rgba(4,18,32,.98),rgba(11,54,91,.92)),url("assets/hero-construction.webp") center 57%/cover no-repeat;border-bottom:1px solid rgba(255,255,255,.12)}.project-page-hero h1{margin:17px 0 13px;color:#fff;font-size:66px;line-height:1;letter-spacing:-3px}.project-page-hero p{max-width:680px;margin:0;color:#c1ccd5;font-size:14px;line-height:1.8}.projects-page .gallery-section{padding-top:82px}.projects-page .gallery-item.album-cover{grid-column:span 6;height:410px}.projects-page .gallery-grid.album-single .album-cover{grid-column:1/-1}.project-page-cta{padding:58px 0;color:#fff;background:var(--navy-2);border-top:1px solid rgba(255,255,255,.1)}.project-page-cta .container{display:flex;align-items:center;justify-content:space-between;gap:40px}.project-page-cta span{color:var(--gold);font-size:9px;font-weight:800;letter-spacing:1.4px}.project-page-cta h2{max-width:700px;margin:10px 0 0;color:#fff;font-size:31px;letter-spacing:-1px}.project-page-cta .btn{flex:0 0 auto}
@media(max-width:900px){.home-page .gallery-item.album-cover,.home-page .gallery-grid.album-single .album-cover{min-width:82%;flex-basis:82%}.project-page-main{padding-top:70px}.project-page-hero h1{font-size:54px}.project-page-cta .container{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.home-page .gallery-item.album-cover,.home-page .gallery-grid.album-single .album-cover{min-width:92%;height:330px;flex-basis:92%}.home-slider-head{margin-top:0}.home-slider-side{width:40px;height:54px;font-size:28px}.home-slider-prev{left:7px}.home-slider-next{right:7px}.projects-page .gallery-item.album-cover{grid-column:1/-1;height:330px}.project-page-hero{min-height:330px;padding:76px 0 54px}.project-page-hero h1{font-size:44px;letter-spacing:-2px}.project-page-hero p{font-size:12px}.project-page-cta{padding:48px 0}.project-page-cta h2{font-size:26px}.project-page-cta .btn{width:100%}}

/* Individual project pages */
.detail-main{padding-top:72px}.detail-hero{position:relative;display:flex;min-height:610px;align-items:flex-end;padding:110px 0 80px;color:#fff;background-position:center;background-size:cover}.detail-hero:after{position:absolute;inset:0;content:"";background:linear-gradient(90deg,rgba(3,16,29,.96) 0%,rgba(3,16,29,.72) 48%,rgba(3,16,29,.18) 100%)}.detail-hero-house{background-image:url("assets/site-supervision.webp")}.detail-hero-villa{background-image:url("assets/hero-construction.webp")}.detail-hero .container{position:relative;z-index:1}.detail-back{display:inline-block;margin-bottom:62px;padding-bottom:5px;color:#dce5ec;border-bottom:1px solid rgba(255,255,255,.42);font-size:10px;font-weight:700}.detail-hero span{display:block;color:var(--gold);font-size:9px;font-weight:800;letter-spacing:1.6px}.detail-hero h1{max-width:850px;margin:17px 0 19px;color:#fff;font-size:64px;line-height:1.08;letter-spacing:-3px}.detail-hero p{max-width:660px;margin:0;color:#d2dbe2;font-size:14px;line-height:1.8}.detail-overview{background:#fff}.detail-overview-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:100px}.detail-overview h2{margin:17px 0 20px}.detail-overview p{max-width:650px;color:var(--muted);font-size:13px}.detail-overview dl{margin:0;border-top:2px solid var(--gold)}.detail-overview dl div{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:17px 0;border-bottom:1px solid var(--line)}.detail-overview dt{color:var(--muted);font-size:10px}.detail-overview dd{margin:0;color:var(--ink);font-size:11px;font-weight:800;text-align:right}.detail-images{background:#f2f4f5}.detail-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.detail-gallery figure{position:relative;height:390px;margin:0;overflow:hidden;background:var(--navy);cursor:zoom-in}.detail-gallery .detail-wide{grid-column:1/-1;height:560px}.detail-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .55s}.detail-gallery figure:after{position:absolute;inset:55% 0 0;content:"";background:linear-gradient(transparent,rgba(3,16,29,.85))}.detail-gallery figure:hover img{transform:scale(1.025)}.detail-gallery figcaption{position:absolute;z-index:2;right:22px;bottom:20px;left:22px;color:#fff;font-size:11px;font-weight:700}.detail-gallery figure:focus{outline:3px solid var(--gold);outline-offset:3px}
@media(max-width:900px){.detail-main{padding-top:70px}.detail-hero{min-height:540px}.detail-hero h1{font-size:52px}.detail-overview-grid{grid-template-columns:1fr;gap:48px}.detail-gallery .detail-wide{height:470px}}
@media(max-width:620px){.detail-hero{min-height:560px;padding:90px 0 60px;background-position:62% center}.detail-hero:after{background:linear-gradient(0deg,rgba(3,16,29,.97),rgba(3,16,29,.32))}.detail-back{margin-bottom:110px}.detail-hero h1{font-size:39px;letter-spacing:-2px}.detail-hero p{font-size:12px}.detail-gallery{grid-template-columns:1fr}.detail-gallery figure,.detail-gallery .detail-wide{grid-column:auto;height:310px}}
.dynamic-empty{grid-column:1/-1;margin:0;padding:55px;color:var(--muted);background:#fff;border:1px dashed #bdc8d0;text-align:center}
.home-page .gallery-section .section-head{grid-template-columns:1fr;margin-bottom:36px}
.projects-page .gallery-item.album-cover{grid-column:span 4;height:330px}.project-pagination{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:34px}.project-pagination:empty{display:none}.project-pagination a{display:grid;width:42px;height:42px;place-items:center;color:#c6d1d9;border:1px solid rgba(255,255,255,.24);font-size:10px;font-weight:800;transition:.2s}.project-pagination a:hover,.project-pagination a.active{color:var(--navy);background:var(--gold);border-color:var(--gold)}
.project-pagination span{display:grid;width:28px;height:42px;place-items:center;color:#8fa0ad}.project-pagination .pagination-arrow{font-size:15px}
.process-icon b{z-index:2;right:18px;bottom:14px;width:22px;height:22px;color:var(--navy);background:var(--gold);border:2px solid var(--cream);font-size:9px;font-weight:800;line-height:1}
@media(max-width:900px){.projects-page .gallery-item.album-cover{grid-column:span 6;height:340px}}
@media(max-width:620px){.projects-page .gallery-item.album-cover{grid-column:1/-1;height:330px}}

/* Unified visual system */
:root{--navy:#08233d;--navy-2:#08233d;--navy-3:#061c31;--gold:#f4b323;--gold-dark:#b97800;--ink:#10253a;--muted:#647485;--line:#dbe2e7;--paper:#fff;--soft:#fff;--cream:#fff}
body{background:#fff}.container{width:min(1200px,calc(100% - 48px))}.section{padding:88px 0}.section h2{font-size:clamp(36px,3.7vw,52px);letter-spacing:-1.8px}.section-head{align-items:flex-start;margin-bottom:42px}
.site-header{height:82px;border-bottom:1px solid var(--gold);box-shadow:0 5px 20px rgba(8,35,61,.07)}.site-header .container{width:min(1240px,calc(100% - 48px))}.nav-wrap{display:grid;grid-template-columns:190px minmax(0,1fr) 190px}.brand{width:118px;height:80px;justify-self:start;padding:5px 4px}.brand img{height:62px}.desktop-nav{justify-self:center;gap:18px;margin:0}.desktop-nav a{position:relative;padding:31px 0 27px;font-size:9.5px;letter-spacing:.25px}.desktop-nav a.active:after{position:absolute;right:0;bottom:18px;left:0;height:2px;content:"";background:var(--gold)}.nav-call{width:190px;justify-self:end;padding-left:18px}.hero{padding-top:82px}
.project-page-main,.detail-main{padding-top:82px}
.about,.process,.projects,.company-updates,.detail-overview,.detail-images{background:#fff}.services,.gallery-section,.contact,.project-page-hero,.project-page-cta{background-color:var(--navy)}.company-updates{padding:76px 0;border-top:1px solid var(--line)}.process{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.commitments article:hover,.update-card:hover{background:#fff}.gallery-section{background:var(--navy)}.contact{background:var(--navy)}.contact-card{background:transparent;border-color:rgba(255,255,255,.18)}footer{background:var(--navy-3)}
.projects-page .gallery-section{background:var(--navy)}.project-page-hero{background-color:var(--navy)}.detail-images{border-top:1px solid var(--line)}
@media(max-width:1080px){.nav-wrap{grid-template-columns:150px minmax(0,1fr) 170px}.desktop-nav{gap:11px}.desktop-nav a{font-size:8.7px}.nav-call{width:170px}}
@media(max-width:900px){.site-header{height:70px}.site-header .container{width:calc(100% - 32px)}.nav-wrap{display:flex}.brand{width:108px;height:68px}.brand img{height:58px}.hero{padding-top:70px}.project-page-main,.detail-main{padding-top:70px}.section{padding:76px 0}}
@media(max-width:620px){.container{width:calc(100% - 32px)}.section{padding:66px 0}.section-head{margin-bottom:32px}}

/* Unified typography scale */
body{font-size:16px;line-height:1.7}.desktop-nav{gap:16px}.desktop-nav a{font-size:11px;letter-spacing:.2px}.nav-call small{font-size:10px}.nav-call strong{font-size:15px}.kicker{font-size:11px}.section h2{font-size:clamp(38px,3.45vw,50px);line-height:1.16}.section-head>p{font-size:14px;line-height:1.75}
.hero-eyebrow{font-size:11px}.hero h1{font-size:clamp(56px,5.4vw,74px)}.hero-content>p{font-size:15px}.btn{font-size:12px}.stats-grid span{font-size:11px}.about-copy{font-size:15px}.text-link{font-size:12px}.commitments h3{font-size:14px}.commitments p{font-size:12px}
.service-no{font-size:10px}.service-card h3{font-size:18px}.service-card p{font-size:13px}.service-card a{font-size:12px}.process-heading p{font-size:14px}.process-track h3{font-size:13px}.process-track p{font-size:12px}.process-icon b{font-size:9px}.gallery-item figcaption span{font-size:10px}.gallery-item figcaption strong{font-size:16px}.gallery-empty-note,.gallery-no-results{font-size:11px}
.project-info>span{font-size:10px}.project-info h3{font-size:24px}.project-info p,.project-info li{font-size:12px}.project-info a{font-size:12px}.update-card span{font-size:10px}.update-card h2{font-size:20px!important}.update-card p{font-size:12px}.update-card a{font-size:11px}.contact-copy p{font-size:14px}.contact-phone small{font-size:10px}.contact-form label{font-size:10px}.contact-form input,.contact-form select{font-size:13px}
.footer-main h3{font-size:11px}.footer-brand p,footer p,.footer-links a{font-size:12px}.footer-zalo{font-size:11px}.footer-bottom{font-size:10px}.project-page-hero p,.detail-hero p{font-size:14px}.project-page-hero h1,.detail-hero h1{font-size:clamp(48px,4.6vw,62px)}.detail-overview p{font-size:14px}.detail-overview dt,.detail-overview dd{font-size:12px}.detail-gallery figcaption{font-size:12px}
@media(max-width:1080px){.desktop-nav{gap:10px}.desktop-nav a{font-size:9.8px}.nav-call small{font-size:9px}.nav-call strong{font-size:14px}}
@media(max-width:620px){body{font-size:15px}.section h2{font-size:36px}.hero h1{font-size:44px}.hero-content>p{font-size:13px}.mobile-nav a{font-size:12px}.process-track h3{font-size:13px}.process-track p{font-size:12px}.project-page-hero h1,.detail-hero h1{font-size:39px}.footer-main h3{font-size:10px}.footer-links a,.footer-brand p,footer p{font-size:11px}}

/* Header service positioning */
.brand-tagline{display:flex;flex-direction:column;padding-left:13px;color:var(--navy);border-left:1px solid var(--line);font-size:10px;font-weight:800;line-height:1.35;letter-spacing:.25px;white-space:nowrap;text-transform:uppercase}.brand-tagline small{color:var(--gold-dark);font-size:9px;font-weight:700;letter-spacing:.35px}
@media(min-width:1081px){.nav-wrap{grid-template-columns:240px minmax(0,1fr) 240px}.brand{width:240px;gap:13px}.brand img{flex:0 0 auto}}
@media(max-width:1080px){.brand-tagline{display:none}}

/* Complete project filters */
.gallery-filter-groups{display:flex;flex:1;flex-direction:column;gap:12px}.gallery-filter-group{display:flex;align-items:center;gap:14px}.gallery-filter-group>span{flex:0 0 104px;color:#9eacb8;font-size:9px;font-weight:800;letter-spacing:.7px;text-transform:uppercase}.gallery-filter-group .gallery-filters{flex:1}.gallery-toolbar .gallery-sort{align-self:flex-end;margin-bottom:1px}
@media(max-width:900px){.gallery-filter-groups{width:100%}.gallery-toolbar .gallery-sort{align-self:stretch}.gallery-filter-group{align-items:flex-start;flex-direction:column;gap:7px}.gallery-filter-group>span{flex-basis:auto}.gallery-filter-group .gallery-filters{width:100%}}

.stats-grid{max-width:840px}.stats-grid span b{font:inherit;white-space:nowrap}

/* Mobile header and hero framing */
html,body{max-width:100%;overflow-x:hidden}
@media(max-width:620px){
  .site-header{height:76px}
  .site-header .container{width:calc(100% - 24px)}
  .nav-wrap{position:relative}
  .brand{display:flex;flex:0 1 auto;width:auto;max-width:calc(100% - 58px);height:74px;justify-content:flex-start;gap:9px;padding:3px 0}
  .brand img{height:56px}
  .brand-tagline{display:flex;padding-left:9px;font-size:8px;line-height:1.35;letter-spacing:.12px}
  .brand-tagline small{font-size:7.5px;letter-spacing:.18px}
  .menu-btn{top:17px;right:0}
  .mobile-nav{top:76px}
  .hero{height:740px;min-height:740px;padding-top:76px}
  .hero-bg{background-image:linear-gradient(90deg,rgba(4,19,35,.38),rgba(4,19,35,.08)),url("assets/hero-construction-mobile.png");background-position:center center;background-size:cover}
  .hero-content,.section-intro,.about-copy,.section-head>div{min-width:0}
  .hero-eyebrow{gap:8px;letter-spacing:1.15px}
  .hero-eyebrow i{display:none}
  .hero h1{font-size:42px;letter-spacing:-2px}
  .section h2{max-width:100%;overflow-wrap:break-word;font-size:34px;letter-spacing:-1.2px}
  .project-page-main,.detail-main{padding-top:76px}
}

/* Mobile layout rebuilt as a dedicated composition */
@media(max-width:620px){
  body{font-size:15px;line-height:1.65}
  .container{width:calc(100% - 32px)}
  .section{padding:54px 0}
  .section-head{margin-bottom:26px}
  .section h2,.section-head h2,.process-heading h2{font-size:32px;line-height:1.14;letter-spacing:-1.25px}
  .kicker{gap:9px;margin-bottom:12px;font-size:10px;letter-spacing:1.35px}
  .kicker:before{width:24px}
  .section-head>p{margin-top:13px;font-size:13px;line-height:1.65}

  /* Header */
  .site-header{height:76px;box-shadow:0 4px 16px rgba(8,35,61,.07)}
  .brand{height:74px;gap:8px}
  .brand img{height:54px}
  .brand-tagline{padding-left:8px;font-size:9px;line-height:1.3}
  .brand-tagline small{font-size:8px}
  .menu-btn{top:16px;width:42px;height:42px}
  .mobile-nav{max-height:calc(100vh - 76px);overflow-y:auto;padding:8px 16px 18px}
  .mobile-nav a{padding:11px 2px;font-size:12px}

  /* Hero */
  .hero{height:690px;min-height:690px}
  .hero:after{inset:26% 0 0;background:linear-gradient(0deg,rgba(3,17,31,.96),rgba(3,17,31,.08))}
  .hero-content{padding-bottom:0}
  .hero-eyebrow{max-width:340px;font-size:9.5px;line-height:1.5;letter-spacing:1.05px}
  .hero h1{margin:14px 0 17px;font-size:40px;line-height:1.08;letter-spacing:-2px}
  .hero-content>p{max-width:410px;margin-bottom:24px;font-size:13.5px;line-height:1.7}
  .hero-actions{gap:9px}
  .hero-actions .btn{width:100%;min-height:48px}

  /* About and commitments */
  .about-grid{gap:22px}
  .about-copy{font-size:14px;line-height:1.7}
  .about-copy p{margin-bottom:18px}
  .commitments{margin-top:34px;border:0;gap:1px;background:var(--line)}
  .commitments article{min-height:0;gap:13px;padding:18px 16px;background:#fff;border:0}
  .commitments article:hover{transform:none}
  .commitments span{font-size:10px}
  .commitments h3{margin-bottom:4px;font-size:14px}
  .commitments p{font-size:12px;line-height:1.58}

  /* Services become compact horizontal rows */
  .services .section-head>p{font-size:13px}
  .service-grid{grid-template-columns:1fr;border:0;gap:1px;background:rgba(255,255,255,.16)}
  .service-card{display:grid;grid-template-columns:56px minmax(0,1fr);min-height:0;gap:0 16px;padding:20px 17px;background:var(--navy);border:0}
  .service-card:before{display:none}
  .service-card:hover{color:#fff;transform:none}
  .service-no{top:17px;right:17px;font-size:10px}
  .service-icon{grid-row:1/4;width:54px;height:59px;margin:2px 0 0}
  .service-icon svg{width:29px;height:29px}
  .service-card:hover .service-icon{background:var(--gold);transform:none}
  .service-card h3{grid-column:2;margin:0 28px 6px 0;font-size:16px;line-height:1.4}
  .service-card p{grid-column:2;margin:0 0 10px;color:#aebbc6;font-size:12.5px;line-height:1.58}
  .service-card:hover p{color:#aebbc6}
  .service-card a{grid-column:2;margin:0;color:var(--gold);font-size:11px}

  /* Process becomes a tight vertical timeline */
  .process-heading p{margin-top:14px;font-size:13px;line-height:1.65}
  .process-track{margin-top:32px}
  .process-track li,.process-track li:nth-child(4),.process-track li:nth-child(5){grid-template-columns:58px minmax(0,1fr);column-gap:15px;padding-bottom:22px}
  .process-track li:not(:last-child):after,.process-track li:nth-child(3):after{top:58px;left:26px;font-size:15px}
  .process-icon{width:58px;height:61px}
  .process-icon svg{width:35px;height:35px}
  .process-icon b{right:1px;bottom:4px;width:20px;height:20px;font-size:8px}
  .process-track h3{margin:3px 0 4px;font-size:13px;line-height:1.4}
  .process-track p{font-size:11.5px;line-height:1.55}
  .process-cta{margin-top:8px}

  /* Project carousel */
  .home-page .gallery-section{padding:54px 0}
  .home-page .gallery-section .section-head{margin-bottom:24px}
  .home-page .gallery-item.album-cover,.home-page .gallery-grid.album-single .album-cover{min-width:91%;height:300px;flex-basis:91%}
  .home-slider-side{width:38px;height:48px;font-size:25px}
  .gallery-item figcaption{right:18px;bottom:17px;left:18px;gap:3px}
  .gallery-item figcaption span{font-size:9px;letter-spacing:1px}
  .gallery-item figcaption strong{font-size:14.5px;line-height:1.4}

  /* Capability and updates */
  .project-image{height:245px}
  .project-info{padding:27px 20px 29px}
  .project-info h3{margin:10px 0 12px;font-size:21px;line-height:1.35}
  .project-info p,.project-info li{font-size:12.5px;line-height:1.6}
  .project-info ul{margin-bottom:18px}
  .company-updates{padding:52px 0}
  .update-grid{gap:12px}
  .update-card{grid-template-columns:48px minmax(0,1fr);gap:13px;padding:20px 16px}
  .update-icon{width:46px;height:51px}
  .update-icon svg{width:25px;height:25px}
  .update-card h2{margin:4px 0 6px!important;font-size:16px!important;line-height:1.35!important}
  .update-card p{margin-bottom:9px;font-size:11.5px;line-height:1.55}

  /* Contact and footer */
  .contact{padding:54px 0}
  .contact-card{gap:28px;padding:0;border:0}
  .contact-copy h2{font-size:30px}
  .contact-copy p{margin:13px 0;font-size:13px;line-height:1.65}
  .contact-phone{margin-top:7px;font-size:22px}
  .contact-form{gap:11px;padding:21px 17px;box-shadow:none}
  .contact-form label{font-size:10.5px}
  .contact-form input,.contact-form select{padding:7px 0 9px;font-size:12.5px}
  footer{padding:42px 0 16px}
  .footer-main{grid-template-columns:1fr 1fr;gap:28px 22px}
  .footer-brand{grid-column:1/-1}
  .footer-brand img{width:124px}
  .footer-brand p{margin-bottom:0}
  .footer-contact{grid-column:1/-1;padding-top:3px}
  .footer-main h3{margin-bottom:12px;font-size:11px}
  .footer-links a,.footer-brand p,footer p{font-size:12px}
  .footer-links a{margin-bottom:6px}
  .footer-bottom{margin-top:28px;padding-top:13px}

  /* Projects index */
  .project-page-hero{min-height:285px;padding:64px 0 42px;background-position:62% center}
  .project-page-hero h1{margin:12px 0 10px;font-size:36px;line-height:1.08;letter-spacing:-1.6px}
  .project-page-hero p{font-size:13px;line-height:1.65}
  .projects-page .gallery-section{padding:52px 0}
  .projects-page .gallery-section .section-head{margin-bottom:25px}
  .gallery-toolbar{gap:18px;margin-bottom:20px;padding-bottom:20px}
  .gallery-filter-groups{gap:14px}
  .gallery-filter-group{gap:6px}
  .gallery-filter-group>span,.gallery-sort span{font-size:9.5px}
  .gallery-filters{gap:6px}
  .gallery-filters button{min-height:40px;padding:8px 7px;font-size:9.5px}
  .gallery-sort select{min-height:42px;font-size:12px}
  .projects-page .gallery-item.album-cover{height:290px}
  .project-pagination{margin-top:26px}
  .project-pagination a{width:40px;height:40px}
  .project-page-cta{padding:42px 0}
  .project-page-cta .container{gap:22px}
  .project-page-cta h2{font-size:23px;line-height:1.4}

  /* Project detail */
  .detail-hero{min-height:500px;padding:72px 0 48px;background-position:60% center}
  .detail-back{margin-bottom:72px;font-size:10px}
  .detail-hero h1{margin:12px 0 14px;font-size:34px;line-height:1.08;letter-spacing:-1.6px}
  .detail-hero p{font-size:13px;line-height:1.68}
  .detail-overview-grid{gap:34px}
  .detail-overview h2{margin:12px 0 14px;font-size:30px}
  .detail-overview p{font-size:13px;line-height:1.68}
  .detail-overview dl div{gap:14px;padding:13px 0}
  .detail-overview dt,.detail-overview dd{font-size:11.5px;line-height:1.45}
  .detail-images .section-head{margin-bottom:22px}
  .detail-gallery{gap:10px}
  .detail-gallery figure,.detail-gallery .detail-wide{height:270px}
  .detail-gallery figcaption{right:16px;bottom:15px;left:16px;font-size:11.5px}

  .floating-actions{right:10px;bottom:10px}
  .floating-actions a{width:42px;height:42px}
}

@media(max-width:380px){
  .container{width:calc(100% - 26px)}
  .brand-tagline{font-size:8.2px}.brand-tagline small{font-size:7.4px}
  .section h2,.section-head h2,.process-heading h2{font-size:29px}
  .hero h1{font-size:36px}
  .gallery-filters button{font-size:8px}
}

/* Mobile projects library: white canvas and compact two-column grid */
@media(max-width:620px){
  .projects-page .gallery-section{color:var(--ink);background:#fff}
  .projects-page .gallery-section .section-head h2{color:var(--ink)}
  .projects-page .gallery-section .kicker{color:var(--navy-2)}
  .projects-page .gallery-toolbar{border-color:var(--line)}
  .projects-page .gallery-filter-group>span,
  .projects-page .gallery-sort span{color:var(--muted)}
  .projects-page .gallery-filters button{color:var(--navy);border-color:#c9d3da}
  .projects-page .gallery-filters button:hover,
  .projects-page .gallery-filters button.active{color:var(--navy);background:var(--gold);border-color:var(--gold)}
  .projects-page .gallery-sort select{color:var(--ink);background:#fff;border-color:#c9d3da}
  .projects-page .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .projects-page .gallery-item.album-cover,
  .projects-page .gallery-grid.album-single .album-cover{grid-column:auto;height:230px}
  .projects-page .gallery-item figcaption{right:12px;bottom:12px;left:12px}
  .projects-page .gallery-item figcaption span{font-size:8.5px;line-height:1.4;letter-spacing:.5px}
  .projects-page .gallery-item figcaption strong{font-size:12.5px;line-height:1.35}
  .projects-page .album-count{top:10px;left:10px;padding:6px 8px;font-size:9px}
  .projects-page .gallery-item:before{top:10px;right:10px;width:30px;height:30px;font-size:15px}
  .projects-page .gallery-no-results{color:var(--gold-dark)}
  .projects-page .project-pagination a{color:var(--navy);border-color:#c9d3da}
  .projects-page .project-pagination span{color:var(--muted)}
}

@media(max-width:380px){
  .projects-page .gallery-item.album-cover,
  .projects-page .gallery-grid.album-single .album-cover{height:210px}
  .projects-page .gallery-item figcaption strong{font-size:11.5px}
}
