/* AB is a public-facing concept, not a visualization of internal system structure. */
.iq-ab{--ab-ink:#181b1d;--ab-muted:#575c60;--ab-line:#d5d8d9;--ab-paper:#f3f4f3;--ab-accent:#235e82;scroll-margin-top:-118px}
.ab-heading{display:grid;grid-template-columns:1.15fr 1fr;gap:56px;align-items:end}
.iq-ab .ab-heading .kicker{font-size:11px;letter-spacing:.15em;text-transform:uppercase;margin-bottom:18px;color:var(--ab-muted)}
.iq-ab #architecture-title{font-size:clamp(42px,5.5vw,76px);line-height:1.04;letter-spacing:-.055em;font-weight:400}
.ab-intro{margin:0;font-size:17px;line-height:1.65;color:#43484b;max-width:48ch}
.ab-experience{display:grid;grid-template-columns:minmax(0,1.38fr) minmax(0,1fr);margin-top:38px;border:1px solid var(--ab-line)}
.ab-figure{margin:0;min-width:0;background:var(--ab-paper);display:flex;flex-direction:column;position:relative;border-right:1px solid var(--ab-line)}
.ab-figure-head{display:flex;justify-content:space-between;gap:20px;padding:20px 25px;font-size:10px;line-height:1.5;letter-spacing:.12em;text-transform:uppercase;color:var(--ab-muted)}
.ab-stage{position:relative;min-height:400px;aspect-ratio:1.22;overflow:hidden;flex:1;background:radial-gradient(ellipse at 52% 43%,#fafbf9 0%,#f3f4f3 64%)}
.ab-stage::before,.ab-stage::after{content:'';position:absolute;pointer-events:none;width:20px;height:20px;border-color:#bec5c8;z-index:2}
.ab-stage::before{top:22px;left:25px;border-top:1px solid;border-left:1px solid;color:#c1c7ca}
.ab-stage::after{bottom:76px;right:25px;border-bottom:1px solid;border-right:1px solid;color:#c1c7ca}
.ab-canvas,.ab-fallback{position:absolute;inset:0;width:100%;height:100%;display:block}
.ab-fallback{color:#68727a}
.ab-canvas{visibility:hidden}
.ab-rendered .ab-canvas{visibility:visible}
.ab-rendered .ab-fallback{visibility:hidden}
.ab-monogram{position:absolute;left:26px;bottom:16px;font-size:clamp(56px,6vw,82px);line-height:1;letter-spacing:-.075em;font-weight:400;color:var(--ab-ink)}
.ab-stage-controls{position:absolute;bottom:21px;right:23px}
.ab-motion{font:inherit;font-size:11px;border:1px solid #bac0c3;background:rgba(250,251,249,.88);border-radius:999px;padding:9px 13px;min-height:44px;cursor:pointer;color:#41494e;display:inline-flex;gap:14px;align-items:center}
.ab-motion:hover{border-color:#313a40;background:#fff}
.ab-motion[hidden],.ab-lenses[hidden],.ab-perspective[hidden]{display:none!important}
.ab-figure figcaption{padding:16px 25px 18px;font-size:11px;color:var(--ab-muted);line-height:1.65;border-top:1px solid var(--ab-line)}
.ab-editorial{padding:35px 32px 24px;min-width:0;display:flex;flex-direction:column;background:#fff}
.ab-overline{margin:0 0 27px;font-size:10px;line-height:1.6;text-transform:uppercase;letter-spacing:.12em;color:var(--ab-muted)}
.iq-ab .ab-editorial h3{font-size:clamp(27px,2.7vw,37px);line-height:1.15;letter-spacing:-.04em;font-weight:400;margin:0 0 18px;color:var(--ab-ink)}
.ab-editorial-intro{font-size:14px;line-height:1.75;margin:0 0 30px;color:#50565a;max-width:44ch}
.ab-lenses{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:22px}
.ab-lenses button{font:inherit;font-size:12px;line-height:1.4;min-height:44px;border:1px solid #c8ccce;color:#4e575d;border-radius:999px;padding:10px 15px;cursor:pointer;background:#fff;transition:color .16s,background .16s,border-color .16s}
.ab-lenses button[aria-pressed="true"]{background:var(--ab-ink);border-color:var(--ab-ink);color:#fff}
.ab-lenses button:hover:not([aria-pressed="true"]){border-color:#4e575d}
.ab-perspectives{min-height:170px}
.ab-perspective{border-top:1px solid var(--ab-line);padding-top:19px;margin-bottom:20px}
.ab-perspective-label{margin:0 0 10px;color:var(--ab-accent);font-size:10px;letter-spacing:.1em;text-transform:uppercase}
.ab-enhanced .ab-perspective-label{display:none}
.iq-ab .ab-perspective h4{font-size:20px;font-weight:400;line-height:1.3;letter-spacing:-.025em;margin:0 0 11px;color:var(--ab-ink)}
.ab-perspective>p:last-child{font-size:14px;line-height:1.75;color:#50565a;margin:0}
.ab-text-link{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-top:auto;min-height:48px;font-size:13px;border-top:1px solid var(--ab-line);padding-top:9px;color:var(--ab-ink);text-decoration:underline;text-underline-offset:4px}
.ab-text-link span{font-size:18px;text-decoration:none}
.ab-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid var(--ab-line)}
.ab-principles>div{position:relative;padding:25px 26px 29px 0;min-width:0}
.ab-principles>div+div{padding-left:26px;border-left:1px solid var(--ab-line)}
.ab-principle-mark{display:block;font-size:24px;line-height:1;margin-bottom:21px;color:#424e56}
.iq-ab .ab-principles h3{margin:0 0 9px;font-size:17px;font-weight:400;letter-spacing:-.02em;line-height:1.35}
.ab-principles p{margin:0;color:var(--ab-muted);font-size:13px;line-height:1.65;max-width:33ch}
.iq-ab .ab-boundary{margin-top:15px;border-top:0}
.ab-boundary .iq-disclosure-body{max-width:86ch}
.ab-boundary p{font-size:14px;line-height:1.75;color:var(--ab-muted);margin:0 0 14px}
.ab-boundary a{text-decoration:underline;text-underline-offset:4px;display:inline-block;padding:10px 0;color:var(--ab-ink)}
.iq-ab button:focus-visible,.iq-ab a:focus-visible,.iq-ab summary:focus-visible{outline:2px solid var(--ab-accent);outline-offset:4px}
@media(max-width:1050px){.ab-heading{gap:32px}.ab-editorial{padding:28px 24px 20px}.ab-lenses{gap:5px}.ab-lenses button{padding-inline:11px}.ab-stage{min-height:405px}}
@media(max-width:760px){.iq-ab{scroll-margin-top:-64px}.ab-heading{grid-template-columns:1fr;gap:20px}.ab-intro{font-size:16px;max-width:55ch}.ab-experience{grid-template-columns:1fr;margin-top:28px}.ab-figure{border-right:0;border-bottom:1px solid var(--ab-line)}.ab-stage{min-height:0;aspect-ratio:1.25}.ab-figure-head{padding:17px 20px}.ab-figure figcaption{padding:13px 20px}.ab-stage::before{top:14px;left:20px}.ab-stage::after{right:20px;bottom:63px}.ab-monogram{font-size:60px;left:20px;bottom:13px}.ab-stage-controls{right:17px;bottom:14px}.ab-editorial{padding:28px 23px 20px}.ab-overline{margin-bottom:20px}.iq-ab .ab-editorial h3{font-size:31px}.ab-editorial-intro{margin-bottom:24px}.ab-perspectives{min-height:154px}.ab-principles{grid-template-columns:1fr}.ab-principles>div,.ab-principles>div+div{padding:22px 0 22px 36px;border-left:0}.ab-principles>div+div{border-top:1px solid var(--ab-line)}.ab-principle-mark{position:absolute;left:0;top:22px;font-size:22px}.ab-principles p{max-width:55ch}}
@media(max-width:360px){.ab-editorial{padding:24px 17px 18px}.iq-ab .ab-editorial h3{font-size:27px}.ab-monogram{font-size:49px}.ab-figure-head{padding-inline:16px;font-size:9px}.ab-figure figcaption{padding-inline:16px}.ab-lenses button{font-size:11px;padding-inline:11px}.ab-perspectives{min-height:176px}}
@media(prefers-reduced-motion:reduce){.iq-ab *{transition:none!important}}
@media print{.ab-lenses,.ab-stage-controls{display:none!important}.ab-perspective[hidden]{display:block!important}.ab-enhanced .ab-perspective-label{display:block}.ab-canvas{display:none}.ab-rendered .ab-fallback{visibility:visible}.ab-experience{break-inside:avoid}.ab-stage{min-height:240px}}
