/* 0.31 — Florentine materials, readable editorial navigation and compact home rhythm. */
:root{--vp31-violet:#6b369b;--vp31-red:#cb3156;--vp31-ink:#281638;--vp31-cream:#faf7ef}
/* Remove only the redundant edition/match/culture blocks on the homepage. */
.vp31-home .fs-edition-top,.vp31-home .fs-home-current,.vp31-home .fs-culture-grid,.vp31-home .fss-current-season{display:none!important}
#fs-main.vp31-home>.vh25-top{margin-bottom:0!important;padding-bottom:0!important}
.vp31-home .vh25-matches{margin-bottom:0!important;padding-bottom:12px!important}
.vp31-home .fs-home-redaction{padding-top:8px!important;margin-top:0!important}
.vp31-home .fs-editorial-home,.vp31-home .fs-editorial-feed.vp30-editorial{margin-top:0!important;padding-top:16px!important}
.vp31-home .fs-edition-dateline{display:none!important}
/* Editorial filters keep real radios/links. The light follows the cursor on fine pointers. */
#fs-main .fs-filter-chips label,#fs-main .fs-filter-chips>a,#fs-main .fs-category-cloud>a{position:relative;isolation:isolate;transition:transform .25s,box-shadow .3s;border-radius:28px}
#fs-main .fs-filter-chips label>span,#fs-main .fs-filter-chips>a,#fs-main .fs-category-cloud>a{transition:background .3s,color .25s,border-color .3s,box-shadow .3s!important}
#fs-main .fs-filter-chips label:hover>span,#fs-main .fs-filter-chips label:focus-within>span,#fs-main .fs-filter-chips>a:hover,#fs-main .fs-category-cloud>a:hover{color:#57267e!important;background:radial-gradient(90px circle at var(--chip-x,50%) var(--chip-y,50%),#e6c8ff,#f5edfc)!important;border-color:#b58ace!important;box-shadow:0 0 0 3px #9d5bc310,0 0 22px #8c44b52b,0 6px 18px #4b1d6a16!important}
#fs-main .fs-filter-chips label:hover,#fs-main .fs-filter-chips>a:hover,#fs-main .fs-category-cloud>a:hover{transform:translateY(-2px)}
#fs-main .fs-filter-chips input:checked+span,#fs-main .fs-filter-chips label:hover input:checked+span{background:linear-gradient(125deg,#311b4b,#733d9c)!important;color:#fff!important;box-shadow:0 4px 16px #4d216a28,0 0 16px #9758bf35!important;border-color:#794b9a!important}
#fs-main .fs-filter-chips a:focus-visible,#fs-main .fs-category-cloud>a:focus-visible{outline:3px solid #b874dc;outline-offset:3px}
/* News cards: generous typography, a material edge and controlled motion. */
.fs-editorial-feed.vp30-editorial .fs-editorial-grid{gap:32px 26px!important}
.fs-editorial-feed.vp30-editorial .fs-editorial-card.vp30-news-card{border-radius:6px 30px 6px 6px;background:linear-gradient(150deg,#fffefb,#f6f0f9);border-color:#ded1e7;box-shadow:0 7px 24px -20px #35144766;transition:transform .55s cubic-bezier(.2,.7,.2,1),box-shadow .55s,border-color .4s}
.fs-editorial-feed.vp30-editorial .fs-editorial-card.vp30-news-card:hover,.fs-editorial-feed.vp30-editorial .fs-editorial-card.vp30-news-card:focus-within{border-color:#b177cf;box-shadow:0 20px 48px -20px #37194d4a,0 0 0 1px #c7a0dd45,0 0 34px #9253b712;transform:translateY(-6px)}
.fs-editorial-feed.vp30-editorial .vp30-news-card:after{background:radial-gradient(360px circle at var(--card-x,0px) var(--card-y,0px),#ac69c518,transparent 75%)}
.fs-editorial-feed.vp30-editorial .fs-editorial-card .fs-editorial-card-copy{padding:28px!important;gap:17px}
.fs-editorial-feed.vp30-editorial .vp30-news-card .fs-editorial-image img{transition:transform 1.25s cubic-bezier(.2,.7,.2,1),filter .65s;filter:saturate(.92) contrast(1.01)}
.fs-editorial-feed.vp30-editorial .vp30-news-card:hover .fs-editorial-image img,.fs-editorial-feed.vp30-editorial .vp30-news-card:focus-within .fs-editorial-image img{transform:scale(1.055);filter:saturate(1.08) contrast(1.04)}
.fs-editorial-feed.vp30-editorial .vp30-news-card .fs-editorial-image:before{content:'';position:absolute;inset:-80% -120%;background:linear-gradient(115deg,transparent 43%,#fff3 49%,transparent 55%);transform:translateX(-35%);transition:transform 1.1s;pointer-events:none;z-index:2}
.fs-editorial-feed.vp30-editorial .vp30-news-card:hover .fs-editorial-image:before{transform:translateX(35%)}
.fs-editorial-feed.vp30-editorial .vp30-news-card h3{font-size:clamp(26px,2vw,34px)!important;line-height:1.16!important;color:var(--vp31-ink)!important}
.fs-editorial-feed.vp30-editorial .vp30-news-card .fs-editorial-meta{font-size:11px;letter-spacing:.06em}
.fs-editorial-feed.vp30-editorial .vp30-news-card .fs-editorial-meta>span{padding-left:11px;border-left:2px solid var(--vp31-red);line-height:1.5}
.fs-editorial-feed.vp30-editorial .vp30-news-card .fs-editorial-card-copy p{font-size:15px;line-height:1.7;color:#675570}
.vp31-card-cta{display:flex;align-items:center;justify-content:space-between;gap:15px;color:#622991!important;font-size:12px;font-weight:650;letter-spacing:.025em;min-height:44px;margin-top:2px;border-top:1px solid #decfe7;padding-top:12px;text-decoration:none;transition:color .3s,letter-spacing .3s}
.vp31-card-cta:hover{color:#af2856!important;letter-spacing:.045em}
.fs-editorial-feed.vp30-editorial .vp30-news-card:first-child{background:#231131;border-color:#432653}
.fs-editorial-feed.vp30-editorial .vp30-news-card:first-child h3{font-size:clamp(35px,3.5vw,57px)!important;line-height:1.07!important}
.fs-editorial-feed.vp30-editorial .vp30-news-card:first-child h3 a{color:#fff!important}
.fs-editorial-feed.vp30-editorial .vp30-news-card:first-child .fs-editorial-card-copy{padding:38px!important;padding-top:160px!important}
.fs-editorial-feed.vp30-editorial .vp30-news-card:first-child .fs-editorial-card-copy p{color:#f0e6f6}
.fs-editorial-feed.vp30-editorial .vp30-news-card:first-child .vp31-card-cta{color:#f5e7ff!important;border-color:#ffffff40;pointer-events:auto}
.fs-editorial-feed.vp30-editorial .vp30-news-card:first-child .fs-editorial-read{padding-top:12px}
/* One concise archive gateway replaces the duplicated culture pair and season summary. */
.vp31-archive-gateway{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,1.1fr);align-items:center;gap:34px;width:calc(100% - 48px);max-width:1280px;margin:26px auto 44px;padding:34px 38px;border:1px solid #d8c8e2;border-radius:5px 28px 5px 5px;background:#f5eff8;color:var(--vp31-ink)}
.vp31-archive-gateway:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#f7f2fbe6,#f7f2fbef),url('macro/book.webp') center/cover;opacity:.8}
.vp31-kicker{font:650 10px/1.5 var(--vh-ui,system-ui);letter-spacing:.15em;color:#713d93}
.vp31-archive-gateway h2{font:600 clamp(28px,2.8vw,39px)/1.12 var(--vh-display,Georgia);letter-spacing:-.025em;margin:10px 0 13px;color:var(--vp31-ink)!important;padding:0}
.vp31-archive-gateway p{font-size:13px;line-height:1.65;color:#6e5c7a;padding:0}
.vp31-archive-gateway nav{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;align-items:center}
.vp31-archive-gateway nav>a:not(.vp31-archive-all){position:relative;padding:13px 0 16px;border-bottom:1px solid #ccb4db;text-decoration:none;color:var(--vp31-ink);display:grid;gap:8px;transition:border-color .3s,color .3s}
.vp31-archive-gateway small{font-size:11px;color:#786281}
.vp31-archive-gateway strong{font:600 29px/1 var(--vh-display,Georgia);letter-spacing:-.035em}
.vp31-archive-gateway nav>a>span{position:absolute;right:5px;bottom:15px;font-size:22px;color:#88599e;transition:transform .3s}
.vp31-archive-gateway nav>a:hover{border-color:#9051b2;color:#7c3aa1}
.vp31-archive-gateway nav>a:hover>span{transform:translate(3px,-3px)}
.vp31-archive-gateway .vp31-archive-all{grid-column:1/-1;justify-self:end;display:flex;gap:18px;align-items:center;min-height:44px;font-size:12px;color:#6f3b8e;text-decoration:none}
.vp31-archive-gateway .vp31-archive-all>span{position:static;font-size:20px}
.fs-archive-index>.vp31-season-entry{position:relative;display:flex;flex-direction:column;gap:12px;align-items:start!important;background:linear-gradient(135deg,#f5edf9,#fffdf8);border-color:#c7a9da;padding:28px!important;min-height:175px}
.fs-archive-index>.vp31-season-entry strong{font:600 39px/1 var(--vh-display,Georgia);color:#492666}
.fs-archive-index>.vp31-season-entry>span:last-of-type{font-size:12px;line-height:1.6;color:#705b7f}
.fs-archive-index>.vp31-season-entry>b{position:absolute;top:26px;right:22px;color:#8c58a8;font-size:22px}
/* Footer has independent selectors and legible type regardless of Core or Divi defaults. */
footer.vp31-footer{position:relative;isolation:isolate;background:#1b102b!important;color:#f8f2fc!important;overflow:hidden;padding:52px 0 24px;margin-top:0}
.vp31-footer *{box-sizing:border-box}
.vp31-footer-art{position:absolute;inset:0;z-index:-1;pointer-events:none}
.vp31-footer-art:before{content:'';position:absolute;left:-10%;top:0;width:55%;height:100%;background:linear-gradient(90deg,#1b102b55,#1b102bf5 92%),url('macro/mosaic.webp') 30% center/cover;opacity:.42}
.vp31-footer-art:after{content:'';position:absolute;right:-10%;top:0;width:62%;height:100%;background:linear-gradient(90deg,#1b102b 2%,#1b102b4d 100%),url('macro/iris.webp') right center/cover;opacity:.45}
.vp31-footer-wrap{position:relative;width:calc(100% - 64px);max-width:1280px;margin:auto}
.vp31-footer-top{display:flex;align-items:center;justify-content:space-between;gap:45px;padding-bottom:30px;border-bottom:1px solid #f1dfff30}
.vp31-footer-brand{position:relative;display:block;width:300px;max-width:100%;padding:18px 20px;background:#fffdf6;border:1px solid #fff5;border-radius:4px 16px 4px 4px;box-shadow:0 10px 30px #09041144;overflow:hidden;transform:perspective(800px) rotateX(var(--logo-rx,0deg)) rotateY(var(--logo-ry,0deg));transition:transform .35s,box-shadow .35s;flex:none}
.vp31-footer-brand img{display:block;width:100%;height:auto;filter:none!important;opacity:1!important}
.vp31-footer-brand>span{position:absolute;inset:-100%;background:linear-gradient(110deg,transparent 43%,#ffffffb0 50%,transparent 57%);transform:translateX(-70%);transition:transform .9s;pointer-events:none}
.vp31-footer-brand:hover,.vp31-footer-brand:focus-visible{box-shadow:0 10px 35px #09041144,0 0 0 1px #cf9bf755,0 0 42px #a775d455}
.vp31-footer-brand:hover>span{transform:translateX(70%)}
.vp31-footer-top>p{font:500 clamp(23px,2.7vw,36px)/1.25 var(--vh-display,Georgia);letter-spacing:-.02em;color:#f5e8fa;max-width:550px;padding:0;margin:0;text-align:right;text-wrap:balance}
.vp31-footer-grid{display:grid;grid-template-columns:minmax(240px,1.45fr) minmax(160px,.8fr) minmax(180px,.9fr) minmax(200px,1fr);gap:34px;padding:36px 0}
.vp31-footer-kicker{font-size:9px;line-height:1.8;letter-spacing:.16em;color:#cfadda}
.vp31-footer h2{font:600 19px/1.25 var(--vh-display,Georgia)!important;letter-spacing:0!important;color:#fff8ff!important;margin:0 0 18px!important;padding:0!important}
.vp31-footer .vp31-footer-intro h2{font-size:31px!important;line-height:1.14!important;margin:15px 0 18px!important;max-width:280px}
.vp31-footer .vp31-footer-intro p{font-size:14px;line-height:1.85;color:#ded0e9;max-width:300px;margin:0;padding:0}
.vp31-footer a{color:#f1e8f8;text-decoration:none}
.vp31-footer-nav>a{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;padding:9px 0;font-size:13px;line-height:1.4;border-bottom:1px solid #ffffff12;transition:color .25s,text-shadow .25s,border-color .25s}
.vp31-footer-nav>a>span{font-size:15px;opacity:.5;color:#d4a2f1;transition:opacity .25s,transform .25s}
.vp31-footer-nav>a:hover,.vp31-footer-nav>a:focus-visible{color:#fff;text-shadow:0 0 18px #d99af5aa;border-color:#c790e34d}
.vp31-footer-nav>a:hover>span{opacity:1;transform:translate(2px,-2px)}
.vp31-footer-mail{display:inline-flex;align-items:center;gap:15px;font-size:14px;line-height:1.5;font-weight:600;margin-top:16px;min-height:44px}
.vp31-footer-mail:hover{color:#e6b4ff}
.vp31-footer-language-label{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#d2b9df;padding:22px 0 11px!important;margin:0}
.vp31-footer-languages{display:flex;flex-wrap:wrap;gap:8px}
.vp31-footer-languages>a{display:flex;align-items:center;justify-content:center;min-height:42px;padding:8px 12px;border:1px solid #dab6ef40;border-radius:24px;font-size:11px;transition:background .25s,color .25s,box-shadow .25s}
.vp31-footer-languages>a[aria-current=true],.vp31-footer-languages>a:hover{background:#efe0f7;color:#37194d;box-shadow:0 0 20px #b46cdb30}
.vp31-footer-bottom{display:grid;grid-template-columns:auto 1fr auto;gap:20px 35px;align-items:center;border-top:1px solid #ead1f833;padding-top:24px;font-size:11px;line-height:1.7;color:#d1bedf}
.vp31-footer-bottom p{padding:0;margin:0;max-width:510px}
.vp31-footer-credit{color:#ede0f6}
.vp31-footer-credit strong{font-weight:650;color:#fff}
.vp31-footer a:focus-visible,.vp31-archive-gateway a:focus-visible{outline:2px solid #d9a9f6;outline-offset:5px;border-radius:3px}
@media(max-width:1080px){.vp31-footer-grid{grid-template-columns:1.2fr 1fr;gap:34px 45px}.vp31-footer-bottom{grid-template-columns:auto 1fr}.vp31-footer-credit{grid-column:1/-1}.vp31-archive-gateway{grid-template-columns:1fr 1fr;gap:25px;padding:30px}}
@media(max-width:700px){
 .vp31-home .vh25-matches{padding-bottom:0!important}
 .vp31-home .fs-editorial-feed.vp30-editorial{padding-top:18px!important}
 .fs-editorial-feed.vp30-editorial .fs-editorial-grid{gap:23px!important}
 .fs-editorial-feed.vp30-editorial .fs-editorial-card .fs-editorial-card-copy,.fs-editorial-feed.vp30-editorial .vp30-news-card:first-child .fs-editorial-card-copy{padding:23px!important;gap:16px}
 .fs-editorial-feed.vp30-editorial .vp30-news-card h3{font-size:28px!important;line-height:1.13!important}
 .fs-editorial-feed.vp30-editorial .vp30-news-card:first-child h3{font-size:32px!important;line-height:1.1!important}
 .fs-editorial-feed.vp30-editorial .vp30-news-card .fs-editorial-meta{font-size:10px}
 .vp31-card-cta{min-height:48px}
 .vp31-archive-gateway{width:calc(100% - 40px);grid-template-columns:1fr;padding:27px 23px;gap:17px;margin:15px auto 32px}
 .vp31-archive-gateway h2{font-size:31px}
 .vp31-archive-gateway nav{gap:9px 18px}
 .vp31-archive-gateway strong{font-size:27px}
 .fs-archive-index>.vp31-season-entry{min-height:145px;padding:23px!important}
 footer.vp31-footer{padding:32px 0 23px}
 .vp31-footer-wrap{width:calc(100% - 40px)}
 .vp31-footer-top{align-items:start;flex-direction:column;gap:22px;padding-bottom:26px}
 .vp31-footer-brand{width:260px;padding:15px 18px}
 .vp31-footer-top>p{font-size:26px;text-align:left;max-width:340px}
 .vp31-footer-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px 20px;padding:29px 0}
 .vp31-footer-intro,.vp31-footer-connect{grid-column:1/-1}
 .vp31-footer .vp31-footer-intro h2{font-size:30px!important;max-width:320px}
 .vp31-footer .vp31-footer-intro p{max-width:440px;font-size:14px}
 .vp31-footer h2{font-size:18px!important;margin-bottom:13px!important}
 .vp31-footer-nav>a{min-height:46px;font-size:13px}
 .vp31-footer-connect>.vp31-footer-nav{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
 .vp31-footer-languages>a{font-size:12px;min-height:44px;padding-inline:18px}
 .vp31-footer-bottom{display:flex;flex-direction:column;align-items:start;gap:14px;padding-top:23px;font-size:11px}
 .vp31-footer-art:before{width:90%;left:-30%;opacity:.3}
 .vp31-footer-art:after{width:110%;right:-30%;opacity:.24}
}
@media(prefers-reduced-motion:reduce){.vp31-footer *,#fs-main .fs-filter-chips *,#fs-main .fs-category-cloud>a,.fs-editorial-feed.vp30-editorial .vp30-news-card,.fs-editorial-feed.vp30-editorial .vp30-news-card *,.vp31-archive-gateway *{transition:none!important;animation:none!important}.vp31-footer-brand,.fs-editorial-feed.vp30-editorial .vp30-news-card:hover,#fs-main .fs-filter-chips label:hover{transform:none!important}}

.fs-archive-grid>.vp31-season-entry{position:relative;display:flex;flex-direction:column;gap:12px;padding:28px;min-height:170px;border:1px solid #c7a9da;background:linear-gradient(135deg,#f5edf9,#fffdf8);color:#492666}.fs-archive-grid>.vp31-season-entry strong{font:600 39px/1 var(--vh-display,Georgia)}.fs-archive-grid>.vp31-season-entry>b{position:absolute;right:20px;top:25px}.vp31-recent-seasons{padding-block:20px 30px}.vp31-recent-seasons>.fs-archive-index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}@media(max-width:700px){.vp31-recent-seasons>.fs-archive-index{grid-template-columns:1fr}}
