/* style.css */
@font-face{font-family:Quicksand;src:url('/assets/quicksand-600-a2f3eebeccda.woff2') format('woff2');font-weight:600;font-display:swap}@font-face{font-family:Quicksand;src:url('/assets/quicksand-700-9127f636602f.woff2') format('woff2');font-weight:700;font-display:swap}
:root{--green-light:#8fc578;--green:#6ebc4d;--green-dark:#4daf2e;--action-green:#397f22;--ink:#202020;--body:#666;--line:#e0e0e0;--surface:#f8f8f8;--heading:Quicksand,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:#fff;color:var(--body);font:1rem/1.7 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-underline-offset:5px}a:hover{text-decoration-thickness:2px}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3{font-family:var(--heading);font-weight:600;color:var(--ink);line-height:1.25;margin:0}h1{font-size:clamp(2.3rem,4.1vw,3.6rem);letter-spacing:-.045em}h2{font-size:1.7rem;letter-spacing:-.025em}h3{font-size:1.25rem}p{margin:1.1rem 0}strong{color:var(--ink)}.wrap{width:min(1160px,calc(100% - 80px));margin-inline:auto}.skip{position:absolute;top:-100px;z-index:100;background:#fff;padding:12px}.skip:focus{top:0}:focus-visible{outline:3px solid var(--ink);outline-offset:5px}header{background:white;border-bottom:1px solid #f0f0f0}.header-inner{max-width:1320px;padding:24px 40px;min-height:112px;margin:auto;display:flex;align-items:center;gap:36px}.brand{width:303px;flex-shrink:0}.brand img{width:100%;height:auto}#navigation{display:flex;gap:30px;margin-left:auto;align-items:center}#navigation a{font-size:.94rem;text-decoration:none;color:#666;position:relative;padding:12px 0}#navigation a[aria-current]{color:#202020;font-weight:bold}#navigation a[aria-current]:after{content:'';position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--green-dark)}.header-phone{border-left:1px solid var(--line);padding-left:28px;text-decoration:none;color:var(--ink);font-size:.94rem;white-space:nowrap}.header-phone span{display:block;font-size:.75rem;color:#666;line-height:1.5}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:42% 58%;max-width:1590px;margin:auto;min-height:508px}.hero-copy{padding:66px 30px 68px max(40px,calc((100vw - 1160px)/2));align-self:center}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.76rem;font-weight:bold;color:var(--ink);display:block;margin:0 0 20px}.hero-copy .eyebrow:before{content:'';display:inline-block;width:28px;height:3px;background:var(--green-dark);vertical-align:middle;margin-right:12px}.hero-copy h1{max-width:470px}.hero-copy>p:not(.eyebrow){max-width:375px;margin:24px 0 27px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:10px 21px;text-decoration:none;font-size:.92rem;font-weight:bold;border:2px solid transparent;border-radius:3px;line-height:1.5;transition:background-color .18s,color .18s,border-color .18s}.primary{background:var(--action-green);color:#fff;border-color:var(--action-green)}.primary:hover,.primary:focus-visible{background:#fff;color:var(--action-green);border-color:var(--action-green);text-decoration:none}.light{background:#fff;color:var(--ink)}.hero-photo{position:relative;overflow:hidden;min-height:508px;background:var(--surface)}.hero-photo img{height:100%;width:100%;position:absolute;object-fit:cover;object-position:58% center}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 315px;gap:80px;padding-top:76px;padding-bottom:85px}.text-section{padding-bottom:35px;margin-bottom:38px;border-bottom:1px solid var(--line)}.text-section:last-child{margin-bottom:0}.text-section h2{margin-bottom:23px;font-weight:700}.text-section p{margin:0 0 16px}.text-section p:last-child{margin-bottom:0}.location-card{background:var(--surface);border-top:5px solid var(--green-dark);padding:29px}.location-card .eyebrow{font-size:.72rem;margin-bottom:18px}.location-card h2{font-size:1.75rem}.location-sub{margin:3px 0 23px}.location-card strong{font-size:.9rem}.location-card .button{background:var(--action-green);color:#fff;border-color:var(--action-green);width:100%;margin-top:12px}.location-card .button:hover,.location-card .button:focus-visible{background:#fff;color:var(--action-green);border-color:var(--action-green);text-decoration:none}.contact-card,.seal-card{margin-top:38px;padding:0 5px}.sidebar h2{font-size:1.5rem}.sidebar p{font-size:.93rem}.sidebar a:not(.button){overflow-wrap:anywhere}.seal-card img{margin-top:25px}.green-stripe{display:flex;height:8px}.green-stripe span{flex:1;background:var(--green-light)}.green-stripe span:nth-child(2){background:var(--green)}.green-stripe span:nth-child(3){background:var(--green-dark)}footer{background:#202020;color:#d5d5d5}.footer-inner{max-width:1240px;padding:28px 40px;display:flex;align-items:center;justify-content:space-between;gap:24px;margin:auto;font-size:.84rem}.footer-inner p{margin:0}.footer-inner nav{display:flex;gap:24px}.footer-inner a{text-decoration:none}.page-title{padding-top:36px;padding-bottom:42px;border-bottom:1px solid var(--line)}.breadcrumb{font-size:.82rem;margin:0 0 26px;display:flex;gap:12px}.breadcrumb a{text-decoration:none}.page-title h1{font-size:3rem}.page-content{padding:56px 0 85px}.location-detail{display:grid;grid-template-columns:1.2fr 1fr;gap:60px}.location-detail h2{font-size:2rem;margin-bottom:28px}.location-details{display:grid;grid-template-columns:1fr 1fr;gap:35px}.location-details h3{margin-top:25px}.times-panel{padding:35px;background:var(--surface);border-top:8px solid var(--green-light);align-self:start}.times-panel h3{font-size:1.5rem}.times-panel a{font-size:1.4rem}.gallery-intro{max-width:800px;margin-bottom:38px}.gallery-intro h2{font-size:2rem}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.gallery-item{padding:0;border:0;background:var(--surface);overflow:hidden;border-radius:3px;display:block}.gallery-item img{aspect-ratio:4/3;object-fit:cover;width:100%;transition:transform .2s}.gallery-item:hover img{transform:scale(1.035)}dialog{padding:16px;border:0;border-radius:4px;width:min(960px,92vw);max-height:94vh;background:white;color:var(--ink)}dialog::backdrop{background:rgba(0,0,0,.8)}.dialog-controls{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:10px}.dialog-controls button{background:var(--surface);border:1px solid var(--line);border-radius:3px;padding:8px 14px;min-height:44px}.dialog-controls span{font-size:.88rem}.dialog-image{max-height:74vh;object-fit:contain;margin:auto}.contact-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:80px}.contact-layout h2{margin-bottom:25px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.field label{display:block;font-size:.9rem;color:var(--ink);margin-bottom:7px}.field input,.field textarea{border:1px solid #bbb;background:#fff;padding:12px 14px;width:100%;border-radius:3px;color:var(--ink)}.field textarea{min-height:170px;resize:vertical}.field.full{grid-column:1/-1}.consent{font-size:.82rem;line-height:1.6}.form-note{font-size:.84rem;padding:14px 18px;border-left:3px solid var(--green-dark);background:var(--surface)}.form-status{font-weight:bold;color:var(--ink)}.contact-aside{padding:30px;background:var(--surface);align-self:start;border-top:5px solid var(--green-dark)}.contact-aside a{overflow-wrap:anywhere}.legal{max-width:840px;margin-left:0}.legal h2{margin:38px 0 18px}.legal h2:first-child{margin-top:0}.legal h3{margin:28px 0 15px}.legal a{overflow-wrap:anywhere}.legal p{margin:0 0 19px}.legal ul{padding-left:23px}.analytics-note{padding:15px;background:var(--surface)}
@media(min-width:1590px){.hero-copy{padding-left:110px}}@media(max-width:1150px){.header-inner{gap:24px;padding-inline:30px}.header-phone{display:none}.hero-copy{padding-left:40px}h1{font-size:2.85rem}.content-grid{gap:45px;grid-template-columns:minmax(0,1fr) 290px}.contact-layout{gap:45px}}@media(max-width:800px){.wrap{width:calc(100% - 40px)}.header-inner{padding:20px;min-height:94px}.brand{width:250px}#navigation{gap:20px}.hero{grid-template-columns:1fr 1fr;min-height:440px}.hero-copy{padding:42px 25px 42px 20px}h1{font-size:2.3rem}.hero-photo{min-height:440px}.content-grid{grid-template-columns:minmax(0,1fr) 250px;gap:30px;padding-top:50px}.text-section h2{font-size:1.45rem}.location-card{padding:22px}.footer-inner{padding-inline:20px}.location-detail{gap:30px}.location-details{grid-template-columns:1fr;gap:0}.contact-layout{grid-template-columns:minmax(0,1fr) 250px;gap:30px}}
@media(max-width:640px){.header-inner{flex-wrap:wrap;justify-content:space-between;gap:0}.brand{width:236px}.menu-toggle{display:flex;gap:9px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:3px;padding:9px 10px;font-size:.85rem}.menu-toggle span{font-size:1rem}#navigation{display:none;width:100%;margin:20px 0 0;flex-direction:column;align-items:stretch;gap:0;border-top:1px solid var(--line)}#navigation.open{display:flex}#navigation a{padding:12px 10px}#navigation a[aria-current]:after{right:auto;width:3px;top:12px;bottom:12px;height:auto}.hero{display:flex;flex-direction:column}.hero-copy{padding:38px 25px 40px}.hero-copy h1{font-size:2.8rem;max-width:360px}.hero-copy>p:not(.eyebrow){max-width:400px}.hero-photo{height:285px;min-height:285px}.hero-photo img{object-position:58% center}.content-grid{grid-template-columns:1fr;padding-top:45px;gap:12px;padding-bottom:50px}.text-section h2{font-size:1.6rem}.sidebar{display:grid;grid-template-columns:1fr;gap:28px}.location-card{padding:28px}.sidebar .contact-card,.sidebar .seal-card{margin:0;padding:0 8px}.seal-card img{width:185px}.footer-inner{align-items:flex-start;flex-direction:column;gap:20px}.footer-inner nav{flex-wrap:wrap;gap:22px}.page-title{padding:28px 0 32px}.page-title h1{font-size:2.35rem;overflow-wrap:anywhere}.page-content{padding:35px 0 55px}.location-detail,.contact-layout{grid-template-columns:1fr;gap:35px}.location-detail h2{font-size:1.8rem}.location-details{grid-template-columns:1fr}.gallery-intro h2{font-size:1.6rem}.gallery-grid{grid-template-columns:1fr 1fr;gap:12px}.gallery-item:last-child{grid-column:1/-1}.form-grid{gap:16px}.dialog-controls{flex-wrap:wrap}.dialog-controls button{font-size:.85rem}.dialog-controls span{order:3;width:100%;text-align:center}.legal{font-size:1rem}.legal h2{font-size:1.5rem}.breadcrumb{font-size:.78rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.location-related{display:grid;grid-template-columns:1fr 1.2fr .8fr;gap:50px;border-top:1px solid var(--line);padding:50px 0 75px}.location-related .location-card{align-self:start}.location-related h2{font-size:1.5rem}.location-related .seal-card{margin:0}.location-related p{font-size:.94rem}@media(max-width:800px){.location-related{gap:24px}}@media(max-width:640px){.location-related{grid-template-columns:1fr;gap:35px;padding-bottom:50px}.location-related .location-card{padding:28px}}

/* Alternative hero: full-width original photography with a calm reading panel. */
.hero--alternative{position:relative;isolation:isolate;display:flex;align-items:center;min-height:620px;padding:44px max(36px,calc((min(100vw,1590px) - 1280px)/2))}
.hero--alternative .hero-copy{position:relative;z-index:1;flex-shrink:0;width:440px;padding:35px 38px 38px;margin:0;align-self:center;background:#fff;border-top:5px solid var(--green-light);box-shadow:0 12px 40px rgb(0 0 0 / 8%)}
.hero--alternative .hero-copy h1{font-size:3rem;line-height:1.16;letter-spacing:-.035em}
.hero--alternative .hero-copy .eyebrow{margin-bottom:20px}
.hero--alternative .hero-copy>p:not(.eyebrow){margin:22px 0 25px}
.hero--alternative .hero-photo{position:absolute;z-index:-1;inset:0;min-height:0;height:100%;width:100%}
.hero--alternative .hero-photo img{object-position:center center}


@media(max-width:1050px) and (min-width:901px){.hero--alternative{padding:40px 30px;min-height:590px}.hero--alternative .hero-copy{width:370px;padding:30px}.hero--alternative .hero-copy h1{font-size:2.55rem}.hero--alternative .hero-photo img{object-position:65% center}}
@media(max-width:900px){.hero--alternative{display:flex;flex-direction:column;min-height:0;padding:0 0 36px}.hero--alternative .hero-photo{position:relative;z-index:0;order:0;width:100%;height:370px;min-height:370px}.hero--alternative .hero-photo img{object-position:58% center}.hero--alternative .hero-copy{order:1;width:calc(100% - 80px);max-width:640px;margin:-36px 40px 0;padding:32px 38px;align-self:center}.hero--alternative .hero-copy h1{font-size:2.7rem;max-width:500px}.hero--alternative .hero-copy>p:not(.eyebrow){max-width:500px}}
@media(max-width:640px){.hero--alternative .hero-photo{height:300px;min-height:300px}.hero--alternative .hero-copy{width:calc(100% - 40px);margin:-26px 20px 0;padding:26px 25px 29px}.hero--alternative .hero-copy h1{font-size:2.45rem}.hero--alternative .hero-copy .button{padding-inline:15px}.hero--alternative{padding-bottom:30px}}

/* The three original greens form one decorative band below either hero. */
.brand-band{display:grid;grid-template-columns:repeat(3,1fr);height:64px}
.brand-band span{background:var(--green-light)}.brand-band span:nth-child(2){background:var(--green)}.brand-band span:nth-child(3){background:var(--green-dark)}
@media(max-width:640px){.brand-band{width:100%;height:44px}}

/* Dark brand green gives headings and editorial links a readable accent. */
main h2,main h3{color:var(--action-green)}
main p a:not(.button),main li a:not(.button),.breadcrumb a{color:var(--action-green);text-decoration:underline;text-decoration-thickness:1px}
main p a:not(.button):hover,main p a:not(.button):focus-visible,main li a:not(.button):hover,main li a:not(.button):focus-visible,.breadcrumb a:hover,.breadcrumb a:focus-visible{text-decoration-thickness:2px}
/* Keep the mobile logo and menu on one line, including narrow 320 px screens. */
@media (max-width: 640px) {
  .brand { width: min(236px, calc(100% - 92px)); }
  .menu-toggle { min-height: 44px; }
}

/* footer.css */
/* Shared club information across every page. */
.site-footer { background: var(--action-green); color: white; }
.footer-main { display: grid; grid-template-columns: minmax(0,1fr) minmax(220px,.95fr) minmax(0,1.65fr); gap: 40px; padding-block: 40px 48px; }
.site-footer h2,.site-footer h3,.site-footer strong { color: white; }
.footer-main h2 { font-size: 1.5rem; margin-bottom: 24px; }
.footer-main h3 { font-size: 1.125rem; margin-bottom: 12px; }
.footer-main p { margin: 0 0 17px; font-size: 1rem; line-height: 1.75; }
.footer-main p:last-child { margin-bottom: 0; }
.footer-main a { color: white; text-decoration: underline; overflow-wrap: anywhere; text-decoration-thickness: 1px; }
.footer-main a:hover,.footer-main a:focus-visible { text-decoration-thickness: 2px; }
.site-footer a:focus-visible { outline-color: white; }
.footer-registration {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  margin-top: 40px;
  padding: 20px 24px;
  border-left: 6px solid var(--green-light);
  background: white;
}
.site-footer .footer-registration h2 {
  max-width: 680px;
  color: var(--action-green);
  font-size: clamp(1.125rem, 1.45vw, 1.25rem);
  font-weight: 600;
  line-height: 1.35;
  margin: 0;
}
.footer-registration .button {
  flex-shrink: 0;
  min-height: 48px;
  font-size: 1rem;
  white-space: nowrap;
}
.site-footer .footer-registration a:focus-visible { outline-color: var(--action-green); }
.footer-seal-content { display: grid; grid-template-columns: 210px minmax(0,1fr); align-items: start; gap: 24px; }
.seal-image { width: 210px; max-width: 100%; aspect-ratio: 1; }
.seal-image a { display: block; width: 100%; height: 100%; overflow: hidden; border-radius: 50%; background: white; }
.seal-image img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.2); }
.site-footer .footer-inner { display: flex; flex-wrap: wrap; justify-content: flex-start; border-top: 1px solid rgb(255 255 255 / 30%); color: white; padding-block: 20px; }
.site-footer .footer-inner nav { justify-content: flex-start; flex-wrap: wrap; gap: 12px 24px; }
.site-footer .footer-inner a:hover { text-decoration: underline; }
.footer-credit { display: inline-flex; align-items: center; margin-left: auto; gap: 8px; min-height: 44px; white-space: nowrap; line-height: 1.4; }
.footer-credit img { width: 24px; height: 24px; flex: none; transform: translateY(-2px); }
.site-footer .footer-credit:hover { text-decoration: none; }
.footer-credit:hover span { text-decoration: underline; }
.location-related.location-related--gallery { display: block; }
.location-related--gallery .location-card { display: flex; gap: 35px; align-items: center; flex-wrap: wrap; }
.location-related--gallery .location-card p { margin: 0; }
.location-related--gallery .location-card .button { width: auto; margin: 0 0 0 auto; }
.contact-layout.contact-layout--single { display: block; max-width: 840px; }
@media (max-width: 1100px) {
  .footer-main { grid-template-columns: 1fr 1fr; gap: 36px 48px; }
  .footer-seal { grid-column: 1 / -1; }
  .footer-seal-content { max-width: 740px; }
}
@media (max-width: 760px) {
  .footer-registration { flex-direction: column; align-items: stretch; gap: 18px; width: calc(100% - 48px); margin-top: 28px; padding: 20px; }
  .footer-registration .button { width: 100%; }
  .footer-main { grid-template-columns: 1fr; gap: 38px; width: calc(100% - 48px); padding-block: 46px; }
  .footer-main > section + section { border-top: 1px solid rgb(255 255 255 / 30%); padding-top: 34px; }
  .footer-main h2 { margin-bottom: 20px; }
  .footer-main p { max-width: 560px; }
  .site-footer .footer-inner { flex-direction: column; align-items: flex-start; gap: 14px; padding-inline: 24px; }
  .site-footer .footer-inner nav { justify-content: start; }
  .footer-credit { margin-left: 0; }
  .location-related--gallery .location-card { display: block; }
  .location-related--gallery .location-card p { margin: 16px 0; }
}
@media (max-width: 560px) {
  .footer-seal-content { grid-template-columns: 1fr; gap: 22px; }
}

/* impressum.css */
.creator-card { max-width: 840px; margin-top: 56px; padding: 32px; background: var(--action-green); color: white; }
.creator-card-header { display: flex; align-items: center; gap: 20px; }
.creator-card-header > img { width: 48px; height: 48px; flex: none; }
.creator-card-header > div { min-width: 0; }
.creator-card .creator-kicker { margin: 0 0 8px; font-size: .75rem; font-weight: 700; letter-spacing: .1em; }
.creator-card h2 { color: white; font-size: clamp(1.375rem, 2.5vw, 1.625rem); line-height: 1.3; }
.creator-card > p { max-width: 67ch; margin: 22px 0; line-height: 1.75; }
.creator-button { margin-top: 4px; border-color: white; color: white; background: transparent; }
.creator-button:hover,.creator-button:focus-visible { color: var(--action-green); background: white; border-color: white; }
.creator-card a:focus-visible { outline-color: white; }
@media (max-width: 600px) {
  .creator-card { padding: 24px; }
  .creator-card-header { align-items: flex-start; gap: 14px; }
  .creator-card-header > img { width: 40px; height: 40px; }
  .creator-card h2 { overflow-wrap: anywhere; }
}

/* Keep long legal headings readable on narrow screens. */
.legal { overflow-wrap: anywhere; hyphens: auto; }
