/* Mission editorial layer. CMS data is shared; the desktop theme stays separate. */
.mission-home { position:relative; isolation:isolate; grid-template-columns:minmax(0,1.13fr) minmax(0,.87fr); column-gap:80px; row-gap:48px; padding-top:122px; padding-bottom:0; }
.mission-topline { grid-column:1/-1; display:flex; justify-content:space-between; gap:24px; align-items:center; padding:0 0 18px; border-bottom:1px solid var(--line); color:#aaa9a3; font:400 9px/1.6 'DM Mono',monospace; letter-spacing:.09em; }
.mission-topline > span:first-child { display:flex; align-items:center; gap:10px; }
.mission-topline i { width:5px; height:5px; background:#ff947e; border-radius:50%; box-shadow:0 0 12px #ff947e55; }
.mission-topline b { font-size:16px; font-weight:400; color:#ff947e; margin-left:18px; }
.mission-home .hero-intro { position:relative; z-index:2; padding-block:24px; }
.mission-home .hero-intro h1.hero-statement { font-size:clamp(64px,6.2vw,94px); line-height:.96; letter-spacing:-.055em; }
.mission-home .hero-statement em { color:#ff9a84; }
.mission-home .hero-lead { max-width:510px; font-size:14px; margin-top:30px; }
.mission-home .hero-identity .site-kicker { font-size:8px; letter-spacing:.12em; line-height:1.7; }
.mission-home .hero-actions { gap:24px; }
.mission-portrait-frame { position:relative; padding:30px 22px 32px; min-width:0; }
.mission-home .hero-playground { height:480px; border-radius:160px 160px 8px 8px; border:1px solid #eae5da40; z-index:1; background:#242625; }
.mission-home .hero-portrait { filter:saturate(.7); }
.mission-home .hero-orbit { opacity:.4; }
.mission-home .play-hint { background:#171c1bed; color:#ece9e2; border:1px solid #eae5da30; border-radius:2px; left:14px; bottom:14px; }
.mission-home .float-chip { font-size:8px; padding:10px 12px; }
.mission-frame-label,.mission-frame-bottom { position:absolute; left:22px; color:#b1b0aa; font:400 8px/1.3 'DM Mono',monospace; letter-spacing:.13em; }
.mission-frame-label { top:7px; }
.mission-frame-bottom { bottom:8px; }
.mission-trajectory { position:absolute; width:145%; height:125%; max-width:none; left:-22%; top:-12%; pointer-events:none; stroke:#e7ded0; stroke-width:.7; opacity:.25; z-index:0; }
.mission-trajectory .trajectory-satellite { stroke:#ff987f; fill:#ff987f; transform-origin:350px 350px; }
.mission-in-view:not(.mission-motion-paused) .trajectory-satellite { animation:mission-orbit-pass 26s linear infinite; }
.mission-badge { display:block; position:relative; width:128px; aspect-ratio:1; border-radius:50%; color:#d8a491; background:#1b211f; box-shadow:0 8px 24px #0003; font-size:0; line-height:0; }
.mission-badge svg { display:block; width:100%; height:100%; stroke:currentColor; stroke-width:.7; }
.mission-badge svg text { fill:currentColor; stroke:none; font:8px 'DM Mono',monospace; letter-spacing:1px; }
.mission-badge .badge-rim { opacity:.5; }
.mission-badge .badge-register { opacity:.6; }
.mission-badge .badge-signal { fill:currentColor; stroke:none; }
.mission-badge .badge-symbol { position:absolute; width:48%; height:48%; left:26%; top:25%; object-fit:contain; border-radius:0; }
.mission-badge small { position:absolute; top:77%; left:16%; right:16%; text-align:center; font:500 6px/1.35 'DM Mono',monospace; letter-spacing:.07em; overflow-wrap:anywhere; }
.mission-badge-custom { background:transparent; box-shadow:none; }
.mission-badge-custom img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; border-radius:0; }
.mission-portrait-badge { position:absolute; z-index:3; right:-12px; bottom:35px; border-radius:50%; transition:transform .25s; }
.mission-portrait-badge:hover { transform:translateY(-3px); }
.mission-portrait-badge:focus-visible { outline:2px solid #ff9a84; outline-offset:5px; }
.mission-home-footer { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr 1.25fr; gap:20px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:23px 0; z-index:2; background:var(--paper); }
.mission-home-footer > * { display:flex; flex-direction:column; gap:9px; }
.mission-home-footer span { font:400 8px 'DM Mono',monospace; color:#aaa9a3; letter-spacing:.12em; }
.mission-home-footer strong,.mission-home-footer a { font-size:12px; font-weight:500; text-decoration:none; color:var(--ink); }
.mission-home-footer i { font-style:normal; color:#ff9a84; margin-left:8px; }
.mission-home-footer .mission-explore { border-left:1px solid var(--line); padding-left:28px; }
.mission-home-footer a:hover strong,.mission-home-footer a:hover { color:#ff9a84; }
.mission-project-stage { isolation:isolate; }
.mission-project-stage:not(.has-image) { background:radial-gradient(ellipse at 78% 50%,#75433333,transparent 60%),#202725!important; color:#ece9e2!important; border:1px solid #e8dcca26; }
.mission-project-stage:not(.has-image) .mission-trajectory { width:80%; height:145%; left:36%; top:-25%; opacity:.35; }
.mission-project-stage .mission-stage-insignia { position:absolute; right:24px; top:22px; z-index:2; padding:0; border:0; }
.mission-project-stage .mission-badge { width:100px; }
.mission-project-stage > strong,.mission-project-stage > span:not(.mission-stage-insignia),.mission-project-stage > i { z-index:1; }
.mission-project-stage:not(.has-image) > strong { font-size:clamp(60px,10vw,132px); letter-spacing:-.07em; }
.mission-project-stage .project-stage-badge { display:none; }
.mission-case .case-breadcrumb { display:flex; align-items:center; }
.mission-case .mission-file-id { margin-left:auto; color:#ff9a84; font-size:8px; letter-spacing:.08em; }
.mission-case .case-hero-grid { grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:28px; }
.mission-case .case-title-card { border-radius:4px; min-height:550px; border:1px solid #ece9e230; }
.mission-case .case-title-card:not(.has-image) { background:radial-gradient(ellipse at 72% 40%,#69504340,transparent 65%),#202725; color:#ece9e2; }
.mission-case .case-title-card::before,.mission-case .case-title-card::after { display:none; }
.mission-case .case-title-card > h1 { position:relative; z-index:1; font-size:clamp(72px,8vw,120px); }
.mission-case .case-title-card > div { position:relative; z-index:1; }
.mission-case .case-title-card .mission-trajectory { width:120%; height:115%; left:0; top:-12%; opacity:.35; }
.mission-case-insignia { position:absolute; top:26%; left:calc(50% - 80px); }
.mission-case-insignia .mission-badge { width:160px; }
.mission-case .case-question { border-radius:0; background:transparent; border:0; padding:30px 0 10px; min-height:550px; }
.mission-case .case-question > div > span { color:#ff9a84; }
.mission-case .case-question > div > p { font-size:clamp(34px,3.5vw,52px); line-height:1.06; max-width:none; }
.mission-case .case-meta { border-bottom:1px solid var(--line); }
.mission-case .case-meta > div > span { color:#ff9a84; }
.mission-case .case-chapter-media { position:relative; }
.mission-case .case-chapter-media::before { content:'+'; position:absolute; left:-14px; top:-18px; color:#ff9a84; font:20px 'DM Mono',monospace; }
@keyframes mission-orbit-pass { to { transform:rotate(360deg); } }
@media(min-width:1500px) { .mission-home { column-gap:100px; } }
@media(max-width:1000px) and (min-width:761px) {
  .mission-home { column-gap:30px; }
  .mission-home .hero-intro h1.hero-statement { font-size:62px; }
  .mission-home .hero-playground { height:440px; }
  .mission-portrait-frame { padding-inline:8px; }
  .mission-portrait-badge { right:-8px; }
}
@media(max-width:760px) {
  .mission-home { grid-template-columns:minmax(0,1fr); padding-top:98px; row-gap:22px; }
  .mission-topline { gap:12px; font-size:7px; padding-bottom:14px; }
  .mission-topline b { display:none; }
  .mission-home .hero-intro { padding:12px 0 0; }
  .mission-home .hero-intro h1.hero-statement { font-size:clamp(49px,12.5vw,76px); max-width:560px; line-height:.98; }
  .mission-home .hero-lead { font-size:13px; line-height:1.7; margin-top:24px; }
  .mission-home .hero-actions { flex-wrap:wrap; margin-top:24px; gap:16px; }
  .mission-portrait-frame { margin:12px 12px 6px; padding:27px 12px 30px; }
  .mission-home .hero-playground { height:440px; border-radius:150px 150px 6px 6px; }
  .mission-portrait-badge { right:-8px; bottom:40px; }
  .mission-portrait-badge .mission-badge { width:114px; }
  .mission-portrait-frame > .mission-trajectory { width:100%; left:0; }
  .mission-frame-label,.mission-frame-bottom { left:12px; font-size:7px; }
  .mission-home-footer { grid-template-columns:1fr 1fr; gap:22px 12px; padding:20px 0; }
  .mission-home-footer .mission-explore { grid-column:1/-1; padding:18px 0 0; border-left:0; border-top:1px solid var(--line); flex-direction:row; align-items:center; justify-content:space-between; gap:10px; }
  .mission-project-stage .mission-stage-insignia { right:14px; top:14px; }
  .mission-project-stage .mission-badge { width:82px; }
  .mission-case .case-hero-grid { grid-template-columns:1fr; gap:8px; }
  .mission-case .case-title-card { min-height:430px; }
  .mission-case .case-question { min-height:360px; padding:24px 0; }
  .mission-case .case-question > div > p { font-size:38px; }
  .mission-case .mission-file-id { font-size:6px; }
}
@media(prefers-reduced-motion:reduce) {
  .mission-home .trajectory-satellite,.mission-case .trajectory-satellite { animation:none!important; }
  .mission-portrait-badge { transition:none; }
}
