/* THE CHARTER (2026-10-08): the Ethos page only. Copied to site/ethos.css and linked from ethos.html alone.
   Same black, bone, silver, serif and sans as the rest of the site. Calm: nothing bounces; the flash is the one loud act. */
.ch-title{min-height:calc(100svh - 58px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:36px 18px 52px;max-width:720px;margin:0 auto}
.ch-seal{width:78px;height:auto;color:#151514;filter:drop-shadow(0 1px 0 rgba(255,255,255,.11)) drop-shadow(0 -1px 0 rgba(0,0,0,.95));margin-bottom:26px}
.ch-title h1{font-size:clamp(36px,11vw,68px);letter-spacing:.14em;margin-top:10px;line-height:1.05}
.ch-dates{margin-top:16px}
.ch-rule{display:block;width:46px;height:1px;background:rgba(233,227,214,.34);margin:32px auto}
.ch-def{font-family:"WD Serif",Georgia,serif;font-size:clamp(22px,5.9vw,30px);line-height:1.34;color:var(--bone);max-width:17em;text-wrap:balance}
.ch-def b{font-weight:500;letter-spacing:.02em}.ch-def i{color:var(--steel);font-size:.78em;margin-right:.2em}
.ch-you{margin-top:24px;font-family:"WD Serif",Georgia,serif;font-style:italic;font-size:19px;color:var(--steel)}
.ch-toc{margin-top:30px;color:var(--steel)}.ch-toc a{display:inline-flex;align-items:center;min-height:44px;border-bottom:1px solid transparent}.ch-toc a:hover{border-bottom-color:var(--line)}
.ch-cue{display:block;width:1px;height:48px;margin-top:22px;background:linear-gradient(rgba(233,227,214,.5),transparent)}
#story{display:block;scroll-margin-top:72px}
.beat{max-width:720px;margin:0 auto;padding:0 0 76px}
.beat .say{padding:0 18px}
/* a picture runs edge to edge on a phone; from 760px it sits in the column */
.frame{display:block;margin:0 auto;width:100%;aspect-ratio:4/5;background:#0d0d0c;overflow:hidden}
.frame.empty{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
@media(min-width:760px){.beat{padding-left:18px;padding-right:18px}.beat .say{padding:0}.frame{max-height:86vh;width:auto;max-width:100%}.frame.empty{border:1px solid var(--line)}}
.frame img{width:100%;height:100%;object-fit:cover}
.frame.wide{aspect-ratio:16/10;max-height:none}
.frame.empty{display:flex;align-items:flex-end;padding:14px}
.frame.empty span{font:500 11px/1.5 "WD Sans",sans-serif;letter-spacing:.13em;text-transform:uppercase;color:#8f8c86}
.say{font-family:"WD Serif",Georgia,serif;font-size:clamp(25px,6.7vw,36px);line-height:1.26;color:var(--bone);margin-top:22px;text-wrap:balance}
.js .rise{opacity:0;transform:translateY(10px);transition:opacity .8s ease,transform .8s ease}.js .rise.in{opacity:1;transform:none}
.ch-end{max-width:720px;margin:0 auto;padding:26px 18px 96px;text-align:center}
.ch-where{font-family:"WD Serif",Georgia,serif;font-style:italic;font-size:21px;color:var(--steel);margin-bottom:44px}
.ch-end .art{width:min(56vw,300px)}
.ch-end h2{font-size:clamp(27px,7.6vw,46px);margin-top:38px;text-wrap:balance}
/* the code: silver in daylight, white under the flash */
#code .flash{margin-top:22px;min-height:44px}
.code{list-style:none;margin-top:22px;border-bottom:1px solid var(--line)}
.code li{border-top:1px solid var(--line);scroll-margin-top:72px}
.code summary{list-style:none;display:grid;grid-template-columns:48px 1fr 30px;column-gap:6px;padding:24px 0;cursor:pointer;align-items:start;-webkit-tap-highlight-color:transparent}
.code summary::-webkit-details-marker{display:none}
.code .num{font-family:"WD Serif",Georgia,serif;font-size:17px;letter-spacing:.14em;color:var(--steel);padding-top:6px}
.code .txt{display:block}
.code h3{text-transform:none;letter-spacing:.02em;font-size:clamp(22px,5.9vw,27px);line-height:1.2;color:#9a9da1;transition:color 1.2s ease,text-shadow 1.5s ease}
.code .line{margin-top:9px;font-size:16px;color:#8f8c86;transition:color 1.2s ease}
.code li.lit h3{color:#fff}.code li.lit .line{color:#d6d0c3}
.code li.flare h3{text-shadow:0 0 12px rgba(255,255,255,.8),0 0 42px rgba(255,255,255,.34);transition:color .12s ease,text-shadow .12s ease}
.code .plus{position:relative;width:30px;height:30px;margin-top:2px}
.code .plus::before,.code .plus::after{content:"";position:absolute;left:8px;right:8px;top:14px;height:1px;background:var(--steel);transition:transform .3s ease}
.code .plus::after{transform:rotate(90deg)}.code details[open] .plus::after{transform:rotate(0)}
.code .more{padding:0 0 28px 54px}
.code .more .say{font-size:clamp(19px,5.1vw,23px);font-style:italic;color:#d6d0c3;margin-top:0}
.code .more .frame{margin-top:18px}
.code .more .flash{margin-top:18px;min-height:44px}.code .more .small{margin-left:12px;font-size:13px}
.tenof{margin-top:22px;color:var(--steel);min-height:20px}
.tenof.done{color:#fff;text-shadow:0 0 14px rgba(255,255,255,.5)}
.whiteout{position:fixed;inset:0;background:#fff;opacity:0;pointer-events:none;z-index:9}
.whiteout.go{animation:whiteout .55s ease-out}
@keyframes whiteout{0%{opacity:0}9%{opacity:.9}100%{opacity:0}}
/* the register: a ledger page */
.ledger{margin-top:28px;border:1px solid var(--line);padding:24px 18px 22px}   /* the ruled lines came out: they ran through the small print (cold read, 2026-10-08) */
.ledger form{display:flex;flex-wrap:wrap;gap:10px}
.ledger input{flex:1 1 220px;min-height:52px;padding:0 14px;background:#0a0a0a;border:1px solid rgba(233,227,214,.34);color:var(--bone);font:400 16px "WD Sans",sans-serif;border-radius:0}
.ledger .btn{flex:1 1 200px;width:auto;margin-top:0;min-height:52px}
.ledger .fine{margin-top:12px;font-size:15px;line-height:1.5;color:var(--steel)}.ledger .fine a{border-bottom:1px solid var(--line)}
.stamp{display:inline-block;border:1px solid var(--bone);outline:1px solid var(--bone);outline-offset:3px;padding:9px 16px;font-family:"WD Serif",Georgia,serif;font-size:20px;letter-spacing:.22em;text-transform:uppercase;transform:rotate(-2deg);margin:22px 6px 6px}
.paidwrap{margin-top:44px}.paidwrap .caps{display:block;margin-bottom:10px}
.paidwrap .none{margin-top:18px;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--steel);font-family:"WD Serif",Georgia,serif;font-style:italic;font-size:19px}
.paid{list-style:none;margin-top:18px}.paid li{padding:20px 0;border-top:1px solid var(--line)}
.paid p{font-family:"WD Serif",Georgia,serif;font-size:clamp(20px,5.3vw,24px);line-height:1.3;color:var(--bone)}
.paid .caps{display:block;margin-top:8px}
.tag{display:inline-block;margin:8px 0 0 0;padding:1px 6px;border:1px solid #c9903c;color:#c9903c;font:500 10px "WD Sans",sans-serif;letter-spacing:.12em;text-transform:uppercase}
.signed .tag{margin-left:10px}
.signed .fine{display:block;margin-top:6px}
.ch-close{text-align:center}.ch-close .only{margin-top:30px}.ch-close .links{margin-top:28px}.ch-close .links a{border-bottom:1px solid var(--line)}
@media(min-width:860px){.beat{padding-bottom:110px}.frame{max-height:78vh}.code .more{padding-left:64px}.code summary{grid-template-columns:58px 1fr 30px}.ledger{padding:34px 30px 30px}}
@media(prefers-reduced-motion:reduce){.js .rise{opacity:1;transform:none;transition:none}.code h3,.code .line{transition:none}.whiteout.go{animation:none}.ch-cue{display:none}}

/* the site gives every summary a plus sign; the law rows carry their own */
.code summary::after,.code details[open]>summary::after{content:none!important}   /* the site sheet draws a + and, open, a dash on every summary */
/* the smallest phones (under 360 wide): the two dotted lines on the title page stack, one item a line, and the dots go. A centred line
   cannot hide a dot that starts it, and holding the line to one row cut its first letter off (seen in the 320 screenshot, 2026-10-08;
   the audit did not catch it, because it skips words the dot rule clips). */
@media(max-width:359px){.ch-dates .di,.ch-toc .di{display:block}.ch-dates .dot,.ch-toc .dot{display:none}.ch-dates .dl>span,.ch-toc .dl>span{margin-left:0}}
