/*
 KPP HOLDINGS SERIES C, LLC
 Records Vault theme
 Accent PIER JADE #4E8770 on SALT PAPER vault
*/

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}

body{
  font-size:16px;
  line-height:1.6;
  font-family:Georgia,"Times New Roman",serif;
  background:#F4F3EC;
  color:#2C3230;
  overflow-x:hidden;
}

main,.vaultbody,header.foothdr,footer{display:block;}

a{color:#2C3230;text-decoration:none;}
a:hover{color:#4E8770;}
img{max-width:100%;display:block;}

/* ---------------- shared shell ---------------- */
.vaultwrap{width:100%;max-width:1200px;margin:0 auto;padding:0 24px;}
/* reveal safe without JS: default visible; only hidden when js adds .hasjs to <html> */
.reveal{opacity:1;transform:none;transition:opacity .5s ease,transform .5s ease;}
.hasjs .reveal:not(.visible){opacity:0;transform:translateY(18px);}
.hasjs .reveal.visible{opacity:1;transform:none;}

.button{
  display:inline-block;padding:12px 24px;border-radius:4px;
  font-weight:bold;font-size:15px;letter-spacing:.02em;line-height:1;
}
.button-solid{background:#4E8770;color:#FCFBF6;}
.button-solid:hover{background:#3d6d5a;color:#FCFBF6;}
.button-outline{
  background:#FCFBF6;color:#2C3230;
  border:2px solid #4E8770;
}
.button-outline:hover{border-color:#3d6d5a;color:#3d6d5a;}
.button-white{background:#FCFBF6;color:#4E8770;}
.button-white:hover{background:#efe9d8;color:#3d6d5a;}

/* ---------------- scroll reveal sits on divs only - stay always visible if classes missing */

/* ### CERT-STUB NAVIGATION ### */
.certstub{
  position:sticky;top:0;z-index:50;
  background:#F4F3EC;
  border-bottom:4px solid #4E8770;
}
.certstub-shell{max-width:1200px;margin:0 auto;display:flex;align-items:stretch;padding:0 24px;position:relative;}
.certstub-brand{
  display:flex;align-items:center;gap:10px;
  padding:14px 0;
}
.certstub-plate{
  display:flex;align-items:center;gap:8px;
  background:#4E8770;color:#FCFBF6;
  font-family:Georgia,serif;font-weight:bold;font-size:26px;
  padding:6px 18px;border-radius:3px;letter-spacing:.04em;
  text-transform:uppercase;
}
.certstub-glyph{
  display:inline-block;width:14px;height:14px;
  border:3px solid #FCFBF6;border-radius:50%;
  position:relative;
}
.certstub-glyph:after{content:"";position:absolute;left:3px;top:3px;width:3px;height:3px;background:#FCFBF6;border-radius:50%;}
.certstub-links{display:flex;align-items:center;gap:6px;margin-left:auto;padding:10px 0;}
.certstub-link{
  display:inline-flex;align-items:center;gap:8px;
  background:#EFE9D8;color:#2C3230;
  padding:10px 16px;border-radius:3px 3px 8px 3px;
  font-size:14px;font-weight:bold;border-bottom:2px dashed #939A96;
  position:relative;
}
.certstub-link:before{
  content:"";width:8px;height:8px;background:#4E8770;border-radius:50%;
}
.certstub-link:hover{background:#4E8770;color:#FCFBF6;border-bottom-color:#2C3230;}
.certstub-cta{
  margin:0 0 0 12px;padding:10px 16px;align-self:center;
  background:#4E8770;color:#FCFBF6;border-radius:3px;
  font-size:14px;font-weight:bold;letter-spacing:.03em;
}
.certstub-cta:hover{background:#3d6d5a;color:#FCFBF6;}
.certstub-toggle{
  display:none;margin-left:auto;align-self:center;
  background:#4E8770;border:none;cursor:pointer;
  color:#FCFBF6;font-size:26px;padding:8px 14px;border-radius:3px;
  font-weight:bold;
}
.certstub-shelf{
  height:8px;background:#939A96;
  display:flex;align-items:center;justify-content:center;gap:24px;
}
.certstub-shelf:after{content:"￮ ￮ ￮ ￮ ￮";color:#F4F3EC;font-size:14px;letter-spacing:.4em;}
.certstub-drawer{display:none;background:#F4F3EC;flex-direction:column;border-top:1px solid #939A96;}
.certstub-drawer a{
  padding:14px 24px;color:#2C3230;font-weight:bold;border-bottom:1px solid #EFE9D8;
  display:flex;align-items:center;gap:10px;
}
.certstub-drawer a:before{content:"";width:10px;height:10px;background:#4E8770;border-radius:50%;}
.certstub-drawer a:hover{background:#EFE9D8;}
.certstub-drawer .certstub-cta{margin:12px 24px;text-align:center;background:#4E8770;color:#FCFBF6;}

/* ### VAULT DRAWER HERO ### */
.vaultdr{width:100%;}
.vaultdr-wall{background:#F4F3EC;padding:60px 0 30px;}
.vaultdr-cabinet{
  max-width:1200px;margin:0 auto;padding:0 24px;
  display:grid;grid-template-columns:repeat(3,1fr);gap:34px;
  align-items:end;position:relative;
}
.vaultdr-card-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:34px;position:relative;}
.vaultdr-card{
  background:#FCFBF6;border:1px solid #BFBFB3;border-radius:6px;
  padding:26px;min-height:120px;
  display:flex;flex-direction:column;
}
.vaultdr-pull{
  width:70px;height:22px;background:#EFE9D8;margin:0 auto 18px;
  border-radius:0 0 8px 8px;position:relative;
}
.vaultdr-pull:before{content:"";position:absolute;left:20px;top:4px;width:30px;height:6px;background:#4E8770;border-radius:4px;}
.vaultdr-card-label{
  font-size:12px;letter-spacing:.2em;color:#939A96;font-weight:bold;
  text-transform:uppercase;text-align:center;margin-top:auto;
}
.vaultdr-open{
  background:#EFE9D8;transform:translateY(8px);
  border:1px solid #4E8770;
  box-shadow:0 -6px 0 #4E8770;
}
.vaultdr-stubs{
  display:flex;flex-direction:column;gap:6px;margin-top:8px;width:100%;
}
.vaultdr-stub{
  background:#FCFBF6;color:#2C3230;font-size:12px;
  padding:8px 10px;border-radius:2px;border-left:4px solid #4E8770;
}
.vaultdr-alt{grid-column:span 3;}
.vaultdr-plaque{
  max-width:1200px;margin:0 auto;padding:0 24px;
  display:flex;align-items:flex-end;gap:26px;margin-top:40px;
}
.vaultdr-cert{
  background:#EFE9D8;border:1px solid #939A96;flex:1 1 44%;
  padding:26px 20px;border-radius:4px;position:relative;transform:rotate(-1deg);
}
.vaultdr-cert:after{
  content:"";position:absolute;right:18px;bottom:14px;
  width:40px;height:40px;border-radius:50%;
  background:radial-gradient(circle at 30% 30%,#5d9a84,#3d6d5a 60%,#2c5245);
  border:3px solid #2C3230;
}
.vaultdr-cert-title{
  font-size:13px;letter-spacing:.25em;color:#4E8770;font-weight:bold;text-transform:uppercase;
}
.vaultdr-cert-num{font-size:24px;color:#2C3230;font-weight:bold;margin:8px 0;}
.vaultdr-cert-sub{font-size:13px;color:#555a54;font-style:italic;}
.vaultdr-printer{
  flex:0 0 30%;background:#252B28;
  padding:18px 16px;border-radius:6px;transform:rotate(1deg);
  height:150px;position:relative;
}
.vaultdr-printer-lamp{width:10px;height:10px;background:#4E8770;border-radius:50%;margin-bottom:10px;}
.vaultdr-tape{
  width:100%;background:#FCFBF6;color:#2C3230;
  padding:12px;font-family:Georgia,serif;font-size:13px;line-height:1.8;
  border-radius:2px;
  box-shadow:0 12px 0 -6px #4E8770;
  min-height:80px;
}
.vaultdr-shelf{
  background:#252B28;flex:0 0 20%;border-radius:4px;
  padding:14px 12px;height:150px;display:flex;flex-direction:column-reverse;gap:5px;
}
.vaultdr-book{height:22px;border-radius:2px;}
.vaultdr-shelf .b1{background:#4E8770;height:42px;}
.vaultdr-shelf .b2{background:#939A96;height:52px;width:80%;}
.vaultdr-shelf .b3{background:#EFE9D8;height:30px;width:70%;margin-left:8px;}
.vaultdr-shelf .b4{background:#EFE9D8;height:38px;width:90%;}
.vaultdr-counter{
  background:#FCFBF6;padding:56px 0;box-shadow:0 -14px 0 #EFE9D8;
}
.vaultdr-counter-inner{max-width:1200px;margin:0 auto;padding:0 24px;position:relative;}
.vaultdr-eyebrow{
  font-family:Georgia,serif;font-weight:bold;letter-spacing:.42em;
  color:#4E8770;font-size:14px;text-transform:uppercase;
  display:flex;align-items:center;gap:12px;margin-bottom:14px;
}
.vaultdr-eyebrow:after{content:"◆";color:#939A96;}
.vaultdr-title-row{display:flex;align-items:center;gap:18px;}
.vaultdr-h1{
  font-size:48px;color:#2C3230;line-height:1.05;
  font-family:Georgia,serif;
}
.vaultdr-h1 em{font-style:normal;color:#4E8770;}
.vaultdr-h1-stamp{flex:0 0 auto;}
.vaultdr-seal{
  width:72px;height:72px;border-radius:50%;
  border:4px solid #4E8770;color:#4E8770;
  display:flex;align-items:center;justify-content:center;
  font-size:11px;font-weight:bold;letter-spacing:.18em;margin-left:80px;
  text-align:center;line-height:1.2;
  background:radial-gradient(circle at 30% 30%,#5d9a84,#3d6d5a 55%);
  color:#FCFBF6;
}
.vaultdr-lead{
  max-width:720px;margin:24px 0 0;color:#4a4f49;
  font-size:19px;line-height:1.7;
}
.vaultdr-ctas{display:flex;gap:16px;flex-wrap:wrap;margin-top:30px;}
.vaultdr-day{
  position:absolute;right:24px;top:10px;
  background:#EFE9D8;border:1px solid #939A96;padding:10px 16px;
  font-size:13px;color:#2C3230;border-radius:3px;
  font-family:Georgia,serif;
}
.vaultdr-day b{color:#4E8770;display:block;letter-spacing:.14em;}
.vaultdr-stats{
  background:#252B28;color:#FCFBF6;padding:26px 0;
}
.vaultdr-stats-inner{max-width:1200px;margin:0 auto;padding:0 24px;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:18px;
}
.vaultdr-stat{flex:1 1 200px;padding:6px 18px;position:relative;min-width:180px;}
.vaultdr-stat + .vaultdr-stat{border-left:2px solid #4E8770;}
.vaultdr-stat b{display:block;font-size:34px;color:#FCFBF6;font-family:Georgia,serif;}
.vaultdr-stat span{
  color:#EFE9D8;font-size:13px;letter-spacing:.12em;
  text-transform:uppercase;font-weight:bold;
}

/* ### HOLD ROWS (two movement) ### */
.pagebody{background:#F4F3EC;overflow-x:hidden;}

.holdrow{max-width:100%;padding:40px 0 10px;position:relative;}
.holdrow-band{
  max-width:1200px;margin:0 auto;padding:0 24px 20px;
}
.holdrow-head{display:flex;align-items:baseline;gap:24px;margin-bottom:34px;position:relative;z-index:1;}
.holdrow-kicker{
  background:#252B28;color:#F4F3EC;
  padding:6px 18px;border-radius:3px;font-size:13px;
  letter-spacing:.3em;text-transform:uppercase;font-weight:bold;
  transform:rotate(-.5deg);
}
.holdrow-title{font-size:34px;color:#2C3230;font-family:Georgia,serif;}
.holdrow-title em{color:#4E8770;font-style:normal;}
.holdrow-sub{color:#4a4f49;font-size:17px;max-width:760px;margin-left:auto;text-align:right;font-style:italic;}

.holdrow-list{display:flex;flex-direction:column;max-width:1100px;margin:0 auto;}
.holding{position:relative;z-index:1;}
.holding-offset{padding-right:40px;}
.holding-in{
  background:#EFE9D8;border:1px solid #bfbfad;
  padding:34px 36px;border-radius:4px;
}
.holding-tag{display:flex;gap:14px;align-items:center;flex-wrap:wrap;}
.holding-stamp{
  width:92px;height:92px;flex:0 0 92px;border-radius:50%;
  border:3px solid #4E8770;background:#EFE9D8;
  color:#3d6d5a;display:flex;align-items:center;justify-content:center;
  font-weight:bold;font-size:13px;letter-spacing:.06em;
}
.holding-h2{font-size:26px;color:#2C3230;font-family:Georgia,serif;flex:1 1 260px;}
.holding-h2 span{color:#4E8770;display:block;font-size:14px;letter-spacing:.22em;
  margin-bottom:6px;text-transform:uppercase;}
.holding-chip{
  font-size:11px;letter-spacing:.18em;color:#FCFBF6;padding:5px 12px;
  border-radius:30px;background:#939A96;text-transform:uppercase;font-weight:bold;
}
.holding-chip.op{background:#4E8770;}
.holding-p{color:#43483f;margin:10px 0 0 106px;font-size:15.5px;line-height:1.72;max-width:700px;}

/* alternate rows fan */
.holding:nth-child(even){margin-left:40px;}
.holding:nth-child(even) .holding-in{border-left:6px solid #4E8770;}
.holding:nth-child(odd) .holding-in{border-right:6px solid #2C3230;}
.movespacer{height:20px;}

/* statement band */
.statrow{
  background:#252B28;padding:84px 0;margin-top:20px;
  margin-bottom:10px;
}
.statrow-in{max-width:1100px;margin:0 auto;padding:0 24px;text-align:center;}
.statrow-num{
  font-size:120px;color:#F4F3EC;line-height:.9;
  font-family:Georgia,serif;font-weight:bold;
}
.statrow-num span{color:#4E8770;}
.statrow-pledge{
  color:#EFE9D8;font-size:24px;font-family:Georgia,serif;
  margin-top:22px;max-width:760px;margin-left:auto;margin-right:auto;line-height:1.4;
}
.statrow-pledge b{color:#FCFBF6;}

/* filing cycle band on VAULT GREY */
.filingcycle{background:#939A96;padding-top:0;padding-bottom:40px;margin-top:70px;}
.filingcycle-top{
  background:#939A96;padding:70px 0 30px;
}
.filingcycle-in{max-width:1200px;margin:0 auto;padding:0 24px;}
.filingcycle-kicker{
  text-align:center;color:#252B28;font-size:13px;letter-spacing:.3em;
  font-weight:bold;text-transform:uppercase;
}
.filingcycle-title{text-align:center;color:#FCFBF6;margin:10px 0 46px;font-size:36px;}
.cycletrack{
  display:flex;justify-content:space-between;align-items:flex-start;
  flex-wrap:wrap;gap:14px;position:relative;max-width:1100px;margin:0 auto;
}
.cyclespacer{background:#4E8770;height:2px;flex:1 1 auto;margin-top:24px;}
.station{flex:1 1 150px;text-align:center;position:relative;min-width:130px;margin-top:20px;}
.station-dot{color:#2C3230;font-size:20px;}
.cycle-pull{
  width:56px;height:66px;background:#FCFBF6;margin:0 auto 12px;border-radius:3px 3px 0 0;
  border-bottom:4px dashed #4E8770;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 3px 0 #4E8770;
}
.cycle-pull:after{content:"⬇";color:#4E8770;font-weight:bold;}
.station.last .cycle-pull{background:#4E8770;}
.station.last .cycle-pull:after{content:"✔";color:#FCFBF6;}
.station-h{color:#252B28;font-size:18px;font-weight:bold;font-family:Georgia,serif;}
.station-tag{font-size:11px;letter-spacing:.2em;color:#FCFBF6;font-weight:bold;text-transform:uppercase;
  display:block;margin:4px auto 6px;background:#4E8770;
  width:fit-content;padding:2px 10px;border-radius:30px;}
.cycletrack .last .station-tag{background:#252B28;}
.station-p{color:#2C3230;font-size:14px;line-height:1.5;margin:0 auto;max-width:170px;}

/* ### QUARTER INTAKE / booking band ### */
.accentstrip{background:#4E8770;padding:56px 0;}
.accentstrip-in{max-width:1200px;margin:0 auto;padding:0 24px;}
.accentstrip-row{display:flex;flex-wrap:wrap;gap:26px;align-items:center;}
.accentstrip-mark{
  flex:0 0 auto;background:#F4F3EC;color:#4E8770;
  border:3px solid #FCFBF6;padding:12px 20px;border-radius:4px;
  font-weight:bold;letter-spacing:.2em;font-size:13px;
  transform:rotate(-2deg);text-transform:uppercase;
}
.accentstrip-body{flex:1 1 420px;color:#F4F3EC;}
.accentstrip-body h2{color:#FCFBF6;font-size:28px;margin-bottom:10px;font-family:Georgia,serif;}
.accentstrip-body p{color:#d7e5dc;max-width:640px;}
.accentstrip-btnwrap{margin-left:auto;flex:0 0 auto;}

/* ### ROLLING SHELF FOOTER ### */
.rollshelf{background:#252B28;color:#EFE9D8;margin-top:0;}
.rollshelf-rail{
  background:#4E8770;
  padding:14px 0;text-align:center;color:#FCFBF6;
  font-size:12px;letter-spacing:.4em;font-weight:bold;
  text-transform:uppercase;border-bottom:3px solid #F4F3EC;
}
.rollshelf-rail .motto{display:inline-block;}
/* bound books sitting on the shelf rail top edge */
.rollshelf-rail .railbooks{display:flex;justify-content:center;gap:8px;height:22px;margin:0 auto 6px;max-width:600px;align-items:flex-end;}
.railbook{width:16px;height:20px;border-radius:1px;display:inline-block;background:#252B28;}
.railbook.g1{background:#FCFBF6;height:16px;}
.railbook.g2{background:#EFE9D8;height:20px;}
.railbook.g3{background:#939A96;height:13px;width:13px;}
.railbook.g4{background:#FCFBF6;width:13px;height:18px;}
.railbook.g5{background:#252B28;}
.roll-tape{
  display:inline-block;color:#252B28;background:#FCFBF6;
  font-size:10px;letter-spacing:.12em;padding:3px 10px;border-radius:2px;
  text-transform:none;margin-left:14px;
}

.rollshelf-cols{max-width:1200px;margin:0 auto;padding:54px 24px 10px;display:flex;flex-wrap:wrap;gap:40px;}
.rollshelf-col{flex:1 1 200px;min-width:170px;position:relative;z-index:1;}
.rollshelf-h{color:#FCFBF6;font-family:Georgia,serif;font-size:16px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:18px;
border-bottom:2px solid #4E8770;display:inline-block;padding-bottom:6px;}
.rollshelf-col ul{list-style:none;}
.rollshelf-col li{margin:0 0 12px;}
.rollshelf-col a{color:#9fbfaf;position:relative;padding-left:12px;}
.rollshelf-col a:before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;background:#4E8770;border-radius:50%;}
.rollshelf-col a:hover{color:#FCFBF6;}
.rollshelf-col p{color:#7f8f86;font-size:14px;line-height:1.7;max-width:240px;}

.rollshelf-card{
  margin-top:44px;background:#FCFBF6;color:#2C3230;
  border-top:6px solid #4E8770;padding:28px 0;
}
.rollshelf-card-in{max-width:1200px;margin:0 auto;padding:0 24px;
  display:flex;flex-wrap:wrap;gap:14px 40px;justify-content:space-between;position:relative;z-index:1;}
.rollshelf-card .ros-item{}
.rollshelf-co{font-weight:bold;font-size:17px;font-family:Georgia,serif;}
.rollshelf-detail{font-size:14px;color:#4a4f49;margin-top:2px;}
.rollshelf-copy{
  background:#252B28;color:#4E8770;text-align:center;
  padding:22px 0;font-size:14px;letter-spacing:.1em;
}
.rollshelf-copy span::before{content:"© ";}

/* # print / grid fallback */
body::before{}

/* ### shared secondary page hero small - not used */

/* responsive */
@media(max-width:960px){
  .certstub-links{display:none;}
  .certstub-drawer{display:none;}
  .certstub-toggle{display:block;}
  .certstub-drawer.show{display:flex;}
  .vaultdr-cabinet,.vaultdr-card-row{grid-template-columns:1fr;}
  .vaultdr-plaque{flex-direction:column;}
  .vaultdr-shelf{width:100%;flex-direction:column-reverse;}
  .vaultdr-title-row{flex-wrap:wrap;}
  .vaultdr-seal{margin-left:0;}
  .vaultdr-h1{font-size:34px;}
  .holding-offset{padding-right:0;}
  .holding:nth-child(even){margin-left:0;}
  .holding-p{margin-left:0;margin-top:16px;}
  .holding:nth-child(even) .holding-in{border-left:none;border-top:6px solid #4E8770;}
  .holding:nth-child(odd) .holding-in{border-right:none;border-top:6px solid #4E8770;}
  .holding-h2, .holding-tag{width:100%;}
  .accentstrip-row{flex-direction:column;align-items:flex-start;}
  .accentstrip-btnwrap{margin:0;}
  .vaultdr-stat + .vaultdr-stat{border-left:none;border-top:2px solid #4E8770;}
}
@media(max-width:560px){
  .vaultdr-h1{font-size:28px;}
  body{font-size:16px;}
  .certstub-plate{font-size:18px;padding:6px 12px;}
  .holdrow-title{font-size:26px;}
  .statrow-num{font-size:88px;}
}

/* noscript / no-js keeps .reveal visible because .hasjs is never added */
