/* BAVINGA: photographic stories and a literary reading room. */
.editorial-photography{background:#f8f6f1;color:#262923}
.editorial-image{display:block;position:relative;width:100%;padding:0;overflow:hidden;cursor:zoom-in;text-align:left}
.editorial-image img{width:100%;height:auto;transition:transform 1.2s var(--ease)}
.editorial-image:hover img{transform:scale(1.025)}
.editorial-image-open{position:absolute;bottom:25px;right:25px;background:#f8f6f1ed;color:#252922;padding:13px 18px;font-size:14px;opacity:0;transform:translateY(8px);transition:opacity .3s,transform .3s}
.editorial-image:hover .editorial-image-open,.editorial-image:focus-visible .editorial-image-open{opacity:1;transform:none}
.photography-cover{position:relative;min-height:640px;height:calc(100svh - 103px);max-height:1050px;background:#563a31;color:#fffaf0;isolation:isolate}
.photography-cover-pictures{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;gap:0}
.photography-cover-pictures .editorial-image,.photography-cover-pictures img{height:100%;object-fit:cover}
.photography-cover-pictures .cover-close img{object-position:center 43%}
.photography-cover-pictures .cover-warm img{object-position:center 35%}
.photography-cover-type{position:absolute;inset:0 50% 0 0;padding:42px var(--pad) 85px;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none;background:linear-gradient(180deg,#0003 0,transparent 30%,transparent 50%,#0005 100%)}
.photography-cover-type .eyebrow{font-size:12px;letter-spacing:.16em}
.photography-cover h1{font-size:clamp(70px,7.8vw,130px);line-height:.92;letter-spacing:-.055em;text-shadow:0 2px 24px #0002}
.photography-cover h1 em{font-size:1.1em}
.photography-cover-bottom{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:23px var(--pad);gap:20px;background:linear-gradient(transparent,#0007)}
.photography-cover-bottom>span{font-size:12px;letter-spacing:.11em}
.photography-cover-bottom button{font-size:14px;padding:10px 0;color:white}
.photography-cover .editorial-image-open{top:25px;bottom:auto}
.photography-chapters{display:flex;align-items:center;justify-content:center;gap:42px;padding:22px var(--pad);border-bottom:1px solid var(--line);position:sticky;top:0;background:#f8f6f1f5;z-index:10;backdrop-filter:blur(15px)}
.photography-chapters a,.photography-chapters button{font-size:14px;white-space:nowrap;padding:10px 0}
.photography-chapters sup{font-size:12px;margin-left:5px}
.photography-chapters a:hover,.photography-chapters button:hover{color:var(--wine)}
.editorial-story{scroll-margin-top:80px}
.story-crimson{background:#532730;color:#f9e8df;padding:80px var(--pad) 34px}
.story-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:46px}
.story-heading h2{font-size:clamp(48px,6vw,95px);line-height:1.06;margin-top:22px}
.editorial-link{display:inline-flex;justify-content:space-between;gap:35px;font-size:14px;border-bottom:1px solid currentColor;padding:12px 0;white-space:nowrap}
.story-heading .editorial-link{margin-bottom:8px}
.crimson-diptych{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
.crimson-diptych .editorial-image:nth-child(2){margin-top:105px}
.crimson-diptych img{aspect-ratio:4/5;object-fit:cover}
.story-footnote{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:30px 0 10px}
.story-footnote p{font-family:var(--serif);font-size:24px}
.story-footnote>span{font-size:12px;letter-spacing:.1em}
.story-visible{padding:100px var(--pad) 80px;background:#e5ebeb}
.visible-heading{display:grid;grid-template-columns:1fr 2fr 1fr;align-items:end;gap:35px;margin-bottom:55px}
.visible-heading>.eyebrow{align-self:start;padding-top:10px}
.visible-heading h2{font-size:clamp(60px,7vw,112px);line-height:.92;color:#244b56}
.visible-heading>p:last-child{font-size:16px;max-width:200px}
.visible-diptych{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.visible-diptych figure{margin:0}
.visible-diptych img{aspect-ratio:4/5;object-fit:cover}
.visible-diptych figcaption{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:20px}
.visible-diptych figcaption>span{font-size:12px;letter-spacing:.09em}
.visible-diptych figcaption>a{font-size:14px;border-bottom:1px solid;padding:8px 0}
.story-color{display:grid;grid-template-columns:1.2fr 1fr;background:#ac4d30;color:#fff1dc;align-items:center}
.color-story-image .editorial-image img{width:100%;height:auto}
.color-story-copy{padding:65px 6vw}
.color-story-copy h2{font-size:clamp(55px,7vw,110px);line-height:.94;margin:32px 0}
.color-story-copy>p:not(.eyebrow){font-size:16px;margin-bottom:20px}
.color-image-caption{display:block;font-size:12px;letter-spacing:.13em;margin-top:80px}
.editorial-collections{padding:100px var(--pad) 65px;scroll-margin-top:60px}
.collections-title{text-align:center;margin:0 auto 60px}
.collections-title h2{font-size:clamp(50px,5.5vw,86px);line-height:1.04;margin:24px 0}
.collections-title>p:last-child{font-size:16px;color:var(--muted)}
.editorial-collection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:50px 26px}
.editorial-collection>div{overflow:hidden}
.editorial-collection img{aspect-ratio:4/5;object-fit:cover;transition:transform .8s var(--ease)}
.editorial-collection:hover img{transform:scale(1.035)}
.editorial-collection>p{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-top:15px;line-height:1.3}
.editorial-collection>p>span{font-family:var(--serif);font-size:30px;letter-spacing:-.035em}
.editorial-collection small{font-size:12px;color:var(--muted);white-space:nowrap}
.editorial-end{display:flex;justify-content:space-between;gap:35px;margin-top:65px;border-top:1px solid var(--line);padding-top:28px}
.archive .gallery-grid:not(.contact-sheet) .gallery-batch{columns:2;column-gap:45px}
.archive .gallery-grid:not(.contact-sheet) .photo-caption h3{font-size:29px}
.archive .gallery-grid:not(.contact-sheet) .photo-card{margin-bottom:55px}
.archive .gallery-grid:not(.contact-sheet) .view-label{display:none}
.archive .gallery-grid:not(.contact-sheet) .photo-open:hover img{transform:scale(1.015)}
/* Typography, color and genuine writing carry the collection. */
.literary-library{background:#ece5d5;color:#312b25}
.literary-masthead{padding:28px var(--pad);display:flex;justify-content:space-between;align-items:center;gap:25px;border-bottom:1px solid #312b2530}
.literary-masthead>span{font-size:12px;letter-spacing:.12em}
.literary-front{display:grid;grid-template-columns:1.15fr 1fr;gap:7vw;padding:60px var(--pad) 70px;align-items:center}
.literary-front-copy{padding:20px 0}
.literary-front h1{font-size:clamp(100px,11.5vw,185px);line-height:.85;letter-spacing:-.06em;margin:35px 0;color:#63372e}
.literary-front h1 em{font-size:1.1em}
.literary-intro{font-size:18px;line-height:1.65;margin-top:38px}
.literary-link{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;font-size:14px;border-bottom:1px solid currentColor;padding:14px 0}
.literary-front-copy>.literary-link{margin-top:22px}
.literary-front-image{display:block;align-self:stretch;position:relative}
.literary-front-image img{height:100%;max-height:690px;object-fit:cover;object-position:center bottom;transition:filter .7s}
.literary-front-image:hover img{filter:brightness(1.05)}
.literary-front-image>span{position:absolute;left:25px;right:25px;bottom:22px;display:flex;justify-content:space-between;gap:20px;font-size:12px;letter-spacing:.08em;color:#fff9ed}
.literary-quote{background:#303c36;color:#f1e8d4;padding:90px var(--pad);text-align:center}
.literary-quote blockquote{font-family:var(--serif);font-size:clamp(40px,5.2vw,83px);line-height:1.15;letter-spacing:-.03em;margin:45px auto 35px;max-width:1050px}
.literary-quote>.eyebrow{color:#c3c5af}
.literary-quote>p{font-size:12px;letter-spacing:.13em;line-height:1.9}
.literary-quote>p span{letter-spacing:0;text-transform:none;color:#c3c5af}
.letter-collection{padding:90px var(--pad) 65px;scroll-margin-top:20px}
.letter-collection-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:45px}
.letter-collection-heading h2{font-size:clamp(48px,5vw,76px);line-height:1.05}
.letter-collection-heading>span{max-width:235px;font-size:12px;line-height:1.8;letter-spacing:.08em}
.letter-covers{display:grid;grid-template-columns:1fr 1fr;gap:30px;perspective:1800px}
.letter-cover{display:block;min-width:0;perspective:1200px}
.letter-cover-face{background:var(--letter-color);color:var(--letter-paper);padding:38px;min-height:510px;display:flex;flex-direction:column;justify-content:space-between;transform-origin:left center;transition:transform .65s var(--ease),box-shadow .65s;backface-visibility:hidden}
.letter-cover:hover .letter-cover-face,.letter-cover:focus-visible .letter-cover-face{transform:rotateY(-5deg) rotateX(2deg) translateY(-7px);box-shadow:14px 18px 26px #30292022}
.letter-cover-top,.letter-cover-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px;letter-spacing:.09em}
.letter-cover-top{padding-bottom:22px;border-bottom:1px solid #ffffff45;text-transform:uppercase}
.letter-cover-top>span:first-child{font-family:var(--serif);font-size:24px;letter-spacing:0}
.letter-cover-title{text-align:center;padding:42px 12px}
.letter-cover-title>p{font-size:12px;letter-spacing:.11em;text-transform:uppercase}
.letter-cover-title h3{font-size:clamp(45px,5.4vw,82px);line-height:1.03;letter-spacing:-.045em;margin:25px 0}
.letter-cover-title>span{font-family:var(--serif);font-style:italic;font-size:21px}
.letter-cover-bottom{border-top:1px solid #ffffff45;padding-top:22px;letter-spacing:0;font-size:14px}
.literary-note{display:flex;justify-content:space-between;gap:35px;align-items:end;padding-top:45px}
.literary-note>p{font-size:16px;line-height:1.7}
.book-reading{background:var(--letter-color);color:var(--letter-paper);padding:0 var(--pad) 65px}
.book-topbar{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 0;border-bottom:1px solid #ffffff35}
.book-topbar>a{font-size:14px;padding:10px 0}
.book-topbar>span{font-size:12px;letter-spacing:.13em}
.book-layout{display:grid;grid-template-columns:.6fr 1.4fr;gap:6vw;align-items:start;padding:60px 0 45px}
.book-aside{position:sticky;top:35px;min-width:0}
.book-aside>.eyebrow{margin-bottom:25px}
.book-frontispiece{margin:0}
.book-frontispiece .editorial-image{width:100%;max-width:370px}
.book-frontispiece img{max-height:450px;object-fit:contain;object-position:left}
.book-frontispiece figcaption{font-size:12px;letter-spacing:.09em;margin-top:15px}
.book-margin-quote{font-family:var(--serif);font-size:clamp(32px,3.3vw,52px);line-height:1.25;letter-spacing:-.03em;margin:55px 0 65px;white-space:pre-line}
.book-margin-quote cite{display:block;font:12px var(--sans);letter-spacing:.08em;margin-top:30px;line-height:1.6}
.book-contents{margin-top:40px;border-block:1px solid #ffffff40}
.book-contents summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;font-size:14px;cursor:pointer}
.book-contents summary::-webkit-details-marker{display:none}
.book-contents summary>span{font-size:22px}
.book-contents[open] summary>span{transform:rotate(45deg)}
.book-contents nav{display:flex;flex-direction:column;padding-bottom:18px}
.book-contents a{font-family:var(--serif);font-size:23px;padding:12px 0;display:flex;gap:15px;line-height:1.3}
.book-contents a>span{font:12px var(--sans);padding-top:7px;opacity:.7}
.book-contents a[aria-current=page]{text-decoration:underline;text-underline-offset:6px}
.book-paper{background:var(--letter-paper);color:#322d28;min-width:0;box-shadow:0 15px 50px #0002;perspective:1800px}
.book-reader-controls{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:17px 30px;border-bottom:1px solid #322d282a}
.book-reader-controls>div{display:flex;gap:18px;flex-wrap:wrap}
.book-reader-controls button{font-size:14px;min-height:44px;padding:8px 0;border-bottom:1px solid transparent}
.book-reader-controls button[aria-pressed=true]{border-color:currentColor}
.book-reader-controls>button{white-space:nowrap}
.book-leaf{position:relative;background:var(--letter-paper);padding:40px clamp(30px,5vw,75px);min-height:480px;transform-style:preserve-3d}
.book-page-content:focus{outline:none}
.book-running-title{font-size:12px;letter-spacing:.11em;text-transform:uppercase;margin-bottom:25px}
.book-paper h1{font-size:clamp(42px,4.6vw,70px);line-height:1.07;letter-spacing:-.04em;margin:0 0 38px}
.book-paper h1.book-continuation{font-size:31px;line-height:1.2;margin-bottom:38px}
.book-continuation>span{display:block;font:12px var(--sans);letter-spacing:.1em;text-transform:uppercase;margin-top:12px}
.book-paper .poem-body{font-family:var(--serif);font-size:clamp(21px,1.75vw,27px);line-height:1.65;white-space:pre-wrap;letter-spacing:0;overflow-wrap:anywhere}
.book-paper .poem-body.large{font-size:clamp(26px,2.2vw,33px)}
.book-signature{font-family:Cormorant,Georgia,serif;font-size:32px;font-style:italic;margin-top:36px}
.book-language-note{font-size:12px;margin-top:30px;color:#6c6357}
.book-pagination{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 30px;border-top:1px solid #322d282a;position:sticky;bottom:0;background:var(--letter-paper);z-index:3}
.book-pagination button{width:48px;height:48px;font-size:25px;border:1px solid #322d2850;border-radius:50%;transition:background .25s,color .25s}
.book-pagination button:disabled{opacity:.25;cursor:default}
.book-pagination button:not(:disabled):hover{background:var(--letter-color);color:var(--letter-paper)}
.book-pagination>span{font-size:12px;letter-spacing:.12em}
.book-reading-options{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 30px 25px}
.book-reading-options button{font-size:14px;border-bottom:1px solid;padding:9px 0}
.book-reading-options>span{font-size:12px;max-width:200px;color:#6c6357;line-height:1.6}
.book-chapters{border-top:1px solid #ffffff40;display:flex;justify-content:space-between;align-items:start;gap:40px;padding-top:30px}
.book-chapters>a{font-family:var(--serif);font-size:clamp(25px,2.5vw,39px);line-height:1.25;max-width:46%;letter-spacing:-.03em}
.book-chapters>a:last-child{text-align:right}
.book-chapters span{display:block;font:12px var(--sans);letter-spacing:.1em;margin-bottom:13px}
.book-leaf>.book-turning-page{position:absolute;inset:0;min-height:100%;transform-origin:left center;backface-visibility:hidden;pointer-events:none;z-index:2;animation:book-turn .68s cubic-bezier(.3,0,.2,1) forwards;box-shadow:10px 0 30px #0002}
.book-leaf>.book-turning-page.turn-back{transform-origin:right center;animation-name:book-turn-back}
@keyframes book-turn{0%{transform:rotateY(0);opacity:1}75%{opacity:1}100%{transform:rotateY(-100deg);opacity:0}}
@keyframes book-turn-back{0%{transform:rotateY(0);opacity:1}75%{opacity:1}100%{transform:rotateY(100deg);opacity:0}}
.story-crimson a:focus-visible,.photography-cover button:focus-visible,.book-reading a:focus-visible,.book-contents summary:focus-visible,.literary-quote a:focus-visible{outline-color:#f4e7d5}
@media(max-width:1000px){.photography-chapters{gap:26px}.photography-cover-type{padding-left:35px;padding-right:25px}.photography-cover h1{font-size:80px}.visible-heading{grid-template-columns:1fr 2fr}.visible-heading>p:last-child{display:none}.editorial-collection>p{display:block}.editorial-collection small{display:block;margin-top:8px}.literary-front{gap:40px}.literary-front h1{font-size:115px}.book-layout{gap:35px;grid-template-columns:.55fr 1fr}.book-leaf{padding:35px}.letter-cover-face{padding:30px}.letter-cover-title h3{font-size:55px}}
@media(max-width:760px){
 .photography-cover{min-height:570px;height:calc(88svh - 85px);max-height:760px}.photography-cover-pictures{grid-template-columns:1fr}.photography-cover .cover-warm{display:none}.photography-cover-type{inset:0;padding:28px 24px 95px;background:linear-gradient(#0003,transparent 25%,transparent 45%,#0007)}.photography-cover h1{font-size:clamp(70px,13vw,100px)}.photography-cover-type .eyebrow{font-size:12px;max-width:190px}.photography-cover-bottom{padding:15px 24px;align-items:end}.photography-cover-bottom>span{font-size:12px;max-width:135px;line-height:1.6}.photography-cover-bottom button{font-size:14px;max-width:125px;text-align:right;line-height:1.6}
 .photography-chapters{justify-content:flex-start;gap:25px;overflow-x:auto;padding:10px 22px;scrollbar-width:none}.photography-chapters a,.photography-chapters button{font-size:14px;min-height:44px;flex-shrink:0}.photography-chapters::-webkit-scrollbar{display:none}
 .story-crimson{padding:48px 22px 28px}.story-heading{display:block;margin-bottom:28px}.story-heading h2{font-size:53px}.story-heading .editorial-link{margin-top:18px}.crimson-diptych{grid-template-columns:1fr;gap:22px}.crimson-diptych .editorial-image:nth-child(2){margin:0}.story-footnote{display:block;padding-top:25px}.story-footnote p{font-size:22px}.story-footnote>span{display:block;margin-top:16px;line-height:1.6}
 .story-visible{padding:50px 22px}.visible-heading{display:block;margin-bottom:32px}.visible-heading h2{font-size:68px;margin-top:25px}.visible-diptych{grid-template-columns:1fr;gap:36px}.visible-diptych figcaption{margin-top:12px;align-items:baseline}.visible-diptych figcaption>span{font-size:12px}.visible-diptych figcaption>a{font-size:14px;max-width:165px;text-align:right}
 .story-color{grid-template-columns:1fr}.color-story-copy{padding:45px 25px}.color-story-copy h2{font-size:74px;margin:27px 0}.color-image-caption{margin-top:35px}.editorial-collections{padding:55px 22px 45px}.collections-title h2{font-size:50px}.collections-title{margin-bottom:35px}.editorial-collection-grid{grid-template-columns:1fr 1fr;gap:30px 16px}.editorial-collection>p>span{font-size:26px}.editorial-collection small{font-size:12px}.editorial-end{display:block;margin-top:40px}.editorial-end>a{display:flex;margin-bottom:18px}
 .archive .gallery-grid:not(.contact-sheet) .gallery-batch{columns:1}.archive .gallery-grid:not(.contact-sheet) .photo-caption h3{font-size:28px}.archive .gallery-grid:not(.contact-sheet) .photo-card{margin-bottom:45px}
 .literary-masthead{padding:22px}.literary-masthead>.eyebrow{font-size:12px;max-width:170px}.literary-masthead>span{display:none}.literary-front{grid-template-columns:1fr;padding:35px 22px 35px;gap:35px}.literary-front-copy{padding:0}.literary-front h1{font-size:clamp(93px,22vw,135px);margin:28px 0;line-height:.9}.literary-intro{font-size:17px;margin-top:24px}.literary-front-copy>.literary-link{margin-top:15px}.literary-front-image img{height:auto;max-height:none;aspect-ratio:4/5;object-fit:cover}.literary-front-image>span{left:20px;right:20px;bottom:18px}
 .literary-quote{padding:55px 22px}.literary-quote blockquote{font-size:40px;line-height:1.15;margin:35px 0}.literary-quote blockquote br{display:none}.letter-collection{padding:50px 22px 40px}.letter-collection-heading{display:block;margin-bottom:30px}.letter-collection-heading h2{font-size:47px}.letter-collection-heading>span{display:block;max-width:270px;margin-top:22px}.letter-covers{grid-template-columns:1fr;gap:23px}.letter-cover-face{padding:28px;min-height:420px}.letter-cover-title{padding:32px 0}.letter-cover-title h3{font-size:53px}.letter-cover-title>span{font-size:21px}.letter-cover-bottom{font-size:14px}.literary-note{display:block;padding-top:32px}.literary-note>p{font-size:16px}.literary-note .literary-link{margin-top:20px}
 .book-reading{padding:0 18px 40px}.book-topbar{padding:15px 0;gap:18px}.book-topbar>span:nth-child(2){display:none}.book-topbar>span{font-size:12px}.book-layout{display:flex;flex-direction:column;gap:26px;padding:30px 0}.book-aside{position:static;width:100%;display:flex;flex-direction:column}.book-aside>.eyebrow{font-size:12px;margin-bottom:20px}.book-frontispiece{display:none}.book-margin-quote{display:none}.book-contents{margin-top:0}.book-contents summary{padding:14px 0}.book-contents a{font-size:24px}.book-paper{width:100%}.book-reader-controls{padding:12px 20px;gap:10px}.book-reader-controls>div{gap:14px}.book-reader-controls button{font-size:14px}.book-reader-controls>button{font-size:14px}.book-leaf{padding:28px 23px;min-height:470px}.book-paper h1{font-size:42px;margin-bottom:30px}.book-paper h1.book-continuation{font-size:30px}.book-running-title{font-size:12px;line-height:1.6;margin-bottom:23px}.book-paper .poem-body{font-size:22px;line-height:1.6}.book-paper .poem-body.large{font-size:27px}.book-pagination{padding:15px 20px}.book-reading-options{padding:0 20px 22px;display:block}.book-reading-options>span{display:block;margin-top:15px}.book-chapters{gap:25px;padding-top:25px}.book-chapters>a{font-size:26px}.book-chapters span{font-size:12px;line-height:1.6}
}
@media(prefers-reduced-motion:reduce){.editorial-image img,.editorial-collection img,.letter-cover-face,.literary-front-image img{transition:none}.letter-cover:hover .letter-cover-face,.letter-cover:focus-visible .letter-cover-face{transform:none;box-shadow:none}.book-leaf>.book-turning-page{display:none;animation:none}}
