/* ke-page.css — KP layout for all static content pages (2026-11). Markup: partials/migrate-layout.py.
   One system: one container (1180px = header), one reading column (720px), one sticky action card.
   Tokens = homepage (paper / ink / green / stamp). Bump ?v=N in the pages after changes (no purge needed). */

@font-face{font-family:"Newsreader";src:url(/fonts/newsreader-latin.woff2) format("woff2");font-weight:500 700;font-style:normal;font-display:swap}
@font-face{font-family:"Public Sans";src:url(/fonts/public-sans-latin.woff2) format("woff2");font-weight:400 800;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url(/fonts/ibm-plex-mono-500-latin.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url(/fonts/ibm-plex-mono-600-latin.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}

:root{
  --kp-paper:#F6F7F3;--kp-sheet:#FFFFFF;--kp-ink:#12201A;--kp-ink-2:#4A5A52;--kp-ink-3:#6B7A72;--kp-rule:#D9DED6;--kp-tint:#EEF1EC;
  --kp-green:#15803D;--kp-green-ink:#0F5F2D;--kp-green-wash:#E7F3EA;--kp-stamp:#B4481F;--kp-stamp-wash:#FBEDE6;--kp-warn:#A8321E;--kp-warn-wash:#FCEEEB;
  --kp-display:"Newsreader","Iowan Old Style",Georgia,serif;--kp-body:"Public Sans","Helvetica Neue",Arial,sans-serif;--kp-mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
  --kp-col:720px;--kp-aside:340px;--kp-gap:72px;--kp-r:10px;
}

/* ---------- frame ---------- */
html:root body main.kp{display:block;background:var(--kp-paper);color:var(--kp-ink);font-family:var(--kp-body);padding:0 0 clamp(56px,8vw,96px)}
html:root body main.kp *{box-sizing:border-box}
html:root body main.kp .kp-in{max-width:1180px;margin:0 auto;padding:0 max(24px,env(safe-area-inset-right,0px)) 0 max(24px,env(safe-area-inset-left,0px))}
html:root body main.kp .kp-head{padding:clamp(28px,4vw,48px) 0 clamp(28px,3.5vw,40px);border-bottom:1px solid var(--kp-rule);margin-bottom:clamp(28px,3.5vw,40px)}
html:root body main.kp .kp-head .ke-breadcrumb{margin:0 0 18px!important}
html:root body main.kp .kp-head h1{font-family:var(--kp-display)!important;font-weight:600!important;font-size:clamp(34px,4.6vw,56px)!important;line-height:1.04!important;letter-spacing:-0.02em!important;color:var(--kp-ink)!important;text-align:left!important;max-width:min(100%,1000px)!important;margin:0!important;text-wrap:balance}
html:root body main.kp .kp-meta{margin:16px 0 0!important;font:500 12px/1.4 var(--kp-mono)!important;letter-spacing:.06em;text-transform:uppercase;color:var(--kp-ink-3)!important}
html:root body main.kp .kp-body{display:grid;grid-template-columns:minmax(0,var(--kp-col)) var(--kp-aside);justify-content:space-between;column-gap:var(--kp-gap);align-items:start}
html:root body main.kp .kp-main{min-width:0;grid-column:1;grid-row:1}
html:root body main.kp .kp-aside{grid-column:2;grid-row:1;position:sticky;top:88px;align-self:start}
html:root body main.kp--doc .kp-body{grid-template-columns:minmax(0,var(--kp-col))}

/* ---------- reading column typography ---------- */
html:root body main.kp .kp-main>*{max-width:100%}
html:root body main.kp .kp-main :is(p,li,td,th,dd,dt,span,div,summary){font-family:var(--kp-body)}
html:root body main.kp .kp-main p{font-size:17px!important;line-height:1.7!important;color:var(--kp-ink-2)!important;margin:0 0 18px!important;text-align:left!important;max-width:none!important}
html:root body main.kp .kp-main strong,html:root body main.kp .kp-main b{color:var(--kp-ink);font-weight:700}
html:root body main.kp .kp-main h2{font-family:var(--kp-display)!important;font-weight:600!important;font-size:clamp(25px,2.6vw,30px)!important;line-height:1.15!important;letter-spacing:-0.01em!important;color:var(--kp-ink)!important;text-align:left!important;margin:56px 0 18px!important;padding:24px 0 0!important;border-top:1px solid var(--kp-rule)!important;max-width:none!important}
html:root body main.kp .kp-main h3{font-family:var(--kp-display)!important;font-weight:600!important;font-size:21px!important;line-height:1.25!important;color:var(--kp-ink)!important;text-align:left!important;margin:32px 0 10px!important;max-width:none!important}
html:root body main.kp .kp-main h4{font-family:var(--kp-body)!important;font-weight:700!important;font-size:16px!important;color:var(--kp-ink)!important;margin:24px 0 8px!important;text-align:left!important}
html:root body main.kp .kp-main :is(ul,ol):not(.kp-chips):not(.kp-cta-list){margin:0 0 22px!important;padding:0!important;list-style:none!important}
html:root body main.kp .kp-main :is(ul,ol):not(.kp-chips):not(.kp-cta-list)>li{position:relative;padding:0 0 0 26px!important;margin:0 0 10px!important;font-size:17px!important;line-height:1.65!important;color:var(--kp-ink-2)!important;text-align:left!important}
html:root body main.kp .kp-main ul:not(.kp-chips):not(.kp-cta-list)>li::before{content:"";position:absolute;left:4px;top:.72em;width:7px;height:7px;border-radius:50%;background:var(--kp-green)}
html:root body main.kp .kp-main ol{counter-reset:kp}
html:root body main.kp .kp-main ol>li{counter-increment:kp;padding-left:34px!important}
html:root body main.kp .kp-main ol>li::before{content:counter(kp);position:absolute;left:0;top:.15em;width:22px;height:22px;border:1.5px solid var(--kp-ink);border-radius:50%;font:600 11.5px/19px var(--kp-mono);text-align:center;color:var(--kp-ink)}
html:root body main.kp .kp-main :is(p,li,td,dd) a:not(.kp-band-btn):not(#kp-x):not(#kp-y),html:root body main.kp .kp-main .kp-box a:not(.kp-band-btn):not(#kp-x):not(#kp-y){color:var(--kp-green-ink)!important;font-weight:600!important;text-decoration:underline!important;text-decoration-thickness:1px!important;text-underline-offset:3px!important}
html:root body main.kp .kp-main .kp-strong{font-weight:700!important;color:var(--kp-ink)!important}
html:root body main.kp .kp-intro>p:first-of-type{font-size:19px!important;color:var(--kp-ink)!important}

/* ---------- components ---------- */
html:root body main.kp .kp-lead{font-size:19px!important;color:var(--kp-ink)!important}
html:root body main.kp .kp-alert{display:block;margin:0 0 22px!important;padding:14px 18px!important;background:var(--kp-stamp-wash);border-left:4px solid var(--kp-stamp);border-radius:0 var(--kp-r) var(--kp-r) 0;font-size:16px!important;font-weight:600!important;line-height:1.5!important;color:var(--kp-ink)!important}
html:root body main.kp .kp-chips{display:flex;flex-wrap:wrap;gap:8px 22px;list-style:none!important;margin:0 0 22px!important;padding:0!important}
html:root body main.kp .kp-chips li{margin:0!important;padding:0!important;font:500 12px/1.5 var(--kp-mono)!important;letter-spacing:.06em;text-transform:uppercase;color:var(--kp-ink-2)!important}
html:root body main.kp .kp-chips li::before{content:"✓ ";color:var(--kp-green)}
html:root body main.kp .kp-box{margin:0 0 24px!important;padding:20px 24px!important;background:var(--kp-sheet)!important;border:1px solid var(--kp-rule)!important;border-radius:var(--kp-r)!important;box-shadow:none!important;text-align:left!important;max-width:none!important}
html:root body main.kp .kp-box>:last-child{margin-bottom:0!important}
html:root body main.kp .kp-box{font-size:15.5px!important;line-height:1.6!important;font-weight:400!important;color:var(--kp-ink-2)!important}
html:root body main.kp .kp-box :is(p,li){font-size:15.5px!important;line-height:1.6!important}
html:root body main.kp .kp-box :is(h3,h4,.kp-box-title){font-family:var(--kp-body)!important;font-size:15px!important;font-weight:700!important;color:var(--kp-ink)!important;margin:0 0 8px!important;text-align:left!important;letter-spacing:0!important}
html:root body main.kp .kp-box--green,html:root body main.kp .kp-box--note{background:var(--kp-green-wash)!important;border:0!important;border-left:4px solid var(--kp-green)!important;border-radius:0 var(--kp-r) var(--kp-r) 0!important}
html:root body main.kp .kp-box--stamp{background:var(--kp-stamp-wash)!important;border:0!important;border-left:4px solid var(--kp-stamp)!important;border-radius:0 var(--kp-r) var(--kp-r) 0!important}
html:root body main.kp .kp-box--warn{background:var(--kp-warn-wash)!important;border:0!important;border-left:4px solid var(--kp-warn)!important;border-radius:0 var(--kp-r) var(--kp-r) 0!important}
html:root body main.kp .kp-box--warn :is(p,strong,.kp-box-title){color:var(--kp-ink)!important}
html:root body main.kp .kp-box--warn a[href^="http"]{display:inline-flex;margin-top:4px}

/* tables */
html:root body main.kp .kp-main table{width:100%!important;border-collapse:collapse!important;margin:0 0 24px!important;font-size:15px!important;background:transparent!important}
html:root body main.kp .kp-main :is(th,td){padding:12px 14px 12px 0!important;border:0!important;border-bottom:1px solid var(--kp-rule)!important;text-align:left!important;vertical-align:top!important;color:var(--kp-ink)!important;background:transparent!important;font-size:15px!important;line-height:1.5!important}
html:root body main.kp .kp-main th{font:500 11.5px/1.4 var(--kp-mono)!important;letter-spacing:.06em;text-transform:uppercase;color:var(--kp-ink-3)!important;border-bottom:1.5px solid var(--kp-ink)!important}
html:root body main.kp .kp-main table:not(:has(th)) td:first-child{color:var(--kp-ink-2)!important;width:42%}
html:root body main.kp .kp-main tr:last-child td{border-bottom:0!important}
html:root body main.kp .kp-main td.green{color:var(--kp-green-ink)!important;font-weight:600!important}

/* in-content CTA band */
html:root body main.kp .kp-band{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 28px;margin:40px 0!important;padding:22px 0!important;border-top:1.5px solid var(--kp-ink);border-bottom:1px solid var(--kp-rule)}
html:root body main.kp .kp-band-text{flex:1 1 320px;min-width:0}
html:root body main.kp .kp-band-title{font-family:var(--kp-display)!important;font-weight:600!important;font-size:22px!important;line-height:1.2!important;color:var(--kp-ink)!important;margin:0 0 4px!important}
html:root body main.kp .kp-band p:not(.kp-band-title){font-size:15px!important;margin:0!important}
html:root body main.kp .kp-band-btn,html:root body main.kp .kp-cta-btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:50px;padding:8px 22px;border-radius:var(--kp-r);background:var(--kp-green)!important;color:#FFFFFF!important;font:700 16px var(--kp-body)!important;text-decoration:none!important;white-space:normal;transition:background .15s}
html:root body main.kp :is(.kp-band-btn,.kp-cta-btn):hover{background:var(--kp-green-ink)!important}
html:root body main.kp .kp-band-btn::after,html:root body main.kp .kp-cta-btn::after{content:"→";margin-left:10px}

/* sibling link lists (.brand-grid) → quiet register, not a card grid */
html:root body main.kp .kp-main .brand-grid{display:block!important;columns:3 180px;column-gap:28px;margin:0 0 24px!important;padding:0!important}
html:root body main.kp .kp-main .brand-grid>a{display:block!important;flex:none!important;max-width:none!important;break-inside:avoid;padding:9px 0!important;margin:0!important;background:transparent!important;border:0!important;border-bottom:1px solid var(--kp-rule)!important;border-radius:0!important;box-shadow:none!important;font:600 15px/1.35 var(--kp-body)!important;color:var(--kp-ink)!important;text-decoration:none!important;transform:none!important}
html:root body main.kp .kp-main .brand-grid>a:hover{color:var(--kp-green-ink)!important}
html:root body main.kp .kp-main .brand-grid>a::after{content:" →";color:var(--kp-ink-3)}

/* FAQ (details or div-pairs) */
html:root body main.kp .kp-main details{border:0!important;border-bottom:1px solid var(--kp-rule)!important;background:transparent!important;border-radius:0!important;box-shadow:none!important;margin:0!important;padding:0!important}
html:root body main.kp .kp-main details summary{list-style:none;cursor:pointer;padding:16px 36px 16px 0!important;font:700 17px/1.4 var(--kp-body)!important;color:var(--kp-ink)!important;position:relative}
html:root body main.kp .kp-main details summary::-webkit-details-marker{display:none}
html:root body main.kp .kp-main details summary::after{content:"+";position:absolute;right:4px;top:10px;font:400 26px var(--kp-body);color:var(--kp-green-ink)}
html:root body main.kp .kp-main details[open] summary::after{content:"\2212"}

/* ---------- action card (aside) ---------- */
html:root body main.kp .kp-cta{background:var(--kp-sheet);border:1.5px solid var(--kp-ink);border-top:5px solid var(--kp-green);border-radius:12px;padding:24px 24px 20px;box-shadow:0 24px 48px -32px rgba(18,32,26,.45)}
html:root body main.kp .kp-cta-kicker{margin:0 0 10px!important;font:500 11.5px/1.3 var(--kp-mono)!important;letter-spacing:.08em;text-transform:uppercase;color:var(--kp-ink-3)!important;text-align:left!important}
html:root body main.kp .kp-cta-title{margin:0 0 16px!important;font:600 26px/1.12 var(--kp-display)!important;letter-spacing:-0.01em;color:var(--kp-ink)!important;text-align:left!important}
html:root body main.kp .kp-cta-list{list-style:none!important;margin:0 0 20px!important;padding:0!important}
html:root body main.kp .kp-cta-list li{margin:0 0 8px!important;padding:0 0 0 24px!important;position:relative;font:500 15px/1.4 var(--kp-body)!important;color:var(--kp-ink)!important;text-align:left!important}
html:root body main.kp .kp-cta-list li::before{content:"✓";position:absolute;left:0;top:0;color:var(--kp-green);font-weight:800}
html:root body main.kp .kp-cta-btn{width:100%;min-height:54px;font-size:17px!important}
html:root body main.kp .kp-cta-opts{margin:16px 0 0!important;display:grid;gap:8px}
html:root body main.kp .kp-cta-opts>div{display:block;padding:10px 12px;border:1px solid var(--kp-rule);border-radius:8px}
html:root body main.kp .kp-cta-opts>div.is-rec{border:1.5px solid var(--kp-green);background:var(--kp-green-wash)}
html:root body main.kp .kp-cta-opts dt{margin:0;font:600 14px var(--kp-body);color:var(--kp-ink)}
html:root body main.kp .kp-cta-opts dd{margin:2px 0 0;font:500 13.5px var(--kp-body);color:var(--kp-ink-2);text-align:left}
html:root body main.kp .kp-cta-opts .is-rec dd{color:var(--kp-green-ink);font-weight:700}
html:root body main.kp .kp-cta-opts dd s{color:var(--kp-ink-3);font-weight:500}
html:root body main.kp .kp-cta-fine{margin:14px 0 0!important;font:500 12px/1.4 var(--kp-mono)!important;letter-spacing:.04em;color:var(--kp-ink-3)!important;text-align:left!important}

/* ---------- tablet / phone ---------- */
@media (max-width:960px){
  html:root body main.kp .kp-body{grid-template-columns:minmax(0,1fr);row-gap:32px}
  html:root body main.kp .kp-aside{grid-column:1;grid-row:auto;position:static;order:-1}
  html:root body main.kp .kp-main{grid-row:auto}
}
@media (max-width:600px){
  html:root body main.kp .kp-in{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
  html:root body main.kp .kp-main p,html:root body main.kp .kp-main :is(ul,ol)>li{font-size:16px!important}
  html:root body main.kp .kp-cta{padding:20px 18px 18px}
  html:root body main.kp .kp-band-btn{width:100%}
  html:root body main.kp .kp-main .brand-grid{columns:2 140px}
  html:root body main.kp .kp-main table.resp-table thead{display:none}
  html:root body main.kp .kp-main table.resp-table :is(tr,td){display:block;width:100%!important}
  html:root body main.kp .kp-main table.resp-table tr{padding:10px 0;border-bottom:1px solid var(--kp-rule)}
  html:root body main.kp .kp-main table.resp-table td{border:0!important;padding:3px 0!important;display:flex;justify-content:space-between;gap:14px}
  html:root body main.kp .kp-main table.resp-table td::before{content:attr(data-label);font:500 11px/1.6 var(--kp-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--kp-ink-3)}
  html:root body main.kp .kp-main table.resp-table td:first-child{font-weight:700}
  html:root body main.kp .kp-main table.resp-table td:first-child::before{display:none}
}

/* legacy .steps / .info-box backgrounds from style.css */
html:root body main.kp .kp-main ol.steps,html:root body main.kp .kp-main ul.steps{background:transparent!important;border:0!important;padding:0!important;border-radius:0!important;box-shadow:none!important}
html:root body main.kp .kp-main ol.steps>li{background:transparent!important;border:0!important;box-shadow:none!important;margin:0 0 14px!important;padding:0 0 0 38px!important}
html:root body main.kp .kp-main ol.steps>li::before{left:0!important;top:.15em!important}

/* key-value lists (Impressum etc.) */
html:root body main.kp .kp-main ul.kv{border-top:1.5px solid var(--kp-ink)!important;margin:0 0 28px!important;background:transparent!important;border-radius:0!important;padding:0!important}
html:root body main.kp .kp-main ul.kv>li{display:grid!important;grid-template-columns:200px minmax(0,1fr);gap:4px 24px;padding:12px 0!important;margin:0!important;border:0!important;border-bottom:1px solid var(--kp-rule)!important;background:transparent!important}
html:root body main.kp .kp-main ul.kv>li::before{display:none!important}
html:root body main.kp .kp-main ul.kv>li>b{color:var(--kp-ink)!important}
@media (max-width:600px){html:root body main.kp .kp-main ul.kv>li{grid-template-columns:1fr}}
html:root body main.kp .kp-cta-text{margin:0 0 16px!important;font-size:15px!important;line-height:1.55!important;color:var(--kp-ink-2)!important}

/* =========================================================
   KP-HUB — category hubs (PHP, body.kp-hub). Same system as the articles:
   one container (1180), left edge for everything, section heads with a rule,
   tile grids that fill the row, provider lists as a quiet register.
   ========================================================= */
html:root body.kp-hub{background:var(--kp-paper)!important}
html:root body.kp-hub :is(.wrap,.vk-wrap,.hero-inner,.page-flow){max-width:1180px!important;margin-left:auto!important;margin-right:auto!important}
html:root body.kp-hub .ke-page :is(h1,h2,h3,h4,p,li,dt,dd,summary){text-align:left!important}
html:root body.kp-hub .ke-page :is(h2,h3,h4,p){margin-left:0!important;margin-right:0!important}
html:root body.kp-hub .ke-page :is(section:not(.hero-inner),.section-soft,.section-accent,.vk-section)>p{max-width:72ch!important}
html:root body.kp-hub .ke-page :is(section:not(.hero-inner),.section-soft,.section-accent,.vk-section,.content-readable)>h2{font-family:var(--kp-display)!important;font-weight:600!important;font-size:clamp(26px,2.8vw,32px)!important;line-height:1.15!important;color:var(--kp-ink)!important;border-top:1px solid var(--kp-rule)!important;padding-top:24px!important;margin-top:0!important;max-width:none!important}
html:root body.kp-hub .ke-page :is(section:not(.hero-inner),.section-soft,.section-accent,.vk-section){padding-left:0!important;padding-right:0!important;margin-left:0!important;margin-right:0!important;max-width:none!important;background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important}
html:root body.kp-hub .ke-page .content-readable{max-width:none!important;margin-left:0!important}
html:root body.kp-hub .ke-page :is(.guide-actions,.vk-choose,.vk-proof,.trust-pills-container,.kh-row){justify-content:flex-start!important;margin-left:0!important;text-align:left!important}
/* tile grids: fill the row, never centred, never a lone card */
html:root body.kp-hub .ke-page :is(.vk-lines,.vk-basics,.vk-guides,.vk-grid,.vk-muster,.ke-grid,.vk-steps,.vk-facts){display:flex!important;flex-wrap:wrap!important;justify-content:stretch!important;gap:16px!important;max-width:none!important;margin-left:0!important;margin-right:0!important;grid-template-columns:none!important;background:transparent!important;border:0!important;padding:0!important;box-shadow:none!important}
html:root body.kp-hub .ke-page :is(.vk-lines,.vk-basics,.vk-guides,.vk-grid,.vk-muster,.ke-grid,.vk-steps,.vk-facts)>*{flex:1 1 260px!important;max-width:none!important;min-width:0!important;margin:0!important;text-align:left!important}
html:root body.kp-hub .ke-page :is(.vk-line,.vk-basic,.vk-guide,.vk-step,.ke-grid>*){background:var(--kp-sheet)!important;border:1px solid var(--kp-rule)!important;border-radius:var(--kp-r)!important;box-shadow:none!important;padding:20px 22px!important}
html:root body.kp-hub .ke-page .vk-step{background:transparent!important;border:0!important;border-top:1.5px solid var(--kp-ink)!important;border-radius:0!important;padding:16px 0 0!important}
/* provider grid → register (same as the article link lists) */
html:root body.kp-hub .ke-page .studio-grid{display:block!important;columns:4 200px;column-gap:28px;max-width:none!important;margin:20px 0!important}
html:root body.kp-hub .ke-page .studio-grid>*{display:block!important;flex:none!important;max-width:none!important;break-inside:avoid;margin:0!important}
html:root body.kp-hub .ke-page .studio-grid :is(a,.studio-pill){display:block!important;padding:10px 0!important;background:transparent!important;border:0!important;border-bottom:1px solid var(--kp-rule)!important;border-radius:0!important;box-shadow:none!important;text-align:left!important;font:600 15px/1.35 var(--kp-body)!important;color:var(--kp-ink)!important;text-decoration:none!important;transform:none!important}
html:root body.kp-hub .ke-page .studio-grid :is(a,.studio-pill):hover{color:var(--kp-green-ink)!important}
html:root body.kp-hub .ke-page .studio-grid :is(a,.studio-pill)::after{content:" →";color:var(--kp-ink-3)}
/* Fristen-Rechner: full content width, head left */
html:root body.kp-hub .ke-rech{max-width:none!important;width:100%!important;margin-left:0!important;margin-right:0!important;text-align:left!important}
html:root body.kp-hub .ke-rech :is(h2,p,.ke-rech-sub,.ke-rech-eyebrow,.ke-rech-kicker){text-align:left!important;margin-left:0!important;margin-right:0!important;max-width:none!important}
html:root body.kp-hub .ke-rech>h2{border-top:0!important;padding-top:0!important}
/* buttons under grids („Universal-Vorlage nutzen") left */
html:root body.kp-hub .ke-page :is(.guide-actions,.studio-grid+p,.studio-grid+div){text-align:left!important}
html:root body.kp-hub .ke-page :is(.guide-actions,.studio-grid+p,.studio-grid+div) a{margin-left:0!important}
@media (max-width:600px){html:root body.kp-hub .ke-page .studio-grid{columns:2 140px}}
html:root body.kp-hub .ke-page :is(.vk-basics,.vk-facts)>*{flex:1 1 340px!important}
html:root body.kp-hub .ke-page .vk-basic{display:block!important}
html:root body.kp-hub .ke-page .vk-basic>*:first-child{display:inline-block;margin:0 0 8px!important}
@media (max-width:720px){html:root body.kp-hub .ke-page table{display:block!important;max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch}}

/* KP v2 fixes */
html:root body.kp-hub .hero-edge-wrapper{padding-left:max(24px,env(safe-area-inset-left,0px))!important;padding-right:max(24px,env(safe-area-inset-right,0px))!important}
/* registers: equal row height so the rules line up when a link wraps to two lines */
html:root body main.kp .kp-main .brand-grid>a,html:root body.kp-hub .ke-page .studio-grid :is(a,.studio-pill){display:flex!important;align-items:center;min-height:58px;padding:8px 0!important;line-height:1.3!important}
/* component text beats the generic .kp-main p rule */
html:root body main.kp .kp-main .kp-band .kp-band-title{font-family:var(--kp-display)!important;font-weight:600!important;font-size:22px!important;line-height:1.2!important;color:var(--kp-ink)!important;margin:0 0 4px!important}
html:root body main.kp .kp-main .kp-band p:not(.kp-band-title){font-size:15px!important;margin:0!important}
html:root body main.kp .kp-main p.kp-lead{font-size:19px!important;color:var(--kp-ink)!important}
html:root body main.kp .kp-main p.kp-alert{font-size:16px!important;font-weight:600!important;line-height:1.5!important;color:var(--kp-ink)!important;margin:0 0 22px!important}
