/* ============================================================
   Print document system — Trent T. Daniel
   US Letter 8.5 × 11in. Near-black ground, bone type, brass accent.
   Typographic scale is fixed in points so print output is predictable.
   ============================================================ */
:root{
  --bg:#0a0a0c; --bg2:#101013; --bg3:#17171b;
  --ink:#e8e4dc; --ink2:#b5b0a6; --mute:#867f75;
  --line:#2a2a31; --line2:#1e1e24;
  --bone:#f0ebe0; --brass:#b99a5b; --brass-d:#8d7442;

  /* type scale */
  --t-micro:6.4pt;
  --t-lbl:7.2pt;
  --t-sm:8.6pt;
  --t-base:9.5pt;
  --t-lead:13.5pt;
  --t-h3:13pt;
  --t-h2:22pt;
  --t-h1:34pt;
  --t-hero:50pt;

  /* rhythm */
  --pad-x:0.72in;
  --pad-y:0.6in;
  --gap:0.2in;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:#141418}
body{
  font-family:'DM Sans','Helvetica Neue',Arial,sans-serif;
  font-weight:300;
  -webkit-print-color-adjust:exact;print-color-adjust:exact;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,h5,p,ul,ol,figure,dl{margin:0}
ul,ol{padding:0;list-style:none}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}

/* ---------- page shell ---------- */
.page{
  width:8.5in;height:11in;background:var(--bg);color:var(--ink);
  position:relative;overflow:hidden;
  margin:0 auto 20px;
  display:flex;flex-direction:column;
}
.page.land{width:11in;height:8.5in}
.pad{padding:var(--pad-y) var(--pad-x)}
.pad-x{padding-left:var(--pad-x);padding-right:var(--pad-x)}
.grow{flex:1 1 auto;min-height:0}
.stack{display:flex;flex-direction:column}
.g-sm{gap:0.13in}.g{gap:var(--gap)}.g-lg{gap:0.3in}

/* ---------- type ---------- */
.display{
  font-family:'Oswald','Arial Narrow',Impact,sans-serif;
  font-weight:500;text-transform:uppercase;
  letter-spacing:0;color:var(--bone);line-height:.9;
}
.serif{font-family:'Cormorant Garamond','Times New Roman',Georgia,serif;font-weight:300}
.h1{font-size:var(--t-h1)}
.h2{font-size:var(--t-h2)}
.h3{font-size:var(--t-h3)}
.hero{font-size:var(--t-hero)}

.lbl{
  font-size:var(--t-lbl);letter-spacing:.2em;text-transform:uppercase;
  color:var(--mute);line-height:1.5;font-weight:400;
}
.lbl.br{color:var(--brass)}
.lbl.on{color:var(--bone)}
.lbl.micro{font-size:var(--t-micro);letter-spacing:.18em}

.body{font-size:var(--t-base);line-height:1.6;color:var(--ink2)}
.body.sm{font-size:var(--t-sm);line-height:1.55}
.body strong{color:var(--bone);font-weight:500}
.body p+p{margin-top:0.11in}

.lead{
  font-family:'Cormorant Garamond',Georgia,serif;font-weight:300;
  font-size:var(--t-lead);line-height:1.28;color:var(--bone);
}
.br{color:var(--brass)}

/* section label with rule */
.eyebrow{display:flex;align-items:center;gap:11px}
.eyebrow .bar{width:34px;height:1px;background:var(--brass);flex:0 0 34px}
.eyebrow.full .bar{flex:1 1 auto;width:auto;background:var(--line)}
.rule{height:1px;background:var(--line);width:100%;flex:0 0 1px}
.rule.brass{background:var(--brass)}
.rule.soft{background:var(--line2)}

/* ---------- header / footer ---------- */
.brand b{
  font-family:'Oswald',sans-serif;font-weight:500;font-size:11.5pt;
  letter-spacing:.16em;color:var(--bone);text-transform:uppercase;display:block;line-height:1.1;
}
.brand span{
  font-size:var(--t-micro);letter-spacing:.26em;text-transform:uppercase;
  color:var(--mute);display:block;margin-top:2px;
}
.hdr{display:flex;align-items:flex-start;justify-content:space-between;gap:0.3in}
.hdr .right{text-align:right}
.ftr{
  display:flex;align-items:baseline;justify-content:space-between;gap:0.2in;
  border-top:1px solid var(--line2);padding-top:0.1in;flex:0 0 auto;
}
.ftr .lbl{font-size:var(--t-micro)}

/* ---------- covers ---------- */
.cover{position:relative;height:100%;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}
.cover .bgimg,.cover .bgimg img{position:absolute;inset:0;width:100%;height:100%}
.cover .bgimg img{object-fit:cover}
.cover .scrim{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(10,10,12,.62) 0%,rgba(10,10,12,.34) 34%,rgba(10,10,12,.92) 76%,var(--bg) 100%);
}
.cover .scrim.side{
  background:linear-gradient(100deg,rgba(10,10,12,.95) 0%,rgba(10,10,12,.78) 38%,rgba(10,10,12,.34) 68%,rgba(10,10,12,.6) 100%);
}
.cover .inner{position:relative;z-index:2}
.cover .topbar{position:absolute;top:var(--pad-y);left:var(--pad-x);right:var(--pad-x);z-index:3;
  display:flex;justify-content:space-between;align-items:flex-start;gap:0.3in}

/* banner (inline image band with title) */
.banner{position:relative;overflow:hidden;flex:0 0 auto}
.banner img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.banner .scrim{position:absolute;inset:0;
  background:linear-gradient(95deg,rgba(10,10,12,.97) 0%,rgba(10,10,12,.86) 34%,rgba(10,10,12,.4) 72%,rgba(10,10,12,.55) 100%)}
.banner .copy{position:relative;z-index:2;padding:0 var(--pad-x);display:flex;flex-direction:column;justify-content:flex-end;height:100%;padding-bottom:0.26in}

/* ---------- grids ---------- */
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:0.28in}
.cols2.tight{gap:0.18in}
.cols3{display:grid;grid-template-columns:repeat(3,1fr);gap:0.2in}
.side{display:grid;grid-template-columns:2.1in 1fr;gap:0.3in;align-items:start}
.side.wide{grid-template-columns:2.6in 1fr}

/* ---------- dash list ---------- */
.take{display:flex;flex-direction:column;gap:0.075in}
.take.two{display:grid;grid-template-columns:1fr 1fr;gap:0.075in 0.24in}
.take li{
  font-size:var(--t-sm);line-height:1.45;color:var(--ink2);
  padding-left:0.155in;position:relative;
}
.take li::before{
  content:"";position:absolute;left:0;top:0.062in;
  width:0.085in;height:1px;background:var(--brass);
}
.take li strong{color:var(--bone);font-weight:500}

/* numbered list */
.num{display:flex;flex-direction:column;gap:0.1in}
.num li{display:grid;grid-template-columns:0.26in 1fr;gap:0.08in;font-size:var(--t-sm);line-height:1.45;color:var(--ink2)}
.num li b{font-family:'Oswald',sans-serif;font-weight:500;color:var(--brass);font-size:var(--t-sm)}

/* ---------- pills ---------- */
.pills{display:flex;gap:0.055in;flex-wrap:wrap}
.pill{
  font-size:var(--t-micro);letter-spacing:.13em;text-transform:uppercase;
  color:var(--ink2);border:1px solid var(--line);padding:0.04in 0.08in;white-space:nowrap;
}
.pill.br{border-color:var(--brass-d);color:var(--brass)}

/* ---------- boxes ---------- */
.box{background:var(--bg2);border:1px solid var(--line2);padding:0.19in 0.21in}
.box.brass{border-color:var(--brass-d)}
.box.flat{background:transparent}
.box .box-t{display:block;margin-bottom:0.09in}

/* key/value table */
.kv{
  display:grid;grid-template-columns:auto 1fr;gap:0.16in;align-items:baseline;
  padding:0.055in 0;border-bottom:1px solid var(--line2);
}
.kv:last-child{border-bottom:0;padding-bottom:0}
.kv:first-child{padding-top:0}
.kv dt{font-size:var(--t-micro);letter-spacing:.16em;text-transform:uppercase;color:var(--mute);white-space:nowrap}
.kv dd{font-size:var(--t-sm);color:var(--ink);text-align:right;margin:0}
.kv dd.br{color:var(--brass)}

/* fee table */
.fees{display:flex;flex-direction:column}
.fee-row{
  display:grid;grid-template-columns:1fr auto;gap:0.2in;align-items:baseline;
  padding:0.075in 0;border-bottom:1px solid var(--line2);
}
.fee-row:last-child{border-bottom:0}
.fee-row .n{font-size:var(--t-sm);color:var(--ink)}
.fee-row .v{font-family:'Cormorant Garamond',Georgia,serif;font-size:11.5pt;color:var(--brass);white-space:nowrap}
.fee-row .note{grid-column:1/-1;font-size:var(--t-micro);color:var(--mute);line-height:1.4;margin-top:0.02in;letter-spacing:.02em;text-transform:none}

/* ---------- stat row ---------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line2);border:1px solid var(--line2);flex:0 0 auto}
.stats > div{background:var(--bg);padding:0.15in 0.13in}
.stats b{
  font-family:'Cormorant Garamond',Georgia,serif;font-weight:300;
  font-size:21pt;line-height:1;color:var(--bone);display:block;
}
.stats b i{font-style:normal;color:var(--brass)}
.stats .lbl{margin-top:0.05in;display:block;font-size:var(--t-micro);letter-spacing:.15em;line-height:1.35}

/* ---------- quote ---------- */
.q{font-family:'Cormorant Garamond',Georgia,serif;font-weight:300;font-size:12pt;line-height:1.32;color:var(--bone)}
.q::before{content:"\201C";color:var(--brass)}
.q::after{content:"\201D";color:var(--brass)}
.attrib{margin-top:0.09in}
.attrib b{display:block;font-size:var(--t-sm);color:var(--bone);font-weight:500;letter-spacing:.02em}

/* ---------- photo frames ---------- */
.frame{overflow:hidden;background:var(--bg2);border:1px solid var(--line2);position:relative}
.frame img{width:100%;height:100%;object-fit:cover}
.r43{aspect-ratio:4/3}.r34{aspect-ratio:3/4}.r11{aspect-ratio:1/1}.r169{aspect-ratio:16/9}
.cap{margin-top:0.06in;display:block;font-size:var(--t-micro);letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}

/* page number */
.pgno{position:absolute;bottom:0.34in;right:var(--pad-x);font-size:var(--t-micro);letter-spacing:.2em;color:var(--mute);z-index:5}

/* ---------- screen helper ---------- */
.hint{
  max-width:8.5in;margin:26px auto 12px;color:#7d776d;
  font-size:10px;letter-spacing:.18em;text-transform:uppercase;font-weight:400;
}
@media print{
  html,body{background:#fff}
  .page{margin:0;box-shadow:none;page-break-after:always;break-after:page}
  .page:last-child{page-break-after:auto;break-after:auto}
  .hint{display:none}
}
@page{size:8.5in 11in;margin:0}

/* ============================================================
   LIGHT THEME — print-friendly. Add class="light" to <body>.
   Same layout, ink-saving palette, darker type for paper.
   ============================================================ */
body.light{background:#e9e7e2}
body.light .page{
  background:#ffffff;color:#1a1a1d;
  box-shadow:0 1px 0 rgba(0,0,0,.06);
}
body.light{
  --bg:#ffffff; --bg2:#f6f4f0; --bg3:#efece6;
  --ink:#1a1a1d; --ink2:#43413d; --mute:#7a746a;
  --line:#c9c4b9; --line2:#e0dcd3;
  --bone:#111114; --brass:#8d7442; --brass-d:#c0aa7c;
}
body.light .display,body.light .stats b,body.light .lead,body.light .q,
body.light .attrib b,body.light .brand b{color:#111114}
body.light .lbl{color:#726c62}
body.light .lbl.br,body.light .br,body.light .fee-row .v,body.light .num li b,
body.light .kv dd.br{color:#8d7442}
body.light .lbl.on{color:#111114}
body.light .body{color:#3d3b37}
body.light .body strong,body.light .take li strong,body.light .kv dd{color:#111114}
body.light .rule{background:#c9c4b9}
body.light .rule.brass,body.light .eyebrow .bar{background:#8d7442}
body.light .eyebrow.full .bar{background:#dcd8cf}
body.light .box{background:#f7f5f1;border-color:#dcd8cf}
body.light .box.brass{border-color:#c0aa7c}
body.light .box.flat{background:transparent}
body.light .kv,body.light .fee-row,body.light .ftr{border-color:#e2dfd7}
body.light .stats{background:#dcd8cf;border-color:#dcd8cf}
body.light .stats > div{background:#fff}
body.light .pill{border-color:#cfcabf;color:#4a473f}
body.light .pill.br{border-color:#c0aa7c;color:#8d7442}
body.light .take li::before{background:#8d7442}
body.light .frame{background:#efece6;border-color:#dcd8cf}
body.light .cap{color:#7a746a}
body.light .pgno{color:#9a948a}
body.light .hint{color:#6b655c}
/* light covers: image sits in a panel rather than bleeding dark */
body.light .cover .scrim{
  background:linear-gradient(180deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.1) 30%,rgba(255,255,255,.88) 72%,#fff 100%);
}
body.light .cover .scrim.side{
  background:linear-gradient(100deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.86) 36%,rgba(255,255,255,.28) 70%,rgba(255,255,255,.5) 100%);
}
body.light .banner .scrim{
  background:linear-gradient(95deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.9) 34%,rgba(255,255,255,.34) 74%,rgba(255,255,255,.5) 100%);
}
body.light .banner img,body.light .cover .bgimg img{filter:grayscale(.15) contrast(1.02) brightness(1.04)}

/* light: banner/cover titles need a solid panel, not a wash over photo */
body.light .banner .scrim{
  background:linear-gradient(95deg,#fff 0%,#fff 30%,rgba(255,255,255,.92) 46%,rgba(255,255,255,.45) 74%,rgba(255,255,255,.62) 100%);
}
body.light .cover .scrim{
  background:linear-gradient(180deg,rgba(255,255,255,.35) 0%,rgba(255,255,255,.6) 40%,rgba(255,255,255,.96) 74%,#fff 100%);
}
body.light .cover .scrim.side,
body.light .banner .scrim.side{
  background:linear-gradient(100deg,#fff 0%,#fff 32%,rgba(255,255,255,.9) 48%,rgba(255,255,255,.4) 76%,rgba(255,255,255,.6) 100%);
}
body.light .banner .copy,body.light .cover .inner{text-shadow:none}
body.light .topbar .lbl.on{color:#111114}
/* keep the photo readable but lighter so black type sits on it cleanly */
body.light .banner img,body.light .cover .bgimg img{filter:grayscale(.2) brightness(1.12) contrast(.96)}

/* light covers: the photo is mid-tone, so type over it needs a real panel
   rather than a wash. Lift the scrim and darken the subtitle. */
body.light .cover .scrim{
  background:linear-gradient(180deg,rgba(255,255,255,.82) 0%,rgba(255,255,255,.55) 26%,rgba(255,255,255,.7) 52%,rgba(255,255,255,.97) 78%,#fff 100%);
}
body.light .cover .scrim.side,
body.light .banner .scrim.side{
  background:linear-gradient(100deg,#fff 0%,rgba(255,255,255,.97) 30%,rgba(255,255,255,.86) 48%,rgba(255,255,255,.52) 74%,rgba(255,255,255,.7) 100%);
}
body.light .banner .scrim{
  background:linear-gradient(95deg,#fff 0%,rgba(255,255,255,.97) 28%,rgba(255,255,255,.9) 46%,rgba(255,255,255,.5) 74%,rgba(255,255,255,.68) 100%);
}
/* subtitle under the name: --mute is too light once it sits on a photo */
body.light .brand span{color:#4a463f}
body.light .cover .brand span,body.light .banner .brand span{color:#2a2722}
body.light .cover .brand b,body.light .banner .brand b{color:#0d0d10}
body.light .cover .lbl,body.light .banner .lbl{color:#4a463f}
body.light .cover .lbl.br,body.light .banner .lbl.br{color:#7a6234}
/* keep the face present without washing it to paper */
body.light .cover .bgimg img,body.light .banner img{
  filter:grayscale(.25) brightness(1.02) contrast(1.04);
}


/* ---------- logo lockup ----------
   The gold-and-bone logo reads on dark grounds; the black-letter variant
   is for the light print pages. Only one is ever visible. */
.brand-logo{display:block}
.brand-logo .lg{display:none;height:0.44in;width:auto}
.brand-logo .lg-dk{display:block}
body.light .brand-logo .lg-dk{display:none}
body.light .brand-logo .lg-lt{display:block}
/* covers and banners run larger */
.cover .brand-logo .lg,.banner .brand-logo .lg{height:0.58in}
/* over a photograph the dark-letter variant would disappear, so the
   gold-and-bone mark is used in both themes there */
body.light .cover .brand-logo .lg-dk,
body.light .banner .brand-logo .lg-dk{display:block}
body.light .cover .brand-logo .lg-lt,
body.light .banner .brand-logo .lg-lt{display:none}
@media print{
  .brand-logo .lg{print-color-adjust:exact;-webkit-print-color-adjust:exact}
}
