@font-face{font-family:Display;src:url('fonts/display.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Text;src:url('fonts/text.woff2') format('woff2');font-weight:400;font-display:swap}
:root{--indigo:#18153e;--green:#e1e5d0;--paper:#fafaf7;--ink:#151515;--line:#929783;--gutter:clamp(20px,3.3vw,56px);--gap:clamp(20px,2.5vw,42px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-color:var(--indigo) var(--green)}body{margin:0;background:var(--green);color:var(--indigo);font-family:Text,Arial,sans-serif;font-size:18px;line-height:1.5}::selection{color:var(--green);background:var(--indigo)}a{color:inherit;text-underline-offset:5px}a,button,summary{touch-action:manipulation}a{min-height:44px;display:inline-flex;align-items:center}button,summary{min-height:44px;cursor:pointer}button{color:inherit;font:inherit;background:transparent;border:1px solid currentColor;border-radius:0;padding:9px 16px}button:hover,a:hover{text-decoration:underline}a:hover{text-decoration-thickness:2px}button:disabled{opacity:.55;cursor:default}button[hidden]{display:none}:focus-visible{outline:3px solid currentColor;outline-offset:5px}h1,h2,h3,p,figure{margin:0}h1,h2{font-family:Display,Georgia,serif;font-weight:400;text-wrap:balance;line-height:1.13;letter-spacing:-.025em}h1{font-size:clamp(44px,5.4vw,78px)}h2{font-size:clamp(30px,3vw,46px)}h3{font-size:23px;font-weight:400;line-height:1.25}p+p{margin-top:20px}p{max-width:68ch}img{display:block;max-width:100%;height:auto}.skip{position:absolute;left:20px;top:-100px;background:var(--paper);padding:12px;z-index:10}.skip:focus{top:12px}.header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 var(--gutter);padding:24px 0 18px;border-bottom:1px solid var(--line)}.brand{font-family:Display,Georgia,serif;font-size:21px;text-decoration:none}.header p{font-size:14px;line-height:1.35;margin-left:auto;margin-right:5vw}.header button{display:flex;align-items:center;gap:18px;border:0;padding:8px 0 8px 16px}.header svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5}.grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));column-gap:var(--gap);margin-inline:var(--gutter)}.work-gallery{padding:58px 0 90px;row-gap:40px}.intro{grid-column:2/8;display:flex;align-items:end;justify-content:space-between;gap:24px}.intro p{font-size:17px;padding-bottom:6px}.art{min-width:0}.art img{width:100%;object-fit:cover}.portrait{grid-column:2/5}.landscape{grid-column:5/8;align-self:start;margin-top:104px}.art figcaption{display:flex;justify-content:space-between;align-items:start;gap:12px;font-size:14px;margin-top:12px}.art figcaption strong{display:block;font-size:17px;font-weight:400}.art figcaption span{display:block;margin-top:3px}.focus-trigger{flex-shrink:0;border:0;padding:0 3px;font-size:14px;text-decoration:underline}.gallery-end{grid-column:5/8;align-self:end;margin-top:-200px}.gallery-end p{font-size:14px}.text-link{margin-top:22px;gap:20px}.image-feature{background:var(--indigo);color:var(--green);padding:90px calc(var(--gutter) + (100% - 2 * var(--gutter))/7)}.section-lead{display:flex;justify-content:space-between;align-items:end;gap:42px;margin-bottom:44px}.section-lead p{max-width:36ch}.wide{max-width:100%}.reading-grid{display:grid;grid-template-columns:2fr 3fr;column-gap:clamp(40px,9vw,150px);padding:90px max(var(--gutter),calc((100vw - 2 * var(--gutter))/7 + var(--gutter)));background:var(--paper);color:var(--ink)}.reading-grid>div{min-width:0}.reading-grid p+*,.reading-grid ul{margin-top:22px}.lead{font-size:24px;line-height:1.4}.service-list{margin:36px 0 0}.service-list>div{padding:22px 0;border-top:1px solid #b9b9b0}.service-list dt{font-size:23px}.service-list dd{margin:8px 0 0}.process{background:var(--green);color:var(--indigo)}.steps{margin:0;padding-left:24px}.steps li{padding-left:12px;margin-bottom:28px}.steps p{margin-top:10px}.steps li:last-child{margin-bottom:0}details{border-bottom:1px solid #b9b9b0;padding:10px 0}details:first-child{border-top:1px solid #b9b9b0}summary{padding:10px 24px 10px 0;font-size:21px}details p{padding:8px 0 22px}.contact-close{padding:90px max(var(--gutter),calc((100vw - 2 * var(--gutter))/7 + var(--gutter)));background:var(--indigo);color:var(--green)}.contact-close h2{font-size:clamp(42px,5vw,70px)}.contact-close p{margin-top:24px}.contact-close a{margin-top:20px;gap:40px}.footer{padding:50px var(--gutter);display:grid;grid-template-columns:3fr 2fr 1fr;gap:45px;font-size:14px}.footer p+p{margin-top:6px}.footer .brand{margin-bottom:14px}.footer a:not(.brand){display:flex;width:fit-content}.footer nav{display:grid;align-content:start}.footer .identity p:last-child{margin-top:12px}.page-title,.project-intro{padding-block:75px 70px;align-items:end}.page-title h1,.project-intro h1{grid-column:2/5}.page-title>p,.page-title>div,.project-intro>div{grid-column:5/8;max-width:40ch}.work-page{padding-top:0}.work-page .project-link{grid-column:2/5;width:fit-content}.photo-slot>div{width:100%;background:#e7e8e0;min-height:280px;aspect-ratio:1600/1067;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px;border:1px solid #9fa494;padding:24px}.photo-slot>div span:first-child{font-family:Display,Georgia,serif;font-size:26px}.photo-slot figcaption{margin-top:14px;font-size:15px;line-height:1.5}.owner-section{padding-bottom:85px;align-items:start}.owner-photo{grid-column:2/5}.owner-photo>div{aspect-ratio:3/4}.owner-copy{grid-column:5/8;padding-top:30px}.owner-copy h2{margin-bottom:20px}.owner-copy .lead{margin-bottom:8px}.team-section{background:var(--indigo);color:var(--green)}.team-section .photo-slot>div{width:100%;background:#252248;border-color:#8f91a1}.review-slot{padding:30px 0;border-block:1px solid #aaa;margin-top:28px}.review-slot p{margin-top:18px}.project-body{padding:0 0 85px;align-items:start}.project-image{grid-column:2/6}.project-notes{grid-column:6/8;padding-top:28px;font-size:16px}.project-notes h2{font-size:27px;margin-bottom:20px}.project-notes h2:not(:first-child){margin-top:42px}dl{margin:28px 0}dt{font-weight:bold;margin-top:20px}dd{margin:5px 0 0}.service-detail:nth-child(odd),.journal-note:nth-child(odd){background:var(--green);color:var(--indigo)}.journal-note h3{margin-top:32px}.journal-note li{padding-bottom:12px}.contact-address{display:flex;width:fit-content;font-size:clamp(22px,2.2vw,30px);margin-top:12px}.not-found{min-height:65vh}.not-found a{display:flex;width:fit-content}dialog{color:var(--indigo);background:var(--green);border:0;padding:var(--gutter);margin:0;max-width:none;max-height:none;width:100%;height:100dvh;overflow:auto}dialog::backdrop{background:rgba(225,229,208,.97)}body:has(dialog[open]){overflow:hidden}#menu{background:var(--indigo);color:var(--green)}.menu-top,.focus-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.menu-top h2{font-size:22px}.menu-top button,.focus-top button{border:0;text-decoration:underline}#menu nav{margin:50px 12vw;display:grid;grid-template-columns:1fr 1fr;gap:10px 50px}#menu nav a{font-family:Display,Georgia,serif;font-size:clamp(30px,4vw,56px);text-decoration:none;padding:8px 0}#menu nav a:hover,#menu nav a[aria-current]{text-decoration:underline}#menu>p{font-size:14px;margin-left:12vw}#image-focus{background:transparent;display:none}#image-focus[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:15px}.focus-top{font-size:16px}#image-focus figure{display:flex;min-height:0;flex-direction:column;align-items:center;gap:12px}#focus-image{height:calc(100% - 48px);width:auto;max-width:100%;object-fit:contain;min-height:0}#focus-caption{text-align:center;font-size:16px}#image-focus nav{display:flex;justify-content:center;gap:24px;align-items:center}#image-focus nav button{font-size:16px;border:0;text-decoration:underline}.focus-hint{text-align:center;max-width:none;font-size:14px}
@media(min-width:1600px){.grid{max-width:1580px;margin-inline:auto}.header,.footer{padding-inline:calc((100vw - 1580px)/2)}}
@media(max-width:1000px){.intro{align-items:start}.intro p{max-width:28ch}.desktop-break{display:none}.gallery-end{margin-top:-60px}.reading-grid{padding:65px var(--gutter);gap:40px;grid-template-columns:2fr 3fr}.image-feature,.contact-close{padding:65px var(--gutter)}.art figcaption{display:block}.art figcaption button{margin-top:4px}.project-image{grid-column:1/5}.project-notes{grid-column:5/8}.owner-photo{grid-column:1/4}.owner-copy{grid-column:4/8}.section-lead p{max-width:32ch}.footer{grid-template-columns:1.5fr 1fr;gap:30px}.footer nav{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px 28px}}
@media(max-width:700px){body{font-size:17px}.header{padding:14px 0;gap:8px}.header .brand{font-size:18px}.header p{display:none}.header button{font-size:16px;gap:10px}.grid{display:block}.work-gallery{padding:38px 0 52px}.intro{display:block;margin-bottom:32px}.intro p{margin-top:20px;max-width:34ch}.art{margin-top:34px}.intro+.art{margin-top:0}.landscape{margin-top:40px}.art figcaption{display:flex}.gallery-end{margin-top:30px}.gallery-end p{font-size:15px}.section-lead{display:block;margin-bottom:30px}.section-lead p{margin-top:22px;max-width:40ch}.image-feature,.contact-close{padding:50px var(--gutter)}.image-feature .art{margin-top:0}.reading-grid{display:block;padding:50px var(--gutter)}.reading-grid>h2{margin-bottom:28px}.lead{font-size:22px}.service-list dt,summary{font-size:20px}.footer{display:block;padding-block:35px}.footer>div+div{margin-top:24px}.footer nav{margin-top:25px;display:flex;flex-wrap:wrap;gap:4px 24px}.footer .brand{font-size:21px}.page-title,.project-intro{padding:42px 0}.page-title>p,.page-title>div,.project-intro>div{margin-top:24px}.work-page{padding-top:0}.work-page .art:first-child{margin-top:0}.project-link{margin-top:22px}.photo-slot>div{min-height:220px}.owner-section{padding-bottom:50px}.owner-copy{padding-top:32px}.owner-photo{max-width:450px}.owner-copy h2{font-size:32px}.project-body{padding-bottom:50px}.project-body .art{margin-top:0}.project-notes{padding-top:35px;font-size:17px}.not-found{min-height:60vh}#menu nav{margin:35px 0;grid-template-columns:1fr;gap:6px}#menu nav a{font-size:30px}#menu>p{margin:0}.menu-top{align-items:start}.menu-top h2{max-width:12ch;line-height:1.3}.menu-top button{white-space:nowrap}.focus-top{font-size:14px}#image-focus{padding:16px}#image-focus nav{gap:6px;justify-content:space-between}#image-focus nav button,#image-focus nav a{font-size:14px;padding:8px 4px}.focus-hint{font-size:13px}#focus-caption{font-size:14px}#focus-image{height:calc(100% - 70px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.link-arrow{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;flex-shrink:0}
