/* TEKMILA v7 — supplied full-page artwork is the layout master.
   Existing hero, feature, statistics, division photography and careers assets preserved. */
:root{--v7-green:#b7ef00;--v7-ink:#061b2d;--v7-blue:#32597d;--v7-surface:#fafcff}
body{overflow-x:hidden}
.header-inner{max-width:1410px}
.main-navigation{gap:25px}
.header-quote{margin-left:36px}
.hero{background-color:#062439}
.divisions-section{padding-bottom:35px;background:linear-gradient(#fbfcff,#fcfdff)}
.divisions-header{max-width:1402px;width:calc(100% - 124px);gap:30px}
.division-headings{flex:0 0 auto}
.divisions-explainer{font-size:16px;line-height:1.45;color:#0d243e;border-left:1.5px solid #8293a4;margin:6px 0 0 auto;padding:0 0 0 35px;max-width:444px;min-height:57px;display:flex;align-items:center}
.explore-all{flex:none;margin:0 0 0 3px}
.division-list{margin-top:24px}
/* A dark About/Integrated Capabilities strip was removed at user request; this is the NEW approved light Why TEKMILA section. */
.why-tekmila{position:relative;isolation:isolate;overflow:hidden;border-top:1px solid #e4edf4;border-bottom:1px solid #e4edf4;background:linear-gradient(110deg,#fff 0%,#f8fbff 56%,#f4f9fd 100%);padding:37px 0 42px}
.why-tekmila::before{content:"";position:absolute;inset:0 0 0 auto;width:39%;z-index:-1;opacity:.075;background:url('../assets/images/division-civil-mobile.webp') center/cover no-repeat;filter:grayscale(1)}
.why-tekmila::after{content:"";position:absolute;z-index:-1;left:-10%;right:-10%;bottom:-56%;height:80%;border-radius:50%;border:2px solid #d5dfe7;transform:rotate(-7deg);opacity:.45}
.why-inner{max-width:1402px;width:calc(100% - 144px);margin:0 auto;display:grid;grid-template-columns:42% minmax(0,1fr);gap:4%;align-items:center}
.v7-eyebrow{display:flex;align-items:center;gap:12px;font-weight:800;font-size:14px;letter-spacing:2.2px;color:#0b2134;line-height:1.4;margin:0 0 16px}
.v7-eyebrow span{display:block;width:32px;height:6px;background:#b5f300;border-radius:1px;flex:none}
.why-copy h2{font-size:clamp(36px,3.6vw,52px);line-height:1.08;letter-spacing:-1.7px;font-weight:850;margin:0 0 17px}
.why-copy h2 em{font-style:normal;color:#68c315}
.why-copy>p:not(.v7-eyebrow){font-size:17px;line-height:1.52;max-width:535px;color:#102a45;margin:0 0 23px}
.why-link{height:46px;min-width:230px;justify-content:space-between;padding:0 19px;font-size:14px}
.why-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
.why-card{display:flex;align-items:center;gap:20px;min-height:140px;padding:21px 24px;background:linear-gradient(125deg,#fff 0%,#f8fbff 100%);border:1px solid #eef3f6;border-radius:14px;box-shadow:0 9px 22px rgba(31,69,97,.12)}
.why-icon{display:grid;place-items:center;flex:0 0 64px;width:64px;height:64px;border-radius:11px;background:linear-gradient(135deg,#e7fbb2,#f0ffd5);color:#164d07}
.why-icon svg{width:39px;height:39px;stroke:currentColor;stroke-width:2.8;stroke-linejoin:round;stroke-linecap:round;fill:none}
.why-icon-people svg{stroke-width:2.5}
.why-card h3{font-size:19px;line-height:1.24;letter-spacing:-.6px;margin:0 0 8px;font-weight:810}
.why-card p{font-size:14.3px;line-height:1.4;color:#2b5685;margin:0}
/* The latest screenshot uses a shorter careers visual; retain the approved engineers image. */
.careers-showcase{min-height:354px}
.careers-shell{min-height:354px}
.careers-story{padding-top:36px}
.careers-story h2{margin:16px 0 13px}
.careers-lead{margin-bottom:19px}
.careers-cta{height:51px}
.careers-engineer-photo{background-size:100% 100%}
.career-benefits{padding-top:32px;gap:17px}
.career-benefit{min-height:69px}
/* Reference: Featured Projects is AFTER Careers and has one headline row, no standalone summary. */
.projects-showcase{min-height:0;padding:34px 0 46px;background:#fafcff}
.projects-shell{max-width:1402px;width:calc(100% - 122px);margin:0 auto}
.projects-intro{display:flex;justify-content:space-between;align-items:center;min-height:0;margin-bottom:22px;gap:18px}
.projects-title-group{padding-left:0}
.projects-title-group h2{font-size:clamp(31px,3vw,46px);line-height:1.13;white-space:normal;margin:8px 0 0;letter-spacing:-1.5px}
.projects-title-group h2 span{color:#69c21b;background:none;-webkit-text-fill-color:initial}
.projects-all{margin:17px 0 0;width:230px;height:45px;flex:none}
.projects-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}
.project-card{border-radius:13px}
.project-image-link{height:180px}
.project-copy{min-height:116px;padding:18px 61px 20px 19px}
.project-copy h3{font-size:18px;line-height:1.24;margin:0 0 7px}
.project-copy p{font-size:13.7px;line-height:1.44;color:#2c5b8c}
.project-round-link{right:15px;top:19px;width:38px;height:38px;background:#e7f9b8}
.project-round-link:hover{background:#c4ef48}
/* FAQ split intro + accordion rows, exactly five questions. */
.faq-section{background:linear-gradient(110deg,#fbfcff,#f8fbff);padding:34px 0 52px;border-top:1px solid #edf2f8}
.faq-inner{max-width:1402px;width:calc(100% - 140px);margin:0 auto;display:grid;grid-template-columns:29% minmax(0,1fr);gap:6%}
.faq-intro h2{font-weight:850;line-height:1.0;letter-spacing:-1.7px;font-size:clamp(33px,3.4vw,49px);margin:0 0 14px}
.faq-intro>p:not(.v7-eyebrow){font-size:15.5px;max-width:300px;line-height:1.42;color:#233b55;margin:0 0 19px}
.faq-all{background:#f1fada;border-color:#b1df36;color:#559500;justify-content:space-between;padding:0 19px;height:44px;min-width:182px;font-size:13px}
.faq-all:hover{background:#e4f7bc}
.faq-list{padding-top:2px;display:flex;flex-direction:column;gap:10px}
.faq-list details{background:#fff;border:1px solid #edf2f7;border-radius:12px;box-shadow:0 5px 15px rgba(20,51,77,.10);overflow:hidden}
.faq-list summary{list-style:none;display:flex;justify-content:space-between;gap:18px;align-items:center;min-height:53px;padding:0 23px;font-size:16px;line-height:1.4;font-weight:750;letter-spacing:-.35px;color:#0a1929;cursor:pointer}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary span{position:relative;width:19px;height:19px;flex:none}
.faq-list summary span::before,.faq-list summary span::after{content:"";position:absolute;top:8px;left:3px;width:14px;height:2px;border-radius:1px;background:#0a1c2e;transition:transform .2s}
.faq-list summary span::after{transform:rotate(90deg)}
.faq-list details[open] summary span::after{transform:rotate(0)}
.faq-list details>p{margin:0;padding:0 23px 18px;max-width:760px;font-size:14px;line-height:1.6;color:#31597f}
.faq-list details>p a{text-decoration:underline;text-underline-offset:3px;color:#1b7296}
/* The wide industrial CTA and four-column footer are exactly the additional blocks in the latest reference. */
.next-cta{position:relative;isolation:isolate;overflow:hidden;max-width:1492px;width:calc(100% - 44px);min-height:168px;margin:0 auto 30px;border-radius:12px;background:linear-gradient(90deg,#062339 0%,#064067 62%,#063a5b 100%);display:flex;align-items:center;gap:27px;padding:22px 48px;color:#fff;box-shadow:0 10px 30px #18334a14}
.next-cta::before{content:"";position:absolute;z-index:-1;inset:0 0 0 auto;width:49%;background-image:linear-gradient(90deg,#064067 0%,#064067ad 23%,transparent 65%),url('../assets/images/cta-industrial-reference.webp');background-size:cover;background-position:center right;opacity:1}
.next-cta::after{content:"";position:absolute;z-index:-1;background:var(--v7-green);height:280px;width:93px;top:-62px;right:-48px;transform:skewX(-31deg)}
.cta-chat-icon{width:88px;height:88px;flex:0 0 88px;color:#c9fb00}
.cta-chat-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:3;stroke-linejoin:round;stroke-linecap:round}
.cta-chat-icon circle{fill:currentColor;stroke:none}
.cta-copy{max-width:720px;position:relative;z-index:1}
.cta-copy h2{font-size:clamp(28px,3vw,43px);font-weight:850;line-height:1.1;letter-spacing:-1.1px;margin:0 0 7px;white-space:nowrap}
.cta-copy h2 span{color:#bef500}
.cta-copy p{font-size:15.5px;line-height:1.45;max-width:610px;margin:0}
.cta-button{margin-left:auto;z-index:1;flex:none;height:49px;padding:0 25px;background:#b8f500;font-size:14px;box-shadow:0 8px 21px #041f3f44}
.site-footer{display:block;padding:0;background:#f9fcff;color:#081725;font-size:14px;position:relative;overflow:hidden}
.site-footer::before{content:"";position:absolute;inset:auto -15% 46px -15%;height:150px;pointer-events:none;opacity:.45;background:repeating-radial-gradient(ellipse at 65% 130%,transparent 0,transparent 14px,#b6d4e0 15px,#b6d4e0 16px,transparent 17px,transparent 25px);-webkit-mask-image:linear-gradient(to top,#000,transparent);mask-image:linear-gradient(to top,#000,transparent)}
.footer-inner{width:calc(100% - 142px);max-width:1400px;margin:0 auto;padding:37px 0 50px;display:grid;grid-template-columns:29% 16% 28% 27%;position:relative;z-index:1}
.footer-inner>div{padding:0 27px;min-width:0}
.footer-inner>div:first-child{padding-left:0;border-right:1px solid #bbc9d7}
.footer-inner>div:nth-child(3){border-right:1px solid #bbc9d7}
.footer-company img{width:205px;height:auto;display:block;object-fit:contain;object-position:left}
.footer-tagline{font-weight:600;font-size:11px;line-height:1.4;margin:1px 0 20px 64px}
.footer-description{font-size:14px;max-width:300px;line-height:1.48;margin:0}
.footer-inner h3{font-size:15px;font-weight:800;margin:0 0 12px}
.footer-links a{display:block;font-size:13.7px;line-height:1.65;max-width:max-content}
.footer-links a:hover,.footer-bottom a:hover,.footer-contact a:hover{color:#4d980b;text-decoration:underline}
.footer-contact p{display:flex;align-items:flex-start;gap:13px;font-size:13.7px;line-height:1.48;margin:0 0 20px}
.footer-contact svg{width:23px;height:23px;flex:0 0 23px;fill:#7dcc00;stroke:#7dcc00;stroke-width:1.5}
.footer-contact p:last-child svg{fill:none;stroke-width:2.7}
.footer-bottom{border-top:1px solid #c9dce7;position:relative;z-index:1;max-width:none;min-height:75px;padding:24px max(30px,calc((100vw - 1400px)/2));display:flex;align-items:flex-start;justify-content:space-between;gap:22px;font-size:12px}
.footer-bottom nav{display:flex;flex-wrap:wrap;gap:0}
.footer-bottom nav a{padding:0 14px;border-right:1px solid #839fb0;white-space:nowrap}
.footer-bottom nav a:first-child{padding-left:0}
.footer-bottom nav a:last-child{border-right:0}
.footer-bottom p{margin:0;white-space:nowrap}
.profile-dialog{border:0;border-radius:15px;padding:34px 40px 40px;max-width:min(520px,calc(100% - 28px));color:#10293c;background:#fff;box-shadow:0 20px 65px #03172c66}
.profile-dialog::backdrop{background:#03192bc7;backdrop-filter:blur(3px)}
.profile-dialog h2{font-size:28px;letter-spacing:-.7px;line-height:1.15;margin:0 0 18px}.profile-dialog h2 span{color:#71bb10}
.profile-dialog p{line-height:1.6;color:#244b6c}.profile-dialog .profile-note{background:#f3f8ed;padding:12px 15px;border-radius:8px;font-size:13px}
.profile-dialog .button{padding:14px 20px;margin-top:12px}
.profile-close{position:absolute;top:12px;right:12px;border:none;background:#ecf2f6;color:#173047;width:34px;height:34px;cursor:pointer;border-radius:50%;font-size:23px}
@media(max-width:1370px){
 .main-navigation{gap:17px}.header-quote{margin-left:22px}
 .divisions-header{width:calc(100% - 90px);gap:22px}.divisions-explainer{max-width:390px;font-size:14px;padding-left:24px}
 .why-inner{width:calc(100% - 90px)}.why-card{padding:20px 17px;gap:15px}.why-icon{width:55px;flex-basis:55px;height:55px}.why-card h3{font-size:17px}.why-copy h2{font-size:42px}
 .projects-shell{width:calc(100% - 90px)}.faq-inner{width:calc(100% - 90px)}.footer-inner{width:calc(100% - 90px)}
}
@media(max-width:1150px){
 .divisions-header{flex-wrap:wrap}.division-headings{flex:1 1 50%}.divisions-explainer{flex:1 1 37%;margin:0}.explore-all{margin-left:0}
 .why-inner{gap:26px;grid-template-columns:40% minmax(0,1fr)}.why-card{min-height:117px;padding:16px;gap:12px}.why-card h3{font-size:15px}.why-card p{font-size:12px}.why-copy h2{font-size:37px}.why-copy>p:not(.v7-eyebrow){font-size:15px}
 .projects-title-group h2{font-size:34px}.projects-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.project-copy h3{font-size:16px}.project-copy p{font-size:12.5px}.project-image-link{height:160px}
 .footer-inner{grid-template-columns:29% 19% 28% 24%}.footer-inner>div{padding:0 16px}.footer-description,.footer-links a,.footer-contact p{font-size:12px}
}
@media(max-width:850px){
 .header-inner{width:calc(100% - 32px)}
 .divisions-header{width:calc(100% - 45px)}.division-headings{flex:1 1 100%}.divisions-explainer{flex:1 1 auto;max-width:none;min-height:auto;border-left:0;border-top:1px solid #e0e8ef;padding:12px 0 0}
 .why-inner{width:calc(100% - 52px);grid-template-columns:1fr;gap:30px}.why-copy h2{font-size:clamp(32px,5.5vw,46px)}.why-copy>p:not(.v7-eyebrow){max-width:750px}
 .why-cards{gap:15px}.why-card h3{font-size:18px}.why-card p{font-size:13px}.why-tekmila{padding:44px 0}
 .projects-showcase{padding:40px 0 44px}.projects-shell{width:calc(100% - 55px)}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.project-card:last-child{grid-column:1/-1;width:calc(50% - 7px);justify-self:center}.project-image-link{height:175px}.project-copy{min-height:105px}.project-copy h3{font-size:16px}.project-copy p{font-size:13px}
 .faq-inner{width:calc(100% - 58px);grid-template-columns:32% 1fr;gap:4%}.faq-intro h2{font-size:35px}.faq-list summary{font-size:14px;min-height:54px}
 .next-cta{width:calc(100% - 35px);padding:26px 26px;gap:18px}.cta-chat-icon{width:65px;height:65px;flex-basis:65px}.cta-copy h2{font-size:30px}.cta-copy p{font-size:13px}.cta-button{height:44px;padding:0 14px;font-size:12px}
 .footer-inner{grid-template-columns:1fr 1fr;row-gap:38px}.footer-inner>div:nth-child(2){border-right:1px solid #bbc9d7}.footer-inner>div:nth-child(3){border:0}.footer-bottom{padding:25px 30px;flex-wrap:wrap}
}
@media(max-width:600px){
 .divisions-section{padding-bottom:35px}.divisions-header{display:flex;gap:10px;width:calc(100% - 36px)}.divisions-explainer{font-size:13px}.explore-all{margin:8px 0 0}
 .why-tekmila{padding:35px 0 38px}.why-inner{width:calc(100% - 36px)}.why-copy h2{font-size:clamp(31px,8.1vw,39px);letter-spacing:-1.2px}.why-copy h2 br:first-child{display:none}.why-copy>p:not(.v7-eyebrow){font-size:14.3px}.v7-eyebrow{font-size:11px;letter-spacing:1.9px;margin-bottom:12px}.v7-eyebrow span{height:5px;width:28px}
 .why-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.why-card{padding:14px 11px;align-items:flex-start;flex-direction:column;min-height:155px}.why-icon{width:44px;height:44px;flex-basis:44px}.why-icon svg{width:26px;height:26px}.why-card h3{font-size:14px;margin-bottom:5px}.why-card p{font-size:11.2px}.why-link{min-width:210px;height:43px}
 .careers-showcase{min-height:0}.careers-shell{min-height:0}.careers-story{padding-top:37px}
 .projects-shell{width:calc(100% - 34px)}.projects-intro{display:block;margin-bottom:23px}.projects-title-group h2{font-size:clamp(28px,7vw,35px);line-height:1.1;letter-spacing:-.9px}.projects-all{width:195px;margin:16px 0 0}.projects-grid{grid-template-columns:1fr;gap:18px}.project-card:last-child{grid-column:auto;width:100%}.project-image-link{height:190px}.project-copy{padding:15px 54px 20px 18px;min-height:90px}.project-copy h3{font-size:18px}.project-copy p{font-size:13px}.project-round-link{right:14px;top:17px}
 .faq-section{padding:34px 0 44px}.faq-inner{grid-template-columns:1fr;width:calc(100% - 36px);gap:28px}.faq-intro h2{font-size:38px}.faq-intro h2 br{display:none}.faq-intro>p:not(.v7-eyebrow){max-width:100%;font-size:14px;margin-bottom:15px}.faq-list{gap:9px}.faq-list summary{font-size:13.4px;min-height:58px;padding:9px 15px}.faq-list details>p{font-size:12.7px;padding:0 15px 15px}
 .next-cta{width:calc(100% - 24px);min-height:250px;margin-bottom:20px;padding:25px 21px;display:grid;grid-template-columns:50px minmax(0,1fr);align-content:center;row-gap:10px}.next-cta::before{width:100%;opacity:.7;background-image:linear-gradient(90deg,#06324ee6,#06324ea0),url('../assets/images/cta-industrial-reference.webp')}.cta-chat-icon{width:48px;height:48px;grid-row:1}.cta-copy{grid-column:2;grid-row:1}.cta-copy h2{font-size:clamp(23px,6.1vw,30px);white-space:normal}.cta-copy p{font-size:12.2px}.cta-button{grid-column:2;justify-self:start;margin:9px 0 0;height:42px;font-size:12px}
 .footer-inner{width:calc(100% - 40px);padding:33px 0;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 12px}.footer-inner>div{padding:0 12px}.footer-inner>div:first-child{padding-left:0}.footer-inner>div:nth-child(2){border:0}.footer-inner>div:nth-child(3){padding-left:0}.footer-inner h3{font-size:14px}.footer-company img{width:160px}.footer-tagline{margin-left:47px;font-size:9px}.footer-description{font-size:12px}.footer-links a,.footer-contact p{font-size:11.4px}.footer-contact svg{width:18px;height:18px;flex-basis:18px}.footer-contact p{gap:7px}
 .footer-bottom{padding:20px;gap:14px;font-size:10px}.footer-bottom nav a{padding:0 8px}.footer-bottom p{white-space:normal}
}
@media(max-width:380px){.why-cards{gap:9px}.why-card h3{font-size:13px}.footer-inner{grid-template-columns:1fr 1fr}.footer-company img{width:135px}}
@media(prefers-reduced-motion:reduce){.faq-list summary span::after{transition:none}}

/* v7 mobile audit: contain grid min-content and retain readable FAQ heading line breaks. */
.faq-inner > *{min-width:0}
@media(max-width:600px){.faq-intro h2 br{display:block}.faq-list{min-width:0}.faq-list details{min-width:0}.faq-list summary{overflow-wrap:break-word}}

/* Compact laptop/tablet navigation: no sideways overflow between 851–1100px. */
.mobile-quote-link{display:none}
@media(max-width:1100px){
 .site-header{height:72px}.header-inner{width:calc(100% - 40px)}
 .mobile-nav-toggle{display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin-left:auto;background:#f0f4f6;border:1px solid #e4ebee;border-radius:7px;cursor:pointer}
 .mobile-nav-toggle svg{stroke:#082339;stroke-width:2;fill:none;stroke-linecap:round;width:24px;height:24px}
 .main-navigation{display:none;position:absolute;top:72px;left:0;width:100%;background:#fff;box-shadow:0 12px 30px #071c2a36;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:10px 24px 20px}
 .main-navigation[data-open=true]{display:flex}.nav-link{line-height:46px;font-size:15px;display:block}
 .nav-link.active::after{bottom:7px;right:auto;width:37px}.nav-dropdown-toggle{width:100%;justify-content:space-between}
 .dropdown-menu{position:static;box-shadow:none;border:0;padding:0 0 10px 10px;min-width:0}.header-quote{display:none}
 .mobile-quote-link{display:block;color:#235e00;font-weight:800}
}
