/* Arquivo em Movimento: papel osso, grafite, terracota #B5533A, layout assimétrico de catálogo e movimento discreto. */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500;1,600&family=DM+Sans:wght@400;500;600&display=swap');
/*@import "tailwindcss"; */
@import "tw-animate.css";
@import "./tw-animate.css";

:root { --paper:#f1eee7; --paper-deep:#e8e2d8; --ink:#232320; --muted:#77736c; --terracotta:#b5533a; --sage:#8c967f; --line:rgba(35,35,32,.18); --serif:'Cormorant Garamond', serif; --sans:'DM Sans', sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); }
button,a { font:inherit; }
button { border:0; background:none; color:inherit; cursor: pointer; }
a { color:inherit; text-decoration:none; }
button:focus-visible,a:focus-visible { outline:2px solid var(--terracotta); outline-offset:4px; }
.site-shell { min-height:100vh; background:var(--paper); }
.index-rail { width:76px; position:fixed; z-index:10; inset:0 auto 0 0; border-right:1px solid var(--line); display:flex; flex-direction:column; align-items:center; padding:26px 0 28px; background:rgba(241,238,231,.9); backdrop-filter:blur(12px); }
.monogram-button { width:38px; height:38px; padding:0; transition:transform .22s cubic-bezier(.23,1,.32,1); }
.monogram-button:hover { transform:rotate(-7deg) scale(1.06);cursor: pointer; }
.monogram-button img { width:100%; height:100%; object-fit:contain; }
.rail-line { width:1px; height:100%; margin:25px 0; background:var(--line); }
.rail-label,.rail-number { font-size:9px; letter-spacing:.16em; color:var(--muted); writing-mode:vertical-rl; transform:rotate(180deg); white-space:nowrap; }
.rail-number { margin-top:18px; color:var(--sage); font-weight:600; }
.main-column { margin-left:76px; max-width:3540px; }
.topbar { height:106px; border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; padding:0 clamp(26px,5vw,92px); }
.wordmark { display:flex; align-items:center; gap:10px; font-size:14px; line-height:.82; letter-spacing:.11em; font-weight:600; } .wordmark img { width:25px; height:25px; object-fit:contain; transition:transform .22s cubic-bezier(.23,1,.32,1); } .wordmark:hover img { transform:rotate(-9deg); } .wordmark span { display:block; }
.wordmark em { font-family:var(--serif); font-size:17px; font-weight:500; letter-spacing:.03em; }
.topbar nav { display:flex; gap:30px; }
.topbar nav button { font-size:14px; text-transform:uppercase;letter-spacing:.05em; color:var(--muted); transition:color .18s ease;cursor: pointer; }
.topbar nav button:hover { color:var(--terracotta); cursor: pointer; }
.topbar nav span { color:var(--terracotta); font-size:9px; margin-left:4px; vertical-align:top; }
.menu-trigger { display:none; }
.hero-section { min-height:calc(100vh - 106px); padding:clamp(58px,8vw,130px) clamp(26px,7vw,125px) 50px; display:grid; grid-template-columns:minmax(280px,.8fr) minmax(420px,1.2fr); column-gap:clamp(40px,7vw,130px); position:relative; }
.hero-copy { align-self:center; padding-bottom:8vh; animation:rise .8s both; }
.eyebrow,.section-kicker { font-size:14px; text-transform:uppercase; letter-spacing:.18em; color:var(--terracotta); font-weight:600; }
.text-autor {font-size:14px; text-transform:uppercase; color:red; }
.dot { display:inline-block; width:7px; height:7px; border-radius:50%; background:var(--terracotta); margin-right:7px; }
h1,h2,h3,p { margin:0; }
h1,h2 { font-family:var(--serif); font-weight:500; letter-spacing:-.045em; }
h1 { font-size:clamp(64px,8.3vw,126px); line-height:.79; margin:38px 0 44px; }
h1 em,h2 em,h3 em { font-weight:400; }
.hero-intro { max-width:300px; font-size:15px; line-height:1.55; color:#57544e; }
.text-link { display:flex; align-items:center; gap:10px; margin-top:38px; padding-bottom:7px; border-bottom:1px solid var(--terracotta); color:var(--terracotta); font-size:11px; letter-spacing:.08em; transition:gap .22s ease; }
.text-link:hover { gap:16px; cursor: pointer;}
.hero-art-wrap { align-self:center; position:relative; animation:rise .8s .12s both; }
.hero-art { display:block; width:100%; height:100%; border:1px; filter:saturate(.91) contrast(.98); }
.hero-stamp { position:absolute; z-index:1; top:-29px; left:-29px; width:76px; height:76px; display:flex; flex-direction:column; justify-content:center; align-items:center; border:1px solid var(--terracotta); border-radius:50%; background:var(--paper); color:var(--terracotta); font-family:var(--serif); font-size:22px; line-height:.7; text-align:center; transform:rotate(-11deg); }
.hero-stamp span { font-family:var(--sans); font-size:7px; line-height:1.2; text-transform:uppercase; letter-spacing:.08em; margin-top:5px; }
.hero-caption { display:flex; justify-content:space-between; padding-top:12px; font-size:9px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); }
.hero-caption span:first-child { color:var(--terracotta); }
.hero-meta { position:absolute; bottom:68px; left:clamp(26px,7vw,125px); right:clamp(26px,7vw,125px); display:flex; justify-content:space-between; font-size:9px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); }
.section-rule { border-top:1px solid var(--line); padding:92px clamp(26px,7vw,125px) 124px; display:grid; grid-template-columns:130px 1fr; column-gap:clamp(35px,7vw,130px); }
.section-index { font-size:11px; color:var(--terracotta); font-weight:600; letter-spacing:.05em; }
.section-index span { display:block; margin-top:11px; color:var(--muted); font-size:12px; letter-spacing:.1em; text-transform:uppercase; writing-mode:vertical-rl; transform:rotate(180deg); }
.about-content h2,.works-content h2 { font-size:clamp(50px,6vw,90px); line-height:.82; margin:35px 0 62px; }
.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(30px,7vw,30px); max-width:1250px; }
.lead-copy { font-family:var(--serif); font-size:clamp(24px,2.3vw,34px); line-height:1.03; letter-spacing:-.02em; }
.body-copy { font-size:14px; line-height:1.7; color:#5e5a53; max-width:950px; }
.body-copy p+p { margin-top:22px; }
.works-heading { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:58px; }
.works-heading h2 { margin-bottom:0; }
.works-note { font-size:11px; line-height:1.55; color:var(--muted); text-align:right; }
.works-list { display:grid; grid-template-columns:1.05fr .82fr .93fr; gap:22px; align-items:start; }
.work-card:nth-child(2) { margin-top:88px; }
.work-card:nth-child(3) { margin-top:25px; }
.work-card { position:relative; padding:10px 10px 13px; background:rgba(232,226,216,.42); border:1px solid rgba(35,35,32,.1); } .work-image-wrap { position:relative; overflow:hidden; background:var(--paper-deep); } .plate-label { position:absolute; z-index:2; right:10px; top:10px; font-size:8px; letter-spacing:.12em; color:var(--paper); mix-blend-mode:difference; }
.work-image-wrap img { display:block; width:100%; aspect-ratio: .84; object-fit:cover; transition:transform .45s cubic-bezier(.23,1,.32,1), filter .45s ease; }
.work-card:nth-child(3) img { aspect-ratio:1.03; }
.work-card:hover img { transform:scale(1.035); filter:saturate(1.06); }
.work-index { position:absolute; top:12px; left:12px; font-size:10px; color:white; mix-blend-mode:difference; }
.view-mark { position:absolute; right:12px; bottom:12px; display:grid; place-items:center; width:33px; height:33px; background:var(--paper); color:var(--terracotta); opacity:0; transform:translateY(5px); transition:opacity .2s, transform .2s; }
.work-card:hover .view-mark { opacity:1; transform:translateY(0); } .work-card:hover { border-color:rgba(181,83,58,.4); }
.work-info { display:flex; justify-content:space-between; padding-top:14px; } .archive-note { display:block; margin-top:24px; color:#e9b5a5; font-size:9px; letter-spacing:.15em; text-transform:uppercase; }
.work-info h3 { font-family:var(--serif); font-size:22px; font-weight:500; }
.work-info p,.work-spec { font-size:10px; color:var(--muted); margin-top:4px; }
.work-spec { display:flex; flex-direction:column; text-align:right; line-height:1.5; margin-top:0; }
.exhibitions-content { min-width:0; }
.exhibitions-list { margin-top:28px; border-top:1px solid var(--line); }
.exhibition-row { display:grid; grid-template-columns:80px 1fr 200px; gap:20px; align-items:center; padding:19px 0; border-bottom:1px solid var(--line); font-size:12px; }
.exhibition-row span { color:var(--muted); font-size:10px; }
.exhibition-row strong { font-family:var(--serif); font-size:25px; font-weight:500; }
.press-download { display:flex; justify-content:space-between; align-items:end; background:var(--terracotta); color:var(--paper); padding:39px 42px; margin-top:68px; position:relative; } .press-download:before { content:""; position:absolute; inset:8px; border:1px solid rgba(241,238,231,.25); pointer-events:none; }
.press-download .section-kicker { color:#e9b5a5; }
.press-download h3 { font-family:var(--serif); font-size:36px; line-height:.86; font-weight:500; margin-top:20px; }
.download-button { border:1px solid rgba(241,238,231,.65); padding:14px 17px; display:flex; align-items:center; gap:10px; font-size:11px; letter-spacing:.04em; transition:background .2s,color .2s; }
.download-button:hover { background:var(--paper); color:var(--terracotta); cursor: pointer; }
.download-button span { color:#e9b5a5; font-size:9px; margin-left:10px; }
.footer-section { background:var(--ink); color:var(--paper); padding:93px; width:100%; clamp(26px,7vw,125px) 28px; }
.footer-top { display:flex; justify-content:space-between; align-items:flex-end; min-height:30px; }
.footer-section .section-kicker { color:#d48a74; }
.footer-section h2 { font-size:clamp(60px,7vw,105px); line-height:.78; margin-top:36px; }
.contact-links { display:flex; flex-direction:column; gap:17px; padding-bottom:9px; }
.contact-links a { display:flex; align-items:center; gap:10px; font-size:18px; border-bottom:1px solid rgba(241,238,231,.3); padding-bottom:9px; transition:color .2s; }
.contact-links a svg:last-child { margin-left:18px; }
.contact-links a:hover { color:#d48a74; cursor: pointer;}
.footer-bottom { border-top:1px solid rgba(241,238,231,.22); display:flex; justify-content:space-between; padding-top:18px; margin-top:100px; font-size:9px; letter-spacing:.1em; text-transform:uppercase; color:#aaa59b; }
.footer-bottom button:hover { color:var(--paper); cursor: pointer; }
.back-to-top { position:fixed; z-index:20; right:clamp(18px,3vw,42px); bottom:clamp(18px,3vw,34px); width:58px; height:58px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; border:1px solid rgba(241,238,231,.38); background:var(--ink); color:var(--paper); opacity:0; pointer-events:none; transform:translateY(10px); box-shadow:0 12px 28px rgba(35,35,32,.16); transition:opacity .22s cubic-bezier(.23,1,.32,1), transform .22s cubic-bezier(.23,1,.32,1), background .18s ease, border-color .18s ease; }
.back-to-top.is-visible { opacity:1; pointer-events:auto; transform:translateY(0); }
.back-to-top:hover { background:var(--terracotta); border-color:var(--terracotta); transform:translateY(-3px); cursor: pointer; }
.back-to-top span { font-size:12px; line-height:1; text-transform:uppercase; letter-spacing:.15em; }
@media (max-width:800px) { .back-to-top { right:16px; bottom:16px; width:52px; height:52px; } }
@keyframes rise { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:translateY(0); } }
@media (prefers-reduced-motion: reduce) { * { scroll-behavior:auto!important; animation:none!important; transition:none!important; } }
@media (max-width: 800px) { .index-rail { width:54px; padding-top:20px; } .main-column { margin-left:54px; } .topbar { height:82px; padding:0 22px; } .topbar nav { display:none; position:absolute; top:82px; left:54px; right:0; z-index:5; background:var(--paper); border-bottom:1px solid var(--line); padding:24px 22px; flex-direction:column; gap:18px; } .topbar nav.nav-open { display:flex; } .menu-trigger { display:block; color:var(--terracotta); } .hero-section { min-height:auto; grid-template-columns:1fr; gap:65px; padding:65px 22px 75px; } .hero-copy { padding:0; } h1 { margin:32px 0 36px; font-size:clamp(65px,16vw,105px); } .hero-art { aspect-ratio:1; } .hero-stamp { left:-12px; top:-15px; transform:scale(.85) rotate(-11deg); } .hero-meta { position:static; grid-column:1; margin-top:-35px; padding:0 22px; } .section-rule { padding:68px 22px 82px; grid-template-columns:45px 1fr; gap:18px; } .section-index span { font-size:8px; } .about-content h2,.works-content h2 { margin:28px 0 42px; font-size:clamp(54px,13vw,82px); } .about-grid { grid-template-columns:1fr; gap:30px; } .works-heading { display:block; margin-bottom:40px; } .works-note { text-align:left; margin-top:22px; } .works-list { grid-template-columns:1fr; gap:45px; } .work-card:nth-child(2),.work-card:nth-child(3) { margin-top:0; } .work-image-wrap img,.work-card:nth-child(3) img { aspect-ratio:1.05; } .exhibition-row { grid-template-columns:45px 1fr; gap:8px; } .exhibition-row span:last-child { grid-column:2; } .exhibition-row strong { font-size:22px; } .press-download { display:block; padding:30px 25px; margin-top:45px; } .download-button { margin-top:28px; } .footer-section { padding:68px 22px 25px; } .footer-top { display:block; min-height:auto; } .footer-section h2 { margin:31px 0 55px; font-size:clamp(62px,15vw,100px); } .footer-bottom { display:grid; gap:11px; margin-top:72px; line-height:1.4; } }
