/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@layer theme{:host,:root{--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1)}}@layer base,components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.static{position:static}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-51{margin:calc(var(--spacing) * 51)}.block{display:block}.contents{display:contents}.hidden{display:none}.inline{display:inline}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--ink:#162727;--muted:#60706d;--paper:#f7f9f6;--white:#fff;--line:#dce3de;--accent:#cbff4a;--deep:#0f3638;--max:1180px;--type-small:14px;--type-body:18px;--type-heading:32px;--type-display:56px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font:var(--type-body)/1.6 DM Sans,sans-serif;margin:0}a{color:inherit;text-decoration:none}img{width:100%;display:block}button{font:inherit}.wrap{width:min(calc(100% - 40px),var(--max));margin:auto}.nav{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f7f9f6e6;border-bottom:1px solid #16272714;transition:transform .22s;position:sticky;top:0}.nav.is-collapsed{pointer-events:none;transform:translateY(-100%)}.nav.is-collapsed:focus-within{pointer-events:auto;transform:none}@media (prefers-reduced-motion:reduce){.nav{transition:none}}.nav-in{justify-content:space-between;align-items:center;height:74px;display:flex}.mark{font:700 var(--type-body)/1.6 Manrope,sans-serif;letter-spacing:-.03em}.links{font-size:var(--type-small);align-items:center;gap:30px;font-weight:600;display:flex}.links a:hover{opacity:.6}.pill{border:1px solid var(--ink);border-radius:999px;padding:10px 16px}.hero{padding:70px 0 52px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:var(--type-small);color:var(--muted);font-weight:700}.work-heading h4,h1,h2,h3{letter-spacing:-.045em;margin:0;font-family:Manrope,sans-serif}h1{font-size:var(--type-display);max-width:1080px;margin:20px 0 30px;line-height:.94}.lime{background:var(--accent);border-radius:.12em;padding:0 .11em;display:inline-block}.intro{display:block}.intro p{font-size:var(--type-body);max-width:770px;margin:0;line-height:1.45}.hero-about-copy{display:block}.hero-about-copy strong{font-weight:600}.hero .wrap{container-type:inline-size}.hero h1{max-width:none}.hero-intro-with-cue{flex-direction:column;align-items:stretch;display:flex}.hero-intro-with-cue p{text-align:left;max-width:640px;line-height:1.6}.hero-intro-with-cue .hero-swipe-cue{align-self:flex-end;margin-top:12px}.hero .hero-action{color:var(--ink);font:600 var(--type-body)/1.6 DM Sans,sans-serif}.hero-swipe-cue{cursor:pointer;text-align:left;background:0 0;border:0;padding:14px 0;display:block}.hero-action-label{border-bottom:1px solid var(--ink);align-items:center;gap:6px;display:inline-flex}.hero-swipe-cue small{font-size:var(--type-small);color:var(--ink);margin-top:5px;font-weight:400;display:block}.hero .hero-action svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:.85em;height:.85em}.hero-gallery{scroll-snap-type:x mandatory;scrollbar-width:none;align-items:flex-start;height:calc(62.63cqw + 36px);margin-top:40px;display:flex;overflow:auto hidden}.hero-gallery.is-personal{height:auto}.hero-gallery::-webkit-scrollbar{display:none}.hero-gallery-slide{scroll-snap-align:start;flex:0 0 100%;min-width:0}.hero-gallery .hero-visual{margin-top:0}.hero-personal-slide{grid-template-columns:1fr 1fr;align-items:center;gap:40px;padding:32px;display:grid}.hero-personal-slide>img{object-fit:contain;justify-self:center;width:min(100%,340px);max-height:550px}.drawing-portrait{justify-self:center;width:min(100%,380px)}.drawing-portrait svg{width:100%;height:auto;display:block}.drawing-hand{transform-origin:201px 620px}.drawing-head{transform-origin:367px 410px}.drawing-ink{stroke-dasharray:180;stroke-dashoffset:0}.drawing-portrait.is-playing .drawing-hand{animation:drawing-wrist 5s ease-in-out both}.drawing-portrait.is-playing .drawing-head{animation:drawing-nod 5s ease-in-out both}.drawing-portrait.is-playing .drawing-ink{animation:drawing-lines 5s ease-in-out both}@keyframes drawing-wrist{0%,12%,to{transform:rotate(0)}24%{transform:rotate(-2deg)translate(-1px,-1px)}36%{transform:rotate(1.5deg)translate(2px)}48%{transform:rotate(-1.4deg)translateY(-1px)}62%{transform:rotate(1.8deg)translate(2px)}76%{transform:rotate(-1deg)translate(-1px,-1px)}90%{transform:rotate(.5deg)}}@keyframes drawing-nod{0%,to{transform:rotate(0)}25%,65%{transform:rotate(1deg)translateY(1px)}85%{transform:rotate(.3deg)}}@keyframes drawing-lines{0%,15%{stroke-dashoffset:180px}85%,to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.drawing-portrait.is-playing .drawing-hand,.drawing-portrait.is-playing .drawing-head,.drawing-portrait.is-playing .drawing-ink{animation:none}}.hero-personal-slide h2{font-size:var(--type-heading)}.hero-personal-slide p{line-height:1.45}.hero-gallery-back{font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.hero-bottom-links{justify-content:space-between}.hero-bottom-links .hero-action{align-items:center;gap:6px;display:inline-flex}.hero-meta{color:var(--ink);font-size:var(--type-body);flex-wrap:wrap;align-items:baseline;gap:6px 16px;margin-bottom:24px;display:flex}.hero-meta strong{color:var(--ink);font:inherit}.hero-meta>span{border-left:1px solid var(--line);padding-left:16px}.hero-current-role{font:inherit}.self-portrait{z-index:1;background:0 0;border:0;width:clamp(140px,20vw,260px);margin:0;padding:0;display:block;position:absolute;bottom:-5px;right:0}.self-portrait img{width:100%;height:auto;display:block}.self-portrait .portrait-motion{position:absolute;inset:0}.self-portrait:focus-visible{outline:2px solid var(--deep);outline-offset:6px;border-radius:8px}.hero-visual{background:#dce7df;height:min(58vw,650px);margin-top:55px;position:relative;overflow:hidden}.hero-visual>img{object-fit:cover;object-position:center 35%;height:100%}.hero-visual.hero-visual-arch{background:0 0;height:auto}.hero-visual-arch>img{object-fit:contain;object-position:center bottom;width:100%;height:auto;display:block}.caption{font-size:var(--type-small);background:#f7f9f6ed;border-radius:3px;max-width:300px;padding:12px 16px;position:absolute;bottom:20px;left:20px}section{padding:90px 0}.section-head{justify-content:space-between;align-items:end;gap:40px;margin-bottom:38px;display:flex}.section-head h2{font-size:var(--type-display);line-height:1}.section-head p{max-width:500px;color:var(--muted);margin:0}.dark{background:var(--deep);color:#eef3ec}.dark .eyebrow,.dark .section-head p{color:#aebfba}.principles{background:#446061;border:1px solid #446061;grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.principle{background:var(--deep);min-height:240px;padding:34px}.num{color:var(--accent);font:600 var(--type-small) Manrope,sans-serif}.principle h3{font-size:var(--type-heading);text-wrap:balance;margin:52px 0 12px;line-height:1.2}.principle p{color:#bdd0ca;margin:0}.projects{grid-template-columns:repeat(12,1fr);gap:24px;display:grid}.card{border-top:1px solid var(--line);grid-column:span 6;margin-bottom:38px;padding-top:16px}.card.wide{grid-column:span 12}.card-img{background:#e1e8e3;height:360px;margin-bottom:22px;overflow:hidden}.wide .card-img{height:520px}.card-img img{object-fit:cover;height:100%;transition:transform .5s}.card:hover img{transform:scale(1.018)}.tag{font-size:var(--type-small);color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.card h3{font-size:var(--type-heading);margin:9px 0}.card p{color:var(--muted);max-width:760px;margin:0}.facts{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.facts span{border:1px solid var(--line);font-size:var(--type-small);color:var(--muted);border-radius:999px;padding:6px 10px}.case{border-bottom:1px solid var(--line);padding:100px 0}.case-title{grid-template-columns:.82fr 1.18fr;align-items:end;gap:70px;margin-bottom:42px;display:grid}.case-title h2{font-size:var(--type-display);line-height:.98}.case-title p{font-size:var(--type-body);color:var(--muted);margin:0}.case-hero{background:#e2e8e4;height:min(64vw,720px);overflow:hidden}.case-hero img{object-fit:cover;height:100%}.case-hero.contain img{object-fit:contain;background:#fff}.case-grid{grid-template-columns:1.35fr .65fr;gap:24px;margin-top:24px;display:grid}.case-grid.equal{grid-template-columns:1fr 1fr}.case-visual{background:#e5eae6;min-height:340px;overflow:hidden}.case-visual img{object-fit:cover;height:100%}.case-visual.contain img{object-fit:contain;background:#fff}.case-note{background:var(--ink);color:#eef3ec;flex-direction:column;justify-content:space-between;padding:34px;display:flex}.case-note h3{font-size:var(--type-heading)}.case-note p{color:#bfd0cb;margin:18px 0}.case-note .facts span{color:#d9e4e0;border-color:#536361}.evidence{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px;display:grid}.evidence a{border:1px solid var(--line);padding:22px;transition:background .2s;display:block}.evidence a:hover{background:#eef2ed}.evidence b{font:600 var(--type-body) Manrope,sans-serif;margin:8px 0;display:block}.evidence span{color:var(--muted);font-size:var(--type-small)}.practice-gallery{grid-template-columns:1fr 1fr;gap:24px;display:grid}.practice-shot{background:#e5eae6;min-height:430px;position:relative;overflow:hidden}.practice-shot img{object-fit:cover;height:100%}.practice-shot figcaption{font-size:var(--type-small);background:#f7f9f6f0;max-width:calc(100% - 32px);padding:10px 13px;position:absolute;bottom:16px;left:16px}.archive{border-top:1px solid var(--line);grid-template-columns:repeat(2,1fr);display:grid}.archive-item{border-bottom:1px solid var(--line);grid-template-columns:46px 1fr;gap:14px;padding:25px 24px 25px 0;display:grid}.archive-item:nth-child(2n){border-left:1px solid var(--line);padding-left:24px}.archive-item b{font-family:Manrope,sans-serif;font-size:var(--type-body);line-height:1.3}.archive-item p{color:var(--muted);font-size:var(--type-small);grid-column:2;margin:2px 0 0}.archive-item .idx{color:#91a09b;font-size:var(--type-small)}.work-showcase{padding:100px 0}.work-list{gap:80px;display:grid}.work-project{border-top:1px solid var(--line);padding-top:22px}.work-number{font:600 var(--type-small) Manrope,sans-serif;color:#91a09b}.work-heading{grid-template-columns:.78fr 1.22fr;align-items:end;gap:56px;margin:10px 0 28px;display:grid}.work-heading h4{font-size:var(--type-heading);line-height:1}.work-heading p{color:var(--muted);font-size:var(--type-body);margin:0}.work-preview{grid-template-columns:1.45fr .55fr;gap:12px;display:grid}.work-preview.one{grid-template-columns:1fr}.work-preview img{object-fit:cover;background:#e3e9e5;height:420px}.work-gallery .contain,.work-preview .contain{object-fit:contain;background:#fff}.project-more{border-top:1px solid var(--line);margin-top:18px}.project-more summary{cursor:pointer;border:1px solid var(--ink);border-radius:999px;align-items:center;gap:10px;margin-top:18px;padding:11px 18px;font-weight:600;list-style:none;display:inline-flex}.project-more summary::-webkit-details-marker{display:none}.project-more summary:after{content:"+";font-size:var(--type-body);line-height:1}.project-more[open] summary:after{content:"−"}.project-more .project-less-label,.project-more[open] .project-more-label{display:none}.project-more[open] .project-less-label{display:inline}.project-body{grid-template-columns:.7fr 1.3fr;gap:44px;padding:32px 0 12px;display:grid}.project-body p{color:var(--muted);margin:0}.project-body strong{font:600 var(--type-body) Manrope,sans-serif}.project-copy p+p{margin-top:14px}.project-copy h4{font:600 var(--type-body) Manrope,sans-serif;margin:26px 0 8px}.source-links{flex-wrap:wrap;gap:10px 20px;margin-top:18px;display:flex}.source-link{border-bottom:1px solid var(--ink);font-weight:600;display:inline-block}.external-arrow{vertical-align:-.05em;width:.85em;height:.85em;display:inline-block}.project-note{font-size:var(--type-small);background:#eef2ef;border-left:3px solid #9eb8b1;padding:16px 18px;line-height:1.55;color:#53635f!important;margin-top:24px!important}.work-gallery{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.work-gallery img{object-fit:cover;background:#e3e9e5;height:280px}.work-gallery img:first-child:last-child{grid-column:1/-1;height:420px}.pershing-gallery{grid-template-columns:1fr}.pershing-gallery figure{margin:0}.pershing-gallery figure img,.pershing-gallery figure img:first-child:last-child{object-fit:contain;background:0 0;width:100%;height:auto}.pershing-gallery figcaption{color:var(--muted);font-size:var(--type-small);margin-top:10px;margin-bottom:20px}.career{grid-template-columns:.62fr 1.38fr;gap:72px;display:grid}.career h2{font-size:var(--type-display);line-height:1}.career-intro{align-self:start;position:sticky;top:118px}.career-intro>p{color:#aebfba;max-width:360px;margin:28px 0 0}.timeline{border-top:1px solid #446061}.role{border-bottom:1px solid #446061;grid-template-columns:128px 1fr;gap:24px;padding:34px 0;display:grid}.role time{color:#aebfba;font-size:var(--type-small)}.role-head{justify-content:space-between;align-items:start;gap:24px;display:flex}.role strong{font:600 var(--type-heading) Manrope,sans-serif;display:block}.role-title{color:#aebfba;font-size:var(--type-small);text-align:right;max-width:300px}.role-copy{color:#d7e1de;max-width:740px;margin:18px 0 0}.role-copy p{margin:0 0 14px}.role-copy ul{color:#bfd0cb;margin:0;padding-left:19px}.role-copy li{margin:7px 0;padding-left:3px}.role-projects{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.role-projects span{color:#d5e2de;font-size:var(--type-small);border:1px solid #536d6b;border-radius:999px;padding:6px 10px}.credentials{color:#c6d5d1;border-top:1px solid #446061;flex-wrap:wrap;gap:28px;margin-top:42px;padding-top:25px;display:flex}.credentials b{color:var(--accent)}.contact{background:var(--accent);padding:110px 0}.contact h2{font-size:var(--type-display);max-width:1000px;line-height:.96}.contact-row{grid-template-columns:1fr auto;align-items:end;gap:50px;margin-top:55px;display:grid}.contact-copy>p{max-width:580px;margin:0}.contact-details{flex-wrap:wrap;gap:30px;margin-top:30px;display:flex}.contact-details span{font-size:var(--type-small);text-transform:uppercase;letter-spacing:.1em;margin-bottom:3px;font-weight:700;display:block}.contact-details a{font:600 var(--type-body) Manrope,sans-serif;border-bottom:1px solid #16272773}.contact-actions{flex-wrap:wrap;gap:12px;display:flex}.contact-actions a{background:var(--ink);color:#fff;border-radius:999px;padding:14px 22px;font-weight:600}.contact-actions a.alt{color:var(--ink);border:1px solid var(--ink);background:0 0}footer{font-size:var(--type-small);color:var(--muted);padding:26px 0}.footer-in{justify-content:space-between;gap:20px;display:flex}@media (max-width:760px){.wrap{width:min(calc(100% - 28px),var(--max))}.links a:not(.pill){display:none}.hero{padding-top:48px}.career,.case-grid,.case-grid.equal,.case-title,.intro,.project-body,.work-heading{grid-template-columns:1fr;gap:24px}.hero-meta{gap:8px}.hero-meta>span{padding-left:8px}.hero-intro-with-cue p{text-align:left}.hero-swipe-cue{justify-self:end}.hero-personal-slide{grid-template-columns:1fr;gap:20px;padding:20px}.hero-personal-slide>img{max-height:280px}.hero-bottom-links{gap:18px}.hero-visual{height:72vw;margin-top:38px}.caption{bottom:10px;left:10px}.section-head{display:block}.section-head p{margin-top:18px}.principles{grid-template-columns:1fr}.principle{min-height:0}.principle h3{margin-top:30px}.case{padding:72px 0}.case-hero{height:70vw}.case-visual{min-height:58vw}.evidence,.practice-gallery{grid-template-columns:1fr}.practice-shot{min-height:70vw}.projects{display:block}.card-img,.wide .card-img{height:62vw}.archive{grid-template-columns:1fr}.archive-item:nth-child(2n){border-left:0;padding-left:0}.work-showcase{padding:72px 0}.work-list{gap:60px}.work-preview{grid-template-columns:1fr}.work-preview img{height:62vw}.work-preview img:nth-child(2){display:none}.work-gallery{grid-template-columns:1fr}.work-gallery img,.work-gallery img:first-child:last-child{grid-column:auto;height:62vw}.career-intro{position:static}.role{grid-template-columns:1fr;gap:8px}.role-head{display:block}.role-title{text-align:left;margin-top:4px}.contact-row{grid-template-columns:1fr;align-items:start}.contact-actions{margin-top:10px}.footer-in{display:block}.footer-in span{margin-top:4px;display:block}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.card-img img{transition:none}}main{flex-direction:column;display:flex}main>header{order:1}#approach{order:4}.work-showcase{order:3;display:block!important}.gallery-section{order:5;display:block!important}#experience{order:2}#student-work{order:6}#contact{order:7}main>.case{display:none}.gallery-section{color:#eef5f2;background:#17383a;padding:100px 0;overflow:hidden}.gallery-intro{grid-template-columns:.9fr 1.1fr;align-items:end;gap:64px;margin-bottom:42px;display:grid}.gallery-intro h2{font-size:var(--type-display);margin:12px 0 0;line-height:.98}.gallery-intro p{color:#bfd0cb;max-width:610px;font-size:var(--type-body);margin:0 0 6px}.gallery-section .eyebrow{color:#b9d7ce}.gallery-track{scroll-snap-type:x mandatory;scroll-padding-inline:max(22px,calc((100vw - var(--max)) / 2));padding:0 max(22px,calc((100vw - var(--max)) / 2)) 26px;scrollbar-width:thin;scrollbar-color:#b8dfd4 #294d4e;outline:none;gap:20px;display:flex;overflow-x:auto}.gallery-track:focus-visible{box-shadow:inset 0 0 0 2px #b8dfd4}.gallery-slide{scroll-snap-align:center;opacity:.58;flex:0 0 min(78vw,940px);margin:0;transition:opacity .35s,transform .35s;position:relative;transform:scale(.98)}.gallery-slide[aria-current=true]{opacity:1;transform:scale(1)}.gallery-frame{background:#e9efec;height:clamp(420px,54vw,650px);overflow:hidden}.gallery-frame img{object-fit:cover;width:100%;height:100%}.gallery-frame img.contain{object-fit:contain;background:#f7f8f5}.gallery-index{color:#eef5f2;font:600 var(--type-small) Manrope,sans-serif;letter-spacing:.08em;background:#122d2fd6;border-radius:999px;padding:7px 10px;position:absolute;top:14px;left:14px}.gallery-caption{border-top:1px solid #456365;grid-template-columns:90px minmax(260px,.72fr) minmax(320px,1fr) auto;align-items:start;gap:28px;padding-top:30px;display:grid}.gallery-count{color:#b8dfd4;font:600 var(--type-small) Manrope,sans-serif;letter-spacing:.08em}.gallery-caption h3{font-size:var(--type-heading);margin:0;line-height:1.08}.gallery-caption p{color:#c4d4d0;max-width:660px;margin:0}.gallery-controls{gap:10px;display:flex}.gallery-controls button{color:#eef5f2;width:48px;height:48px;font-size:var(--type-heading);cursor:pointer;background:0 0;border:1px solid #75908c;border-radius:50%;transition:background .2s,color .2s,border-color .2s}.gallery-controls button:focus-visible,.gallery-controls button:hover{color:#17383a;background:#b8dfd4;border-color:#b8dfd4}.gallery-controls button:disabled{opacity:.3;cursor:not-allowed;color:#eef5f2;background:0 0;border-color:#75908c}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:760px){.gallery-section{padding:72px 0}.gallery-intro{grid-template-columns:1fr;gap:20px;margin-bottom:30px}.gallery-slide{flex-basis:88vw}.gallery-frame{height:64vw;min-height:300px}.gallery-caption{grid-template-columns:1fr;gap:12px}.gallery-controls{margin-top:8px}.gallery-track{padding-left:14px;padding-right:14px;scroll-padding-inline:14px}}@media (prefers-reduced-motion:reduce){.gallery-slide{transition:none}.gallery-track{scroll-behavior:auto}}.project-figure{margin:0}.project-figure img{width:100%;display:block}.project-figure figcaption{color:#697873;font-size:var(--type-small);padding:10px 0 0;line-height:1.5}.project-feature img{object-fit:fill;background:0 0;height:auto;max-height:none}#woodbine-block-9 .work-preview img{aspect-ratio:1903/1054;object-fit:cover;object-position:center bottom;width:100%;height:auto}#david-crombie-park .work-preview img{aspect-ratio:1903/1054;object-fit:fill;width:100%;height:auto}#woodbine-block-9 .vertical-gallery img[data-source$=woodbine-number-03\.jpg],#woodbine-block-9 .vertical-gallery img[data-source$=woodbine-number-06\.jpg],#woodbine-block-9 .vertical-gallery img[data-source$=woodbine-number-07\.jpg],#woodbine-block-9 .vertical-gallery img[data-source$=woodbine-number-09\.jpg],#woodbine-block-9 .vertical-gallery img[data-source$=woodbine-number-10\.jpg]{aspect-ratio:1;object-fit:cover;object-position:center;width:100%;height:auto}#woodbine-block-9 .vertical-gallery img[data-source$=woodbine-number-03\.jpg]{object-position:center bottom}#woodbine-block-9 .vertical-gallery img[data-source$=woodbine-number-09\.jpg]{object-position:center 58%}.project-body.centrus-detail,.project-body.dcm-detail,.project-body.dcp-detail,.project-body.ghaf-detail,.project-body.moeg-detail,.project-body.pershing-detail,.project-body.ptus-detail,.project-body.silver-detail,.project-body.woodbine-detail{grid-template-columns:1fr}.centrus-detail .project-copy,.dcm-detail .project-copy,.ghaf-detail .project-copy,.moeg-detail .project-copy,.pershing-detail .project-copy,.ptus-detail .project-copy,.silver-detail .project-copy,.woodbine-detail .project-copy{max-width:820px}.vertical-gallery{grid-template-columns:1fr;gap:34px;margin-top:8px;display:grid}.vertical-gallery .project-figure img{object-fit:fill;background:0 0;height:auto}.vertical-gallery .project-figure+.project-figure{border-top:1px solid var(--line);padding-top:30px}.work-heading{margin-bottom:22px}.project-meta{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1.05fr 1.35fr .7fr;margin:0 0 28px;display:grid}.project-meta>div{padding:14px 18px 14px 0}.project-meta>div+div{border-left:1px solid var(--line);padding-left:18px}.project-meta dt{color:#91a09b;font-size:var(--type-small);letter-spacing:.12em;text-transform:uppercase;margin:0 0 3px;font-weight:700}.project-meta dd{font:600 var(--type-small)/1.45 Manrope,sans-serif;color:var(--ink);margin:0}@media (max-width:760px){.project-meta{grid-template-columns:1fr}.project-meta>div,.project-meta>div+div{border-left:0;border-top:1px solid var(--line);padding:11px 0}.project-meta>div:first-child{border-top:0}}.dcp-legend{min-width:0}.dcp-legend figcaption{margin:0 0 14px}.dcp-legend-scroll{overflow-x:auto}.dcp-legend-scroll:focus-visible{outline-offset:4px;outline:2px solid}.vertical-gallery .dcp-legend-scroll img{min-width:960px}.ghaf-image-crop{aspect-ratio:24/13;position:relative;overflow:hidden}.project-feature .ghaf-image-crop img,.vertical-gallery .ghaf-image-crop img{width:100%;height:auto;max-height:none;position:absolute;inset:0 auto auto 0}.work-category,main>header,main>section{scroll-margin-top:100px}.work-category{gap:70px;min-width:0;display:grid}.work-category-heading{border-top:2px solid var(--ink);justify-content:space-between;align-items:baseline;gap:20px;padding:18px 0;display:flex}.work-category-heading h3{font:600 var(--type-heading)/1.2 Manrope,sans-serif;letter-spacing:-.03em;margin:0}.work-category-heading>span{white-space:nowrap;color:var(--muted);font-size:var(--type-small)}.section-rail{z-index:30;border:1px solid var(--ink);background:#f7f9f6f5;border-radius:999px;width:184px;padding:40px 12px;position:fixed;top:calc(50% + 38px);left:14px;transform:translateY(-50%)}.section-rail ol{margin:0;padding:0;list-style:none;position:relative}.section-rail ol:before{content:"";opacity:.65;background:#b7c0b9;width:1px;position:absolute;top:24px;bottom:24px;left:13.5px}.section-rail a{min-height:clamp(36px,6dvh,48px);color:var(--muted);font-size:var(--type-small);border-radius:5px;grid-template-columns:28px 1fr;align-items:center;padding:5px 0;font-weight:600;line-height:1.35;display:grid;position:relative}.rail-station{background:0 0;border:0;border-radius:50%;justify-self:center;width:12px;height:12px}.rail-child .rail-station{width:8px;height:8px}.section-rail a.is-current{color:var(--rail-active,var(--ink));font-weight:700}.section-rail a.is-current .rail-station{border-color:var(--ink);background:var(--accent);box-shadow:0 0 0 3px var(--paper)}.section-rail a:hover span{text-underline-offset:4px;text-decoration:underline}.section-rail a:focus-visible{outline:2px solid var(--ink);outline-offset:2px}@media (min-width:1200px) and (hover:hover) and (pointer:fine){.nav .wrap,main .wrap{width:min(calc(100% - 420px),var(--max));position:relative}.nav .pill{margin-right:-17px}}@media (hover:none),(max-width:1199px),(pointer:coarse){body{padding-bottom:92px}.section-rail{top:auto;bottom:max(10px,env(safe-area-inset-bottom));scrollbar-width:thin;scrollbar-color:var(--muted) var(--paper);width:auto;padding:4px 10px;left:10px;right:10px;overflow-x:auto;transform:none}.section-rail ol{width:max-content;display:flex}.section-rail ol:before{background:#aab4ae;width:auto;height:1px;inset:15px 32px auto}.section-rail a{min-width:76px;min-height:58px;font-size:var(--type-small);white-space:nowrap;flex-direction:column;justify-content:center;gap:7px;padding:8px 10px;display:flex}.section-rail .rail-station{z-index:1;flex:0 0 10px;width:10px;height:10px;position:relative}.section-rail a.is-current .rail-station{background-color:var(--accent);border-color:var(--ink)}.work-category{gap:44px}}.links,.section-rail a{font-family:DM Sans,sans-serif;font-size:var(--type-body)}.section-rail .rail-child a{font-size:var(--type-small);font-weight:400}.section-rail .rail-child a.is-current{font-weight:600}@media (hover:none),(max-width:1199px),(pointer:coarse){.section-rail a{font-size:var(--type-small);min-width:88px}}@media (max-width:760px){:root{--type-heading:28px;--type-display:40px}}.centrus-sequence{position:relative}.centrus-sequence img{width:100%;display:block}.centrus-sequence img+img{opacity:0;position:absolute;inset:0}.centrus-sequence.is-playing img:nth-child(2){animation:centrus-second 4.8s step-end infinite;animation-play-state:inherit}.centrus-sequence.is-playing img:nth-child(3){animation:centrus-third 4.8s step-end infinite;animation-play-state:inherit}@keyframes centrus-second{0%{opacity:0}33%,to{opacity:1}}@keyframes centrus-third{0%{opacity:0}66%,to{opacity:1}}.sequence-replay{border:0;border-bottom:1px solid var(--ink);font:inherit;cursor:pointer;background:0 0;margin-top:12px;padding:4px 0}@media (prefers-reduced-motion:reduce){.centrus-sequence.is-playing img{animation:none}.centrus-sequence.is-playing img:nth-child(3){opacity:1}}.proposal-book{border:1px solid var(--line);background:#eaf0eb;margin-top:28px;padding:30px}.proposal-book-stage{aspect-ratio:612/792;perspective:1800px;touch-action:pan-y pinch-zoom;background:#fff;max-width:560px;margin:auto;position:relative;box-shadow:0 8px 26px #16272720}.proposal-book-stage:focus-visible{outline:2px solid var(--deep);outline-offset:6px}.proposal-book-stage.is-spread{aspect-ratio:1224/792;grid-template-columns:repeat(2,minmax(0,1fr));max-width:1120px;display:grid}.proposal-book-stage.is-spread:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#16272718,#0000);width:16px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.proposal-book-page,.proposal-book-turn img{object-fit:contain;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.proposal-book-animation{pointer-events:none;z-index:2}.proposal-book-animation,.proposal-book-turn{transform-style:preserve-3d;position:absolute;inset:0}.proposal-book-face{backface-visibility:hidden;background:#fff;position:absolute;inset:0;overflow:hidden}.proposal-book-back{transform:rotateY(180deg)}.proposal-book-face:after{content:"";background:linear-gradient(90deg,#16272702,#16272728);animation:proposal-sheet-shadow .85s ease-in-out both;position:absolute;inset:0}.turn-forward .proposal-book-turn{transform-origin:0;animation:proposal-forward .85s cubic-bezier(.35,.08,.25,1) forwards}.turn-back .proposal-book-turn{transform-origin:100%;animation:proposal-back .85s cubic-bezier(.35,.08,.25,1) forwards}.proposal-book-animation.is-spread .proposal-book-turn{width:50%}.proposal-book-animation.is-spread.turn-forward .proposal-book-turn{left:50%}.proposal-book-animation.is-spread.turn-back .proposal-book-turn{right:50%}.proposal-book-stationary{background:#fff;width:50%;position:absolute;top:0;bottom:0}.turn-forward .proposal-book-stationary{left:0}.turn-back .proposal-book-stationary{right:0}@keyframes proposal-sheet-shadow{0%,to{opacity:0}50%{opacity:1}}@keyframes proposal-forward{to{transform:rotateY(-180deg)}}@keyframes proposal-back{to{transform:rotateY(180deg)}}.proposal-book-controls{justify-content:center;align-items:center;gap:22px;margin-top:22px;display:flex}.proposal-book-controls button{border:1px solid var(--ink);background:var(--paper);width:44px;height:44px;color:var(--ink);font:inherit;cursor:pointer;border-radius:50%}.proposal-book-controls button:disabled{opacity:.35;cursor:default}.proposal-book-controls span{text-align:center;min-width:90px;font-size:var(--type-small)}.proposal-book-footer{font-size:var(--type-small);color:var(--muted);flex-wrap:wrap;justify-content:center;gap:12px 28px;margin-top:16px;display:flex}@media (max-width:760px){.proposal-book{padding:14px 10px}}@media (prefers-reduced-motion:reduce){.proposal-book-animation{display:none}}.hero-image-caption{color:var(--muted);font-size:var(--type-small);margin:10px 0 0}@media (min-width:1200px) and (hover:hover) and (pointer:fine){.section-rail{width:156px;left:calc((100% - min(calc(100% - 420px), var(--max))) / 2 - 188px);--rail-stop-height:clamp(32px,6dvh,88px);background:0 0;border:0;border-radius:0;max-height:calc(100dvh - 160px);padding:4px 10px;top:50%;overflow-y:auto;transform:translateY(-50%)}.section-rail ol{width:120px;max-width:100%;margin:0 auto}.section-rail a{text-align:left;font-size:var(--type-small);min-height:var(--rail-stop-height);grid-template-columns:24px 1fr}.section-rail ol:before{left:11.5px;top:calc(var(--rail-stop-height) / 2);bottom:calc(var(--rail-stop-height) / 2)}.section-rail a:not(.is-current){color:var(--rail-idle,var(--muted))}.section-rail a[data-tone=dark]{--rail-idle:#b6ccc6;--rail-active:#f7f9f6}.section-rail ol:before{background:var(--rail-line)}.section-rail .rail-station circle{fill:#0000}.section-rail a.is-current .rail-station circle{fill:var(--accent)}.section-rail a.is-current .rail-station{box-shadow:none;background:0 0}.section-rail a:focus-visible{outline-color:var(--rail-active,var(--ink))}}.hero-intro-toggle,.hero-link-compact,.hero-mobile-lead{display:none}.sequence-toggle{min-height:44px;font:600 var(--type-small)/1.5 DM Sans,sans-serif;cursor:pointer;background:0 0;border:0;border-bottom:1px solid;margin-top:12px;padding:8px 0}.hero-intro-toggle:focus-visible,.sequence-toggle:focus-visible{outline:2px solid var(--ink);outline-offset:4px}@media (prefers-reduced-motion:reduce){.sequence-toggle{display:none}}@media (max-width:760px){.hero .wrap{flex-direction:column;display:flex}.hero-mobile-lead{display:block}.hero-about-copy:not(.is-expanded),.hero-mobile-lead.is-hidden{display:none}.hero-intro-toggle{min-height:44px;color:var(--ink);font:600 var(--type-small)/1.5 DM Sans,sans-serif;text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid;margin-top:8px;padding:8px 0;display:inline-block}.hero-bottom-links{order:1;gap:20px;margin-top:18px}.hero-bottom-links .hero-action{font-size:var(--type-small);min-height:44px}.hero-link-full{display:none}.hero-link-compact{display:inline}.hero-gallery{flex-shrink:0;order:2;margin-top:24px}}.hero-mobile-gallery-cue{display:none}@media (max-width:760px){.hero{padding-top:32px}.hero .eyebrow{margin-top:12px}.hero h1{margin:16px 0 18px}.hero-meta{grid-template-columns:auto 1fr;gap:8px 12px;display:grid}.hero-meta strong{grid-area:1/1}.hero-meta>span:last-child{grid-area:1/2}.hero-meta .hero-current-role{border:0;grid-area:2/1/auto/-1;padding-left:0}.hero-intro-with-cue{padding-bottom:0}.hero-intro-with-cue .hero-swipe-cue{display:none}.hero .hero-mobile-gallery-cue{min-height:44px;font-size:var(--type-small);cursor:pointer;background:0 0;border:0;border-bottom:1px solid;order:3;align-self:flex-end;align-items:center;gap:6px;margin-top:8px;padding:8px 0;display:inline-flex}}.rail-work-categories{display:none}@media (hover:none),(max-width:1199px),(pointer:coarse){body{padding-bottom:160px}.section-rail{border-radius:24px;overflow:hidden}.section-rail .rail-main{scrollbar-width:none;width:max-content;max-width:100%;margin-inline:auto;overflow-x:auto}.section-rail .rail-main .rail-child,.section-rail .rail-main:before{display:none}.section-rail .rail-main>li{position:relative}.section-rail .rail-main>li:not(.rail-child):before{content:"";opacity:.65;background:#aab4ae;height:1px;position:absolute;top:15px;left:0;right:0}.section-rail .rail-main>li:first-child:before{left:50%}.section-rail .rail-main>li:last-child:before{right:50%}.section-rail.is-work .rail-work-categories{border-top:1px solid var(--line);width:max-content;max-width:100%;margin-inline:auto;display:block}.rail-work-label{color:var(--muted);font-size:var(--type-small);padding:5px 8px 0;display:block}.section-rail .rail-work-categories ol{scrollbar-width:none;width:100%;display:flex;overflow-x:auto}.section-rail .rail-work-categories ol:before{display:none}.section-rail .rail-work-categories a{min-width:max-content;min-height:44px;padding:8px 12px;font-weight:400}.section-rail .rail-work-categories a.is-current{box-shadow:inset 0 -3px var(--accent);font-weight:700}}.book-toolbar{font-size:var(--type-small);flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 12px;margin-bottom:18px;display:flex}.book-load-error button,.book-reader-heading button,.book-toolbar button,.book-toolbar select{border:1px solid var(--muted);background:var(--paper);min-height:44px;color:var(--ink);font:inherit;cursor:pointer;border-radius:6px;padding:8px 12px}.book-toolbar select{max-width:100%}.book-zoom{align-items:center;gap:8px;display:flex}.book-page-viewport{overscroll-behavior:auto;max-height:none;overflow:visible}.book-page-canvas{margin-inline:auto}.book-load-error{border:1px solid var(--muted);font-size:var(--type-small);flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-top:12px;padding:16px;display:flex}.book-reader-dialog{width:100%;max-width:none;height:100dvh;max-height:none;padding:20px max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom));background:var(--paper);color:var(--ink);z-index:100;border:0;margin:0;position:fixed;inset:0;overflow:auto}.book-reader-dialog::backdrop{background:#162727c9}.book-reader-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.book-reader-heading h3{font-size:var(--type-body);margin:0}.book-reader-heading button{font-size:var(--type-small);flex-shrink:0}.book-reader-dialog .book-page-viewport{overscroll-behavior:contain;height:calc(100dvh - 252px);min-height:160px;overflow:auto}.book-reader-dialog .book-page-canvas{min-width:100%}.book-reader-dialog .proposal-book-stage{width:min(100%,70.7dvh - 183.82px);max-width:none}.book-reader-dialog .proposal-book-stage.is-spread{width:min(100%,141.4dvh - 367.64px)}.book-reader-dialog .book-page-canvas.is-zoomed .proposal-book-stage{width:100%}.book-reader-dialog .proposal-book-controls{margin-top:14px}.book-reader-dialog .proposal-book-footer{margin-top:8px}.book-chapters,.book-page-jump{align-items:center;gap:8px;max-width:100%;display:flex}.book-chapters select{max-width:230px}@media (max-width:760px){.book-reader-dialog .book-page-viewport{height:calc(100dvh - 306px)}.book-reader-dialog .proposal-book-stage{width:min(100%,70.7dvh - 219.17px)}}.book-reader-dialog .book-page-canvas.is-zoomed .proposal-book-stage{touch-action:pan-x pan-y pinch-zoom}.skip-link{z-index:1000;background:var(--ink);color:var(--paper);font-size:var(--type-small);border-radius:6px;padding:12px 18px;position:fixed;top:12px;left:20px;transform:translateY(-180%)}.skip-link:focus{outline:2px solid var(--accent);outline-offset:3px;transform:translateY(0)}#top:focus{outline:none}.project-delivery{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:.78fr 1.22fr;gap:56px;margin-bottom:24px;padding:18px 0;display:grid}.project-delivery strong{font-size:var(--type-small);color:var(--muted);font-weight:600}.project-delivery p{font-size:var(--type-body);margin:0;line-height:1.5}.project-delivery p span{color:var(--muted);font-size:var(--type-small);margin-top:6px;display:block}@media (max-width:760px){.project-delivery{grid-template-columns:1fr;gap:8px;padding:16px 0}}.hero-work-scope{border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:var(--type-small);color:var(--muted);flex-wrap:wrap;gap:10px 28px;margin:24px 0 0;padding:16px 0;font-weight:500;list-style:none;display:flex}.hero-work-scope li+li{border-left:1px solid var(--line);padding-left:28px}@media (max-width:760px){.hero-work-scope{gap:8px 20px;margin-top:16px;padding:12px 0}.hero-work-scope li+li{border-left:0;padding-left:0}}.hero-intro-with-cue .hero-intro-toggle{align-self:flex-start}.hero-gallery.is-static{scroll-snap-type:none;touch-action:pan-y pinch-zoom;overflow:hidden}.back-to-top{right:max(20px,env(safe-area-inset-right));z-index:29;border:1px solid var(--ink);background:var(--accent);min-width:76px;min-height:44px;color:var(--ink);font-size:var(--type-small);cursor:pointer;border-radius:24px;justify-content:center;align-items:center;gap:6px;padding:10px 14px;line-height:1.4;display:inline-flex;position:fixed}.back-to-top[hidden]{display:none}.image-viewer-trigger{cursor:pointer;min-height:44px;font-size:var(--type-small);background:0 0;border:0;align-items:center;gap:8px;padding:8px 0;display:inline-flex}.image-viewer{width:100%;max-width:none;height:100dvh;max-height:none;padding:20px max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom));background:var(--paper);color:var(--ink);border:0;margin:0;position:fixed;inset:0}.image-viewer[open]{flex-direction:column;gap:12px;display:flex}.image-viewer::backdrop{background:var(--ink)}.image-viewer-toolbar{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.image-viewer-toolbar h2{font:inherit;flex:260px;margin:0;font-weight:600}.image-viewer-toolbar label{font-size:var(--type-small);align-items:center;gap:8px;display:flex}.image-viewer-toolbar button,.image-viewer-toolbar select{min-height:44px;font:inherit;font-size:var(--type-small);color:var(--ink);background:var(--paper);border:1px solid var(--muted);border-radius:4px;padding:8px 12px}.image-viewer-toolbar button{cursor:pointer}.image-viewer-hint{font-size:var(--type-small);margin:0}.image-viewer-canvas{overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom;border:1px solid var(--line);flex:1;min-height:0;position:relative;overflow:auto}.image-viewer-loading{background:var(--paper);font-size:var(--type-small);padding:8px 12px;position:absolute;top:12px;left:12px}.image-viewer .image-viewer-canvas img{max-width:none;height:auto}.image-viewer :focus-visible,.image-viewer-trigger:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.back-to-top:focus-visible{outline:2px solid var(--ink);outline-offset:4px}@media (hover:hover){.back-to-top:hover{background:var(--paper)}}@media (hover:none),(max-width:1199px),(pointer:coarse){.section-rail .rail-main,.section-rail .rail-work-categories ol{padding:4px}}@media (max-width:999px){.principles{grid-template-columns:1fr}.principle{grid-template-columns:28px minmax(0,1fr);gap:12px 20px;min-height:0;padding:24px;display:grid}.principle .num{grid-area:1/1}.principle h3{grid-column:2;margin:0}.principle p{grid-column:2}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}