/* Final quality review: shared type roles, focus treatment and responsive detail. */
:root{--paper:#f5f5f2;--page-background:#f5f5f2;--surface:#fff;--coral:var(--red)}
body{background:var(--paper)}
button,input,select,textarea{font-family:var(--sans)}
button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--red);outline-offset:4px}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px}
[hidden]{display:none!important}
main:focus{outline:none}
.section,article[id]{scroll-margin-top:0}
abbr[title]{text-decoration:none;cursor:help}
.global-header .nav-shell>.nav-cta.active{text-decoration:underline;text-underline-offset:7px}
.hero-summary{max-width:62ch}
.service-body h3,.service-tagline,.service-summary{min-height:0}
.service-body{display:flex;flex-direction:column;height:100%}
.service-tagline{margin-top:14px}
.service-summary{margin-top:20px}
.service-body ul{flex:1;margin-block:24px}
.service-body>a{margin-top:auto;min-height:44px}
.hero-service-labels .service-button,.button,.primary-button{min-height:48px}
.required-note{font-size:var(--type-label);line-height:1.6;color:var(--muted);margin:0 0 18px}
.enquiry-form h3{margin:0 0 10px;font-size:var(--type-card);font-weight:600;line-height:1.25}
.enquiry-form .required-note{grid-column:1/-1;margin:0}
.enquiry-draft{display:block;width:100%;min-height:210px;resize:vertical;padding:14px;border:1px solid #7c8b9a;border-radius:0;background:#fafafa;color:var(--ink);font:400 var(--type-body)/1.65 var(--sans);margin:10px 0 12px}
.draft-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 24px}
.form-result .draft-actions>a,.form-result .draft-actions>button{display:inline-flex;align-items:center;min-height:44px;margin:0;padding:8px 0;background:none;border:0;color:var(--red);font:600 var(--type-label)/1.6 var(--sans);text-decoration:underline;text-underline-offset:4px}
.form-result{font-size:var(--type-body);line-height:1.65}
.form-result>p{margin-bottom:16px}
.form-result .copy-status{font-size:var(--type-label);margin-top:10px}
.form-result .draft-label{display:block;color:var(--ink);font-weight:600}
.network-map{background:var(--navy);overflow:hidden}
.network-map .supply-network{display:block;width:100%;height:auto}
.global-supply-map{background:var(--navy);align-self:center;overflow:hidden}
.global-map{margin:22px 0 18px}
.global .region-list{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:0 0 24px}
.global .region-list>span{font:400 var(--type-label)/1.6 var(--sans);color:#d4e0e8;padding:0 12px;border:0;border-right:1px solid #ffffff33}
.global .region-list>span:last-child{border-right:0}
.delivery-table-note{font:400 var(--type-label)/1.6 var(--sans);color:#c2d0db;margin-top:14px;max-width:90ch}
.site-footer .footer-brand img{display:block;width:140px;height:auto;margin:0 0 18px}
.site-footer .footer-brand>a{display:inline-block}
.site-footer .footer-brand>span{display:block}
.footer-bottom a{display:inline-flex;align-items:center;min-height:44px;color:var(--navy);font-size:var(--type-label);text-underline-offset:4px}
.global .section-top h2{color:#fff}
.global .section-top .eyebrow{color:#d4e0e8}
.global .incoterms-table{font-size:var(--type-label);line-height:1.6}
.global .incoterms-table .term-code{font-size:var(--type-label)}
.category-filters{flex-wrap:wrap}
.category-filters button{min-height:44px}
.dialog-close{min-width:44px;min-height:44px;display:grid;place-items:center}
.flow-dialog-toolbar h2{font-size:var(--type-card);margin:0}
.flow-viewport:focus-visible{outline-offset:-4px}
@media(min-width:1101px){
 .service-grid{align-items:stretch}
 .service-card{display:flex;flex-direction:column}
 .service-body{flex:1}
}
@media(max-width:1100px){
 .service-body{height:auto}
 .service-image{min-height:0}
}
@media(max-width:767px){
 .network-map .supply-network text{display:none}
 .global .region-list{justify-content:flex-start;gap:8px 0}
 .global .region-list>span{padding:0 12px 0 0;margin-right:12px}
 .global-supply-map{margin:0;width:100%}
 .network-map{padding:8px}
 .form-row{grid-template-columns:1fr}
 .contact .enquiry-form{gap:20px}
 .process-tabs strong{font-size:var(--type-card)}
 .testimonial-controls{margin-top:20px}
 .site-footer .footer-brand img{width:120px}
 .footer-bottom{gap:8px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*::before,*::after{animation:none!important;transition:none!important}
}
h1,h2,h3,h4{text-wrap:balance}
p{text-wrap:pretty}

/* Match both footers and preserve contrast for company and office details. */
.site-footer{background:var(--paper);color:var(--ink);border-top:1px solid var(--line)}
.site-footer .footer-label,.site-footer .footer-contact h3,.site-footer .office-address strong{color:var(--navy)}
.site-footer .footer-brand>span,.site-footer .office-address address,.site-footer .footer-bottom{color:var(--muted)}
.site-footer .footer-main a{color:var(--navy)}
.site-footer .footer-main a:hover{color:var(--red);text-decoration:underline;text-underline-offset:4px}
.site-footer .footer-bottom{border-color:var(--line)}
.site-footer .footer-bottom a{color:var(--navy)}
.site-footer .footer-contact .contact-email>span{font-size:inherit}

/* Shared office directory: corporate office leads, followed by the two campuses. */
.office-directory{background:var(--paper);border-top:1px solid var(--line);padding:72px 0 80px;color:var(--ink)}
.office-directory-inner{width:min(1240px,calc(100% - 80px));margin:0 auto}
.office-directory-heading{max-width:800px;margin-bottom:40px}
.office-directory-heading h2{margin:0 0 18px;color:var(--blue);font-size:var(--type-section);line-height:var(--leading-heading);font-weight:600;letter-spacing:-.035em;text-wrap:balance}
.office-directory-heading h2>span{color:var(--red)}
.office-directory-heading p{margin:0;font-size:var(--type-body);line-height:var(--leading-body);color:var(--ink)}
.office-directory-heading a{color:var(--blue);font-weight:600;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.office-directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;align-items:stretch}
.office-card{min-width:0;padding:24px;border-top:3px solid var(--line)}
.office-card-primary{background:#fff;border-top-color:var(--red);box-shadow:0 0 0 1px var(--line)}
.office-card h3{margin:0 0 18px;font-size:var(--type-card);line-height:1.3;font-weight:600;letter-spacing:-.018em;color:var(--blue);text-wrap:balance}
.office-card .office-company{font:400 var(--type-label)/var(--leading-body) var(--sans);color:var(--muted);margin:0 0 18px;min-height:3.3em}
.office-card address{font:400 var(--type-body)/1.75 var(--sans);color:var(--ink);margin:0;font-style:normal;overflow-wrap:break-word}
@media(min-width:768px) and (max-width:1023px){
 .office-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
 .office-card-primary{grid-column:1/-1}
 .office-card-primary .office-company{min-height:0}
}
@media(max-width:767px){
 .office-directory{padding:48px 0 56px}
 .office-directory-inner{width:calc(100% - 40px)}
 .office-directory-heading{margin-bottom:30px}
 .office-directory-grid{grid-template-columns:1fr;gap:24px}
 .office-card{padding:24px 20px}
 .office-card .office-company{min-height:0}
}
/* Logo colours sampled from the source artwork. */
:root{--red:#D52D2F;--red-dark:#BC2426;--red-text:#D52D2F;--blue:#001688;--navy:#001688;--ink:#232b3b;--text:#232b3b;--coral:var(--red)}
.global-header #primary-navigation>a.active,.global-header #primary-navigation>a[aria-current="page"],.global-header #primary-navigation>a:hover,.global-header .nav-shell>.nav-cta,.global-header .nav-shell>.nav-cta:hover,.hero-text-link,.hero .hero-text-link,.product-category,.service-body>a,.portfolio-page .portfolio-contact a,.form-result .draft-actions>a,.form-result .draft-actions>button{color:var(--red-text)}
.button-red,.primary-button,.hero .primary-button,.hero-service-labels .service-button.active,.hero-service-labels .service-button[aria-pressed="true"]{background:var(--red-text);color:#fff}
.button-red:hover,.primary-button:hover,.hero .primary-button:hover{background:var(--red-dark)}

/* Leadership portraits share a frame, with each face aligned within its original photograph. */
.leaders{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:40px}
.leaders article{min-width:0}
.leaders .leader-portrait{display:block;width:75%;max-width:240px;height:auto;aspect-ratio:4/5;object-fit:cover;margin:0 0 24px;background:#101112}
.leaders .leader-portrait-sajit{object-position:50% 65%}
.leaders .leader-portrait-rajagopal{object-position:50% 100%}
.leaders .leader-portrait-shilpa{object-position:50% 80%}
.leader-discipline{display:block;min-height:3.2em}
.leaders .leader-role{min-height:3.2em}
.leaders .leader-rule{margin:16px 0 24px}
.leadership-scroll-note{display:none}
.leaders:focus-visible{outline:2px solid var(--red);outline-offset:6px}
@media(max-width:1000px){
 .leaders{gap:24px}
}
@media(max-width:767px){
 .leadership-scroll-note{display:block;margin:0 0 18px;font-size:var(--type-label);color:var(--muted)}
 .leaders{grid-template-columns:repeat(3,minmax(min(82vw,300px),1fr));gap:24px;overflow-x:auto;scroll-snap-type:x proximity;overscroll-behavior-x:contain;padding-bottom:20px;scrollbar-width:thin;scrollbar-color:var(--red) var(--line)}
 .leaders article{scroll-snap-align:start}
}
@media print{
 .leaders{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;max-width:none}
 .leaders article{break-inside:avoid}
 .leadership-scroll-note{display:none}
}
