:root {
  --navy: #071725;
  --navy-soft: #102536;
  --ivory: #f6f1e8;
  --paper: #fcfaf6;
  --white: #ffffff;
  --ink: #15232e;
  --muted: #596570;
  --gold: #b79a58;
  --gold-light: #d7c28b;
  --burgundy: #703a3b;
  --line: rgba(21, 35, 46, .16);
  --line-dark: rgba(215, 194, 139, .26);
  --shadow: 0 26px 80px rgba(4, 17, 28, .16);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 96px; }
body { margin: 0; overflow-x: hidden; color: var(--ink); background: var(--paper); font-family: Raleway, Verdana, sans-serif; font-size: 17px; line-height: 1.72; }
img { display: block; max-width: 100%; }
a { color: inherit; }
h1, h2, h3 { margin: 0 0 20px; font-family: Castoro, Georgia, serif; font-weight: 400; line-height: 1.08; text-wrap: balance; }
h1 { max-width: 12ch; font-size: clamp(46px, 5.5vw, 78px); letter-spacing: -.035em; }
h2 { max-width: 22ch; font-size: clamp(36px, 4.2vw, 58px); letter-spacing: -.025em; }
h3 { font-size: clamp(22px, 2vw, 28px); }
p { max-width: 70ch; margin: 0 0 20px; }
.skip-link { position: fixed; top: 8px; left: 8px; z-index: 100; padding: 10px 14px; background: var(--white); color: var(--navy); transform: translateY(-160%); }
.skip-link:focus { transform: none; }
.container { width: min(100% - 64px, 1280px); margin-inline: auto; }
.section { position: relative; padding: clamp(88px, 9vw, 144px) 0; }
.section-light, .section-ideal { background: var(--ivory); }
.section-head { max-width: 900px; margin-bottom: clamp(44px, 6vw, 76px); }
.section-head p:last-child, .lead { font-size: clamp(19px, 1.7vw, 23px); line-height: 1.55; }
.eyebrow { margin-bottom: 18px; color: var(--burgundy); font-size: 12px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; }
.note, .form-note { margin-top: 22px; color: var(--muted); font-size: 13px; line-height: 1.6; }

.site-header { position: sticky; top: 0; z-index: 50; border-bottom: 1px solid rgba(7, 23, 37, .1); background: rgba(255,255,255,.98); }
.nav { width: min(100% - 64px, 1340px); min-height: 94px; margin-inline: auto; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand { flex: 0 0 auto; padding: 6px 12px; background: var(--white); line-height: 0; }
.brand img { width: 184px; height: auto; }
.nav-links { display: flex; align-items: center; gap: 22px; color: var(--navy); font-size: 13px; font-weight: 600; letter-spacing: .02em; }
.nav-links a { text-decoration: none; white-space: nowrap; }
.nav-links > a:not(.button):hover, .nav-links > a:not(.button):focus { color: var(--burgundy); }
.menu-button { display: none; }

.hero { min-height: calc(100svh - 94px); padding: clamp(60px, 7vw, 104px) 0; color: var(--white); background: var(--navy); }
.hero::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, transparent 0 66%, rgba(183,154,88,.05) 66% 66.1%, transparent 66.1%); }
.hero-grid { position: relative; display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(340px, .78fr); align-items: center; gap: clamp(60px, 8vw, 120px); }
.hero-copy { padding-block: 20px; }
.hero-copy .lead { max-width: 58ch; color: rgba(255,255,255,.9); }
.hero-copy > p:not(.lead):not(.note) { max-width: 62ch; color: rgba(255,255,255,.72); }
.hero .note { max-width: 64ch; color: rgba(255,255,255,.58); }
.hero-media { position: relative; width: 100%; margin: 0; aspect-ratio: 3 / 4; overflow: hidden; background: #17212a; box-shadow: 0 35px 90px rgba(0,0,0,.38); }
.hero-media::before { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(180deg, rgba(7,23,37,.03), rgba(7,23,37,.22)); }
.hero-media::after { content: ""; position: absolute; inset: 18px; z-index: 2; border: 1px solid rgba(215,194,139,.42); pointer-events: none; }
.hero-media picture, .hero-media img { width: 100%; height: 100%; }
.hero-media img { object-fit: cover; object-position: 50% 36%; filter: saturate(.88) contrast(1.03); }
.hero-media figcaption { position: absolute; right: 32px; bottom: 28px; z-index: 3; color: var(--white); font-family: Castoro, Georgia, serif; font-size: 17px; }
.hero-media figcaption span { display: block; margin-top: 2px; color: var(--gold-light); font-family: Raleway, Verdana, sans-serif; font-size: 9px; letter-spacing: .18em; text-transform: uppercase; }
.actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 32px; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 12px 23px; border: 1px solid var(--gold); border-radius: 0; background: var(--gold); color: var(--navy); font-size: 14px; font-weight: 700; text-decoration: none; cursor: pointer; }
.button:hover, .button:focus { border-color: var(--gold-light); background: var(--gold-light); }
.button-secondary { border-color: rgba(255,255,255,.48); background: transparent; color: var(--white); }
.button-secondary:hover, .button-secondary:focus { border-color: var(--white); background: var(--white); color: var(--navy); }
.button-small { min-height: 40px; padding: 8px 14px; }

.cards, .trust-grid { display: grid; gap: 1px; background: var(--line); }
.cards-four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.cards-three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.card, .trust-grid article { position: relative; min-height: 100%; padding: clamp(28px, 3vw, 42px); background: var(--paper); }
.card::before { content: ""; position: absolute; top: 0; left: 0; width: 54px; border-top: 2px solid var(--gold); }
.card p, .trust-grid p { margin-bottom: 0; color: var(--muted); }
.section-conclusion { max-width: 980px; margin: 48px 0 0; padding: 28px 34px; border-left: 2px solid var(--gold); background: var(--ivory); font-family: Castoro, Georgia, serif; font-size: 20px; }
.ideal-inner { max-width: 1120px; }
.section-ideal .card { background: var(--white); }
.section-ideal .button { margin-top: 40px; }

.split, .contact-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, .82fr); align-items: center; gap: clamp(60px, 9vw, 130px); }
#jak-pracujeme { background: var(--white); }
.steps { display: grid; gap: 0; border-top: 1px solid var(--line); }
.steps article { display: grid; grid-template-columns: 54px 1fr; padding: 26px 0; border-bottom: 1px solid var(--line); }
.steps span { grid-row: 1 / 3; color: #6d5a2b; font-size: 12px; font-weight: 700; letter-spacing: .14em; }
.steps h3 { margin-bottom: 8px; }
.steps p { margin: 0; color: var(--muted); }

#golden-gate { background: var(--ivory); }
.golden-module { position: relative; padding: clamp(40px, 7vw, 84px); overflow: hidden; color: var(--white); background: var(--navy-soft); }
.golden-module .eyebrow { color: var(--gold-light); }
.golden-module p { color: rgba(255,255,255,.76); }
.precision-panel { position: relative; min-height: 430px; border: 1px solid var(--line-dark); background: repeating-linear-gradient(90deg, transparent 0 31.8%, rgba(215,194,139,.16) 31.8% 32%, transparent 32% 65.8%, rgba(215,194,139,.16) 65.8% 66%, transparent 66% 100%); }
.precision-panel::before, .precision-panel::after { content: ""; position: absolute; left: 0; right: 0; border-top: 1px solid var(--line-dark); }
.precision-panel::before { top: 34%; }
.precision-panel::after { top: 68%; }
.precision-panel span { position: absolute; color: rgba(255,255,255,.7); font-size: 10px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; }
.precision-panel span:nth-child(1) { top: 18%; left: 9%; }
.precision-panel span:nth-child(2) { top: 51%; left: 42%; color: var(--gold-light); }
.precision-panel span:nth-child(3) { right: 8%; bottom: 13%; }
.trust-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 64px; background: var(--line-dark); }
.golden-module .trust-grid article { background: var(--navy-soft); }
.golden-module .trust-grid p { font-size: 15px; }

#o-davidovi { color: var(--white); background: var(--navy); }
.reverse { grid-template-columns: minmax(420px, 1.15fr) minmax(0, .85fr); }
#o-davidovi .eyebrow { color: var(--gold-light); }
#o-davidovi p { color: rgba(255,255,255,.74); }
.image-panel { min-height: 500px; margin: 0; overflow: hidden; background: var(--navy-soft); }
.image-panel img { width: 100%; height: 100%; object-fit: cover; }
.sport-image img { filter: saturate(.65) contrast(1.12) brightness(.82); object-position: center; }

.topic-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; padding: 0; margin: 0; border-top: 1px solid var(--line); list-style: none; }
.topic-list li { position: relative; padding: 24px 38px 24px 26px; border-bottom: 1px solid var(--line); background: transparent; }
.topic-list li::after { content: ""; position: absolute; top: 50%; right: 14px; width: 18px; border-top: 1px solid var(--gold); }

.section-career { background: var(--paper); }
.career-panel { max-width: 1040px; padding: clamp(40px, 7vw, 86px); border-top: 1px solid var(--gold); border-bottom: 1px solid var(--gold); background: var(--ivory); }
.button-career { margin-top: 12px; border-color: var(--navy); background: var(--navy); color: var(--white); }
.contact-grid { align-items: start; }
#kontakt { background: var(--white); }
.contact-form { display: grid; gap: 18px; padding: clamp(28px, 4vw, 48px); border: 1px solid var(--line); background: var(--paper); box-shadow: var(--shadow); }
label { display: grid; gap: 7px; font-size: 13px; font-weight: 700; letter-spacing: .03em; }
input, select, textarea { width: 100%; padding: 13px 14px; border: 1px solid #7e8991; border-radius: 0; color: var(--ink); background: var(--white); font: inherit; }
input:focus, select:focus, textarea:focus, .button:focus, a:focus, .menu-button:focus { outline: 3px solid rgba(183,154,88,.48); outline-offset: 3px; }
.button:disabled { cursor: wait; opacity: .72; }
.checkbox { display: flex; align-items: flex-start; gap: 10px; font-weight: 500; }
.checkbox input { width: auto; margin-top: 6px; }
.hidden { display: none; }
.form-status { min-height: 1.5em; margin: 0; font-weight: 700; }
.form-status.is-success { color: #245b34; }
.form-status.is-error { color: #8d2118; }

.footer-brand { padding: 48px 0; background: var(--white); }
.footer-logo { width: 310px; height: auto; margin: 0 auto; }
.footer-legal { padding: 64px 0; color: var(--white); background: var(--navy); }
.footer-grid { display: grid; grid-template-columns: 1.7fr .7fr; gap: 80px; }
.footer h2 { font-size: 22px; }
.footer a { display: block; margin-bottom: 10px; color: var(--white); }
.footer p { color: rgba(255,255,255,.68); font-size: 14px; }
.cookie-banner { position: fixed; left: 20px; right: 20px; bottom: 20px; z-index: 60; max-width: 780px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 18px; border: 1px solid var(--gold); background: var(--white); box-shadow: var(--shadow); }
.cookie-banner[hidden] { display: none; }
.cookie-banner p { margin: 0; color: var(--ink); font-size: 13px; }

@media (max-width: 1160px) {
  .nav-links { gap: 13px; font-size: 12px; }
  .brand img { width: 168px; }
  .cards-four, .trust-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 980px) {
  .menu-button { display: inline-flex; min-height: 40px; padding: 8px 13px; border: 1px solid var(--line); background: var(--white); color: var(--navy); font: inherit; font-weight: 700; }
  .nav { position: relative; min-height: 88px; }
  .nav-links { position: absolute; left: 0; right: 0; top: 88px; display: none; flex-direction: column; align-items: stretch; padding: 24px; border: 1px solid var(--line); background: var(--white); box-shadow: var(--shadow); }
  .nav-links.is-open { display: flex; }
  .hero { min-height: auto; }
  .hero-grid { grid-template-columns: minmax(0, 1.15fr) minmax(280px, .75fr); gap: 42px; }
  .split, .reverse, .contact-grid { grid-template-columns: 1fr; }
  .precision-panel { min-height: 320px; }
  .cards-three { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
  .container { width: min(100% - 28px, 1280px); }
  .section { padding: 76px 0; }
  .nav { width: min(100% - 28px, 1340px); min-height: 84px; }
  .nav-links { top: 84px; }
  .brand { padding: 6px 8px; }
  .brand img { width: 150px; }
  .hero { padding-top: 56px; }
  .hero-grid { grid-template-columns: 1fr; gap: 42px; }
  .hero-media { max-height: none; aspect-ratio: 3 / 4; }
  .hero-media img { object-position: 50% 36%; }
  .hero-media figcaption { right: 28px; bottom: 26px; }
  .cards-four, .trust-grid, .topic-list { grid-template-columns: 1fr; }
  .card, .trust-grid article { padding: 28px 24px; }
  .actions { align-items: stretch; flex-direction: column; }
  .button { width: 100%; }
  .image-panel { min-height: 360px; }
  .footer-logo { width: min(300px, 82vw); }
  .cookie-banner { display: grid; bottom: 12px; }
}
@media (max-width: 380px) {
  body { font-size: 16px; }
  h1 { font-size: 41px; }
  .brand img { width: 142px; }
  .hero-media::after { inset: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

/* SportInvest staging additions */
.staging-bar{background:#7c2d12;color:#fff;text-align:center;padding:.45rem 1rem;font-size:.78rem;font-weight:700;letter-spacing:.04em}
.section-dark{background:#45403a;color:#fff}.section-dark .eyebrow{color:#e0c46d}.story{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,7vw,7rem)}
.faq-wrap{max-width:960px}.faq details{border-top:1px solid rgba(69,64,58,.22);padding:1.3rem 0}.faq details:last-child{border-bottom:1px solid rgba(69,64,58,.22)}.faq summary{cursor:pointer;font-family:Castoro,Georgia,serif;font-size:1.25rem}.faq details p{max-width:760px}
.internal-warning,.placeholder{border:2px dashed #9a3412;background:#fff7ed;color:#7c2d12;padding:1rem;font-weight:600}.placeholder{font-size:.85rem;line-height:1.7}
.footer-top{display:grid;grid-template-columns:260px 1fr;gap:3rem;align-items:center;padding-block:3rem}.footer-top img{width:100%;height:auto}.footer-legal nav{display:flex;gap:1rem 1.5rem;flex-wrap:wrap}.footer-legal nav a{color:inherit}
.form-summary{background:#fef2f2;color:#991b1b;border:1px solid #fecaca;padding:.8rem}.contact-form label.has-error input,.contact-form label.has-error select{border-color:#b91c1c}.error{display:block;color:#991b1b;font-size:.82rem;min-height:1.1em}.counter{display:block;text-align:right}.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.form-status.is-success{color:#166534}.form-status.is-error{color:#991b1b}.button:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:760px){.story,.footer-top{grid-template-columns:1fr}.staging-bar{font-size:.7rem}.footer-top img{max-width:260px}}
