/* Hjemmebane v5: shared navigation, practical content and a stronger photographic front page. */
:root{--muted:#595959;--red-dark:#a30d25;--soft:#f6f5f3;--header-height:86px}
html{scroll-padding-top:calc(var(--header-height) + 24px)}
body{overflow-wrap:break-word}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.shell{width:min(1420px,calc(100% - 80px))}
.section{padding-block:88px}
.button{min-height:52px;border:1px solid transparent;gap:30px;cursor:pointer}
.button.red,.button.red span{color:#fff}
.button.outline{color:var(--ink);background:transparent;border-color:#a9a9a9}
.button.outline:hover{background:var(--soft)}
.underlink,.source-link{min-height:44px}
.underlink{gap:22px}
a:focus-visible,button:focus-visible,summary:focus-visible,select:focus-visible,[tabindex="0"]:focus-visible{outline:3px solid #0064a8;outline-offset:4px}
.site-header{position:sticky;top:0;width:100%;height:var(--header-height);margin:0;padding:0 40px;background:#fffffff5;backdrop-filter:blur(14px);color:var(--ink);border-bottom:1px solid var(--line);z-index:20}
.site-header .brand img{height:48px;width:48px}
.site-header nav{font-size:14px;gap:24px;margin:0}
.site-header nav a{display:flex;align-items:center;min-height:48px;padding:10px 5px;border:0;position:relative}
.site-header nav a:hover,.site-header nav a[aria-current]{color:var(--red)}
.site-header nav a[aria-current]:after{content:'';height:2px;background:var(--red);position:absolute;bottom:6px;left:5px;right:5px}
.skip{z-index:110}
/* The image reaches the edge; text keeps the same left alignment as the content. */
.home-scene{width:100%;margin:0;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:36px;padding:38px 0 28px max(40px,calc((100% - 1420px)/2));overflow:hidden}
.hero-content{min-width:0;padding-block:25px!important}
.hero-content h1{font-size:clamp(64px,6.8vw,114px)}
.hero-kicker{font-size:10px;gap:12px;margin-bottom:23px}
.hero-kicker>span:last-child{color:#595959}
.sami-title{font-size:clamp(17px,1.65vw,24px);margin-top:25px}
.hero-intro{margin-top:24px}
.hero-intro p{font-size:16px;line-height:1.7}
.hero-actions{gap:12px;margin-top:25px}
.hero-side-photo{height:100%;min-height:450px;max-height:610px;position:relative}
.hero-side-photo img{width:100%;height:100%;object-fit:cover;object-position:center;aspect-ratio:1.42}
.hero-bottom.shell{margin-right:40px;width:calc(100% - 40px);padding-top:16px;gap:18px}
.quicklinks>a{padding-block:25px}
.quicklinks .micro{font-size:9px}
.quicklinks .arrow{bottom:25px}
.quicklinks>a:hover strong{color:var(--red)}
.section-intro{grid-template-columns:1fr 2fr 1fr;gap:24px;margin-bottom:38px}
/* Separate direct links below each whole-card link keep keyboard/touch navigation simple. */
.activity-grid{grid-template-columns:1.18fr 1fr 1fr;grid-template-rows:310px 310px;gap:20px}
.activity-item{min-width:0;display:flex;flex-direction:column;overflow:hidden;background:var(--soft)}
.activity-item>.activity-card{flex:1;grid-area:auto;min-height:0;padding:25px}
.activity-item.football{grid-column:1;grid-row:1/span 2}
.activity-item.children{grid-column:2;grid-row:1}
.activity-item.disc{grid-column:3;grid-row:1/span 2}
.activity-item.strength{grid-column:2;grid-row:2}
.activity-card:hover{transform:none}
.activity-card:after{background:linear-gradient(0deg,#101410ed 0%,#10141090 32%,transparent 70%,#10141066 100%)}
.activity-card h3{font-size:36px}
.activity-card.football h3{font-size:48px}
.activity-card .card-bottom p{color:#fff}
.activity-card.children:after,.activity-card.strength:after{display:none}
.activity-card.children{background:var(--red)}
.activity-card.strength{background:#181818}
.play-art{width:150px;right:0;top:25px}
.strength-art{width:220px;top:15px;right:-45px}
.activity-practical{padding:16px 20px 10px;border:1px solid var(--line);border-top:0;background:#fff;color:var(--ink)}
.activity-practical p{font-size:13px;line-height:1.5;min-height:39px}
.activity-practical>div{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
.activity-practical a{display:inline-flex;align-items:center;gap:9px;font-size:12px;font-weight:700;min-height:44px}
.activity-practical a:hover{color:var(--red);text-decoration:underline}
.activity-practical a span[aria-hidden]{color:var(--red)}
.football-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:32px}
.football-heading h2 em{color:var(--red)}
.match-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.team-summary{min-width:0;border:1px solid var(--line);padding:28px;background:#fff}
.team-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:24px}
.team-heading h3{font-size:32px;white-space:nowrap}
.team-heading h3 span{color:var(--red);font-size:23px}
.team-heading>span{font-size:12px;line-height:1.5;color:var(--muted);text-align:right}
.next-match{min-height:122px;padding-top:14px}
.match-time{display:block;color:var(--red-dark);font-size:15px;font-weight:700}
.match-teams{font-size:24px;letter-spacing:-.03em;line-height:1.25;margin:12px 0}
.match-place,.source-message{font-size:14px;line-height:1.6;color:var(--muted)}
.source-link{display:inline-flex;align-items:center;font-size:12px;text-decoration:underline;text-underline-offset:4px;color:var(--muted)}
.team-summary .standings-wrap{min-height:174px;margin:20px 0 8px}
.standings-wrap>p{background:var(--soft);font-size:14px}
.standings th,.standings td{padding:13px 10px}
.standings td:nth-child(2){white-space:normal;line-height:1.4}
.standings{font-size:13px}
.table-links{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}
/* A compact invitation remains useful without third-party content. The full feed is opt-in. */
.club-now{padding-block:34px;gap:25px}
.club-now h2{font-size:42px}
.facebook-area{overflow:visible}
.facebook-area #facebook-gate{display:grid;grid-template-columns:1.2fr 1fr;border:1px solid var(--line);padding:0;background:var(--soft)}
#facebook-gate>div{padding:32px}
#facebook-gate>img{width:100%;height:100%;max-height:320px;object-fit:cover;object-position:center}
.facebook-area h3{font-size:32px;line-height:1.1;margin:12px 0 16px}
.facebook-area p{max-width:480px}
.facebook-area button{margin-top:22px}
.facebook-expand{border:1px solid var(--line);background:#fff}
.facebook-expand summary{display:flex;align-items:center;justify-content:space-between;padding:23px 26px;min-height:70px;font-size:17px;font-weight:700;cursor:pointer;list-style:none}
.facebook-expand summary::-webkit-details-marker{display:none}
.facebook-expand summary span{font-size:25px;font-weight:400;color:var(--red)}
.facebook-expand[open] summary span{transform:rotate(45deg)}
.facebook-scroll{max-height:550px;overflow:auto;padding:12px 20px;overscroll-behavior:contain}
.facebook-expand>.underlink{margin:16px 26px 24px}
.community-heading{margin-bottom:35px}
.community-layout{gap:55px;grid-template-columns:1.4fr 1fr}
.community-photo img{height:auto;aspect-ratio:1.3;object-position:center}
.sponsor-title>p{font-size:clamp(30px,3vw,45px)}
.join,.join .eyebrow,.join h2{color:#fff}
.join .button,.join .button span{color:var(--ink)}
.footer-links{gap:12px 25px;padding:14px 0;flex-wrap:wrap}
.footer-links a,.footer-links button{min-height:44px;display:inline-flex;align-items:center}
.footer-top a{min-height:32px;overflow-wrap:anywhere}
/* Shared page layout, so every destination still feels like the same club. */
.page-top{padding-block:42px 38px}
.back-link{display:inline-flex;min-height:44px;align-items:center;font-size:13px;color:var(--muted);margin-bottom:26px}
.page-top .eyebrow{margin-bottom:18px}
.page-top h1{font-size:clamp(44px,5.5vw,78px);letter-spacing:-.055em;max-width:950px}
.page-lead{font-size:18px;line-height:1.65;max-width:780px;color:var(--muted);margin-top:22px}
.section-nav{display:flex;gap:8px 28px;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:8px}
.section-nav a{min-height:44px;display:flex;align-items:center;font-size:14px}
.section-nav a:hover,.section-nav a[aria-current]{color:var(--red);text-decoration:underline;text-underline-offset:7px}
.page-main{padding-block:42px 75px;max-width:1080px}
.page-main .content-body{max-width:800px;margin-inline:auto}
.page-main h2{font-size:32px;line-height:1.15;margin:35px 0 18px}
.page-main h3{font-size:25px;line-height:1.2;margin:24px 0 14px}
.page-main p,.page-main li{font-size:16px;line-height:1.8}
.page-main p{margin-block:16px}
.page-main li{margin-block:8px}
.page-main ul,.page-main ol{padding-left:23px}
.page-main p a,.page-main li a{color:var(--red-dark);text-decoration:underline;text-underline-offset:3px}
.page-main .info-box{padding:22px 26px;background:var(--soft);border-left:3px solid var(--red);margin-block:25px}
.page-photo{margin-block:30px}
.page-photo img{width:100%;height:auto;max-height:550px;object-fit:cover}
.practical-panel{background:var(--soft);border-top:3px solid var(--red);padding:28px;margin-bottom:40px}
.practical-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}
.practical-facts span{display:block;font-size:10px;letter-spacing:.1em;font-weight:700;color:var(--muted);margin-bottom:10px}
.practical-facts strong{font-size:17px;line-height:1.5;font-weight:600}
.practical-panel>p{font-size:14px;color:var(--muted)}
.practical-actions{display:flex;gap:20px;flex-wrap:wrap;align-items:center;margin-top:20px}
.team-grid,.board-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-block:25px}
.team-card,.board-card{border:1px solid var(--line);padding:25px}
.team-card:hover{border-color:var(--red)}
.team-card .team-tag,.board-role{font-size:12px;color:var(--red-dark)}
.team-card .read-more{color:var(--red-dark);font-size:14px;font-weight:700}
.gallery-grid{columns:3;column-gap:20px}
.gallery-grid figure{break-inside:avoid;margin-bottom:25px}
.gallery-grid img{width:100%;height:auto}
.gallery-grid figcaption{font-size:13px;line-height:1.6;margin-top:10px}
.table-scroll{max-width:100%;overflow-x:auto;margin-block:24px}
.page-main table{width:100%;border-collapse:collapse;font-size:14px}
.page-main table th,.page-main table td{padding:14px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;line-height:1.5}
.page-main table th{background:var(--ink);color:#fff}
.page-main table .group{background:var(--soft);font-weight:700}
.page-main .matrix{min-width:750px}
.full-table+.full-table{margin-top:55px}
.full-table .standings-wrap{margin:22px 0;overflow:auto}
.full-table .standings{min-width:620px}
.full-table h2{color:var(--red)}
.source-note{font-size:13px!important;line-height:1.7;color:var(--muted)}
.privacy-document{margin:0 auto;padding:0;max-width:800px}
/* Training is static HTML first. Filters only hide rows, so it works without JS too. */
.training-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;background:var(--soft);padding:25px;margin-bottom:20px}
.training-filters label{font-size:13px;font-weight:700}
.training-filters select{display:block;width:100%;min-height:48px;margin-top:10px;padding:10px 30px 10px 12px;border:1px solid #aaa;background:#fff;color:var(--ink);font:inherit;font-weight:400;border-radius:0}
.training-filters button{min-height:44px;border:0;background:none;font:inherit;cursor:pointer;text-decoration:underline;grid-column:1/-1;justify-self:start;font-size:13px}
.training-meta{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:20px 0 30px}
.training-meta p{font-size:13px;color:var(--muted);margin:0}
.training-meta a{min-height:44px;display:flex;align-items:center;font-size:13px;text-decoration:underline}
.training-day{margin:35px 0}
.training-day h2{font-size:26px;color:var(--red-dark);border-bottom:2px solid var(--ink);padding-bottom:14px;margin:0}
.training-row{display:grid;grid-template-columns:160px 1.2fr 1fr;gap:22px;align-items:start;padding:22px 0;border-bottom:1px solid var(--line)}
.training-time{font-size:18px;font-weight:700;line-height:1.6}
.training-row h3{font-size:21px;margin:0;line-height:1.5;letter-spacing:-.025em}
.training-row p{font-size:13px;line-height:1.6;color:var(--muted);margin:3px 0 0}
.training-row .training-place{font-size:15px;color:var(--ink);margin:0}
.training-empty{border:1px solid var(--line);padding:28px;background:var(--soft)}
@media(max-width:1100px){
 .home-scene{padding-left:32px;gap:25px}.shell{width:calc(100% - 64px)}
 .hero-side-photo{min-height:370px}.hero-content h1{font-size:clamp(62px,7.6vw,86px)}
 .section-intro{grid-template-columns:1fr 2fr}.section-intro>.underlink{grid-column:2;justify-self:start}
 .activity-grid{grid-template-columns:1fr 1fr;grid-template-rows:450px 340px}
 .activity-item.football{grid-area:1/1}.activity-item.disc{grid-area:1/2}.activity-item.children{grid-area:2/1}.activity-item.strength{grid-area:2/2}
 .team-summary{padding:22px}.team-heading{align-items:start;flex-direction:column;gap:8px}.team-heading>span{text-align:left}
 .community-layout{gap:35px}.training-filters{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
 :root{--header-height:108px}
 .shell{width:calc(100% - 36px)}.section{padding-block:52px}
 .site-header{padding:10px 18px 0;gap:0;align-content:start;height:var(--header-height);width:100%;flex-wrap:wrap}
 .site-header .brand img{width:36px;height:36px}.brand small{font-size:9px}.site-header .brand{gap:10px;min-height:46px}
 .site-header nav{width:100%;font-size:13px;gap:8px;justify-content:space-between;margin:0}
 .site-header nav a{min-height:48px;padding:9px 0}
 .home-scene{display:flex;flex-direction:column;width:100%;padding:24px 18px 20px;gap:20px;min-height:0}
 .hero-content{padding:0!important}.hero-kicker{font-size:9px;margin-bottom:18px}
 .hero-content h1{font-size:clamp(58px,15.8vw,106px)}.sami-title{font-size:17px;margin-top:18px}
 .hero-intro{margin-top:18px}.hero-intro p{font-size:14px}
 .hero-actions{display:grid;grid-template-columns:1.3fr 1fr;gap:10px;margin-top:20px}
 .hero-actions .button{min-height:50px;padding:13px 12px;font-size:12px;gap:10px}
 .hero-actions .button span{font-size:19px}
 .hero-side-photo{min-height:0;height:auto;max-height:none;margin:0 -18px}
 .hero-side-photo img{aspect-ratio:1.75;height:auto;width:100%;object-fit:cover}
 .hero-bottom.shell{width:100%;margin:0;padding-top:14px}.scroll-link{min-height:36px}
 .quicklinks{grid-template-columns:1fr}.quicklinks>a,.quicklinks>a+a{padding:15px 0}
 .quicklinks strong{font-size:17px;margin-top:4px}.quicklinks .micro{font-size:8px}.quicklinks .arrow{bottom:20px}
 .section-intro{display:block;margin-bottom:24px}.section-intro>.underlink{margin-top:15px}
 h2{font-size:38px}.eyebrow{font-size:10px}
 .activity-grid{display:flex;flex-direction:column;gap:18px}
 .activity-item>.activity-card{min-height:210px;flex:auto;padding:22px}
 .activity-item.football>.activity-card,.activity-item.disc>.activity-card{min-height:280px}
 .activity-item .activity-card h3{font-size:36px}.card-bottom h3{margin-top:8px}.card-bottom p{margin-top:8px}
 .activity-practical{padding:13px 18px 7px}.activity-practical p{min-height:0;font-size:13px}.activity-practical a{font-size:12px}
 .football-heading{align-items:start;gap:16px;flex-wrap:wrap}.football-heading h2{font-size:40px}.football-heading .eyebrow{margin-bottom:14px}
 .match-grid{grid-template-columns:1fr;gap:20px}.team-summary{padding:20px 16px}
 .team-heading{flex-direction:row;align-items:center}.team-heading h3{font-size:28px}.team-heading>span{max-width:140px;text-align:right}
 .standings{font-size:12px}.standings th,.standings td{padding:12px 6px}
 .standings th:nth-child(2),.standings td:nth-child(2){width:55%}.standings th{font-size:11px}
 .team-summary .standings-wrap{min-height:164px}.next-match{min-height:112px}.match-teams{font-size:23px}
 .table-links .underlink{font-size:12px}.source-link{font-size:11px}
 .club-now>.button{margin-top:18px}.club-now h2{font-size:36px}
 .facebook-area{margin-top:24px}.facebook-area #facebook-gate{grid-template-columns:1fr}
 #facebook-gate>div{padding:25px}#facebook-gate>img{height:170px;max-height:170px;object-position:center 65%}
 .facebook-area h3{font-size:30px}.facebook-area button{font-size:12px;gap:18px;padding:14px}
 .facebook-expand summary{padding:18px;font-size:15px}.facebook-scroll{max-height:440px;padding:8px}
 .community-layout{grid-template-columns:1fr;gap:26px}.community-heading{display:block}.community-heading h2{width:auto}
 .community-photo img{aspect-ratio:1.25}.community-copy .lead{font-size:22px}
 .sponsor-title>p{font-size:32px}.sponsor-main{padding:25px}.sponsor-main img{max-width:100%}
 .sponsor-other img{max-width:100%}.join{padding:30px 0}.join h2{font-size:34px}
 .footer-top>div{font-size:12px}.footer-top>div:first-of-type{grid-column:1/-1}.footer-links{font-size:12px;gap:5px 20px}
 .page-top{padding-block:20px 28px}.back-link{margin-bottom:18px}.page-top h1{font-size:43px}.page-lead{font-size:16px;line-height:1.6;margin-top:18px}
 .section-nav{gap:5px 22px}.section-nav a{font-size:13px}.page-main{padding-block:26px 48px}
 .page-main h2{font-size:29px}.page-main p,.page-main li{font-size:15px}
 .practical-panel{padding:22px 18px}.practical-facts{grid-template-columns:1fr;gap:20px}.practical-facts>div{display:grid;grid-template-columns:85px 1fr;gap:12px}
 .practical-facts span{margin:4px 0}.practical-facts strong{font-size:15px}.practical-actions{gap:10px 20px}
 .team-grid,.board-grid{grid-template-columns:1fr}.gallery-grid{columns:1}
 .training-filters{padding:18px 15px;gap:16px 12px}.training-filters label{font-size:12px}.training-filters select{font-size:13px;padding-left:8px}
 .training-meta{align-items:start;flex-wrap:wrap;gap:10px;margin-bottom:24px}.training-meta p{font-size:12px}
 .training-row{grid-template-columns:90px 1fr;gap:5px 17px;padding:18px 0}.training-time{font-size:15px}.training-row h3{font-size:18px}
 .training-row>div:last-child{grid-column:2}.training-row .training-place{font-size:13px}.training-day h2{font-size:25px}
 .full-table .standings{min-width:580px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.facebook-expand summary span{transform:none}}
@media print{.site-header,.training-filters,.section-nav,footer,.back-link,.practical-actions{display:none}.shell{width:100%}.training-row{break-inside:avoid}.page-main{padding:0}.page-top{padding-top:0}}
/* Supporting club pages retain their original information in the same visual system. */
.person-grid,.two-col,.why-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:28px 0}
.person-card,.panel,.why-card{padding:24px;border:1px solid var(--line)}
.person-card h3,.panel h3,.why-card h3{margin-top:0}
.person-card .role{font-size:14px;line-height:1.6;color:var(--red-dark);margin-bottom:12px}
.person-card a{font-size:14px;line-height:1.6;display:inline-flex;min-height:34px;align-items:center;overflow-wrap:anywhere;text-decoration:underline}
.panel.dark{background:#161616;color:white}.panel.dark .est{color:#ddd}
.stat-band{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);margin-block:30px}
.stat-cell{padding:22px 15px;text-align:center;border-right:1px solid var(--line)}
.stat-cell:last-child{border:0}.stat-num{font-family:Anton,Impact,sans-serif;font-size:38px;color:var(--red);margin-bottom:12px}
.stat-label{font-size:12px;line-height:1.5;color:var(--muted)}
.partner-list{border:1px solid var(--line);margin-block:28px}
.partner-row{display:grid;grid-template-columns:220px 1fr;align-items:center;gap:25px;padding:25px;border-bottom:1px solid var(--line)}
.partner-row:last-child{border:0}.partner-logo img{max-width:190px;width:100%;height:65px;object-fit:contain}
.partner-meta strong{display:block;font-size:12px;color:var(--red-dark);line-height:1.6;margin-bottom:8px}.partner-meta span{font-size:14px;line-height:1.6;color:var(--muted)}
.tier-top,.tier-bot{display:block}.matrix .no{font-size:12px;color:#595959}.matrix .yes{color:var(--red-dark);font-weight:bold}
.cta-box{padding:28px;background:var(--soft);margin-top:35px;border-top:3px solid var(--red)}
.cta-contact{font-size:15px;line-height:1.8}.cta-contact strong{display:block}.cta-contact a{text-decoration:underline}
.page-main .btn{display:inline-flex;align-items:center;min-height:48px;background:var(--red);color:white;padding:13px 20px;font-size:14px;margin-block:12px}
@media(max-width:700px){.person-grid,.two-col,.why-grid{grid-template-columns:1fr}.stat-band{grid-template-columns:1fr 1fr}.stat-cell{border-bottom:1px solid var(--line)}.partner-row{grid-template-columns:1fr;gap:20px;padding:22px}.person-card,.panel,.why-card{padding:20px}}
