:root{--bg:#050607;--panel:#0a0d0f;--ink:#eef1ef;--muted:#8e999d;--line:rgba(255,255,255,.12);--orange:#ff641c;--cyan:#68d9ff;--hero-image:none}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{margin:0;background:var(--bg);color:var(--ink);font-family:'Barlow Condensed',sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}.grain{position:fixed;inset:0;z-index:100;pointer-events:none;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.cursor-glow{position:fixed;z-index:0;width:430px;height:430px;margin:-215px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(255,100,28,.055),transparent 68%)}.topbar{height:76px;position:fixed;inset:0 0 auto;z-index:80;display:flex;align-items:center;padding:0 34px;border-bottom:1px solid var(--line);background:rgba(4,5,6,.74);backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:12px;min-width:310px}.brand-mark{width:40px;height:40px;border:1px solid var(--line);display:grid;place-items:center;font-weight:900;font-size:22px;position:relative}.brand-mark:before{content:'';position:absolute;left:5px;right:5px;top:4px;height:2px;background:var(--orange)}.brand b{display:block;font-size:13px;letter-spacing:.2em}.brand small{display:block;font-family:'IBM Plex Mono';font-size:8px;letter-spacing:.24em;color:var(--muted);margin-top:3px}.topbar nav{display:flex;justify-content:center;gap:34px;flex:1}.topbar nav a,.resume-link{font-family:'IBM Plex Mono';font-size:9px;letter-spacing:.14em;text-transform:uppercase}.topbar nav a{color:#aab1b3}.topbar nav a:hover{color:white}.resume-link{min-width:310px;text-align:right}.resume-link span{color:var(--orange)}.menu{display:none;background:none;border:1px solid var(--line);width:40px;height:40px}.hero{min-height:100vh;padding-top:76px;position:relative;overflow:hidden}.hero-bg{position:absolute;inset:76px 0 0;background-image:var(--hero-image);background-size:cover;background-position:center;filter:saturate(.65) contrast(1.07);transition:background-image .5s}.veil{position:absolute;inset:76px 0 0;background:linear-gradient(90deg,#050607 0%,rgba(5,6,7,.94) 20%,rgba(5,6,7,.38) 58%,rgba(5,6,7,.74) 100%),linear-gradient(0deg,#050607,transparent 50%,rgba(5,6,7,.4))}.hero-grid{position:relative;z-index:2;min-height:calc(100vh - 76px);display:grid;grid-template-columns:280px 1fr 190px;gap:38px;width:min(1530px,calc(100% - 56px));margin:auto}.mission-index{border-right:1px solid var(--line);padding:46px 22px 310px 0}.micro{font-family:'IBM Plex Mono';font-size:9px;letter-spacing:.18em;text-transform:uppercase}.orange{color:var(--orange)}.rail-item{width:100%;display:grid;grid-template-columns:28px 1fr;text-align:left;gap:8px;border:1px solid transparent;border-left-color:var(--line);background:rgba(0,0,0,.16);padding:13px 10px;margin:8px 0;cursor:pointer;transition:.2s}.rail-item:hover,.rail-item.active{border-color:var(--orange);transform:translateX(5px);background:rgba(255,100,28,.07)}.rail-item>span{font-family:'IBM Plex Mono';font-size:8px;color:var(--orange)}.rail-item small{display:block;color:#8f999c;font-family:'IBM Plex Mono';font-size:7px;letter-spacing:.08em;text-transform:uppercase}.rail-item b{font-size:11px;text-transform:uppercase;letter-spacing:.07em}.all-work{display:flex;justify-content:space-between;margin-top:20px;font-family:'IBM Plex Mono';font-size:8px;letter-spacing:.14em}.hero-copy{align-self:center;padding:0 0 18vh 3vw}.eyebrow{color:var(--orange);font-family:'IBM Plex Mono';font-size:10px;letter-spacing:.2em}.hero h1{margin:18px 0;font-size:clamp(70px,7.2vw,124px);line-height:.77;letter-spacing:-.025em;text-transform:uppercase;font-weight:900}.hero h1 span{display:block}.hero h1 .outline{-webkit-text-stroke:1px rgba(255,255,255,.72);color:transparent}.lede{font-size:21px;max-width:610px;margin:28px 0 8px}.hero-note{font-family:'IBM Plex Mono';font-size:10px;line-height:1.7;color:#a6afb2;max-width:590px}.hero-actions{display:flex;gap:10px;margin-top:28px}.button{border:1px solid var(--line);padding:14px 18px;display:inline-flex;justify-content:space-between;align-items:center;gap:24px;font-family:'IBM Plex Mono';font-size:9px;letter-spacing:.1em;text-transform:uppercase;transition:.18s;background:rgba(6,8,9,.54)}.button:hover{border-color:var(--orange)}.button.primary{background:var(--orange);border-color:var(--orange);color:#090909;font-weight:600}.metrics{align-self:start;border-left:1px solid var(--line);padding:58px 0 300px 22px}.metrics>div{border-bottom:1px solid var(--line);padding:0 0 20px;margin-bottom:20px}.metrics strong{font-size:39px;display:block}.metrics span{font-family:'IBM Plex Mono';font-size:7px;letter-spacing:.1em;color:#a4adaf;text-transform:uppercase}.metrics blockquote{margin:30px 0;font-family:'IBM Plex Mono';font-size:8px;line-height:1.8;color:#c6ccce;text-transform:uppercase}.tactical-console{position:absolute;z-index:5;left:50%;bottom:-35px;transform:translateX(-50%);width:min(1280px,82vw);height:235px;border:1px solid rgba(104,217,255,.25);background:rgba(5,13,17,.94);clip-path:polygon(2% 0,98% 0,100% 12%,98% 100%,2% 100%,0 12%);display:grid;grid-template-columns:230px 1fr 220px;gap:25px;padding:30px 42px;box-shadow:0 -20px 90px #000,inset 0 0 60px rgba(104,217,255,.06)}.console-copy h3{margin:9px 0;font-size:20px}.console-copy p{font-family:'IBM Plex Mono';font-size:8px;line-height:1.7;color:#9faeb3}.map-wrap svg{width:100%;height:100%}.map-grid path{stroke:rgba(104,217,255,.08);stroke-width:1}.terrain{fill:none;stroke:rgba(255,255,255,.12);stroke-width:28;stroke-dasharray:5 9}.route{fill:none;stroke:var(--cyan);stroke-width:2;filter:url(#glow)}.nodes circle{fill:var(--orange);filter:url(#glow)}.map-labels{fill:#d9f7ff;font-family:'IBM Plex Mono';font-size:8px;letter-spacing:1px}.console-stats{display:grid;align-content:center;grid-template-columns:auto 1fr;gap:9px 10px;font-family:'IBM Plex Mono';font-size:7px}.console-stats span{color:var(--orange)}.console-stats b{font-weight:400;color:#b9c8cd}.section{padding:125px max(28px,calc((100vw - 1300px)/2));position:relative}.work-section{padding-top:190px}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:60px;margin-bottom:48px}.section-head h2,.about-title h2,.contact-section h2,.case-copy h2{font-size:clamp(58px,6vw,92px);line-height:.84;margin:12px 0 0;text-transform:uppercase}.section-head>p{max-width:520px;font-family:'IBM Plex Mono';font-size:10px;line-height:1.8;color:var(--muted)}.filter-row{display:flex;gap:8px;margin-bottom:22px}.filter-row button,.case-tabs button{border:1px solid var(--line);background:transparent;padding:9px 13px;font-family:'IBM Plex Mono';font-size:8px;text-transform:uppercase;letter-spacing:.1em;cursor:pointer}.filter-row button.active,.filter-row button:hover,.case-tabs button.active{border-color:var(--orange);color:var(--orange)}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.project-card{min-height:440px;border:1px solid var(--line);position:relative;overflow:hidden;cursor:pointer;transition:.35s;background:#0a0d0f}.project-card.filtered{display:none}.project-card img{position:absolute;width:100%;height:100%;object-fit:cover;filter:saturate(.65);transition:.6s}.card-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,6,7,.98),rgba(4,6,7,.08) 72%)}.project-card:hover{transform:translateY(-7px);border-color:rgba(255,100,28,.7)}.project-card:hover img{transform:scale(1.045);filter:saturate(.9)}.card-index{position:absolute;top:15px;left:15px;font-family:'IBM Plex Mono';font-size:8px}.card-copy{position:absolute;left:20px;right:58px;bottom:20px}.card-copy p,.card-copy span{font-family:'IBM Plex Mono';font-size:7px;letter-spacing:.12em;color:var(--orange);text-transform:uppercase}.card-copy h3{font-size:30px;line-height:.95;margin:7px 0;text-transform:uppercase}.project-card>button{position:absolute;right:16px;bottom:16px;width:34px;height:34px;border:1px solid var(--line);background:rgba(0,0,0,.2)}.featured-case{background:#080b0d;padding-top:80px;padding-bottom:80px}.case-sticky{display:grid;grid-template-columns:380px 1fr;gap:70px;align-items:center}.case-copy p:not(.micro){font-family:'IBM Plex Mono';font-size:10px;line-height:1.8;color:var(--muted)}.case-tabs{display:flex;gap:7px;margin-top:25px}.map-explorer{border:1px solid rgba(104,217,255,.25);height:620px;background:#061014;overflow:hidden;position:relative}.map-toolbar,.map-caption{position:absolute;z-index:5;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:14px 17px;background:rgba(4,9,12,.84);font-family:'IBM Plex Mono';font-size:8px;letter-spacing:.1em}.map-toolbar{top:0;border-bottom:1px solid var(--line)}.map-toolbar button{background:none;border:1px solid var(--line);font-size:8px;padding:5px 8px}.map-caption{bottom:0;border-top:1px solid var(--line)}.map-caption span{max-width:70%;color:#9eacb1;line-height:1.5}.blueprint{position:absolute;inset:50px 0 50px;transform-origin:center;transition:.3s;background-image:linear-gradient(rgba(104,217,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(104,217,255,.08) 1px,transparent 1px),radial-gradient(circle at 50% 50%,rgba(104,217,255,.08),transparent 60%);background-size:32px 32px,32px 32px,auto}.bp-room{position:absolute;border:2px solid rgba(205,241,255,.5);background:rgba(104,217,255,.05);box-shadow:inset 0 0 30px rgba(104,217,255,.05)}.r1{left:8%;top:37%;width:19%;height:22%}.r2{left:29%;top:24%;width:18%;height:48%}.r3{left:50%;top:34%;width:16%;height:26%}.r4{left:69%;top:17%;width:20%;height:34%}.r5{left:72%;top:57%;width:17%;height:20%}.bp-route{position:absolute;left:13%;top:48%;width:71%;height:6px;background:var(--orange);box-shadow:0 0 20px rgba(255,100,28,.55);transform:rotate(-3deg);clip-path:polygon(0 35%,92% 35%,92% 0,100% 50%,92% 100%,92% 65%,0 65%)}.pin{position:absolute;width:28px;height:28px;border-radius:50%;background:var(--orange);color:#070707;display:grid;place-items:center;font-family:'IBM Plex Mono';font-size:8px;font-style:normal}.p1{left:12%;top:43%}.p2{left:37%;top:39%}.p3{left:58%;top:45%}.p4{left:81%;top:37%}.bp-label{position:absolute;font-family:'IBM Plex Mono';font-size:7px;letter-spacing:.08em}.l1{left:8%;top:63%}.l2{left:29%;top:76%}.l3{left:52%;top:64%}.l4{left:76%;top:12%}.map-explorer[data-layer=combat] .bp-route{background:#ff3e2f}.map-explorer[data-layer=combat] .bp-room{box-shadow:inset 0 0 50px rgba(255,62,47,.18)}.map-explorer[data-layer=cinematic] .bp-route{background:#d9b4ff}.map-explorer[data-layer=cinematic] .pin{background:#d9b4ff}.process-section{background:#050607}.process-grid{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.process-card{min-height:290px;padding:25px 20px;border-right:1px solid var(--line)}.process-card:last-child{border-right:0}.process-card>span{font-family:'IBM Plex Mono';color:var(--orange);font-size:24px}.process-card h3{font-size:20px;margin-top:70px;text-transform:uppercase}.process-card p{font-family:'IBM Plex Mono';font-size:9px;line-height:1.7;color:var(--muted)}.about-section{background:radial-gradient(circle at 80% 15%,rgba(255,100,28,.08),transparent 30%),#080b0d}.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:75px}.big-copy{font-size:25px;line-height:1.35;margin:38px 0}.skills{display:grid;grid-template-columns:1fr 1fr;gap:12px}.skill-group{border:1px solid var(--line);padding:20px}.skill-group h3{font-family:'IBM Plex Mono';font-size:8px;color:var(--orange);letter-spacing:.1em}.skill-group span{display:inline-block;border:1px solid var(--line);padding:6px 8px;margin:3px;font-family:'IBM Plex Mono';font-size:7px;text-transform:uppercase}.career{margin-top:90px;border-top:1px solid var(--line)}.career-row{display:grid;grid-template-columns:170px 360px 1fr;gap:25px;padding:25px 0;border-bottom:1px solid var(--line);align-items:start}.career-row>span,.career-row p{font-family:'IBM Plex Mono';font-size:8px;color:var(--muted)}.career-row h3{font-size:18px;margin:0;text-transform:uppercase}.career-row b{font-family:'IBM Plex Mono';font-size:8px;color:var(--orange)}.career-row p{line-height:1.7;margin:0}.contact-section{min-height:75vh;padding:130px max(28px,calc((100vw - 1300px)/2));position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center}.contact-section h2{font-size:clamp(68px,8vw,122px)}.contact-section h2 span{-webkit-text-stroke:1px rgba(255,255,255,.7);color:transparent}.contact-section>p:not(.micro){font-family:'IBM Plex Mono';font-size:10px;color:var(--muted)}.contact-actions{display:flex;gap:10px;margin-top:26px}.contact-orbit{position:absolute;width:700px;height:700px;border:1px solid rgba(255,100,28,.16);border-radius:50%;right:-180px;top:50%;transform:translateY(-50%)}.contact-orbit:before,.contact-orbit:after{content:'';position:absolute;border:1px solid rgba(104,217,255,.12);border-radius:50%}.contact-orbit:before{inset:90px}.contact-orbit:after{inset:210px}footer{border-top:1px solid var(--line);padding:30px max(28px,calc((100vw - 1300px)/2));display:flex;justify-content:space-between;font-family:'IBM Plex Mono';font-size:7px;color:#727d80}.project-modal{position:fixed;inset:0;z-index:120;background:rgba(0,0,0,.84);backdrop-filter:blur(12px);display:none;place-items:center;padding:25px}.project-modal.open{display:grid}.modal-card{width:min(1100px,96vw);max-height:90vh;overflow:auto;display:grid;grid-template-columns:1.2fr .8fr;background:#080b0d;border:1px solid rgba(255,100,28,.5);position:relative}.modal-visual{min-height:620px;background-size:cover;background-position:center}.modal-copy{padding:48px}.modal-copy h2{font-size:52px;line-height:.9;text-transform:uppercase}.modal-copy p,.modal-copy li,.nda{font-family:'IBM Plex Mono';font-size:9px;line-height:1.75;color:#a4afb2}.modal-copy h3{font-family:'IBM Plex Mono';font-size:9px;color:var(--orange);margin-top:28px}.nda{border:1px solid var(--line);padding:14px;margin-top:25px}.modal-close{position:absolute;z-index:2;right:14px;top:14px;width:38px;height:38px;background:#080b0d;border:1px solid var(--line);font-size:22px}.reveal{opacity:0;transform:translateY(20px);transition:.75s}.reveal.seen{opacity:1;transform:none}@media(max-width:1100px){.topbar nav{display:none}.resume-link{min-width:auto;margin-left:auto}.hero-grid{grid-template-columns:220px 1fr}.metrics{display:none}.tactical-console{width:92vw}.project-grid{grid-template-columns:1fr 1fr}.process-grid{grid-template-columns:repeat(3,1fr)}.process-card:nth-child(3){border-right:0}.process-card:nth-child(n+4){border-top:1px solid var(--line)}.case-sticky{grid-template-columns:1fr}.career-row{grid-template-columns:150px 280px 1fr}}@media(max-width:760px){.topbar{padding:0 14px}.brand{min-width:0}.brand small,.resume-link{display:none}.menu{display:block;margin-left:auto}.topbar nav.open{display:flex;position:absolute;top:76px;left:0;right:0;background:#07090a;padding:20px;flex-direction:column}.hero-grid{grid-template-columns:1fr;width:calc(100% - 28px)}.mission-index{display:none}.hero-copy{padding:10vh 0 280px}.hero h1{font-size:58px}.tactical-console{height:230px;grid-template-columns:1fr;padding:25px;bottom:10px}.console-copy,.console-stats{display:none}.section{padding-left:18px;padding-right:18px}.section-head{display:block}.section-head>p{margin-top:25px}.project-grid{grid-template-columns:1fr}.project-card{min-height:390px}.process-grid{grid-template-columns:1fr}.process-card{border-right:0;border-top:1px solid var(--line)}.about-layout{grid-template-columns:1fr}.skills{grid-template-columns:1fr}.career-row{grid-template-columns:1fr}.map-explorer{height:470px}.contact-actions{flex-direction:column}.modal-card{grid-template-columns:1fr}.modal-visual{min-height:280px}.modal-copy{padding:28px}footer{display:block}footer span{display:block;margin:8px 0}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.reveal{opacity:1;transform:none}.cursor-glow{display:none}}
.top-actions{display:flex;align-items:center;gap:18px;margin-left:auto}.editor-launch{border:1px solid var(--orange);background:rgba(255,100,28,.08);color:var(--orange);padding:9px 12px;font-family:'IBM Plex Mono';font-size:8px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.video-badge{position:absolute;right:14px;top:14px;z-index:2;padding:7px 9px;background:var(--orange);color:#090909;font-family:'IBM Plex Mono';font-size:7px;font-weight:700;letter-spacing:.08em}.modal-media{position:relative;min-height:620px}.modal-media .modal-visual{position:absolute;inset:0}.video-frame{display:none;position:absolute;inset:0;background:#000}.modal-media.has-video .modal-visual{display:none}.modal-media.has-video .video-frame{display:block}.video-frame iframe{width:100%;height:100%;border:0}.editor-open{overflow:hidden}.editor-backdrop{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.82);backdrop-filter:blur(12px);display:none;justify-content:flex-end}.editor-backdrop.open{display:flex}.editor-panel{width:min(520px,100vw);height:100%;overflow:auto;background:#080b0d;border-left:1px solid rgba(255,100,28,.5);padding:28px;box-shadow:-20px 0 80px #000}.editor-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:18px}.editor-header h2{font-size:34px;text-transform:uppercase;margin:5px 0}.editor-close{width:38px;height:38px;background:transparent;border:1px solid var(--line);font-size:22px;cursor:pointer}.editor-help,.field-note,.save-status{font-family:'IBM Plex Mono';font-size:9px;line-height:1.6;color:var(--muted)}.editor-field{display:block;margin:18px 0}.editor-field>span{display:block;margin-bottom:8px;font-family:'IBM Plex Mono';font-size:8px;color:var(--orange);letter-spacing:.1em;text-transform:uppercase}.editor-field input,.editor-field select{width:100%;border:1px solid var(--line);background:#050607;color:white;padding:13px;font-family:'IBM Plex Mono';font-size:10px}.editor-preview{position:relative;aspect-ratio:16/9;border:1px solid var(--line);background:#050607;overflow:hidden}.editor-preview>img{width:100%;height:100%;object-fit:cover}.preview-video{position:absolute;right:10px;bottom:10px;width:46%;aspect-ratio:16/9;border:1px solid var(--orange);background:#000}.preview-video iframe{width:100%;height:100%;border:0}.upload-button{display:inline-flex;border:1px solid var(--line);padding:11px 14px;font-family:'IBM Plex Mono';font-size:8px;text-transform:uppercase;letter-spacing:.1em;cursor:pointer}.upload-button input,.import-button input{display:none}.editor-actions{display:flex;gap:8px;margin:18px 0}.editor-actions.wrap{flex-wrap:wrap}.editor-actions .button{cursor:pointer}.button.danger{border-color:#a83c35;color:#ff847d}.editor-panel hr{border:0;border-top:1px solid var(--line);margin:26px 0}.save-status{min-height:20px;color:var(--orange)}
@media(max-width:1100px){.top-actions .resume-link{display:none}}@media(max-width:760px){.editor-launch{padding:8px}.top-actions{margin-left:auto}.modal-media{min-height:280px}.editor-panel{padding:20px}.preview-video{width:55%}}


/* QA readability pass: minimum legible type scale for high-resolution displays */
html{font-size:18px}
body{font-size:18px}
.micro,.topbar nav a,.resume-link,.hero-note,.eyebrow,.rail-item>span,.rail-item small,.all-work,.button,.metrics span,.metrics blockquote,.console-copy p,.map-labels,.console-stats,.section-head>p,.filter-row button,.case-tabs button,.card-index,.card-copy p,.card-copy span,.case-copy p:not(.micro),.map-toolbar,.map-caption,.map-toolbar button,.pin,.bp-label,.process-card p,.skill-group h3,.skill-group span,.career-row>span,.career-row p,.career-row b,.contact-section>p:not(.micro),footer,.modal-copy p,.modal-copy li,.nda,.modal-copy h3,.editor-launch,.video-badge,.editor-help,.field-note,.save-status,.editor-field>span,.upload-button{font-size:clamp(12px,.72vw,14px)}
.brand small{font-size:11px}.brand b{font-size:15px}.rail-item b{font-size:15px}.console-copy h3{font-size:24px}.lede{font-size:24px}.process-card h3{font-size:24px}.career-row h3{font-size:22px}.editor-field input,.editor-field select{font-size:14px}.project-card>button,.map-toolbar button,.modal-close,.editor-close,.menu{cursor:pointer}.filter-row button,.case-tabs button,.rail-item{min-height:42px}.button{min-height:46px}.topbar nav a{padding:12px 4px}.project-card>button{width:44px;height:44px}.map-toolbar button{min-width:38px;min-height:34px}
@media(max-width:760px){html,body{font-size:17px}.micro,.topbar nav a,.resume-link,.hero-note,.eyebrow,.rail-item>span,.rail-item small,.all-work,.button,.metrics span,.metrics blockquote,.console-copy p,.map-labels,.console-stats,.section-head>p,.filter-row button,.case-tabs button,.card-index,.card-copy p,.card-copy span,.case-copy p:not(.micro),.map-toolbar,.map-caption,.map-toolbar button,.pin,.bp-label,.process-card p,.skill-group h3,.skill-group span,.career-row>span,.career-row p,.career-row b,.contact-section>p:not(.micro),footer,.modal-copy p,.modal-copy li,.nda,.modal-copy h3,.editor-launch,.video-badge,.editor-help,.field-note,.save-status,.editor-field>span,.upload-button{font-size:13px}}
/* F1 project manager */
.project-manager{width:min(760px,100vw)}
.manager-toolbar{display:flex;align-items:end;gap:8px;margin:12px 0}.manager-toolbar.compact{align-items:center}.manager-toolbar .grow{flex:1;margin:0}
.editor-grid.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.editor-field textarea{width:100%;resize:vertical;border:1px solid var(--line);background:#050607;color:#fff;padding:13px;font-family:'IBM Plex Mono';font-size:14px;line-height:1.5}
.editor-panel code{color:var(--orange)}.build-label{position:fixed;right:10px;bottom:8px;z-index:99999;font:600 12px/1.2 system-ui;color:#aaa;background:#111c;padding:6px 8px;border:1px solid #444;border-radius:4px;pointer-events:none}
@media(max-width:620px){.editor-grid.two{grid-template-columns:1fr}.manager-toolbar{flex-wrap:wrap}.manager-toolbar .grow{flex-basis:100%}}

/* F2 editable section media */
.map-wrap,.blueprint{position:relative;overflow:hidden}.section-media-image{display:none;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.56;z-index:0}.section-media-image.has-image{display:block}.map-wrap svg{position:relative;z-index:1}.blueprint>*:not(.section-media-image){z-index:1}.blueprint .section-media-image{position:absolute;z-index:0;filter:saturate(.7) contrast(1.08)}
.editor-section-heading{display:grid;grid-template-columns:1fr;gap:8px;margin:10px 0 20px}.editor-section-heading h3{font-size:28px;text-transform:uppercase;margin:4px 0}.editor-section-heading p{font-family:'IBM Plex Mono';font-size:13px;line-height:1.6;color:var(--muted);margin:0}.editor-details{border:1px solid var(--line);padding:0 16px 18px;margin:14px 0;background:#050708}.editor-details summary{cursor:pointer;padding:16px 0;font-family:'Barlow Condensed';font-size:22px;font-weight:700;text-transform:uppercase;color:#fff}.editor-details summary::marker{color:var(--orange)}.section-preview{margin:4px 0 16px;aspect-ratio:2.4/1}.section-preview:empty:after{content:'No replacement image selected — tactical graphic remains visible';position:absolute;inset:0;display:grid;place-items:center;padding:24px;text-align:center;font-family:'IBM Plex Mono';font-size:12px;color:var(--muted)}.editor-subhead{margin:24px 0 0;padding-top:18px;border-top:1px solid var(--line);font-family:'IBM Plex Mono';font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--orange)}

/* F4 optional top-down project media + highlight reel */
.topdown-badge{position:absolute;left:14px;top:14px;z-index:2;padding:7px 9px;background:#091014dd;border:1px solid var(--orange);color:var(--orange);font-family:'IBM Plex Mono';font-size:12px;font-weight:700;letter-spacing:.08em}.project-card .video-badge+.topdown-badge{top:50px}.modal-topdown{grid-column:1/-1;padding:0 48px 48px;background:#080b0d}.modal-topdown[hidden]{display:none}.modal-topdown-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.modal-topdown figure{margin:0}.modal-topdown img{display:block;width:100%;aspect-ratio:16/10;object-fit:contain;background:#030405;border:1px solid var(--line);padding:12px}.modal-topdown figcaption{font-family:'IBM Plex Mono';font-size:12px;color:var(--muted);padding:8px 0}.preview-topdown-stack{position:absolute;left:10px;bottom:10px;width:42%;height:42%;display:flex;gap:4px;background:#050607;border:1px solid var(--orange);padding:4px}.preview-topdown-stack img{width:100%;min-width:0;height:100%;object-fit:cover}.preview-topdown{display:none}.modal-topdown .micro{margin:0 0 12px}.preview-topdown{position:absolute;left:10px;bottom:10px;width:42%!important;height:42%!important;object-fit:contain!important;background:#050607;border:1px solid var(--orange);padding:4px}.highlight-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.highlight-player{width:100%;aspect-ratio:16/9;background:#030405;border:1px solid var(--line);position:relative;overflow:hidden;display:grid;place-items:center}.highlight-player iframe,.highlight-player>img{width:100%;height:100%;border:0;object-fit:cover}.highlight-empty{position:absolute;inset:0;display:grid;place-items:center;padding:32px;text-align:center;background:linear-gradient(135deg,rgba(7,9,10,.55),rgba(7,9,10,.9));font-family:'IBM Plex Mono';font-size:14px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}.highlight-player.has-video .highlight-empty{display:none}.highlight-caption{font-family:'IBM Plex Mono';font-size:13px;line-height:1.65;color:var(--muted);margin:14px 0 0}.highlight-editor-preview .preview-video{width:50%}@media(max-width:760px){.modal-topdown{padding:0 20px 28px}.modal-topdown-grid{grid-template-columns:1fr}.topdown-badge{font-size:11px}.highlight-caption{font-size:13px}}
/* F4 modal grid placement */
.modal-media{grid-column:1;grid-row:1}.modal-copy{grid-column:2;grid-row:1}.modal-topdown{grid-column:1/-1;grid-row:2}
@media(max-width:760px){.modal-media,.modal-copy,.modal-topdown{grid-column:1;grid-row:auto}}
