/*
Theme Name: OLG Parish
Theme URI: https://olgcvparish.org/
Description: Standalone WordPress theme for Our Lady of Guadalupe Parish.
Author: Our Lady of Guadalupe Parish
Version: 1.6.5
Requires at least: 6.6
Requires PHP: 7.4
Text Domain: olg
*/
:root{--navy:#0b2a3b;--deep:#061d2a;--blue:#426878;--sky:#dcecf1;--cream:#f5efe4;--paper:#fffdf8;--gold:#d09a42;--gold-dark:#a96e1f;--ink:#173341;--muted:#647780;--line:#d7dfdf;--display:Georgia,"Times New Roman",serif;--body:Arial,Helvetica,sans-serif;--wide:1210px;--reading:760px;--gutter:clamp(20px,5vw,78px);--section:clamp(72px,8vw,128px)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.65;text-rendering:optimizeLegibility}img{display:block;max-width:100%;height:auto}a{color:inherit;text-underline-offset:.18em}a:hover{color:var(--gold-dark)}button,input,select,textarea{font:inherit}:where(a,button,input,select,textarea):focus-visible{outline:3px solid var(--gold);outline-offset:3px}.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{width:auto;height:auto;clip:auto;margin:10px;padding:14px 18px;z-index:10000;background:#fff;color:var(--navy)}
h1,h2,h3,h4,h5,h6{margin:0 0 .55em;color:var(--navy);font-family:var(--display);font-weight:700;line-height:1.04;text-wrap:balance}h1{font-size:clamp(3.25rem,7vw,6.65rem)}h2{font-size:clamp(2.65rem,5vw,5rem)}h3{font-size:clamp(1.55rem,2.2vw,2.25rem)}p{margin:0 0 1.25em}.olg-wide{width:min(calc(100% - 2*var(--gutter)),var(--wide));margin-inline:auto}.olg-reading{width:min(calc(100% - 2*var(--gutter)),var(--reading));margin-inline:auto}.olg-section{padding-block:var(--section)}.olg-eyebrow{margin-bottom:24px;color:var(--gold-dark);font-size:.78rem;font-weight:800;letter-spacing:.2em;line-height:1.3;text-transform:uppercase}.olg-button{min-height:52px;display:inline-flex;align-items:center;justify-content:center;padding:14px 24px;border:2px solid transparent;background:var(--gold);color:var(--navy);font-weight:800;line-height:1.2;text-decoration:none;transition:.18s ease}.olg-button:hover{background:#bd8735;color:var(--navy);transform:translateY(-1px)}.olg-button--light{background:#fff}.olg-button--outline{border-color:currentColor;background:transparent;color:#fff}
/* Hero */
.olg-hero{min-height:min(790px,calc(100vh - 116px));position:relative;display:grid;align-items:center;overflow:hidden;background:var(--deep);color:#fff}.olg-hero__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%}.olg-hero::after{position:absolute;inset:0;background:linear-gradient(90deg,rgb(5 29 43/.9),rgb(5 29 43/.68) 48%,rgb(5 29 43/.2));content:""}.olg-hero__content{position:relative;z-index:1;padding-block:clamp(76px,9vw,130px)}.olg-hero h1{max-width:810px;color:#fff}.olg-hero h1 em{color:#e7b85f}.olg-hero__intro{max-width:650px;margin:0 0 34px;color:#eef4f5;font-size:clamp(1.08rem,1.5vw,1.35rem)}.olg-actions{display:flex;flex-wrap:wrap;gap:16px}.olg-next-mass{position:absolute;right:var(--gutter);bottom:46px;z-index:2;min-width:255px;padding:27px 32px;background:var(--gold);color:var(--navy)}.olg-next-mass span{display:block;font-size:.73rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.olg-next-mass strong{display:block;margin-block:8px 4px;color:#fff;font-family:var(--display);font-size:2.7rem;line-height:1}
/* Homepage */
.olg-quick-links{position:relative;z-index:3;background:#fff;box-shadow:0 18px 50px rgb(4 29 43/.08)}.olg-quick-links__grid{display:grid;grid-template-columns:repeat(4,1fr)}.olg-quick-link{min-height:94px;display:flex;align-items:center;gap:15px;padding:22px 26px;border-right:1px solid var(--line);text-decoration:none}.olg-quick-link:last-child{border-right:0}.olg-quick-link__icon{font-size:1.3rem}.olg-quick-link small{display:block;color:var(--muted);font-size:.66rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.olg-quick-link strong{display:block;color:var(--navy);font-size:.95rem}.olg-schedule{background:var(--cream)}.olg-schedule__grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(50px,8vw,120px);align-items:start}.olg-schedule__intro{padding-top:38px}.olg-schedule-card{padding:clamp(34px,4vw,58px);background:#fff;box-shadow:0 24px 70px rgb(6 29 42/.06)}.olg-schedule-list{margin:26px 0 0;padding:0;border-top:3px solid var(--navy)}.olg-schedule-row{display:grid;grid-template-columns:minmax(140px,.7fr) 1.3fr;gap:24px;padding:17px 0;border-bottom:1px solid var(--line)}.olg-schedule-row dt{font-weight:800}.olg-schedule-row dd{margin:0}.olg-schedule-note{color:var(--muted);font-size:.86rem}.olg-schedule-extras{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:28px;background:var(--line)}.olg-schedule-extra{padding:22px;background:var(--paper)}.olg-schedule-extra h4{margin-bottom:8px;font-family:var(--body);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}.olg-history{display:grid;grid-template-columns:1fr 1fr;min-height:720px}.olg-history__media{position:relative;min-height:620px}.olg-history__media img{width:100%;height:100%;object-fit:cover}.olg-history__years{position:absolute;right:0;bottom:0;min-width:180px;padding:38px;background:var(--gold);color:#fff;text-align:center}.olg-history__years strong{display:block;font-family:var(--display);font-size:3.3rem;line-height:1}.olg-history__years span{font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.olg-history__content{display:flex;flex-direction:column;justify-content:center;padding:clamp(60px,8vw,130px);background:var(--sky)}.olg-history__content p{max-width:660px;color:var(--blue)}.olg-text-link{color:var(--gold-dark);font-weight:800;text-decoration:none}.olg-posts{background:var(--paper)}.olg-posts__heading{max-width:850px;margin-bottom:48px}.olg-post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.olg-post-card{border:1px solid var(--line);background:#fff}.olg-post-card__image{aspect-ratio:16/10;width:100%;object-fit:cover}.olg-post-card__body{padding:28px}.olg-post-card__date{color:var(--gold-dark);font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.olg-post-card h3{margin-top:10px;font-size:1.75rem}.olg-post-card h3 a{text-decoration:none}
/* Content */
.olg-page-hero{min-height:560px;position:relative;display:grid;align-items:center;overflow:hidden;background:var(--deep);color:#fff}.olg-page-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.olg-page-hero::after{position:absolute;inset:0;background:linear-gradient(90deg,rgb(5 29 43/.92),rgb(5 29 43/.32));content:""}.olg-page-hero__content{position:relative;z-index:1}.olg-page-hero h1{color:#fff}.olg-breadcrumbs{margin-bottom:24px;font-size:1rem}.olg-breadcrumbs a{color:var(--gold);text-decoration:none}.olg-content,.olg-entry{padding-block:var(--section)}.olg-content>:where(h1,h2,h3,h4,h5,h6,p,ul,ol,blockquote,figure):not(.alignwide):not(.alignfull),.olg-entry>:where(h1,h2,h3,h4,h5,h6,p,ul,ol,blockquote,figure):not(.alignwide):not(.alignfull){width:min(calc(100% - 2*var(--gutter)),var(--reading));margin-inline:auto}.olg-content>.alignwide,.olg-entry>.alignwide{width:min(calc(100% - 2*var(--gutter)),var(--wide));margin-inline:auto}.olg-content>.alignfull,.olg-entry>.alignfull{width:100%}.olg-content blockquote,.olg-entry blockquote{padding:26px 34px;border-left:3px solid var(--gold);background:var(--cream);font-family:var(--display);font-size:1.25rem}.olg-archive-header{padding:86px 0 50px;background:var(--cream)}.olg-archive-header h1{font-size:clamp(3rem,6vw,5rem)}.olg-archive-grid{display:grid;gap:28px}.olg-archive-card{display:grid;grid-template-columns:minmax(220px,.8fr) 1.2fr;border:1px solid var(--line);background:#fff}.olg-archive-card__media img{width:100%;height:100%;min-height:280px;object-fit:cover}.olg-archive-card__body{padding:clamp(28px,4vw,54px)}.olg-pagination{margin-top:54px}.olg-pagination .nav-links{display:flex;flex-wrap:wrap;gap:8px}.olg-pagination a,.olg-pagination span{min-width:44px;min-height:44px;display:grid;place-items:center;padding:8px 12px;border:1px solid var(--line);text-decoration:none}.olg-pagination .current{background:var(--navy);color:#fff}.olg-empty{min-height:45vh}
@media(max-width:980px){.olg-hero{min-height:680px}.olg-next-mass{right:var(--gutter);bottom:28px}.olg-quick-links__grid{grid-template-columns:repeat(2,1fr)}.olg-quick-link:nth-child(2){border-right:0}.olg-quick-link:nth-child(-n+2){border-bottom:1px solid var(--line)}.olg-schedule__grid,.olg-history{grid-template-columns:1fr}.olg-schedule__intro{padding-top:0}.olg-history__content{order:-1}.olg-post-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){:root{--gutter:20px;--section:64px}body{font-size:16px}.olg-hero{min-height:650px;align-items:start}.olg-hero::after{background:linear-gradient(180deg,rgb(5 29 43/.48),rgb(5 29 43/.94))}.olg-hero__content{padding-top:76px;padding-bottom:190px}.olg-hero h1{font-size:clamp(3rem,14vw,4rem);overflow-wrap:anywhere}.olg-next-mass{left:var(--gutter);right:auto;bottom:30px;min-width:230px;padding:22px 26px}.olg-actions{align-items:stretch;flex-direction:column}.olg-actions .olg-button{width:100%}.olg-quick-links__grid{grid-template-columns:1fr}.olg-quick-link{border-right:0;border-bottom:1px solid var(--line)}.olg-quick-link:last-child{border-bottom:0}.olg-schedule-row{grid-template-columns:1fr;gap:2px}.olg-schedule-extras{grid-template-columns:1fr}.olg-history__media{min-height:520px}.olg-history__content{padding:64px var(--gutter)}.olg-post-grid{grid-template-columns:1fr}.olg-page-hero{min-height:440px}.olg-page-hero h1{font-size:3.5rem}.olg-archive-card{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* Archive titles stay editorial and readable, including legacy posts without art. */
.olg-archive-card--text{grid-template-columns:1fr}
.olg-archive-card__body h2{max-width:22ch;font-size:clamp(2rem,3.5vw,3.35rem);line-height:1.04;overflow-wrap:anywhere}
.olg-archive-card__body h2 a{text-decoration-thickness:.06em}

/* Editable archive pages: polished presentation, content remains in WordPress. */
.olg-content--intro{padding-bottom:0}.olg-listing-section{padding-block:var(--section);background:var(--paper)}.olg-listing-heading{max-width:760px;margin-bottom:clamp(32px,5vw,56px)}.olg-listing-heading h2{margin:.25rem 0 .75rem;font-size:clamp(2.5rem,5vw,4.7rem)}.olg-listing-heading>p:last-child{color:var(--muted);font-size:1.08rem}.olg-listing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.olg-listing-card{display:flex;min-width:0;flex-direction:column;border:1px solid var(--line);background:#fff;box-shadow:0 18px 50px rgb(6 29 42/.05)}.olg-listing-card__media{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--cream)}.olg-listing-card__media img{width:100%;height:100%;object-fit:contain;transition:transform .35s ease}.olg-listing-card__media:hover img{transform:scale(1.02)}.olg-listing-card__body{display:flex;flex:1;flex-direction:column;padding:clamp(24px,3vw,34px)}.olg-listing-card__body h3{margin:.45rem 0 1rem;font-size:clamp(1.65rem,2.5vw,2.15rem);line-height:1.08}.olg-listing-card__body h3 a{color:var(--navy);text-decoration:none}.olg-listing-card__body>p:not(.olg-post-card__date){color:var(--muted)}.olg-listing-card__body>.olg-text-link{margin-top:auto;padding-top:12px}.olg-listing-card--text{min-height:330px}.olg-empty-state{max-width:780px;padding:clamp(38px,6vw,72px);border:1px solid var(--line);background:#fff;text-align:center}.olg-empty-state>span{display:block;margin-bottom:14px;color:var(--gold);font-size:2rem}.olg-empty-state h3{font-size:clamp(2rem,4vw,3.25rem)}.olg-empty-state p{max-width:580px;margin:14px auto 28px;color:var(--muted)}

@media(max-width:980px){.olg-listing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.olg-listing-grid{grid-template-columns:1fr}.olg-listing-card--text{min-height:0}.olg-empty-state{padding-inline:24px}}

/* Native block-editor page components. */
.olg-page-intro{padding:clamp(8px,2vw,24px) 0 clamp(28px,5vw,60px)}.olg-page-intro h2{max-width:16ch;font-size:clamp(2.8rem,6vw,5.4rem)}.olg-page-intro .has-large-font-size{max-width:760px;color:var(--muted);line-height:1.55}.olg-service-grid{gap:1px!important;margin-block:1px!important;background:var(--line)}.olg-service-grid>.wp-block-column{min-width:0;margin:0!important;padding:clamp(28px,4vw,48px);background:#fff}.olg-service-grid h3{margin-top:0;font-size:clamp(1.65rem,2.5vw,2.25rem)}.olg-service-grid p{color:var(--muted)}.olg-callout{margin-top:clamp(40px,7vw,80px)!important;padding:clamp(36px,6vw,72px)!important;background:var(--deep);color:#fff}.olg-callout h2,.olg-callout p{color:#fff}.olg-callout h2{font-size:clamp(2.4rem,5vw,4.5rem)}.olg-callout .wp-block-button__link{background:var(--gold);color:var(--navy)}
@media(max-width:781px){.olg-service-grid{gap:1px!important}.olg-service-grid>.wp-block-column{flex-basis:100%!important}}

/* Hard overflow guards keep translated labels and editor-added content inside
   the viewport without changing the approved layout proportions. */
html,body{overflow-x:clip}.olg-wide,.olg-reading,.olg-content>:where(h1,h2,h3,h4,h5,h6,p,ul,ol,blockquote,figure):not(.alignwide):not(.alignfull),.olg-entry>:where(h1,h2,h3,h4,h5,h6,p,ul,ol,blockquote,figure):not(.alignwide):not(.alignfull),.olg-content>.alignwide,.olg-entry>.alignwide{width:calc(100% - clamp(40px,10vw,156px))}
@media(max-width:680px){.olg-hero__content,.olg-hero__intro{max-width:100%}.olg-hero__intro{overflow-wrap:anywhere}}

/* Complete version-one homepage system */
.olg-announcements{padding-block:var(--section);overflow:hidden;background:var(--paper)}.olg-section-heading{max-width:850px;margin-bottom:48px}.olg-section-heading--split{max-width:none;display:flex;align-items:end;justify-content:space-between;gap:28px}.olg-announcement-rail{display:grid;grid-auto-flow:column;grid-auto-columns:min(360px,82vw);gap:22px;padding:2px 2px 24px;overflow-x:auto;scroll-snap-type:inline mandatory}.olg-announcement-card{scroll-snap-align:start;overflow:hidden;border:1px solid var(--line);background:#fff;box-shadow:0 12px 34px rgb(16 43 63/.07)}.olg-announcement-card__image{display:block;aspect-ratio:4/5;padding:16px 16px 0;overflow:hidden}.olg-announcement-card__image img{width:100%;height:100%;object-fit:cover}.olg-announcement-card__body{padding:25px}.olg-announcement-card h3{font-size:1.75rem}.olg-announcement-empty{padding:38px;border:1px dashed var(--line);background:#fff}.olg-community{background:var(--paper)}.olg-section-heading--center{margin-inline:auto;text-align:center}.olg-program-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.olg-program-card{padding:38px;border:1px solid var(--line);background:#fff}.olg-program-card__icon{color:var(--gold-dark);font-size:1.6rem}.olg-program-card p{color:var(--muted)}.olg-service-callout{display:flex;align-items:center;justify-content:space-between;gap:38px;margin-top:22px;padding:42px 48px;background:var(--navy);color:#fff}.olg-service-callout h3{color:#fff}.olg-service-callout p:not(.olg-eyebrow){max-width:690px;color:#c9d7dc}.olg-service-callout .olg-button{white-space:nowrap}.olg-timeline{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:34px;padding-left:26px;border-left:1px solid var(--gold)}.olg-timeline span{display:flex;flex-direction:column;color:var(--muted);font-size:.83rem}.olg-timeline strong{color:var(--navy);font-family:var(--display);font-size:1.45rem}.olg-team{background:var(--cream)}.olg-staff-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.olg-staff-card{display:flex;align-items:center;gap:14px;padding:20px;border:1px solid var(--line);background:#fff}.olg-staff-card__initials{width:46px;height:46px;display:grid;place-items:center;flex:0 0 46px;border-radius:50%;background:var(--sky);color:var(--navy);font-family:var(--display)}.olg-staff-card strong,.olg-staff-card small{display:block}.olg-staff-card strong{font-size:.82rem}.olg-staff-card small{margin-top:4px;color:var(--muted);font-size:.7rem}.olg-contact{padding-block:clamp(70px,7vw,100px);background:var(--deep);color:#fff}.olg-contact__layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(40px,7vw,100px)}.olg-contact h2{color:#fff}.olg-contact__intro>p:not(.olg-eyebrow){color:#b8c9ce}.olg-contact-grid{display:grid;grid-template-columns:1fr 1fr}.olg-contact-card{display:flex;gap:16px;padding:27px 22px;border-bottom:1px solid rgb(255 255 255/.14);text-decoration:none}.olg-contact-card__icon{color:var(--gold);font-size:1.35rem}.olg-contact-card small{display:block;color:#91a8b0;font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.olg-contact-card span{line-height:1.65}
@media(max-width:980px){.olg-program-grid{grid-template-columns:1fr}.olg-staff-grid{grid-template-columns:1fr 1fr}.olg-contact__layout{grid-template-columns:1fr}.olg-service-callout{align-items:flex-start;flex-direction:column}}
@media(max-width:680px){.olg-section-heading--split{align-items:flex-start;flex-direction:column}.olg-program-card{padding:28px 24px}.olg-service-callout{padding:34px 26px}.olg-timeline,.olg-staff-grid,.olg-contact-grid{grid-template-columns:1fr}.olg-contact-card{padding-inline:4px}}
.olg-hero h1{font-size:clamp(3.25rem,7vw,var(--olg-hero-max,6.65rem))}h2{font-size:clamp(2.65rem,5vw,var(--olg-heading-max,5rem))}.olg-next-mass strong{font-size:var(--olg-mass-time,2.7rem)}.olg-next-mass__meridiem{display:inline;font:inherit;font-size:var(--olg-meridiem,.42em);letter-spacing:.04em;vertical-align:.24em}:root{--section:clamp(72px,8vw,var(--olg-section-max,128px))}@media(max-width:680px){:root{--section:min(64px,var(--olg-section-max,64px))}}

/* Visual specification pass: compact header, deliberate anchors and denser sections. */
 .olg-hero{min-height:min(700px,calc(100vh - 124px))}.olg-hero__content{padding-block:clamp(64px,7vw,105px)}#schedule,#announcements,#community,#history{scroll-margin-top:124px}.olg-schedule-card{padding:clamp(32px,3vw,48px)}.olg-schedule-row{grid-template-columns:minmax(130px,.85fr) 1.15fr}.olg-schedule-extras{grid-template-columns:repeat(3,1fr)}.olg-schedule-extra{min-width:0}.olg-english-mass{color:var(--gold-dark)}.olg-announcement-card__image{background:var(--cream)}.olg-announcement-card__image img{object-fit:contain}.olg-announcement-card__body{padding:28px}.olg-announcement-card__body h3{font-size:1.62rem;line-height:1.18}.olg-announcement-card__body>p:not(.olg-post-card__date){color:var(--muted);font-size:.92rem;line-height:1.62}.olg-history{min-height:620px}.olg-history__media{min-height:560px}.olg-history__content{padding:clamp(48px,6vw,92px)}
@media(max-width:1180px){.olg-hero{min-height:650px}}
@media(max-width:980px){#schedule,#announcements,#community,#history{scroll-margin-top:116px}.olg-schedule-extras{grid-template-columns:repeat(3,1fr)}.olg-next-mass{display:none}.olg-hero__content{padding-bottom:clamp(64px,8vw,92px)}}
@media(max-width:680px){.olg-hero{min-height:620px}.olg-schedule-extras{grid-template-columns:1fr}.olg-history{min-height:0}.olg-history__media{min-height:430px}}

.olg-page-hero{min-height:min(500px,calc(100svh - 124px))}
.olg-history-intro{padding-bottom:clamp(28px,5vw,58px)}
.olg-history-intro h2{max-width:15ch}
.olg-history-timeline{gap:18px!important;margin-block:0 clamp(44px,7vw,84px)!important}
.olg-history-timeline>.wp-block-column{margin:0!important;padding:clamp(28px,4vw,44px);border-top:4px solid var(--gold);background:#fff;box-shadow:0 14px 42px rgb(6 29 42/.06)}
.olg-history-timeline h3{font-size:clamp(2rem,3vw,3rem)}
.olg-history-gallery{margin-block:clamp(44px,7vw,84px)!important;padding:clamp(38px,6vw,72px)!important;background:var(--cream)}
.olg-history-gallery h2{max-width:14ch}
.olg-history-gallery .wp-block-buttons{margin-top:24px}

.blog .olg-archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.blog .olg-archive-card{grid-template-columns:1fr;min-height:100%}
.blog .olg-archive-card__body{display:flex;flex-direction:column;min-height:360px}
.blog .olg-archive-card__body .olg-text-link{margin-top:auto}
@media(max-width:760px){.blog .olg-archive-grid{grid-template-columns:1fr}.blog .olg-archive-card__body{min-height:0}}

/* Keep the church photograph as a landscape frame that fits ordinary screens. */
.olg-hero{min-height:min(560px,calc(100vh - 124px))}
.olg-hero__image{object-position:center 44%}
.olg-hero__content{padding-block:clamp(48px,6vw,82px)}
@media(max-width:980px){.olg-hero{min-height:520px}}
@media(max-width:680px){.olg-hero{min-height:500px}.olg-hero__content{padding-block:56px}}

/* Version-one density: shorter headings and less vertical padding throughout. */
:root{--section:clamp(58px,6vw,88px)}
.olg-hero h1{max-width:900px;font-size:clamp(3.4rem,5.2vw,5rem)}
.olg-hero__intro{margin-bottom:26px}
@media(max-width:980px){:root{--section:clamp(54px,7vw,76px)}.olg-hero h1{font-size:clamp(3.2rem,7vw,4.5rem)}}
@media(max-width:680px){:root{--section:54px}.olg-hero h1{font-size:clamp(2.75rem,11vw,3.7rem)}}

/* The gold hero feature accepts either concise text or an editor-selected
   flyer while staying inside the approved hero composition. */
.olg-next-mass--image{width:min(290px,24vw);min-width:0;padding:0;overflow:hidden;background:var(--cream)}
.olg-next-mass--image a{display:block}
.olg-next-mass__image{width:100%;max-height:360px;object-fit:contain}

/* Staff profiles retain the compact card grid while becoming real, editable
   WordPress records with portraits, contact details, and personal pages. */
.olg-staff-card{position:relative;overflow:hidden;border-top:3px solid var(--staff-accent,var(--gold));box-shadow:0 10px 30px rgb(6 29 42/.07)}
.olg-staff-card__avatar{flex:0 0 52px;text-decoration:none}.olg-staff-card__avatar img,.olg-staff-card__avatar .olg-staff-card__initials{width:52px;height:52px;border-radius:50%;object-fit:cover}
.olg-staff-card__details{min-width:0}.olg-staff-card__details strong a{text-decoration:none}.olg-staff-card__contact{display:flex;flex-direction:column;margin-top:7px;font-size:.68rem;line-height:1.45}.olg-staff-card__contact a{overflow-wrap:anywhere;text-decoration:none}

/* Accessible full-screen flyer viewer. The stage scrolls for tall portrait
   flyers, and the original file remains one tap away for native zoom. */
body.olg-viewer-open{overflow:hidden}.olg-flyer-viewer{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:rgb(6 29 42/.96);color:#fff}.olg-flyer-viewer::backdrop{background:rgb(6 29 42/.82)}.olg-flyer-viewer__stage{width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px;padding:clamp(56px,7vw,86px) var(--gutter) 28px;overflow:auto}.olg-flyer-viewer__stage img{width:auto;max-width:min(100%,1000px);height:auto;max-height:calc(100dvh - 150px);object-fit:contain}.olg-flyer-viewer__close{position:fixed;top:18px;right:22px;z-index:2;width:48px;height:48px;border:1px solid rgb(255 255 255/.45);border-radius:50%;background:rgb(6 29 42/.75);color:#fff;font-size:2rem;line-height:1;cursor:pointer}.olg-flyer-viewer__original{min-height:46px;padding:11px 20px}

/* 1.5.9 responsive proportion pass. */
h1{font-size:clamp(2.85rem,5.4vw,5.5rem)}
h2{font-size:clamp(2.35rem,4.2vw,4.25rem)}
.olg-page-intro{padding-top:clamp(4px,1vw,14px)}
.olg-page-intro h2{max-width:18ch;font-size:clamp(2.4rem,4.2vw,4.35rem);line-height:1.02}
.olg-page-intro .has-large-font-size{max-width:780px;font-size:clamp(1.08rem,1.55vw,1.28rem)!important;line-height:1.52}
.olg-service-grid>.wp-block-column{padding:clamp(24px,2.8vw,40px)}
.olg-service-grid h3{font-size:clamp(1.5rem,2vw,2rem)}

@media(max-width:680px){
  h1{font-size:clamp(2.55rem,11vw,3.5rem)}
  h2{font-size:clamp(2.15rem,9vw,3.2rem)}
  .olg-page-hero h1{font-size:clamp(2.65rem,11vw,3.35rem)}
  .olg-page-intro h2{font-size:clamp(2.25rem,10vw,3.2rem)}
}
