@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600&family=Playfair+Display:ital,wght@0,400;0,500;1,400&display=swap');

:root{--ink:#090909;--paper:#f7f2e8;--gold:#f6c515;--gold-soft:#e9cd79;--blue:#153eae;--text:#17191d;font-synthesis:none}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--paper);font-family:'DM Sans',Arial,sans-serif}
a{color:inherit}
.skip-link{position:fixed;left:1rem;top:-4rem;z-index:10;padding:.6rem 1rem;background:var(--paper);color:var(--ink)}
.skip-link:focus{top:1rem}
.opening{height:330svh;position:relative;background:var(--ink)}
.stage{height:100svh;position:sticky;top:0;overflow:hidden;isolation:isolate;background:var(--ink)}
.art{position:absolute;inset:0;overflow:hidden;transform:translate3d(0,0,0);pointer-events:none}
.art img{position:absolute;left:50%;top:48%;height:140vmax;width:140vmax;max-width:none;object-fit:contain;transform:translate(-50%,-50%) scale(var(--art-scale,.65)) rotate(var(--art-rotate,-7deg));will-change:transform;mix-blend-mode:screen}
@media(min-width:801px){.art img{top:65%}}
@media(min-width:521px) and (max-width:800px){.art img{transform:translate(-50%,-50%) scale(var(--art-scale,1.63)) rotate(var(--art-rotate,-7deg))}}
.signature{position:absolute;z-index:2;top:clamp(2.2rem,6vw,5.6rem);left:clamp(1.5rem,5vw,6rem);margin:0;font-size:clamp(1.05rem,1.95vw,2.1rem);line-height:1.12;font-weight:400;letter-spacing:.2em;text-transform:uppercase;text-shadow:0 1px 15px #000;transition:color .3s}
.about-anchor{position:absolute;top:82%;left:0;width:1px;height:1px}
.opening-end{position:absolute;inset:0;z-index:2;opacity:var(--reveal,0);pointer-events:none}
.opening-end.is-visible{pointer-events:auto}
.nav{position:absolute;top:clamp(11rem,25vh,17rem);left:clamp(1.5rem,5vw,6rem);display:flex;flex-direction:column;align-items:flex-start;gap:clamp(.75rem,1.7vh,1.25rem);font-size:.75rem;letter-spacing:.16em;text-transform:uppercase}
.nav a{text-decoration:none;padding:.25rem 0;border-bottom:1px solid transparent}
.nav a:hover,.nav a:focus-visible{border-color:var(--gold)}
.about{position:absolute;left:clamp(1.5rem,7vw,8rem);bottom:clamp(4rem,12vh,10rem);max-width:13ch;margin:0;font-family:'Playfair Display',Georgia,serif;font-size:clamp(2.7rem,7vw,8rem);line-height:1.02;font-weight:400;text-wrap:balance}
.index{position:absolute;right:clamp(1.5rem,6vw,7rem);bottom:clamp(2rem,5vw,5rem);font-size:.7rem;letter-spacing:.2em}
.projects{position:relative;isolation:isolate;overflow:hidden;min-height:85svh;background:var(--paper);color:var(--text);padding:clamp(2rem,5vw,5rem) clamp(1.5rem,6vw,7rem) clamp(10rem,15vw,17rem)}
.lower-lines{position:absolute;z-index:0;left:0;bottom:-19vw;width:100vw;height:auto;opacity:.84;pointer-events:none}
.section-topline{position:relative;z-index:2;display:flex;justify-content:space-between;gap:1rem;border-top:1px solid currentColor;padding-top:.9rem;text-transform:uppercase;font-size:.66rem;letter-spacing:.19em}
.project-gallery{position:relative;z-index:2;display:grid;grid-template-columns:clamp(10rem,17vw,16rem) minmax(0,1fr);column-gap:clamp(1.5rem,3vw,3.5rem);align-items:end;margin-top:clamp(2rem,4vw,4rem);transform:translateY(12px)}
.gallery-intro{display:flex;flex-direction:column;justify-content:start;align-self:start;min-height:0;padding-top:3.9rem}
.gallery-intro h2{font-family:'Playfair Display',Georgia,serif;font-size:clamp(2.15rem,3.3vw,4rem);line-height:1.08;letter-spacing:-.045em;font-weight:400;margin:0 0 1.2rem}
.carousel{min-width:0}
.carousel-controls{height:2.6rem;display:flex;justify-content:flex-end;align-items:flex-start;gap:.4rem}
.carousel-count{margin-right:.9rem;padding-top:.33rem;font-size:.67rem;letter-spacing:.17em}
.carousel-controls button{width:2.05rem;height:2.05rem;border:1px solid currentColor;background:transparent;color:inherit;border-radius:50%;font:inherit;cursor:pointer}
.carousel-controls button:hover:not(:disabled),.carousel-controls button:focus-visible{background:var(--text);color:var(--paper)}
.carousel-controls button:disabled{opacity:.3;cursor:default}
.carousel-track{display:flex;gap:clamp(1rem,1.6vw,1.6rem);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-inline:contain;padding-bottom:1rem}
.carousel-track::-webkit-scrollbar{display:none}
.project-tile{flex:0 0 clamp(13rem,17.5vw,17rem);min-width:0;scroll-snap-align:start}
.tile-visual{aspect-ratio:1.7;overflow:hidden;position:relative;display:grid;place-items:center;background:var(--blue);color:var(--paper)}
.tile-visual img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:70% 39%}
.tile-visual:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.tile-visual.tile-sereinha img{object-position:center 80%}
.tile-visual.tile-fulozinha img{object-position:center 62%}
.tile-visual.tile-teresa img,.tile-visual.tile-mwany img{object-position:center}
.tile-visual.tile-distopia img{object-position:center}
.tile-visual>span{font-family:'Playfair Display',Georgia,serif;font-size:clamp(5.5rem,12vw,12rem);line-height:.7;font-style:italic;opacity:.9;transform:rotate(-12deg);user-select:none}
.tile-caption{display:grid;grid-template-columns:1fr auto;gap:.25rem 1rem;align-items:baseline;padding-top:.75rem}
.tile-caption h3{grid-column:1/-1;margin:0;font-family:'Playfair Display',Georgia,serif;font-size:clamp(1.1rem,1.7vw,1.75rem);font-weight:400;line-height:1.2}
.tile-caption span,.tile-caption a{font-size:.61rem;line-height:1.4;text-transform:uppercase;letter-spacing:.14em}.tile-caption span{opacity:.65}.tile-caption a{text-decoration:none;border-bottom:1px solid currentColor}.tile-caption a:hover{color:var(--blue)}
.tile-links{display:flex;justify-content:flex-end;gap:.6rem;white-space:nowrap}
.books-preview{position:relative;isolation:isolate;overflow:hidden;background:var(--paper);color:var(--text);padding:clamp(2.5rem,5vw,5rem) clamp(1.5rem,6vw,7rem) clamp(4rem,7vw,7rem)}
.books-continuation-lines{position:absolute;z-index:0;top:-20.44vw;left:0;width:100vw;height:auto;opacity:.84;pointer-events:none;mask-image:linear-gradient(to bottom,#000 0%,#000 40%,transparent 100%)}
.books-preview-layout{position:relative;z-index:1;display:grid;grid-template-columns:minmax(10rem,.7fr) minmax(14rem,1fr) minmax(12rem,1fr);gap:clamp(1.5rem,4vw,5rem);align-items:center;max-width:1300px;margin:clamp(3rem,5vw,5rem) auto 0}
.books-preview-heading{align-self:start}
.books-preview-heading h2{font-family:'Playfair Display',Georgia,serif;font-size:clamp(3rem,5vw,5.5rem);font-weight:400;line-height:1;margin:0 0 1.5rem}
.books-preview-heading a,.books-preview-copy a{text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:.3rem;text-transform:uppercase;font-size:.65rem;letter-spacing:.15em}
.books-preview-heading a:hover,.books-preview-copy a:hover{color:var(--blue)}
.books-preview-cover{display:block}
.books-preview-cover img{display:block;width:100%;height:auto;border:1px solid #e4e4e4;box-shadow:0 2px 5px #00000017,0 15px 38px #0000001c}
.books-preview-kind{font-size:.65rem;letter-spacing:.16em;text-transform:uppercase}
.books-preview-copy h3{font-family:'Playfair Display',Georgia,serif;font-size:clamp(2.4rem,4vw,4.5rem);font-weight:400;line-height:1.1;margin:.7rem 0 1.3rem}
.books-preview-copy>p:not(.books-preview-kind){font-family:'Playfair Display',Georgia,serif;font-size:clamp(1.1rem,1.7vw,1.45rem);line-height:1.45;max-width:23ch;margin:0 0 2rem}
.footer{display:flex;justify-content:space-between;gap:1rem;background:var(--gold-soft);color:var(--text);padding:1.5rem clamp(1.5rem,6vw,7rem) 2rem}
.footer>a{font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:.3rem}
.footer>a:hover,.footer>a:focus-visible{color:var(--blue)}
@media(max-width:800px){.opening{height:290svh}.art img{height:145vmax;width:145vmax;left:47%;top:49%}.signature{top:1.8rem;left:1.5rem}.nav{left:1.5rem;top:clamp(8rem,19vh,12rem);gap:.8rem;font-size:.64rem}.about{bottom:13vh;font-size:clamp(3rem,10vw,5rem);left:1.5rem}.project-gallery{grid-template-columns:9rem minmax(0,1fr)}.gallery-intro{padding-top:3rem}.gallery-intro h2{font-size:2rem}.project-tile{flex-basis:15rem}.tile-visual>span{font-size:8rem}}
@media(max-width:520px){.opening{height:270svh}.art img{height:140vmax;width:140vmax;left:46%;top:48%;transform:translate(-50%,-50%) scale(var(--art-scale,1.05)) rotate(var(--art-rotate,-7deg))}.signature{font-size:1rem;letter-spacing:.17em}.nav{top:8.5rem;font-size:.58rem;letter-spacing:.1em}.about{font-size:clamp(2.75rem,12vw,4.5rem);bottom:12vh}.projects{padding-top:3rem;padding-bottom:9rem}.lower-lines{width:120vw;left:-10vw;bottom:-15vw}.project-gallery{grid-template-columns:1fr;row-gap:1rem}.gallery-intro{min-height:0;padding-top:0}.gallery-intro h2{font-size:2.8rem}.carousel-controls{height:2.7rem}.project-tile{flex-basis:min(78vw,21rem)}.tile-caption h3{font-size:1.5rem}.tile-visual>span{font-size:11rem}.footer{padding-top:1.25rem;padding-bottom:1.75rem}.footer>a{font-size:.63rem;letter-spacing:.1em}}
@media(max-width:800px){.books-preview-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.books-preview-heading{grid-column:1/-1}.books-preview-heading h2{margin-bottom:.5rem}}
@media(max-width:520px){.books-preview-layout{grid-template-columns:1fr 1fr;gap:1rem}.books-preview-cover{grid-column:1/-1;max-width:420px}.books-preview-copy{grid-column:1/-1}.books-preview-copy h3{font-size:2.8rem}.books-preview-copy>p:not(.books-preview-kind){max-width:32ch}}
@media(max-width:520px){.books-continuation-lines{width:120vw;left:-10vw;top:-32.33vw}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.art img{will-change:auto}}
