:root{--ink:#141414;--yellow:#fad640;--line:#e5e5e5;--pad:clamp(16px,2.1vw,32px)}

/* Jerarquía común: todos los títulos y rótulos de sección usan negrita real. */
:is(
  .d-home-intro h1,
  .d-label,
  .section-heading span,
  .archive-heading h2,
  .d-archive h2,
  .d-archive-info h3,
  .archive-page-desktop .d-archive-index h1,
  .license-process-intro h1,
  .license-steps h2,
  .license-form-copy small,
  .license-form-copy h2,
  .artist-introduction h1,
  .d-license-card h2,
  .d-license-question,
  .contact-footer-heading small,
  .contact-footer-heading h2
){font-weight:700!important}

.d-license-card ul{font-weight:300!important;list-style:none;padding-left:0!important}
*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-gutter:stable}body{margin:0;color:var(--ink);background:#fff;font-family:"Albert Sans",sans-serif}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}button{font:inherit}p,h1,h2,h3{margin:0}.site-header{height:72px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid #eee}.brand{font-size:13px;font-weight:900;line-height:.82;letter-spacing:-.04em}.brand-signature{display:none}.desktop-nav{display:flex;gap:30px;font-size:12px}.desktop-nav a:hover{text-decoration:underline}.menu-button{display:none;border:0;background:none;width:28px;padding:4px}.menu-button span{display:block;height:1px;background:#111;margin:6px 0}.intro{padding:70px var(--pad) 58px}.intro-title>p{font-size:12px}.intro h1{font-size:clamp(44px,7.4vw,112px);font-weight:900;line-height:.85;letter-spacing:-.065em;text-align:center;margin:32px 0 18px}.intro-meta{display:flex;justify-content:space-between;font-size:11px}.intro-copy{margin-top:60px;background:var(--yellow);min-height:320px;padding:44px;display:grid;grid-template-columns:1fr 1fr;gap:7vw}.intro-copy h2{font-size:clamp(28px,3vw,48px);line-height:1}.intro-copy h3{font-size:22px;margin-bottom:20px}.intro-copy p{font-size:15px;line-height:1.45;max-width:570px}.hero{position:relative;height:min(78vh,820px);overflow:hidden}.hero-slider,.hero-slide{position:absolute;inset:0}.hero-slide{opacity:0;transition:opacity .8s ease}.hero-slide.active{opacity:1}.hero-slide img{object-position:center}.hero-index{position:absolute;left:var(--pad);right:var(--pad);bottom:22px;color:#fff;display:flex;justify-content:space-between;font:12px "DM Sans"}.section-heading,.archive-heading{padding:36px var(--pad);display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--line)}.section-heading span,.archive-heading h2{font-size:15px;font-weight:500}.section-heading p,.archive-heading p{font-size:14px;font-weight:300;max-width:390px;margin-top:4px}.section-heading>a{font-size:28px}.project{padding:18px var(--pad) 70px}.project-label{display:flex;justify-content:space-between;font-size:12px;margin-bottom:18px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.project-card{position:relative}.project-card img{aspect-ratio:1.15/1}.project-card small{display:block;font:11px "DM Sans";margin-top:8px}.project-card .explore{position:absolute;right:18px;bottom:36px;background:#fff;padding:9px 16px;font-size:11px}.archive-heading{padding-top:68px;padding-bottom:50px}.outline-link{border:1px solid var(--line);padding:8px 12px;font-size:11px}.outline-link i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#111;margin-right:6px}.years{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:48px var(--pad) 22px}.years::-webkit-scrollbar{display:none}.year{white-space:nowrap;border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 12px;font:11px "DM Sans";cursor:pointer}.year.active{background:#1a1a1a;color:#fff}.archive-content{padding:0 var(--pad) 80px}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:26px 10px}.art img{aspect-ratio:.79/1}.art small{font-size:10px}.locked{position:relative}.locked .gallery{filter:blur(12px);opacity:.88;pointer-events:none}.lock-message{position:absolute;inset:0;display:grid;place-content:center;text-align:center;z-index:2}.lock-message div{background:#fff;padding:30px;box-shadow:0 8px 40px #0001}.lock-message h3{font-family:"Instrument Serif";font-size:38px;font-weight:400}.lock-message a{text-decoration:underline;font-size:13px;display:inline-block;margin-top:15px}.contact{background:#000;color:#fff;padding:80px var(--pad);display:flex;justify-content:space-between;align-items:flex-end}.contact h2{font:clamp(42px,6vw,90px)/.95 "Instrument Serif"}.contact a{text-decoration:underline}.mobile-menu{display:none}
.d-links a,.license-nav-links a,.mobile-menu a{font-weight:300}
.d-links a[aria-current="page"],.mobile-menu a[aria-current="page"],.license-nav-current[aria-current="page"],.d-license-link[aria-current="page"]{font-weight:700!important}
.desktop-unified-nav{display:none}
@media(max-width:820px){.site-header{position:absolute;top:0;left:0;right:0;height:60px;padding:18px 16px;border:0}.desktop-nav{display:none}.brand{display:block;width:81px;height:32px}.brand-text{display:none}.brand-signature{display:block;width:81px;height:32px;object-fit:cover;object-position:center}.menu-button{display:block;width:24px;height:24px;padding:4px 3px}.menu-button span{width:18px;height:2px;margin:4px 0;background:#1d1b20}.intro{position:relative;width:100%;height:440px;padding:0;overflow:hidden}.intro-title>p{position:absolute;z-index:2;left:15px;top:128px;font-size:11px;line-height:normal;white-space:nowrap}.intro h1{position:absolute;z-index:2;top:83px;left:0;width:100%;margin:0;font-size:36px;line-height:40px;letter-spacing:-.045em;text-align:center}.intro-meta{position:absolute;z-index:2;left:107px;right:19px;top:128px;display:flex;justify-content:space-between;font-size:11px;line-height:normal;white-space:nowrap}.intro-copy{position:absolute;left:15px;top:172px;width:calc(100% - 31px);height:268px;min-height:0;margin:0;padding:0;display:block;background:var(--yellow)}.intro-copy>h2{position:absolute;left:17px;top:23px;width:136px;font-size:20px;line-height:normal;font-weight:500}.intro-copy>div{position:absolute;left:163px;top:23px;width:181px}.intro-copy h3{font-size:20px;line-height:18px;font-weight:500;margin:0 0 22px}.intro-copy p{font-size:14px;line-height:18px}.hero{height:632px}.section-heading{padding:30px 16px}.section-heading p{max-width:286px}.project{padding:18px 16px 48px}.project-grid{grid-template-columns:1fr;gap:12px}.project-card img{aspect-ratio:358/315}.archive-heading{padding:64px 16px 30px;display:block}.outline-link{display:inline-block;margin-top:22px}.years{padding:22px 16px 18px}.archive-content{padding:0 16px 48px}.gallery{grid-template-columns:1fr 1fr;gap:20px 8px}.contact{padding:52px 16px;display:block}.contact h2{font-size:38px;line-height:40px;margin-bottom:24px}.mobile-menu{display:block;position:fixed;inset:60px 0 0;background:#fff;z-index:19;transform:translateX(100%);transition:.35s;padding:50px 16px}.mobile-menu.open{transform:none}.mobile-menu nav{display:flex;flex-direction:column;gap:18px;font-size:28px}body.menu-open{overflow:hidden}}

/* Evita que los pies de foto queden debajo de la imagen siguiente en mÃ³vil. */
@media(max-width:820px){
  .project-grid{gap:28px}
  .project-card{display:flex;flex-direction:column;min-width:0}
  .project-card img{display:block;width:100%;height:auto;aspect-ratio:358/315;object-fit:cover;flex:none}
  .project-card small{position:relative;display:block;min-height:15px;margin-top:9px;font:11px/1.35 "DM Sans",sans-serif}
}

/* Tipografía unificada del footer: misma escala que el modal amarillo de licencia. */
:is(.home-global-footer,.expandable-footer).contact-footer,
:is(.home-global-footer,.expandable-footer).contact-footer input,
:is(.home-global-footer,.expandable-footer).contact-footer select,
:is(.home-global-footer,.expandable-footer).contact-footer textarea,
:is(.home-global-footer,.expandable-footer).contact-footer button{
  font-family:"Albert Sans",sans-serif!important;
  color:#141414;
}
:is(.home-global-footer,.expandable-footer) .contact-footer-heading small{
  font-size:14px!important;
  line-height:1.15!important;
  font-weight:700!important;
}
:is(.home-global-footer,.expandable-footer) .contact-footer-heading h2{
  margin:3px 0 24px!important;
  font-size:14px!important;
  line-height:1.15!important;
  font-weight:700!important;
}
:is(.home-global-footer,.expandable-footer) .contact-footer-heading p,
:is(.home-global-footer,.expandable-footer) .contact-footer-form address{
  font-size:15px!important;
  line-height:1.28!important;
  font-weight:300!important;
}
:is(.home-global-footer,.expandable-footer) .contact-footer-heading .contact-footer-visit{margin-bottom:0!important}
:is(.home-global-footer,.expandable-footer) .contact-footer-form label,
:is(.home-global-footer,.expandable-footer) .contact-footer-form input,
:is(.home-global-footer,.expandable-footer) .contact-footer-form select,
:is(.home-global-footer,.expandable-footer) .contact-footer-form textarea{
  font-size:15px!important;
  line-height:1.28!important;
  font-weight:300!important;
}
:is(.home-global-footer,.expandable-footer) .contact-footer-form button{
  font-size:12px!important;
  line-height:1!important;
  font-weight:700!important;
}
:is(.home-global-footer,.expandable-footer) .contact-footer-visual nav{
  font-size:14px!important;
  line-height:1.28!important;
  font-weight:300!important;
}
:is(.home-global-footer,.expandable-footer) .contact-footer-place,
:is(.home-global-footer,.expandable-footer) .contact-footer-year{
  font-size:14px!important;
  line-height:1.15!important;
  font-weight:300!important;
}

/* Páginas apiladas y encaje de capítulos en escritorio. */
@media(min-width:821px){
  html.snap-desktop{scroll-snap-type:y mandatory;scroll-padding-top:0}
  .d-page,.d-studio,.d-archive,.d-footer{scroll-snap-align:start;scroll-snap-stop:always}
  .d-page-first{position:sticky;top:var(--stack-top,0px);z-index:1;background:#fff}
  .d-page-second{position:sticky;top:var(--stack-top,0px);z-index:2;background:#fff}
  .d-studio{position:sticky;top:var(--stack-top,0px);z-index:3;background:#fff}
  .d-archive{position:sticky;top:var(--stack-top,0px);z-index:4;background:#fff}
  .d-footer{position:sticky;top:0;z-index:5}
}

/* Archivo desktop: marco fijo y dos desplazamientos internos */
@media(min-width:821px){
  .archive-page-body{height:100vh;overflow:hidden}
  .archive-page-desktop{height:100vh;overflow:hidden!important}
  .archive-page-desktop .d-archive-figma{height:calc(100vh - 88px);min-height:0;padding:0 48px 24px;overflow:hidden}
  .archive-page-desktop .d-archive-layout{height:100%;min-height:0}
  .archive-page-desktop .d-archive-index{height:100%;min-height:0;display:flex;flex-direction:column;padding-bottom:0;overflow:hidden}
  .archive-page-desktop .d-year-index{flex:1;min-height:0;margin-top:22px;overflow-y:auto;overscroll-behavior:contain;scroll-snap-type:none;scrollbar-width:none}
  .archive-page-desktop .d-year-index::-webkit-scrollbar,.archive-page-desktop .d-gallery-viewport::-webkit-scrollbar{display:none}
  .archive-page-desktop .d-year-index button{display:block;width:100%;height:23px;padding:0;border:0;background:transparent;color:#292929;text-align:left;font:400 16px/23px "Albert Sans",sans-serif;scroll-snap-align:none;cursor:pointer}
  .archive-page-desktop .d-year-index button.active{font-weight:500;color:#141414}
  .archive-page-desktop .d-year-set{padding-bottom:0}
  .archive-page-desktop .d-gallery-viewport{grid-column:2;height:100%;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;touch-action:pan-y}
  .archive-page-desktop .d-gallery{height:1166px;min-height:1166px;overflow:hidden;align-content:start}
  .archive-page-desktop .d-studio,.archive-page-desktop .d-footer{display:none!important}
  .archive-page-desktop .d-archive-cta{top:50%;transform:translate(-50%,-50%)}
}

/* Tipografía común de navegación y títulos */
@media(min-width:821px){
  .d-home-intro h1,
  .d-label,
  .d-archive h2,
  .d-archive-info h3,
  .archive-page-desktop .d-archive-index h1,
  .license-process-intro h1,
  .license-steps h2{
    font-family:"Albert Sans",sans-serif;
    font-size:14px;
    line-height:normal;
    font-weight:500;
  }
}

/* Escala tipográfica del selector de años */
.year{
  font-family:"Albert Sans",sans-serif;
  font-size:15px;
  line-height:1.3;
  font-weight:300;
}
.year.active{font-weight:500}
@media(min-width:821px){
  .archive-page-desktop .d-year-index,
  .archive-page-desktop .d-year-index button{
    font-family:"Albert Sans",sans-serif;
    font-size:15px;
    line-height:23px;
    font-weight:300;
  }
  .archive-page-desktop .d-year-index button.active{font-weight:500}
}

/* Ritmo vertical simétrico alrededor de las imágenes del carrusel */
@media(min-width:821px){
  .d-carousel-slide{grid-template-rows:270px 63px auto}
  .d-carousel-slide>.d-label,
  .d-label,
  .d-label-second{height:63px}
}

/* La muestra rellena sus recuadros; el arrastre permite explorar el recorte. */
.archive-content:not(.locked) .gallery img{object-fit:cover}
@media(min-width:821px){
  .archive-page-desktop .d-gallery{
    grid-template-rows:repeat(5,400px);
    grid-auto-rows:400px;
    height:2032px!important;
    min-height:2032px;
  }
  .archive-page-desktop .archive-sample-active .d-gallery-cell{display:flex;align-items:center;justify-content:center}
  .archive-page-desktop .archive-sample-active .d-gallery img{width:auto;max-width:100%;height:100%;object-position:center}
}

/* Ajustes exactos de los encabezados y etiquetas en mÃ³vil. */
.section-heading,.archive-heading{border-bottom:0}
@media(max-width:820px){
  .section-heading{height:89px;padding:32px 15px 0 16px;align-items:flex-start;border:0}
  .section-heading>div{width:286px}
  .section-heading span{display:block;font-size:14px;line-height:normal;font-weight:500}
  .section-heading p{width:286px;max-width:none;margin:0;font-size:14px;line-height:normal;font-weight:300}
  .section-heading>a{width:19px;height:34px;font-size:24px;line-height:24px;text-align:center}
  .project{padding:0 16px 48px}
  .project-label{height:45px;margin:0;padding-top:15px;align-items:flex-start;font-size:14px;line-height:normal;font-weight:500}
  .project-label span:first-child{width:264px}
  .project-label span:last-child{width:89px;text-align:right;white-space:nowrap}
  .project-grid{margin-top:18px}
}

/* El nombre ocupa el ancho disponible también en móviles anchos. */
.archive-arrow{display:block;width:19px;height:34px;object-fit:contain}
@media(max-width:820px){
  .intro{height:clamp(446px,calc(268px + 40vw),596px)}
  .intro h1{font-size:clamp(36px,calc(36px + (100vw - 390px)*.18),115px);line-height:1;letter-spacing:-.07em;white-space:nowrap;padding:0 3px}
  .intro-title>p,.intro-meta{top:clamp(132px,34vw,279px)}
  .intro-copy{top:clamp(178px,40vw,328px)}
  .section-heading{height:auto;min-height:89px;padding-top:clamp(32px,calc(6vw + 9px),58px);padding-bottom:0}
}

/* Hero móvil: flujo real y un único espacio compartido arriba y abajo del amarillo. */
@media(max-width:820px){
  :root{--hero-section-space:clamp(32px,5vw,48px)}
  .intro{display:block;width:100%;height:auto;padding:83px 15px 0;overflow:visible}
  .intro-title{display:grid;grid-template-columns:max-content 1fr;grid-template-rows:auto auto;row-gap:14px;align-items:start}
  .intro h1{position:static;grid-column:1/-1;grid-row:1;width:100%;margin:0;padding:0;font-size:clamp(36px,calc(36px + (100vw - 390px)*.18),115px);line-height:1;letter-spacing:-.07em;white-space:nowrap;text-align:center}
  .intro-title>p{position:static;grid-column:1;grid-row:2;font-size:11px;line-height:14px;white-space:nowrap}
  .intro-meta{position:static;grid-column:2;grid-row:2;display:flex;justify-content:space-between;margin-left:30px;font-size:11px;line-height:14px;white-space:nowrap}
  .intro-copy{position:relative;left:auto;top:auto;width:100%;height:268px;min-height:268px;margin:var(--hero-section-space) 0 0;padding:0}
  .section-heading{height:auto;min-height:89px;padding:var(--hero-section-space) 15px 0 16px}
}

/* Apilado de secciones al hacer scroll, solo en móvil. */
@media(max-width:820px){
  .projects{position:relative;z-index:2;background:#fff}
  .section-heading{position:relative;z-index:2;background:#fff}
  .intro,
  .project,
  .hero,
  .archive,
  .contact{
    position:sticky;
    top:0;
    isolation:isolate;
    background:#fff;
    box-shadow:none;
  }
  .intro{z-index:1;box-shadow:none}
  .project-list .project:nth-child(1){z-index:2}
  .project-list .project:nth-child(2){z-index:3}
  .hero{z-index:4}
  .archive{z-index:5}
  .contact{z-index:6;background:#000}
}

@media(max-width:820px){
  .site-header{position:fixed;transition:transform .28s ease;will-change:transform}
  .site-header.nav-hidden{transform:translateY(-100%)}
}

/* Scroll por capítulos: permite recorrer bloques altos y encaja el siguiente al llegar al final. */
@media(max-width:820px){
  html{scroll-snap-type:none;scroll-padding-top:0}
  html.snap-sections{scroll-snap-type:y mandatory}
  .intro,
  .section-heading,
  .project,
  .hero,
  .archive,
  .contact{
    scroll-snap-align:start;
    scroll-snap-stop:always;
  }
}

/* Primera transición: el Hero sale libremente y la segunda sección se fija al llegar arriba. */
@media(max-width:820px){
  .intro{position:relative;top:auto;z-index:auto}
  .section-heading{position:sticky;top:0;z-index:2;background:#fff}
}

/* Versión de escritorio basada en WEB · Home · Desktop. */
.desktop-home{display:none}
@media(min-width:821px){
  .mobile-only,.mobile-home,.mobile-menu{display:none!important}
  .artist-mobile-header{display:none!important}
  .desktop-unified-nav{display:flex}
  .license-mobile-nav{display:none!important}
  .artist-page{padding-top:88px}
  .license-page>main{padding-top:88px}
  .desktop-home{display:block;position:relative;background:#fff;color:#141414;max-width:1440px;margin:0 auto;padding-top:88px;overflow-x:clip;overflow-y:visible}
  .d-nav{position:fixed;left:0;right:0;top:0;margin:0 auto;transform:none;width:min(100%,1440px);height:88px;display:flex;align-items:center;padding:0 8px;background:#fff;z-index:50;transition:top .28s ease}
  .d-nav.nav-hidden{top:-88px}
  .d-signature-link{position:absolute;left:8px;top:30px;width:112px;height:44px;display:block;cursor:pointer}.d-signature{width:100%;height:100%;object-fit:contain}
  .d-links{position:absolute;left:50%;top:35px;width:318px;transform:translateX(-50%);display:grid;grid-template-columns:94px 74px 150px;gap:0;font:12px "Albert Sans",sans-serif;white-space:nowrap;text-align:center}.d-links .active{font-weight:500}
  .d-nav-mark{position:absolute;right:176px;top:19px;width:98px;height:31px;object-fit:contain}
  .d-license-link{position:absolute;right:8px;top:25px;width:180px;height:45px;display:flex;align-items:center;justify-content:center;background:#000;color:#fff;border:1px solid #fff;font:500 14px "Albert Sans",sans-serif}
  .d-license-card{position:fixed;z-index:51;top:63px;left:auto;right:max(8px,calc((100vw - 1440px)/2 + 8px));width:min(400px,calc(50vw - 16px));height:192px;transform:none;transform-origin:top right;background:var(--yellow);padding:24px 28px 22px 27px;display:flex;flex-direction:column;justify-content:flex-start;transition:transform .3s ease,opacity .22s ease,visibility .22s ease}
  .d-license-card{background:var(--license-glass-color);-webkit-backdrop-filter:var(--license-glass-filter);backdrop-filter:var(--license-glass-filter);border:0;border-radius:0;box-shadow:none}
  .d-license-card.nav-folded{opacity:0;transform:translate(0,-38px) scale(.08);pointer-events:none}
  .d-license-card.closed{opacity:0;visibility:hidden;transform:translateY(-18px)}
  .d-license-card h2{font-family:"Albert Sans",sans-serif;font-size:14px;line-height:normal;font-weight:500;margin:0}.d-license-question{margin:3px 0 24px;font-size:14px;line-height:1.15;font-weight:500}.d-license-card ul{margin:0;padding-left:18px;font-size:15px;line-height:1.28;font-weight:300}
  .d-license-close{position:absolute;right:-4px;top:-4px;width:44px;height:44px;padding:0;border:0;background:transparent;color:var(--ink);font-size:0;cursor:pointer}
  .d-license-close::before,.d-license-close::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:1px;background:currentColor;transform:translate(-50%,-50%) rotate(45deg)}
  .d-license-close::after{transform:translate(-50%,-50%) rotate(-45deg)}
  .d-works{display:contents}
  .d-page-first{width:100%;padding-top:36px}
  .d-intro{height:270px;padding:52px 8px 60px;display:flex;align-items:flex-start}.d-home-intro{max-width:640px}.d-home-intro h1{font-family:"Albert Sans",sans-serif;font-size:14px;line-height:normal;font-weight:500;margin-bottom:24px}.d-home-intro p{max-width:620px;font-size:15px;line-height:1.3;font-weight:300}
  .d-label{height:63px;padding:21px 8px 0;display:flex;justify-content:space-between;align-items:flex-start;font-size:14px;font-weight:500}.d-label-second{height:63px;padding-top:21px;align-items:flex-start}
  .d-page-second{padding-top:88px}
  .d-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:calc(100% - 16px);max-width:none;margin-left:8px;margin-right:8px}.d-pair figure{margin:0;position:relative;min-width:0}.d-pair img{width:100%;object-fit:cover}.d-pair figcaption{height:63px;padding-top:21px;font:300 15px/1.3 "Albert Sans",sans-serif;color:#141414}.d-pair-first img{height:clamp(520px,68vh,680px);object-fit:cover}.d-pair-second{gap:8px;margin-left:8px;margin-right:8px}.d-pair-second figure:first-child,.d-pair-second figure:last-child{padding:0}.d-pair-second img{height:691px}.d-pair figure>a{position:absolute;right:8px;bottom:71px;background:#fff;padding:9px 15px;font:14px "DM Sans"}
  .d-studio{position:relative;height:945px;padding:88px 8px 0;overflow:hidden}.d-studio>img{width:100%;height:100%;object-fit:cover}.d-studio-copy{position:absolute;left:55%;top:158px;color:#fff}.d-studio-copy small{font:12px "DM Sans"}.d-studio-copy h2{font-size:38px;line-height:38px;font-weight:400;margin:8px 0 22px}.d-studio-copy p,.d-studio-copy a{font:12px "DM Sans";display:block;margin-top:12px}.d-studio-actions{position:absolute;right:31px;bottom:24px;background:#fff;display:flex;font:12px "DM Sans"}.d-studio-actions span,.d-studio-actions a{padding:13px 20px}.d-studio-actions a{border-left:1px solid #eee}
  .d-archive{padding:128px 8px 48px}.d-archive>header{height:95px;display:flex;justify-content:space-between;align-items:flex-start}.d-archive h2{font-size:14px;font-weight:500}.d-archive header>a{border:1px solid #e5e7eb;padding:10px 14px;font:12px "DM Sans"}.d-archive header i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#20bd59;margin-right:8px}.d-archive-info{width:610px;margin:0 8px 68px}.d-archive-info h3{font-size:15px;line-height:1.3;font-weight:500;margin-bottom:15px}.d-archive-tagline{font:italic 400 15px/1.3 "Libre Baskerville",Baskerville,serif}.d-archive-info ul{list-style:none;margin:22px 0 0;padding:0;font-size:15px;line-height:1.3;font-weight:300}.d-archive-layout{display:grid;grid-template-columns:325px 1fr;gap:24px}.d-archive-copy{font-size:12px}.d-year-list{margin-top:24px;font:11px/18px "DM Sans"}.d-gallery{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;filter:blur(10px)}.d-gallery img{height:360px;object-fit:cover}.d-footer{background:#000;color:#fff;padding:90px 8px;display:flex;justify-content:space-between;align-items:flex-end}.d-footer h2{font:48px/1 "Instrument Serif"}.d-footer a{font-size:12px;text-decoration:underline}
  .d-license-link,.d-pair figure>a{width:160px;height:30px;padding:0;display:flex;align-items:center;justify-content:center;font:400 12px "Albert Sans",sans-serif;text-transform:uppercase;letter-spacing:0}
  .d-pair figure>a{width:auto;height:30px;padding:0 15px;display:flex;background:#fff;border:0}
  .d-action-button{box-sizing:border-box!important;height:30px!important;min-height:30px!important;max-height:30px!important;padding:0 15px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;font:400 12px/1 "Albert Sans",sans-serif!important;text-transform:uppercase;letter-spacing:0}
  .d-action-button--dark{width:160px;background:#000;color:#fff}
  .d-action-button--compact{width:160px!important;background:#fff;color:#141414;border:0}
  .d-studio-actions{height:30px;align-items:stretch}
  .d-studio-actions span,.d-studio-actions a{height:30px;padding:0 15px;display:flex;align-items:center;justify-content:center}
  .d-studio-actions a,.d-archive header>a{font:400 12px "Albert Sans",sans-serif;text-transform:uppercase;letter-spacing:0;background:#fff}
  .d-archive header>a{height:30px;padding:0 14px;display:flex;align-items:center;justify-content:center}
}



@media(min-width:821px){
  html.snap-desktop,
  html.snap-desktop body{scroll-snap-type:y mandatory;scroll-padding-top:0}
  .desktop-home{overflow-x:clip!important;overflow-y:visible!important}
  .d-page,.d-studio,.d-archive,.d-footer{scroll-snap-align:start;scroll-snap-stop:always}
  .d-works{position:relative;overflow:hidden;background:#fff}
  .d-carousel-track{display:flex;width:calc(500% - 40px);align-items:flex-start}
  .d-carousel-slide{position:relative!important;top:auto!important;flex:0 0 20%;width:20%;z-index:1;background:#fff;display:grid;grid-template-rows:270px 63px auto;align-content:start;padding-top:36px!important;padding-bottom:60px!important}
  .d-carousel-slide>.d-intro{grid-row:1;height:270px}
  .d-carousel-slide>.d-label{grid-row:2;height:63px;padding:0 8px 12px;align-items:flex-end;line-height:1.3}
  .d-carousel-slide>.d-pair{grid-row:3;gap:8px;width:calc(100% - 8px);margin-left:8px;margin-right:0}
  .d-carousel-slide{background:transparent}
  .d-carousel-slide>.d-pair,.d-carousel-slide>.d-label{transform:translateX(var(--photo-offset,0px));will-change:transform}
  .d-carousel-slide{padding-bottom:54px!important}
  .d-carousel-slide .d-pair figcaption{height:40px;padding-top:12px}
  .d-carousel-slide .d-pair figure>a{bottom:48px}
  .d-intro-placeholder{visibility:hidden;pointer-events:none}
  .d-page-first.carousel-slide-active{z-index:1!important}
  .d-page-second.carousel-active{visibility:visible;pointer-events:auto}
  /* Reservar cabecera (88), título (63), pie de foto (40) y banner (54). */
  .d-pair-first img,.d-pair-second img,.d-pair-third img,.d-pair-fourth img,.d-pair-fifth img{height:min(680px,max(120px,calc(100dvh - 245px)));object-fit:cover}
  .d-archive{position:sticky!important;top:var(--stack-top,0px);z-index:3;background:#fff}
  .d-studio{position:sticky!important;top:var(--stack-top,0px);z-index:4;background:#fff}
  .d-footer{position:sticky!important;top:0;z-index:5}

  /* Una única interacción: luz refractada sobre agua */
  .d-pair figure{overflow:hidden;isolation:isolate}
  .d-pair figcaption{position:relative;z-index:2;background:#fff}
  .d-gallery img:hover{position:relative;z-index:2}
}

@media(max-width:820px){
  .archive-page-mobile{padding-top:60px}
  .archive-page-mobile .archive-heading{padding-top:38px}
}

@media(min-width:821px){
  .archive-page-desktop{overflow:visible!important}
  .archive-page-desktop .d-archive{position:relative!important;top:auto!important;z-index:1;min-height:calc(100vh - 88px);padding-top:64px}
  .archive-page-desktop .d-studio{position:relative!important;top:auto!important;z-index:1}
  .archive-page-desktop .d-footer{position:relative!important;top:auto!important;z-index:1;min-height:360px}
}

/* Página de solicitud de licencia */
.license-page{background:#fff;color:#131210;font-family:"Albert Sans",sans-serif}
.license-nav{height:88px;max-width:1440px;margin:auto;position:relative;display:flex;align-items:center;padding:0 24px}
.license-signature{width:183px;height:72px}.license-signature img{object-fit:contain}
.license-nav-links{position:absolute;left:50%;transform:translateX(-50%);display:flex;gap:34px;font-size:12px}.license-nav-current{margin-left:auto;font-size:12px;font-weight:700}
.license-page main,.license-footer{max-width:1440px;margin:auto}
.license-process{padding:56px 24px 0}.license-process-intro{display:grid;grid-template-columns:1fr 1fr;gap:24px;min-height:126px}.license-process-intro h1{font-family:"Albert Sans",sans-serif;font-size:14px;line-height:normal;font-weight:500;text-transform:uppercase;margin-bottom:3px}.license-process-intro>div p{margin-top:0;font-family:"Albert Sans",sans-serif;font-size:14px;line-height:1.15;font-style:normal;font-weight:500}.license-process-intro>p{font-size:15px;line-height:1.3;font-weight:300;max-width:620px}
.license-steps{background:var(--yellow);min-height:624px;padding:85px 32px 78px;display:grid;grid-template-columns:repeat(3,1fr)}.license-steps article{padding:0 32px 0 18px}.license-steps article:first-child{padding-left:0}.license-steps article+article{border-left:1px solid rgba(19,18,16,.28)}.license-steps span{font-size:12px;font-weight:500}.license-steps h2{font-size:14px;line-height:normal;font-weight:500;text-transform:uppercase;margin:28px 0 24px}.license-steps p{font-size:15px;line-height:1.3;font-weight:300;margin-bottom:18px}
.license-orientation{min-height:177px;margin-left:50%;padding:51px 0;font-size:15px;line-height:1.3;font-weight:300}
.license-request{padding:0 24px;display:grid;grid-template-columns:1fr 1fr;gap:0;min-height:691px}.license-form-panel{position:relative;padding:50px 54px 50px 0}.license-form-copy{width:430px}.license-form-copy small{font-size:14px;font-weight:500}.license-form-copy h2{font-size:44px;line-height:1.1;font-weight:500;margin:25px 0}.license-form-copy p{font-size:16px;line-height:1.35}.license-form-panel address{position:absolute;left:430px;top:90px;font-size:16px;line-height:1.35;font-style:normal}.license-form{margin-top:45px}.license-form label{display:block;font-size:15px;margin-top:14px}.license-form input,.license-form select,.license-form textarea{display:block;width:100%;border:0;border-bottom:1px solid rgba(0,0,0,.5);border-radius:0;background:transparent;padding:5px 0;font:15px "Albert Sans";outline:none}.license-form textarea{resize:none}.license-form button{display:block;margin:22px 0 0 auto;border:0;background:var(--yellow);height:34px;padding:0 20px;font:500 12px "Albert Sans";cursor:pointer}.license-request-image{margin:0;height:691px;overflow:hidden}.license-request-image img{object-fit:cover}
.license-footer{height:760px;padding:44px 24px 24px;display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:auto 1fr auto;position:relative;overflow:hidden}.license-footer>div{display:flex;flex-direction:column;font-size:20px;font-weight:500;line-height:1.45}.license-footer>div:nth-child(2){padding-left:25px}.license-footer>div:nth-child(3){justify-self:end;width:330px}.license-footer>img{position:absolute;left:20px;right:20px;top:158px;width:calc(100% - 40px);height:550px;object-fit:contain}.license-footer>small{align-self:end;font-size:12px;font-weight:500;z-index:1}.license-footer>small:last-child{justify-self:end}
@media(max-width:820px){.license-nav{height:70px;padding:8px 16px}.license-signature{width:105px;height:50px}.license-nav-links{display:none}.license-nav-current{font-size:10px}.license-process{padding:34px 16px 0}.license-process-intro{grid-template-columns:1fr;gap:28px;padding-bottom:32px}.license-process-intro h1,.license-process-intro>div p{font-size:14px}.license-process-intro>p{font-size:15px}.license-steps{display:block;padding:32px 20px}.license-steps article,.license-steps article:first-child{padding:25px 0}.license-steps article+article{border-left:0;border-top:1px solid rgba(19,18,16,.28)}.license-steps h2{font-size:25px;margin:18px 0}.license-orientation{margin:0;padding:38px 0;min-height:0;font-size:18px}.license-request{padding:0 16px;grid-template-columns:1fr}.license-form-panel{padding:42px 0}.license-form-copy{width:auto}.license-form-copy h2{font-size:38px}.license-form-panel address{position:static;margin-top:28px}.license-request-image{height:480px}.license-footer{height:600px;padding:40px 16px 20px;grid-template-columns:1fr 1fr}.license-footer>div{font-size:13px}.license-footer>div:nth-child(2){padding:0}.license-footer>div:nth-child(3){display:none}.license-footer>img{left:10px;top:180px;width:calc(100% - 20px);height:330px}.license-footer>small{font-size:10px}}

@media(min-width:821px){
  .license-footer{width:100%;max-width:none;height:100vh;min-height:760px;margin:0;padding:0;display:block;position:relative;overflow:hidden;background:#fff}
  .home-global-footer{position:fixed;inset:0;width:100vw;min-height:100vh;margin:0;z-index:68;transform:translateY(100%);visibility:hidden;transition:transform .6s cubic-bezier(.22,.75,.18,1),visibility 0s linear .6s}
  .home-global-footer.is-open{transform:translateY(0);visibility:visible;transition:transform .6s cubic-bezier(.22,.75,.18,1),visibility 0s}
  .license-footer>div{position:absolute;top:5.79vh;width:auto;font-size:20px;line-height:1.45;padding:0!important}
  .license-footer>div:nth-child(1){left:1.67vw}
  .license-footer>div:nth-child(2){left:35.42vw}
  .license-footer>div:nth-child(3){left:74.31vw;justify-self:auto}
  .license-footer>img{position:absolute;left:1.39vw;top:20.79vh;width:97.22vw;height:72.37vh;object-fit:contain;object-position:center}
  .license-footer>small{position:absolute;bottom:3.16vh;font-size:15px;line-height:1.08;font-weight:500;z-index:2}
  .license-footer>small:nth-of-type(1){left:1.67vw}
  .license-footer>small:nth-of-type(2){right:3.33vw}
    .footer-banner{position:fixed;left:8px;right:8px;bottom:8px;width:calc(100% - 16px);height:38px;border:0;background:var(--yellow);color:#141414;z-index:70;padding:0 16px;display:flex;align-items:center;justify-content:space-between;text-align:left;cursor:pointer;font:300 14px "Albert Sans",sans-serif;transition:filter .2s ease;box-shadow:0 0 0 8px #fff}
  .footer-banner:hover{filter:brightness(.97)}.footer-banner strong{font-weight:700}.footer-banner>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.footer-banner-meta{margin-left:auto;padding:0 22px;font-size:11px;font-weight:300;white-space:nowrap}.footer-banner img{flex:0 0 auto;width:11px;height:18px;object-fit:contain;transition:transform .35s ease}.footer-banner.is-open img{transform:rotate(180deg)}
  body.footer-open{overflow:hidden}
}

/* El banner mantiene los colores invertidos mientras el footer está abierto. */
.footer-banner:not(.is-open){
  background:var(--yellow);
  color:var(--ink);
}
.footer-banner:not(.is-open) img{
  filter:none;
}
.footer-banner.is-open{
  background:color-mix(in srgb, var(--yellow) 55%, transparent);
  color:var(--ink);

  -webkit-backdrop-filter:blur(16px) saturate(140%);
  backdrop-filter:blur(16px) saturate(140%);
}

@media(min-width:821px) and (hover:hover){
  .footer-banner:hover{
    background:color-mix(in srgb,var(--yellow) 55%,transparent);
    color:var(--ink);
    filter:none;
    border:0;
    -webkit-backdrop-filter:blur(16px) saturate(140%);
    backdrop-filter:blur(16px) saturate(140%);
  }
}

/* Footer global: formulario + imagen */
.contact-footer{position:relative;width:100%;max-width:1440px;height:760px;margin:0 auto;background:#fff;color:#0a0a0a;display:grid;grid-template-columns:51.8% 48.2%;grid-template-rows:691px 69px;overflow:hidden;font-family:"Albert Sans",sans-serif}
.contact-footer-form{position:relative;padding:50px 78px 34px 24px}.contact-footer-heading{width:430px}.contact-footer-heading small{font-size:14px;font-weight:500}.contact-footer-heading h2{margin:24px 0 26px;font-size:44px;line-height:1.1;font-weight:500}.contact-footer-heading p{font-size:16px;line-height:1.35;max-width:430px}.contact-footer-form address{position:absolute;left:454px;top:90px;font-size:16px;line-height:1.35;font-style:normal}.contact-footer-form form{position:absolute;left:24px;right:78px;top:250px}.contact-footer-form label{display:block;margin-top:13px;font-size:15px;line-height:1.1}.contact-footer-form input,.contact-footer-form select,.contact-footer-form textarea{display:block;width:100%;height:20px;padding:2px 0;border:0;border-bottom:1px solid rgba(0,0,0,.5);border-radius:0;background:transparent;font:15px "Albert Sans",sans-serif;outline:none}.contact-footer-form textarea{resize:none}.contact-footer-form button{display:block;width:177px;height:34px;margin:18px 0 0 auto;border:0;background:var(--yellow);font:500 12px "Albert Sans",sans-serif;cursor:pointer}
.responsive-footer-credit{
  color:#FFFF;
}
.contact-footer-visual{position:relative;height:691px;overflow:hidden}.contact-footer-visual>img{width:100%;height:100%;object-fit:cover}.contact-footer-visual::after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.42));pointer-events:none}.contact-footer-visual nav{position:absolute;left:24px;right:24px;top:24px;bottom:auto;z-index:2;display:flex;justify-content:space-between;color:#fff;font-size:20px;font-weight:500;line-height:1.45}.contact-footer-visual nav>div{display:flex;flex-direction:column}.contact-footer-place,.contact-footer-year{color:#fff;position:absolute;bottom:22px;font-size:15px;font-weight:500;line-height:1.08}.contact-footer-place{left:24px}.contact-footer-year{right:24px}
@media(min-width:821px){.home-global-footer.contact-footer{position:fixed;inset:0 0 55px;width:100vw;height:calc(100vh - 55px);min-height:0;max-width:none;margin:0;z-index:68;grid-template-rows:calc(100vh - 124px) 69px;transform:translateY(100%);visibility:hidden;transition:transform .6s cubic-bezier(.22,.75,.18,1),visibility 0s linear .6s}.home-global-footer.contact-footer.is-open{transform:translateY(0);visibility:visible;transition:transform .6s cubic-bezier(.22,.75,.18,1),visibility 0s}.home-global-footer .contact-footer-form,.home-global-footer .contact-footer-visual{height:calc(100vh - 124px)}}
@media(max-width:820px){.contact-footer{height:auto;min-height:0;display:flex;flex-direction:column;overflow:visible}.contact-footer-form{padding:42px 16px 48px}.contact-footer-heading{width:auto}.contact-footer-heading h2{font-size:38px}.contact-footer-form address{position:static;margin-top:28px}.contact-footer-form form{position:static;margin-top:38px}.contact-footer-visual{height:520px}.contact-footer-visual nav{font-size:14px}.contact-footer-place,.contact-footer-year{position:static;padding:18px 16px;font-size:11px}.contact-footer-year{position:absolute;bottom:0;right:0}}

@media(min-width:821px){
  .d-home-intro h1,
  .d-label,
  .d-archive h2,
  .d-archive-info h3,
  .archive-page-desktop .d-archive-index h1,
  .license-process-intro h1,
  .license-steps h2{
    font-family:"Albert Sans",sans-serif;
    font-size:14px;
    line-height:normal;
    font-weight:500;
  }
}

@media(min-width:821px) and (max-height:760px){
  :is(.home-global-footer,.expandable-footer) .contact-footer-form{padding:22px 44px 10px 16px;overflow:hidden}
  :is(.home-global-footer,.expandable-footer) .contact-footer-heading{width:56%}
  :is(.home-global-footer,.expandable-footer) .contact-footer-heading small{font-size:11px;font-weight:500}
  :is(.home-global-footer,.expandable-footer) .contact-footer-heading h2{margin:12px 0 14px;font-size:34px;line-height:1.06;font-weight:500}
  :is(.home-global-footer,.expandable-footer) .contact-footer-heading p{font-size:12px;line-height:1.3;font-weight:400}
  :is(.home-global-footer,.expandable-footer) .contact-footer-form address{left:61%;top:52px;font-size:12px;line-height:1.35;font-weight:400}
  :is(.home-global-footer,.expandable-footer) .contact-footer-form form{left:16px;right:44px;top:275px;bottom:0;display:flex;flex-direction:column}
  :is(.home-global-footer,.expandable-footer) .contact-footer-form label{margin-top:11px;font-size:11px;line-height:1.1;font-weight:400}
  :is(.home-global-footer,.expandable-footer) .contact-footer-form input,
  :is(.home-global-footer,.expandable-footer) .contact-footer-form select,
  :is(.home-global-footer,.expandable-footer) .contact-footer-form textarea{height:23px;padding:4px 0;font-size:11px;font-weight:400}
  :is(.home-global-footer,.expandable-footer) .contact-footer-form button{width:155px;height:31px;margin:18px 0 0 auto;font-size:11px;font-weight:500}
  :is(.home-global-footer,.expandable-footer) .contact-footer-visual nav{bottom:10px;font-size:14px;line-height:1.3;font-weight:500}
  :is(.home-global-footer,.expandable-footer) .contact-footer-place,
  :is(.home-global-footer,.expandable-footer) .contact-footer-year{bottom:15px;font-size:11px;font-weight:500}
}

/* Página Archivo · composición del frame 368:363 */
@media(min-width:821px){
  .archive-page-desktop{padding-top:88px}
  .archive-page-desktop .d-archive-figma{position:relative!important;top:auto!important;z-index:auto;min-height:1276px;padding:0 48px 48px;background:#fff}
  .archive-page-desktop .d-archive-figma>header,.archive-page-desktop .d-archive-info,.archive-page-desktop .d-archive-copy{display:none}
  .archive-page-desktop .d-archive-layout{position:relative;display:grid;grid-template-columns:325px minmax(0,1fr);gap:24px;align-items:start}
  .archive-page-desktop .d-archive-index{height:1208px;overflow:hidden;padding-top:23px;color:#141414}
  .archive-page-desktop .d-archive-index h1{margin:0 0 18px;font:500 14px/1.1 "Albert Sans",sans-serif}
  .archive-page-desktop .d-archive-index p{max-width:240px;margin:0;font:300 15px/1.3 "Albert Sans",sans-serif}
  .archive-page-desktop .d-archive-index strong{font-weight:700}
  .archive-page-desktop .d-year-index{margin-top:12px;font:400 16px/23px "Albert Sans",sans-serif;color:#292929}
  .archive-page-desktop .d-gallery{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:360px 430px 360px;gap:8px;width:100%;height:1166px;overflow:hidden}
  .archive-page-desktop .d-gallery-cell{min-width:0;height:100%;overflow:hidden;background:#fff}
  .archive-page-desktop .d-gallery img{width:100%;height:100%;min-width:0;object-fit:cover;filter:blur(22px) saturate(1.04);transform:scale(1.14)}
  .archive-page-desktop .d-archive-cta{position:absolute;left:calc(349px + (100% - 349px)/2);top:503px;transform:translateX(-50%);z-index:2;width:190px;height:30px;border:1px solid #e5e7eb;background:#fff;display:flex;align-items:center;padding:0 12px;font:500 12px "Albert Sans",sans-serif;text-transform:none}
  .archive-page-desktop .d-archive-cta i{flex:0 0 8px;width:8px;height:8px;margin-right:9px;border-radius:50%;background:#20bd59}
}

/* Debe permanecer al final: evita que las reglas históricas anulen el marco fijo. */
@media(min-width:821px){
  .archive-page-body{height:100vh;overflow:hidden}
  .archive-page-desktop{height:100vh;min-height:0;padding-top:88px;overflow:hidden!important}
  .archive-page-desktop .d-archive-figma{height:calc(100vh - 88px);min-height:0!important;padding:0 48px 24px;overflow:hidden}
  .archive-page-desktop .d-archive-layout{height:100%;min-height:0;align-items:stretch}
  .archive-page-desktop .d-archive-index{height:100%;min-height:0;display:flex;flex-direction:column;padding-top:23px;overflow:hidden}
  .archive-page-desktop .d-year-index{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}
  .archive-page-desktop .d-year-index{scroll-snap-type:none!important}
  .archive-page-desktop .d-year-index button{scroll-snap-align:none!important}
  .archive-page-desktop .d-gallery-viewport{grid-column:2;height:100%;min-height:0;overflow-x:hidden;overflow-y:auto!important;overscroll-behavior:contain;scrollbar-width:none;touch-action:pan-y}
  .archive-page-desktop .d-gallery{grid-template-rows:repeat(5,400px);grid-auto-rows:400px;height:2032px!important;min-height:2032px;overflow:hidden;align-content:start}
  .archive-page-desktop .archive-sample-active .d-gallery{filter:none}
  .archive-page-desktop .archive-sample-active .d-gallery-cell{display:flex;align-items:center;justify-content:center}
  .archive-page-desktop .archive-sample-active .d-gallery img{width:auto;max-width:100%;height:100%;object-fit:contain;object-position:center;filter:none;transform:none}
  .archive-page-desktop .archive-sample-active .d-archive-cta{display:none}
  .archive-page-desktop .d-year-index::-webkit-scrollbar,.archive-page-desktop .d-gallery-viewport::-webkit-scrollbar{display:none}
  .archive-page-desktop .d-studio,.archive-page-desktop .d-footer{display:none!important}
  .archive-page-desktop .d-archive-cta{top:50%;transform:translate(-50%,-50%)}
}
/* Página José Luis Pascual */
.artist-page-body{background:#fff;color:#141414}
.artist-page-body .d-footer,
.artist-page-body .license-footer{display:none!important}
.artist-nav{position:sticky;top:0;left:0;transform:none;width:100%;max-width:none}
.artist-page{width:100%;padding-top:0;background:#fff}
.artist-hero{height:min(43.35vw,624px);margin:0 24px;overflow:hidden}
.artist-hero img{width:100%;height:100%;object-fit:cover;object-position:center 45%}
.artist-introduction{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:56px 24px 42px}
.artist-introduction h1{margin:0;font-family:"Albert Sans",sans-serif;font-size:14px;line-height:normal;font-weight:500;color:#141414}
.artist-introduction p,.artist-copy-pair p{margin-top:0;font-family:"Albert Sans",sans-serif;font-size:15px;line-height:1.28;font-weight:300;color:#141414}
.artist-introduction p{max-width:631px;justify-self:end}
.artist-image-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 24px}
.artist-image-pair figure{margin:0;overflow:hidden;background:#f4f3f1}
.artist-image-pair img{width:100%;height:100%;display:block}
.artist-image-pair--middle figure{height:min(62.85vw,905px)}
.artist-image-pair--middle img{object-fit:cover}
.artist-copy-pair{display:grid;grid-template-columns:repeat(2,minmax(0,669px));gap:28px;padding:51px 26px 54px}
.artist-copy-pair>div{max-width:669px}
.artist-copy-pair p{margin-bottom:0}.artist-copy-pair p+p{margin-top:14px}
.artist-image-pair--bottom{padding-bottom:78px}
.artist-image-pair--bottom figure{height:min(62.85vw,905px)}
.artist-image-pair--bottom img{object-fit:cover}
@media(min-width:821px){
  .footer-flow-page{overflow-x:hidden}
  .footer-flow-page.footer-open{overflow-x:hidden;overflow-y:auto}
  .archive-page-body.footer-flow-page{height:auto;min-height:100vh;overflow-x:hidden;overflow-y:auto}
  .license-page.footer-flow-page>main{padding-bottom:70px}
  .footer-flow-page .expandable-footer.contact-footer{position:relative!important;inset:auto!important;width:100%!important;height:0!important;min-height:0!important;margin:0!important;transform:none!important;visibility:hidden!important;opacity:0;overflow:hidden!important;grid-template-rows:691px 69px;transition:height .6s cubic-bezier(.22,.75,.18,1),opacity .35s ease,visibility 0s linear .6s}
  .footer-flow-page .expandable-footer.contact-footer.is-open{height:760px!important;min-height:760px!important;visibility:visible!important;opacity:1;transition:height .6s cubic-bezier(.22,.75,.18,1),opacity .35s ease,visibility 0s}
  .footer-flow-page .expandable-footer .contact-footer-form,
  .footer-flow-page .expandable-footer .contact-footer-visual{height:691px}
}
@media(max-width:820px){
  .artist-page-body{padding-top:60px}
  .artist-mobile-header{position:fixed;background:#fff}
  .artist-nav{display:none}
  .artist-hero{height:62vw;margin:0 16px}
  .artist-introduction{grid-template-columns:1fr;gap:24px;padding:36px 16px}
  .artist-introduction h1{font-size:14px;line-height:normal}
  .artist-introduction p,.artist-copy-pair p{font-size:15px;line-height:1.28}
  .artist-introduction p{justify-self:start}
  .artist-image-pair{grid-template-columns:1fr;gap:8px;padding:0 16px}
  .artist-image-pair--middle figure,.artist-image-pair--bottom figure{height:112vw;max-height:620px}
  .artist-copy-pair{grid-template-columns:1fr;gap:28px;padding:34px 16px 40px}
  .artist-image-pair--bottom{padding-bottom:76px}
  .footer-flow-page.footer-open{overflow-y:auto}
  .footer-flow-page .expandable-footer.contact-footer{position:relative!important;inset:auto!important;height:auto!important;max-height:0;min-height:0!important;visibility:hidden!important;overflow:hidden!important;transform:none!important;opacity:0;transition:max-height .6s ease,opacity .35s ease,visibility 0s linear .6s}
  .footer-flow-page .expandable-footer.contact-footer.is-open{max-height:1400px;visibility:visible!important;opacity:1;transition:max-height .6s ease,opacity .35s ease,visibility 0s}
}

@media(min-width:821px){
  :is(.home-global-footer,.expandable-footer) .contact-footer-form button{margin:32px 0 0 auto}
  :is(.home-global-footer,.expandable-footer) .contact-footer-form select{height:36px;min-height:36px;padding:6px 4px;line-height:1.4!important}
  :is(.home-global-footer,.expandable-footer).contact-footer{grid-template-columns:50% 50%;max-width:none}
  :is(.home-global-footer,.expandable-footer) .contact-footer-visual{
    grid-column:2;grid-row:1 / span 2;height:calc(100dvh - 54px);align-self:start;
  }
  .footer-flow-page .expandable-footer .contact-footer-visual{height:calc(100dvh - 54px)}
  .footer-flow-page .expandable-footer.contact-footer.is-open{
    height:max(760px,calc(100dvh - 54px))!important;
  }
}

/* Los footers superpuestos desplazan su contenido, no la página de detrás. */
body.footer-flow-page.footer-open{overflow:hidden}

/* Aviso legal y privacidad */
.legal-modal{position:fixed;inset:0;z-index:100;display:flex;justify-content:flex-end;visibility:hidden;opacity:0;transition:opacity .25s ease,visibility 0s linear .25s}
.legal-modal.is-open{visibility:visible;opacity:1;transition:opacity .25s ease,visibility 0s}
.legal-modal__backdrop{position:absolute;inset:0;background:rgba(20,20,20,.35);cursor:pointer}
.legal-modal__panel{position:relative;width:min(680px,calc(100% - 32px));height:calc(100% - 16px);margin:8px;background:var(--yellow);color:#141414;padding:28px 56px 48px 32px;overflow-y:auto;transform:translateX(32px);transition:transform .35s cubic-bezier(.22,.75,.18,1);font:300 15px/1.38 "Albert Sans",sans-serif}
.legal-modal.is-open .legal-modal__panel{transform:translateX(0)}
.legal-modal__panel>h2{margin:0 0 40px;font-size:14px;line-height:1.3;font-weight:700;text-transform:uppercase}
.legal-modal__body{display:grid;gap:28px}
.legal-modal__body section{display:grid;grid-template-columns:165px 1fr;gap:24px;border:0;padding-top:0}
.legal-modal__body h3{font-size:14px;line-height:1.2;font-weight:700;text-transform:uppercase}
.legal-modal__body p{font:300 15px/1.3 "Albert Sans",sans-serif}
.legal-modal__body a{text-decoration:underline;text-underline-offset:2px}
.legal-modal__close{position:absolute;right:22px;top:14px;width:36px;height:36px;padding:0;border:0;background:transparent;color:#141414;font:300 38px/1 "Albert Sans",sans-serif;cursor:pointer}
body.legal-modal-open{overflow:hidden}
@media(max-width:820px){
  .legal-modal__panel{width:calc(100% - 16px);height:calc(100% - 16px);padding:24px 22px 40px}
  .legal-modal__panel>h2{margin-bottom:32px;font-size:14px}
  .legal-modal__body{gap:24px}
  .legal-modal__body section{grid-template-columns:1fr;gap:8px}
  .legal-modal__close{right:12px;top:10px}
  .footer-banner-meta{width:auto;margin-left:10px;padding:0;font-size:0}
  .footer-banner-meta::after{content:"© JFC · Obras © JLP";font-size:10px;white-space:nowrap}
}


/* ================================================================
   Formulario de solicitud de licencia — estados, contador y honeypot
   Añadido por el backend de envío. Bloque independiente: no modifica
   ninguna regla anterior.
   ================================================================ */

.contact-footer-form form label{position:relative}

/* Campo trampa: fuera del viewport, no con display:none
   (algunos bots detectan display:none y lo saltan). */
.hp-field{position:absolute;left:-9999px;top:0;width:1px;height:1px;overflow:hidden}

/* Mensajes de error por campo: sin altura mientras estén vacíos. */
.field-error{display:none;margin-top:3px;font-size:12px;line-height:1.25;font-weight:400;color:#be3a1d}
.field-error:not(:empty){display:block}

.contact-footer-form form [aria-invalid="true"]{border-bottom-color:#be3a1d}

/* Contador del textarea */
.field-counter{display:block;margin-top:2px;font-size:11px;line-height:1;text-align:right;opacity:.55}
.field-counter.is-warning{opacity:1;color:#a8730a}
.field-counter.is-danger{opacity:1;color:#be3a1d}

/* Consentimiento: anula el estilo de input de línea heredado del footer. */
.contact-footer-form form .consent-field{display:flex;align-items:flex-start;gap:9px;flex-wrap:wrap}
.contact-footer-form form .consent-field input[type="checkbox"]{
  display:inline-block!important;
  width:16px!important;
  min-width:16px;
  height:16px!important;
  min-height:16px!important;
  margin-top:2px;
  padding:0!important;
  border:1px solid rgba(0,0,0,.5)!important;
  accent-color:var(--ink);
  flex:0 0 auto;
}
.contact-footer-form form .consent-field>span{flex:1;min-width:0}
.contact-footer-form form .consent-field a{text-decoration:underline;text-underline-offset:2px}
.contact-footer-form form .consent-field .field-error{flex:0 0 100%}

/* Mensaje general de envío */
.form-message{display:none;margin-top:14px;font-size:13px;line-height:1.3}
.form-message:not(:empty){display:block}
.form-message.is-success{color:var(--ink);border-left:3px solid var(--yellow);padding-left:10px}
.form-message.is-error{color:#be3a1d}

.contact-footer-form form button[aria-busy="true"]{opacity:.6;cursor:progress}

/* El formulario crece con el texto, el consentimiento y los mensajes de error. */
@media(min-width:821px){
  :is(.home-global-footer,.expandable-footer) .contact-footer-form{
    display:grid;
    grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);
    align-content:start;
    gap:24px 20px;
    min-height:0;
    height:auto!important;
    overflow:visible;
    padding-bottom:32px;
  }
  :is(.home-global-footer,.expandable-footer) .contact-footer-heading{
    width:auto;
    min-width:0;
  }
  :is(.home-global-footer,.expandable-footer) .contact-footer-form address{
    position:static;
    min-width:0;
    margin:var(--contact-copy-offset,28px) 0 0;
    overflow-wrap:anywhere;
  }
  :is(.home-global-footer,.expandable-footer) .contact-footer-form form{
    position:static;
    display:block;
    grid-column:1 / -1;
    min-width:0;
    margin:0;
  }
  .home-global-footer.contact-footer{
    inset:0 0 54px;
    height:calc(100dvh - 54px);
    grid-template-rows:minmax(min-content,1fr);
    overflow-y:auto;
  }
  .footer-flow-page .expandable-footer.contact-footer.is-open{
    height:auto!important;
    min-height:calc(100dvh - 54px)!important;
    grid-template-rows:auto;
    margin-bottom:54px!important;
  }
  :is(.home-global-footer,.expandable-footer) .contact-footer-visual{
    grid-row:1;
    height:auto!important;
    min-height:calc(100dvh - 54px);
    align-self:stretch;
  }
  :is(.home-global-footer,.expandable-footer) .contact-footer-visual>img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
  }
}


/* SELECT PERSONALIZADO · SOLICITUD DE LICENCIA */

/* Contenedor */
.custom-select {
  position: relative;
  width: 100%;
}

/* Select real: sigue en el formulario y conserva name="Aplicación",
   pero no lo mostramos */
.contact-footer-form .custom-select > select {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
  border: 0 !important;
}

/* Selector que ve el usuario */
.contact-footer-form .custom-select-trigger {
  display: flex !important;
  align-items: center;
  justify-content: space-between;

  width: 100% !important;
 height: 20px !important;
min-height: 20px !important;

margin: 0 !important;
padding: 2px 0 !important;

  border: 0 !important;
  border-bottom: 1px solid rgba(0,0,0,.5) !important;
  border-radius: 0 !important;

  background: transparent !important;
  color: var(--ink) !important;

  font-family: "Albert Sans", sans-serif !important;
  font-size: 15px !important;
  line-height: 1.28 !important;  font-weight: 300 !important;

  text-align: left;
  box-shadow: none !important;
  outline: none !important;
  cursor: pointer;
}

:is(.home-global-footer,.expandable-footer)
.contact-footer-form .custom-select-trigger {
  font-family: "Albert Sans", sans-serif !important;
  font-size: 15px !important;
  line-height: 1.28 !important;
  font-weight: 300 !important;
}

/* Línea amarilla cuando está abierto */
.contact-footer-form .custom-select-trigger[aria-expanded="true"] {
  border-bottom-color: var(--yellow) !important;
}

/* Flecha */
.custom-select-arrow {
  width: 12px;
  height: 20px;
  flex: 0 0 12px;

  margin-right: 3px;

  border: 0;
  background: url('../media/arrow_back.png') center / contain no-repeat;

  font-size: 0;
  line-height: 0;

  transform: none;
  transform-origin: center;
  transition: transform .2s ease;
}

.custom-select-trigger[aria-expanded="true"] .custom-select-arrow {
  transform: rotate(180deg);
}

/* Desplegable */
.contact-footer-form .custom-select-options {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 100;

  width: 100%;
  padding: 0;

  background: #fff;
  box-shadow: 0 8px 20px rgba(0,0,0,.08);
}

/* Cerrado */
.contact-footer-form .custom-select-options[hidden] {
  display: none !important;
}

/* Opciones */
.contact-footer-form .custom-select-options button {
  display: block !important;

  width: 100% !important;
  height: auto !important;
  min-height: 38px !important;

  margin: 0 !important;
  padding: 9px 4px !important;

  border: 0 !important;
  border-radius: 0 !important;

  background: #fff !important;
  color: var(--ink) !important;

  font-family: "Albert Sans", sans-serif !important;
  font-size: 15px !important;
  line-height: 1.28 !important;
  font-weight: 300 !important;

  text-align: left;
  cursor: pointer;
}

/* Amarillo al pasar por una opción */
.contact-footer-form .custom-select-options button:hover,
.contact-footer-form .custom-select-options button:focus-visible {
  background: var(--yellow) !important;
  color: var(--ink) !important;
  outline: none !important;
}

@media (min-width:821px){

  :is(.home-global-footer,.expandable-footer) .contact-footer-form button[type="submit"]{
    display:block !important;
    position:static !important;
    visibility:visible !important;
    opacity:1 !important;

    width:177px;
    height:34px;

    margin:18px 0 0 auto !important;
    transform:none !important;

    flex:none !important;
  }

}

/* Interacciones de botones: mismo cristal que el banner, con su color propio. */
:is(.d-action-button,.d-license-link,.d-pair figure>a,.project-card .explore,.outline-link,.d-archive header>a,.archive-page-desktop .d-archive-cta,.lock-message a,.d-studio-actions a,.contact-footer-form button[type="submit"],.license-form-panel button[type="submit"],.footer-banner) {


  transition:background-color .2s ease,color .2s ease,backdrop-filter .2s ease;
}
:is(.d-action-button--dark,.d-license-link){--button-glass-color:#141414;--button-glass-text:#fff}
:is(.contact-footer-form button[type="submit"],.license-form-panel button[type="submit"],.footer-banner){--button-glass-color:var(--yellow);--button-glass-text:var(--ink)}
@media(hover:hover){
  :is(.d-action-button,.d-license-link,.d-pair figure>a,.project-card .explore,.outline-link,.d-archive header>a,.archive-page-desktop .d-archive-cta,.lock-message a,.d-studio-actions a,.contact-footer-form button[type="submit"],.license-form-panel button[type="submit"],.footer-banner):not(:disabled):not([aria-busy="true"]):hover {
    background:color-mix(in srgb,var(--button-glass-color,#fff) 55%,transparent);
    color:var(--button-glass-text,var(--ink));
    -webkit-backdrop-filter:blur(16px) saturate(140%);
    backdrop-filter:blur(16px) saturate(140%);
    filter:none;
  }
}
:is(.d-action-button,.d-license-link,.d-pair figure>a,.project-card .explore,.outline-link,.d-archive header>a,.archive-page-desktop .d-archive-cta,.lock-message a,.d-studio-actions a,.contact-footer-form button[type="submit"],.license-form-panel button[type="submit"],.footer-banner):not(:disabled):not([aria-busy="true"]):active {
  background:color-mix(in srgb,var(--button-glass-color,#fff) 45%,transparent);
  color:var(--button-glass-text,var(--ink));
  -webkit-backdrop-filter:blur(16px) saturate(140%);
  backdrop-filter:blur(16px) saturate(140%);
  filter:none;
}
@media(prefers-reduced-motion:reduce){
  :is(.d-action-button,.d-license-link,.d-pair figure>a,.project-card .explore,.outline-link,.d-archive header>a,.archive-page-desktop .d-archive-cta,.lock-message a,.d-studio-actions a,.contact-footer-form button[type="submit"],.license-form-panel button[type="submit"],.footer-banner) {transition:none}
}

/* Escala tipográfica compartida por todos los tamaños de pantalla. */
@media all{
  body :is(.d-home-intro h1,.d-label,.d-archive h2,.d-archive-info h3,
    .archive-page-desktop .d-archive-index h1,.license-process-intro h1,
    .license-process-intro>div p,.license-steps h2,.license-form-copy small,
    .license-form-copy h2,.artist-introduction h1,.d-license-card h2,
    .d-license-question,.contact-footer-heading small,.contact-footer-heading h2,
    .legal-modal__panel>h2,.legal-modal__body h3){font-size:12px!important}
  body :is(.d-home-intro p,.d-pair figcaption,.d-license-card ul,
    .d-archive-tagline,.d-archive-info ul,.d-archive-index p,
    .archive-page-desktop .d-year-index button,.license-process-intro>p,
    .license-steps p,.license-orientation,.artist-introduction p,.artist-copy-pair p,
    .contact-footer-heading p,.contact-footer-form address,
    .contact-footer-form label,.contact-footer-form input,
    .contact-footer-form select,.contact-footer-form textarea,
    .contact-footer-form .custom-select-trigger,
    .contact-footer-form .custom-select-options button,.legal-modal__body p){font-size:12px!important}
  body :is(.contact-footer-visual nav,.contact-footer-place,.contact-footer-year,
    .footer-banner){font-size:12px!important}
  body :is(.d-links,.d-label,.d-action-button,.d-license-link,.d-pair figure>a,
    .outline-link,.d-archive header>a,.archive-page-desktop .d-archive-cta,
    .d-studio-actions a,.lock-message a,.project-card .explore,
    .license-form-panel button[type="submit"],
    .contact-footer-form button[type="submit"]){font-size:11px!important}
}

/* Separación común entre encabezados y su contenido. */
body :is(.d-home-intro h1,.archive-heading h2,.d-archive-info h3,
  .d-archive-index h1,.license-process-intro h1,.license-steps h2,
  .license-form-copy h2,.contact-footer-heading h2,.legal-modal__panel>h2){
  margin-bottom:12px;
}
body :is(.d-home-intro,.archive-heading,.d-archive-index,.license-process-intro,
  .license-steps,.license-form-copy,.contact-footer-heading) :is(h1,h2,h3)+p{
  margin-top:0;
}
body .d-license-question{margin-bottom:12px}
@media(max-width:820px){
  body .artist-introduction,body .license-process-intro{row-gap:12px}
  body .legal-modal__body section{row-gap:12px}
}

/* Campos de escritura con tamaño estable en PC y móvil. */
body .contact-footer .contact-footer-form :is(input,select,textarea,.custom-select-trigger,.custom-select-options button),body .license-form-panel :is(input,select,textarea){font-family:'Albert Sans',sans-serif!important;font-size:12px!important;font-weight:300!important}

/* Explorar obras comparte la tipografía de los enlaces de navegación. */
body .d-pair figure > a{font-family:'Albert Sans',sans-serif!important;font-size:11px!important;font-weight:300!important;line-height:normal!important;letter-spacing:0}

body .contact-footer-form button[type='submit'],body .license-form-panel button[type='submit']{font-family:'Albert Sans',sans-serif!important;font-size:11px!important;font-weight:300!important;line-height:normal!important;letter-spacing:0}

/* Misma negrita que los títulos del formulario. */
.contact-footer-form address strong{font-family:'Albert Sans',sans-serif;font-weight:700!important}

/* Etiquetas accesibles y texto orientativo dentro del campo. */
[data-license-form] .form-field-caption{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0;
}
[data-license-form] :is(input,textarea)::placeholder{
  color:var(--ink);opacity:1;font:inherit;
}
body .contact-footer .contact-footer-form :is(input:not([type="checkbox"]),textarea){
  min-height:44px;height:auto;padding:12px 0;
}
body .contact-footer .contact-footer-form .custom-select-trigger{
  min-height:44px!important;height:auto!important;padding:12px 0!important;
}
/* Un punto más de legibilidad en móvil. */
@media(max-width:820px){

  body :is(.d-home-intro h1,.d-label,.d-archive h2,.d-archive-info h3,
    .archive-page-desktop .d-archive-index h1,.license-process-intro h1,
    .license-process-intro>div p,.license-steps h2,.license-form-copy small,
    .license-form-copy h2,.artist-introduction h1,.d-license-card h2,
    .d-license-question,.contact-footer-heading small,.contact-footer-heading h2,
    .legal-modal__panel>h2,.legal-modal__body h3){font-size:13px!important}
  body :is(.d-home-intro p,.d-pair figcaption,.d-license-card ul,
    .d-archive-tagline,.d-archive-info ul,.d-archive-index p,
    .archive-page-desktop .d-year-index button,.license-process-intro>p,
    .license-steps p,.license-orientation,.artist-introduction p,.artist-copy-pair p,
    .contact-footer-heading p,.contact-footer-form address,
    .contact-footer-form label,.contact-footer-form input,
    .contact-footer-form select,.contact-footer-form textarea,
    .contact-footer-form .custom-select-trigger,
    .contact-footer-form .custom-select-options button,.legal-modal__body p){font-size:13px!important}
  body :is(.contact-footer-visual nav,.contact-footer-place,.contact-footer-year,
    .footer-banner){font-size:13px!important}
  body :is(.d-links,.d-label,.d-action-button,.d-license-link,.d-pair figure>a,
    .outline-link,.d-archive header>a,.archive-page-desktop .d-archive-cta,
    .d-studio-actions a,.lock-message a,.project-card .explore,
    .license-form-panel button[type="submit"],
    .contact-footer-form button[type="submit"]){font-size:12px!important}
  body .contact-footer .contact-footer-form :is(input,select,textarea,.custom-select-trigger,.custom-select-options button),body .license-form-panel :is(input,select,textarea){font-size:13px!important}
  body .d-pair figure > a,body .contact-footer-form button[type='submit'],body .license-form-panel button[type='submit']{font-size:12px!important}
}

/* Textos del pie por encima del oscurecimiento de la fotografía. */
.contact-footer-visual .responsive-footer-metadata{position:relative;z-index:2}
body .contact-footer-visual :is(nav,nav a,.contact-footer-place,.contact-footer-year,.responsive-footer-credit){
  font-family:'Albert Sans',sans-serif!important;
  font-size:12px!important;
  font-weight:300!important;
  color:#fff!important;
  opacity:1;
}
@media(min-width:821px){
  .contact-footer-visual .responsive-footer-metadata{
    position:absolute;inset:auto 24px 12px;
    display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;
  }
  .contact-footer-visual .responsive-footer-metadata :is(.contact-footer-place,.contact-footer-year,.responsive-footer-credit){
    position:static;margin:0;padding:0;line-height:1.3;
  }
  .contact-footer-visual .responsive-footer-metadata .contact-footer-year{justify-self:end}
  .contact-footer-visual .responsive-footer-metadata .responsive-footer-credit{grid-column:1 / -1}
}
@media(max-width:820px){
  body .contact-footer-visual :is(nav,nav a,.contact-footer-place,.contact-footer-year,.responsive-footer-credit){font-size:13px!important}
}
@media(min-width:821px){
  .contact-footer-visual nav>div{gap:12px}
}

body .contact-footer-heading h2{margin:0 0 12px!important}

/* Marco interior uniforme del modal en todos los formatos. */
body .d-license-card{padding:26px;height:auto;min-height:0}

/* Archivo: mismo formato en la muestra y en los años bloqueados. */
@media(min-width:821px){
  .archive-page-desktop .d-archive-figma{padding-right:8px}
  .archive-page-desktop .d-archive-figma .d-gallery{
    grid-template-columns:repeat(4,minmax(0,1fr));
    grid-template-rows:none;grid-auto-rows:auto;height:auto!important;min-height:0;
  }
  .archive-page-desktop .d-archive-figma .d-gallery-cell{aspect-ratio:4 / 5;position:relative;height:auto}
  .archive-page-desktop .d-archive-figma .d-gallery img{
    position:absolute;inset:0;width:100%;max-width:none;height:100%;object-fit:cover;
  }
}
.archive-page-desktop .archive-sample-active .d-gallery img,
.archive-page-mobile .archive-content:not(.locked) .art img{
  cursor:grab;touch-action:none;user-select:none;-webkit-user-drag:none;
}
img.archive-panning{cursor:grabbing!important}

@media(min-width:821px){
  .archive-page-desktop .d-year-index button{height:29px;line-height:29px}
}

.archive-page-desktop .d-year-index button.active{font-weight:700}

/* Cabecera de escritorio compacta y espacio de contenido sincronizado. */
@media(min-width:821px){
  .d-nav{height:52px}
  .d-nav.nav-hidden{top:-52px}
  .d-nav .d-signature-link{top:50%;transform:translateY(-50%)}
  .d-nav .d-links{top:50%;transform:translate(-50%,-50%)}
  .d-nav .d-nav-mark{top:50%;transform:translateY(-50%)}
  .d-nav .d-license-link{top:50%;transform:translateY(-50%)}
  .license-page>main,.desktop-home,.archive-page-desktop{padding-top:52px}
  .archive-page-desktop .d-archive-figma{height:calc(100vh - 52px)}
  .archive-page-desktop .d-archive{min-height:calc(100vh - 52px)}
  .d-pair-first img,.d-pair-second img,.d-pair-third img,.d-pair-fourth img,.d-pair-fifth img{height:min(680px,max(120px,calc(100dvh - 209px)))}
}
/* Margen lateral compartido por las páginas. */
:root{--page-gutter:8px}
body .artist-hero{margin-inline:var(--page-gutter)}
body .artist-introduction,body .artist-image-pair,body .artist-copy-pair,
body .license-process,body .license-request{padding-inline:var(--page-gutter)}
@media(min-width:821px){
  .archive-page-desktop .d-archive-figma{padding-inline:var(--page-gutter)}
}
/* Barras ocultas en todas las páginas y paneles; el scroll sigue activo. */
html{scrollbar-gutter:auto}
html,body,body *{scrollbar-width:none}
html::-webkit-scrollbar,body::-webkit-scrollbar,body *::-webkit-scrollbar{display:none;width:0;height:0}
.mobile-banner-mark{display:none}

/* La vista general del estudio cierra la página del artista. */
body .artist-image-pair--bottom{padding-bottom:8px}
body .artist-hero--last{margin-bottom:78px}
@media(max-width:820px){body .artist-hero--last{margin-bottom:0}}
/* El pie comparte el margen lateral del resto de páginas. */
body .contact-footer .contact-footer-form{padding-inline:var(--page-gutter)}
@media(min-width:821px){
  body .contact-footer .contact-footer-visual{margin-right:var(--page-gutter)}
  body .contact-footer .contact-footer-visual nav{left:var(--page-gutter);right:var(--page-gutter)}
  body .contact-footer .contact-footer-visual .responsive-footer-metadata{left:var(--page-gutter);right:var(--page-gutter)}
}
/* Textos e imágenes del artista comparten los mismos ejes de columna. */
@media(min-width:821px){
  body .artist-introduction,body .artist-copy-pair{
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:8px;
  }
  body .artist-introduction>p{justify-self:start}
  body .artist-copy-pair>div{max-width:none;min-width:0}
}
/* Ritmo común para los tres pasos de licencia. */
body .license-steps{min-height:0;padding:24px 0}
body .license-steps article,body .license-steps article:first-child{
  min-width:0;padding:0 16px;
}
body .license-steps h2{margin:12px 0}
body .license-steps p{margin:0 0 12px}
body .license-steps p:last-child{margin-bottom:0}
@media(max-width:820px){
  body .license-steps{padding:24px 16px}
  body .license-steps article,body .license-steps article:first-child{padding:24px 0}
  body .license-steps article:first-child{padding-top:0}
  body .license-steps article:last-child{padding-bottom:0}
}
/* La fotografía del estudio cierra el contenido de licencias. */
.license-studio-photo{margin:8px var(--page-gutter) 62px}
.license-studio-photo img{width:100%;height:auto;display:block}
/* En PC las fotos finales llegan bajo el banner para que el blur tenga fondo. */
@media(min-width:821px){body .artist-image-pair--bottom{padding-bottom:0}}
@media(max-width:820px){.license-studio-photo{margin-bottom:0}}
/* Separación de la introducción según su contenido, sin altura vacía. */
body .license-process-intro{min-height:0;padding-bottom:42px;align-items:start}
@media(min-width:821px){
  .archive-page-desktop .d-year-index button{text-align:left;padding-left:16px}
}
@media(max-width:820px){body .license-process-intro{padding-bottom:32px}}

/* Introducción y tres pasos en cuatro columnas, sin separadores. */
body .license-steps{grid-template-columns:repeat(4,minmax(0,1fr))}
body .license-steps article+article{border:0}
body .license-steps>.license-process-intro{
  display:block;min-width:0;min-height:0;padding:0 16px;
}
body .license-steps>.license-process-intro>div{margin-bottom:12px}
body .license-steps>.license-process-intro>p{max-width:none}
@media(max-width:820px){
  body .license-steps>.license-process-intro{padding:0 0 24px}
  body .license-steps article{border:0}
}
/* Misma línea para indicadores, títulos y comienzo del texto. */
body .license-steps>.license-process-intro>div{margin:0}
body .license-steps>.license-process-intro>div>p,
body .license-steps>article>span{display:block;margin:0;line-height:1.3}
body .license-steps>.license-process-intro h1,
body .license-steps>article>h2{margin:12px 0;line-height:1.3}
body .license-steps>article>span{
  font-family:'Albert Sans',sans-serif;
  font-size:12px;
  font-weight:300;
  line-height:1.3;
}
@media(max-width:820px){body .license-steps>article>span{font-size:13px}}
/* Número y título forman un único encabezado. */
body .license-steps>article>h2{margin-top:0;font-weight:700}
@media(min-width:821px){
  body .license-steps>.license-process-intro>div>p{margin-bottom:12px}
  body .license-steps>.license-process-intro h1{margin-top:0}
}
body .license-steps>.license-process-intro h1{margin:0 0 12px;line-height:1.3}

@media (min-width: 821px) {
  .desktop-home .d-works { overflow: clip; }
  .desktop-home .d-carousel-slide > .d-label {
    position: sticky;
    top: 52px;
    z-index: 3;
    align-self: start;
    background: #fff;
  box-shadow: 0 -2px 0 #fff;
  }
}

/* Licencias: formulario siempre visible en el flujo normal. */
body.license-page .home-global-footer.contact-footer {
  position: relative !important;
  inset: auto !important;
  height: auto !important;
  max-height: none;
  min-height: 0;
  transform: none !important;
  visibility: visible !important;
  pointer-events: auto;
  overflow: visible !important;
  overscroll-behavior: auto;
  transition: none;
  z-index: auto;
  scroll-margin-top: 60px;
}
body.license-page .home-global-footer .contact-footer-form { height: auto; }
body.license-page .home-global-footer { grid-template-rows: auto; }
@keyframes footer-attention {
  0%, 100% { background: var(--yellow); backdrop-filter: blur(0); -webkit-backdrop-filter: blur(0); }
  45%, 65% { background: var(--license-glass-color); backdrop-filter: var(--license-glass-filter); -webkit-backdrop-filter: var(--license-glass-filter); }
}
.footer-banner.footer-attention { animation: footer-attention 1.8s ease-in-out; }
@media (prefers-reduced-motion: reduce) {
  .footer-banner.footer-attention { animation: none; outline: 2px solid currentColor; outline-offset: -2px; }
}
/* La foto del estudio continúa bajo la explicación amarilla de las licencias. */
.license-process-scene {
  margin: 0 var(--page-gutter) 62px;
  background: url('../media/studio 1.jpg') 65% center / cover no-repeat;
}
body.license-page .license-process-scene .license-process {
  padding: 0;
}
/* Fondo del cristal independiente: encuadrar el estudio, no solo su techo. */
body.license-page .license-process-scene .license-steps {
  --license-glass-color: rgba(247, 203, 32, .70);
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: #f2dfa0;
  color: #141414;
}
body.license-page .license-process-scene .license-steps::before {
  content: '';
  position: absolute;
  inset: -48px;
  z-index: -2;
  pointer-events: none;
  background: url('../media/studio 1.jpg') center 78% / cover no-repeat;
  filter: var(--license-glass-filter);
}
body.license-page .license-process-scene .license-steps::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: var(--license-glass-color);
}
body.license-page .license-process-scene .license-studio-photo {
  margin: 0;
}
.license-process-scene .license-studio-photo img {
  opacity: 0;
}
/* Amarillo original translúcido con un desenfoque más suave y amplio. */
:root { --yellow-glass: var(--license-glass-color); --yellow-glass-filter: var(--license-glass-filter); }
body .footer-banner.is-open,
body .footer-banner.footer-banner:not(:disabled):not([aria-busy="true"]):active {
  background: var(--yellow-glass);
  color: #141414;
  filter: none;
}
@media (hover: hover) {
  body .footer-banner.footer-banner:not(:disabled):not([aria-busy="true"]):hover {
    background: var(--yellow-glass);
    color: #141414;
    filter: none;
  }
}
body .footer-banner.is-open,
body .footer-banner.footer-banner:not(:disabled):not([aria-busy="true"]):active {
  -webkit-backdrop-filter: var(--yellow-glass-filter);
  backdrop-filter: var(--yellow-glass-filter);
}
@media (hover: hover) {
  body .footer-banner.footer-banner:not(:disabled):not([aria-busy="true"]):hover {
    -webkit-backdrop-filter: var(--yellow-glass-filter);
    backdrop-filter: var(--yellow-glass-filter);
  }
}
/* Alinear el arranque del texto con la introducción del artista en PC. */
@media (min-width: 821px) {
  /* Cabecera de 52px + 11px de aire: mismo inicio que el modal (63px). */
  body.license-page .license-process-scene {
    margin-top: 11px;
  }
  body.license-page .license-process-scene .license-steps {
    padding-top: 45px;
    padding-bottom: 42px;
  }
}
/* Una misma línea de títulos en escritorio, tomando la home como referencia. */
@media (min-width: 821px) {
  :root { --desktop-title-top: 140px; --desktop-header-height: 52px; }
  body .artist-introduction {
    padding-top: calc(var(--desktop-title-top) - var(--desktop-header-height));
  }
  body.license-page .license-process-scene .license-steps {
    padding-block: calc(var(--desktop-title-top) - var(--desktop-header-height) - 11px);
  }
  body .d-home-intro h1,
  body .artist-introduction h1,
  body .license-process-intro h1,
  body .license-steps > article > h2 {
    line-height: 1.3;
  }
  .archive-page-desktop .d-archive-index {
    position: relative;
  }
  .archive-page-desktop .d-year-index {
    position: absolute;
    top: calc(var(--desktop-title-top) - var(--desktop-header-height));
    bottom: 0;
    left: 0;
    right: 0;
    margin-top: 0;
  }
  .archive-page-desktop .d-year-index button {
    display: flex;
    align-items: flex-start;
    line-height: 1.3;
    padding-top: 0;
    padding-bottom: 0;
  }
}
/* Separación habitual entre la última foto y el footer de Licencias en PC. */
@media (min-width: 821px) {
  body.license-page.footer-flow-page > main {
    padding-bottom: 8px;
  }
  body.license-page .license-process-scene {
    margin-bottom: 0;
  }
}
/* Los botones amarillos comparten también el cristal dorado. */
body :is(.contact-footer-form,.license-form-panel) button[type="submit"]:not(:disabled):active {
  background: var(--yellow-glass);
  -webkit-backdrop-filter: var(--yellow-glass-filter);
  backdrop-filter: var(--yellow-glass-filter);
}
@media (hover: hover) {
  body :is(.contact-footer-form,.license-form-panel) button[type="submit"]:not(:disabled):hover {
    background: var(--yellow-glass);
    -webkit-backdrop-filter: var(--yellow-glass-filter);
    backdrop-filter: var(--yellow-glass-filter);
  }
}
/* Cristal amarillo compartido: modal, menú, Licencias, banner y botones. */
:root { --license-glass-color: rgba(247, 203, 32, .60); --license-glass-filter: blur(12px) saturate(170%); }
