:root{--paper:#eeeae1;--ink:#181716;--muted:#aaa39a;--line:rgba(230,222,211,.25);--red:#bf6253;--about-bg:#1c1b1a}
body{background:#111211;color:#e8e1d6;transition:background .5s ease,color .5s ease}
body.darkroom{--paper:#111211;--ink:#e8e1d6;--muted:#aaa39a;--line:rgba(230,222,211,.25);--red:#c65d50;--about-bg:#1c1b1a}
body.paper-mode{--paper:#eeeae1;--ink:#181716;--muted:#69675f;--line:rgba(23,23,21,.25);--red:#a63c2c;--about-bg:#ded9cf;background:var(--paper);color:var(--ink)}
.masthead{border-color:var(--line);background:linear-gradient(180deg,rgba(17,18,17,.88),transparent)}
.paper-mode .masthead{background:linear-gradient(180deg,rgba(238,234,225,.9),transparent)}
.masthead-note,.masthead nav,.menu-toggle{color:var(--ink)}
.mode-toggle{background:none;border:0;border-bottom:1px solid var(--line);color:var(--ink);padding:4px 0;font:inherit;text-transform:uppercase;cursor:pointer}
.mode-toggle span{color:var(--red);font-size:15px;vertical-align:-1px}
.intro{background:radial-gradient(ellipse at 60% 46%,rgba(119,26,24,.10),transparent 52%)}
.intro-kicker span:last-child{color:var(--red)}
.intro h1 em,.intro h1 i,.section-heading h2 i,.personal-heading h2 i,.about h2 i{color:#c96a59}
.paper-mode .intro h1 em,.paper-mode .intro h1 i,.paper-mode .section-heading h2 i,.paper-mode .personal-heading h2 i,.paper-mode .about h2 i{color:var(--red)}
.intro-copy,.intro-byline{color:#c6bfb5}
.paper-mode .intro-copy,.paper-mode .intro-byline{color:#4d4a44}
.folio-mark,.photo figcaption,.section-intro,.margin-note>span,.margin-note p,.project-copy>p:not(.eyebrow),.about-copy>p,.contact-bottom p{color:var(--muted)}
.opening-image{border:1px solid rgba(190,94,79,.24);box-shadow:0 0 70px rgba(117,26,20,.09)}
.opening-image:before,.photo:before,.project-image:before,.cinema-frame:before{content:"";position:absolute;z-index:2;inset:0;background:linear-gradient(110deg,transparent 22%,rgba(141,35,28,.58) 49%,rgba(228,108,80,.25) 54%,transparent 76%);transform:translateX(-110%);transition:transform 2s cubic-bezier(.2,.7,.15,1),opacity 1.6s ease;pointer-events:none;mix-blend-mode:screen}
.opening-image:before,.photo:before,.project-image:before{opacity:.85}
.opening-image.is-developed:before,.photo.is-developed:before,.project-image.is-developed:before,.cinema-frame.is-developed:before{transform:translateX(110%);opacity:0}
.photo,.project-image,.cinema-frame{background:#171817}
.photo{overflow:hidden}
.photo figcaption{border-bottom:1px solid var(--line);padding-bottom:8px}
.photo figcaption span:first-child{color:var(--ink)}
.margin-note{border-color:var(--line)}
.margin-note>span{color:var(--red)}
.index-strip{border-color:var(--line);color:var(--muted)}
.index-strip a{color:var(--ink)}
.cinema{background:#090a09;border-top:1px solid rgba(190,94,79,.4);border-bottom:1px solid rgba(190,94,79,.4)}
.cinema h2 i{color:#c96a59}
.cinema-frame{border:1px solid rgba(190,94,79,.28)}
.project-image{border:1px solid rgba(190,94,79,.2)}
.project-copy>p:not(.eyebrow){color:var(--muted)}
.project-copy .eyebrow,.personal .eyebrow,.about .eyebrow,.contact .eyebrow{color:var(--red)}
.tenlo-quote{border-color:var(--line)}
.tenlo-quote>span{color:var(--muted)}
.about{background:var(--about-bg);color:var(--ink)}
.about-copy>p{color:var(--muted)}
.contact{background:radial-gradient(ellipse at 78% 72%,rgba(125,27,24,.09),transparent 45%)}
.contact h2 i{color:var(--red)}
.contact-cta{border-color:var(--red)}
.footer{border-color:var(--line)}
.footer p,.footer small{color:var(--muted)}
html.js img:not(.is-developed){filter:grayscale(1) brightness(.26) sepia(.28) blur(6px);transform:scale(1.035)}
html.js img.is-developed{filter:grayscale(0) brightness(1) sepia(0) blur(0);transform:scale(1);transition:filter 2.1s cubic-bezier(.2,.65,.2,1),transform 2.4s cubic-bezier(.2,.65,.2,1)}
html.js .photo img:not(.is-developed),html.js .opening-image img:not(.is-developed),html.js .project-image img:not(.is-developed),html.js .cinema-frame img:not(.is-developed),html.js .author-portrait:not(.is-developed){transition:filter 2.2s ease,transform 2.5s ease}
html.js .photo.is-developed img,html.js .opening-image.is-developed img,html.js .project-image.is-developed img,html.js .cinema-frame.is-developed img{transition-delay:.2s}
@media(max-width:760px){
 .masthead{background:linear-gradient(180deg,rgba(17,18,17,.94),rgba(17,18,17,.72))}
 .paper-mode .masthead{background:linear-gradient(180deg,rgba(238,234,225,.96),rgba(238,234,225,.76))}
 .masthead.is-open nav{background:var(--paper);color:var(--ink);padding:18px;border:1px solid var(--line)}
 .masthead nav{align-items:center}
 .mode-toggle{font-size:9px}
 .intro{background:radial-gradient(ellipse at 60% 48%,rgba(119,26,24,.14),transparent 58%)}
 .photo figcaption span:last-child{font-size:6px}
}
@media(prefers-reduced-motion:reduce){
 html.js img:not(.is-developed),html.js img.is-developed{filter:none;transform:none;transition:none}
 .opening-image:before,.photo:before,.project-image:before,.cinema-frame:before{display:none}
}
.video-reel{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(34px,5vw,72px) 2vw;margin-top:70px}
.video-item{margin:0;min-width:0}
.video-item--feature{grid-column:2/12}
.video-item--secondary:nth-of-type(2){grid-column:1/7}
.video-item--secondary:nth-of-type(3){grid-column:8/13;margin-top:7vw}
.video-frame{aspect-ratio:16/9;position:relative;background:#1b1b1a;border:1px solid rgba(190,94,79,.35);overflow:hidden}
.video-frame iframe{display:block;width:100%;height:100%;border:0}
.video-title{display:block;margin-top:12px;padding-top:9px;border-top:1px solid rgba(230,222,211,.25);color:#e8e1d6;font:10px/1.4 var(--mono);letter-spacing:.06em}
@media(max-width:760px){
 .video-reel{display:grid;grid-template-columns:1fr;gap:34px;margin-top:42px}
 .video-item--feature,.video-item--secondary:nth-of-type(2),.video-item--secondary:nth-of-type(3){grid-column:1;margin-top:0}
}
/* Mantener la proporción original de las fotografías */
.opening-image{height:auto;min-height:0;aspect-ratio:auto}
.opening-image img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;object-position:center}
.photo-grid{grid-auto-rows:auto;align-items:start}
.photo{height:auto;overflow:visible}
.photo picture{display:block}
.photo img,.photo--portrait img,.photo--wide img,.photo--concert img,.photo--small img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;object-position:center}
.photo--portrait,.photo--wide,.photo--concert,.photo--small{grid-row:auto}
.project-image,.project--404 .project-image{display:block;height:auto;aspect-ratio:auto;overflow:visible}
.project-image img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;object-position:center}
.author-portrait{display:block;width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;object-position:center}
html.js img:not(.is-developed){filter:grayscale(1) brightness(.26) sepia(.28) blur(6px);transform:none}
html.js img.is-developed{filter:grayscale(0) brightness(1) sepia(0) blur(0);transform:none;transition:filter 2.1s cubic-bezier(.2,.65,.2,1)}
@media(max-width:760px){
 .photo-grid{grid-auto-rows:auto}
 .photo--portrait,.photo--wide,.photo--concert,.photo--small{grid-row:auto}
 .opening-image,.project-image,.project--404 .project-image{height:auto;min-height:0;max-height:none}
}
.language-toggle{display:flex;align-items:center;gap:8px;margin-left:clamp(8px,1.5vw,22px);font:9px var(--mono);letter-spacing:.04em}
.language-toggle button{border:0;border-bottom:1px solid transparent;padding:4px 1px;background:transparent;color:var(--muted);font:inherit;cursor:pointer}
.language-toggle button[aria-pressed="true"]{color:var(--red);border-bottom-color:var(--red)}
.language-toggle button:hover{color:var(--ink)}
@media(max-width:760px){.language-toggle{margin-left:0}}
.intro-kicker{grid-template-columns:1fr 1fr}
.intro-kicker span:first-child{text-align:left}
.intro-kicker span:last-child{text-align:right}
#retratos,#conciertos,#moda{scroll-margin-top:34px}
@media(max-width:760px){.intro-kicker{grid-template-columns:1fr 1fr}}


/* Contact form, consent and focus affordances */
.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;max-width:920px;margin:70px 0 0 auto}
.contact-form>label:not(.form-consent){font:10px var(--mono);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);align-self:end}
.contact-form input:not([type=checkbox]),.contact-form textarea{grid-column:1/-1;width:100%;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;color:var(--ink);font:16px var(--sans);padding:12px 4px;outline-offset:4px}
.contact-form textarea{resize:vertical;min-height:130px}
.contact-form input:focus-visible,.contact-form textarea:focus-visible{outline:2px solid var(--red)}
.form-consent{grid-column:1/-1;display:flex;gap:12px;align-items:flex-start;font-size:12px;line-height:1.5;color:var(--ink)}
.form-consent input{accent-color:var(--red);margin-top:3px;width:18px;height:18px;flex:none}
.form-consent a{text-decoration:underline;text-underline-offset:3px}
.form-submit,.consent-actions button{border:1px solid var(--ink);background:var(--ink);color:var(--paper);padding:14px 18px;min-height:48px;font:10px var(--mono);text-transform:uppercase;letter-spacing:.04em;cursor:pointer;justify-self:start}
.form-submit:hover,.consent-actions button:hover{background:#a63c2c;border-color:#a63c2c;color:#fff}
.form-note{grid-column:1/-1;color:var(--muted);font-size:12px}
.form-honey{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.consent-banner{position:fixed;z-index:50;left:16px;right:16px;bottom:16px;max-width:900px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:20px 24px;background:#eeeae1;color:#181716;border:1px solid #716f68;box-shadow:0 12px 40px #0008}
.consent-banner[hidden]{display:none}
.consent-banner h2{font:500 22px/1.1 var(--serif);margin:0 0 7px}
.consent-banner p{font:13px/1.5 var(--sans);margin:0 0 8px}
.consent-banner a{text-decoration:underline;text-underline-offset:3px;font-size:12px}
.consent-actions{display:flex;gap:10px;flex-wrap:wrap;flex:none}
.consent-actions button:last-child{background:transparent;color:#181716}
.consent-settings{border:0;padding:0;background:none;color:inherit;text-decoration:underline;text-underline-offset:3px;font:inherit;cursor:pointer}
.video-frame iframe{display:block;width:100%;aspect-ratio:16/9;border:0;background:#171817}
:focus-visible{outline:3px solid var(--red);outline-offset:4px}
@media(max-width:760px){.contact-form{grid-template-columns:1fr;margin-top:48px}.contact-form>*{grid-column:1/-1}.consent-banner{left:8px;right:8px;bottom:8px;padding:17px;display:block}.consent-actions{margin-top:14px}.consent-actions button{flex:1}.form-submit{width:100%}}

.legal-page{max-width:900px;margin:0 auto;padding:190px clamp(22px,6vw,90px) 120px}.legal-page h1{font:500 clamp(48px,8vw,100px)/.95 var(--serif);letter-spacing:-.06em;margin:20px 0 70px}.legal-page h2{font:500 clamp(24px,3vw,36px)/1.1 var(--serif);margin:48px 0 14px}.legal-page p,.legal-page li{font:16px/1.75 var(--sans);color:var(--muted)}.legal-page a{text-decoration:underline;text-underline-offset:3px}.legal-page .legal-pending{border:1px solid #c65d50;padding:16px;color:#fff}.paper-mode .legal-page .legal-pending{color:#181716}

/* Gallery pages */
.photo-link{display:block;color:inherit}
.photo-link:hover img,.gallery-item:hover img{opacity:.9}
.gallery-head{padding:175px var(--gutter) 34px;border-bottom:1px solid var(--line)}
.gallery-head .eyebrow{color:var(--red)}
.gallery-head h1{font:500 clamp(56px,11vw,150px)/.85 var(--serif);letter-spacing:-.07em;margin:16px 0 0}
.gallery-intro{max-width:430px;margin:26px 0 0;color:var(--muted);font-size:14px;line-height:1.7}
.gallery-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(34px,5vw,84px) 2vw;padding:clamp(60px,9vw,120px) var(--gutter) clamp(90px,12vw,170px);align-items:start}
.gallery-item{margin:0;overflow:hidden;background:#171817}
.gallery-item img{display:block;width:100%;height:auto;object-fit:contain}
.gallery-item:nth-child(4n+1){grid-column:1/8}
.gallery-item:nth-child(4n+2){grid-column:8/13;margin-top:6vw}
.gallery-item:nth-child(4n+3){grid-column:2/8;margin-top:-2vw}
.gallery-item:nth-child(4n+4){grid-column:8/13}
.paper-mode .gallery-item{background:#d8d3c9}
.pn{border-top:1px solid var(--line);padding:34px var(--gutter);display:flex;justify-content:space-between;gap:20px;font:10px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.04em}
.pn a{display:flex;flex-direction:column;gap:9px;color:var(--muted);max-width:45%}
.pn a:hover{color:var(--ink)}
.pn a small{color:var(--red)}
.pn a.next{text-align:right;align-items:flex-end}
.pn a span{color:var(--ink)}
@media(max-width:760px){
 .gallery-head{padding:120px 22px 26px}
 .gallery-head h1{font-size:clamp(48px,14vw,96px)}
 .gallery-intro{font-size:13px}
 .gallery-grid{display:flex;flex-direction:column;gap:28px;padding:46px 22px 90px}
 .gallery-item{margin-top:0}
 .pn{padding:26px 22px}
 .pn a{max-width:48%}
}

/* ==========================================================================
   Brand header, project head and pagination fixes (2026-10-09)
   Paleta de marca: papel #FAFAF7 · tinta #0A0A0B · acento vermello #E2231A
   ========================================================================== */
:root{--brand-paper:#FAFAF7;--brand-ink:#0A0A0B;--brand-red:#E2231A;--brand-line:rgba(10,10,11,.14)}

/* A. Navegador principal / masthead: fondo papel, tinta e acento */
.masthead{
  background:var(--brand-paper);
  color:var(--brand-ink);
  align-items:center;
  gap:2rem;
  padding:1rem 2rem;
  border-bottom:1px solid var(--brand-line);
}
.masthead .wordmark{color:var(--brand-ink)}
.masthead .wordmark span{color:var(--brand-red)}
.masthead .masthead-note{color:rgba(10,10,11,.6)}
.masthead nav a,
.masthead .mode-toggle,
.masthead .menu-toggle,
.masthead .language-toggle button{color:var(--brand-ink)}
.masthead nav a{padding:4px 0;border-bottom:1px solid transparent}
.masthead nav a:hover,
.masthead nav a:focus-visible,
.masthead nav a[aria-current="page"],
.masthead nav a.is-active{border-color:var(--brand-red);color:var(--brand-red)}
.masthead nav a:last-of-type{color:var(--brand-red)}
.masthead sup{color:var(--brand-red);font-size:9px}
.masthead .mode-toggle{border-bottom-color:var(--brand-line)}
.masthead .mode-toggle span{color:var(--brand-red)}
.masthead .menu-toggle span{color:var(--brand-red)}
.masthead .language-toggle button:hover{color:var(--brand-ink)}
.masthead .language-toggle button[aria-pressed="true"]{color:var(--brand-red);border-bottom-color:var(--brand-red)}
.masthead.is-open nav{background:var(--brand-paper);color:var(--brand-ink);border:1px solid var(--brand-line)}

/* B. Cabecera do proxecto / xerarquía de títulos */
.gallery-head{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:.5rem;
  background:var(--brand-paper);
  color:var(--brand-ink);
  padding:clamp(150px,18vh,210px) clamp(20px,4vw,48px) 2.5rem;
  border-bottom:1px solid var(--brand-line);
}
.gallery-head .eyebrow{color:var(--brand-red);opacity:.85;margin:0}
.gallery-head h1{color:var(--brand-ink);margin:0}
.gallery-head .gallery-intro{color:rgba(10,10,11,.62);margin:.75rem 0 0}

/* C. Paginación / enlaces anterior e seguinte */
.pn{
  display:flex;
  justify-content:space-between;
  align-items:center;
  width:100%;
  gap:1rem;
  padding:1.25rem 2rem;
  border-top:1px solid var(--brand-line);
  background:var(--brand-paper);
  color:var(--brand-ink);
  font:10px/1.4 var(--mono);
  text-transform:uppercase;
  letter-spacing:.04em;
}
.pn a{
  all:unset;
  cursor:pointer;
  display:flex;
  flex-direction:column;
  gap:.35rem;
  max-width:48%;
  color:var(--brand-ink);
}
.pn a:focus-visible{outline:2px solid var(--brand-red);outline-offset:4px}
.pn a:hover,
.pn a:hover span,
.pn a:hover small{color:var(--brand-red)}
.pn a small{color:rgba(10,10,11,.55);white-space:nowrap}
.pn a span{color:var(--brand-ink)}
.pn a.prev{align-items:flex-start;text-align:left}
.pn a.prev small::before{content:"←";color:var(--brand-red);margin-right:.45rem}
.pn a.next{margin-left:auto;align-items:flex-end;text-align:right}
.pn a.next small::after{content:"→";color:var(--brand-red);margin-left:.45rem}
@media(max-width:760px){
  .masthead{padding:1rem 1.25rem;gap:1rem}
  .gallery-head{padding:140px 1.25rem 2rem}
  .pn{padding:1.1rem 1.25rem}
  .pn a{max-width:47%}
}

/* =====================================================================
   DIRECCIÓN D — tema papel cálido, tipografía sobria, ritmo editorial
   Paleta: papel #FAFAF7 · tinta #0A0A0B · acento #E2231A · apagado #666660
   El acento se reserva a enlaces y estados hover/activo/seleccionado.
   ===================================================================== */
:root{
  --bg-paper:#FAFAF7;
  --text-ink:#0A0A0B;
  --accent-red:#E2231A;
  --muted-text:#666660;
  --border-subtle:#E5E5E0;
}

/* Tema por defecto = papel */
body{
  --paper:#FAFAF7;--ink:#0A0A0B;--muted:#666660;--line:#E5E5E0;--red:#E2231A;--about-bg:#F2F1EC;
  background:var(--bg-paper);color:var(--text-ink);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
body.paper-mode{
  --paper:#FAFAF7;--ink:#0A0A0B;--muted:#666660;--line:#E5E5E0;--red:#E2231A;--about-bg:#F2F1EC;
  background:var(--bg-paper);color:var(--text-ink);
}
body.darkroom{background:#111211;color:#e8e1d6}

/* Enlaces: heredan la tinta; el acento sólo aparece en hover/activo */
a{color:inherit}
a:hover,a:focus-visible{color:var(--accent-red)}
:focus-visible{outline:2px solid var(--accent-red);outline-offset:4px}

/* Masthead */
.paper-mode .masthead{background:var(--bg-paper);border-color:var(--border-subtle)}
.paper-mode .masthead-note{color:var(--muted-text)}
.paper-mode .masthead nav a{color:var(--text-ink)}
.paper-mode .masthead nav a:hover,
.paper-mode .masthead nav a:focus-visible{color:var(--accent-red);border-color:var(--accent-red)}
.paper-mode .masthead sup{color:var(--accent-red)}
.paper-mode .mode-toggle{color:var(--text-ink);border-color:var(--border-subtle)}
.paper-mode .mode-toggle span{color:var(--accent-red)}
.paper-mode .language-toggle button{color:var(--muted-text)}
.paper-mode .language-toggle button[aria-pressed="true"]{color:var(--accent-red);border-color:var(--accent-red)}
.paper-mode .masthead.is-open nav{background:var(--bg-paper);color:var(--text-ink);border-color:var(--border-subtle)}

/* Titulares y etiquetas */
.paper-mode .eyebrow,
.paper-mode .project-copy .eyebrow,
.paper-mode .personal .eyebrow,
.paper-mode .about .eyebrow,
.paper-mode .contact .eyebrow,
.paper-mode .cinema .eyebrow{color:var(--muted-text)}
.paper-mode .intro h1 em,
.paper-mode .intro h1 i,
.paper-mode .section-heading h2 i,
.paper-mode .personal-heading h2 i,
.paper-mode .about h2 i,
.paper-mode .cinema h2 i{color:var(--text-ink)}
.paper-mode a.text-link,
.paper-mode .index-strip a,
.paper-mode .grading-link span:last-child{color:inherit}
.paper-mode .index-strip a:hover,
.paper-mode a.text-link:hover{color:var(--accent-red)}

/* Imaxe de apertura */
.paper-mode .opening-image{background:#EDEBE5;border-color:var(--border-subtle);box-shadow:none}
.paper-mode .opening-image:after{background:linear-gradient(0deg,rgba(0,0,0,.34),transparent 42%)}
.paper-mode .image-caption{color:#FAFAF7}

/* Rejilla, figuras y proyectos */
.paper-mode .photo,
.paper-mode .project-image{background:#EDEBE5}
.paper-mode .photo figcaption{color:var(--muted-text);border-color:var(--border-subtle)}
.paper-mode .photo figcaption span:first-child{color:var(--text-ink)}
.paper-mode .index-strip{border-color:var(--border-subtle);color:var(--muted-text)}
.paper-mode .margin-note{border-color:var(--border-subtle)}
.paper-mode .margin-note>span{color:var(--muted-text)}
.paper-mode .project-image{border-color:var(--border-subtle)}
.paper-mode .project-copy>p:not(.eyebrow){color:var(--muted-text)}
.paper-mode .tenlo-quote{border-color:var(--border-subtle)}
.paper-mode .tenlo-quote>span{color:var(--muted-text)}

/* Bloque de vídeo / etalonaje (cinema) en papel */
.paper-mode .cinema{background:#F2F1EC;color:var(--text-ink);border-color:var(--border-subtle)}
.paper-mode .cinema-top{color:var(--muted-text)}
.paper-mode .cinema-copy{color:var(--muted-text)}
.paper-mode .cinema-frame{background:#EDEBE5;border-color:var(--border-subtle)}
.paper-mode .cinema-frame:after{background:linear-gradient(0deg,rgba(0,0,0,.34),transparent 45%)}
.paper-mode .cinema-index{color:var(--muted-text)}
.paper-mode .grading-link{color:var(--muted-text);border-color:var(--border-subtle)}
.paper-mode .video-frame{background:#EDEBE5;border-color:var(--border-subtle)}
.paper-mode .video-title{color:var(--text-ink);border-color:var(--border-subtle)}

/* Acerca de e contacto */
.paper-mode .about{background:var(--about-bg);color:var(--text-ink)}
.paper-mode .about-copy>p{color:var(--muted-text)}
.paper-mode .contact{background:none}
.paper-mode .contact-bottom p{color:var(--muted-text)}

/* Pé */
.paper-mode .footer{border-color:var(--border-subtle)}
.paper-mode .footer p,
.paper-mode .footer small{color:var(--muted-text)}

/* Revelado de fotografías coherente con el papel */
html.js .paper-mode img:not(.is-developed){filter:grayscale(1) contrast(.92) blur(4px);transform:none;transition:filter 1.6s ease}
html.js .paper-mode img.is-developed{filter:none;transform:none;transition:filter 1.6s ease,transform 1.6s ease}
.paper-mode .opening-image:before,
.paper-mode .photo:before,
.paper-mode .project-image:before,
.paper-mode .cinema-frame:before{opacity:.3;background:linear-gradient(110deg,transparent 30%,rgba(226,35,26,.16) 50%,transparent 70%)}

/* Formulario */
.paper-mode .contact-form>label:not(.form-consent){color:var(--muted-text)}
.paper-mode .contact-form input:not([type=checkbox]),
.paper-mode .contact-form textarea{border-color:var(--border-subtle);color:var(--text-ink)}

/* Hero Dirección D: marca + rol */
.intro h1{letter-spacing:-.06em}
.intro-role{margin:3vh 0 0;font:400 clamp(15px,1.5vw,20px)/1.45 var(--sans);letter-spacing:.01em;color:var(--muted)}
@media(max-width:760px){.intro-role{margin:2.5vh 0 0;font-size:14px}}

/* Compatibilidad del modo oscuro del conmutador (Luz vermella) */
body.darkroom .masthead{background:linear-gradient(180deg,rgba(17,18,17,.94),rgba(17,18,17,.72));color:#e8e1d6;border-color:var(--line)}
body.darkroom .masthead .wordmark{color:#e8e1d6}
body.darkroom .masthead nav a,
body.darkroom .masthead .mode-toggle,
body.darkroom .masthead .menu-toggle,
body.darkroom .masthead .language-toggle button{color:#e8e1d6}
body.darkroom .masthead nav a:last-of-type{color:var(--red)}
body.darkroom .masthead.is-open nav{background:#111211;color:#e8e1d6;border-color:var(--line)}
body.darkroom .gallery-head,
body.darkroom .pn{background:#111211;color:#e8e1d6;border-color:var(--line)}
body.darkroom .gallery-head h1{color:#e8e1d6}
body.darkroom .pn a{color:#e8e1d6}

/* Páxina Sobre min — Dirección D */
.paper-mode .gallery-head .eyebrow{color:var(--muted-text)}
.about-page{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(26px,5vw,80px);align-items:start;padding:clamp(60px,9vw,120px) var(--gutter)}
.about-page__media img{width:100%;height:auto;display:block;border:1px solid var(--border-subtle);background:#EDEBE5}
.about-page__copy p{font:400 clamp(15px,1.4vw,19px)/1.7 var(--sans);color:var(--text-ink);margin:0 0 1.2em}
.about-page__copy p:first-child{font-size:clamp(17px,1.8vw,23px);line-height:1.55}
.cv-reveal{margin-top:2.4em;border-top:1px solid var(--border-subtle);padding-top:1.4em}
.cv-reveal summary{cursor:pointer;font:500 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent-red);list-style:none;display:flex;justify-content:space-between;align-items:center;padding:.5em 0}
.cv-reveal summary::-webkit-details-marker{display:none}
.cv-reveal summary::after{content:"＋";color:var(--accent-red)}
.cv-reveal[open] summary::after{content:"−"}
.cv-body{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:clamp(20px,3vw,44px);margin-top:1.6em}
.cv-block h2{font:500 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted-text);margin:0 0 1em}
.cv-block ul{list-style:none;margin:0;padding:0}
.cv-block li{font:400 15px/1.5 var(--sans);color:var(--text-ink);padding:.5em 0;border-bottom:1px solid var(--border-subtle)}
.about-contact{padding:clamp(60px,10vh,130px) var(--gutter);border-top:1px solid var(--border-subtle)}
.about-contact__mail{display:block;font:500 clamp(24px,4.4vw,56px)/1.1 var(--serif);color:var(--text-ink);text-decoration:none;letter-spacing:-.02em;margin:.35em 0 .7em}
.about-contact__mail:hover{color:var(--accent-red)}
.about-contact__links{display:flex;flex-wrap:wrap;gap:1.6em}
.about-contact__links a{font:500 12px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-ink);text-decoration:none;border-bottom:1px solid transparent;padding-bottom:.35em}
.about-contact__links a:hover{color:var(--accent-red);border-color:var(--accent-red)}
@media(max-width:820px){.about-page{grid-template-columns:1fr;gap:32px}}
body.darkroom .about-page__copy p,
body.darkroom .cv-block li,
body.darkroom .about-contact__mail,
body.darkroom .about-contact__links a{color:#e8e1d6}
body.darkroom .about-page__media img{background:#191a19;border-color:var(--line)}
body.darkroom .cv-reveal,
body.darkroom .about-contact,
body.darkroom .cv-block li{border-color:var(--line)}
body.darkroom .cv-block h2{color:var(--muted)}

/* Páxinas de proxecto (TENLO / 404) — Dirección D */
.project-lead{padding:0 var(--gutter) clamp(40px,7vw,90px)}
.project-lead img{width:100%;height:auto;display:block;border:1px solid var(--border-subtle);background:#EDEBE5}
.project-prose{max-width:780px;margin:0 auto;padding:clamp(40px,7vw,90px) var(--gutter)}
.project-prose p{font:400 clamp(16px,1.5vw,20px)/1.7 var(--sans);color:var(--text-ink);margin:0 0 1.2em}
.project-prose p:first-child::first-letter{float:left;font:500 3.4em/.82 var(--serif);padding:.06em .12em 0 0;color:var(--accent-red)}
.project-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,3vw,48px);max-width:780px;margin:0 auto;padding:clamp(22px,3vw,36px) var(--gutter);border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle)}
.project-facts dt{font:500 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted-text);margin:0 0 .7em}
.project-facts dd{font:400 16px/1.5 var(--sans);color:var(--text-ink);margin:0}
.project-cta{padding:clamp(60px,10vh,130px) var(--gutter);border-top:1px solid var(--border-subtle)}
.project-cta h2{font:500 clamp(24px,3.6vw,46px)/1.15 var(--serif);letter-spacing:-.02em;margin:0 0 .6em;color:var(--text-ink);max-width:20ch}
.project-cta a{display:inline-block;font:500 12px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-ink);text-decoration:none;border-bottom:1px solid var(--accent-red);padding-bottom:.35em}
.project-cta a:hover{color:var(--accent-red)}
@media(max-width:640px){.project-facts{grid-template-columns:1fr;gap:20px}}
body.darkroom .project-prose p,
body.darkroom .project-facts dd,
body.darkroom .project-cta h2,
body.darkroom .project-cta a{color:#e8e1d6}
body.darkroom .project-lead img{background:#191a19;border-color:var(--line)}
body.darkroom .project-facts,
body.darkroom .project-cta{border-color:var(--line)}
body.darkroom .project-facts dt{color:var(--muted)}
