@font-face{font-family:ParishSerif;src:local('Georgia')} :root{--paper:#faf7f1;--ink:#302d28;--wine:#6d3c3d;--gold:#a7824e;--muted:#766e63;--line:#dfd6c8;--serif:ParishSerif,Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}button,input{font:inherit}button,summary,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}.wrap{max-width:1280px;margin:auto;padding:0 48px}.skip{position:absolute;top:-100px;z-index:100}.skip:focus{top:10px;left:10px;background:white;padding:10px}.top{background:#eee7da;border-bottom:1px solid var(--line);font-size:10px;letter-spacing:1px}.top .wrap{display:flex;justify-content:space-between;padding-top:8px;padding-bottom:8px}.header{position:sticky;top:0;background:rgba(250,247,241,.98);z-index:40;border-bottom:1px solid var(--line)}.nav{height:88px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;align-items:center;gap:15px}.brand svg{width:35px;height:46px;color:var(--gold)}.brand b{display:block;font:22px var(--serif)}.brand small{display:block;font-size:9px;letter-spacing:2px;color:var(--muted);margin-top:3px}.navlinks{display:flex;align-items:center;gap:27px;font-size:12px}.navlinks a.active,.navlinks a:hover{color:var(--wine);text-decoration:underline;text-underline-offset:7px}.navlinks .contactnav{border:1px solid var(--wine);padding:10px 17px}.menu{display:none;background:none;border:1px solid var(--line);padding:10px}.hero{padding:55px 0 62px;position:relative;background:radial-gradient(ellipse at 10% 20%,#f1e9db,transparent 62%)}.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:65px;align-items:center}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--wine);display:flex;gap:12px;align-items:center}.eyebrow:before{content:'';width:25px;height:1px;background:var(--gold)}h1,h2,h3{font-family:var(--serif);font-weight:400}h1{font-size:clamp(48px,5.6vw,74px);line-height:1.03;letter-spacing:-2.2px;margin:28px 0 26px}h1 em{color:var(--wine);font-weight:400}.hero-copy p{max-width:430px;color:var(--muted);font-size:14px;line-height:1.85;margin:0}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:25px;background:var(--wine);border:1px solid var(--wine);color:white;font-weight:600;font-size:12px;padding:14px 21px;min-height:46px;transition:background .2s}.btn:hover{background:#4f2c2d}.btn.light{background:transparent;color:var(--wine)}.btn.light:hover{background:#eee5d8}.hero-bottom{margin-top:37px;border-top:1px solid var(--line);padding-top:20px;display:flex;gap:26px;font-size:10px;color:var(--muted)}.hero-bottom b{display:block;font:21px var(--serif);color:var(--ink);margin-bottom:4px}.hero-photo{position:relative;padding:15px 15px 0 0}.hero-photo:before{content:'';position:absolute;top:0;left:15px;right:0;bottom:15px;border:1px solid var(--gold);border-radius:250px 250px 0 0}.arch-photo{height:525px;border-radius:250px 250px 0 0;overflow:hidden;position:relative;background:#c8b294}.arch-photo img{height:100%;width:100%;object-fit:cover;object-position:52% center;display:block}.arch-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#2c241ee6,transparent 50%)}.photo-label{position:absolute;bottom:30px;left:30px;right:25px;z-index:2;color:#fff5df}.photo-label small{letter-spacing:1.7px;font-size:9px;display:block}.photo-label strong{font:25px var(--serif);display:block;margin-top:8px}.photo-badge{position:absolute;right:-12px;bottom:90px;width:92px;height:92px;border-radius:50%;background:var(--paper);border:1px solid var(--line);box-shadow:0 6px 25px #302d2810;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--wine);font:30px var(--serif)}.photo-badge small{font:9px Arial;letter-spacing:1.3px;color:var(--muted)}.quickbar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#efe9de}.quicklinks{display:grid;grid-template-columns:repeat(3,1fr)}.quicklinks a{display:flex;gap:18px;align-items:center;padding:27px 30px;border-right:1px solid #d5c9b7}.quicklinks a:first-child{padding-left:0}.quicklinks a:last-child{border:0}.quicklinks .symbol{font:28px var(--serif);color:var(--gold)}.quicklinks .arrow{margin-left:auto;font-size:18px;color:var(--wine)}.quicklinks small{font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);display:block}.quicklinks strong{font:20px var(--serif);font-weight:400;display:block}.quicklinks a:hover strong{color:var(--wine)}section{padding:88px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:33px}h2{font-size:clamp(32px,3.4vw,45px);line-height:1.15;letter-spacing:-1px;margin:20px 0 0}.section-head p{max-width:350px;color:var(--muted);font-size:13px;margin:0}h3{font-size:24px;line-height:1.3;margin:0}.tabs{display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:25px}.tabs button{border:1px solid var(--line);background:transparent;cursor:pointer;padding:11px 21px;font-size:12px;color:var(--muted)}.tabs button[aria-selected=true]{background:var(--wine);border-color:var(--wine);color:white}.mass-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.mass-card{border:1px solid var(--line);padding:27px;background:#fffdfa;position:relative}.mass-card .church-drawing{color:var(--gold);width:32px;height:43px;float:right}.mass-card .tag{font-size:10px;letter-spacing:1.3px;color:var(--muted);text-transform:uppercase}.mass-card h3{font-size:24px;margin-top:17px}.mass-card .sub{font-size:11px;color:var(--muted);margin:6px 0 22px}.times{display:flex;gap:12px;font:33px var(--serif);color:var(--wine);border-top:1px solid var(--line);padding-top:19px}.times span+span:before{content:'·';font-size:20px;color:var(--gold);margin-right:12px}.mass-card p{font-size:12px;color:var(--muted)}.week-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.season-table{width:100%;border-collapse:collapse;font-size:13px}.season-table th,.season-table td{padding:16px;text-align:left;border-bottom:1px solid var(--line)}.season-table th{color:var(--wine)}.note{margin-top:20px;font-size:11px;color:var(--muted);line-height:1.7}.note a{text-decoration:underline;text-underline-offset:3px}.liturgical-note{display:flex;align-items:center;gap:22px;background:#efe8dc;padding:22px 26px;margin-top:25px;border-left:2px solid var(--gold)}.liturgical-note .symbol{font:30px var(--serif);color:var(--wine)}.liturgical-note p{font-size:12px;margin:0;color:var(--muted)}.liturgical-note b{display:block;color:var(--ink);font-size:13px;font-weight:600}.bulletin{background:#3c3830;color:#faf2e2}.bulletin .eyebrow{color:#dbc29a}.bulletin .section-head p{color:#c8c0b3}.bulletin-grid{display:grid;grid-template-columns:1.45fr .8fr;gap:38px}.bulletin-card{padding:32px;border:1px solid #746958;background:#ffffff03}.bulletin-heading{display:flex;align-items:center;gap:24px;border-bottom:1px solid #746958;padding-bottom:22px}.date-box{background:#d2b88a;color:#3c3830;min-width:76px;text-align:center;padding:8px 12px;font:34px var(--serif);line-height:1.2}.date-box small{display:block;letter-spacing:1px;font:9px Arial;line-height:1.8}.bulletin-heading .tag{font-size:9px;letter-spacing:1.4px;color:#ccb893}.bulletin-heading h3{font-size:30px;margin-top:7px}.bulletin-list{list-style:none;padding:0;margin:18px 0 23px}.bulletin-list li{display:flex;gap:17px;padding:13px 0;border-bottom:1px solid #655c4f;font-size:13px;line-height:1.7;color:#d6cdbf}.bulletin-list .num{font:20px var(--serif);color:#cdb389;min-width:20px}.bulletin .btn{background:#d2b88a;color:#302d28;border-color:#d2b88a}.bulletin-side{display:flex;flex-direction:column;gap:22px}.side-card{border:1px solid #746958;padding:26px}.side-card .eyebrow{font-size:9px}.side-card h3{font-size:29px;margin-top:17px}.side-card p{font-size:12px;color:#c8c0b3}.side-card a{font-size:12px;display:block;color:#dec59e;text-decoration:underline;text-underline-offset:4px;margin-top:20px}.bulletin .note{color:#b6ac9c;font-size:10px}.office-grid{display:grid;grid-template-columns:.8fr 1.3fr;gap:70px}.office-hours{margin-top:27px;background:#eee7db;border:1px solid var(--line);padding:27px}.office-hours .row{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #d2c5b0;padding:14px 0;font-size:13px}.office-hours b{font:21px var(--serif);color:var(--wine)}.office-hours .btn{width:100%;margin-top:25px}.sacraments{padding-top:5px}.sacraments details{border-top:1px solid var(--line);padding:23px 0}.sacraments details:last-of-type{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;display:flex;gap:20px;align-items:center;font:24px var(--serif)}summary:after{content:'+';margin-left:auto;color:var(--gold);font:25px Arial}details[open] summary:after{content:'−'}.sacraments summary .smallnum{font:11px Arial;color:var(--gold);min-width:25px}.sacraments p,.sacraments ul{font-size:13px;color:var(--muted);margin-left:45px}.sacraments ul{padding-left:18px}.about{background:#eee7db}.about-grid{display:grid;grid-template-columns:.75fr 1.2fr;gap:70px;align-items:center}.about-photo{border-radius:180px 180px 0 0;overflow:hidden;height:390px;border:8px solid var(--paper);position:relative}.about-photo img{height:100%;width:100%;object-fit:cover;display:block}.about-copy p{font-size:14px;color:var(--muted);margin:24px 0}.timeline{display:grid;grid-template-columns:repeat(4,1fr);margin-top:35px;border-top:1px solid #cabb9f;padding-top:23px;gap:20px}.timeline b{display:block;color:var(--wine);font:29px var(--serif)}.timeline span{font-size:10px;color:var(--muted);line-height:1.6;display:block;margin-top:7px}.community{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.community article{border:1px solid var(--line);padding:25px 22px;background:#fffdfa}.community .icon{font:29px var(--serif);color:var(--gold);height:38px;margin-bottom:22px}.community h3{font-size:22px}.community p{font-size:12px;color:var(--muted)}.community-bottom{display:flex;gap:30px;justify-content:space-between;margin-top:25px;font-size:12px}.community-bottom a{text-decoration:underline;color:var(--wine);text-underline-offset:4px}.gallery{padding-top:0}.gallery-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.gallery-card{display:block}.gallery-card .img{height:230px;overflow:hidden;background:#dfd6c8}.gallery-card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s}.gallery-card:hover img{transform:scale(1.035)}.gallery-card .caption{display:flex;justify-content:space-between;padding:17px 0;border-bottom:1px solid var(--line)}.gallery-card h3{font-size:21px}.gallery-card small{font-size:9px;color:var(--muted);letter-spacing:1.2px}.contact{background:var(--wine);color:#fbf3e5}.contact .eyebrow{color:#e3c79d}.contact-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:80px}.contact h2{font-size:48px}.contact p{color:#d9c5bd;font-size:13px;max-width:340px}.contact .btn{background:#ead9ba;color:var(--wine);border-color:#ead9ba;margin-top:20px}.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:25px;padding-top:10px}.contact-details small{display:block;font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:#d4bfae}.contact-details a,.contact-details address{display:block;overflow-wrap:anywhere;font-style:normal;font-size:17px;margin-top:9px;line-height:1.6}.contact-details a:hover{text-decoration:underline}.contact-details .full{grid-column:1/-1;border-top:1px solid #aa7972;padding-top:20px}.contact-details .note{font-size:10px;color:#dcc6bb;margin:0}.footer{background:#302d28;color:#c8bbaa;padding:32px 0;font-size:10px}.footer .wrap{display:flex;justify-content:space-between;gap:25px;align-items:center}.footer .brand b{color:#fbf3e5;font-size:20px}.footer .brand small{color:#c8bbaa}.footer-links{display:flex;gap:20px}.footer a:hover{text-decoration:underline}.component{padding:50px 0}.component img{max-width:100%;height:auto}.component input,.component textarea{max-width:100%}[hidden]{display:none!important}@media(max-width:1050px){.wrap{padding:0 30px}.hero-grid{gap:35px}h1{font-size:60px}.navlinks{gap:18px}.arch-photo{height:490px}.photo-badge{right:-6px}.quicklinks a{padding:23px 20px}.quicklinks strong{font-size:18px}.office-grid,.about-grid{gap:40px}.mass-card{padding:22px}.times{font-size:29px}.community{grid-template-columns:repeat(2,1fr)}.contact-grid{gap:40px}.gallery-card .img{height:205px}}@media(max-width:700px){.wrap{padding:0 22px}.top .wrap span:last-child{display:none}.nav{height:76px}.brand b{font-size:20px}.brand svg{width:28px;height:40px}.menu{display:block}.navlinks{display:none;position:absolute;top:76px;left:0;right:0;background:var(--paper);padding:24px;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}.navlinks.open{display:flex}.hero{padding:35px 0 42px}.hero-grid{grid-template-columns:1fr;gap:30px}h1{font-size:53px;letter-spacing:-1.8px;margin-top:23px}.hero-copy p{font-size:14px}.hero-bottom{margin-top:26px;padding-top:16px;gap:25px}.hero-photo{max-width:440px;width:100%;margin:auto;padding:11px 11px 0 0}.arch-photo{height:365px;border-radius:210px 210px 0 0}.hero-photo:before{border-radius:210px 210px 0 0;left:11px;bottom:11px}.photo-badge{width:75px;height:75px;bottom:55px;right:-3px;font-size:25px}.photo-label{bottom:22px;left:24px}.photo-label strong{font-size:23px}.quicklinks{grid-template-columns:1fr}.quicklinks a,.quicklinks a:first-child{padding:17px 0;border-right:0;border-bottom:1px solid #d5c9b7}.quicklinks strong{font-size:19px}section{padding:60px 0}.section-head{display:block;margin-bottom:26px}.section-head p{margin-top:18px}.tabs{gap:7px}.tabs button{padding:10px 14px;font-size:11px}.mass-cards,.week-grid{grid-template-columns:1fr}.mass-card{padding:24px}.mass-card h3{font-size:25px}.mass-card .sub{margin-bottom:15px}.times{font-size:34px}.bulletin-grid,.office-grid,.about-grid,.contact-grid{grid-template-columns:1fr;gap:32px}.bulletin-card{padding:24px}.bulletin-heading{gap:18px}.bulletin-heading h3{font-size:24px}.date-box{min-width:61px;font-size:29px}.bulletin-side{display:grid;grid-template-columns:1fr 1fr;gap:12px}.side-card{padding:20px 17px}.side-card h3{font-size:24px}.side-card .eyebrow{letter-spacing:1px;font-size:8px}.side-card .eyebrow:before{display:none}.sacraments summary{font-size:22px}.sacraments p,.sacraments ul{margin-left:35px}.about-photo{height:295px;max-width:380px;width:100%;margin:auto}.timeline{gap:12px;grid-template-columns:repeat(2,1fr);margin-top:25px}.community{gap:12px}.community article{padding:22px 17px}.community h3{font-size:21px}.community-bottom{flex-direction:column;gap:14px}.gallery{padding-top:0}.gallery-cards{grid-template-columns:1fr}.gallery-card .img{height:250px}.gallery-card h3{font-size:23px}.contact h2{font-size:40px}.contact-details{gap:23px}.contact-details a,.contact-details address{font-size:15px}.footer .wrap{flex-direction:column;align-items:start;gap:23px}.footer-links{flex-wrap:wrap;gap:17px}.season-table{font-size:11px}.season-table th,.season-table td{padding:12px 8px}}@media(max-width:370px){.bulletin-side,.community,.contact-details{grid-template-columns:1fr}.contact-details .full{grid-column:auto}h1{font-size:45px}.actions .btn{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.gallery-card img{transition:none}}