/*
Theme Name: St Luke's Revesby – Welcome Home
Theme URI: https://stlukerevesby.com/
Author: St Luke's Parish Revesby
Description: A modern, secure and responsive parish theme recreated from the supplied St Luke's Revesby homepage design.
Version: 3.0.73
Requires at least: 6.5
Tested up to: 6.8
Requires PHP: 7.4.33
Text Domain: stlukes-welcome
*/
:root{--navy:#061f38;--navy-2:#082b4a;--gold:#e7a91f;--gold-dark:#b77c0d;--cream:#fbf7ef;--paper:#fffdf8;--ink:#10253a;--muted:#5f6870;--line:#e8e0d2;--shadow:0 8px 28px rgba(5,31,56,.10);--serif:'Cormorant Garamond',Georgia,serif;--display:'Bodoni Moda',Georgia,serif;--script:'Great Vibes',cursive}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.55}img{max-width:100%;height:auto;display:block}a{color:inherit}.container{width:min(1180px,calc(100% - 44px));margin-inline:auto}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.screen-reader-text:focus{clip:auto!important;width:auto;height:auto;margin:8px;padding:12px;background:#fff;color:#000;z-index:9999}
.site-header{position:absolute;z-index:20;top:0;left:0;right:0;color:#fff;background:linear-gradient(180deg,rgba(2,18,33,.96),rgba(2,18,33,.72),transparent)}.header-inner{min-height:86px;display:flex;align-items:center;gap:28px}.site-branding{display:flex;align-items:center;text-decoration:none;color:#fff;min-width:235px}.logo-drawing{font-size:2.6rem;line-height:1;margin-right:10px}.brand-copy{display:flex;flex-direction:column;line-height:1}.brand-copy strong{font-family:var(--display);font-size:1.45rem;letter-spacing:.03em}.brand-copy small{font-size:.72rem;letter-spacing:.17em;margin-top:5px}.primary-nav{margin-left:auto}.primary-nav ul{display:flex;align-items:center;gap:27px;list-style:none;margin:0;padding:0}.primary-nav a{display:block;padding:31px 0 24px;color:#fff;text-decoration:none;text-transform:uppercase;font-size:.73rem;font-weight:700;letter-spacing:.035em;border-bottom:2px solid transparent}.primary-nav a:hover,.primary-nav .current-menu-item>a{border-color:var(--gold);color:#fff}.menu-toggle{display:none;margin-left:auto;border:0;background:transparent;color:#fff;font-size:1.8rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;border-radius:5px;text-decoration:none;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em;transition:.2s ease}.button:hover{transform:translateY(-1px)}.button--gold,.header-donate{background:linear-gradient(#efb635,#d99b16);color:#fff;box-shadow:0 8px 18px rgba(0,0,0,.18)}.header-donate{white-space:nowrap}.button--outline-light{border:1px solid rgba(255,255,255,.85);color:#fff;background:rgba(7,27,44,.25)}
.hero{position:relative;min-height:470px;padding-top:86px;display:flex;align-items:center;background:linear-gradient(110deg,#061a2c 0%,#0b2942 52%,#7e7162 100%);overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 45%,rgba(246,180,94,.36),transparent 30%),linear-gradient(90deg,rgba(4,19,33,.98) 0%,rgba(4,19,33,.91) 42%,rgba(4,19,33,.35) 70%,rgba(4,19,33,.08) 100%)}.hero:after{content:"";position:absolute;inset:auto 0 0;height:110px;background:linear-gradient(transparent,rgba(2,19,33,.75))}.hero-church{position:absolute;z-index:0;left:45%;bottom:0;width:320px;height:365px;opacity:.58;filter:drop-shadow(0 10px 15px rgba(0,0,0,.4))}.church-body{position:absolute;left:65px;right:65px;bottom:0;height:250px;background:#5b4937;border:4px solid rgba(30,19,11,.7);border-bottom:0}.church-roof{position:absolute;left:35px;top:74px;width:250px;height:130px;background:#5b4937;clip-path:polygon(50% 0,100% 72%,88% 72%,88% 100%,12% 100%,12% 72%,0 72%);border:4px solid rgba(30,19,11,.45)}.church-cross{position:absolute;left:145px;top:0;color:#1a120c;font-size:4.3rem;line-height:1}.hero-family{position:absolute;z-index:1;right:3.5%;bottom:0;width:min(43vw,500px);max-height:390px;object-fit:contain;object-position:bottom;filter:drop-shadow(0 12px 24px rgba(0,0,0,.45))}.hero-inner{position:relative;z-index:2}.hero-copy{max-width:590px;color:#fff;padding:48px 0 54px}.hero-script{font-family:var(--script);font-size:4.15rem;line-height:.85;color:var(--gold);margin:0 0 10px 24px}.hero h1{font-family:var(--display);font-weight:500;text-transform:uppercase;letter-spacing:-.025em;font-size:clamp(3.4rem,6.2vw,6rem);line-height:.95;margin:0;text-shadow:0 2px 18px rgba(0,0,0,.3)}.hero-tagline{font-family:var(--serif);font-size:1.35rem;margin:20px 0 28px}.button-row{display:flex;flex-wrap:wrap;gap:14px}
.values-strip{background:linear-gradient(90deg,#06305a,#061d36);color:#fff}.values-grid{display:grid;grid-template-columns:repeat(4,1fr);min-height:86px;align-items:center}.value-item{display:flex;align-items:center;gap:15px;padding:17px 28px}.value-item>span{color:var(--gold);font-size:2.3rem;line-height:1}.value-item strong{display:block;font-family:var(--serif);font-size:1.08rem}.value-item small{display:block;color:rgba(255,255,255,.8);font-size:.75rem;line-height:1.35}
.section{padding:34px 0}.section--cream{background:var(--cream)}.split-panel{display:grid;grid-template-columns:1fr 1.1fr;gap:16px}.panel{background:rgba(255,255,255,.58);border:1px solid var(--line);border-radius:9px;box-shadow:0 2px 8px rgba(37,47,55,.04);padding:28px}.panel h2,.section-heading-row h2{font-family:var(--serif);text-transform:uppercase;letter-spacing:.03em;font-size:1.55rem;margin:0}.gold-line{width:38px;height:3px;background:var(--gold);margin:9px 0 24px}.mass-columns{display:grid;grid-template-columns:1fr 1fr;gap:36px}.mass-columns h3{font-family:var(--serif);text-transform:uppercase;font-size:.95rem;letter-spacing:.03em}.mass-columns dl{display:grid;grid-template-columns:1fr auto;gap:8px 18px;margin:0 0 18px}.mass-columns dt,.mass-columns dd{font-family:var(--serif);font-size:.95rem;margin:0}.text-link{font-family:var(--serif);font-size:.95rem;color:#0c3158;text-decoration:none}.priest-panel{display:grid;grid-template-columns:160px 1fr;gap:26px;align-items:center}.priest-panel img{width:150px;height:150px;border-radius:50%;object-fit:cover}.priest-panel .kicker{font-family:var(--serif);text-transform:uppercase;font-weight:700;letter-spacing:.08em;font-size:.8rem}.priest-panel h2{font-family:var(--serif);text-transform:none;font-size:1.7rem}.priest-panel p{font-family:var(--serif);font-size:1rem;margin:.6em 0}
.cards-section{padding-top:8px}.ministry-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}.ministry-card{position:relative;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:7px;box-shadow:0 3px 10px rgba(27,41,52,.05)}.ministry-card>img{width:100%;height:130px;object-fit:cover}.ministry-icon{position:absolute;top:112px;left:16px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:#fff;border:3px solid var(--cream);font-size:1rem}.ministry-body{padding:22px 17px 17px}.ministry-body h3{font-family:var(--serif);font-size:1.15rem;text-transform:uppercase;margin:0 0 8px}.ministry-body p{font-family:var(--serif);font-size:.92rem;line-height:1.35;min-height:72px;margin:0 0 12px}.ministry-body a{font-family:var(--serif);font-size:.9rem;color:#0b3155;text-decoration:none}
.quick-links-section{padding-top:8px}.quick-links-grid{display:grid;grid-template-columns:repeat(5,1fr);background:rgba(255,255,255,.55);border:1px solid var(--line);border-radius:8px;overflow:hidden}.quick-links-grid a{display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;column-gap:10px;padding:16px 18px;text-decoration:none;border-right:1px solid var(--line)}.quick-links-grid a:last-child{border-right:0}.quick-links-grid span{grid-row:1/3;font-size:1.8rem;color:#0d3154}.quick-links-grid b{font-family:var(--serif);text-transform:uppercase;font-size:.88rem}.quick-links-grid small{font-family:var(--serif);font-size:.75rem}
.news-events{padding-top:18px;padding-bottom:32px}.news-events-grid{display:grid;grid-template-columns:1.45fr .95fr;gap:26px}.section-heading-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.section-heading-row a{font-family:var(--serif);font-size:.78rem;text-decoration:none}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.news-card{display:grid;grid-template-columns:100px 1fr;gap:10px}.news-thumb img{width:100px;height:104px;object-fit:cover;border-radius:5px}.news-card time{font-family:var(--serif);text-transform:uppercase;font-size:.62rem}.news-card h3{font-family:var(--serif);font-size:.88rem;line-height:1.2;margin:4px 0}.news-card h3 a{text-decoration:none}.news-card p{font-family:var(--serif);font-size:.67rem;line-height:1.25;margin:0}.events-panel{background:rgba(255,255,255,.45);border:1px solid var(--line);border-radius:7px;padding:18px}.event-row{display:grid;grid-template-columns:48px 1fr;gap:14px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}.date-box{border:1px solid var(--line);border-radius:5px;background:#fff;text-align:center;line-height:1}.date-box span{display:block;text-transform:uppercase;font-size:.58rem;padding-top:7px}.date-box b{display:block;font-family:var(--serif);font-size:1.5rem;padding:3px 0 7px}.event-row strong,.event-row small{display:block;font-family:var(--serif)}.event-row strong{font-size:.9rem}.event-row small{font-size:.75rem}
.site-footer{background:linear-gradient(90deg,#051a2e,#06243e);color:#fff;padding:38px 0 0}.footer-grid{display:grid;grid-template-columns:1.25fr repeat(4,1fr);gap:36px}.site-footer h3{font-family:var(--serif);text-transform:uppercase;font-size:.9rem;letter-spacing:.03em;margin:0 0 13px}.site-footer p,.site-footer li,.site-footer a{font-family:var(--serif);font-size:.78rem;color:rgba(255,255,255,.88)}.site-footer ul{list-style:none;margin:0;padding:0}.site-footer li{margin-bottom:6px}.site-footer a{text-decoration:none}.footer-logo{display:grid;grid-template-columns:32px 1fr;align-items:center;font-family:var(--display);font-size:1rem}.footer-logo strong{font-size:1.1rem}.footer-logo small{grid-column:2;font-size:.61rem;letter-spacing:.12em}.socials{display:flex;gap:14px}.socials a{font-family:Arial;font-weight:bold}.footer-bottom{margin-top:28px;padding:14px 0;border-top:1px solid rgba(255,255,255,.13);display:flex;justify-content:space-between;gap:25px}.footer-bottom span:last-child{display:flex;gap:25px}
.page-header{padding:145px 0 55px;color:#fff;background:var(--navy)}.page-header h1{font-family:var(--display);font-size:3.3rem}.content-shell{padding:55px 0}.entry-content{background:#fff;border:1px solid var(--line);border-radius:8px;padding:38px;box-shadow:var(--shadow)}
@media(max-width:1050px){.primary-nav{display:none;position:absolute;top:75px;left:20px;right:20px;background:var(--navy);padding:20px;border-radius:8px}.primary-nav.is-open{display:block}.primary-nav ul{display:block}.primary-nav a{padding:10px 0}.menu-toggle{display:block}.header-donate{display:none}.hero-family{right:-2%;width:min(52vw,500px)}.hero-church{left:43%}.values-grid{grid-template-columns:repeat(2,1fr)}.split-panel,.news-events-grid{grid-template-columns:1fr}.ministry-grid{grid-template-columns:repeat(3,1fr)}.quick-links-grid{grid-template-columns:repeat(3,1fr)}.footer-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.container{width:min(100% - 28px,1180px)}.site-header{position:absolute}.header-inner{min-height:72px}.site-branding{min-width:0}.brand-copy strong{font-size:1.1rem}.brand-copy small{font-size:.58rem}.hero{min-height:650px;align-items:flex-start}.hero:before{background:linear-gradient(180deg,#061b2e 0%,rgba(6,27,46,.96) 55%,rgba(6,27,46,.24) 100%)}.hero-family{right:50%;transform:translateX(50%);width:min(90vw,430px);max-height:335px}.hero-church{left:50%;transform:translateX(-50%);bottom:0;opacity:.35}.hero-copy{padding-top:60px}.hero-script{font-size:3.2rem;margin-left:0}.hero h1{font-size:3.25rem}.button-row{align-items:stretch}.button-row .button{width:100%}.values-grid,.mass-columns,.ministry-grid,.quick-links-grid,.news-grid,.footer-grid{grid-template-columns:1fr}.value-item{border-bottom:1px solid rgba(255,255,255,.08)}.priest-panel{grid-template-columns:1fr;text-align:center}.priest-panel img{margin:auto}.quick-links-grid a{border-right:0;border-bottom:1px solid var(--line)}.news-card{grid-template-columns:92px 1fr}.footer-bottom{flex-direction:column}.footer-bottom span:last-child{flex-wrap:wrap}.ministry-body p{min-height:0}}
