/* ActivateDigital experience foundation. Shared by the homepage and Workspace. This is the website's presentation layer, not the engine's governed record styles. */ :root{--ad-font: Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--ad-mono: "JetBrains Mono",Mono,ui-monospace,Menlo,Consolas,monospace;--ad-ink: #18212e;--ad-muted: #596779;--ad-subtle: #637187;--ad-blue: #245ad5;--ad-blue-hover: #1947b4;--ad-blue-wash: #edf2fe;--ad-teal: #216d65;--ad-teal-wash: #eaf5f2;--ad-violet: #6951a6;--ad-violet-wash: #f1edfa;--ad-amber: #885c19;--ad-amber-wash: #fbf2e3;--ad-danger: #ad3b3b;--ad-page: #f5f7fb;--ad-surface: #ffffff;--ad-rail: #eef2f8;--ad-line: #dfe5ee;--ad-line-strong: #c7d1df;--ad-text-meta: 12px;--ad-text-caption: 13px;--ad-text-small: 14px;--ad-text-body: 16px;--ad-text-card: 18px;--ad-text-page: 32px;--ad-text-section: clamp(32px,3.4vw,44px);--ad-leading: 1.6;--ad-leading-title: 1.15;--ad-heading-weight: 600;--ad-radius-control: 8px;--ad-radius-card: 14px;--ad-gap: 24px;--ad-shadow: 0 2px 6px #18212e04,0 12px 28px -24px #18212e35;--ad-focus: 0 0 0 3px #245ad525}@media(max-width:700px){:root{--ad-text-page:28px}}/* ActivateDigital public-site contract. Source owned by the Python builders. Shared tokens live in design-system/experience.css. Scope page rules so the Workspace,Knowledge and Partner layouts retain their own reading measures. */ @font-face{font-family:Inter;src:url('/assets/fonts/inter-regular.8909904a.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url('/assets/fonts/inter-medium.f3779f1e.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url('/assets/fonts/inter-semibold.f9a06e79.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}:root{--ad-public-width:1360px;--ad-public-gutter:20px;--ad-public-section:64px}/* Navigation: shared destinations,clear groups,no microscopic descriptors. Native details,keyboard handling and auth controls retain their behaviour. */ .sig-hdr,.sig-drawer,.sig-hdr button,.sig-drawer button{font-family:var(--ad-font)}.sig-nav a,.sig-nav .sig-res>summary{font-size:14px;font-weight:500}.sig-hdr .sig-res-p,.sig-drawer .sig-res-p{border-color:var(--ad-line);border-radius:var(--ad-radius-card);background:#fff;color:var(--ad-ink)}.sig-res-p .sig-res-lbl,.sig-drawer .sig-res-lbl{font-family:var(--ad-mono);font-size:12px;line-height:1.5;letter-spacing:.08em;font-weight:600;color:var(--ad-muted);margin:0 10px 10px}.sig-res-p .sig-res-note,.sig-drawer .sig-res-note,.sig-res-p .sig-res-note-last{font-size:14px;line-height:1.5;color:var(--ad-muted);margin:0 10px 14px;max-width:32ch}.sig-res-p .sig-res-doors a,.sig-drawer .sig-res-doors a{min-height:48px;padding:12px 10px;gap:12px;border-radius:8px;align-items:flex-start;font-size:15px;line-height:1.45;color:var(--ad-ink)}.sig-res-p .sig-res-doors a b{font-size:15px;font-weight:500;line-height:1.4;color:var(--ad-ink)}.sig-res-p .sig-res-doors a small{font-size:13px;line-height:1.5;margin-top:3px;color:var(--ad-muted)}.sig-res-p .sig-res-doors a:hover{background:var(--ad-blue-wash)}.sig-res-p .sig-res-doors a:hover b,.sig-res-p .sig-res-doors a:hover .sig-res-doori{transform:none;color:var(--ad-blue)}.sig-res-p .sig-res-doori{width:18px;height:18px;margin-top:2px;color:var(--ad-subtle)}.sig-res-p .sig-res-sec:nth-child(2) .sig-res-lbl a{color:var(--ad-teal)}.sig-res-p .sig-res-sec:nth-child(3) .sig-res-lbl a{color:var(--ad-violet)}.sig-res-p .sig-res-foot{background:var(--ad-page);border-color:var(--ad-line);border-radius:0 0 14px 14px;gap:12px;flex-wrap:wrap}.sig-res-p .sig-res-foot a{font-size:14px;min-height:44px;display:inline-flex;align-items:center}.sig-res-p .sig-res-foot a.sa-open{padding:12px 16px;border-radius:8px;background:var(--ad-blue);border-color:var(--ad-blue)}.sig-hdr :is(a,button,summary):focus-visible,.sig-drawer :is(a,button,summary):focus-visible{outline:2px solid var(--ad-blue);outline-offset:3px;box-shadow:var(--ad-focus)}.sig-drawer{background:#fff;overflow-y:auto;overscroll-behavior:contain}.sig-drawer .sig-drawer-top{position:sticky;top:0;z-index:2;background:#fff}.sig-drawer nav{flex:none;overflow:visible}.sig-drawer .sig-mob{flex:none}.sig-drawer .sig-res>summary{min-height:52px;padding:14px 12px;font-size:17px;border-radius:8px}.sig-drawer .sig-res-p{border:0;border-radius:0;padding:12px 0 20px;box-shadow:none}.sig-drawer .sig-res-sec+.sig-res-sec{margin-top:24px;padding-top:24px;border-color:var(--ad-line)}.sig-drawer .sig-res-foot{margin:18px 0 0;padding:12px;border-radius:10px}/* Account dropdown follows the same surface and type rules,without styling its avatar. */ .sig-hdr .sa-menu{border-radius:14px;border-color:var(--ad-line);box-shadow:0 16px 48px -20px #18212e40;padding:8px;background:#fff}.sig-hdr .sa-menu :is(a,button){min-height:44px;font:500 14px/1.45 var(--ad-font);border-radius:8px}@media(min-width:821px){.sig-hdr .sig-res-p{left:auto;right:24px;top:calc(100% + 8px);width:min(1000px,calc(100vw - 48px));padding:24px 10px 0;max-height:calc(100dvh - var(--ad-hdr-h,64px) - 32px);overflow-y:auto;overscroll-behavior:contain;box-shadow:0 18px 54px -22px #18212e40}.sig-hdr .sig-res-p:not(:has(>.sig-res-sec:nth-child(3))){width:min(760px,calc(100vw - 48px))}.sig-hdr .sig-res-sec{padding:0 14px 20px}.sig-hdr .sig-res-sec+.sig-res-sec{border-color:var(--ad-line)}.sig-hdr .sig-res-foot{margin:0 -10px;padding:14px 24px}}/* A single typographic rhythm for product,utility and company pages. */ :where(.ps,.px,.ab2,.mth,.pos){font-family:var(--ad-font);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}.ps{--ps-shell:var(--ad-public-width);--ps-navy:var(--ad-ink);--ps-cob:var(--ad-blue);--ps-cob-d:var(--ad-blue-hover);--ps-soft:var(--ad-muted);--ps-faint:var(--ad-subtle);--ps-rule:var(--ad-line);--ps-line:var(--ad-line);--ps-read:68ch}.px{--n:var(--ad-ink);--c:var(--ad-blue);--mut:var(--ad-muted);--line:var(--ad-line)}.ab2{--c:var(--ad-blue);--ink:var(--ad-ink);--mut:var(--ad-muted);--sf:var(--ad-page);--ln:var(--ad-line)}.mth{--ink:var(--ad-ink);--soft:var(--ad-muted);--muted:var(--ad-subtle);--cobalt:var(--ad-blue);--rule:var(--ad-line);--wash:var(--ad-page)}.pos{--pos-ink:var(--ad-ink);--pos-blue:var(--ad-blue);--pos-soft:var(--ad-muted);--pos-line:var(--ad-line);--pos-fill:var(--ad-page)}.ps .ps-in,.px .px-in,.ab2 .ab2-wrap{width:100%;max-width:var(--ad-public-width);margin-inline:auto;padding-inline:var(--ad-public-gutter);box-sizing:border-box}.mth .page,.pos .pos-wrap{box-sizing:border-box;max-width:var(--ad-public-width);padding:48px var(--ad-public-gutter) 72px;margin-inline:auto}.ps .ps-hero h1,.px .px-hero h1,.ab2 .ab2-hero h1,.mth h1,.pos h1{font-family:var(--ad-font);font-size:clamp(36px,5.1vw,64px);font-weight:600;line-height:1.08;letter-spacing:-.045em;text-wrap:balance}.ps .ps-h2,.px h2,.ab2 .ab2-h2,.mth h2,.mth .section h2,.pos h2{font-family:var(--ad-font);font-size:clamp(30px,3.4vw,44px);line-height:1.15;font-weight:600;letter-spacing:-.035em;text-wrap:balance}.ps h3,.px h3,.ab2 h3,.mth h3,.pos h3{font-weight:600;line-height:1.3;letter-spacing:-.02em}.ps .ps-eb,.px .px-eye,.px .px-sub,.ab2 .ab2-kicker,.ab2 .ab2-eyebrow,.mth .eyebrow,.pos .pos-eyebrow{font-family:var(--ad-mono);font-size:12px;line-height:1.6;font-weight:600;letter-spacing:.1em}.ps .ps-sec,.px .px-sec,.ab2 .ab2-sec{padding-block:var(--ad-public-section)}.ab2 .ab2-wrap.ab2-sec{padding-inline:var(--ad-public-gutter)}.mth .section,.pos .pos-section{margin-top:var(--ad-public-section)}.ps .ps-sup,.px .px-hero p,.ab2 .ab2-lede,.mth .lede,.pos .pos-lead{font-size:18px;line-height:1.65}.ps .ps-sec p,.ps .ps-lede,.px .px-lede,.ab2 .ab2-body,.pos .pos-section-head>p:last-child{font-size:17px;line-height:1.7}.ps a.ps-b,.ps a.ps-b2,.px .px-btn,.ab2 .ab2-btn{min-height:48px;padding:12px 20px;border-radius:8px;font-size:15px;line-height:1.5;font-weight:500;box-sizing:border-box;justify-content:center;box-shadow:none}.ps a.ps-b:hover,.px .px-btn:hover,.ab2 .ab2-btn:hover{transform:none}.ps .ps-note,.ps .ps-figd,.ps .ps-dl .ps-dl-meta,.px .px-nums p,.pos .pos-asof{font-size:14px;line-height:1.6}:where(.ps,.px,.ab2,.mth,.pos) :is(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--ad-blue);outline-offset:4px}:where(.ps,.px,.ab2,.mth,.pos) :is(input,select,textarea){font-size:16px}:where(.ps,.px,.ab2,.mth,.pos) summary{min-height:44px;line-height:1.5}:where(.ps,.px,.ab2,.mth,.pos) img{max-width:100%}/* Products: hero,proof,explanation,action. Utility tasks keep their controls. */ .ps .ps-hero{padding-block:48px 40px}.ps .ps-hero .ps-in{gap:36px}.ps .ps-tag{font-size:22px;line-height:1.4;font-weight:500;margin-block:20px 12px}.ps .ps-fold.is-screen{min-height:0}.ps .ps-flow{gap:20px}.ps .ps-flow li{border-radius:14px;padding:26px;background:#fff}.ps .ps-flow .b{font-size:19px;font-weight:600}.ps .ps-flow span.d,.ps .ps-reveal .ps-grid span,.ps .ps-eng span{font-size:15px;line-height:1.6}.ps .ps-flow .k{color:var(--ad-teal)}.ps .ps-uses{background:var(--ad-page)}.ps .ps-tool .mount,.ps .ps-util .ps-tool .mount{border-radius:14px;box-shadow:var(--ad-shadow)}.ps .ps-tools .box{border-radius:14px;background:var(--ad-violet-wash);border-color:#ded5ef;padding:24px}.ps .ps-tools a{min-height:44px;border-radius:8px;background:var(--ad-violet)}.ps .ps-tools a.is-all{color:var(--ad-violet);border-color:#cbbce8}.ps .ps-tools p span{font-size:15px}.ps .ps-close .box{border-radius:14px;padding:32px 24px}.ps .ps-hero.is-billboard{padding-top:40px;background:var(--ad-page)}.ps .ps-bb-big{font-size:clamp(48px,6.4vw,88px);font-weight:600;line-height:1.03;letter-spacing:-.045em}.ps .ps-bb-sub{font-size:clamp(25px,3vw,36px);font-weight:500;line-height:1.2}.ps .ps-bb-fine{font-size:15px;line-height:1.6}.ps .ps-bb-pic{border-radius:14px;overflow:hidden}.ps .ps-bc-k,.ps .ps-bc-n,.ps .ps-cba-foot{font-size:14px;line-height:1.5}.ps .ps-proof.is-bcards .ps-in{gap:16px;padding-block:24px}.ps .ps-bc{border-radius:12px;padding:20px}.ps .ps-hero.is-billboard a.ps-b,.ps .ps-hero.is-billboard a.ps-b2,.ps .ps-hero a.ad-shopify-install.ad-shopify-install,.ps .ps-hero a.ad-wporg-install.ad-wporg-install{border-radius:8px;min-height:48px;font-weight:500;box-sizing:border-box}.ps .ad-shopify-flag,.ps .ps-cba-k{font-size:12px;line-height:1.5}.ps .ps-hero .ps-acts>a{max-width:100%}.px .px-hero{padding-block:48px}.px .px-grid,.px .px-grid.is-2,.px .px-grid.is-5{grid-template-columns:minmax(0,1fr);gap:24px}.px .px-grid>li{min-width:0}.px .px-cols{gap:32px}.px .px-sec{padding-block:clamp(48px,6vw,80px);scroll-margin-top:var(--ad-hdr-h,64px)}.px .px-card{border-radius:14px;box-shadow:var(--ad-shadow)}.px .px-nums b{font-weight:600}.px .px-nums ul{border-radius:14px;overflow:hidden}/* About: hero owns its fold,including the ticker. Content may grow on short screens;on phones there is deliberately no forced viewport height. */ .ab2 .ab2-hero{padding-top:40px;display:flex;flex-direction:column;box-sizing:border-box}.ab2 .ab2-hero-grid{flex:1;gap:36px;padding-bottom:40px}.ab2 .ab2-ticker{margin-top:0;flex:none;position:relative;z-index:1;color:#c7d6e9}.ab2 .ab2-ticker-in{display:flex;width:max-content;gap:0;padding:0;animation:ad-ticker 52s linear infinite;font-size:14px;line-height:1.6;text-transform:none;letter-spacing:0;color:inherit}.ab2 .ab2-tick-set{display:flex;align-items:center;gap:32px;margin:0;padding:20px 16px;flex:none}.ab2 .ab2-tick-set>span{white-space:nowrap;display:inline-block}.ab2 .ab2-tick-set>i{width:5px;height:5px;flex:none;border-radius:50%;background:#73aeff}.ab2 .ab2-tick-set b{color:#fff;font-weight:600}.ab2 .ab2-tick-set a{color:inherit;text-decoration:underline;text-decoration-color:#647e9f;text-underline-offset:4px}.ab2 .ab2-tick-set a:hover{color:#fff;text-decoration-color:#fff}.ab2 .ab2-ticker:hover .ab2-ticker-in,.ab2 .ab2-ticker:focus-within .ab2-ticker-in{animation-play-state:paused}@keyframes ad-ticker{to{transform:translateX(-50%)}}.ab2 .ab2-machine-g{gap:20px}.ab2 .ab2-machine-g strong,.ab2 .ab2-machine h2,.ab2 .ab2-card h3{font-weight:600}.ab2 .ab2-card{border-radius:14px}.ab2 .ab2-machine-g p,.ab2 .ab2-card p,.ab2 .ab2-facts{font-size:15px;line-height:1.6}/* Methodology: technical information remains legible,with genuine hierarchy. The old six/five-column miniature diagrams become three readable columns. */ .mth h1{max-width:15ch}.mth .lede{max-width:64ch}.mth .section-head{grid-template-columns:1fr;gap:20px;margin-bottom:32px}.mth .section-head p{font-size:17px;line-height:1.7}.mth .arch-grid,.mth .route-band{grid-template-columns:1fr;gap:20px}.mth .method-framework,.mth .state-grid{display:flex;flex-wrap:wrap;gap:20px}.mth .method-framework>*,.mth .state-grid>*{box-sizing:border-box;flex:1 1 100%;min-width:0}.mth .evidence-grid{grid-template-columns:minmax(0,1fr);gap:20px}.mth .method-pillar:last-child{grid-column:auto}.mth .arch-node,.mth .evidence-card,.mth .method-pillar,.mth .state-card{border-radius:14px;min-height:0}.mth .arch-node{padding:24px;background:var(--ad-blue-wash)}.mth .arch-node:nth-child(3n+2){background:var(--ad-teal-wash)}.mth .arch-node:nth-child(3n){background:var(--ad-violet-wash)}.mth .route-item b,.mth .arch-node b,.mth .method-family b,.mth .symbol-copy b{font-size:17px;font-weight:600;line-height:1.4}.mth .route-item span,.mth .route-item p,.mth .law p,.mth .arch-node p,.mth .evidence-card p,.mth .method-pillar-head p,.mth .method-family span,.mth .symbol-copy span,.mth .state-card p,.mth .route-step p,.mth .plane p{font-size:15px;line-height:1.6}.mth .state-code,.mth .micro-flow span,.mth .evidence-rule b,.mth .route-item small,.mth .plane-no,.mth .section-no,.mth .boundary-card .tag,.mth .arch-node small,.mth .method-pillar-head small,.mth .method-family .mf-no,.mth .evidence-card .tag,.mth .pill{font-size:12px;line-height:1.6;font-weight:600}.mth .law-code,.mth .route-disclaimer,.mth .arch-note,.mth .formal-caveat,.mth .method-note,.mth .mth-more,.mth .metric span,.mth .contract-bar span{font-size:14px;line-height:1.6}.mth .formal-panel,.mth .legend-panel,.mth .contract{border-radius:14px}.mth .formal-panel p{font-size:16px;line-height:1.65}.mth .contract-bar b,.mth .formal-panel .state-line{font-size:13px;line-height:1.6}.mth .code-line{font-size:14px;line-height:1.65;grid-template-columns:108px minmax(0,1fr);overflow-wrap:anywhere}.mth .code-muted{color:#a6b5c8}.mth .method-pillar-head{background:var(--ad-teal-wash);padding:24px}.mth .method-family{padding:20px 24px}.mth .govern-list span,.mth .activate-list span,.mth .trigger,.mth .boundary-card li,.mth .assurance,.mth .mth-foot{font-size:14px;line-height:1.6}.mth .method-note{background:var(--ad-amber-wash);color:var(--ad-amber);padding:20px 24px}/* Company position: a document you can read,supported by spacious diagrams. */ .pos .pos-section-head{max-width:820px;margin-bottom:32px}.pos .pos-node p,.pos .pos-roles p,.pos .pos-principles p,.pos .pos-contract-copy p,.pos .pos-protection-grid p,.pos .pos-direction p,.pos .pos-position-note p{font-size:16px;line-height:1.7}.pos .pos-node a,.pos .pos-roles a,.pos .pos-contract-copy>a,.pos .pos-direction a,.pos .pos-principles a,.pos .pos-protection-grid a,.pos .pos-transfer,.pos .pos-hero-links{font-size:14px;line-height:1.6}.pos .pos-destinations p,.pos .pos-reading span,.pos .pos-sources li{font-size:15px;line-height:1.65}.pos .pos-node-label,.pos .pos-tag,.pos .pos-chips span,.pos .pos-boundary-label{font-size:12px;line-height:1.5}.pos figcaption,.pos .pos-review-trigger,.pos .pos-maturity,.pos .pos-sources li span{font-size:14px;line-height:1.65}.pos .pos-diagram,.pos .pos-contract{border-radius:14px;padding:24px}.pos .pos-code b,.pos code{font-size:13px;line-height:1.7}.pos .pos-roles article{padding:28px;border-radius:14px}.pos .pos-roles article:nth-child(2){background:var(--ad-teal-wash);border-color:#cddfd9}.pos .pos-roles article:nth-child(3){background:var(--ad-violet-wash);border-color:#ded5ef}.pos .pos-protection-grid article:nth-child(2){border-color:#8abbb2}.pos .pos-protection-grid article:nth-child(3){border-color:#b6a0d9}.pos .pos-principles>li:last-child:nth-child(odd){grid-column:1/-1}.pos .pos-principles>li:last-child:nth-child(odd) p{max-width:72ch}.pos .pos-position-note{background:var(--ad-amber-wash);border-color:var(--ad-amber)}/* Phone composition: retain the task and hierarchy,stack diagrams in reading order,allow manual ticker reading and keep form text at native 16px. */ @media(max-width:640px){.ps .ps-acts{gap:10px}.ps .ps-acts a{width:100%}.ps .ps-bb-pic{display:block;width:100%;max-width:400px;max-height:320px;aspect-ratio:4/3;margin:20px auto 0}.ps .ps-bb-pic img{width:100%;height:100%;object-fit:cover;object-position:top}.ps .ps-proof.is-bcards .ps-in{gap:12px}.ps .ps-bc-n{display:block}.ps .ps-th.is-pic{display:block;max-height:280px;overflow:hidden}.ps .ps-eng{grid-template-columns:1fr}.ps .ps-reveal .ps-grid{grid-template-columns:1fr}.px .px-grid.is-2{grid-template-columns:1fr}.px .px-nums li{padding:20px 16px}.px .px-nums b{font-size:32px}.px .px-acts .px-btn{width:100%}.ab2 .ab2-hero-grid{grid-template-columns:1fr}.ab2 .ab2-ctas .ab2-btn{width:100%}.ab2 .ab2-lede{margin-bottom:24px}.ab2 .ab2-ticker{overflow-x:auto;scrollbar-width:thin;scrollbar-color:#486482 transparent}.ab2 .ab2-ticker-in{animation:none;transform:none}.ab2 .ab2-tick-set{padding:18px 20px;gap:24px}.ab2 .ab2-tick-set[aria-hidden]{display:none}.mth .metric-band{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.mth .hero-system,.mth .formal-wrap,.mth .contract-body,.mth .boundary-grid{grid-template-columns:1fr}.mth .contract-col+.contract-col{border-left:0;border-top:1px solid #334155}.mth .contract-bar{align-items:flex-start;flex-direction:column;gap:8px}.mth .code-line{grid-template-columns:1fr;gap:4px;padding-block:12px}.mth .mth-core{position:absolute;top:-8px;right:-4px;width:72px;height:72px;margin:0}.mth .mth-hero>.kicker-row{padding-right:72px;min-height:62px}.pos .pos-flow,.pos .pos-destinations,.pos .pos-roles,.pos .pos-contract-grid,.pos .pos-protection-grid,.pos .pos-direction,.pos .pos-reading,.pos .pos-principles,.pos .pos-sources ul{grid-template-columns:1fr}.pos .pos-node{width:100%}.pos .pos-arrow span,.pos .pos-arrow small{display:block;font-size:12px}}@media(min-width:641px){:root{--ad-public-gutter:32px;--ad-public-section:88px}.ps .ps-hero,.px .px-hero{padding-block:64px 56px}.px .px-grid,.px .px-grid.is-2,.px .px-grid.is-5{grid-template-columns:repeat(2,minmax(0,1fr))}.mth .page,.pos .pos-wrap{padding-block:64px 96px}.mth .arch-grid,.mth .route-band,.mth .evidence-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mth .method-framework>*,.mth .state-grid>*{flex-basis:calc((100% - 20px)/2)}}@media(min-width:981px){:root{--ad-public-gutter:48px;--ad-public-section:104px}.ps .ps-hero .ps-in{gap:56px}.ps .ps-hero,.px .px-hero{padding-block:80px 64px}.px .px-grid:not(.is-2):not(.is-5){grid-template-columns:repeat(4,minmax(0,1fr))}.mth .arch-grid,.mth .route-band{grid-template-columns:repeat(3,minmax(0,1fr))}.mth .method-framework>*,.mth .state-grid>*{flex-basis:calc((100% - 40px)/3)}.mth .section-head{grid-template-columns:180px minmax(0,1fr);gap:48px}.ab2 .ab2-hero{min-height:calc(100svh - var(--ad-hdr-h,64px));padding-top:clamp(32px,5vh,64px)}.ab2 .ab2-hero-grid{padding-bottom:clamp(32px,5vh,64px);grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:48px}}/* Preserve the authored two-card groups. Five tools fill one desktop row;on tablets the final card becomes a full-width horizontal card. */ @media(min-width:641px) and (max-width:1199px){.px .px-grid.is-5>li:last-child{grid-column:1/-1}.px .px-grid.is-5>li:last-child .px-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:1fr 1fr}.px .px-grid.is-5>li:last-child .px-img{grid-row:1/3;aspect-ratio:auto;min-height:190px}.px .px-grid.is-5>li:last-child b{align-self:end;padding:24px 24px 6px}.px .px-grid.is-5>li:last-child small{padding:0 24px 24px}}@media(min-width:1200px){.px .px-grid.is-5{grid-template-columns:repeat(5,minmax(0,1fr));gap:20px}.mth .evidence-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){.ab2 .ab2-ticker{overflow-x:auto}.ab2 .ab2-ticker-in{animation:none;transform:none}.ab2 .ab2-tick-set[aria-hidden]{display:none}}@media print{.ps .ps-in,.px .px-in,.ab2 .ab2-wrap,.mth .page,.pos .pos-wrap{max-width:none;padding:0}.ab2 .ab2-hero{min-height:0}.ab2 .ab2-ticker{display:none}.mth .section,.pos .pos-section{margin-top:32px}}