.ab-page{display:block;box-sizing:border-box;background:var(--ab-ground-cream);color:var(--ab-ink)}
.ab-page{
  --ab-ground-cream: #FAF8F5;
  --ab-ground-canvas: #F0EBE2;
  --ab-ground-paper: #FCFBF9;
  --ab-ground-night: #062265;
  --ab-ground-chip: rgba(255,255,255,.9);
  --ab-ink-50: rgba(35,27,16,.50);
  --ab-ink-69: rgba(35,27,16,.69);
  --ab-ink-74: rgba(35,27,16,.74);
  --ab-ink: #231B10;
  --ab-ink-hairline: rgba(35,27,16,.14);
  --ab-ink-rule: rgba(35,27,16,.09);
  --ab-ink-wash: rgba(35,27,16,.05);
  --ab-ink-on-blue: #FFFFFF;
  --ab-blue-100: #DBE7FF;
  --ab-blue-300: #6FA8FF;
  --ab-blue-950: #062265;
  --ab-blue: #0033A0;
  --ab-blue-tint: rgba(0,51,160,.06);
  --ab-blue-highlight: #D2D8E7;
  --ab-orange: #FC401F;
  --ab-orange-ink: #C4100A;
  --ab-orange-night: #FF9572;
  --ab-orange-tint: rgba(252,64,31,.12);
  --ab-orange-chip: #FFF2ED;
  --ab-state-danger: #B42318;
  --ab-state-danger-bg: #FEF3F2;
  --ab-state-gain: #16A24A;
  --ab-chart-1: #0033A0;
  --ab-chart-2: #005DFF;
  --ab-chart-3: #35ADFF;
  --ab-chart-4: #AEDEFF;
  --ab-chart-point: #FC401F;
  --ab-font-display: Doppio, Georgia, serif;
  --ab-font-text: Inter, system-ui, -apple-system, 'Segoe UI', sans-serif;
  --ab-font-code: 'Geist Mono', ui-monospace, Menlo, monospace;
  --ab-r-surface: 16px;
  --ab-r-control: 12px;
  --ab-r-round: 50%;
  --ab-r-tag: 999px;
  --ab-r-device: 28px;
  --ab-r-inline: 3px;
  --ab-r-app-icon: 22.5%;
  --ab-sh-card: 0 10px 30px rgba(35,27,16,.10);
  --ab-sh-lift: 0 20px 56px rgba(35,27,16,.13);
  --ab-sh-control: inset 0 1px 0 #fff, 0 4px 14px rgba(35,27,16,.06);
  --ab-sh-button-dark: 0 4px 12px rgba(35,27,16,.18);
  --ab-sh-plate: inset 2px 3px 5px rgba(35,27,16,.10);
  --ab-sh-composer: 0 34px 74px rgba(35,27,16,.20), 0 3px 10px rgba(35,27,16,.10);
  --ab-glass-base-bg: linear-gradient(180deg, rgba(255,255,255,.97), rgba(255,255,255,.92));
  --ab-glass-base-fx: blur(30px) saturate(1.35);
  --ab-glass-base-sh: inset 0 1px 0 rgba(255,255,255,.95), inset 0 -1px 0 rgba(35,27,16,.06), 0 14px 40px rgba(35,27,16,.12);
  --ab-glass-control-bg: rgba(255,255,255,.80);
  --ab-glass-control-fx: blur(14px) saturate(1.2);
  --ab-glass-control-sh: inset 0 0 0 1px rgba(255,255,255,.8), 0 10px 26px rgba(35,27,16,.14);
  --ab-glass-navVeil-bg: rgba(250,248,245,.72);
  --ab-glass-navVeil-fx: blur(18px) saturate(1.8);
  --ab-glass-navVeil-sh: none;
  --ab-ease: cubic-bezier(0.16,1,0.3,1);
  --ab-ease-film: cubic-bezier(0.65,0,0.35,1);
  --ab-dur-fast: 120ms;
  --ab-dur-base: 200ms;
  --ab-dur-slow: 320ms;
  --ab-dur-card: 550ms;
  --ab-column: 1200px;
  --ab-measure-prose: 720px;
  --ab-section-y: 152px;
  --ab-section-x: 40px;
}
@media (max-width:767px){.ab-page{--ab-section-y:96px;--ab-section-x:24px}}
.ab-page .ab-t-display{font-family:var(--ab-font-display);font-weight:500;font-size:72px;line-height:1.04;letter-spacing:-0.024em}
.ab-page .ab-t-h1{font-family:var(--ab-font-display);font-weight:500;font-size:64px;line-height:1.04;letter-spacing:-0.03em}
.ab-page .ab-t-h2{font-family:var(--ab-font-display);font-weight:500;font-size:52px;line-height:1.08;letter-spacing:-0.024em}
.ab-page .ab-t-h3{font-family:var(--ab-font-display);font-weight:500;font-size:30px;line-height:1.12;letter-spacing:-0.02em}
.ab-page .ab-t-h4{font-family:var(--ab-font-display);font-weight:500;font-size:22px;line-height:1.3;letter-spacing:-0.01em}
.ab-page .ab-t-card-title{font-family:var(--ab-font-display);font-weight:500;font-size:20px;line-height:1.25;letter-spacing:-0.015em}
.ab-page .ab-t-statement{font-family:var(--ab-font-text);font-weight:400;font-size:29px;line-height:1.52;letter-spacing:-0.011em}
.ab-page .ab-t-lede{font-family:var(--ab-font-text);font-weight:400;font-size:18px;line-height:1.6;letter-spacing:0em;color:var(--ab-ink-74)}
.ab-page .ab-t-byline{font-family:var(--ab-font-text);font-weight:400;font-size:18px;line-height:1.5;letter-spacing:0em;color:var(--ab-ink-74)}
.ab-page .ab-t-body{font-family:var(--ab-font-text);font-weight:400;font-size:17px;line-height:1.6;letter-spacing:0em;color:var(--ab-ink-74)}
.ab-page .ab-t-small{font-family:var(--ab-font-text);font-weight:400;font-size:15px;line-height:1.45;letter-spacing:0em;color:var(--ab-ink-74)}
.ab-page .ab-t-metric{font-family:var(--ab-font-text);font-weight:400;font-size:15px;line-height:1.35;letter-spacing:0em;color:var(--ab-ink-74)}
.ab-page .ab-t-fig-label{font-family:var(--ab-font-text);font-weight:400;font-size:16px;line-height:1.45;letter-spacing:0em;color:var(--ab-ink-74)}
.ab-page .ab-t-caption{font-family:var(--ab-font-text);font-weight:400;font-size:14px;line-height:1.35;letter-spacing:0em;color:var(--ab-ink-74)}
.ab-page .ab-t-label{font-family:var(--ab-font-text);font-weight:500;font-size:13px;line-height:1.2;letter-spacing:0em}
.ab-page .ab-t-eyebrow{font-family:var(--ab-font-text);font-weight:500;font-size:14px;line-height:1.6;letter-spacing:0.08em;text-transform:uppercase;color:var(--ab-blue)}
.ab-page .ab-t-eyebrow-sm{font-family:var(--ab-font-text);font-weight:500;font-size:12.5px;line-height:1.4;letter-spacing:0.08em;text-transform:uppercase;color:var(--ab-blue)}
.ab-page .ab-t-micro{font-family:var(--ab-font-text);font-weight:600;font-size:11px;line-height:1.2;letter-spacing:0.1em;text-transform:uppercase;color:var(--ab-ink-69)}
.ab-page .ab-t-numeral-proof{font-family:var(--ab-font-display);font-weight:400;font-size:58px;line-height:1;letter-spacing:-0.025em;color:var(--ab-orange)}
.ab-page .ab-t-numeral-card{font-family:var(--ab-font-display);font-weight:400;font-size:54px;line-height:1;letter-spacing:-0.03em;color:var(--ab-ink)}
.ab-page .ab-t-numeral-hero{font-family:var(--ab-font-display);font-weight:400;font-size:120px;line-height:0.9;letter-spacing:-0.04em}
.ab-page .ab-t-button{font-family:var(--ab-font-text);font-weight:500;font-size:14px;line-height:1;letter-spacing:0em}
.ab-page .ab-t-code{font-family:var(--ab-font-code);font-weight:400;font-size:14px;line-height:1.6;letter-spacing:0em}
@media (max-width:767px){.ab-page .ab-t-display{font-size:30px;line-height:1.1}
.ab-page .ab-t-h1{font-size:38px;line-height:1.06}
.ab-page .ab-t-h2{font-size:34px;line-height:1.1}
.ab-page .ab-t-h3{font-size:26px;line-height:1.12}
.ab-page .ab-t-h4{font-size:19px;line-height:1.3}
.ab-page .ab-t-card-title{font-size:20px;line-height:1.25}
.ab-page .ab-t-statement{font-size:21px;line-height:1.52}
.ab-page .ab-t-lede{font-size:18px;line-height:1.6}
.ab-page .ab-t-byline{font-size:16px;line-height:1.5}
.ab-page .ab-t-body{font-size:17px;line-height:1.6}
.ab-page .ab-t-small{font-size:15px;line-height:1.45}
.ab-page .ab-t-metric{font-size:15px;line-height:1.35}
.ab-page .ab-t-fig-label{font-size:14px;line-height:1.45}
.ab-page .ab-t-caption{font-size:14px;line-height:1.35}
.ab-page .ab-t-label{font-size:13px;line-height:1.2}
.ab-page .ab-t-eyebrow{font-size:14px;line-height:1.6}
.ab-page .ab-t-eyebrow-sm{font-size:12.5px;line-height:1.4}
.ab-page .ab-t-micro{font-size:11px;line-height:1.2}
.ab-page .ab-t-numeral-proof{font-size:38px;line-height:1}
.ab-page .ab-t-numeral-card{font-size:54px;line-height:1}
.ab-page .ab-t-numeral-hero{font-size:88px;line-height:0.9}
.ab-page .ab-t-button{font-size:15px;line-height:1}
.ab-page .ab-t-code{font-size:13px;line-height:1.6}}
.ab-page .ab-glass{background:var(--ab-glass-base-bg);-webkit-backdrop-filter:var(--ab-glass-base-fx);backdrop-filter:var(--ab-glass-base-fx);box-shadow:var(--ab-glass-base-sh);border-radius:var(--ab-r-surface)}
.ab-page .ab-plate{position:relative;border-radius:var(--ab-r-surface);overflow:hidden}
.ab-page .ab-plate::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:var(--ab-sh-plate);pointer-events:none}
@font-face{font-family:Doppio;font-weight:300;font-display:swap;src:url('https://cdn.prod.website-files.com/671c75aea252ba8250473e86/6ab6c1c1d13db97bb813d27a_Doppio-Light.ttf') format('truetype')}
@font-face{font-family:Doppio;font-weight:400;font-display:swap;src:url('https://cdn.prod.website-files.com/671c75aea252ba8250473e86/6ab6c1c1547dbe41cb1d7a8f_Doppio-Regular.ttf') format('truetype')}
@font-face{font-family:Doppio;font-weight:500;font-display:swap;src:url('https://cdn.prod.website-files.com/671c75aea252ba8250473e86/6ab6c1c1e48381cd3358a976_Doppio-Medium.ttf') format('truetype')}
@font-face{font-family:'Geist Mono';font-weight:400;font-display:swap;src:url('https://cdn.prod.website-files.com/671c75aea252ba8250473e86/6ac3b55678aeb4d3d9a2ebbc_ab-geistmono-r1.ttf') format('truetype')}
.ab-page{margin:0;background:var(--ab-ground-cream);color:var(--ab-ink);font:400 17px/1.6 var(--ab-font-text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.ab-page *,.ab-page *::before,.ab-page *::after{box-sizing:border-box}
.ab-page .ab-in{max-width:var(--ab-column);margin-inline:auto}
.ab-page .ab-s{padding:var(--ab-section-y) var(--ab-section-x)}
.ab-page .ab-s--tight{padding-block:104px}
@media (max-width:767px){.ab-page .ab-s--tight{padding-block:72px}}
.ab-page :focus-visible{outline:2px solid var(--ab-blue);outline-offset:2px;border-radius:4px}
.ab-page .ab-head{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:880px;margin-inline:auto}
.ab-page .ab-head .ab-t-eyebrow{margin:0}
.ab-page .ab-head .ab-t-h2,.ab-page .ab-head .ab-t-h1{margin:12px 0 0;text-wrap:balance}
.ab-page .ab-head .ab-t-lede{margin:16px 0 0;color:var(--ab-ink-74);max-width:720px;text-wrap:pretty}
.ab-page .ab-head + *{margin-top:64px}
@media (max-width:767px){.ab-page .ab-head + *{margin-top:40px}}
.ab-page .ab-btns{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.ab-page .ab-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 22px;border-radius:var(--ab-r-control);font:500 14px/1 var(--ab-font-text);text-decoration:none;cursor:pointer;border:0;transition:transform var(--ab-dur-base) var(--ab-ease),background var(--ab-dur-base) var(--ab-ease)}
.ab-page .ab-btn:active{transform:scale(.98);transition-duration:var(--ab-dur-fast)}
.ab-page .ab-btn--primary{background:var(--ab-blue);color:var(--ab-ink-on-blue)}
.ab-page .ab-btn--primary:hover{background:var(--ab-blue-950)}
.ab-page .ab-btn--secondary{background:transparent;color:var(--ab-ink);box-shadow:inset 0 0 0 1px var(--ab-ink-hairline)}
.ab-page .ab-btn--secondary:hover{box-shadow:inset 0 0 0 1px var(--ab-ink-74)}
@media (max-width:767px){.ab-page .ab-btn{height:48px;font-size:15px}
.ab-page .ab-chip{min-height:44px}
.ab-page .ab-code .ab-code-copy{min-height:44px}}
.ab-page .ab-link{color:var(--ab-blue);text-decoration:underline;text-decoration-color:var(--ab-ink-hairline);text-underline-offset:3px;text-decoration-thickness:1px}
.ab-page .ab-link:hover{text-decoration-color:currentColor}
.ab-page .ab-chip{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 14px;border-radius:var(--ab-r-control);background:var(--ab-ground-chip);box-shadow:var(--ab-sh-control);border:1px solid var(--ab-ink-rule);font:500 13px/1.2 var(--ab-font-text);color:var(--ab-ink);cursor:pointer;text-decoration:none}
.ab-page .ab-chip:hover{border-color:var(--ab-ink-hairline)}
.ab-page .ab-chip[aria-pressed="true"],.ab-page .ab-chip[aria-current]{background:var(--ab-ink);color:var(--ab-ground-cream);border-color:var(--ab-ink)}
.ab-page .ab-tag{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:var(--ab-r-tag);background:var(--ab-ink-wash);font:600 11px/1 var(--ab-font-text);letter-spacing:.1em;text-transform:uppercase;color:var(--ab-ink-69)}
.ab-page .ab-tag--blue{background:var(--ab-blue-tint);color:var(--ab-blue)}
.ab-page .ab-hero{padding:120px var(--ab-section-x) 72px;text-align:center}
.ab-page .ab-hero .ab-t-h1{margin:16px auto 0;max-width:880px;text-wrap:balance}
.ab-page .ab-hero .ab-t-lede{margin:20px auto 0;max-width:640px;color:var(--ab-ink-74)}
.ab-page .ab-hero .ab-btns{margin-top:32px}
@media (max-width:767px){.ab-page .ab-hero{padding-block:72px 40px}}
.ab-page .ab-chaps{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;padding:24px var(--ab-section-x) 0}
.ab-page .ab-chaps .ab-chip b{color:var(--ab-blue);font-weight:600}
.ab-page .ab-chaps .ab-chip[aria-current] b{color:var(--ab-blue-300)}
.ab-page .ab-howto{display:grid;grid-template-columns:232px minmax(0,720px);gap:72px;justify-content:center;max-width:var(--ab-column);margin-inline:auto;padding:72px var(--ab-section-x) var(--ab-section-y)}
.ab-page .ab-toc{position:sticky;top:104px;align-self:start;max-height:calc(100vh - 128px);overflow:auto;font-size:14px;line-height:1.35}
.ab-page .ab-toc ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.ab-page .ab-toc > ol > li + li{margin-top:14px}
.ab-page .ab-toc .ab-toc-ch{display:flex;gap:8px;align-items:baseline;color:var(--ab-ink);font-weight:600;text-decoration:none;padding:4px 0}
.ab-page .ab-toc .ab-toc-ch span{font:600 11px/1 var(--ab-font-text);letter-spacing:.1em;color:var(--ab-ink-69);min-width:22px}
.ab-page .ab-toc .ab-toc-ch[aria-current] span{color:var(--ab-blue)}
.ab-page .ab-toc ol ol{margin:6px 0 0 30px;border-left:1px solid var(--ab-ink-rule)}
.ab-page .ab-toc ol ol a{display:block;padding:5px 0 5px 12px;margin-left:-1px;border-left:1px solid transparent;color:var(--ab-ink-69);text-decoration:none}
.ab-page .ab-toc ol ol a:hover{color:var(--ab-ink)}
.ab-page .ab-toc ol ol a.is-on{color:var(--ab-blue);border-left-color:var(--ab-blue)}
.ab-page .ab-toc-phone{display:none}
.ab-page .ab-ch-top{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.ab-page .ab-ch-top .ab-t-h1{margin:0;text-wrap:balance}
.ab-page .ab-ch-top .ab-t-lede{margin:0;color:var(--ab-ink-74)}
@media (max-width:1023px){.ab-page .ab-howto{grid-template-columns:minmax(0,720px);gap:0;padding-top:40px}
.ab-page .ab-toc{display:none}
.ab-page .ab-toc-phone{display:block;margin:0 0 32px;border-radius:var(--ab-r-control);background:var(--ab-ground-canvas)}
.ab-page .ab-toc-phone summary{list-style:none;cursor:pointer;padding:14px 16px;font:500 14px/1.2 var(--ab-font-text);display:flex;justify-content:space-between}
.ab-page .ab-toc-phone summary::-webkit-details-marker{display:none}
.ab-page .ab-toc-phone summary::after{content:"+";color:var(--ab-ink-69)}
.ab-page .ab-toc-phone[open] summary::after{content:"–"}
.ab-page .ab-toc-phone ol{list-style:none;margin:0;padding:0 16px 14px;display:flex;flex-direction:column;gap:2px}
.ab-page .ab-toc-phone a{display:block;padding:7px 0;color:var(--ab-ink-74);text-decoration:none;font-size:15px}}
.ab-page .ab-prose{color:var(--ab-ink-74);font-size:17px;line-height:1.6}
.ab-page .ab-prose > * + *{margin-top:20px}
.ab-page .ab-prose h2{font:500 30px/1.12 var(--ab-font-display);letter-spacing:-.02em;color:var(--ab-ink);margin-top:72px;scroll-margin-top:96px;text-wrap:balance}
.ab-page .ab-prose h3{font:500 22px/1.3 var(--ab-font-display);letter-spacing:-.01em;color:var(--ab-ink);margin-top:40px}
.ab-page .ab-prose h2 + *,.ab-page .ab-prose h3 + *{margin-top:16px}
.ab-page .ab-prose > h2:first-child{margin-top:0}
.ab-page .ab-prose strong{color:var(--ab-ink);font-weight:600}
.ab-page .ab-prose a{color:var(--ab-blue);text-decoration:underline;text-decoration-color:var(--ab-ink-hairline);text-underline-offset:3px}
.ab-page .ab-prose a:hover{text-decoration-color:currentColor}
.ab-page .ab-prose ul,.ab-page .ab-prose ol{padding-left:22px}
.ab-page .ab-prose ul{list-style:disc}
.ab-page .ab-prose ol{list-style:decimal}
.ab-page .ab-prose li + li{margin-top:8px}
.ab-page .ab-prose li::marker{color:var(--ab-ink-69)}
.ab-page .ab-prose :not(pre) > code{font:400 .88em/1 var(--ab-font-code);background:var(--ab-ground-canvas);padding:2px 6px;border-radius:var(--ab-r-inline);color:var(--ab-ink)}
.ab-page .ab-prose mark{background:var(--ab-blue-highlight);color:var(--ab-ink);padding:0 3px;border-radius:var(--ab-r-inline);-webkit-box-decoration-break:clone;box-decoration-break:clone}
.ab-page .ab-prose blockquote{border-left:2px solid var(--ab-blue);padding-left:20px;font:400 22px/1.3 var(--ab-font-display);letter-spacing:-.01em;color:var(--ab-ink)}
.ab-page .ab-prose table{width:100%;border-collapse:collapse;font-size:15px;display:block;overflow-x:auto}
.ab-page .ab-prose th{text-align:left;font:600 11px/1.2 var(--ab-font-text);letter-spacing:.1em;text-transform:uppercase;color:var(--ab-ink-69);padding:10px 12px;border-bottom:1px solid var(--ab-ink-hairline)}
.ab-page .ab-prose td{padding:12px;border-bottom:1px solid var(--ab-ink-rule);vertical-align:top}
.ab-page .ab-prose td:first-child{color:var(--ab-ink);font-weight:500}
.ab-page .ab-code{position:relative;border-radius:var(--ab-r-control);background:var(--ab-ground-canvas);border:1px solid var(--ab-ink-rule)}
.ab-page .ab-code pre{margin:0;padding:20px 24px;overflow-x:auto;font:400 14px/1.6 var(--ab-font-code);color:var(--ab-ink);tab-size:2}
.ab-page .ab-code code{font:inherit}
.ab-page .ab-code-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 8px 6px 16px;border-bottom:1px solid var(--ab-ink-rule)}
.ab-page .ab-code-bar span{font:600 11px/1 var(--ab-font-text);letter-spacing:.1em;text-transform:uppercase;color:var(--ab-ink-69)}
.ab-page .ab-code .ab-code-copy{min-height:30px;padding:0 10px}
@media (max-width:767px){.ab-page .ab-code pre{font-size:13px;padding:16px 18px}}
.ab-page .ab-dia{margin:40px 0;padding:8px;border-radius:var(--ab-r-surface);background:var(--ab-ground-canvas)}
.ab-page .ab-dia-in{border-radius:var(--ab-r-control);background:var(--ab-ground-paper);padding:22px 24px 24px}
.ab-page .ab-dia-label{margin:0}
.ab-page .ab-dia-claim{margin:14px 0 0;font:500 22px/1.3 var(--ab-font-display);letter-spacing:-.01em;color:var(--ab-ink);text-wrap:balance}
.ab-page .ab-dia-sub{margin:6px 0 0;font-size:15px;line-height:1.45;color:var(--ab-ink-74)}
.ab-page .ab-dia-draw{margin-top:20px}
.ab-page .ab-dia-steps{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:10px;list-style:none;margin:0;padding:0;counter-reset:s}
.ab-page .ab-dia-steps li{position:relative;border-radius:var(--ab-r-control);border:1px solid var(--ab-ink-hairline);background:var(--ab-ground-cream);padding:12px 12px 14px;display:flex;flex-direction:column;gap:4px;min-width:0}
.ab-page .ab-dia-steps li::before{counter-increment:s;content:counter(s);font:600 11px/1 var(--ab-font-text);letter-spacing:.1em;color:var(--ab-ink-69)}
.ab-page .ab-dia-steps li:not(:last-child)::after{content:"";position:absolute;top:50%;right:-10px;width:10px;height:1px;background:var(--ab-ink-hairline)}
.ab-page .ab-dia-steps b{font:600 14px/1.25 var(--ab-font-text);color:var(--ab-ink)}
.ab-page .ab-dia-steps span{font-size:14px;line-height:1.35;color:var(--ab-ink-69)}
.ab-page .ab-dia-steps li.is-path{border-color:var(--ab-blue);background:var(--ab-blue-tint)}
.ab-page .ab-dia-steps li.is-path::before{color:var(--ab-blue)}
.ab-page .ab-dia-steps li.is-milo{border-color:var(--ab-orange);background:var(--ab-ground-paper)}
.ab-page .ab-dia-steps li.is-milo::before{content:counter(s) " · Milo";color:var(--ab-orange-ink)}
.ab-page .ab-dia-layers{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}
.ab-page .ab-dia-layers li{border-radius:var(--ab-r-control);border:1px solid var(--ab-ink-hairline);background:var(--ab-ground-cream);padding:12px 16px;display:grid;grid-template-columns:180px minmax(0,1fr);gap:16px;align-items:baseline}
.ab-page .ab-dia-layers b{font:600 14px/1.25 var(--ab-font-text);color:var(--ab-ink)}
.ab-page .ab-dia-layers span{font-size:14px;line-height:1.4;color:var(--ab-ink-74)}
.ab-page .ab-dia-layers li.is-path{border-color:var(--ab-blue);background:var(--ab-blue-tint)}
.ab-page .ab-dia-layers li.is-milo{border-color:var(--ab-orange)}
@media (max-width:767px){.ab-page .ab-dia-in{padding:18px}
.ab-page .ab-dia-steps{grid-auto-flow:row;grid-auto-columns:auto}
.ab-page .ab-dia-steps li:not(:last-child)::after{top:auto;bottom:-10px;right:auto;left:24px;width:1px;height:10px}
.ab-page .ab-dia-layers li{grid-template-columns:1fr;gap:4px}}
.ab-page .ab-callout{margin:40px 0;border-radius:var(--ab-r-surface);background:var(--ab-ground-canvas);padding:20px 22px}
.ab-page .ab-callout-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.ab-page .ab-callout-top img{width:32px;height:auto}
.ab-page .ab-callout p{margin:12px 0 0;color:var(--ab-ink-74)}
.ab-page .ab-callout .ab-callout-ask{margin-top:14px;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.ab-page .ab-callout .ab-callout-ask q{font:500 20px/1.3 var(--ab-font-display);letter-spacing:-.01em;color:var(--ab-ink);quotes:"\201C" "\201D"}
.ab-page .ab-pn{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:96px}
.ab-page .ab-pn a{display:flex;flex-direction:column;gap:6px;padding:20px 22px;border-radius:var(--ab-r-surface);background:var(--ab-ground-paper);box-shadow:var(--ab-sh-card);text-decoration:none;color:var(--ab-ink);transition:box-shadow var(--ab-dur-slow) var(--ab-ease),transform var(--ab-dur-slow) var(--ab-ease)}
.ab-page .ab-pn a:hover{box-shadow:var(--ab-sh-lift);transform:translateY(-2px)}
.ab-page .ab-pn a.is-next{text-align:right;grid-column:2}
.ab-page .ab-pn small{font:600 11px/1 var(--ab-font-text);letter-spacing:.1em;text-transform:uppercase;color:var(--ab-ink-69)}
.ab-page .ab-pn b{font:500 22px/1.25 var(--ab-font-display);letter-spacing:-.01em}
@media (max-width:767px){.ab-page .ab-pn{grid-template-columns:1fr}
.ab-page .ab-pn a.is-next{grid-column:1}}
.ab-page .ab-close{border-radius:var(--ab-r-surface);background:var(--ab-ground-canvas);padding:80px 40px;text-align:center}
.ab-page .ab-close .ab-t-h2{margin:0 auto;max-width:760px;text-wrap:balance}
.ab-page .ab-close p{margin:16px auto 0;max-width:560px;color:var(--ab-ink-74)}
.ab-page .ab-close .ab-btns{margin-top:28px}
@media (max-width:767px){.ab-page .ab-close{padding:56px 20px}}
.ab-page .ab-news-filter{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.ab-page .ab-news-feat{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:40px;align-items:center;border-radius:var(--ab-r-surface);background:var(--ab-ground-paper);box-shadow:var(--ab-sh-card);padding:20px;text-decoration:none;color:inherit}
.ab-page .ab-news-feat .ab-news-media{aspect-ratio:16/9}
.ab-page .ab-news-feat .ab-news-text{padding:12px 20px 12px 0;display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.ab-page .ab-news-feat h3{margin:0;font:500 30px/1.12 var(--ab-font-display);letter-spacing:-.02em;color:var(--ab-ink);text-wrap:balance}
.ab-page .ab-news-feat p{margin:0;color:var(--ab-ink-74)}
.ab-page .ab-news-media{position:relative;border-radius:var(--ab-r-control);overflow:hidden;background:var(--ab-ground-canvas);max-width:100%}
.ab-page .ab-news-media::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:var(--ab-sh-plate);pointer-events:none}
.ab-page .ab-news-media img,.ab-page .ab-news-media video{width:100%;height:100%;object-fit:cover;display:block}
.ab-page .ab-news-month{margin:72px 0 20px;display:flex;align-items:baseline;gap:16px}
.ab-page .ab-news-month h3{margin:0;font:500 13px/1 var(--ab-font-text);letter-spacing:.08em;text-transform:uppercase;color:var(--ab-blue)}
.ab-page .ab-news-month::after{content:"";flex:1;height:1px;background:var(--ab-ink-rule)}
.ab-page .ab-news-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.ab-page .ab-news-card{height:100%;display:flex;flex-direction:column;gap:12px;text-decoration:none;color:inherit;border-radius:var(--ab-r-surface);background:var(--ab-ground-paper);box-shadow:var(--ab-sh-card);padding:12px 12px 20px;transition:box-shadow var(--ab-dur-slow) var(--ab-ease),transform var(--ab-dur-slow) var(--ab-ease)}
.ab-page .ab-news-card:hover{box-shadow:var(--ab-sh-lift);transform:translateY(-2px)}
.ab-page .ab-news-card .ab-news-media{aspect-ratio:16/9}
.ab-page .ab-news-meta{display:flex;align-items:center;gap:10px;padding:4px 8px 0;font:500 13px/1 var(--ab-font-text);color:var(--ab-ink-69)}
.ab-page .ab-news-card h4{margin:0;padding:0 8px;font:500 20px/1.25 var(--ab-font-display);letter-spacing:-.015em;color:var(--ab-ink);text-wrap:balance}
.ab-page .ab-news-card p{margin:0;padding:0 8px;font-size:15px;line-height:1.45;color:var(--ab-ink-74)}
.ab-page .ab-news-empty{text-align:center;color:var(--ab-ink-69);padding:48px 0}
@media (max-width:1023px){.ab-page .ab-news-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.ab-page .ab-news-feat{grid-template-columns:1fr;gap:16px}
.ab-page .ab-news-feat .ab-news-text{padding:4px 8px 12px}}
@media (max-width:767px){.ab-page .ab-news-list{grid-template-columns:1fr}
.ab-page .ab-news-feat h3{font-size:26px}}
.ab-page .ab-entry{max-width:720px;margin-inline:auto}
.ab-page .ab-entry-top{display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.ab-page .ab-entry-top .ab-t-h1{margin:0;font-size:52px;line-height:1.08;letter-spacing:-.024em;text-wrap:balance}
.ab-page .ab-entry-top .ab-t-lede{margin:0;color:var(--ab-ink-74)}
.ab-page .ab-entry .ab-news-media{aspect-ratio:16/9;margin-block:40px}
@media (max-width:767px){.ab-page .ab-entry-top .ab-t-h1{font-size:38px;line-height:1.06}}
.ab-page .ab-ph-nav{position:fixed;top:0;left:0;right:0;height:var(--ab-nav-h);z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 max(var(--ab-section-x),calc((100vw - var(--ab-column))/2));background:rgba(250,248,245,.72);-webkit-backdrop-filter:blur(18px) saturate(1.8);backdrop-filter:blur(18px) saturate(1.8)}
.ab-page .ab-ph-nav img{height:28px;width:auto}
.ab-page .ab-ph-nav nav{display:flex;gap:28px;font-size:14px;color:var(--ab-ink-74)}
.ab-page .ab-ph-nav .ab-btns{gap:8px}
.ab-page .ab-ph-nav .ab-btn{height:42px;font-size:13.5px}
.ab-page .ab-ph-foot{margin-top:40px;background:var(--ab-ground-canvas);padding:64px var(--ab-section-x);color:var(--ab-ink-69);font-size:14.5px}
@media (max-width:767px){.ab-page .ab-ph-nav nav{display:none}
.ab-page .ab-ph-nav .ab-btn--secondary{display:none}}
@media (prefers-reduced-motion:reduce){.ab-page *{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
.ab-page .ab-prose .ab-dia-steps,.ab-page .ab-prose .ab-dia-layers{padding-left:0}
.ab-page .ab-prose .ab-dia li + li{margin-top:0}
.ab-page .ab-prose .ab-dia li::marker{content:none}
.ab-page .ab-news-media--type{display:flex;flex-direction:column;justify-content:space-between;padding:18px 20px;background:var(--ab-ground-canvas)}
.ab-page .ab-news-media--type small{font:600 11px/1 var(--ab-font-text);letter-spacing:.1em;text-transform:uppercase;color:var(--ab-ink-69)}
.ab-page .ab-news-media--type b{font:400 54px/1 var(--ab-font-display);letter-spacing:-.03em;color:var(--ab-ink);font-variant-numeric:tabular-nums}
.ab-page .ab-news-feat .ab-news-media--type b{font-size:120px;letter-spacing:-.04em}
@media (max-width:767px){.ab-page .ab-chip{min-height:44px}}
@media (max-width:767px){.ab-page .ab-code .ab-code-copy{min-height:44px}}
.ab-page .ab-news-feat p{font-size:15px;line-height:1.45}
.ab-page .ab-news-rss{font-size:15px}
.ab-page .ab-fhero{padding:120px var(--ab-section-x) 96px}
.ab-page .ab-fhero .ab-t-h1{margin:12px auto 0;max-width:960px;text-wrap:balance}
.ab-page .ab-fhero-stage{margin-top:56px;aspect-ratio:16/7;background-size:cover;background-position:center 62%;display:grid;place-items:center;max-width:100%}
.ab-page .ab-composer{width:min(720px,86%);display:flex;align-items:center;gap:14px;padding:18px 18px 18px 26px;box-shadow:var(--ab-glass-base-sh),var(--ab-sh-composer)}
.ab-page .ab-composer-text{margin:0;flex:1;font:400 20px/1.4 var(--ab-font-text);color:var(--ab-ink)}
.ab-page .ab-composer-send{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:var(--ab-r-control);background:var(--ab-blue);color:var(--ab-ink-on-blue);font:600 20px/1 var(--ab-font-text)}
.ab-page .ab-fhero-ctas{margin-top:32px}
@media (max-width:767px){.ab-page .ab-fhero{padding-block:72px 64px}
.ab-page .ab-fhero-stage{aspect-ratio:4/5;margin-top:40px}
.ab-page .ab-composer-text{font-size:17px}}
.ab-page .ab-ch-plate{position:relative;margin:0;aspect-ratio:16/9;background-size:cover;background-position:center;display:grid;place-items:center;max-width:100%}
.ab-page .ab-ch-capture{width:min(68%,820px);height:auto;border-radius:var(--ab-r-control);box-shadow:var(--ab-sh-card);transform:rotate(-1.5deg)}
.ab-page .ab-ch-reserved{width:min(56%,640px);aspect-ratio:16/10;border-radius:var(--ab-r-control);background:var(--ab-ground-canvas)}
.ab-page .ab-ch-caption{margin:40px auto 0;max-width:720px;text-align:center;font-size:17px;line-height:1.6;color:var(--ab-ink-74)}
@media (max-width:767px){.ab-page .ab-ch-plate{aspect-ratio:4/5}
.ab-page .ab-ch-capture{width:86%}}
.ab-page .ab-faq{max-width:880px;margin-inline:auto;border-top:1px solid var(--ab-ink-hairline)}
.ab-page .ab-faq details{border-bottom:1px solid var(--ab-ink-hairline)}
.ab-page .ab-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 0;min-height:44px}
.ab-page .ab-faq summary::-webkit-details-marker{display:none}
.ab-page .ab-faq summary h3{margin:0;font:500 22px/1.3 var(--ab-font-display);letter-spacing:-.01em;color:var(--ab-ink)}
.ab-page .ab-faq summary::after{content:"+";font:400 22px/1 var(--ab-font-text);color:var(--ab-ink-69);transition:transform var(--ab-dur-base) var(--ab-ease)}
.ab-page .ab-faq details[open] summary::after{transform:rotate(45deg)}
.ab-page .ab-faq p{margin:0 0 24px;max-width:720px;font-size:17px;line-height:1.6;color:var(--ab-ink-74)}
@media (max-width:767px){.ab-page .ab-faq summary h3{font-size:19px}}
.ab-page{--ab-nav-h:68px;--ab-guide-top:calc(var(--ab-nav-h) + 84px)}
@media (max-width:767px){.ab-page{--ab-nav-h:64px;--ab-guide-top:calc(var(--ab-nav-h) + 64px)}}
.ab-page .ab-g-bar{position:sticky;top:var(--ab-nav-h);margin-top:var(--ab-nav-h);z-index:15;background:var(--ab-glass-navVeil-bg);-webkit-backdrop-filter:var(--ab-glass-navVeil-fx);backdrop-filter:var(--ab-glass-navVeil-fx);border-bottom:1px solid var(--ab-ink-rule)}
.ab-page .ab-g-bar-in{max-width:1360px;margin-inline:auto;padding:12px var(--ab-section-x);display:flex;align-items:center;gap:24px}
.ab-page .ab-g-name{font:500 20px/1 var(--ab-font-display);letter-spacing:-.01em;color:var(--ab-ink);text-decoration:none;white-space:nowrap}
.ab-page .ab-g-tabs{display:flex;gap:4px;margin-left:auto}
.ab-page .ab-g-tabs a{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 12px;border-radius:var(--ab-r-control);font:500 14px/1 var(--ab-font-text);color:var(--ab-ink-74);text-decoration:none}
.ab-page .ab-g-tabs a b{font:600 11px/1 var(--ab-font-text);letter-spacing:.1em;color:var(--ab-ink-69)}
.ab-page .ab-g-tabs a:hover{color:var(--ab-ink)}
.ab-page .ab-g-tabs a[aria-current]{background:var(--ab-ground-canvas);color:var(--ab-ink)}
.ab-page .ab-g-tabs a[aria-current] b{color:var(--ab-blue)}
.ab-page .ab-g-sheet{display:none}
.ab-page .ab-g{display:grid;grid-template-columns:260px minmax(0,680px) 14px;justify-content:space-between;column-gap:48px;max-width:1360px;margin-inline:auto;padding:56px var(--ab-section-x) var(--ab-section-y)}
.ab-page .ab-g-aside{position:sticky;top:var(--ab-guide-top);align-self:start;max-height:calc(100vh - var(--ab-guide-top) - 24px);overflow:auto;padding-right:8px;scrollbar-width:none}
.ab-page .ab-g-series{margin:0;font-size:15px;line-height:1.4;color:var(--ab-ink-74);max-width:220px}
.ab-page .ab-g-act{margin:16px 0 40px}
.ab-page .ab-g-toc{list-style:none;margin:0;padding:0}
.ab-page .ab-g-toc > li + li{margin-top:28px}
.ab-page .ab-g-ch{position:relative;display:block;padding-left:40px;font:600 15px/1.4 var(--ab-font-text);color:var(--ab-ink);text-decoration:none}
.ab-page .ab-g-ch span{position:absolute;left:0;top:2px;font:600 11px/1.6 var(--ab-font-text);letter-spacing:.06em;color:var(--ab-ink-69)}
.ab-page .ab-g-ch[aria-current] span{color:var(--ab-blue)}
.ab-page .ab-g-toc ol{list-style:none;margin:14px 0 0;padding:0 0 0 18px;display:flex;flex-direction:column;gap:12px}
.ab-page .ab-g-toc ol a{display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:1.4;color:var(--ab-ink-74);text-decoration:none}
.ab-page .ab-g-toc ol a:hover{color:var(--ab-ink)}
.ab-page .ab-g-toc ol a i{flex:none;width:10px;height:10px;margin-top:5px;border-radius:50%;background:var(--ab-ground-paper);box-shadow:inset 0 0 0 1px var(--ab-ink-hairline)}
.ab-page .ab-g-toc ol a.is-on{color:var(--ab-ink)}
.ab-page .ab-g-toc ol a.is-on i{background:var(--ab-blue);box-shadow:0 0 0 3px var(--ab-blue-100)}
.ab-page .ab-g-main{min-width:0}
.ab-page .ab-g-top{display:flex;flex-direction:column;align-items:flex-start;gap:16px;scroll-margin-top:var(--ab-guide-top)}
.ab-page .ab-g-h1{margin:8px 0 0;font:500 52px/1.08 var(--ab-font-display);letter-spacing:-.024em;color:var(--ab-ink);text-wrap:balance}
.ab-page .ab-g-lede{font-size:18px;line-height:1.6;color:var(--ab-ink-74)}
.ab-page .ab-g-lede p{margin:0}
.ab-page .ab-g-lede p + p{margin-top:12px}
.ab-page .ab-g-plate{position:relative;width:100%;margin:24px 0 48px;aspect-ratio:16/9;background-size:cover;background-position:center 65%}
.ab-page .ab-g-milo{position:absolute;right:9%;bottom:7%;width:21%;height:auto}
.ab-page .ab-g-rail{position:sticky;top:var(--ab-guide-top);align-self:start;height:calc(100vh - var(--ab-guide-top) - 48px)}
.ab-page .ab-g-ticks{height:100%;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;cursor:pointer}
.ab-page .ab-g-ticks span{display:block;width:7px;height:2px;border-radius:var(--ab-r-tag);background:var(--ab-ink-hairline);transition:background var(--ab-dur-base) var(--ab-ease)}
.ab-page .ab-g-ticks span.is-h{width:14px}
.ab-page .ab-g-ticks span.is-read{background:var(--ab-blue)}
.ab-page .ab-g-ticks span.is-read.is-h{background:var(--ab-blue)}
.ab-page .ab-g .ab-prose h2{scroll-margin-top:var(--ab-guide-top)}
@media (max-width:1180px){.ab-page .ab-g{grid-template-columns:240px minmax(0,1fr);column-gap:40px}
.ab-page .ab-g-rail{display:none}}
@media (max-width:900px){.ab-page .ab-g{grid-template-columns:minmax(0,1fr);padding-top:32px}
.ab-page .ab-g-aside{display:none}
.ab-page .ab-g-tabs,.ab-page .ab-g-bar-in > .ab-btn{display:none}
.ab-page .ab-g-bar-in{padding-block:6px}
.ab-page .ab-g-name{display:none}
.ab-page .ab-g-sheet{display:block;flex:1}
.ab-page .ab-g-sheet summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;min-height:44px;font:500 15px/1.2 var(--ab-font-text);color:var(--ab-ink)}
.ab-page .ab-g-sheet summary::-webkit-details-marker{display:none}
.ab-page .ab-g-sheet summary::before{content:"";width:16px;height:12px;border-top:1.5px solid currentColor;border-bottom:1.5px solid currentColor;box-shadow:inset 0 5px 0 -3.5px currentColor}
.ab-page .ab-g-sheet[open]{padding-bottom:16px}
.ab-page .ab-g-sheet .ab-g-toc{margin-top:12px;max-height:70vh;overflow:auto}
.ab-page .ab-g-sheet .ab-g-toc ol a{min-height:44px;align-items:center}
.ab-page .ab-g-sheet .ab-g-toc ol a i{margin-top:0}
.ab-page .ab-g-sheet .ab-g-ch{min-height:44px;display:flex;align-items:center}
.ab-page .ab-g-sheet .ab-g-ch span{top:auto}
.ab-page .ab-g-h1{font-size:38px;line-height:1.06}
.ab-page .ab-g-plate{aspect-ratio:4/5;margin-bottom:32px}
.ab-page .ab-g-milo{width:34%}}
.ab-page .ab-dia-steps.is-many{grid-auto-flow:row;grid-template-columns:repeat(3,minmax(0,1fr));row-gap:14px}
.ab-page .ab-dia-steps.is-many li:nth-child(3n)::after{display:none}
@media (max-width:767px){.ab-page .ab-dia-steps.is-many{grid-template-columns:1fr}
.ab-page .ab-dia-steps.is-many li:nth-child(3n)::after{display:block}}
.ab-page .nr-chips-s{padding:0 var(--ab-section-x) 40px}
.ab-page .nr-feed{padding:0 var(--ab-section-x)}
.ab-page .nr-rss-s{padding:56px var(--ab-section-x) var(--ab-section-y);text-align:center}
.ab-page .nr-feed .w-dyn-empty,.ab-page .nr-more-s .w-dyn-empty{display:none}
.ab-page .nr-tag-blue{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:var(--ab-r-tag);background:var(--ab-blue-tint);font:600 11px/1 var(--ab-font-text);letter-spacing:.1em;text-transform:uppercase;color:var(--ab-blue)}
.ab-page .nr-ver::before{content:"v"}
.ab-page .nr-ver:empty{display:none}
.ab-page .ab-news-feat .ab-news-meta,.ab-page .ab-entry-top .ab-news-meta{padding:0}
.ab-page .nr-cover{position:relative;border-radius:var(--ab-r-control);overflow:hidden;max-width:100%;aspect-ratio:16/9;display:flex;flex-direction:column;justify-content:space-between;padding:18px 20px;background:var(--ab-ground-canvas)}
.ab-page .nr-cover::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:var(--ab-sh-plate);pointer-events:none}
.ab-page .nr-cover small{font:600 11px/1 var(--ab-font-text);letter-spacing:.1em;text-transform:uppercase;color:var(--ab-ink-69)}
.ab-page .nr-cover b{font:400 54px/1 var(--ab-font-display);letter-spacing:-.03em;color:var(--ab-ink);font-variant-numeric:tabular-nums}
.ab-page .ab-news-feat .nr-cover b{font-size:120px;letter-spacing:-.04em}
.ab-page .ab-news-media:has(> img.w-dyn-bind-empty){display:none}
.ab-page .ab-news-media:not(:has(> img.w-dyn-bind-empty)) + .nr-cover{display:none}
.ab-page .nr-entry-s{padding:var(--ab-section-y) var(--ab-section-x) 0}
.ab-page .nr-back-row{max-width:720px;margin:0 auto 32px}
.ab-page .nr-entry-links{margin-top:40px;display:flex;flex-wrap:wrap;align-items:center;gap:24px}
.ab-page .nr-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 22px;border-radius:var(--ab-r-control);font:500 14px/1 var(--ab-font-text);text-decoration:none;cursor:pointer;border:0;background:var(--ab-blue);color:var(--ab-ink-on-blue);transition:background var(--ab-dur-base) var(--ab-ease)}
.ab-page .nr-btn:hover{background:var(--ab-blue-950)}
.ab-page .nr-more-s{padding:var(--ab-section-y) var(--ab-section-x)}
.ab-page .nr-more-h{margin:0 0 32px;font:500 13px/1 var(--ab-font-text);letter-spacing:.08em;text-transform:uppercase;color:var(--ab-blue)}
.ab-page .nr-docs{color:var(--ab-blue);text-decoration:underline;text-decoration-color:var(--ab-ink-hairline);text-underline-offset:3px;text-decoration-thickness:1px}
.ab-page .ab-entry .nr-cover{margin-block:40px}
@media (max-width:767px){.ab-page .nr-btn{height:48px;font-size:15px}
.ab-page .nr-back-row .ab-link,.ab-page .nr-docs{display:inline-block;padding:12px 0;margin:-12px 0}}
.ab-page .nr-more-s .ab-news-card h3{margin:0;padding:0 8px;font:500 20px/1.25 var(--ab-font-display);letter-spacing:-.015em;color:var(--ab-ink);text-wrap:balance}
.ab-page :where(h1,h2,h3,h4,h5,h6,p,ul,ol,li,figure,blockquote,dl,dd){margin:0;padding:0;color:inherit;font-weight:inherit}
.ab-page :where(ul,ol){list-style:none}
.ab-page :where(a){color:inherit;text-decoration:none}
.ab-page :where(th,td){border:0;background:none;font-weight:inherit}
.ab-page :where(details,summary){margin:0;padding:0;background:none;border:0}
.ab-page :where(strong,b){font-weight:600}
.ab-page :where(img,svg,video){display:block;max-width:100%}
.ab-page :where(button,input,select,textarea){font:inherit;letter-spacing:inherit;color:inherit}
/* Newsroom timeline layer (27 Oct 2026, after perplexity.ai/changelog; Vishal: "I like this for changelog").
   Appended to nr-r3.css → nr-r4.css. One dated column, a rail that fills as you read, media → serif title → summary →
   "See changes". Works on the native CMS DOM: .nr-feed .ab-news-list > .w-dyn-item > a.ab-news-card|.ab-news-feat. */

/* ---------- chips: BRAND §8, a border and a shadow never share a surface (kit fixed the same day) ---------- */
.ab-page .ab-chip{border:0;box-shadow:var(--ab-sh-control)}
.ab-page .ab-chip:hover{background:#fff}
.ab-page .ab-chip[hidden]{display:none}
.ab-page .ab-chip[aria-pressed="true"],.ab-page .ab-chip[aria-current]{background:var(--ab-ink);color:var(--ab-ground-cream);box-shadow:var(--ab-sh-button-dark)}

/* ---------- list: hero spacing ---------- */
.nr-chips-s{padding-bottom:8px}
.nr-chips-s .ab-news-filter{justify-content:center}

/* ---------- list: the timeline ---------- */
.nr-feed{--tl-date:156px;--tl-rail:56px;--tl-dot:11px;padding:56px 0 24px}
.nr-feed .ab-in{max-width:1040px}
.nr-feed.is-tl .nr-feat-wrap{display:none}
.nr-feed .ab-news-list{display:block!important;position:relative;grid-template-columns:none;gap:0;margin:0;padding:0}
.nr-feed .ab-news-list::before,.nr-rail-fill{content:"";position:absolute;top:6px;bottom:0;left:calc(var(--tl-date) + var(--tl-rail)/2 - .5px);width:1px;background:var(--ab-ink-hairline);pointer-events:none}
.nr-rail-fill{bottom:auto;height:0;background:var(--ab-blue);transition:height .12s linear;z-index:1}
.nr-feed .ab-news-list>.w-dyn-item{display:block;margin:0;padding:0 0 64px}
.nr-feed .ab-news-list>.w-dyn-item.is-last{padding-bottom:0}
.nr-feed .ab-news-list>.w-dyn-item.nr-later{display:none}
.nr-feed .ab-news-list>.w-dyn-item[hidden]{display:none}

.nr-feed .ab-news-card,.nr-feed .ab-news-feat{
  display:grid!important;grid-template-columns:var(--tl-date) var(--tl-rail) minmax(0,1fr);grid-auto-flow:row;
  align-items:start;column-gap:0;row-gap:0;padding:0;margin:0;background:none!important;box-shadow:none!important;
  border:0;border-radius:0;color:var(--ab-ink);text-decoration:none;transform:none!important;position:relative}
.nr-feed .ab-news-feat .ab-news-text{display:contents}
.nr-feed .ab-news-card>*,.nr-feed .ab-news-feat .ab-news-text>*,.nr-feed .ab-news-feat>*{grid-column:3;min-width:0;padding-inline:0}

/* the date column: sticky while its entry scrolls past */
.nr-feed .ab-news-meta{grid-column:1!important;grid-row:1 / span 6;align-self:start;position:sticky;top:104px;
  display:flex!important;flex-direction:column;align-items:flex-start;gap:10px;margin:0;padding:2px 24px 0 0}
.nr-feed .ab-news-meta .nr-date{order:-1;font:500 14px/1.2 var(--ab-font-text);color:var(--ab-ink-69);font-variant-numeric:tabular-nums;letter-spacing:0;text-transform:none}
.nr-feed .ab-news-meta .ab-tag,.nr-feed .ab-news-meta .nr-tag-blue{font:600 10.5px/1 var(--ab-font-text);letter-spacing:.09em;text-transform:uppercase;
  padding:5px 8px;border-radius:var(--ab-r-tag);background:var(--ab-ink-wash);color:var(--ab-ink-69);border:0;margin:0}
.nr-feed .ab-news-meta .nr-ver{font:500 12.5px/1.2 var(--ab-font-text);color:var(--ab-ink-69);margin:0;padding:0;border:0;font-variant-numeric:tabular-nums}
.nr-feed .ab-news-meta .nr-ver::before{content:"Platform "!important}
.nr-feed .ab-news-meta>.ab-tag::before,.nr-feed .ab-news-meta>.nr-tag-blue::before,.nr-feed .ab-news-meta>.nr-date::before{content:none!important}

/* the rail dot */
.nr-feed .ab-news-card::before,.nr-feed .ab-news-feat::before{content:"";grid-column:2;grid-row:1;justify-self:center;margin-top:3px;
  width:var(--tl-dot);height:var(--tl-dot);border-radius:50%;box-sizing:border-box;background:var(--ab-ground-cream);
  border:1.5px solid rgba(35,27,16,.28);position:relative;z-index:2;transition:background .25s,border-color .25s,box-shadow .25s}
.nr-feed .is-past>.ab-news-card::before,.nr-feed .is-past>.ab-news-feat::before{background:var(--ab-blue);border-color:var(--ab-blue);box-shadow:0 0 0 5px rgba(0,51,160,.12)}

/* media, title, summary, link */
.nr-feed .nr-tl>.w-dyn-item>a>h4,.nr-feed .nr-tl>.w-dyn-item>a>h3,.nr-feed .nr-tl>.w-dyn-item>a>p,.nr-feed .nr-tl .ab-news-text>h3,.nr-feed .nr-tl .ab-news-text>p{padding-left:0;padding-right:0}
.nr-feed .ab-news-media{grid-row:1;aspect-ratio:16/9;width:100%;margin:0 0 32px;border-radius:14px;overflow:hidden;background:var(--ab-ground-canvas);box-shadow:none;position:relative}
.nr-feed .ab-news-media::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(35,27,16,.07);pointer-events:none}
.nr-feed .ab-news-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ab-ease)}
.nr-feed a:hover .ab-news-media img{transform:scale(1.015)}
.nr-feed .nr-cover{display:none!important}
.nr-feed .ab-news-card h4,.nr-feed .ab-news-card h3,.nr-feed .ab-news-feat h3{grid-row:auto;margin:0 0 14px;
  font:400 34px/1.12 var(--ab-font-display);letter-spacing:-.018em;color:var(--ab-ink);text-wrap:balance;max-width:640px}
.nr-feed .ab-news-card>p:not(.ab-news-meta),.nr-feed .ab-news-feat .ab-news-text>p:not(.ab-news-meta){margin:0;
  font:400 17px/1.6 var(--ab-font-text);color:var(--ab-ink-74);max-width:620px;-webkit-line-clamp:unset;display:block;overflow:visible}
.nr-feed .ab-news-card::after,.nr-feed .ab-news-feat::after{content:"See changes \2192";grid-column:3;display:block;
  margin-top:22px;padding-bottom:64px;border-bottom:1px solid var(--ab-ink-hairline);
  font:500 15px/1.2 var(--ab-font-text);color:var(--ab-ink);transition:color .2s}
.nr-feed .ab-news-card:hover::after,.nr-feed .ab-news-feat:hover::after{color:var(--ab-blue)}
.nr-feed .ab-news-card:hover h4,.nr-feed .ab-news-card:hover h3,.nr-feed .ab-news-feat:hover h3{color:var(--ab-ink)}
.nr-feed .ab-news-card:focus-visible,.nr-feed .ab-news-feat:focus-visible{outline:2px solid var(--ab-blue);outline-offset:8px;border-radius:6px}
.nr-feed .ab-news-list>.w-dyn-item.is-last>a::after{border-bottom:0;padding-bottom:24px}

/* load more */
.nr-more-row{display:flex;justify-content:center;padding:8px 0 24px}
.nr-more-btn{font:500 15px/1 var(--ab-font-text);color:var(--ab-ink);background:var(--ab-ground-paper);border:0;
  border-radius:var(--ab-r-tag);padding:13px 22px;cursor:pointer;box-shadow:var(--ab-sh-control);transition:border-color .2s,transform .2s var(--ab-ease)}
.nr-more-btn:hover{background:#fff;transform:translateY(-1px)}

@media (max-width:767px){
  .nr-feed{--tl-date:0px;--tl-rail:28px;padding-top:32px}
  .nr-feed .ab-news-list::before,.nr-rail-fill{left:5px}
  .nr-feed .ab-news-card,.nr-feed .ab-news-feat{grid-template-columns:var(--tl-rail) minmax(0,1fr)}
  .nr-feed .ab-news-card>*,.nr-feed .ab-news-feat .ab-news-text>*,.nr-feed .ab-news-feat>*{grid-column:2}
  .nr-feed .ab-news-card::before,.nr-feed .ab-news-feat::before{grid-column:1;justify-self:start;margin-top:4px}
  .nr-feed .ab-news-meta{grid-column:2!important;grid-row:1;position:static;flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px;padding:0;margin:0 0 16px}
  .nr-feed .ab-news-media{grid-row:2;margin-bottom:22px;border-radius:12px}
  .nr-feed .ab-news-card h4,.nr-feed .ab-news-card h3,.nr-feed .ab-news-feat h3{font-size:26px;margin-bottom:10px}
  .nr-feed .ab-news-card>p:not(.ab-news-meta),.nr-feed .ab-news-feat .ab-news-text>p:not(.ab-news-meta){font-size:16px}
  .nr-feed .ab-news-card::after,.nr-feed .ab-news-feat::after{grid-column:2;margin-top:16px;padding-bottom:40px}
  .nr-feed .ab-news-list>.w-dyn-item{padding-bottom:40px}
}
@media (prefers-reduced-motion:reduce){.nr-rail-fill{transition:none}.nr-feed .ab-news-media img{transition:none}}

/* ---------- entry: perplexity's detail order — back, title, summary, date rule, media, body ---------- */
.nr-entry-s .nr-back-row{max-width:760px;margin:0 auto 40px}
.nr-entry-s .nr-back-row .ab-link{font:600 12px/1 var(--ab-font-text);letter-spacing:.09em;text-transform:uppercase;color:var(--ab-ink-69);text-decoration:none}
.nr-entry-s .nr-back-row .ab-link:hover{color:var(--ab-ink)}
.nr-entry-s .ab-entry{max-width:760px}
.nr-entry-s .ab-entry-top{gap:0;margin-bottom:44px}
.nr-entry-s .ab-entry-top .ab-t-h1{order:1;font:400 52px/1.06 var(--ab-font-display);letter-spacing:-.024em;margin:0 0 18px}
.nr-entry-s .ab-entry-top .ab-t-lede{order:2;font:400 19px/1.55 var(--ab-font-text);color:var(--ab-ink-74);margin:0 0 28px;max-width:680px}
.nr-entry-s .ab-entry-top .ab-news-meta{order:3;align-self:stretch;display:flex;align-items:center;gap:12px;margin:0;padding:0 0 18px;border-bottom:1px solid var(--ab-ink-hairline)}
.nr-entry-s .ab-news-meta .nr-date{order:-1;font:500 14px/1.2 var(--ab-font-text);color:var(--ab-ink-69);font-variant-numeric:tabular-nums;text-transform:none;letter-spacing:0}
.nr-entry-s .ab-news-meta .nr-tag-blue,.nr-entry-s .ab-news-meta .ab-tag{font:600 10.5px/1 var(--ab-font-text);letter-spacing:.09em;text-transform:uppercase;padding:5px 8px;border-radius:var(--ab-r-tag);background:var(--ab-ink-wash);color:var(--ab-ink-69);margin:0}
.nr-entry-s .ab-news-meta .nr-ver{font:500 13px/1.2 var(--ab-font-text);color:var(--ab-ink-69);font-variant-numeric:tabular-nums}
.nr-entry-s .ab-news-meta .nr-ver::before{content:"Platform "!important}
.nr-entry-s .ab-news-meta>.ab-tag::before,.nr-entry-s .ab-news-meta>.nr-tag-blue::before,.nr-entry-s .ab-news-meta>.nr-date::before{content:none!important}
.nr-entry-s .ab-entry .ab-news-media{margin:40px 0 48px;border-radius:16px;overflow:hidden;box-shadow:none;position:relative}
.nr-entry-s .ab-entry .ab-news-media::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(35,27,16,.07);pointer-events:none}
.nr-entry-s .ab-prose{max-width:680px;font-size:17px;line-height:1.7}
.nr-entry-s .ab-prose h2{font:400 28px/1.2 var(--ab-font-display);letter-spacing:-.012em;margin:48px 0 14px}
.nr-entry-s .ab-prose>:first-child{margin-top:0}
.nr-more-s h2.nr-more-h{font:400 30px/1.2 var(--ab-font-display);letter-spacing:-.014em;text-transform:none;color:var(--ab-ink);margin:0 0 28px}
@media (max-width:767px){
  .nr-entry-s .nr-back-row{margin-bottom:28px}
  .nr-entry-s .ab-entry-top .ab-t-h1{font-size:36px}
  .nr-entry-s .ab-entry-top .ab-t-lede{font-size:17px}
  .nr-entry-s .ab-entry .ab-news-media{margin:28px 0 36px;border-radius:12px}
  .nr-entry-s .ab-prose h2{font-size:24px}
}
/* Newsroom index layout (30 Oct–1 Nov 2026, after fin.ai/updates). Active when .nr-feed has .is-ix (index.js).
   Left: a window pinned to the screen; the ruler slides inside it so the focused update always sits on the middle
   line (48px per update, three ticks 16px apart; focused middle tick ×2 in blue, its pair ×1.5; month only beside the
   focused tick; other titles at 46% — Vishal 1 Nov: 16% was too dull). Right: rows of text + media; the row on the focus line is full strength, the rest
   fade to 30%. Cream ground, Appbrew blue where Fin uses orange. */
.nr-ix,.nr-ix-mo,.nr-dev-tile{display:none}

.nr-feed.is-ix{padding-top:24px}
.nr-feed.is-ix .ab-in{max-width:1240px;display:grid;grid-template-columns:304px minmax(0,1fr);column-gap:56px;align-items:start}
.nr-feed.is-ix .ab-in>*{grid-column:2}
.nr-feed.is-ix .nr-tl{grid-row:1;padding-bottom:calc(50vh - 180px)}

/* ---------- the index window ---------- */
.nr-feed.is-ix .nr-ix{display:block;grid-column:1;grid-row:1;position:sticky;top:0;height:100vh;overflow:hidden;margin-top:calc(180px - 50vh);pointer-events:none;
  -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 24%,#000 76%,transparent 100%);
          mask-image:linear-gradient(to bottom,transparent 0,#000 24%,#000 76%,transparent 100%)}
.nr-ix ol{list-style:none;margin:0;padding:0;position:absolute;left:0;right:0;top:50%;will-change:transform}
.nr-ix li{margin:0;padding:0}
.nr-ix a{pointer-events:auto}
.nr-ix li[hidden]{display:none}
.nr-ix a{display:grid;grid-template-columns:84px 40px minmax(0,1fr);align-items:center;height:48px;text-decoration:none;color:var(--ab-ink)}
.nr-ix i{grid-column:2;grid-row:1;display:block;width:17px;height:1px;background:rgba(35,27,16,.34);transform-origin:left center;
  transition:transform .8s cubic-bezier(.16,1,.3,1),background-color .8s cubic-bezier(.16,1,.3,1)}
.nr-ix i:nth-of-type(1){transform:translateY(-16px)}
.nr-ix i:nth-of-type(3){transform:translateY(16px)}
.nr-ix .is-on i:nth-of-type(2){transform:scaleX(2);background:var(--ab-blue)}
.nr-ix .is-on i:nth-of-type(1){transform:translateY(-16px) scaleX(1.5);background:rgba(0,51,160,.45)}
.nr-ix .is-on i:nth-of-type(3){transform:translateY(16px) scaleX(1.5);background:rgba(0,51,160,.45)}
.nr-ix a:hover i:nth-of-type(2){background:rgba(0,51,160,.7)}
.nr-ix-m{grid-column:1;grid-row:1;justify-self:end;padding-right:14px;font:500 10.5px/1 var(--ab-font-code);letter-spacing:.09em;
  text-transform:uppercase;color:var(--ab-blue);white-space:nowrap;opacity:0;transition:opacity .3s ease}
.nr-ix .is-on .nr-ix-m{opacity:1}
.nr-ix-t{grid-column:3;grid-row:1;font:500 10.5px/1.45 var(--ab-font-code);letter-spacing:.07em;text-transform:uppercase;color:var(--ab-ink);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;opacity:.46;transition:opacity .3s ease}
.nr-ix a:hover .nr-ix-t{opacity:.8}
.nr-ix .is-on .nr-ix-t{opacity:1}
.nr-ix a:focus-visible{outline:2px solid var(--ab-blue);outline-offset:-2px;border-radius:var(--ab-r-inline)}

/* ---------- the rows ---------- */
.nr-feed.is-ix .ab-news-list::before,.nr-feed.is-ix .nr-rail-fill{display:none}
.nr-feed.is-ix .ab-news-list>.w-dyn-item{padding:0}
.nr-feed.is-ix .ab-news-card,.nr-feed.is-ix .ab-news-feat{grid-template-columns:minmax(0,1fr) minmax(0,.86fr);column-gap:48px;align-content:center;
  min-height:360px;box-sizing:border-box;padding:40px 0;border-top:1px solid var(--ab-ink-hairline);transition:opacity .5s ease}
.nr-feed.is-ix .ab-news-list>.w-dyn-item.is-first>a{border-top:0}
.nr-feed.is-ix a.no-media{grid-template-columns:minmax(0,1fr)}
.nr-feed.is-ix .ab-news-card::before,.nr-feed.is-ix .ab-news-feat::before{display:none}
.nr-feed.is-ix .ab-news-card>*,.nr-feed.is-ix .ab-news-feat .ab-news-text>*,.nr-feed.is-ix .ab-news-feat>*{grid-column:1}
.nr-feed.is-ix .ab-news-meta{grid-column:1!important;grid-row:auto;position:static;flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px;padding:0;margin:0 0 14px}
.nr-feed.is-ix .ab-news-media,.nr-feed.is-ix .nr-dev-tile{grid-column:2!important;grid-row:1 / span 4;margin:0;align-self:center}
.nr-feed.is-ix .ab-news-media{border-radius:var(--ab-r-control)}
.nr-feed.is-ix .ab-news-card h4,.nr-feed.is-ix .ab-news-card h3,.nr-feed.is-ix .ab-news-feat h3{font-size:28px;line-height:1.15;margin:0 0 12px}
.nr-feed.is-ix .ab-news-card>p:not(.ab-news-meta),.nr-feed.is-ix .ab-news-feat .ab-news-text>p:not(.ab-news-meta){font-size:16px;line-height:1.6;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;max-width:560px}
.nr-feed.is-ix .ab-news-card::after,.nr-feed.is-ix .ab-news-feat::after{grid-column:1;margin-top:18px;padding-bottom:0;border-bottom:0;
  text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--ab-ink-hairline)}
.nr-feed.is-ix .ab-news-card:hover::after,.nr-feed.is-ix .ab-news-feat:hover::after{text-decoration-color:currentColor}
@media (min-width:900px){
  /* focus: only the update on the focus line is at full strength */
  .nr-feed.is-ix .nr-tl>.w-dyn-item:not(.is-on)>a{opacity:.3}
  .nr-feed.is-ix .nr-tl>.w-dyn-item>a:hover,.nr-feed.is-ix .nr-tl>.w-dyn-item>a:focus-visible{opacity:1}
}

/* developer release tile */
.nr-feed.is-ix .nr-dev-tile{display:flex;flex-direction:column;justify-content:space-between;aspect-ratio:16/9;box-sizing:border-box;padding:18px 22px;
  border-radius:var(--ab-r-control);background:var(--ab-ground-night);color:#fff;overflow:hidden;position:relative}
.nr-feed.is-ix .nr-dev-tile::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background:repeating-linear-gradient(to bottom,rgba(255,255,255,.05) 0 1px,transparent 1px 22px)}
.nr-dev-tile small{position:relative;font:500 10.5px/1 var(--ab-font-code);letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.62)}
.nr-dev-tile b{position:relative;font:400 64px/1 var(--ab-font-display);letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-weight:400}
.nr-dev-tile code{position:relative;font:400 12.5px/1.4 var(--ab-font-code);color:var(--ab-blue-300);background:none;padding:0}

@media (max-width:1199px){
  .nr-feed.is-ix .ab-in{grid-template-columns:252px minmax(0,1fr);column-gap:40px}
  .nr-ix a{grid-template-columns:70px 36px minmax(0,1fr)}
  .nr-feed.is-ix .ab-news-card,.nr-feed.is-ix .ab-news-feat{column-gap:32px}
}

/* ---------- phones: no index, no fading; months become dividers in the list ---------- */
@media (max-width:899px){
  .nr-feed.is-ix .ab-in{display:block}
  .nr-feed.is-ix .nr-ix{display:none}
  .nr-feed.is-ix .nr-tl{padding-bottom:0}
  .nr-feed.is-ix .nr-ix-mo{display:block;font:500 11px/1 var(--ab-font-code);letter-spacing:.08em;text-transform:uppercase;color:var(--ab-blue);padding:32px 0 4px}
  .nr-feed.is-ix .nr-ix-mo[hidden]{display:none}
  .nr-feed.is-ix .ab-news-card,.nr-feed.is-ix .ab-news-feat{grid-template-columns:minmax(0,1fr);min-height:0;padding:20px 0 36px}
  .nr-feed.is-ix .nr-ix-mo+.w-dyn-item>a{border-top:0;padding-top:16px}
  .nr-feed.is-ix .ab-news-media,.nr-feed.is-ix .nr-dev-tile{grid-column:1!important;grid-row:auto;margin-bottom:20px}
  .nr-feed.is-ix .ab-news-card h4,.nr-feed.is-ix .ab-news-card h3,.nr-feed.is-ix .ab-news-feat h3{font-size:24px}
  .nr-dev-tile b{font-size:48px}
}
@media (prefers-reduced-motion:reduce){.nr-ix i,.nr-ix-m,.nr-ix-t,.nr-feed.is-ix .ab-news-card{transition:none}}
