:root{--cream:#faf6ee;--cream-deep:#f3eddf;--forest:#2e4b3a;--forest-deep:#22392b;--berry:#a63a4b;--berry-soft:#c98a95;--ink:#33302a;--ink-soft:#6b6558;--line:#e3dac7;--serif:Georgia,"Times New Roman",serif;--sans:-apple-system,"Segoe UI",Helvetica,Arial,sans-serif}*{box-sizing:border-box}body,html{padding:0;margin:0}body{background:var(--cream);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}img,svg{max-width:100%}a{color:inherit}button{font-family:var(--sans)}.wrap{max-width:1100px;margin:0 auto;padding-inline:clamp(20px,5vw,48px)}.eyebrow{font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--berry);margin:0 0 14px}h1,h2,h3{font-family:var(--serif);color:var(--forest);margin:0;text-wrap:balance}p{line-height:1.65}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:50;padding-block:22px;background:var(--cream);border-bottom:1px solid var(--line)}.site-header .wrap{justify-content:space-between;row-gap:10px}.header-right,.site-header .wrap{display:flex;align-items:center;flex-wrap:wrap}.header-right{gap:18px}.wordmark{font-family:var(--serif);font-size:21px;font-weight:700;color:var(--forest);letter-spacing:.01em;text-decoration:none;background:none;border:none;cursor:pointer;padding:0}.wordmark span{color:var(--berry)}a.wordmark:focus-visible,a.wordmark:hover{color:var(--berry)}a.wordmark:focus-visible span,a.wordmark:hover span{color:var(--forest)}.site-nav{display:flex;gap:4px;flex-wrap:wrap}.site-nav a{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:var(--ink-soft);padding:12px;border-radius:6px;transition:color .18s ease,background .18s ease}.site-nav a:focus-visible,.site-nav a:hover{color:var(--forest);background:var(--cream-deep)}.auth-controls{display:flex;align-items:center;gap:10px}.btn-ghost{display:inline-flex;align-items:center;gap:8px;background:transparent;color:var(--forest);font-weight:700;font-size:13px;letter-spacing:.04em;text-transform:uppercase;padding:10px 16px;min-height:40px;border:1px solid var(--line);border-radius:8px;cursor:pointer;transition:border-color .18s ease,background .18s ease}.btn-ghost:focus-visible,.btn-ghost:hover{border-color:var(--forest);background:var(--cream-deep)}.btn-ghost.is-active{background:var(--berry);border-color:var(--berry);color:var(--cream)}.editor-email{font-size:12px;color:var(--ink-soft)}.edit-toolbar{position:fixed;left:0;right:0;bottom:0;z-index:100;background:var(--forest-deep);color:var(--cream);padding:14px clamp(20px,5vw,48px);display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;box-shadow:0 -6px 24px rgba(0,0,0,.2)}.edit-toolbar .msg{font-size:13px;color:#c9d6cd}.edit-toolbar .actions{display:flex;gap:10px}.edit-toolbar button{min-height:40px;padding:10px 20px;border-radius:8px;font-weight:700;font-size:14px;cursor:pointer;border:1px solid transparent}.edit-toolbar .save{background:var(--berry);color:var(--cream);border:none}.edit-toolbar .save:hover{background:#954159}.edit-toolbar .save:disabled{opacity:.5;cursor:not-allowed}.edit-toolbar .cancel{background:transparent;color:var(--cream);border:1px solid hsla(40,55%,96%,.35)}.edit-toolbar .cancel:hover{border-color:var(--cream)}.editable{display:block;width:100%;font-family:inherit;color:inherit;background:rgba(166,58,75,.06);border:1.5px dashed var(--berry);border-radius:6px;padding:.3em .4em;resize:vertical}.editable:focus{outline:none;border-style:solid;background:rgba(166,58,75,.1)}.editable.title-size{font-family:var(--serif)}section{padding-block:clamp(48px,8vw,88px)}section[id]{scroll-margin-top:84px}.band-deep{background:var(--cream-deep)}.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;grid-gap:clamp(32px,6vw,64px);gap:clamp(32px,6vw,64px);align-items:center}@media (max-width:760px){.hero .wrap{grid-template-columns:1fr}.hero .cover-block{order:-1}}.hero h1{font-size:clamp(34px,5.6vw,54px);line-height:1.08;margin-bottom:20px}.hero .pitch{font-size:18px;color:var(--ink);max-width:52ch}.hero .subline{margin-top:10px;font-size:15px;color:var(--ink-soft)}.cta-row{margin-top:30px;display:flex;gap:14px;flex-wrap:wrap}.btn-primary{display:inline-flex;align-items:center;gap:8px;background:var(--berry);color:var(--cream);font-family:var(--sans);font-weight:700;font-size:15px;letter-spacing:.02em;text-decoration:none;padding:14px 26px;min-height:40px;border-radius:8px;border:none;cursor:pointer;box-shadow:0 1px 0 rgba(34,57,43,.08);transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.btn-primary:focus-visible,.btn-primary:hover{transform:translateY(-3px);box-shadow:0 8px 18px rgba(166,58,75,.28);background:#954159}.btn-primary svg{width:14px;height:14px;flex:none}.cover-block,.cover-card{display:flex;justify-content:center}.cover-card{position:relative;width:min(320px,100%);aspect-ratio:5/7;background:var(--cream);border:2px dashed var(--forest);border-radius:4px;align-items:center;padding:18px}.cover-card svg{width:78%}.ribbon{position:absolute;top:18px;right:-34px;transform:rotate(9deg);background:var(--forest-deep);color:var(--cream);font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;padding:7px 40px;box-shadow:0 3px 8px rgba(34,57,43,.25)}.quote-band{background:var(--forest)}.quote-band blockquote{margin:0;font-family:var(--serif);font-style:italic;color:var(--cream);font-size:clamp(21px,3.4vw,30px);line-height:1.4;max-width:34ch;text-wrap:balance}.quote-band cite{display:block;font-family:var(--sans);font-style:normal;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--berry-soft);margin-top:20px}.quote-band .editable{background:hsla(40,55%,96%,.08);color:var(--cream);border-color:var(--berry-soft)}.story-copy{max-width:62ch}.story-copy p,.story-copy textarea{font-size:17px;color:var(--ink)}.story-copy .editable+.editable,.story-copy p+p{margin-top:1.1em}.journey h2{font-size:clamp(26px,4vw,34px);margin-bottom:16px}.journey .body-text{max-width:60ch;font-size:16px;color:var(--ink);margin-bottom:44px}.stepper{display:flex;align-items:flex-start;gap:0}.step{flex:1 1;position:relative;padding-top:26px;min-width:0}.step:before{content:"";position:absolute;top:8px;left:0;width:100%;height:2px;background:var(--line)}.step.current:before,.step.done:before{background:var(--forest)}.step:first-child:before{left:50%;width:50%}.step:last-child:before{width:50%}.step .dot{position:absolute;top:0;left:50%;transform:translateX(-50%);width:16px;height:16px;border-radius:50%;background:var(--cream);border:2px solid var(--line)}.step.done .dot{background:var(--forest);border-color:var(--forest)}.step.current .dot{background:var(--cream);border-color:var(--berry);border-width:3px}.step.future .dot{border-style:dashed}.step .label{text-align:center;font-size:13px;font-weight:700;letter-spacing:.04em;color:var(--forest);margin-top:14px}.step.future .label{color:var(--ink-soft);font-weight:600}.step .sub{text-align:center;font-size:12.5px;color:var(--ink-soft);margin-top:4px}@media (max-width:560px){.stepper{gap:4px}.step .label{font-size:11.5px}.step .sub{display:none}}.authors .wrap{display:grid;grid-template-columns:220px 1fr;grid-gap:clamp(28px,5vw,56px);gap:clamp(28px,5vw,56px);align-items:start}@media (max-width:640px){.authors .wrap{grid-template-columns:1fr}}.author-photo{aspect-ratio:1;width:100%;max-width:220px;border-radius:50%;overflow:hidden;border:1px solid var(--line);box-shadow:0 2px 10px rgba(51,48,42,.12)}.author-photo img{width:100%;height:100%;object-fit:cover;display:block}.authors h2{font-size:clamp(24px,3.6vw,30px);margin-bottom:14px}.authors .editable,.authors p{font-size:16.5px;max-width:58ch;color:var(--ink)}.authors .editable+.editable,.authors p+p{margin-top:10px}.next h2{font-size:clamp(26px,4vw,34px);margin-bottom:30px}.cards-row{display:flex;gap:20px;flex-wrap:wrap}.book-card{flex:1 1 240px;background:var(--cream);border:1px solid var(--line);border-radius:10px;padding:22px;transition:transform .2s ease,box-shadow .2s ease}.book-card:hover{transform:translateY(-3px);box-shadow:0 10px 22px rgba(51,48,42,.08)}.book-card .tag{font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--berry)}.book-card h3{font-size:19px;margin-top:10px}.book-card .sub{font-size:13.5px;color:var(--ink-soft);margin-top:4px}.ghost-card{flex:1 1 240px;background:transparent;border:2px dashed var(--line);border-radius:10px;padding:22px;opacity:.7}.ghost-card .tag{font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}.ghost-card h3{font-size:19px;margin-top:10px;color:var(--ink-soft);font-style:italic}.ghost-card .sub{font-size:13.5px;color:var(--ink-soft);margin-top:4px}footer{background:var(--forest-deep);color:var(--cream);padding-block:40px}footer .wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px}footer .wordmark{color:var(--cream)}footer .wordmark span{color:var(--berry-soft)}footer .editable,footer .tagline{font-size:13px;color:#b9c6bc;margin-top:4px}footer .copy{font-size:12px;color:#9aaa9f}.gate{min-height:min(100vh,760px);display:flex;align-items:center;justify-content:center;padding-block:56px}.gate-card{max-width:520px;width:100%;text-align:center}.gate-sketch{width:120px;margin:0 auto 28px}.gate-sketch svg{width:100%;display:block}.gate .wordmark{display:inline-block;font-size:24px;margin-bottom:34px}.gate h1{font-size:clamp(30px,6vw,42px);line-height:1.1;margin-bottom:18px}.gate .gate-lede{font-size:17px;color:var(--ink);max-width:42ch;margin:0 auto}.gate .gate-lede strong{color:var(--forest);font-weight:700}.gate-authors{margin-top:44px;padding-top:40px;border-top:1px solid var(--line)}.gate-authors .author-photo{margin:0 auto 18px;width:128px}.gate-authors h2{font-size:21px;margin-bottom:10px}.gate-authors p{font-size:15px;color:var(--ink);max-width:46ch;margin:0 auto}.gate-authors p+p{margin-top:10px}.gate-form{margin-top:44px;padding-top:40px;border-top:1px solid var(--line)}.gate-form label{display:block;margin-bottom:12px}.gate-form .gate-row{display:flex;gap:10px;max-width:320px;margin:0 auto;flex-wrap:wrap;justify-content:center}.gate-form input[type=password]{flex:1 1 160px;min-height:40px;padding:10px 14px;font-family:var(--sans);font-size:16px;letter-spacing:.06em;color:var(--ink);background:var(--cream);border:1px solid var(--line);border-radius:8px;text-align:center}.gate-form input[type=password]:focus{outline:none;border-color:var(--berry);box-shadow:0 0 0 3px rgba(166,58,75,.15)}.gate-form button{min-height:40px;padding:10px 22px;font-family:var(--sans);font-weight:700;font-size:15px;color:var(--cream);background:var(--berry);border:none;border-radius:8px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.gate-form button:focus-visible,.gate-form button:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(166,58,75,.28);background:#954159}.gate-error{margin-top:14px;font-size:13px;font-weight:600;color:var(--berry);min-height:16px}.gate-form.shake{animation:gate-shake .32s ease}@keyframes gate-shake{0%,to{transform:translateX(0)}25%{transform:translateX(-8px)}75%{transform:translateX(8px)}}.gate-or{margin:26px auto 0;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}.gate-signin{margin-top:14px}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.auth-pop-backdrop{position:fixed;inset:0;background:rgba(38,35,31,.5);display:flex;align-items:center;justify-content:center;z-index:60;padding:20px}
.auth-pop{background:#FAF6EE;border:1.5px dashed #2E4B3A;border-radius:14px;padding:28px 26px;max-width:340px;width:100%;text-align:center;box-shadow:0 18px 50px rgba(31,61,43,.25)}
.auth-pop-title{font-size:1.05rem;margin:.5rem 0 1.1rem;color:#26231F}
.auth-pop-close{margin-top:12px}
