/* Tomas Bujnak, static build */
@font-face { font-family:'Geist'; font-style:normal; font-weight:100 900; font-display:swap; src:url('uploads/fonts/geist-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; }
@font-face { font-family:'Geist Mono'; font-style:normal; font-weight:100 900; font-display:swap; src:url('uploads/fonts/geist-mono-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; }
@font-face { font-family:'Instrument Serif'; font-style:normal; font-weight:400; font-display:swap; src:url('uploads/fonts/instrument-serif-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; }
@font-face { font-family:'Instrument Serif'; font-style:italic; font-weight:400; font-display:swap; src:url('uploads/fonts/instrument-serif-italic-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; }
@font-face { font-family:'Geist'; font-style:normal; font-weight:100 900; font-display:swap; src:url('uploads/fonts/geist-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family:'Geist Mono'; font-style:normal; font-weight:100 900; font-display:swap; src:url('uploads/fonts/geist-mono-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family:'Instrument Serif'; font-style:normal; font-weight:400; font-display:swap; src:url('uploads/fonts/instrument-serif-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family:'Instrument Serif'; font-style:italic; font-weight:400; font-display:swap; src:url('uploads/fonts/instrument-serif-italic-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
html, body { margin:0; padding:0; -webkit-font-smoothing:antialiased; }
html { scroll-behavior:auto; }
* { box-sizing:border-box; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
input, textarea, button { font:inherit; }
input:focus-visible, textarea:focus-visible, button:focus-visible, a:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
@keyframes tbSig { from { clip-path:inset(-30% 100% -60% -10%); } to { clip-path:inset(-30% -10% -60% -10%); } }
@keyframes tbFade { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:none; } }
@keyframes tbNudge { 0%,100% { transform:translateX(0); } 50% { transform:translateX(6px); } }
@keyframes tbCue { 0%,100% { transform:translateY(0); opacity:.4; } 50% { transform:translateY(6px); opacity:1; } }
.tb-sig { animation:tbSig 1.3s cubic-bezier(.65,0,.35,1) .35s both; }
@keyframes tbBoot { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }
.tb-boot { animation:tbBoot .7s cubic-bezier(.22,1,.36,1) both; }
.tb-in { animation:tbFade 1s cubic-bezier(.22,1,.36,1) both; }
.tb-frame img, .tb-card img { transition:transform 1s cubic-bezier(.22,1,.36,1); }
.tb-frame:hover img, .tb-card:hover img { transform:scale(1.04); }
.tb-scroll::-webkit-scrollbar { display:none; }
.tb-glass { background:rgba(22,21,19,.38); -webkit-backdrop-filter:blur(18px) saturate(1.5); backdrop-filter:blur(18px) saturate(1.5); border:1px solid rgba(255,255,255,.14); box-shadow:inset 0 1px 0 rgba(255,255,255,.18), 0 8px 24px rgba(0,0,0,.18); color:#F5F3EF; }
.tb-glass:hover { background:rgba(22,21,19,.5); }
.tb-hero-light { display:none; }
.tb-mimg-light { display:none; }
[data-mode="light"] .tb-mimg-light { display:block; }
[data-mode="light"] .tb-mimg-dark { display:none; }
[data-mode="light"] .tb-hero-dark { display:none; }
[data-mode="light"] .tb-hero-light { display:block; }
[data-mode="light"] .tb-hero { background:#A9A8AD !important; color:#0E0D0C !important; }
[data-mode="light"] .tb-hero-copy { text-shadow:none !important; }
[data-mode="light"] .tb-hero-name { --lockInk:#0E0D0C !important; }
.tb-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.tb-menu-img { transition:opacity .5s ease, transform .8s cubic-bezier(.22,1,.36,1); }
.tb-split { transition:background-color .4s ease; }
.tb-split:hover { background-color:var(--hover); }
.tb-split-img { opacity:0; transform:translateY(16px) rotate(-3deg) scale(.96); transition:opacity .5s ease, transform .7s cubic-bezier(.22,1,.36,1); }
.tb-split:hover .tb-split-img, .tb-split:focus-visible .tb-split-img { opacity:1; transform:rotate(-3deg); }
.tb-split-arrow { transition:transform .4s cubic-bezier(.22,1,.36,1); }
.tb-split:hover .tb-split-arrow { transform:translateX(6px); }
@media (hover: none) { .tb-split-img { opacity:1; transform:rotate(-3deg); } }
@media (max-width: 860px) { .tb-split-img { opacity:1 !important; transform:rotate(-3deg) !important; } }
@media (max-width: 860px) { [data-mode="light"] .tb-hero-name .tb-lock > span:first-child { color:var(--sig) !important; } [data-mode="light"] .tb-hero-name .tb-lock > span:last-child { color:#F5F3EF !important; } }
@media (max-width: 860px) {
  .tb-frames-sticky { position:relative !important; height:auto !important; overflow:visible !important; padding:clamp(80px,18vw,120px) 0 clamp(70px,16vw,110px) !important; gap:36px !important; }
  .tb-frames-viewport { overflow:visible !important; }
  .tb-frames-track { flex-direction:column !important; width:100% !important; height:auto !important; transform:none !important; gap:clamp(28px,8vw,44px) !important; align-items:flex-start !important; padding:0 20px !important; }
  .tb-frames-progress { display:none !important; }
  [data-frames-lines] { width:100% !important; transform:none !important; }
  .tb-frames-intro { text-align:left !important; }
  .tb-frame { margin-top:0 !important; align-self:flex-start !important; }
  .tb-m-a { width:84% !important; }
  .tb-m-b { width:64% !important; }
  .tb-m-c { width:56% !important; align-self:flex-end !important; }
  .tb-m-d { width:74% !important; align-self:center !important; }
  .tb-m-e { width:52% !important; margin-left:8% !important; }
  .tb-m-q { width:100% !important; padding-right:10%; }
  blockquote.tb-frame p { font-size:clamp(26px,7.4vw,34px) !important; }
  .tb-menu-preview { display:none !important; }
  .tb-hide-sm { display:none !important; }
  .tb-journey-row, .tb-off-row { grid-template-columns:minmax(0,1fr) !important; gap:6px !important; }
  .tb-split-img { opacity:1 !important; transform:rotate(-3deg) !important; width:clamp(96px,28vw,130px) !important; }
  .tb-split-b { border-left:none !important; border-top:1px solid var(--lineStrong); padding-left:0 !important; }
  .tb-row-body { margin-left:0 !important; }
}
@media (prefers-reduced-motion: reduce) { .tb-sig, .tb-in { animation:none !important; } }

/* ---- theme + root (was the runtime root style) ---- */
#tb.tb-root { --bg:#0E0D0C; --surface:#151412; --ink:#F5F3EF; --muted:#A9A59D; --line:rgba(245,243,239,.10); --lineStrong:rgba(245,243,239,.20); --hover:rgba(77,141,255,.07); --accent:#4D8DFF; --accentFill:#F5F3EF; --onAccent:#0E0D0C; --accentText:#8DB4FF; --sig:#4D8DFF; --contour:rgba(245,243,239,.05); --cross:rgba(141,180,255,.13); --menuBg:#0E0D0C; --radius:14px; --mono:'Geist Mono', ui-monospace, SFMono-Regular, Menlo, monospace; --sans:'Geist', system-ui, -apple-system, 'Segoe UI', sans-serif; min-height:100%; background:var(--bg); color:var(--ink); font-family:'Geist', system-ui, -apple-system, 'Segoe UI', sans-serif; overflow-x:clip; transition:background-color .4s ease, color .4s ease; }
#tb.tb-root[data-mode="light"] { --bg:#F5F3EF; --surface:#ECE9E2; --ink:#0E0D0C; --muted:#57544D; --line:rgba(14,13,12,.10); --lineStrong:rgba(14,13,12,.22); --hover:rgba(30,91,230,.05); --accent:#1E5BE6; --accentFill:#0E0D0C; --onAccent:#F5F3EF; --accentText:#1E5BE6; --sig:#1E5BE6; --contour:rgba(14,13,12,.06); --cross:rgba(30,91,230,.12); --menuBg:#F5F3EF; }
/* ---- intro ---- */
#tb .tb-intro { position:fixed; inset:0; z-index:9000; display:flex; align-items:center; justify-content:center; background:var(--bg); overflow:hidden; transform:none; visibility:visible; transition:transform 1s cubic-bezier(.76,0,.24,1), visibility 1s; }
#tb .tb-intro.is-done { transform:translateY(-100%); visibility:hidden; }
#tb .tb-intro.is-skip { display:none; }
@media (prefers-reduced-motion: reduce) { #tb .tb-intro { display:none; } }
/* ---- scroll reveal (only when JS runs) ---- */
html.js #tb [data-reveal] { opacity:0; transform:translateY(16px); }
html.js #tb [data-reveal].is-in { opacity:1; transform:none; }
/* ---- menu button + overlay ---- */
#tb .tb-menubtn { position:relative; width:52px; height:52px; border-radius:12px; cursor:pointer; padding:0; }
#tb .tb-bar { position:absolute; left:15px; height:2px; background:#F5F3EF; transition:transform .4s cubic-bezier(.22,1,.36,1), width .4s ease; }
#tb .tb-bar1 { top:21px; width:22px; }
#tb .tb-bar2 { top:29px; width:14px; left:23px; }
#tb .tb-menubtn.is-open .tb-bar1 { transform:translateY(4px) rotate(45deg); }
#tb .tb-menubtn.is-open .tb-bar2 { width:22px; left:15px; transform:translateY(-4px) rotate(-45deg); }
#tb .tb-menu { position:fixed; inset:0; z-index:55; display:flex; background:var(--menuBg); color:var(--ink); opacity:0; visibility:hidden; transition:opacity .45s ease, visibility .45s; }
#tb .tb-menu.is-open { opacity:1; visibility:visible; }
#tb .tb-mlink { display:flex; align-items:baseline; gap:14px; font-size:clamp(36px,5.6vh,64px); line-height:1.02; color:var(--muted); transition:color .3s ease; }
#tb .tb-msans { font-family:'Geist', system-ui, sans-serif; font-weight:700; letter-spacing:-.045em; }
#tb .tb-mserif { font-family:'Instrument Serif', Georgia, serif; font-weight:400; letter-spacing:0; }
#tb .tb-mlink.is-active { color:var(--ink); }
#tb .tb-menu-img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transform:scale(1.05); }
#tb .tb-menu-img.is-active { opacity:1; transform:scale(1); }
/* ---- chips (EN / DE / mode) ---- */
#tb .tb-chip { padding:8px 12px; border-radius:10px; border:1px solid var(--lineStrong); background:transparent; color:var(--ink); font-family:'Geist Mono', ui-monospace, monospace; font-size:11px; letter-spacing:.08em; cursor:pointer; }
#tb .tb-chip.is-on { border-color:var(--ink); background:var(--ink); color:var(--bg); }
/* ---- accordion rows ---- */
#tb .tb-row { display:block; width:100%; text-align:left; padding:clamp(18px,2.2vw,28px) clamp(4px,1vw,12px); background:transparent; border:none; border-top:1px solid var(--lineStrong); color:var(--ink); font:inherit; cursor:pointer; transition:background .3s ease; }
#tb .tb-row:hover, #tb .tb-row.is-open { background:var(--hover); }
#tb .tb-plus { font-size:clamp(26px,2.6vw,36px); font-weight:300; line-height:1; color:var(--accentText); transition:transform .35s cubic-bezier(.22,1,.36,1); }
#tb .tb-row.is-open .tb-plus { transform:rotate(45deg); }
#tb .tb-rbody { display:block; overflow:hidden; max-width:64ch; margin-left:clamp(48px,calc(72px + 2vw),100px); font-size:clamp(15px,1.3vw,17px); line-height:1.6; color:var(--muted); max-height:0; opacity:0; margin-top:0; transition:max-height .45s cubic-bezier(.22,1,.36,1), opacity .35s ease, margin-top .45s ease; }
#tb .tb-row.is-open .tb-rbody { max-height:340px; opacity:1; margin-top:14px; }
/* ---- legal modal ---- */
#tb .tb-modal { position:fixed; inset:0; z-index:8000; display:flex; align-items:center; justify-content:center; padding:clamp(12px,4vw,40px); background:rgba(0,0,0,.6); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); opacity:0; visibility:hidden; transition:opacity .3s ease, visibility .3s; }
#tb .tb-modal.is-open, #tb .tb-modal:target { opacity:1; visibility:visible; }
#tb a[data-act="legal-close"] { display:inline-flex; align-items:center; justify-content:center; }
#tb a[data-act="legal-open"] { display:inline-block; }
#tb .tb-modal-panel { width:min(720px,100%); max-height:84vh; overflow-y:auto; background:var(--bg); color:var(--ink); border:1px solid var(--lineStrong); border-radius:14px; padding:clamp(22px,4vw,40px); }

/* ---- layout (former inline styles) ---- */
#tb .s0 { position: absolute; inset: 0px; background-image: linear-gradient(var(--contour) 1px, transparent 1px), linear-gradient(90deg, var(--contour) 1px, transparent 1px); background-size: 80px 80px; background-position: center center; mask-image: radial-gradient(60% 60%, rgb(0, 0, 0) 20%, transparent 80%); -webkit-mask-image: radial-gradient(60% 60%, rgb(0, 0, 0) 20%, transparent 80%); }
#tb .s1 { position: absolute; top: clamp(18px, 3vw, 32px); left: clamp(18px, 3vw, 36px); right: clamp(18px, 3vw, 36px); display: flex; justify-content: space-between; gap: 16px; font-family: var(--mono); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); }
#tb .s2 { position: relative; display: flex; flex-direction: column; align-items: center; gap: clamp(20px, 3vh, 32px); }
#tb .s3 { position: relative; display: inline-block; line-height: 0.8; padding: 0.08em 0.3em 0.62em 0px; }
#tb .s4 { font-family: var(--sans); font-weight: 700; letter-spacing: -0.055em; font-size: min(clamp(84px, 13vw, 190px), -10px + 25vw); color: var(--lockInk, var(--ink)); }
#tb .s5 { position: absolute; left: 30%; top: 40%; font-family: "Instrument Serif", Georgia, serif; font-style: italic; font-weight: 400; font-size: calc(0.92 * min(clamp(84px, 13vw, 190px), -10px + 25vw)); line-height: 1; letter-spacing: -0.02em; color: var(--sig); transform: rotate(-6deg); white-space: nowrap; text-shadow: none; }
#tb .s6 { display: flex; align-items: center; gap: 14px; margin-top: clamp(64px, 11vh, 110px); width: min(300px, 70vw); font-family: var(--mono); font-size: 11px; letter-spacing: 0.1em; color: var(--muted); animation-delay: 0.25s; }
#tb .s7 { position: relative; flex: 1 1 0%; height: 1px; background: var(--line); overflow: hidden; }
#tb .s8 { position: absolute; left: 0px; top: 0px; bottom: 0px; width: 0%; background: var(--sig); box-shadow: 0 0 12px var(--sig); }
#tb .s9 { min-width: 4ch; text-align: right; font-variant-numeric: tabular-nums; color: var(--ink); }
#tb .sa { position: absolute; bottom: clamp(18px, 3vw, 32px); left: clamp(18px, 3vw, 36px); right: clamp(18px, 3vw, 36px); display: flex; justify-content: space-between; gap: 16px; font-family: var(--mono); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); animation-delay: 0.4s; }
#tb .sb { color: var(--accentText); }
#tb .sc { position: fixed; top: 0px; left: 0px; right: 0px; z-index: 60; display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: clamp(14px, 2vw, 22px) clamp(16px, 2.4vw, 28px); pointer-events: none; }
#tb .sd { pointer-events: auto; display: flex; flex-direction: column; justify-content: center; height: 52px; padding: 0px 14px; border-radius: 12px; line-height: 0.82; }
#tb .se { font-family: "Instrument Serif", Georgia, serif; font-size: 20px; letter-spacing: 0.01em; }
#tb .sf { font-family: var(--sans); font-weight: 700; font-size: 20px; letter-spacing: -0.03em; }
#tb .sg { pointer-events: auto; display: flex; gap: 8px; }
#tb .sh { display: flex; align-items: center; height: 52px; padding: 0px 22px; border-radius: 12px; font-family: var(--sans); font-weight: 600; font-size: 15px; letter-spacing: -0.01em; }
#tb .si { position: relative; z-index: 1; flex: 1 1 520px; display: flex; flex-direction: column; justify-content: space-between; gap: 40px; padding: clamp(110px, 14vh, 150px) clamp(20px, 5vw, 72px) clamp(28px, 5vh, 48px); }
#tb .sj { display: flex; flex-direction: column; gap: clamp(4px, 1vh, 10px); }
#tb .sk { font-family: var(--mono); font-size: 12px; font-weight: 400; letter-spacing: 0.08em; color: var(--muted); width: 34px; }
#tb .sl { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 24px; font-family: var(--mono); font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; }
#tb .sm { display: flex; gap: 6px; }
#tb .sn { color: var(--muted); }
#tb .so { position: relative; flex: 0 1 44%; min-height: 100%; overflow: hidden; }
#tb .sp { position: relative; min-height: max(640px, 100svh); overflow: hidden; background: rgb(14, 13, 12); color: rgb(245, 243, 239); }
#tb .sq { position: absolute; inset: 0px; width: 100%; height: 100%; object-fit: cover; object-position: 72% 0%; }
#tb .sr { position: relative; z-index: 2; min-height: max(640px, 100svh); max-width: 1440px; margin: 0px auto; display: flex; flex-direction: column; justify-content: flex-end; gap: clamp(18px, 3vh, 28px); padding: 120px clamp(20px, 5vw, 72px) clamp(36px, 7vh, 72px); text-shadow: rgba(14, 13, 12, 0.6) 0px 2px 30px; }
#tb .ss { margin: 0px 0px clamp(28px, 5vw, 72px); font-weight: 400; animation-delay: 0.15s; --lockInk: #F5F3EF; text-shadow: none; }
#tb .st { font-family: var(--sans); font-weight: 700; letter-spacing: -0.055em; font-size: min(clamp(96px, 16vw, 260px), -10px + 25vw); color: var(--lockInk, var(--ink)); }
#tb .su { position: absolute; left: 30%; top: 40%; font-family: "Instrument Serif", Georgia, serif; font-style: italic; font-weight: 400; font-size: calc(0.92 * min(clamp(96px, 16vw, 260px), -10px + 25vw)); line-height: 1; letter-spacing: -0.02em; color: var(--sig); transform: rotate(-6deg); white-space: nowrap; text-shadow: none; }
#tb .sv { align-self: flex-start; display: flex; flex-wrap: wrap; align-items: stretch; border-radius: 14px; overflow: hidden; font-family: var(--mono); text-shadow: none; animation-delay: 0.35s; }
#tb .sw { display: flex; flex-direction: column; gap: 6px; padding: 12px 18px; }
#tb .sx { font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(245, 243, 239, 0.62); }
#tb .sy { display: flex; align-items: center; gap: 8px; font-size: 14px; letter-spacing: 0.04em; color: rgb(245, 243, 239); }
#tb .sz { width: 7px; height: 7px; border-radius: 50%; background: var(--sig); box-shadow: 0 0 10px var(--sig); }
#tb .s10 { display: flex; flex-direction: column; gap: 6px; padding: 12px 18px; border-left: 1px solid rgba(255, 255, 255, 0.12); }
#tb .s11 { font-size: 14px; letter-spacing: 0.04em; color: rgb(245, 243, 239); font-variant-numeric: tabular-nums; }
#tb .s12 { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 12px 18px; border-left: 1px solid rgba(255, 255, 255, 0.12); font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: rgb(245, 243, 239); }
#tb .s13 { display: inline-block; animation: 2.2s ease-in-out 0s infinite normal none running tbCue; }
#tb .s14 { position: relative; overflow: hidden; padding: clamp(90px, 14vw, 190px) clamp(20px, 5vw, 72px); }
#tb .s15 { position: absolute; inset: 0px; width: 100%; height: 100%; pointer-events: none; mask-image: radial-gradient(70% 70% at 60% 50%, rgb(0, 0, 0) 30%, transparent 85%); -webkit-mask-image: radial-gradient(70% 70% at 60% 50%, rgb(0, 0, 0) 30%, transparent 85%); }
#tb .s16 { stroke: var(--contour); }
#tb .s17 { stroke: var(--cross); }
#tb .s18 { position: relative; max-width: 1240px; margin: 0px auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(440px, 100%), 1fr)); gap: clamp(40px, 6vw, 100px); align-items: start; }
#tb .s19 { display: flex; flex-direction: column; gap: 20px; }
#tb .s1a { font-family: var(--mono); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); }
#tb .s1b { margin: 0px; font-weight: 400; line-height: 0.92;  transition: opacity 0.9s, transform 0.9s cubic-bezier(0.22, 1, 0.36, 1); }
#tb .s1c { display: block; font-family: "Instrument Serif", Georgia, serif; font-size: clamp(52px, 7vw, 110px); }
#tb .s1d { display: block; font-family: var(--sans); font-weight: 700; font-size: clamp(50px, 6.6vw, 104px); letter-spacing: -0.05em; }
#tb .s1e { display: flex; flex-direction: column; gap: 26px; padding-top: clamp(0px, 4vw, 48px); }
#tb .s1f { margin: 0px; font-family: "Instrument Serif", Georgia, serif; font-size: clamp(24px, 2.3vw, 34px); line-height: 1.22; color: var(--muted); text-wrap: pretty; }
#tb .s1g { color: var(--ink); }
#tb .s1h { padding: 0px clamp(20px, 5vw, 72px) clamp(80px, 10vw, 140px); }
#tb .s1i { max-width: 1240px; margin: 0px auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(420px, 100%), 1fr)); border-top: 1px solid var(--lineStrong); border-bottom: 1px solid var(--lineStrong); }
#tb .s1j { position: relative; display: flex; flex-direction: column; justify-content: space-between; gap: 40px; min-height: clamp(320px, 40vh, 420px); padding: clamp(24px, 3vw, 40px) clamp(4px, 2vw, 32px) clamp(24px, 3vw, 40px) 0px; }
#tb .s1k { position: relative; z-index: 1; font-family: var(--mono); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); }
#tb .s1l { position: absolute; z-index: 0; right: clamp(16px, 3vw, 40px); top: clamp(16px, 3vw, 36px); width: clamp(140px, 14vw, 200px); aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 15%; border-radius: 8px; pointer-events: none; }
#tb .s1m { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 16px; }
#tb .s1n { margin: 0px; font-weight: 400; line-height: 0.86; }
#tb .s1o { display: block; font-family: "Instrument Serif", Georgia, serif; font-size: clamp(56px, 6.4vw, 100px); }
#tb .s1p { display: block; font-family: var(--sans); font-weight: 700; font-size: clamp(54px, 6.2vw, 96px); letter-spacing: -0.05em; }
#tb .s1q { display: flex; justify-content: space-between; gap: 16px; align-items: flex-end; font-size: 16px; line-height: 1.45; color: var(--muted); }
#tb .s1r { max-width: 34ch; }
#tb .s1s { font-size: 24px; color: var(--ink); }
#tb .s1t { position: relative; display: flex; flex-direction: column; justify-content: space-between; gap: 40px; min-height: clamp(320px, 40vh, 420px); padding: clamp(24px, 3vw, 40px) clamp(4px, 2vw, 32px); border-left: 1px solid var(--lineStrong); }
#tb .s1u { position: absolute; z-index: 0; right: clamp(16px, 3vw, 40px); top: clamp(16px, 3vw, 36px); width: clamp(140px, 14vw, 200px); aspect-ratio: 4 / 5; object-fit: cover; object-position: 70% 35%; border-radius: 8px; pointer-events: none; }
#tb .s1v { padding: clamp(80px, 10vw, 140px) clamp(20px, 5vw, 72px); background: var(--surface); }
#tb .s1w { max-width: 1240px; margin: 0px auto; }
#tb .s1x { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; flex-wrap: wrap; margin-bottom: clamp(30px, 4vw, 56px); }
#tb .s1y { margin: 0px; font-weight: 400; line-height: 0.9; }
#tb .s1z { display: block; font-family: "Instrument Serif", Georgia, serif; font-size: clamp(48px, 6vw, 96px); }
#tb .s20 { display: block; font-family: var(--sans); font-weight: 700; font-size: clamp(46px, 5.6vw, 90px); letter-spacing: -0.05em; }
#tb .s21 { border-bottom: 1px solid var(--lineStrong); }
#tb .s22 { display: grid; grid-template-columns: minmax(36px, 72px) minmax(0px, 1fr) auto; align-items: center; gap: clamp(12px, 2vw, 28px); }
#tb .s23 { font-family: var(--mono); font-size: 13px; color: var(--muted); }
#tb .s24 { display: flex; flex-direction: column; gap: 8px; min-width: 0px; }
#tb .s25 { font-family: var(--mono); font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--accentText); }
#tb .s26 { font-size: clamp(22px, 2.8vw, 40px); line-height: 1.05; font-weight: 500; letter-spacing: -0.03em; }
#tb .s27 { position: relative; min-height: 760px; overflow: hidden; background: rgb(14, 13, 12); }
#tb .s28 { position: absolute; inset: 0px; width: 100%; height: 100%; object-fit: cover; object-position: 50% 45%; }
#tb .s29 { position: absolute; inset: 0px; background: linear-gradient(rgba(14, 13, 12, 0.28), rgba(14, 13, 12, 0.38) 50%, rgba(14, 13, 12, 0.7)); }
#tb .s2a { position: relative; z-index: 2; max-width: 1440px; min-height: 760px; margin: 0px auto; display: flex; flex-direction: column; justify-content: flex-end; gap: 22px; padding: clamp(56px, 8vw, 100px) clamp(20px, 5vw, 72px); text-shadow: rgba(0, 0, 0, 0.55) 0px 2px 24px, rgba(0, 0, 0, 0.5) 0px 1px 3px; }
#tb .s2b { font-family: var(--mono); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: rgba(245, 243, 239, 0.85); }
#tb .s2c { color: rgb(141, 180, 255); }
#tb .s2d { margin: 0px; font-weight: 400; line-height: 0.9; color: rgb(245, 243, 239); }
#tb .s2e { display: block; font-family: "Instrument Serif", Georgia, serif; font-size: clamp(56px, 10vw, 170px); }
#tb .s2f { display: block; font-family: var(--sans); font-weight: 700; font-size: clamp(52px, 9.4vw, 160px); letter-spacing: -0.05em; }
#tb .s2g { margin: 0px; max-width: 42ch; font-size: clamp(17px, 1.6vw, 21px); line-height: 1.5; color: rgb(245, 243, 239); }
#tb .s2h { position: relative; }
#tb .s2i { position: sticky; top: 0px; height: 100vh; overflow: hidden; padding: 88px 0px clamp(18px, 3vh, 28px); display: flex; flex-direction: column; justify-content: flex-start; gap: clamp(16px, 2.6vh, 28px); }
#tb .s2j { position: absolute; top: 0px; left: 0px; height: 100%; width: 200%; pointer-events: none; mask-image: linear-gradient(transparent, rgb(0, 0, 0) 20%, rgb(0, 0, 0) 80%, transparent); -webkit-mask-image: linear-gradient(transparent, rgb(0, 0, 0) 20%, rgb(0, 0, 0) 80%, transparent); }
#tb .s2k { position: relative; width: 100%; max-width: 1440px; margin: 0px auto; padding: 0px clamp(20px, 5vw, 72px); display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
#tb .s2l { display: block; font-family: "Instrument Serif", Georgia, serif; font-size: clamp(44px, 5vw, 80px); }
#tb .s2m { display: block; font-family: var(--sans); font-weight: 700; font-size: clamp(42px, 4.8vw, 76px); letter-spacing: -0.05em; }
#tb .s2n { display: flex; flex-direction: column; align-items: flex-end; gap: 10px; max-width: 420px; }
#tb .s2o { margin: 0px; font-size: 15px; line-height: 1.5; color: var(--muted); text-align: right; }
#tb .s2p { position: relative; flex: 1 1 auto; min-height: 0px; width: 100%; overflow: hidden; }
#tb .s2q { display: flex; align-items: flex-start; height: 100%; gap: clamp(18px, 2.2vw, 40px); width: max-content; padding: 0px clamp(20px, 5vw, 72px); }
#tb .s2r { flex: 0 0 auto; width: min(clamp(230px, 22vw, 340px), -222px + 74vh); margin: 0px; align-self: flex-start; display: flex; flex-direction: column; gap: 12px; }
#tb .s2s { display: flex; justify-content: space-between; gap: 12px; font-family: var(--mono); font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; }
#tb .s2t { overflow: hidden; aspect-ratio: 4 / 5; background: var(--surface); border-radius: 6px; }
#tb .s2u { width: 100%; height: 100%; object-fit: cover; object-position: 50% 15%; }
#tb .s2v { flex: 0 0 auto; width: clamp(220px, 20vw, 320px); margin: 0px; align-self: center; }
#tb .s2w { margin: 0px; font-family: "Instrument Serif", Georgia, serif; font-size: clamp(26px, 2.4vw, 38px); line-height: 1.12; color: var(--muted); }
#tb .s2x { flex: 0 0 auto; width: min(clamp(170px, 15vw, 240px), -222px + 74vh); margin: 0px; align-self: flex-end; display: flex; flex-direction: column; gap: 12px; }
#tb .s2y { width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; }
#tb .s2z { flex: 0 0 auto; width: min(clamp(180px, 16vw, 250px), -222px + 74vh); margin: 0px; align-self: flex-start; display: flex; flex-direction: column; gap: 12px; }
#tb .s30 { overflow: hidden; aspect-ratio: 1 / 1; background: var(--surface); border-radius: 6px; }
#tb .s31 { flex: 0 0 auto; width: clamp(220px, 20vw, 320px); margin: 0px; align-self: flex-end; }
#tb .s32 { flex: 0 0 auto; width: min(clamp(230px, 21vw, 330px), -222px + 74vh); margin: 0px; align-self: flex-start; display: flex; flex-direction: column; gap: 12px; }
#tb .s33 { width: 100%; height: 100%; object-fit: cover; object-position: 55% 20%; }
#tb .s34 { overflow: hidden; aspect-ratio: 3 / 4; background: var(--surface); border-radius: 6px; }
#tb .s35 { flex: 0 0 auto; width: min(clamp(160px, 14vw, 220px), -222px + 74vh); margin: 0px; align-self: flex-start; display: flex; flex-direction: column; gap: 12px; }
#tb .s36 { width: 100%; height: 100%; object-fit: cover; object-position: 70% 40%; }
#tb .s37 { flex: 0 0 auto; width: min(clamp(180px, 16vw, 250px), -222px + 74vh); margin: 0px; align-self: flex-end; display: flex; flex-direction: column; gap: 12px; }
#tb .s38 { flex: 0 0 auto; width: min(clamp(170px, 15vw, 240px), -222px + 74vh); margin: 0px; align-self: flex-start; display: flex; flex-direction: column; gap: 12px; }
#tb .s39 { position: relative; width: 100%; max-width: 1440px; margin: 0px auto; padding: 0px clamp(20px, 5vw, 72px); display: flex; align-items: center; gap: 18px; }
#tb .s3a { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 10px; padding: 10px 14px; border-radius: 999px; font-family: var(--mono); font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; }
#tb .s3b { display: inline-block; animation: 1.6s ease-in-out 0s infinite normal none running tbNudge; }
#tb .s3c { position: relative; flex: 1 1 0%; height: 2px; background: var(--line); border-radius: 2px; overflow: hidden; }
#tb .s3d { position: absolute; left: 0px; top: 0px; bottom: 0px; width: 0%; background: var(--sig); }
#tb .s3e { flex: 0 0 auto; font-family: var(--mono); font-size: 12px; color: var(--muted); font-variant-numeric: tabular-nums; }
#tb .s3f { max-width: 1240px; margin: 0px auto; display: flex; flex-direction: column; gap: clamp(40px, 6vw, 80px); }
#tb .s3g { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
#tb .s3h { display: flex; flex-direction: column; gap: 18px; }
#tb .s3i { padding: clamp(18px, 2.2vw, 28px) clamp(4px, 1vw, 12px); }
#tb .s3j { font-family: var(--mono); font-size: 13px; color: var(--accentText); }
#tb .s3k { margin: 0px; font-size: clamp(22px, 2.8vw, 40px); line-height: 1.05; font-weight: 500; letter-spacing: -0.03em; }
#tb .s3l { margin: 14px 0px 0px clamp(48px, 72px + 2vw, 100px); max-width: 64ch; font-size: clamp(15px, 1.3vw, 17px); line-height: 1.6; color: var(--muted); }
#tb .s3m { padding: clamp(80px, 10vw, 140px) clamp(20px, 5vw, 72px); }
#tb .s3n { max-width: 1240px; margin: 0px auto; display: flex; flex-direction: column; gap: clamp(30px, 4vw, 52px); }
#tb .s3o { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(230px, 100%), 1fr)); gap: clamp(20px, 3vw, 40px); }
#tb .s3p { display: flex; flex-direction: column; gap: 8px; padding-top: 16px; border-top: 1px solid var(--lineStrong); }
#tb .s3q { font-family: var(--mono); font-size: 11px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--accentText); }
#tb .s3r { font-size: clamp(19px, 1.7vw, 22px); font-weight: 600; letter-spacing: -0.02em; line-height: 1.2; }
#tb .s3s { font-size: 15px; line-height: 1.5; color: var(--muted); }
#tb .s3t { padding: clamp(70px, 9vw, 120px) clamp(20px, 5vw, 72px); background: var(--surface); }
#tb .s3u { max-width: 1240px; margin: 0px auto; display: flex; flex-direction: column; gap: clamp(26px, 4vw, 44px); }
#tb .s3v { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)); column-gap: clamp(18px, 2.4vw, 32px); }
#tb .s3w { display: flex; flex-direction: column; gap: 14px; padding: 22px 0px 26px; border-top: 1px solid var(--lineStrong); }
#tb .s3x { font-size: clamp(64px, 7.4vw, 120px); line-height: 0.86; font-weight: 700; letter-spacing: -0.05em; }
#tb .s3y { display: flex; justify-content: space-between; gap: 10px; font-family: var(--mono); font-size: 12px; letter-spacing: 0.04em; }
#tb .s3z { display: block; height: 2px; background: var(--line); }
#tb .s40 { display: block; height: 2px; width: 100%; background: var(--accent); }
#tb .s41 { display: block; height: 2px; width: 92%; background: var(--accent); }
#tb .s42 { display: block; height: 2px; width: 82%; background: var(--accent); }
#tb .s43 { display: block; height: 2px; width: 52%; background: var(--accent); }
#tb .s44 { padding: clamp(90px, 12vw, 170px) clamp(20px, 5vw, 72px) clamp(60px, 8vw, 110px); }
#tb .s45 { max-width: 1240px; margin: 0px auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(440px, 100%), 1fr)); gap: clamp(40px, 6vw, 96px); align-items: start; }
#tb .s46 { display: flex; flex-direction: column; gap: 22px; }
#tb .s47 { margin: 0px; font-weight: 400; line-height: 0.88; }
#tb .s48 { display: block; font-family: "Instrument Serif", Georgia, serif; font-size: clamp(64px, 10vw, 170px); }
#tb .s49 { display: block; font-family: var(--sans); font-weight: 700; font-size: clamp(60px, 9.4vw, 160px); letter-spacing: -0.055em; }
#tb .s4a { margin: 0px; max-width: 38ch; font-size: clamp(17px, 1.5vw, 20px); line-height: 1.55; color: var(--muted); }
#tb .s4b { display: flex; flex-direction: column; gap: 14px; padding: clamp(22px, 3vw, 36px); background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); align-self: end; }
#tb .s4c { font-family: var(--mono); font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); }
#tb .s4d { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 22px 24px; border-radius: 12px; background: var(--accentFill); color: var(--onAccent); font-size: clamp(18px, 1.8vw, 22px); font-weight: 600; letter-spacing: -0.02em; }
#tb .s4e { font-size: 22px; }
#tb .s4f { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 24px; border-radius: 12px; border: 1px solid var(--lineStrong); color: var(--ink); font-size: 16px; font-weight: 500; }
#tb .s4g { position: relative; overflow: hidden; border-top: 1px solid var(--line); background: var(--surface); }
#tb .s4h { position: relative; max-width: 1440px; margin: 0px auto; padding: clamp(60px, 8vw, 110px) clamp(20px, 5vw, 72px) 28px; display: flex; flex-direction: column; gap: clamp(40px, 6vw, 80px); }
#tb .s4i { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 40px; }
#tb .s4j { display: flex; flex-direction: column; gap: 14px; max-width: 520px; }
#tb .s4k { display: block; margin-bottom: clamp(18px, 2.4vw, 32px); }
#tb .s4l { font-family: var(--sans); font-weight: 700; letter-spacing: -0.055em; font-size: min(clamp(72px, 8vw, 128px), -10px + 25vw); color: var(--lockInk, var(--ink)); }
#tb .s4m { position: absolute; left: 30%; top: 40%; font-family: "Instrument Serif", Georgia, serif; font-style: italic; font-weight: 400; font-size: calc(0.92 * min(clamp(72px, 8vw, 128px), -10px + 25vw)); line-height: 1; letter-spacing: -0.02em; color: var(--sig); transform: rotate(-6deg); white-space: nowrap; text-shadow: none; }
#tb .s4n { margin: 0px; font-family: "Instrument Serif", Georgia, serif; font-size: clamp(24px, 2.2vw, 32px); line-height: 1.2; color: var(--muted); }
#tb .s4o { display: grid; grid-template-columns: repeat(2, minmax(120px, 1fr)); gap: 10px 40px; align-content: start; font-size: 16px; }
#tb .s4p { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; padding-top: 20px; border-top: 1px solid var(--line); font-family: var(--mono); font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); }
#tb .s4q { background: none; border: 1px solid var(--lineStrong); border-radius: 10px; padding: 9px 14px; color: var(--muted); font-family: var(--mono); font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; cursor: pointer; }
#tb .s4r { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 24px; }
#tb .s4s { margin: 0px; font-size: clamp(24px, 2.6vw, 32px); font-weight: 600; letter-spacing: -0.03em; }
#tb .s4t { flex: 0 0 auto; width: 40px; height: 40px; border: 1px solid var(--lineStrong); border-radius: 10px; background: none; color: var(--ink); font-size: 18px; line-height: 1; cursor: pointer; }
#tb .s4u { display: flex; flex-direction: column; gap: 8px; }
#tb .s4v { margin: 0px; font-family: var(--mono); font-size: 11px; font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase; color: var(--accentText); }
#tb .s4w { margin: 0px; font-size: 14px; line-height: 1.65; color: var(--muted); white-space: pre-line; }
/* ---- hover states ---- */
#tb .scp0:hover { color: var(--ink) !important; }
#tb .scp1:hover { background: rgba(255, 255, 255, 0.08) !important; }
#tb .scp2:hover { filter: brightness(1.08) !important; }
#tb .scp3:hover { border-color: var(--ink) !important; }
#tb .scp4:hover { color: var(--ink) !important; border-color: var(--ink) !important; }
