
@font-face{font-family:"Unifraktur";src:url("fonts/unifraktur-400.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Cormorant";src:url("fonts/cormorant-400.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Cormorant";src:url("fonts/cormorant-600.woff2") format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Cormorant";src:url("fonts/cormorant-400i.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Archivo";src:url("fonts/archivo-400.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Archivo";src:url("fonts/archivo-500.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Archivo";src:url("fonts/archivo-600.woff2") format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Archivo";src:url("fonts/archivo-700.woff2") format("woff2");font-weight:700;font-display:swap}

:root{
  --oxblood:#2A1012; --crimson:#6E2320; --crimson-2:#8A2E28; --brick:#A5453A;
  --cream:#E7E1D3; --bone:#F0EBDD; --tinta:#241619; --tinta-soft:#6A5352;
  --hueso:#EFE8DA; --paper:#F4EFE3;
  --oro:#C9A24B; --oro-claro:#E4C878; --line-l:#D8CFBB; --line-soft:#E2DACA;
  --black:"Unifraktur","Cormorant",serif;
  --display:"Cormorant",Georgia,"Times New Roman",serif;
  --sans:"Archivo",ui-sans-serif,system-ui,-apple-system,sans-serif;
}
*{box-sizing:border-box}
/* tema claro: papel hueso + tenue gloria dorada fija; texto negro */
html{scroll-padding-top:78px;background-color:var(--bone)}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:transparent;color:var(--tinta);font-family:var(--display);
  font-size:20px;line-height:1.62;-webkit-font-smoothing:antialiased;overflow-x:hidden;font-feature-settings:"liga" 1}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
::selection{background:var(--crimson-2);color:var(--hueso)}
:focus-visible{outline:2px solid var(--crimson-2);outline-offset:3px}
.skip{position:absolute;left:-9999px;top:0;z-index:200;background:var(--crimson-2);color:var(--hueso);
  padding:12px 18px;font-family:var(--sans);font-weight:600;font-size:.85rem}
.skip:focus{left:12px;top:12px}
.wrap{max-width:1160px;margin:0 auto;padding:0 28px}
.eyebrow,.label{font-family:var(--sans);font-size:.72rem;font-weight:600;letter-spacing:.26em;
  text-transform:uppercase;color:var(--crimson-2)}
/* su textura real (del brief) — grano sutil sobre todo el sitio */
body::after{content:"";position:fixed;inset:0;z-index:60;pointer-events:none;opacity:.06;mix-blend-mode:multiply;
  background:url("img/texture.webp") center/cover no-repeat}
/* logos reales de marca (blackletter) como encabezados de sección */
.sec-logo{width:min(260px,66vw);height:auto;margin:0 0 4px;display:block}
.yo-foto{width:100%;height:auto;border-radius:2px;box-shadow:0 22px 48px -32px rgba(36,22,25,.4);margin-bottom:22px;border:1px solid var(--line-l)}
footer .fmark-img{width:200px;max-width:60vw;height:auto;margin:0 auto 14px;display:block}

/* NAV */
nav{position:fixed;inset:0 0 auto;z-index:80;transition:background .4s,border-color .4s,backdrop-filter .4s;border-bottom:1px solid transparent}
nav.scrolled{background:rgba(240,235,221,.86);-webkit-backdrop-filter:blur(12px) saturate(1.2);backdrop-filter:blur(12px) saturate(1.2);border-bottom:1px solid var(--line-l)}
.nav-in{max-width:1160px;margin:0 auto;padding:16px 28px;display:flex;align-items:center;gap:20px}
.mark{font-family:var(--black);font-size:1.7rem;line-height:1;color:var(--tinta);letter-spacing:.01em}
.nav-links{margin-left:auto;display:flex;gap:28px;font-family:var(--sans);font-size:.74rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase}
.nav-links a{color:var(--tinta-soft);transition:color .25s}
.nav-links a:hover{color:var(--crimson-2)}
/* botón de menú (móvil) — hamburguesa que se vuelve X al abrir */
.nav-toggle{display:none;background:none;border:0;cursor:pointer;padding:9px;margin-left:auto;color:var(--tinta);line-height:0}
.nav-toggle span{display:block;width:24px;height:2px;background:currentColor;border-radius:2px;transition:transform .3s,opacity .2s}
.nav-toggle span+span{margin-top:5px}
nav.open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
nav.open .nav-toggle span:nth-child(2){opacity:0}
nav.open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:720px){
  .mark{font-size:1.5rem}
  .js .nav-toggle{display:block}
  .js .nav-links{position:absolute;top:100%;left:0;right:0;margin:0;flex-direction:column;gap:0;
    background:rgba(240,235,221,.97);-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);
    border-bottom:1px solid var(--line-l);padding:6px 0 12px;display:none}
  .js nav.open .nav-links{display:flex}
  .js .nav-links a{padding:15px 28px;font-size:.82rem}
  /* sin JS: enlaces envueltos y visibles, sin hamburguesa */
  html:not(.js) .nav-in{flex-wrap:wrap;justify-content:center}
  html:not(.js) .nav-links{width:100%;justify-content:center;flex-wrap:wrap;gap:12px 16px;margin:8px 0 0}
}

/* HERO — portada del portafolio: la pintura + el nombre, horizontal y a la izquierda */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;padding:120px 0 72px;background:var(--bone)}
.hero-in{max-width:1160px;margin:0 auto;padding:0 28px;width:100%;display:grid;gap:40px;align-items:center}
@media(min-width:900px){.hero-in{grid-template-columns:1.05fr .8fr;gap:72px}}
.hero-txt{text-align:left}
.hero-txt .eyebrow{color:var(--crimson-2);display:block;margin-bottom:20px}
.hero h1{font-family:var(--black);font-weight:400;font-size:clamp(3rem,8.5vw,6.6rem);line-height:.92;margin:0;color:var(--tinta);letter-spacing:.01em}
.hero-sub{font-family:var(--sans);font-size:.76rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--tinta-soft);margin:20px 0 0}
.hero .verse{font-family:var(--display);font-style:italic;font-size:clamp(1.15rem,2.3vw,1.5rem);color:var(--tinta-soft);max-width:32ch;margin:24px 0 0;line-height:1.36}
.hero-links{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap}
.hero-cta,.hero-alt{font-family:var(--sans);font-size:.74rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:14px 26px;border-radius:999px;transition:background .25s,border-color .25s,color .25s}
.hero-cta{background:var(--crimson-2);color:var(--hueso)}
.hero-cta:hover{background:var(--brick)}
.hero-alt{border:1px solid var(--line-l);color:var(--tinta)}
.hero-alt:hover{border-color:var(--crimson-2);color:var(--crimson-2)}
.hero-art{margin:0;justify-self:center;max-width:380px;background:var(--paper);padding:13px;border:1px solid var(--line-l);border-radius:2px;
  box-shadow:0 1px 0 rgba(255,255,255,.7) inset,0 34px 66px -38px rgba(36,22,25,.55)}
.hero-art img{width:100%;height:auto;display:block;border:1px solid #CFC5AE}
@media(max-width:899px){.hero-art{max-width:300px;justify-self:start}}

/* sections */
.band{padding:clamp(80px,11vw,140px) 0}
.sec-head{max-width:820px;margin:0 0 50px;text-align:left;display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.sec-head .rule{width:52px;height:1px;background:var(--crimson-2)}
.sec-head h2{font-family:var(--display);font-weight:600;font-size:clamp(2.3rem,6vw,4rem);line-height:1;margin:0;color:var(--tinta);letter-spacing:.005em;text-wrap:balance}
.sec-head h2 em{font-style:italic;font-weight:400;color:var(--crimson-2)}
.sec-head p{margin:0;font-family:var(--sans);font-weight:400;font-size:1rem;color:var(--tinta-soft);max-width:52ch}

/* MANIFIESTO */
.manifiesto{text-align:left;border-top:1px solid var(--line-l);border-bottom:1px solid var(--line-l)}
.manifiesto blockquote{font-family:var(--display);font-style:italic;font-weight:400;font-size:clamp(1.7rem,4.4vw,3rem);line-height:1.26;margin:0;max-width:24ch;color:var(--tinta);text-wrap:balance}
.manifiesto blockquote span{color:var(--crimson-2)}
.manifiesto cite{display:block;margin-top:28px;font-family:var(--sans);font-style:normal;font-size:.7rem;letter-spacing:.26em;text-transform:uppercase;color:var(--tinta-soft)}

/* OBRA — galería en muro de papel */
.obra{color:var(--tinta)}
.obra .sec-head h2{color:var(--tinta)} .obra .sec-head h2 em{color:var(--crimson-2)} .obra .sec-head p{color:var(--tinta-soft)} .obra .sec-head .rule{background:var(--crimson-2)} .obra .label{color:var(--crimson-2)}
.gallery{columns:1;column-gap:30px}
@media(min-width:660px){.gallery{columns:2}}
@media(min-width:1000px){.gallery{columns:3}}
.piece{position:relative;break-inside:avoid;-webkit-column-break-inside:avoid;margin-bottom:40px}
.med-head{column-span:all;-webkit-column-span:all;display:flex;align-items:center;gap:16px;margin:8px 0 26px}
.med-head span{font-family:var(--sans);font-size:.7rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--crimson-2);white-space:nowrap}
.med-head i{height:1px;background:var(--line-l);flex:1}
.piece.sold .t::after{content:"· Vendida";color:var(--crimson-2);font-style:normal;font-size:.7em;letter-spacing:.04em;margin-left:6px}
.piece figure{margin:0;background:var(--paper);padding:18px;border:1px solid var(--line-l);border-radius:2px;
  box-shadow:0 1px 0 rgba(255,255,255,.7) inset,0 30px 56px -40px rgba(36,22,25,.5);transition:transform .35s,box-shadow .35s}
.piece:hover figure{transform:translateY(-5px);box-shadow:0 1px 0 rgba(255,255,255,.7) inset,0 42px 70px -38px rgba(36,22,25,.6)}
.piece .frame{aspect-ratio:4/5;background:#ECE6D7;border:1px solid #CFC5AE;display:flex;align-items:center;justify-content:center;padding:16px;overflow:hidden;box-shadow:inset 0 3px 11px rgba(36,22,25,.11)}
.piece .frame img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;box-shadow:0 9px 24px -8px rgba(36,22,25,.5)}
.piece figcaption{margin-top:14px;font-family:var(--sans);display:flex;flex-direction:column;gap:5px}
.piece .t{font-family:var(--display);font-style:italic;font-size:1.32rem;color:var(--tinta);line-height:1.08}
.piece .m{font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--tinta-soft)}
@media(min-width:1000px){.piece.tall{grid-column:span 4}.piece.wide{grid-column:span 8}}
.obra-note{margin-top:38px;text-align:center;font-family:var(--sans);font-size:.74rem;letter-spacing:.06em;color:var(--tinta-soft)}

/* YO — statement en papel */
.yo{color:var(--tinta)}
.yo-grid{display:grid;gap:40px}
@media(min-width:860px){.yo-grid{grid-template-columns:.82fr 1.18fr;gap:60px}}
.yo-side .label{color:var(--crimson-2)}
.yo-side .name{font-family:var(--display);font-weight:600;font-size:clamp(2.1rem,4.4vw,3.1rem);line-height:1.04;margin:16px 0 14px;color:var(--tinta)}
.yo-side .who{font-family:var(--display);font-style:italic;font-size:1.16rem;color:var(--tinta-soft)}
.yo-side .sign{margin-top:26px;font-family:var(--black);font-size:1.6rem;color:var(--crimson-2)}
.yo-body p{margin:0 0 1.05em;font-size:1.16rem;line-height:1.6;color:#3b2a2e}
.yo-body p:first-of-type::first-letter{font-family:var(--display);float:left;font-size:4.6rem;line-height:.72;padding:6px 12px 0 0;color:var(--crimson-2);font-weight:600}
.yo-body em{font-style:italic;color:var(--crimson-2)}
.yo-body .cv{margin-top:30px;padding-top:26px;border-top:1px solid var(--line-l);display:grid;gap:20px}
@media(min-width:560px){.yo-body .cv{grid-template-columns:1fr 1fr;gap:22px 28px}}
.yo-body .cv h4{font-family:var(--sans);font-size:.62rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--crimson-2);margin:0 0 6px}
.yo-body .cv p{font-size:.94rem;line-height:1.5;color:#4a3a3e;margin:0}

/* EXPOSICIONES */
.expo{background:transparent}
.shows{display:grid;gap:30px}
@media(min-width:760px){.shows{grid-template-columns:1fr 1fr}}
.show{border:1px solid var(--line-l);border-radius:3px;overflow:hidden;background:var(--paper);box-shadow:0 20px 44px -32px rgba(36,22,25,.4);transition:transform .35s,border-color .35s,box-shadow .35s}
.show:hover{transform:translateY(-4px);border-color:var(--crimson-2);box-shadow:0 30px 58px -34px rgba(36,22,25,.5)}
.show img{width:100%;height:auto;display:block}
.show .meta{padding:22px 24px}
.show .k{font-family:var(--sans);font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--crimson-2)}
.show h3{font-family:var(--display);font-weight:600;font-size:1.5rem;margin:6px 0 4px;color:var(--tinta)}
.show p{margin:0;font-family:var(--sans);font-size:.86rem;color:var(--tinta-soft)}

/* TIENDA */
.tienda{background:transparent;border-top:1px solid var(--line-l);text-align:left}
.chips{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:6px 0 30px}
.chips span{font-family:var(--sans);font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--tinta);border:1px solid var(--line-l);border-radius:999px;padding:11px 20px}
.tienda .soon{font-family:var(--display);font-style:italic;font-size:1.3rem;color:var(--tinta-soft)}
/* tienda real */
.store{display:grid;gap:26px;grid-template-columns:1fr;text-align:left}
@media(min-width:640px){.store{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.store{grid-template-columns:repeat(3,1fr)}}
.item{border:1px solid var(--line-l);border-radius:3px;overflow:hidden;background:var(--paper);display:flex;flex-direction:column;box-shadow:0 20px 44px -34px rgba(36,22,25,.4);transition:transform .32s,border-color .32s,box-shadow .32s}
.item:hover{transform:translateY(-4px);border-color:var(--crimson-2);box-shadow:0 30px 60px -40px rgba(36,22,25,.5)}
/* marco perfecto: cada impresión va matteada en su ventana, igual que la obra */
.item .ph{background:var(--paper);padding:16px;display:flex;border-bottom:1px solid var(--line-soft)}
.item .ph .win{width:100%;min-height:262px;background:#ECE6D7;border:1px solid #CFC5AE;
  display:flex;align-items:center;justify-content:center;padding:15px;overflow:hidden;box-shadow:inset 0 3px 11px rgba(36,22,25,.11)}
.item .ph .win img{width:auto;height:auto;max-width:100%;max-height:262px;object-fit:contain;box-shadow:0 9px 24px -8px rgba(36,22,25,.5)}
.item .body{padding:22px 22px 24px;display:flex;flex-direction:column;gap:7px;flex:1}
.item .ed{font-family:var(--sans);font-size:.64rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--crimson-2)}
.item h3{font-family:var(--display);font-weight:600;font-size:1.42rem;margin:0;line-height:1.05;color:var(--tinta)}
.item .desc{margin:0;font-family:var(--sans);font-size:.82rem;color:var(--tinta-soft);line-height:1.5}
.item .row{margin-top:auto;padding-top:14px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.item .price{font-family:var(--display);font-weight:600;font-size:1.4rem;color:var(--tinta)}
.item .price small{font-family:var(--sans);font-weight:600;font-size:.6rem;letter-spacing:.1em;color:var(--tinta-soft);text-transform:uppercase}
.item .buy{font-family:var(--sans);font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;background:var(--crimson-2);color:var(--hueso);padding:12px 20px;border-radius:999px;transition:background .25s;white-space:nowrap}
.item .buy:hover{background:var(--brick)}
.store-note{margin-top:34px;text-align:center;font-family:var(--sans);font-size:.78rem;color:var(--tinta-soft)}
.store-note a{color:var(--crimson-2);text-decoration:underline;text-underline-offset:3px}

/* CONTACTO */
.relic{width:56px;height:56px;color:var(--crimson-2)}
.relic svg{width:100%;height:100%}
.contacto{background:transparent;text-align:left}
.contacto .relic{margin:0 0 20px}
.contacto h2{font-family:var(--display);font-weight:600;font-size:clamp(2.2rem,6vw,3.6rem);margin:0 0 12px;color:var(--tinta);text-wrap:balance}
.contacto p.inv{font-family:var(--sans);color:var(--tinta-soft);max-width:44ch;margin:0 0 32px;font-size:1rem}
.links{display:flex;flex-wrap:wrap;gap:14px;justify-content:flex-start}
.links a{font-family:var(--sans);font-size:.76rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--line-l);color:var(--tinta);padding:15px 26px;border-radius:999px;transition:background .25s,color .25s,border-color .25s}
.links a:hover{background:var(--crimson-2);color:var(--hueso);border-color:var(--crimson-2)}
.links a.primary{background:var(--crimson-2);border-color:var(--crimson-2);color:var(--hueso)}
.links a.primary:hover{background:var(--brick);border-color:var(--brick)}

footer{padding:44px 28px;text-align:center;border-top:1px solid var(--line-l);font-family:var(--sans);font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:var(--tinta-soft)}
footer .fmark{font-family:var(--black);font-size:1.4rem;letter-spacing:.02em;color:var(--crimson-2);text-transform:none;margin-bottom:10px}

/* reveal — progressive enhancement: visible by default, JS enhances */
.reveal{opacity:1}
.js .reveal{opacity:0;transform:translateY(20px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.3,1)}
.js .reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none;transition:none}}

/* explore (home) */
.explore{background:transparent}
.explore-grid{display:grid;gap:16px;grid-template-columns:1fr;margin:0}
@media(min-width:600px){.explore-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:980px){.explore-grid{grid-template-columns:repeat(3,1fr)}}
.ex-card{display:flex;flex-direction:column;gap:6px;padding:26px 26px;border:1px solid var(--line-l);border-radius:3px;background:var(--paper);box-shadow:0 18px 40px -32px rgba(36,22,25,.36);transition:transform .3s,border-color .3s,box-shadow .3s}
.ex-card:hover{transform:translateY(-3px);border-color:var(--crimson-2);box-shadow:0 28px 54px -36px rgba(36,22,25,.46)}
.ex-card .ex-t{font-family:var(--display);font-weight:600;font-size:1.7rem;color:var(--tinta)}
.ex-card .ex-d{font-family:var(--sans);font-size:.86rem;color:var(--tinta-soft)}
.ex-card .ex-go{font-family:var(--sans);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--crimson-2);margin-top:4px}
.ex-card.wide{grid-column:auto}
main{display:block}
