/* Mobile reading and interaction refinements. Desktop art direction is unchanged. */
@media (min-width: 701px) and (max-width: 1000px) {
  #znacka .brand-object { aspect-ratio: auto; }
  #znacka .brand-copy { min-width: 0; }
  #znacka .brand-copy h3 { overflow-wrap: anywhere; }
}
@media (max-width: 860px) {
  .rv { opacity: 1 !important; transform: none !important; animation: none !important; }
  .light > section { content-visibility: visible; contain-intrinsic-size: none; }
  .hero-in, .hero-foot { grid-template-columns: minmax(0, 1fr); }
  .hero-in > *, .hero-foot > *, .hero-side { min-width: 0; max-width: 100%; }
  .hero-side .cta-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
  .hero-side .cta-row .btn { white-space: normal; padding-inline: 12px; font-size: 14px; text-align: center; }
  .outcome__grid { grid-template-columns: minmax(0, 1fr); }
  .outcome__grid > *, .brief > *, .section-heading > *, .facts > * { min-width: 0; }
  .outcome h2, .outcome p, .outcome-links a { overflow-wrap: anywhere; hyphens: auto; }
  #kontakt .field input, #kontakt .field select, #kontakt .field textarea { font-size: 16px; }
  #kontakt .field textarea { min-height: 144px; }
  html:has(dialog[open]) { overflow: hidden; }
}
@media (max-width: 700px) {
  .social-project.is-active { height: auto; min-height: 480px; }
  .social-project.is-active .social-project-detail { width: 100%; max-width: 390px; padding-inline: 24px; }
  .service-row { grid-template-columns: minmax(0, 1fr); }
  .service-scope { grid-column: 1; grid-row: 2; min-width: 0; }
  .service-work { grid-column: 1; grid-row: 3; justify-self: start; margin-top: 8px; }
  .service-toggle, .service-work { min-height: 44px; }
  .service-intro p, .service-points li { font-size: 15px; }
  .service-toggle, .service-work { font-size: 14px; }
  .price-line dt { font-size: 15px; }
  .price-line dt small, .price-details summary { font-size: 14px; }
  .project-languages { gap: 0; padding-left: 8px; }
  .project-languages a { min-width: 44px; justify-content: center; }
  .project-languages [aria-current] { min-width: 28px; text-align: center; }
  .case-nav__inner, .gb-nav-inner { gap: 8px; }
  .case-nav__back, .gb-back { min-width: 0; }
  .page-logo { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; }
  .page-logo svg { height: 22px; }
  .page-languages a, .lang a { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
  .page-languages, .lang { align-items: center; }
  #kontakt .form-action button { width: 100%; }
}
@media (max-width: 640px) {
  .sheet-wrap { margin-top: 0; }
  .sheet-sticky { padding-top: 32px; }
  .filters { gap: 16px; }
  #vizualy .filters button { min-width: 44px; min-height: 44px; font-size: 14px; }
  #vizualy .rail .frame { opacity: 1; }
  #vizualy .rail .frame .win { transform: none; }
  .feedback-hero-pair figcaption { font-size: 12px; line-height: 1.5; flex-wrap: wrap; }
}
@media (max-width: 360px) {
  .hero-side .cta-row { grid-template-columns: minmax(0, 1fr); }
  .hero-side .cta-row .btn { min-height: 46px; }
}

/* 164: tighter mobile chapters, with content-led heights and native swiping. */
@media (max-width: 700px) {
  #ai-projekty { padding-bottom: 24px; }
  .break { padding-block: 12px 24px; }
  #weby { padding-block: 28px 24px; }
  #weby .web-portals { margin-top: 20px; gap: 12px; }
  #weby .web-portal { min-height: 214px; padding: 20px; gap: 12px; }
  #weby .web-portal__sculpture { inset: 0 0 0 auto; width: 100%; height: 100%; object-fit: contain; object-position: right center; opacity: 1; mask-image: none; }
  #weby .web-portal--studio::after { background: linear-gradient(90deg,#090a0a 0%,#090a0aeb 32%,#090a0a70 52%,transparent 72%); }

  .project-panel[data-project=gymbeam]:not(.is-active) .project-panel-image { object-position: 50% 16%; }
  .project-panel[data-project=dogmama]:not(.is-active) .project-panel-image { top: 0; height: 100%; object-position: 50% 57%; }
  .project-panel[data-project=savon]:not(.is-active) .project-panel-image { object-position: 50% 52%; }
  .project-panel[data-project=savon].is-active .project-panel-image { object-position: 50% 42%; }

  #znacka { padding-block: 24px; }
  #znacka .brand-heading { margin-bottom: 20px; }
  #znacka .brand-objects { display: flex; gap: 12px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-padding-inline: 0; padding: 0 0 12px; scrollbar-width: thin; scrollbar-color: #777772 #ffffff12; }
  #znacka .brand-object { flex: 0 0 87%; min-height: 294px; scroll-snap-align: start; }
  #znacka .brand-object:hover { translate: none; }

  #socialne-siete { padding-block: 32px; min-height: calc(100svh - var(--contact-header-height,65px)); scroll-margin-top: var(--contact-header-height,65px); display: flex; flex-direction: column; }
  #socialne-siete .social-wrap { width: 100%; flex: 1; display: flex; flex-direction: column; }
  .social-heading p { margin-top: 10px; line-height: 1.45; }
  .social-services { margin-block: 12px; gap: 4px 14px; }
  .social-projects { gap: 10px; flex: 1; }
  .social-project.is-active { min-height: 0; height: auto; flex: 1 0 auto; display: flex; flex-direction: column; }
  .social-project.is-active .social-project-toggle { height: 68px; }
  .social-project-identity, .social-project:not(.is-active) .social-project-identity { top: 12px; left: 16px; gap: 9px; }
  .social-project-identity img { width: 30px; height: 30px; }
  .social-project-identity strong { font-size: 16px; }
  .social-project-identity small { margin-top: 3px; font-size: 9px; }
  .social-project.is-active .social-project-detail { margin-top: 70px; padding: 12px 16px 22px; max-width: none; flex: 1; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }
  .social-project-detail h3 { font-size: 22px; margin-bottom: 10px; }
  .social-project-detail p { margin-bottom: 12px; font-size: 14px; line-height: 1.45; }
  .social-project-result { display: none; }
  .social-project-link { min-height: 44px; padding-block: 10px; }
  .social-project:not(.is-active) { height: 90px; }
  .social-project:not(.is-active) .social-project-identity small { display: none; }
  .social-project-teaser { left: 16px; bottom: 10px; right: 62px; font-size: 12px; line-height: 1.35; }
  .social-project:not(.is-active) .social-project-plus { right: 14px; bottom: 25px; width: 36px; height: 36px; }
  #sluzby .service-work { display: none; }
  #sluzby { padding-top: 44px; }

  #kontakt { padding-block: 32px 24px; min-height: calc(100svh - var(--contact-header-height,62px) - var(--contact-footer-height,65px)); display: grid; align-content: stretch; }
  #kontakt .close-grid { gap: 26px; grid-template-rows: auto minmax(min-content,1fr); }
  #kontakt .close-grid > div:first-child { display: grid; grid-template-columns: minmax(0,1fr) auto; column-gap: 8px; row-gap: 14px; align-items: start; }
  #kontakt h2 { grid-column: 1; grid-row: 1; font-size: clamp(30px,8.8vw,38px); margin: 0; text-wrap: initial; }
  html[lang^="de"] #kontakt h2 { font-size: clamp(26px,7.8vw,34px); }
  #kontakt h2 br { display: initial; }
  #kontakt .contact-socials { grid-column: 2; grid-row: 1; margin: 0; gap: 0; flex-wrap: nowrap; }
  #kontakt .close-grid > div:first-child > p { grid-column: 1/-1; margin: 0; font-size: 14px; }
  #kontakt .big-mail { grid-column: 1/-1; justify-self: start; margin: 0; padding-bottom: 3px; font-size: 23px; }
  #kontakt form { display: flex; flex-direction: column; justify-content: space-between; align-self: stretch; gap: 18px; }
  #kontakt .f-row { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; align-items: end; }
  #kontakt .field label { font-size: 13px; margin-bottom: 5px; line-height: 1.35; }
  #kontakt .field input, #kontakt .field select { min-height: 44px; padding: 10px; width: 100%; }
  #kontakt .field textarea { height: clamp(80px,12svh,112px); min-height: 80px; padding: 10px; }
  #kontakt .form-action { margin: 0; gap: 8px; }
  #kontakt .f-send { justify-content: center; min-height: 44px; padding: 11px 16px; }
  #kontakt .reply-note { font-size: 12px; }
  #kontakt #form-status[data-state="idle"], #kontakt #form-fallback, #kontakt .form-privacy { display: none; }
  footer.site-footer { padding-block: 10px; }
  .site-footer .label { font-size: 10px; }
  .site-footer .footer-logo { width: 70px; }
}
@media (max-width: 360px) {
  #kontakt .f-row:nth-of-type(2) { grid-template-columns: minmax(0,1fr); }
}

.brand-swipe-hint{display:none}
@media(max-width:700px){.brand-swipe-hint{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin:8px 0 0;color:#b5b4af;font-size:12px;line-height:1.5}.brand-swipe-hint svg{flex:none}}
