:root {
  --bg: #080808;
  --bg-2: #111111;
  --surface: #171717;
  --surface-2: #222222;
  --text: #f8f8f8;
  --muted: #c9c9c9;
  --line: rgba(255, 255, 255, .18);
  --red: #d20a17;
  --red-2: #f23440;
  --focus: #ffffff;
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; overflow-x: hidden; }
body {
  margin: 0;
  font-family: Inter, Arial, sans-serif;
  background: var(--bg);
  color: var(--text);
  overflow-x: hidden;
}
body.contrast { --bg: #000; --surface: #000; --surface-2: #101010; --muted: #fff; --line: #fff; --red: #ff1d2d; }
body.reduce-motion * { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
@media (prefers-reduced-motion: reduce) { * { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }
a { color: inherit; text-decoration: none; }
img, video { display: block; max-width: 100%; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
.container { width: calc(100% - 32px); max-width: 1180px; margin-inline: auto; }
.skip-link { position: absolute; top: -60px; left: 16px; z-index: 1000; background: #fff; color: #000; padding: 10px 14px; border-radius: 6px; }
.skip-link:focus { top: 12px; }
.site-header { position: sticky; top: 0; z-index: 50; background: rgba(8, 8, 8, .88); border-bottom: 1px solid var(--line); backdrop-filter: blur(14px); }
.header-inner { min-height: 86px; display: flex; align-items: center; gap: 18px; }
.brand { display: flex; align-items: center; gap: 12px; min-width: 230px; }
.brand img { width: 58px; height: 58px; object-fit: contain; background: #fff; border-radius: 8px; padding: 5px; }
.brand span { display: grid; gap: 3px; }
.brand strong { font-family: Oswald, Impact, sans-serif; font-size: 1.25rem; }
.brand small { color: var(--muted); }
.brand .brand-academy-badge {
  width: 34px;
  height: 34px;
  object-fit: contain;
  background: transparent;
  border-radius: 0;
  padding: 0;
  margin-top: 2px;
}
.academy-page-hero .hero-content {
  position: relative;
}
.academy-hero-badge {
  position: absolute;
  right: clamp(72px, 8vw, 130px);
  left: auto;
  top: 48px;
  width: clamp(170px, 15vw, 220px);
  height: clamp(170px, 15vw, 220px);
  object-fit: contain;
  filter: drop-shadow(0 10px 16px rgba(0, 0, 0, .4));
  z-index: 2;
  pointer-events: none;
}
.primary-nav { display: flex; gap: 6px; align-items: center; margin-left: auto; }
.primary-nav a { color: var(--muted); padding: 10px 11px; border-radius: 6px; font-weight: 700; }
.primary-nav a:hover, .primary-nav a[aria-current="page"] { color: #fff; background: var(--surface-2); }
.header-actions { display: flex; gap: 8px; }
.language-toggle, .nav-toggle, .button, .text-link { border: 1px solid var(--line); border-radius: 8px; color: #fff; background: var(--surface); font-weight: 800; }
.language-toggle, .nav-toggle { min-height: 44px; padding: 0 14px; }
.nav-toggle { display: none; }
.button { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; padding: 0 18px; }
.button.primary { background: var(--red); border-color: var(--red); }
.text-link { display: inline-flex; padding: 10px 12px; background: transparent; color: #fff; }
.home-hero { min-height: calc(100vh - 86px); position: relative; display: grid; align-items: center; overflow: hidden; border-bottom: 1px solid var(--line); }
.hero-video, .hero-shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero-video { object-fit: cover; filter: grayscale(1) brightness(.42) contrast(1.08); }
.hero-shade { background: linear-gradient(90deg, rgba(0,0,0,.94), rgba(0,0,0,.62) 48%, rgba(0,0,0,.82)), linear-gradient(135deg, rgba(210,10,23,.44), transparent 38%); }
.home-hero-content { position: relative; z-index: 2; padding: 72px 0; max-width: 780px; margin-inline: auto; text-align: center; }
.eyebrow { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 14px; color: #fff; font-weight: 800; text-transform: uppercase; font-size: .85rem; }
.eyebrow::before { content: ""; width: 10px; height: 10px; background: var(--red); border-radius: 50%; }
h1, h2, h3 { font-family: Oswald, Impact, sans-serif; margin: 0 0 12px; line-height: 1.05; text-transform: uppercase; }
h1, h2, h3, p, a, button, span { overflow-wrap: break-word; }
h1 { font-size: 4.7rem; }
h2 { font-size: 2.55rem; }
h3 { font-size: 1.35rem; }
p { color: var(--muted); line-height: 1.75; }
.home-hero p:not(.eyebrow), .page-hero p:not(.eyebrow) { font-size: 1.12rem; max-width: 780px; }
.hero-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 24px; }
.page-hero { min-height: 360px; display: grid; align-items: end; position: relative; background: linear-gradient(180deg, rgba(0,0,0,.1), rgba(0,0,0,.85)), var(--hero-image, url('../images/davourlis-watermark.png')) center/cover no-repeat; border-bottom: 1px solid var(--line); }
.page-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(120deg, rgba(210,10,23,.35), transparent 42%); }
.hero-content { position: relative; z-index: 1; padding: 96px 0 42px; }
.section { padding: 56px 0; }
.stats-section { padding-top: 28px; }
.stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.stats-grid article, .card, .table-card, .history-panel { border: 1px solid var(--line); background: var(--surface); border-radius: 8px; padding: 20px; }
.stats-grid strong { display: block; color: #fff; font-family: Oswald, Impact, sans-serif; font-size: 2.4rem; }
.stats-grid span { color: var(--muted); }
.split { display: grid; grid-template-columns: .95fr 1.05fr; gap: 28px; align-items: center; }
.feature-split img { width: 100%; min-height: 420px; object-fit: cover; border-radius: 8px; filter: grayscale(1) contrast(1.08); }
.card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.small-cards { grid-template-columns: repeat(6, 1fr); }
.image-card { position: relative; min-height: 220px; display: grid; align-content: end; overflow: hidden; border-radius: 8px; border: 1px solid var(--line); padding: 14px; background: #111; }
.image-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: grayscale(.45) brightness(.62); transition: transform .25s ease; }
.image-card:hover img { transform: scale(1.04); }
.image-card span, .image-card small { position: relative; z-index: 1; font-weight: 900; text-shadow: 0 2px 14px #000; }
.image-card small { color: #fff; }
.logo-marquee { overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.logo-marquee div { display: flex; width: max-content; gap: 14px; padding: 14px; animation: roll 28s linear infinite; }
.logo-marquee a { display: grid; place-items: center; width: 190px; height: 110px; }
.logo-marquee img { max-width: 150px; max-height: 80px; object-fit: contain; }
@keyframes roll { to { transform: translateX(-50%); } }
.article-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 26px; align-items: start; }
.longform { font-size: 1.06rem; }
.longform p { margin: 0 0 20px; }
.longform figure { display: none; }
figure { margin: 0 0 18px; }
figure img { width: 100%; border-radius: 8px; border: 1px solid var(--line); filter: grayscale(.2); }
figcaption { color: var(--muted); font-size: .92rem; padding-top: 8px; }
.academy-shell { display: grid; gap: 20px; }
.tabs { display: flex; flex-wrap: wrap; gap: 8px; }
.tab { min-height: 44px; border-radius: 8px; border: 1px solid var(--line); background: var(--surface); color: #fff; padding: 0 14px; font-weight: 800; }
.tab { flex-shrink: 0; white-space: nowrap; }
.tab[aria-selected="true"] { background: var(--red); border-color: var(--red); }
.team-detail { display: grid; grid-template-columns: .9fr 1.1fr; gap: 18px; }
.team-photo { width: 100%; height: 100%; min-height: 420px; object-fit: cover; border-radius: 8px; border: 1px solid var(--line); }
.team-copy, .table-card { background: var(--surface); border: 1px solid var(--line); border-radius: 8px; padding: 20px; }
.coach-strip { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin-top: 18px; }
.coach-strip article { display: grid; gap: 6px; border: 1px solid var(--line); border-radius: 8px; padding: 10px; background: var(--surface-2); }
.coach-strip img, .coach-card img { width: 100%; height: 170px; object-fit: cover; border-radius: 8px; }
.coach-strip small, .tag-list span { color: var(--muted); }
.table-card { grid-column: span 1; }
.table-scroll { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; min-width: 560px; }
th, td { text-align: left; padding: 12px 8px; border-bottom: 1px solid var(--line); vertical-align: top; }
th { color: #fff; }
.match-list { list-style: none; display: grid; gap: 10px; padding: 0; margin: 0; }
.match-list li { display: grid; grid-template-columns: 150px 1fr auto; gap: 12px; border-bottom: 1px solid var(--line); padding: 10px 0; }
.avatar { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 8px; background: var(--red); font-weight: 900; }
.avatar.large { width: 100%; height: 170px; font-size: 2rem; }
.tag-list { display: flex; flex-wrap: wrap; gap: 6px; }
.tag-list span { border: 1px solid var(--line); border-radius: 999px; padding: 6px 9px; }
.logo-card img { height: 78px; object-fit: contain; margin-bottom: 12px; background: #fff; border-radius: 8px; padding: 8px; }
.history-panel summary { cursor: pointer; color: #fff; font-family: Oswald, Impact, sans-serif; font-size: 1.6rem; text-transform: uppercase; }
.facility-grid, .news-grid, .partner-list { display: grid; gap: 18px; }
.facility-card, .news-card, .partner-card { display: grid; grid-template-columns: .8fr 1.2fr; gap: 18px; border: 1px solid var(--line); border-radius: 8px; overflow: hidden; background: var(--surface); }
.facility-card img, .news-card img { width: 100%; height: 100%; min-height: 260px; object-fit: cover; }
.facility-card div, .news-card div, .partner-card div:last-child { padding: 22px; }
.partner-anchors { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; }
.partner-anchors a { display: grid; gap: 8px; place-items: center; text-align: center; background: #fff; color: #111; padding: 14px; min-height: 130px; border-radius: 8px; font-weight: 800; }
.partner-anchors img { max-width: 100px; max-height: 58px; object-fit: contain; }
.collab-visual { min-height: 240px; display: flex; flex-wrap: wrap; gap: 26px; align-items: center; justify-content: center; border: 1px solid var(--line); border-radius: 8px; background: linear-gradient(135deg, #191919, #050505); text-align: center; }
.collab-visual img { width: 140px; max-height: 140px; object-fit: contain; background: #fff; border-radius: 8px; padding: 10px; }
.collab-visual strong { font-size: 3rem; color: var(--red); }
.collab-visual p { width: 100%; margin: 0; }
.partner-card { grid-template-columns: 240px 1fr; scroll-margin-top: 110px; }
.partner-logo { display: grid; place-items: center; background: #fff; padding: 20px; }
.partner-logo img { max-width: 170px; max-height: 150px; object-fit: contain; }
.contact-section { background: var(--bg-2); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.contact-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 20px; align-items: stretch; }
.contact-grid iframe { width: 100%; min-height: 360px; border: 0; border-radius: 8px; }
.socials { display: flex; flex-wrap: wrap; gap: 8px; }
.socials a { border: 1px solid var(--line); border-radius: 8px; padding: 9px 11px; color: #fff; }
.footer { padding: 38px 0; background: #050505; border-top: 1px solid var(--line); }
.footer-grid { display: grid; grid-template-columns: 1.2fr .9fr .9fr; gap: 22px; }
.footer-logo { background: #fff; border-radius: 8px; padding: 6px; object-fit: contain; }
.a11y-widget { position: fixed; right: 16px; bottom: 16px; z-index: 80; display: grid; justify-items: end; gap: 8px; }
.a11y-main { border: 1px solid var(--line); border-radius: 8px; background: #fff; color: #111; padding: 12px; font-weight: 900; }
.a11y-panel { width: 220px; display: grid; gap: 6px; padding: 10px; border-radius: 8px; background: #fff; color: #111; box-shadow: 0 20px 50px rgba(0,0,0,.45); }
.a11y-panel button { min-height: 42px; border-radius: 8px; border: 1px solid #ccc; background: #f7f7f7; color: #111; font-weight: 800; }
.overlay { position: fixed; inset: 0; z-index: 90; display: grid; place-items: center; padding: 18px; background: rgba(0,0,0,.82); }
.overlay article { width: min(760px, 100%); max-height: calc(100vh - 36px); overflow: auto; background: var(--surface); border: 1px solid var(--line); border-radius: 8px; padding: 18px; }
.overlay img { width: 100%; max-height: 360px; object-fit: cover; border-radius: 8px; }
.close { float: right; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: #111; padding: 8px 10px; font-weight: 900; }
@media (max-width: 1100px) { .small-cards, .partner-anchors { grid-template-columns: repeat(3, 1fr); } .card-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 860px) {
  h1 { font-size: 2rem; } h2 { font-size: 1.85rem; }
  .header-inner { flex-wrap: wrap; }
  .brand { min-width: auto; }
  .nav-toggle { display: inline-flex; align-items: center; }
  .primary-nav { display: none; width: 100%; flex-direction: column; align-items: stretch; margin-left: 0; }
  .primary-nav.open { display: flex; }
  .primary-nav a { padding: 13px; }
  .header-actions { margin-left: auto; }
  .tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tab { width: 100%; min-width: 0; white-space: normal; }
  .stats-grid, .split, .article-layout, .team-detail, .contact-grid, .footer-grid, .facility-card, .news-card, .partner-card { grid-template-columns: 1fr; }
  .team-photo { min-height: 280px; }
  .table-card { grid-column: auto; }
  .match-list li { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .small-cards, .partner-anchors, .card-grid, .coach-strip { grid-template-columns: 1fr; }
  .home-hero { min-height: 680px; }
}

/* v2 comments */
.brand img, .footer-logo { background: transparent; padding: 0; }
.hero-slides { position: absolute; inset: 0; width: 100%; height: 100%; overflow: hidden; }
.hero-slides img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: grayscale(.18) brightness(.52) contrast(1.08); opacity: 0; animation: heroFade 15s ease-in-out infinite; animation-delay: calc(var(--slide) * 5s); }
@keyframes heroFade { 0%, 28% { opacity: 1; transform: scale(1.02); } 34%, 100% { opacity: 0; transform: scale(1.08); } }
.feature-split img { min-height: 0; max-height: 320px; filter: grayscale(.12) contrast(1.08); }
.page-hero::before { content: ""; position: absolute; inset: 0; backdrop-filter: blur(2px); }
.container--wide { max-width: 1360px; }
.section--compact { padding: 24px 0 0; }
.subnav { display: flex; flex-wrap: wrap; gap: 10px; }
.subnav a { border: 1px solid var(--line); border-radius: 8px; padding: 10px 12px; font-weight: 900; background: var(--surface); }
.coach-carousel { position: relative; min-height: 270px; display: block; overflow: hidden; }
.coach-carousel article { position: absolute; inset: 0; opacity: 0; animation: coachSlide 15s ease-in-out infinite; animation-delay: calc(var(--coach) * 5s); }
.coach-carousel article:first-child:last-child { position: relative; opacity: 1; animation: none; }
@keyframes coachSlide { 0%, 28% { opacity: 1; transform: translateX(0); } 34%, 100% { opacity: 0; transform: translateX(-18px); } }
.match-list li { grid-template-columns: 140px 1fr 90px minmax(150px, .8fr); }
.match-list small { color: var(--muted); line-height: 1.5; }
.news-rail { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(240px, 1fr); gap: 14px; overflow: hidden; }
.news-rail article { border: 1px solid var(--line); border-radius: 8px; background: var(--surface); padding: 12px; animation: softPulse 6s ease-in-out infinite alternate; }
.news-rail img { height: 130px; width: 100%; object-fit: cover; border-radius: 8px; filter: grayscale(.2); }
.news-rail h3 { font-size: 1.05rem; }
@keyframes softPulse { to { transform: translateY(-4px); border-color: rgba(255,255,255,.36); } }
.bottom-memory { display: grid; place-items: center; padding: 18px 0 48px; overflow: hidden; }
.bottom-memory img { width: min(520px, 78vw); filter: blur(1px) grayscale(.2) brightness(.7); opacity: .7; border-radius: 8px; }
.partner-logo, .collab-visual img, .logo-card img { background: transparent; }
.partner-roll { overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); display: flex; width: 100%; }
.partner-roll a { flex: 0 0 240px; min-height: 132px; display: grid; place-items: center; gap: 8px; color: #fff; text-align: center; padding: 14px; font-weight: 900; animation: partnerRoll 22s linear infinite; }
.partner-roll img { max-width: 130px; max-height: 70px; object-fit: contain; }
@keyframes partnerRoll { to { transform: translateX(-960px); } }
details summary { cursor: pointer; color: #fff; font-weight: 900; }
.socials a::before { content: "●"; color: var(--red); margin-right: 6px; }
@media (max-width: 860px) {
  .match-list li { grid-template-columns: 1fr; }
}

/* v3 final corrections */
.brand img, .footer-logo { background: transparent; padding: 0; border-radius: 0; }
.site-header { background: rgba(8, 8, 8, .92); }
.home-hero { min-height: min(720px, calc(100vh - 86px)); }
.hero-slides { position: absolute; inset: 0; overflow: hidden; }
.hero-slides img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: brightness(.54) contrast(1.1); opacity: 0; animation: heroFade 15s ease-in-out infinite; animation-delay: calc(var(--slide) * 5s); }
@keyframes heroFade { 0%, 28% { opacity: 1; transform: scale(1.02); } 35%, 100% { opacity: 0; transform: scale(1.08); } }
.founder-preview img { min-height: 280px; max-height: 360px; width: 100%; object-fit: cover; border-radius: 8px; border: 1px solid var(--line); }
.page-hero { overflow: hidden; }
.page-hero::before { content: ""; position: absolute; inset: -12px; background: var(--hero-image, url('../images/davourlis-watermark.png')) center/cover no-repeat; filter: blur(6px) brightness(.45) grayscale(.25); transform: scale(1.04); }
.page-hero::after { background: linear-gradient(120deg, rgba(0,0,0,.88), rgba(210,10,23,.28), rgba(0,0,0,.72)); }
.banner-strip { padding: 10px 0 0; }
.banner-strip img { width: 100%; max-height: 96px; object-fit: cover; object-position: center; border-radius: 8px; border: 1px solid var(--line); }
.container--wide { max-width: 1360px; }
.section--compact { padding: 24px 0 0; }
.academy-subtabs { display: flex; flex-wrap: wrap; gap: 10px; }
.subtab { min-height: 46px; border: 1px solid var(--line); border-radius: 8px; padding: 0 14px; background: var(--surface); color: #fff; font-weight: 900; }
.subtab[aria-selected="true"] { background: var(--red); border-color: var(--red); }
.coach-carousel { position: relative; min-height: 260px; display: block; overflow: hidden; }
.coach-carousel article { position: absolute; inset: 0; opacity: 0; animation: coachSlide 15s ease-in-out infinite; animation-delay: calc(var(--coach) * 5s); }
.coach-carousel article:first-child:last-child { position: relative; opacity: 1; animation: none; }
@keyframes coachSlide { 0%, 28% { opacity: 1; transform: translateX(0); } 35%, 100% { opacity: 0; transform: translateX(-18px); } }
.match-list li { grid-template-columns: 140px 1fr 100px minmax(150px, .8fr); }
.match-list small { color: var(--muted); line-height: 1.5; }
.news-rail { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(240px, 1fr); gap: 14px; overflow: hidden; }
.news-rail article { border: 1px solid var(--line); border-radius: 8px; background: var(--surface); padding: 12px; animation: newsFloat 7s ease-in-out infinite alternate; animation-delay: calc(var(--news) * .45s); }
.news-rail img { height: 130px; width: 100%; object-fit: contain; border-radius: 8px; background: #111; }
.news-rail h3 { font-size: 1.05rem; }
@keyframes newsFloat { to { transform: translateY(-5px); border-color: rgba(255,255,255,.38); } }
.logo-marquee { background: var(--surface); }
.logo-marquee a { background: transparent; }
.logo-marquee img { background: transparent; }
.logo-card img { background: transparent; padding: 0; object-fit: contain; }
.partner-roll { overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); display: flex; width: 100%; }
.partner-roll a { flex: 0 0 240px; min-height: 132px; display: grid; place-items: center; gap: 8px; color: #fff; text-align: center; padding: 14px; font-weight: 900; animation: partnerRoll 22s linear infinite; }
.partner-roll img { max-width: 130px; max-height: 76px; object-fit: contain; }
@keyframes partnerRoll { to { transform: translateX(-960px); } }
.partner-logo { background: transparent; }
.partner-logo img { background: transparent; }
.partner-card details { margin: 12px 0 22px; }
.partner-website { margin-top: 6px; }
.socials a::before { content: "●"; color: var(--red); margin-right: 6px; }
@media (max-width: 860px) { .match-list li { grid-template-columns: 1fr; } .home-hero { min-height: 640px; } .banner-strip img { max-height: 72px; } }
.team-photo { height: 420px; min-height: 0; object-fit: contain; background: #050505; }
.coach-strip img, .coach-card img { object-fit: contain; background: #f5f5f5; padding: 8px; }
@media (max-width: 860px) { .team-photo { height: 300px; } }

/* v6 updates */
body {
  padding-top: 86px;
}
#site-header {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 70;
}
.site-header {
  left: 0;
  right: 0;
}
.hero-media .hero-media-item {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  background: #050505;
  opacity: 0;
  animation: none;
  transition: opacity .8s ease, transform 6s ease;
  transform: scale(1);
}
.hero-media .hero-media-item.is-active {
  opacity: 1;
  transform: scale(.98);
}
.home-hero .hero-shade {
  background: linear-gradient(90deg, rgba(0,0,0,.72), rgba(0,0,0,.34) 48%, rgba(0,0,0,.62)),
    linear-gradient(135deg, rgba(210,10,23,.22), transparent 38%);
}
.hero-media video.hero-media-item {
  max-width: none;
  filter: brightness(.84) contrast(1.02);
}
.hero-media img.hero-media-item {
  max-width: none;
  filter: brightness(.86) contrast(1.02);
}
.home-hero h1 {
  color: var(--red);
  -webkit-text-stroke: 2px #050505;
  text-shadow: 0 4px 0 #050505, 0 0 28px rgba(210, 10, 23, .45);
}
.hero-subtitle {
  margin: 10px auto 12px;
  color: var(--red) !important;
  font-family: Oswald, Impact, sans-serif;
  font-size: 2.7rem !important;
  line-height: 1.05;
  text-transform: uppercase;
  font-weight: 900;
  -webkit-text-stroke: 1px #050505;
  text-shadow: 0 3px 0 #050505, 0 0 22px rgba(210, 10, 23, .42);
}
.home-hero .hero-lead {
  margin-inline: auto;
}
.academy-preview h2,
.news-strip-section h2 {
  margin-bottom: 22px;
}
.news-rail {
  display: block;
  overflow: hidden;
}
.news-rail-track {
  display: flex;
  width: max-content;
  gap: 14px;
  animation: newsRoll 30s linear infinite;
}
.news-rail article {
  flex: 0 0 330px;
  animation: none;
}
@keyframes newsRoll {
  to { transform: translateX(-50%); }
}
.academy-subtabs {
  border-radius: 8px;
  padding: 0;
  background: transparent;
}
.team-detail {
  border: 2px solid var(--red);
  border-radius: 8px;
  padding: 14px;
  background: rgba(210, 10, 23, .06);
}
.history-panel h2 {
  font-size: 1.7rem;
}
.history-panel details {
  margin-top: 14px;
}
.history-panel details summary {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 0 16px;
  background: var(--red);
  color: #fff;
  font-weight: 900;
}
@media (max-width: 860px) {
  body {
    padding-top: 86px;
  }
  .hero-subtitle {
    font-size: 1.65rem !important;
  }
  .news-rail article {
    flex-basis: min(330px, calc(100vw - 48px));
  }
}

/* v5 updates */
.sponsors-section {
  background: #2d2d2d;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.sponsors-section .logo-marquee {
  background: #d9d9d9;
}
.sponsors-section .logo-marquee a {
  width: 170px;
  height: 104px;
}
.sponsors-section .logo-marquee img {
  max-width: 136px;
  max-height: 76px;
  mix-blend-mode: normal;
}
.socials--icons a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.socials--icons a::before {
  content: none;
}
.social-icon {
  width: 24px;
  height: 24px;
  object-fit: contain;
  filter: invert(1);
}
.partner-card details p {
  white-space: pre-line;
}
.team-photo { height: 420px; object-fit: cover; object-position: center bottom; background: #050505; }
@media (max-width: 860px) { .team-photo { height: 300px; } }

/* v8 final alignment */
.home-hero .hero-media {
  position: absolute;
  inset: 50% auto auto 50%;
  width: min(46vw, 760px);
  height: min(78vh, 760px);
  transform: translate(-50%, -50%);
  overflow: visible;
}
.home-hero .hero-media::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background: url('../../resources/FRAME/shield-frame-transparent.png') center / contain no-repeat;
  filter: drop-shadow(0 20px 42px rgba(0, 0, 0, .72));
  opacity: .92;
}
.hero-media .hero-media-item {
  inset: 5% 8% 7%;
  width: 84%;
  height: 88%;
  object-fit: cover;
  object-position: center;
  clip-path: polygon(50% 5%, 86% 17%, 78% 72%, 50% 96%, 22% 72%, 14% 17%);
  background: transparent;
  transform: scale(1);
}
.hero-media .hero-media-item.is-active {
  transform: scale(1.025);
}
.home-hero h1 {
  color: var(--red);
  background: repeating-linear-gradient(
    90deg,
    #ff1d2e 0 22px,
    #050505 22px 27px,
    #ff1d2e 27px 48px
  );
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: 1px #050505;
  text-shadow: 0 5px 0 #050505, 0 0 34px rgba(255, 29, 46, .62);
}
.hero-subtitle {
  color: #fff !important;
  -webkit-text-fill-color: #fff;
  -webkit-text-stroke: 0;
  text-shadow: 0 3px 0 #050505, 0 0 18px rgba(0, 0, 0, .82);
}
.academy-panel p,
.history-panel p,
.team-copy p {
  text-align: justify;
  text-justify: inter-word;
}
.history-panel details summary {
  min-height: auto;
  border: 0;
  padding: 4px 0;
  background: transparent;
  color: #fff;
  font-size: .95rem;
  line-height: 1.3;
  text-transform: none;
}
@media (max-width: 860px) {
  .home-hero .hero-media {
    width: min(76vw, 420px);
    height: min(62vh, 520px);
  }
  .home-hero h1 {
    -webkit-text-stroke: 1px #050505;
  }
}

/* v9 final comments */
.home-hero .hero-media {
  inset: 50% auto auto 25%;
  width: min(54vw, 900px);
  height: min(86vh, 880px);
}
.home-hero-content {
  max-width: 620px;
  margin-left: auto;
  margin-right: clamp(24px, 8vw, 140px);
  text-align: left;
}
.home-hero p:not(.eyebrow) {
  max-width: 600px;
}
.hero-actions {
  justify-content: flex-start;
}
.home-hero h1 {
  color: #ed0618 !important;
  background: transparent !important;
  -webkit-background-clip: border-box;
  background-clip: border-box;
  -webkit-text-fill-color: #ed0618 !important;
  -webkit-text-stroke: 1px #050505;
  text-shadow: 0 5px 0 #050505, 0 0 34px rgba(255, 29, 46, .62);
  animation: davourlisTitleEnter 1.05s cubic-bezier(.2, .82, .2, 1) both;
}
@keyframes davourlisTitleEnter {
  0% {
    opacity: 0;
    letter-spacing: .08em;
    transform: translateX(34px) scale(.96);
    filter: blur(8px);
  }
  58% {
    opacity: 1;
    letter-spacing: 0;
    filter: blur(0);
  }
  100% {
    opacity: 1;
    transform: translateX(0) scale(1);
  }
}
.longform p,
.founder-preview p,
.academy-panel p,
.history-panel p,
.team-copy p,
.facility-card p,
.news-card p,
.partner-card p,
.logo-card p,
.overlay article p,
.contact-card p {
  text-align: justify !important;
  text-justify: inter-word;
  hyphens: auto;
}
main p:not(.eyebrow):not(.hero-subtitle):not(.hero-lead),
main li,
.longform,
.history-panel,
.team-copy,
.partner-card,
.facility-card,
.news-card {
  text-align: justify;
  text-justify: inter-word;
}
.home-hero .hero-lead,
.page-hero p,
.coach-card p,
.table-card p {
  text-align: left !important;
  word-spacing: normal;
}
.academy-page-hero {
  min-height: auto;
  overflow: visible;
}
.academy-hero-content {
  max-width: 1420px;
  padding-bottom: 42px;
}
.academy-intro-section {
  padding-top: 24px;
  padding-bottom: 20px;
}
.academy-intro-panel {
  margin: 0;
}
.academy-history-preview p,
.academy-intro-panel details p {
  text-align: justify !important;
  text-justify: inter-word;
}
.academy-history-preview p {
  margin: 0 0 20px;
}
.academy-intro-panel details {
  overflow: visible;
}
.academy-intro-panel details summary {
  gap: 8px;
  display: inline-flex;
  align-items: center;
  font-family: Inter, Arial, sans-serif;
  font-weight: 900;
  color: #fff;
  letter-spacing: 0;
  cursor: pointer;
}
.academy-intro-panel details summary::after {
  content: "\2192";
  display: inline-block;
  color: var(--red);
  font-size: 1.05rem;
  line-height: 1;
  transform: translateY(-1px);
  transition: transform .2s ease;
}
.academy-intro-panel details[open] summary::after {
  transform: translate(4px, -1px);
}
.academy-intro-panel .history-image-grid {
  margin-top: 18px;
}
.academy-values-list {
  margin: 0 0 20px 22px;
  padding: 0;
  display: grid;
  gap: 12px;
}
.academy-values-list li {
  color: var(--muted);
  line-height: 1.75;
  text-align: justify;
  text-justify: inter-word;
}
.home-hero .hero-lead {
  text-align: justify !important;
  text-justify: inter-word;
}
.history-panel details summary {
  gap: 8px;
  display: inline-flex;
  align-items: center;
  font-family: Inter, Arial, sans-serif;
  font-weight: 900;
  color: #fff;
  letter-spacing: 0;
}
.history-panel details summary::after {
  content: "\2192";
  display: inline-block;
  color: var(--red);
  font-size: 1.05rem;
  line-height: 1;
  transform: translateY(-1px);
  transition: transform .2s ease;
}
.history-panel details[open] summary::after {
  transform: translate(4px, -1px);
}
@media (prefers-reduced-motion: reduce) {
  .home-hero h1 {
    animation: none;
  }
  .history-panel details summary::after {
    transition: none;
  }
}
@media (max-width: 1100px) {
  .home-hero .hero-media {
    inset: 50% auto auto 25%;
    width: min(60vw, 650px);
    height: min(72vh, 640px);
  }
  .home-hero-content {
    max-width: 520px;
    margin-right: 28px;
  }
}
@media (max-width: 860px) {
  .home-hero .hero-media {
    inset: 46% auto auto 50%;
    width: min(82vw, 460px);
    height: min(56vh, 520px);
  }
  .home-hero-content {
    margin-inline: auto;
    text-align: center;
    padding: 300px 18px 52px;
  }
  .home-hero p:not(.eyebrow) {
    margin-inline: auto;
  }
  .hero-actions {
    justify-content: center;
  }
}

/* v10 final comments */
.home-hero .hero-media {
  inset: 50% auto auto 23%;
  width: min(62vw, 1040px);
  height: min(90vh, 960px);
}
.home-hero .hero-media::after {
  background: url('../../resources/VIDEOS FOR MAIN PAGE/Picture1.png') center / contain no-repeat;
  opacity: .58;
  filter: drop-shadow(0 24px 46px rgba(0, 0, 0, .78));
  mix-blend-mode: screen;
}
.hero-media .hero-media-item {
  inset: 8% 10% 8%;
  width: 80%;
  height: 84%;
  object-fit: cover;
  object-position: center;
  clip-path: polygon(50% 3%, 91% 18%, 82% 76%, 50% 98%, 18% 76%, 9% 18%);
  transform: scale(.96);
  filter: brightness(.9) contrast(1.04) saturate(1.08);
}
.hero-media .hero-media-item.is-active {
  transform: scale(.98);
}
.home-hero h1,
.home-hero .hero-subtitle {
  text-align: center;
}
.home-hero .hero-subtitle {
  display: block;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}
.academy-subtabs .subtab:first-child,
.tabs .tab,
.table-card h3 {
  color: var(--red);
}
.academy-subtabs .subtab[aria-selected="true"],
.tabs .tab[aria-selected="true"] {
  background: rgba(210, 10, 23, .12);
  border-color: var(--red);
  color: var(--red);
}
.team-copy .eyebrow {
  color: var(--red);
}
.team-copy .eyebrow::before {
  background: var(--red);
}

/* v10 academy correction */
.academy-subtabs .subtab,
.tabs .tab {
  background: var(--surface);
  border-color: var(--line);
  color: #fff;
}
.academy-subtabs .subtab[aria-selected="true"],
.tabs .tab[aria-selected="true"] {
  background: var(--red);
  border-color: var(--red);
  color: #fff;
}
.team-copy .eyebrow {
  color: #fff;
}
.team-copy h2 {
  color: var(--red);
}

/* v10 requested refinements */
.hero-media .hero-media-item {
  transform: scale(.92);
}
.hero-media .hero-media-item.is-active {
  transform: scale(.94);
}
.academy-subtabs .subtab:first-child,
.academy-subtabs .subtab:first-child[aria-selected="true"] {
  color: #fff;
}

/* keep news titles left-aligned, not justified */
.news-card h2,
.news-rail h3,
.overlay article h2 {
  text-align: left !important;
  text-align-last: left;
  word-spacing: normal;
}

/* final media zoom-out inside Davourlis logo */
.hero-media .hero-media-item {
  object-fit: contain;
  transform: scale(.8);
}
.hero-media .hero-media-item.is-active {
  transform: scale(.82);
}
@media (max-width: 1100px) {
  .home-hero .hero-media {
    inset: 50% auto auto 23%;
    width: min(64vw, 720px);
    height: min(76vh, 720px);
  }
}
@media (max-width: 860px) {
  .home-hero .hero-media {
    inset: 43% auto auto 50%;
    width: min(92vw, 540px);
    height: min(58vh, 560px);
  }
  .hero-media .hero-media-item {
    transform: scale(.94);
  }
  .hero-media .hero-media-item.is-active {
    transform: scale(.96);
  }
}

/* real 3D hero replacement */
.hero-3d-stage {
  position: absolute;
  inset: 50% auto auto 23%;
  width: min(37vw, 590px);
  height: min(64vh, 650px);
  transform: translate(-50%, -50%);
  z-index: 1;
  pointer-events: none;
  overflow: visible;
}
.hero-3d-canvas {
  width: 100%;
  height: 100%;
  display: block;
  background: transparent;
}
@media (max-width: 1100px) {
  .hero-3d-stage {
    inset: 50% auto auto 23%;
    width: min(35vw, 520px);
    height: min(58vh, 560px);
  }
}
@media (max-width: 860px) {
  .hero-3d-stage {
    inset: 43% auto auto 50%;
    width: min(64vw, 360px);
    height: min(46vh, 430px);
  }
}


/* v13 doc updates */
.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;
}
.button-light {
  background: #fff;
  border-color: #fff;
  color: #111;
}
.button-light:hover {
  background: #f1f1f1;
}
.home-hero .hero-actions {
  justify-content: center;
}
.hero-wordmark {
  display: block;
  width: min(100%, 760px);
  margin: 0 0 18px;
  filter: drop-shadow(0 10px 16px rgba(0, 0, 0, .55));
}
.banner-strip .container {
  max-width: 1360px;
  overflow: hidden;
  border-radius: 8px;
  border: 1px solid var(--line);
}
.banner-strip img {
  display: block;
  width: calc(100% + 6px);
  max-width: none;
  margin-left: -3px;
  max-height: 126px;
  border: 0;
  border-radius: 0;
}
.article-stack {
  display: grid;
  gap: 28px;
}
.article-section {
  display: grid;
  gap: 18px;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
}
.article-photo-grid,
.history-image-grid {
  display: grid;
  gap: 16px;
}
.article-photo-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.article-photo-grid--pair,
.history-image-grid--top {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.history-image-grid--bottom {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.article-photo-grid figure,
.history-image-grid figure {
  margin: 0;
}
.history-preview {
  display: grid;
  gap: 12px;
  margin-bottom: 8px;
}
.team-stack {
  display: grid;
  gap: 18px;
}
.team-copy-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}
.team-pdf-button {
  white-space: nowrap;
  flex-shrink: 0;
}
.academy-intro,
.facility-intro {
  text-align: justify;
  margin: 0 0 18px;
}
.facility-intro {
  max-width: none;
}
.a11y-main {
  width: 54px;
  height: 54px;
  padding: 0;
  display: grid;
  place-items: center;
  background: #fff;
  color: #111;
  border-color: rgba(255,255,255,.22);
  box-shadow: 0 10px 28px rgba(0,0,0,.28);
}
.a11y-icon {
  width: 28px;
  height: 28px;
  object-fit: contain;
}
.home-featured-partners {
  padding-top: 6px;
  padding-bottom: 12px;
}
.home-featured-partners .container {
  max-width: 980px;
}
.home-featured-partners-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}
.home-featured-partners .eyebrow {
  margin-bottom: 18px;
}
.featured-partner-link {
  min-height: 120px;
  display: grid;
  place-items: center;
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
}
.featured-partner-link img {
  max-width: min(100%, 330px);
  max-height: 138px;
  object-fit: contain;
}
.news-feed {
  display: grid;
  gap: 24px;
}
.news-post {
  display: grid;
  gap: 20px;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
}
.news-post-header {
  display: grid;
  grid-template-columns: minmax(260px, 340px) minmax(0, 1fr);
  gap: 22px;
  align-items: stretch;
}
.news-post-thumbnail {
  width: 100%;
  height: 100%;
  min-height: 250px;
  object-fit: cover;
  border-radius: 8px;
  border: 1px solid var(--line);
}
.news-post-intro {
  display: grid;
  align-content: start;
  gap: 10px;
}
.news-post-intro .eyebrow {
  margin-bottom: 2px;
}
.news-post h2 {
  margin-bottom: 0;
  text-align: left !important;
}
.news-post-excerpt {
  margin: 0;
  font-size: 1.08rem;
  color: #fff;
}
.news-post-copy {
  display: grid;
  gap: 16px;
}
.news-post-copy p {
  margin: 0;
  text-align: justify !important;
  text-justify: inter-word;
}
.news-post-gallery {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.news-post-gallery--pair {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.news-post-gallery--single {
  grid-template-columns: minmax(0, 1fr);
}
.news-post-gallery figure {
  margin: 0;
}
.news-post-gallery img {
  width: 100%;
  min-height: 260px;
  object-fit: cover;
  border-radius: 8px;
  border: 1px solid var(--line);
}
.latest-news-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
.latest-news-card {
  display: grid;
  grid-template-rows: 170px auto;
  border: 1px solid var(--line);
  border-radius: 8px;
  overflow: hidden;
  background: var(--surface);
  min-width: 0;
}
.latest-news-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: #101010;
}
.latest-news-card div {
  padding: 14px;
}
.latest-news-card p {
  margin: 0 0 10px;
  color: var(--muted);
  text-align: left !important;
}
.latest-news-card h3 {
  margin: 0;
  font-size: 1.55rem;
  line-height: 1.02;
  text-align: left !important;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.overlay .news-post-copy {
  margin-top: 14px;
}
.overlay .news-post-gallery {
  margin-top: 18px;
}
.overlay .news-post-gallery img {
  max-height: none;
}
.partner-gallery {
  margin-top: 22px;
  display: grid;
  gap: 12px;
}
.partner-gallery-title {
  margin: 0;
  color: #fff;
  font-family: Oswald, Impact, sans-serif;
  font-size: 1.08rem;
  text-transform: uppercase;
  text-align: left !important;
}
.partner-gallery-frame {
  display: grid;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #0a0a0a;
  padding: 14px;
}
.partner-gallery-stage {
  width: 100%;
  display: grid;
  place-items: center;
}
.partner-gallery-stage canvas,
.partner-gallery-stage img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  max-height: 760px;
  object-fit: contain;
  border-radius: 8px;
}
.partner-gallery-controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.partner-gallery-nav {
  width: 48px;
  min-width: 48px;
  height: 48px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #121212;
  color: #fff;
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
}
.partner-gallery-nav[disabled] {
  opacity: .4;
  cursor: default;
}
.partner-gallery-status {
  margin: 0;
  color: var(--muted);
  font-weight: 800;
  text-align: center !important;
}
.founder-story-section {
  padding-top: 24px;
}
.founder-story-layout {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr) 260px;
  gap: 28px;
  align-items: center;
}
.founder-story-side {
  margin: 0;
  overflow: hidden;
  border-radius: 8px;
  border: 1px solid var(--line);
  background: var(--surface);
  align-self: center;
}
.founder-story-side img {
  width: 100%;
  aspect-ratio: 3 / 4;
  height: auto;
  min-height: 0;
  object-fit: cover;
  object-position: center top;
  display: block;
}
.founder-story-copy {
  position: relative;
  overflow: hidden;
  min-height: 100%;
  padding: 22px 24px;
  border-radius: 8px;
  background: #080808;
  border: 1px solid var(--line);
}
.founder-story-copy::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(7, 7, 7, .30), rgba(7, 7, 7, .48)),
    rgba(7, 7, 7, .16);
}
.founder-story-copy > * {
  position: relative;
  z-index: 2;
}
@media (max-width: 860px) {
  .article-photo-grid,
  .article-photo-grid--pair,
  .history-image-grid--top,
  .history-image-grid--bottom {
    grid-template-columns: 1fr;
  }
  .home-featured-partners-row,
  .founder-story-layout {
    grid-template-columns: 1fr;
  }
  .hero-wordmark {
    margin-inline: auto;
  }
  .team-copy-top {
    flex-direction: column;
  }
  .team-pdf-button {
    width: 100%;
  }
  .founder-story-side img {
    min-height: 360px;
  }
}

/* v19 founder and academy refinements */
.founder-story-layout {
  grid-template-columns: 320px minmax(0, 1.16fr) 320px;
  gap: 36px;
  max-width: 1360px;
  margin: 0 auto;
  align-items: center;
}
.founder-story-layout--single {
  grid-template-columns: minmax(0, 1fr);
  max-width: 1120px;
}
.founder-story-side img {
  aspect-ratio: 5 / 8;
  height: auto;
  min-height: 0;
  object-fit: cover;
  object-position: center center;
  background: #060606;
}
.founder-story-copy {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  min-height: 0;
  background: #080808;
}
.founder-story-side { align-self: start; }
.founder-story-layout--single .founder-story-copy {
  min-height: 0;
}
.founder-story-copy::before,
.founder-story-copy::after {
  content: none;
}
.founder-gallery-section {
  padding-top: 0;
}
.founder-bottom-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
  max-width: 1120px;
  margin: 0 auto;
}
.founder-bottom-card {
  margin: 0;
  overflow: hidden;
  border-radius: 8px;
  border: 1px solid var(--line);
  background: #060606;
}
.founder-bottom-card img {
  width: 100%;
  height: 360px;
  object-fit: contain;
  object-position: center;
  display: block;
  background: #060606;
}
.founder-gallery {
  display: grid;
  gap: 14px;
  max-width: 1120px;
  margin: 0 auto;
}
.founder-gallery-frame {
  border: 1px solid var(--line);
  border-radius: 8px;
  overflow: hidden;
  background: #060606;
}
.founder-gallery-frame img {
  width: 100%;
  height: min(74vh, 820px);
  object-fit: contain;
  object-position: center;
  display: block;
  background: #060606;
}
.founder-gallery-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
}
.founder-gallery-nav {
  width: 48px;
  min-width: 48px;
  height: 48px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #121212;
  color: #fff;
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
}
.founder-gallery-status {
  margin: 0;
  color: var(--muted);
  font-weight: 800;
  text-align: center !important;
}
.history-image-grid--bottom {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.founder-story-side-stack {
  display: flex;
  min-height: 100%;
  flex-direction: column;
  gap: 24px;
}
.founder-story-side-stack--left,
.founder-story-side-stack--right {
  justify-content: space-between;
}
.founder-story-side--bottom {
  margin-top: auto;
}
.program-tabs-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}
.program-action-buttons {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}
.team-pdf-button--matches,
.team-pdf-button--shared {
  background: var(--red);
  border-color: var(--red);
  color: #fff;
}
.match-program-table {
  min-width: 980px;
}
.match-program-table th,
.match-program-table td {
  white-space: normal;
}
.match-program-table th:nth-child(2),
.match-program-table td:nth-child(2),
.match-program-table th:nth-child(4),
.match-program-table td:nth-child(4),
.match-program-table th:nth-child(5),
.match-program-table td:nth-child(5) {
  white-space: nowrap;
}
.match-program-table td:nth-child(5) {
  font-weight: 800;
  color: #fff;
}
.match-conditions-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.match-conditions-list li {
  color: var(--muted);
  line-height: 1.55;
}
.match-conditions-list img {
  width: 28px;
  height: 28px;
  object-fit: contain;
  display: block;
}
.team-stack {
  gap: 22px;
}
.team-detail {
  grid-template-columns: 1fr;
}
.team-copy {
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
}
.team-copy-top {
  margin-bottom: 18px;
}
.team-theme {
  margin: 6px 0 0;
  font-family: Oswald, Impact, sans-serif;
  font-size: 1.3rem;
  line-height: 1.1;
  text-transform: uppercase;
  color: #fff;
}
.team-layout-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(300px, .92fr);
  gap: 18px;
  align-items: stretch;
}
.team-layout-grid > * {
  min-width: 0;
}
.team-media-card,
.coach-spot {
  margin: 0;
  border: 1px solid var(--line);
  background: var(--surface);
  border-radius: 8px;
  padding: 10px;
  display: grid;
  gap: 10px;
}
.coach-spot {
  border: 0;
  background: transparent;
  padding: 0;
  overflow: hidden;
}
.team-photo {
  width: 100%;
  height: 360px;
  min-height: 360px;
  object-fit: cover;
  object-position: center;
  border-radius: 8px;
  border: 0;
  background: transparent;
}
.coach-spot img {
  width: auto;
  max-width: min(100%, 260px);
  min-height: 336px;
  height: 336px;
  object-fit: contain;
  object-position: center top;
  border-radius: 8px;
  background: transparent;
  justify-self: center;
}
.coach-spot--fotopoulou img {
  object-position: center top;
  transform: none;
}
.coach-spot strong {
  display: block;
  text-align: center;
  padding-inline: 8px;
  margin-top: 2px;
}
.coach-spot {
  align-content: start;
  grid-template-rows: 1fr auto;
}
.coach-spot--empty {
  min-height: 210px;
}
.history-panel p,
.history-panel details p,
.team-copy p,
.coach-card p {
  text-align: justify !important;
  text-align-last: left;
  word-spacing: normal;
}
.coach-card img {
  width: 100%;
  height: 390px;
  object-fit: contain !important;
  object-position: center top;
  background: transparent !important;
  padding: 0 !important;
  margin-bottom: 16px;
}
.coach-card--fotopoulou img {
  object-fit: cover !important;
  object-position: center 18% !important;
  transform: none !important;
}
.coach-card h3 {
  text-align: center;
  margin: 0 0 18px;
}
.coach-card p:not(.tag-list) {
  margin: 0;
}
.coach-card-copy {
  display: grid;
  gap: 14px;
}
.coach-readmore summary {
  gap: 8px;
  display: inline-flex;
  align-items: center;
  font-family: Inter, Arial, sans-serif;
  font-weight: 900;
  color: #fff;
  letter-spacing: 0;
}
.coach-readmore summary::after {
  content: "\2192";
  display: inline-block;
  color: var(--red);
  font-size: 1.05rem;
  line-height: 1;
  transform: translateY(-1px);
  transition: transform .2s ease;
}
.coach-readmore[open] summary::after {
  transform: translate(4px, -1px);
}
.coach-readmore p + p {
  margin-top: 14px;
}
.coach-card .tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 18px;
}
.coach-card .tag-list span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 1100px) {
  .founder-story-layout {
    grid-template-columns: 280px minmax(0, 1fr) 280px;
    gap: 24px;
  }
  .founder-story-layout--single {
    grid-template-columns: minmax(0, 1fr);
  }
  .team-layout-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 860px) {
  .academy-hero-badge {
    right: 18px;
    top: 58px;
    width: 110px;
    height: 110px;
  }
  .founder-bottom-grid {
    grid-template-columns: 1fr;
  }
  .latest-news-grid {
    grid-template-columns: 1fr;
  }
  .program-tabs-row {
    align-items: stretch;
  }
  .program-action-buttons {
    width: 100%;
  }
  .news-post-header,
  .news-post-gallery,
  .news-post-gallery--pair {
    grid-template-columns: 1fr;
  }
  .program-action-buttons .team-pdf-button {
    width: 100%;
  }
  .founder-story-side-stack {
    gap: 18px;
  }
  .founder-story-side img {
    aspect-ratio: 3 / 4;
  }
}

/* Founder page mobile refinement */
@media (max-width: 700px) {
  body[data-page="founder"] .page-hero {
    min-height: 310px;
    background-position: center top;
  }

  body[data-page="founder"] .hero-content {
    padding: 74px 0 30px;
  }

  body[data-page="founder"] .page-hero h1 {
    font-size: 2.25rem;
    line-height: 1.02;
  }

  body[data-page="founder"] .page-hero p:not(.eyebrow) {
    font-size: 1rem;
    line-height: 1.55;
  }

  body[data-page="founder"] .founder-story-section {
    padding-top: 18px;
  }

  body[data-page="founder"] .founder-story-layout {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  body[data-page="founder"] .founder-story-copy {
    order: 1;
    width: 100%;
    min-width: 0;
    padding: 18px;
    border-color: rgba(255, 255, 255, .22);
    background: #0c0c0c;
    overflow: hidden;
  }

  body[data-page="founder"] .founder-story-copy p {
    margin-bottom: 16px;
    font-size: .98rem;
    line-height: 1.68;
    text-align: left !important;
    overflow-wrap: anywhere;
  }

  body[data-page="founder"] .founder-story-side {
    order: 2;
  }

  body[data-page="founder"] .founder-story-side img {
    aspect-ratio: 16 / 10;
    min-height: 0;
    max-height: 260px;
    object-fit: cover;
    object-position: center 24%;
  }

  body[data-page="founder"] .founder-gallery-section {
    padding-top: 14px;
  }

  body[data-page="founder"] .founder-bottom-grid {
    gap: 16px;
  }

  body[data-page="founder"] .founder-bottom-card img {
    height: auto;
    max-height: 280px;
    object-fit: contain;
  }
}

@media (max-width: 430px) {
  .header-inner {
    gap: 8px;
  }

  .brand {
    gap: 8px;
  }

  .brand img {
    width: 44px;
    height: 44px;
  }

  .brand strong {
    font-size: 1.02rem;
  }

  .brand small {
    font-size: .78rem;
  }

  .language-toggle,
  .nav-toggle {
    min-height: 40px;
    padding: 0 10px;
  }
}

/* Homepage mobile/webview guardrails */
@media (max-width: 700px) {
  body[data-page="home"] {
    padding-top: 72px;
  }

  body[data-page="home"] .site-header {
    overflow: hidden;
  }

  body[data-page="home"] .header-inner {
    min-height: 72px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    padding-block: 8px;
  }

  body[data-page="home"] .brand {
    flex: 1 1 auto;
    max-width: calc(100% - 132px);
    min-width: 0;
    gap: 8px;
  }

  body[data-page="home"] .brand img {
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
  }

  body[data-page="home"] .brand span {
    min-width: 0;
  }

  body[data-page="home"] .brand strong,
  body[data-page="home"] .brand small {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body[data-page="home"] .brand strong {
    font-size: 1.12rem;
  }

  body[data-page="home"] .brand small {
    font-size: .8rem;
  }

  body[data-page="home"] .nav-toggle,
  body[data-page="home"] .language-toggle {
    flex: 0 0 auto;
    min-height: 40px;
    padding: 0 10px;
    font-size: .95rem;
  }

  body[data-page="home"] .language-toggle {
    display: none;
  }

  .home-hero {
    min-height: auto;
    display: block;
    padding: 42px 0 46px;
    overflow: hidden;
    background:
      linear-gradient(180deg, rgba(0, 0, 0, .78), rgba(0, 0, 0, .94)),
      radial-gradient(circle at 50% 30%, rgba(210, 10, 23, .35), transparent 58%),
      #050505;
  }

  .home-hero .hero-3d-stage {
    display: none;
  }

  .home-hero .hero-shade {
    background: linear-gradient(180deg, rgba(0, 0, 0, .16), rgba(0, 0, 0, .64));
  }

  .home-hero-content {
    width: calc(100% - 28px);
    max-width: 420px;
    margin-inline: auto !important;
    padding: 0;
    text-align: center;
  }

  .hero-wordmark {
    width: min(82vw, 280px);
    margin: 0 auto 16px;
  }

  .home-hero .hero-subtitle {
    width: 100%;
    margin: 0 auto 12px;
    font-size: 1.45rem !important;
    line-height: 1.08;
    text-align: center;
  }

  .home-hero .hero-lead,
  .home-hero p:not(.eyebrow) {
    max-width: 100%;
    margin-inline: auto;
    font-size: .98rem;
    line-height: 1.62;
    text-align: center !important;
  }

  .home-hero .hero-actions {
    display: grid;
    grid-template-columns: 1fr;
    justify-content: stretch;
    gap: 10px;
    margin-top: 20px;
  }

  .home-hero .hero-actions .button {
    width: 100%;
    flex: 1 1 auto;
    min-width: 0;
    padding-inline: 12px;
  }

  body[data-page="home"] h2 {
    font-size: 1.48rem;
    line-height: 1.05;
    overflow-wrap: anywhere;
  }

  body[data-page="home"] .section,
  body[data-page="home"] .container,
  body[data-page="home"] .split {
    max-width: 100%;
    overflow-x: hidden;
  }

  body[data-page="home"] .founder-preview p {
    text-align: left !important;
  }
}

@media (max-width: 390px) {
  body[data-page="home"] .brand img {
    width: 42px;
    height: 42px;
    flex-basis: 42px;
  }

  body[data-page="home"] .brand strong {
    font-size: .95rem;
  }

  body[data-page="home"] .brand small {
    display: none;
  }

  body[data-page="home"] .nav-toggle {
    padding-inline: 8px;
  }

  .home-hero {
    padding-top: 34px;
  }

}

/* v27 mobile header and founder image framing */
@media (max-width: 700px) {
  .site-header,
  body[data-page="home"] .site-header {
    overflow: visible;
  }

  .header-inner,
  body[data-page="home"] .header-inner {
    min-height: 74px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 8px;
    padding-block: 8px;
  }

  .brand,
  body[data-page="home"] .brand {
    min-width: 0;
    max-width: none;
    gap: 8px;
  }

  .brand img,
  body[data-page="home"] .brand img {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
  }

  .brand span,
  body[data-page="home"] .brand span {
    min-width: 0;
    max-width: 100%;
  }

  .brand strong,
  .brand small,
  body[data-page="home"] .brand strong,
  body[data-page="home"] .brand small {
    display: block;
    max-width: 100%;
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
  }

  .brand strong,
  body[data-page="home"] .brand strong {
    font-size: clamp(.88rem, 3.45vw, 1.02rem);
    line-height: 1.03;
  }

  .brand small,
  body[data-page="home"] .brand small {
    font-size: clamp(.68rem, 2.7vw, .78rem);
    line-height: 1.14;
  }

  body[data-page="founder"] .founder-story-side {
    background: #060606;
  }

  body[data-page="founder"] .founder-story-side img {
    aspect-ratio: auto;
    width: 100%;
    height: auto;
    max-height: none;
    min-height: 0;
    object-fit: contain;
    object-position: center top;
    background: #060606;
  }
}

@media (max-width: 380px) {
  .language-toggle {
    display: none;
  }

  .header-inner,
  body[data-page="home"] .header-inner {
    grid-template-columns: minmax(0, 1fr) auto;
  }
}

/* v28 restore mobile animated Davourlis logo */
@media (max-width: 700px) {
  .home-hero .hero-3d-stage {
    display: block;
    position: relative;
    inset: auto;
    width: min(74vw, 300px);
    height: clamp(180px, 56vw, 285px);
    margin: 0 auto 18px;
    transform: none;
    z-index: 1;
  }

  .home-hero {
    display: block;
    padding-top: 28px;
  }

  .home-hero-content {
    position: relative;
    z-index: 2;
  }
}
