@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@400;500;600;700&display=swap');
.scene-frame{position:relative;width:100%;height:100%;overflow:hidden;aspect-ratio:4/3;background:#f6eedf}.scene-frame img{position:absolute;width:200%;max-width:none;height:auto;left:0;top:50%;transform:translateY(-50%)}.card-art{height:auto!important;aspect-ratio:4/3}.modal-art{height:auto!important;aspect-ratio:4/3;max-height:none}.color-board{position:relative;min-height:180px}.color-board canvas{display:block;width:100%;height:auto;touch-action:manipulation;cursor:crosshair}.paint-cursor{display:none;position:absolute;left:50%;top:50%;width:22px;height:22px;border:2px solid #173f35;border-radius:50%;box-shadow:0 0 0 2px white;transform:translate(-50%,-50%);pointer-events:none}.color-board:focus-within .paint-cursor{display:block}.print-coloring{display:none}@media print{.color-board canvas,.paint-cursor{display:none!important}.print-coloring{display:block;width:100%;height:auto}.scene-frame{break-inside:avoid}.scene-frame img{display:block}}
:root{--green:#173f35;--olive:#567160;--cream:#f8f5ed;--paper:#fffcf6;--ink:#243a32;--muted:#69756c;--gold:#b28a43;--line:#e4e6da;--peach:#edc3a5;--lavender:#dad8ee}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:15px;line-height:1.65}button,input,select,textarea{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.6}a{color:inherit;text-decoration:none}button{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ba8e45;outline-offset:4px}header{height:100px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:45px;padding:0 max(5vw,20px);background:var(--cream);position:relative;z-index:2}.brand{display:flex;gap:13px;align-items:center;font-family:'Playfair Display',Georgia,serif;font-size:26px;font-weight:600;line-height:1.05}.brand-sub{display:block;font-family:'DM Sans',Arial,sans-serif;font-size:9px;letter-spacing:2.8px;margin-top:8px}.brand-mark{border:1px solid #a8b5a0;border-radius:50% 50% 8px 8px;padding:12px 12px 10px;font-size:28px;color:var(--gold)}nav{display:flex;gap:29px;margin-left:auto;font-size:13px}nav a:hover,footer a:hover{color:var(--gold)}.search-toggle{border:1px solid var(--line);background:transparent;padding:9px 18px;border-radius:30px;font-size:24px;line-height:1}.search-toggle span{font-size:12px;margin-left:6px}main{min-height:65vh}.container{max-width:1240px;padding:0 36px;margin:auto}.eyebrow{font-size:11px;letter-spacing:2.7px;font-weight:700;text-transform:uppercase;color:var(--olive);display:flex;align-items:center;gap:12px}.eyebrow:before{content:'';height:1px;width:30px;background:var(--gold)}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:500;line-height:1.16;margin:0}h1{font-size:clamp(40px,5vw,70px);letter-spacing:-1.8px}h2{font-size:36px;letter-spacing:-.7px}h3{font-size:25px}p{margin:14px 0}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:center;padding-top:56px;padding-bottom:55px}.hero h1{margin-top:22px}.hero h1 em{font-weight:400;color:var(--olive)}.hero p{max-width:450px;color:var(--muted);font-size:16px;margin:24px 0}.hero-note{display:flex;gap:10px;align-items:center;font-size:12px;color:var(--olive)}.hero-note span{background:#e6ebdf;border-radius:50%;padding:2px 7px}.hero-art{position:relative;border-radius:220px 220px 12px 12px;background:#e7e8d8;overflow:hidden;max-width:435px;margin-left:auto;width:100%;aspect-ratio:1.07}.hero-art svg{width:100%;height:100%}.art-label{position:absolute;bottom:24px;left:24px;right:24px;background:#fffaf0e8;border-radius:8px;padding:10px 16px;display:flex;justify-content:space-between;align-items:center;font-size:12px}.art-label strong{display:block}.art-label span{font-size:22px;color:var(--gold)}.section-intro{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:24px}.section-intro p{font-size:13px;color:var(--muted);margin:0}.section-intro .eyebrow{margin-bottom:10px}.section{padding:38px 0 46px}.tracks{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.track{position:relative;background:#e9eddf;border-radius:14px;padding:27px 28px;min-height:300px;border:1px solid #dce2d1;transition:transform .2s,box-shadow .2s;text-align:left;width:100%}.track:hover{transform:translateY(-5px);box-shadow:0 12px 26px #173f3510}.track.jovens{background:#e8e7f1;border-color:#dedcea}.track.adultos{background:#efe9dc;border-color:#e2dccd}.track .track-top{display:flex;justify-content:space-between;align-items:center}.track .age{font-size:10px;letter-spacing:1.8px;color:var(--muted);text-transform:uppercase}.track svg{height:66px;width:85px}.track h3{font-size:31px;margin:13px 0}.track p{font-size:13px;color:var(--muted);max-width:260px;min-height:63px}.track .enter{display:flex;justify-content:space-between;font-size:12px;font-weight:700;margin-top:22px;padding-top:17px;border-top:1px solid #cbd5c7}.arrow{font-size:20px;line-height:1}.feature-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;margin-top:36px}.feature-strip div{display:flex;gap:15px;font-size:12px;align-items:center}.feature-strip span{color:var(--gold);font-size:24px}.feature-strip strong{display:block}.feature-strip small{color:var(--muted)}.wide-banner{border-radius:15px;background:var(--green);color:#fff8e9;display:grid;grid-template-columns:1.2fr 1fr;align-items:center;padding:36px 42px;gap:28px}.wide-banner h2{font-size:31px}.wide-banner p{font-size:13px;color:#c4d1c5;max-width:490px}.wide-banner .eyebrow{color:#d5b773}.wide-banner .button{justify-self:end}.button{display:inline-flex;justify-content:center;align-items:center;gap:12px;border:none;border-radius:7px;padding:12px 20px;background:var(--green);color:var(--paper);font-size:13px;font-weight:600;line-height:1.4}.button.light{background:#f9f5e9;color:var(--green)}.button.outline{border:1px solid #ccd5c7;background:transparent;color:var(--green)}.button.small{padding:8px 13px;font-size:12px}.subnav{display:flex;gap:9px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding:20px 0;margin-bottom:28px}.subnav a,.pill{border:1px solid var(--line);background:var(--paper);border-radius:30px;padding:8px 15px;font-size:12px}.subnav a.active,.pill.active{background:var(--green);border-color:var(--green);color:white}.page-head{padding-top:40px}.page-head h1{font-size:48px;margin:15px 0}.page-head p{max-width:730px;color:var(--muted)}.crumb{font-size:12px;color:var(--olive);display:block;margin-bottom:23px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}.card{background:var(--paper);border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.card-art{height:190px;background:#e7eadb;overflow:hidden}.card-art svg{width:100%;height:100%;display:block}.card-content{padding:23px;flex:1;display:flex;flex-direction:column}.card-content .tag{margin-bottom:11px}.card h3{font-size:24px}.card p{font-size:13px;color:var(--muted)}.card-actions{display:flex;gap:10px;justify-content:space-between;align-items:center;margin-top:auto;padding-top:14px}.tag{font-size:10px;text-transform:uppercase;letter-spacing:1.4px;color:var(--olive);font-weight:700}.save{border:1px solid var(--line);background:transparent;width:34px;height:34px;border-radius:50%;font-size:18px}.save.saved{color:var(--gold);background:#f8edcb}.tools{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:24px 0}.field{padding:12px 15px;border:1px solid #d6dccf;background:var(--paper);border-radius:7px;min-width:0;width:100%;color:var(--ink)}.tools .field{flex:1;min-width:190px}.tools select{max-width:220px}.source-box{background:#edf0e5;padding:18px 22px;border-radius:9px;margin:24px 0;font-size:13px}.source-box a{color:var(--green);text-decoration:underline}.books{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.book{border:1px solid var(--line);border-radius:7px;text-align:left;background:var(--paper);padding:12px 15px;font-size:13px}.book span{display:block;font-size:10px;color:var(--muted)}.section-title{display:flex;align-items:center;gap:15px;font-size:12px;text-transform:uppercase;letter-spacing:2px;color:var(--olive);margin:30px 0 15px}.section-title:after{content:'';height:1px;flex:1;background:var(--line)}.saint-portrait{height:145px;background:#efe4cc;display:flex;align-items:center;justify-content:center;position:relative}.saint-portrait svg{height:138px;width:120px}.saint-portrait .initial{position:absolute;bottom:14px;right:18px;color:#876a34;font-family:Georgia,serif;font-size:24px}.empty{padding:40px;text-align:center;border:1px dashed #bec9b6;border-radius:10px;color:var(--muted);grid-column:1/-1}.curiosity{padding:27px}.curiosity-number{font-family:Georgia,serif;color:#aa884e;font-size:33px;margin-bottom:20px}.curiosity p{font-size:14px}.split{display:grid;grid-template-columns:1.1fr .9fr;gap:35px}.panel{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:28px}.panel label{display:block;font-size:12px;font-weight:600;margin:15px 0 6px}.panel textarea{resize:vertical;min-height:100px}.planner-output{white-space:pre-wrap;font-size:14px}.planner-output h2{white-space:normal}.notice{background:#fff1d8;color:#765722;padding:14px 18px;border-radius:8px;font-size:13px}footer{margin-top:55px;border-top:1px solid var(--line);padding:35px max(5vw,20px);display:flex;flex-wrap:wrap;gap:12px 35px;align-items:center;color:var(--muted)}footer p{font-size:12px;flex:1}footer>div:not(.brand){display:flex;gap:20px;font-size:12px}footer button{border:0;background:none;padding:0;font-size:12px;color:var(--muted)}footer small{width:100%;font-size:10px}.footer-brand{font-size:20px;color:var(--green)}.footer-brand .brand-mark{font-size:18px;padding:8px}dialog{width:min(820px,calc(100% - 30px));max-height:90vh;padding:0;border:1px solid #d6dccf;border-radius:15px;background:var(--paper);color:var(--ink);box-shadow:0 25px 80px #0003}dialog::backdrop{background:#132e27aa;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;padding:15px 25px;border-bottom:1px solid var(--line);font-size:10px;letter-spacing:2px;color:var(--olive);position:sticky;top:0;background:var(--paper);z-index:1}.dialog-head button{border:none;background:transparent;font-size:27px;width:35px;height:35px}.dialog-body,#modal-body{padding:25px}.dialog-body h2,#modal-body h2{font-size:32px}.dialog-body h3,#modal-body h3{font-size:23px;margin-top:24px}#modal-body p{font-size:14px}.modal-art{height:210px;margin:-25px -25px 25px;overflow:hidden;background:#e8ecdf}.modal-art svg{height:100%;width:100%}.activity-note{border-left:3px solid var(--gold);padding:12px 20px;margin:22px 0;background:#f3eedf}.color-board{background:white;border:1px solid var(--line);border-radius:8px;margin:18px 0}.color-board svg{display:block;width:100%;max-height:430px}.paint-region{cursor:pointer}.paint-region:focus-visible{stroke:#c78932;stroke-width:5}.palette{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.swatch{width:33px;height:33px;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #d6dccf}.swatch.selected{box-shadow:0 0 0 3px var(--green)}.quiz-option{display:block;width:100%;border:1px solid var(--line);border-radius:7px;padding:13px 17px;margin:10px 0;text-align:left;background:white}.quiz-option.correct{background:#e2f1e4;border-color:#6c9b71}.quiz-option.wrong{background:#fae5df;border-color:#c58773}.progress{height:5px;background:#e6e9df;border-radius:20px;margin:20px 0}.progress div{height:100%;background:var(--olive);border-radius:20px}.quiz-meta{display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.feedback{padding:15px 18px;border-radius:8px;background:#edf1e6;font-size:13px;margin:18px 0}.memory{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:22px 0}.memory button{height:80px;border:1px solid #c7d1bf;border-radius:8px;background:var(--green);color:var(--cream);font-size:25px}.memory button.open,.memory button.matched{background:#ede5d0;color:var(--green)}.memory button.matched{opacity:.5}.search-result{display:block;width:100%;padding:16px;border:1px solid var(--line);border-radius:7px;background:white;text-align:left;margin:10px 0}.search-result strong{display:block}.search-result small{color:var(--muted)}.skip{position:absolute;top:-100px}.skip:focus{top:5px;left:5px;background:white;z-index:20;padding:10px}#toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--green);color:white;padding:12px 20px;border-radius:9px;box-shadow:0 5px 20px #0002;display:none;z-index:10;font-size:13px}.print-title{display:none}@media(max-width:1000px){header{gap:20px}nav{gap:17px}.hero{gap:25px}.track{padding:22px}.grid{grid-template-columns:repeat(2,1fr)}.books{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){header{height:auto;min-height:82px;flex-wrap:wrap;padding:17px 20px;gap:17px}.brand{font-size:22px}.brand-mark{padding:9px;font-size:22px}nav{order:3;width:100%;overflow-x:auto;white-space:nowrap;gap:23px;padding:7px 0 2px;font-size:12px}.search-toggle{margin-left:auto}.search-toggle span{display:none}.container{padding:0 20px}.hero{grid-template-columns:1fr;padding-top:35px;gap:30px}.hero h1{font-size:48px}.hero-art{width:100%;max-width:350px;margin:auto;aspect-ratio:1.25}.hero p{margin:20px 0}.tracks,.grid{grid-template-columns:1fr}.track{min-height:260px}.track p{max-width:none;min-height:auto}.section-intro{align-items:start;flex-direction:column}.section-intro h2{font-size:31px}.feature-strip{grid-template-columns:1fr;gap:16px}.wide-banner,.split{grid-template-columns:1fr}.wide-banner{padding:28px}.wide-banner .button{justify-self:start}.page-head h1{font-size:39px}.books{grid-template-columns:repeat(2,1fr)}footer{display:block}footer>div:not(.brand){flex-wrap:wrap;margin:20px 0}footer small{display:block}.panel{padding:22px}.section{padding:26px 0 35px}.card-art{height:200px}.memory button{height:65px}.hero-note{font-size:11px}}@media print{header,footer,.subnav,.tools,.button,.dialog-head,.save{display:none!important}body{background:white;color:black}dialog[open]{position:static;max-height:none;width:100%;box-shadow:none;border:0}body:has(dialog[open]) main{display:none}.split{display:block}.planner-input{display:none}.panel{border:0}.paint-region{fill:white!important}.color-board{border:0}.palette{display:none}.print-title{display:block}#toast{display:none!important}}

/* A portrait-led gallery, with larger images and complete artwork in the profile. */
.saint-card{display:flex;flex-direction:column}.saint-card .card-content{flex:1;display:flex;flex-direction:column}.saint-card .card-actions{margin-top:auto;padding-top:18px}.saint-portrait{height:310px;overflow:hidden;background:#e8e0d3}.saint-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 24%;transition:transform .4s}.saint-card:hover .saint-portrait img{transform:scale(1.035)}.portrait-label{position:absolute;left:14px;bottom:14px;max-width:calc(100% - 28px);background:rgba(27,43,33,.87);color:white;border:1px solid rgba(255,255,255,.25);border-radius:30px;padding:6px 11px;font-size:10px;letter-spacing:.04em}.saint-detail-image{margin:0 0 24px;background:#eee6d9;border-radius:14px;overflow:hidden}.saint-detail-image img{display:block;width:100%;height:auto;max-height:540px;object-fit:contain;background:#ddd4c5}.saint-detail-image figcaption{font-size:11px;line-height:1.7;padding:14px 18px;color:#536452}.saint-detail-image a{display:inline-block;margin-left:6px;text-decoration:underline}@media(max-width:700px){.saint-portrait{height:360px}.saint-detail-image img{max-height:470px}}@media print{.saint-detail-image img{max-height:280px}.saint-portrait{height:200px}}

/* Saint catalogue and long-form biographies. */
.saints-results-count{font-size:13px;color:#5c6c5a;margin:18px 0 8px}.saint-pagination{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;padding:24px 0 30px}.saint-page-numbers{display:flex;gap:5px;flex-wrap:wrap;justify-content:center}.saint-page-number{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid #d6d9c9;border-radius:50%;font-size:12px;background:#fffdf6;color:#3c5944;text-decoration:none}.saint-page-number:hover{background:#e8ecdf}.saint-page-number.selected{background:#3c5944;color:white;border-color:#3c5944}.saint-pagination .disabled{opacity:.42;cursor:default}.saint-page-number:focus-visible,.saint-breadcrumb a:focus-visible{outline:3px solid #b18b46;outline-offset:3px}.saint-breadcrumb{display:flex;gap:24px;flex-wrap:wrap;align-items:center;padding:35px 0;color:#697964;font-size:12px}.saint-breadcrumb a{text-decoration:none;color:#3e5f46}.saint-profile-layout{display:grid;grid-template-columns:minmax(240px,340px) minmax(0,1fr);gap:55px;padding:10px 0 70px}.saint-profile-layout .saint-detail-image img{max-height:none}.saint-profile-meta{display:flex;gap:10px;flex-wrap:wrap}.saint-reading{max-width:710px}.saint-reading h1{font-family:'Playfair Display',serif;font-size:43px;line-height:1.2;margin:14px 0}.saint-subtitle{font-family:'Playfair Display',serif;font-style:italic;color:#8b7441;font-size:23px;margin-bottom:25px}.saint-reading p{font-size:15px;line-height:1.9;color:#53634f}.saint-introduction{font-weight:500}.saint-biography-section{padding:14px 0 0}.saint-biography-section h2{font-family:'Playfair Display',serif;font-size:25px;margin:12px 0}.saint-reading .source-box{margin-top:26px}.saint-reading .tools{margin-top:25px}@media(max-width:900px){.saint-profile-layout{gap:28px;grid-template-columns:260px minmax(0,1fr)}.saint-reading h1{font-size:35px}}@media(max-width:700px){.saint-pagination{gap:12px;padding:20px 0}.saint-page-numbers{order:3;width:100%}.saint-page-number{width:34px;height:34px}.saint-profile-layout{grid-template-columns:1fr;gap:25px}.saint-profile-layout aside{max-width:440px;width:100%;margin:auto}.saint-profile-layout .saint-detail-image img{max-height:420px}.saint-reading h1{font-size:34px}.saint-reading p{font-size:15px}.saint-breadcrumb{padding:28px 0 18px}.saint-biography-section h2{font-size:24px}}@media print{.saint-pagination,.saint-breadcrumb{display:none}.saint-profile-layout{display:block;padding:0}.saint-profile-layout aside{max-width:230px;margin-bottom:20px}.saint-profile-layout .saint-detail-image img{max-height:250px}.saint-reading{max-width:none}}

/* Marian stories and prayer guides. */
.devotion-intro{border:1px solid #dcd8c7;border-radius:12px;background:#f3efe4;padding:24px 28px;margin-bottom:28px}.devotion-intro p{font-size:13px;line-height:1.8;max-width:950px;color:#62705c;margin-bottom:0}.devotion-card .card-content{flex:1;display:flex;flex-direction:column}.prayer-card-art{height:220px;background:linear-gradient(145deg,#e9ece0,#f5eedc);display:flex;align-items:center;justify-content:center;color:#8b7848}.prayer-card-art svg{width:220px;height:165px}.prayer-reading{max-width:970px;padding-bottom:65px}.prayer-reading .page-head{padding-bottom:25px}.prayer-reading .saint-biography-section p{color:#566650;line-height:1.9}.prayer-reading .saint-biography-section h2{font-size:27px}.prayer-library{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px}.prayer-library details,.mystery-groups details{border:1px solid #dce0d0;background:#fffdf7;border-radius:12px;overflow:hidden}.prayer-library summary,.mystery-groups summary{padding:20px 23px;cursor:pointer;font-weight:600;color:#3b5846}.prayer-library .prayer-text{padding:0 23px 20px;margin:0;line-height:1.9;font-size:15px}.prayer-source-note{font-size:12px;color:#6b755f}.prayer-source-note a{text-decoration:underline}.mystery-groups{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:25px}.mystery-groups summary small{display:block;font-size:11px;font-weight:400;padding-top:5px;color:#707965}.mystery-groups ol{padding:0 28px 15px 48px}.mystery-groups li{padding:10px 0 15px}.mystery-groups h3{font-size:20px;margin-bottom:10px}.mystery-groups p{font-size:13px;line-height:1.8}.prayer-steps{counter-reset:prayer-step;list-style:none;padding:0;display:flex;flex-direction:column;gap:18px;margin-top:30px}.prayer-steps li{counter-increment:prayer-step;border:1px solid #dce0d0;border-radius:12px;background:#fffdf7;padding:24px 26px 24px 72px;position:relative;break-inside:avoid}.prayer-steps li:before{content:counter(prayer-step);position:absolute;left:23px;top:25px;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#e8edde;color:#3c5d48;font-size:13px;font-weight:700}.prayer-steps h3{font-size:22px;line-height:1.35}.prayer-text{white-space:pre-line;line-height:1.95;font-size:16px}.guided-prayer{padding:32px 35px;border-radius:15px;background:#e9eddf;border:1px solid #cfd7bf}.guided-prayer>p{font-size:13px;color:#657158}.guided-prayer h2{font-size:30px}.guided-prayer h3{font-size:26px;margin:18px 0}.prayer-progress{display:flex;align-items:center;gap:20px;justify-content:space-between;margin:26px 0}.prayer-progress strong{font-size:12px}.prayer-progress progress{appearance:none;width:55%;height:6px;border:none;border-radius:5px;background:#d5dcc9;overflow:hidden}.prayer-progress progress::-webkit-progress-bar{background:#d5dcc9}.prayer-progress progress::-webkit-progress-value{background:#536f4b}.prayer-progress progress::-moz-progress-bar{background:#536f4b}@media(max-width:700px){.prayer-library,.mystery-groups{grid-template-columns:1fr}.prayer-reading{padding-bottom:45px}.guided-prayer{padding:24px}.prayer-steps li{padding:22px 20px 22px 60px}.prayer-steps li:before{left:16px;top:23px}.prayer-steps h3{font-size:20px}.devotion-intro{padding:23px}.prayer-reading .page-head h1{font-size:38px}}@media print{.guided-prayer,.rosary-mysteries .tools{display:none!important}.prayer-library,.mystery-groups{display:block}.prayer-library details,.mystery-groups details{break-inside:avoid;border:0}.prayer-library details>p,.mystery-groups details>ol{display:block!important}.prayer-steps li{border:0}.prayer-card-art{height:130px}}

/* Pascom parish identity and the resource catalogue. */
.site-header{height:auto;display:block;padding:0 5%;background:#fffdf7}.site-masthead{display:flex;align-items:center;gap:36px;padding:23px 0}.site-masthead .brand{flex-shrink:0}.pascom-brand{display:flex;flex-direction:column;align-items:center;gap:7px;width:290px}.pascom-brand img{display:block;width:176px;height:auto;object-fit:contain}.pascom-brand span{font-size:12px;line-height:1.4;letter-spacing:.03em;text-align:center;color:#52614f}.site-masthead .search-toggle{margin-left:auto}.site-header>nav{display:flex;gap:27px;flex-wrap:wrap;border-top:1px solid #e3e6d8;padding:15px 0;font-size:12px}.footer-pascom{margin:24px 0}.footer-pascom img{width:155px}.resource-card{padding:29px 26px;text-decoration:none;transition:transform .2s,border-color .2s}.resource-card:hover{transform:translateY(-3px);border-color:#99ad91}.resource-symbol{width:43px;height:43px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#edf0e3;color:#496747;font-size:23px;margin-bottom:20px}.resource-card h3{font-size:23px;margin:0 0 12px}.resource-card p{font-size:13px;line-height:1.75;color:#64715e;margin:0 0 25px}.resource-enter{margin-top:auto;font-size:11px;color:#536f47;font-weight:700}.miracle-portrait{height:260px;position:relative;overflow:hidden;background:#e8e1d4;display:block}.miracle-portrait img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.miracle-card:hover .miracle-portrait img{transform:scale(1.035)}.miracle-card .card-content{flex:1;display:flex;flex-direction:column}.miracle-intro{border:1px solid #d5dac8;background:#f1f2e7;padding:25px 28px;border-radius:12px;margin-bottom:26px;display:flex;align-items:center;gap:28px}.miracle-intro p{font-size:13px;line-height:1.8;color:#5d6b56;max-width:800px}.miracle-intro .button{flex-shrink:0}.documentation-note{border-left:3px solid #b49a5c;background:#f1ecdc;padding:18px 23px;margin-top:25px;border-radius:0 9px 9px 0}.documentation-note p{font-size:13px;margin-bottom:0}@media(max-width:900px){.site-masthead{gap:15px}.site-header>nav{gap:20px}.miracle-intro{display:block}.miracle-intro .button{margin-top:10px}}@media(max-width:700px){.site-header{padding:0 20px}.site-masthead{flex-wrap:wrap;position:relative;padding:20px 0;gap:20px}.site-masthead .brand{font-size:24px}.site-masthead .search-toggle{position:absolute;right:0;top:25px}.site-masthead .pascom-brand{width:auto;align-items:flex-start}.pascom-brand img{width:145px}.pascom-brand span{font-size:11px;text-align:left;max-width:300px}.site-header>nav{flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;gap:23px;width:100%;padding:14px 0}.resource-card{padding:24px}.resource-card h3{font-size:22px}.miracle-portrait{height:300px}.miracle-intro{padding:22px}.footer-pascom{align-items:flex-start}}
/* Protected catechist workspace and administration. */
.parish-brand{width:440px;max-width:48%;display:flex;align-items:center}.parish-brand img{display:block;width:100%;height:auto}.footer-parish{max-width:420px;width:100%;margin:24px 0}.account-area{padding-bottom:70px}.account-columns{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:28px 0}.account-area .panel{padding:30px;border:1px solid #dce0d0;border-radius:14px;background:#fffdf7}.account-area .panel h2{font-size:29px}.account-area form{display:flex;flex-direction:column;gap:17px;margin-top:24px}.account-area label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:600}.account-area .field{width:100%;max-width:none}.account-area form .button{align-self:flex-start}.account-area form small{font-size:11px;color:#63715b;font-weight:400}.account-area form a{font-size:12px;text-decoration:underline}.account-area .account-consent{display:flex;flex-direction:row;align-items:flex-start;font-weight:400;font-size:12px;line-height:1.7}.account-consent input{margin-top:5px;flex-shrink:0}.account-message:empty{display:none}.account-message{border:1px solid #b8c9ab;background:#eaf0e2;border-radius:10px;padding:18px 23px;color:#355038;overflow-wrap:anywhere;margin:22px 0}.account-message.error{border-color:#d2a998;background:#fff0e8;color:#813c2c}.account-message code{user-select:all;font-size:15px;white-space:normal}.account-recover{margin-top:25px}.account-recover summary{cursor:pointer;font-size:13px;color:#59734b}.account-toolbar{padding:5px 0 20px}.account-plan-output{white-space:pre-wrap;font-family:inherit;line-height:1.9;max-height:660px;overflow:auto;font-size:14px}.account-plan-list{margin-top:20px;display:flex;flex-direction:column;gap:12px}.account-plan-list article{border:1px solid #dce0d0;background:#fffdf7;padding:20px 25px;border-radius:10px;display:flex;align-items:center;justify-content:space-between;gap:20px}.account-plan-list small{display:block;font-size:11px;color:#68765e}.account-plan-list .tools{margin:0}.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:25px 0}.admin-stats div{border:1px solid #d6ddc8;border-radius:12px;padding:22px;background:#edf0e4}.admin-stats strong{font-family:'Playfair Display',serif;font-size:35px;display:block}.admin-stats span{font-size:12px;color:#647259}.admin-user{border:1px solid #dce0d0;background:#fffdf7;padding:25px;border-radius:12px;display:flex;justify-content:space-between;align-items:center;gap:25px;margin:15px 0}.admin-user h3{font-size:24px;margin:13px 0}.admin-user p{font-size:13px;overflow-wrap:anywhere}.admin-user small{font-size:11px;color:#63715b}.admin-user>.tools{max-width:45%;justify-content:flex-end;gap:9px}.account-edit{margin-bottom:25px}.account-area .resource-card .button{margin-top:auto;align-self:flex-start}.account-area .resource-card small{font-size:10px;color:#65755c;margin-bottom:15px;overflow-wrap:anywhere}@media(max-width:900px){.parish-brand{max-width:44%}.admin-user{align-items:flex-start;flex-direction:column}.admin-user>.tools{max-width:none;justify-content:flex-start}}@media(max-width:700px){.parish-brand{max-width:100%;width:100%;padding-right:0}.site-masthead .parish-brand img{max-width:400px}.account-columns{grid-template-columns:1fr;gap:20px}.admin-stats{grid-template-columns:1fr 1fr;gap:12px}.account-area .panel{padding:24px}.account-plan-list article{align-items:flex-start;flex-direction:column}.account-area .section-intro{align-items:flex-start}.account-area .section-intro .field{max-width:100%}.admin-user{padding:23px}.footer-parish{max-width:100%}}@media print{.account-area .account-toolbar,.account-area button,.account-area form,.admin-stats,.admin-user>.tools{display:none!important}.print-account-plan>*{display:none!important}.print-account-plan .account-area{display:block!important}.print-account-plan .account-area>*{display:none!important}.print-account-plan #account-planner{display:block!important}.print-account-plan #account-planner>.section-intro{display:none!important}.print-account-plan #account-planner .account-columns{display:block!important}.print-account-plan #account-planner .panel{border:0!important;padding:0!important}.account-plan-output{max-height:none!important;overflow:visible!important}}
/* Identity: catechesis, parish crest and pastoral communications. */
.brand-emblem{display:block;width:72px;height:72px;object-fit:contain;flex-shrink:0}.brand{gap:11px}.brand-sub{letter-spacing:2.5px}.parish-logos{display:flex;gap:18px;align-items:center;max-width:48%;min-width:0}.parish-crest{width:76px;height:82px;object-fit:contain;flex-shrink:0}.parish-logos .parish-brand{width:310px;max-width:100%;min-width:0}.footer-logos{max-width:470px;margin:20px 0}.footer-logos .parish-crest{width:65px;height:72px}.footer-logos .footer-parish{margin:0}.hero-art{max-width:490px;aspect-ratio:1.03;border-radius:180px 180px 22px 22px;box-shadow:0 18px 55px #173f3521;border:6px solid #fffaf0}.hero-cover{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%}.hero-art .art-label{background:#fffdf3ed;backdrop-filter:blur(8px)}@media(max-width:1000px){.site-masthead{gap:20px}.brand-emblem{width:58px;height:58px}.site-masthead .brand{font-size:23px}.parish-logos{gap:12px;max-width:45%}.parish-crest{width:58px;height:64px}.site-masthead .search-toggle span{display:none}}@media(max-width:700px){.site-masthead{gap:18px}.site-masthead .brand{padding-right:40px}.parish-logos{width:100%;max-width:100%;gap:18px}.parish-logos .parish-brand{width:310px;max-width:calc(100% - 80px)}.parish-crest{width:62px;height:68px}.hero-art{max-width:440px;aspect-ratio:1.1;border-radius:130px 130px 20px 20px}.footer-logos{max-width:100%}}
.mobile-dialog{max-width:600px;width:calc(100% - 32px);max-height:90dvh;border:0;border-radius:22px;padding:0;background:var(--paper,#f8f4eb);color:var(--ink,#173f35)}.mobile-dialog::backdrop{background:#102a24b8}.mobile-content{padding:28px}.mobile-content h2{font-size:clamp(26px,4vw,36px);margin:16px 0}.mobile-content p{line-height:1.6}.mobile-help,.mobile-content small{font-size:13px;line-height:1.6}.mobile-status{min-height:30px;padding:12px;background:#e8efe5;border-radius:10px}.mobile-status.error{background:#f8e7e1;color:#7a2920}.mobile-content hr{border:0;border-top:1px solid #173f3522;margin:24px 0}.push-history article{padding:16px;border:1px solid #173f3522;border-radius:12px;margin:12px 0}.push-history p{white-space:pre-wrap;overflow-wrap:anywhere}.push-preview{padding:18px;border:1px solid #173f3522;border-radius:12px;background:white}.push-preview p{white-space:pre-wrap;overflow-wrap:anywhere}.push-preview img{float:left;margin-right:12px}
.scripture-search{margin:24px 0;padding:24px;border:1px solid var(--line,#ddd);border-radius:18px;background:var(--paper,#fff)}.scripture-search .tools{flex-wrap:wrap}.scripture-search input{flex:1;min-width:220px}.scripture-search .search-result{display:block;width:100%;margin:12px 0;padding:18px;text-align:left}.search-help{font-size:.9rem;opacity:.8}[data-push-confirm]{padding:18px;margin:16px 0;border:2px solid #b58b44;border-radius:12px;background:#fff9e9}
.reference-preview{margin:16px 0;padding:14px 18px;border-left:3px solid #b68b43;border-radius:0 10px 10px 0;background:#f7f5ee;color:#29463b}.reference-preview span{font-size:.66rem;font-weight:700;letter-spacing:.13em;color:#6d7c72}.reference-preview p{margin:7px 0;font-size:1.05rem;line-height:1.65;font-family:Georgia,serif}.home-banner{position:relative;margin:32px 0 12px;overflow:hidden;border-radius:26px;background:#173f35;box-shadow:0 18px 50px #173f3518}.banner-slide{position:relative;min-height:510px;isolation:isolate}.banner-slide[hidden]{display:none}.banner-slide>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 58%;z-index:-2}.banner-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,35,26,.93),rgba(10,35,26,.7) 35%,rgba(10,35,26,.06) 80%)}.banner-copy{padding:72px 65px 90px;max-width:700px;color:#fff}.banner-copy .eyebrow{color:#e6c481}.banner-copy h1{font-size:clamp(2.6rem,4.6vw,4.8rem);line-height:1.08;letter-spacing:-.025em;color:#fff;margin:22px 0}.banner-copy p{font-size:1.1rem;line-height:1.7;color:#efefe5;max-width:470px;margin-bottom:28px}.art-only .banner-shade{display:none}.banner-full-link{position:absolute;inset:0}.home-banner [data-banner-controls]{position:absolute;bottom:20px;right:26px;left:26px;display:flex;gap:10px;justify-content:flex-end;align-items:center}.home-banner [data-banner-controls]>button{border:1px solid #ffffff60;background:#173f35cc;color:#fff;border-radius:40px;min-height:38px;padding:4px 14px;cursor:pointer}.banner-dots{display:flex;gap:8px}.banner-dots button{width:9px;height:9px;border:0;padding:0;border-radius:50%;background:#ffffff60;cursor:pointer}.banner-dots button[aria-pressed=true]{background:#e4bd76;width:24px;border-radius:10px}.music-panel{max-width:1280px;margin:0 auto 40px;text-align:left;display:grid;grid-template-columns:minmax(250px,1fr) minmax(300px,1.5fr);gap:38px;align-items:center;border:1px solid #b58c4540;border-radius:22px;padding:30px 34px;background:linear-gradient(120deg,#162f28,#294638);box-shadow:0 12px 35px #0e201826;color:#fff}.music-intro .music-kicker{font-size:.65rem;letter-spacing:.2em;color:#e6c481}.music-intro h2{font-family:Georgia,serif;font-size:2.4rem;margin:8px 0;color:#fff}.music-intro h2 em{color:#d9b76b}.music-intro p{font-size:.95rem;line-height:1.5;color:#dfdfd1}.music-panel .music-intro a{color:#f3cc7e;display:inline-block;margin:6px 0;font-size:.85rem}.music-player small{font-size:.7rem;color:#ccc;display:block;margin:8px 0 0}.admin-banner-list article{display:grid;grid-template-columns:180px 1fr;gap:20px;margin:16px 0;padding:20px;border:1px solid #deded3;border-radius:14px}.admin-banner-list img{width:180px;aspect-ratio:2;object-fit:cover;border-radius:10px}.banner-upload-preview{width:100%;max-height:240px;object-fit:contain;border-radius:12px;margin:16px 0}@media(max-width:700px){.banner-slide{min-height:490px}.banner-copy{padding:48px 25px 80px}.banner-shade{background:linear-gradient(90deg,#102d26e8,#102d2670)}.music-panel{grid-template-columns:1fr;gap:20px;padding:24px}.admin-banner-list article{grid-template-columns:1fr}.admin-banner-list img{width:100%}.art-only{min-height:230px}.art-only>img{object-fit:contain}}
.install-platforms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:24px 0}.install-platform{background:#fffdf6;border:1px solid #dcded2;border-radius:18px;padding:24px}.install-platform ol{padding-left:22px}.install-platform li{margin:12px 0;line-height:1.6}.install-platform p{font-size:.9rem;line-height:1.6;color:#63776b}.install-overview{display:flex;gap:25px;align-items:center}.mobile-dialog{max-width:940px;width:calc(100% - 30px)}.mobile-content .install-platforms{font-size:.9rem}.novena-days{display:grid;grid-template-columns:repeat(9,1fr);gap:6px;margin:24px 0}.novena-days button{padding:12px 4px;border:1px solid #c7d3c5;border-radius:10px;cursor:pointer;background:#fff}.novena-days button.selected{background:#173f35;color:white}.novena-day{padding:28px;border:1px solid #ddd;border-radius:18px;background:#fffdf5}.novena-day .prayer-text{white-space:pre-line}.novena-card-art{height:130px;display:grid;place-items:center;background:linear-gradient(125deg,#e9e6d8,#dbe5d5);color:#173f35;font-family:Georgia,serif;font-size:50px}.novena-day .novena-date{font-size:.8rem;color:#5c7567}@media(max-width:650px){.install-platforms{grid-template-columns:1fr}.install-overview{align-items:flex-start}.novena-days{grid-template-columns:repeat(5,1fr)}}

/* Imagens devocionais nas coleções de oração. */
.novena-card-art{height:260px;display:block;overflow:hidden;background:#e8e1d4}.novena-card-art img,.chaplet-card .miracle-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 28%;transition:transform .4s}.card:hover .novena-card-art img,.chaplet-card:hover .miracle-portrait img{transform:scale(1.035)}.devotional-detail-image{margin:0 0 28px;border-radius:16px;overflow:hidden;background:#f0ebdf}.devotional-detail-image img{display:block;width:100%;max-height:460px;object-fit:contain;background:#e8e1d4}.devotional-detail-image figcaption{padding:13px 18px;font-size:12px;line-height:1.6;color:#58654f}@media(max-width:700px){.novena-card-art,.chaplet-card .miracle-portrait{height:270px}}@media(prefers-reduced-motion:reduce){.novena-card-art img,.chaplet-card .miracle-portrait img{transition:none}}



.track-top .track-illustration{width:112px;height:112px;flex-shrink:0;filter:drop-shadow(0 7px 10px #42533912)}.track-top{gap:12px}@media(max-width:700px){.track-top .track-illustration{width:90px;height:90px}}

.track-top .track-people-illustration{width:160px;height:140px;object-fit:cover;border-radius:22px;box-shadow:0 8px 22px #243e3010;flex-shrink:0}.track-top{align-items:center}.ios-install-help{padding:18px;margin-top:16px;border:1px solid #c4d1bd;background:#f0f3e9;border-radius:12px}.ios-install-help[hidden]{display:none}.ios-install-help:focus{outline:2px solid #6b865d;outline-offset:3px}@media(max-width:1100px){.track-top .track-people-illustration{width:120px;height:120px}.track-top{flex-wrap:wrap}}@media(max-width:700px){.track-top .track-people-illustration{width:140px;height:125px}}
/* Calendar: liturgical celebrations and saints throughout the year. */
.cal-precept-panel{background:#173f35;color:#fff;border-radius:22px;padding:30px;display:grid;grid-template-columns:1.2fr 1fr;gap:20px 32px;margin:0 0 32px}.cal-precept-panel .eyebrow{color:#e8cb91}.cal-precept-panel h2{color:#fff;margin:10px 0;font-size:30px}.cal-precept-panel p{color:#e0eae4;line-height:1.7}.cal-precept-panel ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}.cal-precept-panel li{display:flex;align-items:center;gap:14px;background:#ffffff0d;border:1px solid #ffffff24;border-radius:10px;padding:10px 15px}.cal-precept-panel li strong{color:#e8cb91;white-space:nowrap}.cal-precept-note{grid-column:1/-1;font-size:13px;margin:0!important;border-top:1px solid #ffffff30;padding-top:18px}.cal-toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:16px}.cal-toolbar label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:600}.cal-toolbar .field{margin:0;min-width:110px}.cal-search{flex:1;min-width:230px}.cal-months{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}.cal-months .active{background:#173f35;color:white;border-color:#173f35}.cal-result-count{font-size:14px;color:#63766c;margin:20px 0}.cal-days{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.cal-day{background:#fff;border:1px solid #e1e7df;border-radius:16px;padding:23px;min-width:0}.cal-obligation{border-top:4px solid #173f35}.cal-today{box-shadow:0 0 0 2px #c5a365}.cal-day-head{display:flex;gap:12px;justify-content:space-between;align-items:start;border-bottom:1px solid #e9ece7;padding-bottom:15px;margin-bottom:17px}.cal-date{display:flex;flex-direction:column}.cal-date strong{font-family:'Playfair Display',serif;color:#173f35;font-size:32px;line-height:1.2}.cal-date span{font-size:12px;color:#67766c;margin-top:5px;text-transform:capitalize}.cal-badges{display:flex;gap:6px;flex-wrap:wrap;justify-content:end}.cal-badge{display:inline-block;font-size:11px;line-height:1.4;padding:4px 9px;border-radius:6px;background:#f0f2ed;color:#5c6c5f}.cal-badge.cal-green{background:#e1ede5;color:#173f35;font-weight:700}.cal-badge.cal-gold{background:#f6ecd5;color:#795c22}.cal-celebrations{display:grid;gap:15px}.cal-celebrations h3{font-size:18px;line-height:1.4;margin:0 0 7px;color:#203d30}.cal-saints{border-top:1px solid #e9ece7;margin-top:18px;padding-top:13px}.cal-saints summary{font-size:13px;color:#173f35;font-weight:600;cursor:pointer}.cal-saints ul{padding-left:19px;margin:13px 0;display:grid;gap:9px}.cal-saints li{font-size:13px;line-height:1.5}.cal-saints a{color:#316b51;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.cal-source-link{font-size:12px;display:inline-block;margin-top:12px}.cal-notes{margin-bottom:55px}.cal-notes p{font-size:14px;line-height:1.7}.church-calendar button:focus-visible,.church-calendar summary:focus-visible,.church-calendar a:focus-visible{outline:3px solid #c5a365;outline-offset:4px}@media(max-width:700px){.cal-precept-panel{grid-template-columns:1fr;padding:22px}.cal-days{grid-template-columns:1fr}.cal-day{padding:19px}.cal-toolbar label{flex:1;min-width:140px}.cal-toolbar .cal-search{flex-basis:100%}.cal-months{gap:6px}.cal-months .pill{font-size:12px;padding:8px 10px}.cal-precept-panel h2{font-size:26px}}@media print{.cal-toolbar,.cal-months{display:none}.cal-days{display:block}.cal-day{break-inside:avoid;margin-bottom:12px}.cal-saints{display:block}.cal-precept-panel{color:#173f35;background:#f0f2ed}.cal-precept-panel h2,.cal-precept-panel p{color:#173f35}}
/* Parish schedule has a single highlighted entry in the main menu. */
.site-header nav .mass-menu-link{background:#ead5a8;color:#513c1a!important;border:1px solid #d3b879;border-radius:9px;padding:7px 12px;font-weight:700;white-space:nowrap;align-self:center}.site-header nav .mass-menu-link:hover{background:#dfc28a;color:#3c2a10!important}.site-header nav .mass-menu-link:focus-visible{outline:3px solid #173f35;outline-offset:3px}.mass-schedule{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.mass-day{background:#fff;border:1px solid #e0e5dc;border-radius:18px;overflow:hidden;min-width:0}.mass-day:first-child{grid-column:1/-1}.mass-day h2{margin:0;padding:17px 24px;background:#f3ead7;color:#173f35;font-size:24px}.mass-day ul{list-style:none;padding:0;margin:0}.mass-day li{display:grid;grid-template-columns:80px 1fr;gap:20px;padding:20px 24px;border-top:1px solid #e8ebe3}.mass-day time{color:#173f35;font-size:23px;font-weight:700;font-variant-numeric:tabular-nums}.mass-day h3{font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.5;margin:0;color:#213b2f}.mass-day p{font-size:14px;margin:5px 0 0;color:#6a7369;line-height:1.5}.mass-caption{font-size:13px;color:#6a7369;margin:22px 0 60px}@media(max-width:650px){.mass-schedule{grid-template-columns:1fr}.mass-day li{grid-template-columns:65px 1fr;gap:12px;padding:18px}.mass-day h2{padding:16px 18px}.mass-day time{font-size:21px}}@media print{.mass-day{break-inside:avoid}.mass-schedule{display:block}.mass-day{margin-bottom:12px}}
.tithing-area{padding-bottom:50px}.tithing-area .panel form{display:grid;gap:15px}.tithing-area label{display:grid;gap:7px;font-size:13px;font-weight:600}.tithing-area .account-consent{display:flex;align-items:start;gap:10px;font-weight:400}.tithing-area .account-consent input{margin-top:3px}.tithing-area .field{margin:0}.tithing-area details.panel>summary{font-size:20px;color:#173f35;font-weight:600;cursor:pointer}.tithing-area details.panel>form{margin-top:20px}.tithe-number{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:22px 28px;border-radius:15px;background:#173f35;color:white;margin-bottom:22px}.tithe-number span{font-size:14px}.tithe-number strong{font-size:25px;letter-spacing:2px}.tithe-stats strong{font-size:25px!important}.tithe-note{font-size:13px;color:#68786b;line-height:1.7;margin:18px 0}.tithe-report{margin:25px 0}.tithe-month-grid{display:grid;gap:12px}.tithe-month{border:1px solid #e0e5dc;border-radius:12px;background:white;overflow:hidden}.tithe-month summary{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:20px;cursor:pointer;text-transform:capitalize}.tithe-month summary strong{color:#173f35;white-space:nowrap;font-variant-numeric:tabular-nums}.tithe-month summary small{display:block;font-size:12px;color:#748074;margin-top:6px}.tithe-table-wrap{overflow-x:auto;max-width:100%;padding:0 16px 16px}.tithe-table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}.tithe-table th{background:#f2f4ee;color:#425a48;font-weight:600;white-space:nowrap}.tithe-table td,.tithe-table th{padding:13px 10px;border-bottom:1px solid #e9ece7;vertical-align:top}.tithe-table small{display:block;font-size:11px;color:#69786b;margin-top:6px;max-width:240px;overflow-wrap:anywhere}.tithe-money{white-space:nowrap;font-weight:600}.tithe-status{display:inline-block;font-size:11px;padding:5px 8px;border-radius:6px;white-space:nowrap}.tithe-status.confirmed{background:#e1ede5;color:#20553b}.tithe-status.pending{background:#f9efd9;color:#795721}.tithe-status.cancelled{background:#f1e4e1;color:#823e30}.tithe-empty{font-size:14px;padding:0 20px 20px;color:#778273}.tithe-pix-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:25px;margin:25px 0}.tithe-qr{text-align:center}.tithe-qr img{width:min(100%,280px);height:auto;display:block;margin:12px auto;background:white}.tithe-qr strong{display:block;color:#173f35;font-size:20px}.tithe-qr p{font-size:14px}.tithe-steps{padding-left:20px;line-height:1.8;font-size:15px;display:grid;gap:10px}.tithe-pix-code{font-size:11px;overflow-wrap:anywhere;margin-top:10px!important}.tithe-admin-quick form{grid-template-columns:repeat(2,minmax(0,1fr))}.tithe-admin-filters{margin:20px 0;align-items:end}.tithe-admin-filters label{flex:1;min-width:150px}.tithe-recovery{margin:25px 0}.site-header nav .tithe-menu-link{font-weight:700;color:#245e45}.tithing-area summary:focus-visible,.tithing-area button:focus-visible{outline:3px solid #c5a365;outline-offset:3px}@media(max-width:700px){.tithe-pix-grid{grid-template-columns:1fr}.tithe-number{flex-direction:column;align-items:start}.tithe-admin-quick form{grid-template-columns:1fr}.tithe-table{min-width:650px}.tithe-month summary{padding:16px}.tithe-stats strong{font-size:21px!important}}@media print{.tithing-area form,.tithing-area .account-toolbar,.tithe-admin-filters{display:none}.tithe-number{background:#edf2e8;color:#173f35}.tithe-month{break-inside:avoid}}

.tithe-receipts{padding:18px;border-top:1px solid var(--line,#e6dfd4)}.tithe-receipts h3{font-size:1rem}.tithe-receipts form{display:grid;gap:10px;max-width:560px}.tithe-receipts li{margin:8px 0;overflow-wrap:anywhere}.tithe-receipts .field[type=file]{width:100%;padding:10px}

.encounter-filters label{flex:1;min-width:180px}.encounter-number-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.encounter-ai-form .account-columns>div{display:grid;gap:14px;align-content:start}#dynamics-results details{margin-top:14px}#dynamics-results summary{cursor:pointer;font-weight:700}#dynamics-results li{margin-bottom:10px}#encounter-pages,#dynamics-pages{justify-content:center;margin-top:24px}#account-ai{scroll-margin-top:140px}

/* Horizontal brand lockup */
.brand-horizontal{display:block;width:330px;max-width:100%;height:auto;object-fit:contain}.site-masthead .brand{flex-shrink:0}.footer-brand .brand-horizontal{width:300px}@media(max-width:1000px){.site-masthead .brand-horizontal{width:270px}}@media(max-width:700px){.site-masthead .brand{padding-right:40px;max-width:100%}.site-masthead .brand-horizontal{width:300px;max-width:100%}.footer-brand .brand-horizontal{width:280px}}

/* Secondary parish branding */
.parish-logos .parish-brand{width:240px}.footer-logos .footer-parish{width:240px}@media(max-width:700px){.parish-logos .parish-brand{width:240px;max-width:calc(100% - 80px)}.site-masthead .parish-brand img{max-width:240px}}

.push-preview .push-artwork{display:block;float:none;width:100%;height:auto;max-height:500px;object-fit:contain;margin-top:18px}.push-preview .push-artwork[hidden],[data-push-custom][hidden]{display:none}
/* Parish business directory */
.business-logo-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding:10px 2px 22px}.business-logo{flex:0 0 210px;display:flex;flex-direction:column;align-items:center;gap:10px;padding:22px;border:1px solid #d7ddcd;border-radius:18px;background:#fffdf7;text-align:center;scroll-snap-align:start;text-decoration:none}.business-logo img{width:140px;height:100px;object-fit:contain}.business-logo small{color:#687c71}.business-profile-logo{display:block;width:160px;height:130px;object-fit:contain;background:#fff;border-radius:12px;margin-bottom:18px}.business-card .tools{margin-top:14px}.business-register{max-width:820px;margin:30px auto}.business-register label{display:block;margin-bottom:20px}.business-consent{display:flex!important;gap:12px;align-items:flex-start}.business-consent input{margin-top:6px}.business-description{white-space:pre-wrap}.business-detail{margin-top:30px}.business-showcase .section-intro{align-items:center}.business-area .tools .field{flex:1;min-width:180px}.business-logo:focus-visible{outline:3px solid #bf963f;outline-offset:3px}@media(max-width:600px){.business-logo{flex-basis:170px}.business-showcase .section-intro{display:block}.business-showcase .section-intro>a{margin-top:15px}}
/* Keep every hero slide in the same frame. */
.home-banner .banner-slide{height:clamp(480px,40vw,620px);min-height:0;display:flex;align-items:center}.home-banner .banner-slide[hidden]{display:none}.home-banner .banner-copy{padding:40px 55px 76px;width:100%;max-width:720px}.home-banner .banner-copy h1{font-size:clamp(2.5rem,4vw,4.1rem)}.home-banner .art-only{background:#06150e}.home-banner .art-only>img{object-fit:contain;object-position:center}@media(max-width:700px){.home-banner .banner-slide{height:460px;min-height:0}.home-banner .banner-copy{padding:28px 25px 75px}.home-banner .banner-copy h1{font-size:clamp(2rem,7vw,2.6rem);margin:16px 0}.home-banner .banner-copy p{font-size:1rem;line-height:1.5;margin-bottom:20px}}

.parish-finder-bar{background:#fffdf7;border-bottom:1px solid #bf913b;padding:14px 0}.parish-finder{max-width:1710px;width:90%;margin:auto;display:grid;grid-template-columns:1.1fr .8fr .9fr 1.8fr auto;gap:22px;align-items:end}.parish-finder-title{align-self:center;display:flex;gap:13px;align-items:center;color:#173f35;font-family:Georgia,serif;font-size:17px;letter-spacing:.02em}.parish-finder-title span{font-size:35px}.parish-finder label{min-width:0;display:grid;gap:5px;font-size:13px}.parish-finder .field{width:100%;min-width:0;background:white;padding:10px 12px;margin:0}.parish-finder .button{margin:0;min-height:43px}.parish-finder-bar p{width:90%;max-width:1710px;margin:7px auto 0;font-size:13px}.parish-finder-bar p:empty{display:none}@media(max-width:1000px){.parish-finder{grid-template-columns:1fr 1fr;gap:12px}.parish-finder-title{grid-column:1/-1}.parish-finder label:last-of-type{grid-column:1/-1}.parish-finder button{grid-column:1/-1}}@media(max-width:480px){.parish-finder{width:92%;gap:10px}.parish-finder-title{font-size:15px}.parish-finder label{min-width:0}.parish-finder .field{font-size:13px}}@media print{.parish-finder-bar{display:none}}

.parish-banner-carousel{margin:20px 0}.parish-banner-carousel [data-parish-slide]{display:block}.parish-banner-carousel [data-parish-slide][hidden]{display:none}.parish-banner-carousel img{display:block;width:100%;height:clamp(180px,30vw,380px);object-fit:contain;background:#f7f4ec;border-radius:18px}.parish-banner-carousel .tools{justify-content:center}

.parish-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.parish-form-grid label{min-width:0}.parish-registration-pitch{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:32px 0}.parish-registration-pitch strong{color:#173f35;font-size:20px}@media(max-width:700px){.parish-form-grid{grid-template-columns:1fr}.parish-registration-pitch{display:block}.parish-registration-pitch .button{margin-top:16px}}

.home-feature-layout{display:grid;grid-template-columns:minmax(0,2.3fr) minmax(280px,1fr);gap:22px;margin:32px 0 18px;align-items:stretch}.home-feature-layout .home-banner{margin:0}.home-feature-layout .banner-slide{height:550px}.home-feature-layout .banner-copy{padding:36px 40px 76px}.home-feature-layout .banner-copy h1{font-size:clamp(2.1rem,3.1vw,3.6rem)}.home-agenda{background:#fffdf7;border:1px solid #173f35;border-radius:24px;padding:22px;display:flex;flex-direction:column;min-width:0}.home-agenda h2{text-align:center;font-size:clamp(1.3rem,1.7vw,1.8rem);line-height:1.25;margin:0 0 16px}.home-agenda .button{margin-top:auto;text-align:center}.agenda-event img{width:100%;aspect-ratio:3/2;object-fit:contain;background:#f4f1e8;border-radius:13px}.agenda-event h3{font-size:1.2rem;margin:12px 0 6px}.agenda-event p{font-size:.9rem;line-height:1.5;margin:6px 0}.home-agenda .agenda-event p:last-child{max-height:65px;overflow:auto}.agenda-empty{text-align:center;padding:45px 8px;color:#68746c}.agenda-empty span{font-size:54px;color:#ad873d}.agenda-next{border-top:1px solid #c5ad7350;padding-top:12px;font-size:.85rem}.home-mass-strip{display:flex;align-items:center;gap:20px;flex-wrap:wrap;border:1px solid #b58c45;border-radius:16px;background:#fffdf7;padding:20px 24px;margin-bottom:30px}.home-mass-strip strong{color:#173f35;letter-spacing:.06em}.home-mass-strip a{margin-left:auto}.agenda-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.agenda-grid .agenda-event{border:1px solid #ddd8c9;border-radius:20px;padding:20px;background:#fffdf7}@media(max-width:1000px){.home-feature-layout{grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr)}.home-feature-layout .banner-copy{padding:25px 25px 76px}}@media(max-width:760px){.home-feature-layout{grid-template-columns:1fr}.home-feature-layout .banner-slide{height:440px}.home-feature-layout .banner-copy h1{font-size:2.4rem}.home-agenda{padding:22px}.home-agenda .agenda-event img{max-height:260px}.agenda-grid{grid-template-columns:1fr}.home-mass-strip{display:grid;gap:10px}.home-mass-strip a{margin-left:0}}

.home-feature-layout .home-agenda{height:550px;overflow:hidden}.home-agenda [data-home-agenda]{min-height:0;overflow:auto;margin-bottom:14px}.home-agenda .agenda-event img{height:190px;object-fit:contain}.home-feature-layout .home-banner{min-width:0}@media(max-width:760px){.home-feature-layout .home-agenda{height:auto;min-height:330px}.home-agenda [data-home-agenda]{overflow:visible}.home-agenda .agenda-event img{height:auto;max-height:260px}}

.parish-logos[hidden]{display:none!important}.parish-logos .parish-custom-logo{display:block;object-fit:contain;width:auto;max-width:230px;height:76px;max-height:76px}.parish-logos .parish-logo-slot-1{max-width:120px}.parish-logo-preview{background:repeating-conic-gradient(#eee 0% 25%,#fff 0% 50%) 50%/20px 20px;padding:20px;margin:16px 0;min-height:110px;display:flex;align-items:center;justify-content:center}.parish-logo-preview img{max-width:100%;height:130px;object-fit:contain}@media(max-width:760px){.parish-logos .parish-custom-logo{height:55px;max-height:55px;max-width:155px}.parish-logos .parish-logo-slot-1{max-width:85px}}

.agenda-parish-name{display:block;margin-bottom:12px;color:#6e7865}.agenda-ticket-image{display:block;border-radius:10px}.agenda-ticket-image:focus-visible{outline:3px solid #c39243;outline-offset:3px}.agenda-carousel-controls{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:16px;position:sticky;bottom:0;background:#fffdf5;padding:8px 0}.agenda-carousel-controls button{border:1px solid #c9d3c1;background:#edf1e4;color:#234737;border-radius:8px;min-height:38px;min-width:38px;padding:6px 10px;font:inherit;cursor:pointer}.agenda-carousel-controls span{font-size:12px;color:#626e5a}.agenda-carousel-controls [data-agenda-pause]{font-size:11px}.agenda-slides [hidden]{display:none!important}.agenda-event .button{margin:8px 0 0}.home-agenda .agenda-event h3{font-size:19px;margin:12px 0 8px}

#session-logout[hidden]{display:none}
.site-masthead{flex-wrap:wrap}

.site-header>nav{flex-wrap:nowrap;overflow:visible;align-items:center;width:100%}.main-menu-links{display:flex;align-items:center;gap:inherit;flex:1;min-width:0;overflow-x:auto;white-space:nowrap;padding:3px 0}.main-menu-links>a{flex-shrink:0}.site-header nav .admin-menu-access{margin-left:auto;flex-shrink:0;border-left:1px solid var(--line);padding-left:22px;font-weight:700;white-space:nowrap;color:var(--green)}@media(max-width:650px){.site-header>nav{gap:12px}.site-header nav .admin-menu-access{padding-left:12px;font-size:11px}.main-menu-links{gap:20px}}

.mass-other-parishes{padding:14px 22px;margin:0 0 28px;border:1px solid var(--line,#ddd);border-radius:12px;background:#fff}.mass-other-parishes a{font-weight:700;color:#173f35}.mass-other-parishes small{display:block;margin-top:6px;color:#5d665e}

.city-mass-panel{margin-top:24px}.city-mass-panel h2{font-size:clamp(1.35rem,3vw,2rem)}.city-mass-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin:20px 0}.city-mass-filters label{display:flex;flex-direction:column;gap:6px}.city-mass-list{display:grid;gap:14px;margin:16px 0}.city-mass-item{display:grid;grid-template-columns:145px 1fr;gap:22px;border:1px solid #dedfd6;border-radius:16px;padding:22px;background:#fff}.city-mass-first{border-color:#2f6653;background:#f2f7ef}.city-mass-hour{display:flex;flex-direction:column;gap:8px;color:#173f35}.city-mass-hour strong{font-size:2rem;line-height:1.1}.city-mass-hour span{font-weight:600}.city-mass-hour small{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em}.city-mass-item h3{margin:8px 0}.city-mass-item p{margin:5px 0}.city-mass-item .tools{margin-top:14px}[data-city-editor] details{margin:20px 0}[data-city-editor] select[multiple]{min-height:120px}@media(max-width:600px){.city-mass-item{grid-template-columns:1fr;gap:14px;padding:18px}.city-mass-hour{flex-direction:row;align-items:center;flex-wrap:wrap;gap:10px}.city-mass-hour strong{font-size:1.7rem}.city-mass-filters{grid-template-columns:1fr}.city-mass-panel{padding:20px!important}}

.org-location{display:grid;gap:12px;margin:12px 0}.org-community-row{display:grid;grid-template-columns:minmax(170px,1fr) minmax(200px,1.5fr) auto auto;gap:14px;align-items:center;padding:16px 0;border-bottom:1px solid #dedfd6}.org-location p{font-size:.9rem;color:#695c3a}[data-scoped-form] label{display:grid;gap:6px;margin:12px 0}[data-org-form] label{display:grid;gap:6px;margin:12px 0}@media(max-width:700px){.org-community-row{grid-template-columns:1fr}}

/* Visible actions and a vertical menu on every screen size. */
.site-header>nav.compact-navigation{display:flex;gap:12px;overflow:visible;white-space:normal;position:relative;align-items:center;padding:12px 0;flex-wrap:nowrap}.compact-navigation>a,.portal-menu>summary{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 15px;border:1px solid #d8dfd2;border-radius:9px;font-size:14px;font-weight:600;text-decoration:none;cursor:pointer}.compact-navigation .nav-install{background:#173f35;color:#fff;border-color:#173f35}.portal-menu{position:relative}.portal-menu>summary{list-style:none}.portal-menu>summary::-webkit-details-marker{display:none}.portal-menu-options{position:absolute;top:calc(100% + 8px);left:0;z-index:100;width:min(310px,calc(100vw - 40px));max-height:65vh;overflow-y:auto;padding:8px;background:#fffdf7;border:1px solid #d8dfd2;box-shadow:0 14px 35px #173f3526;border-radius:12px}.portal-menu-options>a{display:block;padding:13px 14px;white-space:normal;border-radius:7px;font-size:14px;line-height:1.4;text-decoration:none}.portal-menu-options>a:hover{background:#edf0e3}.compact-navigation :focus-visible{outline:3px solid #b49a5c;outline-offset:3px}@media(max-width:700px){.site-header{position:sticky;top:0;z-index:50}.site-masthead{padding:10px 0}.site-masthead .search-toggle{top:15px}.site-header>nav.compact-navigation{gap:8px}.compact-navigation>a,.portal-menu>summary{font-size:12px;padding:10px 11px;white-space:nowrap}.compact-navigation>[data-my-area]{margin-left:auto}.mobile-dialog{max-height:90dvh;overflow-y:auto}}
.prayer-invitation{position:relative;overflow:hidden;margin:2rem 0;padding:2.2rem;display:flex;gap:1.5rem;align-items:center;border:1px solid #e4c77b;border-radius:24px;background:linear-gradient(125deg,#173d31,#245642);color:#fff;box-shadow:0 12px 35px #122f241c}.prayer-invitation h2{color:#fff;margin:.35rem 0;font-size:clamp(1.5rem,3vw,2.2rem)}.prayer-invitation p{margin:.4rem 0 1.2rem;color:#f7efd8}.prayer-eyebrow{font-size:.72rem;letter-spacing:.15em;color:#f4d98b;font-weight:700}.prayer-glow{font-size:3rem;color:#f6d77e;flex:none}.prayer-gold,.prayer-again{border:1px solid #f9e5a5;border-radius:14px;background:linear-gradient(135deg,#f7df98,#c68b22);color:#35250b;font:inherit;font-weight:800;padding:1rem 1.35rem;cursor:pointer;box-shadow:0 6px 18px #0003}.prayer-gold:hover,.prayer-again:hover{filter:brightness(1.08)}.prayer-gold:focus-visible,.prayer-again:focus-visible{outline:3px solid #fff;outline-offset:3px}.prayer-message-dialog{width:min(92vw,560px);max-height:85vh;overflow:auto;border:1px solid #e6d4a2;border-radius:22px;padding:1.7rem;background:#fffcf4;color:#244033;box-shadow:0 24px 90px #0005}.prayer-message-dialog::backdrop{background:#0d2019bc}.prayer-dialog-head{display:flex;justify-content:space-between;align-items:center;font-size:.72rem;letter-spacing:.1em;font-weight:800;color:#9b6e21}.prayer-dialog-head button{background:none;border:0;font-size:2rem;cursor:pointer;color:#244033}.prayer-message-dialog h2{margin:1rem 0 .4rem}.prayer-message-dialog p{line-height:1.6}.prayer-quote{font-family:Georgia,serif;font-size:1.3rem;color:#244033}.prayer-ref{font-size:.85rem;font-weight:700}.prayer-context{display:inline-block;margin-bottom:1.2rem;color:#805819}.prayer-again{display:block;font-size:.95rem}@media(max-width:600px){.prayer-invitation{padding:1.4rem;gap:.8rem}.prayer-glow{font-size:2rem}.prayer-gold{width:100%;padding:.9rem}.prayer-message-dialog{padding:1.25rem}}

.prayer-quote{white-space:pre-line;overflow-wrap:anywhere}.prayer-message-dialog{overscroll-behavior:contain}

.prayer-origin{color:#946717;font-size:.8rem;letter-spacing:.03em;margin:1.2rem 0 .5rem}.prayer-source{font-size:.78rem;opacity:.8;margin-top:-.4rem}.prayer-again:disabled{cursor:wait;opacity:.65}

/* Full diary readings remain scrollable at any viewport height or zoom. */
.prayer-message-dialog{width:min(94vw,760px);max-height:calc(100dvh - 24px);box-sizing:border-box;overflow-y:auto}
.prayer-quote{display:block;max-height:min(42dvh,420px);overflow-y:auto;white-space:pre-wrap;overflow-wrap:anywhere;font-size:1.1rem;line-height:1.65;padding-right:.65rem;scrollbar-gutter:stable;overscroll-behavior:contain;text-overflow:clip;-webkit-line-clamp:unset}
.prayer-quote:focus-visible{outline:2px solid #b78225;outline-offset:4px}
.prayer-quote::-webkit-scrollbar{width:9px}.prayer-quote::-webkit-scrollbar-thumb{background:#a88547;border-radius:9px}.prayer-quote::-webkit-scrollbar-track{background:#efe7d5;border-radius:9px}
@media(max-width:600px){.prayer-message-dialog h2{font-size:1.8rem}.prayer-quote{font-size:1.03rem;max-height:38dvh}}

/* Original sacred painting, with the prayer invitation kept legible. */
.prayer-invitation{min-height:330px;padding:2.5rem;background-color:#12392f;background-image:linear-gradient(90deg,rgba(8,35,26,.42) 0%,rgba(8,35,26,.2) 44%,transparent 66%),url('/assets/jesus-santa-faustina-oracao-v1.png');background-size:cover;background-position:center top;background-repeat:no-repeat}
.prayer-invitation .prayer-glow{display:none}
.prayer-invitation>div:last-child{position:relative;width:55%;max-width:660px}
.prayer-invitation h2{font-size:clamp(1.65rem,3vw,2.2rem);text-wrap:balance;text-shadow:0 2px 12px #0005}
.prayer-invitation p{max-width:540px;text-shadow:0 1px 7px #0006}
@media(max-width:700px){.prayer-invitation{padding:245px 1.4rem 1.6rem;min-height:0;background-color:#12392f;background-image:linear-gradient(to bottom,transparent 130px,#12392f 255px),url('/assets/jesus-santa-faustina-oracao-v1.png');background-size:100% 100%,auto 270px;background-position:center top,right top}.prayer-invitation>div:last-child{width:100%;max-width:none}.prayer-invitation h2{font-size:1.8rem}.prayer-invitation .prayer-gold{width:100%;font-size:.95rem;padding:.95rem}}
[data-pastoral-menu][hidden]{display:none!important}
[data-parish-people] label{display:block;margin:8px 0}
.image-faith-article{max-width:850px;margin:32px auto;padding:clamp(20px,4vw,48px)}.image-faith-article h1{font-size:clamp(27px,4vw,42px);line-height:1.2}.image-faith-article p{line-height:1.85}.image-faith-questions{padding-left:24px}.image-faith-questions li{margin:14px 0}.image-faith-questions a{text-decoration:underline;text-underline-offset:4px;color:var(--green)}
.home-faith-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;align-items:stretch}.home-faith-grid .card{display:flex;flex-direction:column;overflow:hidden}.home-faith-grid h2{font-family:'Playfair Display',Georgia,serif;font-size:clamp(25px,3vw,34px);line-height:1.22;margin:12px 0}.home-faith-grid .card-content{padding:26px}.home-daily figure{margin:0;position:relative}.home-daily figure img{display:block;width:100%;height:290px;object-fit:cover;object-position:center 35%}.home-daily figcaption{position:absolute;bottom:0;left:0;right:0;padding:8px 12px;background:#173f35d9;color:white;font-size:11px}.home-feature-date{font-size:13px;color:var(--muted);margin:10px 0}.home-source{display:block;margin-top:15px;font-size:12px;text-decoration:underline}.home-video-empty,.home-daily-art{height:290px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse at top,#4d7563,#173f35);color:#f5e3bb}.home-video-empty span,.home-daily-art span{font-size:64px}.home-video-empty p{font-family:Georgia,serif;font-size:25px;margin:8px}.home-youtube-cover{position:relative;border:0;padding:0;display:block;background:#173f35;width:100%;height:290px;overflow:hidden}.home-youtube-cover img{width:100%;height:100%;object-fit:cover}.home-youtube-cover span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#a43127;color:#fff;border-radius:18px;padding:8px 24px;font-size:35px}.home-youtube-frame{display:block;width:100%;height:290px;border:0}[data-home-video-admin] label{display:block;margin:14px 0}@media(max-width:720px){.home-faith-grid{grid-template-columns:1fr}.home-daily figure img,.home-video-empty,.home-daily-art,.home-youtube-cover,.home-youtube-frame{height:240px}}
.admin-launch-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:24px 0}.admin-launch{border:1px solid #ffffff30;border-radius:18px;padding:24px 20px;text-align:left;display:flex;align-items:center;gap:15px;min-height:132px;color:#fff;box-shadow:0 5px 15px #173f3510;transition:transform .15s,box-shadow .15s}.admin-launch:hover{transform:translateY(-3px);box-shadow:0 9px 22px #173f3525}.admin-launch-icon{font-size:31px;min-width:32px}.admin-launch-title{display:block;font-size:18px;font-weight:700;line-height:1.3}.admin-launch small{display:block;margin-top:8px;font-size:13px;line-height:1.5;color:#fff;opacity:.95}.admin-launch>span:last-child{margin-left:auto}.admin-color-amber{background:#83501b!important;color:white!important}.admin-color-teal{background:#17635f!important;color:white!important}.admin-color-blue{background:#245a85!important;color:white!important}.admin-color-purple{background:#674782!important;color:white!important}.admin-color-green{background:#386441!important;color:white!important}.admin-color-terracotta{background:#95503b!important;color:white!important}.admin-color-pink{background:#974665!important;color:white!important}.admin-color-slate{background:#48586a!important;color:white!important}.admin-parish-choice{padding:20px;background:#fffdf7;border:1px solid var(--line);border-radius:15px;max-width:680px}.admin-parish-choice label{display:block;font-weight:600}.admin-parish-choice .field{display:block;width:100%;margin-top:8px}.admin-workspace>h2{margin-top:25px}.admin-hub-content[hidden],.admin-workspace[hidden],.admin-hub[hidden],.account-area section[hidden]{display:none!important}.parish-admin-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0 28px}.parish-admin-tabs [aria-current=page]{outline:3px solid #c5a365;outline-offset:3px}@media(max-width:1000px){.admin-launch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.admin-launch-grid{grid-template-columns:1fr;gap:12px}.admin-launch{min-height:110px;padding:20px}.parish-admin-tabs .button{width:100%}}

.home-agenda .agenda-event img{height:auto;max-height:none;aspect-ratio:3/2;object-fit:contain}.agenda-event img{display:block}
.home-feature-layout .home-agenda{height:auto;min-height:550px;overflow:visible}@media(max-width:760px){.home-feature-layout .home-agenda{min-height:0}}

/* Illustrated resources: one compressed atlas, loaded near the viewport. */
.resource-card{position:relative;overflow:hidden;min-height:225px;padding:26px!important;border:1px solid #ffffffa0;box-shadow:0 5px 18px #193e3110;transition:transform .2s,box-shadow .2s}
.resource-card:hover{transform:translateY(-4px);box-shadow:0 12px 26px #193e311c}
.resource-card h3{position:relative;max-width:68%;font-size:27px;margin:3px 0 12px;z-index:1}
.resource-card p{position:relative;max-width:61%;font-size:14px;line-height:1.65;z-index:1;color:#35544e}
.resource-card .resource-enter{position:relative;margin-top:17px;display:inline-block;background:#ffffffb8;border:1px solid #ffffffd0;border-radius:24px;padding:9px 17px;color:#234f43;z-index:1}
.resource-color-0{background:#e3ede1}.resource-color-1{background:#e1edf5}.resource-color-2{background:#ebe4f3}.resource-color-3{background:#fae9d7}.resource-color-4{background:#f6e3e4}.resource-color-5{background:#fbefca}
.resource-art,.resource-illustration{position:absolute;right:-8px;bottom:18px;width:46%;aspect-ratio:1;pointer-events:none}.resource-art{background-size:300% 400%;background-repeat:no-repeat}
.resource-art-ready{background-image:url('/assets/resource-illustrations.webp')}
.prayer-pope-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:26px;margin:36px 0}
.prayer-pope-grid .prayer-invitation{margin:0;min-height:100%;padding:35px 28px;display:flex;align-items:flex-end;background-position:64% center}
.prayer-pope-grid .prayer-invitation>div:last-child{max-width:100%;position:relative;z-index:2;padding-top:160px}
.prayer-pope-grid .prayer-invitation:before{background:linear-gradient(0deg,#002c20 0%,#002c20c9 45%,transparent 90%)}
.prayer-pope-grid .prayer-invitation h2{font-size:36px;max-width:440px}.prayer-pope-grid .prayer-invitation p{font-size:16px}.prayer-pope-grid .prayer-gold{font-size:15px;padding:17px 20px}
.pope-video{overflow:hidden}.pope-video .home-youtube-cover,.pope-video .home-youtube-frame{width:100%;aspect-ratio:16/9;height:auto;display:block}.pope-video .home-youtube-cover img{width:100%;height:100%;object-fit:cover}.pope-video h2{font-size:26px;line-height:1.2}.pope-video .card-content{padding:25px}.pope-video .pope-note{font-size:13px;line-height:1.5}.pope-date{font-size:14px;color:#47665b}
.vatican-feed-source{position:fixed;left:-10000px;top:0;width:900px;height:700px;overflow:hidden;pointer-events:none}
@media(max-width:1000px){.resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.prayer-pope-grid .prayer-invitation h2{font-size:29px}}
@media(max-width:700px){.prayer-pope-grid{grid-template-columns:1fr}.prayer-pope-grid .prayer-invitation{min-height:430px}.resource-grid{grid-template-columns:1fr}.resource-card{min-height:210px}.resource-card h3{font-size:27px}.resource-art,.resource-illustration{width:40%;max-width:185px}.resource-card p{max-width:63%}}

.prayer-pope-grid .prayer-invitation>div:last-child{width:100%}.prayer-pope-grid .prayer-invitation{background-image:linear-gradient(0deg,#063025 0%,#063025b8 48%,transparent 95%),url("/assets/jesus-santa-faustina-oracao-v1.png")}

.resource-card .resource-enter{width:fit-content;max-width:68%}.home-daily figure img{object-position:center 28%}

.pope-cover-label{display:none}.pope-cover-unavailable .pope-cover-label{display:block;position:absolute;bottom:35px;width:100%;left:0;color:#f5e8bd;font:600 16px Arial,sans-serif}.pope-video .home-youtube-cover img[hidden]{display:none}

/* Two compact, landscape cards; preserve the whole devotional artwork. */
.prayer-pope-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch}
.prayer-pope-grid .prayer-invitation.prayer-compact{display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;padding:0;min-height:0;aspect-ratio:1.72;background:#12392f;border-radius:22px;gap:0}
.prayer-compact::before,.prayer-compact::after{display:none!important}
.prayer-complete-image{display:block;width:100%;height:auto;aspect-ratio:3;object-fit:contain;flex:none}
.prayer-pope-grid .prayer-invitation.prayer-compact>div:last-child{padding:8px 24px 22px;width:100%;max-width:none}
.prayer-pope-grid .prayer-compact h2{font-size:clamp(22px,2.1vw,31px);margin:6px 0 14px;max-width:none;line-height:1.15}
.prayer-compact .prayer-gold{padding:12px 18px;font-size:14px;min-height:44px}
.prayer-pope-grid .pope-video{position:relative;aspect-ratio:1.72;border-radius:22px;min-height:0;background:#173f35}
.prayer-pope-grid .pope-video .home-youtube-cover,.prayer-pope-grid .pope-video .home-youtube-frame{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;margin:0;border:0}
.prayer-pope-grid .pope-video .home-youtube-cover img{object-fit:contain}
.prayer-pope-grid .pope-video .card-content{position:absolute;inset:auto 0 0;padding:44px 22px 17px;background:linear-gradient(transparent,#09251be8 42%);color:white;pointer-events:none}
.prayer-pope-grid .pope-video .card-content h2{font-size:clamp(19px,1.9vw,27px);line-height:1.18;color:white;margin:6px 0 8px}
.prayer-pope-grid .pope-video .eyebrow{color:#f6df9f;font-size:10px}.prayer-pope-grid .pope-date{color:#eee6cf;font-size:12px;margin:4px 0}.prayer-pope-grid .pope-video .home-source{color:#f6df9f;font-size:12px;margin:8px 0 0;pointer-events:auto}
.prayer-pope-grid .pope-video:has(iframe) .card-content{display:none}.prayer-pope-grid .pope-cover-unavailable .pope-cover-label{bottom:auto;top:26px}
.footer-business{width:100%;margin:45px 0;color:var(--ink)}.footer-business[hidden]{display:none}.footer-business .business-showcase{margin:0}.footer-business p{font-size:15px}.footer-business .section-intro h2{font-size:clamp(26px,3vw,38px)}.footer-business .button{font-size:14px}.footer-business small{width:auto;font-size:12px}
@media(max-width:1050px) and (min-width:701px){.prayer-pope-grid .prayer-compact h2{font-size:23px}.prayer-pope-grid .prayer-invitation.prayer-compact>div:last-child{padding:8px 18px 16px}.prayer-compact .prayer-gold{font-size:12px;padding:10px 12px}.prayer-pope-grid .prayer-invitation.prayer-compact,.prayer-pope-grid .pope-video{aspect-ratio:1.5}}
@media(max-width:700px){.prayer-pope-grid{grid-template-columns:1fr;gap:18px}.prayer-pope-grid .prayer-invitation.prayer-compact{aspect-ratio:auto;min-height:0}.prayer-pope-grid .prayer-invitation.prayer-compact>div:last-child{padding:12px 20px 20px}.prayer-pope-grid .prayer-compact h2{font-size:26px}.prayer-pope-grid .pope-video{aspect-ratio:1.6}.prayer-pope-grid .pope-video .card-content h2{font-size:21px}}

/* Full-bleed artwork, keeping Jesus and Faustina at the right of the frame. */
.prayer-pope-grid .prayer-invitation.prayer-compact{position:relative;justify-content:flex-end;isolation:isolate}
.prayer-pope-grid .prayer-compact .prayer-complete-image{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:right center;z-index:-2}
.prayer-pope-grid .prayer-compact .prayer-compact-body{position:relative;margin-top:auto;padding:55px 24px 22px!important;background:linear-gradient(transparent,#082d21c9 45%,#082d21ed);z-index:1}
.prayer-pope-grid .prayer-compact h2{font-size:clamp(23px,2.1vw,31px);text-shadow:0 2px 8px #0008}
@media(max-width:700px){.prayer-pope-grid .prayer-invitation.prayer-compact{aspect-ratio:1.6;min-height:245px}.prayer-pope-grid .prayer-compact .prayer-compact-body{padding:45px 18px 18px!important}.prayer-pope-grid .prayer-compact h2{font-size:25px}.prayer-compact .prayer-gold{font-size:12px;padding:11px 12px}}

.prayer-pope-grid .prayer-compact .prayer-description{font-size:14px;line-height:1.45;margin:0 0 14px;max-width:none;color:#fff}

.worship-shortcuts a{display:flex;gap:14px;align-items:center;color:inherit;text-decoration:none;min-height:74px;border-radius:10px;padding:10px}.worship-shortcuts a:hover{background:#efe7d4}.worship-shortcuts a:focus-visible{outline:3px solid #b58b36;outline-offset:3px}.worship-shortcuts a>span{color:#b58b36;font-size:24px}.worship-shortcuts a>div{display:flex;flex-direction:column;gap:6px}.worship-shortcuts small{line-height:1.5}.worship-text p{white-space:pre-wrap;line-height:1.9;overflow-wrap:anywhere}.worship-page{max-width:1050px}.worship-page li{margin:14px 0}.donation-qr{display:grid;grid-template-columns:minmax(200px,320px) minmax(0,1fr);gap:30px;align-items:center}.donation-qr img{display:block;width:100%;height:auto;background:white}.donation-key{font-size:22px;overflow-wrap:anywhere}.donation-qr textarea{overflow-wrap:anywhere;word-break:break-all}@media(max-width:800px){.worship-shortcuts{grid-template-columns:1fr}.donation-qr{grid-template-columns:1fr}.donation-qr img{max-width:320px;margin:auto}}

.parish-admin-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:20px 0}.parish-admin-tabs .button{min-height:65px;white-space:normal;justify-content:center}.parish-main-banner img{width:100%;height:auto;max-height:520px;object-fit:contain;border-radius:18px}.parish-important{border-left:5px solid #bf9138}.compact-navigation{flex-wrap:wrap}.nav-parish-register{background:#f5df9c!important;border-color:#c7a24e!important;color:#173f35!important}[data-workspace-section] form{margin-bottom:24px}[data-workspace-section] label{display:block;margin:12px 0}

[hidden]{display:none!important}
.bible-reading{max-width:800px;margin:32px auto;font-size:21px;line-height:1.85}.bible-reading p{font-size:inherit;line-height:inherit;color:var(--ink,#173f35);padding:5px 12px;border-radius:8px}.bible-reading p>a{font:700 .68em sans-serif;vertical-align:super;color:#9a7027;margin-right:6px;text-decoration:none}.bible-selected{background:#f2e3b8}.bible-books a{text-decoration:none}.bible-books [hidden]{display:none!important}
.bible-pdf{width:100%;height:78vh;min-height:460px;border:1px solid #d6d9cd;border-radius:12px;background:#fff}

.catechism-index .grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,245px),1fr));margin-bottom:20px}
.catechism-part{padding:24px;display:block;text-decoration:none;color:var(--ink)}
.catechism-part h3{margin:10px 0}
.catechism-part p{margin:0;color:var(--muted)}
a.catechism-part:hover{border-color:var(--gold)}
.catechism-reading{max-width:850px;margin:24px auto 0}
.catechism-reading article{padding:18px 0;scroll-margin-top:100px}
.catechism-reading article+article{border-top:1px solid var(--line)}
.catechism-reading h3{margin:0 0 8px;font-size:1.3rem;color:var(--green)}
.catechism-reading p{margin:0;line-height:1.75}
.catechism-reading small{display:block;margin-bottom:8px}
.catechism-reading .catechism-selected{background:#f3ebd7;border-radius:8px;padding:18px}

.catechism-reading p+p{margin-top:.65em}

.life-guide{min-height:100vh;background:#fbf8f0;color:#24352c}
.life-guide a{color:#175346;text-underline-offset:.2em}
.life-guide-top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.7rem;padding:1rem max(1rem,calc((100% - 66rem)/2));border-bottom:1px solid #dfd1ad;background:#fff}
.life-guide-top nav{display:flex;flex-wrap:wrap;gap:.6rem 1.1rem}
.life-guide-brand{font-weight:750}
.life-guide-main{width:min(66rem,100% - 2rem);margin:0 auto;padding:clamp(1rem,3vw,2.5rem) 0 3rem}
.life-guide-hero{padding:clamp(1.2rem,4vw,2.5rem);border-radius:1.2rem;background:#173f35;color:#fffaf0}
.life-guide-hero h1{font-size:clamp(1.8rem,4.4vw,3.3rem);line-height:1.13;margin:.45rem 0 .8rem;color:inherit}
.life-guide-hero p{max-width:62ch;margin:0}
.life-guide-eyebrow{font-size:.76rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}
.life-guide-hero .life-guide-eyebrow{color:#f1d99c}
.life-guide-topics{display:flex;gap:.55rem;flex-wrap:wrap;margin:1.3rem 0}
.life-guide-topics a{padding:.45rem .7rem;border:1px solid #d9d0bc;border-radius:999px;background:#fff}
.life-guide-section{margin-top:1.6rem}
.life-guide-section h2,.life-guide-steps h2,.life-guide-source h2{margin:0 0 .5rem;color:#173f35;font-size:1.22rem}
.life-guide-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:.8rem}
.life-guide-card,.life-guide-source{padding:1.05rem;border:1px solid #e5dcc8;border-radius:.9rem;background:#fff}
.life-guide-card h3{margin:0 0 .4rem;font-size:1.08rem;line-height:1.35}
.life-guide-card p,.life-guide-source p,.life-guide-steps p{margin:0}
.life-guide-article,.life-guide-related{max-width:49rem}
.life-guide-steps{display:grid;gap:1.2rem;margin:1.5rem 0}
.life-guide-source ul,.life-guide-related ul{margin:.65rem 0 0;padding-left:1.25rem}
.life-guide-footer{background:#f0eadb;color:#173f35;padding:1.3rem 1rem;text-align:center}

.life-guide a.button{color:var(--button-text,#fff)}
.exam{margin-top:1.25rem}
.exam-privacy{border-left:3px solid #b49555;padding:.45rem .85rem;background:#f6efde}
.exam-group{min-width:0;margin:1.1rem 0;padding:.4rem .85rem .7rem;border:1px solid #ded5c1;border-radius:.8rem;background:#fff}
.exam-group legend{padding:0 .35rem;color:#173f35;font-weight:750}
.exam-item{display:flex;gap:.7rem;align-items:flex-start;padding:.65rem .25rem;cursor:pointer}
.exam-item + .exam-item{border-top:1px solid #ece8de}
.exam-item input{flex-shrink:0;inline-size:1.2rem;block-size:1.2rem;margin:.14rem 0 0;accent-color:#175346}
.exam-item:has(input:checked){background:#e9f4eb}
.exam-prayer{margin:1rem 0}
.exam textarea{display:block;width:100%;padding:.7rem;margin:.7rem 0;border:1px solid #9b9d91;border-radius:.5rem;background:#fff;color:#24352c;font:inherit;resize:vertical}
.exam-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}
.exam-credit{font-size:.9rem}

.resource-grid .resource-card h3{font-size:clamp(1.32rem,2vw,1.5rem);line-height:1.2}
.resource-illustration{right:0;height:auto;max-width:205px;object-fit:contain}
.reference-reading .page-head{display:block;height:auto;min-height:0;padding:24px 0 4px;border:0;background:none}
.reference-reading .page-head h1{font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.15;margin:10px 0}
.reference-reading h2{font-size:clamp(1.45rem,2.4vw,1.95rem)}
.life-guide-hero{display:block;height:auto;min-height:0;border:0}
.life-guide-hero.exam-hero h1{font-size:clamp(1.55rem,3.2vw,2.35rem)}
.exam-review{width:min(38rem,calc(100% - 1.5rem));max-height:85vh;max-height:85dvh;overflow:hidden}
.exam-review[open]{display:flex;flex-direction:column}
.exam-review-bar{display:flex;justify-content:space-between;align-items:center;gap:.8rem;padding:.85rem 1rem;border-bottom:1px solid #ded5c1;background:#f8f2e2}
.exam-review-bar h2{margin:0;font-size:clamp(1.12rem,3.5vw,1.5rem);line-height:1.2}
.exam-review-bar button{flex-shrink:0}
.exam-review-content{min-height:0;overflow:auto;overscroll-behavior:contain;padding:1rem;overflow-wrap:anywhere}
.exam-review-content section+section{margin-top:1rem}
.exam-review-content h3{font-size:1.1rem;margin:0 0 .35rem}
.exam-review-content ul{margin:0;padding-left:1.25rem}
.exam-review-content li+li{margin-top:.35rem}
.exam-review-notes{white-space:pre-wrap;margin:0}
