/* BG Web Co client preview. Plain, functional, no framework. */
:root{
  --bg:#fff; --ink:#17181a; --ink2:#4a4d52; --ink3:#75797f;
  --line:#dcdee1; --line2:#eeeff1;
  --link:#0b62c4;
  --done:#1a7f4b; --now:#9a5b00; --wait:#75797f;
}
@media (prefers-color-scheme:dark){
  :root{--bg:#151719;--ink:#e8e9ea;--ink2:#b0b3b7;--ink3:#82868b;
        --line:#2c2f33;--line2:#232629;--link:#6fb4ff;
        --done:#4cc98a;--now:#e0a95b;--wait:#82868b}
}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);
  font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
/* Bootstrap container breakpoints, stepped not fluid. */
.page{width:100%;margin:0 auto;padding:0 24px}
@media(min-width:576px){.page{max-width:540px}}
@media(min-width:768px){.page{max-width:720px}}
@media(min-width:992px){.page{max-width:960px}}
@media(min-width:1200px){.page{max-width:1140px}}
@media(min-width:1400px){.page{max-width:1320px}}
h1{font-size:30px;line-height:1.2;font-weight:700;margin:0 0 14px;letter-spacing:-.01em}
h2{font-size:19px;line-height:1.3;font-weight:600;margin:0 0 8px}
p{margin:0 0 14px}
a{color:var(--link)}
a:focus-visible{outline:2px solid var(--link);outline-offset:2px}

.top{border-bottom:1px solid var(--line);padding:22px 0;margin-bottom:38px}
.top .co{font-weight:700;font-size:15px;letter-spacing:-.01em}
.top .co span{font-weight:400;color:var(--ink3)}

header.h{padding:0 0 6px}
.intro{color:var(--ink2);max-width:60ch}

table{border-collapse:collapse;width:100%;margin:26px 0 8px;font-size:15px}
caption{text-align:left;font-weight:600;font-size:15px;padding-bottom:8px}
th,td{text-align:left;padding:11px 14px 11px 0;border-bottom:1px solid var(--line2);vertical-align:top}
thead th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink3);
  font-weight:600;border-bottom:1px solid var(--line);padding-bottom:8px}
tbody tr:last-child td{border-bottom:1px solid var(--line)}
td.ph{font-weight:600;white-space:nowrap}
td.ph a{text-decoration:none}
td.ph a:hover{text-decoration:underline}
td.st{white-space:nowrap;font-weight:600;font-size:14px}
.st-done{color:var(--done)}
.st-now{color:var(--now)}
.st-wait{color:var(--wait);font-weight:400}
td.de{color:var(--ink2)}

/* Process list. Numbered because the order is the point, not decoration. */
.proc{list-style:none;margin:32px 0 0;padding:0}
.proc li{position:relative;padding:0 0 28px 46px}
.proc li::before{content:"";position:absolute;left:12px;top:4px;bottom:-4px;
  width:1px;background:var(--line)}
.proc li:last-child{padding-bottom:0}
.proc li:last-child::before{display:none}
.proc .n{position:absolute;left:0;top:0;width:25px;height:25px;line-height:23px;
  text-align:center;font-size:12px;font-weight:600;color:var(--ink3);
  background:var(--bg);border:1px solid var(--line);
  font-variant-numeric:tabular-nums}
.proc .hd{display:flex;justify-content:space-between;align-items:baseline;
  gap:16px;margin:0 0 4px;min-height:25px}
.proc .ttl{font-size:17.5px;font-weight:600;margin:0;letter-spacing:-.005em}
.proc .ttl a{text-decoration:none}
.proc .ttl a:hover{text-decoration:underline}
.proc .de{color:var(--ink2);font-size:15px;margin:0;max-width:62ch}
.proc .st{font-size:12px;font-weight:600;letter-spacing:.05em;
  text-transform:uppercase;white-space:nowrap}
/* The step being worked on gets a filled marker, nothing louder. */
.proc li.on .n{color:var(--bg);background:var(--now);border-color:var(--now)}
.proc li.ok .n{color:var(--done);border-color:var(--done)}
@media(max-width:620px){
  .proc .hd{display:block}
  .proc .st{display:block;margin-top:2px}
}

.note{margin:30px 0 0;padding:16px 18px;border:1px solid var(--line);background:var(--line2);
  font-size:14.5px;color:var(--ink2)}
.note strong{color:var(--ink)}

.mid{max-width:56ch;margin:60px 0 0}
.mid h1{font-size:26px}
.back{display:inline-block;margin-top:26px;font-size:14.5px}

footer{margin-top:64px;border-top:1px solid var(--line);padding:18px 0 70px;
  font-size:13.5px;color:var(--ink3)}
footer p{margin:0 0 5px}
@media(max-width:620px){
  .page{padding:0 18px}
  h1{font-size:25px}
  table,thead,tbody,tr,td{display:block;width:100%}
  thead{display:none}
  tbody tr{border-bottom:1px solid var(--line);padding:12px 0}
  tbody tr:last-child td{border:0}
  td{border:0;padding:2px 0}
  td.st::before{content:"Status: ";color:var(--ink3);font-weight:400}
}

/* Inline lockup in the page header. Without an explicit height an inline SVG
   expands to the full container width. */
.top .co{display:flex;align-items:center;gap:12px}
.top .co .bgw-logo{height:22px;width:auto;display:block;flex:none}
.top .co i{font-style:normal;font-size:13px;color:var(--ink2,#69737f)}

/* The lockup is a fixed-colour SVG. When the page flips to dark the navy mark drops to
   about 1.2:1 on the dark ground, so recolour it to the approved reversed paper white. */
@media (prefers-color-scheme:dark){
  .top .co .bgw-logo path{fill:#F4F0E8}
}

/* hub v2 start. Phases, page links, timeline. 2026-09-21 */
body.hub{background:var(--bg)}
body.hub .page{padding-top:40px;padding-bottom:56px;box-sizing:border-box}
body.hub .tl{overflow-x:auto}
@media(max-width:560px){body.hub .tl td,body.hub .tl th{padding-right:10px;font-size:14px}}
body.hub .h h1{font-size:34px;margin-bottom:10px}
.phases{list-style:none;margin:36px 0 0;padding:0}
.phases>li{position:relative;padding:0 0 34px 48px}
.phases>li::before{content:"";position:absolute;left:12px;top:28px;bottom:0;width:1px;background:var(--line)}
.phases>li:last-child::before{display:none}
.phases .n{position:absolute;left:0;top:0;width:25px;height:25px;line-height:23px;text-align:center;font-size:12px;font-weight:600;color:var(--ink3);background:var(--bg);border:1px solid var(--line);font-variant-numeric:tabular-nums}
.phases li.on>.n{color:var(--bg);background:var(--now);border-color:var(--now)}
.phases li.ok>.n{color:var(--done);border-color:var(--done)}
.phases .hd{display:flex;justify-content:space-between;align-items:baseline;gap:16px;min-height:25px;margin:0 0 4px}
.phases .ttl{font-size:20px;font-weight:650;margin:0}
.phases .ttl a{text-decoration:none}.phases .ttl a:hover{text-decoration:underline}
.phases .st{font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}
.phases .de{color:var(--ink2);margin:0 0 4px;max-width:66ch}
.phases .meta{color:var(--ink3);font-size:13.5px;margin:0 0 14px}
.phases .sub{color:var(--ink3);font-size:14px;margin:18px 0 8px}
a.raw{color:var(--ink3);font-size:12.5px;text-decoration:underline;text-decoration-color:var(--line);margin-left:10px}
a.raw:hover{color:var(--ink2)}
.pg{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line2)}
.pg li{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:10px 14px 10px 0;border-bottom:1px solid var(--line2)}
.pg li a:first-child{font-weight:600;text-decoration:none}.pg li a:first-child:hover{text-decoration:underline}
.pg.muted li span{color:var(--ink3)}
@media(max-width:900px){.pg{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.pg{grid-template-columns:1fr}.phases .hd{display:block}.phases .st{display:block;margin-top:2px}}
.steps{list-style:none;margin:6px 0 0;padding:0;border-top:1px solid var(--line2)}
.steps li{display:grid;grid-template-columns:1fr auto;gap:2px 16px;padding:11px 0;border-bottom:1px solid var(--line2)}
.steps .nm{font-weight:600;text-decoration:none}
.steps li.off .nm{color:var(--ink3);font-weight:500}
.steps .dd{grid-column:1/-1;color:var(--ink2);font-size:14.5px}
.tl{margin:26px 0 0;padding-top:30px;border-top:1px solid var(--line)}
.tl h2{font-size:20px;margin:0 0 6px}
.tl table{margin-top:10px}
.tl tr.gate td{color:var(--ink3);font-size:13px;font-style:italic;padding:8px 0}
.s-done{color:var(--done);font-weight:600}.s-now{color:var(--now);font-weight:600}.s-wait{color:var(--wait)}
.ft{margin-top:44px;color:var(--ink3);font-size:13.5px}
/* hub v2 end */
/* hub v3 start 2026-09-21 */
.pgt{margin:14px 0 4px;overflow-x:auto}
table.pages{width:100%;border-collapse:collapse;font-size:14.5px}
table.pages th{text-align:left;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);font-weight:600;padding:8px 12px 8px 0;border-bottom:1px solid var(--line)}
table.pages td{padding:11px 12px 11px 0;border-bottom:1px solid var(--line2);vertical-align:top}
table.pages .pn{font-weight:600;white-space:nowrap}
table.pages .pn a{text-decoration:none}table.pages .pn a:hover{text-decoration:underline}
table.pages .pu{white-space:nowrap;color:var(--ink3)}
table.pages .pc{color:var(--ink2,inherit)}
table.pages .pv{white-space:nowrap;text-align:right;padding-right:0}
.new{display:inline-block;margin-left:8px;padding:1px 7px;border-radius:9px;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--done);border:1px solid var(--done);vertical-align:1px}
table.pages tr.off td{color:var(--wait)}table.pages tr.off .pn{font-weight:400}
.st-hold{color:var(--wait);font-weight:600}
.is-local a.raw{display:none}
@media (max-width:640px){
  table.pages thead{display:none}
  table.pages,table.pages tbody,table.pages tr,table.pages td{display:block;width:100%}
  table.pages tr{padding:10px 0;border-bottom:1px solid var(--line2)}
  table.pages td{border:0;padding:2px 0;text-align:left}
  table.pages .pn{white-space:normal}
  table.pages .pv{text-align:left}
}
/* hub v3 end */
/* hub v4 start 2026-09-21: menu order rows, sign-off status, what changed */
table.pages tr.grp td{padding:14px 0 6px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);font-weight:600;border-bottom:1px solid var(--line2)}
table.pages tr.d1 .pn{padding-left:20px}
table.pages tr.d2 .pn{padding-left:40px}
table.pages tr.d1:not(.grp) .pn::before,table.pages tr.d2:not(.grp) .pn::before{content:"\2022";color:var(--ink3);margin-right:8px;font-weight:400}
table.pages tr.grp.d1 td{padding-left:20px}
.st-sign{color:var(--now);font-weight:600}
.phases li.sg>.n{color:var(--now);border-color:var(--now)}
.chg{margin:10px 0 0;font-size:14.5px}
.chg span{display:inline-block;margin-right:8px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--now)}
@media (max-width:640px){
  table.pages tr.d1 .pn,table.pages tr.grp.d1 td{padding-left:14px}
  table.pages tr.d2 .pn{padding-left:28px}
  table.pages tr.d1,table.pages tr.d2{padding-left:0}
}
/* hub v4 end */
/* hub v5 start 2026-09-21: accordion phases, brighter dates, ready-first list */
.phases .meta,table.pages .pu{color:var(--ink2)}
.acc>summary{list-style:none;cursor:pointer}
.acc>summary::-webkit-details-marker{display:none}
.acc>summary:focus-visible{outline:2px solid var(--now);outline-offset:4px}
.acc .hd .st{margin-left:auto}
.acc .chev{flex:0 0 auto;width:9px;height:9px;border-right:2px solid var(--ink3);border-bottom:2px solid var(--ink3);transform:rotate(45deg);margin:0 4px 0 6px;position:relative;top:-3px;transition:transform .15s}
.acc[open] .chev{transform:rotate(-135deg);top:2px}
.acc:not([open]) > summary .meta{margin-bottom:0}
table.pages tr.div td{padding:26px 0 8px;font-size:13px;font-weight:600;color:var(--ink2);border-bottom:1px solid var(--line)}
@media(max-width:560px){.acc .hd{display:flex!important;flex-wrap:wrap}.acc .hd .ttl{flex:1 1 100%}.acc .hd .st{margin-left:0}.acc .chev{margin-left:auto}}
/* hub v5 end */
.is-local .rawx{display:none}
/* hub v6 start 2026-09-21: phase header bars that read as clickable */
:root{--panel:#f3f5f8;--panel2:#e8ecf1}
@media (prefers-color-scheme:dark){:root{--panel:#1d2023;--panel2:#262a2e}}
.acc>summary{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:14px 18px 12px;transition:background .15s,border-color .15s}
.acc>summary:hover{background:var(--panel2);border-color:var(--ink3)}
.acc>summary .meta{margin:0}
.acc>summary .de{margin-bottom:2px}
.acc>summary ~ *:first-of-type,.acc>summary+.chg,.acc>summary+.pgt,.acc>summary+.steps{margin-top:16px}
.phases .n{top:15px}
.phases>li::before{top:42px}
.phases .ttl a{color:var(--link);text-decoration:none;border-bottom:2px solid transparent}
.phases .ttl a::after{content:"\2197";display:inline-block;margin-left:6px;font-size:.8em;transform:translateY(-1px)}
.phases .ttl a:hover{text-decoration:none;border-bottom-color:currentColor}
.acc .chev{width:10px;height:10px}
.acc>summary .hd{align-items:center}
/* hub v6 end */
/* hub v7 start 2026-09-21: each phase is one card, header and body inside the same border */
details.acc{border:1px solid var(--line);border-radius:10px;background:var(--bg);overflow:hidden;transition:border-color .15s,box-shadow .15s}
details.acc[open]{box-shadow:0 1px 2px rgba(16,24,40,.05),0 4px 14px rgba(16,24,40,.05)}
details.acc:hover{border-color:var(--ink3)}
.acc>summary,.acc>summary:hover{border:0;border-radius:0}
.acc>summary{padding:16px 20px 14px}
.acc[open]>summary{border-bottom:1px solid var(--line)}
.acc>summary ~ *:first-of-type,.acc>summary+.chg,.acc>summary+.pgt,.acc>summary+.steps{margin-top:0}
.acc-body{padding:4px 20px 18px}
.acc-body>.chg{margin:16px 0 4px}
.acc-body>.pgt{margin:10px 0 0}
.acc-body>.steps{margin:8px 0 0;border-top:0}
.acc-body>.steps>li:first-child{border-top:0}
.acc-body>.sub{margin:14px 0 0}
.acc-body table.pages tbody tr:last-child td{border-bottom:0}
.phases .n{top:17px}
.phases>li::before{top:44px}
@media(max-width:560px){.acc>summary{padding:14px 14px 12px}.acc-body{padding:2px 14px 14px}}
/* hub v7 end */
/* hub v8 2026-09-21: dates stand out, bold in body ink (white in dark mode) */
.phases .meta,table.pages .pu{color:var(--ink);font-weight:600}

.in-pastel a.raw,.in-pastel .rawx{display:none}
