/* About page (/about). Colours come from site.css variables. */
.ab{max-width:1120px;margin:28px auto 56px;padding:0 24px;display:grid;gap:24px}
@media(max-width:700px){.ab{padding:0 16px;margin-top:18px;gap:18px}}
.ab a{color:var(--coral);text-underline-offset:3px}
.ab a:hover{color:var(--coral-hover)}
.ab h2{font-size:1.25rem;line-height:1.35;margin:0 0 12px}
.ab p{margin:0 0 12px;line-height:1.7}
.ab p:last-child{margin-bottom:0}

.ab-hero{position:relative;overflow:hidden;border-radius:24px;padding:44px 40px 36px;background:var(--tag-bg);border:1px solid var(--border-warm)}
.ab-hero::before{content:"";position:absolute;width:420px;height:420px;right:-140px;top:-200px;border-radius:50%;background:var(--coral);opacity:.12}
.ab-hero::after{content:"";position:absolute;width:180px;height:180px;right:120px;bottom:-110px;border-radius:50%;background:var(--coral);opacity:.07}
.ab-hero>*{position:relative}
.ab-kicker{font-size:.8rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--coral);margin:0 0 10px}
.ab-hero h1{font-size:clamp(1.9rem,4.4vw,3.2rem);line-height:1.3;margin:0 0 14px;max-width:820px}
.ab-hero h1 span{color:var(--coral)}
.ab-lead{font-size:1.08rem;color:var(--espresso-light);max-width:640px}
.ab-font{font-size:.8rem;color:var(--espresso-light)}
.ab-font a{color:var(--espresso-light)}
.ab-stats{list-style:none;margin:26px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.ab-stats li{background:var(--card-bg);border:1px solid var(--border-warm);border-radius:16px;padding:16px 18px;display:grid;gap:2px}
.ab-stats strong{font-size:1.8rem;line-height:1.2;color:var(--espresso)}
.ab-stats span{font-size:.85rem;color:var(--espresso-light)}
@media(max-width:700px){.ab-hero{padding:28px 20px 22px;border-radius:20px}.ab-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.ab-stats strong{font-size:1.45rem}}

.ab-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
@media(max-width:860px){.ab-grid{grid-template-columns:minmax(0,1fr);gap:18px}}
.ab-card{background:var(--card-bg);border:1px solid var(--border-warm);border-radius:20px;padding:28px;box-shadow:0 10px 30px var(--shadow,rgba(43,24,16,.06))}
@media(max-width:700px){.ab-card{padding:20px;border-radius:16px}}

.ab-ticks{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.ab-ticks li{position:relative;padding-left:30px;line-height:1.5}
.ab-ticks li::before{content:"";position:absolute;left:0;top:2px;width:20px;height:20px;border-radius:50%;background:var(--coral);opacity:.15}
.ab-ticks li::after{content:"";position:absolute;left:7px;top:6px;width:5px;height:9px;border:solid var(--coral);border-width:0 2px 2px 0;transform:rotate(45deg)}

.ab-time{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:0}
.ab-time li{position:relative;display:grid;grid-template-columns:72px 1fr;gap:18px;padding:0 0 18px 26px}
.ab-time li::before{content:"";position:absolute;left:5px;top:10px;bottom:-10px;width:2px;background:var(--border-warm)}
.ab-time li:last-child::before{display:none}
.ab-time li::after{content:"";position:absolute;left:0;top:5px;width:12px;height:12px;border-radius:50%;background:var(--card-bg);border:2px solid var(--coral)}
.ab-time li.now::after{background:var(--coral);box-shadow:0 0 0 4px color-mix(in srgb,var(--coral) 20%,transparent)}
.ab-time b{font-size:1.05rem;color:var(--coral)}
.ab-time span{line-height:1.55}
@media(max-width:500px){.ab-time li{grid-template-columns:1fr;gap:2px}}

.ab-help h2{margin-bottom:14px}
.ab-cta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media(max-width:860px){.ab-cta{grid-template-columns:minmax(0,1fr)}}
.ab .ab-cta a{display:grid;gap:6px;align-content:start;text-decoration:none;color:var(--espresso);background:var(--card-bg);border:1px solid var(--border-warm);border-radius:18px;padding:22px;transition:border-color .15s,transform .15s}
.ab .ab-cta a:hover{border-color:var(--coral);transform:translateY(-2px);color:var(--espresso)}
.ab-cta svg{width:26px;height:26px;color:var(--coral);margin-bottom:4px}
.ab-cta span{font-size:.9rem;color:var(--espresso-light);line-height:1.5}

.ab-who{background:var(--espresso);border-color:var(--espresso);color:var(--bg-warm)}
.ab-who h2{color:var(--bg-warm)}
.ab-since{font-size:.85rem;opacity:.75}
.ab .ab-longest{margin:14px 0 0;padding:14px 16px;border-radius:14px;background:var(--tag-bg);font-weight:500}
