:root{--ink:#171717;--paper:#f4f0e8;--accent:#d85f3c;--muted:#756f67}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 Arial,sans-serif}a{color:inherit;text-decoration:none}.hero{min-height:92vh;padding:28px 6vw;background:var(--ink);color:var(--paper)}nav{display:flex;justify-content:space-between;align-items:center}nav div{display:flex;gap:28px;font-size:.8rem;text-transform:uppercase;letter-spacing:.1em}.brand{font-weight:700;letter-spacing:.1em}main{max-width:980px;margin:18vh auto 0}.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:700}h1,h2{font:clamp(3rem,8vw,7.5rem)/.92 Georgia,serif;font-weight:400;letter-spacing:-.05em;margin:26px 0}em{color:var(--accent);font-style:italic}.intro{max-width:480px;color:#c8c2b9;font-size:1.1rem}.button{display:inline-block;border:1px solid var(--accent);padding:12px 18px;margin-top:24px;text-transform:uppercase;font-size:.72rem;letter-spacing:.1em}.about,.work,footer{padding:12vw 8vw;max-width:1300px;margin:auto}.about{display:grid;grid-template-columns:1fr 2fr;gap:6vw}.about h2,.work h2,footer h2{font-size:clamp(2.8rem,6vw,6rem)}.about p{max-width:600px}.note{color:var(--muted);font-size:.85rem;border-left:2px solid var(--accent);padding-left:16px}.work{background:#e7e0d5;max-width:none}.work>h2{max-width:700px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:5vw}.grid article{background:var(--paper);padding:32px;min-height:220px}.grid span{color:var(--accent);font-size:.75rem}.grid h3{font:1.6rem Georgia,serif;font-weight:400}footer{background:var(--ink);color:var(--paper);max-width:none}footer p{color:#c8c2b9}footer small{display:block;margin-top:12vw;color:#8d877e}@media(max-width:700px){nav div{gap:12px;font-size:.65rem}.about{display:block}.about h2{margin-bottom:40px}.grid{grid-template-columns:1fr}.hero{min-height:82vh}}
 .tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:3vw 0 1.5vw}.tools label{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}.tools input,.tools select{background:var(--paper);border:1px solid #c8c0b5;padding:12px;font:inherit}.tools input{min-width:240px}.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}.video-card{background:var(--paper)}.video-card button{border:0;background:none;text-align:left;width:100%;padding:0;cursor:pointer}.video-card img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}.video-card span,.video-card h3,.video-card small{display:block;margin:14px 18px}.video-card span{color:var(--accent);text-transform:uppercase;font-size:.65rem;letter-spacing:.12em}.video-card h3{font:1.2rem Georgia,serif;min-height:2.7em}.video-card small{color:var(--muted)}dialog{border:0;padding:28px;background:var(--ink);color:var(--paper);width:min(900px,92vw)}dialog::backdrop{background:#000b}.close{float:right;background:none;border:0;color:var(--paper);font-size:2rem;cursor:pointer}.frame{aspect-ratio:16/9;margin:18px 0}.frame iframe{width:100%;height:100%;border:0}dialog a{color:var(--accent)}@media(max-width:700px){.video-grid{grid-template-columns:1fr}.tools{align-items:stretch;flex-direction:column}.tools input,.tools select{width:100%}}
 .hero,.about,.work,footer{position:relative;overflow:hidden}.hero:after,.about:after,.work:after{content:"";position:absolute;inset:15% -10% auto auto;width:45vw;height:28vw;background:radial-gradient(circle,#d85f3c1c,transparent 68%);transform:translate3d(0,calc(var(--scroll-y,0px)*-.08),0);pointer-events:none}.frame{width:100%;max-height:70vh;overflow:hidden;background:#000}.frame iframe,.frame video{display:block;width:100%;height:auto;max-height:70vh;aspect-ratio:16/9;object-fit:contain;background:#000}@media(prefers-reduced-motion:no-preference){.hero,.about,.work{background-attachment:fixed}}@media(max-width:700px){.frame{max-height:55vh}.frame iframe,.frame video{max-height:55vh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero:after,.about:after,.work:after{transform:none}}
 .editorial-strip{min-height:110px;padding:28px 8vw;display:flex;align-items:center;justify-content:space-between;gap:24px;background:#d8d0c4;color:#756f67;text-transform:uppercase;letter-spacing:.14em;font-size:.68rem;position:relative;overflow:hidden}.editorial-strip-dark{background:var(--ink);color:#c8c2b9}.pencil{color:var(--accent);font:2rem Georgia,serif;transform:rotate(-18deg);display:inline-block}.paper-lines{width:30%;height:28px;border-top:1px solid currentColor;border-bottom:1px solid currentColor;opacity:.45;position:relative}.paper-lines:after{content:"";position:absolute;left:0;right:20%;top:13px;border-top:1px solid currentColor}.script-page{font:1rem/1.5 Georgia,serif;text-transform:none;letter-spacing:0;color:#f4f0e8;transform:rotate(-2deg);padding:10px 18px;border-left:1px solid var(--accent)}@media(max-width:700px){.editorial-strip{min-height:90px;padding:20px 8vw;gap:12px;font-size:.58rem}.paper-lines{width:22%}.script-page{font-size:.8rem}}
 dialog h2{font:clamp(1.25rem,3vw,2.6rem)/1.05 Georgia,serif;letter-spacing:-.03em;margin:8px 40px 18px 0;max-width:80%;overflow-wrap:anywhere}dialog .frame{width:100%;max-height:min(70vh,560px);aspect-ratio:16/9;overflow:hidden;background:#000}dialog .frame iframe,dialog .frame video{width:100%;height:100%;max-height:none;aspect-ratio:auto;object-fit:contain;display:block}dialog{overflow:hidden}
 .portrait{position:absolute;right:0;top:-10vh;width:min(38vw,480px);height:auto;max-height:78vh;object-fit:contain;object-position:center bottom;mix-blend-mode:screen;opacity:.92;filter:saturate(.9);pointer-events:none}@media(max-width:700px){.portrait{position:relative;display:block;right:auto;top:auto;width:min(68vw,300px);max-height:38vh;margin:8vh 0 0 auto;object-position:center bottom}}
/* Hero portrait layout correction: image stays in-flow and never crosses the viewport. */
main#inicio{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);column-gap:5vw;align-items:center;margin-top:10vh;max-width:1300px}main#inicio .portrait{grid-column:2;grid-row:1 / span 5;position:relative;inset:auto;width:100%;max-width:480px;max-height:clamp(420px,68vh,760px);height:auto;object-fit:contain;object-position:center bottom;justify-self:end;margin-top:4vh}.hero main#inicio>.eyebrow,.hero main#inicio>h1,.hero main#inicio>.intro,.hero main#inicio>.button{grid-column:1}.hero main#inicio>h1{grid-row:2}.hero main#inicio>.intro{grid-row:3}.hero main#inicio>.button{grid-row:4;justify-self:start}@media(max-width:700px){main#inicio{display:flex;flex-direction:column;align-items:flex-start;margin-top:10vh;gap:0}.hero main#inicio .portrait{order:5;width:min(78vw,360px);max-height:44vh;align-self:center;margin:8vh auto 0}.hero main#inicio>.eyebrow,.hero main#inicio>h1,.hero main#inicio>.intro,.hero main#inicio>.button{width:100%}}
