:root{--red:#d71920;--yellow:#ffd200;--navy:#062a44;--ink:#102738;--muted:#607381;--line:#dbe5ea;--soft:#f4f8fa;--shadow:0 18px 34px rgb(0 0 0 / 14%)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.55}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
.header,.site-header{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 2px 16px rgb(0 0 0 / 8%)}
.header__inner,.site-header{width:100%;min-height:86px;margin:0 auto;display:flex;align-items:center;gap:1rem;padding:0 max(1rem,calc((100vw - 1440px)/2))}
.site-header{justify-content:space-between;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:.75rem;min-width:220px;color:var(--navy);font-weight:950;line-height:1.05;text-decoration:none;text-transform:uppercase}
.brand img{width:70px;height:70px;object-fit:contain}
.brand small{display:block;margin-top:.18rem;color:var(--red);font-size:.66rem;letter-spacing:0}
.brand-mark{display:inline-grid;place-items:center;width:54px;height:54px;border-radius:50%;background:var(--red);color:var(--yellow);border:4px solid var(--yellow);font-weight:950}
.nav,.site-header nav{flex:1;display:flex;justify-content:flex-end;gap:clamp(.45rem,.8vw,.9rem);font-size:.72rem;font-weight:950;text-transform:uppercase;flex-wrap:wrap}
.nav a,.site-header nav a{text-decoration:none;white-space:nowrap;border-bottom:3px solid transparent;padding:.4rem 0}
.nav a:hover,.nav a[aria-current="page"],.site-header nav a:hover,.site-header nav a[aria-current="page"]{color:var(--red);border-color:var(--yellow)}
.nav-dropdown{position:relative}.nav-dropdown summary{display:flex;align-items:center;gap:.42rem;min-height:34px;color:var(--ink);font-size:.72rem;font-weight:950;text-transform:uppercase;cursor:pointer;list-style:none}.nav-dropdown summary::-webkit-details-marker{display:none}.nav-dropdown summary::after{content:"\25BE";display:inline-grid;width:18px;height:18px;place-items:center;background:var(--red);color:var(--yellow);font-size:.68rem;line-height:1}.nav-dropdown[open] summary,.nav-dropdown summary:hover{color:var(--red)}.nav-dropdown__menu{position:absolute;z-index:30;top:calc(100% + .2rem);left:50%;min-width:210px;padding:.4rem;background:#fff;border-top:5px solid var(--yellow);box-shadow:var(--shadow);transform:translateX(-50%)}.nav-dropdown__menu a{display:block!important;min-height:38px;padding:.65rem .75rem!important;border:0!important;white-space:nowrap}.nav-dropdown__menu a:hover{background:var(--soft)}
.nav a[href="samui-get-involved-review-v17.html"],.site-header nav a[href="samui-get-involved-review-v17.html"]{display:none!important}
.support-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.72rem 1rem;background:var(--red);color:#fff;border:3px solid var(--yellow);font-size:0!important;font-weight:950;text-decoration:none;text-transform:uppercase;white-space:nowrap}
.support-button::before{content:"Donate";font-size:.78rem}
.support-button:hover{background:#b9151b}
.kicker,.eyebrow{display:block;margin:0 0 .65rem;color:var(--red);font-size:.78rem;font-weight:950;text-transform:uppercase;letter-spacing:.06em}
.topic-hero .kicker,.page-hero .eyebrow{color:var(--yellow)}
h1,h2,h3{margin-top:0;color:var(--navy);letter-spacing:0;text-transform:uppercase}
h1{margin-bottom:1rem;font-size:3.05rem;line-height:1.04}
h2{margin-bottom:1rem;font-size:2.35rem;line-height:1.08}
h3{margin:.1rem 0 .4rem;font-size:1.1rem;line-height:1.18}
p{margin:0 0 1rem}.lead{font-size:1.1rem;color:var(--muted)}
.topic-hero,.page-hero{background:linear-gradient(135deg,var(--red),var(--red) 62%,var(--yellow) 62%,var(--yellow));color:#fff;border-bottom:8px solid var(--navy)}.topic-hero.red{background:linear-gradient(135deg,var(--red),var(--red) 62%,var(--yellow) 62%,var(--yellow))}
.topic-hero__inner{width:min(calc(100% - 2rem),1360px);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(220px,.6fr);gap:1.4rem;align-items:center;padding:1rem 0}
.topic-hero h1,.page-hero h1,.content-section h2,.page-section h2{max-width:none}
.topic-hero h1,.page-hero h1{color:#fff;margin-bottom:.45rem}.topic-hero .lead{color:#fff;margin-bottom:.35rem}.topic-hero img{width:100%;max-height:240px;object-fit:contain!important;object-position:center;background:transparent!important;border:0;box-shadow:none}
.topic-hero img.hero-logo{width:min(280px,100%);height:auto;max-height:260px;padding:1rem;background:#fff!important}
.page-hero{padding:1rem max(1rem,calc((100vw - 1360px)/2));display:grid;grid-template-columns:minmax(0,1fr);gap:.35rem}.page-hero.compact{padding-top:.85rem;padding-bottom:.85rem}.page-hero>div{max-width:none}.page-hero p{max-width:980px;margin-bottom:.25rem;color:#fff;font-size:1rem}.page-hero.volunteers-hero h1{white-space:nowrap}
.page-hero.compact.history-hero{padding-top:.85rem;padding-bottom:.85rem}.page-hero.history-hero h1{font-size:clamp(1.8rem,3.2vw,3rem)}.content-section:has(.history-milestones) h2{font-size:2rem}
.history-milestones{display:grid;grid-template-columns:repeat(2,minmax(0,580px));gap:clamp(1.2rem,3vw,2rem);align-items:start;justify-content:start;margin:2rem 0}.history-milestones figure,.history-leaderboard{width:100%;max-width:580px;margin:0;justify-self:start}.history-milestones img{display:block;width:100%;height:auto;object-fit:contain!important;object-position:center;border:0;box-shadow:none}.history-milestones figcaption{margin:0;padding:.25rem 0 0;color:var(--navy);font-weight:800}.kids-page-hero .topic-hero__inner{grid-template-columns:minmax(0,1fr) minmax(240px,380px)}.kids-page-hero img{width:100%;height:220px;max-height:220px;object-fit:cover!important;object-position:center 34%}.section-intro{margin:0 0 1.4rem;padding:.85rem 1rem;border-left:7px solid var(--red);background:var(--soft);color:var(--navy)}
@media(max-width:760px){.kids-page-hero .topic-hero__inner{grid-template-columns:1fr}.kids-page-hero img{width:100%;height:220px;max-height:220px}}
.event-grid .media-card img,.event-grid img{width:100%;height:360px!important;object-fit:contain!important;object-position:center;background:#fff!important}.staff-grid img,.staff-photos img{width:100%;height:320px!important;object-fit:cover!important;object-position:center}
.event-grid{align-items:stretch}.event-grid .media-card{display:grid;grid-template-rows:360px 1fr;height:100%}.event-grid .media-card>div{display:flex;flex-direction:column;height:100%}.event-grid .media-card .text-link{margin-top:auto;align-self:flex-start}
main:has(.card-grid a[href="samui-cpr-water-safety-course-review-v17.html"])>.content-section:first-of-type .card-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}main:has(.card-grid a[href="samui-cpr-water-safety-course-review-v17.html"])>.content-section:first-of-type .media-card{display:grid;grid-template-rows:360px 1fr;height:100%}main:has(.card-grid a[href="samui-cpr-water-safety-course-review-v17.html"])>.content-section:first-of-type .media-card img{width:100%;height:360px!important;object-fit:cover!important}main:has(.card-grid a[href="samui-cpr-water-safety-course-review-v17.html"])>.content-section:first-of-type .media-card>div{display:flex;flex-direction:column;height:100%}main:has(.card-grid a[href="samui-cpr-water-safety-course-review-v17.html"])>.content-section:first-of-type .media-card .text-link{margin-top:auto;align-self:flex-start}
.page-section,.content-section{width:min(calc(100% - 2rem),1360px);margin:0 auto;padding:3.2rem 0}.content-section.two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.9fr);gap:2rem;align-items:center}
.split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);gap:clamp(2rem,5vw,4rem);align-items:center}.copy p,.content-section p,.page-section p{color:var(--muted)}
body:has(.brick-box) .split{align-items:start}body:has(.brick-box) .split>img{align-self:start;margin-top:0}
.supporter-profile>figure{margin:0;background:transparent;border:0;box-shadow:none}.supporter-profile>figure img{display:block;width:100%;height:auto;max-height:680px;object-fit:contain;object-position:center;background:transparent;border:0;box-shadow:none}
.volunteer-profile{display:grid;grid-template-columns:minmax(280px,520px) minmax(0,1fr);gap:clamp(1.5rem,4vw,3rem);align-items:start}.volunteer-profile>figure{display:grid;grid-template-rows:520px auto;align-items:start;justify-content:stretch;min-height:520px;margin:0;background:transparent;border:0;box-shadow:none}.volunteer-profile>figure img{width:100%;height:520px!important;object-fit:contain!important;object-position:center;background:transparent!important;border:0;box-shadow:none}.volunteer-profile>figure figcaption{padding:.6rem 0;color:var(--navy);font-weight:900;text-align:left}.volunteer-profile .partner-panel{align-self:stretch}.volunteer-gallery{margin-top:2rem}
.volunteer-profile>.copy-block,.volunteer-profile>.partner-panel,.supporter-profile .partner-panel{align-self:stretch;padding:1.35rem;background:#fff;border-top:8px solid var(--yellow);box-shadow:var(--shadow)}
.volunteer-profile>div:not(.media-grid){align-self:stretch;padding:1.35rem;background:#fff;border-top:8px solid var(--yellow);box-shadow:var(--shadow)}
.volunteer-profile>div:not(.media-grid)>:first-child,
.supporter-profile .partner-panel>:first-child{margin-top:0}
.social-event-links{align-items:stretch}
.social-event-links .photo-card{display:grid;grid-template-rows:300px minmax(54px,auto);height:100%;overflow:hidden}
.social-event-links .photo-card img{width:100%;height:300px!important;object-fit:cover;object-position:center}
.social-event-links .photo-card span{display:flex;align-items:center;justify-content:center;min-height:54px;margin:0;padding:.75rem 1rem;text-align:center}
.profile-photo-single{grid-template-columns:minmax(260px,560px);justify-content:center}.profile-photo-single figure{margin:0;background:transparent;border:0;box-shadow:none}.profile-photo-single img{display:block;width:100%;height:auto;object-fit:contain;background:transparent;border:0;box-shadow:none}
.feature,.feature-img,.feature-image{width:100%;height:auto;max-height:540px;object-fit:contain!important;object-position:center;background:transparent!important;border:0;box-shadow:none}
.sponsor-feature-photo{max-height:680px;justify-self:center}
.sponsor-photo-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.yellow-note,.button{display:inline-flex;align-items:center;justify-content:center;margin-top:.5rem;padding:.7rem .9rem;background:var(--yellow);color:var(--navy);font-weight:950;text-decoration:none;text-transform:uppercase;border:0}
.gallery-menu-label{display:block;margin:.25rem 0 .35rem;color:#fff;font-size:.78rem;font-weight:950;text-transform:uppercase}.gallery-menu{min-width:220px;min-height:42px;padding:.55rem 2.4rem .55rem .75rem;background:#fff;color:var(--navy);border:3px solid var(--yellow);font:inherit;font-weight:900}
.button{min-height:44px;background:var(--red);color:#fff;box-shadow:0 12px 24px rgba(228,33,28,.22)}.button--yellow{background:var(--yellow);color:var(--navy)}
.cta-row{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;margin-bottom:1.2rem}.cta-row .yellow-note{margin-top:0}
.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.4rem}#support>.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#support>.partner-panel{width:calc((100% - 1rem)/2);margin-left:calc((100% + 1rem)/2)}
.card,.mini-card{padding:1.25rem;border:1px solid var(--line);background:#fff;border-top:6px solid var(--red);box-shadow:0 12px 28px rgb(0 0 0 / 8%)}.card p,.mini-card p{margin:0;color:var(--muted)}
.flyer{margin:1.4rem 0 1.8rem;padding:1rem;background:#fff;border-top:8px solid var(--yellow);box-shadow:var(--shadow)}.flyer img{width:100%;height:auto;object-fit:contain!important;background:transparent!important}
.story-grid,.media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.4rem}.story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.story{display:grid;grid-template-columns:180px minmax(0,1fr);gap:1rem;align-items:center;padding:1rem;background:#fff;border:1px solid var(--line);border-top:8px solid var(--red);box-shadow:0 12px 28px rgb(0 0 0 / 8%)}.story p{color:var(--muted);margin:0}
.media-grid figure,.media-card{margin:0;padding:0;background:transparent!important;border:0!important;border-top:0!important;box-shadow:none!important}.media-card{padding:.25rem}.media-card h3{margin:.8rem 0 .15rem}.media-card p{margin:.35rem 0 0;color:var(--muted)}
.media-grid figure img,.media-card img,.story img{width:100%;height:420px!important;max-height:420px;object-fit:contain!important;object-position:center center;background:transparent!important;border:0;box-shadow:none}.media-grid figcaption{padding:.6rem 0;color:var(--navy);font-weight:900}.media-card.wide,.media-grid figure.wide{grid-column:span 2}
.venue-gallery{align-items:stretch}.venue-gallery figure{display:block;width:100%;aspect-ratio:4/3;overflow:hidden;background:#eaf2f5!important}.venue-gallery figure img{width:100%;height:100%!important;max-height:none;object-fit:cover!important;object-position:center}
.staff-photos figure,.staff-grid figure{display:grid;grid-template-rows:390px minmax(54px,auto);align-items:start;background:#fff!important}.staff-photos figure img,.staff-grid figure img{width:100%;height:390px!important;max-height:390px;object-fit:contain!important;object-position:center;background:#fff!important}.staff-photos figcaption,.staff-grid figcaption{align-self:start;min-height:54px;padding:.65rem 0;text-align:left}
.kids-gallery figure{display:grid;grid-template-rows:300px auto;align-items:start}.kids-gallery figure img{width:100%;height:300px!important;object-fit:contain!important;object-position:center;background:transparent!important}.kids-gallery figcaption{text-align:left;padding-left:0}
.volunteer-gallery figure{display:grid;grid-template-rows:420px auto;align-items:start}.volunteer-gallery figure img{width:100%;height:420px!important;object-fit:contain!important;object-position:center;background:transparent!important}
.kids-gallery{grid-template-columns:repeat(5,minmax(0,1fr))}
.social-event-links{grid-template-columns:repeat(4,minmax(0,1fr))}.spanning-caption{grid-column:span 2;margin:-.35rem 0 .5rem!important;padding:0;color:var(--navy)!important;font-weight:900}.proposal-flyer{display:flex;max-width:780px;flex-direction:column;align-items:flex-start;gap:1rem}.proposal-flyer img{display:block;width:min(100%,720px);height:auto;max-height:none;object-fit:contain}.proposal-flyer .cta-row{margin:0}
.sponsorship-card-grid,.history-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.5rem}.sponsorship-card,.history-card{display:flex;min-width:0;flex-direction:column;background:#fff;border:1px solid var(--line);border-top:8px solid var(--red);box-shadow:var(--shadow)}.sponsorship-card>img,.history-card>img{width:100%;height:300px!important;object-fit:cover!important;object-position:center;background:#fff}.sponsorship-card--course>img{object-fit:contain!important}.sponsorship-card>div,.history-card>div{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:1.25rem}.sponsorship-card h3,.history-card h3{font-size:1.35rem}.sponsorship-card p,.history-card p{color:var(--muted)}.sponsorship-card .button,.history-card .button{margin-top:auto}.history-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:960px}.history-card{color:inherit;text-decoration:none}.history-story-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,500px);gap:2rem;align-items:start}.history-story-layout>figure{position:sticky;top:110px;margin:0}.history-story-layout>figure img{width:100%;height:auto;max-height:720px;object-fit:contain}.history-story-layout figcaption{padding:.6rem 0;color:var(--navy);font-weight:850}.records-image{width:min(100%,760px);margin:0}.records-image+.records-image{margin-top:2rem}.records-image img{width:100%;height:auto;object-fit:contain}.records-image figcaption{padding:.6rem 0;color:var(--navy);font-weight:850}
.sponsorship-intro{max-width:900px;margin:0 auto 2rem}.brochure-gallery{display:grid;gap:2rem;width:min(100%,900px);margin:0 auto}.brochure-gallery figure{margin:0;background:#fff;box-shadow:var(--shadow)}.brochure-gallery img{display:block;width:100%;height:auto;object-fit:contain;background:#fff}
.portrait-wide-page .volunteer-profile>figure{overflow:hidden;background:#fff!important}.portrait-wide-page .volunteer-profile>figure img{object-fit:cover!important;object-position:center 22%;background:#fff!important}.portrait-wide-page .supporter-profile>figure{height:520px;overflow:hidden;background:#fff!important}.portrait-wide-page .supporter-profile>figure img{width:100%;height:520px!important;max-height:520px;object-fit:cover!important;object-position:center 22%;background:#fff!important}
.logo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:.75rem;margin-top:1.2rem}.logo-grid--left,.logo-grid:has(a[href="samui-sponsor-rotary-review-v17.html"]){grid-template-columns:minmax(118px,260px);justify-content:start}
.logo-card{min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.7rem;padding:1.15rem;background:#fff;color:var(--navy);border:1px solid var(--line);border-top:8px solid var(--yellow);font-weight:950;text-align:center;text-decoration:none;text-transform:uppercase;box-shadow:0 12px 28px rgb(0 0 0 / 8%)}
.logo-card img{width:min(210px,100%);height:120px;object-fit:contain!important;object-position:center;background:transparent!important}.logo-card.photo-card{display:grid;grid-template-rows:250px minmax(32px,auto);align-items:start;justify-content:stretch}.logo-card.photo-card img,.logo-card.photo-card img.main-thumb-cover{width:100%;height:250px!important;max-height:250px;object-fit:contain!important;object-position:center center;background:#fff!important}.logo-card.photo-card span{align-self:start;width:100%;text-align:center}
.community-partner-grid{grid-template-columns:repeat(auto-fit,minmax(180px,260px))!important;justify-content:start}
@media(max-width:760px){.community-partner-grid{grid-template-columns:1fr!important}}
.bangrak-tavern-topic-hero .topic-hero__inner{grid-template-columns:minmax(0,1fr) minmax(300px,430px);gap:3rem}
.bangrak-tavern-topic-hero .bangrak-tavern-hero-logo{box-sizing:border-box;justify-self:end;width:min(100%,420px);height:auto;max-height:240px;padding:.55rem;object-fit:contain!important;background:#fff!important;border:4px solid #fff;box-shadow:0 12px 28px rgb(0 0 0 / 18%)}
@media(max-width:760px){.bangrak-tavern-topic-hero .topic-hero__inner{grid-template-columns:1fr}.bangrak-tavern-topic-hero .bangrak-tavern-hero-logo{display:none}}
.volunteers-page .logo-card.photo-card{grid-template-rows:280px minmax(32px,auto)}.volunteers-page .logo-card.photo-card img,.volunteers-page .logo-card.photo-card img.main-thumb-cover{height:280px!important;max-height:280px;object-fit:cover!important;object-position:center top!important;background:transparent!important}.volunteers-page .content-section:last-of-type>.yellow-note{display:flex;width:max-content;max-width:100%;margin:2.5rem auto 0;text-align:center}
.sponsor-return-row{width:min(calc(100% - 2rem),1360px);margin:1.5rem auto 1rem;display:flex;justify-content:flex-end}.sponsor-return-row .yellow-note{margin-top:0}main:has(> .sponsor-return-row){display:flex;flex-direction:column}main:has(> .sponsor-return-row)> .page-hero,main:has(> .sponsor-return-row)> .topic-hero{order:-2}main:has(> .sponsor-return-row)> .sponsor-return-row{order:-1}.partner-panel,.brick-box{padding:1.35rem;background:#fff;border-top:8px solid var(--yellow);box-shadow:var(--shadow)}.partner-panel p{color:var(--muted)}.brick-box{padding:clamp(1.5rem,3vw,2.35rem);background:#fff;border:5px solid var(--red);outline:4px solid var(--yellow);outline-offset:-10px;color:var(--navy)}.brick-box .kicker,.brick-box h2,.brick-box h3,.brick-box p,.brick-box strong,.brick-box a{color:var(--navy)}.brick-box p{font-size:1.13rem;line-height:1.65}.brick-box h2{font-size:clamp(1.8rem,3vw,2.55rem);color:var(--red)}.brick-box h3{font-size:1.3rem}.brick-box a{text-decoration-thickness:2px;text-underline-offset:4px}.amount{display:inline-flex;margin:.4rem 0 1rem;padding:.9rem 1.1rem;background:var(--yellow);color:var(--navy)!important;border:4px solid var(--red);font-size:1.18rem!important;font-weight:950;text-transform:uppercase}.content-section:has(.history-milestones) .copy-block>h2:not(:first-child){margin-top:2.25rem;margin-bottom:1.6rem}.history-story-layout .copy-block>h2:not(:first-child){margin-top:3.25rem;margin-bottom:1.75rem}
.gallery-return-row{width:min(calc(100% - 2rem),1360px);margin:1.5rem auto 1rem;display:flex;justify-content:flex-end}.gallery-return-row .yellow-note{margin-top:0}
.craft-market-gallery{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.gallery-uniform.craft-market-gallery figure{display:flex;flex-direction:column}.gallery-uniform.craft-market-gallery figure img{width:100%;height:auto!important;max-height:none;object-fit:contain!important;object-position:top center}
.rising-phoenix-gallery{grid-template-columns:repeat(4,minmax(0,1fr))}.gallery-uniform.rising-phoenix-gallery figure img{object-fit:contain!important;object-position:center!important;background:#fff!important}
.paint-sip-image-only{display:block;width:min(100%,760px);height:auto;max-height:none;margin:0 auto;object-fit:contain}
.paint-sip-gallery{margin-top:0}
.gallery-uniform figure{display:grid;grid-template-rows:340px minmax(48px,auto);align-items:start;margin:0;background:#fff}.gallery-uniform figure img{width:100%;height:340px!important;max-height:340px;object-fit:cover!important;object-position:center 18%;background:transparent!important}.gallery-uniform figcaption{align-self:start;padding:.65rem 0;text-align:left}
.supporter-profile{align-items:start}.supporter-profile>figure,.supporter-profile>.partner-panel{margin-top:0}.supporter-profile>figure img{object-position:center top}.supporter-extra-photo{margin-top:2rem;max-width:680px}.supporter-extra-photo img{width:100%;height:auto;max-height:520px;object-fit:contain}
.footer,.site-footer{background:#061f36;color:#edf6f7;border-top:8px solid var(--yellow)}.footer-panel,.site-footer__inner{display:grid;width:min(calc(100% - 2rem),1360px);grid-template-columns:1.4fr .8fr 1fr;gap:3rem;margin:0 auto;padding:2rem 0}.site-footer__brand img{width:auto;height:74px;margin-bottom:1rem;object-fit:contain}.footer strong,.site-footer h2{display:block;margin:0 0 .7rem;color:#fff;font-size:1.05rem;text-transform:none}.footer p,.site-footer p{margin:.35rem 0;color:#dcecf4}.footer-links,.site-footer__links,.site-footer__contact{display:flex;flex-direction:column;align-items:flex-start;gap:.42rem}.footer-links a,.site-footer__links a,.site-footer__contact a{display:inline-flex;min-height:28px;align-items:center;gap:.45rem;color:#edf6f7;text-decoration:none;font-weight:800}.footer-links a:hover,.site-footer__links a:hover,.site-footer__contact a:hover{color:var(--yellow)}.site-footer__icon{flex:0 0 auto;width:18px;height:18px;fill:currentColor}.site-footer__icon--instagram{color:#e4405f}.site-footer__icon--facebook{color:#1877f2}.site-footer__icon--whatsapp{color:#25d366}.footer-legal,.site-footer__legal{width:min(calc(100% - 2rem),1360px);margin:0 auto;padding:1rem 0;color:#c5d3d6;text-align:center;font-weight:800;border-top:1px solid rgb(255 255 255 / 14%)}
.slide:nth-child(3){background-image:url("assets/samui-v17/venue-nature-bar-waves-sunset.jpg")!important}
@keyframes show{0%,22%{opacity:1;transform:scale(1)}27%,100%{opacity:0;transform:scale(1.04)}}@keyframes dot{0%,22%{background:#fff}27%,100%{background:transparent}}
@media(max-width:1050px){.header__inner,.site-header{align-items:flex-start;flex-direction:column;padding:1rem}.nav,.site-header nav{width:100%;justify-content:flex-start;overflow:auto;padding-bottom:.35rem}.support-button{align-self:flex-start}.card-grid,.story-grid{grid-template-columns:1fr}.social-event-links{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-panel,.site-footer__inner{grid-template-columns:1fr 1fr}.media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kids-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.media-card.wide,.media-grid figure.wide{grid-column:auto}#support>.card-grid{grid-template-columns:1fr}#support>.partner-panel{width:auto;margin-left:0}}
@media(max-width:760px){h1{font-size:2.15rem}h2{font-size:1.75rem}.brand{min-width:0}.brand img{width:58px;height:58px}.brand-mark{width:48px;height:48px}.split,.topic-hero__inner,.content-section.two-col,.logo-grid,.media-grid,.footer-panel,.site-footer__inner,.history-milestones,.volunteer-profile,main:has(.card-grid a[href="samui-cpr-water-safety-course-review-v17.html"])>.content-section:first-of-type .card-grid{grid-template-columns:1fr}.history-milestones figure,.history-leaderboard{width:100%;max-width:580px;justify-self:start}.kids-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.page-section,.content-section{padding:2.8rem 0}.story{grid-template-columns:1fr}.page-hero.volunteers-hero h1{white-space:normal}.footer-links{grid-template-columns:1fr}.volunteer-profile>figure{min-height:400px}.volunteer-profile>figure img{height:400px!important}}
@media(max-width:760px){.sponsorship-card-grid,.history-card-grid,.history-story-layout{grid-template-columns:1fr}.history-story-layout>figure{position:static}.portrait-wide-page .supporter-profile>figure{height:430px}.portrait-wide-page .supporter-profile>figure img{height:430px!important}}
.supporter-profile{align-items:start}.supporter-profile>figure img{object-position:center top}.supporter-profile__copy{display:grid;gap:1.25rem}.supporter-profile__copy .partner-panel{margin:0}.supporter-extra-photo{margin:0}.supporter-extra-photo img{width:100%;height:300px;object-fit:contain;background:#fff}.supporter-extra-photo figcaption{padding:.65rem 0;text-align:left}
.staff-photos.gallery-uniform figure{grid-template-rows:390px minmax(54px,auto)}.staff-photos.gallery-uniform figure img{height:390px!important;max-height:390px;object-fit:cover!important;object-position:center top;background:transparent!important}.staff-photos.gallery-uniform figcaption{padding:.65rem 0;text-align:left}
.page-hero.venue-logo-hero{display:flex;align-items:center;justify-content:space-between;gap:2rem}.venue-logo-hero>div{flex:1}.venue-logo-hero>img{width:min(280px,30vw);height:150px;object-fit:contain;background:#fff;border:4px solid var(--yellow)}
.history-card[href*="club-records"] img{object-position:center 32%}
@media(max-width:760px){.page-hero.venue-logo-hero{align-items:flex-start;flex-direction:column}.venue-logo-hero>img{width:220px;height:120px}.gallery-uniform figure{grid-template-rows:300px minmax(48px,auto)}.gallery-uniform figure img{height:300px!important}}
.staff-photos.gallery-uniform .staff-photo--show-full img{object-fit:contain!important;object-position:center!important;background:#fff!important}
main figure{margin-left:0;margin-right:0}
main figure>img{display:block}
main figure>figcaption{box-sizing:border-box;display:flex;width:100%;min-height:54px;align-items:flex-start;justify-content:flex-start;margin:0;padding:.65rem 0;text-align:left!important}
.sponsor-side-photo{margin:0;align-self:start}.sponsor-side-photo img{display:block;width:100%;height:420px;max-height:420px;object-fit:contain;background:#fff}.sponsor-side-photo figcaption{color:var(--navy);font-weight:900}
.media-grid:not(.craft-market-gallery)>figure,.media-grid:not(.craft-market-gallery)>.media-card{display:flex;aspect-ratio:auto;flex-direction:column;align-items:stretch;overflow:visible}.media-grid:not(.craft-market-gallery)>figure>img,.media-grid:not(.craft-market-gallery)>.media-card>img{width:100%;height:340px!important;max-height:340px;object-fit:contain!important;object-position:center!important;background:#fff!important}.media-grid:not(.craft-market-gallery)>figure>figcaption{width:100%;min-height:54px;justify-content:flex-start;text-align:left!important}
.sunday-sessions-gallery{align-items:stretch}.sunday-sessions-gallery>figure{display:grid!important;grid-template-rows:340px minmax(72px,auto)!important;height:100%;align-items:start;background:#fff!important}.media-grid.sunday-sessions-gallery>figure>img{display:block;width:100%;height:340px!important;min-height:340px;max-height:340px;object-fit:cover!important;object-position:center!important;background:#fff!important}.sunday-sessions-gallery>figure>figcaption{display:flex;width:100%;min-height:72px;align-items:flex-start;justify-content:flex-start;box-sizing:border-box;padding:.7rem 0;text-align:left!important}
@media(max-width:760px){.sunday-sessions-gallery>figure{grid-template-rows:300px minmax(72px,auto)!important}.sunday-sessions-gallery>figure>img{height:300px!important;min-height:300px;max-height:300px}}
.history-story-layout>figure>figcaption{justify-content:flex-start;text-align:left!important}
.kids-gallery>figure>figcaption{justify-content:flex-start;padding-left:0;padding-right:0;text-align:left!important}
.volunteer-gary-page .volunteer-profile{grid-template-columns:360px minmax(0,1fr)}.volunteer-gary-page .volunteer-profile>figure{display:grid;width:360px;min-height:0;grid-template-rows:340px minmax(54px,auto)}.volunteer-gary-page .volunteer-profile>figure>img{width:360px;height:340px!important;object-fit:cover!important;object-position:center!important}.volunteer-gary-page figcaption{justify-content:flex-start!important;padding-left:0!important;text-align:left!important}.gary-supporting-photos{grid-template-columns:repeat(3,minmax(0,360px));justify-content:start;width:100%;margin-left:0;margin-right:0;gap:1rem}.gary-supporting-photos>figure{display:grid!important;width:360px;grid-template-rows:340px minmax(54px,auto)!important}.media-grid.gary-supporting-photos>figure>img{width:360px;height:340px!important;min-height:340px;max-height:340px;object-fit:cover!important;object-position:center!important}
@media(max-width:1050px){.gary-supporting-photos{grid-template-columns:repeat(2,minmax(0,360px))}}
@media(max-width:760px){.volunteer-gary-page .volunteer-profile{grid-template-columns:1fr}.volunteer-gary-page .volunteer-profile>figure,.volunteer-gary-page .volunteer-profile>figure>img,.gary-supporting-photos>figure,.media-grid.gary-supporting-photos>figure>img{width:100%;max-width:360px}.gary-supporting-photos{grid-template-columns:minmax(0,360px)}}
.lick-topic-hero .topic-hero__inner{grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:3rem}.lick-topic-hero .lick-hero-logo{justify-self:end;width:240px;max-width:100%;margin-right:0}
@media(max-width:760px){.lick-topic-hero .topic-hero__inner{grid-template-columns:1fr}.lick-topic-hero .lick-hero-logo{justify-self:end;width:210px}}
.beat-boat-topic-hero .topic-hero__inner{grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:3rem}.beat-boat-topic-hero .beat-boat-hero-photo{justify-self:end;width:260px;height:180px;max-height:180px;object-fit:cover!important;object-position:center;background:#fff!important}
@media(max-width:760px){.beat-boat-topic-hero .topic-hero__inner{grid-template-columns:1fr}.beat-boat-topic-hero .beat-boat-hero-photo{justify-self:end;width:220px;height:150px;max-height:150px}}
.first-contact-topic-hero .topic-hero__inner{grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:3rem}.first-contact-topic-hero .first-contact-hero-logo{justify-self:end;width:240px;max-width:100%;margin-right:0}.first-contact-layout{align-items:start}.first-contact-layout>.partner-panel,.first-contact-layout>.sponsor-side-photo{align-self:start;margin-top:0}
@media(max-width:760px){.first-contact-topic-hero .topic-hero__inner{grid-template-columns:1fr}.first-contact-topic-hero .first-contact-hero-logo{justify-self:end;width:210px}}
.new-leaf-topic-hero .topic-hero__inner,.rising-phoenix-topic-hero .topic-hero__inner{grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:3rem}.new-leaf-topic-hero .new-leaf-hero-logo,.rising-phoenix-topic-hero .rising-phoenix-hero-logo{justify-self:end;width:240px;max-width:100%;margin-right:0}.new-leaf-layout,.bloom-layout,.rising-phoenix-layout,.life-saving-layout{align-items:start}.new-leaf-layout>*:last-child,.bloom-layout>*:last-child,.rising-phoenix-layout>*:last-child,.life-saving-layout>*:last-child{align-self:start;margin-top:0}.rising-phoenix-layout{grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr)}.rising-phoenix-layout .rising-phoenix-gallery{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;margin-top:0}
@media(max-width:760px){.new-leaf-topic-hero .topic-hero__inner,.rising-phoenix-topic-hero .topic-hero__inner{grid-template-columns:1fr}.new-leaf-topic-hero .new-leaf-hero-logo,.rising-phoenix-topic-hero .rising-phoenix-hero-logo{justify-self:end;width:210px}.rising-phoenix-layout{grid-template-columns:minmax(0,1fr)}.rising-phoenix-layout .rising-phoenix-gallery{grid-template-columns:1fr}}
.media-grid.venue-gallery>figure{display:block!important;width:100%;height:340px;overflow:hidden;background:#eaf2f5!important}.media-grid.venue-gallery>figure>img{display:block;width:100%;height:340px!important;min-height:340px;max-height:340px;object-fit:cover!important;object-position:center!important}
.media-grid.staff-photos.gallery-uniform>figure{display:grid!important;grid-template-rows:390px minmax(54px,auto)!important;height:100%;background:#fff!important}.media-grid.staff-photos.gallery-uniform>figure>img{display:block;width:100%;height:390px!important;min-height:390px;max-height:390px;object-fit:contain!important;object-position:center!important;background:#fff!important}.media-grid.staff-photos>figure>figcaption{justify-content:flex-start;padding-left:0;padding-right:0;text-align:left!important}
@media(max-width:760px){.media-grid.venue-gallery>figure,.media-grid.venue-gallery>figure>img{height:300px!important;min-height:300px;max-height:300px}.media-grid.staff-photos.gallery-uniform>figure{grid-template-rows:320px minmax(54px,auto)!important}.media-grid.staff-photos.gallery-uniform>figure>img{height:320px!important;min-height:320px;max-height:320px}}
.social-event-links .logo-card.photo-card{grid-template-rows:300px minmax(54px,auto)}.social-event-links .logo-card.photo-card>img{display:block;width:100%;height:300px!important;min-height:300px;max-height:300px;object-fit:cover!important;object-position:center!important}.social-event-links .logo-card.photo-card>span{justify-content:flex-start;padding-left:0;text-align:left}
.media-grid.gallery-uniform.craft-market-gallery{grid-template-columns:repeat(2,minmax(0,430px));justify-content:center;width:min(100%,900px);margin-left:auto;margin-right:auto}.media-grid.gallery-uniform.craft-market-gallery>figure{display:grid;grid-template-rows:520px minmax(54px,auto);width:100%;height:100%;background:#fff!important}.media-grid.gallery-uniform.craft-market-gallery>figure>img{display:block;width:100%;height:520px!important;min-height:520px;max-height:520px;object-fit:contain!important;object-position:center!important;background:#fff!important}.media-grid.gallery-uniform.craft-market-gallery>figure>figcaption{justify-content:flex-start;padding-left:0;text-align:left!important}
@media(max-width:760px){.social-event-links .logo-card.photo-card{grid-template-rows:260px minmax(54px,auto)}.social-event-links .logo-card.photo-card>img{height:260px!important;min-height:260px;max-height:260px}.media-grid.gallery-uniform.craft-market-gallery{grid-template-columns:minmax(0,520px)}.media-grid.gallery-uniform.craft-market-gallery>figure{grid-template-rows:440px minmax(54px,auto)}.media-grid.gallery-uniform.craft-market-gallery>figure>img{height:440px!important;min-height:440px;max-height:440px}}
.story-grid.beach-party-flyers>figure{display:grid;grid-template-rows:816px minmax(54px,auto);align-items:start}.story-grid.beach-party-flyers>figure>img{display:block;width:100%;height:816px!important;min-height:816px;max-height:816px;object-fit:contain!important;object-position:center;background:#fff}.story-grid.beach-party-flyers>figure>figcaption{justify-content:flex-start;padding-left:0;text-align:left!important}
@media(max-width:760px){.story-grid.beach-party-flyers>figure{grid-template-rows:560px minmax(54px,auto)}.story-grid.beach-party-flyers>figure>img{height:560px!important;min-height:560px;max-height:560px}}
.volunteer-gary-page figure>figcaption,.volunteer-tony-page figure>figcaption,.volunteer-gallery>figure>figcaption,.media-grid.craft-market-gallery>figure>figcaption,.media-grid.anzac-gallery>figure>figcaption,.media-grid.paint-sip-gallery>figure>figcaption{justify-content:flex-start!important;padding-left:0!important;text-align:left!important}.media-grid.paint-sip-gallery>figure{display:grid!important;grid-template-rows:340px minmax(54px,auto)!important}.media-grid.paint-sip-gallery>figure>img{display:block;width:100%;height:340px!important;min-height:340px;max-height:340px;object-fit:cover!important;object-position:center!important}
@media(max-width:760px){.media-grid.paint-sip-gallery>figure{grid-template-rows:300px minmax(54px,auto)!important}.media-grid.paint-sip-gallery>figure>img{height:300px!important;min-height:300px;max-height:300px}}
.lick-photo-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:1rem}.lick-photo-grid>.media-card{display:block;width:100%;padding:0}.media-grid.lick-photo-grid>.media-card>img{display:block;width:100%;height:280px!important;min-height:280px;max-height:280px;object-fit:cover!important;object-position:center!important}
@media(max-width:1050px){.lick-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.lick-photo-grid{grid-template-columns:1fr}.media-grid.lick-photo-grid>.media-card>img{height:260px!important;min-height:260px;max-height:260px}}
.media-grid.kids-gallery{align-items:stretch;justify-content:start}.media-grid.kids-gallery>figure{display:grid!important;width:100%;grid-template-rows:420px minmax(54px,auto)!important;align-items:start;background:#fff!important}.media-grid.kids-gallery>figure>img{display:block;width:100%;height:420px!important;min-height:420px;max-height:420px;object-fit:contain!important;object-position:center!important;background:#fff!important}.media-grid.kids-gallery>figure>figcaption{width:100%;justify-content:flex-start!important;padding-left:0!important;text-align:left!important}
@media(max-width:760px){.media-grid.kids-gallery>figure{grid-template-rows:390px minmax(54px,auto)!important}.media-grid.kids-gallery>figure>img{height:390px!important;min-height:390px;max-height:390px}}

/* Final gallery consistency: equal frames, complete photos and captions aligned to the left edge. */
main .media-grid>figure>img,
main .media-grid>.media-card>img,
main .gallery-uniform>figure>img,
main .volunteer-profile>figure>img,
main .social-event-links .logo-card.photo-card>img{
  object-fit:contain!important;
  object-position:center!important;
  background:#fff!important;
}

main .media-grid.sunday-sessions-gallery>figure>img,
main .media-grid.gary-supporting-photos>figure>img,
main .media-grid.paint-sip-gallery>figure>img,
main .media-grid.lick-photo-grid>.media-card>img,
main .media-grid.venue-gallery>figure>img,
.pub-quiz-gallery>figure>img,
.volunteer-gary-page main .volunteer-profile>figure>img,
body.portrait-wide-page main .volunteer-profile>figure>img{
  object-fit:contain!important;
  object-position:center!important;
  background:#fff!important;
}
.pub-quiz-gallery>figure{
  grid-template-rows:340px!important;
}
@media(max-width:760px){.pub-quiz-gallery>figure{grid-template-rows:300px!important}}
main figure>figcaption{
  box-sizing:border-box!important;
  display:flex!important;
  width:100%!important;
  align-self:stretch!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  margin:0!important;
  padding:.65rem 0!important;
  text-align:left!important;
}

@media(max-width:760px){
  main .media-grid,
  main .media-grid.kids-gallery,
  main .media-grid.staff-photos,
  main .media-grid.sunday-sessions-gallery,
  main .media-grid.gary-supporting-photos,
  main .media-grid.lick-photo-grid,
  main .media-grid.rising-phoenix-gallery,
  main .media-grid.craft-market-gallery,
  main .social-event-links{
    grid-template-columns:minmax(0,1fr)!important;
  }
  main .media-grid>figure,
  main .media-grid>.media-card{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  main .media-grid>figure>img,
  main .media-grid>.media-card>img{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:none!important;
  }
  main figure>figcaption{
    width:100%!important;
    min-width:0!important;
    padding-left:0!important;
    padding-right:0!important;
  }
}

/* Keep Tony's opening copy level with the top edge of his lead photo. */
body.volunteer-tony-page main .volunteer-profile{
  align-items:start!important;
}
body.volunteer-tony-page main .volunteer-profile>figure,
body.volunteer-tony-page main .volunteer-profile>.copy-block{
  align-self:start!important;
  margin-top:0!important;
}
body.volunteer-tony-page main .volunteer-profile>.copy-block{
  border-top:0!important;
  padding-top:0!important;
}
body.volunteer-tony-page main .volunteer-profile>.copy-block>:first-child{
  margin-top:0!important;
}

/* Keep both primary What's On cards equally filled and left aligned. */
main .whats-on-program-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  align-items:stretch!important;
}
main .whats-on-program-grid>.media-card>img{
  object-fit:cover!important;
  object-position:center!important;
}
main .whats-on-program-grid>.media-card>div,
main .whats-on-program-grid>.media-card>div>*{
  text-align:left!important;
}

@media(max-width:760px){
  main .whats-on-program-grid{
    grid-template-columns:minmax(0,1fr)!important;
  }
}

/* 2026-08-22 final volunteer-card consistency pass. Every section uses the
   same card width and uncropped image frame, including Max & Ray, Khun Kanok
   and Amy. */
.volunteers-page main .logo-grid{
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  align-items:stretch!important;
}
.volunteers-page main .logo-grid>.logo-card.photo-card{
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-rows:280px minmax(42px,auto)!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  padding:1rem!important;
  align-items:start!important;
  justify-content:stretch!important;
}
.volunteers-page main .logo-grid>.logo-card.photo-card>img,
.volunteers-page main .logo-grid>.logo-card.photo-card>img.main-thumb-cover{
  display:block!important;
  box-sizing:border-box!important;
  width:100%!important;
  height:280px!important;
  min-height:280px!important;
  max-height:280px!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#fff!important;
}
.volunteers-page main .logo-grid>.logo-card.photo-card>span{
  box-sizing:border-box!important;
  width:100%!important;
  padding:.65rem 0 0!important;
  text-align:left!important;
  justify-self:stretch!important;
}
@media(max-width:1100px){
  .volunteers-page main .logo-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media(max-width:760px){
  .volunteers-page main .logo-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .volunteers-page main .logo-grid>.logo-card.photo-card{
    grid-template-rows:260px minmax(42px,auto)!important;
  }
  .volunteers-page main .logo-grid>.logo-card.photo-card>img,
  .volunteers-page main .logo-grid>.logo-card.photo-card>img.main-thumb-cover{
    height:260px!important;
    min-height:260px!important;
    max-height:260px!important;
  }
}
@media(max-width:480px){
  .volunteers-page main .logo-grid{
    grid-template-columns:minmax(0,1fr)!important;
  }
}

/* 2026-08-22 past-event flyer-only copy pass. */
.past-events-page main .event-grid>.media-card{
  display:grid!important;
  grid-template-rows:360px minmax(44px,auto)!important;
  align-items:start!important;
  padding:0!important;
}
.past-events-page main .event-grid>.media-card>img{
  display:block!important;
  box-sizing:border-box!important;
  width:100%!important;
  height:360px!important;
  min-height:360px!important;
  max-height:360px!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#fff!important;
}
.past-events-page main .event-grid>.media-card>.text-link{
  box-sizing:border-box!important;
  width:100%!important;
  margin:.65rem 0 0!important;
  padding:0!important;
  text-align:left!important;
  justify-self:start!important;
}
.past-events-page main .event-grid>.flyer-only-card{
  grid-template-rows:360px!important;
}
main .media-grid.kids-gallery>figure.kids-photo--last,
main .media-grid.kids-gallery>figure.kids-photo--last>img{
  width:100%!important;
  max-width:none!important;
}

@media(max-width:760px){
  .past-events-page main .event-grid>.media-card{
    grid-template-rows:320px minmax(44px,auto)!important;
  }
  .past-events-page main .event-grid>.media-card>img{
    height:320px!important;
    min-height:320px!important;
    max-height:320px!important;
  }
  .past-events-page main .event-grid>.flyer-only-card{
    grid-template-rows:320px!important;
  }
}

/* 2026-08-22 volunteer and caption repair pass. Equal frames must never crop
   people; all labels stay anchored to the left edge of the image frame. */
.volunteers-page main .logo-card.photo-card>img,
.volunteers-page main .logo-card.photo-card>img.main-thumb-cover{
  display:block!important;
  width:100%!important;
  height:280px!important;
  min-height:280px!important;
  max-height:280px!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#fff!important;
}

body.volunteer-amy-page main .volunteer-profile{
  align-items:start!important;
}
body.volunteer-amy-page main .volunteer-profile>figure,
body.volunteer-amy-page main .volunteer-profile>.copy-block{
  align-self:start!important;
  margin-top:0!important;
}
body.volunteer-amy-page main .volunteer-profile>figure>img{
  object-fit:contain!important;
  object-position:center top!important;
}

body.volunteer-khun-kanok-page main .volunteer-profile>figure>img,
body.volunteer-khun-kanok-page main .profile-gallery>figure>img{
  object-fit:contain!important;
  object-position:center top!important;
}

.volunteer-gary-page main .gary-supporting-photos{
  box-sizing:border-box!important;
  width:min(100%,1112px)!important;
  grid-template-columns:repeat(3,minmax(0,360px))!important;
  justify-content:center!important;
  margin:2rem auto 0!important;
  gap:1rem!important;
}
.volunteer-gary-page main .gary-supporting-photos>figure{
  width:100%!important;
  max-width:360px!important;
}
.volunteer-gary-page main .gary-supporting-photos>figure>img{
  width:100%!important;
  height:340px!important;
  min-height:340px!important;
  max-height:340px!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#fff!important;
}

main .media-grid.kids-gallery>figure>figcaption{
  display:flex!important;
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
  align-self:stretch!important;
  justify-content:flex-start!important;
  margin:0!important;
  padding:.65rem 0!important;
  text-align:left!important;
}

.whats-on-events-flyer{
  width:min(100%,820px);
  margin:2rem auto 0;
}
.whats-on-events-flyer>img{
  display:block;
  width:100%;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center top!important;
  background:#fff!important;
}

@media(max-width:1050px){
  .volunteer-gary-page main .gary-supporting-photos{
    width:min(100%,736px)!important;
    grid-template-columns:repeat(2,minmax(0,360px))!important;
  }
}

@media(max-width:760px){
  .volunteers-page main .logo-card.photo-card>img,
  .volunteers-page main .logo-card.photo-card>img.main-thumb-cover{
    height:260px!important;
    min-height:260px!important;
    max-height:260px!important;
  }
  .volunteer-gary-page main .gary-supporting-photos{
    width:min(100%,360px)!important;
    grid-template-columns:minmax(0,360px)!important;
  }
}

/* 2026-08-19 final gallery geometry: equal rows, full subjects, aligned captions. */
.topic-hero__inner>div:only-child{grid-column:1/-1}

.media-grid.staff-photos.gallery-uniform{
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  justify-content:start;
  align-items:start;
}
.media-grid.staff-photos.gallery-uniform>figure{
  display:grid!important;
  justify-self:start;
  align-self:start;
  grid-template-rows:auto minmax(54px,auto)!important;
}
.media-grid.staff-photos.gallery-uniform>figure.staff-photo--portrait{
  grid-column:span 2;
  width:min(100%,338px)!important;
}
.media-grid.staff-photos.gallery-uniform>figure.staff-photo--landscape{
  grid-column:span 3;
  width:100%!important;
}
.media-grid.staff-photos.gallery-uniform>figure.staff-photo--portrait>img,
.media-grid.staff-photos.gallery-uniform>figure.staff-photo--landscape>img{
  display:block;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:left top!important;
  background:transparent!important;
}
.media-grid.staff-photos.gallery-uniform>figure.staff-photo--portrait>img{aspect-ratio:9/16}
.media-grid.staff-photos.gallery-uniform>figure.staff-photo--landscape>img{aspect-ratio:16/9}
.media-grid.staff-photos.gallery-uniform>figure>figcaption,
.media-grid.kids-gallery>figure>figcaption,
.media-grid.sunday-sessions-gallery>figure>figcaption,
.media-grid.paint-sip-gallery>figure>figcaption,
.media-grid.beach-party-gallery>figure>figcaption,
.media-grid.pub-quiz-gallery>figure>figcaption{
  box-sizing:border-box;
  display:flex!important;
  width:100%!important;
  min-height:54px;
  justify-content:flex-start!important;
  align-items:flex-start;
  padding:.65rem 0!important;
  text-align:left!important;
}

.media-grid.kids-gallery{
  grid-template-columns:repeat(20,minmax(0,1fr))!important;
  justify-content:start;
  align-items:start;
}
.media-grid.kids-gallery>figure{
  display:grid!important;
  width:100%!important;
  justify-self:start;
  align-self:start;
  grid-template-rows:auto minmax(54px,auto)!important;
}
.media-grid.kids-gallery>figure.kids-photo--tall{grid-column:span 4}
.media-grid.kids-gallery>figure.kids-photo--standard{grid-column:span 5}
.media-grid.kids-gallery>figure.kids-photo--phone-tall{grid-column:span 4}
.media-grid.kids-gallery>figure.kids-row-start{grid-column-start:1!important}
.media-grid.kids-gallery>figure>img{
  display:block;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:left top!important;
  background:transparent!important;
}
.media-grid.kids-gallery>figure.kids-photo--tall>img{aspect-ratio:9/16}
.media-grid.kids-gallery>figure.kids-photo--standard>img{aspect-ratio:3/4}
.media-grid.kids-gallery>figure.kids-photo--phone-tall>img{aspect-ratio:640/1432}

.media-grid.sunday-sessions-gallery>figure,
.media-grid.paint-sip-gallery>figure,
.media-grid.pub-quiz-gallery>figure{
  display:grid!important;
  width:100%!important;
  align-self:start;
  grid-template-rows:auto minmax(72px,auto)!important;
}
.media-grid.sunday-sessions-gallery>figure>img,
.media-grid.paint-sip-gallery>figure>img,
.media-grid.pub-quiz-gallery>figure>img{
  display:block;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:16/9;
  object-fit:cover!important;
  object-position:center!important;
}
.media-grid.sunday-sessions-gallery>figure.sunday-photo--top-one>img{object-position:center 67%!important}
.media-grid.sunday-sessions-gallery>figure.sunday-photo--top-two>img{object-position:center 50%!important}
.media-grid.sunday-sessions-gallery>figure.sunday-photo--top-three>img{object-position:center 55%!important}
.media-grid.sunday-sessions-gallery>figure.sunday-photo--portrait-focus>img{object-position:center 57%!important}

.media-grid.beach-party-gallery{
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  justify-content:start;
  align-items:start;
}
.media-grid.beach-party-gallery>figure{
  display:grid!important;
  justify-self:start;
  align-self:start;
  grid-template-rows:auto minmax(54px,auto)!important;
}
.media-grid.beach-party-gallery>figure.beach-photo--landscape{
  grid-column:span 2;
  width:100%!important;
}
.media-grid.beach-party-gallery>figure.beach-photo--portrait{
  grid-column:span 3;
  width:min(100%,405px)!important;
}
.media-grid.beach-party-gallery>figure>img{
  display:block;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:left top!important;
  background:transparent!important;
}
.media-grid.beach-party-gallery>figure.beach-photo--landscape>img{aspect-ratio:16/9}
.media-grid.beach-party-gallery>figure.beach-photo--portrait>img{aspect-ratio:3/4}

@media(max-width:1050px){
  .media-grid.staff-photos.gallery-uniform,
  .media-grid.beach-party-gallery{
    width:100%!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  .media-grid.staff-photos.gallery-uniform>figure.staff-photo--portrait,
  .media-grid.staff-photos.gallery-uniform>figure.staff-photo--landscape,
  .media-grid.beach-party-gallery>figure.beach-photo--landscape,
  .media-grid.beach-party-gallery>figure.beach-photo--portrait{grid-column:auto}
  .media-grid.staff-photos.gallery-uniform>figure.staff-photo--portrait,
  .media-grid.beach-party-gallery>figure.beach-photo--portrait{width:min(100%,360px)!important}
}

@media(max-width:760px){
  .media-grid.staff-photos.gallery-uniform,
  .media-grid.kids-gallery,
  .media-grid.beach-party-gallery{
    grid-template-columns:minmax(0,1fr)!important;
    justify-items:start!important;
  }
  .media-grid.staff-photos.gallery-uniform>figure.staff-photo--portrait,
  .media-grid.staff-photos.gallery-uniform>figure.staff-photo--landscape,
  .media-grid.kids-gallery>figure,
  .media-grid.beach-party-gallery>figure.beach-photo--landscape,
  .media-grid.beach-party-gallery>figure.beach-photo--portrait{
    grid-column:1!important;
    grid-column-start:1!important;
  }
  .media-grid.staff-photos.gallery-uniform>figure.staff-photo--portrait{width:min(100%,338px)!important}
  .media-grid.staff-photos.gallery-uniform>figure.staff-photo--landscape{width:100%!important}
  .media-grid.kids-gallery>figure.kids-photo--tall{width:min(100%,320px)!important}
  .media-grid.kids-gallery>figure.kids-photo--standard{width:min(100%,360px)!important}
  .media-grid.kids-gallery>figure.kids-photo--phone-tall{width:min(100%,286px)!important}
  .media-grid.beach-party-gallery>figure.beach-photo--landscape{width:100%!important}
  .media-grid.beach-party-gallery>figure.beach-photo--portrait{width:min(100%,360px)!important}
}

/* Visible-photo alignment and orientation rows. */
body.volunteer-tony-page main .media-grid.volunteer-gallery>figure.tony-photo--portrait{
  display:grid!important;
  grid-template-rows:520px minmax(54px,auto)!important;
  align-items:start!important;
}
body.volunteer-tony-page main .media-grid.volunteer-gallery>figure.tony-photo--portrait>img{
  width:293px!important;
  height:520px!important;
  min-height:520px;
  max-height:520px;
  object-fit:contain!important;
  object-position:left center!important;
}
body.volunteer-tony-page main .media-grid.volunteer-gallery>figure.tony-photo--portrait>figcaption{
  width:293px!important;
}
main .media-grid.tom-gallery>figure.tom-photo--portrait-captioned{
  align-items:flex-start!important;
  grid-column:1 / -1;
  justify-self:start;
  width:191px!important;
}
main .media-grid.tom-gallery>figure.tom-photo--portrait-captioned>img{
  width:191px!important;
  height:340px!important;
  min-height:340px;
  max-height:340px;
  object-fit:contain!important;
  object-position:left center!important;
}
main .media-grid.tom-gallery>figure.tom-photo--portrait-captioned>figcaption{
  width:191px!important;
}
.media-grid.gallery-uniform.anzac-gallery{
  grid-template-columns:repeat(6,minmax(0,1fr));
  align-items:start;
}
.media-grid.gallery-uniform.anzac-gallery>figure{
  grid-template-rows:auto minmax(72px,auto)!important;
  align-items:start!important;
}
.media-grid.gallery-uniform.anzac-gallery>figure.anzac-photo--standard,
.media-grid.gallery-uniform.anzac-gallery>figure.anzac-photo--wide{
  grid-column:span 3;
}
.media-grid.gallery-uniform.anzac-gallery>figure.anzac-photo--portrait{
  grid-column:span 2;
}
.media-grid.gallery-uniform.anzac-gallery>figure.anzac-photo--standard>img{
  width:100%!important;
  height:auto!important;
  min-height:0;
  max-height:none;
  aspect-ratio:4/3;
}
.media-grid.gallery-uniform.anzac-gallery>figure.anzac-photo--wide>img{
  width:100%!important;
  height:auto!important;
  min-height:0;
  max-height:none;
  aspect-ratio:16/9;
}
.media-grid.gallery-uniform.anzac-gallery>figure.anzac-photo--portrait>img{
  width:100%!important;
  height:auto!important;
  min-height:0;
  max-height:none;
  aspect-ratio:3/4;
}
@media(max-width:1050px){
  .media-grid.gallery-uniform.anzac-gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .media-grid.gallery-uniform.anzac-gallery>figure.anzac-photo--standard,
  .media-grid.gallery-uniform.anzac-gallery>figure.anzac-photo--wide,
  .media-grid.gallery-uniform.anzac-gallery>figure.anzac-photo--portrait{grid-column:auto}
}
@media(max-width:760px){
  .media-grid.gallery-uniform.anzac-gallery{grid-template-columns:minmax(0,1fr)!important}
  body.volunteer-tony-page main .media-grid.volunteer-gallery>figure.tony-photo--portrait>img,
  body.volunteer-tony-page main .media-grid.volunteer-gallery>figure.tony-photo--portrait>figcaption{max-width:100%!important}
}

/* Final orientation-aware gallery corrections. */
.volunteer-tony-page .tony-photo--portrait>img,
.tom-gallery .tom-photo--portrait-captioned>img,
.volunteer-gary-page main .volunteer-profile>figure>img,
.volunteer-gary-page main .gary-supporting-photos>figure>img,
.media-grid.anzac-gallery>figure>img{
  object-fit:contain!important;
  object-position:left center!important;
  background:#fff!important;
}
.volunteer-tony-page .tony-photo--portrait>figcaption,
.tom-gallery .tom-photo--portrait-captioned>figcaption,
.volunteer-gary-page main figure>figcaption,
.media-grid.anzac-gallery>figure>figcaption{
  width:100%!important;
  justify-content:flex-start!important;
  padding-left:0!important;
  text-align:left!important;
}
.media-grid.sunday-sessions-gallery>figure.sunday-photo--top-equal>img{
  object-fit:cover!important;
  background:var(--soft)!important;
}
.media-grid.sunday-sessions-gallery>figure.sunday-photo--top-one>img{object-position:center 67%!important}
.media-grid.sunday-sessions-gallery>figure.sunday-photo--top-two>img{object-position:center 50%!important}
.media-grid.sunday-sessions-gallery>figure.sunday-photo--top-three>img{object-position:center 55%!important}
.media-grid.anzac-gallery{
  align-items:stretch;
}
.media-grid.anzac-gallery>figure{
  display:grid!important;
  grid-template-rows:340px minmax(72px,auto)!important;
  height:100%;
  align-items:start;
  background:#fff!important;
}
.media-grid.anzac-gallery>figure>img{
  display:block;
  width:100%;
  height:340px!important;
  min-height:340px;
  max-height:340px;
}
.media-grid.anzac-gallery>figure>figcaption{
  min-height:72px;
  padding:.7rem 0!important;
}
@media(max-width:760px){
  .media-grid.anzac-gallery>figure{grid-template-rows:300px minmax(72px,auto)!important}
  .media-grid.anzac-gallery>figure>img{height:300px!important;min-height:300px;max-height:300px}
}

/* Page-level gallery frames: consistent rows without losing important subjects. */
.media-grid.sunday-sessions-gallery>figure.sunday-photo--portrait-focus>img{
  object-fit:cover!important;
  object-position:center 57%!important;
}

.social-event-links{
  grid-template-columns:repeat(5,minmax(0,1fr));
  align-items:stretch;
}
.social-event-links .logo-card.photo-card{
  grid-template-rows:240px minmax(54px,auto);
}
main .social-event-links .logo-card.photo-card>img{
  height:240px!important;
  min-height:240px;
  max-height:240px;
  object-fit:cover!important;
  object-position:center!important;
  background:var(--soft)!important;
}
.social-event-links .logo-card.photo-card:nth-child(3)>img{object-position:center 36%!important}
.social-event-links .logo-card.photo-card:nth-child(5)>img{object-position:center 44%!important}
.social-event-links .logo-card.photo-card>span{
  box-sizing:border-box;
  width:100%;
  justify-content:flex-start;
  padding:.75rem 0;
  text-align:left;
}

.media-grid.staff-photos.gallery-uniform{
  grid-template-columns:repeat(6,minmax(0,1fr));
  align-items:start;
}
.media-grid.staff-photos.gallery-uniform>figure.staff-photo--portrait{
  grid-column:span 2;
  grid-template-rows:600px minmax(54px,auto)!important;
}
.media-grid.staff-photos.gallery-uniform>figure.staff-photo--landscape{
  grid-column:span 3;
  grid-template-rows:342px minmax(54px,auto)!important;
}
.media-grid.staff-photos.gallery-uniform>figure.staff-photo--portrait>img{
  height:600px!important;
  min-height:600px;
  max-height:600px;
  object-fit:contain!important;
  object-position:center!important;
  background:var(--soft)!important;
}
.media-grid.staff-photos.gallery-uniform>figure.staff-photo--landscape>img{
  height:342px!important;
  min-height:342px;
  max-height:342px;
  object-fit:cover!important;
  object-position:center!important;
  background:var(--soft)!important;
}
.media-grid.staff-photos.gallery-uniform>figure>figcaption{
  display:flex!important;
  width:100%!important;
  min-height:54px;
  justify-content:flex-start!important;
  padding:.65rem 0!important;
  text-align:left!important;
}

.whats-on-program-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:stretch;
}
.whats-on-program-grid>.media-card{
  display:grid;
  grid-template-rows:420px 1fr;
  height:100%;
}
main .whats-on-program-grid>.media-card>img{
  width:100%;
  height:420px!important;
  min-height:420px;
  max-height:420px;
  object-fit:cover!important;
  object-position:center 54%!important;
  background:var(--soft)!important;
}
.whats-on-program-grid>.media-card>div{
  display:flex;
  height:100%;
  flex-direction:column;
}
.whats-on-program-grid>.media-card .text-link{
  align-self:flex-start;
  margin-top:auto;
}

@media(max-width:1050px){
  .social-event-links{grid-template-columns:repeat(2,minmax(0,1fr))}
  .media-grid.staff-photos.gallery-uniform{
    width:min(100%,760px);
    grid-template-columns:minmax(0,1fr)!important;
    margin-left:auto;
    margin-right:auto;
  }
  .media-grid.staff-photos.gallery-uniform>figure.staff-photo--portrait,
  .media-grid.staff-photos.gallery-uniform>figure.staff-photo--landscape{grid-column:auto}
}

@media(max-width:760px){
  .social-event-links{grid-template-columns:minmax(0,1fr)!important}
  .social-event-links .logo-card.photo-card{grid-template-rows:300px minmax(54px,auto)}
  main .social-event-links .logo-card.photo-card>img{
    height:300px!important;
    min-height:300px;
    max-height:300px;
  }
  .media-grid.staff-photos.gallery-uniform>figure.staff-photo--portrait{
    grid-template-rows:500px minmax(54px,auto)!important;
  }
  .media-grid.staff-photos.gallery-uniform>figure.staff-photo--portrait>img{
    height:500px!important;
    min-height:500px;
    max-height:500px;
  }
  .media-grid.staff-photos.gallery-uniform>figure.staff-photo--landscape{
    grid-template-rows:260px minmax(54px,auto)!important;
  }
  .media-grid.staff-photos.gallery-uniform>figure.staff-photo--landscape>img{
    height:260px!important;
    min-height:260px;
    max-height:260px;
  }
  .whats-on-program-grid{grid-template-columns:minmax(0,1fr)!important}
  .whats-on-program-grid>.media-card{grid-template-rows:300px 1fr}
  main .whats-on-program-grid>.media-card>img{
    height:300px!important;
    min-height:300px;
    max-height:300px;
  }
}

/* Staff override must remain last because legacy frame rules above use fixed heights. */
.media-grid.staff-photos.gallery-uniform{
  width:100%!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  margin-left:0!important;
  margin-right:0!important;
}
.media-grid.staff-photos.gallery-uniform>figure{
  grid-template-rows:auto minmax(54px,auto)!important;
}
.media-grid.staff-photos.gallery-uniform>figure.staff-photo--portrait{
  grid-column:span 2;
  width:min(100%,338px)!important;
}
.media-grid.staff-photos.gallery-uniform>figure.staff-photo--landscape{
  grid-column:span 3;
  width:100%!important;
}
.media-grid.staff-photos.gallery-uniform>figure.staff-photo--portrait>img,
.media-grid.staff-photos.gallery-uniform>figure.staff-photo--landscape>img{
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:left top!important;
  background:transparent!important;
}
.media-grid.staff-photos.gallery-uniform>figure.staff-photo--portrait>img{aspect-ratio:9/16}
.media-grid.staff-photos.gallery-uniform>figure.staff-photo--landscape>img{aspect-ratio:16/9}
@media(max-width:1050px){
  .media-grid.staff-photos.gallery-uniform{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .media-grid.staff-photos.gallery-uniform>figure.staff-photo--portrait,
  .media-grid.staff-photos.gallery-uniform>figure.staff-photo--landscape{grid-column:auto}
  .media-grid.staff-photos.gallery-uniform>figure.staff-photo--portrait{width:min(100%,360px)!important}
}
@media(max-width:760px){
  .media-grid.staff-photos.gallery-uniform{grid-template-columns:minmax(0,1fr)!important}
  .media-grid.staff-photos.gallery-uniform>figure.staff-photo--portrait,
  .media-grid.staff-photos.gallery-uniform>figure.staff-photo--landscape{grid-column:1!important}
  .media-grid.staff-photos.gallery-uniform>figure.staff-photo--portrait{width:min(100%,338px)!important}
  .media-grid.staff-photos.gallery-uniform>figure.staff-photo--landscape{width:100%!important}
}

/* Preserve intended spans when an orientation group begins a fresh row. */
.media-grid.kids-gallery>figure.kids-photo--tall.kids-row-start{grid-column:1 / span 4!important}
.media-grid.kids-gallery>figure.kids-photo--standard.kids-row-start{grid-column:1 / span 5!important}
.media-grid.kids-gallery>figure.kids-photo--phone-tall.kids-row-start{grid-column:1 / span 4!important}

/* Keep the first ten portrait cards at five per row, then fill every remaining
   desktop row with four evenly sized cards instead of leaving group gaps. */
.media-grid.kids-gallery>figure:nth-child(n+11){grid-column:span 5!important}
.media-grid.kids-gallery>figure.kids-row-start:nth-child(n+11){grid-column:span 5!important}

/* Sunday-session rows use one responsive 16:9 frame at every breakpoint. */
.media-grid.sunday-sessions-gallery>figure>img{
  height:225px!important;
  min-height:225px!important;
  max-height:225px!important;
}
@media(max-width:1050px){
  .media-grid.sunday-sessions-gallery>figure>img{
    height:calc((100vw - 48px)*.28125)!important;
    min-height:calc((100vw - 48px)*.28125)!important;
    max-height:calc((100vw - 48px)*.28125)!important;
  }
}
@media(max-width:760px){
  .media-grid.kids-gallery>figure.kids-photo--tall,
  .media-grid.kids-gallery>figure.kids-photo--standard,
  .media-grid.kids-gallery>figure.kids-photo--phone-tall{grid-column:1!important}
  .media-grid.sunday-sessions-gallery>figure>img{
    height:calc((100vw - 32px)*.5625)!important;
    min-height:calc((100vw - 32px)*.5625)!important;
    max-height:calc((100vw - 32px)*.5625)!important;
  }
}

/* 2026-08-20 mobile QA: uniform, uncropped gallery frames and left-aligned labels. */
@media(max-width:760px){
  main .logo-card.photo-card>span,
  .volunteers-page main .logo-card.photo-card>span{
    box-sizing:border-box!important;
    width:100%!important;
    justify-content:flex-start!important;
    padding-left:0!important;
    padding-right:0!important;
    text-align:left!important;
  }

  .volunteers-page main .logo-card.photo-card>img,
  main .social-event-links .logo-card.photo-card>img{
    object-fit:contain!important;
    object-position:center!important;
    background:#fff!important;
  }

  main .media-grid.staff-photos.gallery-uniform>figure.staff-photo--portrait,
  main .media-grid.staff-photos.gallery-uniform>figure.staff-photo--landscape,
  main .media-grid.kids-gallery>figure.kids-photo--tall,
  main .media-grid.kids-gallery>figure.kids-photo--standard,
  main .media-grid.kids-gallery>figure.kids-photo--phone-tall,
  main .media-grid.beach-party-gallery>figure.beach-photo--landscape,
  main .media-grid.beach-party-gallery>figure.beach-photo--portrait{
    width:100%!important;
    max-width:none!important;
  }
  main .media-grid.kids-gallery>figure.kids-photo--tall.kids-row-start,
  main .media-grid.kids-gallery>figure.kids-photo--standard.kids-row-start,
  main .media-grid.kids-gallery>figure.kids-photo--phone-tall.kids-row-start{
    grid-column:1!important;
    grid-column-start:1!important;
  }

  main .media-grid.staff-photos.gallery-uniform>figure.staff-photo--portrait,
  main .media-grid.staff-photos.gallery-uniform>figure.staff-photo--landscape{
    grid-template-rows:360px minmax(54px,auto)!important;
  }
  main .media-grid.staff-photos.gallery-uniform>figure.staff-photo--portrait>img,
  main .media-grid.staff-photos.gallery-uniform>figure.staff-photo--landscape>img{
    width:100%!important;
    height:360px!important;
    min-height:360px!important;
    max-height:360px!important;
    aspect-ratio:auto!important;
    object-fit:contain!important;
    object-position:center!important;
    background:#fff!important;
  }

  main .media-grid.kids-gallery>figure{
    grid-template-rows:420px minmax(54px,auto)!important;
  }
  main .media-grid.kids-gallery>figure>img{
    width:100%!important;
    height:420px!important;
    min-height:420px!important;
    max-height:420px!important;
    aspect-ratio:auto!important;
    object-fit:contain!important;
    object-position:center!important;
    background:#fff!important;
  }
  main .media-grid.kids-gallery>figure.kids-photo--tall>img,
  main .media-grid.kids-gallery>figure.kids-photo--standard>img,
  main .media-grid.kids-gallery>figure.kids-photo--phone-tall>img{
    width:100%!important;
    max-width:none!important;
    aspect-ratio:auto!important;
  }

  main .media-grid.sunday-sessions-gallery>figure>img,
  main .media-grid.sunday-sessions-gallery>figure.sunday-photo--top-equal>img,
  main .media-grid.sunday-sessions-gallery>figure.sunday-photo--portrait-focus>img,
  main .media-grid.pub-quiz-gallery>figure>img{
    object-fit:contain!important;
    object-position:center!important;
    background:#fff!important;
  }

  main .media-grid.beach-party-gallery>figure.beach-photo--landscape,
  main .media-grid.beach-party-gallery>figure.beach-photo--portrait,
  main .media-grid.gallery-uniform.anzac-gallery>figure.anzac-photo--standard,
  main .media-grid.gallery-uniform.anzac-gallery>figure.anzac-photo--wide,
  main .media-grid.gallery-uniform.anzac-gallery>figure.anzac-photo--portrait{
    grid-template-rows:360px minmax(72px,auto)!important;
  }
  main .media-grid.beach-party-gallery>figure>img,
  main .media-grid.gallery-uniform.anzac-gallery>figure>img{
    display:block!important;
    width:100%!important;
    height:360px!important;
    min-height:360px!important;
    max-height:360px!important;
    aspect-ratio:auto!important;
    object-fit:contain!important;
    object-position:center!important;
    background:#fff!important;
  }

  main .media-grid.volunteer-gallery>figure,
  body.volunteer-tony-page main .media-grid.volunteer-gallery>figure.tony-photo--portrait,
  main .media-grid.tom-gallery>figure.tom-photo--portrait-captioned{
    width:100%!important;
    max-width:none!important;
    grid-template-rows:360px minmax(54px,auto)!important;
  }
  main .media-grid.volunteer-gallery>figure>img,
  body.volunteer-tony-page main .media-grid.volunteer-gallery>figure.tony-photo--portrait>img,
  main .media-grid.tom-gallery>figure.tom-photo--portrait-captioned>img{
    width:100%!important;
    height:360px!important;
    min-height:360px!important;
    max-height:360px!important;
    aspect-ratio:auto!important;
    object-fit:contain!important;
    object-position:center!important;
    background:#fff!important;
  }
  body.volunteer-tony-page main .media-grid.volunteer-gallery>figure.tony-photo--portrait>figcaption,
  main .media-grid.tom-gallery>figure.tom-photo--portrait-captioned>figcaption{
    width:100%!important;
  }

  main .volunteer-profile>figure,
  .volunteer-gary-page main .volunteer-profile>figure{
    width:100%!important;
    max-width:none!important;
    min-height:360px!important;
    grid-template-rows:360px auto!important;
  }
  main .volunteer-profile>figure>img,
  body.portrait-wide-page main .volunteer-profile>figure>img,
  .volunteer-gary-page main .volunteer-profile>figure>img{
    width:100%!important;
    max-width:none!important;
    height:360px!important;
    min-height:360px!important;
    max-height:360px!important;
    aspect-ratio:auto!important;
    object-fit:contain!important;
    object-position:center!important;
    background:#fff!important;
  }
}

/* 2026-08-22 final media guardrails: keep every subject visible and every
   caption anchored to the exact left edge of its image on desktop and mobile. */
main figure>figcaption,
main .logo-card.photo-card>span,
main .media-card>span{
  display:flex!important;
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
  align-self:stretch!important;
  justify-content:flex-start!important;
  align-items:flex-start!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
  text-align:left!important;
}

body.volunteer-leon-page main .supporter-profile>figure{
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
  background:#fff!important;
}
body.volunteer-leon-page main .supporter-profile>figure>img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#fff!important;
}

@media(max-width:760px){
  body.volunteer-leon-page main .supporter-profile>figure,
  body.volunteer-leon-page main .supporter-profile>figure>img{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
  }
}

/* 2026-08-22 final layout consistency pass. */
.page-section.split,
.page-section>.split{
  align-items:start!important;
}
.page-section.split>*:first-child,
.page-section.split>*:last-child,
.page-section>.split>*:first-child,
.page-section>.split>*:last-child{
  align-self:start!important;
  margin-top:0!important;
}

.page-section:has(.sponsor-feature-photo)>.media-grid{
  width:min(100%,900px)!important;
  grid-template-columns:repeat(2,minmax(0,430px))!important;
  justify-content:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.page-section:has(.sponsor-feature-photo)>.media-grid>.media-card{
  display:grid!important;
  width:100%!important;
  grid-template-rows:360px!important;
  padding:0!important;
}
.page-section:has(.sponsor-feature-photo)>.media-grid>.media-card>img{
  display:block!important;
  width:100%!important;
  height:360px!important;
  min-height:360px!important;
  max-height:360px!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#fff!important;
}

main .event-grid>.media-card{
  display:grid!important;
  grid-template-rows:360px auto!important;
  align-items:start!important;
}
main .event-grid>.media-card>img{
  display:block!important;
  width:100%!important;
  height:360px!important;
  min-height:360px!important;
  max-height:360px!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#fff!important;
}

main .media-grid.kids-gallery{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
main .media-grid.kids-gallery>figure,
main .media-grid.kids-gallery>figure.kids-photo--tall,
main .media-grid.kids-gallery>figure.kids-photo--standard,
main .media-grid.kids-gallery>figure.kids-photo--phone-tall,
main .media-grid.kids-gallery>figure.kids-row-start,
main .media-grid.kids-gallery>figure:nth-child(n+11){
  grid-column:auto!important;
  grid-column-start:auto!important;
  grid-column-end:auto!important;
  width:100%!important;
  max-width:none!important;
}
main .media-grid.kids-gallery>figure.kids-photo--tall.kids-row-start,
main .media-grid.kids-gallery>figure.kids-photo--standard.kids-row-start,
main .media-grid.kids-gallery>figure.kids-photo--phone-tall.kids-row-start,
main .media-grid.kids-gallery>figure.kids-row-start:nth-child(n+11){
  grid-column:auto!important;
  grid-column-start:auto!important;
  grid-column-end:auto!important;
}
main .media-grid.kids-gallery>figure,
main .media-grid.kids-gallery>figure.kids-photo--tall,
main .media-grid.kids-gallery>figure.kids-photo--standard,
main .media-grid.kids-gallery>figure.kids-photo--phone-tall{
  grid-template-rows:420px minmax(54px,auto)!important;
}
main .media-grid.kids-gallery>figure>img,
main .media-grid.kids-gallery>figure.kids-photo--tall>img,
main .media-grid.kids-gallery>figure.kids-photo--standard>img,
main .media-grid.kids-gallery>figure.kids-photo--phone-tall>img{
  display:block!important;
  width:100%!important;
  height:420px!important;
  min-height:420px!important;
  max-height:420px!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#fff!important;
}
main .media-grid.kids-gallery>figure>figcaption{
  box-sizing:border-box!important;
  justify-self:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
  justify-content:flex-start!important;
  text-align:left!important;
}
main .media-grid.kids-gallery>figure.kids-photo--tall>figcaption{
  width:min(100%,236.25px)!important;
}
main .media-grid.kids-gallery>figure.kids-photo--standard>figcaption{
  width:min(100%,315px)!important;
}
main .media-grid.kids-gallery>figure.kids-photo--phone-tall>figcaption{
  width:min(100%,187.71px)!important;
}

main .media-grid.sunday-sessions-gallery>figure:last-child,
main .media-grid.sunday-sessions-gallery>figure:last-child>img{
  width:100%!important;
  max-width:none!important;
}

@media(max-width:1050px){
  main .media-grid.kids-gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:760px){
  .page-section:has(.sponsor-feature-photo)>.media-grid{grid-template-columns:minmax(0,430px)!important}
  main .event-grid>.media-card{grid-template-rows:320px auto!important}
  main .event-grid>.media-card>img{height:320px!important;min-height:320px!important;max-height:320px!important}
  main .media-grid.kids-gallery{grid-template-columns:minmax(0,1fr)!important}
  main .media-grid.kids-gallery>figure,
  main .media-grid.kids-gallery>figure.kids-photo--tall,
  main .media-grid.kids-gallery>figure.kids-photo--standard,
  main .media-grid.kids-gallery>figure.kids-photo--phone-tall{grid-template-rows:360px minmax(54px,auto)!important}
  main .media-grid.kids-gallery>figure>img,
  main .media-grid.kids-gallery>figure.kids-photo--tall>img,
  main .media-grid.kids-gallery>figure.kids-photo--standard>img,
  main .media-grid.kids-gallery>figure.kids-photo--phone-tall>img{height:360px!important;min-height:360px!important;max-height:360px!important}
  main .media-grid.kids-gallery>figure.kids-photo--tall>figcaption{width:min(100%,202.5px)!important}
  main .media-grid.kids-gallery>figure.kids-photo--standard>figcaption{width:min(100%,270px)!important}
  main .media-grid.kids-gallery>figure.kids-photo--phone-tall>figcaption{width:min(100%,160.89px)!important}
}

/* 2026-08-22 community-events pass: uniform cards, left-aligned copy and
   dedicated weekly/monthly groups across desktop and mobile. */
.community-events-page .event-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  align-items:stretch!important;
}
.community-events-page main .event-grid>.media-card,
main .whats-on-program-grid>.media-card{
  display:grid!important;
  grid-template-rows:360px 1fr!important;
  width:100%!important;
  height:100%!important;
  padding:0!important;
  align-items:start!important;
}
.community-events-page main .event-grid>.media-card>img,
main .whats-on-program-grid>.media-card>img{
  display:block!important;
  box-sizing:border-box!important;
  width:100%!important;
  height:360px!important;
  min-height:360px!important;
  max-height:360px!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#fff!important;
}
.community-events-page .event-grid>.media-card>div,
main .whats-on-program-grid>.media-card>div{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  box-sizing:border-box!important;
  width:100%!important;
  height:100%!important;
  text-align:left!important;
}
.community-events-page .event-grid>.media-card>div>*,
main .whats-on-program-grid>.media-card>div>*{
  width:100%!important;
  text-align:left!important;
}
.community-events-page .event-grid>.media-card .text-link{
  width:auto!important;
  margin-top:auto!important;
  align-self:flex-start!important;
}
.community-events-page .monthly-event-grid>.media-card{
  grid-column:1!important;
}
.past-events-cta{
  color:#fff!important;
  background:#c62828!important;
  border-color:#8e1616!important;
}
.past-events-cta:hover,
.past-events-cta:focus-visible{
  background:#a91f1f!important;
}
main .event-grid>.flyer-only-card{
  grid-template-rows:360px!important;
}
.event-flyer-only{
  display:flex!important;
  justify-content:center!important;
  align-items:flex-start!important;
}
.event-flyer-only>img{
  display:block!important;
  width:min(100%,760px)!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
}

@media(max-width:760px){
  .community-events-page .event-grid{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .community-events-page main .event-grid>.media-card,
  main .whats-on-program-grid>.media-card{
    grid-template-rows:320px 1fr!important;
  }
  .community-events-page main .event-grid>.media-card>img,
  main .whats-on-program-grid>.media-card>img{
    height:320px!important;
    min-height:320px!important;
    max-height:320px!important;
  }
  .community-events-page .monthly-event-grid>.media-card{
    grid-column:auto!important;
  }
  main .event-grid>.flyer-only-card{
    grid-template-rows:320px!important;
  }
}

/* 2026-08-22 publish-ready volunteer and Sunday Sessions sizing overrides. */
.volunteers-page main .logo-grid{
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  align-items:stretch!important;
}
.volunteers-page main .logo-grid>.logo-card.photo-card{
  display:grid!important;
  grid-template-rows:280px minmax(42px,auto)!important;
  box-sizing:border-box!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  padding:1rem!important;
  align-items:start!important;
  justify-content:stretch!important;
}
.volunteers-page main .logo-grid>.logo-card.photo-card>img,
.volunteers-page main .logo-grid>.logo-card.photo-card>img.main-thumb-cover{
  display:block!important;
  box-sizing:border-box!important;
  width:100%!important;
  height:280px!important;
  min-height:280px!important;
  max-height:280px!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#fff!important;
}
.volunteers-page main .logo-grid>.logo-card.photo-card>span{
  box-sizing:border-box!important;
  width:100%!important;
  padding:.65rem 0 0!important;
  text-align:left!important;
  justify-self:stretch!important;
}

main .media-grid.sunday-sessions-gallery>figure{
  grid-template-rows:340px minmax(72px,auto)!important;
  width:100%!important;
  max-width:none!important;
}
main .media-grid.sunday-sessions-gallery>figure>img,
main .media-grid.sunday-sessions-gallery>figure.sunday-photo--top-equal>img,
main .media-grid.sunday-sessions-gallery>figure.sunday-photo--portrait-focus>img,
main .media-grid.sunday-sessions-gallery>figure:last-child>img{
  display:block!important;
  box-sizing:border-box!important;
  width:100%!important;
  height:340px!important;
  min-height:340px!important;
  max-height:340px!important;
  object-fit:cover!important;
  object-position:center!important;
  background:#fff!important;
}
main .media-grid.sunday-sessions-gallery>figure:last-child>img{
  object-position:center 30%!important;
}
main .media-grid.sunday-sessions-gallery>figure>figcaption{
  box-sizing:border-box!important;
  width:100%!important;
  padding:.7rem 0!important;
  text-align:left!important;
  justify-content:flex-start!important;
}

@media(max-width:1100px){
  .volunteers-page main .logo-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media(max-width:760px){
  .volunteers-page main .logo-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .volunteers-page main .logo-grid>.logo-card.photo-card{
    grid-template-rows:260px minmax(42px,auto)!important;
  }
  .volunteers-page main .logo-grid>.logo-card.photo-card>img,
  .volunteers-page main .logo-grid>.logo-card.photo-card>img.main-thumb-cover{
    height:260px!important;
    min-height:260px!important;
    max-height:260px!important;
  }
  main .media-grid.sunday-sessions-gallery>figure{
    grid-template-rows:300px minmax(72px,auto)!important;
  }
  main .media-grid.sunday-sessions-gallery>figure>img,
  main .media-grid.sunday-sessions-gallery>figure.sunday-photo--top-equal>img,
  main .media-grid.sunday-sessions-gallery>figure.sunday-photo--portrait-focus>img,
  main .media-grid.sunday-sessions-gallery>figure:last-child>img{
    height:300px!important;
    min-height:300px!important;
    max-height:300px!important;
  }
}
@media(max-width:480px){
  .volunteers-page main .logo-grid{
    grid-template-columns:minmax(0,1fr)!important;
  }
}
