/* V8: consolidated V6 editorial system. No external runtime assets or font downloads. Brand artwork is bundled locally. */
:root{--paper:#f7f7f2;--white:#fff;--ink:#242822;--muted:#565e52;--line:#d8dbd1;--blue:#274fe5;--blue-light:#edf0ff;--green:#35604a;--serif:"Iowan Old Style","Baskerville","Palatino Linotype","Book Antiqua",Georgia,"Liberation Serif",serif;--sans:Arial,"Helvetica Neue",Helvetica,sans-serif;--mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;--max:1200px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.7 var(--sans);-webkit-font-smoothing:antialiased}button,a,summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:wait}button,summary,a{outline-offset:5px}a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex="-1"]:focus-visible{outline:2px solid var(--blue)}button{border:0}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3{font-weight:400}img{max-width:100%;height:auto}strong{font-weight:600}[hidden]{display:none!important}::selection{background:#d8e0ff;color:#182b75}.wrap{width:min(var(--max),calc(100% - 112px));margin-inline:auto}.eyebrow,.mini-label{font:600 .875rem/1.5 var(--sans);letter-spacing:0;text-transform:none;color:var(--muted)}.mini-label{color:var(--blue);display:block;margin-bottom:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;top:-90px;left:20px;background:var(--blue);color:white;padding:12px 20px;z-index:200}.skip:focus{top:14px}.icon-sprite{position:absolute;width:0;height:0;overflow:hidden}.icon{width:16px;height:16px;display:inline-block;vertical-align:-.15em;fill:currentColor;flex:none}.button,.text-link{display:inline-flex;align-items:center;gap:16px;min-height:48px;font-size:14px;line-height:1.5}.button{justify-content:center;padding:13px 22px;border:1px solid var(--blue);border-radius:3px;background:var(--blue);color:white;transition:background .16s}.button:hover{background:#173cc8}.text-link{border-bottom:1px solid currentColor;padding:9px 0;color:var(--blue);background:none}.text-link:hover{border-bottom-color:transparent}.anchor-alias{display:block;position:relative;scroll-margin-top:0}section[id],article[id],h2[id]{scroll-margin-top:0}.site-header{position:sticky;top:0;z-index:50;background:rgba(247,247,242,.97);backdrop-filter:blur(14px)}.header-inner{height:86px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;gap:13px;align-items:center;min-height:44px}.monogram{font:italic 32px/1 var(--serif);letter-spacing:-4px;color:var(--blue);padding-right:5px}.brand-name{font-size:15px;font-weight:600;letter-spacing:-.3px;white-space:nowrap}.desktop-nav{display:flex;align-items:center;gap:30px;font-size:14px}.desktop-nav a{min-height:44px;display:inline-flex;align-items:center;gap:18px}.desktop-nav a:hover,.desktop-nav a[aria-current]{color:var(--blue)}.nav-contact{border:1px solid var(--line);padding:0 16px;border-radius:3px}.nav-contact:hover{border-color:var(--blue)}.mobile-menu-button,.mobile-nav{display:none}.hero{padding:58px 0 44px}.hero-identity{display:flex;align-items:center;gap:22px;font:500 .875rem/1.5 var(--sans);letter-spacing:0;text-transform:none;margin-bottom:24px;color:var(--muted)}.hero-identity strong{color:var(--ink);font-weight:500}.hero-identity span{border-left:1px solid var(--line);padding-left:22px}.hero-promise{display:block;font:400 clamp(52px,6.2vw,87px)/1.04 var(--serif);letter-spacing:-3.7px}.hero-promise em{color:var(--blue);font-weight:400}.hero-lower{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:80px;align-items:end;margin-top:28px}.hero-description{max-width:720px;font-size:16px;line-height:1.8;color:var(--muted)}.hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:26px}.hero-actions .text-link{border-color:transparent}.hero-resources{border-left:1px solid var(--line);padding-left:28px;padding-bottom:3px}.hero-scope{font-size:13px;line-height:1.8;color:var(--muted);margin-bottom:15px}.hero-resources .text-link{font-size:13px}.references{border-block:1px solid var(--line);padding:28px 0;display:grid;grid-template-columns:300px 1fr;gap:36px;align-items:center}.references .eyebrow{font-size:.875rem}.work-section{padding:84px 0 72px}.section-heading{display:grid;grid-template-columns:46px minmax(0,1fr);gap:20px;align-items:baseline}.section-num{font:12px/1.5 var(--mono);color:var(--blue);display:flex;align-items:center;gap:9px}.section-num:after{content:"";height:1px;width:16px;background:currentColor}.section-title{font:400 52px/1.1 var(--serif);letter-spacing:-1.9px}.section-title em{color:var(--blue);font-weight:400}.section-intro{max-width:705px;margin:22px 0 38px 66px;color:var(--muted);font-size:16px}.case-malakoff{display:grid;grid-template-columns:1.15fr 1fr;border:1px solid var(--line);border-radius:5px;background:#fffefa;overflow:hidden}.case-copy{padding:40px 40px 37px}.case-title{font:400 38px/1.15 var(--serif);letter-spacing:-1px;margin:17px 0 20px}.case-description{font-size:16px;color:var(--muted);line-height:1.8;max-width:580px}.case-facts{margin:26px 0 8px;border-top:1px solid var(--line);padding-top:18px}.case-facts>div{display:grid;grid-template-columns:125px minmax(0,1fr);gap:12px;margin:0 0 12px;font-size:14px}.case-facts dt{font-weight:600}.case-facts dd{margin:0;color:var(--muted)}.case-link{margin-top:12px;gap:22px}.contribution-diagram{background:#e9ede3;border-left:1px solid var(--line);padding:32px 38px;display:flex;flex-direction:column;justify-content:center;gap:0}.diagram-line .icon{width:20px;height:20px;color:var(--blue)}.contribution-diagram figcaption{font-size:12px;line-height:1.7;color:var(--muted);padding-top:27px;max-width:350px}.case-finance{margin-top:36px;border:1px solid var(--line);border-radius:5px;display:grid;grid-template-columns:1.5fr 1fr;background:#fafbf6;overflow:hidden}.case-finance .case-title{font-size:34px}.finance-context{border-left:1px solid var(--line);align-self:center;padding:30px 40px}.finance-context>p:last-child{font-size:13px;color:var(--muted)}.case-detail{grid-column:1/-1;border-top:1px solid var(--line);padding:0 40px}.case-detail summary{display:flex;align-items:center;justify-content:space-between;gap:22px;list-style:none;min-height:72px;padding:15px 0;color:var(--blue);font-size:15px;cursor:pointer}.case-detail summary::-webkit-details-marker{display:none}.case-detail[open] summary .icon{transform:rotate(180deg)}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:27px 40px;padding:10px 0 34px}.detail-grid h4{font-size:16px;font-weight:600;margin-bottom:9px}.detail-grid p{font-size:15px;line-height:1.8;color:var(--muted)}.quote-section{background:#edf0e7;border-block:1px solid #d7dfcd;padding:54px 0}.quote-layout{display:grid;grid-template-columns:210px 1fr;gap:55px}.quote-mark{font:70px/1 var(--serif);color:#536947;display:block;margin-top:17px}.quote-section blockquote{margin:0;font:34px/1.35 var(--serif);letter-spacing:-.5px}.quote-section blockquote em{font-style:normal;color:#426334;text-decoration:underline;text-decoration-color:#bdcbae;text-underline-offset:6px;text-decoration-thickness:1px}.quote-source{font-size:14px;margin-top:22px}.quote-source small{display:block;font-size:14px;color:var(--muted);margin-top:4px}.experience-section{padding:83px 0;border-bottom:1px solid var(--line)}.experience-layout{display:grid;grid-template-columns:1fr 1.35fr;gap:60px}.experience-section .section-title{font-size:44px}.experience-list{border-top:1px solid var(--line)}.experience-row{display:grid;grid-template-columns:1fr 125px;gap:16px;border-bottom:1px solid var(--line);padding:22px 0}.experience-date{font:14px/1.5 var(--sans);color:var(--muted);margin-bottom:5px}.experience-row h3{font-size:18px;font-weight:500;line-height:1.45}.mission-context{font-size:14px;margin:5px 0}.experience-desc{font-size:14px;line-height:1.75;color:var(--muted);margin-top:6px}.experience-role{font:14px/1.5 var(--sans);color:var(--blue);text-align:right;align-self:start}.experience-more{display:flex;gap:25px;justify-content:space-between;flex-wrap:wrap;margin-top:24px}.experience-more .text-link{font-size:13px}.approach-preview{display:grid;grid-template-columns:1fr 1.1fr;gap:70px;padding:77px 0 85px}.approach-preview .section-title{font-size:44px}.approach-preview p{font-size:16px;color:var(--muted);max-width:580px}.approach-preview .text-link{margin-top:19px}.contact-section{background:var(--blue);color:#fff}.contact-inner{display:grid;grid-template-columns:1.3fr 1fr;gap:65px;padding:64px 0 45px;align-items:start}.contact-section .eyebrow{color:#e0e6ff}.contact-section h2{font:52px/1.13 var(--serif);letter-spacing:-1.6px;margin:18px 0}.contact-section h2 em{font-weight:400}.contact-section p{font-size:15px;max-width:540px;color:#e6ebff}.contact-block{padding-top:10px;min-width:0}.contact-email-address{font-size:22px;overflow-wrap:anywhere;display:inline-flex;align-items:center;min-height:44px;line-height:1.4}.contact-tools{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin:18px 0 7px}.contact-section .button{background:#fff;color:var(--blue);border-color:#fff}.contact-section .button:hover{background:#edf0ff}.copy-email{background:none;color:inherit;font-size:14px;padding:10px 0;border-bottom:1px solid currentColor;min-height:44px}.contact-secondary{display:flex;gap:21px;align-items:center;flex-wrap:wrap;margin-top:8px;font-size:13px}.contact-secondary a{min-height:44px;display:inline-flex;align-items:center;gap:9px}.contact-secondary .text-link{color:inherit;font-size:13px;border-bottom:0}.copy-status{min-height:48px;font-size:13px!important;line-height:1.65;padding-top:8px}.site-footer{display:flex;justify-content:space-between;gap:28px;align-items:center;padding:24px 0}.footer-left{display:flex;gap:20px;align-items:center}.footer-left .brand-name{font-size:13px}.footer-left .monogram{font-size:27px}.footer-role{font-size:12px;color:var(--muted)}.footer-right{display:flex;align-items:center;flex-wrap:wrap;gap:25px;font-size:12px;color:var(--muted)}.footer-right a{display:inline-flex;align-items:center;min-height:44px}.footer-right a:hover{color:var(--blue);text-decoration:underline}
/* Reading layouts share typography and components with the overview. */
.reading{padding-top:36px;padding-bottom:58px}.breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:14px;font-size:13px;color:var(--muted);margin-bottom:29px}.breadcrumb a{min-height:44px;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:4px}.breadcrumb .icon{width:12px;height:12px}.reading-intro{border-bottom:1px solid var(--line);padding-bottom:36px;margin-bottom:44px}.reading-intro .eyebrow{margin-bottom:17px}.reading h1{font:400 clamp(42px,4.8vw,67px)/1.08 var(--serif);letter-spacing:-2.2px;max-width:1100px}.reading h1 em{font-weight:400;color:var(--blue)}.reading .lead{font-size:18px;line-height:1.8;color:var(--muted);max-width:790px;margin-top:25px}.case-summary{display:grid;grid-template-columns:1.5fr 1fr .85fr;gap:30px;border-top:1px solid var(--line);padding:22px 0 0;margin:30px 0 0}.case-summary dt{font:600 .875rem/1.5 var(--sans);text-transform:none;color:var(--blue);margin-bottom:6px;letter-spacing:0}.case-summary dd{margin:0;font-size:14px;color:var(--muted);max-width:380px}.reading-grid{display:grid;grid-template-columns:220px minmax(0,1fr);gap:60px;align-items:start}.reading-aside{position:sticky;top:118px;border-top:1px solid var(--line);padding-top:16px}.reading-aside .eyebrow{margin-bottom:10px}.reading-aside a{display:block;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.6;min-height:48px}.reading-aside a:hover{color:var(--blue)}.reading-copy{max-width:750px;min-width:0}.reading-copy>section{margin-bottom:44px}.reading-copy h2{font:32px/1.2 var(--serif);letter-spacing:-.6px;margin-bottom:18px}.reading-copy p{font-size:16px;line-height:1.85;color:var(--muted);margin:12px 0}.reading-copy p a{color:var(--blue);text-decoration:underline;text-underline-offset:4px}.reading-copy .mini-label{font-size:.875rem;margin-bottom:10px;color:var(--blue)}.editorial-map{padding:10px 26px 20px;background:#edf0e7;border:1px solid var(--line);border-radius:4px;margin:24px 0}.object-row{display:flex;align-items:center;gap:22px;padding:18px 0;border-bottom:1px solid #ccd4c3}.object-row>span{font:12px var(--mono);color:var(--blue)}.object-row strong{font:24px/1.3 var(--serif);flex:1}.object-row .icon{color:var(--blue)}.editorial-map figcaption{font-size:12px;line-height:1.7;color:var(--muted);padding-top:18px}.reading-copy .intention{border-left:2px solid var(--blue);padding-left:19px;font-size:17px;color:var(--ink)}.component-index{display:grid;grid-template-columns:1fr 1fr;list-style:none;padding:0;margin:23px 0 0;border-top:1px solid var(--line);gap:0 20px}.component-index li{padding:12px 0;border-bottom:1px solid var(--line);font-size:14px;color:var(--muted)}.reading-disclosure{background:#edf0e7;border-left:2px solid #acb9a0;padding:22px 26px}.reading-disclosure h2{font-size:25px;margin-bottom:8px}.reading-disclosure p{font-size:14px;margin:0}.reading-bottom{border-top:1px solid var(--line);padding-top:28px;display:flex;align-items:center;flex-wrap:wrap;gap:20px 32px;justify-content:space-between}.reading-bottom .text-link{font-size:14px}.approach-chapters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}.approach-chapters h2{font:27px/1.2 var(--serif);letter-spacing:-.4px;margin:13px 0 18px}.approach-chapters p{font-size:16px;line-height:1.85;color:var(--muted)}.story-section{border-top:1px solid var(--line);padding-top:50px;margin-top:50px;display:grid;grid-template-columns:.9fr 1.3fr;gap:60px;align-items:center}.story-context h2{font:44px/1.1 var(--serif);letter-spacing:-1.2px;margin:20px 0}.story-context h2 em{font-weight:400;color:var(--blue)}.story-context p{font-size:16px;line-height:1.8;color:var(--muted);margin-bottom:18px}.story-context .eyebrow{font-size:.875rem}.story-context .story-instruction{font-size:14px;max-width:360px}.story-context .text-link{font-size:14px}.approach-conclusion{border-top:1px solid var(--line);margin:45px 0 25px;padding-top:30px;font-size:16px;color:var(--muted);max-width:850px}.reading-copy .experience-row h3{font-family:var(--sans);font-size:18px}.reading-copy .experience-row p{margin:5px 0;font-size:14px}.reading-copy .experience-row .experience-role{font-size:12px;color:var(--blue)}.reading-copy .experience-row .experience-date{font-size:12px}.profile-actions{display:flex;flex-wrap:wrap;gap:28px;margin-top:24px}.reading-copy .contact-block{background:#edf0e7;border:1px solid var(--line);padding:20px 26px}.reading-copy .copy-status{margin:0}.reading-copy .contact-email-address{font-size:21px}.notfound{padding-block:85px 130px;min-height:65vh}.notfound h1{font:58px/1.15 var(--serif);letter-spacing:-1px;margin:18px 0 25px;max-width:700px}.notfound>p{max-width:680px;color:var(--muted)}
/* Local preview uses the V6 native dialog pattern, not a client-side router in production. */
dialog{border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink);width:min(1160px,calc(100% - 40px));max-height:90vh;max-height:90dvh;padding:0;box-shadow:0 25px 100px #10201540}dialog::backdrop{background:#1b251878;backdrop-filter:blur(4px)}.dialog-head{position:sticky;top:0;z-index:3;display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding:10px 28px;background:var(--paper)}.dialog-head .eyebrow{font-size:.875rem}.dialog-close{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--blue)}.dialog-body .reading{width:auto;margin:0;padding:28px 40px 35px}.dialog-body .reading-aside{top:88px}.dialog-body .breadcrumb{display:none}.dialog-body .reading h2.reading-title{font:52px/1.08 var(--serif);letter-spacing:-1.8px;margin:0}.reading-title em{color:var(--blue);font-weight:400}.dialog-body .reading-grid{gap:36px;grid-template-columns:180px minmax(0,1fr)}.preview-page{border-top:1px solid var(--line)}dialog .preview-page{border:0}.standalone-preview .reading-title{font:52px/1.1 var(--serif)}.print-profile{display:none}.js .print-profile{display:inline-flex}
@media(min-width:1500px){.hero{padding-top:72px}.hero-promise{font-size:90px}}
@media(max-width:1150px){.wrap{width:calc(100% - 80px)}.hero-lower{gap:40px}.references{grid-template-columns:230px 1fr;gap:25px}.section-title{font-size:46px}.case-copy{padding:32px}.case-title{font-size:35px}.contribution-diagram{padding:30px}.case-facts>div{grid-template-columns:110px 1fr;font-size:13px}.experience-layout{grid-template-columns:1fr 1.3fr;gap:40px}.experience-section .section-title{font-size:38px}.contact-inner{gap:35px;grid-template-columns:1.2fr 1fr}.contact-section h2{font-size:45px}.contact-email-address{font-size:20px}.reading-grid{grid-template-columns:185px 1fr;gap:38px}.story-section{gap:30px;grid-template-columns:.85fr 1.2fr}}
@media(max-width:900px){.wrap{width:calc(100% - 56px)}.hero-lower{grid-template-columns:1fr;gap:22px}.hero-resources{border-left:0;padding:0;display:flex;gap:22px;align-items:center;justify-content:space-between;flex-wrap:wrap}.hero-scope{margin:0}.references{grid-template-columns:1fr;gap:20px}.references .eyebrow br{display:none}.case-malakoff{grid-template-columns:1.15fr .9fr}.case-title{font-size:32px}.case-facts>div{display:block}.case-facts dt{margin-bottom:3px}.case-finance{grid-template-columns:1fr}.finance-context{border-left:0;border-top:1px solid var(--line);padding:20px 32px;display:flex;gap:18px;align-items:center;flex-wrap:wrap}.finance-context>p:last-child{font-size:12px}.quote-layout{grid-template-columns:160px 1fr;gap:35px}.quote-section blockquote{font-size:31px}.experience-layout{grid-template-columns:1fr;gap:30px}.experience-section .section-title{font-size:44px}.experience-row{grid-template-columns:1fr 180px}.approach-preview{gap:30px;grid-template-columns:1fr 1fr}.contact-inner{grid-template-columns:1fr;gap:26px}.contact-email-address{font-size:24px}.contact-tools{margin-top:12px}.contact-inner{padding:50px 0 28px}.site-footer{flex-wrap:wrap}.reading-grid{grid-template-columns:1fr;gap:30px}.reading-aside{position:static;display:flex;flex-wrap:wrap;gap:0 22px}.reading-aside .eyebrow{width:100%;margin-bottom:0}.reading-aside a{font-size:13px}.reading-copy{max-width:760px}.approach-chapters{grid-template-columns:1fr;gap:28px}.approach-chapters section{max-width:750px}.approach-chapters h2{margin:6px 0 12px}.story-section{grid-template-columns:1fr;gap:30px}.story-context p{max-width:680px}.story-context .story-instruction{max-width:680px}.story-section .pd-story{max-width:570px;margin:0 auto;width:100%}.dialog-body .reading-grid{grid-template-columns:1fr}.dialog-body .reading-aside{position:static}.dialog-body .reading h2.reading-title{font-size:46px}}
@media(max-width:760px){html{scroll-padding-top:95px}.wrap{width:calc(100% - 40px)}.header-inner{height:72px}.desktop-nav{display:none}.js .mobile-menu-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:90px;min-height:44px;border:1px solid var(--line);border-radius:3px;background:none;font-size:13px}.mobile-nav{display:flex;flex-wrap:wrap;gap:0 22px;border-bottom:1px solid var(--line);padding:10px 0}.mobile-nav a{display:flex;align-items:center;min-height:44px;font-size:14px}.hero{padding:36px 0 29px}.hero-identity{font-size:.875rem;gap:14px}.hero-identity span{padding-left:14px}.hero-promise{font-size:clamp(43px,7.3vw,57px);letter-spacing:-2px;line-height:1.06}.hero-description{font-size:16px;line-height:1.8}.hero-lower{margin-top:24px;gap:18px}.hero-actions{gap:12px 22px;margin-top:23px}.hero-resources{gap:7px}.hero-resources .text-link{font-size:13px}.hero-scope{font-size:12px}.references{padding:23px 0}.work-section{padding:53px 0}.section-heading{grid-template-columns:26px 1fr;gap:12px}.section-num:after{width:7px}.section-num{font-size:10px;gap:5px}.section-title{font-size:37px;letter-spacing:-1px}.section-intro{margin:19px 0 28px 38px;font-size:15px}.case-malakoff{grid-template-columns:1fr}.case-copy{padding:28px 25px}.case-copy .eyebrow{font-size:.875rem}.case-title{font-size:33px}.case-description{font-size:16px}.case-facts>div{display:grid;grid-template-columns:110px 1fr;gap:12px;font-size:13px}.case-link{font-size:14px}.contribution-diagram{border-left:0;border-top:1px solid var(--line);padding:25px}.contribution-diagram figcaption{padding-top:20px;font-size:12px;max-width:none}.case-finance{margin-top:28px}.case-finance .case-title{font-size:31px}.finance-context{padding:22px 25px;display:block}.finance-context>p:last-child{font-size:13px}.case-detail{padding-inline:25px}.case-detail summary{font-size:14px;min-height:76px;line-height:1.6}.detail-grid{grid-template-columns:1fr;gap:23px}.detail-grid p{font-size:15px}.quote-section{padding:36px 0}.quote-layout{grid-template-columns:1fr;gap:15px}.quote-layout>div:first-child{display:flex;gap:20px;align-items:center}.quote-mark{font-size:50px;line-height:1;margin:0;order:-1;height:30px}.quote-section blockquote{font-size:29px;letter-spacing:-.5px}.quote-source{font-size:13px}.quote-source small{font-size:12px}.experience-section{padding:52px 0}.experience-section .section-title{font-size:37px}.experience-row{grid-template-columns:1fr;gap:4px;padding:20px 0}.experience-role{text-align:left}.experience-date{font-size:14px}.experience-row h3{font-size:17px}.experience-desc{font-size:14px}.experience-more{gap:12px;margin-top:20px}.approach-preview{grid-template-columns:1fr;gap:23px;padding:52px 0 58px}.approach-preview .section-title{font-size:37px}.approach-preview>div:last-child{margin-left:38px}.approach-preview p{font-size:15px}.contact-inner{padding:40px 0 24px}.contact-section h2{font-size:40px;letter-spacing:-1px}.contact-section p{font-size:15px}.contact-section .contact-email-address{font-size:21px}.contact-secondary{gap:12px 22px}.site-footer{gap:9px;padding-block:20px}.footer-left{flex-wrap:wrap;gap:9px 22px}.footer-right{gap:22px}.reading{padding-top:22px;padding-bottom:36px}.breadcrumb{margin-bottom:24px;font-size:12px}.reading h1{font-size:43px;letter-spacing:-1.4px;line-height:1.1}.reading-intro .eyebrow{font-size:.875rem}.reading .lead{font-size:16px;line-height:1.8;margin-top:22px}.reading-intro{padding-bottom:26px;margin-bottom:28px}.case-summary{grid-template-columns:1fr;gap:17px;margin-top:25px;padding-top:20px}.case-summary dd{font-size:14px;max-width:none}.reading-aside{gap:0 18px}.reading-copy h2{font-size:29px}.reading-copy p{font-size:16px}.reading-copy>section{margin-bottom:33px}.editorial-map{padding:6px 20px 18px}.object-row{gap:16px}.object-row strong{font-size:22px}.component-index{grid-template-columns:1fr}.reading-disclosure{padding:22px}.reading-disclosure h2{font-size:25px}.reading-disclosure p{font-size:14px}.reading-bottom{gap:16px}.story-section{padding-top:32px;margin-top:35px}.story-context h2{font-size:38px}.approach-conclusion{font-size:15px}.dialog-head{padding:8px 17px}.dialog-head .eyebrow{font-size:.875rem;max-width:80%}.dialog-body .reading{padding:24px}.dialog-body .reading h2.reading-title,.standalone-preview .reading-title{font-size:38px;letter-spacing:-1.3px;line-height:1.1}.dialog-body .reading-grid{gap:25px}dialog{width:calc(100% - 20px);max-height:94dvh}.notfound h1{font-size:42px}.notfound{padding-block:50px 80px}section[id],article[id],h2[id]{scroll-margin-top:0}.profile-actions{gap:20px}.reading-copy .contact-block{padding:18px}.reading-copy .contact-email-address{font-size:18px}}
@media(max-width:390px){.hero-identity{display:block}.hero-identity span{display:block;border:0;padding:0;margin-top:3px}.hero-promise{font-size:42px}.hero-resources{display:block}.hero-resources .text-link{margin-top:7px}.case-facts>div{display:block}.case-facts dt{margin-bottom:4px}.section-title,.experience-section .section-title,.approach-preview .section-title{font-size:34px}.case-title{font-size:31px}.case-finance .case-title{font-size:29px}.case-copy{padding-inline:22px}.reading h1{font-size:37px}.dialog-body .reading{padding:21px}.dialog-body .reading h2.reading-title,.standalone-preview .reading-title{font-size:34px}.object-row strong{font-size:21px}.object-row{gap:10px}.editorial-map{padding-inline:16px}.contact-section h2{font-size:35px}.contact-section .contact-email-address{font-size:20px}.reading-aside a{font-size:13px}.contact-secondary .cv-link{font-size:12px}}
@media(max-height:550px){.site-header{position:static}.reading-aside{position:static}dialog{max-height:96dvh}.dialog-head{position:static}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media print{@page{margin:16mm}body{background:#fff;color:#000;font-size:11pt}.site-header,.site-footer,.skip,.hero-actions,.hero-resources,.contact-tools,.contact-secondary,.copy-status,.reading-aside,.breadcrumb,.reading-bottom,.profile-actions,.story-section,.preview-page,dialog{display:none!important}.wrap{width:auto;max-width:none}.reading-grid,.experience-layout,.hero-lower{display:block}.reading h1,.reading-title{font-size:28pt!important}.reading-copy p,.experience-desc{font-size:11pt}.experience-row,section{break-inside:avoid}.print-target,.print-target .preview-page{display:block!important;position:static;max-height:none;width:100%;border:0;box-shadow:none}.print-target .dialog-head{display:none!important}body.printing-dialog>main,body.printing-dialog>header,body.printing-dialog>footer{display:none!important}.print-target .reading{padding:0!important}.case-summary{display:block}.reading-intro{margin-bottom:22pt}.hero-promise{font-size:30pt}.hero{padding:0}}

/* V8 brand references: real emblems plus distinct, ordinary entity captions.
   Colour signatures are reserved for the mission content. No fabricated wordmarks. */
.references{grid-template-columns:245px minmax(0,1fr);gap:32px;padding:28px 0}
.reference-heading{font:600 1rem/1.45 var(--sans);color:var(--ink);margin:0 0 8px;max-width:220px}
.reference-subtitle{font:400 .875rem/1.5 var(--sans);color:var(--muted);max-width:230px}
.reference-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.reference-item{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:13px;min-height:115px;text-align:center;padding:8px 5px;border-radius:3px}
.reference-item:hover .reference-name,.reference-item:focus-visible .reference-name{text-decoration:underline;text-underline-offset:5px}
.reference-emblem{display:block;position:relative;flex:none;width:58px;height:54px}
.reference-emblem img{position:absolute;inset:0;margin:auto;width:100%;height:100%;object-fit:contain;transition:opacity .16s}
.reference-emblem .logo-color{opacity:0}.reference-emblem .logo-mono{opacity:1}
.reference-item:hover .logo-color,.reference-item:focus-visible .logo-color{opacity:1}
.reference-item:hover .logo-mono,.reference-item:focus-visible .logo-mono{opacity:0}
.reference-name{font:600 .9375rem/1.4 var(--sans);color:var(--ink)}
.reference-name small{display:block;font:400 .8125rem/1.45 var(--sans);margin-top:2px;color:var(--muted)}
.reference-emblem.is-malakoff{width:62px}
.reference-emblem.is-bnp{width:54px}
.company-signature{margin:0 0 25px;display:flex;align-items:center;gap:20px;min-height:50px}
.company-signature img{width:180px;height:auto;max-height:58px;object-fit:contain;object-position:left center}
.company-signature.bnp-signature img{width:275px;max-width:100%;height:auto}
.case-copy .case-title{margin-top:0}
.case-copy .case-description{line-height:1.7}
.case-context{font:500 .875rem/1.5 var(--sans);margin-top:17px;color:var(--muted)}
.case-deliverables{font-size:14px;line-height:1.65;margin:22px 0 8px;padding-top:19px;border-top:1px solid var(--line);color:var(--muted)}
.case-deliverables strong{display:block;color:var(--ink);font-size:14px;line-height:1.5;margin-bottom:4px}
.contribution-diagram{padding:36px;background:#e9ede3;justify-content:center}
.diagram-top{padding-bottom:19px;border-bottom:1px solid #bec9b3}
.diagram-top h4{font:600 .9375rem/1.5 var(--sans);margin:0;color:var(--ink)}
.diagram-line{display:flex;align-items:baseline;gap:18px;border-bottom:1px solid #bec9b3;padding:22px 0}
.diagram-number{font:13px/1.5 var(--mono);color:var(--muted);flex:none}
.diagram-text{flex:1;min-width:0}.diagram-text strong{display:block;font:400 clamp(24px,2.2vw,31px)/1.2 var(--serif);letter-spacing:-.45px}
.diagram-text span{display:block;font:400 .875rem/1.6 var(--sans);color:var(--muted);margin-top:7px}
.contribution-diagram figcaption{font-size:.8125rem;line-height:1.6;padding-top:22px}
.partner-logos{display:flex;align-items:center;gap:35px;margin:25px 0 22px}
.partner-logo{display:flex;align-items:center;gap:12px}.partner-logo img{width:44px;height:44px;object-fit:contain;flex:none}
.partner-logo.apple img{width:29px;height:37px}.partner-logo span{font:500 .9375rem/1.4 var(--sans);color:var(--ink)}
.partner-explanation{font:400 .875rem/1.6 var(--sans);color:var(--muted);max-width:300px}
.finance-context{padding:30px 32px}
.finance-context>p:last-child{font-size:.875rem}
.case-detail summary{font-size:1rem;line-height:1.5;min-height:72px}
.case-detail .detail-grid{grid-template-columns:1fr 1fr}
.case-detail .case-disclosure{font-size:.875rem;color:var(--muted);padding:0 0 28px;max-width:75ch}
.reading-brand{margin-bottom:24px}.reading-brand img{width:185px;height:auto;display:block}
.reading-copy .mini-label,.dialog-head .eyebrow{font-size:.875rem}
@media (hover:none){.reference-emblem .logo-color{opacity:1}.reference-emblem .logo-mono{opacity:0}}
@media(max-width:1024px){.references{grid-template-columns:210px 1fr;gap:18px}.reference-list{gap:10px}.partner-logos{gap:22px}.partner-logo{gap:9px}.contribution-diagram{padding:28px}}
@media(max-width:900px){.references{grid-template-columns:1fr;gap:22px}.reference-heading{max-width:none}.reference-subtitle{max-width:none}.reference-list{gap:24px}.finance-context{display:block}.case-detail .detail-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.reference-heading{font-size:1rem}.reference-list{gap:10px}.reference-item{padding:6px 2px;min-height:119px;gap:13px}.reference-name{font-size:.875rem}.reference-name small{font-size:.8125rem}.reference-emblem{height:44px;width:48px}.reference-emblem.is-bnp{width:44px}.reference-emblem.is-malakoff{width:51px}.case-copy{padding:28px 25px}.company-signature{margin-bottom:22px}.company-signature img{width:155px}.company-signature.bnp-signature img{width:255px}.contribution-diagram{padding:25px}.diagram-line{padding:18px 0}.diagram-text strong{font-size:27px}.case-deliverables{font-size:.875rem}.case-detail .detail-grid{grid-template-columns:1fr}.partner-logos{gap:32px}.finance-context{padding:25px}.hero-identity{font-size:.875rem;line-height:1.6}.eyebrow,.mini-label{font-size:.875rem}.reference-list .reference-name{line-height:1.45}.reference-item .reference-name small{font-size:.8125rem}.case-detail summary{font-size:.9375rem}}
@media(max-width:360px){.reference-list{grid-template-columns:1fr;gap:0}.reference-item{flex-direction:row;justify-content:flex-start;text-align:left;min-height:86px;padding:13px 4px;border-top:1px solid var(--line);gap:20px}.reference-name{font-size:.9375rem}.reference-name small{font-size:.875rem!important}.reference-emblem{height:44px;width:50px!important}.partner-logos{gap:25px}.partner-logo img{width:37px;height:37px}.partner-logo.apple img{width:26px;height:32px}.partner-logo span{font-size:14px}}
@media(prefers-reduced-motion:reduce){.reference-emblem img{transition:none}}
@media(forced-colors:active){.reference-emblem .logo-color{opacity:1}.reference-emblem .logo-mono{opacity:0}.reference-item{border:1px solid CanvasText}}

/* V8.1 - make keyboard focus visible against the blue contact background. */
.contact-section a:focus-visible,
.contact-section button:focus-visible {
  outline-color: #fff;
}

/* V9 - clarify scope without manufacturing a case study. */
.finance-scope{border-top:1px solid var(--line);padding:23px 0 0;margin-top:0;max-width:900px}
.finance-scope .eyebrow{font-size:14px;margin-bottom:8px}
.finance-scope>p:last-child{font:15px/1.8 var(--sans);color:var(--muted)}
.case-detail .detail-grid{padding-bottom:26px}

.case-detail .case-disclosure{margin-top:16px}

/* V11 - portrait éditorial dans le hero. Une seule apparition, comme repère d'identité. */
.hero{padding:54px 0 34px}
.hero-layout{display:grid;grid-template-columns:minmax(0,1fr) 318px;grid-template-areas:"heading portrait" "lower portrait";column-gap:56px;align-items:end}
.hero-heading{grid-area:heading;min-width:0}
.hero-lower{grid-area:lower;min-width:0;grid-template-columns:minmax(0,1.45fr) minmax(190px,.75fr);gap:42px;margin-top:28px}
.hero-promise{font-size:clamp(52px,5.55vw,82px)}
.hero-portrait{grid-area:portrait;position:relative;align-self:stretch;min-height:432px;margin:0;display:flex;align-items:flex-end;justify-content:center;overflow:hidden;isolation:isolate}
.hero-portrait-shape{position:absolute;z-index:0;width:278px;height:348px;right:3px;bottom:0;border-radius:160px 160px 18px 18px;background:var(--blue-light);border:1px solid #dbe2ff}
.hero-portrait-shape:after{content:"";position:absolute;right:18px;top:18px;width:44px;height:44px;border-top:1px solid var(--blue);border-right:1px solid var(--blue);opacity:.72}
.hero-portrait img{position:relative;z-index:1;display:block;width:310px;max-width:none;height:auto;filter:contrast(1.04);transform:translateY(8px);transform-origin:center bottom}

@media(max-width:1150px){
  .hero-layout{grid-template-columns:minmax(0,1fr) 270px;column-gap:36px}
  .hero-portrait{min-height:390px}
  .hero-portrait-shape{width:238px;height:310px}
  .hero-portrait img{width:270px}
  .hero-promise{font-size:clamp(50px,5.35vw,70px)}
  .hero-lower{gap:30px}
}
@media(max-width:900px){
  .hero-layout{grid-template-columns:minmax(0,1fr) 220px;column-gap:26px}
  .hero-portrait{min-height:330px}
  .hero-portrait-shape{width:196px;height:260px}
  .hero-portrait img{width:225px}
  .hero-lower{grid-template-columns:1fr;gap:18px}
  .hero-resources{border-left:0;padding-left:0;display:flex;gap:22px;align-items:center;justify-content:space-between;flex-wrap:wrap}
}
@media(max-width:760px){
  .hero{padding:34px 0 28px}
  .hero-layout{grid-template-columns:1fr;grid-template-areas:"heading" "portrait" "lower";gap:0}
  .hero-heading{position:relative;z-index:2}
  .hero-portrait{width:160px;min-height:0;height:auto;justify-self:end;align-self:start;margin-top:8px;margin-right:2px;overflow:visible}
  .hero-portrait-shape{width:142px;height:174px;right:0;border-radius:92px 92px 12px 12px}
  .hero-portrait-shape:after{right:11px;top:11px;width:28px;height:28px}
  .hero-portrait img{width:160px;height:auto;object-fit:contain;object-position:center;transform:none}
  .hero-lower{margin-top:10px;display:block}
  .hero-resources{margin-top:15px}
}
@media(max-width:390px){
  .hero-portrait{width:150px;height:auto;margin-top:6px}
  .hero-portrait-shape{width:132px;height:162px}
  .hero-portrait img{width:150px;height:auto;transform:none}
}
@media(prefers-reduced-motion:reduce){.hero-portrait img{transform:none}}
@media print{.hero-portrait{display:none!important}.hero-layout{display:block}}
@media(max-width:360px){
  .hero-promise{font-size:40px}
  .hero-portrait{width:132px;height:auto;margin-top:4px}
  .hero-portrait-shape{width:116px;height:146px;border-radius:72px 72px 10px 10px}
  .hero-portrait img{width:132px;height:auto;transform:none}
}

/* V12 - orientation, compact career overview, explicit BNP Personal Finance brand. */
body.standalone-preview > .preview-page{display:none}
.desktop-nav a[data-nav-section][aria-current="location"]{position:relative;color:var(--blue)}
.desktop-nav a[data-nav-section][aria-current="location"]:after{content:"";position:absolute;left:0;right:0;bottom:3px;height:2px;background:var(--blue);border-radius:2px}
.mobile-menu-button .menu-current{display:none}
.hero-resource-links{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.hero-resource-links .text-link{font-size:13px}
.reference-wordmark{display:block;position:relative;flex:none;width:168px;height:42px}
.reference-wordmark img{position:absolute;inset:0;margin:auto;width:100%;height:100%;object-fit:contain;transition:opacity .16s}
.reference-wordmark .logo-color{opacity:0}.reference-wordmark .logo-mono{opacity:1}
.reference-item-wordmark{justify-content:center}
.experience-list-compact .experience-row{padding:15px 0}
.experience-list-compact .experience-row h3{font-size:17px}
.experience-list-compact .experience-date{margin-bottom:2px}
.experience-list-compact .experience-role{font-size:13px}
.diagram-top h4{max-width:320px}
@media(hover:none){.reference-wordmark .logo-color{opacity:1}.reference-wordmark .logo-mono{opacity:0}}
@media(max-width:760px){
  .mobile-menu-button{gap:7px!important;min-width:0!important;padding-inline:12px!important}
  .mobile-menu-button .menu-current{display:inline;color:var(--muted);font-size:12px;font-weight:400;max-width:92px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mobile-menu-button .menu-current:before{content:"·";margin-right:7px;color:var(--line)}
  .reference-wordmark{width:150px;height:38px}
  .experience-section{padding:48px 0}
  .experience-list-compact .experience-row{padding:14px 0}
}
@media(max-width:360px){
  .reference-item-wordmark{min-height:86px;justify-content:flex-start}
  .reference-wordmark{width:152px;height:38px}
  .mobile-menu-button .menu-current{max-width:72px}
}
@media(prefers-reduced-motion:reduce){.reference-wordmark img{transition:none}}
@media(forced-colors:active){.reference-wordmark .logo-color{opacity:1}.reference-wordmark .logo-mono{opacity:0}}

/* V13 - one-page navigation, purposeful motion and stronger section orientation. */
.site-header{isolation:isolate}
.scroll-progress{position:absolute;left:0;right:0;bottom:0;height:2px;overflow:hidden;pointer-events:none;background:transparent}
.scroll-progress i{display:block;width:100%;height:100%;background:var(--blue);transform:scaleX(0);transform-origin:left center;will-change:transform}
.desktop-nav{gap:8px}
.desktop-nav a{padding:0 13px;border-radius:999px;transition:background .16s ease,color .16s ease,border-color .16s ease}
.desktop-nav a:hover,.desktop-nav a:focus-visible{background:#edf0e7;color:var(--ink)}
.desktop-nav a[data-nav-section][aria-current="location"]{background:var(--blue-light);color:var(--blue)}
.desktop-nav a[data-nav-section][aria-current="location"]:after{display:none}
.desktop-nav .nav-contact{margin-left:6px;padding-inline:15px;background:transparent}
.desktop-nav .nav-contact[aria-current="location"]{border-color:var(--blue);background:var(--blue);color:#fff}

.approach-home{padding:82px 0 88px;border-bottom:1px solid var(--line)}
.approach-home-head{display:grid;grid-template-columns:1fr 1.05fr;gap:70px;align-items:end;margin-bottom:42px}
.approach-home-head>p{font-size:16px;line-height:1.8;color:var(--muted);max-width:620px}
.approach-home .section-title{font-size:44px}
.approach-home-story{max-width:940px;margin-inline:auto;padding:34px;border:1px solid var(--line);border-radius:8px;background:#fffefa;box-shadow:0 24px 70px -54px #16245f66}
.approach-home-story .pd-story{max-width:760px;margin-inline:auto}
.approach-home-foot{display:flex;justify-content:space-between;align-items:center;gap:26px;max-width:940px;margin:20px auto 0;color:var(--muted)}
.approach-home-foot p{font-size:13px;line-height:1.6}
.approach-home-foot .text-link{font-size:13px;flex:none}

/* First-view motion is brief and runs once per browser session. */
html.js:not(.intro-done) [data-intro]{opacity:0;transform:translateY(18px)}
html.js:not(.intro-done) .hero-portrait[data-intro]{transform:translateY(20px) scale(.985)}
html.js [data-intro]{transition:opacity .62s cubic-bezier(.16,1,.3,1),transform .62s cubic-bezier(.16,1,.3,1)}
html.js.intro-done [data-intro]{opacity:1;transform:none}
html.js.intro-done [data-intro="2"]{transition-delay:.08s}
html.js.intro-done [data-intro="3"]{transition-delay:.16s}
html.js.intro-skip [data-intro]{transition:none!important}
.hero-line{display:inline-block}

/* Scroll reveals only enhance; without JS every section is visible. */
html.js .reveal-ready{opacity:0;transform:translateY(26px)}
html.js .reveal-ready.is-inview{opacity:1;transform:none;transition:opacity .58s cubic-bezier(.16,1,.3,1),transform .58s cubic-bezier(.16,1,.3,1)}
html.js .case-finance.reveal-ready.is-inview{transition-delay:.04s}

/* Native anchors must land below the sticky header. */
.anchor-alias,section[id],article[id],h2[id]{scroll-margin-top:104px}

@media(max-width:900px){
  .approach-home-head{grid-template-columns:1fr;gap:22px}
  .approach-home-story{padding:26px}
}
@media(max-width:760px){
  html{scroll-padding-top:84px}
  .anchor-alias,section[id],article[id],h2[id]{scroll-margin-top:84px}
  .header-inner{height:72px}
  .site-header{overflow:visible}
  .mobile-menu-button{border-radius:999px!important;background:#fffefa!important;box-shadow:0 6px 24px -18px #182b7560}
  .mobile-menu-button[aria-expanded="true"]{border-color:#b9c4ef;background:var(--blue-light)!important;color:var(--blue)}
  .mobile-nav{position:absolute;left:0;right:0;top:72px;z-index:49;display:block!important;padding:0!important;border:0!important;background:var(--paper);box-shadow:0 22px 50px -28px #10201580;transform-origin:top center;opacity:0;transform:translateY(-8px) scale(.985)}
  .mobile-nav[hidden]{display:none!important}
  .mobile-nav.is-open{animation:gn-menu-in .2s cubic-bezier(.16,1,.3,1) forwards}
  .mobile-nav-inner{padding-block:12px 18px;display:grid;gap:4px}
  .mobile-nav a{display:grid!important;grid-template-columns:34px minmax(0,1fr) 20px;gap:10px;align-items:center;min-height:58px;padding:8px 12px!important;border-radius:6px;font-size:16px!important;color:var(--ink)}
  .mobile-nav a:hover,.mobile-nav a:focus-visible{background:#edf0e7}
  .mobile-nav a[aria-current="location"]{background:var(--blue-light);color:var(--blue);font-weight:600}
  .mobile-nav .nav-index{font:12px/1.4 var(--mono);color:var(--muted)}
  .mobile-nav a[aria-current="location"] .nav-index{color:var(--blue)}
  .mobile-nav .icon{justify-self:end;width:15px;height:15px}
  .approach-home{padding:54px 0 60px}
  .approach-home .section-title{font-size:37px}
  .approach-home-head{margin-bottom:26px}
  .approach-home-head>p{font-size:15px}
  .approach-home-story{padding:18px 14px;border-radius:6px;margin-inline:-4px}
  .approach-home-foot{display:block;margin-top:16px}
  .approach-home-foot .text-link{margin-top:8px}
}
@media(max-width:390px){
  .approach-home .section-title{font-size:34px}
  .approach-home-story{padding-inline:10px}
}
@keyframes gn-menu-in{to{opacity:1;transform:none}}

@media(prefers-reduced-motion:reduce){
  html.js [data-intro],html.js .reveal-ready,html.js .reveal-ready.is-inview{opacity:1!important;transform:none!important;transition:none!important}
  .mobile-nav.is-open{animation:none;opacity:1;transform:none}
}
@media print{html.js .reveal-ready{opacity:1!important;transform:none!important}}

/* V13 micro-interactions: small feedback, never required for understanding. */
.button{transition:background .16s ease,transform .12s ease}
.button:active{transform:scale(.98)}
.case-malakoff,.case-finance{transition:transform .22s cubic-bezier(.16,1,.3,1),box-shadow .22s cubic-bezier(.16,1,.3,1),border-color .22s ease}
@media(hover:hover){
  .case-malakoff:has(.case-link:hover),.case-finance:has(summary:hover){transform:translateY(-2px);box-shadow:0 18px 48px -38px #182b7566;border-color:#c5cce7}
  .case-link .icon,.nav-contact .icon{transition:transform .18s cubic-bezier(.16,1,.3,1)}
  .case-link:hover .icon,.nav-contact:hover .icon{transform:translateX(3px)}
}
@media(prefers-reduced-motion:reduce){.button,.case-malakoff,.case-finance,.case-link .icon,.nav-contact .icon{transition:none!important;transform:none!important}}

/* V14 - final editorial system: pure white canvas, one clear hierarchy, fewer visual layers. */
:root{
  --paper:#ffffff;
  --white:#ffffff;
  --ink:#171a17;
  --muted:#5d625b;
  --line:#e4e7e1;
  --blue:#234ce8;
  --blue-light:#f1f4ff;
  --green:#35604a;
  --serif:"Iowan Old Style","Baskerville","Times New Roman",Georgia,serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --max:1200px;
}
body{background:#fff;color:var(--ink);font-family:var(--sans)}
.site-header{background:rgba(255,255,255,.92);border-bottom:0;box-shadow:0 1px 0 rgba(23,26,23,.06)}
.header-inner{border-bottom:0}
.scroll-progress{background:transparent}
.desktop-nav a:hover,.desktop-nav a:focus-visible{background:#f5f6f4}
.mobile-menu-button{background:#fff!important}
.mobile-nav{background:#fff!important}
.mobile-nav a:hover,.mobile-nav a:focus-visible{background:#f5f6f4}

.hero{padding-top:64px;padding-bottom:44px}
.hero-layout{grid-template-columns:minmax(0,1fr) 330px;column-gap:64px}
.hero-promise{font-size:clamp(48px,5.25vw,78px);line-height:1.015;letter-spacing:-3.2px;max-width:900px}
.hero-promise em{color:var(--blue)}
.hero-description{font-size:17px;line-height:1.75;max-width:680px;color:#4f554e}
.hero-scope{font-size:13px;color:#6a6f68}
.hero-portrait-shape{background:var(--blue-light);border-color:#dce3ff;border-radius:180px 180px 24px 24px}
.hero-portrait-shape:after{opacity:.52}
.hero-portrait img{filter:grayscale(1) contrast(1.03)}
.hero-resources{border-left-color:#dfe3dc}

.references{padding:31px 0;border-color:var(--line);grid-template-columns:260px 1fr}
.reference-heading{font:400 20px/1.25 var(--serif);letter-spacing:-.3px}
.reference-subtitle{max-width:240px;margin-top:7px;font-size:13px;line-height:1.55;color:var(--muted)}
.reference-item{border-radius:10px;padding:8px 12px}
.reference-item:hover,.reference-item:focus-visible{background:#f8f9f7}

.work-section{padding:94px 0 82px}
.section-title{font-size:clamp(42px,4.35vw,58px);line-height:1.06;letter-spacing:-1.8px}
.section-intro{max-width:760px;font-size:17px;line-height:1.75;margin-top:24px;margin-bottom:44px}
.section-num{font-family:var(--sans);font-weight:650;font-size:13px}
.section-num:after{background:#b9c3f3}

.case-malakoff,.case-finance{border-radius:16px;border-color:#dfe3dd;background:#fff;box-shadow:0 22px 60px -52px rgba(25,37,76,.36);overflow:hidden}
.case-copy{padding:42px 42px 40px}
.case-kicker{font-size:13px;line-height:1.5;color:var(--muted);margin-top:18px}
.case-title{font-size:40px;line-height:1.12;letter-spacing:-1.1px;margin:10px 0 18px}
.case-description{font-size:16px;line-height:1.75;color:#515750}
.contribution-diagram{background:#f6f8ff;border-left-color:#dde3fb;padding:36px 40px}
.diagram-top{padding-bottom:18px}
.diagram-top h4{font-size:15px;font-weight:700;color:#29325d}
.diagram-line{border-bottom-color:#dce2f5;padding:18px 0}
.diagram-word,.diagram-text strong{color:#182047}
.contribution-diagram figcaption{color:#69708b}
.case-finance{margin-top:30px;background:#fff}
.finance-context{border-left-color:#e0e3df;background:#fafbfa;padding:32px 38px}
.case-detail{border-top-color:#e0e3df}
.case-detail summary{font-weight:650}
.detail-grid-three{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.detail-grid-three>div{padding-right:12px}
.case-disclosure{padding-bottom:30px!important;font-size:13px!important;color:#747a73!important}

.quote-section{background:#fff;border-block:1px solid var(--line);padding:66px 0}
.quote-mark{color:#8a99e8}
.quote-section blockquote{font-size:36px;line-height:1.3}
.quote-section blockquote em{color:var(--blue);text-decoration-color:#ccd4ff}

.experience-section{padding:92px 0;border-bottom:1px solid var(--line)}
.experience-layout{grid-template-columns:.9fr 1.25fr;gap:86px}
.experience-intro{margin:24px 0 0 66px;max-width:430px;font-size:15px;line-height:1.75;color:var(--muted)}
.experience-row{padding:24px 0}
.experience-row h3{font-size:18px;font-weight:650}
.experience-role{color:#4a5ecc}
.experience-more{justify-content:flex-start;gap:28px}

.approach-home{padding:94px 0 96px;border-bottom:1px solid var(--line)}
.approach-home-head{grid-template-columns:.95fr 1.05fr;gap:86px;align-items:end;margin-bottom:38px}
.approach-home-head>div:last-child>p:first-child{font-size:17px;line-height:1.75;color:#50564f;max-width:650px}
.approach-disclosure{font-size:13px!important;line-height:1.65!important;color:#7a7f78!important;margin-top:14px}
.approach-home-story{max-width:980px;padding:34px 38px;border-radius:18px;border-color:#dfe3ee;background:#fbfcff;box-shadow:0 28px 78px -62px rgba(35,76,232,.42)}

.contact-section{background:var(--blue)}
.contact-inner{padding-top:72px;padding-bottom:54px}
.contact-section h2{font-size:54px}
.contact-section p{color:#eff2ff}
.site-footer{background:#fff}

.reading{padding-top:46px;padding-bottom:72px}
.reading-intro{padding-bottom:42px;margin-bottom:52px}
.reading h1{max-width:1050px}
.case-summary{grid-template-columns:1.25fr .8fr 1fr;gap:36px}
.reading-copy>section{margin-bottom:54px}
.reading-copy h2{font-size:34px;letter-spacing:-.75px}
.reading-copy p{color:#535951}
.editorial-map{background:#f7f9ff;border-color:#dfe4f7;border-radius:14px;padding:12px 28px 22px}
.object-row{border-bottom-color:#dfe4f0}
.reading-copy .intention{background:#f7f9ff;border-left:3px solid var(--blue);padding:17px 20px;border-radius:0 9px 9px 0}
.team-note{margin-top:28px;padding:22px 24px;border-radius:12px;background:#f7f9ff;border:1px solid #e1e5f6}
.team-note p{margin:0}
.team-note .mini-label{margin-bottom:8px}
.reading-disclosure{background:#f7f7f5;border-left-color:#c7cbc4;border-radius:0 10px 10px 0}

@media(max-width:1050px){
  .hero-layout{grid-template-columns:minmax(0,1fr) 270px;column-gap:40px}
  .hero-promise{font-size:clamp(48px,5.5vw,68px)}
  .detail-grid-three{grid-template-columns:1fr 1fr}.detail-grid-three>div:last-child{grid-column:1/-1;max-width:600px}
  .experience-layout,.approach-home-head{gap:48px}
}
@media(max-width:900px){
  .references{grid-template-columns:1fr;gap:22px}.reference-subtitle{max-width:none}
  .experience-layout{grid-template-columns:1fr;gap:34px}.experience-intro{margin-left:0;max-width:650px}
  .approach-home-head{grid-template-columns:1fr;gap:24px}
}
@media(max-width:760px){
  .hero{padding-top:38px}
  .hero-promise{font-size:clamp(40px,11vw,54px);letter-spacing:-1.9px}
  .hero-description{font-size:16px}
  .hero-portrait{width:154px;margin-top:10px}
  .hero-portrait-shape{width:136px;height:168px}
  .hero-portrait img{width:154px}
  .references{padding:26px 0}
  .work-section,.experience-section,.approach-home{padding:62px 0}
  .section-title{font-size:38px}
  .section-intro{margin-left:38px;font-size:15px;margin-bottom:30px}
  .case-copy{padding:30px 26px}
  .case-title{font-size:33px}
  .contribution-diagram{padding:26px;background:#f7f9ff}
  .detail-grid-three{grid-template-columns:1fr;gap:24px}.detail-grid-three>div:last-child{grid-column:auto}
  .quote-section{padding:44px 0}.quote-section blockquote{font-size:29px}
  .experience-intro{margin-top:17px}
  .approach-home-story{padding:20px 14px;border-radius:14px;margin-inline:-4px}
  .contact-inner{padding-top:48px;padding-bottom:32px}.contact-section h2{font-size:40px}
  .reading{padding-top:26px}.reading h1{font-size:42px}.reading-grid{gap:26px}
}
@media(max-width:390px){
  .hero-promise{font-size:39px}
  .section-title{font-size:34px}
  .case-title{font-size:31px}
  .hero-portrait{width:142px}.hero-portrait-shape{width:126px;height:156px}.hero-portrait img{width:142px}
}
@media(prefers-reduced-motion:reduce){
  .reference-item,.case-malakoff,.case-finance,.approach-home-story{transition:none!important;transform:none!important}
}

/* V14.1 - anchor and mobile hero corrections after geometry testing. */
html{scroll-padding-top:92px}
.anchor-alias,section[id],article[id],h2[id]{scroll-margin-top:0}
@media(max-width:760px){
  html{scroll-padding-top:76px}
  .anchor-alias,section[id],article[id],h2[id]{scroll-margin-top:0}
  .hero-layout{grid-template-columns:1fr;grid-template-areas:"heading" "portrait" "lower";column-gap:0}
  .hero-heading{grid-area:heading}
  .hero-portrait{grid-area:portrait;width:146px;min-height:0;height:auto;justify-self:end;align-self:start;margin-top:6px;margin-right:2px;overflow:visible}
  .hero-portrait-shape{width:130px;height:160px;right:0;border-radius:90px 90px 14px 14px}
  .hero-portrait img{width:146px;height:auto;max-width:none;transform:none}
  .hero-lower{grid-area:lower;display:block;margin-top:8px}
  .hero-resources{margin-top:14px;border-left:0;padding-left:0}
}
@media(max-width:390px){
  .hero-portrait{width:136px}.hero-portrait-shape{width:122px;height:151px}.hero-portrait img{width:136px}
}

/* V9 - V6 narrative preserved. A single layout replaces the accumulated
   absolute-position patches. Hidden scenes reserve the largest content area,
   so text can grow without clipping or covering an annotation. */
.pd-story{container-type:inline-size;min-width:0;width:100%;max-width:620px;margin:0 auto;position:relative;--speed:6000ms}
.pd-story *{box-sizing:border-box}
.pd-heading{display:flex;justify-content:space-between;align-items:baseline;gap:14px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:14px}
.pd-heading h2{font:400 26px/1.2 var(--serif);letter-spacing:-.5px}
.pd-heading .eyebrow{font:400 .875rem/1.6 var(--sans);letter-spacing:0;text-transform:none;color:var(--muted)}
.pd-playbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 16px;padding:14px 0}
.pd-playbar button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid #bbc3d9;border-radius:4px;min-height:48px;padding:11px 15px;background:#fffefa;color:var(--blue);font:600 .875rem/1.5 var(--sans);cursor:pointer}
.pd-playbar button:hover{background:var(--blue-light);border-color:var(--blue)}
.pd-playbar .icon{width:14px;height:14px}
.pd-playbar .playback-hint{font:.875rem/1.6 var(--sans);color:var(--muted);max-width:220px}
.pd-canvas{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr);row-gap:20px;padding:30px 22px 20px;margin:0 0 16px;overflow:visible}
.pd-canvas:before{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(#b9c1b3 .6px,transparent .9px);background-size:18px 18px;mask-image:radial-gradient(ellipse,black,transparent 75%);opacity:.5;pointer-events:none}
.pd-orbit{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1;overflow:visible}
.pd-thread{fill:none;stroke:#d2d9ca;stroke-width:1.1;vector-effect:non-scaling-stroke}
.pd-thread-current{fill:none;stroke:var(--blue);stroke-width:1.15;stroke-dasharray:14 600;opacity:.58;animation:thread-travel 18s linear infinite;animation-play-state:paused;vector-effect:non-scaling-stroke}
.pd-story.is-playing .pd-thread-current{animation-play-state:running}
.pd-node circle{fill:var(--paper);stroke:#bec9b3;stroke-width:1;transition:fill .25s,stroke .25s}
.pd-node use{fill:var(--muted)}
.pd-node.is-current circle{fill:var(--blue);stroke:var(--blue)}
.pd-node.is-current use{fill:white}
.pd-return{fill:none;stroke:var(--blue);stroke-width:1.4;stroke-dasharray:3 4;opacity:0;transition:opacity .25s;vector-effect:non-scaling-stroke}
.pd-canvas[data-phase="3"] .pd-return-test,.pd-canvas[data-phase="5"] .pd-return-learn{opacity:.7}
.pd-paper{grid-area:1/1;justify-self:center;display:grid;min-width:0;width:min(100%,360px);background:#fffefa;border:1px solid #c7cec0;border-radius:7px;box-shadow:0 10px 0 -5px #ecf0e3,0 10px 0 -4px #d0d8c5,0 22px 40px -19px #2b35202b;transform:rotate(-1deg);transition:transform .45s,background .35s,border-color .35s}
.pd-canvas[data-phase="1"] .pd-paper{transform:rotate(0deg);background:#f9faf3}
.pd-canvas[data-phase="2"] .pd-paper{transform:rotate(1deg)}
.pd-canvas[data-phase="3"] .pd-paper{transform:rotate(0deg);border-color:#bfc8eb}
.pd-canvas[data-phase="4"] .pd-paper{transform:rotate(-1deg);border-color:#bec9b3}
.pd-canvas[data-phase="5"] .pd-paper{transform:rotate(0deg);background:#f7f9f0}
.pd-scene{grid-area:1/1;min-width:0;padding:22px;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .25s,transform .35s;pointer-events:none}
.pd-scene.is-current{opacity:1;visibility:visible;transform:translateY(0)}
.pd-mini-label{display:flex;align-items:center;justify-content:space-between;gap:12px;font:600 .8125rem/1.55 var(--sans);letter-spacing:0;color:#565e52;text-transform:none;margin-bottom:18px}
.pd-symbol{color:var(--blue);flex:none}
.pd-symbol .icon{width:17px;height:17px}
.pd-quote{font:400 28px/1.2 var(--serif);letter-spacing:-.5px}
.pd-observe{display:flex;align-items:center;gap:9px;font:.8125rem/1.55 var(--sans);color:var(--muted);border-top:1px solid #d8dbd1;padding-top:13px;margin-top:18px}
.pd-person{height:26px;width:26px;border-radius:50%;border:1px solid #c9d2be;display:grid;place-items:center;flex:none}
.pd-person .icon{width:14px;height:14px}
.pd-mini-title{font:400 25px/1.25 var(--serif);letter-spacing:-.4px}
.pd-constraints{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px}
.pd-constraints span{flex:1 1 auto;border:1px solid #d1d8c6;border-radius:3px;padding:7px 5px;font:.8125rem/1.5 var(--sans);text-align:center;color:var(--muted)}
.pd-hypothesis{font:.8125rem/1.6 var(--sans);color:var(--muted);margin-top:15px}
.pd-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:19px;align-items:stretch}
.pd-option{min-width:0;border:1px solid #cbd3c0;border-radius:4px;position:relative;padding:10px 7px;background:#f9faf4}
.pd-option:before{content:"";display:block;height:6px;width:60%;background:#d1d8c6;border-radius:2px;margin-bottom:9px}
.pd-option i{display:block;width:100%;height:4px;background:#dce1d3;border-radius:2px;margin:5px 0}
.pd-option i:last-of-type{height:18px;margin:10px 0 12px;border:1px solid #cbd3c0;background:transparent}
.pd-option.chosen{border-color:var(--blue);background:#f5f6ff}
.pd-option.chosen i:last-of-type{background:var(--blue);border-color:var(--blue)}
.pd-option small{display:block;font:.8125rem/1.5 var(--sans);color:var(--muted);text-align:center;overflow-wrap:anywhere}
.pd-option.chosen small{color:#2041bf}
.option-status{display:block;font-weight:600}
.pd-select-mark{position:absolute;right:-6px;top:-6px;display:grid;place-items:center;background:var(--blue);color:#fff;width:22px;height:22px;border-radius:50%}
.pd-select-mark .icon{width:11px;height:11px}
.pd-ui-head{font:400 26px/1.2 var(--serif);letter-spacing:-.4px;margin:3px 0 14px}
.pd-draft{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:5px 12px;font:.8125rem/1.5 var(--sans);padding:11px;border:1px solid #d5dccb;border-radius:4px;background:#f8faf2}
.pd-draft span:last-child{color:#46583b}
.pd-ui-button{min-height:44px;display:grid;place-items:center;text-align:center;padding:9px;background:var(--blue);color:#fff;border-radius:3px;font:.875rem/1.5 var(--sans);margin-top:12px}
.pd-ui-hint{color:var(--muted);font:.8125rem/1.6 var(--sans);margin-top:10px}
.pd-canvas[data-phase="3"] .pd-ui-hint{visibility:hidden}
.pd-canvas.is-revised[data-phase="3"] .pd-ui-hint{visibility:visible}
/* The three annotations share a row; their height is reserved without being
   read by assistive technologies (the visual canvas has a text alternative). */
.pd-feedback,.pd-delivery-note,.pd-loop-note{grid-area:2/1;justify-self:center;align-self:start;width:min(100%,360px);min-width:0;visibility:hidden;opacity:0;border:1px solid #c7d0e9;border-radius:5px;padding:13px 15px;font:.8125rem/1.6 var(--sans);color:#2742a4;background:#edf0ff;transition:opacity .25s;transform:none}
.pd-canvas[data-phase="3"] .pd-feedback,.pd-canvas[data-phase="4"] .pd-delivery-note,.pd-canvas[data-phase="5"] .pd-loop-note{visibility:visible;opacity:1}
.pd-canvas.is-revised .pd-feedback{background:#eef3e7;border-color:#c7d5b9;color:#3e532f}
.pd-delivery-note{background:#fffefa;border-color:#c7cec0;color:var(--muted)}
.pd-delivery-note strong{display:block;color:var(--ink);font-weight:600;margin-bottom:7px}
.pd-delivery-note>div{display:inline-flex;gap:6px;align-items:center;margin-right:12px}
.pd-delivery-note .icon{width:13px;height:13px;color:#405436}
.pd-loop-note{display:flex;gap:10px;align-items:center;background:#fffefa;border-color:#c7cec0;color:var(--blue)}
.pd-loop-note .icon{width:17px;height:17px;flex:none}
.pd-signals{display:flex;gap:6px;flex-wrap:wrap;margin:18px 0}
.pd-signals span{font:.8125rem/1.5 var(--sans);padding:7px 9px;border:1px solid #ced8bf;border-radius:3px;background:#fcfdf8;color:var(--muted)}
.pd-next-question{padding-top:12px;border-top:1px solid #dce3d1;color:#465b3b;font:.875rem/1.6 var(--sans)}
.pd-caption{min-height:142px;padding:4px 0 16px}
.pd-caption-title{font:600 1rem/1.5 var(--sans);display:flex;justify-content:space-between;align-items:start;gap:16px;margin-bottom:8px}
.pd-counter{font:.875rem/1.6 var(--sans);font-variant-numeric:tabular-nums;font-weight:500;color:var(--blue);white-space:nowrap}
.pd-caption-copy{font:.9375rem/1.7 var(--sans);color:var(--muted)}
.pd-steps{display:flex;flex-wrap:wrap;gap:8px;border-top:1px solid var(--line);padding-top:12px}
.pd-step{position:relative;flex:1 1 calc(33.333% - 8px);display:flex;align-items:center;justify-content:center;gap:8px;min-width:min(100%,6.5rem);min-height:48px;padding:10px 5px;border:1px solid var(--line);border-radius:4px;background:transparent;font:.875rem/1.5 var(--sans);color:var(--muted);cursor:pointer}
.pd-step[aria-pressed=true]{background:#edf0ff;color:#2041bf;border-color:#274fe5}
.pd-step:hover{background:#edf0e5;color:var(--ink)}
.pd-step[aria-pressed=true]:hover{background:#e4e9ff;color:#2041bf}
.pd-step .icon{width:15px;height:15px;flex:none}
.pd-progress{height:2px;background:#d8dfcd;overflow:hidden;margin-top:12px}
.pd-progress i{display:block;height:100%;width:100%;transform:scaleX(var(--progress,0));transform-origin:left;background:var(--blue)}
.pd-controls{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;padding:10px 0 14px}
.pd-controls button{background:transparent;color:var(--blue);min-height:48px;padding:8px 0;display:inline-flex;align-items:center;justify-content:flex-start;gap:10px;font:.875rem/1.6 var(--sans);justify-self:start;border-radius:3px}
.pd-controls button:hover{background:var(--blue-light)}
.pd-controls #pd-adjust[hidden]{display:inline-flex!important;visibility:hidden;pointer-events:none}
.pd-team{font:.8125rem/1.6 var(--sans);color:var(--muted);min-height:42px}
.pd-story figcaption{font:.875rem/1.7 var(--sans);color:var(--muted);border-top:1px solid var(--line);padding-top:14px}
.story-transcript{border-top:1px solid var(--line);margin-top:16px;font:.9375rem/1.75 var(--sans)}
.story-transcript summary{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:18px;font:.9375rem/1.6 var(--sans);color:var(--blue);cursor:pointer;list-style:none;padding:12px 0}
.story-transcript summary::-webkit-details-marker{display:none}
.story-transcript[open] summary .icon{transform:rotate(180deg)}
.story-transcript ol{padding-left:24px;margin:10px 0;color:var(--muted);font:.9375rem/1.8 var(--sans)}
.story-transcript li{padding-left:2px;margin-bottom:12px}
.story-transcript strong{color:var(--ink)}
@keyframes thread-travel{to{stroke-dashoffset:-1228}}
@container(max-width:440px){.pd-heading{display:block}.pd-heading .eyebrow{display:block;margin-top:6px}.pd-canvas{padding:15px 5px}.pd-orbit{display:none}.pd-paper{transform:none!important}.pd-scene{padding:18px}.pd-step{flex-direction:column;gap:5px}.pd-caption{min-height:164px}}
@container(max-width:300px){.pd-canvas{padding-inline:0}.pd-scene{padding:16px}.pd-playbar .playback-hint{max-width:none}.pd-caption-title{flex-wrap:wrap;gap:5px}.pd-caption{min-height:200px}.pd-step{flex-direction:row;gap:6px}.pd-options{gap:6px}.pd-option{padding:8px 4px}.pd-option small{font-size:.8125rem}.pd-quote{font-size:25px}}
@media(prefers-reduced-motion:reduce){.pd-story *, .pd-story *:before{animation:none!important;transition:none!important;scroll-behavior:auto!important}.pd-thread-current{display:none}.pd-paper,.pd-scene{transform:none!important}}
@media(forced-colors:active){.pd-step[aria-pressed=true]{border:2px solid Highlight}.pd-ui-button{border:1px solid ButtonText}.pd-paper,.pd-feedback,.pd-delivery-note,.pd-loop-note{border-color:CanvasText}}
html:not(.js) .pd-playbar,html:not(.js) .pd-steps,html:not(.js) .pd-controls,html:not(.js) .pd-progress{display:none}
html:not(.js) .story-transcript:not([open])>ol{display:block}
html:not(.js) .pd-caption{display:none}
@media print{.pd-story,.story-transcript{display:none!important}}

/* V12 - on touch devices the story can also be swiped, with an explicit visible cue. */
.pd-swipe-hint{display:none;align-items:center;justify-content:center;gap:9px;margin:-2px 0 6px;color:var(--muted);font:600 .8125rem/1.4 var(--sans)}
.pd-swipe-hint .icon{width:14px;height:14px;color:var(--blue)}
@media(max-width:820px),(pointer:coarse){
  .js .pd-swipe-hint{display:flex}
  .js .pd-story:not(.has-used-swipe) .pd-swipe-hint{animation:pd-swipe-cue 1.8s ease-in-out 2}
  .pd-canvas{touch-action:pan-y}
}
.pd-story.has-used-swipe .pd-swipe-hint{opacity:.58}
@keyframes pd-swipe-cue{0%,100%{transform:translateX(0)}30%{transform:translateX(-5px)}65%{transform:translateX(5px)}}
@media(prefers-reduced-motion:reduce){.pd-swipe-hint{animation:none!important}}
/* V12.1 - the content sheet itself gives a one-time visual hint that touch users can swipe it. */
@media(max-width:820px),(pointer:coarse){
  .js .pd-story:not(.has-used-swipe):not(.is-playing) .pd-paper{animation:pd-card-swipe-peek 1.15s ease-in-out 1.05s 1 both}
}
@keyframes pd-card-swipe-peek{0%,100%{translate:0 0}28%{translate:-8px 0}62%{translate:8px 0}}
@media(prefers-reduced-motion:reduce){.pd-paper{animation:none!important;translate:0 0!important}}

/* V13 - the Product Design story behaves like a tangible card deck on touch screens. */
.pd-paper{will-change:translate,opacity}
@media(max-width:820px),(pointer:coarse){
  .pd-canvas{cursor:grab}
  .pd-story:not(.has-used-swipe) .pd-paper{box-shadow:7px 7px 0 -2px #e1e6da,14px 14px 0 -4px #edf0e8,0 15px 35px -25px #24371f66}
  .pd-story.is-dragging .pd-paper{cursor:grabbing;transition:none!important;box-shadow:10px 10px 0 -3px #dbe2d2,18px 18px 0 -6px #eef1e8,0 18px 42px -28px #24371f80}
  .pd-swipe-hint{padding:7px 10px;border-radius:999px;background:#f0f3ea;width:max-content;max-width:100%;margin:0 auto 8px}
  .pd-story.has-used-swipe .pd-swipe-hint{opacity:.7}
}
@media(prefers-reduced-motion:reduce){.pd-paper{will-change:auto;box-shadow:none!important}}

/* V14 - story deck aligned with the pure-white portfolio system. */
.pd-playbar button{background:#fff;border-color:#cbd2ec;border-radius:999px}
.pd-canvas:before{background-image:radial-gradient(#c4cae6 .6px,transparent .9px);opacity:.38}
.pd-thread{stroke:#d9def2}.pd-thread-current{stroke:var(--blue)}
.pd-paper{background:#fff;border-color:#d9deef;border-radius:14px;box-shadow:0 8px 0 -3px #f0f3ff,0 8px 0 -2px #dce2fa,0 24px 46px -28px rgba(35,76,232,.34)}
.pd-canvas[data-phase="1"] .pd-paper,.pd-canvas[data-phase="5"] .pd-paper{background:#fff}
.pd-feedback{background:#f3f5ff;border-color:#d7ddfb;color:#25377f}
.pd-delivery-note,.pd-loop-note{background:#f7f9ff;border-color:#dfe4f8;color:#39426e}
.pd-step{border-color:#dfe3ef;border-radius:10px}
.pd-step:hover{background:#f7f8ff}
.pd-step[aria-pressed=true]{background:var(--blue-light);border-color:#bfcaff;color:var(--blue)}
.pd-swipe-hint{background:#f3f5ff!important;color:#4f5c8d!important}
@media(max-width:820px),(pointer:coarse){
  .pd-story:not(.has-used-swipe) .pd-paper{box-shadow:7px 7px 0 -2px #e1e6fb,14px 14px 0 -4px #f0f2ff,0 15px 35px -25px rgba(35,76,232,.34)}
  .pd-story.is-dragging .pd-paper{box-shadow:10px 10px 0 -3px #d9e0fa,18px 18px 0 -6px #f2f4ff,0 18px 42px -28px rgba(35,76,232,.42)}
}

/* V15 - audit-led refinements: bounded brand marks, denser mobile contributions, clearer career and faster story. */
.reference-list{align-items:stretch;min-width:0}
.reference-item{min-width:0;overflow:hidden;justify-content:center}
.reference-wordmark,.reference-emblem{display:grid;place-items:center;flex:none;box-sizing:border-box}
.reference-wordmark img,.reference-emblem img{position:absolute;inset:0;margin:auto;width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;object-fit:contain}
.reference-wordmark.is-bnp-pf{width:128px;height:44px;max-width:100%}
.reference-emblem{width:54px;height:48px}
.reference-emblem.is-malakoff{width:58px;height:48px}
.reference-name{max-width:100%;overflow-wrap:anywhere}
.quote-source small:empty{display:none}
.pd-story{--speed:3100ms}
@media(max-width:760px){
  .reference-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;width:100%;min-width:0}
  .reference-item{min-width:0;min-height:104px;padding:10px 4px;gap:8px;overflow:hidden}
  .reference-wordmark.is-bnp-pf{width:min(100%,104px);height:36px}
  .reference-emblem{width:42px!important;height:42px}
  .reference-emblem.is-malakoff{width:46px!important;height:42px}
  .reference-name{font-size:12px!important;line-height:1.25!important;max-width:100%;text-align:center}
  .reference-name small{font-size:11px!important}
  .work-section{padding-top:56px;padding-bottom:56px}
  .section-intro{margin-bottom:26px}
  .case-malakoff,.case-finance{border-radius:14px}
  .case-copy{padding:26px 22px 24px}
  .company-signature{margin-bottom:16px}
  .case-kicker{margin-top:12px}
  .case-title{margin-top:7px;margin-bottom:14px}
  .case-description{line-height:1.65}
  .contribution-diagram{padding:20px 22px}
  .diagram-top{padding-bottom:10px}
  .diagram-line{padding:12px 0}
  .diagram-text span{line-height:1.55}
  .contribution-diagram figcaption{display:none}
  .case-finance{margin-top:22px}
  .finance-context{padding:24px 22px}
  .case-detail summary{padding-block:18px}
  .detail-grid-three{gap:20px}
  .quote-section{padding-block:40px}
  .experience-section{padding-top:60px;padding-bottom:60px}
  .approach-home{padding-top:64px}
}
@media(max-width:360px){
  .reference-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
  .reference-item{flex-direction:column;justify-content:center;text-align:center;min-height:100px;padding:8px 2px;border-top:0;gap:6px}
  .reference-wordmark.is-bnp-pf{width:min(100%,94px);height:34px}
  .reference-emblem{width:40px!important;height:40px}
  .reference-emblem.is-malakoff{width:44px!important;height:40px}
  .reference-name{font-size:11.5px!important}
}
