/* Horizon checkpoint04 / private art direction. Loaded after the existing composition. */
.ed-home{--cp04-ivory:#eeede5;--cp04-body:#b9cbd3;--cp04-gold:#d7bd8c;--cp04-rule:#8eacbc35;color:var(--cp04-ivory)}
.ed-home .ed-intro{background:radial-gradient(ellipse at 84% 8%,#3556673d,transparent 52%),linear-gradient(112deg,#122b39,#102430 68%,#0d202c);color:var(--cp04-ivory);border-bottom:1px solid #8eacbc24;isolation:isolate}
.ed-intro:before{height:62px;background:#d7bd8c9c}
.ed-intro:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,transparent calc(25% - 1px),#adc9d008 25%,transparent calc(25% + 1px)),linear-gradient(90deg,transparent calc(75% - 1px),#adc9d008 75%,transparent calc(75% + 1px))}
.ed-intro .eyebrow,.ed-intro .ed-cross{color:var(--cp04-gold)}
.ed-intro-top h2{color:var(--cp04-ivory);text-wrap:balance}
.ed-intro-top h2 em{color:var(--cp04-gold)}
.ed-intro-aside{border-color:#b5c9d03b}
.ed-intro-aside p,.ed-intro-stamp small{color:#acc2ce}
.ed-intro-copy>p{color:var(--cp04-body)}
.ed-intro-copy>p:first-child{color:#d2dde1}
.ed-intro-stamp>span{color:#e6e6dc}
.ed-intro-stamp small{border-color:#b5c9d038}
.ed-intro .ed-link,.ed-procurement .ed-link{color:#ebece3;border-color:#d7bd8c8c}
.ed-intro .ed-link span,.ed-procurement .ed-link span{color:var(--cp04-gold)}
.ed-capabilities{background:radial-gradient(ellipse at 0 100%,#1d3e4e35,transparent 65%),#081a25}
.ed-discipline-tabs>button{color:#b1c4ce}
.ed-disciplines-note{color:#a3bdc9}
.ed-handoff{background:linear-gradient(135deg,#183644,#122d3b);border-top:1px solid #829eac24;border-bottom:1px solid #829eac24}
.ed-handoff-heading>p:not(.eyebrow),.ed-method-panel>p:not(.eyebrow){color:#bbced7}
.ed-method-tabs button,.ed-method-tabs button>span:first-child{color:#b1c5d0}
.ed-method-tabs button[aria-selected=true]{color:#f3f0e7}
.ed-method-tabs button[aria-selected=true]>span:first-child{color:var(--cp04-gold)}
.ed-method-signature small,.ed-phase-note{color:#a5bfcd}
.ed-evidence{background:radial-gradient(ellipse at 15% 55%,#1b354442,transparent 60%),#071820}
.ed-evidence-layout{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:clamp(38px,6vw,95px)}
.ed-evidence-copy>p:not(.eyebrow){color:#bbccd5}
.ed-cert-list span{color:#b2c6d1}
.ed-assurance-graphic{margin:0;position:relative;min-width:0;overflow:hidden;border:1px solid #9cb9c636;border-top:2px solid #c8ac7c;background:radial-gradient(ellipse at 70% 28%,#284b5e45,transparent 62%),linear-gradient(125deg,#14313f,#0b202d);padding:31px 31px 22px;box-shadow:0 28px 60px #00000018}
.ed-assurance-graphic:before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(#adc4cc04 1px,transparent 1px),linear-gradient(90deg,#adc4cc04 1px,transparent 1px);background-size:32px 32px}
.ed-assurance-graphic>*{position:relative}
.ed-assurance-heading{display:grid;grid-template-columns:1fr auto;gap:0 20px}
.ed-assurance-heading .eyebrow{font-size:8px;line-height:1.8;letter-spacing:.16em;margin:0 0 23px;color:#d7bd8c}
.ed-assurance-heading>span{color:#d7bd8c;font-size:25px;line-height:1}
.ed-assurance-heading h3{grid-column:1/-1;font-size:clamp(28px,2.7vw,40px);font-weight:400;line-height:1.08;letter-spacing:-.045em;margin:0 0 13px;color:#eeede5}
.ed-assurance-heading>p:not(.eyebrow){grid-column:1/-1;font-size:12px;line-height:1.75;color:#b6cbd6;margin:0}
.ed-trace-drawing{display:block;width:100%;height:auto;overflow:visible;margin:13px 0 9px}
.ed-drawing-grid{stroke-width:.8;color:#a0bbc629}
.ed-trace-orbit{stroke:#a4becc76;stroke-width:1}
.ed-trace-orbit>path:first-child{stroke:#d7bd8cad;stroke-width:1.3}
.ed-trace-orbit>path:nth-child(2){stroke:#a7c3d132;stroke-dasharray:2 6}
.ed-record-stack{stroke:#a4bfcc7d;stroke-width:1}
.ed-record-stack .ed-record-face{fill:#102b3c;stroke:#a7c2cd99}
.ed-record-stack .ed-record-check{stroke:#d7bd8c;stroke-width:2}
.ed-trace-point circle{fill:#102a39;stroke:#91adbb;stroke-width:1}
.ed-trace-point text{fill:#c7d7de;font:11px monospace;text-anchor:middle;letter-spacing:.04em}
.ed-drawing-labels{fill:#9cb8c8;font:7px monospace;letter-spacing:.09em}
.ed-assurance-graphic[data-assurance-stage="0"] [data-trace-point="0"] circle,.ed-assurance-graphic[data-assurance-stage="1"] [data-trace-point="1"] circle,.ed-assurance-graphic[data-assurance-stage="2"] [data-trace-point="2"] circle,.ed-assurance-graphic[data-assurance-stage="3"] [data-trace-point="3"] circle{fill:#d7bd8c;stroke:#e5d3b0;stroke-width:2}
.ed-assurance-graphic[data-assurance-stage="0"] [data-trace-point="0"] text,.ed-assurance-graphic[data-assurance-stage="1"] [data-trace-point="1"] text,.ed-assurance-graphic[data-assurance-stage="2"] [data-trace-point="2"] text,.ed-assurance-graphic[data-assurance-stage="3"] [data-trace-point="3"] text{fill:#102a39}
.ed-assurance-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;border-top:1px solid #94b1c03a}
.ed-assurance-tabs button{background:none;text-align:left;padding:17px 0 15px;color:#b5c8d2;font-size:10px;line-height:1.5;border-bottom:1px solid transparent;min-height:75px;position:relative}
.ed-assurance-tabs button>span{display:block;font:9px/1.5 monospace;color:#adc5d0;margin-bottom:8px}
.ed-assurance-tabs button[aria-selected=true]{color:#f0eee5;border-color:#d7bd8c}
.ed-assurance-tabs button[aria-selected=true]>span{color:#d7bd8c}
.ed-assurance-tabs button:hover{color:#f0eee5}
.ed-assurance-tabs button:focus-visible{outline:2px solid #d7bd8c;outline-offset:5px}
.ed-assurance-panel{padding:21px 0 18px;min-height:175px;border-bottom:1px solid #94b1c03a}
.ed-assurance-panel h4{font-weight:400;font-size:18px;line-height:1.3;letter-spacing:-.025em;color:#eeeDE5;margin:0 0 11px}
.ed-assurance-panel>p{font-size:12px;line-height:1.8;color:#b8ccd7;margin:0 0 16px}
.ed-assurance-panel>span{display:block;color:#d4bd92;font:8px/1.9 monospace;letter-spacing:.015em}
.ed-assurance-graphic figcaption{font:7px/1.8 monospace;letter-spacing:.07em;color:#a8c0cc;margin-top:17px}
.ed-discipline-assurance{background:radial-gradient(ellipse at 50% 42%,#2a4a5b5c,transparent 65%),#102b39}
.ed-discipline-assurance:after{background:linear-gradient(0deg,#071b27,transparent 30%)}
.ed-discipline-diagram{position:absolute;inset:110px -12% 58px;display:flex;flex-direction:column;justify-content:center}
.ed-discipline-diagram .ed-trace-drawing{margin:0;width:100%}
.ed-discipline-diagram>p{position:relative;margin:15px 17% 0;color:#eff0e7;font-size:clamp(21px,2vw,31px);letter-spacing:-.035em;line-height:1.2}
.ed-discipline-diagram>p em{font-style:normal;color:#d7bd8c}
.ed-procurement{background:radial-gradient(ellipse at 95% 15%,#4b687538,transparent 60%),linear-gradient(110deg,#203b49,#172f3d);color:#eeeDE5;border-top:1px solid #a9bec52a}
.ed-procurement .eyebrow{color:#d7bd8c}
.ed-procurement h2 em{color:#d7bd8c}
.ed-procurement .ed-head-copy{color:#c0d0d6}
.ed-vehicle-lines{border-color:#acc4ce3b}
.ed-vehicle-lines>a{border-color:#acc4ce33;transition:background .2s}
.ed-vehicle-lines>a:hover{background:#9abac508}
.ed-vehicle-no,.ed-vehicle-arrow{color:#d7bd8c}
.ed-vehicle-lines h3{color:#eeede5}
.ed-vehicle-scope{color:#bbced7;max-height:none;overflow:visible}
.ed-procurement-bottom>span{color:#b6cbd5}
.ed-procurement-plain{border-color:#acc4ce33}
.ed-history{background:#102835;color:#c1d2d9;border-top:1px solid #a0bdc527;border-bottom:1px solid #a0bdc527;padding:43px 0}
.ed-history .eyebrow{color:#b8cbd3;font-size:8px}
.ed-history .ed-container>div{gap:16px 35px}
.ed-history .ed-container>div>span{color:#d7e1e2}
.ed-history .ed-link{color:#d8e0e1;border-color:#a8bdc146}
.ed-history .ed-link span{color:#d7bd8c}
.ed-people{background:radial-gradient(ellipse at 90% 100%,#34526144,transparent 65%),#15303e;border-bottom:1px solid #90acba25}
.ed-people-layout>div:first-child>p:not(.eyebrow){color:#c0d0d7}
.ed-people-art{border-color:#a8c0cc3c}
.ed-people-art>img{background:#142f3d;border:1px solid #9ab8c32b;padding:40px}
.ed-contact-band{background:linear-gradient(110deg,#071b28,#0c2533)}
/* Shared public technical pages: generous dark editorial fields, real portraits. */
.technical-article{color:#c0d0d8}
.technical-article>p,.technical-section p,.technical-section li{color:#bbced7}
.technical-article>.lead,.technical-article>.article-lead{color:#e6ecea}
.technical-article .technical-section{border-color:#9cb9c635}
.technical-article .deliverables{background:linear-gradient(125deg,#1b3b4c,#153140);border-color:#a6c0ca38}
.technical-article .deliverables li{color:#c9d8df}
.technical-article .evidence-card{border-color:#a7bec636}
.technical-article .evidence-card h2,.technical-article .evidence-card h3{color:#eeede5}
.technical-article .record-note,.technical-article .evidence-card .record-note{color:#adc5d1}
.technical-article .evidence-logo{background:#d2dcd9;border-radius:0;border:1px solid #a7bdc440;padding:11px;box-shadow:0 8px 20px #0002}
.technical-article .portrait-frame{background:linear-gradient(130deg,#243f4f,#102b39);border:1px solid #9db5bf29;border-top:1px solid #c9ad7b}
.technical-article .portrait-frame>span{background:#102835ed;color:#d7bd8c}
.technical-article .portrait-card p{color:#b8cbd5}
.careers-opening{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 92% 10%,#36596b65,transparent 58%),linear-gradient(115deg,#193a4b,#102a39);padding:clamp(30px,4.7vw,65px);margin:0 0 48px;border:1px solid #9cb8c232;border-top:2px solid #c8ad7d;color:#eeede5}
.careers-opening:before{content:'';position:absolute;z-index:-1;right:-90px;top:-120px;width:430px;height:430px;border:1px solid #94b3c118;border-radius:50%;box-shadow:0 0 0 55px #94b3c108,0 0 0 110px #94b3c106;pointer-events:none}
.careers-opening .eyebrow{font-size:9px;line-height:1.8;letter-spacing:.15em;color:#d7bd8c;margin-bottom:27px}
.careers-opening h2{font-size:clamp(34px,3.6vw,53px);line-height:1.1;letter-spacing:-.045em;font-weight:400;color:#eeede5;max-width:700px;margin:0 0 27px;text-wrap:balance}
.careers-opening p{font-size:15px;line-height:1.9;color:#c0d1da;max-width:690px;margin:0 0 22px}
.careers-opening .button{margin-top:15px;background:#d7bd8c;border:1px solid #d7bd8c;color:#0d2939;padding:19px 23px;min-height:59px;gap:28px}
.careers-opening .button:hover{background:#e6d1ac;border-color:#e6d1ac}
.career-disciplines p,.career-process li{color:#b8cdd8}
@media(min-width:1650px){.ed-intro-top h2{font-size:80px}}
@media(max-width:1100px){.ed-evidence-layout{gap:36px}.ed-assurance-graphic{padding:26px 23px 20px}.ed-assurance-heading h3{font-size:31px}.ed-assurance-panel{min-height:205px}.ed-assurance-tabs{gap:8px}.ed-assurance-tabs button{font-size:9px}.ed-assurance-panel>p{font-size:11px}.ed-assurance-panel h4{font-size:17px}}
@media(max-width:900px){.ed-evidence-layout{grid-template-columns:1fr;max-width:760px;gap:46px}.ed-assurance-graphic{padding:33px 33px 22px}.ed-assurance-heading h3{font-size:36px}.ed-trace-drawing{max-height:330px}.ed-assurance-tabs button{font-size:11px}.ed-assurance-panel{min-height:160px}.ed-assurance-panel>p{font-size:13px}.ed-assurance-panel h4{font-size:20px}.ed-evidence-copy>p:not(.eyebrow){max-width:600px}.ed-cert-list>a{grid-template-columns:1.2fr 1fr 20px}.ed-cert-list strong{font-size:23px}.ed-cert-list span{font-size:9px}.careers-opening{padding:38px}.ed-intro:before{height:42px}}
@media(max-width:650px){.ed-intro{padding-top:64px;padding-bottom:66px}.ed-intro-top h2{font-size:clamp(37px,9.8vw,48px)}.ed-intro-copy>p{font-size:15px}.ed-intro:before{height:29px}.ed-assurance-graphic{padding:25px 21px 19px}.ed-assurance-heading h3{font-size:33px}.ed-assurance-heading>p:not(.eyebrow){font-size:12px}.ed-assurance-heading .eyebrow{margin-bottom:21px}.ed-trace-drawing{width:calc(100% + 14px);max-width:none;margin-left:-7px}.ed-assurance-tabs{gap:8px}.ed-assurance-tabs button{font-size:9px;min-height:82px}.ed-assurance-panel{min-height:200px;padding-top:22px}.ed-assurance-panel h4{font-size:19px}.ed-assurance-panel>p{font-size:12px}.ed-assurance-panel>span{font-size:8px}.ed-assurance-graphic figcaption{font-size:6px;line-height:1.9}.ed-evidence-copy h2{font-size:36px}.ed-cert-list>a{grid-template-columns:1.2fr 1fr 17px}.ed-cert-list strong{font-size:21px}.ed-cert-list span{font-size:8px}.ed-history .ed-container>div{gap:15px 25px}.ed-discipline-diagram>p{font-size:28px;margin-top:0}.ed-discipline-diagram{inset:93px -12% 55px}.careers-opening{padding:31px 25px 34px;margin-bottom:35px}.careers-opening .eyebrow{font-size:8px;margin-bottom:24px}.careers-opening h2{font-size:34px;line-height:1.13;margin-bottom:24px}.careers-opening p{font-size:14px;line-height:1.85}.careers-opening .button{font-size:11px;line-height:1.6;padding:17px 18px;gap:19px}.careers-opening:before{width:310px;height:310px;right:-150px;top:-95px}}
@media(max-width:360px){.ed-intro-top h2{font-size:36px}.ed-assurance-graphic{padding:23px 17px 18px}.ed-assurance-heading h3{font-size:29px}.ed-assurance-tabs button{font-size:8px}.ed-assurance-panel{min-height:223px}.ed-cert-list strong{font-size:18px}.ed-cert-list span{font-size:7px}.careers-opening{padding:29px 22px}.careers-opening h2{font-size:30px}}
@media(prefers-reduced-motion:reduce){.ed-vehicle-lines>a{transition:none}}
