/* Signalform × Strangeland · Stewardship and the Common Era offer.
   Reskinned 2026-10-05 from the PDW brief onto Strangeland's palette (gold = the live thing,
   terra = a message passing through, sage = go) and its type (Helvetica + SF Mono).
   Original PDW notes follow.
   PDW × Signalform style guide (May 2026): dark only; Inter Tight 800 for headlines, Inter for
   body, JetBrains Mono for issued data; no serif, no italics; gold once per moment; olive = go.
   Copy to AR 25-50: bottom line up front, short, active.
   Layout: every page is one screen. The plan is a grid that fills the page on wide screens and a
   menu whose rows fill the height on narrow or short ones. Motion lives in app.js (GSAP). */
:root{
  --black:#121110; --graphite:#191816; --coal:#211F1D; --steel:#36322E; --iron:#45403A;
  --ash:#8C857B; --bone:#CFC9BF; --paper:#F5F3EE; --gold:#D9BD4E; --go:#8FB098; --nogo:#E0836A;
  --display:"Helvetica Neue",Helvetica,Arial,sans-serif; --body:"Helvetica Neue",Helvetica,Arial,sans-serif; --mono:ui-monospace,"SF Mono","IBM Plex Mono",Menlo,monospace;
  --edge:clamp(16px,3vw,44px); --max:1320px;
  --pad:max(var(--edge),calc((100vw - var(--max)) / 2));
}
*{box-sizing:border-box}
html{background:var(--black);-webkit-text-size-adjust:100%;touch-action:manipulation}
body{margin:0;color:var(--bone);font-family:var(--body);-webkit-font-smoothing:antialiased;background:var(--black)}
a{color:inherit}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
[hidden]{display:none!important}
.mono{font-family:var(--mono);font-weight:500;font-size:13px;letter-spacing:.02em}
.eyebrow{font-family:var(--body);font-weight:600;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ash)}
.eyebrow.gold{color:var(--gold)}
.eyebrow i{font-style:normal;text-transform:none;letter-spacing:0;font-weight:400}

/* pre-paint: hidden until app.js hands them to the timeline (never longer than 2.5s) */
html.pre [data-r],html.pre .mark,html.pre .to > div,html.pre .para,html.pre .qlist > *,html.pre .answer,html.pre .bar > *{visibility:hidden}

/* ---------- the page shell ---------- */
.page{position:relative;height:100vh;height:100dvh;overflow:hidden;display:grid;padding:0 var(--pad);touch-action:none}
.bar,.stage,.head,.body,.foot,.homefoot{position:relative;z-index:1}
.home{grid-template-rows:auto minmax(0,1fr) auto}
.memo{grid-template-rows:auto auto minmax(0,1fr) auto}
.ground{position:fixed;inset:0;width:100vw;height:100vh;z-index:0;pointer-events:none}
.bar{display:flex;align-items:center;justify-content:space-between;height:52px;z-index:6!important}
.sf{display:inline-flex;align-items:center;gap:9px;font-family:var(--mono);font-weight:500;font-size:12px;letter-spacing:.2em;color:var(--paper);padding:8px 0}
.sf i{width:7px;height:7px;border-right:1.4px solid currentColor;border-bottom:1.4px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .3s cubic-bezier(.23,1,.32,1)}
.sf[aria-expanded="true"] i{transform:rotate(225deg) translateY(-1px)}
.sf:hover{color:#fff}
.status{font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--ash)}

/* the reticle */
.mark{display:block;width:56px;height:56px;color:var(--paper);cursor:crosshair;-webkit-tap-highlight-color:transparent}
.mark svg{width:100%;height:100%;overflow:visible;display:block}
.mark circle,.mark line{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:square}
.mark .dot{fill:var(--gold);stroke:none}
.lockfx{position:fixed;inset:0;width:100vw;height:100vh;z-index:60;pointer-events:none;overflow:visible}
.lockfx circle{fill:none}

/* buttons */
.go{display:flex;gap:10px;flex-wrap:wrap}
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--body);font-weight:600;font-size:14px;text-decoration:none;padding:12px 18px;border-radius:7px;overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .15s,border-color .15s,color .15s}
.btn.primary{background:var(--paper);color:var(--black)}
.btn.primary:hover{background:#fff}
.btn.ghost{border:1px solid var(--steel);color:var(--paper)}
.btn.ghost:hover{border-color:var(--bone)}
.btn[disabled]{opacity:.35;pointer-events:none}
.btn.confirm{border:1px solid var(--go);color:var(--paper)}
.btn.confirm span,.btn.confirm .led{position:relative;z-index:1}
.btn.confirm .led{width:8px;height:8px;border-radius:50%;border:1.5px solid var(--go)}
.btn.confirm .fill{position:absolute;inset:0;background:var(--go);clip-path:inset(0 100% 0 0)}
.btn.confirm.on{color:var(--black)}.btn.confirm.on .led{background:var(--black);border-color:var(--black)}
.btn.pay{border:1px solid var(--steel);color:var(--ash);cursor:not-allowed}
.btn.pay.open{border-color:var(--go);color:var(--paper);cursor:pointer}

/* ---------- home ---------- */
.stage{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:20px;padding-bottom:4vh}
.stage .mark{margin-bottom:10px}
.stage h1{font-family:var(--display);font-weight:800;font-size:clamp(36px,5.6vw,80px);line-height:1;letter-spacing:-.028em;color:var(--paper);margin:0;max-width:13em;text-wrap:balance}
.terms{font-family:var(--mono);font-weight:500;font-size:clamp(13px,1.1vw,15px);letter-spacing:.04em;color:var(--bone);margin:0}
.stage .go{justify-content:center;margin-top:10px}
.homefoot{font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--ash);text-align:center;padding:0 0 18px}

/* ---------- memo pages ---------- */
.head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:22px;align-items:center;padding:2px 0 18px;border-bottom:1px solid var(--steel)}
.to{display:grid;grid-template-columns:repeat(4,auto);justify-content:start;gap:6px 48px;margin:0}
.to > div{display:flex;flex-direction:column;gap:4px;min-width:0}
.to dt{font-weight:600;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ash)}
.to dd{margin:0;font-size:15px;color:var(--paper)}
.to dd.mono{font-size:14px}
.body{min-height:0;position:relative;padding:4px 0 0}
.foot{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0 18px;border-top:1px solid var(--steel)}
.sig{display:flex;align-items:baseline;gap:12px;font-size:13px;color:var(--ash);min-width:0}
.sig b{font-size:15px;color:var(--paper);font-weight:600;white-space:nowrap}

/* the plan: paragraphs */
.paras{height:100%;min-height:0}
.para{position:relative;min-width:0;min-height:0;display:flex;flex-direction:column}
.para .rule{position:absolute;left:0;right:0;top:0;height:1px;background:var(--steel);transform-origin:left center}
.ph{display:grid;grid-template-columns:26px minmax(0,1fr);gap:6px 0;align-items:baseline;text-align:left;width:100%;cursor:default;-webkit-tap-highlight-color:transparent}
.ph .no{font-family:var(--mono);font-size:12px;color:var(--ash)}
.ph h2{grid-column:2;font-family:var(--display);font-weight:700;font-size:clamp(18px,1.55vw,22px);line-height:1.15;letter-spacing:-.012em;color:var(--paper);margin:2px 0 0}
.ph .chev{display:none}
.pb{min-height:0}
.pbi{display:flex;flex-direction:column;gap:12px;padding:12px 0 0 26px;height:100%}
.pbi p{margin:0;font-size:clamp(14.5px,1.12vw,16px);line-height:1.55;color:var(--bone);max-width:48em}
.more{align-self:flex-start;margin-top:auto;font-family:var(--body);font-weight:600;font-size:13px;color:var(--paper);text-decoration:none;padding:6px 0;border-bottom:1px solid var(--iron);transition:border-color .15s,color .15s}
.more:hover{border-color:var(--gold);color:#fff}
.weeks{list-style:none;margin:0;padding:0}
.weeks li{display:grid;grid-template-columns:72px minmax(0,1fr);gap:10px;padding:7px 0;font-size:clamp(14px,1.08vw,15.5px);line-height:1.5;border-top:1px solid rgba(54,50,46,.7)}
.weeks li:first-child{border-top:0;padding-top:0}
.weeks b{color:var(--paper);font-weight:600}
.weeks .mono{font-size:12px;color:var(--bone);padding-top:2px}
.facts{display:grid;grid-template-columns:repeat(5,auto);justify-content:start;gap:8px 32px;margin:0;padding:14px 0 0;border-top:1px solid rgba(54,50,46,.7)}
.facts > div{display:flex;flex-direction:column;gap:4px}
.facts dt{font-weight:600;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ash)}
.facts dd{margin:0;font-family:var(--mono);font-size:14px;color:var(--paper);white-space:nowrap}

/* grid mode: the page is filled */
.paras.grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.3fr);grid-template-rows:auto auto auto;align-content:stretch;column-gap:48px}
.grid .para{padding:16px 0 14px}
.grid .lead{grid-column:1/-1;padding-top:18px}
.grid .lead .ph h2{font-weight:800;font-size:clamp(26px,2.7vw,40px);line-height:1.04;letter-spacing:-.024em}
.grid .lead .pbi{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 56px;align-items:start;padding-top:10px}
.grid .lead .pbi p{font-size:clamp(15.5px,1.25vw,18px);color:var(--bone)}
.grid .lead .facts{grid-row:1;grid-column:2;border-top:0;padding-top:2px;grid-template-columns:repeat(5,auto);gap:6px 28px}
.grid .lead .more{display:none}

/* list mode: a menu whose rows fill the height; one opens at a time */
.paras.list{display:flex;flex-direction:column;border-bottom:1px solid var(--steel)}
.list .para{flex:1 1 0;max-height:110px;justify-content:center}
.list .para.on{flex:0 0 auto;max-height:none;justify-content:flex-start}
.list .ph{grid-template-columns:26px 92px minmax(0,1fr) 22px;align-items:center;cursor:pointer;padding:14px 0}
.list .ph .eyebrow{white-space:nowrap}
.list .ph h2{grid-column:3;margin:0;font-size:clamp(16px,2.1vw,20px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.list .para.on .ph h2{white-space:normal}
.list .lead.on .ph h2{font-weight:800;font-size:clamp(22px,3.2vw,30px);line-height:1.05}
.list .ph .chev{display:block;justify-self:end;width:9px;height:9px;border-right:1.5px solid var(--ash);border-bottom:1.5px solid var(--ash);transform:rotate(45deg);transition:transform .35s cubic-bezier(.77,0,.175,1),border-color .2s}
.list .para.on .chev{transform:rotate(225deg);border-color:var(--gold)}
.list .pb{height:0;overflow:hidden}
.list .para.on .pb{height:auto}
.list .pbi{padding:0 0 18px 26px;height:auto}
.list .facts{grid-template-columns:repeat(3,auto)}
.list .ph:hover h2{color:#fff}

/* ---------- the confirm flow ---------- */
.flow{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr);gap:22px;padding-top:26px}
.stages{position:relative;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,1fr)}
.stages li{position:relative;padding:14px 8px 0 0;font-weight:600;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ash);counter-increment:st}
.stages li::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--steel)}
.stages li::after{content:"0" counter(st);position:absolute;left:0;top:-20px;font-family:var(--mono);font-weight:500;font-size:11px;letter-spacing:0;color:var(--ash)}
.stages li.ok{color:var(--paper)}.stages li.ok::before{background:var(--go)}
.stages li.cur{color:var(--paper)}
.stages .bar2{position:absolute;left:0;top:0;height:2px;width:0;background:var(--gold);box-shadow:0 0 10px rgba(217,189,78,.55)}
.intake{position:relative;min-height:0}
.step{display:none;flex-direction:column;gap:16px;max-width:1000px;min-height:0;height:100%}
.step.on{display:flex}
.legend{display:flex;align-items:baseline;gap:14px}
.legend .no{font-family:var(--mono);font-size:13px;color:var(--gold)}
.legend h2{font-family:var(--display);font-weight:800;font-size:clamp(26px,2.6vw,36px);letter-spacing:-.02em;color:var(--paper);margin:0;line-height:1}
.legend .tz{margin-left:auto;color:var(--ash);font-size:12px}
.people{display:flex;flex-direction:column;max-height:min(46vh,420px);overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:thin;scrollbar-color:var(--steel) transparent}
.person{position:relative;display:grid;grid-template-columns:34px repeat(4,minmax(0,1fr));gap:10px 22px;align-items:end;padding:14px 0;border-top:1px solid var(--steel)}
.person.extra{grid-template-columns:34px repeat(3,minmax(0,1fr)) 28px}
.person .pn{align-self:center;color:var(--ash)}
.person label,.msg{display:flex;flex-direction:column;gap:5px;min-width:0}
.person input{font:inherit;font-size:16px;color:var(--paper);background:transparent;border:0;border-bottom:1px solid var(--steel);padding:7px 0;outline:0;border-radius:0;transition:border-color .15s}
.person input:focus{border-bottom-color:var(--gold)}
.person input.bad{border-bottom-color:var(--nogo)}
.person .rm{width:26px;height:26px;border-radius:50%;border:1px solid var(--steel);color:var(--ash);line-height:1;align-self:center}
.person .rm:hover{color:var(--paper);border-color:var(--bone)}
.add{align-self:flex-start;display:inline-flex;align-items:center;gap:12px;border:1px dashed var(--iron);border-radius:8px;color:var(--bone);font-weight:600;font-size:14px;padding:10px 16px 10px 10px;transition:border-color .15s,color .15s}
.add span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--paper);color:var(--black);font-size:18px;line-height:1;transition:transform .35s cubic-bezier(.23,1,.32,1)}
.add:hover{border-color:var(--bone);color:var(--paper)}.add:hover span{transform:rotate(90deg)}
.cal-wrap{display:grid;grid-template-columns:minmax(280px,380px) minmax(0,1fr);gap:36px;align-items:start}
.cal{border:1px solid var(--steel);border-radius:10px;padding:14px 14px 10px;background:rgba(25,24,22,.7)}
.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.cal-head b{font-family:var(--display);font-weight:700;font-size:16px;color:var(--paper)}
.calnav{border:1px solid var(--steel);border-radius:6px;color:var(--bone);width:30px;height:28px}
.calnav:disabled{opacity:.25;cursor:default}
.cal-dow,.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}
.cal-dow span{font-weight:600;font-size:10.5px;letter-spacing:.1em;color:var(--ash);padding:2px 0 6px}
.day{position:relative;height:40px;border:1px solid transparent;border-radius:7px;color:#5A544C;font-family:var(--mono);font-size:13px;cursor:default}
.day.open{color:var(--paper);border-color:var(--steel);cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.day.open:hover{border-color:var(--bone)}
.day.open i{position:absolute;left:50%;bottom:5px;width:calc(var(--n,1) * 1.6px + 4px);height:2px;transform:translateX(-50%);background:var(--go);border-radius:2px}
.day.today{box-shadow:inset 0 0 0 1px rgba(217,189,78,.45)}
.day.on{background:var(--paper);color:var(--black);border-color:var(--paper)}.day.on i{background:var(--black)}
.slots{display:flex;flex-direction:column;gap:10px;min-width:0}
.times{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:6px;max-height:min(30vh,240px);overflow-y:auto;touch-action:pan-y}
.chip{font-family:var(--mono);font-weight:500;font-size:12px;color:var(--bone);border:1px solid var(--steel);border-radius:6px;padding:9px 4px;text-align:center;transition:background .15s,color .15s,border-color .15s}
.chip:hover{border-color:var(--bone)}
.chip.on{background:var(--paper);color:var(--black);border-color:var(--paper)}
.own{margin-top:6px;padding-top:12px;border-top:1px solid var(--steel);display:flex;flex-direction:column;gap:8px}
.own-row{display:flex;gap:10px}
.own input{flex:1;min-width:0;font:inherit;font-family:var(--mono);font-size:14px;color:var(--paper);background:transparent;border:1px solid var(--steel);border-radius:6px;padding:8px 10px;color-scheme:dark;outline:0}
.own input:focus{border-color:var(--gold)}
.fine{margin:0;font-size:12.5px;color:var(--ash)}
.msg textarea{font:inherit;font-size:17px;line-height:1.5;color:var(--paper);background:rgba(25,24,22,.7);border:1px solid var(--steel);border-radius:10px;padding:14px 16px;outline:0;resize:none;max-width:720px}
.msg textarea:focus{border-color:var(--gold)}
.review{display:flex;gap:40px;padding-top:6px}
.review div{display:flex;flex-direction:column;gap:4px}.review b{color:var(--paper);font-weight:600;font-size:16px}
.done{display:flex;flex-direction:column;gap:12px;max-width:820px}
.done .stamp{color:var(--go);font-size:12px}
.done h2{font-family:var(--display);font-weight:800;font-size:clamp(30px,3.4vw,46px);letter-spacing:-.022em;color:var(--paper);margin:0;line-height:1.04}
.done p{margin:0;font-size:16px;max-width:38em}
.ahead{list-style:none;margin:10px 0 0;padding:0}
.ahead li{display:grid;grid-template-columns:34px 150px minmax(0,1fr) auto;gap:12px;align-items:baseline;padding:11px 0;border-top:1px solid var(--steel);font-size:14.5px}
.ahead li:last-child{border-bottom:1px solid var(--steel)}
.ahead b{color:var(--paper);font-weight:600}
.ahead em{font-style:normal;font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ash);border:1px solid var(--steel);border-radius:100px;padding:3px 9px;white-space:nowrap}
.ahead li.cur em{color:var(--gold);border-color:rgba(217,189,78,.45)}

/* ---------- the questions: a list beside an answer ---------- */
.qa{height:100%;display:grid;grid-template-columns:minmax(300px,.85fr) minmax(0,1.15fr);gap:0 64px;padding-top:18px}
.qlist{position:relative;display:flex;flex-direction:column;min-height:0;overflow-y:auto;touch-action:pan-y;padding-left:16px;margin-left:-16px}
.qlist .group{padding:14px 0 8px}
.qlist .group:first-of-type{padding-top:0}
.q{display:grid;grid-template-columns:30px minmax(0,1fr);gap:0;align-items:baseline;text-align:left;padding:11px 0;border-top:1px solid var(--steel);color:var(--bone);transition:color .2s}
.q .no{font-family:var(--mono);font-size:12px;color:var(--ash)}
.q b{font-weight:600;font-size:clamp(14.5px,1.15vw,16px);line-height:1.35}
.q:hover{color:var(--paper)}
.q.on{color:var(--paper)}.q.on .no{color:var(--gold)}
.qmark{position:absolute;left:0;top:0;width:2px;height:0;background:var(--gold);box-shadow:0 0 10px rgba(217,189,78,.5)}
.answer{min-height:0;display:flex;flex-direction:column;gap:16px;padding-top:4px}
.answer .eyebrow{color:var(--gold)}
.answer h2{font-family:var(--display);font-weight:800;font-size:clamp(28px,3vw,44px);line-height:1.04;letter-spacing:-.024em;color:var(--paper);margin:0;max-width:16em}
.answer p{margin:0;font-size:clamp(16px,1.35vw,19px);line-height:1.55;color:var(--bone);max-width:34em}
.answer p:first-of-type{color:var(--paper)}
.answer a,.answer button{align-self:flex-start;margin-top:6px;font-family:var(--body);font-weight:600;font-size:14px;color:var(--paper);text-decoration:none;padding:6px 0;border-bottom:1px solid var(--iron)}
.answer a:hover,.answer button:hover{border-color:var(--gold)}
/* narrow: the list is the menu and the answer opens under its question */
.qa.list{display:block}
.qa.list .qlist{height:100%;overflow-y:auto}
.qa.list .answer{gap:10px;padding:2px 0 16px 30px;overflow:hidden}
.qa.list .answer .eyebrow,.qa.list .answer h2{display:none}
.qa.list .answer p{font-size:15px}

/* ---------- the Signalform panel ---------- */
.about{position:fixed;left:var(--pad);top:52px;z-index:50;width:min(640px,calc(100vw - 24px));max-height:calc(100dvh - 64px);overflow-y:auto;touch-action:pan-y;overscroll-behavior:contain;background:rgba(18,17,16,.97);border:1px solid var(--steel);border-radius:12px;padding:24px;box-shadow:0 40px 80px -40px rgba(0,0,0,.85);visibility:hidden}
.about .x{position:absolute;right:14px;top:14px;width:32px;height:32px;border-radius:50%;border:1px solid var(--steel);color:var(--bone);font-size:16px;line-height:1}
.about .x:hover{border-color:var(--bone);color:var(--paper)}
.about .who{display:grid;grid-template-columns:132px minmax(0,1fr);gap:20px;align-items:start;padding-right:30px}
.about img{width:132px;height:164px;object-fit:cover;object-position:50% 20%;border-radius:8px;filter:grayscale(1) contrast(1.05);display:block}
.about h2{font-family:var(--display);font-weight:800;font-size:28px;line-height:1.02;letter-spacing:-.022em;color:var(--paper);margin:8px 0 6px}
.about .role{font-family:var(--mono);font-size:12px;color:var(--bone);margin:0 0 10px}
.about p{margin:0 0 12px;font-size:15px;line-height:1.55;color:var(--bone)}
.about ol{list-style:none;margin:16px 0 14px;padding:0;border-top:1px solid var(--steel)}
.about ol li{display:grid;grid-template-columns:32px 104px minmax(0,1fr);gap:10px;padding:10px 0;border-bottom:1px solid var(--steel);font-size:14px}
.about ol b{color:var(--paper);font-weight:600}
.about .recent{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:baseline;font-size:14px;margin:0 0 14px}
.about .recent a{color:var(--paper);text-decoration:none;border-bottom:1px solid var(--iron)}
.about .recent a:hover{border-color:var(--gold)}
.about .links{display:flex;gap:8px;flex-wrap:wrap}
.about .links a{font-weight:600;font-size:13px;text-decoration:none;color:var(--paper);border:1px solid var(--steel);border-radius:7px;padding:9px 12px}
.about .links a:hover{border-color:var(--bone)}
.about .contact{font-family:var(--mono);font-size:12px;color:var(--ash);margin-top:14px}
.scrim{position:fixed;inset:0;z-index:45;background:rgba(0,0,0,.45);visibility:hidden;opacity:0}

/* ---------- breakpoints ---------- */
@media (max-height:820px) and (min-width:701px){
  .head{padding-bottom:14px}.foot{padding:10px 0 12px}
  .grid .para{padding:14px 0 12px}.pbi{gap:9px;padding-top:9px}
  .day{height:34px}.times{max-height:150px}.flow{gap:16px;padding-top:22px}
}
@media (max-width:1240px){.to{gap:6px 32px}.grid .lead .facts{grid-template-columns:repeat(3,auto)}}
@media (max-width:900px){
  .to{grid-template-columns:repeat(2,minmax(0,auto));gap:10px 36px}
  .person,.person.extra{grid-template-columns:28px minmax(0,1fr) minmax(0,1fr)}
  .person .pn{grid-row:1 / span 2;align-self:start;padding-top:22px}
  .person > label:nth-of-type(odd){grid-column:2}.person > label:nth-of-type(even){grid-column:3}
  .person.extra .rm{grid-column:3;grid-row:2;justify-self:end}
  .cal-wrap{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}
}
@media (max-width:700px){
  :root{--edge:16px}
  .bar{height:46px}
  .head{grid-template-columns:minmax(0,1fr) auto;gap:12px;padding-bottom:12px}
  .head .mark{order:2;width:36px;height:36px}
  .to{grid-template-columns:auto;gap:6px}
  .to > div{flex-direction:row;align-items:baseline;gap:10px}
  .to dt{width:96px;flex:0 0 96px}.to dd{font-size:13.5px}
  .to > div:nth-child(2),.to > div:nth-child(4){display:none}
  .list .ph{grid-template-columns:24px minmax(0,1fr) 20px;padding:12px 0}
  .list .ph .eyebrow{display:none}
  .list .ph h2{grid-column:2;font-size:16px}
  .list .lead.on .ph h2{font-size:22px}
  .list .pbi{padding:0 0 14px 24px}
  .pbi p,.weeks li{font-size:14px}
  .facts{grid-template-columns:repeat(3,auto)!important;gap:8px 20px}.facts dd{font-size:13px}
  .foot{gap:10px}.sig{display:none}.foot .go{width:100%}.foot .btn{flex:1}
  .stage h1{font-size:clamp(32px,9.4vw,44px)}
  .stages li{font-size:0;padding-top:10px}.stages li.cur{font-size:9.5px;letter-spacing:.08em;white-space:nowrap}
  .flow{gap:14px;padding-top:24px}
  .legend h2{font-size:24px}.legend .tz{display:none}
  .person,.person.extra{grid-template-columns:24px minmax(0,1fr);gap:6px 12px;padding:10px 0}
  .person > label:nth-of-type(n){grid-column:2}
  .person .pn{grid-row:auto;padding-top:4px}
  .person.extra .rm{position:absolute;right:0;top:10px}
  .person input{padding:5px 0;font-size:15px}
  .people{max-height:calc(100dvh - 330px)}
  .cal-wrap{grid-template-columns:1fr;gap:12px}.cal{padding:8px}
  .day{height:30px;font-size:12px}.day.open i{bottom:3px}
  .times{grid-template-columns:repeat(4,1fr);max-height:76px}
  .own{flex-direction:row;align-items:center;margin:0;padding-top:8px}.own .eyebrow{white-space:nowrap}
  #livenote{display:none}
  .ahead li{grid-template-columns:24px minmax(0,1fr) auto;gap:2px 10px;padding:8px 0;font-size:13px}
  .ahead li span:not(.mono){grid-column:2 / 4;color:var(--ash);font-size:12.5px}
  .ahead li em{grid-column:3;grid-row:1}
  .done p{font-size:14px}
  .qa{padding-top:12px}
  .about{left:8px;right:8px;width:auto;top:46px;padding:18px}
  .about .who{grid-template-columns:84px minmax(0,1fr);gap:14px}
  .about img{width:84px;height:104px}
  .about h2{font-size:22px}
  .about ol li{grid-template-columns:28px minmax(0,1fr)}.about ol li span:last-child{grid-column:2;color:var(--ash);font-size:13px}
  .about p{font-size:14px}
}
@media (max-width:700px) and (max-height:680px){
  .day{height:24px;font-size:11px}.cal-dow{display:none}.times{max-height:38px}.own .eyebrow{display:none}
  .legend h2{font-size:20px}.list .ph{padding:9px 0}.list .ph h2{font-size:15px}
  .confirming .flow{overflow-y:auto;touch-action:pan-y}
}
@media (prefers-reduced-motion:reduce){*{transition-duration:0s!important}}
.grid .pb{flex:1 1 auto;display:flex;flex-direction:column}
.grid .pbi{flex:1 1 auto}
.grid .lead .pb{flex:0 0 auto}

.grid .pbi{gap:10px;padding-top:10px}
.grid .more{padding:4px 0}
/* portrait tablets: two columns, Execution and Next run full width */
.paras.grid.two{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:auto;column-gap:36px}
.grid.two .para:nth-child(4),.grid.two .para:nth-child(7){grid-column:1/-1}
.grid.two .para:nth-child(4) .weeks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px}
.grid.two .para:nth-child(4) .weeks li{display:flex;flex-direction:column;gap:6px;border-top:0;padding:0}
.grid.two .lead .facts{grid-template-columns:repeat(3,auto)}
/* the menu's preview line under each closed row, when there's room */
.ph .peek{display:none}
.list.peek .para:not(.on) .ph .peek{display:block;grid-column:3;grid-row:2;font-family:var(--body);font-weight:400;font-size:13.5px;line-height:1.4;color:var(--ash);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
@media (max-width:700px){.list.peek .para:not(.on) .ph .peek{grid-column:2;font-size:12.5px}}
@media (min-width:760px) and (max-width:1000px){.qa{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:0 36px}.answer h2{font-size:28px}.answer p{font-size:16px}}
.list.tight .ph{padding:9px 0}.list.tight .pbi{padding-bottom:10px;gap:8px}.list.tight .lead.on .ph h2{font-size:20px}.list.tight .facts{padding-top:8px}
.list .lead .facts{grid-template-columns:repeat(3,auto)}
.paras.list{overflow-y:auto;touch-action:pan-y;scrollbar-width:none}
.qlist > *{flex-shrink:0}
.grid .lead .rule{display:none}
@media (max-width:700px){.facts{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px 12px}.facts dd{white-space:normal;font-size:12.5px}}
/* compact grid: tighter type so the whole memo still fits on shorter screens */
.grid.compact .para{padding:12px 0 10px}
.grid.compact .ph h2{font-size:17px}
.grid.compact .lead .ph h2{font-size:28px}
.grid.compact .pbi{gap:7px;padding-top:7px}
.grid.compact .pbi p,.grid.compact .weeks li{font-size:13.5px;line-height:1.45}
.grid.compact .weeks li{padding:4px 0}
.grid.compact .more{font-size:12.5px;padding:2px 0}
.grid.compact .facts dd{font-size:13px}
.page{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.page input,.page textarea{-webkit-user-select:text;user-select:text}
.pb,.pbi,.facts,.facts > div,.ph{min-width:0}
@media (max-width:700px){.list .lead .facts,.facts{grid-template-columns:repeat(3,minmax(0,1fr))!important}.facts dd{white-space:normal}}
.grid .para{min-height:auto}

/* arrows: drawn, so they sit on the optical centre of every button and link */
.ar{display:inline-block;flex:0 0 auto;width:.92em;height:.92em;background:currentColor;vertical-align:-.1em;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2 8h11M9 4l4 4-4 4' fill='none' stroke='%23000' stroke-width='1.7'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2 8h11M9 4l4 4-4 4' fill='none' stroke='%23000' stroke-width='1.7'/%3E%3C/svg%3E") center/contain no-repeat}
.ar.l{transform:scaleX(-1)}.ar.d{transform:rotate(90deg)}
.more,.about .links a,.answer a,.answer button{display:inline-flex;align-items:center;gap:7px}
.btn .ar{width:1em;height:1em}
/* autofill: keep the dark field instead of the browser's pale box */
input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,textarea:-webkit-autofill{
  -webkit-box-shadow:0 0 0 1000px var(--black) inset!important;box-shadow:0 0 0 1000px var(--black) inset!important;-webkit-text-fill-color:var(--paper)!important;caret-color:var(--paper);transition:background-color 99999s ease-out 0s}
input:autofill{background:transparent!important}
input:invalid,textarea:invalid{box-shadow:none;outline:0}
.person input{-webkit-appearance:none;appearance:none}

/* focus: the plan reads top-down; everything stays legible but only one paragraph is lit */
.paras .para > .ph,.paras .para > .pb{transition:opacity .55s cubic-bezier(.23,1,.32,1)}
.paras.dim .para:not(.focus) > .ph,.paras.dim .para:not(.focus) > .pb{opacity:.3}
.paras.list.dim .para:not(.focus) > .ph{opacity:.5}
@media (hover:hover){.paras.dim .para:not(.focus):hover > .ph,.paras.dim .para:not(.focus):hover > .pb{opacity:.62}}
.paras.grid.dim .para:not(.focus){cursor:pointer}
.paras.dim .para .eyebrow.gold{color:var(--ash)}
.paras.dim .para.focus .ph .eyebrow{color:var(--gold)}
.para .eyebrow{transition:color .45s}
/* the panel: Recent as a short list; the page behind it blurs */
.about .recent{grid-template-columns:auto minmax(0,1fr)}
.about .recent ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.about .recent li{line-height:1.45}
.scrim{background:rgba(0,0,0,.5)}

/* the returning view: your request beside the replies */
.yours{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:0 40px;margin-top:8px;padding-top:14px;border-top:1px solid var(--steel)}
.ycol{display:flex;flex-direction:column;gap:10px;min-width:0}
.ycol > .eyebrow{display:flex;align-items:center;gap:10px}
.chip-st{font-style:normal;font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;border:1px solid rgba(217,189,78,.45);color:var(--gold);border-radius:100px;padding:2px 8px}
.chip-st.ok{border-color:rgba(143,176,152,.6);color:#A9C7B1}
.chip-st.off{border-color:var(--steel);color:var(--ash)}
.ydl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 16px;margin:0;font-size:14px}
.ydl dt{font-weight:600;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ash);padding-top:3px}
.ydl dd{margin:0;color:var(--paper);overflow-wrap:anywhere}
.thread{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;max-height:180px;overflow-y:auto;touch-action:pan-y}
.thread li{border-left:0;background:rgba(25,24,22,.75);border:1px solid var(--steel);border-radius:10px;padding:10px 12px;font-size:14.5px;line-height:1.5;color:var(--paper)}
.thread li .mono{display:block;font-size:11px;color:var(--ash);margin-bottom:4px}
.thread li.none{background:none;border-style:dashed;color:var(--ash)}
.resetrow{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px}
.reset{font-size:12.5px;color:var(--ash);text-decoration:underline;text-decoration-color:var(--iron);text-underline-offset:3px;padding:6px 0}
.reset:hover{color:var(--paper)}
.reset.arm{color:#E0836A;text-decoration-color:#E0836A}
.resetrow .mono{font-size:11px;color:var(--ash)}
.sent .flow{overflow-y:auto;touch-action:pan-y;scrollbar-width:none}
@media (max-width:700px){.yours{grid-template-columns:1fr;gap:14px}.thread{max-height:140px}.ahead li span:not(.mono){display:none}}
@media (max-width:700px){.sent .foot .pdf2{display:none}}
/* the page behind the Signalform panel softens (works even where backdrop blur doesn't) */
.head,.body,.foot,.stage,.homefoot{transition:opacity .35s}
.abopen .head,.abopen .body,.abopen .foot,.abopen .stage,.abopen .homefoot{filter:blur(6px);opacity:.55}

/* performance: the canvas and the reticle get their own layers; nothing else is promoted */
.ground{will-change:contents;contain:strict}
.mark svg{will-change:transform}
.body,.head,.foot{contain:layout style}
