/* 11Alto site styles. Brand: ink #111111 · red #B3122A (logo square + one highlight per section) · paper #F4F4F2 · grey #5F5F5F
   Fonts are self-hosted (SIL Open Font License, see /assets/fonts/LICENSE-*.txt). */
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/source-serif-4-latin-300-normal.woff2) format('woff2')}
@font-face{font-family:'Source Serif 4';font-style:italic;font-weight:300;font-display:swap;src:url(/assets/fonts/source-serif-4-latin-300-italic.woff2) format('woff2')}
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/source-serif-4-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Source Serif 4';font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/source-serif-4-latin-400-italic.woff2) format('woff2')}
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/source-serif-4-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/ibm-plex-mono-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/ibm-plex-mono-latin-500-normal.woff2) format('woff2')}

html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:#FFFFFF;color:#111111;font-family:'IBM Plex Sans',system-ui,sans-serif}
img{max-width:100%}
[hidden]{display:none!important}
:focus-visible{outline:2px solid #B3122A;outline-offset:2px}
.skip{position:absolute;left:-9999px;top:8px;z-index:10;padding:10px 14px;background:#111111;color:#FFFFFF}
.skip:focus{left:8px}
.langs{display:flex;gap:2px;font-family:'IBM Plex Mono',monospace;font-size:12px}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}

/* Insight articles */
.prose{max-width:820px}
.prose h2{margin:56px 0 16px;font-family:'Source Serif 4',serif;font-weight:400;font-size:clamp(26px,3vw,36px);line-height:1.15;letter-spacing:-.01em}
.prose h3{margin:48px 0 12px;font-family:'Source Serif 4',serif;font-weight:400;font-size:24px}
.prose p,.prose li{font-size:17px;line-height:1.7;color:#222222}
.prose p{margin:0 0 16px}
.prose ul,.prose ol{margin:0 0 20px;padding-left:22px}
.prose li{margin-bottom:8px}
.prose a{color:#111111}
.prose em{color:#5F5F5F}
.prose .table-wrap{overflow-x:auto;margin:8px 0 24px;border-top:2px solid #111111}
.prose table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.5}
.prose th{text-align:left;vertical-align:bottom;padding:12px 16px 12px 0;font-family:'IBM Plex Mono',monospace;font-size:12px;font-weight:400;color:#5F5F5F;border-bottom:1px solid #111111}
.prose td{vertical-align:top;padding:12px 16px 12px 0;border-bottom:1px solid #DDDDDD;min-width:120px}
.prose .box{display:inline-block;width:14px;height:14px;margin-right:10px;border:1.5px solid #111111;vertical-align:-2px}
.prose ul:has(.box){list-style:none;padding-left:0}

/* Long German/French/Italian compounds: hyphenate and never push the page sideways on phones */
h1,h2,h3,p,li,span,a,td,th{overflow-wrap:break-word}
html[lang="de"] p,html[lang="fr"] p,html[lang="it"] p,html[lang="de"] li,html[lang="fr"] li,html[lang="it"] li{hyphens:auto;-webkit-hyphens:auto}
@media (max-width: 600px){html[lang="de"] body,html[lang="fr"] body,html[lang="it"] body{hyphens:auto;-webkit-hyphens:auto;overflow-wrap:anywhere}}

a{color:#111111}a:hover{color:#B3122A}
.btn:hover{color:#FFFFFF;opacity:0.9}
.ledger{background-image:url(/assets/img/ledger-tile.svg);background-repeat:repeat;background-size:252px 252px}
.caret{display:inline-block;width:2px;height:0.9em;margin-left:3px;background:#111111;vertical-align:-0.08em;animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.dots i{font-style:normal;opacity:0.2;animation:dot 1.2s infinite;padding:0 2px}
.dots i:nth-child(2){animation-delay:0.2s}
.dots i:nth-child(3){animation-delay:0.4s}
@keyframes dot{0%,100%{opacity:0.2}40%{opacity:1}}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (prefers-reduced-motion: reduce){.caret,.dots i{animation:none}}
.ann{animation:ann 10s ease-in-out infinite}
.ann2{animation-delay:5s;animation-fill-mode:backwards}
@keyframes ann{0%{opacity:0;transform:translateX(40px);visibility:hidden}1%{visibility:visible}8%{opacity:1;transform:translateX(0)}44%{opacity:1;transform:translateX(0)}50%{opacity:0;transform:translateX(-40px);visibility:visible}51%,100%{opacity:0;transform:translateX(-40px);visibility:hidden}}
.hop{display:inline-block}
.hopwrap:hover .hop{animation:hop 750ms cubic-bezier(0.3,0.7,0.4,1)}
@keyframes hop{0%{transform:translateY(0)}25%{transform:translateY(-12px)}50%{transform:translateY(0)}70%{transform:translateY(-5px)}100%{transform:translateY(0)}}
@media (prefers-reduced-motion: reduce){.ann{animation:none}.ann2{visibility:hidden}.hopwrap:hover .hop{animation:none}}
.pop{transform-origin:center;transition:transform 900ms cubic-bezier(0.22, 1, 0.36, 1)}
.pop:hover{transform:scale(1.03)}
@media (prefers-reduced-motion: reduce){.pop{transition:none}.pop:hover{transform:none}}
.dl{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 24px;padding:16px 0;border-bottom:1px solid #DDDDDD;text-decoration:none}
.legal h2{margin:0 0 12px;font-family:'Source Serif 4',serif;font-weight:400;font-size:28px;line-height:1.2}
.legal p{margin:0 0 14px;font-size:16px;line-height:1.7;color:#222222}
.legal section{padding:32px 0;border-top:1px solid #DDDDDD}
.lab{display:block;font-family:'IBM Plex Mono',monospace;font-size:11px;color:#5F5F5F;margin-bottom:4px}
mark{background:#FFF1B8;padding:0 4px}
.legal h3{margin:20px 0 6px;font-size:17px;font-weight:600}
.legal p,.legal li{font-size:16px;line-height:1.7;color:#222222}
.legal p{margin:0 0 14px}
.legal ul{margin:0 0 14px;padding-left:20px}
.num{font-family:'IBM Plex Mono',monospace;font-size:12px;color:#5F5F5F;display:block;margin-bottom:6px}
