/* ============================================================
   Executive Brief Cloud — HOUSE STYLE v2 (Brief 008 onward)
   Brief 004's exact visual system, reflowed into a single
   continuous scroll (Ethan's layout). Same tokens, type,
   components, gold-earned discipline. Boardroom / annual-report grade.
   ============================================================ */

:root{
  /* Exact tokens synced from Three/css/styles-kk.css (AnchorWorks live site) */
  --charcoal:#0F1214; --charcoal-2:#0a0c0d; --panel:#181C1E; --ocean:#1F2326; --ocean-2:#23282b;
  --gold:#C6A66A; --gold-bright:#e3c98c; --gold-deep:#a8884f; --bone:#EAE6DF; --steel:#9AA1A6;
  --bone-dim:rgba(234,230,223,.66); --bone-faint:rgba(234,230,223,.40);
  --hairline:rgba(234,230,223,.10); --hairline-soft:rgba(234,230,223,.06);
  --gold-tint:rgba(198,166,106,.08); --gold-glow:rgba(198,166,106,.22);
  --serif:"DM Serif Display",Georgia,"Times New Roman",serif;
  --sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);
  --col:760px;  /* content measure */
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-x:hidden}
body{font-family:var(--sans);color:var(--bone);-webkit-font-smoothing:antialiased;line-height:1.5;overflow-x:hidden;max-width:100vw;
  background:linear-gradient(180deg,var(--ocean) 0%,#181d20 44%,var(--charcoal-2) 100%)}
a{color:inherit;text-decoration:none}
.grain{position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.05;mix-blend-mode:overlay;
  background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.5) 0 1px,transparent 1px 2px),repeating-linear-gradient(90deg,rgba(255,255,255,.4) 0 1px,transparent 1px 3px)}

/* ---- sticky masthead ---- */
header.mast{position:sticky;top:0;z-index:60;border-bottom:1px solid var(--hairline);
  background:rgba(15,18,20,.82);backdrop-filter:blur(14px) saturate(140%)}
.mast .in{max-width:1180px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;
  padding:.75rem clamp(1.25rem,.5rem + 3vw,3rem)}
.mast .brand img{height:28px;width:auto;display:block}
.mast .navlbl{font-size:8.5pt;letter-spacing:.24em;text-transform:uppercase;color:var(--bone-faint)}
.mast .navlbl b{color:var(--gold)}

/* ---- scroll container + section rhythm ---- */
.brief{position:relative;z-index:1}
.blk{position:relative;padding-block:clamp(3rem,2rem + 5vw,6rem)}
.blk .in{max-width:var(--col);margin:0 auto;padding-inline:clamp(1.25rem,.5rem + 3vw,3rem)}
.blk--wide .in{max-width:1080px}
.blk--alt{background:linear-gradient(180deg,rgba(31,35,38,.35),rgba(15,18,20,.2))}
.blk + .blk .in{border-top:1px solid var(--hairline-soft);padding-top:clamp(2.4rem,1.5rem + 3vw,3.6rem)}
.blk--wide.blk--alt .in, .blk--alt .in{border-top:none}

/* ---- type (from 004) ---- */
.eyebrow{font-size:9pt;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:1rem;
  display:inline-flex;align-items:center;gap:.7rem}
.eyebrow::before{content:"";width:30px;height:1px;background:linear-gradient(90deg,var(--gold),transparent)}
.secnum{font-family:var(--serif);font-size:14pt;color:var(--gold);letter-spacing:.05em}
h2{font-family:var(--serif);font-weight:400;line-height:1.05;font-size:clamp(1.9rem,1.2rem + 2.4vw,2.9rem);margin-bottom:.6rem;letter-spacing:-.3px}
h2 em{font-style:italic;color:var(--gold-bright)}
.rule{height:1px;background:linear-gradient(90deg,var(--gold),transparent);margin:.9rem 0 1.4rem;max-width:120px}
p.lead{font-size:clamp(1.08rem,1rem + .5vw,1.32rem);color:var(--bone-dim);line-height:1.55;max-width:54ch}
p.body{font-size:1.02rem;color:var(--bone-dim);line-height:1.65;max-width:62ch;margin-top:.7rem}
p.body b{color:var(--gold-bright);font-weight:600}
.pull{font-family:var(--serif);font-style:italic;font-size:clamp(1.3rem,1rem + 1vw,1.7rem);color:var(--gold-bright);line-height:1.4;
  border-left:2px solid var(--gold);padding-left:1.1rem;margin-top:1.6rem;max-width:52ch}

/* ---- COVER HERO (scroll) — Brand Vault founder/cinematic imagery ---- */
.cover{position:relative;min-height:88vh;display:flex;flex-direction:column;overflow:hidden;border-bottom:1px solid var(--hairline)}
.cover .photo{position:absolute;inset:0;z-index:0;
  background-image:linear-gradient(180deg, rgba(15,18,20,.42) 0%, rgba(31,35,38,.18) 34%, rgba(15,18,20,.78) 78%, rgba(10,12,13,.97) 100%), var(--cover-img,url(assets/cover.jpg));
  background-size:cover;background-position:center}
.cover .photo::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 160px 40px rgba(0,0,0,.5)}
.cover .inner{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;
  max-width:1180px;width:100%;margin:0 auto;padding:clamp(2.2rem,1.5rem + 3vw,3.4rem) clamp(1.25rem,.5rem + 3vw,3rem) clamp(2.4rem,1.5rem + 3vw,3.4rem)}
.cover .topmark img{height:34px;width:auto}
.cover .spacer{flex:1 1 auto;min-height:2.4rem}
.cover .briefno{font-size:9.5pt;letter-spacing:.34em;text-transform:uppercase;color:var(--gold);margin-bottom:.5rem}
.cover h1{font-family:var(--serif);font-weight:400;line-height:1.0;letter-spacing:-.5px;
  font-size:clamp(2.9rem,1.6rem + 5.4vw,5.4rem);max-width:16ch;margin-bottom:1rem;text-shadow:0 2px 30px rgba(0,0,0,.6)}
.cover h1 em{font-style:italic;color:var(--gold-bright)}
.cover .sub{font-size:clamp(1.05rem,1rem + .5vw,1.35rem);color:var(--bone-dim);line-height:1.5;max-width:52ch}
.cover .coverfoot{margin-top:clamp(1.6rem,1rem + 2vw,2.6rem)}
.cover .coverfoot .grule{height:1px;background:var(--gold);opacity:.55;margin-bottom:.9rem}
.cover .meta{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;
  font-size:9.5pt;letter-spacing:.14em;text-transform:uppercase;color:var(--bone-faint)}
.cover .meta .r{color:var(--gold-bright);text-align:right}
.cover .prepared{color:var(--bone);font-weight:600;letter-spacing:.14em}

/* ---- DECISION LOG (searchable one-liners) ---- */
.decisions{list-style:none;display:grid;gap:.6rem;margin-top:1rem}
.decisions li{display:flex;gap:.75rem;align-items:baseline;font-size:1.02rem;line-height:1.45;color:var(--bone);
  border-bottom:1px solid var(--hairline-soft);padding-bottom:.6rem}
.decisions li::before{content:"";width:7px;height:7px;flex:none;border-radius:2px;background:var(--gold);transform:translateY(-2px)}
.decisions b{color:var(--gold-bright);font-weight:600}
.decisions code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82em;color:var(--gold-bright);
  background:var(--gold-tint);border:1px solid var(--gold-tint);border-radius:5px;padding:.06rem .38rem}

/* ---- ACCOMPLISHMENT block ---- */
.acc{display:grid;gap:1.4rem;margin-top:1.6rem}
.acc .item{border:1px solid var(--hairline);border-radius:16px;padding:1.5rem 1.6rem;
  background:radial-gradient(120% 80% at 100% 0%,rgba(198,166,106,.06),transparent 60%),linear-gradient(180deg,rgba(31,35,38,.5),rgba(15,18,20,.45))}
.acc .head{display:flex;align-items:baseline;gap:.9rem;margin-bottom:1rem}
.acc .head .secnum{font-size:17pt}
.acc .head h3{font-family:var(--serif);font-weight:400;font-size:1.5rem;color:var(--bone);line-height:1.1}
.acc .head .cat{font-size:8pt;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-left:auto;
  border:1px solid var(--gold-tint);border-radius:999px;padding:.28rem .6rem;white-space:nowrap}
.acco{display:grid;gap:.6rem}
.acco .field{display:grid;grid-template-columns:9rem 1fr;gap:1rem;align-items:baseline}
.acco .field .k{font-size:8.5pt;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);padding-top:.15rem}
.acco .field .v{font-size:1rem;line-height:1.55;color:var(--bone-dim)}
.acco .field .v b{color:var(--gold-bright);font-weight:600}
.acco .field .v code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82em;color:var(--gold-bright);
  background:var(--gold-tint);border:1px solid var(--gold-tint);border-radius:5px;padding:.06rem .38rem}

/* ---- METRICS grid ---- */
.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.4rem}
.metric{border:1px solid var(--hairline);border-radius:12px;padding:1.1rem 1.2rem;
  background:linear-gradient(180deg,rgba(31,35,38,.4),rgba(15,18,20,.35))}
.metric .v{font-family:var(--serif);font-size:clamp(1.6rem,1.2rem + 1.4vw,2rem);color:var(--gold-bright);line-height:1}
.metric .k{font-size:8pt;letter-spacing:.16em;text-transform:uppercase;color:var(--bone-faint);margin-top:.5rem}

/* progress bars */
.bars{display:grid;gap:.95rem;margin-top:1.8rem;max-width:56ch}
.bar .barlbl{display:flex;justify-content:space-between;font-size:.94rem;color:var(--bone-dim);margin-bottom:.4rem}
.bar .barlbl b{color:var(--gold-bright);font-weight:600;font-family:var(--serif)}
.bar .track{height:8px;background:var(--hairline);border-radius:99px;overflow:hidden}
.bar .fill{height:100%;background:linear-gradient(90deg,var(--gold-deep),var(--gold-bright));border-radius:99px}

/* ---- BUSINESS IMPACT cards ---- */
.cards{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;margin-top:1.5rem}
.cards.three{grid-template-columns:repeat(3,1fr)}
.card{background:linear-gradient(180deg,rgba(31,35,38,.5),rgba(15,18,20,.45));border:1px solid var(--hairline);border-radius:14px;padding:1.3rem 1.35rem}
.card .tag{display:inline-block;font-size:7.5pt;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);
  border:1px solid var(--gold-tint);border-radius:999px;padding:.25rem .65rem;margin-bottom:.7rem}
.card h3{font-family:var(--serif);font-weight:400;font-size:1.25rem;color:var(--bone);margin-bottom:.4rem}
.card p{color:var(--bone-dim);font-size:.96rem;line-height:1.55}
.card p+p{margin-top:.4rem}
.card a.link{display:inline-flex;align-items:center;gap:.4rem;margin-top:.7rem;font-size:8.5pt;letter-spacing:.16em;
  text-transform:uppercase;font-weight:600;color:var(--gold-bright)}

/* ---- COMPANY STAGE tracker ---- */
.stages{display:flex;align-items:stretch;gap:.55rem;margin-top:1.6rem}
.stages .st{flex:1;text-align:center;border:1px solid var(--hairline);border-radius:12px;padding:1rem .5rem;color:var(--bone-faint)}
.stages .st .no{font-family:var(--serif);font-size:14pt;color:var(--bone-faint);margin-bottom:.35rem}
.stages .st .lbl{font-size:9.5pt;letter-spacing:.14em;text-transform:uppercase}
.stages .st.active{border-color:var(--gold);background:var(--gold-tint);color:var(--bone)}
.stages .st.active .lbl{color:var(--gold-bright)}
.stages .st.active .no{color:var(--gold)}

/* ---- OPEN DECISIONS checks ---- */
ul.checks{list-style:none;display:grid;gap:.85rem;margin-top:1.4rem;max-width:64ch}
ul.checks li{display:flex;gap:.8rem;align-items:flex-start;font-size:1.02rem;line-height:1.5;color:var(--bone)}
ul.checks svg{width:18px;height:18px;flex:none;stroke:var(--gold);fill:none;margin-top:3px}
ul.checks b{color:var(--gold-bright);font-weight:600}

/* ---- NEXT PRIORITIES ---- */
.num-list{list-style:none;display:grid;gap:1.15rem;margin-top:1.5rem}
.num-list li{display:flex;gap:1.1rem;align-items:flex-start}
.num-list .n{font-family:var(--serif);font-size:22pt;color:var(--gold);line-height:1;width:1.9rem;flex:none}
.num-list .t{font-size:1.05rem;line-height:1.5;color:var(--bone)}
.num-list .t b{color:var(--gold-bright);font-weight:600}
.num-list .t span{display:block;color:var(--bone-faint);font-size:.94rem;margin-top:.2rem}

/* ---- APPENDIX ledger ---- */
.ledger{display:grid;gap:.55rem;margin-top:.5rem}
.ledger .row{display:flex;gap:.65rem;align-items:baseline;font-size:.92rem;color:var(--bone-dim);line-height:1.4}
.ledger code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem;color:var(--gold-bright);
  background:var(--gold-tint);border:1px solid var(--gold-tint);border-radius:5px;padding:.1rem .42rem;flex:none}
.ledger b{color:var(--bone);font-weight:600}

/* ---- version chip ---- */
.vchip{display:inline-flex;gap:.5rem;align-items:center;font-size:8pt;letter-spacing:.16em;text-transform:uppercase;color:var(--bone-faint);
  border:1px solid var(--hairline);border-radius:999px;padding:.35rem .8rem;margin-top:1.8rem}
.vchip b{color:var(--gold)}

/* ---- footer ---- */
footer.foot{position:relative;z-index:1;border-top:1px solid var(--hairline);background:var(--charcoal-2);
  padding-block:2.2rem;margin-top:1rem}
.foot .in{max-width:1180px;margin:0 auto;padding-inline:clamp(1.25rem,.5rem + 3vw,3rem);
  display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;
  font-size:8.5pt;letter-spacing:.14em;text-transform:uppercase;color:var(--bone-faint)}
.foot .in .r{color:var(--gold)}
.foot a.back{color:var(--gold-bright);border-bottom:1px solid var(--gold-tint)}

/* ---- save-as-PDF button (screen only) ---- */
.pdfbar{position:fixed;bottom:18px;right:18px;z-index:70}
.pdfbar button{font-family:var(--sans);font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;
  color:var(--gold);background:rgba(24,28,30,.92);border:1px solid var(--gold-tint);border-radius:10px;padding:.7rem 1.1rem;cursor:pointer;box-shadow:0 10px 30px -10px #000}
.pdfbar button:hover{background:var(--gold-tint);border-color:var(--gold)}

/* ---- responsive ---- */
@media (max-width:820px){
  .metrics{grid-template-columns:1fr 1fr}
  .cards,.cards.three{grid-template-columns:1fr}
  .acco .field{grid-template-columns:1fr;gap:.2rem}
  .acco .field .k{padding-top:.4rem}
  .stages{flex-wrap:wrap}
  .stages .st{flex:1 1 44%}
  .cover{min-height:80vh}
}
@media (max-width:480px){
  .metrics{grid-template-columns:1fr}
  .mast .navlbl{display:none}
  .acc .item{padding:1.2rem 1.15rem}
  .acc .head{flex-wrap:wrap;gap:.5rem}
  .acc .head .cat{margin-left:0}
}

/* ---- print → clean PDF ---- */
@media print{
  @page{size:8.5in 11in;margin:.5in}
  html,body{background:#fff !important;color:#12161a}
  .grain,.pdfbar,header.mast{display:none !important}
  .brief,.blk,.cover{background:none !important}
  .blk{padding-block:.4in;break-inside:avoid}
  .cover{min-height:auto;color:#fff}
  .acc .item,.card,.metric{break-inside:avoid}
}
