@font-face{font-family:Roboto;src:url('../assets/optimized/roboto-latin.47d413f07ea1a20d.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{--paper:#f6f5f2;--ink:#202522;--muted:#626962;--line:#d0d2c9;--olive:#737961;--stone:#e8e9e1;--header:84px;--chapters:64px;--ease:cubic-bezier(.22,.61,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + var(--chapters) + 24px)}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.7 Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased}h1,h2,h3,p,figure{margin:0}a{color:inherit}button{font:inherit;color:inherit;cursor:pointer}img{display:block;max-width:100%;object-fit:cover}::selection{background:#c5cbb4;color:#202522}a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:6px}h1:focus{outline:none}.wrap{width:90%;max-width:1500px;margin-inline:auto}.eyebrow,.section-label,.signature,.project-index,.principle-note{font-size:11px;font-weight:500;line-height:1.5;letter-spacing:.12em;text-transform:uppercase}.eyebrow span{margin-inline:12px;color:var(--muted)}h1,h2{font-weight:400;letter-spacing:-.055em;line-height:1.06;text-wrap:balance}h1 em,h2 em{font-style:normal;color:var(--muted)}h2{font-size:clamp(40px,4.25vw,70px)}h3{font-size:25px;line-height:1.2;font-weight:450;letter-spacing:-.035em}p+p{margin-top:22px}.lead{font-size:21px;line-height:1.5;letter-spacing:-.02em}p{text-wrap:pretty}.text-link{display:inline-flex;align-items:center;gap:36px;text-decoration:none;padding:12px 0;border-bottom:1px solid currentColor;font-size:14px;font-weight:500}.text-link span{font-size:23px;line-height:1;transition:transform .3s}.text-link:hover span{transform:translate(4px,-4px)}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:var(--ink);color:white;padding:16px}.skip-link:focus{top:12px}
/* The same restrained typography, paper and charcoal as the main site. */
.navbar{position:sticky;top:0;z-index:50;height:var(--header);background:var(--paper);border-bottom:1px solid var(--line)}.nav-inner{display:flex;align-items:center;gap:44px;height:100%}.logo{display:block;width:202px;flex-shrink:0}.logo img{width:100%;height:auto}.nav-items{display:flex;align-items:center;gap:36px;margin-left:auto}.nav-items a{font-size:13px;text-decoration:none;padding:6px 0}.nav-items a[aria-current]{border-bottom:1px solid var(--ink)}.nav-cta{display:flex;align-items:center;gap:32px;text-decoration:none;background:var(--ink);color:var(--paper);padding:12px 20px;font-size:13px;transition:background .25s}.nav-cta:hover{background:#4c5547}.nav-cta span{font-size:20px}.mobile-toggle{display:none;background:none;border:0}
.hero{display:grid;grid-template-columns:55% 45%;min-height:730px}.hero-copy{padding:52px 7.5% 24px 9.09%;display:flex;flex-direction:column;align-items:flex-start}.hero h1{font-size:clamp(48px,4.9vw,84px);margin:40px 0 28px;line-height:1.055}.hero-intro{max-width:510px}.hero-intro .lead{font-size:19px}.hero-intro>p+p{font-size:15px;line-height:1.65;color:#545d55;margin-top:18px}.hero-copy>.text-link{margin-top:22px}.hero-sign{width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:auto;padding-top:32px;font-size:10px;letter-spacing:.07em}.hero-sign a{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);border-radius:50%;text-decoration:none;font-size:19px}.hero-visual{position:relative;overflow:hidden;background:var(--stone)}.hero-visual>img{position:absolute;width:100%;height:100%;object-position:64% center;transform:translateY(var(--image-y,0px)) scale(1.09)}.hero-visual:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#101a12a6);pointer-events:none}.image-coordinate{position:absolute;top:34px;left:32px;color:white;font-size:9px;letter-spacing:.17em;padding:10px 14px;background:#202522b3}.hero-visual figcaption{position:absolute;bottom:38px;left:36px;right:36px;color:white;z-index:1}.hero-visual figcaption>span{font-size:30px;letter-spacing:-.035em}.hero-visual small{display:block;font-size:10px;letter-spacing:.08em;margin-top:8px}
.chapter-nav{position:sticky;top:var(--header);z-index:40;background:var(--paper);border-bottom:1px solid var(--line)}.chapter-links{display:flex;align-items:center;justify-content:space-between;height:var(--chapters);gap:20px}.chapter-label{font-size:9px;letter-spacing:.14em;color:var(--muted);padding-right:32px}.chapter-links a{font-size:12px;text-decoration:none;position:relative;padding:20px 0;white-space:nowrap}.chapter-links a>span{font-size:9px;color:var(--muted);margin-right:10px}.chapter-links a[aria-current]{color:#3b4d2e}.chapter-links a:after{content:"";position:absolute;bottom:12px;left:0;right:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s}.chapter-links a[aria-current]:after,.chapter-links a:hover:after{transform:scaleX(1)}.reading-progress{position:absolute;bottom:-1px;height:2px;left:0;width:100%;background:var(--olive);transform:scaleX(var(--progress,0));transform-origin:left}
.chapter{padding-top:90px;padding-bottom:100px}.section-label{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:18px;margin-bottom:55px;color:var(--muted)}.section-label span:last-child{font-size:9px;letter-spacing:.14em}.experience-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%}.experience-heading h2{margin-bottom:44px}.experience-photo{width:80%}.experience-photo img{aspect-ratio:1.65;object-position:50% 43%;width:100%;height:auto}.experience-photo figcaption{font-size:10px;color:var(--muted);margin-top:10px}.experience-copy{padding-top:5px}.experience-copy>p:not(.lead):not(.pullquote):not(.signature){color:var(--muted)}.experience-copy .pullquote{font-size:26px;line-height:1.4;letter-spacing:-.035em;border-left:2px solid #8a9278;padding-left:26px;margin-block:32px}.signature{border-top:1px solid var(--line);padding-top:28px;margin-top:32px}.signature span{padding-inline:14px;color:#808870}
.approach{background:var(--stone)}.section-intro{display:grid;grid-template-columns:1.3fr 1fr;gap:9%;align-items:start;margin-bottom:56px}.section-intro>div{padding-top:4px;color:var(--muted)}.section-intro .lead{color:var(--ink)}.approach-story{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start}.approach-visual{position:sticky;top:calc(var(--header) + var(--chapters) + 28px)}.approach-images{position:relative;aspect-ratio:1.18;background:#d8dbd1;overflow:hidden}.approach-images img{width:100%;height:100%;position:absolute;inset:0;opacity:0;transition:opacity .8s var(--ease),transform 1.4s var(--ease);transform:scale(1.045)}.approach-images img.is-active{opacity:1;transform:scale(1)}.approach-visual figcaption{display:flex;justify-content:space-between;gap:16px;font-size:10px;padding-top:14px;color:var(--muted)}.principle{position:relative;min-height:295px;padding:24px 0 38px 62px;border-top:1px solid #babfb1;transition:border-color .4s}.principle-number{position:absolute;left:0;top:24px;font-size:13px;color:var(--muted)}.principle h3{font-size:29px;margin-bottom:22px}.principle p{color:#545e52;max-width:430px;line-height:1.75}.principle-note{display:block;font-size:9px;margin-top:28px;color:var(--muted)}.principle.is-active{border-color:#36402e}.principle.is-active .principle-number{color:var(--ink)}
.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.project-image{display:block;aspect-ratio:1.05;position:relative;overflow:hidden;background:var(--stone)}.project-image img{width:100%;height:100%;transition:transform .7s var(--ease)}.project-image:hover img{transform:scale(1.045)}.project-image>span{position:absolute;bottom:18px;right:18px;background:var(--paper);width:42px;height:42px;display:grid;place-items:center;font-size:25px}.project-index{margin:26px 0 15px;font-size:9px;color:var(--muted)}.project h3{font-size:25px;margin-bottom:16px}.project>p:last-child{font-size:15px;line-height:1.7;color:var(--muted);max-width:380px}.projects-bottom{display:flex;justify-content:space-between;gap:40px;align-items:center;border-top:1px solid var(--line);padding-top:32px;margin-top:42px}.projects-bottom>p{max-width:510px;font-size:12px;line-height:1.65;color:var(--muted)}.projects-bottom .text-link{flex-shrink:0}
.character{background:#242c25;color:#f6f5f2}.character .section-label{border-color:#526052;color:#bdc5b7}.manifesto{max-width:1110px;font-size:clamp(44px,5.2vw,86px);line-height:1.08;letter-spacing:-.05em}.manifesto>span{display:block;color:#b1b8aa;font-weight:350}.manifesto strong{display:block;font-weight:420;margin-top:28px}.character-bottom{display:grid;grid-template-columns:1fr 1fr;gap:10%;margin-top:65px}.detail-mark{display:flex;align-items:flex-end;align-self:start;gap:26px;padding-top:18px}.detail-mark svg{width:170px;stroke:#778570;stroke-width:.8}.detail-mark .detail-line{stroke:#e2e8d9;stroke-width:2;stroke-dasharray:235;stroke-dashoffset:calc(235 * (1 - var(--detail-progress,1)))}.detail-mark>span{font-size:10px;line-height:1.8;letter-spacing:.14em;color:#cad1bf}.character-copy p{color:#c3cabd}.character-copy .lead{color:#fff}.character-copy .character-conclusion{border-top:1px solid #53604f;padding-top:25px;color:#fff}
.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin:65px 0 0}.steps li{padding-top:22px;border-top:1px solid #939c87}.step-number{display:flex;justify-content:space-between;align-items:center;font-size:14px;color:var(--muted);margin-bottom:44px}.step-number>span{font-size:21px}.steps h3{margin-bottom:18px}.steps p{font-size:15px;color:var(--muted);line-height:1.7}
.cta{background:#dde1d2;padding:84px 0 52px}.cta h2{font-size:clamp(50px,6.1vw,98px);max-width:1100px;margin:42px 0;line-height:1.03}.cta h2 em{color:#657154}.cta-bottom{display:flex;align-items:center;justify-content:space-between;gap:50px}.cta-bottom>p{max-width:550px;color:#505c49;font-size:17px}.cta-link{display:flex;align-items:center;justify-content:space-between;gap:36px;text-decoration:none;border-bottom:1px solid #536348;padding:18px 0;font-size:23px;min-width:330px;transition:color .3s}.cta-link span{display:grid;place-items:center;border:1px solid #7a866c;border-radius:50%;width:64px;height:64px;font-size:32px;transition:background .3s,transform .3s}.cta-link:hover span{background:var(--ink);color:white;transform:rotate(45deg)}.cta-sign{border-top:1px solid #b9c1ac;margin-top:70px;padding-top:22px;font-size:11px;letter-spacing:.05em}.footer{padding-top:42px}.footer-top,.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:28px}.footer-top{padding-bottom:38px}.footer-top>.logo{width:180px}.footer-top>a:not(.logo){text-decoration:none;font-size:14px}.footer-top>a:last-child{font-size:12px}.footer-top>a:last-child span{margin-left:24px}.footer-bottom{font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding-block:22px}.footer-bottom nav{display:flex;gap:26px}.footer-bottom a{text-decoration:none}.footer a:hover{text-decoration:underline}
/* Content is visible by default. JS adds finite entrances only on arrival. */
@media(min-width:1700px){.hero-copy{padding-left:max(72px,calc((100vw - 1500px) / 2))}.hero{min-height:820px}}
@media(max-width:1100px){:root{--header:76px}.nav-inner{gap:24px}.logo{width:170px}.nav-items{gap:22px}.chapter-label{display:none}.hero{grid-template-columns:57% 43%;min-height:740px}.hero-copy{padding-left:8.8%;padding-right:7%}.hero h1{font-size:clamp(42px,4.9vw,57px)}.hero-sign{font-size:9px}.section-intro{gap:7%}.approach-story{gap:7%}.principle{padding-left:42px;min-height:320px}.project-grid,.steps{gap:22px}.project h3{font-size:22px}.detail-mark{flex-direction:column;align-items:flex-start}.cta-link{min-width:280px;font-size:21px}}
@media(max-width:760px){:root{--header:70px;--chapters:56px}.wrap{width:calc(100% - 40px)}.nav-inner{gap:16px}.logo{width:152px}.nav-cta{margin-left:auto;font-size:11px;padding:10px 12px;gap:12px}.mobile-toggle{display:flex;align-items:center;gap:7px;font-size:12px;padding:8px 0}.nav-items{display:flex;position:absolute;top:100%;left:0;right:0;margin:0;padding:18px 20px;background:var(--paper);border-bottom:1px solid var(--line);justify-content:space-between}.js .nav-items:not(.open){display:none}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:40px 20px 26px}.hero h1{font-size:clamp(38px,8.8vw,66px);margin-top:30px}.hero-intro{max-width:600px}.hero-sign{margin-top:22px}.hero-visual{height:430px}.hero-visual figcaption{left:24px;bottom:28px}.hero-visual figcaption>span{font-size:27px}.chapter-links{overflow-x:auto;justify-content:flex-start;gap:25px;scrollbar-width:thin}.chapter-links a{font-size:11px;flex-shrink:0}.chapter-links a>span{margin-right:6px}.chapter{padding:60px 0}.section-label{margin-bottom:36px;font-size:9px}.section-label span:last-child{display:none}h2{font-size:40px}.experience-grid,.section-intro,.approach-story,.character-bottom{grid-template-columns:1fr;gap:36px}.experience-photo{width:100%;max-width:480px}.experience-copy .pullquote{font-size:23px}.lead{font-size:19px}.experience-heading h2{margin-bottom:32px}.approach-visual{position:static}.approach-images{aspect-ratio:1.3}.principle{min-height:0;padding:26px 0 36px 42px}.principle h3{font-size:26px}.principle-note{margin-top:18px}.project-grid{grid-template-columns:1fr;gap:45px}.project-image{aspect-ratio:1.4}.project>p:last-child{max-width:none}.projects-bottom{align-items:flex-start;flex-direction:column;gap:20px}.manifesto{font-size:38px}.character-bottom{margin-top:42px}.detail-mark{flex-direction:row;align-items:center;padding:0}.detail-mark svg{width:115px}.steps{grid-template-columns:1fr 1fr;margin-top:42px;row-gap:36px}.step-number{margin-bottom:24px}.steps h3{font-size:23px}.cta{padding:60px 0 32px}.cta h2{font-size:48px;margin-block:30px}.cta-bottom{flex-direction:column;align-items:flex-start;gap:26px}.cta-link{width:100%;min-width:0}.cta-sign{margin-top:44px;font-size:10px}.footer-top{flex-wrap:wrap}.footer-top>.logo{width:150px}.footer-bottom{align-items:flex-start}.footer-bottom nav{flex-direction:column;gap:8px}.signature{font-size:9px}.signature span{padding-inline:7px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.hero-visual>img{transform:none!important}}
@media print{.navbar,.chapter-nav,.skip-link,.mobile-toggle{display:none}html{scroll-padding:0}.hero,.experience-grid,.section-intro,.approach-story,.character-bottom{display:block}.hero-visual{height:300px}.chapter{padding:35px 0}.approach-visual{position:static}.hero-copy{padding:0}.hero-sign{display:none}.character{background:white;color:black}.character p,.character .manifesto>span{color:#333}.character .lead,.character .character-conclusion{color:black}h2,h3{break-after:avoid}.project,.steps li{break-inside:avoid}}

/* One viewport per thought. Pinning is enabled only after content-fit checks. */
.scene-track{position:relative;background:var(--paper)}
.scene{position:relative}
.scene-status{display:flex;justify-content:space-between;align-items:center;gap:24px;font-size:10px;letter-spacing:.07em;padding:18px 0 14px;border-top:1px solid var(--line);margin-top:32px}
.scene-status a{text-decoration:none;padding:6px 0;letter-spacing:0;font-size:12px}
.scene-progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:#73796130;overflow:hidden}
.scene-progress span{display:block;height:100%;background:var(--olive);transform:scaleX(var(--scene-progress,0));transform-origin:left}
.character .scene-status{border-color:#526052;color:#c3cabd}.character .scene-progress span{background:#c6d1b5}
.hero .scene-status{grid-column:1/-1;margin:0;padding-inline:5%;background:var(--paper)}
.hero .scene-progress{z-index:3}.projects-bottom{justify-content:flex-end}
@media(min-width:1100px) and (min-height:700px){
  :root{--chapters:48px}
  html{scroll-padding-top:calc(var(--header) + var(--chapters))}
  .chapter-links a{padding:12px 0}.chapter-links a:after{bottom:6px}
  .scene{min-height:var(--scene-height);padding-top:32px;padding-bottom:72px}
  .scene.is-pinned{position:sticky;top:var(--scene-top);height:var(--scene-height)}
  .scene>.scene-status{position:absolute;left:0;right:0;bottom:3px;margin:0}
  .scene:not(.wrap)>.scene-status{left:5%;right:5%}
  .scene .section-label{padding-top:12px;margin-bottom:28px}
  .scene h2{font-size:clamp(40px,4vw,64px)}
  .scene .section-intro{margin-bottom:30px;gap:8%;grid-template-columns:1.2fr 1fr}
  .scene .section-intro p+p{margin-top:14px}
  .scene.hero{padding:0 0 61px;grid-template-rows:1fr}
  .scene.hero>.scene-status{left:0;right:0;height:58px;border:0}
  .scene.hero .hero-copy{padding-top:clamp(32px,5vh,64px);padding-bottom:30px}
  .scene.hero h1{margin-block:clamp(24px,4vh,48px) 28px}
  .scene .experience-heading h2{margin-bottom:28px}
  .scene .experience-photo{width:90%}
  .scene .experience-photo img{height:clamp(180px,26vh,280px);aspect-ratio:auto}
  .scene .experience-copy .pullquote{margin-block:24px;font-size:24px}
  .scene .experience-copy p+p{margin-top:18px}
  .scene .signature{padding-top:20px}
  .scene.approach .approach-story{gap:8%;align-items:center}
  .scene.approach .approach-visual{position:relative;top:auto}
  .scene.approach .approach-images{height:clamp(260px,40vh,460px);aspect-ratio:auto}
  .scene.approach.is-pinned .principles{display:grid;align-items:center}
  .scene.approach.is-pinned .principle{grid-area:1/1;min-height:0;opacity:0;visibility:hidden;transform:translateY(24px);transition:opacity .5s var(--ease),transform .7s var(--ease),visibility .5s}
  .scene.approach.is-pinned .principle.is-active{opacity:1;visibility:visible;transform:none}
  .scene.approach .principle h3{font-size:36px}.scene.approach .principle p{font-size:18px}
  .scene .project-image{height:clamp(200px,29vh,320px);aspect-ratio:auto}
  .scene .project-index{margin:18px 0 10px}.scene .project h3{font-size:23px;margin-bottom:12px}
  .scene .project>p:last-child{font-size:14px;line-height:1.6}
  .scene .projects-bottom{padding-top:12px;margin-top:18px;border:0}
  .scene .manifesto{font-size:clamp(44px,4.6vw,72px)}
  .scene .manifesto strong{margin-top:20px}
  .scene .character-bottom{margin-top:32px;grid-template-columns:1fr 1.3fr;gap:9%}
  .scene .character-copy p+p{margin-top:16px}.scene .character-conclusion{padding-top:16px}
  .scene .detail-mark svg{width:140px}
  .scene .steps{margin-top:40px}.scene .step-number{margin-bottom:30px}
  .scene.cta{display:flex;align-items:center}.scene.cta h2{font-size:clamp(56px,6.1vw,98px)}
  .scene.cta .cta-sign{margin-top:45px}
}
@media(min-width:1100px) and (min-height:700px) and (max-height:850px){
  .scene h2{font-size:42px}.scene .section-label{margin-bottom:22px}
  .scene .experience-photo img{height:180px}.scene .experience-heading h2{margin-bottom:20px}
  .scene .experience-copy{font-size:14px}.scene .experience-copy .lead{font-size:19px}
  .scene .experience-copy .pullquote{font-size:21px;margin-block:18px}
  .scene.approach .approach-images{height:260px}
  .scene .project-image{height:200px}.scene .project h3{font-size:21px}
  .scene .section-intro{font-size:14px;margin-bottom:22px}
  .scene .manifesto{font-size:49px}.scene .character-copy{font-size:14px}
  .scene .character-bottom{margin-top:24px}
  .scene.hero h1{font-size:56px;margin-block:22px}
  .scene.hero .hero-copy{padding-top:26px}.scene.hero .hero-intro>p+p{font-size:14px}
  .scene.hero .hero-sign{display:none}.scene.hero .hero-copy>.text-link{margin-top:16px}
}
@media print{.scene-track{height:auto!important}.scene{position:static!important;height:auto!important;min-height:0!important}.scene-status,.scene-progress{display:none!important}.scene.approach .principles{display:block!important}.scene.approach .principle{opacity:1!important;visibility:visible!important;transform:none!important}}
.principle-controls{display:none;gap:18px}.js .principle-controls{display:flex}
.principle-controls button{background:none;border:0;border-bottom:1px solid transparent;padding:0 0 5px;font-size:10px;color:var(--muted)}
.principle-controls button[aria-pressed="true"]{border-color:currentColor;color:var(--ink)}
@media print{.principle-controls{display:none!important}}
@media(min-width:1100px) and (min-height:700px) and (max-height:950px){.scene .project-image{height:clamp(190px,23vh,220px)}}
@media(min-width:1100px) and (min-height:700px){
  .scene.approach:not(.is-pinned) .approach-story{align-items:start}
}
@media(min-width:1100px) and (min-height:700px) and (max-height:850px){
  .scene .projects-bottom{margin-top:10px;padding-top:0}.scene .projects-bottom .text-link{padding-block:6px}
}
/* Home-page scroll mechanics: the whole screen pins, each reveal is scrubbed. */
.scene.is-pinned .scroll-reveal{opacity:var(--reveal,0);transform:translateY(var(--reveal-y,24px));transition:none}
.scene.is-pinned .approach-images img{opacity:var(--frame-opacity,0);transform:scale(var(--frame-scale,1));transition:none}
.scene.approach.is-pinned .principle,.scene.approach.is-pinned .principle.is-active{opacity:var(--principle-opacity,0);transform:translateY(var(--principle-y,24px));visibility:visible;transition:none}
.scene-progress{left:5%;right:5%;bottom:28px;height:1px;background:#73796150}
.scene.wrap>.scene-progress{left:0;right:0}
.scene-status{border-top:0;padding-bottom:42px}
.chapter-nav .reading-progress{display:none}
@media(min-width:1100px) and (min-height:700px){
  .scene{padding-bottom:100px}
  .scene>.scene-status{bottom:28px;padding:0 0 18px;min-height:36px}
  .scene.hero{padding-bottom:80px}
  .scene.hero>.scene-status{height:36px;left:5%;right:5%;padding:0 0 18px}
  .scene.hero>.scene-progress{left:5%;right:5%}
}
@media print{.scene .scroll-reveal{opacity:1!important;transform:none!important;pointer-events:auto!important}}
