@font-face{
font-family:'OwnersTRIALWide';
src:url('assets/fonts/OwnersTRIALWide-Regular-BF64361ef587a10.woff2') format('woff2');
font-weight:400;
font-style:normal;
font-display:swap;
}
@font-face{
font-family:'OwnersTRIALWide';
src:url('assets/fonts/OwnersTRIALWide-Bold-BF64361ef5bf162.woff2') format('woff2');
font-weight:700;
font-style:normal;
font-display:swap;
}
@font-face{
font-family:'ABCDiatype';
src:url('assets/fonts/ABCDiatype-Regular-Trial.woff2') format('woff2');
font-weight:400;
font-style:normal;
font-display:swap;
}
@font-face{
font-family:'ABCDiatype';
src:url('assets/fonts/ABCDiatype-Regular-Trial.woff2') format('woff2');
font-weight:700;
font-style:normal;
font-display:swap;
}
@font-face{
font-family:'GentiumBasic';
src:url('assets/fonts/GenBasR.woff2') format('woff2');
font-weight:400;
font-style:normal;
font-display:swap;
}



*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--w:#FFFFFF;--lg:#F4F4F4;--mg:#B8B8B8;--dg:#555555;--b:#111111}
html{scroll-behavior:smooth}
body{background:var(--w);color:var(--b);font-family:'ABCDiatype',sans-serif;
  font-weight:400;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button{cursor:pointer;background:none;border:none;color:inherit;font-family:inherit}
img{display:block;width:100%;height:100%;object-fit:cover}
svg{display:block}
.disp{font-family:'OwnersTRIALWide',sans-serif}
.yr{font-family:'GentiumBasic',serif}
.lbl{font-family:'ABCDiatype',sans-serif;font-size:.58rem;font-weight:400;
  letter-spacing:.24em;text-transform:uppercase;color:var(--dg)}
.num{font-family:'ABCDiatype',sans-serif;font-size:.58rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--dg)}
.fade{opacity:0;transform:translateY(16px);
  transition:opacity .85s cubic-bezier(.22,1,.36,1),transform .85s cubic-bezier(.22,1,.36,1)}
.fade.in{opacity:1;transform:none}
.fade.d1{transition-delay:.1s}.fade.d2{transition-delay:.2s}.fade.d3{transition-delay:.3s}
.wrap{max-width:1380px;margin:0 auto}
.px{padding-left:clamp(1.5rem,5vw,5rem);padding-right:clamp(1.5rem,5vw,5rem)}

/* Global vertical rhythm — tightened per Art Direction v02 */
section{padding-top:clamp(3rem,6vw,6rem);padding-bottom:clamp(3rem,6vw,6rem)}
#contact{
    padding-top:2rem;
    padding-bottom:2rem;
}
#ed2026{
    padding-bottom:1rem;
}

.rule{border:none;border-top:1px solid var(--b)}
.rule-mid{border:none;border-top:1px solid var(--mg)}
.btn{display:inline-block;font-family:'ABCDiatype',sans-serif;font-size:.65rem;
  font-weight:400;letter-spacing:.18em;text-transform:uppercase;background:var(--b);
  color:var(--w);padding:.9rem 2.25rem;transition:background .2s,color .2s;border:1px solid var(--b)}
.btn:hover{background:var(--dg);border-color:var(--dg)}
.btn-out{background:transparent;color:var(--b)}
.btn-out:hover{background:var(--b);color:var(--w)}
.btn-sm{padding:.75rem 1.75rem;font-size:.6rem}

/* ── NAV ── */
#hdr{position:fixed;top:0;left:0;right:0;z-index:60;background:var(--w);border-bottom:1px solid var(--b)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:50px}
.nav-logo img{height:34px;width:auto;display:block}
.nav-links{display:none;align-items:center;gap:1.7rem}
@media(min-width:960px){.nav-links{display:flex}}
.nav-links a{font-family:'ABCDiatype',sans-serif;font-size:.58rem;font-weight:400;
  letter-spacing:.14em;text-transform:uppercase;color:var(--b);transition:color .2s;white-space:nowrap}
.nav-links a:hover{color:var(--dg)}
.nav-actions{display:flex;align-items:center;gap:.9rem}
.lang-btn{font-family:'ABCDiatype',sans-serif;font-size:.57rem;letter-spacing:.16em;
  text-transform:uppercase;border:1px solid var(--b);padding:.28rem .65rem;
  transition:all .2s;color:var(--b)}
.lang-btn:hover{background:var(--b);color:var(--w)}
.hbg{display:flex;flex-direction:column;gap:5px;padding:4px}
@media(min-width:960px){.hbg{display:none}}
.hbg span{display:block;width:20px;height:1px;background:var(--b)}

/* Editions dropdown — hover bridge, stable focus */
.dd{position:relative;
    top:-2px;
}
.dd::after{content:'';position:absolute;top:100%;left:-12px;right:-12px;height:10px;z-index:9}
.dd-menu{position:absolute;top:calc(100% + 10px);left:0;background:var(--w);
  border:1px solid var(--b);padding:.35rem 0;min-width:110px;
  opacity:0;pointer-events:none;visibility:hidden;transition:opacity .16s;z-index:20}
.dd:hover .dd-menu,.dd-menu.open{opacity:1;pointer-events:auto;visibility:visible}
.dd-menu a{display:block;padding:.42rem 1rem;font-size:.57rem;letter-spacing:.1em;text-transform:uppercase}
.dd-menu a:hover{background:var(--lg)}

/* ── MOBILE MENU ── */
#mob{position:fixed;inset:0;z-index:80;background:var(--w);display:flex;flex-direction:column;
  padding:1.25rem clamp(1.5rem,5vw,3rem);opacity:0;pointer-events:none;visibility:hidden;transition:opacity .22s}
#mob.open{opacity:1;pointer-events:auto;visibility:visible}
.mob-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}
.mob-logo{height:28px;width:auto}
.mob-link{font-family:'OwnersTRIALWide',sans-serif;font-size:clamp(1.5rem,5.2vw,2.5rem);
  font-weight:700;text-transform:uppercase;color:var(--b);display:block;line-height:1.2;
  opacity:0;transform:translateY(10px);transition:opacity .4s ease,transform .4s ease}
#mob.open .mob-link{opacity:1;transform:none}
.mob-link:nth-child(2){transition-delay:.03s}.mob-link:nth-child(3){transition-delay:.06s}
.mob-link:nth-child(4){transition-delay:.09s}.mob-link:nth-child(5){transition-delay:.12s}
.mob-link:nth-child(6){transition-delay:.15s}.mob-link:nth-child(7){transition-delay:.18s}
.mob-link:nth-child(8){transition-delay:.21s}
.mob-sub{font-family:'ABCDiatype',sans-serif;font-size:.85rem;color:var(--dg);
  padding-left:1rem;margin-top:.35rem;display:flex;gap:1.25rem}

/* ── HERO — rebalanced so CTA is visible without scrolling on 1920x1080 ── */
#hero{display:flex;flex-direction:column;padding-top:50px;overflow:hidden;position:relative}
.hero-top{display:flex;justify-content:space-between;align-items:center;
  padding:.6rem 0;border-bottom:1px solid var(--b);flex-wrap:wrap;gap:.5rem}
.hero-body{padding-top:clamp(1.1rem,2.2vw,2.2rem);padding-bottom:clamp(.6rem,1.2vw,1.2rem)}
.hero-h1{font-family:'OwnersTRIALWide',sans-serif;font-size:clamp(3rem,8.5vw,9rem);
  font-weight:700;text-transform:uppercase;line-height:.88;letter-spacing:-.02em}
.hero-ed{font-family:'OwnersTRIALWide',sans-serif;font-size:clamp(.58rem,1.4vw,1.5rem);
  font-weight:400;text-transform:uppercase;color:var(--mg);margin-top:1rem;letter-spacing:.08em}
.hero-bottom{display:grid;grid-template-columns:1fr;gap:1.5rem;
  padding-bottom:clamp(1.25rem,2.5vw,2.5rem);align-items:end}
@media(min-width:860px){
  .hero-bottom{grid-template-columns:1fr 44%;gap:1.5rem}
  .hero-img-bleed{
    margin-right:0;
}
}
.hero-img-wrap{overflow:hidden;aspect-ratio:3/4;max-height:52vh}
@media(min-width:860px){.hero-img-wrap{aspect-ratio:auto;height:clamp(300px,40vh,420px);max-height:none}}
.hero-img-wrap img{filter:contrast(1.1) brightness(0.92)}

.hero-flyer{
    object-fit:contain;
}
.hero-year{position:absolute;bottom:-.5rem;left:clamp(1.5rem,5vw,5rem);z-index:-1;
  font-family:'GentiumBasic',serif;font-size:clamp(4.5rem,18vw,20rem);
  line-height:.8;color:var(--lg);user-select:none;pointer-events:none}

/* ── ABOUT / shared editorial grid ── */
.grid-aside{display:grid;gap:2.5rem}
@media(min-width:768px){.grid-aside{grid-template-columns:200px 1fr;gap:clamp(2.5rem,5.5vw,6.5rem)}}
@media(min-width:1200px){.grid-aside{grid-template-columns:240px 1fr}}
.sec-title{font-family:'OwnersTRIALWide',sans-serif;font-size:clamp(1.65rem,3.6vw,4rem);
  font-weight:700;text-transform:uppercase;line-height:1.04;letter-spacing:-.01em}
/* Solo para la página legal en italiano */
html[lang="it"] .legal-wrap .sec-title{
  font-size:clamp(1.65rem,3.2vw,3.4rem);
}
.body-copy{font-size:.975rem;line-height:1.9;color:var(--dg);text-align:justify;
  -webkit-hyphens:none;hyphens:none}

/* ── EXPERIENCE ── */
.exp-grid{display:grid;gap:0;border-top:1.5px solid var(--b)}
@media(min-width:768px){.exp-grid{grid-template-columns:1fr 1fr 1fr}}
.exp-item{padding:1.75rem 0;border-bottom:1px solid var(--mg)}
@media(min-width:768px){
  .exp-item{padding:2.25rem 2rem 2.25rem 1.5rem;border-bottom:none;border-right:1.5px solid var(--dg)}
  .exp-item:first-child{padding-left:0}
  .exp-item:last-child{border-right:none;padding-right:0}
}
.exp-name{font-family:'OwnersTRIALWide',sans-serif;font-size:1.4rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.01em;margin-bottom:1.1rem}
.exp-body{font-size:.875rem;line-height:1.85;color:var(--dg);text-align:justify;
  -webkit-hyphens:none;hyphens:none}

/* ── VENUE ── */
.ven-grid{display:grid;gap:2.5rem;align-items:start}
@media(min-width:768px){.ven-grid{grid-template-columns:1fr 1fr;gap:clamp(2.5rem,5.5vw,6.5rem)}}
.ven-img{overflow:hidden;aspect-ratio:4/5}
.ven-detail{border-top:1px solid var(--mg);padding-top:1.25rem;margin-top:1.25rem;
  display:flex;flex-direction:column;gap:1.25rem}

  /* ═════════ DRONE VIDEO ═════════ */
.drone-video{
    padding:0;
    margin:0;
}

.drone-video video{
    display:block;
    width:100%;
    height:auto;
}


/* ── VILLAGE — vertically rebalanced ── */
.village-outer{
    display:flex;
    align-items:flex-start;
    min-height:62vh;
    padding-top:3rem;
}
.grid-2{display:grid;gap:3rem;width:100%}
@media(min-width:768px){.grid-2{grid-template-columns:1fr 1fr;gap:clamp(2.5rem,5.5vw,6.5rem);align-items:center}}
.vil-img-wrap{overflow:hidden;margin-bottom:1.75rem}
.vil-img-wrap img{width:100%;height:240px;object-fit:cover}
@media(min-width:768px){.vil-img-wrap img{height:260px}}
.note-box{border:1px solid var(--b);padding:1.35rem 1.6rem;font-size:.72rem;line-height:1.7}
.vil-list{list-style:none;border-top:1px solid var(--b)}
.vil-item{padding:1.1rem 0;border-bottom:1px solid var(--mg);display:flex;flex-direction:column;gap:.3rem}
.vil-title{font-family:'ABCDiatype',sans-serif;font-size:.875rem;font-weight:500;color:var(--b)}
.vil-desc{font-size:.7rem;color:var(--dg);letter-spacing:.02em}
.village-times{
    display:flex;
    gap:4rem;
    margin:0 0 2rem;
}

.time-block{
    display:grid;
    grid-template-columns:95px 70px auto;
    align-items:center;
    column-gap:1rem;
    row-gap:.2rem;
}

.time-block strong{
    grid-row:1 / span 2;
}

.time-block span{
    display:block;
}

.time-block strong{
    font-size:1rem;
    font-weight:700;
    margin-bottom:.35rem;
}

.time-block span{
    font-size:1rem;
    line-height:1.4;
}
/* ── PARTNERS (new) ── */
.partners-grid{
    display:flex;
    flex-direction:column;
    gap:1px;
    margin-top:2.5rem;
}

.partners-row{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:1px;
    background:transparent;
}

.partners-row-bottom{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:1px;
}

.partner-cell{
    background:var(--w);
    border:1px solid var(--mg);
    display:flex;
    align-items:center;
    justify-content:center;
    padding:1rem;
    height:140px;
    
}
.partner-cell img{
    width:auto;
    height:auto;
    max-width:100%;
    max-height:110px;
    object-fit:contain;
    filter:grayscale(100%) contrast(1.05);
    opacity:.82;
    transition:opacity .25s ease,transform .4s cubic-bezier(.22,1,.36,1);
}
.partner-cell:hover img{opacity:1;transform:scale(1.04)}
.partners-note{margin-top:1.5rem;font-size:.72rem;color:var(--mg);letter-spacing:.02em}
.partners-note a{
    color:var(--b);
    text-decoration:none;
    border-bottom:1px solid var(--b);
    padding-bottom:.05rem;
    transition:border-color .25s ease;
}

.partners-note a:hover{
    border-bottom-color:var(--dg);
}
.partner-cell a{
  display:block;
}

.partner-cell a img{
  transition:opacity .2s ease;
}

.partner-cell a:hover img{
  opacity:.75;
}

.partner-logo-paololeo{
    max-height:75px;
}

/* ── TICKETS — integrated single card, slightly more presence ── */
#tickets .sec-title{font-size:clamp(1.85rem,4vw,4.4rem)}
.tix-card{border:1px solid var(--b);padding:clamp(1.75rem,4vw,3rem);margin-top:1.75rem}
.tix-primary-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1.25rem}
.tix-badge{font-family:'ABCDiatype',sans-serif;font-size:.55rem;letter-spacing:.18em;
  text-transform:uppercase;border:1px solid var(--dg);color:var(--dg);padding:.2rem .6rem}
.tix-days{display:flex;gap:.65rem;flex-wrap:wrap;}
.tix-village-row{display:flex;flex-direction:column;gap:.85rem}
@media(min-width:768px){.tix-village-row{flex-direction:row;align-items:center;justify-content:space-between;gap:2rem}}
@media(max-width:768px){

    .tix-top{
        flex-direction:column;
        gap:2rem;
        align-items:flex-start;
    }

    .tix-partner{
        width:100%;
        align-items:center;
        margin-top:-1rem;
    }

    .tix-partner-logo{
        width:110px;
        max-width:100%;
    }

    .tix-partner-label{
        text-align:center;
        margin-top:.2rem;
    }

}
.tix-top{
    display:flex;
    justify-content:space-between;
    align-items:stretch;
    gap:5rem;
    padding-bottom:1.5rem;
    border-bottom:1px solid var(--mg);margin-bottom:1.5rem
}

.tix-left{
    flex:1;
}

.tix-partner{
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:flex-end;
    min-width:260px;
    transform: translateY(-6px);
}

.tix-partner-logo{
    width:280px;
    height:auto;
    display:block;
}

.tix-partner-label{
    margin-top:.15rem;
    margin-bottom:0;
    font-family:'ABCDiatype',sans-serif;
    font-size:.65rem;
    letter-spacing:.08em;
    text-transform:none;
    color:var(--dg);
    text-align:right;
    align-self:flex-end;
}

/* ── EDITIONS (2025 / 2026 editorial chapters) ── */
.ed-hero{margin-bottom:clamp(2.5rem,5vw,4rem)}
.ed-kicker{margin-bottom:1rem}
.ed-title{font-family:'OwnersTRIALWide',sans-serif;font-size:clamp(1.9rem,4.6vw,4.6rem);
  font-weight:700;text-transform:uppercase;line-height:1.05;letter-spacing:-.01em;max-width:22ch}
.ed-dateline{font-size:.85rem;color:var(--dg);margin-top:1rem}
.ed-block{padding-top:clamp(2.25rem,4.5vw,4rem);padding-bottom:clamp(2.25rem,4.5vw,4rem);
  border-top:1px solid var(--mg)}
.ed-block:first-of-type{border-top:none;padding-top:0}
.ed-block-label{margin-bottom:1.25rem}
.ed-block-title{font-family:'OwnersTRIALWide',sans-serif;font-size:clamp(1.3rem,2.6vw,2.2rem);
  font-weight:700;text-transform:uppercase;margin-bottom:1.5rem;line-height:1.1}
#lineup2026{
    scroll-margin-top: 180px;
}
#lineup2026 + .ed-block{
  padding-top:clamp(5rem,8vw,17rem);
  padding-bottom:clamp(6rem,10vw,5rem);
}
.ed-body p{font-size:.925rem;line-height:1.9;color:var(--dg);text-align:justify;
  -webkit-hyphens:none;hyphens:none;max-width:66ch;margin-bottom:1.1rem}
.ed-body p:last-child{margin-bottom:0}
.ed-partners-layout{
    display:grid;
    grid-template-columns:2fr 1fr;
    gap:4rem;
    align-items:start;
}


.ed-partner-logo{
    display:flex;
    justify-content:center;
    align-items:flex-start;
    align-self:start;
}

.ed-partner-logo img{
    width:100%;
    max-width:360px;
    height:auto;
    transition:opacity .25s ease;
}

.ed-partner-logo a:hover img{
    opacity:.75;
}

@media(max-width:768px){

    .ed-partners-layout{
        grid-template-columns:1fr;
        gap:2rem;
    }
    

    .ed-partner-logo{
        order:-1;
    }

    .ed-partner-logo img{
        max-width:280px;
    }
    .partner-cell{
    height:55px;
    padding:.75rem;
    }

}
.ed-img-block{overflow:hidden;margin-top:2rem;aspect-ratio:16/9}
@media(min-width:768px){.ed-img-block{aspect-ratio:21/9}}
.ed-img-caption{font-size:.7rem;color:var(--mg);margin-top:.6rem;letter-spacing:.02em}
.ed-artists-grid{display:grid;grid-template-columns:1fr;gap:0;margin-top:.5rem}

@media(min-width:768px){.ed-artists-grid{grid-template-columns:1fr 1fr}}
.ed-artist{padding:1.25rem 0;border-bottom:1px solid var(--mg)}
.ed-artists-grid > .ed-artist:nth-last-child(-n+2){
    border-bottom:none;
}
@media(min-width:768px){.ed-artist{padding:1.5rem 2rem 1.5rem 0}
  .ed-artist:nth-child(even){padding-left:2rem;padding-right:0;border-left:1px solid var(--mg)}}
.ed-artist-name{font-family:'ABCDiatype',sans-serif;font-size:.95rem;font-weight:500;
  color:var(--b);margin-bottom:.4rem}
.ed-artist-tag{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mg);margin-left:.5rem}
.ed-artist-desc{font-size:.82rem;line-height:1.7;color:var(--dg)}
.ed-lineup-cols{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-top:.5rem}
@media(min-width:640px){.ed-lineup-cols{grid-template-columns:1fr 1fr}}
.ed-lineup-day-label{font-family:'ABCDiatype',sans-serif;font-size:.65rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--b);margin-bottom:.9rem;padding-bottom:.5rem;border-bottom:1px solid var(--b)}
.ed-lineup-list{list-style:none}
.ed-lineup-list li{font-family:'OwnersTRIALWide',sans-serif;font-size:.82rem;text-transform:uppercase;
  padding:.55rem 0;border-bottom:1px solid var(--mg);color:var(--b);line-height:1.3}
.ed-lineup-list li:last-child{
    border-bottom:none;}
.ed-lineup-flat{display:grid;grid-template-columns:1fr;gap:0;margin-top:.5rem}
.ed-lineup-list li:last-child{
    border-bottom:none;}
@media(min-width:640px){.ed-lineup-flat{grid-template-columns:1fr 1fr}}
@media(min-width:960px){.ed-lineup-flat{grid-template-columns:1fr 1fr 1fr}}
.ed-lineup-flat span{font-family:'OwnersTRIALWide',sans-serif;font-size:.78rem;text-transform:uppercase;
  padding:.6rem 0;border-bottom:1px solid var(--mg);color:var(--b);line-height:1.25;letter-spacing:0.04em;}
.ed-practical{display:none;flex-direction:column;gap:.5rem;font-size:.85rem;color:var(--dg)}
.ed-practical a{color:var(--b);border-bottom:1px solid var(--mg)}
.ed-practical a:hover{border-color:var(--b)}




/* ── GALLERY ─────────────────────────────────────────────── */

.gallery-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:3px;
    margin-top:2rem;
    opacity:1;
    transform:translateY(0);
    transition:
        opacity .35s ease,
        transform .35s ease;
}

@media(min-width:768px){
    .gallery-grid{
        grid-template-columns:1fr 1fr 1fr 1fr;
    }
}

.gallery-grid.fade-out{
    opacity:0;
    transform:translateY(12px);
}

.gal-item{
    overflow:hidden;
    aspect-ratio:3/4;
    background:var(--lg);
}

.gal-item img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:
        transform .6s cubic-bezier(.22,1,.36,1),
        opacity .3s ease;
}

.gal-item:hover img{
    transform:scale(1.04);
}

/* Gallery navigation */

.gallery-navigation{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:2rem;
    margin-top:3rem;
}

.gallery-arrow{
    background:none;
    border:none;
    padding:0;
    font:inherit;
    font-size:1.6rem;
    color:var(--b);
    cursor:pointer;
    transition:opacity .25s ease;
}

.gallery-arrow:hover{
    opacity:.45;
}

.gallery-arrow:disabled{
    opacity:.2;
    cursor:default;
}

#galleryCounter{
    font-family:'ABCDiatype',sans-serif;
    font-size:.72rem;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:var(--dg);
}

/* ---------- LIGHTBOX ---------- */

.lightbox{

    position:fixed;
    inset:0;

    display:flex;
    justify-content:center;
    align-items:center;

    background:rgba(0,0,0,.92);

    opacity:0;
    visibility:hidden;

    transition:
        opacity .35s ease,
        visibility .35s ease;

    z-index:5000;

}

.lightbox.open{

    opacity:1;
    visibility:visible;

}

.lightbox-image{

    max-width:92vw;
    max-height:90vh;

    object-fit:contain;

    opacity:1;

    transform:scale(1);

    transition:
        opacity .20s ease,
        transform .28s ease;

    will-change:opacity, transform;

}

.lightbox-image.pop{

    transform:scale(1.02);

}

.lightbox.open .lightbox-image{

    transform:scale(1);

}

.lightbox-close{

    position:absolute;

    top:28px;
    right:34px;

    background:none;
    border:none;

    color:white;

    font-size:2.4rem;

    cursor:pointer;

    opacity:.75;

    transition:opacity .25s ease;

}

.lightbox-close:hover{

    opacity:1;

}

.lightbox-arrow{

    position:absolute;

    top:50%;
    transform:translateY(-50%);

    background:none;
    border:none;

    color:white;

    font-size:3rem;
    font-weight:300;

    cursor:pointer;

    opacity:.55;

    transition:
        opacity .25s ease,
        transform .25s ease;

    user-select:none;

    padding:22px;
    touch-action:manipulation;

}

.lightbox-arrow:hover{

    opacity:1;
    transform:translateY(-50%) scale(1.08);

}

.lightbox-arrow-left{

    left:32px;

}

.lightbox-arrow-right{

    right:32px;

}

@media (max-width:768px){

    .lightbox-arrow{

        font-size:2.5rem;

        padding:28px;

    }

    .lightbox-arrow-left{

        left:6px;

    }

    .lightbox-arrow-right{

        right:6px;

    }

    .lightbox-close{

        top:14px;

        right:18px;

        font-size:2rem;

    }

}

/* ── SUPPORT — tightened accordion rhythm ── */
.acc-btn{width:100%;display:flex;justify-content:space-between;align-items:center;
  gap:1rem;padding:.85rem 0;background:none;text-align:left;border-top:1px solid var(--mg)}
.acc-btn-text{font-size:.9rem;font-weight:400;color:var(--b);line-height:1.5}
.acc-body{max-height:0;overflow:hidden;
  transition:max-height .32s ease,opacity .32s ease,padding .32s ease;opacity:0}
.acc-body.open{max-height:280px;opacity:1}
.acc-body-inner{
    padding:.15rem 0 .75rem;
    font-size:.85rem;
    line-height:1.75;
    color:var(--dg);
    max-width:85ch;
    text-align:justify;
    -webkit-hyphens:auto;
    hyphens:auto;
}
.acc-icon{font-size:1rem;color:var(--mg);flex-shrink:0;transition:transform .22s;
  font-family:'ABCDiatype',sans-serif;line-height:1}
.support-cta{border-top:1px solid var(--mg);padding-top:1.5rem;margin-top:.5rem}
.support-cta p{font-size:.875rem;color:var(--dg)}
.support-cta a{color:var(--b);border-bottom:1px solid var(--b);padding-bottom:.05rem;
  transition:color .2s,border-color .2s;cursor:pointer}
.support-cta a:hover{color:var(--dg);border-color:var(--dg)}

/* ── CONTACT ── */
#contact{background:var(--lg)}
.contact-grid{display:grid;gap:3rem}
@media(min-width:768px){.contact-grid{grid-template-columns:1fr 1fr;gap:clamp(2.5rem,5.5vw,6.5rem)}}
.contact-info-block{display:flex;flex-direction:column;gap:1.5rem;margin-top:2rem;
  border-top:1px solid var(--mg);padding-top:1.75rem}
.contact-info-item{display:flex;flex-direction:column;gap:.35rem}
.contact-info-label{font-family:'ABCDiatype',sans-serif;font-size:.57rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--mg)}
.contact-info-value{font-size:.875rem;color:var(--b)}
.contact-info-value a{border-bottom:1px solid var(--mg);padding-bottom:.05rem;transition:border-color .2s}
.contact-info-value a:hover{border-color:var(--b)}
.icon-row{display:flex;gap:1rem;align-items:center}
.icon-row a{color:var(--b);transition:color .2s;display:flex;align-items:center}
.icon-row a:hover{color:var(--dg)}
.contact-closing{font-size:.875rem;line-height:1.85;color:var(--dg);
  border-top:1px solid var(--mg);padding-top:1.75rem;margin-top:2rem;max-width:48ch}
.cf-field{display:block;width:100%;background:none;border:none;border-bottom:1px solid var(--mg);
  padding:.9rem 0;font-family:'ABCDiatype',sans-serif;font-size:.875rem;color:var(--b);
  outline:none;transition:border-color .2s;margin-bottom:1.5rem;border-radius:0}
.cf-field::placeholder{color:var(--mg)}
.cf-field:focus{border-bottom-color:var(--b)}
textarea.cf-field{resize:vertical;min-height:130px;font-family:'ABCDiatype',sans-serif}
.form-success{display:none;padding:1.5rem;border:1px solid var(--b);margin-top:1rem;
  font-size:.875rem;line-height:1.75;color:var(--dg)}

/* ── FOOTER — simplified per Art Direction v02 ── */
footer{padding-top:clamp(2rem,4vw,3.5rem);padding-bottom:1.5rem;background:var(--w)}
.foot-grid{display:grid;gap:2rem;padding-bottom:2rem;border-bottom:1px solid var(--mg);
  align-items:start}
@media(min-width:768px){.foot-grid{grid-template-columns:2fr 1fr}}
.foot-logo img{height:46px;width:auto;display:block;margin-bottom:.8rem}
.foot-bottom{
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    align-items:center;
    gap:.75rem;
    padding-top:1rem;
    position:relative;
}
.foot-legal{display:flex;gap:1.75rem;flex-wrap:wrap}
.foot-legal a{font-size:.58rem;letter-spacing:.08em;color:var(--mg);text-transform:uppercase;transition:color .2s}
.foot-legal a:hover{color:var(--b)}
.foot-credits{
    font-size:.58rem;
    color:var(--mg);
    letter-spacing:.04em;
}
.foot-credits a{border-bottom:1px solid var(--mg);transition:color .2s,border-color .2s}
.foot-credits a:hover{color:var(--b);border-color:var(--b)}
.foot-year-wrap{text-align:right;padding-top:0;overflow:hidden;line-height:1}
.foot-year{font-family:'GentiumBasic',serif;font-size:clamp(3.5rem,13vw,16rem);
  color:var(--lg);opacity:.32;line-height:.85;user-select:none}
.foot-dev{
    position:absolute;
    left:50%;
    transform:translateX(-50%);
    font-size:.58rem;
    color:var(--mg);
    letter-spacing:.04em;
    white-space:nowrap;
} 
.foot-bottom .acuna-link{
    color:#D1761C;
    text-decoration:none !important;
    border-bottom:none !important;
}

.foot-bottom .acuna-link:hover{
    color:#D1761C;
    text-decoration:none !important;
    border-bottom:none !important;
}


/* ── MOBILE CTA ── */
#mob-cta{position:fixed;bottom:0;left:0;right:0;z-index:50;background:var(--w);
  border-top:1px solid var(--b);padding:.65rem clamp(1.5rem,5vw,3rem);
  display:flex;align-items:center;gap:1rem}
@media(min-width:960px){#mob-cta{display:none}}
.mob-cta-note{font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dg);white-space:nowrap}

/* ── UTILS ── */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.scroll-mt{scroll-margin-top:62px}
a:focus-visible,button:focus-visible{outline:2px solid var(--b);outline-offset:3px}

/* ── LEGAL PAGE — new CSS, kept to a minimum ── */
.legal-wrap{max-width:800px}
.legal-content h2{
  font-family:'OwnersTRIALWide',sans-serif;
  font-size:clamp(1.05rem,1.9vw,1.4rem);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:-.01em;
  margin-top:2.75rem;
  margin-bottom:1rem;
  scroll-margin-top:70px;
}
.legal-content h2:first-child{margin-top:0}
.legal-content p{
  font-size:.9rem;
  line-height:1.85;
  color:var(--dg);
  text-align:justify;
  text-justify:inter-word;
  margin-bottom:1.1rem;
  max-width:68ch;
}
.legal-content ul,.legal-content ol{
  margin:0 0 1.1rem 1.25rem;
  padding:0;
  max-width:68ch;
}
.legal-content li{
  font-size:.9rem;
  line-height:1.85;
  color:var(--dg);
  text-align:justify;
  text-justify:inter-word;
  margin-bottom:.5rem;
  padding-left:.25rem;
}
.legal-content a{
  color:var(--b);
  border-bottom:1px solid var(--mg);
  transition:border-color .2s;
}
.legal-content a:hover{border-color:var(--b)}
.legal-content strong{color:var(--b);font-weight:500}
.legal-updated{font-size:.8rem;color:var(--dg);margin-top:.85rem}

/* ============================================================================
   RESPONSIVE — additive breakpoint fixes
   Nothing above this line was modified. Every rule below only targets
   widths under 1200px where the original CSS did not yet adapt (fixed
   pixel widths / fixed grid columns with no override). Desktop (1200px+)
   is completely untouched.
   ============================================================================ */

/* RESPONSIVE — Tickets card: tablet only (769–991px).
   .tix-partner-logo is hard-coded to 280px and .tix-top has an 80px gap;
   together they overflow on tablet widths. ≤768px is already handled by
   the existing rule above; 992px+ (Laptop/Desktop) already has enough
   room and is left as-is. */
@media(min-width:769px) and (max-width:991px){
  .tix-top{
    gap:2.5rem;
  }
  .tix-partner{
    min-width:170px;
  }
  .tix-partner-logo{
    width:170px;
  }
}

/* RESPONSIVE — Partners grid: below tablet, collapse 5 columns to 3 so
   logos stay legible instead of shrinking to illegible thumbnails.
   768–1199px keeps 5 columns (plenty of room, verified no overflow). */
@media(max-width:767px){
  .partners-row,
  .partners-row-bottom{
    grid-template-columns:repeat(3,1fr);
  }
}

/* RESPONSIVE — Partner logos: the existing rule shrinks .partner-cell to
   55px tall at ≤768px, but the logo's max-height (110px) was never
   reduced to match, so images visually overflowed the cell. */
@media(max-width:768px){
  .partner-cell img{
    max-height:32px;
  }
}

/* RESPONSIVE — CRX Village check-in/out block: .time-block uses fixed
   pixel grid columns inside a flex row with a 4rem gap, which overflows
   below ~615px viewport width. Stacking below tablet guarantees no
   overflow at any width down to 360px. Also trims the section's
   min-height so mobile doesn't reserve excessive empty vertical space. */
@media(max-width:767px){
  .village-times{
    flex-direction:column;
    gap:1.25rem;
  }
  .village-outer{
    min-height:auto;
    padding-top:1.5rem;
  }
}

/* RESPONSIVE — Gallery pagination arrows: padding:0 in the base rule
   leaves a hit target only as wide as the glyph itself (~9px), too small
   for comfortable tapping. This control has no border/background, so
   padding is visually invisible — it only enlarges the tappable area.
   Scoped to touch-oriented widths (Tablet/Large Mobile/Mobile); Laptop
   and Desktop keep the original tight sizing. */
@media(max-width:991px){
  .gallery-arrow{
    padding:12px;
  }
}

/* RESPONSIVE — Footer bottom row (index.html): .foot-dev is absolutely
   centered as a desktop-only trick and can visually collide with
   .foot-credits / .foot-legal on narrow screens. Below tablet, take it
   out of absolute positioning and stack everything centered instead.
   (legal.html's footer has no .foot-dev element, so it is unaffected.) */
@media(max-width:767px){
  .foot-bottom{
    flex-direction:column;
    align-items:center;
    text-align:center;
    gap:.85rem;
  }
  .foot-dev{
    position:static;
    left:auto;
    transform:none;
    white-space:normal;
  }
  .foot-legal{
    justify-content:center;
  }
}
