/* A single operations surface: typography, a solid selector and the existing architectural model. */
.operations { margin-top:80px; scroll-margin-top:120px; }
.ops-heading { display:flex; justify-content:space-between; align-items:end; gap:40px; margin-bottom:40px; }
.ops-heading h3 { font-size:clamp(58px,6vw,96px); line-height:.94; letter-spacing:-.02em; }
.ops-heading > p { color:#bcc5b4; font-size:18px; line-height:1.7; padding-bottom:5px; }
.ops-console { list-style:none; margin:0; padding:0; background:#11160f; }
.ops-step { list-style:none; }
.ops-select { display:none; }
.ops-panel { padding:36px; background:#171d14; min-width:0; }
.ops-panel[hidden] { display:none !important; }
.ops-copy h4 { font:600 clamp(48px,5vw,76px)/.94 var(--display); letter-spacing:-.02em; margin:0 0 22px; }
.ops-copy > p:not(.ops-static-label) { font-size:17px; line-height:1.7; color:#bcc5b4; max-width:660px; }
.ops-static-label { color:var(--orange); margin-bottom:24px; }
.ops-scene-slot { position:relative; min-width:0; margin:0 -20px; }
.ops-fallback { width:100%; max-height:430px; object-fit:contain; }
.ops-focus { display:flex; flex-wrap:wrap; justify-content:center; gap:10px 24px; list-style:none; padding:0; margin:0 0 28px; color:#d2d7ca; font:500 clamp(23px,2.2vw,32px)/1.15 var(--display); }
.ops-output { padding-top:22px; border-top:2px solid #3d4636; display:flex; flex-direction:column; gap:7px; }
.ops-output span { font-size:14px; color:#adb8a4; }
.ops-output strong { font-size:17px; font-weight:500; color:var(--white); }
.ops-console.is-enhanced { display:grid; grid-template-columns:minmax(240px,.85fr) minmax(0,1.8fr); grid-template-rows:repeat(7,minmax(110px,auto)); }
.is-enhanced .ops-step { display:contents; }
.is-enhanced .ops-select { display:flex; align-items:center; gap:20px; grid-column:1; grid-row:var(--step-row); border:0; border-bottom:2px solid #21271d; border-left:6px solid transparent; padding:20px 24px; text-align:left; color:#aeb8a4; background:#11160f; cursor:pointer; min-width:0; transition:background 160ms,color 160ms,border-color 160ms; }
.ops-number { font:500 clamp(25px,2.5vw,38px)/1 var(--display); color:#7d8b72; flex-shrink:0; font-variant-numeric:tabular-nums; }
.ops-name { font:600 clamp(27px,2.7vw,42px)/1 var(--display); text-transform:uppercase; max-width:220px; }
.ops-indicator { width:8px; height:8px; background:var(--orange); flex-shrink:0; margin-left:auto; opacity:0; transform:translateX(-5px); transition:opacity 160ms,transform 160ms; }
@media (hover:hover) {
  .is-enhanced .ops-select:hover { background:#252e1f; color:#fffef5; border-left-color:var(--orange); }
  .ops-select:hover .ops-indicator { opacity:1; transform:translateX(0); }
}
.is-enhanced .ops-select[aria-expanded=true] { background:var(--orange); color:#101210; border-left-color:var(--orange); border-bottom-color:var(--orange); }
.ops-select[aria-expanded=true] .ops-number { color:#442515; }
.ops-select[aria-expanded=true] .ops-indicator { background:#101210; opacity:1; transform:none; }
.ops-select:focus-visible { outline:3px solid #fff7d8; outline-offset:-5px; position:relative; z-index:2; }
.is-enhanced .ops-panel { grid-column:2; grid-row:1 / 8; display:flex; flex-direction:column; padding:40px clamp(28px,3.4vw,52px) 30px; }
.is-enhanced .ops-static-label { display:none; }
.is-enhanced .ops-output { margin-top:auto; }
.ops-scene { position:relative; width:100%; aspect-ratio:1.85; min-height:240px; }
.ops-scene > img,.ops-canvas { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; }
.ops-canvas { opacity:0; }
.ops-canvas canvas { display:block; width:100%; height:100%; }
.ops-scene.is-rendered > img { opacity:0; }
.ops-scene.is-rendered .ops-canvas { opacity:1; }
.ops-scene > img { transition:filter 180ms; }
.ops-scene[data-stage="1"] > img { filter:saturate(.4) contrast(1.05); }
.ops-scene[data-stage="2"] > img { filter:grayscale(1) contrast(1.2); }
.ops-caption { font-size:14px; color:#adb8a4; margin-top:20px; }
.mission-brief { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:60px; padding:64px 0 0; margin-top:64px; border-top:4px solid var(--orange); }
.brief-label { font-size:16px; color:var(--orange); margin-bottom:20px; }
.mission-brief h3 { font-size:clamp(58px,5.5vw,88px); line-height:.94; }
.brief-action p { color:#c4ccbb; max-width:500px; margin-bottom:28px; }
.brief-action .button { font-size:16px; min-height:60px; }
.brief-discuss { display:block; font-size:16px; width:fit-content; padding-block:14px 7px; margin-top:6px; }
.brief-dialog { background:#171d14; color:var(--white); width:min(620px,calc(100% - 32px)); padding:44px; border:0; border-top:5px solid var(--orange); max-height:calc(100svh - 32px); overflow:auto; }
.brief-dialog::backdrop { background:#070b06df; backdrop-filter:blur(4px); }
.brief-dialog h2 { font-size:clamp(48px,6vw,76px); line-height:.96; margin-bottom:22px; }
.brief-notice { color:#b7c0ae; font-size:14px; line-height:1.6; }
#brief-form { display:grid; gap:20px; margin-top:28px; }
#brief-form label { font-size:16px; display:grid; gap:9px; }
#brief-form input { min-width:0; width:100%; font:inherit; color:var(--white); background:#0f140d; border:1px solid #65735a; padding:14px; border-radius:0; }
#brief-form input:focus-visible { outline:2px solid var(--orange); outline-offset:2px; }
#brief-form .button { margin-top:6px; font-size:16px; }
#brief-form[hidden],#brief-contents[hidden] { display:none; }
#brief-contents { padding-top:30px; }
#brief-contents h3 { font-size:42px; }
#brief-contents ol { padding-left:22px; margin:24px 0; }
#brief-contents li { padding:7px 0; font-size:16px; line-height:1.5; }
#brief-contents p { color:var(--muted); font-size:16px; margin-bottom:24px; }
@media (max-width:1100px) and (min-width:801px) {
 .ops-console.is-enhanced { grid-template-columns:minmax(240px,.9fr) minmax(0,1.6fr); }
 .is-enhanced .ops-select { padding:20px 15px; gap:15px; }
 .ops-name { font-size:30px; }
 .ops-number { font-size:29px; }
 .is-enhanced .ops-panel { padding:30px 26px; }
 .ops-copy h4 { font-size:54px; }
 .ops-copy > p:not(.ops-static-label) { font-size:16px; }
 .ops-scene-slot { margin-inline:-22px; }
 .ops-focus { font-size:24px; gap:8px 16px; }
}
@media (max-width:800px) {
 .operations { margin-top:56px; }
 .ops-heading { display:block; margin-bottom:30px; }
 .ops-heading h3 { font-size:clamp(51px,10vw,76px); }
 .ops-heading > p { margin-top:22px; font-size:17px; }
 .ops-console.is-enhanced { display:block; }
 .is-enhanced .ops-step { display:block; }
 .is-enhanced .ops-select { width:100%; padding:22px 20px; gap:18px; min-height:82px; scroll-margin-top:105px; }
 .ops-name { font-size:clamp(30px,6vw,38px); max-width:none; }
 .ops-number { font-size:30px; }
 .is-enhanced .ops-panel,.ops-panel { padding:30px 22px; }
 .ops-copy h4 { font-size:clamp(43px,9.5vw,64px); margin-bottom:20px; }
 .ops-copy > p:not(.ops-static-label) { font-size:16px; line-height:1.75; }
 .ops-scene-slot { margin:0 -18px; }
 .ops-scene { aspect-ratio:1.4; min-height:0; }
 .ops-focus { font-size:24px; gap:9px 20px; margin:4px 0 26px; }
 .ops-output strong { font-size:16px; }
 .ops-caption { font-size:14px; line-height:1.6; }
 .mission-brief { grid-template-columns:1fr; gap:28px; padding-top:40px; margin-top:48px; }
 .mission-brief h3 { font-size:clamp(60px,12vw,82px); }
 .brief-action p { font-size:17px; }
 .brief-action .button { width:100%; }
 .brief-dialog { padding:36px 24px; }
}
@media (prefers-reduced-motion:reduce) {
 .ops-select,.ops-indicator,.ops-scene > img { transition:none !important; }
}

/* Framework title stays generous without forcing a long word beyond the column. */
.mission-brief h3 { font-size:clamp(48px,5vw,78px); }
@media(max-width:800px){.mission-brief h3{font-size:clamp(44px,9.5vw,68px);}}
