@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/open-sans-bold.ttf') format('truetype')}
@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/manrope-400.ttf') format('truetype')}
@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/manrope-500.ttf') format('truetype')}
@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/manrope-600.ttf') format('truetype')}
@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/manrope-700.ttf') format('truetype')}
@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url('/fonts/manrope-800.ttf') format('truetype')}
:root{--blue:#17458f;--navy:#092653;--gold:#f7a81b;--ink:#132b49;--muted:#53667a;--line:#dce4ed;--wash:#f0f5fa;--gutter:clamp(24px,6vw,100px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;font-family:Manrope,Arial,sans-serif;font-size:16px;line-height:1.7;color:var(--ink);background:#fff}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,select{touch-action:manipulation}img{max-width:100%;display:block}figure{margin:0}[hidden]{display:none!important}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b47900;outline-offset:5px}::selection{background:#ffe1a7;color:var(--navy)}.skip-link{position:absolute;top:-100px;left:20px;z-index:100;background:white;padding:12px}.skip-link:focus{top:8px}.draft{padding:7px var(--gutter);background:var(--navy);color:#dce6f6;font-size:12px;letter-spacing:.12em;display:flex;justify-content:space-between;gap:20px}.draft span{letter-spacing:0}
header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px var(--gutter);background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:10}.brand{flex-shrink:0}.brand img{width:260px;height:88px;object-fit:contain}nav{display:flex;align-items:center;gap:clamp(16px,1.8vw,28px);font-size:14px;font-weight:700}nav a{padding:10px 0;white-space:nowrap}nav a:hover,nav a[aria-current=page]{color:var(--blue);text-decoration:underline;text-underline-offset:7px}.menu-toggle{display:none}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:52px;padding:14px 24px;background:var(--blue);border:1px solid var(--blue);color:white;font-size:15px;font-weight:800;transition:background .2s,transform .2s}.button:hover{background:var(--navy);transform:translateY(-2px)}.button.gold{background:var(--gold);border-color:var(--gold);color:var(--navy)}.button.gold:hover{background:#ffbd43}.button.small{padding:12px 18px;min-height:46px;font-size:14px}nav .button:hover,nav .button[aria-current=page]{color:white}.textlink{display:inline-block;font-size:15px;font-weight:800;border-bottom:1px solid currentColor;padding-bottom:5px}.textlink:hover{color:var(--blue)}h1,h2,h3{line-height:1.12;letter-spacing:-.045em;margin:0 0 24px;font-weight:800;text-wrap:balance}h1{font-size:clamp(42px,5.2vw,76px)}h2{font-size:clamp(32px,3.4vw,50px)}h3{font-size:25px;letter-spacing:-.025em}h1 em,h2 em{font-style:normal;color:var(--blue)}p{margin:0 0 22px}.eyebrow{font-size:13px;line-height:1.5;font-weight:800;letter-spacing:.15em;margin-bottom:24px;text-transform:uppercase;color:var(--blue)}.intro{font-size:18px;color:var(--muted);max-width:630px;line-height:1.8}.section{padding:90px var(--gutter)}.view.section{min-height:65vh;padding-top:70px}.section-heading{display:flex;justify-content:space-between;gap:48px;align-items:end;margin-bottom:40px}.section-heading>p{max-width:440px;color:var(--muted);margin-bottom:24px}.section-heading>.textlink{flex-shrink:0;margin-bottom:25px}.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}.split>p{color:var(--muted);font-size:18px}
.hero{display:grid;grid-template-columns:1fr 1fr;background:var(--navy);color:white}.hero-copy{padding:72px 48px 64px var(--gutter);align-self:center}.hero h1{font-size:clamp(40px,4.8vw,72px);letter-spacing:-.05em}.hero h1 em{color:#ffbd43}.hero .eyebrow{color:#b9d2f5;font-size:12px}.hero .intro{color:#dce6f6;font-size:17px;max-width:510px}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin:32px 0 42px}.hero .textlink{color:white}.hero-meta{display:flex;flex-wrap:wrap;gap:28px;color:#bed0e8;font-size:12px;letter-spacing:.12em;font-weight:700}.hero-photo{position:relative;display:flex;flex-direction:column;min-width:0;background:#113769}.hero-photo>img{width:100%;height:100%;min-height:480px;object-fit:cover;object-position:center;flex:1}.hero-photo figcaption{padding:30px 36px;background:#17458f;border-top:3px solid var(--gold)}.hero-photo figcaption span{font-size:12px;letter-spacing:.13em;color:#d0e1fa}.hero-photo figcaption strong{display:block;font-size:21px;line-height:1.4;margin:10px 0}.hero-photo figcaption a{font-size:14px;font-weight:700}.affiliation{display:grid;grid-template-columns:.7fr 1.3fr 1fr 1.15fr;gap:32px;padding:30px var(--gutter);border-bottom:1px solid var(--line);font-size:13px;color:var(--muted);align-items:center}.affiliation>span{font-size:12px;line-height:1.6;letter-spacing:.1em;font-weight:800}.affiliation strong{display:block;margin-top:5px;font-size:15px;color:var(--ink)}.photo-story{display:grid;grid-template-columns:1.25fr 1fr;gap:64px;align-items:start}.photo-story>figure img{width:100%;height:auto;aspect-ratio:1.25;object-fit:cover}.photo-story figcaption{padding-top:12px;color:var(--muted);font-size:13px}.story-copy{padding-top:20px}.section-number{font-size:13px;letter-spacing:.12em;color:var(--blue);font-weight:800;display:block;margin-bottom:24px}.story-copy h3{font-size:34px}.story-copy p{color:var(--muted);max-width:430px}.story-detail{width:100%;height:auto;aspect-ratio:2;object-fit:cover;margin-top:34px}.board-feature{display:grid;grid-template-columns:.8fr 1.3fr;gap:56px;padding:70px var(--gutter);background:var(--navy);color:white;align-items:center}.board-feature .eyebrow{color:#ffcb6c}.board-feature h2{font-size:clamp(32px,3vw,44px)}.board-feature p:not(.eyebrow){color:#c9d9ed}.board-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.board-preview figure{min-width:0}.board-preview img{width:100%;height:auto;aspect-ratio:4/5;object-fit:contain;background:#fff}.board-preview figcaption{font-size:14px;line-height:1.5;font-weight:800;margin-top:14px}.board-preview figcaption span{display:block;color:#c9d9ed;font-size:12px;font-weight:500;margin-top:5px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin:36px 0 0}.cards article{padding:30px 0 12px;border-top:2px solid var(--gold)}.num{font-size:13px;letter-spacing:.12em;color:var(--blue);font-weight:800;display:block;margin-bottom:28px}.cards p{color:var(--muted);max-width:430px}.campaign-section{background:var(--wash)}.campaign-intro{max-width:680px;color:var(--muted)}.campaign-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;max-width:1080px;margin:38px 0}.campaign-grid img{width:100%;height:auto}.campaign-grid figcaption{font-size:16px;font-weight:700;margin-top:15px}.campaign-credit{font-size:13px;max-width:760px;color:var(--muted)}.campaign-impact{padding:40px;margin-top:54px}.closing{padding:80px var(--gutter);background:var(--blue);color:white;text-align:center}.closing .eyebrow{color:#ffcf79}.closing h2{font-size:clamp(36px,4vw,58px)}
.page-photo{float:right;width:43%;margin:0 0 40px 56px}.page-photo img{width:100%;height:auto;aspect-ratio:1.15;object-fit:cover}.view .page-photo~.split{display:block}.view .page-photo~.cards{clear:both;padding-top:25px;margin-bottom:35px}.event-photo{width:40%}.event-photo~.event{clear:both}.notice{background:var(--wash);padding:28px 32px;border-left:3px solid var(--gold);margin:32px 0}.notice h3{font-size:24px}.notice p:last-child{margin-bottom:0}.causes{padding-top:45px;border-top:1px solid var(--line);margin-top:50px}.cause-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:30px 0}.cause-grid span{background:var(--wash);border-left:3px solid var(--gold);padding:22px;font-weight:700;font-size:16px}.event{display:flex;gap:34px;align-items:center;padding:32px 0;border-block:1px solid var(--line)}.date{font-size:56px;line-height:1;font-weight:800;color:var(--blue);text-align:center}.date small{display:block;font-size:12px;white-space:nowrap;margin-top:14px}.event h2{font-size:28px;margin:10px 0}.event p{margin-bottom:0}.event .eyebrow{font-size:12px}.badge{display:inline-block;white-space:nowrap;background:#e5f2e9;color:#245738;border-radius:24px;padding:6px 12px;font-size:13px;font-weight:700}.event>.badge{margin-left:auto}.gallery-head{margin-top:55px}.gallery-head p{color:var(--muted)}.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin:30px 0}.photo-open{border:0;padding:0;background:var(--wash);width:100%;cursor:zoom-in;overflow:hidden}.gallery img{width:100%;height:auto;aspect-ratio:1.5;object-fit:cover;transition:transform .35s}.photo-open:hover img{transform:scale(1.025)}.gallery figcaption{font-size:14px;padding:14px 0;color:var(--muted)}.board-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px 24px;margin-top:48px}.board-member{min-width:0;background:var(--wash);border-bottom:3px solid var(--gold)}.portrait{aspect-ratio:4/5;overflow:hidden;background:#fff}.portrait img{width:100%;height:100%;object-fit:contain}.portrait.initials{background:#dfe9f6;color:var(--blue);display:flex;align-items:center;justify-content:center;font-size:56px;font-weight:800}.board-copy{padding:22px 20px}.board-copy p{font-size:13px;color:var(--muted);line-height:1.5;min-height:40px;margin:0 0 12px}.board-copy h3{font-size:22px;line-height:1.3;margin:0}.board-end{margin-top:65px;padding:45px;background:var(--wash);border-left:4px solid var(--gold)}.board-end h2{font-size:36px}.join-photo{width:100%;height:auto;aspect-ratio:1.5;object-fit:cover;margin-top:35px}.formcard{background:white;border:1px solid var(--line);padding:36px;box-shadow:0 20px 60px #09265309}.formcard h2{font-size:30px}label{display:block;font-size:14px;font-weight:700;margin-bottom:22px}input,select,textarea{display:block;width:100%;padding:14px 12px;background:white;border:1px solid #aab9cb;color:var(--ink);margin-top:8px;border-radius:0;font-size:16px}textarea{min-height:130px;resize:vertical}.muted{color:var(--muted);font-size:14px}.portal-cards{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:36px 0}.portal-card{padding:42px;border:1px solid var(--line);background:var(--wash)}.portal-card>span{display:block;color:var(--blue);font-weight:800;margin-bottom:35px}.portal-card h2{font-size:34px}.portal-card.navy{background:var(--navy);color:white}.portal-card.navy>span{color:var(--gold)}.portal-card strong{font-size:15px}.payment{margin-top:40px}.total{display:flex;justify-content:space-between;gap:20px;padding:22px 0;border-block:1px solid var(--line);margin:24px 0;align-items:center}.total strong{font-size:28px}.dashhead{display:flex;justify-content:space-between;gap:24px;align-items:start}.dashhead h2{font-size:38px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:32px 0}.stats article{padding:25px;background:var(--wash);border-top:3px solid var(--blue)}.stats span{font-size:14px;color:var(--muted)}.stats strong{display:block;font-size:32px;margin-top:14px}.toolbar{display:flex;gap:24px;align-items:center}.toolbar .search{flex:1}.tablewrap{overflow:auto;border:1px solid var(--line)}table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:14px}td,th{text-align:left;padding:20px;border-bottom:1px solid var(--line)}th{background:var(--wash);font-size:13px}td small{display:block;color:var(--muted)}.pending{background:#fff1d4;color:#77520d}#pay-result,#join-result{font-size:14px;margin-top:20px}.footerlinks{display:flex;flex-direction:column;gap:12px}footer{padding:55px var(--gutter);background:#061c3d;color:white;display:flex;justify-content:space-between;gap:40px;font-size:14px}footer strong{font-size:22px;line-height:1.4}footer p{color:#bed0e8;margin:16px 0}footer a:hover{text-decoration:underline}footer .footerlinks>span{color:#bed0e8}dialog{max-width:94vw;max-height:94vh;border:0;padding:18px;background:white;color:var(--ink)}dialog::backdrop{background:#041329ed}dialog img{max-width:85vw;max-height:75vh;object-fit:contain}dialog p{margin:14px 0 0;font-size:14px}#close-photo{display:block;width:44px;height:44px;margin:0 0 14px auto;border:0;background:var(--navy);color:white;font-size:22px}
@media(min-width:1600px){body{max-width:1800px;margin:auto}.hero-photo>img{max-height:680px}}
@media(max-width:1150px){header{flex-wrap:wrap;gap:8px;padding-block:10px}nav{justify-content:space-between;width:100%;gap:16px}.brand img{height:75px}.hero-copy{padding:55px 30px 55px var(--gutter)}.hero h1{font-size:48px}.hero-photo>img{min-height:400px}.board-feature{grid-template-columns:1fr;gap:36px}.board-preview{max-width:760px;width:100%}.board-feature>div:first-child{max-width:680px}.photo-story{gap:36px}.board-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.section-heading{gap:32px}}
@media(max-width:800px){.hero{grid-template-columns:1fr}.hero-copy{padding:48px var(--gutter)}.hero h1{font-size:clamp(42px,7.5vw,64px)}.hero .intro{max-width:620px}.hero-photo>img{min-height:0;height:auto;aspect-ratio:1.6;object-fit:cover}.hero-photo figcaption{padding:24px var(--gutter)}.affiliation{grid-template-columns:1fr 1fr;gap:24px}.section,.view.section{padding:55px var(--gutter)}.section-heading{display:block}.section-heading>p{max-width:600px}.split{gap:35px}.photo-story{grid-template-columns:1fr 1fr;gap:26px}.story-copy h3{font-size:28px}.story-detail{aspect-ratio:1.5}.cards{gap:24px}.cards h3{font-size:22px}.board-feature{padding:50px var(--gutter)}.campaign-grid{gap:20px}.page-photo{width:45%;margin-left:30px}.stats{grid-template-columns:1fr 1fr}.cause-grid{grid-template-columns:1fr 1fr}.portal-card{padding:28px}.portal-card h2{font-size:28px}.formcard{padding:26px}footer{flex-wrap:wrap}.campaign-impact{padding:28px}.board-copy h3{font-size:20px}}
@media(max-width:650px){header{flex-wrap:nowrap;padding:10px 24px}.brand img{width:230px;height:70px}.menu-toggle{display:flex;gap:12px;align-items:center;padding:10px;border:1px solid var(--line);background:white;color:var(--ink);font-size:14px;font-weight:700;min-height:44px}.menu-toggle span{font-size:18px}nav{display:none;position:absolute;top:100%;left:0;right:0;width:100%;background:white;padding:18px 24px 24px;box-shadow:0 12px 24px #09265315;border-bottom:1px solid var(--line)}nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0}nav a{padding:13px 0;border-bottom:1px solid var(--line)}nav .button{margin-top:15px}.draft{font-size:11px}.draft span{display:none}.hero-copy{padding-block:42px}.hero h1{font-size:clamp(37px,9vw,53px)}.hero .eyebrow{font-size:11px}.hero .intro{font-size:16px}.actions{gap:20px;margin-bottom:30px}.hero-meta{gap:16px;font-size:11px}.hero-photo figcaption strong{font-size:20px}.hero-photo figcaption span{font-size:11px}.affiliation{grid-template-columns:1fr 1fr;gap:24px 18px}.affiliation strong{font-size:14px}.affiliation>span{font-size:11px}.photo-story,.split,.portal-cards{grid-template-columns:1fr}.photo-story>figure img{aspect-ratio:1.4}.story-copy{padding-top:0}.story-detail{aspect-ratio:1.7}.section-heading{margin-bottom:30px}.section-heading>p{font-size:16px}.cards{grid-template-columns:1fr;gap:14px}.cards article{padding:24px 0 4px}.num{margin-bottom:18px}.board-preview{gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.board-preview figcaption{font-size:12px}.board-preview figcaption span{font-size:12px}.campaign-grid{grid-template-columns:1fr;max-width:385px;margin:30px auto;gap:28px}.campaign-impact{padding:24px 18px}.campaign-credit{font-size:13px}.closing{padding:52px var(--gutter)}.page-photo{float:none;width:100%;margin:0 0 30px}.page-photo img{aspect-ratio:1.6}.view .page-photo~.split{display:grid}.event{flex-wrap:wrap;gap:24px}.event>div:nth-child(2){flex:1;min-width:210px}.event>.badge{margin-left:0}.event h2{font-size:26px}.gallery{grid-template-columns:1fr;gap:20px}.board-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}.board-copy{padding:18px 13px}.board-copy h3{font-size:19px;overflow-wrap:break-word}.board-copy p{min-height:60px;font-size:13px}.board-end{padding:28px}.board-end h2{font-size:30px}.cause-grid{grid-template-columns:1fr}.dashhead,.toolbar{display:block}.toolbar .button{margin-bottom:24px}.stats{gap:12px}.stats article{padding:18px}.stats strong{font-size:28px}.notice{padding:24px}.formcard{padding:24px}.portal-card{padding:28px}.join-photo{margin-bottom:10px}footer{flex-direction:column;gap:30px;padding-block:42px}}
@media(max-width:380px){header{padding-inline:16px}.brand img{width:195px}.menu-toggle{gap:6px;padding:8px}.hero h1{font-size:36px}.button{gap:16px;padding-inline:18px}.board-preview{grid-template-columns:1fr 1fr}.board-preview figure:last-child{display:none}.affiliation{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Compact club identity with visible, wrapping navigation on every screen. */
header{--header-gutter:var(--gutter);flex-wrap:wrap;gap:4px 24px;padding:8px var(--header-gutter) 0}
header .brand{display:flex;flex-direction:row;align-items:center;gap:12px;flex:1 1 100%;min-width:0;width:auto}
header .brand .club-crest{display:block;width:64px;height:64px;flex:none;object-fit:contain}
header .club-name{display:block;color:var(--blue);font-family:'Open Sans',Arial,sans-serif;font-size:clamp(20px,1.6vw,24px);font-weight:700;line-height:1.2;letter-spacing:-.025em;text-wrap:balance}
header nav{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;position:static;width:calc(100% + 2 * var(--header-gutter));flex:0 0 calc(100% + 2 * var(--header-gutter));min-width:0;margin-inline:calc(-1 * var(--header-gutter));justify-content:space-between;gap:2px clamp(12px,1.15vw,20px);padding:0 var(--header-gutter);box-shadow:none;border:0;background:#e7f0fb;color:var(--navy);font-size:13px}
header nav a{display:inline-flex;align-items:center;min-height:44px;max-width:100%;padding:7px 0;border-bottom:0}
header nav a:not(.button){color:var(--navy)}
header nav a:hover,header nav a[aria-current=page]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}
header nav a:focus-visible{outline:3px solid var(--navy);outline-offset:2px}
header nav .button.small{min-height:44px;margin:0;padding:9px 14px;font-size:13px}
.footer-club{display:flex;align-items:center;gap:22px}
.footer-crest{width:104px;height:104px;flex:none;border-radius:50%}
.footer-rotary{width:140px;height:53px;margin-bottom:22px}
.campaign-grid img{max-width:385px;margin-inline:auto}
@media(min-width:1360px){header .club-name{white-space:nowrap}}
@media(max-width:1359px){header .brand .club-crest{width:60px;height:60px}header .club-name{font-size:24px}}
@media(max-width:1050px){header .club-name{font-size:clamp(18px,2.5vw,24px)}}
@media(max-width:650px){
 header{--header-gutter:16px;padding:8px var(--header-gutter) 0;gap:4px 16px}
 header .brand{gap:8px}
 header .brand .club-crest{width:52px;height:52px}
 header .club-name{font-size:clamp(15px,3.8vw,20px);letter-spacing:-.02em;line-height:1.22;text-wrap:initial}
 header nav{justify-content:flex-start;gap:2px 18px}
 .footer-club{align-items:flex-start}
 .footer-crest{width:86px;height:86px}
}
@media(max-width:380px){header{--header-gutter:12px}header .brand{gap:7px}header .brand .club-crest{width:48px;height:48px}header .club-name{font-size:14px}header nav{column-gap:16px}}

/* First meeting photographs retain their complete frame and original people. */
.hero-photo.meeting-hero>img{height:auto;min-height:0;max-height:none;aspect-ratio:4/3;object-fit:contain;flex:0 0 auto}.meeting-hero figcaption{flex:1;display:flex;flex-direction:column;justify-content:center}.meeting-cover img,.meeting-gallery img{aspect-ratio:4/3;object-fit:contain}.event-archive{padding-top:50px;margin-top:50px;border-top:1px solid var(--line)}

/* PRAGATI project: a full-frame, authentic photo story in Our work only. */
#impact .service-project{margin-top:42px;border-top:3px solid var(--gold)}
#impact .project-heading{display:flex;gap:32px;align-items:center;background:var(--navy);color:white;padding:34px 36px}
#impact .project-date{flex:none;text-align:center;min-width:72px;color:#ffca68;font-weight:800;line-height:1}
#impact .project-date span{display:block;font-size:60px;letter-spacing:-.04em}
#impact .project-date small{display:block;font-size:13px;letter-spacing:.08em;margin-top:13px}
#impact .project-heading .eyebrow{color:#b9d2f5;font-size:12px;margin:0 0 12px}
#impact .project-heading h2{font-size:clamp(30px,3.3vw,48px);margin:0 0 12px}
#impact .project-heading h2 em{color:#ffca68}
#impact .project-heading p:last-child{margin:0;color:#dce6f6}
#impact .project-heading .badge{margin-left:auto;align-self:flex-start;background:#e5f2e9}
#impact .project-story{max-width:870px;margin:32px 0;color:var(--muted);font-size:17px}
#impact .project-programme{display:grid;grid-template-columns:1.2fr 1fr 1fr;margin:32px 0 46px;border-block:1px solid var(--line)}
#impact .project-programme>div{padding:24px 24px 24px 0}
#impact .project-programme>div+div{border-left:1px solid var(--line);padding-left:28px}
#impact .project-programme dt{font-size:13px;font-weight:800;color:var(--blue);letter-spacing:.06em;margin-bottom:8px}
#impact .project-programme dd{margin:0;font-size:17px;font-weight:700;line-height:1.5}
#impact .project-gallery-heading{display:flex;align-items:baseline;justify-content:space-between;gap:24px}
#impact .project-gallery-heading h3{font-size:27px;margin:0}
#impact .project-gallery-heading p{font-size:14px;color:var(--muted);margin:0}
#impact .project-gallery{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:24px}
#impact .project-gallery .landscape{grid-column:span 2}
#impact .project-gallery .project-portrait{grid-column:span 1}
#impact .project-gallery img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
#impact .project-gallery .photo-open{display:block}
#impact .project-gallery .photo-open:hover img{transform:none}
#impact .project-gallery .photo-open:hover{outline:3px solid var(--gold);outline-offset:3px}
#impact .project-gallery figcaption{font-size:14px;line-height:1.55;padding-top:12px}
#impact .project-volunteer{margin-top:54px;padding-top:44px;border-top:1px solid var(--line)}
#impact .project-volunteer>h2{font-size:32px}
@media(max-width:850px){#impact .project-heading{padding:28px;gap:24px;flex-wrap:wrap}#impact .project-heading .badge{margin-left:0}#impact .project-gallery-heading{display:block}#impact .project-gallery-heading p{margin-top:12px}}
@media(max-width:650px){#impact .service-project{margin-top:32px}#impact .project-heading{padding:26px 22px;gap:22px}#impact .project-heading>div:nth-child(2){flex:1;min-width:175px}#impact .project-date{min-width:54px}#impact .project-date span{font-size:48px}#impact .project-date small{font-size:12px}#impact .project-heading h2{font-size:30px;line-height:1.15}#impact .project-story{font-size:16px;margin:26px 0}#impact .project-programme{grid-template-columns:1fr;margin-bottom:32px}#impact .project-programme>div{padding:20px 0}#impact .project-programme>div+div{padding:20px 0;border-left:0;border-top:1px solid var(--line)}#impact .project-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px}#impact .project-gallery .landscape{grid-column:span 2}#impact .project-gallery-heading h3{font-size:25px}#impact .project-gallery figcaption{font-size:14px}}

/* Homepage installation story: preserve every person and the original framing. */
.hero-photo.installation-hero>img{height:auto;min-height:0;max-height:none;aspect-ratio:2048/741;object-fit:contain;flex:0 0 auto}
.installation-hero figcaption{flex:1;display:flex;flex-direction:column;justify-content:center}
.belonging .photo-story>figure img,.belonging .story-detail{height:auto;aspect-ratio:auto;object-fit:contain}

/* One shared column edge and a compact rhythm connect the introduction and story. */
.belonging{padding-block:60px 72px}
.belonging .section-heading,.belonging .story-copy{display:grid;grid-template-columns:1.125fr 1fr;gap:32px;align-items:end}
.belonging .section-heading{position:relative;padding-bottom:24px;margin-bottom:24px}
.belonging .section-heading::after{content:"";position:absolute;bottom:0;left:0;width:56px;height:3px;background:var(--gold)}
.belonging .section-heading h2{margin-bottom:0}
.belonging .section-heading>p{max-width:none;margin-bottom:0}
.belonging .story-copy{padding-top:0;margin-bottom:28px}
.belonging .story-copy h3{margin-bottom:0}
.belonging .section-number{margin-bottom:12px}
.belonging .story-intro p{max-width:none;margin-bottom:14px}
.belonging .photo-story{grid-template-columns:1.125fr 1fr;gap:32px}
.belonging .photo-story>figure{min-width:0}
.belonging .story-detail{margin-top:0}
@media(max-width:800px){.belonging{padding-block:48px 55px}.belonging .section-heading,.belonging .story-copy,.belonging .photo-story{gap:26px}}
@media(max-width:650px){.belonging .section-heading,.belonging .story-copy,.belonging .photo-story{grid-template-columns:minmax(0,1fr)}.belonging .section-heading,.belonging .story-copy{gap:20px}.belonging .story-copy{margin-bottom:24px}}

/* A panoramic group photograph needs the full page width, with content-height text bands. */
.hero.hero-panoramic{grid-template-columns:minmax(0,1fr)}
.hero-panoramic .hero-copy{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(32px,5vw,80px);align-items:center;padding:clamp(32px,4vw,56px) var(--gutter)}
.hero-panoramic .hero-message,.hero-panoramic .hero-details{min-width:0}
.hero-panoramic .hero-message .eyebrow{margin-bottom:18px}
.hero-panoramic h1{font-size:clamp(40px,4.4vw,64px);margin-bottom:0}
.hero-panoramic .hero-details .intro{max-width:610px;margin-bottom:0}
.hero-panoramic .actions{margin:26px 0}
.hero-panoramic .hero-photo{align-self:start}
.hero-panoramic .hero-photo.installation-hero>img{width:100%;height:auto;min-height:0;max-height:none;aspect-ratio:auto;object-fit:contain;flex:none}
.hero-panoramic .installation-hero figcaption{flex:none;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:32px;align-items:center;padding:18px var(--gutter)}
.hero-panoramic .installation-hero figcaption span{grid-column:1;grid-row:1}
.hero-panoramic .installation-hero figcaption strong{grid-column:1;grid-row:2;margin:4px 0 0}
.hero-panoramic .installation-hero figcaption a{grid-column:2;grid-row:1/span 2}
@media(max-width:800px){.hero-panoramic .hero-copy{grid-template-columns:minmax(0,1fr);gap:24px;padding:36px var(--gutter)}.hero-panoramic h1{font-size:clamp(37px,7vw,56px)}.hero-panoramic .hero-details .intro{max-width:680px}.hero-panoramic .actions{margin:24px 0}.hero-panoramic .installation-hero figcaption{column-gap:24px}}
@media(max-width:650px){.hero-panoramic .hero-copy{padding-block:32px}.hero-panoramic h1{font-size:clamp(36px,9vw,53px)}.hero-panoramic .hero-message .eyebrow{margin-bottom:14px}.hero-panoramic .installation-hero figcaption{display:block;padding:20px var(--gutter)}.hero-panoramic .installation-hero figcaption strong{margin:6px 0 12px}}

/* Fill the initial screen with the introduction; the full photograph follows on scroll. */
.hero-panoramic .hero-copy{min-height:calc(100vh - var(--masthead-height,190px));min-height:calc(100svh - var(--masthead-height,190px))}

/* A real reception photograph adds warmth while the navy scrim protects every text line. */
.hero-panoramic .hero-copy{position:relative;isolation:isolate;overflow:hidden;padding-bottom:clamp(84px,7vw,104px)}
.hero-atmosphere{position:absolute;inset:0;z-index:-2;pointer-events:none;overflow:hidden;background:var(--navy)}
.hero-atmosphere img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:center 38%;filter:blur(.6px) saturate(.8);transform:scale(1.006)}
.hero-panoramic .hero-copy::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(9,38,83,.06) 0%,rgba(9,38,83,.2) 46%,rgba(9,38,83,.4) 100%),linear-gradient(90deg,rgba(9,38,83,.85) 0%,rgba(9,38,83,.77) 52%,rgba(9,38,83,.79) 100%)}
.hero-panoramic .hero-message .eyebrow{color:#d0e1fa}
.hero-panoramic .hero-details .intro{color:#e9f1ff}
.hero-panoramic .hero-meta{color:#d0dff4}
.hero-scroll-cue{position:absolute;bottom:20px;left:var(--gutter);display:inline-flex;align-items:center;gap:12px;min-height:44px;color:#e9f1ff;font-size:13px;font-weight:700;letter-spacing:.025em}
.hero-scroll-cue span{font-size:20px;line-height:1;color:#ffbd43}
.hero-scroll-cue:hover{text-decoration:underline;text-underline-offset:5px}
.hero-panoramic .hero-copy a:focus-visible{outline-color:#ffbd43}
#meet-the-club:focus{outline:none}
@media(max-width:800px){.hero-panoramic .hero-copy{padding-bottom:86px;align-content:center}.hero-atmosphere img{object-position:53% 35%}}
@media(max-width:650px){.hero-panoramic .hero-copy::after{background:linear-gradient(180deg,rgba(9,38,83,.8) 0%,rgba(9,38,83,.87) 47%,rgba(9,38,83,.92) 100%)}.hero-scroll-cue{bottom:16px;font-size:13px}}
