@font-face{font-family:Inter;font-style:normal;font-weight:200 800;font-display:swap;src:url(assets/inter-greek-ext.woff2?v=0e9506b6db747186) format('woff2');unicode-range:U+1F00-1FFF}
@font-face{font-family:Inter;font-style:normal;font-weight:200 800;font-display:swap;src:url(assets/inter-greek.woff2?v=0e9506b6db747186) format('woff2');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}
@font-face{font-family:Inter;font-style:normal;font-weight:200 800;font-display:swap;src:url(assets/inter-latin.woff2?v=0e9506b6db747186) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--purple:#4a0080;--orange:#ff6600;--neutral:#eeeae3;--ink:#242026;--muted:#68636b;--line:#dedbe0;--pad:clamp(22px,5vw,64px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0;background:#fff;color:var(--ink);font:15px/1.65 Inter,Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer;background:none;border:0}a{color:inherit;text-underline-offset:4px}img{display:block;max-width:100%;height:auto}h1,h2,h3,h4,p{margin:0}h2,h3{text-wrap:balance}h2{font-size:clamp(30px,3.4vw,42px);font-weight:500;line-height:1.18;letter-spacing:-.035em;color:var(--purple)}h3{font-weight:600;letter-spacing:-.025em}button:disabled{cursor:not-allowed}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--purple);outline-offset:3px;box-shadow:0 0 0 3px #fff!important}::selection{background:var(--orange);color:#211624}[hidden]{display:none!important}.wrap{max-width:1280px;margin-inline:auto;padding-inline:var(--pad)}.section-space{padding-block:76px}.skip-link{position:fixed;top:-100px;left:20px;z-index:50;padding:12px 20px;background:#fff}.skip-link:focus{top:12px}.icon{width:18px;height:18px;display:inline-block;flex:0 0 18px;vertical-align:middle}
.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:12px 20px;border:1px solid transparent;border-radius:0;text-decoration:none;font-size:13px;font-weight:600;line-height:1.5;transition:background .15s,color .15s}.primary{background:var(--orange);color:#261c2b}.primary:hover{background:#ff7d25}.secondary{background:#fff;border-color:#b7adbf;color:var(--purple)}.secondary:hover{background:var(--neutral)}.button:disabled{background:#e7e3e9;color:#695b74;border-color:#d4cadc}.text-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 0;font-size:13px;font-weight:500;text-decoration:underline;text-decoration-color:#b1a6b8}.text-link:hover{color:var(--purple);text-decoration-color:var(--purple)}.source-link{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-size:12px;color:var(--purple)}.eyebrow{font-size:10px;letter-spacing:.13em;font-weight:600;line-height:1.8;margin-bottom:16px;color:var(--muted)}
.header{position:sticky;top:0;z-index:10;background:#fff;border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:96px}.brand{width:206px;flex:0 0 206px;padding-block:14px}.header nav{display:flex;gap:30px;margin-left:auto}.header nav a{min-height:44px;display:flex;align-items:center;text-decoration:none;font-size:13px;font-weight:500}.header nav a:hover{color:var(--purple);text-decoration:underline}.header-cta{margin-left:8px}.mobile-nav{display:none!important}
.hero{background:var(--purple);color:#fff}.hero-grid{display:grid;grid-template-columns:1fr 1fr;padding-inline:0;align-items:stretch}.hero-copy{padding:48px var(--pad)}.hero-date{color:#ffb482;font-size:14px;font-weight:500;display:flex;align-items:center;flex-wrap:wrap;gap:5px 18px;margin-bottom:25px}.hero-date span{border-left:1px solid #9d75b7;padding-left:18px;color:#fff}.hero h1{font-size:clamp(64px,6.8vw,86px);font-weight:500;letter-spacing:-.055em;line-height:1.1;color:#fff;margin-bottom:17px}.hero-subtitle{font-size:25px;font-weight:400;line-height:1.35;letter-spacing:-.025em}.hero-intro{font-size:14px;line-height:1.8;color:#dfd0e9;max-width:370px;margin-top:23px}.hero-button{margin-top:28px;background:transparent;color:#fff;border-color:#ae8dc5}.hero-button:hover{background:#60238c}.hero-photo{margin:0;position:relative;min-height:440px;overflow:hidden;background:#251b2b}.hero-photo>img{width:100%;height:100%;object-fit:cover;object-position:48% 50%;position:absolute;inset:0}.hero-photo figcaption{position:absolute;bottom:0;left:0;right:0;background:#17151cbf;color:#e6e2e8;font-size:9px;line-height:1.6;padding:9px 16px;display:flex;justify-content:space-between;gap:12px}.hero-photo figcaption a{white-space:nowrap;color:#fff}
.event-summary{border-bottom:1px solid #d8d2ca;background:var(--neutral)}.event-summary-inner{display:grid;grid-template-columns:1.3fr 1fr 1.2fr auto;gap:28px;align-items:center;padding-block:23px}.summary-detail{display:flex;align-items:center;gap:12px}.summary-detail>.icon{color:var(--purple)}.summary-label{display:block;font-size:10px;color:var(--muted);margin-bottom:2px}.summary-detail strong{display:block;font-size:13px;font-weight:600}.countdown{display:flex;align-items:center;gap:12px;min-width:0}.countdown>div{min-width:0}.countdown-number{font-size:35px;line-height:1;letter-spacing:-.04em;font-weight:500;color:var(--purple);font-variant-numeric:tabular-nums}.countdown-number.date-fallback{font-size:26px}.countdown-label,.countdown-unit{display:block;font-size:10px;line-height:1.75;letter-spacing:.02em}.countdown-label{font-weight:600}.countdown-unit{color:var(--muted)}.summary-calendar{font-size:11px;color:var(--purple);white-space:nowrap}
.invitation{display:grid;grid-template-columns:1fr 1.6fr;gap:90px}.invitation-body>p{font-size:14px;color:var(--muted);margin-bottom:18px;max-width:700px}.invitation-body>p.lead{font-size:21px;line-height:1.6;font-weight:400;letter-spacing:-.025em;color:var(--ink);margin-bottom:24px}.invitation-body .text-link{color:var(--purple)}
.details-section{background:#faf9f7;border-block:1px solid #e6e1d9}.section-heading{display:grid;grid-template-columns:1fr 1.6fr;gap:90px;align-items:end;margin-bottom:35px}.section-heading .eyebrow{margin-bottom:12px}.section-intro{font-size:13px;color:var(--muted);max-width:630px}.day-filters{display:flex;gap:28px;border-bottom:1px solid #d7cfdf}.day-filters button{position:relative;font-size:12px;font-weight:500;padding:14px 0 16px;min-height:48px;color:var(--muted)}.day-filters button[aria-pressed=true]{color:var(--purple)}.day-filters button[aria-pressed=true]:after{content:'';position:absolute;height:3px;bottom:-1px;left:0;right:0;background:var(--purple)}.day-filters strong{font-weight:500;margin-left:3px}.filter-status{font-size:10px;color:var(--muted);margin:16px 0 0}.agenda-item{display:grid;grid-template-columns:130px 1fr;gap:34px;padding:30px 0;border-bottom:1px solid #dcd5e1}.agenda-date{display:flex;flex-direction:column;align-items:flex-start;color:var(--purple)}.agenda-date strong{font-size:42px;font-weight:500;letter-spacing:-.045em;line-height:1.15}.agenda-date span{font-size:12px;font-weight:500;margin-top:6px}.agenda-date small{font-size:10px;color:var(--muted);margin-top:2px}.event-badge{display:inline-flex;align-items:center;font-size:10px;line-height:1.5;font-weight:500;color:var(--purple);padding-left:9px;border-left:2px solid var(--purple)}.event-badge.pending{border-left-color:#b99465;color:#7b674f}.agenda-content h3{font-size:25px;font-weight:500;color:var(--ink);margin:12px 0 14px}.agenda-meta{display:flex;align-items:center;flex-wrap:wrap;gap:7px;font-size:12px;margin-bottom:12px;color:var(--purple)}.agenda-meta .icon{width:15px;height:15px;flex-basis:15px}.agenda-content>p:not(.agenda-meta){font-size:13px;color:var(--muted);max-width:760px}.agenda-links{display:flex;gap:24px;margin-top:8px;align-items:center}.agenda-links a{font-size:11px}.agenda-footnote{font-size:10px;color:var(--muted);margin-top:24px}
.principles-section{display:grid;grid-template-columns:1fr 1.6fr;gap:90px}.principles-intro{font-size:14px;line-height:1.8;color:var(--muted);margin-top:24px}.principles{margin:0}.principles>div{display:grid;grid-template-columns:150px 1fr;gap:28px;padding:22px 0;border-bottom:1px solid var(--line)}.principles>div:first-child{padding-top:0}.principles dt{font-size:17px;color:var(--purple);font-weight:500;letter-spacing:-.025em}.principles dd{margin:0;font-size:13px;color:var(--muted);line-height:1.8}
.venue-section{background:#f5f3f6;border-block:1px solid #e7e1eb}.venue-layout{display:grid;grid-template-columns:1fr 1.6fr;gap:90px}.venue-content{padding-top:12px}.venue-content .eyebrow{font-size:9px;margin-bottom:10px}.venue-content h3{font-size:31px;font-weight:500;color:var(--purple);margin-bottom:18px}.venue-address{font-size:13px;color:var(--muted);line-height:1.9}.venue-actions{display:flex;align-items:center;gap:12px 18px;flex-wrap:wrap;margin-top:25px}.venue-actions .button{font-size:11px}.venue-actions .text-link{font-size:11px}.venue-note{font-size:11px;color:var(--muted);line-height:1.8;margin-top:27px;max-width:365px}.venue-map{margin:0;background:#e8e4ea;border:1px solid #d6cedb}.map-stage{position:relative;min-height:365px;display:flex;align-items:center;justify-content:center}.map-placeholder{padding:30px;max-width:345px;text-align:center}.map-marker .icon{width:27px;height:27px;color:var(--purple);margin-bottom:13px}.map-placeholder h4{font-size:17px;font-weight:500}.map-placeholder p{font-size:12px;color:var(--muted);line-height:1.8;margin:14px 0 23px}.map-placeholder .button{font-size:12px}.map-status{position:absolute;z-index:1;top:10px;left:10px;background:#fff;padding:6px 10px;font-size:11px}.venue-map iframe{position:absolute;inset:0;width:100%;height:100%;min-height:365px;border:0}.venue-map figcaption{padding:10px 16px;display:flex;align-items:center;gap:7px;font-size:10px;border-top:1px solid #d6cedb;color:var(--muted)}.venue-map figcaption .icon{width:14px;height:14px}
.registration-section{background:var(--purple);color:#fff}.registration-inner{display:grid;grid-template-columns:1fr auto;gap:70px;align-items:center;padding-block:55px}.registration-section .eyebrow{color:#d3bce2;margin-bottom:13px}.registration-section h2{color:#fff;font-size:34px}.registration-section h2+p{font-size:13px;line-height:1.8;color:#e0d1ea;max-width:480px;margin-top:20px}.registration-status{min-width:280px}.registration-status>p{font-size:12px;color:#e6d7ef;margin-bottom:14px}.registration-status .button{width:100%;min-height:50px}.registration-status .button:disabled{color:#fff;background:#613086;border-color:#af89c4;opacity:1}
.faq-section{display:grid;grid-template-columns:1fr 1.6fr;gap:90px}.faq-section h2{font-size:34px}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:22px;cursor:pointer;list-style:none;font-size:14px;font-weight:500;padding:21px 0}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';color:var(--purple);font-size:22px;font-weight:400}.faq-list details[open] summary:after{content:'−'}.faq-list details>div{padding-bottom:22px;font-size:13px;color:var(--muted)}
.footer{background:var(--neutral);border-top:1px solid #ded7cd;padding-block:42px 22px}.footer-main{display:grid;grid-template-columns:1fr 1fr 1fr;gap:50px}.footer-identity strong{font-size:31px;font-weight:500;letter-spacing:-.045em;color:var(--purple)}.footer-identity p{font-size:11px;line-height:1.8;color:var(--muted);margin-top:11px}.footer-label{display:block;font-size:9px;font-weight:600;letter-spacing:.1em;color:var(--muted);margin:7px 0 17px}.footer-organizer a,.footer-membership a{display:flex;align-items:center;gap:8px;font-size:12px;min-height:35px;text-decoration:none}.footer-organizer a:hover,.footer-membership a:hover{text-decoration:underline}.footer-membership p{font-size:10px;line-height:1.8;color:var(--muted);margin-top:10px}.footer .icon{width:14px;height:14px;flex-basis:14px}.footer-links{display:flex;align-items:center;gap:24px;border-top:1px solid #d4ccc1;padding-top:18px;margin-top:32px;font-size:10px;color:var(--muted)}.footer-links>span{margin-right:auto}.footer-links button{font-size:10px;min-height:36px;padding:0}.footer-links button:hover{text-decoration:underline}
dialog{width:min(560px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow:auto;margin:auto;padding:40px;border:0;border-top:4px solid var(--purple);border-radius:0;background:#fff;color:var(--ink);box-shadow:0 18px 60px #21132e33}dialog::backdrop{background:#21122a99}dialog .eyebrow{margin-bottom:12px}dialog h2{font-size:30px;margin:0 0 22px;font-weight:500}dialog>p:not(.eyebrow){font-size:13px;line-height:1.8;color:var(--muted);margin-bottom:18px}.dialog-close{display:flex;align-items:center;justify-content:center;position:absolute;right:10px;top:10px;width:40px;height:40px}.dialog-actions{display:flex;flex-direction:column;gap:10px;margin:25px 0 18px}.dialog-note{font-size:11px!important;line-height:1.7!important}.modal-open{overflow:hidden}dialog input[type=url]{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:0;font-size:12px;background:#f8f7f9;color:var(--ink)}dialog label{display:block;font-size:12px;margin-bottom:8px}.calendar-reminder{background:#f5f3f6;padding:16px}.calendar-reminder label{display:flex;align-items:center;gap:10px;font-size:13px}.calendar-reminder p{font-size:11px;color:var(--muted)}input[type=checkbox]{width:19px;height:19px;accent-color:var(--purple);flex-shrink:0}.download-card{min-height:44px;font-size:12px;display:flex;gap:9px;align-items:center;justify-content:center}
.cookie-banner{position:fixed;bottom:20px;left:20px;right:20px;z-index:30;max-width:1240px;margin-inline:auto;background:#fff;padding:22px;border:1px solid #cdc3d3;box-shadow:0 8px 36px #24192c26;display:flex;align-items:center;gap:30px}.cookie-banner h2{font-size:16px;font-weight:600;letter-spacing:0;margin-bottom:7px}.cookie-banner p{font-size:11px;line-height:1.75;color:var(--muted);max-width:570px}.cookie-actions{display:flex;gap:8px;margin-left:auto;flex-shrink:0}.cookie-actions .button{font-size:11px;padding:10px 13px;min-height:44px}.inline-link{padding:0;text-decoration:underline;font-size:inherit}.cookie-option{display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);padding:20px 0;margin-top:15px}.cookie-option h3,.cookie-option strong{font-size:14px;font-weight:500}.cookie-option p,.option-description{display:block;font-size:11px;color:var(--muted);margin-top:8px;line-height:1.8}.cookie-option .event-badge{font-size:9px;white-space:nowrap}.cookie-option code{font-size:10px}.cookie-option input{min-width:20px}.noscript-note{font-size:12px;background:var(--neutral);padding-block:20px}
@media(max-width:1100px){
.header nav{gap:23px}.hero-copy{padding:40px 36px}.hero h1{font-size:70px}.hero-subtitle{font-size:23px}.hero-photo{min-height:435px}.event-summary-inner{grid-template-columns:1.35fr 1fr 1.2fr;gap:24px}.summary-calendar{grid-column:1/-1;min-height:28px;padding:0;border-top:1px solid #d8d0c4;padding-top:12px;margin-top:-4px}.invitation,.section-heading,.principles-section,.venue-layout,.faq-section{gap:50px;grid-template-columns:1fr 1.7fr}.principles>div{grid-template-columns:130px 1fr;gap:20px}.cookie-banner{display:block}.cookie-banner p{max-width:none}.cookie-actions{margin:16px 0 0}}
@media(max-width:820px){
html{scroll-padding-top:130px}.header-inner{min-height:80px;gap:18px}.brand{width:180px;flex-basis:180px}.header nav{display:none}.header-cta{margin-left:auto;font-size:12px;padding:11px 17px}.mobile-nav{display:flex!important;gap:30px;border-top:1px solid #ece7ef;padding:0 var(--pad);min-height:41px}.mobile-nav a{display:flex;align-items:center;font-size:11px;text-decoration:none;min-height:40px}.hero h1{font-size:clamp(50px,8vw,62px)}.hero-copy{padding:32px 28px}.hero-date{font-size:12px;gap:5px 12px}.hero-date span{padding-left:12px}.hero-subtitle{font-size:21px}.hero-intro{font-size:12px;line-height:1.75}.hero-button{font-size:12px;padding:11px 15px}.hero-photo{min-height:425px}.hero-photo figcaption{font-size:10px;display:block}.hero-photo figcaption a{margin-left:7px}.event-summary-inner{gap:20px}.summary-detail{gap:8px}.summary-detail strong{font-size:11px}.countdown{gap:9px}.countdown-unit,.countdown-label{font-size:10px}.section-space{padding-block:60px}.invitation,.section-heading,.principles-section,.venue-layout,.faq-section{gap:35px;grid-template-columns:1fr 1.5fr}.invitation h2{font-size:31px}.invitation-body>p.lead{font-size:18px}.principles>div{grid-template-columns:1fr;gap:8px;padding-block:18px}.principles dt{font-size:16px}.venue-layout{gap:30px}.venue-actions{gap:8px}.registration-inner{grid-template-columns:1fr 260px;gap:35px}.registration-section h2{font-size:29px}.registration-status{min-width:0}.faq-section h2{font-size:29px}.footer-main{gap:26px;grid-template-columns:1.1fr 1fr 1fr}}
@media(max-width:600px){
:root{--pad:22px}.header-inner{min-height:76px;gap:15px}.brand{width:172px;flex-basis:172px}.header-cta{font-size:11px;min-height:42px;padding:10px 14px}.mobile-nav{justify-content:space-between;gap:16px}.hero-grid{grid-template-columns:1fr}.hero-copy{padding:31px var(--pad) 33px}.hero-date{font-size:12px;margin-bottom:20px}.hero h1{font-size:64px;margin-bottom:11px}.hero-subtitle{font-size:22px;line-height:1.32}.hero-subtitle br{display:none}.hero-intro{font-size:13px;max-width:370px;margin-top:18px}.hero-button{margin-top:22px}.hero-photo{min-height:0;aspect-ratio:1.72}.hero-photo>img{object-position:50% 41%}.hero-photo figcaption{font-size:10px;display:flex;padding:7px 12px}.event-summary-inner{grid-template-columns:1fr 1fr;gap:20px 12px;padding-block:22px}.summary-detail{align-items:flex-start}.summary-detail>.icon{margin-top:5px;width:16px;height:16px;flex-basis:16px}.summary-detail strong{font-size:11px;line-height:1.65}.summary-label{font-size:9px}.countdown{grid-column:1;gap:8px}.countdown-number{font-size:31px}.countdown-unit,.countdown-label{font-size:10px}.summary-calendar{grid-column:2;border:0;padding:0;margin:0;font-size:10px;white-space:normal;line-height:1.6;align-self:center}.summary-calendar .icon{width:16px;height:16px;flex-basis:16px}.section-space{padding-block:48px}.invitation,.section-heading,.principles-section,.venue-layout,.faq-section{grid-template-columns:1fr;gap:25px}h2,.invitation h2{font-size:31px}.invitation h2 br{display:none}.eyebrow{font-size:9px;margin-bottom:12px}.invitation-body>p.lead{font-size:18px;margin-bottom:20px}.invitation-body>p{font-size:13px}.section-heading{align-items:start;margin-bottom:22px}.section-intro{font-size:12px}.day-filters{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.day-filters button{font-size:11px;padding:12px 0;min-height:44px;text-align:left}.filter-status{font-size:11px;line-height:1.7}.agenda-item{grid-template-columns:66px 1fr;gap:18px;padding:25px 0}.agenda-date strong{font-size:35px}.agenda-date span{font-size:10px}.agenda-date small{font-size:9px}.agenda-content h3{font-size:21px;line-height:1.35;margin:10px 0 13px}.event-badge{font-size:9px}.agenda-meta{font-size:10px;gap:5px}.agenda-meta .icon{width:13px;height:13px;flex-basis:13px}.agenda-content>p:not(.agenda-meta){font-size:12px;line-height:1.8}.agenda-links{gap:20px;flex-wrap:wrap}.agenda-links a{font-size:10px}.agenda-footnote{font-size:11px}.principles-section{gap:30px}.principles-intro{margin-top:17px;font-size:13px}.principles-intro br{display:none}.principles>div{grid-template-columns:110px 1fr;gap:18px;padding-block:18px}.principles dt{font-size:15px}.principles dd{font-size:12px}.venue-content{padding-top:0}.venue-content h3{font-size:29px}.venue-address{font-size:12px}.venue-actions{gap:10px 20px;margin-top:20px}.venue-note{font-size:10px;margin-top:20px}.map-stage,.venue-map iframe{min-height:310px}.map-placeholder{padding:25px}.map-placeholder p{font-size:11px}.registration-inner{grid-template-columns:1fr;gap:27px;padding-block:42px}.registration-section h2{font-size:29px}.registration-section h2+p{font-size:12px;margin-top:17px}.registration-status{max-width:340px}.registration-status>p{font-size:11px}.registration-status .button{font-size:12px}.faq-section{gap:24px}.faq-section h2{font-size:29px}.faq-list summary{font-size:13px;padding:19px 0}.faq-list details>div{font-size:12px}.footer{padding-block:35px 17px}.footer-main{grid-template-columns:1fr 1fr;gap:25px}.footer-identity{grid-column:1/-1}.footer-identity strong{font-size:30px}.footer-identity p{font-size:10px}.footer-label{font-size:8px;margin-bottom:11px}.footer-organizer a,.footer-membership a{font-size:11px;line-height:1.75;min-height:36px}.footer-membership p{font-size:9px}.footer-links{gap:16px;flex-wrap:wrap;padding-top:16px;margin-top:25px}.footer-links>span{flex-basis:100%;font-size:9px}.cookie-banner{left:12px;right:12px;bottom:12px;padding:16px}.cookie-banner h2{font-size:15px}.cookie-banner p{font-size:10px;line-height:1.8}.cookie-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:14px}.cookie-actions .button{font-size:10px;min-height:44px;padding:10px}.cookie-actions .primary{grid-column:1/-1}.cookie-option{align-items:flex-start}.cookie-option .event-badge{white-space:normal;max-width:85px}dialog{padding:38px 24px 25px}dialog h2{font-size:27px}dialog>p:not(.eyebrow){font-size:12px}}
@media(max-width:360px){
:root{--pad:18px}.brand{width:150px;flex-basis:150px}.header-inner{gap:10px}.header-cta{padding:10px 12px}.hero h1{font-size:57px}.hero-subtitle{font-size:20px}.hero-photo figcaption{font-size:9px;padding-inline:9px;gap:6px}.hero-photo figcaption a{margin-left:0}.agenda-item{grid-template-columns:55px 1fr;gap:15px}.agenda-content h3{font-size:19px}.principles>div{grid-template-columns:1fr;gap:8px}.summary-detail strong{font-size:11px}.countdown-number{font-size:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}


/* A warmer conference identity. Existing content, dialogs and handoffs stay intact. */
:root { --cream:#fff8ee; --lilac:#ede2f6; --peach:#ffe0c8; --muted:#625b66; }
body { background:var(--cream); }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.section-space { padding-block:64px; }
.button { border-radius:7px; min-height:48px; position:relative; overflow:hidden; transition:background .2s,box-shadow .2s,transform .2s; }
.eyebrow { color:var(--purple); font-size:11px; letter-spacing:.12em; }
h2 { font-size:clamp(32px,3.7vw,46px); font-weight:550; }
.header { background:#fffdf9; border-bottom:0; transition:box-shadow .25s; }
.header.is-scrolled { box-shadow:0 5px 20px #310c5012; }
.header-inner { min-height:86px; }
.brand { flex-shrink:1; min-width:80px; }
.header nav a { position:relative; }
.header nav a,.mobile-nav a { gap:7px; }
.header nav a>.icon { width:16px; height:16px; flex-basis:16px; }
.header-cta { gap:7px; }
.header-cta .icon { width:17px; height:17px; flex-basis:17px; }
.header nav a::after { content:''; position:absolute; bottom:10px; height:2px; background:var(--orange); left:0; right:0; transform:scaleX(0); transform-origin:left; transition:transform .25s; }
.header nav a:hover { text-decoration:none; }
.header nav a.is-active::after { transform:scaleX(1); }
.header .mobile-nav a::after { bottom:0; }
.mobile-nav a.is-active { color:var(--purple); }
.hero { background:var(--orange); color:var(--purple); overflow:hidden; }
.hero-grid { grid-template-columns:1fr 1.08fr; gap:10px; }
.hero-copy { padding:48px var(--pad) 48px; align-self:center; min-width:0; }
.hero-heading,.hero-overview { display:contents; }
.hero-date { display:inline-flex; color:var(--purple); background:#fff1e2; border-radius:5px; padding:8px 12px; margin-bottom:24px; font-size:13px; gap:8px 14px; }
.hero-date span { color:var(--purple); border-color:#4a008055; padding-left:14px; }
.hero h1 { color:var(--purple); font-size:clamp(42px,7.2vw,92px); font-weight:550; line-height:1.05; margin-bottom:18px; overflow-wrap:break-word; overflow-wrap:anywhere; }
.hero h1.hero-logo { display:block; width:min(100%,480px); padding:20px; background:var(--purple); border-radius:7px; }
.hero-logo img { display:block; width:100%; height:auto; }
.metagora-wordmark { display:block; width:100%; height:auto; }
.wordmark-badge { display:inline-flex; align-items:center; gap:8px; vertical-align:middle; padding:9px 12px; border-radius:5px; background:var(--purple); color:#f5f2f8; }
.wordmark-badge .metagora-wordmark { width:120px; }
.share-summary { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.hero-subtitle { color:var(--purple); font-size:clamp(22px,2.2vw,28px); font-weight:500; }
.hero-motto { color:#480078; font-weight:650; font-size:16px; margin-top:24px; }
.hero-intro { color:#321b36; font-size:14px; line-height:1.8; margin-top:10px; }
.hero-button { background:var(--purple); border-color:var(--purple); color:#fff; margin-top:25px; }
.hero-button:hover { background:#360060; }
.hero-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:25px; }
.hero-actions .hero-button { margin-top:0; }
.hero-share { color:var(--purple); border:1px solid #4a008077; background:transparent; font-size:12px; }
.hero-share:hover { background:#ffffff44; }
.hero-share-slot { display:flex; flex:0 0 158px; min-height:48px; }
.hero-share-slot>.button,.hero-share-slot>noscript,.hero-share-slot>noscript>.button { width:100%; }
.hero-photo { margin:22px 24px 22px 0; border-radius:100px 12px 12px 12px; min-height:490px; box-shadow:0 12px 30px #5c220026; }
.hero-photo>img { object-position:80% 50%; }
.hero-photo figcaption { font-size:10px; padding:10px 18px; background:#21052ebd; }
.hero-photo figcaption a,.community-photo figcaption a { display:inline-flex; align-items:center; gap:4px; }
.hero-photo figcaption .icon,.community-photo figcaption .icon { width:13px; height:13px; flex-basis:13px; }
.community-ribbon { background:var(--purple); color:#fff; overflow:hidden; }
.community-ribbon .wrap { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-block:16px; }
.community-ribbon span { font-size:clamp(15px,1.8vw,22px); font-weight:500; }
.community-ribbon span:nth-child(2),.community-ribbon span:nth-child(4) { color:#ffb780; }
.event-summary { background:#fffdf9; border-color:#e3d8cc; }
.event-summary-inner { padding-block:25px; }
.summary-detail>.icon { width:36px; height:36px; flex-basis:36px; padding:8px; background:var(--lilac); border-radius:50%; }
.summary-label { font-size:11px; }
.summary-calendar { padding:11px 15px; border:1px solid #cdb8de; border-radius:7px; text-decoration:none; margin:0; }
.countdown-number { font-size:42px; font-weight:600; }
.invitation-section { background:var(--cream); }
.invitation { grid-template-columns:1fr 1.5fr; gap:64px; }
.invitation .section-heading-copy { background:var(--lilac); padding:30px; border-radius:12px 12px 55px 12px; display:flex; flex-direction:column; justify-content:center; }
.invitation h2 { font-size:clamp(36px,4vw,50px); line-height:1.18; }
.invitation-body>p { font-size:14px; }
.invitation-body>p.lead { font-size:22px; }
.community-gallery { display:grid; grid-template-columns:1fr 1fr .72fr; gap:22px; margin-top:37px; align-items:stretch; }
.community-photo { margin:0; min-width:0; }
.photo-window { height:270px; overflow:hidden; border-radius:12px; }
.photo-window img { width:100%; height:100%; object-fit:cover; transition:transform .65s cubic-bezier(.2,.65,.3,1); }
.community-photo:first-child .photo-window { border-radius:55px 12px 12px 12px; }
.community-photo figcaption { font-size:10px; color:var(--muted); padding-top:10px; line-height:1.7; }
.community-photo figcaption a { margin-left:6px; color:var(--purple); }
.gallery-note { background:var(--peach); color:var(--purple); border-radius:12px 12px 55px 12px; padding:25px; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; margin-bottom:28px; }
.gallery-note>.icon { width:34px; height:34px; margin-bottom:21px; }
.gallery-note p { font-size:clamp(27px,2.6vw,35px); letter-spacing:-.045em; font-weight:550; line-height:1.2; }
.gallery-note>span:last-child { font-size:11px; line-height:1.8; margin-top:17px; }
.details-section { background:#f5eff9; border:0; }
.section-heading { gap:64px; grid-template-columns:1fr 1.5fr; }
.section-intro { font-size:14px; }
.details-section .section-heading { grid-template-columns:1fr 1fr; gap:36px; margin-bottom:27px; }
.details-section .section-intro { max-width:390px; justify-self:end; font-size:16px; line-height:1.7; }
.details-section .day-filters { display:inline-flex; gap:4px; border:1px solid #e6dceb; padding:5px; border-radius:10px; background:#fffcf9; flex-wrap:wrap; }
.details-section .day-filters button { padding:10px 17px; min-height:44px; border:0; background:transparent; color:#65536f; border-radius:6px; transition:background .2s,color .2s; }
.details-section .day-filters button[aria-pressed=true] { background:var(--purple); color:#fff; }
.details-section .day-filters button[aria-pressed=true]::after { content:none; }
.details-section .day-filters strong { font-weight:650; }
.details-section #agenda-list { margin-top:27px; border:1px solid #e5dbe9; border-radius:14px; overflow:hidden; background:#fffdf9; }
.details-section .agenda-item { margin:0; padding:27px 32px; border:0; border-bottom:1px solid #e9e0ed; border-radius:0; background:transparent; grid-template-columns:106px minmax(0,1fr); gap:30px; transition:background .2s; }
.details-section .agenda-item:last-child { border-bottom:0; }
.details-section .agenda-date { align-self:stretch; border-right:1px solid #e9e0ed; padding-right:23px; }
.details-section .agenda-date strong { font-size:52px; font-weight:550; line-height:1; }
.details-section .agenda-date span { font-size:12px; margin-top:10px; }
.details-section .agenda-date small { font-size:10px; margin-top:4px; }
.details-section .is-public .agenda-date strong { color:#d45400; }
.details-section .is-pending .agenda-date { color:#8a7298; }
.details-section .is-pending .agenda-date>span { color:#75677e; }
.agenda-session-header { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.agenda-time { display:inline-flex; align-items:center; gap:8px; font-size:22px; font-weight:550; line-height:1; font-variant-numeric:tabular-nums; color:var(--purple); white-space:nowrap; }
.agenda-time>.icon { width:17px; height:17px; flex-basis:17px; color:#8a7298; }
.details-section .agenda-content h3 { font-size:27px; font-weight:550; line-height:1.25; margin:14px 0 10px; }
.details-section .agenda-meta { color:#75677e; font-size:12px; margin-bottom:9px; }
.details-section .agenda-content>p:not(.agenda-meta) { font-size:13px; line-height:1.75; max-width:760px; }
.details-section .event-badge { border:0; border-radius:20px; padding:5px 10px; background:#eee4f5; color:var(--purple); font-size:10px; }
.details-section .is-public .event-badge { background:#ffe6d4; color:#984200; }
.details-section .event-badge.pending { background:#f0edf2; color:#76637f; }
.details-section .agenda-links { margin-top:11px; gap:24px; }
.details-section .agenda-links a { font-size:11px; }
.principles-band { background:var(--purple); color:#fff; }
.principles-section { grid-template-columns:1fr 1.5fr; gap:64px; align-items:center; }
.principles-section h2 { color:#fff; }
.principles-section .eyebrow { color:#ffb780; }
.principles-intro { color:#e3d3ef; }
.principles { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.principles dt,.principles dd { overflow-wrap:break-word; overflow-wrap:anywhere; }
.principles>div,.principles>div:first-child { display:block; padding:23px; border:0; border-radius:9px; background:#f2eafa; transition:transform .25s; }
.principles>div:nth-child(2) { background:#ffc99e; }
.principles>div:nth-child(3) { background:#e7d8f2; }
.principles>div:nth-child(4) { background:#fff1df; }
.principles dt { display:flex; align-items:center; gap:10px; font-size:17px; font-weight:600; margin-bottom:13px; }
.principles dt .icon { flex-basis:21px; width:21px; height:21px; }
.principles dd { color:#564b5d; font-size:13px; }
.venue-section { background:#fff8ef; border:0; }
.venue-section .section-heading { grid-template-columns:1fr; gap:0; }
.venue-section .venue-layout { grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:36px; align-items:stretch; }
.venue-photo { position:relative; margin:0; min-width:0; display:flex; flex-direction:column; border-radius:18px; overflow:hidden; background:#d8d4c8; }
.venue-photo-window { position:relative; flex:1; min-height:430px; overflow:hidden; }
.venue-photo-window img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:57% 50%; transition:transform .8s cubic-bezier(.2,.65,.3,1); }
.venue-photo-location { position:absolute; top:22px; left:22px; display:inline-flex; align-items:center; gap:6px; background:#fffdf9; color:var(--purple); font-size:10px; font-weight:600; letter-spacing:.09em; padding:8px 11px; border-radius:5px; box-shadow:0 3px 14px #21162414; }
.venue-photo-location>.icon { width:15px; height:15px; flex-basis:15px; }
.venue-photo figcaption { position:absolute; bottom:0; left:0; right:0; display:flex; align-items:flex-end; justify-content:space-between; gap:14px; padding:52px 23px 21px; color:#fff; background:linear-gradient(transparent,#17151cd9); font-size:13px; line-height:1.5; }
.venue-photo figcaption>a { display:inline-flex; align-items:center; gap:5px; color:#fff; font-size:10px; white-space:nowrap; min-height:28px; }
.venue-photo figcaption .icon { width:14px; height:14px; flex-basis:14px; }
.venue-section .venue-content { min-width:0; padding-top:0; }
.venue-event-label { display:inline-flex; align-items:center; gap:8px; font-size:10px; font-weight:600; letter-spacing:.06em; padding:8px 11px; border-radius:5px; background:#ffe2c9; color:var(--purple); margin-bottom:19px; }
.venue-event-label>.icon { width:16px; height:16px; flex-basis:16px; }
.venue-section .venue-identity { display:flex; align-items:center; gap:12px; margin-bottom:19px; }
.venue-identity>div { min-width:0; }
.venue-section .venue-content h3 { margin:0; font-size:clamp(30px,3.4vw,43px); font-weight:550; line-height:1.15; }
.venue-hotel-name { margin-top:5px; font-size:12px; color:var(--muted); }
.venue-hotel-name>span { color:#796d79; }
.venue-section .venue-hotel-icon { display:flex; align-items:center; justify-content:center; flex:0 0 47px; width:47px; height:52px; color:var(--purple); background:var(--lilac); border:1px solid #dcc4eb; border-radius:11px; }
.venue-section .venue-hotel-icon>.icon { width:25px; height:25px; flex-basis:25px; }
.venue-section .venue-address { display:flex; align-items:flex-start; gap:10px; padding-bottom:19px; border-bottom:1px solid #e7dcd0; font-size:13px; line-height:1.8; }
.venue-address>.icon { margin-top:3px; color:var(--purple); }
.venue-section .venue-actions { margin-top:18px; display:grid; grid-template-columns:1fr; }
.venue-action { display:flex; align-items:center; gap:10px; min-width:0; padding:12px; border:1px solid #e5d9df; border-radius:10px; background:#fffdf9; color:var(--purple); text-decoration:none; transition:border-color .2s,background .2s; }
.venue-action:hover { border-color:#bda0ce; background:#fff; text-decoration:none; }
.venue-action-icon { width:34px; height:38px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.venue-action-icon>img { width:28px; height:28px; object-fit:contain; }
.venue-action>span:nth-child(2) { flex:1; min-width:0; }
.venue-action strong { display:block; font-size:12px; font-weight:600; line-height:1.5; }
.venue-action small { display:block; color:#7d6f80; font-size:9px; line-height:1.6; }
.venue-action>.icon { width:13px; height:13px; flex-basis:13px; color:#8a7298; }
.venue-section .venue-map { position:relative; margin:20px 0 0; border:1px solid #e4dadf; border-radius:12px; overflow:hidden; background:#fffdf9; }
.map-preview { display:block; height:230px; overflow:hidden; background:#eee8f0; }
.map-preview>img { width:100%; height:100%; object-fit:cover; }
.map-preview:focus-visible { outline:3px solid var(--purple); outline-offset:-4px; }
.venue-section .venue-map .map-credit { position:absolute; bottom:0; right:0; font-size:9px; line-height:1.8; color:#62536b; background:#fffdf9ed; border:0; padding:2px 6px; }
.map-credit a { display:inline-flex; align-items:center; min-height:24px; padding-inline:3px; color:inherit; text-decoration:none; }
.map-credit a:hover { text-decoration:underline; }
.map-credit a:focus-visible { outline:2px solid var(--purple); outline-offset:-2px; }
.registration-section { background:#f1e9f6; color:var(--purple); position:relative; border-top:3px solid var(--orange); }
.registration-inner { padding-block:56px; grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr); align-items:start; gap:clamp(32px,4vw,60px); }
.registration-section h2 { color:var(--purple); font-size:clamp(32px,3vw,42px); max-width:390px; }
.registration-section .eyebrow,.registration-section h2+p,.registration-status>p { color:var(--purple); }
.registration-section h2+p { font-size:14px; color:#65566e; margin-top:18px; }
.registration-meta { display:flex; flex-wrap:wrap; gap:10px 18px; margin-top:22px; font-size:12px; font-weight:500; }
.registration-meta>span { display:inline-flex; align-items:center; gap:7px; }
.registration-meta .icon { width:16px; height:16px; flex-basis:16px; }
.registration-visual { margin:24px 0 0; border-radius:14px; overflow:hidden; background:var(--purple); }
.registration-visual>img { width:100%; aspect-ratio:1.45; object-fit:cover; object-position:center 40%; }
.registration-visual figcaption { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:9px 14px; font-size:10px; color:#f5ebfc; }
.registration-visual figcaption a { display:inline-flex; align-items:center; justify-content:center; min-width:32px; min-height:32px; }
.registration-visual figcaption .icon { width:15px; height:15px; }
.registration-assurance { display:flex; gap:10px; align-items:flex-start; max-width:420px; margin-top:20px; font-size:12px; line-height:1.7; color:#65566e; }
.registration-assurance .icon { flex-shrink:0; margin-top:2px; }
.registration-status { min-width:0; max-width:none; padding:0; background:#fff; border:1px solid #dfd2e8; border-radius:16px; color:var(--purple); box-shadow:0 8px 28px #36184a08; overflow:hidden; }
.registration-panel-header { display:flex; align-items:center; gap:12px; padding:18px 22px; background:var(--purple); color:#fff; }
.registration-entry-icon { display:inline-flex; padding:10px; border-radius:10px; background:#ffffff1c; }
.registration-entry-icon .icon { width:22px; height:22px; }
.registration-panel-header p { font-size:17px; line-height:1.5; font-weight:550; }
.registration-panel-header>div>span { display:block; margin-top:2px; font-size:11px; color:#e0cceb; }
.registration-panel-header>div>.registration-brand { display:flex; align-items:center; gap:8px; margin-top:8px; }
.registration-brand .metagora-wordmark { width:140px; max-width:60%; }
.registration-entry { padding:24px; }
.registration-status[data-autoload="viewport"]:not([data-state="error"]) .registration-entry,.registration-status[data-autoload="background"]:not([data-state="error"]) .registration-entry { display:none; }
.registration-entry>p:first-of-type { margin:0 0 18px; font-size:13px; font-weight:400; color:#65566e; }
.registration-status .button.primary { background:var(--purple); border-color:var(--purple); color:#fff; }
.registration-status .button.primary:hover { background:#62209a; }
.registration-status .button:disabled { background:#efe5f3; border-color:#e3d3ec; color:#715173; }
.registration-provider-note { margin:0; padding:15px 22px; font-size:11px; line-height:1.75; color:#75697d; background:#faf7fc; border-top:1px solid #eee6f3; }
.registration-provider-note a { color:var(--purple); }
.registration-status .registration-embed-status { font-weight:500; font-size:13px; line-height:1.65; color:var(--purple); margin:16px 22px; }
.registration-embed-status:empty,.registration-embed-frame:empty { display:none; }
.registration-embed-frame { width:auto; min-width:0; margin:10px 12px; background:#fff; }
.registration-embed-frame:focus-visible { outline:2px solid var(--purple); outline-offset:-2px; border-radius:6px; }
.crm-registration-frame { display:block; width:100%; min-height:500px; border:0; background:#fff; }
.registration-recovery { display:flex; flex-direction:column; align-items:flex-start; gap:12px; padding-inline:22px; }
.registration-status[data-state="error"] .registration-recovery,.registration-status[data-state="slow"] .registration-recovery { padding-bottom:20px; }
.registration-recovery .text-link { min-height:44px; align-items:center; font-size:12px; line-height:1.5; }
.registration-noscript { padding:18px 22px; font-size:12px; line-height:1.7; }
.registration-status[data-state="loading"] .registration-entry,.registration-status[data-state="ready"] .registration-entry,.registration-status[data-state="submitted"] .registration-entry { display:none; }
@media (max-width:800px) {
  .registration-inner { grid-template-columns:1fr; gap:24px; }
  .registration-status { max-width:none; padding:0; border-radius:12px; }
  .registration-panel-header { padding:16px 18px; }
  .registration-panel-header p { font-size:16px; }
  .registration-entry { padding:22px 18px; }
  .registration-embed-frame { margin:8px 5px; }
  .registration-provider-note { padding:14px 18px; }
  .registration-visual,.registration-assurance { display:none; }
  .registration-meta { margin-top:16px; font-size:11px; }
}
.faq-section { gap:64px; grid-template-columns:1fr 1.5fr; }
.faq-list { border:0; }
.faq-list details { background:#fffdf9; border:1px solid #e2d7c9; border-radius:8px; padding:0 21px; margin-bottom:10px; }
.faq-list summary { font-size:14px; padding-block:20px; justify-content:flex-start; gap:12px; }
.faq-list summary::after { content:none; }
.faq-list details[open] summary::after { content:none; }
.faq-list summary>.icon { color:var(--purple); width:20px; height:20px; flex-basis:20px; }
.faq-list summary>span:not(.faq-toggle) { flex:1; min-width:0; }
.faq-toggle { display:flex; align-items:center; justify-content:center; flex:0 0 25px; width:25px; height:25px; background:var(--lilac); color:var(--purple); border-radius:50%; }
.faq-toggle>.icon { width:15px; height:15px; flex-basis:15px; }
.faq-list details[open] .faq-toggle>.icon path:last-child { opacity:0; }
.faq-list details[open] { border-color:#bfa2d2; background:#faf4ff; }
.faq-list details>div { font-size:13px; }
.footer { background:#30004f; border:0; color:#fff; }
.footer-identity strong { color:#fff; font-size:36px; }
.footer-identity .footer-wordmark { display:block; width:min(100%,260px); }
.footer-identity p,.footer-label,.footer-membership p,.footer-links { color:#d4bddf; }
.footer a { color:#fff; }
.footer-links { border-color:#6c3981; }
.footer-links button { display:inline-flex; align-items:center; gap:7px; }
.cookie-banner h2 { display:flex; align-items:center; gap:8px; }
.cookie-banner h2>.icon { color:var(--purple); }
dialog { border-radius:10px; }
dialog[open] { animation:dialog-enter .25s ease-out; }
dialog::backdrop { backdrop-filter:blur(3px); }
/* A translucent backdrop keeps the same visual separation without a full-page
   blur pass on touch devices and when the visitor requests reduced motion. */
@media (pointer:coarse), (prefers-reduced-motion:reduce) {
  dialog::backdrop { backdrop-filter:none; }
}
#calendar-dialog { width:min(500px,calc(100% - 32px)); padding:35px; border-top:0; border-radius:16px; }
#calendar-dialog h2 { font-size:30px; font-weight:550; letter-spacing:-.035em; margin-bottom:12px; }
#calendar-dialog .eyebrow { font-size:10px; padding-right:24px; }
#calendar-dialog .calendar-date { font-size:13px; line-height:1.7; margin-bottom:24px; }
.calendar-device { display:flex; align-items:center; gap:13px; min-height:77px; padding:15px; background:#f4edf9; border:1px solid #e5d6ee; border-radius:11px; text-decoration:none; color:var(--purple); transition:background .2s,border-color .2s; }
.calendar-device:hover { background:#eee2f6; border-color:#bda1ce; text-decoration:none; }
.calendar-device-icon { display:flex; align-items:center; justify-content:center; width:42px; height:42px; flex-shrink:0; border-radius:10px; background:#fff; }
.calendar-device-icon>.icon { width:23px; height:23px; }
.calendar-device>span:nth-child(2) { flex:1; min-width:0; }
.calendar-device strong { display:block; font-size:14px; font-weight:600; line-height:1.5; }
.calendar-device small { display:block; font-size:10px; color:#796580; line-height:1.7; margin-top:2px; }
.calendar-device>.icon { width:17px; height:17px; flex-shrink:0; color:#8d709e; }
#calendar-dialog .calendar-divider { display:flex; align-items:center; gap:12px; font-size:11px; color:#796580; margin:21px 0 15px; }
.calendar-divider::before,.calendar-divider::after { content:''; height:1px; background:#eee6f1; flex:1; }
.calendar-providers { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.calendar-provider { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; min-height:104px; padding:14px 9px; border:1px solid #e7e0ea; border-radius:11px; background:#fff; color:#433a48; text-align:center; text-decoration:none; transition:border-color .2s,box-shadow .2s; }
.calendar-provider:hover { text-decoration:none; border-color:#bda1ce; box-shadow:0 3px 12px #3c005708; }
.calendar-provider>img { width:36px; height:36px; object-fit:contain; }
.calendar-provider>span { max-width:100%; font-size:11px; font-weight:500; line-height:1.5; overflow-wrap:break-word; overflow-wrap:anywhere; }
.calendar-extras { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:9px; }
.calendar-extras>a { display:inline-flex; align-items:center; gap:5px; min-height:38px; font-size:11px; color:#796580; text-underline-offset:3px; }
.calendar-extras .icon { width:13px; height:13px; }
#calendar-dialog .calendar-reminder { margin-top:15px; padding:13px; border-radius:9px; background:#f8f5fa; }
#calendar-dialog .calendar-reminder label { font-size:12px; }
#calendar-dialog .calendar-reminder p { font-size:10px; line-height:1.7; padding-left:29px; }
#calendar-dialog #calendar-note { margin:17px 0 0; color:#796580; font-size:11px!important; }
@media(max-width:600px) {
  #calendar-dialog { padding:33px 22px 24px; border-radius:13px; }
  #calendar-dialog h2 { font-size:27px; }
  .calendar-device { gap:10px; padding:12px; }
  .calendar-device strong { font-size:13px; }
  .calendar-device small { font-size:9px; }
  .calendar-providers { gap:8px; }
  .calendar-provider { padding:13px 5px; gap:10px; }
  .calendar-provider>span { font-size:10px; }
}
.cookie-banner { border-radius:10px; border-top:3px solid var(--orange); max-height:calc(100vh - 40px); max-height:calc(100dvh - 40px); overflow:auto; overscroll-behavior:contain; }
#share-dialog { width:min(430px,calc(100% - 32px)); padding:28px; border-top:0; border-radius:16px; }
#share-dialog .dialog-close { top:16px; right:16px; }
#share-dialog h2 { margin:0 35px 6px 0; font-size:26px; line-height:1.25; }
#share-dialog .share-summary { margin:0; color:var(--muted); font-size:12px; }
#share-dialog .share-networks { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin-block:23px 6px; }
#share-dialog .social-button { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; min-width:0; min-height:91px; border:1px solid #e9e4eb; border-radius:11px; padding:13px 3px; font-size:10px; font-weight:600; text-decoration:none; color:#342a39; background:#fff; overflow-wrap:break-word; overflow-wrap:anywhere; text-align:center; transition:background .2s,border-color .2s,transform .2s; }
#share-dialog .social-button>span { max-width:100%; }
#share-dialog .social-button>img,#share-dialog .social-button>.icon { width:32px; height:32px; flex:0 0 32px; object-fit:contain; }
#share-dialog .social-x>.icon { color:#161616; }
#share-dialog .share-extras { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-block:6px 14px; }
#share-dialog .native-share,#share-dialog .download-card { display:inline-flex; align-items:center; justify-content:flex-start; gap:7px; min-height:44px; border:0; padding:0; background:transparent; color:var(--purple); font-size:11px; font-weight:500; text-decoration:none; }
#share-dialog .native-share:hover,#share-dialog .download-card:hover { text-decoration:underline; text-underline-offset:3px; }
#share-dialog .share-extras .icon { width:15px; height:15px; }
#share-dialog .share-link-row { display:flex; align-items:center; padding:4px; border:1px solid #e9e4eb; border-radius:10px; background:#f8f6f9; }
#share-dialog #share-url { flex:1; min-width:0; width:0; padding:10px 9px; border:0; border-radius:6px; background:transparent; color:#62546b; font-size:11px; }
#share-dialog #copy-link { display:grid; place-items:center; flex:0 0 44px; width:44px; height:44px; border:0; border-radius:7px; padding:0; color:var(--purple); background:#eee6f4; transition:background .2s; }
#share-dialog #copy-link:hover { background:#e2d3ed; }
#share-dialog #copy-link .icon { width:19px; height:19px; }
#share-dialog #share-status,#share-dialog #copy-status { margin:10px 0 0; font-size:11px!important; color:#62546b; }
#share-dialog #share-status { margin:0 0 14px; }
#share-dialog #share-status:empty,#share-dialog #copy-status:empty { margin:0; }
#share-dialog .instagram-help { margin:0 0 14px; padding:12px; border:1px solid #e9e4eb; border-radius:10px; background:#f8f6f9; }
#share-dialog .instagram-help p { margin:0 0 8px; color:#62546b; font-size:11px; line-height:1.6; }
#share-dialog .instagram-help>div { display:flex; flex-wrap:wrap; gap:4px 16px; }
#share-dialog .instagram-help a { display:inline-flex; align-items:center; gap:6px; min-height:44px; color:var(--purple); font-size:11px; font-weight:600; text-underline-offset:3px; }
@media(max-width:400px) {
  #share-dialog { padding:26px 20px 20px; }
  #share-dialog .share-networks { gap:6px; }
  #share-dialog .social-button { font-size:9px; min-height:85px; gap:10px; }
  #share-dialog .share-extras { gap:8px; }
  #share-dialog .native-share,#share-dialog .download-card { font-size:10px; }
}
@keyframes dialog-enter { from { opacity:.5; translate:0 12px; } to { opacity:1; translate:0 0; } }
@media(hover:hover) and (pointer:fine) {
  .button:not(:disabled)::after { content:''; position:absolute; inset:0; background:linear-gradient(110deg,transparent 25%,#ffffff38 50%,transparent 75%); transform:translateX(-120%); transition:transform .55s; pointer-events:none; }
  .button:not(:disabled):hover::after { transform:translateX(120%); }
  .button:not(:disabled):hover { transform:translateY(-2px); box-shadow:0 6px 0 #4a008012; }
  .header nav a:hover::after { transform:scaleX(1); }
  .details-section .day-filters button:not([aria-pressed=true]):hover { background:#f1e8f6; }
  .details-section .agenda-item:hover { background:#fcf8ff; }
  #share-dialog .social-button:hover { background:#faf7fd; border-color:#c8b6d5; transform:translateY(-2px); }
  .photo-window:hover img { transform:scale(1.045); }
  .venue-photo:hover img { transform:scale(1.025); }
  .principles>div:hover { transform:translateY(-4px); }
}
/* Touch interaction has no sticky hover motion or scroll-dependent header paint. */
@media(hover:none), (pointer:coarse) {
  .header,.header.is-scrolled { box-shadow:0 1px 0 #ece7ef; transition:none; }
  .header nav a::after,.button,.photo-window img,.venue-photo-window img,.details-section .day-filters button,.details-section .agenda-item,#share-dialog .social-button { transition:none; }
  dialog[open] { animation:none; }
}
@media(max-width:1100px) {
  .hero-copy { padding:38px 32px; }
  .hero-photo { min-height:470px; margin-right:20px; border-top-left-radius:65px; }
  .hero h1 { font-size:clamp(42px,7vw,77px); }
  .hero-motto { font-size:15px; }
  .hero-intro { font-size:13px; }
  .invitation,.section-heading,.principles-section,.venue-layout,.faq-section { gap:40px; }
  .community-gallery { grid-template-columns:1fr 1fr; }
  .gallery-note { grid-column:1/-1; margin-bottom:0; padding:23px 27px; flex-direction:row; align-items:center; gap:25px; }
  .gallery-note>.icon { margin:0; flex:0 0 34px; }
  .gallery-note p { font-size:29px; }
  .gallery-note p br { display:none; }
  .gallery-note>span:last-child { margin:0 0 0 auto; }
  .summary-calendar { grid-column:1/-1; margin:0; width:max-content; }
}
@media(max-width:820px) {
  .header .mobile-nav { gap:0; margin-left:0; }
  .header .mobile-nav>a { flex:1 1 0; min-width:0; justify-content:center; }
  .header-inner { min-height:78px; }
  .hero-copy { padding:32px 26px; }
  .hero h1 { font-size:clamp(42px,6.9vw,58px); }
  .hero-photo { margin:18px 18px 18px 0; min-height:475px; border-top-left-radius:55px; }
  .hero-date { font-size:11px; padding:8px 10px; }
  .hero-date span { padding-left:10px; }
  .hero-subtitle { font-size:21px; }
  .hero-motto { font-size:14px; }
  .hero-intro { font-size:12px; }
  .community-ribbon span { font-size:16px; }
  .section-space { padding-block:48px; }
  .invitation,.section-heading,.principles-section,.venue-layout,.faq-section { grid-template-columns:1fr 1.4fr; gap:30px; }
  .invitation h2 { font-size:36px; }
  .invitation-body>p.lead { font-size:19px; }
  .principles { grid-template-columns:1fr; }
  .principles>div,.principles>div:first-child { padding:20px; }
  .principles dt { font-size:17px; }
  .venue-actions .button { padding:11px 13px; }
  .registration-section h2 { font-size:32px; }
  .venue-action { gap:8px; padding:10px; }
  .venue-action small { display:none; }
  .venue-action>.icon { display:none; }
}
@media(max-width:600px) {
  .header-inner { min-height:70px; }
  .brand { padding-block:10px; }
  .header-cta { gap:6px; }
  .header-cta .icon,.mobile-nav .icon { width:15px; height:15px; flex-basis:15px; }
  .mobile-nav { gap:10px; }
  .mobile-nav a { gap:5px; }
  .hero { background:#fffdf9; }
  .hero-grid { grid-template-columns:minmax(0,1fr); gap:0; }
  .hero-copy { display:contents; }
  .hero-heading { display:flex; flex-direction:column; grid-column:1; grid-row:1; align-self:end; position:relative; z-index:2; min-width:0; padding:24px var(--pad); }
  .hero h1 { order:0; color:#fff; font-size:clamp(56px,16vw,84px); font-weight:600; line-height:1.05; margin:0 0 13px; }
  .hero h1.hero-logo { width:min(100%,440px); padding:0; background:transparent; border-radius:0; margin-bottom:20px; }
  .hero-date { order:1; align-self:flex-start; font-size:12px; font-weight:600; line-height:1.6; background:var(--orange); color:#260044; padding:7px 10px; gap:5px 9px; border-radius:6px; margin:0; }
  .hero-date span { color:#260044; border-color:#4a008055; padding-left:9px; }
  .hero-overview { display:block; grid-column:1; grid-row:2; min-width:0; padding:20px var(--pad) 18px; }
  .hero-heading,.hero-overview { padding-left:max(var(--pad),env(safe-area-inset-left,0px)); padding-right:max(var(--pad),env(safe-area-inset-right,0px)); }
  .hero-subtitle { font-size:20px; font-weight:600; line-height:1.35; }
  .hero-motto { font-size:14px; margin-top:8px; }
  .hero-intro { color:var(--muted); font-size:13px; line-height:1.65; margin-top:8px; max-width:none; }
  .hero-actions { gap:10px; flex-wrap:nowrap; margin-top:16px; }
  .hero-actions .hero-button { flex:1; min-width:0; min-height:46px; font-size:12px; padding:10px 12px; }
  .hero-share-slot { flex:0 1 auto; min-width:0; min-height:46px; }
  .hero-share { border:0; font-size:11px; gap:6px; padding:4px 0 4px 4px; background:transparent; }
  .hero-share>.icon { width:34px; height:34px; flex-basis:34px; border-radius:50%; background:var(--lilac); padding:8px; }
  /* A positive frame survives absolute-image sizing on mobile Safari. */
  .hero-photo { grid-column:1; grid-row:1; width:100%; align-self:stretch; min-height:350px; min-height:clamp(300px,92vw,440px); aspect-ratio:auto; margin:0; border-radius:0; box-shadow:none; z-index:0; }
  .hero-photo::after { content:''; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(180deg,rgba(23,8,35,0) 30%,rgba(34,0,61,.68) 55%,rgba(42,0,73,.96) 100%); }
  .hero-photo>img { object-position:80% 50%; }
  .hero-photo figcaption { top:0; bottom:auto; left:auto; right:0; z-index:2; font-size:9px; padding:0 12px; gap:0; border-bottom-left-radius:7px; background:#21052ebd; }
  .hero-photo-origin { display:none; }
  .hero-photo figcaption a { margin:0; min-height:44px; }
  .community-ribbon { display:none; }
  .event-summary-inner { grid-template-columns:repeat(2,minmax(0,1fr)); padding-block:16px; gap:12px; border-top:1px solid #e3d8cc; }
  .event-summary-inner>.summary-detail { display:none; }
  .countdown-number { font-size:36px; }
  .summary-calendar { grid-column:2; width:auto; font-size:10px; padding:8px 9px; min-height:46px; }
  .invitation,.section-heading,.principles-section,.venue-layout,.faq-section { grid-template-columns:1fr; gap:23px; }
  .invitation h2 { font-size:37px; }
  .invitation-body>p { font-size:13px; }
  .invitation-body>p.lead { font-size:20px; }
  .community-gallery { grid-template-columns:1fr 1fr; gap:17px 12px; margin-top:27px; }
  .photo-window { height:205px; border-radius:9px; }
  .community-photo:first-child .photo-window { border-radius:30px 9px 9px 9px; }
  .community-photo:first-child .photo-window img { object-position:43% 50%; }
  .community-photo figcaption { font-size:9px; padding-top:8px; }
  .gallery-note { gap:14px; padding:20px; flex-wrap:wrap; border-bottom-right-radius:35px; }
  .gallery-note p { font-size:27px; }
  .gallery-note>.icon { width:28px; height:28px; flex-basis:28px; }
  .gallery-note>span:last-child { flex-basis:100%; font-size:11px; margin:0; }
  h2,.faq-section h2 { font-size:32px; }
  .section-intro { font-size:13px; }
  .details-section .section-heading { grid-template-columns:1fr; gap:12px; margin-bottom:21px; }
  .details-section .section-intro { justify-self:start; font-size:13px; }
  .details-section .day-filters { display:grid; grid-template-columns:1fr 1fr; width:100%; gap:4px; }
  .details-section .day-filters button { text-align:center; font-size:11px; padding:10px 8px; min-height:44px; }
  .details-section #agenda-list { margin-top:20px; border-radius:10px; }
  .details-section .agenda-item { grid-template-columns:60px minmax(0,1fr); gap:17px; padding:23px 18px; }
  .details-section .agenda-date { padding-right:11px; }
  .details-section .agenda-date strong { font-size:39px; }
  .details-section .agenda-date span { font-size:10px; }
  .details-section .agenda-date small { font-size:9px; }
  .agenda-session-header { align-items:flex-start; gap:10px; flex-wrap:wrap; }
  .agenda-time { font-size:20px; gap:6px; }
  .agenda-time>.icon { width:15px; height:15px; flex-basis:15px; }
  .details-section .agenda-content h3 { font-size:21px; margin-block:12px 9px; }
  .details-section .agenda-meta { font-size:11px; }
  .details-section .event-badge { font-size:9px; padding:4px 8px; }
  .details-section .agenda-links { gap:17px; flex-wrap:wrap; }
  .details-section .agenda-links a { font-size:10px; }
  .details-section .agenda-content>p:not(.agenda-meta) { font-size:12px; }
  .principles { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .principles>div,.principles>div:first-child { padding:17px 14px; }
  .principles dt { display:flex; flex-direction:column; align-items:flex-start; gap:10px; font-size:15px; }
  .principles dd { font-size:12px; line-height:1.75; }
  .principles-intro { font-size:13px; margin-top:17px; }
  .venue-content h3 { font-size:32px; }
  .venue-hotel-icon { flex-basis:53px; width:53px; height:58px; }
  .venue-identity { gap:12px; }
  .venue-actions .button { font-size:11px; padding:11px 12px; }
  .venue-note { font-size:11px; }
  .registration-inner { padding-block:40px; gap:24px; }
  .registration-section h2 { font-size:32px; }
  .registration-section h2+p { font-size:13px; }
  .registration-status>p { font-size:12px; }
  .faq-list details { padding-inline:16px; }
  .faq-list summary { font-size:13px; }
  .footer-identity strong { font-size:35px; }
}
@media(max-width:760px) {
  .venue-section .section-heading,.venue-section .venue-layout { grid-template-columns:1fr; gap:25px; }
  .venue-photo-window { min-height:0; aspect-ratio:3/2; }
  .venue-photo-window img { object-position:center; }
  .venue-section .venue-content { padding:0; }
  .venue-section .venue-content h3 { font-size:37px; }
  .venue-section .venue-map { margin-top:20px; }
  .venue-action small { display:block; }
  .venue-action>.icon { display:block; }
}
@media(max-width:600px) {
  .venue-section .section-heading { gap:15px; margin-bottom:25px; }
  .venue-photo { border-radius:12px; }
  .venue-photo-location { top:14px; left:14px; font-size:9px; padding:6px 9px; }
  .venue-photo figcaption { padding:35px 15px 12px; font-size:11px; }
  .venue-photo figcaption>a { font-size:9px; }
  .venue-event-label { font-size:9px; margin-bottom:16px; }
  .venue-section .venue-content h3 { font-size:34px; }
  .venue-section .venue-identity { margin-bottom:17px; }
  .venue-section .venue-actions { gap:8px; }
  .venue-action strong { font-size:11px; }
  .venue-action small { font-size:8px; }
  .venue-action>.icon { display:none; }
  .map-preview { height:220px; }
}
@media(max-width:360px) {
  .header .mobile-nav a { gap:4px; font-size:11px; white-space:nowrap; }
  .hero-actions .hero-button { gap:7px; padding-inline:10px; font-size:11px; white-space:nowrap; }
  .hero h1 { font-size:56px; }
  .hero-subtitle { font-size:21px; }
  .hero-photo figcaption { font-size:8px; }
  .community-ribbon span { font-size:16px; }
  .photo-window { height:175px; }
  .gallery-note p { font-size:24px; }
  .details-section .agenda-item { padding-inline:13px; grid-template-columns:53px minmax(0,1fr); gap:13px; }
  .details-section .agenda-content h3 { font-size:19px; }
  .venue-action small { display:none; }
  .principles dt { font-size:14px; }
}
@media(prefers-reduced-motion:reduce) {
  .button:not(:disabled):hover,.photo-window:hover img,.venue-photo:hover img,.principles>div:hover,.day-filters button:hover,#share-dialog .social-button:hover { transform:none; }
  .button::after { display:none; }
  dialog[open] { animation:none; }
}

/* Accessible modal fallback for browsers without the native dialog API. */
#cookie-dialog:not([open]),#privacy-dialog:not([open]),#calendar-dialog:not([open]),#share-dialog:not([open]) { display:none; }
.dialog-fallback-backdrop { position:fixed; inset:0; z-index:1000; background:rgba(33,19,43,.55); }
body>dialog.is-fallback-modal[open] { display:block; position:fixed; inset:auto; top:50%; left:50%; z-index:1001; margin:0; max-height:calc(100vh - 32px); transform:translate(-50%,-50%); animation:none; }

/* Daily starts from the updated organizer schedule. */
.hero-schedule{display:flex;flex-wrap:wrap;gap:4px 18px;color:var(--purple);font-size:13px;line-height:1.7;margin:-12px 0 22px}.hero-schedule span{white-space:nowrap}.registration-schedule{font-size:13px;line-height:1.7;color:var(--purple);margin:14px 0}
@media(max-width:600px){.hero-schedule{order:2;color:#f5f2f8;margin:10px 0 0;font-size:12px;gap:3px 12px}.day-filters button[data-day-filter="all"]{grid-column:1/-1}}
