@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,400;0,500;1,400;1,500&display=swap');
:root{--paper:#f0ede5;--ink:#171614;--muted:#716d64;--line:#c8c1b5;--accent:#a64234;--sans:"DM Sans",Arial,sans-serif;--serif:"Playfair Display",Georgia,serif;--mono:"DM Mono",monospace;--max:1500px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.55}a{color:inherit;text-decoration:none}.skip{position:absolute;left:-999px;top:10px;background:var(--ink);color:#fff;padding:10px;z-index:99}.skip:focus{left:10px}.site-header{height:74px;padding:0 4vw;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:20;background:#f0ede5eb;backdrop-filter:blur(14px)}.brand{font:500 12px var(--mono)}.brand b{font-size:17px}.brand em{font-style:normal;color:var(--accent);margin:0 5px}.main-nav{display:flex;gap:24px}.main-nav a,.header-contact,.menu-button{font:10px var(--mono);letter-spacing:.08em;text-transform:uppercase}.main-nav a.active,.main-nav a:hover,.header-contact:hover{color:var(--accent)}.menu-button{display:none;border:0;background:none}.hero{max-width:var(--max);min-height:calc(100vh - 74px);margin:auto;display:grid;grid-template-columns:48% 52%;border-bottom:1px solid var(--line)}.hero-copy{padding:10vw 5vw 8vw 4vw;display:flex;flex-direction:column;justify-content:center}.eyebrow,.page-kicker{font:10px var(--mono);letter-spacing:.16em;color:var(--muted);text-transform:uppercase}.hero h1{font:400 clamp(82px,11vw,170px)/.79 var(--serif);letter-spacing:-.075em;margin:30px 0}.hero h1 i,.page-title i,.contact h2 i{color:var(--accent)}.lead{font-size:18px;max-width:620px;color:#4f4b44;line-height:1.65}.hero-actions{display:flex;gap:26px;margin-top:35px;align-items:center}.button{background:var(--ink);color:#fff;padding:13px 16px;font:10px var(--mono);text-transform:uppercase}.text-link{font:10px var(--mono);text-transform:uppercase;border-bottom:1px solid}.hero-art{position:relative;background:#d6d0c5;overflow:hidden}.hero-art:before{content:"";position:absolute;width:57%;aspect-ratio:1;right:9%;top:16%;border:1px solid #69635b;border-radius:50%;background:#aaa39a}.hero-art:after{content:"";position:absolute;width:46%;height:47%;left:12%;bottom:13%;background:var(--accent);transform:rotate(12deg);mix-blend-mode:multiply}.art-note{position:absolute;top:28px;left:30px;z-index:2;font:9px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#5f5a51}.intro-band{background:var(--ink);color:#fff;display:flex;justify-content:space-between;gap:40px;padding:32px 4vw}.intro-band p{margin:0;max-width:800px;font:17px var(--serif)}.intro-band span{font:9px var(--mono);color:#bcb6ac;align-self:flex-end}.section,.page{max-width:var(--max);margin:auto}.section{padding:10vw 4vw;border-bottom:1px solid var(--line);display:grid;grid-template-columns:20% 1fr;gap:7vw}.section-label{display:flex;flex-direction:column;gap:9px;font:10px var(--mono);color:var(--muted)}.section-label b{font-size:12px;color:var(--accent)}.page{padding:8vw 4vw 11vw}.page-title{font:400 clamp(58px,8vw,120px)/.93 var(--serif);letter-spacing:-.06em;margin:25px 0 45px}.page-intro{max-width:800px;font:19px var(--serif);color:#4f4b44;line-height:1.6}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:7vw;margin-top:70px}.prose{font-size:15px;line-height:1.85;color:#4f4b44}.facts{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.fact{padding:20px 15px 20px 0;border-bottom:1px solid var(--line)}.fact b{display:block;font:30px var(--serif);color:var(--accent)}.fact span{font:10px var(--mono);text-transform:uppercase;color:var(--muted)}.timeline{border-top:1px solid var(--line);margin-top:50px}.event{display:grid;grid-template-columns:130px 1fr;gap:30px;padding:28px 0;border-bottom:1px solid var(--line)}.event time{font:11px var(--mono);color:var(--accent)}.event h2{font:400 29px var(--serif);margin:0 0 6px}.event p{margin:0;color:var(--muted);max-width:800px;font-size:13px}.toolbar{display:flex;flex-wrap:wrap;gap:7px;margin:40px 0}.filter{border:1px solid var(--line);background:transparent;padding:9px 12px;font:9px var(--mono);text-transform:uppercase;cursor:pointer}.filter.active,.filter:hover{background:var(--ink);color:#fff;border-color:var(--ink)}.works-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:55px 28px}.work-image{aspect-ratio:1/.98;background:#c9c2b7;position:relative;display:grid;place-items:center;overflow:hidden}.work-image:before{content:"";width:60%;height:60%;background:#aaa39a;border-radius:50%;position:absolute}.work-image.red:before{background:var(--accent);border-radius:0;transform:rotate(37deg)}.work-image.dark:before{background:#272522;width:52%;height:82%;border-radius:0;transform:rotate(17deg)}.pending{position:relative;z-index:2;font:9px var(--mono);letter-spacing:.12em;text-align:center}.work-meta{padding-top:15px}.work-meta span,.meta{font:9px var(--mono);letter-spacing:.12em;color:var(--accent);text-transform:uppercase}.work-meta h2{font:400 25px var(--serif);margin:7px 0}.work-meta p{font-size:12px;color:var(--muted);margin:0 0 12px}.small-link{font:9px var(--mono);text-transform:uppercase;border-bottom:1px solid}.detail-grid{display:grid;grid-template-columns:55% 45%;min-height:65vh}.detail-image{background:#c9c2b7;display:grid;place-items:center;position:relative}.detail-image:before{content:"";width:58%;height:58%;background:#aaa39a;border-radius:50%}.detail-image.red:before{background:var(--accent);border-radius:0;transform:rotate(37deg)}.detail-copy{padding:4vw}.detail-copy h1{font:400 clamp(48px,6vw,88px)/.95 var(--serif);letter-spacing:-.055em;margin:18px 0 30px}.specs{border-top:1px solid var(--line);margin-top:35px}.spec{display:flex;justify-content:space-between;gap:30px;padding:14px 0;border-bottom:1px solid var(--line);font-size:12px}.spec span:first-child{font:9px var(--mono);color:var(--muted);text-transform:uppercase}.document-list{border-top:1px solid var(--line);margin-top:45px}.document-list a{display:grid;grid-template-columns:1fr 20px;gap:20px;padding:20px 0;border-bottom:1px solid var(--line)}.document-list strong{font:400 18px var(--serif)}.document-list small{display:block;font:9px var(--mono);color:var(--muted);margin-top:4px;text-transform:uppercase}.document-list b{font-weight:400}.contact{background:var(--accent);color:#fff;padding:11vw 5vw;text-align:center}.contact-inner{max-width:900px;margin:auto}.contact h2{font:400 clamp(55px,7vw,105px)/.94 var(--serif);letter-spacing:-.06em}.contact p{max-width:650px;margin:30px auto;color:#f2dfdb;font-size:14px}.contact-email{display:inline-block;font:400 clamp(25px,3vw,40px) var(--serif);border-bottom:1px solid #ffffff80;padding-bottom:8px}.contact small{display:block;margin-top:18px;font:9px var(--mono);color:#e7cbc6}footer{display:flex;justify-content:space-between;padding:25px 4vw;font:9px var(--mono);color:var(--muted);letter-spacing:.08em}@media(max-width:900px){.main-nav{display:none}.menu-button{display:block}.header-contact{display:none}.hero{grid-template-columns:1fr}.hero-art{min-height:60vh}.section{grid-template-columns:1fr;gap:40px;padding:15vw 7vw}.two-col,.detail-grid{grid-template-columns:1fr}.works-grid{grid-template-columns:1fr 1fr}.detail-image{min-height:70vw}.detail-copy{padding:10vw 7vw}}@media(max-width:580px){.site-header{height:64px}.hero-copy{padding:22vw 7vw}.hero h1{font-size:78px}.hero-actions{flex-direction:column;align-items:flex-start}.intro-band{flex-direction:column}.intro-band span{align-self:flex-start}.works-grid{grid-template-columns:1fr}.event{grid-template-columns:82px 1fr;gap:15px}.event h2{font-size:23px}.page{padding:18vw 7vw}.two-col{margin-top:45px}.facts{grid-template-columns:1fr}footer{flex-direction:column;gap:10px}}


/* ===== V5.1 EDITORIAL MOTION & POLISH ===== */
::selection{background:var(--ink);color:var(--paper)}
:focus-visible{outline:1px solid var(--accent);outline-offset:4px}
body{overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;z-index:1000;pointer-events:none;background:var(--paper);transform:scaleY(1);transform-origin:top;animation:pageCurtain .72s cubic-bezier(.77,0,.18,1) forwards}
@keyframes pageCurtain{0%{transform:scaleY(1)}100%{transform:scaleY(0)}}
.site-header{transition:height .35s ease,background .35s ease,box-shadow .35s ease}
.site-header.scrolled{height:62px;box-shadow:0 8px 30px #1716140d}
.main-nav a{position:relative}
.main-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:var(--accent);transition:right .35s cubic-bezier(.77,0,.18,1)}
.main-nav a:hover::after,.main-nav a.active::after{right:0}
.header-contact{transition:color .25s ease}
.hero-copy>*{opacity:0;transform:translateY(22px);animation:heroIn .8s cubic-bezier(.22,.61,.36,1) forwards}
.hero-copy .eyebrow{animation-delay:.12s}.hero-copy h1{animation-delay:.2s}.hero-copy .lead{animation-delay:.3s}.hero-copy .hero-actions{animation-delay:.4s}
.hero-art{clip-path:inset(0);animation:artIn 1s cubic-bezier(.77,0,.18,1) .08s both}
.hero-art::before{transition:transform 1.1s cubic-bezier(.22,.61,.36,1)}
.hero-art:hover::before{transform:scale(1.05) rotate(4deg)}
@keyframes heroIn{to{opacity:1;transform:none}}
@keyframes artIn{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0)}}
.button{transition:transform .25s ease,background .25s ease}
.button:hover{transform:translateY(-3px);background:var(--accent)}
.text-link{transition:color .25s ease,border-color .25s ease}
.text-link:hover{color:var(--accent);border-color:var(--accent)}
.section,.page{position:relative}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s cubic-bezier(.22,.61,.36,1)}
.reveal.is-visible{opacity:1;transform:none}
.reveal-delay-1{transition-delay:.08s}.reveal-delay-2{transition-delay:.16s}.reveal-delay-3{transition-delay:.24s}
.work-image{transition:transform .65s cubic-bezier(.22,.61,.36,1),background .35s ease}
.work-image::after{content:"VER OBRA  ↗";position:absolute;left:18px;bottom:18px;padding:8px 10px;background:var(--paper);font:9px var(--mono);letter-spacing:.08em;opacity:0;transform:translateY(8px);transition:opacity .35s ease,transform .35s ease}
.works-grid article:hover .work-image{transform:scale(.985)}
.works-grid article:hover .work-image::after{opacity:1;transform:none}
.works-grid article{transition:transform .4s ease}
.works-grid article:hover{transform:translateY(-5px)}
.work-meta h2{transition:color .25s ease}
.works-grid article:hover .work-meta h2{color:var(--accent)}
.filter{transition:background .25s ease,color .25s ease,border-color .25s ease,transform .2s ease}
.filter:active{transform:scale(.97)}
.event{position:relative;transition:padding-left .35s ease}
.event::before{content:"";position:absolute;left:-12px;top:34px;width:4px;height:4px;border:1px solid var(--accent);background:var(--paper);transition:background .25s ease,transform .25s ease}
.event:hover{padding-left:12px}
.event:hover::before{background:var(--accent);transform:scale(1.5)}
.event h2{transition:color .25s ease}.event:hover h2{color:var(--accent)}
.document-list a{transition:padding-left .35s ease,background .35s ease}
.document-list a:hover{padding-left:14px;background:#e8e3da}
.detail-image{overflow:hidden}
.detail-image::after{content:"";position:absolute;inset:0;border:1px solid #ffffff30;pointer-events:none}
.detail-image:before{transition:transform 1s cubic-bezier(.22,.61,.36,1)}
.detail-image:hover:before{transform:scale(1.06) rotate(2deg)}
.detail-image.red:hover:before{transform:scale(1.06) rotate(40deg)}
.detail-image .pending{transition:opacity .3s ease;opacity:.8}
.detail-image:hover .pending{opacity:1}
.spec{transition:padding-left .3s ease}.spec:hover{padding-left:8px}
.contact-email{transition:color .25s ease,border-color .25s ease,transform .3s ease}
.contact-email:hover{color:#fff1ed;border-color:#fff;transform:translateY(-3px)}
.menu-button{cursor:pointer;transition:color .25s ease}
.menu-button:hover{color:var(--accent)}
@media(max-width:900px){
 .main-nav{position:absolute;left:0;right:0;top:74px;background:var(--paper);border-bottom:1px solid var(--line);padding:18px 7vw;display:flex;flex-direction:column;gap:0;transform:translateY(-12px);opacity:0;pointer-events:none;transition:opacity .3s ease,transform .3s ease}
 .main-nav.open{display:flex;opacity:1;transform:none;pointer-events:auto}
 .main-nav a{padding:12px 0;border-bottom:1px solid var(--line)}
 .main-nav a::after{display:none}
}
@media(max-width:580px){
 .main-nav{top:64px}
 .hero-art{animation-duration:.8s}
 .work-image::after{opacity:1;transform:none}
 .event::before{left:-9px}
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
 body::before{display:none}
 .reveal{opacity:1;transform:none}
}
