@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";:root{color:#111;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#fff;font-family:DM Sans,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0}button,input,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}::selection{color:#fff;background:#111}#root{min-height:100vh}.site-shell{overflow:hidden}.site-header{background:#fff;justify-content:space-between;align-items:center;max-width:1380px;height:82px;margin:auto;padding:0 5%;display:flex}.brand{color:#111;align-items:center;display:inline-flex}.brand-name{letter-spacing:-.055em;font:800 18px/1.1 Manrope,sans-serif}.brand-name strong{font-weight:800}.brand-name small{letter-spacing:.29em;margin-top:5px;font-size:10px;display:block}.nav-links{align-items:center;gap:36px;font-size:13px;font-weight:700;display:flex}.nav-links>a{border-bottom:2px solid #0000;padding:12px 0 10px}.nav-links>a:hover,.nav-links>a.active{border-color:#111}.nav-action{color:#111;background:#fff;border:1px solid #111;align-items:center;gap:8px;padding:11px 16px;font-weight:700;display:inline-flex}.nav-action:hover{color:#fff;background:#111}.mobile-menu{background:0 0;border:0;display:none}.hero{color:#fff;background:#000;position:relative}.hero-inner{grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);align-items:center;gap:24px;max-width:1380px;min-height:545px;margin:auto;padding:50px 5% 60px;display:grid}.hero-copy{z-index:1;position:relative}.eyebrow,.section-kicker{letter-spacing:.17em;font-size:11px;font-weight:800;display:block}.eyebrow{color:#bdbdbd}.hero h1{letter-spacing:-.075em;margin:25px 0 22px;font:800 clamp(54px,6vw,90px)/1.04 Manrope,sans-serif}.hero h1 em,.section-heading h2 em,.about-section h2 em{font-style:normal}.hero h1 em{color:#fff}.hero-copy>p{color:#c8c8c8;max-width:420px;margin:0 0 29px;font-size:17px;line-height:1.75}.hero-link{color:#111;background:#fff;align-items:center;gap:14px;padding:15px 20px;font-size:13px;font-weight:800;transition:transform .2s,background .2s;display:inline-flex}.hero-link:hover{background:#e7e7e7;transform:translateY(-2px)}.hero-art{justify-content:center;align-items:center;min-width:0;display:flex}.hero-logo{object-fit:contain;width:min(100%,625px);height:auto;display:block}.hero-bottom{color:#a9a9a9;letter-spacing:.14em;justify-content:space-between;gap:20px;max-width:1242px;margin:auto;font-size:10px;font-weight:800;display:flex;position:absolute;bottom:22px;left:5%;right:5%}.calendar-section{background:#fff;max-width:1380px;margin:auto;padding:85px 5% 105px}.section-kicker{color:#555}.section-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:30px;display:flex}.section-heading h2,.about-section h2{letter-spacing:-.065em;margin:12px 0 0;font:800 clamp(34px,3.8vw,56px)/1.12 Manrope,sans-serif}.section-heading h2 em{text-underline-offset:7px;text-decoration:underline;text-decoration-thickness:2px}.heading-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.primary-button{color:#fff;background:#111;border:1px solid #111;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:13px 19px;font-size:13px;font-weight:800;display:inline-flex}.primary-button:hover{color:#111;background:#fff}.primary-button:disabled{opacity:.6;cursor:wait}.secondary-button{color:#111;background:#fff;border:1px solid #111;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:12px 18px;font-size:13px;font-weight:800;display:inline-flex}.secondary-button:hover{color:#fff;background:#111}.text-link{border-bottom:1px solid;align-items:center;gap:10px;margin-top:20px;padding-bottom:5px;font-size:13px;font-weight:800;display:inline-flex}.text-link.light{color:#fff}.calendar-layout{grid-template-columns:minmax(0,1.9fr) minmax(270px,.85fr);align-items:stretch;gap:22px;display:grid}.calendar-card,.day-panel{background:#fff;border:1px solid #d9d9d9}.calendar-card{overflow:hidden}.calendar-toolbar{border-bottom:1px solid #e5e5e5;justify-content:space-between;align-items:center;height:75px;padding:0 25px;display:flex}.month-title{color:#111;align-items:center;gap:11px;display:flex}.month-title h3{color:#111;letter-spacing:-.04em;text-transform:capitalize;margin:0;font:800 20px Manrope,sans-serif}.month-actions{align-items:center;gap:7px;display:flex}.month-actions button{color:#111;background:#fff;border:1px solid #d9d9d9;place-items:center;min-width:35px;height:34px;font-weight:700;display:grid}.month-actions button:first-child{padding:0 12px;font-size:12px}.month-actions button:hover{color:#fff;background:#111}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.weekday{color:#666;letter-spacing:.1em;text-transform:uppercase;background:#f5f5f5;border-bottom:1px solid #e5e5e5;place-items:center;height:42px;font-size:10px;font-weight:800;display:grid}.day-cell{text-align:left;background:#fff;border:1px solid #ececec;border-top:0;border-left:0;flex-direction:column;gap:8px;min-width:0;min-height:106px;padding:11px 7px 7px 10px;display:flex;position:relative}.day-cell:nth-child(7n){border-right:0}.day-cell:hover{background:#f5f5f5}.day-cell.selected{background:#ededed;box-shadow:inset 0 0 0 2px #111}.day-cell.outside{color:#b8b8b8;background:#fafafa}.day-number{place-items:center;width:25px;height:25px;font-size:12px;font-weight:800;display:grid}.day-cell.today .day-number{color:#fff;background:#111}.day-events{flex-direction:column;gap:3px;min-width:0;display:flex}.event-chip{text-overflow:ellipsis;white-space:nowrap;color:#fff;background:#222;max-width:100%;padding:4px 5px;font-size:10px;font-weight:700;overflow:hidden}.more-events{color:#555;font-size:10px;font-weight:700}.mobile-dot{display:none}.day-panel{flex-direction:column;min-height:560px;display:flex;overflow:hidden}.panel-heading{border-bottom:1px solid #e5e5e5;padding:29px 27px 24px}.panel-heading>span{color:#555;letter-spacing:.16em;font-size:10px;font-weight:800}.panel-heading h3{color:#111;letter-spacing:-.055em;text-transform:capitalize;margin:10px 0 4px;font:800 30px/1.2 Manrope,sans-serif}.panel-heading p{color:#666;text-transform:capitalize;margin:0;font-size:13px}.event-list{padding:7px 26px 20px}.event-item{border-bottom:1px solid #e5e5e5;gap:13px;padding:18px 0;display:flex}.event-accent{background:#111;flex:0 0 4px;display:block}.event-content{min-width:0}.event-time,.event-location{color:#444;align-items:center;gap:6px;font-size:12px;font-weight:800;display:flex}.event-item h4{color:#111;letter-spacing:-.025em;margin:7px 0;font:800 17px/1.3 Manrope,sans-serif}.event-location{color:#666;margin:0;font-weight:600}.event-description{color:#555;white-space:pre-wrap;font-size:12px;line-height:1.6}.edit-link,.panel-empty button{color:#111;text-underline-offset:3px;background:0 0;border:0;margin-top:10px;padding:0;font-size:12px;font-weight:800;text-decoration:underline}.edit-link{align-items:center;gap:5px;display:inline-flex}.edit-control{margin-left:14px}.event-item h4 a:hover{text-underline-offset:3px;text-decoration:underline}.panel-empty{color:#666;flex:1;padding:30px 28px;font-size:13px;line-height:1.6}.panel-empty h4{color:#111;letter-spacing:-.025em;margin:7px 0;font:800 17px Manrope,sans-serif}.panel-empty p{max-width:230px;margin:0}.empty-icon{color:#111;background:#eee;place-items:center;width:52px;height:52px;display:grid}.panel-footer{color:#666;background:#f5f5f5;border-top:1px solid #e5e5e5;margin-top:auto;padding:18px 27px;font-size:12px;line-height:1.5}.panel-footer span{color:#111;font-weight:800;display:block}.about-section{color:#fff;background:#111;padding:75px max(5%,50vw - 621px) 90px}.about-section .section-kicker{color:#aaa}.about-row{justify-content:space-between;align-items:end;gap:60px;display:flex}.about-row p{color:#bbb;max-width:470px;margin:0 0 4px;font-size:16px;line-height:1.8}.site-footer{color:#aaa;background:#111;border-top:1px solid #333;justify-content:space-between;align-items:center;gap:20px;min-height:125px;padding:35px 5%;font-size:12px;display:flex}.footer-brand{color:#fff;letter-spacing:-.035em;font:800 15px Manrope,sans-serif}.modal-backdrop{z-index:20;background:#000000b8;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.modal{background:#fff;width:100%;max-width:520px;max-height:calc(100vh - 36px);padding:28px;overflow:auto;box-shadow:0 20px 80px #0003}.modal-header{justify-content:space-between;align-items:start;margin-bottom:25px;display:flex}.modal-header h2{letter-spacing:-.06em;margin:5px 0;font:800 31px Manrope,sans-serif}.modal-header button{background:0 0;border:0;padding:4px}.form-stack{flex-direction:column;gap:15px;display:flex}.form-stack label{color:#333;flex-direction:column;gap:7px;font-size:12px;font-weight:800;display:flex}.form-stack input,.form-stack textarea{color:#111;background:#fff;border:1px solid #aaa;border-radius:0;outline:none;width:100%;padding:11px 12px}.form-stack input:focus,.form-stack textarea:focus{border-color:#111;box-shadow:0 0 0 2px #111}.form-pair{grid-template-columns:1fr 1fr;gap:12px;display:grid}.timezone-note{color:#666;margin:-8px 0 0;font-size:11px}.form-error{color:#111;background:#eee;border-left:3px solid #111;margin:0;padding:10px;font-size:12px}.form-actions{justify-content:space-between;align-items:center;gap:15px;display:flex}.danger-link{color:#111;background:0 0;border:0;font-size:12px;font-weight:800;text-decoration:underline}.field-hint{color:#666;font-size:11px;font-weight:500;line-height:1.5;display:block}:where(a,button,input,textarea):focus-visible{outline-offset:3px;outline:3px solid #555}.page-banner{color:#fff;background:#111;padding:74px max(5%,50vw - 621px) 82px}.page-banner .eyebrow{color:#aaa}.page-banner h1{letter-spacing:-.075em;margin:16px 0 15px;font:800 clamp(48px,7vw,88px)/1.03 Manrope,sans-serif}.page-banner p{color:#c8c8c8;max-width:620px;margin:0;font-size:17px;line-height:1.7}.page-banner+.calendar-section{padding-top:62px}.detail-page{max-width:1242px;min-height:60vh;margin:auto;padding:58px 5% 100px}.admin-page{max-width:1242px;min-height:70vh;margin:auto;padding:64px 5% 100px}.admin-title{justify-content:space-between;align-items:end;gap:24px;margin-bottom:36px;display:flex}.admin-title h1{letter-spacing:-.06em;margin:10px 0;font:800 clamp(42px,5vw,68px)/1.1 Manrope,sans-serif}.admin-title p{color:#666;margin:0}.admin-panel{border:1px solid #ddd;padding:25px}.admin-panel-head{border-bottom:1px solid #ddd;justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.admin-panel-head h2{font:800 23px Manrope,sans-serif}.admin-panel-head span,.admin-event-list article span{color:#666;font-size:12px}.admin-event-list article{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;gap:16px;padding:17px 0;display:flex}.admin-event-list article>div:first-child{gap:5px;display:grid}.admin-event-actions{align-items:center;gap:16px;font-size:13px;font-weight:700;display:flex}.admin-event-actions button{background:0 0;border:0;font-weight:700;text-decoration:underline}.back-link{border-bottom:1px solid #111;align-items:center;gap:9px;padding-bottom:4px;font-size:13px;font-weight:800;display:inline-flex}.detail-heading{justify-content:space-between;align-items:end;gap:24px;margin:42px 0 34px;display:flex}.detail-heading h1,.detail-page>h1{letter-spacing:-.065em;margin:12px 0 0;font:800 clamp(40px,5vw,68px)/1.1 Manrope,sans-serif}.detail-grid{grid-template-columns:minmax(0,1.8fr) minmax(260px,.8fr);align-items:start;gap:42px;display:grid}.detail-main{min-width:0}.detail-main h2,.detail-facts h2{letter-spacing:-.045em;margin:0 0 20px;font:800 25px/1.2 Manrope,sans-serif}.detail-description{color:#444;white-space:pre-wrap;max-width:750px;margin:0;font-size:16px;line-height:1.85}.event-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:38px;display:grid}.event-gallery img{aspect-ratio:4/3;object-fit:cover;background:#eee;width:100%;display:block}.event-gallery img:first-child{aspect-ratio:16/9;grid-column:1/-1}.detail-facts{border:1px solid #d9d9d9;padding:24px}.detail-facts h2{margin-bottom:11px}.detail-facts>div{color:#333;border-top:1px solid #e5e5e5;gap:12px;padding:18px 0;font-size:13px;line-height:1.5;display:flex}.detail-facts>div:last-child{padding-bottom:0}.detail-facts strong,.detail-facts small{display:block}.detail-facts strong{color:#111;text-transform:uppercase;letter-spacing:.1em;margin-bottom:4px;font-size:11px}.detail-facts small{color:#777;margin-top:4px}.group-content{grid-template-columns:1fr 1fr;align-items:center;gap:65px;max-width:1242px;margin:auto;padding:85px 5%;display:grid}.group-content h2{letter-spacing:-.06em;margin:15px 0;font:800 clamp(34px,4vw,56px)/1.13 Manrope,sans-serif}.group-content p{color:#555;max-width:520px;margin:0 0 22px;font-size:16px;line-height:1.8}.group-content img{background:#000;width:100%;display:block}.group-location{max-width:1242px;margin:auto;padding:20px 5% 90px}.group-location-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:25px;display:flex}.group-location-heading h2{letter-spacing:-.065em;margin:12px 0 7px;font:800 clamp(34px,4vw,56px)/1.12 Manrope,sans-serif}.group-location-heading h2 em{text-underline-offset:7px;font-style:normal;text-decoration:underline;text-decoration-thickness:2px}.group-location-heading p{color:#666;margin:0}.map-frame{aspect-ratio:16/9;background:#eee;width:100%;min-height:300px;position:relative;overflow:hidden}.map-frame iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.auth-error{color:#8f1212;text-align:center;background:#fff0f0;margin:0;padding:12px 5%}@media (width<=900px){.calendar-layout{grid-template-columns:1fr}.day-panel{min-height:320px}.about-row{align-items:start}.about-row p{max-width:350px}.detail-grid{grid-template-columns:1fr}.group-content{gap:30px}}@media (width<=680px){.site-header{height:68px}.brand-name{font-size:14px}.brand-name small{font-size:8px}.mobile-menu{display:block}.nav-links{z-index:10;background:#fff;border-top:1px solid #ddd;flex-direction:column;align-items:stretch;gap:15px;padding:20px 5%;display:none;position:absolute;top:68px;left:0;right:0;box-shadow:0 10px 20px #0000001a}.nav-links.open{display:flex}.nav-action{align-self:start}.hero-inner{flex-direction:column;align-items:start;gap:10px;min-height:0;padding-top:55px;padding-bottom:62px;display:flex}.hero h1{font-size:clamp(48px,11vw,66px)}.hero-copy>p{font-size:15px}.hero-art{width:100%;margin-top:7px}.hero-logo{width:min(100%,430px)}.hero-bottom{font-size:8px}.calendar-section{padding:64px 4% 75px}.section-heading{flex-direction:column;align-items:start}.heading-actions{width:100%}.section-heading h2{font-size:38px}.calendar-toolbar{height:65px;padding:0 12px}.month-title{gap:6px}.month-title h3{font-size:16px}.weekday{height:35px}.day-cell{align-items:center;min-height:66px;padding:5px}.day-events{display:none}.mobile-dot{background:#111;border-radius:50%;width:5px;height:5px;display:block;position:absolute;bottom:9px}.day-panel{min-height:300px}.about-section{padding:65px 5%}.about-row{display:block}.about-row p{margin-top:25px}.site-footer{flex-direction:column;align-items:start;padding:35px 5%}.form-pair{grid-template-columns:1fr}.page-banner{padding:56px 5% 64px}.page-banner p{font-size:15px}.detail-page{padding:40px 5% 75px}.detail-heading{display:block}.detail-heading .secondary-button{margin-top:20px}.event-gallery{gap:7px}.group-content{padding:64px 5%;display:block}.group-content img{margin-top:30px}.group-location{padding:8px 5% 65px}.group-location-heading{flex-direction:column;align-items:start}.map-frame{aspect-ratio:4/3;min-height:260px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
