/* Nodus disciplines: editorial type, precise rules, and mathematical studies. */
.nodus-arm--marketplace { --arm-accent:#bd492c; --arm-signal:#f78b61; --arm-tint:#f4e9e2; }
.nodus-arm--research { --arm-accent:#6250bd; --arm-signal:#afa0f4; --arm-tint:#ede9f5; }
.nodus-arm--finance { --arm-accent:#307b67; --arm-signal:#a3d9c4; --arm-tint:#e7efea; }
.nodus-arms { padding:76px 0 80px; border-bottom:1px solid #d6d6ce; background:#f6f5f0; scroll-margin-top:95px; }
.nodus-arms__inner { width:min(1400px,calc(100% - 128px)); margin:auto; }
.nodus-arms__heading { display:flex; align-items:end; justify-content:space-between; gap:44px; margin-bottom:42px; }
.nodus-arms__eyebrow,.arm-eyebrow { margin:0 0 24px; color:#6b6e64; font:10px/1.5 ui-monospace,monospace; letter-spacing:.1em; text-transform:uppercase; }
.nodus-arms__heading h2 { margin:0; color:#242820; font-size:clamp(36px,3.5vw,54px); font-weight:400; line-height:1.08; letter-spacing:-.05em; }
.nodus-arms__heading>p { max-width:350px; margin:0; color:#666b60; font-size:14px; line-height:1.75; }
.nodus-arms__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid #bcbfb3; border-bottom:1px solid #bcbfb3; }
.nodus-arm-card { display:flex; flex-direction:column; min-width:0; position:relative; padding:26px 28px 0; color:#242820; text-decoration:none; }
.nodus-arm-card+.nodus-arm-card { box-shadow:inset 1px 0 #d3d6ca; }
.nodus-arm-card:focus-visible,.nodus-menu summary:focus-visible,.nodus-menu a:focus-visible { outline:2px solid var(--arm-accent,#bd492c); outline-offset:5px; }
.nodus-arm-card__top { display:flex; justify-content:space-between; gap:12px; align-items:center; color:#7c8273; font:10px/1.5 ui-monospace,monospace; }
.nodus-arm-card__top>small { font:10px/1.5 ui-monospace,monospace; }
.nodus-arm-card h3 { margin:27px 0 29px; color:#242820; font-size:35px; line-height:1; letter-spacing:-.04em; font-weight:450; }
.nodus-arm-card .arm-visual { margin:0 -28px 26px; aspect-ratio:1.5; border-block:1px solid #313b32; }
.nodus-arm-card+.nodus-arm-card .arm-visual { box-shadow:-1px 0 #313b32; }
.nodus-arm-card p { margin:0 0 24px; max-width:345px; color:#666b60; font-size:14px; line-height:1.7; }
.nodus-arm-card__link { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:auto; padding:19px 0 22px; border-top:1px solid #d3d6ca; color:#353d31; font-size:12px; }
.nodus-arm-card__link i { color:var(--arm-accent); font:22px/1 Arial,sans-serif; font-style:normal; transition:transform .2s; }
.nodus-arm-card:hover .nodus-arm-card__link { color:var(--arm-accent); }
.nodus-arm-card:hover .nodus-arm-card__link i { transform:translate(3px,-3px); }
.arm-visual { position:relative; background:#111a16; overflow:hidden; isolation:isolate; }
.arm-visual::before { content:''; position:absolute; inset:0; z-index:-1; background:radial-gradient(ellipse at 50% 50%,#24312988,transparent 70%); }
.arm-visual canvas { display:block; width:100%; height:100%; }
.arm-study-label { position:absolute; left:22px; top:17px; color:var(--arm-signal); font:8px/1.5 ui-monospace,monospace; letter-spacing:.12em; pointer-events:none; }
.arm-study-foot { position:absolute; left:22px; right:22px; bottom:15px; display:flex; justify-content:space-between; gap:10px; color:#8e9b8d; font:8px/1.5 ui-monospace,monospace; letter-spacing:.08em; pointer-events:none; }
.arm-study-foot i { font-style:normal; color:var(--arm-signal); }
.nodus-menu { position:relative; }
.nodus-menu summary { display:flex; align-items:center; gap:9px; padding:10px 0; cursor:pointer; list-style:none; color:#373430; font:9px/1 ui-monospace,monospace; letter-spacing:.12em; text-transform:uppercase; }
.nodus-menu summary::-webkit-details-marker { display:none; }
.nodus-menu summary::after { content:''; width:5px; height:5px; border-right:1px solid; border-bottom:1px solid; transform:translateY(-2px) rotate(45deg); }
.nodus-menu[open] summary::after { transform:translateY(2px) rotate(225deg); }
.nodus-menu__links { position:absolute; z-index:50; top:100%; left:0; width:245px; padding:9px; background:#fbfbf8; border:1px solid #dbdad3; border-radius:6px; box-shadow:0 12px 35px #28271f18; }
.header .nav .nodus-menu__links a { display:flex; align-items:center; justify-content:space-between; padding:13px 12px; font:13px/1.3 Inter,Arial,sans-serif; text-transform:none; letter-spacing:0; }
.header .nav .nodus-menu__links a:hover { background:#f0eee7; }
.nodus-menu__links small { color:#6e6d65; font-size:10px; }
.nodus-menu__links a:last-child { margin-top:6px; border-top:1px solid #dbdad3; }
.nodus-footer-arms { display:flex; flex-wrap:wrap; gap:10px 20px; margin-top:24px; font-size:12px; }
.nodus-footer-arms a { text-decoration:none; text-underline-offset:4px; }
.nodus-footer-arms a:hover { text-decoration:underline; }

/* Dedicated pages use one publication-like system rather than three sub-brands. */
.arm-page { margin:0; color:#242820; background:#f8f8f3; font-family:Inter,'Helvetica Neue',Arial,sans-serif; -webkit-font-smoothing:antialiased; }
.arm-page * { box-sizing:border-box; }
.arm-page a { color:inherit; }
.arm-page a:focus-visible { outline:2px solid var(--arm-accent); outline-offset:5px; }
.arm-page .arm-shell { width:min(1320px,calc(100% - 112px)); margin:auto; }
.arm-skip { position:absolute; left:16px; top:-60px; z-index:100; padding:12px; background:white; }
.arm-skip:focus { top:12px; }
.arm-header { border-bottom:1px solid #d8dbd1; }
.arm-header__inner { min-height:86px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.arm-brand { display:inline-flex; align-items:center; gap:11px; white-space:nowrap; text-decoration:none; font-size:20px; letter-spacing:-.04em; }
.arm-brand svg { width:32px; fill:none; stroke:currentColor; stroke-width:5; }
.arm-brand span { padding-left:13px; margin-left:2px; border-left:1px solid #d5d9cc; color:var(--arm-accent); font-size:14px; letter-spacing:0; }
.arm-nav { display:flex; align-items:center; flex-wrap:wrap; gap:27px; font-size:12px; }
.arm-nav a { padding:7px 0; text-decoration:none; }
.arm-nav a[aria-current=page] { color:var(--arm-accent); box-shadow:0 1px var(--arm-accent); }
.arm-nav .arm-nav__contact { border:1px solid #c4cbbd; padding:11px 15px; }
.arm-hero { display:grid; grid-template-columns:1.15fr 1fr; align-items:end; gap:42px 80px; padding:65px 0 66px; }
.arm-eyebrow { display:flex; align-items:center; flex-wrap:wrap; gap:14px; color:var(--arm-accent); }
.arm-status { padding-left:14px; border-left:1px solid #bfc7b7; color:#7b8373; font-size:9px; letter-spacing:.04em; }
.arm-hero h1 { margin:0; font-size:clamp(45px,5vw,72px); line-height:1.05; font-weight:450; letter-spacing:-.052em; }
.arm-hero h1 em { color:var(--arm-accent); font-style:normal; }
.arm-lead { margin:0; max-width:520px; color:#636c5e; font-size:16px; line-height:1.8; }
.arm-actions { display:flex; flex-wrap:wrap; align-items:center; gap:24px; margin-top:26px; }
.arm-button { display:inline-flex; align-items:center; justify-content:space-between; gap:32px; padding:16px 20px; color:#f5f7ee!important; background:#263027; font-size:13px; text-decoration:none; transition:background .2s; }
.arm-button:hover { background:var(--arm-accent); }
.arm-text-link { padding:6px 0; border-bottom:1px solid #b9c1b0; font-size:13px; text-decoration:none; }
.arm-hero__art { grid-column:1/-1; min-width:0; }
.arm-art-label { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:16px 0; border-top:1px solid #aeb8a5; color:#76816d; font:9px/1.5 ui-monospace,monospace; letter-spacing:.08em; text-transform:uppercase; }
.arm-hero__art .arm-visual { height:460px; background:#101915; }
.arm-hero__art .arm-study-label { left:27px; top:24px; font-size:9px; }
.arm-hero__art .arm-study-foot { left:27px; right:27px; bottom:24px; font-size:9px; }
.arm-art-foot { display:flex; justify-content:space-between; gap:20px; padding:16px 0; border-bottom:1px solid #aeb8a5; color:#76816d; font:10px/1.5 ui-monospace,monospace; }
.arm-section { padding:65px 0; border-top:1px solid #d1d7c9; }
.arm-section__head { display:grid; grid-template-columns:1.15fr 1fr; gap:80px; align-items:start; margin-bottom:38px; }
.arm-section h2 { margin:0; font-size:clamp(29px,3vw,42px); font-weight:450; line-height:1.14; letter-spacing:-.045em; }
.arm-section__head>p { margin:0; max-width:510px; color:#636c5e; font-size:15px; line-height:1.8; }
.arm-two { display:grid; grid-template-columns:1fr 1fr; gap:50px; }
.arm-panel { padding:30px 0; border-top:2px solid var(--arm-accent); }
.arm-panel__label { color:var(--arm-accent); font:10px/1.4 ui-monospace,monospace; letter-spacing:.1em; text-transform:uppercase; }
.arm-panel h3 { margin:20px 0 15px; font-size:28px; font-weight:450; letter-spacing:-.035em; }
.arm-panel p { max-width:500px; color:#636c5e; font-size:15px; line-height:1.8; }
.arm-panel ul { padding:0; margin:25px 0; list-style:none; }
.arm-panel li { padding:12px 0; border-top:1px solid #d1d7c9; color:#636c5e; font-size:13px; line-height:1.5; }
.arm-panel .arm-text-link { display:inline-block; margin-top:8px; }
.arm-principles { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; }
.arm-principle { padding-top:23px; border-top:1px solid #acb7a3; }
.arm-principle>span { color:var(--arm-accent); font:10px ui-monospace,monospace; }
.arm-principle h3 { font-size:22px; font-weight:450; margin:24px 0 15px; letter-spacing:-.035em; }
.arm-principle p { margin:0; color:#636c5e; font-size:14px; line-height:1.8; }
.arm-method { padding:30px 0; border-block:1px solid #acb7a3; }
.arm-method__steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:30px; }
.arm-method__steps div+div { border-left:1px solid #d1d7c9; padding-left:30px; }
.arm-method__steps span { color:var(--arm-accent); font:10px ui-monospace,monospace; }
.arm-method__steps h3 { font-size:20px; font-weight:450; margin:18px 0 12px; }
.arm-method__steps p { color:#636c5e; font-size:13px; line-height:1.8; margin:0; }
.arm-influences { display:flex; flex-wrap:wrap; gap:13px 25px; align-items:center; margin-top:26px; color:#636c5e; font-size:12px; }
.arm-influences a { text-underline-offset:4px; }
.arm-note { margin:25px 0 0; color:#76816d; font-size:12px; line-height:1.8; }
.arm-cta { display:flex; align-items:center; justify-content:space-between; gap:35px; padding:38px; border-left:2px solid var(--arm-accent); background:var(--arm-tint); }
.arm-cta h2 { font-size:31px; }
.arm-cta p { margin:13px 0 0; color:#636c5e; max-width:620px; font-size:15px; line-height:1.8; }
.arm-cta .arm-button { flex-shrink:0; }
.arm-footer { margin-top:30px; padding:40px 0; background:#1b241e; color:#edf0e6; }
.arm-footer__top { display:flex; align-items:start; justify-content:space-between; gap:30px; }
.arm-footer .arm-brand span { color:#a5b39d; border-color:#4f5d47; }
.arm-footer nav { display:flex; flex-wrap:wrap; gap:24px; font-size:13px; }
.arm-footer nav a { text-decoration:none; }
.arm-footer__base { display:flex; flex-wrap:wrap; justify-content:space-between; gap:20px; margin-top:36px; padding-top:22px; border-top:1px solid #414f39; color:#a5b39d; font-size:11px; }
.arm-footer__base>div { display:flex; gap:20px; }
@media(max-width:1100px) {
 .nodus-arms__inner,.arm-page .arm-shell { width:calc(100% - 64px); }
 .nodus-arm-card { padding-inline:20px; }
 .nodus-arm-card .arm-visual { margin-inline:-20px; }
 .nodus-arm-card h3 { font-size:30px; }
 .nodus-arm-card__top>small { font-size:9px; }
 .arm-hero,.arm-section__head { column-gap:35px; }
 .arm-hero h1 { font-size:53px; }
 .arm-nav { gap:17px; }
}
@media(max-width:760px) {
 .nodus-arms { padding:46px 0; }
 .nodus-arms__inner,.arm-page .arm-shell { width:calc(100% - 36px); }
 .nodus-arms__heading { display:block; margin-bottom:30px; }
 .nodus-arms__heading h2 { font-size:37px; }
 .nodus-arms__heading>p { margin-top:20px; }
 .nodus-arms__grid { grid-template-columns:1fr; }
 .nodus-arm-card { padding:24px 0 0; }
 .nodus-arm-card+.nodus-arm-card { box-shadow:none; border-top:1px solid #bcbfb3; }
 .nodus-arm-card h3 { margin:20px 0 24px; font-size:34px; }
 .nodus-arm-card .arm-visual { margin:0 0 23px; }
 .nodus-arm-card p { max-width:none; }
 .nodus-menu summary { font-size:8px; letter-spacing:.08em; }
 .arm-header__inner { flex-wrap:wrap; padding:20px 0 16px; gap:16px; }
 .arm-nav { width:100%; justify-content:space-between; gap:12px; font-size:11px; }
 .arm-nav .arm-nav__contact { display:none; }
 .arm-hero { grid-template-columns:1fr; padding:40px 0 45px; gap:25px; }
 .arm-hero h1 { font-size:clamp(43px,10vw,57px); }
 .arm-eyebrow { margin-bottom:22px; }
 .arm-lead { font-size:16px; }
 .arm-hero__art { margin-top:6px; }
 .arm-hero__art .arm-visual { height:260px; }
 .arm-art-label { font-size:8px; gap:14px; }
 .arm-art-label>span:last-child { white-space:nowrap; }
 .arm-art-foot { font-size:9px; }
 .arm-hero__art .arm-study-label,.arm-hero__art .arm-study-foot { left:18px; font-size:8px; }
 .arm-hero__art .arm-study-foot { right:18px; }
 .arm-section { padding:43px 0; }
 .arm-section__head,.arm-two,.arm-principles { grid-template-columns:1fr; gap:25px; }
 .arm-two { gap:16px; }
 .arm-method__steps { grid-template-columns:1fr 1fr; gap:28px; }
 .arm-method__steps div+div { padding-left:0; border-left:0; }
 .arm-cta { flex-direction:column; align-items:start; padding:26px; }
 .arm-footer__top { flex-direction:column; }
 .arm-footer nav { gap:18px; }
}
@media(prefers-reduced-motion:reduce) { .nodus-arm-card__link i { transition:none; transform:none!important; } }

/* The detail scenes pair a single physical study with readable HTML annotations. */
.arm-hero__art .arm-world { scroll-margin-top:20px; height:520px; background:#0b1019; color:#eef2f6; }
.arm-world::before { z-index:-1; background:radial-gradient(ellipse at 67% 46%,#35475944,transparent 62%); }
.arm-world::after { content:''; position:absolute; inset:0; z-index:-1; opacity:.15; background-image:linear-gradient(#90a5bf18 1px,transparent 1px),linear-gradient(90deg,#90a5bf18 1px,transparent 1px); background-size:44px 44px; mask-image:linear-gradient(90deg,transparent 10%,black 50%); }
.arm-world canvas { position:relative; z-index:1; }
.arm-world-poster { position:absolute; top:55px; left:31%; width:64%; height:405px; object-fit:contain; pointer-events:none; z-index:2; }
.arm-world[data-world-ready] .arm-world-poster { visibility:hidden; }
.arm-world-caption { position:absolute; left:38px; top:37px; z-index:3; width:245px; pointer-events:none; }
.arm-world-kicker { display:block; color:var(--arm-signal); font:9px/1.5 ui-monospace,monospace; letter-spacing:.1em; }
.arm-world-caption h2 { margin:31px 0 16px; font-size:31px; line-height:1.12; letter-spacing:-.04em; font-weight:450; }
.arm-world-caption>p { margin:0; color:#8897aa; font-size:13px; line-height:1.7; max-width:210px; }
.arm-world-caption dl { margin:34px 0 0; }
.arm-world-caption dl>div { border-top:1px solid #ffffff16; padding:13px 0; }
.arm-world-caption dt { color:#c9d3df; font-size:11px; }
.arm-world-caption dd { margin:5px 0 0; color:#798a9f; font:10px/1.4 ui-monospace,monospace; }
.arm-world-index { position:absolute; right:34px; top:36px; z-index:3; color:#748398; font:10px ui-monospace,monospace; letter-spacing:.12em; }
.arm-world-steps { position:absolute; bottom:23px; left:34%; right:34px; display:grid; grid-template-columns:repeat(3,1fr); gap:16px; z-index:3; pointer-events:none; }
.arm-world-steps span { display:flex; gap:9px; align-items:center; border-top:1px solid #ffffff20; padding-top:14px; color:#bcc7d6; font-size:11px; }
.arm-world-steps i { color:var(--arm-signal); font:9px/1 ui-monospace,monospace; font-style:normal; }
@media(max-width:1100px) and (min-width:761px) { .arm-world-caption { width:195px; left:28px; } .arm-world-caption h2 { font-size:26px; } .arm-world-caption>p { max-width:180px; } .arm-world-steps { left:30%; right:24px; font-size:10px; } }
@media(max-width:760px) {
 .arm-hero__art .arm-world { height:410px; }
 .arm-world-poster { left:0; top:120px; width:100%; height:225px; }
 .arm-world-caption { left:22px; top:23px; width:calc(100% - 44px); }
 .arm-world-kicker { font-size:8px; }
 .arm-world-caption h2 { margin:17px 0 0; font-size:25px; }
 .arm-world-caption>p,.arm-world-caption dl { display:none; }
 .arm-world-index { right:22px; top:24px; font-size:8px; }
 .arm-world-steps { left:22px; right:22px; bottom:21px; gap:11px; }
 .arm-world-steps span { display:block; font-size:9px; line-height:1.5; padding-top:10px; }
 .arm-world-steps i { display:block; margin-bottom:7px; font-size:8px; }
}
