:root { --brown: #462a08; --cream: #fff8f2; --gold: #D4AF37; }
        * { box-sizing: border-box; scroll-behavior: smooth; }
        body { background-color: var(--cream); margin: 0; font-family: 'DM Sans', sans-serif; color: #2D3748; line-height: 1.8; }
        h1,h2,h3,h4,.serif { font-family: 'EB Garamond', serif; color: #000; margin: 0; }
        section { padding: 5.6rem 0; }
        .content-container { max-width: 100vw; margin: 0 auto; padding: 0 1.5rem; }
        .uppercase-tag { text-transform: uppercase; letter-spacing: 0.15em; font-weight: 500; font-size: 0.8rem; color: var(--brown); margin-bottom: 1rem; display: block; }
        .heading-xl { font-size: 4.5rem; line-height: 1.05; margin-bottom: 2rem; }
        nav a { transition: color 0.3s ease; text-decoration: none; }
        nav a:hover { color: var(--brown); }
        .info-card { background: #fff; border-radius: 18px; padding: 1.5rem; transition: transform 0.3s ease, box-shadow 0.3s ease; }
        .info-card:hover { transform: translateY(-4px); box-shadow: 0 10px 25px rgba(0,0,0,0.1); }
        .split-hero-card { background: #fff; border-radius: 26px; padding: 4rem 2rem; }
        .cover-section { position: relative; min-height: 450px; display: flex; align-items: center; justify-content: center; background-size: cover; background-position: center; color: white; text-align: center; }
        .cover-overlay { position: absolute; inset: 0; }
        .quote-box { background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%); border-left: 4px solid var(--gold); padding: 1.5rem; border-radius: 8px; font-style: italic; margin: 1.5rem 0; }
        .saint-quote { background: #fef9f3; border-left: 4px solid var(--brown); padding: 1.5rem; border-radius: 8px; margin: 1.5rem 0; }
        .saint-name { color: var(--brown); font-weight: 600; font-size: 0.9rem; text-transform: uppercase; letter-spacing: 0.05em; }
        .prose-block { max-width: 100vw; margin: 0 auto; }
        .prose-block p { margin-bottom: 1.25rem; text-align: justify; }
        .source-pill { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.5rem 1.25rem; border-radius: 9999px; font-size: 0.85rem; font-weight: 600; cursor: pointer; transition: all 0.3s ease; border: 2px solid var(--gold); color: var(--brown); background: transparent; text-decoration: none; }
        .source-pill:hover { background: var(--gold); color: #fff; transform: translateY(-2px); }
        .council-card { background: #fff; border-radius: 16px; overflow: hidden; transition: transform 0.3s ease, box-shadow 0.3s ease; }
        .council-card:hover { transform: translateY(-4px); box-shadow: 0 10px 25px rgba(0,0,0,0.1); }
        .council-header { padding: 1.25rem; font-weight: 700; color: #fff; }
        .council-body { padding: 1.5rem; }
        .father-tag { display: inline-block; padding: 0.25rem 0.75rem; border-radius: 9999px; font-size: 0.75rem; font-weight: 600; margin: 0.15rem; }
        @media (max-width: 100vw) { .heading-xl { font-size: 2.8rem; } }
