:root{--sfm-cyan-ultralight: #dcf1f0;--sfm-cyan-light: #7ccbc8;--sfm-cyan-base: #12a19b;--sfm-cyan-dark: #0c726d;--sfm-yellow-ultralight: #fef5d1;--sfm-yellow-light: #fddf66;--sfm-yellow-base: #fcc900;--sfm-yellow-dark: #c99e00;--sfm-red-ultralight: #f8d8da;--sfm-red-light: #dc7c83;--sfm-red-base: #bf1522;--sfm-red-dark: #8c0f18;--sfm-gray-ultralight: #ededed;--sfm-gray-light: #c7c7c7;--sfm-gray-base: #9d9d9d;--sfm-gray-dark: #474747;--sfm-black: #1c1c1c;--sfm-white: #ffffff;--sfm-page: #f3f7f7;--sfm-shadow-soft: 0 4px 14px rgba(28, 28, 28, .08);--sfm-shadow-card: 0 10px 30px rgba(28, 28, 28, .12);--sfm-on-dark-muted: rgba(255, 255, 255, .72);--sfm-hero-scrim: linear-gradient( 105deg, rgba(12, 28, 28, .82) 0%, rgba(12, 28, 28, .55) 48%, rgba(12, 28, 28, .2) 100% )}@font-face{font-family:Montserrat;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/montserrat-var.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-var.woff2) format("woff2")}:root{--color-bg: var(--sfm-page);--color-surface: var(--sfm-white);--color-fg: var(--sfm-black);--color-muted: var(--sfm-gray-dark);--color-border: var(--sfm-gray-light);--color-border-soft: var(--sfm-gray-ultralight);--color-brand: var(--sfm-cyan-base);--color-brand-strong: var(--sfm-cyan-dark);--color-brand-soft: var(--sfm-cyan-ultralight);--color-accent: var(--sfm-yellow-base);--color-accent-soft: var(--sfm-yellow-ultralight);--color-on-brand: var(--sfm-white);--color-on-dark: var(--sfm-white);--color-on-dark-muted: var(--sfm-on-dark-muted);--color-footer: var(--sfm-black);--font-heading: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-accent: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--space: 1rem;--max-width: 84rem;--radius: 16px;--radius-sm: 10px;--shadow-soft: var(--sfm-shadow-soft);--shadow-card: var(--sfm-shadow-card)}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--color-bg);color:var(--color-fg);font-family:var(--font-body);font-weight:400;line-height:1.7;-webkit-font-smoothing:antialiased;display:flex;flex-direction:column;min-height:100dvh}h1,h2,h3{font-family:var(--font-heading);line-height:1.12;color:var(--color-fg);font-weight:800;letter-spacing:-.01em}h1{font-size:clamp(1.7rem,4vw,2.75rem)}h2{font-size:clamp(1.45rem,2.7vw,2.05rem)}h3{font-size:clamp(1.2rem,2vw,1.5rem)}h1,h2{color:var(--color-brand)}.prose-page h1,.training-page>h1,.teams-page>h1,.news-page>h1,.shop-head h1,.shop-detail-body h1,.cart h1,.checkout h1{position:sticky;top:var(--header-h, 7.2rem);z-index:10;margin-top:0;margin-bottom:.3rem;padding:.1rem 0 .35rem}.prose-page h1:before,.training-page>h1:before,.teams-page>h1:before,.news-page>h1:before,.shop-head h1:before,.shop-detail-body h1:before,.cart h1:before,.checkout h1:before{content:"";position:absolute;inset:0;z-index:-1;background:var(--color-bg);box-shadow:0 0 0 100vmax var(--color-bg);clip-path:inset(0 -100vmax)}.prose-page h1:after,.training-page>h1:after,.teams-page>h1:after,.news-page>h1:after,.shop-head h1:after,.shop-detail-body h1:after,.cart h1:after,.checkout h1:after{content:"";position:absolute;left:0;right:0;top:100%;height:.9rem;z-index:-1;background:linear-gradient(var(--color-bg),transparent);pointer-events:none}a{color:var(--color-brand-strong);font-weight:700}a:hover{color:var(--sfm-red-base)}p{margin:0 0 var(--space)}.icon{display:inline-block;vertical-align:-.15em;flex:none}.announce{background:var(--color-brand-strong);color:var(--color-on-brand);text-align:center;font-family:var(--font-accent);font-weight:600;padding:.55rem var(--space);font-size:1rem}.announce a{color:var(--color-on-brand);text-decoration:underline;text-underline-offset:2px;font-weight:700}.site-header{position:sticky;top:0;z-index:30;background:var(--color-surface);border-bottom:1px solid var(--color-border-soft);box-shadow:var(--shadow-soft)}.site-header .header-inner{max-width:var(--max-width);margin:0 auto;padding:.7rem var(--space);display:flex;align-items:center;justify-content:space-between;gap:var(--space)}.site-header .logo{display:block;text-decoration:none;line-height:0;margin-right:auto;flex-shrink:0}.site-header .logo img{display:block;width:auto;max-width:none;height:4.5rem}.nav-toggle{position:absolute;opacity:0;pointer-events:none}.nav-burger{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:var(--radius-sm);color:var(--color-brand-strong);cursor:pointer;font-size:1.6rem}.nav-burger:hover{background:var(--color-brand-soft)}.nav-burger .icon-close{display:none}.nav-toggle:checked~.nav-burger .icon-open{display:none}.nav-toggle:checked~.nav-burger .icon-close{display:inline-block}.site-header .nav-list{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;list-style:none;margin:0;padding:0}.site-header .nav-item{position:relative}.site-header .nav-item>a{display:inline-flex;align-items:center;gap:.3rem;padding:.5rem .7rem;border-radius:var(--radius-sm);text-decoration:none;font-weight:600;color:var(--color-fg);white-space:nowrap}.site-header .nav-item>a:hover{background:var(--color-brand-soft);color:var(--color-brand-strong)}.site-header .nav-item .caret{transition:transform .15s ease}.site-header .nav-item.has-children:hover .caret{transform:rotate(180deg)}.site-header .nav-submenu{position:absolute;left:0;top:100%;min-width:15rem;margin:.3rem 0 0;padding:.4rem;list-style:none;background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius-sm);box-shadow:var(--shadow-card);display:none;z-index:20}.site-header .nav-submenu:before{content:"";position:absolute;left:0;right:0;top:-.3rem;height:.3rem}.site-header .nav-item.has-children:hover .nav-submenu,.site-header .nav-item.has-children:focus-within .nav-submenu{display:block}.site-header .nav-submenu li{margin:0}.site-header .nav-submenu a{display:flex;align-items:baseline;justify-content:space-between;gap:1.75rem;padding:.45rem .7rem;border-radius:var(--radius-sm);text-decoration:none;font-weight:500;color:var(--color-fg);white-space:nowrap}.site-header .nav-submenu a:hover{background:var(--color-brand-soft);color:var(--color-brand-strong)}.site-header .nav-submenu .submenu-right{flex:none;display:flex;align-items:baseline;gap:.6rem}.site-header .nav-submenu .submenu-day{min-width:1.5rem;text-align:right;color:var(--color-fg-muted);font-weight:600}.site-header .nav-submenu .submenu-meta{min-width:5.6rem;text-align:right;color:var(--color-fg-muted);font-weight:400;font-variant-numeric:tabular-nums}.site-header .nav-submenu a:hover .submenu-day,.site-header .nav-submenu a:hover .submenu-meta{color:var(--color-brand-strong)}@media(max-width:59.99rem){.site-header .site-nav{position:absolute;left:0;right:0;top:100%;background:var(--color-surface);border-bottom:1px solid var(--color-border-soft);box-shadow:var(--shadow-card);max-height:0;overflow:hidden;transition:max-height .25s ease}.nav-toggle:checked~.site-nav{max-height:85vh;overflow-y:auto}.site-header .nav-list{flex-direction:column;align-items:stretch;gap:0;padding:.5rem var(--space) var(--space)}.site-header .nav-item>a{justify-content:space-between;padding:.7rem .6rem}.site-header .nav-item .caret{display:none}.site-header .nav-submenu{position:static;display:block;min-width:0;margin:0 0 .3rem;padding:0 0 .3rem .8rem;border:0;box-shadow:none;border-left:2px solid var(--color-brand-soft)}.site-header .nav-submenu:before{content:none}}@media(min-width:60rem){.nav-burger{display:none}.site-header .site-nav{display:block}}.site-footer{background:var(--color-footer);color:var(--color-on-dark);margin-top:calc(var(--space) * 5)}.site-footer .inner{max-width:var(--max-width);margin:0 auto;padding:calc(var(--space) * 3) var(--space)}.site-footer .footer-brand{margin:0 0 .2rem;font-weight:700;font-size:1.15rem;color:var(--color-on-dark)}.site-footer .footer-tagline{max-width:38rem;font-size:1.1rem}.site-footer a{color:var(--color-on-dark)}.site-footer small{color:var(--color-on-dark-muted)}.site-footer .footer-links{display:flex;flex-wrap:wrap;gap:.6rem var(--space);margin:calc(var(--space) * 1.5) 0}.site-footer .footer-links a{display:inline-flex;align-items:center;gap:.4rem;font-weight:600;text-decoration:none;color:var(--color-on-dark)}.site-footer .footer-links a:hover{color:var(--sfm-cyan-light)}main{width:100%;flex:1 0 auto}.prose-page{max-width:var(--max-width);margin:0 auto;padding:calc(var(--space) * 2.5) var(--space)}.prose-page p,.prose-page ul,.prose-page ol,.prose-page blockquote,.training-page .lead,.training-contact p{text-align:left}@media(min-width:48rem){.prose-page p,.prose-page ul,.prose-page ol,.prose-page blockquote,.training-page .lead,.training-contact p{max-width:75%}}.prose-page h1{margin-top:0}.prose-page a{text-decoration:underline;text-underline-offset:2px}.prose-page table{width:100%;border-collapse:collapse;margin:1.4rem 0;font-size:.97rem;background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius-sm);overflow:hidden}.prose-page thead th{background:var(--color-brand);color:var(--color-on-brand, #fff);font-weight:700;text-align:left}.prose-page th,.prose-page td{padding:.6rem .9rem;border-bottom:1px solid var(--color-border-soft)}.prose-page tbody tr:last-child td{border-bottom:0}.prose-page tbody tr:nth-child(2n){background:var(--color-brand-soft)}.prose-page tbody tr:hover{background:var(--color-accent-soft)}.prose-page table a{text-decoration:none;font-weight:600}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.8rem 1.5rem;border-radius:999px;border:2px solid transparent;font-family:var(--font-body);font-weight:700;text-decoration:none;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease,transform .15s ease}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--color-brand-strong);color:var(--color-on-brand)}.btn-primary:hover{background:var(--color-fg)}.btn-outline{background:transparent;color:var(--color-brand-strong);border-color:var(--color-brand)}.btn-outline:hover{background:var(--color-brand-strong);color:var(--color-on-brand);border-color:var(--color-brand-strong)}.btn-on-dark{background:var(--color-accent);color:var(--color-fg)}.btn-on-dark:hover{background:var(--sfm-yellow-light)}img{max-width:100%;height:auto}.hero-media img,.section-media img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius);display:block}.hero{position:relative}.hero .hero-bg{position:absolute;inset:0;z-index:0}.hero .hero-bg img{width:100%;height:100%;object-fit:cover;border-radius:0}.hero .hero-scrim{position:absolute;inset:0;z-index:1;background:var(--sfm-hero-scrim)}.hero .hero-inner{position:relative;z-index:2;max-width:var(--max-width);margin:0 auto;padding:clamp(3.5rem,9vw,7rem) var(--space)}.hero .hero-text{max-width:40rem;color:var(--color-on-dark)}.hero .hero-text h1{color:var(--color-on-dark)}.hero .hero-text p{color:var(--color-on-dark);font-size:1.15rem;opacity:.95}.hero .eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-accent);font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:.95rem;color:var(--color-accent);margin-bottom:.6rem}.hero .eyebrow:before{content:"";width:1.8rem;height:3px;border-radius:2px;background:var(--color-accent)}.hero.no-media{background:var(--color-brand-soft)}.hero.no-media .hero-text,.hero.no-media .hero-text h1,.hero.no-media .hero-text p{color:var(--color-fg)}.hero.no-media .eyebrow{color:var(--color-brand-strong)}.hero.no-media .eyebrow:before{background:var(--color-brand)}.section .inner{max-width:var(--max-width);margin:0 auto;padding:calc(var(--space) * 3) var(--space)}.section-grid{display:grid;gap:calc(var(--space) * 2.5);align-items:center}.section-grid .section-text{max-width:42rem}.section-grid .section-text h2{margin-top:0}.section-grid .section-media{position:relative}.section-grid .section-media img{max-height:26rem;box-shadow:var(--shadow-card)}.section-icon{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:50%;background:var(--color-brand-soft);color:var(--color-brand-strong);font-size:1.5rem;margin-bottom:.8rem}@media(min-width:48rem){.section-grid{grid-template-columns:1fr 1.25fr}.section-grid .section-media{order:0}.section-grid.media-right .section-media{order:1}}.newsletter{background:var(--color-brand-strong);color:var(--color-on-dark)}.newsletter h2{color:var(--color-on-dark)}.newsletter p{color:var(--color-on-dark);opacity:.95;max-width:42rem;margin-inline:auto}.newsletter .inner{max-width:var(--max-width);margin:0 auto;padding:calc(var(--space) * 3) var(--space);text-align:center}.news-page{max-width:var(--max-width);margin:0 auto;padding:calc(var(--space) * 2.5) var(--space)}.news-layout{display:grid;grid-template-columns:minmax(0,1fr) 17rem;gap:calc(var(--space) * 2);align-items:start;margin-top:var(--space)}@media(max-width:60rem){.news-layout{grid-template-columns:1fr}}.news-quarter{margin-top:calc(var(--space) * 2.2)}.news-quarter:first-child{margin-top:0}.news-quarter.is-collapsed{display:none}.news-quarter-head{display:flex;align-items:center;gap:.6rem;margin:0 0 var(--space);font-family:var(--font-heading);font-size:1.45rem;padding-bottom:.4rem;border-bottom:2px solid var(--color-brand-soft)}.news-quarter-count{font-size:.8rem;font-weight:700;color:var(--color-brand-strong);background:var(--color-brand-soft);border-radius:999px;padding:.1rem .6rem}.news-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:calc(var(--space) * 1.3)}.news-card{display:flex;flex-direction:column;background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-soft);transition:box-shadow .15s ease,transform .15s ease}.news-card:hover{box-shadow:var(--shadow-card);transform:translateY(-3px)}.news-card-media{display:block;aspect-ratio:16 / 9;background:var(--color-brand-soft);overflow:hidden}.news-card-media img{width:100%;height:100%;object-fit:cover;display:block}.news-card.is-logo .news-card-media{display:grid;place-items:center;background:linear-gradient(135deg,var(--color-brand-soft),var(--color-accent-soft))}.news-card.is-logo .news-card-media img{width:auto;height:58%;object-fit:contain;opacity:.85}.news-card-body{display:flex;flex-direction:column;gap:.5rem;padding:calc(var(--space) * 1.1) calc(var(--space) * 1.1) calc(var(--space) * 1.2)}.news-card-title{margin:0;font-size:1.08rem;line-height:1.3}.news-card-title a{color:var(--color-fg);text-decoration:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.news-card-title a:hover{color:var(--color-brand-strong)}.news-teaser{margin:0;color:var(--color-muted);font-size:.92rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.news-more{margin-top:auto;align-self:flex-start;font-weight:600;font-size:.9rem;color:var(--color-brand-strong);text-decoration:none}.news-more:hover{text-decoration:underline}.news-meta{color:var(--color-muted);font-size:.85rem;display:flex;flex-wrap:wrap;gap:.4rem .8rem;align-items:center;margin:0}.news-meta time,.news-meta .news-cat{display:inline-flex;align-items:center;gap:.35rem}.news-cat{background:var(--color-accent-soft);color:var(--color-fg);border-radius:999px;padding:.1rem .6rem;font-weight:600}.news-aside-inner{position:sticky;top:calc(var(--header-h, 7.2rem) + var(--space));background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius);box-shadow:var(--shadow-soft);padding:calc(var(--space) * 1.2)}@media(max-width:60rem){.news-aside-inner{position:static}}.news-aside-head{display:flex;align-items:center;gap:.45rem;margin:0 0 var(--space);font-family:var(--font-heading);font-size:1.1rem}.news-show-all{width:100%;margin-bottom:var(--space);padding:.5rem .8rem;font:inherit;font-weight:600;font-size:.9rem;color:var(--color-on-brand);background:var(--color-brand);border:0;border-radius:var(--radius-sm);cursor:pointer}.news-show-all:hover{background:var(--color-brand-strong)}.news-quarter-nav{display:grid;gap:.9rem}.news-year-label{margin:0 0 .35rem;font-weight:700;color:var(--color-muted);font-size:.85rem}.news-year ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}.news-q-link{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .6rem;border-radius:999px;border:1px solid var(--color-border-soft);text-decoration:none;color:var(--color-fg);font-size:.85rem;font-weight:600}.news-q-link:hover{border-color:var(--color-brand);color:var(--color-brand-strong)}.news-q-link.is-default{background:var(--color-brand);color:var(--color-on-brand);border-color:var(--color-brand)}.news-q-count{font-size:.72rem;opacity:.8}.news-article{max-width:56rem}.news-hero{margin:0 0 calc(var(--space) * 1.3);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-soft);aspect-ratio:16 / 7;background:var(--color-brand-soft)}.news-hero img{width:100%;height:100%;max-height:none;object-fit:cover;display:block;margin:0}.news-hero.is-logo{display:grid;place-items:center;background:linear-gradient(135deg,var(--color-brand-soft),var(--color-accent-soft))}.news-hero.is-logo img{width:auto;height:70%;object-fit:contain;opacity:.9}.prose-page img{border-radius:var(--radius);margin:var(--space) 0;max-height:24rem;box-shadow:var(--shadow-soft)}.shop-page{max-width:var(--max-width);margin:0 auto;padding:calc(var(--space) * 2.5) var(--space)}.shop-head{max-width:42rem}.shop-head h1{margin-top:0}.shop-head p{color:var(--color-muted);font-size:1.1rem}.shop-grid{list-style:none;margin:calc(var(--space) * 1.5) 0 0;padding:0;display:grid;gap:calc(var(--space) * 1.5);grid-template-columns:1fr}@media(min-width:36rem){.shop-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:56rem){.shop-grid{grid-template-columns:repeat(3,1fr)}}.shop-card{background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-soft);transition:box-shadow .15s ease,transform .15s ease}.shop-card:hover{box-shadow:var(--shadow-card);transform:translateY(-2px)}.shop-card-link{display:block;text-decoration:none;color:inherit}.shop-card-media{aspect-ratio:1 / 1;background:var(--color-border-soft)}.shop-card-media img{width:100%;height:100%;object-fit:cover;display:block}.shop-card-body{padding:var(--space) calc(var(--space) * 1.2) calc(var(--space) * 1.2)}.shop-card-title{font-size:1.15rem;margin:0 0 .4rem;line-height:1.25;color:var(--color-fg)}.shop-card-link:hover .shop-card-title{color:var(--color-brand-strong)}.shop-price{font-family:var(--font-accent);font-weight:700;font-size:1.25rem;color:var(--color-brand-strong);margin:0}.shop-price-from{font-weight:600;font-size:.95rem;color:var(--color-muted)}.shop-detail{max-width:var(--max-width);margin:0 auto;padding:calc(var(--space) * 2.5) var(--space)}.shop-back{display:inline-flex;align-items:center;font-weight:600;text-decoration:none;color:var(--color-brand-strong);margin-bottom:calc(var(--space) * 1.5)}.shop-back:hover{text-decoration:underline}.shop-detail-grid{display:grid;gap:calc(var(--space) * 2.5);align-items:start}@media(min-width:48rem){.shop-detail-grid{grid-template-columns:1fr 1fr}}.shop-detail-media{border-radius:var(--radius);overflow:hidden;background:var(--color-border-soft);box-shadow:var(--shadow-card)}.shop-detail-media img{width:100%;height:auto;display:block}.shop-detail-body h1{margin-top:0}.shop-detail-body .shop-price{font-size:1.6rem;margin:0 0 var(--space)}.shop-variants{list-style:none;margin:0 0 calc(var(--space) * 1.5);padding:0;border:1px solid var(--color-border-soft);border-radius:var(--radius-sm);overflow:hidden}.shop-variant{display:flex;justify-content:space-between;gap:var(--space);padding:.6rem .9rem}.shop-variant+.shop-variant{border-top:1px solid var(--color-border-soft)}.shop-variant-title{font-weight:600}.shop-variant-price{color:var(--color-brand-strong);font-weight:700;white-space:nowrap}.shop-description{margin-bottom:calc(var(--space) * 1.5)}.shop-description h2{font-size:1.3rem;margin:var(--space) 0 .5rem}.shop-description ul{padding-left:1.3rem;margin:0 0 var(--space)}.shop-description a{text-decoration:underline;text-underline-offset:2px}.header-actions{display:flex;align-items:center;gap:.9rem}.lang-switch{display:inline-flex;align-items:center;gap:.35rem;font-weight:700;font-size:.9rem}.lang-switch-link{color:var(--color-muted);text-decoration:none}a.lang-switch-link:hover,.lang-switch-link.is-active{color:var(--color-brand-strong)}.lang-switch-link.is-disabled,.lang-switch-sep{color:var(--color-border)}.mini-cart{position:relative;display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:var(--radius-sm);color:var(--color-brand-strong);text-decoration:none}.mini-cart:hover{background:var(--color-brand-soft);color:var(--color-brand-strong)}.mini-cart-count{position:absolute;top:.25rem;right:.2rem;min-width:1.15rem;height:1.15rem;padding:0 .25rem;border-radius:999px;background:var(--color-accent);color:var(--color-fg);font-family:var(--font-accent);font-size:.7rem;font-weight:700;line-height:1.15rem;text-align:center}.cart,.checkout{max-width:var(--max-width);margin:0 auto;padding:calc(var(--space) * 2.5) var(--space)}.cart h1,.checkout h1{margin-top:0}.checkout-status{color:var(--color-muted)}.checkout-empty{display:grid;gap:var(--space);justify-items:start}.cart-grid{display:grid;gap:calc(var(--space) * 2);align-items:start;margin-top:calc(var(--space) * 1.5)}@media(min-width:48rem){.cart-grid{grid-template-columns:2fr 1fr}}.cart-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space)}.cart-item{display:grid;grid-template-columns:auto 1fr auto;gap:var(--space);align-items:center;background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius);padding:var(--space);box-shadow:var(--shadow-soft)}.cart-item-media{width:4.5rem;aspect-ratio:1 / 1;border-radius:var(--radius-sm);overflow:hidden}.cart-item-media img{width:100%;height:100%;object-fit:cover;display:block}.cart-item-body{display:grid;gap:.5rem}.cart-item-title{font-weight:600;margin:0}.cart-qty{display:inline-flex;align-items:center;gap:.5rem}.cart-qty-btn{width:2rem;height:2rem;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-fg);font-size:1.1rem;line-height:1;cursor:pointer}.cart-qty-btn:hover:not(:disabled){background:var(--color-brand-soft)}.cart-qty-btn:disabled{opacity:.4;cursor:default}.cart-qty-count{min-width:1.5rem;text-align:center;font-weight:600}.cart-remove{justify-self:start;background:none;border:none;padding:0;color:var(--color-muted);font-size:.9rem;text-decoration:underline;cursor:pointer}.cart-remove:hover{color:var(--color-fg)}.cart-item-total{font-weight:700;color:var(--color-brand-strong);white-space:nowrap;margin:0}.cart-summary{background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius);padding:calc(var(--space) * 1.25);box-shadow:var(--shadow-soft);display:grid;gap:var(--space)}.cart-summary h2{margin:0;font-size:1.2rem}.cart-total{display:flex;justify-content:space-between;font-weight:700;font-size:1.15rem;margin:0}.cart-checkout{justify-content:center}.checkout-grid{display:grid;gap:calc(var(--space) * 2);align-items:start;margin-top:calc(var(--space) * 1.5)}@media(min-width:48rem){.checkout-grid{grid-template-columns:3fr 2fr}}.checkout-form{display:grid;gap:var(--space)}.checkout-form h2{margin:var(--space) 0 0;font-size:1.2rem}.checkout-form h2:first-child{margin-top:0}.checkout-shipping{display:grid;gap:var(--space)}.checkout-field{display:grid;gap:.35rem;font-weight:600}.checkout-field input{font-family:var(--font-body);font-size:1rem;padding:.6rem .8rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-fg)}.checkout-field input:focus{outline:2px solid var(--color-brand);outline-offset:1px}.checkout-row{display:grid;gap:var(--space);grid-template-columns:1fr 2fr}.checkout-note{color:var(--color-muted);font-size:.95rem;margin:0}.checkout-error{color:var(--sfm-red-base);font-weight:600;margin:0}.checkout-summary{background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius);padding:calc(var(--space) * 1.25);box-shadow:var(--shadow-soft)}.checkout-summary h2{margin:0 0 var(--space);font-size:1.2rem}.checkout-items{list-style:none;margin:0 0 var(--space);padding:0;display:grid;gap:.5rem}.checkout-item{display:flex;justify-content:space-between;gap:var(--space)}.checkout-line{display:flex;justify-content:space-between;color:var(--color-muted);margin:0 0 .5rem}.checkout-total{display:flex;justify-content:space-between;font-weight:700;font-size:1.15rem;margin:0;padding-top:var(--space);border-top:1px solid var(--color-border-soft)}.checkout-success{max-width:42rem;background:var(--color-brand-soft);border-radius:var(--radius);padding:calc(var(--space) * 1.5);display:grid;gap:var(--space);justify-items:start}.checkout-success h2{margin:0}.finish-note{color:var(--color-muted)}html{scroll-behavior:smooth;overflow-y:scroll}.training-page{max-width:var(--max-width);margin:0 auto;padding:calc(var(--space) * 2.5) var(--space)}.training-page>h1{margin-top:0}.training-page .lead{color:var(--color-muted)}.week-overview{margin-top:calc(var(--space) * 2)}.week-legend{display:flex;flex-wrap:wrap;gap:1.2rem;margin:.4rem 0 0;color:var(--color-muted);font-size:.9rem}.legend-item{display:inline-flex;align-items:center;gap:.4rem}.legend-swatch{width:.9rem;height:.9rem;border-radius:3px;display:inline-block}.legend-praesenz{background:var(--color-accent)}.legend-online{background:var(--color-brand)}.week-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:var(--space);margin-top:var(--space)}.week-day{background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius-sm);padding:.8rem;display:flex;flex-direction:column;gap:.6rem}.week-day-name{margin:0;font-size:.95rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-brand-strong);border-bottom:2px solid var(--color-brand-soft);padding-bottom:.4rem}.week-empty{margin:0;color:var(--color-muted);font-size:.9rem;font-style:italic}.slot{display:flex;flex-direction:column;gap:.2rem;padding:.6rem .7rem;border-radius:var(--radius-sm);text-decoration:none;background:var(--color-accent-soft);border-left:4px solid var(--color-accent);color:var(--color-fg);font-weight:400;transition:transform .12s ease,box-shadow .12s ease}.slot:hover{transform:translateY(-2px);box-shadow:var(--shadow-card);color:var(--color-fg)}.slot-online{background:var(--color-brand-soft);border-left-color:var(--color-brand)}.slot-time{display:inline-flex;align-items:center;gap:.3rem;font-weight:700;font-size:.9rem}.slot-title{font-weight:600;line-height:1.25}.slot-tag{align-self:flex-start;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted)}.training-details{margin-top:calc(var(--space) * 2.5)}.t-daygroup{margin-top:calc(var(--space) * 1.5)}.t-day{margin:0 0 .4rem;color:var(--color-brand);font-size:1.15rem;border-bottom:2px solid var(--color-brand-soft);padding-bottom:.3rem}.t-card{position:relative;background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius);padding:calc(var(--space) * 1.2);margin-top:var(--space);scroll-margin-top:calc(var(--header-h, 7.2rem) + 4.5rem);box-shadow:var(--shadow-soft);transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.t-card.is-online:hover,.t-card.is-online:target{border-color:var(--color-brand);box-shadow:0 0 0 2px var(--color-brand-soft),var(--shadow-card)}.t-card.is-praesenz:hover,.t-card.is-praesenz:target{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-soft),var(--shadow-card)}.t-card h4{margin:0 0 .6rem;font-family:var(--font-heading);font-size:1.2rem;font-weight:700}.t-card h4 a{color:inherit;text-decoration:none}.t-card h4 a:after{content:"";position:absolute;inset:0}.t-card h4 a:hover{color:inherit}.t-card .t-meta a{position:relative;z-index:1}.loc-courses{list-style:none;margin:.7rem 0 0;padding:0;display:grid;gap:.25rem}.loc-courses a{font-size:.9rem;text-decoration:none}.loc-courses a:hover{text-decoration:underline}.t-meta{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}.t-meta li{display:flex;align-items:flex-start;gap:.5rem;color:var(--color-fg)}.t-meta .icon{color:var(--color-brand-strong);flex-shrink:0;margin-top:.15rem}.t-note{margin:.7rem 0 0;font-style:italic;color:var(--color-muted)}.locations{margin-top:calc(var(--space) * 2.5)}.loc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:var(--space);margin-top:var(--space)}.loc-card{background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius-sm);overflow:hidden;box-shadow:var(--shadow-soft);display:flex;flex-direction:column;transition:transform .12s ease,box-shadow .12s ease}.loc-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-card)}.loc-map{width:100%;height:11rem;border:0;display:block}.loc-body{padding:.8rem .9rem}.loc-body h3{margin:0 0 .15rem;font-size:1.1rem}.loc-district{margin:0;color:var(--color-brand-strong);font-weight:600;font-size:.9rem}.loc-addr{margin:.7rem 0 0;color:var(--color-muted);font-size:.95rem}.training-contact{margin-top:calc(var(--space) * 2.5)}.teams-page{max-width:var(--max-width);margin:0 auto;padding:calc(var(--space) * 2.5) var(--space)}.teams-page .lead{color:var(--color-muted);font-size:1.05rem}@media(min-width:48rem){.teams-page .lead{max-width:75%}}.team-section{margin-top:calc(var(--space) * 3)}.team-section>h2{display:flex;align-items:baseline;flex-wrap:wrap;gap:.6rem .9rem}.season-tag{font-size:.85rem;font-weight:600;color:var(--color-brand-strong);background:var(--color-brand-soft);border-radius:999px;padding:.15rem .7rem}.team-grid{margin-top:calc(var(--space) * 1.2);display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:var(--space)}.team-card{position:relative;display:flex;flex-direction:column;gap:.5rem;background:var(--color-surface);border:1px solid var(--color-border-soft);border-left:4px solid var(--color-brand);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:1.1rem 1.2rem 1.2rem;transition:transform .12s ease,box-shadow .12s ease}.team-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px #0000001f}.team-card.is-mmm{border-left-color:var(--color-brand)}.team-card.is-bayern{border-left-color:var(--color-accent)}.team-card.is-lichess{border-left-color:var(--color-brand-strong)}.team-card.is-erste{border-left-width:6px;border-left-color:var(--color-brand-strong)}.team-card h3{margin:0;padding-right:3.4rem;color:var(--color-fg);font-size:1.15rem}.team-card h3 a{color:inherit;text-decoration:none}.team-card h3 a:hover{color:var(--color-brand-strong)}.team-card{cursor:pointer}.team-card .card-link:after{content:"";position:absolute;inset:0;z-index:1}.team-league{margin:0;color:var(--color-muted);font-weight:600}.rank-badge{position:absolute;top:1rem;right:1.1rem;display:flex;flex-direction:column;align-items:center;line-height:1;color:var(--color-muted)}.rank-badge strong{font-size:1.6rem;color:var(--color-brand-strong)}.rank-badge span{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em}.team-card.is-podium .rank-badge strong{color:var(--color-accent)}.team-stats{display:grid;grid-template-columns:1fr auto;gap:.25rem .8rem;margin:.4rem 0 0}.team-stats div{display:contents}.team-stats dt{color:var(--color-muted);font-size:.92rem}.team-stats dd{margin:0;font-weight:700;font-variant-numeric:tabular-nums;text-align:right}.team-roster{margin:.5rem 0 0;color:var(--color-muted);font-size:.85rem;line-height:1.45}.roster-list{margin:.6rem 0 0;padding-left:1.4rem;color:var(--color-fg);font-size:.85rem;line-height:1.5}.roster-list li{margin:0}.team-link{margin-top:auto;padding-top:.6rem;display:inline-flex;align-items:center;gap:.4rem;font-size:.92rem}.achievements{list-style:none;margin:calc(var(--space) * 1.2) 0 0;padding:0;display:grid;gap:.7rem}.achievements li{display:flex;gap:.9rem;align-items:flex-start}.ach-year{flex:none;min-width:4.4rem;text-align:center;font-weight:700;font-size:.85rem;color:var(--color-brand-strong);background:var(--color-brand-soft);border-radius:var(--radius-sm);padding:.3rem .5rem}.ach-body strong{color:var(--color-fg)}.ach-body p{margin:.15rem 0 0;color:var(--color-muted);font-size:.92rem}.archive-grid{margin-top:calc(var(--space) * 1.2);display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:var(--space)}.archive-group h3{margin:0 0 .5rem;font-size:1.05rem}.archive-group ul{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}.archive-group a{display:inline-flex;align-items:baseline;gap:.4rem;font-size:.95rem}.team-standing{margin-top:calc(var(--space) * 1.2);background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:1.2rem 1.3rem}.standing-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:.6rem .9rem;margin:0 0 .8rem}.standing-league{font-weight:700;font-size:1.15rem;color:var(--color-brand-strong)}.standing-stats{display:flex;flex-wrap:wrap;gap:.4rem 2rem;margin:0 0 .4rem}.standing-stats div{display:flex;align-items:baseline;gap:.5rem}.standing-stats dt{color:var(--color-muted)}.standing-stats dd{margin:0;font-weight:700;font-variant-numeric:tabular-nums}.team-detail tbody tr.is-stammspieler td{font-weight:700}.team-history,.back-link{margin-top:calc(var(--space) * 2)}.back-link-top{margin-top:0;margin-bottom:var(--space)}.history-intro{color:var(--color-muted);font-size:1.05rem;max-width:46rem;margin-top:0}.timeline{list-style:none;margin:calc(var(--space) * 2.2) 0 0;padding:0;position:relative}.timeline-item{position:relative;padding-left:2.4rem;margin-bottom:calc(var(--space) * 1.8)}.timeline-item:last-child{margin-bottom:0}.timeline-item:before{content:"";position:absolute;box-sizing:border-box;left:.65rem;transform:translate(-50%);top:.5rem;width:1.3rem;height:1.3rem;border-radius:50%;background:var(--dot, var(--color-brand));border:3px solid var(--color-bg);box-shadow:0 0 0 1px var(--dot, var(--color-brand));z-index:1}.timeline-item:not(:last-child):after{content:"";position:absolute;box-sizing:border-box;left:.65rem;transform:translate(-50%);top:1.15rem;bottom:-2.95rem;width:3px;background:var(--color-brand)}.timeline-year{display:inline-block;font-family:var(--font-accent);font-weight:700;font-size:.82rem;letter-spacing:.04em;color:var(--sfm-black);background:var(--soft, var(--color-brand-soft));padding:.12rem .6rem;border-radius:999px;margin-bottom:.45rem}.timeline-item h2{margin:0 0 .3rem;font-size:1.18rem;color:var(--deep, var(--color-fg))}.timeline-item p{margin:0;color:var(--color-muted);max-width:46rem}.timeline-item:nth-child(3n+1){--dot: var(--sfm-cyan-base);--soft: var(--sfm-cyan-light);--deep: var(--sfm-cyan-dark)}.timeline-item:nth-child(3n+2){--dot: var(--sfm-yellow-base);--soft: var(--sfm-yellow-light);--deep: var(--sfm-yellow-dark)}.timeline-item:nth-child(3n+3){--dot: var(--sfm-red-base);--soft: var(--sfm-red-light);--deep: var(--sfm-red-dark)}.timeline-item:nth-child(3n+1):after{background:linear-gradient(to bottom,var(--sfm-cyan-base),var(--sfm-yellow-base))}.timeline-item:nth-child(3n+2):after{background:linear-gradient(to bottom,var(--sfm-yellow-base),var(--sfm-red-base))}.timeline-item:nth-child(3n+3):after{background:linear-gradient(to bottom,var(--sfm-red-base),var(--sfm-cyan-base))}.vorstand-lead{color:var(--color-muted);font-size:1.05rem;max-width:46rem;margin-top:0}.vorstand-section{margin-top:calc(var(--space) * 2.4)}.vorstand-section-title{margin:0;font-size:1.3rem}.vorstand-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:calc(var(--space) * 1.5);margin-top:calc(var(--space) * 2)}.vorstand-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-soft);display:flex;flex-direction:column}.vorstand-card-photo{aspect-ratio:3 / 4;background:var(--color-brand-soft);overflow:hidden;display:block}.vorstand-card-photo img{width:100%;height:100%;object-fit:cover;display:block}.vorstand-card.is-logo .vorstand-card-photo{display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,var(--color-brand-soft),var(--color-surface))}.vorstand-card.is-logo .vorstand-card-photo img{width:auto;height:46%;object-fit:contain;opacity:.85}.vorstand-card-body{padding:.9rem 1.05rem 1.15rem}.vorstand-card-name{margin:0;font-size:1.15rem}.vorstand-role{display:inline-block;font-family:var(--font-accent);font-weight:700;font-size:.78rem;letter-spacing:.03em;color:var(--color-on-brand);background:var(--color-brand);padding:.1rem .55rem;border-radius:999px;margin:.4rem 0 .6rem}.vorstand-card-bio{margin:0;color:var(--color-muted);font-size:.95rem}.vorstand-contact{margin-top:calc(var(--space) * 2)}.home-announce{background:var(--color-brand-soft);border-block:3px solid var(--color-brand)}.home-announce-inner{max-width:var(--max-width);margin:0 auto;display:flex;gap:calc(var(--space) * 1.25);align-items:flex-start;padding:calc(var(--space) * 2) var(--space)}.home-announce-icon{flex:none;display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:50%;background:var(--color-brand);color:var(--color-on-brand);font-size:1.4rem;box-shadow:var(--shadow-soft)}.home-announce-body{min-width:0}.home-announce-body .eyebrow{color:var(--color-brand-strong)}.home-announce-body h2{margin:.1rem 0 .5rem}.home-announce-lead{margin:0 0 1rem;max-width:60rem}.home-announce-list{list-style:none;margin:0 0 1rem;padding:0;display:grid;gap:.6rem}.home-announce-list li{display:grid;grid-template-columns:12rem 1fr;gap:.75rem;align-items:baseline}.home-announce-list .ha-when{font-weight:700;color:var(--color-brand-strong)}.home-announce-list .ha-what{color:var(--color-fg)}.home-announce-note{margin:0;font-style:italic;color:var(--color-muted)}.subpage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:var(--space);margin-top:calc(var(--space) * 1.5)}.subpage-grid .subpage-card{display:block;text-decoration:none;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.1rem 1.25rem;box-shadow:var(--shadow-soft);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.subpage-grid .subpage-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-card);border-color:var(--color-brand)}.subpage-grid .subpage-card h3{margin:0 0 .3rem;color:var(--color-brand-strong)}.subpage-grid .subpage-card h3:after{content:" →"}.subpage-grid .subpage-card p{margin:0;max-width:none;color:var(--color-muted);font-size:.95rem}@media(max-width:40rem){.home-announce-inner{flex-direction:column}.home-announce-list li{grid-template-columns:1fr;gap:.1rem}}
