@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#162c35;--muted:#5d6d72;--paper:#f4f4ef;--orange:#28476b;--line:#d8dfdc}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;color:var(--ink);background:#fff;font:16px/1.65 'DM Sans',Arial,sans-serif}h1,h2,h3,.brand{font-family:Manrope,Arial,sans-serif;line-height:1.13;letter-spacing:-.045em}h1{font-size:clamp(42px,5.5vw,76px);font-weight:600;margin:20px 0 24px}h2{font-size:clamp(30px,3.6vw,48px);font-weight:600;margin:12px 0 22px}h3{font-size:25px;line-height:1.25;margin:14px 0}p{margin:0 0 18px}a{color:inherit}img{max-width:100%;display:block}button,input,textarea,select{font:inherit}button,a,input,textarea,select{outline-offset:5px}button{cursor:pointer}.wrap{max-width:1280px;width:calc(100% - 100px);margin:auto}.topline{background:var(--ink);color:#d3dfdf;font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:8px 0}.topline .wrap{display:flex;justify-content:space-between}.header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line)}.nav{height:88px;display:flex;align-items:center;gap:28px}.brand{text-decoration:none;font-size:26px;white-space:nowrap;font-weight:800;letter-spacing:-.065em}.brand em{color:var(--orange);font-style:normal}.brand small{display:block;font:9px/1.3 'DM Sans',sans-serif;letter-spacing:.23em;margin-top:3px}.navlinks{display:flex;gap:23px;margin-left:auto;align-items:center}.navlinks a{font-size:13px;text-decoration:none;font-weight:600}.navlinks a:hover,.navlinks a[aria-current=page]{color:#28476b}.btn{display:inline-flex;align-items:center;justify-content:center;gap:23px;background:var(--orange);color:#fff;border:1px solid var(--orange);padding:15px 23px;font-size:13px;font-weight:600;text-decoration:none;letter-spacing:.015em;transition:.2s}.btn:hover{background:#1d3553;border-color:#1d3553}.btn.light{background:#fff;color:var(--ink);border-color:#fff}.btn.outline{color:inherit;background:transparent;border-color:#a5b1b5}.btn.small{padding:12px 17px}.menu{display:none;background:none;border:0;font-size:24px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;display:block}.eyebrow:before{content:'';display:inline-block;width:19px;height:2px;background:var(--orange);vertical-align:middle;margin-right:10px}.hero{background:var(--ink);color:#fff;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1fr 1fr;min-height:620px}.hero-copy{padding:75px 52px 58px 0}.hero-copy p{color:#c3d1d4;max-width:480px;font-size:17px}.hero-copy h1 span{color:#b8cce3}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.hero-visual{position:relative;margin-right:calc((1280px - 100vw)/2);min-width:0}.hero-visual img{height:100%;width:100%;object-fit:cover;object-position:25% center}.caption{position:absolute;bottom:24px;left:24px;background:rgba(19,40,48,.9);color:#fff;padding:13px 17px;font-size:11px;line-height:1.6}.caption span{color:#b9caca;display:block}.hero-note{font-size:11px!important;letter-spacing:.04em;margin-top:32px!important}.proof{border-bottom:1px solid var(--line)}.proof .wrap{display:grid;grid-template-columns:repeat(4,1fr)}.proof-item{padding:24px 22px;border-right:1px solid var(--line);font-size:12px;color:var(--muted)}.proof-item:first-child{padding-left:0}.proof-item:last-child{border:0}.proof-item strong{display:block;font-size:15px;color:var(--ink);margin-bottom:3px}.section{padding:90px 0}.paper{background:var(--paper)}.dark{background:var(--ink);color:#fff}.section-head{display:flex;justify-content:space-between;gap:60px;align-items:end;margin-bottom:38px}.section-head h2{max-width:650px;margin-bottom:0}.section-head p{max-width:355px;color:var(--muted);margin:0}.text-link{font-size:13px;font-weight:700;text-decoration:none;border-bottom:1px solid;padding-bottom:5px;display:inline-block}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:28px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.program{padding:38px;background:white;border:1px solid var(--line);position:relative;display:flex;flex-direction:column}.program .index{font-size:12px;color:var(--orange);letter-spacing:.1em}.program h3{font-size:32px;max-width:400px}.program p{color:var(--muted)}.program ul{padding-left:18px;color:var(--muted);font-size:14px;margin:4px 0 28px}.program .text-link{align-self:start;margin-top:auto}.sign-visual{height:160px;display:flex;align-items:center;justify-content:center;margin:10px 0 24px;background:#f0f1ec;gap:12px}.mini-sign{background:#223b40;color:white;padding:22px 24px;box-shadow:5px 6px 0 #c7cecb;font-size:15px;line-height:1.5}.mini-sign b{font-size:27px;display:block}.mini-sign.ada{background:#d5ba94;color:#2c3534;letter-spacing:.08em}.mini-sign.ada b{font-size:22px}.tiny{font-size:11px;color:var(--muted)}.project-card{text-decoration:none;display:block}.project-img{height:265px;overflow:hidden;background:#dce0dd;position:relative}.project-img img{height:100%;width:100%;object-fit:cover;transition:transform .5s}.project-card:hover img{transform:scale(1.04)}.tag{font-size:10px;letter-spacing:.12em;text-transform:uppercase;background:white;padding:7px 10px;position:absolute;left:14px;top:14px}.project-card h3{font-size:21px;margin:16px 0 8px}.project-card p{font-size:13px;color:var(--muted)}.split{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:start}.split p{color:var(--muted)}.dark p{color:#bdcdd0}.rows{border-top:1px solid var(--line)}.row{display:grid;grid-template-columns:50px 1fr;gap:20px;padding:24px 0;border-bottom:1px solid var(--line)}.row .num{color:var(--orange);font-size:13px}.row h3{margin:0 0 9px;font-size:21px}.row p{font-size:14px;margin:0}.dark .rows,.dark .row{border-color:#40545b}.sector-list{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.sector-list span{border:1px solid #8a9b9c;padding:8px 13px;font-size:12px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:45px}.step{border-top:1px solid var(--line);padding-top:22px}.step .num{color:var(--orange);font-size:12px}.step h3{font-size:20px}.step p{font-size:14px;color:var(--muted)}.cta{background:#e8ede8;padding:55px 0}.cta .wrap{display:flex;align-items:center;justify-content:space-between;gap:35px}.cta h2{font-size:35px;margin:0 0 10px}.cta p{margin:0;color:var(--muted)}footer{background:#10252d;color:#d8e2e3;padding:55px 0 24px;font-size:13px}footer .grid3{grid-template-columns:1.5fr 1fr 1fr}footer p{color:#a7b9bd;font-size:13px;max-width:360px;margin-top:20px}footer a{display:block;text-decoration:none;margin:8px 0}footer h3{font:12px 'DM Sans';letter-spacing:.08em;text-transform:uppercase;color:#92a9b1}.foot-bottom{border-top:1px solid #354950;margin-top:40px;padding-top:22px;font-size:11px;display:flex;justify-content:space-between;gap:20px;color:#92a9b1}.page-hero{padding:72px 0;background:var(--paper)}.page-hero h1{max-width:900px;font-size:clamp(38px,4.8vw,65px)}.page-hero p{max-width:710px;color:var(--muted);font-size:18px}.feature-list{margin:0;padding-left:20px}.feature-list li{padding:10px 0;color:var(--muted);border-bottom:1px solid var(--line)}.band{padding:30px;background:#e8ede8;margin-top:35px}.band p{margin:0;font-size:14px}.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:32px}.filter{border:1px solid var(--line);background:white;padding:10px 17px;color:var(--ink);font-size:13px}.filter[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}[hidden]{display:none!important}.project-full{margin-bottom:35px}.project-detail-image{width:100%;max-height:580px;object-fit:cover}.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:25px 0;border-bottom:1px solid var(--line);margin-bottom:30px}.facts small{display:block;text-transform:uppercase;font-size:10px;letter-spacing:.1em;color:var(--muted)}.facts strong{font-size:14px}.faq{max-width:900px;margin:auto}details{border-bottom:1px solid var(--line);padding:22px 0}summary{font-weight:600;cursor:pointer;list-style:none;padding-right:28px;position:relative}summary:after{content:'+';position:absolute;right:0;color:var(--orange)}details[open] summary:after{content:'−'}details p{color:var(--muted);margin:18px 0 0;font-size:14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:12px;font-weight:600;margin-bottom:6px}input,select,textarea{width:100%;padding:13px;border:1px solid #bdc9c8;background:white;border-radius:0;color:var(--ink)}textarea{min-height:140px;resize:vertical}.full{grid-column:1/-1}.form-note{font-size:12px;color:var(--muted);margin-top:15px}.contact-aside{background:var(--paper);padding:32px}.contact-aside h3{font-size:20px}.contact-aside p{font-size:14px}.contact-aside a{overflow-wrap:anywhere}.status{padding:14px;background:#e8ede8;font-size:13px;margin-top:15px}.mobile-quote{display:none}.skip{position:fixed;top:-80px;left:10px;z-index:99;background:white;padding:10px}.skip:focus{top:10px} .breadcrumbs{font-size:12px;color:var(--muted);margin-bottom:30px}.illustration-note{font-size:10px;color:var(--muted);margin-top:-16px}.large-copy{font-size:23px;line-height:1.5}.inline-list{display:flex;gap:28px;border-top:1px solid var(--line);padding-top:22px;margin-top:32px;flex-wrap:wrap}.inline-list span{font-size:12px}.us-experience{background:#e9eeea;padding:32px;margin-top:45px}.us-experience h3{margin-top:0}.us-experience p{max-width:850px;color:var(--muted)}
@media(min-width:1380px){.hero-visual{margin-right:calc((1280px - 100vw)/2)}}@media(max-width:1379px){.hero-visual{margin-right:-50px}}@media(max-width:1050px){.wrap{width:calc(100% - 48px)}.navlinks{gap:15px}.navlinks a{font-size:11px}.nav{gap:14px}.hero-copy{padding:55px 30px 45px 0}.hero-visual{margin-right:-24px}.hero-grid{min-height:540px}.split{gap:40px}.section{padding:65px 0}.project-img{height:220px}.program{padding:28px}.nav .btn{padding:12px;font-size:11px}}@media(max-width:760px){.wrap{width:calc(100% - 36px)}.topline{font-size:9px}.topline .wrap span:last-child{display:none}.nav{height:72px}.brand{font-size:23px}.menu{display:block;margin-left:auto}.nav>.btn{display:none}.navlinks{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;padding:22px;box-shadow:0 15px 20px #10252d22;margin:0}.navlinks.open{display:flex;flex-direction:column;align-items:stretch}.navlinks a{font-size:15px;padding:7px}.hero-grid{grid-template-columns:1fr}.hero-copy{padding:45px 0 35px}.hero-copy h1{font-size:46px;max-width:550px}.hero-copy p{font-size:16px}.hero-visual{height:290px;margin:0 -18px}.hero-note{margin-top:24px!important}.caption{bottom:18px;left:18px}.proof .wrap{grid-template-columns:1fr 1fr}.proof-item{padding:18px 12px!important;border-bottom:1px solid var(--line)}.proof-item:nth-child(2){border-right:0}.proof-item strong{font-size:13px}.proof-item{font-size:11px}.section{padding:52px 0}.section-head{display:block;margin-bottom:28px}.section-head p{margin-top:18px;max-width:none}.grid2,.grid3,.split{grid-template-columns:1fr;gap:28px}.program h3{font-size:29px}.project-img{height:270px}.steps{grid-template-columns:1fr 1fr;gap:25px}.cta .wrap{display:block}.cta .btn{margin-top:23px}.cta h2{font-size:30px}footer .grid3{grid-template-columns:1fr 1fr}footer .grid3>div:first-child{grid-column:1/-1}.foot-bottom{display:block}.foot-bottom span{display:block;margin-bottom:8px}.page-hero{padding:45px 0}.page-hero p{font-size:16px}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.facts{grid-template-columns:1fr;gap:15px}.mobile-quote{display:block;position:fixed;bottom:16px;right:16px;z-index:15;box-shadow:0 4px 20px #10252d30;padding:12px 18px}.contact-aside{padding:25px}footer{padding-bottom:80px}.large-copy{font-size:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media(min-width:761px){.contact-layout{grid-template-columns:1.4fr .6fr}}

/* Portfolio-led architectural presentation */
:root{--ink:#1d2e43;--muted:#66717c;--paper:#f3f5f6;--line:#dde2e7;--orange:#28476b}
.topline{background:#1e334e;padding:9px 0;font-size:10px;letter-spacing:.07em}.topline a{text-decoration:none}.utility{display:flex;gap:28px}.header{background:white}.nav{height:128px}.original-brand{display:block;flex-shrink:0}.logo-crop{display:block;width:245px;height:75px;overflow:hidden;position:relative}.logo-crop img{position:absolute;width:510px;max-width:none;height:auto;left:-132px;top:2px}.navlinks{gap:27px}.navlinks>a,.nav-group>a{font-size:12px;font-weight:500;letter-spacing:.025em;text-transform:uppercase}.nav-group{display:flex;align-items:center;position:relative}.submenu-toggle{border:0;background:transparent;color:var(--ink);padding:8px;font-size:16px}.submenu{display:none;position:absolute;top:100%;left:-20px;min-width:240px;background:white;border:1px solid var(--line);box-shadow:0 12px 25px #17283c12;padding:14px;z-index:25}.submenu a{display:block;padding:9px 10px;font-size:12px}.nav-group:hover .submenu,.nav-group:focus-within .submenu,.nav-group.expanded .submenu{display:block}.portfolio-intro{padding:49px 0 37px}.portfolio-intro>.wrap{display:grid;grid-template-columns:1.3fr .7fr;gap:90px;align-items:end}.portfolio-intro h1{font-size:clamp(31px,3.3vw,48px);margin:13px 0 0;line-height:1.15}.intro-aside p{font-size:14px;color:var(--muted);margin-bottom:14px}.intro-aside .text-link{font-size:12px}.portfolio-showcase{padding:0 0 35px}.portfolio-toolbar{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.12em;border-top:1px solid var(--line);padding:21px 0}.portfolio-toolbar a{text-decoration:none;font-weight:600}.portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.portfolio-tile{display:block;text-decoration:none;min-width:0}.tile-image{height:260px;background:#e6eaed;overflow:hidden;position:relative}.tile-image img{height:100%;width:100%;object-fit:cover;transition:transform .5s}.tile-arrow{position:absolute;right:14px;bottom:14px;background:#fff;color:#28476b;width:35px;height:35px;text-align:center;line-height:35px;opacity:0;transform:translateY(6px);transition:.2s}.portfolio-tile:hover img{transform:scale(1.035)}.portfolio-tile:hover .tile-arrow,.portfolio-tile:focus .tile-arrow{opacity:1;transform:none}.tile-caption{padding:15px 0 8px}.tile-caption span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.09em}.tile-caption h2{font-size:18px;line-height:1.35;letter-spacing:-.025em;font-weight:600;margin:5px 0 0}.company-statement{border-top:1px solid var(--line)}.capability-strip{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.capability-strip>a{text-decoration:none;padding:30px 25px 12px 0;margin-right:25px;border-right:1px solid var(--line)}.capability-strip>a:last-child{border-right:0;margin:0}.capability-strip span{font-size:11px;color:#28476b}.capability-strip h3{font-size:23px;line-height:1.3}.capability-strip p{font-size:14px;color:var(--muted)}.program-link{display:block;text-decoration:none;border:1px solid var(--line);padding:35px}.program-link:hover{background:#f3f5f6}.program-link p{color:var(--muted)}.program-link h3{font-size:29px}.service-row{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center;padding:45px 0;border-bottom:1px solid var(--line);scroll-margin-top:150px}.service-row:first-child{padding-top:0}.service-row:nth-child(even)>.service-photo{order:2}.service-row h2{font-size:36px}.service-row p{color:var(--muted);font-size:15px}.service-photo img{width:100%;height:330px;object-fit:cover}.service-photo span{display:block;font-size:10px;margin-top:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.cta{background:#e9eef3}.page-hero{background:#f3f5f6}.foot-bottom a{margin:0}.mobile-quote{display:none!important} .brand em{color:#28476b}
@media(max-width:1100px){.navlinks{gap:16px}.navlinks>a,.nav-group>a{font-size:10px}.logo-crop{width:210px}.logo-crop img{left:-147px}.portfolio-intro>.wrap{gap:45px}.tile-image{height:230px}}
@media(max-width:760px){.topline{font-size:10px}.topline .wrap{align-items:center}.utility span,.utility>a{display:none}.nav{height:95px}.logo-crop{height:66px;width:210px}.logo-crop img{width:450px;left:-116px;top:3px}.navlinks{top:95px;padding:20px 24px}.navlinks>a,.nav-group>a{font-size:13px}.nav-group{flex-wrap:wrap}.submenu{position:static;width:100%;box-shadow:none;border:0;border-left:2px solid var(--line);margin-left:10px}.nav-group:hover .submenu{display:none}.nav-group.expanded .submenu{display:block}.submenu-toggle{margin-left:auto}.portfolio-intro{padding:31px 0}.portfolio-intro>.wrap{grid-template-columns:1fr;gap:20px}.portfolio-intro h1{font-size:35px}.intro-aside p{font-size:14px}.portfolio-grid{grid-template-columns:1fr 1fr;gap:23px 15px}.tile-image{height:170px}.tile-caption h2{font-size:15px}.tile-caption span{font-size:8px;letter-spacing:.04em}.tile-arrow{display:none}.portfolio-toolbar{font-size:8px;letter-spacing:.05em}.capability-strip{grid-template-columns:1fr}.capability-strip>a{border-right:0;border-bottom:1px solid var(--line);margin:0;padding:23px 0}.service-row{grid-template-columns:1fr;gap:25px;padding:35px 0}.service-row:nth-child(even)>.service-photo{order:0}.service-row h2{font-size:29px}.service-photo img{height:240px}.program-link{padding:25px}.program-link h3{font-size:25px}.section-head h2{font-size:31px}.section-head>.text-link{margin-top:22px}.company-statement .split{gap:15px}.cta .btn{display:inline-flex}footer{padding-bottom:30px}}
@media(max-width:380px){.portfolio-grid{grid-template-columns:1fr}.tile-image{height:235px}.tile-caption h2{font-size:18px}}

.flat-logo{display:block;width:250px;height:auto}.footer-logo{width:235px}@media(max-width:760px){.flat-logo{width:215px}.nav{height:92px}.navlinks{top:92px}}

/* Approved blue-and-silver logo and direct-contact panel */
.flat-logo.approved-logo{width:169px;height:100px;object-fit:contain}.footer-logo.approved-logo{width:169px;height:100px}.contact-widget{position:fixed;right:24px;bottom:24px;z-index:60}.contact-toggle{display:flex;gap:10px;align-items:center;padding:15px 20px;background:#28476b;color:white;border:1px solid #607590;border-radius:4px;box-shadow:0 6px 24px #152a4430;font-size:13px;font-weight:600}.contact-toggle:hover{background:#1d3553}.contact-panel{position:absolute;right:0;bottom:70px;width:355px;max-width:calc(100vw - 32px);background:#fff;border:1px solid #d7dfe7;border-radius:6px;overflow:hidden;box-shadow:0 14px 50px #10243b30;max-height:calc(100dvh - 120px);overflow-y:auto}.contact-panel-head{background:#33435e;color:#fff;padding:23px;display:flex;gap:12px;align-items:start}.contact-panel-head>div{flex:1}.contact-panel-head span{font-size:9px;letter-spacing:.16em;color:#cbd6e4}.contact-panel-head h2{font-size:23px;line-height:1.25;letter-spacing:-.025em;margin:10px 0 0}.contact-panel-head button{border:0;background:none;color:#fff;font-size:27px;line-height:1;padding:0 2px}.contact-panel-body{padding:20px}.contact-panel-body>p{font-size:13px;color:#66717c;margin-bottom:17px}.contact-channel{display:flex;align-items:center;gap:12px;text-decoration:none;border:1px solid #dce3e9;padding:13px 11px;margin-bottom:10px;border-radius:3px}.contact-channel:hover{background:#f2f5f8;border-color:#9bacbf}.contact-channel>span:nth-child(2){flex:1}.contact-channel strong{font-size:12px;display:block}.contact-channel small{font-size:10px;display:block;color:#66717c;margin-top:3px}.channel-icon{width:31px;height:31px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-weight:700;border-radius:4px;color:#fff}.whatsapp-icon{background:#16794b}.linkedin-icon{background:#0a66c2;font-family:Arial;font-size:22px}.email-icon{background:#33435e;font-size:19px}.contact-panel-body>.contact-panel-note{font-size:10px;line-height:1.6;margin:13px 0 0;color:#76818c}@media(max-width:760px){.flat-logo.approved-logo{width:120px;height:71px}.contact-widget{right:16px;bottom:16px}.contact-toggle{padding:12px 15px;font-size:12px}.contact-panel{bottom:62px;width:335px;max-height:calc(100dvh - 110px)}footer{padding-bottom:90px}.contact-panel-head{padding:19px}.contact-panel-body{padding:16px}}@media(max-height:600px){.contact-panel-head{padding:14px}.contact-panel-head h2{font-size:18px}.contact-panel-body{padding:12px}.contact-panel-body>p{margin-bottom:10px}.contact-channel{padding:9px;margin-bottom:7px}}

/* User-supplied blue XY Signage Group logo; preserve full artwork. */
.flat-logo.approved-logo{width:152px;height:auto;object-fit:contain}.footer-logo.approved-logo{width:169px;height:auto;background:#fff}@media(max-width:760px){.flat-logo.approved-logo{width:105px;height:auto}.footer-logo.approved-logo{width:150px}}
