@font-face{font-family:Display;src:url('fonts/display.woff2') format('woff2');font-display:swap;font-weight:400}@font-face{font-family:Text;src:url('fonts/text.woff2') format('woff2');font-display:swap;font-weight:400}
:root{--pink:#e437a4;--navy:#1f4f6f;--ink:#151515;--paper:#fafaf7;--gap:clamp(24px,4vw,64px);--edge:clamp(22px,4vw,64px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding:20px;scrollbar-color:var(--navy) var(--paper)}body{margin:0;background:var(--paper);color:var(--ink);font-family:Text,Arial,sans-serif;font-size:18px;line-height:1.55}::selection{background:var(--navy);color:white}a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}button,a,summary{-webkit-tap-highlight-color:#e437a433}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--navy);outline-offset:5px}button{font:inherit;color:inherit}h1,h2,h3,p,figure{margin:0}h1,h2{font-family:Display,Georgia,serif;font-weight:400;line-height:1.04;letter-spacing:-.025em;text-wrap:balance}h1{font-size:clamp(48px,6.1vw,88px);max-width:13ch}h2{font-size:clamp(36px,4vw,60px);max-width:17ch}h3{font-family:Text,Arial,sans-serif;font-size:22px;line-height:1.3;margin:32px 0 12px}p{max-width:68ch}p+p{margin-top:18px}ul,ol{padding-left:24px}li+li{margin-top:10px}img{display:block;width:100%;height:auto}svg{display:block}a,button,summary{touch-action:manipulation}button{cursor:pointer}.skip-link{position:absolute;top:-100px;left:20px;z-index:10;background:var(--paper);padding:12px 18px}.skip-link:focus{top:12px}.site-header{padding:18px var(--edge);display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--pink);border-bottom:1px solid var(--ink)}.wordmark{display:flex;align-items:center;gap:14px;font-family:Display,Georgia,serif;font-size:31px;line-height:1.1;min-height:48px;text-decoration:none}.wordmark svg{width:40px;height:24px;stroke:currentColor;stroke-width:2;fill:none}.site-header p{font-size:14px}.split{display:grid;grid-template-columns:2fr 1fr;gap:var(--gap);padding:76px var(--edge)}.split.reverse{grid-template-columns:1fr 2fr}.split>*,.gallery-layout>*{min-width:0}.opening{background:var(--pink);padding-top:44px;padding-bottom:54px}.page-title{align-self:center}.page-title>p{margin-top:30px;max-width:52ch}.page-index{align-self:start;padding-top:8px}.page-index h2{font-family:Text,Arial,sans-serif;font-size:20px;letter-spacing:0;line-height:1.4;margin-bottom:12px}.page-index ol{list-style:none;margin:0;padding:0;border-top:1px solid currentColor}.page-index li+li{margin:0}.page-index a{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:9px 0;border-bottom:1px solid currentColor;text-decoration:none;font-size:17px}.page-index a[aria-current]{font-weight:700}.page-index a:hover{padding-left:10px}.page-index svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;flex-shrink:0}.gallery-layout{display:grid;grid-template-columns:2fr 1fr;gap:var(--gap);padding:38px var(--edge) 26px;background:var(--pink)}.map-opening h1{max-width:14ch}.map-caption{margin-top:20px;font-size:16px}.graph{position:relative;height:340px;margin-top:8px;background:url('assets/dependency-lines.svg') center/100% 100% no-repeat}.graph-node{position:absolute;transform:translate(-50%,-50%);width:122px;min-height:62px;padding:8px 6px;background:var(--pink);border:1px solid var(--ink);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.2}.graph-node span{font-size:17px}.graph-node small{font-size:12px;line-height:1.4;margin-top:3px}.graph-node:disabled{cursor:default;opacity:1}.graph-node:not(:disabled):hover{background:var(--paper)}.graph-node[data-state=selected]{background:var(--ink);color:white;border-width:3px}.graph-node[data-state=upstream]{background:var(--paper);color:var(--ink)}.graph-node[data-state=downstream]{background:var(--navy);color:white}.graph-node:focus-visible{outline:3px solid #151515;outline-offset:5px}.node-intake{left:11%;top:25%}.node-brief{left:35%;top:25%}.node-owners{left:60%;top:12%}.node-review{left:60%;top:75%}.node-delivery{left:84%;top:42%}.node-archive{left:84%;top:85%}.graph-help{font-size:16px;max-width:60ch}.trace-area{display:grid;grid-template-columns:1fr 2fr;gap:var(--gap);padding:36px var(--edge);background:var(--navy);color:white;min-height:230px}.trace-heading h2{font-size:34px;margin-bottom:18px}.trace-heading p{font-size:15px}.trace-results{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-content:start}.trace-results h3{margin:0 0 12px;font-size:20px}.trace-results ol{font-size:16px;margin:0;padding-left:22px}.trace-results p{font-size:16px}.adjacency{padding:0 var(--edge);background:var(--navy);color:white}.adjacency summary{border-top:1px solid #a1b9c9;min-height:50px;padding:12px 0;cursor:pointer}.adjacency ul{columns:2;margin:10px 0 20px}.adjacency p{padding-bottom:28px;font-size:16px}.adjacency summary:focus-visible{outline-color:white}.lead,.service-description{font-size:clamp(22px,2.4vw,32px);line-height:1.35}.practical{border-bottom:1px solid var(--ink)}.facts{margin:28px 0}.facts>div{display:grid;grid-template-columns:1fr 1.5fr;gap:24px;padding:18px 0;border-top:1px solid currentColor}.facts dt{font-weight:700}.facts dd{margin:0}.text-link{display:inline-flex;align-items:center;min-height:48px;margin-top:22px;font-weight:700}.introduction{padding-top:100px;padding-bottom:100px}.process{background:var(--pink)}.process>div>p{margin-top:24px}.process-list{margin:0;padding-left:28px}.process-list li{padding-left:14px;margin-bottom:32px}.process-list h3{margin:0 0 12px}.contact-strip{display:flex;align-items:center;justify-content:space-between;gap:40px;background:var(--navy);color:white;padding:64px var(--edge)}.contact-strip h2{max-width:18ch;font-size:clamp(36px,3.5vw,52px)}.button{display:inline-flex;min-height:50px;align-items:center;justify-content:center;padding:12px 22px;background:var(--navy);color:white;text-align:center;line-height:1.3;flex-shrink:0}.button.light{background:var(--paper);color:var(--navy)}.contact-strip a:focus-visible{outline-color:white}.questions details{border-top:1px solid var(--ink);padding:10px 0}.questions summary{min-height:48px;padding:10px 0;cursor:pointer;font-weight:700}.questions details p{padding:10px 0 20px}.service-row,.approach-step,.resource{border-bottom:1px solid var(--ink)}.service-row:nth-of-type(even),.resource:nth-of-type(even){background:#f0e9ee}.service-description{margin-top:30px}.service-row ul{margin-top:14px}.large-list{margin-top:0;font-size:24px;line-height:1.4}.large-list li+li{margin-top:24px}.boundary{align-items:center}.boundary figure{background:var(--paper)}figcaption{font-size:15px;line-height:1.5;margin-top:16px;max-width:65ch}.boundary h2{margin-bottom:24px}.approach-step h3{margin-top:36px}.work-photo-section{background:var(--navy);color:white}.work-photo-section h2{margin-bottom:24px}.photo-space{min-height:300px;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;border:1px solid currentColor;padding:24px;background:transparent}.photo-space p{margin:0}.photo-space p:first-child{font-size:26px}.owner-section .photo-space{min-height:400px}.owner-section>div>p{margin-top:22px}.team-section{background:var(--pink)}.team-section h2{margin-bottom:24px}.review-placeholder{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:24px 0}.review-placeholder h3{margin-top:0}.review-placeholder p{margin-top:18px}.review-section>div>p{margin-top:24px}.writing-prompts{margin-top:0}.writing-prompts li{margin-bottom:22px}.contact-details{border-bottom:1px solid var(--ink)}.contact-details h2{margin-bottom:22px}.contact-large{display:block;min-height:50px;font-size:clamp(21px,2vw,29px);overflow-wrap:anywhere;margin-bottom:12px}.contact-details>div>p{margin-top:22px}.credentials{background:var(--navy);color:white}.profiles .facts{font-size:17px}.site-footer{display:grid;grid-template-columns:2fr 1fr;gap:var(--gap);padding:54px var(--edge);background:var(--ink);color:var(--paper);font-size:15px}.site-footer a:focus-visible{outline-color:white}.return-index{display:inline-flex;min-height:48px;align-items:center}.footer-name{font-family:Display,Georgia,serif;font-size:46px;line-height:1.2;margin-top:26px}.identity a{display:flex;align-items:center;min-height:44px;overflow-wrap:anywhere}.identity p{margin:0 0 12px}.missing{padding:66px var(--edge)}.missing p{margin-top:26px}
@media(max-width:1000px){.graph-node{width:102px}.graph-node span{font-size:15px}.gallery-layout{grid-template-columns:1.65fr 1fr;gap:24px}.graph{height:330px}.site-header p{max-width:30ch}.trace-area{gap:28px}.trace-results{gap:18px}.contact-strip{align-items:flex-start;flex-direction:column}.facts>div{grid-template-columns:1fr;gap:8px}}
@media(max-width:700px){html{scroll-padding:12px}body{font-size:17px}.site-header{align-items:flex-start;flex-direction:column;gap:6px;padding-top:16px;padding-bottom:16px}.site-header p{max-width:none;font-size:12px}.wordmark{font-size:29px;min-height:44px}.split,.split.reverse{grid-template-columns:1fr;padding-top:48px;padding-bottom:48px;gap:30px}.opening{gap:44px;padding-top:30px}.page-title>p{margin-top:24px}h1{font-size:56px}h2{font-size:40px}.gallery-layout{grid-template-columns:1fr;gap:34px;padding-top:26px}.map-opening h1{font-size:54px}.map-caption{margin-top:20px}.graph{height:435px;background-image:url('assets/dependency-lines-mobile.svg');margin-top:20px}.graph-node{width:112px;min-height:62px}.graph-node span{font-size:16px}.node-intake{left:23%;top:8%}.node-brief{left:77%;top:25%}.node-owners{left:23%;top:42%}.node-review{left:77%;top:59%}.node-delivery{left:23%;top:76%}.node-archive{left:77%;top:93%}.page-index{padding:0}.page-index ol{display:grid;grid-template-columns:1fr 1fr;column-gap:18px}.page-index a{font-size:16px;min-height:54px}.page-index svg{width:18px}.trace-area{grid-template-columns:1fr;padding-top:30px;padding-bottom:30px;gap:28px}.trace-results{grid-template-columns:1fr}.trace-results>div+div{border-top:1px solid #a1b9c9;padding-top:20px}.adjacency ul{columns:1}.lead,.service-description{font-size:25px}.process-list{padding-left:22px}.process-list li{padding-left:7px}.contact-strip{padding-top:44px;padding-bottom:44px;gap:30px}.contact-strip h2{font-size:40px}.contact-strip .button{max-width:100%}.facts>div{padding:14px 0}.introduction{padding-top:65px;padding-bottom:65px}.large-list{font-size:21px}.photo-space,.owner-section .photo-space{min-height:300px}.team-section .photo-space{min-height:250px}.site-footer{grid-template-columns:1fr;padding-top:36px;padding-bottom:36px;gap:32px}.footer-name{font-size:43px;margin-top:14px}.site-footer .identity a{font-size:15px}.contact-large{font-size:22px}.review-section{gap:24px}.boundary{gap:40px}.profiles .facts{font-size:16px}}
@media(max-width:360px){h1,.map-opening h1{font-size:48px}.graph-node{width:98px}.graph-node span{font-size:15px}.page-index ol{grid-template-columns:1fr}.page-index a{min-height:46px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
.site-header a:focus-visible,.opening a:focus-visible,.gallery-layout a:focus-visible,.process a:focus-visible,.team-section a:focus-visible{outline-color:var(--ink)}
