:root{color-scheme:dark;--bg:#121311;--panel:#1b1d19;--cream:#f5eddf;--muted:#bcb5a8;--accent:#e5aa83;--line:#3b3c32;--serif:Georgia,'Times New Roman',serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--cream);font:16px/1.55 system-ui,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #ffd0aa;outline-offset:4px}.wrap{width:min(1180px,calc(100% - 72px));margin:auto}.top{min-height:87px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:inline-flex;align-items:center;gap:9px;font:23px var(--serif);white-space:nowrap}.mark{color:var(--accent);font:25px system-ui}.top nav{display:flex;gap:30px;color:var(--muted);font-size:14px}.top nav a:hover{color:var(--cream)}.outline,.primary{display:inline-flex;align-items:center;gap:12px;border-radius:999px;padding:10px 17px}.outline{background:transparent;color:var(--cream);border:1px solid #555348}.outline span{color:var(--accent);font-size:13px}.hero{min-height:482px;display:grid;grid-template-columns:1.08fr 1fr;overflow:hidden;border:1px solid #3f3c32;background:linear-gradient(130deg,#292923,#171a17);border-radius:25px}.hero-content{padding:63px 0 58px 55px;z-index:1}.eyebrow{color:#edb38d;font-size:11px;letter-spacing:.18em;font-weight:700;margin:0 0 13px}.eyebrow span{display:inline-block;width:7px;height:7px;border-radius:50%;background:#eab694;margin:0 7px 1px 0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.08;margin:0}h1{font-size:clamp(52px,6.4vw,91px);letter-spacing:-.066em}h1 em{font-weight:400;color:#f0b990}h2{font-size:clamp(34px,4.1vw,54px);letter-spacing:-.048em}h3{font-size:27px;letter-spacing:-.025em}.hero-copy{color:#dbd0c0;max-width:385px;margin:22px 0 27px}.primary{background:#efbd99;color:#201a14;border:1px solid #efbd99;font-weight:650;font-size:14px;padding:12px 18px}.primary:hover{background:#ffd0ac}.hero-art{position:relative;overflow:hidden;background:radial-gradient(ellipse at 52% 48%,#995d3e 0%,#563d30 33%,#292923 70%);min-height:260px}.orb{position:absolute;left:50%;top:48%;width:min(66%,330px);aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle at 37% 29%,#ffd2a4 1%,#e59869 26%,#9f5b3c 53%,#3a2922 76%);box-shadow:0 0 88px #db94624d}.arc{position:absolute;left:50%;top:48%;border:1px solid #f2bf8a55;border-radius:50%;width:90%;height:42%;transform:translate(-50%,-50%) rotate(-29deg)}.a2{transform:translate(-50%,-50%) rotate(-36deg);width:93%;height:46%;opacity:.55}.a3{transform:translate(-50%,-50%) rotate(-43deg);width:97%;height:51%;opacity:.35}.art-label{position:absolute;bottom:22px;right:25px;left:25px;display:flex;justify-content:space-between;border-top:1px solid #edc6a043;padding-top:12px;color:#ead0b9;font-size:10px;letter-spacing:.16em}.catalog,.formats{padding-top:67px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:23px}.tools{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:23px}.filters{display:flex;flex-wrap:wrap;gap:7px}.filter{border:1px solid #4c4d43;border-radius:99px;background:none;color:#e7ddd0;padding:7px 13px;font-size:13px}.filter[aria-pressed=true]{background:#eab795;color:#211913;border-color:#eab795}.search{display:flex;align-items:center;gap:8px;border:1px solid #4c4d43;border-radius:99px;padding:6px 12px;color:var(--muted)}.search input{min-width:0;width:155px;background:transparent;color:var(--cream);border:0;font-size:14px}.search input::placeholder{color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.card{background:var(--panel);border:1px solid var(--line);border-radius:18px;overflow:hidden;display:flex;flex-direction:column}.cover{height:165px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 95%,var(--light),var(--dark) 65%)}.cover::before,.cover::after{content:"";position:absolute;border:1px solid #fff5;border-radius:50%;width:75%;height:190%;top:23%;left:13%;transform:rotate(-22deg)}.cover::after{top:38%;transform:rotate(25deg)}.cover span{position:absolute;top:14px;left:15px;border:1px solid #eee6;padding:4px 8px;border-radius:99px;color:#fff9ef;background:#1817148c;font-size:11px}.sunset{--light:#cc845e;--dark:#563427}.night{--light:#8790ac;--dark:#32364a}.moss{--light:#b3a574;--dark:#424734}.clay{--light:#d78c81;--dark:#624037}.gold{--light:#d4aa66;--dark:#544127}.stone{--light:#a8aaa4;--dark:#454743}.card-content{padding:17px;display:flex;flex-direction:column;flex:1}.card-meta{font-size:12px;color:#e3af91;margin:0 0 6px}.card p.desc{color:var(--muted);font-size:14px;margin:8px 0 17px}.card-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto}.card-bottom strong{font-size:15px}.card-bottom .outline{padding:6px 10px;font-size:13px}.formats{padding-bottom:64px}.options p,footer p{color:var(--muted);font-size:14px}footer{border-top:1px solid var(--line);padding:23px 0;display:flex;justify-content:space-between;align-items:center;gap:15px}dialog{width:min(520px,calc(100% - 28px));max-height:85vh;background:#24251f;color:var(--cream);border:1px solid #5e574a;border-radius:21px;padding:28px}dialog::backdrop{background:#000a}dialog h2{font-size:39px;margin:8px 35px 13px 0}dialog p{color:#ddd2c1}dialog audio{width:100%;margin:9px 0}dialog .close{position:absolute;right:15px;top:12px;background:transparent;border:0;color:var(--cream);font-size:28px}dialog .outline{margin-top:12px}.library-items{list-style:none;padding:0}.library-items li{padding:9px 0;border-bottom:1px solid var(--line)}
@media(max-width:800px){.wrap{width:calc(100% - 36px)}.hero-content{padding-left:28px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:565px){.wrap{width:calc(100% - 24px)}.top{min-height:68px}.top nav{display:none}.top .outline{font-size:12px;padding:7px 9px}.brand{font-size:20px}.hero{grid-template-columns:1fr}.hero-content{padding:30px 20px 23px}.hero-art{min-height:220px}.orb{width:190px}.hero-copy{margin:15px 0 17px}.catalog,.formats{padding-top:43px}.section-head{align-items:start;flex-direction:column;gap:6px}.tools{align-items:stretch;flex-direction:column-reverse}.search input{width:100%}.cards{grid-template-columns:1fr}.cover{height:142px}footer{align-items:start;flex-direction:column}footer p{margin:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.catalog-plan{font-size:14px;white-space:nowrap}
.program-intro{color:var(--muted);margin:-8px 0 22px}
.subscription{display:flex;justify-content:space-between;align-items:center;gap:26px;padding:32px;background:var(--panel);border:1px solid var(--line);border-radius:20px}
.subscription p:not(.eyebrow){color:var(--muted);margin:10px 0 0}
.subscription-price{white-space:nowrap}
.subscription-price strong{font-size:32px}
.subscription-price span,.subscription-price p{font-size:14px;color:var(--muted)}
dialog a[data-subscription]{color:var(--accent);text-decoration:underline}
@media(max-width:565px){.subscription{align-items:flex-start;flex-direction:column;padding:22px;gap:16px}}
.cover.has-art::before,.cover.has-art::after{display:none}
.cover.has-art img{display:block;width:100%;height:100%;object-fit:cover}
.detail-cover{display:block;width:min(100%,270px);height:auto;margin:20px auto 0;border-radius:12px}

.card{scroll-margin-top:20px}
.card-preview{margin:0 0 16px}
.card-preview audio{display:block;width:100%;margin:6px 0}
.card-preview a{color:var(--accent);font-size:13px;text-decoration:underline;text-underline-offset:3px}
.card p.desc strong,#panel-body>p>strong:first-child{color:var(--cream)}
.listening-note{margin:0 0 15px;padding:10px 12px;border-left:2px solid var(--accent);background:#efbd990d;border-radius:0 8px 8px 0}
.listening-note p,.card .listening-note p{margin:0;color:var(--muted);font-size:13px}
.listening-note p+p,.card .listening-note p+p{margin-top:4px}
.listening-note strong{color:var(--cream)}
.cover.has-art img{object-position:center}

/* Georgia keeps the storefront's editorial voice, paired with the system UI font. */
.brand img{flex:none}
.top nav{flex-wrap:wrap;gap:8px 23px}
.top nav a{display:flex;align-items:center;min-height:44px}
.section{padding-top:68px;scroll-margin-top:18px}
.section-intro{max-width:65ch;color:var(--muted);margin:-7px 0 23px}
.feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px;align-items:center;padding:32px;background:var(--panel);border:1px solid var(--line);border-radius:20px}
.feature h2{font-size:clamp(32px,3.8vw,50px)}
.muted,.fine{color:var(--muted)}
.fine{font-size:13px}
.fine a,.text-link,.faq-list a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.form-row{display:flex;flex-wrap:wrap;align-items:stretch;gap:9px;margin:6px 0 10px}
.form-row input{flex:1 1 160px;min-width:0;width:100%;padding:10px 13px;border:1px solid #69665a;border-radius:10px;background:var(--bg);color:var(--cream)}
.primary,.outline,.filter,.form-row input{min-height:44px}
button:disabled{opacity:.6;cursor:default}
.search input{width:178px}
.card-price{display:flex;align-items:baseline;gap:9px;margin-top:auto;padding-top:10px}
.card-price strong{font-size:21px}
.card-price small{color:var(--muted)}
.card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:9px}
.card-actions .outline{padding:9px 13px;font-size:14px}
.author{grid-template-columns:minmax(145px,250px) minmax(0,1fr)}
.author-name{margin-top:13px;color:var(--accent)}
.subscription-price .primary{margin-top:14px;white-space:normal}
.faq-list{max-width:790px;margin:22px 0 0}
.faq-list details{border-bottom:1px solid var(--line);padding:0 4px}
.faq-list summary{cursor:pointer;min-height:49px;padding:12px 0;font-weight:650}
.faq-list p{margin:0 0 15px;color:var(--muted)}
footer.footer{display:block;margin-top:66px}
.footer-top{display:grid;grid-template-columns:1.2fr 1fr .9fr;gap:20px}
.footer-top nav{display:grid;align-content:start;gap:8px}
.footer-top nav a{width:fit-content;color:var(--cream);text-decoration:underline;text-underline-offset:3px;font-size:14px}
.footer-demo{padding-top:14px;border-top:1px solid var(--line)}
.contact-placeholder{overflow-wrap:anywhere}
.dialog-actions{margin-top:18px}
.legal{padding:35px 0 60px;overflow-wrap:anywhere}
.legal h1{font-size:clamp(36px,6vw,68px)}
.legal p:not(.eyebrow){max-width:64ch;color:var(--muted)}
@media(max-width:800px){.feature{grid-template-columns:1fr}.author{grid-template-columns:minmax(120px,1fr) minmax(0,2fr)}}
@media(max-width:565px){
  .top{display:block;padding:10px 0 6px}
  .top nav{display:flex;gap:6px 18px}
  .top nav a{min-height:42px}
  .section{padding-top:44px}
  .feature{padding:20px;gap:17px}
  .author,.footer-top{grid-template-columns:1fr}
  .form-row .primary,.card-actions button{width:100%;justify-content:center}
  .search input{width:100%}
  footer.footer{margin-top:44px}
}

#program-cards{grid-template-columns:minmax(0,490px)}
.author-portrait{display:block;width:100%;max-width:285px;aspect-ratio:4/5;object-fit:cover;object-position:center 42%;border:1px solid var(--line);border-radius:15px}
.subscription-badge{display:inline-flex;padding:4px 10px;border:1px solid var(--line);border-radius:999px;color:var(--accent);font-size:13px}
@media(max-width:565px){.author-portrait{max-width:240px;justify-self:center}}

.detail-page { padding: 30px 0 0; }
.detail-page .feature { align-items: center; margin-top: 24px; }
.detail-page h1 { font-size: clamp(38px, 6vw, 76px); }
.detail-page .detail-art { width: 100%; aspect-ratio: 3/2; object-fit: cover; border-radius: 15px; }
.detail-page .card-preview { max-width: 36rem; margin-top: 18px; }
.detail-page .card-actions { gap: 12px; }
.form-opt-in { display: flex; align-items: flex-start; gap: 8px; }
.form-opt-in input { flex: none; margin-top: 4px; }
@media(max-width: 565px) {
  .detail-page { padding-top: 10px; }
  .detail-page .feature { grid-template-columns: 1fr; }
}
