:root{
  --bg:#14120F; --bg2:#1B1813; --ink:#EDE7DA; --ink-dim:#A79E8B;
  --sage:#8A9678; --ochre:#C79A4B; --clay:#A85C3B;
  --line:rgba(237,231,218,0.13);
  --serif:'Fraunces', Georgia, serif;
  --sans:'Work Sans', Arial, sans-serif;
  --mono:'Space Mono', monospace;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth; overflow-x:hidden;}
body{background:var(--bg); color:var(--ink); font-family:var(--sans); font-weight:300; overflow-x:hidden; position:relative;}
a{color:inherit;} img{max-width:100%; display:block;}
::selection{background:var(--ochre); color:var(--bg);}

.aurora{position:fixed; inset:-20%; z-index:0; pointer-events:none;
  background:
    radial-gradient(ellipse 45% 35% at 20% 20%, rgba(138,150,120,0.16), transparent 60%),
    radial-gradient(ellipse 40% 40% at 80% 30%, rgba(199,154,75,0.12), transparent 60%),
    radial-gradient(ellipse 50% 45% at 50% 90%, rgba(168,92,59,0.10), transparent 60%);
  animation:auroraShift 44s ease-in-out infinite alternate;
}
@keyframes auroraShift{0%{transform:translate(0,0) rotate(0deg);} 100%{transform:translate(-4%,3%) rotate(3deg);}}
.grain{position:fixed; inset:0; z-index:1; pointer-events:none; opacity:0.045; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
main, header, footer{position:relative; z-index:2;}

#splash{position:fixed; inset:0; z-index:999; background:var(--bg); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:0; animation:splashFadeOut 1s cubic-bezier(.4,0,.6,1) 3.8s forwards;}
@keyframes splashFadeOut{0%{opacity:1; transform:scale(1);} 100%{opacity:0; transform:scale(1.02); visibility:hidden; pointer-events:none;}}

#splash .splash-title{display:flex; overflow:hidden; font-family:var(--serif); font-style:italic; font-size:clamp(28px,7.5vw,80px); letter-spacing:0.01em; line-height:1;}
#splash .splash-title span{
  display:inline-block;
  opacity:0;
  transform:translateY(110%) skewY(6deg);
  filter:blur(4px);
  animation:charReveal .65s cubic-bezier(.16,1,.3,1) forwards;
}
@keyframes charReveal{
  0%{opacity:0; transform:translateY(110%) skewY(6deg); filter:blur(4px);}
  60%{filter:blur(0px);}
  100%{opacity:1; transform:translateY(0) skewY(0); filter:blur(0);}
}

#splash .splash-sub{
  font-family:var(--sans); font-size:clamp(10px,1.2vw,13px); letter-spacing:0.22em;
  text-transform:uppercase; color:var(--ink-dim);
  opacity:0; transform:translateY(8px);
  animation:subReveal .8s ease 1.4s forwards;
  margin-top:18px;
}
@keyframes subReveal{to{opacity:1; transform:translateY(0);}}

#splash .splash-bar-wrap{
  position:absolute; bottom:12%; left:50%; transform:translateX(-50%);
  width:min(240px,50vw); display:flex; flex-direction:column; align-items:center; gap:8px;
}
#splash .splash-bar{
  width:100%; height:1px; background:rgba(237,231,218,0.12); position:relative; overflow:hidden;
}
#splash .splash-bar::after{
  content:""; position:absolute; left:-100%; top:0; width:100%; height:1px;
  background:linear-gradient(90deg, transparent, var(--ochre), transparent);
  animation:barSweep 3.2s ease 0.3s forwards;
}
@keyframes barSweep{
  0%{left:-100%; opacity:0.4;}
  20%{opacity:1;}
  100%{left:100%; opacity:0.6;}
}
#splash .splash-num{
  font-family:var(--mono); font-size:10px; letter-spacing:0.12em; color:rgba(237,231,218,0.28);
  animation:numFade 3s ease 0.3s forwards;
}
@keyframes numFade{0%{opacity:0;} 20%{opacity:1;} 90%{opacity:1;} 100%{opacity:0;}}

.side-badge{position:fixed; right:18px; top:50%; transform:translateY(-50%) rotate(90deg); transform-origin:right center; z-index:60;
  display:flex; align-items:center; gap:10px; font-family:var(--mono); font-size:10px; letter-spacing:0.14em; text-transform:uppercase; color:var(--ink-dim);}
.side-badge .dot{width:6px; height:6px; border-radius:50%; background:var(--sage); animation:pulse 2s ease-in-out infinite;}
@keyframes pulse{0%,100%{opacity:1;} 50%{opacity:0.4;}}
@media (max-width:760px){.side-badge{display:none;}}

header{position:fixed; top:0; left:0; right:0; z-index:80; display:flex; justify-content:space-between; align-items:center; padding:20px 5vw; transition:background .3s ease, backdrop-filter .3s ease;}
header.scrolled{background:rgba(20,18,15,0.75); backdrop-filter:blur(10px); border-bottom:1px solid var(--line);}
.brand{font-family:var(--serif); font-style:italic; font-size:19px; text-decoration:none;}
nav{display:flex; align-items:center; gap:26px;}
nav a{font-family:var(--mono); font-size:11px; letter-spacing:0.08em; text-decoration:none; color:var(--ink-dim); display:flex; gap:6px; align-items:baseline;}
nav a span{color:var(--ochre); font-size:10px;}
nav a:hover{color:var(--ink);}
.nav-cta{font-family:var(--sans); font-weight:600; color:var(--bg)!important; background:var(--ochre); padding:9px 18px; border-radius:2px; font-size:12px;}
.burger{display:none;}
@media (max-width:860px){ nav{display:none;} }

.cur{position:fixed; z-index:200; pointer-events:none; width:64px; height:64px; border:1px solid var(--ochre); border-radius:50%;
  display:flex; align-items:center; justify-content:center; font-family:var(--mono); font-size:9px; text-transform:uppercase;
  letter-spacing:0.08em; transform:translate(-50%,-50%) scale(0); transition:transform .25s ease; opacity:0.9;}
.cur.show{transform:translate(-50%,-50%) scale(1);}
@media (hover:none){.cur{display:none;}}

.hero{min-height:100svh; position:relative; display:flex; flex-direction:column; justify-content:flex-end; padding:0 5vw 60px; overflow:hidden;}
.hero-bg{position:absolute; inset:0; z-index:-1;
  background:
    linear-gradient(180deg, rgba(20,18,15,0.35) 0%, rgba(20,18,15,0.7) 60%, var(--bg) 100%),
    radial-gradient(ellipse 70% 60% at 70% 15%, rgba(138,150,120,0.16), transparent 55%),
    radial-gradient(ellipse 60% 50% at 15% 75%, rgba(199,154,75,0.10), transparent 55%);
}
.hero-bg img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0.5; filter:saturate(0.7) contrast(1.05);}
.hero-kicker{font-family:var(--mono); font-size:11px; letter-spacing:0.16em; text-transform:uppercase; color:var(--sage); margin-bottom:22px;}
.hero h1{font-family:var(--serif); font-weight:500; font-size:clamp(56px,13vw,170px); line-height:0.9; letter-spacing:-0.01em;}
.hero h1 .l2{display:block; margin-left:clamp(20px,8vw,120px); font-style:italic; color:var(--ochre);}
.hero-tag{font-family:var(--serif); font-style:italic; font-size:clamp(16px,2.2vw,24px); color:var(--ink-dim); margin-top:26px;}
.hero-ctas{margin-top:44px; display:flex; gap:16px; flex-wrap:wrap;}
.btn{font-family:var(--sans); font-weight:600; font-size:13px; letter-spacing:0.03em; text-decoration:none; padding:15px 26px; border-radius:2px; display:inline-flex; align-items:center; gap:10px; transition:all .25s ease;}
.btn-primary{background:var(--ochre); color:#14120F;}
.btn-primary:hover{background:var(--ink); box-shadow:0 0 26px rgba(199,154,75,0.35);}
.btn-ghost{border:1px solid var(--line); color:var(--ink);}
.btn-ghost:hover{border-color:var(--ink);}

.marquee-wrap{border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--bg2); overflow:hidden; padding:16px 0;}
.marquee{display:flex; white-space:nowrap; animation:mq 36s linear infinite;}
.marquee span{font-family:var(--mono); font-size:13px; letter-spacing:0.06em; padding:0 26px; color:var(--ink-dim); display:flex; gap:26px;}
@keyframes mq{from{transform:translateX(0);} to{transform:translateX(-50%);}}

section{padding:130px 5vw; position:relative;}
.sec-head{display:flex; gap:28px; align-items:flex-start; margin-bottom:70px;}
.sec-num{font-family:var(--serif); font-style:italic; font-size:clamp(80px,10vw,160px); line-height:0.7; color:transparent; -webkit-text-stroke:1px var(--line); flex-shrink:0;}
.sec-title-wrap{padding-top:22px;}
.sec-eyebrow{font-family:var(--mono); font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color:var(--ochre); margin-bottom:14px;}
.sec-title{font-family:var(--serif); font-weight:400; font-size:clamp(30px,4.4vw,58px); line-height:1.05; max-width:17ch;}
.sec-title i{color:var(--sage); font-style:italic;}

.local-grid{display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:start;}
.collage{position:relative; height:520px;}
.collage .ph{position:absolute; overflow:hidden; box-shadow:0 30px 60px rgba(0,0,0,0.5); border:1px solid var(--line);}
.collage .ph1{width:62%; height:70%; top:0; left:0; transform:rotate(-3deg); z-index:2;}
.collage .ph2{width:48%; height:52%; bottom:0; right:0; transform:rotate(4deg); z-index:3;}
.collage .ph3{width:34%; height:34%; top:36%; left:44%; transform:rotate(-6deg); z-index:4;}
.collage .ph img{width:100%; height:100%; object-fit:cover;}
.tape{position:absolute; top:-18px; left:14px; background:var(--ochre); color:var(--bg); font-family:var(--mono); font-size:10px; letter-spacing:0.1em; padding:5px 14px; z-index:5; transform:rotate(-2deg);}
.local-copy p{color:var(--ink-dim); font-size:16px; margin-bottom:20px; max-width:52ch;}
.local-lead{font-family:var(--serif); font-style:italic; font-size:20px; color:var(--ink)!important;}
.aside-tag{font-family:var(--mono); font-size:11px; letter-spacing:0.1em; color:var(--ochre); border:1px solid var(--line); display:inline-block; padding:6px 12px; margin-bottom:24px;}
dl.deflist{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:22px; margin-top:36px; border-top:1px solid var(--line); padding-top:28px;}
dl.deflist dt{font-family:var(--mono); font-size:10px; letter-spacing:0.1em; text-transform:uppercase; color:var(--ink-dim);}
dl.deflist dd{font-family:var(--serif); font-size:19px; margin-top:6px; overflow-wrap:break-word;}

.ck-progress{font-family:var(--mono); font-size:12px; color:var(--ink-dim); margin-bottom:26px; letter-spacing:0.08em;}
.ck-track{display:flex; gap:2px; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:10px; scrollbar-width:thin; scrollbar-color:var(--ochre) transparent;}
.ck-track::-webkit-scrollbar{height:5px;}
.ck-track::-webkit-scrollbar-thumb{background:var(--ochre);}
.ck-card{scroll-snap-align:start; flex:0 0 min(78vw,400px); background:var(--bg2); border:1px solid var(--line); display:flex; flex-direction:column; min-height:600px;}
.ck-img{height:280px; overflow:hidden; position:relative;}
.ck-img img{width:100%; height:100%; object-fit:cover; object-position:var(--ck-pos,center); filter:grayscale(10%) brightness(0.95); transform:scale(var(--ck-zoom,1.03)); transition:transform 1.2s cubic-bezier(.16,1,.3,1);}
.ck-card:hover .ck-img img{transform:scale(var(--ck-zoom-hover,1.1));}
.ck-body{padding:26px 26px 30px; display:flex; flex-direction:column; flex:1;}
.ck-top{display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:14px;}
.ck-serie{font-family:var(--mono); font-size:10px; letter-spacing:0.1em; text-transform:uppercase; padding:4px 10px; border:1px solid var(--sage); color:var(--sage);}
.ck-idx{font-family:var(--mono); font-size:11px; color:var(--ink-dim);}
.ck-name{font-family:var(--serif); font-size:26px; margin-top:4px;}
.ck-sub{font-family:var(--mono); font-size:11px; color:var(--ink-dim); margin-top:8px; letter-spacing:0.02em;}
.ck-desc{font-size:14px; color:var(--ink-dim); margin-top:auto; padding-top:18px; border-top:1px solid var(--line); line-height:1.7;}
.ck-mq{margin-top:30px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); overflow:hidden; padding:12px 0;}
.ck-mq .m2{display:flex; white-space:nowrap; animation:mq2 44s linear infinite;}
.ck-mq span{font-family:var(--mono); font-size:11px; color:var(--ink-dim); padding:0 20px;}
@keyframes mq2{from{transform:translateX(-50%);} to{transform:translateX(0);}}

.week{display:flex; flex-direction:column; border-top:1px solid var(--line);}
.day{display:grid; grid-template-columns:70px 220px 1fr 1fr; align-items:center; gap:24px; padding:30px 0; border-bottom:1px solid var(--line); transition:padding-left .3s ease;}
.day:hover{padding-left:14px;}
.day-icon{width:38px; height:38px;}
.day-name{font-family:var(--serif); font-size:22px;}
.day-genre{font-size:14px; color:var(--ink-dim);}
.day-note{font-family:var(--mono); font-size:12px; color:var(--ink-dim); text-align:right;}
@media (max-width:760px){.day{grid-template-columns:44px 1fr; row-gap:6px;} .day-note{text-align:left; grid-column:2;}}

.gal-lane{display:flex; gap:14px; margin-bottom:14px; overflow:hidden;}
.gal-track{display:flex; gap:14px; animation:galscroll linear infinite;}
.gal-track.rev{animation-direction:reverse;}
.gal-tile{flex:0 0 220px; height:170px; position:relative; overflow:hidden; border:1px solid var(--line);}
.gal-tile img{width:100%; height:100%; object-fit:cover; filter:grayscale(10%);}
.gal-tile .lab{position:absolute; bottom:8px; left:10px; font-family:var(--mono); font-size:9px; letter-spacing:0.08em; text-transform:uppercase; color:var(--ink); background:rgba(20,18,15,0.55); padding:2px 6px;}
@keyframes galscroll{from{transform:translateX(0);} to{transform:translateX(-50%);}}

.priv-card{position:relative; padding:90px 6vw; border:1px solid var(--line); overflow:hidden; text-align:center; background:var(--bg2);}
.priv-card h3{font-family:var(--serif); font-size:clamp(30px,5vw,56px); max-width:18ch; margin:0 auto 22px;}
.priv-card p{color:var(--ink-dim); max-width:52ch; margin:0 auto 34px;}

/* ── Espacio · Arte Hoy Spazio ── */
.espacio-grid{display:grid; grid-template-columns:1.3fr 0.7fr; gap:60px; align-items:start; padding:0 5vw; margin-bottom:70px;}
.espacio-copy .local-lead{font-family:var(--serif); font-size:20px; line-height:1.6; color:var(--ink); font-style:italic; max-width:56ch; margin-bottom:0;}
.espacio-logos{display:flex; flex-direction:column; gap:22px;}
.logo-chip{background:#f4f1ea; border-radius:6px; padding:26px; display:flex; align-items:center; justify-content:center; box-shadow:0 20px 40px rgba(0,0,0,0.35);}
.logo-chip img{max-width:100%; height:auto; display:block;}
.espacio-activities{padding:0 5vw; margin-bottom:44px;}
.espacio-activities > .press-tag{margin-bottom:24px;}
.activity-list{display:grid; grid-template-columns:1fr 1fr; gap:2px; background:var(--line);}
.activity-item{background:var(--bg); padding:30px; display:flex; gap:18px;}
.activity-num{font-family:var(--mono); font-size:12px; color:var(--ochre); flex-shrink:0;}
.activity-item h4{font-family:var(--serif); font-weight:400; font-size:19px; margin-bottom:8px;}
.activity-item p{color:var(--ink-dim); font-size:14px; line-height:1.6;}
.espacio-cta{margin:0 5vw;}
@media (max-width:900px){
  .espacio-grid{grid-template-columns:1fr; gap:36px;}
  .espacio-logos{flex-direction:row;}
  .activity-list{grid-template-columns:1fr;}
}
@media (max-width:600px){
  .espacio-logos{flex-direction:column;}
}

.press-block{margin-bottom:80px;}
.press-block:last-child{margin-bottom:0;}
.press-head{max-width:62ch; margin-bottom:30px;}
.press-tag{font-family:var(--mono); font-size:10px; letter-spacing:0.12em; text-transform:uppercase; color:var(--ochre); border:1px solid var(--line); padding:5px 12px; display:inline-block; margin-bottom:16px;}
.press-head h3{font-family:var(--serif); font-weight:400; font-size:clamp(22px,2.8vw,32px); margin-bottom:12px;}
.press-head p{color:var(--ink-dim); font-size:15px; line-height:1.7;}
.press-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(180px,1fr)); gap:12px;}
.press-grid.large{grid-template-columns:repeat(auto-fit, minmax(160px,1fr)); gap:14px;}
.press-grid.large .press-tile{aspect-ratio:3/4;}
.press-grid.large .press-tile img{object-fit:contain; background:#0d0b08;}
.press-tile{position:relative; overflow:hidden; border:1px solid var(--line); aspect-ratio:4/3; background:var(--bg2);}
.press-tile img{width:100%; height:100%; object-fit:cover; filter:grayscale(8%); transition:transform .8s ease;}
.press-tile:hover img{transform:scale(1.06);}
.press-tile .lab{position:absolute; bottom:0; left:0; right:0; padding:9px 11px; font-family:var(--mono); font-size:10px; letter-spacing:0.03em; color:var(--ink); background:linear-gradient(to top, rgba(20,18,15,0.88), transparent);}
@media (max-width:600px){.press-grid{grid-template-columns:repeat(2,1fr);}}

/* ── Botánica del Alma — layout editorial asimétrico ── */
.botanica-section{padding:0; position:relative;}
.bot-head{display:flex; justify-content:space-between; align-items:flex-end; gap:24px; padding:90px 5vw 44px; border-bottom:1px solid var(--line); flex-wrap:wrap;}
.bot-head-text{max-width:56ch;}
.bot-head .press-tag{font-family:var(--mono); font-size:10px; letter-spacing:0.12em; text-transform:uppercase; color:var(--ochre); border:1px solid var(--line); padding:5px 12px; display:inline-block; margin-bottom:18px;}
.bot-title{font-family:var(--serif); font-weight:400; font-size:clamp(28px,4vw,54px); line-height:1.08;}
.bot-title i{font-style:italic; color:var(--ochre);}
.bot-ghost{font-family:var(--serif); font-style:italic; font-size:clamp(50px,9vw,150px); line-height:0.8; color:transparent; -webkit-text-stroke:1px var(--line); white-space:nowrap; user-select:none;}


.bot-body{display:grid; grid-template-columns:0.85fr 1.15fr; gap:0 6vw; padding:90px 5vw 0; align-items:start;}
.bot-text-col p{color:var(--ink-dim); font-size:16px; line-height:1.85; margin-bottom:20px; max-width:52ch;}
.bot-text-col p:first-child{font-family:var(--serif); font-size:22px; line-height:1.5; color:var(--ink); font-style:italic;}
.bot-img-col{position:relative;}
.bot-img-col .b-tile{overflow:hidden;}
.bot-img-col .b-tile img{width:100%; height:100%; object-fit:cover; filter:brightness(0.9); transition:transform 1.1s ease;}
.bot-img-col .b-tile:hover img{transform:scale(1.045);}
.bot-tile-a{aspect-ratio:4/5; width:78%; background:var(--bg2);}
.bot-tile-a img{object-position:center center;}
.bot-tile-b{aspect-ratio:4/3; width:96%; margin:-70px 0 0 22%; position:relative; box-shadow:0 30px 60px rgba(0,0,0,0.35); background:var(--bg2);}
.bot-tile-b img{object-position:center center;}

.bot-quote{padding:110px 5vw; display:flex; justify-content:center;}
.bot-quote p{font-family:var(--serif); font-style:italic; font-weight:400; font-size:clamp(24px,3.4vw,44px); line-height:1.35; max-width:22ch; text-align:center; color:var(--ink);}
.bot-quote p::before,.bot-quote p::after{content:'"'; color:var(--ochre);}

.bot-cluster{display:flex; gap:3px; padding:0 5vw; height:64vh; min-height:400px; max-height:680px;}
.bot-cluster .b-tile{overflow:hidden; position:relative; background:var(--bg2);}
.bot-cluster .b-tile img{width:100%; height:100%; object-fit:cover; object-position:center center; filter:brightness(0.9); transition:transform 1.1s ease;}
.bot-cluster .b-tile:hover img{transform:scale(1.045);}
.bot-c-a{flex:1.4; height:100%;}
.bot-c-right{flex:1; display:flex; flex-direction:column; gap:3px; height:100%;}
.bot-c-b, .bot-c-c{flex:1; min-height:0;}


@media (max-width:900px){
  .bot-body{grid-template-columns:1fr; gap:50px 0;}
  .bot-img-col{margin-top:10px;}
  .bot-tile-a{width:100%;}
  .bot-tile-b{width:100%; margin:20px 0 0 0;}
  .bot-cluster{height:56vh; min-height:360px;}
}
@media (max-width:760px){
  .bot-head{padding:70px 6vw 30px;}
  .bot-ghost{display:none;}
  .bot-body{padding:60px 6vw 0;}
  .bot-quote{padding:70px 6vw;}
  .bot-cluster{flex-direction:column; height:auto; padding:0 6vw; gap:10px;}
  .bot-c-a{flex:none; height:44vh; min-height:280px;}
  .bot-c-right{flex-direction:row; height:32vh; min-height:200px;}
}

.res-grid{display:grid; grid-template-columns:1.2fr 0.8fr; gap:70px;}
.field{margin-bottom:26px;}
.field label{display:flex; gap:10px; font-family:var(--mono); font-size:11px; text-transform:uppercase; letter-spacing:0.08em; color:var(--ochre); margin-bottom:10px;}
.field input, .field textarea{width:100%; background:transparent; border:none; border-bottom:1px solid var(--line); color:var(--ink); font-family:var(--sans); font-size:17px; padding:10px 0; outline:none; transition:border-color .3s ease;}
.field input:focus, .field textarea:focus{border-color:var(--ochre);}
.res-alt{font-family:var(--mono); font-size:12px; color:var(--ink-dim); margin-top:16px; display:inline-block; text-decoration:none;}
.res-alt:hover{color:var(--ochre);}
.res-panel{background:var(--bg2); border:1px solid var(--line); padding:40px; align-self:start;}
.res-panel .rp-row{padding:18px 0; border-bottom:1px solid var(--line);}
.res-panel .rp-row:last-child{border-bottom:none;}
.res-panel .rp-lab{font-family:var(--mono); font-size:10px; letter-spacing:0.1em; text-transform:uppercase; color:var(--ink-dim);}
.res-panel .rp-val{font-family:var(--serif); font-size:19px; margin-top:6px;}

footer{padding:0 0 40px; border-top:1px solid var(--line); margin-top:60px;}
.foot-display{font-family:var(--serif); font-style:italic; font-size:clamp(30px,9vw,120px); color:var(--bg2); -webkit-text-stroke:1px var(--line); white-space:nowrap; overflow:hidden; padding:40px 0 20px; text-align:center;}
.foot-grid{display:grid; grid-template-columns:1fr 1fr 1.3fr; gap:50px; padding:20px 5vw 60px;}
.foot-col h4{font-family:var(--mono); font-size:11px; letter-spacing:0.1em; text-transform:uppercase; color:var(--ochre); margin-bottom:16px;}
.foot-col p, .foot-col a{display:block; color:var(--ink-dim); text-decoration:none; font-size:14px; margin-bottom:10px;}
.foot-col a:hover{color:var(--ink);}
.foot-map iframe{width:100%; height:170px; border:1px solid var(--line); filter:grayscale(0.5) invert(0.9) contrast(0.9);}
.legal{display:flex; justify-content:space-between; padding:24px 5vw 0; border-top:1px solid var(--line); font-family:var(--mono); font-size:11px; color:var(--ink-dim); flex-wrap:wrap; gap:10px;}
@media (max-width:860px){.foot-grid{grid-template-columns:1fr;}}

.reveal{opacity:0; transform:translateY(26px); transition:opacity .9s ease, transform .9s cubic-bezier(.16,1,.3,1);}
.reveal.in{opacity:1; transform:translateY(0);}
@media (max-width:860px){ .local-grid,.res-grid{grid-template-columns:1fr;} .collage{height:380px;} }

/* En mobile, la obra se lee en columna normal — nada de scroll horizontal forzado */
@media (max-width:760px){
  .ck-progress{display:none;}
  .ck-track{
    display:flex; flex-direction:column; overflow-x:visible; scroll-snap-type:none;
    gap:22px; padding-bottom:0;
  }
  .ck-card{flex:none; width:100%; min-height:auto;}
  .ck-img{height:280px;}
}
