/* CCV — personal introduction / selected work / artistic practice */
:root{--paper:#fff;--ink:#1b1c19;--muted:#64665e;--accent:#63673d;--soft:#f2f2eb;--edge:#d0d1c8;--archive:#f3f2ee;color:var(--ink);background:var(--paper);color-scheme:light}
html,body{background:var(--paper);color:var(--ink)}a,button,input,textarea{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid currentColor;outline-offset:5px}.header-options{display:flex;gap:22px;align-items:center;justify-self:end}.theme-toggle{width:48px;height:44px;display:flex;align-items:center;justify-content:center;padding:0}.theme-toggle:before{content:'';position:absolute;width:42px;height:24px;border:1px solid var(--ink);border-radius:30px;background:var(--paper)}.theme-toggle span{position:relative;display:block;width:16px;height:16px;background:var(--ink);border-radius:50%;transform:translateX(-9px);transition:transform .2s}.theme-toggle[aria-checked=true] span{transform:translateX(9px)}.language button{color:var(--muted)}.language button[aria-pressed=true]{color:var(--ink)}header{position:relative;z-index:3;background:var(--paper)}
/* Introduction lives in its own first screen. Images are annotations to the type. */

/* Symmetric 50/50 pairs, alternating image and text. */
.selected-project>a{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;border-bottom:1px solid var(--edge);position:relative}
/* A darker room for the personal archive. */

/* Closing colophon, not another promotional banner. */
#footer{display:block;background:var(--soft);color:var(--ink);margin:0;padding:55px var(--gutter) 22px;border:0}main{padding-bottom:70px}
/* Personal writing, balanced with a real study. */
.recognition{padding-top:20px}
/* Narratives reuse documented project copy. */
.back-link{display:inline-flex;align-items:center;gap:14px;font-size:16px;border-bottom:1px solid currentColor;padding:9px 0}.back-link .direction-arrow{width:25px;height:25px}.back-link:hover .direction-arrow.left{transform:rotate(-135deg) translate(3px,-3px)}.project-gallery.has-story{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:35px;row-gap:40px;align-items:start}.project-gallery.has-story>.gallery-row{grid-column:1/-1}.project-gallery.has-story>.gallery-copy{grid-column:1/5;padding:30px 0;margin:0;font-size:clamp(22px,2.2vw,32px);line-height:1.3}.project-film{grid-column:1/-1;aspect-ratio:16/9;position:relative;background:#111}.project-film iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.film-link{grid-column:1/-1;display:inline-flex;align-items:center;gap:16px;justify-self:start;text-decoration:underline;text-underline-offset:5px}.film-link .direction-arrow{width:20px;height:20px}.project-meta dt,.card-caption p{color:var(--muted)}
/* Both palettes are designed, artwork colours stay untouched. */
[data-theme=dark]{--paper:#171916;--ink:#f2f1e9;--muted:#b8bcb2;--accent:#d5d9a9;--soft:#242720;--edge:#4e5449;--archive:#30352c;color-scheme:dark}[data-theme=dark] #footer{background:#11130f}[data-theme=dark] .art-image{background:transparent}[data-theme=dark] .filters button{background:transparent;color:var(--ink);border-color:var(--edge)}[data-theme=dark] .filters button:hover{background:#33382e}[data-theme=dark] .filters button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}[data-theme=dark] .view-switch{background:#30362b}[data-theme=dark] .view-switch button{color:var(--ink)}[data-theme=dark] .view-switch button[aria-pressed=true]{background:var(--ink);color:var(--paper)}[data-theme=dark] .explore-viewport{background:#30352c}[data-theme=dark] .explore-controls{background:#30352cee}[data-theme=dark] .explore-controls button{background:#454d3e;color:#fff}[data-theme=dark] .explore-controls button:hover{background:#f2f1e9;color:#171916}[data-theme=dark] .project-media{background:#30352c}[data-theme=dark] .art-item .art-image{background:transparent}[data-theme=dark] dialog{background:#171916;color:#f2f1e9}[data-theme=dark] .skip{background:#f2f1e9;color:#171916}[data-theme=dark] .context-cursor{background:#f2f1e9;color:#171916}
@media(prefers-reduced-motion:no-preference){@keyframes type-enter{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes image-enter{from{opacity:0;clip-path:inset(0 0 15%)}to{clip-path:inset(0)}}}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.selected-project a{cursor:none}}
@media(max-width:1000px){.header-options{gap:14px}.project-gallery.has-story>.gallery-copy{font-size:24px}}
@media(max-width:600px){header{gap:12px;grid-template-columns:1fr auto}.header-options{grid-column:2;grid-row:1;gap:17px}header nav{grid-column:1/-1}.header-options .language{gap:8px}.theme-toggle{width:42px}.selected-project>a{grid-template-columns:1fr 1fr;padding:25px 0;gap:18px;align-items:center}#footer{padding:35px var(--gutter) 20px}.back-link{font-size:14px;gap:10px}.back-link .direction-arrow{width:22px;height:22px}.project-gallery.has-story{display:flex;gap:25px}.project-gallery.has-story>.gallery-copy{font-size:24px;padding:18px 0}.project-gallery.has-story>.gallery-copy+.gallery-row.pair{grid-template-columns:1fr 1fr!important}.gallery-row img{height:auto}.project-film{width:100%;flex-shrink:0}.film-link{font-size:14px}[data-theme=dark] .art-intro+.catalogue-controls .view-switch{background:transparent}[data-theme=dark] .art-intro+.catalogue-controls .view-switch button{color:var(--muted);background:transparent}[data-theme=dark] .art-intro+.catalogue-controls .view-switch button[aria-pressed=true]{color:var(--ink);border-color:var(--ink)}[data-theme=dark] .view-label{color:var(--muted)}}

/* Iteration 2 · responsive fixes: Work caption/arrow overflow and wrapping filters on small screens. */
.card-caption>div{min-width:0}.card-caption h2{overflow-wrap:break-word;hyphens:auto}
@media(max-width:600px){.card-caption{gap:8px}.card-caption h2{font-size:clamp(16px,4.7vw,19px);line-height:1.2}.card-caption p{font-size:12px}.catalogue-controls{flex-direction:column;align-items:stretch;gap:20px}.filters{flex-wrap:wrap;overflow:visible;gap:8px;width:100%;padding:0}.filters button{flex:0 0 auto;min-height:44px;padding:10px 16px;font-size:14px}}

/* Home v6 · hero personal, proyectos destacados, Art con dos piezas y footer negro (el footer es común a todas las páginas) */
.home{--hh:122px;--h-room:#f2f2ee;--h-btn-bg:#0e0e0c;--h-btn-ink:#fff}[data-theme=dark] .home{--h-room:#22251f;--h-btn-bg:#f2f1e9;--h-btn-ink:#171916}@media(max-width:1000px){.home{--hh:105px}}
.home-hero{min-height:calc(100svh - var(--hh));padding:clamp(20px,4vh,48px) 0 clamp(32px,6vh,64px);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:16px;align-items:end}
.home-hero-text{grid-column:1/8;padding-bottom:6px}.home-hero h1{font-weight:400;font-size:clamp(36px,4.7vw,72px);line-height:1.06;letter-spacing:-.045em;margin:0}.home-hero h1 .s1,.home-hero h1 .s2{display:block;text-wrap:balance}.home-hero h1 em{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.025em}.home-hero h1 .s2{margin-top:.7em;font-size:clamp(20px,2vw,30px);line-height:1.25;letter-spacing:-.02em;color:var(--muted);max-width:22em}
.home-hero-photo{grid-column:8/13;justify-self:end;width:min(100%,calc((100svh - var(--hh) - 100px)*.9));aspect-ratio:.9;overflow:hidden;background:var(--soft);position:relative;margin:0}.home-hero-photo img{position:absolute;left:0;bottom:0;width:111%;height:111%;max-width:none;object-fit:cover;object-position:0 100%}
.home-featured{padding:clamp(64px,7vw,110px) 0 clamp(30px,4vw,60px)}.home-head{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:clamp(28px,3.4vw,48px)}.home-head h2{font-size:clamp(30px,3.4vw,50px);font-weight:400;letter-spacing:-.04em;line-height:1.05;margin:0}
.home-pill{display:inline-flex;gap:8px;align-items:center;border:1px solid currentColor;border-radius:999px;padding:9px 18px;font-size:15px;white-space:nowrap;transition:background .25s,color .25s}.home-pill .direction-arrow{width:12px;height:12px;transition:transform .25s}.home-pill:hover{background:var(--ink);color:var(--paper)}.home-pill:hover .direction-arrow{transform:translate(2px,-2px)}
.home-fgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.home-fp{grid-column:1/-1;display:grid;grid-template-columns:subgrid;align-items:stretch}
.home-fimg{display:block;aspect-ratio:3/2;overflow:hidden;background:var(--soft);grid-column:1;grid-row:1}.home-fimg img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}.home-fp:hover .home-fimg img{transform:scale(1.035)}.home-fp:nth-child(1) .home-fimg img{object-position:15% 50%}
.home-fcap{grid-column:2;grid-row:1;display:flex;flex-direction:column;justify-content:flex-end;padding:0 0 clamp(32px,5vw,72px) clamp(24px,4.5vw,72px)}.home-fp:nth-child(even) .home-fimg{grid-column:2}.home-fp:nth-child(even) .home-fcap{grid-column:1;padding-left:0;padding-right:clamp(24px,4.5vw,72px)}
.home-fcap h3{font-size:clamp(22px,2.3vw,36px);font-weight:500;letter-spacing:-.045em;line-height:1.04;margin:0}.home-fcap h3 a{display:inline}.home-fcap h3 .direction-arrow{display:inline-block;width:.68em;height:.68em;margin-left:.5em;color:#000;vertical-align:baseline;transition:transform .3s}.home-fcap h3 .direction-arrow path{stroke-width:2.8}[data-theme=dark] .home-fcap h3 .direction-arrow{color:#fff}.home-fp:hover .home-fcap h3 .direction-arrow{transform:translate(5px,-5px)}.home-fcap p{font-size:clamp(13px,1.2vw,18px);line-height:1.4;color:var(--muted);max-width:none;white-space:nowrap;margin:10px 0 0}
.home-art{background:var(--h-room);color:var(--ink);margin:clamp(50px,6vw,90px) calc(-1*var(--gutter)) 0;padding:clamp(40px,4.6vw,68px) var(--gutter);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:16px;align-items:center}.home-art-panel{grid-column:1/5;display:flex;flex-direction:column;align-items:flex-start}
.home-art h2{margin:0}.home-art h2 em{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.04em;line-height:.95;font-size:clamp(52px,6.4vw,100px);display:block}
.home-btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}.home-btn{display:inline-flex;gap:8px;align-items:center;white-space:nowrap;border:1px solid var(--ink);color:var(--ink);background:transparent;border-radius:999px;padding:11px 20px;font:inherit;font-size:15px;cursor:pointer;transition:background .25s,color .25s,border-color .25s}.home-btn .direction-arrow{width:13px;height:13px;transition:transform .3s}.home-btn:hover{background:var(--ink);color:var(--h-room)}.home-btn.solid{background:var(--h-btn-bg);color:var(--h-btn-ink);border-color:var(--h-btn-bg)}.home-btn.solid:hover{background:transparent;color:var(--ink);border-color:var(--ink)}.home-btn.solid:hover .direction-arrow{transform:translate(2px,-2px)}#home-art-next:hover .direction-arrow{transform:rotate(90deg)}
.home-pieces{--h:clamp(300px,29vw,420px);grid-column:5/13;display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,64px);align-items:start;align-content:center;min-height:calc(var(--h) + clamp(20px,3vw,44px));margin-left:clamp(0px,2vw,30px);transition:opacity .35s,transform .35s}.home-pieces.out{opacity:0;transform:translateY(8px)}.home-piece{margin:0}.home-piece:nth-child(2){margin-top:clamp(20px,3vw,44px)}
.home-pc{display:block;width:min(100%,calc(var(--h)*var(--r)));margin-inline:auto;aspect-ratio:var(--r);padding:0;border:0;background:none;cursor:pointer}.home-tilt{display:block;width:100%;height:100%;transform:rotate(var(--a,0deg));transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .8s;filter:drop-shadow(0 12px 22px rgba(0,0,0,.16))}.home-tilt img{width:100%;height:100%;object-fit:cover;display:block}.home-pc:hover .home-tilt,.home-pc:focus-visible .home-tilt{transform:rotate(0deg);filter:drop-shadow(0 16px 28px rgba(0,0,0,.2))}.home-pc:focus-visible{outline:2px solid var(--ink);outline-offset:8px}
main:has(.home-art){padding-bottom:0}
#footer.foot{background:#0e0e0c;color:#f2f1e9;margin:0;border:0;padding:clamp(90px,11vw,170px) var(--gutter) 36px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:16px;row-gap:clamp(60px,8vw,110px);align-items:end}
#footer.foot .talk{grid-column:1/8;display:inline-flex;align-items:center;gap:.18em;font-size:clamp(52px,8.6vw,140px);letter-spacing:-.045em;line-height:.95;width:fit-content;color:inherit}#footer.foot .talk em{font-family:var(--serif);font-style:italic;font-weight:400}#footer.foot .talk .direction-arrow{width:.5em;height:.5em;flex:none;align-self:flex-start;margin-top:.12em;transition:transform .4s}#footer.foot .talk:hover .direction-arrow{transform:translate(.08em,-.08em)}
#footer.foot .foot-r{grid-column:9/13;display:flex;flex-direction:column;gap:30px;padding-bottom:12px}#footer.foot .mail{font-size:clamp(20px,1.9vw,28px);letter-spacing:-.025em;border-bottom:1px solid currentColor;padding-bottom:4px;width:fit-content;overflow-wrap:anywhere;color:inherit}#footer.foot .mail:hover{border-bottom-width:2px;padding-bottom:3px}
#footer.foot .soc{display:flex;gap:26px}#footer.foot .soc a{display:block;opacity:.85;transition:opacity .25s,transform .25s}#footer.foot .soc a:hover{opacity:1;transform:translateY(-3px)}#footer.foot .soc img{width:24px;height:24px}#footer.foot .copy{grid-column:1/-1;font-size:12px;color:#8f8f86;margin:0}#footer.foot a:focus-visible{outline:2px solid #f2f1e9;outline-offset:8px}
@media(max-width:900px){.home-hero{display:flex;flex-direction:column;align-items:stretch;min-height:0;gap:44px;padding:20px 0 56px}.home-hero-text{padding:0}.home-hero-photo{width:84%;align-self:flex-end;aspect-ratio:.85}
.home-featured .home-fgrid{display:block}.home-head{flex-wrap:wrap;margin-bottom:26px}.home-fp{display:block;padding-bottom:26px}.home-fimg{aspect-ratio:1.5}.home-fcap,.home-fp:nth-child(even) .home-fcap{display:block;padding:0;margin-top:14px}.home-fcap h3{font-size:clamp(22px,6vw,30px)}.home-fcap p{font-size:14px;max-width:none;white-space:normal}
.home-art{display:block;padding-top:44px;padding-bottom:44px}.home-art-panel{margin-bottom:28px}.home-pieces{--h:clamp(220px,58vw,360px);margin:0;min-height:calc(var(--h) + 24px);gap:clamp(14px,4vw,32px)}.home-piece:nth-child(2){margin-top:24px}
#footer.foot{display:flex;flex-direction:column;align-items:flex-start;gap:56px}#footer.foot .talk{font-size:min(14vw,100px);flex-wrap:wrap;max-width:100%}#footer.foot .foot-r{padding:0}}

/* Work v6 · cuadrícula con leve separación blanca entre proyectos, título con flecha negra y disciplina debajo; cuatro filtros */
.work-grid{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(10px,1.3vw,20px);row-gap:0}.work-grid[data-count="19"]>.project-card:last-child{grid-column:auto}
.work-grid .project-media{aspect-ratio:3/2;background:var(--soft)}.work-grid .project-media.web-cover{padding:5%!important;background:var(--soft)}.work-grid .project-media.web-cover img{object-fit:contain}
.work-grid .card-caption{display:flex;flex-direction:column;gap:5px;padding:14px 16px clamp(26px,3vw,40px) 0}.work-grid .card-caption h2{font-size:clamp(17px,1.6vw,24px);font-weight:500;letter-spacing:-.035em;line-height:1.1;margin:0}
.work-grid .card-caption h2 .direction-arrow{display:inline-block;width:.68em;height:.68em;margin-left:.45em;color:#000;transition:transform .3s}.work-grid .card-caption h2 .direction-arrow path{stroke-width:2.8}[data-theme=dark] .work-grid .card-caption h2 .direction-arrow{color:#fff}.project-card:hover .card-caption h2 .direction-arrow{transform:translate(4px,-4px)}
.work-grid .card-caption p{font-size:13px;color:var(--muted);padding:0}
@media(max-width:1000px){.work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.work-grid .card-caption{padding-right:10px}.work-grid .card-caption h2{font-size:15px}.work-grid .card-caption p{font-size:12px}.work-grid .card-caption h2 .direction-arrow{display:none}}

/* Work v6b: sin línea de disciplina bajo el título */
.work-grid .card-caption{padding-bottom:clamp(22px,2.6vw,34px)}
.work-grid .card-caption h2{font-weight:100;font-size:clamp(15px,1.3vw,20px)}
@media(max-width:600px){.work-grid .card-caption h2{font-size:14px}}

/* Project header v6: título grande, metadatos en negrita sobre valor, texto en tinta plena */
.project-heading{grid-template-columns:minmax(0,2.6fr) minmax(200px,1fr);gap:8%;padding:clamp(40px,4vw,30px) 0 clamp(44px,5vw,76px)}
.project-heading .back-link{font-size:16px;color:var(--ink);border-bottom-color:var(--ink);padding:10px 0 12px}.project-heading .back-link .direction-arrow{width:30px;height:30px}
.project-heading h1{font-size:60px;line-height:1;letter-spacing:-.04em;margin:clamp(28px,3vw,50px) 0 clamp(10px,1.4vw,16px);color:var(--ink)}
.project-subtitle{font-size:18px;line-height:1.4;margin:0;color:var(--ink)}
.project-summary .project-description{margin:0;font-size:18px;line-height:1.4;max-width:min(62ch,100%);margin-top:clamp(28px,3vw,50px);color:var(--ink)}
.project-heading .project-meta{font-size:13px;line-height:1.5;gap:15px;margin:clamp(56px,6.5vw,110px) 0 0}
.project-meta dt{font-size:clamp(15px,1.15vw,20px);font-weight:700;line-height:1.5;color:var(--ink);margin-bottom:0}
.project-meta dd{margin:0;font-size:clamp(15px,1.15vw,20px);line-height:1.45;color:var(--ink)}
@media(max-width:1000px){.project-heading{grid-template-columns:1fr;gap:32px}.project-heading .project-meta{margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}}
@media(max-width:600px){.project-heading h1{font-size:clamp(34px,11vw,44px)}.project-heading .back-link .direction-arrow{width:26px;height:26px}}
.project-subtitle{font-family:var(--serif);font-style:italic;font-size:21px;line-height:1.3;color:var(--muted)}

/* Case study v6: bloque de texto entre líneas (ref. 10): etiqueta a la izquierda, texto en sans ligera */
.project-gallery.has-story{row-gap:clamp(20px,2.4vw,36px)}
.project-gallery.has-story>.gallery-copy{grid-column:1/-1;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:35px;align-items:start;border-top:1px solid var(--muted);border-bottom:1px solid var(--muted);padding:clamp(22px,2.4vw,34px) 0;margin:clamp(24px,3.6vw,56px) 0;max-width:none;width:100%;font-family:var(--sans);font-size:inherit;line-height:inherit}
.gallery-copy .story-label{grid-column:1/4;font-size:15px;line-height:1.5;color:var(--ink)}
.project-gallery.has-story>.gallery-copy p{grid-column:4/11;margin:0;font-weight:100;font-size:clamp(16px,1.25vw,21px);line-height:1.45;letter-spacing:-.01em;color:var(--ink)}
@media(max-width:1000px){.project-gallery.has-story>.gallery-copy p{grid-column:4/-1}}
@media(max-width:600px){.project-gallery.has-story>.gallery-copy{display:block}.gallery-copy .story-label{display:block;margin-bottom:14px}.project-gallery.has-story>.gallery-copy p{font-size:16px}}
.filters button:hover,.view-switch button:hover{transform:none}
.work-intro h1{font-family:var(--serif);font-style:italic}
.page-intro.work-intro h1{font-style:italic}

/* About v7 · «Soy [retrato] Clara»: espacio creativo con cuadrícula continua + trayectoria, formación y reconocimientos (DESIGN.md §17) */
.about-c{--c-grid:rgba(27,28,25,.065);--c-card:#fff;--c-terra:#a24d3b;--c-butter:#f4e9a6;--c-shadow:0 14px 30px -22px rgba(27,28,25,.45),0 1px 4px rgba(27,28,25,.06);--hh:122px;--gs:56px}
[data-theme=dark] .about-c{--c-grid:rgba(242,241,233,.06);--c-card:#22251f;--c-terra:#a24d3b;--c-butter:#d8cc7c;--c-shadow:0 14px 30px -22px rgba(0,0,0,.9)}
@media(max-width:1000px){.about-c{--hh:105px}}
main:has(.about-c){padding-bottom:0}

/* cuadrícula continua: un único fondo para toda la página (no se reinicia entre secciones); el pie negro queda fuera */
.about-c{margin:0 calc(var(--gutter)*-1);padding:0 var(--gutter);background-image:linear-gradient(var(--c-grid) 1px,transparent 1px),linear-gradient(90deg,var(--c-grid) 1px,transparent 1px);background-size:var(--gs) var(--gs);background-position:-1px -1px}
.about-c em{font-family:var(--serif);font-style:italic;font-weight:400}
.c-label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);line-height:1.3;margin:0 0 10px;font-weight:400}
.c-mid{font-size:clamp(17px,1.35vw,21px);line-height:1.22;letter-spacing:-.02em;font-weight:500;margin:0}
.c-small{font-size:14px;line-height:1.45;color:var(--muted);margin:5px 0 0}
.c-big{font-size:clamp(22px,2.2vw,32px);line-height:1.12;letter-spacing:-.03em;font-weight:500;margin:0}
.c-card{background:var(--c-card);border:1px solid var(--edge);border-radius:16px;padding:16px 18px 18px;box-shadow:var(--c-shadow);position:relative;transform:rotate(var(--r,0deg));transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .3s;color:inherit}
.c-card:hover,.c-card:focus-visible{transform:rotate(0deg) translateY(-4px)}
.c-dark{background:#1b1c19;color:#f2f1e9;border-color:rgba(242,241,233,.2)}.c-dark .c-label,.c-dark .c-small{color:rgba(242,241,233,.7)}
[data-theme=dark] .c-dark{background:#0e0e0c}

/* ---------- 1 · espacio creativo ---------- */
.c-hero{position:relative;container-type:size;height:max(640px,min(calc(var(--vh,100svh) - var(--hh) - 44px),64vw))}
.c-head{position:absolute;left:52cqw;top:35cqh;transform:translate(-50%,-50%);z-index:2;text-align:center}
.c-head h1{display:flex;align-items:center;justify-content:center;gap:.12em;font-size:clamp(54px,11cqw,190px);line-height:1;letter-spacing:-.045em;font-weight:400;margin:0;white-space:nowrap}
.c-head h1 .sans{font-weight:400}.c-head h1 em{font-weight:400;letter-spacing:-.03em}
/* retrato circular entre las dos palabras; encuadre amplio (cabeza, hombros y parte del busto) */
.c-ph{display:block;flex:none;width:.98em;height:.98em;border-radius:50%;overflow:hidden;position:relative;background:#e4e4e0;transform:translateY(.03em)}
.c-ph img{position:absolute;width:158%;max-width:none;height:auto;left:-21%;top:-32%;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.c-head:hover .c-ph img{transform:scale(1.05)}
.c-art{display:block;position:absolute;padding:0;border:0;background:none;cursor:zoom-in;transform:rotate(var(--r));transition:transform .5s cubic-bezier(.2,.7,.2,1),filter .4s;z-index:1}
.c-art img{display:block;width:100%;height:auto;box-shadow:0 14px 24px -14px rgba(27,28,25,.38),0 1px 4px rgba(27,28,25,.1);transition:box-shadow .4s}
.c-art:hover,.c-art:focus-visible{transform:rotate(0) translateY(-5px)}.c-art:hover img,.c-art:focus-visible img{box-shadow:0 22px 30px -16px rgba(27,28,25,.45),0 1px 4px rgba(27,28,25,.12)}
.c-art:focus-visible{outline:2px solid var(--ink);outline-offset:6px}
.c-art1{left:1.5cqw;top:4cqh;width:clamp(190px,19.5cqw,300px)}
.c-art2{left:82.5cqw;top:3cqh;width:clamp(105px,10.5cqw,165px)}
.c-art3{left:87cqw;top:56cqh;width:clamp(100px,9.6cqw,150px)}
.c-int{position:absolute;left:3cqw;top:58cqh;width:clamp(300px,26cqw,380px)}
.c-book{position:absolute;left:31cqw;top:71cqh;width:clamp(240px,19cqw,280px)}
.c-music{position:absolute;left:55cqw;top:60cqh;width:clamp(250px,21cqw,300px)}
.c-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.c-chips li{display:inline-flex;align-items:center;border:1px solid var(--edge);border-radius:30px;padding:6px 14px;font-size:14px;line-height:1.2;background:var(--paper);transition:background .2s,color .2s,transform .25s}.c-chips li:hover{background:var(--ink);color:var(--paper);transform:translateY(-2px)}
.c-music{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;padding:12px 16px 12px 12px;text-decoration:none}
.c-sleeve{display:block;width:clamp(76px,6.6vw,96px);height:auto;aspect-ratio:1;border-radius:10px;object-fit:cover;box-shadow:0 8px 16px -8px rgba(0,0,0,.6);transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.c-music:hover .c-sleeve{transform:rotate(-4deg) scale(1.04)}
.c-music .direction-arrow{position:absolute;right:12px;top:12px;width:12px;height:12px;opacity:.7;transition:transform .3s,opacity .3s}.c-music:hover .direction-arrow{transform:translate(3px,-3px);opacity:1}
.c-music .c-label{margin-bottom:6px}
.c-book{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;padding:12px 16px 12px 12px}
.c-cover{width:clamp(56px,5vw,72px);flex:none;perspective:400px}.c-cover img{display:block;width:100%;height:auto;aspect-ratio:299/500;border-radius:3px 6px 6px 3px;object-fit:cover;box-shadow:0 8px 16px -8px rgba(27,28,25,.55);transform-origin:left center;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.c-book:hover .c-cover img{transform:rotateY(-22deg)}.c-book .c-label{margin-bottom:6px}

/* ---------- 2 · información complementaria ---------- */
.c-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(20px,3vw,48px);row-gap:clamp(44px,5vw,72px);padding:clamp(28px,3.5vw,56px) 0 clamp(80px,9vw,140px);align-items:stretch}
.c-path,.c-edu{display:flex;flex-direction:column;min-width:0}.c-recog{grid-column:1/-1}
.c-info ul{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.c-path ul{flex:1;grid-template-rows:auto 1fr}.c-edu ul{flex:1;grid-template-rows:1fr 1fr}
.c-entry{display:grid;gap:6px;align-content:center;border:1px solid var(--edge);border-radius:14px;padding:16px 18px;background:var(--paper);transform:rotate(var(--r));transition:transform .4s cubic-bezier(.2,.7,.2,1),background .25s}
.c-entry:hover{transform:rotate(0) translateY(-3px);background:var(--c-card)}
.c-k{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);line-height:1.35}
.c-now{border-color:var(--ink);padding:20px 22px}.c-now .c-mid{font-size:clamp(22px,2.1vw,30px);letter-spacing:-.03em}.c-now .c-k{color:var(--ink)}
.c-now .c-k i{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--c-terra);margin-right:8px;vertical-align:1px}
@media(prefers-reduced-motion:no-preference){.c-now .c-k i{animation:pulse 2.4s ease-in-out infinite}}
@keyframes pulse{50%{opacity:.35}}
.c-sum{font-size:14px;line-height:1.5;margin:10px 0 0;max-width:62ch}
.c-recog-in{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(20px,3vw,48px);align-items:stretch}
.c-recog .c-prize{display:flex;flex-direction:column;justify-content:center;background:var(--c-terra);color:#fff;border-color:transparent;padding:22px 26px 24px}.c-prize .c-k{color:rgba(255,255,255,.88)}.c-prize .c-small{color:rgba(255,255,255,.9)}.c-prize .c-big{margin:10px 0 8px}
.c-prize .direction-arrow{position:absolute;right:20px;top:20px;width:18px;height:18px;transition:transform .35s}.c-prize:hover .direction-arrow{transform:translate(4px,-4px)}
.c-clips{display:grid;gap:12px;grid-auto-rows:1fr}
.c-clip{display:flex;flex-direction:column;justify-content:center;gap:7px;height:100%;border:1px solid var(--edge);border-radius:12px;padding:14px 16px;background:var(--paper);transform:rotate(var(--r));transition:transform .4s cubic-bezier(.2,.7,.2,1),background .25s,color .25s}.c-clip:hover{transform:rotate(0) translateY(-3px);background:var(--c-butter);color:#1b1c19}.c-clip:hover .c-k{color:rgba(27,28,25,.65)}
.c-clip .c-t{font-size:14px;line-height:1.3;letter-spacing:-.01em}
.c-card:focus-visible,.c-clip:focus-visible{outline:2px solid var(--ink);outline-offset:5px}
@media(prefers-reduced-motion:no-preference){.c-rv{opacity:0;translate:0 22px;transition:opacity .7s,translate .8s cubic-bezier(.2,.7,.2,1),transform .4s cubic-bezier(.2,.7,.2,1),background .25s}.c-rv.in{opacity:1;translate:0 0}}
@media(prefers-reduced-motion:reduce){.c-card,.c-art,.c-art img,.c-entry,.c-clip,.c-cover img,.c-sleeve,.c-ph img,.c-chips li{transition:none!important}.c-card:hover,.c-card:focus-visible,.c-art:hover,.c-art:focus-visible,.c-entry:hover,.c-clip:hover{transform:rotate(var(--r,0deg))}}

/* ---------- tablet / móvil ---------- */
@media(max-width:1180px){
 .c-hero{container-type:normal;height:auto;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:8px;row-gap:22px;align-items:start;padding:22px 0 44px}
 .c-hero>*{position:static;margin:0}
 .c-head{grid-column:1/-1;grid-row:1;text-align:left;transform:none;padding:4px 0 14px}
 .c-head h1{justify-content:flex-start;font-size:min(15.8vw,120px);gap:.16em}
 .c-ph{width:1.08em;height:1.08em;transform:translateY(.04em)}
 /* collage editorial de las tres obras: dos columnas escalonadas, sin solapamientos */
 .c-art{width:auto;max-width:none}
 .c-art1{grid-column:1/8;grid-row:2;justify-self:start;width:100%;max-width:420px}
 .c-art2{grid-column:8/13;grid-row:2/4;justify-self:end;width:100%;max-width:240px;margin-top:clamp(36px,12vw,90px)}
 .c-art3{grid-column:2/6;grid-row:3;justify-self:start;width:100%;max-width:210px;margin-top:6px}
 /* tarjetas escalonadas: anchuras, desplazamientos y giros distintos */
 .c-int{grid-column:1/12;grid-row:4;width:auto;margin-top:12px}
 .c-music{grid-column:3/13;grid-row:5;width:auto;--r:1.8deg}
 .c-book{grid-column:2/11;grid-row:6;width:auto;--r:-2deg}
}
@media(min-width:601px) and (max-width:1180px){.c-hero{row-gap:30px}}
@media(max-width:1000px){
 .c-info{display:flex;flex-direction:column;gap:30px;padding-top:12px;padding-bottom:64px}.c-path ul,.c-edu ul{grid-template-rows:none}
 .c-recog-in{display:flex;flex-direction:column;gap:14px;align-items:stretch}
}
@media(max-width:600px){.c-sleeve{width:84px}.c-cover{width:62px}.c-int{grid-column:1/13}.c-music{grid-column:3/13}.c-book{grid-column:1/11}.c-info ul{gap:10px}}

/* Contact v7 · «¿Hablamos?» compacta en dos columnas 45/55, formulario editorial con líneas inferiores y cierre propio (sin el pie negro global) (DESIGN.md §19) */
.contact-a{--ca-acc:#a24d3b;--ca-err:#a72b20;--ca-rule:color-mix(in srgb,var(--ink) 38%,transparent);--ca-lines:color-mix(in srgb,var(--ink) 20%,transparent);--hh:127px}
[data-theme=dark] .contact-a{--ca-acc:#e29a86;--ca-err:#f49a8c}
@media(max-width:1000px){.contact-a{--hh:105px}}
main:has(.cb){padding-bottom:0}
.contact-a em{font-family:var(--serif);font-style:italic;font-weight:400}

/* una sola pieza: altura = viewport - cabecera; columnas 45 / 55; copyright discreto abajo */
.cb{position:relative;display:flex;flex-direction:column;min-height:calc(var(--vh,100svh) - var(--hh));padding-top:clamp(28px,7.5vh,96px)}

.cb-grid{flex:1;display:grid;grid-template-columns:45fr 55fr;grid-template-rows:auto 1fr auto auto;column-gap:clamp(32px,5vw,88px);min-height:0}
.cb-lead{grid-column:1;grid-row:1;container-type:inline-size;min-width:0}
.cb-contact{display:contents}.ca-mail{grid-column:1;grid-row:3;justify-self:start;align-self:baseline;margin-top:clamp(14px,2.6vh,48px)}.ca-soc{grid-column:1;grid-row:4;margin-top:clamp(10px,1.8vh,24px)}
.ca-form{grid-column:2;grid-row:1/5;display:grid;grid-template-rows:subgrid;min-width:0}.ca-fields{grid-row:1/3;align-self:start;display:flex;flex-direction:column;gap:clamp(26px,4.2vh,44px);min-width:0}.ca-actions{grid-row:3;justify-self:end;align-self:baseline;margin-top:clamp(14px,2.6vh,48px)}.ca-done{grid-column:2;grid-row:1/4;align-self:start}
.cb-lead h1{margin:0 0 0 -.035em;font-family:var(--serif);font-weight:400;font-size:min(16cqw,22vh);line-height:.88;letter-spacing:-.05em;white-space:nowrap}
.cb-lead h1 em{display:block}
.ca-intro{margin:clamp(14px,3vh,34px) 0 0;max-width:28ch;font-size:clamp(15px,1.15vw,18px);line-height:1.4;letter-spacing:-.015em;color:var(--muted)}
.ca-copy{margin:clamp(6px,1.6vh,26px) 0 0;padding:8px 0 clamp(10px,2vh,22px);font-size:12px;color:var(--muted)}
.ca-mail{width:fit-content;max-width:100%;overflow-wrap:anywhere;font-size:clamp(21px,2.35vw,35px);letter-spacing:-.03em;line-height:1.15;color:var(--ink);padding-bottom:5px;background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;transition:background-size .3s}
.ca-mail:hover,.ca-mail:focus-visible{background-size:100% 3px}.ca-mail:focus-visible{outline:2px solid var(--ink);outline-offset:6px}
.ca-soc{display:flex;gap:18px;margin-left:-5px}
.ca-soc a{display:grid;place-items:center;width:34px;height:34px;transition:transform .3s}
.ca-soc a:hover{transform:translateY(-3px)}.ca-soc a:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.ca-soc img{width:24px;height:24px;display:block;filter:invert(1)}
[data-theme=dark] .ca-soc img{filter:none}

/* formulario: nombre y correo en la misma fila; el mensaje ocupa el resto de la altura disponible */
.ca-form[hidden]{display:none}
.cb-row{display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(20px,2.6vw,44px)}
.ca-field{position:relative;display:block;min-width:0}
.ca-field label{display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 2px;font-weight:400;transition:color .3s}
.ca-field:focus-within label{color:var(--ca-acc)}
.ca-box{position:relative}
.contact-a input:not(.form-trap input),.contact-a textarea{display:block;width:100%;margin:0;border:0;border-bottom:1px solid var(--ca-rule);border-radius:0;background:transparent;padding:8px 0 10px;font-family:var(--sans);font-size:clamp(20px,1.75vw,26px);letter-spacing:-.02em;line-height:1.25;color:var(--ink);outline:0;box-shadow:none;-webkit-appearance:none;appearance:none}
.contact-a input:-webkit-autofill{-webkit-text-fill-color:var(--ink);transition:background-color 9999s}
.ca-line{position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--ca-acc);transform:scaleX(0);transform-origin:left;transition:transform .55s cubic-bezier(.2,.7,.2,1);pointer-events:none}
.ca-field:focus-within .ca-line{transform:scaleX(1)}
.contact-a textarea{height:160px;min-height:160px;resize:none;overflow:hidden;line-height:40px;padding:0;border-bottom:0;font-size:clamp(19px,1.55vw,23px);background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 39px,var(--ca-lines) 39px,var(--ca-lines) 40px);background-attachment:local;}
.ca-meta{display:flex;justify-content:space-between;align-items:baseline;gap:20px}
/* los mensajes de error no ocupan alto: se superponen bajo la línea del campo */
.ca-f1 .ca-err,.ca-f2 .ca-err{position:absolute;left:0;right:0;top:100%;margin:5px 0 0}
.ca-err{margin:7px 0 0;min-height:1.4em;font-size:13px;line-height:1.4;color:var(--ca-err)}
.ca-field.is-bad label{color:var(--ca-err)}.ca-field.is-bad .ca-line{transform:scaleX(1);background:var(--ca-err)}
.ca-field.is-bad input,.ca-field.is-bad textarea{border-bottom-color:var(--ca-err)}
.ca-actions{display:flex;position:relative}.ca-actions #form-status{position:absolute;right:calc(100% + 24px);bottom:5px;width:max-content;max-width:min(42ch,26vw);text-align:right;line-height:1.3}.ca-f3 .ca-meta{position:relative;height:0}.ca-f3 .ca-err{position:absolute;left:0;right:0;top:0;margin:5px 0 0;min-height:0}
#form-status{margin:0;font-size:14px;line-height:1.4;color:var(--muted);min-height:1.4em;max-width:42ch}
#form-status.is-err{color:var(--ca-err)}
.ca-send{display:inline-flex;align-items:baseline;gap:.45em;margin:0;padding:0 0 5px;border:0;border-radius:0;background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;color:var(--ink);font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(21px,2.35vw,35px);letter-spacing:-.03em;line-height:1.15;cursor:pointer;width:auto;min-height:0;transition:background-size .3s}
.ca-send:hover,.ca-send:focus-visible{background-size:100% 3px}
.ca-send .direction-arrow{display:inline-block;flex:none;width:.7em;height:.7em;color:inherit;}.ca-send .direction-arrow path{stroke-width:2.8}
.ca-send:focus-visible{outline:2px solid var(--ink);outline-offset:6px}
.ca-send:disabled{cursor:progress}.ca-send.is-busy{opacity:.6}

/* confirmación (solo tras respuesta verificada del servidor), en la columna del formulario */
.ca-done{align-self:center;min-width:0}
.ca-done[hidden]{display:none}
.ca-done h2{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(60px,9vw,150px);line-height:.9;letter-spacing:-.045em;outline:0}
.ca-done p{margin:20px 0 0;font-size:clamp(18px,1.6vw,24px);color:var(--muted)}
.ca-again{margin:24px 0 0;padding:0 0 4px;border:0;border-bottom:1px solid currentColor;border-radius:0;background:transparent;color:var(--ink);font:inherit;font-size:17px;cursor:pointer;width:auto;min-height:0}
.ca-again:focus-visible{outline:2px solid var(--ca-acc);outline-offset:6px}


/* entrada suave */
@media(prefers-reduced-motion:no-preference){.ca-rv{opacity:0;transform:translateY(16px);transition:opacity .8s var(--d,0ms),transform .9s cubic-bezier(.2,.7,.2,1) var(--d,0ms)}.ca-rv.in{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.ca-line,.ca-send,.ca-soc a,.ca-mail,.ca-field label,.ca-field label{transition:none!important}}

/* ---------- tablet estrecha / móvil: columnas apiladas, scroll natural ---------- */
@media(max-width:1000px){
 .cb{min-height:0;padding-top:34px}
 .cb-grid{display:flex;flex-direction:column;gap:38px}
 .cb-lead,.ca-form,.ca-done,.cb-contact{grid-column:auto;grid-row:auto}
 .cb-lead h1{font-size:min(15vw,170px);margin-left:-.03em}
 html[lang=en] .cb-lead h1{font-size:min(13.4vw,150px)}
 .ca-intro{max-width:36ch;font-size:16px}
 .cb-row{grid-template-columns:1fr;row-gap:30px}
 .ca-copy{margin-top:34px}
 .ca-form{display:flex;flex-direction:column;gap:30px}.ca-fields{gap:30px}.cb-contact{display:flex;flex-direction:column;gap:16px;align-items:flex-start}.ca-mail,.ca-soc,.ca-actions{margin-top:0;align-self:auto}.ca-mail{font-size:clamp(20px,5.8vw,26px)}
 .ca-actions{justify-self:stretch;flex-direction:column;gap:12px}.ca-actions #form-status{position:static;width:auto;max-width:none;text-align:left}.ca-f3 .ca-meta{height:auto}.ca-f3 .ca-err{position:static;min-height:1.4em}
 .ca-send{justify-content:space-between;width:100%;font-size:clamp(20px,5.8vw,26px)}
 .ca-f1 .ca-err,.ca-f2 .ca-err{position:static}
}
#footer[hidden]{display:none!important}

/* Case studies editoriales (clases .cs-*; solo proyectos con `editorial.blocks`): bloques sobre una retícula común. Referencia: «Comprendiendo la sordoceguera». */
html{overflow-x:clip}
.cs{--sp:clamp(72px,8.4vw,136px);--g:var(--gutter);--gap:16px;--row:clamp(48px,5.6vw,88px)}
.cs-mt-sp{margin-top:var(--sp)}.cs-mt-row{margin-top:var(--row)}.cs-mt-flat{margin-top:clamp(48px,6vw,96px)}.cs-mt-tight{margin-top:clamp(36px,4.4vw,64px)}.cs-mt-hero{margin-top:clamp(30px,3.6vw,54px)}
.cs .cs-bleed{margin-inline:calc(var(--g) * -1);width:auto}
.cs figure{margin:0}
.cs img{display:block;width:100%;height:auto}
.cs-f{position:relative}
.cs-f button{display:block;width:100%;padding:0;border:0;background:none;color:inherit;cursor:zoom-in;position:relative}
.cs-f button:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.cs-crop{position:relative;display:block;overflow:hidden}
.cs-crop img{position:absolute;max-width:none}
/* pies de imagen: un solo tratamiento */
.cs-cap{margin:12px 0 0;font-size:14px;line-height:1.45;letter-spacing:0;color:var(--muted);max-width:36ch}
/* 01 introducción: titular + descripción en la misma retícula, imagen panorámica debajo */
.cs-top{display:grid;grid-template-columns:minmax(0,40fr) minmax(0,12fr) minmax(0,48fr);column-gap:0;align-items:center;padding:clamp(16px,2vw,28px) 0 clamp(30px,3.8vw,56px)}
.cs-top .back-link{grid-column:1;justify-self:start;padding:6px 0}
.cs-meta{grid-column:3;margin:0;font-size:13px;line-height:1.4;color:var(--muted)}
.cs-head{display:grid;grid-template-columns:minmax(0,40fr) minmax(0,12fr) minmax(0,48fr);column-gap:0;align-items:end}
.cs-title{grid-column:1;margin:0;font-family:var(--serif);font-weight:400;font-size:min(5.4vw,82px);line-height:.95;letter-spacing:-.045em}
.cs-title span,.cs-title em{display:block}
.cs-title em{font-style:italic}
.cs-title-1 span,.cs-title-1 em{display:inline}
.cs-tw{grid-column:1}
.cs-pw{grid-column:3;padding-bottom:.35em}
.cs-sub{margin:clamp(14px,1.4vw,20px) 0 0;font-size:clamp(15px,1.25vw,18px);line-height:1.4;letter-spacing:-.005em;color:var(--muted)}
/* cabecera con créditos: titular y subtítulo a la izquierda; descripción y créditos apilados a la derecha */
.cs-head-cr{align-items:start}
.cs-hcred{margin:clamp(26px,2.8vw,40px) 0 0;display:grid;row-gap:16px}
.cs-hcred dt{margin:0;font-size:clamp(14px,1.1vw,16px);font-weight:700;line-height:1.4;color:var(--ink)}
.cs-hcred dd{margin:0;font-size:clamp(14px,1.1vw,16px);line-height:1.4;color:var(--ink)}
.cs-p{margin:0;max-width:36em;font-size:clamp(17px,1.4vw,20px);line-height:1.5;letter-spacing:-.008em}
.cs .cs-hero{height:var(--h,clamp(280px,33vw,480px));overflow:hidden;background:#fcfcf9}
.cs-hero button,.cs-hero img{height:100%}
.cs-hero img{object-fit:cover;object-position:var(--pos,50% 45%)}
/* banda a ancho completo con la proporción indicada (la imagen se recorta por los márgenes oscuros) */
.cs-band{overflow:hidden;background:var(--bg,#111);aspect-ratio:var(--ar,2.4)}
.cs-band button,.cs-band img{height:100%}
.cs-band img{object-fit:cover;object-position:var(--pos,50% 50%)}

/* bloque titular + texto */
.cs-row{display:grid;grid-template-columns:minmax(0,40fr) minmax(0,12fr) minmax(0,48fr);column-gap:0;align-items:end}
.cs-lead{grid-column:1;margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(30px,3.45vw,52px);line-height:1.05;letter-spacing:-.04em;text-wrap:balance}
.cs-lw{grid-column:1}
.cs-row-top{align-items:start}
.cs-row-n .cs-cols{max-width:30em}
.cs-row-s .cs-lead{font-size:clamp(26px,2.9vw,44px)}
.cs-row-top .cs-cols{padding-top:6px}
.cs-cite{margin:clamp(14px,1.4vw,20px) 0 0;font-size:14px;line-height:1.4;color:var(--muted)}
.cs-cols{grid-column:3;display:grid;row-gap:18px;max-width:38em}
.cs-cols p{margin:0;font-size:clamp(15px,1.25vw,18px);line-height:1.55;color:var(--muted)}
/* infografía principal: sobre el fondo blanco de la página, recortada a la hoja, sin sombra ni contenedor */
.cs-main .cs-crop{box-shadow:0 0 0 1px var(--edge)}
/* rejilla libre de 12 columnas: cada elemento declara columna y fila (--c, --r; en tablet --ct, --rt) */
.cs-row-b{grid-template-columns:minmax(0,44fr) minmax(0,10fr) minmax(0,46fr);align-items:start}
.cs-row-b .cs-lead{font-size:clamp(26px,2.6vw,38px);line-height:1.08;max-width:15em}
.cs-row-b .cs-cols{max-width:32em;padding-top:8px}
.cs-row-b .cs-cols p{font-size:clamp(16px,1.4vw,20px);line-height:1.5;color:var(--fg,inherit)}
.cs-pair{display:flex;align-items:stretch}
.cs-pair .cs-f{flex:1 1 0;min-width:0;margin:0}
.cs-pair .cs-f button,.cs-pair .cs-f img{display:block;width:100%;height:100%;object-fit:cover}
.cs-stm{padding-block:clamp(48px,7vw,112px)}
.cs-stm h2{margin:0;max-width:26em;font-family:var(--serif);font-weight:400;font-size:clamp(28px,3.4vw,50px);line-height:1.1;letter-spacing:-.04em;text-wrap:balance}
.cs-gi.cs-m-s{margin-left:clamp(0px,3.6vw,56px)}.cs-g3{align-items:start}.cs-g3 .cs-crop{box-shadow:none}
.cs-dk{background:var(--dkbg,#05203d)}.cs-ne .cs-g .cs-crop{box-shadow:none}
.cs-dk-in{padding:clamp(56px,8vw,120px) var(--g)}
.cs-dk-row{display:flex;max-width:1304px;margin-inline:auto}
.cs-dk-row .cs-f{flex-shrink:1;flex-basis:0;min-width:0;margin:0}
.cs-dk-one{margin:clamp(56px,7vw,112px) 0 0 7.51%;width:89.5%}
.cs-dk-one .cs-f{margin:0}
.cs-dk .cs-f button,.cs-dk .cs-f img{display:block;width:100%}
.cs-g{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);row-gap:var(--row);align-items:end}
.cs-gi{grid-column:var(--c);grid-row:var(--r);min-width:0}
.cs-note{margin:0;padding-left:clamp(12px,2vw,32px);font-size:clamp(14px,1.1vw,16px);line-height:1.45;color:var(--muted);max-width:26ch}
.cs-g .cs-crop{box-shadow:0 0 0 1px var(--edge)}

/* dos columnas: protagonista (con su nota alineada abajo) a la izquierda y complementarias apiladas a la derecha */
.cs-split{display:grid;column-gap:var(--gap);align-items:stretch}
.cs-sp{display:flex;flex-direction:column;min-width:0}
.cs-sp-l{justify-content:space-between;gap:24px}
.cs-sp-r{gap:var(--gap)}
.cs-sp-l .cs-note{padding-left:0;max-width:32ch;font-size:clamp(14px,1.15vw,17px)}
/* texto suelto y rejilla de igual altura: una protagonista a la izquierda y secundarias a la derecha (la proporción de columnas sale de las proporciones de las imágenes) */
.cs-supp{margin:0;max-width:30ch;font-size:clamp(18px,1.7vw,25px);line-height:1.28;letter-spacing:-.018em}
.cs-stack{display:grid;column-gap:var(--gap);align-items:start}
.cs-sb{display:grid;row-gap:var(--gap)}
.cs-sb .cs-crop{box-shadow:none}
.cs-excap{grid-column:1}

/* 04 vídeo: titular de sección a la izquierda y reproductor 16:9 de 8 columnas, alineados arriba */
.cs-film{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);align-items:start}
.cs-ft{grid-column:1/5;display:flex;flex-direction:column;align-items:flex-start;gap:18px;padding-right:clamp(0px,2vw,32px)}
.cs-vk{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(26px,2.5vw,36px);line-height:1.08;letter-spacing:-.035em}
.cs-ft .film-link{margin:0}
.cs-vid{grid-column:5/13;margin:0;width:100%}
.cs .project-pagination{margin-top:var(--sp)}
/* créditos: solo si intervienen más personas; función en negrita y nombres debajo, en la columna de texto */
.cs-credits{display:grid;grid-template-columns:minmax(0,40fr) minmax(0,12fr) minmax(0,48fr)}
.cs-credits dl{grid-column:3;margin:0;display:grid;row-gap:24px}
.cs-credits dt{margin:0;font-size:clamp(15px,1.15vw,18px);font-weight:700;line-height:1.4;color:var(--ink)}
.cs-credits dd{margin:0;font-size:clamp(15px,1.15vw,18px);line-height:1.45;color:var(--ink)}

/* visor ampliable (sobre el <dialog id="viewer"> del portfolio) */
dialog:not(.vz) .vz-stage{display:contents}
.vz-bar[hidden]{display:none}
dialog.vz figure{gap:12px}
dialog.vz .vz-stage{flex:1;min-height:0;width:100%;display:flex;overflow:auto;overscroll-behavior:contain;outline:0;scrollbar-width:thin}
dialog.vz .vz-stage:focus-visible{outline:2px solid currentColor;outline-offset:-2px}
dialog.vz .vz-stage img{width:auto;height:auto;max-width:none;object-fit:contain;margin:auto;flex:none;cursor:zoom-in;user-select:none;-webkit-user-drag:none}
dialog.vz .vz-stage.zoomed img{cursor:grab}
dialog.vz .vz-stage.grab img{cursor:grabbing}
dialog.vz figcaption{flex:none}
dialog.vz .vz-bar{position:absolute;left:50%;top:6px;transform:translateX(-50%);display:flex;align-items:center;gap:4px;padding:4px;border:1px solid var(--edge);background:var(--paper);border-radius:999px;z-index:3}
dialog.vz .vz-bar button{position:static;width:auto;min-width:36px;height:36px;padding:0 12px;border:0;border-radius:999px;background:none;color:inherit;font-size:20px;line-height:1;cursor:pointer}
dialog.vz .vz-bar .vz-fit{font-size:13px}
dialog.vz .vz-bar button:hover{background:color-mix(in srgb,currentColor 10%,transparent)}
dialog.vz .vz-bar button:focus-visible{outline:2px solid currentColor;outline-offset:1px}
dialog.vz .vz-val{min-width:46px;text-align:center;font-size:12px;color:var(--muted)}
dialog.vz .close-viewer{z-index:4}

/* tablet */
@media(max-width:1000px) and (min-width:801px){
 .cs-gi{grid-column:var(--ct,var(--c));grid-row:var(--rt,var(--r))}
 .cs-ft{grid-column:1/13;flex-direction:row;align-items:baseline;justify-content:space-between;padding:0 0 18px}
 .cs-vid{grid-column:1/13}
}
/* móvil: composición propia */
@media(max-width:800px){
 .cs{--sp:60px;--row:40px}
 .cs-mt-flat{margin-top:36px}.cs-mt-row{margin-top:56px}.cs-mt-tight{margin-top:28px}.cs-mt-hero{margin-top:26px}
 .cs-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 16px;padding:12px 0 22px}
 .cs-head{display:block}
 .cs-title{font-size:12.4vw}
 .cs-head-cl{display:flex;flex-direction:column}.cs-head-cl .cs-tw{display:contents}.cs-head-cl .cs-title{order:1}.cs-head-cl .cs-pw{order:2}.cs-head-cl .cs-hcred{order:3}
 .cs-pw{padding:0}.cs-p{margin-top:20px;padding:0;font-size:17px}.cs-sub{margin:14px 0 0;font-size:16px}.cs-hcred{margin-top:26px;row-gap:14px}
 .cs .cs-hero{height:auto;aspect-ratio:5/4}
 .cs-row{display:block}
 .cs-lead{font-size:clamp(28px,8.6vw,38px)}
 .cs-cols{margin-top:20px}
 .cs .cs-main{margin-inline:calc(var(--g) * -1)}
 .cs-main .cs-crop{box-shadow:none}
 .cs-g{display:block}
 .cs-gi+.cs-gi{margin-top:var(--row)}
 .cs-gi.cs-m-r{margin-right:calc(var(--g) * -1)}
 .cs-gi.cs-m-l{margin-left:calc(var(--g) * -1)}
 .cs-gi.cs-m-i{margin-left:14%}
 .cs-gi.cs-m-a{width:90%;margin-left:calc(var(--g) * -1)}
 .cs-gi.cs-m-b{width:90%;margin-left:auto;margin-right:calc(var(--g) * -1)}
 .cs-gi:has(.cs-note){margin-top:18px}
 .cs-note{padding:0;max-width:none;font-size:15px}
 .cs-supp{font-size:19px}
 .cs-split{display:block!important}
 .cs-sp-l .cs-f{margin-inline:calc(var(--g) * -1)}
 .cs-sp-l .cs-note{margin-top:18px;max-width:none;font-size:15px}
 .cs-sp-r{margin-top:28px}.cs-sp-r .cs-f:first-child{width:88%}.cs-sp-r .cs-f+.cs-f{width:76%;align-self:flex-end}
 .cs-stack{display:flex;flex-direction:column;grid-template-columns:none!important}
 .cs-sa{order:1;margin:0 calc(var(--g) * -1)}
 .cs-excap{order:2;margin-top:12px}
 .cs-sb{order:3;margin-top:28px;grid-template-columns:1fr 1fr;column-gap:12px;align-items:end}
 .cs-sb-col{display:flex;flex-direction:column;gap:20px}.cs-sb-col .cs-f{width:88%}.cs-sb-col .cs-f+.cs-f{width:76%;align-self:flex-end}
 .cs-band{aspect-ratio:var(--mar,var(--ar,2.4))}
 .cs-film{display:block}
 .cs-ft{flex-direction:row;align-items:baseline;justify-content:space-between;padding:0 0 16px;gap:12px}
 .cs-vk{font-size:22px;white-space:nowrap}.cs-ft .film-link{white-space:nowrap}
 .cs-vid{margin:0 calc(var(--g) * -1);width:auto}
 .cs-credits{display:block}.cs-credits dl{row-gap:20px}
}

@media (max-width:800px){.cs-row-b{display:block}.cs-row-b .cs-lead{font-size:clamp(26px,7.4vw,34px)}.cs-row-b .cs-cols{margin-top:18px;padding-top:0}.cs-pair{display:block}.cs-g3{display:grid;grid-template-columns:1fr 1fr}.cs-g3{gap:12px}.cs-g3 .cs-gi{grid-column:auto!important;grid-row:auto!important;margin:0!important}.cs-g3 .cs-gi:first-child{grid-column:1/-1!important}.cs-stm h2{font-size:clamp(26px,7vw,34px)}}
@media (max-width:800px){.cs-dk-one{margin-left:0;width:auto}.cs-dk-row{display:block}.cs-dk-in{padding-block:48px}.cs-dk-one{margin-top:48px}}
@media (max-width:1000px){.cs-gi.cs-m-s{margin-left:0}}
.cs-pair-g{gap:var(--gap)}.cs-pair-g .cs-f{min-width:0}
@media (max-width:800px){.cs-pair-g.cs-pair{display:grid;grid-template-columns:1fr 1fr}.cs-pair-g .cs-f{grid-column:auto}.cs-pair-g.cs-pair-w1{display:block}.cs-pair-g.cs-pair-w1 .cs-f+.cs-f{margin-top:var(--gap)}}
@media (max-width:800px){.cs-strip .cs-f{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-right:calc(var(--g) * -1)}.cs-strip .cs-f button{display:block;width:var(--sw,900px);padding-right:var(--g);box-sizing:content-box}.cs-strip .cs-f img{width:var(--sw,900px);max-width:none}.cs-strip .cs-cap{margin-top:8px}}
.cs-web .cs-f img,.cs-web .cs-crop{box-shadow:0 0 0 1px var(--edge)}.cs-web .cs-band img{box-shadow:none}
.cs-bz .cs-band img{width:101.8%;max-width:none;object-position:0 0}
@media (max-width:800px){.cs-web .cs-sb{display:block;margin-top:28px}.cs-web .cs-sb-col .cs-f{width:62%;margin-inline:auto}}
@media (max-width:800px){.cs-web .cs-sb-col .cs-f button{display:block;width:100%}}
@media (max-width:800px){.cs-stack .cs-sb{align-self:stretch}}
.cs-dk-gap.cs-dk-row{gap:var(--gap)}.cs-dk-gap.cs-dk-one{margin-left:auto;margin-right:auto;width:100%;max-width:1304px}.cs-dk-one.cs-dk-gap{margin-top:0;margin-bottom:clamp(40px,5vw,72px)}.cs-dk-row.cs-dk-gap{margin-top:0}
.cs-web .cs-dk .cs-f img,.cs-web .cs-dk .cs-crop{box-shadow:none}
.cs-web .cs-sp{display:flex;flex-direction:column;gap:clamp(24px,3vw,48px)}
.cs-cols p.cs-eu{color:var(--muted)}.cs-eu1{margin-top:12px}.cs-eu1::before{content:'Euskara';display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}
.cs-web .cs-sp-r .cs-note{max-width:34ch;padding-left:clamp(0px,2vw,32px);font-size:clamp(16px,1.35vw,20px);line-height:1.5;color:inherit}.cs-web .cs-sp-r{justify-content:flex-end}
.cs-blk{background:#0e0e0f}.cs-blk-in{max-width:1304px;margin-inline:auto;padding:clamp(40px,6vw,96px) 0}
.cs-blk-row{display:flex;align-items:stretch;width:94.6%;margin-inline:auto}.cs-blk-row .cs-f,.cs-blk-big .cs-f{margin:0;min-width:0;flex-basis:0}
.cs-blk .cs-crop,.cs-blk img{box-shadow:none!important}
@media (max-width:800px){.cs-blk-in{padding:32px var(--g)}.cs-blk-row{display:block;width:auto}.cs-blk-row .cs-f{flex:none}}
.cs-blk-edu .cs-f img,.cs-blk-edu .cs-crop img{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%),linear-gradient(180deg,transparent 0,#000 7%,#000 93%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%),linear-gradient(180deg,transparent 0,#000 7%,#000 93%,transparent 100%);mask-composite:intersect}
@media (max-width:800px){.cs-blk-row[style]{width:auto!important}}
.cs-vid2{margin-top:0;aspect-ratio:var(--ar,2.3);background:#000;overflow:hidden}.cs-vid2 video{display:block;width:100%;height:100%;object-fit:cover}
@media (max-width:800px){.cs-vid2{aspect-ratio:1.4}}

@media(max-width:1100px){.home-fcap p{white-space:normal}}
.home-art{background:#ede6d6}[data-theme=dark] .home-art{background:#2a2720}
.s2{color:#74766e}[data-theme=dark] .s2{color:#a3a79c}
@font-face{font-family:'Inter Display';src:url('/assets/fonts/InterDisplay-Light.otf') format('opentype');font-weight:300;font-style:normal;font-display:swap}
.s2{font-weight:300}
.home-art h2 em{margin-left:.15em}
.cs-visit{margin:clamp(14px,1.6vw,22px) 0 0}
.cs-visit .direction-arrow{width:.62em;height:.62em;margin-left:.4em;vertical-align:baseline}
