:root {
  --ink:#38212d; --muted:#644e58; --rose:#954962; --gold:#bc9259;
  --cream:#fff9f2; --paper:#fffdf9; --blush:#f5e7e3; --navy:#162633;
}
* { box-sizing:border-box }
html { scroll-behavior:smooth }
body { margin:0; background:var(--paper); color:var(--ink); font:1rem/1.65 Georgia,"Times New Roman",serif }
a { color:inherit; text-decoration:none }
img { display:block; max-width:100% }
h1,h2,h3,p,figure { margin:0 }
h1,h2,h3 { font-weight:400; line-height:1.09; letter-spacing:-.028em }
h1 { font-size:clamp(3rem,5.4vw,6rem) }
h2 { font-size:clamp(2.5rem,4vw,4.35rem) }
h3 { font-size:clamp(1.65rem,2.1vw,2.35rem) }
em { color:var(--rose); font-weight:400 }
.wrap { width:min(100%,1320px); margin:auto; padding-left:clamp(22px,5vw,72px); padding-right:clamp(22px,5vw,72px) }
.skip { position:absolute; left:-999px; top:0; padding:.7rem 1rem; background:#fff; z-index:100 }
.skip:focus { left:1rem }
:focus-visible { outline:3px solid var(--rose); outline-offset:4px }
.eyebrow,.book-tag,.post-number { font:700 .84rem/1.5 system-ui,sans-serif; text-transform:uppercase; letter-spacing:.13em; color:var(--rose) }
.eyebrow.light { color:#e8bf9c }
.site-header { display:flex; align-items:center; gap:2rem; min-height:100px; padding:10px clamp(22px,5vw,72px); background:#fffcf8; border-bottom:1px solid #ead7d2 }
.brand,.footer-brand { display:flex; align-items:center; gap:.7rem; flex-shrink:0; font-size:1.65rem; line-height:1; letter-spacing:-.04em }
.brand img { width:76px; height:76px; object-fit:contain; filter:drop-shadow(0 2px 4px #57342032) }
.brand small,.footer-brand small { display:block; margin-top:.4rem; font:600 .68rem/1.2 system-ui,sans-serif; letter-spacing:.08em; text-transform:uppercase; white-space:nowrap }
.site-header nav { display:flex; justify-content:flex-end; align-items:center; gap:clamp(.8rem,2.2vw,2rem); margin-left:auto; font:600 .9rem/1.3 system-ui,sans-serif }
.site-header nav a { padding:.6rem 0; border-bottom:2px solid transparent; white-space:nowrap }
.site-header nav a:hover,.site-header nav a[aria-current] { border-bottom-color:var(--gold) }
.hero { background:linear-gradient(115deg,#fff8f2 4%,#f3dddb 85%) }
.hero-copy { max-width:980px; margin:auto; padding:80px clamp(26px,5.5vw,100px) 85px }
.hero-copy .eyebrow { margin-bottom:1.35rem }
.hero h2 { max-width:790px }
.hero .lead,.author-hero .lead { max-width:760px; font-size:clamp(1.08rem,1.45vw,1.25rem); line-height:1.67; margin:1.8rem 0 2rem }
.hero-photo { position:relative; overflow:hidden; height:clamp(360px,48vw,630px) }
.hero-photo img { width:100%; height:100%; object-fit:cover; object-position:50% 15% }
.hero-photo figcaption,.author-hero figcaption { position:absolute; left:24px; bottom:20px; padding:.35rem .7rem; color:white; background:#27161ca6; font-style:italic; font-size:1rem }
.actions { display:flex; align-items:center; flex-wrap:wrap; gap:1rem }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:.85rem 1.35rem; border:1px solid transparent; border-radius:3px; font:700 .95rem/1.2 system-ui,sans-serif; text-align:center; transition:background .2s,color .2s }
.button-primary { background:var(--ink); color:#fff }
.button-primary:hover { background:var(--rose) }
.button-outline { border-color:var(--rose); color:var(--rose) }
.button-outline:hover { background:var(--rose); color:#fff }
.button-light { background:#fff8ef; color:var(--ink) }
.button-light:hover { background:#ecd4c2 }
.text-link { color:var(--rose); font:700 .95rem system-ui,sans-serif; padding:.7rem }
.text-link:hover { text-decoration:underline }
.intro-band { background:var(--ink); color:#fff7ef }
.intro-inner { display:grid; grid-template-columns:210px 1fr; gap:clamp(35px,7vw,105px); align-items:center; padding-top:56px; padding-bottom:62px }
.intro-inner img { width:210px; height:210px; object-fit:contain; filter:drop-shadow(0 3px 14px #e8b68238) }
.intro-inner h1 { max-width:830px; margin:.4rem 0 1.15rem; font-size:clamp(2.5rem,4vw,4.35rem) }
.intro-inner h1 em,.next-author em,.sebastian-hero em { color:#e7b988 }
.intro-inner p:last-child { max-width:780px; font-size:1.14rem; color:#f1dfd9 }
.worlds,.book-section,.blog-section { padding-top:105px; padding-bottom:115px }
.section-heading { max-width:900px; margin-bottom:42px }
.section-heading h2 { margin:.55rem 0 1rem }
.section-heading>p:last-child { max-width:710px; color:var(--muted); font-size:1.14rem }
.world-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px }
.world-card { overflow:hidden; background:#f7eae5; border:1px solid #eddad1 }
.world-card.seb-card { background:#edf0ef; border-color:#d4dcdd }
.world-art { height:440px; display:flex; align-items:center; justify-content:center; overflow:hidden; padding:20px }
.world-art>img { width:auto; max-width:100%; height:100%; object-fit:contain; box-shadow:0 12px 26px #38212d30 }
.front-cover-crop { height:100%; aspect-ratio:2/3; overflow:hidden; box-shadow:0 12px 26px #16263340 }
.front-cover-crop>img { display:block; width:100%; height:100%; max-width:none; object-fit:cover; object-position:right center }
.world-text { padding:30px clamp(24px,3vw,42px) 38px }
.world-text h3 { margin:.3rem 0 1rem }
.world-text>p:not(.eyebrow) { max-width:480px; color:var(--muted); min-height:70px; font-size:1.05rem }
.world-text .button { margin-top:1.4rem }
.mz-mark { display:inline-grid; place-items:center; width:70px; height:70px; flex:0 0 auto; border:2px solid #c89d59; border-radius:50%; background:var(--navy); color:#fff9e7; font:700 1.7rem/1 Georgia,serif; letter-spacing:-.06em; box-shadow:0 3px 9px #0002 }
.quote-band { text-align:center; padding:78px 22px 83px; background:#f0d9d7 }
.quote-band p { max-width:890px; margin:auto; font-size:clamp(1.6rem,2.6vw,2.5rem); line-height:1.4; font-style:italic }
.quote-band span { display:block; margin-top:1.1rem; color:var(--rose); font:700 .82rem system-ui,sans-serif; letter-spacing:.13em; text-transform:uppercase }
.post-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px }
.post { padding-top:25px; border-top:2px solid var(--gold) }
.post h3 { margin:1.2rem 0 }
.post p { color:var(--muted); font-size:1.05rem }
.post summary { display:inline-block; cursor:pointer; margin-top:1.2rem; color:var(--rose); border-bottom:1px solid; font:700 .92rem system-ui,sans-serif; list-style:none }
.post summary::-webkit-details-marker { display:none }
.post details[open] summary { margin-bottom:.7rem }
.contact { padding-top:85px; padding-bottom:100px; text-align:center; background:var(--paper) }
.contact h2 { margin:.5rem 0 1rem }
.contact>p:not(.eyebrow) { max-width:600px; margin:0 auto 1.6rem; color:var(--muted); font-size:1.12rem }
footer { background:var(--ink); color:#fff7ef; padding:28px 0 34px }
.footer-inner { display:flex; align-items:center; gap:20px; flex-wrap:wrap }
.footer-brand img { width:80px; height:80px; object-fit:contain }
.footer-brand { font-size:1.55rem }
.footer-inner nav { display:flex; gap:1.4rem; margin-left:auto; font:600 .9rem system-ui,sans-serif }
.footer-inner nav a:hover { text-decoration:underline }
.footer-inner>small { width:100%; color:#e3c5c9; font:500 .8rem system-ui,sans-serif }
.author-hero { background:linear-gradient(125deg,#fff8f0,#f1d9dd) }
.author-hero-inner { min-height:610px; display:grid; grid-template-columns:1fr minmax(320px,43%); gap:clamp(35px,6vw,90px); align-items:center; padding-top:65px; padding-bottom:65px }
.author-hero-inner>div { padding-right:1rem }
.author-hero .eyebrow { margin-bottom:1.3rem }
.author-hero figure { height:490px; position:relative; overflow:hidden; box-shadow:17px 17px 0 #d6aebb }
.author-hero figure img { width:100%; height:100%; object-fit:cover; object-position:50% 18% }
.author-statement { padding-top:105px; padding-bottom:110px; display:grid; grid-template-columns:1fr 1fr; gap:30px 80px }
.author-statement .eyebrow { grid-column:1/-1 }
.author-statement>p:last-child { max-width:500px; color:var(--muted); font-size:1.18rem; align-self:end }
.book-section { background:#fffaf5 }
.book-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px }
.book-card { display:flex; flex-direction:column; overflow:hidden; background:#fff; border:1px solid #eddcd1 }
.cover { height:500px; display:grid; place-items:center; padding:28px; background:#f1e6e0 }
.cover>img { height:100%; max-width:100%; object-fit:contain; box-shadow:0 14px 28px #482d2d29 }
.book-info { display:flex; flex-direction:column; align-items:flex-start; flex:1; padding:27px 27px 32px }
.book-info h3 { margin:.7rem 0 }
.book-info p { color:var(--muted); font-size:1.05rem }
.book-action { margin-top:auto; padding-top:1.5rem; color:var(--rose); font:700 .9rem/1.4 system-ui,sans-serif; text-decoration:underline; text-underline-offset:4px }
.catalog-note { margin-top:1.5rem; color:var(--muted); font:500 .9rem/1.6 system-ui,sans-serif }
.next-author { background:var(--ink); color:#fff7ef }
.next-inner { padding-top:64px; padding-bottom:70px; display:flex; align-items:center; justify-content:space-between; gap:3rem }
.next-inner h2 { margin:.4rem 0 }
.next-inner p:last-child { font-size:1.1rem; color:#ead9d7 }
.sebastian-hero { background:linear-gradient(120deg,#162633,#2d4551); color:#fff7ef }
.sebastian-hero .lead { color:#f0e2da }
.sebastian-hero figure { box-shadow:17px 17px 0 #ad8450 }
.sebastian-hero figure img { object-position:50% 9% }
.mz-identity { display:inline-flex; align-items:center; gap:.85rem; margin-bottom:1.8rem; font:700 .85rem system-ui,sans-serif; letter-spacing:.13em; text-transform:uppercase; color:#e5c49b }
.mz-identity .mz-mark { width:80px; height:80px; font-size:2rem }
.seb-book-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px }
.seb-book-grid .cover { height:500px; background:#dce1e1 }
.pending-cover { display:flex; flex-direction:column; gap:1.3rem; justify-content:center; align-items:center; text-align:center; color:var(--navy); background:#edf0ef }
.pending-cover>span:last-child { font:600 1rem/1.6 system-ui,sans-serif }
section { scroll-margin-top:30px }
.legal-content { max-width:890px; padding-top:80px; padding-bottom:100px }
.legal-content h1 { margin:.5rem 0 2.6rem; font-size:clamp(2.7rem,5vw,4.3rem) }
.legal-content h2 { margin:2.4rem 0 .75rem; font-size:clamp(1.55rem,2.4vw,2rem) }
.legal-content p { margin:.7rem 0; max-width:72ch; font-size:1.07rem; line-height:1.75; overflow-wrap:anywhere }
.legal-content a { color:var(--rose); text-decoration:underline; text-underline-offset:3px }
@media(max-width:1000px) {
  .site-header { flex-wrap:wrap; gap:0 1rem }
  .site-header nav { width:100%; order:2; justify-content:space-between; overflow-x:auto; padding-bottom:5px }
  .hero-copy { padding:65px 32px }
  .book-grid { gap:15px }
  .cover { height:430px; padding:18px }
  .book-info { padding:22px }
}
@media(max-width:700px) {
  .brand { font-size:1.4rem }
  .brand img { width:60px; height:60px }
  .site-header { min-height:auto; padding:8px 18px }
  .site-header nav { gap:1.15rem; font-size:.85rem }
  .hero-copy { padding:62px 22px 55px }
  .hero h2 { font-size:clamp(2.8rem,10vw,4.4rem) }
  .hero-photo { height:410px }
  .intro-inner { grid-template-columns:1fr; text-align:center; gap:8px; padding-top:32px; padding-bottom:42px }
  .intro-inner img { margin:auto; width:140px; height:140px }
  .intro-inner h1 { font-size:clamp(2.6rem,9vw,3.6rem) }
  .intro-inner p:last-child { font-size:1.05rem }
  .worlds,.book-section,.blog-section { padding-top:70px; padding-bottom:75px }
  .world-grid,.post-grid,.book-grid,.seb-book-grid { grid-template-columns:1fr }
  .world-art { height:390px }
  .world-text>p:not(.eyebrow) { min-height:0 }
  .post { margin-bottom:10px }
  .author-hero-inner { grid-template-columns:1fr; gap:40px; padding-top:55px; padding-bottom:65px }
  .author-hero-inner>div { padding-right:0 }
  .author-hero figure { height:400px; box-shadow:10px 10px 0 #d6aebb }
  .sebastian-hero figure { box-shadow:10px 10px 0 #ad8450 }
  .author-statement { display:block; padding-top:72px; padding-bottom:75px }
  .author-statement h2 { margin:1.2rem 0 1.5rem }
  .book-grid .cover { height:460px }
  .next-inner { display:block }
  .next-inner .button { margin-top:1.5rem }
  .footer-inner nav { width:100%; margin-left:0; flex-wrap:wrap }
  .seb-book-grid .cover { height:460px }
}
@media(max-width:380px) {
  .site-header nav { font-size:.78rem }
  .hero-photo { height:350px }
  .world-art { height:330px }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto } .button { transition:none } }
