:root {
  --navy: #091c31;
  --navy-2: #0f2944;
  --navy-3: #173a5b;
  --paper: #f5f7fa;
  --white: #f8fbff;
  --ink: #162433;
  --muted: #657381;
  --blue: #3691f4;
  --orange: #ff8438;
  --green: #4dce8d;
  --amber: #f3c14e;
  --red: #ff586c;
  --line: rgba(22,36,51,.13);
  --line-dark: rgba(157,204,235,.17);
  --shadow: 0 25px 70px rgba(8,26,44,.17);
  --radius: 24px;
  color-scheme: light;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); line-height: 1.6; overflow-x: hidden; }
a { color: inherit; }
img { display: block; max-width: 100%; }
.wrap { width: min(1180px, calc(100% - 2.5rem)); margin-inline: auto; }
.skip-link { position: fixed; z-index: 1000; top: -5rem; left: 1rem; padding: .8rem 1rem; border-radius: .7rem; color: var(--navy); background: white; }
.skip-link:focus { top: 1rem; }

.topbar { position: sticky; z-index: 80; top: 0; display: flex; min-height: 74px; align-items: center; justify-content: space-between; gap: 2rem; padding: .7rem clamp(1.15rem,4vw,4.5rem); border-bottom: 1px solid var(--line-dark); color: white; background: rgba(6,22,38,.9); backdrop-filter: blur(17px); }
.brand { display: inline-flex; align-items: center; gap: .8rem; text-decoration: none; }
.brand strong, .brand small { display: block; }
.brand small { color: #adc1d0; font-size: .7rem; }
.brand-mark { position: relative; width: 44px; height: 44px; border: 3px solid var(--blue); border-radius: 13px 13px 16px 16px; box-shadow: inset 0 -8px 0 rgba(54,145,244,.18); }
.brand-mark::before, .brand-mark::after { position: absolute; top: 12px; width: 6px; height: 6px; border-radius: 50%; background: white; content: ""; }
.brand-mark::before { left: 8px; }
.brand-mark::after { right: 8px; }
.brand-mark i { position: absolute; left: 50%; bottom: -7px; width: 25px; height: 8px; border-radius: 0 0 10px 10px; background: var(--orange); transform: translateX(-50%); }
nav { display: flex; align-items: center; gap: clamp(.8rem,2.2vw,2rem); }
nav a { color: #dce9f2; font-size: .88rem; font-weight: 720; text-decoration: none; }
nav a:hover { color: white; }
.nav-contact { padding: .6rem .9rem; border: 1px solid rgba(255,132,56,.4); border-radius: 999px; background: rgba(255,132,56,.08); }

.hero { display: grid; grid-template-columns: minmax(0,.92fr) minmax(470px,1.08fr); min-height: calc(100vh - 74px); align-items: center; gap: clamp(2.5rem,6vw,6rem); padding: clamp(4.4rem,8vw,8rem) max(1.25rem,calc((100% - 1180px)/2)); color: white; background: radial-gradient(circle at 7% 6%,rgba(54,145,244,.2),transparent 30rem), radial-gradient(circle at 91% 79%,rgba(255,132,56,.16),transparent 34rem), linear-gradient(145deg,var(--navy),#071522); }
.hero-copy { min-width: 0; }
.back-link { display: inline-flex; margin-bottom: 1.3rem; color: #a9c1d2; font-size: .82rem; font-weight: 750; text-decoration: none; }
.back-link:hover { color: white; }
.eyebrow { margin: 0 0 .85rem; color: #2075be; font-size: .76rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.hero .eyebrow, .modes-band .eyebrow, .safety-band .eyebrow { color: #75b8ff; }
.hero h1, .section-heading h2, .equipment h2, .safety-band h2, .contact h2 { margin: 0; letter-spacing: -.045em; line-height: 1.02; }
.hero h1 { font-size: clamp(3.2rem,5vw,5rem); overflow-wrap: break-word; }
.hero h1 span { display: block; color: transparent; background: linear-gradient(100deg,#fff 0%,#78b9ff 45%,var(--orange) 100%); background-clip: text; -webkit-background-clip: text; }
.lead { max-width: 720px; margin: 1.45rem 0 0; color: #bfd1dd; font-size: clamp(1.04rem,1.5vw,1.23rem); }
.hero-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 2rem; }
.button { display: inline-flex; min-height: 52px; align-items: center; justify-content: center; padding: .78rem 1.15rem; border: 1px solid transparent; border-radius: 14px; font-weight: 820; text-decoration: none; transition: transform 160ms ease, box-shadow 160ms ease; }
.button:hover { transform: translateY(-2px); }
.button.primary { color: #071625; background: linear-gradient(135deg,#dff2ff,#64aef7 56%,#63d8a0); box-shadow: 0 16px 34px rgba(54,145,244,.18); }
.button.secondary { border-color: rgba(182,213,234,.28); color: white; background: rgba(255,255,255,.045); }
.availability { display: flex; align-items: center; gap: .6rem; margin: 1.2rem 0 0; color: #a9c1d2; font-size: .8rem; }
.availability span { width: 8px; height: 8px; border-radius: 50%; background: var(--amber); box-shadow: 0 0 0 5px rgba(243,193,78,.09); }
.hero-visual { position: relative; padding: .7rem; border: 1px solid var(--line-dark); border-radius: 30px; background: rgba(255,255,255,.05); box-shadow: 0 30px 80px rgba(0,0,0,.32); }
.hero-visual img { width: 100%; border-radius: 21px; }
.team-pills { position: absolute; right: 1.5rem; bottom: 1.5rem; left: 1.5rem; display: flex; align-items: center; justify-content: space-between; gap: .7rem; }
.team-pills span, .team-pills b { padding: .45rem .68rem; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; background: rgba(7,22,37,.84); backdrop-filter: blur(10px); font-size: .72rem; }
.team-pills span:first-child { color: #8bc4ff; }
.team-pills span:last-child { color: #ffab72; }
.team-pills b { color: white; }

.facts { display: grid; grid-template-columns: repeat(4,1fr); width: min(1180px,calc(100% - 2.5rem)); margin: -1.8rem auto 0; border: 1px solid var(--line); border-radius: 20px; background: white; box-shadow: var(--shadow); overflow: hidden; position: relative; z-index: 3; }
.facts div { padding: 1.2rem; border-right: 1px solid var(--line); text-align: center; }
.facts div:last-child { border-right: 0; }
.facts strong, .facts span { display: block; }
.facts strong { color: var(--navy-2); font-size: 1.9rem; line-height: 1; }
.facts span { margin-top: .35rem; color: var(--muted); font-size: .76rem; }

.block { padding-block: clamp(5rem,8vw,8rem); }
.section-heading { max-width: 850px; margin-bottom: 2.4rem; }
.section-heading h2, .equipment h2, .safety-band h2, .contact h2 { font-size: clamp(2.45rem,4.8vw,4.8rem); }
.section-heading > p:last-child { max-width: 760px; margin: 1rem 0 0; color: var(--muted); }
.round-flow { display: grid; grid-template-columns: repeat(4,1fr); gap: 1rem; }
.round-flow article { min-height: 250px; padding: 1.35rem; border: 1px solid var(--line); border-radius: var(--radius); background: white; box-shadow: 0 12px 35px rgba(8,26,44,.06); }
.round-flow span { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 12px; color: white; background: var(--navy-3); font-size: .74rem; font-weight: 850; }
.round-flow article:nth-child(2) span { color: #132a3e; background: var(--amber); }
.round-flow article:nth-child(3) span { background: var(--blue); }
.round-flow article:nth-child(4) span { color: #132a3e; background: var(--green); }
.round-flow h3 { margin: 1rem 0 .5rem; font-size: 1.18rem; }
.round-flow p { margin: 0; color: var(--muted); }
.score-card { display: grid; grid-template-columns: repeat(3,1fr) 1.6fr; align-items: stretch; gap: 1px; margin-top: 1.2rem; border: 1px solid var(--line); border-radius: 20px; background: var(--line); overflow: hidden; }
.score-card > * { margin: 0; padding: 1.2rem; background: white; }
.score-card div { text-align: center; }
.score-card div span, .score-card div strong, .score-card div small { display: block; }
.score-card div span { color: var(--muted); font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.score-card div strong { color: var(--navy-2); font-size: 2rem; line-height: 1.1; }
.score-card div small { color: var(--muted); }
.score-card p { display: flex; align-items: center; color: #43515d; font-size: .87rem; }

.modes-band { padding-block: clamp(5rem,8vw,8rem); color: white; background: linear-gradient(145deg,#0c2843,#071827); }
.light-heading > p:last-child { color: #aec5d4; }
.mode-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.1rem; }
.mode-card { position: relative; min-height: 330px; padding: 1.5rem; border: 1px solid var(--line-dark); border-radius: var(--radius); background: rgba(255,255,255,.045); overflow: hidden; }
.mode-card::after { position: absolute; right: -45px; bottom: -60px; width: 170px; height: 170px; border-radius: 50%; background: rgba(54,145,244,.13); content: ""; }
.mode-card.live::after { background: rgba(77,206,141,.13); }
.mode-card.mixed::after { background: rgba(255,132,56,.13); }
.mode-icon { display: grid; width: 53px; height: 53px; place-items: center; border-radius: 15px; color: #071827; background: var(--blue); font-family: ui-monospace,monospace; font-size: 1.1rem; font-weight: 900; }
.mode-card.live .mode-icon { background: var(--green); }
.mode-card.mixed .mode-icon { background: var(--orange); }
.mode-card h3 { margin: 1.2rem 0 .6rem; font-size: 1.65rem; }
.mode-card p { color: #b9ccd8; }
.mode-card small { position: relative; z-index: 2; color: #80bce8; font-weight: 750; }
.mode-card.live small { color: #75dba7; }
.mode-card.mixed small { color: #ffad78; }

.feature-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
.feature-grid article { min-height: 235px; padding: 1.35rem; border: 1px solid var(--line); border-radius: 20px; background: white; }
.feature-grid article > span { display: grid; width: 43px; height: 43px; place-items: center; border-radius: 12px; color: white; background: var(--navy-3); font-weight: 900; }
.feature-grid article:nth-child(3n+2) > span { color: #172837; background: var(--amber); }
.feature-grid article:nth-child(3n) > span { color: #172837; background: var(--green); }
.feature-grid h3 { margin: 1rem 0 .45rem; }
.feature-grid p { margin: 0; color: var(--muted); }

.gallery-band { padding-block: clamp(5rem,8vw,8rem); background: white; }
.gallery { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.gallery figure { margin: 0; border: 1px solid var(--line); border-radius: 20px; background: #f8fafc; overflow: hidden; }
.gallery .public-shot { grid-column: 1 / -1; }
.gallery img { width: 100%; aspect-ratio: 16/9; object-fit: cover; object-position: top; }
.gallery figure:last-child img { object-fit: contain; background: white; }
.gallery figcaption { padding: .8rem 1rem 1rem; color: var(--muted); font-size: .84rem; }
.gallery figcaption strong { color: var(--ink); }

.equipment { display: grid; grid-template-columns: .86fr 1.14fr; align-items: start; gap: clamp(2rem,6vw,6rem); }
.equipment-copy > p:last-child { color: var(--muted); font-size: 1.06rem; }
.equipment-list { display: grid; gap: .75rem; }
.equipment-list div { display: grid; grid-template-columns: 100px 1fr; gap: 1rem; padding: 1rem 1.15rem; border: 1px solid var(--line); border-radius: 15px; background: white; }
.equipment-list strong { color: var(--navy-3); }
.equipment-list span { color: var(--muted); }

.safety-band { padding-block: clamp(4.5rem,7vw,7rem); color: white; background: var(--navy); }
.safety-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: start; gap: clamp(2rem,7vw,7rem); }
.safety-band ul { margin: .3rem 0 0; padding: 0; list-style: none; }
.safety-band li { position: relative; padding: .78rem 0 .78rem 2rem; border-bottom: 1px solid var(--line-dark); color: #c1d3df; }
.safety-band li::before { position: absolute; left: 0; top: .88rem; display: grid; width: 20px; height: 20px; place-items: center; border-radius: 50%; color: #071827; background: var(--green); content: "✓"; font-size: .72rem; font-weight: 900; }

.contact { display: grid; grid-template-columns: 1fr .72fr; align-items: center; gap: clamp(2rem,7vw,7rem); padding-block: clamp(5rem,8vw,8rem); }
.contact > div > p:last-child { color: var(--muted); font-size: 1.07rem; }
.contact aside { padding: 1.5rem; border: 1px solid rgba(255,132,56,.25); border-radius: 22px; background: #fff5ec; box-shadow: 0 18px 45px rgba(90,45,18,.08); }
.contact aside span, .contact aside strong, .contact aside small { display: block; }
.contact aside span { color: #a9521c; font-size: .7rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.contact aside strong { margin: .45rem 0 .2rem; font-size: 1.55rem; }
.contact aside p { margin: 0 0 1rem; color: var(--muted); }
.contact aside small { color: #7a5f4e; }

footer { padding: 2.2rem max(1.25rem,calc((100% - 1180px)/2)); background: white; }
.footer-logos { display: flex; align-items: center; justify-content: center; gap: clamp(1.2rem,4vw,3.5rem); padding-bottom: 1.8rem; border-bottom: 1px solid var(--line); }
.footer-logos img { width: auto; max-width: 32%; height: 52px; object-fit: contain; }
.footer-bottom { display: flex; justify-content: space-between; gap: 1rem; padding-top: 1.3rem; color: var(--muted); font-size: .82rem; }
.footer-bottom a { color: #176aa8; font-weight: 760; }

@media (max-width: 930px) {
  .hero, .equipment, .safety-grid, .contact { grid-template-columns: 1fr; }
  .hero { min-height: 0; }
  .round-flow, .feature-grid { grid-template-columns: 1fr 1fr; }
  .score-card { grid-template-columns: repeat(3,1fr); }
  .score-card p { grid-column: 1/-1; }
}
@media (max-width: 690px) {
  .brand small, nav a:not(.nav-contact) { display: none; }
  .brand strong { font-size: .9rem; }
  .hero { padding-top: 3.5rem; }
  .hero h1 { font-size: clamp(2.8rem,12vw,3.5rem); }
  .team-pills { right: 1rem; bottom: 1rem; left: 1rem; }
  .facts { grid-template-columns: 1fr 1fr; margin-top: -1rem; }
  .facts div { border-bottom: 1px solid var(--line); }
  .facts div:nth-child(2n) { border-right: 0; }
  .round-flow, .mode-grid, .feature-grid, .gallery { grid-template-columns: 1fr; }
  .gallery .public-shot { grid-column: auto; }
  .score-card { grid-template-columns: 1fr; }
  .score-card p { grid-column: auto; }
  .equipment-list div { grid-template-columns: 1fr; gap: .2rem; }
  .footer-logos { flex-wrap: wrap; }
  .footer-logos img { max-width: 82%; height: 45px; }
  .footer-bottom { flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; }
}
