/* Układ telefonów i małych tabletów. */
@media (max-width: 900px) {
  .site-nav { position: absolute; top: 76px; bottom: auto; left: 0; right: 0; height: calc(100dvh - 76px); justify-content: flex-start; align-items: stretch; overflow-y: auto; padding: 28px; }
  .admin-bar .site-nav { height: calc(100dvh - 122px); }
}
@media (max-width: 760px) {
  :root { --shell: calc(100% - 40px); }
  html { scroll-padding-top: 90px; }
  body { font-size: 16px; }
  .shell { width: var(--shell); }
  .header-inner { height: 68px; }
  .brand-word { font-size: 27px; }
  .brand-studio { font-size: 8px; }
  .nav-toggle { width: 48px; height: 48px; }
  .site-nav { top: 68px; height: calc(100dvh - 68px); max-height: calc(100dvh - 68px); overflow-y: auto; padding: 20px; gap: 4px; }
  .admin-bar .site-nav { height: calc(100dvh - 114px); }
  .site-nav > a:not(.nav-contact) { min-height: 52px; padding: 10px 0; font-size: 28px; }
  .site-nav .nav-contact { min-height: 52px; font-size: 15px; }
  a, button, summary { -webkit-tap-highlight-color: rgba(223,31,45,.18); }
  .button { min-height: 52px; font-size: 14px; padding: 15px 18px; }
  .text-link { min-height: 44px; font-size: 14px; line-height: 1.5; }
  .section { padding: 64px 0; }
  .eyebrow { font-size: 10px; line-height: 1.6; letter-spacing: .12em; margin-bottom: 18px; }
  .section-heading h2, #realizacje .section-heading h2, .faq-intro h2, .contact-copy h2 {
    font-size: clamp(32px, 9vw, 44px); line-height: 1.08; letter-spacing: -.035em;
  }
  .split-heading, .pricing-heading, .services-heading { gap: 22px; margin-bottom: 30px; }
  .heading-aside, .heading-aside p, .section-heading > p { font-size: 15px; line-height: 1.75; }
  .hero { padding-top: 108px; padding-bottom: 28px; }
  .hero-grid { gap: 0; }
  .hero h1 { font-size: clamp(42px, 11.7vw, 58px); line-height: .99; letter-spacing: -.055em; }
  .hero h1 em { display: block; margin-top: 8px; }
  .hero-lead { margin-top: 24px; font-size: 16px; line-height: 1.75; }
  .hero-actions { flex-direction: column; align-items: stretch; gap: 8px; margin-top: 24px; }
  .hero-actions .button { justify-content: space-between; width: 100%; font-size: 15px; }
  .hero-actions .text-link { align-self: flex-start; display: inline-flex; align-items: center; gap: 24px; }
  .hero-profile-card { grid-template-columns: 44px minmax(0,1fr); gap: 12px; padding: 16px; margin-top: 20px; }
  .hero-profile-card img { width: 44px; height: 44px; }
  .hero-profile-card strong { font-size: 18px; }
  .hero-profile-card small { font-size: 12px; line-height: 1.6; }
  .hero-profile-card > b { grid-column: 2; font-size: 12px; padding-top: 2px; }
  .hero-highlights { margin-top: 20px; }
  .hero-highlights > div, .hero-highlights > div:not(:first-child) { flex-direction: column; align-items: flex-start; gap: 7px; padding: 12px 8px; }
  .hero-highlights b { font-size: 12px; }
  .hero-highlights span { font-size: 11px; line-height: 1.5; }
  .hero-parish-scene { min-height: 340px; height: 340px; margin: 24px 0 0; padding: 0; }
  .parish-scene-frame { inset: 0 0 20px; }
  .parish-scene-copy { left: 22px; bottom: 26px; }
  .parish-scene-copy small { font-size: 9px; }
  .parish-scene-copy strong { font-size: 30px; }
  .parish-scene-badge { top: 22px; left: 0; padding: 12px 16px; }
  .parish-scene-badge small { font-size: 8px; }
  .parish-scene-badge strong { font-size: 16px; }
  .parish-scene-note { display: none; }
  .hero-bottom { margin-top: 22px; }
  .hero-bottom > p { font-size: 12px; }
  .hero-bottom > div { font-size: 12px; line-height: 1.6; }
  .about-panel-clean { grid-template-columns: 1fr; }
  .about-portrait { min-height: 0; height: 360px; }
  .about-story { padding: 28px 22px; }
  .about-kicker { font-size: 12px; }
  .about-lead { font-size: 21px; line-height: 1.5; }
  .about-text p { font-size: 15px; line-height: 1.75; }
  .about-facts-inline { grid-template-columns: 1fr; gap: 18px; }
  .about-facts-inline > div { padding: 0; border: 0; }
  .about-facts-inline strong { font-size: 27px; }
  .about-facts-inline span, .about-person span { font-size: 12px; line-height: 1.6; }
  .features-compact-grid.services-list { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0; }
  .feature-mini { min-height: 0; padding: 20px 14px; }
  .feature-mini > div { font-size: 10px; }
  .feature-mini h3 { font-size: 19px; line-height: 1.2; margin-top: 14px; }
  .feature-mini p { font-size: 13px; line-height: 1.6; }
  .bundle-note { padding: 20px; }
  .bundle-note p, .bundle-note span { font-size: 14px; line-height: 1.6; }
  .price-grid-three { gap: 18px; }
  .price-grid-three .price-card, .price-grid-three .price-featured { min-height: 0; padding: 28px 22px; text-align: left; }
  .price-grid-three .price-featured { padding-top: 64px; }
  .price-top { align-items: flex-start; text-align: left; }
  .price-top p { font-size: 30px; }
  .price-top span { font-size: 11px; }
  .price { justify-content: flex-start; }
  .price strong { font-size: 52px; }
  .price small, .price > span { font-size: 13px; }
  .price-description, .price-grid-three .price-description { font-size: 15px; line-height: 1.7; min-height: 0; }
  .price-grid-three .price-fit { min-height: 0; padding: 14px; text-align: left; font-size: 13px; line-height: 1.6; }
  .price-fit span { font-size: 10px; }
  .price-card li, .care-option li { font-size: 14px; line-height: 1.65; }
  .price-card .button, .care-option .button { width: 100%; min-height: 52px; font-size: 14px; }
  .mobile-package-details { margin: 20px 0; border-block: 1px solid rgba(100,100,100,.25); }
  .mobile-package-details summary { display: flex; align-items: center; justify-content: space-between; min-height: 52px; cursor: pointer; font-size: 14px; font-weight: 700; list-style: none; }
  .mobile-package-details summary::-webkit-details-marker { display: none; }
  .mobile-package-details summary::after { content: '+'; font-size: 24px; font-weight: 400; }
  .mobile-package-details[open] summary::after { content: '−'; }
  .price-grid-three .mobile-package-details ul, .care-option .mobile-package-details ul { min-height: 0; margin: 0 0 18px; }
  .care-plans { grid-template-columns: 1fr; margin-top: 32px; gap: 18px; }
  .care-heading { padding: 24px 22px; grid-template-columns: 1fr; gap: 14px; }
  .care-heading h3 { font-size: 29px; }
  .care-heading p { font-size: 14px; line-height: 1.7; }
  .care-option { min-height: 0; padding: 28px 22px; }
  .care-card-head { min-height: 0; }
  .care-card-head h4 { font-size: 28px; }
  .care-card-head small { font-size: 12px; }
  .care-for { min-height: 0; font-size: 14px; line-height: 1.6; }
  .care-option > .care-price { grid-template-columns: 1fr 1fr; }
  .care-price-regular > span, .care-price-offer > span { font-size: 10px; letter-spacing: .02em; }
  .care-price strong span { font-size: 11px; }
  .care-price mark { grid-column: 1/-1; font-size: 10px; }
  .care-option .care-cta { position: static; margin-top: 18px; width: 100%; }
  .featured-case { display: flex; flex-direction: column; min-height: 0; }
  .featured-case-copy { padding: 26px 22px; }
  .featured-case-copy > p { font-size: 10px; }
  .featured-case-copy h3 { font-size: 30px; line-height: 1.15; }
  .featured-case-copy > span { font-size: 15px; line-height: 1.75; }
  .featured-case-facts b { font-size: 12px; line-height: 1.6; }
  .featured-case-device { min-height: 260px; }
  .featured-package { font-size: 10px; }
  .portfolio-laptop { width: 85%; margin-top: 24px; }
  .portfolio-laptop-lid { transform: none; opacity: 1; }
  .process-timeline-viewport { overflow: visible; padding: 0; }
  .process-grid.process-grid-seven { display: grid; grid-template-columns: minmax(0,1fr); grid-template-rows: none; grid-auto-rows: auto; width: 100%; min-width: 0; gap: 14px; padding: 0; }
  .process-grid-seven::before, .process-timeline-label, .process-dot, .process-top::after { display: none!important; }
  .process-grid-seven .process-card, .process-grid-seven .process-card:nth-child(n+5), .process-grid-seven .process-card:last-child, .process-grid-seven .process-card:nth-of-type(even) { grid-column: auto; grid-row: auto; width: auto; min-height: 0!important; margin: 0; padding: 24px; }
  .process-top { margin-bottom: 18px; }
  .process-top > span { font-size: 22px; }
  .process-top em { font-size: 10px; }
  .process-grid-seven .process-card h3 { font-size: 26px; margin: 0 0 14px; }
  .process-card p { min-height: 0; font-size: 15px; line-height: 1.7; }
  .process-card ul { margin-top: 18px; padding-top: 16px; }
  .process-card li { font-size: 13px; line-height: 1.7; }
  .faq-grid { gap: 24px; }
  .faq-intro p, .faq-list details p { font-size: 15px; line-height: 1.75; }
  .faq-list summary { min-height: 56px; padding-block: 20px; font-size: 20px; line-height: 1.3; }
  .contact-grid { gap: 28px; }
  .contact-copy > p:not(.eyebrow) { font-size: 16px; line-height: 1.75; }
  .contact-assurances strong { font-size: 16px; }
  .contact-assurances small { font-size: 13px; line-height: 1.6; }
  .contact-method { min-height: 76px; }
  .contact-method strong { font-size: 16px; overflow-wrap: anywhere; }
  .contact-method small { font-size: 11px; }
  .contact-panel { margin: 0; padding: 26px 20px; }
  .contact-form-head h3 { font-size: 30px; }
  .contact-form-head p { font-size: 14px; line-height: 1.7; }
  .contact-form-head small { font-size: 10px; }
  .inquiry-choice legend, .form-step-label { font-size: 12px; letter-spacing: .03em; line-height: 1.5; }
  .inquiry-choice-grid { grid-template-columns: 1fr; gap: 10px; }
  .contact-form .inquiry-option > span { min-height: 104px; padding: 16px; }
  .inquiry-option > span > i { font-size: 11px; }
  .inquiry-option > span > b { font-size: 21px; }
  .inquiry-option > span > small { font-size: 12px; }
  .inquiry-option > span > em { font-size: 9px; }
  .contact-form label { font-size: 12px; line-height: 1.6; }
  .contact-form label small { font-size: 11px; }
  .contact-form input, .contact-form textarea, .contact-form select { font-size: 16px; min-height: 48px; border-radius: 0; }
  .contact-form textarea { min-height: 160px; }
  .contact-package-grid, .form-row { grid-template-columns: 1fr; }
  .contact-package-help, .form-submit p { font-size: 12px; line-height: 1.7; }
  .form-submit .button { font-size: 15px; }
  .footer-main.footer-main-compact { grid-template-columns: 1fr; gap: 28px; }
  .footer-main-compact .footer-intro > p { font-size: 15px; line-height: 1.7; }
  .footer-label { font-size: 11px; }
  .footer-links a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; }
  .footer-signature, .footer-main-compact .footer-signature, .footer-contact-compact > span, .footer-bottom { font-size: 12px; line-height: 1.7; }
  .footer-bottom a { min-height: 44px; display: inline-flex; align-items: center; }
  .about-panel.about-panel-clean .about-story { padding: 28px 22px; }
  .about-panel-clean .about-story > p.about-lead { font-size: 21px; line-height: 1.5; }
  .about-panel-clean .about-text p { font-size: 15px; line-height: 1.75; }
  .about-panel-clean .about-person span { font-size: 12px; }
  .about-facts-inline > div, .about-facts-inline > div:first-child, .about-facts-inline > div:last-child { padding: 0; border: 0; }
  .about-facts-inline span { font-size: 12px; letter-spacing: .02em; text-transform: none; }
  .price-grid-three .price-top { align-items: flex-start; text-align: left; }
  .price-grid-three .price-top p { font-size: 30px; }
  .price-grid-three .price-top > span { font-size: 11px; }
  .bundle-note > p { font-size: 14px; line-height: 1.7; }
  .process-grid-seven .process-card > p { font-size: 15px; line-height: 1.7; }
  .process-grid-seven .process-card li { font-size: 13px; line-height: 1.7; }
  .skip-link:not(:focus) { clip-path: inset(50%); width: 1px; height: 1px; padding: 0; overflow: hidden; }
}
@media (max-width: 359px) {
  :root { --shell: calc(100% - 32px); }
  .hero h1 { font-size: 40px; }
  .feature-mini { padding: 18px 10px; }
  .feature-mini h3 { font-size: 17px; }
  .care-option > .care-price { grid-template-columns: 1fr; }
}
