/* Midnight theme: loaded after home.css / pages.css on every page. Remove the link to revert. */
:root{
  --ink:#eef3f8; --ink-2:#c3cfdc; --ink-3:#93a1b2; --ink-4:#6f7e8f;
  --paper:#0d1219; --white:#07090d; --sky:#0f2238;
  --navy:#0c2340; --navy-2:#05070a; --blue:#4B9CD3; --blue-2:#6db3e3; --ice:#a9c9ec;
  --rule:#1c2733; --rule-2:#2a3a4b;
  --serif:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
  color-scheme:dark;
}
body{background:var(--white);color:var(--ink);font-size:1.0625rem;line-height:1.65}
h1,h2,h3,h4{font-weight:700;letter-spacing:-.035em}
a{color:var(--blue)}
:focus-visible{outline-color:var(--blue)}
.topbar{height:3px;background:linear-gradient(90deg,#4B9CD3,#12335a 60%,transparent)}
.skip{background:var(--blue);color:#06121c}

/* buttons */
.btn{border-radius:999px;background:var(--blue);border-color:var(--blue);color:#06121c;padding:1rem 1.6rem}
.btn:hover{background:var(--blue-2);border-color:var(--blue-2)}
.btn-ghost{background:transparent;color:var(--ink);border-color:#34475a}
.btn-ghost:hover{background:#111a24;border-color:#4a6178}
.btn-white{background:#fff;color:#06121c;border-color:#fff}
.btn-white:hover{background:#dbe9f6;border-color:#dbe9f6}
.inner .btn-primary{color:#06121c}
.co-note{color:#ff9d9d}

/* masthead */
.mast{background:rgba(7,9,13,.92);border-bottom:1px solid var(--rule)}
.mark{color:var(--ink);font-weight:600;letter-spacing:-.02em}
.mark em{color:var(--ink-3)}
.mast nav a{color:var(--ink-3)}
.mast nav a:hover{color:var(--ink);border-bottom-color:var(--rule-2)}
.mast nav a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--blue)}
.mast .btn{padding:.7rem 1.15rem}

/* hero */
.hero,.hero.ha{background:radial-gradient(60% 80% at 75% 20%,#12335a 0%,transparent 70%),var(--white);padding-block:clamp(3rem,7vw,6rem) clamp(2rem,4vw,3rem)}
.hero h1,.inner .phero h1{background:linear-gradient(180deg,#fff,#a9c7e3);-webkit-background-clip:text;background-clip:text;color:transparent;letter-spacing:-.05em;line-height:1}
.hero h1{font-size:clamp(2.9rem,6.6vw,5.6rem)}
.hero .lede{color:var(--ink-2);font-size:1.25rem}
.hero .lede strong{color:var(--ink);font-weight:600}
.hero .fine{color:var(--ink-3)}
.eyebrow,.inner main p.eyebrow,.phero .flag,.flag{color:var(--blue)}
.on-dark .eyebrow,.dark .eyebrow,.inner main .band-dark p.eyebrow,.inner main .set-cta p.eyebrow{color:var(--blue)}

/* fan of covers in the hero */
.cfan{position:relative;height:clamp(20rem,38vw,32rem);width:100%}
.cfan img{position:absolute;width:46%;height:auto;border-radius:4px;box-shadow:0 40px 70px -20px #000,0 0 0 1px #ffffff14}
.cfan img:nth-child(1){left:0;top:18%;transform:rotate(-9deg)}
.cfan img:nth-child(2){left:13%;top:9%;transform:rotate(-4.5deg)}
.cfan img:nth-child(3){left:27%;top:3%;z-index:2}
.cfan img:nth-child(4){left:41%;top:9%;transform:rotate(4.5deg)}
.cfan img:nth-child(5){left:54%;top:18%;transform:rotate(9deg)}

/* strip */
.strip{background:transparent;border-block:1px solid var(--rule)}
.strip .wrap>div{color:var(--ink-3);border-left-color:var(--rule)}
.strip b{color:var(--ink)}

/* ten books grid with covers */
.vol{background:transparent;border-bottom:0;padding-block:clamp(3.5rem,7vw,6rem)}
.vgrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2.5rem 1.6rem;border-top:0}
.vgrid li,.vgrid li:nth-child(n+2),.vgrid li:nth-child(5n+1),.vgrid li:not(:nth-child(5n+1)){padding:0;border:0}
.vgrid .cv{display:block;transition:transform .2s}
.vgrid .cv:hover{transform:translateY(-6px)}
.vgrid .cv img{display:block;width:100%;height:auto;border-radius:3px;box-shadow:0 24px 40px -16px #000,0 0 0 1px #ffffff12}
.vgrid .n{font-style:normal;font-weight:700;font-size:.74rem;letter-spacing:.14em;color:var(--blue);margin:1rem 0 .3rem}
.vgrid .t,.vgrid a.t{display:block;font-size:.92rem;line-height:1.35;color:var(--ink-2)}
.vgrid a.t:hover{color:var(--ink)}
.vol .more{color:var(--ink-3)}

/* offer */
.offer-section{background:linear-gradient(135deg,#0f2b4d,#0a1a2e 60%,#0a121c);border-block:1px solid #1d3a5a}
.offer-section .sub,.inc li{color:#cfe0f0}
.inc small{color:#93aac4}
.buy{background:#06090d;color:var(--ink);border:1px solid #24384d;border-radius:20px;box-shadow:0 30px 60px -30px #000}
.buy .lab{color:var(--ink-3)}
.price{color:#fff;font-weight:700;letter-spacing:-.05em}
.buy .once,.buy .note{color:var(--ink-3)}
.buy hr{border-top-color:#24384d}

/* content sections */
.head p,.grid p,.prose p,.inner .lede,.inner .small{color:var(--ink-2)}
.grid,.chapters,.plain-list,.entries,.cols,.docgroup{border-top-color:var(--rule-2)}
.bio-body{border-left-color:var(--blue)}
.tint{background:var(--paper);border-block:1px solid var(--rule)}
.check{background:var(--paper);border-block:1px solid var(--rule)}
.check p.what{color:var(--ink-2)}
.cap-input{background:#06090d;color:var(--ink);border-color:#2a3a4b;border-radius:999px;padding-inline:1.3rem}
.cap-input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(75,156,211,.3)}
.cap-fine{color:var(--ink-3)}.cap-msg{color:var(--blue-2)}.cap-msg.is-error{color:#ff9d9d}
.close{background:var(--navy-2);border-top:1px solid var(--rule)}
.close p{color:var(--ink-2)}
.foot{background:var(--navy-2);color:var(--ink-3);border-top:1px solid var(--rule)}
.foot a,.foot .foot-nav a{color:var(--ink-2)}

/* inner pages */
.inner main>section.phero{background:radial-gradient(60% 90% at 80% 0,#12335a 0%,transparent 70%),var(--white);border-bottom:1px solid var(--rule)}
.band-alt{background:var(--paper);border-color:var(--rule)}
.inner main>section.band-dark{background:linear-gradient(135deg,#0f2b4d,#0a1a2e 70%);}
.inner main>section.set-cta{background:var(--navy-2);border-top:1px solid var(--rule)}
.set-cta .btn{background:var(--blue);color:#06121c;border-color:var(--blue)}
.set-cta .btn:hover{background:var(--blue-2);border-color:var(--blue-2)}
.cover img,.hero-cover .cover img{box-shadow:0 30px 50px -20px #000,0 0 0 1px #ffffff14}
.volnav{background:var(--white);border-block:1px solid var(--rule)}
.volnav a{color:var(--ink)}.volnav a:hover{background:var(--paper)}
.aside-card{background:var(--paper);border-color:var(--rule);border-top-color:var(--blue)}
.pull,.vq{font-style:normal;font-weight:500;color:var(--ink);border-left-color:var(--blue)}
.pull cite{color:var(--ink-3)}
.col-num,.vgrid .n{font-style:normal}
.col-num{font-weight:700;color:var(--blue)}
.quotes q{font-style:normal;font-weight:500}
.tag{background:#0f2238;color:var(--ice)}
.volume .body h2 a{color:var(--ink)}
.set-pricing{background:rgba(255,255,255,.05)!important;border-color:#24384d}
.chapters .ct,.plain-list .label{color:var(--ink)}
.chapters .ce,.ge{color:var(--ink-3)}
.index,.sheet{background:var(--paper);border-color:var(--rule-2)}

@media(max-width:52rem){
  .hero,.hero.ha{padding-top:2.2rem}
  .vgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 1rem}
  .cfan{height:clamp(17rem,70vw,24rem)}
  .cfan img:nth-child(2),.cfan img:nth-child(4){display:none}
  .cfan img{width:44%}
  .cfan img:nth-child(1){left:3%;top:16%}.cfan img:nth-child(3){left:28%}.cfan img:nth-child(5){left:53%;top:16%}
  .mast .btn{display:none}
}

.hero{overflow:hidden}

textarea.cap-input{border-radius:16px;padding-block:.9rem}
select.cap-input{background-color:#06090d;color:var(--ink);border-radius:999px}
select.cap-input option{background:#0d1219;color:var(--ink)}
.cap-input::placeholder{color:#6f7e8f}
input[type=checkbox]{accent-color:#4B9CD3}
.inner .phero h1{background:linear-gradient(180deg,#fff 20%,#c4daef);-webkit-background-clip:text;background-clip:text}
.apply-form select.cap-input{background:#06090d;color:var(--ink)}
.apply-form .form-msg.is-error{color:#ff9d9d}

/* library: stacked list of the ten books next to the intro */
.phero-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.phero-split .measure-wide{max-width:none}
.hstack{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}
.hstack a{display:grid;grid-template-columns:3.4rem minmax(0,1fr);align-items:center;gap:.9rem;padding:.8rem 1.1rem;background:#0a0c10;border-left:3px solid var(--blue);border-radius:2px;box-shadow:0 0 0 1px #ffffff12,0 14px 24px -16px #000;color:var(--ink);text-decoration:none;transition:transform .15s,background .15s}
.hstack a:hover{transform:translateX(4px);background:#0f1722}
.hstack .rn{font:600 1.05rem/1 var(--serif);color:var(--blue);text-align:center;padding-right:.9rem;border-right:1px solid var(--rule-2);letter-spacing:.01em}
.hstack .tt{font-size:.98rem;line-height:1.3;font-weight:500}
@media(max-width:52rem){.phero-split{grid-template-columns:minmax(0,1fr)}}
