/* Jakub Kubaščík — vizitka (produkční 1-pager). Design tokeny 1:1 z hlavního
   webu (src/styles/tokens.css). Self-hosted Geist (fonts/ kopíruje deploy). */

@font-face { font-family: "Geist"; font-style: normal; font-weight: 400; font-display: swap;
  src: url("/fonts/Geist-400.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: "Geist"; font-style: normal; font-weight: 400; font-display: swap;
  src: url("/fonts/Geist-400-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,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,U+FB00-FB06; }
@font-face { font-family: "Geist"; font-style: normal; font-weight: 500; font-display: swap;
  src: url("/fonts/Geist-500.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: "Geist"; font-style: normal; font-weight: 500; font-display: swap;
  src: url("/fonts/Geist-500-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,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,U+FB00-FB06; }
@font-face { font-family: "Geist"; font-style: normal; font-weight: 600; font-display: swap;
  src: url("/fonts/Geist-600.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: "Geist"; font-style: normal; font-weight: 600; font-display: swap;
  src: url("/fonts/Geist-600-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,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,U+FB00-FB06; }
@font-face { font-family: "Geist Mono"; font-style: normal; font-weight: 400; font-display: swap;
  src: url("/fonts/GeistMono-400.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: "Geist Mono"; font-style: normal; font-weight: 400; font-display: swap;
  src: url("/fonts/GeistMono-400-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,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,U+FB00-FB06; }

:root {
  --bg:#F3F4F7; --panel:#FFFFFF; --ink:#0B0F1A; --ink2:#3A4458; --ink3:#6A7388;
  --accent:#244884; --accent2:#2E5BA6; --line:#DDE1EA; --lineS:#C2C9D6;
  --soft:rgba(36,72,132,.08);
  --sans:"Geist",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:"Geist Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;
}
* { box-sizing:border-box; margin:0; padding:0; }
html,body { height:100%; }
body { font-family:var(--sans); color:var(--ink); background:var(--bg); -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }

.wrap { position:relative; min-height:100svh; display:grid; place-items:center; overflow:hidden; padding:48px 24px; }
.waves { position:absolute; inset:0; width:100%; height:100%; }

.card { position:relative; text-align:center; max-width:660px; }
.name { font-size:clamp(2.5rem,7vw,4rem); font-weight:600; letter-spacing:-.025em; line-height:1.03; text-wrap:balance; }
.role { font-family:var(--mono); font-size:clamp(14px,2.2vw,16px); color:var(--accent); margin-top:12px; letter-spacing:.02em; }
.lead { font-size:clamp(1.15rem,2.7vw,1.5rem); color:var(--ink2); margin:26px auto 0; line-height:1.4; white-space:nowrap; }
@media (max-width:600px) { .lead { white-space:normal; } }

.chips { list-style:none; display:flex; flex-wrap:wrap; gap:8px; justify-content:center; margin:32px 0 10px; }
.chip { border:1px solid var(--lineS); border-radius:2px; background:var(--panel); color:var(--ink2);
  padding:8px 14px; font-size:14px; font-weight:500; }
.sub { font-family:var(--mono); font-size:12px; color:var(--ink3); letter-spacing:.05em; }

.actions { display:flex; flex-wrap:wrap; gap:12px; justify-content:center; margin-top:34px; }
.btn { display:inline-flex; align-items:center; justify-content:center; height:48px; padding:0 24px;
  font-family:var(--mono); font-size:15px; font-weight:500; letter-spacing:.01em; text-decoration:none;
  transition:transform .12s ease, background .16s ease; }
.btn:active { transform:translateY(1px) scale(.99); }
.btn--p { background:var(--accent); color:#fff; }
.btn--p:hover { background:var(--accent2); }
.btn--g { background:var(--soft); color:var(--accent); }
.btn--g:hover { background:rgba(36,72,132,.14); }
.cham { clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px)); }

.foot { font-family:var(--mono); font-size:12px; color:var(--ink3); letter-spacing:.03em; margin-top:40px; }
.foot a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
.foot a:hover { color:var(--ink2); }

a:focus-visible, .btn:focus-visible { outline:2px solid var(--accent2); outline-offset:3px; border-radius:1px; }

@media (prefers-reduced-motion:reduce) { .waves { opacity:.9; } }
