/* Shared public design system. Averia belongs to the wordmark. */
:root{--font-reading:'DM Sans',sans-serif;--reading-width:640px;--control-radius:4px}
.viewer-shuffle{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:8px;border-radius:4px;align-self:center}.viewer-shuffle svg{width:18px;height:18px}.viewer-shuffle[aria-pressed=true]{background:var(--fg);color:var(--bg);border-color:var(--fg)}.viewer-top>div{gap:10px}
body{font-family:var(--font-reading);font-size:16px;line-height:1.6}
h1,h2,h3,.project h3,.book-chapter h2,.book-ending>p,.about-page h1{font-family:var(--font-reading);font-style:normal;font-weight:500;letter-spacing:-.035em;line-height:1.15;text-wrap:balance}
.page-intro h1,.project-intro h1,.about-copy h1{font-family:var(--font-reading);font-style:normal;font-size:clamp(32px,4vw,48px);font-weight:500;letter-spacing:-.035em}
p{text-wrap:pretty}nav,.section-heading h2,.photo-caption{font-family:var(--font-reading)}
button,input,textarea,select{border-radius:var(--control-radius)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
header nav{font-size:12px}footer{padding-block:36px;align-items:center;font-size:12px}footer .footer-links{flex-wrap:wrap}
.hero{height:clamp(360px,65svh,760px)}
.statement{padding-block:64px 88px;text-align:left;display:flex;align-items:end;justify-content:space-between;gap:32px}
.statement h1{font-size:clamp(26px,3.3vw,44px);line-height:1.15;max-width:620px;margin:0;letter-spacing:-.04em}
.statement .text-link{margin:0;white-space:nowrap}
.selected .projects{gap:40px;align-items:start}.selected .project-entry:nth-child(n){padding:0;transform:none;width:100%;justify-self:stretch}
.selected .project{gap:18px;opacity:1;transform:none}.selected .project img{height:clamp(280px,34vw,460px);width:100%;object-fit:contain;object-position:bottom;aspect-ratio:auto}
.project-heading h3,.selected .project-heading h3{font-family:var(--font-reading);font-size:23px;font-weight:500;letter-spacing:-.03em;line-height:1.2}
.project-heading p{font-size:12px;margin:8px 0 0;color:var(--muted);letter-spacing:0}
.selected .project-heading{min-height:74px;grid-template-columns:minmax(0,1fr) 20px}.selected .project-number{display:none}
.selected{padding-bottom:64px}.archive-preview{padding-block:40px 88px}
.work-page{max-width:1000px;padding-block:48px 96px}.work-page .work-intro{padding-bottom:44px}.work-page .projects{gap:64px 72px;max-width:none}
.work-page .project{gap:16px;opacity:1;transform:none}.work-page .project img{height:420px;max-height:55svh;width:100%;object-fit:contain;object-position:center bottom;aspect-ratio:auto}
.work-page .project-heading{grid-template-columns:24px minmax(0,1fr) 20px;padding-top:18px;align-items:start}.work-page .project-heading h3{font-size:25px}
.project-intro .book-description,.photobook .book-text p{font-family:var(--font-reading);font-style:normal;letter-spacing:0;line-height:1.7}
.book-ending>p{font-size:clamp(26px,3vw,40px)}
.about-page{max-width:1080px;padding-block:72px 96px}.about-lead{display:grid;grid-template-columns:1fr;gap:64px;align-items:center}.about-lead.has-portrait{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.about-page figure{margin:0}.about-page figure img{width:100%;height:auto;max-height:650px;object-fit:contain}.about-copy{max-width:560px}.about-copy h1{margin:20px 0 28px}.about-copy .bio{max-width:52ch;white-space:pre-line}.about-copy .bio p{margin:0 0 24px}.about-copy .text-link{margin-top:16px}
.about-page .bio{font-size:17px;line-height:1.7;margin:0;max-width:52ch}.about-page figcaption{color:var(--muted);font-size:13px;margin-top:14px}.about-supporting{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:40px;margin-top:88px}.about-supporting img{max-height:480px}
.contact-page{max-width:640px;padding-block:64px 64px;min-height:0}.contact-page .page-intro{padding:0;margin:0 0 40px}.contact-page .page-intro p{margin-top:16px}.contact-page #contact-form{max-width:none}.contact-page input,.contact-page textarea{font-size:16px}.contact-page textarea{min-height:180px}
#archive-count,#counter{font-variant-numeric:tabular-nums}#archive-count{min-width:120px;text-align:right}#details .meta-settings{color:#686d64;font-weight:400}
@media(max-width:700px){.statement{display:block;padding-block:36px 48px}.statement .text-link{margin-top:24px}.selected .projects{gap:36px}.selected .project img{height:400px;max-height:62svh}.selected .project-heading{min-height:0}.selected .project-heading h3{font-size:22px}.work-page{padding-block:32px 56px}.work-page .projects{gap:44px}.work-page .project img{height:390px;max-height:60svh}.work-page .project-heading h3{font-size:22px}.about-page{padding-block:40px 64px}.about-lead.has-portrait{grid-template-columns:1fr;gap:32px}.about-supporting{gap:24px;margin-top:48px}.about-page figure img{max-height:65svh}.contact-page{padding-block:40px}.contact-page .page-intro{margin-bottom:32px}footer{gap:24px}.hero{height:54svh;min-height:320px}.archive-preview{padding-bottom:48px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;animation-iteration-count:1!important}}

/* About: a portrait introduction followed by a wide scene and smaller portrait. */
.about-page{max-width:1120px;padding-block:64px 96px}
.about-lead.has-portrait{grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:clamp(40px,7vw,112px)}
.about-page .about-photo img{display:block;width:100%;height:auto;max-height:none;object-fit:contain}
.about-copy h1{font-size:clamp(34px,4vw,52px)}
.about-page .bio{font-size:16px;line-height:1.8;max-width:43ch}
.about-supporting{grid-template-columns:minmax(0,2.15fr) minmax(0,1fr);align-items:end;gap:clamp(28px,5vw,72px);margin-top:72px}
.about-supporting:has(>figure:only-child){grid-template-columns:minmax(0,1fr)}
.about-supporting>.about-photo-1:only-child{max-width:800px}
.about-supporting>.about-photo-2:only-child{width:min(100%,340px);justify-self:end}
@media(max-width:700px){
 .about-page{padding-block:32px 64px}
 .about-lead.has-portrait{grid-template-columns:1fr;gap:32px}
 .about-lead>.about-photo{width:min(78%,340px)}
 .about-copy{max-width:100%}
 .about-supporting{grid-template-columns:1fr;gap:32px;margin-top:48px}
 .about-supporting>.about-photo-2{width:65%;justify-self:end}
}

/* Editorial accents and quiet book objects. */
.hero .hero-copy h1,.home-wordmark,.selected .section-heading h2,.archive-preview .section-heading h2,.work-page .project .project-heading h3{font-family:'Averia Serif Libre',serif;font-style:italic;font-weight:700;letter-spacing:-.07em;text-transform:none}
.hero .hero-copy h1{font-size:clamp(64px,12vw,180px);line-height:1.05}
.hero .hero-copy{bottom:48px}
.selected{padding-top:64px}
.selected .section-heading h2,.archive-preview .section-heading h2{font-size:clamp(30px,3vw,42px)}
.work-page .project .project-heading h3{font-size:clamp(28px,3vw,36px)}
.about-single .about-introduction{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:64px;margin-top:48px}
.about-single .about-introduction h1{font-size:clamp(28px,3vw,40px);margin:16px 0 0}
.about-single .about-copy{max-width:none}.about-single .bio{max-width:52ch}
@media(max-width:700px){.hero .hero-copy{bottom:44px}.selected{padding-top:40px}.about-single .about-introduction{grid-template-columns:1fr;gap:28px;margin-top:32px}}

/* Consistent preview crops only; book interiors retain their own proportions. */
.selected .project>img,.work-page .project>img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:3/4;object-fit:cover;object-position:center}
.work-page .project>img{width:min(100%,315px);align-self:center}


.work-stories{display:grid;gap:56px;max-width:none;margin-inline:0}
.work-story{display:grid;grid-template-columns:300px minmax(0,1fr);grid-template-areas:'image copy' 'title action';column-gap:56px;row-gap:20px;align-items:start}
.work-story+.work-story{border-top:1px solid var(--line);padding-top:56px}
.work-story:nth-child(even){grid-template-columns:minmax(0,1fr) 300px;grid-template-areas:'copy image' 'action title'}
.work-story-image{grid-area:image;display:block}.work-story-image img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}
.work-story-title{grid-area:title;border-top:1px solid var(--line);padding-top:18px}
.work-story-title h2{font:italic 700 clamp(28px,3vw,34px)/1.2 'Averia Serif Libre',serif;letter-spacing:-.07em;margin:0 0 8px;text-transform:none}
.work-story-date{font-size:13px;color:var(--muted);margin:0}
.work-story-copy{grid-area:copy;max-width:40ch}.work-story-copy p,.work-story-about p{font-size:16px;line-height:1.75;margin:0;white-space:pre-line}
.work-story-action{grid-area:action;border-top:1px solid var(--line);padding-top:18px}.work-story-action .text-link{margin:0}
.work-story-about{display:none}
@media(max-width:700px){
 .work-stories{gap:40px;max-width:390px}
 .work-story,.work-story:nth-child(even){grid-template-columns:minmax(0,1fr);grid-template-areas:'image' 'title' 'about' 'action';gap:18px}
 .work-story+.work-story{padding-top:40px}
 .work-story-copy{display:none}.work-story-about{display:block;grid-area:about}
 .work-story-about summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;min-height:44px;font-size:14px}
 .work-story-about summary::-webkit-details-marker{display:none}
 .work-story-about summary:after{content:'+';font-size:20px}.work-story-about[open] summary:after{content:'−'}
 .work-story-about p{padding:10px 0 6px}.work-story-about summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
 .work-story-action{border-top:0;padding-top:0}
}

/* Work browsing controls and two-paragraph introductions. */
.work-toolbar{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:0 0 40px;max-width:none}.compact-toggles{display:inline-flex;gap:4px;align-items:center}.compact-toggles button{min-height:36px;border:1px solid var(--line);padding:6px 12px;border-radius:4px;font:inherit;font-size:13px;background:transparent;color:var(--fg)}.compact-toggles button[aria-pressed=true]{background:var(--fg);border-color:var(--fg);color:var(--bg)}.compact-toggles svg{width:18px;height:18px;display:block}.compact-toggles [data-work-view]{padding:9px}.archive-controls{flex-wrap:wrap}
.work-story{grid-template-areas:'image copy' 'title copy'}.work-story:nth-child(even){grid-template-areas:'copy image' 'copy title'}.work-story-title h2{font-size:27px;text-wrap:wrap}.work-story-copy p{margin-bottom:20px}.work-story-copy .text-link{margin-top:4px}
.work-page[data-view=grid] .work-stories{max-width:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 32px}.work-page[data-view=grid] .work-story{display:flex;flex-direction:column;gap:18px;border:0;padding:0;min-width:0}.work-page[data-view=grid] .work-story-image,.work-page[data-view=grid] .work-story-title{width:100%}.work-page[data-view=grid] .work-story-title h2{font-size:25px}.work-page[data-view=grid] .work-story-copy{display:none}
@media(max-width:900px){.work-page[data-view=grid] .work-stories{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.work-story,.work-story:nth-child(even){grid-template-areas:'image' 'title' 'copy'}.work-story-copy{display:block}.work-description-more{display:none}.work-story-title h2{font-size:clamp(23px,6.8vw,27px)}.work-toolbar{margin-bottom:28px}.work-page[data-view=grid] .work-stories{gap:32px 16px}.work-page[data-view=grid] .work-story-title h2{font-size:21px}.work-page[data-view=grid] .work-story-title{padding-top:12px}.work-page[data-view=grid] .work-story-date{font-size:12px}}

.compact-toggles button{min-width:44px;min-height:44px}
.compact-toggles .sort-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:9px}

/* Shared outer edges for the Work heading, controls and both views. */
@media(min-width:701px){.work-page[data-view=detailed] .work-story{grid-template-columns:minmax(0,.9fr) minmax(0,1.35fr);column-gap:56px}.work-page[data-view=detailed] .work-story:nth-child(even){grid-template-columns:minmax(0,1.35fr) minmax(0,.9fr)}.work-page[data-view=detailed] .work-story-copy{max-width:46ch}}
@media(max-width:700px){.work-page[data-view=detailed] .work-stories{max-width:none}}

/* A compact pair of featured books on phones. */
@media(max-width:700px){
 .selected .projects{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:none}
 .selected .project-entry:nth-child(n+3){display:none}
 .selected .project-entry:nth-child(n){min-width:0;padding:0;width:100%;justify-self:stretch}
 .selected .project{gap:14px}
 .selected .project>img{width:100%;height:auto;max-height:none;aspect-ratio:3/4;object-fit:cover}
 .selected .project-heading{grid-template-columns:minmax(0,1fr);gap:0;min-height:0}
 .selected .project-heading>svg{display:none}
 .selected .project-heading h3{font-size:18px;line-height:1.25;overflow-wrap:anywhere}
 .selected .project-heading p{font-size:11px;line-height:1.5;margin-top:6px}
 .selected .all-work{margin-top:28px}
}

/* A complete introduction beside each cover, without enlarging the photograph. */
@media(min-width:701px){
 .work-page[data-view=detailed] .work-story{grid-template-columns:minmax(0,330px) minmax(0,1fr);grid-template-rows:auto auto;grid-template-areas:'image copy' 'title copy';column-gap:56px;row-gap:24px}
 .work-page[data-view=detailed] .work-story:nth-child(even){grid-template-columns:minmax(0,1fr) minmax(0,330px);grid-template-areas:'copy image' 'copy title'}
 .work-page[data-view=detailed] .work-story-title{border-top:1px solid var(--line);padding-top:18px;border-bottom:0;padding-bottom:0;width:100%}
 .work-page[data-view=detailed] .work-story-title h2{font-size:27px}
 .work-page[data-view=detailed] .work-story-copy{max-width:460px;width:100%}
}

.work-story-image img{transition:opacity .25s ease}
@media(hover:hover){.work-story-image:hover img{opacity:.88}}
.work-story-image:focus-visible img{opacity:.88}
@media(prefers-reduced-motion:reduce){.work-story-image img{transition:none}}

.work-story-title{display:grid;grid-template-columns:20px minmax(0,1fr) 24px;column-gap:8px;align-items:start}.work-story-number{font-size:11px;color:var(--muted);padding-top:5px;font-variant-numeric:tabular-nums}.work-story-title h2{grid-column:2;min-width:0}.work-story-arrow{grid-column:3;display:flex;align-items:center;justify-content:center;min-height:28px;color:var(--muted)}.work-story-date{grid-column:2}.work-page[data-view=detailed] .work-story-title h2{font-size:25px}
@media(max-width:700px){.work-page[data-view=grid] .work-story-title{grid-template-columns:16px minmax(0,1fr) 20px;column-gap:4px}.work-page[data-view=grid] .work-story-title h2{font-size:19px}.work-story-arrow{min-height:32px}}

/* Hero proportions follow the available screen height, not width alone. */
.hero{height:clamp(340px,calc(100svh - 210px),820px)}
.hero .hero-copy{left:5%;bottom:clamp(28px,5svh,52px)}
.hero .hero-copy h1{font-size:clamp(64px,min(8.5vw,16svh),132px);line-height:1.05}
@media(max-width:700px){.hero{height:54svh;min-height:300px;max-height:600px}.hero .hero-copy{left:6%;bottom:44px}.hero .hero-copy h1{font-size:clamp(52px,14vw,88px)}}
@media(min-width:701px) and (max-height:600px){.hero{min-height:240px;height:calc(100svh - 145px)}.hero .hero-copy{bottom:24px}}

