:root{
  --ink-900:#121A2E;
  --ink-800:#1B2A47;
  --navy-soft:#26385F;
  --paper:#FCFBF7;
  --paper-dim:#EFE9DB;
  --paper-line:#DCD3BC;
  --brass:#A9853C;
  --brass-light:#D2B36E;
  --rust:#9C3B2E;
  --rust-dark:#7E2F24;
  --text-ink:#232B3D;
  --text-muted:#5B6478;
  --text-on-dark:#E7E5DC;
  --text-on-dark-muted:#B6BBCB;
  --radius-sm:3px;
  --radius-md:4px;
  --maxw:1140px;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:0.001ms !important; transition-duration:0.001ms !important;}
}

body{
  margin:0;
  font-family:'Public Sans', system-ui, sans-serif;
  color:var(--text-ink);
  background:var(--paper);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3,.serif{
  font-family:'PT Serif', Georgia, serif;
  color:var(--ink-900);
  line-height:1.18;
  margin:0 0 0.6em;
  font-weight:700;
}

p{margin:0 0 1em; max-width:62ch;}
a{color:inherit;}
img{max-width:100%; display:block;}

.container{max-width:var(--maxw); margin:0 auto; padding:0 1.5rem;}

.skip-link{
  position:absolute; left:-999px; top:auto;
  background:var(--rust); color:#fff; padding:0.75rem 1.25rem;
  z-index:200; border-radius:var(--radius-sm);
}
.skip-link:focus{left:1rem; top:1rem;}

:focus-visible{outline:2px solid var(--rust); outline-offset:2px;}

section{padding:5.5rem 0;}
.section-tight{padding:3.25rem 0;}
.eyebrow-free-h2{font-size:clamp(1.6rem, 2.6vw, 2.1rem); max-width:34ch;}
.section-intro{color:var(--text-muted); max-width:56ch; font-size:1.0625rem;}
.section-head{margin-bottom:2.75rem;}

/* ---------- BUTTONS ---------- */
.btn{
  display:inline-flex; align-items:center; gap:0.5rem;
  font-family:'Public Sans', sans-serif; font-weight:600; font-size:0.9375rem;
  padding:0.85rem 1.5rem; border-radius:var(--radius-sm); border:1px solid transparent;
  text-decoration:none; cursor:pointer;
  transition:background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
.btn-primary{background:var(--rust); color:#fff;}
.btn-primary:hover{background:var(--rust-dark);}
.btn-outline-dark{border-color:var(--ink-900); color:var(--ink-900); background:transparent;}
.btn-outline-dark:hover{background:var(--ink-900); color:#fff;}
.btn-outline-light{border-color:rgba(231,229,220,0.55); color:var(--text-on-dark); background:transparent;}
.btn-outline-light:hover{background:rgba(231,229,220,0.1); border-color:var(--text-on-dark);}

/* ---------- HEADER ---------- */
header{position:sticky; top:0; z-index:100; background:var(--paper); border-bottom:1px solid var(--paper-line);}
.nav-row{display:flex; align-items:center; justify-content:space-between; padding:1rem 0; gap:1.5rem;}
.logo{display:flex; align-items:center; gap:0.65rem; text-decoration:none;}
.logo-mark{
  display:flex; align-items:center; justify-content:center;
  width:2.35rem; height:2.35rem; background:var(--ink-900); color:var(--brass-light);
  font-family:'PT Serif', serif; font-weight:700; font-size:1.25rem;
  border-radius:var(--radius-sm); flex-shrink:0;
}
.logo-text{display:flex; flex-direction:column; line-height:1.15;}
.logo-text strong{font-family:'PT Serif', serif; font-size:1.05rem; color:var(--ink-900);}
.logo-text span{font-size:0.75rem; color:var(--text-muted);}

nav.main-nav ul{list-style:none; display:flex; gap:1.75rem; margin:0; padding:0;}
nav.main-nav a{
  text-decoration:none; font-size:0.9375rem; font-weight:500; color:var(--text-ink);
  border-bottom:2px solid transparent; padding-bottom:0.2rem;
  transition:border-color 0.15s ease, color 0.15s ease;
}
nav.main-nav a:hover{border-color:var(--brass); color:var(--ink-900);}

.header-actions{display:flex; align-items:center; gap:1.25rem;}
.header-phone{font-size:0.9375rem; font-weight:600; text-decoration:none; white-space:nowrap;}

.nav-toggle-label{display:none; cursor:pointer; padding:0.4rem;}
.nav-toggle-label span, .nav-toggle-label span::before, .nav-toggle-label span::after{
  display:block; width:22px; height:2px; background:var(--ink-900); position:relative; transition:0.2s;
}
.nav-toggle-label span::before, .nav-toggle-label span::after{content:""; position:absolute; left:0;}
.nav-toggle-label span::before{top:-7px;}
.nav-toggle-label span::after{top:7px;}
#nav-toggle{display:none;}

/* ---------- HERO (strona główna) ---------- */
.hero{position:relative; background:var(--ink-900); color:var(--text-on-dark); overflow:hidden; padding:5rem 0 4.5rem;}
.hero-mark{
  position:absolute; right:-4%; top:-16%;
  font-family:'PT Serif', serif; font-weight:700; font-size:clamp(16rem, 30vw, 32rem);
  color:rgba(210,179,110,0.09); line-height:1; pointer-events:none; user-select:none;
}
.hero-inner{position:relative; z-index:2; max-width:640px;}
.hero h1{color:#fff; font-size:clamp(2.1rem, 4.2vw, 2.85rem); max-width:15ch;}
.hero p.lead{color:var(--text-on-dark-muted); font-size:1.125rem; max-width:52ch;}
.hero-ctas{display:flex; flex-wrap:wrap; gap:0.9rem; margin:1.75rem 0 2.25rem;}
.chip-row{display:flex; flex-wrap:wrap; gap:0.6rem;}
.chip{
  font-size:0.8125rem; font-weight:600; padding:0.45rem 0.85rem;
  border:1px solid rgba(210,179,110,0.45); color:var(--brass-light);
  text-decoration:none; border-radius:var(--radius-sm);
  transition:background-color 0.15s ease, color 0.15s ease;
}
.chip:hover{background:rgba(210,179,110,0.12); color:#fff;}

/* ---------- PAGE HERO (kategoria / artykuł) ---------- */
.page-hero{background:var(--ink-900); color:var(--text-on-dark); padding:3.25rem 0;}
.breadcrumbs{font-size:0.8125rem; color:var(--text-on-dark-muted); margin-bottom:1rem;}
.breadcrumbs a{color:var(--text-on-dark-muted); text-decoration:none;}
.breadcrumbs a:hover{color:#fff;}
.page-hero h1{color:#fff; font-size:clamp(1.75rem, 3.4vw, 2.35rem); max-width:32ch;}
.page-hero .tag-pill{
  display:inline-block; font-family:'PT Serif', serif; font-weight:700; font-size:0.95rem;
  color:var(--brass-light); border:1px solid rgba(210,179,110,0.45);
  padding:0.3rem 0.75rem; border-radius:var(--radius-sm); margin-bottom:1rem;
}
.page-hero .lead{color:var(--text-on-dark-muted); max-width:58ch;}
.article-meta-row{display:flex; gap:1rem; flex-wrap:wrap; color:var(--text-on-dark-muted); font-size:0.875rem; margin-top:0.75rem;}

/* ---------- TRUST BAR ---------- */
.trust-bar{background:var(--paper); border-bottom:1px solid var(--paper-line);}
.trust-grid{display:grid; grid-template-columns:repeat(4, 1fr);}
.trust-item{padding:1.75rem 1.5rem; border-left:1px solid var(--paper-line);}
.trust-item:first-child{border-left:none; padding-left:0;}
.trust-item strong{display:block; font-family:'PT Serif', serif; font-size:1.5rem; color:var(--ink-900);}
.trust-item span{font-size:0.875rem; color:var(--text-muted);}

/* ---------- CATEGORIES ---------- */
.categories{background:var(--paper);}
.cat-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:1.5rem;}
.cat-card{
  border:1px solid var(--paper-line); border-radius:var(--radius-md);
  padding:1.85rem 1.6rem 1.6rem; display:flex; flex-direction:column;
  background:#fff; transition:border-color 0.15s ease;
}
.cat-card:hover{border-color:var(--brass);}
.cat-tag{font-family:'PT Serif', serif; font-weight:700; font-size:1.05rem; color:var(--brass); margin-bottom:0.9rem;}
.cat-card h3{font-size:1.2rem; margin-bottom:0.5rem;}
.cat-card p{font-size:0.9375rem; color:var(--text-muted); margin-bottom:1.2rem;}
.cat-link{
  margin-top:auto; font-size:0.875rem; font-weight:600; text-decoration:none; color:var(--ink-900);
  border-bottom:1px solid var(--ink-900); align-self:flex-start; padding-bottom:0.1rem;
}
.cat-link:hover{color:var(--rust); border-color:var(--rust);}

/* ---------- PROCESS ---------- */
.process{background:var(--paper-dim);}
.process-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:2.5rem; margin-top:1rem;}
.step-num{font-family:'PT Serif', serif; font-weight:700; font-size:2.75rem; color:var(--rust); line-height:1; margin-bottom:0.5rem;}
.step-label{font-size:0.8125rem; font-weight:600; color:var(--text-muted); margin-bottom:0.6rem;}
.process-grid h3{font-size:1.15rem;}
.process-grid p{font-size:0.9375rem; color:var(--text-muted);}

/* ---------- ARTICLES (listy) ---------- */
.articles{background:var(--paper);}
.article-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:1.75rem 1.5rem;}
.article-card{display:flex; flex-direction:column;}
.article-meta{display:flex; gap:0.75rem; align-items:center; font-size:0.8125rem; color:var(--text-muted); margin-bottom:0.6rem;}
.article-meta .tag{color:var(--brass); font-weight:600; border:1px solid var(--paper-line); padding:0.15rem 0.55rem; border-radius:var(--radius-sm);}
.article-card h3{font-size:1.15rem; margin-bottom:0.5rem;}
.article-card h3 a{text-decoration:none; color:var(--ink-900);}
.article-card h3 a:hover{color:var(--rust);}
.article-card p{font-size:0.9375rem; color:var(--text-muted); margin-bottom:0.75rem;}
.article-card .read-more{
  font-size:0.875rem; font-weight:600; text-decoration:none; color:var(--ink-900);
  border-bottom:1px solid var(--ink-900); align-self:flex-start; padding-bottom:0.1rem;
}
.article-card .read-more:hover{color:var(--rust); border-color:var(--rust);}
.empty-note{color:var(--text-muted); font-style:italic;}

/* ---------- ARTICLE BODY (pojedynczy artykuł) ---------- */
.article-wrap{background:var(--paper);}
.article-body{max-width:72ch;}
.article-body h3{font-size:1.3rem; margin-top:1.75rem;}
.article-body p, .article-body li{font-size:1.0625rem; color:var(--text-ink);}
.article-body ul{padding-left:1.25rem; max-width:62ch;}
.article-body li{margin-bottom:0.4rem;}

.cta-box{
  margin-top:3rem; padding:2rem; background:var(--paper-dim);
  border:1px solid var(--paper-line); border-radius:var(--radius-md); max-width:72ch;
}
.cta-box h3{font-size:1.2rem; margin-bottom:0.5rem;}
.cta-box p{color:var(--text-muted); margin-bottom:1.25rem;}

.related-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:1.5rem; margin-top:1rem;}

/* ---------- FAQ ---------- */
.faq{background:var(--paper-dim);}
.faq-list{max-width:760px;}
.faq-item{border-bottom:1px solid var(--paper-line);}
.faq-item summary{
  list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between;
  gap:1rem; padding:1.35rem 0; font-family:'PT Serif', serif; font-weight:700; font-size:1.05rem; color:var(--ink-900);
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{
  content:"+"; font-family:'Public Sans', sans-serif; font-weight:400; font-size:1.5rem; color:var(--brass);
  flex-shrink:0; transition:transform 0.15s ease;
}
.faq-item[open] summary::after{content:"\2013";}
.faq-item p{padding:0 0 1.35rem; margin:0; color:var(--text-muted); font-size:0.9375rem; max-width:66ch;}

/* ---------- ABOUT ---------- */
.about{background:var(--paper);}
.about-grid{display:grid; grid-template-columns:280px 1fr; gap:3rem; align-items:start;}
.about-photo{
  aspect-ratio:3/4; background:linear-gradient(160deg, var(--ink-900), var(--navy-soft));
  border-radius:var(--radius-md); display:flex; align-items:center; justify-content:center;
  color:var(--text-on-dark-muted); font-size:0.875rem; text-align:center; padding:1rem;
}
.about-cred{list-style:none; margin:1.5rem 0 0; padding:0; display:flex; flex-direction:column; gap:0.65rem;}
.about-cred li{font-size:0.9375rem; padding-left:1.1rem; position:relative; color:var(--text-ink);}
.about-cred li::before{content:"\00a7"; position:absolute; left:0; color:var(--brass); font-family:'PT Serif', serif; font-weight:700;}

/* ---------- TESTIMONIALS ---------- */
.testimonials{background:var(--navy-soft); color:var(--text-on-dark);}
.testimonials h2{color:#fff;}
.test-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:1.75rem;}
.test-card{background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.12); border-radius:var(--radius-md); padding:1.75rem;}
.test-card p.quote{font-family:'PT Serif', serif; font-style:italic; font-size:1.0625rem; color:var(--text-on-dark); margin-bottom:1rem;}
.test-card .attrib{font-size:0.875rem; color:var(--text-on-dark-muted);}

/* ---------- CONTACT ---------- */
.contact{background:var(--ink-900); color:var(--text-on-dark);}
.contact h2{color:#fff;}
.contact .section-intro{color:var(--text-on-dark-muted);}
.contact-grid{display:grid; grid-template-columns:1fr 1.1fr; gap:3.5rem; align-items:start;}
.contact-info p{color:var(--text-on-dark-muted); font-size:0.9375rem;}
.contact-detail{margin-top:1.75rem; display:flex; flex-direction:column; gap:0.6rem;}
.contact-detail a{color:var(--brass-light); text-decoration:none; font-weight:600;}
.contact-detail a:hover{text-decoration:underline;}

form.contact-form{display:flex; flex-direction:column; gap:1rem;}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:1rem;}
form.contact-form label{font-size:0.8125rem; color:var(--text-on-dark-muted); margin-bottom:0.35rem; display:block;}
form.contact-form input, form.contact-form select, form.contact-form textarea{
  width:100%; background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.2);
  border-radius:var(--radius-sm); color:#fff; padding:0.7rem 0.85rem; font-family:'Public Sans', sans-serif; font-size:0.9375rem;
}
form.contact-form textarea{resize:vertical; min-height:100px;}
form.contact-form .btn-primary{align-self:flex-start; margin-top:0.5rem; font:inherit;}

.form-success{
  background:rgba(210,179,110,0.12); border:1px solid rgba(210,179,110,0.4);
  color:var(--brass-light); padding:1rem 1.25rem; border-radius:var(--radius-sm); margin-bottom:1.5rem; font-size:0.9375rem;
}

/* ---------- FOOTER ---------- */
footer{background:var(--ink-800); color:var(--text-on-dark-muted); padding:3.5rem 0 1.75rem; font-size:0.9rem;}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:2.5rem; padding-bottom:2.5rem; border-bottom:1px solid rgba(255,255,255,0.12);}
.footer-grid h4{color:var(--text-on-dark); font-family:'Public Sans', sans-serif; font-size:0.875rem; font-weight:700; margin-bottom:0.9rem;}
.footer-grid ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:0.55rem;}
.footer-grid a{color:var(--text-on-dark-muted); text-decoration:none; font-size:0.9rem;}
.footer-grid a:hover{color:var(--brass-light);}
.footer-disclaimer{font-size:0.8125rem; line-height:1.6; max-width:42ch;}
.footer-bottom{display:flex; justify-content:space-between; flex-wrap:wrap; gap:0.75rem; padding-top:1.5rem; font-size:0.8125rem;}

/* ---------- 404 ---------- */
.not-found{padding:6rem 0; text-align:left;}
.not-found h1{font-size:2.25rem;}

/* ---------- RESPONSIVE ---------- */
@media (max-width: 980px){
  .trust-grid{grid-template-columns:repeat(2,1fr);}
  .trust-item:nth-child(3){border-left:none; padding-left:0;}
  .cat-grid{grid-template-columns:repeat(2,1fr);}
  .process-grid{grid-template-columns:1fr; gap:2rem;}
  .article-grid, .related-grid{grid-template-columns:repeat(2,1fr);}
  .test-grid{grid-template-columns:1fr;}
  .about-grid{grid-template-columns:220px 1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
}

@media (max-width: 720px){
  section{padding:3.5rem 0;}
  nav.main-nav{
    position:absolute; top:100%; left:0; right:0; background:var(--paper);
    border-bottom:1px solid var(--paper-line); max-height:0; overflow:hidden; transition:max-height 0.2s ease;
  }
  nav.main-nav ul{flex-direction:column; gap:0; padding:0.5rem 1.5rem 1rem;}
  nav.main-nav a{display:block; padding:0.7rem 0;}
  #nav-toggle:checked ~ nav.main-nav{max-height:480px;}
  .nav-toggle-label{display:block;}
  .header-phone{display:none;}
  .hero-mark{font-size:14rem; top:-6%; right:-18%;}
  .trust-grid{grid-template-columns:1fr 1fr;}
  .trust-item{border-left:none; padding-left:0;}
  .cat-grid{grid-template-columns:1fr;}
  .article-grid, .related-grid{grid-template-columns:1fr;}
  .about-grid{grid-template-columns:1fr;}
  .about-photo{max-width:200px;}
  .contact-grid{grid-template-columns:1fr; gap:2.5rem;}
  .form-row{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr; gap:2rem;}
}
