:root{--ink:#182b2b;--muted:#61706e;--paper:#fff;--paper-soft:#f6f5f0;--line:#dce1dc;--line-dark:#bdc9c2;--ochre:#cc8a25;--ochre-dark:#a9620a;--sage:#e7eee8;--danger:#9e3d2f;--serif:Iowan Old Style, Baskerville, Georgia, Times New Roman, serif;--sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--page:min(1180px, calc(100% - 48px));color:var(--ink);background:var(--paper);font-family:var(--sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html{background:var(--paper);scroll-behavior:smooth}body{background:var(--paper);min-width:320px;margin:0}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}a{color:inherit;text-underline-offset:.2em}img{max-width:100%}:focus-visible{outline:3px solid var(--ochre);outline-offset:3px}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--ink)}h1,h2{font-family:var(--serif);letter-spacing:-.04em;font-weight:500}h1{font-size:clamp(2.6rem,5vw,5.6rem);line-height:.98}h2{font-size:clamp(1.85rem,3vw,3.2rem);line-height:1.04}h3{font-family:var(--serif);font-size:1.55rem;font-weight:500;line-height:1.15}p{color:var(--muted);font-size:1rem;line-height:1.65}.site-shell{flex-direction:column;min-height:100vh;display:flex}.site-shell main{flex:1}.route-loading{min-height:40vh;color:var(--muted);place-items:center;display:grid}.site-header{border-bottom:1px solid var(--line);background:#fffffff0}.site-header__inner{width:var(--page);justify-content:space-between;align-items:center;gap:32px;min-height:76px;margin:0 auto;display:flex}.wordmark{letter-spacing:.125em;white-space:nowrap;color:var(--ink);font-size:1rem;font-weight:760;text-decoration:none}.wordmark span{color:var(--ochre-dark)}.wordmark--footer{margin-bottom:6px}.primary-nav{align-items:center;gap:clamp(15px,2.4vw,32px);font-size:.9rem;display:flex}.primary-nav a{color:var(--muted);border-bottom:1px solid #0000;padding:8px 0;text-decoration:none}.primary-nav a:hover,.primary-nav a.active{color:var(--ink);border-color:var(--ochre)}.primary-nav .cart-link{color:var(--ink);font-weight:650}.hero-section{width:var(--page);grid-template-columns:minmax(0,1.05fr) minmax(320px,.8fr);align-items:center;gap:clamp(52px,9vw,150px);min-height:560px;margin:0 auto;padding:clamp(72px,11vw,144px) 0 clamp(64px,9vw,116px);display:grid}.hero-section__copy{max-width:640px}.eyebrow{color:var(--ochre-dark);letter-spacing:.15em;text-transform:uppercase;margin-bottom:15px;font-size:.72rem;font-weight:760;line-height:1.2}.hero-section h1{margin-bottom:26px}.hero-section__intro{max-width:540px;margin-bottom:34px;font-size:1.1rem}.button{border:1px solid var(--ink);background:var(--ink);color:#fff;border-radius:0;justify-content:center;align-items:center;min-height:48px;padding:12px 20px;font-size:.88rem;font-weight:700;line-height:1.2;text-decoration:none;transition:background-color .2s,border-color .2s,transform .2s;display:inline-flex}.button:hover{border-color:var(--ochre-dark);background:var(--ochre-dark);transform:translateY(-1px)}.button--quiet{border-color:var(--line-dark);color:var(--ink);background:0 0}.button--quiet:hover{border-color:var(--ink);background:var(--ink);color:#fff}.button--disabled{pointer-events:none;background:var(--line-dark);border-color:var(--line-dark)}.story-format{border:1px solid var(--line);background:var(--paper-soft);padding:clamp(22px,4vw,42px)}.story-format__pages{border-top:1px solid var(--line-dark);grid-template-columns:1fr 1fr;display:grid}.story-format__pages>div{min-height:230px;padding:24px 20px 10px 0}.story-format__pages>div+div{border-left:1px solid var(--line-dark);padding-left:20px;padding-right:0}.story-format__pages span{color:var(--ochre-dark);margin-bottom:44px;font-size:.75rem;font-weight:700;display:block}.story-format__pages strong{font-family:var(--serif);margin-bottom:12px;font-size:1.35rem;font-weight:500;display:block}.story-format__pages p{font-size:.9rem;line-height:1.55}.content-section{width:var(--page);margin:0 auto;padding:clamp(64px,9vw,120px) 0}.featured-section{border-top:1px solid var(--line)}.section-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:38px;display:flex}.section-heading h2{margin-bottom:0}.section-heading>a{color:var(--ink);margin-bottom:5px;font-size:.9rem;font-weight:700}.books-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;display:grid}.book-card{flex-direction:column;min-width:0;display:flex}.book-card__cover{aspect-ratio:3/4;background:var(--paper-soft);border:1px solid var(--line);display:block;overflow:hidden}.book-image,.book-image-button{object-fit:cover;width:100%;height:100%;display:block}.book-image-button{background:0 0;border:0;padding:0}.book-image--empty{background:linear-gradient(135deg,#eaeee7,#fafaf7)}.book-card__cover .book-image{transition:transform .35s}.book-card__cover:hover .book-image{transform:scale(1.025)}.book-card__content{flex-direction:column;flex:1;align-items:flex-start;padding:18px 0 2px;display:flex}.book-card__content .eyebrow{margin-bottom:9px;font-size:.65rem}.book-card h3{margin-bottom:10px}.book-card h3 a{text-decoration:none}.book-card__description{min-height:3.2em;margin-bottom:19px;font-size:.9rem;line-height:1.6}.book-card__actions{justify-content:space-between;align-items:center;gap:10px;width:100%;margin-top:auto;display:flex}.price-display{flex-wrap:wrap;align-items:baseline;gap:9px;margin-bottom:0;display:flex}.price-display strong{color:var(--ink);font-size:1.3rem;font-weight:750}.price-display del{color:var(--muted);font-size:.9rem}.price-display span{color:var(--ochre-dark);letter-spacing:.05em;font-size:.7rem;font-weight:800}.price-display--compact strong{font-size:1rem}.price-display--compact span{display:none}.state-message,.inline-status{color:var(--muted);font-size:.95rem}.empty-state{max-width:580px;padding:36px 0}.empty-state h2{margin-bottom:10px;font-size:2rem}.empty-state p{margin-bottom:0}.catalogue-section+.catalogue-section{border-top:1px solid var(--line);margin-top:clamp(72px,10vw,140px);padding-top:clamp(64px,8vw,105px)}.page-intro{max-width:730px;margin-bottom:clamp(54px,7vw,92px)}.page-intro h1{margin-bottom:20px}.page-intro>p:last-child{font-size:1.08rem}.book-detail__layout{grid-template-columns:minmax(0,1fr) minmax(320px,.78fr);align-items:start;gap:clamp(42px,7vw,104px);display:grid}.book-gallery__main{aspect-ratio:.84;object-fit:contain;border:1px solid var(--line);background:var(--paper-soft);width:100%;max-height:700px}.book-gallery .book-image-button.book-gallery__main{height:auto}.book-gallery .book-image-button.book-gallery__main .book-image{min-height:100%}.book-gallery__thumbs{gap:10px;padding-top:14px;display:flex;overflow-x:auto}.book-gallery__thumbs button{border:1px solid var(--line);background:var(--paper-soft);flex:0 0 70px;width:70px;height:88px;padding:0;overflow:hidden}.book-gallery__thumbs button.is-active{border:2px solid var(--ochre-dark)}.book-gallery__thumbs .book-image{object-fit:cover}.gallery-empty{border:1px solid var(--line);background:var(--paper-soft);min-height:420px;color:var(--muted);text-align:center;place-items:center;padding:24px;display:grid}.book-detail__copy{padding-top:5px}.book-detail__copy h1{margin-bottom:18px;font-size:clamp(2.45rem,4.3vw,4.5rem)}.book-detail__intro{color:var(--ink);font-family:var(--serif);margin-bottom:22px;font-size:1.25rem;line-height:1.45}.book-detail__description{border-top:1px solid var(--line);margin:35px 0;padding-top:28px}.purchase-panel{justify-items:start;gap:21px;display:grid}.purchase-panel__note,.coming-soon-note{max-width:380px;margin-bottom:0;font-size:.86rem}.quantity-selector{color:var(--ink);align-items:center;gap:16px;font-size:.85rem;font-weight:650;display:flex}.quantity-selector>div{border:1px solid var(--line-dark);align-items:center;display:flex}.quantity-selector button{width:39px;height:39px;color:var(--ink);background:0 0;border:0;font-size:1.25rem}.quantity-selector button:hover{background:var(--paper-soft)}.quantity-selector output{text-align:center;min-width:34px}.image-lightbox{background:var(--paper);border:0;width:min(90vw,780px);max-width:none;max-height:92vh;padding:42px 20px 20px;box-shadow:0 18px 60px #00000047}.image-lightbox::backdrop{background:#111c1cbd}.image-lightbox>.book-image{object-fit:contain;max-height:calc(92vh - 62px);margin:0 auto;display:block}.image-lightbox__close{color:var(--ink);background:0 0;border:0;font-size:.9rem;text-decoration:underline;position:absolute;top:11px;right:14px}.cart-page,.checkout-page{max-width:1050px}.cart-layout,.checkout-layout{grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:clamp(32px,6vw,78px);display:grid}.cart-items{border-top:1px solid var(--line)}.cart-item{border-bottom:1px solid var(--line);grid-template-columns:96px minmax(0,1fr) auto;align-items:start;gap:20px;padding:20px 0;display:grid}.cart-item--unavailable{opacity:.7}.cart-item__image{border:1px solid var(--line);background:var(--paper-soft);width:96px;height:120px;overflow:hidden}.cart-item__image .book-image{object-fit:cover}.cart-item h2{margin-bottom:8px;font-size:1.35rem}.cart-item h2 a{text-decoration:none}.cart-item__details .price-display{margin-bottom:15px}.cart-item__end{text-align:right;min-width:100px}.cart-item__end>p{color:var(--ink);margin-bottom:15px;font-weight:700}.text-button{color:var(--ink);text-underline-offset:.18em;background:0 0;border:0;padding:0;font-size:.86rem;font-weight:700;text-decoration:underline}.text-button:hover{color:var(--ochre-dark)}.item-unavailable{color:var(--danger);margin-bottom:0;font-size:.9rem;font-weight:700}.cart-summary{border:1px solid var(--line);background:var(--paper-soft);padding:26px}.cart-summary>div{border-top:1px solid var(--line-dark);color:var(--ink);justify-content:space-between;gap:18px;padding:16px 0;display:flex}.cart-summary>div strong{font-size:1.2rem}.cart-summary>p{margin:20px 0;font-size:.88rem;line-height:1.55}.cart-summary .button{width:100%}.notice{border-left:3px solid var(--ochre-dark);color:var(--ink);background:#fff9ed;margin:0 0 24px;padding:13px 15px;font-size:.9rem;line-height:1.5}.notice--warning{border-color:var(--ochre-dark)}.notice--error{border-color:var(--danger);background:#fff5f3}.checkout-form{max-width:660px}.checkout-form fieldset{border:0;margin:0;padding:0}.checkout-form legend{color:var(--ink);font-family:var(--serif);margin-bottom:24px;font-size:1.65rem}.form-field{color:var(--ink);gap:8px;margin-bottom:20px;font-size:.9rem;font-weight:650;display:grid}.form-field input,.form-field textarea,.form-field select,.admin-login input{border:1px solid var(--line-dark);width:100%;min-height:46px;color:var(--ink);background:#fff;border-radius:0;padding:11px 12px;font-weight:400}.form-field textarea{resize:vertical;min-height:105px}.form-field select{appearance:auto}.form-field input[aria-invalid=true],.form-field textarea[aria-invalid=true],.form-field select[aria-invalid=true]{border-color:var(--danger)}.field-error{color:var(--danger);margin:-2px 0 0;font-size:.82rem;font-weight:500;line-height:1.4}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;display:grid}.consent-field{color:var(--ink);align-items:flex-start;gap:10px;margin:7px 0 22px;font-size:.9rem;line-height:1.5;display:flex}.consent-field input,.admin-check input{width:17px;height:17px;accent-color:var(--ochre-dark);margin:2px 0 0}.checkout-summary__total{color:var(--ink);font-family:var(--serif);margin:12px 0 22px;font-size:2.35rem;font-weight:500;display:block}.checkout-summary ul{border-top:1px solid var(--line-dark);margin:0;padding:0;list-style:none}.checkout-summary li{border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:12px;padding:12px 0;font-size:.87rem;line-height:1.4;display:flex}.checkout-summary li span:last-child{color:var(--ink);text-align:right}.success-page{max-width:760px;padding-top:clamp(94px,15vw,180px);padding-bottom:clamp(110px,18vw,220px)}.success-page h1{max-width:690px;margin-bottom:22px}.success-page>p:not(.eyebrow):not(.notice){max-width:540px;margin-bottom:32px;font-size:1.1rem}.about-page{max-width:900px}.about-page>section{max-width:690px;margin-bottom:68px}.about-page h2{margin-bottom:16px;font-size:2.1rem}.about-page__first-book{border-left:3px solid var(--ochre-dark);background:var(--paper-soft);padding:30px}.about-page__first-book h2{margin-bottom:9px}.about-page__first-book p:last-child{margin-bottom:0}.site-footer{border-top:1px solid var(--line);background:var(--paper-soft);margin-top:auto}.site-footer__grid{width:var(--page);grid-template-columns:1.2fr .6fr 1fr;gap:32px;margin:0 auto;padding:42px 0 30px;display:grid}.footer-tagline,.contact-pending{margin-bottom:0;font-size:.86rem}.footer-nav{align-content:start;gap:9px;display:grid}.footer-nav a{color:var(--ink);font-size:.86rem}.copyright{width:var(--page);border-top:1px solid var(--line);margin:0 auto;padding:18px 0;font-size:.75rem}.admin-shell{background:var(--paper);min-height:100vh}.admin-page{width:min(1100px,100% - 48px);margin:0 auto;padding:50px 0 90px}.admin-login{place-items:center;max-width:480px;min-height:560px;display:grid}.admin-login>div{width:100%}.admin-login h1{margin-bottom:14px;font-size:3.2rem}.admin-login__form{gap:18px;margin-top:32px;display:grid}.admin-login__form label{color:var(--ink);gap:8px;font-size:.9rem;font-weight:650;display:grid}.admin-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;margin-bottom:58px;padding-bottom:20px;display:flex}.admin-header nav{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:18px;display:flex}.admin-header nav a{font-size:.86rem;font-weight:650}.admin-page__top{justify-content:space-between;align-items:end;gap:24px;margin-bottom:34px;display:flex}.admin-page__top h1{margin-bottom:0;font-size:3.4rem}.admin-book-list{border-top:1px solid var(--line)}.admin-book-row{border-bottom:1px solid var(--line);grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:18px;padding:17px 0;display:grid}.admin-book-row__image{border:1px solid var(--line);background:var(--paper-soft);width:72px;height:88px;overflow:hidden}.admin-book-row__image .book-image{object-fit:cover}.admin-book-row h2{font-family:var(--serif);margin-bottom:5px;font-size:1.4rem;font-weight:500}.admin-book-row p{margin-bottom:3px;font-size:.83rem;line-height:1.45}.admin-book-row__actions{gap:14px;display:flex}.admin-book-form{gap:38px;max-width:780px;display:grid}.admin-book-form>section,.admin-images{border:1px solid var(--line);background:var(--paper-soft);padding:28px}.admin-book-form h2,.admin-images h2{margin-bottom:22px;font-size:1.75rem}.admin-check{color:var(--ink);align-items:flex-start;gap:9px;margin:2px 0 20px;font-size:.9rem;display:flex}.admin-images{max-width:780px;margin-top:40px}.admin-images>p{margin-bottom:22px;font-size:.9rem}.image-upload-row{border-top:1px solid var(--line);gap:16px;margin-top:18px;padding-top:18px;display:grid}.image-upload-row label{color:var(--ink);gap:8px;font-size:.9rem;font-weight:650;display:grid}.image-upload-row input[type=file]{color:var(--muted);font-size:.85rem}.admin-cover-preview{aspect-ratio:.75;border:1px solid var(--line);width:160px;overflow:hidden}.admin-cover-preview .book-image{object-fit:cover}.admin-gallery-list{gap:13px;margin-top:20px;display:grid}.admin-gallery-item{border:1px solid var(--line);background:#fff;grid-template-columns:84px minmax(0,1fr);align-items:center;gap:14px;padding:10px;display:grid}.admin-gallery-item>.book-image{object-fit:cover;width:84px;height:104px}.admin-gallery-item input{border:1px solid var(--line-dark);width:100%;min-height:40px;padding:8px}.admin-gallery-item__actions{flex-wrap:wrap;gap:12px;margin-top:10px;display:flex}.admin-gallery-item__actions button{color:var(--ink);background:0 0;border:0;font-size:.8rem;text-decoration:underline}@media (width<=900px){:root{--page:min(100% - 36px, 720px)}.hero-section{grid-template-columns:1fr;gap:48px;min-height:0}.hero-section__copy{max-width:650px}.books-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.book-detail__layout{grid-template-columns:1fr;max-width:680px}.book-detail__copy{max-width:620px}.cart-layout,.checkout-layout{grid-template-columns:1fr}.cart-summary{max-width:500px}.site-footer__grid{grid-template-columns:1fr 1fr}.contact-pending{grid-column:1/-1}}@media (width<=620px){:root{--page:calc(100% - 32px)}h1{font-size:2.65rem}.site-header__inner{flex-direction:column;align-items:flex-start;gap:10px;min-height:auto;padding:17px 0 12px}.primary-nav{justify-content:space-between;gap:9px;width:100%;font-size:.82rem}.hero-section{padding-top:66px;padding-bottom:67px}.hero-section h1{font-size:clamp(3rem,15vw,4.2rem)}.hero-section__intro{font-size:1rem}.story-format{padding:22px}.story-format__pages>div{min-height:190px;padding-top:18px}.story-format__pages span{margin-bottom:27px}.content-section{padding:62px 0}.section-heading{flex-direction:column;align-items:start;gap:10px;margin-bottom:27px}.books-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 15px}.book-card__description{display:none}.book-card__content{padding-top:14px}.book-card h3{font-size:1.23rem}.book-card__actions{flex-direction:column;align-items:flex-start}.book-card__actions .button{width:100%;min-height:42px;padding:9px;font-size:.76rem}.book-detail__copy h1{font-size:2.8rem}.book-gallery__main{aspect-ratio:.78}.book-gallery__thumbs button{flex-basis:58px;width:58px;height:72px}.cart-item{grid-template-columns:72px minmax(0,1fr);gap:14px}.cart-item__image{width:72px;height:90px}.cart-item__end{text-align:left;grid-column:2;justify-content:space-between;align-items:center;display:flex}.cart-item__end>p{margin-bottom:0}.form-grid{grid-template-columns:1fr}.site-footer__grid{grid-template-columns:1fr;gap:26px}.contact-pending{grid-column:auto}.admin-page{width:calc(100% - 32px);padding-top:32px}.admin-header{flex-direction:column;align-items:flex-start;gap:17px;margin-bottom:40px}.admin-header nav{justify-content:flex-start;gap:14px}.admin-page__top{flex-direction:column;align-items:start}.admin-page__top h1{font-size:2.7rem}.admin-book-row{grid-template-columns:58px minmax(0,1fr);gap:12px}.admin-book-row__image{width:58px;height:73px}.admin-book-row__actions{grid-column:2}.admin-book-form>section,.admin-images{padding:20px}}
