@charset "UTF-8";
/* The imagery supplies the color. The page is an architectural drawing sheet. */
:root{--paper:#000000;--ink:#efeee9;--muted:#a3a39b;--line:#30312e;--accent:#d5ae86;--gutter:clamp(22px,4.15vw,72px);--serif:'Helvetica Neue',Helvetica,Arial,sans-serif;--sans:'Helvetica Neue',Helvetica,Arial,sans-serif;--ease:cubic-bezier(.2,.7,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.6 var(--sans);-webkit-font-smoothing:antialiased}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}img{display:block;width:100%;height:auto}::selection{background:#d5c4b6;color:#171714}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}.skip{position:fixed;left:20px;top:-100px;background:var(--paper);padding:10px 20px;z-index:100}.skip:focus{top:10px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400}button{cursor:pointer}.eyebrow,.micro{font-size:12px;line-height:1.5;letter-spacing:.11em;text-transform:uppercase}.eyebrow{color:var(--muted)}.shell{padding-inline:var(--gutter);max-width:1800px;margin-inline:auto}.header{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:106px;border-bottom:1px solid var(--line)}.wordmark{font-size:24px;font-weight:500;letter-spacing:-.055em;line-height:1.2}.wordmark span{font-weight:300}.header nav{display:flex;gap:32px;font-size:14px}.header nav a,.text-link{position:relative}.header nav a:after,.text-link:after{content:'';position:absolute;bottom:-4px;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s}.header nav a:hover:after,.header nav a:focus-visible:after,.text-link:hover:after{transform:scaleX(1)}.intro{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;padding:56px 0 42px}.intro h1{font:400 clamp(58px,7.4vw,112px)/1 var(--serif);letter-spacing:-.055em}.intro .aside{font-size:14px;line-height:1.65;text-align:right;padding-bottom:5px}.intro .aside span{color:var(--muted)}.feature{display:block}.feature-visual{position:relative;overflow:hidden;background:#191611;aspect-ratio:2.2}.feature-visual>img{height:100%;object-fit:cover;object-position:50% 51%;transition:transform 1.1s var(--ease)}.feature:hover .feature-visual>img{transform:scale(1.018)}.feature-copy{position:absolute;bottom:clamp(28px,4vw,64px);right:4.7%;width:36%;color:#fff;display:grid;gap:20px}.feature-copy h2{font:400 clamp(40px,4.7vw,76px)/1.04 var(--serif);letter-spacing:-.045em}.feature-copy .micro{color:#d3c7b9}.feature-link{margin-top:12px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #ffffff59;padding-top:16px;font-size:14px}.arrow{font-size:24px;line-height:1}.feature-caption{display:flex;align-items:flex-start;justify-content:space-between;gap:30px;padding:18px 0 0;font-size:14px}.feature-caption .index{color:var(--muted);font-size:12px;letter-spacing:.08em}.feature-caption p{max-width:470px;color:var(--muted)}.section-label{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:14px;margin:100px 0 30px}.section-label h2{font-size:14px;font-weight:400}.section-label span{font-size:12px;color:var(--muted)}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px 36px}.project-card{display:block}.project-image{overflow:hidden;aspect-ratio:1.45;background:#171815}.project-image img{height:100%;object-fit:cover;transition:transform .8s var(--ease)}.project-card:hover .project-image img{transform:scale(1.025)}.project-label{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-top:20px}.project-label .number{font-size:12px;color:var(--muted);margin-top:7px}.project-name{flex:1}.project-name h3{font:400 clamp(26px,2.3vw,36px)/1.2 var(--serif);letter-spacing:-.028em}.project-name p{margin-top:7px;font-size:13px;color:var(--muted)}.project-label .arrow{margin-top:5px;transition:transform .3s}.project-card:hover .arrow{transform:translate(3px,-3px)}.project-card:last-child{grid-column:1/-1;display:grid;grid-template-columns:1.15fr 1fr;gap:7%;align-items:center;margin-top:8px}.project-card:last-child .project-image{aspect-ratio:1.4}.project-card:last-child .project-label{margin:0}.project-card:last-child .project-name h3{font-size:clamp(32px,4.3vw,64px);line-height:1.05}.project-name .card-description{font:400 16px/1.7 var(--sans);max-width:370px;margin-top:25px;color:var(--muted)}.professional{margin-top:100px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:40px 0;display:grid;grid-template-columns:1fr 1.15fr;gap:30px}.professional h2{font:400 clamp(30px,3.5vw,50px)/1.15 var(--serif);letter-spacing:-.035em;margin-top:18px}.professional-content{display:flex;align-items:center;justify-content:space-between;gap:25px}.professional-content p{color:var(--muted);max-width:290px;font-size:16px}.pending{font-size:12px;letter-spacing:.04em;white-space:nowrap;border:1px solid var(--line);padding:8px 13px}.about{display:grid;grid-template-columns:1fr 2fr;gap:60px;padding:110px 0}.about-heading h2{font-size:14px;margin-top:8px}.about-intro{font:400 clamp(27px,2.7vw,42px)/1.32 var(--serif);letter-spacing:-.025em;max-width:840px}.about-detail{display:grid;grid-template-columns:1.1fr 1fr;gap:50px;margin-top:40px}.about-detail p{color:var(--muted);max-width:410px;line-height:1.8}.credentials{list-style:none;padding:0;margin:0;font-size:14px}.credentials li+li{margin-top:20px}.credentials span{display:block;font-size:13px;color:var(--muted)}.contact{background:#111210;color:var(--ink)}.contact-inner{padding-top:64px;padding-bottom:30px}.contact-top{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;padding-bottom:60px}.contact-top h2{font:400 clamp(40px,5vw,76px)/1.1 var(--serif);letter-spacing:-.035em}.contact-top .eyebrow{color:#b6b7ae;margin-bottom:15px}.contact-top a{font-size:clamp(16px,1.8vw,26px);border-bottom:1px solid #777870;padding-bottom:6px}.contact-bottom{border-top:1px solid #55564f;padding-top:25px;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#b6b7ae}.contact-bottom a{color:var(--ink)}
/* Project pages */
.project-header{padding:46px 0 38px}.back{font-size:14px;color:var(--muted);display:inline-flex;gap:12px;align-items:center}.project-title-row{margin-top:42px;display:flex;align-items:flex-end;justify-content:space-between;gap:35px}.project-title-row h1{font:400 clamp(48px,6.5vw,96px)/1.05 var(--serif);letter-spacing:-.047em;max-width:1050px}.project-title-row .eyebrow{max-width:210px;flex-shrink:0;text-align:right;padding-bottom:8px}.detail-hero{background:#171815;overflow:hidden}.detail-hero img{max-height:700px;object-fit:cover}.detail-hero.interstate img{aspect-ratio:2.2;object-position:center}.detail-hero.time img{aspect-ratio:1.9}.detail-hero.erosion img,.detail-hero.remains img{aspect-ratio:1.9}.detail-summary{display:grid;grid-template-columns:1fr 2fr;gap:70px;padding:72px 0 90px}.project-meta{display:grid;gap:22px;margin:0;font-size:14px}.project-meta dt{font-size:12px;color:var(--muted);margin-bottom:5px}.project-meta dd{margin:0}.lead{font:400 clamp(26px,2.7vw,42px)/1.35 var(--serif);letter-spacing:-.025em}.body-copy{margin-top:25px;line-height:1.9;color:var(--muted);max-width:740px}.gallery-pair{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-bottom:65px}.gallery-item{min-width:0}.image-open{padding:0;border:0;background:#171815;width:100%;position:relative;display:block;text-align:left;overflow:hidden}.image-open img{transition:transform .7s var(--ease);aspect-ratio:16/10;object-fit:cover}.image-open:hover img{transform:scale(1.018)}.zoom-hint{position:absolute;right:14px;bottom:14px;width:32px;height:32px;display:grid;place-items:center;color:#fff;background:#2229;border:1px solid #fff5;font-size:20px;opacity:0;transition:opacity .2s}.image-open:hover .zoom-hint,.image-open:focus-visible .zoom-hint{opacity:1}.gallery-item figcaption{margin-top:14px;color:var(--muted);font-size:13px;line-height:1.6}.gallery-item figcaption strong{display:block;color:var(--ink);font-weight:400;font-size:14px;margin-bottom:3px}.project-story{display:grid;grid-template-columns:1fr 2fr;gap:70px;padding:30px 0 60px;border-top:1px solid var(--line)}.project-story h2{font:400 28px/1.2 var(--serif);letter-spacing:-.02em}.project-story p{max-width:740px;color:var(--muted);line-height:1.85}.drawing{max-width:1150px;margin:0 auto 90px}.drawing .image-open{background:#050505}.drawing .image-open img{object-fit:contain;aspect-ratio:auto}.drawing figcaption{margin-top:12px;font-size:13px;color:var(--muted)}.next-project{display:block;border-top:1px solid var(--line);padding:42px 0 65px}.next-project .eyebrow{margin-bottom:18px}.next-title{display:flex;align-items:center;justify-content:space-between;gap:25px}.next-title h2{font:400 clamp(36px,5vw,72px)/1.1 var(--serif);letter-spacing:-.035em}.next-title .arrow{font-size:48px;transition:transform .3s}.next-project:hover .arrow{transform:translateX(7px)}.project-footer{padding:26px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:13px;color:var(--muted)}
/* A keyboard-accessible image viewer. */
.lightbox{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;padding:60px 24px 24px;margin:0;border:0;background:#131411f5;color:#fff}.lightbox::backdrop{background:#111}.lightbox[open]{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:16px}.lightbox-image{height:100%;width:100%;object-fit:contain}.lightbox-close{position:absolute;right:22px;top:12px;background:transparent;border:0;padding:10px;font-size:14px;display:flex;gap:14px;align-items:center;color:#fff}.lightbox-close span{font-size:25px;line-height:1}.lightbox-caption{text-align:center;font-size:14px;color:#d0d1c8}.lightbox-help{position:absolute;top:24px;left:24px;font-size:12px;color:#b1b2a9}
@media(min-width:1700px){.feature-visual{aspect-ratio:2.35}}@media(max-width:900px){.header{min-height:90px}.intro{padding:45px 0 32px}.feature-visual{aspect-ratio:1.8}.feature-copy{width:40%;right:4%;gap:13px}.feature-copy h2{font-size:48px}.feature-link{margin-top:2px}.project-grid{gap:45px 25px}.project-card:last-child{gap:30px}.section-label{margin-top:70px}.professional{margin-top:70px;grid-template-columns:1fr 1fr}.professional-content{align-items:flex-start;justify-content:center;flex-direction:column;gap:16px}.about{grid-template-columns:1fr 2.4fr;gap:30px;padding:75px 0}.about-detail{grid-template-columns:1fr;gap:30px}.credentials{display:grid;grid-template-columns:1fr 1fr;gap:20px}.credentials li+li{margin-top:0}.contact-top{align-items:flex-start;flex-direction:column;gap:30px}.detail-summary{gap:35px;grid-template-columns:1fr 2fr}.project-title-row{align-items:flex-start;flex-direction:column;gap:20px}.project-title-row .eyebrow{text-align:left;max-width:none}.project-story{gap:35px;grid-template-columns:1fr 2fr}.gallery-pair{gap:22px;margin-bottom:45px}.zoom-hint{opacity:1}.feature-caption p{max-width:380px}}
@media(max-width:600px){.header{min-height:83px;gap:15px}.wordmark{font-size:23px}.header nav{gap:19px;font-size:13px}.intro{padding:35px 0 27px;display:block}.intro h1{font-size:60px}.intro .aside{font-size:13px;text-align:left;margin-top:22px;display:flex;justify-content:space-between;gap:20px;padding:0}.intro .aside br{display:none}.intro .aside span{max-width:115px;text-align:right}.feature-visual{aspect-ratio:.92}.feature-visual>img{object-position:37% 40%}.feature-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 35%,#000b)}.feature-copy{z-index:1;left:24px;right:24px;bottom:23px;width:auto;gap:10px}.feature-copy h2{font-size:49px}.feature-copy .micro{font-size:12px}.feature-link{padding-top:12px;font-size:13px}.feature-caption{display:block;padding-top:14px}.feature-caption p{margin-top:6px;font-size:13px}.section-label{margin:54px 0 23px}.project-grid{grid-template-columns:1fr;gap:39px}.project-image{aspect-ratio:1.2}.project-label{gap:13px;margin-top:16px}.project-name h3{font-size:29px}.project-name p{font-size:13px}.project-card:last-child{display:block;margin:0}.project-card:last-child .project-image{aspect-ratio:1.2}.project-card:last-child .project-label{margin-top:16px}.project-card:last-child .project-name h3{font-size:29px}.project-name .card-description{font-size:14px;line-height:1.65;margin-top:15px}.professional{grid-template-columns:1fr;gap:22px;margin-top:54px;padding:29px 0}.professional h2{font-size:37px;margin-top:12px}.professional-content{align-items:flex-start;gap:18px}.professional-content p{max-width:100%;font-size:15px}.about{grid-template-columns:1fr;gap:25px;padding:55px 0}.about-intro{font-size:30px}.about-detail{margin-top:25px;gap:27px}.about-detail p{font-size:16px}.credentials{grid-template-columns:1fr}.credentials li+li{margin-top:0}.contact-inner{padding-top:44px;padding-bottom:24px}.contact-top{padding-bottom:43px}.contact-top h2{font-size:47px}.contact-top a{font-size:18px}.contact-bottom{font-size:12px;align-items:flex-start;gap:20px}.contact-bottom span{max-width:170px}.project-header{padding:29px 0 27px}.project-title-row{margin-top:28px;gap:20px}.project-title-row h1{font-size:50px;overflow-wrap:break-word}.detail-hero.interstate img{aspect-ratio:1.14;object-position:30% 50%}.detail-hero.time img,.detail-hero.erosion img,.detail-hero.remains img{aspect-ratio:1.18}.detail-summary{grid-template-columns:1fr;gap:35px;padding:35px 0 46px}.project-meta{grid-template-columns:1fr 1fr;gap:20px}.lead{font-size:29px}.body-copy{margin-top:20px}.gallery-pair{grid-template-columns:1fr;gap:30px;margin-bottom:38px}.image-open img{aspect-ratio:auto}.project-story{grid-template-columns:1fr;gap:20px;padding:27px 0 36px}.project-story h2{font-size:29px}.drawing{margin-bottom:50px}.next-project{padding:30px 0 40px}.next-title h2{font-size:40px}.next-title .arrow{font-size:32px}.project-footer{flex-wrap:wrap;padding:22px 0;font-size:12px}.lightbox{padding:58px 10px 22px}.lightbox-help{left:14px;font-size:12px}.lightbox-close{right:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* User-controlled type settings are supplied by the saved site theme. */
:root{--title-scale:1;--body-size:16px;--body-leading:1.7;--title-tracking:-.04em}body{font-size:var(--body-size);line-height:var(--body-leading)}h1,h2,h3,.lead,.about-intro{letter-spacing:var(--title-tracking)}.body-copy,.project-story p,.about-detail p{font-size:var(--body-size);line-height:var(--body-leading)}.intro h1{font-size:calc(clamp(58px,7.4vw,112px)*var(--title-scale))}.project-title-row h1{font-size:calc(clamp(48px,6.5vw,96px)*var(--title-scale))}

/* Narrative chapters retain the black page and spatial sequence of the portfolio. */
:root{color-scheme:dark;--paper:#000;--ink:#f0f0ec;--muted:#a5a5a1;--line:#2c2c2c}
.narrative-back{margin:35px 0 28px}.narrative-cover{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(32px,5vw,82px);align-items:center;padding-bottom:64px}.narrative-cover>figure{min-width:0;align-self:stretch;background:#000}.narrative-cover>figure img{height:100%;object-fit:cover;max-height:750px;min-height:480px}.narrative-intro{padding-block:25px}.narrative-intro h1{font:400 calc(clamp(42px,5.5vw,82px)*var(--title-scale))/1.08 var(--serif);letter-spacing:var(--title-tracking);margin:25px 0;overflow-wrap:anywhere}.cover-lead{font:400 calc(var(--body-size) + 2px)/1.65 var(--sans);max-width:540px}.narrative-intro .project-meta{grid-template-columns:1fr 1fr;margin-top:35px;gap:22px}.project-recognition{border-top:1px solid var(--line);margin-top:30px;padding-top:20px;display:grid;gap:10px;font-size:14px}.chapter-nav{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;gap:20px;padding:18px 0;background:#000f;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.chapter-nav a{font-size:14px;color:var(--muted)}.chapter-nav a:hover{color:var(--ink)}.chapter-nav span{font-size:12px;margin-right:8px;color:#73736f}.story-chapter{padding:100px 0 60px;scroll-margin-top:65px}.chapter-heading{display:grid;grid-template-columns:1fr 1.35fr;column-gap:10%;margin-bottom:44px;align-items:start}.chapter-heading>.eyebrow{grid-column:1/-1;margin-bottom:25px}.chapter-heading h2{font:400 calc(clamp(32px,3.7vw,56px)*var(--title-scale))/1.16 var(--serif);letter-spacing:var(--title-tracking);max-width:570px;overflow-wrap:anywhere}.chapter-prose{font-size:var(--body-size);line-height:var(--body-leading);color:#b7b7b1;max-width:710px}.chapter-composition{display:grid;grid-template-columns:1fr 1fr;gap:40px 28px;align-items:start}.story-figure{min-width:0}.story-figure .image-open{background:#000}.story-figure img{aspect-ratio:auto;object-fit:contain}.story-figure figcaption{font-size:14px;color:var(--muted);line-height:1.6;margin-top:13px;max-width:620px}.concept .chapter-composition{grid-template-columns:1fr 2fr;align-items:center;gap:48px}.concept .story-figure:first-child{align-self:center}.wide .chapter-composition{grid-template-columns:2fr 1fr;align-items:center;gap:40px}.wide .story-figure:only-child{grid-column:1/-1;max-width:1200px;margin:auto;width:100%}.drawing .chapter-composition{grid-template-columns:1fr;max-width:1150px;margin:auto}.drawing.story-chapter{max-width:none;margin:0}.drawing .story-figure:first-child:not(:only-child){width:50%;margin-inline:auto}.sequence .story-figure:first-child:nth-last-child(3){grid-column:1/-1;width:82%;margin:auto}.story-end{display:flex;justify-content:space-between;gap:24px;padding:45px 0;color:var(--muted);font-size:14px}.footer-links{display:flex;gap:25px;flex-wrap:wrap}.home-portrait{display:block;width:180px;max-width:100%;margin-top:30px}.home-portrait img{aspect-ratio:1;object-fit:cover}.about-links{display:flex;flex-wrap:wrap;gap:25px;margin-top:28px;font-size:16px}.about-cover{display:grid;grid-template-columns:1fr 1.15fr;gap:8%;padding:80px 0 100px;align-items:start}.portrait{position:sticky;top:35px}.portrait img{aspect-ratio:4/5;object-fit:cover;object-position:50% 35%}.about-page-intro h1{font:400 calc(clamp(58px,7vw,106px)*var(--title-scale))/1.05 var(--serif);letter-spacing:var(--title-tracking);margin:18px 0 35px}.about-page-intro .lead{font-size:calc(clamp(28px,3vw,44px)*var(--title-scale))}.education{list-style:none;padding:30px 0 0;margin:35px 0 0;border-top:1px solid var(--line);font-size:16px;display:grid;gap:22px}.education span{display:block;color:var(--muted);font-size:14px}.awards-section{border-top:1px solid var(--line);padding:65px 0 90px}.awards-heading{margin-bottom:45px}.awards-heading h2{font:400 calc(clamp(42px,5vw,72px)*var(--title-scale))/1.15 var(--serif);margin-top:15px}.award-row{display:grid;grid-template-columns:125px 55px 1.3fr 1fr;gap:28px;border-top:1px solid var(--line);padding:35px 0;align-items:center}.award-image{height:100px}.award-image img{height:100%;object-fit:cover}.award-image.badge img{object-fit:contain}.award-year{font-size:14px;color:var(--muted)}.award-name h3{font:400 calc(28px*var(--title-scale))/1.25 var(--serif);margin-bottom:8px}.award-name p{font-size:16px}.award-name .award-category{font-size:14px;color:var(--muted);margin-top:5px;max-width:480px}.award-project{font-size:16px;display:grid;gap:14px}.award-project>.text-link{font-size:14px;color:var(--muted);justify-self:start}.earlier-honours{display:grid;grid-template-columns:1fr 2fr;gap:60px;border-top:1px solid var(--line);padding-top:50px;margin-top:10px}.earlier-honours>h3{font:400 28px/1.3 var(--serif)}.earlier-honours ul{padding:0;margin:0;list-style:none}.earlier-honours li{display:grid;grid-template-columns:60px 1fr;gap:25px;padding:20px 0;border-bottom:1px solid var(--line)}.earlier-honours li:first-child{padding-top:0}.earlier-honours li>span,.earlier-honours li p{color:var(--muted);font-size:14px}.earlier-honours li h3{font-size:16px}.echoes-feature{display:grid;grid-template-columns:1fr 1.4fr;gap:7%;align-items:center;padding:65px 0 100px;border-top:1px solid var(--line);scroll-margin-top:35px}.echoes-feature h2{font:400 calc(clamp(32px,4vw,56px)*var(--title-scale))/1.15 var(--serif);margin-top:18px}.echoes-feature .about-links{font-size:14px}
/* Editing controls appear only after server-side owner verification. */
.type-trigger,.images-trigger{position:fixed;bottom:22px;z-index:20;background:#eee;color:#171717;border:1px solid #aaa;border-radius:3px;padding:10px 16px;font:500 14px/1.3 'Helvetica Neue',Arial,sans-serif;box-shadow:0 4px 24px #0006}.type-trigger{right:115px}.images-trigger{right:22px}.type-panel{position:fixed;inset:16px 16px 16px auto;margin:0;width:390px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);padding:28px;background:#141414;color:#eee;border:1px solid #444;overflow:auto}.type-panel::backdrop{background:#0003}.type-panel header{display:flex;justify-content:space-between;gap:16px;align-items:start}.type-kicker{font:400 12px/1.4 Arial,sans-serif;color:#aaa;letter-spacing:.1em}.type-panel h2{font:400 28px/1.2 Arial,sans-serif;margin-top:6px;letter-spacing:0}.type-close,.images-close{background:none;border:0;padding:0 8px;font-size:30px;line-height:1}.type-description{font:400 14px/1.6 Arial,sans-serif;color:#bbb;margin:25px 0}.type-fields{display:grid;gap:12px}.type-fields label{display:flex;justify-content:space-between;gap:14px;font:400 14px/1.5 Arial,sans-serif;margin-top:10px}.type-fields select,.image-filter,.image-search,.image-detail textarea{background:#222;color:#eee;border:1px solid #555;padding:11px 12px;font:400 16px/1.4 Arial,sans-serif;width:100%;border-radius:2px}.type-fields input{width:100%;accent-color:#d5ae86}.type-fields output{font-size:13px;color:#bbb}.type-status{font:400 14px/1.5 Arial,sans-serif;min-height:45px;margin:20px 0 12px}.type-actions{display:grid;gap:10px}.type-actions button,.editor-button{font:500 14px/1.4 Arial,sans-serif;border:1px solid #666;padding:11px 14px;border-radius:2px;background:#222;color:#eee}.type-actions .type-save,.editor-button.primary{background:#e9e7e1;color:#151515;border-color:#e9e7e1}.type-panel button:disabled,.image-panel button:disabled{opacity:.5;cursor:wait}.type-panel select:focus-visible,.type-panel input:focus-visible,.image-panel input:focus-visible,.image-panel select:focus-visible,.image-panel textarea:focus-visible{outline:2px solid #d5ae86;outline-offset:3px}.image-panel{width:1060px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);background:#111;color:#eee;border:1px solid #444;padding:28px;overflow:auto}.image-panel::backdrop{background:#000b}.image-panel header{display:flex;justify-content:space-between;gap:25px;margin-bottom:24px}.image-panel h2{font:400 28px/1.2 Arial,sans-serif;margin-top:6px;letter-spacing:0}.image-panel p,.image-panel label{font:400 14px/1.6 Arial,sans-serif}.image-panel .image-description{color:#bbb;margin-bottom:25px}.image-tools{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:25px}.image-tools label{display:grid;gap:7px}.image-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.image-card{background:#191919;border:1px solid #3c3c3c;text-align:left;padding:0;min-width:0}.image-card img{aspect-ratio:16/10;object-fit:contain;background:#000}.image-card span{display:block;padding:12px;font:400 14px/1.5 Arial,sans-serif}.image-card small{display:block;color:#aaa;font-size:12px}.image-status{min-height:24px;margin:18px 0;font:400 14px/1.5 Arial,sans-serif}.image-detail-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:28px;margin-top:24px}.image-detail-preview{width:100%;max-height:55dvh;object-fit:contain;background:#000}.image-detail form{display:grid;gap:16px;align-content:start}.image-detail label{display:grid;gap:7px}.image-detail textarea{min-height:92px;resize:vertical}.image-detail input[type=file]{font:400 14px/1.5 Arial,sans-serif;max-width:100%}.image-location{font:400 13px/1.6 monospace;overflow-wrap:anywhere;color:#bbb}.image-location a{text-decoration:underline}.image-actions{display:flex;gap:12px;flex-wrap:wrap}.image-uses{display:grid;gap:6px;margin-top:20px}.image-uses a{font-size:14px;text-decoration:underline}.image-panel [hidden]{display:none!important}
@media(max-width:1000px){.narrative-cover{gap:32px;grid-template-columns:1fr 1fr}.narrative-cover>figure img{min-height:400px}.narrative-intro .project-meta{grid-template-columns:1fr}.chapter-heading{column-gap:6%}.award-row{grid-template-columns:90px 45px 1.3fr 1fr;gap:20px}.about-cover{gap:5%}.echoes-feature{grid-template-columns:1fr 1.2fr;gap:35px}}
@media(max-width:700px){.narrative-cover{grid-template-columns:1fr;gap:25px;padding-bottom:35px}.narrative-cover>figure img{min-height:0;max-height:520px;height:auto;object-fit:contain}.narrative-intro{padding:0}.narrative-intro h1{font-size:calc(clamp(42px,10vw,62px)*var(--title-scale));margin:20px 0}.narrative-intro .project-meta{grid-template-columns:1fr 1fr;font-size:14px}.chapter-nav{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;padding:16px 0}.chapter-nav a{font-size:14px}.story-chapter{padding:60px 0 25px;scroll-margin-top:95px}.chapter-heading{grid-template-columns:1fr;gap:22px;margin-bottom:28px}.chapter-heading>.eyebrow{margin-bottom:0}.chapter-heading h2{font-size:calc(34px*var(--title-scale))}.chapter-composition,.concept .chapter-composition,.wide .chapter-composition{grid-template-columns:1fr;gap:28px}.drawing .story-figure:first-child:not(:only-child),.sequence .story-figure:first-child:nth-last-child(3){width:100%}.story-end{padding-top:35px;align-items:start}.footer-links{gap:16px}.about-cover{grid-template-columns:1fr;padding:38px 0 55px;gap:35px}.portrait{position:static;max-width:480px}.portrait img{aspect-ratio:1;object-position:50% 30%}.about-page-intro h1{font-size:calc(64px*var(--title-scale));margin-bottom:25px}.awards-section{padding:45px 0}.awards-heading h2{font-size:calc(42px*var(--title-scale))}.award-row{grid-template-columns:80px 1fr;gap:12px 22px;padding:26px 0}.award-image{grid-row:1/4;height:85px}.award-year{grid-column:2}.award-name{grid-column:2}.award-project{grid-column:2;font-size:15px;gap:9px}.award-name h3{font-size:calc(25px*var(--title-scale))}.earlier-honours{grid-template-columns:1fr;gap:28px;padding-top:35px}.earlier-honours li{gap:14px}.echoes-feature{grid-template-columns:1fr;gap:30px;padding:45px 0 55px}.type-trigger,.images-trigger{bottom:14px;font-size:14px;padding:9px 13px}.type-trigger{right:108px}.images-trigger{right:16px}.image-panel{padding:20px}.image-grid{grid-template-columns:1fr 1fr;gap:14px}.image-tools{grid-template-columns:1fr;gap:13px}.image-detail-layout{grid-template-columns:1fr}.image-detail-preview{max-height:35dvh}.type-panel{padding:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.feature-copy h2{font-size:calc(clamp(40px,4.7vw,76px)*var(--title-scale))}.project-name h3{font-size:calc(clamp(26px,2.3vw,36px)*var(--title-scale))}.professional h2{font-size:calc(clamp(30px,3.5vw,50px)*var(--title-scale))}.contact-top h2{font-size:calc(clamp(40px,5vw,76px)*var(--title-scale))}.next-title h2{font-size:calc(clamp(36px,5vw,72px)*var(--title-scale))}.body-copy,.chapter-prose,.cover-lead,.about-detail p{overflow-wrap:break-word}
@media(max-width:600px){.feature-copy h2{font-size:calc(42px*var(--title-scale))}.project-name h3,.project-card:last-child .project-name h3{font-size:calc(29px*var(--title-scale))}.contact-top h2{font-size:calc(43px*var(--title-scale))}}
