/* Obra Fina editorial finish: only the hub and its five capability routes. */
.hub-editorial-hero{padding:clamp(32px,4vw,64px) 0;background:radial-gradient(ellipse at 80% 20%,#173d77,transparent 68%),#06172d}
.hub-editorial-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(28px,4vw,64px)}
.hub-editorial-hero h1{font:500 clamp(2.8rem,4.6vw,5.3rem)/1.08 var(--font-display);letter-spacing:-.025em;margin:18px 0 28px;max-width:none;text-wrap:balance}
.hub-editorial-hero h1 em{color:#428fff;font-weight:400}
.hub-editorial-hero p{font-size:1.1rem;line-height:1.75;color:#c3cfdf}
.hub-editorial-photo{margin:0;position:relative;min-width:0}
.hub-editorial-photo img{width:100%;height:auto;display:block;box-shadow:0 24px 70px #020b1c}
.hub-editorial-photo figcaption{padding:18px 22px;background:#0a2141;border-left:3px solid #428fff;font:500 1.3rem/1.5 var(--font-display);color:#edf5ff}
.hub-editorial-rail{padding:24px 0 8px;background:#06172d}
.hub-editorial-rail .container{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.hub-editorial-rail figure{margin:0;min-width:0;border-bottom:1px solid #35577f}
.hub-editorial-rail img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;filter:none}
.hub-editorial-rail figcaption{padding:16px 0;color:#cbdcf0;font:500 .875rem/1.6 var(--font-mono);letter-spacing:.055em;text-transform:uppercase}
.capability-hub .capability-link{grid-template-columns:minmax(200px,.38fr) minmax(0,1fr);align-items:center;padding:20px;gap:28px;border-left-width:2px;box-shadow:0 12px 32px #020c1a45;transition:background .25s,border-color .25s,box-shadow .25s}
.capability-link-photo{margin:0;min-width:0}.capability-link-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:center 35%}
.capability-link-copy{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px}
.capability-hub .capability-link h3{font-size:clamp(1.7rem,2.2vw,2.45rem);line-height:1.2}
.capability-hub .capability-link:hover,.capability-hub .capability-link:focus-visible{box-shadow:0 12px 38px #0b4aab40;border-color:#75b2ff;background:#102d55}
.capability-hub .capability-action b{display:grid;place-items:center;border:1px solid #467ab5;width:40px;height:40px;flex:0 0 40px;transition:background .2s}
.capability-hub .capability-link:hover .capability-action b{background:#145dff;color:#fff}
.capability-hub .hub-connected{background:radial-gradient(ellipse at 95% 10%,#174990,transparent 60%),#071a33}
.capability-hub .hub-system{gap:20px;padding-block:30px}
.capability-hub .hub-system span{border-top:3px solid #4b96ff;box-shadow:0 12px 30px #020a1740}
.capability-hub .method{border-top-color:#4c83c8}
.capability-page .cap-hero-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center}
.capability-page .cap-hero .cap-photo img{aspect-ratio:auto;height:auto;object-fit:contain;border-radius:0}
.capability-page .cap-hero .cap-photo figcaption{background:#0a2141;border-left:3px solid #428fff;padding:15px 20px;border-bottom:0}
.capability-page .cap-hero{background:radial-gradient(ellipse at 90% 40%,#1b478b 0,transparent 70%),#06172d}
.capability-page .cap-signal{display:block;background:#081d39;border:1px solid #2a4b76;padding:18px 20px 22px;margin-top:20px}
.capability-page .cap-signal:before{display:none}
.signal-art{display:block;width:100%;height:auto;max-height:70px;overflow:visible;margin:0 0 10px}
.signal-art .signal-base{stroke:#26466e;stroke-width:2;fill:none}
.signal-art .signal-current{stroke:#559fff;stroke-width:3;fill:none;stroke-linecap:round;stroke-dasharray:700;stroke-dashoffset:0}
.signal-art circle{fill:#c8e4ff;stroke:#3284ff;stroke-width:4}
.signal-labels{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.capability-page .cap-signal .signal-labels span{padding:12px 6px;background:#10305a;border:1px solid #3d6dad;min-width:0}
.signal-active .signal-current{animation:signal-trace 2.8s ease-out 1}
.capability-page .cap-recognition{gap:0;border:1px solid #315278;background:#091e39}
.capability-page .cap-recognition article{border:0;border-right:1px solid #315278;padding:26px}
.capability-page .cap-recognition article:last-child{border-right:0}
.capability-page .cap-recognition h3{color:#9ec9ff}
.capability-page .cap-scope-card{border-left:3px solid #4a94ff;box-shadow:0 16px 40px #020d1c55;transition:border-color .2s,background .2s}
.capability-page .cap-scope-card:focus-within,.capability-page .cap-scope-card:hover{border-color:#79b7ff;background:#102c50}
.capability-page .cap-scope-card summary{display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none}
.capability-page .cap-scope-card summary::-webkit-details-marker{display:none}
.capability-page .cap-scope-card summary:after{content:"+";font:400 1.5rem/1 var(--font-sans);color:#8bbdff}
.capability-page .cap-scope-card details[open] summary:after{content:"−"}
.capability-page .cap-feature-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
.capability-page .cap-feature-grid .cap-photo{border-bottom:2px solid #377bdd}
.capability-page .cap-feature-grid .cap-photo img{aspect-ratio:auto;height:auto}
.capability-page .cap-feature-grid .cap-photo figcaption{padding:16px 20px;background:#091f3c}
.capability-page .cap-team{border-top:3px solid #428fff;background:#0a2447;box-shadow:0 18px 50px #020c1d66}
.capability-page .cap-outcomes-grid article{border-top:3px solid #529cff;box-shadow:0 12px 35px #04102766}
.capability-page .cap-gallery{grid-template-columns:1.15fr 1fr;align-items:start;gap:28px}
.capability-page .cap-gallery .cap-photo:nth-child(2){margin-top:42px}
.capability-page .cap-gallery img{aspect-ratio:auto;height:auto}
.capability-page .cap-gallery figcaption{padding:16px 18px;background:#0a2447;border-left:2px solid #4b95ff}
.capability-page .cap-linked-grid a{border-top:2px solid #428fff;transition:background .2s,border-color .2s}
.capability-page .cap-linked-grid a b{border-top:1px solid #355f8f}
.capability-page .cap-close{border-top:1px solid #4d87d2;background:radial-gradient(ellipse at 100% 100%,#1762ed 0,transparent 70%),#0b2854}
@keyframes signal-trace{from{stroke-dashoffset:700}to{stroke-dashoffset:0}}
@media(max-width:1100px){.capability-link-copy{grid-template-columns:1fr;gap:20px}.capability-hub .capability-link{grid-template-columns:minmax(220px,.65fr) minmax(0,1fr)}.hub-editorial-grid,.capability-page .cap-hero-grid{grid-template-columns:1fr 1fr;gap:28px}.hub-editorial-hero h1{font-size:clamp(2.8rem,5vw,4.5rem)}}
@media(max-width:800px){.hub-editorial-grid,.capability-page .cap-hero-grid,.capability-page .cap-feature-grid{grid-template-columns:1fr}.hub-editorial-hero h1{font-size:clamp(2.7rem,8vw,4.7rem)}.hub-editorial-rail .container{gap:14px}.hub-editorial-rail img{aspect-ratio:1/1}.capability-page .cap-recognition article{border-right:0;border-bottom:1px solid #315278}.capability-page .cap-recognition article:last-child{border-bottom:0}.capability-page .cap-gallery{gap:18px}.capability-page .cap-gallery .cap-photo:nth-child(2){margin-top:24px}}
@media(max-width:600px){.capability-hub .capability-link{grid-template-columns:1fr;gap:22px}.capability-link-copy{grid-template-columns:1fr}.hub-editorial-rail .container{grid-template-columns:1fr}.hub-editorial-rail img{aspect-ratio:16/9}.hub-editorial-rail figcaption{padding-block:12px}.capability-page .cap-gallery{grid-template-columns:1fr}.capability-page .cap-gallery .cap-photo:nth-child(2){margin-top:0}.signal-labels{grid-template-columns:1fr 1fr}.capability-page .cap-signal{padding:16px}.capability-page .cap-recognition article{padding:22px}.hub-editorial-photo figcaption{font-size:1.15rem}}
@media(prefers-reduced-motion:reduce){.signal-active .signal-current{animation:none} .capability-page *, .capability-hub *{transition:none!important;scroll-behavior:auto!important}}
