:root{--ink:#101828;--ink2:#1c2937;--cream:#fcfaf6;--sand:#f4efe7;--line:#e8e4dd;--muted:#64717c;--gold:#d7a870;--peach:#ffcc9a;--mint:#a9d1c9;--green:#146053;--serif:Georgia,'Times New Roman',serif;--sans:Inter,'Segoe UI',Arial,sans-serif;--shadow:0 30px 80px rgba(18,26,36,.09)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}img{max-width:100%}::selection{background:#fae0bb;color:#111}.container{width:min(1200px,calc(100% - 48px));margin:auto}.container.narrow{width:min(820px,calc(100% - 48px))}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:11px;font-weight:800;color:var(--green)}.eyebrow.light{color:var(--peach)}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.12}h1,h2,.editorial-title{font-family:var(--serif);font-weight:500;letter-spacing:-.045em}h1{font-size:clamp(58px,7.1vw,112px)}h2{font-size:clamp(38px,4.4vw,64px)}h3{font-size:23px;font-weight:650}p{color:var(--muted)}.lead{font-size:18px;line-height:1.75;max-width:600px}.section{padding:105px 0}.section.soft{background:var(--sand)}.section-top{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:42px}.section-top p{max-width:465px;margin:8px 0 0}.section-top h2{margin:12px 0 0}.section-link{display:inline-flex;align-items:center;gap:12px;font-weight:800;font-size:13px;white-space:nowrap;padding:10px 0;border-bottom:1px solid currentColor}.section-link:hover{color:var(--green)}.section-link .arrow{font-size:19px;transition:transform .2s}.section-link:hover .arrow{transform:translateX(4px)}
.announcement{background:#101c28;color:#f1dfc9;padding:8px 0;text-align:center;font-size:10px;letter-spacing:.2em;font-weight:700;text-transform:uppercase}.site-header{position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(17,27,39,.075);background:rgba(252,250,246,.94);backdrop-filter:blur(16px)}.nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px;min-width:190px}.brand-mark{width:43px;height:43px;background:#16283a;color:#f9d09f;display:grid;place-items:center;font-family:var(--serif);font-size:27px;line-height:1;border-radius:50% 50% 42% 42%;position:relative}.brand-mark:after{content:'';position:absolute;inset:5px;border:1px solid rgba(250,214,165,.43);border-radius:inherit}.brand-title{font-weight:850;font-size:15px;letter-spacing:.22em;line-height:1.1}.brand-sub{display:block;margin-top:5px;font-weight:700;font-size:8px;letter-spacing:.26em;color:#82909b}.nav-links{display:flex;align-items:center;gap:34px}.nav-links a{font-size:13px;font-weight:730;color:#3b4853;transition:color .2s}.nav-links a:hover,.nav-links a.active{color:#b77b48}.nav-actions{display:flex;align-items:center;gap:16px}.btn{display:inline-flex;justify-content:center;align-items:center;gap:13px;border:1px solid transparent;border-radius:999px;padding:14px 23px;font-size:13px;font-weight:800;line-height:1.2;transition:transform .2s,background .2s,border .2s;white-space:nowrap}.btn:hover{transform:translateY(-2px)}.btn-dark{background:#1a2c3c;color:white}.btn-dark:hover{background:#314c5d}.btn-light{background:#fff;color:#1b2a34}.btn-outline{background:transparent;border-color:#c7c9c7;color:var(--ink)}.btn-gold{background:#f4c692;color:#122134}.btn-gold:hover{background:#ffdbad}.btn.wide{width:100%}.menu-toggle{display:none;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink);font-size:20px}
.hero{background:#142231;position:relative;overflow:hidden;color:#fff;isolation:isolate}.hero:before{content:'';position:absolute;top:-350px;right:-350px;width:900px;height:900px;background:radial-gradient(circle,rgba(187,142,100,.31),transparent 66%);pointer-events:none;z-index:-1}.hero:after{content:'';position:absolute;bottom:-320px;left:-190px;width:720px;height:720px;background:radial-gradient(circle,rgba(75,143,136,.16),transparent 66%);pointer-events:none;z-index:-1}.hero-grid{display:grid;grid-template-columns:1.07fr .93fr;align-items:center;min-height:690px;gap:25px;padding:58px 0 70px}.hero h1{font-size:clamp(58px,6.9vw,105px);margin:21px 0 23px;max-width:700px}.hero h1 em{font-style:italic;font-weight:400;color:#f0bb83}.hero p{color:#b7c3c9;max-width:520px;font-size:17px;line-height:1.8}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}.hero-meta{display:flex;gap:35px;margin-top:58px;padding-top:26px;border-top:1px solid rgba(255,255,255,.17);max-width:520px}.hero-meta strong{font-family:var(--serif);font-size:33px;font-weight:500;color:#f2d2a8;display:block;line-height:1.1}.hero-meta span{color:#9fadb8;font-size:12px}.hero-art{height:575px;position:relative;display:flex;justify-content:center;align-items:center}.orbit{position:absolute;width:510px;height:510px;border:1px solid rgba(255,255,255,.11);border-radius:50%;transform:rotate(-22deg)}.orbit:after{content:'';position:absolute;inset:64px;border:1px solid rgba(255,255,255,.09);border-radius:50%}.hero-cover{height:405px;width:286px;position:absolute;box-shadow:27px 26px 70px rgba(0,0,0,.45);border-radius:2px 10px 10px 2px;border-left:8px solid rgba(0,0,0,.23);padding:30px;overflow:hidden;transition:transform .4s}.hero-cover.one{background:#d8ba96;transform:rotate(-13deg) translate(-83px,13px);z-index:2;color:#233d45}.hero-cover.two{background:#49685b;transform:rotate(13deg) translate(108px,-25px);z-index:1;color:#f8e6c8}.hero-cover:before{content:'';position:absolute;inset:-110px -40px auto;height:280px;border-radius:50%;border:1px solid currentColor;opacity:.28;transform:rotate(20deg)}.hero-cover:after{content:'';position:absolute;bottom:-100px;right:-120px;width:350px;height:350px;border:1px solid currentColor;border-radius:50%;opacity:.3}.hero-cover .small{font-size:10px;letter-spacing:.24em;font-weight:800;text-transform:uppercase;opacity:.7}.hero-cover .big{font-family:var(--serif);font-size:42px;line-height:1.02;letter-spacing:-.06em;margin-top:100px;max-width:240px}.hero-cover .end{position:absolute;bottom:29px;left:30px;font-size:11px;text-transform:uppercase;letter-spacing:.15em;font-weight:700}.floating-note{position:absolute;right:-12px;bottom:44px;background:#f9f7f1;color:#182934;z-index:4;width:240px;box-shadow:0 20px 65px rgba(0,0,0,.25);padding:22px;border-radius:13px;transform:rotate(4deg)}.floating-note .dot{width:29px;height:29px;border-radius:50%;display:inline-grid;place-items:center;background:#e9b97e;color:#213039;font-weight:bold}.floating-note strong{display:block;font-size:15px;margin-top:12px}.floating-note small{color:#75828c;font-size:12px}.float-star{position:absolute;color:#f1c391;font-size:40px;top:40px;right:15px;z-index:3}
.pill-row{display:flex;gap:10px;flex-wrap:wrap}.pill{border:1px solid #e0e3df;border-radius:40px;font-size:12px;font-weight:750;padding:7px 13px;white-space:nowrap;color:#547164;background:#eef2eb}.quote-strip{background:#e8ebdf;text-align:center;padding:35px 10px}.quote-strip span{font-family:var(--serif);font-style:italic;font-size:25px;color:#31584e;letter-spacing:-.025em}.card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.book-card{min-width:0}.book-cover-wrap{height:326px;background:#eee7dd;border-radius:9px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.book-cover-wrap:after{content:'';position:absolute;bottom:0;left:0;right:0;height:90px;background:linear-gradient(transparent,rgba(16,20,28,.045))}.book-cover{height:260px;width:179px;border-radius:2px 7px 7px 2px;box-shadow:11px 18px 25px rgba(26,29,34,.18);padding:17px 16px;display:flex;flex-direction:column;position:relative;overflow:hidden;border-left:5px solid rgba(0,0,0,.19);transform:rotate(-4deg);transition:transform .4s;flex:none}.book-card:hover .book-cover{transform:rotate(-1deg) translateY(-5px)}.book-cover:before{content:'';position:absolute;width:245px;height:245px;border:1px solid currentColor;border-radius:50%;opacity:.25;bottom:-100px;right:-123px}.book-cover:after{content:'';position:absolute;width:110px;height:110px;border:1px solid currentColor;border-radius:50%;opacity:.25;top:41px;right:-42px}.cover-top{font-size:8px;text-transform:uppercase;letter-spacing:.24em;font-weight:800;opacity:.8;position:relative;z-index:1}.cover-title{font-family:var(--serif);font-size:27px;line-height:.99;font-weight:600;letter-spacing:-.055em;margin-top:auto;position:relative;z-index:1;overflow-wrap:anywhere}.cover-author{font-size:8px;text-transform:uppercase;letter-spacing:.17em;font-weight:750;border-top:1px solid currentColor;padding-top:11px;margin-top:17px;opacity:.82;position:relative;z-index:1}.book-card .card-label{margin-top:19px;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.13em;color:#b18860}.book-card h3{margin:5px 0 6px;font-size:19px;line-height:1.3}.book-card p{font-size:12px;margin:0 0 8px;line-height:1.55}.card-text-link{font-size:12px;font-weight:850;color:#28594d;border-bottom:1px solid #28594d;padding-bottom:2px}.theme-sage{background:#30564f;color:#f5ebd5}.theme-coral{background:#c47e65;color:#fff8ea}.theme-ivory{background:#e1ceaa;color:#33433e}.theme-night{background:#233b51;color:#ffdfb1}.theme-lavender{background:#746b85;color:#fff5e9}.theme-rust{background:#9e4f4b;color:#fff4dc}.theme-slate{background:#4f626f;color:#fff4df}.theme-ocean{background:#467e8a;color:#f9f8ed}.theme-forest{background:#4f6755;color:#ffedca}.theme-plum{background:#58405e;color:#ffead8}.theme-sky{background:#7096ad;color:#102c37}.theme-terra{background:#af7962;color:#fef5df}
.course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.course-card{border:1px solid #e7e5e0;border-radius:12px;overflow:hidden;background:white;transition:transform .25s,box-shadow .25s}.course-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.course-art{height:190px;position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:25px}.course-art:before{content:'';position:absolute;border:1px solid rgba(255,255,255,.45);border-radius:50%;width:310px;height:310px;right:-63px;top:-149px}.course-art:after{content:'';position:absolute;border:1px solid rgba(255,255,255,.35);border-radius:50%;width:240px;height:240px;right:45px;top:-95px}.course-art.ai{background:linear-gradient(130deg,#192c49,#4b7793);color:white}.course-art.design{background:linear-gradient(130deg,#935946,#d4a477);color:#fff8ed}.course-art.coaching{background:linear-gradient(130deg,#2c594e,#91aaa0);color:white}.course-art .symbol{font-family:var(--serif);font-size:93px;letter-spacing:-.1em;line-height:.75;position:relative;z-index:2}.course-art .art-tag{font-size:10px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;position:absolute;top:25px;left:25px;z-index:2}.course-content{padding:23px}.course-meta{font-size:11px;letter-spacing:.1em;font-weight:800;text-transform:uppercase;color:#8c7662}.course-card h3{font-size:21px;line-height:1.3;margin:10px 0}.course-card p{font-size:13px;min-height:60px;margin-bottom:21px}.course-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-top:13px;border-top:1px solid #eef0ee}.course-footer span{font-size:11px;font-weight:700;color:#79858b}.course-footer a{font-size:12px;font-weight:850;color:#195c52}.course-footer a:hover{text-decoration:underline}
.feature-panels{display:grid;grid-template-columns:1fr 1fr;gap:22px}.feature-panel{background:#16352f;color:white;border-radius:13px;padding:43px;min-height:290px;position:relative;overflow:hidden}.feature-panel:nth-child(2){background:#e8c59d;color:#1e3440}.feature-panel .panel-index{opacity:.65;font-size:11px;text-transform:uppercase;letter-spacing:.17em;font-weight:800}.feature-panel h3{font-family:var(--serif);font-weight:500;font-size:40px;max-width:410px;margin:35px 0 15px}.feature-panel p{color:inherit;opacity:.75;max-width:430px}.feature-panel:after{content:'';position:absolute;width:260px;height:260px;border:1px solid currentColor;opacity:.13;border-radius:50%;right:-100px;bottom:-110px}.feature-panel a{font-size:12px;font-weight:850;border-bottom:1px solid currentColor;padding-bottom:5px}
.page-hero{background:#172735;color:#fff;padding:92px 0 80px;position:relative;overflow:hidden}.page-hero:after{content:'';position:absolute;width:600px;height:600px;border:1px solid rgba(255,255,255,.11);border-radius:50%;right:-180px;top:-230px;box-shadow:0 0 0 90px rgba(255,255,255,.025),0 0 0 180px rgba(255,255,255,.02)}.page-hero .container{position:relative;z-index:1}.page-hero h1{font-size:clamp(52px,6vw,86px);max-width:860px;margin:18px 0}.page-hero p{color:#b9c6ce;max-width:720px;font-size:17px}.search-toolbar{display:flex;justify-content:space-between;gap:18px;align-items:center;margin:0 0 33px;flex-wrap:wrap}.filters{display:flex;flex-wrap:wrap;gap:8px}.filter-btn{border:1px solid #dedfdb;border-radius:999px;background:#fff;padding:10px 15px;font-size:12px;font-weight:750;color:#4c5a60}.filter-btn.active,.filter-btn:hover{background:#1f554b;color:white;border-color:#1f554b}.search-wrap{position:relative}.search-wrap:before{content:'⌕';position:absolute;left:15px;top:5px;font-size:27px;color:#74817c}.search-wrap input{padding:12px 16px 12px 42px;border-radius:99px;border:1px solid #dcdedb;background:#fff;width:260px;outline:none}.search-wrap input:focus{border-color:#377a70;box-shadow:0 0 0 3px rgba(55,122,112,.1)}.result-count{color:#85908c;font-size:12px;margin-top:25px}.catalog-empty{display:none;padding:60px 0;text-align:center;color:#778}.detail{padding:60px 0 100px}.crumb{font-size:12px;color:#72817d;font-weight:700;margin-bottom:40px}.crumb a{text-decoration:underline;text-underline-offset:3px}.detail-grid{display:grid;grid-template-columns:1fr 1.12fr;gap:75px;align-items:center}.detail-visual{background:#ede8df;min-height:570px;border-radius:15px;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.detail-visual .book-cover{width:270px;height:405px;padding:29px;border-radius:3px 10px 10px 3px;transform:rotate(-5deg)}.detail-visual .cover-top{font-size:11px}.detail-visual .cover-title{font-size:46px}.detail-visual .cover-author{font-size:11px}.detail-copy h1{font-size:clamp(43px,5vw,74px);margin:18px 0}.detail-copy .subtitle{font-family:var(--serif);font-size:23px;color:#6b7a7b;line-height:1.35;margin:0 0 22px}.detail-copy p{font-size:16px;line-height:1.85}.detail-author{color:#9c7b60;font-size:12px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.detail-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.meta-list{margin-top:35px;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);padding-top:20px;gap:15px}.meta-list div{font-size:12px;color:#738089}.meta-list strong{display:block;font-size:11px;color:#263840;text-transform:uppercase;letter-spacing:.12em;margin-bottom:5px}.detail-note{font-size:11px!important;color:#8d9594!important;margin-top:18px}.detail-section{padding:64px 0}.learning-list{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;counter-reset:learn}.learning-item{background:#fff;border:1px solid var(--line);border-radius:12px;padding:28px;min-height:160px}.learning-item:before{counter-increment:learn;content:'0' counter(learn);font-family:var(--serif);font-size:25px;color:#b87f4f;display:block;margin-bottom:18px}.learning-item strong{font-size:15px;line-height:1.5}.course-detail-banner{height:430px;border-radius:15px;position:relative;display:flex;align-items:end;padding:45px;color:#fff;overflow:hidden}.course-detail-banner.ai{background:linear-gradient(135deg,#132738,#537c8b)}.course-detail-banner.design{background:linear-gradient(135deg,#7d4b43,#d0a47c)}.course-detail-banner.coaching{background:linear-gradient(135deg,#204f49,#8caba0)}.course-detail-banner:before{content:'';position:absolute;width:560px;height:560px;border:1px solid rgba(255,255,255,.27);border-radius:50%;right:-200px;top:-200px;box-shadow:0 0 0 75px rgba(255,255,255,.055),0 0 0 155px rgba(255,255,255,.04)}.course-detail-banner strong{position:relative;z-index:2;font-family:var(--serif);font-size:clamp(58px,6vw,95px);font-weight:400;line-height:1}.course-detail-banner small{position:absolute;left:46px;top:42px;letter-spacing:.2em;text-transform:uppercase;font-weight:800;font-size:12px}.faqs{max-width:840px;margin:auto}.faq{border-bottom:1px solid var(--line);padding:25px 0}.faq h3{font-size:17px;margin-bottom:8px}.faq p{margin-bottom:0}.cta-block{background:#e5e8e0;text-align:center;padding:90px 20px}.cta-block h2{max-width:760px;margin:17px auto 22px}.cta-block p{max-width:550px;margin:auto auto 28px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}.about-art{background:#dde3dc;border-radius:15px;min-height:440px;display:grid;place-items:center;position:relative;overflow:hidden}.about-art:before{content:'';position:absolute;width:310px;height:310px;border-radius:50%;background:#284e4c;top:60px;left:90px;box-shadow:90px 120px 0 #a4b6aa}.about-art strong{position:relative;z-index:1;color:#f9dfb5;font-family:var(--serif);font-size:120px;font-weight:400;font-style:italic}.about-grid p{font-size:16px}.about-grid h2{margin:15px 0 24px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.contact-panel{border:1px solid var(--line);border-radius:12px;padding:33px;background:white}.contact-panel h3{margin:10px 0}.contact-panel p{min-height:82px}.notice{background:#eef2ed;color:#4d605c;padding:20px 24px;border-radius:10px;font-size:13px}.notice strong{color:#294d43}
.site-footer{background:#111d29;color:#e6e8e4;padding:70px 0 27px}.footer-top{display:grid;grid-template-columns:1.6fr .75fr .75fr .85fr;gap:45px;padding-bottom:60px}.site-footer p{color:#93a4af;max-width:370px;font-size:13px}.footer-brand{font-family:var(--serif);font-size:37px;letter-spacing:-.05em;margin-bottom:13px}.footer-col h4{font-size:11px;letter-spacing:.17em;text-transform:uppercase;color:#d6b78b;margin:4px 0 19px}.footer-col a{display:block;color:#a8b6c0;font-size:13px;margin:10px 0}.footer-col a:hover{color:white}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #293642;padding-top:24px;font-size:11px;color:#92a3ad}.footer-bottom a{text-decoration:underline}.muted-small{font-size:12px;color:#89958f}.hide{display:none!important}
@media(max-width:1020px){.nav-links{gap:19px}.nav-actions>.btn{display:none}.hero-grid{grid-template-columns:1fr 1fr}.hero-cover.one{transform:rotate(-13deg) translate(-40px,20px)}.hero-cover.two{transform:rotate(13deg) translate(66px,-19px)}.hero-art{transform:scale(.85)}.card-grid{grid-template-columns:repeat(3,1fr)}.course-grid{grid-template-columns:repeat(2,1fr)}.detail-grid{gap:35px}.detail-visual{min-height:480px}.footer-top{grid-template-columns:1.4fr 1fr 1fr;gap:20px}.footer-top>:last-child{display:none}}
@media(max-width:760px){.container{width:min(100% - 34px,580px)}.nav{height:66px}.brand{min-width:0}.brand-title{font-size:12px}.brand-sub{font-size:7px}.brand-mark{width:39px;height:39px}.menu-toggle{display:block}.nav-links{display:none;position:absolute;top:66px;left:0;right:0;background:#fcfaf6;padding:20px 25px 26px;box-shadow:0 18px 28px rgba(0,0,0,.09);flex-direction:column;align-items:stretch;gap:18px}.nav-links.open{display:flex}.hero-grid{grid-template-columns:1fr;min-height:unset;padding:65px 0 55px}.hero h1{font-size:clamp(58px,12vw,84px)}.hero-meta{margin-top:45px}.hero-art{height:370px;transform:scale(.72);margin:-20px -50px -25px}.hero-cover{height:370px;width:260px}.hero-cover .big{font-size:39px}.floating-note{right:-20px;bottom:-15px}.section{padding:67px 0}.section-top{display:block;margin-bottom:30px}.section-top h2{font-size:46px}.section-link{margin-top:20px}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.book-cover-wrap{height:240px}.book-cover{height:193px;width:132px;padding:13px}.cover-title{font-size:21px}.cover-top,.cover-author{font-size:7px}.course-grid{grid-template-columns:1fr}.course-card p{min-height:auto}.feature-panels{grid-template-columns:1fr}.feature-panel{padding:31px}.page-hero{padding:65px 0}.search-toolbar{display:block}.search-wrap{margin-top:18px}.search-wrap input{width:100%}.detail{padding:35px 0 70px}.detail-grid{grid-template-columns:1fr}.detail-visual{min-height:420px}.detail-copy h1{font-size:50px}.detail-section{padding:45px 0}.learning-list{grid-template-columns:1fr}.course-detail-banner{height:320px}.about-grid,.contact-grid{grid-template-columns:1fr;gap:25px}.about-art{min-height:330px}.footer-top{grid-template-columns:1fr 1fr;gap:26px}.footer-top>:first-child{grid-column:1/-1}.footer-top>:last-child{display:block}.footer-bottom{align-items:start;flex-direction:column}.quote-strip span{font-size:20px}}
@media(max-width:380px){.hero h1{font-size:50px}.card-grid{gap:11px}.book-cover-wrap{height:216px}.book-cover{transform:rotate(-3deg) scale(.88)}.hero-meta{gap:20px}.hero-meta strong{font-size:27px}.brand-title{letter-spacing:.13em}.brand-sub{letter-spacing:.12em}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.skip-link{position:absolute;top:-80px;left:18px;z-index:1000;background:#fff;color:#17372e;padding:12px 19px;border-radius:9px;font-weight:800}.skip-link:focus{top:12px}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #c98849;outline-offset:3px}

.brand-mark {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: -.08em;
}
.hero h1 {
  font-size: clamp(48px, 6vw, 92px);
  line-height: 1.03;
}
.about-art strong {
  font-size: clamp(64px, 9vw, 120px);
}

:root {
  --ink: #292026;
  --cream: #faf6ef;
  --sand: #f1e7dd;
  --line: #e5d8d0;
  --muted: #685a60;
  --green: #713d4e;
  --serif: "Instrument Serif", Georgia, serif;
  --sans: "DM Sans", "Segoe UI", Arial, sans-serif;
}

.site-header { background: rgba(250, 246, 239, .97); }
.brand-mark { background: #482330; color: #f9e2cb; border-radius: 50%; }
.brand-title { font-family: var(--serif); font-size: 26px; font-weight: 600; letter-spacing: -.045em; }
.nav-links a { color: #48353e; }
.nav-links a.active { color: #79394e; text-decoration: underline; text-underline-offset: 6px; }
.btn-dark { background: #4a2533; }
.btn-dark:hover { background: #6b394c; }
.page-hero, .site-footer { background: #34212a; }
.page-hero p, .site-footer p, .footer-col a, .footer-bottom { color: #e0cdd0; }
.filter-btn.active, .filter-btn:hover { background: #6b394c; border-color: #6b394c; }
.card-text-link, .course-footer a { color: #713d4e; }
.card-text-link { border-color: currentColor; }

.media-hero { background: #3e202b; color: #fff4e8; }
.media-hero-grid {
  display: grid;
  grid-template-columns: .9fr 1fr;
  align-items: center;
  gap: clamp(32px, 6vw, 90px);
  padding-block: clamp(58px, 7vw, 105px);
}
.media-intro h1 { font-size: clamp(52px, 6.5vw, 104px); line-height: .97; margin: 0 0 24px; }
.media-intro h1 em { color: #ebbcad; font-weight: inherit; }
.media-intro p { color: #ead7d2; font-size: clamp(16px, 1.5vw, 19px); max-width: 32ch; }
.media-intro .hero-actions { margin-top: 30px; }
.media-primary { background: #f7e2cc; color: #381d28; }
.media-secondary { border-color: #a77c8a; color: #fff4e8; }
.media-primary:hover { background: #fff0df; }
.media-secondary:hover { background: #5a3241; }
.media-hero-figure { margin: 0; background: #542d37; overflow: hidden; border-radius: 52% 52% 3px 3px / 16% 16% 3px 3px; }
.media-hero-figure img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
.media-index { border-bottom: 1px solid var(--line); }
.media-index-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.media-index-grid > a { padding: 25px 28px; display: flex; justify-content: space-between; align-items: center; gap: 18px; }
.media-index-grid > a:first-child { padding-left: 0; border-right: 1px solid var(--line); }
.media-index-grid > a:hover { color: var(--green); }
.media-index-grid strong { display: block; font: 32px/1.1 var(--serif); }
.media-index-grid small { color: var(--muted); }
.media-arrow { font-size: 23px; }
.media-cover-note { margin: 24px 0 0; color: var(--muted); }

@media (max-width: 760px) {
  .brand-title { font-size: 24px; }
  .media-hero-grid, .media-index-grid { grid-template-columns: 1fr; }
  .media-hero-grid { padding-block: 54px 30px; }
  .media-hero-figure { max-width: 520px; }
  .media-index-grid > a { padding-inline: 0; }
  .media-index-grid > a:first-child { border-right: 0; border-bottom: 1px solid var(--line); }
}
.menu-toggle { width: auto; min-width: 60px; padding: 0 11px; border-radius: 999px; font-size: 12px; font-weight: 750; }
.course-art .symbol { font-size: clamp(42px, 5vw, 70px); letter-spacing: -.04em; }
.course-detail-banner strong { font-size: clamp(53px, 6vw, 86px); letter-spacing: -.04em; }

.collection-section { padding-block: clamp(48px, 7vw, 88px); }
.collections { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); gap: 18px; }
.collection-card, .promo-video { background: #fffaf3; border: 1px solid var(--line); border-radius: 13px; overflow: hidden; }
.collection-photo { overflow: hidden; }
.collection-photo img { width: 100%; height: auto; aspect-ratio: 8 / 5; object-fit: cover; display: block; transition: transform .45s ease; }
.collection-card:hover img, .collection-card:focus-visible img { transform: scale(1.05); }
.collection-copy { padding: 23px; }
.collection-copy h3, .promo-video h3 { font: 400 clamp(25px, 2.5vw, 35px)/1.08 var(--serif); letter-spacing: -.025em; margin-bottom: 10px; }
.collection-copy p, .promo-video p { margin-bottom: 16px; }
.collection-copy > span { font-weight: 700; color: #703d51; }
.visual-banner { position: relative; isolation: isolate; display: grid; min-height: clamp(310px, 38vw, 525px); background: #3e202b; color: #fff4e8; }
.visual-banner-image, .visual-banner-image::after { position: absolute; inset: 0; z-index: -1; }
.visual-banner-image::after { content: ""; z-index: 0; background: linear-gradient(90deg, #2c1720 0%, rgba(44,23,32,.95) 31%, rgba(44,23,32,.54) 68%, rgba(44,23,32,.22) 100%); }
.visual-banner-image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.visual-banner-content { padding-block: clamp(44px, 7vw, 94px); align-self: center; animation: banner-arrival .52s ease-out both; }
.visual-banner-content h1 { max-width: 19ch; font-size: clamp(43px, 6vw, 92px); margin: 14px 0; }
.visual-banner-content p { color: #f1dfdf; max-width: 54ch; font-size: clamp(16px, 1.6vw, 20px); }
.visual-banner-content .btn { margin-top: 12px; }
.detail-copy h2 { font-size: clamp(37px, 4vw, 58px); }
.course-detail-banner { display: block; padding: 0; }
.course-detail-banner img { width: 100%; height: 100%; object-fit: cover; display: block; }
.promo-note { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin-top: 28px; padding: 24px; background: var(--sand); border-radius: 12px; }
.promo-note h3, .promo-note p { margin-bottom: 5px; }
.promo-video video { display: block; width: 100%; aspect-ratio: 16 / 9; background: #3e202b; object-fit: cover; }
.promo-video h3, .promo-video p { margin-inline: 21px; }
.promo-video h3 { margin-top: 18px; }
#book-retailers, #course-previews { scroll-margin-top: 100px; }
@keyframes banner-arrival { from { opacity: .35; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 620px) {
 .visual-banner-image::after { background: rgba(44, 23, 32, .78); }
 .promo-note { align-items: flex-start; flex-direction: column; }
}
.promo-download { display: inline-block; margin: 0 21px 20px; text-decoration: underline; color: var(--green); font-weight: 700; }
.media-preview-link { margin-top: 27px; }

.book-cover, .course-art { isolation: isolate; }
.book-cover .preview-art, .course-art .preview-art { position: absolute; inset: 0; z-index: -1; overflow: hidden; }
.preview-art img { width: 100%; height: 100%; display: block; object-fit: cover; }
.preview-art::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(35,17,25,.68), rgba(35,17,25,.38) 34%, #291620 88%); }
.book-cover:has(.preview-art), .course-art:has(.preview-art) { color: #fff7ef; }
.book-cover:has(.preview-art)::before, .book-cover:has(.preview-art)::after, .course-art:has(.preview-art)::before, .course-art:has(.preview-art)::after { display: none; }
.course-art-title { position: relative; font: 400 clamp(23px, 2.5vw, 35px)/1.05 var(--serif); max-width: 90%; }
.course-art { aspect-ratio: 16 / 9; height: auto; }
.course-detail-banner { height: auto; }
.course-detail-banner .course-art { border-radius: inherit; }
.book-cover .official-art, .course-art .official-art { position: absolute; inset: 0; z-index: 3; width: 100%; height: 100%; object-fit: contain; background: #301d28; opacity: 0; }
.official-art[data-loaded] { opacity: 1; }

.media-hero-feature { display: block; border-radius: 15px; }
.featured-cover { margin: 0; }
.featured-cover-stage {
 display: grid;
 place-items: center;
 min-height: clamp(320px, 36vw, 485px);
 padding: 26px 24px;
 overflow: hidden;
 border: 1px solid rgba(250, 223, 207, .26);
 border-radius: 48% 48% 5px 5px / 17% 17% 5px 5px;
 background: radial-gradient(ellipse at 50% 33%, #a66671, #6d394b 46%, #41202e 84%);
}
.featured-cover .book-cover {
 width: clamp(168px, 23vw, 275px);
 height: auto;
 aspect-ratio: 2 / 3;
 transform: rotate(-5deg);
 box-shadow: 16px 25px 35px rgba(20, 9, 15, .6);
}
.featured-cover .cover-title { font-size: clamp(26px, 4vw, 45px); }
.featured-cover .official-art { object-fit: contain; }
.featured-cover figcaption {
 display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
 align-items: baseline;
 gap: 4px 16px;
 margin-top: 12px;
 color: #fff1e6;
}
.featured-cover figcaption span:first-child { font: 400 23px/1.2 var(--serif); }
.featured-cover figcaption span:last-child { color: #ead2cf; font-size: 13px; }
.footer-wordmark { display: inline-flex; align-items: center; gap: 14px; letter-spacing: -.045em; color: #fff0df; }
.footer-wordmark em { color: #e8b7aa; font-weight: inherit; }
.footer-monogram {
 display: grid;
 place-items: center;
 width: 48px;
 height: 48px;
 flex: 0 0 48px;
 border-radius: 50%;
 outline: 1px solid #d8a68f;
 outline-offset: -5px;
 background: #6d3c50;
 color: #f7dfc8;
 font: italic 400 30px/1 var(--serif);
}
@media (max-width: 760px) {
 .media-hero-feature { width: 100%; max-width: 520px; }
 .featured-cover-stage { min-height: 330px; }
}

.audiobook-highlight { background: #321b26; color: #fff0e4; border-block: 1px solid #744655; }
.audiobook-grid {
 display: grid;
 grid-template-columns: minmax(150px, 205px) 1fr;
 align-items: center;
 gap: clamp(25px, 5vw, 70px);
 padding-block: clamp(37px, 6vw, 80px);
}
.audiobook-art { position: relative; padding: 0 0 10px 10px; }
.audiobook-art img {
 display: block;
 width: 100%;
 height: auto;
 aspect-ratio: 1;
 border-radius: 10px;
 object-fit: contain;
 background: #452634;
 box-shadow: 0 13px 30px rgba(12, 5, 9, .42);
}
.audiobook-copy h2, .audiobook-copy h3 {
 margin: 7px 0 12px;
 font: 400 clamp(36px, 5.7vw, 76px)/1.03 var(--serif);
 letter-spacing: -.035em;
}
.audiobook-copy p { color: #ead5d6; max-width: 55ch; margin-bottom: 20px; }
.audiobook-links { display: flex; flex-wrap: wrap; gap: 8px; }
.audiobook-wave {
 position: absolute;
 inset: auto auto 0 0;
 display: flex;
 align-items: center;
 justify-content: center;
 gap: 4px;
 width: 77px;
 height: 37px;
 border-radius: 20px;
 border: 1px solid #d19a98;
 background: #582f40;
}
.audiobook-wave i {
 height: 13px;
 width: 2px;
 border-radius: 2px;
 background: #f2c3ae;
}
.audiobook-wave.is-visible i { animation: audiobook-wave .9s ease-in-out 4 alternate both; }
.audiobook-wave i:nth-child(3n) { animation-delay: .19s; }
.audiobook-wave i:nth-child(3n+1) { animation-delay: .34s; }
@keyframes audiobook-wave { from { transform: scaleY(.4); } to { transform: scaleY(1.55); } }
@media (prefers-reduced-motion: reduce) { .audiobook-wave.is-visible i { animation: none; } }
@media (max-width: 600px) {
 .audiobook-grid { grid-template-columns: 1fr; }
 .audiobook-art { width: min(100%, 175px); }
 .audiobook-links .btn { white-space: normal; }
}

.media-index-grid > a:nth-child(n+3) { border-top: 1px solid var(--line); }
@media (min-width: 761px) {
 .media-index-grid > a:nth-child(3) { padding-left: 0; border-right: 1px solid var(--line); }
}
.nav-links { gap: clamp(12px, 2.2vw, 29px); }
.book-shopping { margin-block: 24px 0; }
.book-shopping .detail-actions { margin-top: 12px; }
.retailer-button { white-space: normal; text-align: center; }
.audio-library-link { display: inline-block; margin-top: 18px; color: #f2c3ae; text-decoration: underline; }
.audiobook-highlight, .book-shopping { scroll-margin-top: 100px; }
.podcast-index, .podcast-show { scroll-margin-top: 88px; }
.podcast-index .collection-photo img { aspect-ratio: 3 / 2; }
.podcast-card { display: flex; flex-direction: column; }
.podcast-card .collection-copy { flex: 1; display: flex; flex-direction: column; }
.podcast-card .collection-copy > span { margin-top: auto; padding-top: 8px; }
.podcast-show { padding-block: clamp(44px, 6vw, 78px); }
.podcast-show + .podcast-show { border-top: 1px solid var(--line); }
.podcast-show .section-top { align-items: center; flex-wrap: wrap; }
.podcast-show .section-top h2 { font-size: clamp(32px, 4vw, 54px); }
.podcast-episodes { padding: 0; margin: 0; list-style: none; }
.podcast-episode {
 display: flex;
 align-items: center;
 justify-content: space-between;
 gap: 12px 24px;
 padding: 16px 0;
 border-top: 1px solid var(--line);
}
.podcast-episode h3 { margin: 0; }
.podcast-episode .btn { flex-shrink: 0; }
@media (max-width: 600px) {
 .podcast-show .section-top .btn { margin-top: 16px; }
 .podcast-episode { align-items: flex-start; flex-direction: column; }
}
@media (prefers-reduced-motion: no-preference) {
 .media-intro { animation: banner-arrival .55s ease-out both; }
 .media-hero-feature { animation: banner-arrival .65s .07s ease-out both; }
 .media-index-grid > a, .retailer-button { transition: background-color .2s ease, color .2s ease, transform .2s ease; }
 .media-index-grid > a:hover, .media-index-grid > a:focus-visible { background: #f2e9df; }
 .media-index-grid .media-arrow { transition: transform .2s ease; }
 .media-index-grid > a:hover .media-arrow, .media-index-grid > a:focus-visible .media-arrow { transform: translateX(4px); }
 .collection-card.entered, .book-shopping.entered, .promo-video.entered { animation: banner-arrival .48s ease-out both; }
}
