/* celeno.online — self-contained stylesheet. No web fonts, no remote assets. */
:root{
  --c-bg:#ffffff;
  --c-surface:#f4f6f8;
  --c-soft:#eaeef2;
  --c-line:#dbe1e7;
  --c-ink:#1f2429;
  --c-ink-2:#39424c;
  --c-muted:#5b6570;
  --c-brand:#e2483d;
  --c-brand-ink:#b9332a;
  --c-brand-soft:#fcebea;
  --c-ok:#1f8a70;
  --radius:16px;
  --shadow:0 1px 2px rgba(31,36,41,.06),0 8px 24px rgba(31,36,41,.06);
  --f-body:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;
  --f-head:ui-serif,Georgia,Cambria,"Times New Roman",serif;
  --f-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --wrap:1180px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--c-bg);color:var(--c-ink);font-family:var(--f-body);font-size:1.0625rem;line-height:1.7;display:flex;flex-direction:column;min-height:100vh}
img{max-width:100%;height:auto;display:block}
a{color:var(--c-brand-ink);text-underline-offset:.18em}
a:hover{color:var(--c-brand)}
:focus-visible{outline:3px solid var(--c-brand);outline-offset:2px;border-radius:4px}
.skip{position:absolute;left:-9999px;top:0}
.skip:focus{left:12px;top:12px;z-index:10;background:#fff;padding:8px 12px}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 clamp(16px,4vw,32px)}

/* Disclosure bar — first element on every page */
.adbar{background:var(--c-ink);color:#e9edf1;font-size:.84rem;line-height:1.5;padding:8px 0;text-align:center}
.adbar strong{color:#fff}
.adbar a{color:#fff}

/* Header */
.site-head{border-bottom:1px solid var(--c-line);background:rgba(255,255,255,.96)}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:14px;padding-bottom:14px}
.brand{display:flex;align-items:center;gap:10px;color:var(--c-ink);text-decoration:none;font-weight:800;font-size:1.25rem;letter-spacing:-.01em}
.brand img{width:34px;height:34px}
.brand span small{display:block;font-weight:500;font-size:.72rem;color:var(--c-muted);letter-spacing:.02em}
.nav{display:flex;gap:4px 18px;flex-wrap:wrap;font-size:.95rem}
.nav a{color:var(--c-ink-2);text-decoration:none;padding:4px 2px;border-bottom:2px solid transparent}
.nav a:hover,.nav a[aria-current="page"]{color:var(--c-ink);border-bottom-color:var(--c-brand)}

/* Layout */
.layout{display:grid;grid-template-columns:minmax(0,1fr);gap:40px;padding-top:40px;padding-bottom:64px}
@media (min-width:1000px){.layout.has-aside{grid-template-columns:minmax(0,1fr) 300px}}
.content{max-width:760px;min-width:0}
.layout:not(.has-aside) .content{margin:0 auto}

/* Typography */
h1,h2,h3{font-family:var(--f-head);line-height:1.2;letter-spacing:-.01em;color:var(--c-ink)}
h1{font-size:clamp(2rem,1.4rem + 2.6vw,3rem);margin:.2em 0 .4em}
h2{font-size:clamp(1.45rem,1.2rem + 1vw,1.85rem);margin:2.2em 0 .6em;padding-top:.2em}
h3{font-size:1.2rem;margin:1.6em 0 .4em}
p,ul,ol{margin:0 0 1.1em}
li{margin:.3em 0}
.eyebrow{display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--c-brand-ink);background:var(--c-brand-soft);padding:4px 10px;border-radius:999px}
.lead{font-size:1.2rem;color:var(--c-ink-2)}
.meta{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:.9rem;color:var(--c-muted);margin-bottom:1.4em}
.meta strong{color:var(--c-ink)}
.muted{color:var(--c-muted)}
.small{font-size:.9rem}
code{font-family:var(--f-mono);font-size:.92em;background:var(--c-soft);padding:1px 6px;border-radius:6px}
hr{border:0;border-top:1px solid var(--c-line);margin:2.5em 0}

/* Boxes */
.disclosure{border:1px solid var(--c-line);border-left:5px solid var(--c-brand);background:var(--c-surface);border-radius:12px;padding:16px 20px;margin:0 0 28px;font-size:.96rem}
.disclosure p:last-child{margin-bottom:0}
.disclosure strong:first-child{color:var(--c-brand-ink)}
.keypoints{background:var(--c-surface);border-radius:var(--radius);padding:22px 26px;margin:28px 0}
.keypoints h2{margin-top:0;font-size:1.25rem}
.keypoints ul{margin-bottom:0}
.note{border-radius:12px;background:#fff8e6;border:1px solid #f1dfae;padding:14px 18px;margin:24px 0;font-size:.96rem}
.note p:last-child{margin-bottom:0}
.toc{border:1px solid var(--c-line);border-radius:var(--radius);padding:18px 22px;margin:28px 0;font-size:.96rem}
.toc h2{font-size:1.05rem;margin:0 0 .5em;font-family:var(--f-body)}
.toc ol{margin:0;padding-left:1.2em;columns:2 240px;column-gap:28px}

/* Figures */
figure{margin:32px 0}
figure img{width:100%;border-radius:var(--radius);border:1px solid var(--c-line)}
figcaption{font-size:.9rem;color:var(--c-muted);margin-top:10px}

/* Tables */
.table-wrap{overflow-x:auto;margin:24px 0}
table{border-collapse:collapse;width:100%;font-size:.95rem}
th,td{text-align:left;vertical-align:top;padding:10px 12px;border-bottom:1px solid var(--c-line)}
th{background:var(--c-surface);font-weight:700}

/* FAQ */
details{border:1px solid var(--c-line);border-radius:12px;padding:12px 18px;margin:10px 0;background:#fff}
summary{cursor:pointer;font-weight:700}
details[open] summary{margin-bottom:8px}

/* Call to action */
.cta{border:1px solid var(--c-line);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px;margin:36px 0;background:#fff}
.cta h2,.cta h3{margin-top:0}
.btn{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:52px;padding:10px 26px;border-radius:12px;background:var(--c-brand);color:#fff;font-weight:700;font-size:1.05rem;text-decoration:none;text-align:center;line-height:1.25}
.btn:hover{background:var(--c-brand-ink);color:#fff}
.btn .partner{display:block;font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;opacity:.92}
.btn-block{display:flex;width:100%}
.cta-note{margin:10px 0 0;font-size:.85rem;color:var(--c-muted)}

/* Sidebar */
.aside{min-width:0}
.aside .card{border:1px solid var(--c-line);border-radius:var(--radius);padding:20px;margin-bottom:20px;background:#fff}
.aside h2{font-size:1.1rem;margin:0 0 .6em;font-family:var(--f-body)}
.aside ul{padding-left:1.1em;font-size:.94rem}
@media (min-width:1000px){.aside .sticky{position:sticky;top:20px}}

/* Cards grid (guides) */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;margin:24px 0}
.cards a.card{display:block;border:1px solid var(--c-line);border-radius:var(--radius);padding:20px;color:var(--c-ink);text-decoration:none;background:#fff;transition:box-shadow .15s,border-color .15s}
.cards a.card:hover{box-shadow:var(--shadow);border-color:#c8d0d8}
.cards .card h3{margin:0 0 .3em;font-size:1.1rem}
.cards .card p{margin:0;color:var(--c-muted);font-size:.94rem}

/* Definition list for identity data */
dl.facts{display:grid;grid-template-columns:minmax(140px,max-content) 1fr;gap:8px 20px;margin:20px 0 28px;padding:20px;background:var(--c-surface);border-radius:var(--radius)}
dl.facts dt{font-weight:700}
dl.facts dd{margin:0}
@media (max-width:560px){dl.facts{grid-template-columns:1fr}dl.facts dd{margin-bottom:8px}}

/* Footer */
.site-foot{margin-top:auto;background:var(--c-ink);color:#cfd6dd;font-size:.92rem;line-height:1.6}
.site-foot a{color:#fff}
.foot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:28px;padding-top:44px;padding-bottom:28px}
.site-foot h2{font-family:var(--f-body);font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:#fff;margin:0 0 12px}
.site-foot ul{list-style:none;padding:0;margin:0}
.site-foot address{font-style:normal}
.foot-legal{border-top:1px solid #39424c;padding-top:18px;padding-bottom:28px;font-size:.84rem;color:#aab4be}
.foot-legal p{margin:0 0 .6em}

/* Bridge page */
.bridge{max-width:620px;margin:0 auto;padding:56px 0;text-align:center}
.bridge .disclosure{text-align:left}

@media print{.adbar,.nav,.aside,.cta .btn{display:none}}
table caption{caption-side:bottom;text-align:left;padding-top:8px;font-size:.9rem;color:var(--c-muted)}
.bridge-foot{padding-top:18px}
