
:root{--navy:#17365f;--blue:#315f91;--pale:#edf4fb;--ink:#243449;--muted:#64748b;--line:#dce6f0;--white:#fff}
*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--ink);font-family:"Open Sans",Arial,sans-serif;line-height:1.55}
header{padding:24px 16px 18px;text-align:center;background:linear-gradient(180deg,#f5f9fd,#fff);border-bottom:1px solid var(--line)}
.brand{font-size:.78rem;letter-spacing:.19em;color:var(--blue);font-weight:700}h1{font-family:Georgia,"Times New Roman",serif;color:var(--navy);font-size:clamp(1.8rem,5vw,2.7rem);font-weight:500;line-height:1.15;margin:10px 0}
.subtitle{color:var(--muted);margin:0 auto;max-width:620px}main{max-width:900px;margin:0 auto;padding:24px 16px 48px}
h2{font-family:Georgia,"Times New Roman",serif;color:var(--navy);font-weight:500} .card{background:linear-gradient(135deg,#f2f7fc,#e8f1fa);border:1px solid var(--line);border-radius:18px;padding:18px;margin:14px 0;text-align:center}
.kicker{font-size:.75rem;letter-spacing:.13em;text-transform:uppercase;color:var(--blue);font-weight:700}
a{color:var(--navy)}.btn{display:inline-block;background:var(--navy);color:white!important;text-decoration:none;padding:11px 17px;border-radius:999px;font-weight:600;margin:5px 4px}
.btn.secondary{background:#fff;color:var(--navy)!important;border:1px solid #b9cbe0}
nav{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:16px 0 24px}.audio{width:100%;max-width:560px;margin:12px auto;display:block}.small{color:var(--muted);font-size:.92rem}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.daycard{text-align:left;background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px}.daycard h3{margin:4px 0;color:var(--navy)}.pill{display:inline-block;border-radius:999px;background:var(--pale);color:var(--blue);padding:3px 9px;font-size:.78rem}.session{border-top:1px solid var(--line);padding-top:12px;margin-top:12px}textarea{width:100%;min-height:100px;border:1px solid var(--line);border-radius:10px;padding:12px;font:inherit}footer{text-align:center;padding:18px;color:var(--muted);font-size:.85rem;border-top:1px solid var(--line)}
@media(max-width:520px){main{padding:18px 12px 36px}.card{padding:15px}.btn{font-size:.92rem}}
