/* ============================================================
   AURUM Kancelaria Rachunkowa — base.css (homepage only)
   loader · hero · marquee · manifest · stats
   Shared design system lives in assets/css/site.css.
   ============================================================ */

/* ---------- loader ---------- */
.loader{
  position:fixed; inset:0; z-index:200; background:var(--ink);
  display:flex; align-items:center; justify-content:center;
}
.loader__inner{ display:flex; align-items:baseline; gap:1.2rem; }
.loader__mark{
  font-family:var(--serif); font-weight:300; font-style:italic;
  font-size:3.4rem; color:var(--brass-2);
}
.loader__count{
  font-family:var(--serif); font-weight:300; font-size:1.2rem;
  color:var(--muted-d); font-variant-numeric:tabular-nums; letter-spacing:.15em;
}

/* ---------- hero ---------- */
.hero{
  position:relative; min-height:100vh; min-height:100svh; background:var(--ink);
  display:flex; flex-direction:column; justify-content:center; overflow:hidden;
  color:var(--paper);
}
.hero__media{ position:absolute; inset:-6% 0; z-index:0; }
.hero__img{ width:100%; height:100%; object-fit:cover; filter:brightness(.5) saturate(.7); will-change:transform; }
.hero__shade{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(16,21,29,.62) 0%, rgba(16,21,29,.28) 45%, rgba(16,21,29,.88) 100%);
}
.hero__grid{ position:absolute; inset:0; z-index:1; width:100%; height:100%; pointer-events:none; }
.gline{ stroke:rgba(246,241,231,.13); stroke-width:1; }
.gline--brass{ stroke:rgba(199,156,93,.5); }
.hero__content{ position:relative; z-index:2; width:100%; padding-top:6.5rem; }
.hero__eyebrow{
  display:flex; align-items:center; gap:1rem;
  font-size:.8rem; font-weight:600; letter-spacing:.26em; text-transform:uppercase;
  color:var(--brass-2); margin-bottom:var(--s4);
}
.hero__rule{ display:inline-block; width:3.2rem; height:1px; background:var(--brass-2); transform-origin:left; }
.hero__title{
  font-family:var(--serif); font-weight:300; font-size:var(--fs-hero);
  line-height:1.04; letter-spacing:-.015em; margin-bottom:var(--s4); color:#fdfaf4;
}
.hero__title .mask{ display:block; overflow:hidden; padding-bottom:.08em; margin-bottom:-.08em; }
.hero__title .line{ display:block; will-change:transform; }
.line--italic em{ font-style:italic; font-weight:300; color:var(--brass-2); }
.hero__lead{ max-width:46ch; font-size:clamp(1rem, 1.2vw, 1.15rem); color:rgba(246,241,231,.82); margin-bottom:var(--s4); }
.hero__actions{ display:flex; flex-wrap:wrap; gap:1rem; }
.hero__foot{
  position:relative; z-index:2; width:100%;
  display:flex; align-items:flex-end; justify-content:space-between;
  padding-bottom:2.6rem; margin-top:auto;
}
.hero{ justify-content:flex-start; }
.hero__content{ margin-top:auto; }
.hero__scrollhint{
  display:flex; align-items:center; gap:.9rem;
  font-size:.74rem; letter-spacing:.3em; text-transform:uppercase; color:var(--muted-d);
}
.hero__scrollline{ display:block; width:1px; height:3.4rem; background:linear-gradient(var(--brass-2), transparent); }
.hero__counter{ display:flex; align-items:baseline; gap:1rem; text-align:right; }
.hero__counter-num{
  font-family:var(--serif); font-weight:300; font-size:clamp(3.4rem, 7vw, 6rem);
  line-height:.9; color:var(--brass-2); font-variant-numeric:tabular-nums;
}
.hero__counter-label{
  font-size:.78rem; font-weight:600; letter-spacing:.22em; text-transform:uppercase;
  color:rgba(246,241,231,.75); text-align:left; line-height:1.5;
}
.hero__progress{ position:absolute; left:0; right:0; bottom:0; height:3px; z-index:3; background:rgba(246,241,231,.1); }
.hero__progress span{ display:block; height:100%; width:100%; background:var(--brass); transform:scaleX(0); transform-origin:left; }

/* ---------- marquee ---------- */
.marquee{
  background:var(--ink); border-top:1px solid var(--line-d); border-bottom:1px solid var(--line-d);
  overflow:hidden; padding:1.05rem 0; position:relative; z-index:4;
}
.marquee__track{ display:flex; align-items:center; gap:2.8rem; width:max-content; will-change:transform; }
.marquee__track span{
  font-family:var(--serif); font-style:italic; font-weight:300; font-size:1.15rem;
  color:rgba(246,241,231,.72); white-space:nowrap;
}
.marquee__track i{ font-style:normal; font-size:.5rem; color:var(--brass); }

/* ---------- manifest ---------- */
.manifest{ background:var(--paper); position:relative; }
.manifest__statement{
  font-family:var(--serif); font-weight:300; font-size:clamp(1.7rem, 3.6vw, 3.1rem);
  line-height:1.22; letter-spacing:-.01em; color:var(--ink);
  max-width:24ch; margin-bottom:clamp(3rem, 7vw, 5.5rem);
}
.manifest__statement .w{ opacity:.16; display:inline; }
.manifest__cols{
  display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr);
  gap:clamp(2.5rem, 6vw, 5.5rem); align-items:start;
}
.manifest__text p{ max-width:62ch; margin-bottom:1.4rem; color:var(--text); }
.has-dropcap::first-letter{
  font-family:var(--serif); font-weight:400; font-size:3.4em; line-height:.82;
  float:left; padding-right:.14em; padding-top:.06em; color:var(--brass);
}
.manifest__media figcaption{
  margin-top:.9rem; font-size:.82rem; letter-spacing:.08em; color:var(--muted);
}
.manifest__media .parallax-frame{ aspect-ratio:4/5; }

/* ---------- stats ---------- */
.stats{ background:var(--ink); color:var(--paper); padding-block:clamp(3.5rem, 8vw, 6rem); }
.stats__grid{
  display:grid; grid-template-columns:repeat(4, 1fr); gap:2.5rem var(--s4);
}
.stat{ border-top:1px solid var(--line-d); padding-top:1.6rem; }
.stat__num{
  display:flex; align-items:baseline; font-family:var(--serif); font-weight:300;
  font-size:clamp(2.6rem, 4.6vw, 4.2rem); line-height:1; color:#fdfaf4;
  font-variant-numeric:tabular-nums;
}
.stat__num i{ font-style:normal; color:var(--brass-2); font-size:.6em; margin-left:.12em; }
.stat__label{ display:block; margin-top:.8rem; font-size:.88rem; color:var(--muted-d); max-width:18ch; }

/* responsive (homepage part) */
@media (max-width: 980px){
  .manifest__cols{ grid-template-columns:1fr; }
  .manifest__media{ max-width:480px; }
  .stats__grid{ grid-template-columns:repeat(2, 1fr); }
}
@media (max-width: 560px){
  .hero__counter-num{ font-size:3rem; }
  .hero__foot{ padding-bottom:2rem; }
  .hero__eyebrow{ font-size:.66rem; letter-spacing:.18em; gap:.7rem; }
  .hero__rule{ width:2rem; }
  .stats__grid{ grid-template-columns:1fr 1fr; gap:1.8rem 1.2rem; }
}
