:root{
  --navy:#0b1f33;
  --navy-2:#132d45;
  --ink:#162434;
  --muted:#647181;
  --paper:#f4f1ea;
  --paper-2:#faf9f6;
  --white:#ffffff;
  --teal:#148a87;
  --teal-dark:#0b6b69;
  --line:#dfe2df;
  --warm:#c59b63;
  --shadow:0 18px 55px rgba(11,31,51,.10);
  --radius:18px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:var(--paper-2);line-height:1.65;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.container{width:min(1180px,calc(100% - 48px));margin:auto}

.site-header{position:sticky;top:0;z-index:40;background:rgba(250,249,246,.95);backdrop-filter:blur(14px);border-bottom:1px solid rgba(11,31,51,.08)}
.nav-wrap{height:78px;display:flex;align-items:center;gap:34px}
.brand{display:flex;align-items:center;gap:12px;font-family:Manrope,Inter,sans-serif;font-weight:800;letter-spacing:-.025em;color:var(--navy);white-space:nowrap}
.brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--navy);color:#fff;font-size:10px;letter-spacing:.08em;font-weight:800;box-shadow:inset 0 0 0 5px rgba(255,255,255,.08)}
.brand-name{font-size:17px}.brand-name b{color:var(--teal)}
nav{display:flex;align-items:center;justify-content:center;gap:30px;margin-left:auto}
nav a{position:relative;padding:27px 0 25px;font-size:13px;font-weight:700;color:#536171}
nav a:hover,nav a.active{color:var(--navy)}
nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:18px;height:2px;background:var(--teal)}
.nav-cta{margin-left:6px;border:1px solid var(--navy);border-radius:999px;padding:10px 16px;font-size:12px;font-weight:800;color:var(--navy);transition:.2s}
.nav-cta:hover{background:var(--navy);color:#fff}

.hero{background:var(--paper);border-bottom:1px solid var(--line)}
.hero-grid{min-height:650px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:80px;padding:80px 0}
.eyebrow{display:flex;align-items:center;gap:10px;font-size:10px;font-weight:800;letter-spacing:.17em;text-transform:uppercase;color:var(--teal)}
.eyebrow:before{content:"";width:28px;height:1px;background:currentColor}
.hero h1,.page-hero h1{font-family:Manrope,Inter,sans-serif;font-size:clamp(47px,5.3vw,76px);line-height:1.03;letter-spacing:-.052em;margin:20px 0 22px;color:var(--navy);max-width:760px}
.hero h1 em,.page-hero h1 em,h2 em{font-style:normal;color:var(--teal)}
.hero-lead{font-size:17px;line-height:1.75;color:var(--muted);max-width:650px;margin:0 0 30px}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;padding:13px 20px;font-size:13px;font-weight:800;transition:.2s;border:1px solid transparent}
.btn-primary{background:var(--navy);color:#fff}.btn-primary:hover{background:var(--teal-dark);transform:translateY(-1px)}
.btn-secondary{border-color:#bcc3c4;background:transparent;color:var(--navy)}.btn-secondary:hover{background:#fff}
.btn-light{background:#fff;color:var(--navy)}
.hero-proof{display:flex;gap:30px;margin-top:42px;padding-top:26px;border-top:1px solid #d8d7d0}
.hero-proof div{min-width:110px}.hero-proof strong{display:block;font-family:Manrope;font-size:20px;color:var(--navy)}.hero-proof span{display:block;font-size:10px;line-height:1.4;color:#75808b;text-transform:uppercase;letter-spacing:.08em;margin-top:3px}

.infrastructure-visual{position:relative;height:470px;border-radius:28px;background:var(--navy);overflow:hidden;box-shadow:var(--shadow)}
.infrastructure-visual:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.04),transparent 45%),radial-gradient(circle at 80% 20%,rgba(20,138,135,.35),transparent 28%)}
.visual-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,black,transparent 88%)}
.visual-label{position:absolute;top:30px;left:32px;color:#d8e0e7;font-size:10px;letter-spacing:.16em;font-weight:800}.visual-label b{color:#66d0ca}
.power-line{position:absolute;left:66px;bottom:68px;width:4px;height:248px;background:#bfd2da;transform:skew(-4deg)}
.power-line:before,.power-line:after{content:"";position:absolute;left:-52px;width:108px;height:2px;background:#bfd2da}
.power-line:before{top:62px}.power-line:after{top:126px}
.power-wire{position:absolute;height:1px;background:rgba(196,217,225,.65);transform-origin:left center}.wire-a{left:16px;right:34px;top:161px;transform:rotate(3deg)}.wire-b{left:14px;right:50px;top:225px;transform:rotate(-2deg)}
.meter-unit{position:absolute;right:68px;top:105px;width:170px;height:232px;border:1px solid rgba(255,255,255,.22);border-radius:20px;background:rgba(255,255,255,.08);backdrop-filter:blur(8px);padding:18px}
.meter-screen{height:74px;border-radius:10px;background:#cceee4;color:#0c3a39;padding:12px;font-size:10px;letter-spacing:.06em}.meter-screen strong{display:block;font-size:24px;letter-spacing:-.04em;margin-top:3px}
.meter-lines{display:grid;gap:10px;margin-top:22px}.meter-lines span{height:7px;border-radius:10px;background:rgba(255,255,255,.18)}.meter-lines span:nth-child(2){width:76%}.meter-lines span:nth-child(3){width:55%}
.visual-caption{position:absolute;left:32px;right:32px;bottom:28px;display:flex;justify-content:space-between;align-items:end;color:#fff;border-top:1px solid rgba(255,255,255,.14);padding-top:20px}.visual-caption strong{display:block;font-family:Manrope;font-size:18px}.visual-caption span{font-size:10px;color:#9bb0c0;text-transform:uppercase;letter-spacing:.08em}.signal-dot{width:9px;height:9px;border-radius:50%;background:#64d1cb;box-shadow:0 0 0 6px rgba(100,209,203,.12)}

.trust-strip{background:#fff;border-bottom:1px solid var(--line)}
.trust-strip .container{min-height:78px;display:grid;grid-template-columns:auto repeat(4,1fr);align-items:center;gap:20px}
.trust-strip small{font-size:9px;font-weight:800;letter-spacing:.15em;color:#8b949c;text-transform:uppercase}
.trust-item{font-size:12px;font-weight:700;color:#44515f;border-left:1px solid var(--line);padding-left:22px}

.section{padding:96px 0}
.section-sm{padding:66px 0}
.section-heading{display:grid;grid-template-columns:.72fr 1.28fr;gap:80px;align-items:start;margin-bottom:50px}
.section-heading h2,.section-title h2,.content-copy h2,.cta-inner h2,.contact-copy h2,.project-copy h2{font-family:Manrope,Inter,sans-serif;font-size:clamp(34px,4vw,50px);line-height:1.1;letter-spacing:-.045em;color:var(--navy);margin:14px 0 0}
.section-heading p,.section-title p{margin:4px 0 0;color:var(--muted);max-width:640px}
.section-link{display:inline-block;margin-top:18px;font-size:12px;font-weight:800;color:var(--teal-dark)}

.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.about-facts{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.about-fact{padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.about-fact strong{font-family:Manrope;font-size:32px;color:var(--navy);display:block;letter-spacing:-.04em}.about-fact span{font-size:12px;color:var(--muted)}
.content-copy p{color:var(--muted);font-size:16px}.content-copy .accent-line{border-left:3px solid var(--teal);padding-left:20px;color:var(--ink);font-weight:600;margin-top:26px}

.capabilities{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.capability-list{border-top:1px solid var(--line)}
.capability-row{display:grid;grid-template-columns:70px 1.05fr 1.45fr 34px;gap:26px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line);transition:.2s}
.capability-row:hover{padding-left:10px}.capability-no{font-size:10px;font-weight:800;color:#8a949b}.capability-row h3{font-family:Manrope;font-size:20px;color:var(--navy);margin:0}.capability-row p{font-size:13px;color:var(--muted);margin:0}.capability-arrow{font-size:20px;color:var(--teal)}

.projects-home{background:var(--paper)}
.project-feature{display:grid;grid-template-columns:.9fr 1.1fr;background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden}
.project-feature + .project-feature{margin-top:20px}
.project-visual{min-height:335px;position:relative;overflow:hidden;background:var(--navy)}
.project-visual.energy{background:linear-gradient(150deg,#0b2035,#174968 62%,#148a87)}
.project-visual.water{background:linear-gradient(150deg,#173149,#24799a 58%,#65abb6)}
.project-visual.city{background:linear-gradient(150deg,#172231,#4a4855 58%,#8f6e4d)}
.project-visual.warm{background:linear-gradient(150deg,#1a2632,#65502f 58%,#b57b3e)}
.project-visual:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:36px 36px}
.project-symbol{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:145px;height:145px;border-radius:50%;border:1px solid rgba(255,255,255,.3);display:grid;place-items:center;color:#fff}
.project-symbol svg{width:68px;height:68px;stroke:currentColor;fill:none;stroke-width:1.5}
.project-place{position:absolute;left:25px;bottom:22px;color:#fff;font-size:10px;font-weight:800;letter-spacing:.14em}
.project-copy{padding:42px 48px;align-self:center}.project-copy .tag,.project-tag{font-size:10px;font-weight:800;letter-spacing:.14em;color:var(--teal-dark);text-transform:uppercase}.project-copy h3{font-family:Manrope;font-size:30px;line-height:1.15;letter-spacing:-.035em;color:var(--navy);margin:10px 0}.project-copy p{color:var(--muted);font-size:14px}.project-meta{display:flex;gap:26px;margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.project-meta div{font-size:10px;color:#77828c;text-transform:uppercase;letter-spacing:.08em}.project-meta strong{display:block;font-size:12px;color:var(--ink);text-transform:none;letter-spacing:0;margin-top:3px}

.principles{background:var(--navy);color:#fff}.principles .section-heading h2{color:#fff}.principles .section-heading p{color:#aebbc6}.principles-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.14);border-left:1px solid rgba(255,255,255,.14)}
.principle{min-height:215px;padding:28px;border-right:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14)}.principle span{font-size:10px;color:#66d0ca;font-weight:800}.principle h3{font-family:Manrope;font-size:19px;margin:34px 0 8px}.principle p{font-size:12px;line-height:1.65;color:#aebbc6;margin:0}

.cta-band{background:var(--teal);padding:58px 0}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.cta-inner .eyebrow{color:#d8f6f2}.cta-inner h2{color:#fff;margin-top:12px;max-width:760px}.cta-inner p{color:#d8f6f2;margin:10px 0 0}

.page-hero{background:var(--paper);border-bottom:1px solid var(--line);padding:90px 0 78px}.page-hero h1{font-size:clamp(46px,5vw,68px);max-width:900px}.page-hero p{font-size:16px;color:var(--muted);max-width:750px}

.service-overview{background:#fff}.service-index{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-index a{padding:25px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.service-index span{font-size:9px;color:var(--teal);font-weight:800}.service-index strong{display:block;font-family:Manrope;font-size:16px;line-height:1.3;color:var(--navy);margin-top:13px}
.detail-block{display:grid;grid-template-columns:180px 1fr;gap:46px;padding:70px 0;border-top:1px solid var(--line)}.detail-block:last-child{border-bottom:1px solid var(--line)}.detail-num{font-family:Manrope;font-size:58px;letter-spacing:-.06em;color:#d7d9d6}.detail-content h2{font-family:Manrope;font-size:36px;line-height:1.16;letter-spacing:-.04em;color:var(--navy);margin:12px 0}.detail-content>p{font-size:15px;color:var(--muted);max-width:820px}.detail-cols{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-top:32px}.detail-cols h4{font-family:Manrope;font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--navy);margin:0 0 14px}.detail-cols ul{padding:0;margin:0;list-style:none}.detail-cols li{position:relative;padding:9px 0 9px 20px;border-top:1px solid var(--line);font-size:13px;color:#4f5c68}.detail-cols li:before{content:"";position:absolute;left:0;top:17px;width:6px;height:6px;border-radius:50%;background:var(--teal)}

.project-detail-page .section{padding:70px 0}.alt-section{background:#fff}.detail-project-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:68px;align-items:center}.detail-project-grid.reverse{grid-template-columns:1.18fr .82fr}.detail-project-grid.reverse .project-visual{order:2}.detail-project-grid.reverse .project-copy-detail{order:1}.project-visual.large{min-height:430px;border-radius:22px;box-shadow:var(--shadow)}.project-copy-detail h2{font-family:Manrope;font-size:38px;line-height:1.14;letter-spacing:-.04em;color:var(--navy);margin:12px 0}.project-copy-detail>p{color:var(--muted);font-size:14px}.partner{color:var(--ink)!important}.project-scope{display:grid;grid-template-columns:1fr 1fr;gap:8px 26px;margin-top:25px}.project-scope span{font-size:12px;color:#485764;border-top:1px solid var(--line);padding:10px 0}.value-box{margin-top:26px;padding:20px 22px;background:var(--paper);border-left:3px solid var(--teal)}.value-box strong{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--teal-dark)}.value-box p{font-size:13px;margin:6px 0 0;color:#53606b}

.contact-section{background:#fff}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px}.contact-copy p{color:var(--muted)}.contact-list{margin-top:34px;border-top:1px solid var(--line)}.contact-row{display:grid;grid-template-columns:90px 1fr;padding:17px 0;border-bottom:1px solid var(--line)}.contact-row small{font-size:9px;font-weight:800;letter-spacing:.12em;color:#89929a;text-transform:uppercase}.contact-row a,.contact-row p{font-size:13px;margin:0;color:var(--ink)}
.contact-form-card{background:var(--paper);border-radius:22px;padding:38px;border:1px solid #e1dfd8}.form-heading{margin-bottom:25px}.form-heading span{display:block;font-size:9px;color:var(--teal);font-weight:800;letter-spacing:.14em}.form-heading strong{display:block;font-family:Manrope;font-size:27px;color:var(--navy);margin-top:6px}.contact-form-card label{display:block;font-size:11px;font-weight:700;color:#465463;margin:14px 0 6px}.contact-form-card label b{color:var(--teal)}.contact-form-card input,.contact-form-card textarea{width:100%;border:1px solid #ced3d2;background:#fff;border-radius:10px;padding:13px 14px;font:inherit;font-size:13px;color:var(--ink);outline:none}.contact-form-card textarea{resize:vertical}.contact-form-card input:focus,.contact-form-card textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(20,138,135,.10)}.form-submit{border:0;margin-top:18px;cursor:pointer}.form-note{font-size:10px!important;color:#8a949b!important}.honeypot{position:absolute;left:-10000px}
.contact-map-band{background:var(--paper);padding:0 0 80px}.map-card{display:flex;align-items:center;justify-content:space-between;gap:40px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:34px}.map-card h2{font-family:Manrope;font-size:28px;color:var(--navy);margin:8px 0}.map-card p{font-size:12px;color:var(--muted);margin:0}.map-card .btn-secondary{white-space:nowrap}

.thankyou{min-height:68vh;display:grid;place-items:center;background:var(--paper)}.thank-card{width:min(650px,calc(100% - 40px));background:#fff;border:1px solid var(--line);border-radius:22px;padding:54px;text-align:center;box-shadow:var(--shadow)}.thank-mark{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#e4f3f1;color:var(--teal-dark);font-size:24px;margin:0 auto 18px}.thank-card h1{font-family:Manrope;color:var(--navy);font-size:40px;letter-spacing:-.04em;margin:0 0 12px}.thank-card p{color:var(--muted)}

footer{background:#071522;color:#fff;padding:60px 0 22px}.footer-grid{display:grid;grid-template-columns:1.6fr .7fr .9fr;gap:70px}.footer-brand{color:#fff}.footer-grid p{color:#91a2b1;font-size:12px;max-width:320px}.footer-grid h4{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#6fd2cc;margin:0 0 15px}.footer-grid a:not(.brand){display:block;font-size:12px;color:#c6d1da;margin:9px 0}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:20px;margin-top:40px;display:flex;justify-content:space-between;color:#7c8d9d;font-size:10px}

@media(max-width:980px){
  .hero-grid,.section-heading,.about-layout,.detail-project-grid,.detail-project-grid.reverse,.contact-grid{grid-template-columns:1fr;gap:46px}
  .hero-grid{padding:68px 0}.infrastructure-visual{height:410px}.section-heading{gap:16px}.project-feature{grid-template-columns:1fr}.project-visual{min-height:270px}.principles-grid,.service-index{grid-template-columns:1fr 1fr}.detail-project-grid.reverse .project-visual,.detail-project-grid.reverse .project-copy-detail{order:initial}.trust-strip .container{grid-template-columns:1fr 1fr 1fr}.trust-strip small{grid-column:1/-1;padding-top:18px}.trust-item{margin-bottom:18px}.nav-cta{display:none}
}
@media(max-width:760px){
  .container{width:min(100% - 30px,1180px)}.site-header{position:relative}.nav-wrap{height:auto;min-height:72px;flex-wrap:wrap;padding:12px 0}.brand{margin-right:auto}.brand-name{font-size:15px}nav{order:2;width:100%;justify-content:space-between;gap:12px;border-top:1px solid var(--line)}nav a{font-size:11px;padding:13px 0}nav a.active:after{bottom:6px}
  .hero-grid{min-height:auto;padding:58px 0}.hero h1,.page-hero h1{font-size:43px}.hero-proof{display:grid;grid-template-columns:1fr 1fr;gap:18px}.infrastructure-visual{height:360px}.meter-unit{width:145px;height:205px;right:30px;top:82px}.power-line{left:45px;height:210px}.trust-strip .container{grid-template-columns:1fr 1fr}.trust-item{font-size:11px;padding-left:15px}
  .section{padding:70px 0}.section-heading h2,.section-title h2,.content-copy h2,.cta-inner h2,.contact-copy h2{font-size:35px}.about-facts,.principles-grid,.service-index,.detail-cols,.project-scope{grid-template-columns:1fr}.capability-row{grid-template-columns:40px 1fr 28px;gap:14px}.capability-row p{grid-column:2/4}.project-copy{padding:28px}.project-copy h3{font-size:25px}.principle{min-height:auto}.cta-inner{align-items:flex-start;flex-direction:column}.detail-block{grid-template-columns:1fr;gap:14px;padding:48px 0}.detail-num{font-size:38px}.detail-content h2,.project-copy-detail h2{font-size:30px}.project-visual.large{min-height:320px}.contact-form-card{padding:26px}.contact-row{grid-template-columns:74px 1fr}.map-card{align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:1fr;gap:30px}.footer-bottom{flex-direction:column;gap:6px}.thank-card{padding:36px 24px}
}

/* 2026 vendor-first refresh */
.brand-logo{display:flex;align-items:center;min-width:230px}
.brand-logo img{display:block;width:255px;max-width:100%;height:auto}
.site-header .brand-logo img{height:54px;width:auto}
.footer-brand.brand-logo{width:max-content;background:#fff;padding:7px 10px;border-radius:10px}
.footer-brand.brand-logo img{height:48px;width:auto}

.simple-hero{background:#f7f8f8;border-bottom:1px solid var(--line)}
.simple-hero-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:75px;align-items:center;padding:92px 0}
.simple-hero-copy h1{font-family:Manrope;font-size:clamp(44px,5.2vw,72px);line-height:1.04;letter-spacing:-.055em;color:var(--navy);max-width:850px;margin:16px 0 24px}
.simple-hero-copy>p{font-size:18px;line-height:1.75;color:#53616e;max-width:760px;margin:0}
.hero-info-card{background:#fff;border:1px solid #dfe5e5;border-radius:18px;padding:30px;box-shadow:0 14px 40px rgba(10,32,50,.07)}
.hero-info-card>strong{display:block;font-family:Manrope;font-size:21px;color:var(--navy);margin-bottom:14px}
.hero-info-card>div{display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:start;padding:15px 0;border-top:1px solid var(--line)}
.hero-info-card span{font-size:10px;font-weight:800;color:var(--teal-dark);padding-top:4px}
.hero-info-card p{font-size:13px;line-height:1.55;color:#4d5a66;margin:0}
.plain-section{padding:88px 0;background:#fff}
.simple-heading{max-width:830px;margin-bottom:42px}.simple-heading.compact{margin-bottom:30px}
.simple-heading>span{display:block;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-dark);margin-bottom:12px}
.simple-heading h2{font-family:Manrope;font-size:clamp(34px,4vw,48px);line-height:1.12;letter-spacing:-.045em;color:var(--navy);margin:0 0 16px}
.simple-heading p{font-size:15px;line-height:1.75;color:var(--muted);margin:0}
.simple-services{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.simple-services article{border:1px solid #dde3e3;border-radius:15px;padding:30px;background:#fafbfb}
.service-icon{width:42px;height:42px;border-radius:10px;background:#e4f3f1;color:var(--teal-dark);display:grid;place-items:center;font-size:11px;font-weight:800;margin-bottom:22px}
.simple-services h3{font-family:Manrope;font-size:22px;color:var(--navy);margin:0 0 10px}
.simple-services p{font-size:13px;line-height:1.7;color:#596773;min-height:90px}
.simple-services a{font-size:12px;font-weight:800;color:var(--teal-dark)}
.home-projects{padding:88px 0;background:#f4f6f6;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.project-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.project-summary-grid a{display:block;background:#fff;border:1px solid #dde3e3;border-radius:14px;padding:26px;transition:.2s ease}
.project-summary-grid a:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(10,32,50,.07)}
.project-summary-grid strong{display:block;font-family:Manrope;font-size:20px;color:var(--navy);margin-bottom:5px}
.project-summary-grid span{display:block;color:var(--teal-dark);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}
.project-summary-grid p{font-size:13px;color:#5a6874;margin:10px 0 0}
.center-action{text-align:center;margin-top:28px}
.why-simple{padding:90px 0;background:#fff}
.why-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:75px}
.why-grid h2{font-family:Manrope;font-size:clamp(34px,4vw,48px);line-height:1.12;letter-spacing:-.045em;color:var(--navy);margin:14px 0 0}
.why-points>div{padding:22px 0;border-top:1px solid var(--line)}
.why-points>div:last-child{border-bottom:1px solid var(--line)}
.why-points strong{font-family:Manrope;color:var(--navy);font-size:17px}
.why-points p{font-size:13px;line-height:1.7;color:#5c6873;margin:7px 0 0}
.simple-page-hero{padding:78px 0 66px;background:#f7f8f8}
.simple-page-hero h1{max-width:980px;font-size:clamp(42px,5vw,62px)}
.readable-projects .section{padding:82px 0}
.project-story-grid{display:grid;grid-template-columns:280px 1fr;gap:70px;align-items:start}
.project-side{position:sticky;top:115px;border-top:3px solid var(--teal);padding-top:22px}
.project-number{display:block;font-family:Manrope;font-size:46px;font-weight:800;letter-spacing:-.05em;color:#d1d9db;margin-bottom:25px}
.project-location{font-family:Manrope;font-size:24px;line-height:1.2;font-weight:800;color:var(--navy)}
.project-type{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--teal-dark);margin-top:8px}
.partner-line{font-size:12px;color:#63717d;margin-top:26px;border-top:1px solid var(--line);padding-top:15px}
.project-story-content{max-width:830px}
.project-story-content h2{font-family:Manrope;font-size:clamp(31px,3.5vw,44px);line-height:1.15;letter-spacing:-.04em;color:var(--navy);margin:0 0 22px}
.project-story-content>p{font-size:15px;line-height:1.85;color:#53616d;margin:0 0 16px}
.project-story-content h3{font-family:Manrope;font-size:18px;color:var(--navy);margin:34px 0 10px}
.readable-list{display:grid;grid-template-columns:1fr 1fr;gap:0 28px;border-top:1px solid var(--line)}
.readable-list span{position:relative;font-size:13px;line-height:1.55;color:#4e5d69;padding:13px 8px 13px 20px;border-bottom:1px solid var(--line)}
.readable-list span:before{content:"";position:absolute;left:0;top:20px;width:6px;height:6px;border-radius:50%;background:var(--teal)}
.plain-result{margin-top:28px;background:#eef6f5;border-radius:12px;padding:20px 22px}
.plain-result strong{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--teal-dark);margin-bottom:6px}
.plain-result p{font-size:13px;line-height:1.7;color:#52626d;margin:0}

@media(max-width:980px){
  .simple-hero-grid,.why-grid{grid-template-columns:1fr;gap:40px}.simple-hero-grid{padding:70px 0}.hero-info-card{max-width:620px}.project-story-grid{grid-template-columns:220px 1fr;gap:45px}
}
@media(max-width:760px){
  .brand-logo{min-width:0}.site-header .brand-logo img{height:45px}.simple-hero-grid{padding:52px 0}.simple-hero-copy h1{font-size:42px}.simple-hero-copy>p{font-size:15px}.simple-services,.project-summary-grid,.readable-list{grid-template-columns:1fr}.simple-services p{min-height:auto}.plain-section,.home-projects,.why-simple,.readable-projects .section{padding:62px 0}.project-story-grid{grid-template-columns:1fr;gap:26px}.project-side{position:static}.project-number{font-size:34px;margin-bottom:12px}.simple-page-hero{padding:58px 0 48px}.footer-brand.brand-logo img{height:44px}
}

/* Final gallery and client update */
.four-col{grid-template-columns:repeat(4,1fr)}
.footer-small{display:block;color:#91a2b1;font-size:12px;margin-top:8px}
.client-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.client-card{background:#fff;border:1px solid #dde3e3;border-radius:16px;padding:24px;box-shadow:0 10px 24px rgba(10,32,50,.05)}
.client-card strong{display:block;font-family:Manrope;font-size:20px;line-height:1.25;color:var(--navy);margin-bottom:8px}
.client-card p{font-size:13px;line-height:1.7;color:#5a6874;margin:0}
.client-note{font-size:12px;color:#6b7782;margin:18px 0 0}
.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.team-card{background:#fff;border:1px solid #dde3e3;border-radius:18px;overflow:hidden;box-shadow:0 12px 28px rgba(10,32,50,.05)}
.team-card img{display:block;width:100%;aspect-ratio:4/4;object-fit:cover;background:#eef2f4}
.team-copy{padding:24px}
.team-copy h3{font-family:Manrope;font-size:26px;color:var(--navy);margin:0 0 6px}
.team-copy .role{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.09em;color:var(--teal-dark);margin:0 0 10px}
.team-copy p{font-size:14px;line-height:1.75;color:#5b6974;margin:0}
.large-team-card img{aspect-ratio:4/3}
.gallery-preview-section{padding-top:70px}
.mini-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.mini-gallery-grid img{display:block;width:100%;height:245px;object-fit:cover;border-radius:16px;border:1px solid #dde3e3;background:#eef2f4}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.gallery-card{background:#fff;border:1px solid #dde3e3;border-radius:16px;overflow:hidden;box-shadow:0 10px 24px rgba(10,32,50,.05);margin:0}
.gallery-card img{display:block;width:100%;height:260px;object-fit:cover;background:#eef2f4}
.gallery-card figcaption{padding:14px 16px;font-size:13px;line-height:1.6;color:#586571}
.gallery-note{font-size:12px;line-height:1.7;color:#68757f;margin-top:18px}
.service-stack{display:grid;gap:22px}
.service-panel{background:#fff;border:1px solid #dde3e3;border-radius:18px;padding:28px 30px;box-shadow:0 10px 24px rgba(10,32,50,.04)}
.service-panel-head{display:grid;grid-template-columns:72px 1fr;gap:18px;align-items:start;margin-bottom:18px}
.service-panel-head span{width:62px;height:62px;border-radius:16px;background:#e4f3f1;color:var(--teal-dark);display:grid;place-items:center;font-size:18px;font-weight:800}
.service-panel-head h2{font-family:Manrope;font-size:32px;line-height:1.12;color:var(--navy);margin:2px 0 8px}
.service-panel-head p{font-size:15px;line-height:1.75;color:#576570;margin:0}
.muted-bg{background:#f7f8f8}
.home-hero-clean .hero-info-card div:first-of-type{border-top:1px solid var(--line)}

@media(max-width:980px){
  .four-col,.client-grid,.gallery-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .four-col,.client-grid,.team-grid,.mini-gallery-grid,.gallery-grid{grid-template-columns:1fr}
  .service-panel{padding:22px}
  .service-panel-head{grid-template-columns:56px 1fr;gap:14px}
  .service-panel-head span{width:52px;height:52px;font-size:16px}
  .service-panel-head h2{font-size:26px}
  .gallery-card img,.mini-gallery-grid img{height:230px}
}

/* Attractive homepage and updated contact/team layout */
.site-header .brand-logo img{height:64px;width:auto;max-width:100%;object-fit:contain}
.footer-brand.brand-logo{background:#fff;border-radius:12px;padding:8px 10px}
.footer-brand.brand-logo img{height:54px;width:auto;object-fit:contain}

.attractive-hero{position:relative;background:linear-gradient(135deg,#f3f7f9 0%,#eef5f4 55%,#f9fbfb 100%);padding:42px 0 58px;overflow:hidden}
.attractive-hero:before{content:"";position:absolute;right:-120px;top:-120px;width:360px;height:360px;border-radius:50%;background:rgba(47,167,157,.10)}
.attractive-hero:after{content:"";position:absolute;left:-90px;bottom:-120px;width:280px;height:280px;border-radius:50%;background:rgba(18,56,91,.06)}
.attractive-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center}
.hero-content-card{background:rgba(255,255,255,.72);backdrop-filter:blur(6px);border:1px solid #e0e8e8;border-radius:26px;padding:40px 38px;box-shadow:0 18px 50px rgba(10,32,50,.08)}
.hero-content-card h1{font-family:Manrope;font-size:clamp(40px,5vw,66px);line-height:1.03;letter-spacing:-.05em;color:var(--navy);margin:14px 0 20px;max-width:760px}
.hero-content-card p{font-size:16px;line-height:1.85;color:#54636f;margin:0 0 22px}
.hero-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.hero-badges span{background:#fff;border:1px solid #dbe5e5;border-radius:999px;padding:10px 14px;font-size:12px;font-weight:700;color:#294256;box-shadow:0 8px 20px rgba(10,32,50,.04)}
.hero-visual-board{position:relative}
.hero-grid-images{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:160px;gap:14px}
.hero-grid-images img{display:block;width:100%;height:100%;object-fit:cover;border-radius:22px;border:1px solid #dce3e3;box-shadow:0 16px 40px rgba(10,32,50,.10);background:#eef2f4}
.hero-grid-images .hero-tall{grid-row:span 2}
.hero-grid-images .hero-wide{grid-column:span 2}
.hero-floating-note{position:absolute;left:18px;bottom:18px;max-width:270px;background:#12385B;color:#fff;border-radius:18px;padding:18px 18px 16px;box-shadow:0 16px 36px rgba(8,24,39,.22)}
.hero-floating-note strong{display:block;font-family:Manrope;font-size:18px;margin-bottom:6px}
.hero-floating-note p{font-size:13px;line-height:1.65;color:#d9e6f0;margin:0}
.trust-bar{background:#0d2740;color:#fff;padding:18px 0}
.trust-bar-inner{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.trust-bar-inner div{padding:4px 0 4px 16px;border-left:2px solid rgba(111,210,204,.45)}
.trust-bar-inner strong{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#6fd2cc;margin-bottom:4px}
.trust-bar-inner span{display:block;font-size:14px;line-height:1.5;color:#ecf3f7}
.split-showcase{display:grid;grid-template-columns:1.05fr .95fr;gap:34px;align-items:center}
.showcase-list{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0 24px}
.showcase-list div{background:#fff;border:1px solid #dce3e3;border-radius:14px;padding:18px}
.showcase-list strong{display:block;font-family:Manrope;font-size:18px;color:var(--navy);margin-bottom:6px}
.showcase-list p{font-size:13px;line-height:1.7;color:#5a6874;margin:0}
.showcase-photo-stack{display:grid;gap:16px}
.showcase-photo-stack img{display:block;width:100%;height:260px;object-fit:cover;border-radius:18px;border:1px solid #dce3e3;box-shadow:0 12px 30px rgba(10,32,50,.08)}
.team-grid-three{grid-template-columns:repeat(3,1fr)}
.contact-hero-top{padding-bottom:54px}
.contact-team-section{padding-bottom:10px}
.contact-section .contact-copy,.contact-section .contact-form-card{align-self:stretch}

@media(max-width:980px){
  .attractive-hero-grid,.split-showcase{grid-template-columns:1fr;gap:28px}
  .trust-bar-inner,.team-grid-three{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .site-header .brand-logo img{height:50px}
  .attractive-hero{padding:24px 0 42px}
  .hero-content-card{padding:28px 22px;border-radius:20px}
  .hero-content-card h1{font-size:38px}
  .hero-content-card p{font-size:15px}
  .hero-grid-images{grid-template-columns:1fr;grid-auto-rows:220px}
  .hero-grid-images .hero-tall,.hero-grid-images .hero-wide{grid-row:auto;grid-column:auto}
  .hero-floating-note{position:static;margin-top:14px;max-width:none}
  .trust-bar-inner,.showcase-list,.team-grid-three{grid-template-columns:1fr}
  .showcase-photo-stack img{height:230px}
}

/* Compact homepage revision */
.compact-home-hero{padding:30px 0 38px}
.compact-home-hero .hero-content-card{padding:34px 34px}
.compact-home-hero .hero-grid-images{grid-auto-rows:135px}
.compact-home-hero .hero-content-card h1{font-size:clamp(38px,4.5vw,58px)}
.compact-home-hero .hero-content-card p{font-size:15px;line-height:1.75}
.home-overview-strip{background:#0d2740;color:#fff;padding:24px 0}
.home-overview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.home-overview-grid article{display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:start}
.home-overview-grid article>span{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:rgba(111,210,204,.14);color:#6fd2cc;font-size:10px;font-weight:800}
.home-overview-grid strong{display:block;font-family:Manrope;font-size:17px;margin-bottom:4px}
.home-overview-grid p{font-size:12px;line-height:1.55;color:#cad6df;margin:0}
.compact-home-section{padding:54px 0;background:#fff;border-bottom:1px solid var(--line)}
.compact-home-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}
.compact-home-heading>div>span{display:block;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-dark);margin-bottom:8px}
.compact-home-heading h2{font-family:Manrope;font-size:clamp(28px,3vw,40px);letter-spacing:-.04em;color:var(--navy);margin:0}
.compact-home-heading>a{font-size:12px;font-weight:800;color:var(--teal-dark);white-space:nowrap}
.compact-home-heading.no-link{margin-bottom:18px}
.compact-service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.compact-service-grid a{display:block;border:1px solid #dde3e3;border-radius:14px;padding:20px;background:#fafbfb;transition:.2s ease}
.compact-service-grid a:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(10,32,50,.06)}
.compact-service-grid a>span{display:block;font-size:10px;font-weight:800;color:var(--teal-dark);margin-bottom:14px}
.compact-service-grid strong{display:block;font-family:Manrope;font-size:18px;color:var(--navy);margin-bottom:6px}
.compact-service-grid p{font-size:12px;line-height:1.6;color:#5d6974;margin:0}
.home-locations-section{background:#f6f8f8}
.home-location-client-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.location-pills{display:flex;flex-wrap:wrap;gap:10px}
.location-pills span{display:inline-flex;gap:6px;align-items:center;border:1px solid #dce3e3;background:#fff;border-radius:999px;padding:10px 13px;font-size:12px;color:#586672}
.location-pills strong{color:var(--navy)}
.compact-client-list{display:grid;gap:9px}
.compact-client-list>div{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff;border:1px solid #dde3e3;border-radius:12px;padding:13px 15px}
.compact-client-list strong{font-family:Manrope;font-size:14px;color:var(--navy)}
.compact-client-list span{font-size:11px;color:#6a7882;text-align:right}
.home-why-cta{background:#eef6f5;padding:34px 0}
.home-why-grid{display:grid;grid-template-columns:1fr 1.25fr auto;gap:24px;align-items:center}
.home-why-grid h2{font-family:Manrope;font-size:30px;line-height:1.15;color:var(--navy);margin:8px 0 0}
.home-why-points{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px}
.home-why-points span{position:relative;padding-left:16px;font-size:12px;color:#4f5f6a}
.home-why-points span:before{content:"";position:absolute;left:0;top:6px;width:6px;height:6px;border-radius:50%;background:var(--teal)}

@media(max-width:980px){
  .compact-service-grid{grid-template-columns:1fr 1fr}
  .home-location-client-grid{grid-template-columns:1fr}
  .home-why-grid{grid-template-columns:1fr;align-items:start}
}
@media(max-width:760px){
  .compact-home-hero{padding:18px 0 28px}
  .compact-home-hero .hero-content-card{padding:24px 20px}
  .compact-home-hero .hero-grid-images{grid-auto-rows:190px}
  .home-overview-grid,.compact-service-grid,.home-why-points{grid-template-columns:1fr}
  .compact-home-section{padding:42px 0}
  .compact-home-heading{align-items:flex-start;flex-direction:column;gap:10px}
  .compact-client-list>div{align-items:flex-start;flex-direction:column;gap:4px}
  .compact-client-list span{text-align:left}
}

/* Final professional brightness + typography polish */
:root{
  --navy:#173B57;
  --navy-2:#24536F;
  --ink:#263A49;
  --muted:#647786;
  --paper:#F3F8FB;
  --paper-2:#FFFFFF;
  --white:#FFFFFF;
  --teal:#259A93;
  --teal-dark:#18766F;
  --line:#DCE8EE;
  --warm:#D95B54;
  --coral:#D95B54;
  --shadow:0 16px 44px rgba(24,59,87,.10);
}
body{background:#fff;color:var(--ink)}
.site-header{background:rgba(255,255,255,.96);border-bottom:1px solid #e2ebef}
nav a.active:after{background:var(--coral)}
.nav-cta{border-color:var(--coral);color:var(--coral);background:#fff}
.nav-cta:hover{background:var(--coral);color:#fff}
.btn-primary{background:var(--coral);color:#fff}
.btn-primary:hover{background:#BE4842;color:#fff}
.eyebrow{color:#257D89}
.attractive-hero{background:linear-gradient(135deg,#F7FBFD 0%,#EEF8F8 58%,#FFF8F7 100%)}
.hero-content-card{background:rgba(255,255,255,.88);border-color:#dce9ee}
.hero-badges span{border-color:#dbe8ed;color:#365061}
.hero-floating-note{background:#173B57}
.home-overview-strip,.trust-bar{background:#173B57}
.home-why-cta{background:#F0F8F7}
.home-locations-section,.muted-bg{background:#F5F9FB}
.compact-service-grid a,.client-card,.service-panel,.gallery-card,.showcase-list div{border-color:#dce8ee;background:#fff}
.service-icon,.service-panel-head span{background:#E6F5F3;color:#18766F}
.readable-list span:before,.home-why-points span:before{background:var(--coral)}
.project-side{border-top-color:var(--coral)}
.plain-result{background:#F0F7F9}
.cta-band{background:#173B57}
footer{background:#102B41}

/* Services & Projects: smaller, calmer headings */
.simple-page-hero{padding:52px 0 44px;background:linear-gradient(180deg,#F7FBFD,#F3F8FB)}
.simple-page-hero h1{max-width:900px;font-size:clamp(32px,3.7vw,46px);line-height:1.12;letter-spacing:-.035em;margin:14px 0 14px}
.simple-page-hero p{max-width:800px;font-size:15px;line-height:1.75;color:var(--muted);margin:0}
.service-stack{gap:16px}
.service-panel{padding:24px 26px;border-radius:15px}
.service-panel-head{grid-template-columns:58px 1fr;gap:16px;margin-bottom:14px}
.service-panel-head span{width:50px;height:50px;border-radius:12px;font-size:15px}
.service-panel-head h2{font-size:26px;line-height:1.2;letter-spacing:-.025em;margin:0 0 6px}
.service-panel-head p{font-size:14px;line-height:1.65}
.detail-cols{gap:38px;margin-top:24px}
.detail-cols h4{font-size:12px}
.detail-cols li{font-size:13px;padding-top:8px;padding-bottom:8px}
.readable-projects .section{padding:62px 0}
.project-story-grid{grid-template-columns:230px 1fr;gap:50px}
.project-number{font-size:36px;margin-bottom:16px}
.project-location{font-size:21px}
.project-story-content h2{font-size:clamp(25px,2.7vw,34px);line-height:1.2;letter-spacing:-.025em;margin-bottom:16px}
.project-story-content>p{font-size:14px;line-height:1.8}
.project-story-content h3{font-size:17px;margin-top:26px}
.partner-line{margin-top:18px}
.gallery-grid{grid-template-columns:repeat(3,1fr)}
.gallery-card img{height:285px}
.gallery-note{font-weight:600;color:#607582}

@media(max-width:760px){
  .simple-page-hero{padding:40px 0 34px}
  .simple-page-hero h1{font-size:31px}
  .service-panel{padding:20px}
  .service-panel-head{grid-template-columns:46px 1fr}
  .service-panel-head span{width:42px;height:42px}
  .service-panel-head h2{font-size:22px}
  .project-story-content h2{font-size:25px}
  .project-location{font-size:20px}
  .gallery-grid{grid-template-columns:1fr}
  .gallery-card img{height:260px}
}

/* ===== Image resolution + responsive alignment fix ===== */
/* Keep every visual inside a controlled frame. Source image dimensions must never control page height. */
.hero-visual-board,
.hero-grid-images,
.gallery-card,
.team-card,
.team-card img,
.gallery-card img{
  min-width:0;
}

/* HOME COLLAGE */
.compact-home-hero .hero-visual-board{
  width:100%;
  max-width:540px;
  justify-self:end;
}
.compact-home-hero .hero-grid-images{
  width:100%;
  height:390px;
  grid-template-columns:1.05fr .95fr;
  grid-template-rows:1fr 1fr;
  grid-auto-rows:unset;
  gap:12px;
  overflow:hidden;
  border-radius:22px;
}
.compact-home-hero .hero-grid-images img{
  width:100%;
  height:100%;
  min-height:0;
  max-height:none;
  object-fit:cover;
  object-position:center;
  border-radius:16px;
}
.compact-home-hero .hero-grid-images .hero-tall{
  grid-column:1;
  grid-row:1 / span 2;
}
.compact-home-hero .hero-grid-images .hero-wide{
  grid-column:2;
  grid-row:2;
}
.compact-home-hero .hero-grid-images img:nth-child(2){grid-column:2;grid-row:1}
.compact-home-hero .hero-grid-images img:nth-child(3){grid-column:2;grid-row:2}
.compact-home-hero .hero-grid-images .hero-wide{display:none}

/* GALLERY: uniform landscape cards instead of full-height portrait images */
.gallery-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  align-items:start;
}
.gallery-card{
  width:100%;
  max-width:100%;
  overflow:hidden;
}
.gallery-card img{
  width:100%;
  height:auto;
  aspect-ratio:4 / 3;
  max-height:280px;
  object-fit:cover;
  object-position:center;
}

/* CONTACT TEAM: controlled portrait thumbnails */
.contact-team-section .team-grid-three{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.contact-team-section .team-card{
  display:flex;
  flex-direction:column;
  height:100%;
}
.contact-team-section .team-card img{
  width:100%;
  height:250px;
  aspect-ratio:auto;
  object-fit:cover;
  object-position:center 18%;
}
.contact-team-section .team-card:nth-child(2) img{object-position:center 28%}
.contact-team-section .team-card:nth-child(3) img{object-position:center 20%}
.contact-team-section .team-copy{padding:20px}
.contact-team-section .team-copy h3{font-size:22px}
.contact-team-section .team-copy p{font-size:13px}

/* Prevent any image elsewhere from growing beyond its component */
main img{max-width:100%;}

@media(max-width:980px){
  .compact-home-hero .hero-visual-board{max-width:680px;justify-self:start}
  .compact-home-hero .hero-grid-images{height:350px}
  .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .contact-team-section .team-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}
  .contact-team-section .team-card img{height:220px}
}

@media(max-width:760px){
  /* Keep collage as a collage on phones instead of stacking four huge images */
  .compact-home-hero .hero-grid-images{
    height:270px;
    grid-template-columns:1.08fr .92fr;
    grid-template-rows:1fr 1fr;
    gap:8px;
    border-radius:16px;
  }
  .compact-home-hero .hero-grid-images img{border-radius:12px}
  .compact-home-hero .hero-floating-note{margin-top:10px;padding:14px 15px}

  /* Two small gallery tiles per row on mobile */
  .gallery-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
  .gallery-card img{
    height:auto;
    max-height:none;
    aspect-ratio:1 / 1;
  }
  .gallery-card figcaption{
    padding:10px 11px;
    font-size:11px;
    line-height:1.45;
  }

  /* Team becomes compact horizontal cards so portraits never fill the screen */
  .contact-team-section .team-grid-three{
    grid-template-columns:1fr;
    gap:14px;
  }
  .contact-team-section .team-card{
    display:grid;
    grid-template-columns:108px minmax(0,1fr);
    align-items:stretch;
  }
  .contact-team-section .team-card img{
    width:108px;
    height:138px;
    border-radius:0;
    object-fit:cover;
    object-position:center 18%;
  }
  .contact-team-section .team-copy{padding:15px 14px}
  .contact-team-section .team-copy h3{font-size:18px;margin-bottom:4px}
  .contact-team-section .team-copy .role{font-size:9px;line-height:1.45;margin-bottom:7px}
  .contact-team-section .team-copy p{font-size:11px;line-height:1.55}
}

@media(max-width:420px){
  .compact-home-hero .hero-grid-images{height:235px}
  .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .contact-team-section .team-card{grid-template-columns:96px minmax(0,1fr)}
  .contact-team-section .team-card img{width:96px;height:128px}
}

/* Kerala reconductoring + upcoming locations */
.upcoming-pill{border-style:dashed!important;background:#fff7f7!important;color:#8f2630!important}
.upcoming-projects-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px;align-items:start}
.upcoming-projects-grid h2{font-family:Manrope;font-size:clamp(30px,3.4vw,42px);line-height:1.12;letter-spacing:-.04em;color:var(--navy);margin:12px 0 0}
.upcoming-projects-grid p{font-size:15px;line-height:1.8;color:#53616d;margin:0 0 14px}
@media(max-width:760px){.upcoming-projects-grid{grid-template-columns:1fr;gap:18px}}
