/* Public experience: system typography, calm surfaces and purposeful motion. */
:root{--paper:#f5f5f7;--white:#fff;--ink:#1d1d1f;--navy:#1d1d1f;--muted:#6e6e73;--line:#e8e8ed;--soft:#f0f0f4;--action:#0071e3;--tint:#dce8fc;--glow:#e8e2ff;--ease:cubic-bezier(.22,.68,0,1.01)}
html[data-theme=forest]{--paper:#f5f7f5;--navy:#193a30;--white:#fff;--ink:#18392e;--muted:#68776f;--line:#e3eae4;--soft:#edf2ed;--action:#35735a;--tint:#d8eee5;--glow:#e4f1d5}
html[data-theme=clay]{--paper:#f9f6f4;--navy:#49332b;--white:#fff;--ink:#49332b;--muted:#857970;--line:#eee4dd;--soft:#f1eae5;--action:#925a42;--tint:#f2ded3;--glow:#f8eacb}
html{scroll-padding-top:145px}.public-body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;background:var(--paper);font-size:15px;letter-spacing:-.015em}.modal-open{overflow:hidden}.public-body h1,.public-body h2,.public-body h3{font-family:inherit}.public-body h1{font-weight:650;letter-spacing:-.055em}.public-body h2{font-weight:650;letter-spacing:-.045em}.public-body h3{font-weight:600;letter-spacing:-.025em}.public-body em{font-family:inherit;font-style:normal;font-weight:inherit}.button{border-radius:100px;border:0;padding:14px 24px;background:var(--ink);font-size:13px;font-weight:550;min-height:48px;transition:transform .25s var(--ease),background .25s,box-shadow .25s;box-shadow:0 2px 3px #00000005}.button:hover{filter:none;background:#343438;transform:translateY(-2px);box-shadow:0 8px 22px #00000014}.button:active{transform:scale(.97)}.button.secondary{border:1px solid #d4d4d9;box-shadow:none}.button.secondary:hover{background:#fff}.button.small{padding:10px 19px;min-height:37px;font-size:12px}.button.wide{justify-content:space-between}.eyebrow{font-size:10px;letter-spacing:1.6px;font-weight:600}.gradient-word{background:linear-gradient(110deg,#507fe6 0%,#9272d0 48%,#d57498 100%);color:transparent;background-clip:text;-webkit-background-clip:text}html[data-theme=forest] .gradient-word{background-image:linear-gradient(110deg,#287766,#85a84f)}html[data-theme=clay] .gradient-word{background-image:linear-gradient(110deg,#956148,#d58867)}.brand-mark{background:none;color:var(--ink);font-size:36px;width:36px;height:36px;line-height:1}.brand small{font-size:7px;letter-spacing:1.8px;margin-top:5px;color:#7e7e87;font-weight:500}.reading-progress{position:absolute;left:0;bottom:-1px;height:2px;width:100%;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,var(--action),#a174d6);pointer-events:none}.public-body .flash{border-radius:15px;font-size:13px;padding:17px 23px}.flash-wrap{position:relative;z-index:2}.modern-hero{display:block;position:relative;text-align:center;padding:68px 5% 37px;background:linear-gradient(180deg,#fff 0%,#fdfdff 46%,var(--paper) 100%);color:var(--ink);min-height:0;overflow:hidden;isolation:isolate}.hero-halo{position:absolute;z-index:-1;top:150px;left:50%;transform:translateX(-50%);width:1000px;height:680px;background:radial-gradient(ellipse at 25% 70%,var(--tint),transparent 49%),radial-gradient(ellipse at 78% 60%,var(--glow),transparent 45%);filter:blur(45px);opacity:.64;pointer-events:none}.modern-hero .hero-copy{max-width:820px;margin:0 auto;position:relative;z-index:2;animation:soft-enter .9s var(--ease) both}.hero-kicker{display:inline-flex;align-items:center;gap:8px;font-size:9px;letter-spacing:1.6px;font-weight:600;color:#88828f;border:1px solid #dcdce580;background:#ffffff90;border-radius:99px;padding:8px 14px;box-shadow:0 3px 10px #30305603}.hero-kicker .dot{background:var(--accent);height:5px;width:5px}.modern-hero h1{font-family:inherit;font-size:clamp(60px,6.6vw,92px);font-weight:650;line-height:1.025;letter-spacing:-.065em;margin:23px auto 24px;text-wrap:balance;max-width:850px;background:linear-gradient(120deg,var(--ink) 24%,#40404c 65%,#777486);background-clip:text;-webkit-background-clip:text;color:transparent}.modern-hero .hero-copy>p{color:#85858d;max-width:530px;line-height:1.75;font-size:16px;margin:0 auto 26px;text-wrap:balance}.hero-actions{display:flex;gap:26px;align-items:center;justify-content:center}.hero-primary{padding:14px 24px}.hero-secondary{font-size:12px;color:#666671;display:flex;gap:9px;align-items:center}.hero-secondary:hover{color:var(--action)}.hero-secondary span{display:inline-block;transition:transform .25s}.hero-secondary:hover span{transform:translateY(3px)}
.showcase{position:relative;margin:31px auto 0;max-width:1100px;z-index:2}.showcase-stage{display:flex;align-items:center;justify-content:center;min-height:356px;padding:32px 30px 36px;perspective:1200px}.showcase-item{width:212px;flex-shrink:0;position:relative;display:block;padding:0;background:none;border:0;transform:translateY(12px) rotate(var(--poster-angle));transform-origin:50% 90%;transition:transform .65s var(--ease),filter .6s,opacity .6s;z-index:calc(10 - var(--poster-order));filter:saturate(.87);animation:poster-arrive 1s var(--ease) both;animation-delay:calc(var(--poster-order)*90ms)}.showcase-item+.showcase-item{margin-left:-28px}.showcase-poster{display:flex;justify-content:center;align-items:center;width:100%;height:280px;background:#08090b;border:5px solid #fff;border-radius:16px;overflow:hidden;box-shadow:0 12px 22px #28314a18,0 35px 45px -25px #27273a55;transition:box-shadow .5s,outline .5s}.showcase-poster img{width:100%;height:100%;object-fit:contain}.showcase-item:hover,.showcase-item:focus-visible{z-index:20;transform:translateY(-7px) rotate(0deg);filter:saturate(1)}.showcase-item.is-active{transform:translateY(-13px) rotate(0deg) scale(1.055);z-index:21;filter:saturate(1)}.showcase-item.is-active .showcase-poster{box-shadow:0 15px 35px #28314a20,0 30px 60px -25px #3b497f55;outline:1px solid #b4c5f270}.showcase-placeholder{font-size:25px;font-weight:600;color:white;padding:25px}.showcase-item-label{position:absolute;bottom:16px;left:50%;transform:translateX(-50%) translateY(7px);background:#ffffffd9;border:1px solid #ffffff80;backdrop-filter:blur(20px);padding:7px 15px;border-radius:100px;color:#252530;white-space:nowrap;font-size:10px;font-weight:600;opacity:0;transition:opacity .4s,transform .4s;box-shadow:0 4px 15px #00000017}.showcase-item.is-active .showcase-item-label{opacity:1;transform:translateX(-50%) translateY(0)}.showcase-controls{display:flex;align-items:center;justify-content:center;gap:26px;margin:2px auto 0}.round-button{width:37px;height:37px;display:inline-grid;place-items:center;border-radius:50%;background:#ffffffb5;backdrop-filter:blur(15px);border:1px solid #dedee675;color:#747482;font-size:18px;transition:background .25s,transform .25s;box-shadow:0 3px 12px #2d2d4d04}.round-button:hover{background:white;transform:scale(1.1);color:#24242a}.round-button:active{transform:scale(.94)}.showcase-caption{min-width:235px;text-align:center;display:block}.showcase-caption>[data-showcase-title]{font-size:16px;font-weight:600;letter-spacing:-.4px;display:block}.showcase-caption small{font-size:10px;color:#8b8b94;display:block;margin-top:5px}.showcase-caption:hover>[data-showcase-title]{color:var(--action)}.showcase-hint{font-size:9px!important;line-height:1.5!important;color:#9b9ba3!important;margin:19px auto 0!important;max-width:none!important;letter-spacing:.1px}.hero-signature{display:flex;align-items:center;justify-content:center;gap:22px;margin:40px auto 0;font-size:10px;color:#9a9aa3;letter-spacing:.2px}.hero-signature strong{color:#62626b;font-weight:500}.signature-line{height:1px;width:68px;background:linear-gradient(90deg,transparent,#d4d4de)}.signature-line:last-child{transform:rotate(180deg)}
.public-shell{max-width:1260px;padding-left:5%;padding-right:5%}.experience-section{padding-top:79px;padding-bottom:0}.section-heading{margin-bottom:29px;align-items:flex-end}.section-heading .eyebrow{font-size:9px;letter-spacing:1.4px;color:#92929a}.section-heading h2{font-size:48px;line-height:1.1;letter-spacing:-2.3px;margin:13px 0 0}.section-heading>p{font-size:12px;color:#898991;line-height:1.7;margin:0 0 2px}.discovery-toolbar{position:sticky;top:83px;z-index:15;border:1px solid #ffffffd9;background:#ededf4b3;backdrop-filter:blur(22px) saturate(150%);-webkit-backdrop-filter:blur(22px) saturate(150%);border-radius:100px;padding:7px;display:flex;justify-content:space-between;gap:15px;align-items:center;margin:31px 0 31px;box-shadow:0 3px 12px #20203304}.filter-row{margin:0;gap:3px;display:flex}.filter{font-size:11px;border:0;padding:10px 18px;border-radius:100px;background:transparent;color:#919199;font-weight:500;transition:background .3s,color .3s,box-shadow .3s}.filter.active{background:#fff;color:#25252b;box-shadow:0 2px 8px #1c1c3310}.filter:hover:not(.active){color:#44444c;background:#ffffff60}.filter span{font-size:9px;color:#96969e;background:#f1f1f5;border-radius:20px;padding:2px 5px;margin-left:7px}.toolbar-caption{font-size:9px;color:#9696a1;padding-right:18px;display:flex;align-items:center;gap:8px}.tiny-orbit{font-size:17px;color:#a8a5b8}.experience-grid{gap:26px}.event-card{border-radius:27px;background:#fff;border:1px solid #f1f1f5;box-shadow:0 3px 15px #15152602;transition:transform .5s var(--ease),box-shadow .5s,border-color .4s;scroll-margin-top:163px}.event-card:hover{transform:translateY(-5px);box-shadow:0 16px 40px -12px #20204715;border-color:#e4e5ed}.event-card.selected{border:1px solid #a6c2a2;box-shadow:0 0 0 3px #deebdb80}.event-top{background:transparent;color:#9a9aa4;padding:26px 29px 0;font-size:8px;letter-spacing:1.6px}.event-top>span:first-child{background:#f2f3f8;color:#838397;border-radius:20px;padding:5px 10px;font-size:8px}.event-ordinal{font-size:11px;letter-spacing:0;padding-top:2px;color:#84848e}.event-ordinal>span{color:#c7c7ce;font-size:9px}.event-card-heading{padding:16px 30px 7px}.event-card-heading h3{font-size:33px;line-height:1.15;letter-spacing:-1.1px;font-weight:650;margin:0 0 7px}.event-card-heading p{font-size:11px;color:#9797a0;margin:0;line-height:1.6}.poster-interactive{width:100%;border:0;position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;padding:27px 55px 34px;height:376px;background:transparent;overflow:hidden;cursor:zoom-in}.poster-ambient{position:absolute;z-index:-1;inset:10% 12% 4%;background:radial-gradient(ellipse,var(--tint) 0%,transparent 70%);filter:blur(25px);opacity:.8;transition:opacity .5s,transform .8s}.event-card:nth-child(2n) .poster-ambient{background:radial-gradient(ellipse,#f7dce7 0%,transparent 70%)}.event-card:nth-child(3n) .poster-ambient{background:radial-gradient(ellipse,#f3e8c6 0%,transparent 70%)}.poster-interactive img{height:100%;width:auto;max-width:100%;object-fit:contain;border-radius:11px;background:#0b0d10;box-shadow:0 17px 32px -12px #121b3859;transition:transform .65s var(--ease),box-shadow .65s;position:relative}.event-card:hover .event-poster img{opacity:1}.poster-interactive:hover img{transform:translateY(-6px) scale(1.035);box-shadow:0 26px 38px -12px #121b3859}.poster-interactive:hover .poster-ambient{transform:scale(1.2);opacity:1}.poster-discover{position:absolute;bottom:19px;right:28px;display:flex;align-items:center;gap:8px;color:#747483;font-size:10px;padding:6px 6px 6px 13px;background:#ffffffc7;border:1px solid #e9e9f3ad;backdrop-filter:blur(20px);border-radius:99px;box-shadow:0 6px 15px #3e3e6908;transition:background .3s,color .3s}.poster-discover>span{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:#ededf4;color:#737386;font-size:21px;transition:transform .4s,background .3s}.poster-interactive:hover .poster-discover{background:white;color:#202025}.poster-interactive:hover .poster-discover>span{background:#1d1d1f;color:white;transform:rotate(90deg)}.event-body{padding:9px 30px 29px}.event-meta{font-size:10px;color:#92929c;text-transform:none;letter-spacing:0;gap:6px;align-items:center}.location-mark{font-size:17px;line-height:1}.event-body>p{font-size:12px;line-height:1.85;color:#8b8b94;margin:13px 0 22px;min-height:45px}.event-action{border-top:1px solid #ededf2;padding-top:20px;min-height:68px}.event-action .button{font-size:11px;min-height:43px;background:#f2f3f8;color:#43434f;box-shadow:none;transition:background .3s,color .3s,transform .25s}.event-action .button:hover{background:var(--ink);color:white}.event-action .button span{font-size:17px}.event-action .check-label{font-size:10px;line-height:1.7;color:#8b8b94;display:block}.event-action .check-label input{vertical-align:middle;margin-right:7px;width:14px;height:14px;accent-color:var(--action)}.event-action .check-label a{color:#656574}.pill{font-size:10px;padding:6px 12px;font-weight:500}.selection-notice{border-radius:20px;background:#ecf4eebd;border-color:#d8e7da;gap:19px;padding:25px}.selection-notice small{font-size:8px;letter-spacing:1.2px}.selection-notice p{max-width:500px;font-size:11px}.selection-notice h3{font-weight:600;font-size:22px}.selection-notice .text-button{font-size:10px}.success-icon{background:#fff9;color:#669575}
.terms-section{padding-top:104px}.how-heading{text-align:center}.how-heading .eyebrow{font-size:9px;color:#9696a0}.how-heading h2{font-size:51px;line-height:1.1;margin:17px 0 39px}.steps{gap:22px;margin:35px 0 27px}.steps>div{display:block;position:relative;border:1px solid #ffffff;background:#ffffffb5;border-radius:24px;padding:28px;box-shadow:0 5px 20px #3a3a5503}.steps .step-symbol{display:grid;place-items:center;width:45px;height:45px;border-radius:15px;background:linear-gradient(130deg,#eef1fb,#eeebf7);font-family:inherit;font-style:normal;font-size:28px;color:#8794c1;line-height:1}.steps>div>small{position:absolute;right:27px;top:30px;color:#c0c0ca;font-size:10px}.steps h3{font-size:17px;margin:21px 0 11px;font-weight:600;letter-spacing:-.5px}.steps p{font-size:12px;line-height:1.8;margin:0;color:#8e8e98}.terms-copy{padding:0;background:transparent;border-top:1px solid #dddde6;border-bottom:1px solid #dddde6;border-radius:0}.terms-copy summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 8px;cursor:pointer;list-style:none;font-size:12px;color:#6a6a76}.terms-copy summary::-webkit-details-marker{display:none}.details-plus{font-size:20px;color:#9292a0;transition:transform .3s}.terms-copy[open] .details-plus{transform:rotate(45deg)}.terms-details{padding:6px 8px 25px}.terms-details h3{font-size:14px}.terms-details p{font-size:11px;color:#8b8b97}.closing-note{text-align:center;padding:86px 5% 89px;position:relative;isolation:isolate;overflow:hidden}.closing-note:before{content:'';position:absolute;z-index:-1;left:50%;top:30px;transform:translateX(-50%);height:450px;width:780px;background:radial-gradient(ellipse,#e6e5f466,transparent 65%);pointer-events:none}.closing-spark{font-size:39px;background:linear-gradient(120deg,#97a6d8,#b497c5);background-clip:text;-webkit-background-clip:text;color:transparent;display:block;margin-bottom:23px}.closing-note h2{font-size:40px;line-height:1.17;font-weight:600;letter-spacing:-1.5px;margin:0 0 18px}.closing-note h2 span{color:#9b9baa}.closing-note p{font-size:11px;color:#a0a0aa;margin:0 0 25px}.closing-note .button{font-size:11px;min-height:43px;border-color:#d8d8e2;color:#666673;padding:12px 21px;background:#ffffff73}.public-footer{padding:28px max(5%,calc((100vw - 1240px)/2));border-color:#e0e0e8;gap:25px;background:#efeff380}.public-footer .brand{font-size:10px;font-weight:500;color:#73737e}.public-footer .brand-mark{background:none;color:#90909d;font-size:29px}.public-footer>span:not(.brand){font-family:inherit;font-style:normal;font-size:10px;color:#a0a0ab}.public-footer>a{font-size:10px;color:#898995}.back-top{position:fixed;bottom:25px;right:25px;z-index:25;background:#ffffffb8;border-color:#dcdce9;box-shadow:0 5px 20px #2525420d;width:42px;height:42px;font-size:20px;animation:soft-enter .3s both}
/* Focused event view */
.event-dialog{border:1px solid #ffffffc9;border-radius:28px;background:#fafafb;max-width:900px;width:calc(100% - 48px);max-height:90vh;max-height:90dvh;padding:0;box-shadow:0 35px 100px #10102540;color:var(--ink);overflow:auto}.event-dialog[open]{animation:dialog-arrive .38s var(--ease)}.event-dialog::backdrop{background:#17172955;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.event-dialog-layout{display:grid;grid-template-columns:1fr 1fr;min-height:500px}.event-dialog-visual{background:linear-gradient(140deg,#e5e8f2,#eeecf3);padding:35px;display:flex;align-items:center;justify-content:center;min-width:0}.event-dialog-visual img{width:100%;height:auto;max-height:500px;object-fit:contain;border-radius:11px;filter:drop-shadow(0 17px 17px #20203a1f)}.event-dialog-visual.without-poster:after{content:'✳';font-size:130px;color:#c0c9df}.dialog-close{position:absolute;right:15px;top:15px;width:33px;height:33px;border:1px solid #fff8;display:grid;place-items:center;border-radius:50%;font-size:24px;line-height:1;background:#e4e4ebbd;backdrop-filter:blur(15px);z-index:3;color:#777782;transition:background .2s,transform .2s}.dialog-close:hover{background:#fff;transform:rotate(90deg)}.event-dialog-content{padding:53px 34px 33px;display:flex;flex-direction:column;justify-content:center;min-width:0}.event-dialog-content .eyebrow{font-size:9px;color:#9b95ad}.event-dialog-content h2{font-size:36px;line-height:1.05;letter-spacing:-1.5px;font-weight:650;margin:17px 0 20px}.dialog-date{font-size:12px;font-weight:500;color:#71717f;margin:0 0 4px}.dialog-venue{font-size:11px;color:#a0a0ac;margin:0 0 22px}.dialog-description{font-size:13px;line-height:1.8;color:#8c8c98}.event-dialog .event-action{margin-top:7px}.event-dialog .event-action .button{background:var(--ink);color:white}.dialog-continue{font-size:11px;color:#9696a1;align-self:center;margin-top:14px}.dialog-continue span{margin-left:8px}
/* Authentication and preferences use the same visual language. */
.auth-shell{padding-top:87px;padding-bottom:95px;gap:85px;max-width:1150px;min-height:74vh}.auth-intro h1{font-size:53px;font-weight:600;line-height:1.08;letter-spacing:-2.6px;margin:20px 0 25px}.auth-intro h1 em{color:#9294a6}.auth-intro .eyebrow{font-size:9px;color:#9693a6}.auth-intro p{font-size:14px;color:#93939f;max-width:380px}.auth-stamp{color:#aaafd0}.auth-stamp span{color:#a0a0aa}.auth-card{border-radius:25px;border:1px solid white;box-shadow:0 15px 60px -20px #3a3a6112;padding:36px;background:#ffffffd9}.auth-card h2{font-size:29px;letter-spacing:-1px;margin-top:14px}.auth-card .eyebrow{font-size:9px;color:#a1a1ad}.field>span{font-size:12px;font-weight:500;color:#6f6f7d}.field input:not([type=checkbox]),.field textarea,.field select{border-radius:11px;border:1px solid #e1e1e8;background:#fafafd;padding:13px 15px;transition:background .2s,border-color .2s,box-shadow .2s;font-size:14px;min-height:47px}.field input:focus,.field textarea:focus{background:#fff;border-color:#9cadde;box-shadow:0 0 0 3px #9cadde15;outline-offset:2px}.field small{font-size:10px;color:#a0a0ac}.test-warning{border:1px solid #ede6d7;background:#faf7ef;border-radius:12px;padding:16px}.test-warning strong{font-size:11px;color:#a08c61}.test-warning p{font-size:10px;color:#b1a27f;line-height:1.8}.auth-card .small-note{font-size:10px;line-height:1.8;color:#a5a5b0}.auth-card .button{font-size:12px;min-height:47px}.auth-card>p{color:#9595a1}.panel{border-radius:20px;border:1px solid #eeeef3;box-shadow:0 7px 27px #2d2d4e03}.narrow.section{padding-top:66px;padding-bottom:75px}.narrow>h1{font-size:49px;letter-spacing:-2px;margin:17px 0 24px}.narrow>h1 em{color:#9396a9}.narrow>p{color:#9494a0;font-size:14px}.narrow .panel p{font-size:12px}.narrow .panel h2{font-size:27px;margin-top:21px}.narrow .small-note{color:#9898a5}.narrow .button{font-size:12px}.subtle-link{border-bottom-color:#d5d5e0;color:#8c8c9b;font-size:11px}.campaign-tile{transition:box-shadow .3s,transform .3s}.campaign-tile:hover{box-shadow:0 15px 35px #1f1f4810;transform:translateY(-4px)}
@keyframes soft-enter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes poster-arrive{from{opacity:0;translate:0 30px}to{opacity:1;translate:0 0}}
@keyframes dialog-arrive{from{opacity:0;transform:translateY(25px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(min-width:1550px){.modern-hero{padding-top:77px}.showcase-item{width:235px}.showcase-poster{height:310px}.showcase-stage{min-height:385px}.modern-hero h1{font-size:98px}.experience-section{padding-top:90px}}
@media(max-width:1100px){.modern-hero{padding-top:57px}.modern-hero h1{max-width:720px;font-size:77px}.showcase-item{width:187px}.showcase-poster{height:250px}.showcase-stage{min-height:326px}.event-card-heading h3{font-size:29px}.poster-interactive{height:330px;padding:25px 40px 32px}.event-body{padding-left:26px;padding-right:26px}.section-heading h2{font-size:43px}.steps{gap:17px}.steps>div{padding:24px}.steps h3{font-size:15px}.auth-shell{gap:42px}.auth-intro h1{font-size:45px}.showcase-stage:has(.showcase-item:nth-child(5)){overflow-x:auto;justify-content:flex-start;padding-left:45px;padding-right:45px}}
@media(max-width:760px){html{scroll-padding-top:134px}.brand small{font-size:6px;letter-spacing:1.1px;margin-top:5px}.modern-hero{padding:44px 5% 28px}.hero-kicker{font-size:7px;letter-spacing:1.2px;padding:7px 11px}.modern-hero h1{font-size:58px;max-width:540px;line-height:1.015;letter-spacing:-3.7px;margin:22px auto}.modern-hero .hero-copy>p{font-size:13px;line-height:1.8;max-width:345px;margin-bottom:23px}.hero-actions{gap:18px}.hero-primary{min-height:42px;font-size:11px;padding:12px 18px;gap:13px}.hero-secondary{font-size:10px;gap:6px}.hero-halo{top:220px;width:700px;height:400px;filter:blur(35px)}.showcase{margin-top:26px;max-width:540px}.showcase-stage{padding:30px 0 25px;min-height:259px}.showcase-item{width:151px}.showcase-item+.showcase-item{margin-left:-40px}.showcase-poster{height:202px;border-width:4px;border-radius:13px}.showcase-item.is-active{transform:translateY(-9px) rotate(0deg) scale(1.035)}.showcase-item-label{font-size:8px;padding:6px 10px;bottom:11px}.showcase-controls{gap:17px;margin-top:6px}.showcase-caption{min-width:190px}.showcase-caption>[data-showcase-title]{font-size:14px}.showcase-caption small{font-size:9px}.round-button{width:33px;height:33px;font-size:17px}.showcase-hint{font-size:8px!important;margin-top:16px!important}.hero-signature{gap:12px;margin-top:29px;font-size:9px}.signature-line{width:35px}.experience-section{padding-top:50px}.section-heading{margin-bottom:24px;display:block}.section-heading .eyebrow{font-size:8px;letter-spacing:1.2px}.section-heading h2{font-size:36px;letter-spacing:-1.7px;margin-top:12px}.section-heading>p{margin-top:13px;font-size:11px}.section-heading>p br{display:none}.discovery-toolbar{top:76px;margin:24px 0;padding:6px;border-radius:100px;gap:6px}.filter-row{flex-wrap:wrap;gap:2px}.filter{font-size:10px;padding:9px 14px}.filter span{font-size:8px;margin-left:5px}.toolbar-caption{display:none}.experience-grid{grid-template-columns:1fr;gap:23px}.event-card{border-radius:24px;scroll-margin-top:143px}.event-top{padding:23px 25px 0}.event-card-heading{padding:17px 25px 5px}.event-card-heading h3{font-size:31px}.event-card-heading p{font-size:10px}.poster-interactive{height:365px;aspect-ratio:auto;padding:23px 45px 30px}.poster-interactive img{border-radius:10px}.poster-discover{right:23px;bottom:17px;font-size:9px}.poster-discover>span{width:27px;height:27px;font-size:20px}.event-body{padding:9px 25px 25px}.event-body>p{font-size:12px;min-height:0}.event-meta{font-size:10px}.selection-notice{padding:20px;border-radius:18px;gap:13px}.selection-notice small{font-size:7px}.selection-notice h3{font-size:19px}.selection-notice p{font-size:10px}.selection-notice form{margin-left:55px}.terms-section{padding-top:62px}.how-heading h2{font-size:39px;letter-spacing:-1.7px;margin-top:15px;margin-bottom:28px}.how-heading .eyebrow{font-size:8px}.steps{grid-template-columns:1fr;gap:14px;margin:28px 0 24px}.steps>div{padding:25px;display:grid;grid-template-columns:45px 1fr;gap:0 18px;border-radius:20px}.steps .step-symbol{width:42px;height:42px;font-size:26px;grid-row:1/3;align-self:start}.steps>div>small{right:22px;top:22px;font-size:9px}.steps h3{margin:2px 0 9px;font-size:16px;padding-right:15px}.steps p{font-size:11px;line-height:1.8}.terms-copy summary{padding:20px 5px;font-size:11px}.terms-details{padding:5px 5px 20px}.terms-details p{font-size:11px}.closing-note{padding:60px 5% 63px}.closing-spark{font-size:34px;margin-bottom:22px}.closing-note h2{font-size:31px;letter-spacing:-1.4px}.closing-note p{font-size:10px;margin:0 auto 24px;max-width:270px}.closing-note .button{font-size:10px;min-height:40px;padding:10px 19px}.public-footer{padding:25px 5%;gap:20px;flex-wrap:wrap}.public-footer .brand{font-size:9px;max-width:240px;gap:8px}.public-footer .brand-mark{font-size:24px;width:25px;height:25px}.public-footer>span:not(.brand){font-size:9px;order:3;width:100%}.public-footer>a{font-size:9px}.back-top{width:37px;height:37px;bottom:18px;right:18px;font-size:18px}.event-dialog{width:calc(100% - 26px);max-height:92vh;max-height:92dvh;border-radius:23px}.event-dialog-layout{grid-template-columns:1fr;min-height:0}.event-dialog-visual{padding:26px 65px;max-height:285px;min-height:210px}.event-dialog-visual img{height:235px;max-height:235px;width:auto;max-width:100%;object-fit:contain;filter:drop-shadow(0 12px 15px #20203a27)}.event-dialog-content{padding:25px 27px 21px}.event-dialog-content h2{font-size:31px;margin:12px 0 15px}.event-dialog-content .eyebrow{font-size:8px}.dialog-date{font-size:11px}.dialog-venue{font-size:10px;margin-bottom:17px}.dialog-description{font-size:12px;margin-bottom:10px}.event-dialog .event-action{padding-top:17px}.dialog-continue{font-size:10px;margin-top:9px}.auth-shell{grid-template-columns:1fr;padding:40px 5% 58px;gap:26px;min-height:0}.auth-intro{text-align:center}.auth-intro .eyebrow{font-size:8px}.auth-intro h1{font-size:42px;letter-spacing:-2px;margin:17px 0 20px}.auth-intro p{font-size:12px;max-width:320px;margin:0 auto}.auth-stamp{display:none}.auth-card{padding:29px 25px;border-radius:23px}.auth-card h2{font-size:27px}.field input:not([type=checkbox]){font-size:16px}.narrow.section{padding:45px 5% 60px}.narrow>h1{font-size:40px}.narrow>p{font-size:12px}.narrow .panel{padding:24px}.narrow .panel .button{font-size:11px}.narrow .panel h2{font-size:25px}.showcase-stage:has(.showcase-item:nth-child(5)){padding-left:30px;padding-right:30px}}
@media(max-width:480px){.modern-hero h1{font-size:53px;letter-spacing:-3.3px;max-width:360px}.showcase-item{width:125px}.showcase-item+.showcase-item{margin-left:-33px}.showcase-poster{height:172px;border-radius:11px;border-width:3px}.showcase-stage{min-height:233px;padding-bottom:25px}.showcase-item-label{font-size:7px;padding:5px 8px}.showcase-controls{margin-top:0}.hero-actions{gap:15px}.hero-primary{font-size:10px;padding:12px 17px}.hero-secondary{font-size:9px}.poster-interactive{height:342px;padding-left:44px;padding-right:44px}.section-heading h2{font-size:33px}.hero-signature{font-size:8px;gap:9px}.signature-line{width:25px}}
@media(max-width:380px){.modern-hero h1{font-size:47px;max-width:325px;letter-spacing:-2.8px}.modern-hero .hero-copy>p{font-size:12px;max-width:300px}.hero-kicker{font-size:6px;letter-spacing:1px}.hero-actions{gap:12px}.hero-primary{font-size:9px;padding:11px 15px;min-height:40px}.hero-secondary{font-size:9px}.showcase-item{width:108px}.showcase-item+.showcase-item{margin-left:-31px}.showcase-poster{height:151px}.showcase-stage{min-height:211px}.showcase-caption{min-width:174px}.showcase-caption>[data-showcase-title]{font-size:13px}.showcase-caption small{font-size:8px}.showcase-controls{gap:14px}.section-heading h2{font-size:29px}.filter{font-size:9px;padding:9px 12px}.event-card-heading h3{font-size:28px}.poster-interactive{height:315px;padding:22px 38px 29px}.how-heading h2{font-size:34px}.closing-note h2{font-size:28px}.event-dialog-visual{padding:23px 52px;max-height:250px}.event-dialog-visual img{max-height:208px}.event-dialog-content{padding:23px}.event-dialog-content h2{font-size:29px}.auth-intro h1{font-size:37px}.auth-card{padding:24px}}
.modern-hero .hero-copy>p,.event-body>p,.steps p,.dialog-description{color:#70707b}
.event-meta,.event-card-heading p,.dialog-date,.dialog-venue,.terms-details p{color:#767681}
@media(max-width:480px){.showcase-item{width:clamp(95px,28vw,125px)}.showcase-poster{height:clamp(135px,39vw,172px)}}
@media(max-width:380px){.showcase-item{width:94px}.showcase-item+.showcase-item{margin-left:-30px}.showcase-poster{height:135px}}
/* Header-free browsing and the choice → consent → authentication journey. */
html{scroll-padding-top:90px}
.skip:not(:focus){clip-path:inset(50%);width:1px;height:1px;overflow:hidden;padding:0;white-space:nowrap}
.discovery-toolbar{top:12px}
.event-card{scroll-margin-top:100px}
.hero-actions{flex-wrap:wrap}
.hero-signature{max-width:100%;line-height:1.7}
.public-footer .text-button{font-size:10px;color:var(--muted)}
.participation-shell{max-width:1180px;margin:auto;padding:42px 5% 90px}
.journey-back{display:inline-block;font-size:12px;color:var(--muted);margin-bottom:32px}
.journey-back:hover{color:var(--action)}
.journey-steps{list-style:none;display:flex;gap:32px;padding:0;margin:0 0 44px;font-size:12px;color:var(--muted)}
.journey-steps li{display:flex;align-items:center;gap:10px}
.journey-steps li>span{display:grid;place-items:center;width:29px;height:29px;flex-shrink:0;border-radius:50%;background:#e8e8ee;font-size:11px}
.journey-steps .is-done>span{background:#e3eee7;color:#347354}
.journey-steps .is-current{color:var(--ink);font-weight:600}
.journey-steps .is-current>span{background:var(--ink);color:#fff}
.participation-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px;align-items:start}
.chosen-event{padding:30px;text-align:center;border-radius:28px;background:linear-gradient(145deg,#ececf8,#e7edf6);position:sticky;top:25px}
.chosen-event .eyebrow{display:block;font-size:8px;line-height:1.8}
.chosen-event img{display:block;width:auto;max-width:100%;height:285px;object-fit:contain;margin:28px auto;border-radius:12px;box-shadow:0 16px 35px #171b3828}
.chosen-event h2{font-size:32px;line-height:1.1;margin:20px 0 12px}
.chosen-event p{font-size:12px;line-height:1.8;color:var(--muted)}
.chosen-event .pill{background:#ffffffa6;color:var(--ink);margin-top:8px}
.participation-card{min-width:0;padding:8px 0}
.participation-card h1{font-size:44px;line-height:1.1;margin:17px 0 22px}
.participation-card>p{font-size:14px;color:var(--muted);line-height:1.8}
.participation-terms{margin:26px 0;padding:25px;background:#fff;border:1px solid var(--line);border-radius:20px}
.participation-terms h2{font-size:17px;line-height:1.4;margin:0 0 14px;letter-spacing:-.3px}
.participation-terms p{font-size:12px;line-height:1.85;color:var(--muted);overflow-wrap:anywhere;margin-bottom:0}
.consent-label{display:flex;flex-wrap:nowrap;align-items:flex-start;gap:12px;font-size:13px;line-height:1.7;margin:0 0 24px}
.consent-label>span{min-width:0;flex:1}
.consent-label input{width:19px;height:19px;flex-shrink:0;accent-color:var(--action);margin:2px 0 0}
.participation-card>.small-note{font-size:11px;line-height:1.7;margin-top:20px}
.auth-stamp strong{font-size:18px;color:var(--ink)}
.login-selection{padding:18px;border-radius:14px;background:var(--soft);font-size:14px;line-height:1.7}
@media(max-width:760px){
  .discovery-toolbar{top:8px}
  .participation-shell{padding:27px 5% 55px}
  .journey-steps{gap:14px;justify-content:space-between;margin-bottom:28px;font-size:10px}
  .journey-steps li{gap:6px;align-items:flex-start;flex:1;line-height:1.5}
  .journey-steps li>span{width:23px;height:23px;font-size:10px}
  .participation-layout{grid-template-columns:1fr;gap:25px}
  .chosen-event{position:static;padding:22px 22px 22px 124px;min-height:175px;text-align:left;border-radius:22px}
  .chosen-event img{position:absolute;left:24px;top:28px;width:78px;height:116px;margin:0;object-fit:contain}
  .chosen-event{position:relative}
  .chosen-event h2{font-size:25px;margin:12px 0 8px}
  .chosen-event p{font-size:11px;margin:0}
  .chosen-event .eyebrow{font-size:7px;letter-spacing:.7px}
  .chosen-event .pill{font-size:9px;padding:4px 8px}
  .participation-card h1{font-size:36px}
  .participation-card>p{font-size:13px}
  .participation-terms{padding:22px}
  .consent-label{font-size:12px}
  .auth-stamp{display:flex;justify-content:center;margin-top:22px;font-size:26px}
  .auth-stamp span{text-align:left;font-size:11px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.will-reveal{opacity:1;transform:none}}

/* Tête d'affiche : carte pleine largeur, affiche à gauche */
.event-card.featured{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);grid-template-rows:auto auto 1fr;grid-template-areas:"poster top" "poster heading" "poster body"}
.event-card.featured .event-top{grid-area:top;padding-top:38px}
.event-card.featured .event-card-heading{grid-area:heading;padding-top:28px}
.event-card.featured .event-card-heading h3{font-size:46px;letter-spacing:-1.8px}
.event-card.featured .event-poster{grid-area:poster;height:auto;min-height:520px;padding:40px 48px}
.event-card.featured .event-body{grid-area:body;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:38px}
.event-card.featured .event-body>p{font-size:14px}
.featured-badge{display:inline-block;font-size:13px;font-weight:650;letter-spacing:-.01em;margin-bottom:8px}
@media(max-width:760px){.event-card.featured{display:block}.event-card.featured .event-top{padding-top:23px}.event-card.featured .event-card-heading{padding-top:17px}.event-card.featured .event-card-heading h3{font-size:34px}.event-card.featured .event-poster{height:380px;min-height:0;padding:23px 45px 30px}}

/* Logo et partenaires */
.site-header{position:relative;z-index:2;padding:22px max(5%,calc((100vw - 1240px)/2)) 0;background:#fff}
.site-header~main .modern-hero{padding-top:40px}
.site-header a{display:inline-block;border-radius:6px}
.site-header img{display:block;width:176px;height:auto}
.partners{padding:56px 5% 44px;text-align:center;border-top:1px solid #e6e6ec}
.partners ul{list-style:none;margin:16px auto 0;padding:0;max-width:980px;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px 40px}
.partners li{font-size:15px;font-weight:600;letter-spacing:-.01em;color:#86868b}
.partners li:has(img){line-height:0}
.partners img{display:block;width:130px;height:auto}
@media(max-width:620px){.site-header~main .modern-hero{padding-top:28px}.site-header{padding-top:16px}.site-header img{width:140px}.partners{padding:44px 16px 36px}.partners ul{gap:6px 10px}.partners img{width:104px}.partners li{font-size:13px}}

/* Le dégradé du titre couvre aussi les jambages (g, p) */
.modern-hero h1{padding-bottom:.12em}
.footer-links{display:flex;gap:22px}
/* Règlement long : cadre défilant sur la page de participation */
.participation-terms .preserve-lines{max-height:340px;overflow:auto;padding-right:12px;overscroll-behavior:contain}

/* Affiches : zoom sur l'affiche choisie et fiche détail */
.showcase-item{cursor:pointer}
.showcase.is-open .showcase-item{opacity:.5;filter:saturate(.55)}
.showcase.is-open .showcase-item.is-active{opacity:1;filter:none;transform:translateY(-24px) rotate(0deg) scale(1.16);z-index:30}
.showcase.is-open .showcase-item.is-active .showcase-poster{box-shadow:0 26px 50px -12px #28314a55,0 40px 80px -30px #3b497f66}
.showcase-panel{position:relative;max-width:560px;margin:4px auto 6px;padding:26px 30px 28px;background:#fff;border:1px solid #ececf2;border-radius:26px;box-shadow:0 22px 50px -24px #20204733;text-align:center;animation:panel-in .45s var(--ease) both}
.showcase-panel.is-selected{border-color:#a6c2a2;box-shadow:0 0 0 3px #deebdb80,0 22px 50px -24px #20204733}
.showcase-panel .featured-badge{margin-bottom:10px}
.panel-meta{margin:0 0 10px;font-size:13px;color:#767681}
.panel-description{margin:0 auto 20px;max-width:440px;font-size:15px;line-height:1.7;color:#55555f}
.showcase-panel .button{min-width:220px;justify-content:center;gap:12px}
.panel-closed{margin:0;font-size:13px;color:#767681}
.showcase-caption{cursor:pointer}
.modern-hero .selection-notice{max-width:760px;margin:26px auto 0;text-align:left}
.closed-notice{max-width:560px;margin:20px auto 0}
@keyframes panel-in{from{opacity:0;transform:translateY(-10px) scale(.98)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.showcase-panel{animation:none}.showcase-item{transition:none}}
@media(max-width:620px){.showcase.is-open .showcase-item.is-active{transform:translateY(-12px) rotate(0deg) scale(1.1)}.showcase-panel{margin:4px 0 6px;padding:22px 20px 24px;border-radius:22px}.panel-description{font-size:14px}.showcase-panel .button{width:100%}}
/* .hero p (ancien hero sombre) ne doit pas s'appliquer à la fiche */
.modern-hero .showcase-panel p{max-width:none}
.modern-hero .showcase-panel .panel-meta{margin:0 0 8px;font-size:13px;line-height:1.5;color:#6e6e78}
.modern-hero .showcase-panel .panel-description{margin:0 auto 20px;max-width:440px;font-size:15px;line-height:1.7;color:#45454f}
.modern-hero .showcase-panel .panel-closed{margin:0;color:#6e6e78}
.modern-hero .selection-notice p{max-width:none;margin-bottom:0;font-size:13px;line-height:1.7;color:#4f6a58}
@media(max-width:620px){.modern-hero .showcase-panel .panel-description{font-size:14px}}
/* Inscription directement dans la fiche */
.panel-form{display:flex;flex-direction:column;align-items:center;gap:16px;margin:0}
.panel-consent{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.5;color:#45454f;text-align:left;cursor:pointer}
.panel-consent input{flex-shrink:0;width:18px;height:18px;margin:1px 0 0;accent-color:var(--ink);cursor:pointer}
.panel-consent a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.modern-hero .showcase-panel .panel-note{margin:0;font-size:12px;color:#6e6e78}
