
:root{
  --mint:#91f5b3;
  --mint-soft:#b9ffd0;
  --turquoise:#62efcf;
  --cyan:#20dfe0;
  --cyan-deep:#10bfc5;
  --blue:#537f9d;
  --navy:#213c52;
  --navy-2:#152d40;
  --cream:#effbf8;
  --white:#ffffff;
  --text:#203846;
  --muted:#647d89;
  --line:rgba(33,60,82,.14);
  --container:min(1180px,calc(100% - 40px));
  --shadow:0 24px 70px rgba(21,45,64,.18)
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Manrope,sans-serif;color:var(--text);line-height:1.65;overflow-x:hidden}
body.menu-open{overflow:hidden}
a{text-decoration:none;color:inherit}
img{display:block;width:100%;object-fit:cover}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.container{width:var(--container);margin:auto}
.page-loader{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:var(--navy-2);transition:.4s}
.page-loader.hidden{opacity:0;visibility:hidden}
.page-loader div{width:88px;height:88px;display:grid;place-items:center;color:var(--white);border:2px solid rgba(255,255,255,.15);border-top-color:var(--turquoise);font-family:Oswald;font-weight:700;letter-spacing:.15em;animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.site-header{position:fixed;left:0;right:0;top:0;z-index:1000;color:var(--white);transition:.3s}
.site-header.scrolled{background:var(--white);color:var(--navy-2);box-shadow:0 10px 35px rgba(0,0,0,.08)}
.topbar{background:rgba(21,45,64,.86);border-bottom:1px solid rgba(255,255,255,.08);transition:.3s}
.site-header.scrolled .topbar{max-height:0;opacity:0;overflow:hidden}
.topbar-inner{height:34px;display:flex;align-items:center;justify-content:space-between;font-size:.72rem}
.topbar-links{display:flex;gap:26px}
.nav-inner{height:86px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:12px}
.brand-mark{width:42px;height:42px;display:grid;grid-template-columns:repeat(3,1fr);align-items:end;gap:3px;transform:skewY(-9deg)}
.brand-mark i{display:block;background:var(--turquoise)}
.brand-mark i:nth-child(1){height:55%}.brand-mark i:nth-child(2){height:78%}.brand-mark i:nth-child(3){height:100%}
.brand-copy{display:flex;flex-direction:column;line-height:1}
.brand-copy strong{font:700 1.42rem Oswald;letter-spacing:.07em}
.brand-copy small{margin-top:7px;font-size:.56rem;font-weight:800;letter-spacing:.2em}
.nav-menu{display:flex;align-items:center;gap:30px}
.nav-menu a{position:relative;font-size:.84rem;font-weight:800}
.nav-menu a:not(.nav-button)::after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:2px;background:var(--turquoise);transition:.25s}
.nav-menu a:hover::after,.nav-menu a.active::after{width:100%}
.nav-button{padding:13px 19px;background:var(--turquoise);color:var(--navy-2)}
.menu-toggle{display:none;width:45px;height:45px;border:0;background:transparent;color:inherit}
.menu-toggle span{display:block;width:27px;height:2px;margin:6px auto;background:currentColor}
.hero,.page-hero{position:relative;color:var(--white);background-position:center;background-size:cover;isolation:isolate}
.home-hero{min-height:100vh;display:flex;align-items:center;background-image:url("../images/ai/construction-services.png")}
.hero-shade,.page-hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(21,45,64,.96),rgba(33,60,82,.82) 48%,rgba(83,127,157,.32))}
.hero-grid{position:absolute;inset:0;z-index:-1;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:90px 90px;mask-image:linear-gradient(to right,#000,transparent 80%)}
.hero-layout{padding-top:150px;display:grid;grid-template-columns:1.45fr .55fr;align-items:end;gap:70px}
.eyebrow{margin-bottom:19px;color:var(--turquoise);font-size:.75rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.eyebrow.dark{color:var(--cyan-deep)}
h1,h2,h3{font-family:Oswald,sans-serif;text-transform:uppercase;line-height:1.08}
.hero h1{max-width:860px;font-size:clamp(3.5rem,7vw,6.7rem)}
.hero-copy>p:not(.eyebrow){max-width:690px;margin:28px 0 34px;color:rgba(255,255,255,.77);font-size:1.02rem}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.button{min-height:54px;display:inline-flex;align-items:center;justify-content:center;padding:0 25px;border:1px solid transparent;font-size:.82rem;font-weight:800;transition:.25s}
.button:hover{transform:translateY(-2px)}
.button-gold{background:var(--turquoise);color:var(--navy-2)}.button-ghost{border-color:rgba(255,255,255,.35);color:var(--white)}.button-ghost:hover{background:var(--white);color:var(--navy-2)}
.button-light{background:var(--white);color:var(--navy-2)}.button-dark{background:var(--navy-2);color:var(--white)}
.hero-proof{margin-top:52px;padding-top:23px;border-top:1px solid rgba(255,255,255,.18);display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.hero-proof div{display:flex;flex-direction:column}.hero-proof strong{font:600 1.05rem Oswald;text-transform:uppercase}.hero-proof span{font-size:.72rem;color:rgba(255,255,255,.55)}
.hero-panel{position:relative;padding:38px;background:rgba(21,24,27,.82);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(12px)}
.panel-index{position:absolute;right:20px;top:12px;color:rgba(255,255,255,.2);font:700 3.4rem Oswald}
.hero-panel>p{color:var(--turquoise);font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.hero-panel h2{margin:48px 0 40px;font-size:2rem}
.hero-panel a{padding-top:17px;border-top:1px solid rgba(255,255,255,.15);display:flex;justify-content:space-between;font-size:.8rem;font-weight:800}
.stats-band{background:var(--navy-2);color:var(--white)}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.stats-grid article{min-height:166px;padding:38px 28px;border-right:1px solid rgba(255,255,255,.1)}
.stats-grid article:first-child{border-left:1px solid rgba(255,255,255,.1)}
.stats-grid strong,.stats-grid b{font:600 2.7rem Oswald;color:var(--turquoise)}
.stats-grid span{display:block;color:rgba(255,255,255,.6);font-size:.78rem}
.section{padding:120px 0}.cream-section{background:var(--cream)}.dark-section{background:var(--navy);color:var(--white)}
.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:95px}
.media-stack{position:relative;padding:0 0 42px 42px}.media-stack:before{content:"";position:absolute;left:0;bottom:0;width:60%;height:60%;z-index:-1;background:var(--turquoise)}
.main-image{height:620px}
.media-label{position:absolute;right:-25px;bottom:0;width:245px;padding:28px;background:var(--navy-2);color:var(--white);box-shadow:var(--shadow)}
.media-label span{display:block;color:rgba(255,255,255,.55);font-size:.7rem;text-transform:uppercase;letter-spacing:.13em}.media-label strong{display:block;margin-top:7px;font:600 1.4rem Oswald;text-transform:uppercase}
.content h2,.section-head h2,.narrow h2,.contact-information h2,.project-story h2,.profile-story h2{font-size:clamp(2.6rem,5vw,4.5rem)}
.content>p:not(.eyebrow),.narrow>p:not(.eyebrow),.contact-information>p:not(.eyebrow),.project-story>p:not(.eyebrow),.profile-story>p:not(.eyebrow){margin-top:22px;color:var(--muted)}
.dark-section .content>p:not(.eyebrow){color:rgba(255,255,255,.6)}
.tick-grid{margin:32px 0;display:grid;grid-template-columns:repeat(2,1fr);gap:15px 22px}.tick-grid span{position:relative;padding-left:27px;font-size:.84rem;font-weight:700}.tick-grid span:before{content:"✓";position:absolute;left:0;color:var(--cyan-deep)}
.arrow-link{display:inline-flex;gap:12px;align-items:center;padding-bottom:5px;border-bottom:1px solid currentColor;font-size:.8rem;font-weight:800}
.section-head{margin-bottom:56px;display:flex;align-items:end;justify-content:space-between;gap:48px}.section-head>p{max-width:430px;color:rgba(255,255,255,.58)}
.section-head.dark-heading{color:var(--text)}.section-head.dark-heading>p{color:var(--muted)}
.service-preview-grid{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid rgba(255,255,255,.12);border-top:1px solid rgba(255,255,255,.12)}
.service-preview{min-height:400px;position:relative;padding:34px;border-right:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);transition:.3s}
.service-preview:hover{background:var(--turquoise);color:var(--navy-2);transform:translateY(-5px)}
.service-preview>span{position:absolute;right:25px;top:20px;color:rgba(255,255,255,.2);font:600 2.5rem Oswald}.service-preview:hover>span{color:rgba(21,24,27,.2)}
.service-preview i{display:block;margin-top:38px;font-style:normal;font-size:2.6rem}.service-preview h3{margin:52px 0 14px;font-size:1.42rem}.service-preview p{color:rgba(255,255,255,.56);font-size:.82rem}.service-preview:hover p{color:rgba(21,24,27,.68)}
.service-preview b{position:absolute;left:34px;right:34px;bottom:28px;padding-top:15px;border-top:1px solid rgba(255,255,255,.14);font-size:.76rem}
.project-showcase{display:grid;grid-template-columns:1.25fr .75fr;grid-template-rows:repeat(2,350px);gap:22px}.project-tile{position:relative;overflow:hidden;color:var(--white)}.project-tile.large{grid-row:1/3}.project-tile img{height:100%;transition:.65s}.project-tile:hover img{transform:scale(1.05)}
.project-tile:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(9,11,13,.88),transparent 65%)}
.project-tile>div{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:28px}.project-tile span{color:var(--turquoise);font-size:.67rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.project-tile h3{font-size:1.6rem}.project-tile b{position:absolute;right:28px;bottom:30px}
.cta{padding:78px 0;background:var(--cyan-deep);color:var(--white)}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:45px}.cta h2{font-size:clamp(2.5rem,5vw,4.3rem)}.cta p:not(.eyebrow){color:rgba(255,255,255,.72)}
.page-hero{min-height:68vh;display:flex;align-items:end;padding:190px 0 95px}
.page-hero .container{max-width:930px;margin-left:max(20px,calc((100vw - 1180px)/2))}
.page-hero h1{font-size:clamp(3.3rem,7vw,6rem)}.page-hero .container>p:not(.eyebrow){max-width:690px;margin-top:23px;color:rgba(255,255,255,.75)}
.about-hero{background-image:url("../images/ai/hero-office.png")}
.services-hero{background-image:url("../images/ai/project-collaboration.png")}
.projects-hero{background-image:url("../images/ai/construction-services.png")}
.project-detail-hero{background-image:url("../images/ai/project-architecture.png")}
.team-hero{background-image:url("../images/ai/hero-office.png")}
.contact-hero{background-image:url("../images/ai/engineering-planning.png")}
.value-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.value-card{min-height:330px;padding:36px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--white)}.value-card span{font:600 2.4rem Oswald;color:var(--turquoise)}.value-card h3{margin:46px 0 15px;font-size:1.6rem}.value-card p{color:var(--muted);font-size:.85rem}
.principle-list{margin-top:35px}.principle-list article{display:grid;grid-template-columns:50px 1fr;gap:18px;padding:21px 0;border-top:1px solid rgba(255,255,255,.12)}.principle-list article>span{color:var(--turquoise);font:600 1rem Oswald}.principle-list h3{font-size:1.2rem}.principle-list p{color:rgba(255,255,255,.55);font-size:.82rem}
.full-image{position:relative}.full-image img{height:650px}.image-badge{position:absolute;left:-35px;bottom:35px;width:240px;padding:28px;background:var(--turquoise);color:var(--navy-2)}.image-badge strong{display:block;font:600 2rem Oswald}.image-badge span{font-size:.72rem;font-weight:700}
.narrow{max-width:850px}.intro-section{text-align:center}.intro-section .narrow{margin:auto}.intro-section h2{max-width:760px;margin:auto}.intro-section p:last-child{font-size:1rem}
.service-detail{padding:90px 0}.service-detail.alternate{background:var(--cream)}.service-detail-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:85px}.service-detail.alternate .service-detail-image{order:2}.service-detail-image img{height:530px}.service-detail-copy{position:relative}.service-count{position:absolute;right:0;top:-20px;color:rgba(21,24,27,.08);font:700 6rem Oswald}.service-detail-copy h2{font-size:clamp(2.5rem,5vw,4rem)}.service-detail-copy>p:not(.eyebrow){margin:20px 0;color:var(--muted)}.service-detail-copy ul{list-style:none;border-top:1px solid var(--line)}.service-detail-copy li{padding:13px 0 13px 28px;border-bottom:1px solid var(--line);position:relative;font-size:.84rem;font-weight:700}.service-detail-copy li:before{content:"✓";position:absolute;left:0;color:var(--cyan-deep)}
.filter-bar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:45px}.filter-bar button{padding:12px 18px;border:1px solid var(--line);background:transparent;font-size:.78rem;font-weight:800}.filter-bar button.active,.filter-bar button:hover{background:var(--navy-2);color:var(--white)}
.portfolio-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:35px}.portfolio-card{background:var(--white);transition:.3s}.portfolio-card.hidden{display:none}.portfolio-image{height:400px;overflow:hidden}.portfolio-image img{height:100%;transition:.6s}.portfolio-card:hover img{transform:scale(1.04)}.portfolio-copy{padding:27px}.portfolio-copy span{color:var(--cyan-deep);font-size:.67rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.portfolio-copy h2{margin:5px 0;font-size:1.75rem}.portfolio-copy p{color:var(--muted);font-size:.8rem}.portfolio-copy a{display:inline-block;margin-top:18px;font-size:.78rem;font-weight:800}
.project-summary{display:grid;grid-template-columns:.65fr 1.35fr;gap:80px}.project-facts{border-top:1px solid var(--line)}.project-facts div{padding:18px 0;border-bottom:1px solid var(--line)}.project-facts span{display:block;color:var(--muted);font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.project-facts strong{font-size:.86rem}.project-gallery{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:repeat(2,420px);gap:2px;background:var(--white)}.project-gallery img{height:100%}.project-gallery img:first-child{grid-row:1/3}.large-ticks{margin:35px 0}.large-ticks span{font-size:.92rem}
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.team-card{background:var(--white)}.team-photo{height:360px}.placeholder-photo{display:grid;place-items:center;background:linear-gradient(135deg,#282d31,#121416);color:var(--turquoise)}.placeholder-photo span{font:700 4.2rem Oswald;letter-spacing:.08em}.team-card>div:last-child{padding:25px}.team-card p{color:var(--cyan-deep);font-size:.65rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.team-card h3{margin:5px 0 15px;font-size:1.45rem}.team-card a{font-size:.75rem;font-weight:800}
.profile-hero{padding:190px 0 90px;background:var(--navy-2);color:var(--white)}.profile-layout{display:grid;grid-template-columns:390px 1fr;align-items:center;gap:75px}.profile-photo{height:440px}.profile-intro h1{font-size:clamp(3.5rem,7vw,6rem)}.profile-intro>p:not(.eyebrow){color:rgba(255,255,255,.62)}
.profile-content{display:grid;grid-template-columns:.65fr 1.35fr;gap:80px}.profile-sidebar{border-top:1px solid var(--line)}.profile-sidebar div{padding:18px 0;border-bottom:1px solid var(--line)}.profile-sidebar span{display:block;color:var(--muted);font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.profile-sidebar strong,.profile-sidebar a{font-size:.86rem}.profile-story h3{margin-top:35px;font-size:1.25rem}.profile-story ul{margin:16px 0 35px;padding-left:20px;color:var(--muted)}
.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.contact-list{margin-top:35px}.contact-list div{padding:18px 0;border-bottom:1px solid var(--line)}.contact-list span{display:block;color:var(--muted);font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.contact-list strong,.contact-list a{font-size:.86rem}.map-placeholder{margin-top:35px;padding:40px;background:var(--navy-2);color:var(--white)}.map-placeholder span{color:var(--turquoise);font-size:.7rem;font-weight:800;letter-spacing:.14em}.map-placeholder strong{display:block;margin-top:12px;font:600 1.6rem Oswald;text-transform:uppercase}.map-placeholder p{color:rgba(255,255,255,.55);font-size:.8rem}
.contact-form{padding:42px;background:var(--cream)}.contact-form h2{margin-bottom:28px;font-size:2.1rem}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.contact-form label{display:block;margin-bottom:18px;font-size:.73rem;font-weight:800}.contact-form input,.contact-form select,.contact-form textarea{width:100%;margin-top:8px;padding:14px 15px;border:1px solid rgba(21,24,27,.14);background:var(--white);outline:0}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--turquoise);box-shadow:0 0 0 3px rgba(199,139,43,.11)}.contact-form textarea{resize:vertical}.form-message{margin-top:12px;font-size:.78rem;font-weight:700;color:var(--cyan-deep)}
.site-footer{padding:82px 0 26px;background:var(--navy-2);color:rgba(255,255,255,.68)}.footer-grid{display:grid;grid-template-columns:1.6fr repeat(3,.75fr);gap:50px}.brand-footer{color:var(--white)}.footer-about p{max-width:390px;margin-top:23px;color:rgba(255,255,255,.48);font-size:.8rem}.footer-column{display:flex;flex-direction:column;gap:11px}.footer-column h3{margin-bottom:9px;color:var(--white);font-size:1rem}.footer-column a,.footer-column p{font-size:.76rem}.footer-column a:hover{color:var(--turquoise)}.footer-bottom{margin-top:65px;padding-top:22px;border-top:1px solid rgba(255,255,255,.09);display:flex;justify-content:space-between;font-size:.68rem}.footer-bottom div{display:flex;gap:22px}
.back-to-top{position:fixed;right:22px;bottom:22px;z-index:800;width:45px;height:45px;border:0;background:var(--turquoise);opacity:0;visibility:hidden;transition:.25s}.back-to-top.visible{opacity:1;visibility:visible}
.reveal{opacity:0;transform:translateY(30px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}
@media(max-width:1050px){.nav-menu{gap:20px}.hero-layout,.split,.contact-layout,.service-detail-grid{gap:50px}.service-preview-grid{grid-template-columns:repeat(2,1fr)}.team-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){
.topbar{display:none}.site-header{background:rgba(15,17,19,.9)}.site-header.scrolled{background:var(--white)}.nav-inner{height:74px}.menu-toggle{display:block}.nav-menu{position:fixed;top:74px;right:-100%;width:min(360px,88vw);height:calc(100vh - 74px);padding:35px;display:flex;flex-direction:column;align-items:stretch;gap:0;background:var(--white);color:var(--navy-2);box-shadow:-20px 0 50px rgba(0,0,0,.14);transition:.3s}.nav-menu.open{right:0}.nav-menu a{padding:15px 0;border-bottom:1px solid var(--line)}.nav-menu .nav-button{margin-top:22px;text-align:center;padding:14px}
.home-hero{min-height:auto;padding:110px 0 80px}.hero-layout{padding-top:40px;grid-template-columns:1fr}.hero-panel{max-width:520px}.stats-grid{grid-template-columns:repeat(2,1fr)}.section{padding:88px 0}.split,.service-detail-grid,.contact-layout,.project-summary,.profile-content,.profile-layout{grid-template-columns:1fr}.service-detail.alternate .service-detail-image{order:0}.section-head{align-items:flex-start;flex-direction:column}.project-showcase{grid-template-columns:1fr;grid-template-rows:repeat(3,420px)}.project-tile.large{grid-row:auto}.value-grid{grid-template-columns:1fr}.portfolio-grid{grid-template-columns:1fr}.project-gallery{grid-template-columns:1fr;grid-template-rows:repeat(3,380px)}.project-gallery img:first-child{grid-row:auto}.team-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr)}.page-hero .container{margin:auto}.cta-inner{align-items:flex-start;flex-direction:column}
}
@media(max-width:560px){
:root{--container:min(100% - 28px,1180px)}.brand-copy strong{font-size:1.18rem}.brand-copy small{font-size:.47rem}.hero h1,.page-hero h1{font-size:3rem}.hero-actions{flex-direction:column}.hero-actions .button{width:100%}.hero-proof,.stats-grid,.service-preview-grid,.tick-grid,.form-row,.team-grid,.footer-grid{grid-template-columns:1fr}.stats-grid article,.stats-grid article:first-child{border-left:0;border-right:0;border-bottom:1px solid rgba(255,255,255,.1)}.section{padding:72px 0}.content h2,.section-head h2,.narrow h2,.contact-information h2,.project-story h2,.profile-story h2{font-size:2.5rem}.media-stack{padding:0 0 28px 28px}.main-image{height:440px}.media-label{right:0;width:215px}.project-showcase{grid-template-rows:repeat(3,340px)}.service-detail{padding:70px 0}.service-detail-image img{height:400px}.portfolio-image{height:330px}.team-photo{height:330px}.profile-photo{height:380px}.contact-form{padding:25px 19px}.footer-bottom{flex-direction:column}
}


/* Uploaded Ebalcom logo */
.brand{
  display:flex;
  align-items:center;
  flex-shrink:0;
}
.brand-logo{
  display:block;
  width:190px;
  height:58px;
  object-fit:contain;
  object-position:left center;
}
.brand-footer .brand-logo{
  width:215px;
  height:66px;
}
.site-header:not(.scrolled) .brand-logo{
  filter:drop-shadow(0 3px 12px rgba(0,0,0,.18));
}

/* Logo-driven accents */
.nav-button,
.button-gold,
.back-to-top{
  background:linear-gradient(135deg,var(--mint),var(--cyan));
  color:var(--navy-2);
}
.button-gold:hover,
.nav-button:hover{
  background:linear-gradient(135deg,var(--cyan),var(--turquoise));
}
.hero-panel,
.media-label{
  background:rgba(21,45,64,.88);
}
.stats-band,
.dark-section{
  background:var(--navy-2);
}
.cream-section,
.contact-form{
  background:var(--cream);
}
.cta{
  background:linear-gradient(135deg,var(--blue),var(--navy));
}
.value-card,
.portfolio-card{
  box-shadow:0 16px 45px rgba(33,60,82,.08);
}
.service-preview:hover{
  background:linear-gradient(145deg,var(--mint),var(--cyan));
}
.service-preview:hover p{
  color:rgba(21,45,64,.78);
}
.page-loader{
  background:var(--navy-2);
}
.page-loader div{
  border-top-color:var(--cyan);
}
.map-placeholder{
  background:linear-gradient(145deg,var(--navy),var(--navy-2));
}
.placeholder-photo{
  background:linear-gradient(145deg,var(--blue),var(--navy-2));
  color:var(--mint);
}

@media(max-width:560px){
  .brand-logo{
    width:145px;
    height:48px;
  }
  .brand-footer .brand-logo{
    width:180px;
    height:58px;
  }
}


/* High-contrast readability corrections */
.hero,
.page-hero,
.profile-hero {
  color: #ffffff;
}

.hero h1,
.hero h2,
.page-hero h1,
.page-hero h2,
.profile-hero h1,
.profile-hero h2 {
  color: #ffffff;
  text-shadow: 0 3px 24px rgba(9, 29, 42, 0.42);
}

.page-hero .container > p:not(.eyebrow),
.hero-copy > p:not(.eyebrow),
.profile-intro > p:not(.eyebrow) {
  color: rgba(255, 255, 255, 0.9);
  text-shadow: 0 2px 12px rgba(9, 29, 42, 0.4);
}

.page-hero .eyebrow,
.hero .eyebrow,
.profile-hero .eyebrow {
  color: #86ffd3;
  text-shadow: 0 2px 10px rgba(9, 29, 42, 0.45);
}

.site-header:not(.scrolled) .nav-menu > a:not(.nav-button) {
  color: #ffffff;
  text-shadow: 0 2px 10px rgba(9, 29, 42, 0.55);
}

.site-header:not(.scrolled) .topbar {
  color: rgba(255, 255, 255, 0.88);
}

.site-header.scrolled .nav-menu > a:not(.nav-button) {
  color: var(--navy-2);
  text-shadow: none;
}

.site-header:not(.scrolled) .menu-toggle {
  color: #ffffff;
}

.page-hero-shade,
.hero-shade {
  background:
    linear-gradient(
      90deg,
      rgba(12, 39, 57, 0.97) 0%,
      rgba(21, 60, 80, 0.88) 48%,
      rgba(38, 77, 99, 0.58) 100%
    );
}

.page-hero .container,
.hero-copy,
.profile-intro {
  position: relative;
  z-index: 2;
}

.team-hero .page-hero-shade {
  background:
    linear-gradient(
      90deg,
      rgba(10, 38, 57, 0.98) 0%,
      rgba(21, 60, 80, 0.91) 50%,
      rgba(35, 75, 99, 0.66) 100%
    );
}

.nav-button {
  color: var(--navy-2) !important;
  text-shadow: none !important;
}

@media (max-width: 820px) {
  .site-header:not(.scrolled) .nav-menu > a:not(.nav-button) {
    color: var(--navy-2);
    text-shadow: none;
  }
}


/* =========================================================
   PREMIUM MOTION SYSTEM
   ========================================================= */

:root{
  --ease-premium:cubic-bezier(.22,1,.36,1);
  --ease-smooth:cubic-bezier(.65,0,.35,1);
  --motion-fast:.28s;
  --motion-medium:.65s;
  --motion-slow:1.05s;
}

/* Page entrance and exit */
.page-transition{
  position:fixed;
  inset:0;
  z-index:9998;
  pointer-events:none;
  display:grid;
  grid-template-columns:repeat(3,1fr);
}
.page-transition span{
  display:block;
  height:100%;
  background:linear-gradient(180deg,var(--navy-2),var(--navy));
  transform:scaleY(0);
  transform-origin:bottom;
}
.page-transition span:nth-child(2){
  background:linear-gradient(180deg,var(--blue),var(--navy));
}
.page-transition span:nth-child(3){
  background:linear-gradient(180deg,var(--cyan-deep),var(--navy));
}
.page-transition.is-leaving span{
  animation:pageCurtainIn .72s var(--ease-premium) forwards;
}
.page-transition.is-leaving span:nth-child(2){animation-delay:.07s}
.page-transition.is-leaving span:nth-child(3){animation-delay:.14s}
.page-transition.is-entering span{
  transform:scaleY(1);
  transform-origin:top;
  animation:pageCurtainOut .82s var(--ease-premium) forwards;
}
.page-transition.is-entering span:nth-child(2){animation-delay:.07s}
.page-transition.is-entering span:nth-child(3){animation-delay:.14s}

@keyframes pageCurtainIn{
  from{transform:scaleY(0)}
  to{transform:scaleY(1)}
}
@keyframes pageCurtainOut{
  from{transform:scaleY(1)}
  to{transform:scaleY(0)}
}

/* Header motion */
.site-header{
  transition:
    background .4s var(--ease-premium),
    color .4s var(--ease-premium),
    box-shadow .4s var(--ease-premium),
    transform .4s var(--ease-premium);
}
.site-header.header-hidden{
  transform:translateY(-100%);
}
.nav-menu a{
  transition:
    color var(--motion-fast) ease,
    transform var(--motion-fast) var(--ease-premium),
    background var(--motion-fast) ease;
}
.nav-menu a:hover{
  transform:translateY(-2px);
}
.nav-button{
  position:relative;
  overflow:hidden;
}
.nav-button::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.38),transparent);
  transform:translateX(-120%);
  transition:transform .7s var(--ease-premium);
}
.nav-button:hover::before{
  transform:translateX(120%);
}
.brand-logo{
  transition:transform .45s var(--ease-premium),filter .45s ease;
}
.brand:hover .brand-logo{
  transform:translateY(-2px) scale(1.025);
  filter:drop-shadow(0 8px 18px rgba(32,223,224,.22));
}

/* Hero entrance */
.hero-copy > *,
.page-hero .container > *,
.profile-intro > *{
  opacity:0;
  transform:translateY(28px);
  animation:heroRise .9s var(--ease-premium) forwards;
}
.hero-copy > *:nth-child(1),
.page-hero .container > *:nth-child(1),
.profile-intro > *:nth-child(1){animation-delay:.15s}
.hero-copy > *:nth-child(2),
.page-hero .container > *:nth-child(2),
.profile-intro > *:nth-child(2){animation-delay:.28s}
.hero-copy > *:nth-child(3),
.page-hero .container > *:nth-child(3),
.profile-intro > *:nth-child(3){animation-delay:.41s}
.hero-copy > *:nth-child(4){animation-delay:.54s}
.hero-copy > *:nth-child(5){animation-delay:.67s}

@keyframes heroRise{
  to{opacity:1;transform:translateY(0)}
}

.hero-panel{
  animation:panelReveal 1s .55s var(--ease-premium) both;
}
@keyframes panelReveal{
  from{opacity:0;transform:translateX(38px) rotateY(-6deg)}
  to{opacity:1;transform:translateX(0) rotateY(0)}
}

/* Background drift */
.hero,
.page-hero{
  background-attachment:fixed;
  transition:background-position 1s var(--ease-premium);
}
.hero::after,
.page-hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(circle at 18% 20%,rgba(145,245,179,.12),transparent 28%),
    radial-gradient(circle at 82% 70%,rgba(32,223,224,.12),transparent 30%);
  animation:ambientGlow 8s ease-in-out infinite alternate;
}
@keyframes ambientGlow{
  from{opacity:.45;transform:scale(1)}
  to{opacity:.9;transform:scale(1.08)}
}

/* Scroll reveal variants */
.reveal{
  opacity:0;
  transform:translateY(44px);
  filter:blur(7px);
  transition:
    opacity .9s var(--ease-premium),
    transform .9s var(--ease-premium),
    filter .9s var(--ease-premium);
  will-change:transform,opacity;
}
.reveal.visible{
  opacity:1;
  transform:none;
  filter:blur(0);
}
.reveal.reveal-left{
  transform:translateX(-48px);
}
.reveal.reveal-right{
  transform:translateX(48px);
}
.reveal.reveal-scale{
  transform:scale(.94);
}
.reveal.reveal-left.visible,
.reveal.reveal-right.visible,
.reveal.reveal-scale.visible{
  transform:none;
}

/* Button interactions */
.button,
.arrow-link,
.service-preview,
.project-tile,
.portfolio-card,
.team-card,
.value-card{
  transition:
    transform .45s var(--ease-premium),
    box-shadow .45s var(--ease-premium),
    border-color .35s ease,
    background .35s ease,
    color .35s ease;
}
.button{
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.button::after{
  content:"";
  position:absolute;
  width:20px;
  height:20px;
  border-radius:50%;
  background:rgba(255,255,255,.34);
  top:50%;
  left:50%;
  transform:translate(-50%,-50%) scale(0);
  transition:transform .55s var(--ease-premium);
  z-index:-1;
}
.button:hover::after{
  transform:translate(-50%,-50%) scale(13);
}
.button:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 30px rgba(21,45,64,.2);
}
.arrow-link b{
  transition:transform .35s var(--ease-premium);
}
.arrow-link:hover b{
  transform:translateX(7px);
}

/* Card motion */
.service-preview{
  overflow:hidden;
}
.service-preview::after{
  content:"";
  position:absolute;
  inset:auto -40% -60% -40%;
  height:180px;
  border-radius:50%;
  background:rgba(255,255,255,.14);
  transform:translateY(100%);
  transition:transform .65s var(--ease-premium);
}
.service-preview:hover::after{
  transform:translateY(0);
}
.service-preview:hover{
  transform:translateY(-12px);
  box-shadow:0 24px 55px rgba(9,34,49,.28);
}
.value-card:hover,
.team-card:hover,
.portfolio-card:hover{
  transform:translateY(-10px);
  box-shadow:0 24px 55px rgba(33,60,82,.18);
}

/* Image zoom and tilt */
.project-tile,
.portfolio-image,
.media-stack,
.service-detail-image,
.full-image,
.team-photo{
  overflow:hidden;
}
.project-tile img,
.portfolio-image img,
.media-stack img,
.service-detail-image img,
.full-image img{
  transition:transform 1.1s var(--ease-premium),filter .8s ease;
}
.project-tile:hover img,
.portfolio-card:hover img,
.media-stack:hover img,
.service-detail-image:hover img,
.full-image:hover img{
  transform:scale(1.075);
  filter:saturate(1.08) contrast(1.03);
}
.project-tile > div{
  transition:transform .5s var(--ease-premium);
}
.project-tile:hover > div{
  transform:translateY(-8px);
}

/* Stats */
.stats-grid article{
  position:relative;
  overflow:hidden;
  transition:background .35s ease,transform .35s var(--ease-premium);
}
.stats-grid article::after{
  content:"";
  position:absolute;
  width:90px;
  height:90px;
  right:-45px;
  bottom:-45px;
  border-radius:50%;
  background:rgba(32,223,224,.12);
  transition:transform .55s var(--ease-premium);
}
.stats-grid article:hover{
  background:rgba(255,255,255,.035);
  transform:translateY(-5px);
}
.stats-grid article:hover::after{
  transform:scale(2.4);
}

/* Floating decorative motion */
.media-label,
.image-badge{
  animation:floatCard 4.8s ease-in-out infinite;
}
@keyframes floatCard{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-10px)}
}

/* Filter animation */
.portfolio-card{
  transform-origin:center;
}
.portfolio-card.filter-out{
  opacity:0;
  transform:scale(.88) translateY(20px);
}
.portfolio-card.filter-in{
  animation:filterIn .55s var(--ease-premium) both;
}
@keyframes filterIn{
  from{opacity:0;transform:scale(.9) translateY(18px)}
  to{opacity:1;transform:scale(1) translateY(0)}
}

/* Form fields */
.contact-form input,
.contact-form select,
.contact-form textarea{
  transition:
    border-color .25s ease,
    box-shadow .25s ease,
    transform .25s var(--ease-premium),
    background .25s ease;
}
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus{
  transform:translateY(-2px);
  background:#fff;
}
.contact-form button{
  transition:transform .35s var(--ease-premium),box-shadow .35s ease;
}

/* Footer links */
.footer-column a{
  position:relative;
  width:max-content;
  transition:color .25s ease,transform .25s var(--ease-premium);
}
.footer-column a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-3px;
  width:0;
  height:1px;
  background:var(--cyan);
  transition:width .3s var(--ease-premium);
}
.footer-column a:hover{
  transform:translateX(5px);
}
.footer-column a:hover::after{
  width:100%;
}

/* Back to top */
.back-to-top{
  transform:translateY(18px) scale(.92);
}
.back-to-top.visible{
  transform:translateY(0) scale(1);
}
.back-to-top:hover{
  transform:translateY(-5px) rotate(-4deg);
  box-shadow:0 14px 28px rgba(21,45,64,.25);
}

/* Stagger helpers */
.stagger-children > *{
  opacity:0;
  transform:translateY(28px);
}
.stagger-children.visible > *{
  animation:staggerRise .7s var(--ease-premium) forwards;
}
.stagger-children.visible > *:nth-child(1){animation-delay:.04s}
.stagger-children.visible > *:nth-child(2){animation-delay:.11s}
.stagger-children.visible > *:nth-child(3){animation-delay:.18s}
.stagger-children.visible > *:nth-child(4){animation-delay:.25s}
.stagger-children.visible > *:nth-child(5){animation-delay:.32s}
.stagger-children.visible > *:nth-child(6){animation-delay:.39s}
.stagger-children.visible > *:nth-child(7){animation-delay:.46s}
@keyframes staggerRise{
  to{opacity:1;transform:none}
}

/* Respect accessibility preferences */
@media(prefers-reduced-motion:reduce){
  *,
  *::before,
  *::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    scroll-behavior:auto !important;
    transition-duration:.01ms !important;
  }
  .hero,
  .page-hero{
    background-attachment:scroll;
  }
}

@media(max-width:820px){
  .hero,
  .page-hero{
    background-attachment:scroll;
  }
  .page-transition{
    grid-template-columns:repeat(2,1fr);
  }
  .page-transition span:nth-child(3){
    display:none;
  }
}


/* =========================================================
   COMPLETE MOTION & INTERACTION SYSTEM
   ========================================================= */

.scroll-progress{
  position:fixed;
  top:0;
  left:0;
  width:0;
  height:3px;
  z-index:10050;
  background:linear-gradient(90deg,var(--mint),var(--cyan),var(--blue));
  box-shadow:0 0 12px rgba(32,223,224,.65);
}

.custom-cursor{
  position:fixed;
  left:0;
  top:0;
  z-index:10020;
  width:18px;
  height:18px;
  border:1px solid rgba(32,223,224,.9);
  border-radius:50%;
  pointer-events:none;
  transform:translate(-50%,-50%);
  transition:
    width .25s var(--ease-premium),
    height .25s var(--ease-premium),
    background .25s ease,
    border-color .25s ease;
  mix-blend-mode:difference;
}
.custom-cursor span{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  font-size:.58rem;
  font-weight:800;
  letter-spacing:.08em;
  color:#fff;
  opacity:0;
  white-space:nowrap;
  transition:opacity .2s;
}
.custom-cursor.has-label{
  width:76px;
  height:76px;
  background:rgba(21,45,64,.86);
  border-color:var(--cyan);
  mix-blend-mode:normal;
}
.custom-cursor.has-label span{opacity:1}

.fullscreen-menu{
  position:fixed;
  inset:0;
  z-index:9900;
  pointer-events:none;
  visibility:hidden;
}
.fullscreen-menu.open{
  pointer-events:auto;
  visibility:visible;
}
.fullscreen-menu-bg{
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,var(--navy-2),var(--navy));
  clip-path:circle(0% at calc(100% - 48px) 48px);
  transition:clip-path .85s var(--ease-premium);
}
.fullscreen-menu.open .fullscreen-menu-bg{
  clip-path:circle(150% at calc(100% - 48px) 48px);
}
.fullscreen-menu-inner{
  position:relative;
  z-index:1;
  min-height:100%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  width:min(900px,calc(100% - 50px));
  margin:auto;
  opacity:0;
  transform:translateY(30px);
  transition:.55s .28s var(--ease-premium);
}
.fullscreen-menu.open .fullscreen-menu-inner{
  opacity:1;
  transform:none;
}
.menu-kicker{
  color:var(--cyan);
  font-size:.72rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.18em;
  margin-bottom:20px;
}
.fullscreen-menu-links{
  display:flex;
  flex-direction:column;
}
.fullscreen-menu-links a{
  display:flex;
  align-items:center;
  gap:28px;
  color:#fff;
  font:600 clamp(2.4rem,6vw,5.5rem) Oswald;
  text-transform:uppercase;
  line-height:1.05;
  border-bottom:1px solid rgba(255,255,255,.12);
  padding:12px 0;
  transition:color .3s,transform .35s var(--ease-premium);
}
.fullscreen-menu-links a span{
  color:var(--cyan);
  font:700 .7rem Manrope;
  letter-spacing:.14em;
}
.fullscreen-menu-links a:hover{
  color:var(--mint);
  transform:translateX(18px);
}

.menu-toggle{
  position:relative;
  z-index:10000;
}
.menu-toggle span{
  transition:
    transform .35s var(--ease-premium),
    opacity .25s ease,
    width .35s var(--ease-premium);
}
.menu-toggle.active span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.menu-toggle.active span:nth-child(2){opacity:0;width:0}
.menu-toggle.active span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

.hero-crossfade{
  background-image:none!important;
  overflow:hidden;
}
.hero-slide{
  position:absolute;
  inset:-4%;
  z-index:-4;
  opacity:0;
  transform:scale(1.05);
  background-position:center;
  background-size:cover;
  transition:opacity 1.4s ease;
  animation:kenBurns 11s ease-in-out infinite alternate;
}
.hero-slide.active{opacity:1}
.hero-slide-one{background-image:url("../images/ai/construction-services.png")}
.hero-slide-two{background-image:url("../images/ai/construction-services.png")}
.hero-slide-three{background-image:url("../images/ai/project-architecture.png")}
@keyframes kenBurns{
  from{transform:scale(1.04) translate3d(0,0,0)}
  to{transform:scale(1.13) translate3d(-1.5%,-1%,0)}
}

.split-lines .line,
.letter-reveal .char,
.word-reveal .word{
  display:inline-block;
  overflow:hidden;
}
.letter-reveal .char{
  opacity:0;
  transform:translateY(110%) rotate(4deg);
}
.letter-reveal.animated .char{
  animation:charUp .62s var(--ease-premium) forwards;
}
@keyframes charUp{to{opacity:1;transform:none}}
.word-reveal .word{
  opacity:0;
  transform:translateY(25px);
}
.word-reveal.animated .word{
  animation:wordUp .72s var(--ease-premium) forwards;
}
@keyframes wordUp{to{opacity:1;transform:none}}

.image-mask{
  position:relative;
  overflow:hidden;
}
.image-mask::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,var(--navy-2),var(--blue));
  transform:scaleX(1);
  transform-origin:right;
  transition:transform 1.1s var(--ease-premium);
}
.image-mask.visible::after{transform:scaleX(0)}
.diagonal-reveal{
  clip-path:polygon(0 0,0 0,0 100%,0 100%);
  transition:clip-path 1.15s var(--ease-premium);
}
.diagonal-reveal.visible{
  clip-path:polygon(0 0,100% 0,100% 100%,0 100%);
}

.story-section{
  padding:130px 0;
  background:var(--white);
}
.story-layout{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:100px;
}
.story-sticky{
  position:sticky;
  top:150px;
  align-self:start;
}
.story-sticky h2{
  font-size:clamp(2.8rem,5vw,4.8rem);
}
.story-sticky>p:not(.eyebrow){
  margin-top:22px;
  color:var(--muted);
}
.story-progress{
  margin-top:36px;
  height:4px;
  background:rgba(33,60,82,.12);
}
.story-progress span{
  display:block;
  width:0;
  height:100%;
  background:linear-gradient(90deg,var(--mint),var(--cyan));
}
.story-steps{
  display:flex;
  flex-direction:column;
  gap:55px;
}
.story-step{
  min-height:340px;
  padding:50px;
  background:var(--cream);
  border:1px solid var(--line);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.story-step>span{
  color:var(--cyan-deep);
  font:700 3rem Oswald;
}
.story-step h3{
  margin:35px 0 14px;
  font-size:2rem;
}
.story-step p{color:var(--muted)}

.horizontal-section{
  position:relative;
  height:500vh;
  background:var(--navy-2);
  color:#fff;
}
.horizontal-sticky{
  position:sticky;
  top:0;
  height:100vh;
  overflow:hidden;
}
.horizontal-track{
  display:flex;
  height:100%;
  width:max-content;
  will-change:transform;
}
.horizontal-panel{
  width:100vw;
  flex:0 0 100vw;
  padding:10vw;
  display:flex;
  flex-direction:column;
  justify-content:center;
  position:relative;
  border-right:1px solid rgba(255,255,255,.1);
  background:
    radial-gradient(circle at 70% 35%,rgba(32,223,224,.15),transparent 30%),
    linear-gradient(135deg,var(--navy-2),var(--navy));
}
.horizontal-panel:nth-child(3){
  background:
    radial-gradient(circle at 25% 70%,rgba(145,245,179,.14),transparent 30%),
    linear-gradient(135deg,var(--navy),var(--blue));
}
.horizontal-panel:nth-child(4){
  background:
    radial-gradient(circle at 75% 25%,rgba(32,223,224,.16),transparent 28%),
    linear-gradient(135deg,var(--blue),var(--navy));
}
.horizontal-panel>span{
  color:var(--cyan);
  font:700 4rem Oswald;
}
.horizontal-panel h3,
.horizontal-panel h2{
  max-width:760px;
  margin:25px 0 20px;
  font-size:clamp(3rem,7vw,6rem);
}
.horizontal-panel p{
  max-width:630px;
  color:rgba(255,255,255,.72);
  font-size:1rem;
}

.tabs-section{background:#fff}
.tabs{
  display:grid;
  grid-template-columns:.45fr 1.55fr;
  min-height:420px;
  border:1px solid var(--line);
}
.tab-buttons{
  display:flex;
  flex-direction:column;
  background:var(--navy-2);
}
.tab-button{
  flex:1;
  padding:25px;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.1);
  color:rgba(255,255,255,.55);
  background:transparent;
  text-align:left;
  font-weight:800;
  transition:.35s;
}
.tab-button.active{
  color:var(--navy-2);
  background:linear-gradient(90deg,var(--mint),var(--cyan));
  padding-left:38px;
}
.tab-content-wrap{
  position:relative;
  padding:55px;
  overflow:hidden;
}
.tab-content{
  position:absolute;
  inset:55px;
  opacity:0;
  transform:translateX(35px);
  filter:blur(6px);
  pointer-events:none;
  transition:.55s var(--ease-premium);
}
.tab-content.active{
  opacity:1;
  transform:none;
  filter:none;
  pointer-events:auto;
}
.tab-content h3{font-size:2.3rem}
.tab-content p{margin-top:18px;color:var(--muted)}

.faq-section{background:var(--cream)}
.faq-layout{
  display:grid;
  grid-template-columns:.7fr 1.3fr;
  gap:80px;
}
.faq-intro h2{font-size:clamp(2.7rem,5vw,4.5rem)}
.faq-intro>p:not(.eyebrow){margin-top:20px;color:var(--muted)}
.accordion-item{
  border-top:1px solid var(--line);
}
.accordion-trigger{
  width:100%;
  padding:24px 0;
  border:0;
  background:transparent;
  display:flex;
  justify-content:space-between;
  align-items:center;
  text-align:left;
  font-weight:800;
}
.accordion-trigger b{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--navy-2);
  color:#fff;
  transition:.35s var(--ease-premium);
}
.accordion-item.active .accordion-trigger b{
  transform:rotate(45deg);
  background:var(--cyan);
  color:var(--navy-2);
}
.accordion-panel{
  display:grid;
  grid-template-rows:0fr;
  transition:grid-template-rows .5s var(--ease-premium);
}
.accordion-panel>p{
  overflow:hidden;
  color:var(--muted);
  padding-right:45px;
}
.accordion-item.active .accordion-panel{
  grid-template-rows:1fr;
}
.accordion-item.active .accordion-panel>p{
  padding-bottom:25px;
}

.button::before{
  content:"";
  position:absolute;
  width:0;
  height:0;
  border-radius:50%;
  background:rgba(255,255,255,.36);
  transform:translate(-50%,-50%);
  pointer-events:none;
}
.button.ripple::before{
  animation:ripple .65s ease-out;
}
@keyframes ripple{
  from{width:0;height:0;opacity:.8}
  to{width:360px;height:360px;opacity:0}
}

.border-draw{
  position:relative;
}
.border-draw::before,
.border-draw::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
}
.border-draw::before{
  border-top:1px solid var(--cyan);
  border-bottom:1px solid var(--cyan);
  transform:scaleX(0);
  transition:transform .45s var(--ease-premium);
}
.border-draw::after{
  border-left:1px solid var(--cyan);
  border-right:1px solid var(--cyan);
  transform:scaleY(0);
  transition:transform .45s .12s var(--ease-premium);
}
.border-draw:hover::before{transform:scaleX(1)}
.border-draw:hover::after{transform:scaleY(1)}

.background-sweep{
  position:relative;
  overflow:hidden;
}
.background-sweep::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(135deg,var(--mint),var(--cyan));
  transform:translateX(-102%) skewX(-12deg);
  transition:transform .55s var(--ease-premium);
}
.background-sweep:hover::before{
  transform:translateX(0) skewX(0);
}

.modal-backdrop{
  position:fixed;
  inset:0;
  z-index:11000;
  background:rgba(8,25,37,.72);
  backdrop-filter:blur(8px);
  display:grid;
  place-items:center;
  opacity:0;
  visibility:hidden;
  transition:.35s;
}
.modal-backdrop.open{
  opacity:1;
  visibility:visible;
}
.modal-card{
  width:min(640px,calc(100% - 32px));
  padding:42px;
  background:#fff;
  transform:translateY(40px) scale(.94);
  opacity:0;
  transition:.5s var(--ease-premium);
}
.modal-backdrop.open .modal-card{
  transform:none;
  opacity:1;
}

@media(max-width:900px){
  .custom-cursor{display:none}
  .story-layout,.faq-layout{grid-template-columns:1fr}
  .story-sticky{position:relative;top:auto}
  .tabs{grid-template-columns:1fr}
  .tab-buttons{display:grid;grid-template-columns:repeat(2,1fr)}
  .tab-content-wrap{min-height:350px;padding:30px}
  .tab-content{inset:30px}
  .horizontal-section{height:auto}
  .horizontal-sticky{position:relative;height:auto;overflow:visible}
  .horizontal-track{display:block;width:auto;transform:none!important}
  .horizontal-panel{width:auto;min-height:72vh;padding:70px 28px}
}


/* =========================================================
   UPGRADED CAPABILITIES SECTION
   ========================================================= */

.capabilities-section{
  position:relative;
  padding:125px 0;
  color:#fff;
  background:
    radial-gradient(circle at 12% 18%,rgba(32,223,224,.13),transparent 28%),
    radial-gradient(circle at 88% 82%,rgba(145,245,179,.1),transparent 30%),
    linear-gradient(145deg,var(--navy-2),var(--navy));
  overflow:hidden;
}
.capabilities-section::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.16;
  background-image:
    linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);
  background-size:90px 90px;
}
.capabilities-section .container{
  position:relative;
  z-index:1;
}
.capabilities-head{
  align-items:end;
}
.capabilities-head h2{
  max-width:760px;
}
.capabilities-intro{
  max-width:430px;
}
.capabilities-intro p{
  color:rgba(255,255,255,.66);
}
.light-link{
  margin-top:24px;
  color:#fff;
  border-color:rgba(255,255,255,.45);
}

.capabilities-layout{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:24px;
}
.capability-feature{
  position:relative;
  min-height:720px;
  overflow:hidden;
  background:var(--navy);
}
.capability-feature img{
  position:absolute;
  inset:0;
  height:100%;
  transition:transform 1.1s var(--ease-premium),filter .8s ease;
}
.capability-feature:hover img{
  transform:scale(1.07);
  filter:saturate(1.08) contrast(1.04);
}
.capability-feature-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(to top,rgba(10,34,49,.97) 0%,rgba(10,34,49,.55) 55%,rgba(10,34,49,.12) 100%);
}
.capability-feature-content{
  position:absolute;
  inset:auto 0 0;
  z-index:2;
  padding:48px;
}
.capability-index{
  display:block;
  margin-bottom:20px;
  color:var(--cyan);
  font:700 3.2rem Oswald;
  line-height:1;
}
.capability-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:18px;
}
.capability-tags span{
  padding:7px 10px;
  border:1px solid rgba(255,255,255,.24);
  background:rgba(21,45,64,.35);
  backdrop-filter:blur(8px);
  color:#fff;
  font-size:.61rem;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.capability-feature h3{
  max-width:620px;
  font-size:clamp(2.8rem,5vw,4.5rem);
}
.capability-feature-content>p{
  max-width:680px;
  margin-top:16px;
  color:rgba(255,255,255,.74);
}
.capability-meta{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  max-width:560px;
  margin:30px 0;
  border-top:1px solid rgba(255,255,255,.18);
  border-bottom:1px solid rgba(255,255,255,.18);
}
.capability-meta div{
  padding:18px 20px 18px 0;
}
.capability-meta div+div{
  padding-left:20px;
  border-left:1px solid rgba(255,255,255,.18);
}
.capability-meta strong{
  display:block;
  font:600 1.1rem Oswald;
  text-transform:uppercase;
}
.capability-meta small{
  color:rgba(255,255,255,.55);
}
.capability-feature-content>a,
.capability-card-content>a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.18);
  font-size:.76rem;
  font-weight:800;
}
.capability-feature-content>a b,
.capability-card-content>a b{
  transition:transform .35s var(--ease-premium);
}
.capability-feature:hover a b,
.capability-card:hover a b{
  transform:translate(5px,-5px);
}

.capability-side-grid{
  display:grid;
  grid-template-rows:repeat(2,1fr);
  gap:24px;
}
.capability-card{
  position:relative;
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  min-height:348px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.045);
  backdrop-filter:blur(10px);
}
.capability-card:hover{
  transform:translateY(-8px);
  box-shadow:0 24px 55px rgba(4,25,37,.34);
  border-color:rgba(32,223,224,.38);
}
.capability-image{
  position:relative;
  min-height:100%;
  overflow:hidden;
}
.capability-image img{
  height:100%;
  transition:transform .9s var(--ease-premium),filter .7s ease;
}
.capability-card:hover img{
  transform:scale(1.08);
  filter:saturate(1.1);
}
.capability-image::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to right,rgba(21,45,64,.08),rgba(21,45,64,.55));
}
.capability-image .capability-index{
  position:absolute;
  left:20px;
  top:20px;
  z-index:2;
  margin:0;
  font-size:2.4rem;
}
.capability-card-content{
  padding:30px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.capability-card-content h3{
  font-size:1.75rem;
}
.capability-card-content>p{
  margin:12px 0 24px;
  color:rgba(255,255,255,.62);
  font-size:.8rem;
}
.capability-card-content .capability-tags{
  margin-bottom:14px;
}
.capability-card-content .capability-tags span{
  padding:5px 8px;
  font-size:.55rem;
}

.capability-bottom-grid{
  margin-top:24px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.capability-strip-card{
  position:relative;
  min-height:245px;
  display:grid;
  grid-template-columns:65px 1fr 38px;
  align-items:start;
  gap:18px;
  padding:30px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  transition:.45s var(--ease-premium);
}
.capability-strip-card::before{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:4px;
  background:linear-gradient(90deg,var(--mint),var(--cyan));
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .5s var(--ease-premium);
}
.capability-strip-card:hover{
  transform:translateY(-8px);
  background:rgba(255,255,255,.075);
  border-color:rgba(32,223,224,.36);
}
.capability-strip-card:hover::before{
  transform:scaleX(1);
}
.strip-icon{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.18);
  color:var(--cyan);
  font-size:1.8rem;
}
.capability-strip-card span{
  color:var(--cyan);
  font-size:.65rem;
  font-weight:800;
  letter-spacing:.14em;
}
.capability-strip-card h3{
  margin:6px 0 12px;
  font-size:1.35rem;
}
.capability-strip-card p{
  color:rgba(255,255,255,.58);
  font-size:.78rem;
}
.capability-strip-card>a{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.18);
  transition:.35s var(--ease-premium);
}
.capability-strip-card:hover>a{
  color:var(--navy-2);
  background:var(--cyan);
  border-color:var(--cyan);
  transform:translate(4px,-4px);
}

.capability-summary{
  margin-top:24px;
  display:grid;
  grid-template-columns:repeat(3,1fr) auto;
  align-items:center;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.045);
}
.capability-summary>div{
  min-height:100px;
  padding:24px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  border-right:1px solid rgba(255,255,255,.12);
}
.capability-summary span{
  color:rgba(255,255,255,.48);
  font-size:.61rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.capability-summary strong{
  margin-top:5px;
  font:600 1rem Oswald;
  text-transform:uppercase;
}
.capability-summary .button{
  margin:20px;
  white-space:nowrap;
}

@media(max-width:1000px){
  .capabilities-layout{
    grid-template-columns:1fr;
  }
  .capability-feature{
    min-height:650px;
  }
  .capability-side-grid{
    grid-template-columns:repeat(2,1fr);
    grid-template-rows:auto;
  }
  .capability-card{
    grid-template-columns:1fr;
  }
  .capability-image{
    min-height:260px;
  }
  .capability-summary{
    grid-template-columns:repeat(3,1fr);
  }
  .capability-summary .button{
    grid-column:1/-1;
  }
}
@media(max-width:760px){
  .capabilities-section{
    padding:85px 0;
  }
  .capability-feature{
    min-height:720px;
  }
  .capability-feature-content{
    padding:28px;
  }
  .capability-side-grid,
  .capability-bottom-grid,
  .capability-summary{
    grid-template-columns:1fr;
  }
  .capability-card{
    min-height:auto;
  }
  .capability-summary>div{
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.12);
  }
  .capability-meta{
    grid-template-columns:1fr;
  }
  .capability-meta div+div{
    padding-left:0;
    border-left:0;
    border-top:1px solid rgba(255,255,255,.18);
  }
}


/* =========================================================
   IMAGE-ENHANCED PROJECT STANDARDS SECTION
   ========================================================= */

.horizontal-panel{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  padding:0;
  background:var(--navy-2);
}
.horizontal-panel-bg{
  position:absolute;
  inset:-4%;
  z-index:-3;
  overflow:hidden;
}
.horizontal-panel-bg img{
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.06);
  transition:transform 1.4s var(--ease-premium),filter .9s ease;
  animation:standardKenBurns 12s ease-in-out infinite alternate;
}
.horizontal-panel:hover .horizontal-panel-bg img{
  transform:scale(1.12);
  filter:saturate(1.1) contrast(1.03);
}
@keyframes standardKenBurns{
  from{transform:scale(1.06) translate3d(0,0,0)}
  to{transform:scale(1.14) translate3d(-1.4%,-1%,0)}
}
.horizontal-panel-shade{
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(90deg,rgba(10,34,49,.97) 0%,rgba(10,34,49,.82) 45%,rgba(10,34,49,.38) 100%);
}
.horizontal-panel-content{
  position:relative;
  z-index:2;
  width:min(1180px,calc(100% - 70px));
  margin:auto;
  padding:120px 0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:100vh;
}
.horizontal-panel-content h2,
.horizontal-panel-content h3{
  max-width:780px;
  margin:18px 0 20px;
  font-size:clamp(3.2rem,7vw,6.6rem);
}
.horizontal-panel-content>p:not(.eyebrow){
  max-width:680px;
  color:rgba(255,255,255,.78);
  font-size:1rem;
}
.standard-number{
  color:var(--cyan);
  font:700 4.4rem Oswald;
  line-height:1;
}
.horizontal-intro-stats{
  margin-top:38px;
  max-width:760px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid rgba(255,255,255,.18);
  border-bottom:1px solid rgba(255,255,255,.18);
}
.horizontal-intro-stats div{
  padding:20px;
  border-right:1px solid rgba(255,255,255,.14);
}
.horizontal-intro-stats div:last-child{
  border-right:0;
}
.horizontal-intro-stats strong{
  display:block;
  color:var(--cyan);
  font:700 1.4rem Oswald;
}
.horizontal-intro-stats span{
  color:rgba(255,255,255,.62);
  font-size:.68rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.1em;
}
.standard-points{
  max-width:760px;
  margin-top:35px;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
}
.standard-points span{
  position:relative;
  padding:13px 16px 13px 42px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(21,45,64,.42);
  backdrop-filter:blur(8px);
  color:#fff;
  font-size:.75rem;
  font-weight:800;
}
.standard-points span::before{
  content:"✓";
  position:absolute;
  left:16px;
  color:var(--mint);
}
.standard-caption{
  margin-top:30px;
  max-width:760px;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.18);
}
.standard-caption strong{
  display:block;
  font:600 1.3rem Oswald;
  text-transform:uppercase;
}
.standard-caption small{
  color:rgba(255,255,255,.56);
}
.quality-panel .horizontal-panel-shade{
  background:linear-gradient(90deg,rgba(10,34,49,.97),rgba(13,56,68,.8) 48%,rgba(21,74,78,.35));
}
.safety-panel .horizontal-panel-shade{
  background:linear-gradient(90deg,rgba(15,39,52,.97),rgba(36,68,66,.82) 48%,rgba(72,100,76,.36));
}
.schedule-panel .horizontal-panel-shade{
  background:linear-gradient(90deg,rgba(18,38,55,.97),rgba(31,59,80,.82) 48%,rgba(59,86,111,.36));
}
.value-panel .horizontal-panel-shade{
  background:linear-gradient(90deg,rgba(15,35,51,.97),rgba(26,62,75,.82) 48%,rgba(47,93,94,.36));
}

@media(max-width:900px){
  .horizontal-panel-content{
    min-height:72vh;
    width:min(100% - 34px,1180px);
    padding:80px 0;
  }
  .horizontal-intro-stats{
    grid-template-columns:repeat(2,1fr);
  }
  .horizontal-intro-stats div:nth-child(2){
    border-right:0;
  }
  .standard-points{
    grid-template-columns:1fr;
  }
}
@media(max-width:560px){
  .horizontal-panel-content h2,
  .horizontal-panel-content h3{
    font-size:3rem;
  }
  .horizontal-intro-stats{
    grid-template-columns:1fr;
  }
  .horizontal-intro-stats div{
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.14);
  }
  .horizontal-intro-stats div:last-child{
    border-bottom:0;
  }
}


/* =========================================================
   ORIGINAL EBALCOM HOMEPAGE INFORMATION SECTIONS
   ========================================================= */

.original-company-section{
  background:#ffffff;
}
.company-heading{
  margin-bottom:42px;
}
.company-direction-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}
.company-direction-card{
  min-height:340px;
  padding:38px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:#fff;
  transition:transform .45s var(--ease-premium),box-shadow .45s var(--ease-premium);
}
.company-direction-card:hover{
  transform:translateY(-8px);
  box-shadow:0 24px 55px rgba(33,60,82,.12);
}
.company-direction-card>span{
  color:var(--cyan-deep);
  font:700 2.7rem Oswald;
}
.company-direction-card h3{
  margin:45px 0 16px;
  font-size:1.65rem;
}
.company-direction-card p{
  color:var(--muted);
  font-size:.85rem;
}
.about-original-layout{
  margin-top:85px;
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:stretch;
  background:var(--cream);
}
.about-original-copy{
  padding:64px;
}
.about-original-copy h2{
  font-size:clamp(2.6rem,5vw,4.3rem);
}
.about-original-copy>p:not(.eyebrow){
  margin-top:20px;
  color:var(--muted);
}
.about-original-copy .arrow-link{
  margin-top:30px;
}
.about-original-image{
  position:relative;
  min-height:610px;
}
.about-original-image img{
  height:100%;
}
.about-image-label{
  position:absolute;
  left:28px;
  right:28px;
  bottom:28px;
  padding:24px;
  background:rgba(21,45,64,.88);
  backdrop-filter:blur(10px);
  color:#fff;
}
.about-image-label span{
  display:block;
  color:var(--cyan);
  font-size:.64rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.about-image-label strong{
  display:block;
  margin-top:6px;
  font:600 1.25rem Oswald;
  text-transform:uppercase;
}

.leadership-preview-section{
  color:#fff;
  background:linear-gradient(145deg,var(--navy-2),var(--navy));
}
.leadership-preview-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
}
.leadership-preview-card{
  display:grid;
  grid-template-columns:120px 1fr;
  align-items:center;
  gap:24px;
  padding:28px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  transition:transform .45s var(--ease-premium),background .35s ease,box-shadow .45s var(--ease-premium);
}
.leadership-preview-card:hover{
  transform:translateY(-8px);
  background:rgba(255,255,255,.075);
  box-shadow:0 24px 55px rgba(5,23,35,.28);
}
.leadership-photo{
  width:120px;
  height:120px;
  border-radius:50%;
  overflow:hidden;
}
.initials-photo{
  display:grid;
  place-items:center;
  background:linear-gradient(145deg,var(--blue),var(--navy-2));
  border:2px solid rgba(32,223,224,.4);
}
.initials-photo span{
  color:var(--mint);
  font:700 2.4rem Oswald;
}
.leadership-preview-card p{
  color:var(--cyan);
  font-size:.62rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.leadership-preview-card h3{
  margin:6px 0 14px;
  font-size:1.4rem;
}
.leadership-preview-card a{
  font-size:.74rem;
  font-weight:800;
}
.stats-grid article strong{
  font-size:1.45rem;
  line-height:1.15;
}

@media(max-width:950px){
  .company-direction-grid{
    grid-template-columns:1fr;
  }
  .about-original-layout{
    grid-template-columns:1fr;
  }
  .leadership-preview-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:600px){
  .about-original-copy{
    padding:34px 24px;
  }
  .about-original-image{
    min-height:440px;
  }
  .leadership-preview-card{
    grid-template-columns:90px 1fr;
  }
  .leadership-photo{
    width:90px;
    height:90px;
  }
}


/* =========================================================
   EXPANDED TELECOM, POWER & CONSTRUCTION SERVICES
   ========================================================= */
.service-intro{text-align:center}.service-intro .narrow{margin:auto}
.sector-overview{padding:0 0 110px;background:#fff}
.sector-overview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.sector-card{position:relative;min-height:650px;overflow:hidden;color:#fff}
.sector-card img{position:absolute;inset:0;height:100%;transition:transform 1s var(--ease-premium)}
.sector-card:hover img{transform:scale(1.08)}
.sector-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(9,32,47,.97),rgba(9,32,47,.28))}
.sector-content{position:absolute;inset:auto 0 0;padding:34px;z-index:2}
.sector-content>span{font:700 3rem Oswald;color:var(--cyan)}
.sector-content>p{margin-top:24px;color:var(--cyan);font-size:.67rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.sector-content h2{margin:8px 0 22px;font-size:2rem}
.sector-content ul{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:28px}
.sector-content li{font-size:.72rem;color:rgba(255,255,255,.7)}
.sector-content li:before{content:"✓";margin-right:7px;color:var(--mint)}
.sector-content b{display:block;padding-top:17px;border-top:1px solid rgba(255,255,255,.18);font-size:.74rem}

.service-catalog-section{background:var(--cream)}
.service-catalog-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}
.catalog-card{display:grid;grid-template-columns:.9fr 1.1fr;background:#fff;min-height:330px;overflow:hidden}
.catalog-image{overflow:hidden}.catalog-image img{height:100%;transition:.8s var(--ease-premium)}.catalog-card:hover img{transform:scale(1.07)}
.catalog-copy{padding:30px;display:flex;flex-direction:column;justify-content:center}
.catalog-copy>span{color:var(--cyan-deep);font:700 2rem Oswald}
.catalog-copy h3{margin:16px 0 12px;font-size:1.5rem}.catalog-copy p{color:var(--muted);font-size:.8rem}
.catalog-copy b{margin-top:25px;padding-top:14px;border-top:1px solid var(--line);font-size:.72rem}

.power-catalog-section{background:linear-gradient(145deg,var(--navy-2),var(--navy));color:#fff}
.power-service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.12);border-left:1px solid rgba(255,255,255,.12)}
.power-service{min-height:330px;padding:34px;border-right:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12)}
.power-service span{color:var(--cyan);font:700 2.5rem Oswald}.power-service h3{margin:50px 0 15px;font-size:1.35rem}.power-service p{color:rgba(255,255,255,.58);font-size:.8rem}
.power-button{margin-top:30px}

.construction-service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.construction-service{position:relative;min-height:440px;overflow:hidden;color:#fff}
.construction-service.feature{grid-row:span 2;min-height:904px}
.construction-service img{position:absolute;inset:0;height:100%;transition:1s var(--ease-premium)}.construction-service:hover img{transform:scale(1.07)}
.construction-service:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(9,31,46,.95),transparent 70%)}
.construction-service>div{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:30px}
.construction-service span{color:var(--cyan);font:700 2.4rem Oswald}.construction-service h3{font-size:1.7rem}.construction-service p{margin:10px 0 18px;color:rgba(255,255,255,.67);font-size:.8rem}.construction-service a{font-size:.74rem;font-weight:800}

.delivery-lifecycle{background:var(--cream)}
.lifecycle-grid{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid var(--line);border-top:1px solid var(--line)}
.lifecycle-grid>div{min-height:260px;padding:32px;background:#fff;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.lifecycle-grid span{color:var(--cyan-deep);font:700 2.2rem Oswald}.lifecycle-grid h3{margin:38px 0 12px;font-size:1.35rem}.lifecycle-grid p{color:var(--muted);font-size:.8rem}

.telecom-detail-hero{background-image:url("../images/ai/project-collaboration.png")}
.network-detail-hero{background-image:url("../images/ai/engineering-planning.png")}
.power-detail-hero{background-image:url("../images/ai/power-infrastructure.png")}
.construction-detail-hero{background-image:url("../images/ai/construction-services.png")}
.service-detail-intro{max-width:850px;margin:auto;text-align:center}.service-detail-intro h2{font-size:clamp(2.8rem,5vw,4.5rem)}.service-detail-intro>p:not(.eyebrow){margin-top:22px;color:var(--muted)}

.detail-service-list{background:#fff}
.detail-service-row{display:grid;grid-template-columns:1fr 1fr;align-items:stretch}
.detail-service-row.reverse .detail-service-image{order:2}
.detail-service-image{min-height:600px}.detail-service-image img{height:100%}
.detail-service-copy{padding:75px;display:flex;flex-direction:column;justify-content:center;background:#fff}
.detail-service-row:nth-child(even) .detail-service-copy{background:var(--cream)}
.detail-service-copy>span{color:var(--cyan-deep);font:700 3rem Oswald}.detail-service-copy h2{margin:20px 0;font-size:clamp(2.6rem,5vw,4rem)}.detail-service-copy>p{color:var(--muted)}
.detail-service-copy ul{list-style:none;margin-top:25px;border-top:1px solid var(--line)}.detail-service-copy li{padding:12px 0 12px 27px;border-bottom:1px solid var(--line);position:relative;font-size:.8rem;font-weight:700}.detail-service-copy li:before{content:"✓";position:absolute;left:0;color:var(--cyan-deep)}
.detail-service-copy .arrow-link{margin-top:28px;width:max-content}

.mosaic-services{padding:20px 0 110px}.mosaic-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.mosaic-item{min-height:310px}.mosaic-item.image img{height:100%}.mosaic-item.text{padding:38px;display:flex;flex-direction:column;justify-content:center;background:var(--cream);text-align:center}
.mosaic-item.text span{color:var(--cyan-deep);font:700 2.2rem Oswald}.mosaic-item.text h3{margin:20px 0 12px;font-size:1.35rem}.mosaic-item.text p{color:var(--muted);font-size:.78rem}
.mosaic-item:nth-child(4n+2),.mosaic-item:nth-child(4n+3){background:#fff}

@media(max-width:1000px){
.sector-overview-grid{grid-template-columns:1fr}.sector-card{min-height:540px}
.power-service-grid{grid-template-columns:repeat(2,1fr)}
.service-catalog-grid,.construction-service-grid{grid-template-columns:1fr}.construction-service.feature{grid-row:auto;min-height:600px}
.detail-service-row{grid-template-columns:1fr}.detail-service-row.reverse .detail-service-image{order:0}
.mosaic-grid{grid-template-columns:repeat(2,1fr)}.lifecycle-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){
.service-catalog-grid,.power-service-grid,.mosaic-grid,.lifecycle-grid{grid-template-columns:1fr}
.catalog-card{grid-template-columns:1fr}.catalog-image{height:260px}
.detail-service-copy{padding:38px 24px}.detail-service-image{min-height:390px}
.sector-card{min-height:620px}.sector-content ul{grid-template-columns:1fr}
}


/* =========================================================
   CLEAN SERVICES EDITORIAL REDESIGN
   Inspired by the original Ebalcom spacing and mosaic layout
   ========================================================= */

.service-sectors-clean{
  padding:40px 0 125px;
  background:#ffffff;
}
.sector-clean-block{
  padding:95px 0;
  border-bottom:1px solid var(--line);
}
.sector-clean-block:last-child{
  border-bottom:0;
}
.sector-clean-heading{
  display:grid;
  grid-template-columns:80px minmax(0,1fr) minmax(280px,430px);
  align-items:start;
  gap:38px;
  margin-bottom:55px;
}
.sector-clean-heading>span{
  color:var(--cyan-deep);
  font:700 3.5rem Oswald;
  line-height:1;
}
.sector-clean-heading h2{
  max-width:700px;
  font-size:clamp(2.6rem,5vw,4.3rem);
}
.sector-clean-heading>p{
  color:var(--muted);
  padding-top:35px;
  font-size:.9rem;
}
.sector-clean-mosaic{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  grid-auto-rows:310px;
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}
.sector-clean-image,
.sector-clean-service{
  position:relative;
  min-width:0;
  overflow:hidden;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.sector-clean-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .85s var(--ease-premium),filter .65s ease;
}
.sector-clean-image:hover img{
  transform:scale(1.055);
  filter:saturate(1.06) contrast(1.03);
}
.sector-clean-image figcaption{
  position:absolute;
  left:20px;
  bottom:18px;
  z-index:2;
  padding:8px 11px;
  background:rgba(21,45,64,.86);
  color:#fff;
  font-size:.63rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.sector-clean-image::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(10,32,47,.42),transparent 50%);
  pointer-events:none;
}
.sector-clean-image.image-large{
  grid-row:span 2;
}
.sector-clean-image.image-wide{
  grid-column:span 2;
}
.sector-clean-service{
  padding:34px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:#fff;
  transition:background .35s ease,transform .4s var(--ease-premium),box-shadow .4s ease;
}
.sector-clean-service:hover{
  z-index:3;
  transform:translateY(-5px);
  box-shadow:0 20px 45px rgba(33,60,82,.13);
}
.sector-clean-service.accent{
  background:var(--cream);
}
.sector-clean-service>span{
  color:var(--cyan-deep);
  font:700 2rem Oswald;
}
.sector-clean-service h3{
  margin:22px 0 12px;
  font-size:1.45rem;
}
.sector-clean-service p{
  color:var(--muted);
  font-size:.82rem;
}
.sector-clean-service a{
  width:max-content;
  margin-top:22px;
  padding-bottom:4px;
  border-bottom:1px solid var(--text);
  font-size:.72rem;
  font-weight:800;
}
.sector-clean-link{
  display:inline-flex;
  align-items:center;
  gap:13px;
  margin-top:30px;
  padding-bottom:6px;
  border-bottom:1px solid var(--text);
  font-size:.78rem;
  font-weight:800;
}
.sector-clean-link b{
  transition:transform .3s var(--ease-premium);
}
.sector-clean-link:hover b{
  transform:translateX(7px);
}

.telecom-clean .sector-clean-heading>span,
.telecom-clean .sector-clean-service>span{
  color:#13bfc5;
}
.power-clean .sector-clean-heading>span,
.power-clean .sector-clean-service>span{
  color:#537f9d;
}
.construction-clean .sector-clean-heading>span,
.construction-clean .sector-clean-service>span{
  color:#10aeb8;
}

@media(max-width:980px){
  .sector-clean-heading{
    grid-template-columns:60px 1fr;
  }
  .sector-clean-heading>p{
    grid-column:2;
    padding-top:0;
  }
  .sector-clean-mosaic{
    grid-template-columns:repeat(2,1fr);
  }
  .sector-clean-image.image-large{
    grid-row:span 1;
  }
  .sector-clean-image.image-wide{
    grid-column:span 2;
  }
}
@media(max-width:650px){
  .service-sectors-clean{
    padding-bottom:80px;
  }
  .sector-clean-block{
    padding:70px 0;
  }
  .sector-clean-heading{
    grid-template-columns:1fr;
    gap:18px;
  }
  .sector-clean-heading>p{
    grid-column:auto;
  }
  .sector-clean-mosaic{
    grid-template-columns:1fr;
    grid-auto-rows:auto;
  }
  .sector-clean-image{
    min-height:310px;
  }
  .sector-clean-image.image-wide{
    grid-column:auto;
  }
  .sector-clean-service{
    min-height:280px;
  }
}


/* =========================================================
   SIMPLE PAGE TRANSITION + LOGO LOADER
   ========================================================= */

html{
  background:var(--navy-2);
}

body{
  opacity:1;
  transition:opacity .32s ease;
}

body.page-is-leaving{
  opacity:0;
}

body.page-is-entering{
  animation:simplePageFade .42s ease both;
}

@keyframes simplePageFade{
  from{opacity:0}
  to{opacity:1}
}

/* Disable old complex page transition layers */
.page-transition,
.custom-cursor,
.fullscreen-menu{
  display:none!important;
}

/* Logo loading screen */
.page-loader{
  position:fixed;
  inset:0;
  z-index:12000;
  display:grid;
  place-items:center;
  background:
    radial-gradient(circle at 50% 42%,rgba(32,223,224,.12),transparent 32%),
    linear-gradient(145deg,var(--navy-2),var(--navy));
  opacity:1;
  visibility:visible;
  transition:opacity .45s ease,visibility .45s ease;
}

.page-loader.hidden{
  opacity:0;
  visibility:hidden;
}

.logo-loader{
  width:min(290px,70vw);
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}

.logo-loader img{
  width:220px;
  height:auto;
  object-fit:contain;
  animation:logoLoaderPulse 1.7s ease-in-out infinite;
  filter:drop-shadow(0 12px 26px rgba(32,223,224,.2));
}

.logo-loader-line{
  position:relative;
  width:180px;
  height:2px;
  margin-top:28px;
  overflow:hidden;
  background:rgba(255,255,255,.14);
}

.logo-loader-line::after{
  content:"";
  position:absolute;
  inset:0;
  width:45%;
  background:linear-gradient(90deg,var(--mint),var(--cyan));
  animation:logoLoaderProgress 1.25s ease-in-out infinite;
}

.logo-loader small{
  margin-top:13px;
  color:rgba(255,255,255,.58);
  font-size:.64rem;
  font-weight:800;
  letter-spacing:.2em;
  text-transform:uppercase;
}

@keyframes logoLoaderPulse{
  0%,100%{
    transform:scale(1);
    opacity:.82;
  }
  50%{
    transform:scale(1.035);
    opacity:1;
  }
}

@keyframes logoLoaderProgress{
  from{transform:translateX(-120%)}
  to{transform:translateX(320%)}
}

/* Calm down global motion */
.hero,
.page-hero{
  background-attachment:scroll!important;
}

.media-label,
.image-badge{
  animation:none!important;
}

.reveal{
  transform:translateY(22px);
  filter:none;
  transition:
    opacity .62s ease,
    transform .62s cubic-bezier(.22,1,.36,1);
}

.reveal.visible{
  opacity:1;
  transform:none;
}

/* Remove horizontal scrolling section completely */
.horizontal-section,
.horizontal-sticky,
.horizontal-track,
.horizontal-panel{
  display:none!important;
}

/* Keep hover transitions subtle */
.service-preview:hover,
.value-card:hover,
.team-card:hover,
.portfolio-card:hover,
.capability-card:hover,
.capability-strip-card:hover,
.sector-clean-service:hover{
  transform:translateY(-4px);
}

.button:hover{
  transform:translateY(-2px);
}

@media(prefers-reduced-motion:reduce){
  body{
    transition:none;
  }
  body.page-is-entering{
    animation:none;
  }
  .logo-loader img,
  .logo-loader-line::after{
    animation:none;
  }
}


/* =========================================================
   CLICKABLE SERVICE CARDS REDESIGN
   ========================================================= */

.service-click-card{
  color:inherit;
  cursor:pointer;
  text-decoration:none;
  isolation:isolate;
}
.service-click-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(135deg,rgba(145,245,179,.16),rgba(32,223,224,.12));
  opacity:0;
  transition:opacity .35s ease;
}
.service-click-card:hover::before,
.service-click-card:focus-visible::before{
  opacity:1;
}
.service-click-card:hover,
.service-click-card:focus-visible{
  outline:none;
  border-color:rgba(16,191,197,.45);
  transform:translateY(-6px);
  box-shadow:0 22px 48px rgba(33,60,82,.16);
}
.service-click-card h3{
  transition:color .25s ease;
}
.service-click-card:hover h3,
.service-click-card:focus-visible h3{
  color:var(--cyan-deep);
}
.service-card-footer{
  margin-top:auto;
  padding-top:22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-top:1px solid var(--line);
}
.service-card-footer strong{
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.03em;
}
.service-card-footer b{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  transition:
    transform .3s var(--ease-premium),
    background .3s ease,
    color .3s ease,
    border-color .3s ease;
}
.service-click-card:hover .service-card-footer b,
.service-click-card:focus-visible .service-card-footer b{
  transform:translate(4px,-4px);
  color:var(--navy-2);
  background:var(--cyan);
  border-color:var(--cyan);
}

/* Clickable images */
.sector-clean-image-link{
  display:block;
  min-width:0;
  color:inherit;
  text-decoration:none;
}
.sector-clean-image-link .sector-clean-image{
  width:100%;
  height:100%;
}
.sector-clean-image-link:focus-visible{
  outline:3px solid var(--cyan);
  outline-offset:3px;
}
.sector-clean-image-link:hover .sector-clean-image img{
  transform:scale(1.065);
  filter:saturate(1.08) contrast(1.04);
}
.sector-clean-image-link:hover figcaption{
  background:var(--cyan);
  color:var(--navy-2);
}

/* Better card hierarchy */
.sector-clean-service{
  min-height:310px;
}
.sector-clean-service>span{
  font-size:1.7rem;
}
.sector-clean-service h3{
  max-width:260px;
  line-height:1.15;
}
.sector-clean-service p{
  line-height:1.7;
}
.sector-clean-service.accent{
  background:
    linear-gradient(135deg,rgba(145,245,179,.13),rgba(32,223,224,.09)),
    var(--cream);
}

/* Section links styled as buttons */
.sector-clean-link{
  margin-top:34px;
  padding:13px 18px;
  border:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:#fff;
  transition:
    background .3s ease,
    color .3s ease,
    border-color .3s ease,
    transform .3s var(--ease-premium);
}
.sector-clean-link:hover,
.sector-clean-link:focus-visible{
  color:#fff;
  background:var(--navy-2);
  border-color:var(--navy-2);
  transform:translateY(-2px);
  outline:none;
}

/* Smooth anchor landing */
.anchor-offset{
  scroll-margin-top:110px;
}
[id]{
  scroll-margin-top:110px;
}

@media(max-width:650px){
  .service-click-card{
    min-height:270px;
  }
  .service-card-footer{
    margin-top:24px;
  }
}

/* Modern About + Company Profile */
.about-profile-hero{background-image:linear-gradient(120deg, rgba(11,39,64,.88), rgba(18,57,90,.74)), radial-gradient(circle at 80% 30%, rgba(37,214,218,.18), transparent 25%);}
.profile-overview-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:28px;align-items:stretch}
.profile-overview-copy h2{font-size:clamp(2.7rem,5vw,4.4rem);max-width:760px}
.profile-overview-copy>p:not(.eyebrow){margin-top:18px;color:var(--muted);line-height:1.8}
.profile-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.profile-tags span{padding:10px 12px;border:1px solid var(--line);background:var(--cream);font-size:.67rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.profile-download-card{padding:34px;border:1px solid var(--line);background:radial-gradient(circle at top right, rgba(37,214,218,.09), transparent 28%), linear-gradient(145deg,#fff,#f4f9fb);box-shadow:0 24px 56px rgba(19,57,90,.08)}
.profile-card-kicker{display:inline-block;padding:7px 10px;margin-bottom:16px;border-radius:999px;background:rgba(37,214,218,.12);color:var(--cyan-deep);font-size:.65rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.profile-download-card h3{font-size:2rem}
.profile-download-card p{margin-top:12px;color:var(--muted);line-height:1.75}
.profile-download-card ul{list-style:none;margin:22px 0 28px;padding:0;border-top:1px solid var(--line)}
.profile-download-card li{position:relative;padding:13px 0 13px 24px;border-bottom:1px solid var(--line);color:var(--text);font-size:.86rem;font-weight:700}
.profile-download-card li::before{content:"✓";position:absolute;left:0;color:var(--cyan-deep)}
.download-actions{display:flex;flex-wrap:wrap;gap:12px}
.button-ghost-dark{color:var(--navy-2);border:1px solid var(--navy-2);background:transparent}
.button-ghost-dark:hover{color:#fff;background:var(--navy-2)}
.profile-highlights-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.profile-highlight-card{min-height:240px;padding:30px;border:1px solid var(--line);background:#fff;transition:transform .4s var(--ease-premium),box-shadow .4s ease}
.profile-highlight-card:hover{transform:translateY(-6px);box-shadow:0 22px 48px rgba(20,57,90,.10)}
.profile-highlight-card span{color:var(--cyan-deep);font:700 2.3rem Oswald}
.profile-highlight-card h3{margin:28px 0 12px;font-size:1.35rem}
.profile-highlight-card p{color:var(--muted);line-height:1.75}
.profile-text-columns{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.profile-text-card{padding:34px;border:1px solid var(--line);background:linear-gradient(145deg,#fff,#f8fbfc)}
.profile-text-card h3{font-size:1.45rem}
.profile-text-card p{margin-top:14px;color:var(--muted);line-height:1.9}
.profile-side-panel{display:flex;align-items:center;justify-content:center;min-height:100%;background:radial-gradient(circle at 25% 25%, rgba(145,240,179,.13), transparent 24%), linear-gradient(145deg, rgba(255,255,255,.06), rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.12)}
.profile-side-content{max-width:360px;padding:44px}
.profile-side-content span{color:var(--cyan);font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.profile-side-content h3{margin:10px 0 16px;font-size:2.3rem}
.profile-side-content p{margin-bottom:24px;color:rgba(255,255,255,.68);line-height:1.8}
@media(max-width:980px){.profile-overview-grid,.profile-text-columns,.profile-highlights-grid{grid-template-columns:1fr}}
@media(max-width:640px){.profile-download-card,.profile-text-card,.profile-highlight-card{padding:24px}.download-actions{flex-direction:column}}


/* =========================================================
   FINAL MODERN ABOUT PAGE
   ========================================================= */

.about-modern-hero{
  background-image:
    linear-gradient(100deg,rgba(9,35,53,.94),rgba(18,67,83,.78)),
    url("../images/ai/project-collaboration.png");
}

.about-summary-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  gap:90px;
}

.about-summary-copy h2{
  font-size:clamp(2.8rem,5vw,4.6rem);
}

.about-summary-copy>p:not(.eyebrow){
  margin-top:20px;
  color:var(--muted);
  line-height:1.85;
}

.about-facts{
  margin-top:36px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.about-facts div{
  padding:22px 18px;
  border-right:1px solid var(--line);
}

.about-facts div:last-child{
  border-right:0;
}

.about-facts span{
  display:block;
  color:var(--muted);
  font-size:.62rem;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.about-facts strong{
  display:block;
  margin-top:5px;
  font:600 1rem Oswald;
  text-transform:uppercase;
}

.about-summary-visual{
  position:relative;
  min-height:610px;
}

.about-visual-primary{
  width:78%;
  height:520px;
  overflow:hidden;
}

.about-visual-primary img,
.about-visual-secondary img{
  height:100%;
}

.about-visual-secondary{
  position:absolute;
  right:0;
  bottom:0;
  width:48%;
  height:280px;
  overflow:hidden;
  border:10px solid #fff;
}

.about-visual-label{
  position:absolute;
  left:28px;
  bottom:28px;
  width:280px;
  padding:22px;
  color:#fff;
  background:rgba(15,48,70,.9);
  backdrop-filter:blur(10px);
}

.about-visual-label span{
  display:block;
  color:var(--cyan);
  font-size:.62rem;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.about-visual-label strong{
  display:block;
  margin-top:6px;
  font:600 1.15rem Oswald;
  text-transform:uppercase;
}

.about-purpose-section{
  background:var(--cream);
}

.about-purpose-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}

.about-purpose-card{
  min-height:380px;
  padding:36px;
  border:1px solid var(--line);
  background:#fff;
  transition:transform .4s var(--ease-premium),box-shadow .4s ease;
}

.about-purpose-card:hover{
  transform:translateY(-6px);
  box-shadow:0 22px 48px rgba(21,45,64,.12);
}

.about-purpose-card>span{
  color:var(--cyan-deep);
  font:700 2.8rem Oswald;
}

.about-purpose-card h3{
  margin:48px 0 18px;
  font-size:1.7rem;
}

.about-purpose-card p,
.about-purpose-card li{
  color:var(--muted);
  line-height:1.8;
}

.about-purpose-card ul{
  list-style:none;
  margin-top:18px;
}

.about-purpose-card li{
  padding:10px 0;
  border-bottom:1px solid var(--line);
}

.about-capability-section{
  color:#fff;
  background:linear-gradient(145deg,var(--navy-2),var(--navy));
}

.about-sector-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}

.about-sector-card{
  overflow:hidden;
  color:#fff;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  transition:transform .4s var(--ease-premium),background .35s ease;
}

.about-sector-card:hover{
  transform:translateY(-7px);
  background:rgba(255,255,255,.08);
}

.about-sector-image{
  height:280px;
  overflow:hidden;
}

.about-sector-image img{
  height:100%;
  transition:transform .8s var(--ease-premium);
}

.about-sector-card:hover img{
  transform:scale(1.07);
}

.about-sector-content{
  padding:28px;
}

.about-sector-content>span{
  color:var(--cyan);
  font:700 2rem Oswald;
}

.about-sector-content h3{
  margin:20px 0 12px;
  font-size:1.5rem;
}

.about-sector-content p{
  color:rgba(255,255,255,.65);
  line-height:1.75;
}

.about-sector-content b{
  display:block;
  margin-top:22px;
  padding-top:16px;
  border-top:1px solid rgba(255,255,255,.14);
  font-size:.72rem;
}

.about-process-section{
  background:#fff;
}

.about-process-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}

.about-process-grid article{
  min-height:300px;
  padding:28px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.about-process-grid span{
  color:var(--cyan-deep);
  font:700 2rem Oswald;
}

.about-process-grid h3{
  margin:45px 0 12px;
  font-size:1.25rem;
}

.about-process-grid p{
  color:var(--muted);
  line-height:1.7;
  font-size:.82rem;
}

.about-team-section{
  background:var(--cream);
}

.about-team-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}

.about-team-card{
  display:flex;
  align-items:center;
  gap:20px;
  padding:24px;
  border:1px solid var(--line);
  background:#fff;
}

.about-team-initials{
  flex:0 0 70px;
  height:70px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:var(--navy-2);
  background:linear-gradient(145deg,var(--mint),var(--cyan));
  font:700 1.4rem Oswald;
}

.about-team-card span{
  color:var(--cyan-deep);
  font-size:.62rem;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.about-team-card h3{
  margin-top:5px;
  font-size:1.2rem;
}

.about-credentials-section{
  background:#fff;
}

.about-credentials-grid{
  display:grid;
  grid-template-columns:1fr .8fr;
  gap:70px;
  align-items:center;
}

.about-credentials-copy h2{
  font-size:clamp(2.6rem,5vw,4.2rem);
}

.about-credentials-copy>p:not(.eyebrow){
  margin-top:18px;
  color:var(--muted);
  line-height:1.8;
}

.credential-list{
  margin-top:28px;
  border-top:1px solid var(--line);
}

.credential-list span{
  display:block;
  padding:15px 0 15px 28px;
  border-bottom:1px solid var(--line);
  position:relative;
  font-weight:700;
  font-size:.84rem;
}

.credential-list span::before{
  content:"✓";
  position:absolute;
  left:0;
  color:var(--cyan-deep);
}

.about-download-panel{
  padding:42px;
  color:#fff;
  background:
    radial-gradient(circle at 85% 15%,rgba(32,223,224,.16),transparent 28%),
    linear-gradient(145deg,var(--navy-2),var(--navy));
}

.about-download-panel>span{
  color:var(--cyan);
  font-size:.64rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.about-download-panel h3{
  margin:12px 0 16px;
  font-size:2rem;
}

.about-download-panel p{
  margin-bottom:25px;
  color:rgba(255,255,255,.66);
  line-height:1.8;
}

@media(max-width:1000px){
  .about-summary-grid,
  .about-credentials-grid{
    grid-template-columns:1fr;
  }

  .about-purpose-grid,
  .about-sector-grid{
    grid-template-columns:1fr;
  }

  .about-process-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .about-team-grid{
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:620px){
  .about-facts,
  .about-process-grid,
  .about-team-grid{
    grid-template-columns:1fr;
  }

  .about-facts div{
    border-right:0;
    border-bottom:1px solid var(--line);
  }

  .about-summary-visual{
    min-height:500px;
  }

  .about-visual-primary{
    width:100%;
    height:400px;
  }

  .about-visual-secondary{
    width:55%;
    height:220px;
  }

  .about-visual-label{
    left:15px;
    bottom:15px;
    width:240px;
  }
}


/* =========================================================
   FINAL MODERN TEAM PAGE
   ========================================================= */

.team-modern-hero{
  background-image:
    linear-gradient(100deg,rgba(9,35,53,.94),rgba(22,69,87,.76)),
    url("../images/ai/hero-office.png");
}

.team-intro-section{
  padding-bottom:45px;
}

.team-modern-section{
  padding-top:55px;
  background:var(--cream);
}

.team-leadership-grid{
  display:grid;
  grid-template-columns:1.2fr .9fr .9fr;
  gap:24px;
}

.team-modern-card{
  overflow:hidden;
  border:1px solid var(--line);
  background:#fff;
  transition:transform .4s var(--ease-premium),box-shadow .4s ease;
}

.team-modern-card:hover{
  transform:translateY(-7px);
  box-shadow:0 24px 52px rgba(21,45,64,.14);
}

.team-modern-photo{
  height:320px;
  overflow:hidden;
  background:#eef4f5;
}

.team-modern-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
  transition:transform .7s var(--ease-premium);
}

.team-modern-card:hover img{
  transform:scale(1.04);
}

.team-featured .team-modern-photo{
  height:390px;
}

.team-modern-content{
  padding:28px;
}

.team-modern-content>span,
.team-support-card span{
  color:var(--cyan-deep);
  font-size:.62rem;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.team-modern-content h3{
  margin:7px 0 14px;
  font-size:1.55rem;
}

.team-modern-content p{
  color:var(--muted);
  line-height:1.75;
  font-size:.82rem;
}

.team-modern-content a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-top:22px;
  padding-top:16px;
  border-top:1px solid var(--line);
  font-size:.72rem;
  font-weight:800;
}

.team-modern-content a b{
  transition:transform .3s var(--ease-premium);
}

.team-modern-content a:hover b{
  transform:translate(4px,-4px);
}

.team-support-grid{
  margin-top:24px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
}

.team-support-card{
  padding:24px;
  border:1px solid var(--line);
  background:#fff;
  text-align:center;
  transition:transform .4s var(--ease-premium),box-shadow .4s ease;
}

.team-support-card:hover{
  transform:translateY(-6px);
  box-shadow:0 22px 46px rgba(21,45,64,.12);
}

.team-support-photo{
  width:150px;
  height:150px;
  margin:0 auto 22px;
  overflow:hidden;
  border-radius:50%;
  border:5px solid var(--cream);
  background:#eef4f5;
}

.team-support-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
}

.team-support-card h3{
  margin:7px 0 12px;
  font-size:1.2rem;
}

.team-support-card p{
  color:var(--muted);
  font-size:.78rem;
  line-height:1.7;
}

.team-values-section{
  background:#fff;
}

.team-values-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}

.team-values-grid article{
  min-height:260px;
  padding:30px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.team-values-grid span{
  color:var(--cyan-deep);
  font:700 2rem Oswald;
}

.team-values-grid h3{
  margin:45px 0 12px;
  font-size:1.3rem;
}

.team-values-grid p{
  color:var(--muted);
  line-height:1.7;
  font-size:.82rem;
}

@media(max-width:1050px){
  .team-leadership-grid{
    grid-template-columns:1fr 1fr;
  }

  .team-featured{
    grid-column:1/-1;
  }

  .team-support-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .team-values-grid{
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:620px){
  .team-leadership-grid,
  .team-support-grid,
  .team-values-grid{
    grid-template-columns:1fr;
  }

  .team-featured{
    grid-column:auto;
  }

  .team-modern-photo,
  .team-featured .team-modern-photo{
    height:340px;
  }
}


/* =========================================================
   TEAM PAGE — MORE PICTURES
   ========================================================= */

.team-gallery-section{
  background:#fff;
}

.team-gallery-grid{
  display:grid;
  grid-template-columns:1.2fr .8fr .8fr;
  grid-template-rows:repeat(2,300px);
  gap:20px;
}

.team-gallery-item{
  position:relative;
  overflow:hidden;
  margin:0;
  background:var(--navy-2);
}

.team-gallery-large{
  grid-row:1 / 3;
}

.team-gallery-item img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .9s var(--ease-premium),filter .65s ease;
}

.team-gallery-item:hover img{
  transform:scale(1.06);
  filter:saturate(1.05) contrast(1.03);
}

.team-gallery-item::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(8,30,45,.88),transparent 62%);
}

.team-gallery-item figcaption{
  position:absolute;
  left:24px;
  right:24px;
  bottom:22px;
  z-index:2;
  color:#fff;
}

.team-gallery-item figcaption span{
  display:block;
  color:var(--cyan);
  font-size:.62rem;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.team-gallery-item figcaption strong{
  display:block;
  margin-top:5px;
  font:600 1.15rem Oswald;
  text-transform:uppercase;
}

.team-field-section{
  background:var(--cream);
}

.team-field-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  gap:80px;
}

.team-field-image{
  position:relative;
  min-height:580px;
}

.team-field-image img{
  width:100%;
  height:580px;
  object-fit:cover;
}

.team-field-badge{
  position:absolute;
  left:28px;
  bottom:28px;
  width:300px;
  padding:24px;
  color:#fff;
  background:rgba(14,47,69,.9);
  backdrop-filter:blur(10px);
}

.team-field-badge span{
  display:block;
  color:var(--cyan);
  font-size:.62rem;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.team-field-badge strong{
  display:block;
  margin-top:7px;
  font:600 1.2rem Oswald;
  text-transform:uppercase;
}

.team-field-copy h2{
  font-size:clamp(2.6rem,5vw,4.2rem);
}

.team-field-copy>p:not(.eyebrow){
  margin-top:20px;
  color:var(--muted);
  line-height:1.8;
}

.team-field-points{
  margin:28px 0 32px;
  border-top:1px solid var(--line);
}

.team-field-points span{
  display:block;
  position:relative;
  padding:14px 0 14px 28px;
  border-bottom:1px solid var(--line);
  font-size:.84rem;
  font-weight:700;
}

.team-field-points span::before{
  content:"✓";
  position:absolute;
  left:0;
  color:var(--cyan-deep);
}

@media(max-width:980px){
  .team-gallery-grid{
    grid-template-columns:repeat(2,1fr);
    grid-template-rows:auto;
  }

  .team-gallery-item,
  .team-gallery-large{
    grid-row:auto;
    min-height:320px;
  }

  .team-field-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:620px){
  .team-gallery-grid{
    grid-template-columns:1fr;
  }

  .team-gallery-item{
    min-height:300px;
  }

  .team-field-image,
  .team-field-image img{
    min-height:440px;
    height:440px;
  }

  .team-field-badge{
    left:15px;
    right:15px;
    bottom:15px;
    width:auto;
  }
}


/* =========================================================
   TEAM MEMBER PHOTOS — FINAL
   ========================================================= */

/* Hide the previously-added stock image sections */
.team-gallery-section,
.team-field-section{
  display:none!important;
}

/* Photo-first team cards */
.team-modern-card,
.team-support-card{
  background:#fff;
}

.team-modern-photo{
  position:relative;
  height:360px;
  padding:24px;
  display:grid;
  place-items:center;
  background:
    radial-gradient(circle at 50% 38%,rgba(145,245,179,.18),transparent 34%),
    linear-gradient(145deg,#f8fcfb,#edf5f4);
}

.team-featured .team-modern-photo{
  height:420px;
}

.team-modern-photo img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  border-radius:16px;
  background:#eef5f4;
}

.team-support-photo{
  width:170px;
  height:170px;
  padding:8px;
  border:4px solid rgba(32,223,224,.22);
  background:
    radial-gradient(circle at 50% 38%,rgba(145,245,179,.2),transparent 38%),
    #eef5f4;
}

.team-support-photo img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  border-radius:50%;
  background:#eef5f4;
}

.team-modern-card:hover .team-modern-photo img,
.team-support-card:hover .team-support-photo img{
  transform:scale(1.025);
}

@media(max-width:620px){
  .team-modern-photo,
  .team-featured .team-modern-photo{
    height:360px;
  }

  .team-support-photo{
    width:155px;
    height:155px;
  }
}


/* =========================================================
   GLOBAL DARK BACKGROUND TEXT CONTRAST
   ========================================================= */

/* Main dark sections */
.dark-section,
.stats-band,
.site-footer,
.cta,
.power-catalog-section,
.capabilities-section,
.about-capability-section,
.profile-credentials-section,
.leadership-preview-section,
.team-modern-hero,
.team-values-section.dark-section,
.page-loader,
.map-placeholder,
.hero-panel,
.media-label,
.about-download-panel,
.profile-side-panel {
  color:#ffffff;
}

/* Headings */
.dark-section h1,
.dark-section h2,
.dark-section h3,
.dark-section h4,
.stats-band h1,
.stats-band h2,
.stats-band h3,
.stats-band h4,
.site-footer h1,
.site-footer h2,
.site-footer h3,
.site-footer h4,
.cta h1,
.cta h2,
.cta h3,
.cta h4,
.power-catalog-section h1,
.power-catalog-section h2,
.power-catalog-section h3,
.power-catalog-section h4,
.capabilities-section h1,
.capabilities-section h2,
.capabilities-section h3,
.capabilities-section h4,
.about-capability-section h1,
.about-capability-section h2,
.about-capability-section h3,
.about-capability-section h4,
.profile-credentials-section h1,
.profile-credentials-section h2,
.profile-credentials-section h3,
.profile-credentials-section h4,
.leadership-preview-section h1,
.leadership-preview-section h2,
.leadership-preview-section h3,
.leadership-preview-section h4,
.hero-panel h1,
.hero-panel h2,
.hero-panel h3,
.media-label h1,
.media-label h2,
.media-label h3,
.about-download-panel h1,
.about-download-panel h2,
.about-download-panel h3,
.profile-side-panel h1,
.profile-side-panel h2,
.profile-side-panel h3 {
  color:#ffffff !important;
}

/* Paragraphs and general text */
.dark-section p,
.dark-section li,
.dark-section span:not(.eyebrow):not(.service-number):not(.standard-number),
.dark-section strong,
.dark-section small,
.stats-band p,
.stats-band span,
.stats-band strong,
.site-footer p,
.site-footer span,
.site-footer strong,
.site-footer small,
.cta p,
.cta span,
.cta strong,
.power-catalog-section p,
.power-catalog-section li,
.power-catalog-section span,
.power-catalog-section strong,
.capabilities-section p,
.capabilities-section li,
.capabilities-section span:not(.eyebrow):not(.capability-index),
.capabilities-section strong,
.capabilities-section small,
.about-capability-section p,
.about-capability-section li,
.about-capability-section span:not(.eyebrow),
.about-capability-section strong,
.profile-credentials-section p,
.profile-credentials-section li,
.profile-credentials-section span:not(.eyebrow),
.profile-credentials-section strong,
.leadership-preview-section p,
.leadership-preview-section span:not(.eyebrow),
.leadership-preview-section strong,
.hero-panel p,
.hero-panel span,
.hero-panel strong,
.media-label p,
.media-label span,
.media-label strong,
.about-download-panel p,
.about-download-panel span,
.about-download-panel strong,
.profile-side-panel p,
.profile-side-panel span,
.profile-side-panel strong {
  color:#ffffff !important;
}

/* Links on dark backgrounds */
.dark-section a,
.stats-band a,
.site-footer a,
.cta a:not(.button-light):not(.button-gold),
.power-catalog-section a,
.capabilities-section a,
.about-capability-section a,
.profile-credentials-section a,
.leadership-preview-section a,
.hero-panel a,
.media-label a,
.about-download-panel a,
.profile-side-panel a {
  color:#ffffff !important;
}

/* Preserve accent labels */
.dark-section .eyebrow,
.capabilities-section .eyebrow,
.about-capability-section .eyebrow,
.power-catalog-section .eyebrow,
.profile-credentials-section .eyebrow,
.leadership-preview-section .eyebrow,
.cta .eyebrow,
.hero-panel .eyebrow {
  color:var(--cyan) !important;
}

/* Footer */
.site-footer,
.site-footer .footer-column,
.site-footer .footer-about,
.site-footer .footer-bottom {
  color:#ffffff;
}

.site-footer .footer-about p,
.site-footer .footer-column p,
.site-footer .footer-bottom p {
  color:rgba(255,255,255,.78) !important;
}

.site-footer .footer-column a,
.site-footer .footer-bottom a {
  color:#ffffff !important;
}

.site-footer .footer-column a:hover,
.site-footer .footer-bottom a:hover {
  color:var(--cyan) !important;
}

/* Navigation over dark backgrounds */
.site-header:not(.scrolled) .nav-menu a:not(.nav-button) {
  color:#ffffff !important;
}

.site-header:not(.scrolled) .menu-toggle {
  color:#ffffff !important;
}

/* Dark cards */
.service-preview,
.power-service,
.capability-card,
.capability-strip-card,
.about-sector-card,
.leadership-preview-card {
  color:#ffffff;
}

.service-preview h3,
.power-service h3,
.capability-card h3,
.capability-strip-card h3,
.about-sector-card h3,
.leadership-preview-card h3 {
  color:#ffffff !important;
}

.service-preview p,
.power-service p,
.capability-card p,
.capability-strip-card p,
.about-sector-card p,
.leadership-preview-card p {
  color:rgba(255,255,255,.76) !important;
}

/* Dark buttons remain readable */
.button-dark {
  color:#ffffff !important;
}

.button-light {
  color:var(--navy-2) !important;
}

.button-gold,
.nav-button {
  color:var(--navy-2) !important;
}

/* Avoid accidental dark text inside dark overlays */
.project-overlay,
.capability-feature-content,
.horizontal-panel-content,
.team-gallery-item figcaption,
.about-visual-label,
.team-field-badge {
  color:#ffffff;
}

.project-overlay h3,
.capability-feature-content h3,
.horizontal-panel-content h2,
.horizontal-panel-content h3,
.team-gallery-item figcaption strong,
.about-visual-label strong,
.team-field-badge strong {
  color:#ffffff !important;
}

.project-overlay span,
.capability-feature-content span:not(.capability-index),
.horizontal-panel-content span:not(.standard-number),
.team-gallery-item figcaption span,
.about-visual-label span,
.team-field-badge span {
  color:#ffffff;
}


/* ===== Accessibility / dark background contrast refresh ===== */
:root{
  --dark-text-force:#ffffff;
  --dark-text-soft:rgba(255,255,255,.92);
  --dark-text-muted:rgba(255,255,255,.82);
}

/* Apply strong white text contrast on all dark sections */
.dark-section,
.stats-band,
.cta,
.site-footer,
.profile-hero,
.power-catalog-section,
.about-profile-hero,
.profile-side-panel,
.page-hero,
.hero-panel,
.topbar,
.site-header,
.sector-overlay,
.project-tile,
.project-tile-content,
.service-highlight,
.service-feature,
.service-showcase,
.service-card-dark,
.contact-dark,
.construction-service,
.profile-quote-card,
.team-cta,
.footer-grid,
.footer-bottom,
.profile-download-card.is-dark,
[class*="dark"],
[class*="navy"]{
  color:var(--dark-text-force);
}

.dark-section :is(h1,h2,h3,h4,h5,h6,p,li,span,strong,small,em,a,label),
.stats-band :is(h1,h2,h3,h4,h5,h6,p,li,span,strong,small,em,a),
.cta :is(h1,h2,h3,h4,h5,h6,p,li,span,strong,small,em,a),
.site-footer :is(h1,h2,h3,h4,h5,h6,p,li,span,strong,small,em,a),
.profile-hero :is(h1,h2,h3,h4,h5,h6,p,li,span,strong,small,em,a),
.power-catalog-section :is(h1,h2,h3,h4,h5,h6,p,li,span,strong,small,em,a),
.about-profile-hero :is(h1,h2,h3,h4,h5,h6,p,li,span,strong,small,em,a),
.profile-side-panel :is(h1,h2,h3,h4,h5,h6,p,li,span,strong,small,em,a),
.page-hero :is(h1,h2,h3,h4,h5,h6,p,li,span,strong,small,em,a),
.hero-panel :is(h1,h2,h3,h4,h5,h6,p,li,span,strong,small,em,a),
.topbar :is(p,span,a,small,strong),
.site-header :is(.nav-link,.menu-toggle),
.project-tile :is(h1,h2,h3,h4,h5,h6,p,li,span,strong,small,em,a),
.service-feature :is(h1,h2,h3,h4,h5,h6,p,li,span,strong,small,em,a),
.service-highlight :is(h1,h2,h3,h4,h5,h6,p,li,span,strong,small,em,a),
.construction-service :is(h1,h2,h3,h4,h5,h6,p,li,span,strong,small,em,a){
  color:var(--dark-text-force)!important;
}

.dark-section .section-intro,
.stats-band .stat-label,
.site-footer .footer-note,
.site-footer .footer-copy,
.site-footer .copyright,
.profile-hero .muted,
.page-hero .eyebrow,
.hero-panel .eyebrow,
.topbar small,
.project-tile .meta,
.service-feature .meta,
.construction-service .meta{
  color:var(--dark-text-muted)!important;
}

/* Restore readable button colors */
.button-light,
.button-gold,
.nav-button,
.button-primary,
.button-secondary,
.button-cyan{
  color:var(--navy-2)!important;
}
.button-dark,
.button-ghost,
.button-ghost-dark{
  color:#ffffff!important;
}

.site-footer a:hover,
.dark-section a:hover,
.page-hero a:hover,
.hero-panel a:hover,
.cta a:hover{
  color:#ffffff!important;
  opacity:.92;
}


/* ===== Member photo refresh ===== */
.team-leadership-grid{
  grid-template-columns:repeat(4,1fr);
  align-items:stretch;
}
.team-featured{
  grid-column:span 1;
}
.team-modern-card .team-modern-photo{
  height:360px;
  padding:18px;
  background:linear-gradient(145deg,#f8fcfb,#edf5f4);
}
.team-featured .team-modern-photo{
  height:360px;
}
.team-modern-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
  border-radius:16px;
}
.about-team-card.with-photo{
  display:flex;
  align-items:center;
  gap:18px;
  padding:20px;
}
.about-team-card.with-photo img{
  width:74px;
  height:74px;
  border-radius:50%;
  object-fit:cover;
  object-position:center top;
  flex:0 0 74px;
}
.about-team-card.with-photo span{
  display:block;
  color:var(--cyan-deep);
  font-size:.62rem;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.about-team-card.with-photo h3{
  margin-top:6px;
  font-size:1.05rem;
}
.profile-photo img{
  width:100%;
  max-width:420px;
  border-radius:22px;
  object-fit:cover;
  object-position:center top;
  box-shadow:0 24px 48px rgba(17,28,42,.14);
}
@media(max-width:1200px){
  .team-leadership-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:700px){
  .team-leadership-grid{grid-template-columns:1fr;}
}


/* =========================================================
   UPDATED EBALCOM OFFICE LOCATION + MAP
   ========================================================= */
.map-card{
  margin-top:35px;
  overflow:hidden;
  border:1px solid var(--line);
  background:var(--navy-2);
  color:#fff;
  box-shadow:0 20px 48px rgba(21,45,64,.12);
}
.map-card-head{
  padding:30px 32px 24px;
}
.map-card-head span{
  display:block;
  color:var(--cyan);
  font-size:.66rem;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.map-card-head strong{
  display:block;
  margin-top:10px;
  color:#fff!important;
  font:600 1.55rem Oswald;
  text-transform:uppercase;
}
.map-card-head p,
.map-card-head small{
  color:rgba(255,255,255,.82)!important;
}
.map-card-head p{margin-top:8px}
.map-card-head small{display:block;margin-top:6px}
.map-embed-wrap{
  height:360px;
  background:#dfe9ec;
}
.map-embed-wrap iframe{
  display:block;
  width:100%;
  height:100%;
  border:0;
}
.map-open-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:17px 32px;
  color:#fff!important;
  border-top:1px solid rgba(255,255,255,.12);
  font-size:.75rem;
  font-weight:800;
  letter-spacing:.04em;
  transition:background .25s ease,color .25s ease;
}
.map-open-link:hover{
  background:var(--cyan);
  color:var(--navy-2)!important;
}
@media(max-width:620px){
  .map-card-head{padding:24px 20px 20px}
  .map-embed-wrap{height:300px}
  .map-open-link{padding:15px 20px}
}


/* =========================================================
   TEAM DETAIL REDESIGN
   ========================================================= */
.member-detail-hero{
  position:relative;
  overflow:hidden;
  padding:150px 0 90px;
  background:
    radial-gradient(circle at 18% 22%, rgba(145,240,179,.18), transparent 18%),
    radial-gradient(circle at 82% 20%, rgba(37,214,218,.20), transparent 20%),
    linear-gradient(118deg, rgba(7,31,48,.98), rgba(14,56,78,.94));
}
.member-detail-hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,.03), transparent 45%);
  pointer-events:none;
}
.member-hero-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:420px 1fr;
  gap:64px;
  align-items:center;
}
.member-hero-photo{position:relative}
.member-hero-photo::before{
  content:"";
  position:absolute;
  inset:-18px auto auto -18px;
  width:100%;height:100%;
  border:1px solid rgba(255,255,255,.12);
  border-radius:28px;
}
.member-hero-photo img{
  width:100%;
  height:520px;
  object-fit:cover;
  object-position:center top;
  border-radius:28px;
  box-shadow:0 26px 64px rgba(0,0,0,.28);
}
.member-hero-copy h1{font-size:clamp(3.2rem,7vw,5.8rem);color:#fff}
.member-hero-copy h2{margin:10px 0 18px;font-size:clamp(1.2rem,2vw,1.85rem);color:rgba(255,255,255,.84);font-weight:700;letter-spacing:.03em;text-transform:uppercase}
.member-hero-copy p:not(.eyebrow){max-width:760px;color:rgba(255,255,255,.84);font-size:1.02rem;line-height:1.95}
.member-tag-list{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.member-tag-list span{display:inline-flex;align-items:center;padding:11px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:#fff;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.member-hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
.button-ghost-light{border:1px solid rgba(255,255,255,.22);color:#fff;background:transparent}
.button-ghost-light:hover{background:#fff;color:var(--navy)}
.member-overview-section{background:linear-gradient(180deg,#f6fafb, #ffffff)}
.member-overview-grid{display:grid;grid-template-columns:.76fr 1.24fr;gap:34px;align-items:start}
.member-facts-card{position:sticky;top:110px;padding:34px;border:1px solid var(--line);background:linear-gradient(145deg,#fff,#f7fbfc);box-shadow:0 18px 46px rgba(17,46,67,.07)}
.member-facts-card h3{font-size:2rem;margin:8px 0 12px}
.member-facts-card p{color:var(--muted);line-height:1.85}
.member-facts-list{margin-top:26px;border-top:1px solid var(--line)}
.member-facts-list div{padding:16px 0;border-bottom:1px solid var(--line)}
.member-facts-list span{display:block;color:var(--muted);font-size:.66rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.member-facts-list strong{display:block;margin-top:8px;font-size:1rem;color:var(--text);line-height:1.6}
.member-overview-copy>p:not(.eyebrow){color:var(--muted)}
.member-overview-copy h2{font-size:clamp(2.6rem,5vw,4.2rem);max-width:780px}
.member-card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:30px}
.member-info-card{padding:28px;border:1px solid var(--line);background:#fff;box-shadow:0 12px 36px rgba(17,46,67,.06)}
.member-info-card h3{margin-bottom:12px;font-size:1.28rem}
.member-info-card p,.member-info-card li{color:var(--muted);line-height:1.9}
.member-info-card ul{padding-left:18px;margin:0}
.member-skills-section{background:var(--cream)}
.member-skills-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.member-skills-card{padding:28px;border:1px solid var(--line);background:#fff}
.member-skill-item+.member-skill-item{margin-top:20px}
.member-skill-top{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:9px}
.member-skill-top span{font-size:.84rem;font-weight:700;color:var(--text)}
.member-skill-top strong{font-size:.78rem;color:var(--cyan-deep)}
.member-skill-bar{height:10px;border-radius:999px;background:#e7ecef;overflow:hidden}
.member-skill-bar b{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--gold),#f5d645)}
.member-directory-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.member-directory-card{display:block;padding:20px;border:1px solid var(--line);background:#fff;text-decoration:none;color:inherit;transition:transform .35s var(--ease-premium),box-shadow .35s ease}
.member-directory-card:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(17,46,67,.10)}
.member-directory-card img{width:100%;height:220px;object-fit:cover;object-position:center top;border-radius:18px}
.member-directory-card h3{margin:14px 0 6px;font-size:1.1rem}
.member-directory-card p{color:var(--muted)}
.team-support-card a,
.team-modern-content a{display:inline-flex;align-items:center;gap:6px;margin-top:14px;color:var(--cyan-deep);font-weight:800;text-decoration:none}
.team-support-card a b,
.team-modern-content a b{font-size:1rem;line-height:1}
/* improve visibility on dark sections */
.team-modern-hero h1,
.team-modern-hero p:not(.eyebrow),
.team-modern-hero .eyebrow,
.cta h2,
.cta p,
.profile-hero h1,
.profile-hero p,
.site-footer p,
.site-footer a,
.site-footer h3,
.member-detail-hero :is(h1,h2,h3,h4,p,span,strong,a),
.button-ghost-light{
  opacity:1 !important;
}
.team-intro-section .section-head h2,
.team-intro-section .section-head p,
.team-values-section .section-head h2,
.team-values-section .section-head p{
  color:var(--text) !important;
}
@media(max-width:1150px){
  .member-hero-grid,.member-overview-grid{grid-template-columns:1fr}
  .member-card-grid,.member-skills-grid,.member-directory-grid{grid-template-columns:repeat(2,1fr)}
  .member-facts-card{position:static}
}
@media(max-width:720px){
  .member-detail-hero{padding:136px 0 74px}
  .member-hero-photo img{height:420px}
  .member-card-grid,.member-skills-grid,.member-directory-grid{grid-template-columns:1fr}
  .member-hero-actions{flex-direction:column}
  .member-hero-actions .button{width:100%}
}


/* =========================================================
   FINAL USER REQUESTED UPDATES
   ========================================================= */
.page-loader{
  position:fixed;
  inset:0;
  z-index:9999;
  display:grid;
  place-items:center;
  background:rgba(9, 26, 40, .96);
  backdrop-filter:blur(2px);
  transition:opacity .35s ease, visibility .35s ease;
}
.page-loader.hidden{opacity:0;visibility:hidden}
.dot-loader{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:18px;
  text-align:center;
}
.dot-loader img{
  width:94px;
  height:auto;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.15));
}
.dot-loader-text{
  display:flex;
  align-items:center;
  gap:8px;
  color:#fff;
  font-size:.95rem;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.loading-dots{
  display:inline-flex;
  gap:6px;
  align-items:center;
}
.loading-dots i{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#25d6da;
  display:block;
  animation:loaderDot 1s infinite ease-in-out;
}
.loading-dots i:nth-child(2){animation-delay:.16s}
.loading-dots i:nth-child(3){animation-delay:.32s}
.logo-loader,.logo-loader-line{display:none !important}
@keyframes loaderDot{
  0%, 80%, 100%{transform:scale(.45);opacity:.35}
  40%{transform:scale(1);opacity:1}
}
.team-leadership-grid{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}
@media(max-width:980px){
  .team-leadership-grid{grid-template-columns:1fr}
}


/* =========================================================
   REAL PROJECT IMAGES + COMPANY PROFILE DOWNLOAD
   ========================================================= */
.project-real-card .portfolio-image{
  height:330px;
  overflow:hidden;
  background:#eaf1f3;
}
.project-real-card .portfolio-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.profile-download-projects{
  padding:78px 0;
  color:#fff;
  background:
    radial-gradient(circle at 82% 25%, rgba(37,214,218,.18), transparent 24%),
    linear-gradient(125deg,#0a2b43,#123f5b);
}
.profile-download-projects-inner{
  display:grid;
  grid-template-columns:1fr auto;
  gap:48px;
  align-items:center;
}
.profile-download-projects h2{
  color:#fff !important;
  font-size:clamp(2.2rem,4.5vw,4rem);
  max-width:760px;
}
.profile-download-projects p,
.profile-download-projects .eyebrow{
  color:#fff !important;
}
.profile-download-projects p:not(.eyebrow){
  max-width:780px;
  margin-top:14px;
  color:rgba(255,255,255,.82) !important;
  line-height:1.8;
}
.profile-download-actions{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:14px;
}
.profile-download-text-link{
  color:#fff !important;
  font-weight:800;
  font-size:.78rem;
  border-bottom:1px solid rgba(255,255,255,.4);
}
.profile-download-text-link:hover{border-color:#fff}
@media(max-width:860px){
  .profile-download-projects-inner{grid-template-columns:1fr}
  .profile-download-actions{width:100%}
  .profile-download-actions .button{width:100%;text-align:center}
}


/* =========================================================
   SIMPLE FOUR-DOT LOADER
   ========================================================= */
.page-loader{
  position:fixed;
  inset:0;
  z-index:9999;
  display:grid;
  place-items:center;
  background:#ffffff;
  transition:opacity .22s ease, visibility .22s ease;
}
.page-loader.hidden{
  opacity:0;
  visibility:hidden;
}
.simple-dots-loader{
  display:flex;
  align-items:flex-end;
  justify-content:center;
  gap:4px;
  color:var(--navy-2);
  font-family:Manrope,Arial,sans-serif;
  font-size:2rem;
  font-weight:800;
  line-height:1;
  letter-spacing:0;
}
.simple-dots-loader span{
  display:block;
  animation:simpleDotPulse 1s infinite ease-in-out;
}
.simple-dots-loader span:nth-child(2){animation-delay:.12s}
.simple-dots-loader span:nth-child(3){animation-delay:.24s}
.simple-dots-loader span:nth-child(4){animation-delay:.36s}
@keyframes simpleDotPulse{
  0%,70%,100%{opacity:.22;transform:translateY(0)}
  35%{opacity:1;transform:translateY(-3px)}
}
.logo-loader,
.dot-loader,
.logo-loader-line,
.dot-loader-text,
.loading-dots{
  display:none!important;
}
@media(prefers-reduced-motion:reduce){
  .simple-dots-loader span{animation:none;opacity:1}
}


/* =========================================================
   RESPONSIVE SYSTEM + LIGHT / DARK THEME
   ========================================================= */
:root{
  --surface:#ffffff;
  --surface-alt:#effbf8;
  --surface-raised:#ffffff;
  --surface-input:#ffffff;
  --theme-shadow:0 18px 46px rgba(21,45,64,.10);
  --focus-ring:0 0 0 3px rgba(32,223,224,.26);
}
html[data-theme="dark"]{
  color-scheme:dark;
  --surface:#081a27;
  --surface-alt:#0d2433;
  --surface-raised:#102b3b;
  --surface-input:#0b2231;
  --cream:#0d2433;
  --white:#102b3b;
  --text:#f4fbff;
  --muted:#b3c8d3;
  --line:rgba(255,255,255,.13);
  --shadow:0 24px 70px rgba(0,0,0,.34);
  --theme-shadow:0 18px 46px rgba(0,0,0,.24);
}
html,body{min-width:0;max-width:100%}
body{
  background:var(--surface);
  color:var(--text);
  transition:background-color .28s ease,color .28s ease;
}
img,svg,video,iframe{max-width:100%}
iframe{border:0}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:2px solid var(--cyan);
  outline-offset:3px;
}

/* Theme toggle */
.theme-toggle{
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:0;
  border:0;
  background:transparent;
  color:inherit;
  cursor:pointer;
  flex-shrink:0;
}
.theme-toggle-track{
  position:relative;
  width:56px;
  height:30px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 7px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:999px;
  background:rgba(255,255,255,.10);
  overflow:hidden;
}
.site-header.scrolled .theme-toggle-track{
  border-color:var(--line);
  background:var(--surface-alt);
}
.theme-toggle-track i{font-style:normal;font-size:.82rem;line-height:1;z-index:1}
.theme-sun{color:#ffd95a}.theme-moon{color:#d7e8f4}
.theme-thumb{
  position:absolute;
  left:3px;
  top:3px;
  width:22px;
  height:22px;
  border-radius:50%;
  background:#ffffff;
  box-shadow:0 3px 10px rgba(0,0,0,.22);
  transition:transform .28s cubic-bezier(.22,1,.36,1),background .28s ease;
}
html[data-theme="dark"] .theme-thumb{transform:translateX(26px);background:var(--cyan)}
.theme-toggle-label{display:none;font-size:.72rem;font-weight:800}

/* Dark theme core surfaces */
html[data-theme="dark"] .site-header.scrolled{
  background:#0a1f2d;
  color:#fff;
  box-shadow:0 10px 35px rgba(0,0,0,.22);
}
html[data-theme="dark"] .nav-menu{color:#fff}
html[data-theme="dark"] .cream-section,
html[data-theme="dark"] .team-modern-section,
html[data-theme="dark"] .team-values-section,
html[data-theme="dark"] .about-purpose-section,
html[data-theme="dark"] .about-process-section,
html[data-theme="dark"] .about-team-section,
html[data-theme="dark"] .about-credentials-section,
html[data-theme="dark"] .member-overview-section,
html[data-theme="dark"] .member-skills-section,
html[data-theme="dark"] .profile-text-section,
html[data-theme="dark"] .company-profile-overview,
html[data-theme="dark"] .service-catalog-section,
html[data-theme="dark"] .construction-catalog-section,
html[data-theme="dark"] .delivery-lifecycle,
html[data-theme="dark"] .team-intro-section,
html[data-theme="dark"] .team-gallery-section,
html[data-theme="dark"] .team-field-section{
  background-color:var(--surface-alt)!important;
  color:var(--text);
}
html[data-theme="dark"] .section:not(.dark-section):not(.about-capability-section):not(.power-catalog-section):not(.profile-credentials-section){
  color:var(--text);
}
html[data-theme="dark"] .section-head.dark-heading,
html[data-theme="dark"] .section-head.dark-heading h2,
html[data-theme="dark"] .team-intro-section .section-head h2,
html[data-theme="dark"] .team-values-section .section-head h2,
html[data-theme="dark"] .about-summary-copy h2,
html[data-theme="dark"] .about-credentials-copy h2,
html[data-theme="dark"] .member-overview-copy h2{
  color:var(--text)!important;
}
html[data-theme="dark"] .section-head.dark-heading>p,
html[data-theme="dark"] .team-intro-section .section-head p,
html[data-theme="dark"] .team-values-section .section-head p,
html[data-theme="dark"] .content>p:not(.eyebrow),
html[data-theme="dark"] .narrow>p:not(.eyebrow),
html[data-theme="dark"] .project-story>p:not(.eyebrow),
html[data-theme="dark"] .profile-story>p:not(.eyebrow),
html[data-theme="dark"] .about-summary-copy>p:not(.eyebrow),
html[data-theme="dark"] .about-credentials-copy>p:not(.eyebrow),
html[data-theme="dark"] .member-overview-copy>p:not(.eyebrow){
  color:var(--muted)!important;
}

/* Cards / form controls in dark theme */
html[data-theme="dark"] :is(
  .portfolio-card,.team-card,.team-modern-card,.team-support-card,.value-card,
  .profile-download-card,.profile-highlight-card,.profile-text-card,.about-purpose-card,
  .about-team-card,.member-facts-card,.member-info-card,.member-skills-card,
  .member-directory-card,.catalog-card,.sector-clean-service,.lifecycle-grid>div,
  .construction-service,.contact-form,.service-card,.project-facts
){
  background:var(--surface-raised)!important;
  color:var(--text);
  border-color:var(--line)!important;
  box-shadow:var(--theme-shadow);
}
html[data-theme="dark"] :is(.portfolio-copy p,.team-support-card p,.team-modern-content p,.profile-download-card p,.profile-highlight-card p,.profile-text-card p,.about-purpose-card p,.member-facts-card p,.member-info-card p,.member-info-card li,.member-facts-list span,.catalog-copy p,.lifecycle-grid p,.contact-list span){
  color:var(--muted)!important;
}
html[data-theme="dark"] :is(.portfolio-copy h2,.team-modern-content h3,.team-support-card h3,.profile-download-card h3,.profile-highlight-card h3,.profile-text-card h3,.about-purpose-card h3,.member-facts-card h3,.member-info-card h3,.catalog-copy h3,.lifecycle-grid h3,.contact-form h2){
  color:var(--text)!important;
}
html[data-theme="dark"] .contact-form input,
html[data-theme="dark"] .contact-form select,
html[data-theme="dark"] .contact-form textarea{
  background:var(--surface-input);
  color:var(--text);
  border-color:var(--line);
}
html[data-theme="dark"] .contact-form input::placeholder,
html[data-theme="dark"] .contact-form textarea::placeholder{color:#86a0ae}
html[data-theme="dark"] .filter-bar button{
  color:var(--text);
  border-color:var(--line);
  background:var(--surface-raised);
}
html[data-theme="dark"] .filter-bar button.active,
html[data-theme="dark"] .filter-bar button:hover{background:var(--cyan);color:#08212f}
html[data-theme="dark"] .simple-dots-loader{color:#fff}
html[data-theme="dark"] .page-loader{background:#081a27}

/* Preserve white type on all deliberately dark backgrounds in both themes */
:is(.dark-section,.stats-band,.cta,.site-footer,.page-hero,.hero,.profile-hero,.power-catalog-section,.about-capability-section,.profile-credentials-section,.profile-download-projects,.member-detail-hero,.map-placeholder) :is(h1,h2,h3,h4,h5,h6,p,li,strong,small,a){
  color:#fff;
}
:is(.dark-section,.stats-band,.cta,.site-footer,.page-hero,.hero,.profile-hero,.power-catalog-section,.about-capability-section,.profile-credentials-section,.profile-download-projects,.member-detail-hero,.map-placeholder) .eyebrow{
  color:var(--cyan)!important;
}

/* Responsive baseline */
.container{width:min(1180px,calc(100% - 48px))}
.section{padding:clamp(68px,8vw,120px) 0}
.page-hero{padding-left:0;padding-right:0}
.hero h1,.page-hero h1,.member-hero-copy h1{overflow-wrap:break-word}

@media(max-width:1180px){
  .container{width:min(100% - 40px,1080px)}
  .nav-menu{gap:18px}
  .nav-menu a{font-size:.78rem}
  .brand-logo{width:165px}
  .split,.about-summary-grid,.about-credentials-grid,.team-field-grid{gap:54px}
  .team-support-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .about-process-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .member-directory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:900px){
  .container{width:min(100% - 32px,820px)}
  .site-header{background:rgba(10,31,45,.94)}
  html[data-theme="light"] .site-header.scrolled{background:#fff;color:var(--navy-2)}
  html[data-theme="dark"] .site-header.scrolled{background:#0a1f2d;color:#fff}
  .nav-menu{
    top:74px;
    width:min(390px,92vw);
    max-width:100%;
    padding:24px 24px 36px;
    background:var(--surface);
    color:var(--text);
    overflow-y:auto;
    overscroll-behavior:contain;
  }
  html[data-theme="dark"] .nav-menu{background:#0a1f2d;color:#fff}
  .nav-menu a{font-size:.9rem;padding:14px 0}
  .nav-menu .theme-toggle{margin:16px 0 4px;padding:8px 0;justify-content:space-between;border-bottom:1px solid var(--line)}
  .theme-toggle-label{display:block}
  .hero-layout,.split,.contact-layout,.service-detail-grid,.project-summary,.profile-content,.profile-layout,.about-summary-grid,.about-credentials-grid,.team-field-grid,.member-hero-grid,.member-overview-grid{grid-template-columns:1fr!important}
  .hero-layout{gap:38px}
  .hero-panel{width:100%;max-width:none}
  .service-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .about-sector-grid,.about-purpose-grid,.sector-overview-grid{grid-template-columns:1fr}
  .about-process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .team-leadership-grid{grid-template-columns:1fr!important}
  .project-showcase{grid-template-columns:1fr;grid-template-rows:none}
  .project-tile,.project-tile.large{min-height:420px;grid-row:auto}
  .portfolio-grid{grid-template-columns:1fr}
  .project-gallery{grid-template-columns:1fr 1fr;grid-template-rows:none}
  .project-gallery img,.project-gallery img:first-child{height:360px;grid-row:auto}
  .project-gallery img:first-child{grid-column:1/-1}
  .footer-grid{grid-template-columns:1.2fr 1fr 1fr}
  .footer-grid .footer-about{grid-column:1/-1}
  .profile-download-projects-inner{grid-template-columns:1fr}
  .member-card-grid,.member-skills-grid{grid-template-columns:1fr 1fr}
}

@media(max-width:640px){
  .container{width:calc(100% - 28px)}
  .nav-inner{height:70px}
  .nav-menu{top:70px;height:calc(100dvh - 70px)}
  .brand-logo{width:138px;height:44px}
  .menu-toggle{width:44px;height:44px}
  .home-hero{padding:96px 0 64px}
  .hero-layout{padding-top:32px}
  .hero h1,.page-hero h1{font-size:clamp(2.55rem,12vw,3.55rem)}
  .content h2,.section-head h2,.narrow h2,.contact-information h2,.project-story h2,.profile-story h2,.about-summary-copy h2,.member-overview-copy h2{font-size:clamp(2.15rem,9vw,3rem)}
  .hero-actions,.member-hero-actions,.download-actions{flex-direction:column;width:100%}
  .hero-actions .button,.member-hero-actions .button,.download-actions .button{width:100%}
  .hero-proof,.stats-grid,.service-preview-grid,.tick-grid,.form-row,.team-grid,.footer-grid,.team-support-grid,.about-process-grid,.member-card-grid,.member-skills-grid,.member-directory-grid,.profile-highlights-grid,.profile-text-columns{grid-template-columns:1fr!important}
  .section-head{gap:20px;margin-bottom:36px}
  .service-preview{min-height:330px}
  .main-image{height:390px}
  .media-stack{padding:0 0 20px 20px}
  .media-label{position:relative;right:auto;bottom:auto;width:100%;margin-top:-40px;margin-left:20px;max-width:calc(100% - 20px)}
  .portfolio-image,.project-real-card .portfolio-image{height:280px}
  .project-gallery{grid-template-columns:1fr}
  .project-gallery img,.project-gallery img:first-child{height:280px;grid-column:auto}
  .contact-form{padding:24px 18px}
  .footer-bottom{gap:12px;align-items:flex-start}
  .footer-bottom div{flex-wrap:wrap}
  .team-modern-photo,.team-featured .team-modern-photo{height:350px}
  .team-support-photo{width:145px;height:145px}
  .member-hero-photo img{height:min(520px,115vw)}
  .member-facts-card{position:static}
  .filter-bar{display:flex;overflow-x:auto;gap:8px;padding-bottom:8px;scrollbar-width:none}
  .filter-bar::-webkit-scrollbar{display:none}
  .filter-bar button{flex:0 0 auto;min-height:44px}
  .profile-download-projects{padding:60px 0}
  .profile-download-actions{width:100%}
  .profile-download-actions .button{width:100%}
}

@media(max-width:380px){
  .container{width:calc(100% - 22px)}
  .brand-logo{width:122px}
  .hero h1,.page-hero h1{font-size:2.4rem}
  .button{padding-left:18px;padding-right:18px}
  .portfolio-copy,.team-modern-content,.profile-download-card,.member-info-card,.member-skills-card{padding-left:20px;padding-right:20px}
}

@media(min-width:1600px){
  :root{--container:min(1320px,calc(100% - 80px))}
  .hero-layout{gap:90px}
  .home-hero .container,.page-hero .container{max-width:1320px}
}

@media(orientation:landscape) and (max-height:620px) and (max-width:1000px){
  .home-hero{min-height:auto;padding-top:100px}
  .page-hero{min-height:520px;padding-top:130px;padding-bottom:60px}
  .nav-menu{height:calc(100dvh - 70px)}
}

@media(pointer:coarse){
  .nav-menu a,.button,.filter-bar button,.theme-toggle{min-height:44px}
  .portfolio-card:hover img,.team-modern-card:hover img,.project-tile:hover img{transform:none}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}

/* =========================================================
   FINAL THEME + PROJECT VISIBILITY REPAIR
   ========================================================= */

/* Keep semantic theme variables predictable */
html[data-theme="light"]{
  color-scheme:light;
  --surface:#ffffff;
  --surface-alt:#effbf8;
  --surface-raised:#ffffff;
  --surface-input:#ffffff;
  --cream:#effbf8;
  --white:#ffffff;
  --text:#173246;
  --muted:#657b89;
  --line:#d8e5e8;
}
html[data-theme="dark"]{
  color-scheme:dark;
  --surface:#081a27;
  --surface-alt:#0d2433;
  --surface-raised:#102b3b;
  --surface-input:#0b2231;
  --cream:#0d2433;
  --white:#102b3b;
  --text:#f6fbff;
  --muted:#b6cad4;
  --line:rgba(255,255,255,.14);
}

html[data-theme="light"] body{background:#fff;color:#173246}
html[data-theme="dark"] body{background:#081a27;color:#f6fbff}

/* Light surfaces: Home, Services, Projects and general page content */
html[data-theme="light"] :is(
  .cream-section,.service-catalog-section,.construction-catalog-section,
  .delivery-lifecycle,.team-modern-section,.team-values-section,
  .about-purpose-section,.about-process-section,.about-team-section,
  .about-credentials-section,.member-overview-section,.member-skills-section,
  .profile-text-section,.company-profile-overview,.team-intro-section,
  .team-gallery-section,.team-field-section,.service-sectors-clean,
  .profile-sections,.profile-text-section,.about-summary-section,
  .about-process-section,.about-team-section
){background:#effbf8!important;color:#173246!important}

html[data-theme="light"] :is(
  .portfolio-card,.service-click-card,.sector-clean-service,.service-preview,
  .team-modern-card,.team-support-card,.value-card,.profile-download-card,
  .profile-highlight-card,.profile-text-card,.about-purpose-card,
  .about-team-card,.member-facts-card,.member-info-card,.member-skills-card,
  .member-directory-card,.catalog-card,.lifecycle-grid>div,.construction-service,
  .contact-form,.service-card,.project-facts
){background:#fff!important;color:#173246!important;border-color:#d8e5e8!important}

html[data-theme="light"] :is(
  .portfolio-copy h2,.portfolio-copy h3,.service-click-card h3,.sector-clean-service h3,
  .service-preview h3,.team-modern-content h3,.team-support-card h3,
  .value-card h3,.profile-download-card h3,.profile-highlight-card h3,
  .profile-text-card h3,.about-purpose-card h3,.about-team-card h3,
  .member-facts-card h3,.member-info-card h3,.catalog-copy h3,
  .lifecycle-grid h3,.construction-service h3,.contact-form h2
){color:#173246!important}

html[data-theme="light"] :is(
  .portfolio-copy p,.service-click-card p,.sector-clean-service p,.service-preview p,
  .team-modern-content p,.team-support-card p,.value-card p,.profile-download-card p,
  .profile-highlight-card p,.profile-text-card p,.about-purpose-card p,
  .member-facts-card p,.member-info-card p,.member-info-card li,.catalog-copy p,
  .lifecycle-grid p,.construction-service p,.contact-list span
){color:#657b89!important}

/* Dark theme surfaces and cards */
html[data-theme="dark"] :is(
  .cream-section,.service-catalog-section,.construction-catalog-section,
  .delivery-lifecycle,.team-modern-section,.team-values-section,
  .about-purpose-section,.about-process-section,.about-team-section,
  .about-credentials-section,.member-overview-section,.member-skills-section,
  .profile-text-section,.company-profile-overview,.team-intro-section,
  .team-gallery-section,.team-field-section,.service-sectors-clean,
  .profile-sections,.about-summary-section
){background:#0d2433!important;color:#f6fbff!important}

html[data-theme="dark"] :is(
  .portfolio-card,.service-click-card,.sector-clean-service,.service-preview,
  .team-modern-card,.team-support-card,.value-card,.profile-download-card,
  .profile-highlight-card,.profile-text-card,.about-purpose-card,
  .about-team-card,.member-facts-card,.member-info-card,.member-skills-card,
  .member-directory-card,.catalog-card,.lifecycle-grid>div,.construction-service,
  .contact-form,.service-card,.project-facts
){background:#102b3b!important;color:#f6fbff!important;border-color:rgba(255,255,255,.14)!important}

html[data-theme="dark"] :is(
  .portfolio-copy h2,.portfolio-copy h3,.service-click-card h3,.sector-clean-service h3,
  .service-preview h3,.team-modern-content h3,.team-support-card h3,.value-card h3,
  .profile-download-card h3,.profile-highlight-card h3,.profile-text-card h3,
  .about-purpose-card h3,.about-team-card h3,.member-facts-card h3,
  .member-info-card h3,.catalog-copy h3,.lifecycle-grid h3,
  .construction-service h3,.contact-form h2
){color:#fff!important}

html[data-theme="dark"] :is(
  .portfolio-copy p,.service-click-card p,.sector-clean-service p,.service-preview p,
  .team-modern-content p,.team-support-card p,.value-card p,.profile-download-card p,
  .profile-highlight-card p,.profile-text-card p,.about-purpose-card p,
  .member-facts-card p,.member-info-card p,.member-info-card li,.catalog-copy p,
  .lifecycle-grid p,.construction-service p,.contact-list span
){color:#b6cad4!important}

/* Deliberately dark sections are always dark and always use white text */
:is(
  .hero,.home-hero,.page-hero,.dark-section,.stats-band,.cta,.site-footer,
  .profile-hero,.power-catalog-section,.about-capability-section,
  .profile-credentials-section,.profile-download-projects,.member-detail-hero,
  .map-placeholder,.capabilities-section
){color:#fff!important}
:is(
  .hero,.home-hero,.page-hero,.dark-section,.stats-band,.cta,.site-footer,
  .profile-hero,.power-catalog-section,.about-capability-section,
  .profile-credentials-section,.profile-download-projects,.member-detail-hero,
  .map-placeholder,.capabilities-section
) :is(h1,h2,h3,h4,h5,h6,p,li,strong,small,a,label){color:#fff!important}
:is(
  .hero,.home-hero,.page-hero,.dark-section,.stats-band,.cta,.site-footer,
  .profile-hero,.power-catalog-section,.about-capability-section,
  .profile-credentials-section,.profile-download-projects,.member-detail-hero,
  .map-placeholder,.capabilities-section
) .eyebrow{color:var(--cyan)!important}

/* Home page light/dark consistency */
html[data-theme="light"] :is(.service-preview-grid,.value-grid,.project-showcase){color:#173246}
html[data-theme="dark"] :is(.service-preview-grid,.value-grid){color:#f6fbff}
html[data-theme="light"] .section-head:not(.on-dark) :is(h1,h2,h3){color:#173246!important}
html[data-theme="dark"] .section-head:not(.on-dark) :is(h1,h2,h3){color:#f6fbff!important}
html[data-theme="light"] .section-head:not(.on-dark)>p{color:#657b89!important}
html[data-theme="dark"] .section-head:not(.on-dark)>p{color:#b6cad4!important}

/* Services page consistency */
html[data-theme="light"] .service-sectors-clean{background:#fff!important}
html[data-theme="dark"] .service-sectors-clean{background:#081a27!important}
html[data-theme="dark"] .sector-clean-heading h2{color:#fff!important}
html[data-theme="dark"] .sector-clean-heading>p{color:#b6cad4!important}
html[data-theme="light"] .sector-clean-heading h2{color:#173246!important}
html[data-theme="light"] .sector-clean-heading>p{color:#657b89!important}
html[data-theme="dark"] .sector-clean-image figcaption{color:#fff!important}

/* Header and mobile navigation */
html[data-theme="light"] .site-header.scrolled{background:rgba(255,255,255,.97)!important;color:#173246!important}
html[data-theme="light"] .site-header.scrolled .nav-menu a:not(.nav-button){color:#173246!important}
html[data-theme="dark"] .site-header.scrolled{background:rgba(8,26,39,.98)!important;color:#fff!important}
html[data-theme="dark"] .site-header.scrolled .nav-menu a:not(.nav-button){color:#fff!important}
html[data-theme="light"] .theme-toggle-track{border-color:#cbd9de;background:#eef5f7}
html[data-theme="dark"] .theme-toggle-track{border-color:rgba(255,255,255,.22);background:rgba(255,255,255,.08)}

@media(max-width:900px){
  html[data-theme="light"] .nav-menu{background:#fff!important;color:#173246!important}
  html[data-theme="light"] .nav-menu a:not(.nav-button){color:#173246!important}
  html[data-theme="dark"] .nav-menu{background:#081a27!important;color:#fff!important}
  html[data-theme="dark"] .nav-menu a:not(.nav-button){color:#fff!important}
}

/* PROJECTS: force real cards and images visible in every theme.
   Previous reveal animation could leave the grid at opacity:0. */
.portfolio-grid{
  position:relative;
  z-index:1;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
}
.portfolio-grid.reveal,
.portfolio-card.reveal{
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
}
.portfolio-card{
  display:block;
  overflow:hidden;
  opacity:1!important;
  visibility:visible!important;
}
.portfolio-card.hidden{display:none!important}
.portfolio-image{
  display:block!important;
  min-height:300px;
  background:#dbe6ea;
}
.portfolio-image img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  opacity:1!important;
  visibility:visible!important;
  filter:none!important;
  clip-path:none!important;
  transform:none;
}
html[data-theme="dark"] .portfolio-image{background:#081a27}
html[data-theme="dark"] .portfolio-copy a{color:var(--cyan)!important}
html[data-theme="light"] .portfolio-copy a{color:#087f8c!important}

/* Project filter region itself should not become an empty oversized block */
.cream-section:has(.portfolio-grid){min-height:0!important}

/* Forms: no hard-coded white background on focus */
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus{background:var(--surface-input)!important;color:var(--text)!important}

/* Theme toggle button accessibility */
.theme-toggle{min-width:56px;min-height:44px;justify-content:center}

@media(max-width:640px){
  .portfolio-image{min-height:230px;height:260px}
  .portfolio-copy{padding:22px}
  .portfolio-copy h2{font-size:1.45rem}
}

/* =========================================================
   HOME COMPANY SECTION — LIGHT / DARK MODE FIX
   ========================================================= */

/* Light mode */
html[data-theme="light"] .original-company-section{
  background:#ffffff!important;
  color:#173246!important;
}
html[data-theme="light"] .original-company-section .company-heading h2,
html[data-theme="light"] .original-company-section .company-direction-card h3,
html[data-theme="light"] .original-company-section .about-original-copy h2{
  color:#173246!important;
}
html[data-theme="light"] .original-company-section .company-direction-card{
  background:#ffffff!important;
  color:#173246!important;
  border-color:#d8e5e8!important;
}
html[data-theme="light"] .original-company-section .company-direction-card p,
html[data-theme="light"] .original-company-section .about-original-copy>p:not(.eyebrow){
  color:#657b89!important;
}
html[data-theme="light"] .original-company-section .about-original-layout{
  background:#effbf8!important;
  color:#173246!important;
}
html[data-theme="light"] .original-company-section .arrow-link{
  color:#173246!important;
}

/* Dark mode */
html[data-theme="dark"] .original-company-section{
  background:#081a27!important;
  color:#f6fbff!important;
}
html[data-theme="dark"] .original-company-section .company-heading h2,
html[data-theme="dark"] .original-company-section .company-direction-card h3,
html[data-theme="dark"] .original-company-section .about-original-copy h2{
  color:#ffffff!important;
}
html[data-theme="dark"] .original-company-section .company-direction-grid{
  border-color:rgba(255,255,255,.12)!important;
}
html[data-theme="dark"] .original-company-section .company-direction-card{
  background:#102b3b!important;
  color:#f6fbff!important;
  border-color:rgba(255,255,255,.12)!important;
  box-shadow:none;
}
html[data-theme="dark"] .original-company-section .company-direction-card:hover{
  background:#143446!important;
  box-shadow:0 22px 50px rgba(0,0,0,.22)!important;
}
html[data-theme="dark"] .original-company-section .company-direction-card>span{
  color:#25d6da!important;
}
html[data-theme="dark"] .original-company-section .company-direction-card p,
html[data-theme="dark"] .original-company-section .about-original-copy>p:not(.eyebrow){
  color:#b6cad4!important;
}
html[data-theme="dark"] .original-company-section .about-original-layout{
  background:#0d2433!important;
  color:#f6fbff!important;
  border:1px solid rgba(255,255,255,.10);
}
html[data-theme="dark"] .original-company-section .about-original-copy{
  background:#0d2433!important;
}
html[data-theme="dark"] .original-company-section .about-original-copy .arrow-link{
  color:#ffffff!important;
}
html[data-theme="dark"] .original-company-section .about-original-copy .arrow-link:hover{
  color:#25d6da!important;
}
html[data-theme="dark"] .original-company-section .eyebrow{
  color:#25d6da!important;
}

/* Better separation between the company intro cards and the About block */
.original-company-section .company-direction-grid{
  border-top-width:1px;
  border-left-width:1px;
}
.original-company-section .about-original-layout{
  overflow:hidden;
}

@media(max-width:820px){
  .original-company-section .company-direction-grid{
    grid-template-columns:1fr!important;
  }
  .original-company-section .about-original-layout{
    grid-template-columns:1fr!important;
    margin-top:52px;
  }
  .original-company-section .about-original-copy{
    padding:38px 28px;
  }
  .original-company-section .about-original-image{
    min-height:420px;
  }
}
