/* Dominika Žagar — mobile system (loads last; ≤900px / ≤760px) */

/* ——— Touch: kill hover theatre ——— */
@media (hover: none), (pointer: coarse) {
  .btn:hover,
  .btn.is-hovering,
  .nav a.nav-cta:hover,
  .moment:hover,
  .expect-card:hover,
  .expect-step:hover,
  .bridge-block:hover,
  .bridge-cta:hover,
  .portfolio-card:hover,
  .story-step:hover,
  .word-card:hover,
  .for-card:hover,
  .float-tag:hover,
  .filter-btn:hover,
  .logo-cloud img:hover,
  .work-side-btn:hover {
    transform: none !important;
  }

  .btn::before,
  .nav a.nav-cta::before,
  .filter-btn::before {
    display: none;
  }

  .btn:active,
  .nav a.nav-cta:active,
  .filter-btn:active {
    transform: none;
    filter: brightness(0.96);
  }

  .btn-primary:active {
    background: var(--terracotta);
  }

  .hero-photo img,
  .shape-morph:hover,
  .shape-morph-soft:hover {
    transform: none !important;
  }
}

@media (max-width: 900px) {
  .theme-switcher {
    display: none !important;
  }

  /* ——— Header / fullscreen nav ——— */
  .menu-toggle {
    display: inline-flex !important;
    z-index: 120;
    position: relative;
  }

  .site-header .container {
    position: relative;
    z-index: 121;
  }

  .nav {
    position: fixed !important;
    inset: 0 !important;
    z-index: 110;
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
    gap: 0.15rem;
    padding: calc(var(--header-h, 4rem) + 1.5rem) 1.5rem max(2rem, env(safe-area-inset-bottom));
    background: rgba(250, 246, 240, 0.98) !important;
    border: none !important;
    transform: translateY(-105%) !important;
    opacity: 0;
    pointer-events: none;
    transition: transform 0.4s var(--ease, cubic-bezier(0.22, 1, 0.36, 1)), opacity 0.35s;
  }

  .nav.is-open {
    transform: none !important;
    opacity: 1;
    pointer-events: auto;
  }

  .nav a {
    padding: 1rem 1.1rem !important;
    font-size: 1.2rem !important;
    color: var(--ink) !important;
    border-radius: 0 !important;
  }

  .nav a:not(.nav-cta)::after {
    display: none !important;
  }

  .nav a:not(.nav-cta):hover,
  .nav a[aria-current="page"]:not(.nav-cta) {
    background: rgba(166, 3, 33, 0.08) !important;
    color: var(--ink) !important;
  }

  .nav a.nav-cta {
    margin: 1rem 0 0 !important;
    justify-content: center !important;
    width: 100%;
    max-width: none;
    min-height: 3.1rem;
    color: var(--cream) !important;
    background: var(--cta) !important;
    border: none !important;
  }

  body.nav-open {
    overflow: hidden;
    position: fixed;
    left: 0;
    right: 0;
    width: 100%;
  }

  body.nav-open .hero-immersive {
    overflow: visible !important;
  }

  body.nav-open .hero-immersive .nav.is-open,
  body.nav-open .site-header-follow .nav.is-open,
  body.nav-open .nav.is-open {
    position: fixed !important;
    inset: 0 !important;
    z-index: 220 !important;
  }

  /* Immersive hero: light chrome before past-hero */
  body.has-immersive-hero:not(.is-past-hero) .hero-immersive .site-header {
    background: transparent !important;
    box-shadow: none !important;
    border-bottom-color: rgba(248, 238, 228, 0.14);
  }

  /* Cream signature is mid-peach — force light strokes + shadow on dark hero */
  body.has-immersive-hero:not(.is-past-hero) .hero-immersive .brand-signature-img,
  body.has-immersive-hero:not(.is-past-hero) .hero-immersive .brand-on-dark {
    filter: brightness(0) invert(1) drop-shadow(0 2px 10px rgba(0, 0, 0, 0.55)) !important;
    opacity: 1 !important;
  }

  body.has-immersive-hero:not(.is-past-hero) .hero-immersive .menu-toggle {
    background: rgba(248, 238, 228, 0.22) !important;
    border: 1px solid rgba(248, 238, 228, 0.55) !important;
    color: #F8EEE4;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.28);
  }

  body.has-immersive-hero:not(.is-past-hero) .hero-immersive .menu-toggle span {
    background: #F8EEE4 !important;
  }

  body.has-immersive-hero:not(.is-past-hero) .hero-immersive .maternity-banner {
    background: rgba(20, 7, 6, 0.78) !important;
    color: #F8EEE4 !important;
  }

  /* Open nav over dark hero: keep drawer cream + dark text (already set) */
  body.has-immersive-hero:not(.is-past-hero) .hero-immersive .nav.is-open,
  body.has-immersive-hero:not(.is-past-hero) .hero-immersive .nav {
    background: rgba(250, 246, 240, 0.98) !important;
  }

  body.has-immersive-hero:not(.is-past-hero) .hero-immersive .nav a {
    color: var(--ink) !important;
  }

  /* Sticky follow header / normal subpage header: solid readable (no backdrop-filter — it flashes and traps fixed nav) */
  body.has-immersive-hero.is-past-hero .site-header-follow,
  body:not(.has-immersive-hero) .site-header {
    background: rgba(250, 246, 240, 0.96) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border-bottom: 1px solid var(--line);
    box-shadow: 0 8px 28px rgba(61, 33, 22, 0.07);
  }

  body.has-immersive-hero.is-past-hero .site-header-follow .menu-toggle,
  body:not(.has-immersive-hero) .site-header .menu-toggle,
  .site-header-follow .menu-toggle {
    background: var(--paper) !important;
    border-color: var(--line) !important;
  }

  body.has-immersive-hero.is-past-hero .site-header-follow .menu-toggle span,
  body:not(.has-immersive-hero) .site-header .menu-toggle span,
  .site-header-follow .menu-toggle span {
    background: var(--ink) !important;
  }

  /* ——— Shared one-screen chapters ——— */
  .chapter.one-screen,
  #zgodba.chapter,
  #kdo-sem.chapter,
  #povezovanje.chapter,
  #za-koga.chapter,
  #storitve-preview.chapter,
  #trenutki.chapter,
  #pricakovanja.chapter {
    min-height: 100svh !important;
    max-height: none !important;
    overflow: visible !important;
    display: flex !important;
    flex-direction: column;
    justify-content: flex-start !important;
    box-sizing: border-box;
  }

  .chapter.one-screen:not(.split-flush),
  #kdo-sem.chapter,
  #za-koga.chapter,
  #storitve-preview.chapter,
  #trenutki.chapter {
    padding-top: calc(var(--header-h, 4rem) + 0.75rem) !important;
    padding-bottom: 1.25rem !important;
  }

  .chapter.split-flush.one-screen,
  #zgodba.chapter,
  #povezovanje.chapter,
  #pricakovanja.chapter {
    padding: 0 !important;
  }

  .chapter.one-screen h2,
  #za-koga h2,
  #storitve-preview h2 {
    font-size: clamp(1.4rem, 6vw, 1.85rem) !important;
    line-height: 1.2;
  }

  .chapter.one-screen .lede,
  .chapter.one-screen .beat-soft,
  #za-koga .lede,
  #storitve-preview .lede {
    font-size: 0.9rem !important;
    line-height: 1.45 !important;
  }

  /* Stack all half-bleeds: photo first, soft bottom blend into page */
  .split-bleed {
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
    gap: 0 !important;
    flex: 1 1 auto;
  }

  .split-bleed .split-media,
  .split-bleed > button.split-media {
    order: -1 !important;
    position: relative !important;
    width: 100% !important;
    min-height: min(38svh, 16rem) !important;
    height: min(40svh, 17.5rem) !important;
    max-height: 44svh !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden;
  }

  .split-bleed .split-media > .photo-frame,
  .split-bleed .split-media > button.photo-frame,
  .split-bleed .split-media > picture,
  .split-bleed > button.split-media > picture,
  .split-bleed > button.split-media > img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
  }

  .split-bleed .split-media img,
  .split-bleed > button.split-media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  .split-bleed .split-media::after,
  .split-bleed > button.split-media::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 28%;
    z-index: 2;
    pointer-events: none;
    background: linear-gradient(to top, var(--page-bg, var(--cream)) 0%, transparent 100%);
  }

  .bg-paper .split-bleed .split-media::after,
  .bg-paper .split-bleed > button.split-media::after {
    background: linear-gradient(to top, var(--paper) 0%, transparent 100%);
  }

  .bg-cream .split-bleed .split-media::after,
  .bg-cream .split-bleed > button.split-media::after {
    background: linear-gradient(to top, var(--cream) 0%, transparent 100%);
  }

  .split-bleed .split-copy {
    order: 1 !important;
    padding: 1rem 1.15rem 1.35rem !important;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    flex: 1 1 auto;
  }

  /* ——— Hero immersive ——— */
  .hero-immersive {
    min-height: 100svh !important;
  }

  .hero-immersive .hero-stage {
    align-items: flex-end;
    padding-bottom: max(1.25rem, env(safe-area-inset-bottom));
  }

  .hero-immersive .slogan {
    font-size: clamp(2rem, 9vw, 2.6rem);
  }

  .hero-immersive .lede {
    font-size: 0.98rem;
    line-height: 1.55;
    display: block !important;
    -webkit-line-clamp: unset !important;
    overflow: visible !important;
    text-overflow: clip !important;
    max-height: none !important;
  }

  .hero-immersive .btn-row {
    flex-wrap: wrap;
    gap: 0.55rem;
  }

  /* ——— #zgodba (Uvod) ——— */
  #zgodba .split-media {
    min-height: min(42svh, 18rem) !important;
    height: min(44svh, 19rem) !important;
  }

  /* keep full uvod copy on mobile */
  #zgodba .beat-soft:nth-of-type(n + 3) {
    display: block;
  }

  /* ——— #kdo-sem: text + trust first; hide mosaic ——— */
  #kdo-sem.chapter {
    justify-content: flex-start !important;
    overflow: visible !important;
    max-height: none !important;
  }

  #kdo-sem .about-split {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.85rem !important;
    grid-template-columns: 1fr !important;
  }

  #kdo-sem .about-mosaic,
  #kdo-sem .life-mosaic,
  #kdo-sem .kdo-grid,
  #kdo-sem .who-mosaic {
    display: none !important;
  }

  #kdo-sem .eyebrow,
  #kdo-sem h2,
  #kdo-sem .pull,
  #kdo-sem .beat,
  #kdo-sem .beat-soft,
  #kdo-sem .btn-row {
    display: block !important;
    -webkit-line-clamp: unset !important;
    overflow: visible !important;
  }

  #kdo-sem .beat-soft {
    font-size: 0.88rem !important;
    line-height: 1.4 !important;
    margin: 0.45rem 0 0;
  }

  #kdo-sem .btn-row {
    display: flex !important;
    margin-top: 0.85rem;
  }

  #kdo-sem .logo-cloud {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center;
    align-items: center;
    gap: 0.75rem 1.1rem !important;
    overflow: visible !important;
    margin-top: 0.35rem;
  }

  #kdo-sem .container.reveal {
    margin-top: 1.25rem !important;
  }

  #kdo-sem .logo-cloud img {
    flex: 0 0 auto !important;
    max-height: 2.8rem !important;
    max-width: 5.5rem !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain;
    opacity: 0.85;
  }

  #kdo-sem .logo-cloud img.logo-wide {
    max-height: 2.1rem !important;
    max-width: 8rem !important;
  }

  /* ——— #povezovanje (Moj pristop): stack, top pad, no h-scroll ——— */
  #povezovanje.chapter {
    padding-top: calc(var(--header-h, 4rem) + 0.35rem) !important;
  }

  #povezovanje .split-bleed {
    min-height: calc(100svh - var(--header-h, 4rem) - 0.35rem) !important;
  }

  #povezovanje .split-media {
    min-height: min(28svh, 11.5rem) !important;
    height: min(30svh, 12.5rem) !important;
    max-height: 32svh !important;
  }

  #povezovanje .pristop-bullets,
  #povezovanje .pristop-bullet {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    overflow: visible !important;
    max-width: none !important;
    min-width: 0 !important;
    scroll-snap-type: none !important;
  }

  #povezovanje .pristop-bullets {
    gap: 0.4rem !important;
    padding-top: 0.65rem !important;
    margin: 0 !important;
  }

  #povezovanje .pristop-bullet {
    flex: none !important;
    flex-direction: row !important;
    align-items: flex-start;
    gap: 0.65rem;
    padding: 0.45rem 0.55rem;
    background: color-mix(in srgb, var(--cream) 70%, var(--paper));
    border: 1px solid var(--line);
  }

  #povezovanje .pristop-bullet p {
    margin: 0.1rem 0 0;
    font-size: 0.8rem;
    line-height: 1.35;
    color: var(--ink-soft);
  }

  #povezovanje .beat-soft {
    font-size: 0.84rem !important;
    line-height: 1.4 !important;
    display: -webkit-box;
    -webkit-line-clamp: unset !important;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  #povezovanje .btn-row {
    margin-top: 0.75rem !important;
  }

  /* ——— #za-koga: compact title cards, no h-scroll ——— */
  #za-koga.chapter {
    min-height: 100svh !important;
  }

  #za-koga .section-head {
    margin-bottom: 0.85rem !important;
  }

  #za-koga .lede {
    display: none !important;
  }

  #za-koga .for-whom,
  #za-koga .snap-row {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 0.55rem !important;
    overflow: visible !important;
    margin: 0 !important;
    padding: 0 !important;
    scroll-snap-type: none !important;
    flex-wrap: unset !important;
  }

  #za-koga .for-card {
    flex: none !important;
    min-width: 0 !important;
    max-width: none !important;
    width: auto !important;
    min-height: 0 !important;
    padding: 0.85rem 0.75rem !important;
    margin: 0 !important;
    scroll-snap-align: unset !important;
  }

  #za-koga .for-card p {
    display: none !important;
  }

  #za-koga .for-card h3 {
    font-size: 0.95rem !important;
    line-height: 1.25;
    margin: 0.25rem 0 0;
  }

  #za-koga .for-icon {
    font-size: 0.75rem;
  }

  /* ——— #storitve-preview ——— */
  #storitve-preview.chapter {
    min-height: 100svh !important;
  }

  #storitve-preview .storitve-board {
    grid-template-columns: 1fr !important;
    gap: 0.65rem !important;
  }

  #storitve-preview .storitve-card {
    padding: 0.95rem !important;
  }

  #storitve-preview .storitve-card .service-chips {
    display: none !important;
  }

  #storitve-preview .section-head {
    margin-bottom: 0.75rem;
  }

  #storitve-preview .lede {
    display: -webkit-box;
    -webkit-line-clamp: unset !important;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  /* Soft fill photo under board (decorative, not CMS-bound) */
  #storitve-preview .container {
    position: relative;
    z-index: 1;
  }

  #storitve-preview.chapter::after {
    content: "";
    display: block;
    height: min(18svh, 7.5rem);
    margin-top: 0.75rem;
    pointer-events: none;
    background:
      linear-gradient(to top, var(--paper) 0%, transparent 55%),
      linear-gradient(160deg, rgba(205, 176, 161, 0.35), rgba(232, 220, 206, 0.15));
    -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 35%, #000 70%, transparent 100%);
    mask-image: linear-gradient(to bottom, transparent 0%, #000 35%, #000 70%, transparent 100%);
  }

  /* ——— Bridge CTA ——— */
  .bridge-cta {
    display: block !important;
    padding: 1.15rem var(--pad) !important;
    min-height: auto !important;
    overflow: visible !important;
  }

  .bridge-cta .btn,
  .bridge-cta-inner .btn {
    display: inline-flex !important;
  }

  .bridge-cta-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0.85rem !important;
  }

  .bridge-cta strong {
    font-size: 1.25rem !important;
  }

  .bridge-cta span:not(.btn) {
    display: block;
    font-size: 0.88rem;
    line-height: 1.4;
  }

  /* ——— #trenutki / work-stage ——— */
  #trenutki.chapter,
  .chapter-tight:has(.work-stage-framed) {
    min-height: 100svh !important;
    padding-top: calc(var(--header-h, 4rem) + 0.35rem) !important;
    padding-bottom: 1rem !important;
    justify-content: flex-start !important;
  }

  #trenutki .moments-head {
    margin-bottom: 0.55rem !important;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 0.5rem;
  }

  #trenutki .moments-head .btn {
    display: inline-flex !important;
    padding: 0.45rem 0.85rem;
    min-height: 2.4rem;
    font-size: 0.85rem;
  }

  .work-side-btn {
    display: none !important;
  }

  .work-stage-shell {
    display: block !important;
    max-width: none !important;
    gap: 0 !important;
    grid-template-columns: 1fr !important;
  }

  .work-stage-framed .work-panel-media,
  .work-stage-home .work-panel-media,
  .work-stage-home .work-frame,
  .work-stage-framed .work-frame {
    height: min(52svh, 22rem) !important;
    max-height: min(54svh, 24rem) !important;
    min-height: 16rem !important;
    aspect-ratio: auto !important;
  }

  .work-stage-home .work-stage-photo,
  .work-stage-framed .work-stage-photo,
  .work-stage-photo {
    max-height: none !important;
    height: 100% !important;
    min-height: inherit;
    touch-action: pan-y;
  }

  .work-panel-media {
    touch-action: pan-y;
  }

  .work-caption-banner {
    padding: 0.7rem 0.85rem 0.9rem !important;
  }

  .work-caption-banner h3 {
    font-size: 1.05rem !important;
  }

  .work-caption-banner p {
    font-size: 0.82rem !important;
    display: -webkit-box;
    -webkit-line-clamp: unset !important;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .work-stage-progress {
    display: none !important;
  }

  .work-nav {
    display: none !important;
  }

  /* ——— #pricakovanja (Sodelovanje) ——— */
  #pricakovanja.chapter {
    padding-top: calc(var(--header-h, 4rem) + 0.25rem) !important;
  }

  #pricakovanja .split-bleed {
    min-height: calc(100svh - var(--header-h, 4rem) - 0.25rem) !important;
    display: flex !important;
    flex-direction: column !important;
  }

  #pricakovanja .split-copy {
    order: 0 !important;
    padding: 0.85rem 1.1rem 0.5rem !important;
  }

  #pricakovanja .split-media {
    order: 1 !important;
    min-height: min(22svh, 9rem) !important;
    height: min(24svh, 10rem) !important;
    max-height: 26svh !important;
    position: relative !important;
  }

  #pricakovanja .split-media::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 42%;
    z-index: 2;
    pointer-events: none;
    background: linear-gradient(to top, var(--cream), transparent);
  }

  #pricakovanja .expect-side-photo {
    display: none !important;
  }

  #pricakovanja .pristop-bullets,
  #pricakovanja .expect-journey {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    gap: 0.28rem !important;
    overflow: visible !important;
    margin: 0 !important;
    padding: 0.5rem 0 0 !important;
    scroll-snap-type: none !important;
  }

  #pricakovanja .pristop-bullet,
  #pricakovanja .expect-step {
    flex: none !important;
    flex-direction: row !important;
    min-width: 0 !important;
    max-width: none !important;
    width: 100% !important;
    min-height: 0 !important;
    padding: 0.35rem 0.45rem !important;
    gap: 0.5rem;
    align-items: flex-start;
    background: transparent;
    border: none;
    border-bottom: 1px solid color-mix(in srgb, var(--line) 70%, transparent);
    scroll-snap-align: unset !important;
  }

  #pricakovanja .pristop-bullet p,
  #pricakovanja .expect-step p {
    display: none !important;
  }

  #pricakovanja .pristop-bullet strong,
  #pricakovanja .expect-step strong,
  #pricakovanja .expect-step h3 {
    font-size: 0.88rem !important;
    line-height: 1.25;
  }

  #pricakovanja .pristop-bullet-num,
  #pricakovanja .expect-num {
    font-size: 0.72rem;
    min-width: 1.5rem;
  }

  #pricakovanja .lede {
    font-size: 0.85rem !important;
    margin-bottom: 0.25rem;
  }

  #pricakovanja .btn-row {
    margin-top: 0.65rem !important;
  }

  /* ——— Contact + footer ——— */
  #kontakt.chapter,
  .contact-page {
    padding-top: calc(var(--header-h, 4rem) + 1rem) !important;
    padding-bottom: 1.5rem !important;
  }

  .contact-split {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1.35rem !important;
  }

  .form-grid {
    grid-template-columns: 1fr !important;
  }

  .contact-details {
    font-size: 0.95rem;
  }

  .site-footer .footer-grid {
    grid-template-columns: 1fr !important;
    gap: 1.25rem !important;
  }

  .site-footer {
    padding-block: 1.75rem 1.25rem;
  }

  .footer-bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.45rem;
  }

  /* ——— Subpage heroes: photo above text, one screen ——— */
  .page-hero-compact {
    min-height: 100svh !important;
    height: auto !important;
    max-height: none !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column;
  }

  .page-hero-compact > .split-bleed {
    display: flex !important;
    flex-direction: column !important;
    flex: 1;
    min-height: calc(100svh - var(--header-h, 4rem)) !important;
  }

  .page-hero-compact .split-media,
  .page-hero-compact > .split-bleed > button.split-media {
    order: -1 !important;
    min-height: min(48svh, 20rem) !important;
    height: min(50svh, 22rem) !important;
    max-height: 54svh !important;
  }

  .page-hero-compact .split-copy {
    order: 1 !important;
    padding: 1.15rem 1.15rem 1.5rem !important;
    justify-content: center;
  }

  .page-hero-compact .lede {
    margin-top: 0.65rem !important;
    font-size: 0.95rem !important;
  }

  .page-hero-compact .btn-row {
    margin-top: 0.85rem;
  }

  /* ——— Dela filters ——— */
  .filters,
  .filters-center {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center;
    gap: 0.45rem !important;
    overflow: visible !important;
    margin-inline: 0 !important;
    padding-inline: 0 !important;
    scroll-snap-type: none !important;
    text-align: center;
  }

  .filter-btn,
  .filters-center .filter-btn {
    flex: 0 0 auto !important;
    color: var(--ink) !important;
    background: var(--paper) !important;
    border: 1px solid var(--line) !important;
    opacity: 1 !important;
    -webkit-text-fill-color: var(--ink);
  }

  .filter-btn.is-active,
  .filters-center .filter-btn.is-active {
    color: #fff !important;
    background: var(--cta) !important;
    border-color: var(--cta) !important;
    -webkit-text-fill-color: #fff;
  }

  /* Keep dots as mobile work-stage pager */
  .work-stage-controls {
    display: flex !important;
    justify-content: center;
    margin-top: 0.55rem;
  }

  .work-dots {
    display: flex !important;
    gap: 0.4rem;
    justify-content: center;
  }

  .work-dot {
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 0;
    border: 1px solid var(--ink-soft);
    background: transparent;
    opacity: 1;
  }

  .work-dot.is-active {
    background: var(--cta);
    border-color: var(--cta);
  }

  /* ——— O meni chapters ≈ screen ——— */
  .page-omeni .chapter.chapter-air.split-flush,
  body[data-page="o-meni"] .chapter.chapter-air.split-flush,
  .chapter.chapter-air.split-flush {
    min-height: 100svh !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column;
  }

  .chapter.chapter-air.split-flush > .split-bleed {
    flex: 1;
    min-height: calc(100svh - var(--header-h, 4rem)) !important;
  }

  .chapter.chapter-air.split-flush .split-media {
    min-height: min(36svh, 15rem) !important;
    height: min(38svh, 16rem) !important;
  }

  .chapter.chapter-air.split-flush .split-copy p {
    font-size: 0.9rem;
    line-height: 1.45;
  }

  .odrske-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 0.65rem !important;
    overflow: visible !important;
    scroll-snap-type: none !important;
  }

  .odrske-card {
    flex: none !important;
    min-width: 0 !important;
    max-width: none !important;
    width: auto !important;
  }

  .odrske-card img,
  .odrske-card button {
    width: 100%;
    aspect-ratio: 3 / 4;
    object-fit: cover;
  }

  .award-card {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .write-offers {
    grid-template-columns: 1fr !important;
  }

  /* Undo generic snap rails that fight stacked sections */
  .for-whom,
  .expect-journey,
  .pristop-bullets,
  .logo-cloud,
  .service-chips {
    scroll-snap-type: none;
  }

  .photo-band,
  .seam-gradient {
    display: none !important;
  }

  .lightbox {
    padding: 0.5rem;
  }

  .lightbox img {
    max-width: 100vw;
    max-height: calc(100svh - 5.5rem);
    border-radius: 0;
  }

  .lightbox-prev,
  .lightbox-next {
    width: 2.5rem;
    height: 2.5rem;
    bottom: max(0.75rem, env(safe-area-inset-bottom));
    top: auto;
    transform: none;
  }

  .lightbox-prev { left: 1rem; }
  .lightbox-next { right: 1rem; }
}

@media (max-width: 760px) {
  .brand-signature-img {
    height: 1.85rem;
    max-width: 9rem;
  }

  #povezovanje .beat-soft:nth-of-type(2) {
    -webkit-line-clamp: unset !important;
  }

  #za-koga .section-cta {
    margin-top: 0.5rem;
  }

  #kontakt .contact-note {
    font-size: 0.82rem;
    line-height: 1.4;
  }

  .orb {
    opacity: 0.28;
    filter: blur(2px);
  }

  .bg-alive::before {
    opacity: 0.4;
  }
}

@media (prefers-reduced-motion: reduce) {
  .nav {
    transition: none;
  }
}


/* dz-no-ellipsis-mobile */
@media (max-width: 900px) {
  .hero-immersive .lede,
  .page-hero-compact .lede,
  .lede,
  .lede.short,
  .beat-soft,
  .split-copy > p,
  .section-head .lede,
  .work-scroll-caption p,
  .portfolio-body p,
  .expect-copy p,
  .chapter p {
    -webkit-line-clamp: unset !important;
    line-clamp: unset !important;
    text-overflow: clip !important;
    overflow: visible !important;
    max-height: none !important;
  }
  /* Prefer display:block for truncated boxes; keep flex/grid parents intact */
  .hero-immersive .lede,
  .page-hero-compact .lede,
  .lede,
  .beat-soft,
  .split-copy > p {
    display: block !important;
  }
}
