
:root{--ink:#202638;--pink:#edabb6;--yellow:#ffe394;--purple:#553781;--paper:#fffaf3}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font:17px/1.6 'DM Sans',sans-serif}a{color:inherit;text-underline-offset:5px}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #12808b;outline-offset:5px}.concept{background:var(--ink);color:white;text-align:center;padding:7px 20px;font-size:13px;letter-spacing:.04em}.wrap{max-width:1180px;margin:auto;padding:0 48px}.top{background:var(--pink)}header{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-top:26px!important;padding-bottom:26px!important}.brand{text-decoration:none;display:flex;align-items:center;gap:12px}.brand strong{font-size:29px;letter-spacing:-1px}.brand span{font-size:12px;line-height:1.35;max-width:135px}nav{display:flex;gap:25px;font-size:14px;font-weight:700}nav a{text-decoration:none}nav a:hover{text-decoration:underline}.menu{display:none;background:none;border:1px solid var(--ink);padding:8px 14px;border-radius:24px}.hero{padding-top:34px;padding-bottom:72px;position:relative}.eyebrow{font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;margin:0 0 18px}.hero h1{font:800 clamp(66px,10vw,126px)/.9 'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:-.025em;margin:0 0 26px;max-width:850px}.hero h1 span{color:var(--yellow);text-shadow:0 1px 0 #b57985}.hero p.lead{max-width:550px;font-size:20px;line-height:1.5;margin:0 0 27px}.actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:12px 24px;border-radius:30px;text-decoration:none;font-size:15px;font-weight:700;background:var(--ink);color:white;border:2px solid var(--ink)}.button.secondary{background:transparent;color:var(--ink)}.button:hover{filter:brightness(.92)}.quick{background:var(--yellow)}.quick .wrap{display:grid;grid-template-columns:1fr 1fr 1fr;gap:25px;padding-top:23px;padding-bottom:23px}.quick strong{display:block;font-size:16px}.quick span,.quick a{font-size:14px}.section{padding-top:68px;padding-bottom:68px}h2{font:700 clamp(38px,5vw,60px)/1 'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:-.01em;margin:0 0 22px}h3{font-size:22px;line-height:1.2;margin:0 0 12px}p{margin:0 0 20px}.welcome{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px}.welcome .intro{font-size:18px}.visit-list{border-top:1px solid #c9c3bf}details{border-bottom:1px solid #c9c3bf;padding:16px 0}summary{cursor:pointer;font-weight:700;padding-right:12px}details p{font-size:16px;margin:12px 0 0}.hub{background:var(--purple);color:white;border-radius:65px 65px 0 0}.hub-top{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.hub h2{font-size:80px;color:var(--yellow)}.hub-photo{width:100%;height:320px;object-fit:cover;object-position:center;border-radius:170px 170px 35px 35px}.hub .eyebrow{color:var(--yellow)}.hub-services{margin-top:42px;display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.service{border-top:1px solid #a18fb8;padding-top:22px}.service h3{font-size:21px}.service p{font-size:15px;line-height:1.6;min-height:74px}.service a{font-size:15px;font-weight:700;color:var(--yellow)}.events{display:flex;align-items:center;justify-content:space-between;gap:45px;background:var(--yellow)}.events h2{margin-bottom:12px}.events p{max-width:560px;margin-bottom:0}.events .button{flex-shrink:0}.contact{background:var(--ink);color:white}.contact .wrap{display:grid;grid-template-columns:1.1fr 1fr;gap:50px;padding-top:48px;padding-bottom:38px}.contact h2{font-size:42px}.contact p{font-size:15px}.contact a{display:inline-block;margin-bottom:6px}.smallprint{font-size:12px;border-top:1px solid #596071;padding:18px 0!important;max-width:1084px;margin:auto;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.smallprint a{margin-right:18px}.skip{position:absolute;left:-9999px}.skip:focus{left:15px;top:10px;background:white;padding:12px;z-index:5}@media(max-width:760px){.wrap{padding-left:24px;padding-right:24px}header{flex-wrap:wrap}.brand span{display:none}.menu{display:block}nav{display:none;width:100%;flex-wrap:wrap;gap:20px;padding:12px 0}nav.open{display:flex}.hero{padding-top:24px;padding-bottom:44px}.hero h1{font-size:clamp(60px,13vw,96px)}.hero p.lead{font-size:18px}.quick .wrap{grid-template-columns:1fr;gap:13px}.quick strong{display:inline;margin-right:10px}.section{padding-top:44px;padding-bottom:44px}.welcome,.hub-top{grid-template-columns:1fr;gap:28px}.hub{border-radius:35px 35px 0 0}.hub h2{font-size:66px}.hub-photo{height:290px;max-width:440px}.hub-services{grid-template-columns:1fr 1fr;gap:25px}.service p{min-height:0}.events{display:block}.events .button{margin-top:23px}.contact .wrap{grid-template-columns:1fr;gap:10px}.smallprint{padding:18px 24px!important}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

body{--heading:'Manrope',sans-serif;--heading-case:none;--heading-weight:800;--hero-size:clamp(40px,6.8vw,82px)}
body[data-font="friendly"]{--heading:'Nunito',sans-serif;--heading-weight:800}
body[data-font="classic"]{--heading:'DM Serif Display',Georgia,serif;--heading-weight:400;--hero-size:clamp(42px,7.3vw,90px)}
body[data-font="original"]{--heading:'Barlow Condensed',sans-serif;--heading-case:uppercase;--heading-weight:900;--hero-size:clamp(64px,11.5vw,150px)}
.hero h1,h2,.hub h2,.contact h2{font-family:var(--heading);font-weight:var(--heading-weight);text-transform:var(--heading-case);line-height:1.1;letter-spacing:-.035em;overflow-wrap:break-word}
.hero h1{font-size:var(--hero-size);max-width:100%}h2{font-size:clamp(32px,4.3vw,48px)}.hub h2{font-size:clamp(38px,5vw,60px)}.contact h2{font-size:36px}
.font-picker{background:#fff;color:#202638;padding:18px 24px;border-bottom:1px solid #ddd;display:flex;align-items:center;justify-content:center;gap:12px 20px;flex-wrap:wrap;font:15px/1.5 'DM Sans',sans-serif}.font-options{display:flex;gap:8px;flex-wrap:wrap}.font-options button{border:1px solid #c7c9cf;background:#fff;color:#202638;border-radius:8px;padding:10px 15px;cursor:pointer;min-height:44px}.font-options button[aria-pressed="true"]{background:#202638;color:white;border-color:#202638}.font-note{flex-basis:100%;text-align:center;margin:0;font-size:14px}.font-options button[data-choice="modern"]{font-family:'Manrope',sans-serif}.font-options button[data-choice="friendly"]{font-family:'Nunito',sans-serif}.font-options button[data-choice="classic"]{font-family:'DM Serif Display',Georgia,serif}.font-options button[data-choice="original"]{font-family:'Barlow Condensed',sans-serif;font-size:18px}
@media(max-width:420px){.hero h1{font-size:36px}body[data-font="original"] .hero h1{font-size:clamp(52px,14.8vw,62px)}.font-picker{padding:16px}.font-options{justify-content:center}}

body[data-font="original"] .hero h1{line-height:.94;letter-spacing:-.025em}
body[data-font="original"] h2{font-size:clamp(46px,6vw,72px);line-height:1}
body[data-font="original"] .hub h2{font-size:clamp(58px,8vw,94px)}
body[data-font="original"] .contact h2{font-size:clamp(42px,5vw,58px)}
.hero p.welcome-message{max-width:760px;font-size:clamp(18px,2.2vw,22px);line-height:1.6}.welcome-message strong{display:block;margin-bottom:8px;font-weight:700}

.photo-frame{margin:0;min-width:0;background:#f5d5a3;border:2px dashed #876748;border-radius:28px;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;padding:24px;text-align:center;color:#493d34}
.photo-frame figcaption{display:flex;flex-direction:column;gap:8px;font:700 18px/1.4 'DM Sans',sans-serif}
.photo-frame small{font-size:14px;font-weight:400}
.photo-frame .photo-mark{font-size:34px;line-height:1;font-weight:400}
.community-photos{display:grid;grid-template-columns:1.4fr 1fr;gap:24px;padding-top:38px;padding-bottom:8px;align-items:end}
.community-photos .photo-frame:first-child{aspect-ratio:16/9;border-radius:100px 100px 28px 28px}
.community-photos .photo-frame:last-child{background:#edc6ce;border-color:#906773;color:#573e46}
.visit-photo{margin-top:28px;aspect-ratio:3/2;background:#e2e8d9;border-color:#687658;color:#3d4932}
.service .photo-frame{aspect-ratio:4/3;padding:16px;margin-bottom:22px;border:2px dashed #c5b4dc;background:#6c4c96;color:#fff;border-radius:22px}
.service .photo-frame figcaption{font-size:16px}.service .photo-frame small{font-size:13px}
@media(max-width:760px){.community-photos{grid-template-columns:1fr;gap:18px;padding-top:26px}.community-photos .photo-frame:last-child{aspect-ratio:16/9}.photo-frame{padding:20px}}

/* Circular photographs and placeholders across all screen sizes. */
.photo-frame,
.community-photos .photo-frame:first-child,
.community-photos .photo-frame:last-child,
.service .photo-frame,
.visit-photo{aspect-ratio:1 / 1;border-radius:50%;width:100%;padding:15%;overflow:hidden}
.community-photos{grid-template-columns:1fr 1fr;align-items:center;gap:48px}
.community-photos .photo-frame{max-width:460px;justify-self:center}
.visit-photo{max-width:380px}
.service .photo-frame{padding:12%;margin-bottom:22px}
.service .photo-frame small{display:none}
.hub-photo{aspect-ratio:1 / 1;width:100%;height:auto;border-radius:50%;object-fit:cover;max-width:480px;justify-self:center}
@media(max-width:760px){.community-photos{grid-template-columns:1fr;gap:24px}.community-photos .photo-frame{max-width:380px}.visit-photo{margin-left:auto;margin-right:auto}.hub-photo{height:auto;max-width:380px}}

.service-photo{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;object-position:center;border-radius:50%;margin-bottom:22px}

.photo-frame.filled-photo,.community-photos .photo-frame.filled-photo{padding:0;border:0;background:transparent}.filled-photo img{display:block;width:100%;height:100%;aspect-ratio:1;object-fit:cover;border-radius:50%}

.hub{border-radius:0}

/* Shared page layouts */
.site-header{background:var(--pink)}nav{gap:21px}nav a[aria-current="page"]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:7px}
.page-hero{background:var(--pink);padding:38px 0 48px}.page-hero.purple{background:var(--purple);color:white}.page-hero.yellow{background:var(--yellow)}
.breadcrumb{font-size:14px;margin:0 0 28px}.page-hero h1{font:900 clamp(62px,9vw,108px)/.94 'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:-.025em;margin:0 0 22px;overflow-wrap:break-word}.page-hero .intro{font-size:21px;max-width:720px;margin-bottom:0}.page-hero.purple h1{color:var(--yellow)}
.split{display:grid;grid-template-columns:1.15fr 1fr;gap:60px;align-items:start}.split>*{min-width:0}.page-body h2{font:900 clamp(42px,5vw,60px)/1 'Barlow Condensed',sans-serif;text-transform:uppercase}.page-body h3{font-size:23px}.page-body p{max-width:740px}.page-body section+section{border-top:1px solid #d8d0c6}.page-body .section{padding-top:52px;padding-bottom:52px}
.fact-panel{padding:30px;background:var(--yellow)}.fact-panel h2{font-size:42px!important}.fact-panel p:last-child{margin-bottom:0}.facts{margin:0}.facts div{padding:13px 0;border-bottom:1px solid #cdb97f}.facts div:last-child{border-bottom:0}.facts dt{font-weight:700}.facts dd{margin:3px 0 0}.link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.link-tile{padding:25px 0;border-top:2px solid var(--ink);display:flex;flex-direction:column;align-items:flex-start}.link-tile p{font-size:16px}.link-tile a{font-weight:700;margin-top:auto}.link-tile h3{margin-bottom:12px}.circle{width:100%;aspect-ratio:1;height:auto;border-radius:50%;object-fit:cover;max-width:380px;display:block;margin:0 auto}.link-tile .circle{margin-bottom:22px;max-width:240px}.page-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}.band{background:var(--yellow)}.quiet{font-size:15px}.source-links{display:flex;flex-wrap:wrap;gap:12px 24px;font-size:14px;margin-top:25px}.calendar-frame{width:100%;height:680px;border:1px solid #d8d0c6;background:white;margin-top:24px}.calendar-help{font-size:15px}.contact-links a{overflow-wrap:anywhere}.page-body ul,.page-body ol{padding-left:23px}.page-body li{margin-bottom:7px}.footer-links{display:flex;flex-wrap:wrap;gap:12px 22px;padding:20px 0}.service-jump{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:24px}.page-hero.purple .button{background:var(--yellow);color:var(--ink);border-color:var(--yellow)}.photo-caption{font-size:12px;margin-top:12px;text-align:center}.content-stack>*+*{margin-top:30px}.page-body details{margin-top:10px}.page-body summary{font-size:18px}.page-body details p{margin-bottom:15px}
@media(max-width:900px){header{gap:18px}nav{gap:14px;font-size:13px}.link-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.split{grid-template-columns:1fr;gap:28px}.page-hero{padding:25px 0 35px}.page-hero .intro{font-size:18px}.page-body .section{padding:36px 24px}.link-grid{grid-template-columns:1fr}.link-tile{padding:20px 0}.fact-panel{padding:24px}.calendar-frame{height:600px}.page-hero h1{font-size:clamp(54px,12vw,80px)}}

/* Original WWSBC identity. */
.site-header{background:var(--pink);isolation:isolate}.brand{flex-shrink:0}.church-logo{display:block;width:260px;max-width:100%;height:auto;mix-blend-mode:multiply}
@media(max-width:1000px){header{flex-wrap:wrap}.menu{display:block}nav{display:none;width:100%;flex-wrap:wrap;gap:20px;padding:12px 0}nav.open{display:flex}}
@media(max-width:420px){.church-logo{width:200px}header{gap:14px}}

/* Vision and values */
.vision-section{background:var(--purple);color:#fff}.vision-section h2{color:var(--yellow);font-size:clamp(54px,7vw,86px)!important}.vision-tagline{font-size:clamp(23px,3vw,32px);font-weight:700;line-height:1.3}.vision-copy{max-width:760px;font-size:19px}.values-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:30px}.value-block{background:var(--yellow);padding:30px;display:flex;flex-direction:column}.value-block:nth-child(2){background:var(--pink)}.value-block:nth-child(3){background:#e7ddf1}.page-body .value-block h3{font:900 clamp(32px,4vw,45px)/1 'Barlow Condensed',sans-serif;text-transform:uppercase}.value-block a{font-weight:700;margin-top:auto}.belief-intro{margin-top:32px}.creed{line-height:1.85}#beliefs ol{max-width:820px;padding-top:16px}#beliefs li{margin-bottom:18px}.about-jump{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:26px;font-size:16px;font-weight:700}@media(max-width:760px){.values-grid{grid-template-columns:1fr}.value-block{padding:24px}.vision-copy{font-size:17px}}

/* Accessible disclosure navigation */
.site-header{position:relative;z-index:20}#navigation{align-items:center;gap:18px}.nav-group{position:relative}.nav-toggle{display:flex;align-items:center;gap:7px;font:inherit;font-weight:700;border:0;background:transparent;color:inherit;padding:12px 0;cursor:pointer}.nav-chevron{font-size:18px;line-height:1;transition:transform .15s}.nav-toggle[aria-expanded="true"] .nav-chevron{transform:rotate(180deg)}.nav-toggle.is-current{text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:2px}.nav-dropdown{position:absolute;left:-16px;top:100%;min-width:235px;padding:10px;background:var(--paper);color:var(--ink);border:1px solid #c8a0aa;box-shadow:0 12px 26px #20263824;z-index:25}.nav-dropdown[hidden]{display:none}.nav-dropdown a{display:block;min-height:44px;padding:10px 12px;white-space:nowrap;text-decoration:none;font-size:15px;line-height:1.5;border-radius:3px}.nav-dropdown a:hover,.nav-dropdown a:focus-visible{background:var(--yellow);color:var(--ink)}.nav-dropdown a:first-child{border-bottom:1px solid #ded4ca;margin-bottom:5px}.nav-toggle:focus-visible{outline:3px solid #12808b;outline-offset:5px}
@media(max-width:1000px){#navigation.open{display:flex;flex-direction:column;align-items:stretch;gap:0}#navigation>.nav-group,#navigation>a{width:100%;border-bottom:1px solid #b57e8a}#navigation>a{padding:14px 0;font-size:16px} .nav-toggle{width:100%;justify-content:space-between;min-height:48px;font-size:16px}.nav-dropdown{position:static;min-width:0;box-shadow:none;border:0;border-left:3px solid var(--purple);margin:0 0 14px;padding:5px;background:var(--paper)}.nav-dropdown a{white-space:normal}.nav-group:last-child .nav-dropdown{left:auto}}
@media(prefers-reduced-motion:reduce){.nav-chevron{transition:none}}

.trustees{margin-top:32px}.trustees ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 32px;padding-left:20px}@media(max-width:760px){.trustees ul{grid-template-columns:1fr}}

/* Portrait spaces for the church team and trustees. */
.person-photo-placeholder{width:100%;max-width:220px;aspect-ratio:1/1;border-radius:50%;border:2px dashed #927ba8;background:#eee7f3;display:flex;align-items:center;justify-content:center;text-align:center;color:#553781;margin:0 0 24px;font-size:15px;line-height:1.5;flex-shrink:0}
#people .link-tile:nth-child(3n+2) .person-photo-placeholder{background:#f7dbe1;border-color:#b5818d;color:#64394a}
#people .link-tile:nth-child(3n) .person-photo-placeholder{background:#ffedb9;border-color:#a68b43;color:#65501d}
.trustees{margin-top:45px}.trustees ul{list-style:none;padding:0;gap:30px}.trustees li{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.trustees .person-photo-placeholder{max-width:180px;margin-bottom:16px}.trustee-name{font-weight:700;font-size:18px}
@media(max-width:760px){#people .link-tile{align-items:center;text-align:center}.trustees ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px}.trustees li{align-items:center;text-align:center}.trustee-name{font-size:16px}.person-photo-placeholder{max-width:200px}.trustees .person-photo-placeholder{font-size:14px}}

/* Migrated church information and document layouts. */
.reading-copy{width:100%;max-width:880px}.reading-copy p,.reading-copy li{line-height:1.75}.reading-copy h3{margin-top:30px}.reading-copy a{overflow-wrap:anywhere}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left}th,td{padding:14px 12px;border-bottom:1px solid #baaebf}caption{text-align:left;font-weight:bold;margin-bottom:12px}.recycling-slide{margin:28px 0}.recycling-slide img{display:block;width:100%;height:auto;border:1px solid #d4c8d8}.recycling-slide figcaption{font-size:14px;margin-top:8px}
.staff-portrait{object-fit:cover;border:0;display:block}

/* Consistent site-wide identity, with room for the menu on small screens. */
.church-logo{width:360px}
@media(max-width:1120px){header{flex-wrap:wrap}.brand{max-width:calc(100% - 90px)}.church-logo{width:300px}.menu{display:block}#navigation{display:none;width:100%}#navigation.open{display:flex;flex-direction:column;align-items:stretch;gap:0}#navigation>.nav-group,#navigation>a{width:100%;border-bottom:1px solid #b57e8a}#navigation>a{padding:14px 0}.nav-toggle{width:100%;justify-content:space-between;min-height:48px}.nav-dropdown{position:static;min-width:0;box-shadow:none;border:0;border-left:3px solid var(--purple);margin:0 0 14px;padding:5px}.nav-dropdown a{white-space:normal}}
@media(max-width:420px){.church-logo{width:240px}}

/* Match the logo to the main heading, removing the original white backdrop. */
.church-logo{filter:none;mix-blend-mode:normal;background:transparent;border:0;box-shadow:none}

/* Location map and practical visiting information. */
.location-map{display:block;width:100%;height:420px;border:0;margin:24px 0}.location-map + p{margin-top:24px}
@media(max-width:760px){.location-map{height:320px}}

/* Simple prayer enquiry form. */
.prayer-request-form{max-width:640px;margin:26px 0 28px}.prayer-request-form label{display:block;font-weight:700;margin:0 0 8px}.prayer-request-form input,.prayer-request-form textarea{display:block;width:100%;padding:12px 14px;margin:0 0 22px;border:1px solid #857a8c;border-radius:4px;background:#fff;color:var(--ink);font:inherit}.prayer-request-form textarea{resize:vertical;min-height:130px}.prayer-request-form .button{cursor:pointer}.prayer-request-form input:focus-visible,.prayer-request-form textarea:focus-visible{outline:3px solid #12808b;outline-offset:3px}.prayer-request-form [role="status"]:empty{display:none}.prayer-request-form [role="status"]{margin-top:18px}.prayer-request-form .button+p+p{margin-top:18px}

/* Original children and youth ministry logos. */
.ministry-heading{display:flex;align-items:center;gap:28px;margin:30px 0 22px}.ministry-heading h2,.ministry-heading h3{margin:0!important;min-width:0}.ministry-logo{display:block;position:relative;width:160px;height:160px;flex:0 0 160px;overflow:hidden}.ministry-logo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.ministry-logo--pickle img{object-position:top}@media(max-width:560px){.ministry-heading{gap:18px}.ministry-logo{width:100px;height:100px;flex-basis:100px}.ministry-heading h2{font-size:clamp(30px,8vw,44px)!important}}

/* Original Hub activity branding. */
.hub-branded-title{display:flex;align-items:center;gap:32px;margin-bottom:24px}.hub-branded-title>img{width:180px;height:180px;object-fit:contain;flex:0 0 180px}.hub-branded-title h1{margin:0!important;min-width:0}.hub-activity-logo{display:block;width:150px;height:140px;object-fit:contain;margin:24px 0 14px}@media(max-width:640px){.hub-branded-title{align-items:flex-start;flex-direction:column;gap:18px}.hub-branded-title>img{width:130px;height:130px;flex-basis:auto}.hub-activity-logo{width:130px;height:120px}}

.staff-portrait[src^="/images/sara-kennett"]{object-position:center top}

/* Centre team and trustee profiles at every screen size. */
#people>div>h2,#people .trustees>h3{text-align:center}
#people .link-tile{text-align:center;align-items:center}
#people .person-photo-placeholder{margin-left:auto;margin-right:auto}
#people .trustees li{align-items:center;text-align:center}

.staff-portrait[src^="/images/jon-hills"]{object-position:center top}

.ministry-logo--lite-bite img{object-fit:contain}

/* Consistent typography for all children and youth group names. */
body[data-font="original"] .page-body .ministry-heading h2,
body[data-font="original"] .page-body .ministry-heading h3{
 font:900 clamp(30px,4vw,44px)/1.1 'Barlow Condensed',sans-serif!important;
 text-transform:uppercase;letter-spacing:normal;
}

.talks-service-image{object-fit:contain;background:#f5f3ef;padding:22px}

.social-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:28px}.social-panel{min-width:0;border-top:2px solid var(--ink);padding-top:20px}.social-panel h3{margin:0}.social-embed{width:100%;max-width:500px;margin-top:20px;overflow:auto}.social-embed iframe{display:block}.social-load[hidden]{display:none}.social-embed .instagram-media{margin:0!important}@media(max-width:760px){.social-grid{grid-template-columns:1fr}}

.social-youtube{grid-column:1/-1}.social-youtube .social-embed{max-width:900px}.social-youtube iframe{width:100%;height:auto;aspect-ratio:16/9;min-height:200px}

.site-social-links{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;padding:24px 0}.site-social-links a{display:inline-flex;align-items:center;gap:9px;min-height:44px;font-size:16px;font-weight:700;text-decoration:none;color:inherit}.site-social-links svg{flex-shrink:0}.site-social-links a:hover span{text-decoration:underline}.site-social-links a:focus-visible{outline:3px solid currentColor;outline-offset:5px}

.community-photos{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.community-photos .photo-frame{width:100%}@media(max-width:760px){.community-photos{grid-template-columns:1fr;gap:24px}}

/* Keep the vector brand clean, without link decoration. */
.site-header .brand,.site-header .brand:hover,.site-header .brand:focus{border:0;box-shadow:none;text-decoration:none;background:transparent}

/* Readable emphasis and keyboard focus across light and dark sections. */
.hero h1 span{color:var(--yellow);text-shadow:0 1px 0 #b57985}
.skip:focus{position:fixed;z-index:1000;color:var(--ink);background:white}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #202638;outline-offset:3px;box-shadow:0 0 0 3px #fff}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

.coffee-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin-top:28px}.coffee-gallery figure{margin:0;min-width:0}.coffee-gallery img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}.coffee-gallery figcaption{padding-top:12px;font-weight:700;font-size:16px}.coffee-gallery figure:first-child img{object-position:65% center}@media(max-width:900px){.coffee-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px}}@media(max-width:420px){.coffee-gallery{grid-template-columns:1fr}.coffee-gallery img{aspect-ratio:4/3}.coffee-gallery figure:last-child img{object-position:center 70%}}



/* Keep the complete YBS cross inside its square logo frame. */
.ministry-logo img[src*="youth-bible-study-logo"]{object-position:center top}
/* Uniform circular portraits for the whole team and trustees. */
#people .person-photo-placeholder{width:220px;height:220px;max-width:100%;aspect-ratio:1;object-fit:cover;flex-shrink:0}
@media(max-width:760px){#people .person-photo-placeholder{width:200px;height:200px}#people .trustees ul{grid-template-columns:1fr}}

/* Keep Lite Bite close to the preceding midweek groups. */
.page-body #toddlers{padding-bottom:24px}
.page-body #lite-bite{padding-top:24px;padding-bottom:28px}
#lite-bite .ministry-heading{margin-top:0;margin-bottom:16px}
#lite-bite .reading-copy>p:last-child{margin-bottom:0}

/* Show complete Brigade logos, centred within their shared frames. */
#girls-brigade .ministry-logo img,
#boys-brigade .ministry-logo img{object-fit:contain;object-position:center}

/* Preserve the complete supplied Pickle Sports and Rhyme Time artwork. */
.ministry-logo img[src*="pickle-sports-new-logo"],
.ministry-logo img[src*="rhyme-time-new-logo"]{object-fit:contain;object-position:center}

/* Match YBS's logo width without cropping the taller Brigade artwork. */
#girls-brigade .ministry-logo,
#boys-brigade .ministry-logo{height:auto}
#girls-brigade .ministry-logo img,
#boys-brigade .ministry-logo img{width:100%;height:auto}

/* Real Hub photos: full portraits and wide views, with no cropping. */
.hub-life-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.hub-life-photo{margin:0;min-width:0}
.hub-life-photo img{display:block;width:100%;height:auto}
.hub-life-photo--wide{grid-column:span 2}
@media(max-width:900px){.hub-life-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}
@media(max-width:420px){.hub-life-gallery{grid-template-columns:1fr}.hub-life-photo--wide{grid-column:auto}}


/* Homepage: matching circular church gathering and baptism photographs. */
.community-photos.community-photos-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px}
.community-photos-pair .photo-frame.baptism-photo{aspect-ratio:1/1;border-radius:50%;padding:0;overflow:hidden}
.community-photos-pair .baptism-photo img{aspect-ratio:1/1;height:100%;border-radius:50%;object-fit:cover;object-position:50% 35%}
@media(max-width:760px){.community-photos.community-photos-pair{grid-template-columns:1fr;gap:24px}}

.cookie-panel{position:fixed;z-index:10000;bottom:20px;left:20px;right:20px;max-width:760px;margin:0 auto;padding:24px;background:#fff8ef;color:#202638;border:2px solid #202638;border-radius:20px;box-shadow:0 8px 36px #20263840;max-height:80vh;overflow-y:auto;font:16px/1.5 'DM Sans',sans-serif}
.cookie-panel[hidden],#cookie-details[hidden],.consent-placeholder[hidden],iframe[data-consent-src][hidden]{display:none!important}
.cookie-panel h2{font-size:26px;margin:0 0 12px}.cookie-panel p{margin:10px 0}.cookie-panel a{color:inherit;text-decoration:underline}.cookie-actions{display:flex;gap:12px;flex-wrap:wrap}.cookie-panel .button{font-size:15px;cursor:pointer}.cookie-actions [data-consent-choice]{flex:1;background:#202638;color:white;border:2px solid #202638}.cookie-panel label{display:flex;gap:12px;align-items:start}.cookie-panel input{width:22px;height:22px;flex-shrink:0}.cookie-panel button:focus-visible,.cookie-settings-link button:focus-visible{outline:3px solid #9561b8;outline-offset:4px}#cookie-details{padding-top:14px;border-top:1px solid #aaa;margin-top:16px}.cookie-settings-link{padding-top:16px;padding-bottom:16px}.cookie-settings-link button{font:inherit;color:inherit;background:none;border:0;text-decoration:underline;cursor:pointer}.consent-placeholder{padding:24px;border:1px solid #c8b5d7;border-radius:16px;background:#f5eef9;color:#202638;margin:20px 0}
@media(max-width:540px){.cookie-panel{bottom:8px;left:8px;right:8px;padding:18px}.cookie-actions{display:grid;grid-template-columns:1fr 1fr}.cookie-actions #cookie-customise{grid-column:1/-1}}

.welcome-break-aside{min-width:0}.welcome-break-photo{margin:0 auto 28px;max-width:460px;aspect-ratio:1;border-radius:50%;overflow:hidden}.welcome-break-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:60% 50%}

.church-life-together{align-items:center}.church-life-photo{margin:0 auto;width:100%;max-width:460px;aspect-ratio:1;border-radius:50%;overflow:hidden}.church-life-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%}

.seniors-gathering{padding-bottom:0}.seniors-gathering-photo{margin:0 auto;width:100%;max-width:540px;aspect-ratio:1;border-radius:50%;overflow:hidden}.seniors-gathering-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%}


/* Keep narrow screens usable without hiding horizontal layout mistakes. */
.split>*,.link-grid>*,.hub-services>*,.cookie-actions>*{min-width:0}
img,video,iframe{max-width:100%}
input,select,textarea{max-width:100%;min-width:0}
p,li,a,label,h1,h2,h3{overflow-wrap:anywhere}
.button{white-space:normal;text-align:center;min-height:44px}
.cookie-panel{max-height:calc(100dvh - 32px);bottom:max(8px,env(safe-area-inset-bottom));}
.cookie-panel button,.cookie-settings-link button{min-height:44px}
@media(max-width:540px){input,select,textarea{font-size:16px}.brand{min-width:0;flex-shrink:1}.church-logo{max-width:100%;height:auto}.cookie-actions{grid-template-columns:1fr}.cookie-actions #cookie-customise{grid-column:auto}}
@media(max-width:420px){.hub-services{grid-template-columns:1fr}.ministry-heading{flex-wrap:wrap}.ministry-heading h2,.ministry-heading h3{flex-basis:100%}}
