/* Estivale Open Air : une journée, sept facettes */
.eo-hd{max-width:780px;margin:0 auto clamp(36px,5vw,64px);text-align:center}
.eo-hd h2{font-family:var(--serif);font-weight:400;font-size:clamp(36px,5vw,68px);line-height:1.02;letter-spacing:-.022em;margin:18px 0 0;text-wrap:balance}
.eo-hd h2 em{font-style:italic;color:var(--orange-deep)}
.eo-hd p:not(.eyebrow){margin:18px auto 0;max-width:52ch;font-size:clamp(16px,1.35vw,19px);line-height:1.55;color:var(--ink2);text-wrap:pretty}
.eo-hd.l{text-align:left;margin:0}.eo-hd.l p:not(.eyebrow){margin-left:0}
.eo-facts{margin-top:clamp(32px,4vw,56px)}
.eo-tl{list-style:none;margin:0;padding:0;border-bottom:1px solid var(--line)}
.eo-st{--c:color-mix(in oklch,var(--orange-deep),var(--ink) calc(var(--t,0)*100%));display:grid;grid-template-columns:clamp(84px,9vw,132px) minmax(0,4fr) minmax(0,7fr);gap:clamp(20px,3vw,48px);padding:clamp(28px,3.4vw,48px) 0;border-top:1px solid var(--line)}
.eo-h span{position:sticky;top:110px;display:block;font-family:var(--serif);font-size:clamp(36px,3.8vw,56px);line-height:1;letter-spacing:-.02em;color:var(--c);white-space:nowrap}
.eo-h span i{display:block;margin-top:10px;font-family:var(--sans,'Instrument Sans',sans-serif);font-style:normal;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3)}
.eo-tx small{display:block;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--c)}
.eo-tx h3{font-family:var(--serif);font-weight:400;font-size:clamp(26px,2.6vw,36px);line-height:1.08;letter-spacing:-.015em;margin:12px 0;text-wrap:balance}
.eo-tx h3 em{font-style:italic;color:var(--orange-deep)}
.eo-tx p{margin:0;color:var(--ink2);font-size:16px;line-height:1.6;max-width:42ch;text-wrap:pretty}
.eo-im{display:flex;gap:14px;align-items:flex-start}
.eo-st:nth-child(even) .eo-im{flex-direction:row-reverse}
.eo-im .b{position:relative;flex:1.5 1 0;min-width:0;aspect-ratio:3/2;border-radius:16px;overflow:hidden;background:var(--sunk)}
.eo-im .b.v{flex-grow:.667;aspect-ratio:2/3}
.eo-im image-slot,.eo-pl image-slot,.eo-por image-slot,.eo-vid .vcard image-slot{position:absolute;inset:0}
.eo-out{align-self:start;background:var(--ink);color:#FCFBF8;border-radius:22px;padding:clamp(24px,3vw,40px)}
.eo-out ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px}
.eo-out li{display:flex;align-items:center;gap:10px;font-size:15.5px;color:rgba(252,251,248,.86)}
.eo-out li svg{flex:none;width:16px;height:16px;stroke:var(--orange);stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}
.eo-out p{margin:clamp(22px,2.6vw,32px) 0 0;padding-top:clamp(18px,2vw,24px);border-top:1px solid rgba(252,251,248,.16);font-family:var(--serif);font-size:clamp(24px,2.4vw,32px);line-height:1.1;letter-spacing:-.01em}
.eo-out p em{font-style:italic;color:var(--orange)}
.eo-pl{display:flex;flex-wrap:wrap;gap:12px}
.eo-pl::after{content:"";flex-grow:999999;flex-basis:0}
.eo-pl .b{position:relative;flex-grow:calc(var(--r)*100);flex-shrink:1;flex-basis:calc(var(--r)*clamp(150px,20vw,270px));aspect-ratio:var(--r);border-radius:12px;overflow:hidden;background:var(--sunk)}
.eo-por{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(22px,3vw,44px) clamp(14px,2.4vw,32px);padding:0 clamp(0px,2vw,24px)}
.eo-por figure{margin:0;background:#FCFBF8;border-radius:12px;padding:10px;box-shadow:0 1px 2px rgba(22,19,15,.06),0 22px 46px rgba(22,19,15,.14);transform:rotate(var(--r,0deg));transition:transform 800ms var(--ease)}
.eo-por figure:hover{transform:rotate(0) translateY(-4px)}
.eo-por .ph{position:relative;aspect-ratio:4/5;border-radius:6px;overflow:hidden;background:var(--sunk)}
.eo-vid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(32px,6vw,96px);align-items:center}
.eo-vid .vcards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,2vw,24px)}
.eo-vid .vcard{width:auto;padding:8px}
.eo-vid .hcards{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,2vw,24px);margin-top:0}.eo-vid{row-gap:clamp(32px,4vw,56px)}.eo-vid .vcard.h .ph{aspect-ratio:16/9}.eo-vid .vcard[data-mux-open]{cursor:pointer}
@media (max-width:640px){.eo-vid .hcards{grid-template-columns:minmax(0,1fr)}}
.eo-adv .btn{justify-self:start;margin-top:22px}
@media (max-width:900px){
.eo-st{grid-template-columns:minmax(0,1fr);gap:18px}
.eo-h span{position:static;display:flex;align-items:baseline;gap:12px}.eo-h span i{margin:0}
.eo-im,.eo-st:nth-child(even) .eo-im{flex-direction:row}
.eo-por{grid-template-columns:repeat(2,minmax(0,1fr));padding:0}
.eo-vid{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:820px){.eo-pl{gap:8px}.eo-pl .b{flex-basis:calc(var(--r)*118px);border-radius:8px}}
@media (max-width:520px){.eo-out ul{grid-template-columns:minmax(0,1fr)}.eo-vid .vcards{gap:8px}.eo-vid .vcard{padding:5px;border-radius:8px}}
.eo-grp+.eo-grp{margin-top:clamp(48px,6vw,88px)}.eo-grp>.eyebrow{margin:0}
.eo-por figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:10px 2px 2px;font-family:var(--serif);font-size:15px;line-height:1.2;color:var(--ink)}.eo-por figcaption b{font-weight:400;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eo-por figcaption i{color:var(--orange-deep);flex:none}
.eo-scene{--pg:clamp(10px,1.2vw,16px)}.eo-scene a{flex-basis:calc(var(--r)*clamp(140px,17vw,230px));border-radius:12px}
@media (max-width:820px){.eo-scene a{flex-basis:calc(var(--r)*110px);border-radius:8px}}
.eo-vstat{display:flex;align-items:center;gap:16px;margin-top:clamp(24px,3vw,36px);padding-top:clamp(20px,2.5vw,28px);border-top:1px solid var(--line)}.eo-vstat b{font-family:var(--serif);font-weight:400;font-size:clamp(52px,6vw,84px);line-height:.9;color:var(--orange-deep)}.eo-vstat span{font-size:14.5px;line-height:1.45;color:var(--ink2)}

.eo-vid .vcard .vb{all:unset;position:absolute;right:10px;bottom:10px;z-index:2;display:inline-flex;align-items:center;gap:8px;padding:4px 12px 4px 4px;border-radius:999px;background:rgba(252,251,248,.94);color:var(--ink);font-family:var(--sans);font-size:12px;font-weight:600;box-shadow:0 2px 6px rgba(22,19,15,.08),0 10px 24px rgba(22,19,15,.2);backdrop-filter:blur(8px);cursor:pointer;transition:transform 500ms var(--ease),background 300ms}.eo-vid .vcard .vb i{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--ink);transition:background 300ms}.eo-vid .vcard .vb svg{width:10px;height:10px;fill:var(--bg);margin-left:1px}.eo-vid .vcard:hover .vb{transform:translateY(-2px);background:#FCFBF8}.eo-vid .vcard:hover .vb i{background:var(--orange)}.eo-vid .vcard .vb:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
@media (max-width:520px){.eo-vid .vcard .vb{right:6px;bottom:6px;padding:3px}.eo-vid .vcard .vb span{display:none}.eo-vid .vcard .vb i{width:24px;height:24px}}
.eo-im:not(:has(.b:not(.v))) .b.v{flex:0 0 calc((100% - 14px) * .3078)}
