@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&family=Newsreader:ital,opsz,wght@1,6..72,500&display=swap');

:root {
	--ink: #102d46;
	--teal: #287983;
	--cyan: #72d7cf;
	--paper: #f7fbfa;
	--white: #ffffff;
	--muted: #617783;
	--line: #d7e5e1;
	--orange: #dc7b43;
	--soft-orange: #f6e5d9;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { background: var(--paper); color: var(--ink); font-family: Manrope, sans-serif; margin: 0; }
a { color: inherit; text-decoration: none; }
p { line-height: 1.7; }
.eyebrow { color: var(--teal); font: 500 10px 'DM Mono', monospace; letter-spacing: .13em; margin: 0; text-transform: uppercase; }

.about-hero {
	display: grid;
	gap: 8vw;
	grid-template-columns: minmax(0, 1.08fr) minmax(350px, .92fr);
	margin: auto;
	max-width: 1280px;
	min-height: 610px;
	padding: 92px 5vw 74px;
}

.about-hero__copy { align-self: center; }
.about-hero h1,
.section-intro h2,
.markets-section h2,
.contact-section h2 {
	font-size: clamp(46px, 6vw, 78px);
	letter-spacing: 0;
	line-height: .98;
	margin: 0 0 26px;
}
.about-hero h1 em,
.section-intro h2 em,
.markets-section h2 em,
.contact-section h2 em { color: var(--teal); font-family: Newsreader, Georgia, serif; font-weight: 500; }
.hero-lead { color: var(--muted); font-size: 17px; margin: 0; max-width: 680px; }
.contact-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 22px; margin-top: 34px; }
.button { display: inline-flex; font-size: 12px; font-weight: 800; justify-content: center; min-height: 46px; padding: 15px 19px; }
.button-dark { background: var(--ink); color: var(--white); }
.button-light { background: var(--white); color: var(--ink); }
.text-link { border-bottom: 1px solid currentColor; font-size: 12px; font-weight: 700; padding-bottom: 4px; }

.strategy-image { align-self: center; background: var(--ink); margin: 0; overflow: hidden; }
.strategy-image__sequence { display: grid; grid-template-columns: 1.05fr .9fr 1.05fr; height: clamp(350px, 39vw, 500px); }
.strategy-image__sequence img { display: block; height: 100%; object-fit: cover; width: 100%; }
.strategy-image__sequence img:first-child { object-position: 54% center; }
.strategy-image__sequence img:nth-child(2) { filter: saturate(.58) contrast(.92) brightness(1.12); object-position: 53% center; }
.strategy-image__sequence img:last-child { filter: saturate(.72) contrast(.94); object-position: center; }
.strategy-image__sequence img + img { border-left: 2px solid var(--white); }
.strategy-image figcaption { align-items: center; color: var(--white); display: flex; gap: 20px; justify-content: space-between; min-height: 78px; padding: 19px 22px; }
.strategy-image figcaption span { color: var(--cyan); font: 500 9px 'DM Mono', monospace; letter-spacing: .1em; line-height: 1.5; }
.strategy-image figcaption strong { font-size: 13px; text-align: right; }

.model-section,
.process-section,
.principles-section { margin: auto; max-width: 1280px; padding: 100px 5vw; }
.model-section { position: relative; }
.model-section::before {
	background: linear-gradient(90deg, transparent, #a9cfca 18%, #a9cfca 82%, transparent);
	content: '';
	height: 1px;
	left: 5vw;
	position: absolute;
	right: 5vw;
	top: 0;
}
.section-intro { display: grid; gap: 26px 6vw; grid-template-columns: 1fr 1fr; margin-bottom: 58px; }
.section-intro .eyebrow { grid-column: 1 / -1; }
.section-intro h2 { font-size: clamp(42px, 5vw, 67px); margin: 0; }
.section-intro > p:last-child { align-self: end; color: var(--muted); font-size: 15px; margin: 0; max-width: 560px; }
.section-intro--compact { display: block; }
.section-intro--compact h2 { margin-top: 20px; }

.pillar-grid { display: grid; gap: 20px; grid-template-columns: 1fr 1fr; }
.pillar { border: 1px solid var(--line); display: flex; flex-direction: column; min-height: 585px; padding: 42px; }
.pillar-trade { background: var(--white); }
.pillar-development { background: var(--ink); border-color: var(--ink); color: var(--white); }
.pillar__number { color: var(--orange); font: 500 12px 'DM Mono', monospace; }
.pillar__label { color: var(--teal); font: 500 10px 'DM Mono', monospace; letter-spacing: .12em; margin: 54px 0 15px; }
.pillar-development .pillar__label { color: var(--cyan); }
.pillar h3 { font-size: clamp(25px, 3vw, 38px); letter-spacing: 0; line-height: 1.12; margin: 0 0 20px; max-width: 510px; }
.pillar > p:not(.pillar__label) { color: var(--muted); font-size: 14px; margin: 0; }
.pillar-development > p:not(.pillar__label) { color: #b9cbd4; }
.pillar ul { border-top: 1px solid var(--line); list-style: none; margin: 30px 0; padding: 20px 0 0; }
.pillar-development ul { border-color: #3e596e; }
.pillar li { font-size: 13px; line-height: 1.45; margin: 0 0 11px; padding-left: 20px; position: relative; }
.pillar li::before { color: var(--orange); content: '+'; left: 0; position: absolute; }
.pillar > a { align-self: flex-start; border-bottom: 1px solid currentColor; font-size: 12px; font-weight: 800; margin-top: auto; padding-bottom: 4px; }

.process-section { border-top: 1px solid var(--line); }
.process-list { border-top: 1px solid var(--line); display: grid; grid-template-columns: repeat(5, 1fr); list-style: none; margin: 54px 0 0; padding: 0; }
.process-list li { border-right: 1px solid var(--line); min-height: 270px; padding: 27px 24px; }
.process-list li:last-child { border-right: 0; }
.process-list li > span { color: var(--orange); font: 500 11px 'DM Mono', monospace; }
.process-list li div { margin-top: 72px; }
.process-list b { font-size: 17px; }
.process-list p { color: var(--muted); font-size: 12px; margin: 11px 0 0; }

.markets-section { background: #e9f2ef; border-top: 3px solid var(--orange); color: var(--ink); display: grid; gap: 32px 6vw; grid-template-columns: minmax(280px, .8fr) minmax(420px, 1.2fr); padding: 54px max(5vw, calc((100vw - 1280px) / 2 + 5vw)) 48px; }
.markets-section h2 { font-size: clamp(34px, 3.7vw, 50px); line-height: 1.02; margin-bottom: 16px; }
.markets-section__intro > p:not(.eyebrow) { color: #526b72; font-size: 13px; margin: 0; max-width: 520px; }
.scope-note { border-left: 3px solid var(--orange); margin-top: 40px; padding: 4px 0 4px 22px; }
.scope-note strong { color: var(--cyan); font: 500 10px 'DM Mono', monospace; letter-spacing: .1em; text-transform: uppercase; }
.scope-note p { color: #d3dfe4; font-size: 12px; margin: 10px 0 0; }
.market-board { align-self: center; counter-reset: region; display: grid; gap: 22px 28px; grid-template-columns: repeat(3, 1fr); }
.market-board__region { border-top: 2px solid #78aaa5; counter-increment: region; display: flex; flex-direction: column; min-height: 82px; padding: 13px 0 0; }
.market-board__region::before { color: var(--orange); content: '0' counter(region); font: 500 9px 'DM Mono', monospace; letter-spacing: .08em; margin-bottom: 17px; }
.market-board__region > span { color: var(--ink); font: 600 12px 'DM Mono', monospace; letter-spacing: .1em; }
.market-board__caption { color: #617783; font-size: 10px; grid-column: 1 / -1; margin: 0; padding: 0; }

.principles-grid { border-top: 1px solid var(--line); display: grid; grid-template-columns: repeat(4, 1fr); }
.principles-grid article { border-right: 1px solid var(--line); padding: 28px 26px 0 0; }
.principles-grid article:not(:first-child) { padding-left: 26px; }
.principles-grid article:last-child { border-right: 0; }
.principles-grid b { color: var(--teal); font-size: 15px; }
.principles-grid p { color: var(--muted); font-size: 12px; margin-bottom: 0; }

.contact-section { background: var(--orange); color: #2e271f; display: grid; gap: 8vw; grid-template-columns: 1.2fr .8fr; padding: 90px max(5vw, calc((100vw - 1280px) / 2 + 5vw)); }
.contact-section .eyebrow { color: #563723; }
.contact-section h2 { font-size: clamp(42px, 5vw, 67px); }
.contact-section h2 em { color: var(--white); }
.contact-section > div > p:not(.eyebrow) { max-width: 620px; }
.text-link--light { color: #2e271f; }
.contact-section address { align-self: end; border-left: 1px solid rgba(46,39,31,.35); display: flex; flex-direction: column; font-size: 13px; font-style: normal; gap: 9px; padding-left: 32px; }
.contact-section address strong { font: 500 11px 'DM Mono', monospace; letter-spacing: .13em; }
.contact-section address span { line-height: 1.55; }

@media (max-width: 900px) {
	.about-hero { gap: 50px; grid-template-columns: 1fr; }
	.strategy-image { max-width: 650px; width: 100%; }
	.section-intro,
	.markets-section,
	.contact-section { grid-template-columns: 1fr; }
	.markets-section { gap: 30px; }
	.pillar { min-height: 0; }
	.process-list { grid-template-columns: repeat(2, 1fr); }
	.process-list li { border-bottom: 1px solid var(--line); min-height: 210px; }
	.process-list li div { margin-top: 45px; }
	.principles-grid { grid-template-columns: 1fr 1fr; }
	.principles-grid article { border-bottom: 1px solid var(--line); min-height: 170px; }
}

@media (max-width: 620px) {
	.about-hero { min-height: 0; padding: 62px 6vw 50px; }
	.about-hero h1 { font-size: 46px; overflow-wrap: anywhere; }
	.hero-lead { font-size: 15px; }
	.strategy-image__sequence { grid-template-columns: 1.15fr .85fr; grid-template-rows: 1fr .72fr; height: 470px; }
	.strategy-image__sequence img:first-child { grid-row: 1 / 3; }
	.strategy-image__sequence img + img { border-left: 2px solid var(--white); }
	.strategy-image__sequence img:last-child { border-top: 2px solid var(--white); }
	.strategy-image figcaption { align-items: flex-start; flex-direction: column; gap: 7px; min-height: 0; }
	.strategy-image figcaption strong { text-align: left; }
	.model-section,
	.process-section,
	.principles-section { padding: 72px 6vw; }
	.section-intro { display: block; }
	.section-intro h2,
	.markets-section h2,
	.contact-section h2 { font-size: 42px; margin-top: 20px; overflow-wrap: anywhere; }
	.section-intro > p:last-child { margin-top: 26px; }
	.pillar-grid { grid-template-columns: 1fr; }
	.pillar { padding: 30px 24px; }
	.pillar__label { margin-top: 38px; }
	.process-list { grid-template-columns: 1fr; }
	.process-list li { border-right: 0; display: grid; grid-template-columns: 42px 1fr; min-height: 0; padding: 24px 0; }
	.process-list li div { margin-top: 0; }
	.markets-section { padding: 44px 6vw 38px; }
	.contact-section { padding: 72px 6vw; }
	.market-board { grid-template-columns: 1fr; }
	.market-board__region { align-items: center; display: grid; grid-template-columns: 34px 1fr; min-height: 54px; padding: 12px 0; }
	.market-board__region::before { margin: 0; }
	.principles-grid { grid-template-columns: 1fr; }
	.principles-grid article,
	.principles-grid article:not(:first-child) { border-right: 0; min-height: 0; padding: 25px 0; }
	.contact-section address { padding-left: 24px; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
}