/* Self Publishing Excellence — design system. Palette derived from the supplied logo (red #e5001c + navy #0e2337).
   Token names are historical: --gold is the brand red (fills), --gold-lt its tint for text on navy, --orange/--orange-deep are red accents on light. */
:root{
  --ink:#0e2337; --ink-2:#132c45; --ink-3:#1c3a58;
  --gold:#e5001c; --gold-2:#c40018; --gold-lt:#ff6170; --orange:#e5001c; --orange-deep:#b80016;
  --cream:#f3f6fa; --cream-2:#e4eaf2; --paper:#ffffff;
  --text:#14202e; --muted:#536173; --line:#dbe2eb; --line-dark:#27435f;
  --success:#1f7a3d; --warning:#b80016; --error:#b3261e;
  --grad:linear-gradient(135deg,var(--gold-lt),var(--gold));
  --serif:'Fraunces',Georgia,'Times New Roman',serif; --sans:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --r-s:6px; --r-m:10px; --r-l:16px;
  --sh-1:0 1px 2px rgba(0,0,0,.08),0 6px 18px rgba(0,0,0,.08); --sh-2:0 18px 50px rgba(0,0,0,.28);
  --w:1200px; --pad:clamp(16px,4vw,32px); --hdr:84px;
  --fs-h1:clamp(2.1rem,5.4vw,4.1rem); --fs-h2:clamp(1.65rem,3.4vw,2.6rem); --fs-h3:1.2rem;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--hdr) + 12px);-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--sans);font-size:1.0625rem;line-height:1.65;color:var(--text);background:var(--paper);overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,h4{font-family:var(--serif);line-height:1.12;margin:0 0 .5em;color:var(--ink);font-weight:700;letter-spacing:-.01em;text-wrap:balance}
h1{font-size:var(--fs-h1)} h2{font-size:var(--fs-h2)} h3{font-size:var(--fs-h3)}
p{margin:0 0 1em} a{color:inherit}
em{font-style:italic;color:var(--orange)}
.hero em,.page-hero em,.lp-hero em,.dark em,.cta-band em,.feat em{color:var(--gold-lt)}
ul,ol{margin:0;padding:0;list-style:none}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:3px}
.container{width:100%;max-width:calc(var(--w) + var(--pad)*2);margin-inline:auto;padding-inline:var(--pad)}
.container.narrow{max-width:calc(820px + var(--pad)*2)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;background:var(--gold);color:#fff;padding:10px 16px;z-index:200;font-weight:700}
.skip:focus{left:8px}
.ic{width:1.15em;height:1.15em;flex:none}
.center{text-align:center;margin-top:2rem}
.fine{font-size:.85rem;color:var(--muted);margin-top:1.5rem}
.dark .fine,.stage .fine{color:#b9b9c0}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;font:600 1rem/1 var(--sans);padding:1em 1.5em;border-radius:var(--r-s);border:2px solid transparent;cursor:pointer;text-decoration:none;transition:transform .18s,box-shadow .18s,background .18s,color .18s;min-height:48px}
.btn:hover{transform:translateY(-2px)}
.btn-gold{background:var(--gold);color:#fff;box-shadow:0 6px 20px rgba(229,0,28,.28)}
.btn-gold:hover{background:var(--gold-2);box-shadow:0 10px 26px rgba(229,0,28,.4)}
.btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.35)} .btn-ghost:hover{border-color:var(--gold-lt);color:var(--gold-lt)}
.btn-ghost-dark{background:transparent;color:var(--ink);border-color:var(--ink)} .btn-ghost-dark:hover{background:var(--ink);color:#fff}
.btn-dark{background:var(--ink);color:#fff} .btn-dark:hover{background:var(--ink-3)}
.btn-sm{padding:.75em 1.1em;min-height:44px;font-size:.95rem}
.btn[disabled]{opacity:.6;cursor:progress;transform:none}
.link-arrow{display:inline-flex;align-items:center;gap:.4em;font-weight:600;text-decoration:none;border-bottom:2px solid var(--gold);padding-bottom:2px}
.link-arrow:hover{gap:.7em}

/* header */
.site-header{position:sticky;top:0;z-index:100;background:var(--ink);color:#fff;border-bottom:1px solid var(--line-dark)}
.hdr-inner{display:flex;align-items:center;gap:24px;min-height:var(--hdr)}
.brand{display:block;flex:none;line-height:0}
.primary{margin-left:auto}
.primary>ul{display:flex;align-items:center;gap:4px}
.nav-link{white-space:nowrap;display:inline-flex;align-items:center;gap:6px;color:#fff;text-decoration:none;font:500 .98rem var(--sans);padding:12px 12px;background:none;border:0;cursor:pointer;border-radius:var(--r-s);min-height:44px}
.nav-link:hover,.nav-link[aria-current="page"],.nav-link[aria-expanded="true"]{color:var(--gold-lt)}
.chev{width:1em;height:1em;transition:transform .2s} [aria-expanded="true"]>.chev{transform:rotate(180deg)}
.has-mega{position:static}
.hdr-cta{display:flex;align-items:center;gap:16px}
.hdr-phone{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:700;color:#fff;line-height:1.1}
.hdr-phone .ic{color:var(--gold-lt);width:1.4em;height:1.4em}
.hdr-phone small{display:block;font-weight:500;font-size:.72rem;color:#b9b9c0;text-transform:uppercase;letter-spacing:.08em}
.hdr-phone:hover{color:var(--gold-lt)}
.mega{position:absolute;left:0;right:0;top:100%;background:var(--ink-2);border-top:2px solid var(--gold);box-shadow:var(--sh-2);opacity:0;transform:translateY(-6px);transition:opacity .2s,transform .2s;pointer-events:none}
.mega:not([hidden]){opacity:1;transform:none;pointer-events:auto}
.mega[hidden]{display:block;visibility:hidden;opacity:0}
.mega-inner{max-width:calc(var(--w) + var(--pad)*2);margin:auto;padding:28px var(--pad) 32px}
.mega-head{display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid var(--line-dark);padding-bottom:14px;margin-bottom:10px;color:#fff}
.mega-head strong{font-family:var(--serif);font-size:1.3rem}
.mega-head a{color:var(--gold-lt);text-decoration:none;font-weight:600;display:inline-flex;align-items:center;gap:.4em}
.mega-cols{display:grid;grid-template-columns:1fr 1fr;column-gap:40px;max-width:920px}
.mega-cols a{display:flex;align-items:center;gap:14px;padding:11px 10px;color:#e9e9ee;text-decoration:none;border-radius:var(--r-s);font-weight:500;border-bottom:1px solid transparent}
.mega-cols a:hover,.mega-cols a:focus-visible{background:var(--ink-3);color:var(--gold-lt)}
.mm-n{font:600 .78rem var(--sans);color:var(--gold-lt);min-width:1.6em}
.burger{display:none;margin-left:auto;width:48px;height:48px;background:none;border:1px solid var(--line-dark);border-radius:var(--r-s);cursor:pointer;padding:0;position:relative}
.burger span{position:absolute;left:12px;right:12px;height:2px;background:#fff;transition:transform .2s,opacity .2s}
.burger span:nth-child(1){top:16px}.burger span:nth-child(2){top:23px}.burger span:nth-child(3){top:30px}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-nav{position:fixed;inset:var(--hdr) 0 0 0;background:var(--ink);overflow-y:auto;z-index:99;border-top:1px solid var(--line-dark)}
.mobile-nav[hidden]{display:none}
.mobile-nav-inner{padding:12px var(--pad) 40px}
.mobile-nav li>a,.m-toggle{display:flex;justify-content:space-between;align-items:center;width:100%;padding:16px 4px;color:#fff;text-decoration:none;font:500 1.15rem var(--sans);background:none;border:0;border-bottom:1px solid var(--line-dark);cursor:pointer;text-align:left;min-height:52px}
.m-sub{padding:4px 0 8px 14px} .m-sub[hidden]{display:none}
.m-sub a{font-size:1rem!important;color:#d6d6dc!important;border-bottom:0!important;padding:12px 4px!important}
.m-cta{display:grid;gap:12px;margin-top:24px}
.m-cta .btn-ghost-dark{color:#fff;border-color:#fff}
.lp-links{margin-left:auto;display:flex;gap:6px}
.lp-links a{color:#e9e9ee;text-decoration:none;padding:10px 12px;font-weight:500}.lp-links a:hover{color:var(--gold-lt)}
.lp-header .hdr-cta{margin-left:0}

/* shared section atoms */
.sec{padding:clamp(56px,8vw,112px) 0}
.sec.cream,.cream{background:var(--cream)}
.sec.dark,.dark{background:var(--ink);color:#e9e9ee}
.dark h2,.dark h3{color:#fff}
.kicker{font:700 .8rem var(--sans);text-transform:uppercase;letter-spacing:.16em;color:var(--orange-deep);margin:0 0 .9rem;display:flex;align-items:center;gap:.8em}
.kicker::before{content:"";width:28px;height:2px;background:var(--grad)}
.kicker.light{color:var(--gold-lt)} .kicker.center{justify-content:center}
.sec-head{margin-bottom:clamp(28px,4vw,52px);max-width:760px}
.sec-head.split{max-width:none;display:flex;justify-content:space-between;align-items:flex-end;gap:32px}
.sec-head.split>p{max-width:420px;color:var(--muted);margin:0}
.dark .sec-head p{color:#c8c8d0}
.ticks li{display:flex;gap:.7em;align-items:flex-start;margin-bottom:.7em}
.ticks .ic{color:var(--orange);margin-top:.3em}

/* hero (home) */
.hero{background:radial-gradient(900px 520px at 78% 40%,rgba(229,0,28,.22),transparent 60%),var(--ink);color:#fff;padding:clamp(44px,6vw,88px) 0 clamp(110px,12vw,150px);overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(24px,4vw,60px);align-items:center}
.hero h1{color:#fff;margin-bottom:.4em}
.lede{font-size:clamp(1.05rem,1.6vw,1.25rem);color:#cfcfd6;max-width:58ch}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin:1.6rem 0}
.hero-points{display:flex;flex-wrap:wrap;gap:10px 26px;color:#d9d9df;font-size:.95rem}
.hero-points li{display:flex;gap:.5em;align-items:center}.hero-points .ic{color:var(--gold-lt)}
.hero-art{position:relative;min-height:440px}
.fan{position:relative;height:460px;max-width:520px;margin-left:auto}
.fan-b{position:absolute;filter:drop-shadow(0 22px 28px rgba(0,0,0,.55));transition:transform .35s}
.fan-b img{border-radius:3px}
.fb1{width:170px;left:2%;bottom:0;transform:rotate(-4deg);z-index:4}
.fb2{width:215px;left:0;top:0;transform:rotate(-5deg);z-index:2}
.fb3{width:215px;right:0;top:36px;transform:rotate(5deg);z-index:3}
.fb4{width:150px;left:42%;bottom:-8px;transform:rotate(4deg);z-index:5}
.fan:hover .fb2{transform:rotate(-9deg) translateY(-8px)}.fan:hover .fb3{transform:rotate(9deg) translateY(-8px)}
.quick{margin-top:-78px;position:relative;z-index:5}
.quick-card{background:var(--paper);border-radius:var(--r-l);box-shadow:var(--sh-2);padding:26px 28px;display:grid;grid-template-columns:240px 1fr;gap:28px;align-items:center;border-top:4px solid var(--gold)}
.quick-head h2{font-size:1.5rem;margin:0 0 .2em}.quick-head p{margin:0;color:var(--muted);font-size:.95rem}
.strip{padding:34px 0 0}
.strip-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.strip-grid>div{border-left:3px solid var(--gold);padding-left:14px}
.strip-grid strong{display:block;font-family:var(--serif);font-size:1.05rem;color:var(--ink)}.strip-grid span{font-size:.9rem;color:var(--muted)}
.strip.light{background:var(--cream);padding:30px 0}

/* services index */
.index{padding-bottom:clamp(40px,6vw,80px)}
.idx-group{display:grid;grid-template-columns:200px 1fr;gap:28px;padding:30px 0;border-top:2px solid var(--ink)}
.idx-group h3{font-size:1.5rem;margin:0}
.idx-group ol{display:grid;grid-template-columns:1fr 1fr;column-gap:40px}
.idx-group a{display:grid;grid-template-columns:36px 1fr auto;align-items:baseline;gap:4px 12px;padding:14px 0;border-bottom:1px solid var(--line);text-decoration:none;transition:padding .2s,color .2s}
.idx-group a:hover{padding-left:10px;color:var(--orange-deep)}
.idx-group .n{font:600 .8rem var(--sans);color:var(--orange-deep)}
.idx-group .t{font:700 1.08rem var(--serif)}
.idx-group .d{grid-column:2;font-size:.88rem;color:var(--muted)}
.idx-group a .ic{grid-row:1/3;grid-column:3;align-self:center;opacity:0;transition:opacity .2s}
.idx-group a:hover .ic{opacity:1}

/* journey steps */
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:0;counter-reset:s}
.steps.four{grid-template-columns:repeat(4,1fr)}
.steps li{padding:26px 22px 0 0;border-top:2px solid var(--line-dark);position:relative}
.steps li::before{content:"";position:absolute;top:-6px;left:0;width:10px;height:10px;background:var(--gold);border-radius:50%}
.sn{font:700 2.6rem var(--serif);background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;display:block;line-height:1}
.steps h3{margin:.6em 0 .4em;font-size:1.15rem}.steps p{font-size:.95rem;color:#c0c0c8}
.journey.cream .steps li{border-color:var(--ink)}.journey.cream .steps p{color:var(--muted)}.journey.cream .steps h3{color:var(--ink)}

/* books */
.stage{background:linear-gradient(180deg,var(--cream),var(--cream-2))}
.shelf{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,3vw,40px);align-items:end}
.shelf li a,.pf-item{display:flex;flex-direction:column;align-items:center;gap:14px;text-decoration:none;text-align:center;background:none;border:0;padding:0;cursor:pointer;font:inherit;color:inherit;width:100%}
.book-img{margin-inline:auto;box-shadow:0 14px 30px rgba(0,0,0,.28);border-radius:2px;transition:transform .3s,box-shadow .3s}
.shelf a:hover .book-img,.pf-item:hover .book-img{transform:translateY(-8px) rotate(-1deg);box-shadow:0 22px 40px rgba(0,0,0,.34)}
.cap{display:block;font-size:.9rem;line-height:1.35}.cap strong{display:block;font-family:var(--serif);font-size:1rem;color:var(--ink)}.cap em{display:block;color:var(--muted);font-style:normal}.cap small{display:block;color:var(--orange-deep);font-weight:600;margin-top:2px}
.showcase.dark .cap strong{color:#fff}
.hero-art .book-img{box-shadow:none}

/* editorial */
.ed-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,6vw,90px);align-items:center}
.ed-media{position:relative;min-height:380px}
.ed-card{position:absolute;width:76%;padding:34px;border-radius:var(--r-m);box-shadow:var(--sh-1)}
.ed-card span{font:700 3.4rem var(--serif);line-height:1;display:block}
.ed-card p{margin:.4em 0 0;font:600 1.1rem var(--serif)}
.c1{top:0;left:0;background:var(--ink);color:#fff}.c1 span{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.c2{bottom:0;right:0;background:var(--gold);color:#fff}
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.post{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-m);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.post:hover{transform:translateY(-4px);box-shadow:var(--sh-1)}
.post-art{display:flex;align-items:flex-end;height:150px;padding:16px;text-decoration:none;color:#fff;font:700 .8rem var(--sans);text-transform:uppercase;letter-spacing:.12em}
.a0{background:linear-gradient(135deg,#0e2337,#1c3a58)}.a1{background:linear-gradient(135deg,#b80016,#e5001c)}.a2{background:linear-gradient(135deg,#132c45,#3d5a78)}.a3{background:linear-gradient(135deg,#e5001c,#0e2337)}
.post-b{padding:22px;display:flex;flex-direction:column;flex:1}.post-b h3{font-size:1.2rem}.post-b h3 a{text-decoration:none}.post-b h3 a:hover{color:var(--orange-deep)}
.post-b p{color:var(--muted);font-size:.96rem}.post-b .link-arrow{margin-top:auto;align-self:flex-start}
.meta{font-size:.8rem!important;text-transform:uppercase;letter-spacing:.08em;color:var(--orange-deep)!important;font-weight:600;margin-bottom:.5em!important}

/* FAQ */
.acc details{border-bottom:1px solid var(--line)}
.acc summary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;cursor:pointer;font:700 1.15rem var(--serif);list-style:none;color:var(--ink)}
.acc summary::-webkit-details-marker{display:none}
.plus{position:relative;width:22px;height:22px;flex:none}.plus::before,.plus::after{content:"";position:absolute;background:var(--orange);left:0;right:0;top:10px;height:2px;transition:transform .2s}.plus::after{transform:rotate(90deg)}
details[open] .plus::after{transform:rotate(0)}
.ans{padding:0 0 22px;color:var(--muted);max-width:68ch}

/* CTA band + forms */
.cta-band{background:radial-gradient(700px 400px at 10% 0%,rgba(229,0,28,.2),transparent 60%),var(--ink);color:#fff}
.cta-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(28px,5vw,70px);align-items:start}
.cta-copy h2{color:#fff}.cta-copy p{color:#cfcfd6}
.cta-form{background:var(--paper);color:var(--text);padding:clamp(22px,3vw,36px);border-radius:var(--r-l);box-shadow:var(--sh-2)}
.cta-phone,.big-phone,.ft-phone,.qd-call{display:inline-flex;align-items:center;gap:12px;text-decoration:none;font-weight:700;font-size:1.3rem;line-height:1.15}
.cta-phone small,.big-phone small{display:block;font-size:.72rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;opacity:.75}
.cta-phone .ic,.big-phone .ic{color:var(--gold-lt);width:1.6em;height:1.6em}
.cta-phone:hover{color:var(--gold-lt)}
.lead-form .fgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field.wide{grid-column:1/-1}
.field label{font-weight:600;font-size:.9rem;color:var(--ink)}
.req{color:var(--error)}.opt{font-weight:400;color:var(--muted)}
.field input[type=text],.field input[type=email],.field input[type=tel],.field select,.field textarea{width:100%;font:inherit;font-size:1rem;padding:.8em .9em;border:1.5px solid #c3cdd9;border-radius:var(--r-s);background:#fff;color:var(--text);min-height:48px}
.field textarea{resize:vertical;min-height:110px}
.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid rgba(229,0,28,.55);border-color:var(--orange)}
.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:var(--error)}
.err{color:var(--error);font-size:.85rem;margin:0}
.field.check{flex-direction:row;align-items:flex-start;gap:10px}.field.check input{width:22px;height:22px;margin-top:2px;accent-color:var(--orange);flex:none}.field.check label{font-weight:400;font-size:.88rem;color:var(--muted)}
.lead-form .btn{margin-top:18px;width:100%}
.form-status{margin:14px 0 0;font-weight:600;min-height:1.4em}.form-status.ok{color:var(--success)}.form-status.bad{color:var(--error)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.lead-form.inline .fgrid{grid-template-columns:1.1fr 1.2fr 1fr 1.1fr}
.lead-form.inline .field.check{grid-column:1/-1}
.lead-form.inline .btn{width:auto;min-width:240px}
.lead-form.inline{display:flex;flex-wrap:wrap;gap:0 16px;align-items:flex-end}.lead-form.inline .fgrid{flex:1 1 100%}
.lead-form.inline .btn{margin-top:14px}.lead-form.inline .form-status{flex:1;align-self:center;margin-top:14px}
.quick .lead-form.inline .field label{font-size:.82rem}

/* dialogs */
dialog{border:0;padding:0;color:var(--text)}
dialog::backdrop{background:rgba(14,35,55,.72);backdrop-filter:blur(3px)}
.quote-dialog{width:min(920px,94vw);max-height:92vh;border-radius:var(--r-l);overflow:auto;box-shadow:var(--sh-2)}
.qd-inner{display:grid;grid-template-columns:.8fr 1.2fr}
.qd-side{background:var(--ink);color:#fff;padding:36px 30px}.qd-side h2{color:#fff;font-size:1.8rem}.qd-side p{color:#cfcfd6}
.qd-call{color:var(--gold-lt);font-size:1.15rem;margin-top:12px}
.qd-form{padding:34px 30px}
.qd-close{position:absolute;top:10px;right:10px;width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.14);color:#fff;cursor:pointer;z-index:3;display:grid;place-items:center}
.qd-form .qd-close,.book-dialog .qd-close{background:var(--ink-3)}
.quote-dialog .qd-close{background:var(--ink);}
.book-dialog{width:min(820px,94vw);border-radius:var(--r-l);padding:34px;position:relative;max-height:92vh;overflow:auto}
.bd-grid{display:grid;grid-template-columns:260px 1fr;gap:30px;align-items:center}
.bd-art img{box-shadow:0 18px 36px rgba(0,0,0,.3);margin-inline:auto}
.bd-sub{font-style:italic;color:var(--muted)}.bd-author{font-weight:700}
.mobile-bar{display:none}

/* service page */
.svc-hero{background:var(--cream);padding:clamp(28px,4vw,48px) 0 clamp(56px,7vw,96px);position:relative;overflow:hidden}
.svc-hero.v1{background:linear-gradient(180deg,var(--cream-2),var(--cream))}
.svc-hero.v2{background:var(--paper);border-bottom:1px solid var(--line)}
.svc-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(24px,5vw,70px);align-items:center}
.svc-hero .lede{color:var(--muted)}
.crumbs ol{display:flex;flex-wrap:wrap;gap:6px;font-size:.88rem;color:var(--muted);margin-bottom:1.4rem}
.crumbs li+li::before{content:"/";margin-right:6px;opacity:.5}.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--orange-deep)}
.page-hero .crumbs ol{color:#a9a9b2}
.ov-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(28px,5vw,80px)}
.ov-main p{font-size:1.1rem}
.ov-aside{background:var(--cream);padding:30px;border-radius:var(--r-m);border-left:4px solid var(--gold);align-self:start}
.drows{counter-reset:d}
.drows li{display:grid;grid-template-columns:70px 1fr 1.4fr;gap:20px;align-items:baseline;padding:22px 0;border-top:1px solid var(--line)}
.drows li:last-child{border-bottom:1px solid var(--line)}
.drows h3{margin:0}.drows p{margin:0;color:var(--muted)}
.dn{font:700 1.6rem var(--serif);color:var(--orange)}
.dgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.dgrid li{background:var(--paper);padding:30px 26px}.cream .dgrid li{background:var(--cream)}
.dgrid p{color:var(--muted);margin:0;font-size:.97rem}
.ben-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(28px,5vw,80px);align-items:center}
.ben-list li{display:flex;gap:14px;align-items:flex-start;padding:18px 0;border-bottom:1px solid var(--line-dark);font-size:1.1rem;color:#fff}.ben-list .ic{color:var(--gold-lt);margin-top:.3em}
.rel{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.rel.six{grid-template-columns:repeat(3,1fr)}
.rel a{display:flex;flex-direction:column;gap:6px;height:100%;padding:24px;border:1px solid var(--line);border-radius:var(--r-m);text-decoration:none;position:relative;transition:border-color .2s,transform .2s,background .2s}
.rel a:hover{border-color:var(--orange);transform:translateY(-3px);background:var(--cream)}
.rel .n{font:600 .8rem var(--sans);color:var(--orange-deep)}.rel strong{font:700 1.15rem var(--serif)}.rel span:not(.n){color:var(--muted);font-size:.9rem}.rel .ic{margin-top:auto;color:var(--orange)}

/* inner pages */
.page-hero{background:radial-gradient(700px 360px at 85% 0%,rgba(229,0,28,.2),transparent 60%),var(--ink);color:#fff;padding:clamp(32px,5vw,60px) 0 clamp(56px,7vw,96px)}
.page-hero h1{color:#fff;max-width:20ch}.page-hero .narrow h1{max-width:none}
.pf-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,3vw,44px);align-items:end}
.pf-grid li[hidden]{display:none}
.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:34px}
.chip{font:600 .92rem var(--sans);padding:.65em 1.1em;border:1.5px solid var(--ink);border-radius:999px;background:transparent;cursor:pointer;min-height:44px}
.chip:hover{background:var(--cream)}.chip.on{background:var(--ink);color:#fff}
.blog-tools{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;margin-bottom:34px}.blog-tools .filters{margin:0}
#blog-search{font:inherit;padding:.75em 1em;border:1.5px solid #c3cdd9;border-radius:var(--r-s);min-width:min(100%,280px);min-height:48px}
.empty{text-align:center;color:var(--muted)}
.prose h2{margin-top:1.8em;font-size:1.6rem}.prose p{font-size:1.1rem}
.inline-cta{background:var(--cream);padding:30px;border-radius:var(--r-m);margin-top:2.5rem;border-left:4px solid var(--gold)}
.notice{background:var(--cream);padding:clamp(24px,4vw,44px);border-left:4px solid var(--gold);border-radius:var(--r-m)}
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(28px,5vw,70px)}
.contact-info .big-phone{color:var(--ink);margin:6px 0 24px;font-size:1.6rem}.contact-info .big-phone .ic{color:var(--orange)}
.contact-form{background:var(--cream);padding:clamp(22px,3vw,36px);border-radius:var(--r-l)}

/* landing page */
.lp-hero{background:radial-gradient(900px 420px at 50% 0%,rgba(229,0,28,.25),transparent 60%),var(--ink);color:#fff;text-align:center;padding:clamp(48px,7vw,96px) 0 clamp(140px,14vw,180px)}
.lp-hero h1{color:#fff;max-width:22ch;margin-inline:auto}.lp-hero .lede{margin-inline:auto;text-align:center}
.lp-chips{display:flex;flex-wrap:wrap;gap:10px 22px;justify-content:center;margin-top:1.6rem;color:#e3e3e8;font-size:.95rem}.lp-chips li{display:flex;gap:.5em;align-items:center}.lp-chips .ic{color:var(--gold-lt)}
.lp-form-wrap{margin-top:-110px;position:relative;z-index:5;padding-bottom:30px}
.lp-card{display:grid;grid-template-columns:.85fr 1.15fr;background:var(--paper);border-radius:var(--r-l);box-shadow:var(--sh-2);overflow:hidden;border-top:4px solid var(--gold)}
.lp-card-copy{padding:clamp(24px,4vw,44px);background:var(--cream)}
.lp-card-copy .cta-phone{color:var(--ink);margin-top:16px}.lp-card-copy .cta-phone:hover{color:var(--orange-deep)}.lp-card-copy .cta-phone .ic{color:var(--orange)}
.lp-card-form{padding:clamp(24px,4vw,44px)}
.lp-footer .lp-ft-row{display:flex;flex-wrap:wrap;gap:20px 36px;align-items:center;justify-content:space-between;padding-top:30px}

/* footer */
.site-footer{background:var(--ink);color:#c9c9d0;padding:clamp(48px,6vw,80px) 0 28px;font-size:.95rem}
.ft-top{display:grid;grid-template-columns:1.4fr 1fr 1fr .8fr;gap:36px}
.ft-brand p{max-width:34ch;margin:14px 0}.ft-phone{color:var(--gold-lt);font-size:1.2rem}.ft-mail{display:block;margin-top:8px}
.ft-h{font:700 .8rem var(--sans);text-transform:uppercase;letter-spacing:.14em;color:#fff;margin:0 0 16px}.ft-h.sp{margin-top:24px}
.ft-list li{margin-bottom:.55em}.ft-list a{text-decoration:none}.ft-list a:hover,.ft-bot a:hover{color:var(--gold-lt)}
.disclaimer{border-top:1px solid var(--line-dark);margin:40px 0 18px;padding-top:22px;font-size:.82rem;color:#9a9aa3}
.ft-bot{display:flex;flex-wrap:wrap;gap:10px 24px;justify-content:space-between;font-size:.88rem}

/* reveal motion */
.rv{opacity:0;transform:translateY(18px);transition:opacity .6s,transform .6s}.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.rv{opacity:1;transform:none}}

/* responsive */
@media (max-width:1100px){
  :root{--hdr:72px}
  .primary,.hdr-cta{display:none}.burger{display:block}.lp-header .hdr-cta{display:flex;margin-left:auto}.lp-header .hdr-phone span small{display:none}.lp-links{display:none}
  .steps{grid-template-columns:repeat(3,1fr);row-gap:30px}.steps.four{grid-template-columns:repeat(2,1fr)}
  .rel{grid-template-columns:repeat(2,1fr)}.ft-top{grid-template-columns:1fr 1fr}.lead-form.inline .fgrid{grid-template-columns:1fr 1fr}
}
@media (max-width:980px){
  .hero-grid,.svc-hero-grid,.ed-grid,.ov-grid,.ben-grid,.cta-grid,.contact-grid,.lp-card,.quick-card,.qd-inner{grid-template-columns:1fr}
  .hero-art{min-height:380px}.fan{height:400px;margin-inline:auto}
  .idx-group{grid-template-columns:1fr}.idx-group ol{grid-template-columns:1fr}
  .shelf,.pf-grid{grid-template-columns:repeat(2,1fr);row-gap:36px}
  .posts,.dgrid{grid-template-columns:1fr 1fr}.strip-grid{grid-template-columns:1fr 1fr}
  .drows li{grid-template-columns:50px 1fr}.drows li p{grid-column:2}
  .sec-head.split{flex-direction:column;align-items:flex-start;gap:10px}
  .ed-media{min-height:300px}.bd-grid{grid-template-columns:1fr}
  .bd-art img{max-width:220px}
  .quote-dialog{max-height:94vh}.qd-side{padding:26px 22px}.qd-form{padding:24px 22px}
  body{padding-bottom:72px}
  .mobile-bar{display:grid;grid-template-columns:1fr 2fr;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:90;padding:10px var(--pad);background:var(--ink);border-top:1px solid var(--line-dark)}
  .mobile-bar .btn-ghost-dark{color:#fff;border-color:#fff}
  .is-landing .mobile-bar{display:none}.is-landing{padding-bottom:0}
}
@media (max-width:640px){
  .lead-form .fgrid,.lead-form.inline .fgrid{grid-template-columns:1fr}
  .lead-form.inline .btn{width:100%}
  .posts,.dgrid,.rel,.rel.six,.steps,.steps.four,.ft-top{grid-template-columns:1fr}
  .steps li{padding-bottom:10px}
  .fan{height:340px}.fb1{width:120px}.fb2{width:150px}.fb3{width:150px;top:28px}.fb4{width:104px}
  .hero-actions .btn{width:100%}
  .brand img{height:58px!important}
  .hdr-phone{display:none}.lp-header .hdr-cta .hdr-phone{display:flex}.lp-header .hdr-phone span{font-size:.9rem}
  .lp-header .btn-sm{display:none}
  .mega-cols{grid-template-columns:1fr}
}
@media (max-width:380px){.shelf,.pf-grid{grid-template-columns:1fr 1fr;column-gap:12px}.cap{font-size:.82rem}}

/* home services explorer */
.svc-explorer{background:var(--cream)}
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:clamp(28px,4vw,48px)}
.feat{position:relative;display:flex;flex-direction:column;gap:8px;height:100%;min-height:300px;padding:30px 28px;background:var(--ink);color:#e9e9ee;border-radius:var(--r-l);text-decoration:none;overflow:hidden;transition:transform .25s,box-shadow .25s}
.feat::after{content:'';position:absolute;inset:auto -40px -60px auto;width:180px;height:180px;border-radius:50%;background:var(--grad);opacity:.16;transition:opacity .25s,transform .25s}
.feat:hover{transform:translateY(-6px);box-shadow:var(--sh-2)}.feat:hover::after{opacity:.35;transform:scale(1.2)}
.feat-n{font:700 3.2rem var(--serif);line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.feat-k{font:700 .75rem var(--sans);text-transform:uppercase;letter-spacing:.14em;color:var(--gold-lt)}
.feat h3{color:#fff;font-size:1.6rem;margin:.1em 0}.feat p{color:#c0c0c8;font-size:.98rem;margin:0}
.feat-go{margin-top:auto;display:inline-flex;gap:.5em;align-items:center;font-weight:600;color:var(--gold-lt)}
.stage-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,40px)}
.stage-tag{display:flex;align-items:center;gap:12px;font:700 1.25rem var(--serif);padding-bottom:14px;border-bottom:2px solid var(--ink);margin-bottom:6px}
.stage-tag span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--gold);color:#fff;font:700 .9rem var(--sans)}
.stage-col li a{display:flex;align-items:center;gap:12px;padding:14px 4px;border-bottom:1px solid var(--line);text-decoration:none;transition:padding .2s,background .2s}
.stage-col li a:hover{padding-left:12px;background:var(--paper)}
.sc-n{font:600 .78rem var(--sans);color:var(--orange-deep);min-width:1.8em}.sc-t{flex:1;font-weight:600}
.stage-col li a .ic{color:var(--orange);opacity:.4;transition:opacity .2s,transform .2s}.stage-col li a:hover .ic{opacity:1;transform:translateX(3px)}
@media (max-width:980px){.feat-grid,.stage-cols{grid-template-columns:1fr}.feat{min-height:0}}

.shelf.big{row-gap:clamp(28px,4vw,52px)}
@media (max-width:980px){.shelf{grid-template-columns:repeat(2,1fr)}}

/* keep the LiveChat bubble clear of the mobile Call / Get a quote bar */
@media (max-width:980px){body:not(.is-landing) #chat-widget-container{bottom:76px !important}}

/* compliance round: brand tag, disclaimers, legal pages */
.brand{display:flex;align-items:center;gap:12px}
.hero-disc{margin:1.2rem 0 0;font-size:.9rem;color:#c8c8d0;max-width:60ch;border-left:3px solid var(--gold);padding-left:12px}
.lp-hero .hero-disc{margin-inline:auto;text-align:left}
.disclaimer{font-size:.9rem;color:#b5b5be}
.ft-legal{margin:10px 0 4px;color:#fff}
.legal .toc{background:var(--cream);border-left:4px solid var(--gold);border-radius:var(--r-m);padding:20px 24px;margin:1.5rem 0 2.5rem}
.legal .toc h2{font-size:1.1rem;margin:0 0 .6rem}
.legal .toc ol{columns:2;column-gap:32px;list-style:decimal;padding-left:1.2em}
.legal .toc li{margin-bottom:.35em;break-inside:avoid}
.legal .toc a{text-decoration:none}.legal .toc a:hover{color:var(--orange-deep);text-decoration:underline}
.legal-sec{scroll-margin-top:calc(var(--hdr) + 16px)}
.prose ul{list-style:disc;padding-left:1.3em;margin:0 0 1em}.prose li{margin-bottom:.5em;font-size:1.05rem}
@media (max-width:640px){.legal .toc ol{columns:1}}
/* header fit: never wrap the phone number or CTA; no underline on the brand descriptor */
.brand,.brand:hover{text-decoration:none}
.hdr-phone,.hdr-cta .btn{white-space:nowrap}
.hdr-inner{gap:clamp(12px,1.6vw,24px)}
/* header breakpoints, final: burger below 1200px; descriptor only on very wide screens */
@media (max-width:1400px){.nav-link{padding-inline:8px}}
@media (max-width:1200px){
  :root{--hdr:72px}
  .primary,.hdr-cta{display:none}.burger{display:block}
  .lp-header .hdr-cta{display:flex;margin-left:auto}.lp-links{display:none}
}
/* header height must exceed the logo height at every width */
@media (max-width:1200px){:root{--hdr:84px}}
@media (max-width:640px){:root{--hdr:72px}}

/* ---- service hero form (replaces the old image + decorative number) ---- */
.svc-hero-form{min-width:0}
.hero-form-card{background:var(--paper);border-radius:var(--r-l);box-shadow:var(--sh-2);padding:clamp(20px,3vw,32px);border-top:4px solid var(--gold)}
.hero-form-card h2{font-size:clamp(1.3rem,2.2vw,1.6rem);margin:0 0 .25em}
.hero-form-card>p{margin:0 0 1rem;color:var(--muted);font-size:.95rem}
.hero-form-card .lead-form .fgrid{gap:12px}
.hero-form-card .field textarea{min-height:84px}
.hero-form-card .btn{margin-top:14px}
@media (max-width:980px){.svc-hero-form{margin-top:6px}}
@media (max-width:640px){.hero-form-card .lead-form .fgrid{grid-template-columns:1fr}}

/* ---- footer: centred policy links, kept clear of the floating chat button ---- */
.site-footer{padding-bottom:calc(28px + 96px)}
.ft-bot{flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px}
.ft-policy{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 14px;width:100%}
.ft-policy a{display:inline-flex;align-items:center;min-height:44px;padding:0 10px;color:#e9e9ee;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.ft-policy a:hover{color:var(--gold-lt)}
.ft-copy{margin:0;color:#b5b5be}
@media (max-width:980px){.site-footer{padding-bottom:calc(28px + 96px + 72px)}}
/* when the chat window is open (side panel on tablet/desktop) move the legal block out from under it */
@media (min-width:641px){
  html.chat-open .site-footer .disclaimer,
  html.chat-open .site-footer .ft-bot{padding-right:430px}
}

/* ---- strike fix list: disclosures, byline, hero call button ---- */
.form-disclosure{font-size:.85rem;line-height:1.5;color:var(--text);margin:.9rem 0 0}
.form-disclosure a{color:var(--orange-deep);text-decoration:underline;text-underline-offset:2px}
.lead-form.inline .form-disclosure{flex:1 1 100%;order:5}
.hero-disclosure{font-size:.92rem;line-height:1.55;color:var(--text);max-width:60ch;margin:0 0 1.2rem;padding-left:12px;border-left:3px solid var(--gold)}
.hero-disclosure a{color:var(--orange-deep);text-decoration:underline}
.byline{margin:.2rem 0 0;color:#c8c8d0;font-size:.95rem}
.call-num{font-weight:500;opacity:.85;margin-left:.15em}
.shelf-item{margin:0;display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}
.notice .hero-actions{margin-bottom:0}

/* ---- landing page: dark hero needs light disclosure text; centred actions ---- */
.lp-hero .hero-disclosure{color:#ececf1;margin:1.1rem auto 0;text-align:left;border-left-color:var(--gold-lt)}
.lp-hero .hero-disclosure a{color:var(--gold-lt)}
.lp-hero .hero-actions{justify-content:center;margin:1.4rem 0 0}
.lp-hero .lp-chips{margin-top:1.6rem}
.lp-card-form .lead-form.svchero .fgrid{gap:12px}

/* ---- light header: the logo's navy lettering needs a white ground ---- */
.site-header{background:var(--paper);color:var(--ink);border-bottom:1px solid var(--line);box-shadow:0 2px 14px rgba(14,35,55,.08)}
.nav-link,.hdr-phone,.lp-links a{color:var(--ink)}
.nav-link:hover,.nav-link[aria-current="page"],.nav-link[aria-expanded="true"],.hdr-phone:hover,.lp-links a:hover{color:var(--gold)}
.hdr-phone .ic{color:var(--gold)}
.hdr-phone small{color:var(--muted)}
.burger{border-color:var(--line)}.burger span{background:var(--ink)}
/* footer logo sits on a white plate for the same reason */
.ft-brand>a:first-child{display:inline-block;background:var(--paper);padding:10px 16px;border-radius:var(--r-m);line-height:0}

/* centred heading option for a hero form card (services.mjs heroFormCenter) */
.hero-form-card h2.ctr{text-align:center}

/* ---- landing banner with the form inside it (ebook-publishing-landing) ---- */
.lpb-hero{background:radial-gradient(900px 520px at 85% 15%,rgba(229,0,28,.2),transparent 60%),var(--ink);color:#fff;padding:clamp(36px,5vw,72px) 0 clamp(48px,6vw,88px)}
.lpb-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,4vw,64px);align-items:center}
.lpb-copy{min-width:0}
.lpb-hero h1{color:#fff;font-size:clamp(2rem,4.2vw,3.4rem);margin-bottom:.4em}
.lpb-hero .lede{color:#cfd6e0;margin-bottom:1.3rem}
.lpb-hero .ticks li{color:#e9edf3}.lpb-hero .ticks .ic{color:var(--gold-lt)}
.lpb-hero .hero-actions{margin:1.5rem 0 1.2rem}
.lpb-hero .lp-chips{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:8px 20px;margin:0 0 1.3rem;color:#d9dfe7;font-size:.92rem}
.lpb-hero .lp-chips li{display:flex;gap:.5em;align-items:center}.lpb-hero .lp-chips .ic{color:var(--gold-lt)}
.lpb-hero .hero-disclosure{color:#d5dbe4;margin:0;border-left-color:var(--gold)}.lpb-hero .hero-disclosure a{color:var(--gold-lt)}
.lpb-card{background:var(--paper);color:var(--text);border-radius:var(--r-l);box-shadow:var(--sh-2);padding:clamp(22px,3vw,34px);border-top:4px solid var(--gold);min-width:0;scroll-margin-top:calc(var(--hdr) + 16px)}
.lpb-card h2{font-size:clamp(1.35rem,2.2vw,1.7rem);margin:0 0 .3em}
.lpb-card>p{color:var(--muted);font-size:.95rem;margin:0 0 1rem}
.lpb-card .lead-form .fgrid{gap:12px}
.lpb-card .field textarea{min-height:84px}
.lpb-card .btn{margin-top:14px;width:100%}
@media (max-width:980px){.lpb-grid{grid-template-columns:1fr}}
@media (max-width:640px){.lpb-card .lead-form .fgrid{grid-template-columns:1fr}.lpb-hero .hero-actions .btn{width:100%}}
/* ---- landing page extras (ebook-publishing-landing): devices, fixes, formats, mid CTA, prep ---- */
.lpx-dev-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(28px,5vw,72px);align-items:center}
.lpx-dev-copy .ticks{margin:1.2rem 0 1.6rem}
.lpx-stage{position:relative;height:460px;max-width:560px;width:100%;margin-left:auto}
.lpx-dev{position:absolute;background:#0b1b2b;border-radius:26px;padding:12px;box-shadow:0 24px 50px rgba(14,35,55,.28)}
.lpx-screen{background:#fbfaf7;border-radius:16px;height:100%;overflow:hidden;padding:16px 14px;color:#1d2733;font-family:var(--serif)}
.lpx-tablet{width:300px;height:410px;left:0;top:10px;transform:rotate(-4deg)}
.lpx-cover{padding:0;background:#ddd}.lpx-cover img{width:100%;height:100%;object-fit:cover}
.lpx-reader{width:250px;height:350px;left:38%;top:70px;background:#5f646b;border-radius:18px;padding:16px 14px 30px;z-index:2}
.lpx-eink{background:#eeece6;border-radius:4px;font-size:.66rem;line-height:1.55;position:relative}
.lpx-eink strong{display:block;font-size:.9rem;line-height:1.2;margin:.2em 0 .7em}
.lpx-eink p{margin:0 0 .7em;text-indent:1em}
.lpx-ch{display:block;font:700 .55rem var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.lpx-pg{position:absolute;bottom:8px;left:0;right:0;text-align:center;font:500 .55rem var(--sans);color:#7b7f86}
.lpx-phone{width:150px;height:300px;right:0;top:150px;border-radius:24px;padding:10px;z-index:3}
.lpx-phone .lpx-screen{border-radius:16px;padding:16px 12px}
.lpx-toc{list-style:none;margin:.7em 0 0;padding:0;font:500 .66rem var(--sans)}
.lpx-toc li{padding:.55em 0;border-bottom:1px solid #e3e1db;color:var(--ink)}
.lpx-toc li::after{content:"\203A";float:right;color:var(--gold)}
.lpx-fix-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.lpx-fix-grid li{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-m);padding:22px 22px 20px;transition:transform .2s,box-shadow .2s}
.lpx-fix-grid li:hover{transform:translateY(-3px);box-shadow:var(--sh-1)}
.lpx-bad,.lpx-good{display:flex;gap:.6em;align-items:flex-start;margin:0}
.lpx-bad{color:var(--muted);font-size:.95rem;padding-bottom:12px;margin-bottom:12px;border-bottom:1px dashed var(--line)}
.lpx-bad .ic{color:#9aa5b1;margin-top:.25em}
.lpx-good{font-weight:600;color:var(--ink)}.lpx-good .ic{color:var(--gold);margin-top:.25em}
.lpx-fmt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:stretch}
.lpx-fmt{position:relative;border:1px solid var(--line);border-radius:var(--r-l);padding:30px 26px;background:var(--paper)}
.lpx-fmt h3{font-size:1.35rem;margin:.6em 0 .3em}
.lpx-fmt-for{color:var(--muted);font-size:.95rem;margin-bottom:1rem}
.lpx-fmt-tag{display:inline-block;font:700 .72rem var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--orange-deep);background:#fde8ea;padding:.4em .8em;border-radius:999px}
.lpx-fmt-main{background:var(--ink);border-color:var(--ink);color:#e9edf3;box-shadow:var(--sh-2)}
.lpx-fmt-main h3{color:#fff}.lpx-fmt-main .lpx-fmt-for{color:#c3ccd8}.lpx-fmt-main .ticks .ic{color:var(--gold-lt)}
.lpx-fmt-main .lpx-fmt-tag{background:var(--gold);color:#fff}
.lpx-mid{background:linear-gradient(110deg,var(--ink) 0%,var(--ink-3) 60%,#5a0f1c 100%);color:#fff;padding:clamp(34px,5vw,56px) 0}
.lpx-mid-inner{display:flex;align-items:center;justify-content:space-between;gap:24px 40px;flex-wrap:wrap}
.lpx-mid h2{color:#fff;font-size:clamp(1.5rem,3vw,2.1rem);margin:0 0 .25em}.lpx-mid p{margin:0;color:#cfd6e0}
.lpx-mid-actions{display:flex;flex-wrap:wrap;gap:12px}
.lpx-covers .shelf{margin-bottom:8px}
.lpx-prep-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch}
.lpx-prep-card{background:var(--cream);border-radius:var(--r-l);padding:clamp(26px,4vw,44px)}
.lpx-need{counter-reset:n;margin-top:1.2rem}
.lpx-need li{counter-increment:n;position:relative;padding:0 0 18px 52px;margin-bottom:18px;border-bottom:1px solid var(--line)}
.lpx-need li:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.lpx-need li::before{content:counter(n);position:absolute;left:0;top:0;width:36px;height:36px;border-radius:50%;background:var(--gold);color:#fff;display:grid;place-items:center;font:700 .95rem var(--sans)}
.lpx-need strong{display:block;font:700 1.08rem var(--serif);color:var(--ink)}.lpx-need span{color:var(--muted);font-size:.95rem}
.lpx-need a{color:var(--orange-deep)}
.lpx-stores{background:var(--ink);color:#d9dfe7;border-radius:var(--r-l);padding:clamp(26px,4vw,44px)}
.lpx-stores h2{color:#fff}
.lpx-store-list{display:flex;flex-wrap:wrap;gap:10px;margin:1.4rem 0}
.lpx-store-list li{border:1px solid var(--line-dark);background:var(--ink-2);color:#fff;border-radius:999px;padding:.6em 1.1em;font-weight:600;font-size:.92rem}
.lpx-note{font-size:.85rem;color:#a9b4c2;margin:0}
@media (max-width:980px){
  .lpx-dev-grid,.lpx-prep-grid{grid-template-columns:1fr}
  .lpx-stage{margin:0 auto}
  .lpx-fix-grid,.lpx-fmt-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .lpx-fix-grid,.lpx-fmt-grid{grid-template-columns:1fr}
  .lpx-stage{height:340px}
  .lpx-tablet{width:200px;height:290px}
  .lpx-reader{width:180px;height:255px;left:30%;top:46px;padding:12px 10px 22px}
  .lpx-eink{font-size:.5rem}.lpx-eink strong{font-size:.68rem}
  .lpx-phone{width:112px;height:225px;top:110px}
  .lpx-toc{font-size:.55rem}
  .lpx-mid-actions .btn{width:100%}
}
/* ---- landing closing section: steps + contact options + form card (ebook-publishing-landing) ---- */
.lpc{background:radial-gradient(700px 420px at 0% 0%,rgba(229,0,28,.2),transparent 60%),radial-gradient(600px 420px at 100% 100%,rgba(229,0,28,.1),transparent 60%),var(--ink);color:#e9edf3;padding:clamp(56px,8vw,104px) 0}
.lpc-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(28px,5vw,72px);align-items:center}
.lpc-copy{min-width:0}.lpc-copy h2{color:#fff}.lpc-copy>p{color:#cfd6e0;max-width:46ch}
.lpc-steps{counter-reset:s;margin:30px 0}
.lpc-steps li{counter-increment:s;position:relative;padding:0 0 24px 58px}
.lpc-steps li:last-child{padding-bottom:0}
.lpc-steps li::before{content:counter(s);position:absolute;left:0;top:0;width:40px;height:40px;border-radius:50%;border:2px solid var(--gold-lt);color:#fff;display:grid;place-items:center;font:700 1rem var(--sans);background:var(--ink)}
.lpc-steps li:not(:last-child)::after{content:"";position:absolute;left:19px;top:44px;bottom:4px;width:2px;background:var(--line-dark)}
.lpc-steps strong{display:block;color:#fff;font:700 1.12rem var(--serif);margin:.35em 0 .2em}
.lpc-steps span{color:#b9c3cf;font-size:.95rem}
.lpc-contacts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.lpc-contact{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:16px;border:1px solid var(--line-dark);border-radius:var(--r-m);background:rgba(255,255,255,.03);color:#fff;text-decoration:none;font:inherit;text-align:left;cursor:pointer;min-width:0;transition:border-color .2s,background .2s,transform .2s}
.lpc-contact .ic{color:var(--gold-lt);width:1.5em;height:1.5em;margin-bottom:8px}
.lpc-contact small{text-transform:uppercase;letter-spacing:.1em;font-size:.7rem;color:#9fb0c3;font-weight:700}
.lpc-contact b{font-size:.92rem;font-weight:600;overflow-wrap:anywhere}
.lpc-contact:hover{border-color:var(--gold);background:rgba(229,0,28,.08);transform:translateY(-2px)}
.lpc-wide{grid-column:1/-1;display:grid;grid-template-columns:auto auto 1fr;align-items:center;column-gap:12px}.lpc-wide .ic{margin:0}
.lpc-note{display:flex;align-items:center;gap:.6em;margin:20px 0 0;color:#9fb0c3;font-size:.9rem}.lpc-note .ic{color:var(--gold-lt)}
.lpc-card{background:var(--paper);color:var(--text);border-radius:var(--r-l);box-shadow:var(--sh-2);overflow:hidden;min-width:0}
.lpc-card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;background:var(--cream);padding:20px clamp(22px,3vw,34px);border-bottom:1px solid var(--line);border-top:4px solid var(--gold)}
.lpc-card-head h3{margin:0 0 .15em;font-size:1.4rem}.lpc-card-head p{margin:0;font-size:.85rem;color:var(--muted)}
.lpc-badge{font:700 .75rem var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--orange-deep);background:#fde8ea;padding:.5em .9em;border-radius:999px;white-space:nowrap}
.lpc-card-body{padding:clamp(22px,3vw,34px)}
.lpc-card .lead-form .btn{width:100%}
@media (max-width:980px){.lpc-grid{grid-template-columns:1fr}}
@media (max-width:640px){.lpc-contacts{grid-template-columns:1fr}.lpc-contact{flex-direction:row;align-items:center;gap:12px}.lpc-contact .ic{margin:0}.lpc-contact small{display:none}}