/* The membership page: an editorial quotation, a diagonal cut, four quiet cards. */
body:has(.circle-page){padding-top:0;background:#050505}
.circle-notices{position:fixed;inset:0 0 auto;z-index:51}
.circle-header{top:var(--notice-height)}
.circle-header::before{top:0}
.circle-header .menu-drawer{inset-block-start:var(--header-height)}
.circle-header:not(.menu-open):not(.menu-transition){background:transparent!important;box-shadow:none!important;color:#fff!important;mix-blend-mode:difference}
.circle-header:not(.menu-open):not(.menu-transition)::before{background:transparent!important;backdrop-filter:none!important;box-shadow:none!important}
.circle-header:not(.menu-open):not(.menu-transition) .logo-dark{display:none!important}
.circle-header:not(.menu-open):not(.menu-transition) .logo-light{opacity:1!important}
.circle-header:not(.menu-open):not(.menu-transition) .header-date-wordmark{filter:brightness(0) invert(1)}
.circle-header.circle-tones{mix-blend-mode:normal!important}
.circle-header.circle-tones [data-circle-tone=light]{color:#050505}
.circle-header.circle-tones .header-date[data-circle-tone=light]{border-color:#0004}
.circle-header.circle-tones .logo-dark{display:none!important}
.circle-header.circle-tones .festival-logo .logo-light{display:block!important;opacity:1!important;filter:none!important;transition:none!important}
.circle-header.circle-tones .header-date-wordmark{filter:brightness(0) invert(1)!important;transition:none!important}
.circle-header.circle-tones .header-contrast-ink{position:absolute;inset:0;display:block!important;width:100%;height:100%;opacity:1!important;filter:brightness(0)!important;pointer-events:none;transition:none!important}
.circle-page{--circle-paper:#fff;--circle-accent:#c9bda7;isolation:isolate;background:#050505;color:#f3f0ea;padding-top:var(--notice-height);padding-bottom:80px}
.circle-page h1,.circle-page h2,.circle-page h3,.circle-page p,.circle-page figure,.circle-page blockquote{margin:0}
.circle-page a:focus-visible,.circle-page summary:focus-visible,.circle-cards:focus-visible{outline:2px solid var(--circle-accent);outline-offset:6px}
.circle-quote-section{--circle-cut:min(15.5vw,280px);position:relative;background:var(--circle-paper);color:#050505;min-height:94svh;padding:clamp(220px,17.4vw,310px) 56px 125px;clip-path:polygon(0 0,34% 0,100% var(--circle-cut),100% calc(100% - 4.3vw),0 100%)}
.circle-quote{position:relative;max-width:1158px;margin:auto!important;padding-inline-start:150px}
.circle-quote-mark{position:absolute;inset-inline-start:0;top:-65px;font:260px/1 Georgia,'Times New Roman',serif;color:#aaa;user-select:none}
.circle-quote blockquote p{font:400 clamp(28px,2.5vw,42px)/1.27 'Times New Roman',Georgia,serif;letter-spacing:-.025em;color:#050505;text-wrap:pretty}
.circle-quote figcaption{display:flex;flex-direction:column;align-items:flex-start;gap:3px;margin-top:40px}
.circle-signature{font:500 20px/1.35 Arial,Helvetica,sans-serif;color:#414141}
.circle-role{font:400 17px/1.4 Arial,Helvetica,sans-serif;color:#666}
.circle-quote-section .source-notice{max-width:1180px;margin:0 auto 38px;background:transparent;color:#050505}
/* The open membership layout follows the supplied four white cards. */
.circle-membership{padding:92px 0 0}
.circle-intro{max-width:1110px;margin:auto;padding:0 28px;text-align:center}
.circle-intro h2{font:400 clamp(34px,3vw,50px)/1.17 'Times New Roman',Georgia,serif;letter-spacing:-.025em;text-wrap:balance}
.circle-intro>p{font-size:clamp(18px,1.4vw,24px);line-height:1.55;color:#c3c3c3;margin-top:24px;text-wrap:pretty}
.circle-deck{isolation:isolate;contain:paint;overflow:clip;padding-block:42px 22px;margin-top:20px}
.circle-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;width:min(1534px,calc(100% - 112px));margin:0 auto;scroll-margin-top:calc(var(--festival-header-stack) + 45px)}
.circle-card{min-width:0;position:relative}
.circle-card-turn{height:100%;position:relative}
.circle-card-front{position:relative;display:flex;flex-direction:column;min-height:477px;height:100%;padding:43px 30px 26px;background:#fff;color:#050505;border:1px solid #dedede;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.circle-card h3{font:400 clamp(30px,2.85vw,49px)/1.1 'Times New Roman',Georgia,serif;letter-spacing:-.035em;overflow-wrap:anywhere}
.circle-price{margin-top:28px!important;color:#050505;display:flex;align-items:baseline;flex-wrap:wrap;gap:10px}
.circle-from{font-size:20px;color:#111}
.circle-price strong{font:400 clamp(30px,2.5vw,43px)/1.15 Arial,Helvetica,sans-serif;letter-spacing:-.035em;font-variant-numeric:lining-nums;white-space:nowrap}
.circle-period{margin-top:8px!important;font-size:18px;line-height:1.4;color:#222}
.circle-benefit{margin-top:44px;padding-bottom:32px}
.circle-benefit p{font-size:18px;line-height:1.62;color:#222;overflow-wrap:anywhere}
.circle-card-action{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:48px;margin-top:auto;font-size:18px;line-height:1.4;color:#050505}
.circle-card-action>span{font-size:32px;font-weight:300;flex:none}
.circle-card-action:hover{text-decoration:underline;text-underline-offset:5px}
.circle-link>span,.circle-button>span{font-size:19px;font-weight:300;flex:none}
.circle-card-back{position:absolute;inset:0;display:none;flex-direction:column;align-items:center;justify-content:center;gap:40px;overflow:hidden;background:#111;color:#fff;border:1px solid #ffffff70;transform:rotateY(180deg);backface-visibility:hidden;-webkit-backface-visibility:hidden;pointer-events:none}
.circle-card-back::before,.circle-card-back::after{content:'';position:absolute;inset:18px;border:1px solid #ffffff25;pointer-events:none}
.circle-card-back::after{inset:35% -50%;transform:rotate(-28deg);border-inline:0}
.circle-card-back img{width:58%;height:auto;position:relative;z-index:1}
.circle-card-back>span{position:relative;z-index:1;font:400 27px/1.1 'Times New Roman',Georgia,serif}
/* Dark brushed metal, with a restrained reflection behind the white wordmark. */
.circle-page .circle-card-back{background-color:#181a1b;background-image:linear-gradient(128deg,#ffffff0b,transparent 34%,#ffffff06 49%,transparent 67%,#00000018),repeating-linear-gradient(0deg,#ffffff03 0,#ffffff03 .5px,#00000003 .5px,#00000003 2px),linear-gradient(145deg,#25282a,#101213);border-color:#90979940;box-shadow:inset 0 1px #ffffff13,inset 0 -1px #0008;gap:0}
.circle-page .circle-card-back::before,.circle-page .circle-card-back::after{content:none}
.circle-page .circle-card-back img{width:32%;max-width:110px;opacity:1;filter:brightness(0) invert(1)}
.circle-page .circle-card-back>.circle-card-sheen{position:absolute;inset:-40%;z-index:0;display:block;pointer-events:none;background:linear-gradient(112deg,transparent 34%,#ffffff03 43%,#ffffff12 50%,#ffffff03 57%,transparent 66%);transform:translate3d(-28%,0,0);opacity:.28}
.circle-cards[data-deck-state]:not([data-deck-state=open]){perspective:1700px}
.circle-cards[data-deck-state]:not([data-deck-state=open]) .circle-card{will-change:transform;transform-style:preserve-3d}
.circle-cards[data-deck-state]:not([data-deck-state=open]) .circle-card-back{display:flex}
.circle-cards[data-deck-state]:not([data-deck-state=open]) .circle-card-turn{will-change:transform;transform-style:preserve-3d;transform:rotateY(180deg)}
.circle-cards[data-deck-state]:not([data-deck-state=open]) .circle-card-front{pointer-events:none}
.circle-join,.circle-alternatives,.circle-information{width:min(1180px,calc(100% - 112px));margin:auto}
.circle-join{max-width:960px;padding:85px 0 80px;text-align:center;scroll-margin-top:calc(var(--festival-header-stack) + 30px)}
.circle-join h2,.circle-information>h2{font:400 clamp(30px,3.1vw,44px)/1.2 Arial,Helvetica,sans-serif;letter-spacing:-.035em;text-wrap:balance}
.circle-join p,.circle-alternatives p,.circle-faq p{font-size:15px;line-height:1.9;color:#aaa7a0}
.circle-join>p{font-size:18px;line-height:1.8;text-wrap:pretty;overflow-wrap:anywhere}.circle-join>p a{color:inherit;text-decoration:underline;text-underline-offset:4px}
.circle-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:20px 30px;margin-top:30px}
.circle-button{display:inline-flex;align-items:center;justify-content:center;min-width:220px;max-width:100%;padding:16px 32px;min-height:54px;background:#f3f0e9;color:#211f1a;border-radius:999px;font-size:15px;font-weight:700;line-height:1.4;text-align:center;transition:background 180ms ease}
.circle-button:hover{background:#fff}.circle-link{display:inline-flex;align-items:center;gap:22px;min-height:44px;color:#d9d1c2;font-size:13px}
.circle-link:hover{text-decoration:underline;text-underline-offset:5px}
.circle-alternatives p a,.circle-faq p a{color:#d9d1c2;text-decoration:underline;text-underline-offset:4px}
.circle-alternatives{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr auto;gap:20px 75px;padding:65px 0 80px;border-top:1px solid #ffffff24;text-align:center}
.circle-alternatives>article{display:grid;grid-template-rows:subgrid;grid-row:span 3;justify-items:center;min-width:0}
.circle-alternatives h2{font:400 25px/1.3 Arial,Helvetica,sans-serif;letter-spacing:-.025em;margin-bottom:0;text-wrap:balance}
.circle-more{align-self:end;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.circle-small-lead{color:#e1dbd0!important;margin-bottom:12px!important}.circle-alternatives .circle-link{margin-top:15px}
.circle-information{border-top:1px solid #ffffff24;padding-top:65px}.circle-information>h2{margin-bottom:35px}
.circle-faq details{border-bottom:1px solid #ffffff24}.circle-faq summary{display:flex;justify-content:space-between;align-items:center;gap:25px;list-style:none;padding:22px 0;cursor:pointer;font-size:16px;line-height:1.5}.circle-faq summary::-webkit-details-marker{display:none}.circle-faq summary>span{font-size:24px;color:#b8ab96;font-weight:300}.circle-faq details[open] summary>span{transform:rotate(45deg)}.circle-faq details>div{max-width:800px;padding:0 0 24px}.circle-faq .circle-link{margin-top:10px}
.circle-contact{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:30px;padding-top:45px}.circle-contact h3{font-size:18px;margin-bottom:14px}.circle-contact p,.circle-contact a{color:#aaa7a0;font-size:13px;line-height:1.8}.circle-contact>div>a{display:block;margin-top:6px;overflow-wrap:anywhere}
@media(min-width:761px) and (max-width:1100px){.circle-join,.circle-alternatives,.circle-information{width:calc(100% - 64px)}.circle-quote{padding-inline-start:85px}.circle-quote-mark{font-size:185px;top:-43px}.circle-join,.circle-alternatives{gap:40px}}
@media(max-width:760px){.circle-page{padding-bottom:35px}.circle-quote-section{--circle-cut:125px;min-height:0;padding:195px 25px 100px;clip-path:polygon(0 0,53% 0,100% var(--circle-cut),100% calc(100% - 30px),0 100%)}.circle-quote{padding-inline-start:0;padding-top:45px}.circle-quote-mark{font-size:135px;top:-33px;inset-inline-start:-5px}.circle-quote blockquote p{font-size:28px;line-height:1.32;letter-spacing:-.025em}.circle-quote figcaption{gap:4px;margin-top:28px}.circle-signature{font-size:16px}.circle-role{font-size:14px}.circle-membership{padding-top:55px}.circle-join,.circle-alternatives,.circle-information{width:calc(100% - 50px)}.circle-join{grid-template-columns:1fr;gap:23px;padding:65px 0 55px}.circle-join h2,.circle-information>h2{font-size:31px}.circle-alternatives{grid-template-columns:1fr;gap:45px;padding:45px 0 55px}.circle-alternatives h2{font-size:25px}.circle-information{padding-top:45px}.circle-faq summary{font-size:15px}.circle-contact{align-items:flex-start}.circle-contact>div{min-width:0}}
@media(min-width:761px) and (max-width:1250px){.circle-cards{width:calc(100% - 64px);gap:14px}.circle-card-front{padding:30px 20px 22px;min-height:450px}.circle-card h3{font-size:clamp(25px,3vw,36px)}.circle-price{gap:6px}.circle-from{font-size:15px}.circle-price strong{font-size:clamp(25px,3vw,35px)}.circle-period{font-size:14px}.circle-benefit{margin-top:30px}.circle-benefit p{font-size:15px;line-height:1.65}.circle-card-action{font-size:15px}}
@media(max-width:760px){.circle-intro{padding-inline:25px}.circle-intro h2{font-size:34px}.circle-intro>p{font-size:17px;margin-top:22px}.circle-deck{margin-top:12px;padding-block:35px 15px}.circle-cards{display:flex;align-items:stretch;gap:14px;width:100%;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:25px;padding:5px 25px 15px;scrollbar-width:thin;scrollbar-color:#999 #171717}.circle-card{flex:0 0 min(82vw,340px);scroll-snap-align:start;scroll-snap-stop:always}.circle-card-front{padding:33px 26px 25px;min-height:465px}.circle-card h3{font-size:40px}.circle-from{font-size:17px}.circle-price strong{font-size:37px}.circle-period{font-size:16px}.circle-benefit{margin-top:35px}.circle-benefit p{font-size:16px;line-height:1.65}.circle-card-action{font-size:16px}.circle-cards[data-deck-state]:not([data-deck-state=open]){overflow:visible;scroll-snap-type:none}}
@media(prefers-reduced-motion:reduce){.circle-cards{scroll-behavior:auto}.circle-cards[data-deck-state] .circle-card,.circle-cards[data-deck-state] .circle-card-turn{transform:none!important}.circle-cards[data-deck-state] .circle-card-front{pointer-events:auto}}
@media(forced-colors:active){.circle-card-front{background:Canvas;color:CanvasText;border-color:CanvasText}.circle-card-front p,.circle-card-front a,.circle-card-front strong,.circle-from{color:CanvasText}}
@media(forced-colors:active){.circle-quote-section{background:Canvas;color:CanvasText}.circle-quote blockquote p,.circle-role{color:CanvasText}.circle-card{border-color:CanvasText}}
@media(max-width:760px){.circle-alternatives{grid-template-rows:none}.circle-alternatives>article{grid-row:auto;grid-template-rows:auto 1fr auto;gap:20px}.circle-button{min-width:210px}}
@media(prefers-reduced-motion:reduce){.circle-button{transition:none}}
