:root{--bg:#0a0a0a;--fg:#f5f3ee;--muted:#8f8c86;--accent:#4d7cff;--line:rgba(245,243,238,.14);--ph:#111;color-scheme:dark;}
:root[data-theme=light]{--bg:#f5f3ee;--fg:#0a0a0a;--muted:#6b6862;--accent:#2f5bff;--line:rgba(10,10,10,.16);--ph:#e4e1da;color-scheme:light;}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%;scrollbar-gutter:stable;}
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg);color:var(--fg);font-family:'Space Grotesk',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;line-height:1.6;}
::selection{background:var(--accent);color:#fff;}
a{color:inherit;text-decoration:none;}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;}

/* cursor + grano */
#flash{position:fixed;inset:0;background:#fff;opacity:0;pointer-events:none;z-index:300;}
#flash.go{animation:flash .4s ease-out;}
@keyframes flash{0%{opacity:.4;}100%{opacity:0;}}
#progress{position:fixed;top:0;left:0;width:100%;height:3px;background:var(--accent);transform-origin:left;transform:scaleX(0);z-index:150;}
#grain{display:none;}

/* nav */
nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:18px 40px;}
.brand{display:flex;align-items:center;gap:12px;position:relative;z-index:2;}
.brand img{width:38px;height:38px;border-radius:50%;object-fit:cover;filter:grayscale(1) contrast(1.2);}
.brand span{font-family:'Anton',Impact,'Arial Narrow',sans-serif;letter-spacing:.08em;font-size:15px;text-transform:uppercase;}
.navlinks{display:flex;gap:34px;font-size:13px;letter-spacing:.12em;font-weight:500;text-transform:uppercase;}
.navlinks a{position:relative;padding-bottom:4px;}
.navlinks a::after{content:'';position:absolute;left:0;bottom:0;height:1px;width:0;background:var(--fg);transition:width .35s cubic-bezier(.65,0,.35,1);}
.navlinks a:hover::after,.navlinks a.active::after{width:100%;}
.dropdown{position:relative;}
.dropdown::after{content:'';position:absolute;left:0;right:0;top:100%;height:14px;}
.dropmenu{position:absolute;top:calc(100% + 10px);left:-10px;background:var(--fg);color:var(--bg);padding:10px 0;min-width:170px;border-radius:2px;opacity:0;visibility:hidden;transform:translateY(-6px);transition:.25s ease;}
.dropdown:hover .dropmenu,.dropdown:focus-within .dropmenu{opacity:1;visibility:visible;transform:none;}
.dropmenu a{display:block;padding:8px 18px;font-size:12px;letter-spacing:.1em;}
.dropmenu a::after{display:none;}
.dropmenu a:hover,.dropmenu a.active{background:var(--accent);color:#fff;}
.menu-btn{display:none;background:none;border:0;color:var(--fg);font:500 12px 'JetBrains Mono',ui-monospace,Menlo,Consolas,monospace;letter-spacing:.15em;text-transform:uppercase;position:relative;z-index:2;}

/* títulos */
.eyebrow{font-family:'JetBrains Mono',ui-monospace,Menlo,Consolas,monospace;font-size:12px;letter-spacing:.25em;color:var(--muted);text-transform:uppercase;margin-bottom:18px;opacity:0;animation:fadeUp .8s .3s forwards;}
h1{font-family:'Anton',Impact,'Arial Narrow',sans-serif;font-size:clamp(48px,10vw,150px);line-height:.95;letter-spacing:-.01em;text-transform:uppercase;display:flex;flex-wrap:wrap;}
.hero h1{font-size:clamp(52px,13vw,190px);line-height:.88;}
h1 .word{display:flex;overflow:hidden;margin-right:.28em;padding:.14em 0 .02em;}
h1 .word>span{display:inline-block;transform:translateY(110%);animation:riseUp .9s cubic-bezier(.2,.8,.2,1) forwards;}
h1 .word:nth-child(2)>span{animation-delay:.1s;}
h1 .word:last-child>span{color:transparent;-webkit-text-stroke:2px var(--fg);}
.sub{margin-top:26px;max-width:520px;font-size:16px;color:var(--muted);opacity:0;animation:fadeUp .8s .9s forwards;}
.sub b{color:var(--fg);font-weight:600;}
@keyframes riseUp{to{transform:translateY(0);}}
@keyframes fadeUp{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}

.hero{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:0 40px;position:relative;}
.pagehead{padding:19vh 40px 7vh;}
.scrolldown{position:absolute;bottom:36px;left:40px;display:flex;align-items:center;gap:10px;font-family:'JetBrains Mono',ui-monospace,Menlo,Consolas,monospace;font-size:11px;letter-spacing:.15em;color:var(--muted);}
.scrolldown .bar{width:1px;height:34px;background:var(--line);position:relative;overflow:hidden;}
.scrolldown .bar::after{content:'';position:absolute;top:-100%;left:0;width:100%;height:100%;background:var(--accent);animation:scrollbar 1.6s ease-in-out infinite;}
@keyframes scrollbar{50%{top:0;}100%{top:100%;}}

/* marquee */
.marquee-wrap{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;transform:rotate(-1.4deg) scale(1.03);background:var(--bg);position:relative;z-index:2;margin:6vh 0;}
.marquee{display:flex;white-space:nowrap;will-change:transform;animation:scroll 30s linear infinite;}
.marquee span{font-family:'Anton',Impact,'Arial Narrow',sans-serif;font-size:clamp(28px,5vw,54px);text-transform:uppercase;padding:0 28px;color:transparent;-webkit-text-stroke:1.4px var(--fg);}
.marquee span.dot{color:var(--accent);-webkit-text-stroke:0;}
@keyframes scroll{to{transform:translateX(-50%);}}

/* galerías */
.gallery-section{padding:4vh 40px 10vh;}
.row{display:grid;gap:18px;margin-bottom:18px;}
.row1{grid-template-columns:1.2fr 1fr 1fr;}
.row2{grid-template-columns:repeat(4,1fr);}
.masonry{columns:3;column-gap:18px;padding:0 40px 10vh;}
figure{position:relative;overflow:hidden;background:var(--ph);opacity:0;transform:translateY(28px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.8,.2,1);contain:paint;}
figure.in{opacity:1;transform:none;}
figure.tall{aspect-ratio:3/4;}
figure.wide{aspect-ratio:4/5;}
figure img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.8,.2,1);}
figure:hover img{transform:scale(1.06);}
figure::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.75));opacity:0;transition:opacity .4s;z-index:1;pointer-events:none;}
figure:hover::before{opacity:1;}
figcaption{position:absolute;left:16px;bottom:14px;z-index:2;font-family:'JetBrains Mono',ui-monospace,Menlo,Consolas,monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#fff;opacity:0;transform:translateY(10px);transition:.4s;}
figure:hover figcaption{opacity:1;transform:none;}
.num{position:absolute;top:14px;right:16px;z-index:2;font-family:'JetBrains Mono',ui-monospace,Menlo,Consolas,monospace;font-size:11px;color:rgba(255,255,255,.85);text-shadow:0 1px 6px rgba(0,0,0,.6);}
.row1 figure:nth-child(2),.row2 figure:nth-child(2){transition-delay:.12s;}
.row1 figure:nth-child(3),.row2 figure:nth-child(3){transition-delay:.2s;}
.row2 figure:nth-child(4){transition-delay:.28s;}

/* lightbox */
#lb{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.95);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;visibility:hidden;transition:opacity .3s,visibility 0s .3s;}
#lb.open{opacity:1;pointer-events:auto;visibility:visible;transition:opacity .3s;}
#lb img{max-width:90vw;max-height:88vh;object-fit:contain;}
#lb button{position:absolute;background:none;border:0;color:#fff;font-size:26px;padding:18px;}
#lb .x{top:10px;right:14px;}#lb .p{left:10px;top:50%;}#lb .n{right:10px;top:50%;}

/* sobre mí */
.about{display:grid;grid-template-columns:5fr 6fr;gap:6vw;padding:0 40px 12vh;align-items:start;}
.portrait{aspect-ratio:4/5;}
.portrait img{object-position:center top;}
.abouttext p{color:var(--muted);max-width:620px;margin-bottom:16px;font-size:17px;}
.abouttext p strong{color:var(--fg);font-weight:600;}
.abouttext h3,.contact h3{font-family:'Anton',Impact,'Arial Narrow',sans-serif;font-weight:400;text-transform:uppercase;font-size:30px;letter-spacing:.02em;margin:44px 0 14px;}
.abouttext ul{list-style:none;border-top:1px solid var(--line);margin-bottom:10px;}
.abouttext li{border-bottom:1px solid var(--line);}
.abouttext li a{display:block;padding:14px 0;transition:.3s;}
.abouttext li a:hover{color:var(--accent);padding-left:10px;}

/* contacto */
.contact{display:grid;grid-template-columns:1fr 1fr;gap:6vw;padding:0 40px 12vh;align-items:start;}
.contact .lead{font-size:18px;color:var(--muted);max-width:480px;}
.datos{margin-top:36px;}
.datos div{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid var(--line);font-family:'JetBrains Mono',ui-monospace,Menlo,Consolas,monospace;font-size:12px;letter-spacing:.1em;}
.datos div:first-child{border-top:1px solid var(--line);}
.datos span{color:var(--muted);text-transform:uppercase;}
.datos a:hover{color:var(--accent);}
.contact h3{margin-top:0;}
form{display:flex;flex-direction:column;gap:22px;}
input,textarea{background:none;border:0;border-bottom:1px solid var(--line);color:var(--fg);font:inherit;padding:14px 0;outline:none;border-radius:0;resize:none;transition:border-color .3s;}
input:focus,textarea:focus{border-color:var(--accent);}
::placeholder{color:var(--muted);}
.send{align-self:flex-start;background:var(--fg);color:var(--bg);border:0;padding:16px 34px;font:600 12px 'JetBrains Mono',ui-monospace,Menlo,Consolas,monospace;letter-spacing:.18em;text-transform:uppercase;transition:.3s;}
.send:hover{background:var(--accent);color:#fff;}

/* footer */
footer{padding:14vh 40px 6vh;position:relative;border-top:1px solid var(--line);}
footer .big{font-family:'Anton',Impact,'Arial Narrow',sans-serif;text-transform:uppercase;font-size:clamp(30px,7vw,88px);line-height:1.02;letter-spacing:-.01em;}
footer .big a{position:relative;display:inline-block;}
footer .big a::after{content:'';position:absolute;left:0;bottom:6px;width:100%;height:6px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.2,.8,.2,1);z-index:-1;}
footer .big a:hover::after{transform:scaleX(1);}
.footgrid{display:flex;justify-content:space-between;flex-wrap:wrap;gap:24px;margin-top:8vh;font-family:'JetBrains Mono',ui-monospace,Menlo,Consolas,monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);}
.footgrid a:hover{color:var(--fg);}
.footgrid .col{display:flex;flex-direction:column;gap:10px;}
.footgrid .col>span:first-child{color:var(--fg);}

@media(max-width:900px){.masonry{columns:2;}.about,.contact{grid-template-columns:1fr;}}
@media(max-width:760px){
  nav{mix-blend-mode:normal;background:var(--bg);padding:14px 20px;}
  .menu-btn{display:block;}
  .navlinks{position:fixed;inset:0;background:var(--bg);flex-direction:column;justify-content:center;align-items:flex-start;gap:22px;padding:0 30px;font-size:22px;transform:translateX(100%);transition:transform .45s cubic-bezier(.65,0,.35,1);z-index:1;}
  .navlinks.open{transform:none;}
  .dropmenu{position:static;opacity:1;visibility:visible;transform:none;background:none;color:var(--muted);padding:6px 0 0 14px;}
  .dropmenu a{padding:6px 0;font-size:15px;}
  .dropmenu a:hover,.dropmenu a.active{background:none;color:var(--accent);}
  .dropdown::after{display:none;}
  .row1,.row2{grid-template-columns:1fr 1fr;}
  .row1 figure:last-child{grid-column:span 2;aspect-ratio:16/10;}
  .gallery-section,.hero,.pagehead,.about,.contact,footer{padding-left:20px;padding-right:20px;}
  .masonry{padding:0 20px 8vh;column-gap:12px;}
  .masonry figure{margin-bottom:12px;}
  .scrolldown{left:20px;}
}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01s!important;transition-duration:.01s!important;}.marquee{animation:none;}}


/* ---- más movimiento ---- */
html{overflow-x:hidden;}
h1 i{font-style:normal;display:inline-block;will-change:transform;}
h1 i.hot{-webkit-text-fill-color:var(--accent);-webkit-text-stroke-color:var(--accent);}
h1.done .word{overflow:visible;}
.eyebrow{animation-delay:.35s;}
h1 .word>span{animation-delay:.3s;}
h1 .word:nth-child(2)>span{animation-delay:.4s;}
.sub{animation-delay:.8s;}
.mag{transition:translate .3s cubic-bezier(.2,.8,.2,1);}
#flash{z-index:300;}
#wipe{position:fixed;inset:0;background:var(--accent);z-index:400;transform:translateY(100%);pointer-events:none;}
body::after{content:'';position:fixed;inset:0;background:var(--accent);z-index:400;pointer-events:none;animation:wipeOut .5s 0s cubic-bezier(.7,0,.2,1) forwards;}
@keyframes wipeOut{to{transform:translateY(-100%);}}

/* ---- tema claro/oscuro ---- */
nav::before{content:'';position:absolute;inset:0 0 -26px 0;background:linear-gradient(var(--bg) 35%,transparent);z-index:-1;pointer-events:none;}
.navlinks{margin-left:auto;margin-right:34px;}
.navright{display:flex;align-items:center;gap:12px;position:relative;z-index:2;}
.theme-btn{background:none;border:1px solid var(--line);color:var(--fg);width:38px;height:38px;border-radius:50%;display:grid;place-items:center;cursor:pointer;transition:transform .5s cubic-bezier(.2,.8,.2,1),border-color .3s,color .3s;}
.theme-btn:hover{transform:rotate(40deg) scale(1.1);border-color:var(--accent);color:var(--accent);}
.theme-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.theme-btn .moon{display:none;}
:root[data-theme=light] .theme-btn .sun{display:none;}
:root[data-theme=light] .theme-btn .moon{display:block;}
::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal;}
@media(max-width:760px){.navlinks{margin:0;}}

/* ---- fluidez ---- */
/* galerías: fotos quietas, completas y sin recortar */


/* ---- fotos fluidas y consistentes entre sistemas ---- */
input,textarea,button{-webkit-appearance:none;appearance:none;}
.masonry figure{transform:none;aspect-ratio:4/5;transition:opacity .5s ease;}
.masonry figure::before{display:none;}
.masonry.cols{display:flex;gap:18px;columns:auto;align-items:flex-start;}
.mcol{flex:1;min-width:0;display:flex;flex-direction:column;gap:18px;}
.masonry.cols figure{margin:0;width:100%;}
.tfade *{transition:background-color .4s,color .4s,border-color .4s!important;}
@media(max-width:760px){.masonry.cols,.mcol{gap:12px;}}

/* ---- fluidez máxima: el scroll no ejecuta JavaScript ---- */
.hero h1{will-change:transform,opacity;}
@supports (animation-timeline:scroll()){
  #progress{animation:grow linear both;animation-timeline:scroll(root);}
  .hero h1{animation:heroOut linear both;animation-timeline:scroll(root);animation-range:0 500px;}
  .row1{animation:rowL linear both;animation-timeline:view();animation-range:cover;}
  .row2{animation:rowR linear both;animation-timeline:view();animation-range:cover;}
  @keyframes grow{to{transform:scaleX(1);}}
  @keyframes heroOut{to{transform:translateY(75px);opacity:0;}}
  @keyframes rowL{from{translate:100px 0;}to{translate:-100px 0;}}
  @keyframes rowR{from{translate:-100px 0;}to{translate:100px 0;}}
}
/* ---- páginas legales, aviso de cookies y casilla del formulario ---- */
.legal-page{max-width:820px;padding:0 40px 12vh;}
.legal-page h2{font-family:'Anton',Impact,'Arial Narrow',sans-serif;font-weight:400;font-size:28px;text-transform:uppercase;letter-spacing:.02em;margin:44px 0 12px;}
.legal-page p,.legal-page li{color:var(--muted);margin-bottom:12px;}
.legal-page strong{color:var(--fg);font-weight:600;}
.legal-page ul{padding-left:20px;}
.legal-page a{color:var(--fg);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:3px;}
.legal-page .fill{font-style:normal;background:var(--accent);color:#fff;padding:0 6px;}
.tablewrap{overflow-x:auto;margin:16px 0;}
.legal-page table{width:100%;min-width:560px;border-collapse:collapse;font-size:14px;}
.legal-page th,.legal-page td{text-align:left;padding:12px 14px 12px 0;border-bottom:1px solid var(--line);color:var(--muted);vertical-align:top;}
.legal-page th{color:var(--fg);font:500 11px 'JetBrains Mono',ui-monospace,Menlo,Consolas,monospace;letter-spacing:.12em;text-transform:uppercase;}
.legal{display:block;margin-top:4px;}
.consent{display:flex;gap:12px;align-items:flex-start;font-size:14px;color:var(--muted);}
.consent input{flex:none;width:20px;height:20px;padding:0;margin-top:2px;border:1px solid var(--muted);cursor:pointer;transition:.2s;}
.consent input:checked{background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3.2 3.2L15 7' fill='none' stroke='white' stroke-width='2'/%3E%3C/svg%3E") center/100% no-repeat;border-color:var(--accent);}
.consent a,.rgpd a{text-decoration:underline;}
.rgpd{font-size:12px;color:var(--muted);line-height:1.5;}
#cookies{position:fixed;left:20px;bottom:20px;max-width:420px;z-index:250;background:var(--fg);color:var(--bg);padding:22px;box-shadow:0 20px 60px rgba(0,0,0,.35);font-size:14px;line-height:1.5;transform:translateY(30px);opacity:0;visibility:hidden;transition:transform .5s cubic-bezier(.2,.8,.2,1),opacity .4s,visibility 0s .5s;}
#cookies.show{transform:none;opacity:1;visibility:visible;transition:transform .5s cubic-bezier(.2,.8,.2,1),opacity .4s;}
#cookies h2{font-family:'Anton',Impact,'Arial Narrow',sans-serif;font-weight:400;font-size:22px;text-transform:uppercase;letter-spacing:.03em;margin-bottom:8px;}
#cookies p{margin-bottom:16px;opacity:.8;}
#cookies a{text-decoration:underline;}
#cookies .btns{display:flex;gap:10px;}
#cookies button{flex:1;padding:12px 14px;font:600 11px 'JetBrains Mono',ui-monospace,Menlo,Consolas,monospace;letter-spacing:.15em;text-transform:uppercase;border:1px solid var(--bg);background:none;color:var(--bg);cursor:pointer;transition:.25s;}
#cookies button.ok{background:var(--bg);color:var(--fg);}
#cookies button:hover{background:var(--accent);border-color:var(--accent);color:#fff;}
@media(max-width:760px){.legal-page{padding:0 20px 8vh;}}
@media(max-width:560px){#cookies{left:12px;right:12px;bottom:12px;max-width:none;}}

/* ================================================================
   REVISIÓN MÓVIL · DESCARGAS · FORMULARIO
   ================================================================ */
body{overflow-x:clip;}
.gallery-section,.hero{overflow-x:clip;}
.marquee-wrap{overflow:hidden;}
.about>*,.contact>*{min-width:0;}
input,textarea{width:100%;min-width:0;}
.datos div{flex-wrap:wrap;}
.datos a,.footgrid a{overflow-wrap:anywhere;}
.footgrid .col{min-width:0;}
.legal a{display:inline-block;padding:14px 6px 14px 0;}
.footgrid .col{gap:4px;}
.footgrid .col>a{display:inline-flex;align-items:center;min-height:44px;}
.brand{min-height:44px;}

/* formulario */
.consent{min-height:44px;}
.consent input{width:24px;height:24px;}
.consent.has-error input{border-color:#e5484d;}
.consent-wrap{display:flex;flex-direction:column;gap:8px;}
.field-error{font-size:14px;font-weight:500;color:#e5484d;}
:root[data-theme=light] .field-error{color:#b3202a;}
.form-status{min-height:1.5em;font-size:14px;}
.form-status[data-type=ok]{color:#2fa36b;}
.form-status[data-type=error]{color:#e5484d;}
:root[data-theme=light] .form-status[data-type=ok]{color:#1d7a4d;}
:root[data-theme=light] .form-status[data-type=error]{color:#b3202a;}
.send{min-height:48px;}
.send[disabled]{opacity:.6;cursor:wait;}
.legal-links{display:flex;flex-wrap:wrap;align-items:center;column-gap:18px;font-size:13px;color:var(--muted);}
.legal-links a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;}

/* descargas */
.dl-note{margin:0 40px 36px;padding:14px 18px;border-left:3px solid var(--accent);background:var(--ph);font-size:15px;max-width:720px;}
.dl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:18px;padding:0 40px 12vh;}
.dl-card{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:28px;border:1px solid var(--line);opacity:0;transform:translateY(28px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.8,.2,1),border-color .3s;}
.dl-card.in{opacity:1;transform:none;}
.dl-card:hover{border-color:var(--accent);}
.dl-num{font:500 11px 'JetBrains Mono',ui-monospace,Menlo,Consolas,monospace;letter-spacing:.15em;color:var(--muted);}
.dl-card h2{font-family:'Anton',Impact,'Arial Narrow',sans-serif;font-weight:400;font-size:28px;line-height:1.1;text-transform:uppercase;letter-spacing:.02em;overflow-wrap:anywhere;}
.dl-card p{color:var(--muted);font-size:15px;}
.dl-btn{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border:1px solid var(--fg);font:600 12px 'JetBrains Mono',ui-monospace,Menlo,Consolas,monospace;letter-spacing:.15em;text-transform:uppercase;text-align:center;transition:.3s;}
a.dl-btn:not(.is-off):hover{background:var(--accent);border-color:var(--accent);color:#fff;}
.dl-btn.is-off{border-style:dashed;border-color:var(--line);color:var(--muted);cursor:not-allowed;}

/* aviso de cookies: por debajo del menú y con botones cómodos */
#cookies{z-index:90;}
#cookies button{min-height:44px;}

/* visor de fotos */
#lb button{min-width:48px;min-height:48px;display:grid;place-items:center;padding:0;}
#lb .p,#lb .n{transform:translateY(-50%);}

/* pantallas táctiles: sin hover, los pies de foto se ven siempre */
@media(hover:none){
  figcaption{opacity:1;transform:none;}
  figure::before{opacity:1;}
  figure:hover img{transform:none;}
}
@media(max-height:520px){.scrolldown{display:none;}}

/* menú móvil desde 900px (ahora hay 5 enlaces) */
@media(max-width:1100px){.navlinks{gap:24px;margin-right:24px;}}
@media(max-width:900px){
  nav{background:var(--bg);padding:10px 20px;}
  .menu-btn{display:block;min-height:44px;padding:0 6px;}
  .theme-btn{width:44px;height:44px;}
  .navlinks{position:fixed;inset:0;margin:0;background:var(--bg);flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:14px;padding:96px 30px 40px;font-size:20px;overflow-y:auto;transform:translateX(100%);visibility:hidden;transition:transform .45s cubic-bezier(.65,0,.35,1),visibility 0s .45s;z-index:1;}
  .navlinks.open{transform:none;visibility:visible;transition:transform .45s cubic-bezier(.65,0,.35,1);}
  .navlinks a{padding:8px 0;}
  .dropmenu{position:static;opacity:1;visibility:inherit;transform:none;background:none;color:var(--muted);padding:4px 0 0 14px;min-width:0;}
  .dropmenu a{padding:8px 0;font-size:16px;}
  .dropmenu a:hover,.dropmenu a.active{background:none;color:var(--accent);}
  .dropdown::after{display:none;}
}
@media(max-width:760px){
  .dl-note{margin:0 20px 28px;}
  .dl-grid{padding:0 20px 8vh;}
  .dl-btn{width:100%;}
  .legal-page{padding:0 20px 8vh;}
}
@media(max-width:560px){
  .send{width:100%;align-self:stretch;}
  #lb img{max-width:100vw;max-height:80vh;}
  #lb .p{left:0;}#lb .n{right:0;}
}
@media(max-width:400px){
  nav{padding:10px 14px;}
  .brand{gap:8px;}
  .brand span{font-size:13px;letter-spacing:.05em;}
  .navright{gap:6px;}
  .pagehead{padding-top:17vh;}
}
