/* ems-responsive-2026 — phone + iPad, no horizontal scroll, readable type */
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-behavior: smooth;
}
html,
body {
  max-width: 100%;
  overflow-x: clip;
}
*,
*::before,
*::after {
  box-sizing: border-box;
}
img,
video,
canvas,
svg,
iframe,
embed,
object,
picture {
  max-width: 100%;
  height: auto;
}
table {
  max-width: 100%;
  display: block;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
pre,
code {
  max-width: 100%;
  overflow-x: auto;
  word-break: break-word;
}
:root {
  --ems-gutter: max(1rem, env(safe-area-inset-left, 0px));
  --ems-gutter-r: max(1rem, env(safe-area-inset-right, 0px));
}

/* Touch-friendly taps */
a,
button,
[role="button"],
.btn,
.btn--bg,
summary {
  touch-action: manipulation;
}
@media (hover: none) and (pointer: coarse) {
  a,
  button,
  .btn,
  .btn--bg,
  .gp-nav a,
  .nav a {
    min-height: 44px;
  }
}

/* ——— Phone ——— */
@media (max-width: 767px) {
  body {
    overflow-x: clip;
    padding-left: env(safe-area-inset-left, 0);
    padding-right: env(safe-area-inset-right, 0);
  }

  .wrap,
  main,
  section,
  header,
  footer,
  .site-header,
  .nib-header,
  .nib-section,
  .page-head,
  .ems-bio-2026,
  .ems-panel,
  .in-hero-panel,
  .home-intro-copy,
  .prose {
    max-width: 100% !important;
    width: 100%;
  }

  .wrap,
  .nib-section,
  .ems-bio-2026.wrap,
  section.wrap {
    padding-left: var(--ems-gutter) !important;
    padding-right: var(--ems-gutter-r) !important;
  }

  .nib-header,
  .site-header,
  .gp-header,
  header.site-header {
    padding-left: max(0.85rem, env(safe-area-inset-left)) !important;
    padding-right: max(0.85rem, env(safe-area-inset-right)) !important;
  }

  /* Hero brand marks that used nowrap + huge type */
  .nib-hero-mark,
  .nib-hero-mark .logo__normal,
  .hero-letter h1,
  .kim-title,
  h1.r-title {
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: break-word;
    max-width: 100%;
    font-size: clamp(1.65rem, 9.2vw, 2.55rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.02em !important;
  }

  .nib-hero {
    min-height: 72svh !important;
    min-height: 72dvh !important;
    padding-top: max(4.5rem, env(safe-area-inset-top)) !important;
    padding-bottom: 2rem !important;
  }

  .nib-hero-sub {
    font-size: 0.68rem !important;
    letter-spacing: 0.08em !important;
    text-align: center !important;
    padding: 0 0.75rem;
    white-space: normal !important;
  }

  .nib-row,
  .home-intro-top {
    flex-direction: column !important;
    gap: 1.25rem !important;
  }

  .nib-col-5,
  .nib-col-7,
  .home-portrait,
  .home-intro-titles {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  .home-portrait img {
    width: 100%;
    max-height: 420px;
    object-fit: cover;
  }

  .nib-faq,
  .gi-grid,
  .metrics {
    grid-template-columns: 1fr !important;
  }

  /* Inline card grids (insaat / holding pages) */
  [style*="grid-template-columns:repeat(auto-fit"],
  [style*="grid-template-columns: repeat(auto-fit"] {
    grid-template-columns: 1fr !important;
  }

  .ems-bio-2026 {
    padding-top: 2rem !important;
    padding-bottom: 2.25rem !important;
  }
  .ems-bio-2026 h2 {
    font-size: clamp(1.45rem, 6.5vw, 1.9rem) !important;
  }

  /* Next .io one-pagers */
  .hero-letter {
    padding-top: 5.5rem !important;
    padding-left: 1.15rem !important;
    padding-right: 1.15rem !important;
    padding-bottom: 2rem !important;
  }
  .hero-letter h1 {
    font-size: clamp(2.15rem, 11vw, 2.85rem) !important;
  }
  .hero-letter p {
    font-size: 1.05rem !important;
    line-height: 1.65 !important;
  }

  /* Prevent fixed min widths blowing the viewport */
  .min-w-\[1120px\],
  [class*="min-w-["] {
    min-width: 0 !important;
  }

  /* Gallery / construction: single column on very small phones */
  .gi-card img,
  .ukr-hero img,
  .ukr-card img {
    height: auto !important;
    max-height: 280px;
    object-fit: cover;
    width: 100%;
  }

  /* Hyphen / defter */
  .gp-drawer,
  .gp-nav {
    max-width: 100vw;
  }
  .gp-header {
    padding-left: max(0.85rem, env(safe-area-inset-left)) !important;
    padding-right: max(0.85rem, env(safe-area-inset-right)) !important;
  }
}

/* ——— Large phone / small tablet ——— */
@media (min-width: 480px) and (max-width: 767px) {
  .gi-grid,
  .metrics {
    grid-template-columns: 1fr 1fr !important;
  }
}

/* ——— iPad / tablet (portrait + landscape under desktop nav) ——— */
@media (min-width: 768px) and (max-width: 1024px) {
  html,
  body {
    overflow-x: clip;
  }

  .wrap,
  .nib-section,
  .ems-bio-2026.wrap,
  section.wrap {
    padding-left: max(1.25rem, env(safe-area-inset-left)) !important;
    padding-right: max(1.25rem, env(safe-area-inset-right)) !important;
  }

  .nib-hero-mark {
    white-space: normal !important;
    font-size: clamp(2.2rem, 6vw, 3.8rem) !important;
    padding: 0 1rem;
    text-align: center;
  }

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

  .gi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .home-intro-top {
    display: grid !important;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: 1.5rem;
    align-items: center;
  }

  .hero-letter h1 {
    font-size: clamp(2.8rem, 6.5vw, 4.2rem) !important;
  }

  /* Keep grids from forcing 3–4 cramped columns on iPad */
  [style*="grid-template-columns:repeat(auto-fit,minmax(280px"],
  [style*="grid-template-columns:repeat(auto-fit,minmax(260px"] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* ——— Shared tablet+phone: forms & media ——— */
@media (max-width: 1024px) {
  input,
  textarea,
  select,
  button {
    font-size: 16px !important; /* iOS zoom prevention */
  }

  iframe,
  video {
    max-width: 100%;
  }

  /* Sticky headers clear notches */
  .fixed.inset-x-0.top-0,
  header.sticky,
  .nib-header {
    padding-top: env(safe-area-inset-top, 0px);
  }

  /* Long unbroken strings */
  p,
  li,
  .prose,
  .home-p,
  .home-lead {
    overflow-wrap: break-word;
    word-wrap: break-word;
  }

  /* Bio marker blocks */
  .ems-bio-2026 [style*="max-width:52rem"],
  .ems-bio-2026 {
    max-width: 100% !important;
  }
}

/* Prefer reduced motion */
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}


/* nvs-visual-search-off: hide Chrome Lens / Edge Görsel arama on photo hover */
img, picture img {
  pointer-events: none !important;
  -webkit-user-drag: none !important;
  user-select: none !important;
  -webkit-user-select: none !important;
  -webkit-touch-callout: none !important;
}
.nvs-shield {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: block;
  background: transparent;
  pointer-events: auto;
}

