@font-face{font-family:Anton;src:url('assets/Anton-Regular.ttf') format('truetype');font-display:swap}
@font-face{font-family:'DM Serif';src:url('assets/DMSerifDisplay-Regular.ttf') format('truetype');font-display:swap}
@font-face{font-family:'CS Cruze';src:url('assets/CSCruze-Regular.woff2') format('woff2');font-display:swap}
@font-face{font-family:Inter;src:url('assets/Inter-Regular.woff2') format('woff2');font-display:swap}
:root{--ink:#252523;--cream:#faf3e9;--stone:#d5d2c8;--bar:#cecec1;--accent:#df7856;--olive:#5c6b3c;--display:'DM Serif',Georgia,serif;--reading:'CS Cruze',Georgia,serif;--sans:Inter,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:66px}body{margin:0;background:#fff;color:var(--ink);font:14px/1.65 var(--sans);-webkit-font-smoothing:antialiased}body.dialog-open{overflow:hidden}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px}h1,h2,h3,p{margin:0}h2,h3{font-family:var(--display);font-weight:400}h2{font-size:clamp(52px,8vw,104px);line-height:1.12;letter-spacing:-.025em}.announcement{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:center;background:var(--bar);height:66px}.announcement a{text-decoration:underline;text-underline-offset:2px;font-size:14px}.announcement a:hover{color:#555}.skip{position:fixed;top:-90px;left:15px;z-index:100;background:white;padding:12px}.skip:focus{top:12px}
.hero{height:100svh;min-height:570px;max-height:1400px;position:relative;isolation:isolate;overflow:hidden;background:#a7a69f}.hero-photo{position:absolute;z-index:-1;left:38%;bottom:-6%;height:120%;width:auto;max-width:none;transform:translateX(-50%);filter:saturate(.72)}.hero-visual::after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#24242255);z-index:-1;pointer-events:none}.menu-toggle{position:absolute;right:3%;top:23px;background:none;border:0;color:white;font:30px/1.2 var(--display);padding:8px 0}.menu-toggle:hover{opacity:.7}.hero-name{position:absolute;left:2.5%;bottom:7%;width:95%;line-height:1.05;white-space:nowrap;letter-spacing:-.02em;font-family:Anton,Impact,sans-serif;font-weight:400;color:#fff}.hero-name span{display:inline-block}
.intro{min-height:1198px;position:relative;display:grid;place-items:center;padding:250px 30px 260px}.intro-copy{max-width:720px;text-align:center}.intro-copy p{font:24px/1.7 var(--reading);letter-spacing:-.02em}.intro-copy strong{font-weight:400}.inline-link{color:var(--accent)}.pill{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;padding:11px 29px;border:0;border-radius:50px;background:var(--ink);color:white;font:14px/1.55 var(--sans);transition:background .2s}.pill:hover{background:#56564c;color:white}.intro .pill{margin-top:32px}.ornament{position:absolute;width:160px;height:205px;pointer-events:none;color:var(--olive)}.ornament.top{right:19%;top:100px;transform:rotate(30deg)}.ornament.bottom{left:19%;bottom:100px;transform:rotate(-25deg)}.dove{position:absolute;right:26%;top:30px;width:132px;height:132px;pointer-events:none;animation:dove-fly 7s ease-in-out infinite}.dove img{display:block;width:100%;height:100%}@keyframes dove-fly{0%,100%{transform:translate(0,0) rotate(-5deg)}25%{transform:translate(-9px,-15px) rotate(1deg)}50%{transform:translate(5px,-24px) rotate(-3deg)}75%{transform:translate(-5px,-10px) rotate(2deg)}}
.feature{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:160px 6vw;gap:36px}.actor-feature{background:var(--cream);min-height:575px}.messenger-feature{background:var(--stone);min-height:772px}.feature h2{max-width:1120px}.feature-note{font:25px/1.5 var(--reading);max-width:520px;margin-top:4px}.contact{min-height:920px;padding:120px 24px 160px;text-align:center}.contact h2{margin-bottom:42px}.contact>p{font:23px/1.65 var(--reading);max-width:600px;margin:0 auto 48px}.contact-panel{max-width:580px;margin:0 auto;text-align:left;border-block:1px solid #d4d2ca;padding:35px 0}.contact-label{font:11px var(--sans);letter-spacing:.13em;text-transform:uppercase;display:block;margin-bottom:20px}.contact-handle{display:flex;justify-content:space-between;align-items:center;font:clamp(30px,4vw,46px) var(--display);gap:15px}.contact-handle:hover{color:var(--accent)}.contact-panel p{margin-top:15px;color:#66665d;font-size:13px}.contact>.pill{margin-top:38px}
.site-footer{background:var(--stone);min-height:610px;text-align:center;padding:94px 25px 45px}.footer-nav{display:flex;flex-direction:column;align-items:center;gap:5px;font:30px/1.4 var(--display)}.footer-nav a:hover{color:var(--accent)}.instagram{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin:42px 0 30px}.instagram svg{width:28px;height:28px}.legal{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:14px;font-size:12px}.legal button{border:0;background:none;padding:0;text-decoration:underline;color:inherit;font-size:12px}.footer-small{font-size:10px;letter-spacing:.02em;margin-top:24px;color:#64645a}
dialog{color:var(--ink);border:0}dialog::backdrop{background:#20211ca6}.menu{inset:66px 0 0;margin:0;width:100%;height:calc(100dvh - 66px);max-width:none;max-height:none;background:rgba(213,210,200,.97);padding:60px 25px}.menu::backdrop{background:transparent}.menu nav{min-height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;font:clamp(30px,3.2vw,44px)/1.32 var(--display)}.menu nav a:hover{color:var(--accent)}.close{position:absolute;right:28px;top:18px;width:48px;height:48px;border:0;background:none;color:var(--ink);font:44px/1 var(--sans)}.content-dialog{width:min(900px,calc(100% - 32px));max-height:calc(100dvh - 70px);padding:75px 60px 60px;background:var(--cream);border-radius:2px}.content-dialog h2{font-size:clamp(42px,6vw,72px);margin:0 0 30px}.content-dialog p{font-size:15px;line-height:1.9;margin:18px 0}.content-dialog .lead{font:25px/1.5 var(--reading);margin-bottom:35px}.content-dialog .kicker{font-size:10px;letter-spacing:.16em;margin-bottom:18px}.content-dialog .pill{margin-top:25px}.project-list{border-top:1px solid #bab8ac}.project{border-bottom:1px solid #bab8ac}.project summary{display:grid;grid-template-columns:50px 1fr 20px;gap:16px;align-items:center;cursor:pointer;list-style:none;padding:24px 0}.project summary::-webkit-details-marker{display:none}.year{font-size:12px}.project h3{font-size:29px;line-height:1.2}.project summary::after{content:'+';font:26px var(--reading)}.project[open] summary::after{content:'−'}.project-body{padding:0 30px 20px 66px}.project-body .role{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#706e5e}.chapter{padding:35px 0;border-top:1px solid #bab8ac}.chapter h3{font-size:32px}.chapter:last-of-type{border-bottom:1px solid #bab8ac}.source-note{color:#706e5e;font-size:11px!important}.about h2{font-size:50px}
@media(min-width:1700px){.hero-photo{height:135%;bottom:-12%}.intro{min-height:1250px}}
@media(max-width:700px){html{scroll-padding-top:54px}.announcement{height:54px}.announcement a{font-size:12px}.hero{height:calc(100svh - 54px);min-height:520px}.hero-photo{left:48%;height:100%;bottom:-6%}.hero-name{left:4%;width:92%;bottom:9%;letter-spacing:-.025em}.menu-toggle{right:6%;top:18px;font-size:25px}.intro{min-height:960px;padding:230px 25px}.intro-copy p{font-size:21px;line-height:1.65}.ornament{width:95px;height:135px}.ornament.top{top:65px;right:18%}.ornament.bottom{bottom:60px;left:18%}.dove{width:82px;height:82px;right:24%;top:14px}.feature{padding:110px 25px;gap:32px}.actor-feature{min-height:420px}.messenger-feature{min-height:570px}.feature h2{font-size:58px}.feature-note{font-size:22px}.contact{min-height:720px;padding:100px 25px}.contact h2{font-size:56px;margin-bottom:32px}.contact>p{font-size:21px}.contact-handle{font-size:36px}.site-footer{padding-top:75px;min-height:560px}.footer-nav{font-size:29px}.menu{inset:54px 0 0;height:calc(100dvh - 54px)}.content-dialog{padding:70px 24px 35px}.content-dialog .lead{font-size:23px}.project h3{font-size:24px}.project summary{grid-template-columns:40px 1fr 18px;gap:12px}.project-body{padding-left:0}.content-dialog h2{font-size:45px}.close{right:12px;top:10px}.legal{gap:8px;font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}.dove{animation:none!important}}

/* Original Instagram photograph: responsive framing, no retouching. */
.hero{background:#9b8870}
.hero-photo{inset:0;left:0;bottom:auto;width:100%;height:100%;object-fit:cover;object-position:50% 12%;transform:none;filter:none}
@media(max-width:700px){.hero-photo{object-position:57% center}}
/* Keep the full face above the name on wide screens; extend only the background. */
@media(min-aspect-ratio:6/5){
.hero-visual::before{content:'';position:absolute;inset:-32px;z-index:-2;background:url('assets/rodrigo-instagram-sombrero.jpg') center 20%/cover no-repeat;filter:blur(25px);transform:scale(1.04)}
.hero-photo{left:50%;width:min(100%,110svh);height:100%;transform:translateX(-50%);object-position:50% 12%;mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent)}
}

/* Clip the stationary photograph to the scrolling cover. Text stays in document flow. */
.hero{clip-path:inset(0)}
.hero-visual{position:fixed;top:66px;left:0;width:100%;height:100svh;min-height:570px;max-height:1400px;z-index:-1;isolation:isolate;background:#9b8870;pointer-events:none}
@media(max-width:700px){.hero-visual{top:54px;height:calc(100svh - 54px);min-height:520px}}
