:root { --ink:#18382f; --paper:#f6f0e5; --cream:#fffaf1; --orange:#e65d32; --gold:#e8bd66; --line:rgba(24,56,47,.17); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:Manjari, sans-serif; }
a { color:inherit; text-decoration:none; }
.shell { width:min(1180px, calc(100% - 48px)); margin:auto; }
.topline { height:8px; background:var(--orange); }
nav { height:88px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); position:relative; }
.logo { font:700 33px/1 'Playfair Display', serif; letter-spacing:-1.5px; }
.logo span { color:var(--orange); }
.navlinks { display:flex; gap:35px; align-items:center; font-size:14px; }
.navlinks a { padding:8px 0; position:relative; }
.navlinks a.active:after { content:""; position:absolute; left:0; right:0; bottom:0; height:2px; background:var(--orange); }
.menu-toggle { display:none; border:0; background:transparent; color:var(--ink); cursor:pointer; padding:5px 0 5px 8px; font:26px/1 Arial,sans-serif; }
@media (max-width:850px) { .navlinks { display:none; position:absolute; z-index:10; top:calc(100% + 10px); right:0; min-width:210px; padding:15px 18px; flex-direction:column; align-items:flex-start; gap:13px; background:var(--cream); border:1px solid var(--line); box-shadow:8px 8px 0 rgba(24,56,47,.1); } .navlinks.is-open { display:flex; } .menu-toggle { display:block; } .admin-header .admin-label { display:none; } }
.hero { min-height:537px; position:relative; overflow:hidden; display:grid; grid-template-columns:1.1fr .9fr; align-items:center; }
.hero:before { content:""; position:absolute; width:510px; height:510px; border-radius:50%; background:var(--gold); right:-110px; top:32px; opacity:.88; }
.hero:after { content:""; position:absolute; width:200px; height:200px; border:1px solid var(--ink); border-radius:50%; right:110px; bottom:-105px; opacity:.35; }
.hero-copy { position:relative; z-index:1; padding:64px 0 66px; }
.eyebrow { font:500 11px/1 'DM Mono', monospace; letter-spacing:1.8px; color:var(--orange); text-transform:uppercase; }
h1 { max-width:660px; margin:23px 0 25px; font-size:clamp(37px,4.3vw,62px); line-height:1.25; letter-spacing:-.8px; font-weight:700; }
.hero-copy p { max-width:485px; margin:0 0 34px; color:#496258; font-size:17px; line-height:1.8; }
.button { display:inline-flex; align-items:center; gap:19px; background:var(--ink); color:#fffaf1; padding:15px 20px 13px 24px; font-size:14px; transition:.2s transform,.2s background; }
.button:hover { transform:translateY(-3px); background:var(--orange); }
.arrow { font:20px/1 Arial; }
.hero-art { z-index:1; position:relative; height:100%; min-height:400px; }
.book-stack { position:absolute; width:315px; height:390px; right:55px; top:77px; transform:rotate(7deg); }
.back-book,.front-book { position:absolute; box-shadow:16px 18px 0 rgba(24,56,47,.12); }
.back-book { width:225px; height:310px; background:#e1a955; top:38px; left:5px; transform:rotate(-14deg); border:9px solid #d7933b; }
.back-book:after { content:""; position:absolute; inset:23px; border:1px solid rgba(24,56,47,.55); }
.front-book { background:var(--ink); width:230px; height:318px; right:6px; top:12px; padding:30px 26px; color:#f7ead1; display:flex; flex-direction:column; }
.front-book small { font:10px 'DM Mono',monospace; letter-spacing:1.3px; color:#e8bd66; }
.front-book strong { margin-top:auto; font:600 37px/1.1 'Playfair Display',serif; letter-spacing:-1px; }
.front-book em { font:500 23px/1.15 'Playfair Display',serif; color:#e6b85b; margin-top:8px; }
.front-book i { width:70px; height:2px; background:var(--orange); margin-top:22px; }
.stamp { position:absolute; width:87px; height:87px; right:-22px; bottom:13px; border-radius:50%; background:var(--orange); color:white; display:grid; place-content:center; text-align:center; font:10px/1.35 'DM Mono',monospace; transform:rotate(-12deg); }
.stamp b { font-size:22px; }
.marquee { border-top:1px solid var(--line); border-bottom:1px solid var(--line); overflow:hidden; padding:15px 0 11px; font:500 13px 'DM Mono',monospace; color:#466258; letter-spacing:1px; }
.marquee-track { display:flex; width:max-content; animation:marquee-scroll 24s linear infinite; will-change:transform; }
.marquee-content { display:block; flex:none; white-space:nowrap; padding-right:50px; }
.marquee .separator { margin:0 25px; color:var(--orange); font-size:18px; vertical-align:-1px; }
@keyframes marquee-scroll { to { transform:translateX(-50%); } }
@media (prefers-reduced-motion:reduce) { .marquee-track { animation:none; } }
.books { padding:100px 0 110px; background:var(--cream); }
.book-page { background:var(--cream); }
.book-page-hero { min-height:500px; display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); align-items:center; gap:clamp(40px, 8vw, 130px); padding:75px 0; }
.book-page-heading { max-width:720px; text-align:right; }
.book-page-heading h1 { margin:20px 0 14px; max-width:none; font:700 clamp(42px,6vw,78px)/1.18 Manjari,sans-serif; letter-spacing:-1.5px; }
.book-page-heading p { margin:0; color:#587067; font-size:18px; }
.book-purchase { display:flex; justify-content:flex-end; align-items:center; gap:24px; margin-top:30px; }
.book-price { display:flex; flex-direction:column; align-items:flex-end; gap:3px; font:13px 'DM Mono',monospace; }
.book-price del { color:#667a70; }
.book-price strong { color:var(--orange); font-size:18px; }
@media (max-width:760px) { .book-purchase { gap:16px; margin-top:22px; } .book-purchase .button { padding:13px 16px 11px 18px; font-size:13px; } }
.book-description { max-width:820px; margin-left:max(24px, calc((100% - 1180px) / 2)); padding:75px 0 100px; }
.book-description > p { margin:20px 0 0; color:#38554a; font-size:18px; line-height:2; }
.book-description .book-introduction { color:var(--orange); font-weight:700; }
.book-page-gallery { min-width:0; }
.gallery-controls { display:flex; gap:10px; }
.book-page-gallery .gallery-controls { margin-top:14px; }
.gallery-arrow { width:44px; height:44px; border:1px solid var(--ink); background:transparent; color:var(--ink); cursor:pointer; font:24px/1 Arial,sans-serif; transition:.2s background,.2s color; }
.gallery-arrow:hover { background:var(--ink); color:var(--cream); }
.product-gallery { display:flex; gap:22px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; scrollbar-width:none; }
.product-gallery::-webkit-scrollbar { display:none; }
.product-gallery figure { flex:0 0 min(68vw,500px); aspect-ratio:4 / 3; margin:0; scroll-snap-align:start; background:var(--paper); }
.product-gallery img { display:block; width:100%; height:100%; object-fit:cover; }
.book-page-gallery .product-gallery { gap:0; }
.book-page-gallery .product-gallery figure { flex-basis:100%; }
.author-section { padding:0 0 100px; background:var(--cream); }
.author-feature { display:grid; grid-template-columns:minmax(220px, .7fr) 1fr; align-items:center; gap:clamp(35px, 8vw, 120px); padding:52px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.author-feature img { display:block; width:100%; max-width:330px; aspect-ratio:3 / 4; object-fit:cover; }
.author-copy h2 { margin:16px 0 0; font:600 clamp(38px,5vw,66px)/1 'Playfair Display',serif; }
.section-head { display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:44px; }
h2 { margin:12px 0 0; font:600 clamp(32px,3.4vw,47px)/1.05 'Playfair Display',serif; letter-spacing:-1px; }
.view-all { border-bottom:1px solid var(--ink); padding-bottom:4px; font-size:14px; }
.books-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.book-card { display:block; cursor:pointer; }
.cover { height:322px; padding:22px; display:flex; flex-direction:column; justify-content:space-between; position:relative; box-shadow:9px 10px 0 rgba(24,56,47,.1); transition:.25s transform; }
.book-card:hover .cover,.book-card.is-selected .cover { transform:translateY(-8px) rotate(-1deg); }
.cover small { font:10px 'DM Mono',monospace; letter-spacing:1.2px; }
.cover .cover-title { font:600 30px/1.06 'Playfair Display',serif; max-width:150px; }
.cover.one { background:#e6663b; color:#fff8e8; } .cover.one:after { content:""; width:75px; height:75px; border:2px solid #ffd876; border-radius:50%; position:absolute; right:25px; bottom:28px; }
.cover.two { background:#cfbd9c; color:#203f36; } .cover.two:before { content:""; position:absolute; height:90%; border-left:2px solid var(--ink); left:50%; top:5%; transform:rotate(30deg); opacity:.65; }
.cover.three { background:#315c52; color:#f7e8c9; } .cover.three:after { content:""; width:110px; border-top:1px solid #e7bd66; position:absolute; right:-10px; top:46%; transform:rotate(-35deg); box-shadow:0 12px 0 #e7bd66,0 24px 0 #e7bd66; }
.cover.four { background:#e7bd66; color:#1a3b32; } .cover.four .cover-title { font-size:34px; }
.book-meta { padding:20px 2px 0; display:flex; justify-content:space-between; gap:10px; }
.book-meta h3 { font-size:17px; margin:0 0 7px; } .book-meta p { color:#667a70; font-size:13px; margin:0; } .price { font:500 13px 'DM Mono',monospace; white-space:nowrap; padding-top:3px; }
footer { background:var(--ink); color:#f9f2e4; padding:77px 0 26px; }
.footer-main { display:grid; grid-template-columns:1.2fr .9fr .8fr; gap:70px; padding-bottom:65px; }
footer .logo { color:#fff8e9; } footer .logo span { color:var(--gold); }
.footer-intro p { color:#bdd0c4; line-height:1.8; max-width:300px; font-size:14px; margin:18px 0 0; }
.footer-col h4 { margin:4px 0 20px; color:var(--gold); font:11px 'DM Mono',monospace; letter-spacing:1.6px; }
.footer-col a,.footer-col p { display:block; color:#f9f2e4; font-size:14px; line-height:2; margin:0; }
.footer-col a:hover { color:var(--gold); }
.footer-bottom { border-top:1px solid rgba(255,255,255,.17); padding-top:23px; color:#a6c0b1; font:11px 'DM Mono',monospace; display:flex; justify-content:space-between; }
@media (max-width:760px) { .shell { width:min(100% - 32px,1180px); } nav { height:73px; } .navlinks { min-width:190px; gap:12px; font-size:12px; } .menu-toggle { font-size:24px; } .hero { min-height:auto; grid-template-columns:1fr; } .hero:before { width:350px; height:350px; right:-160px; top:300px; } .hero-copy { padding:62px 0 20px; } h1 { font-size:37px; } .hero-art { min-height:350px; } .book-stack { transform:scale(.82) rotate(7deg); transform-origin:top right; right:0; top:15px; } .book-page-hero { min-height:0; grid-template-columns:1fr; gap:25px; padding:36px 0; } .book-page-heading { order:-1; } .book-page-heading h1 { font-size:clamp(32px, 9vw, 42px); line-height:1.25; } .book-page-heading p { font-size:14px; } .book-page-heading .eyebrow { font-size:9px; } .book-page-gallery .gallery-controls { margin-top:10px; } .book-description { margin-left:16px; padding:55px 0 70px; } .book-description > p { font-size:16px; line-height:1.9; } .gallery-arrow { width:36px; height:36px; font-size:20px; } .product-gallery { gap:16px; } .product-gallery figure { flex-basis:84vw; } .book-page-gallery .product-gallery { gap:0; } .book-page-gallery .product-gallery figure { flex-basis:100%; } .author-section { padding-bottom:70px; } .author-feature { grid-template-columns:1fr; gap:28px; padding:38px 0; } .author-feature img { max-width:260px; } .books { padding:67px 0; } .books-grid { grid-template-columns:repeat(2,1fr); gap:32px 16px; } .cover { height:250px; padding:17px; } .cover .cover-title { font-size:24px; } .section-head { margin-bottom:28px; } .footer-main { grid-template-columns:1fr 1fr; gap:38px 20px; } .footer-intro { grid-column:span 2; } .footer-bottom { gap:14px; flex-direction:column; } }

.editorial-hero { background:var(--cream); padding:106px 0 98px; position:relative; overflow:hidden; }
.editorial-hero:after { content:""; position:absolute; width:430px; height:430px; border:1px solid var(--gold); border-radius:50%; right:-115px; top:-165px; }
.editorial-hero .shell { position:relative; z-index:1; }
.editorial-hero h1 { margin:22px 0 18px; font:600 clamp(48px,6vw,78px)/1.04 'Playfair Display',serif; }
.editorial-hero p { max-width:450px; margin:0; color:#496258; line-height:1.8; }
.editorial-list { padding:82px 0 110px; }
.team-feature { border-top:2px solid var(--ink); border-bottom:1px solid var(--line); padding:27px 0 31px; display:flex; justify-content:space-between; align-items:baseline; }
.role { color:var(--orange); font:500 11px 'DM Mono',monospace; letter-spacing:1.5px; text-transform:uppercase; }
.team-feature h2 { margin:0; font-size:clamp(31px,4vw,52px); }
.team-grid { display:grid; grid-template-columns:1fr 1fr; gap:0; border-bottom:1px solid var(--line); }
.team-card { padding:34px 34px 38px 0; min-height:176px; }
.team-card + .team-card { border-left:1px solid var(--line); padding-left:34px; }
.team-card h3,.board-members h3 { font-size:24px; margin:17px 0 8px; }
.team-card p,.board-members p { margin:0; color:#526a60; line-height:1.7; font-size:14px; }
.board-members { padding:82px 0 68px; }
.board-heading { display:flex; justify-content:space-between; align-items:end; margin-bottom:30px; }
.board-heading h2 { font-size:clamp(29px,3.6vw,45px); }
.board-heading h2 span { color:var(--orange); font:500 16px 'DM Mono',monospace; vertical-align:middle; margin-left:8px; }
.board-members ol { padding:0; margin:0; list-style:none; border-top:1px solid var(--line); }
.board-members li { display:grid; grid-template-columns:72px 1fr; padding:27px 0 25px; border-bottom:1px solid var(--line); }
.number { color:var(--orange); font:12px 'DM Mono',monospace; padding-top:6px; }
.board-members h3 { margin:0 0 7px; }
.credits { background:var(--ink); color:#fff9ea; display:grid; grid-template-columns:1fr 1fr; }
.credits div { padding:29px 33px; }
.credits div + div { border-left:1px solid rgba(255,255,255,.2); }
.credits span { display:block; color:var(--gold); font:11px 'DM Mono',monospace; letter-spacing:1.3px; margin-bottom:13px; }
.credits strong { font-size:18px; line-height:1.65; }
@media (max-width:760px) { .editorial-hero { padding:72px 0; } .editorial-list { padding:55px 0 70px; } .team-feature { display:block; } .team-feature h2 { margin-top:15px; } .team-grid,.credits { grid-template-columns:1fr; } .team-card { padding:28px 0; min-height:auto; } .team-card + .team-card { border-left:0; border-top:1px solid var(--line); padding-left:0; } .board-members { padding:60px 0 50px; } .board-heading { display:block; } .board-heading h2 { margin-top:12px; } .board-members li { grid-template-columns:47px 1fr; } .credits div + div { border-left:0; border-top:1px solid rgba(255,255,255,.2); } }

.admin-header nav { gap:28px; }
.admin-label { color:#587067; font:11px 'DM Mono',monospace; letter-spacing:1.3px; margin-right:auto; }
.back-link { font-size:13px; border-bottom:1px solid var(--ink); padding-bottom:3px; }
.admin-page { padding:74px 0 110px; }
.admin-intro { margin-bottom:50px; }
.admin-intro h1 { margin:17px 0 15px; font:600 clamp(43px,5.2vw,68px)/1 'Playfair Display',serif; }
.admin-intro p { margin:0; color:#587067; font-size:15px; line-height:1.7; }
.book-form { border-top:2px solid var(--ink); }
.form-section { display:grid; grid-template-columns:260px 1fr; gap:48px; padding:42px 0; border-bottom:1px solid var(--line); }
.form-section-heading { display:flex; gap:16px; align-items:flex-start; }
.step { color:var(--orange); font:12px 'DM Mono',monospace; padding-top:5px; }
.form-section h2 { margin:0 0 9px; font-size:27px; }
.form-section-heading p { color:#64796f; font-size:13px; line-height:1.65; margin:0; }
.upload-zone { min-height:250px; border:1.5px dashed #9aaba2; background:var(--cream); display:flex; flex-direction:column; align-items:center; justify-content:center; position:relative; cursor:pointer; padding:30px; text-align:center; transition:.2s background,.2s border-color; overflow:hidden; }
.upload-zone:hover,.upload-zone.is-dragging { background:#eef2ea; border-color:var(--orange); }
.upload-zone input { position:absolute; width:1px; height:1px; opacity:0; }
.upload-icon { width:38px; height:38px; display:grid; place-items:center; border:1px solid var(--ink); border-radius:50%; margin-bottom:14px; font:23px/1 Arial; }
.upload-zone strong { font-size:16px; }
.upload-zone small { color:#6a7d74; margin-top:7px; font-size:12px; }
.upload-zone img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; background:var(--cream); padding:15px; }
.upload-message { grid-column:2; color:var(--orange); margin:-30px 0 0; font-size:13px; }
.form-fields { display:grid; grid-template-columns:1fr 1fr; gap:25px 20px; }
.field { display:block; }
.field.full { grid-column:1 / -1; }
.field span { display:block; font-size:14px; font-weight:700; margin-bottom:9px; }
.field em { color:#75877e; font-style:normal; font-weight:400; }
.field input,.field textarea { width:100%; border:1px solid #bdc9c0; background:#fffdf7; color:var(--ink); border-radius:0; padding:13px 14px; font:14px Manjari,sans-serif; outline:none; transition:border-color .2s,box-shadow .2s; }
.field textarea { resize:vertical; min-height:140px; line-height:1.65; }
.field input:focus,.field textarea:focus { border-color:var(--orange); box-shadow:0 0 0 3px rgba(230,93,50,.12); }
.field input::placeholder,.field textarea::placeholder { color:#98a69f; }
.pricing-fields { grid-template-columns:repeat(3,1fr); }
.form-actions { display:flex; align-items:center; justify-content:space-between; gap:25px; padding:35px 0; }
.form-actions p { color:#6c8076; font-size:12px; margin:0; }
.form-actions .button { border:0; cursor:pointer; font-family:Manjari,sans-serif; }
.toast { background:var(--ink); color:#fff9ea; padding:15px 20px; position:fixed; right:22px; bottom:22px; transform:translateY(110px); opacity:0; transition:.25s transform,.25s opacity; font-size:14px; box-shadow:0 10px 25px rgba(24,56,47,.2); }
.toast.is-visible { transform:translateY(0); opacity:1; }
@media (max-width:760px) { .admin-header nav { gap:15px; } .admin-label { display:none; } .back-link { font-size:12px; } .admin-page { padding:52px 0 70px; } .form-section { grid-template-columns:1fr; gap:28px; padding:34px 0; } .upload-message { grid-column:1; margin:-18px 0 0; } .form-fields,.pricing-fields { grid-template-columns:1fr; } .field.full { grid-column:auto; } .form-actions { align-items:flex-start; flex-direction:column; } }
