:root{
  --bg:#f4f0e9;
  --paper:#fbf8f3;
  --ink:#232321;
  --text:#5a5751;
  --muted:#8a857d;
  --line:#d8d1c7;
  --burgundy:#941a14;
  --burgundy-deep:#74110d;
  --burgundy-soft:#eadbd5;
  --dark:#202321;
  --dark-2:#292d2a;
  --dark-text:#f2efe9;
  --dark-muted:#b7bab5;
  --dark-line:rgba(255,255,255,.12);
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Arial,sans-serif;
  line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility
}
a{color:inherit}
img{max-width:100%;height:auto}
.wrap{width:min(calc(100% - 48px),var(--max));margin:0 auto}
.skip{position:absolute;left:-9999px;top:0;background:#fff;color:#111;padding:10px 14px;z-index:100}
.skip:focus{left:12px;top:12px}
.site-header{
  position:sticky;top:0;z-index:50;background:rgba(32,35,33,.98);
  backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.07)
}
.header-row{height:86px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand{display:flex;align-items:center;gap:15px;text-decoration:none;min-width:0}
.brand-mark{width:43px;height:43px;object-fit:contain;display:block;flex:none}
.brand-copy{display:flex;flex-direction:column;gap:5px}
.brand-role{
  font-size:9px;line-height:1.1;letter-spacing:.17em;text-transform:uppercase;
  font-weight:620;color:var(--dark-text);white-space:nowrap
}
.brand-name{
  font-size:8.5px;line-height:1.1;letter-spacing:.24em;text-transform:uppercase;
  font-weight:450;color:#838883;white-space:nowrap
}
nav{display:flex;align-items:center;gap:29px}
nav a{text-decoration:none;font-size:11px;font-weight:520;color:#c5c8c3;letter-spacing:.015em}
nav a:hover,nav a[aria-current="page"]{color:#fff}
.nav-contact{border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:8px 15px;color:#fff}
.menu-btn{display:none;border:0;background:none;color:white;font-size:23px}
.hero{padding:92px 0 82px;background:linear-gradient(180deg,#f7f4ef 0%,#f3efe8 100%)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.16fr) minmax(300px,.64fr);gap:88px;align-items:center}
.kicker,.label{font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--burgundy);font-weight:720}
.kicker{margin-bottom:22px}
.label{padding-top:7px}
h1{
  margin:0;max-width:820px;font-size:clamp(42px,5vw,64px);line-height:1.05;
  letter-spacing:-.043em;font-weight:500
}
h2{font-size:clamp(33px,4vw,50px);line-height:1.09;letter-spacing:-.038em;font-weight:500;margin:0;max-width:860px}
h3{letter-spacing:-.018em}
.hero-lead{font-size:18.5px;line-height:1.62;max-width:740px;color:var(--text);margin:27px 0 0}
.hero-lead strong{color:var(--ink);font-weight:620}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:31px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:45px;padding:0 19px;border-radius:999px;text-decoration:none;font-size:12.5px;font-weight:650;transition:.2s}
.btn-primary{background:var(--burgundy);color:#fff}
.btn-primary:hover{background:var(--burgundy-deep)}
.btn-secondary{border:1px solid var(--line);background:rgba(255,255,255,.45)}
.btn-secondary:hover{background:#fff}
.hero-side{position:relative;border-left:1px solid var(--line);padding-left:38px;min-height:290px;display:flex;align-items:flex-end}
.hero-side::before{content:"";position:absolute;right:-105px;top:-72px;width:360px;height:360px;border:1px solid rgba(148,26,20,.16);border-radius:50%}
.hero-side::after{content:"";position:absolute;right:-22px;top:42px;width:210px;height:210px;border:1px solid rgba(35,35,33,.07);border-radius:50%}
.hero-note{position:relative;z-index:2;max-width:300px}
.hero-note small{display:block;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--burgundy);font-weight:700;margin-bottom:13px}
.hero-note h2{font-family:Georgia,"Times New Roman",serif;font-size:24px;line-height:1.23;font-weight:400;margin:0 0 14px}
.hero-note p{font-size:13px;color:var(--text);margin:0}
.scope{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#f6f2ec}
.scope-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.scope span{padding:16px;text-align:center;border-right:1px solid var(--line);font-size:8.5px;letter-spacing:.16em;text-transform:uppercase;color:#66615b;font-weight:650}
.scope span:last-child{border-right:0}
.section{padding:94px 0}
.section.alt{background:rgba(255,255,255,.24)}
.section-grid{display:grid;grid-template-columns:225px 1fr;gap:64px;align-items:start}
.intro{font-size:17.5px;color:var(--text);max-width:780px;margin:19px 0 0}
.positioning{display:grid;grid-template-columns:.78fr 1.22fr;gap:68px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:40px 0}
.positioning h3{font-family:Georgia,"Times New Roman",serif;font-size:29px;line-height:1.18;font-weight:400;margin:0}
.positioning p{font-size:15.5px;color:var(--text);margin:0}
.positioning strong{color:var(--ink);font-weight:620}
.process{display:grid;grid-template-columns:repeat(4,1fr);margin-top:48px;border-top:1px solid #5b5751}
.step{padding:30px 26px 4px 0}
.step + .step{padding-left:26px;border-left:1px solid var(--line)}
.step small,.pillar small,.article small{font-size:8.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--burgundy);font-weight:720}
.step h3{font-size:20px;line-height:1.2;font-weight:540;margin:16px 0 10px}
.step p{font-size:12.8px;color:var(--text);margin:0}
.signature{margin-top:46px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:1.05fr .95fr}
.signature-left{padding:34px 38px 34px 0}
.signature-right{padding:34px 0 34px 38px;border-left:1px solid var(--line)}
.signature-left h3{font-size:27px;line-height:1.18;font-weight:510;margin:0 0 13px}
.signature-left p{font-size:14px;color:var(--text);margin:0}
.signature-right p{font-family:Georgia,"Times New Roman",serif;font-size:20px;line-height:1.36;margin:0;color:#3d3934}
.signature-right small{display:block;margin-top:14px;font-size:8.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);margin-top:47px;border-top:1px solid #5b5751}
.pillar{padding:31px 28px 5px 0}
.pillar + .pillar{padding-left:28px;border-left:1px solid var(--line)}
.pillar h3{font-size:23px;line-height:1.19;font-weight:540;margin:17px 0 12px}
.pillar p{font-size:13.5px;color:var(--text);margin:0 0 21px}
.pillar ul{list-style:none;margin:0;padding:0}
.pillar li{font-size:11.5px;padding:8px 0;border-top:1px solid var(--line);font-weight:580}
.dark{background:var(--dark);color:#fff}
.dark .label{color:#d97763}
.dark h2{max-width:810px}
.dark .intro{color:#c6c9c4}
.dark-grid{display:grid;grid-template-columns:1.16fr .84fr;gap:92px;align-items:end}
.dark-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--dark-line)}
.dark-list li{padding:14px 0;border-bottom:1px solid var(--dark-line);font-size:12.5px;color:#c7cac5}
.dark-list strong{display:block;color:#fff;font-weight:580;margin-bottom:2px}
.note{font-size:11.5px;color:#a7aaa6;margin-top:24px}
.note b{color:#d97763}
.problems{margin-top:43px;border-top:1px solid var(--line)}
.problem{display:grid;grid-template-columns:225px 1fr 34px;gap:30px;padding:21px 0;border-bottom:1px solid var(--line);align-items:start}
.problem strong{font-size:13.5px;font-weight:620}
.problem p{font-size:13.5px;color:var(--text);margin:0;max-width:760px}
.arrow{width:28px;height:28px;border:1px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--burgundy);font-size:12px}
.about{display:grid;grid-template-columns:250px 1fr;gap:70px;align-items:start}
.about-id{display:flex;align-items:center;gap:13px;opacity:.76;padding-top:5px}
.about-id img{width:34px;height:34px;object-fit:contain}
.about-role{font-size:6.8px;letter-spacing:.17em;text-transform:uppercase;color:#969087;font-weight:650}
.about-name{font-size:9.5px;letter-spacing:.15em;text-transform:uppercase;color:#6f6a63;margin-top:5px;font-weight:520}
.about-copy h2{font-size:39px}
.about-copy .lead{font-size:19px;line-height:1.5;color:var(--ink);max-width:760px}
.about-copy p{font-size:15.5px;color:var(--text);max-width:770px}
.articles{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:44px}
.article{text-decoration:none;border-top:1px solid #5b5751;padding-top:14px}
.article h3{font-size:19px;line-height:1.27;font-weight:540;margin:11px 0 8px}
.article p{font-size:11.5px;color:var(--text);margin:0}
.article:hover h3{color:var(--burgundy)}
.contact-wrap{background:var(--dark);padding:0 0 76px}
.contact{display:grid;grid-template-columns:1.12fr .88fr;gap:64px;background:#2a2e2b;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:45px 47px;color:#fff}
.contact .label{color:#d97763}
.contact h2{font-size:38px;color:#fff}
.contact p{font-size:14.5px;color:#bec1bd;max-width:610px}
.contact-links{display:flex;flex-direction:column;justify-content:center}
.contact-link{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.16);text-decoration:none;font-size:13.5px;font-weight:620;color:#fff}
.contact-link:first-child{border-top:1px solid rgba(255,255,255,.16)}
footer{background:var(--dark);color:#8e938e;border-top:1px solid rgba(255,255,255,.07);padding:28px 0 35px}
.footer-row{display:flex;justify-content:space-between;gap:20px;font-size:9.5px}

/* internal pages */
.page-hero{padding:82px 0 64px;background:linear-gradient(180deg,#f7f4ef 0%,#f3efe8 100%);border-bottom:1px solid var(--line)}
.page-hero h1{font-size:clamp(40px,4.7vw,60px)}
.page-hero p{font-size:18px;color:var(--text);max-width:800px;margin:22px 0 0}
.breadcrumbs{font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin-bottom:24px}
.breadcrumbs a{text-decoration:none}
.content{max-width:860px}
.content p{font-size:16.5px;color:var(--text);margin:0 0 1.4em}
.content h2{font-size:36px;margin:56px 0 20px}
.content h3{font-size:24px;margin:38px 0 14px}
.content ul{padding-left:1.1em;color:var(--text)}
.content li{margin:.5em 0}
.split{display:grid;grid-template-columns:1fr 1fr;gap:58px;align-items:start}
.simple-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.simple-card{border-top:1px solid #5b5751;padding-top:18px}
.simple-card h3{font-size:20px;margin:9px 0}
.simple-card p{font-size:13px;color:var(--text)}
.cta-box{margin-top:58px;padding:34px 36px;border:1px solid var(--line);background:var(--paper)}
.cta-box h2{font-size:31px}
.cta-box p{font-size:15px;color:var(--text)}
.wiedza-list{display:grid;gap:24px}
.wiedza-item{display:block;text-decoration:none;border-top:1px solid #5b5751;padding:20px 0}
.wiedza-item h2{font-size:27px;margin:7px 0 8px}
.wiedza-item p{font-size:14px;color:var(--text);max-width:780px}
.meta{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--burgundy);font-weight:700}
.policy{max-width:850px}
.policy h2{font-size:30px;margin:44px 0 15px}
.policy p,.policy li{font-size:15px;color:var(--text)}
.notfound{text-align:center;padding:120px 0}
.notfound .code{font-size:100px;line-height:.9;color:var(--burgundy);font-weight:500;letter-spacing:-.06em}
.notfound h1{font-size:38px;margin:20px auto 12px}

@media(max-width:960px){
  nav{display:none;position:absolute;top:76px;left:24px;right:24px;background:#262a27;border:1px solid rgba(255,255,255,.1);border-radius:13px;padding:17px;flex-direction:column;align-items:stretch}
  nav.open{display:flex}
  .menu-btn{display:block}
  .hero-grid,.section-grid,.dark-grid,.about,.contact,.split{grid-template-columns:1fr}
  .hero-grid{gap:44px}
  .hero-side{border-left:0;border-top:1px solid var(--line);padding:28px 0 0;min-height:220px}
  .positioning{grid-template-columns:1fr;gap:22px}
  .process{grid-template-columns:repeat(2,1fr)}
  .step:nth-child(3){padding-left:0;border-left:0;border-top:1px solid var(--line)}
  .step:nth-child(4){border-top:1px solid var(--line)}
  .signature{grid-template-columns:1fr}
  .signature-left{padding-right:0}
  .signature-right{border-left:0;border-top:1px solid var(--line);padding:28px 0 0}
  .pillars,.simple-cards{grid-template-columns:1fr}
  .pillar,.pillar + .pillar{padding:27px 0;border-left:0;border-bottom:1px solid var(--line)}
  .problem{grid-template-columns:180px 1fr 34px}
}
@media(max-width:640px){
  .wrap{width:min(calc(100% - 30px),var(--max))}
  .header-row{height:70px}
  .brand-mark{width:31px;height:31px}
  .brand-role{font-size:6.8px;letter-spacing:.13em}
  .brand-name{font-size:6.8px;letter-spacing:.18em}
  .hero,.page-hero{padding:50px 0 56px}
  h1,.page-hero h1{font-size:40px}
  .hero-lead,.page-hero p{font-size:16.5px}
  .actions{display:grid}
  .btn{width:100%}
  .scope-grid{grid-template-columns:repeat(2,1fr)}
  .scope span:nth-child(2){border-right:0}
  .scope span:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .section{padding:68px 0}
  .section-grid{gap:13px}
  .process{grid-template-columns:1fr}
  .step,.step + .step,.step:nth-child(3),.step:nth-child(4){padding:24px 0;border-left:0;border-top:0;border-bottom:1px solid var(--line)}
  .problem{grid-template-columns:1fr 32px;gap:13px}
  .problem strong,.problem p{grid-column:1}
  .problem .arrow{grid-column:2;grid-row:1/3}
  .articles{grid-template-columns:1fr;gap:28px}
  .contact{padding:29px 24px}
  .footer-row{flex-direction:column}
}

/* V1.2 — client value / outcomes */
.outcomes{
  display:grid;grid-template-columns:repeat(4,1fr);
  margin-top:44px;border-top:1px solid #5b5751
}
.outcome{padding:28px 25px 4px 0}
.outcome + .outcome{padding-left:25px;border-left:1px solid var(--line)}
.outcome small{
  font-size:8.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--burgundy);font-weight:720
}
.outcome h3{font-size:19px;line-height:1.22;font-weight:540;margin:14px 0 9px}
.outcome p{font-size:12.8px;color:var(--text);margin:0}

.deliverables{
  display:grid;grid-template-columns:1fr 1fr;gap:0;
  margin-top:44px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)
}
.deliverable-item{
  display:grid;grid-template-columns:30px 1fr;gap:16px;padding:20px 28px 20px 0;
  border-bottom:1px solid var(--line)
}
.deliverable-item:nth-child(even){padding-left:28px;border-left:1px solid var(--line)}
.deliverable-item:nth-last-child(-n+2){border-bottom:0}
.deliverable-no{
  width:26px;height:26px;border:1px solid var(--line);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:8px;color:var(--burgundy);font-weight:700;margin-top:1px
}
.deliverable-item strong{display:block;font-size:13.5px;font-weight:620;margin-bottom:3px}
.deliverable-item span{display:block;font-size:12.5px;color:var(--text)}

.solution-rows{margin-top:42px;border-top:1px solid var(--line)}
.solution-row{
  display:grid;grid-template-columns:1fr 1.25fr .85fr;gap:30px;
  padding:23px 0;border-bottom:1px solid var(--line);align-items:start
}
.solution-problem strong{
  display:block;font-size:13.5px;line-height:1.35;font-weight:620
}
.solution-action{
  font-size:13px;color:var(--text)
}
.solution-result{
  font-size:12.5px;color:var(--ink);padding-left:20px;border-left:2px solid var(--burgundy)
}
.solution-result b{
  display:block;font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--burgundy);margin-bottom:5px
}
.hero-result-list{
  position:relative;z-index:2;list-style:none;padding:0;margin:0;max-width:300px
}
.hero-result-list li{
  padding:11px 0;border-top:1px solid var(--line);
  font-size:12.8px;color:var(--text)
}
.hero-result-list li:first-child{border-top:0}
.hero-result-list strong{color:var(--ink);font-weight:620}
.value-statement{
  max-width:820px;font-size:18px;line-height:1.62;color:var(--text);margin:20px 0 0
}
.value-statement strong{color:var(--ink);font-weight:620}

@media(max-width:960px){
  .outcomes{grid-template-columns:repeat(2,1fr)}
  .outcome:nth-child(3){padding-left:0;border-left:0;border-top:1px solid var(--line)}
  .outcome:nth-child(4){border-top:1px solid var(--line)}
  .solution-row{grid-template-columns:1fr}
  .solution-result{padding:12px 0 0;border-left:0;border-top:1px solid var(--line)}
}
@media(max-width:640px){
  .outcomes{grid-template-columns:1fr}
  .outcome,.outcome + .outcome,.outcome:nth-child(3){
    padding:22px 0;border-left:0;border-top:0;border-bottom:1px solid var(--line)
  }
  .deliverables{grid-template-columns:1fr}
  .deliverable-item,.deliverable-item:nth-child(even){
    padding:18px 0;border-left:0;border-bottom:1px solid var(--line)
  }
  .deliverable-item:nth-last-child(-n+2){border-bottom:1px solid var(--line)}
  .deliverable-item:last-child{border-bottom:0}
}


/* V1.3 — refinement: readability, hierarchy, outcome emphasis */
.hero-note p,
.outcome p,
.step p,
.pillar p,
.problem p,
.solution-action,
.solution-result,
.article p,
.contact p{
  font-size:13.4px;
}

.pillar li{
  font-size:12px;
}

.solution-row{
  grid-template-columns:1fr 1.18fr .92fr;
  gap:28px;
  padding:0;
}

.solution-problem,
.solution-action,
.solution-result{
  padding:24px 0;
}

.solution-action{
  padding-left:26px;
  padding-right:26px;
  border-left:1px solid var(--line);
}

.solution-result{
  padding-left:28px;
  padding-right:22px;
  border-left:1px solid var(--line);
  background:rgba(148,26,20,.045);
}

.solution-result b{
  font-size:9px;
}

.outcome h3{
  font-size:20px;
}

.process .step h3{
  font-size:21px;
}

.deliverable-item strong{
  font-size:14px;
}

.deliverable-item span{
  font-size:13px;
}

.section.compact{
  padding-top:78px;
  padding-bottom:78px;
}

@media(max-width:960px){
  .solution-action{
    border-left:0;
    padding-left:0;
    padding-right:0;
    border-top:1px solid var(--line);
  }
  .solution-result{
    border-left:0;
    border-top:1px solid var(--line);
    padding:18px 16px;
  }
}


/* V2.0 — full site */
.page-hero .eyebrow,
.article-hero .eyebrow{
  font-size:9px;letter-spacing:.17em;text-transform:uppercase;
  color:var(--burgundy);font-weight:720;margin-bottom:18px
}

.page-result-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:0;margin-top:46px;border-top:1px solid #5b5751
}
.page-result{
  padding:28px 27px 4px 0
}
.page-result + .page-result{
  padding-left:27px;border-left:1px solid var(--line)
}
.page-result small{
  display:block;font-size:8.5px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--burgundy);font-weight:720
}
.page-result h3{
  font-size:21px;line-height:1.2;font-weight:540;margin:14px 0 9px
}
.page-result p{
  font-size:13.5px;color:var(--text);margin:0
}

.callout{
  margin:48px 0;
  display:grid;grid-template-columns:.8fr 1.2fr;gap:54px;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  padding:34px 0
}
.callout h3{
  font-family:Georgia,"Times New Roman",serif;
  font-size:27px;line-height:1.22;font-weight:400;margin:0
}
.callout p{
  font-size:15px;color:var(--text);margin:0
}
.callout strong{color:var(--ink)}

.check-list{
  display:grid;grid-template-columns:1fr 1fr;
  gap:0;margin-top:36px;border-top:1px solid var(--line)
}
.check-item{
  display:grid;grid-template-columns:28px 1fr;gap:14px;
  padding:18px 24px 18px 0;border-bottom:1px solid var(--line)
}
.check-item:nth-child(even){
  padding-left:24px;border-left:1px solid var(--line)
}
.check-icon{
  width:24px;height:24px;border:1px solid var(--line);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  color:var(--burgundy);font-size:10px;font-weight:700;margin-top:1px
}
.check-item strong{
  display:block;font-size:13.5px;font-weight:620;margin-bottom:2px
}
.check-item span{
  display:block;font-size:12.8px;color:var(--text)
}

.internal-cta{
  margin-top:56px;padding:36px 38px;background:var(--dark);
  border-radius:15px;color:#fff;
  display:grid;grid-template-columns:1.1fr .9fr;gap:52px;align-items:end
}
.internal-cta .label{color:#d97763}
.internal-cta h2{font-size:33px;color:#fff}
.internal-cta p{font-size:14px;color:#c3c6c1;margin:12px 0 0}
.internal-cta-links{
  display:flex;flex-direction:column;justify-content:center
}
.internal-cta-link{
  display:flex;align-items:center;justify-content:space-between;
  text-decoration:none;padding:12px 0;border-top:1px solid rgba(255,255,255,.16);
  color:#fff;font-size:13px;font-weight:620
}
.internal-cta-link:last-child{border-bottom:1px solid rgba(255,255,255,.16)}

.faq{
  margin-top:42px;border-top:1px solid var(--line)
}
.faq details{
  border-bottom:1px solid var(--line)
}
.faq summary{
  list-style:none;cursor:pointer;padding:18px 34px 18px 0;
  position:relative;font-size:14px;font-weight:620
}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{
  content:"+";position:absolute;right:4px;top:17px;color:var(--burgundy);font-weight:700
}
.faq details[open] summary:after{content:"–"}
.faq details p{
  font-size:13.5px;color:var(--text);max-width:850px;
  margin:0;padding:0 40px 20px 0
}

.article-hero{
  padding:76px 0 56px;background:linear-gradient(180deg,#f7f4ef 0%,#f3efe8 100%);
  border-bottom:1px solid var(--line)
}
.article-hero h1{
  font-size:clamp(38px,4.6vw,58px);max-width:930px
}
.article-lead{
  font-size:18px;color:var(--text);max-width:820px;margin:22px 0 0
}
.article-meta{
  display:flex;flex-wrap:wrap;gap:18px;margin-top:25px;
  font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)
}
.article-layout{
  display:grid;grid-template-columns:minmax(0,1fr) 260px;
  gap:72px;align-items:start
}
.article-body{
  max-width:780px
}
.article-body p{
  font-size:16.5px;color:var(--text);margin:0 0 1.45em
}
.article-body h2{
  font-size:34px;margin:54px 0 18px
}
.article-body h3{
  font-size:23px;margin:36px 0 13px
}
.article-body ul{
  padding-left:1.2em;color:var(--text);font-size:16px
}
.article-body li{margin:.55em 0}
.article-body strong{color:var(--ink)}
.article-body .article-highlight{
  margin:38px 0;padding:24px 26px;border-left:3px solid var(--burgundy);
  background:rgba(148,26,20,.045)
}
.article-body .article-highlight p{
  margin:0;color:var(--ink);font-size:17px;line-height:1.55
}
.article-sidebar{
  position:sticky;top:112px;border-top:1px solid #5b5751
}
.article-side-block{
  padding:18px 0;border-bottom:1px solid var(--line)
}
.article-side-block small{
  display:block;font-size:8px;letter-spacing:.15em;text-transform:uppercase;
  color:var(--burgundy);font-weight:720;margin-bottom:6px
}
.article-side-block a{
  text-decoration:none;font-size:12.5px;line-height:1.35
}
.article-side-block p{
  font-size:12px;color:var(--text);margin:0
}

.article-bottom{
  margin-top:62px;padding-top:26px;border-top:1px solid var(--line)
}
.related-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:28px;margin-top:22px
}
.related-card{
  display:block;text-decoration:none;border-top:1px solid #5b5751;padding-top:14px
}
.related-card small{
  font-size:8.5px;letter-spacing:.15em;text-transform:uppercase;
  color:var(--burgundy);font-weight:720
}
.related-card h3{
  font-size:18px;line-height:1.28;margin:9px 0 6px
}
.related-card p{
  font-size:12px;color:var(--text);margin:0
}

.knowledge-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:44px
}
.knowledge-card{
  display:flex;flex-direction:column;text-decoration:none;
  border-top:1px solid #5b5751;padding-top:15px;min-height:230px
}
.knowledge-card small{
  font-size:8.5px;letter-spacing:.15em;text-transform:uppercase;
  color:var(--burgundy);font-weight:720
}
.knowledge-card h2{
  font-size:22px;line-height:1.23;margin:12px 0 10px
}
.knowledge-card p{
  font-size:13px;color:var(--text);margin:0
}
.knowledge-card .read{
  margin-top:auto;padding-top:20px;font-size:11px;font-weight:620
}

.contact-details{
  margin-top:34px;border-top:1px solid var(--line)
}
.contact-row{
  display:grid;grid-template-columns:160px 1fr;gap:28px;
  padding:17px 0;border-bottom:1px solid var(--line)
}
.contact-row strong{font-size:12px}
.contact-row a,.contact-row span{font-size:14px;color:var(--text)}

@media(max-width:960px){
  .page-result-grid{grid-template-columns:1fr}
  .page-result,.page-result + .page-result{
    padding:24px 0;border-left:0;border-bottom:1px solid var(--line)
  }
  .callout,.internal-cta,.article-layout{grid-template-columns:1fr}
  .article-sidebar{position:static}
  .check-list{grid-template-columns:1fr}
  .check-item,.check-item:nth-child(even){
    padding:17px 0;border-left:0
  }
  .knowledge-grid{grid-template-columns:1fr}
}
@media(max-width:640px){
  .related-grid{grid-template-columns:1fr}
  .contact-row{grid-template-columns:1fr;gap:4px}
}


/* =========================================================
   LOCAL REVIEW V2.1 — readability + active navigation
   ========================================================= */

/* Header navigation: active section is clearly visible but still restrained */
nav a{
  position:relative;
}
nav a[aria-current="page"]:not(.nav-contact){
  color:#df735f;
}
nav a[aria-current="page"]:not(.nav-contact)::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-9px;
  height:1px;
  background:#df735f;
}
.nav-contact[aria-current="page"]{
  color:#fff;
  border-color:#b94a3b;
  background:rgba(148,26,20,.22);
}

/* Slightly larger base reading size throughout the site */
.hero-lead{
  font-size:19px;
  line-height:1.66;
}
.intro,
.value-statement{
  font-size:18px;
  line-height:1.63;
}
.hero-note p,
.hero-result-list li,
.outcome p,
.step p,
.pillar p,
.solution-action,
.solution-result,
.deliverable-item span,
.dark-list li,
.about-copy p,
.article p,
.contact p,
.page-result p,
.check-item span,
.faq details p,
.knowledge-card p,
.related-card p,
.article-side-block p{
  font-size:14px;
  line-height:1.58;
}
.problem p{
  font-size:14px;
  line-height:1.56;
}
.pillar li{
  font-size:12.6px;
}
.outcome h3{
  font-size:20.5px;
}
.step h3{
  font-size:21px;
}
.pillar h3{
  font-size:23.5px;
}
.deliverable-item strong{
  font-size:14.4px;
}
.solution-problem strong{
  font-size:14px;
  line-height:1.42;
}
.article h3{
  font-size:19.5px;
}
.article-body p{
  font-size:17px;
  line-height:1.72;
}
.article-body li{
  font-size:16.5px;
  line-height:1.6;
}
.page-hero p,
.article-lead{
  line-height:1.65;
}

/* Give dense areas a touch more air without changing the overall layout */
.outcome{
  padding-top:31px;
  padding-bottom:7px;
}
.solution-problem,
.solution-action,
.solution-result{
  padding-top:27px;
  padding-bottom:27px;
}
.step{
  padding-top:33px;
}
.deliverable-item{
  padding-top:22px;
  padding-bottom:22px;
}
.articles{
  gap:28px;
}

/* active nav on smaller screens: underline is unnecessary */
@media(max-width:960px){
  nav a[aria-current="page"]:not(.nav-contact)::after{
    display:none;
  }
  nav a[aria-current="page"]:not(.nav-contact){
    color:#df735f;
  }
}

@media(max-width:640px){
  .hero-lead{
    font-size:17px;
  }
  .intro,
  .value-statement{
    font-size:16.7px;
  }
  .hero-note p,
  .hero-result-list li,
  .outcome p,
  .step p,
  .pillar p,
  .solution-action,
  .solution-result,
  .deliverable-item span,
  .dark-list li,
  .about-copy p,
  .article p,
  .contact p,
  .page-result p,
  .check-item span{
    font-size:13.5px;
  }
}


/* =========================================================
   LOCAL REVIEW V2.2 — final readability polish
   ========================================================= */

/* One final readability step for dense content */
.hero-note p,
.hero-result-list li,
.outcome p,
.step p,
.pillar p,
.solution-action,
.solution-result,
.deliverable-item span,
.dark-list li,
.about-copy p,
.article p,
.contact p,
.page-result p,
.check-item span,
.faq details p,
.knowledge-card p,
.related-card p,
.article-side-block p,
.problem p{
  font-size:14.8px;
  line-height:1.62;
}

.pillar li{
  font-size:13px;
  line-height:1.5;
}

.solution-problem strong{
  font-size:14.6px;
  line-height:1.44;
}

.deliverable-item strong{
  font-size:14.8px;
}

.article h3{
  font-size:20px;
}

.article-body p{
  font-size:17.2px;
  line-height:1.74;
}

.article-body li{
  font-size:16.7px;
  line-height:1.62;
}

/* Active nav — restrained but unmistakable */
nav a[aria-current="page"]:not(.nav-contact){
  color:#e07a66;
  font-weight:620;
}

nav a[aria-current="page"]:not(.nav-contact)::after{
  height:1px;
  bottom:-10px;
  background:#e07a66;
}

.nav-contact[aria-current="page"]{
  color:#fff;
  background:rgba(148,26,20,.28);
  border-color:#c25c4d;
}

/* A touch more breathing room in the densest rows */
.solution-problem,
.solution-action,
.solution-result{
  padding-top:29px;
  padding-bottom:29px;
}

.deliverable-item{
  padding-top:23px;
  padding-bottom:23px;
}

.step{
  padding-top:34px;
}

@media(max-width:640px){
  .hero-note p,
  .hero-result-list li,
  .outcome p,
  .step p,
  .pillar p,
  .solution-action,
  .solution-result,
  .deliverable-item span,
  .dark-list li,
  .about-copy p,
  .article p,
  .contact p,
  .page-result p,
  .check-item span,
  .problem p{
    font-size:13.8px;
  }
}


/* =========================================================
   LOCAL REVIEW V2.3 — card alignment + final type sizing
   ========================================================= */

/* Keep all three service cards equal-height and align bottom links */
.pillars{
  align-items:stretch;
}
.pillar{
  display:flex;
  flex-direction:column;
}
.pillar > p:last-child{
  margin-top:auto !important;
  padding-top:24px;
}

/* Slightly larger reading text — headings stay unchanged */
.hero-note p,
.hero-result-list li,
.outcome p,
.step p,
.pillar p,
.solution-action,
.solution-result,
.deliverable-item span,
.dark-list li,
.about-copy p,
.article p,
.contact p,
.page-result p,
.check-item span,
.faq details p,
.knowledge-card p,
.related-card p,
.article-side-block p,
.problem p{
  font-size:15.4px;
  line-height:1.63;
}

.pillar li{
  font-size:13.6px;
  line-height:1.52;
}

.solution-problem strong{
  font-size:15px;
  line-height:1.44;
}

.deliverable-item strong{
  font-size:15.2px;
}

nav a{
  font-size:11.6px;
}

/* slightly more readable service-card CTA */
.pillar > p:last-child a{
  font-size:14px;
  line-height:1.4;
}

@media(max-width:640px){
  .hero-note p,
  .hero-result-list li,
  .outcome p,
  .step p,
  .pillar p,
  .solution-action,
  .solution-result,
  .deliverable-item span,
  .dark-list li,
  .about-copy p,
  .article p,
  .contact p,
  .page-result p,
  .check-item span,
  .problem p{
    font-size:14px;
  }

  .pillar > p:last-child{
    margin-top:0 !important;
    padding-top:18px;
  }
}


/* =========================================================
   COOKIE / PRIVACY INFO
   ========================================================= */
.cookie-info{
  position:fixed;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  width:min(calc(100% - 28px), 920px);
  z-index:9999;
  display:grid;
  grid-template-columns:1fr auto;
  gap:22px;
  align-items:center;
  padding:16px 18px 16px 20px;
  background:rgba(32,35,33,.98);
  color:#f2efe9;
  border:1px solid rgba(255,255,255,.10);
  border-radius:12px;
  box-shadow:0 12px 34px rgba(0,0,0,.18);
}
.cookie-info[hidden]{display:none}
.cookie-info__text{
  font-size:13px;
  line-height:1.5;
  color:#c8cbc6;
}
.cookie-info__text strong{
  color:#fff;
  font-weight:620;
}
.cookie-info__text a{
  color:#e07a66;
  text-underline-offset:3px;
}
.cookie-info__actions{
  display:flex;
  align-items:center;
  gap:10px;
}
.cookie-info__btn{
  appearance:none;
  border:1px solid rgba(255,255,255,.22);
  background:transparent;
  color:#fff;
  border-radius:999px;
  padding:9px 14px;
  font:inherit;
  font-size:12px;
  font-weight:620;
  cursor:pointer;
}
.cookie-info__btn:hover,
.cookie-info__btn:focus-visible{
  border-color:#e07a66;
  outline:none;
}
@media(max-width:640px){
  .cookie-info{
    grid-template-columns:1fr;
    gap:12px;
    bottom:10px;
    padding:15px 16px;
  }
  .cookie-info__text{font-size:12.5px}
  .cookie-info__actions{justify-content:flex-end}
}

/* =========================================================
   MOBILE POLISH V2.4
   Desktop bez zmian. Poniższe reguły działają tylko <= 760px.
   ========================================================= */
@media (max-width:760px){

  html{
    scroll-padding-top:72px;
  }

  body{
    overflow-x:hidden;
  }

  .wrap{
    width:min(100% - 34px, 1180px);
  }

  /* Header */
  .site-header{
    position:sticky;
    top:0;
    z-index:999;
  }

  .header-row{
    min-height:62px;
  }

  .brand-mark{
    width:26px;
    height:26px;
  }

  .brand-role{
    font-size:7.8px;
    letter-spacing:.11em;
  }

  .brand-name{
    font-size:8.5px;
  }

  .menu-btn{
    width:38px;
    height:38px;
    font-size:19px;
  }

  /* Hero */
  .hero{
    padding-top:56px;
    padding-bottom:38px;
  }

  .hero-grid{
    grid-template-columns:1fr;
    gap:30px;
  }

  .hero h1{
    font-size:clamp(34px,10.5vw,45px);
    line-height:.98;
    max-width:100%;
    letter-spacing:-.045em;
  }

  .hero-lead{
    font-size:17px;
    line-height:1.62;
    max-width:100%;
  }

  .actions{
    display:grid;
    grid-template-columns:1fr;
    gap:9px;
    width:100%;
  }

  .actions .btn{
    width:100%;
    justify-content:center;
    min-height:45px;
  }

  .hero-side{
    border-left:0;
    border-top:1px solid var(--line);
    padding-left:0;
    padding-top:25px;
  }

  .hero-note{
    max-width:none;
  }

  .hero-note h2{
    font-size:25px;
    line-height:1.1;
    max-width:15ch;
  }

  .hero-result-list li{
    font-size:14.5px;
    line-height:1.5;
    padding:12px 0;
  }

  /* Scope strip */
  .scope{
    overflow:hidden;
  }

  .scope-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .scope-grid span{
    min-height:42px;
    padding:12px 8px;
    font-size:8px;
  }

  /* Global section rhythm */
  .section,
  .section.compact{
    padding-top:62px;
    padding-bottom:62px;
  }

  .section-grid{
    grid-template-columns:1fr;
    gap:18px;
  }

  .label{
    margin-bottom:0;
  }

  .section h2{
    font-size:clamp(29px,8.2vw,37px);
    line-height:1.02;
    letter-spacing:-.04em;
  }

  .intro,
  .value-statement{
    font-size:17px;
    line-height:1.58;
  }

  /* Outcomes: single readable column */
  .outcomes{
    grid-template-columns:1fr;
    margin-top:30px;
  }

  .outcome,
  .outcome + .outcome,
  .outcome:nth-child(3){
    padding:24px 0;
    border-left:0;
    border-top:0;
    border-bottom:1px solid var(--line);
  }

  .outcome:last-child{
    border-bottom:0;
  }

  .outcome h3{
    font-size:23px;
    margin:10px 0 8px;
  }

  .outcome p{
    font-size:15.5px;
    line-height:1.58;
  }

  /* Problem -> zmiana -> efekt:
     każda sytuacja staje się pionowym mini-case */
  .solution-rows{
    margin-top:28px;
  }

  .solution-row{
    display:block;
    padding:0;
    border-bottom:1px solid var(--line);
  }

  .solution-problem,
  .solution-action,
  .solution-result{
    width:100%;
    padding:17px 0;
    border:0;
    background:transparent;
  }

  .solution-problem{
    padding-top:23px;
  }

  .solution-problem strong{
    display:block;
    font-size:16px;
    line-height:1.38;
  }

  .solution-action{
    font-size:15px;
    line-height:1.58;
    border-top:1px solid rgba(120,112,103,.18);
  }

  .solution-action::before{
    content:"ZMIANA";
    display:block;
    margin-bottom:7px;
    font-size:8px;
    letter-spacing:.16em;
    font-weight:720;
    color:var(--burgundy);
  }

  .solution-result{
    margin-bottom:20px;
    padding:17px 16px;
    background:rgba(148,26,20,.055);
    border-top:0;
    border-left:3px solid var(--burgundy);
    font-size:15px;
    line-height:1.55;
  }

  .solution-result b{
    font-size:8.5px;
  }

  /* Three service cards */
  .pillars{
    grid-template-columns:1fr;
    gap:0;
    margin-top:28px;
  }

  .pillar,
  .pillar + .pillar{
    padding:28px 0;
    border-left:0;
    border-top:1px solid var(--line);
  }

  .pillar:first-child{
    border-top:1px solid var(--line);
  }

  .pillar h3{
    font-size:26px;
    line-height:1.08;
  }

  .pillar p{
    font-size:15.5px;
    line-height:1.58;
  }

  .pillar li{
    font-size:14.3px;
    padding:9px 0;
  }

  .pillar > p:last-child{
    margin-top:18px !important;
    padding-top:0;
  }

  .pillar > p:last-child a{
    font-size:15px;
  }

  /* Dark SEO / AI section */
  .dark{
    padding-top:62px;
    padding-bottom:62px;
  }

  .dark-grid{
    grid-template-columns:1fr;
    gap:34px;
  }

  .dark h2{
    font-size:clamp(31px,8.8vw,39px);
    line-height:1.01;
  }

  .dark .intro{
    font-size:16px;
    line-height:1.62;
  }

  .dark-list li{
    font-size:14.5px;
    line-height:1.55;
    padding:15px 0;
  }

  /* Process: 1 column — no mini desktop cards */
  .process{
    grid-template-columns:1fr;
    margin-top:28px;
    border-top:1px solid var(--line);
  }

  .step,
  .step + .step{
    padding:23px 0;
    border-left:0;
    border-bottom:1px solid var(--line);
  }

  .step h3{
    font-size:24px;
    margin:9px 0 7px;
  }

  .step p{
    font-size:15px;
    line-height:1.58;
  }

  /* Deliverables: one clean list */
  .deliverables{
    grid-template-columns:1fr;
    margin-top:28px;
  }

  .deliverable-item,
  .deliverable-item:nth-child(even){
    grid-template-columns:36px 1fr;
    gap:13px;
    padding:18px 0;
    border-left:0;
    border-bottom:1px solid var(--line);
  }

  .deliverable-item:nth-last-child(-n+2){
    border-bottom:1px solid var(--line);
  }

  .deliverable-item:last-child{
    border-bottom:0;
  }

  .deliverable-no{
    width:30px;
    height:30px;
    font-size:8px;
  }

  .deliverable-item strong{
    font-size:16px;
    line-height:1.35;
  }

  .deliverable-item span{
    font-size:14.5px;
    line-height:1.52;
  }

  /* About */
  .about{
    grid-template-columns:1fr;
    gap:28px;
  }

  .about-id{
    padding-bottom:22px;
    border-bottom:1px solid var(--line);
  }

  .about-copy h2{
    font-size:clamp(29px,8vw,36px);
  }

  .about-copy p{
    font-size:15.5px;
    line-height:1.62;
  }

  /* Knowledge cards */
  .articles{
    grid-template-columns:1fr;
    gap:0;
    margin-top:28px;
  }

  .article{
    min-height:auto;
    padding:22px 0 26px;
    border-top:1px solid var(--line);
  }

  .article h3{
    font-size:22px;
    line-height:1.2;
  }

  .article p{
    font-size:14.8px;
    line-height:1.55;
  }

  /* Contact */
  .contact-wrap{
    padding-top:42px;
    padding-bottom:42px;
  }

  .contact{
    grid-template-columns:1fr;
    gap:26px;
    padding:28px 22px;
  }

  .contact h2{
    font-size:31px;
    line-height:1.03;
  }

  .contact p{
    font-size:15px;
    line-height:1.58;
  }

  .contact-link{
    min-height:44px;
    font-size:13px;
  }

  /* Footer */
  .footer-row{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
    padding-top:18px;
    padding-bottom:18px;
    font-size:9px;
  }

  /* Cookie notice */
  .cookie-info{
    width:calc(100% - 20px);
    bottom:10px;
    grid-template-columns:1fr;
    padding:15px 16px;
    gap:12px;
  }

  .cookie-info__text{
    font-size:12.8px;
    line-height:1.48;
  }

  .cookie-info__actions{
    justify-content:flex-start;
  }

  .cookie-info__btn{
    min-width:110px;
    min-height:40px;
  }

  /* Subpages */
  .page-hero{
    padding-top:48px;
    padding-bottom:42px;
  }

  .page-hero h1,
  .article-hero h1{
    font-size:clamp(34px,9vw,44px);
    line-height:1.01;
  }

  .page-hero p,
  .article-lead{
    font-size:16.5px;
    line-height:1.62;
  }

  .page-result-grid{
    grid-template-columns:1fr;
  }

  .page-result,
  .page-result + .page-result{
    padding:23px 0;
    border-left:0;
    border-bottom:1px solid var(--line);
  }

  .callout{
    grid-template-columns:1fr;
    gap:18px;
    padding:27px 0;
  }

  .callout h3{
    font-size:27px;
  }

  .callout p{
    font-size:15.5px;
    line-height:1.62;
  }

  .check-list{
    grid-template-columns:1fr;
  }

  .check-item,
  .check-item:nth-child(even){
    padding:18px 0;
    border-left:0;
  }

  .check-item strong{
    font-size:15.5px;
  }

  .check-item span{
    font-size:14.5px;
  }

  .internal-cta{
    grid-template-columns:1fr;
    gap:24px;
    padding:28px 22px;
  }

  .internal-cta h2{
    font-size:30px;
  }

  .article-layout{
    grid-template-columns:1fr;
    gap:40px;
  }

  .article-sidebar{
    position:static;
  }

  .article-body p{
    font-size:17px;
  }

  .knowledge-grid{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   MOBILE POLISH V2.4.1 — final
   ========================================================= */
.copy-mobile{display:none}

@media(max-width:760px){
  .copy-desktop{display:none !important}
  .copy-mobile{display:inline !important}

  .hero-side{padding-top:22px}
  .hero-note h2{
    font-size:24px;
    max-width:17ch;
    margin-bottom:12px;
  }
  .hero-result-list li{
    padding:10px 0;
    font-size:14.2px;
    line-height:1.42;
  }

  .step,
  .step + .step{
    padding-top:20px;
    padding-bottom:20px;
  }
  .step p{margin-bottom:0}

  .deliverable-item,
  .deliverable-item:nth-child(even){
    padding-top:16px;
    padding-bottom:16px;
  }
  .deliverable-item span{line-height:1.46}

  #proces.section,
  #proces.section.compact{
    padding-bottom:54px;
  }

  .about{gap:24px}
  .articles{margin-top:24px}
  .article{
    padding-top:19px;
    padding-bottom:22px;
  }
}


/* =========================================================
   ACCESSIBILITY V2.4.2 — contrast fixes for Lighthouse
   ========================================================= */

/* Header surname: previous #838883 was just below 4.5:1 */
.brand-name{
  color:#949994;
}

/* About identity block:
   remove group opacity because it lowered contrast of both texts */
.about-id{
  opacity:1;
}

/* Keep only the logo deliberately subtle */
.about-id img{
  opacity:.76;
}

/* Small role text needs stronger contrast on the light background */
.about-role{
  color:#6f6962;
}

/* Name remains discreet, but now passes contrast without parent opacity */
.about-name{
  color:#6f6a63;
}

/* Contact eyebrow: previous #d97763 was ~4.44:1 on the dark card */
.contact .label{
  color:#e07a66;
}
