/* SimpleCrypto — site-specific styles. Loaded after base.css. */
:root{--hl:#c5f0e2;--caution-ink:#8a4b08;--caution-bg:#fff6e5;--measure:65ch}

.btn,.nav a,.byline,.crumb,.list-rows li>span:last-child,.more-list span,.toc,.partner-label,.footer-name,.quiet-link,.demo-note{font-family:var(--font-display)}
.btn{font-weight:700;border-radius:var(--radius)}
.btn-primary{box-shadow:none}
.site-header .brand img{height:26px;width:auto}
.nav-toggle{min-width:44px;min-height:44px;align-items:center;justify-content:center}
@media(max-width:860px){.nav a{min-height:44px}}

/* ---- Opening: the headline, then the jargon translated ---- */
.opening{padding-block:clamp(2.5rem,6vw,5rem) clamp(2.5rem,6vw,4.5rem)}
.opening h1{font-size:clamp(2.9rem,1.2rem + 7.6vw,7rem);line-height:.98;letter-spacing:-.035em;font-weight:700;max-width:13ch;margin-bottom:var(--s-5)}
.opening .lede{color:var(--ink);max-width:46ch}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-3) var(--s-5);margin-top:var(--s-5);max-width:none}
.quiet-link{font-size:var(--fs-sm);font-weight:500}

.plain{margin:clamp(2.5rem,6vw,4.5rem) 0 0;border-top:2px solid var(--ink)}
.plain-row{position:relative;display:grid;gap:var(--s-2) var(--s-6);padding:var(--s-4) 0;border-bottom:1px solid var(--line)}
@media(min-width:760px){.plain-row{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:baseline;padding:var(--s-5) 0}}
.plain dt{font-family:var(--font-display);font-weight:700;font-size:clamp(1.55rem,1.1rem + 2vw,2.6rem);line-height:1.1;letter-spacing:-.02em}
.plain dt a{color:var(--ink);text-decoration:none}
.plain dt a::after{content:"";position:absolute;inset:0}
.plain dd{margin:0;font-size:clamp(1.15rem,1rem + .9vw,1.7rem);line-height:1.3;max-width:34ch}
.plain-row:hover dd{color:var(--brand)}
.plain-row a:focus-visible{outline:none}
.plain-row:has(a:focus-visible){outline:2px solid var(--brand);outline-offset:2px}
mark{color:inherit;padding:0 .14em;margin-left:-.14em;background:linear-gradient(var(--hl),var(--hl)) no-repeat 0 60%/100% 78%;-webkit-box-decoration-break:clone;box-decoration-break:clone}
@media(prefers-reduced-motion:no-preference){
  mark{animation:sweep .55s var(--ease) both}
  .plain-row:nth-child(2) mark{animation-delay:.12s}
  .plain-row:nth-child(3) mark{animation-delay:.24s}
  .plain-row:nth-child(4) mark{animation-delay:.36s}
  .plain-row:nth-child(5) mark{animation-delay:.48s}
  .plain-row:nth-child(6) mark{animation-delay:.6s}
}
@keyframes sweep{from{background-size:0 78%}to{background-size:100% 78%}}

/* ---- The guides, by the question a reader has ---- */
.guides{padding-block:var(--s-5) var(--section)}
.guides>h2{font-size:clamp(1.9rem,1.4rem + 2vw,3rem);letter-spacing:-.025em;font-weight:700;margin-bottom:var(--s-7);scroll-margin-top:calc(var(--header-h) + 1rem)}
.question{display:grid;gap:var(--s-4) var(--s-6);margin-bottom:var(--s-8);scroll-margin-top:calc(var(--header-h) + 1rem)}
@media(min-width:900px){
  .question{grid-template-columns:minmax(0,4fr) minmax(0,8fr)}
  .question h3{position:sticky;top:calc(var(--header-h) + 1.25rem);align-self:start}
}
.question h3{font-size:clamp(1.35rem,1.2rem + .8vw,1.8rem);font-weight:700;letter-spacing:-.015em;max-width:16ch;margin:0}
.question .list-rows{border-top:1px solid var(--ink)}
.list-rows li{position:relative;gap:var(--s-5);padding:var(--s-4) 0}
.guide-link{font-family:var(--font-display);font-weight:700;font-size:var(--fs-lg);line-height:1.22;color:var(--ink);text-decoration:none;display:block}
.guide-link::after{content:"";position:absolute;inset:0}
.list-rows li:hover .guide-link{color:var(--brand);text-decoration:underline;text-underline-offset:.15em}
.list-rows p{font-size:var(--fs-md);line-height:1.5;margin-top:.35em}
.list-rows li>span:last-child{font-size:var(--fs-xs);padding-top:.35em}

.rule{background:var(--caution-bg);color:var(--caution-ink);padding:clamp(1.5rem,4vw,3rem);margin:0 0 var(--s-8);border-left:6px solid var(--caution-ink)}
.rule-line{font-family:var(--font-display);font-weight:700;font-size:clamp(1.7rem,1.1rem + 2.6vw,3.2rem);line-height:1.08;letter-spacing:-.025em;max-width:22ch;margin-bottom:var(--s-3)}
.rule a{color:inherit}

.who-pays{padding-block:0 var(--section)}
.who-pays h2{font-size:var(--fs-xl);font-weight:700;margin-bottom:var(--s-3)}

/* ---- Guide pages ---- */
.guide{padding-block:clamp(2rem,5vw,4rem) var(--s-7)}
.guide-head{max-width:52rem;margin-bottom:var(--s-6)}
.guide-head h1{font-size:clamp(2rem,1.45rem + 2.7vw,3.5rem);font-weight:700;letter-spacing:-.028em;line-height:1.06;margin-bottom:var(--s-4)}
.crumb{font-size:var(--fs-sm);font-weight:500;margin-bottom:var(--s-3)}
.byline{font-size:var(--fs-sm);color:var(--ink-2);margin:0}
.prose{font-size:clamp(1.06rem,1rem + .25vw,1.16rem);line-height:1.7;min-width:0}
.prose>*,.guide-section>*{max-width:var(--measure)}
.guide-section{max-width:none}
.prose h2{font-size:clamp(1.4rem,1.25rem + .8vw,1.85rem);font-weight:700;letter-spacing:-.015em;line-height:1.18;margin:var(--s-7) 0 var(--s-3);scroll-margin-top:calc(var(--header-h) + 1rem)}
.prose h1{font-size:clamp(2rem,1.45rem + 2.7vw,3.5rem);font-weight:700;letter-spacing:-.028em;line-height:1.06}
.prose h3{font-size:var(--fs-lg);font-weight:700;margin:var(--s-6) 0 var(--s-2)}
.prose li{margin-bottom:var(--s-2)}
.prose .lead:first-of-type{font-size:1.1em}
.toc{font-size:var(--fs-sm);line-height:1.35;margin-bottom:var(--s-6);padding-block:var(--s-4);border-block:1px solid var(--line);max-width:var(--measure)}
.toc-title{font-weight:700;margin-bottom:var(--s-3)}
.toc ol{list-style:none;padding:0;margin:0;display:grid;gap:0}
.toc a{display:block;padding:.45rem 0;text-decoration:none;font-weight:500}
.toc a:hover{text-decoration:underline}
@media(min-width:1040px){
  .guide.has-toc{display:grid;grid-template-columns:minmax(0,44rem) 15rem;column-gap:var(--s-7);align-items:start}
  .guide.has-toc .guide-head{grid-column:1/-1}
  .guide.has-toc .prose{grid-column:1;grid-row:2}
  .guide.has-toc .toc{grid-column:2;grid-row:2;position:sticky;top:calc(var(--header-h) + 1.5rem);border-block:0;padding:0 0 0 var(--s-4);border-left:1px solid var(--line);margin:0;max-height:calc(100vh - var(--header-h) - 3rem);overflow:auto}
}
.risk{background:var(--caution-bg);color:var(--caution-ink);padding:var(--s-4) var(--s-5);border-left:4px solid var(--caution-ink);font-size:.92em;line-height:1.5;margin-bottom:var(--s-6)}
.risk strong{color:inherit}
.partner{border:1px solid var(--line);border-top:3px solid var(--ink-2);padding:var(--s-4) var(--s-5);margin:var(--s-6) 0;font-size:.92em;line-height:1.5}
.partner p{margin-bottom:var(--s-2)}
.partner-label{font-size:var(--fs-xs);font-weight:700;color:var(--ink-2)}
.partner-head{font-weight:600}
.partner-note{font-size:.88em;color:var(--ink-2);margin:0}
.plain-list{padding-left:1.2em}
.correction{margin-top:var(--s-7);padding-top:var(--s-4);border-top:1px solid var(--line);color:var(--ink-2);font-size:.95em}
.read-next{font-family:var(--font-display);font-weight:500}

.more{padding-block:var(--s-5) var(--section)}
.more h2{font-size:var(--fs-xl);font-weight:700;margin-bottom:var(--s-4)}
.more-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--ink);max-width:52rem}
.more-list li{display:flex;justify-content:space-between;gap:var(--s-5);align-items:baseline;padding:var(--s-3) 0;border-bottom:1px solid var(--line)}
.more-list a{font-family:var(--font-display);font-weight:700;line-height:1.25;color:var(--ink);text-decoration:none}
.more-list a:hover{color:var(--brand);text-decoration:underline}
.more-list span{font-size:var(--fs-xs);color:var(--ink-2);white-space:nowrap}

/* ---- About, contact, legal ---- */
.page{padding-block:clamp(2rem,5vw,4rem) var(--section)}
.page-prose h1{margin-bottom:var(--s-4)}
.form{max-width:32rem;margin-top:var(--s-5);font-size:var(--fs-md)}
.form label{font-family:var(--font-display)}
.form .btn{justify-self:start}
.form-success{max-width:32rem}

/* ---- Footer ---- */
.footer-name{font-family:var(--font-display);font-weight:700;font-size:var(--fs-lg);color:#fff}
.footer-h{font-family:var(--font-display);font-weight:700;color:#fff;margin-bottom:var(--s-3)}
.site-footer li a{display:inline-block;padding:.3em 0}
.footer-bottom{align-items:flex-start;color:#c3ccc9}
.footer-disclosure{max-width:62ch}
