:root{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Inter,Roboto,'Helvetica Neue',Arial,sans-serif;color:#f4f4f5;background:#131313;font-size:16px;font-synthesis:none;color-scheme:dark;--muted:#919193;--line:#ffffff13;--panel:#ffffff08;--blue:#0073bb}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(ellipse 75% 160px at 50% 0,#152b36aa,transparent)}body.is-home{background:#131313}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{color:inherit;border:0;background:none}input,select,textarea{background:#ffffff08;color:inherit;border:1px solid #ffffff25;border-radius:9px;padding:12px;max-width:100%;outline:none}input:focus,select:focus,textarea:focus{border-color:#9a9a9a;box-shadow:0 0 0 2px #ffffff15}select option{background:#242424}a:focus-visible,button:focus-visible{outline:2px solid #7caeff;outline-offset:4px;border-radius:5px}h1,h2,h3,p{margin-top:0}h1{font-size:36px;line-height:1.16;letter-spacing:-1.2px}h2{font-size:21px;line-height:1.35;letter-spacing:-.5px}h3{font-size:16px;line-height:1.25;letter-spacing:-.2px}p{line-height:1.5}section{margin-bottom:48px}img{display:block;object-fit:cover}img.image-missing{background:linear-gradient(135deg,#214352,#603e62);font-size:12px;color:#fff}button .icon,a .icon{flex-shrink:0}.icon{width:19px;height:19px;vertical-align:middle;display:inline-block;flex-shrink:0}.spark{width:12px;height:12px;vertical-align:top;margin-left:-2px;display:inline-block}.brand{font-size:20px;font-weight:650;letter-spacing:-1.4px;color:#a1a1a4;white-space:nowrap}.brand .spark{width:8px;height:8px;margin:1px 0 0 -2px}.site-header{height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;position:relative;z-index:3}.site-header nav{display:flex;align-items:center;gap:18px;font-size:14px;font-weight:600;color:#a0a0a4}.current-time{font-weight:400}.signin-pill{padding:7px 12px;background:#ffffff12;border-radius:24px;line-height:1.2}.signin-pill:hover,.button:hover{background:#ffffff22}.content{width:min(790px,calc(100% - 40px));margin:42px auto 72px}.content-wide{width:min(1008px,calc(100% - 48px));margin:0 auto}.muted{color:var(--muted)}.small-text{font-size:14px}.normal{font-weight:400}.block{display:block}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:fixed;top:-70px;left:15px;padding:12px;background:white;color:#111;z-index:100}.skip:focus{top:8px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 16px;border-radius:10px;background:#ffffff0d;font-size:15px;font-weight:600;line-height:1.2;transition:background .15s}.button.white{background:#fff;color:#151515}.button.white:hover{background:#dedede}.button.blue{background:#0075bb;color:white}.button.blue:hover{background:#168ccc}.button.small{padding:7px 11px;font-size:14px;border-radius:9px}.button.wide{width:100%}.icon-button{display:inline-flex;align-items:center;justify-content:center;min-height:34px;min-width:34px;border-radius:8px;color:#aaa}.icon-button:hover{background:#ffffff12;color:#fff}.text-button{padding:0;display:inline-flex;align-items:center;gap:6px;text-align:left}.text-button:hover{color:#fff}.section-title{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.section-title h2{margin:0}.section-title .button{white-space:nowrap}.footer{text-align:center;border-top:1px solid var(--line);width:min(1008px,calc(100% - 48px));margin:0 auto;padding:25px 0 30px;color:#8d8d91;font-size:14px}.footer a:hover{color:white}
/* Public landing page. */
.hero{height:max(720px,100svh);position:relative;overflow:hidden;margin:0;isolation:isolate}.hero-content{position:relative;width:440px;max-width:calc(100% - 40px);margin:0 auto;text-align:center;padding-top:66px;z-index:2;user-select:text}.hero-wordmark{color:#939395;letter-spacing:-2px;font-weight:600;font-size:36px;line-height:1;margin-bottom:16px}.hero h1{font-size:76px;font-weight:500;letter-spacing:-3px;line-height:.97;margin-bottom:30px}.gradient{color:#f94691;background:linear-gradient(110deg,#c52cc7 5%,#f1327e 40%,#ff7c29 67%,#e5b32b 95%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.hero p{max-width:430px;font-size:20px;color:#939396;letter-spacing:-.4px;line-height:1.5;margin:0 auto 30px}.hero-cta{font-size:18px;padding:13px 19px!important;border-radius:30px;box-shadow:0 12px 30px #0008}.hero-art{position:absolute;inset:0;z-index:0;mask-image:linear-gradient(#000 80%,transparent)}.art-frame{position:absolute;width:162px;aspect-ratio:1;padding:8px;border:2px solid #ffffff1a;background:#ffffff1c;border-radius:18px;box-shadow:0 18px 25px #0005,inset 0 0 0 2px #ffffff06;animation:float 9s ease-in-out infinite}.art-1{left:calc(50% - 430px);top:8%;width:145px;transform:rotate(-1deg)}.art-2{left:calc(50% + 275px);top:20px;width:162px;animation-delay:-3s}.art-3{left:calc(50% - 582px);top:28%;width:112px;animation-delay:-5s}.art-4{left:calc(50% - 517px);top:43%;width:180px;animation-delay:-2s}.art-5{left:calc(50% + 280px);top:46%;width:140px;animation-delay:-5s}.art-6{left:calc(50% + 460px);top:26%;width:145px;animation-delay:-1s}.art-7{left:calc(50% + 335px);top:62%;width:180px;animation-delay:-4s}.art-8{left:calc(50% - 658px);top:73%;width:130px}.art-9{--center-card-size:clamp(176px,calc(139.7975px + 5.56962vw),220px);--center-card-clearance:250px;left:calc(45.5vw - var(--center-card-size)/2);top:calc(50svh - max(47.5svh,calc(var(--center-card-clearance) + var(--center-card-size)/2)) - var(--center-card-size)/2);width:var(--center-card-size);animation-delay:-7s}.art-10{left:calc(50% - 325px);top:90%;width:165px}.art-11{left:calc(50% + 80px);top:89%;width:145px}@keyframes float{50%{translate:0 -10px}}.home-sections{padding-top:52px}.home-sections section{margin-bottom:62px}.compact-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px 28px}.event-card{min-width:0}.event-card.compact{display:flex;gap:16px;align-items:center;border-radius:10px}.event-card.compact:hover h3{color:#c6c6c9}.event-cover{background:#28282b}.compact .event-cover{width:80px;height:80px;flex-shrink:0;border-radius:9px}.event-card-info{min-width:0}.event-card h3{margin:5px 0 7px;font-weight:600}.event-card .muted{font-size:14px;line-height:1.35}.event-date{font-size:14px}.location-line{display:flex;align-items:center;gap:5px}.location-line .icon{width:14px;height:14px}.major-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.major-card{display:flex;gap:13px;align-items:center}.major-card img{width:56px;height:56px;border-radius:12px}.major-card h3{margin-bottom:5px;font-size:15px}.major-card .muted{font-size:13px}.calendar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.calendar-card{position:relative;min-width:0}.calendar-avatar{width:56px;height:56px;border-radius:50%;margin-bottom:13px}.calendar-card h3{font-size:17px;margin-bottom:6px}.calendar-card p{font-size:14px;line-height:1.4;margin:0}.clamp{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.follow-mini{position:absolute;top:7px;right:0}.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.category-tile{display:flex;align-items:center;gap:12px;padding:15px 12px;border-radius:13px;background:#ffffff06;border:1px solid #ffffff05;transition:background .15s}.category-tile:hover{background:#ffffff10}.category-tile strong{display:block;font-size:15px}.category-tile .muted{display:block;font-size:13px;margin-top:3px}.category-icon{font-size:28px;display:flex;align-items:center;justify-content:center;width:40px;height:44px;flex-shrink:0}.category-icon img{width:40px;height:40px;object-fit:contain}.closing{text-align:center;padding:80px 0 65px}.closing h2{font-size:44px;letter-spacing:-1.5px;line-height:1.15}.closing .button{margin:0 4px}.discover-page{padding-top:0;margin-top:40px}.discover-page h1{font-size:28px;letter-spacing:-.8px;margin-bottom:17px}.intro{margin-bottom:47px;font-size:16px;color:#d3d3d7;line-height:1.6}.discover-page section{border-bottom:1px solid var(--line);padding-bottom:32px;margin-bottom:33px}.discover-page .compact-grid{gap:26px 30px}.discover-page .section-title{margin-bottom:20px}.discover-page .category-grid{grid-template-columns:repeat(3,1fr)}.region-tabs{display:flex;gap:8px;overflow-x:auto;margin-bottom:24px;padding:1px 0 7px}.pill{padding:8px 12px;background:#ffffff05;color:#999;border-radius:20px;white-space:nowrap;font-size:14px}.pill.selected{color:#f6f6f6;background:#ffffff17}.cities-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.city-link{display:flex;align-items:center;gap:12px}.city-icon{font-size:30px;background:#ffffff08;width:48px;height:48px;border-radius:12px;text-align:center;padding-top:5px}.city-link strong,.city-link .muted{display:block;font-size:15px}.city-link .muted{font-size:13px;margin-top:3px}
/* Listings and calendars. */
.listing-page{padding-top:50px}.listing-hero{display:flex;align-items:center;justify-content:space-between;gap:40px;margin-bottom:55px}.listing-hero h1{font-size:64px;letter-spacing:-2px;margin:10px 0}.eyebrow{font-size:22px;color:#b1b1b5}.newsletter{width:340px;max-width:100%}.newsletter p{font-size:14px}.subscribe-form{display:flex;padding:5px;background:#ffffff08;border:1px solid #ffffff17;border-radius:13px;gap:7px}.subscribe-form input{min-width:0;flex:1;border:0;background:none;box-shadow:none;padding:8px}.subscribe-form .button{font-size:14px;background:#ffffff13}.search-row{display:flex;align-items:center;gap:8px;margin-bottom:22px}.search-box{display:flex;align-items:center;border:1px solid #ffffff18;border-radius:10px;padding:0 10px;width:100%;max-width:360px;gap:6px;background:#ffffff05}.search-box> .icon{color:#919193;width:17px}.search-box input{width:100%;min-width:0;background:transparent;border:0;box-shadow:none;padding:9px 0;font-size:14px}.search-box button{width:25px;min-width:25px}.search-box button .icon{width:14px;height:14px}.event-timeline{padding-top:4px}.timeline-row{display:grid;grid-template-columns:100px 20px 1fr;gap:14px;position:relative}.timeline-date{padding-top:14px;font-size:15px}.timeline-date strong,.timeline-date span{display:block}.timeline-date span{font-size:14px;margin-top:4px}.timeline-dot{position:relative;border-left:1px dashed #ffffff23;margin-left:9px}.timeline-dot:before{content:'';position:absolute;top:20px;left:-4px;width:7px;height:7px;border-radius:50%;background:#828286}.event-card.full{display:flex;flex-direction:row-reverse;justify-content:space-between;gap:24px;border:1px solid #ffffff0d;border-radius:15px;background:#ffffff05;padding:17px;margin-bottom:18px;min-height:170px}.event-card.full:hover{background:#ffffff0a;border-color:#ffffff1c}.full .event-cover{width:130px;height:130px;border-radius:10px;flex-shrink:0}.full .event-card-info{flex:1}.full h3{font-size:20px;margin:8px 0}.event-time{font-size:14px;color:#a7a7aa}.host-line{margin-bottom:6px}.mini-guests{display:flex;align-items:center;margin-top:12px;padding-left:3px}.mini-guests>span{display:inline-flex;border:2px solid #2c2c30;background:#83575e;color:#d7b5a8;font-size:12px;width:22px;height:22px;border-radius:50%;margin-left:-4px;justify-content:center;align-items:center}.mini-guests>span:nth-child(2){background:#657b63}.mini-guests>span:nth-child(3){background:#546874}.mini-guests small{margin-left:6px;color:#929294}.price-tag{display:inline-block;padding:4px 7px;border-radius:5px;background:#ffffff0c;font-size:12px;margin-top:9px}.empty{text-align:center;padding:55px 15px}.empty>.icon,.empty>span>.icon{width:30px;height:30px;color:#777}.empty h3{margin-top:16px}.calendar-page{padding-top:4px}.calendar-cover{height:288px;border-radius:17px;overflow:hidden;background:linear-gradient(135deg,#1f5162,#765160)}.calendar-cover img{width:100%;height:100%;object-fit:cover}.calendar-description{position:relative;padding:75px 40px 26px;border-bottom:1px solid var(--line);margin-bottom:28px}.large-avatar{position:absolute;width:105px;height:105px;left:35px;top:-53px;border-radius:17px;border:6px solid #131313}.follow-button{position:absolute;right:40px;top:16px}.calendar-description h1{font-size:36px;margin-bottom:8px}.calendar-description p{margin-bottom:12px}.calendar-description .muted{display:flex;align-items:center;gap:8px}.calendar-socials{display:flex;align-items:center;gap:18px;color:#939397}.calendar-body{display:grid;grid-template-columns:230px 1fr;gap:36px;padding:8px 40px 50px}.calendar-submit{width:100%;margin-bottom:18px}.mini-calendar{margin-bottom:20px}.mini-calendar-title{display:flex;align-items:center;justify-content:space-between;font-size:14px;margin-bottom:10px}.month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;text-align:center;font-size:12px}.month-grid>span{padding-bottom:8px}.date-button{font-size:13px;border-radius:50%;width:26px;height:26px;padding:0;position:relative;margin:auto}.date-button:hover,.date-selected{background:#ffffff27}.has-event:after{content:'';width:3px;height:3px;position:absolute;left:12px;bottom:1px;background:#c6c6d0;border-radius:50%}.calendar-body aside>.text-button{font-size:12px}.calendar-tools{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.calendar-tools .search-row{flex:1}.calendar-tools .search-box{max-width:none}.calendar-tools .search-row>.icon-button{display:none}.segmented{background:#ffffff09;border-radius:9px;padding:3px;display:inline-flex;gap:2px;flex-shrink:0}.segmented button{border-radius:7px;color:#929296;font-size:13px;padding:7px 11px;white-space:nowrap}.segmented button.active{background:#ffffff15;color:#f3f3f5;box-shadow:0 2px 4px #0003}.segmented .icon{width:15px;height:15px}.calendar-events .timeline-row{grid-template-columns:70px 10px 1fr;gap:7px}.calendar-events .full{gap:15px;padding:12px;min-height:130px}.calendar-events .full .event-cover{width:88px;height:88px}.calendar-events .full h3{font-size:17px}.calendar-events .mini-guests{margin-top:7px}.list-view .event-card.full{background:none;border-width:0 0 1px;border-radius:0;min-height:100px}.list-view .full .event-cover{width:65px;height:65px}.list-view .mini-guests{display:none}
/* Event detail. */
.event-page{width:min(960px,calc(100% - 48px));display:grid;grid-template-columns:310px 1fr;gap:46px;margin-top:30px}.event-hero-cover{width:100%;aspect-ratio:1;border-radius:16px;margin-bottom:23px}.event-organizer{border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:18px}.organizer-row{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:8px 0 12px}.event-organizer p{line-height:1.45;margin-bottom:0}.host-section{padding-bottom:20px;border-bottom:1px solid var(--line)}.host-person{display:flex;align-items:center;gap:10px;margin-top:12px;padding:0;font-size:14px}.host-person img{width:25px;height:25px;border-radius:50%}.initial-avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:26px;height:26px;font-size:12px;background:#665b67;border-radius:50%;color:#eee}.avatar-0{background:#a36355}.avatar-1{background:#657964}.avatar-2{background:#52697c}.attendance{padding:20px 0 8px;font-size:15px}.avatar-stack{display:flex;margin:14px 0 5px;padding-left:5px}.avatar-stack span{margin-left:-5px;border:2px solid #131313;width:30px;height:30px}.event-sidebar>.text-button{display:block;margin-bottom:10px}.tag{font-size:12px;padding:5px 9px;border:1px solid #ffffff24;border-radius:15px;display:inline-block;margin-top:10px}.event-detail h1{font-size:45px;line-height:1.12;letter-spacing:-1.5px;font-weight:600;margin-bottom:26px}.event-meta{display:flex;align-items:center;gap:14px;margin-bottom:20px}.event-meta>div>span{display:block;font-size:15px;margin-top:5px}.event-meta strong{font-weight:500}.date-tile{width:43px;height:48px;border-radius:8px;border:1px solid #ffffff25;display:flex;align-items:center;flex-direction:column;overflow:hidden;flex-shrink:0}.date-tile small{font-size:10px;letter-spacing:.3px;display:block;width:100%;text-align:center;background:#ffffff12;padding:2px 0}.date-tile strong{font-size:21px;line-height:1.3}.meta-icon{width:43px;display:flex;justify-content:center}.meta-icon .icon{width:25px;height:25px;color:#a3a3a6}.registration-box{border:1px solid #ffffff10;border-radius:12px;overflow:hidden;background:#ffffff04;margin:30px 0}.registration-label{padding:9px 15px;font-size:13px;color:#aaa;background:#ffffff06}.registration-body{padding:16px}.registration-body p{margin:12px 0;font-size:15px}.approval-label{font-size:14px;display:flex;align-items:center;gap:7px;font-weight:500}.approval-label .icon{width:16px}.registration-body .approval-label+p{margin:5px 0 20px}.register-button{width:100%;margin-top:4px}.event-about h2,.event-location h2{font-size:16px;padding-bottom:11px;border-bottom:1px solid var(--line);font-weight:500;margin-bottom:16px}.event-about p{font-size:16px;line-height:1.6;color:#d4d4d8}.description-section{padding-top:20px;border-top:1px solid var(--line);margin-top:24px}.description-section h3{font-size:17px}.description-section p{margin-bottom:12px}.event-location{margin-top:35px}.map-preview{height:190px;border-radius:13px;background:repeating-linear-gradient(25deg,transparent 0 36px,#ffffff06 37px 39px,transparent 40px 80px),repeating-linear-gradient(110deg,#1e2828 0 50px,#ffffff07 51px 54px,#1e2828 55px 100px);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px}.map-preview small{color:#939b9b}.map-pin{color:#9ac8be}.map-pin .icon{width:32px;height:32px}
/* Pricing, auth and app. */
.pricing-page{padding-top:17px}.pricing-heading{text-align:center;margin-bottom:38px}.pricing-heading h1{font-size:42px;margin-bottom:15px}.pricing-heading p{font-size:17px;line-height:1.5}.billing{margin-top:15px}.billing button{font-size:14px;padding:9px 14px}.saving{font-size:11px;background:#3d4e31;color:#b9d797;border-radius:4px;padding:3px 5px;margin-left:4px}.pricing-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.pricing-card{background:#ffffff04;border:1px solid #ffffff15;border-radius:15px;padding:24px}.pricing-card.plus{background:linear-gradient(150deg,#29212d40,#ffffff04)}.plan-label{font-size:25px;letter-spacing:-1px;font-weight:600;margin-bottom:18px}.plan-label .spark{width:9px;height:9px}.plan-label>span{font-size:14px;letter-spacing:0;background:#ffffff12;padding:3px 6px;border-radius:5px;margin-left:3px}.pricing-card h2{font-size:40px;margin-bottom:3px;letter-spacing:-1px}.billing-note{font-size:14px;margin-bottom:22px}.pricing-card>.button{margin-bottom:28px}.pricing-card>p:not(.billing-note){font-size:14px}.feature-list{list-style:none;padding:0;margin:16px 0 0}.feature-list li{display:flex;gap:10px;font-size:14px;line-height:1.5;margin-bottom:17px;color:#c7c7cb}.feature-list .icon{width:15px;height:15px;flex-shrink:0;color:#9b9ba0;margin-top:3px}.feature-list li:nth-child(6),.feature-list li:nth-child(10){border-top:1px solid var(--line);padding-top:20px;margin-top:20px}.pricing-fine{text-align:center;font-size:12px;line-height:1.6;margin:-24px 0 60px}.addons{max-width:530px;margin:0 auto 65px}.addons h2,.enterprise h2{font-size:28px}.addons p{font-size:14px}.addons table{width:100%;border-collapse:collapse;font-size:14px;margin:20px 0 15px}.addons th,.addons td{border-bottom:1px solid var(--line);padding:12px;text-align:left}.addons th{color:#999;font-weight:400}.addons td:last-child,.addons th:last-child{text-align:right}.enterprise{text-align:center;padding:25px 0 20px}.enterprise .small-text{margin-top:35px}.auth-page{min-height:calc(100svh - 240px);display:flex;align-items:center;justify-content:center;padding:50px 20px 80px}.auth-card{width:350px;max-width:100%;margin:auto}.auth-brand{text-align:center;font-size:40px;font-weight:600;letter-spacing:-3px;color:#aaa;margin-bottom:24px}.auth-brand .spark{width:11px;height:11px;margin:2px 0 0 -3px}.auth-card h1{font-size:24px;text-align:center;letter-spacing:-.6px;margin-bottom:10px}.auth-card>p{text-align:center;font-size:14px}.auth-form{margin-top:27px}.label-row{display:flex;align-items:center;justify-content:space-between;font-size:13px;margin-bottom:9px}.label-row button{font-size:12px}.auth-form>input{width:100%;margin-bottom:12px}.auth-form>.button{padding:12px}.auth-divider{border-top:1px solid var(--line);margin:25px 0;text-align:center;position:relative}.auth-divider span{position:absolute;top:-11px;font-size:13px;color:#777;background:#131313;padding:0 12px;left:calc(50% - 20px)}.auth-provider{margin-bottom:12px;font-size:14px;padding:12px;border:1px solid #ffffff10;background:transparent}.google-icon{font-weight:700;color:#a9c5f5;font-size:17px}.local-note{font-size:12px!important;color:#919196;line-height:1.5;margin-top:20px}.auth-card>.local-note{margin-top:24px}.app-page{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;min-height:650px;padding:40px 0 60px}.app-icon{width:85px;height:85px;background:#fff;border-radius:23px;color:#111;display:flex;justify-content:center;align-items:center;margin-bottom:30px}.app-icon .spark{width:50px;height:50px;margin:0}.app-intro h1{font-size:43px;letter-spacing:-1.6px}.app-intro p{font-size:18px}.phone-mock{width:295px;border:7px solid #363639;border-radius:42px;padding:36px 17px 30px;background:linear-gradient(#202630,#131313);box-shadow:0 30px 90px #0007;position:relative;min-height:570px}.phone-notch{position:absolute;left:calc(50% - 45px);top:9px;width:90px;height:22px;border-radius:20px;background:#000}.phone-header{font-size:23px;letter-spacing:-1px;margin:5px 0 30px;color:#aaa}.phone-header .spark{width:8px;height:8px}.phone-header>span{float:right}.phone-mock h2{font-size:25px}.phone-tags{display:flex;gap:8px;font-size:11px;color:#bbb;margin-bottom:20px}.phone-tags span{background:#ffffff13;border-radius:20px;padding:6px 10px}.phone-event{display:flex;gap:12px;margin-bottom:20px}.phone-event img{width:75px;height:75px;border-radius:9px}.phone-event strong{display:block;font-size:14px;margin-top:5px;line-height:1.25}.phone-event small{font-size:10px}.phone-nav{text-align:center;color:#777;margin-top:35px}.not-found{min-height:500px;padding-top:100px}.not-found h1{margin-top:25px;font-size:42px}
/* Native modal contains keyboard focus and restores the triggering control. */
dialog{background:#1b1b1d;color:#f4f4f5;border:1px solid #ffffff1c;border-radius:17px;width:460px;max-width:calc(100vw - 28px);max-height:calc(100svh - 40px);padding:28px;box-shadow:0 30px 100px #0008;overscroll-behavior:contain}dialog::backdrop{background:#0009;backdrop-filter:blur(6px)}dialog h2{font-size:22px;margin:0 32px 24px 0;letter-spacing:-.6px}.modal-close{position:absolute;top:12px;right:12px}.modal-close .icon{width:18px;height:18px}.registration-dialog{width:480px}.registration-form{display:flex;flex-direction:column;gap:19px}.registration-form label:not(.checkbox-label){display:flex;flex-direction:column;gap:9px;font-size:14px}.registration-form input,.registration-form textarea,.registration-form select{width:100%;background:#ffffff06;font-size:15px}.registration-form .checkbox-label{display:flex;align-items:flex-start;gap:9px;font-size:13px;line-height:1.4}.checkbox-label input{width:16px;height:16px;margin:1px 0 0;accent-color:#72a3d4;flex-shrink:0}.registration-form fieldset{border:1px solid #ffffff17;border-radius:10px;padding:13px}.registration-form legend{font-size:14px;padding:0 5px;line-height:1.5}.registration-form fieldset .checkbox-label{margin-bottom:9px}.registration-form .local-note{margin:0}.field-error{color:#ffb2b2;font-size:13px}.success-icon{width:55px;height:55px;border-radius:50%;background:#314e3b;color:#b4e6c2;display:flex;align-items:center;justify-content:center;margin:0 auto 20px}.success-icon .icon{width:30px;height:30px}.auth-dialog{padding:32px;width:420px}.auth-dialog>#modal-title{display:none}.modal-auth .auth-brand{display:none}.modal-auth .auth-divider span{background:#1b1b1d}.modal-auth h1{margin-top:7px}#toast{position:fixed;bottom:26px;left:50%;transform:translate(-50%,15px);max-width:calc(100% - 32px);width:max-content;background:#f4f4f5;color:#171717;border-radius:12px;padding:13px 20px;font-size:14px;box-shadow:0 6px 30px #0006;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:20}#toast.visible{opacity:1;transform:translate(-50%,0)}
@media(min-width:1500px){.hero-content{padding-top:110px}.hero h1{font-size:88px}.art-1{left:calc(50% - 480px)}.art-4{left:calc(50% - 600px)}.art-6{left:calc(50% + 500px)}}
@media(max-width:950px){.hero h1{font-size:66px}.hero-content{width:400px;padding-top:100px}.art-1{left:2%;width:125px}.art-2{display:none}.art-3{left:-50px}.art-4{left:-35px;top:51%;width:150px}.art-5{left:auto;right:-30px;top:45%}.art-6{left:auto;right:-55px;top:25%;width:120px}.art-7{left:auto;right:5%;top:74%;width:150px}.art-8{left:-20px;top:82%}.art-9{--center-card-clearance:225px}.art-10{left:22%}.art-11{left:55%}.major-grid{grid-template-columns:1fr 1fr}.category-grid{grid-template-columns:repeat(3,1fr)}.calendar-body{padding:8px 0 40px;grid-template-columns:200px 1fr;gap:25px}.calendar-description{padding-left:24px;padding-right:24px}.calendar-events .timeline-row{grid-template-columns:1fr}.calendar-events .timeline-dot{display:none}.calendar-events .timeline-date:empty{display:none}.calendar-events .timeline-date{padding:0 0 7px;display:flex;gap:8px;align-items:center}.calendar-events .timeline-date span{margin:0}.event-page{grid-template-columns:280px 1fr;gap:30px}.event-detail h1{font-size:38px}}
@media(max-width:600px){body{background:radial-gradient(ellipse 100% 100px at 50% 0,#172e3c80,transparent)}h1{font-size:30px}.site-header{padding:0 18px}.site-header nav{gap:12px}.current-time{display:none}.nav-discover{font-size:12px}.site-header .brand{font-size:20px}.signin-pill{font-size:14px}.hero{height:844px;min-height:100svh}.hero-content{padding-top:81px;width:350px;max-width:calc(100% - 36px)}.hero-wordmark{font-size:25px;letter-spacing:-1.5px;margin-bottom:18px}.hero h1{font-size:40px;line-height:.99;letter-spacing:-1.4px;font-weight:500;margin-bottom:24px}.hero p{font-size:16px;line-height:1.5;max-width:330px;letter-spacing:-.25px;margin-bottom:26px}.hero-cta{font-size:16px;padding:11px 17px!important}.hero-art{mask-image:linear-gradient(#000 88%,transparent)}.art-frame{border-radius:18px;padding:7px}.art-1{left:-29px;top:61%;width:139px}.art-2{display:none}.art-3{display:none}.art-4{display:none}.art-5{display:none}.art-6{left:calc(50% - 72px);top:55.5%;width:157px}.art-7{left:calc(50% + 22px);top:70%;width:165px}.art-8{left:calc(50% + 97px);top:57.5%;width:145px}.art-9{display:none}.art-10{left:calc(50% - 155px);top:73%;width:145px}.art-11{display:none}.content{width:calc(100% - 36px);margin-top:30px}.content-wide{width:calc(100% - 36px)}.home-sections{padding-top:35px}.home-sections section{margin-bottom:40px}.section-title{gap:12px}.section-title h2{font-size:20px}.compact-grid{grid-template-columns:1fr;gap:20px}.compact .event-cover{width:76px;height:76px}.event-card h3{font-size:15px}.event-card .muted{font-size:13px}.category-grid,.discover-page .category-grid{grid-template-columns:1fr 1fr;gap:10px}.category-tile{gap:7px;padding:12px 8px}.category-tile strong{font-size:13px}.category-icon{width:33px;font-size:25px}.category-icon img{width:33px;height:33px}.category-tile .muted{font-size:11px}.major-grid{gap:20px 10px}.major-card{gap:9px;align-items:flex-start}.major-card img{width:43px;height:43px;border-radius:9px}.major-card h3{font-size:13px;line-height:1.3}.major-card .muted{font-size:11px}.calendar-grid{grid-template-columns:1fr 1fr;gap:25px 15px}.calendar-card h3{font-size:15px}.calendar-card p{font-size:12px}.calendar-avatar{width:48px;height:48px}.follow-mini{padding:5px 7px!important;font-size:12px!important}.closing{padding:40px 0}.closing h2{font-size:32px}.closing .button{font-size:14px}.discover-page{padding-top:5px}.discover-page h1{font-size:28px}.intro{margin-bottom:35px;font-size:15px}.discover-page .compact-grid{gap:20px}.discover-page .section-title{margin-bottom:22px}.cities-grid{grid-template-columns:1fr 1fr;gap:22px 10px}.city-link{gap:8px}.city-icon{width:40px;height:40px;font-size:26px}.city-link strong{font-size:13px}.city-link .muted{font-size:12px}.footer{width:calc(100% - 36px);font-size:12px;padding-top:23px}.listing-page{padding-top:25px}.listing-hero{display:block;margin-bottom:35px}.listing-hero h1{font-size:48px;margin:10px 0}.eyebrow{font-size:19px}.newsletter{margin-top:28px;width:100%}.newsletter p{margin-bottom:10px}.timeline-row{grid-template-columns:1fr;gap:0}.timeline-date{display:flex;align-items:center;gap:8px;padding:8px 0 12px}.timeline-date span{margin:0}.timeline-date:empty,.timeline-dot{display:none}.event-card.full{gap:14px;padding:14px;min-height:140px;margin-bottom:14px}.full .event-cover{width:95px;height:95px}.full h3{font-size:17px}.full .muted{font-size:12px}.mini-guests{margin-top:8px}.calendar-cover{height:170px;border-radius:12px}.calendar-page{width:100%;padding-top:0}.calendar-description{padding:58px 18px 22px;margin-bottom:20px}.large-avatar{left:15px;top:-40px;width:85px;height:85px;border-radius:16px}.calendar-description h1{font-size:30px;margin-top:5px}.calendar-description p{font-size:14px}.follow-button{top:11px;right:18px;padding:9px 14px}.calendar-body{display:block;padding:0 18px 30px}.calendar-body aside{display:none}.calendar-events .timeline-row{grid-template-columns:1fr}.calendar-events .timeline-date{padding:8px 0 12px}.calendar-events .full{padding:13px}.calendar-events .full .event-cover{width:92px;height:92px}.calendar-events .full h3{font-size:17px}.event-page{display:flex;flex-direction:column;width:calc(100% - 36px);gap:0;margin-top:10px}.event-sidebar{display:contents}.event-hero-cover{width:100%;border-radius:14px;margin-bottom:24px;order:0}.event-organizer,.host-section,.attendance,.event-sidebar>.text-button,.event-sidebar>.tag{display:none}.event-detail{order:1}.event-detail h1{font-size:34px;letter-spacing:-1px;margin-bottom:24px}.event-meta{gap:12px}.event-meta strong,.event-meta>div>span{font-size:14px}.event-about p{font-size:15px}.registration-box{margin-top:25px}.pricing-page{padding-top:10px}.pricing-heading h1{font-size:36px}.pricing-heading p{font-size:15px}.pricing-grid{grid-template-columns:1fr;gap:20px}.pricing-card{padding:24px}.pricing-card h2{font-size:40px}.pricing-fine{margin:8px 0 45px}.pricing-grid section{margin-bottom:0}.pricing-grid{margin-bottom:26px}.auth-page{padding-top:40px}.auth-card{width:340px}.app-page{display:flex;flex-direction:column;gap:45px;padding:20px 0 50px;text-align:center}.app-icon{margin:0 auto 25px}.app-intro h1{font-size:37px}.phone-mock{text-align:left}.not-found{padding-top:70px}.not-found h1{font-size:34px}dialog{padding:24px 20px;max-height:calc(100svh - 28px)}.auth-dialog{padding:30px 24px}.registration-form{gap:18px}.registration-form select{font-size:14px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Original Luma landing uses viewport-centered content and a separately clamped top card. */
@media(min-width:601px){.hero-content{position:absolute;left:50%;top:48svh;transform:translate(-50%,-50%);padding-top:0;margin:0}.hero{height:100svh;min-height:633px}}
@media(min-width:1441px){.art-9{--center-card-size:clamp(220px,calc(135.1429px + 5.89286vw),286px)}}
@media(min-width:951px) and (max-width:1200px){.art-9{--center-card-clearance:225px}}

/* Each frame displays one character from the shared illustration sheet. */
.hero-character {
  width: 100%;
  height: 100%;
  border-radius: 7px;
  background: #fff3dd url("/bni/powerhouse/halloween-character-sheet.png") no-repeat;
}
.art-1 .hero-character {
  background-size: 607.115% 404.743%;
  background-position: 72.486% 11.154%;
}
.art-2 .hero-character {
  background-size: 577.444% 384.962%;
  background-position: 47.559% 50.396%;
}
.art-3 .hero-character {
  background-size: 607.115% 404.743%;
  background-position: 24.786% 11.154%;
}
.art-4 .hero-character {
  background-size: 568.889% 379.259%;
  background-position: 72.117% 50.398%;
}
.art-5 .hero-character {
  background-size: 571.004% 380.669%;
  background-position: 1.342% 50.596%;
}
.art-6 .hero-character {
  background-size: 575.281% 383.521%;
  background-position: 24.606% 92.470%;
}
.art-7 .hero-character {
  background-size: 548.571% 365.714%;
  background-position: 0.398% 92.742%;
}
.art-8 .hero-character {
  background-size: 595.349% 396.899%;
  background-position: 97.574% 11.097%;
}
.art-9 .hero-character {
  background-size: 640.000% 426.667%;
  background-position: 48.225% 12.117%;
}
.art-10 .hero-character {
  background-size: 573.134% 382.090%;
  background-position: 0.398% 11.154%;
}
.art-11 .hero-character {
  background-size: 546.619% 364.413%;
  background-position: 98.964% 50.398%;
}

.hero-wordmark-bni {
  display: flex;
  justify-content: center;
}

.hero-wordmark-bni img {
  width: 108px;
  height: 42px;
  padding: 8px 13px;
  box-sizing: content-box;
  object-fit: contain;
  background: #fff;
  border-radius: 12px;
}

@media (max-width: 600px) {
  .hero-wordmark-bni img {
    width: 76px;
    height: 30px;
    padding: 5px 9px;
    border-radius: 9px;
  }
}

.category-tile.seat-tile {
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  min-height: 108px;
  gap: 14px;
  padding: 14px;
}

.seat-tile .category-icon {
  width: 36px;
  height: 36px;
}

.category-icon .seat-icon {
  width: 32px;
  height: 32px;
}


.chapter-card {
  align-items: flex-start;
  padding: 14px;
  border: 1px solid rgba(255, 255, 255, .05);
  border-radius: 14px;
  background: rgba(255, 255, 255, .035);
}

.chapter-card p {
  margin: 0;
  line-height: 1.45;
}

.chapter-card h3 {
  line-height: 1.3;
  min-height: 2.6em;
}

.chapter-grid {
  display: grid;
  grid-template-rows: repeat(3, 1fr);
  grid-auto-flow: column;
  grid-auto-columns: clamp(210px, 24%, 280px);
  gap: 12px;
  overflow-x: auto;
  padding-bottom: 12px;
}

.member-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 24px 16px;
}

.member-card img,
.member-initials {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  border-radius: 14px;
  object-fit: cover;
  margin-bottom: 12px;
}

.member-initials {
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, .08);
}

.member-card h3 {
  font-size: 15px;
  margin-bottom: 5px;
}

.member-card p {
  margin: 0;
  font-size: 13px;
}

@media (max-width: 800px) {
  .member-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 480px) {
  .member-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.member-roster summary {
  width: fit-content;
  list-style: none;
  cursor: pointer;
  text-decoration: underline;
  margin: 16px auto 0;
}

.member-roster summary::-webkit-details-marker {
  display: none;
}

.member-view-less,
.member-roster[open] .member-view-all {
  display: none;
}

.member-roster[open] .member-view-less {
  display: inline;
}

.member-roster .member-grid {
  margin-top: 16px;
}

.member-roster[open] {
  display: flex;
  flex-direction: column;
}

.member-roster[open] summary {
  order: 1;
}

.closing-background {
  position: relative;
  isolation: isolate;
  background-image: radial-gradient(circle, rgba(255, 255, 255, .065) 1px, transparent 1px);
  background-size: 7px 7px;
}

.closing-map {
  position: absolute;
  inset: 0;
  overflow: hidden;
  z-index: -1;
  pointer-events: none;
}

.atlas-art {
  position: relative;
  width: min(124%, 1500px);
  left: 50%;
  transform: translateX(-62%);
  margin-top: -35px;
  opacity: .78;
  mask-image: radial-gradient(ellipse 25% 19% at 50% 32%, rgba(0, 0, 0, .24), #000 155%);
}

.atlas-art img {
  display: block;
  width: 100%;
}

.atlas-signal {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  color: var(--bni-red);
  overflow: visible;
}

.atlas-signal path {
  fill: none;
  stroke: currentColor;
  stroke-width: 3;
  stroke-dasharray: .16 1;
  stroke-dashoffset: .16;
  opacity: 0;
}

.atlas-signal circle {
  fill: #c8c8c8;
  opacity: .42;
}

.atlas-signal circle:nth-of-type(2) { --handoff: .75s; }
.atlas-signal circle:nth-of-type(3) { --handoff: 1.35s; }
.atlas-signal circle:nth-of-type(4) { --handoff: 1.95s; }
.atlas-signal circle:nth-of-type(5) { --handoff: 2.5s; }

.atlas-wave {
  position: absolute;
  inset: 0;
  opacity: 0;
  background: radial-gradient(ellipse farthest-corner at 70% 22%,
    transparent calc(var(--atlas-radius) - 24%),
    #68151d calc(var(--atlas-radius) - 12%),
    var(--bni-red) calc(var(--atlas-radius) - 4%),
    #ff929b var(--atlas-radius),
    transparent calc(var(--atlas-radius) + 7%));
  mask-image: radial-gradient(circle, #000 1px, transparent 1.25px);
  mask-size: 7px 7px;
}

@property --atlas-radius {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 0%;
}

@media (prefers-reduced-motion: no-preference) {
  .atlas-playing .atlas-signal path { animation: atlas-route 9s ease-in-out .25s infinite both; }
  .atlas-playing .atlas-signal circle { animation: atlas-node 9s ease-out var(--handoff, 0s) infinite both; }
  .atlas-playing .atlas-wave { animation: atlas-wave 9s ease-out 2.65s infinite both; }
}

@keyframes atlas-route {
  0% { opacity: 0; stroke-dashoffset: .16; }
  4% { opacity: .9; }
  26% { opacity: .9; }
  33%, 100% { opacity: 0; stroke-dashoffset: -1; }
}

@keyframes atlas-node {
  0%, 10%, 100% { opacity: .42; }
  3.2% { opacity: 1; filter: drop-shadow(0 0 5px var(--bni-red)); }
}

@keyframes atlas-wave {
  0% { --atlas-radius: 0%; opacity: 0; }
  9% { --atlas-radius: 38%; opacity: .7; }
  34% { --atlas-radius: 106%; opacity: .56; }
  45%, 100% { --atlas-radius: 125%; opacity: 0; }
}

.closing-background > .home-sections {
  padding-top: 0;
}

.closing-background .chapter-card {
  background: rgba(25, 25, 27, .82);
}

@media (max-width: 600px) {
  .atlas-art { margin-top: 45px; }
}

.hero-location {
  display: flex;
  align-items: center;
  color: #c4afb9;
  gap: 7px;
  width: fit-content;
  margin: 14px auto 0;
  text-align: left;
  font-size: 13px;
  line-height: 1.35;
}

.hero-location svg {
  width: 16px;
  height: 16px;
  flex: none;
}

.hero-location:hover strong,
.hero-location:focus-visible strong {
  text-decoration: underline;
}

.chapter-stats {
  padding: 12px;
  border: 1px solid #383237;
  border-radius: 18px;
  background: radial-gradient(circle, #71515b 1px, transparent 1.3px) 0 0 / 9px 9px, #1c191b;
}

.chapter-stats dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}

.chapter-stat {
  min-width: 0;
  padding: 24px;
  border: 1px solid #44353d;
  border-radius: 12px;
  background: #221e21;
}

.chapter-stat dt {
  color: #c9bfc5;
  font-size: 14px;
  line-height: 1.25;
}

.chapter-stat dd {
  margin: 0;
  font-size: clamp(25px, 5vw, 47px);
  font-weight: 750;
  font-variant-numeric: tabular-nums;
  letter-spacing: -.055em;
  line-height: 1.15;
}

@media (prefers-reduced-motion: no-preference) {
  .stats-playing .chapter-stat { animation: stats-node .8s both; }
  .stats-playing .chapter-stat + .chapter-stat { animation-delay: 160ms; }
}

@keyframes stats-node {
  35% { border-color: var(--bni-red); box-shadow: inset 0 0 24px rgba(207, 32, 48, .2); }
}

@media (max-width: 650px) {
  .chapter-stats { padding: 8px; }
  .chapter-stat { padding: 13px 8px; }
  .chapter-stat dd { font-size: clamp(20px, 5.5vw, 36px); }
}

.hero-meeting-time {
  display: block;
  margin-top: 4px;
  color: #c4afb9;
  font-size: 13px;
  line-height: 1.35;
}

.hero-chapter {
  margin-top: 14px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.35;
}

.hero-chapter + .hero-location {
  margin-top: 4px;
}

.upcoming-card {
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(255, 255, 255, .05);
  border-radius: 14px;
  background: rgba(255, 255, 255, .035);
}

.upcoming-card img {
  flex-shrink: 0;
}

a.upcoming-card:hover,
a.upcoming-card:focus-visible {
  background: rgba(255, 255, 255, .07);
}

/* Homepage design foundations */
:root {
  --space-1: .25rem;
  --space-2: .5rem;
  --space-3: .75rem;
  --space-4: 1rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --page-width: 63rem;
  --page-gutter: var(--space-6);
  --section-gap: var(--space-16);
  --type-meta: .875rem;
  --type-card: 1rem;
  --type-section: clamp(1.5rem, 3vw, 2rem);
  --color-meta: #b6b1b5;
  --card-radius: 14px;
  --card-border: rgba(255, 255, 255, .08);
  --card-surface: rgba(255, 255, 255, .035);
}

.content-wide,
.footer {
  width: min(var(--page-width), calc(100% - 2 * var(--page-gutter)));
}

.home-sections {
  display: grid;
  gap: var(--section-gap);
  padding-block: var(--section-gap);
}

.home-sections section {
  min-width: 0;
  margin: 0;
}

.home-sections h2 {
  margin: 0 0 var(--space-4);
  font-size: var(--type-section);
  line-height: 1.2;
}

.hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  height: auto;
  min-height: max(720px, 100svh);
  overflow: visible;
  padding-block: var(--space-8);
}

.hero-content {
  position: relative;
  inset: auto;
  transform: none;
  margin-inline: auto;
  padding: 0;
}

.hero-art {
  overflow: hidden;
}

.hero-wordmark {
  margin-bottom: var(--space-4);
}

.hero h1,
.hero p {
  margin-bottom: var(--space-6);
}

.hero-details {
  display: grid;
  justify-items: center;
  gap: var(--space-1);
  margin-top: var(--space-4);
}

.hero-details :is(.hero-chapter, .hero-location, .hero-meeting-time) {
  margin: 0;
}

.hero-chapter .gradient {
  background-image: linear-gradient(110deg, #e04fdf, #fa659b 42%, #ff913f 73%, #e5b32b);
}

.hero-location,
.hero-meeting-time {
  color: var(--color-meta);
  font-size: var(--type-meta);
}

.major-grid,
.member-grid,
.category-grid {
  gap: var(--space-4);
}

.chapter-grid,
.chapter-stats dl {
  gap: var(--space-3);
}

.upcoming-card,
.chapter-card,
.seat-tile,
.chapter-stat {
  padding: var(--space-3);
  border-radius: var(--card-radius);
  border-color: var(--card-border);
}

.upcoming-card,
.seat-tile {
  background: var(--card-surface);
}

.member-card img,
.member-initials {
  border-radius: var(--card-radius);
  margin-bottom: var(--space-3);
}

:is(.member-card, .upcoming-card, .chapter-card) h3,
.seat-tile strong {
  font-size: var(--type-card);
  line-height: 1.3;
  overflow-wrap: anywhere;
}

:is(.member-card, .upcoming-card, .chapter-card) h3 {
  margin-bottom: var(--space-1);
}

:is(.member-card p, .upcoming-card .muted, .chapter-card p, .chapter-stat dt, .footer) {
  color: var(--color-meta);
  font-size: var(--type-meta);
  line-height: 1.4;
}

.closing {
  padding-block: var(--space-12);
}

.home-sections .closing h2 {
  font-size: clamp(2rem, 5vw, 2.75rem);
}

.footer {
  padding-block: var(--space-6);
}

:is(.hero a, .closing a, .upcoming-card, .member-roster summary, .chapter-grid, .footer a):focus-visible {
  outline: 2px solid #f6b3cc;
  outline-offset: 3px;
}

@media (max-width: 650px) {
  :root {
    --page-gutter: var(--space-4);
    --section-gap: var(--space-10);
  }

  .hero {
    min-height: max(640px, 100svh);
  }

  .hero-content {
    border-radius: var(--card-radius);
    background: radial-gradient(ellipse at center, #131313 50%, #131313e8 70%, transparent);
  }

  .major-grid,
  .member-grid,
  .category-grid {
    gap: var(--space-3);
  }

  .upcoming-card {
    display: grid;
    gap: var(--space-2);
  }

  .closing {
    padding-block: var(--space-8);
  }
}

/* BNI After Dark preview palette */
:root {
  --bni-red: #cf2030;
  --bni-red-hover: #b91b2b;
  --bni-accent: #ff6874;
  --color-meta: #c8c8c8;
  --card-border: #343434;
  --card-surface: #202020;
  background: #141414;
  color: #f5f5f5;
}

body.is-home {
  background: radial-gradient(ellipse at 50% 0, #38191d 0%, #141414 420px);
}

.hero .gradient,
.closing .gradient {
  background-image: linear-gradient(105deg, #fff 0%, #fff 36%, #ff6874 80%, #ff8993 100%);
}

.hero-chapter .gradient,
.chapter-stat .gradient {
  color: #f5f5f5;
  background: none;
  -webkit-text-fill-color: currentColor;
}

.hero p,
.hero-location,
.hero-meeting-time {
  color: var(--color-meta);
}

.hero-location .icon {
  color: var(--bni-accent);
}

.hero .hero-cta,
.closing .button.white {
  color: #fff;
  background: var(--bni-red);
}

.hero .hero-cta:hover,
.closing .button.white:hover {
  background: var(--bni-red-hover);
}

.chapter-stats {
  border-color: var(--card-border);
  background: radial-gradient(circle, #64666a 1px, transparent 1.3px) 0 0 / 9px 9px, #171717;
}

.chapter-stat,
.upcoming-card,
.seat-tile,
.closing-background .chapter-card {
  background: var(--card-surface);
}

.seat-tile .category-icon {
  background: #2b2425;
}

.seat-tile .seat-icon {
  filter: grayscale(1) brightness(0) invert(53%) sepia(38%) saturate(1903%) hue-rotate(314deg) brightness(109%);
}

:is(.hero a, .closing a, .upcoming-card, .member-roster summary, .chapter-grid, .footer a):focus-visible {
  outline-color: var(--bni-accent);
}

@media (max-width: 650px) {
  .hero-content {
    background: radial-gradient(ellipse at center, #141414 50%, #141414eb 70%, transparent);
  }
}

/* Use muted grays for supporting text and rose for featured type. */
:root {
  --bni-heading: #fff;
  --bni-text: #c8c8c8;
  --color-meta: #aaa7a9;
  color: var(--bni-text);
}

.hero h1,
.home-sections h2 {
  color: var(--bni-heading);
}

.hero .gradient,
.closing .gradient {
  background-image: linear-gradient(105deg, #ff9099, #ff6874 58%, #e74b5a);
}

.hero-chapter {
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  font-size: clamp(1.125rem, 3vw, 1.375rem);
}

.hero-chapter .gradient {
  background: linear-gradient(105deg, #fff 0%, #fff 20%, #ff6874 86%, #e74b5a 100%);
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.chapter-stat dd {
  color: var(--bni-heading);
}

.chapter-stat .gradient {
  color: #ff8993;
}

.hero p,
.hero-location,
.hero-meeting-time {
  color: var(--color-meta);
}

.closing-background .footer {
  width: 100%;
  padding-inline: var(--page-gutter);
  background: #141414;
  color: #c8c8c8;
}

.closing-background .footer a {
  color: inherit;
}

.closing-background .footer a:hover {
  color: #fff;
}

.closing-background .chapter-card h3 {
  color: #fff;
}

/* On phones the illustration band follows the complete hero text stack. */
@media (max-width: 650px) {
  body.is-home {
    background: #141414;
  }

  .hero {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    min-height: 0;
    padding-block: clamp(3.5rem, 9svh, 5rem) var(--space-8);
  }

  .hero-content {
    order: -1;
    background: none;
  }

  .hero-art {
    position: relative;
    inset: auto;
    height: 19rem;
    margin-top: var(--space-6);
    mask-image: none;
  }

  .hero-art .art-frame:not(.art-1, .art-6, .art-7, .art-8, .art-10) {
    display: none;
  }

  .hero-art .art-frame {
    animation: none;
  }

  .hero-art .art-1 { left: calc(50% - 15.25rem); top: 3.5rem; width: 9.5rem; }
  .hero-art .art-6 { display: block; left: calc(50% - 5rem); right: auto; top: .5rem; width: 10rem; }
  .hero-art .art-8 { left: calc(50% + 6rem); right: auto; top: 2rem; width: 9.5rem; }
  .hero-art .art-10 { left: calc(50% - 10rem); top: 9.25rem; width: 9rem; }
  .hero-art .art-7 { left: calc(50% + 1.25rem); right: auto; top: 8.75rem; width: 10.25rem; }
}

body:has(.visit-dialog[open]) {
  overflow: hidden;
}

.visit-dialog {
  width: min(35rem, calc(100% - 2rem));
  max-height: calc(100dvh - 2rem);
  padding: clamp(1.25rem, 5vw, 2.5rem);
  border: 1px solid #494446;
  border-radius: 1.125rem;
  background: #202020;
  color: #fff;
}

.visit-dialog::backdrop {
  background: #000b;
}

.visit-close {
  position: absolute;
  top: .75rem;
  right: .75rem;
}

.visit-dialog button {
  min-height: 44px;
  padding: .625rem .875rem;
  border: 1px solid #666;
  border-radius: .75rem;
  background: #292929;
  color: #fff;
  font: inherit;
  cursor: pointer;
}

.visit-dialog button:disabled {
  opacity: .45;
  cursor: default;
}

.visit-dialog :is(button, input, a):focus-visible {
  outline: 2px solid #ff8993;
  outline-offset: 3px;
}

.visit-progress {
  margin: 0 0 .75rem;
  color: #c8c8c8;
  font-size: .875rem;
}

.visit-screen h2 {
  margin: 0 0 1rem;
  font-size: clamp(1.5rem, 5vw, 2.25rem);
  line-height: 1.15;
}

.visit-dates {
  display: grid;
  gap: .75rem;
}

.visit-dialog .visit-date {
  text-align: left;
}

.visit-date span {
  display: block;
  color: #c8c8c8;
  font-size: .875rem;
}

.visit-dialog .visit-date[aria-pressed="true"] {
  border-color: #ff8993;
}

.visit-screen input {
  width: 100%;
  min-height: 3rem;
  padding: .75rem;
  border: 1px solid #767676;
  border-radius: .75rem;
  background: #141414;
  color: #fff;
  font: inherit;
}

.visit-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: .75rem;
  margin-top: 1.25rem;
}

.visit-dialog .visit-primary {
  border-color: transparent;
  background: var(--bni-red);
}

.visit-screen a {
  color: #ff8993;
  text-decoration: underline;
}

.visit-dates-viewport {
  overflow: hidden;
  padding: 5px;
  margin: -5px;
}

.visit-dates {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  touch-action: pan-y pinch-zoom;
}

.visit-dialog .visit-date {
  display: grid;
  justify-items: center;
  gap: .25rem;
  text-align: center;
  padding: 0 0 .75rem;
}

.visit-date .visit-calendar-month {
  width: 100%;
  padding: .5rem .25rem;
  border-radius: .65rem .65rem 0 0;
  background: var(--bni-red);
  color: #fff;
  font-weight: 700;
}

.visit-calendar-day {
  font-size: clamp(2rem, 8vw, 3rem);
  line-height: 1.15;
  margin-top: .25rem;
}

@media (prefers-reduced-motion: no-preference) {
  .visit-slide-next { animation: visit-slide-next .26s ease-out; }
  .visit-slide-prev { animation: visit-slide-prev .26s ease-out; }
}

@keyframes visit-slide-next {
  from { transform: translateX(28%); opacity: .35; }
}

@keyframes visit-slide-prev {
  from { transform: translateX(-28%); opacity: .35; }
}

.visit-dialog [data-week] {
  min-width: 44px;
  font-size: 1.5rem;
  line-height: 1;
}

.visit-summary {
  display: grid;
  gap: .75rem;
  margin: 0 0 1rem;
  padding: 1rem;
  border: 1px solid #494446;
  border-radius: .75rem;
  background: #141414;
}

.visit-summary dt {
  color: #c8c8c8;
  font-size: .875rem;
}

.visit-summary dd {
  margin: 0;
  overflow-wrap: anywhere;
}

.visit-dialog a.visit-primary { color: #fff; text-decoration: none; }
#our-chapter{scroll-margin-top:24px}
