
:root{--ink:#26221f;--brand:#c1121c;--brand-2:#8f0e15;--gold:#f0b41c;
--paper:#faf6f1;--card:#ffffff;--line:#e8ded4;--muted:#75655c}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Segoe UI',system-ui,-apple-system,sans-serif;background:var(--paper);
color:var(--ink);line-height:1.65}
a{color:var(--brand);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:960px;margin:0 auto;padding:0 20px}
header.site{background:linear-gradient(135deg,var(--brand-2),var(--brand));color:#fff;
padding:26px 0 22px}
header.site .wrap{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.crest{width:54px;height:54px;border-radius:50%;background:#fff;display:flex;
align-items:center;justify-content:center;font-size:28px;flex-shrink:0}
img.crest{object-fit:contain;padding:2px}
header.site h1{font-size:1.35rem;font-weight:700;letter-spacing:.2px}
header.site .sub{font-size:.85rem;opacity:.85}
header.site a{color:#fff}
nav.main{background:var(--brand-2);padding:0}
nav.main .wrap{display:flex;gap:4px;flex-wrap:wrap}
nav.main a{color:#eaf3ee;padding:11px 16px;display:block;font-size:.95rem;font-weight:600}
nav.main a:hover,nav.main a.on{background:rgba(255,255,255,.14);text-decoration:none}
main{padding:36px 0 60px}
.crumbs{font-size:.85rem;color:var(--muted);margin-bottom:22px}
.crumbs a{color:var(--muted)}
h1.page{font-size:1.9rem;color:var(--brand-2);margin-bottom:6px}
.lead{color:var(--muted);margin-bottom:28px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin:26px 0}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:22px;
display:block;transition:box-shadow .15s}
.card:hover{box-shadow:0 4px 18px rgba(0,0,0,.08);text-decoration:none}
.card .icon{font-size:1.9rem}
.card h2,.card h3{color:var(--brand-2);margin:8px 0 4px;font-size:1.15rem}
.card p{color:var(--muted);font-size:.9rem}
.month{margin:30px 0}
.month h2{color:var(--brand-2);font-size:1.2rem;border-bottom:2px solid var(--gold);
display:inline-block;padding-bottom:3px;margin-bottom:12px}
ul.items{list-style:none}
ul.items li{background:var(--card);border:1px solid var(--line);border-radius:10px;
margin:8px 0;transition:box-shadow .15s}
ul.items li:hover{box-shadow:0 3px 12px rgba(0,0,0,.07)}
ul.items a{display:flex;justify-content:space-between;gap:14px;padding:13px 18px;
align-items:baseline}
ul.items a:hover{text-decoration:none}
ul.items .t{font-weight:600}
ul.items .d{color:var(--muted);font-size:.82rem;white-space:nowrap}
.langbar{display:flex;flex-wrap:wrap;gap:6px;margin:18px 0 26px}
.langbar a{border:1px solid var(--line);background:var(--card);border-radius:999px;
padding:4px 13px;font-size:.83rem}
.langbar a.on{background:var(--brand);border-color:var(--brand);color:#fff}
.langbar a:hover{text-decoration:none;border-color:var(--brand)}
article.letter{background:var(--card);border:1px solid var(--line);border-radius:14px;
padding:34px 38px;max-width:760px}
article.letter h2{color:var(--brand-2);margin:22px 0 8px;font-size:1.25rem}
article.letter h3{color:var(--brand-2);margin:18px 0 6px;font-size:1.05rem}
article.letter p{margin:12px 0}
article.letter ul{margin:12px 0 12px 24px}
article.letter figure{margin:20px 0}
article.letter img{max-width:100%;border-radius:10px}
article.letter figcaption{font-size:.8rem;color:var(--muted);margin-top:6px}
.datestamp{color:var(--muted);font-size:.88rem;margin-bottom:4px}
footer.site{background:var(--brand-2);color:#cfe0d6;padding:26px 0;font-size:.85rem}
footer.site a{color:#fff}
.search-box{width:100%;max-width:480px;padding:12px 16px;font-size:1rem;
border:1px solid var(--line);border-radius:10px;margin-bottom:20px}
[dir=rtl] article.letter{text-align:right}
.calwrap{position:relative;width:100%;aspect-ratio:4/3;margin:10px 0}
.calwrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0;
border-radius:12px;background:#fff}
.cal-mobile{display:none}
@media(max-width:600px){
article.letter{padding:24px 20px}
header.site h1{font-size:1.05rem}
header.site .sub{font-size:.75rem}
nav.main a{padding:9px 10px;font-size:.83rem}
h1.page{font-size:1.5rem}
.cal-desktop{display:none}
.cal-mobile{display:block;aspect-ratio:3/4}
}
