:root{--navy:#071f38;--navy-2:#0c3154;--blue:#1d4ed8;--ice:#dff5ff;--cyan:#4dd8e6;--yellow:#ffd300;--red:#f0182d;--ink:#0b2440;--muted:#597189;--paper:#f6f9fc;--line:#dbe6ef;--radius:28px;--shadow:0 24px 80px rgba(7,31,56,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}.skip-link{position:fixed;left:1rem;top:-4rem;z-index:999;background:white;padding:.8rem 1rem;border-radius:.6rem}.skip-link:focus{top:1rem}.topbar{height:88px;padding:0 clamp(20px,4vw,72px);display:flex;align-items:center;justify-content:space-between;background:rgba(7,31,56,.96);color:white;position:relative;z-index:20;border-bottom:1px solid rgba(255,255,255,.1)}.brand{display:flex;align-items:center;gap:14px}.brand-logo{height:62px;width:74px;border-radius:17px;background:white;display:grid;place-items:center;box-shadow:0 10px 28px rgba(0,0,0,.18)}.brand-logo img{width:64px;height:50px;object-fit:contain}.brand-copy{display:flex;flex-direction:column}.brand-copy strong{font:800 26px/1 "Manrope",sans-serif;letter-spacing:-1px}.brand-copy small{color:var(--yellow);font-weight:700;margin-top:6px}.topbar nav{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:700}.topbar nav>a:not(.report-link){color:#d8e7f4}.topbar nav>a:hover{color:white}.report-link{display:flex;gap:8px;align-items:center;padding:12px 17px;border:1px solid rgba(255,255,255,.22);border-radius:14px;background:rgba(255,255,255,.08);box-shadow:0 8px 22px rgba(0,0,0,.13);transition:background .2s ease,border-color .2s ease}.report-link:hover{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.36)}.report-link b{color:#ff6374;font-size:16px}
.sound-toggle{display:flex;align-items:center;gap:7px;padding:9px 11px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(255,255,255,.07);color:#d9eff7;cursor:pointer;font-size:12px;font-weight:800;transition:background .2s ease,border-color .2s ease}.sound-toggle span{color:var(--cyan);filter:drop-shadow(0 0 5px rgba(77,216,230,.6))}.sound-toggle:hover{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.38)}.sound-toggle.muted{color:#8ca4b8}.sound-toggle.muted span{color:#8ca4b8;filter:none}
.hero{min-height:calc(100vh - 88px);background:radial-gradient(circle at 68% 25%,#174c70 0,transparent 28%),linear-gradient(145deg,#061a30 0%,#082945 52%,#0e3a58 100%);color:white;position:relative;overflow:hidden;padding:clamp(70px,9vw,140px) clamp(24px,8vw,150px) 110px;display:flex;align-items:center}.hero:after{content:"";position:absolute;inset:auto 0 0;height:160px;background:linear-gradient(to top,rgba(2,16,31,.82),transparent)}.aurora{position:absolute;border-radius:50%;filter:blur(55px);opacity:.25;animation:float 9s ease-in-out infinite alternate}.aurora-one{width:440px;height:250px;background:#2ad0dc;right:8%;top:16%}.aurora-two{width:380px;height:200px;background:#355cff;left:30%;bottom:8%;animation-delay:-4s}.grid-horizon{position:absolute;inset:42% -20% -50%;background-image:linear-gradient(rgba(116,197,222,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(116,197,222,.1) 1px,transparent 1px);background-size:72px 72px;transform:perspective(500px) rotateX(63deg);transform-origin:top}.water-lines{position:absolute;left:-10%;right:-10%;bottom:7%;height:180px;opacity:.36}.water-lines i{position:absolute;left:0;width:120%;height:1px;background:linear-gradient(90deg,transparent,#87eff6 40%,transparent);transform:rotate(-3deg);animation:drift 8s linear infinite}.water-lines i:nth-child(2){top:44px;transform:rotate(2deg);animation-delay:-2s}.water-lines i:nth-child(3){top:95px;animation-delay:-5s}.hero-content{position:relative;z-index:4;max-width:760px}.eyebrow,.section-kicker{font:700 12px/1 "Manrope",sans-serif;text-transform:uppercase;letter-spacing:2.4px}.eyebrow{color:#bdeefa;display:flex;align-items:center;gap:10px}.eyebrow span{width:28px;height:2px;background:var(--red)}h1{font:800 clamp(54px,7.2vw,112px)/.94 "Manrope",sans-serif;letter-spacing:-5px;margin:28px 0 30px;max-width:940px}h1 em{font-style:normal;color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.64)}.hero-content>p{font-size:clamp(18px,1.6vw,24px);line-height:1.55;color:#c9deeb;max-width:690px}.hero-cta{margin-top:34px;display:inline-flex;align-items:center;gap:28px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);backdrop-filter:blur(12px);padding:16px 18px 16px 24px;border-radius:999px;font-weight:700}.hero-cta .hero-cta-icon{display:grid;place-items:center;width:34px;height:34px;background:var(--yellow);color:var(--navy);border-radius:50%}.hero-orbit{position:absolute;right:8%;top:50%;width:min(30vw,460px);aspect-ratio:1;transform:translateY(-52%);opacity:.9}.orbit-ring{position:absolute;border:1px solid rgba(141,224,238,.28);border-radius:50%;inset:6%;animation:spin 28s linear infinite}.orbit-ring-two{inset:22%;border-style:dashed;animation-direction:reverse;animation-duration:19s}.compass-core{position:absolute;inset:36%;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(4,30,53,.5);backdrop-filter:blur(8px);display:grid;place-items:center;text-align:center;color:#c9f7fb}.compass-core span{position:absolute;top:-25px;font-size:10px;letter-spacing:3px}.compass-core b{position:absolute;height:160%;width:1px;background:linear-gradient(transparent,var(--red),transparent);transform:rotate(38deg)}.compass-core small{font:700 10px/1.2 "Manrope";letter-spacing:1px}.orbit-dot{position:absolute;width:13px;height:13px;border:3px solid white;border-radius:50%;box-shadow:0 0 25px #67e8f9}.dot-one{left:9%;top:30%}.dot-two{right:14%;bottom:18%;background:var(--yellow);box-shadow:0 0 22px var(--yellow)}.dot-three{right:28%;top:5%;background:var(--red);box-shadow:0 0 22px var(--red)}.hero-stats{position:absolute;z-index:5;bottom:34px;left:clamp(24px,8vw,150px);right:clamp(24px,8vw,150px);display:flex;gap:40px;color:#a9c3d5;font-size:12px;text-transform:uppercase;letter-spacing:.8px}.hero-stats span{display:flex;align-items:baseline;gap:10px}.hero-stats strong{font:800 24px "Manrope";color:white}
.services{padding:120px clamp(20px,6vw,110px);max-width:1720px;margin:auto}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:50px}.section-kicker{color:var(--red)}.section-heading h2,.mission h2{font:800 clamp(34px,4vw,58px)/1.05 "Manrope";letter-spacing:-2.4px;margin:15px 0 0}.section-heading>p{max-width:430px;color:var(--muted);font-size:17px;line-height:1.6}.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.service-card{min-height:620px;border-radius:var(--radius);padding:25px;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:transform .45s cubic-bezier(.2,.75,.2,1),box-shadow .45s;border:1px solid rgba(11,36,64,.08)}.service-card:hover{transform:translateY(-10px);box-shadow:var(--shadow)}.map-card{background:linear-gradient(150deg,#eef9ff,#cfeef6)}.mooring-card{background:linear-gradient(150deg,#0a2c4c,#071b31);color:white}.club-card{background:linear-gradient(150deg,#fff7d3,#ffe9ad)}.agenda-card{background:linear-gradient(150deg,#f2efff,#d9d5ff)}.card-top{display:flex;justify-content:space-between;position:relative;z-index:2}.card-number{font:700 12px "Manrope";letter-spacing:2px}.card-status{font:700 10px "Manrope";text-transform:uppercase;letter-spacing:1px;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.58)}.mooring-card .card-status{background:rgba(255,255,255,.1)}.card-visual{height:245px;position:relative;margin:14px 0 22px}.map-visual{border-radius:22px;background:linear-gradient(25deg,rgba(255,255,255,.3),rgba(255,255,255,.8)),repeating-linear-gradient(35deg,transparent 0 34px,rgba(31,91,120,.08) 35px 36px)}.map-path{position:absolute;inset:33% 14% 29%;border:2px dashed rgba(7,60,89,.2);border-radius:50% 30% 55% 20%;transform:rotate(-8deg)}.pin{position:absolute;width:15px;height:15px;border-radius:50%;background:var(--navy-2);border:3px solid white;box-shadow:0 4px 10px rgba(0,0,0,.2)}.p1{left:17%;top:43%}.p2{left:29%;top:66%;background:#10b981}.p3{left:44%;top:29%}.p4{left:58%;top:52%;background:#f59e0b}.p5{left:72%;top:34%;background:#10b981}.p6{left:78%;top:68%}.p7{left:37%;top:48%;background:#10b981}.mooring-visual{overflow:hidden}.dock{position:absolute;height:42px;border:1px solid rgba(120,215,231,.25);border-radius:999px;background:linear-gradient(90deg,rgba(69,190,208,.03),rgba(100,221,230,.18));transform:rotate(-8deg)}.dock-one{left:-10%;right:10%;top:22%}.dock-two{left:18%;right:-20%;top:50%}.dock-three{left:-20%;right:28%;top:78%}.boat{position:absolute;width:80px;height:36px;border-radius:4px 4px 45px 45px;background:white;right:20%;top:34%;transform:rotate(-8deg);box-shadow:0 14px 35px rgba(0,0,0,.3)}.boat:before{content:"";position:absolute;left:35px;bottom:29px;width:3px;height:65px;background:white}.boat span{position:absolute;left:38px;bottom:40px;border-left:34px solid var(--red);border-top:23px solid transparent;border-bottom:23px solid transparent}.club-visual{border-radius:22px;background:radial-gradient(circle,rgba(255,255,255,.75),rgba(255,255,255,.1))}.club-node{position:absolute;width:24px;height:24px;border-radius:50%;background:var(--navy);border:4px solid white;z-index:2}.node-main{width:82px;height:82px;left:calc(50% - 41px);top:calc(50% - 41px);display:grid;place-items:center;color:white;border-width:6px}.node-main span{font:800 12px "Manrope"}.n1{left:12%;top:18%}.n2{right:12%;top:12%;background:var(--red)}.n3{left:16%;bottom:12%;background:#1d4ed8}.n4{right:15%;bottom:16%;background:#f5b700}.network-line{position:absolute;height:1px;background:rgba(7,31,56,.26);left:50%;top:50%;transform-origin:left}.l1{width:40%;transform:rotate(-145deg)}.l2{width:40%;transform:rotate(-36deg)}.l3{width:38%;transform:rotate(145deg)}.l4{width:38%;transform:rotate(34deg)}.agenda-visual{display:grid;place-items:center;border-radius:22px;background:radial-gradient(circle at 50% 35%,rgba(255,255,255,.95),rgba(255,255,255,.18));overflow:hidden}.agenda-calendar{position:relative;width:78%;height:76%;border:1px solid rgba(55,38,135,.18);border-radius:18px;background:rgba(255,255,255,.82);box-shadow:0 18px 45px rgba(60,43,130,.18);transform:rotate(-3deg)}.agenda-calendar-top{height:42px;border-radius:18px 18px 0 0;background:var(--navy);color:white;display:flex;align-items:center;justify-content:center}.agenda-calendar-top span{position:absolute;top:-8px;width:8px;height:22px;border-radius:99px;background:#ff3651}.agenda-calendar-top span:first-child{left:24%}.agenda-calendar-top span:nth-child(2){right:24%}.agenda-calendar-top strong{font:800 10px "Manrope";letter-spacing:1.7px}.agenda-calendar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:16px}.agenda-calendar-grid i{height:17px;border-radius:6px;background:#e8e6f7}.agenda-calendar-grid .event-one{background:#ff3651}.agenda-calendar-grid .event-two{background:#19a7a0}.agenda-calendar-grid .event-three{background:#f5b700}.agenda-pulse{position:absolute;width:170px;height:170px;border:1px solid rgba(100,76,200,.22);border-radius:50%;animation:agendaPulse 3s ease-out infinite}.card-copy{position:relative;z-index:2}.action-word{color:var(--red);font:700 11px "Manrope";text-transform:uppercase;letter-spacing:2px}.mooring-card .action-word{color:#67e8f9}.agenda-card .action-word{color:#6546c7}.card-copy h3{font:800 clamp(29px,2.35vw,42px)/1 "Manrope";letter-spacing:-1.8px;margin:10px 0 16px}.card-copy p{font-size:16px;line-height:1.55;color:var(--muted);margin:0}.mooring-card .card-copy p{color:#b8d0df}.card-link{margin-top:auto;padding-top:25px;border-top:1px solid rgba(11,36,64,.12);display:flex;justify-content:space-between;align-items:center;font-weight:700}.mooring-card .card-link{border-color:rgba(255,255,255,.13)}.card-link b{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:white;color:var(--navy);transition:transform .35s}.service-card:hover .card-link b{transform:rotate(45deg)}@keyframes agendaPulse{0%{transform:scale(.72);opacity:.55}75%,100%{transform:scale(1.22);opacity:0}}
.mission{margin:0 clamp(20px,6vw,110px) 110px;max-width:1500px;margin-left:auto;margin-right:auto;border-radius:32px;background:white;border:1px solid var(--line);box-shadow:0 16px 50px rgba(7,31,56,.08);padding:45px;display:grid;grid-template-columns:130px 1fr auto;align-items:center;gap:36px}.mission-mark{width:110px;height:110px;border-radius:50%;background:var(--navy);display:grid;place-items:center;position:relative}.mission-mark:after{content:"";position:absolute;inset:10px;border:1px dashed rgba(255,255,255,.35);border-radius:50%}.mission-mark span{font:800 13px "Manrope";color:var(--yellow);letter-spacing:2px}.mission h2{font-size:clamp(25px,3vw,42px);max-width:870px}.mission>a{white-space:nowrap;background:var(--navy);color:white;padding:16px 22px;border-radius:14px;font-weight:700}.mission>a span{color:var(--yellow);margin-left:8px}
footer{background:var(--navy);color:white;padding:18px clamp(24px,6vw,100px) 14px}.footer-main{display:flex;justify-content:space-between;gap:28px;align-items:center}.footer-brand{max-width:660px}.footer-brand strong{font:800 24px "Manrope"}.footer-brand p{margin:5px 0 0;color:#b9cada;line-height:1.4;font-size:13px}.footer-links{display:flex;gap:8px;flex-wrap:wrap}.footer-links button,.footer-links a{border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.07);color:white;padding:7px 10px;border-radius:9px;cursor:pointer;font-size:12px}.footer-bottom{margin-top:12px;padding-top:10px;border-top:1px solid rgba(255,255,255,.14);display:flex;justify-content:space-between;gap:20px;color:#89a5ba;font-size:11px}.footer-bottom a{text-decoration:underline}dialog{max-width:720px;width:calc(100% - 40px);max-height:85vh;overflow:auto;border:0;border-radius:24px;padding:38px;color:var(--ink);box-shadow:0 30px 100px rgba(0,0,0,.35)}dialog::backdrop{background:rgba(3,19,35,.72);backdrop-filter:blur(5px)}dialog h2{font:800 30px "Manrope";margin:12px 0 22px}dialog p{line-height:1.65;color:var(--muted)}.dialog-close{position:absolute;right:18px;top:14px;background:none;border:0;font-size:30px;color:var(--muted);cursor:pointer}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes drift{50%{transform:translateX(-8%) rotate(-1deg)}}@keyframes float{to{transform:translate(30px,24px) scale(1.1)}}
@media(max-width:1400px) and (min-width:1051px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1050px){.topbar nav>a:not(.report-link){display:none}.hero-orbit{opacity:.35;width:430px;right:-8%}.service-grid{grid-template-columns:1fr}.service-card{min-height:550px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr auto;gap:10px 35px}.card-top{grid-column:1/-1}.card-visual{grid-column:2;grid-row:2/4;margin:0}.card-copy{grid-column:1;grid-row:2}.card-link{grid-column:1;grid-row:3}.mission{grid-template-columns:100px 1fr}.mission>a{grid-column:2;justify-self:start}.hero-stats{gap:20px;flex-wrap:wrap}}
@media(max-width:720px){.topbar{height:78px}.brand-logo{width:58px;height:54px}.brand-logo img{width:50px}.brand-copy strong{font-size:22px}.brand-copy small{font-size:10px}.report-link span{display:none}.topbar nav{gap:0}.hero{min-height:760px;padding:80px 24px 130px;align-items:start}.hero h1{letter-spacing:-3px}.hero-orbit{width:330px;right:-100px;top:66%}.hero-stats{left:24px;right:24px;bottom:24px;display:grid;grid-template-columns:1fr 1fr}.hero-stats span{font-size:9px}.hero-stats strong{font-size:18px}.section-heading{display:block}.section-heading>p{margin-top:18px}.services{padding:80px 16px}.service-card{min-height:610px;display:flex}.card-visual{height:230px;margin:14px 0 20px}.mission{margin:0 16px 70px;padding:28px;display:block}.mission-mark{width:76px;height:76px;margin-bottom:25px}.mission>a{display:inline-block;margin-top:25px}.footer-main,.footer-bottom{display:block}.footer-links{margin-top:26px}.footer-bottom span{display:block;margin-top:8px}}

/* Le titre conserve l'effet contour sans chevaucher ses deux lignes. */
.hero h1{line-height:1.04}
.hero h1 em{display:inline-block;margin-top:.08em}
.brand-copy small{max-width:620px;font-size:12px;line-height:1.25}
@media(max-width:1050px){.brand-copy small{max-width:520px}}
@media(max-width:720px){.brand-copy small{max-width:220px;font-size:9px;line-height:1.2}}

/* Signature visuelle harmonisée avec les autres applications. */
.brand-logo{width:112px;height:78px;border-radius:16px}
.brand-logo img{width:100px;height:68px}

/* Deux lignes indépendantes : aucun chevauchement, quelle que soit la largeur. */
.hero h1{display:flex;flex-direction:column;align-items:flex-start;gap:.12em;line-height:.94;max-width:900px}
.hero h1 span,.hero h1 em{display:block;margin:0;white-space:nowrap}
.hero h1 em{font-size:.76em;line-height:1}
.hero h1 em{color:#9fc8d8;letter-spacing:0;-webkit-text-stroke:0;text-shadow:0 8px 30px rgba(73,187,215,.14)}
@media(max-width:720px){
  .brand-logo{width:68px;height:58px}
  .brand-logo img{width:58px;height:48px}
  .hero h1{gap:.18em;line-height:1}
  .hero h1 span,.hero h1 em{white-space:normal}
  .hero h1 em{font-size:.82em}
}

.resources{padding:20px clamp(24px,7vw,120px) 90px}.resources-heading{max-width:1260px;margin:0 auto 30px;display:flex;align-items:end;justify-content:space-between;gap:40px}.resources-heading h2{margin:10px 0 0;font:800 clamp(30px,3vw,48px)/1.08 "Manrope",sans-serif;color:var(--navy);letter-spacing:-1.8px}.resources-heading p{max-width:510px;margin:0;color:#60758a;line-height:1.6}.resource-grid{max-width:1260px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:20px}.resource-card{min-height:190px;padding:30px;border:1px solid #d9e4ed;border-radius:24px;background:white;display:grid;grid-template-columns:64px 1fr 32px;align-items:center;gap:22px;box-shadow:0 16px 44px rgba(11,42,68,.07);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;overflow:hidden;position:relative}.resource-card:before{content:"";position:absolute;width:190px;height:190px;border-radius:50%;right:-80px;bottom:-120px;background:radial-gradient(circle,rgba(32,166,196,.16),transparent 68%)}.resource-card:hover{transform:translateY(-5px);border-color:#9bc8d8;box-shadow:0 22px 55px rgba(11,42,68,.13)}.resource-icon{width:64px;height:64px;border-radius:19px;display:grid;place-items:center;background:#e8f6fa;color:var(--navy);font:800 28px "Manrope"}.resource-guide .resource-icon{background:#fff5c8}.resource-copy{display:flex;flex-direction:column;gap:7px}.resource-copy small{font:800 10px "Manrope";letter-spacing:1.6px;text-transform:uppercase;color:var(--red)}.resource-copy strong{font:800 22px "Manrope";color:var(--navy)}.resource-copy span{color:#61768a;line-height:1.45}.resource-card>b{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:white;position:relative;z-index:2}

.public-agenda{display:none;min-height:calc(100vh - 88px);padding:70px clamp(24px,7vw,120px) 105px;background:#eef5f9}.agenda-mode .public-agenda{display:block}.agenda-mode .hero,.agenda-mode .services,.agenda-mode .resources,.agenda-mode .mission{display:none}.agenda-heading{max-width:1260px;margin:0 auto 32px;display:flex;align-items:end;justify-content:space-between;gap:40px}.agenda-back{display:inline-flex;margin-bottom:22px;padding:9px 13px;border:1px solid #c8d7e2;border-radius:999px;background:white;color:var(--navy);font-size:12px;font-weight:800;transition:transform .2s ease,border-color .2s ease}.agenda-back:hover{transform:translateX(-3px);border-color:#8eacc1}.agenda-heading h2{margin:12px 0 12px;font:800 clamp(34px,4vw,58px)/1.04 "Manrope",sans-serif;letter-spacing:-2.3px}.agenda-heading p{max-width:710px;margin:0;color:var(--muted);font-size:17px;line-height:1.6}.agenda-count{min-width:150px;padding:20px;border-radius:20px;background:var(--navy);color:white;text-align:center}.agenda-count strong{display:block;font:800 36px "Manrope"}.agenda-count span{display:block;color:#b9cada;font-size:11px;text-transform:uppercase;letter-spacing:.8px}.agenda-filters{max-width:1260px;margin:0 auto 26px;padding:18px;display:grid;grid-template-columns:1.4fr 1.2fr 1fr 1fr auto;gap:12px;border:1px solid var(--line);border-radius:20px;background:white;box-shadow:0 12px 35px rgba(7,31,56,.06)}.agenda-filters label{display:flex;flex-direction:column;gap:6px}.agenda-filters label span{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:1px;color:#65798d}.agenda-filters input,.agenda-filters select{width:100%;min-height:46px;padding:0 13px;border:1px solid #cbd9e4;border-radius:12px;background:white;color:var(--ink);font:inherit}.agenda-filters button{align-self:end;min-height:46px;padding:0 18px;border:1px solid #cbd9e4;border-radius:12px;background:#f5f8fa;color:var(--navy);cursor:pointer;font-weight:700}.agenda-status,.agenda-empty{max-width:1260px;margin:auto;padding:36px;text-align:center;border:1px dashed #b7cad8;border-radius:20px;color:var(--muted);background:rgba(255,255,255,.6)}.agenda-status.error{color:#9f1239;border-color:#fecdd3;background:#fff1f2}.agenda-empty{display:flex;flex-direction:column;gap:6px}.agenda-empty[hidden]{display:none}.agenda-list{max-width:1260px;margin:auto;display:flex;flex-direction:column;gap:14px}.public-event{display:grid;grid-template-columns:90px 190px minmax(0,1fr) auto;align-items:center;gap:22px;padding:16px;border:1px solid #d8e4ed;border-radius:23px;background:white;box-shadow:0 12px 34px rgba(7,31,56,.06);transition:transform .2s ease,box-shadow .2s ease}.public-event:hover{transform:translateY(-2px);box-shadow:0 17px 42px rgba(7,31,56,.1)}.public-event-date{text-align:center;padding:12px;border-right:1px solid #e0e9ef}.public-event-date strong{display:block;font:800 34px/1 "Manrope"}.public-event-date span{display:block;margin-top:5px;color:var(--red);font:800 11px "Manrope";letter-spacing:1.3px}.public-event-image{height:120px;overflow:hidden;border-radius:16px;background:#dcecf3}.public-event-image img{width:100%;height:100%;object-fit:cover;transition:transform .2s ease}.agenda-image-placeholder{height:100%;display:grid;place-items:center;color:#567b91;font-size:32px}.public-event-copy{min-width:0}.public-event-labels{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.public-event-labels>span{color:var(--red);font:800 10px "Manrope";text-transform:uppercase;letter-spacing:1.3px}.public-event-labels small{color:#6b8094}.public-event-copy h3{margin:7px 0 6px;font:800 24px "Manrope";letter-spacing:-.6px}.public-event-copy p{margin:0;color:#60758a;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.public-event-meta{display:flex;gap:18px;flex-wrap:wrap;margin-top:11px;color:#6b8094;font-size:12px}.public-event-open{padding:13px 16px;border:0;border-radius:13px;background:var(--navy);color:white;cursor:pointer;font-weight:800;white-space:nowrap}.public-event-open span{margin-left:8px;color:var(--yellow)}.activity-dialog{width:min(860px,calc(100% - 30px));max-width:none;max-height:calc(100dvh - 30px);padding:0;border:0;border-radius:26px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;color:var(--ink);box-shadow:0 30px 100px rgba(0,0,0,.4)}.activity-dialog::backdrop{background:rgba(3,19,35,.74);backdrop-filter:blur(5px)}.activity-dialog-close{position:sticky;z-index:3;float:right;right:16px;top:16px;margin-bottom:-42px;width:42px;height:42px;border:0;border-radius:50%;background:rgba(7,31,56,.88);color:white;font-size:27px;cursor:pointer}.activity-dialog-image{display:block;width:100%;height:min(38vh,360px);object-fit:cover}.activity-dialog-body{position:relative;clear:both;background:white;padding:32px}.activity-dialog-category{color:var(--red);font:800 11px "Manrope";letter-spacing:1.5px;text-transform:uppercase}.activity-dialog h2{margin:8px 0;font:800 clamp(29px,4vw,44px)/1.08 "Manrope"}.activity-dialog-organizer{margin:0;color:#60758a}.activity-dialog dl{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:25px 0}.activity-dialog dl div{padding:14px;border-radius:14px;background:#f1f6f9}.activity-dialog dt{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:1px;color:#71879a}.activity-dialog dd{margin:5px 0 0;font-weight:700}.activity-dialog-summary{margin:0 0 16px;color:#244b6c;font-size:17px;font-weight:700;line-height:1.55}.activity-dialog-description{line-height:1.7;color:#40566b}.activity-dialog-actions{display:flex;gap:10px;margin-top:25px}.activity-dialog-actions a,.activity-dialog-actions button{padding:13px 18px;border:0;border-radius:12px;background:var(--navy);color:white;font:700 14px "DM Sans";cursor:pointer}.activity-dialog-actions button{background:#e6eef4;color:var(--navy)}
.social-resource{max-width:1260px;margin:20px auto 0;padding:22px 26px;border:1px solid #bfe5d2;border-radius:22px;background:linear-gradient(105deg,#f4fcf7 0%,#fff 72%);display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:22px;box-shadow:0 12px 34px rgba(11,42,68,.06);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.social-resource:hover{transform:translateY(-3px);border-color:#66c69a;box-shadow:0 18px 42px rgba(11,42,68,.11)}.social-resource-icon{width:58px;height:58px;border-radius:18px;background:#0a9b68;color:white;display:grid;place-items:center;font:800 36px/1 "Manrope",sans-serif}.social-resource-copy{display:flex;flex-direction:column;gap:4px;min-width:0}.social-resource-copy small{font:800 10px "Manrope";letter-spacing:1.6px;text-transform:uppercase;color:#07825a}.social-resource-copy strong{font:800 21px "Manrope";color:var(--navy)}.social-resource-copy>span{color:#61768a;line-height:1.4}.social-resource-action{display:flex;align-items:center;gap:12px;color:var(--navy);font:800 13px "Manrope";white-space:nowrap}.social-resource-action b{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#0a9b68;color:white}
@media(max-width:800px){.resources{padding:10px 16px 70px}.resources-heading{display:block}.resources-heading p{margin-top:16px}.resource-grid{grid-template-columns:1fr}.resource-card{grid-template-columns:54px 1fr 28px;padding:24px;gap:16px}.resource-icon{width:54px;height:54px}.resource-copy strong{font-size:19px}.social-resource{grid-template-columns:52px 1fr;padding:20px;gap:15px}.social-resource-icon{width:52px;height:52px;border-radius:16px;font-size:32px}.social-resource-copy strong{font-size:18px}.social-resource-action{grid-column:2;justify-self:start;margin-top:4px}}
@media(max-width:900px){.agenda-heading{align-items:start}.agenda-filters{grid-template-columns:1fr 1fr}.agenda-filters label:first-child{grid-column:1/-1}.public-event{grid-template-columns:70px 130px minmax(0,1fr)}.public-event-open{grid-column:2/-1;justify-self:start}.activity-dialog dl{grid-template-columns:1fr}}
@media(max-width:600px){.public-agenda{padding:70px 16px}.agenda-heading{display:block}.agenda-count{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:22px;padding:13px}.agenda-count strong{font-size:27px}.agenda-filters{grid-template-columns:1fr}.agenda-filters label:first-child{grid-column:auto}.public-event{grid-template-columns:60px 1fr;gap:13px}.public-event-date{border-right:0;padding:5px}.public-event-image{height:110px}.public-event-copy,.public-event-open{grid-column:1/-1}.public-event-open{width:100%}.activity-dialog-body{padding:25px 20px}.activity-dialog-image{height:230px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Version mobile : mêmes codes visuels, proportions adaptées à un écran de téléphone. */
@media(max-width:720px){
  .topbar{height:auto;min-height:78px;padding:10px 12px;gap:8px}
  .brand{min-width:0;flex:1;gap:10px}
  .brand-logo{width:58px;height:54px;flex:0 0 58px;border-radius:14px}
  .brand-logo img{width:50px;height:44px}
  .brand-copy{min-width:0}
  .brand-copy strong{font-size:20px;letter-spacing:-.7px}
  .brand-copy small{max-width:none;font-size:8px;line-height:1.18;margin-top:4px}
  .report-link{width:44px;height:44px;padding:0;justify-content:center;flex:0 0 44px;border-radius:13px}

  .hero{min-height:auto;padding:58px 20px 42px;display:block}
  .hero-content{max-width:100%}
  .eyebrow{font-size:10px;letter-spacing:1.7px}
  .hero h1{font-size:clamp(42px,13vw,52px);letter-spacing:-2.6px;gap:.12em;margin:24px 0 22px;line-height:.98}
  .hero h1 em{font-size:.74em;line-height:1.04}
  .hero-content>p{font-size:17px;line-height:1.48;margin:0}
  .hero-cta{margin-top:28px;padding:13px 14px 13px 19px;gap:20px}
  .hero-orbit{display:none}
  .hero-stats{position:relative;inset:auto;margin-top:34px;display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-top:20px;border-top:1px solid rgba(255,255,255,.13)}
  .hero-stats span{display:block;font-size:9px;line-height:1.35}
  .hero-stats strong{display:block;font-size:20px;margin-bottom:2px}
  .hero:after{height:90px;pointer-events:none}

  .services{padding:64px 16px}
  .section-heading{margin-bottom:30px}
  .section-heading h2{font-size:34px;letter-spacing:-1.5px}
  .section-heading>p{font-size:15px;line-height:1.5}
  .service-grid{gap:16px}
  .service-card{min-height:auto;padding:22px;border-radius:22px}
  .card-visual{height:185px;margin:12px 0 20px}
  .card-copy h3{font-size:31px;letter-spacing:-1.2px}
  .card-copy p{font-size:15px}
  .card-link{padding-top:20px;margin-top:24px}

  .resources{padding:0 16px 58px}
  .resources-heading{margin-bottom:24px}
  .resources-heading h2{font-size:32px;letter-spacing:-1.2px}
  .resource-card{min-height:auto;padding:20px;grid-template-columns:48px 1fr 28px;gap:14px;border-radius:20px}
  .resource-icon{width:48px;height:48px;border-radius:15px;font-size:23px}
  .resource-copy strong{font-size:18px}
  .resource-copy span{font-size:14px}

  .mission{margin:0 16px 58px;padding:24px;border-radius:24px}
  .mission-mark{width:66px;height:66px;margin-bottom:20px}
  .mission h2{font-size:28px;letter-spacing:-1.3px}
  .mission>a{margin-top:22px;padding:14px 17px}

  footer{padding:22px 24px 18px}
  .footer-brand strong{font-size:27px}
  .footer-brand p{font-size:14px}
  .footer-bottom{margin-top:28px}
}

@media(max-width:380px){
  .brand-copy small{display:none}
  .hero{padding-left:18px;padding-right:18px}
  .hero h1{font-size:40px}
  .hero-stats{grid-template-columns:1fr}
}
.dialog-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px;padding:10px;border-radius:12px;background:#eef3f8}.dialog-tabs button{padding:8px 11px;border:1px solid #d4e0e9;border-radius:9px;color:#435b72;background:white;cursor:pointer;font-size:12px;font-weight:700}.dialog-tabs button.active{border-color:var(--navy);color:white;background:var(--navy)}

/* Fenêtres juridiques harmonisées avec les applications VisitMarina. */
#info-dialog{width:min(820px,calc(100% - 32px));max-width:none;max-height:90vh;padding:0;overflow:hidden;border:1px solid #b9d4ed;border-radius:18px;background:#f8fafc;color:#25384c}
#info-dialog[open]{display:flex;flex-direction:column}
.dialog-header{display:flex;align-items:center;gap:12px;padding:17px 20px;color:white;background:var(--navy)}
.dialog-header>div{min-width:0;flex:1}
.dialog-header h2{margin:0;color:white;font:800 22px "Manrope",sans-serif}
.dialog-header small{display:block;margin-top:3px;color:#c9d9e8;font-size:11px}
.dialog-icon{width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto;border:1px solid rgba(255,255,255,.15);border-radius:11px;background:rgba(255,255,255,.08);font-weight:800}
#info-dialog[data-tone="legal"] .dialog-icon{color:#fcd34d}
#info-dialog[data-tone="privacy"] .dialog-icon{color:#6ee7b7}
#info-dialog[data-tone="licenses"] .dialog-icon{color:#7dd3fc}
.dialog-close{position:static;padding:4px 7px;color:#c9d9e8;font-size:28px;line-height:1}
.dialog-tabs{margin:0;padding:10px 18px;border-bottom:1px solid #dbe3ea;border-radius:0}
.dialog-content{padding:22px 24px;overflow-y:auto;font-size:13px;line-height:1.62}
.dialog-content section{margin-top:16px;padding:16px;border:1px solid #d9e3ec;border-radius:14px;background:white}
.dialog-content section.dialog-warning{border-color:#f3d58b;background:#fff9e8}
.dialog-content h3{margin:0 0 8px;color:var(--navy);font-size:15px}
.dialog-content p{margin:7px 0;color:#40556a}
.dialog-content a{color:#0759b9;text-decoration:underline}
.dialog-updated{padding-bottom:10px;border-bottom:1px solid #dbe3ea;color:#b45309!important;text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:800}
.dialog-footer{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:10px 18px;border-top:1px solid #dbe3ea;color:#698098;background:#f8fafc;font-size:10px}
.dialog-footer-close{padding:8px 14px;border:0;border-radius:9px;color:white;background:var(--navy);cursor:pointer;font-weight:750}
@media(max-width:600px){.dialog-header small{display:none}.dialog-content{padding:18px}.dialog-footer span{max-width:65%}}

/* Agenda public : vues semaine/liste et ouverture de la fiche depuis l’image. */
.public-event{grid-template-columns:90px 190px minmax(0,1fr)}
.public-event-image{display:block;width:100%;height:120px;padding:0;overflow:hidden;border:0;border-radius:16px;background:#dcecf3;cursor:pointer;transition:box-shadow .2s ease,filter .2s ease}
.public-event-image:hover{filter:brightness(.94);box-shadow:0 0 0 4px rgba(12,47,78,.12)}
.public-event-image:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}
.agenda-display-toolbar{max-width:1260px;margin:0 auto 18px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.agenda-view-switch,.agenda-week-nav{display:flex;align-items:center;gap:6px}
.agenda-view-switch{padding:4px;border:1px solid #cbd9e4;border-radius:13px;background:white}
.agenda-view-switch button,.agenda-week-nav button{min-height:38px;padding:0 14px;border:0;border-radius:9px;background:transparent;color:var(--navy);cursor:pointer;font:800 12px "Manrope",sans-serif}
.agenda-view-switch button[aria-pressed="true"]{background:var(--navy);color:white}
.agenda-week-nav{justify-content:flex-end}
.agenda-week-nav strong{min-width:210px;text-align:center;color:var(--navy);font:800 14px "Manrope",sans-serif;text-transform:capitalize}
.agenda-week-nav button{border:1px solid #cbd9e4;background:white}
.agenda-week{max-width:1260px;margin:auto;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));overflow:hidden;border:1px solid #d8e4ed;border-radius:22px;background:white;box-shadow:0 12px 34px rgba(7,31,56,.06)}
.agenda-week[hidden],.agenda-list[hidden],.agenda-week-nav[hidden]{display:none}
.agenda-week-day{min-width:0;min-height:330px;border-right:1px solid #e1eaf0;background:#fbfdfe}
.agenda-week-day:last-child{border-right:0}
.agenda-week-day.has-events{background:white}
.agenda-week-day header{display:flex;align-items:center;justify-content:space-between;padding:13px;border-bottom:1px solid #e1eaf0;color:#6b8094;text-transform:uppercase}
.agenda-week-day header span{font:800 10px "Manrope",sans-serif;letter-spacing:1px}
.agenda-week-day header strong{font:800 22px "Manrope",sans-serif;color:var(--navy)}
.agenda-week-events{display:flex;flex-direction:column;gap:8px;padding:9px}
.agenda-week-free{display:block;padding:18px 4px;color:#b2c1cc;text-align:center}
.agenda-week-event{width:100%;padding:0;overflow:hidden;border:1px solid #cfe0eb;border-bottom:4px solid var(--red);border-radius:12px;background:#f4f9fc;color:var(--navy);cursor:pointer;text-align:left}
.agenda-week-event:hover{background:#e9f3f8;border-color:#a9c5d6}
.agenda-week-event:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}
.agenda-week-event-image{display:block;width:100%;height:84px;overflow:hidden;background:#dcecf3}
.agenda-week-event-image img{width:100%;height:100%;object-fit:cover}
.agenda-week-event-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:linear-gradient(145deg,#0a2f4e,#176089);color:white}
.agenda-week-event-placeholder b{font-size:24px}.agenda-week-event-placeholder em{font:800 9px "Manrope",sans-serif;letter-spacing:1px;text-transform:uppercase}
.agenda-week-event-copy{display:block;padding:9px}
.agenda-week-event time,.agenda-week-event small{display:block;color:#687e91;font-size:10px}
.agenda-week-event strong{display:block;margin:5px 0;font:800 12px/1.3 "Manrope",sans-serif}
@media(max-width:900px){.public-event{grid-template-columns:70px 130px minmax(0,1fr)}.agenda-display-toolbar{align-items:flex-start}.agenda-week{grid-template-columns:repeat(7,150px);overflow-x:auto}.agenda-week-day{min-height:290px}}
@media(max-width:600px){.public-event{grid-template-columns:60px 1fr;gap:13px}.public-event-image{height:110px}.public-event-copy{grid-column:1/-1}.agenda-display-toolbar{display:block}.agenda-view-switch{width:max-content;margin-bottom:12px}.agenda-week-nav{justify-content:space-between}.agenda-week-nav strong{min-width:0;flex:1;font-size:12px}.agenda-week{grid-template-columns:repeat(7,138px)}}

/* Vue hebdomadaire éditoriale : frise des jours et grands visuels inspirants. */
.agenda-week{display:block;max-width:1260px;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}
.agenda-week-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));overflow:hidden;border:1px solid #d8e4ed;border-radius:18px;background:white;box-shadow:0 10px 30px rgba(7,31,56,.05)}
.agenda-week-day{min-height:88px;padding:15px 17px;border-right:1px solid #e1eaf0;background:#fbfdfe;display:grid;grid-template-columns:1fr auto;align-content:center;gap:4px}
.agenda-week-day:last-child{border-right:0}.agenda-week-day.has-events{background:linear-gradient(145deg,#fff8dc,#fff)}
.agenda-week-day>span{font:800 10px "Manrope",sans-serif;letter-spacing:1px;text-transform:uppercase;color:#6b8094}
.agenda-week-day>strong{grid-row:1/3;grid-column:2;font:800 28px "Manrope",sans-serif;color:var(--navy)}
.agenda-week-day>small{font-size:10px;color:#8a9baa}.agenda-week-day.has-events>small{color:#ad2238;font-weight:800}
.agenda-week-showcase{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:20px}
.agenda-week-feature{min-width:0;padding:0;overflow:hidden;border:1px solid #d4e1ea;border-radius:24px;background:white;color:var(--navy);cursor:pointer;text-align:left;box-shadow:0 18px 50px rgba(7,31,56,.09);transition:transform .25s ease,box-shadow .25s ease}
.agenda-week-feature:hover{transform:translateY(-5px);box-shadow:0 27px 65px rgba(7,31,56,.16)}
.agenda-week-feature:focus-visible{outline:4px solid var(--yellow);outline-offset:3px}
.agenda-week-feature-image{display:block;width:100%;height:230px;overflow:hidden;background:#dcecf3}
.agenda-week-feature-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease,filter .35s ease}
.agenda-week-feature:hover .agenda-week-feature-image img{filter:saturate(1.08) contrast(1.03)}
.agenda-week-feature-copy{display:flex;flex-direction:column;min-width:0;padding:24px}
.agenda-week-feature-kicker{color:var(--red);font:800 10px "Manrope",sans-serif;letter-spacing:1.3px;text-transform:uppercase}
.agenda-week-feature-copy>strong{margin:8px 0 9px;font:800 clamp(22px,2.1vw,31px)/1.12 "Manrope",sans-serif;letter-spacing:-.7px}
.agenda-week-feature-summary{color:#60758a;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.agenda-week-feature-meta{display:flex;flex-direction:column;gap:4px;margin-top:18px;color:#335570}.agenda-week-feature-meta b{font-size:13px;text-transform:capitalize}.agenda-week-feature-meta small{color:#71869a}
.agenda-week-feature-action{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:22px;color:var(--navy);font:800 13px "Manrope",sans-serif}.agenda-week-feature-action b{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:var(--yellow)}
.agenda-week-showcase.single .agenda-week-feature{grid-column:1/-1;display:grid;grid-template-columns:minmax(410px,46%) 1fr;min-height:320px}
.agenda-week-showcase.single .agenda-week-feature-image{height:100%;min-height:320px}
.agenda-week-showcase.single .agenda-week-feature-copy{padding:34px}
.agenda-week-empty{grid-column:1/-1;padding:55px;border:1px dashed #b7cad8;border-radius:22px;background:rgba(255,255,255,.7);text-align:center;color:#71869a}.agenda-week-empty strong,.agenda-week-empty span{display:block}.agenda-week-empty strong{margin-bottom:6px;color:var(--navy);font:800 20px "Manrope",sans-serif}
@media(max-width:900px){.agenda-week-days{grid-template-columns:repeat(7,130px);overflow-x:auto}.agenda-week-showcase{grid-template-columns:1fr}.agenda-week-showcase.single .agenda-week-feature{display:block}.agenda-week-feature-image,.agenda-week-showcase.single .agenda-week-feature-image{height:240px;min-height:0}.agenda-week-showcase.single .agenda-week-feature-copy{padding:24px}}
@media(max-width:600px){.agenda-week-day{min-height:78px;padding:12px}.agenda-week-feature{border-radius:19px}.agenda-week-feature-image,.agenda-week-showcase.single .agenda-week-feature-image{height:210px}.agenda-week-feature-copy{padding:20px}.agenda-week-feature-copy>strong{font-size:24px}}

/* Direction artistique de l’agenda : plus émotionnelle, moins administrative. */
.public-agenda{background:radial-gradient(circle at 92% 8%,rgba(255,210,42,.13),transparent 24%),radial-gradient(circle at 4% 62%,rgba(23,121,163,.1),transparent 28%),linear-gradient(180deg,#eef6fa 0%,#f7fbfd 100%)}
.agenda-heading h2{max-width:850px}.agenda-count{background:linear-gradient(145deg,#062a49,#0a416a);box-shadow:0 18px 45px rgba(4,35,61,.2)}
.agenda-filters{border-color:rgba(171,198,216,.72);background:rgba(255,255,255,.88);backdrop-filter:blur(14px);box-shadow:0 18px 50px rgba(7,31,56,.09)}
.agenda-view-switch{box-shadow:0 9px 24px rgba(7,31,56,.08)}
.agenda-week-days{border:0;box-shadow:0 16px 45px rgba(7,31,56,.1)}
.agenda-week-day{border-color:#e4edf3}.agenda-week-day.has-events{background:linear-gradient(145deg,#063353,#0c507b);color:white}
.agenda-week-day.has-events>span,.agenda-week-day.has-events>strong{color:white}.agenda-week-day.has-events>small{color:#ffda45}
.agenda-week-editorial-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:30px 4px 13px}
.agenda-week-editorial-heading span{color:var(--red);font:800 11px "Manrope",sans-serif;letter-spacing:1.7px;text-transform:uppercase}
.agenda-week-editorial-heading strong{color:#61788c;font:700 12px "Manrope",sans-serif}
.agenda-week-showcase{margin-top:0}
.agenda-week-feature{position:relative;border:0;background:linear-gradient(145deg,#062a49,#0b456e);color:white;box-shadow:0 26px 75px rgba(3,30,52,.22)}
.agenda-week-feature:hover{box-shadow:0 34px 85px rgba(3,30,52,.3)}
.agenda-week-feature-image{position:relative;height:275px;background:#123e5d}
.agenda-week-feature-image::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 62%,rgba(2,24,43,.22))}
.agenda-week-feature-copy{color:white}
.agenda-week-feature-kicker{color:#ffda45}
.agenda-week-feature-copy>strong{color:white;font-size:clamp(25px,2.35vw,36px)}
.agenda-week-feature-summary{color:#d4e2ec;font-size:16px}
.agenda-week-feature-meta{color:#e3edf4}.agenda-week-feature-meta b{color:white}.agenda-week-feature-meta small{color:#a9c4d7}
.agenda-week-feature-action{color:white;border-top:1px solid rgba(255,255,255,.13)}.agenda-week-feature-action b{background:#ffda45;color:#062a49;transition:transform .2s ease}.agenda-week-feature:hover .agenda-week-feature-action b{transform:translateX(3px)}
.agenda-week-showcase.single .agenda-week-feature{grid-template-columns:minmax(520px,55%) 1fr;min-height:385px}
.agenda-week-showcase.single .agenda-week-feature-image{min-height:385px}
.agenda-week-showcase.single .agenda-week-feature-copy{padding:44px 42px}
@media(max-width:900px){.agenda-week-editorial-heading{align-items:start}.agenda-week-showcase.single .agenda-week-feature{display:block}.agenda-week-showcase.single .agenda-week-feature-image{height:300px;min-height:0}.agenda-week-showcase.single .agenda-week-feature-copy{padding:28px}.agenda-week-feature-summary{font-size:15px}}
@media(max-width:600px){.agenda-week-editorial-heading{display:block;margin-top:23px}.agenda-week-editorial-heading strong{display:block;margin-top:5px}.agenda-week-showcase.single .agenda-week-feature-image{height:235px}.agenda-week-showcase.single .agenda-week-feature-copy{padding:22px}.agenda-week-feature-copy>strong{font-size:27px}}

/* Navigation intuitive par jour. */
.agenda-week-day{width:100%;border:0;border-right:1px solid #e4edf3;cursor:pointer;text-align:left;transition:background .2s ease,box-shadow .2s ease,transform .2s ease}
.agenda-week-day:hover{background:#edf6fa}.agenda-week-day.has-events:hover{background:linear-gradient(145deg,#084066,#12618f)}
.agenda-week-day:focus-visible{position:relative;z-index:1;outline:3px solid #ffda45;outline-offset:-3px}
.agenda-week-day.is-selected{background:#fff4bf;box-shadow:inset 0 -4px 0 #ffce24}
.agenda-week-day.is-selected>span,.agenda-week-day.is-selected>strong{color:var(--navy)}.agenda-week-day.is-selected>small{color:#a42034;font-weight:800}
.agenda-week-day.has-events.is-selected{background:linear-gradient(145deg,#063353,#0c507b);box-shadow:inset 0 -5px 0 #ffda45}.agenda-week-day.has-events.is-selected>span,.agenda-week-day.has-events.is-selected>strong{color:white}.agenda-week-day.has-events.is-selected>small{color:#ffda45}
.agenda-week-editorial-heading>div{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}
.agenda-week-editorial-heading>div strong{color:#61788c;font:700 12px "Manrope",sans-serif}
.agenda-week-editorial-heading>small{color:#71869a;font-size:11px}
.agenda-week-editorial-heading>button{padding:9px 13px;border:1px solid #bfd0dc;border-radius:999px;background:white;color:var(--navy);cursor:pointer;font:800 11px "Manrope",sans-serif;transition:background .2s ease,border-color .2s ease}
.agenda-week-editorial-heading>button:hover{border-color:#7ca3bb;background:#edf6fa}
@media(max-width:600px){.agenda-week-editorial-heading>div{display:block}.agenda-week-editorial-heading>button{margin-top:11px}}

/* Navigation et densité adaptées à un agenda riche. */
.agenda-date-jump{display:flex;align-items:center;gap:7px;padding:0 9px 0 11px;border:1px solid #cbd9e4;border-radius:9px;background:white;color:#6b8094;font:700 10px "Manrope",sans-serif;white-space:nowrap}
.agenda-date-jump input{width:20px;min-width:20px;height:36px;padding:0;border:0;background:transparent;color:transparent;cursor:pointer}
.agenda-date-jump input::-webkit-calendar-picker-indicator{width:18px;height:18px;margin:0;cursor:pointer;opacity:.72}
.agenda-more-events{grid-column:1/-1;justify-self:center;padding:13px 20px;border:1px solid #a9c2d2;border-radius:999px;background:white;color:var(--navy);cursor:pointer;font:800 12px "Manrope",sans-serif;box-shadow:0 10px 28px rgba(7,31,56,.08);transition:transform .2s ease,box-shadow .2s ease}
.agenda-more-events:hover{transform:translateY(-2px);box-shadow:0 15px 34px rgba(7,31,56,.13)}
.agenda-list>.agenda-more-events{align-self:center;margin-top:9px}
@media(max-width:1100px){.agenda-week-nav{flex-wrap:wrap}.agenda-date-jump{order:3}.agenda-week-nav strong{order:4;width:100%}.agenda-week-days{scrollbar-width:none}.agenda-week-days::-webkit-scrollbar{display:none}}
@media(max-width:600px){.agenda-date-jump span{display:none}.agenda-date-jump{padding:0 8px}.agenda-week-nav strong{order:4;width:100%;padding-top:5px}}

.platform-maintenance{min-height:calc(100vh - 82px);display:grid;place-items:center;padding:40px;background:radial-gradient(circle at 20% 20%,#dff5ff,transparent 38%),linear-gradient(145deg,#edf6fa,#f8fbfd);text-align:center}.platform-maintenance[hidden]{display:none}.platform-maintenance>div{max-width:680px;border:1px solid #cbdde8;border-radius:28px;padding:55px;background:rgba(255,255,255,.9);box-shadow:0 28px 80px rgba(4,37,63,.15)}.platform-maintenance span{color:#ec3045;font:800 12px "Manrope",sans-serif;letter-spacing:.18em;text-transform:uppercase}.platform-maintenance h1{margin:14px 0 10px;color:var(--navy);font-size:clamp(38px,6vw,72px)}.platform-maintenance p{margin:0;color:#587086;font-size:18px;line-height:1.6}

/* L’Agenda possède son propre en-tête d’application : aucun double bandeau. */
@media(min-width:721px){.topbar{height:96px}.brand-logo{width:120px;height:78px}.brand-logo img{width:108px;height:66px}.brand-copy strong{font:900 30px/1 "Inter","DM Sans",sans-serif;letter-spacing:-.025em}.brand-copy small{font:700 12px/1.25 "Inter","DM Sans",sans-serif}}
.agenda-mode .topbar{display:none}
.agenda-mode .public-agenda{min-height:100vh;padding-top:32px}
.agenda-app-header{width:calc(100% + 2 * clamp(24px,7vw,120px));min-height:96px;margin:-32px calc(-1 * clamp(24px,7vw,120px)) 54px;padding:9px clamp(20px,4vw,72px);display:flex;align-items:center;justify-content:space-between;gap:24px;background:#102f4f;color:white;border-bottom:1px solid #0b1f36;box-shadow:0 10px 30px rgba(7,31,56,.12)}
.agenda-app-brand{display:flex;align-items:center;gap:14px;min-width:0}.agenda-app-logo{width:120px;height:78px;flex:0 0 120px;border-radius:16px;background:white;display:grid;place-items:center;box-shadow:0 8px 22px rgba(0,0,0,.16)}.agenda-app-logo img{width:108px;height:66px;object-fit:contain}.agenda-app-copy{display:flex;flex-direction:column;min-width:0}.agenda-app-copy strong{font:900 30px/1 "Inter","DM Sans",sans-serif;letter-spacing:-.025em}.agenda-app-copy small{max-width:620px;margin-top:6px;color:var(--yellow);font:700 12px/1.25 "Inter","DM Sans",sans-serif}
.agenda-actions{display:flex;align-items:center;gap:9px;flex:0 0 auto}
.agenda-actions .vm-effects__toggle{border-color:rgba(255,255,255,.35);background:rgba(255,255,255,.07);color:white;box-shadow:none}
.agenda-actions .agenda-back,.agenda-report{display:inline-flex;align-items:center;gap:8px;min-height:40px;margin:0;padding:0 15px;border-radius:12px;font-size:12px;font-weight:800;transition:transform .2s ease,border-color .2s ease,background .2s ease}
.agenda-report{border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.07);color:white;text-transform:uppercase}.agenda-report span{color:#ff6374;font-size:16px}.agenda-report:hover{background:rgba(255,255,255,.15)}
@media(max-width:900px){.agenda-app-header{align-items:flex-start;flex-direction:column;padding-top:12px;padding-bottom:12px}.agenda-actions{align-self:stretch;flex-wrap:wrap}}
@media(max-width:600px){.agenda-mode .public-agenda{padding-top:18px}.agenda-app-header{width:calc(100% + 32px);margin:-18px -16px 34px;padding:10px 12px}.agenda-app-logo{width:68px;height:58px;flex-basis:68px;border-radius:14px}.agenda-app-logo img{width:58px;height:48px}.agenda-app-copy strong{font-size:20px}.agenda-app-copy small{font-size:8px;line-height:1.18}.agenda-actions{gap:7px}.agenda-actions .agenda-back,.agenda-report{padding:0 11px;font-size:10px}}

/* Les mêmes proportions sont conservées sur tablette et téléphone. */
@media(min-width:640px) and (max-width:767px){.topbar{min-height:96px}.brand-logo,.agenda-app-logo{width:92px;height:70px;flex-basis:92px}.brand-logo img,.agenda-app-logo img{width:80px;height:58px}.brand-copy strong,.agenda-app-copy strong{font-size:24px}.brand-copy small,.agenda-app-copy small{font-size:12px}}
@media(max-width:639px){.topbar{min-height:86px}.brand-logo,.agenda-app-logo{width:80px;height:64px;flex-basis:80px}.brand-logo img,.agenda-app-logo img{width:68px;height:52px}.brand-copy strong,.agenda-app-copy strong{font-size:24px}.brand-copy small,.agenda-app-copy small{display:block;font-size:10px}}

/* Formulaires autonomes VisitMarina. */
.report-link,.agenda-report{cursor:pointer}.report-link{color:white}.agenda-publish{border-color:rgba(255,218,69,.55);background:rgba(255,218,69,.11);text-transform:none}.agenda-publish span{color:var(--yellow)}.submission-dialog{width:min(760px,calc(100% - 28px));max-width:none;max-height:calc(100dvh - 28px);padding:0;border:1px solid #c8d9e5;border-radius:22px;overflow:auto;background:#f7fafc;color:var(--ink)}.submission-close{position:sticky;z-index:3;float:right;right:15px;top:14px;width:38px;height:38px;border:0;border-radius:50%;background:#e6eef4;color:var(--navy);cursor:pointer;font-size:25px}.submission-heading{display:flex;gap:16px;align-items:flex-start;padding:30px 72px 23px 30px;background:linear-gradient(135deg,#0d3558,#174f78);color:white}.submission-heading>span{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.35);border-radius:12px;color:var(--yellow);font-size:23px}.submission-heading p{margin:0;color:#d6e5ef;font-size:12px;line-height:1.55}.submission-heading p:first-child{color:var(--yellow);font:800 9px "Manrope";letter-spacing:1.5px}.submission-heading h2{margin:5px 0 7px;color:white;font:800 27px "Manrope"}.submission-dialog form{padding:25px 30px 30px}.submission-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}.submission-fields label{display:grid;gap:6px;color:#36526d;font-size:11px;font-weight:800}.submission-fields label>span{color:#a52439;font-size:8px;text-transform:uppercase}.submission-fields input,.submission-fields select,.submission-fields textarea{width:100%;border:1px solid #c5d4e0;border-radius:10px;padding:11px;background:white;color:var(--ink);font:500 13px "DM Sans"}.submission-fields textarea{resize:vertical;line-height:1.5}.submission-message{grid-column:1/-1}.submission-consent{display:flex;align-items:flex-start;gap:9px;margin-top:17px;color:#60758a;font-size:10px;line-height:1.45}.submission-consent input{margin-top:2px}.submission-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}.submission-actions button{border:1px solid #bfd0dd;border-radius:11px;padding:11px 16px;background:white;color:var(--navy);cursor:pointer;font-weight:800}.submission-actions .submission-submit{border-color:var(--navy);background:var(--navy);color:white}.submission-actions .submission-submit:disabled{opacity:.55;cursor:wait}.submission-status{min-height:0;margin-top:13px;border-radius:9px;color:#536a80;font-size:11px}.submission-status:not(:empty){border:1px solid #c7d8e4;padding:10px;background:#edf5f9}.submission-status.success{border-color:#a8d9be;background:#edf9f2;color:#17643e}.submission-status.error{border-color:#ebb0ba;background:#fff1f3;color:#982439}.submission-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.submission-fields [hidden]{display:none!important}
@media(max-width:620px){.submission-heading{padding:24px 58px 20px 20px}.submission-heading h2{font-size:22px}.submission-dialog form{padding:20px}.submission-fields{grid-template-columns:1fr}.submission-message{grid-column:auto}.submission-actions{flex-direction:column-reverse}.submission-actions button{width:100%}}

/* Le libellé éditorial reste libre; seule la flèche occupe un cercle. */
.hero-cta-label{min-width:0;line-height:1.35;overflow-wrap:anywhere}
.hero-cta .hero-cta-icon{flex:0 0 34px}
.hero-cta{max-width:100%}
.eyebrow b{font:inherit;line-height:1.5}
.hero h1 span,.hero h1 em{max-width:100%;white-space:normal;overflow-wrap:anywhere}
.brand{min-width:0}.brand-copy{min-width:0}.brand-copy small{overflow-wrap:anywhere}

/* L’attente et la maintenance ne révèlent aucun autre élément du portail. */
body:not([data-platform-state="available"]) > :not(.platform-maintenance):not(script):not(style){display:none!important}
body[data-platform-state="maintenance"] .platform-maintenance{min-height:100vh;min-height:100dvh;padding:clamp(20px,5vw,60px)}
body[data-platform-state="maintenance"] .platform-maintenance>div{width:100%;padding:clamp(28px,5vw,55px)}

/* Préserver les espaces insécables de la ponctuation française. */
.hero h1 span,.hero h1 em{overflow-wrap:normal;word-break:normal}

/* Cadre commun : un seul lecteur, une seule identité, applications conservées en mémoire. */
.vm-shell[hidden],.vm-shell-frame[hidden],.vm-shell-back[hidden],.vm-shell-title[hidden],.vm-shell-information[hidden]{display:none!important}
.vm-shell{flex:1;min-height:0;position:relative}.vm-shell-frame{display:block;width:100%;height:100%;border:0;background:#f8fafc}.vm-shell-message{margin:0;padding:40px;text-align:center}.vm-shell-title{display:block;color:#b2cedd;font-size:12px;margin-top:3px}.vm-shell-back{display:inline-flex!important;align-items:center;min-height:44px;white-space:nowrap}.vm-shell-information{font-size:11px;line-height:1.6;margin-top:8px}.vm-shell-information summary{cursor:pointer;min-height:32px}.vm-shell-information p{margin:4px 0}.vm-shell-active{height:100dvh;display:flex;flex-direction:column;overflow:hidden}.vm-shell-active > main{display:none!important}.vm-shell-active > .topbar,.vm-shell-active > footer{flex-shrink:0}.vm-shell-active > footer{padding:12px 24px;max-height:30dvh;overflow:auto}.vm-shell-active .footer-bottom{margin-top:8px;padding-top:6px}.vm-shell-active .footer-brand strong{font-size:21px}.vm-shell-active .footer-brand p{font-size:11px}.vm-shell-active .topbar nav > a:not(.vm-shell-back){display:none}
.topbar,body>footer{background:#131d39}.brand-copy strong{font:800 26px/1.1 system-ui,sans-serif}.brand-copy small{font:700 11px/1.4 system-ui,sans-serif}.brand-logo{width:100px;height:68px}.brand-logo img{width:88px;height:56px}.topbar{min-height:88px;height:auto;padding-top:8px;padding-bottom:8px}
@media(max-width:700px){.topbar{min-height:74px;padding:8px 12px;gap:8px}.brand-logo{width:52px;height:48px}.brand-logo img{width:44px;height:40px}.brand{gap:8px}.brand-copy strong{font-size:18px}.brand-copy small{display:none}.topbar nav{gap:5px}.report-link{min-height:44px;min-width:44px;justify-content:center;padding:0 10px}.vm-shell-back{font-size:11px}.vm-shell-active > footer{padding:8px 12px}.vm-shell-active .footer-main{display:flex;gap:4px}.vm-shell-active .footer-brand{display:none}.vm-shell-active .footer-links{margin-top:0;gap:5px}.vm-shell-active .footer-links button,.vm-shell-active .footer-links>a{min-height:44px;font-size:10px;padding:0 8px}.vm-shell-active .footer-bottom{border:0;margin:0;padding:0}.vm-shell-active .vm-shell-information{margin-top:0}.vm-shell-active .vm-shell-information summary{min-height:36px}.vm-shell-title{font-size:10px}}

.brand-logo{flex:0 0 100px}
@media(max-width:700px){.brand-logo{width:44px;height:44px;flex:0 0 44px}.brand-logo img{width:38px;height:38px}.brand-copy strong{font-size:17px}.vm-shell-back{min-width:44px;font-size:0!important;justify-content:center}.vm-shell-back:before{content:"←";font-size:20px}.brand{gap:7px}.topbar nav>.vm-effects{font-size:12px}}
.agenda-location-status{grid-column:1/-1;font-size:13px;color:#40566b}.agenda-location-status p{margin:0 0 6px}.agenda-filters input,.agenda-filters select,.agenda-filters button{min-height:44px}@media(max-width:600px){.agenda-filters input,.agenda-filters select{font-size:16px}}
.agenda-filters{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.agenda-nearby{grid-column:1/-1;margin:0;padding:18px 20px;border:1px solid #c9dce7;border-radius:16px;background:#f2f8fb;min-width:0}.agenda-nearby legend{padding:0 8px;color:#123b57;font-weight:800;font-size:15px}.agenda-nearby-fields{display:grid;grid-template-columns:minmax(0,2fr) minmax(150px,1fr);gap:18px;max-width:740px}.agenda-nearby .agenda-location-status{margin:14px 0 0;line-height:1.6;font-size:13px}.agenda-filter-bottom{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:16px}.agenda-filter-bottom small{color:#627b8e;font-size:11px}.agenda-filter-bottom button{padding:10px 18px;white-space:nowrap}@media(max-width:900px){.agenda-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.agenda-filters>label:first-child{grid-column:auto}}@media(max-width:600px){.agenda-filters{grid-template-columns:minmax(0,1fr);padding:18px;gap:16px}.agenda-nearby{padding:14px}.agenda-nearby-fields{grid-template-columns:minmax(0,1fr);gap:14px}.agenda-filter-bottom{align-items:stretch;flex-direction:column;gap:12px}.agenda-filter-bottom button{width:100%}}
.agenda-distance-help{margin-top:6px;font-size:12px;color:#567083}.agenda-distance-help summary{display:list-item;cursor:pointer;padding:12px 0;min-height:44px}.agenda-distance-help p{margin:0 0 4px;max-width:900px;line-height:1.65}


.vm-mobile-menu-toggle, .vm-footer-menu > summary { display:none; }
@media (max-width:900px), (max-height:500px) {
  .topbar, .vm-shell-active > .topbar { min-height:60px; height:60px; padding:8px 12px; gap:8px; flex-wrap:nowrap; position:relative; z-index:1000; }
  .topbar .brand { min-width:0; margin-right:auto; gap:8px; }
  .topbar .brand-logo { width:42px; height:42px; flex:0 0 42px; border-radius:10px; }
  .topbar .brand-logo img { width:36px; height:36px; object-fit:contain; }
  .topbar .brand-copy { min-width:0; overflow:hidden; }
  .topbar .brand-copy strong { font-size:17px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .topbar .brand-copy small { display:none; }
  .vm-shell-title { font-size:11px; }
  .vm-shell-back { min-width:44px; min-height:44px; display:grid; place-items:center; border:1px solid #738095; border-radius:10px; font-size:0; }
  .vm-shell-back::before { content:'←'; font-size:23px; }
  .vm-mobile-menu-toggle { display:block; min-height:44px; padding:0 14px; border:1px solid #738095; border-radius:10px; background:#29384f; color:white; font-family:inherit; font-size:14px; font-weight:700; cursor:pointer; }
  .topbar nav { display:none; }
  .topbar nav.vm-menu-open { display:flex; position:absolute; top:60px; right:12px; left:12px; padding:12px; flex-direction:column; align-items:stretch; gap:8px; max-height:calc(100dvh - 80px); overflow:auto; background:#14263e; border:1px solid #738095; border-radius:12px; box-shadow:0 15px 40px #071f3866; }
  .topbar nav > a, .topbar nav > button, .topbar nav .vm-effects__toggle { display:flex; align-items:center; justify-content:center; min-height:44px; width:100%; font-size:14px; }
  .vm-shell-active .topbar nav.vm-menu-open > a { display:flex; }
  .topbar nav .report-link span { display:inline; }
  .topbar nav .vm-effects__panel { top:124px; }
  body > footer, .vm-shell-active > footer { padding:4px 12px; }
  .vm-footer-menu > summary { display:flex; align-items:center; justify-content:center; min-height:44px; font-size:13px; font-weight:700; cursor:pointer; list-style:none; gap:8px; }
  .vm-footer-menu > summary::after { content:'⌄'; }
  .vm-footer-menu[open] > summary::after { content:'⌃'; }
  .vm-footer-menu > summary::-webkit-details-marker { display:none; }
  .vm-footer-menu .footer-main { display:block; }
  .vm-footer-menu .footer-brand { display:none; }
  .vm-footer-menu .footer-links { display:grid; grid-template-columns:1fr 1fr; gap:8px; padding-bottom:8px; }
  .vm-footer-menu .footer-links button, .vm-footer-menu .footer-links a { min-height:44px; font-size:12px; display:grid; place-items:center; text-align:center; }
  .vm-footer-menu .footer-bottom { padding:8px 0; font-size:11px; }
  dialog, #info-dialog, .submission-dialog, .activity-dialog { width:100%; max-width:100%; max-height:100dvh; margin:auto; border-radius:0; }
  #info-dialog { height:100dvh; }
  .dialog-header, .dialog-tabs, .dialog-footer { flex-shrink:0; }
  .dialog-content { min-height:0; }
  .dialog-close, .submission-close, .activity-dialog-close { min-width:44px; min-height:44px; }
  .dialog-tabs { flex-wrap:nowrap; overflow-x:auto; padding:8px; }
  .dialog-tabs button { min-height:44px; flex:0 0 auto; }
  .submission-heading { padding:20px 58px 16px 16px; gap:10px; }
  .submission-heading h2 { font-size:22px; }
  .submission-heading > span { display:none; }
  .submission-dialog form { padding:16px; }
  .submission-fields { grid-template-columns:1fr; }
  .submission-fields label { font-size:13px; }
  .submission-fields input, .submission-fields select, .submission-fields textarea { min-height:48px; font-size:16px; }
  .submission-consent { min-height:44px; font-size:12px; align-items:center; }
  .submission-consent input { width:24px; height:24px; flex-shrink:0; }
  .submission-actions { flex-direction:row; }
  .submission-actions button { min-height:48px; flex:1; padding:10px; font-size:13px; }
  .agenda-app-header { flex-direction:row; flex-wrap:wrap; gap:8px; min-height:60px; margin-bottom:20px; }
  .agenda-app-logo { width:42px; height:42px; flex-basis:42px; border-radius:10px; }
  .agenda-app-logo img { width:36px; height:36px; }
  .agenda-app-copy strong { font-size:18px; }
  .agenda-app-copy small { display:none; }
  .agenda-actions { gap:8px; flex-wrap:wrap; }
  .agenda-actions { flex:0 1 auto; min-width:0; max-width:100%; }
  .agenda-actions .agenda-back { font-size:0; min-width:44px; width:44px; padding:0; justify-content:center; }
  .agenda-actions .agenda-back::before { content:'←'; font-size:22px; }
  .agenda-actions .agenda-back, .agenda-report { min-height:44px; }
  .agenda-report { font-size:11px; padding:0 8px; }
  .agenda-heading { gap:12px; margin-bottom:16px; }
  .agenda-heading h2 { font-size:30px; letter-spacing:-1px; }
  .agenda-heading p { font-size:14px; }
  .agenda-filters { padding:14px; gap:12px; }
  .agenda-filters input, .agenda-filters select { font-size:16px; min-height:48px; }
}
@media (max-width:600px) {
  .agenda-filters { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .agenda-filters > label:first-child, .agenda-nearby, .agenda-filters > button { grid-column:1/-1; }
  .agenda-filters > label:nth-child(2) { grid-column:1/-1; }
  .agenda-nearby-fields { grid-template-columns:minmax(0,1fr); }
  .agenda-count { margin-top:14px; }
}

/* Keep application height stable when opening the legal/contact information. */
.vm-shell-active > footer { position:relative; padding:0 12px; max-height:none; overflow:visible; }
.vm-shell-active .vm-footer-menu > summary { display:flex; align-items:center; justify-content:center; min-height:44px; font-size:13px; cursor:pointer; list-style:none; gap:8px; }
.vm-shell-active .vm-footer-menu > summary::after { content:'⌄'; }
.vm-shell-active .vm-footer-menu[open] > summary::after { content:'⌃'; }
.vm-shell-active .vm-footer-menu > summary::-webkit-details-marker { display:none; }
.vm-shell-active .vm-footer-content { position:absolute; bottom:100%; left:0; right:0; max-height:min(65dvh,420px); overflow:auto; padding:16px; background:#131d39; border-top:1px solid #738095; box-shadow:0 -8px 24px #071f3833; }
.vm-shell-active .vm-footer-content .footer-brand { display:none; }
.vm-shell-active .vm-footer-content .footer-main { justify-content:center; }
.vm-shell-active .vm-footer-content .footer-links { flex-wrap:wrap; }
.vm-shell-active .vm-footer-content .footer-links button,.vm-shell-active .vm-footer-content .footer-links a { min-height:44px; }

/* Compact, collapsible legal footer on desktop, mobile and embedded applications. */
body>footer,.vm-shell-active>footer{padding:4px clamp(12px,3vw,36px)!important}
.vm-footer-menu{max-width:1240px;margin:auto}
.vm-footer-menu>summary,.vm-shell-active .vm-footer-menu>summary{display:flex;justify-content:center;align-items:center;gap:8px;min-height:32px;font-size:11px;font-weight:600;cursor:pointer;list-style:none}
.vm-footer-menu>summary::-webkit-details-marker{display:none}
.vm-footer-menu>summary:after{content:'⌄'}
.vm-footer-menu[open]>summary:after{content:'⌃'}
.vm-footer-menu .footer-brand{display:none}
.vm-footer-menu .footer-main{display:flex;justify-content:center;gap:8px}
.vm-footer-menu .footer-links{display:flex;justify-content:center;flex-wrap:wrap;gap:5px;margin:0;padding:0}
.vm-footer-menu .footer-links button,.vm-footer-menu .footer-links a,.vm-shell-active .vm-footer-content .footer-links button,.vm-shell-active .vm-footer-content .footer-links a{display:inline-flex;align-items:center;justify-content:center;min-height:28px;font-size:10px;padding:3px 8px;border-radius:6px}
.vm-footer-menu .footer-bottom,.vm-shell-active .vm-footer-menu .footer-bottom{margin-top:4px;padding-top:4px;font-size:9px}
.vm-footer-menu .vm-shell-information{margin-top:3px;font-size:10px}
.vm-footer-menu .vm-shell-information summary{min-height:24px}
@media(max-width:700px){.vm-footer-menu>summary,.vm-shell-active .vm-footer-menu>summary{min-height:40px}.vm-footer-menu .footer-links button,.vm-footer-menu .footer-links a,.vm-shell-active .vm-footer-content .footer-links button,.vm-shell-active .vm-footer-content .footer-links a{min-height:36px}}
