:root{
  --rust-light:#E2A07A;
  --workshop-green:#315A52;
  --workshop-blue:#477A8C;
  --workshop-violet:#5A4767;
  --workshop-gold:#A97619;
}

/* Problem signals - photography grounds the symptoms in observable work. */
.problem-observation{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(320px,.55fr);
  gap:42px;
  align-items:stretch;
}
.problem-reportage{
  position:relative;
  min-height:390px;
  margin:0;
  overflow:hidden;
  border:1px solid #C7B89C;
  background:#322F2C;
}
.problem-reportage::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,transparent 60%,rgba(36,35,33,.82));
}
.problem-reportage img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.problem-reportage figcaption{
  position:absolute;
  z-index:1;
  left:20px;
  right:20px;
  bottom:15px;
  color:#E8DDC9;
  font-size:11px;
  line-height:1.4;
  letter-spacing:.04em;
}
.problem-observation .prob-list{
  justify-content:center;
  padding:30px;
  border:1px solid #C7B89C;
  background:rgba(255,255,255,.2);
}
.problem-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}
.problem-card{
  position:relative;
  min-height:198px;
  padding:28px 24px;
  gap:14px;
  overflow:hidden;
}
.problem-card::before{content:"";display:block;width:32px;height:2px;margin-bottom:8px;background:var(--rust)}
.problem-card .h3disp{font-size:26px}
.problem-quote{color:var(--text-paper);margin-top:6px}

/* Four operational examples - illustration identifies the card, copy explains the flow. */
.workflow-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}
.workflow-card{
  min-height:100%;
  padding:18px;
  gap:12px;
  overflow:hidden;
  transition:transform .25s ease,border-color .25s ease,background .25s ease;
}
.workflow-card:hover{
  transform:translateY(-4px);
  border-color:#665F56;
  background:#36322E;
}
.workflow-card-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.workflow-card .step-num{font-size:18px;color:#E2A07A}
.workflow-code{
  font-size:10px;font-weight:600;letter-spacing:.1em;color:var(--muted-2);
}
.workflow-visual{
  position:relative;height:148px;display:flex;align-items:center;justify-content:center;
  margin:2px -4px 4px;overflow:hidden;
}
.workflow-visual::after{
  content:"";position:absolute;left:4%;right:4%;bottom:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--card-dark-border),transparent);
}
.workflow-visual img{
  display:block;max-width:100%;width:auto;height:136px;object-fit:contain;
  filter:drop-shadow(0 12px 16px rgba(0,0,0,.28));
}
.workflow-visual-tall img{height:154px}
.workflow-card .step-title{font-family:'Fraunces';font-weight:400;font-size:24px;line-height:112%}
.workflow-path{color:var(--text-dark)}
.workflow-control{color:var(--paper-muted);margin-top:auto;padding-top:4px}

/* Workshop system - deliberately paper/tactile, distinct from the dark sales sections. */
.workshop-system{
  position:relative;
  border-top:1px solid var(--card-paper-border);
  border-bottom:1px solid var(--card-paper-border);
  overflow:hidden;
}
.workshop-system::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.28;
  background-image:radial-gradient(rgba(36,35,33,.12) .6px,transparent .6px);
  background-size:5px 5px;
}
.workshop-layout{
  position:relative;display:grid;grid-template-columns:minmax(0,.82fr) minmax(520px,1.18fr);
  gap:72px;align-items:center;
}
.workshop-copy{display:flex;flex-direction:column;gap:24px;min-width:0}
.workshop-rule{
  display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start;
  padding:18px 20px;border-left:3px solid var(--rust);background:rgba(240,232,216,.52);
  color:var(--text-paper-soft);font-size:15px;line-height:155%;
}
.workshop-rule-mark{font-family:'Fraunces';font-size:28px;line-height:1;color:var(--rust)}
.workshop-legend{display:flex;flex-wrap:wrap;gap:10px 18px;padding-top:2px}
.workshop-legend span{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:600;color:#5C554B}
.legend-dot{display:block;width:8px;height:8px;border-radius:50%}
.legend-dot-rust{background:var(--rust)}
.legend-dot-green{background:var(--workshop-green)}
.legend-dot-blue{background:var(--workshop-blue)}

.workshop-board{
  position:relative;min-height:610px;margin:0;padding:54px 28px 42px;
  border:1px solid #C7B89C;border-radius:6px;
  background:
    linear-gradient(rgba(255,255,255,.32),rgba(255,255,255,.05)),
    #EDE4D3;
  box-shadow:0 24px 50px rgba(65,50,35,.16),0 2px 3px rgba(65,50,35,.08);
  overflow:hidden;
}
.workshop-board::after{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.18;
  background-image:radial-gradient(#7D705D .45px,transparent .6px);
  background-size:4px 4px;
}
.board-topline{
  position:absolute;z-index:5;top:0;left:0;right:0;height:42px;padding:0 16px;
  display:flex;align-items:center;justify-content:space-between;
  border-bottom:1px solid #C7B89C;background:rgba(232,221,201,.86);
  color:#5C554B;font-size:10px;font-weight:600;letter-spacing:.13em;
}
.trust-map{position:absolute;z-index:1;inset:58px 22px 54px;display:flex;align-items:center;justify-content:center}
.trust-zone{position:absolute;border-radius:50%;display:flex;align-items:flex-start;justify-content:center;text-align:center}
.trust-zone span{margin-top:14px;font-size:9px;font-weight:600;letter-spacing:.08em}
.trust-zone-public{width:94%;height:88%;border:1px solid rgba(71,122,140,.75);background:rgba(71,122,140,.07);color:#356578}
.trust-zone-internal{width:69%;height:64%;border:1px solid rgba(49,90,82,.8);background:rgba(49,90,82,.08);color:#315A52}
.trust-zone-cortex{width:40%;height:38%;border:1px solid rgba(90,71,103,.85);background:rgba(90,71,103,.1);color:#4A3856;align-items:center;flex-direction:column}
.trust-zone-cortex span{margin:0}
.trust-zone-cortex small{max-width:105px;margin-top:5px;font-size:8px;line-height:130%;font-weight:500}

.mini-card{
  position:absolute;z-index:3;width:154px;min-height:215px;padding:12px;
  display:flex;flex-direction:column;gap:7px;
  border:1px solid #BDAE91;border-radius:8px;background:#F6F0E4;
  box-shadow:0 13px 20px rgba(51,39,29,.22),0 2px 3px rgba(51,39,29,.12);
  color:#242321;
}
.mini-card-type{font-size:7px;font-weight:600;letter-spacing:.12em;color:#8C4224}
.mini-card img{display:block;width:100%;height:108px;object-fit:contain}
.mini-card strong{font-family:'Fraunces';font-weight:400;font-size:17px;line-height:110%}
.mini-card small{margin-top:auto;font-size:8px;font-weight:600;letter-spacing:.04em;color:#6A6257}
.mini-card-meet{left:9%;bottom:58px;transform:rotate(-7deg)}
.mini-card-knowledge{right:8%;top:82px;transform:rotate(6deg);border-top:4px solid var(--workshop-green)}
.mini-card-owner{right:12%;bottom:50px;transform:rotate(2deg);border-top:4px solid var(--workshop-blue)}
.mini-artifact-icon{
  display:flex;align-items:center;justify-content:center;height:108px;
  font-family:'Fraunces';font-size:50px;color:var(--workshop-green);
  background:radial-gradient(circle at center,rgba(49,90,82,.12),transparent 68%);
}
.mini-owner-icon{
  width:74px;height:74px;margin:14px auto 16px;border:1px solid var(--workshop-blue);border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-family:'Fraunces';font-size:34px;color:var(--workshop-blue);
  box-shadow:0 0 0 8px rgba(71,122,140,.08);
}
.workshop-board figcaption{
  position:absolute;z-index:5;left:22px;right:22px;bottom:14px;
  font-size:8px;line-height:140%;color:#756B5D;text-align:center;
}

/* One illustration marks the signature diagnostic step without decorating every step. */
.step-map-card{
  position:relative;
  min-height:210px;
  padding-right:176px;
  overflow:hidden;
}
.step-map-card > :not(.step-map-visual){position:relative;z-index:2}
.step-map-visual{
  position:absolute;
  z-index:1;
  right:18px;
  top:50%;
  width:142px;
  height:142px;
  object-fit:contain;
  transform:translateY(-50%);
  filter:drop-shadow(0 12px 15px rgba(0,0,0,.24));
  opacity:.96;
}

@media(max-width:1100px){
  .problem-observation{grid-template-columns:1fr;gap:20px}
  .problem-reportage{min-height:360px}
  .problem-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .workflow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .workshop-layout{grid-template-columns:1fr;gap:40px}
  .workshop-board{width:100%;max-width:720px;margin:0 auto}
}
@media(max-width:600px){
  .problem-reportage{min-height:270px}
  .problem-reportage img{object-position:62% center}
  .problem-reportage figcaption{left:14px;right:14px;bottom:11px;font-size:10px}
  .problem-observation .prob-list{padding:22px}
  .problem-grid{grid-template-columns:1fr}
  .problem-card{
    min-height:0;
    display:flex;
    padding:22px;
  }
  .problem-card .h3disp{font-size:23px}
  .problem-quote{font-size:14px;margin:0}
  .workflow-grid{grid-template-columns:1fr}
  .workflow-card{display:grid;grid-template-columns:112px minmax(0,1fr);column-gap:16px;align-items:start;padding:16px}
  .workflow-card-head{grid-column:1/-1}
  .workflow-visual{grid-column:1;grid-row:2/5;height:124px;margin:0;align-self:center}
  .workflow-visual img,.workflow-visual-tall img{max-width:110px;height:116px}
  .workflow-card .step-title{grid-column:2;font-size:23px}
  .workflow-path,.workflow-control{grid-column:2;font-size:14px}
  .workshop-copy .h2{font-size:31px}
  .workshop-board{min-height:520px;padding-left:16px;padding-right:16px}
  .trust-map{inset:56px 10px 52px}
  .trust-zone-public{width:102%;height:88%}
  .trust-zone-internal{width:76%;height:62%}
  .trust-zone-cortex{width:47%;height:36%}
  .mini-card{width:118px;min-height:174px;padding:9px}
  .mini-card img,.mini-artifact-icon{height:78px}
  .mini-card strong{font-size:14px}
  .mini-card-meet{left:2%;bottom:54px}
  .mini-card-knowledge{right:1%;top:72px}
  .mini-card-owner{right:5%;bottom:44px}
  .mini-owner-icon{width:54px;height:54px;margin:8px auto;font-size:26px}
  .step-map-card{min-height:0;padding-right:24px}
  .step-map-visual{
    position:static;
    width:150px;
    height:128px;
    margin:6px auto 0;
    transform:none;
    align-self:center;
  }
}
@media(max-width:430px){
  .workflow-card{grid-template-columns:96px minmax(0,1fr);column-gap:12px}
  .workflow-visual img,.workflow-visual-tall img{max-width:94px;height:104px}
  .workflow-card .step-title{font-size:21px}
  .workshop-board{min-height:480px}
  .mini-card{width:106px;min-height:160px}
  .mini-card img,.mini-artifact-icon{height:66px}
  .mini-card-meet{left:0}
  .mini-card-owner{right:2%}
}
@media(prefers-reduced-motion:reduce){
  .workflow-card,.workflow-card:hover{transition:none;transform:none}
}

/* Rekon dla JDG - kontekstowy baner po sekcji problemu. */
.jdg-entry{
  position:relative;
  overflow:hidden;
  padding-top:72px;
  padding-bottom:72px;
  background:#322F2C;
  border-top:1px solid #3D3934;
  border-bottom:1px solid #3D3934;
}
.jdg-entry::after{
  content:"";
  position:absolute;
  right:max(24px,calc((100vw - 1248px)/2));
  top:0;
  width:44%;height:100%;
  opacity:.06;
  background:url('hero-bgr.webp') center/cover no-repeat;
  mix-blend-mode:screen;
  pointer-events:none;
}
.jdg-entry-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(440px,.92fr);
  gap:56px;
  align-items:center;
}
.jdg-entry-copy{display:grid;gap:20px}
.jdg-entry-copy .h2{max-width:820px}
.jdg-entry-copy .lead{max-width:760px}
.jdg-entry-media{position:relative;min-width:0}
.jdg-entry-visual{
  position:relative;
  min-height:438px;
  margin:0;
  overflow:hidden;
  border:1px solid #4B4843;
  background:#242321;
}
.jdg-entry-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(36,35,33,.88));pointer-events:none}
.jdg-entry-visual img{display:block;width:100%;height:100%;min-height:438px;object-fit:cover;object-position:center}
.jdg-entry-visual figcaption{position:absolute;z-index:1;right:15px;top:12px;color:rgba(232,221,201,.68);font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.jdg-entry-side{
  position:absolute;
  z-index:2;
  left:24px;
  right:24px;
  bottom:24px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:18px 22px;
  align-items:center;
  padding:20px;
  border:1px solid rgba(232,221,201,.18);
  background:rgba(36,35,33,.92);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.jdg-entry-price{
  font-family:'Fraunces';
  font-size:clamp(36px,5vw,52px);
  line-height:1;
  color:#E8DDC9;
  white-space:nowrap;
}
.jdg-entry-note{font-size:13px;line-height:1.45;color:#C9BDA6}
.jdg-entry-side .btn{grid-column:1/-1;width:100%}
@media(max-width:860px){
  .jdg-entry-grid{grid-template-columns:1fr;gap:34px}
  .jdg-entry-media{max-width:720px}
}
@media(max-width:600px){
  .jdg-entry{padding-top:56px;padding-bottom:56px}
  .jdg-entry-visual{min-height:360px}
  .jdg-entry-visual img{min-height:360px;object-position:62% center}
  .jdg-entry-side{position:relative;left:auto;right:auto;bottom:auto;grid-template-columns:1fr;margin-top:-1px;padding:22px;background:#2E2B28}
}
