/* ============================================================
   MAITRA MOBILE COMPOSITION LAYER — 2026
   Desktop layouts remain untouched. This layer intentionally
   re-composes constrained screens from 320–430px and short heights.
   ============================================================ */

@media (max-width: 760px) {
  :root {
    --mobile-pad: 16px;
    --mobile-safe-top: max(14px, env(safe-area-inset-top));
    --mobile-safe-bottom: max(14px, env(safe-area-inset-bottom));
  }

  /* ---------- Global mobile viewport / overflow ---------- */
  html,
  body {
    max-width: 100%;
    overflow-x: hidden;
  }

  body {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }

  /* ---------- Hero: focused vertical composition ---------- */
  .hero,
  .hero-media,
  .hero-video,
  .hero-poster {
    min-height: 100svh;
    height: 100svh;
  }

  .hero-content {
    width: min(100% - (var(--mobile-pad) * 2), 520px);
    padding-top: calc(var(--mobile-safe-top) + 10px);
    padding-bottom: calc(116px + var(--mobile-safe-bottom));
  }

  .hero-brand-row {
    min-height: 70px;
    align-items: flex-start;
  }

  .hero-brand {
    width: clamp(84px, 24vw, 106px);
  }

  .hero-brand-logo {
    max-height: 72px;
  }

  .hero-eyebrow {
    position: absolute;
    top: calc(var(--mobile-safe-top) + 4px);
    right: var(--mobile-pad);
    max-width: 48vw;
    text-align: right;
  }

  .hero-copy {
    margin-top: auto;
    margin-bottom: 10px;
  }

  .hero-title {
    max-width: 11ch;
    font-size: clamp(2.2rem, 11.1vw, 3.3rem);
    line-height: .93;
  }

  .hero-support {
    max-width: 34ch;
    font-size: clamp(.80rem, 2.55vw, .92rem);
    line-height: 1.52;
  }

  .hero-command-dock {
    left: var(--mobile-pad);
    right: var(--mobile-pad);
    bottom: calc(8px + var(--mobile-safe-bottom));
  }

  .hero-command-actions {
    min-height: 56px;
  }

  .hero-command-item {
    flex: 1 0 102px;
    min-height: 56px;
  }

  /* ---------- Full-screen internal shell ---------- */
  .panel-shell {
    padding: 0 !important;
    place-items: stretch !important;
    min-height: 100svh;
  }

  .panel-shell,
  .panel-shell .panel {
    width: 100% !important;
    height: 100dvh !important;
    min-height: 100svh !important;
    max-height: none !important;
  }

  .panel {
    border: 0 !important;
    border-radius: 0 !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    box-shadow: none !important;
  }

  .panel-backdrop {
    backdrop-filter: blur(10px) saturate(110%);
    -webkit-backdrop-filter: blur(10px) saturate(110%);
  }

  .panel-header {
    min-height: 76px !important;
    padding: var(--mobile-safe-top) var(--mobile-pad) 12px !important;
    align-items: flex-end !important;
    gap: 14px !important;
  }

  .panel-heading .eyebrow,
  .panel-header .eyebrow {
    margin-bottom: 6px !important;
    font-size: .48rem !important;
    letter-spacing: .20em !important;
  }

  .panel-title {
    max-width: 13ch;
    font-size: clamp(1.70rem, 7.4vw, 2.35rem) !important;
    line-height: .98 !important;
  }

  .panel-close {
    width: 44px !important;
    height: 44px !important;
    margin-bottom: 0 !important;
  }

  .panel-body {
    overscroll-behavior-y: contain;
    scrollbar-width: none !important;
    background-size: 34px 34px !important;
    padding-bottom: var(--mobile-safe-bottom) !important;
  }

  .panel-body::-webkit-scrollbar {
    display: none;
  }

  .ix-scroll-rail {
    top: 90px !important;
    right: 4px !important;
    bottom: 6px !important;
    width: 2px !important;
  }

  .ix {
    width: 100%;
    max-width: none;
    padding: 24px var(--mobile-pad) calc(54px + var(--mobile-safe-bottom));
  }

  .ix-kicker {
    margin-bottom: 11px;
    font-size: .49rem;
    letter-spacing: .20em;
  }

  .ix h3 {
    font-size: clamp(2.45rem, 13vw, 4.2rem);
    line-height: .91;
    letter-spacing: -.065em;
  }

  .ix-lead,
  .ix-copytext,
  .ix-command-intro > p,
  .ix-project-intro > p,
  .ix-contact-hero > p,
  .ix-dd-hero > p {
    font-size: .92rem;
    line-height: 1.65;
  }

  .ix-actions {
    gap: 8px;
    margin-top: 22px;
  }

  .ix-action {
    min-height: 48px;
    width: 100%;
    padding: 0 14px;
  }

  .ix-subnav {
    margin-bottom: 28px;
    padding-bottom: 12px;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 6px 14px;
    align-items: center;
    font-size: .46rem;
    letter-spacing: .12em;
  }

  .ix-subnav span:last-child {
    grid-column: 1 / -1;
    color: var(--ix-muted);
  }

  /* ---------- ABOUT ---------- */
  .ix-about-hero {
    display: flex;
    flex-direction: column;
    gap: 22px;
  }

  .ix-about-hero .ix-copy {
    order: 1;
  }

  .ix-about-hero .ix-about-media {
    order: 2;
    min-height: 0;
    height: clamp(250px, 48svh, 390px);
    aspect-ratio: 16 / 11;
  }

  .ix-about-media img {
    object-position: 50% 48%;
  }

  .ix-about-media figcaption {
    left: 12px;
    right: 12px;
    bottom: 12px;
    gap: 7px;
    flex-direction: column;
    align-items: flex-start;
    font-size: .45rem;
    letter-spacing: .11em;
  }

  .ix-evidence {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 20px;
  }

  .ix-evidence > div {
    min-height: 72px;
    padding: 11px 12px;
    gap: 4px 9px;
  }

  .ix-evidence > div:nth-child(2) {
    border-right: 0;
  }

  .ix-evidence > div:nth-child(n+3) {
    border-top: 1px solid var(--ix-line);
  }

  .ix-workflow {
    margin-top: 42px;
  }

  .ix-section-intro,
  .ix-command-intro,
  .ix-project-intro,
  .ix-contact-hero,
  .ix-dd-hero {
    display: block;
  }

  .ix-section-intro > p,
  .ix-command-intro > p,
  .ix-project-intro > p,
  .ix-contact-hero > p,
  .ix-dd-hero > p {
    margin-top: 14px;
  }

  .ix-flow {
    grid-template-columns: 1fr 1fr;
  }

  .ix-flow > div {
    min-height: 72px;
    padding: 12px 10px;
  }

  .ix-flow > div:nth-child(even) {
    border-right: 0;
  }

  .ix-flow > div:nth-child(n+3) {
    border-top: 1px solid var(--ix-line);
  }

  /* ---------- SERVICES ---------- */
  .ix-service-list {
    border-top: 1px solid var(--ix-line);
  }

  .ix-service-trigger {
    min-height: 0;
    grid-template-columns: 34px minmax(0, 1fr) 22px;
    gap: 10px;
    padding: 15px 0;
  }

  .ix-service-trigger:hover,
  .ix-service-trigger:focus-visible {
    padding-inline: 8px;
  }

  .ix-service-copy {
    gap: 6px;
  }

  .ix-service-copy strong {
    font-size: clamp(1.15rem, 6.4vw, 1.55rem);
  }

  .ix-service-copy small {
    max-width: 28ch;
    font-size: .74rem;
    line-height: 1.45;
  }

  .ix-service-meta {
    padding-left: 0;
    border-left: 0;
  }

  .ix-service-meta em {
    display: none;
  }

  .ix-service-meta span {
    font-size: 1rem;
  }

  .ix-footerline {
    flex-direction: column;
    align-items: flex-start;
    gap: 7px;
    margin-top: 12px;
    font-size: .45rem;
  }

  /* ---------- EPC ---------- */
  .ix-progress {
    grid-template-columns: 1fr auto;
    gap: 8px 12px;
  }

  .ix-progress > div {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .ix-epc-stage {
    min-height: 70px;
    grid-template-columns: 34px minmax(0, 1fr) 20px;
    gap: 10px;
    padding: 12px 0;
  }

  .ix-epc-stage.is-live {
    padding-inline: 8px;
  }

  .ix-epc-stage strong {
    font-size: .95rem;
  }

  .ix-epc-stage small {
    font-size: .70rem;
    line-height: 1.45;
  }

  /* ---------- O&M ---------- */
  .ix-om-hero {
    display: flex;
    flex-direction: column;
    gap: 22px;
  }

  .ix-om-copy > p:not(.ix-kicker) {
    margin-top: 16px;
    line-height: 1.62;
  }

  .ix-om-media {
    min-height: 0;
    height: clamp(220px, 42svh, 340px);
  }

  .ix-om-media video {
    min-height: 0;
    height: 100%;
  }

  .ix-cycle {
    margin-top: 26px;
    padding: 14px 0;
  }

  .ix-cycle > div {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ix-cycle span {
    min-height: 56px;
    padding: 10px;
    border-bottom: 1px solid var(--ix-line);
    font-size: .52rem;
  }

  .ix-cycle span:nth-child(even) {
    border-right: 0;
  }

  .ix-cycle span:nth-last-child(-n+2) {
    border-bottom: 0;
  }

  .ix-om-list {
    margin-top: 22px;
  }

  .ix-om-item {
    min-height: 58px;
    grid-template-columns: 34px minmax(0, 1fr) 20px;
    gap: 9px;
  }

  .ix-om-item > span {
    font-size: .50rem;
  }

  .ix-om-item strong {
    font-size: .86rem;
  }

  .ix-om-item em {
    display: none;
  }

  /* ---------- DUE DILIGENCE ---------- */
  .ix-dd-hero {
    margin-bottom: 28px;
  }

  .ix-dd-flow {
    margin-bottom: 28px;
  }

  .ix-dd-zones {
    grid-template-columns: 1fr;
  }

  .ix-dd-trigger {
    min-height: 84px;
    grid-template-columns: 32px minmax(0, 1fr) 22px;
    gap: 7px 10px;
    align-items: center;
    padding: 13px 0;
  }

  .ix-dd-trigger strong {
    font-size: .92rem;
  }

  .ix-dd-trigger small {
    grid-column: 2;
    font-size: .70rem;
    line-height: 1.42;
  }

  .ix-dd-trigger > b {
    grid-column: 3;
    grid-row: 1 / span 2;
  }

  .ix-dd-zone .dd-zone-detail {
    padding: 0 0 18px 42px;
    font-size: .82rem;
    line-height: 1.55;
  }

  /* ---------- PROJECTS ---------- */
  .ix-projects {
    padding-left: var(--mobile-pad);
    padding-right: var(--mobile-pad);
  }

  .ix-project-tools {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }

  .ix-projects .gallery-filters {
    display: flex;
    flex-wrap: nowrap;
    gap: 6px;
    overflow-x: auto;
    padding-bottom: 2px;
    scrollbar-width: none;
  }

  .ix-projects .gallery-filters::-webkit-scrollbar {
    display: none;
  }

  .ix-projects .filter-btn {
    flex: 0 0 auto;
    min-height: 40px;
    padding: 9px 10px;
  }

  .ix-project-meta {
    flex-direction: column;
    gap: 6px;
    padding: 12px 0;
    font-size: .46rem;
  }

  .ix-project-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .ix-project-grid .g-item,
  .ix-project-grid .g-item:nth-child(1),
  .ix-project-grid .g-item:nth-child(4) {
    grid-column: 1;
    min-height: 0;
    height: clamp(245px, 48svh, 360px);
  }

  .ix-project-grid .g-project-overlay {
    padding: 14px;
    background: linear-gradient(180deg, transparent 28%, rgba(2,12,22,.88));
  }

  .ix-project-grid .g-tag {
    top: 12px;
    left: 12px;
    padding: 7px 8px;
  }

  .ix-project-grid .g-project-copy h3 {
    font-size: 1.12rem;
  }

  .ix-project-grid .g-project-copy p {
    font-size: .67rem;
  }

  .ix-project-grid .g-project-action {
    margin-top: 12px;
    min-height: 40px;
    padding: 9px 10px;
  }

  /* ---------- TEAM ---------- */
  .team-showcase {
    padding: 24px var(--mobile-pad) calc(54px + var(--mobile-safe-bottom));
  }

  .team-blueprint,
  .team-roster-head {
    flex-direction: column;
    gap: 7px;
  }

  .team-feature {
    grid-template-columns: 1fr;
    min-height: 0;
    margin-top: 22px;
  }

  .team-feature-visual {
    min-height: 0;
    height: clamp(300px, 52svh, 410px);
  }

  .team-feature-visual.is-cutout img {
    object-fit: contain;
    object-position: center bottom;
    padding: 4% 8% 0;
  }

  .team-feature-copy {
    padding: 24px 16px 28px;
  }

  .team-feature-copy h3 {
    font-size: clamp(1.85rem, 9vw, 3rem);
  }

  .team-feature-desc {
    font-size: .86rem;
    line-height: 1.58;
  }

  .team-feature-focus span {
    padding: 7px 8px;
    font-size: .46rem;
  }

  .team-feature-signature {
    margin-top: 24px;
  }

  .team-roster {
    grid-template-columns: 1fr;
  }

  .team-roster-item:nth-child(odd),
  .team-roster-item:nth-child(even) {
    margin: 0;
  }

  .team-roster-item {
    min-height: 68px;
    grid-template-columns: 30px 42px minmax(0, 1fr) 18px;
    gap: 9px;
    padding: 8px 0;
  }

  .team-roster-thumb {
    width: 42px;
    height: 42px;
  }

  .team-roster-copy strong {
    font-size: .74rem;
  }

  .team-roster-copy small {
    font-size: .45rem;
  }

  /* ---------- CONTACT ---------- */
  .ix-contact-hero {
    margin-bottom: 22px;
  }

  .ix-intents {
    margin-bottom: 20px;
  }

  .ix-intents span {
    flex: 1 1 50%;
    min-height: 44px;
    display: flex;
    align-items: center;
    padding: 11px 12px;
    border-bottom: 1px solid var(--ix-line);
    border-right: 1px solid var(--ix-line);
    font-size: .46rem;
  }

  .ix-intents span:nth-child(even) {
    border-right: 0;
  }

  .ix-contact-actions {
    border-top: 1px solid var(--ix-line);
  }

  .ix-contact-action {
    min-height: 72px;
    grid-template-columns: 30px minmax(0, 1fr) auto;
    gap: 9px;
    padding: 10px 0;
  }

  .ix-contact-action:hover {
    padding-inline: 8px;
  }

  .ix-contact-action strong {
    font-size: .92rem;
  }

  .ix-contact-action em {
    font-size: .46rem;
    max-width: 20ch;
    text-align: right;
  }

  .ix-contact-grid {
    grid-template-columns: 1fr;
    margin-top: 28px;
  }

  .ix-contact-grid > div,
  .ix-contact-grid > div:not(:first-child) {
    min-height: 0;
    padding: 18px 0;
    border-right: 0;
    border-bottom: 1px solid var(--ix-line);
  }

  .ix-contact-grid > div:last-child {
    border-bottom: 0;
  }

  .ix-contact-grid strong {
    font-size: .78rem;
  }

  .ix-contact-grid span {
    font-size: .72rem;
  }

  /* ---------- DETAIL MODALS ---------- */
  .modal-shell {
    padding: 0 !important;
  }

  .modal {
    width: 100% !important;
    max-width: none !important;
    max-height: 100dvh !important;
    border: 0 !important;
    border-radius: 0 !important;
  }

  .modal-body {
    padding-bottom: var(--mobile-safe-bottom);
  }

  .ix-detail {
    padding: 8px var(--mobile-pad) calc(30px + var(--mobile-safe-bottom));
  }

  .ix-detail .modal-title {
    font-size: clamp(1.8rem, 9vw, 2.75rem);
  }

  .ix-detail .modal-media {
    grid-template-columns: 1fr;
    gap: 8px;
    margin: 20px 0;
  }

  .ix-detail .modal-media img {
    aspect-ratio: 16 / 10;
  }

  .ix-detail .service-detail-actions {
    flex-direction: column;
  }

  .ix-detail .service-detail-actions .ix-action {
    width: 100%;
  }

  /* ---------- LIGHTBOX ---------- */
  .lightbox {
    padding: var(--mobile-safe-top) var(--mobile-pad) var(--mobile-safe-bottom) !important;
    grid-template-rows: auto minmax(0, 1fr) auto !important;
  }

  .lightbox-head {
    gap: 10px;
  }

  .lightbox-head h2 {
    font-size: clamp(1.35rem, 7vw, 2.1rem);
  }

  .lightbox-head-actions {
    gap: 6px;
  }

  .lightbox-back {
    min-width: 44px;
    font-size: .45rem;
  }

  .lightbox-figure img {
    max-height: min(64svh, 520px);
    object-fit: contain;
  }

  .lightbox-nav {
    width: 44px;
    height: 44px;
  }

  .lightbox-thumbs {
    overflow-x: auto;
    scrollbar-width: none;
  }

  .lightbox-thumbs::-webkit-scrollbar {
    display: none;
  }

  /* ---------- Menu: dedicated mobile command composition ---------- */
  .mobile-menu {
    height: 100dvh !important;
    min-height: 100svh !important;
    overflow-y: auto !important;
    overscroll-behavior-y: contain;
  }

  .menu-shell {
    width: 100%;
    height: 100dvh;
    min-height: 100svh;
    padding: calc(var(--mobile-safe-top) + 8px) var(--mobile-pad) calc(16px + var(--mobile-safe-bottom));
    gap: 12px;
    grid-template-rows: auto minmax(0,1fr) auto;
  }

  .menu-head {
    min-height: 60px;
    align-items: center;
    padding-bottom: 10px;
  }

  .mobile-menu-brand {
    width: 96px !important;
    height: 58px !important;
  }

  .menu-head-meta {
    display: none;
  }

  .menu-layout {
    min-height: 0;
    display: block;
    overflow: hidden;
  }

  .menu-preview {
    display: none;
  }

  .menu-nav {
    min-height: 0;
    height: 100%;
  }

  .menu-nav-kicker {
    margin-bottom: 0;
    padding-bottom: 8px;
    font-size: .46rem;
    letter-spacing: .12em;
  }

  .menu-nav ul {
    height: calc(100% - 25px);
    display: grid;
    grid-template-rows: repeat(5, minmax(0,1fr));
  }

  .menu-nav li {
    min-height: 0;
  }

  .menu-nav button {
    min-height: 0;
    height: 100%;
    grid-template-columns: 30px minmax(0,1fr) 22px;
    gap: 8px;
    padding: 8px 0;
  }

  .menu-nav button:hover,
  .menu-nav button:focus-visible {
    padding-inline: 7px 4px;
  }

  .menu-nav button::before {
    top: 9px;
    bottom: 9px;
  }

  .menu-index {
    padding-top: 3px;
    font-size: .49rem;
  }

  .menu-copy {
    gap: 4px;
  }

  .menu-copy strong {
    font-size: clamp(1.12rem, 5.9vw, 1.46rem);
    line-height: .98;
  }

  .menu-copy em {
    max-width: 25ch;
    font-size: clamp(.58rem, 2.25vw, .68rem);
    line-height: 1.28;
  }

  .menu-arrow {
    font-size: 1rem;
  }

  .menu-foot {
    grid-template-columns: 1fr;
    gap: 10px;
    padding-top: 10px;
  }

  .menu-foot-location {
    display: none;
  }

  .menu-foot-actions {
    grid-template-columns: minmax(0,1fr) minmax(0,1fr);
    gap: 7px;
  }

  .menu-action {
    min-height: 44px;
    padding: 0 10px;
    font-size: .44rem;
    letter-spacing: .08em;
  }

  .menu-action-primary {
    grid-column: 1 / -1;
  }

  .menu-foot-classification {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    text-align: right;
  }

  .menu-foot-classification span {
    font-size: .42rem;
  }

  .menu-scroll-rail {
    right: 4px;
    top: 86px;
    bottom: 12px;
  }
}

/* Small phones: 320–390px */
@media (max-width: 390px) {
  :root {
    --mobile-pad: 13px;
  }

  .hero-content {
    padding-bottom: calc(108px + var(--mobile-safe-bottom));
  }

  .hero-title {
    font-size: clamp(2rem, 10.9vw, 2.8rem);
  }

  .hero-support {
    font-size: .77rem;
    max-width: 31ch;
  }

  .hero-command-item {
    flex-basis: 95px;
  }

  .panel-header {
    min-height: 70px !important;
  }

  .panel-title {
    font-size: clamp(1.55rem, 7.5vw, 2rem) !important;
  }

  .ix {
    padding-top: 20px;
  }

  .ix h3 {
    font-size: clamp(2.2rem, 12.6vw, 3.25rem);
  }

  .ix-about-hero .ix-about-media {
    height: clamp(220px, 43svh, 320px);
  }

  .ix-evidence > div {
    min-height: 68px;
    padding: 10px;
  }

  .ix-service-trigger {
    grid-template-columns: 28px minmax(0,1fr) 20px;
    gap: 7px;
    padding-block: 13px;
  }

  .ix-service-copy strong {
    font-size: 1.10rem;
  }

  .ix-service-copy small {
    font-size: .68rem;
  }

  .ix-om-media {
    height: clamp(205px, 38svh, 290px);
  }

  .ix-project-grid .g-item,
  .ix-project-grid .g-item:nth-child(1),
  .ix-project-grid .g-item:nth-child(4) {
    height: clamp(220px, 43svh, 300px);
  }

  .team-feature-visual {
    height: clamp(275px, 47svh, 350px);
  }

  .team-feature-copy {
    padding: 20px 14px 24px;
  }

  .ix-contact-action {
    grid-template-columns: 24px minmax(0,1fr);
    gap: 7px;
  }

  .ix-contact-action em {
    grid-column: 2;
    text-align: left;
    max-width: none;
  }

  .menu-shell {
    padding-top: calc(var(--mobile-safe-top) + 4px);
    gap: 9px;
  }

  .mobile-menu-brand {
    width: 88px !important;
    height: 52px !important;
  }

  .menu-head {
    min-height: 54px;
    padding-bottom: 8px;
  }

  .menu-copy strong {
    font-size: 1.05rem;
  }

  .menu-copy em {
    font-size: .56rem;
  }

  .menu-nav button {
    padding-block: 6px;
  }

  .menu-action {
    min-height: 42px;
    font-size: .40rem;
  }

  .menu-foot-classification {
    display: none;
  }
}

/* 320px phones: ensure everything remains readable and tappable. */
@media (max-width: 340px) {
  .hero-eyebrow {
    max-width: 44vw;
    font-size: .36rem;
  }

  .hero-title {
    font-size: 1.95rem;
  }

  .hero-command-item {
    flex-basis: 90px;
  }

  .menu-copy strong {
    font-size: 1rem;
  }

  .menu-copy em {
    font-size: .54rem;
  }

  .menu-nav button {
    grid-template-columns: 25px minmax(0,1fr) 18px;
    gap: 6px;
  }

  .menu-index {
    font-size: .45rem;
  }

  .menu-arrow {
    font-size: .9rem;
  }
}

/* Short-height phones: compress vertical rhythm before allowing scroll. */
@media (max-width: 760px) and (max-height: 720px) {
  .hero-content {
    padding-bottom: calc(98px + var(--mobile-safe-bottom));
  }

  .hero-copy {
    margin-bottom: 4px;
  }

  .hero-kicker {
    margin-bottom: 6px;
  }

  .hero-title {
    margin-bottom: 8px;
  }

  .hero-support {
    line-height: 1.42;
  }

  .hero-command-item {
    min-height: 50px;
  }

  .panel-header {
    min-height: 66px !important;
    padding-top: max(8px, env(safe-area-inset-top)) !important;
    padding-bottom: 8px !important;
  }

  .panel-close {
    width: 40px !important;
    height: 40px !important;
  }

  .ix {
    padding-top: 18px;
    padding-bottom: 42px;
  }

  .ix h3 {
    font-size: clamp(2rem, 10.8vw, 3rem);
  }

  .ix-about-hero .ix-about-media {
    height: clamp(205px, 42svh, 290px);
  }

  .ix-om-media {
    height: clamp(190px, 34svh, 250px);
  }

  .team-feature-visual {
    height: clamp(235px, 40svh, 300px);
  }

  .ix-project-grid .g-item,
  .ix-project-grid .g-item:nth-child(1),
  .ix-project-grid .g-item:nth-child(4) {
    height: clamp(205px, 38svh, 275px);
  }

  .menu-shell {
    gap: 7px;
    padding-top: max(6px, env(safe-area-inset-top));
    padding-bottom: max(7px, env(safe-area-inset-bottom));
  }

  .menu-head {
    min-height: 48px;
    padding-bottom: 6px;
  }

  .mobile-menu-brand {
    width: 82px !important;
    height: 48px !important;
  }

  .menu-nav-kicker {
    padding-bottom: 6px;
  }

  .menu-nav button {
    padding-block: 4px;
  }

  .menu-copy strong {
    font-size: 1rem;
  }

  .menu-copy em {
    font-size: .53rem;
  }

  .menu-action {
    min-height: 40px;
  }

  .menu-foot {
    gap: 7px;
    padding-top: 7px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-brand,
  .hero-video,
  .hero-poster,
  .panel,
  .panel-backdrop,
  .ix-about-media img,
  .ix-project-grid .g-item img,
  .team-feature-visual img,
  .menu-nav button,
  .menu-nav button::before,
  .menu-arrow,
  .menu-action {
    animation: none !important;
    transition: none !important;
  }
}
