/* Neutral white corporate theme. Layout, fonts and interactions stay in site.css. */
:root{
 --paper:#FFFFFF;--paper-2:#F5F7F9;--paper-3:#E7ECF0;
 --ink:#17212B;--ink-2:#F6F8FA;--ink-3:#EDF1F5;
 --steel:#465461;--steel-2:#52616E;--steel-3:#394957;
 --line-d:#DCE3E9;--line-d2:#BAC8D2;--line-l:#DCE3E9;--line-l2:#BAC8D2;
 --red:#086B99;--red-dk:#075479;--accent-light:#58C2F1;
}
body{background:#FFF;color:var(--ink)}
::selection{background:#C9EDFF;color:#142532}
.sec--ink,.sec--paper,.sec--white{background:#FFF;color:var(--ink)}
.sec--ink2{background:#F6F8FA;color:var(--ink)}
.sec{border-bottom:1px solid #E7ECF0}
.lead,.sec .lead,.phead .lead{color:var(--steel);font-weight:400}
.sec p,.sec--ink .card p,.sec--ink2 .card p,.record__scope,.spec__d,.tl p{color:var(--steel);font-weight:400}
.sec h1,.sec h2,.sec h3,.sec h4,.stat__n,.stat__t,.record__client,.office__city,.spec__t,.layerlist .t,.client__abbr,.client__wordmark{color:var(--ink)}
.label,.sec .label,.card__n,.office__role,.record__abbr,.tl__y{color:var(--red)}
.header,.header.is-solid{background:rgba(255,255,255,.97);border-bottom:1px solid var(--line-d);box-shadow:0 2px 14px #17212B05;backdrop-filter:blur(12px)}
.nav a,.nav__toggle{color:#344654}
.nav a:hover,.nav a[aria-current=page],.nav__toggle:hover,.nav__group.is-open .nav__toggle{color:var(--red)}
.nav__menu{background:#FFF;border-color:var(--line-d);box-shadow:0 12px 36px #17212B12;min-width:310px}
.nav__menu a{color:var(--ink)}
.nav__menu a:hover{background:#EDF6FB}
.nav__menu a span,.mobilenav a span{color:var(--steel-2)}
.header__contact{color:var(--ink);border-color:#7B9AAA}
.header__contact:hover{color:var(--red);border-color:var(--red)}
.burger span{background:var(--ink)}
.mobilenav{background:#FFF;color:var(--ink)}
.brand img{height:44px}
.btn{font-size:.8rem;letter-spacing:.08em}
.btn--red{background:var(--red);color:#FFF}
.btn--red:hover{background:var(--red-dk);color:#FFF}
.btn--ghost,.btn--dark{border-color:#9AABB8;color:var(--ink);background:#FFF}
.btn--ghost:hover,.btn--dark:hover{background:#EDF6FB;color:var(--red);border-color:var(--red)}
.link-cta{color:var(--red);border-color:#A0BDCF;font-size:.8rem;letter-spacing:.08em}
.phead{background:#0C0F12;border-bottom:1px solid var(--line-d)}
.phead__bg{opacity:1;filter:none;object-fit:cover;object-position:center}
.phead::after{background:linear-gradient(95deg,rgba(8,15,22,.65) 0%,rgba(8,15,22,.35) 55%,rgba(8,15,22,.1) 100%)}
.phead h1,.phead .lead,.phead .crumbs,.phead .crumbs a{color:#FFF;text-shadow:0 2px 12px rgba(0,0,0,.6)}
.phead .crumbs span{color:var(--accent-light,#58C2F1)}
.hero{background-color:#FFF}
.hero__scrim{background:linear-gradient(95deg,#FFF 0%,rgba(255,255,255,.98) 30%,rgba(255,255,255,.92) 44%,rgba(255,255,255,.08) 76%,rgba(255,255,255,0) 100%)}
.hero h1{color:var(--ink);text-shadow:none;max-width:14ch}
.hero__label,.hero__sub{color:#2D4252}
.hero__label{font-size:.78rem}
.hero__foot{display:block;max-width:550px}
.hero__sub{max-width:40ch}
.hero .btn-row{margin-top:22px}
.hero__rail{background:linear-gradient(90deg,#AAC0CE,transparent);right:52%}
.hero__meta{color:#FFF;background:rgba(10,30,42,.76);padding:8px 12px}
.brandmark__role{color:var(--steel-2);font-size:.75rem;letter-spacing:.05em}
.client{background:#FFF}.client:hover{background:#EDF6FB}
.client__full{color:var(--steel);font-weight:400}
.cards{gap:20px;background:none;border:0;grid-template-columns:repeat(auto-fit,minmax(min(270px,100%),1fr))}
.card,.sec--ink2 .card{background:#FFF;border:1px solid var(--line-d);box-shadow:0 3px 16px #17212B04}
.card p{color:var(--steel)}
.stat{padding:30px 20px 28px 0}.stat__n,.stat__t{color:var(--ink)}
.stat__d{color:var(--steel);font-weight:400;font-size:.9rem}
.office{background:#FFF}.office__city{color:var(--ink)}
.office__role{font-size:.78rem;letter-spacing:.08em}
.office__geo{font-size:.78rem;color:var(--steel-2)}
.plot .city{fill:var(--ink)}.plot .ax,.plot .role{fill:var(--steel-2)}
.vert__pts li{color:var(--steel)}
.tab{color:var(--steel-2);font-size:.82rem;letter-spacing:.08em}
.tab:hover,.tab[aria-selected=true]{color:var(--red)}
.stage{background:#F3F6F8;border-color:var(--line-d)}
.cutaway.has-active .layer{opacity:.7}.cutaway.has-active .layer.is-active{opacity:1}
.cutaway .caption,.cutaway .lead-num{fill:var(--steel-2)}
.layerlist button{color:var(--ink)}
.layerlist button:hover{background:#F1F6FA}
.layerlist button[aria-pressed=true]{background:#E6F3FB}
.layerlist .t{color:var(--ink)}
.spec__t{color:var(--ink)}.spec__d{font-size:1rem;color:var(--steel);font-weight:400}
.spec__m,.spec__n,.note{font-size:.8rem;letter-spacing:.035em;color:var(--steel-2)}
.record__client{color:var(--ink)}
.record__scope{color:var(--steel);font-weight:400}
.record__identity{display:grid;grid-template-columns:68px minmax(0,1fr);gap:10px 14px;align-content:start;align-items:center}
.record__logo{grid-row:1/3;width:68px;height:56px;object-fit:contain;object-position:center}
.record__abbr{margin:0;letter-spacing:.08em;font-size:.78rem}
.record__client{grid-column:2;font-size:1rem;line-height:1.4}
.record{grid-template-columns:minmax(0,3.5fr) minmax(0,6.5fr) minmax(0,2fr)}
.record__meta{font-size:.8rem;letter-spacing:.04em;color:var(--steel-2)}
.record:hover{background:#FBFCFD}
.checklist li,.sec--ink .checklist li,.sec--ink2 .checklist li{color:var(--steel);font-size:1rem}
.field label{color:#394D5C;font-size:.8rem;letter-spacing:.08em}
.field input,.field select,.field textarea{background:#FFF;color:var(--ink);border:1px solid #A9BAC6;padding:12px;border-radius:2px;min-width:0;width:100%}
.field select option{background:#FFF;color:var(--ink)}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid #B4D9ED;outline-offset:2px}
.form__note,.form__status{color:#485C6B}
.footer{background:#F6F8FA;color:var(--ink)}
.footer h4{color:#344C5D;font-size:.8rem;letter-spacing:.12em}
.footer li a,.footer__addr,.footer__addr a,.footer__bottom{color:#465866;font-weight:400}
.footer li a:hover,.footer__bottom a:hover{color:var(--red)}
.management-portrait{background:#F2F5F7}
.profile-details summary{color:var(--red)}
.category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:42px}
.product-category{background:#FFF;border:1px solid var(--line-d);overflow:hidden;box-shadow:0 5px 24px #152D3E06}
.product-category img{width:100%;height:auto;aspect-ratio:1.65;object-fit:cover}
.product-category>div{padding:26px}.product-category h3{color:var(--ink);margin:0}
body:has(.careers-head) .sec,body:has(.careers-head) .phead{background:#FFF}
.careers-head{padding-top:calc(var(--header-h) + 70px);padding-bottom:36px;border:0}
.careers-head h1{max-width:none}
body:has(.careers-head) #openings{padding-top:24px;padding-bottom:70px}
.job{background:#FFF;padding:32px 0}.job h3{color:var(--ink);margin-bottom:20px}
.job p{color:var(--steel);margin-bottom:.5rem}.job .btn{align-self:start}
.careers-stats .stats{margin-top:36px}
@media(max-width:1100px){.brand img{height:38px}.header .wrap{gap:12px}.header__contact{margin-left:auto}.hero__foot{max-width:50%}}
@media(max-width:860px){
 .record{grid-template-columns:1fr}.record__identity{max-width:420px}
 .hero{height:auto;min-height:100svh;background-position:center bottom;background-size:auto 42vh;background-repeat:no-repeat}
 .hero__video{top:auto;height:42vh;min-height:280px;object-position:center 45%}
 .hero__scrim{background:linear-gradient(180deg,#FFF 0%,#FFF 52%,rgba(255,255,255,.95) 59%,rgba(255,255,255,0) 76%)}
 .hero__inner{padding-top:calc(var(--header-h) + 40px);padding-bottom:40vh}
 .hero h1{max-width:16ch}.hero__foot{max-width:100%}.hero__sub{max-width:44ch}
 .category-grid{grid-template-columns:1fr;gap:22px}.product-category{display:grid;grid-template-columns:1fr 1fr;align-items:center}
}
@media(max-width:480px){
 .brand img{height:32px}.header__contact{font-size:.8rem}.header .wrap{gap:8px}
 .hero__inner{padding-top:calc(var(--header-h) + 28px)}.hero h1{font-size:2.35rem}.hero__label{font-size:.72rem;letter-spacing:.05em}
 .product-category{display:block}.category-grid{margin-top:28px}.product-category>div{padding:24px}
 .btn{white-space:normal;line-height:1.55;justify-content:center;padding:.85rem 1.1rem}
 .tab{padding:1rem .7rem;font-size:.75rem;letter-spacing:.04em}
 .record__photo{max-width:100%;margin-left:0}
}

/* Neutral white section rhythm and restored edge-to-edge hero footage. */
:root{--paper:#FAFAFB;--paper-2:#F4F5F7;--paper-3:#E7E9ED;--ink-2:#F4F5F7;--ink-3:#EFF1F4;--line-d:#DEE1E6;--line-l:#DEE1E6}
body{background:#FAFAFB}
.sec--white{background:#FFFFFF}
.sec--paper{background:#F5F6F8}
.sec--ink{background:#FAFAFB}
.sec--ink2{background:#EFF1F4}
.sec{border-bottom-color:#E4E6EA}
.header,.header.is-solid{background:rgba(252,252,253,.97);border-bottom-color:#DEE1E6}
.nav__menu,.mobilenav{background:#FAFAFB}
.card,.sec--ink2 .card,.office,.product-category{background:#FFFFFF;border-color:#E1E4E9;box-shadow:0 5px 24px #17212B0A}
.client{background:#FFFFFF}.client:hover,.record:hover{background:#F5F6F8}
.stage,.management-portrait{background:#F5F6F8}
.footer{background:#EAEDF1;border-top:1px solid #DDE1E7}
body:has(.careers-head) .phead,body:has(.careers-head) #openings{background:#FAFAFB}
body:has(.careers-head) #company-experience{background:#EFF1F4}
body:has(.careers-head) #life-gallery{background:#FFFFFF}
body:has(.careers-head) #join-family{background:#F5F6F8}
.job{background:transparent}
.hero{height:100svh;min-height:650px;background-color:#0C0F12;background-size:cover;background-position:center}
.hero__video{inset:0;width:100%;height:100%;min-height:0;object-fit:cover;object-position:center}
.hero__scrim{background:linear-gradient(100deg,rgba(9,11,14,.68) 0%,rgba(9,11,14,.38) 42%,rgba(9,11,14,.06) 72%,rgba(9,11,14,.18) 100%),linear-gradient(to bottom,rgba(9,11,14,.62) 0%,rgba(9,11,14,0) 26%)}
.hero__inner{padding:calc(var(--header-h) + clamp(26px,5.4vh,62px)) var(--gutter) 0}
.hero h1{color:#FFF;text-shadow:0 2px 40px #0006;max-width:15ch}
.hero__label,.hero__sub{color:rgba(255,255,255,.92)}
.hero__label::before{background:#58C2F1}
.hero__rail{right:var(--gutter);background:linear-gradient(90deg,#FFFFFF47,#FFFFFF0A)}
.hero__meta{background:none;color:rgba(255,255,255,.8)}
@media(max-width:860px){.hero__foot{max-width:100%}.hero h1{max-width:12ch}.hero__inner{padding-top:calc(var(--header-h) + 32px);padding-bottom:32px}}

/* Projects footage stays visible, independent of light inner-page headers. */
.phead--video{background:#0C0F12}
.phead--video::after{background:linear-gradient(95deg,rgba(8,15,22,.58) 0%,rgba(8,15,22,.28) 55%,rgba(8,15,22,.06) 100%)}
.phead--video .hero__video{opacity:1;filter:none;inset:0;width:100%;height:100%;object-fit:cover}
.phead--video h1,.phead--video .lead,.phead--video .crumbs,.phead--video .crumbs a{color:#FFF;text-shadow:0 2px 12px rgba(0,0,0,.6)}
.phead--video .crumbs span{color:#8EDAFF}

/* Fit the supplied L&T artwork, including its built-in white margins. */
.client__logo img.client__logo-lt{width:160px;height:60px;object-fit:cover;object-position:center}
@media(max-width:620px){.client__logo img.client__logo-lt{width:112px;height:42px}}

/* A compact credentials section closes the homepage before the footer. */
.home-certifications .certificate-grid{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:20px}
.home-certifications .migration-content{margin-top:28px;margin-bottom:28px}
.home-certifications figure{background:#FFF;border:1px solid #E1E4E9;padding:20px;box-shadow:0 3px 16px #17212B05}
.home-certifications .certificate-grid img{height:110px;padding:10px;object-fit:contain}
.home-certifications figcaption{color:var(--steel);margin-top:14px}
.home-certifications figcaption strong{color:var(--ink)}

/* Responsive refinements come after the theme's layout overrides. */
.hero{height:auto;min-height:max(600px,100svh);flex-direction:column}
.hero__inner{flex:1 0 auto;padding-bottom:32px}
/* Keep the marquee's variable height in flow so it cannot cover the hero copy. */
@media(min-width:861px){
 .hero__rail{position:relative;inset:auto;flex:none;width:calc(100% - 2 * var(--gutter));margin:0 var(--gutter) 16px}
 .hero__meta{position:relative;inset:auto;flex:none;width:100%;margin-bottom:24px}
}
.btn{max-width:100%;min-height:44px;white-space:normal}
.link-cta{min-height:44px}
.nav>a,.nav__toggle{white-space:nowrap}
.tabs{flex-wrap:wrap}
.tab{min-height:44px}
.hero__label::before{flex-shrink:0}
.field input,.field select{min-height:48px}
.field textarea{max-width:100%}
.footer li a{display:inline-flex;align-items:center;min-height:44px}
.footer ul{gap:4px}

@media(max-width:1100px){
 .mobilenav a{font-size:clamp(1.15rem,4vw,1.5rem);line-height:1.3}
 .mobilenav a span{line-height:1.5}
}
@media(max-width:860px){
 .hero{min-height:100svh;background-size:cover}
 .hero__inner{padding-bottom:32px}
 .hero__meta{padding-bottom:max(12px,env(safe-area-inset-bottom))}
 .phead{padding-top:calc(var(--header-h) + 48px);padding-bottom:48px}
}
@media(max-width:640px){
 .offices{grid-template-columns:minmax(0,1fr)}
 .ctaband__aside{padding-top:24px}
 .migration-gallery img{height:auto;aspect-ratio:4/3}
 .certificate-grid img{object-fit:contain}
 .form{gap:18px}
 .btn-row{gap:12px}
}
@media(max-width:480px){
 :root{--header-h:68px;--gutter:20px;--pad-y:56px}
 .header__contact{margin-right:0;font-size:.75rem}
 .burger{margin-right:0;align-items:center}
 .brand img{height:auto;width:90px}
 .header .wrap{gap:8px}
 .d-xl{font-size:clamp(2rem,9vw,2.55rem)}
 .d-lg{font-size:clamp(1.75rem,8vw,2.05rem)}
 .hero h1{font-size:clamp(2rem,9.5vw,2.35rem)}
 .hero__label{letter-spacing:.04em}
 .label{gap:.65rem;letter-spacing:.08em}
 .label::before{width:24px}
 .card{padding:24px 20px}
 .btn-row>.btn,.contact-form>.btn{width:100%}
 .job .btn{white-space:normal}
 .management-portrait{height:auto;max-height:320px}
 .footer__logo{max-width:100%;height:auto;width:125px}
 .home-certifications .certificate-grid{grid-template-columns:minmax(0,1fr)}
}

@media(orientation:landscape) and (max-height:500px){
 .mobilenav{padding-top:calc(var(--header-h) + 12px)}
 .mobilenav a{padding:.65rem 0}
}

/* Ensure all content, rise animations and reveal sections are always 100% visible */
.rise,
.is-ready .rise,
.reveal,
.reveal.in {
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
}

/* Keep the expanded primary navigation comfortable on tablet-sized displays. */
@media (max-width:1280px) {
 .nav { display:none; }
 .burger { display:flex; }
 .header__contact { margin-left:auto; }
}
@media (min-width:1281px) {
 .nav { gap:clamp(12px,1.2vw,20px); }
 .nav>a,.nav__toggle { font-size:.78rem;letter-spacing:.08em; }
}

/* The current route stays visible in desktop, dropdown and mobile navigation. */
.nav__toggle.is-active { color:var(--red); text-decoration:underline; text-underline-offset:10px; }
.nav__menu a[aria-current="page"],.mobilenav a[aria-current="page"] {
 color:var(--red);
 background:#E6F3FB;
 box-shadow:inset 3px 0 var(--red);
}
.mobilenav a[aria-current="page"] { padding-left:16px; }
