@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');

:root {
  color-scheme: light;
  --navy: #1c3568;
  --navy-deep: #14264e;
  --blue: #287eaa;
  --cyan: #43b6d4;
  --cyan-pale: #e4f5fa;
  --green: #8dbb23;
  --green-pale: #eef5d7;
  --ink: #1b2c4c;
  --muted: #67748b;
  --paper: #f7f9fc;
  --white: #fff;
  --line: #e0e6ee;
  --font-body: 'DM Sans', sans-serif;
  --font-display: 'Space Grotesk', sans-serif;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; scroll-padding-top: 88px; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--font-body); -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
img { display: block; max-width: 100%; }
.site-header { position: relative; z-index: 2; min-height: 88px; padding: 8px 7.3%; display: flex; justify-content: space-between; align-items: center; gap: 24px; background: var(--white); border-bottom: 1px solid rgba(28,53,104,.07); }
.brand { display: inline-flex; align-items: center; flex: 0 0 auto; }
.brand img { width: 110px; height: 73px; object-fit: contain; }
.site-header nav { display: flex; align-items: center; gap: clamp(20px, 3.4vw, 46px); font-size: 12px; font-weight: 700; }
.site-header nav a { transition: color .2s, opacity .2s; }
.site-header nav a:hover, .site-footer a:hover { opacity: .7; }
.nav-cta { padding: 12px 16px; border: 1px solid var(--navy); border-radius: 3px; }
.nav-cta span, .text-link span { margin-left: 7px; }
.hero { min-height: 560px; padding: 70px 7.3% 0; display: grid; grid-template-columns: 1fr .86fr; grid-template-rows: 1fr 50px; column-gap: 5%; background: var(--navy); color: var(--white); overflow: hidden; }
.hero-copy { position: relative; z-index: 1; align-self: center; padding-bottom: 34px; }
.eyebrow, .section-kicker { margin: 0; color: var(--muted); font-size: 9px; font-weight: 700; letter-spacing: .15em; }
.hero .eyebrow, .admin-heading .eyebrow { color: #bed0e6; }
.live-dot { display: inline-block; width: 7px; height: 7px; margin-right: 7px; border-radius: 50%; background: var(--green); vertical-align: 1px; }
h1, h2, h3, p { margin-top: 0; }
.hero h1, .admin-heading h1 { margin: 22px 0 17px; font: 600 clamp(52px, 6.4vw, 84px)/.98 var(--font-display); letter-spacing: -.075em; }
.hero h1 span, .join-heading h2 span { color: #b4d944; }
.hero-intro { max-width: 445px; margin-bottom: 27px; color: #d0d9ea; font-size: 13px; line-height: 1.8; }
.hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 20px; }
.button { min-height: 45px; padding: 0 17px; display: inline-flex; align-items: center; justify-content: space-between; gap: 20px; border: 0; border-radius: 3px; cursor: pointer; font-size: 11px; font-weight: 700; transition: transform .2s, background .2s; }
.button:hover { transform: translateY(-2px); }
.button-bright { background: #b4d944; color: var(--navy-deep); }
.button-dark { background: var(--navy); color: var(--white); }
.button-dark:hover { background: var(--blue); }
.button-navy { background: var(--navy); color: var(--white); }
.hero-text-link { color: #e0e8f5; font-size: 10px; font-weight: 700; }
.hero-text-link span { margin-left: 5px; color: #b4d944; }
.hero-feature { position: relative; align-self: stretch; min-height: 395px; margin-bottom: 26px; display: grid; place-items: center; overflow: hidden; background: linear-gradient(140deg, #288bb5 0%, #48bfd0 58%, #92c83b 100%); }
.feature-orbit { position: absolute; border: 1px solid rgba(255,255,255,.36); border-radius: 50%; }
.feature-orbit-one { width: 370px; height: 370px; top: 6%; left: 8%; }
.feature-orbit-two { width: 275px; height: 275px; top: 17%; left: 20%; }
.feature-logo { position: relative; z-index: 1; width: min(82%, 405px); }
.feature-logo img { width: 100%; }
.feature-caption { position: absolute; z-index: 1; bottom: 20px; left: 22px; color: var(--white); text-shadow: 0 1px 8px rgba(20,38,78,.38); }
.feature-label { color: var(--white); font-size: 8px; font-weight: 700; letter-spacing: .12em; }
.feature-caption p { margin: 5px 0 0; font: 600 12px/1.35 var(--font-display); }
.feature-ball { position: absolute; top: 13%; right: 13%; width: 27px; height: 27px; border-radius: 50%; background: var(--white); box-shadow: 0 0 0 8px rgba(255,255,255,.16), 0 8px 25px rgba(15,50,80,.2); }
.hero-bottom { grid-column: 1/-1; display: flex; justify-content: space-between; align-items: center; border-top: 1px solid rgba(255,255,255,.2); color: #c3d0e4; font-size: 8px; font-weight: 700; letter-spacing: .14em; }
.hero-bottom a { letter-spacing: .06em; }
.section-wrap { width: min(100% - 14.6%, 1160px); margin: 0 auto; }
.quick-links { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3, 1fr); margin-top: -1px; background: var(--white); box-shadow: 0 12px 35px rgba(27,44,76,.07); }
.quick-links > a { min-height: 94px; padding: 18px 20px; display: flex; align-items: center; gap: 13px; border-right: 1px solid var(--line); }
.quick-links > a:last-child { border-right: 0; }
.quick-icon { width: 35px; height: 35px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 50%; background: var(--navy); color: var(--white); font: 700 10px var(--font-display); }
.quick-icon-cyan { background: var(--cyan); }
.quick-icon-green { background: var(--green); }
.quick-links strong, .quick-links small { display: block; }
.quick-links strong { font: 600 13px var(--font-display); }
.quick-links small { margin-top: 5px; color: var(--muted); font-size: 9px; }
.quick-arrow { margin-left: auto; color: var(--blue); font-size: 14px; }
.sport-section { padding: 91px 0 88px; background: var(--white); }
.section-kicker { color: var(--muted); }
.section-kicker span { margin-right: 10px; color: var(--blue); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin: 26px 0 30px; }
.section-heading h2, .news-heading h2 { margin-bottom: 0; font: 600 clamp(36px, 4.3vw, 54px)/1.03 var(--font-display); letter-spacing: -.07em; }
.section-heading > div > p { margin: 12px 0 0; color: var(--muted); font-size: 12px; }
.section-heading .text-link { margin-bottom: 4px; }
.text-link { display: inline-block; padding-bottom: 7px; border-bottom: 1px solid var(--cyan); font-size: 10px; font-weight: 700; }
.accent-dot { color: var(--cyan); }
.sport-nav { display: flex; flex-wrap: wrap; gap: 8px; margin: 34px 0 18px; }
.sport-nav a { padding: 9px 14px; border: 1px solid var(--line); border-radius: 2px; color: var(--navy); font-size: 9px; font-weight: 700; transition: background .2s, border-color .2s; }
.sport-nav a:hover { border-color: var(--cyan); background: var(--cyan-pale); }
.sport-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.sport-card { position: relative; min-height: 225px; padding: 23px; scroll-margin-top: 95px; background: var(--paper); border: 1px solid var(--line); }
.sport-card-feature { background: #edf2fb; }
.card-index { color: var(--blue); font-size: 8px; font-weight: 700; letter-spacing: .12em; }
.card-symbol { position: absolute; top: 19px; right: 20px; width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: var(--navy); color: var(--white); font-size: 13px; }
.card-symbol-cyan { background: var(--cyan); }
.sport-card h3 { margin: 38px 0 9px; font: 600 20px var(--font-display); letter-spacing: -.04em; }
.sport-card p { max-width: 305px; margin: 0; color: var(--muted); font-size: 10px; line-height: 1.75; }
.club-life { padding-top: 90px; padding-bottom: 90px; }
.section-aside { max-width: 230px; margin: 0 0 3px; color: var(--muted); font-size: 10px; line-height: 1.7; }
.life-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 17px; margin-top: 35px; }
.life-card { position: relative; min-height: 260px; padding: 23px 25px; overflow: hidden; }
.life-card-blue { background: var(--navy); color: var(--white); }
.life-card-green { background: #e9f2ce; color: var(--navy); }
.life-number { position: relative; z-index: 1; font-size: 8px; font-weight: 700; letter-spacing: .13em; }
.life-card h3 { position: relative; z-index: 1; margin: 63px 0 9px; font: 600 25px/1.05 var(--font-display); letter-spacing: -.06em; }
.life-card > p { position: relative; z-index: 1; max-width: 295px; margin: 0; color: inherit; opacity: .78; font-size: 10px; line-height: 1.7; }
.life-graphic { position: absolute; top: 29px; right: 34px; width: 155px; height: 85px; transform: rotate(-18deg); }
.life-graphic i { position: absolute; width: 39px; height: 53px; border: 6px solid var(--cyan); border-radius: 50% 50% 45% 45%; }
.life-graphic i::after { content: ''; position: absolute; left: 11px; top: 40px; width: 5px; height: 41px; border-radius: 4px; background: var(--cyan); }
.life-graphic i:nth-child(2) { left: 55px; top: 18px; border-color: var(--green); transform: rotate(38deg); }
.life-graphic i:nth-child(2)::after { background: var(--green); }
.life-graphic i:nth-child(3) { left: 105px; top: -2px; border-color: #dfeafa; transform: rotate(25deg); }
.life-graphic i:nth-child(3)::after { background: #dfeafa; }
.photo-graphic { position: absolute; top: 25px; right: 26px; width: 163px; height: 98px; display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 5px; transform: rotate(5deg); }
.photo-graphic i { background: var(--cyan); }
.photo-graphic i:nth-child(2) { margin-top: 15px; background: var(--navy); }
.photo-graphic i:nth-child(3) { margin-top: 28px; background: #c2d97a; }
.photo-graphic b { position: absolute; right: -5px; bottom: -2px; color: rgba(28,53,104,.2); font: 700 22px var(--font-display); letter-spacing: .1em; }
.news-block { padding-top: 77px; scroll-margin-top: 90px; }
.news-heading { margin-bottom: 22px; display: flex; align-items: end; justify-content: space-between; gap: 20px; }
.news-heading h2 { margin-top: 15px; font-size: 37px; }
.news-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.news-card { min-height: 166px; padding: 20px; border: 1px solid var(--line); background: var(--white); }
.news-date { color: var(--blue); font-size: 8px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.news-card h3 { margin: 13px 0 7px; font: 600 16px/1.25 var(--font-display); letter-spacing: -.04em; }
.news-card p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.7; white-space: pre-line; }
.content-image { width: 100%; max-height: 190px; margin-bottom: 15px; object-fit: cover; }
.news-card .news-summary { margin-bottom: 9px; color: var(--ink); font-weight: 600; }
.cms-card-grid .empty-message { grid-column: 1/-1; }
.results-block { margin-top: 66px; scroll-margin-top: 90px; }
.results-block .news-heading { margin-bottom: 22px; }
.life-content { margin-top: 57px; display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.life-content > div > .section-kicker { display: block; margin-bottom: 16px; }
.life-content .empty-message { grid-column: 1/-1; }
.gallery-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.gallery-item { margin: 0; background: var(--white); }
.gallery-item img { width: 100%; height: 130px; object-fit: cover; }
.gallery-item figcaption { padding: 9px; color: var(--muted); font-size: 9px; }
.opening-hours-list { margin-top: 14px; border-top: 1px solid #d6e2b7; }
.opening-hours-row { padding: 9px 0; display: grid; grid-template-columns: 1fr auto; gap: 4px 12px; border-bottom: 1px solid #d6e2b7; font-size: 10px; }
.opening-hours-row span { text-align: right; }
.opening-hours-row small { grid-column: 1/-1; color: var(--muted); }
.public-contact { margin-top: 12px; display: grid; gap: 6px; font-size: 10px; }
.public-contact a { color: var(--blue); }
.public-contact p { margin: 0; white-space: pre-line; }
.public-cms-status { padding: 12px; color: #7a3a35; font-size: 11px; }
.empty-message { padding: 25px 0; color: var(--muted); font-size: 11px; }
.join-section { padding: 76px 0 77px; background: var(--green-pale); }
.join-heading { margin-top: 26px; display: grid; grid-template-columns: 1fr .7fr; align-items: end; gap: 8%; }
.join-heading h2 { margin: 0; font: 600 clamp(43px, 6vw, 70px)/.98 var(--font-display); letter-spacing: -.075em; }
.join-heading h2 span { color: var(--blue); }
.join-intro > p { max-width: 385px; margin: 0 0 17px; font-size: 11px; line-height: 1.8; }
.join-details { margin-top: 57px; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid #d6e2b7; }
.join-details article { padding: 20px 8% 0 0; }
.join-number { color: var(--blue); font-size: 9px; font-weight: 700; }
.join-details h3 { margin: 13px 0 7px; font: 600 14px var(--font-display); }
.join-details p { max-width: 230px; margin: 0; color: #52617b; font-size: 10px; line-height: 1.7; }
.info-note { margin: 24px 0 0; color: #52617b; font-size: 9px; }
.site-footer { min-height: 91px; padding: 12px 7.3%; display: flex; justify-content: space-between; align-items: center; gap: 15px; background: var(--white); color: var(--navy); border-top: 1px solid var(--line); }
.footer-brand { width: 93px; }
.site-footer > span { color: var(--muted); font-size: 8px; font-weight: 700; letter-spacing: .12em; }
.site-footer > a:last-child { font-size: 10px; }

/* Administration */
.admin-body { min-height: 100vh; }
.admin-main { padding-top: 64px; padding-bottom: 82px; }
.admin-heading { display: flex; justify-content: space-between; align-items: center; padding-bottom: 40px; gap: 24px; }
.admin-heading h1 { margin: 18px 0 12px; font-size: clamp(48px, 6vw, 72px); }
.admin-lede { max-width: 455px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.8; }
.admin-heading h1 span { color: var(--blue); }
.admin-logo { width: 170px; }
.storage-notice { display: flex; gap: 12px; padding: 14px 17px; background: var(--cyan-pale); color: #435973; font-size: 10px; line-height: 1.6; }
.storage-notice strong { flex: 0 0 auto; color: var(--navy); }
.admin-columns { margin-top: 26px; }
.admin-card-news { max-width: 760px; }
.admin-card { padding: 25px; background: var(--white); border: 1px solid var(--line); }
.admin-card-heading { display: flex; justify-content: space-between; align-items: center; }
.admin-icon { color: var(--blue); font-size: 20px; }
.admin-card h2 { margin: 18px 0 23px; font: 600 26px var(--font-display); letter-spacing: -.06em; }
.admin-card form { display: flex; flex-direction: column; align-items: flex-start; }
.admin-card label { margin: 0 0 7px; font-size: 10px; font-weight: 700; }
.admin-card input, .admin-card textarea { width: 100%; margin-bottom: 16px; padding: 11px 12px; border: 1px solid var(--line); border-radius: 2px; outline: none; background: #fbfcfe; color: var(--ink); font-size: 11px; }
.admin-card input:focus, .admin-card textarea:focus { border-color: var(--cyan); box-shadow: 0 0 0 2px rgba(67,182,212,.16); }
.admin-card textarea { resize: vertical; line-height: 1.6; }
.admin-card form .button { min-height: 40px; margin-top: 2px; }
.admin-list-heading { display: flex; justify-content: space-between; align-items: center; margin-top: 27px; padding: 15px 0 10px; border-top: 1px solid var(--line); }
.admin-list-heading h3 { margin: 0; font: 600 12px var(--font-display); }
.admin-list-heading > span { min-width: 21px; padding: 4px; border-radius: 20px; background: var(--cyan-pale); text-align: center; font-size: 9px; font-weight: 700; }
.admin-list-item { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 11px 0; border-top: 1px solid #eef0ec; }
.admin-list-item strong { display: block; margin-bottom: 4px; font-size: 10px; }
.admin-list-item span { display: block; color: var(--muted); font-size: 9px; }
.delete-button { flex: 0 0 auto; padding: 6px 8px; border: 1px solid var(--line); border-radius: 2px; background: transparent; color: #8a443c; cursor: pointer; font-size: 9px; font-weight: 600; }
.delete-button:hover { border-color: #8a443c; }
.admin-list .empty-message { padding: 10px 0; font-size: 10px; }
.admin-login { max-width: 610px; margin: 55px auto 75px; }
.admin-login h1 { margin: 18px 0 12px; font: 600 clamp(47px, 6vw, 68px)/.98 var(--font-display); letter-spacing: -.075em; }
.admin-login h1 span { color: var(--blue); }
.admin-login form { margin-top: 26px; display: grid; gap: 8px; }
.admin-login label, .admin-form-grid label { font-size: 10px; font-weight: 700; }
.admin-login input, .admin-form-grid input, .admin-form-grid textarea, .admin-form-grid select, .admin-item-actions select { width: 100%; margin-bottom: 9px; padding: 11px 12px; border: 1px solid var(--line); border-radius: 2px; outline: none; background: #fbfcfe; color: var(--ink); font-size: 11px; }
.admin-login input:focus, .admin-form-grid input:focus, .admin-form-grid textarea:focus, .admin-form-grid select:focus, .admin-item-actions select:focus { border-color: var(--cyan); box-shadow: 0 0 0 2px rgba(67,182,212,.16); }
.admin-login-actions { margin-top: 9px; display: flex; align-items: center; flex-wrap: wrap; gap: 17px; }
.text-button { padding: 5px 0; border: 0; background: none; color: var(--blue); cursor: pointer; font-size: 10px; font-weight: 700; text-align: left; }
.text-button:hover { text-decoration: underline; }
.admin-logout { min-height: 36px; }
.admin-feedback { min-height: 1em; margin: 8px 0 0; color: #3d7050; font-size: 10px; line-height: 1.6; }
.admin-feedback.is-error { color: #9a3c35; }
.admin-nav { position: sticky; z-index: 2; top: 0; margin: 0 0 38px; padding: 12px; display: flex; flex-wrap: wrap; gap: 7px; background: rgba(247,249,252,.97); border: 1px solid var(--line); backdrop-filter: blur(8px); }
.admin-nav a { padding: 8px 10px; color: var(--navy); font-size: 9px; font-weight: 700; }
.admin-nav a:hover { background: var(--cyan-pale); }
.admin-section { padding: 25px 0 40px; border-top: 1px solid var(--line); scroll-margin-top: 80px; }
.admin-section-heading { margin-bottom: 17px; }
.admin-section-heading h2 { margin: 11px 0 5px; font: 600 28px var(--font-display); letter-spacing: -.055em; }
.admin-section-heading > p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.7; }
.admin-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 16px; }
.admin-form-grid > div { display: grid; align-content: start; }
.admin-form-grid textarea { resize: vertical; line-height: 1.6; }
.admin-form-actions { grid-column: 1/-1; display: flex; align-items: center; flex-wrap: wrap; gap: 14px; }
.admin-form-actions .admin-feedback { flex-basis: 100%; }
.admin-checkbox { width: fit-content; margin: 4px 0 10px; display: inline-flex; align-items: center; gap: 8px; color: var(--muted); font-size: 10px; cursor: pointer; }
.admin-checkbox input { accent-color: var(--blue); }
.admin-managed-list { max-width: 900px; margin-top: 14px; }
.admin-managed-item { margin-top: 8px; padding: 12px 14px; display: flex; justify-content: space-between; align-items: center; gap: 15px; border: 1px solid var(--line); background: var(--white); }
.admin-managed-info { min-width: 0; display: flex; align-items: center; gap: 12px; }
.admin-managed-info > img { width: 55px; height: 48px; object-fit: cover; }
.admin-managed-info strong, .admin-managed-info > div > span { display: block; }
.admin-managed-info strong { margin-bottom: 3px; font-size: 11px; }
.admin-managed-info > div > span { color: var(--muted); font-size: 9px; }
.admin-managed-info .status-pill { width: fit-content; margin-top: 5px; padding: 3px 6px; border-radius: 20px; background: #f0f1f3; color: var(--muted); }
.admin-managed-info .status-pill.is-published { background: var(--green-pale); color: #4f6d12; }
.admin-item-actions { flex: 0 0 auto; display: flex; align-items: center; gap: 12px; }
.admin-item-actions .delete-button { padding: 5px 7px; }
.admin-item-actions select { width: auto; min-width: 190px; margin: 0; padding: 7px 9px; }
.admin-item-actions button:disabled, .admin-item-actions select:disabled { opacity: .55; cursor: not-allowed; }
.admin-login .storage-notice { margin-top: 24px; }
code { font-size: .95em; }

@media (max-width: 760px) {
  html { scroll-padding-top: 75px; }
  .site-header { min-height: 74px; padding: 7px 5%; gap: 10px; }
  .brand img { width: 84px; height: 56px; }
  .site-header nav { gap: 14px; font-size: 10px; }
  .site-header nav a:not(.nav-cta) { display: none; }
  .nav-cta { padding: 10px 12px; }
  .section-wrap { width: 90%; }
  .hero { min-height: 0; padding: 54px 5% 0; grid-template-columns: 1fr; grid-template-rows: auto 305px 46px; }
  .hero-copy { padding-bottom: 0; }
  .hero h1 { font-size: clamp(56px, 13vw, 76px); }
  .hero-feature { min-height: 305px; margin-top: 36px; }
  .feature-logo { width: min(82%, 320px); }
  .feature-orbit-one { width: 310px; height: 310px; }
  .feature-orbit-two { width: 230px; height: 230px; }
  .hero-bottom { font-size: 7px; }
  .quick-links { width: 90%; grid-template-columns: 1fr; }
  .quick-links > a { min-height: 75px; padding: 13px 17px; border-right: 0; border-bottom: 1px solid var(--line); }
  .quick-links > a:last-child { border-bottom: 0; }
  .sport-section, .club-life { padding-top: 66px; padding-bottom: 66px; }
  .section-heading { align-items: flex-start; flex-direction: column; gap: 18px; }
  .sport-grid { grid-template-columns: 1fr; }
  .sport-card { min-height: 185px; }
  .sport-card h3 { margin-top: 28px; }
  .section-aside { max-width: 340px; }
  .life-grid { grid-template-columns: 1fr; }
  .life-card { min-height: 245px; }
  .life-content { grid-template-columns: 1fr; }
  .gallery-grid { grid-template-columns: repeat(3, 1fr); }
  .gallery-item img { height: 100px; }
  .news-block { padding-top: 60px; }
  .news-grid { grid-template-columns: 1fr; }
  .news-card { min-height: 0; }
  .news-heading { align-items: flex-start; flex-direction: column; }
  .join-section { padding: 61px 0 63px; }
  .join-heading { grid-template-columns: 1fr; gap: 22px; }
  .join-details { margin-top: 39px; grid-template-columns: 1fr; }
  .join-details article { display: grid; grid-template-columns: 32px 1fr; padding: 15px 0; border-bottom: 1px solid #d6e2b7; }
  .join-details h3 { margin: 0 0 5px; }
  .join-details p { grid-column: 2; }
  .site-footer { padding: 15px 5%; flex-wrap: wrap; }
  .site-footer > span { display: none; }
  .admin-main { padding-top: 45px; }
  .admin-logo { width: 110px; }
  .admin-heading { align-items: flex-start; }
  .admin-form-grid { grid-template-columns: 1fr; }
  .admin-managed-item { align-items: flex-start; flex-direction: column; }
  .admin-item-actions { flex-wrap: wrap; }
}
@media (max-width: 390px) {
  .site-header nav { gap: 8px; }
  .hero-bottom span { max-width: 170px; }
  .admin-logo { display: none; }
  .admin-card { padding: 19px; }
}
