:is(body[data-city-pilot="gorzow-competency-toolroll-v2"], .gzw-hero, .gzw-gate, .gzw-source, .gzw-delivery, .gzw-stack, .gzw-faq) {
  --gzw-ink: #142b2a;
  --gzw-muted: #5d706e;
  --gzw-line: #cfddda;
  --gzw-mist: #f2f7f5;
  --gzw-red: #d63846;
  --gzw-green: #176b5c;
}

body[data-city-pilot="gorzow-competency-toolroll-v2"] { color: var(--gzw-ink); background: #fff; font-family: "Plus Jakarta Sans", sans-serif; }
.gzw-shell, .gzw-editorial { width: min(calc(100% - 5rem), 1168px); margin-inline: auto; }
.gzw-hero, .gzw-gate, .gzw-source, .gzw-delivery, .gzw-stack, .gzw-faq { position: relative; color: var(--gzw-ink); background: #fff; border-bottom: 1px solid var(--gzw-line); }
.gzw-kicker { margin: 0 0 .85rem; color: var(--gzw-red); font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }

.gzw-hero { padding: 7rem 1rem 1rem; overflow: hidden; }
.gzw-hero__grid { display: grid; grid-template-columns: minmax(19rem,.82fr) minmax(0,1.18fr); border-bottom: 1px solid var(--gzw-line); }
.gzw-hero__copy { display: flex; min-width: 0; flex-direction: column; justify-content: center; padding: 2.2rem 3rem 2.2rem 0; }
.gzw-hero h1 { max-width: 11ch; margin: 0; font-size: clamp(3rem,4.6vw,4rem); font-weight: 800; line-height: .98; letter-spacing: -.045em; text-wrap: balance; }
.gzw-hero h1 em { display: block; color: var(--gzw-red); font-style: normal; }
.gzw-hero__copy > p:not(.gzw-kicker) { max-width: 48ch; margin: 1rem 0 0; color: var(--gzw-muted); font-size: .95rem; line-height: 1.62; }
.gzw-actions { display: flex; flex-wrap: wrap; gap: .75rem 1rem; margin-top: 1.35rem; }
.gzw-actions a, .gzw-faq header > a { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; color: var(--gzw-ink); font-size: .75rem; font-weight: 800; text-decoration: none; }
.gzw-actions a:first-child { gap: .55rem; padding: .7rem 1rem; color: #fff; background: var(--gzw-ink); border-radius: .5rem; }
.gzw-actions a:last-child, .gzw-faq header > a { border-bottom: 1px solid #9fb0ad; }
.gzw-visual { position: relative; display: grid; min-width: 0; margin: 0; grid-template-rows: minmax(0,1fr) auto; overflow: hidden; background: var(--gzw-mist); border-left: 1px solid var(--gzw-line); }
.gzw-visual picture { display: flex; width: 100%; min-width: 0; min-height: 0; aspect-ratio: 760 / 540; align-items: stretch; padding: .55rem; overflow: hidden; }
.gzw-visual img { display: block; width: 100%; height: 100%; object-fit: contain; }
.gzw-visual figcaption { display: grid; width: 100%; min-width: 0; min-height: 4.2rem; grid-template-columns: repeat(3,minmax(0,1fr)); overflow: hidden; background: rgba(255,255,255,.96); border-top: 1px solid var(--gzw-line); }
.gzw-visual figcaption span { display: flex; min-width: 0; flex-direction: column; justify-content: center; gap: .18rem; padding: .65rem .8rem; }
.gzw-visual figcaption span + span { border-left: 1px solid var(--gzw-line); }
.gzw-visual figcaption b { color: var(--gzw-red); font-size: .59rem; letter-spacing: .08em; text-transform: uppercase; }
.gzw-visual figcaption small { overflow: hidden; color: var(--gzw-ink); font-size: .62rem; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }

.gzw-gate { padding: 3.6rem 1rem; background: var(--gzw-mist); }
.gzw-gate__grid { display: grid; grid-template-columns: minmax(16rem,.65fr) minmax(0,1.35fr); gap: clamp(2.5rem,6vw,5rem); align-items: center; }
.gzw-gate header h2, .gzw-source h2, .gzw-delivery h2, .gzw-stack h2, .gzw-faq h2 { margin: 0; font-size: clamp(2.2rem,3.5vw,3rem); font-weight: 800; line-height: 1.02; letter-spacing: -.04em; text-wrap: balance; }
.gzw-gate header > p:last-child { margin: 1rem 0 0; color: var(--gzw-muted); font-size: .86rem; line-height: 1.58; }
.gzw-gate ol { margin: 0; padding: 0; list-style: none; background: #fff; border: 1px solid var(--gzw-line); }
.gzw-gate li { display: grid; min-height: 6.4rem; grid-template-columns: 3rem minmax(0,1fr) 8rem; gap: 1rem; align-items: center; padding: .9rem 1rem; }
.gzw-gate li + li { border-top: 1px solid var(--gzw-line); }
.gzw-gate li > span { color: var(--gzw-red); font-size: .66rem; font-weight: 800; letter-spacing: .08em; }
.gzw-gate li strong { font-size: .86rem; }
.gzw-gate li p { margin: .18rem 0 0; color: var(--gzw-muted); font-size: .72rem; line-height: 1.4; }
.gzw-gate li b { color: var(--gzw-green); font-size: .63rem; line-height: 1.35; text-align: right; }

.gzw-source { padding: 2rem 1rem; }
.gzw-source__grid { display: grid; grid-template-columns: .9fr 1.2fr .7fr; align-items: start; }
.gzw-source__grid > * { min-width: 0; padding: 1.2rem 1.5rem; }
.gzw-source__grid > * + * { border-left: 1px solid var(--gzw-line); }
.gzw-source header { padding-left: 0; }
.gzw-source article span, .gzw-source aside strong { color: var(--gzw-red); font-size: .64rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.gzw-source article h3 { margin: .65rem 0; font-size: .95rem; line-height: 1.4; }
.gzw-source article p, .gzw-source aside p { color: var(--gzw-muted); font-size: .72rem; line-height: 1.52; }
.gzw-source article a { display: inline-flex; min-height: 44px; align-items: center; color: var(--gzw-ink); font-size: .69rem; font-weight: 800; }
.gzw-source aside { align-self: start; background: #eef7f3; }
.gzw-source h2 { font-size: clamp(1.75rem,2.65vw,2.08rem); line-height: 1.06; }

.gzw-delivery { padding: 3.5rem 1rem; }
.gzw-delivery header { display: grid; grid-template-columns: .4fr 1fr; gap: 2rem; align-items: end; margin-bottom: 1.5rem; }
.gzw-delivery ol { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--gzw-line); }
.gzw-delivery li { display: grid; min-height: 5.7rem; grid-template-columns: 3rem .75fr 1fr 1fr; gap: 1rem; align-items: center; border-bottom: 1px solid var(--gzw-line); }
.gzw-delivery li > span { color: var(--gzw-red); font-size: .65rem; font-weight: 800; }
.gzw-delivery li strong { font-size: .82rem; }
.gzw-delivery li p { color: var(--gzw-muted); font-size: .7rem; line-height: 1.4; }
.gzw-delivery li b { color: var(--gzw-green); font-size: .63rem; text-align: right; }

.gzw-stack { padding: 2.8rem 1rem; background: var(--gzw-mist); }
.gzw-stack__grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 3rem; align-items: center; }
.gzw-stack ul { display: grid; margin: 0; padding: 0; grid-template-columns: repeat(4,minmax(0,1fr)); list-style: none; border-block: 1px solid var(--gzw-line); }
.gzw-stack li { min-width: 0; padding: 1rem; }
.gzw-stack li + li { border-left: 1px solid var(--gzw-line); }
.gzw-stack strong, .gzw-stack small { display: block; }
.gzw-stack strong { font-size: .75rem; }
.gzw-stack small { margin-top: .2rem; color: var(--gzw-muted); font-size: .62rem; line-height: 1.4; }

.gzw-faq { padding: 3.5rem 1rem; }
.gzw-faq__grid { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(2.5rem,6vw,5rem); }
.gzw-faq header > a { margin-top: 1.2rem; }
.gzw-faq details { border-bottom: 1px solid var(--gzw-line); }
.gzw-faq summary { display: grid; min-height: 4.6rem; grid-template-columns: 2.5rem minmax(0,1fr) 2rem; align-items: center; cursor: pointer; list-style: none; }
.gzw-faq summary span { color: var(--gzw-red); font-size: .64rem; font-weight: 800; }
.gzw-faq summary strong { font-size: .76rem; }
.gzw-faq summary i::before { content: "+"; display: grid; width: 28px; height: 28px; place-items: center; color: var(--gzw-red); border: 1px solid var(--gzw-red); border-radius: 50%; font-style: normal; }
.gzw-faq details[open] summary i::before { content: "−"; }
.gzw-faq details > p { margin: 0; padding: 0 2.5rem 1.2rem; color: var(--gzw-muted); font-size: .76rem; line-height: 1.55; }

.gzw-editorial { display: flex; min-height: 88px; align-items: center; justify-content: space-between; gap: 1.5rem; padding-block: 1rem; background: #fff; border-bottom: 1px solid var(--gzw-line); color: var(--gzw-muted); font-size: .68rem; }
.gzw-editorial > div { display: grid; gap: .25rem; }
.gzw-editorial strong { color: var(--gzw-ink); }
.gzw-editorial nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 0 1rem; }
.gzw-editorial a { display: inline-flex; min-height: 44px; align-items: center; color: var(--gzw-ink); font-weight: 800; text-decoration: none; }
body[data-city-pilot="gorzow-competency-toolroll-v2"] main :where(h1,h2,h3,p,strong,span,a,button,summary) { min-width: 0; overflow-wrap: anywhere; }
body[data-city-pilot="gorzow-competency-toolroll-v2"] :is(a,button,summary,input,textarea):focus-visible { outline: 3px solid var(--gzw-red); outline-offset: 3px; }
body[data-city-pilot="gorzow-competency-toolroll-v2"] main #faq details > summary:focus-visible {
  outline: 3px solid #d63846 !important;
  outline-offset: 3px !important;
  border-radius: 2px;
  border-left: 3px solid #d63846 !important;
  background: #fff3f4 !important;
  box-shadow: 0 0 0 3px #d63846 !important;
}
body[data-city-pilot="gorzow-competency-toolroll-v2"] main #faq details:focus-within {
  position: relative;
  z-index: 1;
  box-shadow: inset 3px 0 0 #d63846, 0 0 0 2px #d63846;
}

@media (max-width: 1024px) {
  .gzw-shell, .gzw-editorial { width: min(calc(100% - 2.5rem),1168px); }
  .gzw-hero__grid, .gzw-gate__grid, .gzw-stack__grid, .gzw-faq__grid { grid-template-columns: 1fr; }
  .gzw-hero__copy { padding: 2rem 1rem; }
  .gzw-visual { border-top: 1px solid var(--gzw-line); border-left: 0; }
  .gzw-source__grid { grid-template-columns: 1fr 1fr; }
  .gzw-source header { grid-column: 1/-1; }
  .gzw-source__grid > article { padding-left: 0; border-left: 0; }
  .gzw-stack__grid { gap: 1.5rem; }
}

@media (max-width: 640px) {
  .gzw-shell { width: calc(100% - 32px); }
  .gzw-hero { padding: 5rem 0 .8rem; }
  .gzw-hero h1 { font-size: clamp(2.35rem,12vw,3rem); }
  .gzw-actions { flex-direction: column; align-items: stretch; }
  .gzw-actions a { width: 100%; }
  .gzw-visual picture { aspect-ratio: 390 / 540; padding: 0; }
  .gzw-visual figcaption span { padding: .55rem .35rem; }
  .gzw-visual figcaption small { overflow: visible; font-size: .54rem; line-height: 1.25; text-overflow: clip; white-space: normal; }
  .gzw-gate, .gzw-source, .gzw-delivery, .gzw-stack, .gzw-faq { padding: 2.7rem 16px; }
  .gzw-gate__grid, .gzw-faq__grid { gap: 1.5rem; }
  .gzw-gate li { grid-template-columns: 2.2rem minmax(0,1fr); }
  .gzw-gate li b { grid-column: 2; padding-top: .35rem; border-top: 1px solid var(--gzw-line); text-align: left; }
  .gzw-source__grid { width: 100%; grid-template-columns: 1fr; }
  .gzw-source header { grid-column: auto; }
  .gzw-source__grid > * { padding: 1rem 0; border-left: 0; }
  .gzw-source__grid > * + * { border-top: 1px solid var(--gzw-line); }
  .gzw-source aside { padding-inline: 1rem; }
  .gzw-delivery header { grid-template-columns: 1fr; gap: .4rem; }
  .gzw-delivery li { grid-template-columns: 2.2rem minmax(0,1fr); gap: .6rem; padding-block: .9rem; }
  .gzw-delivery li p, .gzw-delivery li b { grid-column: 2; margin: 0; text-align: left; }
  .gzw-stack ul { grid-template-columns: 1fr 1fr; }
  .gzw-stack li:nth-child(3) { border-left: 0; }
  .gzw-stack li:nth-child(n+3) { border-top: 1px solid var(--gzw-line); }
  .gzw-editorial { width: auto; margin-inline: 16px; align-items: flex-start; flex-direction: column; }
  .gzw-editorial nav { justify-content: flex-start; }
}

@media (prefers-reduced-motion: reduce) { body[data-city-pilot="gorzow-competency-toolroll-v2"] * { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; } }
