/* Manifesto Studio — O traço fica. */
@font-face{font-family:Display;src:url("assets/display.woff2") format("woff2");font-display:swap}
@font-face{font-family:Body;src:url("assets/body5.woff2") format("woff2");font-weight:200 800;font-display:swap}
@font-face{font-family:Editorial;src:url("assets/editorial4.woff2") format("woff2");font-style:italic;font-display:swap}

:root{
  --black:#10100f;--panel:#1a1917;--cream:#efe9dc;--muted:#b9b1a6;
  --red:#fa674d;--rust:#a22718;--line:#eee4d935;--ink-line:#231a1938;
  --gutter:clamp(22px,5vw,96px);--header:70px;
  --display:Display,Impact,"Arial Narrow",sans-serif;--body:Body,Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:var(--header)}
body{margin:0;background:var(--black);color:var(--cream);font:16px/1.6 var(--body)}
body.menu-open{overflow:hidden}
h1,h2,h3,p,figure{margin:0}
h2{font:clamp(62px,11vw,180px)/.8 var(--display);letter-spacing:-.022em}
h2 em{font-style:normal;color:var(--red)}
p{max-width:52ch}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button{color:inherit;cursor:pointer}
img{display:block;width:100%;height:auto}
svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--red);outline-offset:4px}
::selection{background:var(--red);color:var(--black)}
.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip-link:focus{position:fixed;top:8px;left:12px;z-index:12;background:var(--cream);color:var(--black);padding:12px}
.icon-sprite{position:absolute;width:0;height:0;overflow:hidden}
.eyebrow,.statement-index,.artist-image>span,.address-label,.footer-bottom{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.eyebrow{color:var(--red);margin-bottom:20px}
.button,.text-link,.header-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;min-height:46px;font-size:13px;font-weight:750}
.button,.header-cta{padding:11px 19px;background:var(--cream);color:var(--black);border:1px solid var(--cream)}
.button:hover,.header-cta:hover{background:var(--red);border-color:var(--red);color:#170d0a}
.text-link{background:none;padding:0;border:0;border-bottom:1px solid currentColor}
.text-link:hover{color:var(--red)}
.button svg,.text-link svg,.header-cta svg{transition:transform .2s}
.button:hover svg,.text-link:hover svg,.header-cta:hover svg{transform:translate(2px,-2px)}
.scroll-progress{position:fixed;top:0;left:0;right:0;height:2px;background:var(--red);z-index:11;transform-origin:left;transform:scaleX(0)}
.header{height:var(--header);position:sticky;top:0;z-index:10;background:#10100ff5;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:0 var(--gutter);border-bottom:1px solid var(--line)}
.brand{display:inline-flex;align-items:center;gap:10px;font:25px/.9 var(--display);letter-spacing:.065em}
.brand img{width:40px;height:40px;border-radius:50%}
.brand small{display:block;font:700 8px/1.6 var(--body);letter-spacing:.11em;margin-top:3px}
.desktop-nav,.header-actions{display:flex;align-items:center;gap:clamp(18px,3vw,44px)}
.desktop-nav a{font-size:13px;font-weight:650;color:var(--muted);padding:10px 0}
.desktop-nav a:hover,.desktop-nav a.is-active{color:var(--cream);box-shadow:0 1px var(--red)}
.header-cta{min-height:40px;padding:8px 14px}
.menu-toggle{display:none;width:44px;height:44px;background:none;border:1px solid var(--line)}
#mobile-nav{position:fixed;z-index:9;inset:var(--header) 0 0;background:var(--black);padding:22px var(--gutter);overflow:auto}
#mobile-nav a{display:block;padding:14px 0;border-bottom:1px solid var(--line);font:32px/1.1 var(--display);text-transform:uppercase}

/* Retrato do artista */
.feature{display:grid;grid-template-columns:1fr 1.15fr;padding:clamp(54px,9vw,130px) var(--gutter);gap:clamp(28px,5vw,85px)}
.artist{background:var(--cream);color:var(--black)}
.artist-image{position:relative;max-width:510px;min-height:390px;background:#242220;overflow:hidden}
.artist-image img{height:100%;max-height:640px;object-fit:cover;object-position:center 32%;filter:saturate(.3)}
.artist-copy{padding:30px 0}
.artist-copy h2 em,.artist-copy .eyebrow{color:var(--rust)}
.artist-copy p:not(.eyebrow){color:#433830}
.artist-copy .text-link{overflow-wrap:anywhere}

/* Conversão, informações e rodapé */
.reviews,.section,.footer{padding:clamp(55px,8vw,110px) var(--gutter)}
.reviews{border-top:1px solid var(--line);background:#181614}
.reviews-heading,.faq-grid,.location-heading{display:grid;grid-template-columns:1.25fr .75fr;gap:32px;align-items:end}
.reviews h2,.faq h2{font-size:clamp(49px,7vw,105px)}
.reviews-heading>p,.faq-grid>div>p:last-child,.location-heading>p{color:var(--muted);margin-top:22px}
.reviews-portal,.elfsight-mount{margin-top:28px;padding:25px 0;border-block:1px solid var(--line)}
.reviews-portal{display:flex;align-items:center;gap:22px}
.reviews-symbol,.review-decoration,.reviews-bottom>span{display:none}
.reviews-portal h3{font:32px/1 var(--display);margin:9px 0}
.reviews-portal p{color:var(--muted);margin-bottom:16px}
.google-label{font-size:11px;font-weight:750;letter-spacing:.1em;color:var(--red)}
.google-g{font-size:16px;margin-right:7px}
.reviews-bottom a{display:inline-flex;align-items:center;gap:12px;margin-top:12px;min-height:44px;font-size:13px}
.project{background:var(--cream);color:var(--black)}
.project h2{font-size:clamp(57px,10vw,144px)}
.project h2 em,.project .eyebrow{color:var(--rust)}
.project-shell{display:grid;grid-template-columns:1fr .85fr;gap:clamp(28px,8vw,124px);align-items:center}
.project-copy>p:not(.eyebrow){margin-top:23px}
.project-contact{display:flex;align-items:center;gap:13px;margin-top:26px}
.project-contact small,.footer-grid small,.location-brand small{display:block;font-size:10px;font-weight:750;letter-spacing:.09em}
.project-contact a,.location-phone{display:inline-flex;align-items:center;gap:6px;min-height:44px}
.project-form{border-top:2px solid var(--rust);padding-top:23px;min-width:0}
.project-form label{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:12px;font-weight:750;margin:12px 0 4px}
.project-form label span{font-size:9px;color:#6e5b52}
.project-form input,.project-form textarea,.project-form select{padding:12px;width:100%;background:#faf7ef;color:#161412;border:1px solid #aa9e8c;border-radius:0}
.project-form textarea{resize:vertical}
.project-form .button{width:100%;margin-top:15px;background:#171412;color:var(--cream);border-color:#171412}
.project-form .button:hover{background:var(--rust)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.form-note,.form-status-link{font-size:12px;margin-top:10px}
.form-status-link{display:block;text-decoration:underline}
.service-select>span,.map-badge{display:none}
.faq{border-bottom:1px solid var(--line)}
.faq-grid{align-items:start}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 0;min-height:50px}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary span{font-size:21px;color:var(--red)}
.faq-list details[open] summary span{transform:rotate(45deg)}
.faq-list details p{padding:0 0 17px;color:var(--muted);font-size:14px}
.contact{background:#191714}
.contact-top{display:flex;justify-content:space-between;gap:20px;font-size:11px;letter-spacing:.08em}
.location-shell{display:grid;grid-template-columns:minmax(285px,.7fr) 1.3fr;border:1px solid var(--line);margin-top:30px}
.location-details{padding:clamp(20px,3.5vw,45px)}
.location-brand{display:flex;align-items:center;gap:12px;font-weight:750}
.location-brand img{width:46px;border-radius:50%}
address{font-style:normal;margin:22px 0;color:var(--muted)}
address b,.address-label{display:block}
.address-label{color:var(--red);margin-bottom:4px}
.hours{margin-bottom:16px;font-size:13px}
.hours p,.location-footnote{display:flex;align-items:center;gap:8px}
.hours>div{display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid var(--line);padding:8px 0}
.location-phone{display:flex;font-size:14px}
.location-map{min-width:0;min-height:410px;position:relative;background:#252421}
.location-map iframe{display:block;width:100%;height:100%;min-height:410px;border:0}
.map-expand{position:absolute;right:12px;bottom:32px;display:flex;gap:7px;align-items:center;background:var(--black);color:var(--cream);padding:10px;font-size:11px}
.location-footnote{margin-top:15px;font-size:12px;color:var(--muted);flex-wrap:wrap}
.location-footnote a{display:inline-flex;align-items:center;gap:6px;text-decoration:underline}
.footer{padding-bottom:22px}
.footer-invite a{display:flex;justify-content:space-between;align-items:center;gap:12px;font:clamp(42px,8vw,118px)/.9 var(--display);text-transform:uppercase;padding:20px 0 28px;border-bottom:1px solid var(--line)}
.footer-invite>span{font-size:11px;color:var(--red);letter-spacing:.11em}
.footer-invite em{font-style:normal;color:var(--red)}
.footer-invite svg{width:clamp(34px,6vw,88px);height:auto;aspect-ratio:1}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.1fr;gap:24px;margin:26px 0}
.footer-grid>div{display:grid;align-content:start;font-size:13px;gap:4px}
.footer-grid a svg{width:14px;height:14px;vertical-align:middle}
.footer-grid small{color:var(--muted)}
.footer-wordmark{display:none}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:12px;color:var(--muted)}
.footer-bottom button{background:none;border:0;color:inherit;min-height:44px}
dialog{position:fixed;border:1px solid var(--line);background:#191714;color:var(--cream);padding:0;max-width:min(900px,calc(100% - 28px));max-height:calc(100dvh - 28px)}
dialog::backdrop{background:#050505e2}
.dialog-close{position:absolute;right:12px;top:12px;z-index:1;min-width:44px;height:44px;background:var(--black);color:var(--cream);border:1px solid var(--line);font-size:24px}
.lightbox-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr)}
.lightbox-layout img{height:min(70svh,620px);object-fit:contain;background:#0d0c0b}
.lightbox-info,.privacy-dialog{padding:clamp(20px,4vw,50px);padding-top:60px}
.lightbox-info h2,.privacy-dialog h2{font-size:clamp(34px,5vw,60px);line-height:1}
.lightbox-info p:not(.eyebrow),.privacy-dialog p{margin:14px 0;color:var(--muted)}
.lightbox-info .button{margin:10px 0}
.lightbox-controls{display:flex;align-items:center;gap:10px}
.lightbox-controls button{width:44px;height:44px;background:none;border:1px solid var(--line)}
.privacy-dialog{max-width:min(580px,calc(100% - 28px))}

@media(max-width:900px){
  :root{--header:62px}
  .desktop-nav{display:none}
  .menu-toggle{display:grid;place-items:center}
  .header-actions{gap:8px}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .header .brand{font-size:22px}
  .brand img{width:33px;height:33px}
  .header-cta{font-size:11px;padding:7px 9px;gap:5px}
  .header-cta svg{width:14px;height:14px}
  .feature,.reviews-heading,.project-shell,.faq-grid,.location-heading,.location-shell{grid-template-columns:1fr}
  .statement-index{font-size:9px}
  .artist-copy{padding:0}
  .artist-image{min-height:0}
  .artist-image img{max-height:490px}
  .reviews-heading{gap:5px}
  .reviews-heading>p{margin-top:12px}
  .contact-top>span{display:none}
  .location-map,.location-map iframe{min-height:340px}
  .location-footnote{align-items:flex-start}
  .footer-bottom{font-size:9px;letter-spacing:.04em}
  .footer-bottom>span:nth-child(2){display:none}
  .lightbox-layout{grid-template-columns:1fr}
  .lightbox-layout img{height:43svh}
  .lightbox-info{padding:20px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}
}
.statement h2 em{background:linear-gradient(90deg,var(--rust) calc(var(--statement-progress,1) * 100%),#181412 0);background-clip:text;color:transparent}
@media(prefers-reduced-motion:reduce){.statement h2 em{background:none;color:var(--rust)}}
@media(max-width:390px){
  .header{gap:7px}
  .header-actions{gap:5px}
  .header .brand{font-size:19px;gap:7px}
  .header .brand img{width:30px;height:30px}
  .header .brand small{font-size:7px}
  .header-cta{padding:7px 8px}
  .gallery-filters{gap:1px}
  .gallery-filters button{padding-inline:5px}
  .footer-invite a{font-size:36px}
}
.footer-invite a>span{min-width:0}

/* Abertura em três tempos: selo, traço e revelação da cena. */
.intro-reel {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 15;
  padding: 24px var(--gutter);
  grid-template-rows: auto 1fr auto;
  background: radial-gradient(ellipse at 52% 48%, #341811 0%, #14110f 40%, #0a0a09 75%);
  color: var(--cream);
}
.intro-playing .intro-reel {
  display: grid;
  animation: intro-curtain 1.45s cubic-bezier(.75, 0, .2, 1) both;
}
.intro-reel-index {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 13px;
  border-bottom: 1px solid var(--line);
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .14em;
}
.intro-imprint {
  display: grid;
  justify-self: center;
  place-items: center;
  align-content: center;
  text-align: center;
  width: min(660px, 100%);
}
.intro-stamp {
  display: grid;
  place-items: center;
  width: clamp(68px, 8vw, 96px);
  aspect-ratio: 1;
  padding: 9px;
  margin-bottom: 22px;
  border: 1px solid #fa674d78;
  border-radius: 50%;
  animation: intro-stamp .55s cubic-bezier(.17, .82, .35, 1) both;
}
.intro-stamp img { border-radius: 50%; }
.intro-ink {
  font: clamp(54px, 10vw, 134px)/.89 var(--display);
  white-space: nowrap;
  animation: intro-ink .62s .12s ease-out both;
}
.intro-ink em { color: #ffc0a7; font: italic .91em/.8 Editorial, Georgia, serif; }
.intro-line {
  width: 92%;
  height: 2px;
  margin: 20px 0 14px;
  background: var(--red);
  transform-origin: left;
  animation: intro-line .58s .18s cubic-bezier(.22, .7, .25, 1) both;
}
.intro-imprint p {
  font-size: 10px;
  font-weight: 720;
  letter-spacing: .13em;
  animation: intro-ink .42s .3s ease-out both;
}
.intro-skip {
  justify-self: end;
  min-height: 44px;
  padding: 8px 13px;
  background: #10100f;
  border: 1px solid var(--line);
  font-size: 12px;
}
.intro-skip:hover { border-color: var(--red); }
.intro-skip span { color: var(--red); margin-left: 6px; }
@keyframes intro-curtain {
  0%, 57% { clip-path: inset(0); }
  100% { clip-path: inset(0 0 100% 0); visibility: hidden; }
}
@keyframes intro-stamp {
  from { opacity: 0; transform: scale(1.45) rotate(-14deg); }
  to { opacity: 1; transform: scale(1) rotate(0); }
}
@keyframes intro-ink {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes intro-line { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@media (prefers-reduced-motion: reduce) {
  .intro-playing .intro-reel { display: none; }
}

/* Ficha do projeto */
.guide { background: #3a1813; color: var(--cream); }
.guide-mast,
.guide-dossier-head,
.guide-photo figcaption,
.project-form-head {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .1em;
}
.guide-mast { padding: 0 0 16px; border-bottom: 1px solid var(--line); }
.guide-layout {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  gap: clamp(28px, 6vw, 100px);
  margin-top: 36px;
  align-items: start;
}
.guide-cover h2 { font-size: clamp(60px, 8.2vw, 130px); }
.guide-cover > p:not(.eyebrow) { margin: 19px 0 18px; color: #e9cec1; }
.guide-switch,
.faq-tools { display: flex; flex-wrap: wrap; gap: 7px; }
.guide-switch button,
.faq-tools button {
  background: transparent;
  color: var(--cream);
  border: 1px solid var(--line);
  min-height: 44px;
  padding: 7px 13px;
  font-size: 12px;
  font-weight: 750;
}
.guide-switch button:hover,
.faq-tools button:hover { border-color: var(--red); }
.guide-switch button[aria-pressed="true"],
.faq-tools button[aria-pressed="true"] {
  background: var(--cream);
  border-color: var(--cream);
  color: var(--black);
}
.guide-photo {
  position: relative;
  border: 1px solid var(--line);
  margin-top: 20px;
  background: #160e0c;
}
.guide-photo img {
  height: clamp(96px, 15vw, 220px);
  object-fit: cover;
  object-position: center 31%;
  filter: saturate(.64);
}
.guide-photo figcaption { padding: 9px 11px; color: #e5c8b9; }
.guide-dossier {
  color: #1e1713;
  background: var(--cream);
  padding: clamp(20px, 3.7vw, 52px);
  border-left: 3px solid var(--red);
}
.guide-dossier:not([hidden]) + .guide-dossier:not([hidden]) { margin-top: 15px; }
.guide-dossier-head { color: var(--rust); padding-bottom: 16px; border-bottom: 1px solid var(--ink-line); }
.guide-steps {
  list-style: none;
  counter-reset: dossier;
  padding: 0;
  margin: 0 0 24px;
}
.guide-steps li {
  display: grid;
  grid-template-columns: 47px minmax(0, 1fr);
  gap: 14px;
  padding: 19px 0;
  border-bottom: 1px solid var(--ink-line);
  counter-increment: dossier;
}
.guide-steps li::before {
  content: counter(dossier, decimal-leading-zero);
  color: var(--rust);
  font: 31px/1 var(--display);
}
.guide-steps h3 { font: clamp(27px, 3vw, 43px)/1 var(--display); margin-bottom: 7px; }
.guide-steps p { font-size: 14px; color: #45382f; }
.guide-cta { background: var(--black); border-color: var(--black); color: var(--cream); }
.guide-faq { margin-left: 14px; font-size: 12px; }
.guide-faq:hover { color: var(--rust); }

/* Detalhes em contexto */
.artist-notes { width: 100%; border-block: 1px solid var(--ink-line); padding: 14px 0; margin-bottom: 15px; }
.artist-notes > span { color: var(--rust); font-size: 10px; font-weight: 800; letter-spacing: .1em; }
.artist-copy .artist-notes p { font-size: 14px; margin: 6px 0; }
.artist-notes a { font-size: 13px; font-weight: 750; text-decoration: underline; text-underline-offset: 3px; }
.project-form-head { color: var(--rust); border-bottom: 1px solid var(--ink-line); padding-bottom: 12px; margin-bottom: 18px; }
.project-service-note { color: #554035; font-size: 12px; margin: 9px 0 13px; }

/* FAQ por assunto */
.faq { background: #151412; }
.faq-grid { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(25px, 6vw, 105px); }
.faq-intro > p:not(.eyebrow) { color: var(--muted); margin: 20px 0 10px; }
.faq-tools { margin: 0 0 12px; }
.faq-list { border-top: 1px solid var(--line); }
.faq-list details[open] { background: #211b17; }
.faq-list summary {
  display: grid;
  grid-template-columns: 35px minmax(0, 1fr) 27px;
  padding: 15px 9px;
  gap: 11px;
}
.faq-list summary .faq-number { color: var(--muted); font: 19px/1 var(--display); }
.faq-list summary .faq-question { color: var(--cream); font-size: 15px; font-weight: 700; }
.faq-question small { color: var(--red); display: block; font-size: 9px; letter-spacing: .11em; margin-bottom: 2px; }
.faq-list details[open] summary span:not(.faq-plus) { transform: none; }
.faq-list .faq-plus { justify-self: center; }
.faq-answer { margin: 0 43px 0 55px; }
.faq-answer a { text-decoration: underline; text-underline-offset: 3px; }
@media (min-width: 901px) {
  .faq-intro { position: sticky; top: calc(var(--header) + 28px); }
}
@media (max-width: 820px) {
  .guide-layout, .faq-grid { grid-template-columns: 1fr; }
  .guide-photo img { height: clamp(130px, 30vw, 230px); }
}
@media (max-width: 640px) {
  .intro-reel-index, .intro-imprint p { font-size: 8px; }
  .guide-mast, .guide-dossier-head, .guide-photo figcaption { font-size: 9px; }
  .guide-layout { margin-top: 25px; }
  .guide-steps li { grid-template-columns: 34px minmax(0, 1fr); gap: 10px; }
  .guide-steps li::before { font-size: 27px; }
  .guide-steps p { font-size: 13px; }
  .guide-faq { margin-left: 0; margin-top: 7px; }
  .faq-list summary { grid-template-columns: 26px minmax(0, 1fr) 24px; gap: 7px; }
  .faq-answer { margin-left: 42px; margin-right: 16px; }
}

/* Capa, exposição e atlas do Manifesto */
:root {
  --paper: #efe8da;
  --ink: #201912;
  --print-red: #9e2e21;
  --serif: Editorial, Georgia, serif;
  --paper-texture: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='144' height='144'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.84' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23000' opacity='.13' filter='url(%23grain)' d='M0 0h144v144H0z'/%3E%3C/svg%3E");
}
.cover-header { background: #171411; border-color: #ffffff26; }
.cover-header .header-cta {
  background: linear-gradient(#f8f1e5, #e6d9c3);
  border-color: #b6a78e;
  box-shadow: inset 0 1px #fff9, 0 2px 0 #0008;
}
.cover-header .header-cta:hover { background: #ffc8b1; }
.cover {
  background: var(--paper);
  color: var(--ink);
}
.cover-grid {
  display: grid;
  grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
  min-height: max(565px, calc(100svh - var(--header) - 74px));
}
.cover-copy {
  background: var(--paper-texture), radial-gradient(ellipse at 0% 4%, #fbf4e7, var(--paper) 70%);
  display: grid;
  align-content: space-between;
  gap: 32px;
  padding: clamp(24px, 3.2vw, 56px) clamp(26px, 4vw, 82px) clamp(23px, 3vw, 45px) var(--gutter);
}
.cover-edition, .cover-image figcaption, .atlas-coordinate {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .12em;
  line-height: 1.4;
}
.cover-edition {
  border-bottom: 1px solid var(--ink-line);
  padding-bottom: 15px;
}
.cover-edition span:last-child { text-align: right; }
.cover-edition i, .exhibition-tools i {
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-right: 4px;
  background: var(--print-red);
  border-radius: 50%;
  vertical-align: 2px;
}
.cover-message .eyebrow, .imprint .eyebrow { color: var(--print-red); margin-bottom: 17px; }
.cover h1 {
  font: clamp(82px, 10.7vw, 176px)/.72 var(--display);
  letter-spacing: -.035em;
}
.cover h1 em { font: italic 1.05em/.8 var(--serif); color: var(--print-red); }
.cover-message > p:not(.eyebrow) {
  max-width: 36ch;
  line-height: 1.45;
  margin: 30px 0 20px;
  color: #4a3b31;
}
.cover-action {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  width: fit-content;
  max-width: 100%;
  min-height: 49px;
  padding: 10px 15px;
  font-size: 14px;
  font-weight: 750;
  color: var(--paper);
  background: linear-gradient(178deg, #413226, #221a14 56%);
  border: 1px solid #261b13;
  box-shadow: inset 0 1px #ffffff32, 0 2px 0 #33261b38;
  transition: background-color .2s, box-shadow .2s;
}
.cover-action:hover { background: var(--print-red); box-shadow: inset 0 1px #fff3, 0 2px 0 #57221d44; }
.cover-action svg, .cover-chapters svg { transition: transform .24s ease; }
.cover-action:hover svg, .cover-chapters a:hover svg { transform: translate(3px, -3px); }
.cover-next {
  display: inline-flex;
  width: fit-content;
  min-height: 44px;
  align-items: center;
  gap: 9px;
  font-size: 12px;
  font-weight: 700;
}
.cover-next span { color: var(--print-red); font-size: 18px; }
.cover-next:hover { color: var(--print-red); }
.cover-image { position: relative; overflow: hidden; background: #2d1815; min-width: 0; }
.cover-image img {
  position: absolute;
  inset: 0;
  height: 100%;
  object-fit: cover;
  object-position: 62% 50%;
  transform: translateY(var(--cover-drift, 0px)) scale(1.035);
}
.cover-image::after {
  content: "";
  position: absolute;
  inset: 50% 0 0;
  background: linear-gradient(transparent, #14080699);
  pointer-events: none;
}
.cover-marks {
  position: absolute;
  inset: 19px 24px 54px;
  width: calc(100% - 48px);
  height: calc(100% - 73px);
  color: #fff1d98c;
}
.cover-image figcaption { position: absolute; inset: auto 24px 21px; z-index: 1; color: #fff0dc; }
.cover-chapters {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: 0 var(--gutter);
  background: #211914;
  color: var(--paper);
}
.cover-chapters a {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: clamp(8px, 1.6vw, 26px);
  min-height: 74px;
  padding: 10px clamp(10px, 2.1vw, 36px);
  border-left: 1px solid #e2c5ac33;
  font-size: clamp(12px, 1.35vw, 19px);
  font-weight: 650;
}
.cover-chapters a:last-child { border-right: 1px solid #e2c5ac33; }
.cover-chapters a:hover { background: #3c2820; }
.cover-chapters small { font-size: 11px; color: #ff9c7d; }
.cover-chapters svg { width: 17px; height: 17px; }
.intro-playing .cover-message { animation: cover-rise .65s .71s both; }
.intro-playing .cover-image img { animation: cover-develop 1.45s ease-out both; }
@keyframes cover-rise { from { opacity: .3; translate: 0 18px; } to { opacity: 1; translate: 0; } }
@keyframes cover-develop { from { filter: brightness(.5); } to { filter: brightness(1); } }

.imprint { background: var(--paper-texture), var(--paper); color: var(--ink); padding: clamp(30px, 5vw, 76px) var(--gutter); }
.statement-index { display: flex; justify-content: space-between; border-bottom: 1px solid var(--ink-line); padding-bottom: 16px; }
.imprint-body { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, .5fr); align-items: end; gap: clamp(25px, 6vw, 105px); padding: clamp(55px, 8vw, 125px) 0; }
.imprint h2 { font-size: clamp(70px, 11.8vw, 182px); line-height: .79; }
.imprint h2 em { font: italic .98em/.83 var(--serif); }
.imprint-aside { border-left: 1px solid var(--ink-line); padding-left: clamp(16px, 2.4vw, 34px); }
.imprint-aside p { color: #4a3b31; }
.imprint-aside .text-link { margin-top: 13px; }
.imprint-aside .text-link:hover { color: var(--print-red); }
.statement-number { display: block; font: clamp(50px, 6vw, 86px)/.88 var(--display); margin-bottom: 13px; }
.statement-number span { color: var(--print-red); }
.statement-rule { height: 2px; background: var(--print-red); transform-origin: left; transform: scaleX(var(--statement-progress, 1)); }

.exhibition { padding: clamp(59px, 8vw, 122px) var(--gutter); background: radial-gradient(ellipse at 70% 48%, #2a231e, #151211 72%); }
.exhibition-head > div { display: grid; grid-template-columns: 1fr .45fr; gap: 24px; align-items: end; }
.exhibition-head h2, .atlas h2 { font-size: clamp(64px, 9.1vw, 150px); line-height: .82; }
.exhibition-head h2 em, .atlas h2 em { font: italic .91em/.8 var(--serif); }
.exhibition-head h2 em { color: #ffc1a7; }
.exhibition-head p:not(.eyebrow) { color: #d0c2b3; max-width: 34ch; }
.exhibition-tools, .exhibition-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px 24px;
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .09em;
}
.exhibition-tools { margin-top: clamp(32px, 4.5vw, 70px); padding: 10px 0; border-block: 1px solid var(--line); }
.exhibition-tools i { background: var(--red); }
.gallery-filters { display: flex; flex-wrap: wrap; gap: 5px; }
.gallery-filters button {
  min-height: 44px;
  padding: 6px 13px;
  border: 1px solid transparent;
  background: transparent;
  color: #dccfc0;
  font-size: 13px;
}
.gallery-filters button:hover { border-color: var(--line); color: var(--paper); }
.gallery-filters button[aria-pressed="true"] { background: var(--paper); color: var(--ink); }
.exhibition-swipe { display: none; }
.exhibition-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .91fr) minmax(0, .82fr);
  align-items: start;
  gap: clamp(15px, 3vw, 46px);
  padding: clamp(24px, 4vw, 61px) 0 27px;
}
.print { min-width: 0; }
.print-nature { margin-top: clamp(19px, 5vw, 76px); }
.print-process { margin-top: clamp(33px, 9vw, 132px); }
.print:only-child, .exhibition-grid:has(.print[hidden]) .print { margin-top: 0; }
.exhibition-grid:has(.print-main[hidden]) .print-process { grid-column: 1 / span 2; max-width: 420px; }
.print-link { display: block; }
.print-frame {
  background: #14110f;
  position: relative;
  display: grid;
  place-items: center;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  border: 1px solid #e8d9c344;
  box-shadow: 0 12px 26px #0004;
}
.print-frame img {
  height: 100%;
  min-height: 0;
  object-fit: cover;
  object-position: center 42%;
  transition: transform .52s cubic-bezier(.2,.7,.25,1);
}
.print-main img { object-position: center top; }
.print-process img { object-position: center 37%; }
.print-frame::after { content: ""; position: absolute; inset: 8px; border: 1px solid #f7e8cf42; pointer-events: none; }
.print-expand {
  position: absolute;
  z-index: 1;
  bottom: 16px;
  right: 16px;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  color: var(--paper);
  background: #181411;
  border: 1px solid #f7e8cf69;
}
.print-link:hover img, .print-link:focus-visible img { transform: scale(1.06); }
.print-link:hover .print-expand, .print-link:focus-visible .print-expand { color: var(--ink); background: var(--paper); }
.print-caption { padding: 14px 0 0; }
.print-caption small { color: #ffae91; font-size: 10px; font-weight: 750; letter-spacing: .12em; }
.print-caption h3 { font: clamp(28px, 3.3vw, 52px)/.96 var(--display); margin-top: 5px; }
.exhibition-foot { border-top: 1px solid var(--line); padding-top: 13px; color: #d0c2b3; }
.exhibition-foot .text-link { color: var(--paper); letter-spacing: normal; }
.lightbox-controls button:disabled { opacity: .45; cursor: default; }

.atlas { padding: clamp(56px, 8vw, 120px) var(--gutter); background: #35201a; color: var(--paper); }
.atlas-intro { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); align-items: end; gap: clamp(23px, 6vw, 95px); margin-bottom: clamp(26px, 4vw, 55px); }
.atlas-intro p:not(.eyebrow) { margin-top: 20px; color: #e8d8cd; }
.atlas h2 em { color: #ffc1a7; }
.atlas-jewels { position: relative; border: 1px solid #e0bba373; }
.atlas-jewels img { width: 100%; height: clamp(145px, 20vw, 285px); object-fit: cover; object-position: 50% 48%; }
.atlas-jewels figcaption { padding: 7px 11px; background: #201611; font-size: 9px; font-weight: 750; letter-spacing: .12em; }
.atlas-board {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  background: var(--paper-texture), var(--paper);
  color: var(--ink);
  border: 1px solid #fff1da73;
}
.atlas-diagram { padding: 19px clamp(16px, 3.2vw, 42px) 10px; border-right: 1px solid var(--ink-line); }
.atlas-coordinate { padding-bottom: 10px; border-bottom: 1px solid var(--ink-line); }
.atlas-ear { position: relative; width: min(100%, 420px); margin: 0 auto; aspect-ratio: 360 / 390; }
.atlas-outline, .atlas-points { position: absolute; inset: 0; width: 100%; height: 100%; }
.atlas-outline { stroke: #603b30; stroke-width: 1.2; }
.ear-surface { fill: #d8ac9a5c; }
.ear-guide { stroke: #905e4d7a; stroke-width: .6; stroke-dasharray: 3 5; }
.atlas-points button {
  position: absolute;
  left: var(--point-x);
  top: var(--point-y);
  transform: translate(-50%, -50%);
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
}
.atlas-points button span {
  display: grid;
  place-items: center;
  border: 1px solid #87382c;
  border-radius: 50%;
  background: var(--paper);
  color: #7d291f;
  width: 30px;
  height: 30px;
  font-size: 11px;
  font-weight: 800;
  transition: box-shadow .2s, background-color .2s;
}
.atlas-points button:hover span, .atlas-points button[aria-pressed="true"] span { background: var(--print-red); color: #fff5e7; box-shadow: 0 0 0 5px #9e2e2140; }
.point-helix { --point-x: 67%; --point-y: 20%; }
.point-concha { --point-x: 52%; --point-y: 41%; }
.point-tragus { --point-x: 40%; --point-y: 55%; }
.point-lobulo { --point-x: 44%; --point-y: 80%; }
.atlas-detail { align-self: center; padding: clamp(21px, 4vw, 65px); }
.atlas-detail .eyebrow { color: var(--print-red); }
.atlas-reading { border-block: 1px solid var(--ink-line); padding: 18px 0; margin-bottom: 18px; }
.atlas-reading span { font-size: 11px; font-weight: 750; letter-spacing: .12em; }
.atlas-reading h3 { font: clamp(47px, 6.3vw, 92px)/.92 var(--display); margin: 7px 0 10px; }
.atlas-reading p { color: #4a3b31; min-height: 4.4em; line-height: 1.45; }
.atlas-detail > small { display: block; margin-top: 12px; color: #584237; font-size: 12px; }

.artist { background: var(--paper-texture), var(--paper); }
.artist-image { border: 1px solid #4d342d91; box-shadow: 12px 12px 0 #9e2e212e; }
.artist-image > span { position: absolute; inset: auto 0 0; padding: 11px 15px; background: #231a16; }
.artist-copy { align-self: center; }
.artist-copy > p:not(.eyebrow) { margin: 24px 0; }
.artist-copy h2 { font-size: clamp(60px, 10vw, 153px); }
.artist-copy h2 em { font: italic .9em/.82 var(--serif); text-transform: none; }

.footer { background: linear-gradient(#241913, #161210 72%); }
.footer-invite a { text-transform: none; }
.footer-invite em { font-family: var(--serif); font-style: italic; color: #ffc1a7; }
.footer-invite svg { color: #ffc1a7; transition: transform .24s; }
.footer-invite a:hover svg { transform: translate(5px, -5px); }
.footer-grid { padding-block: clamp(10px, 2vw, 32px); }
.footer-grid a:not(.brand):hover { color: #ffc1a7; text-decoration: underline; text-underline-offset: 4px; }

@media (max-width: 900px) {
  .cover-copy { padding-right: 24px; }
  .cover-edition { font-size: 9px; letter-spacing: .07em; }
}
@media (max-width: 720px) {
  .cover-grid { grid-template-columns: 1fr; min-height: 0; }
  .cover-copy { padding: 17px var(--gutter) 23px; gap: 24px; }
  .cover-edition { padding-bottom: 11px; }
  .cover h1 { font-size: clamp(76px, 17vw, 115px); }
  .cover-message > p:not(.eyebrow) { margin: 24px 0 14px; font-size: 15px; }
  .cover-next { display: none; }
  .cover-image { height: clamp(210px, 53vw, 360px); }
  .cover-marks { inset: 12px 15px 36px; width: calc(100% - 30px); height: calc(100% - 48px); }
  .cover-image figcaption { inset: auto 15px 13px; font-size: 9px; }
  .cover-chapters { grid-template-columns: 1fr; }
  .cover-chapters a, .cover-chapters a:last-child { min-height: 48px; border-inline: 0; border-bottom: 1px solid #e2c5ac33; }
  .cover-chapters a:last-child { border-bottom: 0; }
  .imprint-body, .exhibition-head > div, .atlas-intro, .atlas-board { grid-template-columns: 1fr; }
  .imprint-body { gap: 28px; padding: 43px 0; }
  .imprint h2 { font-size: clamp(62px, 14vw, 105px); }
  .exhibition-head > div { gap: 16px; }
  .exhibition-head h2, .atlas h2 { font-size: clamp(57px, 13vw, 95px); }
  .exhibition-tools { margin-top: 26px; }
  .exhibition-swipe { display: block; margin-top: 12px; color: #dccfc0; font-size: 12px; }
  .exhibition-swipe span { margin-left: 4px; color: var(--red); }
  .folio:has([data-gallery-filter="processo"][aria-pressed="true"]) .exhibition-swipe { display: none; }
  .gallery-filters button { padding-inline: 11px; }
  .exhibition-grid {
    grid-template-columns: none;
    grid-auto-columns: min(74vw, 320px);
    grid-auto-flow: column;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    padding: 23px 5px 22px;
    margin-inline: -5px;
    scrollbar-color: #ae7361 #33251f;
  }
  .exhibition-grid:has(.print-main[hidden]) .print-process { grid-column: auto; }
  .print { margin-top: 0; scroll-snap-align: start; scroll-margin-inline-start: 5px; }
  .atlas-intro { gap: 19px; }
  .atlas-diagram { border-right: 0; border-bottom: 1px solid var(--ink-line); }
  .atlas-ear { width: min(100%, 232px); }
  .atlas-reading p { min-height: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .cover-image img, .statement-rule { transform: none; }
}

@media (max-width: 360px) {
  .cover-header { padding-inline: 13px; }
  .cover-header .brand small { white-space: nowrap; }
}
