/* BDAW CONSOLE — presentation
   Ported from the standalone console draft (drafts/console-v0.8.1/index.html).
   Not a brochure that scrolls past — an interface you're inside of. A fixed
   instrument frame (brackets, status bar, index rail) stays put while the
   visible screens move through it. The mark stays flat and untouched (brand
   guide §6) — everything else is fair game.

   Content vs. chrome: selectors below are unchanged from the standalone
   draft wherever the underlying markup is unchanged. Screens, HUD panels,
   cards, and node definitions are now WordPress blocks (group/heading/
   paragraph/buttons) carrying the same class names the draft used on plain
   HTML, so this file did not need to be rewritten to match — only .bdaw-main
   (below) is new, replacing a bare `main` selector that would otherwise
   catch every wp-block-group with a <main> tag on the site. */

:root{
  --ink:#07080A; --ink-2:#0F1115; --ink-3:#171A20; --line:#2A2A24;
  --gold:#E6B319; --gold-mark:#C9971C; --gold-soft:color-mix(in srgb,var(--gold) 45%,transparent);
  --gold-faint:color-mix(in srgb,var(--gold) 14%,transparent);
  --map-blue:#3FA8E0; --map-blue-soft:color-mix(in srgb,var(--map-blue) 45%,transparent);
  --ember:#8A4A1E; --paper:#FBF6EC; --body:#B4AC9E; --dim:#6E685E; --amber:#D98A2B;
  --f-serif:'Fraunces',Georgia,serif; --f-display:'Poppins','Segoe UI',system-ui,sans-serif;
  --f-body:'IBM Plex Sans','Segoe UI',system-ui,sans-serif; --f-mono:'IBM Plex Mono',ui-monospace,'Cascadia Mono',monospace;
  --s-1:clamp(.76rem, .74rem + .1vw, .82rem); --s0:clamp(1rem, .96rem + .2vw, 1.08rem); --s1:clamp(1.2rem, 1.1rem + .5vw, 1.55rem);
  --s2:clamp(1.6rem, 1.3rem + 1.4vw, 2.5rem); --s3:clamp(2.1rem, 1.4rem + 3vw, 3.9rem); --s4:clamp(2.5rem, 1.2rem + 5.2vw, 5.4rem);
  --gut:clamp(1.1rem, .5rem + 2.6vw, 4rem); --frame:clamp(.9rem, 1.6vw, 1.6rem);
  --mx:0; --my:0; color-scheme:dark;
}
*{box-sizing:border-box} /* D13: the preview harness that hid this for three releases must never happen again */
html{-webkit-text-size-adjust:100%; scroll-behavior:smooth}
/* 1.0.1: no scroll snap. A snap - mandatory or proximity - pulls back the small steps a smooth or
   high-resolution wheel or a touchpad sends, and the page does not move. Page Up / Page Down still move a screen. */
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto; scroll-snap-type:none} }
html.custom-cursor, html.custom-cursor *{cursor:none !important}
body{margin:0; background:var(--ink); color:var(--body); font:400 var(--s0)/1.6 var(--f-body); -webkit-font-smoothing:antialiased; overflow-x:hidden}
h1,h2,h3{font-family:var(--f-display); color:var(--paper); font-weight:600; letter-spacing:-.02em; line-height:1.05; text-wrap:balance; margin:0}
p{margin:0} a{color:var(--gold); text-decoration:none} button{font:inherit}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--gold); outline-offset:3px; border-radius:2px}
::selection{background:var(--gold); color:var(--ink)}
em{font-style:italic; font-family:var(--f-serif); font-weight:500; color:var(--gold)}
.mono{font-family:var(--f-mono); letter-spacing:.12em; text-transform:uppercase; font-size:.66rem}
.wrap{max-width:1360px; margin-inline:auto; padding-inline:var(--gut); position:relative; width:100%}
@media (min-width:900px){.wrap{padding-left:calc(var(--gut) + 3.4rem)} .screen__tag{left:calc(var(--gut) + 3.4rem)}}

/* ===== fixed instrument frame (site-wide chrome, in parts/header.html) ===== */
/* rc.5 — the WordPress admin bar (logged-in view) sits above everything at
   the top of the viewport; every fixed piece of chrome moves down by its
   height so the frame, the top bar, the nav and the boot overlay are not
   hidden under it and the Origin screen's mask reaches the top. Logged out
   the variable is 0 and nothing moves. */
body.admin-bar{--abh:var(--wp-admin--admin-bar--height, 32px)}
.frame{position:fixed; inset:0; top:var(--abh, 0px); pointer-events:none; z-index:40}
.frame i{position:absolute; width:22px; height:22px; border:0 solid var(--gold-soft)}
.frame .tl{top:var(--frame); left:var(--frame); border-top-width:1px; border-left-width:1px}
.frame .tr{top:var(--frame); right:var(--frame); border-top-width:1px; border-right-width:1px}
.frame .bl{bottom:var(--frame); left:var(--frame); border-bottom-width:1px; border-left-width:1px}
.frame .br{bottom:var(--frame); right:var(--frame); border-bottom-width:1px; border-right-width:1px}
.bar{position:fixed; left:0; right:0; z-index:41; display:flex; justify-content:space-between; align-items:center; gap:1rem;
  padding-inline:calc(var(--frame) + 2rem); font-family:var(--f-mono); font-size:.64rem; letter-spacing:.14em; text-transform:uppercase; color:var(--dim)}
.bar--top{top:calc(var(--frame) - .2rem + var(--abh, 0px)); height:1.6rem}
.bar--bot{bottom:calc(var(--frame) - .2rem); height:1.6rem}
.bar b{color:var(--gold); font-weight:500}
.bar .live::before{content:""; display:inline-block; width:6px; height:6px; border-radius:50%; background:var(--gold); margin-right:.55em; vertical-align:middle; animation:pulse 1.8s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.25}}
.bar span{white-space:nowrap}
.bar .hide-s{display:none} @media (min-width:760px){.bar .hide-s{display:inline}}
@media (max-width:759px){ .bar--bot{display:none} .bar--top{background:linear-gradient(var(--ink) 30%, transparent); height:2.4rem; align-items:flex-start; padding-top:.2rem} }
/* index rail — links are built at runtime by bdaw-console.js from whichever
   .screen sections are present and not .is-style-bdaw-hidden, so adding,
   removing or reordering a screen in the editor repairs the rail with no
   code change. */
.rail{position:fixed; left:calc(var(--frame) + .55rem); top:calc(50% + var(--abh, 0px) / 2); transform:translateY(-50%); z-index:41; display:none; flex-direction:column; gap:.9rem}
@media (min-width:900px){.rail{display:flex}}
.rail a{font-family:var(--f-mono); font-size:.62rem; letter-spacing:.16em; color:var(--dim); display:flex; align-items:center; gap:.55rem; transition:color .25s}
.rail a::before{content:""; width:10px; height:1px; background:currentColor; transition:width .25s}
.rail a.on{color:var(--gold)} .rail a.on::before{width:22px}
.rail a:hover{color:var(--paper)}
/* nav pill (compact, top-right, under the bar) */
.nav{position:fixed; top:calc(var(--frame) + 1.7rem + var(--abh, 0px)); right:calc(var(--frame) + .6rem); z-index:41; display:flex; gap:.4rem; align-items:center;
  padding:.35rem .4rem .35rem .9rem; border:1px solid var(--line); border-radius:999px; background:color-mix(in srgb,var(--ink) 72%,transparent); backdrop-filter:blur(16px)}
.nav .mono{color:var(--paper); letter-spacing:.26em}
.nav .cta{font-family:var(--f-body); font-weight:500; font-size:.74rem; color:var(--ink); background:var(--gold); padding:.5em 1.1em; border-radius:999px; white-space:nowrap; border:0; cursor:pointer; appearance:none}
.nav .cta:hover{background:var(--paper)}

/* ===== atmosphere ===== */
.grain{position:fixed; inset:0; top:var(--abh, 0px); z-index:60; pointer-events:none; opacity:.05; mix-blend-mode:overlay}
#ring,#dot{position:fixed; top:0; left:0; z-index:130; pointer-events:none; border-radius:50%; transform:translate(-50%,-50%); will-change:transform}
#ring{width:30px; height:30px; border:1px solid var(--gold-soft); transition:width .25s,height .25s,background .25s}
#dot{width:4px; height:4px; background:var(--gold)}
#ring.grow{width:56px; height:56px; background:var(--gold-faint)}
@media (hover:none),(pointer:coarse){#ring,#dot{display:none}}

/* ===== boot — glass search reveal (built entirely by JS, skippable) ===== */
#boot{position:fixed; inset:0; top:var(--abh, 0px); z-index:90; background:var(--ink); display:grid; place-items:center; transition:opacity .7s; overflow:hidden}
#boot.out{opacity:0; pointer-events:none}
#boot small{position:absolute; bottom:calc(var(--frame) + 1.2rem); left:0; right:0; text-align:center; color:var(--dim); font-family:var(--f-mono); font-size:.62rem; letter-spacing:.1em}
.gbar{position:relative; display:flex; align-items:center; gap:.9em; height:3.6em; padding:0 .45em 0 1.3em; border-radius:999px;
  font-size:clamp(14px,1.55vw,24px); font-family:var(--f-body); color:var(--paper); background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14); backdrop-filter:blur(18px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28), 0 30px 60px -30px rgba(0,0,0,.6); opacity:0; transform:translateY(14px) scale(.96); will-change:transform,opacity,filter}
.gbar.in{animation:gbarIn .7s cubic-bezier(.2,.8,.2,1) forwards}
@keyframes gbarIn{to{opacity:1; transform:none}}
.gbar.out{animation:gbarOut .55s cubic-bezier(.6,0,.9,.4) forwards}
@keyframes gbarOut{to{opacity:0; transform:scale(.88); filter:blur(10px)}}
.gbar svg.mag{width:1.05em; height:1.05em; flex:none; opacity:.85}
.gbar .txt{min-width:16ch; white-space:nowrap; font-weight:500; line-height:1}
.gbar .txt i{display:inline-block; width:.42em; height:.42em; border-radius:50%; background:var(--paper); vertical-align:-.02em; margin-left:.12em; animation:gblink 1s steps(2) infinite}
@keyframes gblink{50%{opacity:0}}
.gbar .btn{display:inline-flex; align-items:center; justify-content:center; min-width:4.6em; height:2.7em; padding:0 1.1em; border-radius:999px; position:relative;
  background:rgba(255,255,255,.10); font-size:.86em; font-weight:500; border:1px solid rgba(255,255,255,.14); transition:transform .12s, background .2s}
.gbar .btn.press{transform:scale(.94); background:rgba(255,255,255,.28)}
.gbar .btn .dots{display:none; gap:.28em; position:absolute}
.gbar .btn .dots b{width:.32em; height:.32em; border-radius:50%; background:var(--paper); animation:gbounce .9s infinite}
.gbar .btn .dots b:nth-child(2){animation-delay:.15s} .gbar .btn .dots b:nth-child(3){animation-delay:.3s}
@keyframes gbounce{0%,80%,100%{transform:translateY(0); opacity:.5}40%{transform:translateY(-.25em); opacity:1}}
.gbar .btn.loading .label{visibility:hidden} .gbar .btn.loading .dots{display:inline-flex}
.gcur{position:fixed; left:0; top:0; width:22px; height:22px; z-index:95; pointer-events:none; opacity:0; transition:transform 1.1s cubic-bezier(.3,.7,.2,1), opacity .3s}
.gcur svg{width:100%; height:100%; filter:drop-shadow(0 2px 4px rgba(0,0,0,.5))}
.glogo{position:absolute; display:flex; flex-direction:column; align-items:center; gap:1.1em; opacity:0; pointer-events:none}
/* 0.9.0 — the gold flare behind the boot mark is gone (the theme paints no
   flare; footage may carry its own). */
.glogo .glow{display:none}
.glogo .gmark{position:relative; width:clamp(160px,26vw,420px); height:auto; display:block}
.glogo .sub{position:relative; font-family:var(--f-mono); font-size:clamp(12px,1vw,16px); color:var(--dim); letter-spacing:.12em; text-transform:uppercase; min-height:1.4em; white-space:nowrap}
.glogo.in{animation:glogoIn 1.6s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes glogoIn{0%{opacity:0; transform:scale(.9); filter:blur(14px) brightness(.35)} 55%{opacity:1; filter:blur(3px) brightness(.8)} 100%{opacity:1; transform:none; filter:none}}

/* .bdaw-main replaces a bare `main` selector — see file header note. */
.bdaw-main{padding-bottom:2.6rem}
/* rc.6 — WordPress's block gap put 1.4rem above <main> (the header part is a
   sibling before it); the console starts at the top of the page. */
.wp-site-blocks{padding-top:0 !important}
.wp-site-blocks > .bdaw-main,body > .bdaw-main{margin-block-start:0 !important}
.wp-site-blocks > header,.wp-site-blocks > footer{margin:0 !important; height:0 !important; overflow:visible}
@media (max-width:640px){
  html{font-size:17px}
  :root{--s4:clamp(2.9rem, 2rem + 4vw, 3.4rem); --s3:2.1rem; --s1:1.25rem}
  .screen{padding-bottom:3rem; align-items:flex-start}
  #origin h1{max-width:12ch}
  .sub{font-size:1.2rem; max-width:none}
  .stack{justify-items:stretch} .stack .hud,.stack .is-style-bdaw-panel{min-width:0; width:100%; font-size:.72rem}
  .pill{font-size:.95rem; padding:.9em 1.5em}
  .nav{top:calc(var(--frame) + 2.2rem); right:var(--frame)}
  .nav .mono{display:none}
  .gbar{font-size:15px; max-width:calc(100vw - 2rem)} .gbar .txt{min-width:0; overflow:hidden; text-overflow:clip}
  .glogo .gmark{width:min(70vw, 300px)}
  .head h2{max-width:none}
}
/* ===== screens ===== */
.screen{min-height:calc(100svh - var(--abh, 0px)); position:relative; display:flex; align-items:center; padding-block:clamp(4.2rem,9vh,6.5rem); padding-top:calc(var(--frame) + 6.4rem); border-bottom:1px solid var(--line); overflow:clip}
.screen.is-style-bdaw-hidden{display:none}
.screen__tag{position:absolute; top:calc(var(--frame) + 3.4rem); left:var(--gut); font-family:var(--f-mono); font-size:.62rem; letter-spacing:.2em; text-transform:uppercase; color:var(--dim)}
.screen__tag b{color:var(--gold); font-weight:500; margin-right:.8em}
.head{display:flex; flex-wrap:wrap; align-items:baseline; gap:.6rem 1.4rem; margin-bottom:clamp(1.6rem,4vh,2.6rem)}
.head h2{font-size:var(--s3); max-width:20ch}
.eyebrow{font-family:var(--f-mono); font-size:var(--s-1); letter-spacing:.18em; text-transform:uppercase; color:var(--gold)}

/* HUD panel — .bdaw-panel is the registered block style; corner-bracket <i>
   elements are added by bdaw-console.js to every .hud/.bdaw-panel element
   so authors never have to hand-author the four decorative <i> tags. */
.hud,.is-style-bdaw-panel,/* HUD panel — .bdaw-panel is the registered block style; corner-bracket <i>
   elements are added by bdaw-console.js to every .is-style-bdaw-panel/.bdaw-panel element
   so authors never have to hand-author the four decorative <i> tags. */
.is-style-bdaw-panel{position:relative; border:1px solid var(--line); border-radius:0; background:color-mix(in srgb,var(--ink-2) 78%,transparent); backdrop-filter:blur(10px)}
.hud>i.b,.is-style-bdaw-panel>i.b{position:absolute; width:14px; height:14px; border:0 solid var(--gold-soft); pointer-events:none}
.hud>i.b.tl,.is-style-bdaw-panel>i.b.tl{top:7px; left:7px; border-top-width:1px; border-left-width:1px}
.hud>i.b.tr,.is-style-bdaw-panel>i.b.tr{top:7px; right:7px; border-top-width:1px; border-right-width:1px}
.hud>i.b.bl,.is-style-bdaw-panel>i.b.bl{bottom:7px; left:7px; border-bottom-width:1px; border-left-width:1px}
.hud>i.b.br,.is-style-bdaw-panel>i.b.br{bottom:7px; right:7px; border-bottom-width:1px; border-right-width:1px}
.hud__scan,.is-style-bdaw-panel__scan{position:absolute; left:0; right:0; height:36%; z-index:2; pointer-events:none; border-radius:inherit;
  background:linear-gradient(to bottom,transparent,var(--gold-faint) 50%,transparent); border-bottom:1px solid color-mix(in srgb,var(--gold) 28%,transparent); animation:scanY 6s linear infinite}
@keyframes scanY{0%{transform:translateY(-100%)}100%{transform:translateY(280%)}}
.readout{display:flex; flex-wrap:wrap; gap:.5rem 1.3rem; font-family:var(--f-mono); font-size:.64rem; letter-spacing:.1em; text-transform:uppercase; color:var(--dim)}
.readout b{color:var(--gold); font-weight:500}
.readout .live::before{content:""; display:inline-block; width:6px; height:6px; border-radius:50%; background:var(--gold); margin-right:.5em; vertical-align:middle; animation:pulse 1.8s ease-in-out infinite}
.px{will-change:transform; transform:translate3d(calc(var(--mx) * var(--d,10px)), calc(var(--my) * var(--d,10px)), 0)}

/* ===== 01 origin ===== */
#origin{padding-top:calc(var(--frame) + 6.4rem)}
/* rc.6 — the footage is clipped by its own box, not only by the screen's:
   on draft the 4% overscan painted a bright band above the first screen. */
#origin .bg{position:absolute; inset:0; z-index:0; overflow:hidden}
#origin video,#origin .poster{position:absolute; inset:-4%; width:108%; height:108%; object-fit:cover; filter:saturate(.55) contrast(1.08) brightness(.62)}
#origin .poster{background:center/cover no-repeat}
/* 0.9.0 — the gold radial over the footage is gone; the ink ramp stays,
   it is what keeps the headline legible over moving video. */
#origin .tint{position:absolute; inset:0; background:
  linear-gradient(90deg, color-mix(in srgb,var(--ink) 88%,transparent) 0%, color-mix(in srgb,var(--ink) 55%,transparent) 55%, color-mix(in srgb,var(--ember) 30%,transparent) 100%)}
#origin .lines{position:absolute; inset:0; background:repeating-linear-gradient(to bottom, transparent 0 3px, rgba(0,0,0,.18) 3px 4px); opacity:.6}
#origin .vig{position:absolute; inset:0; box-shadow:inset 0 0 180px 60px var(--ink)}
.origin__grid{position:relative; z-index:2; display:grid; gap:2.4rem; grid-template-columns:1fr}
@media (min-width:1000px){.origin__grid{grid-template-columns:1.15fr .85fr; align-items:center}}
.mark{width:clamp(64px,6vw,88px); height:auto; display:block; margin-bottom:1.3rem}
#origin h1{font-size:var(--s4); max-width:15ch}
.sub{margin-top:1.4rem; max-width:46ch; font-size:var(--s1); color:var(--body); line-height:1.5}
/* Contact screen's tagline sits one step down the type scale (--s0, not
   --s1) — a class, not an inline style, so nothing here needs a "custom"
   font-size value the block editor would have to re-derive on every save. */
.sub.sub--s0{font-size:var(--s0)}
/* Contact is always the last visible screen (Disciplines/Work stay hidden
   ahead of it) — no divider after it, without a class or inline style. */
.screen:last-of-type{border-bottom:0}
.ctas{display:flex; flex-wrap:wrap; gap:.7rem; margin-top:1.9rem}
.ctas.wp-block-buttons{margin-top:1.9rem} /* buttons block already renders flex-wrap; .ctas above still applies when nested one level in */
.ctas .wp-block-buttons > .wp-block-button{display:inline-flex} /* let .pill/is-style rules govern the <a>, not an extra wrapper */
.pill,.wp-block-button.is-style-bdaw-solid .wp-block-button__link,.wp-block-button.is-style-bdaw-ghost .wp-block-button__link{display:inline-flex; align-items:center; font-family:var(--f-body); font-weight:500; font-size:var(--s-1); padding:.8em 1.6em; border-radius:999px; border:1px solid transparent; cursor:pointer; appearance:none; transition:transform .2s,background .2s,color .2s,border-color .2s; text-decoration:none}
.pill--solid,.wp-block-button.is-style-bdaw-solid .wp-block-button__link{background:var(--gold); color:#191305}
.pill--solid:hover,.wp-block-button.is-style-bdaw-solid .wp-block-button__link:hover{background:var(--paper); color:#191305; transform:translateY(-2px)}
.pill--ghost,.wp-block-button.is-style-bdaw-ghost .wp-block-button__link{border-color:var(--line); color:var(--paper); background:color-mix(in srgb,var(--ink) 40%,transparent)}
.pill--ghost:hover,.wp-block-button.is-style-bdaw-ghost .wp-block-button__link:hover{border-color:var(--gold); color:var(--gold); transform:translateY(-2px)}
.stack{position:relative; display:grid; gap:.9rem; justify-items:end}
.stack .hud,.stack .is-style-bdaw-panel{padding:1rem 1.2rem; min-width:min(100%,300px); font-family:var(--f-mono); font-size:.66rem; letter-spacing:.1em; text-transform:uppercase; color:var(--dim); line-height:1.9}
.stack .hud b,.stack .is-style-bdaw-panel b{color:var(--gold); font-weight:500} .stack .hud strong,.stack .is-style-bdaw-panel strong{color:var(--paper); font-weight:500; display:block; font-size:.78rem; letter-spacing:.14em}
.stack .hud.wide,.stack .is-style-bdaw-panel.wide{min-width:min(100%,380px)}
.bdaw-sidebox{display:block; width:100%; text-align:left; cursor:pointer; border:1px solid var(--line); transition:border-color .2s,background .2s}
.bdaw-sidebox:hover,.bdaw-sidebox:focus-within{border-color:var(--gold-soft)}
.sidebox__full{display:block; margin-top:.3rem; font-family:var(--f-body); text-transform:none; letter-spacing:0; font-size:.86rem; color:color-mix(in srgb,var(--paper) 55%,var(--body) 45%); line-height:1.4}
.sidebox__aka{display:block; margin-top:.15rem; font-family:var(--f-body); font-style:italic; text-transform:none; letter-spacing:.02em; font-size:.78rem; font-weight:400; color:color-mix(in srgb,var(--paper) 35%,var(--dim) 65%)}
.sidebox__link{display:block; margin-top:.6rem; color:var(--gold); text-transform:none; letter-spacing:.04em; font-size:.68rem; text-decoration:none}
.sidebox__link:focus-visible{outline:2px solid var(--gold); outline-offset:2px}
.sidebox .tag{margin-top:.6rem}

/* ===== 02 system — the sphere (nodes are read from .bdaw-node content) ===== */
.sys{display:grid; gap:1.4rem; grid-template-columns:1fr; width:100%}
@media (min-width:1000px){.sys{grid-template-columns:1.25fr .75fr; align-items:start}}
.sphere{position:relative; aspect-ratio:1; width:min(100%,600px); margin-inline:auto; touch-action:none; user-select:none}
.sphere svg{position:absolute; inset:0; width:100%; height:100%; overflow:visible; pointer-events:none}
.sphere svg line{stroke:var(--gold); stroke-width:1; opacity:.28; transition:opacity .2s}
.sphere svg line.hot{opacity:.9; stroke-width:1.5}
.sphere .core{position:absolute; left:50%; top:50%; width:22%; aspect-ratio:1; transform:translate(-50%,-50%); border-radius:50%; border:1px solid var(--gold-soft); pointer-events:none}
.sphere .core::before,.sphere .core::after{content:""; position:absolute; inset:-14%; border-radius:50%; border:1px dashed var(--gold-faint); animation:spin 24s linear infinite}
.sphere .core::after{inset:14%; animation-direction:reverse; animation-duration:16s; border-style:solid; border-color:var(--gold-faint)}
.sphere .ping{position:absolute; left:50%; top:50%; width:22%; aspect-ratio:1; transform:translate(-50%,-50%); border-radius:50%; border:1px solid var(--gold); opacity:0; animation:ping 2.6s ease-out infinite; pointer-events:none}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes ping{0%{transform:translate(-50%,-50%) scale(1); opacity:.6}100%{transform:translate(-50%,-50%) scale(3.2); opacity:0}}
.node{position:absolute; left:0; top:0; transform:translate(-50%,-50%); background:none; border:1px solid transparent; border-radius:999px; padding:.35em .8em;
  font-family:var(--f-mono); font-size:.86rem; letter-spacing:.08em; color:var(--body); white-space:nowrap; cursor:pointer; will-change:transform,opacity; transition:border-color .2s,background .2s}
.node.g0{color:var(--gold); font-weight:500} .node.g2{color:var(--dim)} .node.g3{color:var(--amber)}
.node:hover,.node:focus-visible,.node.hot{border-color:var(--gold-soft); background:color-mix(in srgb,var(--ink) 80%,transparent); color:var(--paper); z-index:400 !important}
.node.g0:hover,.node.g0.hot{color:var(--gold)} .node.g3:hover,.node.g3.hot{color:var(--amber)}
.sys__panel{padding:1.3rem 1.4rem; min-height:220px; display:flex; flex-direction:column; gap:.8rem}
.sys__panel h3{font-size:var(--s2); font-weight:600}
.sys__panel .k{font-family:var(--f-mono); font-size:.64rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gold)}
.sys__panel p{color:var(--body); font-size:var(--s-1); line-height:1.6; max-width:40ch}
.legend{display:flex; flex-wrap:wrap; gap:.6rem 1.2rem; margin-top:.4rem}
.legend span{font-family:var(--f-mono); font-size:.64rem; letter-spacing:.1em; text-transform:uppercase; color:var(--dim); display:inline-flex; align-items:center; gap:.5em}
.legend span::before{content:""; width:8px; height:8px; border-radius:50%; background:var(--dim)}
.legend .l0::before{background:var(--gold)} .legend .l1::before{background:var(--paper)} .legend .l3::before{background:var(--amber)}
/* 0.8.0-rc.7 — a fourth group colour (amber) for the sphere and the legend; the JS cycles four classes, was three. */
.sys__hint{font-family:var(--f-mono); font-size:.64rem; letter-spacing:.06em; color:var(--dim); margin-top:.6rem}
/* node definitions: real, visible, editable content — a compact list, not
   a hidden data store. The sphere is built from these at runtime. */
.bdaw-nodes{margin-top:1.6rem; display:grid; gap:.5rem}
/* rc.5 — the Nodes block is the sphere's data; its panels are not shown unless
   the block's "Show the list" option is on. The legend stays. Thousands of
   nodes must never become thousands of panels on the page. */
.bdaw-nodes--quiet{margin-top:.9rem; gap:0}
.bdaw-nodes--quiet .bdaw-node{display:none}
.bdaw-node{padding:.7rem .9rem !important}
.bdaw-node h4,.bdaw-node h3{font-size:var(--s-1); font-family:var(--f-mono); letter-spacing:.1em; text-transform:uppercase; color:var(--gold); margin:0}
.bdaw-node--discipline h4,.bdaw-node--discipline h3{color:var(--paper)}
.bdaw-node--taxonomy h4,.bdaw-node--taxonomy h3{color:var(--dim)}
.bdaw-node p{font-size:.86rem; color:var(--body); margin-top:.3rem}

/* ===== 03 markets — radar + panels ===== */
.mk{display:grid; gap:1.4rem; grid-template-columns:1fr; width:100%}
@media (min-width:1000px){.mk{grid-template-columns:.9fr 1.1fr; align-items:center}}
.radar__panel{padding:clamp(1rem,2.6vw,1.6rem); overflow:hidden}
.radar{width:100%; max-width:520px; aspect-ratio:1; display:block; margin-inline:auto}
#sweep{transform-origin:200px 200px; animation:sweep 4.5s linear infinite}
@keyframes sweep{to{transform:rotate(360deg)}}
.radar .blip{cursor:pointer}
.radar .blip circle.r{transition:r .2s}
.radar .blip.hot circle.r{r:6} .radar .blip.hot text{fill:#FBF6EC}
.mcards{display:grid; gap:.7rem; grid-template-columns:1fr 1fr}
@media (max-width:560px){.mcards{grid-template-columns:1fr}}
.mcard{padding:1rem 1.1rem !important; transition:border-color .2s,background .2s; cursor:default}
.mcard .k{font-family:var(--f-mono); font-size:.62rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold)}
.mcard.open .k{color:var(--dim)}
.mcard h3{font-size:var(--s1); font-weight:500; margin-top:.25rem}
.mcard p{font-size:var(--s-1); color:var(--body); line-height:1.5; margin-top:.35rem}
.mcard.hot{border-color:var(--gold-soft); background:color-mix(in srgb,var(--ink-3) 80%,var(--ember) 12%)}
/* RDU's card spans both columns of the 2-up grid (odd one of five) — a
   plain class instead of an inline style, so the group block's saved
   markup has nothing for the editor to flag as invalid. */
.mcard.mcard--full{grid-column:1/-1}

/* ===== 04 disciplines — horizontal deck ===== */
.deckwrap{position:relative; width:100%}
.deck{display:flex; gap:1rem; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:.6rem; scrollbar-width:none; -webkit-overflow-scrolling:touch}
.deck::-webkit-scrollbar{display:none}
.card{flex:0 0 min(78vw,560px); scroll-snap-align:start; padding:clamp(1.4rem,3vw,2.2rem) !important; min-height:clamp(300px,44vh,420px); display:flex; flex-direction:column; justify-content:flex-end; gap:.6rem; overflow:hidden; position:relative}
.card .n{position:absolute; top:.6rem; right:1rem; font-family:var(--f-display); font-weight:700; font-size:clamp(5rem,12vw,9rem); line-height:1; color:color-mix(in srgb,var(--paper) 5%,transparent); pointer-events:none}
.card .k{font-family:var(--f-mono); font-size:.64rem; letter-spacing:.16em; text-transform:uppercase; color:var(--gold)}
.card h3{font-size:var(--s2); font-weight:600; max-width:16ch}
.card p{color:var(--body); max-width:44ch; font-size:var(--s-1); line-height:1.6}
.deckctl{display:flex; gap:.5rem; align-items:center; margin-top:.9rem}
.deckctl button{background:none; border:1px solid var(--line); color:var(--paper); width:40px; height:40px; border-radius:50%; cursor:pointer; font-family:var(--f-mono); transition:border-color .2s,color .2s}
.deckctl button:hover{border-color:var(--gold); color:var(--gold)}
.deckctl .readout{margin-left:.6rem}

/* ===== 05 work — foil cards ===== */
.work{display:grid; gap:1.1rem; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); perspective:1200px; width:100%}
.work>div{position:relative; background:repeating-linear-gradient(125deg,rgba(255,255,255,.02) 0 2px,transparent 2px 6px),linear-gradient(160deg,var(--ink-3),var(--ink));
  border:1px solid var(--line); border-radius:0; padding:clamp(1.4rem,3vw,2.1rem); display:flex; flex-direction:column; gap:.7rem; transform-style:preserve-3d; overflow:hidden; transition:border-color .35s,box-shadow .35s}
.work>div::before{content:""; position:absolute; inset:-40%; pointer-events:none; background:linear-gradient(115deg,transparent 40%,color-mix(in srgb,var(--gold) 26%,transparent) 50%,transparent 60%); transform:translateX(var(--shine,-140%)); transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.work>div:hover{border-color:var(--gold-soft); box-shadow:0 20px 44px -20px rgba(0,0,0,.65),0 0 0 1px var(--gold-soft)} .work>div:hover::before{--shine:140%}
.work h3{font-size:var(--s1); font-weight:500; position:relative} .work p{font-size:var(--s-1); color:var(--body); line-height:1.6; position:relative} .work .eyebrow{font-size:.66rem; color:var(--dim); position:relative}

/* ===== 06 contact ===== */
.close{display:grid; gap:2rem; grid-template-columns:1fr; width:100%; max-width:760px}
.close h2{font-size:var(--s3); max-width:18ch}
.facts{border-top:1px solid var(--line); margin-top:1.8rem}
.fact{display:flex; justify-content:space-between; gap:1.5rem; padding-block:.75rem; border-bottom:1px solid var(--line); font-size:var(--s-1)}
/* .fact__k/.fact__v (was a <dl>'s <dt>/<dd> in the standalone draft) — plain
   classes on Paragraph blocks, so Entity/Markets/Address/Phone are ordinary
   editable WordPress content rather than markup with no matching block. */
.fact .fact__k{font-family:var(--f-mono); letter-spacing:.08em; text-transform:uppercase; color:var(--dim); margin:0} .fact .fact__v{margin:0; color:var(--paper); text-align:right}
.usamap{margin-top:1.8rem; padding:1rem 1rem .7rem !important}
.usamap svg{display:block; width:100%; height:auto}
.usamap__land{fill:color-mix(in srgb,var(--map-blue) 9%,transparent); stroke:var(--map-blue-soft); stroke-width:1.2}
.usamap__borders path{fill:none; stroke:var(--map-blue); stroke-width:.7; stroke-dasharray:3 3; opacity:.45}
.usamap__dots circle{fill:var(--map-blue)}
.usamap__pin circle.ring{fill:none; stroke:var(--map-blue); stroke-width:2.2}
.usamap__pin circle.dot{fill:var(--map-blue)}
.usamap__pin text{font-family:var(--f-mono); font-size:12px; letter-spacing:.08em; text-transform:uppercase; fill:var(--paper)}
.usamap__cap{margin-top:.6rem; font-family:var(--f-mono); font-size:.6rem; letter-spacing:.08em; text-transform:uppercase; color:var(--dim)}
.meta{margin-top:2rem; font-family:var(--f-mono); font-size:.64rem; letter-spacing:.06em; color:var(--dim); line-height:1.9; max-width:70ch}
.footmark{width:96px; height:auto; display:block; margin-top:1.6rem}

/* ===== modals: Open System (login) + Start a Conversation (contact) ===== */
.modal{position:fixed; inset:0; top:var(--abh, 0px); z-index:120; display:grid; place-items:center; padding:var(--gut); opacity:0; visibility:hidden; pointer-events:none; transition:opacity .25s}
.modal.on{opacity:1; visibility:visible; pointer-events:auto}
.modal__veil{position:absolute; inset:0; background:color-mix(in srgb,var(--ink) 82%,transparent); backdrop-filter:blur(6px)}
.modal__panel{position:relative; z-index:1; width:min(92vw,460px); max-height:86vh; overflow:auto; padding:clamp(1.6rem,4vw,2.4rem); transform:translateY(10px) scale(.98); transition:transform .25s}
.modal.on .modal__panel{transform:none}
.modal__x{position:absolute; top:.9rem; right:.9rem; width:34px; height:34px; border-radius:50%; border:1px solid var(--line); background:none; color:var(--dim); font-size:1.1rem; line-height:1; cursor:pointer; transition:border-color .2s,color .2s}
.modal__x:hover{border-color:var(--gold); color:var(--gold)}
.modal__panel h3{font-size:var(--s2); margin-top:.5rem; max-width:20ch}
.modal__hint{margin-top:.8rem; color:var(--body); font-size:var(--s-1); line-height:1.6; max-width:44ch}
.sysrow{display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1.1rem}
.sysrow button{font-family:var(--f-mono); font-size:.64rem; letter-spacing:.12em; text-transform:uppercase; color:var(--dim); background:none; border:1px solid var(--line); border-radius:999px; padding:.5em 1.05em; cursor:pointer; appearance:none; transition:border-color .2s,color .2s,background .2s}
.sysrow button:hover{border-color:var(--gold-soft); color:var(--paper)}
.sysrow button.active{border-color:var(--gold); color:var(--gold); background:color-mix(in srgb,var(--gold) 10%,transparent)}
.loginform{display:grid; gap:.9rem; margin-top:1.5rem}
.loginform__field{display:grid; gap:.4rem; font-family:var(--f-mono); font-size:.64rem; letter-spacing:.1em; text-transform:uppercase; color:var(--dim)}
.loginform__field input,.loginform__field textarea{font:400 .95rem var(--f-body); color:var(--paper); background:var(--ink); border:1px solid var(--line); border-radius:0; padding:.7em .9em; transition:border-color .2s}
.loginform__field textarea{resize:vertical; min-height:5.5em}
.loginform__field input:focus-visible,.loginform__field textarea:focus-visible{outline:none; border-color:var(--gold)}
.loginform button.pill{justify-self:start; margin-top:.2rem; border:0; cursor:pointer}
.loginform button.pill:disabled{opacity:.6; cursor:default}
/* 1.0.3: the contact dialog shows a page (Appearance → Console → Contact — page); a form on it is a plugin's — the dialog is the card */
#modal-contact .modal__body{margin-top:1rem}
#modal-contact .modal__body > *{margin-block:0 1rem}
#modal-contact .modal__body h2{font-size:var(--s1); margin-top:1.4rem}
#modal-contact .modal__body .ctas{display:none} /* the page's own Contact button — the dialog is already open */
#modal-contact .modal__admin{color:var(--gold)}
#modal-contact .ihfm-wrap{max-width:none; margin:0; padding:0; border:0; border-radius:0; background:transparent; font-family:var(--f-body)}
#modal-contact .ihfm-wrap label{font-family:var(--f-mono); font-size:.64rem; letter-spacing:.1em; text-transform:uppercase; color:var(--dim)}
#modal-contact .ihfm-wrap .ihfm-consent{font-family:var(--f-body); font-size:.85rem; letter-spacing:0; text-transform:none}
#modal-contact .ihfm-wrap input:not([type=checkbox]):not([type=radio]),#modal-contact .ihfm-wrap textarea,#modal-contact .ihfm-wrap select{font:400 .95rem var(--f-body); color:var(--paper); background:var(--ink); border:1px solid var(--line); border-radius:0}
#modal-contact .ihfm-wrap input:focus-visible,#modal-contact .ihfm-wrap textarea:focus-visible{outline:none; border-color:var(--gold)}
#modal-contact .ihfm-wrap .ihfm-submit{border-radius:0; cursor:pointer}
.loginform__msg{min-height:1.4em; font-family:var(--f-mono); font-size:.7rem; letter-spacing:.06em; color:var(--amber); opacity:0; transition:opacity .2s}
.loginform__msg.show{opacity:1}
.loginform__msg.ok{color:var(--gold)}
.modal__foot{margin-top:1rem; color:var(--dim); font-size:.6rem}
.modal .facts{margin-top:1.4rem}
/* honeypot field: hidden from sight and from screen readers, never from real form fields */
.bdaw-hp{position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden}

@media (prefers-reduced-motion:reduce){
  .hud__scan,.sphere .ping,.is-style-bdaw-panel__scan{display:none}
  .bar .live::before,.readout .live::before,#sweep,.sphere .core::before,.sphere .core::after{animation:none}
  .px{transform:none !important}
  .pill,.work>div{transition:none}
}

/* ===== 0.8.0 — the Site Logo as the mark, artwork as an Image block, and
   the radar drawn by the BDAW WP Taxonomy plugin (classes, not inline colour) ===== */
.mark img,.mark svg,.footmark img,.footmark svg{width:100%; height:auto; display:block}
.mark a,.footmark a{display:block}
.glogo .gmark img,.glogo .gmark svg{width:100%; height:auto; display:block}
.usamap img{display:block; width:100%; height:auto}
.usamap__art{margin:0}
.bdaw-radar{color:var(--gold)}
.bdaw-radar .radar__rings circle,.bdaw-radar .radar__rings line{fill:none; stroke:var(--line)}
.bdaw-radar .radar__spokes line{stroke:var(--gold); stroke-width:1; opacity:.5}
.bdaw-radar .radar__links line{stroke:var(--gold); stroke-width:2; stroke-linecap:round; stroke-dasharray:5 9}
.bdaw-radar .blip .r{fill:var(--dim)}
.bdaw-radar .blip--core .r,.bdaw-radar .blip--locked .r{fill:var(--gold)}
.bdaw-radar .blip--locked .ring{fill:none; stroke:var(--gold)} .bdaw-radar .blip--locked .ring--in{stroke-width:1.5}
.bdaw-radar text{font-family:var(--f-mono); font-size:11px; letter-spacing:1.6px; fill:var(--body)}
.bdaw-radar .blip--core text,.bdaw-radar .blip--locked text{fill:var(--paper)}
.bdaw-radar .blip text.state{fill:var(--gold); font-size:9px}
.bdaw-radar .blip.hot .r{fill:var(--gold)}
.bdaw-nodes .bdaw-legend{margin:0 0 .6rem}
.bdaw-empty{color:var(--dim); font-style:italic}


/* ===== 0.8.0-rc.3 — first-run fixes (2026-09-15) ===== */
/* WordPress's own block gap (margin-block-start on every child of a flow/constrained
   group) doubled the console's spacing. The console's classes carry their own margins. */
.screen :where(.is-layout-flow,.is-layout-constrained) > *{margin-block-start:0; margin-block-end:0}
/* Buttons: pills, side by side, never stretched. */
.wp-block-buttons.ctas{display:flex; flex-wrap:wrap; gap:.7rem; align-items:center}
.wp-block-buttons.ctas > .wp-block-button{display:inline-flex; width:auto !important; flex:0 0 auto; margin:0}
.wp-block-buttons.ctas .wp-block-button__link{width:auto !important; flex:0 0 auto}
/* The site-logo block is the mark: no link underline, no stray spacing. */
.mark.wp-block-site-logo,.footmark.wp-block-site-logo{line-height:0}

/* ===== 0.8.0-rc.6 — square corners. Panels, cards, the modal, the
   inputs: 0. Pills (buttons, nav, tabs, sphere nodes) stay pills. ===== */
.hud,.is-style-bdaw-panel,.mcard,.card,.work>div,.modal__panel,.bdaw-node,.usamap,.radar__panel,.sys__panel{border-radius:0 !important}
.loginform__field input,.loginform__field textarea{border-radius:0}


/* =====================================================================
   0.9.0 — V2 DISPLAY LAYER
   Same content, same chrome vocabulary; the screens now behave like pages
   in an instrument rather than sections of a document.
     · every screen is one viewport and the scroll lands on it (snap)
     · the index rail is numbered and carries a progress line
     · the screen counter reads 0X / 0N, and the top bar carries the date
   Additive only — nothing above is restyled, so a screen that was right
   in 0.8.0 is still right here.
   ===================================================================== */

/* -- full-screen pages (1.0.1) ----------------------------------------
   Every screen is at least one window high; a longer one simply grows and
   the page scrolls through it. No snap and no screen is a scroll area of
   its own, so any wheel, touchpad or scrollbar moves the page (a mandatory
   snap held the page still for small scroll steps). The arrow and page
   keys still move one screen at a time. */
@media (min-height:700px) and (min-width:900px){
  html{scroll-snap-type:none}
  .screen{height:auto; min-height:calc(100svh - var(--abh, 0px)); overflow-y:visible}
}

/* -- numbered index rail + progress ---------------------------------- */
.rail a{position:relative}
.rail a .idx{font-variant-numeric:tabular-nums; opacity:.55; transition:opacity .25s}
.rail a.on .idx{opacity:1}
.rail__prog{position:fixed; left:calc(var(--frame) + .55rem); top:var(--frame); bottom:var(--frame); width:1px;
  background:color-mix(in srgb,var(--line) 80%,transparent); z-index:40; display:none}
@media (min-width:900px){.rail__prog{display:block}}
.rail__prog i{position:absolute; left:0; top:0; width:1px; height:0; background:var(--gold); transition:height .35s cubic-bezier(.2,.8,.2,1)}

/* -- screen counter, top-right of each screen ------------------------ */
.screen__count{position:absolute; top:calc(var(--frame) + 3.4rem); right:var(--gut); z-index:3;
  font-family:var(--f-mono); font-size:.62rem; letter-spacing:.2em; text-transform:uppercase; color:var(--dim)}
.screen__count b{color:var(--gold); font-weight:500}
@media (max-width:899px){.screen__count{display:none}}

/* -- top bar: date beside the clock ---------------------------------- */
.bar--top .stamp{color:var(--dim)}
.bar--top .stamp b{color:var(--gold); font-weight:500}
@media (max-width:899px){.bar--top .stamp{display:none}}

/* =====================================================================
   0.9.0-rc.2 — BUTTONS AS PANELS (buttons drawn like the side cards).
   The two CTA styles, the nav and
   the modal/login buttons take the HUD-panel shape: square, hairline border,
   translucent ink, four corner brackets (the script adds the <i> tags, exactly
   as it does for a panel), mono caps label. Solid = gold label; ghost = paper
   label. Supersedes rc.6's "pills stay pills" for buttons and the nav only —
   tabs (.sysrow) and sphere nodes (.node) are untouched.
   ===================================================================== */
.pill,.wp-block-button.is-style-bdaw-solid .wp-block-button__link,.wp-block-button.is-style-bdaw-ghost .wp-block-button__link{
  position:relative; border-radius:0 !important; font-family:var(--f-mono); font-weight:500; font-size:.7rem; letter-spacing:.16em; text-transform:uppercase; line-height:1.2;
  padding:1.05em 1.6em; border:1px solid var(--line); background:color-mix(in srgb,var(--ink-2) 78%,transparent); backdrop-filter:blur(10px); color:var(--paper)}
.pill--solid,.wp-block-button.is-style-bdaw-solid .wp-block-button__link{background:color-mix(in srgb,var(--ink-2) 78%,transparent); color:var(--gold); border-color:var(--gold-soft)}
.pill--ghost,.wp-block-button.is-style-bdaw-ghost .wp-block-button__link{background:color-mix(in srgb,var(--ink-2) 78%,transparent); color:var(--paper); border-color:var(--line)}
.pill:hover,.wp-block-button.is-style-bdaw-solid .wp-block-button__link:hover,.wp-block-button.is-style-bdaw-ghost .wp-block-button__link:hover{
  background:color-mix(in srgb,var(--ink-3) 92%,transparent); border-color:var(--gold); color:var(--gold); transform:translateY(-2px)}
.pill>i.b,.wp-block-button__link>i.b,.nav>i.b{position:absolute; width:10px; height:10px; border:0 solid var(--gold-soft); pointer-events:none}
.pill>i.b.tl,.wp-block-button__link>i.b.tl,.nav>i.b.tl{top:4px; left:4px; border-top-width:1px; border-left-width:1px}
.pill>i.b.tr,.wp-block-button__link>i.b.tr,.nav>i.b.tr{top:4px; right:4px; border-top-width:1px; border-right-width:1px}
.pill>i.b.bl,.wp-block-button__link>i.b.bl,.nav>i.b.bl{bottom:4px; left:4px; border-bottom-width:1px; border-left-width:1px}
.pill>i.b.br,.wp-block-button__link>i.b.br,.nav>i.b.br{bottom:4px; right:4px; border-bottom-width:1px; border-right-width:1px}
.pill:hover>i.b,.wp-block-button__link:hover>i.b{border-color:var(--gold)}
/* the nav takes the same shape: a small panel holding the label and the button */
.nav{border-radius:0; padding:.45rem .45rem .45rem 1rem; background:color-mix(in srgb,var(--ink-2) 78%,transparent); backdrop-filter:blur(10px)}
.nav .cta{border-radius:0; font-family:var(--f-mono); font-weight:500; font-size:.66rem; letter-spacing:.16em; text-transform:uppercase; color:var(--gold); background:none; border:1px solid var(--gold-soft); padding:.7em 1.1em; transition:background .2s,color .2s,border-color .2s}
.nav .cta:hover{background:var(--gold); color:var(--ink); border-color:var(--gold)}

/* =====================================================================
   0.10.0 — DOCUMENTS, TOPOGRAPHY, TYPED HEADINGS, PRIVATE PAGES
   Additive only: nothing above is restyled, so every page built on 0.9
   reads exactly as it did. What is new is scoped to the new vocabulary —
   the Document template (.bdaw-doc), the registered block styles
   (is-style-bdaw-callout / -facts / -meta / -toc / -typed), the Topography
   block (.bdaw-topo) and the password form (.bdaw-pw).
   ===================================================================== */

/* -- Document template: a reading page inside the instrument ---------- */
.bdaw-doc{padding-top:calc(var(--frame) + 5.4rem); padding-bottom:5rem}
.bdaw-doc__head,.bdaw-doc__body{padding-inline:var(--gut)}
/* the page's own h1 (a content pack writes one) replaces the template title */
.bdaw-doc:has(.bdaw-doc__body h1) .bdaw-doc__head{display:none}
.bdaw-doc .bdaw-doc__title{font-size:var(--s3); margin-bottom:1.6rem}
.bdaw-doc .bdaw-doc__body{font-size:var(--s0); line-height:1.72; color:var(--body)}
.bdaw-doc .bdaw-doc__body > *{margin-block:0}
.bdaw-doc .bdaw-doc__body > * + *{margin-block-start:1.05em}
.bdaw-doc .bdaw-doc__body h1{font-size:var(--s3); margin-top:.7rem}
.bdaw-doc .bdaw-doc__body h2{font-size:var(--s2); margin-top:3.4rem; padding-top:1.5rem; border-top:1px solid var(--line)}
.bdaw-doc .bdaw-doc__body h3{font-size:var(--s1); margin-top:2.3rem; line-height:1.2}
.bdaw-doc .bdaw-doc__body h4{font-family:var(--f-mono); font-size:.72rem; font-weight:500; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); margin-top:1.8rem}
.bdaw-doc .bdaw-doc__body :is(h2,h3,h4) + *{margin-top:.95rem}
.bdaw-doc .bdaw-doc__body :is(h1,h2,h3,h4,[id]){scroll-margin-top:calc(var(--frame) + 4.6rem + var(--abh, 0px))}
.bdaw-doc .bdaw-doc__body strong{color:var(--paper); font-weight:500}
.bdaw-doc .bdaw-doc__body em{font-family:inherit; font-weight:inherit; color:inherit}
.bdaw-doc .bdaw-doc__body a:not(.wp-block-button__link){text-decoration:underline; text-decoration-color:var(--gold-soft); text-decoration-thickness:1px; text-underline-offset:.22em}
.bdaw-doc .bdaw-doc__body a:not(.wp-block-button__link):hover{color:var(--paper); text-decoration-color:var(--gold)}
.bdaw-doc .bdaw-doc__body sup{font-family:var(--f-mono); font-size:.6em; letter-spacing:.04em; color:var(--dim); margin-left:.12em}
.bdaw-doc .bdaw-doc__body code{font-family:var(--f-mono); font-size:.86em; color:var(--paper); background:var(--ink-3); padding:.08em .38em}
.bdaw-doc .bdaw-doc__body :is(ul,ol):not([class*="is-style-bdaw"]){padding-left:1.35em}
.bdaw-doc .bdaw-doc__body li + li{margin-top:.5em}
.bdaw-doc .bdaw-doc__body li > :is(ul,ol){margin-top:.5em}
.bdaw-doc .bdaw-doc__body li::marker{color:var(--gold); font-family:var(--f-mono); font-size:.84em}
.bdaw-doc .bdaw-doc__body > .ctas{margin-top:1.5rem}

/* -- tables: hairlines and mono heads — in a document, on a screen, and in the editor
   (:where keeps these as light as core's own table rules, so a block style wins) -- */
:where(.bdaw-doc,.wp-block-post-content) .wp-block-table{margin-inline:0}
:where(.bdaw-doc,.wp-block-post-content) .wp-block-table table{border-collapse:collapse; width:100%; font-size:var(--s-1); line-height:1.55}
:where(.bdaw-doc,.wp-block-post-content) .wp-block-table :is(th,td){border:0; border-top:1px solid var(--line); padding:.72rem 1.1rem .72rem 0; text-align:left; vertical-align:top}
:where(.bdaw-doc,.wp-block-post-content) .wp-block-table thead{border:0}
:where(.bdaw-doc,.wp-block-post-content) .wp-block-table th{font-family:var(--f-mono); font-size:.62rem; font-weight:500; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); border-top:0; border-bottom:1px solid var(--gold-soft); padding-bottom:.62rem}
:where(.bdaw-doc,.wp-block-post-content) .wp-block-table thead + tbody tr:first-child td{border-top:0}
:where(.bdaw-doc,.wp-block-post-content) .wp-block-table td:first-child{color:var(--paper)}
:where(.bdaw-doc,.wp-block-post-content) .wp-block-table tbody tr:last-child td{border-bottom:1px solid var(--line)}
:where(.bdaw-doc,.wp-block-post-content) .wp-block-table figcaption{font-family:var(--f-mono); font-size:.62rem; letter-spacing:.08em; color:var(--dim); margin-top:.6rem}
/* Fact table: a key column in mono gold, the value in paper — no head row */
.wp-block-table.is-style-bdaw-facts table{border-collapse:collapse; width:100%; font-size:var(--s-1); line-height:1.5}
.wp-block-table.is-style-bdaw-facts :is(td,th){border:0; border-top:1px solid var(--line); padding:.68rem 0; text-align:left; vertical-align:top}
.wp-block-table.is-style-bdaw-facts tbody tr:last-child td{border-bottom:1px solid var(--line)}
.wp-block-table.is-style-bdaw-facts td:first-child{width:30%; padding-right:1.1rem; padding-top:.86rem; font-family:var(--f-mono); font-size:.6rem; font-weight:500; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); line-height:1.5}
.wp-block-table.is-style-bdaw-facts td + td{color:var(--paper); opacity:.9}

/* -- Meta row, Contents, Callout ----------------------------------------- */
.wp-block-list.is-style-bdaw-meta{list-style:none; margin-left:0; padding:.8rem 0; display:flex; flex-wrap:wrap; gap:.45rem 1.9rem; border-top:1px solid var(--line); border-bottom:1px solid var(--line); font-size:var(--s-1); line-height:1.5; color:var(--paper)}
.bdaw-doc .bdaw-doc__body .is-style-bdaw-meta li + li{margin-top:0}
.is-style-bdaw-meta li::marker{content:none}
.is-style-bdaw-meta strong{font-family:var(--f-mono); font-size:.6rem; font-weight:500; letter-spacing:.14em; text-transform:uppercase; color:var(--dim); margin-right:.45rem}
.wp-block-list.is-style-bdaw-toc{list-style:none; margin-left:0; padding:1.1rem 1.35rem; columns:2 16rem; column-gap:2.6rem; border:1px solid var(--line); background:color-mix(in srgb,var(--ink-2) 72%,transparent); font-size:var(--s-1); line-height:1.5}
.bdaw-doc .bdaw-doc__body .is-style-bdaw-toc li + li{margin-top:0}
.is-style-bdaw-toc li{break-inside:avoid; margin:0 0 .4rem}
.is-style-bdaw-toc li::marker{content:none}
.bdaw-doc .bdaw-doc__body .is-style-bdaw-toc a{text-decoration:none; color:var(--body)}
.bdaw-doc .bdaw-doc__body .is-style-bdaw-toc a:hover{color:var(--gold)}
.bdaw-toc__label{margin-bottom:-.2rem}
.wp-block-group.is-style-bdaw-callout{border:1px solid var(--line); border-left:2px solid var(--gold); background:color-mix(in srgb,var(--ink-2) 84%,transparent); padding:1.25rem 1.45rem 1.35rem}
.bdaw-doc .is-style-bdaw-callout > *{margin-block:0}
.bdaw-doc .is-style-bdaw-callout > * + *{margin-top:.85rem}
.bdaw-doc .is-style-bdaw-callout > h2{border-top:0; padding-top:0; margin-top:0; font-size:var(--s1)}
.bdaw-doc .bdaw-doc__body > .is-style-bdaw-callout{margin-top:1.6rem}

/* -- small print: crumbs, lede, note, foot, badges ---------------------- */
.bdaw-crumbs{font-family:var(--f-mono); font-size:.66rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold)}
.bdaw-lede{font-size:var(--s1); line-height:1.5; color:var(--paper); opacity:.9}
.screen .bdaw-lede{max-width:54ch}
.bdaw-note{font-size:.84rem; line-height:1.6; color:var(--dim)}
.bdaw-doc .bdaw-doc__body > .bdaw-foot,.bdaw-foot{margin-top:3.6rem; padding-top:1rem; border-top:1px solid var(--line); font-family:var(--f-mono); font-size:.62rem; letter-spacing:.06em; line-height:1.9; color:var(--dim)}
.bdaw-badge{display:inline-block; font-family:var(--f-mono); font-size:.58rem; font-weight:500; font-style:normal; letter-spacing:.14em; text-transform:uppercase; line-height:1.5; padding:.12em .6em; border:1px solid currentColor; vertical-align:.14em; white-space:nowrap; color:var(--dim)}
.bdaw-badge.is-ok{color:var(--map-blue)}
.bdaw-badge.is-warn{color:var(--amber)}
.bdaw-badge.is-bad{color:color-mix(in srgb,var(--amber) 55%,#ff3b30)}

/* -- stat tiles and document cards (grid-layout groups of HUD panels) --- */
.bdaw-doc .bdaw-doc__body > .bdaw-stats{margin-top:1.8rem}
.bdaw-doc .bdaw-doc__body > .bdaw-cards{margin-top:1.2rem}
.bdaw-stat,.bdaw-doccard,.bdaw-tile{padding:1.1rem 1.25rem 1.2rem}
.bdaw-stat > *,.bdaw-doccard > *,.bdaw-tile > *{margin-block:0}
.bdaw-stat .bdaw-stat__v{font-family:var(--f-display); font-size:var(--s2); font-weight:600; line-height:1.08; letter-spacing:-.02em; color:var(--paper)}
.bdaw-stat .bdaw-stat__l{margin-top:.55rem; font-family:var(--f-mono); font-size:.6rem; letter-spacing:.12em; text-transform:uppercase; line-height:1.65; color:var(--dim)}
.bdaw-stat.is-warn .bdaw-stat__v{color:var(--amber)}
.bdaw-doccard .eyebrow{font-size:.58rem; letter-spacing:.14em; line-height:1.6}
.bdaw-doccard h3{font-size:var(--s1); line-height:1.15; margin-top:.55rem}
.bdaw-doccard p:not(.eyebrow){margin-top:.55rem; font-size:var(--s-1); line-height:1.6}
.bdaw-doccard .sidebox__link{margin-top:.8rem}
.bdaw-doc .bdaw-doc__body .bdaw-doccard .sidebox__link a{text-decoration:none}

/* -- a screen that carries a document's content ------------------------ */
.bdaw-hero{font-size:var(--s4); max-width:15ch}
.screen .wp-block-columns{gap:clamp(1.6rem,4vw,3.8rem); margin:0; align-items:center}
.screen .wp-block-column{min-width:0}
.screen .bdaw-note{margin-top:1rem; max-width:60ch}
.screen .sub + .sub{margin-top:.9rem}
.screen .bdaw-links{margin-top:1.4rem; display:flex; flex-wrap:wrap; gap:.55rem 1.5rem; font-family:var(--f-mono); font-size:.64rem; letter-spacing:.14em; text-transform:uppercase}
.screen .bdaw-links a{color:var(--map-blue); border-bottom:1px solid var(--map-blue-soft); padding-bottom:.1em}
.screen .bdaw-links a:hover{color:var(--paper); border-color:var(--paper)}
.bdaw-tiles{margin-top:1.6rem}
.bdaw-tile .eyebrow{font-size:.6rem; letter-spacing:.16em; color:var(--map-blue)}
.bdaw-tile h3{font-family:var(--f-display); font-size:clamp(.98rem,.9rem + .3vw,1.14rem); font-weight:600; line-height:1.3; letter-spacing:-.01em; margin-top:.55rem}
.bdaw-tile .bdaw-tile__k{margin-top:.75rem; padding-top:.6rem; border-top:1px solid var(--line); font-family:var(--f-mono); font-size:.58rem; letter-spacing:.12em; text-transform:uppercase; color:var(--gold)}
.bdaw-tile .bdaw-tile__k + p{margin-top:.35rem; font-size:var(--s-1); line-height:1.55}
.screen .eyebrow + .wp-block-table,.screen .eyebrow + .bdaw-rules{margin-top:.9rem}
.wp-block-list.bdaw-rules{list-style:none; counter-reset:bdaw-r; margin:0; padding:0; display:grid; gap:.55rem}
.bdaw-rules li{counter-increment:bdaw-r; position:relative; padding:.8rem 1rem .85rem 3.1rem; border:1px solid var(--line); background:color-mix(in srgb,var(--ink-2) 78%,transparent); font-size:var(--s-1); line-height:1.55}
.bdaw-rules li::before{content:counter(bdaw-r,decimal-leading-zero); position:absolute; left:1rem; top:.95rem; font-family:var(--f-mono); font-size:.6rem; letter-spacing:.14em; color:var(--map-blue)}
.bdaw-rules li strong{display:block; margin-bottom:.2rem; font-size:var(--s0); font-weight:500; color:var(--paper)}
.readout.bdaw-hud-corner{position:absolute; right:var(--gut); bottom:calc(var(--frame) + 2.8rem); z-index:3; display:block; text-align:right; line-height:2.05; pointer-events:none}
.bdaw-hud-corner b{margin-right:.5em}
.bdaw-hud-corner i{font-style:normal; color:var(--map-blue)}
@media (max-width:899px){.readout.bdaw-hud-corner{position:relative; right:auto; bottom:auto; flex:0 0 100%; text-align:left; margin-top:2rem; padding-inline:var(--gut)} .screen:has(> .bdaw-hud-corner){flex-wrap:wrap; align-content:flex-start}}
.bdaw-foot-cols{margin-top:clamp(2rem,6vh,3.6rem) !important; padding-top:1.5rem; border-top:1px solid var(--line); align-items:flex-start !important}
.bdaw-foot-cols .footmark{margin-top:.2rem}
.wp-block-list.bdaw-linklist{list-style:none; margin:.7rem 0 0; padding:0}
.bdaw-linklist li{margin:0 0 .4rem; font-size:.86rem; line-height:1.45}
.bdaw-linklist a{color:var(--body)}
.bdaw-linklist a:hover{color:var(--gold)}

/* -- Typed heading: the text types itself in when its screen arrives ---- */
.is-style-bdaw-typed .bdaw-cur{display:inline-block; width:.5em; height:.9em; margin-left:.06em; vertical-align:-.06em; background:var(--map-blue); animation:gblink 1s steps(2) infinite}
.is-style-bdaw-typed.is-typed .bdaw-cur{animation:gblink 1s steps(2) 3; opacity:0; transition:opacity .4s 3s}
@media (prefers-reduced-motion:reduce){.is-style-bdaw-typed .bdaw-cur{display:none}}

/* -- Topography block: the living contour map behind a screen ---------- */
.bdaw-topo{position:absolute; inset:0; z-index:0; overflow:hidden; pointer-events:none}
.bdaw-topo canvas{position:absolute; inset:0; width:100%; height:100%; display:block}
.bdaw-topo::after{content:""; position:absolute; inset:0}
.bdaw-topo[data-scrim="left"]::after{background:linear-gradient(90deg,var(--ink) 0%,color-mix(in srgb,var(--ink) 62%,transparent) 42%,transparent 74%)}
.bdaw-topo[data-scrim="bottom"]::after{background:linear-gradient(to top,var(--ink) 0%,transparent 34%),linear-gradient(to bottom,var(--ink) 0%,transparent 22%)}
.bdaw-topo[data-scrim="left-bottom"]::after{background:linear-gradient(90deg,var(--ink) 0%,color-mix(in srgb,var(--ink) 62%,transparent) 38%,transparent 66%),linear-gradient(to top,var(--ink) 0%,transparent 26%)}
@media (max-width:899px){.bdaw-topo:not([data-scrim="none"])::after{background:color-mix(in srgb,var(--ink) 62%,transparent)}}
.screen > .wrap{z-index:1}

/* -- the index rail on a Document page: its h2 headings --------------- */
.rail.rail--doc{gap:.62rem; max-height:calc(100svh - 11rem - var(--abh, 0px)); overflow-y:auto; overflow-x:hidden; scrollbar-width:none; padding-right:.5rem}
.rail--doc::-webkit-scrollbar{display:none}
@media (max-width:1099px){.rail.rail--doc{display:none}}
/* numbers only while reading — the names open out on hover or keyboard focus,
   on a panel of their own, so a wide table never runs under them */
.rail.rail--doc{margin-left:-.5rem; padding:.7rem .9rem .7rem .5rem; border:1px solid transparent; transition:background .2s,border-color .2s}
.rail--doc a .lbl{display:none; max-width:26ch; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.rail--doc:is(:hover,:focus-within){background:color-mix(in srgb,var(--ink) 90%,transparent); border-color:var(--line); backdrop-filter:blur(10px)}
.rail--doc:is(:hover,:focus-within) a .lbl{display:inline-block}
/* a wide block in a document stays clear of the rail */
.bdaw-doc .bdaw-doc__body > .alignwide{max-width:min(1200px, calc(100vw - 10rem))}
/* a document scrolls under the two bars: an ink veil at each edge keeps the bars' words clear of the page's */
body:has(main.bdaw-doc)::before,body:has(main.bdaw-doc)::after{content:""; position:fixed; left:0; right:0; z-index:39; pointer-events:none}
body:has(main.bdaw-doc)::before{top:var(--abh, 0px); height:calc(var(--frame) + 3.1rem); background:linear-gradient(var(--ink) 55%,transparent)}
body:has(main.bdaw-doc)::after{bottom:0; height:calc(var(--frame) + 2.3rem); background:linear-gradient(to top,var(--ink) 50%,transparent)}
@media (max-width:759px){body:has(main.bdaw-doc)::after{display:none}}
@media (max-width:1099px){.rail__prog.rail__prog--doc{display:none}}

/* -- a private page: the password form as a HUD panel ------------------ */
/* (the long selectors outrank WordPress's layout rules, which zero a first child's top margin) */
.bdaw-main .post-password-form.bdaw-pw{display:grid; max-width:min(92vw,470px); margin:calc(var(--frame) + 7.6rem + var(--abh, 0px)) auto 6rem; padding:clamp(1.6rem,4vw,2.4rem)}
.bdaw-main.bdaw-doc .post-password-form.bdaw-pw{margin-top:1.6rem}
.bdaw-pw > *{margin:0}
.bdaw-pw .bdaw-pw__title{font-size:var(--s2); max-width:20ch; margin-top:.6rem}
.bdaw-pw .bdaw-pw__hint{margin-top:.85rem; color:var(--body); font-size:var(--s-1); line-height:1.6}
.bdaw-pw .loginform__field{margin-top:1.5rem}
.bdaw-pw .loginform__field input{margin-top:.1rem}
.bdaw-pw .bdaw-pw__msg{margin-top:.55rem}
.bdaw-pw button.pill{justify-self:start; margin-top:.35rem; cursor:pointer}

/* -- a screen taller than the viewport (0.10.0) -----------------------
   Centred content that outgrows its screen used to lose its top edge
   (flex centring overflows both ways; only the bottom can be scrolled to).
   "safe" centring starts such a screen at the top instead — a screen that
   fits is centred exactly as before. The script marks a tall screen and
   whether there is more above or below: the edges fade under the bars,
   and at the end of its own scroll the page moves on to the next screen. */
@media (min-width:641px){ .screen{align-items:safe center} }
@media (min-height:700px) and (min-width:900px){
  /* in a screen that scrolls, the first column holds still while the rest moves past it */
  .screen .wp-block-columns > .wp-block-column:first-child{position:sticky; top:calc(var(--frame) + 4.6rem); align-self:flex-start}
  .screen.is-above{-webkit-mask-image:linear-gradient(to bottom,transparent calc(var(--frame) + 1.3rem),#000 calc(var(--frame) + 4.6rem)); mask-image:linear-gradient(to bottom,transparent calc(var(--frame) + 1.3rem),#000 calc(var(--frame) + 4.6rem))}
  .screen.is-below{-webkit-mask-image:linear-gradient(to top,transparent calc(var(--frame) + .8rem),#000 calc(var(--frame) + 4rem)); mask-image:linear-gradient(to top,transparent calc(var(--frame) + .8rem),#000 calc(var(--frame) + 4rem))}
  .screen.is-above.is-below{-webkit-mask-image:linear-gradient(to bottom,transparent calc(var(--frame) + 1.3rem),#000 calc(var(--frame) + 4.6rem),#000 calc(100% - var(--frame) - 4rem),transparent calc(100% - var(--frame) - .8rem)); mask-image:linear-gradient(to bottom,transparent calc(var(--frame) + 1.3rem),#000 calc(var(--frame) + 4.6rem),#000 calc(100% - var(--frame) - 4rem),transparent calc(100% - var(--frame) - .8rem))}
}
/* a long page or section name in the top bar gives way (ellipsis) rather than running off a phone */
/* (Document and private pages only — a console page's short screen names keep the bar exactly as it was) */
body:has(main.bdaw-doc) .bar--top > span:first-child,body:has(.bdaw-pw) .bar--top > span:first-child{min-width:0; overflow:hidden; text-overflow:ellipsis}

/* 1.0.6: BDAW WP Repo's panels and forms (account, tickets, settings) framed on one measure — the space
   between two fields is the gutter all round the frame; fields in higher contrast against the panel. */
.bdaw-repo{--frame:1.25rem}
.bdaw-repo .loginform{gap:var(--frame); margin-top:0}
.bdaw-repo-auth.is-style-bdaw-panel,.bdaw-repo form.is-style-bdaw-panel,.bdaw-repo-modal .modal__panel{padding:var(--frame)}
.bdaw-repo-auth .bdaw-repo-tabs{margin:0 0 var(--frame); gap:.5rem}
.bdaw-repo-modal .bdaw-repo-tabs{padding-right:2.6rem}
.bdaw-repo-tabs a{font-family:var(--f-mono); font-size:.64rem; letter-spacing:.12em; text-transform:uppercase; color:var(--body); text-decoration:none; border:1px solid var(--line); border-radius:999px; padding:.55em 1.1em; transition:border-color .2s,color .2s,background .2s}
.bdaw-repo-tabs a:hover{border-color:var(--gold-soft); color:var(--paper)}
.bdaw-repo-tabs a.active{border-color:var(--gold); color:var(--gold); background:color-mix(in srgb,var(--gold) 10%,transparent)}
.bdaw-repo .loginform__field{gap:.5rem; color:var(--body)}
.bdaw-repo .loginform__field input,.bdaw-repo .loginform__field textarea,.bdaw-repo .loginform__field select{background:var(--ink-3); color:var(--paper); border:1px solid color-mix(in srgb,var(--paper) 24%,transparent); padding:.75em .9em}
.bdaw-repo .loginform__field input:hover,.bdaw-repo .loginform__field textarea:hover{border-color:color-mix(in srgb,var(--paper) 40%,transparent)}
.bdaw-repo .loginform__field input:focus-visible,.bdaw-repo .loginform__field textarea:focus-visible{border-color:var(--gold); outline:none}
.bdaw-repo .loginform__field input::placeholder,.bdaw-repo .loginform__field textarea::placeholder{color:var(--dim)}
.bdaw-repo .loginform .modal__hint{margin:0; max-width:none; color:var(--body)}
.bdaw-repo-agree{color:var(--body); font-size:var(--s-1)}
.bdaw-repo-agree a{color:var(--gold)}
.bdaw-repo-agree input[type=checkbox]{accent-color:var(--gold)}
.bdaw-repo-modal .modal__panel{width:min(92vw,520px)}

/* =====================================================================
   1.2.0 — navigation, accounts and reading pages (from BDAW WP Repo & Support)
   ===================================================================== */
.nav a.bdaw-home,.bar a.bdaw-home,.nav a.cta{text-decoration:none}
.nav a.bdaw-home:hover,.nav a.bdaw-home:focus-visible,.bar a.bdaw-home:hover b{color:var(--gold)}
.nav .nav__link{font-family:var(--f-mono); font-size:.62rem; letter-spacing:.16em; text-transform:uppercase; color:var(--dim); text-decoration:none; margin-right:1.1rem}
.nav .nav__link:hover,.nav .nav__link:focus-visible,.nav .nav__link[aria-current]{color:var(--paper)}
.nav.has-links .bdaw-navlink,.bar--bot.has-legal > span.bdaw-legal{display:none !important} /* links a retired content plugin still adds */
.nav__menu{display:none; position:relative; margin-right:.6rem}
.nav__menu summary{list-style:none; cursor:pointer; font-family:var(--f-mono); font-size:.62rem; letter-spacing:.16em; text-transform:uppercase; color:var(--paper)}
.nav__menu summary::-webkit-details-marker{display:none}
.nav__menu ul{position:absolute; right:-.5rem; top:calc(100% + .9rem); list-style:none; margin:0; padding:.8rem 1rem; display:grid; gap:.7rem; min-width:12rem; border:1px solid var(--line); background:var(--ink-2)}
.nav__menu a{font-family:var(--f-mono); font-size:.62rem; letter-spacing:.16em; text-transform:uppercase; color:var(--body); text-decoration:none}
.nav__menu a:hover,.nav__menu a[aria-current]{color:var(--gold)}
@media (max-width:640px){ .nav .nav__link{display:none} .nav__menu{display:block} }
.bar--bot .bdaw-legal{margin-left:auto}
.bar--bot .bdaw-legal a{color:var(--dim); text-decoration:none}
.bar--bot .bdaw-legal a:hover,.bar--bot .bdaw-legal a:focus-visible,.bar--bot .bdaw-legal a[aria-current]{color:var(--paper)}
.loginform__check{display:flex; gap:.55rem; align-items:center; font-size:var(--s-1); color:var(--body)}
.loginform__check input{accent-color:var(--gold)}
.modal [hidden]{display:none !important}

/* pages that read and do: Wide page, the knowledge base */
.bdaw-page{padding-top:calc(var(--frame) + 6.2rem + var(--abh, 0px)); padding-bottom:5rem}
.bdaw-page__head,.bdaw-page__body,.bdaw-page .wp-block-query{box-sizing:border-box; width:100%; max-width:calc(1100px + 2 * var(--gut)); margin-inline:auto !important; padding-inline:var(--gut)}
.bdaw-page--wide :is(.bdaw-page__head,.bdaw-page__body){max-width:calc(1360px + 2 * var(--gut))}
.bdaw-page .bdaw-page__title{font-size:var(--s3); max-width:22ch}
.bdaw-page__head{margin-bottom:1.8rem}
.bdaw-page__head > * + *{margin-top:.9rem}
.bdaw-page__body > * + *{margin-block-start:1.2rem}
.bdaw-page__body h2{font-size:var(--s2); margin-top:3rem}
.bdaw-page__body h3{font-size:var(--s1)}
.bdaw-page__body :is(p,li){max-width:72ch}
.bdaw-list .wp-block-post-template{list-style:none; margin:0; padding:0; display:grid; gap:0}
.bdaw-list__item{padding:1.4rem 0; border-top:1px solid var(--line)}
.bdaw-list__item > *{margin:0}
.bdaw-list__item > * + *{margin-top:.5rem}
.bdaw-list__title{font-size:var(--s1)}
.bdaw-list__title a{color:var(--paper)} .bdaw-list__title a:hover{color:var(--gold)}
.bdaw-list__excerpt{color:var(--body); max-width:72ch}
.bdaw-list__date{font-family:var(--f-mono); font-size:.62rem; letter-spacing:.12em; text-transform:uppercase; color:var(--dim)}
.bdaw-page .wp-block-query-pagination{margin-top:2rem; font-family:var(--f-mono); font-size:.7rem; letter-spacing:.12em; text-transform:uppercase}

/* the support home pattern: one question, the search, three doors */
.bdaw-repo-home{padding-inline:var(--gut); padding-top:clamp(1rem,6vh,4rem)}
.bdaw-repo-home > * + *{margin-top:1.6rem}
.bdaw-repo-home > .bdaw-hero{max-width:980px; margin-top:.6rem}
.bdaw-repo-doors{margin-top:3rem !important; gap:1.1rem}
.bdaw-repo-door{padding:1.4rem 1.5rem 1.5rem}
.bdaw-repo-door > *{margin:0 !important}
.bdaw-repo-door > * + *{margin-top:.7rem !important}
.bdaw-repo-door h3{font-size:var(--s1)}
.bdaw-repo-door__go{padding-top:.5rem}
.bdaw-repo-door__go a{font-family:var(--f-mono); font-size:.66rem; letter-spacing:.14em; text-transform:uppercase}
@media (max-width:640px){ .bdaw-page{padding-top:calc(var(--frame) + 5.2rem + var(--abh, 0px))} }
