@font-face{font-family:Satoshi;src:url('assets/Satoshi-Regular.otf') format('opentype');font-weight:400 700;font-display:swap}
@font-face{font-family:Signifier;src:url('assets/Signifier-Light.otf') format('opentype');font-weight:300 500;font-display:swap}
@font-face{font-family:Chanel;src:url('assets/AB-Chanel-Light.ttf') format('truetype');font-weight:300 500;font-display:swap}
:root{--page:#fcfaf2;--clean:#fffefb;--warm:#f9f6f1;--ink:#3a3a3a;--muted:#6d6a60;--gold:#796639;--soft-gold:#b7ab83;--bright-gold:#dbb965;--line:#e9e4d9;--ease:cubic-bezier(.22,1,.36,1);--smooth:cubic-bezier(.25,.1,.25,1);--gutter:clamp(24px,9.25vw,180px);--nav-height:76px;color-scheme:light}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--page);color:var(--ink);font-family:Satoshi,Arial,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Signifier,Georgia,serif;font-weight:300}h2{font-size:clamp(38px,3.45vw,60px);line-height:1.1;letter-spacing:-.032em;color:var(--gold)}h3{font-size:28px;line-height:1.2;color:var(--gold)}p{max-width:65ch}::selection{background:#d8c797;color:#382c15}:focus-visible{outline:2px solid var(--gold);outline-offset:5px}section{position:relative;scroll-margin-top:24px}.container{width:calc(100% - var(--gutter)*2);max-width:1408px;margin-inline:auto}.section{padding-block:clamp(90px,9vw,156px)}.eyebrow{font-family:Chanel,Satoshi,sans-serif;font-size:12px;line-height:1.65;letter-spacing:.16em;text-transform:uppercase;color:#7b776d}.section-heading{max-width:800px;margin:0 auto 58px;text-align:center}.section-heading>.eyebrow{width:100%;max-width:none;margin:0 auto 22px;text-align:center}.section-heading>p:last-child{margin:22px auto 0;max-width:550px;color:var(--muted)}.section-heading .button{margin-top:24px}.soft{color:var(--soft-gold)}.button-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px}.button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:46px;padding:12px 23px;border-radius:100px;border:1px solid #efefef;font-family:Chanel,Satoshi,sans-serif;font-size:12px;line-height:1.4;text-align:center;isolation:isolate;transition:transform .55s var(--ease),box-shadow .55s var(--ease),border-color .45s var(--ease),color .45s var(--ease);will-change:auto}.button-dark{background:var(--ink);color:#faf7ef}.button-light{background:var(--warm);color:var(--ink)}.button-arrow{font-family:Satoshi,sans-serif;font-size:18px;line-height:1;transition:transform .5s var(--ease)}.button:active{transform:translateY(0) scale(.975)}.button-dark:focus-visible{outline-color:var(--bright-gold)}.button:disabled{opacity:.4;cursor:default}.button-wide{width:100%}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:1000;top:10px;left:20px;padding:10px 20px;background:var(--clean);transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}
.announcement{display:flex;align-items:center;justify-content:center;gap:5px;min-height:32px;padding:7px 20px;background:#ece6d5;color:#5e543e;font-size:12px;line-height:1.5;text-align:center}.announcement b{font-weight:400;margin-left:10px}.navigation{position:sticky;top:0;z-index:100;height:var(--nav-height);background:rgba(255,254,251,var(--nav-opacity,1));transition:color .45s var(--smooth);color:var(--ink)}.navigation.on-dark{color:#faf7ef}.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;width:calc(100% - 7.4vw);max-width:1800px;margin:auto;height:var(--nav-height)}.brand{display:flex;align-items:center;gap:8px;flex-shrink:0}.brand-mark{width:27px;height:26px;object-fit:contain}.brand-word{width:134px;height:19px;transition:filter .4s}.on-dark .brand-word{filter:brightness(0) invert(1)}.desktop-links{display:flex;align-items:center;gap:30px}.desktop-links a,.sign-in{font-size:14px;position:relative}.desktop-links a::after,.sign-in::after{content:'';position:absolute;left:0;right:0;bottom:-5px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}.nav-actions{display:flex;align-items:center;gap:24px}.nav-signup{min-height:38px;padding:10px 18px;font-size:10px}.menu-toggle{display:none;border:0;background:none;width:44px;height:44px;padding:12px;color:inherit}.menu-toggle span{display:block;height:1px;background:currentColor;width:20px;margin:6px 0;transition:transform .4s}.mobile-menu[hidden]{display:none}.mobile-menu{position:absolute;top:var(--nav-height);left:0;right:0;background:var(--clean);color:var(--ink);padding:20px 28px 32px;display:flex;flex-direction:column;box-shadow:0 24px 30px #3328130b;max-height:calc(100svh - var(--nav-height));overflow:auto}.mobile-menu a{padding:14px 4px;border-bottom:1px solid var(--line);font-size:18px}.navigation.menu-active{background:var(--clean);color:var(--ink)}.menu-active .brand-word{filter:none}.menu-active .menu-toggle span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-active .menu-toggle span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.hero{min-height:740px;height:calc(100svh - 108px);max-height:1000px;display:flex;align-items:flex-end;justify-content:center;overflow:clip;background:#332d21;color:#faf7f1;padding:130px 24px 88px;isolation:isolate}.hero-media{position:absolute;inset:0;overflow:hidden;z-index:-3}.hero-image{position:absolute;width:118.57%;height:141.26%;max-width:none;left:-9.28%;top:-41.26%;object-fit:cover;object-position:50% 50%;will-change:transform}.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,#17171300 26%,#09090728 43%,#000b 72%,#000e 100%)}.hero-copy{width:620px;max-width:100%;display:flex;flex-direction:column;align-items:center;text-align:center;gap:26px;will-change:transform,opacity}.hero-intro{display:flex;flex-direction:column;align-items:center;gap:18px}.social-proof{display:flex;align-items:center;gap:10px}.social-proof>img{width:102px;height:26px}.social-proof span{font-family:Chanel,Satoshi,sans-serif;font-size:9px;letter-spacing:.015em}.hero .eyebrow{color:#fffefb;font-size:11px;letter-spacing:.18em}.hero h1{font-size:clamp(64px,5.1vw,88px);line-height:.99;letter-spacing:-.03em;color:#fbeebe;max-width:560px;width:100%;display:flex;flex-direction:column;align-items:center}.hero h1>span:first-child{position:relative;z-index:1}.worldview{height:clamp(106px,7.65vw,132px);width:clamp(345px,30vw,515px);max-width:100%;overflow:hidden;margin-top:0;display:block}.worldview img{width:100%;height:auto;margin-top:-.68%}.hero-description{max-width:530px;font-size:16px;line-height:1.55;color:#eeece4}.hero .button{min-height:44px;font-size:10px}.hero .button-dark{border-color:#ffffff8f}.scroll-cue{position:absolute;right:3.7vw;bottom:38px;display:flex;align-items:center;gap:14px;font-family:Chanel,sans-serif;text-transform:uppercase;font-size:9px;letter-spacing:.18em;color:#f6eed8}.scroll-line{display:block;width:1px;height:46px;background:#fff3;position:relative;overflow:hidden}.scroll-line::after{content:'';position:absolute;left:0;right:0;top:-100%;height:100%;background:#fbeebe;animation:scroll-line 2.8s var(--ease) infinite}@keyframes scroll-line{0%{transform:translateY(0)}70%,100%{transform:translateY(200%)}}
.library{background:linear-gradient(#fcfaf2,#f8f4f1);padding-block:170px}.library-layout{display:grid;grid-template-columns:1fr 1.05fr;align-items:center;gap:40px}.library-count{font-family:Signifier,Georgia,serif;color:var(--soft-gold);font-size:48px;line-height:1.2;margin-bottom:4px}.library-copy h2{margin:8px 0 20px}.library-copy>p:last-of-type{color:#57524d;max-width:575px}.search{display:flex;align-items:center;gap:12px;max-width:435px;padding:6px 8px 6px 20px;background:white;border:1px solid #fff;border-radius:100px;margin-top:36px;box-shadow:0 12px 20px #00000008;transition:box-shadow .5s,border-color .5s}.search:focus-within{border-color:var(--soft-gold);box-shadow:0 12px 25px #78643713}.search img{width:18px;height:18px;flex-shrink:0}.search input{width:100%;min-width:0;border:0;outline:0;background:transparent;font-size:14px;height:42px;color:var(--ink)}.search input::placeholder{color:#8b877f}.search button{flex-shrink:0;border:0;border-radius:50%;background:var(--warm);height:36px;width:36px;font-size:19px;color:var(--gold);transition:background .3s}.author-portraits{display:flex;align-items:center;justify-content:center;min-width:0;isolation:isolate}.portrait{position:relative;width:42%;aspect-ratio:395/288;flex-shrink:0}.portrait-side{width:34%;z-index:0}.portrait-side:first-child{margin-right:-10%}.portrait-side:last-child{margin-left:-10%}.portrait-center{width:50%;z-index:1}.portrait-arc{position:absolute;width:81%;height:73%;inset:20.4% 9.5% 7.3%}.portrait-face{position:absolute;width:63%;height:auto;top:0;left:18.7%;object-fit:cover}.portrait::after{content:'';position:absolute;inset:43% 0 -1px;background:linear-gradient(transparent,#f9f6f1e6 60%,#f9f6f1)}
@media(hover:hover) and (pointer:fine){.button:hover{transform:translateY(-3px);box-shadow:0 10px 28px #3a321b15;border-color:var(--soft-gold)}.button-dark:hover{box-shadow:0 0 0 3px #dbb96520,0 10px 26px #0002;border-color:var(--bright-gold);color:#fff}.button:hover .button-arrow{transform:translate(3px,-3px)}.desktop-links a:hover::after,.sign-in:hover::after{transform:scaleX(1)}.search button:hover{background:#eae2ce}}
.collection{background:var(--clean);overflow:clip}.collection-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:54px}.collection-heading .eyebrow{margin-bottom:16px}.book-shelf{display:flex;gap:24px;padding:22px var(--gutter) 44px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);overscroll-behavior-x:contain;touch-action:pan-x pan-y;cursor:grab}.book-shelf::-webkit-scrollbar{display:none}.book-shelf.dragging{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto;user-select:none}.book-item{flex:0 0 clamp(218px,17vw,280px);scroll-snap-align:start;perspective:1000px}.book-link{display:block;outline-offset:9px;border-radius:13px}.book-cover{position:relative;width:100%;aspect-ratio:247.148/260;background:#064125;border-radius:13px;overflow:hidden;transform:rotateY(0deg) translateY(0);transform-origin:left center;transition:transform .85s var(--ease),box-shadow .85s var(--ease);box-shadow:0 3px 5px #00000006;isolation:isolate}.book-finish{position:absolute;width:100%;height:100%;inset:0;object-fit:cover;pointer-events:none;z-index:0;transition:transform 1s var(--ease)}.book-title{font-family:Signifier,Georgia,serif;color:var(--book-ink,#f6df9c);font-size:19px;line-height:1.2;text-align:center;position:absolute;top:46px;left:10%;right:8%;z-index:2;max-width:none;text-shadow:0 .5px .2px #09070040}.book-author{position:absolute;bottom:18px;left:12px;right:8px;display:flex;align-items:baseline;justify-content:center;gap:2px;text-align:center;color:var(--book-ink,#f6df9c);font-family:Signifier,Georgia,serif;font-size:15px;line-height:1.3;z-index:2;max-width:none;text-shadow:0 .5px .2px #09070040}.book-author em{font-weight:300}.shelf-controls{display:flex;justify-content:space-between;align-items:center;margin-top:8px;gap:28px}.shelf-arrows{display:flex;gap:16px}.round-button{display:inline-grid;place-items:center;width:44px;height:44px;border:1px solid #fff;background:#f5f1e3;border-radius:50%;transition:transform .4s var(--ease),background .4s var(--ease),border-color .4s var(--ease)}.round-button img{width:18px;height:18px;transition:opacity .3s var(--ease)}.arrow-left{transform:rotate(180deg)}.arrow-right{transform:none}.round-button:disabled{opacity:1;background:#e9e0d4;border-color:#e9e0d4;cursor:default}.round-button:disabled img{opacity:.32}.shelf-caption{font-size:13px;color:#81765c}.empty-search{min-height:250px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:20px;width:100%}.empty-search[hidden]{display:none}
.alexandria-guide{background:#135052;color:#faf7f1;padding-block:104px}.alexandria-layout{display:grid;grid-template-columns:minmax(0,540px) minmax(0,575px);justify-content:space-between;gap:clamp(72px,12vw,288px);align-items:center}.alexandria-copy{display:flex;flex-direction:column;align-items:flex-start;gap:24px}.alexandria-guide h2{color:#faf7f1;margin:0;font-size:clamp(52px,4vw,64px);line-height:.98}.alexandria-guide h2 span{color:#e3c778}.alexandria-copy>.eyebrow{color:#82bdb1;margin:0}.alexandria-copy>p:last-of-type{color:#dfebe6;line-height:1.6}.orb{position:relative;width:40px;height:40px;flex-shrink:0;border-radius:50%;background:#19c9ab;box-shadow:0 0 22px #06c0a970;isolation:isolate}.orb-video{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit;transform:scale(1.03);animation:orb-breathe 6s ease-in-out infinite;will-change:transform,filter}.orb-glass{position:absolute;inset:0;z-index:1;border-radius:inherit;border:1px solid #d9fff238;box-shadow:inset 8px 8px 16px #ffffff14,inset -9px -10px 20px #001c1a24,0 0 16px #06c0a947;pointer-events:none}.orb-large{height:88px;width:88px;box-shadow:0 0 22px #06c0a970}.orb-large .orb-glass{border-color:#e7fff64a;box-shadow:inset 15px 14px 22px #ffffff16,inset -16px -18px 30px #001c1a28,0 0 22px #06c0a970}@keyframes orb-breathe{0%,100%{transform:scale(1.03);filter:saturate(1) brightness(1)}50%{transform:scale(1.075);filter:saturate(1.12) brightness(1.07)}}.prompt-list{display:flex;flex-direction:column;align-items:flex-start;gap:13px;margin-top:0}.prompt{display:inline-flex;align-items:center;gap:8px;min-height:36px;background:var(--warm);color:#716d63;border:1px solid #fff8;border-radius:100px;padding:8px 16px;font-family:Chanel,Satoshi,sans-serif;font-size:10px;line-height:1.4;transition:transform .5s var(--ease),box-shadow .5s,border-color .5s}.prompt.active{border-color:#dbb965;background:#fffefb;color:#5f4c23;box-shadow:0 0 0 3px #dbb96520}.chat-card{background:rgba(11,26,20,.55);border:1px solid #ffffff1a;border-radius:20px;padding:24px;min-height:410px;box-shadow:0 28px 68px #001f1e1a}.chat-brand{display:flex;align-items:center;gap:12px;margin-bottom:16px}.chat-brand>span:first-of-type{font-family:Chanel,sans-serif;font-size:11px}.chat-conversation{display:flex;flex-direction:column;gap:16px;min-height:226px}.chat-question,.chat-answer,.chat-followup{border-radius:22px;padding:13px 16px;color:var(--ink);font-size:13px;line-height:1.6;max-width:100%;width:100%}.chat-question{background:#dbb866}.chat-answer,.chat-followup{background:#fff}.chat-composer{display:flex;align-items:center;width:230px;max-width:100%;gap:12px;margin-top:16px;border:3px solid #264f45;border-radius:50px;background:#fff;color:#57776b;padding:5px 13px 5px 5px;font-size:14px;transition:border-color .4s}.chat-composer .orb{width:32px;height:32px;box-shadow:none}.chat-composer>span:last-child{margin-left:auto}.pillars{background:linear-gradient(#fcfaf2,#f8f4f1)}.pillar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.pillar{padding:28px;border:1px solid #fff;border-radius:9px;background:#ffffff14}.pillar-icon{width:50px;height:50px;display:grid;place-items:center;background:#f3ebd5;border:1px solid #e6d9b5;border-radius:11px;font-size:24px;color:var(--gold);margin-bottom:20px}.pillar h3{font-size:25px;color:#9a8956;margin-bottom:13px}.pillar p{font-size:15px;line-height:1.65;color:#777469}.section-action{text-align:center;margin-top:54px}
.features{background:var(--clean)}.feature-tabs{position:relative;isolation:isolate;width:max-content;max-width:100%;display:flex;align-items:center;gap:2px;margin:auto;padding:5px;background:#e9e7d9;border-radius:100px;overflow:hidden;scrollbar-width:none}.feature-tab-indicator{position:absolute;z-index:0;left:0;top:0;width:1px;height:1px;border-radius:100px;background:#fff;box-shadow:0 4px 16px #3c2e0c0c,0 1px 2px #4e3d1710;pointer-events:none;transform-origin:center;will-change:transform,width,height}.feature-tabs button{position:relative;z-index:1;font-family:Chanel,Satoshi,sans-serif;font-size:11px;line-height:1.4;white-space:nowrap;min-height:44px;padding:12px 20px;border:0;border-radius:100px;background:transparent;color:#77746a;transition:color .42s var(--ease);will-change:transform}.feature-tabs button[aria-selected=true]{background:transparent;color:var(--ink);box-shadow:none}.feature-panels{position:relative;isolation:isolate}.feature-panel{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(40px,6vw,95px);align-items:center;max-width:1120px;margin:auto;min-height:590px;padding-top:64px}.feature-panel[hidden]{display:none}.feature-panel.is-transitioning{will-change:opacity,transform,filter}.feature-copy h3{font-size:56px;margin:14px 0 18px;letter-spacing:-.03em}.feature-strap{font-family:Chanel,sans-serif;font-size:11px!important;line-height:1.7!important;color:var(--gold)!important;margin-bottom:20px}.feature-copy>p:last-child{color:#676458;font-size:16px;max-width:375px}.feed-preview{position:relative;width:100%;aspect-ratio:510/437}.feed-card{position:absolute;width:48%;height:auto;filter:drop-shadow(0 18px 20px #3e30110a)}.feed-quote{left:0;top:30%;width:50.4%}.feed-author{right:1%;top:0;width:45.8%}.feed-history{right:0;bottom:0;width:47.2%}.audio-preview{max-width:360px;width:100%;margin:auto;padding:30px;background:var(--warm);border:1px solid #fff;border-radius:22px;box-shadow:0 25px 55px #4238170b;text-align:center}.audio-preview>img{width:155px;height:auto;margin:0 auto 24px;border-radius:10px;box-shadow:0 18px 24px #2737271c}.audio-preview h4,.reading-list-preview h4,.great-works-preview h4{font-family:Signifier,Georgia,serif;font-size:27px;font-weight:300;line-height:1.2;margin:10px 0 22px;color:var(--gold)}.audio-preview .eyebrow{font-size:10px}.audio-progress{height:3px;border-radius:4px;background:#ddd7c8}.audio-progress span{display:block;height:100%;width:34%;background:var(--gold)}.audio-times{display:flex;justify-content:space-between;font-size:12px;color:#8d846d;margin:8px 0 20px}.reading-list-preview{padding:35px;background:#faf7ef;border:1px solid #fff;border-radius:16px;box-shadow:0 30px 70px #382d1110;max-width:450px;width:100%;margin:auto}.reading-list-preview ol{list-style:none;padding:0;margin:0 0 24px}.reading-list-preview li{display:flex;align-items:center;gap:20px;padding:20px 0;border-bottom:1px solid #e4ddcd}.reading-list-preview li>span{font-size:12px;color:#a08e5d}.reading-list-preview li>span:last-child{margin-left:auto}.reading-list-preview strong{font-family:Signifier,Georgia,serif;font-size:21px;font-weight:300;color:var(--gold)}.reading-list-preview li p{font-size:14px;color:#8c8268}.great-works-preview{display:flex;align-items:center;gap:28px;padding:40px 30px;background:#e9e7d9;border-radius:18px;min-height:350px}.great-works-preview>img{width:43%;height:auto;border-radius:10px;transform:rotate(-6deg);box-shadow:12px 22px 24px #28302320}.great-works-preview>div{flex:1}.great-works-preview .eyebrow{font-size:10px}.great-works-preview h4{font-size:29px;margin-bottom:8px}.great-works-preview p{font-size:14px}.great-works-preview .button{margin-top:24px;padding:12px 16px;font-family:Satoshi,sans-serif;font-size:13px}
.reading-stats{background:#faf7ef}.stats-grid{display:grid;grid-template-columns:1.08fr .9fr 1.22fr;gap:18px;max-width:960px;margin:auto}.stat-card{border:1px solid #f0eadd;background:#fffefb;border-radius:8px;padding:26px;min-height:176px;overflow:hidden}.stat-number{font-family:Signifier,Georgia,serif;color:var(--gold);font-size:48px;line-height:1.15;font-variant-numeric:tabular-nums}.stat-card .eyebrow{font-family:Satoshi,sans-serif;font-size:11px;letter-spacing:.05em;margin-top:9px;color:#8d856e}.stat-streak{display:flex;align-items:flex-start;gap:16px;background:linear-gradient(#e5d7c1,#faf7ef)}.streak-symbol{font-family:Georgia,serif;font-size:48px;color:#c4973a;line-height:1.1}.reading-bars{display:flex;align-items:flex-end;height:42px;gap:6px;margin-top:18px}.reading-bars span{height:var(--bar-height);flex:1;background:#918357;border-radius:3px 3px 0 0;transform-origin:bottom;transition:transform 1.4s var(--ease)}.reading-bars span:nth-child(n+5){background:#bdb38e}.motion-ready .stat-card:not(.is-visible) .reading-bars span{transform:scaleY(.08)}.reading-paths{background:#fff}.path-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1160px;margin:auto}.path-card{position:relative;min-height:350px;aspect-ratio:1/1;padding:30px;border-radius:8px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;transition:box-shadow .65s var(--ease)}.path-stoic{background:#064125}.path-west{background:#1c3347}.path-east{background:#be4134}.path-card .eyebrow{color:#faf7ef;font-size:10px}.path-card h3{color:#faf7ef;font-size:27px;margin-bottom:12px}.path-card>div>p{color:#e4d7aa;font-size:13px;line-height:1.55}.path-arrow{position:absolute;right:26px;top:25px;font-size:24px;color:#e6d6a7;opacity:0;transform:translate(-7px,7px);transition:transform .6s var(--ease),opacity .6s}.comparison{background:var(--clean)}.comparison h2{font-size:clamp(32px,2.65vw,46px);line-height:1.22;max-width:850px;margin:auto}.comparison-wrap{max-width:940px;margin:auto;border:1px solid #f3ede2;border-radius:10px;overflow:hidden}.comparison table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:14px;line-height:1.65}.comparison th{font-family:Chanel,sans-serif;font-size:11px;color:var(--gold);background:#faf7ef;font-weight:400;text-align:left;padding:22px 26px}.comparison td{width:50%;padding:20px 26px;border-bottom:1px solid #efebe0;vertical-align:top}.comparison td:first-child{color:#939087;border-right:1px solid #efebe0}.comparison tr:last-child td{border-bottom:0}.comparison td span{display:inline-block;color:#328064;margin-right:10px}.comparison td:first-child span{color:#ad9560}
.manifesto{height:175svh;min-height:1000px;background:linear-gradient(#f8f5ef,#f6f2e9);isolation:isolate}.manifesto-stage{position:sticky;top:0;min-height:650px;height:100svh;display:flex;align-items:center;justify-content:center;padding:110px var(--gutter) 76px}.manifesto-inner{width:100%;max-width:1050px;text-align:center}.manifesto-inner>.eyebrow{font-family:Chanel,sans-serif;font-weight:400;letter-spacing:.18em;line-height:1.8;font-size:12px;margin-bottom:38px;color:#71664e}.manifesto-inner>p#manifesto-text{font-family:Signifier,Georgia,serif;font-size:clamp(32px,3.5vw,58px);line-height:1.26;letter-spacing:-.02em;color:var(--gold);max-width:none}.manifesto-word{opacity:var(--word-alpha,1);display:inline-block}.manifesto-signature{margin:34px auto 0;font-size:14px;color:#8d8570;opacity:var(--signature-opacity,1)}.manifesto-rule{width:64px;height:1px;background:#dad2bf;margin:32px auto 0;overflow:hidden}.manifesto-rule>span{display:block;width:100%;height:100%;background:var(--gold);transform:scaleX(var(--manifesto-progress,1));transform-origin:left}.community{background:#064125;color:#fff}.community-layout{display:grid;grid-template-columns:1fr 1.35fr;gap:75px;align-items:center}.community-copy .eyebrow{color:#e6d9ad}.community h2{color:#fff;font-size:clamp(34px,2.9vw,48px);margin:20px 0}.community-copy>p:last-of-type{color:#c9d9cf;font-size:16px}.newsletter-link{margin-top:30px;font-family:Satoshi,sans-serif;font-size:14px}.community-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.community-stats>div{padding:28px;background:var(--clean);border-radius:7px}.community-stats>div>p{font-family:Signifier,Georgia,serif;font-size:40px;color:var(--soft-gold);line-height:1.2;margin-bottom:8px}.community-stats span{font-size:14px;color:var(--gold)}.membership{background:#152a21;color:#fff}.membership .section-heading{margin-bottom:36px}.membership .section-heading .eyebrow{color:#b7ab83}.membership h2{color:#fff;font-size:clamp(36px,3vw,52px)}.membership h2 span{color:#d8dfd8}.membership .section-heading>p:last-child{color:#c4cec7}.billing-toggle{border:0;margin:0 auto 44px;padding:5px;border-radius:100px;background:#fff;display:flex;width:max-content;gap:3px;color:var(--ink)}.billing-toggle label{position:relative;cursor:pointer}.billing-toggle input{position:absolute;opacity:0;inset:0;cursor:pointer;width:100%;height:100%;margin:0;z-index:1}.billing-toggle label>span{display:flex;gap:10px;align-items:center;justify-content:center;min-height:42px;padding:10px 20px;border-radius:100px;font-size:14px;transition:background .45s var(--ease)}.billing-toggle input:checked+span{background:#dbb965}.billing-toggle input:focus-visible+span{outline:2px solid #064125;outline-offset:3px}.billing-toggle b{background:#4d9c8b;color:white;font-size:10px;font-weight:400;padding:2px 7px;border-radius:100px;white-space:nowrap}.pricing-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:960px;margin:auto}.price-card{background:#fff;border:1px solid #fff;border-radius:19px;padding:36px;display:flex;flex-direction:column;align-items:flex-start;color:var(--ink)}.price-card>.eyebrow{font-size:11px;color:var(--gold);margin-bottom:22px}.price{font-family:Signifier,Georgia,serif;font-size:58px;line-height:1.1;letter-spacing:-.04em;color:var(--gold);font-variant-numeric:tabular-nums}.billing-description{font-size:14px;line-height:1.6;color:#93815a;margin-top:8px;min-height:23px}.price-card ul{padding:0;list-style:none;margin:24px 0 30px;width:100%;font-size:15px;line-height:1.5}.price-card li{position:relative;padding-left:23px;margin:14px 0}.price-card li::before{content:'✓';position:absolute;left:0;top:0;color:#aa9055}.price-card>.button{margin-top:auto}.plus-card{background:#fffdf8;border-color:#dbb965}.plus-card .price{color:var(--soft-gold)}.button-gold{background:#dbb965;border-color:#dbb965;color:#352c17}.pricing-note{text-align:center;margin:38px auto 0;color:#b4c2b7;font-size:12px;max-width:620px}
.app-download{background:linear-gradient(#f8f5ef,#f9f6f1);overflow:clip}.app-mark{width:42px;height:40px;object-fit:contain;margin:0 auto 24px}.app-download .section-heading{max-width:650px;margin-bottom:64px}.app-download .section-heading>p:last-of-type{max-width:540px;margin:22px auto 0;color:var(--muted)}.store-links{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:30px}.store-badge{display:flex;flex-direction:column;text-align:left;min-width:145px;background:#28262a;border:1px solid #28262a;border-radius:10px;color:#fff;padding:12px 22px;transition:transform .5s var(--ease),box-shadow .5s}.store-badge>span{font-size:11px;line-height:1.4;color:#ddd}.store-badge strong{font-family:Satoshi,sans-serif;font-weight:500;font-size:19px;line-height:1.4}.phone-stage{display:flex;justify-content:center;perspective:1400px;padding:10px 0 12px}.phone-preview{position:relative;width:280px;aspect-ratio:1/2;filter:drop-shadow(0 36px 27px #5144261a)}.phone-frame,.phone-screen{position:absolute;display:block}.phone-frame{z-index:0;inset:0;width:100%;height:100%}.phone-screen{z-index:1;top:2.4%;right:4.4%;bottom:2.2%;left:4.4%;width:91.2%;height:95.4%;object-fit:cover;border-radius:10.5% / 5.2%}.closing-quote{background:#fffcf5;text-align:center;padding-block:120px}.closing-quote blockquote{font-family:Signifier,Georgia,serif;font-size:clamp(28px,2.6vw,44px);font-weight:300;line-height:1.25;letter-spacing:-.02em;color:var(--gold);max-width:980px;margin:0 auto 28px}.closing-quote .eyebrow{margin:auto;font-size:11px}.footer{background:var(--ink);color:#d1cec6;padding:70px 3.7vw 28px}.footer-main{display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr;gap:55px;max-width:1600px;margin:auto}.footer-brand .brand{margin-bottom:24px}.footer .brand-word{filter:brightness(0) invert(1);opacity:.9}.footer-brand>p{font-size:14px;line-height:1.65;max-width:270px;color:#bab6ae}.footer nav{display:flex;flex-direction:column;gap:14px;align-items:flex-start}.footer nav .eyebrow{color:#bdb394;font-size:10px;margin-bottom:6px}.footer nav a{font-size:14px;color:#d1cec6;transition:color .35s}.footer-bottom{display:flex;align-items:center;gap:28px;border-top:1px solid #ffffff12;padding-top:28px;margin:56px auto 0;max-width:1600px;font-size:12px;color:#a9a69e}.footer-bottom p{margin-right:auto}.motion-toggle{border:0;background:none;color:inherit;font-size:12px;padding:6px 0;text-underline-offset:5px;text-decoration:underline;cursor:pointer}.noscript-note{text-align:center;padding:18px}.noscript-note a{text-decoration:underline}.on-dark .desktop-links,.on-dark .sign-in{text-shadow:0 1px 12px #0009}
.feature-tabs { overflow: visible; }
/* Eyebrows fill their own heading or card column, including flex layouts. */
.eyebrow { width: 100%; max-width: none; margin-inline: auto; text-align: center; }
.library-copy > .eyebrow,
.collection-heading > div > .eyebrow,
.alexandria-copy > .eyebrow,
.feature-copy > .eyebrow,
.community-copy > .eyebrow { text-align: left; margin-inline: 0; }
.community-stats p [data-count] { display: inline; font: inherit; color: inherit; line-height: inherit; font-variant-numeric: tabular-nums; }
.feature-panels { overflow-anchor: none; }

/* Motion stays on compositor-friendly properties. Native scrolling is untouched. */
.motion-ready [data-reveal]{transition:opacity 1s var(--ease),transform 1.05s var(--ease);transition-delay:var(--reveal-delay,0ms)}.motion-ready [data-reveal]:not(.is-visible){opacity:0;transform:translate3d(0,36px,0)}.motion-ready [data-reveal].is-visible{opacity:1;transform:translate3d(0,0,0)}.motion-ready .hero-intro{animation:hero-in 1.15s var(--ease) .05s both}.motion-ready .hero h1{animation:hero-in 1.2s var(--ease) .17s both}.motion-ready .hero-description{animation:hero-in 1.15s var(--ease) .3s both}.motion-ready .hero .button-row{animation:hero-in 1.1s var(--ease) .42s both}@keyframes hero-in{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}.motion-paused [data-reveal]{opacity:1!important;transform:none!important;transition:none!important}.motion-paused .hero-image,.motion-paused .hero-copy,.motion-paused [data-parallax]{transform:none!important;opacity:1!important}.motion-paused .manifesto-word,.motion-paused .manifesto-signature{opacity:1!important}.motion-paused .manifesto{height:auto;min-height:0}.motion-paused .manifesto-stage{position:relative;height:auto;min-height:0;padding-block:130px}.motion-paused *, .motion-paused *::before,.motion-paused *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-paused .manifesto-rule>span{transform:none}.motion-paused .stat-card .reading-bars span{transform:none!important}
@media(hover:hover) and (pointer:fine){.book-link:hover .book-cover{transform:translateY(-12px) rotateY(-7deg) rotateZ(-1deg);box-shadow:15px 23px 30px #27211218}.book-link:hover .book-finish{transform:scale(1.018)}.round-button:not(:disabled):hover{transform:translateY(-3px);background:#ece4ce}.prompt:hover{transform:translateX(4px);border-color:#dbb965}.chat-composer:hover{border-color:#65c5a6}.path-card:hover{box-shadow:0 22px 40px #1b302720}.path-card:hover .path-arrow{opacity:1;transform:translate(0,0)}.path-card>div{transition:transform .7s var(--ease)}.path-card:hover>div{transform:translateY(-8px)}.store-badge:hover{transform:translateY(-4px);box-shadow:0 16px 27px #211b181a}.footer nav a:hover{color:#f5d58b}.button-gold:hover{box-shadow:0 10px 30px #dbb96528;border-color:#f6d98d}}

/* Shared safeguards for narrow screens, safe areas, and large text. */
:root {
  --safe-top: env(safe-area-inset-top, 0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --safe-left: env(safe-area-inset-left, 0px);
  --safe-right: env(safe-area-inset-right, 0px);
}
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
html.menu-open { overflow: hidden; }
.signup-label-compact { display: none; }
.library-layout > *, .alexandria-layout > *, .feature-panel > *,
.pillar-grid > *, .stats-grid > *, .path-grid > *, .community-layout > *,
.pricing-grid > *, .footer-main > * { min-width: 0; }
.book-shelf { touch-action: pan-x pan-y pinch-zoom; }
.manifesto {
  height: calc(var(--manifesto-stage-height, 100svh) + clamp(360px, 70svh, 850px));
  min-height: 0;
}
.manifesto-stage { height: auto; min-height: 100svh; }
.manifesto.manifesto-flow { height: auto; min-height: 0; }
.manifesto-flow .manifesto-stage { position: relative; }
.motion-paused .manifesto { height: auto; min-height: 0; }
.motion-paused .manifesto-stage { min-height: 0; }

@media (max-width: 1100px) {
  :root { --gutter: 48px; }
  .nav-inner { width: calc(100% - 48px); }
  .desktop-links { gap: 18px; }
  .nav-actions { gap: 16px; }
  .nav-signup { font-family: Satoshi, sans-serif; font-size: 13px; }
  .hero { min-height: 730px; }
  .library { padding-block: 110px; }
  .library-layout { gap: 20px; }
  .alexandria-layout { gap: 55px; }
  .chat-card { padding: 22px; }
  .pillar { padding: 22px; }
  .path-card { min-height: 320px; padding: 24px; }
  .path-card h3 { font-size: 25px; }
  .feature-panel { min-height: 530px; }
  .feature-copy h3 { font-size: 46px; }
  .community-layout { gap: 40px; }
  .stats-grid { gap: 14px; }
  .stat-number { font-size: 42px; }
  .stat-card { padding: 22px; }
  .footer-main { gap: 40px; }
  .great-works-preview { gap: 22px; padding: 30px 22px; }
}

@media (max-width: 900px) {
  :root { --nav-row-height: max(72px, 4.5rem); --nav-height: calc(var(--nav-row-height) + var(--safe-top)); }
  html { scroll-padding-top: calc(var(--nav-height) + 24px); }
  .navigation { padding-top: var(--safe-top); }
  .nav-inner { height: var(--nav-row-height); }
  .desktop-links, .sign-in { display: none; }
  .menu-toggle { display: block; flex: 0 0 48px; width: 48px; height: 48px; padding: 14px; }
  .nav-actions { gap: 12px; }
  .nav-signup { min-height: 44px; }
  .brand { min-height: 44px; }
  .mobile-menu {
    position: fixed;
    inset: var(--mobile-menu-top, var(--nav-height)) 0 0;
    max-height: none;
    padding: 20px max(28px, var(--safe-right)) max(32px, var(--safe-bottom)) max(28px, var(--safe-left));
    overflow-y: auto;
    overscroll-behavior: contain;
    box-shadow: none;
  }
  .mobile-menu a {
    display: flex;
    align-items: center;
    min-height: 64px;
    padding: 12px 0;
    font-family: Signifier, Georgia, serif;
    font-size: clamp(28px, 5vw, 38px);
    line-height: 1.2;
    color: var(--gold);
  }
  .mobile-menu a:last-child { margin-top: 12px; font-family: Satoshi, sans-serif; font-size: 16px; }
  .library-layout { grid-template-columns: minmax(0, 1fr); gap: 60px; }
  .library-copy { max-width: 620px; }
  .library-copy h2 { max-width: 620px; }
  .author-portraits { max-width: 640px; width: 100%; margin: auto; }
  .alexandria-layout { grid-template-columns: minmax(0, 1fr); gap: 60px; }
  .alexandria-copy { max-width: 580px; }
  .chat-wrap { max-width: 580px; width: 100%; margin: auto; }
  .pillar-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
  .pillar { padding: 20px; }
  .pillar h3 { font-size: 23px; }
  .pillar p { font-size: 15px; }
  .feature-panel { gap: 35px; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); min-height: 480px; }
  .feature-copy h3 { font-size: 43px; }
  .path-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; }
  .path-card { aspect-ratio: auto; min-height: 320px; padding: 22px; }
  .path-card h3 { font-size: 23px; }
  .path-card .eyebrow { font-family: Satoshi, sans-serif; font-size: 12px; letter-spacing: .06em; }
  .path-card > div > p { font-size: 14px; }
  .community-layout { grid-template-columns: minmax(0, 1fr); gap: 45px; }
  .community-copy { max-width: 550px; }
  .community-stats > div { padding: 28px; }
  .stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stat-card:last-child { grid-column: 1 / -1; }
  .reading-bars { max-width: 450px; }
  .footer-main { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
  .footer-brand { grid-column: 1 / -1; margin-bottom: 15px; }
  .great-works-preview { flex-direction: column; align-items: flex-start; }
  .great-works-preview > img { width: 140px; margin: auto; }
}

/* Phone composition: readable type, one clear primary action, native touch. */
@media (max-width: 700px) {
  :root { --gutter: clamp(20px, 5.7vw, 32px); --nav-row-height: max(64px, 4rem); }
  body { font-size: 1rem; }
  button, a { touch-action: manipulation; }
  h2 { font-size: clamp(2.25rem, 10.7vw, 3rem); line-height: 1.1; text-wrap: balance; }
  h3 { text-wrap: balance; }
  h2, h3, p { overflow-wrap: break-word; }
  .container { width: auto; margin-inline: max(var(--gutter), var(--safe-left)) max(var(--gutter), var(--safe-right)); }
  .section { padding-block: clamp(72px, 18vw, 104px); }
  .section-heading { margin-bottom: 36px; }
  .section-heading .eyebrow { margin-bottom: 18px; }
  .section-heading > p:last-child { margin-top: 20px; font-size: 1rem; line-height: 1.65; }
  .section-heading br { display: none; }
  .eyebrow { font-size: .75rem; letter-spacing: .13em; }
  .button { font-family: Satoshi, sans-serif; font-size: .9375rem; min-height: 48px; min-width: 0; padding: 13px 22px; overflow-wrap: anywhere; }
  .button-row { gap: 12px; }
  .announcement { font-size: .75rem; min-height: 36px; gap: 4px; padding: 8px 12px; }
  .announcement > span { display: none; }
  .announcement b { margin-left: 3px; }
  .nav-inner {
    width: auto;
    margin-inline: max(16px, var(--safe-left)) max(16px, var(--safe-right));
    gap: 12px;
  }
  .brand { gap: 6px; }
  .brand-word { width: 110px; height: 16px; }
  .brand-mark { width: 23px; height: 23px; }
  .signup-label-full { display: none; }
  .signup-label-compact { display: inline; }
  .nav-actions { gap: 4px; }
  .nav-signup { font-size: .875rem; min-height: 44px; padding: 10px 16px; }
  .menu-toggle { border-radius: 50%; }
  .hero {
    height: auto;
    min-height: calc(100svh - var(--nav-height) - 36px);
    max-height: none;
    padding: clamp(136px, 23svh, 210px) max(var(--gutter), var(--safe-right)) 62px max(var(--gutter), var(--safe-left));
  }
  .hero-image { height: 124%; width: 180%; left: -40%; top: -24%; object-position: 52% center; }
  .hero-shade { background: linear-gradient(180deg, #0000 0%, #0002 26%, #000a 53%, #000e 100%); }
  .hero-copy { gap: 24px; width: 390px; }
  .hero-intro { gap: 15px; width: 100%; }
  .social-proof { gap: 10px; }
  .social-proof > img { width: 80px; height: 24px; flex-shrink: 0; }
  .social-proof span { font-family: Satoshi, sans-serif; font-size: .75rem; line-height: 1.4; max-width: 24ch; text-align: left; }
  .hero .eyebrow { font-size: .6875rem; letter-spacing: .12em; }
  .hero h1 { font-size: clamp(3.5rem, 16.5vw, 4.75rem); line-height: 1; }
  .worldview { width: min(100%, 360px); height: auto; aspect-ratio: 488 / 123; margin-top: 6px; }
  .hero-description { font-size: 1rem; line-height: 1.6; max-width: 34ch; text-wrap: pretty; }
  .hero .button-row { display: grid; grid-template-columns: minmax(0, 1fr); width: 100%; max-width: 320px; gap: 10px; }
  .hero .button { min-height: 50px; font-family: Satoshi, sans-serif; font-size: .9375rem; padding: 13px 20px; }
  .scroll-cue { right: var(--gutter); bottom: 17px; font-family: Satoshi, sans-serif; font-size: .75rem; letter-spacing: .04em; min-height: 32px; gap: 9px; }
  .scroll-line { height: 23px; }
  .library { padding-block: 80px 88px; }
  .library-count { font-size: 3.25rem; }
  .library-copy h2 { font-size: clamp(2.375rem, 10.7vw, 3rem); margin-block: 12px 22px; }
  .library-copy > p:last-of-type { line-height: 1.7; }
  .library-layout { gap: 50px; }
  .author-portraits { max-width: 500px; }
  .search { width: 100%; max-width: none; gap: 10px; padding: 5px 6px 5px 16px; margin-top: 28px; }
  .search input { font-size: 1rem; height: 44px; }
  .search button { width: 44px; height: 44px; }
  .collection-heading { flex-direction: column; align-items: flex-start; gap: 22px; margin-bottom: 24px; }
  .collection-heading h2 { font-size: clamp(2.25rem, 10.7vw, 3rem); }
  .collection-heading h2 br { display: none; }
  .book-shelf { gap: 16px; padding: 20px max(var(--gutter), var(--safe-right)) 30px max(var(--gutter), var(--safe-left)); scroll-padding-inline: max(var(--gutter), var(--safe-left)) max(var(--gutter), var(--safe-right)); }
  .book-item { flex-basis: clamp(216px, 69vw, 286px); }
  .book-title { font-size: 1.125rem; }
  .book-author { font-size: .9375rem; }
  .book-mark { top: 12px; }
  .shelf-controls { gap: 16px; margin-top: 8px; }
  .shelf-arrows { gap: 10px; }
  .round-button { width: 48px; height: 48px; }
  .shelf-caption { font-size: .8125rem; max-width: 165px; text-align: right; }
  .empty-search { min-width: 240px; }
  .alexandria-guide { padding-block: 82px; }
  .alexandria-guide h2 { font-size: clamp(2.75rem, 12vw, 3.5rem); }
  .alexandria-layout { gap: 42px; }
  .orb-large { width: 72px; height: 72px; }
  .prompt-list { width: 100%; gap: 12px; margin-top: 28px; }
  .prompt { max-width: 100%; min-height: 48px; font-size: .875rem; padding: 12px 15px; text-align: left; }
  .prompt > span { min-width: 0; }
  .chat-card { padding: 20px; border-radius: 20px; min-height: 0; }
  .chat-brand { gap: 10px; margin-bottom: 22px; flex-wrap: wrap; }
  .chat-brand > span:first-of-type { font-family: Satoshi, sans-serif; font-size: .875rem; }
  .chat-demo-label { font-size: .75rem; }
  .chat-conversation { min-height: 0; gap: 14px; }
  .chat-question, .chat-answer, .chat-followup { font-size: 1rem; line-height: 1.6; padding: 15px; border-radius: 18px; }
  .chat-composer { min-height: 48px; font-size: 1rem; }
  .pillar-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .pillar { padding: 27px; }
  .pillar-icon { margin-bottom: 20px; }
  .pillar h3 { font-size: 1.875rem; }
  .pillar p { font-size: 1rem; line-height: 1.7; }
  .section-action { margin-top: 34px; }
  .feature-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    max-width: 440px;
    gap: 4px;
    padding: 5px;
    border-radius: 21px;
    overflow: visible;
  }
  .feature-tabs button { font-family: Satoshi, sans-serif; font-size: .9375rem; padding: 12px 10px; min-height: 48px; border-radius: 16px; white-space: normal; overflow-wrap: anywhere; }
  .feature-tab-indicator { border-radius: 16px; }
  .feature-panel { grid-template-columns: minmax(0, 1fr); gap: 38px; padding-top: 38px; min-height: 0; }
  .feature-copy { max-width: 460px; }
  .feature-copy h3 { font-size: clamp(2.5rem, 11vw, 3rem); margin: 12px 0 18px; }
  .feature-strap { font-size: .75rem !important; line-height: 1.7 !important; }
  .feature-copy > p:last-child { max-width: 100%; line-height: 1.7; }
  .feed-preview { max-width: 450px; margin: 12px auto 20px; }
  .audio-preview { padding: 28px; max-width: 380px; }
  .audio-preview .eyebrow { font-size: .75rem; }
  .audio-times { font-size: .8125rem; }
  .reading-list-preview { padding: 25px; }
  .reading-list-preview li { gap: 14px; }
  .reading-list-preview li > div { min-width: 0; }
  .reading-list-preview li > span { font-size: .8125rem; }
  .reading-list-preview strong { font-size: 1.375rem; }
  .great-works-preview { flex-direction: column; align-items: center; gap: 28px; padding: 32px 28px; min-height: 0; text-align: center; }
  .great-works-preview > img { width: 48%; max-width: 170px; margin: 0; }
  .great-works-preview h4 { font-size: 2rem; }
  .great-works-preview .eyebrow { font-size: .75rem; }
  .great-works-preview .button { font-size: .875rem; min-height: 48px; }
  .stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .stat-card { padding: 20px; min-height: 160px; }
  .stat-card:first-child { grid-column: 1 / -1; min-height: 135px; }
  .stat-card:last-child { grid-column: auto; }
  .stat-number { font-size: clamp(2.125rem, 9vw, 2.75rem); }
  .stat-card .eyebrow { font-size: .75rem; line-height: 1.5; letter-spacing: .02em; }
  .stat-streak { gap: 20px; align-items: center; }
  .stat-streak .stat-number { font-size: 2.75rem; }
  .reading-bars { height: 32px; gap: 4px; }
  .path-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .path-card { min-height: 250px; aspect-ratio: auto; padding: 26px; }
  .path-card h3 { font-size: 1.9375rem; }
  .path-card > div > p { font-size: .9375rem; }
  .path-card .eyebrow { font-family: Satoshi, sans-serif; font-size: .75rem; letter-spacing: .12em; }
  .path-arrow { opacity: 1; transform: none; }
  .comparison h2 { font-size: clamp(2rem, 8.8vw, 2.5rem); }
  .comparison th { font-family: Satoshi, sans-serif; font-size: .9375rem; padding: 18px 14px; }
  .comparison td { padding: 18px 14px; font-size: .875rem; line-height: 1.65; overflow-wrap: break-word; }
  .comparison td span { display: block; margin-bottom: 6px; font-size: 1.125rem; }
  .manifesto { height: calc(var(--manifesto-stage-height, 100svh) + 65svh); }
  .manifesto-stage { padding: calc(var(--nav-height) + 36px) max(var(--gutter), var(--safe-right)) 64px max(var(--gutter), var(--safe-left)); min-height: 100svh; height: auto; }
  .manifesto-inner { max-width: 520px; }
  .manifesto-inner > .eyebrow { font-size: .75rem; margin-bottom: 28px; }
  .manifesto-inner > p#manifesto-text { font-size: clamp(1.75rem, 8.2vw, 2.25rem); line-height: 1.3; letter-spacing: -.022em; }
  .manifesto-signature { margin-top: 28px; font-size: .875rem; }
  .manifesto-rule { margin-top: 25px; }
  .motion-paused .manifesto-stage { padding-block: 90px; }
  .community-layout { gap: 36px; }
  .community h2 { font-size: clamp(2.375rem, 10.7vw, 3rem); }
  .community-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .community-stats > div { padding: 22px 18px; }
  .community-stats > div > p { font-size: clamp(2rem, 8.4vw, 2.5rem); }
  .community-stats span { font-size: .875rem; line-height: 1.5; display: block; }
  .membership h2 { font-size: clamp(2.125rem, 9.7vw, 2.75rem); }
  .billing-toggle { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); width: 100%; max-width: 340px; margin-bottom: 32px; }
  .billing-toggle label { min-width: 0; }
  .billing-toggle label > span { min-height: 48px; height: 100%; flex-wrap: wrap; padding: 12px 17px; font-size: .9375rem; gap: 4px 8px; }
  .billing-toggle b { font-size: .75rem; padding-inline: 6px; }
  .pricing-grid { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .price-card { padding: clamp(24px, 7vw, 32px); border-radius: 18px; }
  .price-card > .eyebrow { font-size: .75rem; margin-bottom: 22px; }
  .price { font-size: 3.625rem; }
  .price-card ul { font-size: 1rem; line-height: 1.6; }
  .price-card li { margin-block: 16px; }
  .price-card > .button { min-height: 52px; font-size: 1rem; }
  .billing-description { font-size: .9375rem; }
  .pricing-note { font-size: .8125rem; line-height: 1.7; margin-top: 30px; }
  .pricing-note br { display: none; }
  .app-download .section-heading { margin-bottom: 50px; }
  .store-links { flex-wrap: wrap; gap: 12px; }
  .store-badge { flex: 1 1 140px; max-width: 200px; min-width: 0; min-height: 68px; padding: 12px 16px; }
  .store-badge > span { font-size: .75rem; }
  .store-badge strong { font-size: 1.125rem; }
  .phone-preview { width: min(72vw, 280px); }
  .closing-quote { padding-block: 84px; }
  .closing-quote blockquote { font-size: clamp(1.875rem, 8.5vw, 2.5rem); line-height: 1.3; }
  .closing-quote .eyebrow { font-size: .75rem; }
  .footer { padding: 56px max(var(--gutter), var(--safe-right)) max(24px, var(--safe-bottom)) max(var(--gutter), var(--safe-left)); }
  .footer-main { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 24px; }
  .footer-brand { margin-bottom: 0; }
  .footer-brand > p { font-size: .9375rem; }
  .footer nav { gap: 2px; align-items: stretch; }
  .footer nav a { display: flex; align-items: center; min-height: 44px; font-size: .9375rem; }
  .footer nav .eyebrow { font-family: Satoshi, sans-serif; font-size: .75rem; letter-spacing: .12em; margin-bottom: 10px; }
  .footer nav:last-child { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 24px; }
  .footer nav:last-child > .eyebrow { grid-column: 1 / -1; }
  .footer-bottom { flex-wrap: wrap; gap: 8px 18px; margin-top: 32px; padding-top: 22px; }
  .footer-bottom > p { width: 100%; font-size: .8125rem; }
  .footer-bottom > a { margin-left: auto; display: inline-flex; align-items: center; min-height: 44px; font-size: .875rem; }
  .motion-toggle { min-height: 44px; font-size: .875rem; }
  .motion-ready [data-reveal] { transition-duration: .8s, .85s; }
  .motion-ready [data-reveal]:not(.is-visible) { transform: translate3d(0, 20px, 0); }
  .motion-ready .hero-intro { animation-duration: .95s; }
  .motion-ready .hero h1 { animation-duration: 1s; animation-delay: .12s; }
  .motion-ready .hero-description { animation-duration: .95s; animation-delay: .22s; }
  .motion-ready .hero .button-row { animation-duration: .95s; animation-delay: .32s; }
}

@media (max-width: 370px) {
  .brand-word { width: 99px; }
  .nav-signup { padding-inline: 13px; }
  .hero-copy { gap: 22px; }
  .hero .eyebrow { font-family: Satoshi, sans-serif; font-size: .75rem; letter-spacing: .07em; }
  .social-proof span { max-width: 21ch; }
  .chat-card { padding: 16px; }
  .chat-demo-label { max-width: 92px; }
  .stat-card { padding: 18px 16px; }
  .billing-toggle label > span { padding-inline: 12px; }
  .store-badge { max-width: none; }
}

@media (max-height: 740px) and (max-width: 700px) {
  .hero { padding-top: 96px; padding-bottom: 54px; }
  .hero-copy { gap: 20px; }
  .hero-intro { gap: 12px; }
  .hero h1 { font-size: clamp(3.5rem, 15vw, 4rem); }
  .worldview { max-width: 320px; }
  .mobile-menu { padding-top: 8px; }
  .mobile-menu a { min-height: 54px; font-size: 1.75rem; }
}

@media (max-height: 520px) and (max-width: 1000px) and (orientation: landscape) {
  .hero { min-height: 630px; padding-top: 100px; padding-bottom: 64px; }
  .manifesto-stage { min-height: 100svh; padding-block: 94px 56px; }
  .mobile-menu a { min-height: 48px; font-size: 1.5rem; }
}

@media (hover: none) and (pointer: coarse) {
  .button, .round-button, .prompt, .store-badge, .path-card { transition-duration: .18s; }
  .round-button:not(:disabled):active, .prompt:active, .store-badge:active { transform: scale(.97); }
  .path-card:active { transform: scale(.985); }
  .book-link:active .book-cover { transform: scale(.985); transition-duration: .18s; }
  .path-arrow { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
  .scroll-line::after { display: none; }
}
@media (min-width: 1900px) {
  .hero { height: 900px; }
  .hero-image { object-position: center 45%; }
}
@media print {
  .navigation, .announcement, .scroll-cue, .motion-toggle, .store-links { display: none; }
  .hero { min-height: 500px; height: 500px; }
  section { break-inside: avoid; }
  .manifesto { height: auto; min-height: 0; }
  .manifesto-stage { position: relative; height: auto; min-height: 0; padding-block: 60px; }
  [data-reveal], .manifesto-word { opacity: 1 !important; transform: none !important; }
}

/* Figma reading-path composition: compact editorial cards with centred emblems. */
.reading-paths { padding-block: 104px; background: #fff; }
.reading-paths-inner { display: flex; flex-direction: column; align-items: center; gap: 50px; }
.reading-paths .section-heading { display: flex; flex-direction: column; align-items: center; gap: 12px; width: min(640px, 100%); margin: 0; }
.reading-paths .section-heading > .eyebrow { margin: 0; font-size: 10px; line-height: 1; letter-spacing: .2em; color: var(--gold); }
.reading-paths .section-heading h2 { width: min(600px, 100%); margin: 0; font-size: 32px; line-height: 1; letter-spacing: 0; }
.reading-paths .section-heading > p:last-child { width: min(560px, 100%); margin: 0; font-size: 14px; line-height: 1.45; color: var(--ink); }
.reading-paths .path-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 345px)); gap: 20px; width: 100%; max-width: 1075px; margin: 0 auto; }
.reading-paths .path-card { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: space-between; aspect-ratio: 345 / 375; min-height: 375px; padding: 28px; overflow: hidden; border-radius: 8px; text-align: center; transition: transform .65s var(--ease), box-shadow .65s var(--ease); }
.reading-paths .path-card > .eyebrow { width: 100%; max-width: none; margin: 0; color: #fff; font-family: Chanel, Satoshi, sans-serif; font-size: 10px; line-height: 1; letter-spacing: .2em; text-align: center; }
.reading-paths .path-emblem { width: 200px; height: 200px; object-fit: contain; object-position: center bottom; transition: transform .75s var(--ease), filter .75s var(--ease); }
.reading-paths .path-copy { display: flex; flex-direction: column; align-items: center; gap: 6px; width: 100%; max-width: none; margin: 0; text-align: center; transition: none; }
.reading-paths .path-card h3 { width: 100%; max-width: none; margin: 0; color: #fff; font-size: 20px; line-height: 1; text-align: center; }
.reading-paths .path-copy > p { width: 100%; max-width: none; margin: 0; color: #fbeebe; font-size: 14px; line-height: 1.2; text-align: center; }
.reading-paths .path-card [data-text-reveal] { opacity: 1 !important; transform: none !important; filter: none !important; transition: none !important; }
.reading-paths .section-action { margin: 0; }
.reading-paths .section-action .button { min-height: 36px; height: 36px; padding-inline: 16px; font-size: 8px; }
@media (hover:hover) and (pointer:fine) {
  .reading-paths .path-card:hover { transform: translateY(-6px); box-shadow: 0 22px 40px #1b302720; }
  .reading-paths .path-card:hover .path-emblem { transform: translateY(-4px) scale(1.035); filter: drop-shadow(0 12px 14px #120d0424); }
  .reading-paths .path-card:hover .path-copy { transform: none; }
}
@media (max-width: 900px) {
  .reading-paths .path-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; }
  .reading-paths .path-card { min-height: 340px; padding: 22px; }
  .reading-paths .path-emblem { width: min(58%, 170px); height: auto; aspect-ratio: 1; }
  .reading-paths .path-card h3 { font-size: 18px; }
  .reading-paths .path-copy > p { font-size: 12px; }
}
@media (max-width: 700px) {
  .reading-paths { padding-block: 82px; }
  .reading-paths-inner { gap: 38px; }
  .reading-paths .section-heading { gap: 14px; }
  .reading-paths .section-heading h2 { font-size: clamp(2.25rem, 10.7vw, 3rem); line-height: 1.04; }
  .reading-paths .section-heading > p:last-child { font-size: 1rem; line-height: 1.65; }
  .reading-paths .path-grid { grid-template-columns: minmax(0, 345px); justify-content: center; gap: 16px; }
  .reading-paths .path-card { width: 100%; min-height: 375px; padding: 28px; }
  .reading-paths .path-emblem { width: 200px; height: 200px; }
  .reading-paths .path-card > .eyebrow { font-family: Chanel, Satoshi, sans-serif; font-size: 10px; letter-spacing: .2em; }
  .reading-paths .path-card h3 { font-size: 20px; }
  .reading-paths .path-copy > p { font-size: 14px; }
}

/* Written content gets the slower entrance and resets whenever it leaves view. */
.motion-ready [data-text-reveal] {
  transition-property: opacity, transform, filter;
  transition-duration: 1.3s, 1.45s, 1.15s;
  transition-timing-function: cubic-bezier(.16, 1, .3, 1);
  transition-delay: var(--text-reveal-delay, 0ms);
  will-change: opacity, transform, filter;
}
.motion-ready [data-text-reveal]:not(.is-text-visible) {
  opacity: 0;
  filter: blur(9px);
  transform: translate3d(0, 58px, 0) scale(.985);
}
.motion-ready [data-text-reveal].is-text-visible {
  opacity: 1;
  filter: blur(0);
  transform: translate3d(0, 0, 0) scale(1);
}
.motion-paused [data-text-reveal] {
  opacity: 1 !important;
  filter: none !important;
  transform: none !important;
}
@media (max-width: 700px) {
  .motion-ready [data-text-reveal] {
    transition-duration: 1.05s, 1.2s, .95s;
  }
  .motion-ready [data-text-reveal]:not(.is-text-visible) {
    filter: blur(7px);
    transform: translate3d(0, 38px, 0) scale(.99);
  }
}

/* Infinite Library hero — ported from the standalone Alexandria experience. */
.hero.hero-library {
  --book-grain: url('assets/texture.138af306edce.webp');
  width: 100%;
  height: calc(100svh - 108px);
  min-height: 600px;
  max-height: none;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  padding: clamp(36px, 7svh, 84px) 0 clamp(20px, 3svh, 34px);
  overflow: clip;
  isolation: isolate;
  background: var(--clean);
  color: var(--ink);
}
.infinite-hero-heading {
  position: relative;
  z-index: 12;
  flex: none;
  width: min(1000px, calc(100% - 48px));
  margin: 0 auto;
  text-align: center;
}
.hero-library .infinite-social-proof {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 30px;
  margin: 0 0 18px;
  color: var(--gold);
}
.hero-library .infinite-social-proof img {
  flex: 0 0 auto;
  width: 118px;
  height: 30px;
}
.hero-library .infinite-social-proof span {
  color: var(--gold);
  font-family: Chanel, Satoshi, sans-serif;
  font-size: 8px;
  font-weight: 300;
  line-height: 1.2;
  letter-spacing: 0;
  text-transform: uppercase;
  white-space: nowrap;
}
.hero-library .infinite-hero-heading > .eyebrow {
  width: 100%;
  margin: 0 0 18px;
  color: var(--gold);
  font-family: Chanel, Satoshi, sans-serif;
  font-size: 12px;
  font-weight: 300;
  line-height: 18px;
  letter-spacing: 2.4px;
  text-align: center;
}
.hero-library h1 {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: min(560px, 100%);
  max-width: none;
  margin: 0 auto;
  color: var(--gold);
  font-family: Signifier, Georgia, serif;
  font-size: clamp(54px, min(4.745vw, 10svh), 82px);
  font-weight: 300;
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
}
.hero-library h1 span { display: block; }
.hero-library .hero-title-line {
  position: relative;
  z-index: 1;
  margin-bottom: clamp(-35px, -2.025vw, -20px);
}
.hero-library .worldview-art {
  position: relative;
  width: min(488px, 100%);
  aspect-ratio: 488 / 123;
  overflow: hidden;
}
.hero-library .worldview-art img {
  position: absolute;
  top: -.68%;
  left: -.11%;
  width: 100.22%;
  height: 131.51%;
  max-width: none;
  object-fit: fill;
}

.infinite-book-stage {
  position: relative;
  z-index: 1;
  isolation: isolate;
  flex: 1 1 0;
  width: 100%;
  min-height: 150px;
  max-height: 520px;
  margin-top: 0;
  pointer-events: none;
}
.infinite-book-field { position: absolute; inset: 0; opacity: 0; }
.infinite-book-position {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 247.148px;
  height: 260px;
  margin-top: -130px;
  margin-left: -123.574px;
  opacity: 0;
  transform-origin: 50% 50%;
  contain: layout style;
}
.infinite-book-volume {
  position: relative;
  width: 247.148px;
  height: 260px;
  transform-style: preserve-3d;
}
.infinite-book-surface {
  position: absolute;
  top: 0;
  left: 0;
  max-width: none;
  transform-origin: 0 0;
  backface-visibility: hidden;
}
.infinite-book {
  z-index: 8;
  width: 247.148px;
  height: 260px;
  overflow: hidden;
  isolation: isolate;
  border-radius: 10px 13.248px 13.248px 10px;
  background: var(--book-colour);
  box-shadow: inset 0 .65px .6px #ffffff80, inset 0 -1.2px 1.4px #00000065, inset -1px 0 1px #00000040;
}
.infinite-surface-back,
.infinite-surface-back-inner {
  z-index: 0;
  border-radius: 10px 13.248px 13.248px 10px;
  background: linear-gradient(100deg, #0000002b, #00000008), var(--book-colour);
  box-shadow: inset 0 0 0 1px #ffffff30;
}
.infinite-surface-spine {
  z-index: 6;
  overflow: hidden;
  border-radius: 2.5px / 10px;
  background: linear-gradient(90deg, #00000045, #ffffff18 25%, #ffffff0a 54%, #00000024 84%, #00000050), var(--book-colour);
  box-shadow: inset .6px 0 .6px #ffffff58, inset -.8px 0 1px #00000075;
  color: var(--foil-ink);
}
.infinite-surface-spine::before {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--book-grain) center / 247px 260px;
  mix-blend-mode: multiply;
  pointer-events: none;
}
.infinite-spine-copy {
  position: absolute;
  inset: 30px 3px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  writing-mode: vertical-rl;
  font-family: Signifier, Georgia, serif;
  font-size: 8px;
  line-height: 1.1;
  text-align: center;
  text-shadow: .2px .3px .3px #00000075;
}
.infinite-spine-copy > span { max-height: 180px; }
.infinite-spine-copy small { font-size: 5.8px; font-weight: 300; }
.infinite-spine-band {
  position: absolute;
  right: 3px;
  left: 3px;
  height: 2px;
  border-block: .45px solid color-mix(in srgb, var(--foil-ink), transparent 50%);
  opacity: .75;
}
.infinite-spine-band-top { top: 19px; }
.infinite-spine-band-bottom { bottom: 19px; }
.infinite-surface-fore-edge,
.infinite-surface-pages-top,
.infinite-surface-pages-bottom {
  z-index: 3;
  overflow: hidden;
  background-color: #f0ebdc;
  box-shadow: inset 0 0 1.5px #4b3d2770;
}
.infinite-surface-fore-edge {
  border-radius: 1px / 7px;
  background-image: linear-gradient(90deg, #5e4d3438, transparent 15%, #fffef43d 42%, #d4c8ac15 66%, #3a301833), repeating-linear-gradient(90deg, #fffdf3 0, #fffdf3 .31px, #b7aa8b .42px, #e8e0cb .56px, #f5f0e2 .75px);
}
.infinite-surface-pages-top,
.infinite-surface-pages-bottom {
  border-radius: 5px / 1px;
  background-image: linear-gradient(90deg, #6650374d, transparent 7%, #fffdf233 60%, #ab9b7733), repeating-linear-gradient(0deg, #fffdf3 0, #fffdf3 .32px, #b7aa8b .43px, #e8e0cb .58px, #f5f0e2 .76px);
}
.infinite-book-headband {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 5px;
  border-radius: 2px;
  background: repeating-linear-gradient(0deg, #ab8744 0, #ab8744 1px, #ebe0bb 1px, #ebe0bb 1.8px);
  box-shadow: 1px 0 1px #3d291766;
}
.infinite-book img {
  position: absolute;
  max-width: none;
  user-select: none;
  pointer-events: none;
}
.infinite-book-finish { inset: 0; width: 100%; height: 100%; }
.infinite-book-lettering {
  position: absolute;
  top: 39.75px;
  left: 14.9px;
  width: 231.847px;
  height: 202.038px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  color: #fbeebe;
  font-family: Signifier, Georgia, serif;
  font-weight: 400;
  text-align: center;
}
.infinite-book-title {
  max-width: 187.134px;
  margin: 0;
  font-size: 14px;
  line-height: 1.12;
}
.infinite-book-title,
.infinite-book-author {
  color: var(--foil-ink);
  background: linear-gradient(112deg, var(--foil-ink) 18%, color-mix(in srgb, var(--foil-ink), #fff8e0 45%) 43%, var(--foil-ink) 64%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: 0 .35px .15px #09070060;
}
.infinite-book-author {
  margin: 0;
  font-size: 11.818px;
  font-weight: 300;
  line-height: 1.2;
  white-space: nowrap;
}
.infinite-book-author i { margin-right: 1.65px; font-weight: 300; }
.infinite-fold-light {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at var(--light-x, 50%) 10%, #fffde609, transparent 65%), linear-gradient(110deg, transparent 30%, rgb(0 0 0 / var(--fold-shade, .03)));
  pointer-events: none;
}
.infinite-cover-joint {
  position: absolute;
  top: 1px;
  bottom: 1px;
  left: 15px;
  width: 4px;
  border-radius: 2px;
  background: linear-gradient(90deg, #00000036, #0000000a 45%, #ffffff38 75%, transparent);
  box-shadow: -.5px 0 .4px #ffffff14;
  pointer-events: none;
}
.infinite-cover-rim {
  position: absolute;
  inset: .7px;
  border: .65px solid #ffffff26;
  border-right-color: #ffffff3d;
  border-bottom-color: #00000040;
  border-radius: 9px 12.5px 12.5px 9px;
  box-shadow: inset 1px 0 1.4px #00000022;
  pointer-events: none;
}

.infinite-hero-invitation {
  position: relative;
  z-index: 12;
  flex: none;
  width: min(620px, calc(100% - 56px));
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(14px, 2.5svh, 24px);
  text-align: center;
}
.infinite-description {
  width: min(570px, 100%);
  max-width: none;
  margin: 0;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.4;
  text-wrap: pretty;
}
.infinite-hero-actions { justify-content: center; gap: 12px; }
.hero-library .infinite-hero-actions .button {
  min-width: 190px;
  min-height: 44px;
  font-size: 10px;
}
.infinite-library-note {
  max-width: none;
  margin: 0;
  color: var(--gold);
  font-size: 12px;
  line-height: 18px;
}
.hero-library .scroll-cue { bottom: 28px; color: var(--gold); }
.hero-library .scroll-line { background: #79663935; }
.hero-library .scroll-line::after { background: var(--gold); }

@keyframes infinite-arrive {
  from { opacity: 0; transform: translate3d(0, var(--entry-rise, 34px), 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}
.motion-ready .hero-library .infinite-social-proof,
.motion-ready .hero-library .infinite-hero-heading > .eyebrow,
.motion-ready .hero-library h1,
.motion-ready .hero-library .infinite-hero-invitation > * {
  animation: infinite-arrive 2.5s cubic-bezier(.2, .48, .2, 1) both;
}
.motion-ready .hero-library .infinite-social-proof { --entry-rise: 20px; animation-delay: .12s; }
.motion-ready .hero-library .infinite-hero-heading > .eyebrow { animation-delay: .26s; }
.motion-ready .hero-library h1 { --entry-rise: 42px; animation-delay: .42s; animation-duration: 2.7s; }
.motion-ready .hero-library .infinite-description { --entry-rise: 28px; animation-delay: .88s; }
.motion-ready .hero-library .infinite-hero-actions { --entry-rise: 26px; animation-delay: 1.14s; }
.motion-ready .hero-library .infinite-library-note { --entry-rise: 22px; animation-delay: 1.34s; }

@media (max-width: 700px) {
  .hero.hero-library {
    height: calc(100svh - var(--nav-height) - 36px);
    min-height: 590px;
    padding: clamp(28px, 5svh, 50px) 0 clamp(18px, 2.5svh, 26px);
  }
  .infinite-hero-heading { width: calc(100% - 40px); }
  .hero-library .infinite-social-proof {
    gap: 8px;
    margin-bottom: 12px;
  }
  .hero-library .infinite-social-proof img { width: 94px; height: auto; }
  .hero-library .infinite-social-proof span {
    max-width: 22ch;
    font-size: 7px;
    line-height: 1.35;
    text-align: left;
    white-space: normal;
  }
  .hero-library .infinite-hero-heading > .eyebrow {
    margin-bottom: 10px;
    font-family: Chanel, Satoshi, sans-serif;
    font-size: 10px;
    line-height: 18px;
    letter-spacing: 1.5px;
  }
  .hero-library h1 {
    max-width: 540px;
    font-size: clamp(40px, min(12.82vw, 8svh), 60px);
    line-height: 1;
    letter-spacing: -.015em;
  }
  .hero-library .hero-title-line { margin-bottom: clamp(-25px, -5.5vw, -15px); }
  .hero-library .worldview-art { width: min(380px, 100%); }
  .infinite-book-stage { min-height: 120px; max-height: 350px; margin-top: 8px; }
  .infinite-hero-invitation {
    width: calc(100% - 48px);
    margin-top: 10px;
    gap: clamp(12px, 2.2svh, 18px);
  }
  .infinite-description { font-size: 15px; line-height: 24px; }
  .infinite-hero-actions { width: 100%; }
  .hero-library .infinite-hero-actions .button { width: min(100%, 320px); min-height: 48px; font-family: Satoshi, sans-serif; font-size: 15px; }
  .infinite-hero-actions .button-light { display: none; }
  .infinite-library-note { font-size: 11px; }
  .hero-library .scroll-cue { display: none; }
}
@media (max-height: 700px) {
  .hero.hero-library { min-height: 510px; padding-top: clamp(20px, 4svh, 34px); padding-bottom: 16px; }
  .hero-library h1 { font-size: clamp(42px, min(5.787vw, 10svh), 68px); }
  .infinite-book-stage { min-height: 104px; }
  .infinite-hero-invitation { gap: 12px; }
  .infinite-library-note { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .motion-ready .hero-library .infinite-social-proof,
  .motion-ready .hero-library .infinite-hero-heading > .eyebrow,
  .motion-ready .hero-library h1,
  .motion-ready .hero-library .infinite-hero-invitation > * { animation: none; }
}

/* Foundational texts — updated three-author composition from the design system. */
.library {
  overflow: clip;
  padding-block: 104px;
  background: linear-gradient(180deg, #fcfaf2 0%, #f8f4f1 100%);
}
.library-layout {
  grid-template-columns: 611px minmax(0, 1fr);
  align-items: center;
  gap: 40px;
}
.library-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 40px;
}
.library-heading-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}
.library-count {
  margin: 0;
  color: var(--gold);
  font-size: 48px;
  font-weight: 300;
  line-height: 63px;
}
.library-heading-copy > .eyebrow {
  width: auto;
  margin: 0;
  color: #898989;
  font-size: 10px;
  line-height: 1;
  letter-spacing: 2px;
  text-align: left;
}
.library-copy .library-heading-copy > h2 {
  width: min(622px, 100%);
  margin: 0;
  color: var(--gold);
  font-size: 56px;
  font-weight: 300;
  line-height: 1.08;
  letter-spacing: -.025em;
}
.library-heading-copy > p:last-child {
  width: min(575px, 100%);
  max-width: none;
  margin: 0;
  color: #57524d;
  font-size: 16px;
  line-height: 1.45;
}
.library .search {
  width: min(435px, 100%);
  max-width: none;
  min-height: 54px;
  margin: 0;
  padding: 5px 19px;
  gap: 8px;
  border: 0;
  background: #fff;
  box-shadow: 0 12px 10px rgb(0 0 0 / 4%);
}
.library .search img {
  width: 16px;
  height: 16px;
}
.library .search input {
  height: 42px;
  font-size: 14px;
  line-height: 1;
}
.library .search-submit { position: absolute; }
.author-portraits {
  position: relative;
  display: block;
  width: min(783px, 100%);
  max-width: none;
  aspect-ratio: 783 / 288;
  min-width: 0;
  margin: 0;
  isolation: isolate;
}
.author-portraits .portrait {
  position: absolute;
  aspect-ratio: auto;
  flex: none;
  will-change: transform;
}
.author-portraits .portrait img {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: fill;
}
.author-portraits .portrait::after { content: none; }
.author-portraits .portrait-jane {
  z-index: 1;
  top: 14.77%;
  left: 0;
  width: 35.56%;
  height: 70.47%;
}
.author-portraits .portrait-marcus {
  z-index: 2;
  top: 0;
  left: 22.73%;
  width: 50.46%;
  height: 100%;
}
.author-portraits .portrait-nietzsche {
  z-index: 1;
  top: 14.77%;
  left: 64.40%;
  width: 35.56%;
  height: 70.47%;
}
@media (max-width: 1180px) {
  .library-layout { grid-template-columns: minmax(0, 1fr); gap: 70px; }
  .library-copy { width: min(622px, 100%); max-width: none; }
  .author-portraits { width: min(783px, 100%); margin-inline: auto; }
}
@media (max-width: 700px) {
  .library { padding-block: 80px 88px; }
  .library-layout { gap: 52px; }
  .library-copy { gap: 30px; }
  .library-count { font-size: 52px; line-height: 1.12; }
  .library-copy .library-heading-copy > h2 {
    font-size: clamp(38px, 10.7vw, 48px);
    line-height: 1.1;
  }
  .library-heading-copy > p:last-child { font-size: 16px; line-height: 1.65; }
  .library .search { min-height: 54px; padding-inline: 16px; }
  .library .search input { height: 44px; font-size: 16px; }
  .author-portraits { width: min(783px, 112%); max-width: none; }
}
@media (prefers-reduced-motion: reduce) {
  .author-portraits .portrait { transform: none !important; }
}

/* Figma responsive reading paths: full row on tablets, swipe rail on phones. */
.path-swipe-hint { display: none; }
.reading-paths .reading-paths-inner {
  width: calc(100% - 128px);
  max-width: 1066px;
}
.reading-paths .path-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  width: 100%;
  max-width: none;
}
.reading-paths .path-card {
  min-width: 0;
  min-height: 300px;
  aspect-ratio: auto;
  padding: 24px 20px;
}
.reading-paths .path-emblem {
  width: 140px;
  height: 140px;
}
.reading-paths .path-card h3 {
  font-size: 22px;
  line-height: 26px;
}
.reading-paths .path-copy > p {
  font-size: 13px;
  line-height: 20px;
}
@media (min-width: 901px) and (max-width: 1180px) {
  .reading-paths .path-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
  }
  .reading-paths .path-card {
    min-width: 0;
    min-height: 300px;
    aspect-ratio: auto;
  }
}
@media (max-width: 900px) {
  .reading-paths .reading-paths-inner {
    width: calc(100% - 96px);
    max-width: 738px;
  }
  .reading-paths .path-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
  }
  .reading-paths .path-card {
    min-width: 0;
    min-height: 300px;
    aspect-ratio: auto;
    padding: 24px 20px;
  }
  .reading-paths .path-emblem {
    width: 140px;
    height: 140px;
  }
  .reading-paths .path-card h3 {
    font-size: 22px;
    line-height: 26px;
  }
  .reading-paths .path-copy > p {
    font-size: 13px;
    line-height: 20px;
  }
}
@media (max-width: 767px) {
  .reading-paths .reading-paths-inner {
    width: calc(100% - 48px);
    max-width: 342px;
  }
  .reading-paths .path-grid {
    display: flex;
    justify-content: flex-start;
    gap: 16px;
    width: 100%;
    max-width: none;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }
  .reading-paths .path-grid::-webkit-scrollbar { display: none; }
  .reading-paths .path-card {
    flex: 0 0 280px;
    width: 280px;
    min-height: 300px;
    scroll-snap-align: start;
  }
  .path-swipe-hint {
    display: block;
    width: 100%;
    max-width: none;
    margin: -18px 0 0;
    color: var(--muted);
    font-size: 12px;
    line-height: 18px;
    text-align: left;
  }
}

/* Official store artwork exported from the responsive Figma frame. */
.store-links { gap: 12px; }
.store-badge {
  display: grid;
  place-items: center;
  flex: 0 0 176px;
  width: 176px;
  min-width: 176px;
  height: 52px;
  min-height: 52px;
  max-width: none;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 7px;
  background: transparent;
}
.store-badge img {
  display: block;
  width: auto;
  max-width: 100%;
  height: 52px;
}
@media (max-width: 700px) {
  .store-links { flex-wrap: nowrap; gap: 12px; }
  .store-badge {
    flex-basis: 156px;
    width: 156px;
    min-width: 156px;
    max-width: 156px;
    height: 46px;
    min-height: 46px;
  }
  .store-badge img { width: auto; height: 46px; }
}

/* Figma footer: one brand row, three equal navigation columns, then legal and social rows. */
.footer {
  min-height: 645px;
  padding: 64px;
  background: #0a0f17;
  color: #fcfaf2;
}
.footer-shell {
  display: flex;
  flex-direction: column;
  gap: 48px;
  width: 100%;
  max-width: 1408px;
  margin-inline: auto;
}
.footer-brand {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
  min-height: 86px;
}
.footer-brand .brand {
  gap: 5px;
  min-height: 20px;
  margin-bottom: 0;
}
.footer-brand .brand-mark {
  width: 21px;
  height: 20px;
}
.footer .footer-brand .brand-word {
  width: 105px;
  height: 15px;
  filter: brightness(0) invert(1);
  opacity: 1;
}
.footer-brand > p {
  width: 360px;
  max-width: 100%;
  color: #fcfaf2;
  font-size: 15px;
  line-height: 23px;
}
.footer-nav {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px;
  width: 100%;
}
.footer .footer-nav nav {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
  min-width: 0;
}
.footer .footer-nav .eyebrow {
  width: 100%;
  margin: 0;
  color: #fcfaf2;
  font-family: Chanel, Satoshi, sans-serif;
  font-size: 11px;
  line-height: 17px;
  letter-spacing: .08em;
  text-align: left;
}
.footer .footer-nav a {
  display: flex;
  align-items: center;
  min-height: 44px;
  color: #fcfaf2;
  font-size: 15px;
  line-height: 23px;
  transition: color .35s;
}
.footer-copyright {
  width: 100%;
  color: #fcfaf2;
  font-size: 12px;
  line-height: 18px;
}
.footer .footer-social {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 24px;
  width: 100%;
}
.footer .footer-social a {
  display: flex;
  align-items: center;
  width: 100px;
  min-height: 44px;
  color: #fcfaf2;
  font-size: 14px;
  line-height: 21px;
}
.footer .footer-social a:nth-child(2) { width: 44px; }
@media (max-width: 900px) {
  .footer { padding-inline: 48px; }
}
@media (max-width: 700px) {
  .footer {
    min-height: 814px;
    padding: 48px 24px;
  }
  .footer-shell { gap: 32px; }
  .footer-brand > p { width: 100%; }
  .footer-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 16px;
  }
}

/* Figma newsletter capture, connected through Mailchimp's public form action. */
.newsletter-form {
  display: grid;
  grid-template-columns: minmax(0, 290px) 148px;
  gap: 12px;
  width: min(450px, 100%);
  margin-top: 24px;
}
.newsletter-honeypot {
  position: absolute;
  left: -5000px;
}
.newsletter-form input {
  width: 100%;
  height: 52px;
  min-width: 0;
  padding: 0 16px;
  border: 1px solid transparent;
  border-radius: 8px;
  outline: 0;
  background: #fffefb;
  color: var(--ink);
  font-family: Satoshi, Arial, sans-serif;
  font-size: 16px;
}
.newsletter-form input::placeholder { color: #6d6a60; }
.newsletter-form input:focus-visible {
  border-color: var(--bright-gold);
  box-shadow: 0 0 0 3px #dbb96533;
}
.newsletter-form .button {
  width: 148px;
  min-height: 36px;
  height: 36px;
  padding: 7px 16px;
  align-self: start;
  font-family: Satoshi, Arial, sans-serif;
  font-size: 14px;
}
.newsletter-status {
  grid-column: 1 / -1;
  min-height: 20px;
  color: #c9d9cf;
  font-size: 13px;
}
@media (max-width: 700px) {
  .newsletter-form {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
  }
  .newsletter-form .button { width: 100%; }
  .newsletter-status { min-height: 0; }
}
