/* Creative Hub Publishing — supplied identity palette. */
:root {
  --color-primary:#9500d5;
  --color-primary-50:#fcf7ff; --color-primary-100:#f4e8fc;
  --color-primary-200:#e9cff9; --color-primary-300:#d8a0f5;
  --color-primary-500:#b303ff; --color-primary-600:#9500d5;
  --color-primary-700:#7900ad; --color-primary-800:#542375; --color-primary-900:#372351;
  --color-secondary:#b303ff; --color-secondary-50:#f8f3fc;
  --color-secondary-100:#eee3f6; --color-secondary-200:#dbc2ee;
  --color-secondary-300:#c39be0; --color-secondary-500:#9c42d0; --color-secondary-700:#64268b;
  --color-orange-50:#fcf7ff; --color-orange-100:#f4e8fc; --color-orange-200:#e9cff9;
  --color-orange-300:#d8a0f5; --color-orange-400:#c578ec; --color-orange-500:#9500d5;
  --color-orange-600:#8700c4; --color-orange-700:#7900ad; --color-orange-800:#542375;
  --color-amber-50:#fcf7ff; --color-amber-100:#f4e8fc; --color-amber-200:#e9cff9;
  --color-amber-400:#bc77e8; --color-amber-500:#9500d5;
  --color-slate-900:#251533; --color-slate-800:#372351; --color-slate-700:#44334f;
  --color-slate-600:#63576c; --color-black:#251533;
  --color-neutral-700:#5d5265; --color-neutral-800:#372351; --color-neutral-900:#251533;
  --font-lora:'Segoe UI',Arial,sans-serif;
  --font-merri:Georgia,'Times New Roman',serif;
  --font-serif:Georgia,'Times New Roman',serif;
  --font-sans:'Segoe UI',Arial,sans-serif;
}
html { overflow-x:clip; scroll-padding-top:120px; }
/* hidden makes body a scroll container and breaks viewport-sticky sections. */
body { font-family:'Segoe UI',Arial,sans-serif; color:#5d5265; background:#fff; overflow-x:clip; overflow-y:visible; }
h1,h2,h3,h4,h5,h6 { color:#251533; }
:is(h1,h2,h3,h4,h5,h6).text-white { color:#fff7ff; }
:is(h1,h2,h3,h4,h5,h6)[class*='text-primary'] { color:var(--color-primary); }
h1,h2,h3,h4,h5,h6 { font-family:var(--font-serif); font-weight:400; letter-spacing:-.02em; text-wrap:pretty; }
h1 { font-size:clamp(36px,3.6vw,52px); line-height:1.15; }
h2 { font-size:clamp(30px,3.2vw,44px); line-height:1.22; }
h3 { font-size:22px; line-height:1.3; }
h4,h5,h6 { font-size:20px; line-height:1.35; }
/* Large h3 elements are section titles; compact ones label features or forms. */
h3:is(.text-3xl,.text-4xl) { font-size:clamp(28px,3vw,40px); line-height:1.25; }
h3.text-2xl { font-size:clamp(24px,2.3vw,30px); }
h3:is(.text-base,.text-lg) { font-size:20px; }
section p:is(.text-lg,.text-xl) { font-size:17px; line-height:1.75; }
button,input,select,textarea { font-family:var(--font-sans); }
button[aria-controls^='faq-'] .font-merri { font-family:var(--font-serif); font-size:20px; line-height:1.4; font-weight:400; }
[id^='faq-'] .prose { font-family:var(--font-sans); font-size:15px; line-height:1.75; }
footer h3 { font-size:22px; line-height:1.3; }
@media(max-width:767px) {
  h3 { font-size:21px; }
  section p:is(.text-lg,.text-xl) { font-size:16px; }
  button[aria-controls^='faq-'] .font-merri { font-size:18px; }
}
p { line-height:1.75; }
::selection { color:#fff; background:#7900ad; }
:is(a,button,input,textarea,select):focus-visible { outline:3px solid #b303ff; outline-offset:4px; }
header { font-family:'Segoe UI',Arial,sans-serif; }
/* Temporarily remove signup from desktop and mobile navigation. */
header a:is([href='/signup/'],[href='/signup']) { display:none!important; }
header img[alt*='Creative Hub'] { width:238px; height:auto; max-height:58px; object-fit:contain; }
header a:has(img[alt*='Creative Hub']) { flex-shrink:0; }
div[class~='lg:flex']:has(h2.text-white) { background:linear-gradient(145deg,#251533,#372351 70%,#64268b)!important; }
/* Consultation card: a dark introduction paired with a readable light form. */
section#contact:has(#contact-form) { background:#fcf7ff; padding:80px 24px; }
section#contact:has(#contact-form) > div {
  max-width:1280px; margin-inline:auto; border:1px solid #e9dcef;
  border-radius:28px; overflow:hidden; box-shadow:0 18px 60px #2515330a;
}
section#contact:has(#contact-form) > div > div:first-child {
  background:linear-gradient(145deg,#251533 0%,#372351 72%,#64268b 100%);
  padding:48px 40px; min-height:0;
}
section#contact:has(#contact-form) > div > div:last-child { background:#fff; padding:48px 40px; }
section#contact:has(#contact-form) h2 { font-size:clamp(30px,2.8vw,40px); }
#contact-form :is(input:not([type='hidden']),textarea,button[aria-haspopup='listbox']) {
  background:#fcfaff; border:1px solid #d9cde2; color:#372351; min-height:48px;
}
#contact-form :is(input,textarea)::placeholder { color:#76677f; opacity:1; }
#contact-form label { color:#44334f; }
#contact-form :is(input,textarea,button[aria-haspopup='listbox']):focus-visible { border-color:#9500d5; outline:2px solid #d8a0f5; outline-offset:2px; }
#contact-form [role='listbox'] { background:white; color:#372351; box-shadow:0 12px 30px #2515331a; }
#contact-form [role='option']:hover { background:#f4e8fc; }
#contact-form button[type='submit'] { background:#9500d5; color:#fff; min-height:50px; border-radius:12px; }
#contact-form button[type='submit']:hover { background:#7900ad; }
@media(min-width:1024px) {
  #contact-form .md\:grid-cols-3 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #contact-form .md\:grid-cols-3 > div:last-child { grid-column:1 / -1; }
}
@media(max-width:767px) {
  section#contact:has(#contact-form) { padding:48px 16px; }
  section#contact:has(#contact-form) > div { border-radius:20px; }
  section#contact:has(#contact-form) > div > div:first-child,
  section#contact:has(#contact-form) > div > div:last-child { padding:28px 24px; }
  #contact-form :is(input,textarea,button[aria-haspopup='listbox']) { font-size:16px; }
}
header [class*='shadow'] { box-shadow:0 12px 40px #2515330d; }
section:has(img[alt='Hero']) { background:linear-gradient(180deg,#fcf8ff 0%,#fff 100%); padding-top:172px; padding-bottom:64px; }
section:has(img[alt='Hero']) h1 { font-size:clamp(2.5rem,5.2vw,4.75rem); max-width:1000px; margin:0 auto 20px; font-weight:500; }
section:has(img[alt='Hero']) p { max-width:800px; margin:0 auto 26px; font-size:18px; }
section:has(img[alt='Hero']) p br { display:none; }
section:has(img[alt='Hero']) > .absolute { opacity:.45; }
section:has(img[alt='Hero']) > div:last-child { margin:44px auto 0; width:min(1050px,calc(100% - 48px)); }
section:has(img[alt='Hero']) > div:last-child > .absolute { display:none; }
section:has(img[alt='Hero']) > div:last-child > div:first-child { width:100%; }
img[alt='Hero'] { width:100%!important; height:440px; object-fit:cover; object-position:center 55%; border-radius:28px; box-shadow:0 24px 70px #37235112; }
img[src*='publishing-hero'],img[src*='editorial-studio'] { border-radius:24px; }
section:has(img[alt='Hero']) + section { border-top:1px solid #eee3f6; border-bottom:1px solid #eee3f6; }
footer { background:#251533!important; padding-top:60px; color:#e2d3e0; }
footer > .container > div { border-color:#ffffff20; }
footer [class*='bg-linear'],footer [class*='bg-white'],footer [class*='bg-primary'],footer [class*='bg-secondary'] { background:#251533!important; }
footer :is(p,li,a,span) { color:#e2d3e0; }
footer :is(h3,h4) { color:#fff7ff; }
footer a:hover { color:#d9a1ff; }
footer img[alt='Creative Hub Publishing'] { content:url('/assets/brand/logo-light.svg'); width:260px; height:auto; margin-bottom:24px; }
footer img[alt*='on Medium'] { content:url('/assets/brand/icon.svg'); }
footer [class*='border'] { border-color:#ffffff25; }
footer [class*='text-slate'],footer [class*='text-neutral'],footer [class*='text-stone'] { color:#e2d3e0; }
/* The original live chat account is not the new brand's support channel. */
#chat-widget-container,#chat-widget-minimized,[id^='chat-widget'] { display:none!important; }
@media(min-width:1024px) { header .container { max-width:1280px; } header a { font-size:14px; } }
@media(max-width:767px) {
  section:has(.service-image) > .sticky { padding-top:108px; padding-bottom:16px; }
  section:has(.service-image) .max-lg\:h-60 { height:140px; }
  section:has(.service-image) .service-image { height:140px; width:100%; object-fit:cover; }
  section:has(.service-image) .gap-6 { gap:14px; }
  section:has(.service-image) h3.text-4xl { font-size:28px; }
  section:has(.service-image) .pt-6 { padding-top:16px; }
  section:has(.service-image) p.text-sm { line-height:1.5; }
  section:has(.service-image) a { white-space:normal; text-align:center; padding:12px 16px; max-width:100%; font-size:13px; }
  header img[alt*='Creative Hub'] { width:208px; max-height:46px; }
  section:has(img[alt='Hero']) { padding-top:138px; padding-bottom:42px; }
  section:has(img[alt='Hero']) p { font-size:16px; padding-inline:8px; }
  section:has(img[alt='Hero']) p br { display:none; }
  section:has(img[alt='Hero']) > div:last-child { width:calc(100% - 32px); margin-top:32px; }
  img[alt='Hero'] { height:280px; border-radius:20px; }
  footer { padding-top:32px; }
}

/* Editorial rhythm for publishing and service pages. */
section.pt-32:has(h1) { padding-top:184px; padding-bottom:64px; background:#fcfaf7; }
section.pt-32:has(h1) > .absolute { opacity:.25; }
section.pt-32:has(h1) > .container > .flex { gap:48px; align-items:center; }
section.pt-32:has(h1) > .container > .flex > div { padding-inline:0; min-width:0; }
section.pt-32:has(h1) h1 { font-size:clamp(36px,3.5vw,52px); font-weight:500; line-height:1.12; text-wrap:balance; margin-bottom:20px; }
section.pt-32:has(h1) h2 { font-size:22px; line-height:1.4; font-weight:400; color:#63576c; letter-spacing:-.015em; }
section.pt-32:has(h1) p { font-size:17px; line-height:1.8; max-width:58ch; }
section.pt-32:has(h1) img { border-radius:8px 24px 24px 8px; aspect-ratio:4/3; object-fit:cover; box-shadow:-8px 8px 0 #e2d3e0,0 18px 36px #2515330b; }
section.pt-32:has(h1) + section { padding-top:56px; }
section:has(img[alt='Effortless Self-Publishing']) { background:#fcfaf7; padding-bottom:72px; }
section:has(img[alt='Effortless Self-Publishing']) > .absolute { display:none; }
section:has(img[alt='Effortless Self-Publishing']) > .container > .text-center { text-align:left; max-width:none; margin-bottom:32px; border-top:1px solid #ded4e3; padding-top:32px; }
section:has(img[alt='Effortless Self-Publishing']) h2 { font-size:clamp(30px,3vw,42px); font-weight:400; line-height:1.2; }
section:has(img[alt='Effortless Self-Publishing']) .grid { gap:24px; counter-reset:service; }
section:has(img[alt='Effortless Self-Publishing']) .grid > div { counter-increment:service; }
section:has(img[alt='Effortless Self-Publishing']) .grid > div > .absolute { display:none; }
section:has(img[alt='Effortless Self-Publishing']) .grid > div > .bg-white { padding:28px; border:1px solid #e5dce8; border-left:3px solid #d8a0f5; border-radius:6px 16px 16px 6px; box-shadow:0 4px 16px #25153303; }
section:has(img[alt='Effortless Self-Publishing']) .grid img { display:none; }
section:has(img[alt='Effortless Self-Publishing']) .grid .space-y-3 > div:first-child::before { content:'CHAPTER ' counter(service,decimal-leading-zero); display:block; color:#7900ad; font-size:11px; font-weight:600; letter-spacing:.16em; padding-bottom:4px; }
section:has(img[alt='Effortless Self-Publishing']) .grid h3 { font-size:25px; line-height:1.25; font-family:Georgia,serif; }
section:has(img[alt='Effortless Self-Publishing']) .grid p { color:#63576c; font-size:15px; line-height:1.75; }
section:has(img[alt='Effortless Self-Publishing']) .grid li { align-items:flex-start; gap:8px; line-height:1.5; }
section:has(img[alt='Effortless Self-Publishing']) .grid li svg { width:16px; margin-top:3px; }
section:has(img[alt='Effortless Self-Publishing']) .grid a.inline-flex { padding-left:0; font-size:15px; }
@media(max-width:1023px) {
  section.pt-32:has(h1) { padding-top:148px; padding-bottom:48px; }
  section.pt-32:has(h1) > .container > .flex { flex-direction:column; gap:32px; align-items:stretch; }
  section.pt-32:has(h1) > .container > .flex > div.hidden { display:block; }
  section.pt-32:has(h1) img { width:100%; max-height:380px; }
}
@media(max-width:767px) {
  section.pt-32:has(h1) { padding-top:136px; padding-bottom:40px; }
  section.pt-32:has(h1) h1 { font-size:36px; margin-bottom:16px; }
  section.pt-32:has(h1) h2 { font-size:20px; }
  section.pt-32:has(h1) p { font-size:16px; }
  section.pt-32:has(h1) + section { padding-top:32px; }
  section:has(img[alt='Effortless Self-Publishing']) .grid > div > .bg-white { padding:24px; }
}

/* Author benefits: an editorial feature grid with a single statistics panel. */
section.bg-primary-50\/50 { background:#fcfaf7; padding:72px 0; }
section.bg-primary-50\/50 > .container > .grid { gap:40px 48px; align-items:start; }
section.bg-primary-50\/50 .lg\:col-span-2 { max-width:920px; margin:0 auto; }
section.bg-primary-50\/50 .lg\:col-span-2 > .inline-flex { background:transparent; box-shadow:none; padding:0; border-radius:0; color:#7900ad; font-size:11px; letter-spacing:.12em; text-transform:uppercase; margin-bottom:20px; }
section.bg-primary-50\/50 h2 { font-size:clamp(30px,3vw,42px); line-height:1.2; font-weight:400; margin-bottom:20px; }
section.bg-primary-50\/50 .lg\:col-span-2 > p { max-width:800px; font-size:16px; line-height:1.8; }
section.bg-primary-50\/50 .space-y-6 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 24px; }
section.bg-primary-50\/50 .space-y-6 > div { margin:0; display:block; border-top:1px solid #ded4e3; padding-top:22px; }
section.bg-primary-50\/50 .space-y-6 .size-12 { background:#efe5f5; border:1px solid #e2d3e0; border-radius:10px; box-shadow:none; width:40px; height:40px; margin-bottom:14px; }
section.bg-primary-50\/50 .space-y-6 .size-12 svg { color:#7900ad; }
section.bg-primary-50\/50 h3 { font-family:Georgia,serif; font-size:21px; font-weight:400; line-height:1.25; margin-bottom:10px; }
section.bg-primary-50\/50 .space-y-6 p { font-size:14px; line-height:1.75; color:#63576c; }
section.bg-primary-50\/50 .grid > .relative > .absolute { display:none; }
section.bg-primary-50\/50 .grid > .relative > .bg-linear-to-br { background:#251533; border:1px solid #372351; padding:32px; border-radius:6px 22px 22px 6px; box-shadow:-6px 6px 0 #e2d3e0; }
section.bg-primary-50\/50 .space-y-8 > div { background:transparent; border-radius:0; box-shadow:none; padding:0 0 26px; margin-bottom:26px; border-bottom:1px solid #ffffff26; }
section.bg-primary-50\/50 .space-y-8 > div:last-child { border:0; padding-bottom:0; margin-bottom:0; }
section.bg-primary-50\/50 .space-y-8 .rounded-full { background:#ffffff12; border:1px solid #ffffff20; border-radius:10px; }
section.bg-primary-50\/50 .space-y-8 .text-slate-800 { color:#fff7ff; font-family:Georgia,serif; font-size:38px; font-weight:400; line-height:1.2; }
section.bg-primary-50\/50 .space-y-8 .text-slate-600 { color:#e2d3e0; }
section.bg-primary-50\/50 .space-y-8 p { font-style:normal; font-size:14px; line-height:1.7; }
@media(min-width:1024px) { section.bg-primary-50\/50 > .container > .grid { grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); } }
@media(max-width:767px) {
  section.bg-primary-50\/50 { padding:48px 0; }
  section.bg-primary-50\/50 > .container > .grid { gap:32px; }
  section.bg-primary-50\/50 .space-y-6 { grid-template-columns:1fr; gap:20px; }
  section.bg-primary-50\/50 .space-y-6 > div { display:flex; gap:16px; padding-top:20px; }
  section.bg-primary-50\/50 .space-y-6 .size-12 { margin-bottom:0; }
  section.bg-primary-50\/50 .grid > .relative > .bg-linear-to-br { padding:28px; }
}

/* Children's publishing: a quiet storybook palette and illustrated split hero. */
body:has(section.pt-40.h-dvh) { --color-rose-500:#9c42d0; --color-pink-500:#9500d5; --color-pink-600:#7900ad; }
body:has(section.pt-40.h-dvh) header > .container > div { background:#fff; border-color:#eee3f6; }
body:has(section.pt-40.h-dvh) header a:not([href^='/signup']):not([href^='tel:']) { color:#44334f; }
body:has(section.pt-40.h-dvh) header a[href^='/signup'] { color:#fff; }
section.pt-40.h-dvh { height:auto; max-height:none; padding:180px 0 72px; background:#fcfaf7; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:44px; padding-inline:max(24px,calc((100vw - 1216px)/2)); }
section.pt-40.h-dvh > img { position:static; grid-column:2; grid-row:1; width:100%; height:auto; aspect-ratio:1/1; object-fit:cover; border-radius:50% 50% 18px 18px; box-shadow:0 14px 40px #3723510a; }
section.pt-40.h-dvh > div.absolute { display:none; }
section.pt-40.h-dvh > .container { grid-column:1; grid-row:1; padding:0; width:100%; }
section.pt-40.h-dvh .lg\:w-8\/12 { width:100%; }
section.pt-40.h-dvh h1 { color:#251533; font-size:clamp(36px,3.4vw,52px); line-height:1.12; font-weight:400; text-wrap:balance; }
section.pt-40.h-dvh p.text-white { color:#63576c; font-size:16px; line-height:1.8; }
section.pt-40.h-dvh .space-y-4 > div:last-child { padding-top:12px; }
section.pt-40.h-dvh .inline-flex.rounded-full { font-size:12px; letter-spacing:.02em; background:#f1e7f7; }
body:has(section.pt-40.h-dvh) section.py-28 { padding:64px 0; }
body:has(section.pt-40.h-dvh) section[class*='child-sec3'] { background:#f5eff8; padding:64px 0; }
body:has(section.pt-40.h-dvh) section[class*='child-sec3'] :is(h2,h3) { color:#251533; }
body:has(section.pt-40.h-dvh) section[class*='child-sec3'] p { color:#63576c; }
body:has(section.pt-40.h-dvh) section:has(.portfolio-coverflow) { display:none; }
body:has(section.pt-40.h-dvh) section:not(.pt-40) h2 { font-size:clamp(30px,3vw,42px); line-height:1.2; font-weight:400; }
@media(max-width:1023px) {
 section.pt-40.h-dvh { padding-top:144px; gap:32px; }
}
@media(max-width:767px) {
 section.pt-40.h-dvh { grid-template-columns:1fr; padding:136px 20px 40px; gap:32px; }
 section.pt-40.h-dvh > .container { grid-row:1; grid-column:1; }
 section.pt-40.h-dvh > img { grid-row:2; grid-column:1; max-height:380px; aspect-ratio:1.1; }
 section.pt-40.h-dvh h1 { font-size:36px; }
 body:has(section.pt-40.h-dvh) section.py-28,
 body:has(section.pt-40.h-dvh) section[class*='child-sec3'] { padding:48px 0; }
}

body:has(section.pt-40.h-dvh) section[class*='child-sec3'] > .absolute { display:none; }
body:has(section.pt-40.h-dvh) section[class*='child-sec3'] h2 { filter:none; }
body:has(section.pt-40.h-dvh) section[class*='child-sec3'] .max-w-6xl { max-width:900px; }
body:has(section.pt-40.h-dvh) section[class*='child-sec3'] .max-w-6xl p { font-size:16px; line-height:1.8; }
body:has(section.pt-40.h-dvh) section[class*='child-sec3'] .grid { margin-top:40px; grid-template-columns:repeat(2,minmax(0,1fr)); }
body:has(section.pt-40.h-dvh) section[class*='child-sec3'] article { background:#fff; border:1px solid #e2d3e0; border-radius:16px; padding:28px; animation:none; }
body:has(section.pt-40.h-dvh) section[class*='child-sec3'] article > .absolute { display:none; }
body:has(section.pt-40.h-dvh) section[class*='child-sec3'] article > .mt-7 { margin-top:0; }
body:has(section.pt-40.h-dvh) section[class*='child-sec3'] article .h-11 { background:#f1e7f7; color:#7900ad; box-shadow:none; border:0; }
body:has(section.pt-40.h-dvh) section[class*='child-sec3'] article h3 { font-weight:400; font-size:24px; line-height:1.3; }
body:has(section.pt-40.h-dvh) section[class*='child-sec3'] article p { padding-left:0; font-size:15px; line-height:1.75; }
@media(max-width:639px) { body:has(section.pt-40.h-dvh) section[class*='child-sec3'] .grid { grid-template-columns:1fr; } }

/* Remove the inherited Medium profile badge from every footer. */
footer a[href*='medium.com'] { display:none!important; }
footer .space-y-1:has(> a[href*='medium.com']) { display:none; }

/* About-page team cards: consistent editorial hierarchy and row alignment. */
body:has(img[src*='publishing-team']) article.group {
  padding:28px; border:1px solid #e5dce8; border-left:3px solid #d8a0f5;
  border-radius:6px 18px 18px 6px; background:#fffdfb; box-shadow:0 4px 16px #25153303;
}
body:has(img[src*='publishing-team']) article.group > .absolute { display:none; }
body:has(img[src*='publishing-team']) article.group > .relative { justify-content:flex-start; gap:0; }
body:has(img[src*='publishing-team']) article.group .mb-6 { margin-bottom:22px; align-items:center; }
body:has(img[src*='publishing-team']) article.group .w-12.h-12 { width:42px; height:42px; background:#f1e7f7; border:1px solid #e2d3e0; border-radius:10px; transform:none; }
body:has(img[src*='publishing-team']) article.group .w-12.h-12 svg { width:22px; height:22px; color:#7900ad; }
body:has(img[src*='publishing-team']) article.group .text-neutral-300 { color:#927b9f; font-family:Georgia,serif; font-size:18px; font-weight:400; }
body:has(img[src*='publishing-team']) article.group h3 { color:#251533; font-family:Georgia,serif; font-size:24px; font-weight:400; line-height:1.25; min-height:60px; margin-bottom:14px; }
body:has(img[src*='publishing-team']) article.group p { color:#63576c; font-size:15px; line-height:1.75; margin-bottom:22px; }
body:has(img[src*='publishing-team']) article.group .h-0\.5 { margin-top:auto; width:40px; height:2px; background:#d8a0f5; }
body:has(img[src*='publishing-team']) article.group:hover { border-color:#cda9df; box-shadow:0 8px 24px #25153309; }
@media(max-width:767px) {
  body:has(img[src*='publishing-team']) article.group { padding:24px; }
  body:has(img[src*='publishing-team']) article.group h3 { min-height:0; font-size:23px; }
  body:has(img[src*='publishing-team']) article.group .mb-6 { margin-bottom:18px; }
}

/* Remove the About-page Medium promotion together with its spacing. */
body:has(img[src*='publishing-team']) .mt-14.text-center:has(> a[href*='medium.com']) { display:none; }

/* Reference-led homepage: book-cover wall, plum overlay and left-aligned copy. */
body:has(#publishing-banner) section:has(img[alt='Hero']) { display:none!important; }
#publishing-banner { position:relative; isolation:isolate; overflow:hidden; background:#1e152b; min-height:850px; min-height:min(960px,100svh); display:flex; align-items:center; padding:240px max(24px,calc((100vw - 1216px)/2)) 100px; }
.publishing-cover-wall { position:absolute; z-index:-3; inset:-180px -70px; display:grid; grid-template-columns:repeat(9,minmax(0,1fr)); gap:26px; transform:rotate(-7deg) scale(1.08); align-content:center; background:#283546; }
.publishing-cover-wall img { width:100%; aspect-ratio:250/373; height:auto; object-fit:cover; border-radius:2px; box-shadow:9px 12px 12px #0007; }
.publishing-banner-shade { position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(30,19,43,.96) 0%,rgba(30,19,43,.87) 38%,rgba(21,24,42,.68) 72%,rgba(18,30,46,.52) 100%); }
.publishing-banner-content { position:relative; width:100%; max-width:1000px; color:white; }
.publishing-banner-badge { display:inline-flex; align-items:center; gap:10px; background:white; color:#251533; border-radius:30px; padding:9px 16px 9px 9px; font-size:11px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; margin-bottom:36px; }
.publishing-banner-badge > span { background:#251533; color:white; border-radius:50%; width:24px; height:24px; display:grid; place-items:center; font-size:14px; }
#publishing-banner h1 { font:500 clamp(38px,3.8vw,58px)/1.12 Georgia,serif; letter-spacing:-.03em; color:#fff; max-width:1000px; margin:0 0 26px; }
#publishing-banner h2 { font:400 clamp(23px,2.15vw,32px)/1.3 Georgia,serif; letter-spacing:-.015em; color:#fff; margin:0 0 40px; }
#publishing-banner p { max-width:620px; font-size:16px; line-height:1.8; color:#f0eaf5; margin-bottom:32px; }
#publishing-banner ul { display:flex; flex-wrap:wrap; gap:12px 24px; padding:0; margin:0 0 26px; list-style:none; color:#fff; font-size:13px; }
#publishing-banner li::before { content:'\2713'; margin-right:8px; color:#e1b3ff; }
.publishing-banner-actions { display:flex; flex-wrap:wrap; gap:12px; }
.publishing-banner-actions a { display:inline-flex; align-items:center; justify-content:center; gap:12px; padding:16px 22px; border-radius:12px; background:#b303ff; color:#fff; font-size:14px; font-weight:600; transition:background .2s,transform .2s; }
.publishing-banner-actions a + a { background:#fff; color:#251533; }
.publishing-banner-actions a:hover { background:#9500d5; transform:translateY(-2px); }
.publishing-banner-actions a + a:hover { background:#f1e7f7; }
@media(max-width:767px) {
 #publishing-banner { min-height:800px; padding:172px 24px 64px; }
 .publishing-cover-wall { inset:-60px -260px; grid-template-columns:repeat(6,minmax(0,1fr)); gap:16px; transform:rotate(-8deg); }
 .publishing-banner-shade { background:linear-gradient(90deg,#1e132beb,#1e132bce); }
 .publishing-banner-badge { margin-bottom:26px; font-size:10px; }
 #publishing-banner h1 { font-size:40px; margin-bottom:22px; }
 #publishing-banner h2 { font-size:25px; margin-bottom:28px; }
 #publishing-banner p { font-size:15px; margin-bottom:26px; }
 #publishing-banner ul { flex-direction:column; gap:10px; }
 .publishing-banner-actions { flex-direction:column; align-items:stretch; }
}

/* Home statistics and publishing comparison: lighter editorial typography. */
body:has(#publishing-banner) main > section.bg-primary-50.py-14 { padding:48px 0; }
body:has(#publishing-banner) main > section.bg-primary-50.py-14 .text-4xl { font-family:Georgia,serif; font-size:clamp(40px,4vw,52px); line-height:1.1; font-weight:400; letter-spacing:-.025em; font-variant-numeric:lining-nums tabular-nums; min-width:4ch; }
body:has(#publishing-banner) main > section.bg-primary-50.py-14 .text-base { font-family:'Segoe UI',sans-serif; font-size:15px; line-height:1.6; margin-top:10px; }
body:has(#publishing-banner) main > section.bg-primary-50.py-14 svg { width:34px; height:34px; color:#7900ad; margin-top:7px; stroke-width:1.6; }
body:has(#publishing-banner) main > section.bg-primary-50.py-14 + section { padding:80px 0; }
body:has(#publishing-banner) main > section.bg-primary-50.py-14 + section h2 { font-family:Georgia,serif; font-weight:400; font-size:clamp(32px,3.4vw,46px); line-height:1.2; letter-spacing:-.025em; }
body:has(#publishing-banner) main > section.bg-primary-50.py-14 + section .text-center.mb-16 { margin-bottom:44px; }
body:has(#publishing-banner) main > section.bg-primary-50.py-14 + section .text-center.mb-16 p { font-size:16px; line-height:1.7; max-width:680px; margin:0 auto; }
body:has(#publishing-banner) main > section.bg-primary-50.py-14 + section h3 { font-family:Georgia,serif; font-weight:400; font-size:clamp(26px,2.5vw,32px); line-height:1.2; letter-spacing:-.02em; }
body:has(#publishing-banner) main > section.bg-primary-50.py-14 + section h3 + p { font-size:16px; line-height:1.5; margin-top:8px; font-weight:500; }
body:has(#publishing-banner) main > section.bg-primary-50.py-14 + section li { align-items:flex-start; }
body:has(#publishing-banner) main > section.bg-primary-50.py-14 + section li > span { font-size:14px; line-height:1.65; }
@media(max-width:767px) {
 body:has(#publishing-banner) main > section.bg-primary-50.py-14 { padding:36px 0; }
 body:has(#publishing-banner) main > section.bg-primary-50.py-14 .grid { gap:28px; }
 body:has(#publishing-banner) main > section.bg-primary-50.py-14 .grid > .h-full { display:none; }
 body:has(#publishing-banner) main > section.bg-primary-50.py-14 + section { padding:52px 0; }
}

/* Who We Are: match the editorial heading hierarchy without changing scroll steps. */
section:has(.service-image) h3.text-4xl { font:400 clamp(32px,3.4vw,46px)/1.2 Georgia,serif; letter-spacing:-.025em; margin-bottom:8px; }
section:has(.service-image) h3.text-4xl + p { font:400 16px/1.6 'Segoe UI',sans-serif; }
section:has(.service-image) [aria-current] h3 { font-family:Georgia,serif; font-weight:400; font-size:clamp(22px,2.1vw,28px); line-height:1.25; letter-spacing:-.015em; }
section:has(.service-image) [aria-current] p { font-family:'Segoe UI',sans-serif; font-size:16px; line-height:1.8; color:#63576c; }
section:has(.service-image) [aria-current='true'] > span { font-family:'Segoe UI',sans-serif; font-size:20px; font-weight:500; }
section:has(.service-image) a { font-size:15px; line-height:1.5; font-weight:600; white-space:normal; padding:14px 22px; }
@media(min-width:1024px) {
 section:has(.service-image) > .sticky { display:flex; align-items:center; padding-top:128px; padding-bottom:48px; }
 section:has(.service-image) .service-image { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:20px; }
}
@media(max-width:767px) {
 section:has(.service-image) h3.text-4xl { font-size:28px; margin-bottom:4px; }
 section:has(.service-image) h3.text-4xl + p { font-size:14px; }
 section:has(.service-image) [aria-current] h3 { font-size:21px; }
 section:has(.service-image) [aria-current] p { font-size:14px; line-height:1.5; }
 section:has(.service-image) [aria-current='true'] > span { font-size:17px; }
 section:has(.service-image) a { font-size:13px; padding:10px 14px; }
}

/* Publishing comparison uses the same plum and lavender identity as the site. */
body:has(#publishing-banner) section:has(.from-green-500) .from-green-500 {
 background:linear-gradient(145deg,#372351 0%,#542375 65%,#7900ad 100%);
 border:1px solid #9864b5;
 box-shadow:0 18px 44px #54237526;
}
body:has(#publishing-banner) section:has(.from-green-500) .from-green-400 { background:linear-gradient(145deg,#b303ff,#542375); }
body:has(#publishing-banner) section:has(.from-green-500) .text-green-100 { color:#eee3f6; }
body:has(#publishing-banner) section:has(.from-green-500) .text-red-600 { color:#63576c; }
body:has(#publishing-banner) section:has(.from-green-500) :is(.bg-red-200,.bg-orange-200) { background:#eee3f6; color:#7900ad; }
body:has(#publishing-banner) section:has(.from-green-500) .bg-white\/20 { background:#e9cff930; color:#fff7ff; }
