/* Master Shanghai trilogy */
.shanghai-series { background: #fff; letter-spacing: 0; }
.shanghai-intro { padding: 42px 0 30px; text-align: center; background: #f1f3f2; border-bottom: 5px solid #b52b32; }
.shanghai-label { font-size: 12px; font-weight: 600; text-transform: uppercase; color: #a0262d; }
.shanghai-label a { text-decoration: underline; text-underline-offset: 3px; }
.shanghai-intro h1 { font-size: 56px; margin-bottom: 12px; }
.shanghai-deck { font-size: 21px; color: #171b1a; }
.shanghai-summary { max-width: 650px; margin: 0 auto 28px; }
.shanghai-shelf { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px; max-width: 720px; margin: 0 auto 22px; }
.shanghai-shelf img { width: 100%; height: 250px; object-fit: contain; margin-bottom: 14px; }
.shanghai-shelf span { display: block; color: #a0262d; font-size: 12px; margin-bottom: 4px; }
.shanghai-shelf strong { display: block; font-size: 15px; }
.shanghai-shelf a:hover strong, .shanghai-details:hover, .shanghai-order-link:hover { text-decoration: underline; }
.shanghai-order-link { font-size: 14px; font-weight: 600; }
.shanghai-reading { padding-top: 48px; padding-bottom: 24px; }
.shanghai-book { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 48px; padding: 40px 0; border-bottom: 1px solid #d9dfdc; align-items: center; scroll-margin-top: 100px; }
.shanghai-book img { width: 180px; height: 270px; object-fit: contain; }
.shanghai-book h2, .shanghai-finale h2, .shanghai-reading > h2 { font-size: 32px; }
.shanghai-book h3 { font-family: var(--sans); font-size: 18px; font-weight: 500; line-height: 1.5; }
.shanghai-book p { max-width: 660px; }
.shanghai-details { display: block; margin-top: 20px; text-decoration: underline; text-underline-offset: 4px; font-size: 14px; }
.shanghai-finale { padding: 52px 0; background: #edf2f0; }
.shanghai-series .btn-primary { background: #a0262d; border-color: #a0262d; }
.shanghai-series .btn-primary:hover { background: #7c1d23; }
.shanghai-series a:focus-visible { outline: 3px solid #a0262d; outline-offset: 5px; }
.series-backlink { padding-top: 22px; font-size: 14px; text-decoration: underline; }
#reading-order { scroll-margin-top: 95px; }
@media (max-width: 600px) {
 .shanghai-intro { padding-top: 28px; }
 .shanghai-intro h1 { font-size: 36px; }
 .shanghai-deck { font-size: 18px; }
 .shanghai-shelf { gap: 12px; }
 .shanghai-shelf img { height: 150px; }
 .shanghai-shelf strong { font-size: 12px; overflow-wrap: anywhere; }
 .shanghai-book { grid-template-columns: 1fr; gap: 24px; padding: 32px 0; }
 .shanghai-book img { width: 150px; height: 225px; }
 .shanghai-book h2, .shanghai-finale h2, .shanghai-reading > h2 { font-size: 28px; }
}
/* Master Shanghai trilogy */
.shanghai-series { background: #fff; letter-spacing: 0; }
.shanghai-intro { padding: 42px 0 30px; text-align: center; background: #f1f3f2; border-bottom: 5px solid #b52b32; }
.shanghai-label { font-size: 12px; font-weight: 600; text-transform: uppercase; color: #a0262d; }
.shanghai-label a { text-decoration: underline; text-underline-offset: 3px; }
.shanghai-intro h1 { font-size: 56px; margin-bottom: 12px; }
.shanghai-deck { font-size: 21px; color: #171b1a; }
.shanghai-summary { max-width: 650px; margin: 0 auto 28px; }
.shanghai-shelf { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px; max-width: 720px; margin: 0 auto 22px; }
.shanghai-shelf img { width: 100%; height: 250px; object-fit: contain; margin-bottom: 14px; }
.shanghai-shelf span { display: block; color: #a0262d; font-size: 12px; margin-bottom: 4px; }
.shanghai-shelf strong { display: block; font-size: 15px; }
.shanghai-shelf a:hover strong, .shanghai-details:hover, .shanghai-order-link:hover { text-decoration: underline; }
.shanghai-order-link { font-size: 14px; font-weight: 600; }
.shanghai-reading { padding-top: 48px; padding-bottom: 24px; }
.shanghai-book { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 48px; padding: 40px 0; border-bottom: 1px solid #d9dfdc; align-items: center; scroll-margin-top: 100px; }
.shanghai-book img { width: 180px; height: 270px; object-fit: contain; }
.shanghai-book h2, .shanghai-finale h2, .shanghai-reading > h2 { font-size: 32px; }
.shanghai-book h3 { font-family: var(--sans); font-size: 18px; font-weight: 500; line-height: 1.5; }
.shanghai-book p { max-width: 660px; }
.shanghai-details { display: block; margin-top: 20px; text-decoration: underline; text-underline-offset: 4px; font-size: 14px; }
.shanghai-finale { padding: 52px 0; background: #edf2f0; }
.shanghai-series .btn-primary { background: #a0262d; border-color: #a0262d; }
.shanghai-series .btn-primary:hover { background: #7c1d23; }
.shanghai-series a:focus-visible { outline: 3px solid #a0262d; outline-offset: 5px; }
.series-backlink { padding-top: 22px; font-size: 14px; text-decoration: underline; }
#reading-order { scroll-margin-top: 95px; }
@media (max-width: 600px) {
 .shanghai-intro { padding-top: 28px; }
 .shanghai-intro h1 { font-size: 36px; }
 .shanghai-deck { font-size: 18px; }
 .shanghai-shelf { gap: 12px; }
 .shanghai-shelf img { height: 150px; }
 .shanghai-shelf strong { font-size: 12px; overflow-wrap: anywhere; }
 .shanghai-book { grid-template-columns: 1fr; gap: 24px; padding: 32px 0; }
 .shanghai-book img { width: 150px; height: 225px; }
 .shanghai-book h2, .shanghai-finale h2, .shanghai-reading > h2 { font-size: 28px; }
}
:root {
  --ink: #111111;
  --paper: #ffffff;
  --gray-50: #f7f7f5;
  --gray-100: #ececea;
  --gray-300: #cfcfca;
  --gray-500: #8a8a84;
  --gray-700: #4a4a46;
  --accent: #111111;
  --serif: 'Source Serif 4', Georgia, serif;
  --sans: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  --max-width: 1120px;
  --red: #d83326;
  --navy: #13263b;
  --cream: #f4efe4;
  --gold: #e7b94f;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--sans);
  color: var(--ink);
  background: var(--paper);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
.wrap { max-width: var(--max-width); margin: 0 auto; padding: 0 24px; }

h1, h2, h3, h4 { font-family: var(--serif); font-weight: 700; line-height: 1.15; margin: 0 0 0.5em; }
h1 { font-size: clamp(2rem, 4vw, 3.25rem); }
h2 { font-size: clamp(1.5rem, 2.5vw, 2.25rem); }
h3 { font-size: 1.25rem; }
p { margin: 0 0 1em; color: var(--gray-700); }

/* ---------- Header ---------- */
.site-header { border-bottom: 1px solid rgba(17,17,17,.1); position: sticky; top: 0; background: rgba(255,255,255,.96); backdrop-filter: blur(12px); z-index: 50; }
.header-inner { display: flex; align-items: center; justify-content: space-between; height: 76px; }
.logo { display: flex; align-items: center; gap: 10px; }
.logo-mark { width: 24px; height: 24px; display: block; }
.logo-word { font-family: var(--serif); font-weight: 700; font-size: 1.05rem; letter-spacing: 0.01em; }
.main-nav { display: flex; gap: 32px; }
.main-nav a { font-size: 0.95rem; font-weight: 500; }
.main-nav a:hover { color: var(--gray-700); }
.nav-shop { border: 1px solid var(--ink); padding: 9px 15px; }
.nav-toggle { display: none; background: none; border: 0; padding: 10px; }
.nav-toggle > span:not(.sr-only) { display: block; width: 24px; height: 2px; margin: 5px 0; background: var(--ink); }

/* ---------- Buttons ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 12px 22px; border-radius: 2px; font-size: 0.9rem; font-weight: 600;
  border: 1px solid var(--ink); cursor: pointer; transition: all .15s ease;
  gap: 8px;
}
.btn-primary { background: var(--ink); color: var(--paper); }
.btn-primary:hover { background: #333; }
.btn-outline { background: transparent; color: var(--ink); }
.btn-outline:hover { background: var(--gray-50); }
.btn-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
.btn[disabled] { opacity: .4; cursor: not-allowed; }

/* ---------- Hero ---------- */
.hero { padding: 72px 0 56px; border-bottom: 1px solid var(--gray-100); }
.hero-eyebrow { text-transform: uppercase; letter-spacing: 0.12em; font-size: 0.75rem; font-weight: 600; color: var(--gray-500); margin-bottom: 14px; }
.hero p.lede { font-size: 1.15rem; max-width: 620px; }
.hero-feature { position: relative; overflow: hidden; padding: 76px 0 88px; background: var(--cream); border: 0; }
.hero-feature::after { content: ''; position: absolute; right: -8vw; top: -22vw; width: 50vw; height: 50vw; border: 1px solid rgba(19,38,59,.13); border-radius: 50%; box-shadow: 0 0 0 7vw rgba(19,38,59,.04), 0 0 0 14vw rgba(19,38,59,.03); }
.hero-grid { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(260px,.75fr); align-items: center; gap: 8vw; }
.hero-copy { position: relative; z-index: 2; }
.hero-feature h1 { max-width: 680px; font-size: clamp(3.4rem,7vw,6.8rem); line-height: .9; letter-spacing: -.045em; }
.hero-feature .lede { margin-top: 24px; font-size: 1.2rem; }
.hero-eyebrow { display: flex; align-items: center; gap: 12px; color: var(--red); }
.hero-eyebrow::before { content: ''; width: 35px; height: 2px; background: currentColor; }
.featured-title { border-left: 2px solid var(--red); margin: 36px 0 30px; padding-left: 20px; max-width: 600px; }
.featured-title h2 { font-family: var(--sans); font-size: clamp(1.15rem,2vw,1.45rem); line-height: 1.25; margin: 6px 0; }
.featured-title p { margin: 0; font-size: .92rem; }
.kicker { display: block; color: var(--red); font-size: .72rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 10px; }
.hero-book { position: relative; z-index: 2; display: block; width: min(220px,62%); max-height: 54vh; margin: 0 auto; transform: rotate(2deg); transition: transform .3s ease; }
.hero-book:hover { transform: rotate(0) translateY(-7px); }
.hero-book img { position: relative; z-index: 2; width: 100%; max-height: 54vh; object-fit: contain; box-shadow: 0 28px 50px rgba(19,38,59,.28); }
.hero-book-shadow { position: absolute; inset: 8% -11% -5% 12%; z-index: 1; background: var(--red); transform: rotate(-5deg); }
.hero-book-note { position: absolute; z-index: 3; right: -36px; bottom: 24px; width: 86px; height: 86px; border-radius: 50%; background: var(--gold); display: grid; place-items: center; text-align: center; color: var(--navy); font: 700 .7rem/1.1 var(--sans); letter-spacing: .09em; text-transform: uppercase; transform: rotate(-9deg); }
.text-link { display: inline-flex; align-items: center; gap: 8px; font-size: .9rem; font-weight: 700; border-bottom: 1px solid currentColor; padding-bottom: 2px; }
.hero-feature .btn-row { align-items: center; gap: 24px; }
.genre-strip { background: var(--navy); color: white; }
.genre-strip-inner { min-height: 70px; display: flex; align-items: center; gap: 42px; }
.genre-strip-inner > span { margin-right: auto; color: rgba(255,255,255,.58); font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; }
.genre-strip a { font-family: var(--serif); font-size: 1.08rem; }
.genre-strip a:hover { color: var(--gold); }

/* ---------- Sections ---------- */
.section { padding: 64px 0; }
.section-head { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 32px; flex-wrap: wrap; gap: 12px; }
.section-head a.view-all { font-size: 0.9rem; font-weight: 600; border-bottom: 1px solid var(--ink); }
.section-alt { background: var(--gray-50); }
.shelf-section { padding: 88px 0 96px; }
.editorial-head { align-items: flex-end; border-bottom: 1px solid var(--gray-300); padding-bottom: 18px; }
.editorial-head h2 { margin: 0; font-size: clamp(2.3rem,4vw,3.8rem); letter-spacing: -.03em; }
.book-grid-home { grid-template-columns: repeat(4,1fr); gap: 36px; }
.book-grid-home .book-card:nth-child(even) { margin-top: 40px; }
.book-grid-home .book-cover { box-shadow: 0 13px 25px rgba(19,38,59,.11); transition: transform .25s ease, box-shadow .25s ease; }
.book-grid-home .book-card:hover .book-cover { transform: translateY(-7px); box-shadow: 0 20px 34px rgba(19,38,59,.2); }
.book-grid-home h3 { font-family: var(--serif); font-size: 1.08rem; line-height: 1.2; margin-top: 5px; }
.book-category { color: var(--red); font-size: .67rem; letter-spacing: .09em; text-transform: uppercase; font-weight: 700; }
.book-carousel { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(145px, 17%); gap: 26px; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: inline mandatory; scrollbar-width: none; padding: 8px 4px 34px; }
.book-carousel::-webkit-scrollbar { display: none; }
.book-carousel .book-card { scroll-snap-align: start; }
.book-carousel .book-cover { height: min(42vh, 300px); aspect-ratio: auto; border: 0; background: transparent; box-shadow: 0 13px 25px rgba(19,38,59,.13); transition: transform .25s ease, box-shadow .25s ease; }
.book-carousel .book-cover img { object-fit: contain; object-position: center bottom; }
.book-carousel .book-card:hover .book-cover { transform: translateY(-6px); box-shadow: 0 20px 34px rgba(19,38,59,.2); }
.book-carousel h3 { font-size: 1.08rem; margin-top: 6px; }
.carousel-actions { display: flex; align-items: center; gap: 10px; }
.carousel-button { width: 42px; height: 42px; border: 1px solid var(--navy); background: transparent; color: var(--navy); font-size: 1.15rem; cursor: pointer; transition: background .15s,color .15s; }
.carousel-button:hover { background: var(--navy); color: white; }
.carousel-actions .view-all { margin-left: 8px; }
.carousel-progress { height: 2px; background: var(--gray-100); overflow: hidden; }
.carousel-progress span { display: block; width: 25%; height: 100%; background: var(--red); transform-origin: left; transition: transform .2s ease; }
.newsletter-section { background: var(--red); color: white; padding: 78px 0; }
.newsletter-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9vw; align-items: center; }
.newsletter-section h2 { font-size: clamp(2.7rem,5vw,4.8rem); line-height: .98; letter-spacing: -.035em; }
.newsletter-section p { color: rgba(255,255,255,.78); }
.kicker-light { color: var(--gold); }
.newsletter-fields { display: flex; }
.newsletter-fields input { flex: 1; min-width: 0; min-height: 52px; border: 0; border-bottom: 2px solid white; background: transparent; color: white; padding: 12px 4px; font: 1rem var(--sans); outline: 0; }
.newsletter-fields input::placeholder { color: rgba(255,255,255,.65); }
.newsletter-fields input:focus { border-color: var(--gold); }
.btn-paper { border-color: white; background: white; color: var(--navy); margin-left: 12px; }
.consent-check { display: flex; align-items: flex-start; gap: 9px; margin-top: 14px; font-size: .75rem; color: rgba(255,255,255,.72); }
.consent-check input { margin-top: 3px; accent-color: var(--gold); }
.form-status { min-height: 1.2em; margin: 10px 0 0; font-size: .85rem; }
.hp-field { position: absolute !important; left: -9999px !important; }
.news-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; }
.news-card { border-top: 4px solid var(--navy); padding-top: 24px; }
.news-card h3 { font-size: clamp(1.4rem,2.3vw,2rem); }
.news-meta { color: var(--red); font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; font-weight: 700; margin-bottom: 17px; }
.journal-section { background: #faf9f6; }
.footer-button { border: 0; padding: 0; background: none; font: inherit; color: inherit; cursor: pointer; }
.footer-button:hover { text-decoration: underline; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

/* ---------- New-release sales pages ---------- */
.sales-page { --sales-bg:#f4efe4; --sales-ink:#13263b; --sales-accent:#d83326; --sales-soft:#eadfca; color:var(--sales-ink); }
.sales-hero { position:relative; overflow:hidden; padding:72px 0 86px; background:var(--sales-bg); }
.sales-hero::after { content:''; position:absolute; width:42vw; height:42vw; border:1px solid color-mix(in srgb,var(--sales-accent) 28%,transparent); border-radius:50%; right:-14vw; top:-17vw; }
.sales-hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr); gap:8vw; align-items:center; }
.sales-cover-stage { position:relative; max-width:390px; margin:auto; }
.sales-cover { position:relative; z-index:2; transform:rotate(-1.2deg); box-shadow:0 32px 60px rgba(9,25,43,.3); user-select:none; }
.sales-cover img { width:100%; pointer-events:none; }
.sales-eyebrow { display:block; margin-bottom:22px; font-size:.76rem; font-weight:800; letter-spacing:.15em; text-transform:uppercase; color:var(--sales-accent); }
.sales-copy h1 { max-width:800px; font-size:clamp(3rem,6.3vw,6.6rem); line-height:.91; letter-spacing:-.05em; }
.sales-hook { max-width:680px; margin:24px 0; color:var(--sales-ink); font:600 clamp(1.25rem,2.3vw,1.9rem)/1.28 var(--serif); }
.sales-byline { color:color-mix(in srgb,var(--sales-ink) 68%,transparent); }
.sales-byline a { border-bottom:1px solid currentColor; }
.sales-actions { display:flex; align-items:center; flex-wrap:wrap; gap:24px; margin:30px 0 24px; }
.sales-buy { background:var(--sales-accent); color:white; border-color:var(--sales-accent); }
.sales-buy:hover { filter:brightness(.88); background:var(--sales-accent); }
a.btn[href*="amazon.com/"], a.btn[href*="audible."] {
  background: #111111;
  border-color: #111111;
  color: #ffffff;
}
a.btn[href*="amazon.com/"]:hover, a.btn[href*="audible."]:hover {
  background: #333333;
  border-color: #333333;
  color: #ffffff;
  filter: none;
}
.sales-keywords { display:flex; flex-wrap:wrap; gap:8px; }
.sales-keywords span { padding:7px 11px; border:1px solid color-mix(in srgb,var(--sales-ink) 25%,transparent); font-size:.72rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
.sales-promise { background:var(--sales-ink); color:white; }
.promise-grid { display:grid; grid-template-columns:repeat(3,1fr); }
.promise-grid>div { min-height:155px; padding:34px; border-right:1px solid rgba(255,255,255,.18); }
.promise-grid>div:last-child { border-right:0; }
.promise-grid span { color:var(--sales-accent); font-weight:800; font-size:.72rem; }
.promise-grid p { margin:16px 0 0; color:white; font:600 1.15rem/1.25 var(--serif); }
.sales-body { padding:96px 0; background:#fff; }
.sales-body-grid { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(270px,.55fr); gap:9vw; align-items:start; }
.sales-body h2 { font-size:clamp(2.5rem,5vw,4.5rem); }
.sales-body p,.sales-body li { font-size:1.05rem; line-height:1.75; }
.author-panel { position:sticky; top:105px; padding:30px; background:var(--sales-bg); border-top:5px solid var(--sales-accent); }
.author-panel h3 { margin:12px 0 18px; font-size:1.55rem; }
.author-panel p { font-size:.9rem; line-height:1.6; }
.sales-final { padding:80px 0; background:var(--sales-bg); text-align:center; }
.sales-final .wrap { max-width:820px; }
.sales-final p { color:var(--sales-accent); font-size:.75rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.sales-final h2 { font-size:clamp(2.2rem,5vw,4.6rem); }
.sales-final .btn-row { justify-content:center; }
.sticky-note { position:absolute; z-index:3; width:150px; padding:20px 16px; background:#ffd83d; color:#17243a; box-shadow:0 8px 20px rgba(0,0,0,.16); font:700 .88rem/1.25 var(--sans); text-align:center; transform:rotate(-7deg); }
.sticky-one { left:-82px; top:12%; }.sticky-two { right:-90px; bottom:8%; transform:rotate(6deg); background:#ff86ba; }
.linkedin-scene { padding:82px 0; background:#eaf4ff; }
.linkedin-scene-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:6vw; align-items:center; }
.linkedin-scene img { box-shadow:0 25px 50px rgba(0,45,105,.18); }
.linkedin-scene h2 { color:#062c65; font:800 clamp(2.5rem,5vw,5rem)/.98 var(--sans); letter-spacing:-.055em; }
.linkedin-scene p { color:#145fc9; font-size:1.25rem; }
.scene-note { position:relative; display:inline-block; width:auto; margin-bottom:32px; transform:rotate(-2deg); }
.germany-campaign { padding:92px 0; background:#111; color:white; }
.germany-campaign-head { display:grid; grid-template-columns:.45fr 1.55fr; gap:6vw; align-items:end; margin-bottom:44px; }
.germany-campaign-head h2 { margin:0; font-family:var(--sans); font-size:clamp(2.3rem,4.5vw,4.8rem); line-height:.98; letter-spacing:-.055em; }
.germany-campaign-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:56px; max-width:900px; margin:0 auto; }
.germany-campaign-link { display:block; border:1px solid #444; transition: border-color .2s ease; }
.germany-campaign-link:hover { border-color:#efc900; }
.germany-campaign-link:focus-visible { outline:3px solid #efc900; outline-offset:6px; }
.campaign-link-caption { display:flex; justify-content:space-between; gap:16px; padding:18px 24px; background:#fff; color:#161616; font-size:1rem; font-weight:700; }
.germany-campaign-grid img { width:100%; box-shadow:0 24px 55px rgba(0,0,0,.42); }
.vibe-campaign { position:relative; overflow:hidden; padding:96px 0; color:#f5f1e8; background:#050d17; }
.vibe-campaign::before { content:''; position:absolute; inset:0; opacity:.2; background:repeating-linear-gradient(90deg,transparent 0 39px,rgba(35,179,244,.16) 40px),repeating-linear-gradient(0deg,transparent 0 39px,rgba(35,179,244,.12) 40px); }
.vibe-campaign .wrap { position:relative; }
.vibe-campaign-head { max-width:820px; margin-bottom:52px; }
.vibe-command { display:inline-block; padding:9px 13px; border:1px solid #23b3f4; color:#7ef5ff; font:700 .8rem/1 var(--sans); letter-spacing:.08em; text-transform:uppercase; }
.vibe-campaign-head h2 { margin:22px 0 18px; color:#ffc800; font-family:var(--sans); font-size:clamp(3.2rem,7vw,7rem); font-weight:800; line-height:.82; letter-spacing:-.065em; text-transform:uppercase; }
.vibe-campaign-head p { max-width:620px; color:rgba(255,255,255,.72); font-size:1.18rem; }
.vibe-campaign-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:56px; max-width:900px; margin:0 auto; }
.vibe-campaign-link { display:block; border:1px solid rgba(35,179,244,.5); background:#07182b; box-shadow:0 26px 60px rgba(0,0,0,.45); transition:transform .22s ease,border-color .22s ease; }
.vibe-campaign-link:hover { transform:translateY(-5px); border-color:#ffc800; }
.vibe-campaign-link:focus-visible { outline:3px solid #ffc800; outline-offset:6px; }
.vibe-campaign-link img { width:100%; }
.vibe-link-caption { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px 24px; color:#fff; }
.vibe-link-caption span { color:#7ef5ff; font-size:.75rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.vibe-link-caption strong { color:#ffc800; font-size:1rem; }

.sales-ai { --sales-bg:#f7e4d7; --sales-ink:#651508; --sales-accent:#df331f; --sales-soft:#f2bd78; }
.sales-ai .sales-hero { color:#fff4dd; background:radial-gradient(circle at 78% 35%,rgba(255,183,37,.38),transparent 22%),linear-gradient(135deg,#260401,#8c1007 57%,#d52c0f); }
.sales-ai .sales-hero::before { content:''; position:absolute; inset:0; opacity:.28; background-image:linear-gradient(rgba(255,176,61,.25) 1px,transparent 1px),linear-gradient(90deg,rgba(255,176,61,.25) 1px,transparent 1px); background-size:38px 38px; transform:perspective(550px) rotateX(66deg) scale(1.5); transform-origin:bottom; }
.sales-ai .sales-copy h1,.sales-ai .sales-hook,.sales-ai .sales-byline { color:#fff4dd; }
.sales-ai .sales-eyebrow,.sales-ai .sales-keywords span { color:#ffd069; }
.sales-ai .sales-cover { transform:perspective(900px) rotateY(7deg); box-shadow:20px 22px 0 rgba(255,190,56,.65),0 35px 70px rgba(35,0,0,.55); }
.sales-germany { --sales-bg:#f2f0eb; --sales-ink:#161616; --sales-accent:#d70024; }
.sales-germany .sales-hero { background:linear-gradient(115deg,#f4f3f0 0 68%,#efc900 68%); }
.sales-germany .sales-copy h1 { font-family:var(--sans); font-weight:800; text-transform:uppercase; font-size:clamp(2.7rem,5.4vw,5.8rem); }
.sales-germany .sales-cover { transform:none; box-shadow:18px 18px 0 #d70024,36px 36px 0 #171717; }
.sales-chokepoints { --sales-bg:#e8eee9; --sales-ink:#062c3b; --sales-accent:#c4151c; }
.sales-chokepoints .sales-hero { background:radial-gradient(ellipse at 18% 85%,rgba(17,111,143,.3),transparent 35%),linear-gradient(176deg,#f5f0e4 0 58%,#9cc8cf 58% 61%,#0b536b 61%); }
.sales-chokepoints .sales-hero::before { content:''; position:absolute; left:0; right:0; bottom:22%; height:3px; background:repeating-linear-gradient(90deg,rgba(255,255,255,.8) 0 22px,transparent 22px 42px); transform:rotate(-4deg); }
.sales-chokepoints .sales-cover { transform:rotate(1deg); border:8px solid white; box-shadow:18px 18px 0 #c4151c,0 30px 65px rgba(3,33,45,.36); }
.sales-chokepoints .sales-copy h1 { font-family:var(--sans); font-weight:850; text-transform:uppercase; }
.sales-vibe { --sales-bg:#09111d; --sales-ink:#d9ff45; --sales-accent:#7ef5ff; }
.sales-vibe .sales-hero { color:#f4f7fb; background:linear-gradient(120deg,#09111d,#142a40); }
.sales-vibe .sales-copy h1,.sales-vibe .sales-hook,.sales-vibe .sales-byline { color:#f4f7fb; }
.sales-vibe .sales-keywords span { border-color:rgba(126,245,255,.35); color:#7ef5ff; }
.sales-vibe .sales-cover { transform:perspective(900px) rotateY(-8deg); box-shadow:-20px 20px 0 #d9ff45,0 35px 70px rgba(0,0,0,.55); }
.sales-vibe .sales-promise { background:#d9ff45; color:#09111d; }.sales-vibe .promise-grid>div { border-color:rgba(9,17,29,.2); }.sales-vibe .promise-grid p { color:#09111d; }.sales-vibe .promise-grid span { color:#087d87; }
.sales-linkedin { --sales-bg:#e8f3ff; --sales-ink:#062c65; --sales-accent:#0866d5; }
.sales-linkedin .sales-hero { background:linear-gradient(90deg,rgba(255,255,255,.8),rgba(228,242,255,.72)),url('/assets/images/why-linkedin-sucks-office.png') center/cover; }
.sales-linkedin .sales-copy h1 { font-family:var(--sans); font-weight:800; }
.sales-linkedin .sales-cover { transform:rotate(-2deg); box-shadow:18px 18px 0 #ffd83d,0 35px 65px rgba(0,56,120,.25); }

/* ---------- Grids ---------- */
.grid { display: grid; gap: 32px; }
.grid-4 { grid-template-columns: repeat(4, 1fr); }
.grid-3 { grid-template-columns: repeat(3, 1fr); }
.grid-2 { grid-template-columns: repeat(2, 1fr); }

/* Book cover grids — smaller, more columns, so a row of covers fits on
   screen without scrolling (as opposed to .grid-4's wide equal columns). */
.book-grid { display: grid; gap: 24px 20px; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); }
.book-grid .book-cover { margin-bottom: 10px; }
.book-grid h3 { font-size: 0.88rem; }
.book-grid .author { font-size: 0.78rem; }
@media (max-width: 900px) { .grid-4 { grid-template-columns: repeat(2, 1fr); } .grid-3 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .grid-4, .grid-3, .grid-2 { grid-template-columns: 1fr; } }

/* ---------- Book card ---------- */
.book-card { display: block; }
.book-cover { aspect-ratio: 2/3; background: var(--gray-100); border: 1px solid var(--gray-100); overflow: hidden; margin-bottom: 14px; position: relative; }
.book-cover img { width: 100%; height: 100%; object-fit: cover; }
.book-cover .cover-placeholder { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; text-align: center; padding: 16px; font-family: var(--serif); font-weight: 700; color: var(--gray-500); font-size: 0.95rem; }
.book-card h3 { font-size: 1rem; margin-bottom: 2px; }
.book-card .author { font-size: 0.85rem; color: var(--gray-500); }
.badge { display: inline-block; font-size: 0.68rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; padding: 4px 8px; background: var(--ink); color: var(--paper); margin-bottom: 10px; }
.badge-outline { background: transparent; color: var(--ink); border: 1px solid var(--ink); }

/* ---------- Author card ---------- */
.author-card { min-height:190px; padding:28px; border:1px solid var(--gray-100); border-top:4px solid var(--red); background:#fff; text-align:left; transition:transform .2s ease,box-shadow .2s ease; }
.author-card:hover { transform:translateY(-4px); box-shadow:0 18px 36px rgba(19,38,59,.1); }
.author-card h3 { margin-bottom: 4px; }
.author-card .tagline { font-size: 0.9rem; color: var(--gray-500); }

/* ---------- News / announcements ---------- */
.news-item { padding: 24px 0; border-bottom: 1px solid var(--gray-100); display: grid; grid-template-columns: 140px 1fr; gap: 24px; }
.news-item .date { font-size: 0.8rem; color: var(--gray-500); text-transform: uppercase; letter-spacing: 0.05em; }
@media (max-width: 600px) { .news-item { grid-template-columns: 1fr; gap: 6px; } }

/* ---------- Book detail page ---------- */
.book-detail { display: grid; grid-template-columns: 240px 1fr; gap: 56px; padding: 56px 0; }
.book-detail .book-cover { margin-bottom: 0; }
.book-meta .genre { font-size: 0.85rem; color: var(--gray-500); text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 8px; }
.book-meta .by-author { font-size: 1.05rem; margin-bottom: 20px; }
.desc-list { margin: 0 0 1em; padding-left: 1.3em; color: var(--gray-700); }
.desc-list li { margin-bottom: 0.4em; }
.format-box { border: 1px solid var(--gray-100); padding: 24px; margin-top: 28px; }
.format-box h4 { margin-bottom: 16px; }
@media (max-width: 800px) { .book-detail { grid-template-columns: 1fr; } }

.side-list { margin-top: 32px; }
.side-list h4 { font-family: var(--sans); font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--gray-500); font-weight: 600; margin-bottom: 14px; }
.side-list-item { display: flex; align-items: center; gap: 12px; padding: 8px 0; border-top: 1px solid var(--gray-100); }
.side-list-item:hover span { text-decoration: underline; }
.side-thumb { width: 42px; height: 63px; flex-shrink: 0; background: var(--gray-100); overflow: hidden; position: relative; }
.side-thumb img { width: 100%; height: 100%; object-fit: cover; }
.side-thumb .cover-placeholder { padding: 2px; line-height: 1.1; }
.side-list-item span { font-size: 0.85rem; }

.category-link { color: var(--ink); font-weight: 600; border-bottom: 1px solid var(--gray-300); }
.category-link:hover { border-bottom-color: var(--ink); }
.rating-badge { font-size: 0.9rem; margin-bottom: 16px; }
.rating-badge span { color: var(--gray-500); font-weight: 400; margin-left: 4px; }
.region-note { font-size: 0.82rem; color: var(--gray-500); margin-top: 10px; }
.region-note a { text-decoration: underline; }
.testimonials { margin-top: 32px; border-top: 1px solid var(--gray-100); padding-top: 24px; }
.testimonials blockquote { margin: 0 0 16px; padding-left: 16px; border-left: 2px solid var(--gray-300); font-style: italic; }
.testimonials cite { display: block; font-style: normal; font-size: 0.85rem; color: var(--gray-500); margin-top: 6px; }
.category-tabs { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 24px; }

/* ---------- Author detail page ---------- */
.author-hero { max-width:900px; padding:76px 0; }
@media (max-width: 700px) { .author-hero { padding:48px 0; } }

/* ---------- China AI frontier feature ---------- */
.ai-frontier { position:relative; overflow:hidden; padding:110px 0; color:#fff3d6; background:#210200; }
.ai-frontier::before { content:''; position:absolute; inset:0; opacity:.32; background:radial-gradient(circle at 50% 50%,#ffae2b 0 2px,transparent 3px); background-size:48px 48px; }
.ai-frontier-grid { position:relative; display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:72px; align-items:center; max-width:1080px; }
.ai-signal { display:inline-block; color:#ffbe3b; font-size:.72rem; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
.ai-frontier h2 { margin:22px 0; color:#fff2d0; font:800 clamp(3.6rem,7vw,7rem)/.84 var(--sans); letter-spacing:-.065em; text-transform:uppercase; }
.ai-frontier-copy>p { max-width:650px; color:#eec8ae; font-size:1.18rem; }
.ai-pulse-list { display:flex; flex-wrap:wrap; gap:8px; margin:28px 0; }.ai-pulse-list span { padding:8px 11px; border:1px solid rgba(255,187,55,.45); color:#ffce70; font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; }
.ai-frontier-buy { background:#ffbc37; border-color:#ffbc37; color:#351000; }
.ai-orbit { position:relative; width:100%; aspect-ratio:1; max-width:330px; margin:auto; border:1px solid rgba(255,186,50,.35); border-radius:50%; }
.ai-orbit::before,.ai-orbit::after,.ai-orbit i { content:''; position:absolute; border:1px solid rgba(255,186,50,.25); border-radius:50%; }.ai-orbit::before{inset:13%}.ai-orbit::after{inset:28%}.ai-orbit i:nth-of-type(1){width:12px;height:12px;left:8%;top:47%;background:#ffb42a}.ai-orbit i:nth-of-type(2){width:8px;height:8px;right:17%;top:15%;background:#fff1c7}.ai-orbit i:nth-of-type(3){width:10px;height:10px;right:4%;bottom:31%;background:#f04a22}.ai-orbit i:nth-of-type(4){width:7px;height:7px;left:28%;bottom:7%;background:#ffca52}
.ai-core { position:absolute; inset:37%; display:grid; place-items:center; border-radius:50%; background:#e53817; box-shadow:0 0 55px #ff7b20; color:#fff7df; font:800 2.5rem/1 var(--sans); }
.orbit-label { position:absolute; color:#ffd06b; font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; }.orbit-one{left:2%;top:39%}.orbit-two{right:4%;top:29%}.orbit-three{right:19%;bottom:7%}

/* ---------- Chokepoint route feature ---------- */
.strait-map { position:relative; overflow:hidden; padding:104px 0; color:#edf7f4; background:linear-gradient(135deg,#031b29,#073f52 58%,#0e6073); }
.strait-map::after { content:''; position:absolute; inset:0; opacity:.18; background:linear-gradient(115deg,transparent 0 49.8%,rgba(255,255,255,.45) 50%,transparent 50.2%); }
.strait-map .wrap { position:relative; z-index:1; }.strait-map-head { display:grid; grid-template-columns:.55fr 1.45fr; gap:6vw; align-items:end; }.strait-map h2 { margin:0; color:#fff; font:800 clamp(3rem,6.6vw,6.8rem)/.87 var(--sans); letter-spacing:-.06em; text-transform:uppercase; }
.route-line { position:relative; display:grid; grid-template-columns:repeat(4,1fr); max-width:920px; margin:70px auto 54px; }.route-line::before { content:''; position:absolute; left:8%; right:8%; top:22px; height:3px; background:#efc9a1; }.route-line>div { position:relative; text-align:center; }.route-line b { position:relative; z-index:1; display:grid; place-items:center; width:46px;height:46px;margin:0 auto 18px;border-radius:50%;background:#c4151c;color:white;font-size:.7rem;box-shadow:0 0 0 7px #073f52}.route-line span{display:block;color:#fff;font:700 1.25rem var(--sans);text-transform:uppercase}.route-line small{color:#8ed1d9;letter-spacing:.08em;text-transform:uppercase}
.strait-callout { display:flex; justify-content:space-between; align-items:center; gap:30px; padding-top:34px; border-top:1px solid rgba(255,255,255,.25); }.strait-callout p { max-width:650px; margin:0; color:#cae3e4; font:600 1.3rem/1.35 var(--serif); }.strait-buy{background:#c4151c;border-color:#c4151c;color:#fff}

/* ---------- Long-form sales storytelling ---------- */
.sales-manifesto { padding:120px 0; background:var(--sales-bg); }
.sales-manifesto .wrap { max-width:1050px; }
.sales-manifesto h2 { max-width:980px; margin:20px 0 28px; font:700 clamp(3.2rem,7vw,7rem)/.94 var(--serif); letter-spacing:-.055em; }
.sales-manifesto p { max-width:780px; margin-left:auto; color:color-mix(in srgb,var(--sales-ink) 76%,transparent); font-size:1.3rem; line-height:1.65; }
.sales-visual-story { padding:100px 0; background:#0e1720; }
.sales-visual-grid { display:grid; grid-template-columns:1fr; gap:64px; max-width:800px; margin:0 auto; }
.sales-visual-grid figure { width:min(100%,720px); margin:0 auto; }
.sales-visual-grid figure:nth-child(2) { width:min(100%,650px); margin:0 auto; }
.sales-visual-grid img { width:100%; max-height:680px; object-fit:contain; background:#121212; box-shadow:0 28px 60px rgba(0,0,0,.38); }
.sales-visual-grid figcaption { display:grid; gap:9px; padding:20px 0; border-bottom:1px solid rgba(255,255,255,.2); color:#f4f1e9; font-size:1rem; line-height:1.55; }
.art-label { color:var(--sales-accent); font-size:.7rem; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.sales-section-head-light .kicker { color:var(--sales-accent); }
.sales-section-head-light h2 { color:#f4f1e9; }
.sales-highlights { padding:110px 0; background:#fff; }
.sales-section-head { display:grid; grid-template-columns:.45fr 1.55fr; gap:7vw; align-items:start; margin-bottom:60px; }
.sales-section-head h2 { max-width:850px; margin:0; font-size:clamp(2.7rem,5vw,5.4rem); line-height:.98; letter-spacing:-.05em; }
.highlight-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid color-mix(in srgb,var(--sales-ink) 18%,transparent); border-left:1px solid color-mix(in srgb,var(--sales-ink) 18%,transparent); }
.highlight-grid article { min-height:205px; padding:32px; border-right:1px solid color-mix(in srgb,var(--sales-ink) 18%,transparent); border-bottom:1px solid color-mix(in srgb,var(--sales-ink) 18%,transparent); }
.highlight-grid span { color:var(--sales-accent); font-size:.72rem; font-weight:800; }
.highlight-grid h3 { margin-top:45px; font:650 1.35rem/1.2 var(--serif); }
.sales-journey { padding:110px 0; color:#fff; background:var(--sales-ink); }
.sales-journey .kicker { color:var(--sales-accent); }.sales-journey .sales-section-head h2 { color:#fff; }
.journey-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:rgba(255,255,255,.18); }
.journey-grid article { min-height:270px; padding:34px; background:var(--sales-ink); }
.journey-grid b { color:var(--sales-accent); font-size:.75rem; }
.journey-grid h3 { margin:55px 0 15px; color:#fff; font-size:1.55rem; }
.journey-grid p { color:rgba(255,255,255,.7); font-size:.92rem; line-height:1.6; }
.sales-reader { padding:120px 0; background:var(--sales-bg); }
.sales-reader-grid { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:7vw; align-items:center; }
.sales-reader h2 { max-width:800px; margin-top:24px; font:700 clamp(2.6rem,5.2vw,5.2rem)/1 var(--serif); letter-spacing:-.045em; }
.sales-reader .btn { text-align:center; white-space:nowrap; }
.sales-ai .sales-manifesto,.sales-ai .sales-reader { background:#3b0501;color:#fff0d2 }.sales-ai .sales-manifesto p{color:#e6bfa3}.sales-ai .sales-visual-story{background:#170100}.sales-ai .sales-highlights{background:#fff3dd}.sales-ai .sales-journey{background:#641004}.sales-ai .journey-grid article{background:#641004}
.sales-germany .sales-manifesto,.sales-germany .sales-reader{background:#efc900}.sales-germany .sales-visual-story{background:#101010}.sales-germany .sales-journey{background:#171717}.sales-germany .journey-grid article{background:#171717}
.sales-chokepoints .sales-manifesto,.sales-chokepoints .sales-reader{background:#dce9e6}.sales-chokepoints .sales-visual-story{background:#031d29}.sales-chokepoints .sales-journey{background:#062f3c}.sales-chokepoints .journey-grid article{background:#062f3c}
.sales-vibe .sales-manifesto,.sales-vibe .sales-reader{background:#071321;color:#eef7ff}.sales-vibe .sales-manifesto p{color:#9fb5c5}.sales-vibe .sales-visual-story{background:#030a11}.sales-vibe .sales-highlights{background:#d9ff45;color:#09111d}.sales-vibe .sales-journey{background:#0d283a}.sales-vibe .journey-grid article{background:#0d283a}.sales-vibe .sales-reader h2{color:#eef7ff}
.sales-linkedin .sales-manifesto,.sales-linkedin .sales-reader{background:#e9f4ff}.sales-linkedin .sales-visual-story{background:#062c65}.sales-linkedin .sales-highlights{background:#fff7c7}.sales-linkedin .sales-journey{background:#063572}.sales-linkedin .journey-grid article{background:#063572}

@media (max-width:800px) {
  .ai-frontier-grid,.strait-map-head { grid-template-columns:1fr; }
  .ai-orbit { width:min(82vw,390px); margin-top:36px; }
  .route-line { grid-template-columns:repeat(2,1fr); gap:36px 8px; }
  .route-line::before { display:none; }
  .strait-callout { align-items:flex-start; flex-direction:column; }
  .sales-section-head,.sales-reader-grid { grid-template-columns:1fr; }
  .highlight-grid { grid-template-columns:repeat(2,1fr); }
  .journey-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:520px) {
  .ai-frontier,.strait-map { padding:72px 0; }
  .route-line { grid-template-columns:1fr 1fr; }
  .sales-manifesto,.sales-visual-story,.sales-highlights,.sales-journey,.sales-reader { padding:72px 0; }
  .sales-visual-grid figure:nth-child(2) { width:100%; }
  .highlight-grid,.journey-grid { grid-template-columns:1fr; }
}

/* ---------- Footer ---------- */
.site-footer { border-top: 1px solid var(--gray-100); padding: 22px 0 18px; margin-top: 24px; }
.footer-inner { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 10px 32px; }
.footer-brand { display:flex; align-items:center; gap:14px; }
.footer-brand p { margin:0; font-size:.82rem; color:var(--gray-500); }
.footer-logo { width: 120px; height: auto; margin: 0; }
.footer-nav { display: flex; gap: 24px; font-size: 0.9rem; }
.footer-copy { grid-column:1 / -1; font-size: 0.76rem; color: var(--gray-500); margin: 0; }
.recommendation-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:32px 22px; }
.recommendation-grid .book-card { min-width:0; }
.recommendation-grid .book-cover { width:100%; height:min(36vh,280px); }
.recommendation-grid .book-cover img { object-fit:contain; }
.related-book-carousel { grid-auto-columns:minmax(155px,18%); }
.related-carousel-section .section-head { align-items:center; }

@media (max-width: 800px) {
  .footer-inner { grid-template-columns:1fr; }
  .footer-nav { gap:14px 20px; }
  .footer-copy { grid-column:auto; }
  .recommendation-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .related-book-carousel { grid-auto-columns:minmax(150px,31%); }
}

/* ---------- Misc ---------- */
.empty-state { padding: 48px 0; text-align: center; color: var(--gray-500); }
.status-note { font-size: 0.85rem; color: var(--gray-500); font-style: italic; }

/* ---------- Cookie consent banner ---------- */
.cookie-banner {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 100;
  background: var(--paper); border-top: 1px solid var(--gray-100);
  padding: 16px 24px; display: flex; align-items: center; justify-content: space-between;
  gap: 20px; flex-wrap: wrap; box-shadow: 0 -2px 12px rgba(0,0,0,0.06);
}
.cookie-banner p { margin: 0; font-size: 0.88rem; color: var(--gray-700); max-width: 640px; }
.cookie-banner p a { text-decoration: underline; }
.cookie-banner-actions { display: flex; gap: 10px; flex-shrink: 0; }
.cookie-banner .btn { padding: 9px 18px; font-size: 0.85rem; }
@media (max-width: 560px) { .cookie-banner { flex-direction: column; align-items: stretch; } .cookie-banner-actions { justify-content: flex-end; } }

@media (max-width: 820px) {
  .header-inner { height: 68px; }
  .nav-toggle { display: block; }
  .main-nav { display: none; position: absolute; left: 0; right: 0; top: 68px; background: white; padding: 24px; border-bottom: 1px solid var(--gray-100); flex-direction: column; gap: 20px; }
  .main-nav.is-open { display: flex; }
  .nav-shop { text-align: center; }
  .hero-feature { padding: 54px 0 70px; }
  .hero-grid { grid-template-columns: 1fr 230px; gap: 36px; }
  .hero-feature h1 { font-size: clamp(3.1rem,9vw,5.4rem); }
  .book-grid-home { grid-template-columns: repeat(2,1fr); }
  .book-carousel { grid-auto-columns: minmax(145px, 29%); }
  .newsletter-grid { grid-template-columns: 1fr; gap: 30px; }
  .sales-hero-grid,.sales-body-grid,.linkedin-scene-grid { grid-template-columns:1fr; }
  .germany-campaign-head { grid-template-columns:1fr; gap:10px; }.germany-campaign-grid { gap:32px; }
  .vibe-campaign-grid { gap:32px; }
  .sales-cover-stage { max-width:290px; }
  .sales-copy { text-align:center; }.sales-actions,.sales-keywords { justify-content:center; }
  .promise-grid { grid-template-columns:1fr; }.promise-grid>div { min-height:auto; border-right:0; border-bottom:1px solid rgba(255,255,255,.18); }
  .author-panel { position:static; }
}
@media (max-width: 600px) {
  .wrap { padding-left: 20px; padding-right: 20px; }
  .logo-word { font-size: .92rem; }
  .hero-grid { grid-template-columns: 1fr; }
  .hero-feature h1 { font-size: clamp(3.4rem,17vw,5.2rem); }
  .hero-book { width: min(190px,48%); max-height: 44vh; margin-top: 28px; }
  .hero-book img { max-height: 44vh; }
  .hero-book-note { width: 72px; height: 72px; right: -28px; }
  .genre-strip-inner { padding-top: 18px; padding-bottom: 18px; gap: 16px 24px; flex-wrap: wrap; }
  .genre-strip-inner > span { width: 100%; }
  .book-grid-home { gap: 28px 16px; }
  .book-grid-home .book-card:nth-child(even) { margin-top: 24px; }
  .shelf-section { padding: 64px 0 72px; }
  .newsletter-fields { flex-direction: column; gap: 12px; }
  .btn-paper { margin-left: 0; }
  .news-grid { grid-template-columns: 1fr; gap: 36px; }
  .footer-nav { flex-wrap: wrap; }
  .book-carousel { grid-auto-columns: minmax(140px,48%); }
  .book-carousel .book-cover { height: min(38vh,260px); }
  .editorial-head { align-items: flex-start; }
  .carousel-actions { width: 100%; }
  .carousel-actions .view-all { margin-left: auto; }
  .sales-hero { padding:48px 0 62px; }.sales-hero-grid { gap:55px; }.sales-copy h1 { font-size:clamp(2.8rem,15vw,4.5rem); }
  .sticky-note { width:116px; padding:13px 10px; font-size:.7rem; }.sticky-one { left:-35px; }.sticky-two { right:-32px; }
  .sales-body { padding:68px 0; }
  .germany-campaign { padding:64px 0; }.germany-campaign-grid { grid-template-columns:1fr; }
  .vibe-campaign { padding:66px 0; }.vibe-campaign-head h2 { font-size:clamp(3rem,17vw,5rem); }.vibe-link-caption { align-items:flex-start; flex-direction:column; }
}
