.hero { position: relative; background: var(--slate); color: var(--white); isolation: isolate; overflow: hidden; }
.hero__image { position: absolute; inset: 0 0 0 46%; z-index: -2; }
.hero__image .media-image { object-position: 52% center; }
.hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, #284b63 0%, #284b63 30%, #284b63ee 41%, #284b6380 56%, #172e3e0a 78%), linear-gradient(0deg, #132f45b3, transparent 35%); z-index: -1; }
.hero__inner { min-height: 650px; min-height: clamp(630px, 48vw, 760px); position: relative; display: flex; align-items: center; padding-block: 75px 96px; }
.hero__copy { width: min(46%, 680px); min-width: 0; }
.hero .eyebrow { color: #d7c5a0; font-size: 11px; margin-bottom: 30px; }
.hero h1 { color: var(--white); font-size: clamp(52px, 5.4vw, 79px); font-weight: 600; letter-spacing: -.045em; line-height: 1.04; }
.hero h1 span { color: #c4d8d4; }
.hero__description { max-width: 425px; color: #edf1f3; font-size: 17px; line-height: 1.7; margin-top: 28px; }
.hero__actions { display: flex; flex-wrap: wrap; gap: 16px 24px; align-items: center; max-width: 100%; margin-top: 36px; }
.hero__actions .action { min-width: 0; max-width: 100%; white-space: normal; }
.hero__actions .action > span:first-child { min-width: 0; overflow-wrap: anywhere; }
.hero__actions .action--text { color: var(--white); border-color: #ffffff70; font-size: 13px; }
.hero__actions .action--text:hover { color: #d7c5a0; }
.hero__caption { position: absolute; right: 0; bottom: 30px; display: grid; gap: 3px; font-size: 12px; text-align: right; text-shadow: 0 1px 8px #000; }
.hero__caption span:first-child { font-weight: 600; }
.hero__caption span:last-child { font-size: 10px; color: #e0e6e8; }
.brand-strip { background: var(--teal); color: var(--white); }
.brand-strip .container { display: flex; justify-content: space-between; gap: 24px; padding-block: 21px; font-size: 12px; letter-spacing: .07em; }
.brand-strip span { display: flex; align-items: center; gap: 15px; }
.brand-strip span::before { content: ""; width: 5px; height: 5px; background: #cdbd9a; }
.intro-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(50px, 9vw, 140px); }
.introduction h2 { max-width: 520px; }
.intro-copy { padding-top: 41px; }
.intro-copy > .action { margin-top: 25px; }
.intro-copy > p:not(.lead) { color: var(--muted); font-size: 16px; }
.featured { background: var(--paper); }
.section-topline { display: flex; align-items: center; justify-content: space-between; gap: 24px; border-top: 1px solid #bfc9c6; padding-top: 24px; margin-bottom: 46px; }
.section-topline .eyebrow { margin: 0; }
.section-topline > span { font-size: 12px; color: var(--muted); }
.featured__grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: clamp(40px, 6vw, 90px); align-items: center; }
.featured__image { min-width: 0; }
.featured__image > .media-image, .featured__image > .media-placeholder { aspect-ratio: 1.15; height: auto; min-height: 0; object-position: center; }
.featured__image figcaption { display: flex; justify-content: space-between; gap: 20px; color: var(--muted); font-size: 10px; margin-top: 12px; }
.featured__content .eyebrow { margin-bottom: 18px; }
.featured__content h2 { font-size: clamp(44px, 4.5vw, 64px); }
.featured__content .lead { margin-top: 25px; font-size: 23px; }
.featured__content > p:not(.eyebrow, .lead) { color: var(--muted); font-size: 15px; }
.project-details { margin: 28px 0 20px; padding-top: 22px; border-top: 1px solid #ccd3cf; display: flex; gap: 28px; }
.project-details dt { font-size: 10px; text-transform: uppercase; letter-spacing: .1em; color: var(--muted); }
.project-details dd { font-size: 13px; color: var(--slate); margin: 6px 0 0; }
.featured__content .action { font-size: 13px; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 48px; margin-bottom: 55px; }
.section-heading > p { max-width: 295px; font-size: 15px; color: var(--muted); }
.principles__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; }
.principle { padding-top: 24px; border-top: 1px solid var(--bronze); }
.principle__number { color: var(--bronze-text); font-size: 12px; }
.principle h3 { margin: 36px 0 18px; font-size: 25px; max-width: 245px; }
.principle p { color: var(--muted); font-size: 15px; }
.build-model { background: #edf1ef; }
.build-model__intro { display: grid; grid-template-columns: 1.25fr .75fr; gap: clamp(50px, 9vw, 140px); align-items: end; margin-bottom: 70px; }
.build-model__intro h2 { max-width: 700px; }
.build-model__intro > p { color: var(--muted); font-size: 16px; max-width: 480px; }
.build-model__principles { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid #b9c6c1; }
.build-proof { display: flex; flex-direction: column; min-width: 0; padding: 30px clamp(24px, 3vw, 45px) 0; border-left: 1px solid #b9c6c1; }
.build-proof:first-child { padding-left: 0; border-left: 0; }
.build-proof:last-child { padding-right: 0; }
.build-proof__number { color: var(--bronze-text); font-size: 12px; letter-spacing: .08em; }
.build-proof h3 { font-size: clamp(25px, 2.25vw, 32px); margin: 42px 0 22px; max-width: 330px; }
.build-proof p { color: var(--muted); font-size: 14px; }
.build-proof .action { align-self: flex-start; margin-top: auto; padding-top: 34px; font-size: 12px; }
.process { background: var(--slate); color: var(--white); }
.process h2, .process h3, .process .action { color: var(--white); }
.process .eyebrow { color: #d7c5a0; }
.process .action { border-color: #bbac8e; }
.process .action:hover { color: #d7c5a0; }
.process__steps { display: grid; grid-template-columns: repeat(5, 1fr); gap: 28px; list-style: none; margin: 65px 0 0; }
.process-step { position: relative; padding-top: 27px; border-top: 1px solid #91a3af80; }
.process-step::before { content: ""; width: 7px; height: 7px; position: absolute; top: -4px; background: #cdbd9a; }
.process-step__number { color: #d7c5a0; font-size: 12px; }
.process-step h3 { font-size: 21px; line-height: 1.25; margin: 24px 0 16px; min-height: 53px; }
.process-step p { color: #dbe4e8; font-size: 14px; line-height: 1.7; }
.sustainability { display: grid; grid-template-columns: 1fr 1fr; background: var(--paper); }
.sustainability__image { position: relative; min-height: 740px; }
.sustainability__image .media-image, .sustainability__image .media-placeholder { position: absolute; inset: 0; }
.sustainability__image::after { content: ""; position: absolute; inset: 40% 0 0; background: linear-gradient(transparent, #173a49c9); }
.sustainability__image > p { position: absolute; bottom: 50px; left: var(--gutter); z-index: 1; color: var(--white); font-size: clamp(26px, 3vw, 42px); line-height: 1.2; letter-spacing: -.025em; }
.sustainability__content { padding: clamp(50px, 6vw, 90px); padding-right: max(var(--gutter), calc((100vw - var(--content-width)) / 2)); }
.sustainability__content h2 { font-size: clamp(34px, 3.2vw, 46px); }
.sustainability__content > p:not(.eyebrow) { color: var(--muted); font-size: 15px; margin-top: 26px; }
.dimensions { margin: 30px 0 20px; }
.dimensions > div { border-top: 1px solid #cbd4cf; padding: 16px 0; display: grid; grid-template-columns: 110px 1fr; gap: 20px; }
.dimensions dt { color: var(--teal); font-size: 14px; font-weight: 600; }
.dimensions dd { margin: 0; color: var(--muted); font-size: 13px; }
.partnerships { background: var(--white); }
.partnerships__heading { border-top: 1px solid var(--bronze); padding-top: 28px; }
.partnerships__heading h2 { font-size: clamp(46px, 5vw, 70px); }
.partnerships__heading .lead { margin-top: 22px; max-width: 520px; }
.partnerships__grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(48px, 7vw, 100px); align-items: start; margin-top: 42px; }
.partnerships__image { min-width: 0; }
.partnerships__image > .media-image, .partnerships__image > .media-placeholder { aspect-ratio: 4 / 3; height: auto; min-height: 0; object-fit: cover; object-position: center 44%; }
.partnerships__image figcaption { margin-top: 12px; color: var(--muted); font-size: 10px; }
.partnerships__content { border-top: 1px solid #cbd4cf; padding-top: 28px; color: var(--muted); font-size: 16px; }
.partner-capabilities { display: grid; grid-template-columns: 1fr 1fr; gap: 0 28px; list-style: none; margin: 34px 0 18px; border-top: 1px solid #d4dbd8; }
.partner-capabilities li { position: relative; padding: 14px 0 14px 18px; border-bottom: 1px solid #d4dbd8; color: var(--slate); font-size: 13px; font-weight: 600; }
.partner-capabilities li::before { content: ""; position: absolute; left: 0; top: 23px; width: 5px; height: 5px; background: var(--bronze); }
.partnerships__content .action { margin-top: 18px; }
.contact-cta { background: var(--teal); color: var(--white); position: relative; }
.contact-cta__grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: clamp(40px, 9vw, 130px); }
.contact-cta .eyebrow { color: #eee2c8; }
.contact-cta h2 { color: var(--white); font-size: clamp(38px, 4vw, 58px); }
.contact-cta h2 + p { margin-top: 30px; font-size: 17px; color: #e6eeee; }
.contact-cta__actions { padding-top: 37px; }
.contact-cta__actions > p { font-size: 15px; color: #e6eeee; margin-bottom: 30px; }
.contact-cta__actions .action { display: flex; margin-top: 14px; }
.contact-cta__actions .action--text { color: var(--white); border-color: #ffffff60; font-size: 13px; }
.contact-cta__actions .action--text:hover { color: #eee2c8; }
@media (min-width: 1600px) { .hero__image { left: 46%; } }
@media (max-width: 1220px) and (min-width: 761px) {
	.hero__actions { flex-direction: column; align-items: flex-start; gap: 12px; }
}
@media (max-width: 1100px) {
	.hero h1 { font-size: clamp(50px, 6.2vw, 68px); }
	.hero__copy { width: 64%; }
	.hero__image { left: 46%; }
	.hero__inner { min-height: 650px; }
	.hero__description { max-width: 350px; }
	.hero__actions { max-width: 340px; }
	.intro-grid { gap: 55px; }
	.featured__grid { gap: 36px; grid-template-columns: 1.1fr 1fr; }
	.featured__image > .media-image { aspect-ratio: .85; }
	.principles__grid { grid-template-columns: 1fr 1fr; gap: 40px; }
	.principle h3 { max-width: none; margin-top: 20px; }
	.build-model__intro { gap: 55px; }
	.build-model__principles { grid-template-columns: 1fr; border-top: 0; }
	.build-proof, .build-proof:first-child, .build-proof:last-child { padding: 28px 0 38px; border-top: 1px solid #b9c6c1; border-left: 0; }
	.build-proof h3 { margin-top: 22px; max-width: none; }
	.build-proof .action { margin-top: 8px; padding-top: 18px; }
	.process__steps { gap: 18px; }
	.process-step h3 { font-size: 18px; }
	.sustainability__content { padding: 65px 35px; }
	.dimensions > div { grid-template-columns: 1fr; gap: 3px; }
	.partnerships__grid { gap: 48px; }
}
@media (max-width: 760px) {
	.hero__inner { min-height: 900px; padding-block: 56px 360px; align-items: flex-start; }
	.hero__copy { width: 100%; }
	.hero h1 { font-size: clamp(45px, 10.7vw, 70px); }
	.hero .eyebrow { font-size: 10px; margin-bottom: 25px; }
	.hero__description { max-width: 470px; font-size: 15px; line-height: 1.6; margin-top: 24px; }
	.hero__image { inset: 55% 0 0; }
	.hero__image .media-image { object-position: center 55%; }
	.hero::after { background: linear-gradient(180deg, #284b63 0%, #284b63 53%, #284b6380 68%, transparent 84%), linear-gradient(0deg, #19394eb3, transparent 20%); }
	.hero__actions { flex-direction: row; max-width: none; margin-top: 25px; gap: 12px 22px; }
	.hero__caption { bottom: 22px; text-align: left; left: 0; }
	.brand-strip .container { flex-wrap: wrap; gap: 10px 22px; padding-block: 18px; font-size: 10px; letter-spacing: .02em; }
	.brand-strip span { gap: 8px; }
	.intro-grid, .featured__grid, .build-model__intro, .partnerships__grid, .contact-cta__grid { grid-template-columns: 1fr; gap: 30px; }
	.intro-copy { padding-top: 0; }
	.introduction h2 { max-width: 570px; }
	.section-topline { margin-bottom: 28px; padding-top: 18px; }
	.section-topline > span { font-size: 10px; }
	.section-topline .eyebrow { font-size: 10px; }
	.featured__image > .media-image, .featured__image > .media-placeholder { aspect-ratio: 1.2; }
	.featured__image figcaption { font-size: 9px; }
	.featured__content { padding-top: 10px; }
	.featured__content h2 { font-size: 48px; }
	.section-heading { display: block; margin-bottom: 38px; }
	.section-heading > p, .section-heading > .action { margin-top: 24px; }
	.principles__grid { gap: 34px 24px; }
	.principle h3 { font-size: 23px; }
	.principle p { font-size: 14px; }
	.build-model__intro { margin-bottom: 34px; }
	.build-model__intro > p { font-size: 15px; }
	.build-proof { padding-block: 26px 32px; }
	.build-proof h3 { font-size: 27px; }
	.process__steps { grid-template-columns: 1fr; margin-top: 40px; gap: 0; }
	.process-step { border-top: 0; border-left: 1px solid #91a3af80; padding: 0 0 34px 65px; margin-left: 4px; }
	.process-step:last-child { padding-bottom: 0; }
	.process-step::before { top: 6px; left: -4px; }
	.process-step__number { position: absolute; left: 22px; top: 0; }
	.process-step h3 { margin: 0 0 10px; min-height: 0; font-size: 23px; }
	.process-step p { max-width: 470px; }
	.sustainability { grid-template-columns: 1fr; }
	.sustainability__image { min-height: 400px; }
	.sustainability__image > p { bottom: 30px; font-size: 34px; }
	.sustainability__content { padding: 64px var(--gutter); }
	.dimensions > div { grid-template-columns: 110px 1fr; gap: 16px; }
	.partnerships__heading .lead { margin-top: 20px; }
	.partnerships__grid { margin-top: 30px; }
	.partnerships__content { padding-top: 24px; }
	.partner-capabilities { grid-template-columns: 1fr; }
	.contact-cta__actions { padding-top: 6px; }
}
@media (max-width: 380px) {
	.principles__grid { grid-template-columns: 1fr; }
	.hero__inner { min-height: 930px; }
	.hero__image { top: 58%; }
	.hero::after { background: linear-gradient(180deg, #284b63 0%, #284b63 56%, #284b6360 72%, transparent 88%), linear-gradient(0deg, #19394eb3, transparent 20%); }
	.project-details { gap: 20px; }
}
