/* ============================================
   HYPIUM FRC TEAM — Blueprint / Schematic Theme
   ============================================ */

:root {
  --navy: #004870;
  --navy-deep: #00304d;
  --ink: #001a2b;
  --dragon: #6fa8ce;
  --dragon-light: #b8dcf2;
  --paper: #f3f8fb;
  --paper-dim: #e4edf3;
  --amber: #ffb300;
  --white: #ffffff;
  --line: rgba(0, 72, 112, 0.16);
  --line-light: rgba(255, 255, 255, 0.16);

  --font-display: 'Syne', sans-serif;
  --font-body: 'IBM Plex Sans', sans-serif;
  --font-mono: 'IBM Plex Mono', monospace;
}

* { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; }

body {
  font-family: var(--font-body);
  color: var(--ink);
  background: var(--paper);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

a { color: inherit; text-decoration: none; }
ul { list-style: none; }
img { max-width: 100%; display: block; }
button { font-family: inherit; cursor: pointer; }

.mono { font-family: var(--font-mono); letter-spacing: 0.04em; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; scroll-behavior: auto !important; }
}

:focus-visible {
  outline: 2px solid var(--amber);
  outline-offset: 3px;
}

/* subtle grain overlay for texture */
.grain {
  position: fixed; inset: 0; pointer-events: none; z-index: 999;
  opacity: 0.035; mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ============ Blueprint grid background ============ */
.blueprint-grid {
  position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background-image:
    linear-gradient(var(--line-light) 1px, transparent 1px),
    linear-gradient(90deg, var(--line-light) 1px, transparent 1px);
  background-size: 48px 48px;
  -webkit-mask-image: radial-gradient(ellipse 80% 60% at 50% 30%, black 40%, transparent 90%);
          mask-image: radial-gradient(ellipse 80% 60% at 50% 30%, black 40%, transparent 90%);
}
.blueprint-grid.faint { opacity: 0.5; }

/* ============ Corner brackets (signature motif) ============ */
.corner { position: absolute; width: 18px; height: 18px; border: 2px solid var(--amber); opacity: 0.9; pointer-events: none; }
.corner.tl { top: -1px; left: -1px; border-right: none; border-bottom: none; }
.corner.tr { top: -1px; right: -1px; border-left: none; border-bottom: none; }
.corner.bl { bottom: -1px; left: -1px; border-right: none; border-top: none; }
.corner.br { bottom: -1px; right: -1px; border-left: none; border-top: none; }

/* Scroll reveal: visible by default; only hides if JS opts an element in,
   so the page never depends on JavaScript to show its content. */
.reveal { opacity: 0; transform: translateY(24px); transition: opacity 0.7s ease, transform 0.7s ease; }
.reveal.reveal-in { opacity: 1; transform: translateY(0); }

/* ============================================
   NAV
   ============================================ */
.site-nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  background: rgba(0, 26, 43, 0.72);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--line-light);
}
.nav-inner {
  max-width: 1280px; margin: 0 auto; padding: 14px 32px;
  display: flex; align-items: center; gap: 28px;
}
.nav-brand { display: flex; align-items: center; gap: 12px; margin-right: auto; }
.nav-logo { width: 42px; height: 42px; border-radius: 8px; }
.nav-brand-text { display: flex; flex-direction: column; line-height: 1.15; }
.nav-brand-name { font-family: var(--font-display); font-weight: 800; font-size: 17px; letter-spacing: 0.03em; color: var(--white); }
.nav-brand-sub { font-family: var(--font-mono); font-size: 9px; letter-spacing: 0.12em; color: var(--dragon-light); }

.nav-links { display: flex; gap: 26px; }
.nav-links a {
  display: flex; align-items: center; gap: 6px;
  font-size: 13.5px; font-weight: 500; color: var(--paper);
  opacity: 0.85; transition: opacity 0.2s, color 0.2s;
  white-space: nowrap;
}
.nav-links a:hover { opacity: 1; color: var(--amber); }
.nav-links .tag { font-family: var(--font-mono); font-size: 10px; color: var(--amber); opacity: 0.8; }

.nav-cta {
  border: 1.5px solid var(--amber); color: var(--amber);
  font-size: 13px; font-weight: 600; padding: 9px 18px; border-radius: 3px;
  transition: background 0.2s, color 0.2s;
  white-space: nowrap;
}
.nav-cta:hover { background: var(--amber); color: var(--ink); }

.nav-toggle { display: none; flex-direction: column; gap: 5px; background: none; border: none; padding: 4px; }
.nav-toggle span { width: 24px; height: 2px; background: var(--white); border-radius: 2px; }

/* ============================================
   HERO
   ============================================ */
.hero {
  position: relative;
  min-height: 100vh;
  background: radial-gradient(ellipse 90% 70% at 50% 0%, var(--navy) 0%, var(--navy-deep) 55%, var(--ink) 100%);
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  padding: 140px 24px 0;
  overflow: hidden;
}

.hero-inner {
  position: relative; z-index: 2;
  display: flex; flex-direction: column; align-items: center;
  text-align: center; max-width: 780px;
}

.hero-eyebrow {
  display: flex; align-items: center; gap: 10px;
  margin-bottom: 28px;
}
.hero-eyebrow .dot { width: 7px; height: 7px; border-radius: 50%; background: var(--amber); box-shadow: 0 0 12px var(--amber); }
.hero-eyebrow .mono { font-size: 11.5px; color: var(--dragon-light); letter-spacing: 0.22em; }

.hero-logo-wrap {
  position: relative; width: 190px; height: 190px; margin-bottom: 32px;
  animation: rise 1s ease both;
}
.hero-logo-wrap .corner { width: 26px; height: 26px; }
.hero-logo { width: 100%; height: 100%; border-radius: 16px; animation: float 6s ease-in-out infinite; }

.hero-title {
  font-family: var(--font-display); font-weight: 800;
  font-size: clamp(56px, 11vw, 118px);
  letter-spacing: 0.02em;
  color: var(--white);
  line-height: 0.95;
  animation: rise 1s ease 0.1s both;
}

.hero-subtitle {
  margin-top: 22px; max-width: 560px;
  font-size: 17.5px; line-height: 1.65; color: var(--dragon-light);
  animation: rise 1s ease 0.2s both;
}
.hero-subtitle .hl { color: var(--amber); font-weight: 600; }

.hero-actions {
  display: flex; gap: 16px; margin-top: 38px; flex-wrap: wrap; justify-content: center;
  animation: rise 1s ease 0.3s both;
}

.btn {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 14.5px; font-weight: 600; padding: 14px 30px;
  border-radius: 3px; transition: transform 0.2s, background 0.2s, color 0.2s, border-color 0.2s;
}
.btn-primary { background: var(--amber); color: var(--ink); }
.btn-primary:hover { transform: translateY(-2px); background: #ffc233; }
.btn-ghost { border: 1.5px solid var(--line-light); color: var(--white); }
.btn-ghost:hover { border-color: var(--amber); color: var(--amber); }

@keyframes rise { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: translateY(0); } }
@keyframes float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }

.specs-strip {
  position: relative; z-index: 2; width: 100%; max-width: 1100px;
  margin-top: 76px;
  display: grid; grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--line-light);
  border-bottom: 1px solid var(--line-light);
}
.spec-plate {
  padding: 22px 12px; text-align: center;
  border-right: 1px solid var(--line-light);
  display: flex; flex-direction: column; gap: 6px;
}
.spec-plate:last-child { border-right: none; }
.spec-value { font-size: 20px; font-weight: 600; color: var(--white); }
.spec-label { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.12em; color: var(--dragon-light); text-transform: uppercase; }

/* ============================================
   SECTIONS — shared
   ============================================ */
.section { position: relative; padding: 110px 24px; }
.section-dark { background: var(--ink); color: var(--paper); }
.section-inner { max-width: 1180px; margin: 0 auto; position: relative; z-index: 2; }

.section-head { margin-bottom: 56px; max-width: 640px; }
.section-tag { display: inline-block; font-size: 11px; letter-spacing: 0.16em; color: var(--navy); opacity: 0.7; margin-bottom: 14px; }
.section-head.light .section-tag { color: var(--dragon-light); }
.section-head h2 {
  font-family: var(--font-display); font-weight: 700;
  font-size: clamp(32px, 4.6vw, 52px); line-height: 1.08; letter-spacing: -0.01em;
}
.section-head.light h2 { color: var(--white); }

/* ============================================
   HAKKIMIZDA
   ============================================ */
.about-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 72px; align-items: start; }

.about-copy p { font-size: 16px; line-height: 1.75; color: #2b3f4c; margin-bottom: 18px; max-width: 52ch; }

.about-values { margin-top: 34px; display: flex; flex-direction: column; gap: 18px; }
.value-row { display: flex; gap: 16px; align-items: baseline; }
.value-row .mono { font-size: 12px; color: var(--amber); flex-shrink: 0; padding-top: 2px; }
.value-row p { font-size: 14.5px; line-height: 1.6; color: #2b3f4c; }

.small-label { display: block; font-size: 11px; letter-spacing: 0.16em; color: var(--navy); opacity: 0.7; margin-bottom: 18px; }

.subteam-list { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; background: var(--line); border: 1px solid var(--line); }
.subteam-list li {
  position: relative; background: var(--paper); padding: 22px 18px;
  display: flex; gap: 14px; align-items: flex-start;
  transition: background 0.2s;
}
.subteam-list li:hover { background: var(--white); }
.subteam-list li .corner { border-color: var(--navy); opacity: 0.35; width: 12px; height: 12px; }
.subteam-list li:hover .corner { border-color: var(--amber); opacity: 1; }
.sub-icon { font-family: var(--font-mono); font-size: 18px; color: var(--navy); flex-shrink: 0; width: 24px; }
.subteam-list li strong { font-size: 14.5px; display: block; margin-bottom: 3px; }
.subteam-list li p { font-size: 12.5px; color: #5a707c; line-height: 1.4; }

/* ============================================
   FRC NEDİR
   ============================================ */
.frc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; }
.frc-lead p { font-size: 16.5px; line-height: 1.8; color: var(--paper-dim); margin-bottom: 20px; max-width: 50ch; }
.frc-lead strong, .frc-lead em { color: var(--amber); font-style: normal; }

.frc-steps { display: flex; flex-direction: column; gap: 0; border-top: 1px solid var(--line-light); }
.frc-step {
  display: flex; gap: 20px; align-items: flex-start;
  padding: 22px 0; border-bottom: 1px solid var(--line-light);
}
.step-num { font-size: 13px; color: var(--amber); padding-top: 2px; flex-shrink: 0; }
.frc-step strong { font-size: 16px; color: var(--white); display: block; margin-bottom: 4px; }
.frc-step p { font-size: 13.5px; color: var(--dragon-light); line-height: 1.55; }

.frc-note {
  margin-top: 56px; padding: 28px 32px; border-left: 3px solid var(--amber);
  background: rgba(255, 255, 255, 0.03);
}
.frc-note p { font-size: 16px; line-height: 1.7; color: var(--paper-dim); max-width: 70ch; }
.frc-note strong { color: var(--white); }

/* ============================================
   GALERİ
   ============================================ */
.gallery-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 160px; gap: 4px;
}
.gallery-tile {
  position: relative; overflow: hidden; background: var(--navy);
  display: flex; align-items: center; justify-content: center;
}
.gallery-tile svg { width: 34px; height: 34px; opacity: 0.55; }
.gallery-tile::after {
  content: ''; position: absolute; inset: 0;
  background-image: linear-gradient(var(--line-light) 1px, transparent 1px), linear-gradient(90deg, var(--line-light) 1px, transparent 1px);
  background-size: 16px 16px;
}
.gallery-tile.span2 { grid-column: span 2; grid-row: span 2; }
.gallery-tile.has-photo::after { display: none; }
.gallery-tile.has-photo img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform 0.5s ease;
}
.gallery-tile.has-photo:hover img { transform: scale(1.05); }

.gallery-note { margin-top: 22px; font-size: 11.5px; color: #5a707c; letter-spacing: 0.06em; }

/* ============================================
   SPONSORLAR
   ============================================ */
.sponsor-intro { font-size: 16.5px; line-height: 1.75; color: var(--paper-dim); max-width: 62ch; margin-bottom: 52px; }

.sponsor-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 2px;
  background: var(--line-light); border: 1px solid var(--line-light);
  margin-bottom: 56px;
}
.sponsor-slot {
  background: var(--ink); height: 110px;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-mono); font-size: 11px; color: #4a6070; letter-spacing: 0.08em;
  transition: color 0.2s, background 0.2s;
}
.sponsor-slot:hover { color: var(--amber); background: rgba(255,255,255,0.02); }
.sponsor-slot.has-logo { padding: 20px; }
.sponsor-slot.has-logo img {
  max-width: 100%; max-height: 100%; object-fit: contain;
  filter: grayscale(1) brightness(1.6); opacity: 0.75;
  transition: filter 0.25s ease, opacity 0.25s ease;
}
.sponsor-slot.has-logo:hover img { filter: none; opacity: 1; }

.sponsor-tiers { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; margin-bottom: 48px; }
.tier-card {
  padding: 30px 26px; background: rgba(255,255,255,0.02); border-top: 2px solid var(--line-light);
}
.tier-card.featured { border-top-color: var(--amber); background: rgba(255,179,0,0.05); }
.tier-name { font-size: 12px; color: var(--amber); display: block; margin-bottom: 10px; }
.tier-card p { font-size: 14px; color: var(--paper-dim); line-height: 1.55; }

.sponsor-cta { display: inline-flex; }

/* ============================================
   İLETİŞİM
   ============================================ */
.contact-grid { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 72px; }

.contact-info { display: flex; flex-direction: column; gap: 24px; }
.info-row { padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.info-row .mono { font-size: 10.5px; color: var(--navy); opacity: 0.65; letter-spacing: 0.14em; }
.info-row p { font-size: 17px; margin-top: 6px; }
.info-row a:hover { color: var(--navy); text-decoration: underline; }
.contact-footnote { font-size: 12px; color: #8199a5; line-height: 1.5; margin-top: 4px; }

.contact-form {
  position: relative; display: flex; flex-direction: column; gap: 20px;
  padding: 36px; background: var(--white); border: 1px solid var(--line);
}
.contact-form .corner { border-color: var(--navy); }
.contact-form label { display: flex; flex-direction: column; gap: 8px; }
.contact-form label .mono { font-size: 10.5px; color: var(--navy); letter-spacing: 0.14em; }
.contact-form input, .contact-form textarea {
  font-family: var(--font-body); font-size: 15px; padding: 12px 14px;
  border: 1px solid var(--line); border-radius: 2px; background: var(--paper);
  color: var(--ink); resize: vertical; transition: border-color 0.2s, background 0.2s;
}
.contact-form input:focus, .contact-form textarea:focus { border-color: var(--navy); background: var(--white); outline: none; }
.contact-form .btn { align-self: flex-start; border: none; }
.form-status { min-height: 16px; font-size: 12px; color: var(--navy); }

/* ============================================
   FOOTER
   ============================================ */
.site-footer { background: var(--ink); border-top: 1px solid var(--line-light); padding: 48px 24px; }
.footer-inner {
  max-width: 1180px; margin: 0 auto;
  display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 28px;
}
.footer-brand { display: flex; align-items: center; gap: 14px; }
.footer-logo { width: 40px; height: 40px; border-radius: 8px; }
.footer-brand .nav-brand-name { display: block; color: var(--white); }
.footer-brand .nav-brand-sub { display: block; color: var(--dragon-light); margin-top: 2px; }
.footer-links { display: flex; gap: 22px; flex-wrap: wrap; }
.footer-links a { font-size: 13.5px; color: var(--paper-dim); opacity: 0.8; }
.footer-links a:hover { opacity: 1; color: var(--amber); }
.footer-copy { font-size: 10.5px; color: #4a6070; letter-spacing: 0.06em; }

/* ============================================
   RESPONSIVE
   ============================================ */
@media (max-width: 900px) {
  .about-grid, .frc-grid, .contact-grid { grid-template-columns: 1fr; gap: 48px; }
  .gallery-grid { grid-template-columns: repeat(2, 1fr); }
  .sponsor-grid { grid-template-columns: repeat(2, 1fr); }
  .sponsor-tiers { grid-template-columns: 1fr; }
  .specs-strip { grid-template-columns: repeat(2, 1fr); }
  .spec-plate:nth-child(2) { border-right: none; }
}

@media (max-width: 760px) {
  .nav-links, .nav-cta { display: none; }
  .nav-toggle { display: flex; }
  .site-nav.open .nav-inner { flex-wrap: wrap; }
  .site-nav.open .nav-links {
    display: flex; flex-direction: column; order: 3; width: 100%;
    background: var(--ink); padding: 22px 4px 6px; gap: 18px;
  }
  .site-nav.open .nav-cta {
    display: inline-flex; order: 4; width: 100%; justify-content: center;
    margin: 6px 0 22px; background: var(--ink);
  }
  .subteam-list { grid-template-columns: 1fr; }
  .gallery-grid { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 130px; }
  .section { padding: 80px 20px; }
  .hero { padding-top: 120px; }
}


/* Footer social links */
.footer-socials { display:flex; flex-wrap:wrap; gap:10px 16px; justify-content:center; margin:14px 0; }
.footer-socials a { font-family: "IBM Plex Mono", monospace; font-size:.78rem; text-transform:uppercase; letter-spacing:.06em; text-decoration:none; }
.footer-socials a:hover { text-decoration:underline; }


/* Mobile image reliability */
.gallery-tile.has-photo img, .sponsor-slot.has-logo img {
  display:block;
}
@media (max-width: 760px) {
  .gallery-grid { grid-auto-rows: 150px; }
  .gallery-tile.span2 { grid-column: 1 / -1; grid-row: span 2; }
  .gallery-tile.has-photo img { width:100%; height:100%; object-fit:cover; }
  .sponsor-slot { min-height:120px; }
  .sponsor-slot.has-logo img { filter:none; opacity:1; max-width:90%; max-height:85px; }
}

/* ===== HYPIUM EXTENDED CONTENT v8 ===== */
.lang-switch{display:flex;align-items:center;gap:6px;margin-left:10px;font-family:var(--font-mono);font-size:11px;color:var(--paper-dim)}.lang-btn{border:0;background:transparent;color:inherit;cursor:pointer;padding:5px 4px;font:inherit}.lang-btn.active{color:var(--amber);font-weight:700}.story-grid,.school-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:start}.story-copy p{font-size:17px;line-height:1.85;color:var(--paper-dim);margin-bottom:20px}.story-copy blockquote{font-family:var(--font-display);font-size:28px;line-height:1.25;color:var(--amber);border-left:3px solid var(--amber);padding-left:22px;margin:34px 0}.timeline{border-left:1px solid rgba(255,255,255,.2);padding-left:28px}.timeline-item{position:relative;padding:0 0 34px 12px}.timeline-item:before{content:"";position:absolute;left:-34px;top:4px;width:10px;height:10px;background:var(--amber);border-radius:50%}.timeline-item .mono{color:var(--amber);font-size:11px}.timeline-item h3{color:var(--white);font-family:var(--font-display);font-size:22px;margin:7px 0}.timeline-item p{color:var(--paper-dim);line-height:1.65}.school-photo{border:1px solid var(--line);padding:10px;background:var(--white)}.school-photo img{width:100%;display:block;aspect-ratio:4/3;object-fit:cover}.about-copy h3{font-family:var(--font-display);font-size:32px;color:var(--navy);margin-bottom:18px}.dark-ghost{color:var(--navy);border-color:var(--navy);margin-top:12px}.dept-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:32px 0 52px}.dept-grid div{border:1px solid rgba(255,255,255,.22);padding:20px 16px;color:var(--white);font-family:var(--font-display);font-size:18px;min-height:76px;display:flex;align-items:center}.subsection-title{font-family:var(--font-display);font-size:30px;color:var(--white);margin:10px 0 22px}.captain-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.captain-card{border:1px solid rgba(255,255,255,.22);padding:30px;position:relative}.captain-card .mono{color:var(--amber);font-size:11px}.captain-card h3{font-family:var(--font-display);font-size:28px;color:var(--white);margin:8px 0 12px}.captain-card a{display:block;color:var(--paper-dim);margin-top:7px;overflow-wrap:anywhere}.captain-link{color:var(--amber)!important}.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.project-card{border:1px solid var(--line);padding:30px;background:var(--white)}.project-card .mono{font-size:10px;color:var(--navy);letter-spacing:.1em}.project-card h3{font-family:var(--font-display);font-size:24px;color:var(--navy);margin:10px 0 14px}.project-card p{line-height:1.75;color:var(--muted)}.goal-lead{max-width:900px;font-size:20px;line-height:1.75;color:var(--paper-dim);margin-bottom:38px}.goal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.goal-grid article{border:1px solid rgba(255,255,255,.22);padding:28px}.goal-grid article>span{font-family:var(--font-mono);color:var(--amber);font-size:12px}.goal-grid h3{font-family:var(--font-display);color:var(--white);font-size:22px;margin:9px 0 12px}.goal-grid p{color:var(--paper-dim);line-height:1.65}.sponsor-slot{position:relative;padding-bottom:42px}.sponsor-support{position:absolute;bottom:13px;left:0;right:0;text-align:center;color:var(--amber);font-size:10px;letter-spacing:.08em}.sponsor-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:32px}.section-dark .sponsor-actions .btn-ghost{color:var(--white);border-color:rgba(255,255,255,.55)}
@media(max-width:900px){.story-grid,.school-grid{grid-template-columns:1fr;gap:38px}.dept-grid{grid-template-columns:repeat(2,1fr)}.goal-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.lang-switch{margin-left:auto}.site-nav.open .lang-switch{order:2}.captain-grid,.project-grid,.goal-grid{grid-template-columns:1fr}.dept-grid{grid-template-columns:1fr 1fr}.story-copy blockquote{font-size:23px}.goal-lead{font-size:17px}.school-photo{padding:6px}}

/* v9 reliability additions */
.lang-btn{text-decoration:none;display:inline-block}
.school-photo{position:relative;overflow:hidden;min-height:280px}
.school-photo::after{content:"DÜZCE FEN LİSESİ";position:absolute;left:18px;bottom:18px;background:rgba(6,34,55,.88);color:#fff;padding:10px 14px;font-family:var(--font-display);font-size:18px;letter-spacing:.04em;border-left:3px solid var(--amber)}
.school-photo img{min-height:280px}
@media(max-width:760px){.school-photo{min-height:220px}.school-photo img{min-height:220px}.school-photo::after{left:12px;bottom:12px;font-size:15px}}

html[lang="en"] .school-photo::after{content:"DÜZCE SCIENCE HIGH SCHOOL"}


/* v10 — dedicated contact channels & captain profile actions */
.captain-socials{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.captain-card .social-icon-btn{display:inline-flex;align-items:center;gap:8px;width:max-content;margin-top:0;padding:9px 12px;border:1px solid rgba(255,255,255,.25);color:var(--white);font-family:var(--font-mono);font-size:11px;text-decoration:none;transition:border-color .2s ease,transform .2s ease,background .2s ease}.captain-card .social-icon-btn:hover{border-color:var(--amber);background:rgba(255,179,0,.08);transform:translateY(-1px)}.linkedin-mark{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:3px;background:#fff;color:var(--navy);font-family:Arial,sans-serif;font-weight:800;font-size:14px;line-height:1}.whatsapp-mark{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:1px solid rgba(255,255,255,.55);border-radius:50%;font-size:13px;line-height:1}.sponsor-contact-panel{display:grid;grid-template-columns:.8fr 1.2fr;gap:46px;align-items:start;margin-top:46px;padding-top:42px;border-top:1px solid rgba(255,255,255,.18)}.sponsor-contact-copy .mono{color:var(--amber);font-size:11px;letter-spacing:.12em}.sponsor-contact-copy h3{font-family:var(--font-display);font-size:32px;line-height:1.15;color:var(--white);margin:10px 0 14px}.sponsor-contact-copy p{color:var(--paper-dim);line-height:1.7}.sponsor-contact-copy .sponsor-mail{margin-top:18px}.sponsor-contact-copy .sponsor-mail a{color:var(--amber);overflow-wrap:anywhere}.sponsor-contact-form{background:var(--white)}
@media(max-width:900px){.sponsor-contact-panel{grid-template-columns:1fr;gap:28px}.captain-socials{gap:8px}}
@media(max-width:520px){.captain-card .social-icon-btn{width:100%;justify-content:center}.sponsor-contact-panel{margin-top:34px;padding-top:30px}.sponsor-contact-copy h3{font-size:27px}}

/* v10 expanded sponsorship */
.sponsor-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:44px 0}.sponsor-detail-grid article{border:1px solid rgba(255,255,255,.2);padding:28px;min-height:210px}.sponsor-detail-grid .mono{color:var(--amber);font-size:10px;letter-spacing:.1em}.sponsor-detail-grid h3{font-family:var(--font-display);font-size:23px;color:var(--white);margin:10px 0 13px}.sponsor-detail-grid p{color:var(--paper-dim);line-height:1.7}.sponsor-impact{display:grid;grid-template-columns:.8fr 1.2fr;gap:42px;border-top:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18);padding:38px 0;margin:40px 0}.sponsor-impact>.mono,.sponsor-impact .mono{color:var(--amber)}.sponsor-impact h3{font-family:var(--font-display);font-size:31px;line-height:1.2;color:var(--white);margin-top:10px}.sponsor-impact-points{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.sponsor-impact-points p{color:var(--paper-dim);line-height:1.6}.sponsor-impact-points strong{font-family:var(--font-display);font-size:19px;color:var(--white)}
@media(max-width:760px){.sponsor-detail-grid,.sponsor-impact{grid-template-columns:1fr}.sponsor-detail-grid article{min-height:0}.sponsor-impact-points{grid-template-columns:1fr}.sponsor-impact{gap:24px}.sponsor-impact h3{font-size:27px}}


/* ===== HYPIUM HUB PAGES v11 ===== */
.hub-hero{min-height:62vh;padding:150px 24px 80px;background:var(--ink);position:relative;overflow:hidden;display:flex;align-items:center}.hub-hero .blueprint-grid{opacity:.28}.hub-hero-inner{width:min(1160px,100%);margin:auto;position:relative;z-index:2}.hub-kicker{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;color:var(--amber);text-transform:uppercase}.hub-title{font-family:var(--font-display);font-size:clamp(48px,8vw,92px);line-height:.92;color:var(--white);margin:18px 0 24px;max-width:980px}.hub-lead{max-width:760px;color:var(--paper-dim);font-size:18px;line-height:1.75}.hub-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.hub-nav{display:flex;gap:8px;flex-wrap:wrap;margin-top:34px}.hub-nav a{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--paper-dim);border:1px solid rgba(255,255,255,.18);padding:9px 12px;text-decoration:none}.hub-nav a.active,.hub-nav a:hover{border-color:var(--amber);color:var(--amber)}
.metric-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:34px 0}.metric-card{border:1px solid var(--line);background:var(--white);padding:24px;min-height:135px}.metric-value{display:block;font-family:var(--font-display);font-size:42px;color:var(--navy);line-height:1}.metric-label{display:block;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;color:var(--muted);margin-top:12px;text-transform:uppercase}.metric-note{font-size:12px;color:var(--muted);margin-top:8px;line-height:1.45}.evidence-note{border-left:3px solid var(--amber);background:rgba(255,179,0,.07);padding:18px 20px;margin:28px 0;color:var(--navy);line-height:1.65}.impact-log{display:grid;gap:14px}.impact-entry{display:grid;grid-template-columns:150px 1fr 180px;gap:24px;border-top:1px solid var(--line);padding:22px 0;align-items:start}.impact-entry .mono{font-size:10px;color:var(--muted)}.impact-entry h3{font-family:var(--font-display);font-size:24px;color:var(--navy);margin-bottom:7px}.impact-entry p{color:var(--muted);line-height:1.65}.impact-proof{font-family:var(--font-mono);font-size:10px;color:var(--navy);border:1px solid var(--line);padding:9px 10px;text-align:center}.empty-state{border:1px dashed var(--line);padding:34px;text-align:center;color:var(--muted);line-height:1.7}.empty-state strong{display:block;font-family:var(--font-display);font-size:24px;color:var(--navy);margin-bottom:8px}
.eng-process{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:34px 0}.eng-step{border:1px solid rgba(255,255,255,.2);padding:22px;min-height:155px}.eng-step .mono{color:var(--amber);font-size:10px}.eng-step h3{font-family:var(--font-display);font-size:21px;color:var(--white);margin:10px 0}.eng-step p{color:var(--paper-dim);font-size:14px;line-height:1.55}.engineering-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.engineering-card{border:1px solid var(--line);background:var(--white);padding:30px}.engineering-card .mono{font-size:10px;color:var(--muted)}.engineering-card h3{font-family:var(--font-display);font-size:27px;color:var(--navy);margin:9px 0 12px}.engineering-card p{color:var(--muted);line-height:1.7}.status-pill{display:inline-flex;margin-top:18px;border:1px solid var(--line);padding:7px 10px;font-family:var(--font-mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--navy)}.decision-table{width:100%;border-collapse:collapse;margin-top:26px}.decision-table th,.decision-table td{border:1px solid var(--line);padding:14px;text-align:left;vertical-align:top}.decision-table th{font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;color:var(--navy);background:#f5f3ed}.decision-table td{color:var(--muted);font-size:14px;line-height:1.55}
.academy-stats{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}.academy-stats span{border:1px solid rgba(255,255,255,.2);padding:10px 14px;color:var(--paper-dim);font-family:var(--font-mono);font-size:10px}.course-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.course-card{border:1px solid var(--line);background:var(--white);padding:30px;position:relative}.course-no{font-family:var(--font-mono);font-size:10px;color:var(--amber);letter-spacing:.08em}.course-card h3{font-family:var(--font-display);font-size:28px;color:var(--navy);margin:10px 0}.course-card p{color:var(--muted);line-height:1.7}.course-meta{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.course-meta span{font-family:var(--font-mono);font-size:9px;border:1px solid var(--line);padding:6px 8px;color:var(--muted)}.lesson-list{margin:16px 0 0;padding:0;list-style:none}.lesson-list li{padding:9px 0;border-top:1px solid var(--line);color:var(--navy);font-size:14px}.academy-principles{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.academy-principles article{border:1px solid rgba(255,255,255,.2);padding:25px}.academy-principles h3{font-family:var(--font-display);color:var(--white);font-size:22px;margin-bottom:9px}.academy-principles p{color:var(--paper-dim);line-height:1.6}
.hub-home-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.hub-home-card{display:block;border:1px solid var(--line);background:var(--white);padding:28px;text-decoration:none;transition:transform .2s ease,border-color .2s ease}.hub-home-card:hover{transform:translateY(-3px);border-color:var(--amber)}.hub-home-card .mono{font-size:10px;color:var(--amber)}.hub-home-card h3{font-family:var(--font-display);font-size:25px;color:var(--navy);margin:10px 0}.hub-home-card p{color:var(--muted);line-height:1.6}.hub-home-card b{display:block;margin-top:18px;color:var(--navy);font-family:var(--font-mono);font-size:10px;letter-spacing:.07em}
@media(max-width:900px){.metric-grid{grid-template-columns:repeat(2,1fr)}.eng-process{grid-template-columns:repeat(2,1fr)}.hub-home-grid,.academy-principles{grid-template-columns:1fr}.impact-entry{grid-template-columns:120px 1fr}.impact-proof{grid-column:2}.engineering-grid,.course-grid{grid-template-columns:1fr}}
@media(max-width:600px){.hub-hero{padding:125px 20px 64px}.metric-grid,.eng-process{grid-template-columns:1fr}.impact-entry{grid-template-columns:1fr;gap:8px}.impact-proof{grid-column:auto;text-align:left}.decision-table{display:block;overflow-x:auto}.hub-lead{font-size:16px}}

/* Impact event evidence galleries */
.impact-event-card{overflow:hidden}.event-meta{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 2px}.event-meta span{font-family:var(--font-mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--navy);border:1px solid var(--line);padding:6px 8px;background:rgba(11,35,65,.03)}.event-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:22px 0 18px}.event-gallery img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;border:1px solid var(--line);background:var(--paper)}.project-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:16px}.project-tags span{font-family:var(--font-mono);font-size:9px;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--line);padding:6px 8px;color:var(--muted)}
@media(max-width:600px){.event-gallery{grid-template-columns:1fr}.event-gallery img{aspect-ratio:4/3}}

/* v15 — Hub navigation, drawer and Impact animations */
.hub-primary-nav{display:flex;align-items:center;gap:26px;margin-left:auto}.hub-primary-nav a{font-family:var(--font-display);font-weight:700;font-size:14px;color:var(--paper);letter-spacing:.02em}.hub-primary-nav a:hover{color:var(--amber)}
.nav-toggle-always{display:flex!important;order:4;cursor:pointer;margin-left:8px}.nav-toggle-always span{transition:transform .25s,opacity .25s}.site-nav.open .nav-toggle-always span:nth-child(1){transform:translateY(7px) rotate(45deg)}.site-nav.open .nav-toggle-always span:nth-child(2){opacity:0}.site-nav.open .nav-toggle-always span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.nav-drawer{position:absolute;top:100%;right:max(24px,calc((100vw - 1280px)/2 + 32px));width:min(360px,calc(100vw - 32px));background:rgba(4,21,31,.98);border:1px solid rgba(255,255,255,.14);border-top:2px solid var(--amber);padding:10px;display:grid;opacity:0;visibility:hidden;transform:translateY(-8px);transition:.22s ease;box-shadow:0 22px 55px rgba(0,0,0,.35)}.site-nav.open .nav-drawer{opacity:1;visibility:visible;transform:none}.nav-drawer a{color:var(--paper);padding:13px 15px;border-bottom:1px solid rgba(255,255,255,.08);font-size:14px}.nav-drawer a:last-child{border-bottom:0;color:var(--amber);font-weight:700}.nav-drawer a:hover{background:rgba(255,179,0,.08);color:var(--amber)}
.metric-card{overflow:hidden}.metric-progress{height:4px;background:rgba(11,43,58,.09);margin-top:14px;overflow:hidden}.metric-progress i{display:block;height:100%;width:0;background:var(--amber);transition:width 1.15s cubic-bezier(.2,.8,.2,1)}.metric-card.metric-in .metric-progress i{width:var(--progress)}
.course-link{display:block;text-decoration:none;transition:transform .2s,border-color .2s,box-shadow .2s}.course-link:hover{transform:translateY(-4px);border-color:var(--amber);box-shadow:0 14px 34px rgba(7,35,48,.12)}.course-watch{display:inline-block;margin-top:20px;font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;color:var(--amber);font-weight:700}
@media(max-width:900px){.hub-primary-nav{gap:14px}.hub-primary-nav a{font-size:12px}.nav-brand-sub{display:none}}
@media(max-width:650px){.hub-primary-nav{gap:10px}.hub-primary-nav a{font-size:10px}.nav-brand-text{display:none}.lang-switch{display:none}.nav-inner{padding-left:18px;padding-right:18px}.nav-drawer{right:16px}}

/* =====================================================
   v16 — Hub pages: main-site visual language + motion
   ===================================================== */
.scroll-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:300;background:transparent;pointer-events:none}
.scroll-progress i{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--amber),#ffd86b);box-shadow:0 0 14px rgba(255,179,0,.65);transition:width .08s linear}

.hub-page{background:var(--paper)}
.hub-page .site-nav{transition:transform .35s ease,background .35s ease,border-color .35s ease}
.hub-page.is-scrolling .site-nav{background:rgba(0,26,43,.88)}
.hub-page .hub-hero{min-height:92vh;padding:150px 24px 95px;display:flex;align-items:center;position:relative;overflow:hidden;background:radial-gradient(ellipse 95% 75% at 50% 0%,var(--navy) 0%,var(--navy-deep) 52%,var(--ink) 100%)}
.hub-page .hub-hero::before,.hub-page .hub-hero::after{content:"";position:absolute;border:1px solid rgba(255,179,0,.22);border-radius:50%;pointer-events:none}
.hub-page .hub-hero::before{width:520px;height:520px;right:-170px;top:80px;animation:hubOrbit 18s linear infinite}
.hub-page .hub-hero::after{width:260px;height:260px;left:-90px;bottom:30px;animation:hubOrbit 12s linear infinite reverse}
.hub-page .hub-hero-inner{max-width:980px;margin:0 auto;text-align:center;position:relative;z-index:2}
.hub-emblem{width:126px;height:126px;margin:22px auto 24px;position:relative;filter:drop-shadow(0 14px 30px rgba(0,0,0,.25))}
.hub-emblem::before,.hub-emblem::after{content:"";position:absolute;inset:-12px;border:1px solid rgba(255,179,0,.42);transform:rotate(45deg);transition:transform .8s cubic-bezier(.2,.8,.2,1),opacity .5s ease}
.hub-emblem::after{inset:-23px;border-color:rgba(184,220,242,.20);transform:rotate(22.5deg)}
.hub-emblem img{width:100%;height:100%;object-fit:contain;border-radius:14px;animation:float 6s ease-in-out infinite}
.scroll-settled .hub-emblem::before{animation:settlePulse .8s ease}
.hub-page .hub-kicker{display:inline-flex;align-items:center;gap:10px;color:var(--dragon-light);font-family:var(--font-mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase}
.hub-page .hub-kicker::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--amber);box-shadow:0 0 12px var(--amber)}
.hub-page .hub-title{font-family:var(--font-display);font-size:clamp(48px,8vw,94px);line-height:.98;color:var(--white);letter-spacing:-.035em;margin:0 auto 24px;max-width:960px}
.hub-page .hub-lead{max-width:760px;margin:0 auto;color:var(--dragon-light);font-size:18px;line-height:1.7}
.hub-page .hub-nav{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:38px}
.hub-page .hub-nav a{border:1px solid rgba(255,255,255,.18);padding:11px 17px;color:var(--paper);font-family:var(--font-mono);font-size:10px;letter-spacing:.07em;text-transform:uppercase;transition:transform .25s ease,border-color .25s ease,background .25s ease,color .25s ease}
.hub-page .hub-nav a:hover{transform:translateY(-3px);border-color:var(--amber);color:var(--amber)}
.hub-page .hub-nav a.active{background:var(--amber);border-color:var(--amber);color:var(--ink)}

.hub-page .section{overflow:clip}
.hub-page .section::after{content:"";position:absolute;left:50%;bottom:0;width:min(1180px,calc(100% - 48px));height:1px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,var(--line),transparent)}
.hub-page .section-dark::after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent)}
.hub-page .section-inner::before{content:"";position:absolute;right:-150px;top:-80px;width:260px;height:260px;background:radial-gradient(circle,rgba(111,168,206,.12),transparent 67%);pointer-events:none;transform:translate3d(0,var(--section-parallax,0),0);transition:transform .12s linear}

.hub-page .metric-card,.hub-page .project-card,.hub-page .engineering-card,.hub-page .course-card,.hub-page .academy-principles article,.hub-page .eng-step{transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease,border-color .35s ease,background .35s ease}
.hub-page .metric-card:hover,.hub-page .project-card:hover,.hub-page .engineering-card:hover,.hub-page .course-card:hover{transform:translateY(-8px);border-color:rgba(255,179,0,.7);box-shadow:0 22px 50px rgba(0,48,77,.12)}
.hub-page .eng-step:hover,.hub-page .academy-principles article:hover{transform:translateY(-6px);border-color:rgba(255,179,0,.6);background:rgba(255,255,255,.035)}
.hub-page .event-gallery img{transition:transform .65s cubic-bezier(.2,.8,.2,1),filter .4s ease}
.hub-page .event-gallery img:hover{transform:scale(1.035);filter:saturate(1.08) contrast(1.03)}
.hub-page .course-watch{display:inline-flex;margin-top:18px;color:var(--navy);font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.05em;transition:transform .25s ease,color .25s ease}
.hub-page .course-card:hover .course-watch{transform:translateX(7px);color:var(--amber)}
.hub-page .metric-value{display:inline-block;transform-origin:left center}
.hub-page .metric-in .metric-value{animation:numberPop .65s cubic-bezier(.2,.9,.25,1.2)}
.hub-page .metric-progress{overflow:hidden}
.hub-page .metric-progress i{transform-origin:left center;transform:scaleX(0);width:var(--progress,0);transition:transform 1.25s cubic-bezier(.16,1,.3,1) .12s}
.hub-page .metric-in .metric-progress i{transform:scaleX(1)}

/* Hub scroll entrance animations */
.hub-page .motion-item{opacity:0;transform:translateY(34px) scale(.985);filter:blur(4px);transition:opacity .75s ease,transform .85s cubic-bezier(.2,.8,.2,1),filter .75s ease}
.hub-page .motion-item.motion-in{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}
.hub-page .motion-item[data-motion="left"]{transform:translateX(-36px)}
.hub-page .motion-item[data-motion="right"]{transform:translateX(36px)}
.hub-page .motion-item[data-motion="zoom"]{transform:scale(.94)}
.hub-page .motion-item.motion-in[data-motion]{transform:translate(0,0) scale(1)}

@keyframes hubOrbit{to{transform:rotate(360deg)}}
@keyframes settlePulse{0%{box-shadow:0 0 0 0 rgba(255,179,0,.45)}100%{box-shadow:0 0 0 22px rgba(255,179,0,0)}}
@keyframes numberPop{0%{transform:scale(.82);opacity:.25}70%{transform:scale(1.08)}100%{transform:scale(1);opacity:1}}

@media(max-width:760px){
  .hub-page .hub-hero{min-height:auto;padding:125px 18px 74px}
  .hub-emblem{width:96px;height:96px}
  .hub-page .hub-title{font-size:clamp(42px,13vw,66px)}
  .hub-page .hub-lead{font-size:16px}
  .hub-page .hub-hero::before{width:320px;height:320px;right:-180px}
}

@media(prefers-reduced-motion:reduce){
  .hub-page .motion-item{opacity:1!important;transform:none!important;filter:none!important}
  .hub-page .hub-hero::before,.hub-page .hub-hero::after,.hub-emblem img{animation:none!important}
}

/* v17 navigation: four languages + main menu */
.main-menu-link{color:var(--amber)!important;border-left:1px solid rgba(255,255,255,.22);padding-left:24px}.lang-switch{white-space:nowrap}.lang-switch .lang-btn{min-width:22px;text-align:center}.nav-toggle-always{flex:0 0 auto}@media(max-width:1050px){.hub-primary-nav{gap:14px}.hub-primary-nav a{font-size:12px}.main-menu-link{padding-left:14px}}@media(max-width:780px){.hub-primary-nav{display:none}.lang-switch{display:flex!important;margin-left:auto;font-size:10px;gap:3px}.lang-switch .lang-btn{padding:5px 2px;min-width:20px}.nav-toggle-always{display:flex!important}}@media(max-width:420px){.lang-switch span{display:none}.lang-switch{gap:1px}.lang-switch .lang-btn{border:1px solid rgba(255,255,255,.12);padding:5px 4px}.nav-logo{width:34px;height:34px}}

/* v19 — Mobile top navigation visibility fix */
@media (max-width: 780px) {
  .site-nav .nav-inner {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 10px;
    padding-top: 10px;
    padding-bottom: 8px;
  }

  .site-nav .nav-brand {
    margin-right: auto;
    flex: 0 0 auto;
  }

  .site-nav .lang-switch {
    display: flex !important;
    order: 2;
    margin-left: 0;
    flex: 0 0 auto;
  }

  .site-nav .nav-toggle-always {
    order: 3;
    margin-left: 2px;
  }

  .site-nav .hub-primary-nav {
    order: 4;
    display: flex !important;
    width: 100%;
    gap: 7px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    padding: 3px 0 2px;
  }

  .site-nav .hub-primary-nav::-webkit-scrollbar {
    display: none;
  }

  .site-nav .hub-primary-nav a {
    flex: 0 0 auto;
    font-size: 10px;
    line-height: 1;
    padding: 8px 10px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 3px;
    background: rgba(255,255,255,.035);
    white-space: nowrap;
  }

  .site-nav .hub-primary-nav a:hover,
  .site-nav .hub-primary-nav a:focus-visible {
    border-color: var(--amber);
    color: var(--amber);
  }

  .site-nav .main-menu-link {
    border-left: 1px solid rgba(255,255,255,.14) !important;
    padding-left: 10px;
    color: var(--amber) !important;
  }

  .site-nav .nav-drawer {
    top: 100%;
    max-height: calc(100vh - 112px);
    overflow-y: auto;
  }

  .hub-page .hub-hero {
    padding-top: 178px;
  }
}

@media (max-width: 420px) {
  .site-nav .nav-inner {
    padding-left: 12px;
    padding-right: 12px;
  }

  .site-nav .lang-switch {
    font-size: 9px;
  }

  .site-nav .lang-switch .lang-btn {
    min-width: 19px;
    padding: 5px 3px;
  }

  .site-nav .hub-primary-nav a {
    font-size: 9px;
    padding: 7px 9px;
  }

  .hub-page .hub-hero {
    padding-top: 172px;
  }
}


/* =====================================================
   v20 — Impact interactive map + Our Season
   ===================================================== */
.hub-primary-nav a.active{color:var(--amber);border-color:rgba(255,179,0,.45)}
.impact-map-shell{margin-top:34px;border:1px solid var(--line);background:var(--surface);overflow:hidden}
.impact-map-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-bottom:1px solid var(--line);font-family:var(--mono,monospace);font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.impact-map-filter{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border:1px solid var(--amber);color:var(--amber)}
.impact-map-summary{color:var(--muted)}.impact-map-summary strong{color:var(--text)}
.impact-map-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.7fr);min-height:460px}
.impact-map{min-height:460px;background:#d9dde1;z-index:1}.impact-map .leaflet-control-attribution{font-size:9px}
.impact-map .leaflet-popup-content-wrapper,.impact-map .leaflet-popup-tip{background:#111820;color:#eef3f6;border-radius:0}
.impact-map .leaflet-popup-content{margin:0;min-width:240px}.impact-popup{overflow:hidden}.impact-popup img{display:block;width:100%;height:120px;object-fit:cover}.impact-popup-copy{padding:12px 14px}.impact-popup-copy small{display:block;color:#aeb8c2;margin-bottom:5px}.impact-popup-copy strong{display:block;font-size:15px;margin-bottom:7px}.impact-popup-copy p{font-size:12px;line-height:1.5;margin:0;color:#d9e0e5}
.impact-map-list{display:flex;flex-direction:column;border-left:1px solid var(--line);background:var(--surface)}
.impact-location-card{appearance:none;width:100%;display:grid;grid-template-columns:16px 1fr;gap:10px;text-align:left;padding:18px 16px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);cursor:pointer;min-height:82px}
.impact-location-card:hover,.impact-location-card:focus-visible,.impact-location-card.active{background:rgba(255,179,0,.07);outline:none}.impact-location-card.active strong{color:var(--amber)}
.impact-location-card strong{display:block;font-size:14px}.impact-location-card small{display:block;color:var(--muted);line-height:1.45;margin-top:5px}.impact-dot{width:9px;height:9px;margin-top:5px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 5px rgba(255,179,0,.12)}

.season-hero .hub-lead{max-width:760px}.season-progress{display:flex;align-items:center;gap:9px;margin-top:26px;max-width:360px}.season-progress span{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);font-family:var(--mono,monospace);font-size:11px}.season-progress i{height:1px;flex:1;background:var(--line)}.season-progress .done{border-color:rgba(72,190,120,.55)}.season-progress .progress{border-color:var(--amber);color:var(--amber)}
.season-timeline{margin-top:34px;border-top:1px solid var(--line)}.season-item{display:grid;grid-template-columns:78px 1fr;border-bottom:1px solid var(--line);min-height:160px}.season-rail{border-right:1px solid var(--line);display:flex;justify-content:center;padding-top:28px}.season-rail span{font-family:var(--mono,monospace);font-size:13px;color:var(--muted)}.season-content{padding:27px 28px 30px}.season-meta{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:12px}.season-meta>.mono{font-size:11px;color:var(--muted)}.season-status{font-family:var(--mono,monospace);font-size:9px;letter-spacing:.09em;padding:5px 8px;border:1px solid var(--line)}.season-done .season-status{border-color:rgba(72,190,120,.45)}.season-progress .season-status,.season-progress.season-item .season-status{border-color:rgba(255,179,0,.55);color:var(--amber)}.season-next .season-status{border-style:dashed}.season-content h3{margin:0 0 8px;font-size:clamp(20px,2vw,29px)}.season-content p{margin:0;color:var(--muted);max-width:850px;line-height:1.65}
.team-network{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);margin-top:28px;border:1px solid var(--line)}.team-network span{display:grid;place-items:center;min-height:110px;padding:18px;text-align:center;background:#0d141b;font-weight:700;letter-spacing:.02em}
.season-current-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin-top:28px}.season-current-copy{font-size:18px;line-height:1.7;color:var(--muted)}.funding-state{margin-top:28px}.funding-state>span{font-family:var(--mono,monospace);font-size:10px;color:var(--amber)}.funding-state>div{height:7px;background:var(--line);margin-top:9px;overflow:hidden}.funding-state i{display:block;width:42%;height:100%;background:var(--amber);animation:fundingPulse 2.5s ease-in-out infinite alternate}.season-next{border-left:1px solid var(--line);padding-left:30px}.season-next h3{font-size:22px;margin:0 0 14px}.season-next ol{list-style:none;padding:0;margin:0}.season-next li{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);color:var(--muted)}.season-next li span{font-family:var(--mono,monospace);font-size:10px;color:var(--amber);padding-top:3px}@keyframes fundingPulse{from{opacity:.55}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.funding-state i{animation:none}}
@media (max-width:900px){.impact-map-grid{grid-template-columns:1fr}.impact-map-list{border-left:0;border-top:1px solid var(--line)}.team-network{grid-template-columns:1fr 1fr}.season-current-grid{grid-template-columns:1fr}.season-next{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:26px}}
@media (max-width:560px){.impact-map-toolbar{align-items:flex-start;flex-direction:column}.impact-map,.impact-map-grid{min-height:390px}.season-item{grid-template-columns:50px 1fr}.season-content{padding:22px 16px 24px}.season-meta{align-items:flex-start;flex-direction:column}.team-network{grid-template-columns:1fr 1fr}.team-network span{min-height:82px;font-size:13px}}


/* ===== Our Season v22 — jury portfolio treatment ===== */
.hub-season .season-hero{overflow:hidden}
.hub-season .season-hero .hub-hero-inner{position:relative;z-index:2}
.season-overview{width:min(760px,100%);margin-top:34px;padding:18px 20px 16px;border:1px solid var(--line);background:rgba(255,255,255,.035);backdrop-filter:blur(8px)}
.season-overview-head{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:13px;color:var(--paper-dim)}
.season-overview-head .mono{font-size:10px;letter-spacing:.11em}
.season-segments{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}
.season-segments i{display:block;height:8px;border:1px solid var(--line);background:transparent;position:relative;overflow:hidden}
.season-segments i.done{border-color:rgba(72,190,120,.42);background:rgba(72,190,120,.18)}
.season-segments i.active{border-color:rgba(255,179,0,.62);background:rgba(255,179,0,.13)}
.season-segments i.active:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,179,0,.65),transparent);transform:translateX(-100%);animation:seasonScan 2.8s ease-in-out infinite}
.season-segments i.next{border-style:dashed;opacity:.7}
.season-overview-legend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:13px}
.season-overview-legend span{display:flex;align-items:baseline;gap:7px;min-width:0;font-family:var(--mono,monospace);font-size:9px;letter-spacing:.06em;color:var(--paper-dim);white-space:normal}
.season-overview-legend b{font-size:17px;color:var(--white);font-weight:600;letter-spacing:0}
.season-overview-legend .active b{color:var(--amber)}
@keyframes seasonScan{0%,18%{transform:translateX(-110%)}65%,100%{transform:translateX(110%)}}

.hub-season .season-timeline{position:relative;border-top:0;margin-top:40px}
.hub-season .season-item{position:relative;grid-template-columns:92px minmax(0,1fr);border:1px solid var(--line);border-bottom:0;min-height:166px;background:rgba(255,255,255,.72);transition:border-color .25s ease,transform .25s ease,background .25s ease}
.hub-season .season-item:last-child{border-bottom:1px solid var(--line)}
.hub-season .season-item:before{content:"";position:absolute;left:45px;top:0;bottom:0;width:1px;background:var(--line);z-index:0}
.hub-season .season-rail{position:relative;z-index:1;border-right:0;justify-content:center;padding-top:31px}
.hub-season .season-rail:after{content:"";position:absolute;top:59px;left:50%;width:11px;height:11px;border-radius:50%;background:var(--white);border:2px solid var(--line);transform:translateX(-50%);box-shadow:0 0 0 6px var(--white)}
.hub-season .season-done .season-rail:after{border-color:rgba(72,190,120,.8);background:rgba(72,190,120,.22)}
.hub-season .season-progress.season-item{border-color:rgba(255,179,0,.5);background:linear-gradient(90deg,rgba(255,179,0,.07),rgba(255,255,255,.82) 38%)}
.hub-season .season-progress .season-rail:after{border-color:var(--amber);background:var(--amber);box-shadow:0 0 0 6px rgba(255,179,0,.12),0 0 0 7px rgba(255,179,0,.28)}
.hub-season .season-next.season-item{background:rgba(255,255,255,.46)}
.hub-season .season-content{padding:30px 34px 34px}
.hub-season .season-content h3{font-size:clamp(22px,2.1vw,31px);line-height:1.12;letter-spacing:-.015em}
.hub-season .season-content p{font-size:15px;line-height:1.72}
.hub-season .season-status{border-radius:999px;padding:6px 10px;font-weight:700}
.hub-season .season-progress.season-item .season-status{background:rgba(255,179,0,.08)}
@media (hover:hover) and (pointer:fine){.hub-season .season-item:hover{transform:translateX(5px);border-color:rgba(13,31,47,.28);background:#fff}.hub-season .season-progress.season-item:hover{border-color:rgba(255,179,0,.72)}}

.hub-season .season-current-grid{align-items:start}
.hub-season .season-current-copy,.hub-season .season-next{min-width:0}
.hub-season .funding-state>div{height:8px;border-radius:999px;background:rgba(13,31,47,.09)}
.hub-season .funding-state i{border-radius:999px;position:relative;overflow:hidden}
.hub-season .funding-state i:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.7),transparent);animation:seasonScan 2.6s ease-in-out infinite}

@media (max-width:700px){
  .hub-season .season-hero .hub-title br{display:none}
  .hub-season .season-overview{margin-top:26px;padding:15px 14px 14px}
  .season-overview-head{align-items:flex-start;flex-direction:column;gap:4px;margin-bottom:11px}
  .season-segments{gap:4px}.season-segments i{height:7px}
  .season-overview-legend{gap:7px}.season-overview-legend span{display:grid;gap:2px;font-size:8px;line-height:1.25}.season-overview-legend b{font-size:15px}
  .hub-season .season-timeline{margin-top:28px}
  .hub-season .season-item{grid-template-columns:58px minmax(0,1fr);min-height:0}
  .hub-season .season-item:before{left:28px}
  .hub-season .season-rail{padding-top:24px}.hub-season .season-rail:after{top:50px;width:9px;height:9px;box-shadow:0 0 0 4px var(--white)}
  .hub-season .season-progress .season-rail:after{box-shadow:0 0 0 4px rgba(255,179,0,.12),0 0 0 5px rgba(255,179,0,.25)}
  .hub-season .season-content{padding:23px 15px 26px 13px}
  .hub-season .season-meta{gap:8px;margin-bottom:13px}.hub-season .season-status{font-size:8px;padding:5px 8px;max-width:100%}
  .hub-season .season-content h3{font-size:22px;overflow-wrap:anywhere}.hub-season .season-content p{font-size:14px;line-height:1.68;overflow-wrap:anywhere}
  .hub-season .season-rail span{font-size:10px}
  .hub-season .season-current-grid{gap:24px}.hub-season .season-current-copy{font-size:16px}
  .hub-season .season-next li{align-items:flex-start;line-height:1.5}.hub-season .season-next li span{flex:0 0 auto}
}
@media (max-width:390px){
  .hub-season .season-item{grid-template-columns:48px minmax(0,1fr)}.hub-season .season-item:before{left:23px}.hub-season .season-content{padding-left:10px;padding-right:12px}
  .hub-season .season-meta{flex-direction:column;align-items:flex-start}.season-overview-legend{grid-template-columns:1fr}.season-overview-legend span{grid-template-columns:22px 1fr;align-items:baseline}
}
@media (prefers-reduced-motion:reduce){.season-segments i.active:after,.hub-season .funding-state i:after{animation:none}.hub-season .season-item{transition:none}}
