/* Oferta: szerokie sekcje, natywne bloki i przykłady zamiast zbiorczej galerii. */
.ado-offer { --ado-ink: #142535; --ado-body: #465969; --ado-border: #dce4e9; --ado-anchor-offset: calc(var(--ad-fixed-admin-bar, 0px) + var(--header-height, 4.75rem) + 6rem); color: var(--ado-ink); background: #fff; font-family: var(--font-body, Inter, sans-serif); }
.ado-offer *, .ado-offer *::before, .ado-offer *::after { box-sizing: border-box; }
.ado-container { width: min(100% - 2 * var(--page-gutter, 1.25rem), 77.5rem); margin-inline: auto; }
.ado-offer-header { padding-block: clamp(2rem, 5vw, 4rem) clamp(2.5rem, 6vw, 5rem); color: #f8fafc; background: #102a3d; }
.ado-hero-grid { display: grid; gap: 2rem; align-items: center; }
.ado-hero-copy, .ado-service-note { min-width: 0; }
.ado-kicker { margin: 0; font: .75rem/1.6 "JetBrains Mono", monospace; letter-spacing: .08em; color: #855b2e; overflow-wrap: anywhere; }
.ado-offer-header .ado-kicker { color: #f3d79d; }
.ado-offer-header h1 { max-width: 17ch; margin: .875rem 0 1.5rem; color: #f8fafc; font-size: clamp(2.125rem, 1.25rem + 3vw, 4.25rem); line-height: 1.08; letter-spacing: -.035em; overflow-wrap: anywhere; }
.ado-hero-lead { max-width: 57ch; }
.ado-hero-lead p { margin: 0; color: #e2eaf0; font-size: clamp(1rem, .9rem + .35vw, 1.125rem); line-height: 1.75; }
.ado-hero-lead a { color: #fff; text-decoration: underline; text-underline-offset: .2em; }
.ado-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.ado-actions a { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; max-width: 100%; padding: .875rem 1.25rem; border-radius: .75rem; border: 1px solid #173d57; text-align: center; font-size: 1rem; font-weight: 650; line-height: 1.4; text-decoration: none; overflow-wrap: anywhere; }
.ado-actions a:first-child { color: #fff; background: #173d57; }
.ado-offer-header .ado-actions { margin: 1.75rem 0 0; }
.ado-offer-header .ado-actions a { width: 100%; color: #f8fafc; border-color: #718b9e; background: transparent; }
.ado-offer-header .ado-actions a:first-child { color: #142535; border-color: #e8b860; background: #e8b860; }
.ado-offer-header .ado-actions a:hover { background: #24475e; }
.ado-offer-header .ado-actions a:first-child:hover { background: #f3cc87; }
.ado-service-note { padding: clamp(1.5rem, 3vw, 2rem); border-left: 2px solid #e8b860; background: #16364b; border-radius: 0 1.25rem 1.25rem 0; }
.ado-service-note__title { margin: 1rem 0 1.5rem; color: #fff; font: 650 clamp(1.375rem, 1.15rem + 1vw, 2rem)/1.3 var(--font-heading, Manrope, sans-serif); }
.ado-service-note ul { display: grid; gap: .75rem; margin: 0; padding: 0; list-style: none; color: #d2e0eb; font-size: .9375rem; }
.ado-service-note li::before { content: "+"; margin-right: .75rem; color: #f3d79d; }
.ado-jumpbar { z-index: 50; border-block: 1px solid var(--ado-border); background: #fff; }
.ado-toc--desktop { display: none; }
.ado-toc a { display: flex; align-items: center; min-height: 44px; padding: .625rem .75rem; color: #465969; font-size: .875rem; line-height: 1.5; text-decoration: none; border-radius: .5rem; }
.ado-toc a:hover { color: #142535; background: #edf2f5; }
.ado-toc-mobile summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 56px; padding: .75rem 0; list-style: none; font-weight: 650; cursor: pointer; }
.ado-toc-mobile summary::-webkit-details-marker { display: none; }
.ado-toc-mobile summary span { font-size: 1.5rem; }
.ado-toc-mobile[open] summary span { transform: rotate(45deg); }
.ado-toc-mobile .ado-toc { display: grid; padding-bottom: .75rem; }
.ado-content { min-width: 0; }
.ado-content [id] { scroll-margin-top: var(--ado-anchor-offset); }
.ado-story-section { margin: 0; padding-block: clamp(2.75rem, 6vw, 5.5rem); border-bottom: 1px solid var(--ado-border); }
.ado-story-section--soft { background: #f1f5f7; }
.ado-story-row { display: grid; align-items: center; gap: clamp(2rem, 5vw, 4.5rem); }
.ado-story-copy { min-width: 0; }
.ado-story-copy > :first-child { margin-top: 0; }
.ado-story-copy > :last-child { margin-bottom: 0; }
.ado-story-copy h2 { max-width: 27ch; margin: 0 0 1.5rem; color: #142535; font-size: clamp(1.75rem, 1.1rem + 1.8vw, 2.5rem); line-height: 1.18; letter-spacing: -.025em; overflow-wrap: anywhere; }
.ado-story-copy h3 { margin: 1.5rem 0 .625rem; color: #142535; font-size: clamp(1.125rem, 1rem + .5vw, 1.375rem); line-height: 1.35; overflow-wrap: anywhere; }
.ado-content p, .ado-content li { font-size: clamp(1rem, .96rem + .12vw, 1.0625rem); line-height: 1.8; color: #465969; }
.ado-story-copy p { max-width: 70ch; margin: 0 0 1rem; }
.ado-story-copy ul { margin: 0 0 1.25rem; padding-left: 1.25rem; list-style: disc; }
.ado-story-copy li + li { margin-top: .625rem; }
.ado-content a { color: #173d57; text-underline-offset: .25em; overflow-wrap: anywhere; }
.ado-story-section--wstep { padding-block: clamp(1.75rem, 4vw, 3rem); }
.ado-story-section--wstep .ado-story-copy { max-width: 62rem; }
.ado-story-section--wstep p { max-width: 74ch; font-size: clamp(1.0625rem, 1rem + .35vw, 1.25rem); }
.ado-story-case { margin: 0; min-width: 0; border: 1px solid #d2dee6; border-radius: 1.25rem; overflow: hidden; background: #fff; box-shadow: 0 12px 40px #102a3d09; }
.ado-story-case__media { display: block; position: relative; padding-top: 1.75rem; background: #e6edf2; border-bottom: 1px solid #d2dee6; overflow: hidden; }
.ado-window-bar { display: flex; align-items: center; gap: .3rem; position: absolute; top: 0; left: 0; width: 100%; height: 1.75rem; padding-inline: .875rem; }
.ado-window-bar i { width: .375rem; height: .375rem; border-radius: 50%; background: #738b9b; }
.ado-story-case__media picture { display: block; width: 100%; }
.ado-story-case__media img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; object-position: top; }
.ado-story-case__caption { padding: clamp(1.25rem, 2.8vw, 2rem); }
.ado-content .ado-story-case .ado-kicker { margin: 0 0 .625rem; font: .6875rem/1.6 "JetBrains Mono", monospace; color: #855b2e; }
.ado-story-case h3 { margin: 0 0 .75rem; font-size: clamp(1.25rem, 1.1rem + .5vw, 1.625rem); line-height: 1.3; }
.ado-story-case h3 a { color: #142535; text-decoration: none; }
.ado-story-case h3 a:hover { text-decoration: underline; }
.ado-story-case p { margin: 0 0 .75rem; font-size: .9375rem; line-height: 1.75; }
.ado-story-case__link { display: inline-flex; align-items: center; gap: .75rem; min-height: 44px; font-size: .9375rem; font-weight: 650; }
.ado-story-section--proces { color: #f8fafc; background: #102a3d; border-color: #355165; }
.ado-story-section--proces .ado-story-row { display: block; }
.ado-story-section--proces .ado-story-copy h2 { color: #fff; margin-bottom: 2rem; }
.ado-steps { display: grid; gap: 1rem; }
.ado-step { padding: 1.5rem; border: 1px solid #3b586e; border-radius: .875rem; background: #16364b; }
.ado-story-section--proces .ado-step h3 { margin: 0 0 .875rem; color: #f3d79d; font-size: 1.125rem; }
.ado-story-section--proces .ado-step p { color: #d2e0eb; font-size: .9375rem; }
.ado-story-section--proces .ado-story-case { margin-top: 2rem; }
.ado-story-section--pytania .ado-story-copy { width: 100%; max-width: 58rem; margin-inline: auto; }
.ado-faq-item { border-bottom: 1px solid var(--ado-border); margin: 0; }
.ado-faq-item summary { display: grid; grid-template-columns: minmax(0, 1fr) 1.25rem; align-items: center; gap: 1rem; min-height: 64px; padding: 1.125rem .25rem; list-style: none; color: #142535; font-size: clamp(1.0625rem, 1rem + .35vw, 1.25rem); font-weight: 650; line-height: 1.45; cursor: pointer; overflow-wrap: anywhere; }
.ado-faq-item summary::-webkit-details-marker { display: none; }
.ado-faq-item summary::after { content: "+"; text-align: center; font-size: 1.5rem; font-weight: 400; }
.ado-faq-item[open] > summary::after { content: "-"; }
.ado-faq-item > :not(summary) { max-width: 72ch; margin: 0 0 1rem; padding-inline: .25rem; }
.ado-story-section--kontakt .ado-story-copy { padding: clamp(1.5rem, 4vw, 3rem); border: 1px solid #c8d7e1; border-radius: 1.25rem; background: #fff; }
.ado-content > .ado-related { width: min(100% - 2 * var(--page-gutter, 1.25rem), 77.5rem); margin-inline: auto; }
.ado-offer a:focus-visible, .ado-offer summary:focus-visible { outline: 3px solid #0b78b9; outline-offset: 4px; border-radius: .25rem; }
.ado-offer-header a:focus-visible, .ado-story-section--proces a:focus-visible { outline-color: #f3d79d; }
.ado-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 0 .75rem; padding: 0; margin: 0 0 1.5rem; list-style: none; }
.ado-breadcrumbs li { display: inline-flex; align-items: center; min-height: 44px; max-width: 100%; font-size: .875rem; overflow-wrap: anywhere; }
.ado-breadcrumbs li + li::before { content: "/"; margin-right: .75rem; color: #a8bccb; }
.ado-breadcrumbs a { display: inline-flex; align-items: center; min-height: 44px; color: #d2e0eb; }
.ado-breadcrumbs [aria-current] { font-weight: 750; color: #f3d79d; }
@media (min-width: 37.5rem) {
 .ado-offer-header .ado-actions a { width: auto; }
 .ado-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 60rem) {
 .ado-hero-grid { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 4rem; }
 .ado-jumpbar { position: sticky; top: calc(var(--ad-fixed-admin-bar, 0px) + var(--header-height, 4.75rem)); }
 .ado-toc--desktop { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .25rem; padding-block: .5rem; }
 .ado-toc--desktop p { margin: 0 .5rem 0 0; font-size: .875rem; font-weight: 700; }
 .ado-toc-mobile { display: none; }
 .ado-story-section--case .ado-story-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); }
 .ado-story-section--case:nth-child(2n + 1) .ado-story-copy { order: 2; }
 .ado-story-section--proces.ado-story-section--case .ado-story-row { display: block; }
 .ado-story-section--proces .ado-story-case { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); align-items: center; }
 .ado-story-section--proces .ado-story-case__media { border-bottom: 0; border-right: 1px solid #d2dee6; }
 .ado-story-section--realizacje:not(.ado-story-section--case) .ado-story-copy,
 .ado-story-section--wycena:not(.ado-story-section--case) .ado-story-copy { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 0 clamp(2rem, 5vw, 4.5rem); }
 .ado-story-section--realizacje:not(.ado-story-section--case) h2,
 .ado-story-section--wycena:not(.ado-story-section--case) h2 { grid-row: 1 / span 20; }
 .ado-story-section--realizacje:not(.ado-story-section--case) .ado-story-copy > :not(h2),
 .ado-story-section--wycena:not(.ado-story-section--case) .ado-story-copy > :not(h2) { grid-column: 2; }
}
@media (min-width: 75rem) { .ado-steps { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (prefers-reduced-motion: reduce) { .ado-offer { scroll-behavior: auto; } }

/* Na małym ekranie kontakt zajmuje mniej miejsca nad treścią oferty. */
@media (max-width: 48rem) {
  .ado-offer-page .adcp__launcher { height: 3.5rem; }
  .ado-offer-page .adcp__launcher-copy { min-width: 0; padding: .625rem .875rem; margin-bottom: .25rem; }
  .ado-offer-page .adcp__launcher-overline { display: none; }
  .ado-offer-page .adcp__launcher-copy strong { font-size: .875rem; }
  .ado-offer-page .adcp__mascot-wrap { width: 3rem; height: 3.5rem; border-radius: .75rem; }
  .ado-offer-page .adcp__mascot-svg { left: -.25rem; width: 3.5rem; height: 4.125rem; }
  .ado-offer-page .adcp__hint { bottom: 4.5rem; }
  .ado-offer-page .adcp__panel { bottom: 4.5rem; max-height: calc(100dvh - var(--adcp-bottom-offset) - env(safe-area-inset-bottom) - 5.25rem); }
}


.ado-service-links { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; margin-block: 1rem; font-size: .875rem; }
.ado-service-links a { display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; text-decoration: underline; text-underline-offset: .2em; }
.hero .ado-service-links { margin-top: 1.25rem; color: #f8fafc; }
.hero .ado-service-links a { color: #f8fafc; }
.adw-portfolio > .ado-service-links { width: min(100% - 2.5rem, 77.5rem); margin-inline: auto; padding-block: 1rem; }
.ado-service-links a:focus-visible { outline: 3px solid #0b78b9; outline-offset: 4px; }
.ado-related {
  --ado-related-line: var(--ad-article-line, var(--color-border, #dce4e9));
  margin-block: clamp(2rem, 4vw, 3rem);
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 1px solid var(--ado-related-line);
  border-radius: 1rem;
  background: var(--ad-article-surface, var(--color-surface, #fff));
  color: var(--ad-article-copy, var(--color-body, #465969));
  font-family: var(--font-body, Inter, sans-serif);
  min-width: 0;
}
.ado-related .ado-related__heading { margin: 0 0 1rem; color: var(--ad-article-ink, var(--color-ink, #142535)); font-size: var(--text-h3, clamp(1.375rem, 2.05vw, 1.75rem)); line-height: 1.24; font-weight: 700; }
.ado-related ul { display: grid; gap: .75rem; padding: 0; margin: 0; list-style: none; }
.ado-related li { padding-top: .75rem; margin: 0; border-top: 1px solid var(--ado-related-line); }
.ado-related .ado-related__type { display: block; color: var(--ad-article-accent-text, var(--color-accent-text, #855b2e)); font: .75rem/1.5 "JetBrains Mono", monospace; letter-spacing: .06em; }
.ado-related a { display: inline-flex; align-items: center; min-height: 44px; max-width: 100%; color: var(--ad-article-ink, var(--color-ink, #142535)); text-decoration: underline; text-underline-offset: .2em; overflow-wrap: anywhere; }
.ado-related a:focus-visible { outline: 3px solid var(--ad-article-focus, #0b78b9); outline-offset: 4px; }
.adw-case-study > .ado-related { width: min(100% - 40px, 1160px); margin-inline: auto; }

