:root{--navy:#102a50;--dark:#0b1c34;--red:#d51d48;--cream:#f7f5f1;--ink:#162844;--muted:#637188}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:'DM Sans',Arial,sans-serif;font-size:16px}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%}.container{width:min(1200px,calc(100% - 64px));margin:auto}.skip{position:absolute;left:10px;top:-60px;background:#fff;padding:12px;z-index:50}.skip:focus{top:10px}.site-header{position:sticky;top:0;z-index:20;background:#fff;box-shadow:0 1px 0 #e9edf1}.header-inner{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:12px;min-width:210px}.brand img{width:54px;height:54px;object-fit:contain}.brand strong{font-size:14px;letter-spacing:.18em;display:block}.brand small{font-size:12px;color:var(--red);letter-spacing:.37em;font-weight:700}.nav{display:flex;align-items:center;gap:26px;font-size:13px;font-weight:700}.nav>a:not(.nav-cta){transition:color .2s}.nav>a:hover{color:var(--red)}.nav-space{white-space:nowrap}.nav-cta{background:var(--red);color:#fff;padding:15px 19px;border-radius:2px;white-space:nowrap}.nav-cta:hover{background:#aa1236;color:#fff!important}.nav-cta span,.button span{margin-left:12px}.nav-toggle{display:none;background:none;border:0;padding:8px;cursor:pointer}.nav-toggle span{display:block;width:25px;height:2px;background:var(--navy);margin:5px}.hero{min-height:630px;position:relative;overflow:hidden;background:linear-gradient(112deg,#0b1c34 5%,#143866 70%,#254978);color:#fff}.hero-grid{position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.9%,#ffffff12 50%),linear-gradient(0deg,transparent 49.9%,#ffffff0c 50%);background-size:100px 100px;mask-image:linear-gradient(90deg,transparent,#000)}.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 77% 35%,#5574ad55,transparent 35%);pointer-events:none}.hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;min-height:630px;align-items:center}.hero-content{padding:72px 0 82px}.eyebrow,.kicker{font-size:11px;font-weight:700;letter-spacing:.23em;text-transform:uppercase}.eyebrow{display:flex;align-items:center;gap:12px;color:#cbd4e4}.eyebrow-line{height:2px;width:27px;background:var(--red)}h1,h2,h3,p{margin-top:0}h1,h2{letter-spacing:-.045em;line-height:1.07}h1{font-size:clamp(54px,6.8vw,100px);margin:34px 0 28px;font-weight:600}h1 em,h2 em{font-family:'Playfair Display',Georgia,serif;font-weight:500;letter-spacing:-.045em}h1 em{color:#f2b7c7}.hero-lead{max-width:520px;color:#c6d0df;font-size:18px;line-height:1.7}.hero-actions{display:flex;flex-wrap:wrap;gap:13px;margin-top:37px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 22px;min-height:55px;font-size:13px;font-weight:700;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-red{background:var(--red);color:#fff}.button-outline{border:1px solid #ffffff66;color:#fff}.button-outline:hover{background:#ffffff14}.hero-foot{margin:65px 0 0;color:#cdd7e6;font-size:10px;letter-spacing:.2em;text-transform:uppercase}.hero-foot span{color:var(--red);padding:0 9px}.hero-art{height:100%;position:relative;display:flex;align-items:center;justify-content:center}.art-ring{width:min(35vw,470px);aspect-ratio:1;border:1px solid #ffffff44;border-radius:50%;box-shadow:0 0 0 80px #ffffff09,0 0 0 160px #ffffff05;position:absolute}.art-letter{font-family:'Playfair Display',serif;font-style:italic;font-size:clamp(330px,39vw,540px);line-height:1;color:#ffffff0d;text-shadow:0 10px 80px #07162d40;transform:rotate(-9deg) translateY(-25px);user-select:none}.art-caption{position:absolute;right:8%;bottom:66px;border-left:2px solid var(--red);padding-left:20px}.art-caption span{display:block;font-size:10px;letter-spacing:.18em;color:#d4deeb;margin-bottom:12px}.art-caption strong{font-family:'Playfair Display',serif;font-size:24px;font-weight:500;line-height:1.3}.hero-index{position:absolute;right:34px;top:24px;font-size:10px;letter-spacing:.2em;color:#bccbdf}.ticker{background:var(--red);color:#fff;overflow:hidden;white-space:nowrap;padding:13px 0;font-size:11px;font-weight:700;letter-spacing:.25em;text-align:center}.section{padding:105px 0}.kicker{color:var(--red);margin-bottom:25px}.section h2,.final-cta h2{font-size:clamp(42px,5vw,70px);font-weight:600;margin-bottom:25px}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start}.intro-copy{font-size:20px;line-height:1.65;color:#2a3e59}.muted{color:var(--muted);line-height:1.75;font-size:14px}.text-link{font-size:14px;font-weight:700;color:var(--navy);border-bottom:1px solid var(--red);display:inline-flex;gap:18px;padding-bottom:8px;margin-top:16px}.text-link:hover{color:var(--red)}.path{display:grid;grid-template-columns:repeat(3,1fr);margin-top:80px;border-top:1px solid #d8dfe7}.path article{padding:34px 42px 10px 0;border-right:1px solid #e1e6eb;margin-right:42px}.path article:last-child{border:0}.path span{display:block;color:var(--red);font-size:12px;letter-spacing:.1em;margin-bottom:35px}.path h3{font-size:23px;margin-bottom:13px}.path p{font-size:14px;color:var(--muted);line-height:1.7}.agenda{background:var(--cream)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:42px}.section-head h2{margin-bottom:0}.section-head>p{max-width:255px;color:var(--muted);line-height:1.65;font-size:14px}.events{border-top:1px solid #cbd2db}.event{display:grid;grid-template-columns:105px 1fr 42px;align-items:center;gap:35px;border-bottom:1px solid #cbd2db;padding:29px 4px}.event-date{border-right:1px solid #cbd2db;display:flex;align-items:baseline;gap:8px}.event-date strong{font-size:44px;letter-spacing:-.07em}.event-date span{font-size:11px;color:var(--red);font-weight:700}.event-main h3{font-size:24px;margin:6px 0}.event-main p{color:var(--muted);font-size:13px;margin:0}.event-tag{font-size:10px;letter-spacing:.16em;color:var(--red);text-transform:uppercase;font-weight:700}.event-num{color:#a0acb9;font-size:12px}.event-empty{padding:55px 40px;background:#fff;border-bottom:1px solid #cbd2db}.event-empty span{display:block;color:var(--red);font-size:11px;text-transform:uppercase;letter-spacing:.2em;margin-bottom:12px}.event-empty strong{font-size:25px}.event-empty p{color:var(--muted);margin:9px 0 0}.agenda-end{display:flex;justify-content:space-between;gap:25px;align-items:center}.agenda-end p{margin:24px 0 0;color:var(--muted);font-size:13px}.agenda-end .text-link{white-space:nowrap}.vote{background:var(--navy);color:#fff;overflow:hidden}.vote-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.vote-display{height:470px;position:relative;display:grid;place-items:center;border:1px solid #ffffff20;background:radial-gradient(circle,#325985 0,#183b68 42%,#0e274a 75%)}.vote-circle{border:1px solid #ffffff55;width:310px;height:310px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-12deg);box-shadow:0 0 0 30px #ffffff08}.vote-circle span{font-size:13px;letter-spacing:.4em}.vote-circle strong{font-family:'Playfair Display',serif;font-size:85px;font-style:italic;font-weight:500;letter-spacing:-.08em;color:#fff}.vote-asterisk{position:absolute;color:var(--red);font-size:100px;right:30px;top:3px}.kicker-light{color:#f39db3}.vote-text h2{margin-bottom:30px}.vote-text p:not(.kicker){line-height:1.8;color:#d1dcec;font-size:16px}.vote-state{display:flex;align-items:center;gap:12px;background:#ffffff12;border:1px solid #ffffff26;padding:18px 20px;margin:29px 0;font-size:14px;font-weight:700}.status-dot{width:9px;height:9px;border-radius:50%;background:#f3b2c3}.vote-text .vote-small{font-size:12px!important;color:#a9bbd1!important}.join{background:#fff}.join-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:11%}.join-cards{border-top:1px solid #d8dfe7}.join-cards a{display:grid;grid-template-columns:1fr 30px;gap:12px;padding:28px 0;border-bottom:1px solid #d8dfe7;transition:padding .2s}.join-cards a:hover{padding-left:8px}.join-cards span{grid-column:1;color:var(--red);font-size:11px;text-transform:uppercase;letter-spacing:.16em}.join-cards strong{font-size:19px;line-height:1.5;font-weight:600}.join-cards b{font-size:22px;color:var(--red);grid-column:2;grid-row:1/3;align-self:center}.final-cta{background:var(--red);color:#fff;text-align:center;padding:95px 0}.final-cta h2{margin-bottom:33px}.final-cta p:last-child{font-size:12px;opacity:.85;margin:19px 0 0}.button-white{background:#fff;color:var(--navy)}.footer{background:var(--dark);color:#fff}.footer-top{padding:70px 0;display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px}.footer-brand{display:flex;align-items:center;gap:15px;align-self:start;font-size:15px;letter-spacing:.03em}.footer-brand img{width:62px}.footer-brand strong{color:#f0a0b3;font-size:24px;font-family:'Playfair Display',serif;font-style:italic;font-weight:500}.footer-top>div{display:flex;flex-direction:column;align-items:start;gap:14px}.footer-top>div strong{font-size:12px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px}.footer-top>div a{font-size:13px;color:#b9c7d8}.footer-top>div a:hover{color:#fff}.footer-bottom{border-top:1px solid #ffffff2b;display:flex;justify-content:space-between;gap:20px;padding:25px 0;color:#aebdd0;font-size:12px}@media(max-width:1050px){.nav{gap:14px;font-size:12px}.brand{min-width:175px}.brand strong{font-size:12px}.brand small{font-size:11px}.container{width:min(1200px,calc(100% - 44px))}}@media(max-width:800px){.header-inner{min-height:70px}.brand img{width:45px;height:45px}.nav-toggle{display:block}.nav{display:none;position:absolute;top:70px;left:0;right:0;background:#fff;padding:20px 24px 27px;box-shadow:0 20px 30px #101d3025;flex-direction:column;align-items:stretch;gap:0}.nav.open{display:flex}.nav a{padding:13px 4px;border-bottom:1px solid #e9edf1}.nav .nav-cta{padding:15px;margin-top:14px;text-align:center}.hero-inner{grid-template-columns:1fr;min-height:650px}.hero-content{padding:85px 0 55px}.hero-art{position:absolute;right:-150px;top:0;width:450px;height:600px;opacity:.35;pointer-events:none}.hero-lead{max-width:520px}.hero-foot{margin-top:55px}.intro-grid,.join-grid,.vote-grid{grid-template-columns:1fr;gap:36px}.vote-display{height:330px;order:2}.vote-text{order:1}.vote-circle{width:220px;height:220px}.vote-circle strong{font-size:62px}.section{padding:75px 0}.path{margin-top:50px}.path article{padding-right:14px;margin-right:14px}.section-head{align-items:start}.section-head>p{max-width:200px}}@media(max-width:600px){.container{width:calc(100% - 38px)}.hero{min-height:640px}.hero-inner{min-height:640px}.hero-content{padding:66px 0 50px}.hero-art{right:-220px;opacity:.25}.hero-index{display:none}.hero-lead{font-size:16px}.hero-actions{flex-direction:column;align-items:stretch}.button{justify-content:center}.hero-foot{line-height:2}.ticker{font-size:9px;letter-spacing:.14em}.section h2,.final-cta h2{font-size:43px}.intro-copy{font-size:18px}.path{grid-template-columns:1fr}.path article{border-right:0;border-bottom:1px solid #e1e6eb;padding:22px 0;margin:0}.path article span{margin-bottom:12px}.section-head{display:block}.section-head>p{max-width:100%;margin-top:16px}.event{grid-template-columns:65px 1fr;gap:15px}.event-date{display:block}.event-date strong{font-size:34px}.event-date span{display:block}.event-main h3{font-size:19px}.event-num{display:none}.event-empty{padding:36px 25px}.agenda-end{display:block}.vote-display{height:290px}.footer-top{grid-template-columns:1fr 1fr;gap:38px}.footer-brand{grid-column:1/-1}.footer-bottom{display:block;line-height:2}}
.registration-head{background:linear-gradient(115deg,#0b1c34,#244b7d);color:#fff;padding:82px 0 90px}.registration-head h1{font-size:clamp(50px,6vw,78px);margin:20px 0 25px}.registration-head h1 em{color:#f1b7c8}.registration-head p:not(.kicker){max-width:660px;line-height:1.7;color:#d4dfec;font-size:17px}.registration-body{background:var(--cream);padding:55px 0 85px}.registration-notice{background:#fff;border-left:4px solid var(--red);padding:20px 25px;margin-bottom:20px}.registration-notice strong{font-size:18px}.registration-notice p{color:var(--muted);line-height:1.65;font-size:14px;margin:7px 0 0}.registration-body iframe{display:block;width:100%;height:1200px;border:1px solid #d6dce4;background:#fff}.registration-fallback{text-align:center;padding-top:25px}@media(max-width:600px){.registration-head{padding:66px 0}.registration-body{padding:30px 0 55px}.registration-body iframe{height:1450px}}
/* Identité territoriale : contour Nouvelle-Aquitaine et silhouettes de candidats. */
.hero-art{isolation:isolate}.hero-artwork{position:absolute;width:min(67vw,860px);max-width:none;right:-72px;bottom:18px;filter:drop-shadow(0 24px 45px #081a343b);pointer-events:none}.hero-art .art-caption{top:100px;bottom:auto;right:4%;background:#102a5099;padding:14px 18px;border-left:2px solid var(--red)}.registration-head{background:linear-gradient(90deg,#0b1c34 0%,#12345be9 62%,#12345b99 100%),url('/assets/aquitaine-casting-v3.png') right center/auto 180% no-repeat,#102a50}@media(max-width:800px){.hero-art{right:-108px;opacity:.42}.hero-artwork{right:-65px;bottom:22px;width:690px}.hero-art .art-caption{display:none}}@media(max-width:600px){.hero-art{right:-215px;opacity:.28}.hero-artwork{right:-105px;bottom:10px;width:660px}.registration-head{background-size:auto,auto 115%}}

.site-account{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px;white-space:nowrap}.site-account span{font-weight:700;color:var(--navy)}.site-account a{color:var(--navy);text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:4px}.ticket-section{background:#f1f5fa}.ticket-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}.ticket-card{background:white;border:1px solid #dbe3ed;padding:26px;box-shadow:0 9px 22px #102a500b}.ticket-card h3{font-size:20px;margin:8px 0}.ticket-card p{font-size:13px;color:var(--muted)}.ticket-card strong{color:var(--navy)}.ticket-card a{display:inline-block;margin-top:13px;padding:12px 16px;background:var(--red);color:#fff;font-weight:700;font-size:13px}.ticket-empty{grid-column:1/-1;padding:25px;background:white;color:var(--muted)}@media(max-width:900px){.site-account{white-space:normal;flex-direction:column;align-items:flex-start}.site-account a{padding:5px 0}}

/* Pages de la délégation */
.nav-discover{position:relative}.nav-discover summary{cursor:pointer;padding:12px 0}.nav-discover>div{position:absolute;top:100%;left:0;min-width:210px;padding:12px;background:white;border:1px solid #dce3ed;box-shadow:0 14px 32px #102a5020}.nav-discover a{display:block;padding:12px!important;white-space:nowrap}.page-hero{padding:72px 0;background:linear-gradient(115deg,#0b1c34,#1a3e6b);border-bottom:5px solid var(--red);color:white}.page-hero h1{font-size:clamp(40px,5vw,68px);margin:20px 0}.page-hero p:last-child{max-width:680px;line-height:1.8;color:#d5dfed}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-grid article,.team-card{padding:28px;border:1px solid #dce3ed;background:#fff;box-shadow:0 12px 36px #102a5009}.service-grid h2{font-size:30px!important;letter-spacing:-.03em}.service-grid p{color:var(--muted);line-height:1.75}.service-grid .button{border:0;cursor:pointer;font-size:12px}.form-panel{margin-top:70px;border-top:1px solid #dce3ed;padding-top:50px}.form-panel h2{font-size:38px}.form-panel iframe{width:100%;height:1040px;border:1px solid #dce3ed;background:white}.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.team-card h2{font-size:32px!important;letter-spacing:-.03em;margin-bottom:12px}.team-initials{width:90px;height:90px;display:grid;place-items:center;border-radius:50%;background:var(--navy);color:white;font-size:28px;font-weight:700;border-bottom:5px solid var(--red);margin-bottom:30px}.team-card .kicker{display:block}.team-intro{max-width:760px;line-height:1.8;margin:36px 0}.legal-copy{max-width:850px}.legal-copy h2{font-size:28px;margin-top:40px;letter-spacing:-.02em}.legal-copy p{line-height:1.9}.legal-copy a{color:var(--navy);text-decoration:underline;text-underline-offset:3px}iframe[hidden]{display:none!important}@media(max-width:900px){.service-grid{grid-template-columns:1fr}.nav-discover>div{position:static;box-shadow:none;border:0;padding:0}.nav-discover summary{padding:13px 4px}.form-panel iframe{height:1250px}}@media(max-width:600px){.team-grid{grid-template-columns:1fr}.page-hero{padding:48px 0}.form-panel h2{font-size:30px}.service-grid article,.team-card{padding:22px}}

/* Navigation MFA: public browsing and private account clearly separated. */
.header-inner{gap:32px;min-height:96px}.nav{flex:1;display:flex;justify-content:space-between;gap:28px}.nav-public,.nav-private{display:flex;align-items:center;gap:26px}.nav-private{border-left:1px solid #dce2eb;padding-left:28px;gap:18px}.nav-group,.account-menu{position:relative}.nav-group summary,.account-menu summary{list-style:none;cursor:pointer;font-size:14px;font-weight:650;padding:15px 0;white-space:nowrap}.nav-group summary::-webkit-details-marker,.account-menu summary::-webkit-details-marker{display:none}.nav-group summary:after,.account-menu summary:after{content:'⌄';margin-left:8px;color:#cb1745}.nav-group[open] summary:after{content:'⌃'}.nav-panel,.account-panel{position:absolute;top:calc(100% + 8px);left:-18px;min-width:240px;background:white;border:1px solid #e1e6ed;border-top:3px solid #d31b46;border-radius:0 0 10px 10px;box-shadow:0 18px 45px #102a5020;padding:10px;z-index:90}.nav .nav-panel a,.nav .account-panel a{display:block;padding:13px 14px;border-radius:5px;font-size:14px;color:#102a50;white-space:normal}.nav .nav-panel a:hover,.nav .account-panel a:hover{background:#eff3f8;color:#c91943}.nav-panel small{display:block;color:#667387;font-size:12px;font-weight:400;margin-top:4px}.site-account{display:block!important;font-size:13px}.account-menu summary,.account-login{background:#eff3f8!important;border:1px solid #dde5ef;border-radius:6px;padding:12px 14px!important;text-decoration:none!important;max-width:230px;white-space:normal}.account-panel{left:auto;right:0;min-width:180px}.nav .nav-cta{padding:14px 18px;white-space:nowrap;border-radius:5px}.nav a:focus-visible,.nav summary:focus-visible{outline:3px solid #b6294b;outline-offset:4px}.newsletter-section{background:#edf2f8;border-top:1px solid #dae3ef}.newsletter-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.newsletter-grid p{max-width:490px}.newsletter-box{background:white;border-radius:12px;padding:12px 18px;box-shadow:0 12px 45px #102a500c}.newsletter-box iframe{width:100%;height:535px;border:0;display:block}.newsletter-box>.text-link{font-size:12px;margin:0 20px 12px}
@media(max-width:1180px){.header-inner{gap:20px}.brand span{display:none}.nav-public{gap:18px}.nav-private{gap:12px;padding-left:20px}.nav{gap:20px}}
@media(max-width:960px){.brand span{display:block}.nav-toggle{display:block}.header-inner{min-height:80px;justify-content:space-between}.nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;padding:20px 24px;border-top:1px solid #e2e7ef;max-height:calc(100dvh - 80px);overflow:auto;box-shadow:0 20px 30px #102a5015}.nav.open{display:flex;flex-direction:column;align-items:stretch;gap:20px}.nav-public,.nav-private{display:flex;flex-direction:column;align-items:stretch;gap:0}.nav-public>a,.nav-group summary{display:block;padding:16px 0;border-bottom:1px solid #e6ebf1}.nav-private{border-left:0;border-top:2px solid #edf1f7;padding:20px 0 0;gap:15px}.nav-panel,.account-panel{position:static;box-shadow:none;border:0;border-left:2px solid #d31b46;min-width:0;padding:4px 8px;margin:8px 0;background:#f7f9fc}.account-menu summary,.account-login{display:block;max-width:none}.newsletter-grid{grid-template-columns:1fr;gap:25px}.newsletter-box iframe{height:565px}.nav .nav-cta{text-align:center}}
@media(prefers-reduced-motion:no-preference){.nav-panel,.account-panel{animation:menuReveal .16s ease-out}@keyframes menuReveal{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}}

.editorial-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:65px}.editorial-copy{font-size:18px;line-height:1.8}.editorial-copy p:first-child{margin-top:0}.history-section,.criteria-section{background:#eef3f9}.history-grid,.contest-steps,.criteria-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:38px}.history-grid article,.contest-steps article,.criteria-grid article{padding:30px;background:#fff;border:1px solid #dce4ee;border-radius:10px}.history-grid strong,.criteria-grid strong{font-size:40px;color:#d21c46}.history-grid h3,.contest-steps h3,.criteria-grid h3{font-size:21px;line-height:1.3}.history-grid p,.contest-steps p{font-size:16px;line-height:1.75;color:#4d6077}.president-card{margin-top:30px;padding:32px;border-left:4px solid #d21c46;background:#102a50;color:white;max-width:900px}.president-card .kicker{color:#f1a9ba}.president-card h3{font-size:27px}.step-index{display:inline-flex;width:48px;height:48px;align-items:center;justify-content:center;border-radius:50%;background:#102a50;color:white;font-size:18px}.step-result{display:block;margin-top:22px;padding-top:15px;border-top:1px solid #dce4ee;color:#c21740;font-weight:700;font-size:14px}.editorial-note{color:#586a80;font-size:14px;max-width:900px;margin:25px 0}.selection-section{background:#f6f4f0}.sources-section{padding-top:35px;padding-bottom:35px}.sources-section h2{font-size:25px}.sources-section li{margin:10px 0}.faq-section{background:#f6f4f0}.faq-layout{display:grid;grid-template-columns:1fr 1.7fr;gap:65px}.faq-item{border-bottom:1px solid #ccd6e3;background:white;margin-bottom:12px;border-radius:7px}.faq-item summary{list-style:none;cursor:pointer;padding:24px 50px 24px 24px;position:relative;font-weight:700;font-size:17px}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:'+';position:absolute;right:24px;color:#d21c46;font-size:24px;top:18px}.faq-item[open] summary:after{content:'−'}.faq-item>div{padding:0 24px 22px;line-height:1.8;color:#405572}.faq-item p{margin:0}.faq-item a{color:#a71135;text-decoration:underline}.faq-item summary:focus-visible{outline:3px solid #d21c46;outline-offset:3px}.candidate-help{padding-top:24px;padding-bottom:24px;font-weight:600}.candidate-help a{text-decoration:underline}
@media(max-width:850px){.editorial-grid,.faq-layout{grid-template-columns:1fr;gap:25px}.history-grid,.contest-steps,.criteria-grid{grid-template-columns:1fr}.history-grid article,.contest-steps article,.criteria-grid article{padding:24px}.faq-item summary{font-size:16px}.editorial-copy{font-size:16px}}

/* Fluid layouts and readable type across laptop, tablet and narrow phones. */
html{min-width:0}
body{min-width:0}
.container,.header-inner,.hero-inner,.hero-content,.intro-grid>*,.vote-grid>*,.join-grid>*,.newsletter-grid>*,.editorial-grid>*,.faq-layout>*,.footer-top>*{min-width:0}
img,svg,video,iframe{max-width:100%}
h1,h2,h3,p,a,button,summary{overflow-wrap:break-word}
.nav-panel a,.account-panel a{white-space:normal}
.hero-inner{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}
.hero-content{position:relative;z-index:2}
.hero-artwork{max-width:none;height:auto}
.service-grid,.history-grid,.contest-steps,.criteria-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.ticket-list{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr))}
.footer-top{grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr))}
.newsletter-box,.newsletter-box iframe,.form-panel iframe{min-width:0}
@media (max-width:1100px){
  .section{padding:clamp(55px,7vw,85px) 0}
  .container{width:calc(100% - clamp(36px,6vw,72px))}
  .hero h1{font-size:clamp(50px,6.6vw,78px)}
  .hero-artwork{width:min(70vw,710px);right:-85px}
  .path article{margin-right:20px;padding-right:20px}
  .editorial-grid,.faq-layout{gap:clamp(24px,4vw,48px)}
  .newsletter-grid{gap:clamp(24px,4vw,48px)}
}
@media (max-width:960px){
  .hero-inner{grid-template-columns:minmax(0,1fr)}
  .hero{min-height:0}
  .hero-inner{min-height:560px}
  .hero-content{max-width:700px;padding:80px 0 75px}
  .hero-art{position:absolute;inset:0 0 0 auto;width:min(70vw,620px);height:100%;opacity:.36;pointer-events:none}
  .hero-artwork{width:min(76vw,680px);right:-15%;bottom:0}
  .intro-grid,.vote-grid,.join-grid,.newsletter-grid,.editorial-grid,.faq-layout{grid-template-columns:minmax(0,1fr)}
  .section-head{align-items:flex-start}
  .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .path{grid-template-columns:repeat(3,minmax(0,1fr))}
  .footer-top{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-brand{grid-column:1/-1}
  .page-hero h1{font-size:clamp(36px,6vw,58px)}
}
@media (max-width:640px){
  .container{width:calc(100% - 36px)}
  .hero-inner{min-height:0}
  .hero-content{padding:67px 0 60px}
  .hero h1{font-size:clamp(40px,10vw,60px);line-height:1.07;margin:26px 0 22px}
  .hero-art{width:100%;opacity:.23;right:-28%}
  .hero-artwork{width:min(145vw,660px);right:-10%}
  .hero-foot{margin-top:36px}
  .section{padding:56px 0}
  .section h2,.final-cta h2{font-size:clamp(32px,8vw,44px);line-height:1.12}
  .registration-head h1{font-size:clamp(38px,9vw,56px)}
  .service-grid,.history-grid,.contest-steps,.criteria-grid,.team-grid,.path{grid-template-columns:minmax(0,1fr)}
  .path article{margin:0;padding:20px 0;border-right:0;border-bottom:1px solid #e1e6eb}
  .section-head{display:block}
  .section-head>p{max-width:none;margin-top:16px}
  .event{grid-template-columns:minmax(0,65px) minmax(0,1fr)}
  .event-main h3{font-size:clamp(18px,5vw,22px)}
  .vote-display{height:min(300px,80vw)}
  .vote-circle{width:min(215px,62vw);height:min(215px,62vw)}
  .footer-top{gap:28px}
  .newsletter-box{padding:12px}
  .newsletter-box iframe{height:610px}
  .form-panel iframe{height:1350px}
  .button,.nav .nav-cta{max-width:100%;text-align:center}
}
@media (max-width:380px){
  .container{width:calc(100% - 30px)}
  .hero h1{font-size:38px}
  .hero-actions .button{font-size:12px;padding:15px 12px}
  .footer-top{grid-template-columns:minmax(0,1fr)}
  .footer-brand{grid-column:auto}
  .brand strong{letter-spacing:.1em}
  .brand small{letter-spacing:.2em}
}

/* Compact phone layout: keep the page at a comfortable reading scale. */
@media (max-width:640px){
  body{font-size:15px}
  .container{width:calc(100% - 36px)}
  .header-inner{min-height:64px}
  .brand{min-width:0;gap:9px}
  .brand img{width:40px;height:40px;flex:none}
  .brand strong{font-size:11px;letter-spacing:.1em}
  .brand small{font-size:10px;letter-spacing:.15em}
  .nav{max-height:calc(100dvh - 64px);padding:12px 18px 20px}
  .nav-public>a,.nav-group summary{padding:13px 0}
  .hero-content{padding:44px 0 38px}
  .hero h1{font-size:clamp(32px,8vw,44px);line-height:1.12;margin:22px 0 16px}
  .hero-lead{font-size:15px;line-height:1.55;max-width:31rem}
  .hero-actions{gap:10px;margin-top:24px}
  .hero-actions .button,.button{min-height:46px;padding:12px 15px;font-size:12px;line-height:1.4}
  .hero-foot{font-size:9px;margin-top:24px;letter-spacing:.12em}
  .hero-art{right:-22%;opacity:.18}
  .hero-artwork{width:min(118vw,530px);right:-8%;bottom:0}
  .section{padding:46px 0}
  .section h2,.final-cta h2{font-size:clamp(29px,7vw,38px);margin-bottom:18px}
  .intro-copy{font-size:16px}
  .path{margin-top:28px}
  .service-grid article,.team-card,.history-grid article,.contest-steps article,.criteria-grid article{padding:20px}
  .page-hero{padding:38px 0}
  .page-hero h1,.registration-head h1{font-size:clamp(32px,7.5vw,42px)}
  .registration-head{padding:44px 0}
  .registration-body{padding:28px 0 46px}
  .final-cta{padding:58px 0}
  .vote-display{height:min(260px,72vw)}
  .vote-circle{width:min(190px,58vw);height:min(190px,58vw)}
  .vote-circle strong{font-size:clamp(42px,12vw,58px)}
  .footer-top{padding:46px 0;gap:26px}
  .footer-bottom{padding:20px 0}
}
@media (max-width:380px){
  .container{width:calc(100% - 30px)}
  .hero h1{font-size:32px}
  .eyebrow,.kicker{letter-spacing:.14em}
}

/* Smaller laptop screens: keep the desktop layout without oversized blocks. */
@media (min-width:961px) and (max-width:1440px){
  .container{width:min(1160px,calc(100% - 56px))}
  .header-inner{min-height:76px;gap:18px}
  .brand{min-width:170px;gap:9px}
  .brand img{width:46px;height:46px}
  .brand strong{font-size:12px;letter-spacing:.11em}
  .brand small{font-size:10px;letter-spacing:.24em}
  .nav{gap:16px}
  .nav-public{gap:16px}
  .nav-private{gap:12px;padding-left:16px}
  .nav-group summary,.account-menu summary{font-size:13px}
  .account-menu summary,.account-login{padding:9px 11px!important}
  .nav .nav-cta{padding:11px 14px;font-size:12px}
  .hero,.hero-inner{min-height:520px}
  .hero-content{padding:50px 0 48px}
  .hero h1{font-size:clamp(50px,5vw,70px);margin:27px 0 19px;line-height:1.1}
  .hero-lead{font-size:16px;line-height:1.55;max-width:450px}
  .hero-actions{margin-top:27px}
  .hero-actions .button{min-height:48px;padding:13px 17px;font-size:12px}
  .hero-foot{margin-top:38px}
  .hero-artwork{width:min(54vw,690px);right:-45px;bottom:0}
  .hero-art .art-caption{top:70px;right:1%}
  .section{padding:72px 0}
  .section h2,.final-cta h2{font-size:clamp(38px,4.2vw,56px)}
  .path{margin-top:56px}
  .intro-copy{font-size:18px}
  .vote-display{height:390px}
  .newsletter-grid,.editorial-grid,.faq-layout{gap:40px}
  .final-cta{padding:72px 0}
}

/* Separate the introduction from the Aquitaine map on desktop widths. */
@media (min-width:961px){
  .hero-lead{max-width:390px}
  .hero-artwork{transform:translateX(26px)}
}
@media (min-width:961px) and (max-width:1180px){
  .hero-lead{max-width:350px}
  .hero-artwork{width:min(48vw,590px);transform:translateX(35px)}
}

/* Accueil : invitation à la lettre et lisibilité des liens sur fond sombre. */
.vote-text .text-link{color:#fff;border-bottom-color:#f39db3}
.vote-text .text-link:hover,.vote-text .text-link:focus-visible{color:#ffd6df}
.newsletter-invitation{padding:clamp(28px,4vw,52px);min-height:300px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;border-top:5px solid var(--red)}
.newsletter-invitation .newsletter-mark{color:var(--red);font-size:42px;line-height:1;margin-bottom:18px}
.newsletter-invitation h3{font-size:clamp(24px,2.5vw,34px);letter-spacing:-.035em;line-height:1.15;margin:0 0 14px}
.newsletter-invitation p{color:var(--muted);line-height:1.6;margin-bottom:24px}
.newsletter-invitation .button{margin-top:0}
.footer-bottom>a[href="https://espace.mf-aquitaine.fr/"]{display:none}

.newsletter-section .newsletter-box iframe{height:445px}
@media(max-width:600px){.newsletter-section .newsletter-box iframe{height:525px}}

/* Navigation centrée et interactions sobres. */
@media(min-width:961px){
  .header-inner{position:relative}
  .header-inner>.brand{min-width:0;flex:0 0 auto}
  .header-inner>.nav{flex:1;min-width:0;justify-content:space-between}
  .header-inner .nav-public{position:static;transform:none;flex:0 0 auto;gap:clamp(17px,2vw,29px)}
  .header-inner .nav-private{margin-left:0;flex:0 0 auto}
}
.nav-public>a,.nav-group>summary{position:relative;transition:color .2s ease}
.nav-public>a:after,.nav-group>summary:before{content:"";position:absolute;left:0;right:0;bottom:8px;height:2px;background:var(--red);transform:scaleX(0);transform-origin:center;transition:transform .25s ease}
.nav-public>a:hover,.nav-group>summary:hover,.nav-group[open]>summary{color:var(--red)}
.nav-public>a:hover:after,.nav-public>a:focus-visible:after,.nav-group>summary:hover:before,.nav-group[open]>summary:before,.nav-group>summary:focus-visible:before{transform:scaleX(1)}
.nav-group[open] .nav-panel{animation:nav-arrive .2s ease-out both}
.nav .nav-cta,.account-login{transition:background-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease}
.nav .nav-cta:hover,.nav .nav-cta:focus-visible{transform:translateY(-2px);box-shadow:0 8px 18px #d51d4833}
.account-login:hover,.account-login:focus-visible{background:#e7edf5!important;transform:translateY(-2px)}
@keyframes nav-arrive{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:960px){
  .nav-public>a:after,.nav-group>summary:before{display:none}
  .nav-group[open] .nav-panel{animation:none}
}
@media(prefers-reduced-motion:reduce){.nav-public>a,.nav-group>summary,.nav .nav-cta,.account-login,.nav-public>a:after,.nav-group>summary:before{transition:none}.nav-group[open] .nav-panel{animation:none}}

/* Liens sociaux discrets dans le pied de page commun. */
.footer-social{display:flex;align-items:center;justify-content:flex-end;gap:16px;flex-wrap:wrap}
.footer-social>span{color:#aebdd0;font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin-right:3px}
.footer-social a{display:inline-flex;align-items:center;gap:8px;color:#fff;font-size:13px;font-weight:650;transition:color .2s ease,transform .2s ease}
.footer-social a:hover,.footer-social a:focus-visible{color:#f5b4c4;transform:translateY(-2px)}
.footer-social a:focus-visible{outline:2px solid #f5b4c4;outline-offset:4px}
.footer-social-icon{display:grid;place-items:center;width:27px;height:27px;border:1px solid #71849d;border-radius:7px;font-family:Arial,sans-serif;font-size:19px;line-height:1;font-weight:700;color:#fff}
@media(max-width:600px){.footer-social{justify-content:flex-start;margin-top:16px;gap:13px}.footer-social>span{width:100%}}
@media(prefers-reduced-motion:reduce){.footer-social a{transition:none}}
.footer-top>.footer-identity{display:flex;flex-direction:column;align-items:flex-start;gap:24px}
.footer-identity .footer-brand{color:#fff;font-size:15px;align-self:auto}
.footer-identity .footer-brand strong{color:#f0a0b3;font-size:24px;letter-spacing:normal;text-transform:none;margin:0}
.footer-identity .footer-social{justify-content:flex-start;gap:12px 17px}
.footer-identity .footer-social>span{width:100%;margin:0;color:#aebdd0}
.footer-identity .footer-social a{color:#fff}
.footer-identity .footer-social a:hover,.footer-identity .footer-social a:focus-visible{color:#f5b4c4}
@media(max-width:600px){.footer-top>.footer-identity{grid-column:1/-1}.footer-identity .footer-social{margin-top:0}}

/* Payment reassurance and footer privacy controls */
.footer-privacy-button{display:block;border:0;padding:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;opacity:.78}.footer-privacy-button:hover,.footer-privacy-button:focus-visible{opacity:1;text-decoration:underline}
.payment-hero{background:#112b52;color:#fff;padding:clamp(64px,8vw,110px) 0}.payment-hero-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(250px,.7fr);gap:clamp(28px,6vw,90px);align-items:center}.payment-hero h1{font-size:clamp(2.5rem,6vw,5.5rem);line-height:1.04;max-width:850px;margin:.25em 0}.payment-hero h1 em{color:#fff;font-weight:400}.payment-hero p{max-width:660px;line-height:1.65}.payment-hero-card{background:#fff;color:#192b4b;border-radius:12px;padding:clamp(24px,3vw,42px);box-shadow:0 20px 65px #08162d44}.payment-hero-card span{display:block;text-transform:uppercase;letter-spacing:.14em;font-size:.7rem;font-weight:700}.payment-hero-card img{display:block;width:150px;height:auto;max-height:68px;object-fit:contain;margin:18px 0}.payment-hero-card p{margin-bottom:0;font-size:.95rem}.payment-details{max-width:1120px}.payment-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.payment-steps article{border:1px solid #dce3ec;border-radius:10px;padding:26px;background:#fff}.payment-steps article>span{font-size:.8rem;color:#d6093b;font-weight:800}.payment-steps h3{margin:14px 0 8px}.payment-steps p{line-height:1.6}.payment-note{margin-top:36px;padding:26px 30px;border-left:3px solid #d6093b;background:#f3f5f9;line-height:1.65}.payment-note h2{margin:0}.payment-assurance{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin:18px 0 26px;padding:14px 18px;border:1px solid #d7e0ea;border-radius:8px;background:#fff;color:#203455;font-size:.92rem}.payment-assurance img{width:70px;height:auto;object-fit:contain}.payment-assurance a{color:#b60037;text-decoration:underline;text-underline-offset:3px}.vote .payment-assurance{background:#ffffff12;border-color:#ffffff55;color:#fff}.vote .payment-assurance a{color:#fff}.payment-assurance--test{font-size:.88rem}@media(max-width:760px){.payment-hero-grid,.payment-steps{grid-template-columns:1fr}.payment-hero-card{max-width:460px}}

/* Navigation : le survol change la couleur sans trait sur le texte. */
.nav-public>a:after,.nav-group>summary:before{display:none!important}
.nav-public>a,.nav-group>summary,.nav-public>a:hover,.nav-public>a:focus-visible{ text-decoration:none }

.event-calendar{display:flex;align-items:center;gap:8px;margin-top:12px}.event-calendar-label{font-size:11px;color:var(--muted);margin-right:2px}.event-calendar-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid #dce0e8;border-radius:9px;background:#fff;color:var(--navy);text-decoration:none;transition:background .15s,border-color .15s}.event-calendar-icon:hover{background:#f0f3f8;border-color:var(--navy)}.event-calendar-icon:focus-visible{outline:2px solid var(--red);outline-offset:3px}.google-calendar{font-family:Arial,sans-serif;font-weight:700;font-size:18px;color:#4285f4}

section[data-opening-module][hidden]{display:none!important}
