/* WIFYX typefaces, served from this domain.

   Loading these from Google means handing every visitor's IP address to a third
   party on every page, which for an audience in Spain is a consent question
   rather than a performance one. The site was making TWO separate requests to
   fonts.googleapis.com, from inside <body>, with no preconnect.

   Both uprights are variable fonts, so one file covers every weight the site
   uses. Downloading each weight separately gave four byte identical copies of
   the same file.

   The ?v= is deliberate. Hostinger's CDN holds static files for a week, so
   replacing a font without changing its URL keeps serving the old bytes.
   Bump it here AND in wifyx_preload_fonts(), or the preload stops matching and
   the browser fetches each file twice. */

@font-face{
	font-family:'Jost';
	src:url('fonts/jost.woff2?v=1') format('woff2-variations'),
	    url('fonts/jost.woff2?v=1') format('woff2');
	font-weight:100 900;
	font-style:normal;
	font-display:swap;
}
@font-face{
	font-family:'Playfair Display';
	src:url('fonts/playfair.woff2?v=1') format('woff2-variations'),
	    url('fonts/playfair.woff2?v=1') format('woff2');
	font-weight:400 900;
	font-style:normal;
	font-display:swap;
}
@font-face{
	font-family:'Playfair Display';
	src:url('fonts/playfair-italic.woff2?v=1') format('woff2');
	font-weight:500;
	font-style:italic;
	font-display:swap;
}

:root{--gold-text:#82673B;--cream:#FAF8F5;--cream-2:#F1ECE3;--ink:#0F0D0A;--ink-2:#171410;--gold:#B4915A;--gold-2:#C7A867;--purple:#AC5AA0;--muted:#6F675A;--muted-light:rgba(239,234,223,0.62);--line:#E2DCCF}
.hero,.marquee,.tiers,.cta,.mhero,.ready,.ehero,.dhero,.dow,.lc-dark,footer,.wifyx-pass,.wifyx-ep__media--locked,.wifyx-ep__play{--gold-text:var(--gold-2)}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Jost',sans-serif;background:var(--cream);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
.serif{font-family:'Playfair Display',serif}
.wrap{max-width:1240px;margin:0 auto;padding:0 40px}
a{text-decoration:none;color:inherit}
.eyebrow{font-size:12px;letter-spacing:3.5px;text-transform:uppercase;color:var(--gold-text);font-weight:500}
header{position:sticky;top:0;z-index:50;background:rgba(250,248,245,0.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:88px}
.logo{line-height:1}
.logo .name{font-family:'Playfair Display',serif;font-size:26px;letter-spacing:3px;font-weight:500}
.logo .tag{font-size:9.5px;letter-spacing:3px;text-transform:uppercase;color:var(--muted);margin-top:3px}
.menu{display:flex;gap:34px;align-items:center}
.menu a{font-size:15px;color:#2A2620;transition:.2s}
.menu a:hover{color:var(--gold-text)}
.navright{display:flex;align-items:center;gap:26px}
.signin{font-size:15px}
.apply-btn{background:var(--ink);color:var(--cream);font-size:12px;letter-spacing:2.5px;text-transform:uppercase;padding:15px 30px;transition:.25s}
.apply-btn:hover{background:var(--gold);color:var(--ink)}
.hero{background:var(--ink);color:var(--cream);position:relative;overflow:hidden;min-height:100vh;display:flex;align-items:center}
.hero-video{position:absolute;inset:0;overflow:hidden;z-index:0}
.hero-video iframe{position:absolute;top:50%;left:50%;width:100vw;height:56.25vw;min-height:100%;min-width:177.78vh;transform:translate(-50%,-50%);pointer-events:none;border:0}
.hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(8,7,6,0.9),rgba(8,7,6,0.6) 55%,rgba(8,7,6,0.4))}
.hero-inner{position:relative;z-index:2;max-width:1240px;margin:0 auto;padding:120px 40px 130px;width:100%}
.hero .eyebrow{margin-bottom:26px}
.hero h1{font-family:'Playfair Display',serif;font-weight:500;font-size:88px;line-height:1.02;letter-spacing:-1px;max-width:900px}
.hero h1 em{font-style:italic;color:var(--purple);font-weight:500}
.hero .lead{font-size:19px;color:rgba(239,234,223,0.72);max-width:560px;margin:36px 0 44px;line-height:1.65;font-weight:300}
.hero-btns{display:flex;gap:22px;align-items:center;flex-wrap:wrap}
.btn-ghost{font-size:12px;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold-text);border-bottom:1px solid transparent;padding-bottom:4px;transition:.2s}
.btn-ghost:hover{border-color:var(--gold-text)}
.btn-outline{font-size:12px;letter-spacing:2.5px;text-transform:uppercase;border:1px solid rgba(239,234,223,0.4);color:var(--cream);padding:16px 34px;transition:.25s}
.btn-outline:hover{background:var(--cream);color:var(--ink);border-color:var(--cream)}
.marquee{background:var(--ink-2);border-top:1px solid rgba(239,234,223,0.08);border-bottom:1px solid rgba(239,234,223,0.08);overflow:hidden;padding:20px 0}
.marquee-track{display:flex;gap:40px;white-space:nowrap;width:max-content;animation:scroll 30s linear infinite}
.marquee span{font-family:'Jost',sans-serif;font-size:16px;letter-spacing:normal;color:rgba(250,248,245,0.7);display:flex;align-items:center;gap:40px}
.marquee .dot{color:#C49645;font-size:12px}
@keyframes scroll{
from{transform:translateX(0)}
to{transform:translateX(-50%)}
}
section.pad{padding:120px 0}
.sec-cream{background:var(--cream)}
.sec-cream2{background:var(--cream-2)}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.about .eyebrow{display:inline-block;padding-bottom:10px;border-bottom:1px solid var(--gold);margin-bottom:26px}
.about h2{font-family:'Playfair Display',serif;font-weight:500;font-size:52px;line-height:1.08;margin-bottom:30px;color:var(--ink)}
.about p{color:#5C554A;font-size:16.5px;margin-bottom:20px;max-width:480px;line-height:1.7;font-weight:300}
.about-imgs{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.about-imgs img{width:100%;height:auto;display:block;object-fit:cover;box-shadow:0 30px 60px -30px rgba(23,20,16,0.45)}
.about-imgs .col-a img{aspect-ratio:3/4;object-fit:cover}
.about-imgs .col-b{margin-top:56px}
.about-imgs .col-b img{aspect-ratio:3/4;object-fit:cover}
.dir-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:56px;flex-wrap:wrap;gap:18px}
.dir-head .eyebrow{margin-bottom:14px;display:block}
.dir-head h2{font-family:'Playfair Display',serif;font-weight:500;font-size:46px;color:var(--ink)}
.dir-head .explore{font-size:13px;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--gold);padding-bottom:4px}
.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.cat{padding:38px 30px 66px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .25s;cursor:pointer}
.cat:hover{background:rgba(180,145,90,0.07)}
.cat h3{font-family:'Playfair Display',serif;font-weight:500;font-size:28px;margin-bottom:10px;color:var(--ink)}
.cat p{font-size:14px;color:var(--muted);font-weight:300}
.tiers{background:var(--ink);color:var(--cream)}
.tiers-head{text-align:center;margin-bottom:60px}
.tiers-head .eyebrow{margin-bottom:16px;display:block}
.tiers-head h2{font-family:'Playfair Display',serif;font-weight:500;font-size:52px;margin-bottom:16px}
.tiers-head .sub{color:rgba(239,234,223,0.6);font-size:17px;font-weight:300}
.tier-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;align-items:stretch}
.tier{border:1px solid rgba(239,234,223,0.16);padding:42px 36px;display:flex;flex-direction:column;background:rgba(239,234,223,0.015);position:relative}
.tier.feat{background:#080706;border-color:rgba(180,145,90,0.5);transform:scale(1.03)}
.tier .tierno{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--gold-text);margin-bottom:20px;display:flex;justify-content:space-between;align-items:center}
.tier .badge{background:var(--gold);color:var(--ink);font-size:10px;letter-spacing:1.5px;padding:4px 10px;font-weight:600}
.tier .tname{font-family:'Playfair Display',serif;font-size:34px;font-weight:500;margin-bottom:10px}
.tier .tdesc{color:rgba(239,234,223,0.62);font-size:15px;margin-bottom:28px;font-weight:300}
.tier .price{font-family:'Playfair Display',serif;font-size:64px;font-weight:500;line-height:1}
.tier .price small{font-family:'Jost',sans-serif;font-size:14px;font-weight:300;color:rgba(239,234,223,0.6);margin-left:8px;letter-spacing:0}
.tier .billed{font-size:13px;color:rgba(239,234,223,0.45);margin:10px 0 30px;font-weight:300}
.tier ul{list-style:none;margin-bottom:34px;flex:1}
.tier li{position:relative;padding-left:28px;margin-bottom:15px;font-size:15px;color:rgba(239,234,223,0.85);font-weight:300}
.tier li::before{content:"\2713";position:absolute;left:0;top:0;color:var(--gold-text);font-size:14px}
.tier-btn{text-align:center;font-size:12px;letter-spacing:2.5px;text-transform:uppercase;padding:16px;border:1px solid var(--cream);background:var(--ink);color:var(--cream);transition:.25s;cursor:pointer}
.tier-btn:hover,.tier.feat .tier-btn{background:var(--cream);color:var(--ink)}
.tier.feat .tier-btn:hover{background:var(--gold);border-color:var(--gold-text)}
.faq-head{text-align:center;margin-bottom:50px}
.faq-head .eyebrow{margin-bottom:16px;display:block}
.faq-head h2{font-family:'Playfair Display',serif;font-weight:500;font-size:46px;color:var(--ink)}
.faq-list{max-width:820px;margin:0 auto}
.faq-item{border-bottom:1px solid var(--line);padding:26px 4px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:.2s}
.faq-item:hover{color:var(--gold-text)}
.faq-item span{font-family:'Playfair Display',serif;font-size:21px;font-weight:400}
.faq-item .plus{font-size:22px;color:var(--gold-text);font-weight:300}
.cta{background:var(--ink);color:var(--cream);text-align:center;padding:130px 0}
.cta h2{font-family:'Playfair Display',serif;font-weight:500;font-size:60px;margin-bottom:22px}
.cta p{color:rgba(239,234,223,0.62);font-size:18px;max-width:520px;margin:0 auto 40px;font-weight:300}
.cta .apply-btn{display:inline-block;background:var(--gold);color:var(--ink)}
.cta .apply-btn:hover{background:var(--cream)}
footer{background:#080706;color:var(--cream);padding:70px 0 34px}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;padding-bottom:50px;border-bottom:1px solid rgba(239,234,223,0.1)}
footer .logo .name{color:var(--cream)}
footer .blurb{font-size:14px;color:rgba(239,234,223,0.55);margin-top:18px;max-width:260px;font-weight:300;line-height:1.7}
.foot-col h4{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--gold-text);margin-bottom:18px}
.foot-col a{display:block;color:rgba(239,234,223,0.7);font-size:14px;margin-bottom:11px;font-weight:300;transition:.2s}
.foot-col a:hover{color:var(--gold-text)}
.copyr{text-align:center;font-size:12.5px;color:rgba(239,234,223,0.4);padding-top:26px;letter-spacing:.5px}
.socials{display:flex;gap:15px;margin-top:22px}
.socials a{color:rgba(239,234,223,0.55);transition:.2s;display:inline-flex}
.socials a:hover{color:var(--gold-text)}
.socials svg{width:19px;height:19px;fill:currentColor;display:block}
.hero h1,.tiers-head h2,.cta h2{color:var(--cream) !important}
@media(max-width:960px){
.menu,.signin{display:none}

.about-grid,.tier-grid,.foot-grid{grid-template-columns:1fr;gap:44px}
.cat-grid{grid-template-columns:repeat(2,1fr)}
.about-imgs .col-b{margin-top:0}
.tier.feat{transform:none}
section.pad{padding:80px 0}
.wrap,.hero-inner{padding-left:22px;padding-right:22px}
.hero h1,.about h2,.tiers-head h2,.cta h2{font-size:42px}
}
.mhero{background:var(--ink-2);color:var(--cream);text-align:center;padding:110px 20px 120px}
.mhero .eyebrow{display:block;margin-bottom:18px}
.mhero h1{font-family:'Playfair Display',serif;font-weight:500;font-size:92px;line-height:1.0;letter-spacing:-1px;color:var(--cream)!important}
.mhero .msub{color:rgba(239,234,223,0.6);font-size:18px;margin-top:24px;font-weight:300;max-width:560px;margin-left:auto;margin-right:auto}
.sec-tiers-light{background:var(--cream);padding:100px 0}
.tier-grid-light{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;align-items:stretch}
.tl{border:1px solid var(--line);padding:42px 36px;display:flex;flex-direction:column;background:#FFF;position:relative}
.tl.feat{background:var(--ink);border-color:var(--ink)}
.tl .tierno{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--gold-text);margin-bottom:20px;display:flex;justify-content:space-between;align-items:center}
.tl.feat .tierno{color:var(--gold-text)}
.tl .badge{background:var(--gold);color:var(--ink);font-size:10px;letter-spacing:1.5px;padding:4px 10px;font-weight:600}
.tl .tname{font-family:'Playfair Display',serif;font-size:34px;font-weight:500;margin-bottom:10px;color:var(--ink)}
.tl.feat .tname{color:var(--cream)}
.tl .tdesc{color:var(--muted);font-size:15px;margin-bottom:28px;font-weight:300}
.tl.feat .tdesc{color:rgba(239,234,223,0.62)}
.tl .price{font-family:'Playfair Display',serif;font-size:56px;font-weight:500;line-height:1;color:var(--ink)}
.tl.feat .price{color:var(--cream)}
.tl .price small{font-family:'Jost',sans-serif;font-size:14px;font-weight:300;color:var(--muted);margin-left:8px;letter-spacing:0}
.tl.feat .price small{color:rgba(239,234,223,0.6)}
.tl .billed{font-size:13px;color:var(--muted);margin:10px 0 30px;font-weight:300}
.tl.feat .billed{color:rgba(239,234,223,0.45)}
.tl ul{list-style:none;margin-bottom:34px;flex:1}
.tl li{position:relative;padding-left:28px;margin-bottom:15px;font-size:15px;color:#3A352D;font-weight:300}
.tl.feat li{color:rgba(239,234,223,0.85)}
.tl li::before{content:"\2713";position:absolute;left:0;top:0;color:var(--gold-text);font-size:14px}
.tl .tier-btn{text-align:center;font-size:12px;letter-spacing:2.5px;text-transform:uppercase;padding:16px;border:1px solid var(--ink);background:var(--ink);color:var(--cream);transition:.25s;display:block}
.tl .tier-btn:hover{background:var(--gold);border-color:var(--gold-text);color:var(--ink)}
.tl.feat .tier-btn{background:var(--cream);color:var(--ink);border-color:var(--cream)}
.tl.feat .tier-btn:hover{background:var(--gold);border-color:var(--gold-text)}
.unlocks{background:var(--cream-2);padding:100px 0}
.unlocks h2{font-family:'Playfair Display',serif;font-weight:500;font-size:48px;text-align:center;color:var(--ink)!important;margin-bottom:56px}
.ready{background:var(--ink);color:var(--cream);text-align:center;padding:110px 20px}
.ready h2{font-family:'Playfair Display',serif;font-weight:500;font-size:52px;color:var(--cream)!important;margin-bottom:30px}
@media(max-width:960px){
.mhero h1{font-size:52px}
.tier-grid-light{grid-template-columns:1fr}
.unlocks h2,.ready h2{font-size:38px}
}
.ehero{background:var(--ink);color:var(--cream);text-align:center;padding:110px 24px 96px}
.ehero .kick{color:var(--gold-text);font-family:'Jost',sans-serif;font-size:12px;letter-spacing:3px;text-transform:uppercase;margin-bottom:18px}
.ehero h1{font-family:'Playfair Display',serif;font-weight:500;font-size:72px;line-height:1.02;margin:0 0 18px;color:var(--cream)!important}
.ehero p{font-family:'Jost',sans-serif;color:rgba(250,248,245,.72);font-size:18px;max-width:640px;margin:0 auto;line-height:1.55}
.calsec{background:var(--cream);padding:52px 24px 92px}
.calwrap{max-width:1120px;margin:0 auto}
.signbar{display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--cream-2);border:1px solid var(--line);border-radius:8px;padding:22px 28px;margin-bottom:44px;font-family:'Jost',sans-serif}
.signbar span{color:var(--muted);font-size:15px}
.signbar a{color:var(--gold-text);font-weight:600;letter-spacing:2px;font-size:12px;text-transform:uppercase;text-decoration:none;white-space:nowrap}
.signbar a:hover{color:var(--ink)}
.calhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;flex-wrap:wrap;gap:14px}
.calhead h2{font-family:'Playfair Display',serif;font-weight:500;font-size:40px;margin:0;color:var(--ink)!important}
.calnav{display:flex;gap:8px}
.calnav button{font-family:'Jost',sans-serif;background:#FFF;border:1px solid var(--line);color:var(--ink);padding:9px 15px;border-radius:6px;cursor:pointer;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;transition:.2s}
.calnav button:hover{border-color:var(--gold-text);color:var(--gold-text)}
.calgrid{display:grid;grid-template-columns:repeat(7,1fr);border-right:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:8px;overflow:hidden;background:#FFF}
.dow{background:var(--ink);color:rgba(250,248,245,.72);font-family:'Jost',sans-serif;font-size:11px;letter-spacing:2px;text-transform:uppercase;text-align:center;padding:13px 0}
.cell{min-height:118px;border-top:1px solid var(--line);border-left:1px solid var(--line);padding:9px 9px 10px;position:relative}
.dnum{font-family:'Jost',sans-serif;font-size:14px;color:var(--ink)}
.cell.out{background:var(--cream-2)}
.cell.out .dnum{color:#C3BCAE}
.cell.out .evt{opacity:.5}
.cell.today .dnum{color:var(--gold-text);font-weight:700}
.evt{display:flex;align-items:center;gap:5px;background:var(--cream-2);border:1px solid var(--line);border-radius:5px;padding:5px 7px;margin-top:7px;font-family:'Jost',sans-serif;font-size:11px;color:#3A352D;line-height:1.2;text-decoration:none;overflow:hidden}
.evt span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.evt:hover{border-color:var(--gold-text);color:var(--ink)}
.evt svg{flex:0 0 auto;opacity:.55}
@media(max-width:760px){
.ehero{padding:78px 20px 70px}
.ehero h1{font-size:44px}
.calhead h2{font-size:30px}
.cell{min-height:74px;padding:5px}
.evt{font-size:9px;padding:3px 4px}
.dow{font-size:9px;letter-spacing:1px}
.dnum{font-size:12px}
}
.menu .ddwrap{position:relative}
.menu .ddtrigger{display:inline-flex;align-items:center;gap:6px;cursor:pointer}
.ddcaret{font-size:9px;transition:transform .2s;display:inline-block}
.ddwrap:hover .ddcaret{transform:rotate(180deg)}
.ddwrap::after{content:"";position:absolute;left:-24px;right:-24px;top:100%;height:20px}
.ddmenu{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(10px);margin-top:12px;background:#FFF;border:1px solid var(--line);box-shadow:0 30px 70px rgba(15,13,10,.16);border-radius:12px;padding:14px;width:600px;opacity:0;visibility:hidden;transition:opacity .18s,transform .18s;z-index:500}
.ddwrap:hover .ddmenu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.ddgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:2px}
.ddcol{display:block;padding:15px 20px;border-radius:9px;text-decoration:none!important;transition:background .15s}
.ddcol:hover{background:var(--cream-2)}
.ddt{display:block;font-family:'Playfair Display',serif;font-weight:500;font-size:19px;color:var(--ink)!important;margin-bottom:3px;line-height:1.1}
.ddcol:hover .ddt{color:var(--gold-text)!important}
.dds{display:block;font-family:'Jost',sans-serif;font-size:12.5px;color:var(--muted);line-height:1.3}
@media(max-width:900px){
.ddmenu{display:none!important}
}
.mnav-btn{display:none;background:none;border:none;cursor:pointer;flex-direction:column;justify-content:center;gap:5px;padding:8px;margin-left:14px}
.mnav-btn span{width:24px;height:2px;background:var(--ink);display:block;border-radius:2px}
.mnav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--cream);border-top:1px solid var(--line);padding:8px 24px 24px;box-shadow:0 24px 44px rgba(15,13,10,.14);z-index:700;max-height:82vh;overflow-y:auto}
.mnav.open{display:block}
.mnav a{display:block;font-family:'Jost',sans-serif;font-size:16px;color:var(--ink)!important;text-decoration:none!important;padding:13px 2px;border-bottom:1px solid var(--line)}
.mnav a.msub{padding-left:16px;font-size:14px;color:var(--muted)!important}
.mnav a.mapply{background:var(--ink);color:var(--cream)!important;text-align:center;margin-top:16px;border:none;padding:15px;letter-spacing:2px;text-transform:uppercase;font-size:12px;border-bottom:none}
@media(max-width:900px){

.navright .signin{display:none}
}
.lc *{box-sizing:border-box}
.lc .eyebrow-u{display:inline-block;font-size:12px;letter-spacing:3.4px;text-transform:uppercase;color:var(--gold-text);font-weight:500;position:relative;padding-bottom:12px}
.lc .eyebrow-u:after{content:"";position:absolute;left:0;bottom:0;width:46px;height:1px;background:var(--gold)}
.lc .eyebrow-c{display:block;font-size:12px;letter-spacing:3.4px;text-transform:uppercase;color:var(--gold-text);font-weight:500;text-align:center;margin-bottom:20px}
.lc-hero{background:#1E1A15;color:var(--cream);position:relative;overflow:hidden}
.lc-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(58% 70% at 74% 44%,rgba(150,96,46,.38),rgba(30,26,21,0) 68%);pointer-events:none;z-index:1}
.lc-hero-inner{position:relative;z-index:2;max-width:1240px;margin:0 auto;padding:96px 40px 104px;width:100%;display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}
.lc-hero .eyebrow{margin-bottom:20px;display:block}
.lc-hero h1{font-family:'Playfair Display',serif;font-weight:500;font-size:74px;line-height:1.03;letter-spacing:-1px;margin:0;color:var(--cream)}
.lc-hero h1 .at{color:var(--gold-text);font-style:italic}
.lc-hero .lc-lead{font-size:19px;color:rgba(239,234,223,.72);max-width:540px;margin:30px 0 38px;line-height:1.65;font-weight:300}
.lc-meta{list-style:none;padding:0;margin:0 0 42px;display:flex;flex-direction:column;gap:17px}
.lc-meta li{display:flex;align-items:center;gap:14px;font-size:15.5px;color:rgba(239,234,223,.86);font-weight:300}
.lc-meta svg{width:19px;height:19px;stroke:var(--gold);fill:none;stroke-width:1.6;flex:none}
.lc-poster-wrap{max-width:430px;margin:0 auto;width:100%}
.lc-poster{position:relative;width:100%;border-radius:4px;overflow:hidden;box-shadow:0 34px 90px rgba(0,0,0,.55)}
.lc-poster img{width:100%;height:auto;display:block}
.lc-tickets{display:block;text-align:center;margin-top:26px;font-size:12px;letter-spacing:2.6px;text-transform:uppercase;color:var(--gold-text);font-weight:500;border-bottom:1px solid rgba(199,168,103,.4);padding-bottom:5px;width:max-content;margin-left:auto;margin-right:auto;transition:.2s}
.lc .lc-poster-wrap .lc-tickets{display:block;width:100%;box-sizing:border-box;margin:16px 0 0;padding:16px 22px;border-radius:8px;font-size:14px;letter-spacing:2px;font-weight:600;background:rgba(20,17,13,.6);color:var(--gold-text);border:1px solid rgba(199,168,103,.6);box-shadow:0 8px 24px rgba(0,0,0,.4)}
.lc .lc-poster-wrap .lc-tickets:first-of-type,.lc .lc-poster-wrap .lc-tickets:hover{background:var(--gold);color:var(--ink);border-color:var(--gold-text)}
.lc-tickets:hover{color:var(--cream);border-color:var(--cream)}
.lc-sec{padding:112px 0}
.lc-wrap{max-width:1240px;margin:0 auto;padding:0 40px}
.lc-cream{background:var(--cream)}
.lc-cream2{background:var(--cream-2)}
.lc-dark{background:var(--ink-2);color:var(--cream)}
.lc-sec h2{font-family:'Playfair Display',serif;font-weight:500;font-size:52px;line-height:1.08;color:var(--ink);margin:14px 0 0}
.lc-dark h2{color:var(--cream)}
.lc-story{display:grid;grid-template-columns:1.15fr .85fr;gap:78px;align-items:start}
.lc-story h2{margin-bottom:28px}
.lc-story p{font-size:16.5px;line-height:1.75;color:var(--muted);margin:0 0 22px;font-weight:300}
.lc-story p b{color:var(--ink);font-weight:600}
.lc-aside{background:var(--cream);border:1px solid var(--line);padding:42px 40px}
.lc-cream .lc-aside{background:var(--cream-2)}
.lc-aside .eyebrow-u{padding-bottom:10px}
.lc-aside .eyebrow-u:after{width:36px}
.lc-aside p{font-size:15px;line-height:1.72;color:var(--muted);font-weight:300;margin:18px 0 0}
.lc-aside hr{border:0;border-top:1px solid var(--line);margin:34px 0}
.lc-head{text-align:center;max-width:720px;margin:0 auto 66px}
.lc-head p{font-size:17px;line-height:1.7;color:var(--muted);font-weight:300;margin:20px 0 0}
.lc-feats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line)}
.lc-feat{padding:46px 40px;border-right:1px solid var(--line)}
.lc-feat:last-child{border-right:0}
.lc-feat svg{width:26px;height:26px;stroke:var(--gold);fill:none;stroke-width:1.6;margin-bottom:26px}
.lc-feat h3{font-family:'Playfair Display',serif;font-weight:500;font-size:25px;color:var(--ink);margin:0 0 14px}
.lc-feat p{font-size:15px;line-height:1.7;color:var(--muted);font-weight:300;margin:0}
.lc-lineup{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.lc-artist{border:1px solid var(--line);background:var(--cream);padding:30px 24px;text-align:center;font-family:'Playfair Display',serif;font-size:22px;color:var(--ink);font-weight:500;transition:.22s}
.lc-cream .lc-artist{background:var(--cream-2)}
.lc-artist:hover{border-color:var(--gold-text);color:var(--gold-text)}
.lc-more{text-align:center;margin-top:40px;font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--muted);font-weight:500}
.lc-open{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.lc-open .lc-lead{font-size:17px;line-height:1.72;color:rgba(239,234,223,.66);font-weight:300;margin:28px 0 0;max-width:480px}
.lc-open .eyebrow{display:block;margin-bottom:18px}
.lc-openacts{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.lc-oact{border:1px solid rgba(239,234,223,.16);padding:26px 26px}
.lc-oact h4{font-family:'Playfair Display',serif;font-weight:500;font-size:24px;color:var(--gold-text);margin:0 0 8px}
.lc-oact span{font-size:13px;line-height:1.6;color:rgba(239,234,223,.6);font-weight:300}
.lc-final{text-align:center;padding:150px 0}
.lc-final h2{font-family:'Playfair Display',serif;font-weight:500;font-size:66px;line-height:1.06;color:var(--ink);max-width:900px;margin:14px auto 0}
.lc-final p{font-size:17px;line-height:1.7;color:var(--muted);font-weight:300;max-width:620px;margin:26px auto 40px}
.lc-final .lc-btn-dark{display:inline-block;font-size:12px;letter-spacing:2.6px;text-transform:uppercase;background:var(--ink);color:var(--cream);padding:17px 38px;transition:.25s}
.lc-final .lc-btn-dark:hover{background:var(--gold);color:var(--ink)}
@media(max-width:900px){
.lc-hero-inner{grid-template-columns:1fr;gap:52px;padding:72px 26px 80px}
.lc-hero h1{font-size:52px}
.lc-poster-wrap{max-width:360px}
.lc-sec{padding:78px 0}
.lc-wrap{padding:0 26px}
.lc-sec h2,.lc-final h2{font-size:38px}
.lc-story{grid-template-columns:1fr;gap:40px}
.lc-feats{grid-template-columns:1fr}
.lc-feat{border-right:0;border-bottom:1px solid var(--line)}
.lc-feat:last-child{border-bottom:0}
.lc-lineup{grid-template-columns:1fr 1fr;gap:16px}
.lc-open{grid-template-columns:1fr;gap:44px}
.lc-final{padding:96px 0}
}
@media(max-width:560px){
.lc-lineup,.lc-openacts{grid-template-columns:1fr}
}
.authwrap{background:var(--cream)}
.auth-split{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - 86px)}
.auth-img{background-size:cover;background-position:center;position:relative;background-color:#E9E3D7}
.auth-imgtext{position:absolute;left:44px;bottom:40px}
.auth-imgtext .aname{font-family:'Playfair Display',serif;font-weight:500;font-size:30px;letter-spacing:5px;color:var(--cream)}
.auth-imgtext .atag{font-family:'Jost',sans-serif;font-size:11px;letter-spacing:3px;text-transform:uppercase;color:rgba(250,248,245,.85);margin-top:5px}
.auth-form{display:flex;align-items:center;justify-content:center;padding:56px 48px}
.auth-inner{width:100%;max-width:440px}
.akick{font-family:'Jost',sans-serif;color:var(--gold-text);font-size:12px;letter-spacing:3px;text-transform:uppercase;margin-bottom:14px}
.atitle{font-family:'Playfair Display',serif;font-weight:500;font-size:52px;color:var(--ink);margin:0 0 26px;line-height:1}
.auth-alt{font-family:'Jost',sans-serif;color:var(--muted);font-size:14px;margin-top:22px}
.auth-alt a{color:var(--gold-text);text-decoration:none}
.auth-alt a:hover{color:var(--ink)}
.tier-select{margin-bottom:28px}
.tslabel{font-family:'Jost',sans-serif;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.tcard{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:8px;padding:15px 20px;margin-bottom:10px;cursor:pointer;background:#FFF;transition:.18s}
.tcard:hover{border-color:var(--gold-text)}
.tcard:has(input:checked){border-color:var(--ink);background:var(--cream-2)}
.tcname{font-family:'Playfair Display',serif;font-size:20px;color:var(--ink)}
.tcprice{font-family:'Jost',sans-serif;font-size:13px;color:var(--muted);margin-top:2px}
.tradio{width:18px;height:18px;border:1px solid #C3BCAE;border-radius:50%;flex:0 0 auto;position:relative}
.tcard input:checked ~ .tradio{border-color:var(--ink)}
.tcard input:checked ~ .tradio::after{content:"";position:absolute;inset:4px;background:var(--ink);border-radius:50%}
.wppb-default-name-heading,.wppb-default-nickname,.wppb-default-display-name-publicly-as,.wppb-default-contact-info-heading,.wppb-default-website,.wppb-default-about-yourself-heading,.wppb-default-biographical-info,.wppb-send-credentials-checkbox{display:none!important}
@media(max-width:860px){
.auth-split{grid-template-columns:1fr}
.auth-img{min-height:220px}
.atitle{font-size:38px}
.auth-form{padding:44px 26px}
}
.tcard.sel{border-color:var(--ink) !important;background:var(--cream-2) !important}
.tcard.sel .tradio{border-color:var(--ink)}
.tcard.sel .tradio::after{content:"";position:absolute;inset:4px;background:var(--ink);border-radius:50%}
.tcard input[type=radio]{width:17px;height:17px;accent-color:#0F0D0A;cursor:pointer;order:3;flex:0 0 auto;margin:0}
.tcard .tradio{display:none !important}
.tcard:has(input:checked){box-shadow:inset 0 0 0 1px #0F0D0A}
.tier-select{display:none !important}
.nie-err{color:#B4915A;font-size:13px;margin-top:6px}
.dhero{background:var(--ink);color:var(--cream);text-align:center;padding:104px 24px 92px}
.dhero .kick{color:var(--gold-text);font-family:'Jost',sans-serif;font-size:12px;letter-spacing:3px;text-transform:uppercase;margin-bottom:16px}
.dhero h1{font-family:'Playfair Display',serif;font-weight:500;font-size:72px;line-height:1;margin:0 0 16px;color:var(--cream)!important}
.dhero p{font-family:'Jost',sans-serif;color:rgba(250,248,245,.72);font-size:18px;margin:0 auto;max-width:600px}
.dsec{background:var(--cream);padding:60px 24px 96px}
.dwrap{max-width:1180px;margin:0 auto}
.dlabel{font-family:'Jost',sans-serif;font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--gold-text);margin-bottom:26px}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,368px));gap:30px}
.pcard{background:#FFF;border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}
.pcard-img{position:relative;height:220px;background-size:cover;background-position:center;background-color:#E9E3D7}
.pcard-badge{position:absolute;top:14px;left:14px;background:rgba(15,13,10,.72);color:var(--cream);font-family:'Jost',sans-serif;font-size:10px;letter-spacing:2px;text-transform:uppercase;padding:6px 11px;border-radius:3px}
.pcard-body{padding:24px 24px 22px}
.pcard-body h3{font-family:'Playfair Display',serif;font-weight:500;font-size:26px;color:var(--ink);margin:0 0 8px}
.pcity{display:flex;align-items:center;gap:6px;font-family:'Jost',sans-serif;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--gold-text);margin-bottom:14px}
.pcard-body p{font-family:'Jost',sans-serif;font-size:14.5px;line-height:1.55;color:var(--muted);margin:0 0 18px}
.pdiv{height:1px;background:var(--line);margin:0 0 16px}
.plock{display:flex;align-items:center;gap:8px;font-family:'Jost',sans-serif;font-size:13px;color:#6F675A}
.plock svg{opacity:.6}
.dempty{font-family:'Jost',sans-serif;color:var(--muted);font-size:16px;padding:34px;border:1px dashed var(--line);border-radius:12px;text-align:center;background:#FFF}
.catgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(262px,1fr));gap:22px}
.cattile{display:flex;flex-direction:column;background:#FFF;border:1px solid var(--line);border-radius:12px;padding:28px 26px;text-decoration:none!important;transition:.18s;min-height:158px}
.cattile:hover{border-color:var(--gold-text);transform:translateY(-3px);box-shadow:0 18px 40px rgba(15,13,10,.08)}
.cattile-t{font-family:'Playfair Display',serif;font-size:26px;color:var(--ink)!important;margin-bottom:8px}
.cattile-s{font-family:'Jost',sans-serif;font-size:14px;color:var(--muted);flex:1}
.cattile-go{font-family:'Jost',sans-serif;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--gold-text);margin-top:16px}
@media(max-width:760px){
.dhero h1{font-size:46px}
.pgrid{grid-template-columns:1fr}
}
.dempty{padding:64px 34px;text-align:center;border:none!important;background:transparent!important}
.dempty-h{font-family:'Playfair Display',serif;font-weight:500;font-size:30px;color:var(--ink);margin:0 0 12px}
.dempty p{font-family:'Jost',sans-serif;color:var(--muted);font-size:16px;margin:0 0 26px}
.dempty-btn{display:inline-block;background:var(--ink);color:var(--cream)!important;font-family:'Jost',sans-serif;font-size:12px;letter-spacing:2.5px;text-transform:uppercase;padding:15px 34px;text-decoration:none!important;transition:.25s}
.dempty-btn:hover{background:var(--gold);color:var(--ink)!important}
.acctwrap{background:var(--cream);min-height:calc(100vh - 86px);padding:70px 24px 90px}
.acctinner{max-width:680px;margin:0 auto}
.auth-form{display:flex;align-items:center;justify-content:center;padding:56px 48px}
.auth-inner{width:100%;max-width:440px}
.atitle{font-family:'Playfair Display',serif;font-weight:500;font-size:52px;color:var(--ink);margin:0 0 26px;line-height:1}
.auth-formbox .wppb-user-forms,.auth-formbox input[type=text],.auth-formbox input[type=email],.auth-formbox input[type=password]{max-width:none!important}
@media(max-width:860px){
.atitle{font-size:38px}
}
.tier-btn{text-align:center;font-size:12px;letter-spacing:2.5px;text-transform:uppercase;padding:16px;border:1px solid var(--cream);background:var(--ink);color:var(--cream);transition:.25s;cursor:pointer;display:block}
.marquee-track{text-transform:uppercase}
.faq-item{display:block !important;padding:0 !important;align-items:initial !important}
.faq-item summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:26px 4px;list-style:none;transition:.2s}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::marker{content:""}
.faq-item summary:hover{color:var(--gold-text)}
.faq-item .plus{transition:transform .2s;flex:0 0 auto;margin-left:20px}
.faq-item[open] .plus{transform:rotate(45deg)}
.faq-a{font-family:'Jost',sans-serif;color:var(--muted);font-size:15px;line-height:1.65;padding:0 4px 28px;max-width:700px}
/* Keyboard focus. There was none anywhere on the site. :focus-visible so
   a mouse click does not leave a ring behind, which is why these usually
   get deleted in the first place. */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--gold-text);outline-offset:3px;border-radius:2px}
.hero a:focus-visible,.cta a:focus-visible,footer a:focus-visible,.ehero a:focus-visible,.dhero a:focus-visible,.tiers a:focus-visible{outline-color:var(--gold-2)}
/* The dropdown was reachable by mouse only. */
.ddmenu:focus-within{visibility:visible;opacity:1;pointer-events:auto}
/* Respect a system setting rather than animating regardless. */
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Guidance under a free text field. Quiet, but it has to be readable: it is
   the only thing standing between a friendly question and health data landing
   in the database. */
.wifyx-hint{font-size:13px;line-height:1.5;color:var(--muted);margin:6px 0 0;max-width:48ch}

/* ---------------------------------------------------------------------------
   Stream and podcast.

   The player is a still with a button over it until someone presses it, so the
   box has to hold its shape before any iframe exists. Hence the explicit
   height, and hence aspect-ratio on the platforms that have one: a box sized
   differently from what the widget draws is what leaves a band of empty white
   under the player, and no amount of CSS on the iframe fixes it.
   --------------------------------------------------------------------------- */

.wifyx-stream{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:40px 28px}
.wifyx-ep{display:flex;flex-direction:column;min-width:0}
.wifyx-ep--lead{grid-column:1/-1}

.wifyx-ep__media{position:relative;background:var(--ink-2);overflow:hidden}
.wifyx-ep--lead .wifyx-ep__media{max-height:min(70vh,620px)}

.wifyx-ep__play{
	display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;
	width:100%;height:100%;min-height:inherit;
	border:0;cursor:pointer;color:var(--cream);
	background-color:var(--ink-2);background-size:cover;background-position:center;
	font:inherit;padding:24px;
	transition:filter .25s;
}
.wifyx-ep__play:hover{filter:brightness(1.12)}

.wifyx-ep__play-icon{
	width:64px;height:64px;border-radius:50%;
	border:1px solid rgba(250,248,245,.75);
	background:rgba(15,13,10,.42);
	backdrop-filter:blur(2px);
	position:relative;flex:none;
}
.wifyx-ep__play-icon::after{
	content:"";position:absolute;top:50%;left:54%;transform:translate(-50%,-50%);
	border-style:solid;border-width:11px 0 11px 18px;
	border-color:transparent transparent transparent var(--cream);
}

.wifyx-ep__platform{
	font-size:11px;letter-spacing:3px;text-transform:uppercase;
	background:rgba(15,13,10,.55);padding:6px 12px;border-radius:999px;
}

.wifyx-ep__media--locked{
	display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;
	min-height:220px;padding:28px;text-align:center;
	background-size:cover;background-position:center;color:var(--cream);
}
.wifyx-ep__media--locked::before{content:"";position:absolute;inset:0;background:rgba(15,13,10,.72)}
.wifyx-ep__lock,.wifyx-ep__media--locked .wifyx-btn{position:relative}
.wifyx-ep__lock{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--gold-2)}

.wifyx-ep__body{padding:18px 0 0}
.wifyx-ep__title{font-family:'Playfair Display',serif;font-weight:500;font-size:24px;line-height:1.25;margin:0 0 8px}
.wifyx-ep--lead .wifyx-ep__title{font-size:34px}
.wifyx-ep__meta{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin:0 0 10px}
.wifyx-ep__excerpt{font-size:15px;font-weight:300;color:var(--muted);margin:0;max-width:62ch}
.wifyx-stream-empty{color:var(--muted);font-weight:300}

@media(max-width:600px){
	.wifyx-stream{gap:32px 20px}
	.wifyx-ep--lead .wifyx-ep__title{font-size:26px}
	.wifyx-ep__play-icon{width:54px;height:54px}
}

/* ===========================================================================
   Components.

   Written against the tokens the site already had, at the restrained end of the
   scale. Everything here is markup this plugin emits, so none of it collides
   with the hand built pages: a page that has not been converted yet contains
   none of these class names.
   =========================================================================== */

/* --- Buttons and fields ------------------------------------------------- */

.wifyx-btn{
	display:inline-flex;align-items:center;justify-content:center;
	min-height:48px;padding:15px 30px;
	background:var(--ink);color:var(--cream);
	font:500 12px/1 'Jost',sans-serif;letter-spacing:2.5px;text-transform:uppercase;
	border:1px solid var(--ink);cursor:pointer;transition:.25s;
}
.wifyx-btn:hover{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.hero .wifyx-btn,.cta .wifyx-btn,.ehero .wifyx-btn,.dhero .wifyx-btn,
.wifyx-ep__media--locked .wifyx-btn{background:var(--cream);color:var(--ink);border-color:var(--cream)}

.wifyx-link-btn{
	background:none;border:0;padding:0;cursor:pointer;
	font:400 14px/1.4 'Jost',sans-serif;color:var(--muted);
	text-decoration:underline;text-underline-offset:3px;
}
.wifyx-link-btn:hover{color:var(--gold-text)}

.wifyx-field{display:block;margin-bottom:18px}
.wifyx-field span{
	display:block;margin-bottom:6px;
	font:500 11px/1 'Jost',sans-serif;letter-spacing:2px;text-transform:uppercase;color:var(--muted);
}
.wifyx-field input,.wifyx-field textarea,.wifyx-field select{
	width:100%;padding:13px 14px;
	font:300 16px/1.4 'Jost',sans-serif;color:var(--ink);
	background:#fff;border:1px solid var(--line);border-radius:0;
}
.wifyx-field textarea{resize:vertical;min-height:70px}

.wifyx-radio{display:flex;align-items:center;gap:10px;min-height:44px;font:300 15px/1.4 'Jost',sans-serif;cursor:pointer}
.wifyx-rsvp__kinds{border:0;padding:0;margin:0 0 18px}
.wifyx-rsvp__kinds legend{
	padding:0;margin-bottom:8px;
	font:500 11px/1 'Jost',sans-serif;letter-spacing:2px;text-transform:uppercase;color:var(--muted);
}

.wifyx-chip{
	min-height:44px;padding:11px 20px;
	background:transparent;border:1px solid var(--line);cursor:pointer;
	font:500 11px/1 'Jost',sans-serif;letter-spacing:2px;text-transform:uppercase;color:var(--muted);
	transition:.2s;
}
.wifyx-chip:hover{border-color:var(--gold);color:var(--gold-text)}
.wifyx-chip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--cream)}

/* --- The events listing -------------------------------------------------- */

.wifyx-events{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.wifyx-event{
	display:flex;align-items:center;gap:18px;
	border-bottom:1px solid var(--line);
}
.wifyx-event__link{
	flex:1;display:grid;align-items:baseline;gap:4px 26px;
	grid-template-columns:120px minmax(0,1fr) auto;
	padding:22px 0;min-width:0;transition:.2s;
}
.wifyx-event__link:hover .wifyx-event__title{color:var(--gold-text)}
.wifyx-event__date{
	font:500 12px/1.4 'Jost',sans-serif;letter-spacing:2px;text-transform:uppercase;color:var(--muted);
}
.wifyx-event__title{
	font-family:'Playfair Display',serif;font-size:23px;font-weight:500;line-height:1.2;
	transition:color .2s;min-width:0;
}
.wifyx-event__place{
	grid-column:2;font:300 14px/1.4 'Jost',sans-serif;color:var(--muted);
}
.wifyx-event__time{
	grid-row:1;grid-column:3;
	font:400 14px/1.4 'Jost',sans-serif;color:var(--muted);
}
.wifyx-event__flag{
	flex:none;padding:5px 11px;
	font:500 10px/1 'Jost',sans-serif;letter-spacing:1.5px;text-transform:uppercase;
	border:1px solid var(--line);color:var(--muted);
}
.wifyx-event__flag--tier{border-color:var(--gold);color:var(--gold-text)}
.wifyx-event--cancelled .wifyx-event__title,
.wifyx-event--postponed .wifyx-event__title{text-decoration:line-through;color:var(--muted)}
.wifyx-events-empty,.wifyx-dir-empty,.wifyx-bookings-empty{color:var(--muted);font-weight:300;margin:0}

.hero .wifyx-events,.cta .wifyx-events,.ehero .wifyx-events,.dhero .wifyx-events,
.tiers .wifyx-events,.ready .wifyx-events,footer .wifyx-events{border-color:rgba(239,234,223,.2)}
.hero .wifyx-event,.cta .wifyx-event,.ehero .wifyx-event,.dhero .wifyx-event,
.tiers .wifyx-event,.ready .wifyx-event,footer .wifyx-event{border-color:rgba(239,234,223,.2)}
.hero .wifyx-event__date,.cta .wifyx-event__date,.ehero .wifyx-event__date,.dhero .wifyx-event__date,
.hero .wifyx-event__place,.ehero .wifyx-event__place,.dhero .wifyx-event__place,
.hero .wifyx-event__time,.ehero .wifyx-event__time,.dhero .wifyx-event__time{color:var(--muted-light)}

@media(max-width:700px){
	.wifyx-event__link{grid-template-columns:1fr auto;gap:3px 16px}
	.wifyx-event__date{grid-column:1}
	.wifyx-event__title{grid-column:1/-1;font-size:20px}
	.wifyx-event__place{grid-column:1/-1}
	.wifyx-event__time{grid-row:1;grid-column:2}
}

/* --- RSVP ---------------------------------------------------------------- */

.wifyx-rsvp{margin:28px 0;max-width:460px}
.wifyx-rsvp--gate{padding:26px;border:1px solid var(--line);background:var(--cream-2)}
.wifyx-rsvp__line{font:400 17px/1.5 'Jost',sans-serif;margin:0 0 16px}
.wifyx-rsvp__note{font:300 13px/1.5 'Jost',sans-serif;color:var(--muted);margin:14px 0 0}
.wifyx-rsvp__night{
	font:500 11px/1 'Jost',sans-serif;letter-spacing:2.5px;text-transform:uppercase;
	color:var(--gold-text);margin:0 0 18px;
}
.wifyx-rsvp__left{font:400 13px/1.4 'Jost',sans-serif;color:var(--muted);margin:0 0 16px}
.wifyx-rsvp--closed{color:var(--muted);font-weight:300}
.wifyx-rsvp--done{padding:26px;border:1px solid var(--gold);background:var(--cream-2)}
.wifyx-rsvp__state{font:300 14px/1.5 'Jost',sans-serif;color:var(--muted);margin:0 0 14px}
.wifyx-rsvp__cancel{margin:0}

.wifyx-notice{padding:15px 18px;margin:0 0 22px;font:400 15px/1.5 'Jost',sans-serif;border-left:3px solid}
.wifyx-notice--ok{background:var(--cream-2);border-color:var(--gold)}
.wifyx-notice--error{background:#fbf0ef;border-color:#9b2c2c;color:#6d2020}

/* --- Directory ----------------------------------------------------------- */

.wifyx-dir-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 34px}
.wifyx-dir{list-style:none;margin:0;padding:0;display:grid;gap:34px 26px;
	grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.wifyx-dir__card{display:flex;flex-direction:column;min-width:0}
.wifyx-dir__link{display:block;min-width:0}
.wifyx-dir__link:hover .wifyx-dir__name{color:var(--gold-text)}
.wifyx-dir__img{width:100%;height:auto;aspect-ratio:4 / 3;object-fit:cover;display:block;margin-bottom:16px}
.wifyx-dir__cat{
	display:inline-block;margin-bottom:8px;
	font:500 10px/1 'Jost',sans-serif;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold-text);
}
.wifyx-dir__name{font-family:'Playfair Display',serif;font-size:22px;font-weight:500;line-height:1.25;margin:0 0 5px;transition:color .2s}
.wifyx-dir__place{font:300 13px/1.4 'Jost',sans-serif;color:var(--muted);margin:0 0 9px}
.wifyx-dir__privilege{font:300 15px/1.6 'Jost',sans-serif;color:var(--muted);margin:0}
.wifyx-dir__lock{
	margin:12px 0 0;padding-top:12px;border-top:1px solid var(--line);
	font:500 10px/1 'Jost',sans-serif;letter-spacing:2px;text-transform:uppercase;color:var(--gold-text);
}

.wifyx-enquiry{max-width:460px;margin:34px 0}
.wifyx-enquiry--gate{padding:26px;border:1px solid var(--line);background:var(--cream-2)}
.wifyx-enquiry--gate p{margin:0 0 16px;font:400 17px/1.5 'Jost',sans-serif}
.wifyx-enquiry__lead{font:300 16px/1.6 'Jost',sans-serif;color:var(--muted);margin:0 0 22px}

/* --- The member pass ----------------------------------------------------- */

.wifyx-pass{
	max-width:330px;padding:32px 28px 26px;text-align:center;
	background:var(--ink);color:var(--cream);
	border:1px solid var(--gold);
}
.wifyx-pass__brand{font:500 11px/1 'Jost',sans-serif;letter-spacing:6px;color:var(--gold-2);margin-bottom:24px}
.wifyx-pass__code{
	background:var(--cream);padding:14px;margin:0 auto 22px;
	width:min(100%,232px);min-height:232px;
	display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;
}
.wifyx-pass__code svg{width:100%;height:auto;display:block}
.wifyx-pass__fallback{
	font:500 15px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;
	color:var(--ink);word-break:break-all;margin:0;
}
.wifyx-pass__fallback-link{font:400 13px/1.4 'Jost',sans-serif;color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.wifyx-pass__name{font-family:'Playfair Display',serif;font-size:21px;font-weight:500;margin-bottom:7px}
.wifyx-pass__tier{
	display:inline-block;padding:5px 14px;border:1px solid rgba(250,248,245,.4);border-radius:999px;
	font:500 10px/1 'Jost',sans-serif;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold-2);
}
.wifyx-pass__note{font:300 12px/1.6 'Jost',sans-serif;color:var(--muted-light);margin:18px 0 0}
.wifyx-pass--none{color:var(--muted);font-weight:300}

/* --- The member dashboard ------------------------------------------------ */

.wifyx-dash{max-width:720px}
.wifyx-dash__head{margin-bottom:30px}
.wifyx-dash__name{font-size:clamp(34px,7vw,52px);font-weight:500;line-height:1;margin:10px 0 0}
.wifyx-dash__tier{
	display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;
	padding:18px 0;margin-bottom:34px;
	border-top:1px solid var(--line);border-bottom:1px solid var(--line);
}
.wifyx-dash__tier-name{font:500 12px/1 'Jost',sans-serif;letter-spacing:3px;text-transform:uppercase;color:var(--gold-text)}
.wifyx-dash__renews{font:300 14px/1.4 'Jost',sans-serif;color:var(--muted);margin-right:auto}
.wifyx-dash__h2{font-family:'Playfair Display',serif;font-size:24px;font-weight:500;margin:0 0 16px}
.wifyx-dash__pass,.wifyx-dash__bookings{margin-bottom:40px}
.wifyx-dash__lapsed{padding:26px;border:1px solid var(--line);background:var(--cream-2)}
.wifyx-dash__lapsed p{margin:0 0 16px;font:400 17px/1.5 'Jost',sans-serif}
.wifyx-dash--out{padding:26px;border:1px solid var(--line);background:var(--cream-2);max-width:420px}
.wifyx-dash--out p{margin:0 0 16px}
.wifyx-dash__links{display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}
.wifyx-dash__link{display:block;padding:19px 20px;background:var(--cream);transition:.2s}
.wifyx-dash__link:hover{background:var(--cream-2)}
.wifyx-dash__link-title{display:block;font:500 15px/1.3 'Jost',sans-serif;margin-bottom:3px}
.wifyx-dash__link-note{display:block;font:300 13px/1.4 'Jost',sans-serif;color:var(--muted)}

.wifyx-bookings{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.wifyx-booking{
	display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 16px;
	padding:17px 0;border-bottom:1px solid var(--line);
}
.wifyx-booking__link{flex:1;min-width:200px}
.wifyx-booking__link:hover .wifyx-booking__title{color:var(--gold-text)}
.wifyx-booking__date{
	display:block;font:500 11px/1.4 'Jost',sans-serif;letter-spacing:2px;text-transform:uppercase;
	color:var(--muted);margin-bottom:3px;
}
.wifyx-booking__title{font-family:'Playfair Display',serif;font-size:19px;font-weight:500;transition:color .2s}
.wifyx-booking__meta{font:300 13px/1.4 'Jost',sans-serif;color:var(--muted)}
.wifyx-booking__status{
	font:500 10px/1 'Jost',sans-serif;letter-spacing:1.5px;text-transform:uppercase;
	padding:5px 11px;border:1px solid var(--line);color:var(--muted);
}
.wifyx-booking--confirmed .wifyx-booking__status{border-color:var(--gold);color:var(--gold-text)}
.wifyx-booking--cancelled .wifyx-booking__title{text-decoration:line-through;color:var(--muted)}

/* ---------------------------------------------------------------------------
   Single pages for events, partners and episodes.
   --------------------------------------------------------------------------- */

.wifyx-skip{
	position:absolute;left:-9999px;top:0;z-index:100;
	padding:14px 20px;background:var(--ink);color:var(--cream);
	font:500 13px/1 'Jost',sans-serif;letter-spacing:2px;text-transform:uppercase;
}
.wifyx-skip:focus{left:0}

.wifyx-single__inner{padding:60px 40px 90px}
.wifyx-single__head{max-width:860px;margin-bottom:34px}
.wifyx-single__title{font-size:clamp(34px,6vw,62px);font-weight:500;line-height:1.05;margin:12px 0 14px}
.wifyx-single__when{font:300 17px/1.5 'Jost',sans-serif;color:var(--muted);margin:0}
.wifyx-single__when--past{font-style:italic}
.wifyx-single__flag{
	display:inline-block;margin:16px 0 0;padding:7px 14px;
	border:1px solid #9b2c2c;color:#9b2c2c;
	font:500 11px/1 'Jost',sans-serif;letter-spacing:2px;text-transform:uppercase;
}

.wifyx-single__poster{margin:0 0 44px}
.wifyx-single__poster img{width:100%;height:auto;display:block;max-height:min(66vh,580px);object-fit:cover}
.wifyx-single__player{margin-bottom:44px;background:var(--ink-2);position:relative;overflow:hidden}
.wifyx-single__player .wifyx-ep__media--locked{position:absolute;inset:0}

.wifyx-single__grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:60px;align-items:start}
.wifyx-single__body{max-width:68ch;font:300 17px/1.75 'Jost',sans-serif;color:#2a2620}
.wifyx-single__body--wide{max-width:72ch;margin:0 auto}
.wifyx-single__body p{margin:0 0 18px}
.wifyx-single__body h2{font-family:'Playfair Display',serif;font-size:28px;font-weight:500;line-height:1.2;margin:38px 0 14px}
.wifyx-single__privilege{
	font:400 20px/1.6 'Jost',sans-serif;color:var(--ink);
	border-left:2px solid var(--gold);padding-left:20px;margin:0 0 26px;
}
.wifyx-single__section{margin-top:44px}
.wifyx-single__aside{position:sticky;top:110px}

.wifyx-lineup{list-style:none;margin:0;padding:0;columns:2;column-gap:30px}
.wifyx-lineup li{
	break-inside:avoid;padding:9px 0;border-bottom:1px solid var(--line);
	font:400 16px/1.4 'Jost',sans-serif;
}

.wifyx-facts{margin:30px 0 0;padding-top:22px;border-top:1px solid var(--line)}
.wifyx-facts dt{
	font:500 10px/1 'Jost',sans-serif;letter-spacing:2.5px;text-transform:uppercase;
	color:var(--muted);margin-bottom:5px;
}
.wifyx-facts dd{margin:0 0 16px;font:300 16px/1.5 'Jost',sans-serif}

@media(max-width:960px){
	.wifyx-single__grid{grid-template-columns:1fr;gap:44px}
	.wifyx-single__aside{position:static}
}
@media(max-width:600px){
	.wifyx-single__inner{padding:40px 20px 64px}
	.wifyx-lineup{columns:1}
}

/* Consent at signup. Deliberately plain and deliberately not small: this is the
   text a refund argument turns on, so it is at reading size, not at the size
   terms text usually gets. */
.wifyx-consent{margin:26px 0;padding:20px;border:1px solid var(--line);background:var(--cream-2)}
.wifyx-consent__row{display:flex;gap:12px;align-items:flex-start;margin-bottom:16px;cursor:pointer}
.wifyx-consent__row:last-of-type{margin-bottom:0}
.wifyx-consent__row input{flex:none;width:20px;height:20px;margin-top:2px}
.wifyx-consent__row span{font:300 15px/1.55 'Jost',sans-serif;color:#2a2620}
.wifyx-consent__row a{text-decoration:underline;text-underline-offset:3px}
.wifyx-consent__note{font:300 13px/1.6 'Jost',sans-serif;color:var(--muted);margin:14px 0 0;padding-left:32px}

/* The hidden attribute carries display:none, but a rule that sets display on
   the same element beats it, so a filtered out card stayed on screen while
   telling a screen reader it was gone. Both states are now explicit. */
.wifyx-dir__card[hidden],.wifyx-dir__card.is-hidden,
[data-wifyx-empty][hidden],[data-wifyx-empty].is-hidden{display:none !important}

/* The directory dropdown was reachable by mouse only. :focus-within on the
   PANEL cannot help, because nothing inside the panel can be focused until the
   panel is already visible. The wrapper holds the trigger link, which is
   focusable, so that is where it has to go. */
.ddwrap:focus-within .ddmenu{visibility:visible;opacity:1;pointer-events:auto}

/* ---------------------------------------------------------------------------
   Merchandise.

   Built to look finished with nothing in it, because that is how it ships: the
   client is sending photographs and prices later. A product with no photograph
   says so in type rather than showing a grey rectangle, which reads as a
   broken image rather than as a thing not yet shot.
   --------------------------------------------------------------------------- */

.wifyx-merch{list-style:none;margin:0;padding:0;display:grid;gap:44px 28px;
	grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.wifyx-merch__item{min-width:0}
.wifyx-merch__link{display:block;min-width:0}
.wifyx-merch__img{width:100%;height:auto;aspect-ratio:4 / 5;object-fit:cover;display:block;
	margin-bottom:16px;background:var(--cream-2)}
.wifyx-merch__nophoto{
	display:flex;align-items:center;justify-content:center;
	aspect-ratio:4 / 5;margin-bottom:16px;
	border:1px solid var(--line);background:var(--cream-2);color:var(--muted);
	font:500 10px/1 'Jost',sans-serif;letter-spacing:2.5px;text-transform:uppercase;text-align:center;padding:16px;
}
.wifyx-merch__name{font-family:'Playfair Display',serif;font-size:20px;font-weight:500;
	line-height:1.3;margin:0 0 6px;transition:color .2s}
.wifyx-merch__link:hover .wifyx-merch__name{color:var(--gold-text)}
.wifyx-merch__price{font:400 15px/1.4 'Jost',sans-serif;color:var(--muted);margin:0}
.wifyx-merch__price del{opacity:.6;margin-right:6px}
.wifyx-merch__price ins{text-decoration:none;color:var(--gold-text)}
.wifyx-merch__stock{font:500 10px/1 'Jost',sans-serif;letter-spacing:2px;text-transform:uppercase;
	color:var(--muted);margin:8px 0 0}
.wifyx-merch-empty{color:var(--muted);font-weight:300;font-size:17px;margin:0;max-width:48ch}

@media(max-width:600px){
	.wifyx-merch{gap:34px 18px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
	.wifyx-merch__name{font-size:17px}
}


/* ---------------------------------------------------------------------------
   The mobile menu button, last on purpose.

   The base rule .mnav-btn{display:none} sits in the middle of this file. An
   earlier @media block saying display:flex has the same specificity, so the
   base rule wins and the button never appears at any width. That is what
   happened when the 60 pixel gap between 901 and 960 was closed by moving the
   rule into the first 960 block that came to hand: it landed above the base
   rule instead of below it, and the hamburger vanished from every phone.

   Order is the whole fix. Nothing here needs !important.
   --------------------------------------------------------------------------- */
@media(max-width:960px){
	.mnav-btn{display:flex}
}

/* ---------------------------------------------------------------------------
   The account forms: login, register, edit profile, password reset.

   Profile Builder wraps some fields with the label around the input and some
   with the label beside it, so the password box sat indented by the width of
   its own label while the username box filled the column. Nothing in the old
   page stylesheets covered this and nothing in the Customizer reached it
   either, because those rules are scoped to .wppb-user-forms and this form is
   not inside one. It has looked like this all along.

   Scoped to the auth column so it cannot touch a form anywhere else.
   --------------------------------------------------------------------------- */

.auth-inner label{display:block;width:auto}

.auth-inner input[type=text],
.auth-inner input[type=email],
.auth-inner input[type=password],
.auth-inner input[type=tel],
.auth-inner input[type=url],
.auth-inner input[type=number],
.auth-inner select,
.auth-inner textarea{
	display:block;width:100%;box-sizing:border-box;
	padding:13px 14px;margin-top:6px;
	font:300 16px/1.4 'Jost',sans-serif;color:var(--ink);
	background:#fff;border:1px solid var(--line);border-radius:0;
}
.auth-inner input:focus,.auth-inner select:focus,.auth-inner textarea:focus{
	border-color:var(--gold);outline:2px solid var(--gold-text);outline-offset:2px;
}

/* a checkbox is not a text field and must not be stretched across the column */
.auth-inner input[type=checkbox],
.auth-inner input[type=radio]{display:inline-block;width:auto;margin:0 8px 0 0}
.auth-inner .login-remember label,
.auth-inner label:has(input[type=checkbox]){display:flex;align-items:center;gap:8px;min-height:44px}

/* Profile Builder wraps the password field, and only the password field, in
   <span class="wppb-password-field-container">. A span is inline, so it has no
   width of its own, so width:100% on the input inside resolves against a box
   that has already shrunk to fit. That is the whole reason the password box
   was narrower than the one above it and started further along the line.
   The container has to become a block before the input can fill it. */
.auth-inner .wppb-password-field-container,
.auth-inner .wppb-form-field > span:not(.wppb-required){display:block;width:100%}

/* ---------------------------------------------------------------------------
   The events calendar on a phone.

   repeat(7,1fr) reads as seven equal columns and is not. 1fr means
   minmax(auto,1fr), and auto as a minimum means "never narrower than the
   content", so one long event title drags its column out and the other six
   collapse. Measured at 375px: 127, 161, 25, 25, 25, 167, 25, inside a box
   327 wide. minmax(0,1fr) is what actually divides the row evenly, and the
   chips then have to be allowed to clip rather than push.
   --------------------------------------------------------------------------- */
.calgrid{grid-template-columns:repeat(7,minmax(0,1fr))}
.calgrid > *{min-width:0}
.evt{min-width:0;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
