* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; -webkit-font-smoothing: antialiased; font-family:'Source Serif 4',Georgia,serif; background:#FFFFFF; color:#1C1712; }
a { text-decoration: none; }
img { max-width: 100%; display: block; }
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes pulseDot { 0%, 100% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.5); opacity: .4; } }

:root {
  --paper:#FFFFFF; --paper-card:#F4F4F1; --ink:#1C1712; --ink-soft:rgba(28,23,18,.68); --line:rgba(28,23,18,.14);
  --rust:#C24A1C; --rust-dark:#96380F; --moss:#47624C; --wine:#7C3B45; --ink-bg:#1C1712;
  --ease:cubic-bezier(.4,0,.2,1);
}

/* Projects bar */
.projects-bar { display:flex; align-items:center; justify-content:flex-end; gap:18px; padding:14px clamp(20px,5vw,64px); background:#FFFFFF; flex-wrap:wrap; }
.projects-bar .label { font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-soft); }
.project-item { display:flex; flex-direction:column; align-items:center; gap:4px; }
.project-item img { width:44px; height:44px; border-radius:10px; object-fit:contain; }
.project-item a { font-family:'JetBrains Mono',monospace; font-size:9px; letter-spacing:.03em; text-transform:uppercase; color:var(--ink-soft); }
.project-item a:hover { color:var(--rust); }

/* Header / nav */
header { position:sticky; top:0; z-index:50; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; padding:20px clamp(20px,5vw,64px); background:rgba(255,255,255,.88); backdrop-filter:blur(8px); border-bottom:1px solid var(--line); }
.brand { display:flex; align-items:center; gap:9px; font-family:'Schibsted Grotesk',sans-serif; font-weight:700; font-size:22px; letter-spacing:-0.01em; color:var(--ink); }
.brand-mark { width:26px; height:26px; object-fit:contain; flex:0 0 auto; }
.dot { width:8px; height:8px; border-radius:50%; background:var(--rust); animation:pulseDot 2.4s ease-in-out infinite; }
nav { display:flex; flex-wrap:wrap; align-items:center; gap:clamp(16px,3vw,32px); font-family:'JetBrains Mono',monospace; font-size:13px; letter-spacing:.06em; text-transform:uppercase; }
nav a { color:var(--ink); border-bottom:1px solid transparent; }
nav a:hover { border-bottom:1px solid var(--rust); color:var(--rust); }
nav a.cta { color:var(--paper); background:var(--ink); padding:9px 18px; border-radius:2px; border-bottom:none; }
nav a.cta:hover { background:var(--rust); color:var(--paper); }

/* Marquee */
.marquee-wrap { overflow:hidden; background:var(--ink-bg); padding:10px 0; }
.marquee { display:flex; width:max-content; animation:marquee 28s linear infinite; gap:36px; }
.marquee-group { display:flex; gap:36px; align-items:center; flex-shrink:0; }
.marquee-group span.tag { font-family:'JetBrains Mono',monospace; font-weight:700; font-size:12.5px; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.55); }
.marquee-group span.tag.accent { color:var(--rust); }
.marquee-group span.sep { color:rgba(255,255,255,.25); font-size:12px; }

/* Breadcrumb */
.breadcrumb { font-family:'JetBrains Mono',monospace; font-size:12.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-soft); margin:0 0 20px; }
.breadcrumb a { color:var(--ink-soft); border-bottom:1px solid var(--line); }

/* Hero (index) */
main { max-width:1280px; margin:0 auto; }
.hero { padding:clamp(48px,9vw,96px) clamp(20px,5vw,64px) clamp(56px,8vw,96px); }
.hero-inner { display:flex; flex-wrap:wrap; gap:clamp(32px,5vw,64px); align-items:flex-end; }
.hero-text { flex:1 1 480px; min-width:280px; }
.eyebrow { font-family:'JetBrains Mono',monospace; font-size:13px; letter-spacing:.14em; text-transform:uppercase; color:var(--rust); margin:0 0 20px; }
h1 { font-family:'Schibsted Grotesk',sans-serif; font-weight:800; font-size:clamp(52px,9vw,124px); line-height:.94; letter-spacing:-0.03em; margin:0 0 24px; color:var(--ink); }
.lede { font-family:'Source Serif 4',serif; font-style:italic; font-size:clamp(20px,2.6vw,28px); color:var(--ink); max-width:34ch; margin:0 0 20px; line-height:1.4; }
.intro { font-size:18px; line-height:1.7; color:var(--ink-soft); max-width:52ch; margin:0 0 32px; }
.facts { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:12px; border-top:1px solid var(--line); padding-top:24px; max-width:56ch; }
.facts li { display:flex; gap:12px; font-size:17px; line-height:1.5; }
.facts li span { color:var(--rust); font-family:'JetBrains Mono',monospace; }

.hero-photo { flex:1 1 300px; max-width:400px; min-width:240px; position:relative; }
.hero-photo .backdrop { position:absolute; top:18px; left:18px; width:100%; height:100%; background:var(--rust); z-index:0; }
.hero-photo img { position:relative; z-index:1; width:100%; aspect-ratio:1/1; object-fit:cover; border:1px solid var(--ink); }
.hero-badge { position:absolute; z-index:2; bottom:16px; right:-16px; display:flex; align-items:center; gap:8px; background:var(--ink-bg); padding:9px 16px 9px 12px; }
.hero-badge span.txt { font-family:'JetBrains Mono',monospace; font-weight:700; font-size:11.5px; color:#fff; white-space:nowrap; text-transform:uppercase; letter-spacing:.04em; }

section { padding:clamp(48px,7vw,80px) clamp(20px,5vw,64px); }
#blog, #about { max-width:1280px; margin:0 auto; }
#about { max-width:900px; }
#blog { scroll-margin-top:90px; border-top:1px solid var(--line); }
#about { scroll-margin-top:90px; }
.section-head { display:flex; align-items:baseline; justify-content:space-between; gap:16px; margin-bottom:clamp(32px,5vw,56px); flex-wrap:wrap; }
h2 { font-family:'Schibsted Grotesk',sans-serif; font-weight:700; font-size:clamp(32px,5vw,52px); margin:0; letter-spacing:-.01em; }
.count { font-family:'JetBrains Mono',monospace; font-size:13px; color:var(--ink-soft); letter-spacing:.06em; text-transform:uppercase; }

/* Post list card (index, author, category, tag) */
.post { display:flex; flex-wrap:wrap; gap:28px; padding:32px 0; border-top:1px solid var(--line); color:var(--ink); align-items:center; transition:background .3s var(--ease), transform .3s var(--ease), box-shadow .3s var(--ease); background:var(--paper); }
.post:last-child { border-bottom:1px solid var(--line); }
.post:hover { background:#FAF8F5; }
.post.lift:hover { transform:translateY(-4px); box-shadow:0 16px 36px rgba(28,23,18,.1); background:var(--paper); }
.post .num { font-family:'JetBrains Mono',monospace; font-size:14px; color:var(--rust); flex:0 0 auto; }
.post .cover { flex:0 0 180px; width:180px; }
.post .cover img { width:100%; aspect-ratio:3/4; object-fit:cover; border:1px solid var(--ink); }
.post .body { flex:1 1 380px; min-width:240px; }
.post .tags { display:flex; gap:10px; margin-bottom:10px; flex-wrap:wrap; }
.post .tag { font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.08em; text-transform:uppercase; padding:3px 9px; border:1px solid currentColor; }
.post .tag.biznis { color:var(--rust); }
.post .tag.cestovanie { color:var(--moss); }
.post .tag.politika { color:var(--wine); }
.post .tag.muted { color:var(--ink-soft); border-color:var(--line); }
.post h3 { font-family:'Schibsted Grotesk',sans-serif; font-weight:700; font-size:clamp(22px,3vw,32px); margin:0 0 10px; letter-spacing:-.01em; }
.post p.excerpt { font-size:16px; line-height:1.65; color:var(--ink-soft); margin:0 0 12px; max-width:60ch; }
.post p.meta { font-family:'JetBrains Mono',monospace; font-size:12px; color:var(--ink-soft); letter-spacing:.04em; margin:0; }

.about-copy { font-size:clamp(19px,2.4vw,23px); line-height:1.7; color:var(--ink-soft); margin:0; max-width:56ch; }

/* Author page */
.author-head { max-width:900px; margin:0 auto; padding:clamp(48px,7vw,80px) clamp(20px,5vw,64px) 0; }
.author-row { display:flex; flex-wrap:wrap; gap:32px; align-items:center; margin-bottom:40px; }
.author-avatar { width:140px; height:140px; border:1px solid var(--ink); border-radius:50%; object-fit:cover; flex:0 0 auto; }
.author-lede { font-family:'Source Serif 4',serif; font-style:italic; font-size:19px; color:var(--ink-soft); margin:0; }
.author-desc { font-size:19px; line-height:1.7; color:var(--ink-soft); margin:0 0 56px; max-width:60ch; }
.author-posts { max-width:1280px; margin:0 auto; padding:0 clamp(20px,5vw,64px) clamp(56px,8vw,96px); border-top:1px solid var(--line); }
.author-posts .label { font-family:'JetBrains Mono',monospace; font-size:13px; color:var(--ink-soft); letter-spacing:.06em; text-transform:uppercase; margin:32px 0 0; }

/* Category / tag pages */
.cat-head { max-width:1280px; margin:0 auto; padding:clamp(40px,6vw,72px) clamp(20px,5vw,64px) 0; }
.cat-title { font-family:'Schibsted Grotesk',sans-serif; font-weight:800; font-size:clamp(40px,7vw,84px); letter-spacing:-.02em; margin:0 0 12px; }
.cat-title.biznis { color:var(--rust); }
.cat-title.cestovanie { color:var(--moss); }
.cat-title.politika { color:var(--wine); }
.cat-desc { font-size:18px; color:var(--ink-soft); margin:0 0 48px; max-width:60ch; }
.cat-posts { max-width:1280px; margin:0 auto; padding:0 clamp(20px,5vw,64px) clamp(56px,8vw,96px); border-top:1px solid var(--line); }

/* Article */
.article-body { max-width:720px; margin:0 auto; padding:clamp(40px,6vw,72px) clamp(20px,5vw,24px) 0; }
.article-body p { font-size: 19px; line-height: 1.75; color: var(--ink); margin: 0 0 26px; }
.article-body h1 { font-family:'Schibsted Grotesk',sans-serif; font-weight:800; font-size:clamp(34px,5.4vw,58px); line-height:1.02; letter-spacing:-.02em; margin:0 0 24px; }
.article-body h2 { font-family: 'Schibsted Grotesk', sans-serif; font-weight: 700; font-size: clamp(24px,3.2vw,34px); letter-spacing: -.01em; margin: 56px 0 22px; }
.article-body strong { font-weight: 600; }
.article-body a { color: #C24A1C; border-bottom: 1px solid rgba(194,74,28,.4); }
.article-body figure { margin: 40px 0; }
.article-body figcaption { font-family: 'JetBrains Mono', monospace; font-size: 13px; color: rgba(28,23,18,.55); margin-top:10px; text-align:center; }
.article-meta { font-family:'JetBrains Mono',monospace; font-size:13px; color:var(--ink-soft); letter-spacing:.03em; margin:0 0 36px; padding-bottom:32px; border-bottom:1px solid var(--line); }
.article-meta a { color:var(--ink-soft); border-bottom:none; }
.article-tags { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:20px; }
.article-tags a { font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.08em; text-transform:uppercase; padding:3px 9px; border:1px solid currentColor; }
.article-video { position:relative; width:100%; aspect-ratio:16/9; margin:40px 0; }
.article-video iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.pull-quote { font-size:21px; font-style:italic; padding-left:20px; border-left:2px solid var(--rust); }
mark { background: rgba(194,74,28,.22); color: var(--ink); padding: 0 4px; }

.article-footer-tags { display:flex; flex-wrap:wrap; gap:10px; margin:44px 0 0; padding-top:28px; border-top:1px solid var(--line); }
.article-footer-tags a { font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.08em; text-transform:uppercase; padding:3px 9px; border:1px solid currentColor; }

.article-pager { max-width:720px; margin:32px auto 0; padding:0 clamp(20px,5vw,24px); display:flex; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.article-pager.end { justify-content:flex-end; }
.article-pager a { color:var(--ink); padding:20px 0 40px; }
.article-pager a:hover { color:var(--rust); }
.article-pager a.next { text-align:right; }
.article-pager .pager-label { display:block; font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:6px; }
.article-pager .pager-title { font-family:'Schibsted Grotesk',sans-serif; font-weight:700; font-size:20px; }

/* Placeholder image (no source recovered from live site) */
.img-placeholder { width:100%; aspect-ratio:3/4; border:1px dashed var(--line); background:var(--paper-card); display:flex; align-items:center; justify-content:center; text-align:center; padding:20px; }
.img-placeholder span { font-family:'JetBrains Mono',monospace; font-size:12px; color:var(--ink-soft); letter-spacing:.02em; line-height:1.5; }

/* Contact / footer */
#contact { background:var(--ink-bg); color:var(--paper); margin-top:clamp(32px,6vw,64px); padding:0; }
#contact.tight { margin-top:24px; }
.contact-grid { max-width:1280px; margin:0 auto; padding:clamp(48px,7vw,88px) clamp(20px,5vw,64px); display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:48px; }
.contact-grid h2 { font-size:clamp(26px,3.4vw,36px); margin:0 0 24px; }
.contact-list, .social-list { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:16px; font-size:17px; }
.contact-list li { display:flex; align-items:center; gap:12px; }
.contact-list a, .social-list a { color:var(--paper); }
.contact-list a:hover, .social-list a:hover { color:var(--rust); }
.social-list { gap:14px; font-family:'JetBrains Mono',monospace; font-size:14px; letter-spacing:.04em; }
.social-list a { border-bottom:1px solid rgba(255,255,255,.3); }
.social-list a:hover { border-bottom-color:var(--rust); }

.subscribe-form { display:flex; flex-wrap:wrap; gap:10px; }
.subscribe-form input { flex:1 1 180px; min-width:0; background:transparent; border:1px solid rgba(255,255,255,.4); color:var(--paper); padding:12px 14px; font-size:15px; font-family:'Source Serif 4',serif; }
.subscribe-form button { flex:0 0 auto; background:var(--rust); color:#fff; border:none; padding:12px 22px; font-family:'JetBrains Mono',monospace; font-size:13px; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; }
.subscribe-form button:hover { background:var(--rust-dark); }
.hp-field { position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden; }
.subscribe-success { font-size:15px; color:var(--paper); margin:0; }

.footer-bar { border-top:1px solid rgba(255,255,255,.16); }
.footer-bar .inner { max-width:1280px; margin:0 auto; padding:28px clamp(20px,5vw,64px); display:flex; justify-content:center; }
.footer-bar p { margin:0; font-family:'JetBrains Mono',monospace; font-size:12px; color:rgba(255,255,255,.4); }
