@font-face{font-family:"Barlow Condensed";src:url("../fonts/barlow-condensed/barlow-condensed-latin-400-normal.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url("../fonts/barlow-condensed/barlow-condensed-latin-600-normal.woff2") format("woff2");font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url("../fonts/barlow-condensed/barlow-condensed-latin-700-normal.woff2") format("woff2");font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url("../fonts/barlow-condensed/barlow-condensed-latin-800-normal.woff2") format("woff2");font-style:normal;font-weight:800;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url("../fonts/barlow-condensed/barlow-condensed-latin-900-normal.woff2") format("woff2");font-style:normal;font-weight:900;font-display:swap}
:root{--expo-green:#015623;--expo-yellow:#F1EEAC;--expo-lilac:#B79FC4;--green:var(--expo-green);--dark:#07150d;--ivory:#f4f1e8;--white:#fff;--coal:#171a18;--muted:#6b716d;--line:rgba(23,26,24,.18);--shell:min(90rem,calc(100% - 2rem));--header:6.25rem;--countdown:2.75rem;--sans:"Barlow Condensed","Arial Narrow","Helvetica Neue",Arial,sans-serif;--serif:Georgia,"Times New Roman",serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--header)}body{margin:0;background:var(--white);color:var(--coal);font-family:var(--sans);font-size:1rem;line-height:1.55;-webkit-font-smoothing:antialiased}body.is-locked{overflow:hidden}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration-thickness:.08em;text-underline-offset:.2em}button,input,textarea,select{font:inherit}.shell{width:var(--shell);margin-inline:auto}.section{padding:5.5rem 0}.section--compact{padding:3rem 0}.section--dark{background:var(--dark);color:var(--white)}.section--ivory{background:var(--ivory)}.sr-only,.skip-link:not(:focus){position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:10000;top:1rem;left:1rem;background:var(--white);color:var(--dark);padding:.8rem 1rem}.plugin-notice,.default-content{min-height:70vh;padding-top:10rem}.eyebrow,.section-label,.section-index{text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:700}.section-label{margin:0 0 2rem;color:var(--green)}.section-heading{display:grid;grid-template-columns:2rem 1fr;gap:1rem;align-items:start;margin-bottom:3rem}.section-heading .section-index{margin:.55rem 0;color:var(--green)}.section-heading h2{margin:0;font-size:clamp(1.9rem,10vw,7rem);font-weight:800;line-height:.82;letter-spacing:-.065em;text-transform:uppercase}.section-heading h2 em{font-family:var(--serif);font-weight:400;text-transform:none;color:var(--green)}
.button{display:inline-flex;min-height:2.75rem;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;border:1px solid transparent;border-radius:0;background:transparent;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:800;text-decoration:none;cursor:pointer;transition:background-color .25s,color .25s,border-color .25s,transform .25s}.button:hover{transform:translateY(-2px)}.button:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ffd166;outline-offset:3px}.button--private,.button--green{background:var(--green);color:var(--white)}.button--light{background:var(--white);color:var(--dark)}.button--outline{border-color:rgba(255,255,255,.65);color:var(--white)}
.site-header{position:fixed;z-index:1000;inset:0 0 auto;height:var(--header);color:var(--white);transition:background-color .3s,box-shadow .3s,color .3s}.site-header.is-scrolled,.site-header.is-open{background:rgba(7,21,13,.98);box-shadow:0 1px 0 rgba(255,255,255,.12)}.header-inner{height:100%;width:var(--shell);margin:auto;padding-block:1rem;display:flex;align-items:center;justify-content:space-between;gap:clamp(.5rem,2vw,1.25rem)}.site-brand{min-width:0;display:flex;flex:0 1 auto;align-items:center;gap:.7rem;color:var(--white);text-decoration:none}.crest-logo--nav{width:3.4rem;height:3.4rem;flex:0 0 auto;object-fit:contain}.site-brand__name{max-width:8.8rem;font-size:.72rem;font-weight:900;line-height:1.08;letter-spacing:.08em}.brand-logo{width:auto;height:2.65rem;object-fit:contain}.site-nav{display:none}.header-actions{display:flex;flex:0 0 auto;align-items:center;gap:.55rem}.header-private{min-height:2.75rem;padding:.65rem .8rem;font-size:.62rem}.menu-toggle{width:2.75rem;height:2.75rem;display:grid;place-content:center;gap:6px;border:1px solid rgba(255,255,255,.45);background:transparent;color:inherit}.menu-toggle span:not(.sr-only){display:block;width:19px;height:1px;background:currentColor;transition:transform .25s}.site-header.is-open .menu-toggle span:nth-last-child(2){transform:translateY(3.5px) rotate(45deg)}.site-header.is-open .menu-toggle span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.site-header.is-open .site-nav{display:flex;position:fixed;inset:var(--header) 0 0;background:var(--dark);padding:3rem 1rem;flex-direction:column;align-items:flex-start;gap:1.6rem;overflow-y:auto}.site-header.is-open .site-nav a{text-transform:uppercase;font-size:clamp(1.8rem,8vw,3rem);font-weight:800;line-height:1;text-decoration:none}
.crida-countdown{position:relative;z-index:10;height:var(--countdown);background:var(--green);color:var(--white);overflow:hidden}.crida-countdown__inner{height:100%;display:flex;align-items:center;justify-content:center}.crida-countdown__timer{min-width:0;display:flex;align-items:baseline;justify-content:center;gap:clamp(.3rem,1vw,.75rem);white-space:nowrap;font-size:.72rem;font-weight:900;line-height:1;letter-spacing:.08em;text-transform:uppercase;font-variant-numeric:tabular-nums}.crida-countdown__timer[hidden],.crida-countdown__message[hidden]{display:none}.crida-countdown__unit strong{font-size:1em}.crida-countdown__unit small{font-size:1em;font-weight:inherit}.crida-countdown__timer i{opacity:.65;font-size:.9rem;font-style:normal}.crida-countdown__message{margin:0;font-size:.78rem;font-weight:900;line-height:1;letter-spacing:.12em;text-align:center;text-transform:uppercase}.countdown-short{display:none}
.hero{position:relative;min-height:100svh;color:var(--white);overflow:hidden;background:var(--dark)}.hero-media,.hero-overlay{position:absolute;inset:0}.hero-media img{width:100%;height:100%;object-fit:cover}.hero-overlay{background:linear-gradient(90deg,rgba(7,21,13,.93) 0%,rgba(7,21,13,.55) 58%,rgba(7,21,13,.25) 100%)}.hero-content{position:relative;z-index:1;min-height:100svh;padding-top:calc(var(--header) + 2.25rem);padding-bottom:2rem;display:grid;grid-template-columns:1fr auto;align-content:center;gap:clamp(1.4rem,3vw,2rem)}.hero-copy{grid-column:1/-1;max-width:49rem}.hero-copy .eyebrow{margin:0 0 1rem}.hero h1{margin:0;font-size:clamp(2.4rem,7vw,6.5rem);line-height:.86;letter-spacing:-.055em;max-width:10ch}.hero-logo-wrap{width:clamp(13.75rem,72vw,22.5rem);max-width:100%;margin:clamp(.9rem,2.5vw,1.35rem) 0}.hero-logo{display:block;width:100%;max-width:100%;height:auto;max-height:none;object-fit:contain;object-position:left center}.hero-lead{max-width:34rem;margin:0;font-family:var(--serif);font-size:clamp(1.2rem,3vw,1.9rem);line-height:1.3}.hero-ctas{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.5rem}.hero-year{align-self:end}.hero-year strong{display:block;font-size:2.5rem;line-height:1}.hero-year span{font-family:var(--serif);font-size:.9rem}.hero-seal{justify-self:end;align-self:end;display:flex;align-items:center;gap:.75rem;text-transform:uppercase;font-size:.6rem;letter-spacing:.1em}.crest-logo--hero{width:3.25rem;height:3.25rem;object-fit:contain}.main-sponsors{border-bottom:1px solid var(--line)}.main-sponsors-grid{display:grid;grid-template-columns:repeat(1,1fr);gap:1px;background:var(--line)}.sponsor-card{min-width:0;min-height:7.5rem;border:0;background:var(--white);display:flex;align-items:center;justify-content:center;padding:1rem;color:var(--coal);text-decoration:none}.sponsor-card--main{min-height:10rem}.sponsor-card img{max-width:80%;max-height:6rem;width:auto;object-fit:contain;filter:grayscale(1);transition:filter .25s,transform .25s}.sponsor-card:is(a,button):hover img{filter:none;transform:scale(1.03)}.sponsor-placeholder{display:grid;text-align:center;font-weight:800;line-height:1.05;letter-spacing:-.03em}.sponsor-placeholder small{margin-top:.5rem;letter-spacing:.16em;color:var(--muted)}
.projects{background:var(--ivory)}.projects-list{display:grid;gap:5rem}.project{display:grid;gap:2rem}.project-visual{min-width:0}.project-image{position:relative;border:0;padding:0;width:100%;background:transparent;cursor:zoom-in}.project-image img{width:100%;aspect-ratio:4/5;object-fit:cover}.project-image>span{position:absolute;bottom:1rem;right:1rem;background:var(--white);padding:.6rem .75rem;font-size:.68rem;font-weight:800;text-transform:uppercase}.project-placeholder{aspect-ratio:4/5;display:grid;place-content:center;background:var(--green);color:var(--white);text-align:center;overflow:hidden}.project-placeholder span{font-size:clamp(7rem,34vw,17rem);font-weight:900;line-height:.7;letter-spacing:-.14em;opacity:.8}.project-placeholder small{margin-top:2rem;letter-spacing:.2em}.project-copy{align-self:center}.project-copy h3{margin:.3rem 0 1.5rem;font-size:clamp(2.2rem,6vw,5.5rem);line-height:.92;letter-spacing:-.055em;text-transform:uppercase}.project-motto{font-family:var(--serif);font-size:1.5rem}.project-copy>p:not(.eyebrow){max-width:40rem}.project-copy dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:2rem}.project-copy dl div{border-top:1px solid var(--line);padding-top:.65rem}.project-copy dt{font-size:.65rem;text-transform:uppercase;letter-spacing:.1em}.project-copy dd{margin:0;font-family:var(--serif)}.lightbox{position:fixed;z-index:2000;inset:0;background:rgba(7,21,13,.96);display:grid;place-items:center;padding:4rem 1rem 1rem}.lightbox[hidden]{display:none}.lightbox img{max-height:88vh;max-width:92vw}.lightbox button{position:absolute;top:1rem;right:1rem;width:3rem;height:3rem;border:1px solid rgba(255,255,255,.5);background:transparent;color:var(--white);font-size:2rem}
.about-grid{display:grid;gap:3.5rem}.about-identity{text-align:center}.crest-logo--about{width:min(18rem,65vw);aspect-ratio:1;object-fit:contain;margin:0 auto 1.5rem}.about-identity p{font-size:.68rem;letter-spacing:.13em;text-transform:uppercase}.about-copy h2{margin:.4rem 0 1.5rem;font-size:clamp(3rem,10vw,8rem);line-height:.82;letter-spacing:-.065em}.about-lead{font-family:var(--serif);font-size:clamp(1.25rem,3vw,2rem);max-width:42rem}.metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-column:1/-1}.metric{min-width:0;min-height:11rem;padding:1.2rem;border:1px solid rgba(255,255,255,.18);display:flex;flex-direction:column;justify-content:flex-end}.metric>span:not(.metric-icon),.metric small{text-transform:uppercase;letter-spacing:.1em;font-size:.6rem}.metric strong{font-size:clamp(1.5rem,5vw,3rem);line-height:1;overflow-wrap:anywhere}.metric-icon{margin-bottom:auto;font-size:1.5rem;color:#62b786}
.llibrets{border-top:1px solid var(--line)}.llibrets-grid{display:grid;gap:clamp(3.5rem,8vw,7rem)}.llibrets-grid--single{max-width:45rem}.llibret-card{min-width:0;display:grid;gap:2rem;align-content:start}.llibret-cover-wrap{width:min(100%,25rem);margin-inline:auto;perspective:900px}.llibret-cover{position:relative;display:block;width:100%;aspect-ratio:210/297;overflow:hidden;background:var(--dark);color:var(--white);text-decoration:none;box-shadow:0 1.25rem 2.5rem rgba(7,21,13,.18),.5rem .6rem 0 rgba(1,86,35,.08);transform-origin:center bottom;transition:transform .3s ease,box-shadow .3s ease}.llibret-cover img{width:100%;height:100%;object-fit:cover}.llibret-placeholder{height:100%;padding:clamp(1.25rem,4vw,2.5rem);display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(145deg,var(--green),#073b21);color:var(--white)}.llibret-placeholder small,.llibret-placeholder span{font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.llibret-placeholder strong{font-size:clamp(4rem,16vw,8rem);line-height:.8;letter-spacing:-.1em}.llibret-placeholder span{text-align:right}.llibret-copy{min-width:0}.llibret-copy h3{margin:.35rem 0 .65rem;font-size:clamp(2rem,5vw,3.75rem);line-height:.92;letter-spacing:-.045em;text-transform:uppercase}.llibret-exercise{margin:0;color:var(--green);font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.llibret-text{max-width:36rem;margin:1.25rem 0 0;font-family:var(--serif);font-size:1.1rem}.llibret-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:1.75rem}.llibret-download{font-size:.67rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.social-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.social-item{position:relative;aspect-ratio:1;overflow:hidden;background:var(--dark);color:var(--white);text-decoration:none}.social-item:nth-child(5n+1){grid-column:span 2;aspect-ratio:2/1}.social-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.social-item:hover img{transform:scale(1.025)}.social-placeholder{width:100%;height:100%;display:grid;place-content:center;background:var(--green);font-size:clamp(3rem,18vw,9rem);font-weight:900;line-height:1;letter-spacing:-.12em}.social-meta{position:absolute;top:.8rem;left:.8rem;right:.8rem;display:flex;justify-content:space-between;font-size:.65rem;text-transform:uppercase;letter-spacing:.12em}.social-text{position:absolute;inset:auto .8rem .8rem;font-family:var(--serif);font-size:.9rem}.social-featured{display:grid;gap:1rem;padding:clamp(1rem,3vw,2rem);background:var(--ivory);border:1px solid var(--line);border-radius:1rem}.social-featured__intro{min-width:0;padding:clamp(1.5rem,5vw,3rem);border-radius:.75rem;background:var(--green);color:var(--white);display:flex;flex-direction:column;justify-content:flex-end}.social-featured__intro p{max-width:25rem;margin:1.25rem 0 0;font-family:var(--serif);font-size:clamp(1.2rem,2.4vw,1.7rem);line-height:1.35}.instagram-featured{min-width:0;display:grid;place-items:center;padding:clamp(.25rem,2vw,1rem);overflow:hidden;background:var(--white);border-radius:.75rem}.instagram-embed{width:100%;min-width:0;display:grid;place-items:center;overflow:hidden}.instagram-embed>*{max-width:100%!important}.instagram-embed blockquote.instagram-media{width:100%!important;min-width:0!important;margin:0!important}.instagram-embed iframe{display:block;width:100%!important;max-width:100%!important;min-width:0!important;margin:0 auto!important}.instagram-fallback{position:relative;display:block;width:min(100%,40rem);aspect-ratio:1;overflow:hidden;background:var(--dark);color:var(--white);text-decoration:none}.instagram-fallback img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.instagram-fallback__placeholder{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(145deg,#015623,#07150d)}.instagram-fallback__placeholder svg{width:clamp(5rem,20vw,10rem);height:auto}.instagram-fallback__button{position:absolute;left:1rem;right:1rem;bottom:1rem;padding:1rem;background:var(--white);color:var(--green);font-size:.68rem;font-weight:900;letter-spacing:.08em;text-align:center}.social-follow{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--line)}.social-follow>p{margin:0 0 1rem;color:var(--green);font-size:.7rem;font-weight:900;letter-spacing:.16em}.social-links{display:flex;flex-wrap:wrap;gap:.65rem;margin:0}.social-links a{min-height:2.8rem;padding:.65rem .85rem;border:1px solid var(--line);display:inline-flex;align-items:center;gap:.55rem;font-size:.65rem;text-transform:uppercase;font-weight:800;text-decoration:none;transition:background-color .2s,color .2s,border-color .2s}.social-links a:hover{border-color:var(--green);background:var(--green);color:var(--white)}.social-link__icon{width:1.2rem;height:1.2rem;display:grid;place-items:center}.social-link__icon svg{display:block;width:100%;height:100%}.sponsors{border-top:1px solid var(--line)}.sponsors-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line)}
.sponsorship-cta{background:var(--green);color:var(--white)}.sponsorship-grid{display:grid;gap:2.5rem}.sponsorship-cta h2{margin:0;font-size:clamp(3rem,12vw,9.5rem);line-height:.76;letter-spacing:-.07em}.sponsorship-cta p{font-family:var(--serif);font-size:1.25rem;max-width:30rem}.sponsorship-cta .button{margin-top:1rem}
.visit{position:relative;overflow:hidden;background:var(--ivory)}.visit:before{content:"";position:absolute;width:26rem;height:26rem;right:-12rem;top:5rem;border:1px solid rgba(1,86,35,.14);border-radius:50%;pointer-events:none}.visit .shell{position:relative}.visit-grid{display:grid;gap:1.25rem;min-width:0}.visit-copy{position:relative;z-index:1;min-width:0;padding:clamp(1.5rem,5vw,3.5rem);border-radius:1rem;background:var(--green);color:var(--white);display:flex;flex-direction:column;justify-content:center;box-shadow:0 1.5rem 4rem rgba(7,21,13,.12)}.visit-kicker{margin:0 0 1.25rem;font-size:.68rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;opacity:.78}.visit-copy h3{max-width:9ch;margin:0;font-size:clamp(2.5rem,9vw,5rem);font-weight:800;line-height:.88;letter-spacing:-.055em}.visit-address{display:flex;align-items:flex-start;gap:.65rem;margin:2rem 0 .25rem;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.28);font-family:var(--serif);font-size:clamp(1.15rem,3vw,1.55rem);line-height:1.25}.visit-address span{flex:0 0 auto;margin-top:.35em;font-family:var(--sans);font-size:.55rem;color:#9ad2ad}.visit-description{max-width:32rem;margin:1.15rem 0 0;line-height:1.6}.visit-transport{max-width:32rem;margin:1rem 0 0;padding-top:1rem;border-top:1px solid rgba(255,255,255,.2);font-size:.9rem;opacity:.78}.visit-directions{width:100%;min-height:3.6rem;margin-top:2rem;padding:1rem 1.1rem;border-color:var(--white);background:var(--white);color:var(--green);justify-content:space-between;text-align:left}.visit-directions:hover{background:transparent;color:var(--white)}.visit-directions__arrow{font-size:1.2rem;line-height:1}.external-map{position:relative;min-width:0;margin:0;border-radius:1rem;overflow:hidden;background:var(--dark);box-shadow:0 1.5rem 4rem rgba(7,21,13,.12)}.external-map__frame{position:relative;width:100%;aspect-ratio:4/3;overflow:hidden}.external-map iframe{position:absolute;inset:0;display:block;width:100%;height:100%;border:0}.external-map figcaption{position:absolute;z-index:1;left:1rem;bottom:1rem;max-width:calc(100% - 2rem);padding:.65rem .8rem;border-radius:.35rem;background:rgba(7,21,13,.9);color:var(--white);font-size:.62rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;box-shadow:0 .5rem 1.5rem rgba(0,0,0,.14)}.map-fallback{min-width:0;min-height:22rem;padding:clamp(1.5rem,5vw,3rem);border-radius:1rem;overflow:hidden;background:var(--dark);color:var(--white);display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 1.5rem 4rem rgba(7,21,13,.12)}.map-fallback strong{max-width:9ch;font-size:clamp(2.6rem,11vw,7rem);line-height:.8;letter-spacing:-.07em}.map-fallback span{font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.map-fallback span:last-child{text-align:right}.visit-grid--without-map{grid-template-columns:1fr}
.contact-grid{position:relative;isolation:isolate;display:grid;gap:clamp(3.5rem,8vw,7rem)}.contact-intro{position:relative;z-index:1;min-width:0}.contact-intro h2{max-width:100%;margin:.3rem 0 2rem;font-size:clamp(3.6rem,16vw,8.5rem);line-height:.82;letter-spacing:-.07em;overflow-wrap:break-word}.contact-intro address{display:grid;gap:.3rem;font-style:normal}.contact-form{position:relative;z-index:2;min-width:0;display:grid;gap:1.25rem}.form-field label{display:block;margin-bottom:.35rem;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.form-field input:not([type=checkbox]),.form-field select,.form-field textarea{width:100%;border:0;border-bottom:1px solid var(--coal);border-radius:0;background:transparent;padding:.75rem 0;min-height:3rem}.form-check{display:grid;grid-template-columns:auto 1fr;gap:.7rem;align-items:start}.form-check input{width:1.25rem;height:1.25rem}.form-check label{font-weight:400;text-transform:none;letter-spacing:0}.form-field--honeypot{position:absolute;left:-9999px}.form-submit{display:flex;flex-wrap:wrap;align-items:center;gap:1rem}.form-status{margin:0;font-weight:700}.form-status.is-error{color:#a80000}.form-status.is-success{color:var(--green)}
.sponsor-modal{position:fixed;z-index:2100;inset:0}.sponsor-modal[hidden]{display:none}.sponsor-modal__backdrop{position:absolute;inset:0;background:rgba(7,21,13,.88)}.sponsor-modal__panel{position:absolute;inset:.5rem;background:var(--white);padding:4rem 1.5rem 2rem;overflow:auto}.sponsor-modal__close{position:absolute;top:1rem;right:1rem;width:3rem;height:3rem;border:1px solid var(--line);background:var(--white);font-size:2rem}.sponsor-modal__logo img{max-width:15rem;max-height:8rem;object-fit:contain}.sponsor-modal h2{font-size:clamp(2.5rem,10vw,5rem);line-height:.9;letter-spacing:-.05em}.sponsor-modal__panel>p{max-width:45rem;font-family:var(--serif);font-size:1.15rem}.sponsor-modal__panel>img{max-width:45rem;width:100%;margin:2rem 0}.sponsor-modal__links{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}.responsive-video{position:relative;aspect-ratio:16/9;max-width:45rem}.responsive-video iframe{position:absolute;inset:0;width:100%;height:100%}
.site-footer{padding:4rem 0 1.5rem;background:var(--dark);color:var(--white)}.footer-main{display:grid;grid-template-columns:1fr auto;gap:2rem}.brand-logo--footer{height:4rem}.footer-brand p{max-width:15rem;font-family:var(--serif)}.crest-logo--footer{width:5rem;height:5rem;object-fit:contain}.footer-links{display:flex;flex-wrap:wrap;gap:1rem;grid-column:1/-1}.footer-links a,.footer-bottom a{font-size:.67rem;text-transform:uppercase;letter-spacing:.1em}.footer-private{grid-column:1/-1}.footer-bottom{margin-top:3rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.2);display:flex;flex-direction:column;gap:1rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.07em}.footer-bottom nav{display:flex;flex-wrap:wrap;gap:1rem}
.reveal-mask-wrap{min-width:0;overflow:hidden}.reveal-mask__content{display:block}.parallax-media{--parallax-y:0px;transform:translate3d(0,var(--parallax-y),0)}.hero-media .parallax-media{transform:translate3d(0,var(--parallax-y),0) scale(1.045)}
:root{--entry-distance:36px;--entry-ease:cubic-bezier(.16,1,.3,1)}
/* Prepared before paint, revealed once; no JS or watchdog expiry stays visible. */
.is-reveal-ready .reveal{--entry-delay:0s;opacity:1;transform:none;clip-path:none;transition:none}
.is-reveal-ready .reveal-mask__content{transform:none;transition:none}
.is-reveal-ready .reveal.is-visible{animation:fexpo-entry-text 1.1s var(--entry-ease) var(--entry-delay) backwards}
.is-reveal-ready .reveal-mask.is-visible{animation:none}
.is-reveal-ready .reveal-mask.is-visible .reveal-mask__content{animation:fexpo-entry-text 1.1s var(--entry-ease) var(--entry-delay) backwards}
.is-reveal-ready .reveal-image.is-visible,.is-reveal-ready .reveal-scale.is-visible{animation-name:fexpo-entry-image;animation-duration:1.3s}
.is-reveal-ready .reveal-image>:first-child{transform:none;transition:none}
.is-reveal-ready .external-map.reveal.is-visible{animation-name:fexpo-entry-map}
.is-reveal-ready .sponsor-carousel.reveal-image .sponsor-carousel__viewport{clip-path:none;transition:none}
.is-reveal-ready .reveal-delay-1{--entry-delay:.12s}
.is-reveal-ready .reveal-delay-2{--entry-delay:.24s}
.is-reveal-ready .reveal-delay-3{--entry-delay:.36s}
.is-reveal-ready .reveal-delay-4{--entry-delay:.48s}
.is-reveal-ready .reveal-delay-5{--entry-delay:.60s}
.is-reveal-ready .reveal-delay-6{--entry-delay:.72s}
.is-reveal-ready .hero .reveal-load{animation:fexpo-entry-text .65s var(--entry-ease) backwards}
.is-reveal-ready .hero .reveal-load-delay-1{animation-delay:.10s}
.is-reveal-ready .hero .reveal-load-delay-2{animation-delay:.20s}
.is-reveal-ready .hero .reveal-load-delay-3{animation-delay:.30s}
.is-reveal-ready .hero .reveal-load-delay-4{animation-delay:.40s}
.is-reveal-ready .hero .reveal-load-delay-5{animation:fexpo-entry-image .72s var(--entry-ease) .48s backwards}
.hero-lead{opacity:1;visibility:visible;transform:none}
@keyframes fexpo-entry-text{from{opacity:0;transform:translateY(var(--entry-distance))}35%{opacity:.25}70%{opacity:.7}to{opacity:1;transform:translateY(0)}}
@keyframes fexpo-entry-image{from{opacity:0;transform:translateY(18px) scale(1.025)}35%{opacity:.25}70%{opacity:.7}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes fexpo-entry-map{from{opacity:.75;transform:scale(1.005)}to{opacity:1;transform:scale(1)}}
@media(max-width:767px){:root{--entry-distance:24px}}
.button{max-width:100%;text-align:center}.about-grid>*,.sponsorship-grid>*,.contact-grid>*,.section-heading>*{min-width:0}.section-subtitle{max-width:44rem;margin:.85rem 0 0;color:var(--muted);font-family:var(--serif);font-size:clamp(1rem,2vw,1.25rem);line-height:1.45}.section-heading .section-subtitle{grid-column:2}.section-subtitle--compact{margin:-1.35rem 0 2rem}.section-subtitle--dark{color:rgba(255,255,255,.72)}.about-copy .section-subtitle{margin:-.65rem 0 1.4rem}.contact-subtitle{margin:-1rem 0 1.5rem}
@media(min-width:600px){:root{--shell:min(90rem,calc(100% - 4rem))}.main-sponsors-grid{grid-template-columns:repeat(3,1fr)}.sponsors-grid{grid-template-columns:repeat(3,1fr)}.contact-form{grid-template-columns:repeat(2,1fr)}.form-field--full{grid-column:1/-1}.sponsor-modal__panel{inset:4vh max(1rem,8vw);padding:5rem clamp(2rem,7vw,7rem)}}
@media(min-width:768px){.section{padding:8rem 0}.section-heading{grid-template-columns:3rem 1fr;margin-bottom:5rem}.project{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:5vw}.project:nth-child(even) .project-visual{order:2}.project:nth-child(even) .project-copy{text-align:right}.project:nth-child(even) dl{text-align:left}.llibrets-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.llibrets-grid--single{grid-template-columns:minmax(0,1fr)}.social-featured{grid-template-columns:minmax(14rem,.6fr) minmax(0,1.4fr);align-items:stretch}.about-grid{grid-template-columns:minmax(16rem,.65fr) 1.35fr;align-items:center}.metrics{grid-template-columns:repeat(4,1fr)}.social-grid{grid-template-columns:repeat(4,1fr)}.social-item:nth-child(5n+1){grid-column:span 2;grid-row:span 2;aspect-ratio:1}.sponsors-grid{grid-template-columns:repeat(4,1fr)}.sponsorship-grid{grid-template-columns:1.5fr .5fr;align-items:end}.visit-grid{grid-template-columns:minmax(18rem,.7fr) minmax(0,1.3fr);align-items:stretch;gap:clamp(1.25rem,3vw,2.5rem)}.visit-grid--without-map{grid-template-columns:minmax(0,1fr)}.visit-grid--without-map .visit-copy{max-width:48rem}.external-map__frame{height:100%;min-height:34rem;aspect-ratio:auto}.footer-main{grid-template-columns:1.3fr .5fr .8fr auto;align-items:start}.footer-links,.footer-private{grid-column:auto}.footer-links{display:grid}.footer-bottom{flex-direction:row;justify-content:space-between}}
@media(min-width:1080px){:root{--header:6.75rem;--countdown:2.75rem}.header-inner{padding-block:1.15rem}.crest-logo--nav{width:3.9rem;height:3.9rem}.site-brand__name{max-width:10rem;font-size:.8rem}.site-nav{display:flex;align-items:center;justify-content:center;gap:clamp(.75rem,1.25vw,1.5rem);margin-left:auto}.site-nav a{font-size:.61rem;text-transform:uppercase;letter-spacing:.065em;font-weight:700;text-decoration:none}.site-nav a:hover{text-decoration:underline}.menu-toggle{display:none}.header-private{padding:.75rem 1.1rem}.hero-content{grid-template-columns:1fr auto;grid-template-rows:1fr auto}.hero-copy{grid-column:1;align-self:center}.hero-seal{grid-column:2;grid-row:1;align-self:end;margin-bottom:5rem}.hero-year{grid-column:1;grid-row:2}.main-sponsors-grid{grid-template-columns:repeat(3,1fr)}.sponsors-grid{grid-template-columns:repeat(5,1fr)}.sponsor-card{min-height:9rem}.contact-grid{grid-template-columns:minmax(0,.9fr) minmax(30rem,1.1fr);align-items:start;gap:clamp(4rem,7vw,8rem)}.contact-intro h2{font-size:clamp(4rem,7vw,7.25rem);line-height:.84}.contact-form{padding-top:2rem}}
@media(min-width:1500px){.site-nav a{font-size:.7rem}.header-inner{gap:2rem}.project{gap:7rem}}
@media(max-width:599px){:root{--countdown:2.5rem}.header-private{padding:.6rem .65rem;font-size:.56rem}.site-brand{gap:.5rem}.crest-logo--nav{width:3rem;height:3rem}.site-brand__name{max-width:6.3rem;font-size:.61rem}.hero-logo-wrap{max-width:min(58vw,13rem)}.crida-countdown__timer{gap:.2rem;font-size:.59rem;letter-spacing:.025em}.crida-countdown__timer i{font-size:.72rem}.crida-countdown__prefix{font-size:.9em}.countdown-long{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.countdown-short{display:inline}.crida-countdown__message{font-size:.64rem;line-height:1.1;letter-spacing:.07em}.visit-directions{font-size:.64rem;letter-spacing:.055em}.external-map figcaption{font-size:.56rem}.contact-intro h2{font-size:clamp(3.4rem,18vw,6rem)}}
@media(max-width:374px){:root{--shell:min(90rem,calc(100% - 1.25rem));--header:5.75rem;--countdown:2.35rem}.header-inner{gap:.35rem;padding-block:.85rem}.site-brand__name{max-width:5.5rem;font-size:.56rem}.crest-logo--nav{width:2.7rem;height:2.7rem}.header-private{min-height:2.5rem;padding:.5rem;font-size:.5rem}.menu-toggle{width:2.5rem;height:2.5rem}.crida-countdown__timer{gap:.14rem;font-size:.54rem;letter-spacing:.01em}.crida-countdown__timer i{font-size:.62rem}}
@media(hover:hover){.llibret-cover:hover{transform:translateY(-.45rem) rotateX(1.5deg) rotateY(-1.5deg);box-shadow:0 1.75rem 3.5rem rgba(7,21,13,.22),.7rem .8rem 0 rgba(1,86,35,.08)}.instagram-fallback:hover img{transform:scale(1.02)}}
.site-header{background:rgba(7,21,13,.84);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.site-header.is-scrolled,.site-header.is-open{box-shadow:0 1px 0 rgba(255,255,255,.12)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.is-reveal-ready .reveal,.is-reveal-ready .reveal-load{opacity:1;transform:none;clip-path:none;animation:none!important}.is-reveal-ready .reveal-mask__content,.is-reveal-ready .reveal-image>:first-child,.parallax-media,.hero-media .parallax-media{transform:none!important;transition:none!important}.is-reveal-ready .sponsor-carousel.reveal-image .sponsor-carousel__viewport{clip-path:none!important;transition:none!important}}

@media(max-width:767px){.is-reveal-ready .reveal-left,.is-reveal-ready .reveal-right{transform:translateY(.875rem)}.is-reveal-ready .reveal-scale{transform:translateY(.5rem) scale(.98)}.is-reveal-ready .reveal-book--forward>:first-child,.is-reveal-ready .reveal-book--reverse>:first-child{transform:scale(1.025)}.parallax-media,.hero-media .parallax-media{transform:none}}

/* Compact header, configurable brand and manual EXPO Social carousel. */
:root{--header:4.25rem}.header-inner{padding-block:.25rem}.site-brand{max-width:clamp(6rem,23vw,13rem)}.header-logo{display:block;width:auto;height:auto;max-width:100%;max-height:2.8rem;object-fit:contain}.social-network-block{margin-bottom:clamp(3rem,7vw,6rem);padding:clamp(1.25rem,3vw,2rem);background:var(--green);color:var(--white)}.social-network-block .eyebrow{margin:0 0 1rem;color:inherit}.social-network-grid{display:flex;flex-wrap:wrap;gap:.65rem}.social-network-card{min-height:3.25rem;padding:.7rem 1rem;display:inline-flex;align-items:center;gap:.65rem;border:1px solid rgba(255,255,255,.4);color:inherit;font-size:.65rem;font-weight:800;letter-spacing:.08em;text-decoration:none;text-transform:uppercase;transition:background-color .2s,color .2s}.social-network-card:hover,.social-network-card:focus-visible{background:var(--white);color:var(--green)}.social-network-card__icon{width:1.35rem;height:1.35rem;display:grid;place-items:center}.social-network-card__icon svg{width:100%;height:100%}.social-gallery{min-width:0}.social-gallery__heading{margin-bottom:1.25rem;display:flex;align-items:end;justify-content:space-between;gap:1rem}.social-gallery__heading h3{margin:0;color:var(--green);font-size:clamp(1.8rem,4vw,3.75rem);line-height:.92;letter-spacing:-.04em}.social-gallery__controls{display:flex;gap:.5rem}.social-gallery__controls button{width:3rem;height:3rem;border:1px solid var(--green);background:transparent;color:var(--green);font-size:1.25rem;cursor:pointer}.social-gallery__controls button:hover,.social-gallery__controls button:focus-visible{background:var(--green);color:var(--white)}.social-gallery__controls button:disabled{opacity:.3;cursor:default}.social-carousel{display:flex;gap:clamp(.75rem,2vw,1.25rem);max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--green) transparent;padding-bottom:1rem}.social-carousel__item{position:relative;flex:0 0 min(82vw,22rem);aspect-ratio:1;overflow:hidden;margin:0;background:var(--dark);color:var(--white);scroll-snap-align:start;text-decoration:none}.social-carousel__item img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.social-carousel__item:hover img{transform:scale(1.025)}.social-carousel__caption{position:absolute;inset:auto 0 0;padding:2.5rem 1rem 1rem;background:linear-gradient(transparent,rgba(7,21,13,.85));font-family:var(--serif);font-size:1rem}.site-footer{padding:clamp(3rem,7vw,5rem) 0 1.5rem}.footer-main{display:grid;grid-template-columns:1fr;justify-items:center;gap:2.5rem;text-align:center}.footer-identity{display:flex;flex-direction:column;align-items:center;gap:1rem}.footer-identity p{max-width:16rem;margin:0;font-family:var(--serif);font-size:1rem}.footer-crest{width:auto;height:5.5rem;object-fit:contain}.footer-logo{display:block;width:5.5rem;height:5.5rem;object-fit:contain}.footer-social>p{margin:0 0 .9rem;font-size:.65rem;font-weight:800;letter-spacing:.14em}.footer-social__links{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}.footer-social__links a{width:2.75rem;height:2.75rem;display:grid;place-items:center;border:1px solid rgba(255,255,255,.35);color:var(--white)}.footer-social__links a:hover,.footer-social__links a:focus-visible{background:var(--white);color:var(--green)}.footer-social__links svg{width:1.25rem;height:1.25rem}.footer-bottom nav{display:flex;flex-wrap:wrap;gap:1rem}.footer-bottom p{margin:0}
@media(min-width:768px){.social-carousel__item{flex-basis:clamp(16rem,27vw,22rem)}.footer-main{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;justify-items:stretch;text-align:left}.footer-identity{align-items:flex-start;justify-self:start}.footer-expo-logo{justify-self:center}.footer-social{justify-self:end;text-align:right}.footer-social__links{justify-content:flex-end}}
@media(min-width:1080px){:root{--header:4.5rem}.header-inner{padding-block:.25rem}.header-logo{max-height:3rem}.header-private{min-height:2.6rem;padding:.65rem 1rem}}
@media(max-width:599px){.site-brand{max-width:min(29vw,7.5rem)}.header-logo{max-height:2.55rem}.social-network-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.social-network-card{min-width:0;padding:.65rem}.social-gallery__controls button{width:2.75rem;height:2.75rem}}
@media(max-width:374px){:root{--header:4rem}.header-inner{padding-block:.2rem}.site-brand{max-width:5.75rem}.header-logo{max-height:2.35rem}.header-private{min-height:2.4rem}.menu-toggle{width:2.4rem;height:2.4rem}.social-network-card{font-size:.57rem}.social-carousel__item{flex-basis:84vw}}

/* Hero EXPO mark: single-column, left-aligned and responsive. */
.sponsor-placeholder small{font-size:.55rem}
.site-logo--nav{display:block;width:3.15rem;height:3.15rem;flex:0 0 auto;object-fit:contain}.hero-content{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;justify-items:stretch;gap:clamp(1rem,2vw,1.5rem)}.hero-copy{grid-column:1/-1;grid-row:1;display:block;max-width:49rem}.hero-copy .eyebrow{margin:0 0 1rem}.hero-logo-wrap{width:clamp(16.25rem,26vw,27.5rem);max-width:100%;margin:1.15rem 0 1.35rem}.hero-lead{margin:0}.hero-ctas{margin-top:1.5rem}.hero-year{grid-column:1;grid-row:2;justify-self:start;align-self:end}.hero-seal{grid-column:2;grid-row:2;justify-self:end;align-self:end;margin-bottom:0}
@media(max-width:767px){.hero-logo-wrap{width:clamp(11.875rem,58vw,18.75rem);max-width:100%;margin:1rem 0 1.15rem}}
@media(max-width:599px){.site-logo--nav{width:2.75rem;height:2.75rem}}
@media(max-width:374px){.site-logo--nav{width:2.5rem;height:2.5rem}}
@media(min-width:1080px){.site-logo--nav{width:3.5rem;height:3.5rem}}

/* EXPO Social: perfiles sin panel envolvente y botones verdes centrados. */
.social-network-block{padding:0;background:transparent;color:var(--green);text-align:center}
.social-network-block .eyebrow{color:var(--green)}
.social-network-grid{justify-content:center}
.social-network-card{justify-content:center;border-color:var(--green);background:var(--green);color:var(--white)}
.social-network-card:hover,.social-network-card:focus-visible{background:transparent;color:var(--green)}

/* El backdrop-filter del header crea un bloque contenedor: fijamos la altura real del menú móvil. */
@media(max-width:1079px){.site-header.is-open .site-nav{inset:var(--header) 0 auto;height:calc(100vh - var(--header));height:calc(100dvh - var(--header));padding:clamp(2rem,7vh,3rem) 1rem;overscroll-behavior:contain}}

/* Portada editorial: cabecera transparente, mensaje protagonista y escudo flotante. */
.site-header{background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.site-header.is-scrolled,.site-header.is-open{background:#07150d;box-shadow:0 1px 0 rgba(255,255,255,.16);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.hero-overlay{background:linear-gradient(90deg,rgba(7,21,13,.9) 0%,rgba(7,21,13,.6) 56%,rgba(7,21,13,.25) 100%)}
.hero-content{position:relative;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:1fr auto;align-content:stretch;padding-top:calc(var(--header) + clamp(3rem,8vh,7rem));padding-bottom:clamp(1.5rem,4vh,3rem)}
.hero-copy{grid-column:1;grid-row:1;align-self:center;max-width:min(68rem,calc(100% - clamp(13rem,23vw,21rem)))}
.hero-copy .eyebrow{margin:0 0 clamp(1rem,2.5vh,1.75rem)}
.hero h1{max-width:10.5ch;margin:0;font-size:clamp(3.75rem,7.8vw,8.75rem);font-weight:800;line-height:.82;letter-spacing:-.07em;text-wrap:balance}
.hero-lead{max-width:37rem;margin:clamp(1.4rem,3vh,2.25rem) 0 0;font-size:clamp(1.15rem,2vw,1.65rem);line-height:1.35}
.hero-logo-wrap{width:clamp(7.5rem,10vw,10rem);max-width:32%;margin:clamp(1.25rem,2.5vh,2rem) 0 0;opacity:.96}
.hero-ctas{margin-top:clamp(1.25rem,2.5vh,2rem)}
.hero-year{grid-column:1;grid-row:2;justify-self:start;align-self:end}
.hero-seal{position:absolute;z-index:2;right:0;top:50%;display:block;margin:0;perspective:900px;transform:translateY(-42%)}
.hero-seal__card{--seal-rotate-x:0deg;--seal-rotate-y:0deg;display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center;transform:rotateX(var(--seal-rotate-x)) rotateY(var(--seal-rotate-y)) translateZ(0);transform-style:preserve-3d;transition:transform .22s ease-out;will-change:transform}
.hero-seal__card:after{content:"";position:absolute;inset:8% 10%;z-index:-1;border-radius:50%;background:rgba(0,0,0,.28);filter:blur(2rem);transform:translateZ(-2rem)}
.crest-logo--hero{width:clamp(10rem,16vw,15rem);height:auto;max-height:34vh;filter:drop-shadow(0 1.5rem 2rem rgba(0,0,0,.28));transform:translateZ(2rem)}
.hero-seal__card span{max-width:15rem;font-size:.64rem;font-weight:800;line-height:1.35;letter-spacing:.18em;text-transform:uppercase;text-shadow:0 2px 12px rgba(0,0,0,.5);transform:translateZ(1.25rem)}

@media(min-width:1080px){
	.header-inner{display:grid;grid-template-columns:minmax(10rem,1fr) auto minmax(10rem,1fr);gap:clamp(1rem,2vw,2rem)}
	.site-brand{justify-self:start}
	.site-nav{justify-self:center;margin:0}
	.header-actions{justify-self:end}
}
@media(max-width:1079px){
	.hero-content{padding-top:calc(var(--header) + clamp(2.5rem,7vh,5rem));padding-bottom:6.5rem}
	.hero-copy{max-width:calc(100% - clamp(5.5rem,18vw,9rem))}
	.hero h1{font-size:clamp(3.25rem,10vw,6rem)}
	.hero-seal{top:auto;right:0;bottom:1rem;transform:none}
	.hero-seal__card{gap:.45rem}
	.crest-logo--hero{width:clamp(5rem,15vw,7.5rem);max-height:none}
	.hero-seal__card span{max-width:8rem;font-size:.5rem;letter-spacing:.11em}
}
@media(max-width:599px){
	.hero-content{padding-top:calc(var(--header) + 2.5rem);padding-bottom:6rem}
	.hero-copy{max-width:100%}
	.hero h1{max-width:9ch;font-size:clamp(3rem,15vw,4.85rem);line-height:.84}
	.hero-lead{max-width:25rem;font-size:clamp(1.05rem,5vw,1.35rem)}
	.hero-logo-wrap{width:clamp(6.5rem,28vw,8.5rem);max-width:38%}
	.hero-seal{right:.25rem;bottom:1rem}
	.crest-logo--hero{width:clamp(4.5rem,20vw,6rem)}
	.hero-seal__card span{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
}
@media(hover:hover) and (pointer:fine){.hero-seal__card:hover{transition-duration:.08s}}

/* Las fotografías del carrusel reutilizan el lightbox accesible de proyectos. */
.social-carousel__zoom{display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in;color:inherit}
.social-carousel__zoom img{width:100%;height:100%;object-fit:cover}
.social-carousel__caption{display:flex;align-items:end;justify-content:space-between;gap:1rem;pointer-events:none}
.social-carousel__caption>a{flex:0 0 auto;color:var(--white);font-family:var(--sans);font-size:.58rem;font-weight:800;letter-spacing:.08em;text-decoration:none;pointer-events:auto}

/* Patrocinadores: distribución fluida, cinta continua y ficha modal compartida. */
.main-sponsors-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(.75rem,2vw,1.5rem);background:transparent}
.main-sponsors-grid .sponsor-card--main{flex:1 1 16rem;max-width:26rem;border:1px solid var(--line)}
.main-sponsors-grid .sponsor-card img,.sponsor-carousel .sponsor-card img{filter:none}
.sponsor-carousel{position:relative;min-width:0}
.sponsor-carousel__controls{display:flex;justify-content:flex-end;gap:.4rem;margin-bottom:.75rem}
.sponsor-carousel__controls button{width:2.65rem;height:2.65rem;border:1px solid var(--green);background:transparent;color:var(--green);font-size:1rem;cursor:pointer}
.sponsor-carousel__controls button:hover,.sponsor-carousel__controls button:focus-visible{background:var(--green);color:var(--white)}
.sponsor-carousel__viewport{width:100%;max-width:100%;height:8rem;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;cursor:grab}
.sponsor-carousel__viewport::-webkit-scrollbar{display:none;width:0;height:0}
.sponsor-carousel__viewport.is-dragging{cursor:grabbing;user-select:none}
.sponsor-carousel__track{display:flex;width:max-content;height:8rem}
.sponsor-carousel__set{display:flex;flex-shrink:0;height:8rem;gap:.25rem;padding-right:.25rem}
.sponsor-carousel .sponsor-card{flex:0 0 clamp(9rem,14vw,12rem);width:clamp(9rem,14vw,12rem);min-height:8rem;padding:.5rem;border:1px solid var(--line);background:var(--white)}
.sponsor-carousel .sponsor-card img{max-width:94%;max-height:5.5rem}
.sponsor-card:is(a,button):focus-visible{outline:3px solid var(--green);outline-offset:-3px}
.sponsor-modal__panel{inset:50% auto auto 50%;width:min(calc(100% - 2rem),62rem);max-height:min(90vh,52rem);max-height:min(90dvh,52rem);padding:clamp(4rem,7vw,5rem) clamp(1.5rem,6vw,5rem) clamp(2rem,5vw,4rem);border-radius:1rem;box-shadow:0 1.5rem 5rem rgba(0,0,0,.35);transform:translate(-50%,-50%)}
.sponsor-modal__close{z-index:1;cursor:pointer}.sponsor-modal__logo img{max-width:min(15rem,60vw);max-height:7rem}.sponsor-modal h2{margin:1.5rem 0 2rem}.sponsor-modal__panel>.responsive-video,.sponsor-modal__panel>img{width:100%;max-width:48rem;margin:0 0 2rem}.sponsor-modal__panel>p{margin:0 0 1.5rem}.sponsor-modal__links a:not(.button){font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
@media(max-width:599px){.main-sponsors-grid .sponsor-card--main{flex-basis:100%;max-width:100%}.sponsor-carousel__controls{justify-content:center}.sponsor-carousel .sponsor-card{flex-basis:clamp(8.75rem,48vw,10.75rem);width:clamp(8.75rem,48vw,10.75rem)}.sponsor-modal__panel{width:calc(100% - 1rem);max-height:calc(100dvh - 1rem);padding:4rem 1.25rem 1.5rem;border-radius:.75rem}.sponsor-modal h2{font-size:clamp(2rem,12vw,3.5rem)}}
@media(prefers-reduced-motion:reduce){.sponsor-carousel__viewport{scroll-behavior:auto}}

/* Patrocinadores y Momentos EXPO: acabados premium e interacción accesible. */
.main-sponsors-grid .sponsor-card--main,.sponsor-carousel .sponsor-card{border:0;background:transparent;box-shadow:none}
.sponsor-card{position:relative;padding:clamp(.75rem,2vw,1.25rem);overflow:visible}
.sponsor-card__visual{position:relative;display:block;width:100%;height:100%;min-height:inherit}
.sponsor-card__logo,.sponsor-card__name{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:.5rem}
.sponsor-card__logo{transition:opacity .32s ease,filter .32s ease}
.sponsor-card__name{z-index:1;padding:1rem;opacity:0;text-align:center;font-family:var(--serif);font-size:clamp(1rem,2vw,1.4rem);font-weight:700;line-height:1.15;transition:opacity .32s ease}
.sponsor-card__logo img{max-width:82%;max-height:5.75rem;width:auto;height:auto;object-fit:contain}
.sponsor-card--main .sponsor-card__logo img{max-height:7rem}
.sponsor-card:is(a,button):hover img{transform:none}
@media(hover:hover) and (pointer:fine){.sponsor-card:hover .sponsor-card__logo,.sponsor-card:focus-visible .sponsor-card__logo{opacity:.2;filter:blur(1px)}.sponsor-card:hover .sponsor-card__name,.sponsor-card:focus-visible .sponsor-card__name{opacity:1}}

.sponsor-carousel__controls button,.social-gallery__controls button{border-radius:999px;transition:transform .2s ease,background-color .2s ease,color .2s ease}
.sponsor-carousel__controls button:hover,.sponsor-carousel__controls button:focus-visible,.social-gallery__controls button:hover,.social-gallery__controls button:focus-visible{transform:translateY(-1px)}

.sponsor-modal__backdrop{background:rgba(4,15,9,.9);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.sponsor-modal__panel{width:min(calc(100% - 2rem),66rem);max-height:min(92vh,56rem);max-height:min(92dvh,56rem);padding:clamp(4.5rem,7vw,6rem) clamp(1.5rem,6vw,5rem) clamp(2rem,5vw,4.5rem);border:1px solid rgba(1,86,35,.12);border-radius:1.35rem;background:linear-gradient(145deg,#fff 0%,#fbfaf6 100%);box-shadow:0 2rem 7rem rgba(0,0,0,.42)}
.sponsor-modal__header{display:flex;flex-direction:column;align-items:center;gap:clamp(1rem,2.5vw,1.75rem);margin-bottom:clamp(2rem,5vw,3.5rem);text-align:center}
.sponsor-modal__logo{width:100%;min-height:7rem;display:flex;align-items:center;justify-content:center;padding:clamp(.5rem,2vw,1.25rem)}
.sponsor-modal__logo img{max-width:min(18rem,72%);max-height:9rem;width:auto;height:auto;object-fit:contain}
.sponsor-modal__logo .sponsor-placeholder{color:var(--green)}
.sponsor-modal h2{max-width:18ch;margin:0;color:var(--green);font-size:clamp(2.5rem,7vw,5.75rem);line-height:.86;overflow-wrap:anywhere}
.sponsor-modal__media{width:100%;max-width:none;margin:0 0 clamp(1.75rem,4vw,3rem);overflow:hidden;border-radius:.85rem;background:var(--dark)}
.sponsor-modal__media>img{display:block;width:100%;max-height:34rem;object-fit:cover}
.sponsor-modal__media.responsive-video{max-width:none}
.sponsor-modal__copy{max-width:46rem;color:#384039;font-family:var(--serif);font-size:clamp(1.05rem,2vw,1.25rem);line-height:1.65}
.sponsor-modal__copy p{margin:.75rem 0}
.sponsor-modal__links{align-items:center;margin-top:clamp(1.75rem,4vw,2.75rem);padding-top:1.25rem;border-top:1px solid var(--line)}
.sponsor-modal__link{min-height:2.75rem;display:inline-flex;align-items:center;padding:.7rem 1rem;border:1px solid var(--green);border-radius:999px;color:var(--green);text-decoration:none;transition:background-color .2s ease,color .2s ease,transform .2s ease}
.sponsor-modal__link:hover,.sponsor-modal__link:focus-visible{background:var(--green);color:var(--white);transform:translateY(-1px)}
.sponsor-modal__close,.lightbox button{width:2.75rem;height:2.75rem;padding:0;border-radius:50%;display:grid;place-items:center;line-height:1;font-size:1.7rem;cursor:pointer;transition:transform .2s ease,background-color .2s ease,color .2s ease}
.sponsor-modal__close{border:1px solid rgba(1,86,35,.22);background:var(--white);color:var(--green)}
.sponsor-modal__close:hover,.sponsor-modal__close:focus-visible{background:var(--green);color:var(--white);transform:rotate(5deg) scale(1.04)}
.lightbox button{border:1px solid rgba(255,255,255,.7);background:rgba(7,21,13,.5);color:var(--white)}
.lightbox button:hover,.lightbox button:focus-visible{background:var(--white);color:var(--green);transform:rotate(5deg) scale(1.04)}

.social-network-card{min-height:3rem;border:1px solid rgba(1,86,35,.2);border-radius:999px;background:var(--ivory);color:var(--green);box-shadow:0 .35rem 1rem rgba(7,21,13,.04);transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}
.social-network-card:hover,.social-network-card:focus-visible{border-color:var(--green);background:var(--green);color:var(--white);transform:translateY(-2px)}
.footer-social__links a{border:1px solid rgba(255,255,255,.55);border-radius:50%;background:var(--white);color:var(--green);transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}
.footer-social__links a:hover,.footer-social__links a:focus-visible{border-color:var(--white);background:var(--green);color:var(--white);transform:translateY(-2px)}
.social-carousel__link{position:absolute;inset:0;display:block;color:var(--white);text-decoration:none;cursor:pointer}
.social-carousel__link img{width:100%;height:100%;object-fit:cover}
.social-carousel__link-label{flex:0 0 auto;font-family:var(--sans);font-size:.58rem;font-weight:800;letter-spacing:.08em}
.social-carousel__link:hover img{transform:scale(1.025)}

@media(max-width:599px){.sponsor-modal__panel{width:calc(100% - 1rem);max-height:calc(100dvh - 1rem);padding:4.25rem 1.25rem 1.5rem;border-radius:1rem}.sponsor-modal__header{grid-template-columns:1fr;gap:1rem;margin-bottom:1.75rem}.sponsor-modal__logo{min-height:4.5rem}.sponsor-modal__logo img{max-width:min(13rem,62vw);max-height:6rem}.sponsor-modal h2{font-size:clamp(2.2rem,12vw,3.75rem)}.sponsor-modal__links{gap:.65rem}.sponsor-modal__link,.sponsor-modal__links .button{width:100%;justify-content:center}.social-network-card{min-height:3.25rem}}
@media(prefers-reduced-motion:reduce){.sponsor-card__logo,.sponsor-card__name{transition:none}.sponsor-modal__close,.lightbox button,.social-network-card,.footer-social__links a{transition:none}}

/* Keep each project heading and its credits inside the copy column. */
.project-copy{min-width:0}
.project-copy h3{max-width:100%;font-size:clamp(2.2rem,5vw,5rem);overflow-wrap:break-word}
.project-copy dl{grid-template-columns:minmax(0,1fr);max-width:40rem;margin-top:1.35rem}
/* Simple branded fallback for URLs that do not exist. */
.error-404{min-height:72vh;display:grid;place-items:center;padding:clamp(9rem,16vw,13rem) 0 6rem;background:#f8f5ec;color:#015623;text-align:center}.error-404__inner{max-width:48rem}.error-404 h1{margin:.35rem 0 1rem;font-size:clamp(2.4rem,7vw,5.5rem);line-height:.95;text-transform:uppercase}.error-404 p:not(.eyebrow){max-width:38rem;margin:0 auto 2rem;color:#27372e;line-height:1.65}
.is-reveal-ready .sponsor-carousel.reveal-image>.sponsor-carousel__controls{transform:none}

/* Fase editorial de Portada: cabecera, próximo acto, cinta y Agenda. */
.site-header{height:clamp(5.5rem,7vw,6.5rem);border-bottom:1px solid rgba(255,255,255,.2);transition:height .32s ease,background-color .32s ease,box-shadow .32s ease,backdrop-filter .32s ease}
.site-header .header-inner{padding-block:clamp(.75rem,1.4vw,1.15rem);transition:padding .32s ease}
.site-header.is-scrolled,.site-header.is-open{height:4.5rem;border-bottom-color:rgba(255,255,255,.12);background:#07150d}
.site-header.is-scrolled .header-inner,.site-header.is-open .header-inner{padding-block:.3rem}
.site-header .header-logo{transition:max-height .32s ease}
.site-header .header-logo{filter:brightness(0) invert(1)}
.site-header.is-scrolled .header-logo,.site-header.is-open .header-logo{max-height:2.75rem}

.hero h1{max-width:12.5ch;font-size:clamp(3.5rem,7.4vw,8.35rem);line-height:.84;letter-spacing:-.068em;text-wrap:balance}
.hero-logo-wrap{width:clamp(6.75rem,8vw,8.75rem);margin-top:clamp(1rem,2vh,1.5rem)}
.hero-seal{grid-column:auto;grid-row:auto;width:clamp(10rem,16vw,15rem)}
.hero-seal__card{position:relative;width:100%;transform:none;transition:none;will-change:auto}
.hero-seal__card:after{transform:none}
.crest-logo--hero{width:100%;height:auto;max-height:34vh;object-fit:contain;transform:none;backface-visibility:hidden;-webkit-backface-visibility:hidden}
@keyframes fexpo-crest-coin{0%{transform:rotateY(0)}100%{transform:rotateY(360deg)}}
@media(hover:hover) and (pointer:fine){
	.hero-seal__card:hover .crest-logo--hero{animation:fexpo-crest-coin .88s cubic-bezier(.22,.7,.25,1)}
}

.next-event{position:relative;z-index:2;overflow:hidden;background:var(--green);color:var(--white)}
.next-event__inner{min-height:clamp(11rem,16vw,14rem);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(20rem,.9fr);align-items:center;gap:clamp(2rem,6vw,7rem);padding-block:clamp(2rem,4vw,3.5rem)}
.next-event .eyebrow{margin:0 0 .55rem;color:#9ad2ad}
.next-event h2{max-width:15ch;margin:0;font-size:clamp(2rem,4.4vw,4.65rem);line-height:.88;letter-spacing:-.045em;text-transform:uppercase}
.next-event__meta{margin:1rem 0 0;font-family:var(--serif);font-size:clamp(.95rem,1.5vw,1.15rem)}
.next-event__text{max-width:38rem;margin:.7rem 0 0;color:rgba(255,255,255,.76)}
.next-event__countdown{min-width:0}
.next-event__timer{display:flex;align-items:baseline;gap:clamp(.45rem,1.25vw,1rem);font-variant-numeric:tabular-nums}
.next-event__timer[hidden],.next-event__message[hidden]{display:none}
.next-event__unit{display:flex;align-items:baseline;gap:.35rem;white-space:nowrap}
.next-event__unit strong{min-width:2ch;font-size:clamp(1.8rem,4vw,4rem);font-variant-numeric:tabular-nums;line-height:1;letter-spacing:-.06em;text-align:right}
.next-event__unit [data-countdown-days]{min-width:3ch}
.next-event__unit small{font-size:.62rem;font-weight:800;letter-spacing:.1em}
.next-event__timer i{font-style:normal;opacity:.45}
.next-event__seconds{display:inline-block;transform-origin:center}
.next-event__seconds.is-ticking{animation:fexpo-second-tick .2s ease-out}
@keyframes fexpo-second-tick{from{opacity:.55;transform:translateY(-.08em) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
.next-event__message{margin:0;font-size:clamp(1.1rem,2.4vw,2rem);font-weight:800;line-height:1.05;text-transform:uppercase}
.next-event__link{display:inline-flex;align-items:center;gap:.6rem;margin-top:1.35rem;padding-bottom:.2rem;border-bottom:1px solid rgba(255,255,255,.55);font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;text-decoration:none}
.next-event__link:hover,.next-event__link:focus-visible{border-bottom-color:var(--white)}

.falla-ticker{max-width:100%;overflow:hidden;border-block:1px solid rgba(1,86,35,.16);background:var(--ivory);color:var(--green)}
.falla-ticker__track{display:flex;width:max-content;animation:fexpo-ticker var(--ticker-duration,32s) linear infinite}
.falla-ticker__group{display:flex;flex:0 0 auto;align-items:center}
.falla-ticker__group span{display:flex;align-items:center;white-space:nowrap;padding-block:clamp(1rem,2.4vw,1.7rem);font-size:clamp(1.4rem,3.6vw,3.5rem);font-weight:900;line-height:1;letter-spacing:-.035em}
.falla-ticker__group span:after{content:"·";margin-inline:clamp(1rem,2.5vw,2.5rem);font-family:var(--serif);font-weight:400;color:#62b786}
@keyframes fexpo-ticker{to{transform:translate3d(-50%,0,0)}}

/* Cinta integrada como apertura de la sección La Falla. */
.about--with-ticker{padding-top:0}
.about--with-ticker .falla-ticker{padding-block:clamp(1.4rem,2vw,2rem) clamp(.55rem,.7vw,.75rem);margin-bottom:clamp(1.75rem,2.75vw,3rem);border:0;background:transparent;color:#f1eeac}
.about--with-ticker .falla-ticker__group span{padding-block:.08em;font-size:clamp(4.5rem,7vw,8rem);font-weight:900;line-height:.9;letter-spacing:-.05em}
.about--with-ticker .falla-ticker__group span:after{color:#b79fc4}
@media(max-width:767px){
	.about--with-ticker .falla-ticker{padding-block:1.25rem .5rem;margin-bottom:1.75rem}
	.about--with-ticker .falla-ticker__group span{font-size:clamp(2.8rem,14vw,4.5rem)}
}

.agenda-page{min-height:75vh;background:var(--ivory)}
.agenda-hero{padding:calc(var(--header) + clamp(4rem,8vw,7rem)) 0 clamp(3rem,6vw,5rem);background:var(--dark);color:var(--white)}
.agenda-hero .eyebrow{margin:0 0 .8rem;color:#9ad2ad}
.agenda-hero h1{margin:0;font-size:clamp(4rem,12vw,10rem);line-height:.78;letter-spacing:0;text-transform:uppercase}
.agenda-list{display:grid;gap:1rem}
.agenda-card{display:grid;grid-template-columns:minmax(6rem,.22fr) minmax(0,1fr);gap:clamp(1.25rem,4vw,4rem);padding:clamp(1.5rem,4vw,3rem);border:1px solid var(--line);background:var(--white)}
.agenda-card--featured{border-color:var(--green);box-shadow:inset .35rem 0 0 var(--green)}
.agenda-card__date time{display:flex;flex-direction:column;color:var(--green);font-size:clamp(1.8rem,4vw,3.5rem);font-weight:900;line-height:.9;text-transform:uppercase}
.agenda-card__date small{margin-top:.7rem;font-size:.7rem;letter-spacing:.1em}
.agenda-card__copy h2{margin:0;font-size:clamp(1.8rem,4vw,3.5rem);line-height:.92;text-transform:uppercase}
.agenda-card__copy p{max-width:44rem}
.agenda-card__place{color:var(--green);font-weight:800}
.agenda-card__copy a{font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.agenda-empty{max-width:48rem;margin:0 auto;padding:clamp(4rem,9vw,8rem) 0;font-family:var(--serif);font-size:clamp(1.6rem,4vw,3rem);line-height:1.25;text-align:center}

@media(max-width:1079px){
	.site-header{height:4.9rem}
	.site-header.is-scrolled,.site-header.is-open{height:4.25rem}
	.site-header.is-open .site-nav{inset:4.25rem 0 auto;height:calc(100dvh - 4.25rem)}
	.hero-seal{width:clamp(5rem,15vw,7.5rem)}
}
@media(max-width:767px){
	.next-event__inner{grid-template-columns:1fr;gap:1.6rem}
	.next-event h2{font-size:clamp(2.25rem,10vw,4rem)}
	.next-event__countdown{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:.4rem 1.25rem}
	.next-event__timer{flex:1 1 auto}
	.next-event__link{margin-top:.7rem}
}
@media(max-width:599px){
	.hero h1{max-width:10ch;font-size:clamp(2.8rem,14.2vw,4.35rem);line-height:.86}
	.hero-seal{bottom:.75rem}
	.hero-seal{width:clamp(4.5rem,20vw,6rem)}
	.next-event__inner{padding-block:1.75rem}
	.next-event__meta span,.next-event__meta time{display:block}
	.next-event__meta span{height:.2rem;font-size:0}
	.next-event__timer{gap:.35rem}
	.next-event__unit{gap:.2rem}
	.next-event__unit strong{font-size:clamp(1.7rem,9vw,2.35rem)}
	.next-event__unit small{font-size:.5rem;letter-spacing:.06em}
	.next-event__timer i{font-size:.75rem}
	.agenda-card{grid-template-columns:1fr;gap:1rem}
	.agenda-card__date time{font-size:1.4rem}
}
@media(max-width:420px){
	.next-event__timer{gap:.22rem}
	.next-event__unit{gap:.14rem}
	.next-event__unit strong{font-size:clamp(1.45rem,7.3vw,1.9rem)}
	.next-event__unit small{font-size:.44rem;letter-spacing:.035em}
	.next-event__timer i{font-size:.62rem}
}
@media(max-width:374px){
	.site-header{height:4.65rem}
	.site-header.is-scrolled,.site-header.is-open{height:4rem}
	.site-header.is-open .site-nav{inset:4rem 0 auto;height:calc(100dvh - 4rem)}
	.header-private{padding-inline:.45rem}
	.hero h1{font-size:clamp(2.55rem,14vw,3.6rem)}
	.next-event__unit strong{font-size:1.65rem}
}
@media(prefers-reduced-motion:reduce){.next-event__seconds.is-ticking{animation:none}}
@media(prefers-reduced-motion:reduce){
	.hero-seal__card:hover .crest-logo--hero{animation:none}
	.falla-ticker{overflow-x:auto}
	.falla-ticker__track{animation:none}
	.falla-ticker__group[aria-hidden="true"]{display:none}
}

/* Hero: pieza protagonista de dos caras, sin marca duplicada bajo el texto. */
.hero-copy{max-width:min(64rem,calc(100% - clamp(22rem,31vw,34rem)))}
.hero-seal{position:absolute;z-index:2;top:50%;right:clamp(1.5rem,3.5vw,4.5rem);bottom:auto;width:clamp(18.75rem,24vw,30rem);height:clamp(27rem,43vw,37rem);margin:0;perspective:1200px;transform:translateY(-50%)}
.is-reveal-ready .hero-seal.reveal.is-visible{transform:translateY(-50%)}
.hero-seal__card{position:relative;width:100%;height:100%;transform:rotateY(0);transform-style:preserve-3d;transition:transform .82s cubic-bezier(.22,.7,.25,1);will-change:transform}
.hero-seal__card.is-flipped{transform:rotateY(180deg)}
.hero-seal__card:after{content:none}
.hero-seal__face{position:absolute;inset:0;display:grid;place-items:center;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform-style:preserve-3d}
.hero-seal__face--crest{transform:rotateY(0)}
.hero-seal__face--expo{transform:rotateY(180deg)}
.crest-logo--hero{width:100%;height:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 1.5rem 2rem rgba(0,0,0,.25));transform:none}
.hero-coin-logo{width:min(82%,22rem);height:auto;max-height:82%;object-fit:contain;filter:drop-shadow(0 1.5rem 2rem rgba(0,0,0,.24))}
@media(hover:hover) and (pointer:fine){.hero-seal__card:hover .crest-logo--hero{animation:none}}

@media(max-width:1079px) and (min-width:768px){
	.hero-copy{max-width:calc(100% - clamp(17rem,30vw,22rem))}
	.hero-seal{right:clamp(1rem,2.5vw,2rem);width:clamp(15rem,27vw,18rem);height:clamp(22rem,45vw,29rem)}
}
@media(max-width:767px){
	.hero-content{display:grid;grid-template-columns:minmax(0,1fr) clamp(8rem,36vw,10.5rem);grid-template-rows:auto auto;align-content:start;gap:1.5rem .75rem;padding-bottom:1.5rem}
	.hero-copy{grid-column:1/-1;grid-row:1;max-width:100%}
	.hero-year{grid-column:1;grid-row:2;align-self:end}
	.hero-seal{position:relative;grid-column:2;grid-row:2;top:auto;right:auto;bottom:auto;width:100%;height:clamp(10.5rem,46vw,13rem);justify-self:end;align-self:end;transform:none}
	.is-reveal-ready .hero-seal.reveal.is-visible{transform:none}
	.hero-coin-logo{width:82%;max-height:82%}
}
@media(max-width:374px){
	.hero-content{grid-template-columns:minmax(0,1fr) 7.5rem;gap:1.25rem .5rem}
	.hero-seal{height:10.5rem}
}
@media(prefers-reduced-motion:reduce){
	.hero-seal__card,.hero-seal__card.is-flipped{transform:none!important;transition:none!important}
	.hero-seal__face--expo{visibility:hidden}
}

/* Profundidad sutil de la identidad 3D: tamaños internos independientes. */
.hero-seal{perspective:1200px}
.hero-seal__face--crest{transform:translateZ(9px)}
.hero-seal__face--expo{transform:rotateY(180deg) translateZ(9px)}
.crest-logo--hero{width:74%;height:74%;filter:drop-shadow(0 1.1rem 1.45rem rgba(0,0,0,.24))}
.hero-coin-logo{filter:drop-shadow(0 1.25rem 1.7rem rgba(0,0,0,.22))}
@keyframes fexpo-coin-depth{
	0%,100%{transform:scale(1);filter:drop-shadow(0 1.2rem 1.65rem rgba(0,0,0,.23))}
	50%{transform:scale(.97);filter:drop-shadow(0 .65rem 1rem rgba(0,0,0,.3))}
}
.hero-seal__card.is-turning .hero-seal__face img{animation:fexpo-coin-depth .82s cubic-bezier(.22,.7,.25,1)}
@media(max-width:767px){
	.hero-seal__face--crest{transform:translateZ(6px)}
	.hero-seal__face--expo{transform:rotateY(180deg) translateZ(6px)}
	.crest-logo--hero{width:78%;height:78%}
}
@media(prefers-reduced-motion:reduce){
	.hero-seal__face--crest{transform:none}
	.hero-seal__card.is-turning .hero-seal__face img{animation:none}
}

/* Titular editorial de Portada. */
.hero-copy .eyebrow{display:flex;align-items:center;gap:.8rem}
.hero-copy .eyebrow:before{content:"";width:clamp(1.75rem,3vw,3rem);height:2px;flex:0 0 auto;background:var(--expo-lilac)}
.hero h1{max-width:100%;margin:0;font-size:inherit;line-height:1;letter-spacing:0;text-wrap:initial}
.hero-title__line{display:block;width:max-content;max-width:100%}
.hero-title__line--top,.hero-title__line--bottom{color:var(--white);font-family:var(--sans);font-size:clamp(4.5rem,7.2vw,8.25rem);font-style:normal;font-weight:900;line-height:.79;letter-spacing:-.065em;text-transform:uppercase}
.hero-title__line--accent{margin-block:-.01em -.035em;color:var(--expo-yellow);font-family:var(--serif);font-size:clamp(4rem,6.7vw,7.5rem);font-style:italic;font-weight:400;line-height:.82;letter-spacing:-.055em}
.hero-lead{margin-top:clamp(1.3rem,2.5vh,2rem)}

@media(max-width:1079px) and (min-width:768px){
	.hero-title__line--top,.hero-title__line--bottom{font-size:clamp(3.75rem,7.6vw,5.5rem)}
	.hero-title__line--accent{font-size:clamp(3.45rem,7vw,5rem)}
}
@media(max-width:767px){
	.hero-title__line{white-space:normal}
	.hero-title__line--top{width:8.4ch}
	.hero-title__line--top,.hero-title__line--bottom{font-size:clamp(3.1rem,14.5vw,4.35rem);line-height:.82}
	.hero-title__line--accent{width:min(100%,9.2ch);font-size:clamp(2.9rem,13.5vw,4rem);line-height:.86}
}
@media(max-width:374px){
	.hero-title__line--top,.hero-title__line--bottom{font-size:clamp(2.75rem,14vw,3.25rem)}
	.hero-title__line--accent{font-size:clamp(2.6rem,13vw,3rem)}
}

/* Identity swap: transición orgánica entre escudo y EXPO, sin flip 3D. */
.hero-seal{perspective:none}
.hero-seal__card,.hero-seal__card.is-flipped{transform:none;transform-style:flat;transition:none}
.hero-seal__face{backface-visibility:visible;-webkit-backface-visibility:visible;transform-style:flat;transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1),filter .6s cubic-bezier(.22,1,.36,1)}
.hero-seal__face--crest{opacity:1;transform:scale(1) translateY(0) rotate(0);filter:blur(0)}
.hero-seal__face--expo{opacity:0;transform:scale(1.07) translateY(-3px) rotate(5deg);filter:blur(8px);pointer-events:none}
.hero-seal__card.is-flipped .hero-seal__face--crest{opacity:0;transform:scale(.92) translateY(4px) rotate(-5deg);filter:blur(8px)}
.hero-seal__card.is-flipped .hero-seal__face--expo{opacity:1;transform:scale(1) translateY(0) rotate(0);filter:blur(0)}
.hero-seal__card.is-turning .hero-seal__face img{animation:none}
@media(max-width:767px){
	.hero-seal__face--expo{transform:scale(1.055) translateY(-2px) rotate(4deg);filter:blur(6px)}
	.hero-seal__card.is-flipped .hero-seal__face--crest{transform:scale(.93) translateY(3px) rotate(-4deg);filter:blur(6px)}
	.hero-seal__card.is-flipped .hero-seal__face--expo{transform:scale(1) translateY(0) rotate(0);filter:blur(0)}
}
@media(prefers-reduced-motion:reduce){
	.hero-seal__face{transition:none!important;filter:none!important;transform:none!important}
	.hero-seal__face--crest{opacity:1;visibility:visible}
	.hero-seal__face--expo{opacity:0;visibility:hidden}
}

/* Navegación principal: subrayado progresivo de izquierda a derecha. */
@media(min-width:1080px){
	.site-nav a{position:relative;padding-block:.4rem;font-size:.69rem;text-decoration:none}
	.site-nav a:hover{text-decoration:none}
	.site-nav a::after{content:"";position:absolute;left:0;bottom:.15rem;width:100%;height:1.5px;background:#b79fc4;transform:scaleX(0);transform-origin:left center;transition:transform .55s cubic-bezier(.22,1,.36,1)}
	.site-nav a:hover::after,.site-nav a:focus-visible::after,.site-nav a[aria-current="page"]::after{transform:scaleX(1)}
}
@media(min-width:1500px){.site-nav a{font-size:.8rem}}
@media(max-width:1079px){
	.site-header.is-open .site-nav a[aria-current="page"]{text-decoration-color:#b79fc4;text-decoration-thickness:2px;text-underline-offset:.35rem}
}
@media(prefers-reduced-motion:reduce){.site-nav a::after{transition-duration:.01ms!important}}

/* Proyectos: spreads editoriales a ancho completo. */
.projects{padding-bottom:0;overflow:hidden}
.projects-list{display:grid;gap:0;width:100%}
.project-spread{position:relative;display:grid;grid-template-columns:minmax(0,58fr) minmax(22rem,42fr);gap:0;align-items:stretch;border-top:1px solid rgba(1,86,35,.13);background:#f4f1e8}
.project-spread.project--infantil{grid-template-columns:minmax(22rem,42fr) minmax(0,58fr);background:#edf3ec}
.project-spread .project-visual{min-width:0;display:flex;align-items:center;padding:clamp(1rem,2vw,2rem);background:#fff}
.project-spread .project-image{display:block;align-self:center;height:auto;min-height:0;overflow:hidden}
.project-spread .project-image img{display:block;width:100%;height:auto!important;max-height:none;aspect-ratio:auto;object-fit:contain}
.project-spread .project-placeholder{width:100%;aspect-ratio:4/5}
.project-spread .project-copy{position:relative;z-index:1;align-self:stretch;display:flex;flex-direction:column;justify-content:center;min-width:0;padding:clamp(3rem,6vw,6.25rem);overflow:hidden}
.project-spread.project--infantil .project-copy{grid-column:1;grid-row:1;text-align:left}
.project-spread.project--infantil .project-visual{grid-column:2;grid-row:1}
.project-spread .project-copy>*{position:relative;z-index:1}
.project-spread .project-copy .eyebrow{margin:0 0 clamp(1.5rem,3vw,2.5rem);color:var(--green)}
.project-copy__label{margin:0 0 .65rem;color:var(--green);font-size:.63rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.project-spread .project-copy h3{max-width:11ch;margin:0;font-size:clamp(2.5rem,4.5vw,5rem);line-height:.88;letter-spacing:-.055em;text-transform:uppercase;overflow-wrap:anywhere}
.project-spread .project-copy dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,2vw,2rem);width:100%;max-width:42rem;margin:clamp(2rem,4vw,3.5rem) 0 0}
.project-spread .project-copy dl div{padding-top:.75rem;border-top:1px solid rgba(1,86,35,.28)}
.project-spread .project-copy dt{color:var(--green);font-size:.62rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.project-spread .project-copy dd{margin:.35rem 0 0;font-family:var(--serif);font-size:clamp(1rem,1.4vw,1.25rem);line-height:1.3}
.project-description{max-width:38rem;margin-top:clamp(2rem,4vw,3.5rem)}
.project-description>p:last-child{margin:0;font-size:clamp(.95rem,1.2vw,1.08rem);line-height:1.7}
.project-cta{align-self:flex-start;position:relative;margin-top:clamp(2rem,4vw,3.25rem);padding:.35rem 0 .55rem;border:0;background:transparent;color:var(--green);font-size:.68rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.project-cta:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--green);transform:scaleX(.22);transform-origin:left;transition:transform .45s cubic-bezier(.22,1,.36,1)}
.project-cta span{display:inline-block;transition:transform .3s ease}
.project-cta:hover:after,.project-cta:focus-visible:after{transform:scaleX(1)}
.project-cta:hover span,.project-cta:focus-visible span{transform:translateX(.3rem)}
.project-spread .project-image__hint{background:var(--green);color:#fff}
@media(max-width:899px){
	.project-spread,.project-spread.project--infantil{grid-template-columns:minmax(0,1fr)}
	.project-spread .project-visual,.project-spread.project--infantil .project-visual{grid-column:1;grid-row:1;padding:1rem}
	.project-spread .project-copy,.project-spread.project--infantil .project-copy{grid-column:1;grid-row:2;padding:clamp(2.5rem,8vw,4.5rem) max(1rem,5vw) clamp(3.5rem,10vw,5rem);text-align:left}
	.project-spread .project-copy h3{font-size:clamp(2.5rem,11vw,4.5rem)}
	.project-spread .project-copy dl{grid-template-columns:minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){.project-cta:after,.project-cta span{transition:none}}

/* Proyectos: ajustes de continuidad, jerarquía y ejercicio editorial. */
.projects.section{padding-top:clamp(3.5rem,5vw,5.25rem)}
.projects .section-heading{margin-bottom:clamp(2.25rem,3vw,3.5rem)}
.project-spread,.project-spread.project--infantil{background:#f4f1e8}
.project-spread.project--infantil .project-copy,
.project-spread.project--infantil .project-copy>p:not(.eyebrow),
.project-spread.project--infantil .project-copy dl{margin-left:0;text-align:left}
.project-spread .project-copy .eyebrow{margin-bottom:clamp(1.25rem,2vw,2rem)}
.project-spread .project-copy dl{margin-top:clamp(1.5rem,3vw,2.5rem)}
.project-description{margin-top:clamp(1.5rem,3vw,2.5rem)}
.project-cta{margin-top:clamp(1.5rem,3vw,2.5rem)}
@media(min-width:900px) and (max-width:1150px){
	.project-spread .project-copy{padding:clamp(2.75rem,4.5vw,4rem)}
	.project-spread .project-copy h3{font-size:clamp(2.5rem,4.4vw,3.5rem);line-height:.92}
	.project-spread .project-copy dl{gap:1rem}
}
@media(max-width:899px){
	.project-spread .project-copy h3{max-width:100%;line-height:.92;overflow-wrap:anywhere}
}

/* Main Sponsors: franja publicitaria continua con celdas de ancho automático. */
.main-sponsors{padding:0;border-bottom:1px solid var(--line);background:#f4f1e8}
.main-sponsors-grid{display:grid;grid-template-columns:repeat(var(--main-sponsor-count),minmax(0,1fr));gap:1px;width:100%;background:rgba(7,21,13,.12)}
.main-sponsors-grid .sponsor-card--main{width:100%;max-width:none;min-height:clamp(15rem,24vw,26.25rem);padding:clamp(1.5rem,4vw,3.5rem);border:0;border-radius:0;overflow:hidden}
.main-sponsors-grid .sponsor-card__visual{min-height:0}
.main-sponsors-grid .sponsor-card__logo{padding:clamp(1rem,2.5vw,2rem);opacity:1;filter:none}
.main-sponsors-grid .sponsor-card__logo img{width:72%;height:72%;max-width:none;max-height:none;object-fit:contain;filter:none;transition:transform .38s cubic-bezier(.22,1,.36,1),filter .38s ease}
.main-sponsors-grid .sponsor-card__name{display:none}
.main-sponsors-grid .sponsor-card:is(a,button):focus-visible{z-index:1;outline:3px solid var(--green);outline-offset:-4px}
@media(hover:hover) and (pointer:fine){
	.main-sponsors-grid .sponsor-card:hover .sponsor-card__logo,.main-sponsors-grid .sponsor-card:focus-visible .sponsor-card__logo{opacity:1;filter:none}
	.main-sponsors-grid .sponsor-card:hover .sponsor-card__logo img,.main-sponsors-grid .sponsor-card:focus-visible .sponsor-card__logo img{transform:scale(1.03);filter:drop-shadow(0 .65rem 1rem rgba(7,21,13,.12))}
}
@media(min-width:600px) and (max-width:1079px){
	.main-sponsors-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	.main-sponsors-grid[data-main-count="1"]{grid-template-columns:minmax(0,1fr)}
	.main-sponsors-grid>.sponsor-card:last-child:nth-child(odd){grid-column:1/-1}
}
@media(max-width:599px){
	.main-sponsors-grid{grid-template-columns:minmax(0,1fr)}
	.main-sponsors-grid .sponsor-card--main{min-height:clamp(12.5rem,60vw,17.5rem);padding:1.25rem}
	.main-sponsors-grid .sponsor-card__logo img{width:74%;height:74%}
}
@media(prefers-reduced-motion:reduce){.main-sponsors-grid .sponsor-card__logo img{transition:none}}

/* Llibrets: mockup editorial físico con portada, páginas y profundidad. */
.llibret-cover-wrap{--book-depth:clamp(12px,1.25vw,18px);position:relative;padding-right:var(--book-depth);padding-bottom:var(--book-depth);isolation:isolate}
.llibret-cover-wrap:before{content:"";position:absolute;z-index:0;pointer-events:none;inset:var(--book-depth) 0 0 var(--book-depth);border:1px solid rgba(7,21,13,.14);background:#d8d3c7;box-shadow:.35rem .65rem 1rem rgba(7,21,13,.1)}
.llibret-cover{position:relative;z-index:1;display:block;width:100%;height:auto;aspect-ratio:auto;overflow:visible;border-left:2px solid rgba(7,21,13,.2);background:#fff;transform:none;transform-origin:left center;box-shadow:0 .85rem 1.35rem rgba(7,21,13,.2);transition:transform .65s cubic-bezier(.22,1,.36,1),box-shadow .65s cubic-bezier(.22,1,.36,1)}
.llibret-cover:before,.llibret-cover:after{content:"";position:absolute;z-index:0;pointer-events:none;background-color:#f8f5ec}
.llibret-cover:before{top:6px;right:calc(0px - var(--book-depth));bottom:6px;width:var(--book-depth);border-right:1px solid rgba(7,21,13,.14);background-image:repeating-linear-gradient(to bottom,#faf8f1 0,#faf8f1 2px,#d9d5ca 2px,#d9d5ca 3px);transform:skewY(28deg);transform-origin:left top}
.llibret-cover:after{left:6px;right:calc(0px - var(--book-depth));bottom:calc(0px - var(--book-depth));height:var(--book-depth);border-bottom:1px solid rgba(7,21,13,.14);background-image:repeating-linear-gradient(to bottom,#f8f5ec 0,#f8f5ec 2px,#d8d4ca 2px,#d8d4ca 3px);transform:skewX(28deg);transform-origin:left top}
.llibret-cover.has-cover-image img{position:relative;z-index:2;display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;filter:none;box-shadow:inset .22rem 0 .3rem rgba(7,21,13,.11)}
.llibret-cover.is-placeholder{aspect-ratio:210/297}
.llibret-cover .llibret-placeholder{position:relative;z-index:2;overflow:hidden}
/* Flatten the real image and decoration together; no negative-Z child layers. */
@supports(transform:perspective(1200px) rotateY(3deg)){
	.llibret-cover{transform:perspective(1200px) rotateY(3deg) rotateZ(-.15deg)}
}
@media(hover:hover) and (pointer:fine){
	.llibret-cover-wrap:hover>.llibret-cover,.llibret-cover-wrap:focus-within>.llibret-cover{transform:translateY(-8px);box-shadow:0 1.55rem 2.75rem rgba(7,21,13,.25)}
	@supports(transform:perspective(1200px) rotateY(3deg)){
		.llibret-cover-wrap:hover>.llibret-cover,.llibret-cover-wrap:focus-within>.llibret-cover{transform:perspective(1200px) translateY(-8px) rotateY(8deg) rotateZ(-.35deg)}
	}
}
@media(max-width:599px){.llibret-cover-wrap{--book-depth:12px}}
@media(prefers-reduced-motion:reduce){
	.llibret-cover,.llibret-cover-wrap:hover>.llibret-cover,.llibret-cover-wrap:focus-within>.llibret-cover{transform:none;transition:none}
}

/* EXPO Social: bloque editorial y collage físico de enlaces sociales. */
.social{padding:0;overflow:hidden;background:var(--green)}
.social-showcase{position:relative;isolation:isolate;background:var(--green);color:var(--white)}
.social-showcase:before{content:"";position:absolute;z-index:-1;width:clamp(22rem,42vw,48rem);aspect-ratio:1;right:-18%;top:-28%;border:1px solid rgba(241,238,172,.15);border-radius:50%;pointer-events:none}
.social-showcase.section{padding-block:clamp(4rem,6vw,5.75rem)}
.social-showcase__grid{width:calc(100% - 2 * clamp(20px,2.5vw,48px));max-width:none;display:grid;grid-template-columns:minmax(0,48fr) minmax(32rem,52fr);align-items:center;gap:clamp(2rem,3vw,4rem)}
.social-showcase__grid--solo{grid-template-columns:minmax(0,48rem)}
.social-editorial{position:relative;z-index:2;min-width:0}
.social-editorial__section{display:flex;align-items:center;gap:.8rem;margin:0 0 clamp(2.5rem,4vw,4rem);font-size:.65rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.social-editorial__section span{color:var(--expo-yellow)}
.social-editorial__eyebrow{margin:0 0 1rem;color:var(--expo-lilac)}
.social-editorial__title{max-width:9ch;margin:0;padding-bottom:.08em;font-size:clamp(4.5rem,7.2vw,8.25rem);font-weight:700;line-height:.9;letter-spacing:.002em;text-transform:uppercase}
.social-editorial__title>span{display:block}
.social-editorial__headline-row{display:flex!important;align-items:baseline;gap:.13em;white-space:nowrap}
.social-editorial__title em{display:inline-block;margin:.08em 0 .02em;font-family:var(--serif);font-size:.72em;font-weight:400;line-height:.82;letter-spacing:-.055em;color:var(--expo-yellow);text-transform:none}
.social-editorial__text{max-width:38rem;margin:clamp(2rem,3.2vw,3rem) 0 0;color:rgba(255,255,255,.78);font-family:var(--serif);font-size:clamp(1.05rem,1.45vw,1.25rem);line-height:1.55}
.social-network-collage{min-width:0;min-height:clamp(33rem,43vw,42rem);padding:clamp(2.5rem,4vw,4.5rem) clamp(1rem,2vw,2rem);display:flex;flex-wrap:wrap;align-content:center;align-items:center;justify-content:center;isolation:isolate}
.social-showcase .social-network-card{position:relative;flex:0 0 clamp(12.5rem,17vw,16.5rem);min-width:0;min-height:0;margin:clamp(-1rem,-1.1vw,-.6rem) clamp(-1.15rem,-1.35vw,-.75rem);padding:0;border:0;border-radius:0;background:transparent;color:var(--dark);box-shadow:none;text-decoration:none;transition:none}
.social-network-card__surface{position:relative;min-height:clamp(15.5rem,21vw,20.5rem);padding:clamp(1.25rem,2vw,1.75rem);display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;overflow:hidden;background:var(--expo-yellow);box-shadow:0 1.25rem 2.75rem rgba(3,19,10,.2);transform:rotate(-4deg) translateY(-.35rem);transform-origin:center;transition:transform .45s cubic-bezier(.22,1,.36,1),box-shadow .45s cubic-bezier(.22,1,.36,1)}
.social-network-card:nth-child(5n+2) .social-network-card__surface{background:var(--expo-lilac);transform:rotate(3deg) translateY(1.4rem)}
.social-network-card:nth-child(5n+3) .social-network-card__surface{background:var(--dark);color:var(--white);transform:rotate(-1.5deg) translateY(-.4rem)}
.social-network-card:nth-child(5n+4) .social-network-card__surface{background:var(--ivory);color:var(--green);transform:rotate(2.5deg) translateY(1.1rem)}
.social-network-card:nth-child(5n+5) .social-network-card__surface{background:var(--expo-yellow);color:var(--green);transform:rotate(-2deg) translateY(-.5rem)}
.social-network-card__label{font-size:.68rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.social-network-card__icon{width:clamp(6rem,9vw,9rem);height:clamp(6rem,9vw,9rem);align-self:center;display:grid;place-items:center;transition:transform .45s cubic-bezier(.22,1,.36,1)}
.social-network-card__icon svg{display:block;width:100%;height:100%}
.social-network-card__arrow{align-self:flex-end;font-size:clamp(1.5rem,2.2vw,2.25rem);line-height:1;transition:transform .45s cubic-bezier(.22,1,.36,1)}
.social-showcase .social-network-card:focus-visible{z-index:30;outline:3px solid var(--expo-yellow);outline-offset:5px}
.social-moments{overflow:hidden;background:var(--ivory);color:var(--coal)}
.social-moments .social-gallery__heading{margin-bottom:clamp(2rem,4vw,3.5rem)}
.social-moments .social-gallery__heading h3{font-size:clamp(3.5rem,7vw,7rem);font-weight:900;line-height:.8;letter-spacing:-.065em}
.social-moments .social-carousel__item{border:0}
@media(hover:hover) and (pointer:fine){
	.social-showcase .social-network-card:hover,.social-showcase .social-network-card:focus-visible{z-index:30;background:transparent;color:inherit;transform:none}
	.social-network-card:hover .social-network-card__surface,.social-network-card:focus-visible .social-network-card__surface{box-shadow:0 2rem 4rem rgba(3,19,10,.3);transform:translateY(-8px) rotate(0deg)}
	.social-network-card:hover .social-network-card__icon,.social-network-card:focus-visible .social-network-card__icon{transform:scale(1.035)}
	.social-network-card:hover .social-network-card__arrow,.social-network-card:focus-visible .social-network-card__arrow{transform:translate(.2rem,-.2rem)}
}
@media(max-width:899px){
	.social-showcase__grid{grid-template-columns:minmax(0,1fr);gap:clamp(3.5rem,8vw,5rem)}
	.social-editorial__title{max-width:8ch;font-size:clamp(4.25rem,13vw,7rem)}
	.social-network-collage{min-height:0;padding:1.5rem 1rem 2.5rem}
}
@media(max-width:599px){
	.social-showcase.section{padding-block:clamp(3.5rem,12vw,4.75rem)}
	.social-showcase__grid{width:calc(100% - 32px)}
	.social-editorial__section{margin-bottom:2.5rem}
	.social-editorial__title{font-size:clamp(3.1rem,14.5vw,4.35rem)}
	.social-editorial__text{margin-top:1.75rem}
	.social-network-collage{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;padding:0 .25rem .5rem}
	.social-showcase .social-network-card{width:auto;margin:0;flex:none}
	.social-network-card__surface,.social-network-card:nth-child(n) .social-network-card__surface{min-height:clamp(11rem,49vw,13rem);padding:1rem;transform:rotate(-1.5deg)}
	.social-network-card:nth-child(even) .social-network-card__surface{transform:rotate(1.5deg)}
	.social-network-card:last-child:nth-child(odd){grid-column:1/-1;width:calc(50% - .425rem);justify-self:center}
	.social-network-card__icon{width:clamp(4.25rem,20vw,5.25rem);height:clamp(4.25rem,20vw,5.25rem)}
	.social-network-card__arrow{font-size:1.45rem}
	.social-moments .social-gallery__heading h3{font-size:clamp(3rem,15vw,4.25rem)}
}
@media(prefers-reduced-motion:reduce){
	.social-network-card__surface,.social-network-card__icon,.social-network-card__arrow{transition:none!important}
	.social-showcase .social-network-card:hover .social-network-card__surface,.social-showcase .social-network-card:focus-visible .social-network-card__surface{transform:none}
}

/* Escala de tracking para Barlow Condensed. */
.hero-title__line--top,
.hero-title__line--bottom,
.section-heading h2,
.project-spread .project-copy h3,
.llibret-copy h3,
.about-copy h2,
.social-editorial__title,
.social-moments .social-gallery__heading h3,
.sponsorship-cta h2,
.contact-intro h2,
.visit-copy h3{
	font-weight:700;
	line-height:.9;
	letter-spacing:.002em;
}

.about--with-ticker .falla-ticker__group span{font-weight:700;line-height:.9;letter-spacing:0}

.site-nav a{letter-spacing:.04em}

.button,
.project-cta,
.next-event__link,
.agenda-card__copy a,
.llibret-download,
.sponsor-modal__link{letter-spacing:.06em}

.eyebrow,
.section-label,
.section-index,
.project-copy__label,
.project-spread .project-copy dt,
.visit-kicker,
.llibret-exercise,
.about-identity p,
.metric>span:not(.metric-icon),
.metric small,
.social-editorial__section,
.social-network-card__label,
.social-follow>p,
.external-map figcaption,
.map-fallback span{letter-spacing:.1em}

/* EXPO SOCIAL comparte la escala de título con MOMENTOS EXPO. */
.social-editorial__section{
	font-size:clamp(3.5rem,7vw,7rem);
	font-weight:700;
	line-height:.9;
	letter-spacing:.002em;
}
.social-editorial__section span{font-size:clamp(.65rem,.14em,.85rem);letter-spacing:.1em}
@media(max-width:599px){.social-editorial__section{font-size:clamp(3rem,15vw,4.25rem)}}

/* Tipo y sección competitiva de cada proyecto. */
.project-copy__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .7rem}
.project-copy__section{display:inline-flex;align-items:center;color:var(--expo-lilac)}
.project-copy__section:before{content:"·";margin-right:.7rem;color:currentColor}

/* VISÍTANOS: franja continua con información y mapa en una misma fila. */
.visit.section{padding-top:clamp(3.5rem,5vw,5rem);padding-bottom:0}
.visit>.shell{width:100%;max-width:none}
.visit .section-heading{margin-bottom:clamp(2rem,3vw,2.75rem);padding-inline:clamp(1rem,2.5vw,2.5rem)}
.visit-grid{display:grid;grid-template-columns:minmax(0,34fr) minmax(0,66fr);align-items:stretch;gap:0;min-height:clamp(32rem,42vw,40rem)}
.visit-grid--without-map{grid-template-columns:minmax(0,1fr);min-height:auto}
.visit-copy{
	padding:clamp(1.5rem,3vw,3.5rem);
	border-radius:0;
	box-shadow:none;
	display:flex;
	flex-direction:column;
	align-items:stretch;
	justify-content:center;
}
.visit-kicker{margin:0 0 1rem}
.visit-copy h3{max-width:10ch}
.visit-address{margin:1.75rem 0 .25rem;padding-top:1rem}
.visit-description{max-width:34rem;margin:1rem 0 0}
.visit-transport{max-width:34rem;margin:1rem 0 0;padding-top:1rem}
.visit-directions{align-self:stretch;margin-top:1.75rem}
.external-map,.map-fallback{height:auto;min-height:clamp(32rem,42vw,40rem);border-radius:0;box-shadow:none}
.external-map__frame{position:absolute;inset:0;width:100%;height:100%;min-height:0;aspect-ratio:auto}
@media(min-width:768px) and (max-width:1079px){.visit-grid{grid-template-columns:minmax(0,40fr) minmax(0,60fr)}}
@media(max-width:767px){
	.visit.section{padding-top:3rem}
	.visit .section-heading{margin-bottom:2rem;padding-inline:1rem}
	.visit-grid{grid-template-columns:minmax(0,1fr);min-height:0}
	.visit-copy{padding:2rem 1rem}
	.visit-kicker{margin:0 0 1rem}
	.visit-copy h3{max-width:10ch}
	.visit-address{margin:1.5rem 0 .25rem;padding-top:1rem}
	.visit-description{margin:1rem 0 0}
	.visit-transport{margin:1rem 0 0;padding-top:1rem}
	.visit-directions{margin-top:1.5rem}
	.external-map,.map-fallback{height:auto;min-height:20rem}
	.external-map__frame{height:100%;min-height:0;aspect-ratio:auto}
	.map-fallback{padding-inline:1rem}
}

/* MOMENTOS EXPO: carrusel full-bleed, continuo y con progreso integrado. */
.social-moments.section{padding-bottom:0}
.social-moments>.shell{width:100%;max-width:none}
.social-moments .social-gallery__heading{margin-bottom:clamp(1.25rem,2vw,2rem);padding-inline:clamp(1rem,2.5vw,2.5rem)}
.social-moments .social-carousel{
	width:100%;
	max-width:none;
	gap:0;
	padding:0;
	scrollbar-width:none;
	-ms-overflow-style:none;
}
.social-moments .social-carousel::-webkit-scrollbar{display:none}
.social-moments .social-carousel__item{
	flex:0 0 clamp(18rem,28vw,26rem);
	margin:0;
	border:0;
}
.social-moments .social-carousel__item img{width:100%;height:100%;object-fit:cover}
.social-carousel__progress{position:relative;width:100%;height:3px;margin:0;overflow:hidden;background:rgba(7,21,13,.12)}
.social-carousel__progress span{position:absolute;top:0;bottom:0;left:0;width:0;background:var(--expo-lilac);transition:left .08s linear,width .2s ease;will-change:left,width}
@media(hover:hover) and (pointer:fine){
	.social-moments .social-carousel,
	.social-moments .social-carousel__item,
	.social-moments .social-carousel__link,
	.social-moments .social-carousel__zoom{cursor:grab}
	.social-moments .social-carousel.is-dragging,
	.social-moments .social-carousel.is-dragging *{cursor:grabbing!important;scroll-snap-type:none;user-select:none}
}
.social-moments .social-carousel__item img{-webkit-user-drag:none;user-select:none}
@media(max-width:767px){.social-moments .social-carousel__item{flex-basis:84vw}}

/* Compact section rhythm: outer spacing only, not functional media heights. */
/* Portada: único escudo, relieve estático sin intercambio de caras. */
.hero-crest-static{width:100%;height:100%;display:grid;place-items:center}
.hero-crest-static .crest-logo--hero{transform:none;animation:none;filter:drop-shadow(0 .65rem .8rem rgba(0,0,0,.25));transition:transform .4s ease,filter .4s ease}
@media(hover:hover) and (pointer:fine){.hero-crest-static:hover .crest-logo--hero{transform:translateY(-3px) scale(1.01);filter:drop-shadow(0 .85rem 1rem rgba(0,0,0,.28))}}
@media(prefers-reduced-motion:reduce){.hero-crest-static:hover .crest-logo--hero{transform:none;transition:none}}

/* Proyectos: díptico editorial, dos láminas completas y sin cards. */
.project-diptych{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:0}
.project-diptych .project-spread{display:flex;flex-direction:column;gap:0;min-width:0;background:#fff;border-top:1px solid var(--line)}
.project-diptych .project-spread:nth-child(even){border-left:1px solid var(--line)}
.project-diptych .project-spread .project-copy{order:0;width:100%;min-height:18rem;justify-content:flex-start;padding:clamp(1.5rem,2.5vw,2.5rem);background:#f4f1e8;border-bottom:1px solid var(--line);text-align:left}
.project-diptych .project-spread .project-copy .eyebrow{margin:0 0 1.25rem;color:var(--green);gap:.4rem .6rem}
.project-diptych .project-spread .project-copy .eyebrow:before{content:"";width:2rem;height:3px;background:#f1eeac;transition:width .4s ease}
.project-diptych .project-spread.project--infantil .project-copy .eyebrow:before{background:#b79fc4}
.project-diptych .project-spread .project-copy__section{color:var(--green)}
.project-diptych .project-spread .project-copy h3{max-width:none;margin:0;font-family:var(--sans);font-size:clamp(2.5rem,4vw,5rem);font-weight:700;line-height:.95;letter-spacing:0;overflow-wrap:anywhere}
.project-diptych .project-spread .project-copy dl{display:flex;flex-wrap:wrap;gap:.65rem 1.5rem;margin:1rem 0 0;text-align:left}
.project-diptych .project-spread .project-copy dl div{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem;padding:0;border:0}
.project-diptych .project-spread .project-copy dd{margin:0;font-size:1rem}
.project-diptych .project-description{margin-top:.85rem;max-width:38rem}
.project-diptych .project-description .project-copy__label{display:none}
.project-diptych .project-description>p:last-child{font-size:.95rem;line-height:1.45}
.project-diptych .project-cta{margin-top:1rem}
.project-diptych .project-spread .project-visual{order:1;display:block;width:100%;padding:0;background:#fff}
.project-diptych .project-image{width:100%;height:auto;margin:0;overflow:hidden;background:#fff}
.project-diptych .project-image img{width:100%;height:auto!important;aspect-ratio:auto;object-fit:contain;transform:none;transition:transform .4s ease}
@media(hover:hover) and (pointer:fine){.project-diptych .project-spread:hover .eyebrow:before{width:3rem}}
@media(max-width:899px){
	.project-diptych{grid-template-columns:minmax(0,1fr)}
	.project-diptych .project-spread:nth-child(even){border-left:0}
	.project-diptych .project-spread .project-copy{min-height:0;padding:1.5rem 1rem}
	.project-diptych .project-spread .project-copy h3{font-size:clamp(2.5rem,8vw,5rem)}
}

:root{--section-space:clamp(1.875rem,3.75vw,3.375rem);--section-heading-space:clamp(1.3125rem,2.25vw,2.25rem)}
.llibrets.section,.about.section,.sponsors.section,.contact.section{padding-block:var(--section-space)}
.about--with-ticker.section{padding-top:0}
.about-grid{row-gap:2.25rem}
.llibrets .section-heading,.sponsors .section-heading{margin-bottom:var(--section-heading-space)}
.projects.section{padding-top:clamp(1.5rem,2.25vw,2.4375rem)}
.projects .section-heading,.visit .section-heading{margin-bottom:clamp(.9375rem,1.5vw,1.5rem)}
.visit.section{padding-top:clamp(1.5rem,2.25vw,2.4375rem)}
.social-showcase.section{padding-block:clamp(1.6875rem,2.7vw,2.625rem)}
.social-moments .social-gallery__heading{margin-bottom:clamp(.9375rem,1.5vw,1.5rem)}
.social-moments.section{padding-top:var(--section-space)}
.next-event__inner{min-height:0;padding-block:clamp(1.25rem,2.4vw,2.25rem);row-gap:1.5rem}
.sponsors>.shell{width:100%;max-width:none;min-width:0}
.sponsors .section-heading,.sponsor-carousel__controls{padding-inline:clamp(1rem,2.5vw,2.5rem)}
.sponsor-carousel .sponsor-card{height:8rem;min-height:0;max-height:8rem;overflow:hidden}
.sponsor-carousel .sponsor-card__visual{height:100%;min-height:0}
.sponsor-carousel .sponsor-card__logo img{max-width:94%;max-height:5.5rem;object-fit:contain}
.sponsor-carousel .sponsor-card:focus-visible,.sponsor-carousel__viewport:focus-visible{outline-offset:-3px}
@media(min-width:1080px){.site-nav a{font-size:.95rem}.site-nav{gap:clamp(.65rem,1vw,1rem)}}
@media(max-width:767px){
	:root{--section-space:2.0625rem;--section-heading-space:1.3125rem}
	.social-showcase.section{padding-block:1.6875rem}
}
@media(prefers-reduced-motion:reduce){.social-carousel__progress span{transition:none}}

/* Carteles de proyectos: imagen y texto comparten una celda, sin altura fija. */
.project-diptych{align-items:stretch}
.project-diptych .project-spread{justify-content:center}
.project-poster{position:relative;display:grid;grid-template-columns:minmax(0,1fr);width:100%;isolation:isolate}
/* Stretch the panel, not its image: both gradients share the row baseline. */
@media(min-width:900px){.project-poster{flex-grow:1}}
.project-poster:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(to bottom,rgba(5,15,10,0) 35%,rgba(5,15,10,.12) 46%,rgba(5,15,10,.55) 62%,rgba(5,15,10,.82) 80%,rgba(5,15,10,.95) 100%)}
.project-diptych .project-poster .project-visual{grid-area:1/1;align-self:center;order:0}
.project-diptych .project-poster .project-copy{
 grid-area:1/1;align-self:end;justify-self:start;z-index:2;order:1;
 width:100%;min-height:0;padding:clamp(1.5rem,3vw,3rem);border:0;
 color:#f4f1e8;background:transparent;
 pointer-events:none;overflow:visible;transition:transform .4s ease;
}
.project-diptych .project-poster .project-copy .eyebrow{color:#f4f1e8;margin:0 0 1rem;font-weight:700;letter-spacing:.1em}
.project-diptych .project--infantil .project-poster .project-copy .eyebrow{color:#f4f1e8}
.project-diptych .project-poster .project-copy__section{color:inherit}
.project-diptych .project-poster .project-copy__label{color:#f4f1e8;margin-bottom:.4rem}
.project-diptych .project-poster .project-copy>.project-copy__label{display:none}
.project-diptych .project-poster .project-copy h3{color:#f4f1e8;font-family:var(--serif);font-size:clamp(3rem,5vw,6.5rem);font-weight:400;line-height:1;letter-spacing:0;text-transform:none}
.project-diptych .project-poster .project-copy dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1.25rem;gap:.75rem 1rem}
.project-diptych .project-poster .project-copy dl div{display:block;min-width:0}
.project-diptych .project-poster .project-copy dt{font-family:var(--sans);opacity:.75}
.project-diptych .project-poster .project-copy dd{margin-top:.2rem;font-family:var(--sans);font-size:1.05rem;letter-spacing:0;overflow-wrap:anywhere}
.project-diptych .project-poster .project-copy dt,.project-diptych .project-poster .project-copy dd{color:#fff}
.project-diptych .project-poster .project-description{max-width:36rem;margin-top:.85rem;color:rgba(244,241,232,.85)}
.project-diptych .project-image:focus-visible{outline:3px solid #015623;outline-offset:-4px}
@media(hover:hover) and (pointer:fine){.project-diptych .project-spread:hover .project-copy{transform:translateY(-3px)}}
@media(max-width:899px){
 .project-diptych .project-poster .project-copy{width:100%;padding:1rem}
 .project-diptych .project-poster .project-copy h3{font-size:clamp(2.4rem,9vw,4rem)}
 .project-diptych .project-poster .project-copy .eyebrow{margin-bottom:.7rem;font-size:.65rem}
 .project-diptych .project-poster .project-copy dl{margin-top:.8rem}
 .project-diptych .project-poster .project-description>p:last-child{font-size:.875rem;line-height:1.4}
}
@media(prefers-reduced-motion:reduce){.project-diptych .project-spread:hover .project-copy{transform:none;transition:none}}

/* Entry-only safeguards; preserve all hover and carousel interactions. */
/* Static targets are hidden before footer JS prepares classes/masks.
   Maps, book links and individual carousel slides are deliberately excluded. */
@media(prefers-reduced-motion:no-preference){
 .reveal-enabled:not(.is-reveal-ready) :is(
   .hero-copy .eyebrow,.hero-title__line,.hero-year,.hero-crest-static,
   .section-heading h2,.section-heading .section-subtitle,.main-sponsors .section-label,
   .next-event__inner,.project-poster .project-copy,.project-poster .project-visual,
   .about-identity,.about-copy>*,.metric,
   .social-editorial__eyebrow,.social-editorial__title>span,.social-editorial__text,
   .social-network-card,.social-gallery__heading h3,.social-moments .social-carousel,
   .main-sponsors-grid,.sponsor-carousel,.visit-copy>*,
   .contact-intro>*,.sponsorship-grid>[data-reveal]
 ){opacity:0}
}
.reveal-failed .reveal,.reveal-failed .reveal-mask__content,.reveal-failed .reveal-load{opacity:1!important;transform:none!important;clip-path:none!important;animation:none!important}
.reveal-enabled.is-reveal-ready .reveal:not(.is-visible){opacity:0;transform:none;clip-path:none}
.is-reveal-ready .main-sponsors-grid.reveal.is-visible,
.is-reveal-ready .sponsor-carousel.reveal.is-visible{animation-name:fexpo-entry-text;animation-duration:1.3s}
@media(prefers-reduced-motion:reduce){
 .is-reveal-ready .reveal,.is-reveal-ready .reveal-mask__content,.is-reveal-ready .hero .reveal-load{animation:none!important;opacity:1;transform:none;clip-path:none}
}

/* Keep Complianz' internal consent trigger available for the footer link. */
#cmplz-manage-consent .cmplz-manage-consent{display:none!important}
.sponsor-modal__consent{position:absolute;inset:0;z-index:2;display:grid;place-content:center;gap:.75rem;padding:1.5rem;background:var(--dark);color:var(--white);text-align:center}
.sponsor-modal__consent[hidden]{display:none}
.sponsor-modal__consent p{margin:0;max-width:24rem}
.sponsor-modal__consent .sponsor-modal__link{justify-self:center;color:var(--white);cursor:pointer}
