@font-face {
	font-display: swap; 
	font-family: 'Manrope';
	font-style: normal;
	font-weight: 200;
	src:	url('../../fonts/manrope/manrope-latin-200-normal.woff2') format('woff2'), 
			url('../../fonts/manrope/manrope-latin-200-normal.woff2') format('woff2'), 
			url('../../fonts/manrope/manrope-latin-200-normal.ttf') format('truetype');
}
@font-face {
	font-display: swap; 
	font-family: 'Manrope';
	font-style: normal;
	font-weight: 300;
	src:	url('../../fonts/manrope/manrope-latin-300-normal.woff2') format('woff2'), 
			url('../../fonts/manrope/manrope-latin-300-normal.woff2') format('woff2'), 
			url('../../fonts/manrope/manrope-latin-300-normal.ttf') format('truetype');
}
@font-face {
	font-display: swap; 
	font-family: 'Manrope';
	font-style: normal;
	font-weight: 400;
	src:	url('../../fonts/manrope/manrope-latin-400-normal.woff2') format('woff2'), 
			url('../../fonts/manrope/manrope-latin-400-normal.woff2') format('woff2'), 
			url('../../fonts/manrope/manrope-latin-400-normal.ttf') format('truetype');
}
@font-face {
	font-display: swap; 
	font-family: 'Manrope';
	font-style: normal;
	font-weight: 500;
	src:	url('../../fonts/manrope/manrope-latin-500-normal.woff2') format('woff2'), 
			url('../../fonts/manrope/manrope-latin-500-normal.woff2') format('woff2'), 
			url('../../fonts/manrope/manrope-latin-500-normal.ttf') format('truetype');
}
@font-face {
	font-display: swap; 
	font-family: 'Manrope';
	font-style: normal;
	font-weight: 600;
	src:	url('../../fonts/manrope/manrope-latin-600-normal.woff2') format('woff2'), 
			url('../../fonts/manrope/manrope-latin-600-normal.woff2') format('woff2'), 
			url('../../fonts/manrope/manrope-latin-600-normal.ttf') format('truetype');
}
@font-face {
	font-display: swap; 
	font-family: 'Manrope';
	font-style: normal;
	font-weight: 700;
	src:	url('../../fonts/manrope/manrope-latin-700-normal.woff2') format('woff2'), 
			url('../../fonts/manrope/manrope-latin-700-normal.woff2') format('woff2'), 
			url('../../fonts/manrope/manrope-latin-700-normal.ttf') format('truetype');
}
@font-face {
	font-display: swap; 
	font-family: 'Manrope';
	font-style: normal;
	font-weight: 800;
	src:	url('../../fonts/manrope/manrope-latin-800-normal.woff2') format('woff2'), 
			url('../../fonts/manrope/manrope-latin-800-normal.woff2') format('woff2'), 
			url('../../fonts/manrope/manrope-latin-800-normal.ttf') format('truetype');
}

:root {
	--navy:#061827;
	--navy-2:#0a2235;
	--ink:#102236;
	--gold:#c9a55a;
	--gold-deep:#b69149;
	--paper:#f4f3ef;
	--white:#ffffff;
	--muted:#65717d;
	--line:#d9d8d2;

	/* Standardised internal typography + spacing scale */
	--type-section-title:clamp(2rem,3.3vw,4rem);
	--type-section-title-mobile:2.2rem;
	--type-card-title:1rem;
	--type-card-copy:.84rem;
	--type-project-meta:.78rem;
	--type-compact-title:.82rem;
	--type-compact-copy:.74rem;
	--type-stat-value:clamp(1.6rem,2.3vw,2.4rem);
	--type-stat-label:.64rem;
	--type-body:1rem;
	--type-lead:1.08rem;
	--line-body:1.75;
	--line-card:1.65;
	--space-card-x:24px;
	--space-card-y:28px;
	--space-stat-y:34px;
	
	/* Vertical rhythm */
	--space-section-y:104px;
	--space-section-y-tablet:80px;
	--space-section-y-mobile:64px;
	--space-section-gap:24px;

	/* CTA / links */
	--type-cta:.74rem;
	--type-cta-small:.69rem;
	--cta-letter:.045em;
	--cta-gap:12px;
	--btn-pad-y:15px;
	--btn-pad-x:24px;
	--btn-border-width:1px;

	/* Icons */
	--icon-standard:48px;
	--icon-pillar:52px;
	--icon-compact:38px;
	--icon-glyph:1.18rem;
	--icon-border:#d7c596;

	/* Borders */
	--border-soft:#e8e6df;
	--border-divider:#d9d8d2;
	--border-dark:rgba(255,255,255,.16);

	/* Reusable media geometry */
	--ratio-project:4 / 3;
	--ratio-card-media:4 / 3;
	--ratio-sector:16 / 9;
	
	/* Contact Reach Map */
	--reach-map-dot: #a7afb5;
	--reach-map-dot-opacity: 0.88;
	--reach-map-background: var(--white);
	--reach-map-border: var(--gold);
}
*,
*::before,
*::after { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; font-family:"Manrope",sans-serif; color:var(--ink); background:var(--white); -webkit-font-smoothing:antialiased; }
a { text-decoration:none; }
img { display:block; width:100%; }

.container-xxl { max-width:1420px; }
.section-pad { padding:105px 0; }
.bg-white { background:var(--white)!important; }

h1,h2,h3,h4 { font-weight:800; letter-spacing:-0.04em; }
h2 { font-size:clamp(2rem,3.3vw,4rem); line-height:1.04; margin:0 0 24px; }
.lead-copy { font-size:1.08rem; line-height:1.85; color:#566371; max-width:720px; }

.eyebrow { display:flex; align-items:center; gap:12px; text-transform:uppercase; font-size:.72rem; letter-spacing:.13em; font-weight:700; color:#7a8086; margin-bottom:18px; }
.eyebrow span { width:28px; height:3px; background:var(--gold); display:inline-block; }
.eyebrow.light { color:#c8d0d6; }

.brand-mark { display:inline-flex; flex-direction:column; color:#fff!important; line-height:1; }
.brand-logo img {max-height: 56px;}
.brand-logo-footer img {max-height: 46px;}
.brand-main { font-size:2rem; font-weight:700; letter-spacing:.02em; }
.brand-sub { font-size:.55rem; letter-spacing:.54em; color:var(--gold); margin-top:5px; }

.btn { border-radius:0; padding:15px 24px; font-size:.76rem; text-transform:uppercase; letter-spacing:.04em; font-weight:800; display:inline-flex; align-items:center; gap:14px; }
.btn-gold { background:var(--gold); color:var(--white); border:1px solid var(--gold); }
.btn-gold:hover { background:var(--gold-deep); color:var(--white); border-color:var(--gold-deep); }
.btn-outline-light-custom { color:var(--white); border:1px solid rgba(255,255,255,.35); }
.btn-outline-light-custom:hover { background:var(--white); color:var(--navy); }
.text-link { text-transform:uppercase; font-size:.75rem; font-weight:800; letter-spacing:.04em; color:var(--ink); display:inline-flex; gap:12px; align-items:center; padding-bottom:8px; border-bottom:1px solid var(--gold); }

.text-link svg {fill: none; stroke: var(--ink); stroke-linecap: round; stroke-linejoin: round; stroke-width: 1px; height: 20px; width:20px; }
.text-link:hover svg {fill: none; stroke: var(--gold); stroke-linecap: round; stroke-linejoin: round; stroke-width: 1px; height: 20px; width:20px; }

.heritage-visual { position:relative; padding-right:70px; }
.heritage-visual img { width:100%; height:auto; aspect-ratio:2/3; object-fit:cover; filter:saturate(.65); }
.heritage-card { position:absolute; right:0; bottom:-28px; background:var(--gold); color:var(--white); width:210px; padding:28px; }
.heritage-card small,.heritage-card strong,.heritage-card p { display:block; }
.heritage-card strong { font-size:2.5rem; font-weight:500; letter-spacing:-.04em; }
.heritage-card p { margin:18px 0 0; text-transform:uppercase; font-size:.72rem; font-weight:800; line-height:1.6; }
.small-rule { width:34px; height:3px; background:var(--white); display:block; margin-bottom:20px; }

.stats-band { background:var(--navy); color:var(--white); }
.stat-item { padding:28px 16px; border-right:1px solid rgba(255,255,255,.18); }
.stat-item:last-child { border-right:0; }
.stat-item strong { display:block; font-size:2rem; line-height:1; }
.stat-item span { display:block; font-size:.65rem; text-transform:uppercase; letter-spacing:.04em; color:#c6cfd6; margin-top:9px; }

.business-grid { margin-left:0; margin-right:0; }
.business-grid > div { min-height:560px; }
.business-card { min-height:560px; position:relative; background-size:cover; background-position:center; color:var(--white); overflow:hidden; }
.business-engineering { background-image:url("../../img/bsr-gloabl-images/general-images/engineering-business-card-index.webp"); }
.business-commodities { background-image:url("../../img/bsr-gloabl-images/general-images/commodities-business-card-index.webp"); }
.business-construction { background-image:url("../../img/bsr-gloabl-images/general-images/construction-business-card-index.webp"); }
.business-shade { position:absolute; inset:0; background:linear-gradient(180deg,rgba(3,16,27,.08) 18%,rgba(3,16,27,.92) 88%); }
.business-content { position:absolute; left:0; right:0; bottom:0; padding:42px; }
.business-number { font-size:.75rem; color:var(--gold); font-weight:800; letter-spacing:.12em; }
.business-content h3 { font-size:2rem; margin:14px 0 12px; }
.business-content p { max-width:360px; color:#e0e5e9; }
.business-content ul { list-style:none; padding:0; margin:24px 0; color:#d2dae0; font-size:.88rem; line-height:1.6; }
.business-content a { color:var(--white); text-transform:uppercase; font-weight:800; font-size:.73rem; }

.engineering-image-wrap { position:relative; }
.engineering-image-wrap > img { height:520px; object-fit:cover; }
.capability-panel { position:absolute; right:0; bottom:0; width:min(330px,72%); background:rgba(5,24,39,.95); color:var(--white); padding:26px 30px; display:grid; gap:14px; }
.capability-panel span { padding-bottom:10px; border-bottom:1px solid rgba(255,255,255,.12); font-size:.84rem; }
.capability-panel span:last-child { border-bottom:0; }

.capability-panel a {color:var(--white); }
.capability-panel a:hover {color:var(--gold); }

.project-card img { aspect-ratio:4/3; object-fit:cover; margin-bottom:16px; }
.project-card h3 { font-size:1rem; margin-bottom:5px; }
.project-card p,.project-card span { margin:0; color:#7a858f; font-size:.8rem; }

.timeline-section { background:var(--paper); }
.section-side-note { text-transform:uppercase; text-align:right; color:#8f969c; font-size:.7rem; letter-spacing:.1em; font-weight:700; }
.timeline-grid { display:grid; grid-template-columns:repeat(7,1fr); position:relative; gap:18px; }
.timeline-grid::before { content:""; position:absolute; top:8px; left:0; right:0; height:1px; background:#bbb8ae; }
.timeline-item { position:relative; padding-top:30px; }
.timeline-item i { position:absolute; top:0; left:0; width:16px; height:16px; background:var(--gold); border-radius:50%; border:3px solid var(--paper); box-shadow:0 0 0 1px var(--gold); }
.timeline-item strong { font-size:.9rem; }
.timeline-item p { font-size:.74rem; line-height:1.5; color:#717980; margin-top:8px; }

.client-logo-grid { display:grid; grid-template-columns:repeat(8,1fr); gap:22px; align-items:center; }
.client-logo-grid span { display:flex; align-items:center; justify-content:center; }
.client-logo-grid img { display: block; width:134px; height:60px; max-width:100%; object-fit:contain; }

@media (max-width:1199.98px) {
	.timeline-grid { grid-template-columns:repeat(4,1fr); row-gap:35px; }
	.timeline-grid::before { display:none; }
	.timeline-item { border-top:1px solid #bbb8ae; }
	.client-logo-grid { grid-template-columns:repeat(4,1fr); }
	.timeline-item i { top:-8px; }
}

@media (max-width:991.98px) {
	.section-pad { padding:78px 0; }
	.heritage-visual { padding-right:40px; margin-top:15px; }
	.business-grid > div,.business-card { min-height:490px; }
	.business-content { padding:30px; }
	.engineering-image-wrap > img { height:430px; }
}

@media (max-width:767.98px) {
	.section-pad { padding:62px 0; }
	h2 { font-size:2.2rem; }

	.heritage-visual { padding-right:0; padding-bottom:72px; }
	.heritage-card { right:18px; bottom:0; width:180px; }
	.business-content h3 { font-size:1.7rem; }
	.timeline-grid { grid-template-columns:1fr 1fr; }
	.client-logo-grid { grid-template-columns:repeat(2,1fr); row-gap:36px; }
	.capability-panel { position:relative; width:100%; }
	.engineering-image-wrap > img { height:330px; }
	.timeline-item p { max-width:170px; }
}

/* =========================================================
   BSR ABOUT PAGE
   Uses the shared global BSR system and one common stylesheet.
   ========================================================= */

.about-stats { border-bottom:1px solid var(--line); }
.about-stat { padding:34px 16px; border-right:1px solid var(--line); }
.about-stat:last-child { border-right:0; }
.about-stat strong { display:block; color:var(--ink); font-size:clamp(1.6rem,2.3vw,2.45rem); line-height:1; font-weight:700; text-transform:uppercase; }
.about-stat span { display:block; margin-top:9px; color:#63707c; text-transform:uppercase; letter-spacing:.05em; font-size:.64rem; font-weight:800; }

.about-history-visual { display:grid; grid-template-columns:1.08fr .92fr; min-height:430px; overflow:hidden; }
.history-image { position:relative; margin:0; overflow:hidden; }
.history-image img { width:100%; height:100%; min-height:430px; object-fit:cover; filter:saturate(.9); }
.history-image-past img { filter:grayscale(1) contrast(.95); }
.history-image-now { clip-path:polygon(10% 0,100% 0,100% 100%,0 100%); margin-left:-15%; }
.history-image figcaption { position:absolute; left:28px; bottom:26px; color:var(--white); text-transform:uppercase; text-shadow:0 2px 12px rgba(0,0,0,.42); }
.history-image figcaption strong { display:block; font-size:1.65rem; line-height:1; }
.history-image figcaption span { display:block; margin-top:5px; font-size:.66rem; letter-spacing:.08em; font-weight:700; }

.section-note { color:#7d8489; font-size:.68rem; line-height:1.45; text-transform:uppercase; letter-spacing:.08em; font-weight:700; text-align:right; }
.about-timeline { position:relative; display:grid; grid-template-columns:repeat(6,1fr); gap:22px; }
.about-timeline::before { content:""; position:absolute; left:0; right:0; top:10px; height:1px; background:#cfbf97; }
.about-timeline article { position:relative; padding-top:30px; }
.about-timeline article > span { position:absolute; top:4px; left:0; width:13px; height:13px; background:var(--gold); border-radius:50%; box-shadow:0 0 0 5px var(--white); }
.about-timeline strong { display:block; color:var(--ink); font-size:.83rem; margin-bottom:8px; }
.about-timeline p { margin:0; color:#75818a; font-size:.75rem; line-height:1.6; }

.about-one-group {position: relative; overflow: hidden; background: #f6f3eb; }
.about-one-group .lead-copy { max-width: 760px; margin-bottom: 0; }
.about-one-group-button {margin-top: 30px; }
.about-one-group-disciplines {display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 34px; }
.about-one-group-discipline {position: relative; min-width: 0; padding: 0 34px 20px; text-align: center; }
.about-one-group-discipline + .about-one-group-discipline {border-left: 1px solid var(--line); }
.about-one-group-icon {width: 58px; height: 58px; margin: 0 auto 16px; color: var(--gold); }
.about-one-group-icon svg {fill: none; stroke: var(--gold); stroke-linecap: round; stroke-linejoin: round; stroke-width: .7px; height: 100%; width:100%; }

.about-one-group-discipline h3 {margin: 0 0 7px; color: var(--navy); font-family: "Manrope", sans-serif; font-size: .86rem; font-weight: 800; line-height: 1.25; letter-spacing: .025em; text-transform: uppercase; }
.about-one-group-discipline p {max-width: 230px; margin: 0 auto; color: #65717a; font-family: "Manrope", sans-serif; font-size: .78rem; line-height: 1.55; }
.about-one-group-signoff {display: grid; grid-template-columns: minmax(20px, 1fr) auto minmax(20px, 1fr); align-items: center; gap: 22px; margin-top: 6px; }
.about-one-group-signoff span {height: 1px; background: #d8c8a3; }
.about-one-group-signoff strong {color: #8a8170; font-family: "Manrope", sans-serif; font-size: .63rem; font-weight: 700; letter-spacing: .28em; text-transform: uppercase; }

.about-one-group-discipline a:hover h3 {color: var(--gold); }

@media (max-width: 1199.98px) {
	.about-one-group-discipline {padding-right: 26px; padding-left: 26px; }
}

@media (max-width: 991.98px) {
	.about-one-group-disciplines {margin-top: 30px; }
}

@media (max-width: 767.98px) {
	.about-one-group-disciplines {grid-template-columns: 1fr; margin-top: 22px; }
	.about-one-group-discipline {padding: 28px 0; }
	.about-one-group-discipline + .about-one-group-discipline {border-top: 1px solid var(--line); border-left: 0; }
	.about-one-group-signoff {gap: 14px; margin-top: 4px; }
	.about-one-group-signoff strong {letter-spacing: .18em; }
	.about-timeline p { max-width:170px; }
}

.about-values-section {position:relative;width:100%;overflow:hidden;background:var(--navy);color:var(--white); }
.about-values-layout {display:grid;grid-template-columns:minmax(0,34%) minmax(0,33%) minmax(0,33%);width:100%;max-width:1440px;min-height:355px;margin:0 auto; }
.about-values-copy {display:flex;flex-direction:column;justify-content:center;min-width:0;padding:48px 42px; }
.about-values-copy h2 {margin:0 0 14px;color:var(--white); }
.about-values-copy > p {max-width:410px;margin:0 0 22px;color:rgba(255,255,255,.72);font-family:"Manrope",sans-serif;font-size:.82rem;line-height:1.58; }
.about-values-copy .btn {align-self:flex-start; }
.about-values-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));align-self:stretch;min-width:0;padding:48px 32px 42px;background:#062032; }
.about-values-item {display:flex;flex-direction:column;justify-content:center;min-width:0;padding:6px 22px; }
.about-values-item:nth-child(odd) {border-right:1px solid rgba(255,255,255,.10); }
.about-values-item:nth-child(-n+2) {border-bottom:1px solid rgba(255,255,255,.10); }
.about-values-icon {width:42px;height:42px;margin:0 0 9px;color:var(--gold); }
.about-values-icon svg {fill: none; stroke: var(--gold); stroke-linecap: round; stroke-linejoin: round; stroke-width: .7px; height: 100%; width:100%; }
.about-values-item-copy {min-width:0; }
.about-values-item h3 {margin:0 0 4px;color:var(--white);font-family:"Manrope",sans-serif;font-size:.74rem;font-weight:800;line-height:1.2;letter-spacing:.025em;text-transform:uppercase; }
.about-values-item p {margin:0;color:rgba(255,255,255,.67);font-family:"Manrope",sans-serif;font-size:.67rem;line-height:1.42 ;}
.about-values-visual {position:relative;min-width:0;min-height:355px;margin:0;overflow:hidden;background:#0a2637; }
.about-values-visual::before {content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(2,18,30,.30) 0%,rgba(2,18,30,.03) 58%,rgba(2,18,30,.28) 100%);pointer-events:none; }
.about-values-visual img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center; }
.about-values-visual figcaption {position:absolute;z-index:2;top:46px;right:32px;margin:0;padding-left:16px;border-left:1px solid var(--gold);color:var(--white);font-family:"Manrope",sans-serif;font-size:.64rem;font-weight:700;line-height:1.62;letter-spacing:.055em;text-transform:uppercase; }
@media (max-width:1199.98px){
	.about-values-layout {grid-template-columns:minmax(0,32%) minmax(0,38%) minmax(0,30%); }
	.about-values-copy {padding-right:30px;padding-left:30px; }
	.about-values-grid {padding-right:22px;padding-left:22px; }
	.about-values-item {padding-right:16px;padding-left:16px; }
}
@media (max-width:991.98px){
	.about-values-layout {grid-template-columns:repeat(2,minmax(0,1fr)); }
	.about-values-copy {padding:46px 34px; }
	.about-values-grid {padding:42px 28px; }
	.about-values-visual {grid-column:1 / -1;min-height:390px; }
}
@media (max-width:767.98px){
	.about-values-layout {grid-template-columns:1fr; }
	.about-values-copy {padding:44px 24px 34px; }
	.about-values-grid {grid-template-columns:repeat(2,minmax(0,1fr));padding:24px; }
	.about-values-item {min-height:145px; }
	.about-values-visual {grid-column:auto;min-height:340px; }
}
@media (max-width:575.98px){
	.about-values-grid {grid-template-columns:1fr;grid-template-rows:auto;padding:14px 24px; }
	.about-values-item {display:grid;grid-template-columns:44px minmax(0,1fr);grid-template-rows:auto auto;column-gap:15px;min-height:0;padding:22px 0; }
	.about-values-item:nth-child(odd) {border-right:0; }
	.about-values-item:nth-child(-n+2) {border-bottom:0; }
	.about-values-item + .about-values-item {border-top:1px solid rgba(255,255,255,.10); }
	.about-values-icon {grid-row:1 / 3;margin:0; }
	.about-values-visual {min-height:300px; }
	.about-values-visual figcaption {top:28px;right:24px; }
}

.leader-card { display:grid; grid-template-columns:140px 1fr; align-items:center; gap:26px; }
.leader-card img { width:140px; height:170px; object-fit:cover; filter:saturate(.88); }
.leader-card h3 { margin:0 0 5px; font-size:.95rem; }
.leader-card p { margin:0; color:#707b84; font-size:.78rem; }
.leader-card span { display:block; width:42px; height:1px; background:var(--gold); margin-top:18px; }
.about-logo-grid span { font-size:clamp(.8rem,1.4vw,1.1rem); }

.team-social { display:flex; justify-content:flex-start; gap:8px; margin-top: 1.1em; }
.team-social a { display:inline-flex; width:30px; height:30px; align-items:center; justify-content:center; border:1px solid rgba(201, 165, 90,.80); }

.team-social svg {width: 12px; height: 12px; line-height: 12px; fill: var(--gold);;}
.team-social a:hover svg {fill: var(--white);}
.team-social a:hover { background:var(--gold); }

@media (max-width:1199.98px) {
	.about-timeline { grid-template-columns:repeat(3,1fr); row-gap:36px; }
	.about-timeline::before { display:none; }
	.about-timeline article { border-top:1px solid #cfbf97; }
	.about-timeline article > span { top:-7px; }
}

@media (max-width:991.98px) {
	.about-history-visual { min-height:380px; }
	.history-image img { min-height:380px; }
	.stat-item:nth-child(2) { border-right:0; }
	.stat-item:nth-child(-n/**/+2) { border-bottom:1px solid rgba(255,255,255,.12); }
	.about-stat:nth-child(2) { border-right:0; }
	.about-stat:nth-child(-n/**/+2) { border-bottom:1px solid var(--line); }
	.leader-card { grid-template-columns:120px 1fr; }
	.leader-card img { width:120px; height:150px; }
}

@media (max-width:767.98px) {
	.about-history-visual { grid-template-columns:1fr; }
	.history-image-now { clip-path:none; margin-left:0; }
	.history-image img { min-height:280px; padding-bottom: 14px; }
	.about-timeline { grid-template-columns:1fr 1fr; }
	.leader-card { grid-template-columns:1fr; }
	.leader-card img { width:80%; height:660px; }
}

@media (max-width:575.98px) {
	.about-stat { padding:27px 10px; }
	.about-stat strong { font-size:1.45rem; }
	.about-timeline { grid-template-columns:1fr; }
	.leader-card { grid-template-columns:1fr; }
	.leader-card img { width:100%; height:540px; }
}

@media (max-width:479.98px) {
	.leader-card img { width:100%; height:480px; }
}

.about-perspective-section {position:relative;overflow:hidden;background:var(--white); }
.about-perspective-layout {display:grid;grid-template-columns:minmax(0,41%) minmax(0,59%);align-items:start;gap:42px;width:100%; }
.about-perspective-copy {min-width:0;padding-right:8px;}.about-perspective-copy h2{max-width:520px;margin-bottom:14px; }
.about-perspective-copy .lead-copy {max-width:500px;margin-bottom:0; }
.about-perspective-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-self:center;gap:10px;min-width:0;width:100%; }
.about-perspective-item {min-width:0;overflow:hidden;background:var(--white); }
.about-perspective-item + .about-perspective-item {padding-left:10px;border-left:1px solid var(--line); }
.about-perspective-media {position:relative;width:100%;aspect-ratio:1.72 / 1;overflow:hidden;background:#e9ecee; }
.about-perspective-media img {position:absolute;inset:0;display:block;width:100%;height:100%;margin:0;object-fit:cover;object-position:center; }
.about-perspective-item-copy {min-width:0;padding:14px 9px 0; }
.about-perspective-item h3 {margin:0 0 8px;color:var(--navy);font-family:"Manrope",sans-serif;font-size:.72rem;font-weight:800;line-height:1.22;letter-spacing:.02em;text-transform:uppercase; }
.about-perspective-item p {max-width:170px;margin:0;color:#69747c;font-family:"Manrope",sans-serif;font-size:.68rem;line-height:1.48; }
@media (max-width:1199.98px){
	.about-perspective-layout {grid-template-columns:minmax(0,38%) minmax(0,62%);gap:30px; }
	.about-perspective-grid {gap:8px; }
	.about-perspective-item + .about-perspective-item {padding-left:8px; }
}
@media (max-width:991.98px){
	.about-perspective-layout {grid-template-columns:1fr;gap:28px ;}
	.about-perspective-copy {max-width:720px;padding-right:0; }
	.about-perspective-grid {gap:14px; }
}
@media (max-width:767.98px){
	.about-perspective-grid {grid-template-columns:1fr;gap:18px; }
	.about-perspective-item {display:grid;grid-template-columns:minmax(170px,42%) minmax(0,1fr);align-items:stretch;border:1px solid var(--line); }
	.about-perspective-item + .about-perspective-item {padding-left:0;border-left:1px solid var(--line); }
	.about-perspective-media {height:100%;min-height:150px;aspect-ratio:auto; }
	.about-perspective-item-copy {display:flex;flex-direction:column;justify-content:center;padding:20px; }
}
@media (max-width:575.98px){
	.about-perspective-item {display:block; }
	.about-perspective-media {height:auto;min-height:0;aspect-ratio:1.72 / 1; }
	.about-perspective-item-copy {display:block;padding:16px 14px 18px; }
}

.bsr-kimberlite { position:relative;overflow:hidden;background:#f6f3ec; }
.bsr-kimberlite.section-pad { padding-top:clamp(64px,7vw,104px);padding-bottom:clamp(64px,7vw,104px);}
.bsr-kimberlite__row { --bs-gutter-x:clamp(32px, 5vw, 76px);--bs-gutter-y:48px; }
.bsr-kimberlite__content { height:100%;display:flex;flex-direction:column;align-items:flex-start; }
.bsr-kimberlite .section-kicker { display:flex;align-items:center;gap:12px;margin-bottom:14px;color:#6c6d70;font-size:.69rem;font-weight:600;line-height:1;letter-spacing:.08em;text-transform:uppercase; }
.bsr-kimberlite .section-kicker::before { content:"";width:28px;height:2px;flex:0 0 28px;background:#c99a4b; }
.bsr-kimberlite__title { max-width:560px;margin:0 0 22px;color:#071d38;font-size:clamp(2rem, 3.1vw, 3.25rem);font-weight:700;line-height:.98;letter-spacing:-.035em; }
.bsr-kimberlite__content p { max-width:590px;margin:0 0 15px;color:#34404d;font-size:.98rem;line-height:1.58; }
.bsr-kimberlite__content p:last-of-type { margin-bottom:28px; }
.bsr-kimberlite__panel { position:relative;padding:clamp(34px,4vw,58px) clamp(26px,3.5vw,52px) 70px;overflow:hidden;background:radial-gradient(circle at 50% 44%,rgba(255,255,255,.08),transparent 31%),linear-gradient(135deg,#071725 0,#06121e 55%,#081b29 100%);color:#fff; }
.bsr-kimberlite__panel-row { --bs-gutter-x:0;--bs-gutter-y:28px}
.bsr-kimberlite__brand{min-height:230px;display:flex;flex-direction:column;justify-content:center; }
.bsr-kimberlite__brand--bsr { padding-right:clamp(18px,2.2vw,34px);border-right:1px solid rgba(201,154,75,.7); }
.bsr-kimberlite__brand--kimberlite { align-items:flex-start;padding-left:clamp(18px,2.2vw,34px);border-left:1px solid rgba(201,154,75,.7); }
.bsr-kimberlite__bsr-logo, .bsr-kimberlite__kimber-logo { margin-bottom:34px; }
.bsr-kimberlite__facts { display:grid;gap:15px;color:#fff;font-size:.82rem;font-weight:600;line-height:1.3; }
.bsr-kimberlite__diamond { padding:12px; }
.bsr-kimberlite__kimber-mark { margin-bottom:5px;color:#00d884;font-size:3.5rem;font-weight:300;line-height:.7; }
.bsr-kimberlite__supply { position:absolute;right:0;bottom:0;left:0;padding:18px 24px;border-top:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.9);font-size:.67rem;font-weight:600;line-height:1;letter-spacing:.09em;text-align:center;text-transform:uppercase; }

.bsr-kimberlite__bsr-logo img, .bsr-kimberlite__kimber-logo img { display:block; width:180px; max-width:100%; height:auto; aspect-ratio:18 / 7; object-fit:contain; }
.bsr-kimberlite__diamond img { display:block; width:200px; max-width:100%; height:auto; aspect-ratio:200 / 159; object-fit:contain; margin:auto; }



@media (max-width:1199.98px){
	.bsr-kimberlite__diamond { padding:8px; }
}

@media (max-width:991.98px){
	.bsr-kimberlite__content { height:auto; }
}

@media (max-width:767.98px){
	.bsr-kimberlite.section-pad { padding-top:56px;padding-bottom:56px; }
	.bsr-kimberlite__row { --bs-gutter-y:38px}
	.bsr-kimberlite__panel{min-height:0;padding:38px 26px 66px; }
	.bsr-kimberlite__brand { min-height:0;align-items:center;padding:0;text-align:center;border:0; }
	.bsr-kimberlite__facts{justify-items:center; }
	.bsr-kimberlite__bsr-logo, .bsr-kimberlite__kimber-logo { align-items:center;margin-bottom:24px; }
	.bsr-kimberlite__diamond img { max-width:197px; margin:auto; }
}

@media (max-width:575.98px){
	.bsr-kimberlite__title { font-size:2rem; }
	.bsr-kimberlite__content p { font-size:.94rem; }
}

.bsr-kimberlite_divider-dot { position: relative; }
.bsr-kimberlite__brand.bsr-kimberlite__brand--bsr.bsr-kimberlite_divider-dot::after { content: ""; position: absolute; top: 50%; right: -4px; width: 7px; height: 7px; border-radius: 50%; background: #c99a4b; transform: translateY(-50%); z-index: 2; }
.bsr-kimberlite__brand.bsr-kimberlite__brand--kimberlite.bsr-kimberlite_divider-dot::before { content: ""; position: absolute; top: 50%; left: -4px; width: 7px; height: 7px; border-radius: 50%; background: #c99a4b; transform: translateY(-50%); z-index: 2; }

@media (max-width: 767.98px) {
	.bsr-kimberlite__brand.bsr-kimberlite__brand--bsr.bsr-kimberlite_divider-dot::after, .bsr-kimberlite__brand.bsr-kimberlite__brand--kimberlite.bsr-kimberlite_divider-dot::before { display: none; }
}

/* =========================================================
   BSR ENGINEERING PAGE
   Shares the global BSR system above; engineering-only rules
   are namespaced to keep the homepage unchanged.
   ========================================================= */

.engineering-stats { border-bottom:1px solid var(--line); }
.engineering-stat { padding:34px 16px; border-right:1px solid var(--line); }
.engineering-stat:last-child { border-right:0; }
.engineering-stat strong { display:block; color:var(--ink); font-size:clamp(1.65rem,2.4vw,2.5rem); line-height:1; font-weight:700; text-transform:uppercase; }
.engineering-stat span { display:block; margin-top:9px; color:#63707c; text-transform:uppercase; letter-spacing:.05em; font-size:.64rem; font-weight:800; }

.engineering-approach-visual { position:relative; padding-right:54px; }
.engineering-approach-visual > img { height:500px; object-fit:cover; }
.engineering-principles-card { position:absolute; right:0; bottom:0; width:205px; background:var(--gold); color:var(--white); padding:30px 27px; display:grid; gap:8px; }
.engineering-principles-card strong { text-transform:uppercase; letter-spacing:.08em; font-size:.76rem; }

.engineering-capabilities { background:#f8f8f6; }
.capability-card { height:100%; min-height:235px; padding:31px 30px; background:var(--white); border:1px solid #ecebe6; transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.capability-card:hover { transform:translateY(-4px); border-color:#dfd8c8; box-shadow:0 14px 38px rgba(13,33,50,.07); }
.capability-icon { display:flex; width:48px; height:48px; align-items:center; justify-content:center; margin-bottom:24px; color:var(--gold); border:1px solid #d7c596; border-radius:50%; font-size:1.25rem; }
.capability-card h3 { margin:0 0 12px; font-size:1.08rem; letter-spacing:-.03em; }
.capability-card p { margin:0; color:#65717d; line-height:1.65; font-size:.86rem; }

.capability-card svg {fill: none; stroke: var(--gold); stroke-linecap: round; stroke-linejoin: round; stroke-width: .7px; height: 30px; width:30px; }

.turnkey-grid { background:var(--white); }
.turnkey-image { height:100%; min-height:580px; object-fit:cover; }
.turnkey-copy { padding:60px 60px 60px 70px; }
.engineering-benefits > div { display:flex; flex-direction:column; }
.engineering-benefits span { width:38px; height:38px; display:flex; align-items:center; justify-content:center; border:1px solid var(--gold); border-radius:50%; color:var(--gold); font-size:.65rem; font-weight:800; margin-bottom:14px; }
.engineering-benefits strong { font-size:.82rem; margin-bottom:5px; }
.engineering-benefits small { color:#818a92; line-height:1.5; font-size:.7rem; }

.process-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:28px; position:relative; }
.process-grid::before { content:""; position:absolute; left:5%; right:5%; top:55px; height:1px; background:#d7c596; }
.process-step { position:relative; z-index:1; background:var(--white); }
.process-step em { display:block; font-style:normal; font-weight:800; font-size:.78rem; margin-bottom:15px; }
.process-step i { display:flex; align-items:center; justify-content:center; width:66px; height:66px; border:1px solid #d5bd82; border-radius:50%; background:var(--white); color:var(--gold); font-style:normal; font-size:1.2rem; margin-bottom:19px; }
.process-step h3 { font-size:.88rem; margin:0 0 7px; }
.process-step p { color:#77818a; font-size:.72rem; line-height:1.55; margin:0; max-width:150px; }
.process-step:not(:last-child)::after { content:"→"; position:absolute; right:-18px; top:45px; color:var(--gold); font-size:1.1rem; }

.process-step svg {fill: none; stroke: var(--gold); stroke-linecap: round; stroke-linejoin: round; stroke-width: .7px; height: 30px; width:30px; } 

.engineering-industries { background:#f7f7f5; }
.industry-card { position:relative; width:100%; height:180px; overflow:hidden; }
.industry-card-image { display:block; width:100%; height:100%; max-width:100%; object-fit:cover; object-position:center; }
.industry-card::before { content:""; position:absolute; z-index:1; inset:0; background:linear-gradient(180deg,rgba(4,21,34,.05),rgba(4,21,34,.83)); pointer-events:none; }
.industry-card span { position:absolute; z-index:2; left:22px; bottom:20px; color:var(--white); text-transform:uppercase; letter-spacing:.06em; font-weight:800; font-size:.78rem; }

.engineering-project-card img { aspect-ratio:4/3; object-fit:cover; margin-bottom:16px; }
.engineering-project-card h3 { font-size:1rem; margin:0 0 6px; }
.engineering-project-card p { margin:0 0 9px; color:#7a858f; font-size:.8rem; }
.engineering-project-card a { color:var(--ink); text-transform:uppercase; letter-spacing:.04em; font-weight:800; font-size:.68rem; }
.engineering-project-card a span { color:var(--gold); }

@media (max-width:1199.98px) {
	.process-grid { grid-template-columns:repeat(3,1fr); row-gap:45px; }
	.process-grid::before { display:none; }
	.process-step { border-top:1px solid #d7c596; padding-top:18px; }
	.process-step:not(:last-child)::after { display:none; }
}

@media (max-width:991.98px) {
	.engineering-approach-visual { padding-right:35px; }
	.engineering-approach-visual > img { height:430px; }
	.turnkey-copy { padding:50px 0 0; }
	.turnkey-image { min-height:420px; }
	.engineering-stat:nth-child(2) { border-right:0; }
	.engineering-stat:nth-child(-n/**/+2) { border-bottom:1px solid var(--line); }
}

@media (max-width:767.98px) {
	.engineering-approach-visual { padding-right:0; padding-bottom:80px; }
	.engineering-approach-visual > img { height:340px; }
	.engineering-principles-card { right:18px; bottom:0; width:178px; }
	.capability-card { min-height:auto; }
	.process-grid { grid-template-columns:1fr 1fr; }
	.industry-card { height:150px; }
	.turnkey-image { min-height:330px; }
	.capability-card p { max-width:280px; }
}

@media (max-width:575.98px) {
	.engineering-stat { padding:27px 10px; }
	.engineering-stat strong { font-size:1.55rem; }
	.process-grid { grid-template-columns:1fr; }
	.process-step p { max-width:none; }
}

/* =========================================================
   BSR COMMODITIES PAGE
   ========================================================= */

.commodities-stats { border-bottom:1px solid var(--line); }
.commodities-stat { padding:34px 16px; border-right:1px solid var(--line); }
.commodities-stat:last-child { border-right:0; }
.commodities-stat strong { display:block; color:var(--ink); font-size:clamp(1.45rem,2.2vw,2.35rem); line-height:1.05; font-weight:700; text-transform:uppercase; }
.commodities-stat span { display:block; margin-top:9px; color:#63707c; text-transform:uppercase; letter-spacing:.05em; font-size:.64rem; font-weight:800; }

.commodities-approach-visual { position:relative; }
.commodities-approach-visual img { width:100%; height:470px; object-fit:cover; }
.commodities-approach-list { position:absolute; right:0; top:0; bottom:0; width:230px; padding:40px 28px; background:linear-gradient(90deg,rgba(2,18,30,.28),rgba(2,18,30,.9)); color:var(--white); display:flex; flex-direction:column; justify-content:center; gap:13px; }
.commodities-approach-list strong { font-size:.74rem; text-transform:uppercase; letter-spacing:.08em; }

.commodities-portfolio { background:#f8f8f6; }
.commodity-card { height:100%; background:var(--white); border:1px solid #ecebe6; padding-bottom:24px; }
.commodity-card img { width:100%; aspect-ratio:1.35/1; object-fit:cover; }
.commodity-card h3 { margin:20px 22px 8px; font-size:1.12rem; }
.commodity-card p { margin:0 22px 18px; color:#687480; line-height:1.65; font-size:.82rem; }
.commodity-card a { margin:0 22px; color:var(--ink); font-size:.7rem; text-transform:uppercase; letter-spacing:.05em; font-weight:800; }
.commodity-card a span { color:var(--gold); margin-left:6px; }

.commodities-advantage-section {position:relative;overflow:hidden;background:var(--white);border-top:1px solid var(--line);border-bottom:1px solid var(--line); }
.commodities-advantage-layout {display:grid;grid-template-columns:minmax(0,36%) minmax(0,64%);align-items:stretch;width:100%; }
.commodities-advantage-copy {min-width:0;padding-right:46px; }
.commodities-advantage-copy h2 {max-width:460px;margin-bottom:14px; }
.commodities-advantage-copy .lead-copy {max-width:440px;margin-bottom:0; }
.commodities-advantage-grid {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;align-self:center;min-width:0;width:100%; }
.commodities-advantage-item {position:relative;display:flex;flex-direction:column;align-items:center;min-width:0;padding:10px 16px 4px;text-align:center; }
.commodities-advantage-item + .commodities-advantage-item::before {content:"";position:absolute;top:5%;bottom:54%;left:0;width:1px;background:var(--line); }
.commodities-advantage-icon {display:flex;align-items:center;justify-content:center;width:46px;height:46px;margin:0 0 14px;color:var(--gold); }
.commodities-advantage-icon svg {fill: none; stroke: var(--gold); stroke-linecap: round; stroke-linejoin: round; stroke-width: .7px; height: 100%; width:100%; }
.commodities-advantage-item h3 {min-height:2.45em;margin:0 0 9px;color:var(--navy);font-family:"Manrope",sans-serif;font-size:.72rem;font-weight:800;line-height:1.22;letter-spacing:.025em;text-transform:uppercase; }
.commodities-advantage-item p {max-width:135px;margin:0 auto;color:#69747c;font-family:"Manrope",sans-serif;font-size:.66rem;line-height:1.48; }
@media (max-width:1199.98px){
	.commodities-advantage-layout {grid-template-columns:minmax(0,35%) minmax(0,65%); }
	.commodities-advantage-copy {padding-right:32px; }
	.commodities-advantage-item {padding-right:10px;padding-left:10px; }
}
@media (max-width:991.98px){
	.commodities-advantage-layout {grid-template-columns:1fr;gap:30px; }
	.commodities-advantage-copy {max-width:720px;padding-right:0; }
	.commodities-advantage-grid {padding-top:28px;border-top:1px solid var(--line); }
}
@media (max-width:767.98px){
	.commodities-advantage-grid {grid-template-columns:repeat(2,minmax(0,1fr));padding-top:0;border-top:0; }
	.commodities-advantage-item {min-height:180px;padding:28px 18px;border-top:1px solid var(--line); }
	.commodities-advantage-item + .commodities-advantage-item::before {display:none; }
	.commodities-advantage-item:nth-child(even) {border-left:1px solid var(--line); }
	.commodities-advantage-item:last-child {grid-column:1 / -1;border-left:0; }
}
@media (max-width:575.98px){
	.commodities-advantage-grid {grid-template-columns:1fr; }
	.commodities-advantage-item{ display:grid;grid-template-columns:48px minmax(0,1fr);grid-template-rows:auto auto;column-gap:16px;min-height:0;padding:22px 0;text-align:left; }
	.commodities-advantage-item:nth-child(even){border-left:0; }
	.commodities-advantage-item:last-child {grid-column:auto; }
	.commodities-advantage-icon {grid-row:1 / 3;margin:0; }
	.commodities-advantage-item h3 {min-height:0;margin-bottom:5px; }
	.commodities-advantage-item p {max-width:none;margin:0; }
}

.commodities-real-world {position:relative;overflow:hidden;background:#f7f5ef; }
.commodities-real-world-layout {display:grid;grid-template-columns:minmax(0,34%) minmax(0,66%);align-items:start;gap:34px;width:100%; }
.commodities-real-world-copy {min-width:0;padding-right:12px; }
.commodities-real-world-copy h2 {max-width:430px;margin-bottom:14px; }
.commodities-real-world-copy .lead-copy {max-width:440px;margin-bottom:22px; }
.commodities-real-world-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;align-self:center;gap:10px;min-width:0;width:100%; }
.commodities-real-world-item {position:relative;display:flex;flex-direction:column;min-width:0;overflow:visible;background:transparent; }
.commodities-real-world-item + .commodities-real-world-item::before {content:"";position:absolute;top:0;bottom:0;left:-5px;width:1px;background:var(--line); }
.commodities-real-world-media {position:relative;width:100%;aspect-ratio:.78 / 1;overflow:hidden;background:#e7e8e6; }
.commodities-real-world-media img {position:absolute;inset:0;display:block;width:100%;height:100%;margin:0;object-fit:cover;object-position:center; }
.commodities-real-world-item-copy {min-width:0;padding:14px 8px 0; }
.commodities-real-world-item h3{ margin:0 0 8px;color:var(--navy);font-family:"Manrope",sans-serif;font-size:.76rem;font-weight:800;line-height:1.2;letter-spacing:.02em;text-transform:uppercase; }
.commodities-real-world-item p {max-width:165px;margin:0;color:#69747c;font-family:"Manrope",sans-serif;font-size:.69rem;line-height:1.5; }
@media (max-width:1199.98px){
	.commodities-real-world-layout {grid-template-columns:minmax(0,31%) minmax(0,69%);gap:26px; }
	.commodities-real-world-grid {gap:8px; }
	.commodities-real-world-item + .commodities-real-world-item::before {left:-4px; }
}
@media (max-width:991.98px){
	.commodities-real-world-layout {grid-template-columns:1fr;gap:28px; }
	.commodities-real-world-copy {max-width:720px;padding-right:0; }
	.commodities-real-world-grid {gap:12px; }
	.commodities-real-world-item + .commodities-real-world-item::before {left:-6px; }
}
@media (max-width:767.98px){
	.commodities-real-world-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px; }
	.commodities-real-world-item + .commodities-real-world-item::before {display:none; }
	.commodities-real-world-item:nth-child(even)::before {content:"";position:absolute;top:0;bottom:0;left:-7px;display:block;width:1px;background:var(--line); }
	.commodities-real-world-media {aspect-ratio:1.15 / 1; }
}
@media (max-width:575.98px){
	.commodities-real-world-grid {grid-template-columns:1fr;gap:24px; }
	.commodities-real-world-item:nth-child(even)::before {display:none; }
	.commodities-real-world-media {aspect-ratio:1.6 / 1; }
	.commodities-real-world-item-copy {padding-right:0;padding-left:0; }
}

.commodities-selected-markets {overflow: hidden; }
.commodities-selected-markets-copy {max-width: 430px;}
.commodities-selected-markets-copy .lead-copy {margin-bottom: 0; }

.commodities-selected-markets-grid {display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; width: 100%; min-width: 0; }
.commodities-market-card {position: relative; display: block; width: 100%; min-width: 0; aspect-ratio: var(--ratio-sector, 16 / 9); min-height: 155px; overflow: hidden; background: var(--navy); isolation: isolate; }
.commodities-market-card > img {position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; margin: 0; object-fit: cover; object-position: center; transition: transform .45s ease; }
.commodities-market-shade {position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(2, 18, 30, .04) 28%, rgba(2, 18, 30, .88) 100%); pointer-events: none; }
.commodities-market-card h3 {position: absolute; z-index: 2; left: 18px; right: 18px; bottom: 16px; margin: 0; color: var(--white); font-size: var(--type-compact-title, .82rem); font-weight: 800; line-height: 1.25; letter-spacing: .05em; text-transform: uppercase; }

@media (hover: hover) and (pointer: fine) {
	.commodities-market-card:hover > img {transform: scale(1.035); }
}

@media (max-width: 1199.98px) {
	.commodities-selected-markets-grid {grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
	.commodities-market-card {aspect-ratio: 16 / 10; }
}

@media (max-width: 991.98px) {
	.commodities-selected-markets-copy {max-width: 720px; }
}

@media (max-width: 575.98px) {
	.commodities-selected-markets-grid {grid-template-columns: 1fr; gap: 14px; }
	.commodities-market-card {aspect-ratio: 16 / 9; min-height: 0; }
	.commodities-market-card h3 {left: 18px; right: 18px; bottom: 16px; font-size: .76rem; }
}

@media (max-width:1199.98px) {
	.commodities-map { grid-template-columns:1fr 170px; }
}
@media (max-width:991.98px) {
	.commodities-stat:nth-child(2) { border-right:0; }
	.commodities-stat:nth-child(-n/**/+2) { border-bottom:1px solid var(--line); }
	.commodities-approach-visual img { height:420px; }
	.commodities-approach-list { width:210px; }
	.commodities-map { grid-template-columns:1fr; }
	.commodities-map ul { display:grid; grid-template-columns:repeat(2,1fr); }
}
@media (max-width:767.98px) {
	.commodities-approach-visual img { height:330px; }
	.commodities-approach-list { position:static; width:100%; background:var(--ink); }
}
@media (max-width:575.98px) {
	.commodities-stat { padding:27px 10px; }
	.commodities-stat strong { font-size:1.35rem; }
	.commodities-map ul { grid-template-columns:1fr; }
}

/* =========================================================
   BSR CONSTRUCTION PAGE
   Shares the global BSR system above; construction-only rules
   are namespaced so the other pages remain unchanged.
   ========================================================= */

.construction-stats { border-bottom:1px solid var(--line); }
.construction-stat { padding:34px 16px; border-right:1px solid var(--line); }
.construction-stat:last-child { border-right:0; }
.construction-stat strong { display:block; color:var(--ink); font-size:clamp(1.45rem,2.2vw,2.4rem); line-height:1.05; font-weight:700; text-transform:uppercase; }
.construction-stat span { display:block; margin-top:9px; color:#63707c; text-transform:uppercase; letter-spacing:.05em; font-size:.64rem; font-weight:800; }

.construction-approach-visual { position:relative; padding-right:54px; }
.construction-approach-visual > img { height:500px; object-fit:cover; }
.construction-principles-card { position:absolute; right:0; bottom:0; width:205px; background:var(--gold); color:var(--white); padding:30px 27px; display:grid; gap:8px; }
.construction-principles-card strong { text-transform:uppercase; letter-spacing:.08em; font-size:.76rem; }

.construction-capabilities { background:#f8f8f6; }
.construction-capability-card { height:100%; min-height:240px; padding:30px 24px; background:var(--white); border:1px solid #ecebe6; transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.construction-capability-card:hover { transform:translateY(-4px); border-color:#dfd8c8; box-shadow:0 14px 38px rgba(13,33,50,.07); }
.construction-capability-icon { display:flex; width:48px; height:48px; align-items:center; justify-content:center; margin-bottom:24px; color:var(--gold); border:1px solid #d7c596; border-radius:50%; font-size:1.22rem; }
.construction-capability-card h3 { margin:0 0 12px; font-size:.98rem; letter-spacing:-.03em; }
.construction-capability-card p { margin:0; color:#65717d; line-height:1.65; font-size:.82rem; }

.construction-capability-icon svg {fill: none; stroke: var(--gold); stroke-linecap: round; stroke-linejoin: round; stroke-width: .7px; height: 30px; width:30px; } 

.construction-process { background:var(--white); }
.construction-process-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:24px; position:relative; }
.construction-process-grid::before { content:""; position:absolute; left:4%; right:4%; top:54px; height:1px; background:#d7c596; }
.construction-process-step { position:relative; z-index:1; background:var(--white); }
.construction-process-step em { display:block; font-style:normal; font-weight:800; font-size:.78rem; margin-bottom:15px; }
.construction-process-step i { display:flex; align-items:center; justify-content:center; width:66px; height:66px; border:1px solid #d5bd82; border-radius:50%; background:var(--white); color:var(--gold); font-style:normal; font-size:1.18rem; margin-bottom:18px; }
.construction-process-step h3 { font-size:.88rem; margin:0 0 7px; }
.construction-process-step p { color:#77818a; font-size:.72rem; line-height:1.55; margin:0; max-width:145px; }
.construction-process-step:not(:last-child)::after { content:"→"; position:absolute; right:-15px; top:44px; color:var(--gold); font-size:1.08rem; }

.construction-process-step svg {fill: none; stroke: var(--gold); stroke-linecap: round; stroke-linejoin: round; stroke-width: .7px; height: 30px; width:30px; }

.construction-projects { background:#f7f7f5; }
.construction-project-card img { aspect-ratio:1.4/1; object-fit:cover; margin-bottom:16px; }
.construction-project-card h3 { font-size:1rem; margin:0 0 6px; }
.construction-project-card p,.construction-project-card span { display:block; margin:0; color:#7a858f; font-size:.78rem; line-height:1.55; }
.construction-project-card a { display:inline-flex; align-items:center; gap:8px; margin-top:10px; color:var(--ink); text-transform:uppercase; letter-spacing:.04em; font-weight:800; font-size:.68rem; }
.construction-project-card a b { color:var(--gold); font-weight:800; }

.construction-sectors { overflow:hidden; }
.construction-sectors-copy { max-width:430px; }
.construction-sectors-copy .lead-copy { margin-bottom:0; }

.construction-sectors-grid {display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; width:100%; min-width:0; }
.construction-sector-card {position:relative; display:block; width:100%; min-width:0; aspect-ratio:var(--ratio-sector,4 / 3); min-height:155px; overflow:hidden; background:var(--navy); isolation:isolate; }
.construction-sector-card > img {position:absolute; inset:0; z-index:0; width:100%; height:100%; margin:0; object-fit:cover; object-position:center; transition:transform .45s ease; }
.construction-sector-shade {position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,rgba(4,21,34,.03) 30%,rgba(4,21,34,.88) 100%); pointer-events:none; }
.construction-sector-card h3 {position:absolute; z-index:2; left:20px; right:20px; bottom:18px; margin:0; color:var(--white); font-size:var(--type-compact-title,.82rem); font-weight:800; line-height:1.25; letter-spacing:.06em; text-transform:uppercase; }

@media (hover:hover) and (pointer:fine) {
	.construction-sector-card:hover > img { transform:scale(1.035); }
}

@media (max-width:1199.98px) {
	.construction-sectors-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
	.construction-sector-card { aspect-ratio:16 / 10; }
}

@media (max-width:991.98px) {
	.construction-sectors-copy { max-width:720px; }
}

@media (max-width:575.98px) {
	.construction-sectors-grid { grid-template-columns:1fr; gap:14px; }
	.construction-sector-card { aspect-ratio:16 / 9; min-height:0; }
	.construction-sector-card h3 { left:18px; right:18px; bottom:16px; font-size:.76rem; }
}

@media (max-width:1199.98px) {
	.construction-process-grid { grid-template-columns:repeat(3,1fr); row-gap:45px; }
	.construction-process-grid::before { display:none; }
	.construction-process-step { border-top:1px solid #d7c596; padding-top:18px; }
	.construction-process-step:not(:last-child)::after { display:none; }
}

@media (max-width:991.98px) {
	.construction-approach-visual { padding-right:35px; }
	.construction-approach-visual > img { height:430px; }
	.construction-stat:nth-child(2) { border-right:0; }
	.construction-stat:nth-child(-n/**/+2) { border-bottom:1px solid var(--line); }
}

@media (max-width:767.98px) {
	.construction-approach-visual { padding-right:0; padding-bottom:80px; }
	.construction-approach-visual > img { height:340px; }
	.construction-principles-card { right:18px; bottom:0; width:180px; }
	.construction-capability-card { min-height:auto; }
	.construction-process-grid { grid-template-columns:1fr 1fr; }
	.construction-capability-card p { max-width:280px }
}

@media (max-width:575.98px) {
	.construction-stat { padding:27px 10px; }
	.construction-process-grid { grid-template-columns:1fr; }
	.construction-process-step p { max-width:none; }
}

/* =========================================================
   CONTACT PAGE
   ========================================================= */

.contact-pillars { border-bottom:1px solid var(--line); }
.contact-pillar { min-height:160px; padding:30px 20px; display:flex; flex-direction:column; align-items:center; justify-content:center; border-right:1px solid var(--line); }
.contact-pillar:last-child { border-right:0; }
.contact-pillar .contact-icon { color:var(--gold); font-size:2.25rem; line-height:1; margin-bottom:14px; }
.contact-pillar strong { text-transform:uppercase; font-size:.82rem; letter-spacing:.04em; }
.contact-pillar small { display:block; margin-top:6px; color:#6d7680; font-size:.86rem; }

.contact-icon svg { fill:var(--gold); height:16px; width:16px; }

.contact-main h2, .contact-reach h2 { font-size:clamp(2.35rem,4vw,4rem); }
.contact-form .form-control, .contact-form .form-select { min-height:58px; border:1px solid #e8e9ea; border-radius:0; background:#f4f5f6; padding:16px 18px; color:var(--ink); box-shadow:none; }
.contact-form .form-control::placeholder { color:#7a838c; opacity:1; }
.contact-form .form-select:invalid { color:#7a838c; }
.contact-form .form-select:valid { color:var(--ink); }
.contact-form textarea.form-control { min-height:170px; resize:vertical; }
.contact-form .form-control:focus, .contact-form .form-select:focus { border-color:var(--gold); background:var(--white); box-shadow:0 0 0 3px rgba(199,160,76,.11); }
.contact-privacy { margin-top:18px; color:#7a838c; font-size:.82rem; max-width:560px; }

.office-card { height:100%; border:1px solid #ece9e2; background:#fafafa; overflow:hidden; }
.office-card img { width:100%; height:185px; object-fit:cover; display:block; }
.office-card-body { padding:18px 17px 20px; }
.office-card h3 { margin:0; font-size:1rem; text-transform:uppercase; letter-spacing:.02em; }
.office-role { margin:3px 0 12px; color:#6f7780; font-size:.78rem; font-weight:600; }
.office-card address { margin:0; color:#5f6972; line-height:1.65; font-size:.8rem; font-style:normal; }
.contact-direct { display:flex; flex-wrap:wrap; gap:10px 22px; padding-top:18px; border-top:1px solid #ece9e2; }
.contact-direct a { color:var(--ink); text-decoration:none; font-size:.86rem; font-weight:700; }
.contact-direct a:hover { color:var(--gold-deep); }

.contact-reach { background:#f4f4f2; }

.contact-map {min-height: 0; display: grid; grid-template-columns: minmax(0, 1fr) 180px; align-items: center; gap: 42px; }
.contact-map-visual {min-width: 0; padding: 12px 14px; background: #f6f3eb; border: 1px solid var(--reach-map-border); overflow: hidden; }
.reach-map-markers {pointer-events: none; }
.reach-map-marker-halo {fill: var(--gold); opacity: 0.18; }
.reach-map-marker-ring {fill: var(--white); stroke: var(--gold); stroke-width: 3; }
.reach-map-marker-core {fill: var(--gold); }
.reach-map {display: block; width: 100%; height: auto; margin: 0; overflow: visible; }
.reach-map-world {pointer-events: none; }
.reach-map-dot {fill: var(--reach-map-dot); opacity: var(--reach-map-dot-opacity); }
.contact-map .reach-regions {position: relative; display: flex; flex-direction: column; gap: 17px; margin: 0; padding: 0 0 0 31px; border-left: 0; list-style: none; }
.contact-map .reach-regions::before {content: ""; position: absolute; top: 7px; bottom: 7px; left: 7px; width: 1px; background: var(--gold); opacity: 0.9; }
.contact-map .reach-region {position: relative; padding: 0; color: #66717b; font-family: "Manrope", sans-serif; font-size: 0.75rem; font-weight: 700; line-height: 1.4; letter-spacing: 0.05em; text-transform: uppercase; }
.contact-map .reach-region::before {content: ""; position: absolute; top: 0.7em; left: -27px; width: 7px; height: 7px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 2px var(--white); transform: translateY(-50%); }

@media (max-width: 1199.98px) {
.contact-map {grid-template-columns: minmax(0, 1fr) 165px; gap: 32px; }
.contact-map-visual {padding: 11px 12px;}
}

@media (max-width: 991.98px) {
.contact-map {grid-template-columns: 1fr; gap: 28px; }
.contact-map .reach-regions {width: min(100%, 340px); margin-top: 2px; }
}

@media (max-width: 767.98px) {
.contact-map {gap: 24px; }
.contact-map-visual {padding: 10px; }
.contact-map .reach-regions {gap: 14px; padding-left: 29px; }
.contact-map .reach-region {font-size: 0.72rem; }
.contact-map .reach-region::before {left: -25px; }
}

@media (max-width: 575.98px) {
.contact-map-visual {padding: 8px; }
.reach-map-marker-halo {opacity: 0.14; }
}

.btn-outline-gold { display:inline-flex; align-items:center; gap:14px; border:1px solid var(--gold); color:var(--gold-deep); border-radius:0; padding:14px 19px; text-transform:uppercase; letter-spacing:.035em; font-size:.76rem; font-weight:800; }
.btn-outline-gold:hover { background:var(--gold); color:var(--white); }

.btn-outline-gold svg {fill: none; stroke: var(--gold); stroke-linecap: round; stroke-linejoin: round; stroke-width: 1px; height: 20px; width:20px; }
.btn-outline-gold:hover svg {fill: none; stroke: var(--white); stroke-linecap: round; stroke-linejoin: round; stroke-width: 1px; height: 20px; width:20px; }

.contact-form-sunmitted-text { font-size:.82rem; font-weight: 500; color:#7a838c; padding-top: 20px; }

@media (min-width:1200px) {
	.contact-office-grid .office-card img { height:165px; }
}
@media (max-width:1199.98px) {
	.contact-office-grid .office-card { display:grid; grid-template-columns:180px 1fr; }
	.contact-office-grid .office-card img { height:100%; min-height:180px; }
}
@media (max-width:991.98px) {
	.contact-pillar:nth-child(2) { border-right:0; }
	.contact-pillar:nth-child(-n/**/+2) { border-bottom:1px solid var(--line); }
	.contact-office-grid .office-card { display:block; }
	.contact-office-grid .office-card img { height:180px; }
}
@media (max-width:767.98px) {
	.contact-pillar { min-height:135px; padding:24px 10px; }
}
@media (max-width:575.98px) {
	.contact-pillar strong { font-size:.72rem; }
	.contact-pillar small { font-size:.76rem; }
}

/* =========================================================
   PRIVACY + COOKIE POLICY PAGE
   Shared BSR system with legal-page-specific components.
   ========================================================= */
.legal-page { background:var(--white); }
.legal-pillars { border-bottom:1px solid var(--line); }
.legal-pillar { min-height:160px; padding:30px 20px; display:flex; flex-direction:column; align-items:center; justify-content:center; border-right:1px solid var(--line); }
.legal-pillar:last-child { border-right:0; }
.legal-icon { display:block; margin-bottom:13px; color:var(--gold); font-size:2.2rem; line-height:1; }
.legal-pillar strong { text-transform:uppercase; font-size:.82rem; letter-spacing:.035em; color:var(--ink); }
.legal-pillar small { margin-top:6px; color:#6f7780; font-size:.84rem; }

.legal-icon svg {fill: none; stroke: var(--gold); stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7px; height: 24px; width:24px; }

.legal-sidebar { top:28px; }
.legal-sidebar nav { background:#f4f4f2; border-left:4px solid var(--gold); padding:20px 0; }
.legal-sidebar nav a { display:block; padding:9px 22px; color:#4e5964; text-decoration:none; font-size:.83rem; font-weight:600; line-height:1.35; transition:.2s ease; }
.legal-sidebar nav a:hover, .legal-sidebar nav a.active { color:var(--ink); background:var(--white); }
.legal-sidebar nav a.active { font-weight:800; }
.legal-sidebar-contact { margin-top:28px; padding:24px 22px; background:#f7f7f5; }
.legal-sidebar-contact .small-rule { display:block; width:34px; height:3px; margin-bottom:18px; background:var(--gold); }
.legal-sidebar-contact p { color:#5e6872; font-size:.9rem; line-height:1.65; }

.legal-document { max-width:920px; }
.legal-section { scroll-margin-top:30px; padding:32px 0; border-bottom:1px solid #dddeda; }
.legal-section.first-section { padding-top:0; }
.legal-section:last-of-type { border-bottom:0; }
.legal-section h2 { margin-bottom:18px; font-size:clamp(2.7rem,5vw,4.7rem); }
.legal-section h3 { margin-bottom:16px; font-size:clamp(1.55rem,2.5vw,2.2rem); letter-spacing:-.035em; }
.legal-section p, .legal-section li { color:#56616d; font-size:.98rem; line-height:1.78; }
.legal-section p:last-child { margin-bottom:0; }
.legal-updated { margin-top:20px; color:var(--ink)!important; }

.legal-cookie-table-wrap { margin-top:24px; border:1px solid #e1e2df; }
.legal-cookie-table { margin:0; --bs-table-bg:transparent; }
.legal-cookie-table thead th { padding:15px 16px; background:#071d2e; color:var(--white); text-transform:uppercase; letter-spacing:.05em; font-size:.72rem; border:0; }
.legal-cookie-table tbody td { padding:17px 16px; color:#5c6670; font-size:.88rem; border-color:#e4e5e2; vertical-align:top; }
.legal-cookie-table tbody td:first-child { width:18%; color:var(--ink); }
.legal-cookie-table tbody td:last-child { width:22%; }

.legal-note { padding:24px 26px; border-left:4px solid var(--gold); background:#f6f4ee; }
.legal-note strong { display:block; margin-bottom:8px; color:var(--ink); text-transform:uppercase; letter-spacing:.04em; font-size:.78rem; }
.legal-note p { margin:0; color:#626b74; font-size:.9rem; line-height:1.7; }

@media (max-width:991.98px) {
	.legal-pillar:nth-child(2) { border-right:0; }
	.legal-pillar:nth-child(-n/**/+2) { border-bottom:1px solid var(--line); }
	.legal-sidebar { position:relative!important; top:auto; }
	.legal-sidebar nav { display:grid; grid-template-columns:repeat(2,1fr); }
	.legal-sidebar-contact { display:flex; align-items:center; justify-content:space-between; gap:20px; }
	.legal-sidebar-contact p { margin:0; }
	.legal-sidebar-contact .small-rule { display:none; }
	.legal-sidebar-contact .btn { width:auto!important; min-width:170px; }
}
@media (max-width:767.98px) {
	.legal-pillar { min-height:135px; padding:22px 10px; }
	.legal-sidebar nav { grid-template-columns:1fr; }
	.legal-sidebar-contact { display:block; }
	.legal-sidebar-contact p { margin-bottom:18px; }
	.legal-sidebar-contact .btn { width:100%!important; }
	.legal-section { padding:26px 0; }
	.legal-cookie-table thead { display:none; }
	.legal-cookie-table, .legal-cookie-table tbody, .legal-cookie-table tr, .legal-cookie-table td { display:block; width:100%!important; }
	.legal-cookie-table tr { border-bottom:1px solid #ddd; padding:12px 0; }
	.legal-cookie-table tr:last-child { border-bottom:0; }
	.legal-cookie-table td { border:0!important; padding:6px 15px!important; }
}
@media (max-width:575.98px) {
	.legal-pillar strong { font-size:.72rem; }
	.legal-pillar small { font-size:.75rem; }
}

/* =========================================================
   TERMS OF USE PAGE
   Extends the shared legal-page system.
   ========================================================= */
.terms-page { background:var(--white); }


/* =========================================================
   404 PAGE
   Dedicated error hero. The background must be a clean image;
   page copy and navigation are rendered by the HTML, not baked
   into the image asset.
   ========================================================= */
.error-page { background:#031421; }
.error-404 {
	position:relative;
	min-height:820px;
	color:var(--white);
	background-image:url("../../img/bsr-gloabl-images/404-image/404-background-image.webp");
	background-size:cover;
	background-position:center;
  overflow:hidden;
}
.error-404-overlay {
	position:absolute;
	inset:0;
	background:linear-gradient(90deg,rgba(2,15,26,.97) 0%,rgba(2,15,26,.86) 42%,rgba(2,15,26,.34) 76%,rgba(2,15,26,.58) 100%);
}
.error-header { padding-top:32px; }
.error-nav-shell { position:relative; z-index:3; }
.error-nav { display:flex; flex-wrap:wrap; gap:0; }
.error-nav a { color:rgba(255,255,255,.9); text-transform:uppercase; font-size:.72rem; letter-spacing:.06em; font-weight:700; padding:0 22px; border-left:1px solid var(--gold); }
.error-nav a:first-child { padding-left:0; border-left:0; }
.error-nav a:hover,.error-nav a:focus { color:var(--gold); }

.error-rule { width:60px; height:4px; background:var(--gold); }
.error-code { display:flex; align-items:center; gap:.02em; margin:0 0 20px; font-size:clamp(8rem,17vw,15rem); line-height:.78; font-weight:300; letter-spacing:-.08em; }
.error-code .gold-zero { color:var(--gold); font-weight:300; }
.error-kicker { margin-top:35px; text-transform:uppercase; letter-spacing:.28em; font-size:clamp(1.1rem,2vw,1.7rem); font-weight:500; }
.error-copy { max-width:650px; margin:26px 0 32px; color:rgba(255,255,255,.82); font-size:1.1rem; line-height:1.75; }
.error-home-btn { min-width:290px; justify-content:center; }
.error-explore p { margin:0 0 18px; color:rgba(255,255,255,.85); font-size:.98rem; }

.error-bottom p { margin:0; text-transform:uppercase; letter-spacing:.16em; line-height:1.7; font-size:.78rem; }
.error-values { position:absolute; top:9%; right:5.5%; border-left:2px solid var(--gold); padding-left:34px; display:grid!important; gap:18px; text-transform:uppercase; letter-spacing:.11em; font-size:.83rem; }

@media (max-width:991.98px) {
	.error-code { font-size:clamp(7rem,25vw,11rem); }
}
@media (max-width:767.98px) {
	.error-code { margin-top:10px; font-size:8.5rem; }
	.error-kicker { margin-top:28px; font-size:1rem; letter-spacing:.2em; }
	.error-copy { font-size:.96rem; }
	.error-home-btn { min-width:0; width:100%; max-width:330px; }
	.error-bottom { padding-bottom:30px!important; }
}
@media (max-width:575.98px) {
	.error-code { font-size:6.7rem; }
	.error-kicker { letter-spacing:.16em; }
}

/* =========================================================
   STANDARDISED SITE SHELL
   Shared navigation, hero, pre-footer CTA and footer system.
   Page-specific classes below set background imagery only.
   ========================================================= */

/* Shared page imagery variables: no layout/typography differences. */
.about-page { --subpage-hero-bg:url("../../img/bsr-gloabl-images/hero-images/about-hero-image.webp"); --site-cta-bg:url("../../img/bsr-gloabl-images/footer-images/about-footer-image.webp"); }
.engineering-page { --subpage-hero-bg:url("../../img/bsr-gloabl-images/hero-images/engineering-hero-image.webp"); --site-cta-bg:url("../../img/bsr-gloabl-images/footer-images/engineering-footer-image.webp"); }
.commodities-page { --subpage-hero-bg:url("../../img/bsr-gloabl-images/hero-images/commodities-hero-image.webp"); --site-cta-bg:url("../../img/bsr-gloabl-images/footer-images/commodities-footer-image.webp"); }
.construction-page { --subpage-hero-bg:url("../../img/bsr-gloabl-images/hero-images/construction-hero-image.webp"); --site-cta-bg:url("../../img/bsr-gloabl-images/footer-images/construction-footer-image.webp"); }
.contact-page { --subpage-hero-bg:url("../../img/bsr-gloabl-images/hero-images/contact-hero-image.webp"); --site-cta-bg:url("../../img/bsr-gloabl-images/footer-images/contact-footer-image.webp"); }
.legal-page { --subpage-hero-bg:url("../../img/bsr-gloabl-images/hero-images/terms-privacy-hero-image.webp"); --site-cta-bg:url("../../img/bsr-gloabl-images/footer-images/terms-privacy-footer-image.webp"); }
.terms-page { --subpage-hero-bg:url("../../img/bsr-gloabl-images/hero-images/terms-privacy-hero-image.webp"); --site-cta-bg:url("../../img/bsr-gloabl-images/footer-images/terms-privacy-footer-image.webp"); }
.home-page { --site-cta-bg:url("../../img/bsr-gloabl-images/footer-images/index-footer-image.webp"); }

/* 1. STANDARD NAVIGATION — all normal pages */
.site-header { border-bottom:1px solid rgba(255,255,255,.10); }
.site-nav { min-height:92px; padding:14px 0; }
.site-nav .navbar-nav { gap:clamp(1rem,2vw,2rem); }
.site-nav .nav-link { position:relative; padding:.75rem 0!important; color:rgba(255,255,255,.88); text-transform:uppercase; font-size:.72rem; line-height:1; letter-spacing:.065em; font-weight:700; transition:color .2s ease; }
.site-nav .nav-link:hover,.site-nav .nav-link:focus,.site-nav .nav-link.active { color:var(--white); }
.site-nav .nav-link.active::after { content:""; position:absolute; left:.3rem; right:.3rem; bottom:2px; height:2px; background:var(--gold); }
.site-nav .nav-link.active { color:var(--gold); position:relative; }
.site-nav .navbar-toggler { box-shadow:none!important; }
.site-nav .navbar-collapse { align-items:center; }

/* 2. HOME HERO — index only */
.hero-section { position:relative; min-height:860px; color:var(--white); background-image:url("../../img/bsr-gloabl-images/hero-images/index-hero-image.webp"); background-position:center; background-size:cover; }
.hero-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(1,12,22,.93) 0%,rgba(2,18,31,.76) 42%,rgba(3,13,21,.22) 72%,rgba(2,10,18,.55) 100%); }
.hero-title { margin:0; max-width:980px; font-size:clamp(3.5rem,6vw,6.25rem); line-height:.96; letter-spacing:-.055em; font-weight:800; }
.hero-copy { max-width:520px; margin-top:26px; color:rgba(255,255,255,.82); font-size:1.1rem; line-height:1.7; }
.hero-index { display:flex; flex-direction:column; gap:28px; padding:32px 28px; border-left:1px solid rgba(255,255,255,.18); }
.hero-index a { color:#dfe6eb; text-transform:uppercase; font-size:.75rem; letter-spacing:.07em; }
.hero-index a:hover { color: var(--gold); }
.hero-index a span { color:var(--gold); font-size:.64rem; margin-right:18px; }
.hero-bottom-line { display:flex; justify-content:space-between; text-transform:uppercase; font-size:.65rem; font-weight:700; letter-spacing:.08em; color:#d5dde2; }

/* 3. STANDARD SUB-PAGE HERO — About, Engineering, Commodities, Construction, Contact, Privacy and Terms */
.subpage-hero { position:relative; min-height:860px; color:var(--white); background-image:var(--subpage-hero-bg); background-size:cover; background-position:center; overflow:hidden; }
.subpage-hero-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(2,15,26,.97) 0%,rgba(2,15,26,.84) 44%,rgba(2,15,26,.35) 76%,rgba(2,15,26,.52) 100%); }
.subpage-hero-inner { padding-top:170px; padding-bottom:72px; }
.subpage-hero-title { max-width:880px; margin:0; font-size:clamp(3.5rem,6vw,6.25rem); line-height:.96; letter-spacing:-.055em; font-weight:800; }
.subpage-hero-copy { max-width:620px; margin-top:26px; color:rgba(255,255,255,.82); font-size:1.1rem; line-height:1.7; }
.subpage-hero-cta { margin-top:26px; }
.subpage-hero-values { min-width:230px; padding:22px 0 22px 30px; border-left:1px solid rgba(201,165,90,.85); display:grid; gap:14px; color:var(--white); text-transform:uppercase; font-size:.76rem; line-height:1.45; letter-spacing:.075em; font-weight:800; }

/* 4. STANDARD PRE-FOOTER CTA — every page including 404 */
.site-cta { position:relative; min-height:430px; display:flex; align-items:center; color:var(--white); background-image:var(--site-cta-bg); background-size:cover; background-position:center; overflow:hidden; }
.site-cta-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(2,18,30,.98) 0%,rgba(2,18,30,.86) 48%,rgba(2,18,30,.28) 100%); }
.site-cta-inner { padding-top:84px; padding-bottom:84px; }
.site-cta-title { max-width:780px; margin:0 0 20px; color:var(--white); font-size:clamp(2.8rem,4.8vw,5rem); line-height:1; letter-spacing:-.05em; font-weight:800; }
.site-cta-copy { max-width:500px; margin:0; color:rgba(255,255,255,.78); font-size:1rem; line-height:1.75; }
.site-cta-button { margin-top:28px; }
.site-cta-values { min-width:220px; padding:20px 0 20px 30px; border-left:1px solid rgba(201,165,90,.85); display:grid; gap:12px; text-transform:uppercase; font-size:.76rem; line-height:1.5; letter-spacing:.075em; font-weight:800; }

/* 5. STANDARD FOOTER — every page */
.site-footer { background:#031421; color:var(--white); }
.site-footer-inner { padding-top:44px; padding-bottom:30px; }
.site-footer-top { min-height:74px; }
.footer-nav { display:flex; flex-wrap:wrap; justify-content:center; gap:24px; }
.footer-nav a { color:#c1c9cf; text-transform:uppercase; font-size:.7rem; letter-spacing:.04em; font-weight:700; transition:color .2s ease; }
.footer-nav a:hover { color:var(--gold); }
.site-footer-social { display:flex; justify-content:flex-end; gap:8px; }
.site-footer-social a { display:inline-flex; width:30px; height:30px; align-items:center; justify-content:center; border:1px solid rgba(255,255,255,.20); }
.site-footer-bottom { margin-top:28px; padding-top:22px; border-top:1px solid rgba(255,255,255,.11); display:flex; justify-content:space-between; align-items:center; gap:24px; color:#8f9ba4; }
.site-footer-bottom small { font-size:.7rem; }
.site-footer-legal { display:flex; flex-wrap:wrap; align-items:center; gap:20px; }
.site-footer-legal a,.site-footer-legal span { color:#aeb8bf; text-transform:uppercase; font-size:.67rem; letter-spacing:.03em; }
.site-footer-legal a:hover { color:var(--gold); }

.site-footer-social svg {width: 12px; height: 12px; line-height: 12px; fill: var(--white);}
.site-footer-social a:hover { background:var(--gold); }

@media (max-width:1399.98px) {
	.hero-section { min-height:810px; }
	.subpage-hero { min-height:810px; }
}

@media (max-width:1199.98px) {
	.hero-section { min-height:670px; }
	.subpage-hero { min-height:670px; }
	.subpage-hero-inner { padding-top:155px; padding-bottom:62px; }
}

@media (max-width:991.98px) {
	.site-header { background:rgba(2,16,28,.94); }
	.site-nav { min-height:82px; padding:10px 0; }
	.site-nav .navbar-collapse { padding:18px 0 12px; }
	.site-nav .navbar-nav { gap:0; }
	.site-nav .nav-link { padding:.72rem 0!important; }
	.site-nav .nav-link.active::after { left:0; bottom:2px; width:28px; transform:none; }
	.hero-section { min-height:620px; background-position:68% center; }
	.subpage-hero { min-height:620px; background-position:68% center; }
	.subpage-hero-overlay { background:linear-gradient(90deg,rgba(2,15,26,.98),rgba(2,15,26,.55)); }
	.subpage-hero-inner { padding-top:145px; padding-bottom:58px; }
	.site-cta { min-height:390px; }
	.site-cta-inner { padding-top:68px; padding-bottom:68px; }
	.site-footer-social { justify-content:flex-start; }
	.footer-nav { justify-content:flex-start; }
	.site-footer-bottom { align-items:flex-start; flex-direction:column; }
	.hero-title, .subpage-hero-title { max-width: 100%; margin-right: 25%; }
	.hero-copy, .subpage-hero-copy { max-width: 100%; margin-right: 30%; }
}

@media (max-width:767.98px) {
	.hero-section { min-height:675px; background-position:78% center; }
	.hero-overlay { background:linear-gradient(90deg,rgba(2,15,26,.95),rgba(2,15,26,.40)); }
	.hero-title { font-size:3.65rem; }
	.hero-copy { font-size:1rem; }
	.subpage-hero { min-height:675px; background-position:72% center; }
	.subpage-hero-inner { padding-top:132px; padding-bottom:50px; }
	.subpage-hero-title { font-size:3.25rem; }
	.subpage-hero-copy { font-size:.97rem; line-height:1.68; }
	.subpage-hero-overlay { background:linear-gradient(90deg,rgba(2,15,26,.98),rgba(2,15,26,.40)); }
	.site-cta { min-height:370px; }
	.site-cta-inner { padding-top:58px; padding-bottom:58px; }
	.site-cta-title { font-size:2.65rem; }
	.error-nav a { width:50%; padding:8px 0px; border-left:0; }
	.hero-title, .subpage-hero-title { max-width: 100%; margin-right: 25%; }
	.hero-copy, .subpage-hero-copy { max-width: 100%; margin-right: 30%; }
}

@media (max-width:575.98px) {
	.subpage-hero-title { font-size:2.8rem; }
	.hero-title { font-size:3.2rem; }
	.hero-section { min-height:670px; background-position:82% center; }
	.footer-nav { gap:15px 20px; }
	.site-footer-legal { gap:12px 16px; }
	.hero-title, .subpage-hero-title { max-width: 100%; margin-right: 20%; }
	.hero-copy, .subpage-hero-copy { max-width: 100%; margin-right: 30%; }
	.subpage-hero { min-height:670px; background-position:82% center; }
}

@media (max-width:479.98px) {
	.hero-section { min-height:700px; background-position:82% center; }
	.subpage-hero { min-height:700px; background-position:82% center; }
}	

/* =========================================================
   STANDARDISED INTERNAL CONTENT SYSTEM
   Visual roles share the same type, size, line-height and
   spacing values while page-specific classes remain available
   for layout optimisation and imagery.
   ========================================================= */

/* 1. SECTION HEADINGS — same hierarchy throughout the site */
h2,
.contact-main h2,
.contact-reach h2,
.legal-section h2 {
	font-family:"Manrope",sans-serif;
	font-size:var(--type-section-title);
	line-height:1.04;
	font-weight:800;
	letter-spacing:-.04em;
	margin:0 0 24px;
}

.lead-copy,
.legal-section p,
.legal-section li {
	font-family:"Manrope",sans-serif;
}

/* 2. SECTION LABELS / EYEBROWS */
.eyebrow,
.section-side-note {
	font-family:"Manrope",sans-serif;
}

/* 3. STATISTICS — identical typography and vertical rhythm;
      background/border colour may still vary by context */
.stat-item,
.engineering-stat,
.about-stat,
.construction-stat,
.commodities-stat {
	padding-top:var(--space-stat-y);
	padding-bottom:var(--space-stat-y);
}

.stat-item strong,
.engineering-stat strong,
.about-stat strong,
.construction-stat strong,
.commodities-stat strong {
	display:block;
	font-family:"Manrope",sans-serif;
	font-size:var(--type-stat-value);
	line-height:1;
	font-weight:700;
	letter-spacing:-.035em;
	text-transform:uppercase;
}

.stat-item span,
.engineering-stat span,
.about-stat span,
.construction-stat span,
.commodities-stat span {
	display:block;
	margin-top:9px;
	font-family:"Manrope",sans-serif;
	font-size:var(--type-stat-label);
	line-height:1.35;
	font-weight:800;
	letter-spacing:.05em;
	text-transform:uppercase;
}

/* Preserve the intentional inverted homepage statistics band. */
.stat-item strong { color:var(--white); }
.stat-item span { color:#c6cfd6; }
.engineering-stat strong,
.about-stat strong,
.construction-stat strong,
.commodities-stat strong { color:var(--ink); }
.engineering-stat span,
.about-stat span,
.construction-stat span,
.commodities-stat span { color:#63707c; }

/* 4. STANDARD CONTENT CARDS — capabilities, commodities, offices */
.capability-card h3,
.construction-capability-card h3,
.commodity-card h3,
.office-card h3,
.leader-card h3 {
	font-family:"Manrope",sans-serif;
	font-size:var(--type-card-title);
	line-height:1.28;
	font-weight:800;
	letter-spacing:-.025em;
}

.capability-card p,
.construction-capability-card p,
.commodity-card p,
.office-card address,
.leader-card p {
	font-family:"Manrope",sans-serif;
	font-size:var(--type-card-copy);
	line-height:var(--line-card);
}

/* Keep the different card shells but normalise internal title position. */
.capability-card h3,
.construction-capability-card h3 { margin:0 0 12px; }
.commodity-card h3 { margin:20px 22px 8px; }
.office-card h3 { margin:0; text-transform:uppercase; letter-spacing:.02em; }
.leader-card h3 { margin:0 0 5px; }

/* 5. PROJECT CARDS — same title and metadata scale across pages */
.project-card h3,
.engineering-project-card h3,
.construction-project-card h3 {
	font-family:"Manrope",sans-serif;
	font-size:var(--type-card-title);
	line-height:1.3;
	font-weight:800;
	letter-spacing:-.025em;
	margin:0 0 6px;
}

.project-card p,
.project-card span,
.engineering-project-card p,
.construction-project-card p,
.construction-project-card span {
	font-family:"Manrope",sans-serif;
	font-size:var(--type-project-meta);
	line-height:1.55;
	color:#7a858f;
}

/* 6. COMPACT / ICON CARDS — process, approach and advantage cards */
.process-step h3,
.construction-process-step h3,
.contact-pillar strong,
.legal-pillar strong {
	font-family:"Manrope",sans-serif;
	font-size:var(--type-compact-title);
	line-height:1.3;
	font-weight:800;
}

.process-step p,
.construction-process-step p {
	font-family:"Manrope",sans-serif;
	font-size:var(--type-compact-copy);
	line-height:1.55;
}

/* 7. LARGE IMAGE FEATURE CARDS — deliberately larger than normal cards,
      but consistent wherever this visual role is reused. */
.business-content h3 {
	font-family:"Manrope",sans-serif;
	font-size:clamp(1.55rem,2.15vw,2rem);
	line-height:1.08;
	font-weight:800;
	letter-spacing:-.035em;
}

/* 8. LEGAL DOCUMENT SUBHEADINGS are document hierarchy, not card titles. */
.legal-section h3 {
	font-family:"Manrope",sans-serif;
	font-size:clamp(1.45rem,2.1vw,2rem);
	line-height:1.16;
	font-weight:800;
	letter-spacing:-.035em;
	margin:0 0 16px;
}

@media (max-width:767.98px) {
h2,
	.contact-main h2,
	.contact-reach h2,
	.legal-section h2 {
		font-size:var(--type-section-title-mobile);
}

.stat-item,
.engineering-stat,
.about-stat,
.construction-stat,
.commodities-stat {
	padding-top:27px;
	padding-bottom:27px;
}

.stat-item strong,
.engineering-stat strong,
.about-stat strong,
.construction-stat strong,
.commodities-stat strong {
	font-size:1.5rem;
  }
}

@media (max-width:575.98px) {
.stat-item strong,
.engineering-stat strong,
.about-stat strong,
.construction-stat strong,
.commodities-stat strong {
	font-size:1.3rem;
  }
}

@media (max-width:374.98px) {
.stat-item strong,
.engineering-stat strong,
.about-stat strong,
.construction-stat strong,
.commodities-stat strong {
	font-size:1.2rem;
  }
}

/* =========================================================
   BSR GLOBAL STANDARDISATION V3 — VISUAL MECHANICS
   Standardises buttons/links, icons, section rhythm, media ratios,
   borders and responsive breakpoint behaviour by visual role.
   Page-specific classes may remain for layout optimisation, but
   equivalent UI roles resolve to the same visual values.
   ========================================================= */

/* 1. SECTION RHYTHM */
.section-pad { padding-top:var(--space-section-y); padding-bottom:var(--space-section-y); }
/* Intentional Bootstrap utilities such as pt-0 / pb-0 still take precedence. */

/* 2. PRIMARY / SECONDARY BUTTONS */
.btn,
.btn-outline-gold,
.btn-outline-dark {
	min-height:48px;
	padding:var(--btn-pad-y) var(--btn-pad-x);
	border-width:var(--btn-border-width);
	border-radius:0;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:var(--cta-gap);
	font-family:"Manrope",sans-serif;
	font-size:var(--type-cta);
	line-height:1;
	font-weight:800;
	letter-spacing:var(--cta-letter);
	text-transform:uppercase;
	transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s ease;
}
.btn:hover,
.btn-outline-gold:hover,
.btn-outline-dark:hover { transform:translateY(-1px); }
.btn-gold { background:var(--gold); border-color:var(--gold); color:var(--white); }
.btn-gold:hover { background:var(--gold-deep); border-color:var(--gold-deep); color:var(--white); }
.btn-outline-light-custom { background:transparent; border-color:rgba(255,255,255,.38); color:var(--white); }
.btn-outline-light-custom:hover { background:var(--white); border-color:var(--white); color:var(--navy); }
.btn-outline-gold { background:transparent; border-color:var(--gold); color:var(--gold-deep); }
.btn-outline-gold:hover { background:var(--gold); border-color:var(--gold); color:var(--white); }
.btn-outline-dark { background:transparent; border-color:var(--ink); color:var(--ink); }
.btn-outline-dark:hover { background:var(--ink); border-color:var(--ink); color:var(--white); }

.btn-gold svg {fill: none; stroke: var(--white); stroke-linecap: round; stroke-linejoin: round; stroke-width: 1px; height: 20px; width:20px; }
.btn-outline-dark svg {fill: none; stroke: var(--ink); stroke-linecap: round; stroke-linejoin: round; stroke-width: 1px; height: 20px; width:20px; }
.btn-outline-dark:hover svg {fill: none; stroke: var(--white); stroke-linecap: round; stroke-linejoin: round; stroke-width: 1px; height: 20px; width:20px; }

/* 3. TEXT / CARD CTAS */
.text-link,
.card-cta {
	display:inline-flex;
	align-items:center;
	gap:10px;
	font-family:"Manrope",sans-serif;
	font-size:var(--type-cta-small);
	line-height:1.2;
	font-weight:800;
	letter-spacing:var(--cta-letter);
	text-transform:uppercase;
}
.text-link {
	color:var(--ink);
	padding-bottom:8px;
	border-bottom:1px solid var(--gold);
}
.text-link:hover { color:var(--gold-deep); }
.card-cta { color:var(--ink); }
.card-cta:hover { color:var(--gold-deep); }
.card-cta-light { color:var(--white); }
.card-cta-light:hover { color:var(--gold); }

.card-cta-light svg {fill: none; stroke: var(--white); stroke-linecap: round; stroke-linejoin: round; stroke-width: 1px; height: 20px; width:20px; }
.card-cta-light:hover svg {fill: none; stroke: var(--gold); stroke-linecap: round; stroke-linejoin: round; stroke-width: 1px; height: 20px; width:20px; }

.card-cta svg {fill: none; stroke: var(--gold); stroke-linecap: round; stroke-linejoin: round; stroke-width: 1px; height: 20px; width:20px; }

/* 4. ICON SYSTEM */
.icon-badge,
.capability-icon,
.construction-capability-icon
.contact-pillar .contact-icon,
.legal-icon {
	width:var(--icon-standard);
	height:var(--icon-standard);
	min-width:var(--icon-standard);
	display:inline-flex;
	align-items:center;
	justify-content:center;
	margin-bottom:22px;
	padding:0;
	border:1px solid var(--icon-border);
	border-radius:50%;
	color:var(--gold);
	background:transparent;
	font-size:var(--icon-glyph);
	line-height:1;
	font-style:normal;
}
/* Large four-column pillar rows may be slightly more prominent. */
.contact-pillar .contact-icon,
.legal-icon {
	width:var(--icon-pillar);
	height:var(--icon-pillar);
	min-width:var(--icon-pillar);
	font-size:1.3rem;
	margin-left:auto;
	margin-right:auto;
	margin-bottom:16px;
}
.icon-badge-compact,
.engineering-benefits span {
	width:var(--icon-compact);
	height:var(--icon-compact);
	min-width:var(--icon-compact);
	display:inline-flex;
	align-items:center;
	justify-content:center;
	border:1px solid var(--gold);
	border-radius:50%;
	color:var(--gold);
	font-size:.65rem;
	line-height:1;
}

/* 5. BORDER SYSTEM */
.capability-card,
.construction-capability-card,
.commodity-card,
.office-card { border-color:var(--border-soft); }

.contact-pillar,
.contact-pillars,
.engineering-stats,
.about-stats,
.construction-stats,
.commodities-stats { border-color:var(--border-divider); }

/* 6. IMAGE ASPECT-RATIO SYSTEM */
.project-card img,
.engineering-project-card img,
.construction-project-card img {
	width:100%;
	aspect-ratio:var(--ratio-project);
	height:auto;
	object-fit:cover;
	margin-bottom:16px;
}
.commodity-card img,
.office-card img {
	width:100%;
	aspect-ratio:var(--ratio-card-media);
	height:auto;
	object-fit:cover;
}
.industry-card {
	height:auto;
	aspect-ratio:var(--ratio-sector);
	min-height:155px;
}

/* 7. CONSISTENT INTERACTIVE FOCUS */
a:focus-visible,
button:focus-visible,
.btn:focus-visible,
.form-control:focus-visible,
.form-select:focus-visible {
	outline:2px solid var(--gold);
	outline-offset:3px;
}

/* 8. RESPONSIVE SYSTEM — aligned to Bootstrap breakpoints */
@media (max-width:1199.98px) {
  /* xl -> lg: structural grid changes remain component-specific. */
}

@media (max-width:991.98px) {
.section-pad { padding-top:var(--space-section-y-tablet); padding-bottom:var(--space-section-y-tablet); }
.btn,.btn-outline-gold,.btn-outline-dark { min-height:46px; }
}

@media (max-width:767.98px) {
.section-pad { padding-top:var(--space-section-y-mobile); padding-bottom:var(--space-section-y-mobile); }
.btn,.btn-outline-gold,.btn-outline-dark {
	min-height:46px;
	padding:14px 20px;
}
}

@media (max-width:575.98px) {
:root {
	--space-section-y-mobile:56px;
	--type-cta:.71rem;
	--type-cta-small:.67rem;
}
.section-pad { padding-top:var(--space-section-y-mobile); padding-bottom:var(--space-section-y-mobile); }
.btn,.btn-outline-gold,.btn-outline-dark { padding-left:18px; padding-right:18px; }
.project-card img,
.engineering-project-card img,
.construction-project-card img,
.commodity-card img,
.office-card img { aspect-ratio:4 / 3; }
}

/* Functional/accessibility baseline */
.skip-link {
	position: fixed;
	top: 12px;
	left: 12px;
	z-index: 9999;
	transform: translateY(-160%);
	padding: 10px 16px;
	background: var(--gold);
	color: var(--navy);
	font-size: .8rem;
	font-weight: 800;
	text-decoration: none;
	border-radius: 2px;
	transition: transform .18s ease;
}
.skip-link:focus { transform: translateY(0); }
#main-content:focus { outline: none; }
