*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--seedling);color:var(--sow);font:16px/1.75 -apple-system,BlinkMacSystemFont,"Helvetica Neue","PingFang SC",sans-serif}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:6px}header,footer{display:flex;align-items:center;justify-content:space-between;padding:30px 5vw;border-bottom:1px solid var(--mist)}.brand{font-size:18px;font-weight:650;line-height:1.2;letter-spacing:.08em}.brand span{font-size:9px;letter-spacing:.16em}nav{display:flex;gap:32px;font-size:14px}main{min-height:75vh}.eyebrow{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--pebble)}.hero{display:grid;grid-template-columns:1fr 1.15fr;gap:5vw;padding:65px 5vw 80px;align-items:center}.hero h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(44px,5.7vw,90px);line-height:1.05;letter-spacing:-.05em;margin:24px 0}.hero p{max-width:420px;color:var(--pebble)}.hero figure{margin:0}.hero img{width:100%;height:580px;object-fit:cover}.caption{display:flex;justify-content:space-between;font-size:11px;color:var(--pebble);margin-top:12px}.link{display:inline-block;border-bottom:1px solid;padding-bottom:5px;margin-top:22px;font-size:14px}.section{padding:60px 5vw}.section-head{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--mist);padding-top:20px;margin-bottom:42px}h2{font:400 clamp(30px,4vw,52px)/1.2 Georgia,serif;margin:0}.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px 30px}.project:first-child{grid-column:span 2}.project:nth-child(4){grid-column:span 2}.project img{width:100%;height:340px;object-fit:cover;transition:filter .2s}.project:first-child img,.project:nth-child(4) img{height:440px}.project:hover img{filter:contrast(1.04)}.project h3{font:400 29px/1.2 Georgia,serif;margin:16px 0 8px}.project p{font-size:13px;margin:0;color:var(--pebble)}.meta{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.09em;margin-top:14px;color:var(--pebble)}.intro{display:grid;grid-template-columns:1fr 1fr;gap:10vw;background:var(--mist);padding:70px 5vw}.intro p{margin-top:0;max-width:610px}.page-title{padding:70px 5vw 45px}.page-title h1{font:400 clamp(46px,7vw,100px)/1.05 Georgia,serif;margin:20px 0}.page-title p{max-width:700px;color:var(--pebble)}.wide{width:90%;margin:0 5%;max-height:800px;object-fit:contain;background:var(--seedling)}.case-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:30px 5vw;border-bottom:1px solid var(--mist);font-size:13px}.case-meta span{display:block;font-size:10px;color:var(--pebble);text-transform:uppercase}.text-row{display:grid;grid-template-columns:1fr 2fr;gap:8vw;border-top:1px solid var(--mist);padding:35px 0}.text-row h3{font:400 26px Georgia,serif;margin:0}.text-row p{margin:0;max-width:770px}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin:35px 0}.gallery figure{margin:0}.gallery img{width:100%;height:460px;object-fit:contain;background:var(--seedling);cursor:zoom-in}.gallery figcaption{font-size:11px;color:var(--pebble);margin-top:8px}.note{font-size:12px;color:var(--pebble)}.about-copy{max-width:780px}.about-copy p{margin-bottom:25px}.timeline{display:grid;grid-template-columns:140px 1fr;border-top:1px solid var(--mist);padding:25px 0;gap:30px}.timeline p{margin:0}.next{display:flex;justify-content:space-between;padding:35px 0;border-top:1px solid var(--mist)}footer{border-top:1px solid var(--mist);border-bottom:0;font-size:11px;gap:20px}dialog{width:95vw;height:95vh;max-width:none;border:0;background:var(--seedling);padding:45px 20px 20px}dialog::backdrop{background:var(--sow)}dialog img{width:100%;height:100%;object-fit:contain}dialog button{position:absolute;right:22px;top:12px;border:0;background:none;font-size:16px;cursor:pointer}a:focus-visible,button:focus-visible{outline:2px solid var(--foliage);outline-offset:5px}@media(max-width:900px){.hero{grid-template-columns:1fr}.hero img{height:450px}.work-grid{grid-template-columns:1fr 1fr}.project:first-child,.project:nth-child(4){grid-column:span 2}.case-meta{grid-template-columns:1fr 1fr}.gallery img{height:330px}}@media(max-width:600px){header{padding:22px 6vw}nav{gap:17px}.brand{font-size:14px}.brand span{font-size:7px}.hero{padding:40px 6vw;gap:30px}.hero h1{font-size:54px}.hero img{height:390px}.section,.page-title{padding:40px 6vw}.work-grid,.intro,.gallery,.text-row{grid-template-columns:1fr}.project:first-child,.project:nth-child(4){grid-column:auto}.project img,.project:first-child img,.project:nth-child(4) img{height:310px}.intro{gap:25px;padding:40px 6vw}.section-head{gap:20px}.gallery img{height:auto;max-height:600px}.text-row{gap:18px}.case-meta{padding:25px 6vw}.timeline{grid-template-columns:90px 1fr;gap:15px}footer{align-items:flex-start;flex-direction:column}.page-title h1{font-size:48px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
:root{--seedling:#FAF5E9;--sow:#392525;--redwood:#683226;--terracotta:#B25D3E;--rainfall:#728383;--foliage:#3E4734;--sprout:#E3E890;--mist:#B6B7A5;--pebble:#7E7B62}body{background:var(--seedling);color:var(--sow)}header,footer,.text-row,.timeline,.next,.case-meta{border-color:var(--mist)}.eyebrow,.meta,.caption,.note,.project p,.page-title p{color:var(--pebble)}.section-head{border-color:var(--pebble)}.hero{background:var(--foliage);color:var(--seedling);padding-bottom:65px}.hero h1{font-size:clamp(42px,4.8vw,72px);line-height:1.12;letter-spacing:-.04em}.hero p{color:var(--seedling);max-width:460px}.hero .eyebrow,.hero .caption{color:var(--seedling)}.hero .eyebrow{color:var(--sprout)}.hero-actions{display:flex;gap:24px;flex-wrap:wrap}.hero .link{color:var(--sprout)}.hero .secondary{color:var(--seedling)}.hero img{height:560px;object-fit:cover}.intro{background:var(--redwood);color:var(--seedling)}.intro .eyebrow{color:var(--sprout)}.intro .link{color:var(--sprout)}.wide,.gallery img{background:var(--mist)}.project img{object-fit:contain;background:var(--seedling)}.project h3{color:var(--redwood)}.gallery figcaption,.case-meta span{color:var(--pebble)}dialog{background:var(--seedling);color:var(--sow)}a:focus-visible,button:focus-visible,.zoom:focus-visible{outline:2px solid var(--terracotta);outline-offset:5px}.entry-title{font-size:18px;line-height:1.4;margin:0 0 8px;font-weight:500}.contact-email{font-family:Georgia,serif;font-size:clamp(21px,3vw,38px);color:var(--redwood);overflow-wrap:anywhere}.text-row h3{line-height:1.25}.hero figure{min-width:0}.meta{gap:12px}.project h3{font-size:30px}.project p{max-width:600px}@media(max-width:900px){.hero img{height:480px}}@media(max-width:600px){.hero h1{font-size:42px}.hero img{height:380px}.hero-actions{gap:10px 24px}.hero{padding:40px 6vw}.brand{font-size:14px}.brand span{font-size:7px}.text-row{gap:24px}}

/* Project-specific narratives, based on the original portfolio. */
.case-lead{font:400 clamp(27px,3.2vw,46px)/1.3 Georgia,serif;max-width:960px;margin:0 0 60px;color:var(--redwood)}
.case-section{margin-bottom:70px}.case-section .text-row h2{font:400 clamp(23px,2.5vw,32px)/1.3 Georgia,serif}.source-gallery{display:grid;grid-template-columns:1fr;gap:32px;margin:10px 0 45px}.source-gallery figure{margin:0;min-width:0}.source-gallery img{display:block;width:100%;height:auto;background:var(--seedling);cursor:zoom-in}.source-gallery figcaption{display:flex;justify-content:space-between;gap:16px;font-size:12px;padding-top:12px;color:var(--pebble)}.source-gallery figcaption span{white-space:nowrap}.source-gallery.pair{grid-template-columns:repeat(2,1fr)}.source-gallery.triple{grid-template-columns:repeat(3,1fr)}.source-gallery.quad{grid-template-columns:repeat(4,1fr)}.source-gallery.sequence{grid-template-columns:repeat(5,1fr);gap:18px}.source-gallery.sequence figcaption{display:block}.source-gallery.sequence figcaption span{display:block;margin-top:5px}.wide{background:var(--seedling)}
@media(max-width:900px){.source-gallery.triple,.source-gallery.quad,.source-gallery.sequence{grid-template-columns:repeat(2,1fr)}.case-section{margin-bottom:45px}}
@media(max-width:600px){.source-gallery.pair,.source-gallery.triple,.source-gallery.quad,.source-gallery.sequence{grid-template-columns:1fr}.case-lead{margin-bottom:35px}.source-gallery{gap:24px}.case-section{margin-bottom:40px}.source-gallery figcaption{font-size:11px}.case-study .text-row{gap:20px}}

/* Consistent project index: one feature followed by four aligned projects. */
#work{max-width:1600px;margin:auto;padding-top:80px;padding-bottom:90px}.section-head{margin-bottom:24px}.work-intro{max-width:680px;margin:0 0 48px;color:var(--pebble);font-size:15px;line-height:1.7}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:58px 36px}.project{display:block;min-width:0;border-top:1px solid var(--mist);padding-top:22px}.project:first-child{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.8fr);gap:5vw;padding:28px 0 38px;border-bottom:1px solid var(--mist)}.project:nth-child(4){grid-column:auto}.project-media{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;background:var(--seedling);overflow:hidden}.project img,.project:first-child img,.project:nth-child(4) img{width:100%;height:100%;object-fit:contain;background:transparent;transition:transform .3s}.project:hover img{filter:none;transform:scale(1.012)}.project:first-child .project-media{order:2;aspect-ratio:1.9/1;align-self:center}.project:first-child .project-copy{order:1;align-self:center}.project-copy{padding-top:20px}.project:first-child .project-copy{padding-top:0}.project .meta{margin-top:0;min-height:18px;font-size:10px;line-height:1.5;letter-spacing:.08em;align-items:baseline}.project h3{display:flex;justify-content:space-between;gap:18px;font-size:clamp(28px,3vw,40px);line-height:1.2;letter-spacing:-.02em;margin:14px 0 12px}.project:first-child h3{font-size:clamp(34px,3.9vw,54px)}.project-arrow{font:400 24px/1.4 sans-serif}.project p{font-size:14px;line-height:1.65;min-height:46px}.project-action{display:inline-block;font-size:12px;margin-top:22px;border-bottom:1px solid var(--mist);padding-bottom:4px}.feature-label{display:inline-block;margin:26px 0 0;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--redwood)}.project:hover{text-decoration:none}.project:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:7px}
/* Display integration only: untouched source files retain all original detail. */
.source-gallery img{background:transparent}.paper-blend{mix-blend-mode:multiply}.source-gallery figure{background:var(--seedling)}
@media(max-width:900px){.project:first-child{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:30px}.work-grid{gap:44px 26px}.project:first-child .project-media{aspect-ratio:4/3}.project:first-child h3{font-size:36px}}
@media(max-width:600px){#work{padding:44px 6vw 55px}.section-head{display:block}.section-head .eyebrow{display:block;margin-top:12px;font-size:9px}.work-intro{font-size:14px;margin-bottom:30px}.work-grid{grid-template-columns:1fr;gap:36px}.project:first-child{display:block;padding:22px 0 32px}.project:first-child,.project:nth-child(4){grid-column:auto}.project:first-child .project-media{aspect-ratio:1.9/1}.project:first-child .project-copy{padding-top:20px}.project h3,.project:first-child h3{font-size:30px}.feature-label{margin:12px 0 0}.project p{min-height:0}.project-media{aspect-ratio:4/3}.project-action{margin-top:16px}}
.project:hover h3{text-decoration:none;color:var(--terracotta)}


/* Keep each caption visibly attached to its own figure. */
.source-gallery{gap:60px 30px;margin:12px 0 48px;align-items:start}.source-gallery figure{padding-bottom:12px;border-bottom:1px solid var(--mist)}.source-gallery img{max-height:650px;object-fit:contain;margin:auto}.source-gallery figcaption{margin-top:0;padding-top:9px;line-height:1.5;font-size:12px;color:var(--sow)}.source-gallery figcaption span{color:var(--pebble);font-size:10px}.source-gallery.full figure{width:100%;max-width:1000px;justify-self:center}.source-gallery .full-span{grid-column:1/-1}.source-gallery.pair img{max-height:460px}.source-gallery .full-span img{max-height:540px}.source-gallery.quad img{max-height:400px}.source-gallery.sequence img{max-height:360px}.source-gallery.sequence{gap:28px 18px}.case-section{margin-bottom:80px;scroll-margin-top:105px}.case-section .text-row{padding-bottom:24px}.case-study .case-lead{margin-bottom:40px}.wide{display:block;max-width:1000px;max-height:580px;margin:0 auto;width:90%;height:auto}.hero-art{background:var(--seedling)}.hero .hero-art img{height:auto;max-height:560px;object-fit:contain;display:block}
/* Sticky chapter navigation with a current-location indicator. */
.case-navigation{position:sticky;top:0;z-index:20;background:var(--seedling);border-top:1px solid var(--mist);border-bottom:1px solid var(--mist);padding:14px 5vw;display:flex;align-items:center;gap:24px;box-shadow:0 3px 10px var(--sow)}.toc-label{font-size:10px;text-transform:uppercase;letter-spacing:.1em;white-space:nowrap}.toc-links{display:flex;gap:6px;overflow-x:auto;min-width:0;padding:2px 0}.toc-links a{font-size:11px;line-height:1.4;padding:8px 10px;white-space:nowrap;border-radius:2px}.toc-links a span{font-size:9px;opacity:1;color:var(--pebble);margin-right:4px}.toc-links a:hover{background:var(--mist);text-decoration:none}.toc-links a[aria-current]{background:var(--foliage);color:var(--seedling)}
@media(max-width:1100px){.case-navigation{gap:14px}.toc-links a{padding:8px;font-size:10px}}
@media(max-width:600px){.case-navigation{padding:10px 6vw;display:block}.toc-label{display:block;margin-bottom:4px}.toc-links{gap:3px}.toc-links a{font-size:11px;padding:7px 9px}.source-gallery{gap:42px;margin-bottom:32px}.source-gallery img,.source-gallery.pair img,.source-gallery.quad img,.source-gallery .full-span img{max-height:500px}.source-gallery .full-span{grid-column:auto}.source-gallery figcaption{font-size:11px;padding-top:7px}.case-section{scroll-margin-top:120px;margin-bottom:50px}.wide{max-height:420px}.hero .hero-art img{height:auto}}
.source-gallery.quad img{aspect-ratio:3/4;max-height:none;height:auto;object-fit:contain}.source-gallery.triple img{aspect-ratio:6/5;height:auto;object-fit:contain}
@media(max-width:600px){.source-gallery.quad img,.source-gallery.triple img{aspect-ratio:auto;max-height:500px}}

.chapter-select{display:none}@media(max-width:600px){.toc-links{display:none}.chapter-select{display:block;width:100%;padding:6px 0;border:0;background:var(--seedling);color:var(--sow);font-family:inherit;font-size:13px;line-height:1.4}}

/* Progressive detail: site → area → patch → planting. */
.scale-label{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--redwood);margin:0 0 14px;padding-left:14px;border-left:2px solid var(--terracotta)}
.detail-link{display:flex;justify-content:space-between;gap:20px;max-width:1000px;margin:0 auto;padding:15px 0;border-top:1px solid var(--mist);font-size:13px;color:var(--foliage);text-decoration:none}.detail-link:hover{text-decoration:underline}.detail-link span{font-size:18px}

/* Quiet editorial interface: content carries the hierarchy. */
#work .section-head{margin-bottom:48px}.project{border-top:0;padding-top:0}.project:first-child{border-top:0;padding-top:0}.project h3{display:block}.project-copy{padding-top:18px}.project .meta{letter-spacing:.04em}.project p{margin-top:8px}.source-gallery figure{border-bottom:0;padding-bottom:0}.source-gallery figcaption{display:block;color:var(--pebble);font-size:11px;padding-top:10px}.case-navigation{gap:0;box-shadow:none;padding-top:12px;padding-bottom:12px}.toc-links{width:100%;justify-content:space-between;gap:12px}.toc-links a{padding:6px 0;border-radius:0;border-bottom:1px solid transparent;color:var(--pebble)}.toc-links a:hover{background:none;color:var(--sow)}.toc-links a[aria-current]{background:none;color:var(--sow);border-bottom-color:var(--sow)}.scale-label{border:0;padding:0;letter-spacing:.09em;color:var(--pebble);font-size:10px;margin-bottom:16px}.case-section{margin-bottom:96px}.case-section .text-row{border-top:0;padding-top:0}.case-meta{padding-top:40px;padding-bottom:40px}.case-study{padding-top:76px}.next{font-size:13px}.hero .link{font-size:13px}.hero-actions{gap:28px}header{padding-top:28px;padding-bottom:28px}footer{padding-top:28px;padding-bottom:28px}
@media(max-width:600px){#work .section-head{margin-bottom:32px}.case-section{margin-bottom:64px}.case-study{padding-top:44px}.case-navigation{padding:12px 6vw}.case-meta{padding-top:28px;padding-bottom:28px}.project:first-child{padding-top:0}.source-gallery figcaption{font-size:10px}.chapter-select{padding:4px 0}}

/* Concise project copy and deliberate image proportions. */
.section-copy{max-width:720px;min-width:0}.section-copy p{font-size:15px;line-height:1.8;margin:0 0 16px;max-width:68ch}.section-copy p:last-child{margin-bottom:0}.section-copy strong{color:var(--rainfall);font-weight:600}.source-gallery.site-context figure:not(.full-span) img{width:100%;height:auto;aspect-ratio:3/2;max-height:none;object-fit:cover}.source-gallery .compact-profile{grid-column:1/-1;width:min(100%,680px);justify-self:center}.source-gallery .compact-profile img{height:auto;max-height:180px;object-fit:contain}.case-section .text-row{align-items:start}.case-section .text-row h2{max-width:14em}
@media(max-width:600px){.section-copy p{font-size:14px;line-height:1.75;margin-bottom:14px}.source-gallery .compact-profile{grid-column:auto;width:100%}.source-gallery .compact-profile img{max-height:130px}.source-gallery.site-context figure:not(.full-span) img{aspect-ratio:3/2}}

/* Site research is grouped by the question each drawing investigates. */
.research-group{margin:44px 0 60px}.research-group:last-child{margin-bottom:0}.research-heading{display:grid;grid-template-columns:1fr 2fr;gap:8vw;align-items:start;padding:20px 0 28px;border-top:1px solid var(--mist)}.research-heading h3{font:400 23px/1.3 Georgia,serif;margin:0;color:var(--foliage)}.research-heading p{margin:0;font-size:14px;line-height:1.8;max-width:65ch}.research-group .source-gallery{margin-bottom:0}.source-gallery.terrain-research figure:not(.compact-profile){max-width:1000px;justify-self:center}.source-gallery.impact-research img{max-height:700px}.source-gallery.concept-gallery .full-span{width:100%;max-width:1100px;justify-self:center}.source-gallery.concept-gallery .full-span img{max-height:680px}.source-gallery.concept-gallery figure:not(.full-span) img{width:100%;height:auto;aspect-ratio:1.414;max-height:none;object-fit:contain}
@media(max-width:600px){.research-group{margin:32px 0 44px}.research-heading{grid-template-columns:1fr;gap:12px;padding:18px 0 22px}.research-heading h3{font-size:21px}.research-heading p{font-size:14px}.source-gallery.concept-gallery .full-span img{max-height:480px}.source-gallery.impact-research img{max-height:500px}}

/* Shared proportions for the remaining project narratives. */
.source-gallery.aligned-drawings img{aspect-ratio:3/2;width:100%;height:auto;max-height:none;object-fit:contain}.source-gallery.aligned-views img{aspect-ratio:16/10;width:100%;height:auto;max-height:none;object-fit:contain}.source-gallery.section-drawings img{aspect-ratio:4/1;width:100%;height:auto;max-height:none;object-fit:contain}.source-gallery.form-sequence img{aspect-ratio:1;width:100%;height:auto;max-height:280px;object-fit:contain}.source-gallery.primary-drawing img{max-height:650px}.source-gallery.primary-view img{max-height:600px}.source-gallery.portrait-drawing figure{max-width:720px}.source-gallery.portrait-drawing img{max-height:650px}.source-gallery.narrow-drawing figure{max-width:400px}.source-gallery.narrow-drawing img{max-height:480px}.source-gallery.compact-sequence img{max-height:190px}.source-gallery.research-board img{max-height:600px}
@media(max-width:600px){.source-gallery.form-sequence img{max-height:320px}.source-gallery.primary-drawing img,.source-gallery.primary-view img,.source-gallery.portrait-drawing img,.source-gallery.research-board img{max-height:500px}.source-gallery.narrow-drawing img{max-height:360px}.source-gallery.compact-sequence img{max-height:120px}.source-gallery.section-drawings img{aspect-ratio:auto}}

/* A quiet full-width closing row keeps a six-project index balanced. */
@media(min-width:601px){.work-grid .project:last-child:nth-child(even){grid-column:1/-1;display:grid;grid-template-columns:1.35fr 1fr;gap:5vw;align-items:center}.work-grid .project:last-child:nth-child(even) .project-media{aspect-ratio:1.9/1}.work-grid .project:last-child:nth-child(even) .project-copy{padding-top:0}}

/* Interface colours stay within the supplied nine-colour palette. */
dialog button{color:var(--sow)}::selection{background:var(--redwood);color:var(--seedling)}.chapter-select:focus-visible{outline:2px solid var(--terracotta);outline-offset:5px}

/* One continuous master-plan narrative, with enlargements and time sequences. */
.story-group{margin:56px 0 72px}.story-group:first-of-type{margin-top:12px}.sequence-copy{max-width:760px;margin:0 0 28px;font-size:15px;line-height:1.8}.sequence-copy p{margin:0 0 16px}.sequence-copy strong{color:var(--rainfall);font-weight:600}.source-gallery.time-studies img{aspect-ratio:auto;max-height:none}.source-gallery.time-studies{gap:30px}.source-gallery.time-studies figcaption,.source-gallery.local-timeline figcaption{color:var(--sow)}
@media(max-width:900px) and (min-width:601px){.source-gallery.time-studies{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.story-group{margin:36px 0 48px}.sequence-copy{font-size:14px;line-height:1.75}.source-gallery.time-studies{grid-template-columns:1fr}.source-gallery.time-studies img{max-height:500px}}

.strategy-flow{margin:20px 0 0}.strategy-flow ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px;list-style:none;margin:0;padding:0}.strategy-flow li{position:relative;min-width:0;border-top:1px solid var(--mist);padding-top:18px}.flow-label{display:block;color:var(--pebble);font-size:10px;letter-spacing:.06em;line-height:1.6}.strategy-flow li>svg:not(.flow-connector){display:block;width:100%;height:auto;margin:22px 0 14px;overflow:visible}.flow-terrain,.flow-gullies,.flow-soil,.flow-plants{fill:none;stroke-linecap:round;stroke-linejoin:round}.flow-terrain{stroke:var(--sow);stroke-width:1.4}.flow-gullies{stroke:var(--pebble);stroke-width:2}.flow-soil{stroke:var(--terracotta);stroke-width:4}.flow-plants{stroke:var(--foliage);stroke-width:1.7}.strategy-flow h3{font:400 22px/1.25 Georgia,serif;color:var(--foliage);margin:0 0 14px;max-width:12em}.strategy-flow li p{font-size:13px;line-height:1.75;margin:0;color:var(--sow)}.flow-connector{position:absolute;top:99px;right:-34px;width:28px;height:16px;fill:none;stroke:var(--pebble);stroke-width:1}.strategy-flow figcaption{margin-top:28px;font-size:10px;line-height:1.6;color:var(--pebble)}
@media(min-width:601px) and (max-width:900px){.strategy-flow ol{gap:24px}.strategy-flow h3{font-size:19px}.strategy-flow li p{font-size:12px}.flow-connector{right:-23px;width:20px;top:85px}}
@media(max-width:600px){.strategy-flow{margin-top:12px}.strategy-flow ol{grid-template-columns:1fr;gap:42px}.strategy-flow li{display:grid;grid-template-columns:110px minmax(0,1fr);column-gap:20px;padding-top:18px}.flow-label{grid-column:1/-1;margin-bottom:16px}.strategy-flow li>svg:not(.flow-connector){grid-column:1;grid-row:2/4;margin:6px 0 0}.strategy-flow h3{grid-column:2;margin-bottom:10px;font-size:21px}.strategy-flow li p{grid-column:2;font-size:13px}.flow-connector{top:auto;bottom:-31px;right:calc(50% - 14px);transform:rotate(90deg);width:28px}.strategy-flow figcaption{margin-top:24px}}

.design-priorities{margin:22px 0 0;padding:0 0 0 18px}.design-priorities li{font-size:14px;line-height:1.75;margin-bottom:10px;padding-left:5px}.design-priorities li::marker{color:var(--mist)}.project-closing{max-width:760px;border-top:1px solid var(--mist);padding-top:24px;margin:36px 0 0}.project-closing p{font-size:14px;line-height:1.8;margin:0 0 14px}.project-closing p:last-child{margin-bottom:0}.wide.diagram-hero{width:min(88%,712px);max-height:580px}.source-gallery.context-map{grid-template-columns:2fr 1fr;align-items:center}.source-gallery.context-map figure:first-child img{max-height:390px}.source-gallery.context-map figure:last-child img{max-height:390px}.source-gallery.context-map figure:last-child{max-width:180px;justify-self:center}.source-gallery.concept-stages img{aspect-ratio:713/611;object-fit:contain;max-height:none}.source-gallery.context-view figure{max-width:820px}
@media(max-width:600px){.design-priorities li{font-size:13px;line-height:1.7}.project-closing{margin-top:28px;padding-top:20px}.project-closing p{font-size:13px}.source-gallery.context-map{grid-template-columns:1fr}.source-gallery.context-map figure:last-child{max-width:145px}.source-gallery.concept-stages{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px}.source-gallery.concept-stages figcaption{font-size:10px}}

/* A more open home layout, with quieter numbering and a simple brand. */
.hero{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:7vw;padding:96px 5vw 104px}.hero>div{min-width:0}.hero h1{font-size:clamp(42px,4vw,64px);line-height:1.15;margin:26px 0 30px}.hero p{max-width:430px;font-size:15px;line-height:1.85}.hero-actions{gap:32px;margin-top:12px}.hero .hero-art img{max-height:470px}.hero .caption{margin-top:20px;gap:20px;line-height:1.6}#work{max-width:1440px;padding-top:112px;padding-bottom:128px}#work .section-head{margin-bottom:64px}.work-grid{gap:100px 64px}.project-media{aspect-ratio:3/2}.project-copy{padding-top:24px}.project h3{font-size:clamp(28px,2.5vw,36px);margin:18px 0 12px}.project p{max-width:480px;font-size:14px;line-height:1.8;min-height:0}.project:first-child{grid-template-columns:minmax(0,1fr) minmax(0,1.65fr);gap:64px;padding-bottom:52px}.project:first-child h3{font-size:clamp(34px,3.5vw,48px)}.work-grid .project:last-child:nth-child(even){gap:64px}.intro{gap:9vw;padding:96px 5vw}.intro h2{font-size:clamp(32px,3.8vw,50px);line-height:1.25}.intro p{font-size:15px;line-height:1.9}
@media(min-width:601px) and (max-width:1000px){.hero{grid-template-columns:1fr;gap:54px;padding-top:72px;padding-bottom:80px}.hero h1{font-size:56px;max-width:650px}.hero p{max-width:540px}.hero figure{max-width:760px;width:100%;justify-self:center}.hero .hero-art img{max-height:440px}.work-grid{gap:76px 38px}.project:first-child{gap:36px;grid-template-columns:1fr 1.3fr}.project:first-child h3{font-size:36px}.work-grid .project:last-child:nth-child(even){gap:38px}.intro{gap:48px}}
@media(max-width:600px){header{padding-top:24px;padding-bottom:24px}.hero{grid-template-columns:1fr;gap:48px;padding:58px 6vw 64px}.hero h1{font-size:40px;line-height:1.15;margin:22px 0 26px}.hero p{font-size:14px;line-height:1.85}.hero-actions{gap:28px;margin-top:8px}.hero .caption{font-size:10px;margin-top:16px}#work{padding:64px 6vw 80px}#work .section-head{margin-bottom:44px}.work-grid{grid-template-columns:1fr;gap:60px}.project:first-child{display:block;padding:0 0 36px}.project-copy,.project:first-child .project-copy{padding-top:22px}.project h3,.project:first-child h3{font-size:30px;margin-top:16px}.project p{font-size:13px}.project-media{aspect-ratio:3/2}.intro{grid-template-columns:1fr;gap:32px;padding:64px 6vw}.intro h2{font-size:34px}.intro p{font-size:14px}}

/* Frame the drawing itself instead of the original sheet's empty margins. */
.source-gallery .image-frame{width:100%;aspect-ratio:16/10;display:flex;align-items:center;justify-content:center}.source-gallery .image-crop{position:relative;overflow:hidden;width:min(100%,calc(var(--crop-ratio) / 1.6 * 100%));aspect-ratio:var(--crop-ratio)}.source-gallery .image-crop img{position:absolute;width:var(--crop-width);height:auto;max-width:none;max-height:none;aspect-ratio:auto;left:var(--crop-left);top:var(--crop-top);margin:0;object-fit:initial}.image-frame:focus-within{outline:2px solid var(--terracotta);outline-offset:5px}.image-crop img:focus-visible{outline:none}

.home-site-cover{position:relative;aspect-ratio:2481/824;overflow:hidden;max-height:none}.home-site-cover img{position:absolute;width:33.212414%;height:auto;max-width:none;max-height:none;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-90deg);display:block}

.source-gallery.site-aerial .home-site-cover{width:100%;max-height:none}.source-gallery.site-aerial .home-site-cover img{width:33.212414%;height:auto;max-height:none;margin:0;object-fit:initial}

.source-gallery.home-section-baselines .image-frame{aspect-ratio:3/2;align-items:flex-end}.source-gallery.home-section-baselines .image-crop{width:100%}

#home-section-1 .site-aerial figcaption{display:none}

#nature-section-2 .source-gallery.compact-site-plan figure{width:min(37.776%,377.76px);max-width:377.76px}#nature-section-2 .source-gallery.compact-site-plan img{max-height:none}

#nature-section-3 .source-gallery.section-drawings figure{width:min(66.352%,663.52px);max-width:663.52px}#nature-section-3 .source-gallery.section-drawings img{aspect-ratio:auto;max-height:none}

#nature-section-3 .source-gallery.primary-drawing figure{width:min(80%,800px);max-width:800px}

/* Keep source-backed emphasis consistent across project copy. */
.research-heading strong,.project-closing strong{color:var(--rainfall);font-weight:600}

/* Former airport aerial: narrower display with the source aspect ratio. */
#modern-section-1 .context-view figure{width:100%;max-width:680px}
#modern-section-1 .context-view img{width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain}

/* Desaturate the airport source photograph without changing its pixels or geometry. */
.grayscale-image{filter:grayscale(1)}

/* Individual captions for the original two-row design-analysis plate. */
.diagram-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px 12px}
.source-gallery .diagram-tile{width:100%;max-width:none;margin:0}
.diagram-window{position:relative;overflow:hidden;aspect-ratio:1991/2304}
.source-gallery .diagram-window img{position:absolute;width:400%;height:auto;max-height:none;max-width:none;left:calc(var(--diagram-column) * -100%);top:calc(var(--diagram-row) * -100%);margin:0;object-fit:contain;cursor:zoom-in}
.source-gallery .diagram-tile figcaption{text-align:center;font-size:12px;font-weight:500;line-height:1.5;color:var(--sow);padding-top:8px;min-height:26px}
@media(max-width:600px){.diagram-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 10px}.source-gallery .diagram-tile figcaption{font-size:11px}}

/* Restore complete Milan research diagrams at their native proportions. */
#milan-section-2 .milan-complete-diagrams img{width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain}

/* Reduce only the two complete Milan user diagrams. */
#milan-section-2 .milan-complete-diagrams figure{width:100%;max-width:760px}

#milan-section-5 .native-view-ratios img,#milan-section-1 .native-drawing img{aspect-ratio:auto;width:100%;height:auto;max-height:none;object-fit:contain}

#milan-section-3 .native-view-ratios img{aspect-ratio:auto;width:100%;height:auto;max-height:none;object-fit:contain}

#milan-section-2 .native-drawing img,#milan-section-3 .native-drawing img{aspect-ratio:auto;width:100%;height:auto;max-height:none;object-fit:contain}
#milan-section-3 .milan-complete-diagrams figure{width:100%;max-width:760px}
#milan-section-3 .milan-complete-diagrams img{aspect-ratio:auto;width:100%;height:auto;max-height:none;object-fit:contain}
#milan-section-5 .ground-level-views{grid-template-columns:repeat(3,minmax(0,1fr))}
#milan-section-5 .ground-level-views figure{width:100%;max-width:none;justify-self:stretch}
#milan-section-5 .ground-level-views img{width:100%;height:auto;aspect-ratio:3/2;object-fit:fill;max-height:none}

#viewer img.narrow-perspective{width:min(90vw,135vh);height:auto;max-height:none;aspect-ratio:3/2;object-fit:fill}

/* Shared project metadata and project-led home introduction. */
.case-meta{grid-template-columns:repeat(3,minmax(0,1fr))}
.portfolio-intro{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center;padding:52px 5vw 58px;background:var(--foliage);color:var(--seedling)}
.portfolio-intro .eyebrow{color:var(--sprout)}
.portfolio-intro h1{font:400 clamp(40px,4.8vw,68px)/1.12 Georgia,serif;letter-spacing:-.035em;margin:16px 0 0}
.portfolio-intro p{font-size:15px;line-height:1.8;max-width:510px;margin:0}
.portfolio-intro .link{color:var(--sprout);font-size:13px;margin-top:16px}
.portfolio-intro + #work{padding-top:60px}
@media(max-width:600px){.case-meta{gap:16px;font-size:12px}.portfolio-intro{grid-template-columns:1fr;gap:24px;padding:36px 6vw 40px}.portfolio-intro h1{font-size:42px}.portfolio-intro p{font-size:14px}.portfolio-intro + #work{padding-top:44px}}

.next-project{display:flex;flex-direction:column;align-items:flex-end;gap:6px;text-align:right}
.next-project small{font-size:11px;line-height:1.5;color:var(--pebble);font-weight:400}
.education-head{margin-top:64px}

/* A project-led opening with a full-width image and clear editorial hierarchy. */
.home-featured{display:block;background:var(--seedling);color:var(--sow);padding:34px 5vw 0;max-width:1800px;margin:0 auto}
.home-kicker{display:flex;justify-content:space-between;gap:24px;align-items:center;font-size:10px;line-height:1.6;letter-spacing:.1em;text-transform:uppercase;color:var(--foliage);margin-bottom:24px}
.featured-project{display:block;min-width:0}
.featured-project:hover{text-decoration:none}
.featured-heading h1{font:400 clamp(58px,9vw,142px)/1.02 Georgia,serif;letter-spacing:-.06em;margin:0;color:var(--sow)}
.featured-summary{display:flex;justify-content:space-between;align-items:center;gap:32px;margin:22px 0 28px}
.featured-summary p{font-size:15px;line-height:1.55;max-width:620px;margin:0;color:var(--foliage)}
.featured-view{flex:none;display:inline-block;background:var(--foliage);color:var(--seedling);padding:10px 20px;font-size:12px;line-height:1.6;letter-spacing:.02em}
.featured-project:hover .featured-view{background:var(--redwood)}
.featured-image{height:clamp(340px,43vw,620px);background:var(--seedling);overflow:hidden}
.featured-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.home-profile{display:flex;align-items:center;justify-content:space-between;gap:48px;padding:26px 0;border-bottom:1px solid var(--mist)}
.home-profile p{max-width:660px;margin:0;color:var(--pebble);font-size:13px;line-height:1.8}
.home-profile .link{flex:none;margin-top:0;font-size:13px;color:var(--foliage)}
.home-featured + #work{padding-top:80px}
.supporting-projects .project:first-child{display:block;grid-column:auto;border-bottom:0;padding:0}
.supporting-projects .project:first-child .project-media{order:initial;aspect-ratio:3/2;align-self:auto}
.supporting-projects .project:first-child .project-copy{order:initial;padding-top:24px;align-self:auto}
.supporting-projects .project:first-child h3{font-size:clamp(28px,2.5vw,36px)}
@media(min-width:601px){.supporting-projects .project:last-child{grid-column:1/-1;display:grid;grid-template-columns:1.35fr 1fr;gap:64px;align-items:center}.supporting-projects .project:last-child .project-media{aspect-ratio:1.9/1}.supporting-projects .project:last-child .project-copy{padding-top:0}}
@media(min-width:601px) and (max-width:1000px){.home-featured{padding-top:30px}.featured-summary p{font-size:14px;max-width:440px}.home-profile{gap:32px}.supporting-projects .project:last-child{gap:38px}}
@media(max-width:600px){.home-featured{padding:28px 6vw 0}.home-kicker{font-size:9px;letter-spacing:.055em;gap:18px;margin-bottom:24px;align-items:flex-start}.home-kicker span:last-child{text-align:right}.featured-heading h1{font-size:clamp(46px,12vw,68px);line-height:1.02;letter-spacing:-.045em}.featured-summary{display:block;margin:18px 0 24px}.featured-summary p{font-size:13px;line-height:1.65}.featured-view{margin-top:18px;padding:8px 16px;font-size:11px}.featured-image{height:auto;aspect-ratio:2500/1768}.featured-image img{object-fit:contain}.home-profile{display:block;padding:22px 0}.home-profile p{font-size:12px}.home-profile .link{margin-top:16px;font-size:12px}.home-featured + #work{padding-top:48px}.supporting-projects .project:first-child .project-copy{padding-top:22px}.supporting-projects .project:first-child h3{font-size:30px}}

/* Diagram widths relative to their original display widths. */
#milan-section-2 .population-scale-80 figure{width:80%;max-width:800px}
#milan-section-3 .concept-scale-70 figure{width:70%;max-width:700px}
#milan-section-3 .spatial-priorities-scaled figure{width:70%;max-width:532px}
@media(max-width:600px){#milan-section-5 .ground-level-views{grid-template-columns:1fr}}
