/* Catamo — catamo.sk
   Generated from the Claude Design source. Do not edit by hand — a rebuild overwrites it. */

/* Space Grotesk 400 — latin-ext */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/space-grotesk-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Space Grotesk 400 — latin */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/space-grotesk-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Space Grotesk 500 — latin-ext */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/space-grotesk-500-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Space Grotesk 500 — latin */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/space-grotesk-500-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Space Grotesk 600 — latin-ext */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/space-grotesk-600-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Space Grotesk 600 — latin */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/space-grotesk-600-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Space Grotesk 700 — latin-ext */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/space-grotesk-700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Space Grotesk 700 — latin */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/space-grotesk-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Oxanium 600 — latin-ext */
@font-face {
  font-family: 'Oxanium';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/oxanium-600-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Oxanium 600 — latin */
@font-face {
  font-family: 'Oxanium';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/oxanium-600-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Oxanium 700 — latin-ext */
@font-face {
  font-family: 'Oxanium';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/oxanium-700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Oxanium 700 — latin */
@font-face {
  font-family: 'Oxanium';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/oxanium-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Oxanium 800 — latin-ext */
@font-face {
  font-family: 'Oxanium';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/fonts/oxanium-800-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Oxanium 800 — latin */
@font-face {
  font-family: 'Oxanium';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/fonts/oxanium-800-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* JetBrains Mono 400 — latin-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/jetbrains-mono-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* JetBrains Mono 400 — latin */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/jetbrains-mono-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* JetBrains Mono 500 — latin-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/jetbrains-mono-500-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* JetBrains Mono 500 — latin */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/jetbrains-mono-500-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* JetBrains Mono 700 — latin-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/jetbrains-mono-700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* JetBrains Mono 700 — latin */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/jetbrains-mono-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* JetBrains Mono 800 — latin-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/fonts/jetbrains-mono-800-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* JetBrains Mono 800 — latin */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/fonts/jetbrains-mono-800-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ---- base, keyframes and container queries (from the design source) ---- */
html { scroll-behavior: smooth; scroll-padding-top: 4.5rem; text-size-adjust: 100%; }
body { margin: 0px; background-color: rgb(246, 245, 241); }
*, ::before, ::after { box-sizing: border-box; }
h1, h2, h3, h4, p, figure { margin: 0px; }
h1, h2, h3, h4 { font-family: Oxanium, "Space Grotesk", ui-sans-serif, system-ui, sans-serif; }
ul, ol { margin: 0px; padding: 0px; list-style: none; }
img, svg, video { display: block; max-width: 100%; height: auto; }
input, button, select, textarea { font: inherit; color: inherit; }
button { background: none; border: 0px; cursor: pointer; }
a { color: inherit; text-decoration: none; }
a:hover { color: rgb(224, 22, 43); }
table { border-collapse: collapse; }
summary { list-style: none; }
summary::-webkit-details-marker { display: none; }
details[open] summary svg { transform: rotate(45deg); }
::selection { background: rgb(224, 22, 43); color: rgb(255, 255, 255); }
:focus-visible { outline: rgb(224, 22, 43) solid 2px; outline-offset: 2px; }
@keyframes bene-scroll { 
  0% { transform: translate3d(0px, 0px, 0px); }
  100% { transform: translate3d(calc(-50% - 0.5rem), 0px, 0px); }
}
@keyframes badge-pulse { 
  0%, 100% { opacity: 1; }
  50% { opacity: 0.15; }
}
@keyframes logo-strip-scroll { 
  100% { transform: translateX(-100%); }
}
@keyframes step-progress { 
  0% { transform: scaleX(0); }
  100% { transform: scaleX(1); }
}
@keyframes fx-dash { 
  100% { stroke-dashoffset: -48; }
}
@keyframes fx-blink { 
  0%, 100% { opacity: 0.2; }
  50% { opacity: 1; }
}
@keyframes fx-grow { 
  0% { transform: scaleX(0); }
  45%, 100% { transform: scaleX(1); }
}
@keyframes fx-shrink { 
  0%, 15% { transform: scaleX(1); }
  60%, 100% { transform: scaleX(0.57); }
}
@keyframes fx-dim { 
  0%, 40% { opacity: 1; }
  60%, 100% { opacity: 0.16; }
}
@keyframes fx-draw { 
  0% { stroke-dashoffset: 26; }
  45%, 100% { stroke-dashoffset: 0; }
}
@keyframes fx-scan { 
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(158px); }
}
@keyframes fx-shift { 
  0%, 100% { transform: translate(0px, 0px); }
  50% { transform: translate(10px, 10px); }
}
@keyframes fx-slide { 
  0%, 100% { transform: translateX(0px); }
  50% { transform: translateX(72px); }
}
@keyframes katana-slash { 
  0%, 64% { transform: rotate(-5.9deg) scaleX(0); opacity: 0; }
  66% { transform: rotate(-5.9deg) scaleX(0); opacity: 1; }
  72% { transform: rotate(-5.9deg) scaleX(1); opacity: 1; }
  82% { transform: rotate(-5.9deg) scaleX(1); opacity: 0; }
  100% { transform: rotate(-5.9deg) scaleX(1); opacity: 0; }
}
@keyframes katana-top { 
  0%, 72% { transform: translate(0px, 0px); }
  76%, 86% { transform: translate(2px, -3px); }
  94%, 100% { transform: translate(0px, 0px); }
}
@keyframes katana-bottom { 
  0%, 72% { transform: translate(0px, 0px); }
  76%, 86% { transform: translate(-2px, 3px); }
  94%, 100% { transform: translate(0px, 0px); }
}
@keyframes fx-cursor { 
  0%, 20% { transform: translate(286px, 92px); }
  45%, 60% { transform: translate(286px, 92px) scale(0.85); }
  80%, 100% { transform: translate(318px, 216px); }
}
@keyframes fx-scanx { 
  0%, 100% { transform: translateX(0px); }
  50% { transform: translateX(224px); }
}
@keyframes fx-scanlist { 
  0% { transform: translateY(0px); }
  100% { transform: translateY(150px); }
}
@keyframes fx-drawlong { 
  0% { stroke-dashoffset: 120; }
  30%, 70% { stroke-dashoffset: 0; }
  100% { stroke-dashoffset: -120; }
}
@keyframes fx-pop { 
  0%, 25% { opacity: 0; transform: scale(0.85); }
  40%, 90% { opacity: 1; transform: scale(1); }
  100% { opacity: 0; transform: scale(1); }
}
@keyframes fx-fade { 
  0%, 35% { opacity: 0; }
  55%, 100% { opacity: 1; }
}
@keyframes fx-shift2 { 
  0%, 100% { transform: translate(0px, 0px); }
  50% { transform: translate(-10px, -10px); }
}
@keyframes fx-tool { 
  0% { transform: translateY(0px); }
  33% { transform: translateY(44px); }
  66% { transform: translateY(88px); }
  100% { transform: translateY(0px); }
}
@media (prefers-reduced-motion: reduce) {
  [style*="animation:fx-"] { animation: auto ease 0s 1 normal none running none !important; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
@container root (max-width: 900px) {
  [data-m="nav"] { display: none; }
  [data-m="hdr"] > div:first-child { min-height: 4.25rem; }
  [data-m="stack"] { grid-template-columns: minmax(0px, 1fr) !important; row-gap: clamp(2rem, 6cqw, 3rem); }
  [data-m="stack"]:has([data-m="tabs"]) { row-gap: 0px !important; }
  [data-m="tabs"] { display: contents !important; }
  [data-m="tabs"] > button { border-bottom: 1px solid rgba(19, 19, 19, 0.16) !important; }
  [data-m="stack"] > [role="tabpanel"] { border-bottom: 1px solid rgba(19, 19, 19, 0.16); }
  [data-m="cards3"] { grid-template-columns: minmax(0px, 1fr) !important; }
  [data-m="cards3"] > article { border-right: 0px !important; gap: 0.6rem !important; padding: 1.5rem 1.25rem !important; }
  [data-m="cards3"] > article > span { font-size: 1.375rem !important; }
  [data-m="cards3"] > article > h3 { font-size: 1.375rem !important; }
  [data-m="cards3"] > article > h3 br { content: " "; display: inline; }
  [data-m="cards3"] > article > h3 br::after { content: " "; }
  [data-m="herotext"] { padding-bottom: clamp(2rem, 7cqw, 3rem) !important; }
  [data-m="cta"] { width: 100%; font-size: 0.9375rem !important; padding: 0.9rem 1.25rem !important; }
  [data-m="foot"] { flex-direction: column; text-align: center; justify-content: center !important; gap: 1.5rem !important; }
  [data-m="foot"] > div { max-width: none !important; justify-items: center; }
  [data-m="foot"] > nav { justify-items: center; }
  [data-m="formnote"] { font-size: 0.625rem !important; letter-spacing: 0.05em !important; }
  [data-m="plans"] { gap: 0.45rem !important; }
  [data-m="plans"] > label { padding: 0.7rem 0.85rem !important; gap: 0.6rem !important; }
  [data-m="plans"] > label span span { font-size: 0.9375rem !important; }
  [data-m="plans"] > label span span span { font-size: 0.875rem !important; }
  [data-m="specs"] { gap: 0.4rem !important; }
  [data-m="specs"] > li { font-size: 0.6875rem !important; letter-spacing: 0.08em !important; padding: 0.3rem 0.5rem !important; }
  [data-m="shotwrap"] { display: none !important; }
  [data-m="h1"] { font-size: clamp(3.25rem, 12cqw, 4.25rem) !important; }
  [data-m="herocta"] { align-items: stretch !important; flex-direction: column; }
  [data-m="herocta"] > a { width: 100%; }
  [data-m="cmp"] > li { padding: 0.6rem 0px !important; gap: 0.8rem !important; }
  [data-m="pricenote"] { flex-direction: column; text-align: center; letter-spacing: 0.04em !important; font-size: 0.8125rem !important; }
  [data-m="benewrap"] { overflow-x: auto !important; scrollbar-width: none; }
  [data-m="benewrap"]::-webkit-scrollbar { display: none; }
  [data-m="bene"] { animation: auto ease 0s 1 normal none running none !important; width: max-content !important; }
  [data-m="bene"] > li { flex: 0 0 60cqw !important; }
  [data-m="plantag"] { white-space: nowrap; font-size: 0.625rem !important; letter-spacing: 0.1em !important; padding: 0.3rem 0.5rem !important; }
  [data-m="shot"] { width: 100% !important; max-width: 100% !important; }
  [data-m="plog"] { justify-self: start !important; width: clamp(11rem, 42cqw, 15rem) !important; }
}
@container root (max-width: 640px) {
  [data-m="form"] { grid-template-columns: minmax(0px, 1fr) !important; }
  [data-m="form"] > div[style*="subgrid"] { grid-row: auto !important; grid-template-rows: none !important; gap: 0.6rem !important; }
  [data-m="tagline"] { row-gap: 0.35rem; flex-wrap: wrap !important; white-space: normal !important; }
}

/* ---- hover / focus states ---- */
.scp0:focus { transform: translateY(0px) !important; }
.scp1:hover { border-bottom-color: rgb(224, 22, 43) !important; color: rgb(246, 245, 241) !important; }
.scp2:hover { background-size: 100% 100% !important; box-shadow: rgba(224, 22, 43, 0.45) 0px 0px 0px 1px, rgba(224, 22, 43, 0.55) 0px 8px 26px -8px !important; }
.scp3:hover { color: rgb(224, 22, 43) !important; }
.scp4:hover { border-color: rgb(246, 245, 241) !important; background-color: rgba(246, 245, 241, 0.08) !important; color: rgb(246, 245, 241) !important; }
.scp5:hover { color: rgb(246, 245, 241) !important; }
.scp6:hover { background-color: rgb(246, 245, 241) !important; }
.scp7:hover { border-color: rgba(19, 19, 19, 0.45) !important; }
.scp8:focus { outline: none !important; border-color: rgb(224, 22, 43) !important; box-shadow: rgb(224, 22, 43) 0px -3px 0px inset !important; }

/* ---- static build additions ---- */
[hidden] { display: none !important; }

/* The burger keeps the inline display:none it carries in the design source, so
   the mobile header is logo + full-width CTA and the drawer never opens. An
   earlier build revealed it below 900px; that was reverted on request. The
   markup and js/app.js handlers stay in place, so restoring it is one rule:
   @container root (max-width: 900px) { [data-m="burger"] { display: flex !important; } } */

/* The hero tagline (jednoducho | rýchlo | ekonomicky) bottoms out at 0.9375rem,
   which needs a 343px line — more than a 360px phone offers. The source lets it
   wrap below 640px, so on narrow phones it broke into two or three lines. Smaller
   type and tighter separator gaps keep it on one line down to 320px; !important
   because both values are inline styles.
   min-height holds the box at the 1.453125rem (23.25px) the 0.9375rem line
   occupied, so shrinking the type does not pull the rest of the page up. */
@container root (max-width: 480px) {
  [data-m="tagline"] {
    font-size: 0.8125rem !important;
    gap: 0.55rem !important;
    min-height: 1.453125rem;
  }
  [data-m="tagline"] > span { gap: 0.55rem !important; }
}
