:root{--o:#ff5b00;--n:#041b32;--ink:#111b2c}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font:15px/1.6 Poppins,Arial;color:var(--ink)}a{text-decoration:none;color:inherit}.wrap{width:min(1320px,calc(100% - 56px));margin:auto}.top{height:43px;background:var(--n);color:#fff;font-size:12px}.top .wrap{height:100%;display:flex;align-items:center;justify-content:space-between}.top i{margin-right:7px}nav{height:100px;display:flex;align-items:center;justify-content:space-between}.logo{display:flex;align-items:center;font-weight:800;font-size:11px;line-height:1}.logo>b{font:42px Georgia;color:var(--o);margin-right:6px}.logo small{display:block;font-size:5px;margin-top:4px}nav ul{display:flex;gap:34px;list-style:none;text-transform:uppercase;font-size:10px;font-weight:800}nav li a{padding:42px 0 36px;border-bottom:2px solid transparent}nav li a:hover,nav li a.active{color:var(--o);border-color:var(--o)}.toggle{display:none;border:0;background:none;font-size:22px}.hero{height:520px;position:relative;overflow:hidden;background:#123}.slide{position:absolute;inset:0;opacity:0;transition:opacity .6s ease;overflow:hidden}.slide.active{opacity:1}.slide-image{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center}.slide-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,27,50,.82) 0%,rgba(4,27,50,.42) 48%,rgba(4,27,50,.08) 75%)}.slide .wrap{position:relative;z-index:2;padding-top:86px;color:#fff}.hero h1{font-size:52px;line-height:1.08;margin-bottom:18px}.hero em{font-style:normal;color:var(--o)}.hero p{font-size:16px;line-height:1.75;margin-bottom:22px}.btn{display:inline-block;border:0;background:var(--o);color:#fff;padding:12px 18px;text-transform:uppercase;font-size:10px;font-weight:800;cursor:pointer}.arrow{position:absolute;top:48%;width:36px;height:36px;border:0;border-radius:50%;background:#fff;font-size:22px}.prev{left:24px}.next{right:24px}.dots{display:flex;justify-content:center;gap:6px;margin-top:10px}.hero>.dots{position:absolute;bottom:10px;left:50%;transform:translateX(-50%)}.dots i{width:8px;height:8px;border-radius:50%;background:#c5c5c5}.dots .active{background:var(--o)}.four{display:grid;grid-template-columns:repeat(4,1fr)}.values{background:linear-gradient(90deg,#03172a,#082c4b);color:#fff;padding:25px 0}.values article{display:flex;align-items:center;gap:18px;padding:0 28px;border-right:1px solid #385066}.values article:last-child{border:0}.values article>i{color:var(--o);font-size:31px;width:38px}.values b{text-transform:uppercase;font-size:12px}.values p,.promise p{font-size:10px}.section{padding-top:48px;padding-bottom:48px}label{display:block;text-transform:uppercase;font-size:9px;font-weight:800;margin-bottom:8px}label:after{content:"";display:inline-block;width:24px;border-top:2px solid var(--o);margin:0 0 3px 8px}h2{font-size:32px;line-height:1.12}.about{display:grid;grid-template-columns:1.1fr 1fr .58fr;gap:22px;align-items:center}.about>div>p{font-size:12px;line-height:1.8;margin:15px 0}.about img{width:100%;height:300px;object-fit:cover}.about aside{background:linear-gradient(145deg,#ff7b00,var(--o));color:#fff;height:240px;padding:28px;border-radius:4px;box-shadow:0 14px 30px rgba(255,91,0,.22)}.about aside strong{display:block;font-size:47px;line-height:1}.about aside b{display:block;font-size:13px}.about aside p{font-size:10px;margin-top:12px}.outline{display:inline-block;border:1px solid var(--o);padding:8px 14px;text-transform:uppercase;font-size:10px;font-weight:800}.stats{background:linear-gradient(180deg,#f8f9fa,#f1f3f5);padding:24px 0}.stats .four>div{display:grid;grid-template-columns:55px 1fr;text-align:center;border-right:1px solid #ccd1d5}.stats .four>div:last-child{border:0}.stats i{grid-row:span 2;color:var(--o);font-size:27px;align-self:center}.stats strong{font-size:25px;line-height:1}.stats small{font-size:9px}.heading{text-align:center}.heading.split{display:flex;justify-content:space-between;text-align:left;align-items:end}.project-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:12px}.project-grid article{height:225px;background:linear-gradient(0deg,#03111ff5,transparent 65%),var(--pic) center/cover;position:relative;color:#fff}.project-grid article div{position:absolute;bottom:10px;left:13px;display:flex;flex-direction:column}.project-grid small{color:var(--o);font-size:9px;text-transform:uppercase;font-weight:800}.project-grid b{font-size:16px}.project-grid span{font-size:11px}.promise{padding-top:0}.promise .four{gap:22px;margin-top:22px}.promise article{display:flex;gap:15px;padding:22px;border:1px solid #e6e6e6;border-radius:7px;box-shadow:0 3px 12px #0000000b}.promise article>i{flex:0 0 38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#fff1e8;color:var(--o);font-size:19px}.promise b{font-size:11px}.testimonials{height:285px;background:linear-gradient(#041b32f4,#041b32f4),url('../images/hero-1.jpg') center/cover;color:#fff;padding:13px 0;position:relative}.testimonials label{color:var(--o);margin:0}.testimonials h2{font-size:21px}.quote-row{display:grid;grid-template-columns:36px minmax(300px,720px) 30px;gap:14px;justify-content:center;align-items:center;margin-top:8px}.quote-row>button{width:28px;height:28px;border:1px solid white;border-radius:50%;background:none;color:white}.quotes{height:125px}.quotes blockquote{display:none;background:#fff;color:var(--ink);height:125px;text-align:center;padding:9px 28px;border-radius:3px;color:var(--o);font-size:20px}.quotes blockquote.active{display:block}.quotes p,.quotes b{color:var(--ink);font-size:11px}.quotes b{display:block;margin-top:3px}.qdots{margin-top:6px}.six{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}.six>div{height:92px;border:1px solid #ddd;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:17px;font-weight:800;color:#243658}.six small{font-size:7px}.six b{color:#e65330}.contact{display:grid;grid-template-columns:1.03fr .97fr;min-height:350px}.map{position:relative;background-color:#e9f1f1;background-image:linear-gradient(30deg,transparent 47%,#cadfe2 48%,transparent 50%),linear-gradient(145deg,transparent 47%,#fff 48%,transparent 50%);background-size:80px 60px}.mapcard{position:absolute;top:25px;left:max(32px,calc((100vw - 1140px)/2));background:white;width:225px;padding:14px 18px;font-size:9px;box-shadow:0 1px 5px #0002}.mapcard p{margin:7px 0}.mapcard a{color:#1684d8}.pin{position:absolute;left:59%;top:45%;font-size:30px;color:red}.form{background:linear-gradient(135deg,#03172a,#082b49);color:#fff;padding:40px max(30px,calc((100vw - 1140px)/2)) 18px 30px}.form h2{font-size:16px;margin-bottom:12px}.form form{display:grid;grid-template-columns:1fr 1fr;gap:7px}.form input,.form textarea{border:0;padding:9px 11px;font-size:11px}.form textarea{grid-column:1/-1;height:61px;resize:none}.form .btn{justify-self:start}.form output{font-size:9px}.cta{background:linear-gradient(90deg,#ff4d00,#ff7a00);color:#fff;padding:18px}.cta .wrap{display:flex;align-items:center;gap:20px}.cta i{font-size:34px}.cta b{font-size:16px}.cta p{font-size:10px}.cta a{margin-left:auto;background:var(--n);padding:10px 20px;text-transform:uppercase;font-size:10px;font-weight:800}footer{background:var(--n);color:#fff}.foot{display:grid;grid-template-columns:1.4fr .65fr .65fr 1.1fr;gap:35px;padding-top:15px;padding-bottom:14px}.foot h3{text-transform:uppercase;font-size:10px;border-bottom:1px solid #34506a;padding-bottom:5px}.foot p,.foot a{font-size:10px;line-height:1.8;display:block}.foot>div:first-child p{margin-top:8px}.copy{text-align:center;border-top:1px solid #294158;padding:8px;font-size:10px}.up{position:fixed;right:16px;bottom:12px;background:var(--o);color:white;width:27px;height:27px;display:grid;place-items:center;border-radius:3px}
@media(max-width:900px){nav ul{display:none;position:absolute;z-index:20;top:134px;left:0;right:0;background:#fff;flex-direction:column;gap:0;padding:10px 25px}nav ul.open{display:flex}nav li a{display:block;padding:10px}.toggle{display:block}.about{grid-template-columns:1fr 1fr}.about>div{grid-column:1/-1}.project-grid,.promise .four{grid-template-columns:1fr 1fr}.six{grid-template-columns:repeat(3,1fr)}.foot{grid-template-columns:1fr 1fr}.values .four{grid-template-columns:1fr 1fr;gap:20px}}
@media(max-width:600px){.wrap{width:calc(100% - 28px)}.top{height:auto;padding:7px 0}.top span{display:none}.top a{font-size:10px}nav{height:70px}nav ul{top:102px}.hero{height:410px}.hero h1{font-size:30px}.slide .wrap{padding-top:55px}.values .four,.about,.stats .four,.project-grid,.promise .four{grid-template-columns:1fr}.values article{border:0;border-bottom:1px solid #385066;padding:6px}.stats .four{grid-template-columns:1fr 1fr;gap:18px}.about img,.about aside{height:220px}.project-grid article{height:210px}.testimonials{height:240px}.quote-row{grid-template-columns:24px 1fr 24px;gap:4px}.quotes,.quotes blockquote{height:125px}.quotes blockquote{padding:13px 10px}.six{grid-template-columns:1fr 1fr}.contact{grid-template-columns:1fr}.map{height:250px}.form{padding:24px 18px}.form form{grid-template-columns:1fr}.form textarea{grid-column:auto}.cta i{display:none}.cta b{font-size:13px}.cta a{flex-shrink:0}.foot{grid-template-columns:1fr 1fr}.foot>div:first-child,.foot>div:last-child{grid-column:1/-1}}

/* Premium visual refinements */
header{position:relative;z-index:20;background:#fff;box-shadow:0 3px 18px rgba(3,23,42,.08)}
.hero h1{font-weight:800;letter-spacing:-1.8px;text-shadow:0 3px 18px rgba(0,0,0,.24)}
.btn,.outline,.cta a{border-radius:2px;transition:transform .25s ease,box-shadow .25s ease,background .25s ease}
.btn:hover,.cta a:hover{color:#fff;transform:translateY(-2px);box-shadow:0 9px 22px rgba(255,91,0,.28)}
.outline:hover{background:var(--o);color:#fff}
.project-grid article{overflow:hidden;isolation:isolate;transition:transform .3s ease,box-shadow .3s ease}
.project-grid article:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 55%,rgba(255,91,0,.22));z-index:-1}
.project-grid article:hover{transform:translateY(-7px);box-shadow:0 18px 35px rgba(3,23,42,.2)!important}
.promise article{background:#fff;transition:transform .25s ease,box-shadow .25s ease}
.promise article:hover{transform:translateY(-5px);box-shadow:0 14px 30px rgba(3,23,42,.1)}
.about>div>p{color:#596472;max-width:530px}.about img{border-radius:4px;box-shadow:0 14px 35px rgba(3,23,42,.14)}
.heading label,.about label,.associates>label{color:#152437}.form input,.form textarea{border-radius:3px;outline:none}.form input:focus,.form textarea:focus{box-shadow:0 0 0 3px rgba(255,91,0,.3)}
@media(max-width:600px){.hero{height:455px}.hero h1{font-size:34px;letter-spacing:-1px}.section{padding-top:36px;padding-bottom:36px}.project-grid article{height:240px}.contact{min-height:auto}}

/* Global typography scale */
body{font-size:16px}
nav ul{font-size:11px}
.logo{font-size:12px}.logo small{font-size:6px}
.hero p{font-size:17px}
.btn,.outline,.cta a{font-size:11px}
label{font-size:11px}
.values b{font-size:13px}.values p{font-size:11px}
.about>div>p{font-size:13px}.about aside b{font-size:15px}.about aside p{font-size:12px}
.stats small{font-size:11px}
.project-grid small{font-size:10px}.project-grid b{font-size:18px}.project-grid span{font-size:12px}
.promise b{font-size:13px}.promise p{font-size:11px}
.quotes p,.quotes b{font-size:12px}
.six>div{font-size:19px}.six small{font-size:8px}
.mapcard{font-size:11px}.form h2{font-size:20px}.form input,.form textarea{font-size:12px}.form output{font-size:11px}
.cta b{font-size:18px}.cta p{font-size:12px}
.foot h3{font-size:12px}.foot p,.foot a{font-size:11px}.copy{font-size:11px}
@media(max-width:600px){body{font-size:15px}.hero p{font-size:14px}.project-grid b{font-size:17px}}
/* Dedicated navigation typeface */
nav ul,nav ul a{font-family:Montserrat,Arial,sans-serif;font-weight:700;letter-spacing:.15px}

/* Airier logo and primary navigation */
nav{height:106px}
.logo{gap:10px;font-family:Montserrat,Arial,sans-serif;font-size:13px;line-height:1.15;letter-spacing:.35px;min-width:190px}
.logo>b{width:46px;height:54px;margin:0;display:grid;place-items:center;border:2px solid var(--o);border-top:0;border-bottom:0;color:var(--o);font-family:Georgia,serif;font-size:44px;font-weight:400;line-height:1;transform:scaleX(.72)}
.logo small{font-family:Poppins,Arial,sans-serif;font-size:6px;line-height:1.3;letter-spacing:.45px;margin-top:6px}
nav ul{height:100%;align-items:stretch;gap:44px}
nav ul li{display:flex;align-items:stretch}
nav ul li a{height:100%;padding:0;display:flex;align-items:center;font-family:Montserrat,Arial,sans-serif;font-size:11px;font-weight:700;line-height:1.4;letter-spacing:.35px;border-bottom-width:3px}
@media(max-width:1100px){nav ul{gap:24px}nav ul li a{font-size:10px}.logo{min-width:160px}}
@media(max-width:900px){nav{height:78px}.logo{min-width:0;font-size:12px}.logo>b{width:38px;height:45px;font-size:36px}nav ul{height:auto;align-items:stretch;gap:0}nav ul li a{height:auto;padding:14px 22px;font-size:11px}}
/* Final header balance: equal vertical padding */
nav.wrap{height:96px;display:flex;align-items:center}
.logo{height:60px;display:flex;align-items:center;gap:9px;font-size:12px;line-height:1.2;letter-spacing:.2px}
.logo>b{flex:0 0 42px;width:42px;height:50px;font-size:39px;line-height:50px;text-align:center;display:block;transform:scaleX(.78);border-width:2px}
.logo span{display:flex;min-height:39px;flex-direction:column;justify-content:center}
.logo small{font-size:5.5px;line-height:1.25;margin-top:5px;letter-spacing:.3px}
nav ul{height:96px;display:flex;align-items:center;gap:38px}
nav ul li{height:96px;display:flex;align-items:center;position:relative}
nav ul li a{position:relative;height:auto;min-height:36px;padding:11px 0!important;display:flex;align-items:center;border:0!important;font-size:11px;line-height:14px;letter-spacing:.2px}
nav ul li a.active:after{content:"";position:absolute;left:50%;bottom:-19px;width:28px;height:2px;background:var(--o);transform:translateX(-50%)}
@media(max-width:1100px){nav ul{gap:24px}nav ul li a{font-size:10px}}
@media(max-width:900px){nav.wrap{height:78px}.logo{height:52px}.logo>b{height:44px;line-height:44px;font-size:34px}nav ul{height:auto;align-items:stretch}nav ul li{height:auto}nav ul li a{padding:14px 22px!important}.nav-menu a.active:after,nav ul li a.active:after{display:none}}
/* Reliable project imagery, live map and refined footer */
.project-grid article{position:relative;background:#071a2d!important}
.project-grid article>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.project-grid article:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(0deg,rgba(3,17,31,.96) 0%,rgba(3,17,31,.18) 68%,transparent 100%)}
.project-grid article>div{z-index:2}
.project-grid article:hover>img{transform:scale(1.06)}
.map{overflow:hidden;background:#e9f1f1}
.map>iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:saturate(.72) contrast(.96)}
.mapcard{z-index:3;border-radius:4px;box-shadow:0 8px 24px rgba(3,23,42,.18)}
footer{border-top:4px solid var(--o);background:linear-gradient(135deg,#03172a,#062641)}
.foot{padding-top:28px;padding-bottom:25px}
.foot h3{padding-bottom:8px;margin-bottom:10px;color:#fff;border-color:rgba(255,255,255,.22)}
.foot a{color:#dbe4ec;transition:color .2s ease,padding-left .2s ease}
.foot a:hover{color:var(--o);padding-left:3px}
.copy{background:#021323;color:#cbd6df;padding:12px}
@media(max-width:600px){.map>iframe{height:100%}.foot{padding-top:24px;padding-bottom:20px}}
/* Spacious layout pass */
body{line-height:1.7}
.wrap{width:min(1200px,calc(100% - 72px))}
.section{padding-top:72px;padding-bottom:72px}
.heading{margin-bottom:28px}
.heading h2,.about h2{margin-top:4px;line-height:1.25}
.hero p{line-height:1.9;margin-bottom:30px}
.values{padding:34px 0}
.values article{gap:22px;padding:4px 32px}
.values p{line-height:1.75;margin-top:5px}
.about{gap:34px;padding-top:78px;padding-bottom:78px}
.about>div>p{line-height:2;margin:22px 0 26px}
.about img{height:330px}
.about aside{height:270px;padding:34px 30px}
.about aside p{line-height:1.85;margin-top:18px}
.stats{padding:32px 0}
.stats .four>div{padding:6px 24px}
.projects .heading{margin-bottom:24px}
.project-grid{gap:24px;margin-top:0}
.project-grid article{height:245px}
.project-grid article div{bottom:18px;left:18px;gap:2px}
.promise .four{gap:26px;margin-top:0}
.promise article{min-height:150px;padding:27px 24px;gap:18px}
.promise p{line-height:1.8;margin-top:7px}
.testimonials{height:330px;padding:35px 0}
.quote-row{margin-top:24px}.quotes,.quotes blockquote{height:135px}
.quotes blockquote{padding:24px 42px}.quotes p{line-height:1.75}
.associates{padding-top:58px;padding-bottom:58px}.six{gap:20px}.six>div{height:105px}
.contact{min-height:420px}.form{padding-top:52px;padding-bottom:46px}.form h2{margin:7px 0 22px}.form form{gap:12px}.form input,.form textarea{padding:12px 14px}.form textarea{height:85px}
.cta{padding:23px 0}.cta .wrap{gap:28px}
.foot{gap:55px;padding-top:42px;padding-bottom:38px}.foot p,.foot a{line-height:2}
@media(max-width:900px){.wrap{width:calc(100% - 44px)}.section{padding-top:55px;padding-bottom:55px}.about{gap:26px}.project-grid,.promise .four{gap:22px}.contact{min-height:360px}}
@media(max-width:600px){.wrap{width:calc(100% - 32px)}.section{padding-top:46px;padding-bottom:46px}.values{padding:25px 0}.values article{padding:12px 6px}.about{padding-top:50px;padding-bottom:50px}.about img{height:245px}.about aside{height:auto;min-height:230px}.stats{padding:26px 0}.project-grid{gap:18px}.promise article{min-height:135px}.testimonials{height:285px;padding:26px 0}.quotes,.quotes blockquote{height:135px}.quotes blockquote{padding:18px 14px}.associates{padding-top:45px;padding-bottom:45px}.contact{min-height:0}.form{padding-top:35px;padding-bottom:35px}.foot{gap:30px;padding-top:32px;padding-bottom:28px}}
/* Premium testimonial slider */
.testimonials{height:430px;padding:56px 0;background:linear-gradient(105deg,rgba(2,18,34,.98),rgba(7,43,72,.94)),url('../images/hero-1.jpg') center 68%/cover}
.testimonials .heading label{color:var(--o);letter-spacing:1.5px}
.testimonials .heading h2{font-size:32px;letter-spacing:-.5px;margin-top:5px}
.quote-row{grid-template-columns:46px minmax(420px,780px) 46px;gap:24px;margin-top:30px}
.quote-row>button{width:42px;height:42px;border:1px solid rgba(255,255,255,.65);font-size:24px;transition:.25s;background:rgba(255,255,255,.04)}
.quote-row>button:hover{background:var(--o);border-color:var(--o);transform:scale(1.05)}
.quotes,.quotes blockquote{height:190px}
.quotes blockquote{position:relative;border-radius:10px;padding:30px 60px 25px;box-shadow:0 18px 45px rgba(0,0,0,.28);border-top:4px solid var(--o)}
.quotes blockquote.active{display:flex;flex-direction:column;align-items:center;justify-content:center}
.quote-icon{position:absolute;top:-24px;left:50%;transform:translateX(-50%);width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--o);color:#fff;font-size:17px;box-shadow:0 8px 18px rgba(255,91,0,.35)}
.rating{color:#ff9d21;font-size:14px;letter-spacing:3px;margin:6px 0 12px}
.quotes p{max-width:660px;font-size:13px;line-height:1.8;color:#384352}
.quotes b{font-size:13px;color:#071a2e;margin-top:10px}
.quotes small{display:block;font-size:10px;color:#7a8490;margin-top:2px}
.qdots{margin-top:18px}.qdots i{width:9px;height:9px;border:2px solid rgba(255,255,255,.8);background:transparent}.qdots i.active{border-color:var(--o);background:var(--o);width:22px;border-radius:8px}
@media(max-width:600px){.testimonials{height:430px;padding:42px 0}.testimonials .heading h2{font-size:25px}.quote-row{grid-template-columns:30px minmax(0,1fr) 30px;gap:7px;margin-top:28px}.quote-row>button{width:30px;height:30px;font-size:18px}.quotes,.quotes blockquote{height:230px}.quotes blockquote{padding:31px 17px 20px}.quotes p{font-size:11px;line-height:1.7}.rating{margin-top:10px}}
/* Associates section and motion */
.associates{position:relative;text-align:center;padding-top:72px;padding-bottom:72px}
.associate-heading{max-width:620px;margin:0 auto 34px}
.associate-heading label{color:var(--o);letter-spacing:1.4px}
.associate-heading label:after{display:none}
.associate-heading h2{font-size:30px;margin-bottom:8px}
.associate-heading p{font-size:12px;color:#687380}
.associates .six{gap:18px}
.associates .six>div{position:relative;overflow:hidden;height:112px;padding:18px;background:#fff;border:1px solid #e2e7eb;border-radius:8px;box-shadow:0 5px 18px rgba(3,23,42,.06);opacity:0;transform:translateY(24px);transition:opacity .55s ease,transform .55s ease,box-shadow .3s ease,border-color .3s ease}
.associates .six>div:before{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--o);transform:scaleX(0);transition:transform .3s ease}
.associates .six>div.visible{opacity:1;transform:translateY(0)}
.associates .six>div:hover{transform:translateY(-7px);border-color:rgba(255,91,0,.45);box-shadow:0 16px 32px rgba(3,23,42,.12)}
.associates .six>div:hover:before{transform:scaleX(1)}
.associates .dots{margin-top:24px}
@media(max-width:900px){.associates .six{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.associates{padding-top:50px;padding-bottom:50px}.associate-heading{margin-bottom:25px}.associate-heading h2{font-size:24px}.associates .six{grid-template-columns:1fr 1fr;gap:13px}.associates .six>div{height:96px;font-size:15px}}
@media(prefers-reduced-motion:reduce){.associates .six>div{opacity:1;transform:none;transition:none}.associates .six>div:hover{transform:none}}
/* Functional associates pagination */
.associates .six>div.associate-hidden{display:none}
.associate-dots i{display:block;width:10px;height:10px;cursor:pointer;border:2px solid #c8cdd2;background:#fff;transition:width .25s ease,background .25s ease,border-color .25s ease,transform .2s ease}
.associate-dots i:hover{border-color:var(--o);transform:scale(1.12)}
.associate-dots i.active{width:25px;border-radius:8px;background:var(--o);border-color:var(--o)}
/* Professional corporate footer */
footer{border-top:0;background:#03182c;color:#fff}
.footer-main{position:relative;padding:65px 0 55px;background:linear-gradient(120deg,#03182c 0%,#062943 100%)}
.footer-main:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--o),#ff8a22)}
.footer-columns{display:grid;grid-template-columns:1.45fr .7fr .7fr 1.25fr;gap:64px}
.footer-columns .logo{height:auto;color:#fff;margin-bottom:23px}
.footer-columns .logo>b{border-color:var(--o);color:var(--o)}
.footer-columns .logo span{color:#fff}
.footer-about>p{max-width:360px;color:#bdcad5;font-size:12px;line-height:1.9;margin-bottom:22px}
.footer-columns h3{position:relative;color:#fff;font:700 13px/1.3 Montserrat,Arial,sans-serif;text-transform:uppercase;letter-spacing:.7px;margin:7px 0 25px;padding-bottom:13px;border:0}
.footer-columns h3:after{content:"";position:absolute;left:0;bottom:0;width:32px;height:2px;background:var(--o)}
.footer-links>a{display:block;width:max-content;color:#c4d0da;font-size:12px;line-height:1.4;margin-bottom:14px;transition:.2s}
.footer-links>a:before{content:"›";color:var(--o);margin-right:8px}
.footer-links>a:hover{color:#fff;transform:translateX(4px)}
.footer-contact>div{display:grid;grid-template-columns:30px 1fr;align-items:start;margin-bottom:16px;color:#c4d0da}
.footer-contact i{width:30px;color:var(--o);font-size:14px;padding-top:3px}
.footer-contact p,.footer-contact a{font-size:12px;line-height:1.75;color:#c4d0da}
.footer-contact a:hover{color:#fff}
.footer-social{display:flex;gap:10px}
.footer-social a{width:36px;height:36px;border:1px solid rgba(255,255,255,.2);border-radius:50%;display:grid;place-items:center;color:#fff;font-size:13px;transition:.25s}
.footer-social a:hover{background:var(--o);border-color:var(--o);transform:translateY(-3px)}
.footer-bottom{background:#021221;border-top:1px solid rgba(255,255,255,.1)}
.footer-bottom .wrap{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:25px}
.footer-bottom p,.footer-bottom a{margin:0;color:#95a7b6;font-size:10px}
.footer-bottom>div>div{display:flex;align-items:center;gap:14px}.footer-bottom>div>div span{width:1px;height:12px;background:#405467}
.footer-bottom a:hover{color:var(--o)}
@media(max-width:900px){.footer-columns{grid-template-columns:1.3fr 1fr;gap:45px}.footer-main{padding:52px 0 45px}}
@media(max-width:600px){.footer-main{padding:44px 0 35px}.footer-columns{grid-template-columns:1fr;gap:34px}.footer-about>p{max-width:none}.footer-columns h3{margin-bottom:19px}.footer-bottom .wrap{padding:16px 0;min-height:0;flex-direction:column;text-align:center;gap:9px}}
/* Premium contact call-to-action */
.cta{position:relative;overflow:hidden;padding:0;background:linear-gradient(105deg,rgba(245,73,0,.97),rgba(255,118,0,.93)),url('../images/hero-2.jpg') center 58%/cover;color:#fff}
.cta:before{content:"";position:absolute;right:-70px;top:-115px;width:310px;height:310px;border:1px solid rgba(255,255,255,.16);border-radius:50%}
.cta:after{content:"";position:absolute;right:55px;bottom:-130px;width:250px;height:250px;border:1px solid rgba(255,255,255,.12);border-radius:50%}
.cta .cta-inner{position:relative;z-index:2;min-height:185px;display:grid;grid-template-columns:72px 1fr auto;align-items:center;gap:30px}
.cta-icon{width:68px;height:68px;border:1px solid rgba(255,255,255,.45);border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.09)}
.cta .cta-icon i{display:block;font-size:29px}
.cta-copy>span{display:block;font:700 10px/1.4 Montserrat,Arial,sans-serif;text-transform:uppercase;letter-spacing:1.8px;margin-bottom:8px;color:#fff4ec}
.cta-copy h2{font-size:29px;line-height:1.25;margin:0 0 7px;color:#fff;letter-spacing:-.4px}
.cta-copy p{font-size:13px;line-height:1.7;margin:0;color:#fff5ee}
.cta .cta-button{position:relative;margin:0;min-width:164px;height:52px;padding:0 22px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff;color:#092038;border-radius:4px;font:700 11px/1 Montserrat,Arial,sans-serif;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 12px 28px rgba(93,30,0,.24);transition:.25s}
.cta .cta-button i{display:block;font-size:12px;color:var(--o)}
.cta .cta-button:hover{background:#08223a;color:#fff;transform:translateY(-3px);box-shadow:0 17px 34px rgba(57,20,0,.3)}
.cta .cta-button:hover i{color:#fff;transform:translateX(3px)}
@media(max-width:700px){.cta .cta-inner{min-height:0;padding:38px 0;grid-template-columns:52px 1fr;gap:20px}.cta-icon{width:50px;height:50px}.cta .cta-icon i{font-size:22px}.cta-copy h2{font-size:22px}.cta .cta-button{grid-column:1/-1;margin-top:4px;width:100%;min-width:0}.cta:before,.cta:after{display:none}}
/* Refined projects and promise sections */
.projects{padding-top:70px;padding-bottom:54px}
.projects .heading{align-items:center;margin-bottom:32px}
.projects .heading h2{font-size:34px;letter-spacing:-.7px}
.projects .heading label{color:var(--o);letter-spacing:1px}
.projects .outline{padding:13px 20px;border-radius:3px;background:var(--o);color:#fff;border-color:var(--o);box-shadow:0 8px 18px rgba(255,91,0,.16)}
.projects .outline:hover{background:#e85000;transform:translateY(-2px)}
.project-grid{gap:24px}
.project-grid article{height:330px;background:#fff!important;border:1px solid #e2e7eb;border-radius:7px!important;box-shadow:0 8px 24px rgba(3,23,42,.08)!important;overflow:hidden}
.project-grid article>img{height:232px;object-fit:cover}
.project-grid article:before{display:none}
.project-grid article:after{display:none}
.project-grid article>div{position:absolute;left:0;right:0;bottom:0;height:98px;padding:17px 18px;background:#fff;color:#071a2e;display:flex;justify-content:center;align-items:flex-start}
.project-grid article small{font-size:9px;letter-spacing:.6px;line-height:1.3}
.project-grid article b{font-size:17px;line-height:1.35;margin:3px 0 1px}
.project-grid article span{font-size:11px;color:#697480}
.project-grid article:hover{transform:translateY(-6px);box-shadow:0 18px 36px rgba(3,23,42,.14)!important}
.promise{margin-top:28px;margin-bottom:70px;padding:58px 52px 60px!important;background:linear-gradient(145deg,#f7f9fb,#fff);border:1px solid #e9edf0;border-radius:14px}
.promise .heading{margin-bottom:34px}
.promise .heading label{color:var(--o);letter-spacing:1px}
.promise .heading h2{font-size:32px;letter-spacing:-.5px}
.promise .four{gap:20px}
.promise article{position:relative;min-height:210px;padding:31px 24px 25px;display:flex;flex-direction:column;align-items:flex-start;gap:15px;background:#fff;border:1px solid #e1e6ea;border-radius:9px;box-shadow:0 7px 20px rgba(3,23,42,.055);overflow:hidden}
.promise article:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--o);transform:scaleX(.28);transform-origin:left;transition:transform .3s ease}
.promise article:hover:before{transform:scaleX(1)}
.promise article>i{flex:0 0 52px;width:52px;height:52px;font-size:22px;background:#fff0e7}
.promise article b{font-size:13px;line-height:1.4}
.promise article p{font-size:11px;line-height:1.8;color:#596573;margin:0}
@media(max-width:900px){.project-grid article{height:340px}.project-grid article>img{height:240px}.project-grid article>div{height:100px}.promise{padding:48px 34px 50px!important}.promise article{min-height:190px}}
@media(max-width:600px){.projects{padding-top:50px;padding-bottom:34px}.projects .heading{align-items:flex-start}.projects .heading h2{font-size:27px}.projects .outline{padding:10px 12px;font-size:9px}.project-grid article{height:345px}.project-grid article>img{height:245px}.promise{margin-top:18px;margin-bottom:48px;padding:42px 20px!important}.promise .heading h2{font-size:27px}.promise article{min-height:170px}}
/* Site-wide motion system */
.site-reveal{opacity:0;transform:translateY(30px);transition:opacity .7s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms),transform .7s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms)}
.site-reveal.is-revealed{opacity:1;transform:translateY(0)}
.about>img.site-reveal,.contact>.map.site-reveal{transform:translateX(-35px)}
.about>aside.site-reveal,.contact>.form.site-reveal{transform:translateX(35px)}
.about>img.is-revealed,.about>aside.is-revealed,.contact>.map.is-revealed,.contact>.form.is-revealed{transform:translateX(0)}
.slide .wrap h1,.slide .wrap p,.slide .wrap .btn{opacity:0;transform:translateY(22px)}
.hero.hero-ready .slide.active .wrap h1{animation:heroRise .75s .12s both cubic-bezier(.2,.75,.2,1)}
.hero.hero-ready .slide.active .wrap p{animation:heroRise .75s .28s both cubic-bezier(.2,.75,.2,1)}
.hero.hero-ready .slide.active .wrap .btn{animation:heroRise .75s .43s both cubic-bezier(.2,.75,.2,1)}
.stats .four>div.is-revealed i{animation:iconPop .55s calc(var(--reveal-delay,0ms) + 250ms) both}
.project-grid article>img{animation:imageBreathe 9s ease-in-out infinite alternate}
.btn i,.outline i,.cta-button i{transition:transform .25s ease}
.btn:hover i,.outline:hover i{transform:translateX(4px)}
@keyframes heroRise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes iconPop{0%{transform:scale(.65);opacity:.25}70%{transform:scale(1.12)}100%{transform:scale(1);opacity:1}}
@keyframes imageBreathe{from{transform:scale(1)}to{transform:scale(1.035)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.site-reveal,.site-reveal.is-revealed{opacity:1;transform:none;transition:none}.slide .wrap h1,.slide .wrap p,.slide .wrap .btn{opacity:1;transform:none;animation:none!important}.project-grid article>img,.stats .four>div i{animation:none!important}*{transition-duration:.01ms!important}}
.slide .wrap h1{max-width:760px;font-size:clamp(42px,4vw,62px);line-height:1.08;letter-spacing:-2.2px}.slide .wrap h1 em{display:inline-block;color:var(--o)}.slide .wrap p{max-width:650px;font-size:16px;line-height:1.8;text-shadow:0 2px 12px rgba(0,0,0,.28)}.slide .wrap .btn{display:inline-flex;align-items:center;gap:18px;padding:14px 20px;border-radius:2px}.slide .wrap .btn i{font-size:10px}@media(max-width:600px){.slide .wrap h1{max-width:92%;font-size:36px;line-height:1.14;letter-spacing:-1.2px}.slide .wrap p{max-width:92%;font-size:14px;line-height:1.7}.slide .wrap .btn{padding:12px 16px}}
/* Definitive mobile navigation state */
@media(max-width:900px){
  nav.wrap{position:relative}
  nav ul{display:none!important;position:absolute;z-index:100;top:78px;left:-22px;right:-22px;width:auto;height:auto;padding:10px 0;background:#fff;box-shadow:0 14px 28px rgba(3,23,42,.16);flex-direction:column;align-items:stretch;gap:0}
  nav ul.open{display:flex!important}
  nav ul li{display:block;width:100%;height:auto}
  nav ul li a{display:block;width:100%;height:auto;padding:14px 22px!important;border:0!important}
  .toggle{display:block;position:relative;z-index:101}
}
/* Mobile footer layout correction */
@media(max-width:600px){
  .footer-main{padding:40px 0 30px}
  .footer-main .wrap{width:calc(100% - 36px)}
  .footer-columns{display:grid;grid-template-columns:1fr 1fr;gap:34px 24px}
  .footer-about{grid-column:1/-1;text-align:center;padding-bottom:28px;border-bottom:1px solid rgba(255,255,255,.12)}
  .footer-columns .footer-about .logo{width:max-content;max-width:100%;margin:0 auto 20px;justify-content:center;text-align:left}
  .footer-about>p{max-width:420px;margin:0 auto 22px;font-size:11px;line-height:1.85;color:#bcc9d4}
  .footer-social{justify-content:center}
  .footer-social a{width:38px;height:38px}
  .footer-links{min-width:0}
  .footer-columns h3{font-size:12px;margin:0 0 18px;padding-bottom:10px}
  .footer-links>a{width:auto;font-size:11px;margin-bottom:13px;white-space:normal}
  .footer-contact{grid-column:1/-1;margin-top:2px;padding:24px 20px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.1);border-radius:8px}
  .footer-contact>div{grid-template-columns:28px 1fr;margin-bottom:14px;text-align:left}
  .footer-contact>div:last-child{margin-bottom:0}
  .footer-contact p,.footer-contact a{font-size:11px;line-height:1.75;overflow-wrap:anywhere}
  .footer-bottom .wrap{width:calc(100% - 36px);padding:18px 0;gap:11px}
  .footer-bottom p,.footer-bottom a{font-size:9px;line-height:1.6}
  .footer-bottom>div>div{flex-wrap:wrap;justify-content:center;gap:10px}
}
@media(max-width:360px){.footer-columns{grid-template-columns:1fr}.footer-about,.footer-contact{grid-column:auto}.footer-links{padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.1)}}
/* Cohesive values, about and statistics redesign */
.values{position:relative;padding:0;background:#061f37}
.values .four{min-height:150px;align-items:stretch}
.values article{position:relative;padding:30px 30px;border-right:1px solid rgba(255,255,255,.13);gap:18px;transition:background .25s ease}
.values article:hover{background:rgba(255,255,255,.045)}
.values article>i{flex:0 0 50px;width:50px;height:50px;display:grid;place-items:center;border-radius:50%;background:rgba(255,91,0,.12);font-size:23px;color:var(--o)}
.values article>div{align-self:center}
.values b{display:block;font-size:12px;line-height:1.35;letter-spacing:.2px;margin-bottom:7px}
.values p{max-width:210px;font-size:10px;line-height:1.7;color:#bfcbd5;margin:0}
.about{position:relative;grid-template-columns:.88fr 1.12fr;gap:65px;min-height:540px;padding-top:82px;padding-bottom:82px;align-items:center}
.about:before{content:"";position:absolute;z-index:-1;right:42%;top:75px;width:90px;height:90px;background-image:radial-gradient(#ffb58e 1.4px,transparent 1.4px);background-size:9px 9px;opacity:.7}
.about>div{grid-column:auto}
.about>div>label{color:var(--o);letter-spacing:1.2px}
.about>div>h2{font-size:38px;line-height:1.25;letter-spacing:-1px}
.about>div>p{max-width:490px;font-size:13px;line-height:2;color:#5d6875}
.about .outline{padding:12px 19px;border-radius:3px}
.about>img{grid-column:2;width:100%;height:395px;border-radius:8px;box-shadow:0 22px 48px rgba(3,23,42,.17);object-fit:cover}
.about>aside{position:absolute;right:-10px;bottom:55px;width:245px;height:auto;min-height:218px;padding:28px 25px;background:linear-gradient(145deg,#ff7b00,#ff5100);border:6px solid #fff;border-radius:8px;box-shadow:0 18px 38px rgba(255,91,0,.25)}
.about aside strong{font-size:48px}.about aside b{font-size:13px;margin-top:5px}.about aside p{font-size:10px;line-height:1.8;margin-top:15px}
.stats{padding:0;background:linear-gradient(100deg,#03182c,#082d4b);color:#fff}
.stats .four{min-height:128px;align-items:center}
.stats .four>div{position:relative;grid-template-columns:55px 1fr;padding:20px 28px;border-right:1px solid rgba(255,255,255,.14)}
.stats i{font-size:27px}.stats strong{color:#fff;font-size:29px}.stats small{color:#c1ccd6;font-size:10px;margin-top:3px}
@media(max-width:900px){.values .four{grid-template-columns:1fr 1fr}.values article:nth-child(2){border-right:0}.values article:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.13)}.about{grid-template-columns:1fr;gap:32px;min-height:0}.about>img{grid-column:1;height:360px}.about>aside{right:20px;bottom:45px}.stats .four{grid-template-columns:1fr 1fr}.stats .four>div:nth-child(2){border-right:0}}
@media(max-width:600px){.values .four{grid-template-columns:1fr;min-height:0}.values article{min-height:120px;padding:24px 12px;border-right:0;border-bottom:1px solid rgba(255,255,255,.13)!important}.values article:last-child{border-bottom:0!important}.values p{max-width:none}.about{padding-top:55px;padding-bottom:55px;gap:25px}.about:before{display:none}.about>div>h2{font-size:29px}.about>img{height:285px}.about>aside{position:relative;right:auto;bottom:auto;width:calc(100% - 28px);margin:-65px auto 0;min-height:190px;border-width:5px}.stats .four{grid-template-columns:1fr 1fr;min-height:0;padding:15px 0}.stats .four>div{padding:18px 8px;grid-template-columns:42px 1fr}.stats i{font-size:22px}.stats strong{font-size:23px}.stats small{font-size:9px}}
.project-grid article .project-cover-link{position:absolute;z-index:4;inset:0;display:block}

/* Legacy homepage values, migrated from the original site */
.values-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));min-height:150px;align-items:stretch}
.values-grid article:last-child{border-right:0}
@media(max-width:900px){.values-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.values-grid{grid-template-columns:1fr}.values-grid article{border-right:0;border-bottom:1px solid rgba(255,255,255,.13)}.values-grid article:last-child{border-bottom:0}}

/* Readable homepage typography scale */
body{font-size:18px}
.top{font-size:14px}
nav ul{font-size:12px}
.slide .wrap p{font-size:20px}
.slide .wrap .btn,.btn,.outline{font-size:13px}
.values b{font-size:17px}
.values p{max-width:300px;font-size:15px;line-height:1.75}
label{font-size:13px}
.about>div>p{font-size:17px;line-height:1.85}
.about aside b{font-size:17px}
.about aside p{font-size:14px;line-height:1.7}
.project-grid small{font-size:12px}
.project-grid article b{font-size:21px}
.project-grid article span{font-size:15px}
.quotes p{font-size:16px}
.quotes b{font-size:16px}
.quotes small{font-size:13px}
.associate-heading p{font-size:16px}
.mapcard{width:250px;font-size:13px;line-height:1.65}
.form h2{font-size:25px}
.form input,.form textarea{font-size:15px}
.cta-copy>span{font-size:13px}
.cta-copy p{font-size:16px}
.cta .cta-button{font-size:13px}
@media(max-width:600px){body{font-size:16px}.slide .wrap p{font-size:17px}.values b{font-size:16px}.values p{font-size:14px}.about>div>p{font-size:16px}.project-grid article b{font-size:20px}.project-grid article span{font-size:14px}.quotes p{font-size:14px}.form h2{font-size:22px}.form input,.form textarea{font-size:14px}}

/* Use Poppins consistently throughout the homepage */
body,button,input,select,textarea,h1,h2,h3,h4,h5,h6,label,
nav ul,nav ul a,.logo,.footer-columns h3,.cta-copy>span,.cta .cta-button,
.btn,.outline,.project-grid small,.certificate-view{
  font-family:Poppins,Arial,sans-serif!important;
}

/* Prominent homepage presentation */
body{background:#fff;color:#0a1d31}
.hero{height:680px;background:#071b2e}
.slide-shade{background:linear-gradient(90deg,rgba(2,17,31,.94) 0%,rgba(3,24,43,.7) 42%,rgba(3,24,43,.12) 78%)}
.slide .wrap{padding-top:145px}
.slide .wrap:before{content:"Featured development";display:block;width:max-content;margin-bottom:18px;padding:7px 12px;border-left:3px solid var(--o);background:rgba(255,255,255,.1);color:#fff;font-size:11px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;backdrop-filter:blur(5px)}
.slide .wrap h1{max-width:800px;font-size:clamp(54px,5.2vw,76px);line-height:1.03;letter-spacing:-3px;margin-bottom:24px}
.slide .wrap p{max-width:620px;margin-bottom:32px;color:#e1e8ee;font-size:19px;line-height:1.75}
.slide .wrap .btn{min-height:54px;padding:0 25px;border-radius:4px;box-shadow:0 12px 30px rgba(255,91,0,.28)}
.hero .arrow{z-index:4;width:48px;height:48px;background:rgba(255,255,255,.94);color:#0a1d31;box-shadow:0 8px 24px rgba(0,0,0,.2);transition:.25s}
.hero .arrow:hover{background:var(--o);color:#fff;transform:scale(1.07)}
.hero>.dots{z-index:4;bottom:28px;gap:9px}.hero>.dots i{width:10px;height:10px;border:2px solid #fff;background:transparent}.hero>.dots i.active{width:30px;border-radius:8px;border-color:var(--o);background:var(--o)}
.values{z-index:5;width:min(1320px,calc(100% - 56px));margin:-42px auto 0;border-radius:12px;background:linear-gradient(120deg,#061b30,#0a3454);box-shadow:0 22px 55px rgba(3,23,42,.28);overflow:hidden}
.values-grid{width:100%;min-height:190px}
.values article{padding:38px 34px;gap:22px}
.values article>i{flex-basis:58px;width:58px;height:58px;font-size:25px;background:linear-gradient(145deg,rgba(255,91,0,.23),rgba(255,91,0,.08));border:1px solid rgba(255,126,54,.3)}
.values b{margin-bottom:9px;color:#fff;font-size:18px}
.values p{color:#c7d3dd;font-size:14px}
.section{padding-top:88px;padding-bottom:88px}
.about{min-height:650px;padding-top:110px;padding-bottom:100px;gap:85px}
.about>div>label,.projects .heading label,.associate-heading label{display:inline-flex;align-items:center;color:var(--o);font-size:12px;letter-spacing:1.8px}
.about>div>h2{max-width:570px;font-size:46px;line-height:1.2;letter-spacing:-1.7px}
.about>div>p{max-width:570px;color:#526171}
.about .outline{padding:14px 22px;background:var(--o);color:#fff;border-radius:4px;box-shadow:0 9px 22px rgba(255,91,0,.2)}
.about>img{height:480px;border-radius:16px;box-shadow:0 30px 65px rgba(3,23,42,.2)}
.about>aside{right:-18px;bottom:72px;width:270px;min-height:235px;border-radius:12px}
.projects{padding-top:95px;padding-bottom:90px}
.projects .heading{margin-bottom:42px}
.projects .heading h2{font-size:43px;letter-spacing:-1.2px}
.project-grid{gap:28px}
.project-grid article{height:400px;border:0!important;border-radius:13px!important;box-shadow:0 15px 38px rgba(3,23,42,.13)!important}
.project-grid article>img{height:285px}
.project-grid article>div{height:115px;padding:20px 21px;border-top:4px solid var(--o)}
.project-grid article:hover{transform:translateY(-10px);box-shadow:0 25px 52px rgba(3,23,42,.2)!important}
.testimonials{background-attachment:fixed}
.associates{padding-top:95px;padding-bottom:95px}
.associate-heading h2{font-size:38px}
.associates .six>div{height:125px}
.contact{min-height:500px}
.form{padding-top:62px}.form h2{max-width:480px;font-size:32px;line-height:1.3;margin-bottom:24px}.form form{gap:11px}.form input,.form textarea{padding:13px 14px}.form textarea{height:90px}.form .btn{min-height:48px;padding:0 22px}
@media(max-width:900px){.hero{height:610px}.slide .wrap{padding-top:115px}.values{width:calc(100% - 40px)}.values-grid{grid-template-columns:1fr}.values article{min-height:145px;border-right:0;border-bottom:1px solid rgba(255,255,255,.13)}.about{gap:40px}.about>img{height:410px}.project-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.hero{height:560px}.slide .wrap{padding-top:90px}.slide .wrap:before{font-size:9px}.slide .wrap h1{font-size:43px;letter-spacing:-1.5px}.slide .wrap p{font-size:16px}.hero .arrow{display:none}.values{width:calc(100% - 24px);margin-top:-22px}.values article{padding:28px 22px}.values-grid{min-height:0}.about{padding-top:75px;padding-bottom:70px}.about>div>h2{font-size:34px}.about>img{height:320px}.about>aside{width:calc(100% - 24px)}.projects{padding-top:70px;padding-bottom:65px}.projects .heading h2{font-size:32px}.project-grid{grid-template-columns:1fr}.project-grid article{height:390px}.project-grid article>img{height:275px}.associate-heading h2{font-size:30px}.contact{min-height:0}.form{padding-top:40px}}

/* Balanced three-project showcase */
.projects{max-width:1320px}
.projects .heading{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end;margin-bottom:44px}
.projects .heading>div{max-width:680px}
.projects .heading .outline{align-self:end;margin-bottom:5px}
.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:0}
.project-grid article{display:flex;flex-direction:column;height:auto;min-height:490px;background:#fff!important;border:1px solid #e2e8ed!important;border-radius:14px!important;overflow:hidden}
.project-grid article>img{position:static;display:block;width:100%;height:315px;object-fit:cover;flex:0 0 auto}
.project-grid article>div{position:static;width:100%;height:auto;min-height:175px;padding:22px 24px 24px;display:flex;flex-direction:column;justify-content:flex-start;background:#fff;border-top:4px solid var(--o);color:#071a2e}
.project-grid article small{font-size:11px;line-height:1.4}
.project-grid article b{margin:6px 0 5px;font-size:22px;line-height:1.3}
.project-grid article span{font-size:14px;line-height:1.8;color:#667584}
@media(max-width:900px){.projects .heading{grid-template-columns:1fr auto}.project-grid{grid-template-columns:1fr 1fr}.project-grid article{min-height:470px}.project-grid article>img{height:290px}}
@media(max-width:600px){.projects .heading{grid-template-columns:1fr;gap:18px}.projects .heading .outline{justify-self:start;margin:0}.project-grid{grid-template-columns:1fr;gap:22px}.project-grid article{min-height:0}.project-grid article>img{height:280px}.project-grid article>div{min-height:155px;padding:20px}}

/* Keep four published projects in one balanced desktop row */
@media(min-width:1101px){.project-grid:has(>article:nth-child(4)){grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.project-grid:has(>article:nth-child(4)) article{min-height:450px}.project-grid:has(>article:nth-child(4)) article>img{height:270px}.project-grid:has(>article:nth-child(4)) article>div{min-height:180px;padding:20px}.project-grid:has(>article:nth-child(4)) article b{font-size:19px}.project-grid:has(>article:nth-child(4)) article span{font-size:13px}}
@media(min-width:601px) and (max-width:1100px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.project-grid article>img[src*="/life-ii/"]{object-fit:contain;background:#f7f7f4}

/* Keep the site address card; crop the duplicate panel inside Google Maps. */
.contact .map>iframe{top:-180px;bottom:auto;height:calc(100% + 180px)}
