/* Moraph platform design system: every subdomain (portal, app, support, docs, academy, partners, suppliers, careers,
   trust). The site's type and colour (Newsreader display, Inter text, JetBrains Mono labels; ink, paper and signal
   orange) as a calm, dense working UI. Tokens first, then layout, then components. docs/platform.md#design-system */
@font-face{font-family:"Newsreader";src:url(/assets/fonts/newsreader-roman.woff2) format("woff2");font-weight:300 500;font-style:normal;font-display:swap}
@font-face{font-family:"Newsreader";src:url(/assets/fonts/newsreader-italic.woff2) format("woff2");font-weight:300 500;font-style:italic;font-display:swap}
@font-face{font-family:"Inter";src:url(/assets/fonts/inter.woff2) format("woff2");font-weight:300 700;font-style:normal;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url(/assets/fonts/jetbrains-mono.woff2) format("woff2");font-weight:400 600;font-style:normal;font-display:swap}
:root{
  --ink:#0b0f14;--ink-2:#11171e;--ink-3:#1a222c;--paper:#f4f1ea;--paper-2:#ebe6db;--paper-3:#faf8f4;--white:#fff;
  --text:#121820;--body:#29313b;--muted:#566170;--faint:#5f6873;--line:#e3ded3;--line-2:#d2cbbd;--line-3:#bdb5a5;
  --signal:#ff5b1f;--signal-ink:#b33a0b;--signal-soft:rgba(255,91,31,.12);
  --ok:#2f7d52;--ok-ink:#1e5a3a;--ok-soft:#e6f2ea;--ok-line:#cbe4d4;
  --warn:#a86b00;--warn-ink:#6b4600;--warn-soft:#fbf0d9;--warn-line:#f0dcb0;
  --partial:#d4580f;--partial-ink:#8a3407;--partial-soft:#fde8dc;--partial-line:#f6c9ad;
  --err:#b42318;--err-ink:#8f1c13;--err-soft:#fbe9e7;--err-line:#f3cdc8;
  --info:#1f4e8c;--info-ink:#173c6c;--info-soft:#e8eef7;--info-line:#d0dcee;
  --neutral:#6b7480;
  --f-display:"Newsreader","Iowan Old Style",Georgia,serif;--f-sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;
  --field-line:#857d70;--wrap:1180px;--wrap-wide:1360px;--side:252px;--top:60px;
  --r-sm:8px;--r:12px;--r-lg:16px;
  --sh-1:0 1px 2px rgba(11,15,20,.05),0 1px 1px rgba(11,15,20,.03);--sh-2:0 8px 28px rgba(11,15,20,.12),0 2px 6px rgba(11,15,20,.06);
  --ease:cubic-bezier(.2,.7,.2,1)
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:80px}
body.p-body{margin:0;font:400 15px/1.6 var(--f-sans);color:var(--body);background:var(--paper);min-height:100vh;display:flex;flex-direction:column;font-feature-settings:"cv11","ss01";-webkit-font-smoothing:antialiased}
a{color:var(--text);text-decoration-thickness:1px;text-underline-offset:.18em}
a:hover{color:var(--signal-ink)}
:focus-visible{outline:2px solid var(--signal-ink);outline-offset:2px;border-radius:2px}
.p-top :focus-visible,.p-hero :focus-visible,.p-foot :focus-visible,.p-card--ink :focus-visible,.p-dirty :focus-visible{outline-color:var(--signal)}
h1,h2,h3,h4{color:var(--text);margin:0 0 .5rem;line-height:1.2}
h1{font:360 2.4rem/1.1 var(--f-display);letter-spacing:-.015em}
h2{font:560 1.12rem/1.3 var(--f-sans);letter-spacing:-.005em}
h3{font:600 1rem/1.35 var(--f-sans)}
h4{font:600 .92rem/1.35 var(--f-sans)}
p{margin:0 0 1rem}
img,video,svg{max-width:100%}
code,kbd,samp{font-family:var(--f-mono);font-size:.86em}
hr{border:0;border-top:1px solid var(--line);margin:24px 0}
.p-wrap{max-width:var(--wrap);margin:0 auto;padding:0 clamp(16px,4vw,40px)}
.p-wrap--wide{max-width:var(--wrap-wide)}
.p-skip{position:absolute;left:-999px;top:8px;background:var(--white);padding:8px 12px;z-index:100;border-radius:6px}.p-skip:focus{left:8px}
.p-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.p-i{width:18px;height:18px;flex:0 0 auto;vertical-align:-3px}
.p-i--ext{width:13px;height:13px;opacity:.7}
.p-inline{display:inline;margin:0}
.p-m0{margin:0}.p-mt0{margin-top:0}.p-mt12{margin-top:12px}
.p-inline+.p-inline,.p-btn+.p-inline,.p-inline+.p-btn{margin-left:8px}

/* ------------------------------------------------------------------ app bar */
.p-top{background:var(--ink);color:#fff;border-bottom:1px solid rgba(255,255,255,.08);position:sticky;top:0;z-index:40}
.p-top__in{display:flex;align-items:center;gap:20px;min-height:var(--top)}
.p-top__in--full{padding:0 clamp(14px,2vw,24px)}
.p-logo{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;flex:0 0 auto}
.p-logo:hover{color:#fff}
.p-logo__mark{width:22px;height:22px}
.p-logo__word{font:600 .82rem/1 var(--f-sans);letter-spacing:.32em;text-transform:uppercase}
.p-logo__sub{font:500 .72rem/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--signal);padding-left:10px;border-left:1px solid rgba(255,255,255,.22)}
.p-nav{display:flex;gap:2px;flex-wrap:nowrap;min-width:0;flex:0 1 auto;overflow-x:auto;scrollbar-width:none}
.p-nav::-webkit-scrollbar{display:none}
.p-nav a,.p-nav__link{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;color:rgba(255,255,255,.72);text-decoration:none;padding:8px 12px;border-radius:999px;font-size:.9rem}
.p-nav .p-i{display:none}
.p-nav a:hover{color:#fff;background:rgba(255,255,255,.06)}
.p-nav a[aria-current=page]{color:#fff;background:rgba(255,255,255,.1)}
.p-top__end{margin-left:auto;display:flex;align-items:center;gap:12px;flex:0 0 auto}
.p-who{display:flex;align-items:center;gap:14px;font-size:.9rem}
.p-who a{color:rgba(255,255,255,.85);text-decoration:none}.p-who a:hover{color:#fff}
.p-who a.p-btn{color:var(--ink)}
.p-who form{margin:0}
.p-link{background:none;border:0;padding:0;font:inherit;color:rgba(255,255,255,.6);cursor:pointer;text-decoration:underline;text-underline-offset:.18em}
.p-link:hover{color:#fff}
.p-linkbtn{background:none;border:0;padding:0;font:inherit;text-align:left;color:var(--text);cursor:pointer;text-decoration:underline;text-underline-offset:.18em}
.p-linkbtn:hover{color:var(--signal-ink)}

/* search in the app bar */
.p-search{position:relative;display:flex;align-items:center;margin:0}
.p-search .p-i{position:absolute;left:11px;color:rgba(255,255,255,.55);pointer-events:none}
.p-search input{width:min(34vw,320px);height:36px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:#fff;font:inherit;font-size:.88rem;padding:0 34px 0 36px}
.p-search input::placeholder{color:rgba(255,255,255,.5)}
.p-search input:focus{outline:none;border-color:rgba(255,255,255,.45);background:rgba(255,255,255,.1)}
.p-search input:focus-visible,.p-hero__search input:focus-visible{outline:2px solid var(--signal);outline-offset:2px}
.p-search__kbd{position:absolute;right:10px;font:500 .7rem/1 var(--f-mono);color:rgba(255,255,255,.5);border:1px solid rgba(255,255,255,.2);border-radius:4px;padding:2px 5px}
.p-search input:focus+.p-search__kbd{display:none}

/* menus (details/summary) */
details[data-menu]{position:relative}
details[data-menu]>summary{list-style:none;cursor:pointer}
details[data-menu]:not([open])>:not(summary){display:none}
details[data-menu]>summary::-webkit-details-marker{display:none}
.p-menu>summary{display:flex;align-items:center;gap:8px;color:rgba(255,255,255,.88);font-size:.88rem;padding:4px 6px 4px 4px;border-radius:999px}
.p-menu>summary:hover,.p-menu[open]>summary{background:rgba(255,255,255,.08)}
.p-menu>summary .p-i{width:15px;height:15px;opacity:.7}
.p-menu__panel,.p-apps__panel{position:absolute;right:0;top:calc(100% + 8px);background:var(--white);color:var(--body);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-2);min-width:250px;padding:6px;z-index:50}
.p-menu__id{padding:10px 12px 12px;border-bottom:1px solid var(--line);margin-bottom:6px;display:grid;gap:2px;font-size:.84rem;color:var(--muted)}
.p-menu__id b{color:var(--text);font-size:.92rem}
.p-menu__panel a,.p-menu__panel button{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;border-radius:8px;color:var(--text);text-decoration:none;font:inherit;font-size:.9rem;background:none;border:0;cursor:pointer;text-align:left}
.p-menu__panel a:hover,.p-menu__panel button:hover{background:var(--paper)}
.p-menu__panel form{margin:6px 0 0;border-top:1px solid var(--line);padding-top:6px}
.p-apps>summary{display:grid;place-items:center;width:36px;height:36px;border-radius:999px;color:rgba(255,255,255,.8)}
.p-apps>summary:hover,.p-apps[open]>summary{background:rgba(255,255,255,.08);color:#fff}
.p-apps__panel{left:0;right:auto;width:340px;padding:10px}
.p-apps__title{font:500 .7rem/1.4 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:4px 8px 8px}
.p-apps ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.p-apps a{display:grid;gap:1px;padding:9px 10px;border-radius:8px;text-decoration:none}
.p-apps a:hover{background:var(--paper)}
.p-apps a[aria-current]{background:var(--paper-2)}
.p-apps__name{font-weight:600;color:var(--text);font-size:.92rem}
.p-apps__purpose{font-size:.8rem;color:var(--muted)}
.p-bell{position:relative;display:grid;place-items:center;width:36px;height:36px;border-radius:999px;color:rgba(255,255,255,.8)}
.p-bell:hover{background:rgba(255,255,255,.08);color:#fff}
.p-bell__n{position:absolute;top:-2px;right:-4px;min-width:17px;height:17px;border-radius:9px;background:var(--signal);color:var(--ink);font:700 .66rem/17px var(--f-sans);text-align:center;padding:0 4px}

/* avatars */
.p-avatar{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;font:600 .72rem/1 var(--f-sans);letter-spacing:.02em;color:#fff;background:#3a4656;flex:0 0 auto}
.p-avatar--1{background:#7a4b2a}.p-avatar--2{background:#2f5d50}.p-avatar--3{background:#4a3f7a}.p-avatar--4{background:#7a2f45}.p-avatar--5{background:#2f4f7a}
.p-avatar--lg{width:44px;height:44px;font-size:.95rem}

/* ------------------------------------------------------------------ workspace layout */
.w-shell{flex:1;display:grid;grid-template-columns:var(--side) minmax(0,1fr);align-items:start;align-content:start;background:linear-gradient(to right,var(--paper-3) calc(var(--side) - 1px),var(--line) calc(var(--side) - 1px),var(--line) var(--side),transparent var(--side))}
.w-side{position:sticky;top:var(--top);max-height:calc(100vh - var(--top));overflow-y:auto;padding:18px 12px 28px}
.w-side__group{margin-bottom:18px}
.w-side__label{font:500 .66rem/1.4 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin:0 10px 6px}
.w-side__link{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;color:var(--body);text-decoration:none;font-size:.9rem;font-weight:500}
.w-side__link .p-i{color:var(--muted)}
.w-side__link:hover{background:var(--paper-2);color:var(--text)}
.w-side__link[aria-current=page]{background:var(--white);color:var(--text);box-shadow:var(--sh-1),inset 3px 0 0 var(--signal)}
.w-side__link[aria-current=page] .p-i{color:var(--signal-ink)}
.w-side__link .p-count{margin-left:auto}
.w-side__org{margin:0 4px 18px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--white);font-size:.82rem;color:var(--muted)}
.w-side__org b{display:block;color:var(--text);font-size:.9rem}
.w-main{min-width:0;padding:28px clamp(16px,3vw,40px) 72px;max-width:1240px;width:100%}
.w-main:focus{outline:none}
.p-main:focus{outline:none}

/* page header */
.p-head{margin:0 0 24px}
.p-head__row{display:flex;gap:16px 24px;align-items:flex-end;justify-content:space-between;flex-wrap:wrap}
.p-head__text{min-width:0;flex:1 1 420px}
.p-head__actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.p-head__meta{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:.86rem;color:var(--muted);margin-top:.4rem}
.p-head .p-h1{margin-bottom:.35rem}
.p-head .p-lede{margin-bottom:0}
.p-h1{margin-bottom:1.25rem;font-size:clamp(1.9rem,1.5rem + 1.2vw,2.4rem)}
.p-crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:4px;margin:0 0 10px;padding:0;font-size:.82rem;color:var(--muted)}
.p-crumbs li+li::before{content:"/";margin-right:4px;color:var(--line-3)}
.p-crumbs a{color:var(--muted);text-decoration:none}.p-crumbs a:hover{color:var(--text);text-decoration:underline}
.p-kicker{font:500 .72rem/1.4 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--signal-ink);margin:0 0 .6rem}
.p-lede{font-size:1.05rem;color:var(--muted);max-width:46rem;margin-bottom:1.5rem}
.p-lede p:last-child{margin-bottom:0}
.p-small{font-size:.85rem;color:var(--muted)}
.p-muted{color:var(--muted)}
.p-mono{font-family:var(--f-mono);font-size:.85em}
.p-num{font-variant-numeric:tabular-nums}

/* ------------------------------------------------------------------ public layout */
.p-main{flex:1;padding:40px 0 80px}
.p-hero{background:var(--ink);color:rgba(255,255,255,.78);margin:-40px 0 40px;padding:64px 0 56px;position:relative;overflow:hidden}
.p-hero::after{content:"";position:absolute;inset:0;background:radial-gradient(60% 90% at 100% 0,rgba(255,91,31,.22),transparent 60%);pointer-events:none}
.p-hero>*{position:relative;z-index:1}
.p-hero h1{color:#fff;font-size:clamp(2.4rem,1.6rem + 3vw,4rem);max-width:18ch}
.p-hero h1 em{color:var(--signal);font-style:italic}
.p-hero .p-lede{color:rgba(255,255,255,.74)}
.p-hero .p-kicker{color:var(--signal)}
.p-hero .p-btn--ghost{color:#fff;border-color:rgba(255,255,255,.4)}
.p-hero .p-btn--ghost:hover{border-color:#fff;background:transparent;color:#fff}
.p-hero a:not(.p-btn){color:#fff}
.p-wrap>.p-hero{margin:0 0 40px;border-radius:var(--r-lg);padding-left:clamp(20px,4vw,56px);padding-right:clamp(20px,4vw,56px)}
.p-hero--full{margin:-40px 0 48px;border-radius:0}
.p-hero__search{margin-top:24px;max-width:640px;display:flex;gap:8px;position:relative}
.p-hero__search input{flex:1;height:52px;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:#fff;font:inherit;font-size:1rem;padding:0 20px 0 48px}
.p-hero__search input::placeholder{color:rgba(255,255,255,.55)}
.p-hero__search input:focus{outline:none;border-color:var(--signal);background:rgba(255,255,255,.12)}
.p-hero__search .p-i{position:absolute;left:18px;top:17px;color:rgba(255,255,255,.6)}
.p-section-h{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:48px 0 18px;flex-wrap:wrap}
.p-section-h h2{font:360 1.85rem/1.2 var(--f-display);margin:0;letter-spacing:-.01em}
.p-section-h p{margin:.3rem 0 0;color:var(--muted)}
.p-band{margin:40px 0 0}
.p-band>h2{font:360 1.8rem/1.2 var(--f-display);margin-bottom:1rem}
.p-steps{list-style:none;margin:0;padding:0;counter-reset:s;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.p-steps li{counter-increment:s;background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:20px}
.p-steps li::before{content:"0" counter(s);display:block;font:500 .75rem/1 var(--f-mono);letter-spacing:.12em;color:var(--signal-ink);margin-bottom:.7rem}
.p-steps p{margin:0;font-size:.92rem;color:var(--muted)}

/* ------------------------------------------------------------------ cards, tiles, KPIs */
.p-card{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:clamp(18px,2.4vw,24px);margin:0 0 20px;box-shadow:var(--sh-1);min-width:0}
.p-card>h2:first-child{margin-bottom:1rem}
.p-card--flush{padding:0;overflow:hidden}
.p-card--flush>.p-card__head{padding:18px 22px 14px;margin:0;border-bottom:1px solid var(--line)}
.p-card--flush .p-table th:first-child,.p-card--flush .p-table td:first-child{padding-left:22px}
.p-card--flush .p-table th:last-child,.p-card--flush .p-table td:last-child{padding-right:22px}
.p-card--flush>.p-empty,.p-card--flush>.p-emptystate,.p-card--flush>.p-list{margin:0}
.p-card--flush>.p-card__foot{padding:12px 22px;border-top:1px solid var(--line);background:var(--paper-3);font-size:.86rem}
.p-card--danger{border-color:var(--err-line)}
.p-card--accent{border-top:3px solid var(--signal)}
.p-card--ink{background:var(--ink);color:rgba(255,255,255,.78);border-color:var(--ink)}
.p-card--ink h2,.p-card--ink h3,.p-card--ink .p-card__title{color:#fff}
.p-card--ink a:not(.p-btn){color:#fff}
.p-card--ink .p-btn--ghost{color:#fff;border-color:rgba(255,255,255,.4)}
.p-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:0 0 14px}
.p-card__head>div{flex:1;min-width:0}
.p-card__title{font:600 1rem/1.3 var(--f-sans);margin:0}
.p-card__sub{font-size:.84rem;color:var(--muted);margin:.2rem 0 0}
.p-card__action{display:inline-flex;align-items:center;gap:4px;font-size:.84rem;font-weight:550;text-decoration:none;white-space:nowrap;color:var(--text)}
.p-card__action .p-i{width:15px;height:15px;transition:transform .15s var(--ease)}
.p-card__action:hover .p-i{transform:translateX(2px)}
.p-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
.p-cols>.p-card{margin:0}
.p-cols--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.p-split{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}
.p-split--wide{grid-template-columns:minmax(0,1fr) 380px}
.p-stack>*+*{margin-top:20px}
.p-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:0 0 24px}
.p-tile{display:block;position:relative;background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:20px;text-decoration:none;color:var(--body);box-shadow:var(--sh-1);transition:border-color .15s,transform .15s var(--ease),box-shadow .15s}
a.p-tile:hover{border-color:var(--line-3);color:var(--body);transform:translateY(-1px);box-shadow:var(--sh-2)}
.p-tile h3{margin-bottom:.35rem;display:flex;align-items:center;gap:8px}
.p-tile p{margin:0;font-size:.92rem;color:var(--muted)}
.p-tile__icon{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:var(--paper);color:var(--signal-ink);margin-bottom:14px}
.p-tile__icon .p-i{width:20px;height:20px}
.p-tile__meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.p-tile--ink{background:var(--ink);border-color:var(--ink);color:rgba(255,255,255,.75)}
.p-tile--ink h3{color:#fff}.p-tile--ink p{color:rgba(255,255,255,.7)}
.p-stat{font:360 2.2rem/1 var(--f-display);color:var(--text);display:block;margin-bottom:.3rem}
.p-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin:0 0 24px}
.p-kpi{display:flex;flex-direction:column;gap:6px;background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;text-decoration:none;color:var(--body);box-shadow:var(--sh-1)}
a.p-kpi:hover{border-color:var(--line-3);color:var(--body)}
.p-kpi__label{min-height:2.6em;font:500 .7rem/1.3 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.p-kpi__value{font:380 2rem/1 var(--f-display);color:var(--text);font-variant-numeric:tabular-nums}
.p-kpi__value--warn{color:var(--warn-ink)}.p-kpi__value--err{color:var(--err)}.p-kpi__value--ok{color:var(--ok-ink)}.p-kpi__value--signal{color:var(--signal-ink)}
.p-kpi__sub{font-size:.8rem;color:var(--muted)}
.p-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 18px}
.p-toolbar .p-spacer{margin-left:auto}

/* lists (rows inside cards) */
.p-list{list-style:none;margin:0;padding:0}
.p-list>li{display:flex;gap:14px;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--line)}
.p-card--flush .p-list>li{padding:14px 22px}
.p-list>li:last-child{border-bottom:0}
.p-list__main{flex:1;min-width:0}
.p-list__title{font-weight:600;color:var(--text);display:block;text-decoration:none;overflow-wrap:anywhere}
a.p-list__title:hover{color:var(--signal-ink);text-decoration:underline}
.p-list__meta{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:.82rem;color:var(--muted);margin-top:3px}
.p-list__side{display:flex;align-items:center;gap:10px;flex:0 0 auto;font-size:.84rem;color:var(--muted)}
.p-list__icon{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:var(--paper);color:var(--muted);flex:0 0 auto}
.p-list__icon--warn{background:var(--warn-soft);color:var(--warn-ink)}.p-list__icon--err{background:var(--err-soft);color:var(--err)}.p-list__icon--ok{background:var(--ok-soft);color:var(--ok)}.p-list__icon--info{background:var(--info-soft);color:var(--info)}.p-list__icon--signal{background:var(--signal-soft);color:var(--signal-ink)}

/* ------------------------------------------------------------------ buttons */
.p-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:44px;padding:0 20px;border-radius:999px;border:1px solid var(--signal);background:var(--signal);color:var(--ink);font:600 .92rem/1 var(--f-sans);text-decoration:none;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}
.p-btn:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.p-btn .p-i{width:17px;height:17px}
.p-btn--ghost{background:transparent;border-color:var(--line-2);color:var(--text)}
.p-btn--ghost:hover{background:var(--white);border-color:var(--text);color:var(--text)}
.p-btn--dark{background:var(--ink);border-color:var(--ink);color:#fff}
.p-btn--dark:hover{background:var(--ink-3);border-color:var(--ink-3)}
.p-btn--danger{background:var(--err);border-color:var(--err);color:#fff}
.p-btn--danger:hover{background:#8f1c13;border-color:#8f1c13}
.p-btn--sm{min-height:34px;padding:0 14px;font-size:.85rem}
.p-btn--block{width:100%}
.p-btn[disabled],.p-btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}
.p-btn.is-busy{cursor:progress}
.p-btn-row{display:flex;flex-wrap:wrap;gap:10px;margin:1.25rem 0 0}
.p-btn-row--end{justify-content:flex-end}

/* ------------------------------------------------------------------ forms */
.p-auth{max-width:440px;margin:24px auto;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(22px,4vw,36px);box-shadow:var(--sh-1)}
.p-auth--wide{max-width:760px}
.p-auth h1{font-size:2rem;margin-bottom:.75rem}
.p-auth__alt{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.p-form{margin:0}
.p-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 16px}
.p-grid--3{grid-template-columns:repeat(3,1fr)}
.p-field{display:flex;flex-direction:column;gap:6px;margin:0 0 16px;min-width:0}
.p-grid .p-field{margin:0}
.p-field--full{grid-column:1/-1}
.p-field label,.p-label,.p-field legend{font-size:.84rem;font-weight:560;color:var(--text)}
.p-req{color:var(--signal-ink)}
.p-field input:not([type=checkbox]):not([type=radio]):not([type=file]),.p-field select,.p-field textarea,.p-input{width:100%;font:inherit;font-size:16px;line-height:1.4;padding:.68rem .85rem;border:1px solid var(--field-line);border-radius:var(--r-sm);background:var(--white);color:var(--text);transition:border-color .15s,box-shadow .15s}
.p-field select,.p-select{appearance:none;-webkit-appearance:none;padding-right:2.4rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%23121820' stroke-width='1.5'%3E%3Cpath d='m1 1.5 5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .9rem center}
.p-field input:hover,.p-field select:hover,.p-field textarea:hover{border-color:var(--text)}
.p-field input:focus,.p-field select:focus,.p-field textarea:focus,.p-input:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(255,91,31,.25)}
.p-field [aria-invalid=true]{border-color:var(--err)!important}
.p-field textarea{resize:vertical;min-height:7rem}
.p-field small{font-size:.8rem;color:var(--muted)}
.p-field__err{display:flex;gap:6px;align-items:flex-start;color:var(--err)!important;font-weight:500}
.p-field__err .p-i{width:15px;height:15px;margin-top:1px}
.p-field fieldset{border:0;padding:0;margin:0}
.p-file{font:inherit;font-size:.9rem;padding:14px;border:1.5px dashed var(--line-3);border-radius:var(--r);background:var(--paper-3);width:100%;cursor:pointer}
.p-file:hover{border-color:var(--text)}
.p-file::file-selector-button{font:600 .85rem var(--f-sans);border:1px solid var(--line-2);background:var(--white);border-radius:999px;padding:7px 14px;margin-right:12px;cursor:pointer}
.p-static{margin:0;padding:.68rem 0;color:var(--text)}
.p-section{grid-column:1/-1;font:500 .72rem/1.4 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--signal-ink);margin:.5rem 0 -.25rem;padding-top:.9rem;border-top:1px solid var(--line)}
.p-section:first-child{border-top:0;padding-top:0;margin-top:0}
.p-check{display:flex;gap:.6rem;align-items:flex-start;font-size:.9rem;color:var(--text);margin:0 0 14px;cursor:pointer}
.p-check input{margin:3px 0 0;width:17px;height:17px;flex:0 0 auto;accent-color:var(--ink)}
.p-check small{display:block;color:var(--muted);font-size:.8rem;margin-top:2px}
.p-checks{display:flex;flex-wrap:wrap;gap:8px 20px}
.p-checks .p-check{margin:0}
.p-checks--col{flex-direction:column}
.p-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.p-radios{display:grid;gap:10px}
.p-radios--row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.p-radio{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;padding:12px 14px;border:1px solid var(--line-2);border-radius:10px;background:var(--white);cursor:pointer}
.p-radio input{margin:3px 0 0;accent-color:var(--ink)}
.p-radio b{color:var(--text);font-weight:600}
.p-radio span{grid-column:2;font-size:.85rem;color:var(--muted)}
.p-radio:has(input:checked){border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
.p-radio:has(input:focus-visible){outline:2px solid var(--signal);outline-offset:2px}
fieldset.p-field{border:0;padding:0;margin:0 0 16px;min-width:0}
.p-grid fieldset.p-field{margin:0}
fieldset.p-field legend{padding:0;margin-bottom:6px}
.p-form-foot{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}
.p-form-foot .p-small{margin:0}
.p-errsum{grid-column:1/-1;border:1px solid var(--err-line);border-left:4px solid var(--err);background:var(--err-soft);border-radius:10px;padding:14px 18px;margin:0 0 20px}
.p-errsum:focus{outline:2px solid var(--err);outline-offset:2px}
.p-errsum__title{font-weight:650;color:var(--err-ink);margin:0 0 6px}
.p-errsum ul{margin:0;padding-left:1.1rem}
.p-errsum a{color:var(--err-ink);font-weight:500}
.p-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin:0 0 18px;padding:14px;background:var(--white);border:1px solid var(--line);border-radius:var(--r)}
.p-filters .p-field{margin:0;flex:1 1 160px}
.p-filters .p-field--grow{flex:3 1 260px}
.p-filters .p-btn{min-height:42px}

/* ------------------------------------------------------------------ feedback: notes, flash, status, pills */
.p-note{display:block;border-radius:10px;padding:12px 16px;margin:0 0 18px;font-size:.92rem;border:1px solid transparent}
.p-note--ok{background:var(--ok-soft);color:var(--ok-ink);border-color:var(--ok-line)}
.p-note--err{background:var(--err-soft);color:var(--err-ink);border-color:var(--err-line)}
.p-note--info{background:var(--info-soft);color:var(--info-ink);border-color:var(--info-line)}
.p-note--warn{background:var(--warn-soft);color:var(--warn-ink);border-color:var(--warn-line)}
.p-note p:last-child{margin:0}
.p-note a{color:inherit;font-weight:600}
.p-flash{display:flex;gap:12px;align-items:flex-start;border-radius:12px;padding:14px 18px;margin:0 0 22px;font-size:.94rem;border:1px solid;box-shadow:var(--sh-1);animation:p-in .3s var(--ease)}
.p-flash p{margin:0}
.p-flash--ok{background:var(--ok-soft);color:var(--ok-ink);border-color:var(--ok-line)}
.p-flash--err{background:var(--err-soft);color:var(--err-ink);border-color:var(--err-line)}
.p-flash .p-i{margin-top:2px}
.p-flash__close{margin-left:auto;background:none;border:0;cursor:pointer;color:inherit;opacity:.7;padding:2px}
.p-flash__close:hover{opacity:1}
@keyframes p-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.p-pill{display:inline-flex;align-items:center;gap:5px;font:500 .7rem/1 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;padding:5px 9px;border-radius:999px;background:var(--paper-2);color:var(--text);white-space:nowrap}
.p-pill--ok{background:var(--ok-soft);color:var(--ok-ink)}
.p-pill--warn{background:var(--warn-soft);color:var(--warn-ink)}
.p-pill--partial{background:var(--partial-soft);color:var(--partial-ink)}
.p-pill--err{background:var(--err-soft);color:var(--err-ink)}
.p-pill--info{background:var(--info-soft);color:var(--info-ink)}
.p-pill--signal{background:var(--signal-soft);color:var(--signal-ink)}
.p-pill--neutral{background:var(--paper-2);color:var(--muted)}
.p-pill--ink{background:var(--ink);color:#fff}
.p-status{display:inline-flex;align-items:center;gap:7px;font-size:.88rem;font-weight:550;color:var(--text);white-space:nowrap}
.p-status__dot{width:9px;height:9px;border-radius:50%;background:var(--neutral);flex:0 0 auto;box-shadow:0 0 0 3px rgba(107,116,128,.15)}
.p-status--ok .p-status__dot{background:var(--ok);box-shadow:0 0 0 3px var(--ok-soft)}
.p-status--warn .p-status__dot{background:#d99a00;box-shadow:0 0 0 3px var(--warn-soft)}
.p-status--partial .p-status__dot{background:var(--partial);box-shadow:0 0 0 3px var(--partial-soft)}
.p-status--err .p-status__dot{background:var(--err);box-shadow:0 0 0 3px var(--err-soft)}
.p-status--info .p-status__dot{background:var(--info);box-shadow:0 0 0 3px var(--info-soft)}
.p-status--signal .p-status__dot{background:var(--signal);box-shadow:0 0 0 3px var(--signal-soft)}
.p-count{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--signal);color:var(--ink);font:700 .7rem/1 var(--f-sans)}
.p-tag{display:inline-flex;align-items:center;gap:5px;font-size:.78rem;padding:3px 9px;border-radius:6px;background:var(--paper);border:1px solid var(--line);color:var(--body);white-space:nowrap}

/* ------------------------------------------------------------------ tables */
.p-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.p-table{width:100%;border-collapse:collapse;font-size:.92rem}
.p-table th{text-align:left;font:500 .7rem/1.3 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:10px 12px;border-bottom:1px solid var(--line-2);white-space:nowrap;background:var(--paper-3)}
.p-table td{padding:12px;border-bottom:1px solid var(--line);vertical-align:top}
.p-table tbody tr:hover td{background:#fdfcfa}
.p-table tr:last-child td{border-bottom:0}
.p-table a{font-weight:550}
.p-table .is-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.p-table td small{display:block;color:var(--muted);font-size:.8rem;margin-top:2px}
.p-empty{padding:28px;text-align:center;color:var(--muted);margin:0}

/* empty, error and permission states */
.p-emptystate{text-align:center;padding:40px 24px;color:var(--muted);max-width:520px;margin:0 auto}
.p-emptystate__icon{width:40px;height:40px;color:var(--line-3);margin-bottom:10px}
.p-emptystate__title{font-weight:600;color:var(--text);margin:0 0 4px;font-size:1rem}
.p-emptystate__text{margin:0 auto;font-size:.9rem;max-width:44ch}
.p-emptystate__action{margin-top:16px}
.p-state{max-width:640px;margin:40px auto;text-align:center}
.p-state__icon{width:48px;height:48px;color:var(--signal-ink);margin-bottom:12px}
.p-state .p-lede{margin-left:auto;margin-right:auto}
.p-state .p-btn-row{justify-content:center}

/* ------------------------------------------------------------------ navigation pieces */
.p-tabs{display:flex;gap:2px;border-bottom:1px solid var(--line-2);margin:0 0 22px;overflow-x:auto;scrollbar-width:none}
.p-tabs a{display:inline-flex;align-items:center;gap:7px;padding:10px 14px;margin-bottom:-1px;text-decoration:none;color:var(--muted);font-size:.92rem;font-weight:550;border-bottom:2px solid transparent;white-space:nowrap}
.p-tabs a:hover{color:var(--text)}
.p-tabs a[aria-current=page]{color:var(--text);border-color:var(--signal)}
.p-tabs__n{font:600 .7rem/1 var(--f-sans);background:var(--paper-2);color:var(--muted);border-radius:9px;padding:3px 7px}
.p-pager{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:20px 0 0;font-size:.88rem;color:var(--muted)}
.p-pager a{display:inline-flex;align-items:center;gap:6px;font-weight:550;text-decoration:none}
.p-pager .p-i{width:15px;height:15px}
.p-progress{display:flex;align-items:center;gap:10px}
.p-progress progress{flex:1;appearance:none;-webkit-appearance:none;height:8px;border:0;border-radius:6px;background:var(--paper-2);overflow:hidden;min-width:60px}
.p-progress progress::-webkit-progress-bar{background:var(--paper-2);border-radius:6px}
.p-progress progress::-webkit-progress-value{background:var(--ink);border-radius:6px}
.p-progress progress::-moz-progress-bar{background:var(--ink);border-radius:6px}
.p-progress--signal progress::-webkit-progress-value{background:var(--signal)}
.p-progress--signal progress::-moz-progress-bar{background:var(--signal)}
.p-progress__text{font:600 .8rem/1 var(--f-sans);color:var(--text);font-variant-numeric:tabular-nums;min-width:3ch;text-align:right}
.p-stepper{list-style:none;margin:0;padding:0;display:grid;gap:0}
.p-stepper li{display:grid;grid-template-columns:26px 1fr;gap:2px 12px;position:relative;padding-bottom:18px}
.p-stepper li:not(:last-child)::after{content:"";position:absolute;left:12px;top:26px;bottom:2px;width:2px;background:var(--line-2)}
.p-stepper li.is-done:not(:last-child)::after{background:var(--ink)}
.p-stepper__mark{width:26px;height:26px;border-radius:50%;border:2px solid var(--line-3);background:var(--white);display:grid;place-items:center}
.p-stepper__mark .p-i{width:14px;height:14px;color:#fff}
.is-done>.p-stepper__mark{background:var(--ink);border-color:var(--ink)}
.is-current>.p-stepper__mark{border-color:var(--signal);box-shadow:0 0 0 4px var(--signal-soft)}
.is-skipped>.p-stepper__mark{border-style:dashed}
.p-stepper__label{font-weight:600;color:var(--text);padding-top:2px}
.is-todo .p-stepper__label,.is-skipped .p-stepper__label{color:var(--muted);font-weight:500}
.p-stepper__sub{grid-column:2;font-size:.84rem;color:var(--muted)}
.p-stepper--h{grid-auto-flow:column;grid-auto-columns:1fr;overflow-x:auto}
.p-stepper--h li{grid-template-columns:1fr;justify-items:start;padding:0 12px 0 0}
.p-stepper--h li:not(:last-child)::after{left:30px;right:6px;top:12px;bottom:auto;width:auto;height:2px}

/* definition lists, conversation, timeline */
.p-facts{display:grid;grid-template-columns:150px 1fr;gap:9px 16px;margin:0;font-size:.92rem}
.p-facts dt{color:var(--muted)}
.p-split>:last-child .p-facts{grid-template-columns:1fr;gap:2px}.p-split>:last-child .p-facts dt{margin-top:10px}
.p-facts dd{margin:0;color:var(--text);min-width:0;overflow-wrap:anywhere}
.p-thread{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:14px}
.p-msg{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px}
.p-msg--staff{border-left:3px solid var(--signal)}
.p-msg--system{background:transparent;border-style:dashed;font-size:.88rem;color:var(--muted)}
.p-msg__meta{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:.8rem;color:var(--muted);margin-bottom:.5rem}
.p-msg__meta b{color:var(--text)}
.p-msg__body{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text)}
.p-timeline{list-style:none;margin:0;padding:0;border-left:2px solid var(--line-2)}
.p-timeline li{position:relative;padding:0 0 16px 18px;font-size:.9rem}
.p-timeline li::before{content:"";position:absolute;left:-6px;top:6px;width:10px;height:10px;border-radius:50%;background:var(--line-2)}
.p-timeline li.is-done::before{background:var(--ink)}
.p-timeline li.is-current::before{background:var(--signal);box-shadow:0 0 0 4px var(--signal-soft)}
.p-timeline b{color:var(--text);display:block}
.p-timeline time{font-size:.8rem;color:var(--muted)}

/* prose: articles, terms, lessons */
.p-prose{max-width:46rem;color:var(--body);font-size:1rem;line-height:1.7}
.p-prose>*:first-child{margin-top:0}
.p-prose h2{font:380 1.6rem/1.25 var(--f-display);margin:2.2rem 0 .7rem;letter-spacing:-.01em}
.p-prose h3{font:600 1.08rem/1.35 var(--f-sans);margin:1.8rem 0 .5rem}
.p-prose h4{margin:1.4rem 0 .4rem}
.p-prose ul,.p-prose ol{padding-left:1.3rem;margin:0 0 1rem}
.p-prose li{margin-bottom:.4rem}
.p-prose li>p{margin:0 0 .4rem}
.p-prose a{color:var(--text);text-decoration-color:var(--signal);text-decoration-thickness:1.5px}
.p-prose code{background:var(--paper-2);padding:.12em .38em;border-radius:5px;color:var(--text);overflow-wrap:anywhere}
.p-prose pre{position:relative;background:var(--ink);color:#e6e9ee;border-radius:10px;padding:16px 18px;overflow-x:auto;font:400 .84rem/1.6 var(--f-mono);margin:0 0 1.2rem}
.p-prose pre code{background:none;padding:0;color:inherit;font-size:inherit}
.p-prose blockquote{margin:0 0 1rem;padding:2px 0 2px 16px;border-left:3px solid var(--line-2);color:var(--muted)}
.p-prose table{border-collapse:collapse;width:100%;font-size:.9rem;margin:0 0 1.2rem;display:block;overflow-x:auto}
.p-prose th,.p-prose td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
.p-prose th{background:var(--paper-3);font-weight:600;color:var(--text)}
.p-prose img{border:1px solid var(--line);border-radius:10px;display:block;margin:0 0 .4rem}
.p-prose figure{margin:0 0 1.2rem}
.p-prose figcaption{font-size:.84rem;color:var(--muted)}
.p-prose hr{margin:2rem 0}
.p-prose ol.p-steps-list{list-style:none;counter-reset:st;padding:0}
.p-prose ol.p-steps-list>li{counter-increment:st;position:relative;padding:0 0 1rem 2.6rem}
.p-prose ol.p-steps-list>li::before{content:counter(st);position:absolute;left:0;top:0;width:1.75rem;height:1.75rem;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font:600 .8rem/1 var(--f-sans)}
.p-callout{display:flex;gap:12px;border-radius:10px;padding:14px 16px;margin:0 0 1.2rem;border:1px solid var(--line);background:var(--paper-3);font-size:.94rem}
.p-callout>.p-i{margin-top:3px}
.p-callout p:last-child{margin:0}
.p-callout--note{background:var(--info-soft);border-color:var(--info-line);color:var(--info-ink)}
.p-callout--warn{background:var(--warn-soft);border-color:var(--warn-line);color:var(--warn-ink)}
.p-callout--tip{background:var(--ok-soft);border-color:var(--ok-line);color:var(--ok-ink)}
.p-callout--result{background:var(--white);border-color:var(--line-2);border-left:3px solid var(--ok)}
.p-callout b:first-child{display:block;margin-bottom:2px}
.p-copy{position:absolute;top:8px;right:8px;background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:6px;font:500 .72rem var(--f-sans);padding:4px 8px;cursor:pointer}
.p-copy:hover{background:rgba(255,255,255,.2)}

/* reading layout: side navigation, article, contents (docs, academy lessons, trust) */
.r-layout{display:grid;grid-template-columns:260px minmax(0,1fr) 220px;gap:40px;align-items:start}
.r-layout--2{grid-template-columns:260px minmax(0,1fr)}
.r-nav{position:sticky;top:calc(var(--top) + 20px);max-height:calc(100vh - var(--top) - 40px);overflow-y:auto;font-size:.9rem;padding-right:6px}
.r-nav__h{font:500 .68rem/1.4 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin:18px 0 6px}
.r-nav__h:first-child{margin-top:0}
.r-nav ul{list-style:none;margin:0;padding:0}
.r-nav a{display:block;padding:6px 10px;border-radius:7px;color:var(--body);text-decoration:none;line-height:1.4}
.r-nav a:hover{background:var(--paper-2);color:var(--text)}
.r-nav a[aria-current=page]{background:var(--white);color:var(--text);font-weight:600;box-shadow:var(--sh-1),inset 3px 0 0 var(--signal)}
.r-toc{position:sticky;top:calc(var(--top) + 20px);font-size:.84rem}
.r-toc__h{font:500 .68rem/1.4 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin:0 0 8px}
.r-toc ol{list-style:none;margin:0;padding:0;border-left:1px solid var(--line-2)}
.r-toc a{display:block;padding:4px 0 4px 12px;margin-left:-1px;border-left:2px solid transparent;color:var(--muted);text-decoration:none}
.r-toc a:hover{color:var(--text)}
.r-toc a.is-active{color:var(--text);border-color:var(--signal)}
.r-toc .r-toc__sub a{padding-left:24px}
.r-meta{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:.84rem;color:var(--muted);padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 0 28px}
.r-meta span{display:inline-flex;align-items:center;gap:6px}
.r-meta .p-i{width:15px;height:15px}
.r-foot{margin-top:40px;padding-top:24px;border-top:1px solid var(--line)}
.r-next{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:28px}
.r-next a{display:block;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:var(--white);text-decoration:none}
.r-next a:hover{border-color:var(--line-3)}
.r-next small{display:block;color:var(--muted);font-size:.78rem}
.r-next b{color:var(--text)}
.r-next a:last-child{text-align:right}

/* search results */
.p-results{list-style:none;margin:0;padding:0}
.p-results li{padding:16px 0;border-bottom:1px solid var(--line)}
.p-results a{font-weight:600;font-size:1.02rem}
.p-results p{margin:4px 0 0;font-size:.9rem;color:var(--muted)}
.p-results mark{background:var(--signal-soft);color:inherit;padding:0 2px;border-radius:3px}
.p-results__path{font-size:.78rem;color:var(--faint);margin-bottom:2px;display:block}

/* dialog (confirmations from portal.js) */
.p-dialog{border:0;border-radius:var(--r-lg);padding:0;max-width:440px;width:calc(100% - 32px);box-shadow:var(--sh-2);color:var(--body)}
.p-dialog::backdrop{background:rgba(11,15,20,.45)}
.p-dialog__body{padding:24px 24px 8px}
.p-dialog__body h2{font:600 1.1rem/1.35 var(--f-sans);margin:0 0 8px}
.p-dialog__body p{margin:0 0 4px;color:var(--muted)}
.p-dialog__foot{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px 22px}

/* unsaved changes bar */
.p-dirty{position:sticky;bottom:0;z-index:30;display:none;align-items:center;gap:12px;justify-content:space-between;padding:12px 18px;margin:20px 0 0;background:var(--ink);color:#fff;border-radius:12px;box-shadow:var(--sh-2);font-size:.9rem}
.p-dirty.is-on{display:flex}
.p-dirty p{margin:0}
.p-draftnote{display:none}
.p-draftnote.is-on{display:block}

/* footer */
.p-foot{background:var(--ink);color:rgba(255,255,255,.6);font-size:.86rem;margin-top:auto}
.p-foot__cols{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:32px;padding:44px 0 28px}
.p-foot__brand p{margin:14px 0 0;max-width:34ch;color:rgba(255,255,255,.55)}
.p-foot__h{font:500 .68rem/1.4 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.45);margin:0 0 10px}
.p-foot ul{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.p-foot a{color:rgba(255,255,255,.78);text-decoration:none}.p-foot a:hover{color:#fff}
.p-foot__base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:18px 0 22px;border-top:1px solid rgba(255,255,255,.1)}
.p-foot__base p,.p-foot__in p{margin:0;display:flex;flex-wrap:wrap;gap:18px}
.p-foot__in{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:18px;padding-bottom:18px}
.p-foot--slim{font-size:.82rem}

/* skeleton for content that loads after the page */
.p-skel{display:block;height:14px;border-radius:6px;background:linear-gradient(90deg,var(--paper-2),var(--paper),var(--paper-2));background-size:200% 100%;animation:p-skel 1.4s infinite}
@keyframes p-skel{to{background-position:-200% 0}}

/* ------------------------------------------------------------------ responsive */
@media (max-width:1100px){
  .r-layout{grid-template-columns:240px minmax(0,1fr)}
  .r-toc{display:none}
  .p-cols--3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  :root{--side:0px}
  .w-shell{grid-template-columns:minmax(0,1fr);background:none}
  .w-side{background:var(--paper-3)}
  .w-side{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line);padding:8px 12px;display:flex;gap:4px;overflow-x:auto;scrollbar-width:thin;white-space:nowrap;-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)}
  .p-nav,.p-tabs{-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)}
  .r-layout,.r-layout--2{display:flex;flex-direction:column;align-items:stretch}
  .r-layout>*,.r-layout--2>*{min-width:0;max-width:100%!important;width:auto}
  .r-layout>.r-nav:not(.d-nav){order:2}
  .w-side__group{display:contents}
  .w-side__label,.w-side__org{display:none}
  .w-side__link{flex:0 0 auto;padding:8px 12px}
  .w-side__link[aria-current=page]{box-shadow:var(--sh-1),inset 0 -2px 0 var(--signal)}
  .w-main{padding-top:22px}
  .p-search input{width:44px;padding-right:0;color:transparent;cursor:pointer}
  .p-search input:focus{width:min(70vw,320px);color:#fff;padding-right:12px;cursor:text}
  .p-search__kbd{display:none}
  .p-menu__name{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .r-layout,.r-layout--2{grid-template-columns:1fr}
  .r-nav{position:static;max-height:none;border:1px solid var(--line);border-radius:var(--r);padding:10px;background:var(--white)}
  .p-foot__cols{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
  .p-cols,.p-cols--3,.p-split,.p-split--wide,.p-grid,.p-grid--3{grid-template-columns:minmax(0,1fr)}
  .p-cols>*,.p-split>*,.p-grid>*{min-width:0}
  .p-top__in{gap:10px 14px}
  .p-top__in:not(.p-top__in--full){flex-wrap:wrap;padding-top:8px;padding-bottom:8px}
  .p-nav{order:3;width:100%;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none;margin:0 -6px}
  .p-facts{grid-template-columns:1fr;gap:2px}.p-facts dt{margin-top:10px}
  h1{font-size:2rem}
  .p-head__row{align-items:flex-start}
  .r-next{grid-template-columns:1fr}
  .p-table--stack thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .p-table--stack,.p-table--stack tbody,.p-table--stack tr,.p-table--stack td{display:block;width:100%}
  .p-table--stack tr{padding:12px 16px;border-bottom:1px solid var(--line)}
  .p-table--stack tr:last-child{border-bottom:0}
  .p-table--stack td{border:0;padding:3px 0;display:grid;grid-template-columns:minmax(96px,38%) 1fr;gap:10px;text-align:left!important}
  .p-table--stack td>*{grid-column:2}
  .p-table--stack td::before{content:attr(data-label);font:500 .68rem/1.6 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
  .p-card--flush .p-table--stack td{padding-left:0!important;padding-right:0!important}
  .p-list>li{flex-wrap:wrap}
  .p-list__side{width:100%;padding-left:48px}
}
@media (max-width:560px){
  .p-top .p-logo__word{display:none}
  .p-logo__sub{border-left:0;padding-left:0}
  .p-foot__cols{grid-template-columns:1fr}
  .p-kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
  .p-btn{white-space:normal;text-align:center;line-height:1.25;padding-top:10px;padding-bottom:10px}
  .p-stepper--h{grid-auto-flow:row;grid-auto-columns:auto;overflow:visible}
  .p-stepper--h li{grid-template-columns:26px 1fr;padding:0 0 18px}
  .p-stepper--h li:not(:last-child)::after{left:12px;right:auto;top:26px;bottom:2px;width:2px;height:auto}
  .p-btn-row .p-btn{flex:1 1 auto}
  .p-apps__panel{position:fixed;left:8px;right:8px;top:calc(var(--top) + 4px);width:auto}
  .p-menu__panel{position:fixed;left:8px;right:8px;top:calc(var(--top) + 4px)}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
@media print{
  .p-top,.w-side,.p-foot,.p-head__actions,.p-btn,.r-nav,.r-toc{display:none!important}
  body.p-body{background:#fff}
  .w-shell{display:block;background:none}
  .p-card form{display:none}
  .p-card{box-shadow:none;break-inside:avoid}
}

/* two-step verification */
.p-qr{margin:10px 0 8px;display:inline-block;padding:10px;background:#fff;border:1px solid var(--line);border-radius:12px}
.p-qr__svg{display:block;width:200px;height:200px}
.p-codes{background:var(--paper-3)!important;color:var(--text)!important;border:1px dashed var(--line-3);border-radius:10px;padding:14px 18px;font:500 .95rem/1.9 var(--f-mono);columns:2;position:relative}

/* ---- academy.css ---- */
/* ------------------------------------------------------------------ academy.moraph.com (a- components) */
.p-academy .a-section{margin:44px 0 0}
.p-academy .a-section__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 16px;flex-wrap:wrap}
.p-academy .a-section__head h2{font:380 1.6rem/1.2 var(--f-display);letter-spacing:-.01em;margin:0}
.p-academy .a-section__head a{display:inline-flex;align-items:center;gap:6px;font-size:.9rem;font-weight:600;color:var(--text);text-decoration:none}
.p-academy .a-section__head a:hover{text-decoration:underline;text-decoration-color:var(--signal)}
.p-academy .a-section__head .p-i{width:15px;height:15px}

/* hero */
.p-academy .a-hero{margin-bottom:12px}
.p-academy .a-hero h1{max-width:20ch}
.p-academy .a-hero .p-hero__search .p-btn{height:52px;padding:0 24px}
.p-academy .a-hero__aud{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.p-academy .a-hero__aud a{color:#fff;text-decoration:none;font-size:.86rem;padding:7px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.04)}
.p-academy .a-hero__aud a:hover{border-color:var(--signal);background:rgba(255,91,31,.12)}

/* course cards */
.p-academy .a-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
.p-academy .a-course{position:relative;display:flex;flex-direction:column;gap:10px;background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:20px 20px 18px;text-decoration:none;color:var(--body);box-shadow:var(--sh-1);transition:border-color .15s,transform .15s var(--ease),box-shadow .15s;min-width:0}
.p-academy .a-course:hover{border-color:var(--line-3);transform:translateY(-2px);box-shadow:var(--sh-2);color:var(--body)}
.p-academy .a-course::before{content:"";position:absolute;left:20px;right:20px;top:0;height:3px;border-radius:0 0 3px 3px;background:var(--signal);opacity:0;transition:opacity .15s}
.p-academy .a-course:hover::before,.p-academy .a-course:focus-visible::before{opacity:1}
.p-academy .a-course__top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.p-academy .a-course__product{font:500 .68rem/1.4 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--signal-ink)}
.p-academy .a-course__title{font:400 1.32rem/1.22 var(--f-display);color:var(--text);letter-spacing:-.005em}
.p-academy .a-course__summary{font-size:.9rem;color:var(--muted);line-height:1.5}
.p-academy .a-course__meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.8rem;color:var(--body);margin-top:auto;padding-top:6px}
.p-academy .a-course__meta span{display:inline-flex;align-items:center;gap:5px}
.p-academy .a-course__meta .p-i{width:14px;height:14px;color:var(--muted)}
.p-academy .a-course__aud{font-size:.78rem;color:var(--faint)}
.p-academy .a-course__assigned{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;font-size:.78rem;font-weight:600;color:var(--info-ink);background:var(--info-soft);border:1px solid var(--info-line);border-radius:999px;padding:3px 10px}
.p-academy .a-course__assigned .p-i{width:13px;height:13px}
.p-academy .a-course__prog{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--line);padding-top:12px;margin-top:2px}
.p-academy .a-course__prog .p-progress progress::-webkit-progress-value{background:var(--signal)}
.p-academy .a-course__prog .p-progress progress::-moz-progress-bar{background:var(--signal)}
.p-academy .a-level{display:inline-flex;align-items:center;gap:4px;font:500 .66rem/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;padding:5px 8px 5px 6px;border-radius:999px;background:var(--paper-2);color:var(--text);white-space:nowrap}
.p-academy .a-level .p-i{width:11px;height:11px}
.p-academy .a-level--practitioner{background:var(--info-soft);color:var(--info-ink)}
.p-academy .a-level--advanced{background:var(--ink);color:#fff}
.p-academy .a-state{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;font-weight:600;color:var(--text)}
.p-academy .a-state .p-i{width:15px;height:15px;color:var(--signal-ink)}
.p-academy .a-state--done{color:var(--ok-ink)}.p-academy .a-state--done .p-i{color:var(--ok)}
.p-academy .a-state--todo{color:var(--muted);font-weight:500}

/* resume list (home, My learning) */
.p-academy .a-resume-list{display:grid;gap:12px}
.p-academy .a-resume{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;text-decoration:none;color:var(--body);box-shadow:var(--sh-1);transition:border-color .15s,box-shadow .15s}
.p-academy .a-resume:hover{border-color:var(--line-3);box-shadow:var(--sh-2)}
.p-academy .a-resume__icon{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--ink);color:#fff}
.p-academy .a-resume__icon .p-i{width:18px;height:18px}
.p-academy .a-resume__main{display:grid;gap:6px;min-width:0}
.p-academy .a-resume__title{font-weight:600;color:var(--text);font-size:1.02rem}
.p-academy .a-resume__meta{font-size:.8rem;color:var(--muted)}
.p-academy .a-resume__go{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--text);font-size:.9rem;white-space:nowrap}
.p-academy .a-resume .p-progress progress::-webkit-progress-value{background:var(--signal)}
.p-academy .a-resume .p-progress progress::-moz-progress-bar{background:var(--signal)}

/* learning paths */
.p-academy .a-paths{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
.p-academy .a-path{display:flex;flex-direction:column;gap:10px;background:var(--ink);color:rgba(255,255,255,.74);border-radius:var(--r);padding:22px;text-decoration:none;position:relative;overflow:hidden;transition:transform .15s var(--ease),box-shadow .15s}
.p-academy .a-path::after{content:"";position:absolute;inset:0;background:radial-gradient(70% 90% at 100% 0,rgba(255,91,31,.2),transparent 60%);pointer-events:none}
.p-academy .a-path>*{position:relative;z-index:1}
.p-academy .a-path:hover{transform:translateY(-2px);box-shadow:var(--sh-2);color:rgba(255,255,255,.8)}
.p-academy .a-path__aud{display:inline-flex;align-items:center;gap:6px;font:500 .68rem/1.4 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--signal)}
.p-academy .a-path__aud .p-i{width:14px;height:14px}
.p-academy .a-path__title{font:400 1.45rem/1.2 var(--f-display);color:#fff}
.p-academy .a-path__summary{font-size:.9rem;line-height:1.5}
.p-academy .a-path__meta{font-size:.8rem;color:rgba(255,255,255,.6);margin-top:auto}
.p-academy .a-path__prog{display:grid;gap:4px}
.p-academy .a-path__prog progress{background:rgba(255,255,255,.15)}
.p-academy .a-path__prog progress::-webkit-progress-bar{background:rgba(255,255,255,.15)}
.p-academy .a-path__prog progress::-webkit-progress-value{background:var(--signal)}
.p-academy .a-path__prog progress::-moz-progress-bar{background:var(--signal)}
.p-academy .a-path__prog .p-progress__text{color:#fff}
.p-academy .a-path__progtext{font-size:.78rem;color:rgba(255,255,255,.7)}

.p-academy .a-how>h2{font:380 1.6rem/1.2 var(--f-display);letter-spacing:-.01em;margin:0 0 16px}
.p-academy .a-how .p-steps{margin-bottom:20px}
.p-academy .a-signin{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:24px 26px}
.p-academy .a-signin h2{font:380 1.4rem/1.2 var(--f-display)}
.p-academy .a-signin p{margin:0;color:var(--muted);max-width:52ch}

/* the not-a-certification statement */
.p-academy .a-notcert{display:flex;gap:14px;align-items:flex-start;border:1px solid var(--warn-line);background:var(--warn-soft);color:var(--warn-ink);border-radius:var(--r);padding:16px 18px;margin:0 0 16px}
.p-academy .a-notcert>.p-i{width:22px;height:22px;flex:0 0 auto;margin-top:1px}
.p-academy .a-notcert p{margin:0;font-size:.9rem;line-height:1.55}
.p-academy .a-notcert .a-notcert__h{font-weight:700;font-size:.95rem;margin-bottom:3px;color:var(--warn-ink)}
.p-academy .a-notcert--compact{padding:12px 14px}
.p-academy .a-notcert--compact p{font-size:.84rem}

/* catalog */
.p-academy .a-filters .p-field label{font-size:.8rem}
.p-academy .a-chips{display:flex;flex-wrap:wrap;gap:8px;margin:-6px 0 14px}
.p-academy .a-chip{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;padding:5px 8px 5px 12px;border-radius:999px;background:var(--ink);color:#fff;text-decoration:none}
.p-academy .a-chip .p-i{width:13px;height:13px}
.p-academy .a-chip:hover{background:var(--ink-3);color:#fff}
.p-academy .a-chip--clear{background:transparent;color:var(--text);border:1px solid var(--line-2);padding-right:12px}
.p-academy .a-chip--clear:hover{background:var(--white);color:var(--text)}
.p-academy .a-count{font-size:.86rem;color:var(--muted);margin:0 0 14px}

/* course page */
.p-academy .a-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;font-size:.88rem;color:var(--body);margin-top:6px}
.p-academy .a-meta span{display:inline-flex;align-items:center;gap:6px}
.p-academy .a-meta .p-i{width:15px;height:15px;color:var(--muted)}
.p-academy .a-meta .a-level .p-i{color:inherit}
.p-academy .a-coursegrid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:32px;align-items:start}
.p-academy .a-courseside{position:sticky;top:calc(var(--top) + 20px);display:grid;gap:16px}
.p-academy .a-block{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:clamp(18px,2.6vw,28px);margin:0 0 18px;box-shadow:var(--sh-1)}
.p-academy .a-block>h2{font:380 1.45rem/1.2 var(--f-display);margin-bottom:12px}
.p-academy .a-block__sub{color:var(--muted);font-size:.88rem;margin:-6px 0 16px}
.p-academy .a-block .p-prose{max-width:none}
.p-academy .a-ticks{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.p-academy .a-ticks li{display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:start}
.p-academy .a-ticks li>.p-i{width:18px;height:18px;margin-top:3px;color:var(--ok)}
.p-academy .a-ticks--plain li>.p-i{color:var(--muted)}
.p-academy .a-tags{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.p-academy .a-tags li{font-size:.84rem;padding:6px 12px;border-radius:999px;background:var(--paper);border:1px solid var(--line-2);color:var(--text)}
.p-academy .a-syl{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.p-academy .a-syl__mod h3{display:flex;flex-direction:column;gap:2px;font:600 1rem/1.3 var(--f-sans);margin:0 0 8px}
.p-academy .a-syl__n{font:500 .66rem/1.4 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}
.p-academy .a-syl__lessons{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.p-academy .a-syl__lessons li+li{border-top:1px solid var(--line)}
.p-academy .a-syl__lessons a,.p-academy .a-syl__lessons li>span{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;color:var(--body);text-decoration:none}
.p-academy .a-syl__lessons li>span{grid-template-columns:auto minmax(0,1fr) auto}
.p-academy .a-syl__lessons a:hover{background:var(--paper-3)}
.p-academy .a-syl__kind{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--paper);color:var(--signal-ink)}
.p-academy .a-syl__kind .p-i{width:16px;height:16px}
.p-academy .a-syl__title{font-weight:500;color:var(--text)}
.p-academy .a-syl__meta{font-size:.78rem;color:var(--muted);white-space:nowrap}
.p-academy .a-mark{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;border:2px solid var(--line-3);flex:0 0 auto;background:var(--white)}
.p-academy .a-mark .p-i{width:12px;height:12px;color:#fff}
.p-academy .a-mark--done{background:var(--ok);border-color:var(--ok)}
.p-academy .a-mark--started{border-color:var(--signal);background:conic-gradient(var(--signal) 0 50%,var(--white) 50% 100%)}
.p-academy .a-versions{margin:0;padding-left:18px;font-size:.9rem;color:var(--body)}
.p-academy .a-versions li{margin-bottom:4px}
.p-academy .a-actioncard{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px;box-shadow:var(--sh-2);display:grid;gap:14px}
.p-academy .a-actioncard .p-facts{margin:4px 0 0;font-size:.86rem}
.p-academy .a-actioncard .p-facts{grid-template-columns:1fr;gap:2px}.p-academy .a-actioncard .p-facts dt{margin-top:8px;font:500 .66rem/1.4 var(--f-mono);letter-spacing:.12em;text-transform:uppercase}.p-academy .a-actioncard .p-facts dt:first-child{margin-top:0}
.p-academy .a-actioncard__cert{display:flex;gap:8px;margin:0;padding:10px 12px;border-radius:10px;background:var(--warn-soft);color:var(--warn-ink);font-size:.8rem;line-height:1.45}.p-academy .a-actioncard__cert .p-i{width:15px;height:15px;flex:0 0 auto;margin-top:2px}.p-academy .a-actioncard__cert a{color:inherit}
.p-academy .a-actioncard__note{font-size:.8rem;color:var(--muted);margin:-4px 0 0}
.p-academy .a-actioncard__prog p{margin:6px 0 0;font-size:.84rem;color:var(--muted)}
.p-academy .a-actioncard .p-progress progress::-webkit-progress-value{background:var(--signal)}
.p-academy .a-actioncard .p-progress progress::-moz-progress-bar{background:var(--signal)}
.p-academy .a-actioncard form{display:block}
.p-academy .a-actioncard .p-inline{display:block}
.p-academy .a-actioncard .p-inline .p-btn{width:100%}
.p-academy .a-done{display:flex;align-items:center;gap:8px;margin:0;font-weight:600;color:var(--ok-ink)}
.p-academy .a-done .p-i{color:var(--ok);width:20px;height:20px}
.p-academy .a-assigned{display:flex;gap:12px;align-items:flex-start;background:var(--info-soft);border:1px solid var(--info-line);color:var(--info-ink);border-radius:10px;padding:12px 14px;font-size:.88rem;margin:0 0 16px}
.p-academy .a-assigned>.p-i{width:18px;height:18px;margin-top:2px;flex:0 0 auto}
.p-academy .a-assigned b{display:block}
.p-academy .a-assigned p{margin:4px 0 0;font-style:italic}
.p-academy .a-actioncard .a-assigned{margin:0}
.p-academy .a-sidebox{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px}
.p-academy .a-sidebox__h{font:500 .68rem/1.4 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin:0 0 8px}
.p-academy .a-sidebox ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.p-academy .a-sidebox a{display:flex;gap:8px;align-items:center;color:var(--text);font-weight:500;text-decoration:none}
.p-academy .a-sidebox a:hover{text-decoration:underline;text-decoration-color:var(--signal)}
.p-academy .a-sidebox .p-i{width:15px;height:15px;color:var(--signal-ink)}
.p-academy .a-due{display:inline-flex;align-items:center;gap:5px;font-size:.84rem;color:var(--body)}
.p-academy .a-due .p-i{width:14px;height:14px}
.p-academy .a-due--soon{color:var(--warn-ink);font-weight:600}
.p-academy .a-due--over{color:var(--err-ink);font-weight:600}

/* path page */
.p-academy .a-pathprog{max-width:520px;margin:0 0 16px}
.p-academy .a-pathprog p{margin:6px 0 0;font-size:.86rem;color:var(--muted)}
.p-academy .a-pathprog .p-progress progress::-webkit-progress-value{background:var(--signal)}
.p-academy .a-pathprog .p-progress progress::-moz-progress-bar{background:var(--signal)}
.p-academy .a-pathactions{margin:0 0 28px}
.p-academy .a-pathsteps{list-style:none;margin:0;padding:0;display:grid;gap:0;max-width:820px}
.p-academy .a-pathstep{display:grid;grid-template-columns:44px minmax(0,1fr);gap:16px;position:relative;padding-bottom:22px}
.p-academy .a-pathstep:not(:last-child)::before{content:"";position:absolute;left:21px;top:46px;bottom:4px;width:2px;background:var(--line-2)}
.p-academy .a-pathstep.is-done:not(:last-child)::before{background:var(--ok)}
.p-academy .a-pathstep__n{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:2px solid var(--line-3);background:var(--white);font:600 .95rem/1 var(--f-sans);color:var(--text)}
.p-academy .a-pathstep__n .p-i{width:18px;height:18px;color:#fff}
.p-academy .a-pathstep.is-done .a-pathstep__n{background:var(--ok);border-color:var(--ok)}
.p-academy .a-pathstep.is-current .a-pathstep__n{border-color:var(--signal);box-shadow:0 0 0 5px var(--signal-soft)}
.p-academy .a-pathstep__body{min-width:0}
.p-academy .a-pathstep__k{font:500 .66rem/1.4 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin:12px 0 8px}
.p-academy .a-pathnote{font-size:.86rem;color:var(--muted);max-width:60ch}

/* the lesson player */
.p-academy .a-player{display:grid;grid-template-columns:300px minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:start}
.p-academy .a-outline{position:sticky;top:calc(var(--top) + 20px);max-height:calc(100vh - var(--top) - 40px);overflow-y:auto;background:var(--white);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-1)}
.p-academy .a-outline>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;cursor:pointer;list-style:none;font-weight:600;color:var(--text);border-bottom:1px solid transparent}
.p-academy .a-outline>summary::-webkit-details-marker{display:none}
.p-academy .a-outline[open]>summary{border-bottom-color:var(--line)}
.p-academy .a-outline__sum{display:inline-flex;align-items:center;gap:8px}
.p-academy .a-outline__count{font:500 .7rem/1.3 var(--f-mono);letter-spacing:.06em;color:var(--muted);white-space:nowrap}
.p-academy .a-outline__in{padding:14px 12px 16px}
.p-academy .a-outline__course{display:flex;gap:8px;align-items:flex-start;font-weight:600;color:var(--text);text-decoration:none;font-size:.92rem;line-height:1.35;margin:0 4px 10px}
.p-academy .a-outline__course .p-i{width:15px;height:15px;margin-top:2px;flex:0 0 auto}
.p-academy .a-outline__course:hover{text-decoration:underline}
.p-academy .a-outline__in>.p-progress{margin:0 4px 6px}
.p-academy .a-outline__in .p-progress progress::-webkit-progress-value{background:var(--signal)}
.p-academy .a-outline__in .p-progress progress::-moz-progress-bar{background:var(--signal)}
.p-academy .a-outline .r-nav__h{margin:16px 4px 6px;line-height:1.5}
.p-academy .a-outline ul{list-style:none;margin:0;padding:0}
.p-academy .a-outline li a{display:grid;grid-template-columns:20px minmax(0,1fr);gap:4px 10px;align-items:start;padding:8px;border-radius:8px;color:var(--body);text-decoration:none;font-size:.88rem;line-height:1.35}
.p-academy .a-outline li a:hover{background:var(--paper-3)}
.p-academy .a-outline li a[aria-current=page]{background:var(--paper);box-shadow:inset 3px 0 0 var(--signal);color:var(--text);font-weight:600}
.p-academy .a-outline li .a-mark{margin-top:1px}
.p-academy .a-outline__m{grid-column:2;display:inline-flex;align-items:center;gap:5px;font-size:.74rem;color:var(--faint);font-weight:400}
.p-academy .a-outline__m .p-i{width:12px;height:12px}
.p-academy .a-lesson{min-width:0;max-width:46rem}
.p-academy .a-lesson__kicker{display:flex;flex-wrap:wrap;gap:6px 16px;font:500 .7rem/1.5 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}
.p-academy .a-lesson__kicker span{display:inline-flex;align-items:center;gap:5px}
.p-academy .a-lesson__kicker .p-i{width:13px;height:13px;color:var(--signal-ink)}
.p-academy .a-lesson__done{color:var(--ok-ink)!important}.p-academy .a-lesson__done .p-i{color:var(--ok)!important}
.p-academy .a-lesson__h{font-size:clamp(2rem,1.5rem + 1.6vw,2.7rem);margin-bottom:1.6rem;max-width:22ch}
.p-academy .a-lesson .p-prose{font-size:1.04rem;line-height:1.75}
.p-academy .a-lesson .p-prose h2{scroll-margin-top:90px}
.p-academy .a-tablewrap{overflow-x:auto;margin:0 0 1.2rem}
.p-academy .a-tablewrap table{display:table;margin:0;min-width:100%}
.p-academy .a-related{margin:36px 0 0;border:1px solid var(--line);border-radius:var(--r);background:var(--paper-3);padding:18px 20px}
.p-academy .a-related h2{display:flex;align-items:center;gap:8px;font:600 .95rem/1.3 var(--f-sans);margin:0 0 10px}
.p-academy .a-related h2 .p-i{width:17px;height:17px;color:var(--signal-ink)}
.p-academy .a-related ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.p-academy .a-related li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;align-items:baseline}
.p-academy .a-related a{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--text);text-decoration-color:var(--signal)}
.p-academy .a-related li span{font-size:.78rem;color:var(--faint)}
.p-academy .a-complete{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;margin:32px 0 0;padding:18px 20px;background:var(--white);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-1)}
.p-academy .a-complete__q{margin:0;font-weight:600;color:var(--text)}
.p-academy .a-complete__done{display:flex;align-items:center;gap:8px;margin:0;color:var(--ok-ink);font-weight:600}
.p-academy .a-complete__done .p-i{color:var(--ok);width:20px;height:20px}
.p-academy .a-lesson .r-next{margin-top:24px}
.p-academy .a-lesson .r-next small{display:flex;align-items:center;gap:4px}
.p-academy .a-lesson .r-next small .p-i{width:12px;height:12px}

/* video */
.p-academy .a-video{margin:0 0 1.6rem}
.p-academy .a-video__frame{position:relative;aspect-ratio:16/9;background:var(--ink);border-radius:var(--r);overflow:hidden}
.p-academy .a-video__frame iframe,.p-academy .a-video__frame video{position:absolute;inset:0;width:100%;height:100%;border:0}
.p-academy .a-video figcaption{display:flex;align-items:center;gap:6px;font-size:.8rem;color:var(--muted);margin-top:8px}
.p-academy .a-video figcaption .p-i{width:14px;height:14px}
.p-academy .a-transcript{border:1px solid var(--line);border-radius:var(--r);background:var(--white);margin:0 0 1.6rem}
.p-academy .a-transcript>summary{padding:12px 16px;font-weight:600;cursor:pointer;color:var(--text)}
.p-academy .a-transcript>.p-prose{padding:0 18px 12px;font-size:.95rem}

/* exercises */
.p-academy .a-exercise{margin:28px 0 0;background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:clamp(18px,2.6vw,26px);box-shadow:var(--sh-1)}
.p-academy .a-exercise>h2{display:flex;align-items:center;gap:8px;font:380 1.4rem/1.2 var(--f-display);margin-bottom:14px}
.p-academy .a-exercise>h2 .p-i{width:20px;height:20px;color:var(--signal-ink)}
.p-academy .a-checklist{border:0;padding:0;margin:0 0 18px;display:grid;gap:8px}
.p-academy .a-checkitem{display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:start;padding:12px 14px;border:1px solid var(--line-2);border-radius:10px;cursor:pointer;color:var(--text);line-height:1.5;transition:border-color .15s,background .15s}
.p-academy .a-checkitem:hover{border-color:var(--line-3)}
.p-academy .a-checkitem input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--ok)}
.p-academy .a-checkitem:has(input:checked){background:var(--ok-soft);border-color:var(--ok-line)}
.p-academy .a-checkitem:has(input:focus-visible){outline:2px solid var(--signal);outline-offset:2px}
.p-academy .a-checkitem code{background:var(--paper-2);padding:.1em .35em;border-radius:4px;font-size:.88em}
.p-academy .a-evidence{border-top:1px solid var(--line);padding-top:16px;margin:0 0 16px}
.p-academy .a-evidence h3{font-size:.95rem}
.p-academy .a-evidence p{font-size:.88rem;color:var(--muted)}
.p-academy .a-evidence__file{display:flex;align-items:center;gap:6px}
.p-academy .a-evidence__file a{color:var(--text);font-weight:600}

/* assessments */
.p-academy .a-afacts{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin:0 0 20px;padding:0}
.p-academy .a-afacts li{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:var(--white);border:1px solid var(--line);font-size:.88rem}
.p-academy .a-afacts .p-i{width:15px;height:15px;color:var(--signal-ink)}
.p-academy .a-attempts{margin:0 0 20px}
.p-academy .a-attempts h2{font:600 .95rem/1.3 var(--f-sans)}
.p-academy .a-attempts ol{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:10px;background:var(--white)}
.p-academy .a-attempts li{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;padding:10px 14px;font-size:.88rem}
.p-academy .a-attempts li+li{border-top:1px solid var(--line)}
.p-academy .a-attempts a{font-weight:600;color:var(--text)}
.p-academy .a-result{display:inline-flex;align-items:center;gap:5px;font-weight:600;font-size:.84rem}
.p-academy .a-result .p-i{width:15px;height:15px}
.p-academy .a-result--pass{color:var(--ok-ink)}.p-academy .a-result--pass .p-i{color:var(--ok)}
.p-academy .a-result--fail{color:var(--err-ink)}.p-academy .a-result--fail .p-i{color:var(--err)}
.p-academy .a-quiz{display:grid;gap:18px}
.p-academy .a-q{border:1px solid var(--line);border-radius:var(--r);background:var(--white);padding:20px 20px 18px;margin:0;box-shadow:var(--sh-1);min-width:0}
.p-academy .a-q.has-error{border-color:var(--err);box-shadow:0 0 0 3px var(--err-soft)}
.p-academy .a-q legend{display:contents}
.p-academy .a-q__n{display:block;font:500 .68rem/1.4 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--signal-ink);margin:0 0 6px}
.p-academy .a-q__prompt{display:block;font-weight:600;color:var(--text);font-size:1.02rem;line-height:1.5}
.p-academy .a-q__prompt p{margin:0 0 .4rem}
.p-academy .a-q__how{display:block;font-size:.82rem;color:var(--muted);margin:2px 0 12px}
.p-academy .a-q__opts{display:grid;gap:8px}
.p-academy .a-opt{display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:start;padding:12px 14px;border:1px solid var(--line-2);border-radius:10px;cursor:pointer;color:var(--text);line-height:1.45;transition:border-color .15s,background .15s}
.p-academy .a-opt:hover{border-color:var(--line-3);background:var(--paper-3)}
.p-academy .a-opt input{width:19px;height:19px;margin:1px 0 0;accent-color:var(--ink)}
.p-academy .a-opt:has(input:checked){border-color:var(--ink);background:var(--paper);box-shadow:inset 0 0 0 1px var(--ink)}
.p-academy .a-opt:has(input:focus-visible){outline:2px solid var(--signal);outline-offset:2px}
.p-academy .a-quiz__foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;padding:18px 20px;border-radius:var(--r);background:var(--ink);color:rgba(255,255,255,.75)}
.p-academy .a-quiz__foot p{margin:0;font-size:.88rem;max-width:52ch}
.p-academy .a-outcome{display:flex;gap:16px;align-items:flex-start;border-radius:var(--r);padding:20px 22px;margin:0 0 20px;border:1px solid}
.p-academy .a-outcome>.p-i{width:30px;height:30px;flex:0 0 auto}
.p-academy .a-outcome h2{font:380 1.5rem/1.2 var(--f-display);margin:0 0 4px}
.p-academy .a-outcome p{margin:0 0 12px}
.p-academy .a-outcome .p-btn-row{margin:0}
.p-academy .a-outcome--pass{background:var(--ok-soft);border-color:var(--ok-line);color:var(--ok-ink)}
.p-academy .a-outcome--pass h2{color:var(--ok-ink)}.p-academy .a-outcome--pass>.p-i{color:var(--ok)}
.p-academy .a-outcome--fail{background:var(--err-soft);border-color:var(--err-line);color:var(--err-ink)}
.p-academy .a-outcome--fail h2{color:var(--err-ink)}.p-academy .a-outcome--fail>.p-i{color:var(--err)}
.p-academy .a-review{max-width:50rem}
.p-academy .a-review__lede{color:var(--muted)}
.p-academy .a-review__list{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.p-academy .a-review__q{background:var(--white);border:1px solid var(--line);border-left:4px solid var(--ok);border-radius:var(--r);padding:18px 20px}
.p-academy .a-review__q--wrong{border-left-color:var(--err)}
.p-academy .a-review__head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px}
.p-academy .a-review__head .a-q__n{margin:0}
.p-academy .a-review__opts{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px}
.p-academy .a-review__opts li{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:10px;align-items:start;padding:9px 12px;border-radius:8px;border:1px solid var(--line);font-size:.92rem;color:var(--body)}
.p-academy .a-review__opts li.is-correct{background:var(--ok-soft);border-color:var(--ok-line);color:var(--ok-ink)}
.p-academy .a-review__opts li.is-wrong{background:var(--err-soft);border-color:var(--err-line);color:var(--err-ink)}
.p-academy .a-review__mark .p-i{width:16px;height:16px;margin-top:2px}
.p-academy .a-review__tags{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end}
.p-academy .a-review__tags b{font:500 .64rem/1.4 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;padding:3px 7px;border-radius:999px;background:var(--white);border:1px solid currentColor;white-space:nowrap}
.p-academy .a-review__why{display:flex;gap:10px;margin-top:12px;padding:12px 14px;border-radius:10px;background:var(--info-soft);color:var(--info-ink);font-size:.9rem}
.p-academy .a-review__why>.p-i{width:17px;height:17px;flex:0 0 auto;margin-top:3px}
.p-academy .a-review__why p{margin:0}

/* course complete */
.p-academy .a-celebrate{max-width:640px;margin:20px auto 0;text-align:center}
.p-academy .a-celebrate__badge{display:grid;place-items:center;width:96px;height:96px;margin:0 auto 22px;border-radius:50%;background:var(--ink);color:var(--signal);box-shadow:0 0 0 10px var(--signal-soft),0 0 0 22px rgba(255,91,31,.05);animation:a-pop .6s var(--ease) both}
.p-academy .a-celebrate__badge .p-i{width:44px;height:44px}
@keyframes a-pop{from{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}
.p-academy .a-celebrate .p-lede{margin-left:auto;margin-right:auto}
.p-academy .a-celebrate__actions{justify-content:center;margin:0 0 24px}
.p-academy .a-celebrate .a-notcert{text-align:left}
.p-academy .a-next{text-align:left;margin-top:24px}
.p-academy .a-next__k{font:500 .68rem/1.4 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin:0 0 8px}
.p-academy .a-next__c{display:grid;grid-template-columns:1fr auto;gap:2px 12px;align-items:center;padding:16px 18px;background:var(--white);border:1px solid var(--line);border-radius:var(--r);text-decoration:none;color:var(--body)}
.p-academy .a-next__c:hover{border-color:var(--line-3)}
.p-academy .a-next__c b{color:var(--text)}
.p-academy .a-next__c span{font-size:.84rem;color:var(--muted);grid-column:1}
.p-academy .a-next__c .p-i{grid-row:1/3;grid-column:2}

/* My learning */
.p-academy .a-assignlist{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.p-academy .a-assign{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:18px;align-items:center;background:var(--white);border:1px solid var(--line);border-left:4px solid var(--info);border-radius:var(--r);padding:16px 18px;box-shadow:var(--sh-1)}
.p-academy .a-assign__k{display:flex;align-items:center;gap:6px;font:500 .66rem/1.4 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 4px}
.p-academy .a-assign__k .p-i{width:13px;height:13px}
.p-academy .a-assign__t{font:400 1.25rem/1.25 var(--f-display);color:var(--text);text-decoration:none}
.p-academy .a-assign__t:hover{text-decoration:underline;text-decoration-color:var(--signal)}
.p-academy .a-assign__meta{display:flex;flex-wrap:wrap;gap:4px 16px;margin:6px 0 0;font-size:.82rem;color:var(--muted)}
.p-academy .a-assign__msg{margin:8px 0 0;font-size:.88rem;font-style:italic;color:var(--body)}
.p-academy .a-assign__side{display:grid;gap:6px;font-size:.8rem;color:var(--muted)}
.p-academy .a-assign__side .p-btn{justify-self:start}
.p-academy .a-pathrows{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.p-academy .a-pathrow{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:16px;align-items:center;background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:14px 18px}
.p-academy .a-pathrow__t{font-weight:600;color:var(--text);text-decoration:none}
.p-academy .a-pathrow__t:hover{text-decoration:underline}
.p-academy .a-pathrow__meta{margin:2px 0 0;font-size:.82rem;color:var(--muted)}
.p-academy .a-pathrow__meta a{color:var(--text)}
.p-academy .a-donelist{list-style:none;margin:0;padding:0;background:var(--white);border:1px solid var(--line);border-radius:var(--r)}
.p-academy .a-donelist li{display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px 16px}
.p-academy .a-donelist li+li{border-top:1px solid var(--line)}
.p-academy .a-donelist .p-i{color:var(--ok);width:18px;height:18px}
.p-academy .a-donelist a{color:var(--text);font-weight:500}
.p-academy .a-donelist li>span{font-size:.82rem;color:var(--muted)}
.p-academy .a-privacy{display:flex;gap:8px;align-items:flex-start;font-size:.84rem;color:var(--muted);margin:32px 0 0;max-width:70ch}
.p-academy .a-privacy .p-i{width:16px;height:16px;margin-top:2px;flex:0 0 auto}

/* certificates */
.p-academy .a-certwrap{max-width:900px;margin:0 auto}
.p-academy .a-certbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:0 0 18px}
.p-academy .a-certbar>a{display:inline-flex;align-items:center;gap:6px;color:var(--text);font-weight:600;text-decoration:none}
.p-academy .a-certbar .p-btn-row{margin:0}
.p-academy .a-cert{position:relative;background:var(--white);border:1px solid var(--line-2);border-radius:6px;padding:clamp(28px,6vw,64px) clamp(22px,6vw,72px);text-align:center;box-shadow:var(--sh-2);overflow:hidden}
.p-academy .a-cert::before{content:"";position:absolute;inset:12px;border:1px solid var(--line-2);border-radius:3px;pointer-events:none}
.p-academy .a-cert::after{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:linear-gradient(90deg,var(--ink) 0 70%,var(--signal) 70% 100%)}
.p-academy .a-cert.is-revoked{opacity:.55}
.p-academy .a-cert__top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 clamp(24px,5vw,48px)}
.p-academy .a-cert__brand{font:600 1rem/1 var(--f-sans);letter-spacing:.02em;color:var(--text)}
.p-academy .a-cert__kind{font:500 .7rem/1.4 var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--signal-ink)}
.p-academy .a-cert__lead{margin:0;color:var(--muted);font-size:.95rem}
.p-academy .a-cert__name{font:360 clamp(2rem,1.4rem + 3vw,3.2rem)/1.1 var(--f-display);color:var(--text);margin:10px 0 18px;letter-spacing:-.01em}
.p-academy .a-cert__course{font:400 clamp(1.3rem,1rem + 1.4vw,1.8rem)/1.25 var(--f-display);font-style:italic;color:var(--text);margin:10px auto 14px;max-width:28ch}
.p-academy .a-cert__date{color:var(--body);margin:0 0 clamp(24px,5vw,40px)}
.p-academy .a-cert__verify{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 40px;margin:0 0 24px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.p-academy .a-cert__verify dt{font:500 .64rem/1.4 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}
.p-academy .a-cert__verify dd{margin:2px 0 0;font-weight:600;color:var(--text);overflow-wrap:anywhere}
.p-academy .a-cert__fine{font-size:.78rem;color:var(--muted);max-width:62ch;margin:0 auto;line-height:1.55}

/* verification page */
.p-academy .a-verifypage{max-width:760px}
.p-academy .a-verifyform{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start;background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:18px 20px;margin:0 0 20px}
.p-academy .a-verifyform .p-field{flex:1 1 260px;margin:0}
.p-academy .a-verifyform input{font-family:var(--f-mono);letter-spacing:.06em;text-transform:uppercase}
.p-academy .a-verifyform .p-btn{margin-top:26px}
.p-academy .a-verify{display:flex;gap:16px;align-items:flex-start;border-radius:var(--r);border:1px solid;padding:20px 22px;margin:0 0 20px}
.p-academy .a-verify>.p-i{width:30px;height:30px;flex:0 0 auto}
.p-academy .a-verify h2{font:380 1.45rem/1.2 var(--f-display);margin:0 0 10px}
.p-academy .a-verify p{margin:0}
.p-academy .a-verify--ok{background:var(--ok-soft);border-color:var(--ok-line);color:var(--ok-ink)}.p-academy .a-verify--ok>.p-i{color:var(--ok)}.p-academy .a-verify--ok h2{color:var(--ok-ink)}
.p-academy .a-verify--bad,.p-academy .a-verify--none{background:var(--err-soft);border-color:var(--err-line);color:var(--err-ink)}.p-academy .a-verify--bad>.p-i,.p-academy .a-verify--none>.p-i{color:var(--err)}.p-academy .a-verify--bad h2,.p-academy .a-verify--none h2{color:var(--err-ink)}
.p-academy .a-verify__facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px;margin:0}
.p-academy .a-verify__facts dt{font:500 .64rem/1.4 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;opacity:.8}
.p-academy .a-verify__facts dd{margin:2px 0 0;font-weight:600;color:var(--text)}

/* team training */
.p-academy .a-tprog{display:grid;grid-template-columns:minmax(80px,1fr) auto;gap:10px;align-items:center;font-size:.82rem;color:var(--muted)}
.p-academy .a-tprog .p-progress__text{display:none}
.p-academy .a-kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:0 0 18px}
.p-academy .a-kv>div{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px}
.p-academy .a-kv dt{font:500 .66rem/1.4 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.p-academy .a-kv dd{margin:6px 0 0;font-weight:600;color:var(--text)}
.p-academy .a-quote{margin:0 0 18px;padding:12px 16px;border-left:3px solid var(--signal);background:var(--white);border-radius:0 10px 10px 0;font-style:italic;color:var(--body)}
.p-academy .a-people{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:4px 16px;max-height:340px;overflow-y:auto;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--paper-3)}
.p-academy .a-people .p-check{margin:0;padding:6px}
.p-academy .a-peoplefilter{max-width:340px;margin:0 0 10px}
.p-academy .a-reminded{font-size:.84rem;align-self:center}
.p-academy .p-head__actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}

/* help */
.p-academy .a-helplayout{margin-top:8px}

/* responsive */
@media (max-width:1100px){
  .p-academy .a-coursegrid{grid-template-columns:minmax(0,1fr) 300px}
  .p-academy .a-player{grid-template-columns:260px minmax(0,1fr)}
}
@media (max-width:900px){
  .p-academy .a-coursegrid{grid-template-columns:1fr}
  .p-academy .a-courseside{position:static;order:-1}
  .p-academy .a-player{grid-template-columns:1fr;gap:18px}
  .p-academy .a-outline{position:static;max-height:none}
  .p-academy .a-lesson{max-width:none}
}
@media (max-width:640px){
  .p-academy .a-grid,.p-academy .a-paths{grid-template-columns:1fr}
  .p-academy .a-resume{grid-template-columns:auto minmax(0,1fr);padding:14px}
  .p-academy .a-resume__go{grid-column:2;font-size:.84rem}
  .p-academy .a-resume__icon{width:38px;height:38px}
  .p-academy .a-assign,.p-academy .a-pathrow{grid-template-columns:1fr}
  .p-academy .a-syl__lessons a{grid-template-columns:auto auto minmax(0,1fr);row-gap:2px}
  .p-academy .a-syl__lessons li>span{grid-template-columns:auto minmax(0,1fr)}
  .p-academy .a-syl__meta{grid-column:-2/-1}
  .p-academy .a-outcome,.p-academy .a-verify{padding:16px}
  .p-academy .a-verify__facts{grid-template-columns:1fr}
  .p-academy .a-quiz__foot{padding:16px}
  .p-academy .a-quiz__foot .p-btn{width:100%}
  .p-academy .a-complete .p-inline,.p-academy .a-complete .p-btn,.p-academy .a-complete form{width:100%}
  .p-academy .a-hero__aud a{font-size:.8rem;padding:6px 12px}
  .p-academy .a-hero .p-hero__search{flex-direction:column}
  .p-academy .a-hero .p-hero__search .p-btn{height:46px}
  .p-academy .a-hero .p-hero__search .p-i{top:17px}
  .p-academy .a-review__opts li{grid-template-columns:22px minmax(0,1fr)}
  .p-academy .a-review__tags{grid-column:2;justify-content:flex-start}
  .p-academy .a-certbar .p-btn-row{width:100%}
  .p-academy .a-pathstep{grid-template-columns:36px minmax(0,1fr);gap:12px}
  .p-academy .a-pathstep__n{width:36px;height:36px}
  .p-academy .a-pathstep:not(:last-child)::before{left:17px;top:38px}
}
@media print{
  .p-academy.a-printcert .p-crumbs,.p-academy.a-printcert .a-certbar,.p-academy.a-printcert .p-note{display:none!important}
  .p-academy.a-printcert .p-main{padding:0}
  .p-academy .a-cert{box-shadow:none;border-color:#999;break-inside:avoid}
  .p-academy .a-player .a-outline,.p-academy .a-complete,.p-academy .r-next{display:none!important}
  .p-academy .a-player{display:block}
}
@media (prefers-reduced-motion:reduce){.p-academy .a-celebrate__badge{animation:none}.p-academy .a-course:hover,.p-academy .a-path:hover{transform:none}}

/* catalog filters: inline on wide screens, folded on phones */
.p-academy .a-morefilters{display:contents}
.p-academy .a-morefilters>summary{display:none}
.p-academy .a-morefilters__in{display:contents}
@media (max-width:640px){
  .p-academy .a-morefilters{display:block;flex:1 1 100%}
  .p-academy .a-morefilters>summary{display:flex;align-items:center;gap:8px;min-height:44px;cursor:pointer;font-weight:600;color:var(--text);list-style:none}
  .p-academy .a-morefilters>summary::-webkit-details-marker{display:none}
  .p-academy .a-morefilters__in{display:grid;gap:10px;padding-top:6px}
  .p-academy .a-filters>.p-btn{flex:1 1 100%}
}

/* keep the top bar on one line with four navigation items */
@media (min-width:861px){
  .p-academy .p-nav{flex-wrap:nowrap}
  .p-academy .p-nav a{white-space:nowrap}
  .p-academy .p-search input{width:min(20vw,240px)}
  .p-academy .p-menu__name{white-space:nowrap;max-width:14ch;overflow:hidden;text-overflow:ellipsis}
}
@media (min-width:861px) and (max-width:1180px){
  .p-academy .p-nav .p-nav__link{padding:8px 9px}
  .p-academy .p-menu__name{display:none}
}
.p-academy .a-lesson .r-next a:last-child small{justify-content:flex-end}

.p-academy .a-review__opts li.is-correct:not(.is-chosen){background:var(--white);border-style:dashed}
.p-academy h1.a-cert__kind{margin:0}
.p-academy .a-course__prog .p-status{font-size:.8rem}

/* ---- app.css ---- */
/* app.moraph.com (Moraph Apps): launcher, product workspace, settings. Scoped to .p-app; component prefix a-. */

/* ---------------------------------------------------------------- chrome */
.p-app .a-toplink{display:grid;place-items:center;width:36px;height:36px;border-radius:999px;color:rgba(255,255,255,.8)}
.p-app .a-toplink:hover{background:rgba(255,255,255,.08);color:#fff}
.p-app .a-sideorg{display:grid;gap:4px;margin-top:8px}
.p-app .a-sideorg a{font-size:.8rem;color:var(--signal-ink);text-decoration:underline;text-underline-offset:2px;margin-top:6px}
.p-app .a-h2{margin:8px 0 14px}
.p-app .a-pad{padding:14px clamp(18px,2.4vw,24px)}
.p-app .p-cols+.p-card,.p-app .p-cols+section{margin-top:20px}
.p-app .a-pre{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}
.p-app .a-overdue{color:var(--err)}
.p-app .a-links{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:8px}
.p-app .a-hero{margin-bottom:28px}
.p-app .a-count{margin:0 0 10px;font-size:.88rem}

/* ---------------------------------------------------------------- launcher */
.p-app .a-apps{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px;margin:0 0 28px}
.p-app .a-app{display:flex;flex-direction:column;gap:14px;background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:20px;box-shadow:var(--sh-1);min-width:0}
.p-app .a-app__top{display:flex;gap:14px;align-items:flex-start}
.p-app .a-app__mark{flex:0 0 auto;display:grid;place-items:center;width:44px;height:44px;border-radius:11px;background:var(--ink);color:#fff;font:600 .9rem/1 var(--f-mono);letter-spacing:.04em}
.p-app .a-app__id{min-width:0}
.p-app .a-app__id h3{margin:0 0 4px;font:600 1.05rem/1.3 var(--f-sans)}
.p-app .a-app__id h3 a{color:var(--text);text-decoration:none}
.p-app .a-app__id h3 a:hover{text-decoration:underline}
.p-app .a-app__purpose{margin:0;font-size:.88rem;color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.p-app .a-app__facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;margin:0;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.p-app .a-app__facts dt{font:500 .66rem/1.4 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin-bottom:3px}
.p-app .a-app__facts dd{margin:0;font-size:.86rem;min-width:0}
.p-app .a-app__facts .p-pill{white-space:nowrap}
.p-app .p-list__meta{display:block}
.p-app .a-app__note{display:flex;gap:8px;align-items:flex-start;margin:0;font-size:.84rem;color:var(--warn-ink);background:var(--warn-soft);border:1px solid var(--warn-line);border-radius:8px;padding:8px 10px}
.p-app .a-app__note .p-i{flex:0 0 auto;width:16px;height:16px;margin-top:2px}
.p-app .a-app__links{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.p-app .a-app__links a{display:inline-flex;align-items:center;min-height:30px;padding:4px 10px;border-radius:999px;background:var(--paper);border:1px solid var(--line);font-size:.82rem;color:var(--body);text-decoration:none}
.p-app .a-app__links a:hover{border-color:var(--line-3);color:var(--text)}
.p-app .a-app__open{align-self:flex-start;margin-top:auto}
.p-app .a-launch-cols{margin-bottom:20px}
.p-app .a-launch-foot{color:var(--muted)}

/* ---------------------------------------------------------------- product home: workflow */
.p-app .a-flow+.a-flow{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}
.p-app .a-flow__title{margin:0 0 10px;font:600 .95rem/1.3 var(--f-sans)}
.p-app .a-flow__stages{list-style:none;margin:0;padding:0;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(112px,1fr);gap:8px;overflow-x:auto;padding-bottom:4px}
.p-app .a-flow__stage a{position:relative;display:flex;flex-direction:column;gap:4px;height:100%;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--paper-3);text-decoration:none;color:var(--body)}
.p-app .a-flow__stage a:hover{border-color:var(--line-3);background:var(--white)}
.p-app .a-flow__stage a::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:0 3px 3px 0;background:var(--line-2)}
.p-app .a-flow__stage--new a::before{background:var(--info)}
.p-app .a-flow__stage--active a::before{background:var(--signal)}
.p-app .a-flow__stage--done a::before{background:var(--ok)}
.p-app .a-flow__n{font:360 1.7rem/1 var(--f-display);color:var(--text)}
.p-app .a-flow__name{font-size:.84rem;color:var(--muted)}
.p-app .a-setup{margin:0;padding-left:1.2rem;display:grid;gap:6px}
.p-app .a-rolenote{margin-bottom:18px}

/* ---------------------------------------------------------------- records list */
.p-app .a-views{margin-bottom:14px}
.p-app .a-filters{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;align-items:end}
.p-app .a-filters .p-field--grow{grid-column:span 2}
.p-app .a-filters__go{display:flex;gap:8px;align-items:flex-end;justify-content:flex-end;grid-column:-2/-1}
.p-app .a-saveview{margin:-6px 0 14px;font-size:.88rem}
.p-app .a-saveview summary{display:inline-flex;align-items:center;gap:6px;cursor:pointer;color:var(--signal-ink);font-weight:500;min-height:28px}
.p-app .a-saveview summary .p-i{width:16px;height:16px}
.p-app .a-inlineform{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 16px;margin:10px 0 4px;padding:14px;background:var(--white);border:1px solid var(--line);border-radius:var(--r)}
.p-app .a-inlineform .p-field{margin:0;flex:1 1 220px}
.p-app .a-viewnote{margin:-6px 0 12px}
.p-app .a-viewnote .p-inline{display:inline}

/* ---------------------------------------------------------------- record detail */
.p-app .a-progress .p-stepper{grid-auto-flow:column;grid-auto-columns:minmax(96px,1fr);overflow-x:auto;padding-bottom:6px}
.p-app .a-progress .p-stepper li{grid-template-columns:1fr;justify-items:start;padding:0 12px 0 0;gap:8px}
.p-app .a-progress .p-stepper li:not(:last-child)::after{left:32px;right:4px;top:12px;bottom:auto;width:auto;height:2px}
.p-app .a-progress .p-stepper__label{font-size:.86rem;padding:0}
.p-app .a-progress{margin:0 0 14px;min-width:0;max-width:100%;overflow-x:auto}
.p-app .a-record>*,.p-app .p-split>*{min-width:0}
.p-app .a-closednote{display:flex;gap:8px;align-items:center;margin:0 0 10px;font-size:.9rem}
.p-app .a-moves{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:14px;border-top:1px solid var(--line)}
.p-app .a-assign{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.p-app .a-assign .p-field{margin-bottom:10px}
.p-app .a-attach{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.p-app .a-attach .p-field{margin:0;flex:1 1 260px}
.p-app .a-files>li{padding:12px 0}
.p-app .a-history li{padding-bottom:12px}
.p-app .a-history__d{display:block;font-size:.84rem;color:var(--body)}
.p-app .a-record .p-thread{margin-bottom:16px}

/* edit conflict: both versions side by side */
.p-app .a-conflict{border-color:var(--warn-line);background:var(--warn-soft)}
.p-app .a-conflict:focus{outline:2px solid var(--warn);outline-offset:2px}
.p-app .a-conflict h2{display:flex;align-items:center;gap:8px;font:600 1.05rem/1.3 var(--f-sans);margin:0 0 8px;color:var(--warn-ink)}
.p-app .a-difftable{background:var(--white)}
.p-app .a-difftable tr.is-same td{color:var(--muted)}
.p-app .a-difftable tr.is-theirs th,.p-app .a-difftable tr.is-mine th{box-shadow:inset 3px 0 0 var(--info)}
.p-app .a-difftable tr.is-both th,.p-app .a-difftable tr.is-both td{background:#fff4e0}
.p-app .a-difftable tr.is-both th{box-shadow:inset 3px 0 0 var(--warn)}
.p-app .a-recform .p-form-foot{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center}
.p-app .a-recform .p-form-foot .p-small{flex-basis:100%;margin:0}

/* ---------------------------------------------------------------- settings */
.p-app .a-cfglist{list-style:none;margin:0;padding:0}
.p-app .a-cfg{display:flex;gap:14px;align-items:flex-start;justify-content:space-between;padding:14px clamp(18px,2.4vw,24px);border-bottom:1px solid var(--line)}
.p-app .a-cfg__main{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;min-width:0}
.p-app .a-cfg__main>.p-small{flex-basis:100%}
.p-app .a-cfg__side{display:flex;flex-wrap:wrap;gap:6px;align-items:flex-start;justify-content:flex-end}
.p-app .a-order{min-width:32px;justify-content:center}
.p-app .a-cfg__edit{position:relative}
.p-app .a-cfg__edit>summary,.p-app .a-add>summary{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:4px 12px;border:1px solid var(--line-2);border-radius:999px;cursor:pointer;font-size:.84rem;font-weight:500;background:var(--white);list-style:none}
.p-app .a-cfg__edit>summary::-webkit-details-marker,.p-app .a-add>summary::-webkit-details-marker{display:none}
.p-app .a-cfg__edit[open]>summary,.p-app .a-add[open]>summary{border-color:var(--text)}
.p-app .a-cfg__edit[open]{flex-basis:100%}
.p-app .a-cfg__edit>form{margin:12px 0;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--paper-3);min-width:min(420px,80vw)}
.p-app .a-add>summary .p-i{width:16px;height:16px}
.p-app .a-add>form{margin-top:14px}
.p-app .a-add+.a-add{margin-top:12px}
.p-app .a-danger{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.p-app .a-matrix-wrap{overflow-x:auto;max-width:100%}
.p-app .a-matrix-wrap:focus-visible{outline:2px solid var(--signal);outline-offset:2px}
.p-app .a-matrix-form,.p-app #moves,.p-app .w-main>*{min-width:0;max-width:100%}
.p-app .a-matrix th,.p-app .a-matrix td{text-align:center;white-space:nowrap}
.p-app .a-matrix th[scope=row]{text-align:left}
.p-app .a-matrix input{width:20px;height:20px;accent-color:var(--ink)}
.p-app .a-keyacts{display:flex;flex-wrap:wrap;gap:6px;align-items:flex-start}
.p-app .a-newkey h2{display:flex;align-items:center;gap:8px;font:600 1.05rem/1.3 var(--f-sans);margin:0 0 8px}
.p-app .a-newkey:focus{outline:2px solid var(--signal);outline-offset:2px}
.p-app .a-keybox{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:12px 0;padding:12px 14px;background:var(--ink);border-radius:10px}
.p-app .a-keybox code{flex:1 1 300px;color:#fff;font-size:.86rem;overflow-wrap:anywhere;user-select:all}
.p-app .a-keybox .p-btn{background:#fff}

/* ---------------------------------------------------------------- small screens */
@media (max-width:900px){
  .p-app .w-shell{grid-template-columns:minmax(0,1fr)}
  .p-app .w-shell>*{min-width:0;max-width:100vw}
  .p-app .w-side{overflow-x:auto}
  .p-app .a-sideorg{display:none}
  .p-app .a-apps{grid-template-columns:1fr}
  .p-app .a-filters__go{grid-column:1/-1;justify-content:flex-start}
}
@media (max-width:560px){
  .p-app .a-filters{grid-template-columns:1fr 1fr}
  .p-app .a-filters .p-field--grow{grid-column:1/-1}
  .p-app .a-app{padding:16px}
  .p-app .a-app__facts{grid-template-columns:1fr 1fr}
  .p-app .a-cfg{flex-direction:column}
  .p-app .a-cfg__side{justify-content:flex-start}
  .p-app .a-cfg__edit>form{min-width:0}
  .p-app .a-flow__stages{grid-auto-columns:minmax(100px,1fr)}
}

/* ---- careers.css ---- */
/* careers.moraph.com (appended to portal.css by build/build.py). Everything is scoped to .p-careers. Two groups:
   1. the careers host's own components (cr-*): heroes, job search, job pages, the application form, the application page;
   2. .cr-content: the pages ported from www keep their www markup (section, tile, timeline, faq, puzzle…), styled here
      in the platform's type and colour. */

/* ------------------------------------------------------------------ 1. careers components */
.p-careers .p-nav__link,.p-careers .p-who a{white-space:nowrap}
.p-careers .p-top__in:not(.p-top__in--full) .p-nav{flex-wrap:nowrap}
.p-careers .cr-h2{font:380 1.6rem/1.2 var(--f-display);letter-spacing:-.01em;margin:32px 0 14px}
.p-careers .cr-band{margin:44px 0 0}
.p-careers .cr-band>.p-section-h:first-child{margin-top:0}
.p-careers .cr-center{justify-content:center;text-align:center}
.p-careers .p-section-h h2{font-size:1.7rem}

/* hero: the dark band at the top of public pages */
.p-careers .cr-hero{position:relative;overflow:hidden;background:var(--ink);color:rgba(255,255,255,.76);border-radius:var(--r-lg);padding:clamp(28px,5vw,56px) clamp(22px,5vw,56px);margin:0 0 36px}
.p-careers .cr-hero::after{content:"";position:absolute;inset:0;background:radial-gradient(55% 95% at 100% 0,rgba(255,91,31,.24),transparent 62%),radial-gradient(40% 60% at 0 100%,rgba(255,255,255,.05),transparent 70%);pointer-events:none}
.p-careers .cr-hero>*{position:relative;z-index:1}
.p-careers .cr-hero .p-kicker{color:var(--signal)}
.p-careers .cr-hero .p-crumbs ol{color:rgba(255,255,255,.55);margin-bottom:18px}
.p-careers .cr-hero .p-crumbs a{color:rgba(255,255,255,.7)}
.p-careers .cr-hero .p-crumbs li+li::before{color:rgba(255,255,255,.3)}
.p-careers .cr-hero .p-crumbs [aria-current]{color:rgba(255,255,255,.9)}
.p-careers .cr-hero__title{color:#fff;font:340 clamp(2.2rem,1.4rem + 3vw,3.6rem)/1.06 var(--f-display);letter-spacing:-.02em;max-width:22ch;margin:0 0 .9rem}
.p-careers .cr-hero__lede{font-size:clamp(1rem,.95rem + .3vw,1.15rem);max-width:44rem;color:rgba(255,255,255,.78)}
.p-careers .cr-hero__lede p{margin:0 0 .6rem}
.p-careers .cr-hero__lede a,.p-careers .cr-hero a:not(.p-btn){color:#fff}
.p-careers .cr-hero .p-btn--ghost{color:#fff;border-color:rgba(255,255,255,.38)}
.p-careers .cr-hero .p-btn--ghost:hover{background:rgba(255,255,255,.08);border-color:#fff;color:#fff}
.p-careers .cr-hero--home{padding-top:clamp(40px,7vw,84px);padding-bottom:clamp(36px,6vw,64px)}
.p-careers .cr-hero--home .cr-hero__title{max-width:24ch;font-size:clamp(2.3rem,1.3rem + 3.6vw,4.1rem)}
.p-careers .cr-toc{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:26px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12)}
.p-careers .cr-toc__h{font:500 .68rem/1.4 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-right:6px}
.p-careers .cr-toc a{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border-radius:999px;border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.86);text-decoration:none;font-size:.85rem}
.p-careers .cr-toc a:hover{border-color:#fff;color:#fff}

/* home search */
.p-careers .cr-herosearch{display:grid;grid-template-columns:minmax(0,1fr) 220px auto;gap:8px;max-width:820px;margin:26px 0 0;padding:8px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:18px}
.p-careers .cr-herosearch__q{position:relative}
.p-careers .cr-herosearch__q .p-i{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:rgba(255,255,255,.6)}
.p-careers .cr-herosearch input,.p-careers .cr-herosearch select{width:100%;height:50px;border-radius:12px;border:1px solid transparent;background:rgba(255,255,255,.08);color:#fff;font:inherit;font-size:1rem;padding:0 16px}
.p-careers .cr-herosearch input{padding-left:46px}
.p-careers .cr-herosearch input::placeholder{color:rgba(255,255,255,.55)}
.p-careers .cr-herosearch select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%23ffffff' stroke-width='1.5'%3E%3Cpath d='m1 1.5 5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px}
.p-careers .cr-herosearch select option{color:var(--text)}
.p-careers .cr-herosearch input:focus,.p-careers .cr-herosearch select:focus{outline:none;border-color:var(--signal);background-color:rgba(255,255,255,.12)}
.p-careers .cr-herosearch .p-btn{height:50px;border-radius:12px}
.p-careers .cr-quick{display:flex;flex-wrap:wrap;gap:6px 18px;margin:18px 0 0;font-size:.9rem}
.p-careers .cr-quick a{color:rgba(255,255,255,.82);text-underline-offset:.25em}

/* ways to join, count lists, tiles */
.p-careers .cr-ways{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.p-careers .cr-way,.p-careers .cr-counttile{display:flex;flex-direction:column;gap:6px}
.p-careers .cr-way h3,.p-careers .cr-counttile h3{font:400 1.3rem/1.2 var(--f-display);margin:0}
.p-careers .cr-way p{flex:1}
.p-careers .cr-way__n{font:500 .72rem/1.4 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--signal-ink);margin-top:10px}
.p-careers .cr-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.p-careers .cr-countlist{list-style:none;margin:0;padding:0}
.p-careers .cr-countlist li{display:flex;align-items:baseline;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.p-careers .cr-countlist li:last-child{border-bottom:0}
.p-careers .cr-countlist a{font-weight:550;text-decoration:none;flex:1;min-width:0}
.p-careers .cr-countlist li>div{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.p-careers .cr-countlist a:hover{text-decoration:underline}
.p-careers .cr-countlist li>span:last-child{font:600 .85rem/1 var(--f-sans);font-variant-numeric:tabular-nums;color:var(--text);background:var(--paper);border-radius:999px;padding:5px 10px;min-width:2.2em;text-align:center}
.p-careers .cr-place__how{font-size:.82rem;color:var(--muted)}
.p-careers .cr-places{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}
.p-careers .cr-places .p-card{margin:0}
.p-careers .cr-cta{display:flex;flex-wrap:wrap;gap:20px 40px;align-items:center;justify-content:space-between;margin:48px 0 0;padding:clamp(24px,4vw,40px);border-radius:var(--r-lg);background:var(--white);border:1px solid var(--line);box-shadow:var(--sh-1);border-top:3px solid var(--signal)}
.p-careers .cr-cta h2{font:380 1.7rem/1.2 var(--f-display);margin:0 0 .4rem}
.p-careers .cr-cta p{margin:0;max-width:52rem;color:var(--muted)}
.p-careers .cr-cta .p-btn-row{margin:0}
.p-careers .cr-program .p-kicker{margin-bottom:.3rem}
.p-careers .cr-program__h{font:380 1.7rem/1.2 var(--f-display);margin:0 0 .6rem}
.p-careers .cr-program__h a{text-decoration:none}
.p-careers .cr-tracks{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:6px}
.p-careers .cr-tracks a{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:10px;text-decoration:none;font-weight:550}
.p-careers .cr-tracks a:hover{border-color:var(--line-3);background:var(--paper-3)}
.p-careers .cr-mini{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.p-careers .cr-ticks{margin:0 0 1rem;padding-left:1.2rem}
.p-careers .cr-ticks li{margin-bottom:.4rem}

/* job search */
.p-careers .cr-searchbar{position:relative;display:flex;gap:8px;margin:0 0 22px}
.p-careers .cr-searchbar input{flex:1;min-width:0;height:52px;border-radius:999px;border:1px solid var(--line-2);background:var(--white);font:inherit;font-size:16px;padding:0 20px 0 48px;color:var(--text);box-shadow:var(--sh-1)}
.p-careers .cr-searchbar input:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(255,91,31,.25)}
.p-careers .cr-searchbar__icon{position:absolute;left:18px;top:16px;color:var(--muted);pointer-events:none}
.p-careers .cr-searchbar .p-btn{height:52px;padding:0 26px}
.p-careers .cr-results-layout{display:grid;grid-template-columns:272px minmax(0,1fr);gap:28px;align-items:start}
.p-careers .cr-facets{position:sticky;top:calc(var(--top) + 16px)}
.p-careers .cr-facets__box{background:var(--white);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-1)}
.p-careers .cr-facets__box>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 18px;cursor:pointer;list-style:none;border-bottom:1px solid var(--line)}
.p-careers .cr-facets__box>summary::-webkit-details-marker{display:none}
.p-careers .cr-facets__box>summary h2{font:600 .95rem/1.3 var(--f-sans);margin:0}
.p-careers .cr-facets__body{padding:16px 18px 18px}
.p-careers .cr-facets .p-field{margin:0 0 14px}
.p-careers .cr-facets select{padding-top:.55rem;padding-bottom:.55rem;font-size:15px}
.p-careers .cr-facets__extra{padding:14px 4px 0}
.p-careers .cr-results__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px}
.p-careers .cr-results__count{font:380 1.6rem/1.2 var(--f-display);margin:0}
.p-careers .cr-results__count .p-small{font-family:var(--f-sans)}
.p-careers .cr-results__tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.p-careers .cr-sort{display:inline-flex;align-items:center;gap:8px;font-size:.85rem;color:var(--muted)}
.p-careers .cr-sort select,.p-careers .cr-select-sm{appearance:none;-webkit-appearance:none;height:34px;border:1px solid var(--line-2);border-radius:999px;background:var(--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%23121820' stroke-width='1.5'%3E%3Cpath d='m1 1.5 5 5 5-5'/%3E%3C/svg%3E") no-repeat right 12px center;padding:0 32px 0 14px;font:inherit;font-size:.85rem;color:var(--text);width:auto}
.p-careers .cr-chips{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px;padding:0}
.p-careers .cr-chip{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 10px 0 12px;border-radius:999px;background:var(--white);border:1px solid var(--line-2);color:var(--text);text-decoration:none;font-size:.84rem}
.p-careers .cr-chip .p-i{width:14px;height:14px;color:var(--muted)}
.p-careers .cr-chip:hover{border-color:var(--text)}
.p-careers .cr-chip--clear{background:none;border-color:transparent;text-decoration:underline;color:var(--muted)}

/* a job in a list */
.p-careers .cr-jobs{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.p-careers .cr-job{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 24px;background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:18px 20px;box-shadow:var(--sh-1);transition:border-color .15s,box-shadow .15s}
.p-careers .cr-job:hover{border-color:var(--line-3);box-shadow:var(--sh-2)}
.p-careers .cr-job__title{font:600 1.05rem/1.35 var(--f-sans);margin:0 0 6px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.p-careers .cr-job__title a{text-decoration:none;color:var(--text)}
.p-careers .cr-job__title a:hover{text-decoration:underline;color:var(--signal-ink)}
.p-careers .cr-job__meta{display:flex;flex-wrap:wrap;gap:4px 0;margin:0;font-size:.86rem;color:var(--body)}
.p-careers .cr-job__meta span{display:inline-flex;align-items:center;gap:5px}
.p-careers .cr-job__meta span:empty{display:none}
.p-careers .cr-job__meta span+span::before{content:"";width:3px;height:3px;border-radius:50%;background:var(--line-3);margin:0 10px}
.p-careers .cr-job__meta .p-i{width:15px;height:15px;color:var(--muted)}
.p-careers .cr-job__team{margin:6px 0 0;font-size:.8rem;color:var(--muted)}
.p-careers .cr-job__side{display:flex;flex-direction:column;align-items:flex-end;gap:4px;text-align:right}
.p-careers .cr-job__pay{margin:0;font-weight:650;color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap}
.p-careers .cr-job__age{margin:0;font-size:.8rem;color:var(--muted)}
.p-careers .cr-save{display:inline-flex;align-items:center;gap:6px;margin-top:6px;min-height:32px;padding:0 12px;border-radius:999px;border:1px solid var(--line-2);background:var(--white);color:var(--text);font:550 .82rem/1 var(--f-sans);cursor:pointer}
.p-careers .cr-save .p-i{width:15px;height:15px}
.p-careers .cr-save:hover{border-color:var(--text)}
.p-careers .cr-save.is-saved{background:var(--signal-soft);border-color:var(--signal);color:var(--signal-ink)}
.p-careers .cr-save.is-saved .p-i{fill:currentColor}

/* job page */
.p-careers .cr-jobdoc{padding:clamp(22px,3.4vw,40px);max-width:none}
.p-careers .cr-jobdoc .cr-sec+.cr-sec{margin-top:2rem;padding-top:1.6rem;border-top:1px solid var(--line)}
.p-careers .cr-jobdoc h2{margin-top:0}
.p-careers .cr-paybox{display:flex;flex-direction:column;gap:2px;padding:14px 18px;border-radius:10px;background:var(--paper-3);border:1px solid var(--line);border-left:3px solid var(--signal)}
.p-careers .cr-paybox strong{font:400 1.45rem/1.25 var(--f-display);color:var(--text)}
.p-careers .cr-paybox span{font-size:.9rem;color:var(--muted)}
.p-careers .cr-howto{list-style:none;counter-reset:h;margin:0 0 1rem;padding:0;display:grid;gap:10px}
.p-careers .cr-howto li{counter-increment:h;display:grid;grid-template-columns:30px 1fr;gap:0 12px;margin:0}
.p-careers .cr-howto li::before{content:counter(h);grid-row:span 2;width:26px;height:26px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font:600 .78rem/1 var(--f-sans);margin-top:1px}
.p-careers .cr-howto b{color:var(--text)}
.p-careers .cr-howto span{color:var(--muted);font-size:.94rem}
.p-careers .cr-howto--sm span{font-size:.86rem}
.p-careers .cr-jobside{position:sticky;top:calc(var(--top) + 16px)}
.p-careers .cr-applycard p{color:rgba(255,255,255,.75)}
.p-careers .cr-applycard .p-btn{margin:4px 0 12px}
.p-careers .cr-applycard .p-small a{color:#fff}
.p-careers .cr-share{display:flex;gap:8px;align-items:center}
.p-careers .cr-share .p-input{flex:1;min-width:0;height:36px;border:1px solid var(--line-2);border-radius:8px;padding:0 10px;font:inherit;font-size:.84rem;color:var(--muted);background:var(--paper-3)}

/* application form */
.p-careers .cr-applyas{display:flex;align-items:center;gap:8px;margin:0 0 16px}
.p-careers .cr-signin-note{display:flex;gap:10px;align-items:flex-start}
.p-careers .cr-signin-note .p-i{margin-top:2px}
.p-careers .cr-apply .cr-step{border:0;margin:0 0 20px;padding:clamp(18px,3vw,28px);background:var(--white);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-1);min-width:0}
.p-careers .cr-step__h{display:flex;align-items:center;gap:12px;font:380 1.45rem/1.2 var(--f-display);margin:0 0 20px}
.p-careers .cr-step__h:focus{outline:none}
.p-careers .cr-step__h:focus-visible{outline:2px solid var(--signal);outline-offset:4px}
.p-careers .cr-step__n{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--ink);color:#fff;font:600 .85rem/1 var(--f-sans);flex:0 0 auto}
.p-careers .cr-steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0 0 18px;padding:0}
.p-careers .cr-steps li{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:10px;background:var(--white);border:1px solid var(--line);font-size:.86rem;font-weight:550;color:var(--muted);min-width:0}
.p-careers .cr-steps li>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.p-careers .cr-steps__n{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;border:2px solid var(--line-3);font:600 .72rem/1 var(--f-sans);flex:0 0 auto}
.p-careers .cr-steps li.is-done{color:var(--text)}
.p-careers .cr-steps li.is-done .cr-steps__n{background:var(--ink);border-color:var(--ink);color:#fff}
.p-careers .cr-steps li[aria-current]{color:var(--text);border-color:var(--ink);box-shadow:inset 0 -3px 0 var(--signal)}
.p-careers .cr-steps li[aria-current] .cr-steps__n{border-color:var(--signal);color:var(--signal-ink)}
.p-careers .cr-apply [hidden]{display:none!important}
.p-careers .cr-apply.is-stepped .cr-step{display:none}
.p-careers .cr-apply.is-stepped .cr-step.is-active{display:block}
.p-careers .cr-stepnav{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;padding:16px 0 0;margin-top:4px;border-top:1px solid var(--line)}
.p-careers .cr-stepnav__end{display:flex;flex-wrap:wrap;gap:10px;margin-left:auto}
.p-careers .cr-apply.is-stepped [data-submit]{display:none}
.p-careers .cr-apply.is-stepped.is-last [data-submit]{display:inline-flex}
.p-careers .cr-apply.is-stepped.is-last [data-next]{display:none}
.p-careers .cr-resume .p-radios{margin-bottom:12px}
.p-careers .cr-filelabel{font-size:.84rem;font-weight:560;color:var(--text)}
.p-careers .cr-review{display:grid;gap:14px}
.p-careers .cr-review__group{border:1px solid var(--line);border-radius:10px;padding:14px 16px;background:var(--paper-3)}
.p-careers .cr-review__group h3{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:.92rem;margin:0 0 8px}
.p-careers .cr-review__group h3 button{font:inherit;font-size:.84rem;font-weight:550;background:none;border:0;padding:0;color:var(--text);text-decoration:underline;cursor:pointer}
.p-careers .cr-review dl{display:grid;grid-template-columns:minmax(120px,38%) 1fr;gap:6px 14px;margin:0;font-size:.88rem}
.p-careers .cr-review dt{color:var(--muted)}
.p-careers .cr-review dd{margin:0;color:var(--text);overflow-wrap:anywhere;white-space:pre-wrap}
.p-careers .cr-review .is-missing{color:var(--err);font-weight:550}
.cr-js .p-careers .cr-noscript-note{display:none}
.p-careers .p-check.has-error{color:var(--err)}
.p-careers .cr-applyside .p-card,.p-careers .cr-appside .p-card,.p-careers .cr-jobside .p-card{margin-bottom:16px}

/* application page and confirmation */
.p-careers .cr-linknote{display:flex;gap:10px;align-items:flex-start}
.p-careers .cr-linknote .p-i{flex:0 0 auto;margin-top:2px}
.p-careers .cr-status-now{margin:0 0 16px}
.p-careers .cr-progress{margin:0 0 16px;padding-bottom:4px}
.p-careers .cr-progress .p-stepper__label{font-size:.86rem}
.p-careers .cr-status-text{margin:0;color:var(--body)}
.p-careers .cr-appview .p-card{scroll-margin-top:80px}
.p-careers .cr-docs{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:8px;font-size:.9rem}
.p-careers .cr-docs li{display:flex;gap:8px;align-items:flex-start;overflow-wrap:anywhere}
.p-careers .cr-docs .p-i{flex:0 0 auto;margin-top:2px;color:var(--muted)}
.p-careers .cr-more{border-top:1px solid var(--line);padding:10px 0 0;margin:10px 0 0}
.p-careers .cr-more>summary{cursor:pointer;font-weight:550;color:var(--text);padding:4px 0}
.p-careers .cr-more[open]>summary{margin-bottom:10px}
.p-careers .cr-letter{white-space:pre-wrap;background:var(--paper-3);border:1px solid var(--line);border-radius:10px;padding:16px 18px;margin:14px 0;font-size:.92rem}
.p-careers .cr-offer{margin-top:16px}
.p-careers .cr-msg__subject{font-weight:600;color:var(--text);margin:0 0 .3rem}
.p-careers .cr-iv-loc{margin:.3rem 0 0;font-size:.9rem;overflow-wrap:anywhere}
.p-careers .cr-reply{margin-top:12px}
.p-careers .cr-confirm{text-align:center;max-width:720px;margin:12px auto 28px}
.p-careers .cr-confirm__icon{width:52px;height:52px;color:var(--ok);margin-bottom:10px}
.p-careers .cr-confirm .p-lede{margin-left:auto;margin-right:auto}
.p-careers .cr-confirm__cols{margin-bottom:8px}
.p-careers .cr-eeo>summary{cursor:pointer;list-style:none;display:grid;gap:4px}
.p-careers .cr-eeo>summary::-webkit-details-marker{display:none}
.p-careers .cr-eeo>summary .p-card__title::after{content:" +";color:var(--muted)}
.p-careers .cr-eeo[open]>summary .p-card__title::after{content:" −"}
.p-careers .cr-eeo[open]>summary{margin-bottom:14px}
.p-careers .cr-inline-form{display:inline-flex;gap:6px;align-items:center;margin:0}
.p-careers .cr-asks{margin-bottom:12px}
.p-careers .cr-asks .p-card{margin:0}
.p-careers .cr-reading{margin-top:8px}

/* ------------------------------------------------------------------ 2. pages ported from www (.cr-content) */
.p-careers .cr-content{color:var(--body);font-size:1rem;line-height:1.65;overflow-wrap:break-word}
.p-careers .cr-content code,.p-careers .cr-content kbd{overflow-wrap:anywhere}
.p-careers .cr-content--intro{margin:0 0 8px}
.p-careers .cr-content .wrap,.p-careers .cr-content .text-wrap{max-width:none;padding:0;margin:0}
.p-careers .cr-content .text-wrap{max-width:52rem}
.p-careers .cr-content section.section,.p-careers .cr-content section.band,.p-careers .cr-content section.doc{margin:0;padding:clamp(28px,4vw,48px) 0;border-top:1px solid var(--line-2)}
.p-careers .cr-content section:first-child{border-top:0;padding-top:8px}
.p-careers .cr-content section.section--grey,.p-careers .cr-content section.band--grey,.p-careers .cr-content section.section--paper{background:var(--paper-3);border:1px solid var(--line);border-radius:var(--r-lg);padding-left:clamp(20px,4vw,44px);padding-right:clamp(20px,4vw,44px);margin:18px 0}
.p-careers .cr-content .section--grey+section,.p-careers .cr-content .band--grey+section{border-top:0}
.p-careers .cr-content section.section--dark{background:var(--ink);color:rgba(255,255,255,.76);border-radius:var(--r-lg);padding-left:clamp(20px,4vw,44px);padding-right:clamp(20px,4vw,44px);margin:18px 0;border:0}
.p-careers .cr-content .section--dark+section{border-top:0}
.p-careers .cr-content .section--dark h2,.p-careers .cr-content .section--dark h3{color:#fff}
.p-careers .cr-content .section--dark a:not(.btn){color:#fff}
.p-careers .cr-content .section--dark .eyebrow{color:var(--signal)}
.p-careers .cr-content .section--dark .tile{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12);box-shadow:none}
.p-careers .cr-content .section--dark .tile p,.p-careers .cr-content .section--dark .office-cards p{color:rgba(255,255,255,.68)}
.p-careers .cr-content .eyebrow{font:500 .72rem/1.4 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--signal-ink);margin:0 0 .6rem}
.p-careers .cr-content .h2,.p-careers .cr-content .rt-title,.p-careers .cr-content h2{font:370 clamp(1.5rem,1.2rem + 1vw,2rem)/1.2 var(--f-display);letter-spacing:-.012em;margin:0 0 1rem;max-width:34ch}
.p-careers .cr-content h3{font:600 1.04rem/1.35 var(--f-sans);margin:1.4rem 0 .4rem}
.p-careers .cr-content h4{font:600 .94rem/1.35 var(--f-sans);margin:1.2rem 0 .3rem}
.p-careers .cr-content .lede{font-size:1.06rem;color:var(--muted);max-width:48rem}
.p-careers .cr-content .standfirst{font:350 clamp(1.2rem,1.05rem + .6vw,1.5rem)/1.45 var(--f-display);color:var(--text);max-width:46rem;margin:0}
.p-careers .cr-content p{max-width:52rem}
.p-careers .cr-content ul,.p-careers .cr-content ol{padding-left:1.3rem;max-width:52rem}
.p-careers .cr-content li{margin-bottom:.45rem}
.p-careers .cr-content li>p{margin:0}
.p-careers .cr-content a{color:var(--text);text-decoration-color:var(--signal);text-decoration-thickness:1.5px}
.p-careers .cr-content .mono{font:500 .7rem/1.4 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--signal-ink)}
.p-careers .cr-content .grid-3,.p-careers .cr-content .grid-2{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0 0}
.p-careers .cr-content .grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.p-careers .cr-content .tile{display:block;background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:20px;box-shadow:var(--sh-1);color:var(--body);text-decoration:none}
.p-careers .cr-content .tile h3{margin:0 0 .4rem;font:600 1.02rem/1.3 var(--f-sans);color:var(--text)}
.p-careers .cr-content .tile p{margin:0;font-size:.93rem;color:var(--muted)}
.p-careers .cr-content .tile .eyebrow{margin-bottom:.4rem}
.p-careers .cr-content .tile--link{position:relative;padding-right:40px;transition:border-color .15s,transform .15s var(--ease),box-shadow .15s}
.p-careers .cr-content .tile--link::after{content:"→";position:absolute;right:18px;top:18px;color:var(--signal-ink);font-weight:600}
.p-careers .cr-content .tile--link:hover{border-color:var(--line-3);transform:translateY(-1px);box-shadow:var(--sh-2)}
.p-careers .cr-content .timeline{list-style:none;padding:0;margin:20px 0 0;border-left:2px solid var(--line-2);max-width:48rem}
.p-careers .cr-content .timeline li{position:relative;padding:0 0 20px 22px;margin:0}
.p-careers .cr-content .timeline li::before{content:"";position:absolute;left:-7px;top:5px;width:12px;height:12px;border-radius:50%;background:var(--white);border:2px solid var(--signal)}
.p-careers .cr-content .timeline h3{margin:.15rem 0 .25rem}
.p-careers .cr-content .timeline p{margin:0}
.p-careers .cr-content .hire-steps,.p-careers .cr-content .principles{list-style:none;padding:0;margin:20px 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;counter-reset:hs;max-width:none}
.p-careers .cr-content .hire-steps li,.p-careers .cr-content .principles li{counter-increment:hs;background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:20px;margin:0;box-shadow:var(--sh-1)}
.p-careers .cr-content .hire-steps li::before{content:"0" counter(hs);display:block;font:500 .74rem/1 var(--f-mono);letter-spacing:.12em;color:var(--signal-ink);margin-bottom:.7rem}
.p-careers .cr-content .hire-steps h3,.p-careers .cr-content .principles h3{margin:0 0 .35rem}
.p-careers .cr-content .hire-steps p,.p-careers .cr-content .principles p{margin:0;font-size:.93rem;color:var(--muted)}
.p-careers .cr-content .section--dark .principles li{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12);box-shadow:none}
.p-careers .cr-content .section--dark .principles p{color:rgba(255,255,255,.7)}
.p-careers .cr-content .day{list-style:none;padding:0;margin:20px 0 0;max-width:52rem}
.p-careers .cr-content .day li{display:grid;grid-template-columns:72px 1fr;gap:16px;padding:14px 0;border-top:1px solid var(--line);margin:0}
.p-careers .cr-content .day__time{font:500 .85rem/1.6 var(--f-mono);color:var(--signal-ink)}
.p-careers .cr-content .day h3{margin:0 0 .25rem}
.p-careers .cr-content .day p{margin:0}
.p-careers .cr-content .faq details,.p-careers .cr-content details.reveal{border:1px solid var(--line);border-radius:10px;background:var(--white);margin:0 0 8px;max-width:52rem}
.p-careers .cr-content .faq summary,.p-careers .cr-content details.reveal summary{cursor:pointer;padding:14px 44px 14px 16px;font-weight:600;color:var(--text);list-style:none;position:relative}
.p-careers .cr-content .faq summary::-webkit-details-marker,.p-careers .cr-content details.reveal summary::-webkit-details-marker{display:none}
.p-careers .cr-content .faq summary::after,.p-careers .cr-content details.reveal summary::after{content:"+";position:absolute;right:16px;top:12px;font:400 1.3rem/1 var(--f-sans);color:var(--muted)}
.p-careers .cr-content .faq details[open]>summary::after,.p-careers .cr-content details.reveal[open]>summary::after{content:"−"}
.p-careers .cr-content .faq details>*:not(summary),.p-careers .cr-content details.reveal>div{padding:0 16px 14px;margin-top:0}
.p-careers .cr-content .faq h3{margin:1.4rem 0 .6rem}
.p-careers .cr-content .puzzle,.p-careers .cr-content .case,.p-careers .cr-content .erg{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:clamp(18px,3vw,28px);margin:18px 0;box-shadow:var(--sh-1);max-width:56rem}
.p-careers .cr-content .puzzle__meta,.p-careers .cr-content .case__meta{display:block;font:500 .7rem/1.4 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--signal-ink);margin-bottom:.5rem}
.p-careers .cr-content .puzzle h3,.p-careers .cr-content .case h3,.p-careers .cr-content .erg h3{margin-top:0;font:400 1.35rem/1.25 var(--f-display)}
.p-careers .cr-content .erg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;margin-top:20px}
.p-careers .cr-content .erg-grid .erg{margin:0}
.p-careers .cr-content .erg__for{font-size:.85rem;color:var(--muted);font-weight:550}
.p-careers .cr-content .exhibit{margin:16px 0;max-width:52rem}
.p-careers .cr-content .exhibit figcaption,.p-careers .cr-content caption{font:500 .7rem/1.4 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-align:left;margin-bottom:6px}
.p-careers .cr-content .table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:10px;background:var(--white);max-width:56rem;margin:14px 0}
.p-careers .cr-content .table-scroll:focus-visible{outline:2px solid var(--signal)}
.p-careers .cr-content .doc-table{width:100%;border-collapse:collapse;font-size:.9rem}
.p-careers .cr-content .table-scroll,.p-careers .cr-content .exhibit,.p-careers .cr-content .puzzle,.p-careers .cr-content .case{min-width:0;max-width:100%}
.p-careers .cr-content table:not(.table-scroll table){display:block;overflow-x:auto;max-width:100%}
.p-careers .cr-content .doc-table th{text-align:left;font:500 .7rem/1.3 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:10px 12px;background:var(--paper-3);border-bottom:1px solid var(--line-2);white-space:nowrap}
.p-careers .cr-content .doc-table td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.p-careers .cr-content .doc-table tr:last-child td{border-bottom:0}
.p-careers .cr-content .note,.p-careers .cr-content .fiction-note{border-radius:10px;padding:12px 16px;background:var(--info-soft);color:var(--info-ink);border:1px solid var(--info-line);font-size:.92rem;max-width:52rem}
.p-careers .cr-content .fiction-note{background:var(--warn-soft);color:var(--warn-ink);border-color:var(--warn-line)}
.p-careers .cr-content .prep-links{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:20px 0 0}
.p-careers .cr-content .prep-links a{display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border-radius:999px;border:1px solid var(--line-2);background:var(--white);text-decoration:none;font-size:.88rem;font-weight:550}
.p-careers .cr-content .prep-links a:hover{border-color:var(--text)}
.p-careers .cr-content .office-cards{list-style:none;padding:0;margin:20px 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;max-width:none}
.p-careers .cr-content .office-cards li{margin:0;padding:16px;border-radius:var(--r);border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05)}
.p-careers .cr-content .office-cards h3{margin:0 0 .3rem;font:400 1.2rem/1.2 var(--f-display)}
.p-careers .cr-content .office-cards p{margin:0;font-size:.86rem}
.p-careers .cr-content .section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px 40px;align-items:end}
.p-careers .cr-content .section-head p{margin:0}
.p-careers .cr-content .split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:20px 40px}
.p-careers .cr-content .btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;border-radius:999px;border:1px solid var(--line-2);background:transparent;color:var(--text);font:600 .92rem/1 var(--f-sans);text-decoration:none;cursor:pointer}
.p-careers .cr-content .btn--solid{background:var(--signal);border-color:var(--signal);color:var(--ink)}
.p-careers .cr-content .btn--dark{background:var(--ink);border-color:var(--ink);color:#fff}
.p-careers .cr-content .btn:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.p-careers .cr-content .section--dark .btn:not(.btn--solid){color:#fff;border-color:rgba(255,255,255,.4)}
.p-careers .cr-content .btn-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.p-careers .cr-content .cta-band{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px}
.p-careers .cr-content .link-arrow::after{content:" →"}
.p-careers .cr-content .legal h2{margin-top:2rem;font-size:1.45rem}
.p-careers .cr-prose h2:first-child{margin-top:0}
/* the puzzles behind /curious (curious.js toggles hidden, is-solved and the message classes) */
.p-careers .cr-content .cq-row{display:flex;gap:8px;max-width:520px;margin:6px 0}
.p-careers .cr-content .cq-row input{flex:1;min-width:0;height:44px;border:1px solid var(--line-2);border-radius:var(--r-sm);padding:0 12px;font:inherit;font-size:16px}
.p-careers .cr-content .cq-row input:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(255,91,31,.25)}
.p-careers .cr-content .cq-form label{font-size:.84rem;font-weight:560;color:var(--text)}
.p-careers .cr-content .cq-form small{display:block;font-size:.82rem;color:var(--muted)}
.p-careers .cr-content .cq-msg{min-height:1.4em;margin:.4rem 0 0;font-weight:550}
.p-careers .cr-content .cq-msg.ok{color:var(--ok-ink)}
.p-careers .cr-content .cq-msg.err{color:var(--err)}
.p-careers .cr-content .cq.is-solved h2::after{content:" ✓";color:var(--ok)}
.p-careers .cr-content .cq-cipher{font:500 1rem/1.6 var(--f-mono);background:var(--paper-3);border:1px dashed var(--line-3);border-radius:10px;padding:12px 16px;overflow-wrap:anywhere}
.p-careers .cr-content .link-btn{background:none;border:0;padding:0;font:inherit;text-decoration:underline;cursor:pointer;color:inherit}
.p-careers .cr-content [hidden]{display:none!important}

/* ------------------------------------------------------------------ responsive */
@media (max-width:1100px){
  .p-careers .cr-ways{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  .p-careers .cr-results-layout{grid-template-columns:1fr;gap:16px}
  .p-careers .cr-facets{position:static}
  .p-careers .cr-facets__box:not([open])>summary{border-bottom:0}
  .p-careers .cr-facets__body{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
  .p-careers .cr-facets__body .p-btn,.p-careers .cr-facets__body p{grid-column:1/-1}
  .p-careers .cr-facets__extra{display:none}
  .p-careers .cr-jobside{position:static}
  .p-careers .cr-content .grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .p-careers .cr-content .section-head,.p-careers .cr-content .split{grid-template-columns:1fr}
}
@media (max-width:640px){
  .p-careers .cr-hero{border-radius:var(--r);margin-left:-4px;margin-right:-4px}
  .p-careers .cr-herosearch{grid-template-columns:1fr}
  .p-careers .cr-ways,.p-careers .cr-content .grid-3,.p-careers .cr-content .grid-2{grid-template-columns:1fr}
  .p-careers .cr-job{grid-template-columns:1fr;padding:16px}
  .p-careers .cr-job__side{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;text-align:left;gap:6px 12px}
  .p-careers .cr-job__side .cr-save{margin-top:0}
  .p-careers .cr-job__meta{gap:4px 14px}
  .p-careers .cr-job__meta span+span::before{display:none}
  .p-careers .cr-job__pay{white-space:normal}
  .p-careers .cr-facets__body{grid-template-columns:1fr}
  .p-careers .cr-searchbar .p-btn{padding:0 16px}
  .p-careers .cr-steps{grid-template-columns:repeat(4,auto)}
  .p-careers .cr-steps li>span:last-child{display:none}
  .p-careers .cr-steps li[aria-current]>span:last-child{display:inline}
  .p-careers .cr-review dl{grid-template-columns:1fr;gap:0}
  .p-careers .cr-review dd{margin-bottom:8px}
  .p-careers .cr-content .day li{grid-template-columns:1fr;gap:2px}
  .p-careers .cr-stepnav__end{width:100%}
  .p-careers .cr-stepnav__end .p-btn{flex:1 1 auto}
  .p-careers .cr-share{flex-wrap:wrap}
  .p-careers .cr-cta{flex-direction:column;align-items:flex-start}
}

/* contrast fixes (axe): buttons on ink cards, www components inside dark sections, reading-nav labels */
.p-careers .cr-applycard a.p-btn{color:var(--ink)}
.p-careers .cr-applycard a.p-btn:hover{color:#fff;background:var(--ink-3);border-color:rgba(255,255,255,.4)}
.p-careers .cr-content .section--dark .tile h3{color:#fff}
.p-careers .cr-content .section--dark .mono{color:var(--signal)}
.p-careers .r-nav__h{color:var(--muted)}
.p-careers .cr-content pre{white-space:pre-wrap;overflow-wrap:anywhere;max-width:52rem;background:var(--ink);color:#e6e9ee;border-radius:10px;padding:14px 16px;font:400 .84rem/1.6 var(--f-mono)}
.p-careers .cr-facets__body .cr-center a{display:inline-flex;align-items:center;min-height:24px;padding:4px 6px}

/* ---- docs.css ---- */
/* docs.moraph.com (src/hosts/docs). Scoped under .p-docs; appended to portal.css by build/build.py. */

/* ---- home */
.p-docs .d-hero{padding-top:clamp(40px,6vw,72px);padding-bottom:clamp(36px,5vw,60px)}
.p-docs .d-hero h1{max-width:20ch;margin-bottom:.8rem}
.p-docs .d-hero__in{max-width:780px}
.p-docs .d-hero-search{max-width:720px}
.p-docs .d-hero-search .p-btn{height:52px;padding:0 26px}
.p-docs .d-hero__try{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;margin:16px 0 0;font-size:.86rem;color:rgba(255,255,255,.6)}
.p-docs .d-hero__try a{color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:4px 12px}
.p-docs .d-hero__try a:hover{border-color:var(--signal);background:rgba(255,91,31,.12)}
.p-docs .d-hero__note{display:flex;align-items:center;gap:8px;margin:20px 0 0;font-size:.88rem;color:rgba(255,255,255,.66)}
.p-docs .d-hero__note .p-i{width:16px;height:16px}
.p-docs .d-sect{margin:0 0 48px}
.p-docs .d-sect .p-section-h{margin-top:0}
.p-docs .d-sect__lede{color:var(--muted);max-width:46rem;margin:-6px 0 20px}
.p-docs .d-h2{font:360 1.6rem/1.2 var(--f-display);margin:0 0 16px;letter-spacing:-.01em;display:flex;align-items:center;gap:10px}
.p-docs .d-prod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.p-docs .d-prod{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto 1fr auto;gap:4px 14px;background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:20px;text-decoration:none;color:var(--body);box-shadow:var(--sh-1);transition:border-color .15s,transform .15s var(--ease),box-shadow .15s}
.p-docs .d-prod:hover{border-color:var(--line-3);transform:translateY(-1px);box-shadow:var(--sh-2);color:var(--body)}
.p-docs .d-prod__icon{grid-row:1/4;display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:var(--paper);color:var(--signal-ink);flex:none}
.p-docs .d-prod__icon--lg{width:56px;height:56px;border-radius:14px}
.p-docs .d-prod__icon--lg .p-i{width:26px;height:26px}
.p-docs .d-prod__name{font:600 1.02rem/1.3 var(--f-sans);color:var(--text)}
.p-docs .d-prod__sum{font-size:.9rem;color:var(--muted);line-height:1.5}
.p-docs .d-prod__n{font:500 .7rem/1.4 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--signal-ink);margin-top:8px}
.p-docs .d-home-cols{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:32px;margin:0 0 48px}
.p-docs .d-home-cols .d-sect{margin:0}
.p-docs .d-tasks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.p-docs .d-tasks a{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;background:var(--white);border:1px solid var(--line);border-radius:10px;text-decoration:none;color:var(--text);height:100%}
.p-docs .d-tasks a:hover{border-color:var(--line-3);box-shadow:var(--sh-1)}
.p-docs .d-tasks a>.p-i{color:var(--signal-ink);margin-top:3px;flex:none}
.p-docs .d-tasks b{display:block;font-weight:600;line-height:1.35}
.p-docs .d-tasks small{display:block;color:var(--muted);font-size:.84rem;margin-top:2px;line-height:1.45}
.p-docs .d-tasks--compact{grid-template-columns:1fr}
.p-docs .d-tasks--compact a{padding:12px 14px}
.p-docs .d-recent{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.p-docs .d-recent li{padding:12px 0;border-bottom:1px solid var(--line);display:grid;gap:2px}
.p-docs .d-recent a{font-weight:600;color:var(--text);text-decoration:none}
.p-docs .d-recent a:hover{text-decoration:underline;text-decoration-color:var(--signal)}
.p-docs .d-recent small{color:var(--muted);font-size:.82rem}
.p-docs .d-verticals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.p-docs .d-vertical{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:20px 22px;display:flex;flex-direction:column}
.p-docs .d-vertical h3{font:380 1.3rem/1.25 var(--f-display);margin:0}
.p-docs .d-vertical__n{font:500 .7rem/1.4 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:4px 0 12px}
.p-docs .d-vertical ul{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:6px;font-size:.92rem;flex:1}
.p-docs .d-vertical ul a{color:var(--body);text-decoration:none}
.p-docs .d-vertical ul a:hover{color:var(--text);text-decoration:underline;text-decoration-color:var(--signal)}
.p-docs .d-more{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:.9rem;color:var(--text);text-decoration:none}
.p-docs .d-more .p-i{width:16px;height:16px;color:var(--signal-ink)}
.p-docs .d-help{background:var(--paper-3);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(22px,3vw,32px);margin:0 0 20px}
.p-docs .d-help h2{font:360 1.5rem/1.25 var(--f-display);margin:0 0 18px}
.p-docs .d-help__cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.p-docs .d-help__cols>div>.p-i{color:var(--signal-ink);width:22px;height:22px}
.p-docs .d-help h3{font:600 1rem/1.35 var(--f-sans);margin:8px 0 4px}
.p-docs .d-help p{margin:0;color:var(--muted);font-size:.92rem}

/* ---- directory and platform overview */
.p-docs .d-filter{max-width:420px;margin:0 0 28px}
.p-docs .d-filter label{display:block;font-weight:600;font-size:.88rem;margin-bottom:6px}
.p-docs .d-filter__in{position:relative}
.p-docs .d-filter__in .p-i{position:absolute;left:12px;top:13px;color:var(--muted)}
.p-docs .d-filter input{width:100%;font:inherit;font-size:16px;padding:.68rem .85rem .68rem 2.4rem;border:1px solid var(--line-2);border-radius:999px;background:var(--white)}
.p-docs .d-filter input:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(255,91,31,.25)}
.p-docs .d-plist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:10px}
.p-docs .d-plist a{display:grid;gap:3px;height:100%;padding:14px 16px;background:var(--white);border:1px solid var(--line);border-radius:10px;text-decoration:none;color:var(--body)}
.p-docs .d-plist a:hover{border-color:var(--line-3);box-shadow:var(--sh-1)}
.p-docs .d-plist b{color:var(--text);font-weight:600}
.p-docs .d-plist span{font-size:.88rem;color:var(--muted);line-height:1.45}
.p-docs .d-plist small{font:500 .66rem/1.4 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--signal-ink);margin-top:4px}
.p-docs .d-plist li[hidden]{display:none}
.p-docs .d-platform{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px}
.p-docs .d-pcard{display:flex;flex-direction:column;margin:0}
.p-docs .d-pcard__head{display:flex;gap:14px;align-items:flex-start;margin-bottom:12px}
.p-docs .d-pcard__head .d-prod__icon{grid-row:auto}
.p-docs .d-pcard .p-card__title a{color:var(--text);text-decoration:none}
.p-docs .d-pcard .p-card__title a:hover{text-decoration:underline;text-decoration-color:var(--signal)}
.p-docs .d-pcard .p-card__action{margin-top:auto;padding-top:10px}
.p-docs .d-mini{list-style:none;margin:0 0 6px;padding:0;border-top:1px solid var(--line)}
.p-docs .d-mini li{border-bottom:1px solid var(--line)}
.p-docs .d-mini a{display:block;padding:9px 0;color:var(--body);text-decoration:none;font-size:.93rem}
.p-docs .d-mini a:hover{color:var(--text);text-decoration:underline;text-decoration-color:var(--signal)}

/* ---- reading layout: product navigation */
.p-docs .d-layout{margin-top:4px}
.p-docs .d-navbox>summary{display:none}
.p-docs .d-navbox>summary::-webkit-details-marker{display:none}
.p-docs .d-nav .r-nav__h a{display:block;padding:4px 10px;margin:0 -10px;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;border-radius:6px}
.p-docs .d-nav .r-nav__h a:hover{background:var(--paper-2);color:var(--text)}
.p-docs .d-nav .r-nav__h a[aria-current=page]{color:var(--signal-ink)}
.p-docs .d-nav__product{font:600 .95rem/1.3 var(--f-sans)!important;letter-spacing:0!important;text-transform:none!important;color:var(--text)!important}
.p-docs .d-nav__ver{font-size:.8rem;color:var(--warn-ink);background:var(--warn-soft);border-radius:6px;padding:3px 8px;margin:0 0 6px;display:inline-block}
.p-docs .d-nav a{position:relative}
.p-docs .d-nav__lock{width:13px;height:13px;margin-left:6px;vertical-align:-1px;color:var(--faint)}
.p-docs .d-nav__more,.p-docs .d-nav__empty{font-size:.82rem;color:var(--muted);margin:16px 0 0;padding:10px;border:1px dashed var(--line-2);border-radius:8px;line-height:1.5}
.p-docs .d-nav__more .p-i{width:14px;height:14px;vertical-align:-2px;margin-right:6px}

/* ---- product start page */
.p-docs .d-phead{display:flex;gap:20px;align-items:flex-start;margin:0 0 24px}
.p-docs .d-phead .p-h1{margin-bottom:.4rem}
.p-docs .d-phead .p-lede{margin-bottom:.9rem}
.p-docs .d-phead__actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.p-docs .d-intro{margin:0 0 24px}
.p-docs .d-facts{display:flex;flex-wrap:wrap;gap:10px 32px;margin:0 0 24px;padding:14px 18px;border:1px solid var(--line);border-radius:10px;background:var(--white)}
.p-docs .d-facts dt{font:500 .66rem/1.4 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.p-docs .d-facts dd{margin:2px 0 0;color:var(--text);font-weight:500}
.p-docs .d-start{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:20px;margin:0 0 36px}
.p-docs .d-before,.p-docs .d-common{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:20px 22px;box-shadow:var(--sh-1)}
.p-docs .d-before{border-top:3px solid var(--signal)}
.p-docs .d-start h2{display:flex;align-items:center;gap:8px;font:600 1rem/1.3 var(--f-sans);margin:0 0 12px}
.p-docs .d-start h2 .p-i{color:var(--signal-ink)}
.p-docs .d-before .p-prose{font-size:.94rem}
.p-docs .d-before .p-prose ul{margin:0;padding-left:1.1rem}
.p-docs .d-cat{margin:0 0 32px}
.p-docs .d-cat__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 16px;border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:4px}
.p-docs .d-cat__head h2{font:380 1.45rem/1.25 var(--f-display);margin:0}
.p-docs .d-cat__head h2 a{color:var(--text);text-decoration:none}
.p-docs .d-cat__head h2 a:hover{text-decoration:underline;text-decoration-color:var(--signal)}
.p-docs .d-cat__head p{margin:0;color:var(--muted);font-size:.9rem}
.p-docs .d-list{list-style:none;margin:0;padding:0}
.p-docs .d-list li{padding:12px 0;border-bottom:1px solid var(--line)}
.p-docs .d-list li:last-child{border-bottom:0}
.p-docs .d-list a{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px;font-weight:600;color:var(--text);text-decoration:none}
.p-docs .d-list a:hover .d-list__t{text-decoration:underline;text-decoration-color:var(--signal);text-decoration-thickness:1.5px}
.p-docs .d-list p{margin:3px 0 0;color:var(--muted);font-size:.92rem}
.p-docs .d-list--big li{padding:16px 0}
.p-docs .d-list--big a{font-size:1.05rem}
.p-docs .d-locked{display:flex;gap:18px;padding:24px;border:1px solid var(--line);border-radius:var(--r);background:var(--paper-3);margin:0 0 32px}
.p-docs .d-locked__icon{width:28px;height:28px;color:var(--signal-ink);flex:none;margin-top:2px}
.p-docs .d-locked h2{font:380 1.4rem/1.25 var(--f-display);margin:0 0 8px}
.p-docs .d-locked p{margin:0 0 8px;color:var(--body)}
.p-docs .d-locked .p-btn-row{margin-top:14px}
.p-docs .d-hidden-note{display:flex;align-items:center;gap:8px;font-size:.88rem;color:var(--muted);margin:0 0 28px}
.p-docs .d-hidden-note .p-i{width:16px;height:16px;flex:none}
.p-docs .d-helpline{display:flex;gap:10px;align-items:center;margin-top:40px;padding:14px 18px;border-radius:10px;background:var(--paper-2);font-size:.9rem;color:var(--muted)}
.p-docs .d-helpline p{margin:0}
.p-docs .d-helpline .p-i{color:var(--signal-ink);flex:none}

/* ---- badges, versions and banners */
.p-docs .d-badges{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.p-docs .d-badges:empty{display:none}
.p-docs .d-badge{display:inline-flex;align-items:center;gap:5px;font:500 .68rem/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;padding:5px 9px;border-radius:999px;background:var(--paper-2);color:var(--text);border:1px solid var(--line-2);white-space:nowrap}
.p-docs .d-badge .p-i{width:12px;height:12px}
.p-docs .d-badge--ok{background:var(--ok-soft);color:var(--ok-ink);border-color:var(--ok-line)}
.p-docs .d-badge--old{background:var(--warn-soft);color:var(--warn-ink);border-color:var(--warn-line)}
.p-docs .d-badge--lock{background:var(--info-soft);color:var(--info-ink);border-color:var(--info-line)}
.p-docs .d-list .d-badge,.p-docs .p-results .d-badge{font-size:.62rem;padding:4px 7px;vertical-align:2px;margin-left:6px}
.p-docs .d-vswitch{display:inline-flex;align-items:center;gap:8px}
.p-docs .d-vswitch label{font-size:.84rem;color:var(--muted)}
.p-docs .d-vswitch select{font:inherit;font-size:.86rem;padding:5px 28px 5px 10px;border:1px solid var(--line-2);border-radius:8px;background:var(--white);color:var(--text)}
.p-docs .d-banner{display:flex;gap:12px;align-items:flex-start;padding:14px 18px;border-radius:10px;background:var(--warn-soft);border:1px solid var(--warn-line);color:var(--warn-ink);margin:0 0 24px;font-size:.94rem}
.p-docs .d-banner p{margin:0}
.p-docs .d-banner a{color:inherit;font-weight:600}
.p-docs .d-banner .p-i{flex:none;margin-top:2px}
.p-docs .d-banner--retired{background:var(--err-soft);border-color:var(--err-line);color:var(--err-ink)}

/* ---- article */
.p-docs .d-article{min-width:0;max-width:48rem}
.p-docs .d-ahead .p-h1{margin-bottom:.5rem;font-size:clamp(2rem,1.6rem + 1.3vw,2.6rem);line-height:1.12}
.p-docs .d-ahead .p-lede{margin-bottom:1rem;font-size:1.1rem}
.p-docs .d-applies{display:flex;gap:8px;align-items:flex-start;font-size:.88rem;color:var(--muted);margin:0 0 18px}
.p-docs .d-applies .p-i{width:16px;height:16px;flex:none;margin-top:3px}
.p-docs .d-meta{align-items:center}
.p-docs .d-meta__report{margin-left:auto;display:inline-flex;align-items:center;gap:6px;color:var(--muted);text-decoration:none}
.p-docs .d-meta__report:hover{color:var(--text);text-decoration:underline}
.p-docs .d-stale{margin-bottom:24px}
.p-docs .d-mtoc{display:none;margin:0 0 24px;border:1px solid var(--line);border-radius:10px;background:var(--white);padding:0 14px}
.p-docs .d-mtoc summary{padding:12px 0;cursor:pointer;font-weight:600;font-size:.92rem}
.p-docs .d-mtoc ol{list-style:none;margin:0 0 12px;padding:0;font-size:.92rem}
.p-docs .d-mtoc li{padding:4px 0}
.p-docs .d-mtoc .r-toc__sub{padding-left:16px}
.p-docs .d-mtoc a{color:var(--body);text-decoration:none}
.p-docs .d-toc__top{display:inline-block;margin-top:14px;font-size:.8rem;color:var(--muted);text-decoration:none}
.p-docs .d-toc__top:hover{color:var(--text)}
.p-docs .d-body{max-width:none;font-size:1.02rem}
.p-docs .d-body h2{scroll-margin-top:calc(var(--top) + 20px);padding-top:.6rem;border-top:1px solid var(--line);margin-top:2.6rem}
.p-docs .d-body h3,.p-docs .d-body h4{scroll-margin-top:calc(var(--top) + 20px)}
.p-docs .d-body>h2:first-child{border-top:0;padding-top:0}
.p-docs .d-anchor{margin-left:8px;color:var(--line-3);text-decoration:none;font-family:var(--f-sans);font-size:.8em;opacity:0;transition:opacity .15s}
.p-docs .d-body h2:hover .d-anchor,.p-docs .d-body h3:hover .d-anchor,.p-docs .d-anchor:focus{opacity:1;color:var(--signal-ink)}
.p-docs .d-body strong{color:var(--text);font-weight:600}
.p-docs .d-body ol.p-steps-list>li{padding-bottom:1.2rem;border-left:1px solid var(--line-2);margin-left:.87rem;padding-left:1.75rem}
.p-docs .d-body ol.p-steps-list>li:last-child{border-left-color:transparent}
.p-docs .d-body ol.p-steps-list>li::before{left:-.88rem}
.p-docs .d-body ol.p-steps-list>li>p:first-child{padding-top:.1rem}
.p-docs .d-body ol.p-steps-list .p-callout{margin-top:.6rem}
.p-docs .d-body ol.p-steps-list>li>.p-callout:last-child,.p-docs .d-body ol.p-steps-list>li>.d-code:last-child{margin-bottom:0}
.p-docs .d-code{position:relative;margin:0 0 1.2rem}
.p-docs .d-code pre{margin:0}
.p-docs .d-code__lang{position:absolute;top:0;left:18px;transform:translateY(-50%);font:500 .62rem/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:#cbd2db;background:var(--ink-3);border:1px solid rgba(255,255,255,.12);padding:4px 7px;border-radius:5px;z-index:1}
.p-docs .d-code__lang+pre{padding-top:22px}
.p-docs .d-body pre .tk-k{color:#9cc4ff}
.p-docs .d-body pre .tk-s{color:#b5e3a1}
.p-docs .d-body pre .tk-n{color:#ffb37c}
.p-docs .d-body pre .tk-c{color:#8a96a6;font-style:italic}
.p-docs .d-body pre .tk-m{color:#ff8a5c;font-weight:600}
.p-docs .d-body pre .tk-u{color:#fff}
.p-docs .d-table{overflow-x:auto;margin:0 0 1.2rem;border:1px solid var(--line);border-radius:10px}
.p-docs .d-table table{margin:0;display:table;border:0;font-size:.92rem}
.p-docs .d-table th,.p-docs .d-table td{border:0;border-bottom:1px solid var(--line)}
.p-docs .d-table th+th,.p-docs .d-table td+td{border-left:1px solid var(--line)}
.p-docs .d-table tbody tr:last-child td{border-bottom:0}
.p-docs .d-table .is-center{text-align:center}.p-docs .d-table .is-right{text-align:right}
.p-docs .d-figure{margin:0 0 1.4rem}
.p-docs .d-figure img{width:100%;height:auto;box-shadow:var(--sh-1)}
.p-docs .d-figure figcaption{margin-top:6px}
.p-docs .d-body .p-callout p{margin:0 0 .4rem}
.p-docs .d-body .p-callout>div{min-width:0}
.p-docs .d-related{margin:48px 0 0}
.p-docs .d-related h2{font:380 1.4rem/1.25 var(--f-display);margin:0 0 12px}
.p-docs .d-related ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
.p-docs .d-related a{display:grid;gap:3px;height:100%;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:var(--white);text-decoration:none;color:var(--body)}
.p-docs .d-related a:hover{border-color:var(--line-3);box-shadow:var(--sh-1)}
.p-docs .d-related b{color:var(--text);font-weight:600;line-height:1.35}
.p-docs .d-related span{font-size:.86rem;color:var(--muted);line-height:1.45}

/* ---- feedback */
.p-docs .d-feedback{margin:40px 0 0;padding:22px 24px;border:1px solid var(--line);border-radius:var(--r);background:var(--white);scroll-margin-top:calc(var(--top) + 20px)}
.p-docs .d-fb__row{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;justify-content:space-between}
.p-docs .d-feedback h2{font:600 1.02rem/1.3 var(--f-sans);margin:0}
.p-docs .d-vote{display:flex;gap:8px}
.p-docs .d-vote .p-btn{min-width:84px}
.p-docs .d-fb__done{display:flex;gap:8px;align-items:center;margin:14px 0 0;color:var(--ok-ink);font-size:.94rem}
.p-docs .d-report{margin:16px 0 0;border-top:1px solid var(--line);padding-top:14px;scroll-margin-top:calc(var(--top) + 20px)}
.p-docs .d-report>summary{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-weight:600;font-size:.94rem;color:var(--text);list-style:none;padding:4px 0}
.p-docs .d-report>summary::-webkit-details-marker{display:none}
.p-docs .d-report>summary::after{content:"";width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin:-3px 0 0 4px;transition:transform .15s}
.p-docs .d-report[open]>summary::after{transform:rotate(225deg);margin-top:3px}
.p-docs .d-report .p-form{margin-top:14px}
.p-docs .d-kinds{grid-template-columns:repeat(2,minmax(0,1fr))}
.p-docs .d-fb__alt{margin:14px 0 0;font-size:.86rem;color:var(--muted)}

/* ---- restricted, retired, 404 */
.p-docs .d-restricted .p-state{margin-top:24px}
.p-docs .d-restricted__box{margin:20px auto 0;max-width:560px;text-align:left;padding:22px 24px;border:1px solid var(--line);border-radius:var(--r);background:var(--white)}
.p-docs .d-restricted__box h2{font:600 1.05rem/1.35 var(--f-sans);margin:0 0 8px}
.p-docs .d-restricted__box p{margin:0 0 8px}
.p-docs .p-state .d-search{margin:24px auto 0;max-width:520px}

/* ---- search */
.p-docs .d-search{display:flex;gap:8px;position:relative;align-items:center}
.p-docs .d-search>.p-i{position:absolute;left:14px;color:var(--muted);pointer-events:none}
.p-docs .d-search input{flex:1;min-width:0;height:44px;border-radius:999px;border:1px solid var(--line-2);background:var(--white);font:inherit;font-size:16px;padding:0 16px 0 42px}
.p-docs .d-search input:focus,.p-docs .d-sfilters input:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(255,91,31,.25)}
.p-docs .d-sfilters{margin:0 0 20px;padding:18px;border:1px solid var(--line);border-radius:var(--r);background:var(--white)}
.p-docs .d-sfilters__q{display:flex;gap:8px;position:relative;align-items:center}
.p-docs .d-sfilters__q>.p-i{position:absolute;left:14px;color:var(--muted);pointer-events:none}
.p-docs .d-sfilters__q input{flex:1;min-width:0;height:48px;border-radius:999px;border:1px solid var(--line-2);font:inherit;font-size:16px;padding:0 16px 0 42px}
.p-docs .d-sfilters__row{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:flex-end;margin-top:14px}
.p-docs .d-sfilters__row .p-field{margin:0;min-width:200px;flex:1 1 200px}
.p-docs .d-sfilters__row label{font-size:.82rem}
.p-docs .d-scount{font-size:.9rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.p-docs .d-chip{display:inline-flex;align-items:center;gap:4px;font-size:.82rem;padding:3px 6px 3px 10px;border-radius:999px;background:var(--paper-2);color:var(--text);text-decoration:none;border:1px solid var(--line-2)}
.p-docs .d-chip .p-i{width:14px;height:14px}
.p-docs .d-chip:hover{border-color:var(--text)}
.p-docs .d-results{max-width:52rem}
.p-docs .d-results li{padding:18px 0}
.p-docs .d-results a{color:var(--text);text-decoration:none}
.p-docs .d-results a:hover{text-decoration:underline;text-decoration-color:var(--signal)}
.p-docs .d-results p{line-height:1.55}
.p-docs .d-sempty{max-width:46rem;padding:8px 0}
.p-docs .d-sempty h2{font:380 1.4rem/1.25 var(--f-display);margin:0 0 10px}
.p-docs .d-sempty ul:not(.d-tasks){padding-left:1.2rem;color:var(--body)}
.p-docs .d-sempty .d-tasks{margin-top:16px}

/* ---- search suggestions (docs.js) */
.d-has-suggest{position:relative}
.d-suggest{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:60;background:var(--white);color:var(--body);border:1px solid var(--line);border-radius:12px;box-shadow:var(--sh-2);padding:6px;list-style:none;margin:0;text-align:left;max-height:min(70vh,460px);overflow-y:auto}
.d-suggest[hidden]{display:none}
.d-suggest li{margin:0}
.d-suggest a{display:grid;gap:1px;padding:9px 12px;border-radius:8px;text-decoration:none;color:var(--text)}
.d-suggest a b{font-weight:600;font-size:.93rem;line-height:1.35}
.d-suggest a small{font-size:.78rem;color:var(--muted)}
.d-suggest [aria-selected=true] a,.d-suggest a:hover{background:var(--paper-2)}
.d-suggest .d-suggest__all a{border-top:1px solid var(--line);border-radius:0 0 8px 8px;margin-top:4px;color:var(--signal-ink);font-weight:600;font-size:.88rem}
.d-suggest .d-suggest__none{padding:10px 12px;font-size:.88rem;color:var(--muted)}
.p-search .d-suggest{left:auto;right:0;width:min(92vw,420px)}

/* ---- responsive */
@media (max-width:1100px){
  .p-docs .d-mtoc{display:block}
}
@media (max-width:900px){
  .p-docs .d-navbox>summary{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:600;font-size:.92rem;color:var(--text);padding:4px 2px;list-style:none}
  .p-docs .d-navbox[open]>summary{margin-bottom:8px}
  .p-docs .d-nav{padding:10px 14px}
  .p-docs .d-home-cols,.p-docs .d-start{grid-template-columns:1fr}
  .p-docs .d-verticals,.p-docs .d-help__cols{grid-template-columns:1fr}
}
@media (max-width:640px){
  .p-docs .d-phead{flex-direction:column;gap:12px}
  .p-docs .d-kinds{grid-template-columns:1fr}
  .p-docs .d-meta__report{margin-left:0}
  .p-docs .d-hero-search{flex-direction:column}
  .p-docs .d-hero-search .p-btn{height:48px}
  .p-docs .d-hero-search .p-i{top:17px}
  .p-docs .d-sfilters__q{flex-wrap:wrap}
  .p-docs .d-sfilters__q>.p-i{top:15px}
  .p-docs .d-sfilters__q .p-btn{width:100%}
  .p-docs .d-prod-grid,.p-docs .d-plist,.p-docs .d-platform{grid-template-columns:1fr}
  .p-docs .d-feedback{padding:18px}
}
@media print{
  .p-docs .d-feedback,.p-docs .d-meta__report,.p-docs .d-vswitch,.p-docs .d-helpline,.p-docs .d-mtoc,.p-docs .d-related{display:none!important}
  .p-docs .r-layout{display:block}
}
.p-docs .d-phead .d-prod__icon,.p-docs .d-pcard .d-prod__icon{background:var(--white);border:1px solid var(--line)}
.p-docs .d-start{align-items:start}
.p-docs .p-results mark{padding:0}
.p-docs .d-vswitch .p-btn{min-height:32px}

/* ---- portal.css ---- */
/* portal.moraph.com: components for the client workspace (src/hosts/portal). Scoped to .p-portal; prefix pt-.
   Appended to the platform bundle by build/build.py. Uses the platform tokens from public/assets/portal.css. */

/* small shared pieces */
.p-portal .pt-label{display:block;font:500 .66rem/1.4 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 6px}
.p-portal .pt-h2{font:600 .78rem/1.4 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:4px 0 12px}
.p-portal .pt-subhead{font:600 .95rem/1.3 var(--f-sans);margin:22px 0 12px;padding-top:18px;border-top:1px solid var(--line)}
.p-portal .pt-late{display:inline-flex;align-items:center;gap:4px;font-size:.78rem;font-weight:600;color:var(--err);white-space:nowrap}
.p-portal .pt-late .p-i{width:14px;height:14px}
.p-portal .pt-late--warn{color:var(--warn-ink)}
.p-portal .pt-links{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.p-portal .pt-links a{display:flex;align-items:center;gap:10px;padding:8px 8px;margin:0 -8px;border-radius:8px;text-decoration:none;font-size:.92rem;font-weight:500}
.p-portal .pt-links a:hover{background:var(--paper)}
.p-portal .pt-links .p-i{color:var(--signal-ink)}
.p-portal .pt-mini{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:8px;font-size:.88rem}
.p-portal .pt-mini li{display:flex;gap:8px;align-items:flex-start;min-width:0}
.p-portal .pt-mini li>a,.p-portal .pt-mini li>span:last-child{min-width:0;overflow-wrap:anywhere}
.p-portal .pt-mini .p-i{width:16px;height:16px;margin-top:2px;color:var(--muted)}
.p-portal .pt-mini .p-pill{flex:0 0 auto}
.p-portal .pt-names{margin:0;padding-left:1.1rem;columns:2;font-size:.9rem}
.p-portal .pt-quote{margin:12px 0 0;padding:8px 0 8px 14px;border-left:3px solid var(--line-2);color:var(--body);font-size:.92rem}
.p-portal .pt-narrow{max-width:760px}
.p-portal .pt-inlineform{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:0}
.p-portal .pt-inlineform .p-select{width:auto;min-width:9rem;font:inherit;font-size:.88rem;padding:.4rem 2.2rem .4rem .6rem;border:1px solid var(--line-2);border-radius:var(--r-sm);background-color:var(--white)}
.p-portal .pt-rowactions{display:flex;gap:6px;flex-wrap:wrap}
.p-portal .pt-who{display:flex;gap:12px;align-items:center;min-width:0}
.p-portal .pt-who small{display:block;color:var(--muted);font-size:.8rem;overflow-wrap:anywhere}
.p-portal .pt-who h2{margin:0}
.p-portal .pt-who p{margin:0}
.p-portal .pt-grant{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin:0}
.p-portal .pt-grant .p-field{margin:0;flex:0 1 240px;min-width:160px}
.p-portal .pt-grant .p-field label{font-size:.78rem}
.p-portal .pt-grant .p-field select,.p-portal .pt-grant .p-field input{padding:.5rem .7rem;font-size:.92rem}
.p-portal .pt-grant .p-btn{min-height:40px}
.p-portal .pt-roles-list{display:grid;grid-template-columns:minmax(120px,190px) 1fr;gap:8px 18px;margin:0;font-size:.9rem}
.p-portal .pt-roles-list dt{font-weight:600;color:var(--text)}
.p-portal .pt-roles-list dd{margin:0;color:var(--muted)}

/* dashboard */
.p-portal .pt-dash>div>.p-card,.p-portal .pt-aside>.p-card{margin-bottom:18px}
.p-portal .pt-aside .p-card:not(.p-card--flush){padding:18px 20px}
.p-portal .pt-attention .p-list__title{font-weight:600}
.p-portal .pt-note-line{display:block;font-size:.84rem;color:var(--warn-ink);margin-top:4px}
.p-portal .pt-prog{width:150px}
.p-portal .pt-prog .p-progress{width:100%}
.p-portal .pt-health-line{margin:0 0 10px}
.p-portal .pt-notices{margin:12px 0;padding-top:12px;border-top:1px solid var(--line)}
.p-portal .pt-rag .p-status{font-size:.82rem}
.p-portal .p-head__meta .p-status{font-size:.84rem}

/* person cards (Moraph team) */
.p-portal .pt-people{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin:0 0 28px}
.p-portal .pt-person{display:flex;gap:14px;align-items:flex-start;background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:18px;box-shadow:var(--sh-1);min-width:0}
.p-portal .pt-person--compact{background:none;border:0;box-shadow:none;padding:0;margin:0 0 10px}
.p-portal .pt-person__main{min-width:0;flex:1}
.p-portal .pt-person__role{font:500 .66rem/1.4 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--signal-ink);margin:0 0 3px}
.p-portal .pt-person__name{font:600 1.02rem/1.3 var(--f-sans);margin:0 0 2px}
.p-portal .pt-person .p-small{margin:0 0 8px}
.p-portal .pt-person__contact{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:.88rem}
.p-portal .pt-person__contact a{display:inline-flex;align-items:center;gap:8px;text-decoration:none;overflow-wrap:anywhere;min-width:0}
.p-portal .pt-person__contact a:hover{text-decoration:underline}
.p-portal .pt-person__contact .p-i{width:15px;height:15px;color:var(--muted)}
.p-portal .pt-person__note{display:flex;gap:8px;margin:12px 0 0;padding:10px 12px;background:var(--paper-3);border-radius:8px;font-size:.85rem;color:var(--body)}
.p-portal .pt-person__note .p-i{width:15px;height:15px;margin-top:2px;color:var(--muted)}
.p-portal .pt-route .p-btn--ghost{color:#fff;border-color:rgba(255,255,255,.35)}
.p-portal .pt-route .p-btn--ghost:hover{background:transparent;border-color:#fff}
.p-portal .pt-route__steps{margin:0 0 4px;padding-left:1.2rem;font-size:.9rem;display:grid;gap:6px}
.p-portal .pt-route__steps b{color:#fff}
.p-portal .pt-whom{margin:0;font-size:.88rem}
.p-portal .pt-whom dt{font-weight:600;color:var(--text);margin-top:10px}
.p-portal .pt-whom dt:first-child{margin-top:0}
.p-portal .pt-whom dd{margin:2px 0 0;color:var(--muted)}

/* services */
.p-portal .pt-services{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:16px}
.p-portal .pt-service{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:20px;box-shadow:var(--sh-1);min-width:0}
.p-portal .pt-service__head{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:start}
.p-portal .pt-service__head .p-tile__icon{margin:0}
.p-portal .pt-service__head .p-small{margin:2px 0 0}
.p-portal .pt-service__title{font:600 1.02rem/1.3 var(--f-sans);margin:0}
.p-portal .pt-service__title a{text-decoration:none}
.p-portal .pt-service__title a:hover{text-decoration:underline}
.p-portal .pt-service__desc{font-size:.9rem;color:var(--body);margin:14px 0 12px;flex:1}
.p-portal .pt-service__meta{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.82rem;color:var(--muted)}
.p-portal .pt-service__meta span{display:inline-flex;align-items:center;gap:6px}
.p-portal .pt-service__meta .p-i{width:15px;height:15px}
.p-portal .pt-service__foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}

/* implementation */
.p-portal .pt-project{padding:20px 22px}
.p-portal .pt-project__head{display:flex;justify-content:space-between;gap:12px 20px;flex-wrap:wrap;align-items:flex-start}
.p-portal .pt-project__head a{text-decoration:none}
.p-portal .pt-project__head a:hover{text-decoration:underline}
.p-portal .pt-project__badges{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.p-portal .pt-project__note{margin:12px 0 0;padding:10px 12px;border-radius:8px;background:var(--warn-soft);color:var(--warn-ink);font-size:.88rem}
.p-portal .pt-project__grid{display:grid;grid-template-columns:1.3fr 1.3fr 1fr;gap:20px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.p-portal .pt-project__grid>div{display:flex;flex-direction:column;gap:4px;min-width:0;font-size:.92rem}
.p-portal .pt-health{border-left:4px solid var(--ok)}
.p-portal .pt-health--amber{border-left-color:#d99a00;background:linear-gradient(to right,var(--warn-soft),var(--white) 60%)}
.p-portal .pt-health--red{border-left-color:var(--err);background:linear-gradient(to right,var(--err-soft),var(--white) 60%)}
.p-portal .pt-health p{margin:.4rem 0 0}
.p-portal .pt-phases{margin:0 0 18px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.p-portal .pt-phases .p-stepper{grid-auto-flow:column;grid-auto-columns:minmax(120px,1fr);overflow-x:auto}
.p-portal .pt-phases .p-stepper li{grid-template-columns:26px 1fr;padding:0 12px 4px 0}
.p-portal .pt-phases .p-stepper li::after{display:none}
.p-portal .pt-phase{font:500 .7rem/1.4 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:18px 0 6px}
.p-portal .pt-phase:first-of-type{margin-top:0}

@media (min-width:861px){.p-portal .pt-ms{table-layout:fixed}.p-portal .pt-ms th:nth-child(1){width:56%}.p-portal .pt-ms th:nth-child(2){width:20%}}

/* onboarding */
.p-portal .pt-checklists{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.p-portal .pt-checklist__title{font:600 1.02rem/1.3 var(--f-sans);margin:0 0 6px}
.p-portal .pt-checklist p{margin:0 0 14px}
.p-portal .pt-checkhead{display:flex;align-items:center;gap:14px;margin:0 0 20px;max-width:560px}
.p-portal .pt-checkhead .p-progress{flex:1}
.p-portal .pt-checkhead .p-small{white-space:nowrap}
.p-portal .pt-section{padding-bottom:6px}
.p-portal .pt-items{list-style:none;margin:10px 0 0;padding:0}
.p-portal .pt-item{display:grid;grid-template-columns:26px 1fr;gap:14px;padding:14px 0;border-top:1px solid var(--line)}
.p-portal .pt-item:first-child{border-top:0;padding-top:4px}
.p-portal .pt-item__mark{width:24px;height:24px;border-radius:50%;border:2px solid var(--line-3);display:grid;place-items:center;margin-top:1px}
.p-portal .pt-item.is-done .pt-item__mark{background:var(--ink);border-color:var(--ink)}
.p-portal .pt-item__mark .p-i{width:14px;height:14px;color:#fff}
.p-portal .pt-item__main{min-width:0}
.p-portal .pt-item__title{font-weight:600;color:var(--text);margin:0}
.p-portal .pt-item.is-done .pt-item__title{color:var(--muted)}
.p-portal .pt-item__detail{margin:4px 0 0;font-size:.9rem;color:var(--body)}
.p-portal .pt-item__meta{display:flex;flex-wrap:wrap;gap:4px 16px;margin:8px 0 0;font-size:.82rem;color:var(--muted)}
.p-portal .pt-item__meta span{display:inline-flex;align-items:center;gap:5px}
.p-portal .pt-item__meta .p-i{width:14px;height:14px}
.p-portal .pt-item__note{margin:8px 0 0;font-size:.86rem;padding:8px 12px;background:var(--paper-3);border-radius:8px}
.p-portal .pt-item__actions{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:flex-start;margin-top:10px}
.p-portal .pt-item__actions:empty{display:none}
.p-portal .pt-files{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.p-portal .pt-files a{display:inline-flex;align-items:center;gap:6px;font-size:.84rem;padding:4px 10px;border:1px solid var(--line);border-radius:6px;background:var(--paper-3);text-decoration:none}
.p-portal .pt-files .p-i{width:14px;height:14px}
.p-portal .pt-do{flex:0 0 auto}
.p-portal .pt-do[open]{flex:1 1 100%;order:2}
.p-portal .pt-do>summary{list-style:none;cursor:pointer;width:max-content}
.p-portal .pt-do>summary::-webkit-details-marker{display:none}
.p-portal .pt-do[open]>summary{background:var(--ink);border-color:var(--ink);color:#fff}
.p-portal .pt-do__form{margin-top:12px;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--paper-3);max-width:560px}
.p-portal .pt-assign{display:flex;gap:6px;align-items:center;margin:0}
.p-portal .pt-assign__sel{font:inherit;font-size:.85rem;padding:.35rem 2rem .35rem .6rem;border:1px solid var(--line-2);border-radius:var(--r-sm);background-color:var(--white);max-width:220px}

/* documents */
.p-portal .pt-docs{display:grid;grid-template-columns:250px minmax(0,1fr);gap:24px;align-items:start}
.p-portal .pt-cats{display:grid;gap:2px;position:sticky;top:calc(var(--top) + 20px)}
.p-portal .pt-cats a{display:flex;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:8px;text-decoration:none;font-size:.9rem;color:var(--body)}
.p-portal .pt-cats a span{font:600 .72rem/1.6 var(--f-sans);color:var(--muted);background:var(--paper-2);border-radius:9px;padding:0 7px;align-self:center}
.p-portal .pt-cats a:hover{background:var(--paper-2);color:var(--text)}
.p-portal .pt-cats a[aria-current=page]{background:var(--white);color:var(--text);font-weight:600;box-shadow:var(--sh-1),inset 3px 0 0 var(--signal)}
.p-portal .pt-lock{display:inline-flex;margin-left:6px;color:var(--warn-ink);vertical-align:-2px}
.p-portal .pt-lock .p-i{width:14px;height:14px}
.p-portal .pt-roles{margin-top:10px;padding:12px 14px;border:1px dashed var(--line-2);border-radius:10px}

/* disclosure for secondary forms */
.p-portal .pt-add{margin-top:16px}
.p-portal .pt-add>summary{list-style:none;cursor:pointer;width:max-content}
.p-portal .pt-add>summary::-webkit-details-marker{display:none}
.p-portal .pt-add[open]>summary{margin-bottom:16px}

/* people */
.p-portal #invite .p-radios{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:860px){.p-portal #invite .p-radios{grid-template-columns:1fr}}
.p-portal .pt-request{padding:20px 22px}
.p-portal .pt-request__actions{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:flex-end;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}

/* search and help */
.p-portal .pt-results .p-card__title{display:flex;align-items:center;gap:8px;margin-bottom:4px}
.p-portal .pt-results .p-results li:last-child{border-bottom:0;padding-bottom:0}
.p-portal .pt-help{margin-top:4px}

/* public home */
.p-portal .pt-hero h1{max-width:20ch}

@media (max-width:1100px){
  .p-portal .pt-project__grid{grid-template-columns:1fr 1fr}
  .p-portal .pt-project__grid>div:last-child{grid-column:1/-1}
}
@media (max-width:860px){
  .p-portal .pt-docs{grid-template-columns:1fr}
  .p-portal .pt-cats{position:static;display:flex;overflow-x:auto;gap:4px;padding-bottom:4px;scrollbar-width:thin}
  .p-portal .pt-cats a{flex:0 0 auto;white-space:nowrap}
  .p-portal .pt-prog{width:100%;padding-left:48px}
  .p-portal .pt-project__grid{grid-template-columns:1fr}
  .p-portal .pt-roles-list{grid-template-columns:1fr;gap:2px}
  .p-portal .pt-roles-list dd{margin-bottom:10px}
  .p-portal .pt-names{columns:1}
  .p-portal .pt-services,.p-portal .pt-people,.p-portal .pt-checklists{grid-template-columns:1fr}
  .p-portal .pt-service__head{grid-template-columns:auto 1fr}
  .p-portal .pt-service__head>.p-status{grid-column:2}
}
@media print{
  .p-portal .pt-do,.p-portal .pt-assign,.p-portal .pt-cats{display:none!important}
}
.p-portal .p-kpis>*{min-width:0}
@media (max-width:560px){.p-portal .p-kpi__value{font-size:1.45rem;overflow-wrap:anywhere}}
/* references such as MS-7KQ2HM never break mid-reference (used by portal and support) */
.pt-ref{white-space:nowrap}

/* ---- status.css ---- */
/* status.moraph.com (status/, its own Worker). Appended to portal.css by build/build.py and copied into status/public
   by status/build.mjs. Components use the st- prefix; host-only rules are scoped under body.p-status. */

/* The page shell gives the body class "p-status", which is also the name of the status-label component
   (.p-status: inline-flex, centred, no wrapping). Undo those on the body only. */
body.p-body.p-status{align-items:stretch;gap:0;white-space:normal}

/* ---- overall banner */
.st-overall{display:flex;gap:20px;align-items:flex-start;background:var(--white);border:1px solid var(--line);border-left:6px solid var(--ok);border-radius:var(--r-lg);padding:clamp(20px,3vw,32px);box-shadow:var(--sh-1);margin:0 0 14px}
.st-overall__icon{flex:0 0 auto;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--ok-soft);color:var(--ok-ink)}
.st-overall__icon .p-i{width:28px;height:28px}
.st-overall .p-h1{margin:0 0 .35rem;font-size:clamp(1.7rem,1.3rem + 1.4vw,2.5rem);line-height:1.15}
.st-overall .p-kicker{margin-bottom:.4rem}
.st-overall__lede{margin:0;color:var(--muted);font-size:1.02rem;max-width:60ch}
.st-overall--degraded{border-left-color:#d99a00}.st-overall--degraded .st-overall__icon{background:var(--warn-soft);color:var(--warn-ink)}
.st-overall--partial{border-left-color:var(--partial)}.st-overall--partial .st-overall__icon{background:var(--partial-soft);color:var(--partial-ink)}
.st-overall--major{border-left-color:var(--err);background:var(--err-soft);border-color:var(--err-line)}.st-overall--major .st-overall__icon{background:var(--err);color:#fff}
.st-overall--unknown{border-left-color:var(--neutral)}.st-overall--unknown .st-overall__icon{background:var(--paper-2);color:var(--text)}
.st-overall--maintenance{border-left-color:var(--info)}.st-overall--maintenance .st-overall__icon{background:var(--info-soft);color:var(--info-ink)}

/* ---- last updated and the time-zone switch */
.st-timebar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 20px;margin:0 0 28px;font-size:.86rem;color:var(--muted)}
.st-timebar__updated{display:flex;align-items:center;gap:7px;margin:0}
.st-timebar__updated .p-i{width:16px;height:16px}
.st-timebar time{color:var(--text);font-weight:550}
.st-tz{display:flex;align-items:center;gap:10px}
.st-tz__opts{display:inline-flex;border:1px solid var(--line-2);border-radius:999px;padding:2px;background:var(--white)}
.st-tz__utc{padding:4px 12px;font-weight:600;color:var(--text)}
.st-tz__btn{appearance:none;border:0;background:transparent;border-radius:999px;padding:5px 12px;min-height:30px;font:550 .84rem/1 var(--f-sans);color:var(--muted);cursor:pointer}
.st-tz__btn[aria-pressed=true]{background:var(--ink);color:#fff}
.st-tz__btn:hover{color:var(--text)}.st-tz__btn[aria-pressed=true]:hover{color:#fff}
.st-tz__btn:focus-visible{outline:2px solid var(--signal);outline-offset:2px}
.st-tz__name{font-weight:400;opacity:.8;margin-left:5px}
.st-tz__name:empty{display:none}
.st-tz.is-js .st-tz__utc{display:none}

/* ---- headings, legend */
.st-h2{font:360 1.55rem/1.2 var(--f-display);margin:0 0 14px;letter-spacing:-.01em}
.st-h3{font:600 .95rem/1.3 var(--f-sans);margin:1rem 0 .4rem}
.st-section{margin-bottom:28px}
.st-groups-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:10px 24px;margin:36px 0 14px}
.st-groups-head .st-h2{margin:0}
.st-legend{display:flex;flex-wrap:wrap;gap:6px 16px;list-style:none;margin:0;padding:0}
.st-legend .p-status{font-size:.8rem;font-weight:500;color:var(--muted)}
.st-headstate{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;font-size:.88rem;color:var(--muted)}

/* ---- component groups */
.st-group .p-card__head{align-items:center}
.st-comps{list-style:none;margin:0;padding:0}
.st-comp{padding:14px 0;border-top:1px solid var(--line)}
.st-comp:first-child{border-top:0;padding-top:4px}
.st-comp__row{display:flex;align-items:flex-start;justify-content:space-between;gap:8px 20px;flex-wrap:wrap}
.st-comp__main{display:flex;flex-direction:column;min-width:0;flex:1 1 260px}
.st-comp__name{font-weight:600;color:var(--text);text-decoration:none}
.st-comp__name:hover{text-decoration:underline}
.st-comp__desc{font-size:.84rem;color:var(--muted)}
.st-comp__state{display:flex;flex-direction:column;align-items:flex-end;gap:3px;text-align:right}
.st-comp__src{font-size:.76rem;color:var(--muted)}
.st-comps--compact .st-comp{padding:10px 0}
.st-vertical{border-top:1px solid var(--line)}
.st-vertical:first-of-type{border-top:0}
.st-vertical>summary{display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap;padding:12px 0;cursor:pointer;list-style:none}
.st-vertical>summary::-webkit-details-marker{display:none}
.st-vertical>summary::before{content:"";width:8px;height:8px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(-45deg);transition:transform .15s var(--ease);margin-right:2px}
.st-vertical[open]>summary::before{transform:rotate(45deg)}
.st-vertical>summary:focus-visible{outline:2px solid var(--signal);outline-offset:2px;border-radius:6px}
.st-vertical__name{font-weight:600;color:var(--text)}
.st-vertical__meta{font-size:.82rem;color:var(--muted);margin-right:auto}
.st-vertical>ul,.st-vertical>.p-checks{padding:0 0 10px 18px}

/* ---- uptime bars (from real check data only) */
.st-uptime{margin-top:10px}
.st-bars{display:flex;gap:2px;height:30px;margin:0;padding:0;list-style:none}
.st-bar{flex:1 1 0;min-width:2px;border-radius:2px;background:var(--ok)}
.st-bar--degraded{background:#d99a00}
.st-bar--partial{background:var(--partial)}
.st-bar--major{background:var(--err)}
.st-bar--nodata{background:repeating-linear-gradient(135deg,var(--paper-2) 0 3px,var(--line) 3px 5px)}
.st-bar:hover{opacity:.7}
.st-bars__legend{display:flex;justify-content:space-between;gap:10px;margin-top:5px;font-size:.74rem;color:var(--muted)}
.st-bars__pct{color:var(--text);font-weight:550}
.st-bars__note{margin:.35rem 0 0;font-size:.76rem;color:var(--muted)}
.st-narrow{display:none}

/* ---- incidents and maintenance */
.st-inc{background:var(--white);border:1px solid var(--line);border-left:5px solid var(--partial);border-radius:var(--r);padding:18px 22px;margin:0 0 14px;box-shadow:var(--sh-1)}
.st-inc--degraded{border-left-color:#d99a00}.st-inc--major{border-left-color:var(--err)}
.st-inc__head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px 16px;flex-wrap:wrap}
.st-inc__title{font:600 1.08rem/1.35 var(--f-sans);margin:0}
.st-inc__title a{color:var(--text);text-decoration:none}.st-inc__title a:hover{text-decoration:underline}
.st-inc__meta{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;font-size:.84rem;color:var(--muted);margin:.5rem 0 .75rem}
.st-inc__latest{background:var(--paper-3);border-radius:var(--r-sm);padding:12px 14px;margin:0 0 10px;font-size:.92rem}
.st-inc__latest p{margin:0}
.st-inc__latest-h{font-size:.8rem;color:var(--muted);margin-bottom:4px!important}
.st-mnts,.st-past,.st-history,.st-mini,.st-deliveries,.st-crows{list-style:none;margin:0;padding:0}
.st-mnt{display:flex;justify-content:space-between;align-items:flex-start;gap:8px 16px;padding:12px 0;border-top:1px solid var(--line);flex-wrap:wrap}
.st-mnt:first-child{border-top:0;padding-top:0}
.st-mnt__main{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 280px}
.st-mnt__title{font-weight:600;color:var(--text);text-decoration:none}.st-mnt__title:hover{text-decoration:underline}
.st-mnt__when{display:block;font-size:.84rem;color:var(--muted)}
.st-mnt__when .p-i{width:15px;height:15px;vertical-align:-3px;margin-right:6px}
.st-mnt__svc{font-size:.82rem;color:var(--muted)}
.st-past li,.st-mini li,.st-deliveries li{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 14px;padding:10px 0;border-top:1px solid var(--line)}
.st-past li:first-child,.st-mini li:first-child,.st-deliveries li:first-child{border-top:0;padding-top:0}
.st-past li>span{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:.84rem;color:var(--muted)}
.st-past a,.st-mini a{font-weight:550;color:var(--text)}
.st-deliveries li{display:block;font-size:.88rem}
.st-history li{display:flex;justify-content:space-between;align-items:flex-start;gap:8px 18px;padding:14px 0;border-top:1px solid var(--line);flex-wrap:wrap}
.st-history li:first-child{border-top:0;padding-top:0}
.st-history__main{display:flex;flex-direction:column;gap:3px;flex:1 1 320px;min-width:0}
.st-history__title{font-weight:600;color:var(--text)}
.st-history__meta{font-size:.84rem;color:var(--muted)}
.st-history__badges{display:flex;flex-wrap:wrap;gap:6px 14px}
.st-months{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin:8px 0 16px}
.st-months a{display:inline-flex;align-items:center;gap:6px;font-size:.88rem;font-weight:550;color:var(--text);text-decoration:none}
.st-months a:hover{text-decoration:underline}
.st-months a[rel=next]{justify-self:end}
.st-months a .p-i{width:16px;height:16px}
.st-months__now{font:360 1.4rem/1.2 var(--f-display);margin:0;text-align:center}
.st-chip{display:inline-block;margin:0 6px 6px 0;padding:3px 10px;border-radius:999px;background:var(--paper-2);font-size:.84rem}
.st-chip a{color:var(--text);text-decoration:none}.st-chip a:hover{text-decoration:underline}
.st-facts-note{display:block;font-size:.8rem;color:var(--muted);margin-top:3px}

/* ---- incident timeline */
.st-updates{list-style:none;margin:0;padding:0 0 0 18px;border-left:2px solid var(--line-2)}
.st-update{position:relative;padding:0 0 22px 4px}
.st-update:last-child{padding-bottom:0}
.st-update::before{content:"";position:absolute;left:-25px;top:5px;width:12px;height:12px;border-radius:50%;background:var(--white);border:2px solid var(--line-3)}
.st-update:first-child::before{border-color:var(--signal);background:var(--signal)}
.st-update__head{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;font-size:.84rem;color:var(--muted);margin-bottom:6px}
.st-update__impact{font-size:.78rem}
.st-update__body p:last-child{margin-bottom:0}
.st-update__edited{font-size:.76rem;color:var(--faint);margin:.3rem 0 0;font-style:italic}
.st-update__edit{margin-left:auto;font-size:.82rem}
.st-resolution .p-i{color:var(--ok);vertical-align:-3px}

/* ---- subscribe */
.st-subscribe{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px;background:var(--ink);color:rgba(255,255,255,.78);border-radius:var(--r-lg);padding:clamp(22px,3vw,32px);margin-top:28px}
.st-subscribe .st-h2{color:#fff;margin-bottom:.3rem}
.st-subscribe p{margin:0}
.st-subscribe .p-btn-row{margin:0}
.st-subscribe .p-btn--ghost{color:#fff;border-color:rgba(255,255,255,.4)}
.st-subscribe .p-btn--ghost:hover{border-color:#fff;background:transparent;color:#fff}
.st-picks{display:flex;flex-direction:column;gap:14px;margin-top:14px;padding:16px;border:1px solid var(--line);border-radius:var(--r);background:var(--paper-3)}
.st-scope:has(input[value=all]:checked) .st-picks{display:none}
.st-pickgroup{border:0;margin:0;padding:0;min-width:0}
.st-pickgroup>legend{font:500 .72rem/1.4 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;padding:0}
.st-pick{margin:0}
.st-vertical--pick>summary{padding:8px 0}
.st-picks--open{background:var(--paper-3)}
.st-ways{list-style:none;margin:0;padding:0}
.st-ways li{display:flex;gap:12px;padding:10px 0;border-top:1px solid var(--line)}
.st-ways li:first-child{border-top:0;padding-top:0}
.st-ways li>.p-i{flex:0 0 auto;margin-top:3px;color:var(--signal-ink)}
.st-ways p{margin:.15rem 0 0;font-size:.86rem;color:var(--muted)}
.st-ways a{font-weight:600}
.st-terms h2{font:360 1.4rem/1.2 var(--f-display);margin:1.5rem 0 .5rem}
.st-terms h2:first-child{margin-top:0}
.st-stale{margin-bottom:16px}

/* ---- operator console */
.st-console-split{grid-template-columns:minmax(0,1fr) 340px}
.st-preview{border:2px dashed var(--line-3);border-radius:var(--r);padding:16px;margin:0 0 16px;background:var(--paper)}
.st-preview.p-card{padding:clamp(18px,2.4vw,24px);border-style:dashed}
.st-preview__frame{background:var(--paper);border-radius:var(--r-sm);padding:16px}
.st-preview__frame .p-split{grid-template-columns:minmax(0,1fr) 300px}
.st-preview--update{background:var(--paper-3)}
.st-checklist{margin-top:8px}
.st-checklist .p-checks{gap:10px}
.st-ack{font-weight:600}
.st-warnings ul{margin:.3rem 0 .5rem;padding-left:1.2rem}
.st-crows>li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.7fr) minmax(0,2fr);gap:8px 16px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}
.st-crows>li:first-child{border-top:0}
.st-crow__main{display:flex;flex-direction:column;min-width:0}
.st-crow__now{display:flex;flex-direction:column;gap:2px}
.st-crow__form{display:flex;flex-wrap:nowrap;gap:6px;align-items:center}
.st-crow__form select,.st-crow__form input,.st-inline-select select{min-height:34px;padding:4px 10px;border:1px solid var(--line-2);border-radius:8px;font:inherit;font-size:.86rem;background:var(--white);color:var(--text)}
.st-crow__form select{flex:1 1 150px;min-width:0}.st-crow__form input{flex:2 1 120px;min-width:0}.st-crow__form .p-btn{flex:none}
.st-inline-select{display:flex;gap:6px;align-items:center}
.st-mini li>span:last-child{white-space:nowrap}
.st-mini .p-status{margin-left:auto}
.st-rules li{display:block;padding:8px 0;font-size:.92rem}
.st-enroll{padding-left:1.2rem}
.st-enroll li{margin-bottom:1rem}
.st-break{word-break:break-all}
.st-danger-link{margin:12px 0 0;text-align:right}
.st-notice{border:1px solid var(--line);border-left:4px solid var(--info);border-radius:var(--r-sm);padding:14px 16px;background:var(--white)}
.st-notice--impact{border-left-color:var(--partial)}.st-notice--action{border-left-color:var(--err)}
.st-notice__for{display:flex;align-items:center;gap:6px;font-size:.78rem;color:var(--muted);margin:0 0 8px}
.st-notice__for .p-i{width:14px;height:14px}
.st-notice__head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin-bottom:6px}
.st-alarm .p-btn-row,.st-alarm p:last-child{margin-bottom:0}

@media (max-width:900px){
  .st-console-split,.st-preview__frame .p-split{grid-template-columns:1fr}
  .st-crows>li{grid-template-columns:1fr}
  .st-crow__form{flex-wrap:wrap}
}
@media (max-width:640px){
  .st-overall{flex-direction:column;gap:12px}
  .st-overall__icon{width:44px;height:44px}
  .st-bar:nth-child(-n+60){display:none}
  .st-wide{display:none}.st-narrow{display:inline}
  .st-comp__state{align-items:flex-start;text-align:left}
  .st-top-support{padding:0 10px;font-size:.8rem}
  .st-months{grid-template-columns:1fr 1fr}
  .st-months__now{grid-column:1/-1;grid-row:1}
  .st-timebar{flex-direction:column;align-items:flex-start}
}
@media print{.st-tz,.st-subscribe{display:none}}
.p-top .st-top-support{color:#fff;border-color:rgba(255,255,255,.35);background:transparent}
.p-top .st-top-support:hover{border-color:#fff;background:transparent;color:#fff}
.st-groups-note{margin:.3rem 0 0;font-size:.84rem;color:var(--muted);max-width:60ch}
.st-tz__btn{white-space:nowrap}
@media (max-width:640px){.st-tz__name{display:none}.st-tz{flex-wrap:wrap}}

/* ---- suppliers.css ---- */
/* suppliers.moraph.com: components specific to the supplier workspace and its public pages. Scoped under .p-suppliers
   (the body class) and the sp- prefix so nothing here reaches another host. */

/* Landing */
.p-suppliers .sp-hero h1{max-width:14ch}
.p-suppliers .sp-hero .p-btn-row{margin-top:26px}
.p-suppliers .sp-routes{margin-top:-8px}
.p-suppliers .sp-tile-h{font:600 1.05rem/1.3 var(--f-sans);margin:0 0 .4rem;color:var(--text)}
.p-suppliers .sp-tile-go{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-weight:600;font-size:.9rem;color:var(--signal-ink)}
.p-suppliers .sp-tile-go .p-i{width:16px;height:16px;transition:transform .15s var(--ease)}
.p-suppliers a.p-tile:hover .sp-tile-go .p-i{transform:translateX(3px)}
.p-suppliers .sp-tile--static,.p-suppliers .sp-tile--static:hover{transform:none;box-shadow:var(--sh-1);border-color:var(--line);cursor:default}
.p-suppliers .sp-links{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px 24px}
.p-suppliers .sp-links li{padding:10px 0;border-bottom:1px solid var(--line)}
.p-suppliers .sp-links a{font-weight:600}
.p-suppliers .p-card .sp-links{grid-template-columns:1fr;gap:0}
.p-suppliers .p-card .sp-links li:last-child{border-bottom:0}

/* "After you submit" timeline */
.p-suppliers .sp-after{list-style:none;margin:0;padding:0;display:grid;gap:0;border-left:2px solid var(--line-2);margin-left:6px}
.p-suppliers .sp-after li{display:grid;grid-template-columns:120px 1fr;gap:4px 20px;padding:0 0 22px 22px;position:relative}
.p-suppliers .sp-after li::before{content:"";position:absolute;left:-7px;top:4px;width:12px;height:12px;border-radius:50%;background:var(--white);border:2px solid var(--signal)}
.p-suppliers .sp-after li:last-child{padding-bottom:0}
.p-suppliers .sp-after__k{font:500 .72rem/1.9 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--signal-ink)}
.p-suppliers .sp-after h3{font:600 1rem/1.35 var(--f-sans);margin:0 0 .2rem;color:var(--text)}
.p-suppliers .sp-after p{margin:0;color:var(--muted);font-size:.94rem}
.p-suppliers .sp-left{text-align:left;margin:24px 0}

/* Status panel: always at the top of the workspace */
.p-suppliers .sp-status{background:var(--white);border:1px solid var(--line);border-left:4px solid var(--neutral);border-radius:var(--r);padding:22px 24px;margin:0 0 24px;box-shadow:var(--sh-1)}
.p-suppliers .sp-status--ok{border-left-color:var(--ok)}
.p-suppliers .sp-status--warn{border-left-color:var(--warn)}
.p-suppliers .sp-status--err{border-left-color:var(--err)}
.p-suppliers .sp-status--info{border-left-color:var(--info)}
.p-suppliers .sp-status--partial{border-left-color:var(--partial)}
.p-suppliers .sp-status__top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px 24px;margin-bottom:18px}
.p-suppliers .sp-status__title{margin:2px 0 0;font:380 1.6rem/1.2 var(--f-display)}
.p-suppliers .sp-status__title .p-status{font:inherit;color:var(--text);gap:10px}
.p-suppliers .sp-status__title .p-status__dot{width:12px;height:12px}
.p-suppliers .sp-status__ref{margin:0;font-size:.85rem;color:var(--muted)}
.p-suppliers .sp-status__ref b{color:var(--text)}
.p-suppliers .sp-status .p-stepper--h{margin:0 0 20px;padding-bottom:4px}
.p-suppliers .sp-status__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 28px;border-top:1px solid var(--line);padding-top:18px}
.p-suppliers .sp-status__grid h3,.p-suppliers .sp-status__note h3{font:500 .7rem/1.4 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 .35rem}
.p-suppliers .sp-status__grid p{margin:0;font-size:.93rem;color:var(--body)}
.p-suppliers .sp-status__note{margin-top:18px;padding:14px 16px;border-radius:10px;background:var(--warn-soft);border:1px solid var(--warn-line);color:var(--warn-ink)}
.p-suppliers .sp-status__note h3{color:var(--warn-ink)}
.p-suppliers .sp-status__note p{margin:0 0 .4rem}
.p-suppliers .sp-status__note p:last-child{margin:0}

/* Checklists */
.p-suppliers .sp-checklist{margin:0;padding-left:1.2rem}
.p-suppliers .sp-checklist li{margin:0 0 .45rem}
.p-suppliers .sp-checklist--state{list-style:none;padding:0}
.p-suppliers .sp-checklist--state li{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);margin:0}
.p-suppliers .sp-checklist--state li:last-child{border-bottom:0}
.p-suppliers .sp-checklist--state .is-done .p-i{color:var(--ok)}
.p-suppliers .sp-checklist--state .is-todo{color:var(--muted)}
.p-suppliers .sp-checklist--state .is-todo .p-i{color:var(--warn)}
.p-suppliers .sp-steps-small{margin:0;padding-left:1.2rem;font-size:.92rem}
.p-suppliers .sp-steps-small li{margin-bottom:.5rem}

/* Forms and small pieces */
.p-suppliers .sp-steps-wrap{margin:18px 0 6px}
.p-suppliers .sp-routes{grid-template-columns:repeat(3,minmax(0,1fr))}
.p-suppliers .sp-tiles3{grid-template-columns:repeat(3,minmax(0,1fr))}
.p-suppliers .sp-cats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px}
.p-suppliers .sp-cats .p-check small{display:block;color:var(--muted);font-weight:400}
.p-suppliers .sp-role{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.p-suppliers .sp-role select{min-height:32px;padding:4px 8px;border:1px solid var(--line-3);border-radius:var(--r-sm);background:var(--white);font:inherit;font-size:.88rem}
.p-suppliers .sp-facts--stack{grid-template-columns:1fr;gap:2px}
.p-suppliers .sp-facts--stack dt{margin-top:10px}
.p-suppliers .sp-facts--stack dt:first-child{margin-top:0}
.p-suppliers .sp-pad{padding:16px 22px;margin:0}
.p-suppliers .sp-late{display:inline-flex;align-items:center;gap:4px;font-size:.8rem;font-weight:600;color:var(--err-ink)}
.p-suppliers .sp-late .p-i{width:14px;height:14px}
.p-suppliers .sp-attach{display:flex;align-items:center;gap:6px;margin:.6rem 0 0;font-size:.88rem}
.p-suppliers .sp-attach .p-i{width:16px;height:16px;color:var(--muted)}
.p-suppliers .sp-total{display:flex;justify-content:flex-end;gap:24px;padding:14px 22px;border-top:1px solid var(--line);font-size:1rem}
.p-suppliers .sp-total b{font-variant-numeric:tabular-nums;color:var(--text)}
.p-suppliers .sp-invstatus .p-stepper--h{margin-bottom:16px}
.p-suppliers .sp-invstatus>p{margin:0 0 .6rem}
.p-suppliers .sp-bank{display:flex;gap:14px;align-items:flex-start}
.p-suppliers .sp-bank>.p-i{width:40px;height:40px;padding:9px;border-radius:10px;background:var(--paper);color:var(--signal-ink);flex:0 0 auto}
.p-suppliers .sp-bank div{display:grid;gap:2px}
.p-suppliers .sp-bank b{color:var(--text);font-size:1.02rem}
.p-suppliers .sp-confirm{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.p-suppliers .sp-faq details{border-bottom:1px solid var(--line);padding:12px 0}
.p-suppliers .sp-faq details:last-child{border-bottom:0}
.p-suppliers .sp-faq summary{cursor:pointer;font-weight:600;color:var(--text)}
.p-suppliers .sp-faq details p{margin:.6rem 0 0;color:var(--body)}

@media (max-width:860px){
  .p-suppliers .sp-status{padding:18px}
  .p-suppliers .sp-status__grid{grid-template-columns:1fr}
  .p-suppliers .sp-cats,.p-suppliers .sp-routes,.p-suppliers .sp-tiles3{grid-template-columns:1fr}
  .p-suppliers .sp-after li{grid-template-columns:1fr;gap:2px}
  .p-suppliers .sp-status .p-stepper--h li{min-width:110px}
}

/* ---- trust.css ---- */
/* trust.moraph.com: Trust Center layouts and pieces. Everything is scoped to body.p-trust (docs/platform.md). */

/* ---------------------------------------------------------------- hero and figures */
.p-trust .t-hero{padding-bottom:0;overflow:hidden}
.p-trust .t-hero__in{max-width:52rem}
.p-trust .t-hero h1{max-width:20ch}
.p-trust .t-hero .p-btn-row{margin-top:1.75rem}
.p-trust .t-figures{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:0;margin:0 0 28px;border:1px solid var(--line);border-radius:var(--r);background:var(--white);box-shadow:var(--sh-1);overflow:hidden}
.p-trust .t-figures>div{padding:18px 20px;border-right:1px solid var(--line)}
.p-trust .t-figures>div:last-child{border-right:0}
.p-trust .t-figures dt{font:380 1.9rem/1.1 var(--f-display);color:var(--text);letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.p-trust .t-figures dd{margin:.4rem 0 0;font-size:.86rem;color:var(--muted);line-height:1.45}
.p-trust .t-figures--hero{margin:48px calc(-1 * clamp(20px,4vw,56px)) 0;border:0;border-top:1px solid rgba(255,255,255,.12);border-radius:0;background:rgba(255,255,255,.03);box-shadow:none}
.p-trust .t-figures--hero>div{border-right-color:rgba(255,255,255,.12);padding:22px clamp(20px,3vw,32px) 24px}
.p-trust .t-figures--hero dt{color:#fff;font-size:clamp(1.8rem,1.4rem + 1vw,2.4rem)}
.p-trust .t-figures--hero dd{color:rgba(255,255,255,.66)}

/* ---------------------------------------------------------------- overview */
.p-trust .t-split{margin-top:8px}
.p-trust .t-card-h{display:flex;align-items:center;gap:10px;font:600 1rem/1.3 var(--f-sans);margin:0 0 14px}
.p-trust .t-card-h .p-i{color:var(--signal-ink)}
.p-trust .t-assure{list-style:none;margin:0 0 14px;padding:0}
.p-trust .t-assure li{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;padding:12px 0;border-bottom:1px solid var(--line)}
.p-trust .t-assure li:first-child{padding-top:0}
.p-trust .t-assure a{text-decoration:none;flex:1 1 auto}
.p-trust .t-assure a:hover b{text-decoration:underline}
.p-trust .t-assure b{font-size:1.02rem;color:var(--text)}
.p-trust .t-assure .p-small{flex-basis:100%;margin:0}
.p-trust .t-chips{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.p-trust .t-chips a{display:inline-flex;align-items:center;min-height:32px;padding:4px 12px;border:1px solid var(--line-2);border-radius:999px;background:var(--paper-3);font-size:.86rem;text-decoration:none;color:var(--text)}
.p-trust .t-chips a:hover{border-color:var(--text);background:var(--white)}
.p-trust .t-gotos{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.p-trust .t-goto{display:flex;flex-direction:column}
.p-trust .t-goto p{flex:1}
.p-trust .t-goto__more{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-size:.86rem;font-weight:600;color:var(--text)}
.p-trust .t-goto__more .p-i{width:15px;height:15px;transition:transform .15s var(--ease)}
.p-trust .t-goto:hover .t-goto__more .p-i{transform:translateX(3px)}
.p-trust .t-evidence{margin:48px 0 0;padding:clamp(24px,4vw,44px);border-radius:var(--r-lg);background:var(--ink);color:rgba(255,255,255,.76);position:relative;overflow:hidden}
.p-trust .t-evidence::after{content:"";position:absolute;inset:0;background:radial-gradient(50% 80% at 100% 100%,rgba(255,91,31,.18),transparent 60%);pointer-events:none}
.p-trust .t-evidence>*{position:relative;z-index:1}
.p-trust .t-evidence h2{font:360 clamp(1.7rem,1.3rem + 1vw,2.2rem)/1.15 var(--f-display);color:#fff;margin-bottom:.75rem}
.p-trust .t-evidence .p-kicker{color:var(--signal)}
.p-trust .t-evidence__text{max-width:52rem}
.p-trust .t-evidence .p-btn--ghost{color:#fff;border-color:rgba(255,255,255,.4)}
.p-trust .t-evidence .p-btn--ghost:hover{background:transparent;border-color:#fff}
.p-trust .t-flow{list-style:none;counter-reset:f;margin:20px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.p-trust .t-flow li{counter-increment:f;padding:14px 14px 16px;border:1px solid rgba(255,255,255,.14);border-radius:10px;font-size:.88rem;line-height:1.45;color:rgba(255,255,255,.86)}
.p-trust .t-flow li::before{content:"0" counter(f);display:block;font:500 .72rem/1 var(--f-mono);letter-spacing:.12em;color:var(--signal);margin-bottom:8px}
.p-trust .t-flow--compact{grid-template-columns:1fr;gap:0;margin:0}
.p-trust .t-flow--compact li{border:0;border-bottom:1px solid var(--line);border-radius:0;padding:10px 0 10px 36px;position:relative;color:var(--body)}
.p-trust .t-flow--compact li:last-child{border-bottom:0}
.p-trust .t-flow--compact li::before{position:absolute;left:0;top:12px;color:var(--signal-ink)}

/* updates */
.p-trust .t-updates{list-style:none;margin:0;padding:0;background:var(--white);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-1)}
.p-trust .t-update{display:grid;grid-template-columns:150px minmax(0,1fr);gap:8px 24px;padding:20px 22px;border-bottom:1px solid var(--line)}
.p-trust .t-update:last-child{border-bottom:0}
.p-trust .t-update__meta{display:flex;flex-direction:column;align-items:flex-start;gap:8px;font-size:.86rem;color:var(--muted)}
.p-trust .t-update h3{font:600 1.02rem/1.35 var(--f-sans);margin:0 0 .35rem}
.p-trust .t-update__body{font-size:.93rem}
.p-trust .t-update__body p:last-child{margin:0}
.p-trust .t-updates--short .t-update__body{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.p-trust .t-updates-wrap{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}
.p-trust .t-updates-wrap .p-tabs{margin-bottom:18px}

/* ---------------------------------------------------------------- reading pages */
.p-trust .t-reading{align-items:start}
.p-trust .t-rail .r-nav__h{margin-top:20px}
.p-trust .t-rail .r-nav__h:first-child{margin-top:0}
.p-trust .t-article{min-width:0}
.p-trust .t-article--aside{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:32px;align-items:start}
.p-trust .t-article__main{min-width:0}
.p-trust .t-aside{position:sticky;top:calc(var(--top) + 20px)}
.p-trust .t-aside__card{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:18px;box-shadow:var(--sh-1)}
.p-trust .t-aside__h{display:flex;align-items:center;gap:8px;font:500 .7rem/1.3 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 12px}
.p-trust .t-aside__h .p-i{width:16px;height:16px;color:var(--signal-ink)}
.p-trust .t-aside__actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:14px}
.p-trust .t-mini{list-style:none;margin:0;padding:0}
.p-trust .t-mini li{display:grid;gap:1px;padding:10px 0;border-bottom:1px solid var(--line);font-size:.86rem}
.p-trust .t-mini li:first-child{padding-top:0}
.p-trust .t-mini a{font-weight:600;text-decoration:none}
.p-trust .t-mini a:hover{text-decoration:underline}
.p-trust .t-mini span{color:var(--muted);font-size:.8rem}
.p-trust .t-lead{font-size:1.08rem;line-height:1.65;color:var(--text);max-width:46rem}
.p-trust .t-h2{font:380 1.5rem/1.25 var(--f-display);letter-spacing:-.01em;margin:36px 0 14px}
.p-trust .t-note{max-width:48rem;color:var(--muted);font-size:.94rem}
.p-trust .t-tiles{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.p-trust .t-tiles--2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.p-trust .t-regions{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:24px 0}
.p-trust .t-region{background:var(--white);border:1px solid var(--line);border-top:3px solid var(--ink);border-radius:var(--r);padding:20px;box-shadow:var(--sh-1)}
.p-trust .t-region__name{font:380 1.45rem/1.2 var(--f-display);color:var(--text);margin:0 0 .3rem}
.p-trust .t-region__site{display:flex;align-items:center;gap:6px;font:500 .74rem/1.3 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--signal-ink);margin:0 0 .8rem}
.p-trust .t-region__site .p-i{width:15px;height:15px}
.p-trust .t-region p:last-child{margin:0;font-size:.92rem;color:var(--muted)}
.p-trust .t-links{list-style:none;margin:0 0 1.5rem;padding:0;background:var(--white);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-1)}
.p-trust .t-links li{display:grid;gap:2px;padding:14px 18px;border-bottom:1px solid var(--line)}
.p-trust .t-links li:last-child{border-bottom:0}
.p-trust .t-links a{display:inline-flex;align-items:center;gap:10px;font-weight:600;text-decoration:none}
.p-trust .t-links a:hover{text-decoration:underline}
.p-trust .t-links a .p-i{color:var(--signal-ink)}
.p-trust .t-links span{font-size:.88rem;color:var(--muted);padding-left:28px}
.p-trust .t-steps{list-style:none;counter-reset:s;margin:0 0 1.5rem;padding:0;display:grid;gap:12px}
.p-trust .t-steps li{counter-increment:s;display:grid;grid-template-columns:36px minmax(0,1fr);gap:2px 14px;align-items:start}
.p-trust .t-steps li::before{content:counter(s);grid-row:span 2;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--ink);color:#fff;font:600 .82rem/1 var(--f-sans)}
.p-trust .t-steps b{color:var(--text);padding-top:4px}
.p-trust .t-steps span{font-size:.92rem;color:var(--muted)}
.p-trust .t-steps--big li{padding:16px 18px;background:var(--white);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-1)}
.p-trust .t-code{background:var(--ink);color:#e6e9ee;border-radius:10px;padding:14px 18px;overflow-x:auto;font:400 .86rem/1.7 var(--f-mono);margin:0 0 1.2rem}
.p-trust .t-disclose{background:var(--ink);color:rgba(255,255,255,.78);border-radius:var(--r-lg);padding:clamp(22px,3vw,32px);margin:0 0 8px}
.p-trust .t-disclose h2{font:360 1.8rem/1.2 var(--f-display);color:#fff;margin:0 0 .6rem}
.p-trust .t-disclose .p-kicker{color:var(--signal)}
.p-trust .t-disclose a:not(.p-btn){color:#fff}
.p-trust .t-disclose p{max-width:44rem}
.p-trust .t-disclose .p-btn--ghost{color:#fff;border-color:rgba(255,255,255,.4)}
.p-trust .t-disclose .p-btn--ghost:hover{background:transparent;border-color:#fff;color:#fff}
.p-trust .t-ask{display:flex;align-items:center;gap:16px;margin:36px 0 0;padding:18px 20px;border:1px solid var(--line-2);border-radius:var(--r);background:var(--paper-3)}
.p-trust .t-ask__icon{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:var(--white);border:1px solid var(--line);color:var(--signal-ink);flex:0 0 auto}
.p-trust .t-ask>div{flex:1;min-width:0}
.p-trust .t-ask p{margin:0;font-size:.9rem;color:var(--muted)}
.p-trust .t-ask .t-ask__title{font-weight:600;color:var(--text);font-size:.96rem}

/* assurance */
.p-trust .t-item{scroll-margin-top:90px}
.p-trust .t-item__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;margin-bottom:.6rem}
.p-trust .t-item__head h3{font:380 1.45rem/1.2 var(--f-display);margin:0}
.p-trust .t-item .p-facts{margin:14px 0 4px;padding-top:14px;border-top:1px solid var(--line)}
.p-trust .t-item__more{margin:12px 0 0}
.p-trust .t-evid{display:flex;align-items:center;gap:12px;margin-top:16px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--paper-3)}
.p-trust .t-evid>.p-i{color:var(--signal-ink)}
.p-trust .t-evid>div{flex:1;min-width:0;display:grid;gap:2px}
.p-trust .t-evid a{font-weight:600}
.p-trust .t-mappedlist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.p-trust .t-mapped{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;box-shadow:var(--sh-1);scroll-margin-top:90px}
.p-trust .t-mapped:target,.p-trust .t-item:target{box-shadow:0 0 0 2px var(--signal)}
.p-trust .t-mapped__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 10px;margin-bottom:.5rem}
.p-trust .t-mapped__head b{color:var(--text)}
.p-trust .t-mapped p{font-size:.9rem;color:var(--muted);margin:0 0 .5rem}
.p-trust .t-mapped p:last-child{margin:0}

/* documents */
.p-trust .t-doc .p-list__side{flex-wrap:wrap;justify-content:flex-end}
.p-trust .t-doc__sum{display:block;font-size:.88rem;color:var(--body);margin-top:3px;max-width:60ch}
.p-trust .t-docmeta{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:20px 22px;box-shadow:var(--sh-1);margin-bottom:8px}
.p-trust .t-docmeta .p-facts dd .p-status{margin-left:8px}

/* subprocessors, subscribe, contact */
.p-trust .t-subcols{margin-top:4px}
.p-trust .t-changes{margin-top:4px}
.p-trust .t-changes p{margin:.25rem 0 0;font-size:.88rem;color:var(--muted)}
.p-trust .t-subscribe h2{display:flex;align-items:center;gap:8px}
.p-trust .t-subscribe h2 .p-i{color:var(--signal-ink)}
.p-trust .t-subscribe .p-checks--col{gap:6px}
.p-trust .t-narrow{max-width:520px}
.p-trust .t-done{text-align:center;padding:40px 28px}
.p-trust .t-done .p-btn-row{justify-content:center}
.p-trust .t-routes{list-style:none;margin:0;padding:0}
.p-trust .t-routes li{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:.9rem}
.p-trust .t-routes li:last-child{border-bottom:0;padding-bottom:0}
.p-trust .t-routes li:first-child{padding-top:0}
.p-trust .t-routes>li>.p-i{color:var(--signal-ink);margin-top:2px}
.p-trust .t-routes b{display:block;color:var(--text)}
.p-trust .t-routes span{color:var(--muted)}
.p-trust .t-start .p-btn-row{flex-direction:column}
.p-trust .t-start h2{font:380 1.5rem/1.2 var(--f-display)}

/* ---------------------------------------------------------------- reviewer room */
.p-trust .t-notice{display:flex;gap:12px;margin:0;padding:14px 22px;background:var(--warn-soft);border-bottom:1px solid var(--warn-line);color:var(--warn-ink);font-size:.9rem}
.p-trust .t-notice .p-i{margin-top:2px;flex:0 0 auto}
.p-trust .t-notice b{display:block;margin-bottom:2px}
.p-trust .t-notice p{margin:0}
.p-trust .t-pad{margin:14px 22px 0}
.p-trust .t-items{list-style:none;margin:0 0 12px;padding:0}
.p-trust .t-items>li{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);font-size:.92rem;color:var(--text)}
.p-trust .t-items>li:first-child{padding-top:0}
.p-trust .t-items>li:last-child{border-bottom:0}
.p-trust .t-items small{display:block;color:var(--muted);font-size:.8rem;margin-top:2px}
.p-trust .t-items__side{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;flex:0 0 auto}
.p-trust .t-more{margin-top:8px;border-top:1px solid var(--line);padding-top:12px}
.p-trust .t-more>summary{cursor:pointer;font-weight:600;color:var(--text);font-size:.92rem;min-height:24px}
.p-trust .t-more[open]>summary{margin-bottom:14px}
.p-trust .t-pick{margin:0 0 18px}
.p-trust .t-pick__group{padding:12px 0;border-bottom:1px solid var(--line)}
.p-trust .t-pick__group:first-of-type{padding-top:4px}
.p-trust .t-pick__group:last-child{border-bottom:0}
.p-trust .t-pick__h{font:500 .7rem/1.4 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}
.p-trust .t-pick .p-check{margin-bottom:10px}
.p-trust .t-terms__text{max-height:420px;overflow-y:auto;padding:16px 18px;border:1px solid var(--line);border-radius:10px;background:var(--paper-3);font-size:.94rem}
.p-trust .t-terms__text:focus-visible{outline:2px solid var(--signal)}
.p-trust .t-steps-h{margin:0 0 24px;padding:16px 18px;background:var(--white);border:1px solid var(--line);border-radius:var(--r)}
.p-trust .w-main .p-split--wide>div>.p-card:last-child{margin-bottom:0}

/* ---------------------------------------------------------------- responsive */
@media (max-width:1100px){
  .p-trust .t-article--aside{grid-template-columns:1fr}
  .p-trust .t-aside{position:static}
  .p-trust .t-updates-wrap{grid-template-columns:1fr}
}
@media (max-width:900px){
  .p-trust .t-rail{display:none}
  .p-trust .t-figures--hero{grid-template-columns:1fr 1fr}
  .p-trust .t-figures--hero>div:nth-child(2n){border-right:0}
  .p-trust .t-figures--hero>div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.12)}
}
@media (max-width:640px){
  .p-trust .t-figures{grid-template-columns:1fr 1fr}
  .p-trust .t-figures>div:nth-child(2n){border-right:0}
  .p-trust .t-figures>div{border-bottom:1px solid var(--line)}
  .p-trust .t-figures--hero>div{border-bottom-color:rgba(255,255,255,.12)}
  .p-trust .t-update{grid-template-columns:1fr;padding:16px 18px}
  .p-trust .t-update__meta{flex-direction:row;align-items:center;flex-wrap:wrap}
  .p-trust .t-ask{flex-wrap:wrap}
  .p-trust .t-ask .p-btn{width:100%}
  .p-trust .t-evid{flex-wrap:wrap}
  .p-trust .t-items>li{flex-wrap:wrap}
  .p-trust .t-items__side{justify-content:flex-start}
  .p-trust .t-steps-h{overflow-x:auto}
}
@media print{
  .p-trust .t-rail,.p-trust .t-aside,.p-trust .t-ask{display:none}
  .p-trust .t-terms__text{max-height:none;overflow:visible}
}

/* section menu for small screens (the rail is hidden there) */
.p-trust .t-jump{display:none;margin:0 0 18px;background:var(--white);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-1)}
.p-trust .t-jump>summary{display:flex;align-items:center;gap:10px;min-height:46px;padding:0 14px;cursor:pointer;list-style:none;font-weight:600;color:var(--text);font-size:.92rem}
.p-trust .t-jump>summary::-webkit-details-marker{display:none}
.p-trust .t-jump__cur{margin-left:auto;font-weight:500;color:var(--muted);font-size:.85rem}
.p-trust .t-jump nav{padding:4px 14px 14px;border-top:1px solid var(--line)}
.p-trust .t-jump ul{list-style:none;margin:0;padding:0}
.p-trust .t-jump a{display:block;padding:8px 10px;border-radius:7px;text-decoration:none;color:var(--body)}
.p-trust .t-jump a[aria-current=page]{background:var(--paper-2);color:var(--text);font-weight:600}
.p-trust .t-jump .r-nav__h{margin:14px 0 4px}
@media (max-width:900px){.p-trust .t-jump{display:block}}
.p-trust .p-field[hidden]{display:none}
.p-trust .t-updates-wrap>*{min-width:0}
.p-trust .t-figures dt{white-space:nowrap}
.p-trust .t-notice a{color:inherit;font-weight:600}
@media (max-width:640px){.p-trust .t-figures dt,.p-trust .t-figures--hero dt{font-size:1.4rem}.p-trust .t-figures>div{padding:16px 14px}}
