.retro-inner .studio-desktop { min-height: calc(100svh - 36px); }
.retro-inner main { padding-bottom: 22px; }
.simple-inner-main { display: grid; gap: 22px; }

/* Compact shared hero */
.compact-hero { overflow: hidden; }
.compact-hero-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 180px;
  gap: clamp(35px, 7vw, 110px);
  align-items: center;
  min-height: 360px;
  padding: clamp(42px, 6vw, 82px);
  color: var(--os-paper-light);
  background-color: var(--os-ink);
  background-image: linear-gradient(rgba(234,219,183,.085) 1px, transparent 1px), linear-gradient(90deg, rgba(234,219,183,.085) 1px, transparent 1px);
  background-size: 28px 28px;
}
.compact-hero-body h1 { margin: 0; font: 900 clamp(3.8rem, 8vw, 8.4rem)/.78 "Courier New", ui-monospace, monospace; text-transform: uppercase; letter-spacing: -.105em; text-shadow: 3px 3px 0 var(--os-blue-dark); }
.compact-hero-body > div > p:last-child { max-width: 640px; margin: 34px 0 0; color: var(--os-paper); font-size: 1rem; font-weight: 700; line-height: 1.55; }
.compact-hero-body img { width: 100%; border: 2px solid var(--os-paper); transform: rotate(2deg); box-shadow: 8px 8px 0 var(--os-blue), -8px -8px 0 var(--os-red); }
.privacy-compact-hero .compact-hero-body { background-color: #111510; }

/* Privacy selector and one-at-a-time policy card */
.privacy-switcher { display: grid; grid-template-columns: 270px minmax(0, 1fr); gap: 22px; align-items: start; }
.policy-picker { position: sticky; top: 74px; }
.policy-choices { padding: 12px; }
.policy-choice { display: grid; grid-template-columns: 36px 1fr; align-items: center; width: 100%; min-height: 46px; padding: 0; border: 1px solid var(--os-ink); color: var(--os-ink); background: var(--os-paper-light); font: 700 9px "Courier New", monospace; text-align: left; text-transform: uppercase; cursor: pointer; }
.policy-choice + .policy-choice { border-top: 0; }
.policy-choice span { display: grid; place-items: center; align-self: stretch; border-right: 1px solid var(--os-ink); color: rgba(23,25,22,.6); }
.policy-choice:hover, .policy-choice:focus-visible { background: var(--os-gold); outline: 0; }
.policy-choice.is-active { color: var(--os-paper-light); background: var(--os-blue-dark); }
.policy-choice.is-active span { color: var(--os-paper-light); border-color: var(--os-paper); }
.policy-viewer { min-width: 0; overflow: hidden; }
.app-policy-card { min-height: 560px; padding: clamp(38px, 6vw, 82px); }
.app-policy-card[hidden] { display: none; }
.policy-kicker { margin: 0 0 36px; font-size: 8px; font-weight: 700; letter-spacing: .1em; }
.app-policy-card h2 { max-width: 900px; margin: 0 0 34px; font: 900 clamp(3.4rem, 6vw, 7rem)/.78 "Courier New", monospace; text-transform: uppercase; letter-spacing: -.1em; }
.policy-lede { max-width: 860px; margin: 0 0 50px; font: 700 clamp(1.08rem, 2vw, 1.45rem)/1.45 Georgia, serif; }
.policy-sections { display: grid; grid-template-columns: 1fr 1fr; gap: 0 45px; max-width: 1050px; margin: 0 0 38px; }
.policy-sections section { padding: 24px 0; border-top: 1px solid var(--os-ink); }
.policy-sections h3 { margin: 0 0 10px; font-size: .78rem; text-transform: uppercase; }
.policy-sections p { margin: 0; font-size: .79rem; line-height: 1.62; }
.policy-facts { display: grid; grid-template-columns: repeat(3, 1fr); max-width: 900px; margin: 0 0 45px; border: 2px solid var(--os-ink); }
.policy-facts div { display: flex; flex-direction: column; gap: 11px; padding: 18px; }
.policy-facts div + div { border-left: 2px solid var(--os-ink); }
.policy-facts b { font-size: 7px; text-transform: uppercase; }
.policy-facts strong { color: var(--os-blue-dark); font-size: 1.55rem; text-transform: uppercase; }
.pending-policy { display: flex; flex-direction: column; justify-content: center; }
.pending-policy .pending-label { align-self: flex-start; margin-bottom: 28px; }
.pending-label { display: inline-block; padding: 6px 8px; border: 1px solid var(--os-ink); color: var(--os-paper-light); background: var(--os-red); font-size: 7px; }
.pending-policy .policy-lede { max-width: 750px; margin: 0; }
.legal-identity { scroll-margin-top: 76px; display: grid; grid-template-columns: minmax(0, .9fr) minmax(380px, 1.1fr); gap: clamp(35px, 7vw, 100px); padding: clamp(38px, 6vw, 80px); border: 2px solid var(--os-ink); color: var(--os-paper-light); background: var(--os-ink); box-shadow: 5px 5px 0 var(--os-ink); }
.legal-identity .policy-kicker { color: var(--os-gold); }
.legal-identity h2 { margin: 0 0 24px; font: 900 clamp(2.8rem, 5vw, 5.4rem)/.8 "Courier New", monospace; text-transform: uppercase; letter-spacing: -.09em; }
.legal-identity-copy > p:last-child { max-width: 620px; margin: 0; color: var(--os-paper); font-size: .82rem; line-height: 1.6; }
.legal-facts { align-self: center; margin: 0; border-top: 1px solid rgba(245,237,216,.32); }
.legal-facts > div { display: grid; grid-template-columns: minmax(145px, .8fr) minmax(0, 1.2fr); gap: 20px; padding: 18px 0; border-bottom: 1px solid rgba(245,237,216,.32); }
.legal-facts dt { color: var(--os-paper); font-size: 7px; font-weight: 700; line-height: 1.45; text-transform: uppercase; }
.legal-facts dd { margin: 0; font-size: 9px; font-weight: 700; line-height: 1.45; }
.legal-facts dd:not(:has(a)) { color: var(--os-gold); }
.legal-facts a { color: inherit; text-underline-offset: 3px; }

@media (max-width: 900px) {
  .privacy-switcher { grid-template-columns: 220px minmax(0, 1fr); gap: 13px; }
  .policy-sections { grid-template-columns: 1fr; }
  .legal-identity { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .simple-inner-main { gap: 13px; }
  .compact-hero-body { grid-template-columns: 1fr; min-height: 0; padding: 42px 22px; }
  .compact-hero-body h1 { font-size: 17vw; }
  .compact-hero-body > div > p:last-child { font-size: .84rem; }
  .compact-hero-body img { width: min(52%, 170px); justify-self: center; }
  .app-policy-card { padding: 38px 22px; }
  .app-policy-card h2 { font-size: 14vw; }
  .privacy-switcher { display: block; }
  .policy-picker { position: relative; top: auto; margin-bottom: 13px; }
  .policy-choices { display: grid; grid-template-columns: 1fr 1fr; }
  .policy-choice + .policy-choice { border-top: 1px solid var(--os-ink); }
  .policy-choice:nth-child(even) { border-left: 0; }
  .app-policy-card { min-height: 0; }
  .policy-facts { grid-template-columns: 1fr; }
  .policy-facts div + div { border-top: 2px solid var(--os-ink); border-left: 0; }
  .legal-facts > div { grid-template-columns: 1fr; gap: 8px; }
}

/* 404 / dark editorial error page */
.retro-error { min-height: 100svh; color: var(--os-paper-light); background: #030403; }
.retro-error::before { opacity: 0; }
.retro-error .studio-desktop { min-height: calc(100svh - 36px); display: grid; grid-template-rows: auto 1fr auto; border-color: #030403; background: #030403; box-shadow: 8px 8px 0 rgba(0,0,0,.72); }
.retro-error .os-bar { border-bottom: 1px solid rgba(245,237,216,.12); color: var(--os-paper-light); background: rgba(3,4,3,.88); box-shadow: none; backdrop-filter: blur(14px); }
.retro-error .os-brand { opacity: .78; }
.retro-error .os-brand img { width: 32px; height: 32px; }
.retro-error .os-brand strong { font-weight: 500; letter-spacing: .08em; }
.error-main { min-width: 0; padding: 0 !important; background: #030403; }
.error-stage { position: relative; display: grid; min-height: calc(100svh - 102px); grid-template-columns: minmax(0, 1.05fr) minmax(340px, .95fr); align-items: center; gap: clamp(30px, 5vw, 90px); overflow: hidden; padding: clamp(60px, 7vw, 110px); background: #030403; }
.error-copy { position: relative; z-index: 2; min-width: 0; }
.error-kicker { margin: 0 0 22px; color: var(--os-gold); font: 700 8px/1 "Courier New", monospace; letter-spacing: .13em; }
.error-number { display: flex; margin: 0 0 22px; color: var(--os-paper-light); font: 400 clamp(10rem, 20vw, 21rem)/.62 Georgia, "Times New Roman", serif; letter-spacing: -.11em; }
.error-copy h1 { max-width: 720px; margin: 0; padding-top: clamp(24px, 3vw, 42px); color: var(--os-paper-light); font: 400 clamp(2.3rem, 4.4vw, 5rem)/.9 Georgia, "Times New Roman", serif; letter-spacing: -.055em; }
.error-message { max-width: 560px; margin: 26px 0 0; color: rgba(245,237,216,.7); font: 400 clamp(.92rem, 1.15vw, 1.08rem)/1.65 -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif; }
.error-actions { display: flex; align-items: center; gap: 24px; margin-top: 38px; }
.error-actions .ui-button { min-height: 42px; border: 1px solid rgba(245,237,216,.52); color: var(--os-paper-light); background: transparent; box-shadow: none; }
.error-actions .ui-button:hover { color: #10120f; background: var(--os-gold); box-shadow: none; transform: none; }
.error-art { position: relative; z-index: 2; justify-self: center; width: min(100%, 620px); margin: 0; transform: rotate(1.5deg); }
.error-art img { display: block; width: 100%; filter: drop-shadow(0 24px 24px rgba(0,0,0,.35)); }
.error-art figcaption { margin: 13px 0 0; color: rgba(245,237,216,.42); font: 600 7px/1 "Courier New", monospace; letter-spacing: .11em; text-align: center; }
.retro-error .desktop-footer { border-top-color: rgba(245,237,216,.12); color: rgba(245,237,216,.55); background: #030403; }

@media (max-width: 900px) {
  .error-stage { grid-template-columns: minmax(0, 1fr) minmax(280px, .72fr); padding: 58px 38px 70px; }
  .error-number { font-size: clamp(9rem, 22vw, 14rem); }
}

@media (max-width: 700px) {
  .retro-error .studio-desktop { min-height: 100svh; }
  .error-stage { grid-template-columns: 1fr; gap: 54px; padding: 64px 24px 76px; }
  .error-number { font-size: 35vw; }
  .error-copy h1 { font-size: 12vw; }
  .error-actions { align-items: flex-start; flex-direction: column; gap: 18px; }
  .error-art { width: min(94%, 480px); }
}

/* Dark editorial Legal / Privacy */
.privacy-retro { --legal-display: Georgia, "Times New Roman", serif; --legal-sans: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif; --legal-mono: "Courier New", ui-monospace, monospace; color: var(--os-paper-light); background: #10120f; }
.privacy-retro::before { opacity: 0; }
.privacy-retro .studio-desktop { border-color: #050605; background: #121411; box-shadow: 8px 8px 0 rgba(0,0,0,.72); }
.privacy-retro .os-bar { border-bottom: 1px solid rgba(245,237,216,.12); color: var(--os-paper-light); background: rgba(18,20,17,.84); box-shadow: none; backdrop-filter: blur(14px); }
.privacy-retro .os-brand { opacity: .78; }.privacy-retro .os-brand img { width: 32px; height: 32px; }.privacy-retro .os-brand strong { font-weight: 500; letter-spacing: .08em; }
.privacy-retro main { padding-bottom: 0; background: #121411; }
.privacy-retro .simple-inner-main { gap: 0; }

.privacy-retro .compact-hero { min-height: calc(100svh - 100px); }
.privacy-retro .compact-hero-body { min-height: calc(100svh - 100px); padding: clamp(70px, 8vw, 130px); background-color: #121411; background-image: linear-gradient(rgba(234,219,183,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(234,219,183,.055) 1px, transparent 1px); background-size: 56px 56px; }
.privacy-retro .compact-hero-body h1 { margin: 0; font: 400 clamp(4.4rem, 8.5vw, 9rem)/.78 var(--legal-display); letter-spacing: -.075em; text-transform: none; text-shadow: none; }
.privacy-retro .compact-hero-body > div > p:last-child { max-width: 570px; margin-top: 36px; color: rgba(245,237,216,.76); font: 400 clamp(.96rem, 1.2vw, 1.14rem)/1.65 var(--legal-sans); }
.privacy-retro .compact-hero-body img { justify-self: center; width: min(76%, 360px); border: 1px solid rgba(245,237,216,.5); transform: rotate(1.2deg); box-shadow: 13px 13px 0 #284f98, -13px -13px 0 #9f463b; }

.privacy-retro .privacy-switcher { grid-template-columns: 210px minmax(0, 1fr); gap: clamp(55px, 8vw, 140px); padding: clamp(100px, 12vw, 190px) clamp(22px, 6vw, 100px); }
.privacy-retro .policy-picker { top: 92px; max-height: calc(100svh - 116px); overflow-y: auto; padding-right: 8px; scrollbar-color: rgba(245,237,216,.22) transparent; scrollbar-width: thin; }
.privacy-retro .policy-choices { display: grid; gap: 5px; padding: 0; }
.privacy-retro .policy-choice { grid-template-columns: 26px 1fr; min-height: 38px; border: 0; color: rgba(245,237,216,.64); background: transparent; font: 600 8px/1.25 var(--legal-mono); letter-spacing: .04em; text-transform: none; transition: color .18s ease, transform .18s ease; }
.privacy-retro .policy-choice + .policy-choice { border: 0; }
.privacy-retro .policy-choice span { align-self: center; width: 20px; height: 20px; border: 0; color: rgba(245,237,216,.48); background: transparent; font-size: 6px; }
.privacy-retro .policy-choice:hover, .privacy-retro .policy-choice:focus-visible { color: var(--os-paper-light); background: transparent; transform: translateX(4px); }
.privacy-retro .policy-choice.is-active { color: var(--os-paper-light); background: transparent; }
.privacy-retro .policy-choice.is-active span { border: 0; color: #10120f; background: var(--os-gold); }

.privacy-retro .policy-viewer { min-width: 0; overflow: visible; color: var(--os-paper-light); background: transparent; }
.privacy-retro .app-policy-card { min-height: 650px; padding: 0; }
.privacy-retro .policy-kicker { margin-bottom: 28px; color: rgba(245,237,216,.62); font: 600 7px/1 var(--legal-mono); letter-spacing: .12em; }
.privacy-retro .app-policy-card h2 { max-width: 980px; margin-bottom: 38px; color: var(--os-paper-light); font: 400 clamp(3.8rem, 6.4vw, 7.4rem)/.8 var(--legal-display); letter-spacing: -.07em; text-transform: none; }
.privacy-retro .policy-lede { max-width: 840px; margin-bottom: 66px; color: rgba(245,237,216,.8); font: 400 clamp(1.08rem, 1.7vw, 1.4rem)/1.55 var(--legal-sans); }
.privacy-retro .policy-sections { gap: 48px 72px; max-width: 1100px; }
.privacy-retro .policy-sections section { padding: 0; border: 0; }
.privacy-retro .policy-sections h3 { margin-bottom: 12px; color: rgba(245,237,216,.92); font: 600 .78rem/1.35 var(--legal-sans); text-transform: none; }
.privacy-retro .policy-sections p { color: rgba(245,237,216,.7); font: 400 .84rem/1.7 var(--legal-sans); }
.privacy-retro .policy-facts { display: flex; gap: clamp(30px, 6vw, 85px); max-width: 900px; margin-bottom: 66px; border: 0; }
.privacy-retro .policy-facts div { gap: 9px; min-width: 130px; padding: 0; }
.privacy-retro .policy-facts div + div { border: 0; }
.privacy-retro .policy-facts b { color: rgba(245,237,216,.55); font: 600 6px/1 var(--legal-mono); letter-spacing: .1em; }
.privacy-retro .policy-facts strong { color: var(--os-paper-light); font: 400 clamp(1.2rem, 2vw, 1.7rem)/1.1 var(--legal-display); text-transform: none; }
.privacy-retro .app-policy-card .ui-button { border: 1px solid rgba(245,237,216,.5); color: var(--os-paper-light); background: transparent; box-shadow: none; }
.privacy-retro .app-policy-card .ui-button:hover { color: #10120f; background: var(--os-gold); box-shadow: none; transform: none; }
.privacy-retro .pending-label { padding: 0; border: 0; color: #c98578; background: transparent; font: 600 7px/1 var(--legal-mono); letter-spacing: .1em; }

.privacy-retro .legal-identity { min-height: 0; margin: 40px -22px 0; padding: 42px clamp(28px, 5vw, 72px); border: 0; color: var(--os-paper-light); background: rgba(0,0,0,.1); box-shadow: none; }
.privacy-retro .legal-identity .policy-kicker { color: rgba(245,237,216,.58); }
.privacy-retro .legal-identity h2 { margin-bottom: 14px; font: 400 clamp(1.8rem, 3vw, 3rem)/.92 var(--legal-display); letter-spacing: -.055em; text-transform: none; }
.privacy-retro .legal-identity-copy > p:last-child { color: rgba(245,237,216,.5); font: 400 .76rem/1.55 var(--legal-sans); }
.privacy-retro .legal-facts { display: grid; gap: 16px; border: 0; }
.privacy-retro .legal-facts > div { grid-template-columns: 170px max-content; align-items: baseline; justify-content: start; gap: 28px; padding: 0; border: 0; }
.privacy-retro .legal-facts dt { color: rgba(245,237,216,.68); font: 600 7px/1.45 var(--legal-mono); letter-spacing: .08em; }
.privacy-retro .legal-facts dd { color: rgba(245,237,216,.84); font: 400 12px/1.5 var(--legal-sans); }
.privacy-retro .legal-facts dd:not(:has(a)) { color: rgba(245,237,216,.62); }
.privacy-retro .desktop-footer { border-top-color: rgba(245,237,216,.12); }

@media (max-width: 900px) {
  .privacy-retro .privacy-switcher { grid-template-columns: 175px minmax(0, 1fr); gap: 42px; padding-right: 38px; padding-left: 38px; }
  .privacy-retro .policy-sections { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .privacy-retro .compact-hero, .privacy-retro .compact-hero-body { min-height: calc(100svh - 68px); }
  .privacy-retro .compact-hero-body { padding: 64px 24px; }
  .privacy-retro .compact-hero-body h1 { font-size: 18vw; }
  .privacy-retro .privacy-switcher { display: block; padding: 90px 24px; }
  .privacy-retro .policy-picker { max-height: none; margin-bottom: 72px; padding-right: 0; overflow: visible; }
  .privacy-retro .policy-choices { grid-template-columns: 1fr 1fr; gap: 4px 12px; }
  .privacy-retro .policy-choice:nth-child(even) { border: 0; }
  .privacy-retro .app-policy-card h2 { font-size: 15vw; }
  .privacy-retro .policy-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
  .privacy-retro .policy-facts div + div { border: 0; }
  .privacy-retro .legal-identity { margin: 24px -9px 0; padding: 34px 24px; }
  .privacy-retro .legal-facts > div { grid-template-columns: 1fr; gap: 7px; }
}
