/* Layout and presentation. Editable company content lives in site-config.json. */
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px}body{margin:0;color:var(--text);background:#fff;font:16px/1.7 Arial,Helvetica,sans-serif}h1,h2,h3,p{margin:0}h1,h2,h3{color:var(--navy);line-height:1.13;letter-spacing:-.035em}h1{font-size:clamp(40px,4.8vw,72px)}h2{font-size:clamp(30px,3.2vw,48px)}h3{font-size:22px;line-height:1.25}p{color:#546177}p+p{margin-top:18px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.65}img{display:block;max-width:100%;height:auto}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--primary);outline-offset:4px}::selection{background:#efdab7;color:var(--navy)}[hidden]{display:none!important}.wrap{width:min(1280px,90%);margin-inline:auto}.section{padding:88px 0}.soft{background:var(--bg-light)}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:700;color:var(--primary);display:flex;align-items:center;gap:12px;margin-bottom:19px}.eyebrow:before{content:'';width:22px;height:3px;background:var(--accent);flex:none}.lead{font-size:20px;line-height:1.6;max-width:690px}.small-note{font-size:12px;margin-top:22px;color:#627086}.section-intro{max-width:850px;font-size:18px;margin-bottom:38px}.button{display:inline-flex;align-items:center;justify-content:center;gap:27px;min-height:48px;padding:13px 23px;border:1px solid transparent;font-size:13px;font-weight:700;line-height:1.5;border-radius:3px;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.primary{background:var(--primary);color:#fff}.primary:hover{background:#344a94}.gold{background:var(--accent);color:var(--navy)}.gold:hover{background:#e4bc7d}.secondary{background:var(--bg-light);color:var(--navy);border-color:#cad4e4}.outline-light{color:#fff;background:transparent;border-color:#6c7c97}.outline-light:hover{background:#ffffff14}.text-button{color:var(--primary);padding:10px 0;border-bottom-color:#bcc8e0;border-radius:0}.button-row{display:flex;gap:13px;flex-wrap:wrap;margin-top:30px}.skip{position:absolute;z-index:100;left:12px;top:-100px;background:#fff;padding:12px}.skip:focus{top:8px}.topbar{background:var(--navy);color:#e0e9f8;font-size:10px}.topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:9px 0}.top-address{max-width:980px;line-height:1.5}.phone{font-size:12px;white-space:nowrap}.site-header{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid #e1e7f0;box-shadow:0 4px 20px #1b2f5206}.navigation{display:flex;align-items:center;justify-content:space-between;gap:24px;height:101px}.brand{flex:0 0 360px}.full-logo{width:360px;height:auto}.mobile-logo,.mobile-brand{display:none}.navigation nav{display:flex;align-items:center;gap:21px;font-size:12px;font-weight:600}.navigation nav>a:not(.button){padding:12px 0;position:relative;white-space:nowrap}.navigation nav>a:hover,.navigation nav a[aria-current]{color:var(--primary)}.navigation nav a[aria-current]:after{content:'';position:absolute;bottom:3px;height:3px;left:0;right:0;background:var(--accent)}.navigation .button{padding:12px 17px;gap:17px;font-size:12px}.menu-toggle{display:none}.home-hero{display:grid;grid-template-columns:1fr 1fr;background:var(--navy);min-height:650px}.hero-copy{padding:75px max(35px,calc((100vw - 1280px)/2)) 45px;padding-right:65px}.hero-copy h1{color:#fff;max-width:660px;line-height:1.07;margin-bottom:27px}.hero-copy .eyebrow{color:#cbd9f0}.hero-copy h2{color:var(--accent);font-size:19px;letter-spacing:0;line-height:1.5;max-width:430px}.hero-copy>p:not(.eyebrow){color:#c5d2e7;max-width:435px;font-size:15px;margin-top:20px}.hero-bottom{display:flex;align-items:center;gap:16px;color:#d9e4f4;margin-top:45px;font-size:12px}.gold-rule{height:1px;width:43px;background:var(--accent)}.hero-photo{position:relative;min-height:570px;overflow:hidden}.hero-photo>img{width:100%;height:100%;object-fit:cover;object-position:center 48%;position:absolute}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#1327477a,transparent 60%);pointer-events:none}.hero-logo{position:absolute;top:30px;left:30px;right:30px;max-width:490px;background:#fff;padding:18px 20px;z-index:1;border-radius:2px;box-shadow:0 10px 30px #10274616}.hero-logo img{width:100%}.hero-caption{position:absolute;z-index:1;bottom:22px;right:25px;color:#fff;font-size:10px;letter-spacing:.06em}.stats{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid #dae1ed;padding:35px 0}.stats>div{border-right:1px solid #dae1ed;padding:0 25px}.stats>div:first-child{padding-left:0}.stats>div:last-child{border:0}.stats strong{font-size:44px;color:var(--navy);letter-spacing:-.04em;line-height:1.2;display:block}.stats span{display:block;font-size:13px;margin-top:8px;font-weight:600}.stats small{font-size:10px;color:#68758a;display:block;margin-top:5px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:55px;margin-bottom:38px}.section-head>p{max-width:360px;font-size:14px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-card{border:1px solid #dce3ef;border-top:3px solid #dce3ef;padding:30px;transition:border-color .25s,box-shadow .25s;background:#fff;display:flex;flex-direction:column;align-items:start}.service-card:hover{border-top-color:var(--accent);box-shadow:0 16px 28px #22375d0d}.service-card h3{margin:24px 0 15px;font-size:21px}.service-card p{font-size:14px;margin-bottom:23px}.card-link{font-size:12px;color:var(--primary);font-weight:700;margin-top:auto}.icon-box{display:grid;place-items:center;background:#edf1fc;width:54px;height:54px;border-radius:3px}.icon{width:29px;height:29px;color:var(--primary);flex:none}.split{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.split h2+p{margin-top:25px}.split p{font-size:15px}.split .button{margin-top:28px}.about-photo{position:relative;min-height:470px}.about-photo>img{width:100%;height:470px;object-fit:cover}.image-caption{position:absolute;bottom:0;left:0;right:0;padding:13px 19px;background:#1b2f52e0;color:#fff;font-size:11px}.experience-box{position:absolute;right:-22px;bottom:55px;background:var(--accent);color:var(--navy);padding:25px 30px;display:flex;align-items:center;gap:20px}.experience-box strong{font-size:65px;letter-spacing:-.06em;line-height:1}.experience-box span{font-size:14px;font-weight:600;line-height:1.5}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.project-card{min-width:0;border-bottom:1px solid #dce3ef}.project-open{width:100%;display:block;text-align:left;padding:0;border:0;background:transparent;color:inherit}.project-image{position:relative;overflow:hidden;aspect-ratio:1.37;background:#e3e9f2}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.project-open:hover img{transform:scale(1.04)}.photo-badge{position:absolute;bottom:12px;left:12px;background:#fff;color:var(--navy);font-size:9px;padding:4px 8px;line-height:1.5}.project-copy{padding:23px 0 26px}.category{text-transform:uppercase;letter-spacing:.1em;font-size:9px;font-weight:700;color:var(--primary)}.project-copy h3{margin:10px 0 9px;display:flex;justify-content:space-between;gap:15px}.project-copy h3 span{font-size:22px;color:var(--primary)}.project-copy p{font-size:13px}.project-copy p.location{font-size:11px;margin-bottom:12px}.project-copy p+p{margin-top:0}.cta-strip{background:var(--navy);color:#fff;padding:64px 0;position:relative;overflow:hidden}.cta-strip:after{content:'';position:absolute;width:500px;height:500px;border:1px solid #ffffff13;right:-130px;top:-160px;transform:rotate(35deg);pointer-events:none}.cta-strip .wrap{display:flex;justify-content:space-between;align-items:center;gap:40px}.cta-strip h2{color:#fff}.cta-strip p:not(.eyebrow){color:#c4d2e8;font-size:14px;margin-top:20px;max-width:570px}.cta-strip .eyebrow{color:#cad6ed}.cta-strip .button{flex:none;position:relative;z-index:1}footer{background:#11213d;padding:60px 0 0;color:#d2dded}.footer-grid{display:grid;grid-template-columns:1.3fr .7fr 1fr 1.1fr;gap:45px}.logo-tile{background:#fff;display:block;padding:13px;max-width:325px}.footer-brand>p{font-size:12px;color:#aebcd1;margin-top:18px}.footer-brand>p.footer-tagline{color:#e2bf83;font-size:12px}footer h2{color:#fff;font-size:14px;letter-spacing:0;margin-bottom:20px}footer a:not(.logo-tile){display:block;font-size:12px;line-height:1.6;margin-bottom:10px}footer a:hover{color:#e2bf83}footer address{font-size:12px;font-style:normal;margin-bottom:18px;color:#b4c2d8}footer .footer-phone{font-size:15px}footer small{font-size:10px;color:#b4c2d8}.footer-bottom{margin-top:40px;padding:20px 0;display:flex;justify-content:space-between;gap:24px;border-top:1px solid #2d3e59;font-size:10px;color:#aebcd1}.footer-bottom a{font-size:10px!important;margin:0!important}.page-hero{background:var(--bg-light);padding:28px 0 63px;position:relative;overflow:hidden}.page-hero h1{max-width:920px;font-size:clamp(40px,4.8vw,65px)}.page-hero .lead{margin-top:23px;font-size:18px}.breadcrumb{font-size:11px;color:#606d83;margin-bottom:39px;display:flex;gap:12px}.breadcrumb a{color:var(--primary)}.hero-line{position:absolute;width:320px;height:320px;border:1px solid #d4deee;right:-30px;bottom:-100px;transform:rotate(35deg)}.page-hero .wrap{position:relative;z-index:1}.vision-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.vision-grid article{border-top:3px solid var(--accent);padding-top:30px}.vision-grid h2{font-size:34px}.vision-grid p:last-child{margin-top:23px;font-size:15px}.values-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:24px}.value-card{border-top:1px solid #ccd7e7;padding-top:25px}.value-card h3{font-size:19px;margin:20px 0 15px}.value-card p{font-size:13px}.org-chart{margin-top:50px}.org-chart ul{padding:0;list-style:none;margin:0}.org-leaders{display:flex;justify-content:center;gap:70px!important;position:relative;margin-bottom:70px!important}.org-leaders:before{content:'';position:absolute;left:calc(50% - 110px);right:calc(50% - 110px);top:50%;height:2px;background:var(--primary)}.org-leaders:after{content:'';position:absolute;left:50%;width:2px;background:var(--primary);height:70px;bottom:-70px}.org-card{position:relative;border:1.5px solid var(--primary);border-radius:5px;background:#fff;padding:15px 12px;min-width:0;text-align:center;color:var(--navy);box-shadow:0 5px 15px #1b2f5205;font-size:12px;line-height:1.45}.org-card strong,.org-card span,.org-card small{display:block}.org-card strong{font-size:15px;margin-bottom:4px}.org-card small{font-size:10px;color:#607087;margin-top:3px}.org-card.external{border:2px dashed var(--accent);background:#fffcf5}.org-leaders>li{width:250px;z-index:1}.org-desktop{display:grid;grid-template-columns:1.25fr 1fr;gap:45px;border-top:2px solid var(--primary);padding-top:0}.org-branch{position:relative;padding-top:28px;min-width:0}.org-branch:before{content:'';height:28px;width:2px;background:var(--primary);position:absolute;top:0;left:50%}.org-branch h3{font-size:15px;text-align:center;padding:14px;background:#e3eaf7;margin-bottom:25px;border:1px solid #c9d5eb;border-radius:4px}.org-tree{display:flex;gap:16px;justify-content:center}.org-tree li{flex:1;position:relative;min-width:0}.org-tree ul{display:flex;gap:18px;position:relative;padding-top:30px!important}.org-tree ul:before{content:'';height:30px;width:1px;background:#8c9dc3;position:absolute;top:0;left:50%}.org-tree ul>li:before{content:'';position:absolute;height:1px;background:#8c9dc3;top:-15px;left:-9px;right:-9px}.org-tree ul>li:first-child:before{left:50%}.org-tree ul>li:last-child:before{right:50%}.org-tree ul>li:after{content:'';position:absolute;top:-15px;left:50%;height:15px;width:1px;background:#8c9dc3}.org-tree .external+ul{flex-direction:column;gap:15px}.org-tree .external+ul>li:before{display:none}.org-tree .external+ul>li:after{background:var(--accent)}.org-branch:nth-child(2)>.org-tree{display:grid;grid-template-columns:1fr 1fr;gap:20px}.org-legend{display:flex;justify-content:center;gap:27px;margin-top:35px;font-size:11px;flex-wrap:wrap}.org-legend span{display:flex;align-items:center;gap:9px}.org-legend i{display:block;width:22px;height:16px;border:1.5px solid var(--primary)}.org-legend i.external{border:2px dashed var(--accent)}.org-mobile{display:none}.service-detail{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center;padding:58px 0;border-bottom:1px solid #dce3ef;scroll-margin-top:125px}.service-detail:first-of-type{padding-top:0}.service-detail:nth-of-type(even) .service-detail-image{order:2}.service-detail-image{height:390px}.service-detail-image img{height:100%;width:100%;object-fit:cover}.service-detail h2{font-size:36px;margin:12px 0 20px}.service-detail p{font-size:14px}.service-number{font-weight:700;color:var(--primary);font-size:14px}.checklist{list-style:none;padding:0;font-size:13px;line-height:2.1}.checklist li:before{content:'✓';color:var(--primary);margin-right:12px}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:38px}.process-grid article{border-top:1px solid #c7d3e7;padding-top:20px}.process-grid h3{font-size:23px;margin:20px 0 15px}.process-grid p{font-size:14px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.filter{background:#fff;border:1px solid #ccd6e5;padding:10px 17px;color:var(--navy);font-size:12px;border-radius:3px}.filter.active{color:#fff;background:var(--primary);border-color:var(--primary)}#project-count{margin:0 0 20px}.clients-grid,.credential-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:35px}.client-placeholder{border:1px dashed #becbdd;min-height:180px;padding:25px;text-align:center;display:flex;flex-direction:column;justify-content:center}.pending{display:block;font-size:10px;color:#6c582f;background:#f7ecd8;padding:4px 8px;width:fit-content;margin-bottom:18px;letter-spacing:.04em}.client-placeholder .pending{margin:0 auto 20px}.client-placeholder strong{color:#5c6f8e;font-size:34px;line-height:1.2}.client-placeholder p{font-size:12px;margin-top:12px}.credential-card{padding:30px;background:#fff;border:1px solid #dce3ef}.credential-card .icon{margin-bottom:25px}.credential-card h3{font-size:24px;margin:20px 0}.credential-card p{font-size:13px}.contact-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:80px;align-items:start}.form-panel{background:var(--bg-light);padding:40px;border:1px solid #dee6f1}.form-panel h2,.office-details h2{font-size:32px}.form-notice{font-size:12px;line-height:1.7;margin:20px 0 27px;padding:14px 16px;border-left:3px solid var(--accent);background:#fff}label{display:block;font-size:12px;color:var(--navy);font-weight:600;margin-bottom:19px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}input,textarea,select{display:block;width:100%;border:1px solid #c8d3e3;background:#fff;border-radius:3px;padding:12px;margin-top:7px;font-size:15px;color:var(--text);min-height:47px}textarea{resize:vertical}textarea::placeholder{font-size:12px;line-height:1.6;color:#718095}.office-details{padding-top:10px}.contact-block{display:flex;gap:20px;padding:24px 0;border-bottom:1px solid #dce3ef}.contact-block h3{font-size:12px;letter-spacing:0;margin-bottom:10px}.contact-block address{font-size:14px;font-style:normal;color:#546177}.contact-block a{color:var(--primary);font-size:15px}.contact-block p{font-size:13px}.contact-icon{font-size:24px;color:var(--primary);line-height:1.3;min-width:25px}.office-details>.button{margin-top:25px}.map-section iframe{border:0;width:100%;height:400px;background:var(--bg-light)}.map-caption{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:14px}.map-caption p{font-size:12px}.faq{max-width:850px}.faq h2{margin-bottom:30px}.faq details{border-top:1px solid #d5deec;padding:22px 0}.faq summary{color:var(--navy);cursor:pointer;font-size:16px;font-weight:600}.faq details p{font-size:14px;padding-top:17px}.form-panel #form-result{margin-top:25px}.form-panel #form-status{font-size:13px;margin-bottom:20px}dialog{width:min(920px,92vw);max-height:90vh;border:0;padding:40px;box-shadow:0 25px 80px #0004;color:var(--text);border-radius:5px;overflow-y:auto}dialog::backdrop{background:#10213bcc;backdrop-filter:blur(3px)}.dialog-close{position:sticky;float:right;top:0;z-index:2;border:1px solid #d7dfea;border-radius:50%;background:#fff;color:var(--navy);width:40px;height:40px;font-size:18px}.dialog-gallery{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:25px 0}.dialog-gallery figure{margin:0}.dialog-gallery img{width:100%;height:240px;object-fit:cover}.dialog-gallery figcaption{font-size:10px;margin-top:7px;color:#64718a}.dialog-gallery figcaption a{text-decoration:underline}dialog h2{font-size:36px;clear:both;padding-top:10px}dialog .category{display:block;padding-top:10px}dialog p{font-size:14px;margin-top:15px}body.modal-open{overflow:hidden}.reveal{animation:appear .6s ease both}@keyframes appear{from{opacity:.65;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1200px){.brand{flex-basis:285px}.full-logo{width:285px}.navigation nav{gap:14px;font-size:11px}.navigation .button{padding:10px 12px}.hero-copy{padding:60px 7vw 40px 5vw}.footer-grid{gap:28px}.split{gap:50px}.contact-grid{gap:40px}.hero-copy h1{font-size:58px}}
@media(max-width:1000px){.navigation{height:87px}.menu-toggle{display:flex;width:44px;height:44px;flex-direction:column;justify-content:center;gap:5px;padding:10px;border:1px solid #d3dded;background:#fff;border-radius:3px}.menu-toggle span{height:2px;width:22px;background:var(--navy)}.navigation nav{display:none;position:absolute;top:87px;left:0;right:0;background:#fff;border-bottom:1px solid #dbe3ef;padding:20px 5%;box-shadow:0 15px 20px #11213d12}.navigation nav.open{display:flex;flex-wrap:wrap;gap:16px 24px}.brand{flex-basis:350px}.full-logo{width:350px}.hero-copy h1{font-size:48px}.hero-copy h2{font-size:17px}.hero-copy{padding-right:35px}.service-grid{grid-template-columns:repeat(2,1fr)}.project-grid{gap:18px}.project-copy h3{font-size:20px}.values-grid{grid-template-columns:repeat(3,1fr)}.footer-grid{grid-template-columns:1.2fr 1fr;gap:40px}.section{padding:65px 0}.org-desktop{gap:25px}.org-card{font-size:11px;padding:12px 8px}.org-card strong{font-size:13px}.contact-grid{gap:30px}.form-panel{padding:28px}}
@media(max-width:760px){html{scroll-padding-top:88px}.wrap{width:88%}.topbar .wrap{padding:10px 0;gap:12px}.top-address{font-size:9px;max-width:70%;line-height:1.4}.phone{font-size:10px}.navigation{height:78px}.brand{flex:initial;display:flex;align-items:center;gap:10px}.full-logo{display:none}.mobile-logo{display:block;width:52px;height:52px}.mobile-brand{display:block;font-size:16px;font-weight:700;line-height:1.2;color:var(--navy);letter-spacing:-.02em}.mobile-brand small{display:block;font-size:9px;font-weight:500;letter-spacing:.07em;margin-top:5px}.navigation nav{top:78px;padding:18px 6%}.navigation nav.open{flex-direction:column;align-items:stretch;gap:5px}.navigation nav>a:not(.button){padding:10px}.navigation nav a[aria-current]:after{left:10px;right:auto;width:22px}.navigation nav .button{margin-top:10px}.home-hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:47px 6% 37px}.hero-copy h1{font-size:clamp(40px,10vw,58px);margin-bottom:22px}.hero-copy h2{font-size:18px}.hero-copy p{font-size:14px}.hero-photo{min-height:370px}.hero-photo>img{object-position:center 39%}.hero-logo{top:22px;left:6%;right:6%;padding:12px 15px}.hero-bottom{margin-top:29px}.hero-caption{right:6%}.stats{grid-template-columns:1fr 1fr;padding:23px 0;row-gap:23px}.stats>div{padding:0 18px}.stats>div:nth-child(3){padding-left:0}.stats>div:nth-child(2){border:0}.stats strong{font-size:37px}.stats span{font-size:12px;line-height:1.4}.stats small{font-size:9px}.section{padding:52px 0}.section-head{display:block;margin-bottom:28px}.section-head>p{margin-top:22px;max-width:100%}.section-head>.button{margin-top:20px}.eyebrow{font-size:10px;margin-bottom:16px}.service-grid{gap:14px}.service-card{padding:23px 18px}.service-card h3{font-size:19px;margin:20px 0 12px}.service-card p{font-size:12px;line-height:1.65}.service-card .card-link{font-size:11px}.split{grid-template-columns:1fr;gap:37px}.about-photo{min-height:350px}.about-photo>img{height:350px}.experience-box{right:-10px;bottom:55px;padding:20px}.experience-box strong{font-size:55px}.project-grid{grid-template-columns:1fr;gap:30px}.project-image{aspect-ratio:1.5}.project-copy h3{font-size:24px}.project-copy{padding:18px 0 23px}.cta-strip{padding:48px 0}.cta-strip .wrap{display:block}.cta-strip .button{margin-top:28px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px 24px}.footer-brand{grid-column:1/-1}.footer-grid>div:last-child{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:10px}.page-hero{padding:24px 0 43px}.page-hero h1{font-size:clamp(36px,8.5vw,54px)}.page-hero .lead{font-size:16px}.breadcrumb{font-size:10px;margin-bottom:27px}.hero-line{opacity:.4}.section-intro{font-size:15px}.vision-grid{grid-template-columns:1fr;gap:37px}.vision-grid h2{font-size:30px}.values-grid{grid-template-columns:1fr 1fr;gap:28px}.org-leaders{gap:16px!important;margin-bottom:40px!important}.org-leaders>li{width:50%}.org-leaders:before{left:25%;right:25%}.org-leaders:after{height:25px;bottom:-25px}.org-desktop{display:none}.org-mobile{display:block}.org-mobile-branch{background:white;border:1px solid #c9d5eb;padding:16px;margin-bottom:18px;border-radius:4px}.org-mobile-branch>summary{font-weight:700;color:var(--navy);font-size:14px;cursor:pointer}.org-mobile ul{padding-top:16px!important;display:grid;gap:13px}.org-mobile li ul{padding-left:14px!important;border-left:1px solid #d3dced;margin:12px 0 0 12px}.org-accordion{border:1px solid var(--primary);border-radius:4px;padding:14px}.org-accordion.external{border:2px dashed var(--accent)}.org-accordion summary{cursor:pointer;color:var(--navy);font-size:12px;line-height:1.5}.org-accordion summary strong,.org-accordion summary small{display:block}.org-accordion summary strong{font-size:14px}.org-accordion summary small{font-size:10px}.org-legend{font-size:10px;gap:18px}.service-detail{grid-template-columns:1fr;gap:27px;padding:40px 0}.service-detail:nth-of-type(even) .service-detail-image{order:0}.service-detail-image{height:260px}.service-detail h2{font-size:29px}.process-grid{grid-template-columns:1fr;gap:28px}.clients-grid,.credential-grid{grid-template-columns:1fr}.filters{gap:8px}.filter{font-size:11px;padding:9px 13px;min-height:42px}.contact-grid{grid-template-columns:1fr;gap:36px}.form-panel{padding:25px 21px}.form-panel h2,.office-details h2{font-size:29px}.form-row{grid-template-columns:1fr;gap:0}.map-section iframe{height:300px}.map-caption{align-items:start;flex-direction:column;gap:6px}.faq summary{font-size:14px}.faq details p{font-size:13px}dialog{padding:23px;max-height:90vh}dialog h2{font-size:29px}.dialog-gallery{grid-template-columns:1fr}.dialog-gallery img{height:220px}}
@media(max-width:380px){.service-grid{grid-template-columns:1fr}.mobile-brand{font-size:14px}.mobile-logo{width:43px;height:43px}.button{gap:17px;padding:12px 18px}.values-grid{grid-template-columns:1fr}.top-address{max-width:63%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Preserve full company photographs when viewing project details. */
.dialog-gallery img{height:auto;max-height:560px;object-fit:contain;background:var(--bg-light)}
.dialog-gallery figure:only-child{grid-column:1/-1}
.project-image img[src^="project-road"]{object-position:center 35%}

/* Three confirmed company statistics, balanced at every width. */
.stats{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:760px){.stats{grid-template-columns:1fr;text-align:center;gap:22px}.stats>div{padding:0 0 20px!important;border:0;border-bottom:1px solid #dce3ed}.stats>div:last-child{padding-bottom:0!important;border:0}}

.credential-card:only-child{grid-column:1/-1;max-width:760px;width:100%}

.client-card{background:#fff;border:1px solid #dce3ef;text-align:center;padding:32px 20px;display:flex;align-items:center;justify-content:center;min-height:265px}.client-card a{display:block;width:100%}.client-card img{width:180px;height:120px;object-fit:contain;margin:0 auto 24px}.client-card strong{display:block;font-size:18px;color:var(--navy);line-height:1.35}.client-card p{font-size:13px;margin-top:9px}.client-card:hover{border-color:var(--primary)}

/* Shared header: readable type and proportional brand at every viewport. */
.topbar .wrap,.navigation.wrap{width:min(1480px,94%)}
.topbar,.top-address,.phone{font-size:15px;font-weight:500;line-height:1.5}
.topbar .wrap{padding:12px 0;gap:28px}
.top-address{max-width:none;white-space:nowrap}
.phone{flex-shrink:0;white-space:nowrap}
.navigation{height:auto;min-height:124px;gap:28px;padding-block:18px}
.brand{flex:0 0 432px}
.full-logo{display:block;width:432px;height:auto}
.mobile-logo,.mobile-brand{display:none}
.navigation nav{gap:22px;font-size:17px;font-weight:600}
.navigation nav>a:not(.button){padding:14px 0}
.navigation nav a[aria-current]:after{bottom:4px;left:0;right:0;width:auto}
.navigation .button{font-size:16px;font-weight:700;padding:14px 20px;gap:18px;white-space:nowrap}
html{scroll-padding-top:142px}
@media(min-width:1001px) and (max-width:1440px){
 .navigation{flex-wrap:wrap;justify-content:center;gap:14px;padding-block:18px}
 .brand{flex-basis:432px}
 .navigation nav{flex-basis:100%;justify-content:center;gap:24px}
 .topbar .wrap{gap:18px}
 .top-address,.phone{font-size:14px}
 html{scroll-padding-top:210px}
}
@media(max-width:1000px){
 .topbar .wrap{flex-wrap:wrap;gap:6px 24px;justify-content:flex-start}
 .top-address{white-space:normal;order:2;flex-basis:100%}
 .phone{order:1}
 .navigation{min-height:110px;padding-block:16px;flex-wrap:nowrap;justify-content:space-between}
 .brand{flex:0 1 432px;min-width:0}
 .full-logo{width:100%;height:auto}
 .menu-toggle{flex-shrink:0}
 .navigation nav{top:100%;font-size:17px;padding:20px 4%;gap:20px}
 .navigation nav.open{display:flex;flex-direction:column;align-items:stretch;gap:6px}
 .navigation nav>a:not(.button){align-self:flex-start;padding:12px 0}
 .navigation nav .button{align-self:flex-start;margin-top:10px}
 html{scroll-padding-top:126px}
}
@media(max-width:760px){
 .topbar .wrap,.navigation.wrap{width:92%}
 .topbar .wrap{padding:10px 0}
 .top-address{max-width:none;font-size:14px;line-height:1.5}
 .phone{font-size:15px}
 .navigation{min-height:88px;gap:16px;padding-block:16px}
 .brand{flex:0 1 360px;display:block}
 .full-logo{display:block;width:100%;height:auto}
 .mobile-logo,.mobile-brand{display:none}
 html{scroll-padding-top:104px}
}

.form-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}#enquiry-form button:disabled{opacity:.65;cursor:wait}#form-status:focus{outline:2px solid var(--accent);outline-offset:5px}

.hero-photo>.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.video-toggle{position:absolute;right:20px;bottom:20px;z-index:3;border:1px solid #ffffffaa;background:#172d4ddd;color:#fff;border-radius:4px;padding:10px 14px;cursor:pointer;font:600 13px Arial,sans-serif}.video-toggle:focus-visible{outline:3px solid #dfb566;outline-offset:3px}

/* Four-step delivery process */
.process-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;position:relative;isolation:isolate}
.process-grid:before{content:"";position:absolute;top:38px;left:38px;right:38px;height:1px;background:#ccd7e8;z-index:-1}
.process-grid article{border:0;padding:0}
.process-icon{width:76px;height:76px;border-radius:50%;background:#e8eef8;display:grid;place-items:center;margin-bottom:24px;border:7px solid #f5f7fc;box-sizing:content-box}
.process-icon .icon{width:33px;height:33px;color:var(--navy);margin:0}
.process-grid .service-number{color:#9b702b;font-size:14px;font-weight:700;letter-spacing:.12em}
.process-grid h3{font-size:22px;line-height:1.3;margin:12px 0 14px}
.process-grid p{font-size:15px;line-height:1.8;margin:0}
@media(max-width:1000px){.process-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}.process-grid:before{display:none}}
@media(max-width:760px){.process-grid{grid-template-columns:1fr;gap:18px}.process-grid article{padding:24px;background:white;border:1px solid #dce4ef;border-radius:8px}.process-icon{margin-bottom:16px;width:60px;height:60px;border:0}.process-grid h3{font-size:22px}.process-grid p{font-size:15px}}
