: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.7; }
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: 400px; 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; }
.verse-box { background: #fff; border-left: 4px solid var(--gold); padding: 1.25rem 1.5rem; border-radius: 0 12px 12px 0; margin: 1rem 0; box-shadow: 0 2px 8px rgba(0,0,0,0.05); }
.verse-ref { font-weight: 700; color: var(--brown); font-size: 0.85rem; display: block; margin-bottom: 0.35rem; }
.verse-text { font-style: italic; color: #4a5568; line-height: 1.8; }
.creed-line { background: linear-gradient(135deg, rgba(212,175,55,0.08), rgba(70,42,8,0.06)); border-radius: 12px; padding: 1.5rem 2rem; margin: 1.5rem 0; border: 1px solid rgba(212,175,55,0.2); }
.creed-text { font-family: 'EB Garamond', serif; font-size: 1.3rem; color: var(--brown); font-weight: 600; line-height: 1.6; }
.prose-block { max-width: 100vw; text-align: justify; line-height: 1.85; }
.image-card { display: grid; grid-template-columns: 1fr 1fr; min-height: 400px; border-radius: 26px; overflow: hidden; background: #fff; box-shadow: 0 4px 20px rgba(0,0,0,0.08); }
.image-card-text { padding: 3rem 2.5rem; display: flex; flex-direction: column; justify-content: center; }
.step-number { font-size: 3rem; font-weight: 700; color: var(--gold); opacity: 0.6; line-height: 1; }
.step-card { position: relative; border-top: 4px solid var(--gold); }
.father-quote { background: linear-gradient(135deg, rgba(70,42,8,0.04), rgba(212,175,55,0.06)); border-radius: 12px; padding: 1.5rem; margin: 1rem 0; border: 1px solid rgba(70,42,8,0.1); }
.father-name { font-weight: 700; color: var(--brown); font-size: 0.85rem; }
@media (max-width: 100vw) { .heading-xl { font-size: 2.8rem; } .image-card { grid-template-columns: 1fr; } }
