:root{--ink:#253a38;--muted:#66736a;--paper:#f6f3eb;--gold:#a78343;--line:#dddcd0;--white:#fffef9;--read:1.2rem}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #bd8c37;outline-offset:5px}.skip{position:absolute;top:-60px;background:white;padding:10px}.skip:focus{top:0;z-index:10}header{max-width:1280px;margin:auto;padding:22px 40px;display:flex;align-items:center;gap:26px;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;font:21px Georgia,serif}.brand img{width:56px;height:56px;object-fit:contain;flex-shrink:0}.brand small{display:block;font:9px Arial;letter-spacing:2px;margin-top:8px}nav{margin-left:auto;display:flex;gap:26px;font-size:13px}nav a{padding:8px 0;border-bottom:2px solid transparent}nav a.active{border-color:var(--gold)}button{cursor:pointer}#size{border:1px solid var(--line);border-radius:50%;background:transparent;width:42px;height:42px;flex-shrink:0}main{max-width:1200px;margin:auto;padding:38px 32px 80px;min-height:70vh}h1,h2,h3{font-family:Georgia,serif;line-height:1.13;font-weight:400}h1{font-size:clamp(40px,5vw,68px);margin:20px 0}h2{font-size:36px;margin:0 0 22px}h3{font-size:25px;margin:14px 0}.eyebrow{font-size:10px;letter-spacing:2px;text-transform:uppercase;font-weight:bold;color:var(--gold)}.hero{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:var(--paper);min-height:490px;border-radius:4px;overflow:hidden}.hero-copy{padding:60px 48px}.hero p{color:#d7ddd5;max-width:380px}.hero-image{width:100%;height:100%;object-fit:cover;min-height:490px}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:13px 22px;background:var(--ink);color:var(--white);border-radius:3px;font-size:13px;border:1px solid var(--ink);font-weight:600}.hero .button{background:#e5d6b5;color:var(--ink);border-color:#e5d6b5;margin-top:14px}.button.outline{color:var(--ink);background:transparent}.section{margin-top:65px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}.section-head h2{margin:8px 0}.text-link{font-size:13px;text-decoration:underline;text-underline-offset:5px}.intro{color:var(--muted);max-width:650px;font-size:18px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.card{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:4px;overflow:hidden;transition:transform .2s}.card:hover{transform:translateY(-3px)}.card img{width:100%;aspect-ratio:16/10;object-fit:cover}.card .copy{padding:24px;flex:1}.card p{font-size:14px;color:var(--muted);margin:10px 0 18px}.card .arrow{font-size:12px;letter-spacing:.5px}.card.vincent img{object-fit:contain;background:#233a38}.band{display:grid;grid-template-columns:1fr 1.4fr;gap:50px;padding:45px;background:#eae8dc;border-left:3px solid var(--gold);margin-top:60px}.band p{margin:0}.band h2{font-size:30px}.search{display:flex;gap:10px;margin:28px 0}.search input{width:100%;max-width:530px;padding:13px 18px;border:1px solid var(--line);border-radius:3px;background:var(--white);color:var(--ink)}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:25px}.filters button{background:transparent;border:1px solid var(--line);border-radius:30px;padding:8px 16px;color:var(--ink);font-size:12px}.filters button.active{background:var(--ink);color:white}.empty{padding:35px;background:var(--white)}.breadcrumbs{font-size:12px;color:var(--muted);margin-bottom:32px}.detail-top{display:grid;grid-template-columns:1.05fr 1fr;gap:50px;align-items:center;margin-bottom:40px}.detail-top img{width:100%;aspect-ratio:16/11;object-fit:cover;border-radius:4px}.detail-top img.portrait{object-fit:contain;background:var(--ink)}.detail-top h1{font-size:clamp(38px,4vw,54px)}.detail-top .intro{font-size:17px}.jump{display:flex;gap:25px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0;font-size:13px;margin-bottom:40px;flex-wrap:wrap}.reader{max-width:760px;margin:auto}.reader .reading{font-family:Georgia,serif;font-size:var(--read);line-height:1.9}.reader h2{margin-top:45px;font-size:32px}.reader h3{font-size:25px}.role{display:block;font:10px Arial,sans-serif;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);margin-bottom:5px}.prayer-part{margin:22px 0}.prayer-part p{margin:0}.callout{background:#eae8dc;padding:30px;margin:32px 0;border-left:3px solid var(--gold)}.callout p{font-size:16px}.actions{display:flex;gap:12px;flex-wrap:wrap}details{border-bottom:1px solid var(--line);padding:18px 0}summary{cursor:pointer;font-family:Georgia,serif;font-size:22px}.source{font-size:12px;color:var(--muted);margin-top:28px}.source a{text-decoration:underline}.video-image{position:relative}.video-image span{position:absolute;bottom:12px;left:12px;background:var(--ink);color:white;border-radius:30px;padding:6px 15px;font-size:12px}.video-image img{display:block;aspect-ratio:16/9}.video-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.label{display:inline-block;font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}footer{border-top:1px solid var(--line);padding:45px 30px;text-align:center}footer .brand{justify-content:center}footer p{font-size:14px}footer>a:not(.brand){font-size:13px;text-decoration:underline}.fine{font-size:11px!important;color:var(--muted)}.large{--read:1.45rem}@media(max-width:800px){header{padding:17px 22px;flex-wrap:wrap;gap:15px}.brand{font-size:18px}.brand img{width:46px;height:46px}header nav{order:3;width:100%;justify-content:space-between;margin:0;gap:12px;font-size:12px}#size{margin-left:auto}main{padding:24px 20px 55px}.hero{grid-template-columns:1fr}.hero-copy{padding:35px 28px}.hero-image{min-height:0;height:250px;object-position:center 40%}.hero h1{font-size:44px}.grid{grid-template-columns:repeat(2,1fr);gap:16px}.card .copy{padding:18px}.card h3{font-size:23px}.detail-top{grid-template-columns:1fr;gap:24px}.detail-top img{max-height:330px}.band{grid-template-columns:1fr;gap:5px;padding:28px}.section{margin-top:45px}.section-head h2{font-size:29px}.video-grid{grid-template-columns:1fr}.jump{gap:17px}h2{font-size:30px}}@media(max-width:480px){.grid{grid-template-columns:1fr}.hero-image{height:220px}.section-head{align-items:start}.section-head .text-link{max-width:90px}.reader{width:100%}.callout{padding:23px}.brand small{font-size:8px;letter-spacing:1px}}

.saint-title-art{background:#e7e2d4;aspect-ratio:16/10;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;text-align:center;border-bottom:1px solid var(--line)}.saint-title-art span{font-size:30px;color:var(--gold);margin-bottom:18px}.saint-title-art strong{font:36px/1.2 Georgia,serif;color:var(--ink);max-width:270px}.detail-top .saint-title-art{aspect-ratio:16/11}
.wall-layout{display:grid;grid-template-columns:340px 1fr;gap:48px;margin-top:40px}.wall-compose{background:#eeece2;padding:28px;align-self:start;border-radius:4px}.wall-compose h2,.wall-layout .section-head h2{font-size:28px}.wall-compose label{display:block;font-size:13px;margin:18px 0 7px}.wall-compose label span{font-weight:normal}.wall-compose input:not([type=checkbox]),.wall-compose select,.wall-compose textarea{width:100%;border:1px solid #cccbbb;border-radius:3px;background:#fffef9;padding:10px;font:16px/1.5 Arial;color:var(--ink)}.wall-compose textarea{resize:vertical}.wall-compose small{font-size:11px;color:var(--muted)}.wall-consent{display:flex!important;gap:10px;align-items:start;line-height:1.5}.wall-consent input{margin-top:3px;width:18px;height:18px;flex-shrink:0}.wall-note{border-top:1px solid var(--line);margin-top:24px;padding-top:24px;font-family:Georgia,serif}.intention{background:var(--white);border:1px solid var(--line);padding:27px;margin-bottom:20px;border-radius:4px}.intention-meta{display:flex;justify-content:space-between;gap:12px}.intention-meta time{font-size:11px;color:var(--muted)}.intention-text{white-space:pre-wrap;overflow-wrap:anywhere;font:var(--read)/1.65 Georgia,serif}.intention-author{font-size:13px;color:var(--muted)}.intention-actions{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.intention-actions>span{font-size:12px;color:var(--muted)}button:disabled{cursor:default;opacity:.7}.wall-remove{border:0;background:none;text-decoration:underline;font-size:11px;color:var(--muted)}dialog{max-width:440px;border:1px solid var(--line);border-radius:5px;background:var(--paper);color:var(--ink);padding:30px}dialog::backdrop{background:#17302b88}[hidden]{display:none!important}#wall-feedback,#wall-status{font-size:14px}header nav{gap:18px}@media(max-width:850px){.wall-layout{grid-template-columns:1fr;gap:30px}.wall-compose{padding:24px}.wall-intro h1{font-size:44px}header nav{gap:8px;font-size:11px}}

.video-image img.saint-video{object-fit:contain;background:var(--ink)}

.prayer-category{margin:30px 0 50px}.prayer-category h2{font-size:30px;margin-bottom:8px}.category-description{color:var(--muted);margin:0 0 22px;font-size:15px}

header nav{flex-wrap:wrap}header nav a{white-space:nowrap}@media(max-width:800px){header nav{justify-content:flex-start;column-gap:18px;row-gap:2px}}

.category-label{display:block;font-size:14px;margin-top:28px;margin-bottom:8px}#prayer-category{width:100%;max-width:530px;padding:13px 18px;border:1px solid var(--line);background:var(--white);color:var(--ink);border-radius:3px}.novena-day{margin:20px 0;padding:16px;border:1px solid var(--line);border-radius:4px}.novena-day summary{font-family:Georgia,serif;font-size:21px;cursor:pointer}.prayer-cue{color:var(--muted)}

.hero-image.rosary-poster{height:auto;min-height:0;aspect-ratio:1;object-fit:contain;align-self:center}
