:root{
  --bg:#FFFFFF; --surface:#F5F0E7; --surface-2:#EDE5D6; --card:#FAF7F0;
  --ink:#26222B; --muted:#8A8177; --line:#E4DCCD;
  --maroon:#8A1538; --deep:#541023; --soft:#6E1E38;
  --gold:#BE9150; --goldsoft:#D9BC8C; --taupe:#6C6154;
  --on-dark:#F2EBE0; --on-dark-muted:#C9AEB8;
  --serif:"Source Serif 4",Cambria,Georgia,serif;
  --sans:Carlito,Calibri,"Segoe UI",Arial,sans-serif;
  --radius:10px;
}
/* The workspace commits to one visual world — the light, warm brand ground.
   Device dark mode is deliberately not followed; deep maroon is reserved
   for the header, section moments and the close, per the design standard. */
:root{color-scheme:light}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0; background:var(--bg); color:var(--ink); font-family:var(--sans); font-size:16.5px; line-height:1.55;}
img{max-width:100%} [hidden]{display:none!important}
a{color:var(--maroon)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--gold); outline-offset:2px; border-radius:3px;}

/* ---- top bar ---- */
.top{background:#541023; color:#F2EBE0; position:sticky; top:0; z-index:40;}
.top-inner{max-width:1240px; margin:0 auto; padding:18px 28px 0; }
.brandline{display:flex; justify-content:space-between; align-items:baseline; gap:12px; flex-wrap:wrap;}
.wordmark{font-family:var(--serif); font-weight:700; font-size:19px; color:#FFF; letter-spacing:.01em;}
.wordmark span{color:#D9BC8C; font-weight:600;}
.privacy-tag{font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:#B08D99;}
nav.main{display:flex; gap:10px; align-items:center; overflow-x:auto; padding:14px 0 0; -webkit-overflow-scrolling:touch;}
nav.main a{color:#CBA9B4; text-decoration:none; font-size:13px; font-weight:600; letter-spacing:.02em; padding:8px 10px 12px; border-radius:8px 8px 0 0; white-space:nowrap;}
nav.main a.on{background:var(--bg); color:var(--maroon); font-weight:700;}
nav.main a:hover:not(.on){color:#FFF;}
nav.main .navsep{width:1px; height:15px; background:#6E2A40; margin:0 6px 4px; flex:none;}
nav.main .navlab{font-size:10px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:#8E6875; margin:0 2px 4px; flex:none;}
nav.main a.wk{color:#B08D99;}
nav.main a.wk.on{color:var(--maroon);}

.shell{max-width:1240px; margin:0 auto; padding:64px 28px 104px;}
.kicker{font-weight:700; font-size:12px; letter-spacing:.26em; text-transform:uppercase; color:var(--gold); margin:0 0 16px;}
h1{font-family:var(--serif); font-weight:700; font-size:clamp(30px,4.6vw,44px); line-height:1.12; margin:0 0 18px; text-wrap:balance; max-width:19ch;}
h2{font-family:var(--serif); font-weight:700; font-size:clamp(24px,3.4vw,32px); line-height:1.15; margin:0 0 12px; text-wrap:balance;}
h3{font-family:var(--serif); font-weight:600; font-size:19px; color:var(--maroon); margin:52px 0 14px;}
p{max-width:62ch; margin:.6em 0;}
.lede{font-size:18px; max-width:640px; line-height:1.6; margin:0;}
.tagline{font-family:var(--serif); font-style:italic; font-size:19px; color:var(--gold); margin:28px 0 0;}
.hero-block{margin-bottom:72px;}
.gap-lg{margin-top:64px;}
.smallmuted{font-size:13px; color:var(--muted);}
.src{font-size:12.5px; color:var(--muted); font-style:italic; margin-top:14px; max-width:75ch;}

/* ---- chips / chains ---- */
.chain{display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin:18px 0;}
.chain .c{background:var(--surface); border:1px solid var(--line); color:var(--maroon); font-weight:700; font-size:13.5px; padding:7px 13px; border-radius:8px;}
.chain .c.fill{background:var(--maroon); color:var(--bg); border-color:var(--maroon);}
:root[data-theme="dark"] .chain .c.fill{color:#33101C;}
.chain .arr{color:var(--gold); font-weight:700;}

/* ---- cards ---- */
.grid{display:grid; gap:22px; margin:34px 0;}
.g2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));}
.g3{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));}
.card{background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:18px 20px;}
.card h4{font-family:var(--serif); font-weight:600; font-size:16.5px; margin:0 0 8px; color:var(--maroon);}
.card p{font-size:14px; margin:.4em 0; color:var(--ink);}
.card .role{font-size:12.5px; font-weight:700; font-style:italic; color:var(--gold); margin-top:10px;}
.tile{display:block; text-decoration:none; color:var(--ink); background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:16px 18px; transition:transform .12s ease, border-color .12s ease;}
.tile:hover{transform:translateY(-2px); border-color:var(--gold);}
.tile .t{font-family:var(--serif); font-weight:600; font-size:16px; color:var(--maroon); margin-bottom:4px;}
.tile .d{font-size:13px; color:var(--muted); line-height:1.4;}

/* ---- allocation bar ---- */
.alloc{display:flex; border-radius:9px; overflow:hidden; margin:20px 0 8px; min-height:58px;}
.alloc>div{padding:9px 12px; color:#FFF; display:flex; flex-direction:column; justify-content:center;}
.alloc b{font-size:14px;} .alloc i{font-style:normal; font-size:11.5px; opacity:.85;}

/* ---- opportunity cards ---- */
.opp{background:var(--surface); border-radius:var(--radius); margin:14px 0; overflow:hidden;}
.opp summary{list-style:none; cursor:pointer; padding:18px 22px; display:flex; justify-content:space-between; align-items:center; gap:14px;}
.opp summary::-webkit-details-marker{display:none}
.opp .oname{font-family:var(--serif); font-weight:700; font-size:19px; color:var(--maroon);}
.opp .osub{font-size:13.5px; color:var(--muted); margin-top:2px;}
.badge{font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; padding:5px 10px; border-radius:999px; white-space:nowrap;}
.badge.pipe{background:var(--surface-2); color:var(--taupe); border:1px solid var(--line);}
.badge.active{background:var(--maroon); color:var(--bg);}
:root[data-theme="dark"] .badge.active{color:#33101C;}
.opp .chev{color:var(--gold); font-weight:700; transition:transform .15s;}
.opp[open] .chev{transform:rotate(90deg);}
.opp .body{padding:2px 22px 20px; border-top:1px solid var(--line);}
.ofields{display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:4px 26px; margin-top:12px;}
.of{padding:9px 0; border-bottom:1px solid var(--line);}
.of .fl{font-size:11.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); margin-bottom:3px;}
.of .fv{font-size:14.5px;}
.opp .foot{font-size:12px; color:var(--muted); font-style:italic; margin-top:14px;}

/* ---- process ---- */
.stage{background:var(--surface); border-radius:var(--radius); margin:10px 0; overflow:hidden;}
.stage summary{list-style:none; cursor:pointer; padding:13px 18px; display:flex; align-items:center; gap:14px;}
.stage summary::-webkit-details-marker{display:none}
.stage .n{font-family:var(--serif); font-weight:700; color:var(--gold); width:26px;}
.stage .t{font-weight:700; font-size:16px;}
.stage .q{font-size:13.5px; color:var(--muted); margin-left:auto; text-align:right;}
.stage .body{padding:0 18px 15px 58px; font-size:14.5px; max-width:75ch;}

/* ---- start stages ---- */
.sgrid{display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:16px; margin:24px 0;}
.scard{background:var(--surface); border-radius:var(--radius); padding:22px;}
.scard .sn{font-size:12px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--gold);}
.scard .amt{font-family:var(--serif); font-weight:700; font-size:34px; color:var(--maroon); margin:8px 0 4px;}
.scard .st{font-family:var(--serif); font-weight:600; font-size:17px; margin-bottom:8px;}
.scard ul{margin:8px 0 0; padding-left:1.1em; font-size:14px;}
.scard li{margin:.25em 0;}
.scard li::marker{color:var(--maroon);}

/* ---- discussion / editing ---- */
.status-card{background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:20px 24px; margin:0 0 8px; border-left:3px solid var(--gold); max-width:820px;}
.status-card .sl{font-size:11.5px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--gold);}
.status-card .sv{font-size:16px; margin-top:8px; max-width:60ch;}
.acard{background:var(--card); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden;}
.acard summary{list-style:none; cursor:pointer; display:flex; align-items:center; gap:14px; padding:15px 18px;}
.acard summary::-webkit-details-marker{display:none}
.acard .al{font-family:var(--serif); font-weight:600; font-size:15.5px; color:var(--maroon); flex:none;}
.acard .aline{flex:1; min-width:0; font-size:13px; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.acard .achev{color:var(--gold); font-weight:700; flex:none; transition:transform .15s;}
.acard[open] .achev{transform:rotate(90deg);}
.acard .abody{padding:2px 18px 16px; border-top:1px solid var(--line);}
.acard .ap{font-size:12.5px; color:var(--muted); margin:10px 0 8px;}
.acard .av{font-size:14.5px; white-space:pre-wrap;}
.acard .av.empty{color:var(--muted); font-style:italic;}
@media (max-width:640px){ .acard .aline{display:none;} }
.editlink{background:none; border:none; color:var(--gold); font-weight:700; font-size:12.5px; cursor:pointer; padding:2px 4px; font-family:var(--sans);}
.editlink:hover{color:var(--maroon);}
textarea,input[type=text],input[type=date]{width:100%; font-family:var(--sans); font-size:14.5px; color:var(--ink); background:var(--bg); border:1px solid var(--line); border-radius:7px; padding:9px 11px; margin-top:6px;}
textarea{min-height:74px; resize:vertical;}
.btnrow{display:flex; gap:10px; margin-top:12px; align-items:center; flex-wrap:wrap;}
.btn{font-family:var(--sans); font-weight:700; font-size:14px; border:none; border-radius:8px; padding:9px 18px; cursor:pointer;}
.btn.primary{background:var(--maroon); color:var(--bg);}
:root[data-theme="dark"] .btn.primary{color:#33101C;}
.btn.ghost{background:transparent; color:var(--muted); border:1px solid var(--line);}
.btn.danger{background:transparent; color:#9B3535; border:1px solid var(--line);}
.note-entry{background:var(--surface); border-radius:var(--radius); padding:20px 22px; margin:16px 0;}
.note-entry .nh{display:flex; justify-content:space-between; gap:10px; align-items:baseline; flex-wrap:wrap;}
.note-entry .nd{font-size:12.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--gold);}
.note-entry .nt{font-family:var(--serif); font-weight:600; font-size:18px; color:var(--maroon);}
.nfield{margin:12px 0 0;}
.nfield .fl{font-size:11.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--gold);}
.nfield .fv{font-size:14.5px; white-space:pre-wrap; margin-top:3px;}
.nfield .fv.empty{color:var(--muted); font-style:italic;}

/* ---- documents ---- */
.doc-row{display:flex; justify-content:space-between; gap:14px; align-items:center; background:var(--surface); border-radius:var(--radius); padding:15px 20px; margin:10px 0; flex-wrap:wrap;}
.doc-row .dt{font-weight:700; font-size:15.5px;}
.doc-row .dd{font-size:13px; color:var(--muted); margin-top:2px; max-width:56ch;}
.doc-row .meta{font-size:12px; color:var(--muted);}

/* ---- dark band close ---- */
.band{background:#541023; color:#F2EBE0; border-radius:var(--radius); padding:36px 38px; margin:72px 0 0;}
.band .kicker{color:#D9BC8C;}
.band h2{color:#FFF;}
.band p{color:#E8D9C8;}
.band .chain .c{background:#6E1E38; border-color:#6E1E38; color:#D9BC8C;}

/* ---- toast ---- */
#toast{position:fixed; bottom:22px; left:50%; transform:translateX(-50%); background:#26222B; color:#F2EBE0; font-size:14px; padding:11px 20px; border-radius:9px; z-index:90; box-shadow:0 6px 24px rgba(0,0,0,.25); max-width:88vw;}

footer.site{border-top:1px solid var(--line); margin-top:26px;}
footer.site .inner{max-width:1240px; margin:0 auto; padding:26px 28px 40px; font-size:12.5px; color:var(--muted);}
@media (max-width:640px){
  body{font-size:15.5px;}
  .shell{padding:40px 18px 72px;}
  .top-inner{padding:14px 16px 0;}
  .hero-block{margin-bottom:52px;}
  .gap-lg{margin-top:48px;}
}
