:root{--mock-navy:#071b45;--mock-blue:#0758df;--mock-red:#f21f3a;--mock-text:#304361;--mock-line:#dfe7f3}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.mockup-page{min-height:100vh;overflow-x:hidden;background:#fff;color:var(--mock-navy);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;line-height:1.45;position:relative}
.mockup-page:before,.mockup-page:after{content:"";position:fixed;z-index:-2;pointer-events:none;border-radius:50%;filter:blur(2px)}
.mockup-page:before{width:520px;height:760px;left:-300px;top:170px;background:radial-gradient(ellipse,#e4f2ff 0,#eff8ff 48%,transparent 72%)}
.mockup-page:after{width:500px;height:760px;right:-300px;top:100px;background:radial-gradient(ellipse,#fff0f2 0,#fff6f7 48%,transparent 72%)}
.shell{width:min(1360px,calc(100% - 112px));margin-inline:auto}
.mock-header{height:112px;padding-top:23px;display:grid;grid-template-columns:280px 1fr 160px;align-items:start;position:relative;z-index:4}
.brand{display:inline-block;width:250px}.brand img{display:block;width:100%;height:auto}
.header-quote{margin:-3px auto 0;padding:0 28px;text-align:center;font-size:14px;line-height:1.45;position:relative;color:var(--mock-navy)}
.header-quote:before,.header-quote:after{position:absolute;color:var(--mock-red);font-size:44px;font-weight:900;line-height:1;font-family:Georgia,serif}.header-quote:before{content:"“";left:0;top:-7px}.header-quote:after{content:"”";right:2px;bottom:-19px}
.header-quote span,.header-quote strong{display:block}.header-quote strong{color:var(--mock-red);font-size:17px;margin-top:1px}.header-quote strong:after{content:"";display:block;width:74px;height:3px;margin:10px auto 0;background:linear-gradient(90deg,var(--mock-blue) 0 31%,transparent 31% 48%,var(--mock-red) 48% 78%,transparent 78%)}
.outline-button{justify-self:end;margin-top:1px;display:inline-flex;min-width:130px;height:44px;padding:0 20px;align-items:center;justify-content:center;border:1.5px solid #7084a8;border-radius:10px;color:var(--mock-navy);background:#fff;text-decoration:none;font-size:13px;font-weight:700;box-shadow:0 6px 18px rgba(18,46,94,.03)}
.ribbon{position:absolute;top:0;width:76px;height:610px;z-index:1;pointer-events:none;overflow:hidden}.ribbon:before,.ribbon:after,.ribbon i,.ribbon b{content:"";position:absolute;display:block}.ribbon-blue{left:0}.ribbon-red{right:0}.ribbon:before{width:72px;height:420px;top:-70px;transform:rotate(-18deg);border-radius:50% 20% 55% 20%}.ribbon:after{width:56px;height:430px;top:175px;transform:rotate(18deg);border-radius:40% 60% 30% 70%}.ribbon i{width:28px;height:510px;top:-60px;left:19px;border-radius:50%;transform:rotate(9deg);filter:blur(.2px)}.ribbon b{width:44px;height:260px;top:135px;border-radius:50%;transform:rotate(-26deg);filter:blur(1px)}
.ribbon-blue:before{left:-42px;background:linear-gradient(90deg,#002a98,#0875ff 53%,#a9d7ff)}.ribbon-blue:after{left:-35px;background:linear-gradient(90deg,#e9f7ff,#479cff 48%,#0052c7)}.ribbon-blue i{background:linear-gradient(90deg,rgba(238,249,255,.95),#1879ee 65%,#0042aa)}.ribbon-blue b{left:-16px;background:linear-gradient(90deg,#0443ad,#0b86ff,#e3f5ff)}
.ribbon-red:before{right:-43px;background:linear-gradient(90deg,#ffd9de,#ff3f58 44%,#e00023)}.ribbon-red:after{right:-35px;background:linear-gradient(90deg,#f31538,#ff6e80 48%,#fff1f2)}.ribbon-red i{left:auto;right:19px;background:linear-gradient(90deg,#e50027,#ff3552 45%,rgba(255,243,245,.96))}.ribbon-red b{right:-16px;background:linear-gradient(90deg,#fff0f2,#ff4961,#d80020)}
.landing-main{position:relative;z-index:2;padding-top:25px}.mock-hero{display:grid;grid-template-columns:1.16fr .9fr;align-items:center;gap:32px;min-height:418px;padding:2px 44px 28px}
.hero-copy h1{font-size:clamp(44px,4.45vw,70px);font-weight:900;line-height:1.05;letter-spacing:-.056em;margin:0 0 26px}.hero-copy h1 em{font-style:normal;color:var(--mock-red)}.hero-copy p{font-size:18px;line-height:1.62;color:var(--mock-text);max-width:580px;margin:0}
.question-card{width:100%;max-width:510px;justify-self:end;background:#fff;border:1px solid #e5eaf2;border-radius:18px;box-shadow:0 22px 50px rgba(24,62,117,.17);padding:24px 28px 0;position:relative;overflow:visible}.bubble-chip{position:absolute;left:-21px;top:-45px;width:58px;height:48px;border-radius:15px 15px 15px 3px;background:var(--mock-blue);color:#fff;display:grid;place-items:center;font-weight:900;font-size:19px;letter-spacing:2px;box-shadow:0 10px 18px rgba(7,88,223,.2)}.bubble-chip:after{content:"";position:absolute;left:8px;bottom:-8px;border-width:9px 9px 0 0;border-style:solid;border-color:var(--mock-blue) transparent transparent transparent}.demo-notice{font-size:10px;color:#7a879b;text-transform:uppercase;letter-spacing:.1em;margin:0 0 10px}.question-meta{display:flex;align-items:center;gap:14px}.question-meta span{background:#eaf2ff;color:var(--mock-blue);font-weight:800;font-size:12px;border-radius:16px;padding:6px 15px}.question-meta i{height:20px;border-left:1px solid #dfe5ee}.question-meta small{color:#64738d;font-size:12px}.question-card h2{font-size:19px;line-height:1.35;letter-spacing:-.025em;margin:15px 0 17px;padding-bottom:17px;border-bottom:1px solid #dfe5ee}.question-actions{display:flex;align-items:center;gap:28px;color:#214775;font-size:11px;font-weight:600;padding-bottom:18px}.question-actions span{display:flex;align-items:center;gap:6px}.question-actions svg{width:16px;height:16px;fill:none;stroke:var(--mock-blue);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.party-strip{margin:0 -28px;background:#f4f8fd;padding:17px 28px 18px;border-radius:0 0 18px 18px}.party-strip p{font-size:10px;margin:0 0 13px}.party-dots,.party-labels{display:grid;grid-template-columns:repeat(7,1fr);gap:12px;text-align:center}.party-dots span{width:34px;height:34px;justify-self:center;border-radius:50%;display:grid;place-items:center;background:#fff;color:#163d77;font-weight:900;font-size:14px;box-shadow:0 2px 8px rgba(16,55,110,.06)}.party-dots .p-red{color:#ef233c}.party-dots .p-gold{color:#ff9b00}.party-dots .p-green{color:#148d4a}.party-dots .p-mix{background:linear-gradient(135deg,#fff 42%,#ffe5e8 42%);color:#e4213b}.party-labels{margin-top:5px;color:#5a6b84;font-size:8px}
.launch-countdown{display:grid;grid-template-columns:1.04fr .96fr;align-items:center;gap:46px;margin:4px 0 34px;padding:42px 46px;border-radius:24px;color:#fff;background:linear-gradient(112deg,#041333 0,#07398f 58%,#cf1735 125%);box-shadow:0 24px 58px rgba(5,36,94,.26),inset 0 1px 0 rgba(255,255,255,.12);position:relative;overflow:hidden}.launch-countdown:before{content:"OUVERTURE";position:absolute;right:25%;top:-36px;color:rgba(255,255,255,.035);font-weight:950;font-size:118px;letter-spacing:-.07em;white-space:nowrap}.launch-countdown:after{content:"";position:absolute;width:310px;height:310px;border-radius:50%;right:-130px;top:-155px;border:48px solid rgba(255,255,255,.07)}.countdown-message{position:relative;z-index:1}.countdown-message .invite-eyebrow{color:#9fc5ff;text-align:left;margin:0 0 13px;font-size:10px}.countdown-message .invite-eyebrow:after{display:none}.countdown-message h2{font-size:clamp(23px,2.15vw,33px);line-height:1.18;letter-spacing:-.04em;margin:0 0 12px}.countdown-message h2 em{font-style:normal;color:#ff7f8d}.countdown-message p{font-size:12px;color:#dbe7ff;max-width:680px;margin:0}.countdown-clock{display:flex;justify-content:flex-end;align-items:center;gap:9px;position:relative;z-index:1}.countdown-clock>span{width:96px;min-height:108px;border:1px solid rgba(255,255,255,.26);border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.07));backdrop-filter:blur(9px);display:grid;place-content:center;text-align:center;box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 12px 24px rgba(0,0,0,.12)}.countdown-clock strong{font-size:43px;line-height:.95;letter-spacing:-.045em;font-variant-numeric:tabular-nums}.countdown-clock small{text-transform:uppercase;letter-spacing:.13em;font-size:8px;color:#c7d9fb;margin-top:10px}.countdown-clock i{font-style:normal;color:#ff8794;font-weight:900;font-size:24px}
.feature-band,.stats-band{border:1px solid #e1e8f2;background:rgba(255,255,255,.91);border-radius:17px;box-shadow:0 14px 40px rgba(31,69,121,.08)}.feature-band{display:grid;grid-template-columns:repeat(4,1fr);margin:0 0 29px;padding:28px 24px}.feature-band article{display:grid;grid-template-columns:44px 1fr;gap:13px;min-height:92px;padding:0 22px;border-right:1px solid #e4e9f0}.feature-band article:last-child{border-right:0}.line-icon,.stat-icon{color:var(--mock-blue)}.line-icon svg,.stat-icon svg{width:35px;height:35px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.feature-band h2{font-size:14px;line-height:1.35;margin:0 0 10px}.feature-band p{font-size:11px;line-height:1.55;color:#41536e;margin:0}
.alert-card{display:grid;grid-template-columns:1fr 1.05fr;align-items:center;gap:35px;padding:21px 27px;margin-bottom:35px;border:1px solid #e1e8f2;border-radius:17px;background:rgba(255,255,255,.94);box-shadow:0 14px 35px rgba(31,69,121,.07)}.alert-copy{display:grid;grid-template-columns:55px 1fr;gap:17px;align-items:center}.alert-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#eaf3ff;color:var(--mock-blue)}.alert-icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.alert-copy h2{font-size:14px;margin:0 0 5px}.alert-copy p{font-size:11px;color:#354a6b;line-height:1.65;margin:0}.alert-form{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:10px;position:relative;padding-bottom:25px}.alert-form>input[type=email]{height:47px;border:1px solid #ced9e8;border-radius:10px;padding:0 18px;font:inherit;font-size:12px;color:var(--mock-navy);background:#fff}.primary-button{border:0;border-radius:9px;background:linear-gradient(135deg,#0758df,#034aca);color:#fff;min-height:47px;padding:0 28px;display:inline-flex;align-items:center;justify-content:center;gap:24px;text-decoration:none;font-size:13px;font-weight:700;cursor:pointer;box-shadow:0 8px 20px rgba(7,88,223,.15)}.primary-button:disabled{opacity:.72;cursor:not-allowed}.compact-consent{position:absolute;left:1px;top:53px;display:flex;gap:7px;align-items:center;color:#69788d;font-size:9px}.compact-consent input{width:12px;height:12px}.alert-form .form-status{position:absolute;left:0;bottom:0;margin:0;font-size:9px;color:#728097;min-height:0}.alert-form .form-status.error{color:#a31325}.alert-form .form-status.ok{color:#087154}
.topics{margin:0 0 37px}.topics h2{font-size:17px;margin:0 0 19px}.topic-list{display:flex;gap:13px;flex-wrap:wrap}.topic-list span{min-height:44px;display:flex;align-items:center;gap:10px;padding:0 18px;border:1px solid #e0e7f0;border-radius:10px;background:#fff;box-shadow:0 4px 14px rgba(25,61,112,.06);font-size:11px}.topic-list i{color:var(--mock-blue);font-style:normal;font-size:21px;font-weight:700}.topic-list .health i,.topic-list .security i{color:var(--mock-red)}.topic-list .ecology i{color:#0a9c4b}.topic-list .housing i{color:#7438eb}
.stats-band{display:grid;grid-template-columns:repeat(4,1fr);padding:27px 35px;margin-bottom:28px}.stats-band article{display:flex;align-items:center;gap:17px;padding:0 24px;border-right:1px solid #e3e8ef}.stats-band article:last-child{border-right:0}.stats-band p{font-size:10px;line-height:1.55;color:#4c5e78;margin:0}.stats-band strong{font-size:16px;color:#153e80}.mock-footer{display:flex;justify-content:space-between;align-items:center;gap:25px;border-top:1px solid #e6ebf2;padding:20px 10px 28px;color:#6b7890;font-size:10px}.mock-footer p{margin:0}.mock-footer nav{display:flex;gap:20px}.mock-footer a{color:var(--mock-navy)}

.invite-header{grid-template-columns:1fr auto;height:104px}.invite-header .brand{width:230px}.back-link{color:var(--mock-navy);text-decoration:none;font-size:12px;font-weight:700;margin-top:17px}.invite-main{position:relative;z-index:2;padding:0 42px 42px}.invite-access{max-width:740px;margin:80px auto;text-align:center}.invite-intro{text-align:center;padding:0 20px}.invite-eyebrow{font-size:10px;letter-spacing:.17em;font-weight:700;color:#526884;margin:4px 0 35px}.invite-eyebrow:after{content:"";display:block;width:86px;height:3px;margin:13px auto 0;background:linear-gradient(90deg,var(--mock-blue) 0 34%,transparent 34% 62%,var(--mock-red) 62% 94%,transparent 94%)}.invite-intro h1{font-size:clamp(36px,4vw,54px);line-height:1.08;letter-spacing:-.045em;margin:0 0 23px;font-weight:900}.invite-intro h1 em{font-style:normal;color:var(--mock-blue)}.invite-intro>p:last-child{font-size:14px;line-height:1.55;color:#3a4c69;margin:0 auto 28px}.role-choice{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:1120px;margin:0 auto 26px}.role-card{border:0;border-radius:17px;min-height:270px;padding:23px 25px 24px;text-align:center;font:inherit;color:var(--mock-navy);cursor:pointer;display:flex;flex-direction:column;align-items:center;transition:transform .2s,box-shadow .2s}.role-card:hover,.role-card:focus-visible{transform:translateY(-2px);box-shadow:0 15px 28px rgba(22,61,118,.10)}.role-party{background:linear-gradient(135deg,#edf6ff,#f4f8ff)}.role-public{background:linear-gradient(135deg,#fff2f3,#fff7f7)}.role-icon{height:58px;display:grid;place-items:center;color:var(--mock-blue)}.role-public .role-icon{color:var(--mock-red)}.role-icon svg{width:48px;height:48px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.role-card h2{font-size:24px;line-height:1.08;letter-spacing:-.035em;margin:2px 0 15px}.role-card p{font-size:13px;line-height:1.5;color:#435773;margin:0 0 18px}.role-button{width:min(100%,400px);height:46px;margin-top:auto;border-radius:9px;display:flex;align-items:center;justify-content:center;gap:24px;background:linear-gradient(135deg,#0758df,#034dcc);color:#fff;font-size:13px;font-weight:700}.role-public .role-button{background:linear-gradient(135deg,#f21f3a,#ed1833)}.role-card.active{outline:3px solid rgba(7,88,223,.2);outline-offset:-3px}.role-public.active{outline-color:rgba(242,31,58,.18)}
.equitable{padding:0 0 27px;text-align:center}.equitable>h2{font-size:21px;letter-spacing:-.025em;margin:0 0 20px}.equitable-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.equitable-grid article>span{height:51px;display:grid;place-items:center;color:var(--mock-blue)}.equitable-grid svg{width:42px;height:42px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.equitable-grid h3{font-size:12px;line-height:1.35;margin:3px 0 9px}.equitable-grid p{font-size:10px;line-height:1.55;color:#4d607a;margin:0}.participate-card{border-radius:17px;background:linear-gradient(135deg,#eaf5ff,#f1f7ff);text-align:center;padding:18px 25px 20px;margin:0 auto 35px}.participate-card h2{font-size:19px;margin:0 0 4px}.participate-card p{font-size:10px;line-height:1.55;color:#405572;margin:0 0 12px}.participate-card .primary-button{min-width:200px;min-height:43px}
.application-panel{max-width:980px;margin:0 auto 38px;border:1px solid #dfe7f2;border-radius:20px;background:#fff;padding:36px 44px 42px;box-shadow:0 18px 50px rgba(26,64,117,.09);scroll-margin-top:25px}.application-panel .invite-eyebrow{margin:0 0 24px;text-align:center}.application-panel h2{text-align:center;font-size:31px;letter-spacing:-.035em;margin:11px 0}.application-panel .status-pill{display:table;margin:0 auto;border-radius:999px;padding:6px 12px;background:#ebf3ff;color:var(--mock-blue);font-weight:800;font-size:10px;text-transform:uppercase}.role-explanation{max-width:720px;margin:0 auto 12px;border-radius:10px;background:#f3f7fd;padding:12px 16px;text-align:center;color:#405572;font-size:12px}.role-explanation p{margin:0}.panel-intro{max-width:720px;margin:0 auto 27px;text-align:center;color:#52637b;font-size:13px}.application-panel .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.application-panel .field{display:grid;gap:7px;font-size:12px;font-weight:700}.application-panel .field.full{grid-column:1/-1}.application-panel .field small{font-weight:400;color:#6d7b8e}.application-panel input,.application-panel textarea,.application-panel select{width:100%;border:1px solid #c9d5e5;border-radius:9px;background:#fff;padding:12px;font:inherit;color:var(--mock-navy)}.application-panel textarea{resize:vertical}.application-panel .check{display:flex;gap:10px;align-items:flex-start;margin:20px 0 16px;color:#5c6c82;font-size:11px}.application-panel .check input{width:16px;height:16px;flex:0 0 auto}.application-panel form>.primary-button{display:flex;margin:0 auto}.application-panel .form-status{text-align:center;font-size:12px;min-height:18px;margin:12px 0 0}.application-panel .form-status.error{color:#a31325}.application-panel .form-status.ok{color:#087154}

@media(max-width:1050px){.shell{width:min(920px,calc(100% - 72px))}.mock-header{grid-template-columns:220px 1fr 135px}.brand{width:210px}.mock-hero{grid-template-columns:1fr 1fr;padding-inline:20px}.hero-copy h1{font-size:46px}.question-card{max-width:440px}.feature-band{grid-template-columns:1fr 1fr;row-gap:25px}.feature-band article:nth-child(2){border-right:0}.alert-card{grid-template-columns:1fr}.stats-band{grid-template-columns:1fr 1fr;row-gap:24px}.stats-band article:nth-child(2){border-right:0}.invite-main{padding-inline:20px}}
@media(max-width:760px){.shell{width:calc(100% - 32px)}.ribbon{opacity:.45;width:34px;height:480px}.ribbon-blue:before,.ribbon-blue:after,.ribbon-blue i,.ribbon-blue b{left:-35px}.ribbon-red:before,.ribbon-red:after,.ribbon-red i,.ribbon-red b{right:-35px}.mock-header{height:86px;padding-top:15px;grid-template-columns:1fr auto}.brand,.invite-header .brand{width:180px}.header-quote{display:none}.outline-button{min-width:auto;height:39px;padding:0 13px;font-size:11px}.landing-main{padding-top:12px}.mock-hero{grid-template-columns:minmax(0,1fr);padding:25px 8px 32px;gap:60px}.mock-hero>*{min-width:0}.hero-copy h1{font-size:43px}.hero-copy p{font-size:15px}.question-card{justify-self:center;max-width:100%;padding-inline:20px}.party-strip{margin-inline:-20px;padding-inline:16px}.party-dots,.party-labels{gap:4px}.feature-band{grid-template-columns:1fr;padding:24px 18px}.feature-band article{border-right:0;border-bottom:1px solid #e4e9f0;padding:18px 2px}.feature-band article:last-child{border-bottom:0}.alert-card{padding:22px 18px}.alert-copy{grid-template-columns:42px 1fr}.alert-form{grid-template-columns:1fr;padding-bottom:42px}.compact-consent{top:105px}.alert-form .form-status{bottom:0}.topics h2{font-size:15px}.topic-list{gap:8px}.topic-list span{padding:0 12px}.stats-band{grid-template-columns:1fr;padding:24px}.stats-band article{border-right:0;border-bottom:1px solid #e3e8ef;padding:17px 0}.stats-band article:last-child{border-bottom:0}.mock-footer{align-items:flex-start;flex-direction:column}.invite-header{grid-template-columns:1fr auto}.back-link{font-size:10px}.invite-main{padding-inline:0}.invite-intro{padding-top:24px}.invite-eyebrow{margin-bottom:25px}.invite-intro h1{font-size:38px}.invite-intro>p:last-child{font-size:13px}.desktop-only{display:none}.role-choice{grid-template-columns:1fr}.role-card{min-height:260px}.equitable{padding-top:12px}.equitable-grid{grid-template-columns:1fr 1fr;gap:28px 10px}.participate-card{padding:24px 16px}.application-panel{padding:30px 20px}.application-panel .form-grid{grid-template-columns:1fr}.application-panel .field.full{grid-column:auto}}
@media(max-width:430px){.brand,.invite-header .brand{width:155px}.outline-button{font-size:10px;padding:0 10px}.hero-copy h1{font-size:37px}.question-card h2{font-size:17px}.question-actions{gap:13px;flex-wrap:wrap}.party-dots span{width:29px;height:29px;font-size:12px}.equitable-grid{grid-template-columns:1fr}.invite-intro h1{font-size:33px}.role-card h2{font-size:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.role-card{transition:none}}
.alert-form{padding-bottom:38px}
.alert-form .form-status{top:72px;bottom:auto}
.role-card.active{outline:0}
.party-list{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;text-align:center;align-items:start}
.party-list>span{display:grid;justify-items:center;gap:5px;min-width:0}
.party-list i{width:46px;height:38px;display:grid;place-items:center;border-radius:10px;background:#fff;box-shadow:0 2px 8px rgba(16,55,110,.07);overflow:hidden}
.party-list img{display:block;max-width:39px;max-height:29px;width:auto;height:auto;object-fit:contain}
.party-list small{font-size:7px;line-height:1.12;color:#4f607a;min-height:17px}
.party-list .all-parties{color:#173f7a;font-style:normal;font-size:14px;font-weight:900}
.stats-band{grid-template-columns:repeat(5,1fr);padding-inline:22px}
.stats-band article{padding-inline:16px}
@media(max-width:1050px){.stats-band{grid-template-columns:1fr 1fr}.stats-band article{border-right:0;border-bottom:1px solid #e3e8ef;padding-block:14px}.stats-band article:last-child{border-bottom:0}}
@media(max-width:760px){.alert-form{padding-bottom:50px}.alert-form .form-status{top:123px}}
@media(max-width:520px){.party-list{grid-template-columns:repeat(4,1fr);row-gap:12px}.party-strip{padding-inline:14px}.party-list small{font-size:7.5px}.stats-band{grid-template-columns:1fr}}

/* Rubans satinés issus de la maquette de référence. */
.mockup-page{background-color:#fff;background-image:url('ribbons-mockup-v2.png');background-repeat:no-repeat;background-position:top center;background-size:100% auto;background-attachment:scroll}
.mockup-page>.ribbon{display:none}

/* Toutes les formations sont présentes dans le DOM et mélangées à chaque chargement. */
.party-list{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x proximity;padding:3px 2px 9px;scrollbar-width:thin;scrollbar-color:#b8c8df transparent;text-align:center}
.party-list>span{flex:0 0 66px;scroll-snap-align:start;display:grid;justify-items:center;gap:5px;min-width:0}
.party-list i{width:52px;height:42px}
.party-list i.dark-logo{background:#071b42}
.beta-callout{border-left:3px solid #c62a48;padding:10px 0 10px 18px}
.launch-community{padding:50px 0 32px}
.launch-community h2{font:600 clamp(30px,4vw,45px)/1.08 Georgia,serif;color:#10264b;margin:12px 0 18px}
.launch-community>p{max-width:780px;color:#50627f;line-height:1.6}
.invited-directory{border-block:1px solid #dce4ef;padding:20px 0;margin:26px 0}
.invited-directory summary{cursor:pointer;font-weight:700;color:#173f7a;line-height:1.5}
.invited-directory p,.community-note{font-size:13px;color:#52637e}
.invited-directory ul{columns:3;list-style:none;padding:0;line-height:1.5;font-size:14px;color:#243d61}
.invited-directory li{break-inside:avoid;margin-bottom:10px}
.community-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.community-grid article{border:1px solid #dce4ef;border-radius:20px;padding:28px;background:#fff;box-shadow:0 10px 30px #12305d08}
.community-grid h3{font:600 25px/1.15 Georgia,serif;color:#10264b;margin:14px 0 20px}
.community-grid [role=status]{font-size:14px;line-height:1.6;color:#52637e}
.joined-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.joined-list li{display:grid;gap:2px;padding-bottom:12px;border-bottom:1px solid #e4ebf4}
.joined-list strong{color:#18365e}.joined-list span{font-size:12px}
@media(max-width:640px){.community-grid{grid-template-columns:1fr}.invited-directory ul{columns:1}.community-grid article{padding:22px}}
.party-list .party-monogram{font-style:normal;font-size:10px;line-height:1.05;font-weight:900;color:#173f7a;background:linear-gradient(135deg,#fff,#e9f2ff)}
.party-list small{font-size:7px;line-height:1.12;min-height:26px;overflow-wrap:anywhere}

.prelaunch-card{display:grid;grid-template-columns:.82fr 1.18fr;gap:44px;padding:38px 42px;margin:0 0 35px;border:1px solid #dce7f4;border-radius:21px;background:linear-gradient(135deg,#edf6ff 0,#fff 52%,#fff2f3 100%);box-shadow:0 18px 46px rgba(31,69,121,.09)}
.prelaunch-copy .invite-eyebrow{text-align:left;margin:0 0 22px}.prelaunch-copy .invite-eyebrow:after{margin-left:0}
.prelaunch-copy h2{font-size:31px;line-height:1.13;letter-spacing:-.04em;margin:0 0 16px}.prelaunch-copy>p{font-size:13px;color:#41536e;line-height:1.6}
.prelaunch-copy ol{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:10px}.prelaunch-copy li{display:flex;align-items:center;gap:10px;font-size:11px;color:#354a6b}.prelaunch-copy li b{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#0758df;color:#fff;font-size:11px}
.prelaunch-form{background:#fff;border:1px solid #e1e8f2;border-radius:16px;padding:22px}.prelaunch-fields{display:grid;grid-template-columns:1fr 1fr;gap:13px}.prelaunch-form label{font-size:11px;font-weight:750;color:var(--mock-navy)}.prelaunch-form input,.prelaunch-form textarea,.prelaunch-form select{width:100%;margin-top:6px;border:1px solid #c9d5e5;border-radius:9px;padding:11px;font:inherit;color:var(--mock-navy);background:#fff}.prelaunch-form textarea{min-height:96px;resize:vertical}.prelaunch-form .full{grid-column:1/-1;position:relative}.prelaunch-form .full small{float:right;color:#738197;font-weight:400}.prelaunch-consent{display:flex;gap:9px;align-items:flex-start;margin:14px 0;color:#5c6c82!important;font-weight:400!important;line-height:1.45}.prelaunch-consent input{width:15px;height:15px;flex:0 0 auto;margin-top:2px}.prelaunch-form .form-status{font-size:10px;color:#66778f;min-height:18px;margin:10px 0 0}.prelaunch-form .primary-button{width:100%}
@media(max-width:900px){.prelaunch-card{grid-template-columns:1fr}.prelaunch-copy h2{font-size:28px}}
@media(max-width:980px){.launch-countdown{grid-template-columns:1fr}.countdown-clock{justify-content:flex-start}}
@media(max-width:760px){.mockup-page{background-size:auto 620px;background-position:top center}.prelaunch-card{padding:25px 18px;gap:24px}.prelaunch-fields{grid-template-columns:1fr}.prelaunch-form .full{grid-column:auto}}
@media(max-width:520px){.party-list{display:flex;row-gap:0}.party-list>span{flex-basis:62px}.prelaunch-copy h2{font-size:25px}.prelaunch-form{padding:16px}.launch-countdown{padding:30px 18px}.countdown-clock{gap:4px;justify-content:center}.countdown-clock>span{width:64px;min-height:76px}.countdown-clock strong{font-size:27px}.countdown-clock small{font-size:7px;margin-top:7px}.countdown-clock i{font-size:14px}}

.topics{width:100%;padding:38px 0 44px;text-align:center}
.public-charter{display:flex;align-items:center;justify-content:space-between;gap:30px;margin:30px 0;padding:30px 34px;border:1px solid #dce5f2;border-left:4px solid #1754b8;border-radius:18px;background:linear-gradient(120deg,#f0f6ff,#fff 70%,#fff2f4)}
.public-charter h2{font-size:27px;line-height:1.2;margin:12px 0;color:#10264b}.public-charter p{font-size:14px;line-height:1.65;color:#41536e;max-width:690px;margin:0}.public-charter .primary-button{flex-shrink:0}
@media(max-width:900px){.public-charter{align-items:flex-start;flex-direction:column;padding:25px 22px}.public-charter .primary-button{white-space:normal}}
.topics h2{font:600 clamp(25px,3vw,35px)/1.2 Georgia,serif;margin:0 0 28px;color:#10264b}
.topic-list.topic-directory{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));width:100%;max-width:none;gap:14px;margin:0;justify-content:stretch}
.topic-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;min-width:0;min-height:135px;text-decoration:none;padding:18px 5px;border:1px solid #dae5f2;border-radius:18px;background:#fff;color:#284d86;box-shadow:0 4px 14px #163a7206}
.topic-item .topic-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:18px;background:#eef4ff;color:inherit;padding:9px;box-shadow:none}
.topic-item svg{display:block;width:46px;height:46px;flex:none}
.topic-item strong{font:700 13px/1.2 Arial,sans-serif;overflow-wrap:anywhere}
.topic-item.health{color:#b62c53}.topic-item.health .topic-icon{background:#fff0f4}.topic-item.ecology{color:#277950}.topic-item.ecology .topic-icon{background:#eaf8ef}.topic-item.housing{color:#966127}.topic-item.housing .topic-icon{background:#fff5e7}.topic-item.justice{color:#74579a}.topic-item.justice .topic-icon{background:#f3eefb}
.topic-item:hover{border-color:currentColor;transform:translateY(-2px)}.topic-item:focus-visible{outline:3px solid #ba3154;outline-offset:3px}
@media(max-width:1000px){.topic-list.topic-directory{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:460px){.topic-list.topic-directory{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.topic-item{min-height:126px}}
