[hidden]{display:none!important}
:root{--green:#075337;--deep:#063824;--gold:#d7ad49;--cream:#f8f5ee;--ink:#172e25;--muted:#607268;--line:#e6e0d5;--shadow:0 14px 38px rgba(29,45,34,.09)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);background:var(--cream);font-family:system-ui,-apple-system,'Segoe UI',sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit}.container{max-width:1240px;margin:auto;padding:0 36px}.skip{position:absolute;top:-100px;left:12px;padding:10px;background:white;z-index:99}.skip:focus{top:12px}.masthead{background:#fff;position:relative;z-index:20}.mast-inner{max-width:1330px;min-height:116px;margin:auto;padding:13px 38px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand img{width:78px;height:78px;object-fit:contain}.brand strong{font-size:20px;display:block;color:var(--deep);letter-spacing:-.035em}.brand small{font-size:13px;line-height:1.3;color:var(--muted)}.skyline{align-self:end;white-space:nowrap;color:#94ac9a;font-family:Georgia,serif;font-size:32px;letter-spacing:8px;opacity:.8}.claim{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:32px;line-height:1.02;color:#695123;text-align:right;transform:rotate(-5deg);margin:0}.claim span{color:var(--gold)}.nav{background:linear-gradient(90deg,#00472e,var(--green),#00472e);color:#fff}.nav-inner{max-width:1240px;margin:auto;padding:0 24px;display:flex;justify-content:space-around}.nav a{display:block;padding:17px 16px;font-size:14px;font-weight:700;transition:background .2s,color .2s}.nav a:hover,.nav a:focus-visible{background:#ffffff17;color:#ffe3a0}.menu-toggle{display:none}.hero{position:relative;isolation:isolate;background:radial-gradient(circle at 82% 40%,#277a54 0%,transparent 40%),linear-gradient(115deg,#052d20dd,#063b27bc),linear-gradient(145deg,#2f6148,#0a3121);min-height:505px;color:white;overflow:hidden}.hero:before{content:'';position:absolute;inset:0;z-index:-1;background-image:radial-gradient(#dfbd67 1.7px,transparent 2px),radial-gradient(#d9ddd0 1.2px,transparent 2px);background-size:95px 113px,121px 79px;background-position:20px 0,53px 29px;opacity:.4}.hero:after{content:'';position:absolute;inset:auto 0 0;height:15px;background:var(--cream);clip-path:polygon(0 45%,6% 25%,12% 70%,20% 40%,26% 80%,35% 38%,48% 65%,60% 20%,69% 68%,77% 34%,89% 60%,100% 20%,100% 100%,0 100%)}.hero-inner{max-width:1240px;margin:auto;padding:104px 40px 115px;position:relative;z-index:2}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#9b7a2d}.eyebrow.light{color:#f0d58d}.hero h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(39px,4.7vw,70px);line-height:1.14;max-width:820px;margin:20px 0 20px;letter-spacing:-.045em}.hero em{color:#fff7dc}.hero p{font-size:clamp(17px,2vw,22px);max-width:620px;line-height:1.45;color:#eee9da;margin-bottom:32px}.hero-pattern{position:absolute;right:12%;top:16%;font-size:90px;letter-spacing:20px;color:#f0d16b33;transform:rotate(-18deg)}.hero-badge{position:absolute;right:8%;bottom:12%;width:190px;height:190px;border:2px solid #dbbc6a;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;line-height:1.2;transform:rotate(10deg);color:#f3d98c;text-align:center;font-size:13px;letter-spacing:.17em;background:#08482a77;pointer-events:none}.hero-badge strong{font-size:19px;letter-spacing:0}.hero-badge span{font-family:Georgia;font-size:38px;padding-top:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:48px;border-radius:99px;padding:13px 25px;font-weight:800;font-size:14px;transition:transform .22s,box-shadow .22s}.btn:hover{transform:translateY(-3px);box-shadow:0 10px 24px #0003}.btn.gold{background:var(--gold);color:#143725}.btn.cream{background:#fff8e9;color:var(--green)}.quickbar{max-width:1290px;margin:-2px auto 0;padding:20px 18px 25px;display:grid;grid-template-columns:repeat(4,1fr);background:#fffaf0;position:relative;z-index:3;border-radius:0 0 18px 18px;box-shadow:var(--shadow)}.quickbar a{padding:4px 15px 4px 26px;display:grid;grid-template-columns:50px 1fr;column-gap:6px;align-items:center;border-right:1px solid #ded5c3;transition:transform .25s}.quickbar a:last-child{border:0}.quickbar a:hover{transform:translateY(-3px)}.quickbar span{grid-row:span 2;color:var(--green);font-size:36px}.quickbar strong{font-size:15px}.quickbar small{color:var(--muted);font-size:12px}.feature-section{display:grid;grid-template-columns:1fr 1.05fr;gap:35px;align-items:start;padding-top:76px;padding-bottom:82px}.heading-row h2,.section-intro h2{font-family:Georgia,'Times New Roman',serif;line-height:1.2;letter-spacing:-.035em;font-size:clamp(26px,3vw,38px);margin:10px 0 25px}.event-list{display:grid;gap:12px}.event{background:white;display:grid;grid-template-columns:67px 1fr 27px;align-items:center;gap:18px;padding:15px;border-radius:13px;border:1px solid var(--line);box-shadow:0 5px 13px #153e2510;transition:transform .2s,box-shadow .2s}.event:hover{transform:translateX(5px);box-shadow:var(--shadow)}.datebox{border-radius:10px;background:linear-gradient(160deg,#157349,#06462d);color:white;min-height:70px;display:flex;align-items:center;justify-content:center;flex-direction:column}.datebox strong{font-size:26px;line-height:1.1}.datebox span{font-size:11px;font-weight:700}.event h3{font-size:16px;margin:0 0 6px}.event p{color:var(--muted);margin:0;font-size:13px}.event-arrow{font-size:23px;color:#9f792c}.season-art{background:linear-gradient(120deg,#065638,#064129);color:white;border-radius:20px;min-height:310px;text-align:center;padding:52px 30px;box-shadow:var(--shadow);position:relative;overflow:hidden}.season-art:before,.season-art:after{content:'✦ ✧ ✶';position:absolute;top:22px;left:20px;font-size:24px;letter-spacing:27px;color:#e1bd5d;opacity:.6;transform:rotate(-12deg)}.season-art:after{top:auto;bottom:24px;left:auto;right:12px}.season-art h2{font:700 42px Georgia,'Times New Roman',serif;margin:18px 0}.season-art p{font:italic 30px Georgia,'Times New Roman',serif;color:#ffd877;margin:8px 0}.paint-line{display:block;max-width:240px;margin:24px auto 0;height:5px;border-radius:100%;background:var(--gold);transform:rotate(-3deg)}.season-caption{text-align:center;color:var(--muted);font-size:14px}.club{padding-top:32px;padding-bottom:110px}.section-intro{text-align:center;max-width:750px;margin:0 auto 38px}.section-intro p{color:var(--muted);line-height:1.8}.section-intro em{color:var(--green)}.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.tile{background:white;border:1px solid var(--line);padding-bottom:21px;overflow:hidden;border-radius:16px;box-shadow:var(--shadow);transition:transform .25s}.tile:hover{transform:translateY(-7px)}.tile-art{height:190px;background:linear-gradient(135deg,#064a30,#328e58);display:grid;place-items:center;color:#f8dda2;font-size:88px}.tile-art.alt{background:linear-gradient(135deg,#9f732a,#cfb67c);color:#163f2b}.tile-art.third{background:linear-gradient(135deg,#1e7450,#075139);color:#ffdd87}.tile h3{margin:18px 20px 5px;font-size:19px}.tile p{margin:0 20px 13px;font-size:13px;color:var(--muted)}.tile-link{font-weight:700;font-size:13px;color:var(--green);margin-left:20px}.green-band{background:#06432e;color:white;position:relative;overflow:hidden}.green-band:before{content:'✧  ♡  ✦  ♫';position:absolute;right:-8px;top:15px;font-size:130px;color:#ffffff0c;letter-spacing:12px}.green-content{padding-top:78px;padding-bottom:82px;position:relative}.green-content h2{font:700 clamp(34px,4vw,53px)/1.2 Georgia,'Times New Roman',serif;margin:17px 0}.green-content p{max-width:560px;line-height:1.7;color:#e2eee5;margin:0 0 26px}.news{padding-top:94px;padding-bottom:100px}.news-list{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.article{background:white;border:1px solid var(--line);border-radius:13px;padding:25px;box-shadow:var(--shadow);min-height:160px}.article time{font-size:12px;color:#9b7a2d}.article h3{margin:12px 0;font-size:19px}.article p{font-size:14px;line-height:1.6;color:var(--muted)}.contact{background:linear-gradient(110deg,#065037,#19734a);color:white}.contact-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-top:62px;padding-bottom:62px}.contact h2{font:700 36px Georgia,'Times New Roman',serif;margin:12px 0}.contact p{max-width:540px;line-height:1.6;color:#e6f0e9}footer{background:#07291e;color:#d6e4db}.footer-inner{display:flex;justify-content:space-between;gap:20px;padding-top:36px;padding-bottom:36px}.footer-inner strong{font-size:20px}.footer-inner p{font-size:13px;opacity:.7}.footer-inner span{font-family:Georgia,serif;font-style:italic;color:#e2c57d;font-size:21px}footer small{display:block;font-size:12px;color:#acbdae;margin-top:12px}.hint{color:var(--muted);font-size:14px;line-height:1.5}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.75,.25,1)}.reveal.visible{opacity:1;transform:translateY(0)}@media(max-width:950px){.mast-inner{min-height:95px}.skyline{display:none}.claim{font-size:24px}.hero-badge{width:140px;height:140px;right:4%;bottom:10%}.hero-badge span{font-size:26px}.quickbar a{grid-template-columns:38px 1fr;padding:5px}.quickbar span{font-size:28px}.feature-section{gap:24px}}@media(max-width:700px){.container{padding-left:20px;padding-right:20px}.mast-inner{min-height:80px;padding:10px 17px}.brand img{width:56px;height:56px}.brand strong{font-size:16px}.brand small{font-size:10px}.claim{display:none}.menu-toggle{display:block;border:1px solid #d9e3dc;background:#f5f6f1;border-radius:10px;color:var(--deep);font-size:24px;padding:8px 13px;min-width:47px;min-height:47px}.nav{display:none}.nav.open{display:block}.nav-inner{display:flex;flex-direction:column;padding:8px 14px}.nav a{padding:13px 16px}.hero{min-height:420px}.hero-inner{padding:70px 23px 76px}.hero-badge{right:-56px;bottom:18px;width:158px;height:158px;font-size:11px}.hero-badge strong{font-size:16px}.hero-badge span{font-size:24px;padding-top:9px}.hero h1{font-size:clamp(34px,9vw,51px)}.hero p{font-size:17px}.hero-badge{display:none}.quickbar{display:grid;grid-template-columns:repeat(2,1fr);margin-top:0;padding:13px;gap:5px}.quickbar a{border:0;padding:10px 8px;grid-template-columns:35px 1fr}.quickbar strong{font-size:13px}.quickbar small{font-size:11px}.quickbar span{font-size:27px}.feature-section{grid-template-columns:1fr;padding-top:50px;padding-bottom:62px}.season-art{min-height:255px;padding-top:45px}.season-art h2{font-size:35px}.season-art p{font-size:26px}.club{padding-top:10px;padding-bottom:65px}.tiles,.news-list{grid-template-columns:1fr}.tile-art{height:155px}.green-content{padding-top:65px;padding-bottom:70px}.contact-inner,.footer-inner{flex-direction:column;align-items:start}.contact h2{font-size:30px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.tile,.event,.btn{transition:none}}

/* V206: neue öffentliche Vereinsbereiche */
.persons{padding-top:44px;padding-bottom:90px}.people-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:20px}.person-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--shadow);transition:transform .3s}.person-card:hover{transform:translateY(-6px)}.person-card img,.person-placeholder{height:230px;width:100%;object-fit:cover;background:linear-gradient(135deg,#145f3f,#d5b66a);display:grid;place-items:center;color:#fff;font-family:Georgia,serif;font-size:35px}.person-info{padding:18px}.person-info span{font-size:11px;text-transform:uppercase;color:#987431;font-weight:800;letter-spacing:.1em}.person-info h3{margin:7px 0}.person-info p{margin:0;color:var(--muted);font-size:14px}.social-band{background:#086043;color:white}.social-inside{display:flex;justify-content:space-between;align-items:center;gap:28px;padding-top:45px;padding-bottom:45px}.social-inside h2{font:700 clamp(28px,3vw,40px) Georgia,serif;margin:10px 0}.social-inside p{color:#e1efe7}.social-actions{display:flex;gap:12px;flex-wrap:wrap}.social-actions [hidden]{display:none}.committee{padding-top:77px;padding-bottom:77px}.committee-content{display:flex;gap:35px;align-items:center;justify-content:space-between;background:#fff;padding:35px;border:1px solid var(--line);border-radius:18px}.committee h2,.membership h2{font:700 clamp(29px,3.5vw,43px) Georgia,serif;margin:14px 0}.committee p{max-width:680px;color:var(--muted);line-height:1.65}.committee img{max-width:180px;max-height:160px;object-fit:contain}.text-link{color:#076644;font-weight:800}.membership{background:linear-gradient(125deg,#053b2b,#115e42);color:white}.membership-layout{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding-top:80px;padding-bottom:85px;align-items:start}.membership p{color:#e8f1e9;line-height:1.7}.membership-note{font-size:14px;opacity:.85}.site-form{background:white;color:#1e3529;border-radius:18px;padding:27px;box-shadow:0 12px 35px #001d1333;display:grid;gap:9px;min-width:0}.site-form h3{font:700 25px Georgia,serif;margin:0 0 10px}.site-form label{font-size:13px;font-weight:700}.site-form input:not([type=checkbox]),.site-form textarea{width:100%;min-width:0;border:1px solid #cbd7cd;border-radius:9px;padding:12px;font:16px/1.4 system-ui,sans-serif;background:white;color:#183126}.site-form :is(input,textarea):focus-visible{outline:3px solid #d8b85d;outline-offset:2px}.site-form textarea{resize:vertical}.site-form .privacy-checkbox{display:flex;align-items:flex-start;gap:9px;margin:9px 0;font-weight:500;line-height:1.5}.site-form .privacy-checkbox input{margin-top:4px;flex-shrink:0}.site-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.site-form button{width:fit-content;border:0;cursor:pointer}.site-form button:disabled{opacity:.55;cursor:wait}.form-result{font-size:13px;color:#0b5b3c;margin:7px 0 0;min-height:16px}.contact-inner{align-items:start}.contact-form{min-width:min(100%,390px);flex:0 1 430px}.footer-links{display:flex;gap:16px;margin-top:10px;font-size:12px;text-decoration:underline}.footer-links a:hover{color:#fff}@media(max-width:750px){.membership-layout{grid-template-columns:1fr;gap:25px;padding-top:56px;padding-bottom:60px}.social-inside,.committee-content{flex-direction:column;align-items:flex-start}.contact-form{width:100%;min-width:0}.people-list{grid-template-columns:repeat(2,minmax(0,1fr))}.person-card img,.person-placeholder{height:160px}.committee-content{padding:23px}}@media(max-width:410px){.people-list{grid-template-columns:1fr}.person-card img,.person-placeholder{height:240px}}

.privacy-checkbox a{text-decoration:underline;color:#146340}.privacy-checkbox a:hover{color:#06432e}

/* V207 CMS-powered public subpages */
.page-hero{background:linear-gradient(115deg,#053a29,#0d6242);color:white;padding:65px 0 70px}.page-hero h1{font:700 clamp(38px,5.2vw,70px)/1.08 Georgia,serif;margin:18px 0}.page-hero p{color:#e3ede6;max-width:680px;font-size:18px}.page-back{display:inline-flex;color:#ead396;font-weight:650;margin-bottom:24px}.subpage-body{padding-top:60px;padding-bottom:95px}.subpage-content{max-width:940px;color:#253a2f;font-size:17px;line-height:1.75}.subpage-content h2,.subpage-content h3{font-family:Georgia,serif;color:#075337}.subpage-content a{color:#075337;text-decoration:underline}.subpage-body .people-list{margin-top:36px}@media(max-width:640px){.page-hero{padding:40px 0 45px}.subpage-body{padding-top:35px;padding-bottom:65px}}

/* V208: one contact form, footer attribution, expanded calendar cards */
.membership-cta{background:#fff;color:#173e2a;border-radius:18px;padding:28px;box-shadow:0 12px 36px #001d1333;max-width:500px}.membership-cta h3{font:700 27px Georgia,serif;margin:0 0 12px}.membership-cta p{color:#365044;margin-bottom:22px}.site-form select{width:100%;min-width:0;border:1px solid #cbd7cd;border-radius:9px;padding:12px;font:16px/1.4 system-ui,sans-serif;color:#183126;background:white}.event-detail{align-items:start}.event-body{min-width:0;flex:1}.event-detail details{margin-top:9px;font-size:13px}.event-detail details summary{cursor:pointer;color:#086344;font-weight:700}.event-detail details p{white-space:pre-line;line-height:1.6}.event-ticket{display:inline-flex;margin-top:11px;padding:7px 12px;background:#0b6343;color:#fff;border-radius:8px;font-size:13px;font-weight:700;text-decoration:none}.event-ticket:hover{background:#06452d}.footer-inner a{color:#edcf81;text-decoration:underline}.footer-inner small{line-height:1.65}#footer-credit{margin-top:3px}#footer-copy{max-width:410px}

/* V210: getrennte Personen-Gruppen */
.subpage-body .person-group{margin-top:38px}.subpage-body .person-group:first-child{margin-top:0}.person-group>h2{font:700 clamp(26px,3vw,38px)/1.2 Georgia,serif;color:#075337;margin:0 0 22px;padding-bottom:12px;border-bottom:2px solid #d9bd6c}.subpage-body .person-group .people-list{margin-top:0}

/* V211: flexible home sections, testimonials, contact & accessible news popup */
.voices{padding-top:76px;padding-bottom:84px}.voices-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:20px}.voice-card{margin:0;padding:28px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.voice-card blockquote{font:italic 20px/1.55 Georgia,serif;color:#184632;margin:0 0 25px}.voice-card figcaption{display:flex;align-items:center;gap:12px;font-weight:750;color:#12533a}.voice-card figcaption img{width:44px;height:44px;border-radius:50%;object-fit:cover}
.contact-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,480px);gap:clamp(25px,5vw,65px);align-items:start}.contact-side{min-width:0}.contact-side h2{font:700 clamp(30px,3.8vw,46px)/1.2 Georgia,serif;margin:12px 0}.contact-details{display:grid;gap:14px;margin-top:26px}.contact-details>div{border:1px solid #ffffff35;background:#ffffff12;border-radius:13px;padding:14px 17px}.contact-details strong{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#edcf81;margin-bottom:6px}.contact-details a{color:#fff;text-decoration:underline;overflow-wrap:anywhere}.contact-details span,.contact-details p{font-size:15px;margin:0;color:#fff;white-space:pre-line}.contact-form{width:100%;min-width:0;flex:auto}#contact-security-hint{color:#587064}
.news-modal[hidden]{display:none}.news-modal{position:fixed;inset:0;z-index:5000;display:grid;place-items:center;padding:16px}.news-modal-backdrop{position:absolute;inset:0;background:#031c15b8;backdrop-filter:blur(5px)}.news-modal-dialog{position:relative;max-width:530px;width:100%;max-height:calc(100dvh - 32px);overflow:auto;border:1px solid #d5b672;border-radius:20px;padding:clamp(25px,4vw,44px);background:#fffaf0;color:#133b2c;box-shadow:0 24px 90px #00160e70}.news-modal-dialog h2{font:700 clamp(29px,4vw,42px)/1.2 Georgia,serif;margin:14px 0}.news-modal-dialog p{font-size:16px;line-height:1.65;white-space:pre-line;overflow-wrap:anywhere}.news-modal-close{position:absolute;right:13px;top:13px;border:0;background:#e7e9df;border-radius:50%;font-size:25px;width:40px;height:40px;cursor:pointer}.news-modal-dismiss{display:block;border:0;background:none;color:#185b3f;text-decoration:underline;font:inherit;cursor:pointer;margin-top:20px}.news-modal-open{overflow:hidden}
@media(max-width:750px){.contact-inner{grid-template-columns:1fr}.contact-details{margin-bottom:10px}.voices{padding-top:50px;padding-bottom:60px}}

.people-groups{display:block;width:100%}.people-groups>.person-group{display:block;width:100%;clear:both}.people-groups .people-list{display:grid}

/* V213: rotating hero images and real event countdown */
.hero{isolation:isolate;position:relative;background:#063824;overflow:hidden}
.hero-slides{position:absolute;inset:0;z-index:0;pointer-events:none}
.hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.2s ease;will-change:opacity}
.hero-slide.active{opacity:1}
.hero-inner,.hero-pattern,.hero-badge{position:relative;z-index:1}
.site-countdown[hidden],.site-countdown-link[hidden]{display:none!important}
.site-countdown{margin:20px auto 0;max-width:420px;padding:13px 14px;border:1px solid #d9bd70;border-radius:14px;background:#ffffff12;display:grid;gap:6px}
.site-countdown span{font:600 13px system-ui,sans-serif;color:#f6e8bd}
.site-countdown strong{font:700 clamp(23px,2.6vw,32px)/1.2 system-ui,sans-serif;color:#fff;letter-spacing:.03em;font-variant-numeric:tabular-nums}
.site-countdown a{font-size:13px;color:#f6e8bd;text-decoration:underline}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}}


/* V215: sticky, compact public navigation; keep desktop and mobile layouts usable. */
/* Clip horizontal overflow without creating a scroll container, so sticky works. */
body{overflow-x:clip}
.masthead{position:sticky;top:0;z-index:100;box-shadow:0 2px 14px rgba(5,35,21,.08)}
.mast-inner{transition:min-height .24s ease,padding .24s ease}
.brand img{transition:width .24s ease,height .24s ease}
.brand strong,.brand small,.claim{transition:font-size .24s ease,opacity .24s ease}
.nav a{transition:padding .24s ease,background .2s,color .2s}
.masthead.is-compact .mast-inner{min-height:64px;padding-top:6px;padding-bottom:6px}
.masthead.is-compact .brand img{width:47px;height:47px}
.masthead.is-compact .brand strong{font-size:17px}
.masthead.is-compact .brand small{font-size:11px}
.masthead.is-compact .claim{font-size:23px}
.masthead.is-compact .nav a{padding-top:10px;padding-bottom:10px}
/* Public portraits: show the whole source image rather than cropping faces and costumes. */
.people-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,195px),240px));justify-content:center}
.person-card img,.person-placeholder{height:190px;object-fit:contain;object-position:center center;background:#f1eee7}
.person-card img{display:block;padding:5px}
.person-placeholder{display:grid}
/* Keep the hero emblem anchored at the right, without changing its layer position. */
.hero-badge{position:absolute;z-index:1}
@media(max-width:700px){
 .masthead.is-compact .mast-inner{min-height:58px;padding:5px 16px}
 .masthead.is-compact .brand img{width:42px;height:42px}
 .masthead.is-compact .brand strong{font-size:14px}
 .masthead.is-compact .brand small{font-size:10px}
 .hero h1{font-size:clamp(30px,7.5vw,44px);line-height:1.14;letter-spacing:-.035em;max-width:calc(100% - 20px);overflow-wrap:normal;text-wrap:balance}
 .hero p{font-size:16px;line-height:1.5;max-width:34ch}
 .hero-badge{display:flex;right:-65px;bottom:20px;width:146px;height:146px;font-size:10px;opacity:.88}
 .hero-badge strong{font-size:15px}.hero-badge span{font-size:23px}
 .people-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .person-card img,.person-placeholder{height:170px}
}
@media(max-width:410px){
 .hero h1{font-size:clamp(29px,7.5vw,35px)}
 .people-list{grid-template-columns:repeat(2,minmax(0,1fr))}
 .person-card img,.person-placeholder{height:150px}
 .person-info{padding:12px}
 .person-info h3{font-size:15px;overflow-wrap:anywhere}
}
@media(prefers-reduced-motion:reduce){.mast-inner,.brand img,.brand strong,.brand small,.claim,.nav a{transition:none}}


/* V216 – reliable fixed responsive header, no sideways scrolling, readable cards */
html { width:100%; max-width:100%; overflow-x:clip; }
body { width:100%; max-width:100%; overflow-x:clip; padding-top:var(--gdk-header-height,0px); }
main, footer {max-width:100%; min-width:0; overflow-x:clip;}
.masthead { position:fixed; top:0; left:0; right:0; width:100%; max-width:100%; z-index:1000; }
.mast-inner, .brand, .brand>span { min-width:0; }
.nav-inner {min-width:0;}
/* Make original logo images fit without dimming or cropping. */
.tile-art { height:156px; padding:13px; overflow:hidden; background:#f7f6f0; }
.tile-art.alt,.tile-art.third {background:#f7f6f0;}
.tile-art img {display:block; width:100%; height:100%; object-fit:contain; object-position:center; background:transparent;}
.tile-art:has(img) { color:inherit; }
.tile,.event,.feature-section,.events-col,.season-col,.event-body,.tiles { min-width:0; max-width:100%; }
.event {grid-template-columns:64px minmax(0,1fr);gap:14px;}
.event-body h3,.event-body p {max-width:100%; min-width:0; overflow-wrap:anywhere; word-break:normal;}
.event-body h3 {font-size:clamp(16px,1.6vw,19px);line-height:1.25;letter-spacing:-.022em;hyphens:auto;}
.event-body p {font-size:14px;line-height:1.4;}
.event-ticket {max-width:100%;}
.feature-section {grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);}
@media(max-width:700px){
 .mast-inner {min-height:70px;gap:8px;}
 .brand {flex:1 1 auto; gap:8px;}
 .brand strong {font-size:clamp(13px,3.8vw,16px);line-height:1.1;}
 .brand small {font-size:clamp(9px,2.4vw,10px);line-height:1.2;}
 .brand img {flex:0 0 auto; width:49px;height:49px;}
 .menu-toggle { flex:0 0 auto; }
 #main-nav {position:absolute;top:100%;left:0;right:0;max-height:calc(100dvh - 65px);overflow-y:auto;box-shadow:0 13px 23px #001e163d;}
 #main-nav:not(.open){display:none;}
 #main-nav.open{display:block;}
 .feature-section {grid-template-columns:minmax(0,1fr);gap:24px;}
 .heading-row h2,.section-intro h2 {font-size:clamp(25px,7vw,33px);line-height:1.14;letter-spacing:-.035em;hyphens:auto;overflow-wrap:break-word;text-wrap:balance;}
 .section-intro p{font-size:15px;line-height:1.55;}
 .event {grid-template-columns:58px minmax(0,1fr);gap:12px;padding:13px;}
 .datebox {min-height:64px;}
 .datebox strong{font-size:23px;}
 .event-body h3{font-size:clamp(16px,4.4vw,19px);line-height:1.22;}
 .event-body p{font-size:13px;line-height:1.4;}
 .tile-art {height:136px;padding:13px;}
 .tile h3 {font-size:18px;overflow-wrap:anywhere;}
 .tile p {font-size:13px;line-height:1.4;}
 .hero-badge{display:flex;right:-65px;bottom:20px;width:146px;height:146px;}
}
@media(max-width:380px){
 .container {padding-left:15px;padding-right:15px;}
 .event{grid-template-columns:52px minmax(0,1fr);gap:10px;padding:11px;}
 .event-body h3{font-size:16px;}
 .event-body p{font-size:12.5px;}
 .tile-art{height:125px;}
}


/* V217: complete club logos and member count (no clipped image backgrounds). */
.club-count[hidden]{display:none!important}
.club-count{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;
  background:#fff;border:1px solid var(--line);border-radius:22px;padding:25px 16px;margin:0 auto 38px;
  box-shadow:0 8px 22px rgba(29,45,34,.04);text-align:center;max-width:750px}
.club-count strong{font-size:clamp(54px,9vw,92px);font-weight:800;line-height:1.05;letter-spacing:-.065em;color:var(--ink);font-variant-numeric:tabular-nums}
.club-count span{color:var(--muted);text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:800}
.tile-art,.tile-art.alt,.tile-art.third{display:flex;align-items:center;justify-content:center;background:#fff!important;overflow:hidden;padding:24px;height:225px}
.tile-art img{display:block;width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center center!important;filter:none!important;opacity:1!important;mix-blend-mode:normal!important}
.tile{min-width:0}.tile h3,.tile p{overflow-wrap:anywhere}
@media(max-width:700px){.club-count{margin-bottom:25px;padding:21px 15px}.club-count strong{font-size:clamp(48px,15vw,72px)}.tile-art,.tile-art.alt,.tile-art.third{height:190px;padding:18px}}
@media(max-width:380px){.tile-art,.tile-art.alt,.tile-art.third{height:175px;padding:16px}}


/* V218 – club logo tiles: scale the ENTIRE image, never crop its edges. */
.tiles .tile-art,
.tiles .tile-art.alt,
.tiles .tile-art.third {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 10;
  padding: 0;
  overflow: hidden;
  background: #ffffff !important;
}
.tiles .tile-art > img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100% !important;
  height: 100% !important;
  min-width: 0;
  min-height: 0;
  max-width: none !important;
  max-height: none !important;
  padding: 18px !important;
  margin: 0 !important;
  object-fit: contain !important;
  object-position: center center !important;
  opacity: 1 !important;
  filter: none !important;
  transform: none !important;
}
@media (max-width: 700px) {
  .tiles .tile-art,
  .tiles .tile-art.alt,
  .tiles .tile-art.third { aspect-ratio: 16 / 9; }
  .tiles .tile-art > img { padding: 12px !important; }
}
