/* Shared typography and primary navigation for Prime Progression pages. */
:root {
  --red:#D52D2F;
  --red-dark:#BC2426;
  --blue:#001688;
  --navy:#001688;
  --ink:#232b3b;
  --text:#232b3b;
  --muted:#5a6874;
  --line:#dce1e4;
  --font:Arial,Helvetica,sans-serif;
  --sans:Arial,Helvetica,sans-serif;
  --serif:var(--sans);
  --type-hero:52px;
  --type-section:36px;
  --type-hero-support:var(--type-section);
  --type-card:24px;
  --type-body:18px;
  --type-subtitle:18px;
  --type-label:16px;
  --type-action:16px;
  --type-kicker:16px;
  --type-navigation:18px;
  --type-metric:36px;
  --leading-heading:1.16;
  --leading-body:1.65;
}
html{font-size:100%;scroll-padding-top:124px}
body{font-family:var(--sans);font-size:var(--type-body);font-weight:400;line-height:var(--leading-body)}
h1,h2,h3,.hero h1>strong{font-family:var(--sans);font-weight:600}
.hero h1{font-size:var(--type-hero);font-weight:600;line-height:1.1;letter-spacing:-.035em}
.hero h1>strong{font-size:var(--type-hero-support);line-height:var(--leading-heading)}
h2,.solutions .section-heading h2,.nutshell-intro h2,.sourcing-info-head h2,
.industries-heading h2,.process-heading h2,.cta-inner h2,.global-supply-copy h2,
.contact h2,.dialog-inner h2{
  font-size:var(--type-section);font-family:var(--sans);font-weight:600;
  line-height:var(--leading-heading);letter-spacing:-.035em;
}
h3,.service-body h3,.nutshell-grid h3,.sourcing-stage h3,.global-supply-copy h3,
.industry-grid h3,.enquiry-form h3,.responsibility-grid h3,.leaders h3,
.product-item h3,.process-panel>h3{
  font-size:var(--type-card);font-family:var(--sans);font-weight:600;
  line-height:1.25;letter-spacing:-.018em;
}
h4,.process-steps h4,.all-steps h4,.dialog-requirements h3{
  font-family:var(--sans);font-size:var(--type-body);font-weight:600;line-height:1.5;letter-spacing:0;
}
.hero-intro,.hero-summary>p,.hero-summary>p:first-child,.overview-body,
.overview-body .large-text,.opening-content>p,.sourcing-risks li,
.responsibility-grid p,.section-summary,.section-summary p,
.process-steps p,.all-steps p,.sustain-note,.product-item p,
.leaders article>p:last-child,.contact-copy>p:not(.eyebrow),
.service-summary,.service-body li,.sourcing-info-head>span,.sourcing-stage p,
.global-supply-copy>span,.process-heading>p,.stats-grid p,.nutshell-grid p,
.enquiry-copy>p:not(.section-kicker),.section-subtitle,
.sourcing-info-head .section-subtitle,.global-supply-copy .section-subtitle,
.portfolio-bottom p,.dialog-description,.dialog-requirements p,
.service-tagline,.sourcing-stage b{
  font-family:var(--sans);font-size:var(--type-body);line-height:var(--leading-body);letter-spacing:0;
}
.hero-intro,.hero-summary>p,.overview-body .large-text,.section-summary,
.section-subtitle,.sourcing-info-head .section-subtitle,.global-supply-copy .section-subtitle{font-weight:400}
.overview-body .large-text{color:var(--muted)}
.eyebrow,.hero .eyebrow,.section-kicker,.sourcing-info-head>div>.section-kicker,
.global-supply-copy>.section-kicker,.panel-kicker,.leader-role,.leader-discipline,
.product-category,.contact-location{
  font-family:var(--sans);font-size:var(--type-kicker);font-weight:600;line-height:1.6;letter-spacing:1.1px;
}
.small-index,.process-steps>li>span,.all-steps span,.process-tabs>button>span{
  font-family:var(--sans);font-size:var(--type-kicker);line-height:1.6;
}
.button,.hero .button,.primary-button,.nav-cta,.form-submit,.service-body>a,.hero .primary-button,
.cta-inner .enquiry-copy .nav-cta,.hero-service-labels .service-button,
.draft-actions .text-link,.full-process summary,.category-filters button,
.hero-text-link,.hero .hero-text-link,.portfolio-bottom a,.form-result button,
.form-result>a,.ownership-bar,.ownership-bar>span:not(.bar-arrow),.ownership-bar strong,
.process-tabs small,.delivery-notes,.product-count{
  font-family:var(--sans);font-size:var(--type-label);line-height:1.6;letter-spacing:0;
}
.button,.hero .button,.primary-button,.form-submit,.hero .primary-button,
.cta-inner .enquiry-copy .nav-cta,.hero-service-labels .service-button{font-weight:600}
.process-tabs strong{font-family:var(--sans);font-size:var(--type-card);font-weight:600;line-height:1.2}
.ownership-bar>div>span{font-size:var(--type-kicker);line-height:1.6;letter-spacing:.5px}
.hero-visual figcaption,.component-gallery figcaption{font-family:var(--sans);font-size:var(--type-kicker);line-height:1.6;letter-spacing:.7px}
.hero-visual figcaption{align-items:flex-start;max-width:calc(100% - 50px)}
.caption-line{flex-shrink:0;margin-top:9px}
.proof-strip strong,.stats-grid strong,.nutshell-grid article>strong{
  font-family:var(--sans);font-size:var(--type-metric);font-weight:600;line-height:1.2;letter-spacing:-1px;
}
.proof-strip strong>span,.proof-strip p{font-family:var(--sans);font-size:var(--type-body);line-height:var(--leading-body);letter-spacing:0}
.proof-strip p{max-width:32ch}
.field label,.enquiry-form label,.draft-label,.stage-meta>span{font-family:var(--sans);font-size:var(--type-label);line-height:1.6;letter-spacing:0}
.field input,.field select,.field textarea,.enquiry-form input,.enquiry-form select,
.enquiry-form textarea,.enquiry-draft{font-family:var(--sans);font-size:var(--type-body);line-height:var(--leading-body)}
.form-note,.enquiry-form .form-note,.email-fallback>p,#copy-status,.copy-status,
.form-result,.photography-credit,.component-photo-credits{font-family:var(--sans);font-size:var(--type-label);line-height:var(--leading-body)}
.footer-label,.footer-grid h3,.footer-contact h3{font-family:var(--sans);font-size:var(--type-kicker);line-height:1.6}
.footer-main>div:not(.footer-brand)>a,.footer-brand>span,.footer-grid>div>a,
.footer-grid .contact-email,.footer-grid .footer-brand p,.office-address address,
.office-address strong,.testimonial-shell footer small{font-family:var(--sans);font-size:var(--type-label);line-height:var(--leading-body)}
.footer-bottom{font-family:var(--sans);font-size:var(--type-kicker);line-height:1.7}
#testimonial-quote{font-family:var(--sans);font-size:var(--type-body);line-height:var(--leading-body);letter-spacing:0}
.incoterms-table{width:100%;min-width:0;font-family:var(--sans);font-size:var(--type-body);line-height:var(--leading-body)}
.incoterms-table caption{font-size:var(--type-kicker);line-height:1.6;letter-spacing:.8px}
.incoterms-table thead th,.term-code{font-size:var(--type-label);line-height:1.6;letter-spacing:.3px}
.incoterms-table th,.incoterms-table td{overflow-wrap:break-word}
.global-header.site-header{
  height:100px;min-height:100px;width:100%;position:sticky;top:0;z-index:100;
  background:#fff;border-bottom:1px solid var(--line);box-shadow:none;
}
.global-header .nav-shell{
  width:min(1440px,calc(100% - 64px));max-width:none;margin:0 auto;padding:0;
  min-height:100px;height:100%;display:flex;align-items:center;justify-content:space-between;gap:22px;
  position:relative;
}
.global-header .brand{display:block;width:120px;flex:0 0 120px}
.global-header .brand img{display:block;width:120px;height:78px;max-width:100%;object-fit:contain}
.global-header #primary-navigation{
  display:flex;align-items:center;justify-content:flex-end;flex-wrap:nowrap;gap:18px;
  position:static;width:auto;margin:0 0 0 auto;padding:0;border:0;box-shadow:none;max-height:none;overflow:visible;
}
.global-header #primary-navigation>a{
  display:block;white-space:nowrap;padding:12px 0;border-bottom:2px solid transparent;
  font-family:var(--sans);font-size:var(--type-navigation);font-weight:600;line-height:1.5;letter-spacing:0;
  color:var(--ink);text-decoration:none;text-underline-offset:7px;
}
.global-header #primary-navigation>a[aria-current="page"],
.global-header #primary-navigation>a.active,.global-header #primary-navigation>a:hover{
  color:var(--red);border-bottom-color:var(--red);text-decoration:none;
}
.global-header .nav-shell>.nav-cta,.global-header .nav-shell>.nav-cta:hover{
  display:flex;align-items:center;justify-content:center;gap:12px;flex-shrink:0;
  min-height:46px;margin:0;padding:10px 0 10px 20px;border:0;border-left:1px solid var(--line);border-radius:0;
  background:transparent;color:var(--red);font-family:var(--sans);font-size:var(--type-navigation);
  font-weight:600;line-height:1.5;letter-spacing:0;text-decoration:none;transform:none;
}
.global-header .menu-toggle{
  display:none;width:44px;height:44px;flex:0 0 44px;padding:10px;border:0;background:transparent;
  flex-direction:column;align-items:center;justify-content:center;gap:5px;color:var(--ink);
}
.global-header .menu-toggle>span{display:block;width:24px;height:2px;margin:0;flex:0 0 2px;background:currentColor;opacity:1;transform:none}
.global-header .menu-toggle[aria-expanded="true"]>span:first-child{transform:translateY(7px) rotate(45deg)}
.global-header .menu-toggle[aria-expanded="true"]>span:nth-child(2){opacity:0;transform:none}
.global-header .menu-toggle[aria-expanded="true"]>span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.global-header a:focus-visible,.global-header button:focus-visible{outline:2px solid var(--red);outline-offset:5px}
@media(max-width:1240px){
  .global-header .menu-toggle{display:flex;order:4;margin:0}
  .global-header .nav-shell>.nav-cta{margin-left:auto}
  .global-header #primary-navigation{
    display:none;position:absolute;top:100%;left:-32px;right:-32px;width:auto;
    margin:0;padding:16px 32px 24px;background:#fff;border-bottom:1px solid var(--line);
    box-shadow:0 16px 25px #00168810;max-height:calc(100dvh - 100px);overflow-y:auto;
  }
  .global-header #primary-navigation.open{display:grid;grid-template-columns:1fr 1fr;gap:4px 32px;align-items:start}
  .global-header #primary-navigation>a{min-height:52px;padding:12px 0;white-space:normal}
}
@media(max-width:767px){
  :root{--type-hero:36px;--type-section:30px;--type-card:24px;--type-metric:30px}
  html{scroll-padding-top:108px}
  .global-header.site-header{height:84px;min-height:84px}
  .global-header .nav-shell{min-height:84px;width:calc(100% - 40px);gap:12px}
  .global-header .brand{width:100px;flex-basis:100px}
  .global-header .brand img{width:100px;height:65px}
  .global-header .nav-shell>.nav-cta,.global-header .nav-shell>.nav-cta:hover{padding:8px 0 8px 12px;min-height:44px}
  .global-header #primary-navigation{left:-20px;right:-20px;padding:12px 20px 24px;max-height:calc(100dvh - 84px)}
  .global-header #primary-navigation.open{grid-template-columns:1fr;gap:0}
  .process-tabs strong{font-size:var(--type-card)}
  .process-tabs>button{padding-left:10px;padding-right:6px}
  .proof-strip{grid-template-columns:1fr;gap:20px;padding-block:28px}
  .proof-strip>div,.proof-strip>div:first-child{padding:0 0 18px;border:0;border-bottom:1px solid var(--line)}
  .proof-strip>div:last-child{border-bottom:0;padding-bottom:0}
  .proof-strip strong>span{display:inline;font-size:var(--type-body)}
  .proof-strip p{font-size:var(--type-body);max-width:none}
  .product-grid{grid-template-columns:1fr}
  .product-item{min-height:0;padding-block:26px}
  .product-item p{max-width:none;padding-right:18px}
  .product-category{font-size:var(--type-kicker)}
  .product-arrow{top:66px}
  .delivery-notes{grid-template-columns:1fr;gap:12px}
  .ownership-bar{gap:10px;padding-inline:12px}
  .ownership-bar>span:not(.bar-arrow){font-size:14px;max-width:82px}
  .ownership-bar strong{font-size:16px}
  .ownership-bar>div>span{font-size:var(--type-kicker)}
  .incoterms-table thead th{font-size:var(--type-label)}
  .term-code-column{width:20%}
  .term-name-column{width:31%}
  .incoterms-table tbody th,.incoterms-table tbody td{padding:16px 8px}
  .term-code{min-width:0;padding:3px 5px}
  .contact-location{font-size:var(--type-label);letter-spacing:.5px;align-items:flex-start}
  .contact-location .location-dot{flex-shrink:0;margin-top:8px}
  .hero-text-link,.hero .hero-text-link{font-size:var(--type-label);margin-left:0;display:flex;margin-top:20px}
  .all-steps{grid-template-columns:1fr}
  .footer-main{grid-template-columns:1fr;gap:28px}
  .footer-brand{grid-column:auto}
  .contact h2{font-size:var(--type-section)}
}
@media(max-width:375px){
  .global-header .nav-shell{gap:8px;width:calc(100% - 32px)}
  .global-header .brand{width:92px;flex-basis:92px}
  .global-header .brand img{width:92px}
  .global-header .nav-shell>.nav-cta,.global-header .nav-shell>.nav-cta:hover{padding-left:8px}
  .global-header #primary-navigation{left:-16px;right:-16px;padding-inline:16px}
}
@media print{.global-header.site-header{display:none}}

/* The same typography applies to headings, diagrams and the portfolio page. */
body,button,input,select,textarea,h1,h2,h3,h4{font-family:var(--sans)}
h1,.portfolio-page #portfolio-title{font-size:var(--type-hero);line-height:1.12;letter-spacing:-.03em;font-weight:600}
.hero h1>strong{font-weight:600}
.portfolio-page .portfolio-card h2{font-size:var(--type-card);line-height:1.3;font-weight:600;letter-spacing:-.018em;padding:0;margin:14px 0 12px}
.portfolio-page .portfolio-intro{max-width:720px;margin-top:24px;color:var(--muted);font-size:var(--type-body)}
.portfolio-page .portfolio-grid{gap:0 36px}
.portfolio-page .portfolio-card{padding:30px 0;border:0;border-bottom:1px solid var(--line);background:transparent;border-radius:0}
.portfolio-page .portfolio-card p{font-size:var(--type-body);line-height:var(--leading-body);color:var(--muted);margin:0}
.portfolio-page .portfolio-contact{margin-top:40px}
.portfolio-page .portfolio-contact a{color:var(--red);font-weight:600;text-underline-offset:5px}
.region-list>span,.section-nav a,.contact-email,.footer-contact .contact-email,
.footer-brand>p,.portfolio-photo-credit,.testimonial-shell footer strong{font-family:var(--sans);font-size:var(--type-label);line-height:var(--leading-body);letter-spacing:0}
.footer-brand>p{font-size:var(--type-card);font-weight:600}
.incoterms-table thead th{letter-spacing:0;text-transform:none}
.incoterms-table caption{letter-spacing:0;text-transform:none}
.eyebrow,.hero .eyebrow,.section-kicker,.panel-kicker,.product-category,.leader-discipline,.leader-role{letter-spacing:.04em}
.button span,.primary-button span,.nav-cta span,.product-arrow{font-size:var(--type-body)}
.flow-summary{display:grid;grid-template-columns:1fr .8fr 1.3fr .8fr 1fr;align-items:center;gap:20px;padding:30px;background:var(--navy);color:#fff}
.flow-party{text-align:center;min-width:0}
.flow-party strong{display:block;font-size:var(--type-card);line-height:1.3;font-weight:600}
.flow-connection{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;font-size:var(--type-label);line-height:1.5;color:#fff}
.flow-connection svg{display:block;width:100%;height:16px;overflow:visible;color:#c6d4df}
.flow-connection .flow-arrow-vertical{display:none}
.flow-summary-compact{margin-bottom:40px}
.process-graphic{background:#fff;border:1px solid var(--line)}
.flow-step-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;list-style:none;padding:30px;margin:0;counter-reset:flow}
.flow-step-list>li{position:relative;min-width:0;padding:24px;border:1px solid var(--line);background:#fff}
.flow-step-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}
.flow-step-number{font-size:var(--type-label);line-height:1.5;font-weight:600;color:var(--red)}
.flow-step-icon{display:grid;place-items:center;width:48px;height:48px;background:#f9edef;color:var(--red)}
.flow-step-icon svg{width:28px;height:28px}
.flow-step-list h3{font-family:var(--sans);font-size:var(--type-card);line-height:1.3;font-weight:600;letter-spacing:-.018em;margin:0 0 14px;color:var(--navy)}
.flow-step-list p{font-family:var(--sans);font-size:var(--type-body);line-height:var(--leading-body);margin:0;color:var(--muted)}
.process-banner{display:flex;width:100%;justify-content:space-between;align-items:center;gap:20px;border:0;border-top:1px solid var(--line);padding:18px 30px;background:#fff;font:600 var(--type-label)/1.6 var(--sans);text-align:left;color:var(--navy)}
.process-banner:hover{color:var(--red);background:var(--paper)}
.process-banner:focus-visible{outline:2px solid var(--red);outline-offset:4px}
.flow-dialog-toolbar h2{font-size:var(--type-card);line-height:1.3}
.flow-viewport{overflow:auto;max-height:75dvh}
.flow-viewport .process-diagram{min-width:0}
@media(max-width:1050px){
 .flow-summary{gap:14px;padding:26px 20px}
 .flow-step-list{grid-template-columns:repeat(2,minmax(0,1fr));padding:24px}
 .product-grid,.portfolio-page .portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:767px){
 .flow-summary{grid-template-columns:1fr;gap:18px;padding:28px 24px}
 .flow-connection{gap:6px}
 .flow-connection .flow-arrow-horizontal{display:none}
 .flow-connection .flow-arrow-vertical{display:block;width:16px;height:44px;transform:none}
 .flow-party strong{font-size:var(--type-card)}
 .flow-step-list{grid-template-columns:1fr;gap:18px;padding:20px}
 .flow-step-list>li{padding:22px}
 .process-banner{padding:18px 20px}
 .process-heading{grid-template-columns:1fr;gap:24px}
 .product-grid,.portfolio-page .portfolio-grid{grid-template-columns:1fr}
 .portfolio-page .portfolio-card h2{padding:0}
 .incoterms-panel{overflow:visible}
 .incoterms-table{table-layout:auto;min-width:0}
 .incoterms-table thead{display:none}
 .incoterms-table colgroup{display:none}
 .incoterms-table tbody{display:block}
 .incoterms-table tbody tr{display:grid;grid-template-columns:92px minmax(0,1fr);padding:20px 16px;gap:12px;border-top:1px solid var(--line)}
 .incoterms-table tbody th,.incoterms-table tbody td{display:block;padding:0;border:0;min-width:0}
 .incoterms-table tbody td:last-child{grid-column:1/-1;font-size:var(--type-body)}
 .term-code{font-size:var(--type-label)}
}

.india-origin text{font-family:var(--sans);font-size:var(--type-body)}
.india-origin .india-label{font-size:var(--type-label)}
.product-category{color:var(--red);text-transform:uppercase;font-weight:600}
