/* Portada: una fotografia ampla, detalls intactes i una lectura clara. */
.home .photo-hero{height:92svh;min-height:700px;max-height:1080px;background:#101013}
.home header{padding:24px 4.5%;background:linear-gradient(#08080bbd,transparent);align-items:center}
.home .brand{font-size:13px;letter-spacing:.13em;gap:14px}
.home .brand-logo{width:57px;height:57px;box-shadow:0 4px 25px #0003}
.home nav{border:1px solid #ffffff22;background:#11111680;backdrop-filter:blur(16px);border-radius:50px;padding:7px 8px 7px 22px;gap:22px;font-size:12px}
.home nav a{color:#f8f4f3;text-decoration:none;transition:color .2s}
.home nav a:hover{color:#ff7189}
.home nav a:last-child{border-radius:30px;padding:12px 19px;background:#c4203a}
.home .hero-full-photo{object-fit:cover;object-position:right 28%;animation:none;transform:none;filter:saturate(.93)}
.home .hero-shade{background:linear-gradient(90deg,#08080be8 0%,#08080bb0 22%,#08080b45 43%,transparent 63%),linear-gradient(180deg,#08080b55,transparent 22%,transparent 68%,#08080ba8)}
.home .hero-shade:after{content:'';position:absolute;inset:0 67% 0 0;backdrop-filter:blur(3px);mask-image:linear-gradient(90deg,#000,transparent);pointer-events:none}
.home .photo-hero .hero-copy{left:6%;bottom:155px;top:auto;max-width:46%;animation:hero-reveal .7s ease-out both}
.home .photo-hero .eyebrow{display:flex;align-items:center;gap:10px;color:#f9dce2;font-size:10px;letter-spacing:.2em;margin-bottom:28px}
.live-dot{width:6px;height:6px;background:#f44364;border-radius:50%;box-shadow:0 0 0 5px #d8274722}
.hero-prelude{font-size:13px;color:#e1d8da;margin-bottom:16px;letter-spacing:.025em}
.home .photo-hero h1{font-size:clamp(64px,5.8vw,110px);line-height:1.01;letter-spacing:-.055em;margin:0 0 26px;font-weight:750;color:#fff;text-shadow:0 4px 25px #0002}
.home .photo-hero h1 em{display:block;font-family:Georgia,'Times New Roman',serif;font-weight:400;font-style:italic;letter-spacing:-.05em;font-size:.87em;white-space:nowrap;color:#fff0ed}
.home .photo-hero .lead{font-size:14px;font-weight:400;color:#d6cdd0;line-height:1.8;max-width:310px;margin-top:0}
.home .hero-actions{gap:24px;margin-top:32px}
.home .photo-hero .button{display:inline-flex;align-items:center;gap:11px;background:#c4203a;border:1px solid #f24d6770;border-radius:30px;padding:15px 23px;font-size:12px;font-weight:650;box-shadow:0 8px 30px #940c2533;transition:background .2s,transform .2s}
.home .photo-hero .button:hover{background:#dc2946;transform:translateY(-2px)}
.home .hero-secondary{font-size:12px;color:#f6e9ec;border:0;display:flex;align-items:center;gap:14px}
.home .hero-secondary span{font-size:20px;color:#fa5974}
.home .hero-foot{left:6%;right:6%;bottom:29px;border-top:1px solid #ffffff28;padding-top:23px;align-items:center;color:#f0e8e9;font-size:10px;letter-spacing:.14em}
.home .hero-signature{font-weight:650;line-height:1.7}
.hero-signature small{display:block;font-size:10px;font-weight:400;letter-spacing:0;color:#c6bcbf;margin-top:4px}
.home .hero-scroll{display:flex;align-items:center;gap:12px;color:white;text-decoration:none;font-size:11px;letter-spacing:0}
.hero-scroll span{display:grid;place-items:center;border:1px solid #ffffff40;border-radius:50%;width:35px;height:35px;font-size:17px}
.home .hero-edition{font-size:9px;color:#d1c6ca}
.home .identity-strip{background:#f6f3f1;color:#5a4b50;border-bottom:1px solid #e2dadd;padding:22px 6%;letter-spacing:.15em;font-size:10px}
.home .identity-strip span:nth-child(3){color:#b21934}
@keyframes hero-reveal{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(min-width:1600px){.home .photo-hero .hero-copy{bottom:180px;max-width:42%}.home .hero-full-photo{object-position:right 23%}}
@media(max-width:1100px){.home nav{gap:14px;padding-left:18px;font-size:11px}.home .photo-hero .hero-copy{max-width:49%;bottom:150px}.home .photo-hero h1{font-size:62px}.home .hero-edition{display:none}.home .hero-foot{gap:18px}}
@media(max-width:1000px){.home nav{border-radius:16px;background:#111116f2;padding:15px;backdrop-filter:blur(20px)}.home .menu-toggle{border-radius:30px;padding:10px 17px;background:#11111688;backdrop-filter:blur(12px)}.home nav a:last-child{border-radius:10px}}
@media(max-width:720px){
 .home .photo-hero{height:96svh;min-height:780px;max-height:1050px}
 .home header{padding:20px 6%}.home .brand-logo{width:46px;height:46px}.home .brand{font-size:11px;gap:10px}
 .home .hero-full-photo{object-position:67% 12%;filter:saturate(.95)}
 .home .hero-shade{background:linear-gradient(180deg,#08080b55 0%,#08080b05 25%,#08080b10 40%,#08080b9c 57%,#08080bf5 82%,#08080b 100%)}
 .home .hero-shade:after{inset:65% 0 0;mask-image:linear-gradient(180deg,transparent,#000);backdrop-filter:blur(3px)}
 .home .photo-hero .hero-copy{left:7%;right:7%;max-width:none;bottom:127px}
 .home .photo-hero .eyebrow{margin-bottom:17px;font-size:9px}.hero-prelude{font-size:11px;margin-bottom:11px}
 .home .photo-hero h1{font-size:clamp(47px,12vw,75px);margin-bottom:18px}.home .photo-hero h1 em{font-size:.8em}
 .home .photo-hero .lead{font-size:12px;max-width:270px}.home .hero-actions{margin-top:22px;gap:20px;flex-wrap:wrap}.home .photo-hero .button{padding:12px 18px}.home .hero-secondary{font-size:11px}
 .home .hero-foot{left:7%;right:7%;bottom:23px;padding-top:17px}.home .hero-signature{display:none}.home .hero-scroll{font-size:10px}.home .hero-foot span:nth-child(2){display:grid}.home .identity-strip{padding:20px 7%;font-size:9px}
}
@media(prefers-reduced-motion:reduce){.home .photo-hero .hero-copy{animation:none}.home .photo-hero .button{transition:none}.home .photo-hero .button:hover{transform:none}}

.home .photo-hero .eyebrow{font-size:12px}.home .hero-prelude{font-size:16px}.home .photo-hero .lead{font-size:17px;max-width:380px}.home .hero-secondary,.home .photo-hero .button{font-size:14px}.home .hero-foot{font-size:12px}.home .hero-signature small,.home .hero-scroll{font-size:13px}.home .hero-edition{font-size:11px}@media(max-width:720px){.home .photo-hero .eyebrow{font-size:11px}.home .hero-prelude{font-size:14px}.home .photo-hero .lead{font-size:15px;max-width:310px}.home .hero-secondary,.home .photo-hero .button{font-size:13px}.home .hero-scroll{font-size:12px}}

/* A dedicated tribute to the association's friend Hevia. */
.home .hevia-section{background:#141316;color:#eee7e9;padding-top:85px;padding-bottom:65px;position:relative;overflow:hidden;scroll-margin-top:100px}
.hevia-heading{border-bottom:1px solid #ffffff26;padding-bottom:32px;margin-bottom:45px}.home .hevia-section .eyebrow{color:#fa7b91;font-size:12px;letter-spacing:.15em}
.hevia-name{font-size:clamp(70px,11vw,170px);font-weight:800;line-height:.9;letter-spacing:-.065em;margin:28px 0 0;color:#fff}.hevia-name span{display:block;font-size:13px;letter-spacing:.2em;font-weight:400;color:#c4b8bd;margin-top:25px;line-height:1.5}
.hevia-content{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(30px,6vw,95px)}.home .hevia-section h2{font-size:clamp(32px,3.3vw,52px);color:white;line-height:1.15}.home .hevia-section h2 em{color:#f59aac}.hevia-content p{line-height:1.8;color:#cfc5ca;font-size:16px}.hevia-content .hevia-intro{font-size:20px;color:#f6edf0}.hevia-link{display:inline-flex;gap:20px;color:#fff!important;border-bottom:1px solid #ed5c79;padding-bottom:9px;margin-top:15px;text-decoration:none}
.hevia-memory{background:linear-gradient(145deg,#40202b,#251b21);border:1px solid #b8516a50;border-radius:20px;padding:32px}.hevia-memory h3{font-size:24px;color:white}.hevia-memory .hevia-date{font-size:17px;color:#f7ccd5;margin:20px 0}.hevia-date strong{display:block;font-size:64px;line-height:1.2;color:white;letter-spacing:-.04em}.hevia-memory a{color:#ffb3c2;font-size:14px;line-height:1.6}.hevia-dedication{border-top:1px solid #ffffff26;margin:45px 0 0;padding-top:25px;font-family:Georgia,serif;font-style:italic;font-size:clamp(22px,2.5vw,35px);color:#f7d5de}
@media(min-width:1001px) and (max-width:1250px){.home nav{gap:10px;padding-left:15px;font-size:11px}.home header{padding-left:3%;padding-right:3%}}
@media(max-width:720px){.home .hevia-section{padding-top:55px;padding-bottom:45px}.hevia-content{grid-template-columns:1fr;gap:30px}.hevia-heading{margin-bottom:30px}.hevia-memory{padding:24px}.hevia-content .hevia-intro{font-size:18px}.hevia-name{font-size:82px}}

.hevia-memories{min-width:0;display:grid;gap:24px}.hevia-poster{margin:0;overflow:hidden;border:1px solid #ffffff26;border-radius:20px;background:#211c22}.hevia-poster a{display:block}.hevia-poster img{display:block;width:100%;height:auto;object-fit:contain}.hevia-poster figcaption{padding:18px 22px;font-size:16px;font-weight:600;line-height:1.6;color:#fff}.hevia-poster figcaption span{font-size:13px;font-weight:400;color:#cfc5ca}.hevia-poster a:focus-visible{outline:3px solid #fa7b91;outline-offset:-3px}

.gallery-stage{position:relative;display:block;width:100%;height:clamp(300px,46vw,660px);padding:0;border:0;border-radius:20px;overflow:hidden;background:#151518;cursor:zoom-in}.gallery-image{width:100%;height:100%;object-fit:contain;display:block}.gallery-caption{position:absolute;left:0;right:0;bottom:0;padding:50px 30px 24px;background:linear-gradient(transparent,#000b);color:#fff;font-size:clamp(20px,3vw,32px);text-align:left;font-weight:650}.gallery-expand{position:absolute;top:20px;right:20px;background:#0008;border-radius:50%;width:40px;height:40px;display:grid;place-items:center;color:#fff;font-size:24px}.gallery-controls{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:20px 0}.gallery-controls>div{display:flex;align-items:center;gap:20px}.gallery-controls button{border:1px solid #cabdc1;background:#fff;border-radius:25px;padding:10px 18px;color:#272126;cursor:pointer}.gallery-thumbnails{display:flex;gap:10px;overflow-x:auto;padding:5px 2px 12px}.gallery-thumbnails button{flex:0 0 100px;border:2px solid transparent;border-radius:9px;padding:3px;background:transparent;cursor:pointer}.gallery-thumbnails button[aria-current=true]{border-color:#bc1e3a}.gallery-thumbnails img{display:block;width:100%;height:65px;object-fit:cover;border-radius:5px}.gallery-admin-record{display:grid;gap:12px}.gallery-admin-record img{width:100%;height:180px;object-fit:contain;background:#eee;border-radius:10px}.gallery-admin-record label{display:grid;gap:6px}.gallery-admin-record .check-label{display:flex}.gallery-admin-record input:not([type=checkbox]){width:100%}@media(max-width:600px){.gallery-controls{flex-wrap:wrap}.gallery-caption{padding:40px 20px 18px}.gallery-stage{height:340px}}

.hevia-content{grid-template-columns:1fr}.hevia-content>div:first-child{max-width:780px}.hevia-posters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}.hevia-posters .hevia-poster img{width:100%;height:auto}.hevia-memories>.hevia-memory{max-width:780px}@media(max-width:720px){.hevia-posters{grid-template-columns:1fr}}
