:root{--ink:#11130f;--paper:#e8e0d1;--paper2:#f2ebde;--brass:#c59b5b;--acid:#d8ff58;--line:#2b2d27;--muted:#716b5f;--dark:#0b0e0b}
*{box-sizing:border-box}html{scroll-behavior:smooth}.md19-page{margin:0;background:var(--paper);color:var(--ink);font-family:Georgia,'Times New Roman',serif}.md19-page:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.16;background-image:radial-gradient(rgba(17,19,15,.18) .6px,transparent .6px);background-size:5px 5px;z-index:50}.md19-header{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:16px 3vw;background:rgba(11,14,11,.95);color:#f0e8d9;border-bottom:1px solid #4b463c;backdrop-filter:blur(12px)}.md19-brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.md19-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--brass);border-radius:50%;font:700 10px Arial;letter-spacing:.05em;color:var(--brass)}.md19-brand strong{display:block;font-size:20px;letter-spacing:.14em;font-weight:400}.md19-brand small{display:block;margin-top:3px;font:700 8px Arial;letter-spacing:.18em;color:#aaa294}.md19-header nav{display:flex;gap:18px;flex-wrap:wrap}.md19-header nav a{color:#d7d0c4;text-decoration:none;font:700 9px Arial;letter-spacing:.13em;text-transform:uppercase}.md19-header nav a:hover{color:var(--acid)}
.md19-hero{min-height:86vh;background:linear-gradient(90deg,rgba(7,9,7,.94),rgba(7,9,7,.76)),url('assets2/dave19/kinsman.jpg') center 55%/cover no-repeat;color:#eee6d8;display:grid;grid-template-columns:1.4fr .6fr;gap:7vw;align-items:center;padding:8vw 6vw}.md19-kicker{font:700 9px/1.3 Arial;letter-spacing:.18em;text-transform:uppercase;color:var(--brass)}.md19-hero h1{font-size:clamp(78px,12vw,190px);line-height:.73;letter-spacing:-.07em;font-weight:400;margin:25px 0}.md19-hero h1 em{font-weight:400;color:var(--acid)}.md19-deck{font-size:clamp(22px,2.2vw,34px);line-height:1.25;max-width:870px;color:#d7d0c4}.md19-rule{height:1px;background:#5b584f;margin:34px 0}.md19-instruction{font-size:17px;line-height:1.55;max-width:840px;color:#c4beb3}.md19-instruction strong{color:#fff}.md19-primary{display:inline-block;margin-top:28px;padding:14px 18px;border:1px solid var(--acid);color:var(--acid);text-decoration:none;font:700 9px Arial;letter-spacing:.15em}.md19-primary:hover{background:var(--acid);color:var(--dark)}.md19-hero-panel{border:1px solid #6b665b;padding:34px;min-height:460px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;box-shadow:18px 18px 0 rgba(0,0,0,.22);transform:rotate(1deg)}.md19-hero-panel>span,.md19-hero-panel>strong,.md19-hero-panel>small{font:700 9px Arial;letter-spacing:.18em}.md19-hero-panel b{font-size:140px;line-height:.8;font-weight:400;color:var(--acid)}.md19-hero-panel p{font-size:24px;line-height:1.45;margin:26px 0}.md19-hero-panel small{line-height:1.8;color:#9e978b}
.md19-manifesto{display:grid;grid-template-columns:160px 1fr;gap:0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.md19-manifesto span,.md19-manifesto p{margin:0;padding:18px 4vw;border-bottom:1px solid rgba(17,19,15,.2)}.md19-manifesto span{font:700 8px Arial;letter-spacing:.16em;background:#d9d0c0}.md19-manifesto p{font-size:18px}.md19-section{padding:100px 4vw 110px}.md19-dark{background:var(--dark);color:#eee6d8}.md19-section-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:36px;border-bottom:1px solid currentColor;padding-bottom:18px}.md19-section-head p{font:700 9px Arial;letter-spacing:.16em;color:var(--brass);margin:0 0 10px}.md19-section-head h2{font-size:clamp(44px,6vw,88px);line-height:.92;letter-spacing:-.05em;font-weight:400;margin:0}.md19-section-head>span{font:700 9px Arial;letter-spacing:.14em;text-transform:uppercase;max-width:220px;text-align:right}.md19-grid{display:grid;gap:1px;background:#282a25;border:1px solid #282a25}.products-5{grid-template-columns:repeat(5,1fr)}.products-4{grid-template-columns:repeat(4,1fr)}.products-2{grid-template-columns:repeat(2,1fr)}.md19-card{background:var(--paper2);color:var(--ink);display:flex;flex-direction:column;min-width:0}.md19-card img{width:100%;aspect-ratio:1/1.08;object-fit:cover;display:block;background:#141713;filter:saturate(.9) contrast(1.03)}.md19-card-body{padding:21px;display:flex;flex:1;flex-direction:column}.md19-code{font:700 8px Arial;letter-spacing:.14em;color:#736b5f;text-transform:uppercase}.md19-card h3{font-size:clamp(30px,2.5vw,52px);line-height:.9;letter-spacing:-.04em;font-weight:400;margin:13px 0}.md19-tag{font-size:15px!important;font-style:italic;color:#2e2d28!important;min-height:40px}.md19-card p{font-size:14px;line-height:1.5;color:#5b574e}.md19-card details{margin-top:auto;border-top:1px solid rgba(17,19,15,.3);padding-top:12px}.md19-card summary{cursor:pointer;font:700 9px Arial;letter-spacing:.12em;text-transform:uppercase}.md19-card details p{font:12px/1.55 Arial,sans-serif;color:#565249}.gift-pick{margin-top:18px;padding:13px 12px;border:1px solid var(--ink);background:transparent;color:var(--ink);font:700 9px Arial;letter-spacing:.12em;cursor:pointer}.gift-pick:hover,.gift-pick.selected{background:var(--ink);color:var(--acid)}.gift-pick.selected:after{content:" ✓"}.dark-card{background:#141814;color:#eee6d8}.dark-card .md19-code{color:var(--brass)}.dark-card h3{color:#fff}.dark-card .md19-tag{color:#f0e8d9!important}.dark-card p,.dark-card details p{color:#bdb7ad}.dark-card details{border-color:#4b514a}.dark-card .gift-pick{border-color:#d8d0c4;color:#f0e8d9}.dark-card .gift-pick:hover,.dark-card .gift-pick.selected{background:var(--acid);color:#0b0e0b;border-color:var(--acid)}
.md19-blankcheck{background:#d7cebe}.blankcheck-card{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--ink);box-shadow:18px 18px 0 rgba(17,19,15,.08)}.blankcheck-art{min-height:480px;background:#0b0e0b;color:#eee6d8;display:grid;place-items:center;align-content:center;padding:40px;text-align:center;background-image:linear-gradient(rgba(216,255,88,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(216,255,88,.07) 1px,transparent 1px);background-size:28px 28px}.blankcheck-art span,.blankcheck-art em{font:700 10px Arial;letter-spacing:.2em}.blankcheck-art b{font-size:180px;line-height:.8;font-weight:400;color:var(--acid)}
.md19-box{background:#b9ff43;color:#0b0e0b;padding:100px 6vw;display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw}.md19-box h2{font-size:clamp(62px,9vw,130px);line-height:.8;letter-spacing:-.06em;font-weight:400;margin:20px 0}.md19-box>div>p:not(.md19-kicker){font-size:20px;line-height:1.45;max-width:620px}.gift-terminal{border:2px solid #0b0e0b;padding:28px;background:#e8e0d1;box-shadow:16px 16px 0 #0b0e0b}.gift-count{display:flex;justify-content:space-between;border-bottom:1px solid #0b0e0b;padding-bottom:15px}.gift-count span{font:700 9px Arial;letter-spacing:.15em}.gift-count b{font-size:52px;line-height:.7}.gift-terminal ol{margin:25px 0;padding-left:24px;min-height:130px}.gift-terminal li{padding:6px 0;font-size:17px}.empty-state{font-style:italic;color:#666154}.terminal-actions{display:flex;gap:8px;flex-wrap:wrap;border-top:1px solid #0b0e0b;padding-top:18px}.terminal-actions button{background:#0b0e0b;color:#fff;border:0;padding:12px 13px;font:700 9px Arial;letter-spacing:.11em;cursor:pointer}.terminal-actions button:hover{color:var(--acid)}#copy-status{font:700 9px Arial;letter-spacing:.1em;min-height:14px}
.md19-thanks{padding:130px 7vw 150px;display:grid;grid-template-columns:.35fr 1fr;gap:9vw;background:#e7dece;border-top:1px solid var(--ink)}.thanks-index{border:1px solid var(--ink);padding:22px;min-height:250px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:10px 10px 0 rgba(17,19,15,.08);transform:rotate(-1deg);position:sticky;top:110px;align-self:start}.thanks-index span,.thanks-index small{font:700 9px Arial;letter-spacing:.15em}.thanks-index b{font-size:52px;line-height:.85;font-weight:400}.thanks-copy{max-width:900px}.thanks-copy h2{font-size:clamp(90px,12vw,170px);line-height:.72;letter-spacing:-.07em;font-weight:400;margin:25px 0 55px}.thanks-copy p{font-size:clamp(19px,2vw,29px);line-height:1.48;color:#343129}.thanks-copy .lead{font-size:clamp(34px,4vw,60px);line-height:1.05;letter-spacing:-.04em;color:#11130f}.signoff{margin-top:50px;padding-top:25px;border-top:1px solid var(--ink);font-size:18px!important}.signoff strong{font-size:28px;font-weight:400;font-style:italic}.md19-footer{background:#0b0e0b;color:#aea69a;padding:20px 4vw;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font:700 8px Arial;letter-spacing:.14em}
@media(max-width:1200px){.products-5{grid-template-columns:repeat(3,1fr)}.products-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:850px){.md19-header{position:relative;align-items:flex-start;flex-direction:column}.md19-hero,.md19-box,.md19-thanks,.blankcheck-card{grid-template-columns:1fr}.md19-hero-panel{min-height:300px}.products-5,.products-4,.products-2{grid-template-columns:1fr 1fr}.thanks-index{position:relative;top:auto;max-width:380px}.md19-manifesto{grid-template-columns:110px 1fr}.md19-section-head{align-items:start;flex-direction:column}.md19-section-head>span{text-align:left}}@media(max-width:560px){.products-5,.products-4,.products-2{grid-template-columns:1fr}.md19-hero{padding:70px 6vw}.md19-hero h1{font-size:78px}.md19-section{padding:70px 4vw}.md19-card img{aspect-ratio:4/3}.md19-manifesto{grid-template-columns:1fr}.md19-manifesto span{padding-bottom:6px;border-bottom:0}.md19-manifesto p{padding-top:6px}.md19-box{padding:70px 5vw}.gift-terminal{box-shadow:8px 8px 0 #0b0e0b}}
@media print{.md19-header,.gift-pick,.md19-primary,.terminal-actions{display:none!important}.md19-card{break-inside:avoid}.md19-box{background:#fff}.md19-thanks{break-before:page}}


/* =========================================================
   MAESTER UNCLE DAVE // RESTRICTED FACULTY ACCESS
   Ceremonial lock only — intentionally client-side.
   ========================================================= */
body.access-locked { overflow: hidden; }
body.access-locked > :not(.qa-access-gate) { visibility: hidden; }
.qa-access-gate[hidden] { display: none !important; }
.qa-access-gate {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: grid;
  place-items: center;
  min-height: 100dvh;
  padding: 28px;
  overflow: auto;
  color: #eee5d1;
  background:
    linear-gradient(rgba(7,9,9,.84), rgba(7,9,9,.96)),
    repeating-linear-gradient(0deg, transparent 0 27px, rgba(207,166,94,.045) 27px 28px),
    repeating-linear-gradient(90deg, transparent 0 27px, rgba(207,166,94,.035) 27px 28px),
    #090b0b;
  font-family: Georgia, 'Times New Roman', serif;
}
.qa-gate-shell {
  position: relative;
  width: min(760px, 100%);
  padding: clamp(28px, 5vw, 58px);
  border: 1px solid rgba(202,157,81,.72);
  box-shadow: 0 0 0 6px #090b0b, 0 0 0 7px rgba(202,157,81,.2), 0 34px 100px rgba(0,0,0,.65);
  background: linear-gradient(145deg, rgba(22,25,24,.97), rgba(10,12,12,.99));
}
.qa-gate-shell::before,
.qa-gate-shell::after {
  content: '';
  position: absolute;
  width: 52px;
  height: 52px;
  border-color: #c99b51;
  opacity: .65;
}
.qa-gate-shell::before { top: 10px; left: 10px; border-top: 1px solid; border-left: 1px solid; }
.qa-gate-shell::after { right: 10px; bottom: 10px; border-right: 1px solid; border-bottom: 1px solid; }
.qa-gate-topline {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(202,157,81,.28);
  color: #cda45f;
  font: 600 11px/1.4 Arial, sans-serif;
  letter-spacing: .22em;
}
.qa-gate-seal {
  width: 86px;
  height: 86px;
  margin: 30px auto 22px;
  display: grid;
  place-items: center;
  border: 1px solid #c99b51;
  border-radius: 50%;
  color: #d8b676;
  font-size: 24px;
  letter-spacing: .08em;
  box-shadow: inset 0 0 0 6px #101311, inset 0 0 0 7px rgba(201,155,81,.4);
}
.qa-gate-kicker {
  margin: 0 0 8px;
  text-align: center;
  color: #bd9656;
  font: 700 11px/1.4 Arial, sans-serif;
  letter-spacing: .27em;
}
.qa-access-gate h1 {
  margin: 0;
  text-align: center;
  color: #f2e8d5;
  font-size: clamp(38px, 7vw, 74px);
  font-weight: 400;
  line-height: .98;
  letter-spacing: .07em;
}
.qa-gate-deck {
  max-width: 580px;
  margin: 20px auto 30px;
  text-align: center;
  color: #bfb6a5;
  font-size: 16px;
  line-height: 1.65;
}
.qa-gate-question {
  padding: 20px 0 16px;
  border-top: 1px solid rgba(202,157,81,.25);
}
.qa-gate-question span {
  display: block;
  margin-bottom: 8px;
  color: #c99b51;
  font: 700 10px Arial, sans-serif;
  letter-spacing: .25em;
}
.qa-gate-question strong { font-size: clamp(20px, 3vw, 27px); font-weight: 400; }
.qa-gate-form { display: grid; gap: 9px; }
.qa-gate-form label {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 48px;
  padding: 11px 14px;
  border: 1px solid rgba(211,190,153,.2);
  background: rgba(255,255,255,.025);
  cursor: pointer;
  transition: border-color .18s ease, background .18s ease, transform .18s ease;
}
.qa-gate-form label:hover { border-color: rgba(201,155,81,.7); background: rgba(201,155,81,.06); }
.qa-gate-form label:has(input:checked) { border-color: #c99b51; background: rgba(201,155,81,.1); }
.qa-gate-form input { accent-color: #c99b51; width: 17px; height: 17px; }
.qa-gate-form button {
  margin-top: 8px;
  min-height: 52px;
  border: 1px solid #d4ad68;
  color: #0b0d0c;
  background: #cda45f;
  font: 800 11px Arial, sans-serif;
  letter-spacing: .2em;
  cursor: pointer;
}
.qa-gate-form button:hover { background: #e0bc7c; }
.qa-gate-response {
  min-height: 58px;
  display: grid;
  align-content: center;
  gap: 3px;
  margin-top: 13px;
  text-align: center;
  color: #c9b995;
}
.qa-gate-response strong { color: #d8b676; letter-spacing: .15em; font: 800 11px Arial, sans-serif; }
.qa-gate-response span { font-style: italic; }
.qa-gate-response em { color: #f4e9d4; font-size: 20px; font-style: normal; letter-spacing: .08em; }
.qa-gate-home {
  display: block;
  margin-top: 12px;
  color: #807969;
  text-align: center;
  font: 10px Arial, sans-serif;
  letter-spacing: .12em;
  text-decoration: none;
}
.qa-wrong { animation: qaGateShake .36s ease; }
@keyframes qaGateShake { 0%,100%{transform:translateX(0)} 25%{transform:translateX(-7px)} 75%{transform:translateX(7px)} }
.qa-gate-approved .qa-gate-form,
.qa-gate-approved .qa-gate-question { opacity: .12; pointer-events: none; transition: opacity .3s ease; }
.qa-gate-approved { animation: qaGateExit 1.3s ease forwards; }
@keyframes qaGateExit { 0%,65%{opacity:1} 100%{opacity:0; visibility:hidden} }

@media (max-width: 600px) {
  .qa-access-gate { padding: 14px; align-items: start; }
  .qa-gate-shell { margin-top: 10px; padding: 24px 18px 28px; }
  .qa-gate-topline { display: grid; text-align: center; }
  .qa-gate-seal { width: 68px; height: 68px; margin: 20px auto 18px; }
  .qa-gate-form label { font-size: 14px; }
}
