/* Generated from home-v4.css by build/scope_css.py — scoped for Elementor. Edit the source, then regenerate. */
.v4{--night: #090d16; --night-2: #0f1522; --night-3: #161e2f; --ivory: #f3ece0; --ivory-dim: rgba(243, 236, 224, .72); --gold: #cfa75a; --gold-hi: #f1d18c; --rule: rgba(207, 167, 90, .22); background: var(--night); color: var(--ivory-dim);}
.v4 .elementor ::selection{background: var(--gold); color: var(--night);}
.v4 .elementor .topbar{background: #05080e; border-bottom: 1px solid rgba(255,255,255,.05);}
.v4 .elementor .site-header{background: rgba(9, 13, 22, .86); border-bottom-color: rgba(207,167,90,.16);}
.v4 .elementor .brand__name,.v4 .elementor .nav__link{color: var(--ivory);}
.v4 .elementor .nav__link:hover,.v4 .elementor .nav__item:focus-within > .nav__link,.v4 .elementor .nav__item:focus-within > .elementor-element > .nav__link,.v4 .elementor .nav__item:focus-within > .elementor-element > .elementor-widget-container > .nav__link{background: rgba(255,255,255,.06); color: var(--gold-hi);}
.v4 .elementor .nav__link.is-active{color: var(--gold);}
.v4 .elementor .dropdown{background: var(--night-3); border-color: var(--rule);}
.v4 .elementor .dropdown a{color: var(--ivory);}
.v4 .elementor .dropdown a:hover{background: rgba(255,255,255,.06); color: var(--gold-hi);}
.v4 .elementor .icon-btn{background: transparent; border-color: rgba(243,236,224,.2); color: var(--ivory);}
.v4 .elementor .site-header .btn--primary{background: var(--gold); color: var(--night); box-shadow: none;}
.v4 .elementor .footer-books{background: var(--night-2);}
.v4 .elementor .footer-books .section-head h2{color: var(--ivory);}
.v4 .elementor .footer-books .eyebrow{color: var(--gold);}
.v4 .elementor .site-footer{background: #05080e;}
.v4 .elementor .back-top{background: var(--gold); color: var(--night);}
.elementor .v4-label{display: inline-block; font-family: var(--font-ui); font-size: 12px; font-weight: 600; letter-spacing: .32em; text-transform: uppercase; color: var(--gold);}
.elementor .v4-btn{display: inline-flex; align-items: center; gap: 9px; padding: 16px 32px; border-radius: 2px; font-family: var(--font-ui); font-size: 13px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; text-decoration: none; border: 1px solid var(--gold); transition: background .2s, color .2s;}
.elementor .v4-btn--gold{background: var(--gold); color: var(--night);}
.elementor .v4-btn--gold:hover{background: var(--gold-hi); color: var(--night);}
.elementor .v4-btn--ghost{color: var(--gold-hi); background: transparent;}
.elementor .v4-btn--ghost:hover{background: rgba(207,167,90,.12); color: var(--gold-hi);}
.elementor .v4-btn--sm{padding: 12px 20px; font-size: 11.5px;}
.elementor .v4-actions{display: flex; flex-wrap: wrap; gap: 14px; justify-content: center;}
.elementor .v4-hero{position: relative; min-height: calc(100vh - 120px); display: flex; align-items: center; justify-content: center; text-align: center; overflow: hidden;
  background: radial-gradient(ellipse 80% 60% at 50% 0%, #1b2438 0%, var(--night) 70%);}
.elementor .v4-hero__halo{position: absolute; left: 50%; top: 18%; width: 900px; height: 900px; transform: translate(-50%, -30%); border-radius: 50%;
  background: radial-gradient(circle, rgba(241,209,140,.30) 0%, rgba(207,167,90,.12) 28%, rgba(9,13,22,0) 62%); animation: v4pulse 7s ease-in-out infinite; pointer-events: none;}
.elementor .v4-hero__halo::after{content: ""; position: absolute; inset: 0; border-radius: 50%;
  background: repeating-conic-gradient(from 0deg, rgba(241,209,140,.07) 0deg 2deg, transparent 2deg 9deg);
  mask-image: radial-gradient(circle, #000 0%, transparent 60%); -webkit-mask-image: radial-gradient(circle, #000 0%, transparent 60%); animation: v4spin 120s linear infinite;}
@keyframes v4pulse{ 50% { opacity: .75; transform: translate(-50%, -30%) scale(1.05); } }
@keyframes v4spin{ to { transform: rotate(360deg); } }
.elementor .v4-hero__inner{position: relative; z-index: 1; padding: 90px 24px 120px; max-width: 980px;}
.elementor .v4-medallion{width: 168px; height: 168px; border-radius: 50%; box-shadow: 0 0 0 1px var(--rule), 0 0 0 10px rgba(207,167,90,.08), 0 30px 80px rgba(241,209,140,.25); margin: 0 auto 34px; display: block;}
.elementor .v4-hero h1{color: var(--ivory); font-weight: 600; font-size: clamp(40px, 6.4vw, 84px); line-height: 1.04; letter-spacing: -.015em; margin: 18px 0 22px;}
.elementor .v4-hero__lead{font-family: var(--font-display); font-style: italic; font-size: clamp(19px, 2vw, 25px); color: var(--gold-hi); margin: 0 auto 22px; max-width: 760px;}
.elementor .v4-hero__verse{font-family: var(--font-read); font-style: italic; color: var(--ivory-dim); max-width: 620px; margin: 0 auto 40px; font-size: 16px;}
.elementor .v4-scroll{display: block; width: 26px; height: 42px; border: 1px solid var(--rule); border-radius: 14px; margin: 64px auto 0; position: relative;}
.elementor .v4-scroll span{position: absolute; left: 50%; top: 8px; width: 3px; height: 8px; margin-left: -1.5px; border-radius: 2px; background: var(--gold); animation: v4scroll 2s infinite;}
@keyframes v4scroll{ 0% { opacity: 0; transform: translateY(0); } 40% { opacity: 1; } 100% { opacity: 0; transform: translateY(14px); } }
.elementor .v4-strip{border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); background: var(--night-2);}
.elementor .v4-strip__row{display: grid; grid-template-columns: repeat(8, 1fr);}
.elementor .v4-strip a{padding: 22px 16px; text-decoration: none; color: var(--ivory-dim); font-size: 13px; line-height: 1.35; border-right: 1px solid var(--rule); transition: background .2s, color .2s;}
.elementor .v4-strip a:last-child{border-right: 0;}
.elementor .v4-strip a span{display: block; font-family: var(--font-display); color: var(--gold); font-size: 20px; margin-bottom: 6px;}
.elementor .v4-strip a:hover{background: rgba(207,167,90,.08); color: var(--ivory);}
.elementor .v4-reading{padding: 100px 0 40px;}
.elementor .v4-reading__grid{display: grid; grid-template-columns: 250px minmax(0, 760px); gap: 80px; justify-content: center;}
.elementor .v4-toc{position: sticky; top: calc(var(--header-h) + 36px); align-self: start;}
.elementor .v4-toc ol{list-style: none; padding: 0; margin: 20px 0 30px;}
.elementor .v4-toc a{display: grid; grid-template-columns: 42px 1fr; padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,.05); text-decoration: none; color: var(--ivory-dim); font-size: 14px; line-height: 1.35; transition: color .2s;}
.elementor .v4-toc a span{font-family: var(--font-display); color: rgba(207,167,90,.55);}
.elementor .v4-toc a:hover,.elementor .v4-toc a.is-active{color: var(--ivory);}
.elementor .v4-toc a.is-active span{color: var(--gold-hi);}
.elementor .v4-chapter{padding: 30px 0 70px; scroll-margin-top: calc(var(--header-h) + 20px);}
.elementor .v4-chapter__head{margin-bottom: 36px;}
.elementor .v4-roman{display: block; font-family: var(--font-display); font-size: 74px; line-height: 1; color: transparent; -webkit-text-stroke: 1px var(--gold); margin-bottom: 12px;}
.elementor .v4-chapter h2{color: var(--ivory); font-size: clamp(32px, 3.6vw, 46px); font-weight: 600; margin: 12px 0 0;}
.elementor .v4-prose{font-size: 19px; line-height: 1.9; color: var(--ivory-dim);}
.elementor .v4-prose strong{color: var(--ivory);}
.elementor .v4-prose a{color: var(--gold-hi);}
.elementor .v4-prose h4{background: none; border: 0; border-left: 1px solid var(--gold); border-radius: 0; padding: 6px 0 6px 30px; margin: 2em 0; font-family: var(--font-display); font-style: italic; font-size: 1.22em; line-height: 1.55; color: var(--gold-hi);}
.elementor .v4-prose h4 em,.elementor .v4-prose h4 small{font-style: italic;}
.elementor .v4-prose blockquote{background: var(--night-3); color: var(--ivory); border: 1px solid rgba(255,255,255,.06);}
.elementor .v4-prose blockquote::before{color: var(--gold);}
.elementor .v4-prose .highlight{background: linear-gradient(140deg, #1d2740, #121a2b); border: 1px solid var(--rule); color: var(--ivory);}
.elementor .v4-prose .highlight strong,.elementor .v4-prose .highlight big{color: var(--gold-hi);}
.elementor .v4-prose img{border-radius: 6px; box-shadow: 0 30px 60px rgba(0,0,0,.5);}
.elementor .v4-revelation{text-align: center; padding: 80px 20px 100px; margin: 0 0 40px; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule);}
.elementor .v4-star{color: var(--gold);}
.elementor .v4-star svg{width: 34px; height: 34px;}
.elementor .v4-revelation blockquote{margin: 26px 0 0; font-family: var(--font-display); font-style: italic; font-size: clamp(28px, 3.4vw, 44px); line-height: 1.3; color: var(--ivory);}
.elementor .v4-revelation cite{display: block; margin-top: 26px; font-style: normal; font-family: var(--font-ui); letter-spacing: .3em; text-transform: uppercase; font-size: 12px; color: var(--gold);}
.elementor .v4-sec{padding: 110px 0;}
.elementor .v4-sec--panel{background: var(--night-2); border-top: 1px solid rgba(255,255,255,.04); border-bottom: 1px solid rgba(255,255,255,.04);}
.elementor .v4-head{text-align: center; margin-bottom: 54px;}
.elementor .v4-head--left{text-align: left;}
.elementor .v4-head h2{color: var(--ivory); font-weight: 600; font-size: clamp(32px, 4vw, 50px); margin: 14px 0 0;}
.elementor .v4-shelf-tools{display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 26px; flex-wrap: wrap;}
.elementor .v4-tabs{display: flex; gap: 6px; flex-wrap: wrap;}
.elementor .v4-tabs button{background: transparent; border: 1px solid rgba(255,255,255,.12); color: var(--ivory-dim); font: 600 12px/1 var(--font-ui); letter-spacing: .18em; text-transform: uppercase; padding: 12px 18px; cursor: pointer; border-radius: 2px;}
.elementor .v4-tabs button:hover{color: var(--ivory); border-color: var(--rule);}
.elementor .v4-tabs button.is-active{background: var(--gold); color: var(--night); border-color: var(--gold);}
.elementor .v4-arrows{display: flex; gap: 8px;}
.elementor .v4-arrows button{width: 46px; height: 46px; border: 1px solid var(--rule); background: transparent; color: var(--gold); cursor: pointer; display: grid; place-items: center;}
.elementor .v4-arrows button:first-child svg{transform: rotate(180deg);}
.elementor .v4-arrows button:hover{background: rgba(207,167,90,.12);}
.elementor .v4-shelf{display: grid; grid-auto-flow: column; grid-auto-columns: 200px; gap: 30px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 10px 2px 30px; scrollbar-width: thin; scrollbar-color: var(--gold) transparent;}
.elementor .v4-book{scroll-snap-align: start; text-decoration: none; display: flex; flex-direction: column; gap: 10px;}
.elementor .v4-book[hidden]{display: none;}
.elementor .v4-book__cover{overflow: hidden; border-radius: 3px 8px 8px 3px; box-shadow: 0 20px 40px rgba(0,0,0,.55), 0 0 0 1px rgba(255,255,255,.04); transition: transform .3s, box-shadow .3s;}
.elementor .v4-book__cover img{width: 100%; height: auto; display: block;}
.elementor .v4-book:hover .v4-book__cover{transform: translateY(-8px); box-shadow: 0 30px 60px rgba(0,0,0,.6), 0 0 40px rgba(207,167,90,.25);}
.elementor .v4-book__title{color: var(--ivory); font-family: var(--font-display); font-size: 16px; line-height: 1.3;}
.elementor .v4-book__group{font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--gold);}
.elementor .v4-note{margin-top: 40px; padding: 30px 34px; border: 1px solid var(--rule); color: var(--ivory-dim); font-size: 15.5px; background: rgba(207,167,90,.04);}
.elementor .v4-note strong{font-weight: 500; color: var(--ivory);}
.elementor .v4-qa{display: grid; grid-template-columns: 1.5fr 1fr; gap: 64px; align-items: start;}
.elementor .v4-cats{display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.06);}
.elementor .v4-cat{background: var(--night); padding: 30px 28px; text-decoration: none; display: grid; grid-template-columns: 1fr 20px; gap: 8px 14px; transition: background .2s;}
.elementor .v4-cat:hover{background: var(--night-3);}
.elementor .v4-cat:last-child:nth-child(odd){grid-column: 1 / -1;}
.elementor .v4-cat__n{grid-column: 1 / -1; font-family: var(--font-display); font-size: 46px; line-height: 1; color: var(--gold);}
.elementor .v4-cat h3{color: var(--ivory); font-size: 19px; line-height: 1.3; margin: 0; font-weight: 600;}
.elementor .v4-cat svg{color: var(--gold); align-self: end;}
.elementor .v4-most{border: 1px solid var(--rule); padding: 34px; position: sticky; top: calc(var(--header-h) + 30px);}
.elementor .v4-most h3{color: var(--ivory); font-size: 26px; font-weight: 600;}
.elementor .v4-most ol{list-style: none; counter-reset: m; margin: 18px 0 0; padding: 0;}
.elementor .v4-most li{counter-increment: m; display: grid; grid-template-columns: 38px 1fr; border-top: 1px solid rgba(255,255,255,.06);}
.elementor .v4-most li::before{content: counter(m, decimal-leading-zero); font-family: var(--font-display); color: var(--gold); padding-top: 14px;}
.elementor .v4-most a{display: block; padding: 13px 0; color: var(--ivory); text-decoration: none; font-size: 14.5px; line-height: 1.45;}
.elementor .v4-most a:hover{color: var(--gold-hi);}
.elementor .v4-most small{display: block; color: rgba(243,236,224,.45); font-size: 12px; margin-top: 4px;}
.elementor .v4-presenters{display: flex; flex-wrap: wrap; justify-content: center; gap: 46px 56px;}
.elementor .v4-presenter{display: flex; flex-direction: column; align-items: center; gap: 8px; text-decoration: none; text-align: center; width: 150px;}
.elementor .v4-presenter img,.elementor .v4-presenter .avatar{width: 120px; height: 120px; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 1px var(--rule), 0 0 0 7px rgba(207,167,90,.06); filter: grayscale(.2); transition: filter .3s, box-shadow .3s; margin-bottom: 8px;}
.elementor .v4-presenter:hover img{filter: none; box-shadow: 0 0 0 1px var(--gold), 0 0 0 7px rgba(207,167,90,.16);}
.elementor .v4-presenter .avatar{background: radial-gradient(circle at 30% 25%, #2a3654, var(--night-3));}
.elementor .v4-presenter strong{color: var(--ivory); font-family: var(--font-display); font-size: 18px; font-weight: 600;}
.elementor .v4-presenter small{color: var(--gold); font-size: 12px; letter-spacing: .1em; text-transform: uppercase;}
.elementor .v4-close{text-align: center; background: radial-gradient(ellipse 60% 80% at 50% 100%, rgba(207,167,90,.16), var(--night) 70%);}
.elementor .v4-close__inner img{border-radius: 50%; margin: 0 auto 26px; display: block; box-shadow: 0 0 60px rgba(241,209,140,.25);}
@media (max-width: 1100px){.elementor .v4-strip__row{grid-template-columns: repeat(4, 1fr);}
.elementor .v4-strip a:nth-child(4){border-right: 0;}
.elementor .v4-strip a:nth-child(-n+4){border-bottom: 1px solid var(--rule);}
.elementor .v4-reading__grid{grid-template-columns: minmax(0, 760px); gap: 0;}
.elementor .v4-toc{display: none;}
.elementor .v4-qa{grid-template-columns: 1fr;}
.elementor .v4-most{position: static;}

}
@media (max-width: 640px){.elementor .v4-strip__row{grid-template-columns: 1fr 1fr;}
.elementor .v4-strip a{border-right: 1px solid var(--rule) !important; border-bottom: 1px solid var(--rule); padding: 16px 12px;}
.elementor .v4-strip a:nth-child(even){border-right: 0 !important;}
.elementor .v4-hero__inner{padding: 60px 4px 80px;}
.elementor .v4-medallion{width: 120px; height: 120px;}
.elementor .v4-reading{padding-top: 60px;}
.elementor .v4-roman{font-size: 56px;}
.elementor .v4-prose{font-size: 17.5px;}
.elementor .v4-sec{padding: 76px 0;}
.elementor .v4-cats{grid-template-columns: 1fr;}
.elementor .v4-shelf{grid-auto-columns: 150px; gap: 18px;}
.elementor .v4-most{padding: 24px;}
.elementor .v4-btn{padding: 14px 22px;}

}


