@font-face{font-family:InterLocal;src:url("../../../assets/fonts/Inter-Regular.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:InterLocal;src:url("../../../assets/fonts/Inter-SemiBold.ttf") format("truetype");font-style:normal;font-weight:600 800;font-display:swap}

:root{--ink:#101010;--paper:#f8f7f5;--mist:#e6e2dc;--dark:#151515;--wine:#680210;--rule:rgba(16,16,16,.24);--light-rule:rgba(255,255,255,.28);--pad:clamp(32px,4.1vw,80px);--display:clamp(48px,4.25vw,82px);--lead:clamp(21px,1.55vw,29px);--body:clamp(16px,1vw,18px);--meta:12px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:InterLocal,Arial,sans-serif;font-weight:600}body ::selection{background:var(--wine);color:#fff}a{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:InterLocal,Arial,sans-serif;font-weight:600;letter-spacing:-.04em;text-wrap:balance}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.site-header{position:fixed;z-index:20;top:0;left:0;display:flex;align-items:center;width:100%;height:96px;padding:20px var(--pad);color:#fff;transition:transform .26s ease,opacity .22s ease,background-color .22s ease,backdrop-filter .22s ease}.site-header.is-hidden{opacity:0;pointer-events:none;transform:translateY(-110px)}.site-header.is-revealed{background:rgba(21,21,21,.86);backdrop-filter:blur(14px)}.logo{display:block;width:146px;height:54px;overflow:hidden}.logo img{display:block;width:146px;filter:grayscale(1) brightness(5)}.site-header nav{display:flex;gap:clamp(24px,2.4vw,48px);margin-left:auto;margin-right:clamp(36px,4vw,78px)}.site-header nav a,.header-contact{font-size:var(--body);line-height:1;text-decoration:none}.site-header nav a:hover{text-decoration:underline;text-underline-offset:5px}.header-contact{display:inline-flex;align-items:center;justify-content:center;min-width:200px;min-height:48px;padding:0 22px;border:1px solid rgba(255,255,255,.48);border-radius:999px;transition:background-color .18s ease,color .18s ease,transform .18s ease}.header-contact:hover{background:#fff;color:var(--ink)}.header-contact:active,.hero-link:active,.service-case:active,.contact-form button:active{transform:scale(.98)}

.service-hero{display:grid;grid-template-columns:minmax(0,1fr);align-content:end;min-height:760px;min-height:100dvh;padding:160px var(--pad) 76px;overflow:hidden;color:#fff;background:radial-gradient(ellipse 65% 110% at 101% -8%,rgba(255,255,255,.2),transparent 57%),radial-gradient(ellipse 70% 86% at -10% 112%,rgba(229,154,139,.32),transparent 58%),linear-gradient(135deg,#220305 0%,#650b14 48%,#9b6667 100%)}.service-hero h1{max-width:1180px;font-size:clamp(86px,9.3vw,172px);line-height:.79;letter-spacing:-.04em;white-space:nowrap}.hero-copy{width:min(590px,100%);min-width:0;max-width:590px;margin:clamp(72px,10vh,150px) 0 0 auto;font-size:var(--lead);line-height:1.3;letter-spacing:-.035em}.hero-link{display:flex;align-items:center;justify-content:space-between;width:min(460px,100%);min-width:0;margin:34px 0 0 auto;padding:21px 0;border-top:1px solid rgba(255,255,255,.48);border-bottom:1px solid rgba(255,255,255,.48);font-size:var(--body);text-decoration:none;transition:opacity .18s ease,transform .18s ease}.hero-link:hover{opacity:.72}.hero-link span{font-size:30px;font-weight:400;line-height:.7}

.editorial{display:grid;grid-template-columns:minmax(250px,.63fr) minmax(0,1.37fr);gap:clamp(48px,8vw,150px);padding:clamp(100px,11vw,190px) var(--pad);background:var(--paper)}.intro-aside{min-width:0}.editorial-portrait{width:100%;margin:0;overflow:hidden;background:var(--mist);aspect-ratio:3 / 4}.editorial-portrait img{display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.06)}.intro-copy{align-self:start;max-width:1000px}.editorial h2,.tasks h2,.service-cases h2{font-size:var(--display);line-height:.83}.lead-copy{max-width:720px;margin-top:clamp(36px,4.3vw,64px);font-size:var(--lead);line-height:1.35;letter-spacing:-.035em}

.signal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:16px var(--pad);background:var(--dark);color:#fff}.signal-card{display:flex;flex-direction:column;min-height:470px;padding:clamp(28px,3vw,52px);border-right:1px solid var(--light-rule)}.signal-card:last-child{border-right:0}.signal-card span,.scope-list span,.tasks-list li>span,.process-steps span,.service-case span{font-size:var(--meta);letter-spacing:.04em}.signal-card h3{max-width:450px;margin-top:auto;font-size:clamp(34px,3.4vw,62px);line-height:.87}.signal-card p{max-width:330px;margin-top:22px;font-size:var(--body);font-weight:400;line-height:1.35;letter-spacing:-.02em}.signal-card--red{background:var(--wine)}.signal-card--line{background:#282828}

.scope{background:#fff}.scope>div{grid-column:2;max-width:1000px}.scope-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:clamp(60px,7vw,108px);border-top:1px solid var(--rule)}.scope-list article{min-height:236px;padding:27px 34px 38px 0;border-bottom:1px solid var(--rule)}.scope-list article:nth-child(odd){padding-right:clamp(34px,4vw,72px);border-right:1px solid var(--rule)}.scope-list article:nth-child(even){padding-left:clamp(34px,4vw,72px)}.scope-list span,.process-steps span{color:#777}.scope-list h3,.tasks-list h3,.process-steps h3{margin-top:36px;font-size:clamp(26px,2.2vw,40px);line-height:.93}.scope-list p,.tasks-list p,.process-steps p{max-width:440px;margin-top:18px;font-size:var(--body);font-weight:400;line-height:1.35;letter-spacing:-.02em}

.tasks{padding:clamp(100px,11vw,190px) var(--pad);background:var(--dark);color:#fff}.tasks-heading{max-width:960px;margin-left:auto}.tasks-list{max-width:1000px;margin:clamp(64px,8vw,120px) 0 0 auto;padding:0;list-style:none;border-top:1px solid var(--light-rule)}.tasks-list li{display:grid;grid-template-columns:88px minmax(0,1fr);gap:clamp(24px,3vw,54px);padding:34px 0 38px;border-bottom:1px solid var(--light-rule)}.tasks-list li>span{padding-top:7px;color:#bbb}.tasks-list p{color:#e0e0e0}

.process{padding-bottom:clamp(108px,13vw,220px)}.process>div{grid-column:2;max-width:1000px}.process-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(56px,7vw,110px) clamp(28px,5vw,100px);margin-top:clamp(64px,8vw,120px)}.process-steps article{padding-top:20px;border-top:1px solid var(--rule)}

.service-cases{padding:clamp(100px,11vw,190px) var(--pad) clamp(84px,9vw,140px);background:var(--mist)}.cases-head{max-width:960px;margin-left:auto}.cases-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:clamp(64px,8vw,120px)}.service-case{position:relative;display:flex;flex-direction:column;min-height:clamp(440px,37vw,640px);padding:30px;overflow:hidden;color:#fff;text-decoration:none;background:#6f625c;isolation:isolate}.service-case>img{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%;transition:transform .55s cubic-bezier(.16,1,.3,1)}.service-case::after{position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,rgba(16,16,16,.34),rgba(16,16,16,.04) 40%,rgba(16,16,16,.82));content:""}.service-case>div{margin-top:auto}.service-case h3{font-size:clamp(42px,4vw,74px);line-height:.86}.service-case p{margin-top:16px;font-size:var(--body);letter-spacing:-.025em}.service-case:hover>img{transform:scale(1.045)}.service-case--placeholder{background:#707070}.service-case--placeholder::after{background:linear-gradient(160deg,rgba(255,255,255,.08),rgba(16,16,16,.54))}

.contact{display:grid;grid-template-columns:minmax(240px,.95fr) minmax(280px,.78fr) minmax(320px,1fr);gap:clamp(36px,4vw,84px);align-items:start;padding:clamp(80px,8vw,130px) var(--pad);background:var(--paper)}.contact-title{position:relative;isolation:isolate}.contact-title h2{max-width:520px;margin:68px 0 0;transform:translateY(clamp(100px,7vw,145px));font-size:var(--display);line-height:.83}.contact-title h2 span{color:var(--wine);white-space:nowrap}.contact-signature{position:absolute;z-index:2;right:-125px;bottom:-350px;width:155px;margin:0}.contact-image{width:100%;margin:0;overflow:hidden;background:var(--mist);aspect-ratio:3 / 4}.contact-image img{display:block;width:100%;height:100%;object-fit:cover}.contact-form{margin:26px 0 0}.contact-form>p{max-width:560px;font-size:var(--lead);line-height:1.35;letter-spacing:-.035em}.contact-form label:not(.privacy-consent){display:block;margin-top:18px}.contact-form input{width:100%;height:80px;padding:0 26px;border:1px solid rgba(16,16,16,.34);border-radius:0;background:transparent;color:var(--ink);font:400 var(--body)/1 InterLocal,Arial,sans-serif}.contact-form input::placeholder{color:#686868}.contact-form input:focus{border-color:var(--ink);outline:2px solid var(--ink);outline-offset:2px}.privacy-consent{display:flex;gap:10px;align-items:flex-start;margin-top:20px;font-size:14px;font-weight:400;line-height:1.3;cursor:pointer}.privacy-consent input{width:20px;height:20px;margin:0;accent-color:var(--wine)}.privacy-consent a{text-underline-offset:3px}.contact-form button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:86px;margin-top:24px;padding:0 26px;border:0;border-radius:0;background:var(--dark);color:#fff;cursor:pointer;font:600 var(--body)/1 InterLocal,Arial,sans-serif;text-transform:uppercase;transition:background-color .18s ease,transform .18s ease}.contact-form button:hover{background:var(--wine)}.contact-form button span:last-child{font-size:30px;font-weight:400}

.closing-signature{display:flex;align-items:flex-end;min-height:clamp(300px,38vw,560px);padding:48px var(--pad) 96px;overflow:hidden;background:var(--dark);color:#fff}.courage-footer-signature>p{width:max-content!important;max-width:none!important;font-family:InterLocal,Arial,sans-serif!important;font-size:clamp(72px,14vw,276px)!important;font-weight:400!important;line-height:.8!important;letter-spacing:-.065em!important;white-space:nowrap!important;text-transform:lowercase!important}.courage-footer-meta{display:flex;justify-content:space-between;padding:24px var(--pad);background:var(--dark);color:#fff;font-size:10px;letter-spacing:.05em}.courage-footer-meta a{color:#fff;text-decoration:none}.courage-footer-meta a:hover{text-decoration:underline;text-underline-offset:4px}a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:5px}

@media(max-width:900px){:root{--pad:20px;--display:clamp(46px,12.5vw,76px);--lead:22px;--body:17px}.site-header{height:76px;padding:16px var(--pad)}.logo{width:112px;height:43px}.logo img{width:120px}.site-header nav{gap:15px;margin-right:0}.site-header nav a{font-size:12px}.site-header nav a:not(:last-child),.header-contact{display:none}.service-hero{min-height:680px;padding:128px var(--pad) 52px}.service-hero h1{max-width:100%;font-size:clamp(44px,13vw,52px)}.hero-copy{width:100%;max-width:none;margin:70px 0 0;font-size:22px;overflow-wrap:anywhere}.hero-copy br{display:none}.hero-link{width:100%;margin-top:30px}.editorial{grid-template-columns:1fr;gap:42px;padding:78px var(--pad)}.editorial-portrait{max-width:420px}.intro-copy{max-width:none}.lead-copy{margin-top:32px}.signal-grid{grid-template-columns:1fr}.signal-card{min-height:290px;border-right:0;border-bottom:1px solid var(--light-rule)}.signal-card:last-child{border-bottom:0}.signal-card h3{font-size:50px}.scope>div,.process>div{grid-column:auto}.scope-list{grid-template-columns:1fr;margin-top:52px}.scope-list article,.scope-list article:nth-child(odd),.scope-list article:nth-child(even){min-height:0;padding:25px 0 32px;border-right:0}.tasks{padding:78px var(--pad)}.tasks-list{margin-top:54px}.tasks-list li{grid-template-columns:42px minmax(0,1fr);gap:16px;padding:26px 0}.tasks-list h3,.scope-list h3,.process-steps h3{font-size:31px}.process{padding-bottom:90px}.process-steps{grid-template-columns:1fr;gap:42px;margin-top:54px}.service-cases{padding:78px var(--pad) 62px}.cases-grid{grid-template-columns:1fr;margin-top:54px}.service-case{min-height:440px;padding:24px}.service-case h3{font-size:58px}.contact{grid-template-columns:1fr;gap:36px;padding:64px var(--pad)}.contact-title h2{margin:0;transform:none}.contact-signature{right:0;bottom:-62px;width:132px}.contact-image{order:2;max-width:520px}.contact-form{order:3;margin:0}.contact-form input{height:68px;padding:0 20px}.contact-form button{min-height:76px;padding:0 20px}.closing-signature{align-items:flex-end;min-height:300px;padding:48px var(--pad) 74px}.closing-signature p{font-size:18vw}.courage-footer-meta{flex-direction:column;gap:10px;padding:24px var(--pad);font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.site-header,.header-contact,.hero-link,.service-case,.service-case>img,.contact-form button{transition:none}}

/* Shared shell: match the main page's header and signature without local variants. */
.site-header .logo{width:145px;height:auto;overflow:visible}
.site-header .logo img{width:100%;height:auto;margin:0;filter:grayscale(1) brightness(0) invert(1)}
.site-header nav{position:absolute;right:calc(var(--pad) + 264px);margin:0}
.header-contact{position:absolute;right:var(--pad);min-width:0;min-height:0;padding:14px 24px;border-color:rgba(255,255,255,.32);font:400 16px/1 InterLocal,Arial,sans-serif;letter-spacing:-.03em}

/* The service introduction is one centred reading group: title, then explanation. */
.service-hero{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:160px var(--pad) 96px}
.hero-copy{margin:clamp(38px,4vw,64px) 0 0;max-width:620px}
.hero-link{display:none}

/* Strategy introduction: image and statement carry equal visual weight. */
.intro-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;height:clamp(560px,38vw,740px);min-height:0;padding:0;overflow:hidden;background:#fff}
.intro-grid .intro-aside,.intro-grid .editorial-portrait{height:100%;min-height:0}
.intro-grid .intro-aside{overflow:hidden}
.intro-grid .editorial-portrait{position:relative;max-width:none;min-height:0;aspect-ratio:auto}
.intro-grid .editorial-portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.intro-grid .intro-copy{display:flex;flex-direction:column;justify-content:center;max-width:none;padding:clamp(64px,8vw,150px);background:#fff}
.intro-grid .intro-copy h2{max-width:680px}
.intro-grid .lead-copy{max-width:660px}

/* Strategy outcomes form one quiet, equally divided field. */
.signal-grid{grid-template-columns:repeat(3,minmax(0,1fr));padding:0;background:#101010}
.signal-card,.signal-card--red,.signal-card--line{min-height:clamp(430px,30vw,570px);padding:clamp(32px,4vw,80px);background:transparent}
.signal-card{border-right:1px solid rgba(255,255,255,.25)}
.signal-card:last-child{border-right:0}

/* Two-column task sheet: statement on the left, work detail starts on its top guide. */
.tasks{display:grid;grid-template-columns:minmax(250px,.63fr) minmax(0,1.37fr);column-gap:clamp(48px,8vw,150px)}
.tasks-heading{grid-column:1;margin:0;align-self:start}
.tasks-list{grid-column:2;grid-row:1;align-self:start;margin:0}

/* The scope follows the same editorial grid: proposition left, detail right. */
.scope>div{grid-column:1 / -1;display:grid;grid-template-columns:minmax(250px,.63fr) minmax(0,1.37fr);column-gap:clamp(48px,8vw,150px);max-width:none}
.scope-intro{grid-column:1;align-self:start}
.scope-intro .lead-copy{margin-top:clamp(36px,4.3vw,64px)}
.scope-list{grid-column:2;align-self:start;margin-top:0}
.scope-list{grid-template-columns:1fr}
.scope-list article,.scope-list article:nth-child(odd),.scope-list article:nth-child(even){display:grid;grid-template-columns:88px minmax(0,1fr);column-gap:clamp(24px,3vw,54px);min-height:0;padding:34px 0 38px;border-right:0}
.scope-list article>span{grid-column:1;grid-row:1;padding-top:7px}
.scope-list article h3{grid-column:2;grid-row:1;margin-top:0}
.scope-list article p{grid-column:2;grid-row:2;margin-top:18px}

/* Case work needs no extra headline: the two projects carry the section themselves. */
.service-cases{padding:clamp(80px,9vw,150px) var(--pad);background:#fff}
.cases-grid{margin-top:0}

/* Process uses the same two-column editorial sheet as the task list. */
.process{background:#fff}
.process>div{grid-column:1 / -1;display:grid;grid-template-columns:minmax(250px,.63fr) minmax(0,1.37fr);column-gap:clamp(48px,8vw,150px);max-width:none}
.process h2{grid-column:1;grid-row:1;align-self:start}
.process-steps{grid-column:2;grid-row:1;display:grid;grid-template-columns:1fr;gap:0;margin:0;align-self:start}
.process-steps article{display:grid;grid-template-columns:88px minmax(0,1fr);column-gap:clamp(24px,3vw,54px);padding:34px 0 38px;border-top:1px solid var(--rule)}
.process-steps article>span{grid-column:1;grid-row:1;padding-top:7px}
.process-steps article h3{grid-column:2;grid-row:1;margin-top:0}
.process-steps article p{grid-column:2;grid-row:2;margin-top:18px}

/* A compact outcome block: no imagery, only the four phases of the work. */
.process{display:block;min-height:clamp(680px,48vw,900px);padding:clamp(88px,9vw,170px) var(--pad);background:var(--wine);color:#fff}
.process>div{display:flex;flex-direction:column;min-height:clamp(500px,31vw,610px);max-width:none}
.process h2{max-width:580px;font-size:var(--display);line-height:.83}
.process-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(24px,3vw,58px);width:100%;margin-top:auto}
.process-steps article{display:block;padding:0;border:0}
.process-steps article>span{display:block;padding:0;color:#fff}
.process-steps article h3{margin:28px 0 0;font-size:clamp(28px,2.25vw,44px);line-height:.9;color:#fff}
.process-steps article p{margin:20px 0 0;color:#fff;font-weight:600}

/* Keep the unavailable case quiet, but anchor its content on the same baseline as MSHTM. */
.service-case--placeholder h3{margin-top:auto}

/* Exact shared footer treatment from the home page. */
.courage-footer-signature{display:flex!important;align-items:flex-start!important;min-height:clamp(320px,38vw,560px)!important;overflow:hidden!important;padding:130px 54px 160px!important;background:#101010!important;color:#fff!important}
.courage-footer-signature>p{width:max-content!important;max-width:none!important;margin:0!important;white-space:nowrap!important;font:400 clamp(74px,15.4vw,326px)/.78 HeliosExt,Arial,sans-serif!important;letter-spacing:-.095em!important;text-transform:lowercase!important;transform:none!important}
.courage-footer-meta{display:flex!important;justify-content:space-between!important;padding:24px 54px!important;background:#101010!important;color:#fff!important;font-family:InterLocal,Arial,sans-serif!important;font-size:10px!important;font-weight:600!important;letter-spacing:.05em!important}
@media(max-width:900px){.site-header .logo{width:112px;height:auto}.site-header nav{position:static;margin-right:0}.header-contact{position:static}.service-hero{padding:128px var(--pad) 52px}.tasks{display:block}.tasks-list{margin-top:54px}.scope>div,.process>div{display:block}.scope .lead-copy{margin-top:32px}.scope-list{margin-top:52px}.scope-list article,.scope-list article:nth-child(odd),.scope-list article:nth-child(even),.process-steps article{grid-template-columns:42px minmax(0,1fr);column-gap:16px;padding:26px 0}.process-steps{margin-top:54px}.service-cases{padding:62px var(--pad)}.cases-grid{margin-top:0}.courage-footer-signature{align-items:flex-end!important;min-height:300px!important;padding:48px 20px 80px!important}.courage-footer-signature>p{font-size:18.1vw!important;letter-spacing:-.09em!important}.courage-footer-meta{flex-direction:column!important;gap:10px!important;padding:24px 20px!important;font-size:11px!important}.hero-copy{margin-top:38px}.hero-link{margin-top:30px}}
@media(max-width:900px){.process{min-height:0;padding:78px var(--pad)}.process>div{display:block;min-height:0}.process-steps{grid-template-columns:1fr;gap:42px;margin-top:64px}.process-steps article{padding:0}.process-steps article h3{font-size:38px}}
@media(max-width:900px){.intro-grid{grid-template-columns:1fr;min-height:0;padding:0;gap:0}.intro-grid .editorial-portrait{min-height:420px;max-width:none}.intro-grid .intro-copy{padding:64px var(--pad) 78px}}

/* Service names and real copy are allowed to take more than one line on small screens. */
.service-hero--long h1{max-width:1180px;font-size:clamp(62px,6vw,112px);white-space:normal}
@media(max-width:900px){.service-hero--long h1{font-size:clamp(42px,11.5vw,52px);line-height:.88}.hero-copy{display:block;width:calc(100vw - (var(--pad) * 2));max-width:calc(100vw - (var(--pad) * 2));font-size:18px;white-space:normal;overflow-wrap:anywhere;word-break:break-word}}
