:root{
  --color-midnight-black:#0d0b0c;
  --color-deep-velvet:#190c11;
  --color-plum-shadow:#2a1119;
  --color-ruby-accent:#e03535;
  --color-garnet-accent:#ae1f2f;
  --color-ivory-paper:#f3eee5;
  --color-pearl-grey:#bdb5ad;
  --color-ink-soft:#81777a;
  --color-frosted-overlay:rgba(243,238,229,.08);

  --font-heading:"Playfair Display",Georgia,serif;
  --font-body:"Inter",Arial,sans-serif;
  --text-xs:1rem;
  --text-sm:1.125rem;
  --text-md:1.5rem;
  --text-lg:2rem;
  --text-xl:2.75rem;
  --text-xxl:4rem;

  --space-1:.5rem;
  --space-2:1rem;
  --space-3:2rem;
  --space-4:3rem;
  --space-5:5rem;
  --space-6:7rem;
  --container-max:1280px;
  --container-pad:clamp(1.1rem,4vw,4rem);
  --border-thin:1px solid rgba(243,238,229,.2);
  --radius-sm:3px;
  --radius-md:10px;
  --radius-lg:28px;
  --shadow-soft:0 24px 70px rgba(0,0,0,.25);
  --transition-fast:220ms cubic-bezier(.2,.7,.2,1);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth}
body{font-family:var(--font-body);background:var(--color-midnight-black);color:var(--color-ivory-paper);line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 85% 14%,rgba(224,53,53,.1),transparent 25rem),radial-gradient(circle at 8% 70%,rgba(95,31,45,.16),transparent 30rem)}
img,picture,video,canvas,svg{display:block;max-width:100%;height:auto}
img{background:var(--color-deep-velvet)}
a{color:var(--color-ruby-accent);text-decoration:none;transition:color var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}
a:hover,a:focus-visible{color:#ff5d5d}
button,input,select,textarea{font:inherit;color:inherit;background:none;border:none}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--color-ruby-accent);outline-offset:4px}

h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);line-height:1.08;letter-spacing:-.025em;margin-bottom:var(--space-2);font-weight:600;text-wrap:balance}
h1{font-size:clamp(2.75rem,6.2vw,5.8rem);max-width:13ch}
h2{font-size:clamp(2.1rem,4.2vw,4rem);max-width:16ch}
h3{font-size:clamp(1.35rem,2.2vw,2rem)}
h4{font-size:1.4rem}
h5{font-size:1.125rem}
h6{font-size:1rem}
p{margin-bottom:var(--space-2);font-size:var(--text-xs);color:var(--color-pearl-grey);max-width:72ch}
ul,ol{margin-bottom:var(--space-2);padding-left:1.35rem}
li{margin-bottom:.55rem;color:var(--color-pearl-grey)}
blockquote{margin-bottom:var(--space-3);padding-left:var(--space-2);border-left:2px solid var(--color-ruby-accent);color:var(--color-pearl-grey)}
hr{border:0;border-top:var(--border-thin);margin:var(--space-4) 0}

.container{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--container-pad)}
.section{position:relative;padding-block:var(--space-6)}
main>section:nth-child(even):not(.realizacje-hero):not(.oag-image){background:linear-gradient(135deg,rgba(255,255,255,.018),rgba(119,29,46,.045))}
main>section+section{border-top:1px solid rgba(243,238,229,.075)}
main>section h2::before{content:"";display:block;width:38px;height:2px;margin-bottom:1rem;background:var(--color-ruby-accent)}
.reveal-ready main>section{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.reveal-ready main>section.is-revealed{opacity:1;transform:none}

.panel,.card{position:relative;border:var(--border-thin);padding:clamp(1.5rem,3vw,2.5rem);overflow:hidden;transition:transform var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}
.panel{background:linear-gradient(145deg,var(--color-deep-velvet),rgba(42,17,25,.72));border-radius:var(--radius-md)}
.panel--alt{background:var(--color-plum-shadow)}
.card{background:rgba(13,11,12,.72);border-radius:var(--radius-md)}
.panel::after,.card::after{content:"";position:absolute;right:-3rem;bottom:-5rem;width:9rem;height:9rem;border:1px solid rgba(224,53,53,.13);border-radius:50%;pointer-events:none}
.panel:hover,.card:hover{transform:translateY(-5px);border-color:rgba(224,53,53,.62)}
.panel p:last-child,.card p:last-child{margin-bottom:0}
.stack>*+*{margin-top:var(--space-2)}
.cluster{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}
.flex{display:flex;gap:var(--space-2)}
.flex-col{flex-direction:column}
.flex-center{align-items:center;justify-content:center}
.flex-between{align-items:center;justify-content:space-between}
.flex>*{min-width:0}

.button{display:inline-flex;align-items:center;justify-content:center;gap:.7rem;padding:.9rem 1.45rem;font-size:.76rem;font-weight:600;line-height:1;text-transform:uppercase;letter-spacing:.12em;border-radius:999px;transition:all var(--transition-fast);min-height:48px;width:max-content;max-width:100%}
.button::after{content:"\2192";font-size:1rem;line-height:1;transition:transform var(--transition-fast)}
.button:hover::after{transform:translateX(4px)}
.button-primary{background:var(--color-ruby-accent);color:#fff;box-shadow:0 12px 30px rgba(224,53,53,.18)}
.button-primary:hover,.button-primary:focus-visible{background:#f04747;color:#fff;transform:translateY(-2px)}
.button-secondary{border:1px solid rgba(243,238,229,.4);color:var(--color-ivory-paper)}
.button-secondary:hover,.button-secondary:focus-visible{border-color:var(--color-ruby-accent);color:var(--color-ivory-paper);background:rgba(224,53,53,.08)}

.input,.textarea,.select{width:100%;background:#f5f0e9;color:#171214;border:1px solid transparent;padding:.85rem 1rem;border-radius:var(--radius-sm);min-height:48px}
.input:focus,.textarea:focus,.select:focus{border-color:var(--color-ruby-accent);outline:none;box-shadow:0 0 0 3px rgba(224,53,53,.12)}
.label{display:block;margin-bottom:.5rem;font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;color:#5f5557}
.form-group{margin-bottom:var(--space-3)}
.overlay{background:var(--color-frosted-overlay);backdrop-filter:blur(8px)}
.shadow{box-shadow:var(--shadow-soft)}
.border{border:var(--border-thin)}
.rounded-sm{border-radius:var(--radius-sm)}
.rounded-md{border-radius:var(--radius-md)}
.hide-last-space>*:last-child{margin-bottom:0}

.editorial-kicker{display:inline-flex;align-items:center;gap:.65rem;margin-bottom:1.25rem;color:var(--color-ruby-accent);font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.editorial-kicker::before{content:"";width:26px;height:1px;background:currentColor}
.feature-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:rgba(243,238,229,.18);border:var(--border-thin)}
.feature-list>*{background:var(--color-midnight-black);padding:clamp(1.5rem,3vw,2.5rem)}
.feature-list strong{display:block;margin-bottom:.7rem;font-family:var(--font-heading);font-size:clamp(1.4rem,2.5vw,2rem);font-weight:600}
.editorial-block__grid{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);gap:var(--space-5);align-items:start}
.editorial-block__intro{position:sticky;top:150px}
.editorial-block__intro p{font-size:1.08rem}
.editorial-block__items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}
.editorial-block__item{padding:var(--space-3) 0;border-top:1px solid rgba(243,238,229,.3)}
.editorial-block__item span{display:block;margin-bottom:1rem;color:var(--color-ruby-accent);font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.editorial-block__item h3{max-width:17ch}
.editorial-block--light{background:var(--color-ivory-paper)!important;color:var(--color-midnight-black)}
.editorial-block--light p,.editorial-block--light li{color:#5d5255}
.editorial-block--light .editorial-block__item{border-top-color:rgba(13,11,12,.25)}

@media(max-width:900px){
  .section{padding-block:var(--space-5)}
  .feature-list{grid-template-columns:1fr}
  .editorial-block__grid{grid-template-columns:1fr}.editorial-block__intro{position:static}
}
@media(max-width:768px){
  :root{--space-3:1.5rem;--space-4:2rem;--space-5:3.75rem;--space-6:4.5rem}
  h1{font-size:clamp(2.45rem,12vw,4rem)}
  h2{font-size:clamp(2rem,10vw,3rem)}
  .button{white-space:normal;text-align:center}
  .editorial-block__items{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
