/* Lido: the notice board and pool plan of a 1930s municipal baths. Tokens from Lido's design/VISUAL-DIRECTION.md. */
body.lido{--paper:#f5f8f7;--tile:#e4efec;--grout:#c6d8d4;--ink:#14232b;--pool:#1c6d9c;--pool-deep:#124e73;--rope:#d23b2f;--done:#9db6c0;
--line:#c6d8d4;--muted:#4d5f68;--paper-2:#e4efec;--card:#fff;--accent:#1c6d9c;--sign:"Big Shoulders Display",var(--display);
background:var(--paper);color:var(--ink)}
.lido .nav a[aria-current=page]{background:var(--ink);color:var(--paper)}
.lido .pulse,.lido .pulse:after{background:var(--pool);border-color:var(--pool)}.lido .pulse:after{background:none}

.lido-hero{padding:clamp(40px,6vw,84px) 0 clamp(56px,7vw,96px);background:repeating-linear-gradient(0deg,transparent 0 47px,#dce9e6 47px 48px),repeating-linear-gradient(90deg,transparent 0 47px,#dce9e6 47px 48px)}
.lido-hero .wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px);align-items:center}
.sign{background:var(--paper);border:4px solid var(--ink);padding:clamp(22px,3vw,36px)}
.sign-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;border-bottom:3px solid var(--ink);padding-bottom:16px;margin-bottom:22px}
.sign h1{font-family:var(--sign);font-weight:800;font-size:clamp(84px,11vw,150px);line-height:.82;letter-spacing:.01em;margin:0}
.plan{text-align:right;font-family:var(--sign);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:16px;line-height:1.1}
.plan b{display:block;color:var(--rope);font-size:clamp(34px,4vw,48px);letter-spacing:.02em}
.sign p{font-size:clamp(17px,1.6vw,20px);line-height:1.55;margin:0 0 14px;max-width:38ch}
.status-line{display:inline-flex;align-items:center;gap:10px;margin-top:10px;font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--rope)}
.lido-board{margin:0;background:var(--paper);border:4px solid var(--ink);padding:14px;position:relative}
.lido-board img{width:100%;height:auto}
.lido-board .b-done{position:absolute;inset:14px;width:calc(100% - 28px);opacity:0;animation:proto-fill 9s ease-in-out infinite}
.lido-board figcaption{font-family:var(--mono);font-size:12px;color:var(--muted);padding-top:10px}

.lido .section-heading h2,.lido h2{font-family:var(--sign);font-weight:800;text-transform:uppercase;letter-spacing:.01em;font-size:clamp(44px,5.6vw,76px);line-height:.9;margin:0}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2vw,26px);counter-reset:s}
.steps figure{margin:0;border:3px solid var(--ink);background:#fff;padding:8px}
.steps img{width:100%;aspect-ratio:390/720;object-fit:cover;object-position:top}
.steps figcaption{counter-increment:s;display:flex;gap:10px;align-items:baseline;padding:12px 4px 4px;font-weight:600}
.steps figcaption:before{content:counter(s);font-family:var(--sign);font-weight:800;font-size:28px;color:var(--rope);line-height:1}
.steps figcaption span{display:block;font-weight:400;color:var(--muted);font-size:14px;margin-top:2px}

.lido-why{display:grid;grid-template-columns:1fr 1.4fr;gap:clamp(28px,6vw,80px);align-items:start}
.lido-why blockquote{margin:0;font-family:var(--sign);font-weight:700;font-size:clamp(30px,3.4vw,46px);line-height:1.02;text-transform:uppercase;letter-spacing:.01em}
.lido-why blockquote em{font-style:normal;color:var(--pool)}
.lido-why p{font-size:18px;line-height:1.7;margin:0 0 18px;color:#2c3b42}
.facts{display:grid;grid-template-columns:repeat(4,1fr);border:3px solid var(--ink);margin-top:40px}
.facts div{padding:18px 20px;border-right:2px solid var(--ink)}.facts div:last-child{border-right:0}
.facts dt{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--rope);margin-bottom:6px}
.facts dd{margin:0;font-family:var(--sign);font-weight:700;font-size:24px;line-height:1.05;text-transform:uppercase}
.next-list{list-style:none;margin:0;padding:0;border-top:3px solid var(--ink)}
.next-list li{display:grid;grid-template-columns:60px 1fr;gap:12px;padding:18px 0;border-bottom:2px solid var(--grout);font-size:17px}
.next-list li b{font-family:var(--sign);font-weight:800;font-size:26px;color:var(--pool);line-height:1}
.lido-end{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;border:4px solid var(--pool);padding:clamp(22px,3vw,34px);margin-bottom:clamp(64px,8vw,110px)}
.lido-end strong{font-family:var(--sign);font-weight:800;font-size:clamp(34px,4vw,52px);color:var(--pool);text-transform:uppercase;line-height:1}
.lido-end p{margin:6px 0 0;color:var(--muted)}
.lido-end .note-links{display:flex;gap:18px;flex-wrap:wrap}
.lido .inline-link:hover{color:var(--pool)}

@media(max-width:860px){.lido-hero .wrap,.lido-why{grid-template-columns:1fr}.facts{grid-template-columns:1fr 1fr}.facts div:nth-child(2){border-right:0}.facts div:nth-child(-n+2){border-bottom:2px solid var(--ink)}}
@media(max-width:560px){.steps{grid-template-columns:1fr}.steps img{aspect-ratio:390/600}}
@media(prefers-reduced-motion:reduce){.lido-board .b-done{animation:none;opacity:1}}

/* Play button under the status line (8 October 2026). */
.lido .hero-actions{margin-top:18px}
