/* Sep-2026 IA pages. Built on the site's Midnight & Bronze tokens (see _slug_ css). */
main.ia{display:block}
.ia-crumb{display:block;font-family:var(--font-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--color-steel);padding-top:clamp(40px,6vw,80px)}
.ia-crumb a{color:inherit;text-decoration:none}.ia-crumb a:hover{color:var(--color-bronze)}
.ia-crumb span{color:var(--color-ink)}
.ia-hero{padding-top:28px;padding-bottom:clamp(48px,7vw,96px)}
.ia-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(32px,5vw,72px);align-items:start}
.ia-hero-grid.solo{grid-template-columns:1fr}
.ia-h1{font-family:var(--font-display);font-weight:600;font-size:clamp(44px,6.2vw,86px);line-height:.98;letter-spacing:-.01em;color:var(--color-midnight);margin:0 0 28px;max-width:17ch}
.ia-sub{font-family:var(--font-serif);font-size:clamp(1.12rem,1.7vw,1.4rem);line-height:1.5;color:var(--color-ink);max-width:58ch;margin:0 0 18px}
.ia .lede{margin:0 0 14px}
.ia-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.ia-trust{border-block:1px solid var(--color-hair-light);background:var(--color-card)}
.ia-trust ul{list-style:none;margin:0;padding:18px 0;display:flex;flex-wrap:wrap;gap:10px 28px;font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-ink)}
.ia-trust li::before{content:"◆";color:var(--color-bronze);font-size:8px;margin-right:10px;vertical-align:2px}
.ia-sec{padding-block:clamp(56px,8vw,112px);border-top:1px solid var(--color-hair-light)}
.ia-h2{font-family:var(--font-display);font-weight:600;font-size:clamp(34px,4.2vw,56px);line-height:1.04;color:var(--color-midnight);margin:0 0 24px;max-width:22ch}
.ia-body p,.ia-body li{font-family:var(--font-serif);font-size:19px;line-height:1.62;color:#1a2942e6;max-width:66ch}
.ia-body ul,.ia-body ol{padding-left:22px}
.ia-body li{margin-bottom:8px}
.ia-body strong{color:var(--color-midnight)}
.ia-body code{font-family:var(--font-mono);font-size:.82em;background:var(--color-manila);padding:1px 6px}
.ia-body a{color:var(--color-bronze-deep)}
.ia-kicker{font-family:var(--font-display);font-style:italic;font-size:clamp(24px,2.6vw,32px);line-height:1.3;color:var(--color-bronze-deep);margin:32px 0 0;max-width:42ch}
.ia-cards{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--color-rule-ink);margin-top:36px}
.ia-card{padding:28px 0 32px;border-bottom:1px solid var(--color-hair-light)}
.ia-card:nth-child(odd){border-right:1px solid var(--color-hair-light);padding-right:32px}
.ia-card:nth-child(even){padding-left:32px}
.ia-card h3{font-family:var(--font-body);font-size:19px;font-weight:600;color:var(--color-midnight);margin:0 0 10px;line-height:1.35}
.ia-card p{font-size:17px}
.ia-vis{font-family:var(--font-mono)!important;font-size:12px!important;line-height:1.6!important;color:var(--color-steel)!important;border-left:2px solid var(--color-bronze-2);padding-left:12px;margin-top:14px}
.ia-vis b{color:var(--color-bronze);font-weight:600;letter-spacing:.12em;text-transform:uppercase;margin-right:8px}
.ia-spec{margin:32px 0}
.ia-spec .cap{font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--color-bronze-2);margin-bottom:14px}
.ia-spec p{font-family:var(--font-serif)!important;font-style:italic;color:#f2ede1d9!important;font-size:17px!important;line-height:1.6;margin:0}
.ia-flow{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0;padding:0;list-style:none}
.ia-flow li{border:1px solid #c29a5b73;padding:12px 14px;font-family:var(--font-mono);font-size:12px;line-height:1.45;color:var(--color-ivory);max-width:210px;margin:0}
.ia-arw{color:var(--color-bronze-2);font-family:var(--font-mono)}
.ia-steps{list-style:none;counter-reset:s;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));border-top:1px solid var(--color-rule-ink);padding:0!important;margin-top:32px}
.ia-steps li{counter-increment:s;padding:26px 28px 0 0;margin:0 28px 0 0;border-right:1px solid var(--color-hair-light);max-width:none}
.ia-steps li:last-child{border-right:0}
.ia-steps li::before{content:"0" counter(s);display:block;font-family:var(--font-mono);font-size:12px;color:var(--color-bronze);margin-bottom:14px}
.ia-steps li p{font-size:17px}
.ia-limit{background:var(--color-midnight);color:var(--color-ivory);padding:clamp(28px,4vw,48px);margin-top:48px}
.ia-limit .eyebrow{color:var(--color-bronze-2)}
.ia-limit p{font-family:var(--font-serif)!important;color:#f2ede1eb!important;font-size:19px;line-height:1.6;max-width:66ch;margin:0 0 10px}
.ia-limit strong{color:var(--color-ivory)!important}
.ia-quote{margin:0 0 32px;padding:4px 0 4px 28px;border-left:2px solid var(--color-bronze)}
.ia-quote p{font-family:var(--font-display)!important;font-size:clamp(22px,2.4vw,30px)!important;line-height:1.3!important;color:var(--color-midnight)!important;max-width:40ch}
.ia-faq details{border-top:1px solid var(--color-hair-light);padding:18px 0;max-width:820px}
.ia-faq details:last-of-type{border-bottom:1px solid var(--color-hair-light)}
.ia-faq summary{font-family:var(--font-body);font-weight:600;font-size:18px;color:var(--color-midnight);cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:24px}
.ia-faq summary::-webkit-details-marker{display:none}
.ia-faq summary::after{content:"+";font-family:var(--font-mono);color:var(--color-bronze)}
.ia-faq details[open] summary::after{content:"–"}
.ia-faq details p{margin:12px 0 0}
.ia-related{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--color-rule-ink);margin-top:32px}
.ia-related a{padding:24px 24px 28px 0;margin-right:24px;text-decoration:none;border-right:1px solid var(--color-hair-light);color:var(--color-midnight)}
.ia-related a:last-child{border-right:0}
.ia-related .k{display:block;font-weight:600;font-size:16px}
.ia-related .k i{font-style:normal;color:var(--color-bronze)}
.ia-related .v{display:block;font-family:var(--font-serif);font-size:15px;line-height:1.5;color:var(--color-steel);margin-top:8px}
.ia-related a:hover .k{color:var(--color-bronze-deep)}
.ia-close{padding-block:clamp(56px,8vw,112px)}
.ia-close .ia-h2{color:var(--color-ivory)}
.ia-close .lede{color:#f2ede1c7}
.vet{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;background:#b0483a14;color:#8a3a2f;border:1px solid #8a3a2f59;padding:1px 6px;margin-left:6px;vertical-align:2px;cursor:help;font-style:normal}
.ia-table{overflow-x:auto;margin:24px 0}
.ia-table table{border-collapse:collapse;width:100%;font-size:15px;font-family:var(--font-body)}
.ia-table th,.ia-table td{border-bottom:1px solid var(--color-hair-light);padding:10px 14px 10px 0;text-align:left;vertical-align:top}
.ia-table th{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--color-bronze-deep);border-bottom:1px solid var(--color-rule-ink)}
.ia-table p{font-size:15px!important;margin:0}
.ia-fig{margin:32px 0}
.ia-fig img{width:100%;height:auto;display:block;border:1px solid var(--color-midnight)}
.ia-fig figcaption{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--color-steel);margin-top:10px}
.ia-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px}
.ia-gallery .ia-fig{margin:0}
.ia-article{max-width:820px}
.ia-article h2,.ia-article h3{font-family:var(--font-display);color:var(--color-midnight);font-weight:600}
.ia-article h2{font-size:34px;margin:40px 0 12px}.ia-article h3{font-size:26px;margin:32px 0 10px}
.ia-bwa{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--color-rule-ink);padding:0!important;margin:24px 0 0}
.ia-bwa li{padding:26px 28px 0 0;margin:0 28px 0 0;border-right:1px solid var(--color-hair-light);max-width:none}
.ia-bwa li:last-child{border-right:0}
.ia-bwa .n{display:block;font-family:var(--font-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--color-bronze);margin-bottom:12px}
.ia-idx{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--color-rule-ink)}
.ia-idx-card{position:relative;display:block;padding:26px 44px 30px 0;margin-right:28px;border-bottom:1px solid var(--color-hair-light);text-decoration:none;color:var(--color-midnight)}
.ia-idx-card .k{display:block;font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--color-bronze-deep);margin-bottom:10px}
.ia-idx-card .v{display:block;font-family:var(--font-display);font-size:24px;line-height:1.2;font-weight:600}
.ia-idx-card i{position:absolute;right:16px;top:26px;font-style:normal;color:var(--color-bronze)}
.ia-idx-card:hover .v{color:var(--color-bronze-deep)}
@media (max-width:900px){
 .ia-hero-grid,.ia-cards,.ia-related,.ia-bwa,.ia-idx{grid-template-columns:1fr}
 .ia-card:nth-child(odd),.ia-card:nth-child(even){border-right:0;padding-left:0;padding-right:0}
 .ia-related a,.ia-bwa li,.ia-steps li{border-right:0;margin-right:0}
}

/* ---- animated figures (v2): play once when revealed, still under reduced motion */
.ia-svg{width:100%;height:auto;display:block;overflow:visible}
.ia-svgfig{margin:36px 0;max-width:860px}
.ia-herofig{margin:0!important}
.ia-inline{margin:40px 0!important}
.ia-svgfig figcaption,.ia-mini figcaption{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--color-bronze-2);margin-top:18px}
.ia-mini{margin:18px 0 0;background:var(--color-midnight);border:1px solid #6e52308c;padding:16px 16px 12px;background-image:linear-gradient(#c29a5b0d 1px,#0000 1px),linear-gradient(90deg,#c29a5b0d 1px,#0000 1px);background-size:28px 28px}
.ia-mini figcaption{margin-top:10px;font-size:10px}
.ia-anim .a{animation-duration:.7s;animation-timing-function:cubic-bezier(.2,.7,.2,1);animation-fill-mode:both;animation-delay:var(--d,0s);animation-play-state:paused}
.ia-anim.in .a{animation-play-state:running}
.a-fade{animation-name:iaFade}
.a-draw{animation-name:iaDraw;animation-duration:1s!important}
.a-pop{animation-name:iaPop;transform-box:fill-box;transform-origin:center}
.a-grow{animation-name:iaGrow;transform-box:fill-box;transform-origin:50% 100%}
.a-wipe{animation-name:iaWipe;transform-box:fill-box;transform-origin:0 50%}
@keyframes iaFade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes iaDraw{from{stroke-dasharray:1 1;stroke-dashoffset:1}to{stroke-dasharray:1 1;stroke-dashoffset:0}}
@keyframes iaPop{0%{opacity:0;transform:scale(.72)}70%{opacity:1;transform:scale(1.03)}100%{opacity:1;transform:scale(1)}}
@keyframes iaGrow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes iaWipe{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media (prefers-reduced-motion:reduce){.ia-anim .a{animation:none!important}}

.ia-svgfig.plate{padding:clamp(18px,2.2vw,28px)!important}
.ia-herofig.plate{padding:16px!important}
.ia-hero-grid:not(.solo){grid-template-columns:1fr 1fr}

/* ---- v3: Visual System scenes (cream frame, ink, bronze trail, mark, gate) */
.ia-scene{margin:36px 0;max-width:880px;border:1px solid var(--color-midnight);background:#F8F5EE}
.ia-scene .ia-svg{display:block}
.ia-scene figcaption{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--color-bronze-deep);padding:12px 16px;border-top:1px solid #0b152633;background:#F8F5EE;display:flex;justify-content:space-between;gap:16px;align-items:center}
.ia-scene.mini{margin:18px 0 0}
.ia-scene.mini figcaption{font-size:10px;padding:9px 12px}
.ia-hero .ia-scene{margin:0}
.a-turn{animation-name:iaTurn;animation-duration:.4s!important;transform-box:fill-box;transform-origin:center}
@keyframes iaTurn{from{transform:rotate(0)}to{transform:rotate(90deg)}}
.a-gate{animation-name:iaGate;animation-duration:.4s!important;transform-box:fill-box;transform-origin:100% 50%}
@keyframes iaGate{0%{opacity:1;transform:scaleX(1)}40%{opacity:1;transform:scaleX(1)}100%{opacity:0;transform:scaleX(.02)}}
.a-cursor{animation-name:iaCursor;animation-duration:1.4s!important}
@keyframes iaCursor{0%{opacity:0;transform:translate(26px,30px)}35%{opacity:1;transform:translate(0,0)}55%{transform:translate(0,2px)}65%{transform:translate(0,0)}100%{opacity:0;transform:translate(10px,18px)}}
/* storyboard: frames play in sequence once, the last frame stays */
.ia-sb .sbf{opacity:0;animation:iaFrame var(--dur) linear var(--t0) both paused}
.ia-sb .sbf-last{animation-name:iaFrameStay}
.ia-sb.in .sbf{animation-play-state:running}
@keyframes iaFrame{0%{opacity:0}4%{opacity:1}94%{opacity:1}100%{opacity:0}}
@keyframes iaFrameStay{0%{opacity:0}4%{opacity:1}100%{opacity:1}}
.ia-sb .sb-progress{transform-box:fill-box;transform-origin:0 50%;animation:iaWipe var(--total) linear 0s both paused}
.ia-sb.in .sb-progress{animation-play-state:running}
.ia-replay{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;background:none;border:1px solid var(--color-bronze);color:var(--color-bronze-deep);padding:5px 10px;cursor:pointer}
.ia-replay:hover{background:var(--color-bronze);color:#F8F5EE}
@media (prefers-reduced-motion:reduce){
 .ia-sb .sbf{animation:none!important;opacity:0}.ia-sb .sbf.poster{opacity:1}
 .ia-sb .sb-progress,.a-cursor{display:none}.a-gate{animation:none!important;opacity:0}
 .ia-replay{display:none}
}
.ia-matrix{width:100%;border-collapse:collapse;margin-top:28px;font-family:var(--font-serif)}
.ia-matrix th{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--color-bronze-deep);text-align:left;padding:0 18px 12px 0;border-bottom:1px solid var(--color-rule-ink)}
.ia-matrix td{vertical-align:top;padding:16px 18px 16px 0;border-bottom:1px solid var(--color-hair-light);font-size:17px;line-height:1.55;color:#1a2942e6}
.ia-matrix td:first-child{font-family:var(--font-body);font-weight:600;color:var(--color-midnight);width:22%}
.ia-conn{font-family:var(--font-mono)!important;font-size:12px!important;letter-spacing:.08em;color:var(--color-bronze-deep)!important;margin-top:18px}

.ia-scene figcaption{font-family:var(--font-body);font-size:14px;letter-spacing:0;text-transform:none;color:#1a2942d9;line-height:1.45}
.ia-scene figcaption b{font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--color-bronze-deep);margin-right:10px}
.ia-scene.mini figcaption{font-size:12.5px}

/* ---- v6: industry pages */
.ind-proof{display:grid;grid-template-columns:repeat(3,auto);gap:0 28px;justify-content:start;margin-top:30px;padding-top:22px;border-top:1px solid var(--color-hair-light)}
.ind-proof div{display:flex;flex-direction:column;max-width:210px}
.ind-proof b{font-family:var(--font-display);font-weight:600;font-size:34px;line-height:1;color:var(--color-midnight)}
.ind-proof span{font-family:var(--font-body);font-size:13px;line-height:1.4;color:var(--color-steel);margin-top:6px}
.ind-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.ind-badges span{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--color-rule-ink);padding:5px 9px;color:var(--color-ink)}
.ind-badges.dark span{border-color:#f2ede152;color:var(--color-ivory)}
.ind-closeproof{font-family:var(--font-serif);font-style:italic;color:#f2ede1cc;margin-top:22px;max-width:60ch}
.ind-press-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--color-rule-ink);margin-top:28px}
.ind-press{padding:26px 28px 8px 0;margin-right:28px;border-right:1px solid var(--color-hair-light)}
.ind-press:last-child{border-right:0;margin-right:0}
.ind-press .n{font-family:var(--font-mono);font-size:12px;color:var(--color-bronze)}
.ind-press h3{font-family:var(--font-display);font-weight:600;font-size:26px;line-height:1.15;color:var(--color-midnight);margin:10px 0 12px}
.ind-press p,.ind-wf p,.ind-comp p,.ind-role p{font-family:var(--font-serif);font-size:17px;line-height:1.6;color:#1a2942e0}
.ind-teams{margin-top:28px;border-top:1px solid var(--color-rule-ink)}
.ind-team{border-bottom:1px solid var(--color-hair-light);padding:6px 0}
.ind-team summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:minmax(200px,28%) 1fr 24px;gap:24px;align-items:baseline;padding:18px 0}
.ind-team summary::-webkit-details-marker{display:none}
.ind-team summary::after{content:"+";font-family:var(--font-mono);color:var(--color-bronze);text-align:right}
.ind-team[open] summary::after{content:"−"}
.ind-team summary span{font-family:var(--font-body);font-weight:600;font-size:19px;color:var(--color-midnight)}
.ind-team summary em{font-style:normal;font-family:var(--font-serif);font-size:17px;color:var(--color-steel)}
.ind-wf-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 32px;padding:0 0 18px}
.ind-wf{padding:14px 0;border-top:1px solid var(--color-hair-light)}
.ind-wf h4,.ind-comp h4,.ind-sys h4{font-family:var(--font-body);font-weight:600;font-size:17px;color:var(--color-midnight);margin:0 0 6px}
.ind-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.ind-chips span{font-family:var(--font-mono);font-size:11px;background:var(--color-manila);color:var(--color-bronze-deep);padding:3px 8px}
.ind-sys-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;margin-top:28px}
.ind-comp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 32px;margin-top:28px;border-top:1px solid var(--color-rule-ink)}
.ind-comp{padding:20px 0;border-bottom:1px solid var(--color-hair-light)}
.ind-role-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:28px;border-top:1px solid var(--color-rule-ink)}
.ind-role{padding:24px 24px 8px 0;margin-right:24px;border-right:1px solid var(--color-hair-light)}
.ind-role:last-child{border-right:0;margin-right:0}
.ind-role .k{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--color-bronze-deep)}
.ind-role h4{font-family:var(--font-display);font-weight:600;font-size:22px;line-height:1.2;color:var(--color-midnight);margin:10px 0}
@media(max-width:900px){.ind-press-grid,.ind-wf-grid,.ind-comp-grid,.ind-role-grid,.ind-proof{grid-template-columns:1fr}.ind-press,.ind-role{border-right:0;margin-right:0}.ind-team summary{grid-template-columns:1fr 24px}.ind-team summary em{grid-column:1}}

/* ---- v7: mega menus, new-page flags, zig-zag rows, parent pages, home, spacing */
header.nav .nav-inner{position:relative}
.nav-drop.mega-drop{position:static!important}
.nav-drop.mega-drop .drop-panel.mega{left:0!important;right:0!important;min-width:0!important;padding:0!important}
.mega-top a{display:flex;flex-direction:column;gap:3px;padding:16px 24px;border-bottom:1px solid var(--color-hair-light);text-decoration:none}
.mega-top b{font-family:var(--font-body);font-weight:600;font-size:15px;color:var(--color-midnight)}
.mega-top span{font-family:var(--font-body);font-size:13px;color:var(--color-steel)}
.mega-cols{display:grid;gap:0;padding:14px 12px 18px}
.mega-cols.six{grid-template-columns:repeat(6,1fr)}
.mega-cols.two{grid-template-columns:1fr 2fr}
.mega-col{padding:6px 12px;border-right:1px solid var(--color-hair-light)}
.mega-col:last-child{border-right:0}
.mega-col.fn{columns:2;column-gap:24px}
.mega-col.fn .mega-h{column-span:all}
.mega-h{display:block;font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--color-bronze-deep);text-decoration:none;margin:4px 0 8px}
.mega-h em{display:block;font-style:normal;font-family:var(--font-body);letter-spacing:0;text-transform:none;font-size:12px;color:var(--color-steel);margin-top:2px}
.mega-i{display:block;font-family:var(--font-body);font-size:14px;line-height:1.3;color:#0b1526d9;text-decoration:none;padding:5px 0;break-inside:avoid}
.mega-i:hover,.mega-top a:hover b,.mega-h:hover{color:var(--color-bronze)}
@media(max-width:1023px){.mega-cols.six,.mega-cols.two{grid-template-columns:1fr}.mega-col{border-right:0}.mega-col.fn{columns:1}}
/* hero */
.ia-h1.std{font-size:clamp(40px,5.2vw,70px);line-height:1.02;max-width:18ch}
.ia-stat{font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;color:var(--color-bronze-deep);margin-top:22px;padding-top:16px;border-top:1px solid var(--color-hair-light);max-width:60ch;line-height:1.6}
.ia-hero{padding-bottom:clamp(36px,5vw,72px)}
.ia-crumb{padding-top:clamp(28px,4vw,56px)}
/* spacing pass */
.ia-sec{padding-block:clamp(44px,5.5vw,84px)}
.ia-sec .ia-h2{margin-bottom:18px}
.ia-close{padding-block:clamp(40px,5vw,72px)}
.ia-sec .lede{margin-bottom:18px}
.ia-body p:last-child{margin-bottom:0}
/* zig-zag rows: every claim sits next to its animation */
.ia-rows{margin-top:28px;border-top:1px solid var(--color-rule-ink)}
.ia-row{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(28px,4vw,64px);align-items:center;padding:clamp(28px,3.5vw,48px) 0;border-bottom:1px solid var(--color-hair-light)}
.ia-row.flip .ia-row-t{order:2}
.ia-row.nofig{grid-template-columns:1fr}
.ia-row.nofig .ia-row-f{display:none}
.ia-row h3{font-family:var(--font-display);font-weight:600;font-size:clamp(24px,2.4vw,32px);line-height:1.15;color:var(--color-midnight);margin:0 0 12px}
.ia-row .ia-scene{margin:0;max-width:none}
@media(max-width:900px){.ia-row{grid-template-columns:1fr}.ia-row.flip .ia-row-t{order:0}}
/* parent pages */
.pl-groups{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--color-rule-ink);margin-top:24px}
.pl-group{padding:22px 24px 18px 0;margin-right:24px;border-bottom:1px solid var(--color-hair-light)}
.pl-h{display:grid;grid-template-columns:1fr 20px;text-decoration:none;margin-bottom:10px}
.pl-h b{font-family:var(--font-display);font-weight:600;font-size:28px;color:var(--color-midnight)}
.pl-h em{grid-column:1;font-style:normal;font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--color-bronze-deep)}
.pl-h i{grid-row:1;grid-column:2;font-style:normal;color:var(--color-bronze)}
.pl-group ul{list-style:none;margin:0;padding:0}
.pl-group li{padding:8px 0;border-top:1px solid var(--color-hair-light)}
.pl-group li a{font-family:var(--font-body);font-weight:600;font-size:15px;color:var(--color-midnight);text-decoration:none}
.pl-group li a:hover{color:var(--color-bronze)}
.pl-group li span{display:block;font-family:var(--font-body);font-size:13px;line-height:1.45;color:var(--color-steel);margin-top:2px}
.pl-layers{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--color-rule-ink);margin-top:20px}
.pl-layer{padding:18px 18px 8px 0;margin-right:18px;border-right:1px solid var(--color-hair-light)}
.pl-layer:last-child{border-right:0}
.pl-layer b{font-family:var(--font-body);font-weight:600;font-size:17px;color:var(--color-midnight)}
.pl-layer em{display:block;font-style:normal;font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--color-bronze-deep);margin:4px 0 8px}
.pl-layer p{font-family:var(--font-serif);font-size:15px;line-height:1.55;color:#1a2942d9}
.ia-idx.one{grid-template-columns:1fr}
/* home */
.hm-apps{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--color-rule-ink);margin-top:20px}
.hm-app{padding:22px 24px 20px 0;margin-right:24px;border-bottom:1px solid var(--color-hair-light)}
.hm-app .k{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--color-bronze-deep)}
.hm-app h3{font-family:var(--font-display);font-weight:600;font-size:24px;color:var(--color-midnight);margin:8px 0}
.hm-app p,.hm-eq li,.hm-fly li{font-family:var(--font-serif);font-size:16px;line-height:1.55;color:#1a2942e0}
.hm-eq{display:grid;grid-template-columns:1fr 40px 1.3fr 40px 1fr;align-items:start;margin-top:24px;border-top:1px solid var(--color-rule-ink);padding-top:22px}
.hm-eq h3,.hm-fly h3,.hm-sol h3{font-family:var(--font-body);font-weight:600;font-size:18px;color:var(--color-midnight);margin:0 0 10px}
.hm-eq ul{margin:0;padding-left:18px}
.hm-op{font-family:var(--font-display);font-size:40px;color:var(--color-bronze);text-align:center;line-height:1}
.hm-sol{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:18px}
.hm-sol h3 a{color:var(--color-midnight);text-decoration:none}
.hm-quotes{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--color-rule-ink);margin-top:20px}
.hm-q{margin:0;padding:22px 22px 18px 0;margin-right:22px;border-bottom:1px solid var(--color-hair-light)}
.hm-q blockquote{font-family:var(--font-display);font-size:22px;line-height:1.25;color:var(--color-midnight);margin:0 0 10px}
.hm-q figcaption{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--color-bronze-deep)}
.hm-fly{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:20px}
.hm-fly ol{margin:0;padding-left:20px}
.ind-proof.four{grid-template-columns:repeat(4,auto)}
.wn-list{list-style:none;margin:16px 0 0;padding:0;columns:2;column-gap:40px}
.wn-list li{padding:8px 0;border-bottom:1px solid var(--color-hair-light);break-inside:avoid;display:flex;justify-content:space-between;gap:12px}
.wn-list a{font-family:var(--font-body);font-weight:600;color:var(--color-midnight);text-decoration:none}
.wn-list code{font-family:var(--font-mono);font-size:11px;color:var(--color-steel)}
@media(max-width:900px){.pl-groups,.pl-layers,.hm-apps,.hm-quotes,.hm-sol,.hm-fly,.hm-eq{grid-template-columns:1fr}.hm-op{text-align:left}.wn-list{columns:1}}

.drop-panel.mega .mega-top a{padding:16px 24px!important}
.drop-panel.mega .mega-i:after,.drop-panel.mega .mega-h:after,.drop-panel.mega .mega-top a:after{display:none!important}
.ia-h1.std{font-size:clamp(38px,4.4vw,60px);max-width:21ch}
/* spacing pass 2 */
.ia-sec{padding-block:clamp(34px,4vw,58px)}
.ia-close{padding-block:clamp(30px,3.6vw,52px)}
.ia-hero{padding-bottom:clamp(28px,3.6vw,52px)}
.ia-sec .eyebrow{margin-bottom:10px}

.ind-heroband{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 40px;margin-top:clamp(24px,3vw,40px);padding-top:22px;border-top:1px solid var(--color-rule-ink)}
.ind-heroband .ind-proof{margin:0;padding:0;border:0}
.ind-heroband .ind-badges{margin:0}
.ia-hero-grid{align-items:center}
.mega-cols.seven{grid-template-columns:repeat(7,1fr)}
.mega-top.two,.mega-top.three{display:grid;grid-template-columns:repeat(3,1fr)}
.mega-top.two{grid-template-columns:1fr 2fr}
.mega-top.two a,.mega-top.three a{border-right:1px solid var(--color-hair-light)}
@media(max-width:1023px){.mega-cols.seven,.mega-top.two,.mega-top.three{grid-template-columns:1fr}}
.mega-cols.seven{grid-template-columns:repeat(7,minmax(0,1fr));padding:14px 8px 18px}
.mega-cols.seven .mega-col{padding:6px 10px;min-width:0}
.mega-cols.seven .mega-i{font-size:13.5px;white-space:normal;overflow-wrap:anywhere}
.mega-cols.seven .mega-h em{font-size:11.5px}
@media(max-width:1023px){.mega-cols.seven{grid-template-columns:1fr}}
.drop-panel.mega .mega-i{white-space:normal!important;display:block!important;max-width:100%}
.pn-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--color-rule-ink);margin-top:14px}
.pn-grid>div{padding:18px 22px 6px 0;margin-right:22px;border-right:1px solid var(--color-hair-light)}
.pn-grid>div:last-child{border-right:0}
.pn-grid h3{font-family:var(--font-body);font-weight:600;font-size:17px;margin:0 0 6px}
.pn-grid h3 a{color:var(--color-midnight);text-decoration:none;border-bottom:1px solid var(--color-bronze)}
.pn-grid p{font-family:var(--font-serif);font-size:15.5px;line-height:1.55;color:#1a2942e0}
@media(max-width:900px){.pn-grid{grid-template-columns:1fr}.pn-grid>div{border-right:0}}
/* customer quote marquee (proof) */
.ia-qm{padding-block:clamp(34px,4vw,56px);overflow:hidden}
.ia-qm .eyebrow{margin-bottom:18px}
.qm{overflow:hidden;outline:none}
.qm-track{display:flex;gap:20px;width:max-content;animation:qm-scroll 90s linear infinite;padding-left:20px}
.qm-dup{display:flex;gap:20px}
.qm:hover .qm-track,.qm:focus-within .qm-track,.qm:focus .qm-track{animation-play-state:paused}
@keyframes qm-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.qm-card{flex:0 0 360px;margin:0;padding:22px 24px 18px;background:#F8F5EE;border:1px solid var(--color-rule-ink);display:flex;flex-direction:column;justify-content:space-between;gap:14px}
.qm-card blockquote{margin:0;font-family:var(--font-display);font-size:20px;line-height:1.3;color:var(--color-midnight)}
.qm-card figcaption{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--color-bronze-deep);border-top:1px solid var(--color-hair-light);padding-top:10px}
.qm-note{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--color-steel);margin-top:14px}
@media (prefers-reduced-motion: reduce){.qm-track{animation:none}.qm{overflow-x:auto}.qm-dup{display:none}}
@media(max-width:700px){.qm-card{flex-basis:280px}.qm-card blockquote{font-size:18px}}

/* ===== v9 layout pass: responsive + grid hygiene (keep LAST in file) ===== */
/* heroes without a second column */
.ia-hero-grid:not(:has(> :nth-child(2))){grid-template-columns:1fr}
.ia-hero-grid > div:empty{display:none}
/* steps: always one row on desktop */
.ia-steps{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important}
/* 3-column grids: a lone last item spans the row instead of leaving two empty cells */
.ia-idx > :last-child:nth-child(3n+1),.ind-press-grid > :last-child:nth-child(3n+1),.pl-groups > :last-child:nth-child(3n+1),
.hm-apps > :last-child:nth-child(3n+1),.pn-grid > :last-child:nth-child(3n+1),.ind-comp-grid > :last-child:nth-child(3n+1){grid-column:1/-1}
/* 4-column grids: 1 or 2 leftovers stretch across the row */
.ia-related > :last-child:nth-child(4n+1),.ind-role-grid > :last-child:nth-child(4n+1),.hm-quotes > :last-child:nth-child(4n+1){grid-column:1/-1}
.ia-related > :nth-child(4n+1):nth-last-child(2),.ia-related > :nth-child(4n+2):last-child,
.ind-role-grid > :nth-child(4n+1):nth-last-child(2),.ind-role-grid > :nth-child(4n+2):last-child{grid-column:span 2}
/* systems: size columns to the number of groups */
.ind-sys-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.ind-sys-grid:has(> :nth-child(4):last-child){grid-template-columns:repeat(4,1fr)}
/* team cards: one rule per row, not two */
.ind-wf-grid{align-items:start}
/* tables never push the page wider than the screen */
.ia-body table,.ia table{max-width:100%}

@media (max-width:1100px){
  .pl-layers,.ind-role-grid,.hm-quotes,.ia-related{grid-template-columns:repeat(2,1fr)!important}
  .ia-related > *,.ind-role-grid > *{grid-column:auto!important}
  .pl-groups,.ind-press-grid,.ia-idx,.hm-apps,.pn-grid,.ind-comp-grid{grid-template-columns:repeat(2,1fr)!important}
  .ia-idx > *,.ind-press-grid > *,.pl-groups > *,.hm-apps > *,.pn-grid > *,.ind-comp-grid > *{grid-column:auto!important}
  .ia-idx > :last-child:nth-child(2n+1),.ind-press-grid > :last-child:nth-child(2n+1),.pl-groups > :last-child:nth-child(2n+1),
  .hm-apps > :last-child:nth-child(2n+1),.pn-grid > :last-child:nth-child(2n+1),.ia-related > :last-child:nth-child(2n+1),
  .ind-role-grid > :last-child:nth-child(2n+1),.pl-layers > :last-child:nth-child(2n+1),.ind-comp-grid > :last-child:nth-child(2n+1){grid-column:1/-1!important}
  .ind-sys-grid,.ind-sys-grid:has(> :nth-child(4):last-child){grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
  .ia-hero-grid,.ia-row,.ia-row.flip,.hm-sol,.hm-fly,.hm-eq,.ind-wf-grid,.ia-cards,.ia-bwa{grid-template-columns:1fr!important}
  .ia-row.flip .ia-row-t{order:0}
  .ia-hero-grid > *{min-width:0}
  .ia-h1.std,.ia-h1{font-size:clamp(30px,8vw,46px)!important;max-width:none}
  .ia-h2{font-size:clamp(26px,6.4vw,38px)!important}
  .ia-sec{padding-block:32px}
  .ia-hero{padding-bottom:24px}
  figure.ia-scene figcaption{flex-wrap:wrap;gap:8px}
  .ia-body table,.ia table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
}
@media (max-width:600px){
  .pl-layers,.ind-role-grid,.hm-quotes,.ia-related,.pl-groups,.ind-press-grid,.ia-idx,.hm-apps,.pn-grid,.ind-comp-grid,.ind-sys-grid,.ind-sys-grid:has(> :nth-child(4):last-child),.ind-proof,.ind-proof.four{grid-template-columns:1fr!important}
  .pl-layer,.pn-grid > div{border-right:0!important;margin-right:0!important}
  .ia-crumb{font-size:11px}
  .wn-list li{flex-direction:column;gap:2px}
  .wn-list code{word-break:break-all}
}
@media (max-width:600px){
  figure.ia-scene[data-motif="system_path"],figure.ia-scene[data-motif="platform"]{overflow-x:auto;-webkit-overflow-scrolling:touch}
  figure.ia-scene[data-motif="system_path"] > svg,figure.ia-scene[data-motif="platform"] > svg{min-width:620px}
  figure.ia-scene[data-motif="system_path"] figcaption::before,figure.ia-scene[data-motif="platform"] figcaption::before{content:"Swipe to see the full map →";display:block;width:100%;font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-bronze-deep);margin-bottom:4px}
}
@media (max-width:600px){
  table.ia-stack{display:block!important;overflow:visible!important;border:0}
  table.ia-stack colgroup,table.ia-stack tr.ia-thead{display:none}
  table.ia-stack tbody,table.ia-stack tr,table.ia-stack td,table.ia-stack th{display:block;width:auto!important}
  table.ia-stack tr{border-top:1px solid var(--color-rule-ink);padding:12px 0 8px}
  table.ia-stack td,table.ia-stack th{border:0!important;padding:4px 0!important;text-align:left}
  table.ia-stack td[data-label]:not(:first-child)::before,table.ia-stack th[data-label]:not(:first-child)::before{content:attr(data-label);display:block;font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--color-bronze-deep);margin-bottom:2px}
  table.ia-stack td:first-child,table.ia-stack th:first-child{font-weight:600;font-size:17px;color:var(--color-midnight)}
  .ia-h1.std,.ia-h1{font-size:clamp(28px,7.4vw,36px)!important;line-height:1.1!important}
  .ia-h2{font-size:clamp(24px,6vw,32px)!important;line-height:1.14!important}
  .ia-row h3{font-size:22px}
}
@media (max-width:600px){.ia-h2,.ia-h1,.ia-h1.std{max-width:none!important}.ia-sub,.lede{max-width:none}}
/* mobile: comfortable tap targets for breadcrumb and platform-note links */
@media(max-width:767px){.ia-crumb a{display:inline-block;padding:10px 2px;margin:-10px 0}.ia-platnote h3 a{display:inline-block;padding:6px 0}}

/* Sep 24 review: team expanders. Title with a one-line summary underneath (no squeezed
   side column), lighter card text, three cards across on desktop, figure set apart. */
.ind-team{padding:0}
.ind-team summary{display:block;position:relative;padding:22px 48px 22px 0}
.ind-team summary::after{position:absolute;right:4px;top:22px;font-size:18px;line-height:1}
.ind-team summary span{display:block;font-size:20px;line-height:1.3}
.ind-team summary em{display:block;margin-top:6px;max-width:68ch;font-family:var(--font-body);font-size:16px;line-height:1.5;font-weight:400;color:var(--color-steel)}
.ind-team summary:hover span{color:var(--color-bronze-deep)}
.ind-team[open] summary{padding-bottom:10px}
.ind-team .ind-wf-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px;padding:0 0 8px}
.ind-team .ind-wf{padding:16px 0 18px}
.ind-team .ind-wf h4{font-size:16px;line-height:1.35;margin:0 0 6px}
.ind-team .ind-wf p{font-family:var(--font-body);font-size:15px;line-height:1.55;font-weight:400;color:#1a2942d0}
.ind-team figure{margin:8px 0 28px}
@media(max-width:1100px){.ind-team .ind-wf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.ind-team .ind-wf-grid{grid-template-columns:1fr}.ind-team summary span{font-size:18px}.ind-team summary em{font-size:15px}}

/* FAQ page: Getting started call to action */
.faq-start .faq-steps{list-style:none;margin:24px 0 28px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.faq-start .faq-steps li{display:flex;gap:14px;border-top:1px solid rgba(239,234,224,.25);padding-top:16px}
.faq-start .faq-steps .n{font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;color:var(--color-bronze);padding-top:3px}
.faq-start .faq-steps h3{font-family:var(--font-body);font-weight:600;font-size:17px;margin:0 0 6px;color:inherit}
.faq-start .faq-steps p{font-family:var(--font-body);font-size:15px;line-height:1.55;margin:0;opacity:.85}
@media(max-width:900px){.faq-start .faq-steps{grid-template-columns:1fr}}
.faq-start .faq-steps h3{word-spacing:.12em}

/* Figures clip to their viewBox. Cropped storyboards keep a full-frame background rect
   that, with overflow visible, painted over the text above the figure (Finance How it works). */
.ia-svg{overflow:hidden}
