/* Lumero shared base — pairs with each page's inline styles */
:root{
  --bg:#f3f4f6;
  --ink:#111;
  --ink-soft:#606e7b;
  --rule:rgba(17,17,17,0.08);
  --rule-strong:#d9dde1;
  --muted:#c8ccd2;
  --blue:#0000ff;
  --blue-soft:#7d7dff;
  --col:283.25px;
  --pad-x:24px;
  --row:80px;
  --hairline:1px;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--bg);color:var(--ink);font-family:"Inter","Helvetica Neue",Arial,sans-serif;font-weight:500;-webkit-font-smoothing:antialiased;letter-spacing:-0.01em}
body{overflow-x:hidden}
a{color:inherit;text-decoration:none}
img,svg,canvas{display:block;max-width:100%}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}

.page{position:relative;width:100%;max-width:1133px;margin:0 auto;border-left:var(--hairline) solid var(--rule);border-right:var(--hairline) solid var(--rule);background:var(--bg);min-height:100vh}

.grid{display:grid;grid-template-columns:repeat(4,1fr);position:relative}
.grid::before,.grid::after{content:"";position:absolute;top:0;bottom:0;width:1px;background:var(--rule);pointer-events:none}
.grid::before{left:25%}
.grid::after{left:75%}
.cell{padding:24px;min-height:80px;position:relative}
.row-rule{border-top:var(--hairline) solid var(--rule)}

.nav{position:sticky;top:0;z-index:60;background:rgba(243,244,246,0.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:var(--hairline) solid var(--rule)}
.nav .grid{align-items:center}
.nav .cell{padding:18px 24px;min-height:64px}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:18px;letter-spacing:-0.02em}
.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;font-family:"Times New Roman",serif;font-weight:700;font-size:22px;line-height:1;color:var(--ink);transform:translateY(-1px);font-style:italic}
.brand-mark::before{content:"Ł"}
.nav-link{display:block;color:var(--ink-soft);font-size:14px;font-weight:500;padding:4px 0;transition:color .2s}
.nav-link:hover{color:var(--ink)}
.nav-link.active{color:var(--ink);font-weight:700}

.page-hero{padding:120px 24px 80px;border-bottom:var(--hairline) solid var(--rule);position:relative}
.page-hero .eyebrow{font-size:13px;color:var(--ink-soft);font-weight:500;margin-bottom:24px;display:flex;align-items:center;gap:10px}
.page-hero .eyebrow .dot{width:8px;height:8px;border-radius:999px;background:var(--blue)}
.page-hero h1{font-size:88px;font-weight:800;letter-spacing:-0.04em;line-height:0.96;max-width:920px}
.page-hero h1 em{font-style:normal;color:var(--blue)}
.page-hero .lede{margin-top:32px;font-size:22px;color:var(--ink-soft);max-width:680px;line-height:1.35}

.section{padding:80px 0;border-top:var(--hairline) solid var(--rule);position:relative}
.section.thin{padding:60px 0}
.section .head{padding:0 24px 40px}
.section .head h2{font-size:40px;font-weight:700;letter-spacing:-0.02em}
.section .head p{margin-top:14px;color:var(--ink-soft);font-size:15px;max-width:560px;line-height:1.5}
.section .grid > .cell h3{font-size:15px;font-weight:700;margin-bottom:14px}
.section .grid > .cell p{font-size:13px;line-height:1.55;color:var(--ink-soft)}

.slab{background:var(--blue);color:#fff;padding:120px 24px;font-size:64px;font-weight:800;letter-spacing:-0.04em;line-height:1;border-top:var(--hairline) solid var(--blue);border-bottom:var(--hairline) solid var(--blue)}

.cta-block{display:grid;grid-template-columns:1fr 3fr;align-items:center;border-top:var(--hairline) solid var(--rule);min-height:160px;padding:24px}
.cta-block .label{font-size:13px;color:var(--ink)}
.cta-block .body{display:flex;align-items:center;justify-content:space-between;font-size:56px;font-weight:800;letter-spacing:-0.03em}
.cta-block .body .arrow{font-size:36px;transition:transform .25s ease}
.cta-block:hover .body .arrow{transform:translateX(8px)}

.footer{padding:60px 0 0;border-top:var(--hairline) solid var(--rule);position:relative}
.footer .grid > .cell{padding:32px 24px;min-height:200px}
.footer .col-link{display:block;font-size:14px;color:var(--ink);margin-bottom:8px;font-weight:500;transition:color .2s}
.footer .col-link:hover{color:var(--blue)}
.footer .brand-mark{font-size:36px}
.footer-bottom{padding:24px;color:var(--muted);font-size:13px;display:flex;justify-content:center;text-align:center;border-top:1px solid var(--rule);margin-top:24px}
.footer-bottom a,.footer-link{color:var(--blue);transition:opacity .2s}
.footer-bottom a:hover,.footer-link:hover{opacity:.7}

/* Cookies consent banner — glass-morph, on-brand */
.cookie-banner{position:fixed;left:20px;right:20px;bottom:20px;z-index:200;background:rgba(255,255,255,0.78);-webkit-backdrop-filter:blur(24px) saturate(180%);backdrop-filter:blur(24px) saturate(180%);border:1px solid var(--rule-strong);border-radius:18px;box-shadow:0 30px 60px -16px rgba(17,17,17,0.22),0 6px 16px -8px rgba(17,17,17,0.08);padding:18px 22px;max-width:920px;margin:0 auto;transform:translateY(140%);opacity:0;transition:transform .55s cubic-bezier(.16,1,.3,1),opacity .45s ease;font-size:14px;color:var(--ink-soft)}
.cookie-banner.is-in{transform:translateY(0);opacity:1}
.cookie-banner__inner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:22px}
.cookie-banner__mark{flex-shrink:0;width:46px;height:46px;border-radius:14px;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font-family:"Times New Roman",serif;font-style:italic;font-weight:700;font-size:30px;line-height:1;letter-spacing:-0.02em;box-shadow:inset 0 0 0 1px rgba(255,255,255,0.06),0 4px 12px rgba(17,17,17,0.18)}
.cookie-banner__copy{line-height:1.5;color:var(--ink-soft);font-size:13px;letter-spacing:-0.005em}
.cookie-banner__copy strong{display:block;color:var(--ink);font-weight:700;font-size:14px;letter-spacing:-0.01em;margin-bottom:2px}
.cookie-banner__copy a{color:var(--blue);border-bottom:1px solid rgba(0,0,255,0.25);transition:border-color .2s,color .2s}
.cookie-banner__copy a:hover{border-bottom-color:var(--blue)}
.cookie-banner__buttons{display:flex;gap:8px;flex-shrink:0}
.cookie-btn{padding:11px 22px;border-radius:999px;font-size:13px;font-weight:600;border:1px solid transparent;cursor:pointer;letter-spacing:-0.005em;transition:transform .2s,background .2s,color .2s,border-color .2s,box-shadow .2s;white-space:nowrap}
.cookie-btn--decline{background:transparent;color:var(--ink-soft);border-color:var(--rule-strong)}
.cookie-btn--decline:hover{color:var(--ink);border-color:var(--ink);background:rgba(17,17,17,0.04)}
.cookie-btn--accept{background:var(--ink);color:#fff;box-shadow:0 2px 8px rgba(17,17,17,0.12)}
.cookie-btn--accept:hover{transform:translateY(-1px);background:#000;box-shadow:0 6px 16px rgba(17,17,17,0.22)}
@media (max-width:720px){
  .cookie-banner{padding:16px;left:14px;right:14px;bottom:14px;border-radius:16px}
  .cookie-banner__inner{grid-template-columns:auto 1fr;grid-template-areas:"mark copy" "buttons buttons";gap:14px 14px}
  .cookie-banner__mark{grid-area:mark;width:40px;height:40px;font-size:26px;border-radius:12px}
  .cookie-banner__copy{grid-area:copy}
  .cookie-banner__buttons{grid-area:buttons;justify-content:flex-end}
}

.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s ease,transform .9s ease}
.reveal.is-in{opacity:1;transform:none}

.col-span-2{grid-column:span 2}
.col-span-3{grid-column:span 3}
.col-span-4{grid-column:span 4}
.text-soft{color:var(--ink-soft)}

.prose{padding:24px 24px 80px;max-width:760px}
.prose h2{font-size:28px;font-weight:800;letter-spacing:-0.02em;margin:48px 0 16px}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:18px;font-weight:700;margin:24px 0 8px}
.prose p,.prose li{font-size:15px;color:var(--ink-soft);line-height:1.65}
.prose p{margin-bottom:14px}
.prose ul,.prose ol{margin:0 0 18px 18px}
.prose strong{color:var(--ink);font-weight:700}
.prose a{color:var(--blue);border-bottom:1px solid var(--blue-soft)}
.prose .meta{font-size:13px;color:var(--muted);font-feature-settings:"tnum";margin-bottom:8px}

@media (max-width:900px){
  .grid{grid-template-columns:1fr 1fr}
  .grid::before{left:50%}
  .grid::after{display:none}
  .page-hero{padding:80px 16px 60px}
  .page-hero h1{font-size:54px}
  .slab{font-size:40px;padding:80px 16px}
  .section{padding:60px 0}
  .section .head{padding:0 16px 32px}
  .section .head h2{font-size:30px}
  .cta-block{padding:24px 16px}
  .cta-block .body{font-size:34px}
  .prose{padding:16px 16px 60px}
}
