.preview-banner{position:fixed!important;inset:auto 0 0!important}
body:has(>main>.layout-section)>.site-head{position:relative}
.layout-section{padding:var(--layout-top) clamp(20px,4vw,80px) var(--layout-bottom);text-align:start;overflow-wrap:anywhere}
.layout-inner{max-width:1440px;margin-inline:auto;min-width:0}
.layout-inner>*{min-width:0}
.layout-section[data-width=reading] .layout-inner{max-width:760px}
.layout-section[data-width=standard] .layout-inner{max-width:1080px}
.layout-section[data-width=full]{padding-inline:0}
.layout-section[data-width=full] .layout-inner{max-width:none}
.layout-section[data-align=center]{text-align:center}
.layout-section[data-align=end]{text-align:end}
.layout-section[data-theme=paper]{background:var(--paper);color:var(--ink)}
.layout-section[data-theme=purple]{background:var(--purple);color:var(--paper)}
.layout-section[data-theme=lavender]{background:var(--lav);color:var(--ink)}
.layout-section[data-theme=ink]{background:var(--ink);color:var(--paper)}
.layout-section .layout-heading{font-size:clamp(36px,5vw,76px);font-weight:400;line-height:1.15;letter-spacing:-.025em;margin:0 0 24px}
.layout-section[data-heading=small] .layout-heading{font-size:clamp(24px,2vw,32px)}
.layout-section[data-heading=medium] .layout-heading{font-size:clamp(30px,3vw,48px)}
.layout-section[data-heading=display] .layout-heading{font-size:clamp(48px,8vw,128px)}
.layout-section p{max-width:none;white-space:normal}
.layout-section .layout-copy p{font-size:var(--layout-body,clamp(17px,1.5vw,22px));line-height:1.7;margin:0 0 1em}
.layout-section[data-font=serif] .layout-heading{font-family:'Instrument Serif',Georgia,serif}
.layout-section .layout-copy .kicker{font-size:12px}
.layout-section .layout-copy:empty{display:none}
.layout-section figure{margin:0}
.layout-section img,.layout-section video{display:block;width:100%;height:auto;max-width:100%;object-fit:var(--layout-fit);object-position:var(--layout-position);border-radius:var(--layout-radius)}
.layout-section[data-aspect=wide] img,.layout-section[data-aspect=wide] video{aspect-ratio:16/9}
.layout-section[data-aspect=landscape] img,.layout-section[data-aspect=landscape] video{aspect-ratio:3/2}
.layout-section[data-aspect=square] img,.layout-section[data-aspect=square] video{aspect-ratio:1}
.layout-section[data-aspect=portrait] img,.layout-section[data-aspect=portrait] video{aspect-ratio:3/4}
.layout-section:not([data-aspect=original]) img{height:auto}
.layout-section figcaption{font-size:13px;margin-top:12px}
.layout-section .text-link{display:inline-flex;margin-block:16px;color:inherit}
.layout-section :is(.project-grid,.journal-grid,.layout-items,.layout-services){display:grid;grid-template-columns:1fr;grid-template-rows:auto;grid-auto-rows:auto;height:auto;gap:var(--layout-gap);margin-top:32px}
.layout-section[data-layout=grid-2] :is(.project-grid,.journal-grid,.layout-items,.layout-services){grid-template-columns:repeat(2,minmax(0,1fr))}
.layout-section[data-layout=grid-3] :is(.project-grid,.journal-grid,.layout-items,.layout-services){grid-template-columns:repeat(3,minmax(0,1fr))}
.layout-section[data-layout=grid-4] :is(.project-grid,.journal-grid,.layout-items,.layout-services){grid-template-columns:repeat(4,minmax(0,1fr))}
.layout-section .project-card{grid-row:auto;grid-column:auto;height:auto;min-width:0}
.layout-section .project-card .crop{height:auto;min-height:0}
.layout-section .project-card img{height:auto;aspect-ratio:inherit}
.layout-section .project-card .crop{aspect-ratio:3/2}
.layout-section .project-card .crop img{height:100%;width:100%;object-fit:var(--layout-fit);aspect-ratio:inherit}
.layout-section[data-aspect=square] .project-card .crop{aspect-ratio:1}
.layout-section[data-aspect=portrait] .project-card .crop{aspect-ratio:3/4}
.layout-section[data-aspect=wide] .project-card .crop{aspect-ratio:16/9}
.layout-section .layout-card{display:block;min-width:0;color:inherit;text-decoration:none}
.layout-card h3{font-size:clamp(22px,2vw,32px);margin-block:20px 12px}
.layout-section .layout-items button{padding:0;border:0;background:transparent;width:100%;cursor:zoom-in}
.layout-section .service-row{grid-template-columns:24px 1fr;gap:16px;color:inherit}
.layout-section .service-row p{grid-column:2;font-size:16px}
.layout-section .service-row .arrow{display:none}
.layout-section blockquote{margin:0;max-width:900px;margin-inline:auto;font-size:clamp(28px,4vw,56px);line-height:1.3}
.layout-section blockquote cite{display:block;font-size:16px;margin-top:24px}
.layout-section .inquiry{min-width:0;text-align:start}
.layout-section[data-kind=contact] .layout-inner,.layout-section:is([data-kind=hero],[data-kind=split]):is([data-layout=media-left],[data-layout=media-right]) .layout-inner{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:var(--layout-gap)}
.layout-section:is([data-kind=hero],[data-kind=split])[data-layout=media-left] .layout-copy{order:2}
.layout-section[data-ratio=text-narrow]:is([data-kind=hero],[data-kind=split],[data-kind=contact]):not([data-layout=stack]) .layout-inner{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}
.layout-section[data-ratio=text-wide]:is([data-kind=hero],[data-kind=split],[data-kind=contact]):not([data-layout=stack]) .layout-inner{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
.layout-section[data-ratio=text-narrow][data-layout=media-left] .layout-inner{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
.layout-section[data-ratio=text-wide][data-layout=media-left] .layout-inner{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}
.layout-section:is([data-kind=hero],[data-kind=split])[data-layout=stack] figure{margin-top:var(--layout-gap)}
.layout-section[data-kind=contact][data-layout=stack] .layout-inner{display:block;max-width:760px}
.layout-section[data-kind=contact][data-layout=stack] .inquiry{margin-top:var(--layout-gap)}
.layout-section[data-motion].layout-reveal{animation:layout-fade .65s ease both}
.layout-section[data-motion=rise].layout-reveal{animation-name:layout-rise}
@keyframes layout-fade{from{opacity:.15}to{opacity:1}}
@keyframes layout-rise{from{opacity:.15;transform:translateY(24px)}to{opacity:1;transform:none}}
@media(max-width:640px){
 .layout-section{padding-block:var(--layout-mobile)}
 .layout-section:is([data-kind=hero],[data-kind=split],[data-kind=contact]) .layout-inner{display:flex!important;flex-direction:column;align-items:stretch!important}
 .layout-section .layout-copy{order:0!important}
 .layout-section :is(.project-grid,.journal-grid,.layout-items,.layout-services){grid-template-columns:1fr!important;gap:min(var(--layout-gap),32px)}
 .layout-section[data-mobile-columns="2"] :is(.project-grid,.journal-grid,.layout-items,.layout-services){grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .layout-section[data-mobile-columns="2"] :is(h3,.meta p){font-size:16px}
 .layout-section[data-mobile-columns="2"] .study-tag{position:static;display:block;font-size:10px}
}
@media(prefers-reduced-motion:reduce){.layout-section.layout-reveal{animation:none!important}}
