/* Iteration 2 visual-story primitives. */
.story-visual{position:relative;border:1px solid var(--line);border-radius:28px;background:linear-gradient(145deg,rgba(255,255,255,.025),rgba(8,8,9,.55));overflow:hidden}
.story-line{position:absolute;height:1px;background:linear-gradient(90deg,transparent,rgba(159,36,40,.8),rgba(199,198,197,.28),transparent);transform-origin:left center}
.story-node{display:grid;place-items:center;min-width:52px;min-height:52px;border:1px solid rgba(255,255,255,.16);border-radius:50%;background:#121214;box-shadow:0 0 40px rgba(159,36,40,.08)}
.story-step{position:relative;display:grid;gap:8px;min-height:118px;padding:20px;border:1px solid var(--line);border-radius:18px;background:rgba(8,8,9,.5)}
.story-step small,.story-caption{font:600 12px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.11em;text-transform:uppercase;color:#8f8e8c}
.story-step strong{font-size:clamp(19px,2vw,28px);letter-spacing:-.025em}.story-step span{font-size:15px;line-height:1.5;color:#a9a8a6}
.story-outcome-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.story-outcome{min-height:220px;padding:26px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(145deg,rgba(159,36,40,.055),rgba(255,255,255,.018))}
.story-outcome h3{margin:0 0 12px}.story-outcome p{margin:0;font-size:16px;line-height:1.6;color:#aaa9a7}
.story-human-node{width:68px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(159,36,40,.45);margin-bottom:48px;font:700 13px/1 ui-monospace,SFMono-Regular,Menlo,monospace;color:#d7d6d4}
.story-evidence{padding:22px;border-left:2px solid var(--accent);background:linear-gradient(90deg,rgba(159,36,40,.09),transparent)}
.story-evidence small{font:600 12px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.11em;text-transform:uppercase;color:#9a9997}
.story-evidence p{margin:8px 0 0;font-size:16px;line-height:1.6;color:#c1c0be}
@media(max-width:700px){.story-outcome-grid{grid-template-columns:1fr}.story-step{min-height:96px}.story-outcome{min-height:0}.story-human-node{margin-bottom:30px}}
@media(prefers-reduced-motion:reduce){.story-visual *{animation:none!important;transition:none!important;transform:none!important}}

/* Nursery: human-first visual story. */
.nursery-hero{min-height:420px;display:grid;grid-template-columns:repeat(3,1fr);align-items:center;gap:18px;padding:36px}.nursery-hero::before{content:"";position:absolute;left:14%;right:14%;top:50%;height:1px;background:linear-gradient(90deg,transparent,rgba(159,36,40,.7),rgba(199,198,197,.28),rgba(159,36,40,.7),transparent)}
.nursery-hero .story-node{position:relative;z-index:2;justify-self:center;width:clamp(84px,9vw,126px);aspect-ratio:1;text-align:center;font:700 13px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;text-transform:uppercase}.nursery-hero .story-node:nth-child(2){transform:translateY(-42px);border-color:rgba(159,36,40,.5);box-shadow:0 0 70px rgba(159,36,40,.12)}
.nursery-day{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;padding:12px;margin-top:42px}.nursery-day::before{content:"";position:absolute;left:8%;right:8%;top:50%;height:1px;background:linear-gradient(90deg,rgba(159,36,40,.65),rgba(199,198,197,.22),rgba(159,36,40,.65));opacity:.7}.nursery-day-step{z-index:1;backdrop-filter:blur(9px)}
.nursery-viewpoints{margin-top:38px}.nursery-viewpoints .story-outcome:nth-child(2){background:linear-gradient(145deg,rgba(255,255,255,.032),rgba(159,36,40,.035))}
@media(max-width:900px){.nursery-day{grid-template-columns:1fr 1fr}.nursery-day::before{display:none}.nursery-day-step:last-child{grid-column:1/-1}.nursery-hero{min-height:320px}}
@media(max-width:560px){.nursery-hero{min-height:280px;padding:22px 12px;gap:8px}.nursery-hero .story-node{width:82px;font-size:11px}.nursery-hero .story-node:nth-child(2){transform:translateY(-28px)}.nursery-day{grid-template-columns:1fr;padding:8px}.nursery-day-step:last-child{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.nursery-hero .story-node:nth-child(2){transform:none}}

/* Nursery: capability and Wales evidence maps. */
.nursery-capability-map{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px;margin-top:38px}.nursery-capability{display:grid;gap:9px;min-height:150px;padding:22px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.025),rgba(159,36,40,.025))}.nursery-capability small,.nursery-wales-zone small{font:600 12px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.11em;color:#8f8e8c}.nursery-capability strong{font-size:22px;letter-spacing:-.025em}.nursery-capability span{font-size:14px;line-height:1.5;color:#aaa9a7}
.nursery-wales-map{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px;margin-top:40px}.nursery-wales-zone{padding:24px;border:1px solid var(--line);border-radius:20px;background:rgba(8,8,9,.5)}.nursery-wales-zone h3{font-size:clamp(24px,2.8vw,38px);margin:28px 0 18px}.nursery-wales-zone p{font-size:16px;line-height:1.6;color:#aaa9a7;margin:0}.nursery-term-list{display:flex;flex-wrap:wrap;gap:8px}.nursery-term-list span{padding:8px 10px;border:1px solid rgba(255,255,255,.1);border-radius:999px;font-size:13px;color:#c4c3c1;background:rgba(255,255,255,.018)}.nursery-regulatory-note{margin-top:18px}
.nursery-boundary{display:grid;grid-template-columns:1fr 1fr;gap:1px;padding:0;border-left:0;background:var(--line);border:1px solid var(--line);border-radius:22px;overflow:hidden}.nursery-boundary>div{padding:28px;background:#101012}.nursery-boundary>div:first-child{background:linear-gradient(145deg,rgba(159,36,40,.07),#101012)}
@media(max-width:900px){.nursery-capability-map,.nursery-wales-map{grid-template-columns:1fr 1fr}.nursery-wales-zone:last-child{grid-column:1/-1}}
@media(max-width:620px){.nursery-capability-map,.nursery-wales-map,.nursery-boundary{grid-template-columns:1fr}.nursery-wales-zone:last-child{grid-column:auto}}

/* Operations: controlled system map. */
.operations-map{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:18px;margin-top:40px}.operations-map::before{content:"";position:absolute;left:12%;right:12%;top:50%;height:1px;background:linear-gradient(90deg,rgba(159,36,40,.6),rgba(199,198,197,.28),rgba(159,36,40,.6));opacity:.65}.operations-node{position:relative;z-index:1;display:grid;gap:9px;min-height:132px;padding:22px;border:1px solid var(--line);border-radius:18px;background:rgba(12,12,14,.92)}.operations-node small,.human-gate small{font:600 12px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.1em;color:#8f8e8c}.operations-node strong{font-size:25px;letter-spacing:-.03em}.operations-node span,.human-gate span,.story-outcome>span{font-size:15px;line-height:1.5;color:#aaa9a7}.human-gate{grid-column:2;display:grid;gap:8px;padding:18px 20px;border:1px dashed rgba(159,36,40,.65);border-radius:16px;background:rgba(159,36,40,.06);text-align:center}.human-gate strong{font-size:20px}.operations-outcomes{margin-top:24px}.operations-outcomes .story-outcome{min-height:180px}
@media(max-width:760px){.operations-map{grid-template-columns:1fr 1fr}.operations-map::before{display:none}.human-gate{grid-column:1/-1}}
@media(max-width:520px){.operations-map{grid-template-columns:1fr}.human-gate{grid-column:auto}}

/* Trades: working-day journey. */
.trades-day{display:grid;grid-template-columns:repeat(7,minmax(108px,1fr));gap:9px;padding:14px;margin-top:40px;overflow-x:auto}.trades-stage{position:relative;display:grid;gap:8px;min-height:128px;padding:18px;border:1px solid var(--line);border-radius:17px;background:rgba(12,12,14,.92)}.trades-stage small{font:600 11px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.1em;color:#888}.trades-stage strong{font-size:21px;letter-spacing:-.025em}.trades-stage span{font-size:14px;line-height:1.45;color:#aaa9a7}.trades-stage::after{content:"→";position:absolute;right:-11px;top:50%;z-index:2;color:rgba(159,36,40,.8);font-size:18px}.trades-stage:last-child::after{display:none}.admin-saved{font:600 11px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;color:#b4b3b1;padding:8px 10px;border-radius:999px;border:1px solid rgba(159,36,40,.28);background:rgba(159,36,40,.05);width:max-content;max-width:100%}.trades-outcomes{margin-top:24px}.trades-outcomes .story-outcome{min-height:170px}
@media(max-width:760px){.trades-day{grid-template-columns:repeat(7,150px);scroll-snap-type:x mandatory}.trades-stage{scroll-snap-align:start}.trades-stage::after{display:none}}

/* Infrastructure: bounded recovery map. */
.infrastructure-map{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px;padding:18px;margin-top:40px}.infra-node{position:relative;z-index:2;display:grid;gap:8px;min-height:126px;padding:20px;border:1px solid var(--line);border-radius:18px;background:rgba(12,12,14,.92)}.infra-node small{font:600 11px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.1em;color:#8c8b89}.infra-node strong{font-size:23px}.infra-node span{font-size:14px;line-height:1.5;color:#aaa9a7}.infrastructure-map::before{content:"";position:absolute;left:8%;right:8%;top:43%;height:1px;background:rgba(199,198,197,.2)}.recovery-path,.escalation-path{grid-column:span 2;display:grid;gap:8px;padding:18px 20px;border-radius:16px}.recovery-path{border:1px solid rgba(199,198,197,.25);background:rgba(255,255,255,.02)}.escalation-path{border:1px dashed rgba(159,36,40,.7);background:rgba(159,36,40,.06)}.recovery-path small,.escalation-path small{font:600 11px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.1em;color:#8d8c8a}.recovery-path strong,.escalation-path strong{font-size:20px}.recovery-path span,.escalation-path span{font-size:14px;line-height:1.5;color:#aaa9a7}.infra-outcomes{margin-top:24px}.infra-outcomes .story-outcome{min-height:170px}
@media(max-width:820px){.infrastructure-map{grid-template-columns:1fr 1fr}.infrastructure-map::before{display:none}.recovery-path,.escalation-path{grid-column:span 1}}
@media(max-width:520px){.infrastructure-map{grid-template-columns:1fr}}

/* Web Engineering: before / critique / after. */
.web-iteration{display:grid;grid-template-columns:minmax(0,1fr) 180px minmax(0,1fr);gap:14px;align-items:center;padding:18px;margin-top:40px}.browser-frame{min-height:310px;border:1px solid var(--line);border-radius:20px;background:#0d0d0f;overflow:hidden}.browser-frame::before{content:"●  ●  ●";display:block;padding:11px 14px;border-bottom:1px solid var(--line);font-size:10px;letter-spacing:.25em;color:#656462}.browser-canvas{display:grid;gap:12px;padding:24px}.browser-bar{height:12px;border-radius:999px;background:rgba(255,255,255,.08)}.browser-bar.short{width:58%}.browser-card-row{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.browser-card{min-height:80px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(255,255,255,.02)}.browser-frame[data-state="after"]{border-color:rgba(159,36,40,.34);box-shadow:0 0 60px rgba(159,36,40,.08)}.critic-marker{display:grid;gap:10px;align-content:center;padding:18px;border:1px dashed rgba(159,36,40,.55);border-radius:18px;background:rgba(159,36,40,.05);text-align:center}.critic-marker small,.quality-delta small{font:600 11px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.1em;color:#8e8d8b}.critic-marker strong{font-size:24px}.critic-marker span{font-size:13px;line-height:1.5;color:#aaa9a7}.quality-delta{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.quality-delta span{padding:8px 10px;border:1px solid rgba(159,36,40,.25);border-radius:999px;font-size:12px;color:#c5c4c2;background:rgba(159,36,40,.04)}.web-proof{margin-top:24px}.web-proof .story-outcome{min-height:165px}
@media(max-width:820px){.web-iteration{grid-template-columns:1fr}.critic-marker{min-height:150px}}

/* Homepage Iteration 2 experiment previews. */
.preview-operations svg{filter:drop-shadow(0 0 22px rgba(159,36,40,.08))}.preview-operations circle:nth-of-type(2){stroke:rgba(199,198,197,.7)}
.preview-nursery svg{transform:translateY(6px)}.preview-nursery circle:nth-of-type(3){stroke:rgba(159,36,40,.78);fill:rgba(159,36,40,.05)}
.preview-trades svg path:first-child{stroke-width:1.4}.preview-trades{background:linear-gradient(90deg,rgba(159,36,40,.025),transparent)}
.preview-infrastructure circle:nth-of-type(2){stroke:rgba(159,36,40,.7)}.preview-infrastructure path:nth-of-type(2){stroke-dasharray:8 10}
.preview-web rect:first-child{stroke:rgba(199,198,197,.55)}.preview-web rect:nth-of-type(2){stroke:rgba(159,36,40,.72)}.preview-web circle{fill:rgba(159,36,40,.06)}
@media(prefers-reduced-motion:reduce){.preview-nursery svg{transform:none}}
