/* Iviček Motorsport — approved shared tokens, typography, navigation and controls. */
html[data-page] {
  --brand-cyan: #7FB7C4;
  --brand-cyan-soft: oklch(0.78 0.03 220);
  --brand-navy: oklch(0.24 0.09 260);
  --brand-red: #DF2719;
  --brand-purple: oklch(0.38 0.15 320);
  --brand-background: #05070A;
  --brand-surface: oklch(0.16 0.02 255);
  --brand-surface-2: oklch(0.20 0.025 258);
  --brand-white: oklch(0.98 0.005 240);
  --brand-body: oklch(0.98 0.005 240 / 0.7);
  --brand-label: oklch(0.98 0.005 240 / 0.4);
  --brand-line: oklch(0.98 0.005 240 / 0.08);
  --brand-line-soft: oklch(0.98 0.005 240 / 0.05);
  --brand-cta: #F2F5F7;
  --brand-cta-hover: #DCE8EC;
  --brand-cta-text: #05070A;
  --brand-focus: oklch(0.82 0.15 220);
  --heading-gradient: linear-gradient(110deg, var(--brand-white), #A7C4CE);
  --hero-overlay: linear-gradient(180deg, oklch(from var(--brand-background) l c h / 0.8), var(--brand-background));
  --cyan-line: linear-gradient(90deg, var(--brand-cyan), oklch(from var(--brand-cyan) l c h / 0.3) 45%, transparent);
  --ink: var(--brand-background);
  --surface: var(--brand-surface);
  --white: var(--brand-white);
  --muted: var(--brand-body);
  --cyan: var(--brand-cyan);
  --line: var(--brand-line);
  --display: var(--body);
  --performance: 'Barlow Condensed', var(--body);
  --gutter: clamp(1.25rem, 5.2vw, 6rem);
  --home-gap: clamp(2rem, 5.2vw, 5.5rem);
  --home-space: clamp(4.5rem, 7vw, 7rem);
  --record-inset: clamp(1.25rem, 2.3vw, 2.5rem);
  --motion-ease: cubic-bezier(.22, 1, .36, 1);
  --ease: var(--motion-ease);
  --motion-ui: 320ms;
  --motion-nav: 380ms;
  --motion-metadata: 540ms;
  --motion-text: 640ms;
  --motion-heading: 850ms;
  --motion-image: 1040ms;
  --motion-image-hover: 380ms;
  --motion-value: 850ms;
  --motion-hero: 1120ms;
  --motion-hero-settle: 1320ms;
  --motion-page: 600ms;
  --motion-curtain: 520ms;
  --motion-line: 650ms;
  --motion-row: 600ms;
  --motion-stagger: 90ms;
  --motion-form: 550ms;
  --motion-filter: 380ms;
  --motion-filter-exit: 160ms;
  --header-height: 5rem;
}
html[data-page] body {background:var(--ink); color:var(--white); font-family:var(--body);}
html[data-page] :is(h1,h2,h3) {font-family:var(--body);font-weight:400;letter-spacing:-.04em;line-height:1.1;}
/* Explicit opt-in: race number, engine designation and large result figures only. */
html[data-page] .performance-accent {font-family:var(--performance);font-weight:800;font-style:italic;font-synthesis:none;letter-spacing:-.015em;padding-inline-end:.08em;}
html[data-page] p {color:var(--brand-body);}
html[data-page] :is(a,button,input,textarea,select):focus-visible {outline:2px solid var(--brand-focus);outline-offset:6px;}
html[data-page] .button {background:var(--brand-cta);color:var(--brand-cta-text);border-color:var(--brand-cta);font-size:.875rem;font-weight:400;padding:.9rem 1.65rem;min-height:3.2rem;}
html[data-page] .button:hover {background:var(--brand-cta-hover);border-color:var(--brand-cta-hover);}
html[data-page] .text-link {font-weight:400;font-size:.875rem;line-height:1.5;border-color:var(--brand-cyan);padding-bottom:.35rem;}
html[data-page] .text-link:hover {color:var(--brand-cyan-soft);border-color:var(--brand-cyan-soft);}
/* Sticky is CSS-only. Without JS the readable surface remains present. A
   single observer enhances its opacity after 32px; the header never moves. */
html[data-page] {scroll-padding-top:calc(var(--header-height) + 1rem);}
html[data-page] :is(main[id],main [id]) {scroll-margin-top:.25rem;}
.header-sentinel {position:absolute;top:32px;left:0;width:1px;height:1px;pointer-events:none;}
html[data-page] .site-header {position:sticky;top:0;z-index:60;height:var(--header-height);border-color:transparent;background:transparent;isolation:isolate;view-transition-name:site-header;}
html[data-page] .site-header:before {content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:var(--brand-background);border-bottom:1px solid var(--brand-line-soft);opacity:1;transition:opacity var(--motion-nav) var(--ease);}
@supports (backdrop-filter:blur(12px)) or (-webkit-backdrop-filter:blur(12px)) {
 html[data-page] .site-header:before {background:color-mix(in srgb,var(--brand-background) 92%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);}
}
html[data-page].header-enhanced .site-header:before {opacity:0;}
html[data-page].header-enhanced .site-header.is-scrolled:before,html[data-page] body.menu-open .site-header:before {opacity:1;}
html[data-page] .mobile-nav {max-height:calc(100dvh - var(--header-height));overscroll-behavior:contain;}
html[data-page] .desktop-nav a,html[data-page] .languages a {transition:color var(--motion-ui) var(--ease);}
html[data-page] .brand {width:11.3rem;}
html[data-page] .desktop-nav {gap:2rem;margin-right:2.5rem;}
html[data-page] .desktop-nav a {font-size:.875rem;color:var(--brand-body);}
html[data-page] .desktop-nav a:hover {color:var(--white);}
html[data-page] .languages {font-weight:400;font-size:.8125rem;}
html[data-page] .languages span {color:var(--brand-label);}
html[data-page] .languages a {color:var(--brand-body);}
html[data-page] .languages a[aria-current] {color:var(--brand-cyan);}
html[data-page] .mobile-nav>a {font-family:var(--body);font-weight:400;font-size:2rem;letter-spacing:-.035em;}

html[data-page] {font-variant-numeric:tabular-nums;}
html[data-page] .metadata {font-family:var(--body);letter-spacing:0;}
html[data-page] .eyebrow {font-family:var(--body);text-transform:none;letter-spacing:0;}
html[data-page] .text-link {border-bottom-color:var(--brand-line);position:relative;}
html[data-page] .text-link:after {content:"";position:absolute;inset:auto 0 -1px;height:1px;background:var(--brand-cyan);transform:scaleX(0);transform-origin:left;transition:transform var(--motion-ui) var(--ease);}
html[data-page] .text-link:is(:hover,:focus-visible):after {transform:scaleX(1);}
html[data-page] .button {font-weight:500;}

/* One compact footer and navigation language across the whole site. */
.site-footer{padding:2.5rem var(--gutter);background:var(--brand-surface);border-top:1px solid var(--brand-line)}
.site-footer-base{display:grid;grid-template-columns:1fr 1.5fr .8fr 1.2fr;align-items:center;gap:1.5rem 2rem;font-size:.875rem}
.site-footer-brand{display:block;width:10rem}.site-footer-brand img{width:100%;height:auto}
.site-footer-contact>a{overflow-wrap:anywhere}.site-footer-contact p{font-size:.875rem;margin-top:.3rem}
.site-footer-socials{display:flex;gap:1rem;flex-wrap:wrap}
.site-footer-copyright{text-align:right;font-size:.8125rem;line-height:1.6}.site-footer-copyright span{display:block}
.site-footer-base nav{grid-column:1/-1;display:flex;gap:.25rem 2rem;flex-wrap:wrap;border-top:1px solid var(--brand-line);padding-top:1rem}
.site-footer-base nav a{display:inline-flex;align-items:center;min-height:2.75rem}
.site-footer-base a{transition:color var(--motion-ui) var(--ease)}
.site-footer-base a:hover{color:var(--brand-cyan)}
.h-footer .site-footer-base{padding-top:2rem}.h-partner-names img{width:auto;max-width:12rem;max-height:4rem;object-fit:contain}
@media(max-width:1100px){html[data-page] .desktop-nav{gap:1.2rem;margin-right:1rem}.site-footer-base{grid-template-columns:1fr 1.5fr}.site-footer-copyright{text-align:left}}
@media(max-width:1000px){html[data-page]{--header-height:4.5rem}html[data-page] .desktop-nav{display:none}html[data-page] .menu-button{display:flex}}
@media(max-width:540px){html[data-page]{--header-height:4rem}html[data-page] .brand{width:9.5rem}}
@media(max-width:540px){.site-footer-base{grid-template-columns:1fr 1fr;gap:1.25rem}.site-footer-brand{width:8rem}.site-footer-contact{grid-column:1/-1;grid-row:2}.site-footer-socials{grid-column:2;grid-row:1;justify-content:flex-end}.site-footer-copyright{grid-column:1/-1;grid-row:4}.site-footer-base nav{gap:0 1.25rem}.site-footer-copyright span{display:inline;margin-left:.5rem}}
