@media (max-width: 1279px) {
  :root { --shell: min(100% - 40px, 1120px); }
  .site-header { padding-inline: 20px; }
}

@media (max-width: 980px) {
  .hero { grid-template-columns: 1fr; gap: 48px; padding-top: 56px; }
  .hero-copy { max-width: 760px; }
  .hero-world { width: min(100%, 560px); margin-inline: auto; }
  .section-header { grid-template-columns: 1fr; gap: 20px; }
  .project-card { grid-template-columns: 42px 180px minmax(0, 1fr) 36px; }
  .about-grid { grid-template-columns: 1fr 1fr; }
  .about-main { grid-column: 1 / -1; grid-row: auto; }
  .now-card { grid-column: 1 / -1; }
  .menu-toggle { display: grid; }

  body[data-menu-open="true"] { overflow: hidden; }

  .site-nav {
    position: fixed;
    z-index: var(--z-menu);
    top: 84px;
    right: 20px;
    left: 20px;
    display: none;
    max-height: calc(100dvh - 104px);
    overflow: auto;
    align-items: stretch;
    gap: 8px;
    padding: 16px;
    border: 2px solid var(--cream);
    background: var(--night-900);
    box-shadow: 8px 8px 0 var(--pixel-black);
  }

  .site-nav.is-open { display: grid; }
  .site-nav__label { display: block; padding-bottom: 12px; border-bottom: 2px solid var(--night-700); color: var(--bag-teal); font-family: var(--font-ticmiro-mono); font-size: .66rem; }
  .site-nav a,
  .theme-toggle { width: 100%; justify-content: flex-start; border: 1px solid var(--night-700); color: var(--cream); background: var(--night-800); }
  .site-nav .studio-nav-link { color: var(--bag-teal) !important; }
  .site-footer { grid-template-columns: 1fr auto; }
  .site-footer p { grid-column: 1 / -1; }
}

@media (max-width: 767px) {
  :root { --shell: calc(100% - 32px); }
  .site-header { min-height: 68px; padding-inline: 16px; }
  .wordmark-copy small { font-size: .44rem; }
  .site-nav { top: 80px; right: 16px; left: 16px; }
  .habitat-scene { min-height: min(124vw, 480px); }
  .mascot-speech { top: 9%; right: 4%; max-width: 150px; }
  .habitat-card > .pixel-window__footer { align-items: stretch; flex-direction: column; }
  .interaction-hint { display: inline-flex; align-items: center; justify-content: center; }
  .site-footer { grid-template-columns: 1fr; justify-items: start; }
  .site-footer p { grid-column: auto; line-height: 1.7; }
  .hero { min-height: auto; padding-block: 48px 64px; }
  .hero-copy { text-align: left; }
  .hero h1 { max-width: 100%; font-size: clamp(2.35rem, 11.5vw, 3.25rem); overflow-wrap: normal; }
  .hero-lede { font-size: 1rem; }
  .hero-actions { display: grid; grid-template-columns: minmax(0, 1fr); justify-content: stretch; justify-items: stretch; }
  .hero-actions .button { width: 100%; max-width: none; }
  .command-strip { margin-top: 32px; }
  .command-strip span { padding-inline: 4px; font-size: .55rem; }
  .hero-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
  .work { padding-block: 72px; }
  .section-header h2 { font-size: clamp(2.35rem, 11vw, 3.4rem); }
  .project-card { grid-template-columns: 1fr 36px; gap: 18px; padding: 16px; }
  .project-index { position: absolute; z-index: 2; top: 24px; left: 24px; padding: 4px 6px; background: var(--pixel-black); }
  .project-visual { grid-column: 1 / -1; min-height: 180px; }
  .project-copy { grid-column: 1; }
  .project-arrow { grid-column: 2; align-self: end; }
  .project-copy > span { font-size: .95rem; }
  .about-grid { grid-template-columns: 1fr; }
  .about-main,.now-card { grid-column: auto; }
  .about-main { padding: 24px; }
  .control-room-head { align-items: center; }
  .about-main h2 { font-size: 2.45rem; }
  .contact-panel { grid-template-columns: 1fr; gap: 16px; padding: 24px; }
  .contact-miro { justify-content: start; }
  .contact-copy h2 { font-size: clamp(2.45rem, 11vw, 3.4rem); }
  .contact-note { grid-column: auto; line-height: 1.7; }
}

@media (max-width: 380px) {
  :root { --shell: calc(100% - 28px); }
  .wordmark-copy small { max-width: 174px; overflow: hidden; text-overflow: ellipsis; }
}

@media (prefers-reduced-motion: reduce) {
  .ticker-track { animation: none !important; }
  .mascot-stage.is-walking { animation: none !important; }
  .reveal { opacity: 1 !important; transform: none !important; }
}

/* Content Studio responsive rules live last so the operations shell cannot overflow. */
@media (max-width: 1100px) {
  .studio-sidebar { grid-template-columns: auto minmax(0,1fr); }
  .studio-sidebar nav { min-width: 0; max-width: 100%; overflow-x: auto; justify-content: flex-start; overscroll-behavior-inline: contain; scrollbar-width: thin; }
  .studio-sidebar nav a { flex: 0 0 auto; min-width: 112px; }
  .studio-article-table { max-width: 100%; overflow-x: auto; }
  .operations-grid { grid-template-columns: 1fr 1fr; }
  .operations-grid article:nth-child(2) { border-right: 0; }
  .operations-grid article:last-child { grid-column: 1 / -1; border-top: 2px solid var(--studio-border); }
}

@media (max-width: 767px) {
  .studio-sidebar { position: sticky; top: 0; inset: auto; display: grid; width: auto; height: auto; grid-template-columns: 1fr; }
  .studio-sidebar .studio-brand { display: flex; }
  .studio-sidebar .studio-brand span:last-child { display: grid; }
  .studio-sidebar nav { display: flex; min-height: 60px; flex-wrap: nowrap; gap: 6px; padding: 8px; }
  .studio-sidebar nav a { min-width: 96px; justify-content: center; }
  .studio-sidebar nav a span { display: inline; }
  .studio-sidebar nav em { display: none; }
  .studio-form-grid,.research-form-grid,.automation-form-grid { grid-template-columns: 1fr; }
  .studio-form-wide { grid-column: auto; }
  .studio-source-list article,.studio-research-list article { grid-template-columns: 1fr; align-items: start; }
  .studio-source-actions { justify-content: flex-start; }
  .operations-grid { grid-template-columns: 1fr; }
  .operations-grid article,.operations-grid article:nth-child(2),.operations-grid article:last-child { grid-column: auto; border-right: 0; border-top: 2px solid var(--studio-border); }
  .operations-grid article:first-child { border-top: 0; }
}

@media (max-width: 390px) {
  .studio-main { padding-inline: 14px; }
  .studio-page-title h1 { font-size: 2.25rem; }
  .studio-editor-actions { grid-template-columns: 1fr; }
}

/* CONTENT DESK responsive contract — keep navigation focused instead of compressing the desktop rail. */
@media (max-width: 1279px) {
  .studio-desk-layout { grid-template-columns: 1fr; }
  .studio-command-panel { position: static; }
  .studio-command-overview { grid-template-columns: minmax(0,1fr) 260px; }
  .studio-workboard { grid-template-columns: 1fr; }
  .studio-next-actions { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
  .studio-next-actions .studio-card-head { grid-column: 1 / -1; }
  .studio-next-actions > a { border-right: 1px solid var(--studio-border); border-bottom: 0; }
  .studio-next-actions > a:last-child { border-right: 0; }
}

@media (max-width: 1100px) {
  .studio-app { display: block; }
  .studio-app > .studio-sidebar { display: none; }
  .studio-menu-trigger { display: inline-flex; width: 44px; min-width: 44px; height: 44px; align-items: center; justify-content: center; border: 1px solid var(--studio-border); border-radius: 2px; background: var(--night-900); color: var(--studio-teal); }
  .studio-topbar { top: 0; }
  .studio-drawer-backdrop { display: block; }
  .studio-drawer { position: relative; display: flex; width: min(88vw,320px); height: 100dvh; flex-direction: column; overflow: hidden; border-right: 2px solid var(--studio-teal); background: var(--night-900); box-shadow: 8px 0 0 var(--pixel-black); }
  .studio-drawer-close { position: absolute; z-index: 2; top: 14px; right: 12px; display: grid; width: 44px; height: 44px; place-items: center; border: 1px solid var(--studio-border); background: var(--night-950); color: var(--studio-text); font-size: 1.25rem; }
  .studio-drawer .studio-brand { padding-right: 62px; }
  .studio-drawer .studio-nav-groups { display: flex; min-height: 0; flex: 1; flex-direction: column; gap: 20px; overflow-y: auto; padding: 16px 12px 24px; }
  .studio-drawer .studio-sidebar-foot { display: grid; }
  .studio-drawer .studio-runtime { display: grid; }
  .studio-command-overview { grid-template-columns: 1fr; }
  .studio-command-overview__status { grid-template-columns: repeat(3,1fr); border-top: 2px solid var(--studio-border); border-left: 0; }
  .studio-command-overview__status > div { border-right: 1px solid var(--studio-border); border-bottom: 0; }
  .studio-command-overview__status > div:last-child { border-right: 0; }
}

@media (max-width: 767px) {
  .studio-topbar { display: grid; min-height: 62px; grid-template-columns: 44px minmax(0,1fr) 44px; gap: 10px; padding: 8px 14px; }
  .studio-topbar > div { display: grid; min-width: 0; }
  .studio-topbar > div b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .studio-topbar-command,.studio-topbar > a { display: none; }
  .studio-topbar .studio-theme-toggle { width: 44px; min-width: 44px; padding: 0; box-shadow: 2px 2px 0 var(--pixel-black); }
  .studio-topbar .studio-theme-toggle__label { display: none; }
  .studio-main { min-height: calc(100svh - 62px); padding: 24px 14px 104px; }
  .studio-page-title { gap: 18px; margin-bottom: 22px; }
  .studio-page-title h1 { font-size: clamp(2.1rem,10vw,3rem); }
  .studio-bottom-nav { position: fixed; z-index: 80; right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: repeat(4,1fr); padding-bottom: env(safe-area-inset-bottom); border-top: 2px solid var(--studio-border); background: var(--night-950); box-shadow: 0 -4px 0 var(--pixel-black); }
  .studio-bottom-nav a { position: relative; display: flex; min-width: 0; min-height: 64px; flex-direction: column; align-items: center; justify-content: center; gap: 5px; color: var(--studio-muted); }
  .studio-bottom-nav a::before { position: absolute; top: 0; right: 24%; left: 24%; height: 3px; content: ""; background: transparent; }
  .studio-bottom-nav a.is-active { color: var(--studio-teal); }
  .studio-bottom-nav a.is-active::before { background: var(--studio-teal); }
  .studio-bottom-nav span { font-family: var(--font-ticmiro-mono); font-size: .9rem; }
  .studio-bottom-nav b { overflow: hidden; max-width: 100%; font: 700 .48rem/1 var(--font-ticmiro-mono); text-overflow: ellipsis; white-space: nowrap; }
  .studio-command-backdrop { padding: 12px; place-items: start center; }
  .studio-command-palette { margin-top: max(8px,env(safe-area-inset-top)); }
  .studio-command-results { max-height: calc(100dvh - 150px); }
  .studio-command-overview__main { padding: 20px; }
  .studio-command-actions { display: grid; }
  .studio-lifecycle { overflow-x: auto; grid-template-columns: repeat(5,minmax(116px,1fr)); }
  .studio-command-overview__status { grid-template-columns: 1fr; }
  .studio-command-overview__status > div { min-height: 106px; border-right: 0; border-bottom: 1px solid var(--studio-border); }
  .studio-command-overview__status > div:last-child { border-bottom: 0; }
  .studio-next-actions { grid-template-columns: 1fr; }
  .studio-next-actions .studio-card-head { grid-column: auto; }
  .studio-next-actions > a { border-right: 0; border-bottom: 1px solid var(--studio-border); }
  .studio-workqueue .studio-article-table { overflow: visible; }
  .studio-workqueue .studio-article-table::before,.studio-workqueue .studio-table-head { display: none; }
  .studio-workqueue .studio-table-row { min-width: 0; grid-template-columns: minmax(0,1fr) auto; gap: 12px; }
  .studio-workqueue .studio-table-row > span:nth-child(3) { display: none; }
  .studio-workqueue .studio-table-row > span:last-child { grid-column: 1 / -1; justify-content: flex-start; }
  .studio-form-pair,.studio-mode-tabs { grid-template-columns: 1fr; }
  .studio-pipeline-legend { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .studio-pipeline-legend span:nth-child(2n) { border-right: 0; }
  .studio-pipeline-legend span:nth-child(4n) { border-right: 0; }
  .studio-monitor-toolbar { flex-wrap: nowrap; overflow-x: auto; overscroll-behavior-inline: contain; }
  .studio-monitor-toolbar button { flex: 0 0 auto; min-height: 44px; }
  .studio-run-row { grid-template-columns: 1fr; padding: 16px 14px; }
  .studio-run-index { width: 32px; height: 32px; }
  .studio-run-title,.studio-run-footer { display: grid; }
  .studio-run-title > span { justify-self: start; }
  .studio-run-footer .studio-source-actions { justify-content: flex-start; flex-wrap: wrap; }
  .studio-stage-track { height: 8px; }
}

@media (max-width: 390px) {
  .studio-login-theme { top: 12px; right: 12px; width: 44px; min-width: 44px; padding: 0; }
  .studio-login-theme .studio-theme-toggle__label { display: none; }
  .studio-bottom-nav b { font-size: .44rem; }
  .studio-command-input { grid-template-columns: 20px minmax(0,1fr) 44px; padding: 8px; }
  .studio-command-input input { padding-inline: 4px; font-size: .86rem; }
}
