/* KOPASH v48 — unified navigation and designers transition */
.site-header { height: 72px; }

.desktop-nav {
  gap: clamp(20px, 2.7vw, 42px);
  align-items: center;
}

.desktop-nav a,
.mobile-nav a {
  font-size: 12px;
}

/* V48 — optically aligned with the KOPASH.viz navigation */
.desktop-nav a {
  font-size: 11px;
}

.desktop-nav.has-designers-link a[href^="/client"] {
  margin-left: 0;
  padding-left: 0;
  border-left: 0;
}

.desktop-nav a[data-designers-link] {
  min-height: 44px;
  margin-left: 2px;
  padding: 0 0 0 20px;
  border-left: 1px solid currentColor;
  display: inline-flex;
  align-items: center;
  opacity: .58;
}

.desktop-nav a[data-designers-link]::after {
  display: none;
}

.desktop-nav a[data-designers-link]:hover,
.desktop-nav a[data-designers-link]:focus-visible,
.desktop-nav a[data-designers-link][aria-current="page"] {
  opacity: 1;
  color: inherit;
  background: transparent;
}

.mobile-nav.has-designers-link a[href^="/client"] {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

.mobile-nav a[data-designers-link] {
  margin-top: 10px;
  padding-top: 18px;
  border-top: 1px solid currentColor;
}

.footer-nav a[data-designers-link] {
  opacity: .82;
}

html.kopash-leaving-for-designers .brand-loader,
html.kopash-leaving-for-designers .page-curtain,
html.kopash-leaving-for-designers .site-progress {
  display: none !important;
  animation: none !important;
  transition: none !important;
}

.designers-coming-page {
  min-height: 100svh;
  color: var(--paper);
  background: radial-gradient(circle at 82% 32%, rgba(190, 255, 48, .11), transparent 25%), var(--ink);
}

.designers-coming-page .site-header {
  position: absolute;
}

.designers-coming-hero {
  min-height: calc(100svh - 126px);
  padding: clamp(180px, 23vh, 240px) 48px 100px;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
  gap: 9vw;
  align-items: end;
}

.designers-coming-copy .eyebrow {
  color: rgba(233, 233, 231, .48);
}

.designers-coming-copy h1 {
  max-width: 920px;
  margin: 0;
  font-size: clamp(70px, 9vw, 138px);
  font-weight: 540;
  line-height: .86;
  letter-spacing: -.07em;
}

.designers-coming-copy > p:last-of-type {
  max-width: 670px;
  margin: 42px 0 0;
  color: rgba(233, 233, 231, .68);
  font-size: 16px;
  line-height: 1.7;
}

.designers-coming-actions {
  margin-top: 42px;
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.designers-coming-actions a {
  min-height: 52px;
  padding: 0 22px;
  border: 1px solid rgba(233, 233, 231, .35);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.designers-coming-actions a:first-child {
  color: var(--ink);
  border-color: #c5ff28;
  background: #c5ff28;
  box-shadow: 0 0 24px rgba(197, 255, 40, .18);
}

.designers-coming-mark {
  width: min(360px, 32vw);
  aspect-ratio: 1;
  margin: 0 auto;
  border: 1px solid rgba(197, 255, 40, .62);
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: #0f120f;
  box-shadow: 0 0 28px rgba(197, 255, 40, .34), 0 0 100px rgba(197, 255, 40, .10);
}

.designers-coming-mark strong {
  font-size: clamp(30px, 4vw, 54px);
  font-weight: 760;
  letter-spacing: -.065em;
}

.designers-coming-mark strong span {
  color: #c5ff28;
}

.designers-coming-mark small {
  margin-top: 10px;
  color: #c5ff28;
  font-size: clamp(12px, 1.5vw, 18px);
  letter-spacing: .12em;
}

.designers-coming-footer {
  min-height: 126px;
  padding: 34px 48px;
  border-top: 1px solid var(--line-light);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  color: rgba(233, 233, 231, .58);
  font-size: 10px;
}

.designers-coming-footer a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}

@media (width <= 1100px) {
  .site-header { left: 30px; right: 30px; }
  .desktop-nav { gap: 18px; }
  .desktop-nav a[data-designers-link] { padding-left: 16px; }
}

@media (width <= 900px) {
  .site-header { left: 20px; right: 20px; height: 66px; }
  .mobile-nav a { min-height: 44px; font-size: 13px; }
  .designers-coming-hero { min-height: auto; padding: 140px 20px 86px; grid-template-columns: 1fr; gap: 68px; }
  .designers-coming-copy h1 { font-size: clamp(58px, 18vw, 92px); }
  .designers-coming-copy > p:last-of-type { margin-top: 32px; font-size: 15px; }
  .designers-coming-actions { flex-direction: column; }
  .designers-coming-actions a { width: 100%; }
  .designers-coming-mark { width: min(74vw, 330px); }
  .designers-coming-footer { padding: 30px 20px; align-items: flex-start; flex-direction: column; }
}

/* KOPASH V73: shared mobile gutters and intrinsic-size fixes. */
@media (max-width: 900px) {
  :root {
    --kopash-mobile-gutter: clamp(18px, 5.5vw, 28px);
    --kopash-mobile-left: max(var(--kopash-mobile-gutter), env(safe-area-inset-left, 0px));
    --kopash-mobile-right: max(var(--kopash-mobile-gutter), env(safe-area-inset-right, 0px));
  }
  .hero[aria-labelledby] .hero-copy {
    left: var(--kopash-mobile-left);
    right: var(--kopash-mobile-right);
    width: auto;
    max-width: none;
    min-width: 0;
    box-sizing: border-box;
    margin-inline: 0;
  }
  .hero-copy > *, .hero-actions, .hero-actions > * {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
  }
  .hero[aria-labelledby] .hero-actions {
    width: 100%;
    flex-wrap: wrap;
    justify-content: flex-start;
    margin-left: 0;
    margin-right: 0;
  }
  .hero[aria-labelledby] h1 {
    max-width: 100%;
    overflow-wrap: anywhere;
  }
  .hero-lead { max-width: 100%; }
  .hero[aria-labelledby] > .hero-project-name {
    right: var(--kopash-mobile-right);
    max-width: calc(100% - var(--kopash-mobile-left) - var(--kopash-mobile-right));
    overflow-wrap: anywhere;
    text-align: right;
  }
  .hero[aria-labelledby] > .scroll-cue {
    left: var(--kopash-mobile-left);
    max-width: calc(100% - var(--kopash-mobile-left) - var(--kopash-mobile-right));
    overflow-wrap: anywhere;
  }
  .site-header:not(.is-solid):not(.is-scrolled) {
    left: var(--kopash-mobile-left);
    right: var(--kopash-mobile-right);
    padding-inline: 0;
  }
  .site-header.is-solid,
  .site-header.is-overlay.is-scrolled {
    left: 0;
    right: 0;
    padding-left: var(--kopash-mobile-left);
    padding-right: var(--kopash-mobile-right);
    box-sizing: border-box;
  }
  .site-header .desktop-nav { display: none; }
  .site-header .menu-toggle { display: block; min-height: 44px; }
  .site-header:not(.is-solid):not(.is-scrolled) .mobile-nav,
  .site-header.is-solid .mobile-nav,
  .site-header.is-overlay.is-scrolled .mobile-nav {
    position: fixed;
    top: 66px;
    left: 0;
    right: 0;
    max-width: none;
    box-sizing: border-box;
    max-height: calc(100svh - 66px);
    overflow-y: auto;
    padding-left: var(--kopash-mobile-left);
    padding-right: var(--kopash-mobile-right);
  }
  .site-header.is-solid .mobile-nav,
  .site-header.is-overlay.is-scrolled .mobile-nav { left: 0; right: 0; }
  .site-header.is-overlay.is-scrolled .mobile-nav {
    top: 64px;
    max-height: calc(100svh - 64px);
  }
  .page-hero:not(.growth-v60-lite-hero), .projects-section,
  .services-section, .services-page-section, .projects-page-grid,
  .metrics-section, .process-section, .fit-section, .contact-section,
  .contacts-hero, .about-editorial-copy, .about-manifesto,
  .about-founders-photo, .about-awards, .values-section,
  .studio-section-photo, .principle-copy, .work-format-section,
  .project-intro, .project-decisions, .project-gallery-section,
  .progress-gallery-section, .plan-comparison, .next-project,
  .city-v63-intro, .city-v61-portfolio, .service-process,
  .project-calculator, .faq-section, .seo-v57-section,
  .growth-v60-section, .lite-v67-copy, .award-feature,
  .seo-city-intro, .seo-city-process, .seo-city-projects, .seo-city-faq,
  .legal-page, .service-detail-copy, footer {
    padding-left: var(--kopash-mobile-left);
    padding-right: var(--kopash-mobile-right);
    box-sizing: border-box;
    min-width: 0;
  }
  .section-heading, .package-grid, .project-grid,
  .projects-page-grid, .fit-heading, .fit-grid,
  .contacts-hero, .contact-section, .about-manifesto,
  .about-editorial-hero, .work-format-section,
  .project-calculator, .faq-section,
  .project-intro, .project-decisions, .service-process {
    grid-template-columns: minmax(0, 1fr);
  }
  .section-heading > *, .package-grid > *, .project-grid > *,
  .fit-grid > *, .contact-section > *, .contacts-hero > *,
  .lead-fields > *, .lead-submit-row > *, .contact-links > *,
  .about-manifesto > *, .work-format-section > *,
  .project-intro > *, .project-decisions > *,
  .service-accordion-item summary > *, .service-accordion-body > *,
  .growth-v60-grid > *, .city-v61-grid > *, footer > * {
    min-width: 0;
    max-width: 100%;
  }
  .package-card { min-width: 0; max-width: 100%; box-sizing: border-box; }
  .button, .growth-v60-action, .growth-v60-package-link {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
    white-space: normal;
    overflow-wrap: anywhere;
    text-align: center;
  }
  .text-link, .contact-links a, .footer-nav a, .footer-socials a,
  .footer-legal, .footer-legal a, .legal-copy, .legal-copy a,
  .service-accordion-name, .service-accordion-meta,
  .package-actions, .package-actions > *, .calc-total,
  .legal-page, .legal-page a, .legal-table > * {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
  }
  .contact-links, .lead-fields, .lead-submit-row {
    min-width: 0;
    max-width: 100%;
    grid-template-columns: minmax(0, 1fr);
  }
  .lead-form, .lead-form label, .lead-form input,
  .lead-form select, .lead-form textarea {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
  }
  .lead-form input, .lead-form select, .lead-form textarea { font-size: 16px; }
  .project-detail-title {
    left: var(--kopash-mobile-left);
    right: var(--kopash-mobile-right);
    min-width: 0;
  }
  .project-meta { flex-wrap: wrap; min-width: 0; }
  .growth-v60-lite-hero .lite-v67-copy,
  .lite-v67-gallery .lite-v67-gallery-bottom {
    padding-left: var(--kopash-mobile-left);
    padding-right: var(--kopash-mobile-right);
    min-width: 0;
  }
  .lite-v67-gallery-bottom > div { min-width: 0; }
  .lite-v67-gallery-bottom p, .lite-v67-gallery-bottom small { overflow-wrap: anywhere; }
  footer { grid-template-columns: minmax(0, 1fr); }
  .cookie-notice {
    left: var(--kopash-mobile-left);
    right: var(--kopash-mobile-right);
    width: auto;
    max-width: none;
    min-width: 0;
  }
  .cookie-notice > *, .cookie-notice-actions > * { min-width: 0; }
  .cookie-notice-actions { flex-wrap: wrap; }
  body.cro-v58-public .cro-v58-dock {
    left: var(--kopash-mobile-left);
    right: var(--kopash-mobile-right);
    width: auto;
    max-width: none;
    min-width: 0;
    box-sizing: border-box;
  }
  .cro-v58-dock > a { min-width: 0; overflow-wrap: anywhere; }
  .legal-table { min-width: 0; max-width: 100%; overflow-x: auto; }
}
@media (min-width: 901px) and (max-width: 1100px) {
  .section-heading {
    grid-template-columns: minmax(0, .65fr) minmax(0, 1.35fr);
  }
  .section-heading > p:last-child { grid-column: 2; min-width: 0; max-width: 100%; }
  .contact-section, .contacts-hero {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
  .contact-section > *, .contacts-hero > *, .lead-form,
  .lead-form label, .lead-fields > *, .lead-submit-row > * {
    min-width: 0;
    max-width: 100%;
  }
  .lead-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lead-form input:not([type="checkbox"]), .lead-form select, .lead-form textarea {
    min-width: 0;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    font-size: 16px;
  }
  .contact-links a, .contact-direct a {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
  }
}
@media (max-width: 540px) {
  .hero[aria-labelledby] .hero-actions {
    flex-direction: column;
    align-items: stretch;
    gap: 18px;
  }
  .hero[aria-labelledby] .hero-actions .button {
    width: 100%;
    min-height: 52px;
    height: auto;
    padding: 15px 16px;
    margin-left: 0;
    margin-right: 0;
  }
  .hero[aria-labelledby] h1 { font-size: clamp(32px, 10.3vw, 54px); line-height: 1.04; }
  .hero[aria-labelledby] .hero-lead { font-size: 14px; line-height: 1.65; }
  .hero[aria-labelledby] .hero-actions .text-link { align-self: flex-start; }
  .hero[aria-labelledby="hero-title"] > .hero-project-name { bottom: 56px; }
  .hero[aria-labelledby="hero-title"] > .scroll-cue { bottom: 26px; }
  .city-v63-hero[aria-labelledby] > .hero-project-name {
    left: auto;
    right: var(--kopash-mobile-right);
    bottom: 26px;
  }
  .city-v63-hero[aria-labelledby] .hero-switcher { left: var(--kopash-mobile-left); }
  .section-heading h2, .principle-copy h2, .process-intro h2,
  .work-format-section h2, .contact-section h2 {
    max-width: 100%;
    font-size: clamp(30px, 9vw, 44px);
    overflow-wrap: anywhere;
  }
  .package-card { padding-left: 22px; padding-right: 22px; }
  .contacts-hero .contact-links { grid-template-columns: minmax(0, 1fr); }
  .service-accordion-item summary { flex-wrap: wrap; }
  .metrics-grid { grid-template-columns: minmax(0, 1fr); }
  .metric-card { min-width: 0; }
  .metric-card p { max-width: 100%; overflow-wrap: anywhere; }
  .package-actions { flex-wrap: wrap; }
  .package-actions .button { width: 100%; height: auto; min-height: 52px; padding: 15px 16px; }
  .footer-socials { min-width: 0; flex-wrap: wrap; }
  body.cro-v58-public .cro-v58-dock .cro-v58-dock-telegram {
    white-space: normal;
    line-height: 1.4;
    min-width: 0;
    padding-left: 10px;
    padding-right: 10px;
  }
}

/* KOPASH V74: text bounds and scrollable mobile menu. */
@media (max-width: 900px) {
  .about-editorial-copy h1 {
    font-size: clamp(28px, 9vw, 72px);
    line-height: 1.06;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  .about-founders-photo article {
    grid-template-columns: minmax(0, 1fr);
    min-width: 0;
    max-width: 100%;
  }
  .about-founders-photo article > div,
  .about-founders-photo article > figure {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
  }
  .about-founders-photo article > div {
    padding-left: var(--kopash-mobile-left);
    padding-right: var(--kopash-mobile-right);
  }
  .about-founders-photo h2 {
    font-size: clamp(24px, 7.2vw, 46px);
    line-height: 1.08;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  .about-founders-photo article > div > p,
  .about-founders-photo article > div > a {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
  }
  main h1, main h2, main h3 {
    overflow-wrap: anywhere;
  }
  .package-card h3 {
    font-size: clamp(28px, 8.4vw, 40px);
    white-space: normal;
    overflow-wrap: anywhere;
    max-width: 100%;
  }
  body.mobile-menu-open:not(.modal-open),
  body.menu-open:not(.modal-open) {
    overflow-x: clip;
    overflow-y: visible;
  }
  .site-header:not(.is-solid):not(.is-scrolled) .mobile-nav,
  .site-header.is-solid .mobile-nav,
  .site-header.is-overlay.is-scrolled .mobile-nav {
    position: absolute;
    top: 100%;
    max-height: calc(100svh - 82px);
    overflow-y: auto;
    overscroll-behavior-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  .site-header:not(.is-solid):not(.is-scrolled) .mobile-nav {
    left: calc(-1 * var(--kopash-mobile-left));
    right: calc(-1 * var(--kopash-mobile-right));
  }
  .site-header.is-solid .mobile-nav,
  .site-header.is-overlay.is-scrolled .mobile-nav {
    left: 0;
    right: 0;
  }
}
