:root{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;color:#20221f;background:#f8f9f8;font-synthesis:none;color-scheme:light;--ink:#20221f;--bg:#f8f9f8;--surface:#fff;--gutter:48px;--muted:#62685f;--accent:#ad3729;--line:#d6dcd2;--soft:#edf0eb}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:86px}body{margin:0}h1,h2,h3,h4,p,figure,dl,dd{margin:0}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a,button,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}[hidden]{display:none!important}.wrap{width:calc(100% - var(--gutter)*2);max-width:1200px;margin-inline:auto}.icon{display:inline-block;width:18px;height:18px;vertical-align:middle;flex-shrink:0}.skip{position:fixed;top:8px;left:8px;padding:12px;background:white;z-index:20;transform:translateY(-160%)}.skip:focus{transform:none}.nav{height:80px;display:flex;align-items:center;justify-content:space-between;gap:24px}.identity{font-size:20px;letter-spacing:-.045em;font-weight:500}.nav nav{display:flex;gap:32px;align-items:center}.nav nav a{display:inline-flex;gap:8px;align-items:center;min-height:44px;font-size:13px;position:relative}.nav nav a:after{content:'';height:1px;position:absolute;bottom:4px;left:0;right:0;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .2s}.nav nav a:hover:after,.nav nav a:focus-visible:after{transform:scaleX(1)}
.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:center;padding-block:40px 48px}.back{display:inline-flex;align-items:center;gap:8px;font-size:13px;min-height:44px;margin-bottom:30px}.back .icon{transform:rotate(180deg)}.eyebrow{font-size:12px;color:var(--muted);margin-bottom:18px}h1{font-size:clamp(42px,4.65vw,66px);font-weight:500;letter-spacing:-.06em;line-height:1.04}h1 span{color:var(--accent)}.lede{font-size:17px;line-height:1.7;max-width:470px;color:var(--muted);margin-top:24px}.action{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:14px;font-weight:500;margin-top:24px}.action .icon{transition:transform .2s}.action:hover .icon{transform:translate(3px,-2px)}.hero-art img{width:100%;height:auto;border-radius:4px}.hero-art figcaption{margin-top:12px;font-size:12px;color:var(--muted)}.project-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding-block:24px 32px;border-top:1px solid var(--line)}dt{font-size:12px;color:var(--muted);margin-bottom:8px}dd{font-size:14px;line-height:1.55}.chapter-bar{position:sticky;top:0;z-index:4;background:#f8f9f8f5;border-block:1px solid var(--line)}.chapter-bar nav{display:flex;gap:32px;min-height:60px;align-items:center;overflow-x:auto}.chapter-bar a{flex:none;display:flex;align-items:center;min-height:60px;font-size:13px;border-bottom:2px solid transparent;padding-top:2px}.chapter-bar a[aria-current]{color:var(--accent);border-bottom-color:var(--accent)}.section{padding-block:40px}h2{font-size:clamp(30px,3.4vw,42px);font-weight:500;letter-spacing:-.045em;line-height:1.15}h3{font-size:21px;line-height:1.3;font-weight:500;letter-spacing:-.025em}p{font-size:15px;line-height:1.75;color:var(--muted)}.section-lede{max-width:600px;margin-top:20px;font-size:17px}.overview{display:grid;grid-template-columns:1.15fr 1fr;gap:96px}.overview-notes h3{font-size:16px;margin-bottom:8px}.overview-notes p+h3{margin-top:24px}
.screen-explorer{margin-top:32px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:white}.screen-rail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:var(--soft)}.screen-rail button{border:0;border-bottom:2px solid transparent;background:transparent;text-align:left;display:grid;grid-template-columns:1fr 20px;gap:5px 12px;padding:20px 24px;min-width:0;transition:background .2s}.screen-rail button>span{font-size:15px;font-weight:500}.screen-rail small{font-size:12px;color:var(--muted)}.screen-rail .icon{grid-column:2;grid-row:1 / 3;align-self:center}.screen-rail button[aria-pressed=true]{border-bottom-color:var(--accent);background:white}.screen-rail button:hover{background:#f5f6f3}.screen-rail button:focus-visible{outline-offset:-5px}.screen-panel{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:48px;padding:40px 64px}.phone-stage{display:grid;place-items:center;min-width:0;background:var(--soft);border-radius:6px;padding:24px}.phone-stage img{width:auto;max-height:510px;height:auto;max-width:100%;animation:screen-in .25s ease}.screen-name{font-size:12px;color:var(--accent);margin-bottom:16px}.decision-copy h3{font-size:32px;letter-spacing:-.04em;margin-bottom:16px}.decision-notes{margin-top:28px;display:grid;gap:20px}.decision-notes dt{color:var(--ink);font-weight:500;font-size:13px}.decision-notes dd{color:var(--muted)}
.architecture{margin-top:32px}.architecture>a{display:block;background:#fff;border:1px solid var(--line);border-radius:6px;padding:24px}.architecture img{width:100%;height:auto}.architecture figcaption{display:flex;gap:20px;align-items:center;justify-content:space-between;margin-top:12px;font-size:12px;color:var(--muted);line-height:1.6}.architecture figcaption>a{flex-shrink:0;display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--ink)}.structure-details{margin-top:28px;display:grid;grid-template-columns:1fr 1fr;gap:64px}.structure-details h3{font-size:18px;margin-bottom:8px}details{border-top:1px solid var(--line);align-self:start}summary{cursor:pointer;font-size:14px;padding:16px 0;line-height:1.5}details p{font-size:14px;padding-bottom:16px}.system{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:center;border-block:1px solid var(--line)}.system-copy p{margin-top:20px}.system figure img{width:100%;height:auto}.system figcaption{font-size:12px;color:var(--muted);margin-top:12px}.reflection{display:grid;grid-template-columns:1fr 1fr;gap:96px}.result>p:not(.eyebrow){margin-top:20px}.lessons>h3{margin-bottom:24px;font-size:16px}.lessons article+article{margin-top:24px}.lessons h4{font-size:17px;font-weight:500;line-height:1.4;margin-bottom:8px}.disclosure{padding-block:20px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;line-height:1.7}.closing{padding-block:48px}.closing h2{font-size:clamp(36px,4.5vw,56px)}.closing p{font-size:13px;margin-top:16px}footer{display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid var(--line);padding-block:24px 32px;font-size:12px;color:var(--muted)}footer a{display:inline-flex;align-items:center;min-height:44px;gap:8px}
/* A compact decision summary; detail lives beside the artifact. */
.scope-decision{border-block:1px solid var(--line);display:grid;grid-template-columns:.85fr 1.7fr;gap:48px;align-items:start}
.scope-heading h2{font-size:clamp(28px,2.8vw,36px)}
.scope-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;list-style:none;padding:0;margin:0;counter-reset:decision}
.scope-steps li{counter-increment:decision;border-top:1px solid var(--line);padding-top:16px}
.scope-steps li:before{content:'0' counter(decision);font-size:12px;color:var(--muted);display:block;margin-bottom:12px}
.scope-steps li:last-child{border-color:var(--accent)}
.scope-steps li:last-child:before{color:var(--accent)}
.scope-steps h3{font-size:16px;margin-bottom:8px}
.scope-steps p{font-size:14px;line-height:1.6}
.scope-reflection{margin-top:20px;font-size:13px}
.scope-reflection strong{font-weight:500;color:var(--ink)}
.lessons details{margin-top:24px}
.identity{display:flex;align-items:center;min-height:44px}
.nav nav .icon{width:14px;height:14px}
@media(max-width:1024px){:root{--gutter:32px}.scope-decision{grid-template-columns:1fr;gap:24px}}
@media(max-width:700px){:root{--gutter:20px}.scope-steps{grid-template-columns:1fr;gap:16px}.scope-steps li{display:grid;grid-template-columns:24px 1fr;column-gap:12px;padding-top:12px}.scope-steps li:before{grid-row:1/3;margin:2px 0 0}.scope-steps p{grid-column:2}}
@media(max-width:359px){:root{--gutter:16px}.identity{font-size:16px}}
.architecture figcaption .icon{width:18px;height:18px}
@keyframes screen-in{from{opacity:.4;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(max-width:1024px){.hero{gap:28px}.hero h1{font-size:48px}.overview,.reflection{gap:48px}.screen-panel{padding:32px;gap:32px}.system{gap:32px}}
@media(max-width:767px){.wrap{width:calc(100% - var(--gutter)*2)}.nav{height:64px}.nav nav{gap:16px}.nav nav a{font-size:12px}.nav nav a[href$="#person"]{display:none}.hero{grid-template-columns:1fr;padding-block:12px 32px;gap:28px}.hero h1{font-size:clamp(38px,8.5vw,56px)}.back{margin-bottom:20px}.lede{font-size:16px;max-width:100%}.hero-art{max-width:540px}.project-facts{grid-template-columns:1fr 1fr;gap:24px 20px}.chapter-bar nav{gap:24px;min-height:52px}.chapter-bar a{min-height:52px;font-size:12px}.section{padding-block:32px}.section-lede{font-size:16px}.overview{grid-template-columns:1fr;gap:28px}.screen-rail{grid-template-columns:repeat(3,minmax(0,1fr))}.screen-rail button{display:block;text-align:center;padding:16px 8px}.screen-rail button>span{font-size:12px}.screen-rail small,.screen-rail .icon{display:none}.screen-panel{grid-template-columns:1fr;padding:20px;gap:28px}.phone-stage{padding:20px}.phone-stage img{max-height:440px}.decision-copy h3{font-size:28px}.architecture>a{padding:8px}.architecture figcaption{align-items:flex-start;flex-direction:column;gap:4px}.structure-details{grid-template-columns:1fr;gap:24px}.system{grid-template-columns:1fr;gap:28px}.reflection{grid-template-columns:1fr;gap:36px}footer{align-items:flex-start;flex-direction:column;gap:8px}html{scroll-padding-top:76px}}
/* Keep all chapters visible on phones, with comfortable touch targets. */
@media(max-width:700px){
  .nav{height:80px;gap:8px}
  .nav nav a{font-size:11px}
  .nav nav .icon{display:none}
  .chapter-bar nav{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;overflow:visible}
  .chapter-bar a{min-height:44px}
  html{scroll-padding-top:112px}
}
@media(max-width:359px){.nav{gap:6px}.nav nav{gap:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
/* System artifacts retain their full proportions and open at source resolution. */
.artifact-stage{min-width:0;text-align:center}
.artifact-stage>a{display:grid;place-items:center;min-height:400px;background:var(--soft);padding:16px;border-radius:6px}
.artifact-stage img:not(.icon){max-height:480px;width:auto;max-width:100%;object-fit:contain}
.artifact-stage>p{font-size:12px;margin-top:12px}
.theme-section{border-top:0}
.guide-launch{display:flex;background:transparent;border:0;border-bottom:1px solid var(--line);padding:0;font-weight:400;color:var(--muted);font-size:12px;margin-top:8px}
.guide-launch:hover{color:var(--accent);border-color:var(--accent)}
.project-guide{color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:0;width:min(480px,calc(100% - 32px));max-height:min(700px,calc(100dvh - 48px));overflow:hidden}
.project-guide[open]{display:flex;flex-direction:column}
.project-guide::backdrop{background:#20221f66}
.guide-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--line);flex-shrink:0}
.guide-header h2{font-size:24px}.guide-header p{font-size:12px}
.guide-close{border:1px solid var(--line);background:var(--surface);border-radius:50%;width:44px;height:44px;font-size:26px;line-height:1}
.guide-scroll{overflow:auto;padding:20px 24px;overscroll-behavior:contain;min-height:0}
.guide-disclosure{font-size:12px;line-height:1.6;margin-bottom:16px}
.guide-prompts{display:grid;gap:8px}.guide-prompts button{background:var(--surface);border:1px solid var(--line);padding:12px;text-align:left;border-radius:6px;min-height:44px;font-size:13px}
.guide-prompts button:hover{border-color:var(--accent)}
.guide-exchange{margin-top:24px}.guide-exchange p{font-size:14px}.guide-exchange .guide-question{font-weight:500;color:var(--ink);margin-bottom:8px}
.guide-exchange a{display:inline-block;min-height:44px;padding-top:12px;color:var(--accent);font-size:13px;text-decoration:underline;text-underline-offset:4px}
.guide-form{padding:16px 24px 24px;border-top:1px solid var(--line);flex-shrink:0}.guide-form label{display:block;font-size:12px;margin-bottom:8px}.guide-form>div{display:flex;gap:8px}
.guide-form input{min-width:0;width:100%;font:inherit;font-size:16px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:12px}
.guide-form input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.guide-form button{border:0;background:var(--ink);color:var(--surface);padding:12px;border-radius:6px}.guide-form button:disabled{opacity:.4;cursor:default}
@media(max-width:700px){.artifact-stage>a{min-height:280px}.artifact-stage img:not(.icon){max-height:400px}.project-guide{width:100%;height:100dvh;max-height:100dvh;max-width:100%;margin:0;border:0;border-radius:0}.guide-scroll{flex:1}.guide-form{padding-bottom:max(20px,env(safe-area-inset-bottom))}}
/* BE FREE uses the shared editorial system, with a wider artifact-led chapter. */
.pooling-story{padding:24px 0;border-block:1px solid var(--line)}
.befree-rail{grid-template-columns:repeat(4,minmax(0,1fr))}
.befree-rail button{display:block}.befree-rail small{display:block;margin-top:6px}
.phone-stage>a{display:grid;place-items:center;width:100%}
.desktop-intro{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:48px;margin-bottom:24px}
.desktop-art img{width:100%;height:auto;border-radius:6px}
.desktop-art figcaption{font-size:13px;color:var(--muted);margin-top:12px}
.desktop-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:24px}
.desktop-notes h3{font-size:18px;margin-bottom:8px}
.foundation-notes{display:grid;gap:16px}.foundation-notes>div{display:grid;grid-template-columns:32px 1fr;gap:4px 12px;padding-top:16px;border-top:1px solid var(--line)}
.foundation-notes span{grid-row:1/3;font-size:12px;color:var(--accent)}.foundation-notes h3{font-size:18px}.foundation-notes p{grid-column:2}
.evidence-note{font-size:13px}
.guide-launch{display:inline-flex;gap:8px;border:1px solid var(--line);border-radius:6px;padding:8px 12px;min-height:44px;font-size:13px;margin-top:16px;background:var(--surface)}
.guide-launch .icon{width:18px;height:18px}
@media(max-width:700px){
 .nav nav a{font-size:14px}.nav .identity{font-size:20px}
 .chapter-bar a{font-size:14px}
 p,.decision-notes dd{font-size:16px;line-height:1.65}
 dt,.eyebrow{font-size:13px}
 .screen-rail button>span{font-size:14px}
 .desktop-intro,.desktop-notes{grid-template-columns:1fr;gap:24px}
 .befree-rail{grid-template-columns:1fr 1fr}.befree-rail small{display:none}
 .guide-launch{font-size:14px}
}
.hero-copy>.guide-launch{margin-left:16px}
@media(max-width:700px){.hero-copy>.guide-launch{display:flex;width:fit-content;margin-left:0;margin-top:12px}}
/* One action group and one assistant control across every case study. */
.project-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:24px}
.project-actions>.action{margin:0}
.project-actions>.guide-launch{margin:0;display:inline-flex;width:auto;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:6px;background:var(--surface);font-size:14px;font-weight:400;line-height:1.4;color:var(--muted);gap:8px}
.project-actions>.guide-launch:hover{border-color:var(--accent);color:var(--accent)}
.bmo-explorer .screen-rail button{display:block}.bmo-explorer .screen-rail small{display:block;margin-top:6px}
.flow-art{padding:24px 24px 0}.flow-art img{width:100%;height:auto}.flow-art figcaption{font-size:13px;color:var(--muted);margin-top:12px}
.flow-copy{display:grid;grid-template-columns:1fr 1fr;gap:48px;padding:24px}.flow-copy h3{margin-bottom:12px}.flow-copy .eyebrow{margin-bottom:8px}
.system-copy details{margin-top:24px}.system-copy details p{margin-top:0}
@media(max-width:700px){.flow-copy{grid-template-columns:1fr;gap:20px;padding:20px}.flow-art{padding:12px 12px 0}.bmo-explorer .screen-rail small{display:none}.bmo-explorer .screen-rail button{padding:12px 8px}.bmo-explorer .screen-rail button>span{font-size:13px}}
