:root{--ink:#2B2320;--paper:#FDEDE1;--paper-raised:#FFFFFF;--accent:#FF6B4A;--accent-ink:#FFFFFF;--accent-soft:#FFE1D2;--azur:#1E88C7;--azur-ink:#FFFFFF;--azur-soft:#D9EEFA;--gold:#E8A93A;--line:#F3DCC9;--muted:#8A6F60;--good:#3F9E6D;--good-soft:#E1F5EA;--warn:#B08A2E;--warn-soft:#FBF3E3;--shadow:0 1px 2px rgba(43,35,32,.05),0 10px 28px -16px rgba(43,35,32,.18);--radius:14px;--font-display:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;--font-body:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-family:var(--font-body)}::selection{background:var(--accent-soft)}h1,h2,h3{font-family:var(--font-display);font-weight:600;text-wrap:balance;margin:0}p{margin:0}button{font-family:inherit;cursor:pointer}a{color:inherit;text-decoration:none}.site{max-width:1180px;margin:0 auto}.paroisse-shell{--paper:var(--azur-soft);background:var(--paper);min-height:100vh}.brand-lockup{display:flex;align-items:center;gap:9px}.brand-mark{font-family:var(--font-display);font-size:17px;font-weight:700;letter-spacing:.2px;white-space:nowrap}.logo-mark{flex:none;background:linear-gradient(155deg,var(--accent-soft),var(--paper-raised));display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow);border:1px solid var(--line);overflow:hidden}.logo-mark svg{width:100%;height:100%;display:block}.sitehead{padding:16px 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative}@media (min-width:860px){.sitehead{padding:18px 40px}}.navtoggle{width:36px;height:36px;border-radius:9px;border:1px solid var(--line);background:var(--paper);display:flex;align-items:center;justify-content:center;color:var(--ink);font-size:16px}@media (min-width:860px){.navtoggle{display:none}}.sitenav{display:none;gap:2px;align-items:center}@media (min-width:860px){.sitenav{display:flex}}.sitenav a,.sitenav button{border:none;background:none;color:var(--muted);font-weight:600;font-size:13.5px;padding:9px 14px;border-radius:8px;display:inline-block}.sitenav .active{color:var(--accent);background:var(--accent-soft)}.sitenav .cta{color:var(--accent-ink);background:var(--accent);margin-left:8px}.sitenav .cta-azur{color:var(--azur-ink);background:var(--azur);margin-left:8px}.mobile-drop{display:none;flex-direction:column;gap:2px;padding:10px 14px 14px;border-bottom:1px solid var(--line);background:var(--paper)}.mobile-drop.open{display:flex}@media (min-width:860px){.mobile-drop{display:none!important}}.mobile-drop a,.mobile-drop button{border:none;background:none;color:var(--muted);font-weight:600;font-size:14px;padding:10px 8px;border-radius:8px;text-align:left;display:block;width:100%}.mobile-drop .active{color:var(--accent);background:var(--accent-soft)}.mobile-drop .cta-azur{color:var(--azur-ink);background:var(--azur)}.page-content{padding:22px 20px 60px}@media (min-width:860px){.page-content{padding:36px 40px 80px;max-width:1180px;margin:0 auto}}.hash-banner{background:var(--accent-soft);color:var(--accent);font-size:13px;font-weight:600;padding:12px 20px;text-align:center}.hash-banner-success{background:var(--good-soft);color:var(--good)}.sitefoot{border-top:1px solid var(--line);padding:20px;display:flex;flex-direction:column;gap:10px;font-size:12px;color:var(--muted)}@media (min-width:860px){.sitefoot{flex-direction:row;justify-content:space-between;align-items:center;padding:20px 40px;max-width:1180px;margin:0 auto}}.sitefoot nav{display:flex;gap:16px;flex-wrap:wrap}.sitefoot nav a{color:var(--muted);font-weight:600}.sitefoot nav a:hover{color:var(--accent)}.legal h2{font-size:15px;margin-top:26px;margin-bottom:8px}.legal li,.legal p{font-size:13.5px;line-height:1.6;color:var(--muted)}.legal ul{margin:0;padding-left:20px}.legal .placeholder{color:var(--accent);font-style:italic}.eyebrow{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--gold);font-weight:700}h1.title{font-size:26px;line-height:1.15;margin-top:6px}.lede{color:var(--muted);font-size:14px;line-height:1.5;margin-top:8px}.search{display:flex;align-items:center;gap:10px;background:var(--paper-raised);border:1px solid var(--line);border-radius:14px;padding:13px 14px;margin-top:18px}.search input{border:none;background:none;outline:none;font-size:14.5px;color:var(--ink);width:100%;font-family:inherit}.search input::placeholder{color:var(--muted)}.search .go{color:var(--accent);font-size:16px}.chiprow{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.chip{border:1px solid var(--line);background:var(--paper-raised);color:var(--ink);font-size:12.5px;font-weight:600;padding:7px 13px;border-radius:999px}.chip.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.section-head{display:flex;align-items:baseline;justify-content:space-between;margin:26px 0 12px}.section-head h2{font-size:15px}.section-head .link{font-size:12.5px;color:var(--accent);font-weight:600}.card{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius);padding:15px;box-shadow:var(--shadow)}.card+.card{margin-top:10px}.parish-card{display:flex;gap:12px;align-items:flex-start;cursor:pointer}.parish-thumb{width:52px;height:52px;border-radius:11px;flex:none;background:linear-gradient(155deg,var(--accent),var(--gold));display:flex;align-items:center;justify-content:center;color:var(--accent-ink);font-family:var(--font-display);font-size:19px}.parish-info{flex:1 1;min-width:0}.parish-row1{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.parish-name{font-weight:700;font-size:14.5px}.parish-dist{font-size:11.5px;color:var(--muted);white-space:nowrap}.parish-addr{font-size:12.5px;color:var(--muted);margin-top:2px}.parish-next{margin-top:8px;display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--good);background:var(--good-soft);padding:4px 10px;border-radius:999px}.parish-next.muted{color:var(--muted);background:var(--line)}.badge-num{width:20px;height:20px;border-radius:50%;background:var(--accent);color:var(--accent-ink);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex:none}.maptabs{display:flex;gap:8px;margin:16px 0 4px}.maptabs button{flex:1 1;padding:9px;border-radius:10px;border:1px solid var(--line);background:var(--paper-raised);color:var(--muted);font-weight:700;font-size:13px}.maptabs button.active{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.mapview{display:none}.mapview.active{display:block}.split{display:grid;grid-template-columns:1fr;grid-gap:16px;gap:16px}@media (min-width:860px){.split{grid-template-columns:380px 1fr}.maptabs{display:none}.mapview{display:block!important}}.results-col{max-height:420px;overflow-y:auto;padding-right:6px;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.results-col::-webkit-scrollbar{width:6px}.results-col::-webkit-scrollbar-thumb{background:var(--line);border-radius:999px}.results-col .card:first-child{margin-top:0}.mapbox{position:relative;height:300px;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:repeating-linear-gradient(0deg,transparent 0 38px,color-mix(in srgb,var(--line) 55%,transparent) 38px 40px),repeating-linear-gradient(90deg,transparent 0 54px,color-mix(in srgb,var(--line) 55%,transparent) 54px 56px),var(--paper)}@media (min-width:860px){.mapbox{height:460px}}.mapblock{position:absolute;background:color-mix(in srgb,var(--muted) 10%,transparent);border-radius:6px}.pin{position:absolute;transform:translate(-50%,-100%);flex-direction:column}.pin,.pin-badge{display:flex;align-items:center}.pin-badge{width:26px;height:26px;border-radius:50% 50% 50% 0;background:var(--accent);transform:rotate(-45deg);justify-content:center;box-shadow:0 3px 8px rgba(0,0,0,.25)}.pin-badge span{transform:rotate(45deg);color:var(--accent-ink);font-size:11px;font-weight:800}.pin.dim .pin-badge{background:var(--paper-raised);border:1.5px solid var(--muted)}.legend,.pin.dim .pin-badge span{color:var(--muted)}.legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:10px;font-size:11.5px}.legend span{display:inline-flex;align-items:center;gap:5px}.legend i{width:9px;height:9px;border-radius:50%;background:var(--accent);display:inline-block}.hero-photo{height:150px;border-radius:16px;background:linear-gradient(155deg,var(--accent),var(--gold));position:relative;overflow:hidden}.hero-photo:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 18%,rgba(255,255,255,.22),transparent 45%)}.hero-photo .hp-label{position:absolute;left:16px;bottom:14px;color:#fff;font-family:var(--font-display);font-size:20px;text-shadow:0 2px 8px rgba(0,0,0,.25)}.slotlist{display:flex;flex-direction:column;gap:8px;margin-top:10px}.slot{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);border-radius:12px;padding:12px 13px;background:var(--paper-raised)}.slot-day{font-weight:700;font-size:13.5px}.slot-time{color:var(--muted);font-size:12.5px;margin-top:2px}.slot-priest{font-size:12px;color:var(--gold);margin-top:2px;font-weight:600}.slot .status{font-size:11px;font-weight:700;padding:4px 9px;border-radius:999px;background:var(--good-soft);color:var(--good)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:12px;padding:13px 18px;font-weight:700;font-size:14px;width:100%}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-ghost{background:var(--paper-raised);color:var(--ink);border:1px solid var(--line)}.btn-sticky{position:-webkit-sticky;position:sticky;bottom:0;margin-top:18px}.authtabs{display:flex;gap:6px;background:var(--paper-raised);border:1px solid var(--line);border-radius:12px;padding:3px;margin-top:18px}.authtabs button{flex:1 1;border:none;background:none;padding:9px;border-radius:9px;font-weight:700;font-size:13px;color:var(--muted)}.authtabs button.active{background:var(--accent-soft);color:var(--accent)}.field{margin-top:14px}.field label{font-size:12px;font-weight:700;color:var(--muted);display:block;margin-bottom:6px}.field input,.field select{width:100%;border:1px solid var(--line);background:var(--paper-raised);border-radius:11px;padding:12px 13px;font-size:14px;color:var(--ink);outline:none;font-family:inherit}.field input:focus,.field select:focus{border-color:var(--accent)}.field select{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:45px;cursor:pointer}.note{display:flex;gap:9px;margin-top:16px;padding:12px 13px;border-radius:11px;background:var(--warn-soft);color:var(--warn);font-size:12.5px;line-height:1.5}.note b{color:inherit}.cta-card{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px;padding:14px 16px;border-radius:14px;background:var(--accent-soft)}.cta-card-title{font-weight:700;font-size:14px;color:var(--ink)}.cta-card-text{font-size:12.5px;color:var(--muted);margin-top:2px}.calendar{margin-top:14px;max-width:300px;border:1px solid var(--line);border-radius:14px;padding:10px 12px 12px;background:var(--paper-raised)}.calendar-head{display:flex;align-items:center;justify-content:space-between;font-weight:700;font-size:12.5px;text-transform:capitalize}.calendar-nav{border:none;background:none;font-size:16px;line-height:1;color:var(--ink);width:22px;height:22px;border-radius:6px;cursor:pointer}.calendar-nav:disabled{opacity:.25;cursor:default}.calendar-nav:not(:disabled):hover{background:var(--accent-soft)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:2px;gap:2px;margin-top:6px}.calendar-labels{margin-top:8px;font-size:10px;font-weight:700;color:var(--muted);text-align:center}.calendar-day{aspect-ratio:1;max-height:32px;border:none;background:none;border-radius:8px;font-size:11.5px;font-weight:600;color:var(--line);cursor:default}.calendar-day.available{color:var(--ink);background:var(--accent-soft);cursor:pointer}.calendar-day.available:hover,.calendar-day.selected{background:var(--accent);color:var(--accent-ink)}.daygroup{margin-top:18px}.daygroup h3{font-size:13px;color:var(--muted);margin-bottom:8px;font-weight:700}.timegrid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px}.timepill{border:1px solid var(--line);background:var(--paper-raised);border-radius:10px;padding:10px 6px;text-align:center;font-weight:700;font-size:13px}.timepill.selected{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.timepill.full{opacity:.35;text-decoration:line-through}.confirm-box{text-align:center;padding:34px 18px}.confirm-check{width:56px;height:56px;border-radius:50%;background:var(--good-soft);color:var(--good);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-size:26px}.resv{border:1px solid var(--line);border-radius:14px;padding:14px;background:var(--paper-raised);display:flex;flex-direction:column;gap:8px}.resv+.resv{margin-top:10px}.resv-top{display:flex;justify-content:space-between;align-items:baseline}.resv-parish{font-weight:700;font-size:14px}.resv-date{font-size:12px;color:var(--muted)}.resv-bottom{display:flex;justify-content:space-between;align-items:center}.resv-status{background:var(--good-soft);color:var(--good);border-radius:999px;padding:4px 9px;font-size:11px;font-weight:700}.kpirow{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}@media (min-width:860px){.kpirow{grid-template-columns:repeat(4,1fr)}}.kpi{border:1px solid var(--line);background:var(--paper-raised);border-radius:14px;padding:14px}.kpi .num{font-family:var(--font-display);font-size:26px;font-weight:700}.kpi .lbl{font-size:11.5px;color:var(--muted);margin-top:2px}.astr-row{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);border-radius:12px;padding:12px 13px;background:var(--paper-raised)}.astr-row+.astr-row{margin-top:8px}.astr-toggle{width:38px;height:22px;border-radius:999px;background:var(--good-soft);position:relative;flex:none;border:none;cursor:pointer}.astr-toggle:after{content:"";position:absolute;width:16px;height:16px;border-radius:50%;background:var(--good);top:3px;right:3px;transition:.15s}.astr-toggle.off{background:var(--line)}.astr-toggle.off:after{background:var(--muted);left:3px;right:auto}.form-grid{display:grid;grid-template-columns:1fr;grid-gap:0;gap:0}@media (min-width:860px){.form-grid{grid-template-columns:1fr 1fr;gap:0 20px}}.blog-grid{display:grid;grid-template-columns:1fr;grid-gap:12px;gap:12px;margin-top:12px}@media (min-width:640px){.blog-grid{grid-template-columns:1fr 1fr}}@media (min-width:900px){.blog-grid.videos{grid-template-columns:repeat(3,1fr)}}.article-card,.video-card{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);cursor:pointer}.video-thumb{height:120px;position:relative;background:linear-gradient(155deg,var(--accent),var(--gold))}.video-thumb:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 75% 20%,rgba(255,255,255,.22),transparent 45%)}.video-thumb .dur{position:absolute;right:8px;bottom:8px;background:rgba(20,24,28,.65);color:#fff;font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:6px}.play-badge{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.92);display:flex;align-items:center;justify-content:center;color:var(--accent);font-size:14px}.article-body,.video-body{padding:13px 14px 15px}.source-tag{font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--gold)}.article-title,.video-title{font-weight:700;font-size:13.5px;margin-top:5px;line-height:1.3}.article-tag{display:inline-block;font-size:10.5px;font-weight:700;color:var(--accent);background:var(--accent-soft);padding:3px 9px;border-radius:999px;margin-bottom:8px}.article-excerpt{font-size:12.5px;color:var(--muted);line-height:1.5;margin-top:6px}.article-meta{font-size:11px;color:var(--muted);margin-top:10px}.pubhoraires{margin-top:6px}.pubhoraires .slot{background:var(--paper)}.badge-info{font-size:11px;font-weight:700;padding:4px 9px;border-radius:999px;background:var(--accent-soft);color:var(--accent)}.pubhoraires-notes{margin:10px 0 0;padding-left:18px;font-size:12.5px;color:var(--muted);line-height:1.5}.pubhoraires-source{font-size:11.5px;color:var(--muted);line-height:1.5;margin-top:10px}.pubhoraires-source a,.site-officiel{color:var(--accent);font-weight:600}.site-officiel{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;margin-top:8px}