:root {
  --ink: #171414;
  --muted: #6b6260;
  --rosewood: #752f35;
  --rosewood-dark: #552126;
  --paper: #ffffff;
  --soft: #f7f3ef;
  --line: #dfd8d2;
  --gold: #b98a52;
  --shadow: 0 20px 50px rgb(47 27 27 / 14%);
  --radius: 14px;
  --container: 1180px;
}

/* =========================================================
   LANDING PAGE HEADER + FOOTER
   Used by lp-header.php and lp-footer.php only
   ========================================================= */
.lp-body { --lp-header-height:90px; overflow-x:hidden; }
.lp-body .lp-site-header { position:fixed; top:0; right:0; left:0; z-index:1000; width:100%; border:0; background:transparent; transform:translateY(0); transition:transform .3s ease, background-color .25s ease, box-shadow .25s ease, backdrop-filter .25s ease; will-change:transform; }
.lp-body .lp-site-header.is-hidden { transform:translateY(-110%); }
.lp-body .lp-site-header.is-revealed { background:rgb(43 31 29 / 96%); box-shadow:0 10px 32px rgb(17 8 8 / 24%); backdrop-filter:blur(12px); }
.lp-body .lp-site-header.is-at-top { background:transparent; box-shadow:none; backdrop-filter:none; }
.lp-body .lp-header-inner { display:flex; min-height:104px; align-items:center; justify-content:space-between; gap:1.5rem; }
.lp-body .lp-header-logo { width:94px; flex:0 0 94px; }
.lp-body .lp-header-logo, .lp-body .lp-footer-logo { border:0; background:transparent; box-shadow:none; }
.lp-body .lp-header-logo img, .lp-body .lp-footer-logo img { display:block; width:100%; height:150px; border:0; background:transparent; box-shadow:none; object-fit:contain; }
.lp-body .lp-header-button { display:inline-flex; min-height:50px; align-items:center; justify-content:center; gap:.55rem; padding:.78rem 1.25rem; border:1px solid var(--rosewood); border-radius:6px; color:#fff; background:var(--rosewood); font-weight:800; line-height:1; transition:background-color .2s ease, border-color .2s ease, transform .2s ease; }
.lp-body .lp-header-button:hover { border-color:var(--rosewood-dark); background:var(--rosewood-dark); transform:translateY(-2px); }
.lp-body .lp-footer { padding:3.25rem 0 0; color:#fff; background:#2b1f1d; }
.lp-body .lp-footer-grid { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr); gap:clamp(2rem,7vw,7rem); align-items:start; }
.lp-body .lp-footer-brand { max-width:680px; }
.lp-body .lp-footer-logo { width:112px; margin-bottom:1.1rem; padding:.55rem; border-radius:8px; }
.lp-body .lp-footer-logo img { display:block; width:100%; height:auto; }
.lp-body .lp-footer-brand > p { max-width:650px; margin:0 0 1.2rem; color:rgba(255,255,255,.76); }
.lp-body .lp-social-links { display:flex; flex-wrap:wrap; gap:.55rem; }
.lp-body .lp-social-links a { display:inline-flex; min-width:40px; min-height:40px; align-items:center; justify-content:center; padding:.45rem .7rem; border:1px solid rgba(255,255,255,.24); border-radius:5px; color:#fff; font-size:.82rem; font-weight:800; line-height:1; }
.lp-body .lp-social-links a:hover { color:#2b1f1d; background:#f1c99d; border-color:#f1c99d; }
.lp-body .lp-footer-contact { display:flex; flex-direction:column; align-items:flex-start; gap:.48rem; }
.lp-body .lp-footer-heading { margin:0 0 .45rem; color:#f1c99d; font-family:Georgia,"Times New Roman",serif; font-size:1.55rem; font-weight:700; }
.lp-body .lp-footer-contact a { color:#fff; font-weight:700; overflow-wrap:anywhere; }
.lp-body .lp-footer-contact a:hover { color:#f1c99d; }
.lp-body .lp-footer-contact address { margin:.3rem 0 0; color:rgba(255,255,255,.74); font-style:normal; }
.lp-body .lp-footer-bottom { margin-top:2.5rem; padding:1rem 0; border-top:1px solid rgba(255,255,255,.14); color:rgba(255,255,255,.62); font-size:.88rem; }
.lp-body .lp-footer-bottom p { margin:0; }
.lp-body .bplp-final-actions { display:flex !important; min-width:270px; height:auto !important; min-height:0 !important; flex-direction:column !important; align-items:stretch !important; justify-content:flex-start !important; align-self:center; gap:.45rem !important; margin:0 !important; }
.lp-body .bplp-final-actions > * { margin:0 !important; }
.lp-body .bplp-final-actions > a:not(.button) { display:block; padding:.12rem 0; line-height:1.35; }

@media (max-width:760px) {
  .lp-body { --lp-header-height:82px; }
  .lp-body .lp-header-inner { min-height:82px; gap:1rem; }
  .lp-body .lp-header-logo { width:72px; flex-basis:72px; }
  .lp-body .lp-header-button { min-height:44px; padding:.7rem 1rem; font-size:.92rem; }
  .lp-body .lp-footer { padding-top:2.5rem; }
  .lp-body .lp-footer-grid { grid-template-columns:minmax(0,1fr); gap:2rem; }
  .lp-body .lp-footer-brand, .lp-body .lp-footer-contact { max-width:none; }
  .lp-body .lp-footer-bottom { margin-top:2rem; }
  .lp-body .bplp-final-actions { width:100% !important; min-width:0 !important; }
}

@media (max-width:420px) {
  .lp-body { --lp-header-height:74px; }
  .lp-body .lp-header-inner { width:min(calc(100% - 1.25rem),var(--container)); min-height:74px; }
  .lp-body .lp-header-logo { width:62px; flex-basis:62px; }
  .lp-body .lp-header-button { min-height:42px; padding:.65rem .85rem; }
  .lp-body .lp-footer-logo { width:94px; }
}

* { box-sizing: border-box; }

html {
  scroll-behavior: smooth;
  scroll-padding-top: 88px;
}

body {
  --site-header-height: 104px;
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font: 400 1rem/1.65 Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  text-rendering: optimizeLegibility;
}

body.menu-open { overflow: hidden; }

img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
button { color: inherit; }

h1, h2, h3, p, figure, blockquote { margin-top: 0; }
h1, h2, h3 { text-wrap: balance; }
h1, h2 {
  margin-bottom: 1rem;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
  letter-spacing: -.035em;
  line-height: 1.02;
}
h1 { font-size: clamp(3.25rem, 7vw, 6.8rem); }
h2 { font-size: clamp(2.25rem, 4.5vw, 4.35rem); }
h3 { line-height: 1.25; }

.container { width: min(calc(100% - 2rem), var(--container)); margin-inline: auto; }
.section { padding: clamp(3.75rem, 6vw, 5.75rem) 0; }
.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;
}

.skip-link {
  position: fixed;
  z-index: 1000;
  top: .75rem;
  left: .75rem;
  padding: .75rem 1rem;
  color: #fff;
  background: var(--rosewood);
  transform: translateY(-150%);
}
.skip-link:focus { transform: translateY(0); }

.eyebrow {
  margin-bottom: 1rem;
  color: var(--rosewood);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.button {
  display: inline-flex;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  padding: .8rem 1.25rem;
  border: 1px solid var(--rosewood);
  border-radius: 5px;
  color: #fff;
  background: var(--rosewood);
  font-weight: 750;
  transition: background .2s ease, border-color .2s ease, transform .2s ease;
}
.button:hover { border-color: var(--rosewood-dark); background: var(--rosewood-dark); transform: translateY(-1px); }
.button:focus-visible, .text-link:focus-visible, a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible, textarea:focus-visible {
  outline: 3px solid rgb(117 47 53 / 28%);
  outline-offset: 3px;
}
.button-small { min-height: 42px; padding: .55rem .9rem; font-size: .88rem; }
.text-link { display: inline-flex; gap: .55rem; align-items: center; color: var(--rosewood); font-weight: 800; }

.site-header {
  position: fixed;
  z-index: 1000;
  top: 0;
  right: 0;
  left: 0;
  border-bottom: 0;
  background: transparent;
  transform: translateY(0);
  transition: transform .3s ease, color .25s ease, background-color .25s ease, box-shadow .25s ease, backdrop-filter .25s ease;
  will-change: transform;
}


.gw-final-actions a.btn.btn-light {
    border: solid 1px #000;
    background-color: #fff;
    padding: 10px;
    color: #000;
}

.site-header.is-hidden { transform: translateY(-110%); }
.site-header.is-revealed { color: #fff; background: #752F35; box-shadow: 0 10px 32px rgb(17 8 8 / 24%); backdrop-filter: blur(12px); }
.site-header.is-at-top { background: transparent; box-shadow: none; backdrop-filter: none; }
.site-header.is-revealed .primary-nav a::after { background: #f1c99d; }
.header-inner { display: grid; min-height: 76px; grid-template-columns: minmax(190px, 1fr) auto minmax(250px, 1fr); align-items: center; gap: 1.25rem; }
.brand { display: inline-flex; flex: 0 0 auto; align-items: center; gap: .65rem; border: 0; background: transparent; box-shadow: none; }
.brand img { width: 85px; height: 100px; border: 0; background: transparent; box-shadow: none; object-fit: contain; filter: none; }
.brand-footer, .brand-footer img { border: 0; background: transparent; box-shadow: none; }
.brand-footer img, .site-header.is-revealed .brand img { filter: brightness(0) invert(1); }
.brand > span { font-family: Georgia, "Times New Roman", serif; font-size: 1.15rem; line-height: .9; }
.brand small { display: block; margin-top: .35rem; color: var(--rosewood); font: 800 .6rem/1 system-ui, sans-serif; letter-spacing: .2em; text-transform: uppercase; }
.primary-nav { display: flex; align-items: center; justify-content: center; gap: clamp(.8rem, 1.8vw, 1.5rem); }
.primary-nav a, .header-phone { font-size: .9rem; font-weight: 650; }
.primary-nav a { position: relative; }
.primary-nav a::after {
  position: absolute;
  right: 0;
  bottom: -.4rem;
  left: 0;
  height: 2px;
  background: var(--rosewood);
  content: "";
  transform: scaleX(0);
  transition: transform .2s ease;
}
.primary-nav a:hover::after { transform: scaleX(1); }
.header-phone { white-space: nowrap; color: var(--rosewood); }
.site-header.is-revealed .header-phone { color: #f1c99d; }
.site-header.is-revealed .button-small { border-color: #fff; color: var(--rosewood); background: #fff; }
.site-header.is-revealed .button-small:hover { color: var(--rosewood-dark); background: #f7ebe4; }
.header-actions { display: flex; align-items: center; justify-self: end; gap: 1rem; }
.menu-toggle { display: none; border: 0; background: transparent; }

body:has(main > .gw-hero) .site-header:not(.is-revealed) { color: #fff; }
body:has(main > .gw-hero) .site-header:not(.is-revealed) .brand img { filter: brightness(0) invert(1); }
body:has(main > .gw-hero) .site-header:not(.is-revealed) .header-phone { color: #f1c99d; }
body:has(main > .gw-hero) .site-header:not(.is-revealed) .primary-nav a::after { background: #f1c99d; }
body:has(main > .gw-hero) .site-header:not(.is-revealed) .button-small { border-color: #fff; color: var(--rosewood); background: #fff; box-shadow: 0 8px 24px rgb(20 8 8 / 16%); }
body:has(main > .gw-hero) .site-header:not(.is-revealed) .button-small:hover { color: var(--rosewood-dark); background: #f7ebe4; }

body:not(.lp-body) main > :is(.hero, .about-hero, .work-hero, .portfolio-hero, .blog-hero, .article-hero, .gw-hero, .legal-hero) {
  padding-top: var(--site-header-height);
}

.hero { overflow: hidden; border-bottom: 1px solid var(--line); background: linear-gradient(112deg, #fff 0 58%, #f4efeb 58%); }
.hero-grid { display: grid; min-height: 610px; grid-template-columns: 1.05fr .95fr; align-items: center; gap: clamp(2rem, 6vw, 6rem); }
.hero-copy { padding: 3.5rem 0 4rem; }
.hero h1 { max-width: 760px; margin-bottom: 1.35rem; }
.hero h1 em { color: var(--rosewood); font-weight: inherit; }
.hero-lead { max-width: 670px; margin-bottom: 1.8rem; color: var(--muted); font-size: clamp(1.05rem, 1.6vw, 1.22rem); }
.hero-actions { display: flex; align-items: center; gap: 1.4rem; }
.hero-points { display: flex; margin: 2rem 0 0; padding: 0; flex-wrap: wrap; gap: .6rem 1.35rem; list-style: none; }
.hero-points li { position: relative; padding-left: 1rem; color: var(--muted); font-size: .88rem; font-weight: 650; }
.hero-points li::before { position: absolute; top: .7em; left: 0; width: 5px; height: 5px; border-radius: 50%; background: var(--gold); content: ""; }
.hero-books { position: relative; min-height: 520px; }
.book { position: absolute; top: 70px; left: 0; display: grid; width: clamp(170px, 17vw, 230px); aspect-ratio: 2 / 3; place-items: center; opacity: 0; visibility: hidden; filter: drop-shadow(0 17px 18px rgb(45 24 24 / 17%)); transform: rotate(-8deg) scale(.88); transition: top .9s cubic-bezier(.22,.8,.24,1), left .9s cubic-bezier(.22,.8,.24,1), opacity .55s ease, transform .9s cubic-bezier(.22,.8,.24,1), filter .9s ease, visibility 0s linear .9s; will-change: top, left, opacity, transform; }
.book img { width: 100%; height: 100%; border-radius: 2px 7px 7px 2px; object-fit: contain; }
.book-back, .book-main, .book-front, .book-leaving { opacity: 1; visibility: visible; transition-delay: 0s; }
.book-back { top: 70px; left: 0; z-index: 1; transform: rotate(-8deg) scale(.92); filter: drop-shadow(0 17px 18px rgb(45 24 24 / 17%)); }
.book-main { top: 12px; left: 29%; z-index: 3; transform: rotate(0) scale(1.04); filter: drop-shadow(0 24px 24px rgb(45 24 24 / 22%)); }
.book-front { top: 130px; left: 100%; z-index: 2; transform: translateX(-97%) rotate(8deg) scale(.96); filter: drop-shadow(0 22px 22px rgb(45 24 24 / 20%)); }
.book-leaving { top: 70px; left: 0; z-index: 0; opacity: 0; transform: translateX(-10%) rotate(-11deg) scale(.84); filter: drop-shadow(0 10px 12px rgb(45 24 24 / 10%)); }
.hero-caption { position: absolute; right: 2%; bottom: 0; z-index: 4; margin: 0; font-family: Georgia, serif; font-style: italic; }

.trust-strip { color: #fff; background: var(--rosewood); }
.trust-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.trust-grid p { margin: 0; padding: 1.15rem 1.3rem; border-right: 1px solid rgb(255 255 255 / 22%); transition: background .2s ease; }
.trust-grid p:first-child { padding-left: 0; }
.trust-grid p { padding-left: 20px !important;}
.trust-grid p:last-child { border-right: 0; }
.trust-grid p:hover { background: rgb(255 255 255 / 8%); }
.trust-grid strong, .trust-grid span { display: block; }
.trust-grid strong { font-family: Georgia, serif; font-size: 1.1rem; }
.trust-grid span { color: rgb(255 255 255 / 74%); font-size: .82rem; }

.section-heading { margin-bottom: 2rem; }
.heading-split { display: grid; grid-template-columns: 1.2fr .8fr; align-items: end; gap: 4rem; }
.heading-split h2 { max-width: 760px; margin-bottom: 0; }
.heading-split > p { max-width: 500px; margin: 0; color: var(--muted); }
.service-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.service-card { min-height: 245px; padding: 1.6rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); transition: color .25s ease, background .25s ease, transform .25s ease, box-shadow .25s ease; }
.service-card:hover { z-index: 1; color: #fff; background: var(--rosewood-dark); box-shadow: var(--shadow); transform: translateY(-5px); }
.service-card:hover p, .service-card:hover .service-number { color: rgb(255 255 255 / 78%); }
.service-card h3 { margin: 1.6rem 0 .65rem; font-family: Georgia, serif; font-size: 1.42rem; }
.service-card p { margin: 0; color: var(--muted); font-size: .94rem; }
.service-card a { display: inline-flex; margin-top: 1.2rem; gap: .5rem; font-weight: 800; }
.service-number { color: var(--rosewood); font-size: .78rem; font-weight: 850; letter-spacing: .12em; }
.service-featured { color: #fff; background: var(--rosewood); }
.service-featured p, .service-featured .service-number { color: rgb(255 255 255 / 78%); }

.story-band { padding: 0 0 clamp(3.75rem, 6vw, 5.75rem); }
.story-band-grid { display: grid; grid-template-columns: 1.05fr .95fr; overflow: hidden; border-radius: var(--radius); background: var(--rosewood); box-shadow: var(--shadow); }
.story-band-image { min-height: 390px; overflow: hidden; }
.story-band-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.story-band-grid:hover .story-band-image img { transform: scale(1.035); }
.story-band-copy { display: flex; padding: clamp(2rem, 5vw, 4rem); flex-direction: column; justify-content: center; color: #fff; }
.story-band-copy .eyebrow, .story-band-copy .text-link { color: #ecc8a5; }
.story-band-copy p:not(.eyebrow) { color: rgb(255 255 255 / 76%); }

.process-section { color: #fff; background: #211b1b; }
.process-layout { display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(3rem, 9vw, 8rem); }
.process-intro { position: sticky; top: 120px; align-self: start; }
.process-intro p:not(.eyebrow) { max-width: 420px; color: #c5bdbc; }
.process-intro .text-link { color: #e3b88c; }
.process-list { margin: 0; padding: 0; list-style: none; }
.process-list li { display: grid; padding: 1.2rem .75rem; grid-template-columns: 70px 1fr; gap: 1rem; border-top: 1px solid rgb(255 255 255 / 15%); transition: background .2s ease, padding-left .2s ease; }
.process-list li:hover { padding-left: 1.15rem; background: rgb(255 255 255 / 5%); }
.process-list li:last-child { border-bottom: 1px solid rgb(255 255 255 / 15%); }
.process-list > li > span { color: #e3b88c; font-size: .8rem; font-weight: 800; }
.process-list h3 { margin: 0 0 .25rem; font-family: Georgia, serif; font-size: 1.45rem; }
.process-list p { margin: 0; color: #c5bdbc; }

.reasons-section { background: #fff; }
.reasons-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(2.5rem, 6vw, 5rem); }
.reasons-image { height: 245px; margin: 1.5rem 0 0; overflow: hidden; border-radius: var(--radius); }
.reasons-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.reasons-image:hover img { transform: scale(1.04); }
.reason-list { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.reason-list article { padding: 1.4rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); transition: background .2s ease, transform .2s ease; }
.reason-list article:hover { z-index: 1; background: var(--soft); transform: translateY(-3px); }
.reason-list h3 { margin-bottom: .55rem; font-family: Georgia, serif; font-size: 1.2rem; }
.reason-list p { margin: 0; color: var(--muted); font-size: .92rem; }

.faq-layout { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(3rem, 8vw, 7rem); }
.faq-layout > div:first-child > p:not(.eyebrow) { color: var(--muted); }
.faq-layout > div:first-child a { color: var(--rosewood); font-weight: 750; }
.accordion { border-top: 1px solid var(--line); }
.accordion details { border-bottom: 1px solid var(--line); }
.accordion summary { display: flex; padding: 1.25rem 2.25rem 1.25rem 0; align-items: center; justify-content: space-between; cursor: pointer; font-family: Georgia, serif; font-size: 1.22rem; list-style: none; }
.accordion summary::-webkit-details-marker { display: none; }
.accordion summary::after { margin-right: .2rem; color: var(--rosewood); content: "+"; font: 400 1.5rem/1 system-ui, sans-serif; }
.accordion details[open] summary::after { content: "−"; }
.accordion details p { max-width: 700px; padding: 0 2.5rem 1.4rem 0; color: var(--muted); }

.consultation { position: relative; padding: clamp(3.75rem, 6vw, 5.5rem) 0; color: #fff; background: linear-gradient(90deg, rgb(54 18 22 / 94%), rgb(117 47 53 / 84%)), url('/assets/images/sections/books-desk.webp') center / cover no-repeat; }
.consultation .eyebrow { color: #e4b98e; }
.consultation-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(2rem, 6vw, 5rem); align-items: center; }
.consultation-grid > div > p:not(.eyebrow) { max-width: 530px; color: rgb(255 255 255 / 74%); }
.consultation-copy { padding: clamp(1rem, 3vw, 2rem); border-left: 3px solid #e4b98e; }
.consultation-points { display: grid; margin: 1.6rem 0 0; padding: 0; gap: .55rem; list-style: none; }
.consultation-points li { position: relative; padding-left: 1.35rem; color: rgb(255 255 255 / 86%); }
.consultation-points li::before { position: absolute; left: 0; color: #e4b98e; content: '✓'; font-weight: 800; }
.contact-options { display: flex; margin-top: 1.75rem; flex-wrap: wrap; gap: 1rem 1.75rem; }
.contact-options span, .contact-options strong { display: block; }
.contact-options span { color: rgb(255 255 255 / 65%); font-size: .75rem; text-transform: uppercase; }
.contact-options strong { margin-top: .2rem; font-size: .92rem; }
.consultation-form { padding: clamp(1.35rem, 3vw, 2rem); border-top: 5px solid #e4b98e; border-radius: var(--radius); color: var(--ink); background: #fff; box-shadow: 0 24px 60px rgb(19 7 8 / 32%); }
.form-heading { margin-bottom: 1.2rem; }
.form-heading span { color: var(--rosewood); font-size: .72rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.form-heading h3 { margin: .25rem 0 0; font-family: Georgia, serif; font-size: 1.65rem; }
.consultation-form label { display: grid; margin-bottom: 1rem; gap: .38rem; font-size: .84rem; font-weight: 750; }
.consultation-form label > span { color: var(--muted); font-weight: 500; }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.consultation-form input, .consultation-form textarea { width: 100%; padding: .75rem .85rem; border: 1px solid var(--line); border-radius: 4px; color: var(--ink); background: #fff; }
.consultation-form textarea { min-height: 115px; resize: vertical; }
.consultation-form input:focus, .consultation-form textarea:focus { border-color: var(--rosewood); outline: 3px solid rgb(117 47 53 / 12%); }
.consultation-form .consent { display: grid; grid-template-columns: 18px 1fr; align-items: start; gap: .6rem; color: var(--muted); font-size: .75rem; font-weight: 500; }
.consultation-form .consent input { width: 16px; height: 16px; margin-top: .2rem; padding: 0; accent-color: var(--rosewood); }
.form-status { min-height: 1.4em; margin: .75rem 0 0; color: var(--muted); font-size: .82rem; }
.form-status.is-error { color: #9d1f2a; }
.form-status.is-success { color: #24653e; }

/* Compact consultation form shown before the homepage footer. */
#consultation { padding: clamp(2.75rem, 4.5vw, 4rem) 0; }
#consultation .consultation-grid { grid-template-columns: minmax(0, 1fr) minmax(360px, 480px); gap: clamp(2rem, 5vw, 4rem); }
#consultation .consultation-copy { padding: clamp(.75rem, 2vw, 1.35rem); }
#consultation .consultation-points { margin-top: 1.1rem; gap: .4rem; }
#consultation .contact-options { margin-top: 1.25rem; }
#consultation .consultation-form { width: 100%; max-width: 480px; padding: 1.2rem 1.3rem 1rem; justify-self: end; border-top-width: 4px; }
#consultation .form-heading { margin-bottom: .75rem; }
#consultation .form-heading h3 { font-size: 1.45rem; }
#consultation .consultation-form label { margin-bottom: .65rem; gap: .28rem; font-size: .78rem; }
#consultation .field-row { gap: .7rem; }
#consultation .consultation-form input,
#consultation .consultation-form textarea { padding: .55rem .7rem; }
#consultation .consultation-form textarea { min-height: 72px; max-height: 110px; }
#consultation .consultation-form .consent { margin-bottom: .6rem; gap: .5rem; font-size: .68rem; line-height: 1.35; }
#consultation .consultation-form .button { min-height: 44px; padding: .65rem 1rem; }
#consultation .form-status { min-height: 1em; margin-top: .4rem; font-size: .75rem; }

.site-footer { padding: 3.5rem 0 1.5rem; color: #dfd8d6; background: #171313; }
.footer-grid { display: grid; grid-template-columns: 1.5fr repeat(3, 1fr); gap: clamp(2rem, 5vw, 4rem); }
.brand-footer { color: #fff; }
.footer-brand p { max-width: 340px; margin-top: 1.2rem; color: #9f9694; font-size: .9rem; }
.social-links { display: flex; margin-top: 1.15rem; gap: .55rem; }
.social-links a { display: grid; width: 36px; height: 36px; place-items: center; border: 1px solid rgb(255 255 255 / 18%); border-radius: 50%; color: #fff; font-size: .72rem; font-weight: 850; transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease; }
.social-links a:hover { color: #fff; border-color: var(--rosewood); background: var(--rosewood); transform: translateY(-3px); }
.footer-grid h2 { margin-bottom: 1rem; color: #fff; font: 750 .78rem/1.2 system-ui, sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.footer-grid nav, .footer-contact { display: grid; align-content: start; gap: .55rem; }
.footer-grid nav a, .footer-contact a, .footer-contact address { color: #aaa19f; font-size: .88rem; font-style: normal; }
.footer-grid a:hover { color: #fff; }
.footer-bottom { display: flex; margin-top: 3rem; padding-top: 1.25rem; align-items: center; justify-content: space-between; border-top: 1px solid rgb(255 255 255 / 12%); color: #827977; font-size: .78rem; }
.footer-bottom p { margin: 0; }
.footer-bottom div { display: flex; gap: 1rem; }

@media (max-width: 1040px) {
  .header-phone { display: none; }
  .header-inner { grid-template-columns: minmax(175px, 1fr) auto minmax(110px, 1fr); }
  .hero-grid { min-height: 580px; }
  .book { width: clamp(150px, 19vw, 200px); }
  .service-grid { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: 1.4fr repeat(3, 1fr); gap: 2rem; }
}

@media (max-width: 820px) {
  body { --site-header-height: 76px; }
  .header-inner { display: grid; grid-template-columns: 1fr auto; }
  .brand img { width: 62px; height: 62px; }
  .header-actions { display: none; }
  .menu-toggle { display: grid; width: 44px; height: 44px; margin-left: auto; padding: 11px; place-content: center; gap: 5px; cursor: pointer; }
  .menu-toggle > span:not(.sr-only) { display: block; width: 23px; height: 2px; background: var(--ink); transition: transform .2s, opacity .2s; }
  .menu-toggle[aria-expanded="true"] > span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] > span:nth-child(2) { opacity: 0; }
  .menu-toggle[aria-expanded="true"] > span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .primary-nav { position: fixed; top: 76px; right: 0; bottom: 0; left: 0; display: none; margin: 0; padding: 2rem 1rem; flex-direction: column; align-items: stretch; gap: 0; color: var(--ink); background: #fff; }
  .primary-nav.is-open { display: flex; }
  .site-header.is-revealed .menu-toggle > span:not(.sr-only), body:has(main > .gw-hero) .site-header:not(.is-revealed) .menu-toggle > span:not(.sr-only) { background:#fff; }
  .site-header:has(.primary-nav.is-open) { color:var(--ink); background:#fff; box-shadow:0 10px 32px rgb(17 8 8 / 14%); }
  .site-header:has(.primary-nav.is-open) .brand img { filter:none; }
  .site-header:has(.primary-nav.is-open) .menu-toggle > span:not(.sr-only) { background:var(--ink); }
  .primary-nav a { padding: 1rem .5rem; border-bottom: 1px solid var(--line); font: 500 1.45rem/1.2 Georgia, serif; }
  .hero { background: linear-gradient(180deg, #fff 0 62%, #f4efeb 62%); }
  .hero-grid { min-height: auto; grid-template-columns: 1fr; gap: 0; }
  .hero-copy { padding: 4rem 0 2.5rem; }
  .hero-books { min-height: 510px; }
  .book { width: min(36vw, 205px); }
  .book-back { left: 6%; }
  .book-main { left: 34%; }
  .book-front { top: 125px; left: 95%; }
  .trust-grid { grid-template-columns: 1fr 1fr; }
  .trust-grid p { border-bottom: 1px solid rgb(255 255 255 / 22%); }
  .trust-grid p:nth-child(2) { border-right: 0; }
  .trust-grid p:first-child { padding-left: 1.3rem; }
  .trust-grid p:nth-child(3), .trust-grid p:nth-child(4) { border-bottom: 0; }
  .heading-split, .story-band-grid, .process-layout, .reasons-grid, .faq-layout, .consultation-grid { grid-template-columns: 1fr; gap: 2.5rem; }
  #consultation .consultation-form { justify-self: center; }
  .story-band-image { min-height: 320px; }
  .process-intro { position: static; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 560px) {
  body { --site-header-height: 68px; }
  .container { width: min(calc(100% - 1.25rem), var(--container)); }
  .section { padding: 3.5rem 0; }
  .header-inner { min-height: 68px; }
  .brand img { width: 45px; height: 44px; }
  .brand > span { font-size: 1rem; }
  .primary-nav { top: 68px; }
  .hero-copy { padding-top: 3rem; }
  .hero h1 { font-size: clamp(3rem, 15vw, 4.6rem); }
  .hero-actions { align-items: flex-start; flex-direction: column; }
  .hero-books { min-height: 410px; }
  .book { width: min(41vw, 180px); }
  .book-back { top: 50px; left: 1%; }
  .book-main { top: 0; left: 29%; }
  .book-front { top: 105px; left: 100%; }
  .hero-caption { right: 0; font-size: .85rem; }
  .trust-grid { grid-template-columns: 1fr; }
  .trust-grid p, .trust-grid p:nth-child(3) { padding: 1rem .5rem; border-right: 0; border-bottom: 1px solid rgb(255 255 255 / 22%); }
  .trust-grid p:first-child { padding-left: 0; }
  .trust-grid p:last-child { border-bottom: 0; }
  .heading-split { gap: 1rem; }
  .service-grid { grid-template-columns: 1fr; }
  .service-card { min-height: auto; }
  .reason-list, .field-row, .footer-grid { grid-template-columns: 1fr; }
  .contact-options { flex-direction: column; }
  .footer-bottom { align-items: flex-start; flex-direction: column; gap: .7rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}

/*About Us CSS*/

.about-hero { overflow: hidden; border-bottom: 1px solid var(--line); background: linear-gradient(110deg, #fff 0 58%, var(--soft) 58%); }
.about-hero-grid { display: grid; min-height: 570px; grid-template-columns: 1.05fr .95fr; align-items: center; gap: clamp(2.5rem, 6vw, 6rem);}
.about-hero-copy { padding: 3.5rem 0;}
.breadcrumbs { display: flex; margin-bottom: 2rem; align-items: center; gap: .65rem; color: var(--muted); font-size: .78rem;}
.breadcrumbs a:hover { color: var(--rosewood);}
.about-hero h1 { max-width: 760px; font-size: clamp(3.2rem, 6.3vw, 6rem);}
.about-hero h1 em { display: block; color: var(--rosewood); font-weight: inherit;}
.about-hero-lead { max-width: 650px; margin-bottom: 1.8rem; color: var(--muted); font-size: clamp(1.05rem, 1.5vw, 1.2rem);}
.about-hero-media { position: relative; height: 470px; margin: 0; overflow: hidden; border-radius: var(--radius); box-shadow: var(--shadow);}
.about-hero-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease;}
.about-hero-media:hover img { transform: scale(1.035);}
.about-hero-media figcaption { position: absolute; right: 1.25rem; bottom: 1.25rem; left: 1.25rem; padding: 1rem 1.15rem; color: #fff; background: rgb(47 21 24 / 88%); backdrop-filter: blur(8px);}
.about-hero-media strong, .about-hero-media span { display: block;}
.about-hero-media strong { font-family: Georgia, "Times New Roman", serif; font-size: 1.1rem;}
.about-hero-media span { margin-top: .2rem; color: rgb(255 255 255 / 72%); font-size: .8rem;}
.about-intro-grid { display: grid; grid-template-columns: .95fr 1.05fr; align-items: center; gap: clamp(2.5rem, 7vw, 6rem);}
.about-intro-image { height: 490px; overflow: hidden; border-radius: var(--radius); box-shadow: var(--shadow);}
.about-intro-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease;}
.about-intro-image:hover img { transform: scale(1.04);}
.about-intro-copy p:not(.eyebrow) { color: var(--muted);}
.mission-section { background: var(--soft);}
.mission-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line);}
.mission-card { min-height: 285px; padding: clamp(1.5rem, 3vw, 2.25rem); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #fff; transition: color .25s ease, background .25s ease, transform .25s ease;}
.mission-card:hover { z-index: 1; color: #fff; background: var(--rosewood-dark); transform: translateY(-5px);}
.mission-card > span { color: var(--rosewood); font-size: .76rem; font-weight: 850; letter-spacing: .14em;}
.mission-card h3 { margin: 3rem 0 .75rem; font-family: Georgia, "Times New Roman", serif; font-size: 1.6rem;}
.mission-card p { margin: 0; color: var(--muted);}
.mission-card-featured { color: #fff; background: var(--rosewood);}
.mission-card-featured > span,
.mission-card-featured p,
.mission-card:hover > span,
.mission-card:hover p { color: rgb(255 255 255 / 74%);}
.about-services { color: #fff; background: #211b1b;}
.about-services-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(3rem, 8vw, 7rem);}
.about-services-copy { align-self: start;}
.about-services-copy .eyebrow { color: #e3b88c;}
.about-services-copy p:not(.eyebrow) { max-width: 470px; color: #c5bdbc;}
.about-service-list { border-top: 1px solid rgb(255 255 255 / 15%);}
.about-service-list article { display: grid; padding: 1.4rem .8rem; grid-template-columns: 60px 1fr; gap: 1rem; border-bottom: 1px solid rgb(255 255 255 / 15%); transition: padding-left .2s ease, background .2s ease;}
.about-service-list article:hover { padding-left: 1.25rem; background: rgb(255 255 255 / 5%);}
.about-service-list article > span { color: #e3b88c; font-size: .78rem; font-weight: 800;}
.about-service-list h3 { margin: 0 0 .35rem; font-family: Georgia, "Times New Roman", serif; font-size: 1.35rem;}
.about-service-list p { margin: 0; color: #aaa19f; font-size: .92rem;}
.values-heading { max-width: 720px;}
.values-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line);}
.value-card { min-height: 260px; padding: 1.6rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); transition: background .25s ease, transform .25s ease, box-shadow .25s ease;}
.value-card:hover { z-index: 1; background: var(--soft); box-shadow: var(--shadow); transform: translateY(-5px);}
.value-card > span { color: var(--rosewood); font-size: .75rem; font-weight: 850; letter-spacing: .14em;}
.value-card h3 { margin: 2.5rem 0 .65rem; font-family: Georgia, "Times New Roman", serif; font-size: 1.35rem;}
.value-card p { margin: 0; color: var(--muted); font-size: .92rem;}
.about-cta {
  padding: clamp(3.5rem, 6vw, 5rem) 0;
  color: #fff;
  background: linear-gradient(90deg, rgb(58 21 25 / 96%), rgb(117 47 53 / 88%)), url("/assets/images/sections/books-desk.webp") center / cover no-repeat;}
.about-cta-inner { display: grid; grid-template-columns: 1fr .8fr; align-items: center; gap: clamp(2.5rem, 7vw, 6rem);}
.about-cta .eyebrow { color: #e4b98e;}
.about-cta h2 { max-width: 720px; margin-bottom: 0;}
.about-cta-inner > div:last-child > p { color: rgb(255 255 255 / 75%);}
.about-cta-actions { display: flex; margin-top: 1.5rem; align-items: center; flex-wrap: wrap; gap: 1.25rem;}
.button-light { color: var(--rosewood-dark); border-color: #fff; background: #fff;}
.button-light:hover { color: #fff; border-color: var(--rosewood-dark);}
.cta-phone { color: #fff; font-weight: 800;}
.cta-phone:hover { color: #e4b98e;}

@media (max-width: 1040px) {
  .about-hero-grid { min-height: 530px;}
  .values-grid { grid-template-columns: repeat(2, 1fr); }}

@media (max-width: 820px) { .about-hero { background: linear-gradient(180deg, #fff 0 56%, var(--soft) 56%);}

  .about-hero-grid, .about-intro-grid, .about-services-grid, .about-cta-inner { grid-template-columns: 1fr;}
  .about-hero-grid { padding-top: 2.5rem; padding-bottom: 2.5rem; gap: 1.5rem;}
  .about-hero-copy { padding: 0;}
  .about-hero-media { height: 430px;}
  .about-intro-image { height: 420px;}
  .mission-grid { grid-template-columns: 1fr;}
  .mission-card { min-height: auto;}
  .mission-card h3 { margin-top: 1.5rem; }}

@media (max-width: 560px) {
  .about-hero h1 { font-size: clamp(3rem, 14vw, 4.4rem);}
  .breadcrumbs { margin-bottom: 1.4rem; }
  .about-hero-media, .about-intro-image { height: 330px;}
  .about-hero-media figcaption { right: .75rem; bottom: .75rem; left: .75rem;}
  .values-grid { grid-template-columns: 1fr;}
  .value-card { min-height: auto;}
  .value-card h3 { margin-top: 1.5rem;}
  .about-service-list article { grid-template-columns: 42px 1fr;}
  .about-cta-actions { align-items: flex-start; flex-direction: column;}}

/* HOW IT WORKS PAGE */

.work-hero { overflow: hidden; border-bottom: 1px solid var(--line); background: linear-gradient(110deg, #fff 0 58%, var(--soft) 58%); }
.work-hero-grid { display: grid; min-height: 570px; grid-template-columns: 1.05fr .95fr; align-items: center; gap: clamp(2.5rem, 6vw, 6rem); }
.work-hero-copy { padding: 3.5rem 0; }
.work-hero h1 { max-width: 760px; font-size: clamp(3.2rem, 6.3vw, 6rem); }
.work-hero h1 em { display: block; color: var(--rosewood); font-weight: inherit; }
.work-hero-lead { max-width: 650px; margin-bottom: 1.8rem; color: var(--muted); font-size: clamp(1.05rem, 1.5vw, 1.2rem); }
.work-hero-media { position: relative; height: 470px; margin: 0; overflow: hidden; border-radius: var(--radius); box-shadow: var(--shadow); }
.work-hero-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.work-hero-media:hover img { transform: scale(1.035); }
.work-hero-media figcaption { position: absolute; right: 1.25rem; bottom: 1.25rem; left: 1.25rem; padding: 1rem 1.15rem; color: #fff; background: rgb(47 21 24 / 88%); backdrop-filter: blur(8px); }
.work-hero-media strong, .work-hero-media span { display: block; }
.work-hero-media strong { font-family: Georgia, "Times New Roman", serif; font-size: 1.1rem; }
.work-hero-media span { margin-top: .2rem; color: rgb(255 255 255 / 72%); font-size: .8rem; }
.work-process { background: #fff; }
.work-process-layout { display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(3rem, 8vw, 7rem); }
.work-process-intro { position: sticky; top: 115px; align-self: start; }
.work-process-intro > p:not(.eyebrow) { max-width: 430px; color: var(--muted); }
.work-timeline { margin: 0; padding: 0; border-top: 1px solid var(--line); list-style: none; counter-reset: publishing-step; }
.work-timeline li { position: relative; display: grid; min-height: 155px; padding: 1.55rem 1rem; grid-template-columns: 70px 1fr; gap: 1.25rem; border-bottom: 1px solid var(--line); transition: padding-left .25s ease, background .25s ease, box-shadow .25s ease; }
.work-timeline li:hover { z-index: 1; padding-left: 1.5rem; background: var(--soft); box-shadow: 0 14px 34px rgb(51 29 29 / 8%); }
.work-step-number { color: var(--rosewood); font-size: .78rem; font-weight: 850; letter-spacing: .14em; }
.work-timeline h3 { margin: 0 0 .55rem; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.35rem, 2vw, 1.7rem); }
.work-timeline p { max-width: 650px; margin: 0; color: var(--muted); }
.work-collaboration { background: var(--soft); }
.work-collaboration-grid { display: grid; grid-template-columns: .95fr 1.05fr; align-items: center; gap: clamp(2.5rem, 7vw, 6rem); }
.work-collaboration-image { height: 500px; overflow: hidden; border-radius: var(--radius); box-shadow: var(--shadow); }
.work-collaboration-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.work-collaboration-image:hover img { transform: scale(1.04); }
.work-collaboration-copy > p:not(.eyebrow) { color: var(--muted); }
.work-checklist { display: grid; margin: 1.5rem 0 1.8rem; padding: 0; gap: .8rem; list-style: none; }
.work-checklist li { position: relative; padding-left: 1.7rem; color: var(--muted); }
.work-checklist li::before { position: absolute; top: .05rem; left: 0; color: var(--rosewood); content: "✓"; font-weight: 900; }
.expectations-section { background: #fff; }
.expectations-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.expectation-card { min-height: 280px; padding: 1.6rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #fff; transition: color .25s ease, background .25s ease, transform .25s ease, box-shadow .25s ease; }
.expectation-card:hover { z-index: 1; color: #fff; background: var(--rosewood-dark); box-shadow: var(--shadow); transform: translateY(-5px); }
.expectation-card > span { color: var(--rosewood); font-size: .75rem; font-weight: 850; letter-spacing: .14em; }
.expectation-card h3 { margin: 2.5rem 0 .65rem; font-family: Georgia, "Times New Roman", serif; font-size: 1.35rem; }
.expectation-card p { margin: 0; color: var(--muted); font-size: .92rem; }
.expectation-card-featured { color: #fff; background: var(--rosewood); }
.expectation-card-featured > span, .expectation-card-featured p, .expectation-card:hover > span, .expectation-card:hover p { color: rgb(255 255 255 / 74%); }
.work-support { color: #fff; background: #211b1b; }
.work-support-grid { display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: clamp(2.5rem, 7vw, 6rem); }
.work-support-copy .eyebrow { color: #e3b88c; }
.work-support-copy > p:not(.eyebrow) { max-width: 620px; color: #c5bdbc; }
.work-starting-points { display: grid; margin-top: 1.75rem; grid-template-columns: 1fr 1fr; border-top: 1px solid rgb(255 255 255 / 15%); border-left: 1px solid rgb(255 255 255 / 15%); }
.work-starting-points article { padding: 1rem 1.1rem; border-right: 1px solid rgb(255 255 255 / 15%); border-bottom: 1px solid rgb(255 255 255 / 15%); transition: background .2s ease; }
.work-starting-points article:hover { background: rgb(255 255 255 / 6%); }
.work-starting-points strong, .work-starting-points span { display: block; }
.work-starting-points strong { font-family: Georgia, "Times New Roman", serif; }
.work-starting-points span { margin-top: .2rem; color: #aaa19f; font-size: .8rem; }
.work-support-image { height: 460px; overflow: hidden; border-radius: var(--radius); }
.work-support-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.work-support-image:hover img { transform: scale(1.04); }
.work-faq { background: var(--soft); }
.work-cta { padding: clamp(3.5rem, 6vw, 5rem) 0; color: #fff; background: linear-gradient(90deg, rgb(58 21 25 / 96%), rgb(117 47 53 / 88%)), url("/assets/images/sections/books-desk.webp") center / cover no-repeat; }
.work-cta-inner { display: grid; grid-template-columns: 1fr .8fr; align-items: center; gap: clamp(2.5rem, 7vw, 6rem); }
.work-cta .eyebrow { color: #e4b98e; }
.work-cta h2 { max-width: 720px; margin-bottom: 0; }
.work-cta-inner > div:last-child > p { color: rgb(255 255 255 / 75%); }
.work-cta-actions { display: flex; margin-top: 1.5rem; align-items: center; flex-wrap: wrap; gap: 1.25rem; }
.work-cta-phone { color: #fff; font-weight: 800; }
.work-cta-phone:hover { color: #e4b98e; }

@media (max-width: 1040px) {
  .work-hero-grid { min-height: 530px; }
  .expectations-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 820px) {
  .work-hero { background: linear-gradient(180deg, #fff 0 56%, var(--soft) 56%); }
  .work-hero-grid, .work-process-layout, .work-collaboration-grid, .work-support-grid, .work-cta-inner { grid-template-columns: 1fr; }
  .work-hero-grid { padding-top: 2.5rem; padding-bottom: 2.5rem; gap: 1.5rem; }
  .work-hero-copy { padding: 0; }
  .work-hero-media { height: 430px; }
  .work-process-intro { position: static; }
  .work-collaboration-image, .work-support-image { height: 420px; }
}

@media (max-width: 560px) {
  .work-hero h1 { font-size: clamp(3rem, 14vw, 4.4rem); }
  .work-hero-media, .work-collaboration-image, .work-support-image { height: 330px; }
  .work-hero-media figcaption { right: .75rem; bottom: .75rem; left: .75rem; }
  .work-timeline li { min-height: auto; grid-template-columns: 42px 1fr; }
  .expectations-grid, .work-starting-points { grid-template-columns: 1fr; }
  .expectation-card { min-height: auto; }
  .expectation-card h3 { margin-top: 1.5rem; }
  .work-cta-actions { align-items: flex-start; flex-direction: column; }
}

/* PORTFOLIO PAGE */

.portfolio-page { overflow-x: hidden; }

/* MOVING PORTFOLIO HERO */

.portfolio-hero { position: relative; display: flex; min-height: calc(100svh - 76px); overflow: hidden; align-items: center; color: var(--ink); background: #f8f6f3; isolation: isolate; }
.portfolio-hero-visual { position: absolute; z-index: 0; inset: -14% -5% -14% 35%; overflow: hidden; transform: rotate(-2.2deg) scale(1.045); transform-origin: center; }
.portfolio-cover-flow { display: grid; width: 100%; height: 100%; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(.7rem, 1.2vw, 1.15rem); }
.portfolio-flow-column { height: 100%; overflow: hidden; }
.portfolio-flow-track { display: flex; flex-direction: column; will-change: transform; backface-visibility: hidden; }
.portfolio-flow-column--up .portfolio-flow-track { animation: portfolioFlowUp var(--flow-duration) linear infinite; }
.portfolio-flow-column--down .portfolio-flow-track { animation: portfolioFlowDown var(--flow-duration) linear infinite; }
.portfolio-flow-set { display: grid; padding-bottom: clamp(.7rem, 1.2vw, 1.15rem); gap: clamp(.7rem, 1.2vw, 1.15rem); }
.portfolio-flow-item { overflow: hidden; border-radius: 7px; background: #e8e2dd; box-shadow: 0 24px 50px rgb(34 20 21 / 25%); }
.portfolio-flow-item img { display: block; width: 100%; height: auto; aspect-ratio: 2 / 3; object-fit: cover; }
.portfolio-hero-wash { position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg, #f8f6f3 0%, #f8f6f3 30%, rgb(248 246 243 / 97%) 39%, rgb(248 246 243 / 82%) 49%, rgb(248 246 243 / 25%) 63%, rgb(248 246 243 / 0%) 78%); pointer-events: none; }
.portfolio-hero-inner { position: relative; z-index: 2; display: flex; min-height: calc(100svh - 76px); align-items: center; }
.portfolio-hero-content { width: min(58%, 780px); padding: clamp(3.5rem, 6vw, 6rem) 0; }
.portfolio-hero-eyebrow { margin-bottom: clamp(1.5rem, 3vw, 2.5rem); color: #5d6168; font-size: .8rem; font-weight: 850; letter-spacing: .28em; text-transform: uppercase; }
.portfolio-hero h1 { max-width: 850px; margin-bottom: 1.45rem; font-size: clamp(4rem, 6.6vw, 7.1rem); line-height: .92; letter-spacing: -.055em; }
.portfolio-hero h1 em { display: block; margin-top: .25rem; color: #752f35; font-weight: inherit; line-height: .96; }
.portfolio-hero-formats { margin-bottom: .7rem; color: #555b63; font-size: .78rem; font-weight: 850; letter-spacing: .24em; text-transform: uppercase; }
.portfolio-hero-description { max-width: 690px; margin-bottom: 1.8rem; color: #61666e; font-size: clamp(1rem, 1.4vw, 1.16rem); line-height: 1.75; }
.portfolio-hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 1.6rem; }
.portfolio-hero-phone { color: var(--rosewood); font-weight: 800; }
.portfolio-hero-phone span { display: inline-block; margin-left: .45rem; transition: transform .2s ease; }
.portfolio-hero-phone:hover span { transform: translateX(4px); }
.portfolio-hero.is-motion-paused .portfolio-flow-track { animation-play-state: paused; }

@keyframes portfolioFlowUp { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(0, -50%, 0); } }
@keyframes portfolioFlowDown { from { transform: translate3d(0, -50%, 0); } to { transform: translate3d(0, 0, 0); } }

@media (max-width: 1040px) {
  .portfolio-hero-visual { inset: -12% -14% -12% 40%; }
  .portfolio-hero-wash { background: linear-gradient(90deg, #f8f6f3 0%, #f8f6f3 32%, rgb(248 246 243 / 96%) 43%, rgb(248 246 243 / 60%) 59%, rgb(248 246 243 / 0%) 79%); }
  .portfolio-hero-content { width: 62%; }
  .portfolio-hero h1 { font-size: clamp(4rem, 7.8vw, 6.3rem); }
}

@media (max-width: 820px) {
  .portfolio-hero { display: flex; min-height: auto; flex-direction: column; align-items: stretch; }
  .portfolio-hero-inner { order: 1; min-height: auto; padding: 3.5rem 0 2.75rem; }
  .portfolio-hero-content { width: 100%; padding: 0; }
  .portfolio-hero h1 { max-width: 680px; font-size: clamp(3.8rem, 12vw, 5.8rem); }
  .portfolio-hero-description { max-width: 620px; }
  .portfolio-hero-visual { position: relative; order: 2; inset: auto; width: 125%; height: 610px; margin-left: 9%; transform: rotate(-2deg) scale(1.02); }
  .portfolio-hero-wash { z-index: 1; top: auto; bottom: 0; height: 630px; background: linear-gradient(180deg, #f8f6f3 0%, rgb(248 246 243 / 40%) 16%, rgb(248 246 243 / 0%) 38%); }
}

@media (max-width: 560px) {
  .portfolio-hero-inner { padding: 3rem 0 2.25rem; }
  .portfolio-hero-eyebrow { margin-bottom: 1.5rem; font-size: .68rem; letter-spacing: .19em; }
  .portfolio-hero h1 { font-size: clamp(3.35rem, 15vw, 4.65rem); }
  .portfolio-hero-formats { font-size: .66rem; letter-spacing: .14em; }
  .portfolio-hero-description { font-size: 1rem; line-height: 1.65; }
  .portfolio-hero-actions { align-items: flex-start; flex-direction: column; gap: 1.15rem; }
  .portfolio-hero-visual { width: 145%; height: 520px; margin-left: 7%; }
  .portfolio-cover-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; }
  .portfolio-flow-column:nth-child(3) { display: none; }
  .portfolio-flow-set { padding-bottom: .65rem; gap: .65rem; }
  .portfolio-flow-item { border-radius: 5px; }
  .portfolio-hero-wash { height: 540px; }
}

@media (prefers-reduced-motion: reduce) {
  .portfolio-flow-track { animation: none !important; }
  .portfolio-flow-column--down .portfolio-flow-track { transform: translateY(-18%); }
}

.portfolio-showcase { position: relative; overflow: hidden; padding: clamp(4rem, 7vw, 6.5rem) 0 2.5rem; background: #f3efeb; }
.portfolio-showcase-heading { display: flex; margin-bottom: 1.5rem; align-items: end; justify-content: space-between; gap: 3rem; }
.portfolio-showcase-heading h2 { max-width: 760px; margin-bottom: .8rem; }
.portfolio-showcase-heading > div:first-child > p:last-child { max-width: 650px; margin-bottom: 0; color: var(--muted); }
.portfolio-reel-controls { display: flex; flex: 0 0 auto; align-items: center; gap: .55rem; }
.portfolio-reel-controls button { min-width: 48px; height: 48px; padding: 0 .9rem; border: 1px solid #d2c8c1; border-radius: 999px; color: var(--ink); background: transparent; cursor: pointer; font-size: .86rem; font-weight: 750; transition: color .2s ease, border-color .2s ease, background .2s ease, transform .2s ease; }
.portfolio-reel-controls button:hover { color: #fff; border-color: var(--rosewood); background: var(--rosewood); transform: translateY(-2px); }
.portfolio-reel-controls button:disabled { cursor: default; opacity: .45; transform: none; }
.portfolio-reel-shell { position: relative; width: 100%; overflow: hidden; }
.portfolio-reel-viewport { width: 100%; overflow: hidden; padding: 2rem 0 3.25rem; cursor: grab; touch-action: pan-y; user-select: none; }
.portfolio-reel-viewport:active { cursor: grabbing; }
.portfolio-reel-viewport:focus-visible { outline: 3px solid rgb(117 47 53 / 28%); outline-offset: -3px; }
.portfolio-reel-track { display: flex; width: max-content; will-change: transform; }
.portfolio-reel-set { display: flex; padding-right: clamp(1rem, 2vw, 1.7rem); align-items: center; gap: clamp(1rem, 2vw, 1.7rem); }
.portfolio-cover-item { display: block; flex: 0 0 auto; padding: 0; border: 0; background: transparent; cursor: pointer; transform: translateZ(0); transition: transform .35s ease, filter .35s ease; }
.portfolio-cover-item:nth-child(4n + 1) { transform: translateY(18px); }
.portfolio-cover-item:nth-child(4n + 2) { transform: translateY(-12px); }
.portfolio-cover-item:nth-child(4n + 3) { transform: translateY(30px); }
.portfolio-cover-item:nth-child(4n) { transform: translateY(-4px); }
.portfolio-cover-item:hover { z-index: 3; filter: saturate(1.08); transform: translateY(-16px) scale(1.025); }
.portfolio-cover-item img { display: block; width: auto; height: clamp(470px, 42vw, 625px); max-width: none; object-fit: contain; border-radius: 5px; box-shadow: 0 24px 46px rgb(46 28 28 / 24%); pointer-events: none; -webkit-user-drag: none; }
.portfolio-reel-fade { position: absolute; z-index: 5; top: 0; bottom: 0; width: clamp(28px, 6vw, 100px); pointer-events: none; }
.portfolio-reel-fade-left { left: 0; background: linear-gradient(90deg, #f3efeb 0%, rgb(243 239 235 / 0%) 100%); }
.portfolio-reel-fade-right { right: 0; background: linear-gradient(270deg, #f3efeb 0%, rgb(243 239 235 / 0%) 100%); }
.portfolio-reel-footer { display: flex; padding-top: 1.2rem; align-items: center; justify-content: space-between; gap: 1rem; border-top: 1px solid #d8d0ca; }
.portfolio-reel-footer p { margin: 0; color: var(--muted); font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .12em; }
.portfolio-reel-footer a { color: var(--rosewood); font-weight: 800; }
.portfolio-reel-footer a:hover { color: var(--rosewood-dark); }
.portfolio-statement { padding: clamp(4rem, 7vw, 6.5rem) 0; background: #fff; }
.portfolio-statement-grid { display: grid; grid-template-columns: 1.15fr .65fr; align-items: end; gap: clamp(3rem, 8vw, 8rem); }
.portfolio-statement-grid h2 { max-width: 850px; margin-bottom: 0; }
.portfolio-statement-copy { padding-left: 1.7rem; border-left: 2px solid var(--rosewood); }
.portfolio-statement-copy p { color: var(--muted); }
.portfolio-principles { display: grid; margin-top: clamp(3rem, 6vw, 5rem); grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.portfolio-principles > div { padding: 1.6rem 1.5rem; border-right: 1px solid var(--line); transition: color .25s ease, background .25s ease; }
.portfolio-principles > div:first-child { padding-left: 20px; }
.portfolio-principles > div:last-child { border-right: 0; }
.portfolio-principles > div:hover { color: #fff; background: var(--rosewood); }
.portfolio-principles span { display: block; margin-bottom: 1.8rem; color: var(--rosewood); font-size: .72rem; font-weight: 850; letter-spacing: .15em; }
.portfolio-principles strong { display: block; font-family: Georgia, "Times New Roman", serif; font-size: 1.45rem; }
.portfolio-principles p { margin: .45rem 0 0; color: var(--muted); font-size: .9rem; }
.portfolio-principles > div:hover span, .portfolio-principles > div:hover p { color: rgb(255 255 255 / 75%); }
.portfolio-cta { padding: clamp(3.75rem, 7vw, 6rem) 0; color: #fff; background: var(--rosewood); }
.portfolio-cta-grid { display: grid; grid-template-columns: 1fr .7fr; align-items: center; gap: clamp(3rem, 8vw, 8rem); }
.portfolio-cta .eyebrow { color: #e8c09a; }
.portfolio-cta h2 { max-width: 780px; margin-bottom: 0; }
.portfolio-cta-grid > div:last-child > p { color: rgb(255 255 255 / 75%); }
.portfolio-cta-actions { display: flex; margin-top: 1.5rem; align-items: center; flex-wrap: wrap; gap: 1.4rem; }
.portfolio-cta-actions > a:last-child { color: #fff; font-weight: 800; }
.portfolio-cta-actions > a:last-child:hover { color: #e8c09a; }
.portfolio-preview { max-width: 100vw; max-height: 100vh; padding: 1rem; overflow: visible; border: 0; background: transparent; }
.portfolio-preview[open] { display: grid; place-items: center; }
.portfolio-preview::backdrop { background: rgb(14 9 10 / 93%); backdrop-filter: blur(7px); }
.portfolio-preview img { display: block; width: auto; height: auto; max-width: min(640px, calc(100vw - 2rem)); max-height: calc(100vh - 2rem); object-fit: contain; border-radius: 5px; box-shadow: 0 35px 90px rgb(0 0 0 / 55%); }
.portfolio-preview-close { position: fixed; z-index: 2; top: 1.25rem; right: 1.25rem; display: grid; width: 48px; height: 48px; padding: 0; place-items: center; border: 1px solid rgb(255 255 255 / 38%); border-radius: 50%; color: #fff; background: rgb(0 0 0 / 38%); cursor: pointer; font-size: 1.7rem; line-height: 1; transition: color .2s ease, background .2s ease, transform .2s ease; }
.portfolio-preview-close:hover { color: var(--rosewood-dark); background: #fff; transform: rotate(8deg); }

@media (max-width: 1040px) {
  .portfolio-hero-copy { width: 62%; }
  .portfolio-hero-wall { right: -17vw; width: 78vw; }
  .portfolio-hero h1 { font-size: clamp(4rem, 8.2vw, 6.4rem); }
  .portfolio-cover-item img { height: clamp(460px, 51vw, 570px); }
}

@media (max-width: 820px) {
  .portfolio-hero { display: block; min-height: auto; }
  .portfolio-hero::after { top: 40%; right: 0; bottom: auto; left: 0; width: 100%; height: 22%; background: linear-gradient(180deg, #f8f6f3 0%, rgb(248 246 243 / 0%) 100%); }
  .portfolio-hero-copy { width: 100%; padding: 4rem 1rem 2.5rem; }
  .portfolio-hero h1 { font-size: clamp(3.8rem, 13vw, 6rem); }
  .portfolio-hero-wall { position: relative; top: auto; right: auto; width: 115%; height: 570px; margin-left: 8%; transform: rotate(-2deg); }
  .portfolio-showcase-heading { align-items: flex-start; flex-direction: column; }
  .portfolio-cover-item img { height: 500px; }
  .portfolio-statement-grid, .portfolio-cta-grid { grid-template-columns: 1fr; }
  .portfolio-statement-copy { max-width: 640px; }
}

@media (max-width: 560px) {
  .portfolio-hero-copy { padding: 3.25rem .625rem 2rem; }
  .portfolio-hero-eyebrow { margin-bottom: 1.6rem; font-size: .7rem; letter-spacing: .2em; }
  .portfolio-hero h1 { font-size: clamp(3.4rem, 15vw, 4.8rem); }
  .portfolio-hero-description { font-size: 1rem; }
  .portfolio-hero-actions { align-items: flex-start; flex-direction: column; }
  .portfolio-hero-formats { font-size: .63rem; letter-spacing: .14em; }
  .portfolio-hero-wall { width: 155%; height: 450px; margin-left: 15%; gap: .6rem; }
  .portfolio-hero-column { gap: .6rem; }
  .portfolio-hero-column img { border-radius: 4px; }
  .portfolio-showcase { padding-top: 3.5rem; }
  .portfolio-reel-controls button { min-width: 44px; height: 44px; }
  .portfolio-reel-viewport { padding: 1.4rem 0 2.7rem; }
  .portfolio-reel-set { gap: .85rem; padding-right: .85rem; }
  .portfolio-cover-item img { height: min(112vw, 470px); }
  .portfolio-cover-item:nth-child(4n + 1) { transform: translateY(10px); }
  .portfolio-cover-item:nth-child(4n + 2) { transform: translateY(-7px); }
  .portfolio-cover-item:nth-child(4n + 3) { transform: translateY(18px); }
  .portfolio-reel-fade { width: 25px; }
  .portfolio-reel-footer { align-items: flex-start; flex-direction: column; }
  .portfolio-principles { grid-template-columns: 1fr; }
  .portfolio-principles > div, .portfolio-principles > div:first-child { padding: 1.35rem .5rem; border-right: 0; border-bottom: 1px solid var(--line); }
  .portfolio-principles > div:last-child { border-bottom: 0; }
  .portfolio-principles span { margin-bottom: .75rem; }
  .portfolio-cta-actions { align-items: flex-start; flex-direction: column; }
}

/* BLOG PAGE */

.blog-hero { padding: clamp(3.5rem, 6vw, 5.5rem) 0; border-bottom: 1px solid var(--line); background: linear-gradient(115deg, #fff 0 47%, var(--soft) 47%); }
.blog-hero-grid { display: grid; grid-template-columns: .75fr 1.25fr; align-items: center; gap: clamp(3rem, 7vw, 6rem); }
.blog-hero-copy h1 { max-width: 690px; font-size: clamp(3.5rem, 6vw, 6rem); }
.blog-hero-copy h1 em { display: block; color: var(--rosewood); font-weight: inherit; }
.blog-hero-copy > p:not(.eyebrow) { max-width: 570px; color: var(--muted); font-size: 1.08rem; }
.blog-featured { overflow: hidden; border-radius: var(--radius); background: #fff; box-shadow: var(--shadow); }
.blog-featured-image { display: block; overflow: hidden; }
.blog-featured-image img { width: 100%; height: clamp(300px, 31vw, 440px); object-fit: cover; transition: transform .55s ease; }
.blog-featured:hover .blog-featured-image img { transform: scale(1.035); }
.blog-featured-content { padding: clamp(1.4rem, 3vw, 2.2rem); }
.blog-meta { display: flex; margin-bottom: .8rem; align-items: center; flex-wrap: wrap; gap: .55rem 1rem; color: var(--muted); font-size: .72rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.blog-meta span { color: var(--rosewood); }
.blog-featured h2 { margin-bottom: .8rem; font-size: clamp(1.8rem, 3vw, 2.8rem); line-height: 1.08; }
.blog-featured h2 a:hover { color: var(--rosewood); }
.blog-featured-content > p { color: var(--muted); }
.blog-articles { background: #fff; }
.blog-section-heading { display: grid; margin-bottom: 2.3rem; grid-template-columns: 1.1fr .7fr; align-items: end; gap: clamp(2rem, 6vw, 6rem); }
.blog-section-heading h2 { max-width: 780px; margin-bottom: 0; }
.blog-section-heading > p { max-width: 500px; margin-bottom: 0; color: var(--muted); }
.blog-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: clamp(1.25rem, 3vw, 2.2rem); }
.blog-card { overflow: hidden; border: 1px solid var(--line); background: #fff; transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease; }
.blog-card:hover { border-color: rgb(117 47 53 / 42%); box-shadow: var(--shadow); transform: translateY(-6px); }
.blog-card-image { display: block; overflow: hidden; }
.blog-card-image img { width: 100%; height: clamp(260px, 27vw, 390px); object-fit: cover; transition: transform .5s ease; }
.blog-card:hover .blog-card-image img { transform: scale(1.04); }
.blog-card-content { padding: clamp(1.25rem, 3vw, 2rem); }
.blog-card h3 { margin-bottom: .8rem; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.45rem, 2.3vw, 2rem); line-height: 1.15; }
.blog-card h3 a:hover { color: var(--rosewood); }
.blog-card-content > p { color: var(--muted); }
.blog-read-link { display: inline-flex; margin-top: .5rem; align-items: center; gap: .55rem; color: var(--rosewood); font-weight: 800; }
.blog-read-link span { transition: transform .2s ease; }
.blog-read-link:hover span { transform: translateX(4px); }
.blog-topics { padding: clamp(3.75rem, 7vw, 6rem) 0; color: #fff; background: #211b1b; }
.blog-topics-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(3rem, 8vw, 8rem); }
.blog-topics .eyebrow { color: #e4b98e; }
.blog-topic-list { border-top: 1px solid rgb(255 255 255 / 17%); }
.blog-topic-list a { display: grid; padding: 1.35rem .75rem; grid-template-columns: 55px .7fr 1fr; align-items: center; gap: 1rem; border-bottom: 1px solid rgb(255 255 255 / 17%); transition: padding-left .2s ease, background .2s ease; }
.blog-topic-list a:hover { padding-left: 1.2rem; background: rgb(255 255 255 / 5%); }
.blog-topic-list span { color: #e4b98e; font-size: .72rem; font-weight: 850; }
.blog-topic-list strong { font-family: Georgia, "Times New Roman", serif; font-size: 1.3rem; }
.blog-topic-list small { color: #aaa19f; font-size: .85rem; }
.blog-cta { padding: clamp(3.75rem, 7vw, 6rem) 0; color: #fff; background: var(--rosewood); }
.blog-cta-grid { display: grid; grid-template-columns: 1fr .7fr; align-items: center; gap: clamp(3rem, 8vw, 8rem); }
.blog-cta .eyebrow { color: #e8c09a; }
.blog-cta h2 { max-width: 790px; margin-bottom: 0; }
.blog-cta-grid > div:last-child > p { color: rgb(255 255 255 / 75%); }
.blog-cta-actions { display: flex; margin-top: 1.5rem; align-items: center; flex-wrap: wrap; gap: 1.4rem; }
.blog-cta-actions > a:last-child { color: #fff; font-weight: 800; }
.blog-cta-actions > a:last-child:hover { color: #e8c09a; }

@media (max-width: 820px) {
  .blog-hero { background: linear-gradient(180deg, #fff 0 44%, var(--soft) 44%); }
  .blog-hero-grid, .blog-section-heading, .blog-topics-grid, .blog-cta-grid { grid-template-columns: 1fr; }
  .blog-grid { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .blog-hero { padding: 3rem 0; }
  .blog-hero-copy h1 { font-size: clamp(3.25rem, 14vw, 4.6rem); }
  .blog-featured-image img { height: 280px; }
  .blog-card-image img { height: 255px; }
  .blog-topic-list a { grid-template-columns: 40px 1fr; }
  .blog-topic-list small { grid-column: 2; }
  .blog-cta-actions { align-items: flex-start; flex-direction: column; }
}

/* BLOG INNER PAGES */

.article-hero { padding: clamp(3.75rem, 7vw, 6.5rem) 0 clamp(3rem, 6vw, 5rem); background: linear-gradient(135deg, #fff 0%, var(--soft) 100%); }
.article-hero-inner { max-width: 1050px; text-align: center; }
.article-hero .breadcrumbs { justify-content: center; }
.article-meta { display: flex; margin: 2rem 0 1.25rem; align-items: center; justify-content: center; flex-wrap: wrap; gap: .6rem 1.2rem; color: var(--muted); font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.article-meta span:first-child { color: var(--rosewood); }
.article-meta > * + * { position: relative; }
.article-meta > * + *::before { position: absolute; top: 50%; left: -.75rem; width: 4px; height: 4px; border-radius: 50%; background: var(--gold); content: ""; transform: translateY(-50%); }
.article-hero h1 { max-width: 1050px; margin-inline: auto; font-size: clamp(3rem, 6vw, 6.25rem); line-height: .98; }
.article-summary { max-width: 780px; margin: 1.4rem auto 0; color: var(--muted); font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.15rem, 2vw, 1.45rem); line-height: 1.55; }
.article-featured-image { margin-top: clamp(-2rem, -3vw, -3.5rem); }
.article-featured-image img { width: 100%; max-height: 670px; object-fit: cover; border-radius: var(--radius); box-shadow: var(--shadow); }
.article-layout { display: grid; padding-top: clamp(3.5rem, 7vw, 6rem); padding-bottom: clamp(4rem, 8vw, 7rem); grid-template-columns: 245px minmax(0, 790px); justify-content: center; gap: clamp(3rem, 7vw, 6.5rem); }
.article-sidebar { position: sticky; top: 105px; align-self: start; }
.article-contents { display: grid; padding: 1.3rem 0; gap: .25rem; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.article-contents > p { margin: 0 0 .65rem; color: var(--ink); font-size: .74rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.article-contents a { padding: .35rem 0; color: var(--muted); font-size: .81rem; line-height: 1.4; transition: color .2s ease, padding-left .2s ease; }
.article-contents a:hover { padding-left: .35rem; color: var(--rosewood); }

.article-sidebar-cta { position:relative; overflow:hidden; margin-top:1.5rem; padding:2rem; color:#fff; background:linear-gradient(145deg,#752f35 0%,#4e1d22 100%); border-radius:18px; box-shadow:0 18px 45px rgba(71,25,30,.18); }
.article-sidebar-cta::after { content:""; position:absolute; right:-55px; bottom:-65px; width:150px; height:150px; border:1px solid rgba(255,255,255,.16); border-radius:50%; box-shadow:0 0 0 25px rgba(255,255,255,.035),0 0 0 50px rgba(255,255,255,.025); pointer-events:none; }
.article-sidebar-cta .article-cta-number { display:block; margin-bottom:2.25rem; color:rgba(255,255,255,.28); font-family:Georgia,"Times New Roman",serif; font-size:3rem; line-height:1; }
.article-sidebar-cta .eyebrow { margin:0 0 .8rem; color:#f0c796; font-size:.76rem; font-weight:800; line-height:1.4; letter-spacing:.16em; text-transform:uppercase; }
.article-sidebar-cta h2 { position:relative; z-index:1; margin:0 0 1rem; color:#fff; font-family:Georgia,"Times New Roman",serif; font-size:clamp(1.75rem,2vw,2.35rem); font-weight:500; line-height:1.08; letter-spacing:-.025em; overflow-wrap:normal; word-break:normal; }
.article-sidebar-cta p:not(.eyebrow) { position:relative; z-index:1; margin:0 0 1.6rem; color:rgba(255,255,255,.78); font-size:1rem; line-height:1.7; }
.article-sidebar-cta a { position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:1rem; width:100%; padding:1rem 1.1rem; color:#752f35; background:#fff; border-radius:10px; font-size:.94rem; font-weight:800; line-height:1.2; text-decoration:none; transition:transform .25s ease,background-color .25s ease; }
.article-sidebar-cta a span { font-size:1.25rem; transition:transform .25s ease; }
.article-sidebar-cta a:hover { color:#752f35; background:#f8eee9; transform:translateY(-2px); }
.article-sidebar-cta a:hover span { transform:translateX(4px); }

.article-cta { position:relative; isolation:isolate; overflow:hidden; display:grid; grid-template-columns:minmax(0,1.45fr) minmax(250px,.55fr); align-items:center; gap:clamp(2rem,5vw,5rem); margin:4rem 0 2rem; padding:clamp(2.5rem,5vw,4.5rem); color:#fff; background:linear-gradient(125deg,#752f35 0%,#65272d 55%,#40171b 100%); border-radius:22px; box-shadow:0 24px 60px rgba(72,25,30,.2); }
.article-cta::before { content:""; position:absolute; z-index:-1; top:-120px; right:-100px; width:340px; height:340px; border:1px solid rgba(255,255,255,.12); border-radius:50%; box-shadow:0 0 0 45px rgba(255,255,255,.025),0 0 0 90px rgba(255,255,255,.02); }
.article-cta::after { content:""; position:absolute; z-index:-1; left:0; bottom:0; width:45%; height:3px; background:#e6b778; }
.article-cta-copy { max-width:760px; }
.article-cta .eyebrow { margin:0 0 1rem; color:#f0c796; font-size:.78rem; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
.article-cta h2 { margin:0 0 1.2rem; color:#fff; font-family:Georgia,"Times New Roman",serif; font-size:clamp(2.25rem,4vw,4.25rem); font-weight:500; line-height:1.02; letter-spacing:-.04em; }
.article-cta-copy > p:last-child { max-width:680px; margin:0; color:rgba(255,255,255,.8); font-size:1.08rem; line-height:1.75; }
.article-cta-action { position:relative; display:flex; flex-direction:column; align-items:flex-start; gap:1rem; padding-left:clamp(1.5rem,3vw,3rem); border-left:1px solid rgba(255,255,255,.2); }
.article-cta-action > span { color:#f0c796; font-size:.78rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.article-cta-action a { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; width:100%; padding:1.15rem 1.25rem; color:#752f35; background:#fff; border-radius:10px; font-size:.96rem; font-weight:800; line-height:1.2; text-decoration:none; box-shadow:0 12px 30px rgba(31,8,11,.16); transition:transform .25s ease,background-color .25s ease; }
.article-cta-action a span { font-size:1.35rem; transition:transform .25s ease; }
.article-cta-action a:hover { color:#752f35; background:#f8eee9; transform:translateY(-3px); }
.article-cta-action a:hover span { transform:translateX(5px); }

@media (max-width:900px) {
.article-cta { grid-template-columns:1fr; gap:2rem; }
.article-cta-action { padding:1.75rem 0 0; border-top:1px solid rgba(255,255,255,.2); border-left:0; }
}

@media (max-width:600px) {
.article-sidebar-cta { padding:1.6rem; border-radius:14px; }
.article-sidebar-cta .article-cta-number { margin-bottom:1.5rem; }
.article-cta { margin:3rem 0 1.5rem; padding:2rem 1.4rem; border-radius:16px; }
.article-cta h2 { font-size:clamp(2rem,10vw,2.8rem); }
.article-cta-action a { gap:.75rem; padding:1rem; }
}

.article-content { min-width: 0; color: #3f3a39; font-size: 1.05rem; line-height: 1.85; }
.article-content section { scroll-margin-top: 110px; }
.article-content section + section { margin-top: clamp(3rem, 6vw, 4.75rem); }
.article-content p { margin-bottom: 1.35rem; }
.article-content h2 { margin: .25rem 0 1.4rem; color: var(--ink); font-size: clamp(2.1rem, 4vw, 3.45rem); line-height: 1.08; }
.article-content h3 { margin: 2.25rem 0 .7rem; color: var(--ink); font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.35rem, 2.2vw, 1.7rem); }
.article-lead { color: var(--ink); font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.25rem, 2.2vw, 1.55rem); line-height: 1.6; }
.article-section-label { margin-bottom: .6rem !important; color: var(--rosewood); font-size: .72rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.article-content ul { display: grid; margin: 1.4rem 0 1.8rem; padding: 0; gap: .65rem; list-style: none; }
.article-content li { position: relative; padding-left: 1.65rem; }
.article-content li::before { position: absolute; top: .72em; left: 0; width: 6px; height: 6px; border-radius: 50%; background: var(--rosewood); content: ""; }
.article-callout { margin: clamp(2.5rem, 5vw, 4rem) 0; padding: clamp(1.5rem, 4vw, 2.5rem); border-left: 4px solid var(--rosewood); background: var(--soft); }
.article-callout span { display: block; margin-bottom: .65rem; color: var(--rosewood); font-size: .7rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.article-callout p { margin: 0; color: var(--ink); font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.3rem, 2.4vw, 1.8rem); line-height: 1.45; }
.article-end { display: flex; margin-top: clamp(3rem, 6vw, 5rem); padding-top: 1.5rem; align-items: center; justify-content: space-between; gap: 1rem; border-top: 1px solid var(--line); color: var(--muted); font-size: .84rem; }
.article-end p { margin: 0; }
.article-end a { color: var(--rosewood); font-weight: 800; }
.article-cta { padding: clamp(3.75rem, 7vw, 6rem) 20px; color: #fff; background: var(--rosewood); }
.article-cta-grid { display: grid; grid-template-columns: 1fr .7fr; align-items: center; gap: clamp(3rem, 8vw, 8rem); }
.article-cta .eyebrow { color: #e8c09a; }
.article-cta h2 { max-width: 780px; margin-bottom: 0; }
.article-cta-grid > div:last-child > p { color: rgb(255 255 255 / 75%); }
.article-cta-actions { display: flex; margin-top: 1.5rem; align-items: center; flex-wrap: wrap; gap: 1.4rem; }
.article-cta-actions > a:last-child { color: #fff; font-weight: 800; }
.article-cta-actions > a:last-child:hover { color: #e8c09a; }

@media (max-width: 820px) {
  .article-layout { grid-template-columns: 1fr; }
  .article-sidebar { position: static; }
  .article-contents { grid-template-columns: 1fr 1fr; column-gap: 1.5rem; }
  .article-contents > p { grid-column: 1 / -1; }
  /*.article-sidebar-cta { display: none; }*/
  .article-cta-grid { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .article-hero { padding: 3rem 0 4rem; }
  .article-hero h1 { font-size: clamp(2.8rem, 13vw, 4.25rem); }
  .article-meta { align-items: flex-start; flex-direction: column; }
  .article-meta > * + *::before { display: none; }
  .article-featured-image { margin-top: -2rem; }
  .article-featured-image img { min-height: 265px; }
  .article-layout { padding-top: 3.5rem; }
  .article-contents { grid-template-columns: 1fr; }
  .article-content { font-size: 1rem; }
  .article-end { align-items: flex-start; flex-direction: column; }
  .article-cta-actions { align-items: flex-start; flex-direction: column; }
}

/* Ghostwriting Page */
.gw-hero { position:relative; overflow:hidden; min-height:720px; color:#fff; background:linear-gradient(115deg,#321518 0%,#752f35 58%,#8d4248 100%); }
.gw-hero::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 83% 25%,rgba(255,255,255,.13),transparent 32%),linear-gradient(90deg,rgba(0,0,0,.12),transparent 55%); pointer-events:none; }
.gw-hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr); align-items:center; gap:clamp(3rem,7vw,7rem); min-height:720px; padding-top:4rem; padding-bottom:4rem; }
.gw-breadcrumbs { color:rgba(255,255,255,.68); }
.gw-breadcrumbs a { color:rgba(255,255,255,.82); }
.gw-breadcrumbs a:hover { color:#fff; }
.gw-hero-copy .eyebrow { color:#f0c796; }
.gw-hero-copy h1 { max-width:830px; margin:.8rem 0 1.5rem; color:#fff; font-size:clamp(3.5rem,6vw,6.8rem); line-height:.92; letter-spacing:-.055em; }
.gw-hero-copy h1 em { display:block; color:#f0c796; font-weight:inherit; }
.gw-hero-text { max-width:690px; margin:0; color:rgba(255,255,255,.8); font-size:clamp(1.05rem,1.5vw,1.22rem); line-height:1.75; }
.gw-hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:1.5rem; margin-top:2rem; }
.gw-hero .btn-primary { color:#752f35; background:#fff; border-color:#fff; padding:10px; }
.gw-hero .btn-primary:hover { color:#752f35; background:#f7e9df; border-color:#f7e9df; }
.gw-text-link { display:inline-flex; align-items:center; gap:.65rem; color:#fff; font-weight:700; text-decoration:none; }
.gw-text-link span { font-size:1.25rem; transition:transform .25s ease; }
.gw-text-link:hover { color:#f0c796; }
.gw-text-link:hover span { transform:translateX(5px); }
.gw-hero-points { display:flex; flex-wrap:wrap; gap:.7rem 1.5rem; margin:2rem 0 0; padding:0; list-style:none; }
.gw-hero-points li { position:relative; padding-left:1.15rem; color:rgba(255,255,255,.78); font-size:.9rem; }
.gw-hero-points li::before { content:""; position:absolute; top:.52em; left:0; width:6px; height:6px; background:#f0c796; border-radius:50%; }
.gw-hero-media { position:relative; display:flex; align-items:center; justify-content:center; min-height:550px; }
.gw-hero-image { position:relative; z-index:1; width:min(100%,570px); }
.gw-hero-image::before { content:""; position:absolute; inset:8% 3% 2%; z-index:-1; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.15); border-radius:48% 48% 18px 18px; transform:rotate(4deg); }
.gw-hero-image img { display:block; width:100%; height:auto; filter:drop-shadow(0 30px 35px rgba(23,5,8,.32)); }
.gw-hero-note { position:absolute; z-index:2; right:0; bottom:-3rem; max-width:275px; padding:1.15rem 1.25rem; color:#2c1517; background:rgba(255,255,255,.94); border-radius:12px; box-shadow:0 18px 45px rgba(28,6,9,.2); backdrop-filter:blur(8px); }
.gw-hero-note strong,.gw-hero-note span { display:block; }
.gw-hero-note strong { margin-bottom:.35rem; font-family:Georgia,"Times New Roman",serif; font-size:1.1rem; }
.gw-hero-note span { color:#6c595b; font-size:.84rem; line-height:1.55; }
.gw-trust { color:#fff; background:#752f35; border-top:1px solid rgba(255,255,255,.16); }
.gw-trust-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.gw-trust-grid > div { min-height:140px; padding:2.2rem clamp(1rem,2.5vw,2.3rem); border-right:1px solid rgba(255,255,255,.16); }
.gw-trust-grid > div:first-child { border-left:1px solid rgba(255,255,255,.16); }
.gw-trust-grid strong,.gw-trust-grid span { display:block; }
.gw-trust-grid strong { margin-bottom:.55rem; font-family:Georgia,"Times New Roman",serif; font-size:1.35rem; }
.gw-trust-grid span { color:rgba(255,255,255,.7); font-size:.9rem; line-height:1.55; }
.gw-intro-grid { display:grid; grid-template-columns:minmax(350px,.9fr) minmax(0,1.1fr); align-items:center; gap:clamp(3rem,7vw,7rem); }
.gw-intro-media { position:relative; margin:0; }
.gw-intro-media img { display:block; width:100%; aspect-ratio:1/1; object-fit:cover; border-radius:18px; box-shadow:0 22px 55px rgba(54,24,27,.16); }
.gw-intro-media figcaption { position:absolute; right:-2rem; bottom:-4rem; max-width:275px; padding:1.15rem 1.3rem; color:#fff; background:#752f35; border-radius:12px; box-shadow:0 16px 38px rgba(54,24,27,.22); }
.gw-intro-media strong,.gw-intro-media span { display:block; }
.gw-intro-media strong { margin-bottom:.35rem; font-family:Georgia,"Times New Roman",serif; font-size:1.1rem; }
.gw-intro-media span { color:rgba(255,255,255,.74); font-size:.84rem; line-height:1.5; }
.gw-intro-copy h2 { max-width:780px; margin:.7rem 0 1.4rem; font-size:clamp(2.5rem,4.6vw,5rem); line-height:1; letter-spacing:-.045em; }
.gw-intro-copy > p:not(.eyebrow) { color:var(--muted); font-size:1.05rem; line-height:1.8; }
.gw-intro-list { display:grid; grid-template-columns:repeat(2,1fr); gap:.75rem; margin:1.7rem 0; }
.gw-intro-list span { position:relative; padding:.9rem .9rem .9rem 2.2rem; background:var(--soft); border:1px solid var(--line); border-radius:8px; font-size:.9rem; font-weight:700; }
.gw-intro-list span::before { content:"✓"; position:absolute; left:.85rem; color:#752f35; }
.gw-arrow-link { display:inline-flex; align-items:center; gap:.7rem; color:#752f35; font-weight:800; text-decoration:none; }
.gw-arrow-link span { font-size:1.25rem; transition:transform .25s ease; }
.gw-arrow-link:hover span { transform:translateX(5px); }
.gw-services { background:var(--soft); }
.gw-section-heading { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(300px,.55fr); align-items:end; gap:3rem; margin-bottom:3rem; }
.gw-section-heading h2 { max-width:800px; margin:.7rem 0 0; font-size:clamp(2.6rem,5vw,5.2rem); line-height:.98; letter-spacing:-.045em; }
.gw-section-heading > p { margin:0 0 .3rem; color:var(--muted); font-size:1rem; line-height:1.75; }
.gw-service-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.gw-service-card { position:relative; overflow:hidden; min-height:270px; padding:2rem; background:#fff; border-right:1px solid var(--line); border-bottom:1px solid var(--line); transition:transform .3s ease,background-color .3s ease,box-shadow .3s ease; }
.gw-service-card > span { display:block; margin-bottom:3rem; color:#b59a9d; font-size:.76rem; font-weight:800; letter-spacing:.12em; }
.gw-service-card h3 { margin:0 0 .8rem; font-family:Georgia,"Times New Roman",serif; font-size:1.5rem; line-height:1.15; }
.gw-service-card p { margin:0; color:var(--muted); font-size:.92rem; line-height:1.7; }
.gw-service-card:hover { z-index:1; color:#fff; background:#752f35; box-shadow:0 20px 45px rgba(77,28,34,.16); transform:translateY(-6px); }
.gw-service-card:hover > span,.gw-service-card:hover p { color:rgba(255,255,255,.72); }
.gw-genres { color:#fff; background:linear-gradient(130deg,#351719,#752f35); }
.gw-genres-grid { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); align-items:center; gap:clamp(3rem,8vw,8rem); }
.gw-genres .eyebrow { color:#f0c796; }
.gw-genres h2 { max-width:620px; margin:.7rem 0 1.3rem; color:#fff; font-size:clamp(2.7rem,5vw,5rem); line-height:.98; letter-spacing:-.045em; }
.gw-genres-copy > p:not(.eyebrow) { max-width:600px; margin-bottom:1.8rem; color:rgba(255,255,255,.74); line-height:1.75; }
.gw-genre-list { display:flex; flex-wrap:wrap; gap:.8rem; }
.gw-genre-list span { padding:.9rem 1.2rem; color:#fff; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.2); border-radius:100px; font-size:.9rem; transition:background-color .25s ease,transform .25s ease; }
.gw-genre-list span:hover { background:rgba(255,255,255,.15); transform:translateY(-3px); }
.gw-process-list { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid var(--line); }
.gw-process-step { display:grid; grid-template-columns:75px 1fr; gap:1.25rem; padding:2.3rem 2rem 2.3rem 0; border-bottom:1px solid var(--line); }
.gw-process-step:nth-child(odd) { padding-right:3rem; border-right:1px solid var(--line); }
.gw-process-step:nth-child(even) { padding-left:3rem; }
.gw-process-step > span { color:#752f35; font-family:Georgia,"Times New Roman",serif; font-size:2rem; }
.gw-process-step h3 { margin:0 0 .6rem; font-family:Georgia,"Times New Roman",serif; font-size:1.55rem; }
.gw-process-step p { margin:0; color:var(--muted); line-height:1.7; }
.gw-benefits { background:var(--soft); }
.gw-benefits-grid { display:grid; grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr); gap:clamp(3rem,8vw,8rem); }
.gw-benefits-heading { position:sticky; top:130px; align-self:start; }
.gw-benefits-heading h2 { margin:.7rem 0 0; font-size:clamp(2.6rem,4.5vw,4.8rem); line-height:1; letter-spacing:-.045em; }
.gw-benefits-list { border-top:1px solid var(--line); }
.gw-benefits-list article { display:grid; grid-template-columns:65px 1fr; gap:1.2rem; padding:2rem 0; border-bottom:1px solid var(--line); }
.gw-benefits-list article > span { color:#752f35; font-size:.78rem; font-weight:800; letter-spacing:.12em; }
.gw-benefits-list h3 { margin:0 0 .55rem; font-family:Georgia,"Times New Roman",serif; font-size:1.5rem; }
.gw-benefits-list p { margin:0; color:var(--muted); line-height:1.7; }
.gw-faq-grid { display:grid; grid-template-columns:minmax(300px,.7fr) minmax(0,1.3fr); gap:clamp(3rem,8vw,8rem); }
.gw-faq-heading { align-self:start; }
.gw-faq-heading h2 { margin:.7rem 0 1rem; font-size:clamp(2.6rem,4.5vw,4.8rem); line-height:1; letter-spacing:-.045em; }
.gw-faq-heading > p:not(.eyebrow) { color:var(--muted); line-height:1.7; }
.gw-faq-list { border-top:1px solid var(--line); }
.gw-faq-list details { border-bottom:1px solid var(--line); }
.gw-faq-list summary { position:relative; padding:1.45rem 3rem 1.45rem 0; cursor:pointer; list-style:none; font-family:Georgia,"Times New Roman",serif; font-size:1.25rem; font-weight:700; }
.gw-faq-list summary::-webkit-details-marker { display:none; }
.gw-faq-list summary::after { content:"+"; position:absolute; top:1.2rem; right:0; color:#752f35; font-family:Arial,sans-serif; font-size:1.7rem; font-weight:400; transition:transform .25s ease; }
.gw-faq-list details[open] summary::after { transform:rotate(45deg); }
.gw-faq-list details p { max-width:760px; margin:0; padding:0 3rem 1.5rem 0; color:var(--muted); line-height:1.75; }
.gw-final-cta { overflow:hidden; padding:clamp(3.5rem,7vw,6rem) 0; color:#fff; background:#752f35; }
.gw-final-cta-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(300px,.55fr); align-items:center; gap:clamp(3rem,8vw,8rem); }
.gw-final-cta .eyebrow { color:#f0c796; }
.gw-final-cta h2 { max-width:850px; margin:.7rem 0 0; color:#fff; font-size:clamp(2.7rem,5vw,5.3rem); line-height:.96; letter-spacing:-.05em; }
.gw-final-cta-grid > div:last-child > p { margin:0 0 1.6rem; color:rgba(255,255,255,.75); line-height:1.75; }
.gw-final-actions { display:flex; align-items:center; flex-wrap:wrap; gap:1.4rem; }
.gw-final-actions > a:last-child { color:#fff; font-weight:800; text-decoration:none; }
.gw-final-actions > a:last-child:hover { color:#f0c796; }

@media (max-width:1050px) {
.gw-hero-grid { grid-template-columns:1fr 400px; }
.gw-service-grid { grid-template-columns:repeat(2,1fr); }
.gw-trust-grid { grid-template-columns:repeat(2,1fr); }
.gw-trust-grid > div:nth-child(3) { border-left:1px solid rgba(255,255,255,.16); }
}

@media (max-width:800px) {
.gw-hero { min-height:auto; }
.gw-hero-grid,.gw-intro-grid,.gw-genres-grid,.gw-benefits-grid,.gw-faq-grid,.gw-final-cta-grid { grid-template-columns:1fr; }
.gw-hero-grid { min-height:auto; padding-top:3rem; }
.gw-hero-media { min-height:430px; }
.gw-hero-image { width:min(90%,480px); }
.gw-section-heading { grid-template-columns:1fr; gap:1.2rem; }
.gw-process-list { grid-template-columns:1fr; }
.gw-process-step:nth-child(odd),.gw-process-step:nth-child(even) { padding:2rem 0; border-right:0; }
.gw-benefits-heading { position:static; }
.gw-intro-media figcaption { right:1rem; }
}

@media (max-width:550px) {
.gw-hero-copy h1 { font-size:clamp(3rem,15vw,4.4rem); }
.gw-hero-media { min-height:350px; }
.gw-hero-note { right:0; bottom:0; max-width:225px; }
.gw-trust-grid,.gw-service-grid { grid-template-columns:1fr; }
.gw-trust-grid > div,.gw-trust-grid > div:first-child,.gw-trust-grid > div:nth-child(3) { min-height:auto; padding:1.4rem 0; border-right:0; border-left:0; border-bottom:1px solid rgba(255,255,255,.16); }
.gw-intro-list { grid-template-columns:1fr; }
.gw-intro-media figcaption { position:relative; right:auto; bottom:auto; max-width:none; margin:-2rem 1rem 0; }
.gw-service-card { min-height:auto; }
.gw-service-card > span { margin-bottom:2rem; }
.gw-process-step { grid-template-columns:48px 1fr; }
.gw-benefits-list article { grid-template-columns:42px 1fr; }
}

/* Header Services Dropdown */
.primary-nav { overflow:visible; }

/* =========================================================
   SIMPLE RESPONSIVE SERVICES MENU
   ========================================================= */

.header-inner { position:relative; }

.nav-dropdown { position:relative; }

.nav-dropdown-trigger { display:flex; align-items:center; }

.nav-dropdown-trigger > a { display:flex; align-items:center; min-height:44px; }

.nav-dropdown-toggle { display:grid; width:28px; height:44px; padding:0; place-items:center; border:0; color:inherit; background:transparent; cursor:pointer; }

.nav-dropdown-toggle svg { width:11px; height:7px; fill:none; stroke:currentColor; stroke-width:1.8; transition:transform .2s ease; }

.nav-dropdown.is-open .nav-dropdown-toggle svg { transform:rotate(180deg); }

#primary-nav .nav-dropdown-menu { position:absolute; top:calc(100% + 0px); left:50%; z-index:1000; display:grid; width:270px; padding:7px; border:1px solid #e4d9d4; border-radius:10px; visibility:hidden; opacity:0; background:#fff; box-shadow:0 18px 45px rgba(48,30,27,.16); pointer-events:none; transform:translate(-50%, 8px); transition:opacity .18s ease, visibility .18s ease, transform .18s ease; }

#primary-nav .nav-dropdown-menu::before { position:absolute; top:-7px; left:50%; width:13px; height:13px; border-top:1px solid #e4d9d4; border-left:1px solid #e4d9d4; content:""; background:#fff; transform:translateX(-50%) rotate(45deg); }

#primary-nav .nav-dropdown:hover > .nav-dropdown-menu, #primary-nav .nav-dropdown:focus-within > .nav-dropdown-menu, #primary-nav .nav-dropdown.is-open > .nav-dropdown-menu { visibility:visible; opacity:1; pointer-events:auto; transform:translate(-50%, 0); }

#primary-nav .nav-dropdown-item { position:relative; z-index:1; display:flex; min-height:47px; align-items:center; justify-content:space-between; gap:1rem; padding:.72rem .85rem; border-bottom:1px solid #eee5e1; border-radius:5px; color:#2a2220; background:#fff; font-size:.91rem; font-weight:750; line-height:1.25; text-decoration:none; transition:color .18s ease, background-color .18s ease, padding-left .18s ease; }

#primary-nav .nav-dropdown-item:last-child { border-bottom:0; }

#primary-nav .nav-dropdown-item > span:last-child { color:#9b6652; font-size:1rem; transition:transform .18s ease; }

#primary-nav .nav-dropdown-item:hover, #primary-nav .nav-dropdown-item:focus-visible { color:#752f35; background:#f8f1ee; padding-left:1rem; outline:none; }

#primary-nav .nav-dropdown-item:hover > span:last-child, #primary-nav .nav-dropdown-item:focus-visible > span:last-child { transform:translateX(3px); }

@media (max-width:900px) {
    .primary-nav { position:fixed !important; top:68px !important; right:0 !important; bottom:0 !important; left:0 !important; z-index:999 !important; display:flex !important; width:100% !important; height:auto !important; max-height:calc(100dvh - 68px) !important; padding:12px 20px 32px !important; flex-direction:column !important; align-items:stretch !important; justify-content:flex-start !important; gap:0 !important; overflow-x:hidden !important; overflow-y:auto !important; visibility:hidden !important; opacity:0 !important; background:#fff !important; transform:translateX(100%) !important; transition:transform .25s ease, opacity .2s ease, visibility .2s ease !important; overscroll-behavior:contain; }
    .primary-nav.is-open { visibility:visible !important; opacity:1 !important; transform:translateX(0) !important; }
    #primary-nav > a { display:flex !important; width:100% !important; min-height:54px !important; align-items:center !important; padding:.8rem 0 !important; border-bottom:1px solid #eadfda !important; color:#28201e !important; font-size:1rem !important; }
    #primary-nav .nav-dropdown { display:block !important; width:100% !important; }
    #primary-nav .nav-dropdown-trigger { display:grid !important; grid-template-columns:1fr 48px !important; border-bottom:1px solid #eadfda !important; }
    #primary-nav .nav-dropdown-trigger > a { min-height:54px !important; padding:.8rem 0 !important; color:#28201e !important; font-size:1rem !important; font-weight:750 !important; text-decoration:none !important; }
    #primary-nav .nav-dropdown-toggle { width:48px !important; height:54px !important; justify-self:end !important; }
    #primary-nav .nav-dropdown-menu { position:static !important; display:none !important; width:100% !important; padding:5px 0 8px 14px !important; border:0 !important; border-radius:0 !important; visibility:visible !important; opacity:1 !important; background:#faf6f4 !important; box-shadow:none !important; pointer-events:auto !important; transform:none !important; }
    #primary-nav .nav-dropdown-menu::before { display:none !important; }
    #primary-nav .nav-dropdown.is-open > .nav-dropdown-menu { display:grid !important; }
    #primary-nav .nav-dropdown-item { min-height:45px !important; padding:.68rem .8rem !important; border-bottom:1px solid #eadfda !important; border-radius:0 !important; background:transparent !important; font-size:.9rem !important; }
    #primary-nav .nav-dropdown-item:hover, #primary-nav .nav-dropdown-item:focus-visible { padding-left:1rem !important; color:#752f35 !important; background:#f4e9e5 !important; }
}

@media (max-width:480px) {
    .primary-nav { padding-right:16px !important; padding-left:16px !important; }
}

/* Creative Writing Page */
.cw-page .gw-hero { background:linear-gradient(120deg,#281416 0%,#65282e 50%,#91454b 100%); }
.cw-page .gw-hero::after { content:""; position:absolute; right:-12%; bottom:-45%; width:600px; height:600px; border:1px solid rgba(255,255,255,.1); border-radius:50%; box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.018); pointer-events:none; }
.cw-hero-media { isolation:isolate; }
.cw-hero-image { width:min(82%,475px); }
.cw-hero-image::before { inset:6% -5% -2%; background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.035)); border-radius:48% 48% 20px 20px; transform:rotate(-4deg); }
.cw-word-card { position:absolute; z-index:2; display:grid; min-width:130px; min-height:74px; padding:1rem; place-items:center; color:#752f35; background:#fff; border-radius:12px; font-family:Georgia,"Times New Roman",serif; font-size:1.1rem; box-shadow:0 18px 38px rgba(28,6,9,.2); }
.cw-word-card-one { top:15%; left:-1rem; transform:rotate(-7deg); }
.cw-word-card-two { top:32%; right:-1rem; color:#fff; background:#752f35; transform:rotate(6deg); }
.cw-intro-media img { aspect-ratio:1/1.08; }
.cw-strength-grid { grid-template-columns:repeat(3,1fr); }
.cw-writing-section { background:linear-gradient(130deg,#281416 0%,#752f35 68%,#8c4147 100%); }
.cw-writing-section .gw-genres-grid { align-items:start; }
.cw-writing-list { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid rgba(255,255,255,.2); }
.cw-writing-list article { display:grid; grid-template-columns:42px 1fr; gap:.9rem; min-height:145px; padding:1.5rem; border-right:1px solid rgba(255,255,255,.2); border-bottom:1px solid rgba(255,255,255,.2); transition:background-color .25s ease,transform .25s ease; }
.cw-writing-list article:nth-child(even) { border-right:0; }
.cw-writing-list article:hover { background:rgba(255,255,255,.09); transform:translateY(-3px); }
.cw-writing-list article > span { color:#f0c796; font-size:.72rem; font-weight:800; letter-spacing:.1em; }
.cw-writing-list h3 { margin:0 0 .45rem; color:#fff; font-family:Georgia,"Times New Roman",serif; font-size:1.2rem; line-height:1.2; }
.cw-writing-list p { margin:0; color:rgba(255,255,255,.68); font-size:.85rem; line-height:1.6; }
.cw-benefits { background:#fbf7f5; }
.cw-final-cta { background:linear-gradient(120deg,#752f35 0%,#542126 100%); }

@media (max-width:1050px) {
.cw-strength-grid { grid-template-columns:repeat(2,1fr); }
.cw-word-card-one { left:0; }
.cw-word-card-two { right:0; }
}

@media (max-width:800px) {
.cw-word-card-one { top:12%; left:2%; }
.cw-word-card-two { top:28%; right:2%; }
.cw-writing-list { margin-top:1rem; }
}

@media (max-width:550px) {
.cw-strength-grid,.cw-writing-list { grid-template-columns:1fr; }
.cw-writing-list article,.cw-writing-list article:nth-child(even) { min-height:auto; padding:1.3rem 0; border-right:0; }
.cw-word-card { min-width:100px; min-height:60px; font-size:.9rem; }
.cw-word-card-one { left:0; }
.cw-word-card-two { right:0; }
}

/* Book Editing Page */
.editing-page .gw-hero { background:linear-gradient(118deg,#251416 0%,#63272d 53%,#874047 100%); }
.editing-page .gw-hero::after { content:""; position:absolute; right:-170px; bottom:-260px; width:580px; height:580px; border:1px solid rgba(255,255,255,.1); border-radius:50%; box-shadow:0 0 0 65px rgba(255,255,255,.025),0 0 0 130px rgba(255,255,255,.018); pointer-events:none; }
.editing-hero-image { width:min(92%,600px); }
.editing-hero-image::before { inset:5% 4% 4%; border-radius:50%; transform:rotate(0); }
.editing-hero-image img { filter:drop-shadow(0 28px 32px rgba(21,5,7,.3)); border-radius:10px; }
.editing-mark { position:absolute; z-index:2; display:flex; align-items:center; gap:.65rem; min-width:135px; padding:.8rem 1rem; color:#352022; background:#fff; border-radius:10px; box-shadow:0 15px 38px rgba(29,7,10,.22); }
.editing-mark span { font-size:.82rem; font-weight:800; }
.editing-mark strong { display:grid; width:23px; height:23px; margin-left:auto; place-items:center; color:#fff; background:#752f35; border-radius:50%; font-size:.7rem; }
.editing-mark-one { top:21%; left:-1rem; transform:rotate(-5deg); }
.editing-mark-two { top:28%; right:-1rem; transform:rotate(5deg); }
.editing-intro-media img { aspect-ratio:1/1.03; }
.editing-levels { background:#fff; }
.editing-level-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; align-items:stretch; }
.editing-level-card { position:relative; display:flex; flex-direction:column; overflow:hidden; min-height:560px; padding:2.35rem 2rem 2rem; color:var(--ink); background:#fff; border:1px solid var(--line); border-radius:18px; box-shadow:0 14px 38px rgba(65,24,29,.06); transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease; }
.editing-level-card::before { content:""; position:absolute; top:0; right:0; left:0; height:5px; background:#752f35; transform:scaleX(.22); transform-origin:left; transition:transform .35s ease; }
.editing-level-card:hover { transform:translateY(-8px); border-color:rgba(117,47,53,.35); box-shadow:0 24px 55px rgba(65,24,29,.14); }
.editing-level-card:hover::before { transform:scaleX(1); }
.editing-level-featured { color:#fff; background:linear-gradient(150deg,#83363d 0%,#67262c 58%,#481a1f 100%); border-color:#752f35; box-shadow:0 20px 48px rgba(65,24,29,.2); }
.editing-level-featured::before { background:#f0c796; transform:scaleX(1); }
.editing-level-soft { background:linear-gradient(160deg,#f7efec 0%,#efe2dd 100%); }
.editing-level-number { display:block; margin-bottom:4.9rem; color:#a7878a; font-family:Georgia,"Times New Roman",serif; font-size:2.7rem; line-height:1; }
.editing-level-featured .editing-level-number { color:rgba(255,255,255,.3); }
.editing-level-label { margin:0 0 .65rem!important; color:#752f35!important; font-size:.69rem!important; font-weight:800; line-height:1.35!important; letter-spacing:.14em; text-transform:uppercase; }
.editing-level-featured .editing-level-label { color:#f0c796!important; }
.editing-level-card h3 { margin:0 0 1rem; font-family:Georgia,"Times New Roman",serif; font-size:clamp(1.75rem,2.1vw,2.45rem); line-height:1.02; letter-spacing:-.025em; }
.editing-level-card > p:not(.editing-level-label) { max-width:none; margin:0 0 1.4rem; color:var(--muted); font-size:.96rem; line-height:1.7; }
.editing-level-featured > p:not(.editing-level-label) { color:rgba(255,255,255,.76); }
.editing-level-card ul { display:grid; gap:.68rem; margin:0 0 1.8rem; padding:0; list-style:none; }
.editing-level-card li { position:relative; padding-left:1.25rem; color:#5e4f51; font-size:.88rem; line-height:1.45; }
.editing-level-card li::before { content:""; position:absolute; top:.52em; left:0; width:6px; height:6px; background:#752f35; border-radius:50%; }
.editing-level-featured li { color:rgba(255,255,255,.84); }
.editing-level-featured li::before { background:#f0c796; }
.editing-level-link { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:auto; padding-top:1.15rem; color:#752f35; border-top:1px solid var(--line); font-size:.82rem; font-weight:800; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; }
.editing-level-link span { font-size:1.15rem; transition:transform .25s ease; }
.editing-level-link:hover span { transform:translateX(5px); }
.editing-level-featured .editing-level-link { color:#fff; border-top-color:rgba(255,255,255,.2); }
@media (max-width:1250px) { .editing-level-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .editing-level-card { min-height:500px; } }
@media (max-width:600px) { .editing-level-grid { grid-template-columns:1fr; } .editing-level-card { min-height:0; padding:2rem 1.5rem; } .editing-level-number { margin-bottom:2.8rem; } }
.editing-review-section { background:linear-gradient(125deg,#301719 0%,#752f35 100%); }
.editing-review-grid { display:grid; grid-template-columns:minmax(350px,.9fr) minmax(0,1.1fr); align-items:center; gap:clamp(3rem,7vw,7rem); }
.editing-review-image { position:relative; }
.editing-review-image::before { content:""; position:absolute; top:-16px; left:-16px; width:45%; height:45%; border-top:1px solid #e9ba80; border-left:1px solid #e9ba80; pointer-events:none; }
.editing-review-image img { display:block; width:100%; min-height:470px; object-fit:cover; border-radius:16px; box-shadow:0 25px 60px rgba(19,4,7,.27); }
.editing-review-copy h2 { max-width:720px; }
.editing-review-points { display:grid; grid-template-columns:repeat(2,1fr); gap:.75rem; margin:1.6rem 0 2rem; }
.editing-review-points span { position:relative; padding:.9rem .9rem .9rem 2.15rem; color:#fff; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.17); border-radius:8px; font-size:.88rem; font-weight:700; }
.editing-review-points span::before { content:"✓"; position:absolute; left:.85rem; color:#f0c796; }
.editing-services { background:var(--soft); }
.editing-service-grid { grid-template-columns:repeat(3,1fr); }
.editing-focus { color:#fff; background:#241618; }
.editing-focus-heading { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); align-items:end; gap:4rem; margin-bottom:3rem; }
.editing-focus-heading .eyebrow { color:#f0c796; }
.editing-focus-heading h2 { max-width:850px; margin:0; color:#fff; font-size:clamp(2.7rem,5vw,5rem); line-height:.98; letter-spacing:-.045em; }
.editing-focus-list { display:flex; flex-wrap:wrap; gap:.75rem; }
.editing-focus-list span { padding:.9rem 1.2rem; color:rgba(255,255,255,.86); border:1px solid rgba(255,255,255,.18); border-radius:100px; font-size:.88rem; transition:color .25s ease,background-color .25s ease,transform .25s ease; }
.editing-focus-list span:hover { color:#752f35; background:#fff; transform:translateY(-3px); }
.editing-benefits { background:#faf6f4; }
.editing-final-cta { background:linear-gradient(120deg,#752f35 0%,#4c1d22 100%); }

@media (max-width:1050px) {
.editing-service-grid { grid-template-columns:repeat(2,1fr); }
.editing-mark-one { left:0; }
.editing-mark-two { right:0; }
}

@media (max-width:800px) {
.editing-review-grid,.editing-focus-heading { grid-template-columns:1fr; }
.editing-focus-heading { gap:1rem; }
.editing-review-image img { min-height:400px; }
.editing-mark-one { top:12%; left:1%; }
.editing-mark-two { top:30%; right:1%; }
}

@media (max-width:600px) {
.editing-level-grid,.editing-service-grid,.editing-review-points { grid-template-columns:1fr; }
.editing-level-card { padding:1.7rem; }
.editing-level-number { margin-bottom:2rem; }
.editing-review-image img { min-height:300px; }
.editing-mark { min-width:105px; padding:.65rem .75rem; }
.editing-mark span { font-size:.72rem; }
.editing-focus-list span { width:100%; border-radius:8px; }
}

/* Book Publishing Page */
.publishing-page .gw-hero { background:linear-gradient(118deg,#281517 0%,#64282e 52%,#8c4248 100%); }
.publishing-page .gw-hero::after { content:""; position:absolute; right:-190px; bottom:-300px; width:650px; height:650px; border:1px solid rgba(255,255,255,.11); border-radius:50%; box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.018); pointer-events:none; }
.publishing-hero-image { width:min(100%,650px); }
.publishing-hero-image::before { inset:8% 1% 5%; border-radius:50%; transform:rotate(0); }
.publishing-hero-image img { border-radius:20px; filter:drop-shadow(0 28px 38px rgba(24,5,8,.3)); }
.publishing-format { position:absolute; z-index:2; min-width:160px; padding:.9rem 1rem; color:#3c2326; background:#fff; border-radius:10px; box-shadow:0 16px 38px rgba(27,6,9,.22); }
.publishing-format strong,.publishing-format span { display:block; }
.publishing-format strong { margin-bottom:.25rem; color:#752f35; font-size:.7rem; letter-spacing:.14em; }
.publishing-format span { font-size:.78rem; font-weight:700; }
.publishing-format-one { top:15%; left:-1rem; transform:rotate(-5deg); }
.publishing-format-two { top:34%; right:-1rem; color:#fff; background:#752f35; transform:rotate(5deg); }
.publishing-format-two strong { color:#f0c796; }
.publishing-intro { background:#fff; }
.publishing-intro-grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(350px,.65fr); align-items:center; gap:clamp(3rem,8vw,8rem); }
.publishing-intro-copy h2 { max-width:860px; margin:.7rem 0 1.4rem; font-size:clamp(2.7rem,5vw,5.3rem); line-height:.97; letter-spacing:-.05em; }
.publishing-intro-copy > p:not(.eyebrow) { max-width:800px; color:var(--muted); font-size:1.05rem; line-height:1.8; }
.publishing-intro-panel { padding:clamp(2rem,4vw,3rem); background:#f8f3f1; border:1px solid var(--line); border-radius:16px; }
.publishing-readiness-list { margin-top:1.4rem; border-top:1px solid var(--line); }
.publishing-readiness-list > div { display:grid; grid-template-columns:42px 1fr; gap:1rem; align-items:center; padding:1rem 0; border-bottom:1px solid var(--line); }
.publishing-readiness-list span { color:#752f35; font-size:.72rem; font-weight:800; letter-spacing:.1em; }
.publishing-readiness-list p { margin:0; color:#4f4143; font-size:.92rem; font-weight:700; line-height:1.5; }
.publishing-options { background:var(--soft); }
.publishing-option-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.publishing-option-card { position:relative; overflow:hidden; min-height:390px; padding:2rem; background:#fff; border:1px solid var(--line); border-radius:14px; transition:transform .3s ease,box-shadow .3s ease; }
.publishing-option-card:hover { transform:translateY(-6px); box-shadow:0 20px 45px rgba(67,25,30,.12); }
.publishing-option-featured { color:#fff; background:linear-gradient(145deg,#752f35,#491b20); border-color:#752f35; }
.publishing-option-top { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:3rem; }
.publishing-option-top > span { color:#a9888b; font-family:Georgia,"Times New Roman",serif; font-size:2.4rem; line-height:1; }
.publishing-option-top small { padding:.5rem .7rem; color:#752f35; background:#f8edeb; border-radius:100px; font-size:.64rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.publishing-option-featured .publishing-option-top > span { color:rgba(255,255,255,.25); }
.publishing-option-featured .publishing-option-top small { color:#4b1e22; background:#f0c796; }
.publishing-option-card h3 { margin:0 0 1rem; font-family:Georgia,"Times New Roman",serif; font-size:clamp(1.7rem,2.4vw,2.25rem); line-height:1.05; }
.publishing-option-card > p { margin:0 0 1.4rem; color:var(--muted); line-height:1.7; }
.publishing-option-featured > p { color:rgba(255,255,255,.74); }
.publishing-option-card ul { display:grid; gap:.6rem; margin:0; padding:0; list-style:none; }
.publishing-option-card li { position:relative; padding-left:1.25rem; color:#5f5052; font-size:.88rem; }
.publishing-option-card li::before { content:""; position:absolute; top:.48em; left:0; width:6px; height:6px; background:#752f35; border-radius:50%; }
.publishing-option-featured li { color:rgba(255,255,255,.82); }
.publishing-option-featured li::before { background:#f0c796; }
.publishing-formats-section { background:linear-gradient(125deg,#2b1618 0%,#752f35 100%); }
.publishing-format-grid { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid rgba(255,255,255,.18); }
.publishing-format-grid article { min-height:170px; padding:1.6rem; border-right:1px solid rgba(255,255,255,.18); border-bottom:1px solid rgba(255,255,255,.18); transition:background-color .25s ease; }
.publishing-format-grid article:nth-child(even) { border-right:0; }
.publishing-format-grid article:hover { background:rgba(255,255,255,.08); }
.publishing-format-grid article > span { display:block; margin-bottom:1.4rem; color:#f0c796; font-size:.7rem; font-weight:800; letter-spacing:.1em; }
.publishing-format-grid h3 { margin:0 0 .45rem; color:#fff; font-family:Georgia,"Times New Roman",serif; font-size:1.35rem; }
.publishing-format-grid p { margin:0; color:rgba(255,255,255,.68); font-size:.86rem; line-height:1.6; }
.publishing-preparation { background:#fff; }
.publishing-preparation-grid { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid var(--line); }
.publishing-preparation-grid article { display:grid; grid-template-columns:55px 1fr; column-gap:1.2rem; padding:2.3rem 2rem 2.3rem 0; border-bottom:1px solid var(--line); }
.publishing-preparation-grid article:nth-child(odd) { padding-right:3rem; border-right:1px solid var(--line); }
.publishing-preparation-grid article:nth-child(even) { padding-left:3rem; }
.publishing-preparation-grid article > span { grid-row:1/3; color:#752f35; font-family:Georgia,"Times New Roman",serif; font-size:1.8rem; }
.publishing-preparation-grid h3 { margin:0 0 .6rem; font-family:Georgia,"Times New Roman",serif; font-size:1.55rem; }
.publishing-preparation-grid p { margin:0; color:var(--muted); line-height:1.7; }
.publishing-process { background:#faf7f5; }
.publishing-platforms { color:#fff; background:#241719; }
.publishing-platforms-grid { display:grid; grid-template-columns:minmax(300px,.7fr) minmax(0,1.3fr); align-items:center; gap:clamp(3rem,8vw,8rem); }
.publishing-platforms .eyebrow { color:#f0c796; }
.publishing-platforms h2 { margin:.7rem 0 0; color:#fff; font-size:clamp(2.6rem,4.5vw,4.6rem); line-height:1; letter-spacing:-.045em; }
.publishing-platform-list { display:flex; flex-wrap:wrap; gap:.75rem; }
.publishing-platform-list span { padding:.85rem 1.1rem; color:rgba(255,255,255,.86); border:1px solid rgba(255,255,255,.18); border-radius:100px; font-size:.86rem; transition:color .25s ease,background-color .25s ease,transform .25s ease; }
.publishing-platform-list span:hover { color:#752f35; background:#fff; transform:translateY(-3px); }
.publishing-benefits { background:#f8f3f1; }
.publishing-final-cta { background:linear-gradient(120deg,#752f35 0%,#4b1c21 100%); }

@media (max-width:1050px) {
.publishing-option-grid { grid-template-columns:repeat(2,1fr); }
.publishing-format-one { left:0; }
.publishing-format-two { right:0; }
}

@media (max-width:800px) {
.publishing-intro-grid,.publishing-platforms-grid { grid-template-columns:1fr; }
.publishing-preparation-grid { grid-template-columns:1fr; }
.publishing-preparation-grid article:nth-child(odd),.publishing-preparation-grid article:nth-child(even) { padding:2rem 0; border-right:0; }
.publishing-format-one { top:12%; left:1%; }
.publishing-format-two { top:28%; right:1%; }
}

@media (max-width:600px) {
.publishing-option-grid,.publishing-format-grid { grid-template-columns:1fr; }
.publishing-option-card { min-height:auto; }
.publishing-format-grid article,.publishing-format-grid article:nth-child(even) { border-right:0; }
.publishing-format { min-width:125px; padding:.7rem .8rem; }
.publishing-format span { font-size:.68rem; }
.publishing-platform-list span { width:100%; border-radius:8px; }
}

/* Book Marketing Page */
.marketing-page .gw-hero { background:linear-gradient(118deg,#251315 0%,#62262c 50%,#8c4248 100%); }
.marketing-page .gw-hero::after { content:""; position:absolute; right:-200px; bottom:-320px; width:700px; height:700px; border:1px solid rgba(255,255,255,.1); border-radius:50%; box-shadow:0 0 0 75px rgba(255,255,255,.024),0 0 0 150px rgba(255,255,255,.017); pointer-events:none; }

/* Improved Book Marketing Covers */
.marketing-hero-media { position:relative; display:flex; min-height:620px; align-items:center; justify-content:center; }
.marketing-featured-books { position:relative; display:grid; width:min(100%,590px); grid-template-columns:repeat(2,minmax(0,1fr)); align-items:center; gap:clamp(1rem,2vw,1.8rem); padding:2rem 1rem 4.5rem; }
.marketing-featured-books::before { content:""; position:absolute; z-index:-1; inset:7% 4% 11%; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.14); border-radius:28px; transform:rotate(-2deg); }
.marketing-featured-book { position:relative; margin:0; transition:transform .35s ease,filter .35s ease; }
.marketing-featured-book::before { content:""; position:absolute; z-index:-1; right:8%; bottom:-16px; left:8%; height:30px; background:rgba(15,2,5,.35); border-radius:50%; filter:blur(15px); }
.marketing-featured-book img { display:block; width:100%; height:auto; max-height:510px; object-fit:contain; border-radius:9px; box-shadow:0 25px 55px rgba(18,3,6,.38); }
.marketing-featured-book-primary { z-index:2; transform:translateY(-18px) rotate(-3deg); }
.marketing-featured-book-secondary { z-index:1; transform:translateY(25px) rotate(3deg); }
.marketing-featured-books:hover .marketing-featured-book-primary { transform:translateY(-28px) rotate(-1deg); }
.marketing-featured-books:hover .marketing-featured-book-secondary { transform:translateY(15px) rotate(1deg); }
.marketing-hero-caption { position:absolute; z-index:4; right:0; bottom:1rem; max-width:340px; padding:1.15rem 1.3rem; color:#352022; background:rgba(255,255,255,.95); border-radius:12px; box-shadow:0 18px 42px rgba(24,5,8,.25); backdrop-filter:blur(8px); }
.marketing-hero-caption span,.marketing-hero-caption strong { display:block; }
.marketing-hero-caption span { margin-bottom:.35rem; color:#752f35; font-size:.68rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.marketing-hero-caption strong { font-family:Georgia,"Times New Roman",serif; font-size:1.03rem; font-weight:600; line-height:1.4; }

.marketing-showcase { overflow:hidden; background:#f8f4f2; }
.marketing-book-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:start; gap:clamp(1.5rem,3.5vw,2.75rem); }

.marketing-book-grid .book-amazon-link, .design-cover-grid .book-amazon-link { position: relative; z-index: 1; display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; border-radius: 8px; color: inherit; text-decoration: none; cursor: pointer;}
.marketing-book-grid .book-amazon-link:focus-visible, .design-cover-grid .book-amazon-link:focus-visible { outline: 3px solid #752f35; outline-offset: 5px;}

.marketing-book-grid figure { position:relative; display:flex; height:400px; overflow:visible; min-width:0; margin:0; align-items:center; justify-content:center; background:transparent; border-radius:0; box-shadow:none; transition:transform .35s ease; }
.marketing-book-grid figure::after { content:""; position:absolute; z-index:0; right:12%; bottom:-18px; left:12%; height:28px; background:rgba(50,18,23,.2); border-radius:50%; filter:blur(14px); transition:opacity .35s ease,transform .35s ease; }
.marketing-book-grid figure:hover { z-index:2; transform:translateY(-10px); }
.marketing-book-grid figure:hover::after { opacity:.65; transform:scale(.85); }
.marketing-book-grid img { position:relative; z-index:1; display:block; width:100%; max-width:100%; height:400px; max-height:none; object-fit:contain; border-radius:8px; box-shadow:0 22px 48px rgba(50,18,23,.19); transition:box-shadow .35s ease; }
.marketing-book-grid figure:hover img { box-shadow:0 30px 65px rgba(50,18,23,.28); }
.marketing-showcase-footer { display:flex; align-items:center; justify-content:space-between; gap:2rem; margin-top:4.5rem; padding-top:2rem; border-top:1px solid var(--line); }
.marketing-showcase-footer p { max-width:720px; margin:0; color:var(--muted); line-height:1.7; }

@media (max-width:1100px) {
.marketing-hero-media { min-height:570px; }
.marketing-featured-books { width:min(100%,520px); }
.marketing-featured-book img { max-height:450px; }
.marketing-book-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:3.5rem 2.5rem; }
.marketing-book-grid img { max-height:600px; }
}

@media (max-width:800px) {
.marketing-hero-media { min-height:auto; padding:2rem 0 3rem; }
.marketing-featured-books { width:min(100%,540px); padding-bottom:5rem; }
.marketing-hero-caption { right:50%; bottom:1rem; width:min(90%,340px); transform:translateX(50%); }
.marketing-showcase-footer { align-items:flex-start; flex-direction:column; }
}

@media (max-width:600px) {
.marketing-featured-books { gap:.8rem; padding-right:0; padding-left:0; }
.marketing-featured-book img { max-height:380px; }
.marketing-featured-book-primary { transform:translateY(-10px) rotate(-2deg); }
.marketing-featured-book-secondary { transform:translateY(18px) rotate(2deg); }
.marketing-featured-books:hover .marketing-featured-book-primary { transform:translateY(-16px) rotate(-1deg); }
.marketing-featured-books:hover .marketing-featured-book-secondary { transform:translateY(12px) rotate(1deg); }
.marketing-book-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:3rem 1rem; }
.marketing-book-grid img { max-height:500px; }
}

@media (max-width:420px) {
.marketing-book-grid { grid-template-columns:1fr; gap:3.5rem; }
.marketing-book-grid img { width:min(100%,310px); max-height:none; }
}

.marketing-cover-stage .marketing-cover:hover { z-index:6; filter:brightness(1); transform:translateY(-12px) rotate(0); }
.marketing-intro { background:#fff; }
.marketing-intro-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(350px,.65fr); align-items:end; gap:clamp(3rem,8vw,8rem); }
.marketing-intro-heading h2 { max-width:900px; margin:.7rem 0 0; font-size:clamp(2.8rem,5.4vw,5.8rem); line-height:.94; letter-spacing:-.055em; }
.marketing-intro-copy > p { color:var(--muted); font-size:1.05rem; line-height:1.8; }
.marketing-services { background:var(--soft); }
.marketing-service-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; align-items:stretch; }
.marketing-service-card { position:relative; display:flex; flex-direction:column; overflow:hidden; min-height:560px; padding:2.35rem 2rem 2rem; color:var(--ink); background:#fff; border:1px solid var(--line); border-radius:18px; box-shadow:0 14px 38px rgba(65,24,29,.06); transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease; }
.marketing-service-card::before { content:""; position:absolute; top:0; right:0; left:0; height:5px; background:#752f35; transform:scaleX(.22); transform-origin:left; transition:transform .35s ease; }
.marketing-service-card:hover { transform:translateY(-8px); border-color:rgba(117,47,53,.35); box-shadow:0 24px 55px rgba(65,24,29,.14); }
.marketing-service-card:hover::before { transform:scaleX(1); }
.marketing-service-featured { color:#fff; background:linear-gradient(150deg,#83363d 0%,#67262c 58%,#481a1f 100%); border-color:#752f35; box-shadow:0 20px 48px rgba(65,24,29,.2); }
.marketing-service-featured::before { background:#f0c796; transform:scaleX(1); }
.marketing-service-soft { background:linear-gradient(160deg,#f7efec 0%,#efe2dd 100%); }
.marketing-service-top { display:flex; flex-direction:column; align-items:flex-start; gap:4.9rem; margin-bottom:1rem; }
.marketing-service-top > span { color:#a7878a; font-family:Georgia,"Times New Roman",serif; font-size:2.7rem; line-height:1; }
.marketing-service-top small { padding:0; color:#752f35; background:transparent; border-radius:0; font-size:.69rem; font-weight:800; line-height:1.35; letter-spacing:.14em; text-transform:uppercase; }
.marketing-service-featured .marketing-service-top > span { color:rgba(255,255,255,.3); }
.marketing-service-featured .marketing-service-top small { color:#f0c796; background:transparent; }
.marketing-service-card h3 { margin:0 0 1rem; font-family:Georgia,"Times New Roman",serif; font-size:clamp(1.75rem,2.1vw,2.45rem); line-height:1.02; letter-spacing:-.025em; }
.marketing-service-card > p { margin:0 0 1.4rem; color:var(--muted); font-size:.96rem; line-height:1.7; }
.marketing-service-featured > p { color:rgba(255,255,255,.76); }
.marketing-service-card ul { display:grid; gap:.68rem; margin:0 0 1.8rem; padding:0; list-style:none; }
.marketing-service-card li { position:relative; padding-left:1.25rem; color:#5e4f51; font-size:.88rem; line-height:1.45; }
.marketing-service-card li::before { content:""; position:absolute; top:.52em; left:0; width:6px; height:6px; background:#752f35; border-radius:50%; }
.marketing-service-featured li { color:rgba(255,255,255,.84); }
.marketing-service-featured li::before { background:#f0c796; }
.marketing-service-link { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:auto; padding-top:1.15rem; color:#752f35; border-top:1px solid var(--line); font-size:.82rem; font-weight:800; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; }
.marketing-service-link span { font-size:1.15rem; transition:transform .25s ease; }
.marketing-service-link:hover span { transform:translateX(5px); }
.marketing-service-featured .marketing-service-link { color:#fff; border-top-color:rgba(255,255,255,.2); }
@media (max-width:1250px) { .marketing-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .marketing-service-card { min-height:500px; } }
@media (max-width:600px) { .marketing-service-grid { grid-template-columns:1fr; } .marketing-service-card { min-height:0; padding:2rem 1.5rem; } .marketing-service-top { gap:2.8rem; } }
.marketing-showcase { overflow:hidden; background:#fff; }
.marketing-showcase-heading { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,.45fr); align-items:end; gap:3rem; margin-bottom:3rem; }
.marketing-showcase-heading h2 { max-width:850px; margin:.7rem 0 0; font-size:clamp(2.7rem,5vw,5.3rem); line-height:.96; letter-spacing:-.05em; }
.marketing-showcase-heading > p { margin:0; color:var(--muted); line-height:1.75; }



.marketing-showcase-footer { display:flex; align-items:center; justify-content:space-between; gap:2rem; margin-top:5rem; padding-top:2rem; border-top:1px solid var(--line); }
.marketing-showcase-footer p { max-width:720px; margin:0; color:var(--muted); line-height:1.7; }
.marketing-journey { background:linear-gradient(125deg,#281416 0%,#752f35 100%); }
.marketing-journey-list { border-top:1px solid rgba(255,255,255,.18); }
.marketing-journey-list article { display:grid; grid-template-columns:45px 1fr; gap:1rem; padding:1.4rem 0; border-bottom:1px solid rgba(255,255,255,.18); }
.marketing-journey-list article > span { color:#f0c796; font-size:.72rem; font-weight:800; letter-spacing:.1em; }
.marketing-journey-list h3 { margin:0 0 .35rem; color:#fff; font-family:Georgia,"Times New Roman",serif; font-size:1.3rem; }
.marketing-journey-list p { margin:0; color:rgba(255,255,255,.68); font-size:.88rem; line-height:1.6; }
.marketing-plans { background:#faf7f5; }
.marketing-plan-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.marketing-plan-grid article { display:flex; min-height:520px; padding:2rem; flex-direction:column; background:#fff; border:1px solid var(--line); border-radius:15px; transition:transform .3s ease,box-shadow .3s ease; }
.marketing-plan-grid article:hover { transform:translateY(-6px); box-shadow:0 20px 45px rgba(65,24,29,.12); }
.marketing-plan-grid .marketing-plan-featured { color:#fff; background:#752f35; border-color:#752f35; }
.marketing-plan-number { display:block; margin-bottom:3rem; color:#9f7f82; font-family:Georgia,"Times New Roman",serif; font-size:2.4rem; }
.marketing-plan-featured .marketing-plan-number { color:rgba(255,255,255,.25); }
.marketing-plan-label { margin:0 0 .5rem!important; color:#752f35!important; font-size:.68rem!important; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.marketing-plan-featured .marketing-plan-label { color:#f0c796!important; }
.marketing-plan-grid h3 { margin:0 0 1rem; font-family:Georgia,"Times New Roman",serif; font-size:2rem; line-height:1.05; }
.marketing-plan-grid article > p:not(.marketing-plan-label) { margin:0 0 1.3rem; color:var(--muted); line-height:1.7; }
.marketing-plan-featured > p:not(.marketing-plan-label) { color:rgba(255,255,255,.74)!important; }
.marketing-plan-grid ul { display:grid; gap:.65rem; margin:0 0 1.7rem; padding:0; list-style:none; }
.marketing-plan-grid li { position:relative; padding-left:1.3rem; color:#5d4e50; font-size:.88rem; }
.marketing-plan-grid li::before { content:""; position:absolute; top:.48em; left:0; width:6px; height:6px; background:#752f35; border-radius:50%; }
.marketing-plan-featured li { color:rgba(255,255,255,.82); }
.marketing-plan-featured li::before { background:#f0c796; }
.marketing-plan-grid article > a { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:auto; padding-top:1rem; color:#752f35; border-top:1px solid var(--line); font-weight:800; text-decoration:none; }
.marketing-plan-featured > a { color:#fff!important; border-color:rgba(255,255,255,.2)!important; }
.marketing-plan-grid article > a span { font-size:1.2rem; transition:transform .25s ease; }
.marketing-plan-grid article > a:hover span { transform:translateX(5px); }
.marketing-process { background:#fff; }
.marketing-measurement { color:#fff; background:#241719; }
.marketing-measurement-grid { display:grid; grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr); align-items:center; gap:clamp(3rem,8vw,8rem); }
.marketing-measurement .eyebrow { color:#f0c796; }
.marketing-measurement h2 { margin:.7rem 0 1.2rem; color:#fff; font-size:clamp(2.7rem,5vw,5rem); line-height:.98; letter-spacing:-.05em; }
.marketing-measurement-grid > div:first-child > p:not(.eyebrow) { color:rgba(255,255,255,.68); line-height:1.75; }
.marketing-metric-list { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid rgba(255,255,255,.17); }
.marketing-metric-list article { min-height:145px; padding:1.5rem; border-right:1px solid rgba(255,255,255,.17); border-bottom:1px solid rgba(255,255,255,.17); }
.marketing-metric-list article:nth-child(even) { border-right:0; }
.marketing-metric-list strong,.marketing-metric-list span { display:block; }
.marketing-metric-list strong { margin-bottom:.55rem; color:#fff; font-family:Georgia,"Times New Roman",serif; font-size:1.25rem; }
.marketing-metric-list span { color:rgba(255,255,255,.65); font-size:.85rem; line-height:1.6; }
.marketing-final-cta { background:linear-gradient(120deg,#752f35 0%,#4a1b20 100%); }

@media (max-width:1100px) {
.marketing-plan-grid { grid-template-columns:repeat(2,1fr); }
}

@media (max-width:800px) {
.marketing-intro-grid,.marketing-measurement-grid { grid-template-columns:1fr; }
.marketing-showcase-heading { grid-template-columns:1fr; gap:1rem; }
.marketing-showcase-footer { align-items:flex-start; flex-direction:column; }
}

@media (max-width:600px) {
.marketing-service-grid,.marketing-plan-grid,.marketing-metric-list { grid-template-columns:1fr; }
.marketing-plan-grid article { min-height:auto; }
.marketing-metric-list article,.marketing-metric-list article:nth-child(even) { border-right:0; }
}

/* Book Design Page */
.design-page .gw-hero { background:linear-gradient(118deg,#241315 0%,#60242a 50%,#8b4147 100%); }
.design-page .gw-hero::after { content:""; position:absolute; right:-180px; bottom:-300px; width:650px; height:650px; border:1px solid rgba(255,255,255,.1); border-radius:50%; box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.018); pointer-events:none; }
.design-hero-media { min-height:620px; }
.design-hero-covers { position:relative; display:grid; width:min(100%,570px); grid-template-columns:repeat(2,minmax(0,1fr)); align-items:center; gap:clamp(1rem,2vw,1.8rem); padding:2rem 1rem 4.5rem; }
.design-hero-covers::before { content:""; position:absolute; z-index:-1; inset:7% 3% 12%; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.14); border-radius:28px; transform:rotate(-2deg); }
.design-hero-cover { position:relative; margin:0; transition:transform .35s ease; }
.design-hero-cover::after { content:""; position:absolute; z-index:-1; right:8%; bottom:-18px; left:8%; height:30px; background:rgba(16,2,5,.35); border-radius:50%; filter:blur(15px); }
.design-hero-cover img { display:block; width:100%; height:auto; max-height:510px; object-fit:contain; border-radius:9px; box-shadow:0 26px 55px rgba(18,3,6,.4); }
.design-hero-cover-one { z-index:2; transform:translateY(-18px) rotate(-3deg); }
.design-hero-cover-two { z-index:1; transform:translateY(25px) rotate(3deg); }
.design-hero-covers:hover .design-hero-cover-one { transform:translateY(-28px) rotate(-1deg); }
.design-hero-covers:hover .design-hero-cover-two { transform:translateY(15px) rotate(1deg); }
.design-hero-caption { position:absolute; z-index:3; right:0; bottom:1rem; max-width:345px; padding:1.15rem 1.3rem; color:#352022; background:rgba(255,255,255,.95); border-radius:12px; box-shadow:0 18px 42px rgba(24,5,8,.25); backdrop-filter:blur(8px); }
.design-hero-caption span,.design-hero-caption strong { display:block; }
.design-hero-caption span { margin-bottom:.35rem; color:#752f35; font-size:.68rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.design-hero-caption strong { font-family:Georgia,"Times New Roman",serif; font-size:1.02rem; line-height:1.4; }
.design-intro { background:#fff; }
.design-intro-grid { display:grid; grid-template-columns:minmax(330px,.75fr) minmax(0,1.25fr); align-items:center; gap:clamp(3rem,8vw,8rem); }
.design-intro-cover { position:relative; display:flex; min-height:700px; align-items:center; justify-content:center; }
.design-intro-cover::before { content:""; position:absolute; inset:6% 3%; background:#f6efec; border-radius:50% 50% 18px 18px; transform:rotate(-3deg); }
.design-intro-cover-viewport { position:relative; z-index:1; width:min(88%,500px); height:650px; overflow:hidden; }
.design-intro-cover-slide { position:absolute; inset:12px; display:block; width:calc(100% - 24px); height:calc(100% - 24px); object-fit:contain; opacity:0; filter:drop-shadow(0 22px 25px rgba(57,20,25,.24)); transform:translate3d(112%,0,0); transition:transform .62s cubic-bezier(.65,0,.35,1),opacity .42s ease; will-change:transform,opacity; }
.design-intro-cover-slide.is-current { opacity:1; transform:translate3d(0,0,0); }
.design-intro-cover-slide.is-leaving { opacity:0; transform:translate3d(-112%,0,0); }
.design-note { position:absolute; z-index:2; padding:.65rem .85rem; color:#752f35; background:#fff; border:1px solid rgba(117,47,53,.15); border-radius:100px; box-shadow:0 12px 28px rgba(53,19,24,.15); font-size:.72rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.design-note-one { top:13%; left:0; }
.design-note-two { top:30%; right:0; }
.design-note-three { bottom:27%; left:-1rem; }
.design-note-four { right:-1rem; bottom:12%; }
.design-services { background:var(--soft); }
.design-service-grid { grid-template-columns:repeat(4,1fr); }
.design-gallery { overflow:hidden; background:#fff; }
.design-gallery-heading { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,.45fr); align-items:end; gap:3rem; margin-bottom:3.5rem; }
.design-gallery-heading h2 { max-width:900px; margin:.7rem 0 0; font-size:clamp(2.7rem,5vw,5.3rem); line-height:.96; letter-spacing:-.05em; }
.design-gallery-heading > p { margin:0; color:var(--muted); line-height:1.75; }
.design-cover-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:start; gap:clamp(1.5rem,3.5vw,2.75rem); }
.design-cover-grid figure { position:relative; display:flex; height:400px; overflow:visible; min-width:0; margin:0; align-items:center; justify-content:center; transition:transform .35s ease; }
.design-cover-grid figure::after { content:""; position:absolute; z-index:0; right:12%; bottom:-18px; left:12%; height:28px; background:rgba(50,18,23,.2); border-radius:50%; filter:blur(14px); }
.design-cover-grid figure:hover { z-index:2; transform:translateY(-10px); }
.design-cover-grid img { position:relative; z-index:1; display:block; width:100%; max-width:100%; height:400px; max-height:none; object-fit:contain; border-radius:8px; box-shadow:0 22px 48px rgba(50,18,23,.2); transition:box-shadow .35s ease; }
.design-cover-grid figure:hover img { box-shadow:0 30px 65px rgba(50,18,23,.29); }
.design-gallery-footer { display:flex; align-items:center; justify-content:space-between; gap:2rem; margin-top:4.5rem; padding-top:2rem; border-top:1px solid var(--line); }
.design-gallery-footer p { max-width:720px; margin:0; color:var(--muted); line-height:1.7; }
.design-impact { background:linear-gradient(125deg,#281416 0%,#752f35 100%); }
.design-impact-list { border-top:1px solid rgba(255,255,255,.18); }
.design-impact-list article { display:grid; grid-template-columns:45px 1fr; gap:1rem; padding:1.4rem 0; border-bottom:1px solid rgba(255,255,255,.18); }
.design-impact-list article > span { color:#f0c796; font-size:.72rem; font-weight:800; letter-spacing:.1em; }
.design-impact-list h3 { margin:0 0 .35rem; color:#fff; font-family:Georgia,"Times New Roman",serif; font-size:1.3rem; }
.design-impact-list p { margin:0; color:rgba(255,255,255,.68); font-size:.88rem; line-height:1.6; }
.design-formats { background:#f8f4f2; }
.design-format-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.design-format-grid article { min-height:240px; padding:2rem; background:#fff; border-right:1px solid var(--line); border-bottom:1px solid var(--line); transition:color .25s ease,background-color .25s ease,transform .25s ease; }
.design-format-grid article:hover { z-index:1; color:#fff; background:#752f35; transform:translateY(-5px); }
.design-format-grid article > span { display:block; margin-bottom:2.7rem; color:#9c7e81; font-size:.72rem; font-weight:800; letter-spacing:.1em; }
.design-format-grid h3 { margin:0 0 .6rem; font-family:Georgia,"Times New Roman",serif; font-size:1.4rem; }
.design-format-grid p { margin:0; color:var(--muted); font-size:.9rem; line-height:1.7; }
.design-format-grid article:hover > span,.design-format-grid article:hover p { color:rgba(255,255,255,.75); }
.design-process { background:#fff; }
.design-final-cta { background:linear-gradient(120deg,#752f35 0%,#491a1f 100%); }

@media (max-width:1100px) {
.design-service-grid { grid-template-columns:repeat(2,1fr); }
.design-cover-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.design-format-grid { grid-template-columns:repeat(2,1fr); }
}

@media (max-width:800px) {
.design-hero-media { min-height:auto; padding:2rem 0 3rem; }
.design-hero-covers { width:min(100%,540px); padding-bottom:5rem; }
.design-hero-caption { right:50%; bottom:1rem; width:min(90%,345px); transform:translateX(50%); }
.design-intro-grid { grid-template-columns:1fr; }
.design-intro-cover { min-height:620px; }
.design-gallery-heading { grid-template-columns:1fr; gap:1rem; }
.design-gallery-footer { align-items:flex-start; flex-direction:column; }
}

@media (max-width:600px) {
.design-hero-covers { gap:.8rem; padding-right:0; padding-left:0; }
.design-hero-cover img { max-height:380px; }
.design-hero-cover-one { transform:translateY(-10px) rotate(-2deg); }
.design-hero-cover-two { transform:translateY(18px) rotate(2deg); }
.design-intro-cover { min-height:530px; }
.design-intro-cover-viewport { width:88%; height:500px; }
.design-note-three { left:0; }
.design-note-four { right:0; }
.design-cover-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:3rem 1rem; }
.design-cover-grid img { max-height:500px; }
.design-format-grid { grid-template-columns:1fr; }
}

@media (max-width:420px) {
.design-cover-grid { grid-template-columns:1fr; gap:3.5rem; }
.design-cover-grid img { width:min(100%,310px); max-height:none; }
}

/* Consultation Popup */
body.consultation-open { overflow:hidden; }

/* =========================================================
   RESPONSIVE SCROLLABLE CONSULTATION POPUP
   ========================================================= */

#consultation-popup.consultation-modal { position:fixed; inset:0; z-index:2147483646; display:flex; min-width:0; align-items:center; justify-content:center; padding:16px; overflow:hidden; overscroll-behavior:contain; }

#consultation-popup[hidden] { display:none !important; }

#consultation-popup .consultation-backdrop { position:absolute; inset:0; background:rgba(24,15,15,.75); backdrop-filter:blur(5px); }

#consultation-popup .consultation-dialog { position:relative; z-index:1; display:grid; width:min(1080px, 100%); max-width:100%; height:min(680px, calc(100dvh - 32px)); max-height:calc(100dvh - 32px); grid-template-columns:minmax(280px, .72fr) minmax(0, 1.28fr); overflow:hidden; border:1px solid rgba(255,255,255,.45); border-radius:20px; background:#fff; box-shadow:0 32px 90px rgba(24,10,11,.38); }

#consultation-popup .consultation-close { position:absolute; top:14px; right:14px; z-index:10; display:grid; width:42px; height:42px; padding:0; place-items:center; border:0; border-radius:50%; color:#4c2829; background:#f7efec; cursor:pointer; transition:color .2s ease, background-color .2s ease, transform .2s ease; }

#consultation-popup .consultation-close:hover { color:#fff; background:#752f35; transform:rotate(4deg); }

#consultation-popup .consultation-close svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; }

#consultation-popup .consultation-aside { position:relative; display:flex; min-width:0; flex-direction:column; justify-content:space-between; padding:clamp(2rem, 3.5vw, 3rem); overflow-x:hidden; overflow-y:auto; color:#fff; background:#752f35; scrollbar-width:thin; scrollbar-color:rgba(255,255,255,.35) transparent; }

#consultation-popup .consultation-aside::after { position:absolute; right:-150px; bottom:-190px; width:390px; height:390px; border:1px solid rgba(255,255,255,.1); border-radius:50%; content:""; box-shadow:0 0 0 70px rgba(255,255,255,.025); pointer-events:none; }

#consultation-popup .consultation-aside > * { position:relative; z-index:1; }

#consultation-popup .consultation-eyebrow { margin:0 0 .8rem; color:#dba575; font-size:.72rem; font-weight:850; letter-spacing:.17em; line-height:1.3; text-transform:uppercase; }

#consultation-popup .consultation-aside h2 { margin:0 0 1rem; color:#fff; font-family:Georgia, "Times New Roman", serif; font-size:clamp(2.2rem, 3.4vw, 3.8rem); font-weight:500; letter-spacing:-.035em; line-height:.98; }

#consultation-popup .consultation-aside p { margin:0; color:rgba(255,255,255,.74); line-height:1.7; }

#consultation-popup .consultation-aside ul { display:grid; gap:.85rem; margin:1.5rem 0; padding:0; list-style:none; }

#consultation-popup .consultation-aside li { display:grid; grid-template-columns:42px 1fr; align-items:start; color:rgba(255,255,255,.86); font-size:.9rem; line-height:1.4; }

#consultation-popup .consultation-aside li span { color:#efc494; font-size:.72rem; font-weight:850; letter-spacing:.08em; }

#consultation-popup .consultation-aside > a { display:grid; gap:.2rem; padding-top:1rem; border-top:1px solid rgba(255,255,255,.2); color:#fff; text-decoration:none; }

#consultation-popup .consultation-aside > a small { color:rgba(255,255,255,.62); }

#consultation-popup .consultation-aside > a strong { font-family:Georgia, "Times New Roman", serif; font-size:1.3rem; }

#consultation-popup .consultation-form { display:flex; min-width:0; min-height:0; flex-direction:column; padding:clamp(2rem, 3.5vw, 3rem); overflow-x:hidden; overflow-y:auto; background:#fff; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#b98a76 #f4ece8; }

#consultation-popup .consultation-form::-webkit-scrollbar, #consultation-popup .consultation-aside::-webkit-scrollbar { width:7px; }

#consultation-popup .consultation-form::-webkit-scrollbar-track, #consultation-popup .consultation-aside::-webkit-scrollbar-track { background:transparent; }

#consultation-popup .consultation-form::-webkit-scrollbar-thumb { border-radius:10px; background:#b98a76; }

#consultation-popup .consultation-aside::-webkit-scrollbar-thumb { border-radius:10px; background:rgba(255,255,255,.35); }

#consultation-popup .consultation-form-heading { padding-right:45px; }

#consultation-popup .consultation-form-heading h2 { margin:0 0 .45rem; color:#241b1a; font-family:Georgia, "Times New Roman", serif; font-size:clamp(2.15rem, 3.5vw, 3.6rem); font-weight:500; letter-spacing:-.035em; line-height:1; }

#consultation-popup .consultation-form-heading > p:last-child { margin:0 0 1.3rem; color:#786e6b; line-height:1.55; }

#consultation-popup .consultation-fields { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:.9rem; }

#consultation-popup .consultation-field { display:grid; min-width:0; gap:.4rem; }

#consultation-popup .consultation-field-full { grid-column:1 / -1; }

#consultation-popup .consultation-field > span { color:#5d5350; font-size:.82rem; font-weight:750; }

#consultation-popup .consultation-field b { color:#752f35; }

#consultation-popup .consultation-field input, #consultation-popup .consultation-field select, #consultation-popup .consultation-field textarea { width:100%; min-width:0; min-height:48px; padding:.72rem .85rem; border:1px solid #ded2ce; border-radius:7px; outline:none; color:#281f1d; background:#fcfaf9; font:inherit; line-height:1.35; transition:border-color .2s ease, box-shadow .2s ease, background-color .2s ease; }

#consultation-popup .consultation-field textarea { min-height:76px; resize:vertical; }

#consultation-popup .consultation-field input:focus, #consultation-popup .consultation-field select:focus, #consultation-popup .consultation-field textarea:focus { border-color:#752f35; background:#fff; box-shadow:0 0 0 3px rgba(117,47,53,.1); }

#consultation-popup .consultation-consent { display:grid; grid-template-columns:18px 1fr; align-items:start; gap:.6rem; margin:1rem 0; color:#625754; font-size:.78rem; line-height:1.45; cursor:pointer; }

#consultation-popup .consultation-consent input { width:17px; height:17px; margin:.1rem 0 0; accent-color:#752f35; }

#consultation-popup .consultation-submit { display:flex; width:100%; min-height:48px; flex:none; align-items:center; justify-content:space-between; gap:1rem; padding:.75rem 1rem; border:0; border-radius:7px; color:#fff; background:#752f35; font:inherit; font-weight:800; cursor:pointer; transition:background-color .2s ease, transform .2s ease; }

#consultation-popup .consultation-submit:hover { background:#572126; transform:translateY(-1px); }

#consultation-popup .consultation-submit svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.8; }

#consultation-popup .consultation-privacy { margin:.65rem 0 0; color:#918582; font-size:.7rem; line-height:1.4; text-align:center; }

@media (max-width:900px) {
    #consultation-popup.consultation-modal { padding:12px; }
    #consultation-popup .consultation-dialog { width:min(640px, 100%); height:auto; max-height:calc(100dvh - 24px); grid-template-columns:1fr; }
    #consultation-popup .consultation-aside { display:none; }
    #consultation-popup .consultation-form { max-height:calc(100dvh - 24px); padding:3.4rem 1.5rem 1.5rem; overflow-y:auto; }
    #consultation-popup .consultation-form-heading { padding-right:34px; }
}

@media (max-width:540px) {
    #consultation-popup.consultation-modal { padding:8px; }
    #consultation-popup .consultation-dialog { max-height:calc(100dvh - 16px); border-radius:14px; }
    #consultation-popup .consultation-close { top:10px; right:10px; width:38px; height:38px; }
    #consultation-popup .consultation-form { max-height:calc(100dvh - 16px); padding:3.25rem 1rem 1rem; }
    #consultation-popup .consultation-form-heading { padding-right:25px; }
    #consultation-popup .consultation-form-heading h2 { font-size:2rem; }
    #consultation-popup .consultation-form-heading > p:last-child { margin-bottom:1rem; font-size:.88rem; }
    #consultation-popup .consultation-fields { grid-template-columns:1fr; gap:.75rem; }
    #consultation-popup .consultation-field-full { grid-column:auto; }
    #consultation-popup .consultation-field input, #consultation-popup .consultation-field select, #consultation-popup .consultation-field textarea { min-height:46px; padding:.68rem .75rem; font-size:16px; }
    #consultation-popup .consultation-field textarea { min-height:76px; }
    #consultation-popup .consultation-consent { margin:.85rem 0; font-size:.75rem; }
    #consultation-popup .consultation-submit { min-height:47px; font-size:.88rem; }
}

@media (max-height:700px) and (min-width:901px) {
    #consultation-popup .consultation-dialog { height:calc(100dvh - 24px); max-height:calc(100dvh - 24px); }
    #consultation-popup .consultation-aside, #consultation-popup .consultation-form { padding:1.6rem; }
    #consultation-popup .consultation-aside h2, #consultation-popup .consultation-form-heading h2 { font-size:2.3rem; }
    #consultation-popup .consultation-aside ul { gap:.55rem; margin:1rem 0; }
    #consultation-popup .consultation-form-heading > p:last-child { margin-bottom:1rem; }
    #consultation-popup .consultation-fields { gap:.65rem .8rem; }
    #consultation-popup .consultation-field input, #consultation-popup .consultation-field select { min-height:44px; }
    #consultation-popup .consultation-field textarea { min-height:66px; }
}

@media (max-width:760px) {
.consultation-modal { padding:10px; }
.consultation-dialog { width:min(560px,100%); height:min(640px,calc(100dvh - 20px)); grid-template-columns:1fr; border-radius:15px; }
.consultation-aside { display:none; }
.consultation-form { padding:24px; }
.consultation-close { top:10px; right:10px; }
.consultation-form-heading h2 { font-size:2.15rem; }
}

@media (max-width:480px) {
.consultation-modal { padding:7px; }
.consultation-dialog { height:min(610px,calc(100dvh - 14px)); }
.consultation-form { padding:18px; }
.consultation-form-heading { padding-right:42px; }
.consultation-form-heading h2 { font-size:1.8rem; }
.consultation-form-heading > p:last-child { font-size:12px; }
.consultation-fields { gap:8px 9px; margin-top:12px; }
.consultation-field > span { font-size:11px; }
.consultation-form .consultation-field input,.consultation-form .consultation-field select { height:41px; min-height:41px; padding:0 10px; font-size:12px; }
.consultation-form .consultation-field textarea { height:50px; min-height:50px; max-height:50px; padding:8px 10px; font-size:12px; }
.consultation-consent { margin:10px 0; font-size:10px; }
.consultation-submit { height:43px; min-height:43px; flex-basis:43px; font-size:12px; }
}

@media (max-height:700px) {
.consultation-dialog { height:calc(100dvh - 20px); }
.consultation-aside { padding:24px; }
.consultation-aside h2 { font-size:2.35rem; }
.consultation-aside ul { gap:8px; margin:12px 0; }
.consultation-form { padding:20px 30px; }
.consultation-form-heading h2 { font-size:2rem; }
.consultation-fields { gap:7px 10px; margin-top:10px; }
.consultation-field > span { margin-bottom:3px; font-size:11px; }
.consultation-form .consultation-field input,.consultation-form .consultation-field select { height:38px; min-height:38px; }
.consultation-form .consultation-field textarea { height:44px; min-height:44px; max-height:44px; }
.consultation-consent { margin:8px 0; }
.consultation-submit { height:42px; min-height:42px; flex-basis:42px; }
.consultation-privacy { margin-top:4px; }
}

@media (max-height:560px) {
.consultation-modal { padding:6px; }
.consultation-dialog { height:calc(100dvh - 12px); }
.consultation-aside { padding:18px; }
.consultation-aside h2 { margin-bottom:8px; font-size:1.9rem; }
.consultation-aside > div > p:last-child { font-size:12px; }
.consultation-aside ul { display:none; }
.consultation-form { padding:12px 22px; }
.consultation-form-heading .consultation-eyebrow,.consultation-form-heading > p:last-child { display:none; }
.consultation-form-heading h2 { font-size:1.65rem; }
.consultation-fields { gap:5px 9px; margin-top:7px; }
.consultation-field > span { margin-bottom:2px; font-size:10px; }
.consultation-form .consultation-field input,.consultation-form .consultation-field select { height:34px; min-height:34px; padding:0 9px; font-size:11px; }
.consultation-form .consultation-field textarea { height:36px; min-height:36px; max-height:36px; padding:6px 9px; font-size:11px; }
.consultation-consent { margin:6px 0; font-size:9px; }
.consultation-submit { height:38px; min-height:38px; flex-basis:38px; font-size:11px; }
.consultation-privacy { display:none; }
}

/* =========================================================
   BOOK PUBLISHING LANDING PAGE
   ========================================================= */

.bplp { background:#fff; color:var(--ink, #211a19); overflow:hidden; }
.bplp .container { width:min(1180px, calc(100% - 40px)); margin-inline:auto; }
.bplp .section { padding:clamp(4rem, 7vw, 6.5rem) 0; }
.bplp h1, .bplp h2, .bplp h3 { margin-top:0; color:inherit; }
.bplp h1, .bplp h2 { font-family:Georgia, "Times New Roman", serif; font-weight:500; letter-spacing:-.035em; line-height:.98; }
.bplp h2 { font-size:clamp(2.4rem, 4.5vw, 4.6rem); }
.bplp h3 { line-height:1.2; }
.bplp p { line-height:1.7; }
.bplp .eyebrow { margin:0 0 1rem; color:#752f35; font-size:.76rem; font-weight:800; letter-spacing:.18em; line-height:1.4; text-transform:uppercase; }
.bplp .eyebrow-light { color:#f1c99d; }
.bplp .button { display:inline-flex; min-height:52px; align-items:center; justify-content:center; padding:.9rem 1.35rem; border:1px solid #752f35; border-radius:5px; color:#fff; background:#752f35; font:inherit; font-weight:750; line-height:1.2; text-align:center; text-decoration:none; cursor:pointer; transition:background-color .25s ease, color .25s ease, transform .25s ease, box-shadow .25s ease; }
.bplp .button:hover { color:#fff; background:#552126; box-shadow:0 12px 28px rgba(71,26,30,.2); transform:translateY(-2px); }
.bplp .button-light { border-color:#fff; color:#752f35; background:#fff; }
.bplp .button-light:hover { color:#752f35; background:#f9f1ed; }

.bplp-hero { position:relative; padding:clamp(2.5rem, 5vw, 5rem) 0; color:#fff; background:#752f35; isolation:isolate; }
.bplp-hero::before { position:absolute; inset:0; z-index:-2; content:""; background:radial-gradient(circle at 12% 10%, rgba(255,255,255,.12), transparent 28%), radial-gradient(circle at 76% 88%, rgba(215,154,103,.2), transparent 30%); }
.bplp-hero::after { position:absolute; right:-140px; bottom:-310px; z-index:-1; width:580px; height:580px; border:1px solid rgba(255,255,255,.12); border-radius:50%; content:""; box-shadow:0 0 0 90px rgba(255,255,255,.025), 0 0 0 180px rgba(255,255,255,.02); }
.bplp-hero-grid { display:grid; grid-template-columns:minmax(0, 1.08fr) minmax(380px, .72fr); align-items:center; gap:clamp(2.5rem, 6vw, 6rem); }
.bplp-hero-copy { min-width:0; }
.bplp-breadcrumbs { display:flex; flex-wrap:wrap; align-items:center; gap:.55rem; margin-bottom:2rem; color:rgba(255,255,255,.72); font-size:.84rem; }
.bplp-breadcrumbs a { color:#fff; text-decoration:none; }
.bplp-breadcrumbs a:hover { text-decoration:underline; }
.bplp-hero .bplp-eyebrow { margin:0 0 1.1rem; color:#f1c99d; font-size:.78rem; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
.bplp-hero h1 { max-width:770px; margin-bottom:1.5rem; font-size:clamp(3.1rem, 6.3vw, 6.6rem); }
.bplp-hero h1 em { display:block; margin-top:.08em; color:#f2c99f; font-weight:500; }
.bplp-hero-lead { max-width:680px; margin:0 0 1.6rem; color:rgba(255,255,255,.84); font-size:clamp(1.02rem, 1.5vw, 1.2rem); }
.bplp-check-list { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:.7rem 1.5rem; margin:0 0 1.8rem; padding:0; list-style:none; }
.bplp-check-list li { position:relative; padding-left:1.7rem; color:rgba(255,255,255,.94); font-weight:650; }
.bplp-check-list li::before { position:absolute; top:.08em; left:0; display:grid; width:1.1rem; height:1.1rem; place-items:center; border-radius:50%; content:"✓"; color:#752f35; background:#f1c99d; font-size:.68rem; font-weight:900; }
.bplp-hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:1.2rem; }
.bplp-text-link { color:#fff; font-weight:750; text-decoration:none; }
.bplp-text-link:hover { color:#f1c99d; }
.bplp-text-link span { display:inline-block; margin-left:.35rem; transition:transform .2s ease; }
.bplp-text-link:hover span { transform:translateX(4px); }
.bplp-hero-books { display:flex; align-items:flex-end; height:150px; margin-top:2.3rem; padding-left:1.2rem; }
.bplp-hero-books img { width:auto; max-width:118px; height:145px; object-fit:contain; border-radius:3px; box-shadow:0 18px 35px rgba(31,8,10,.34); transform:rotate(-5deg); }
.bplp-hero-books img:nth-child(2) { height:155px; margin-left:-1rem; transform:translateY(-8px) rotate(3deg); }
.bplp-hero-books img:nth-child(3) { height:140px; margin-left:-.8rem; transform:rotate(7deg); }

.bplp-form-card { position:relative; padding:clamp(1.5rem, 3vw, 2.25rem); border:1px solid rgba(117,47,53,.12); border-radius:18px; color:#211a19; background:#fff; box-shadow:0 28px 70px rgba(44,10,14,.26); }
.bplp-form-card::before { position:absolute; top:0; right:0; left:0; height:6px; border-radius:18px 18px 0 0; content:""; background:#d2915d; }
.bplp-form-kicker { margin:0 0 .5rem; color:#a25c37; font-size:.75rem; font-weight:850; letter-spacing:.16em; text-transform:uppercase; }
.bplp-form-card h2 { margin-bottom:.55rem; font-size:clamp(2rem, 3vw, 3rem); }
.bplp-form-card > p:not(.bplp-form-kicker) { margin:0 0 1.3rem; color:#756b69; }
.bplp-lead-form { display:grid; gap:.95rem; }
.bplp-form-row { display:grid; grid-template-columns:1fr 1fr; gap:.85rem; }
.bplp-field { display:grid; gap:.42rem; }
.bplp-field label { color:#4c4240; font-size:.83rem; font-weight:750; }
.bplp-field label span { color:#752f35; }
.bplp-field input, .bplp-field select, .bplp-field textarea { width:100%; min-height:48px; padding:.76rem .88rem; border:1px solid #ded2ce; border-radius:7px; outline:0; color:#211a19; background:#fcfaf9; font:inherit; transition:border-color .2s ease, box-shadow .2s ease, background-color .2s ease; }
.bplp-field textarea { min-height:78px; resize:vertical; }
.bplp-field input:focus, .bplp-field select:focus, .bplp-field textarea:focus { border-color:#752f35; background:#fff; box-shadow:0 0 0 3px rgba(117,47,53,.1); }
.bplp-consent { display:grid; grid-template-columns:auto 1fr; align-items:start; gap:.6rem; color:#756b69; font-size:.76rem; line-height:1.45; cursor:pointer; }
.bplp-consent input { width:16px; height:16px; margin-top:.12rem; accent-color:#752f35; }
.bplp-submit { width:100%; border:0; }
.bplp-form-note { margin:0; color:#8a7e7a; font-size:.73rem; text-align:center; }
.bplp-hp { position:absolute !important; left:-10000px !important; width:1px !important; height:1px !important; overflow:hidden !important; }

.bplp-trust-strip { border-bottom:1px solid #e6dcd7; background:#fff; }
.bplp-trust-grid { display:grid; grid-template-columns:repeat(4, 1fr); }
.bplp-trust-grid div { padding:1.45rem 1.5rem; border-right:1px solid #e6dcd7; }
.bplp-trust-grid div:first-child { border-left:1px solid #e6dcd7; }
.bplp-trust-grid strong, .bplp-trust-grid span { display:block; }
.bplp-trust-grid strong { margin-bottom:.25rem; font-family:Georgia, "Times New Roman", serif; font-size:1.05rem; }
.bplp-trust-grid span { color:#766b68; font-size:.86rem; }

.bplp-intro { background:#f8f4f1; }
.bplp-section-heading { display:grid; grid-template-columns:minmax(0, 1.25fr) minmax(280px, .75fr); align-items:end; gap:clamp(2rem, 6vw, 6rem); margin-bottom:2.5rem; }
.bplp-section-heading h2 { max-width:800px; margin-bottom:0; }
.bplp-section-heading > p { margin:0; color:#6f6562; }
.bplp-service-grid { display:grid; grid-template-columns:repeat(4, 1fr); border-top:1px solid #dcd0cb; border-left:1px solid #dcd0cb; }
.bplp-service-card { min-height:255px; padding:1.6rem; border-right:1px solid #dcd0cb; border-bottom:1px solid #dcd0cb; background:#fff; transition:transform .25s ease, background-color .25s ease, box-shadow .25s ease; }
.bplp-service-card:hover { position:relative; z-index:2; background:#fffdfc; box-shadow:0 18px 38px rgba(70,43,37,.12); transform:translateY(-5px); }
.bplp-service-card > span { display:inline-flex; margin-bottom:2.2rem; color:#a56849; font-size:.76rem; font-weight:850; letter-spacing:.14em; }
.bplp-service-card h3 { margin-bottom:.65rem; font-family:Georgia, "Times New Roman", serif; font-size:1.35rem; }
.bplp-service-card p { margin:0; color:#746966; font-size:.92rem; }

.bplp-feature-banner { padding:clamp(3.2rem, 6vw, 5.2rem) 0; color:#fff; background:#752f35; }
.bplp-feature-banner-grid { display:grid; grid-template-columns:1.1fr .9fr; align-items:center; gap:clamp(2rem, 7vw, 7rem); }
.bplp-feature-banner h2 { max-width:740px; margin:0; }
.bplp-feature-banner-grid > div:last-child p { margin:0 0 1.4rem; color:rgba(255,255,255,.78); font-size:1.04rem; }

.bplp-approach { background:#fff; }
.bplp-centered-heading { max-width:810px; margin:0 auto 2.7rem; text-align:center; }
.bplp-centered-heading h2 { margin-bottom:1rem; }
.bplp-centered-heading > p:last-child { max-width:680px; margin:0 auto; color:#716763; }
.bplp-approach-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:1.2rem; }
.bplp-approach-grid article { position:relative; min-height:280px; padding:2rem; overflow:hidden; border:1px solid #e1d6d1; border-radius:12px; background:#fbf8f6; transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease; }
.bplp-approach-grid article:hover { border-color:#ba8c7b; box-shadow:0 18px 38px rgba(67,40,34,.11); transform:translateY(-6px); }
.bplp-approach-grid article > span { display:block; margin-bottom:4.5rem; color:#b06f4d; font-size:.82rem; font-weight:850; letter-spacing:.15em; }
.bplp-approach-grid article > span::after { position:absolute; top:-40px; right:-40px; width:160px; height:160px; border:1px solid rgba(117,47,53,.12); border-radius:50%; content:""; box-shadow:0 0 0 30px rgba(117,47,53,.025); }
.bplp-approach-grid h3 { margin-bottom:.65rem; font-family:Georgia, "Times New Roman", serif; font-size:1.55rem; }
.bplp-approach-grid p { margin:0; color:#716763; }

.bplp-portfolio { background:#211a19; }
.bplp-portfolio .bplp-section-heading h2 { color:#fff; }
.bplp-portfolio .bplp-section-heading > p { color:rgba(255,255,255,.65); }
.bplp-cover-grid { display:grid; grid-template-columns:repeat(8, minmax(0, 1fr)); align-items:end; gap:clamp(.75rem, 1.4vw, 1.25rem); }
.bplp-cover-grid figure { display:flex; min-width:0; margin:0; justify-content:center; }
.bplp-cover-grid picture { display:block; max-width:100%; }
.bplp-cover-link { display:flex; width:100%; justify-content:center; border-radius:4px; }
.bplp-cover-link:focus-visible { outline:3px solid #e4b98e; outline-offset:5px; }
.bplp-cover-grid img { display:block; width:auto; max-width:100%; height:auto; max-height:310px; object-fit:contain; border-radius:3px; filter:drop-shadow(0 18px 22px rgba(0,0,0,.32)); transition:filter .3s ease, transform .3s ease; }
.bplp-cover-grid figure:hover img { filter:drop-shadow(0 26px 28px rgba(0,0,0,.46)); transform:translateY(-8px) scale(1.02); }
.bplp-portfolio-action { margin-top:2.5rem; text-align:center; }
.bplp-portfolio-action .button { border-color:#fff; color:#211a19; background:#fff; }
.bplp-portfolio-action .button:hover { color:#752f35; background:#f2e7e2; }

.bplp-legacy { padding:clamp(2.75rem, 5vw, 4.5rem) 0; background:#f8f4f1; }
.bplp-legacy-grid { display:grid; grid-template-columns:minmax(320px,.88fr) minmax(0,1.12fr); align-items:center; gap:clamp(2rem, 5vw, 5rem); }
.bplp-legacy-media { position:relative; min-width:0; margin:0; overflow:hidden; border-radius:12px; background:#e7dad3; box-shadow:0 22px 55px rgba(56,33,28,.14); }
.bplp-legacy-media::after { position:absolute; inset:0; border:1px solid rgba(255,255,255,.42); border-radius:inherit; content:""; pointer-events:none; }
.bplp-legacy-media img { display:block; width:100%; height:auto; aspect-ratio:4 / 5; object-fit:cover; transition:transform .55s ease; }
.bplp-legacy-media:hover img { transform:scale(1.025); }
.bplp-legacy-copy h2 { max-width:760px; margin-bottom:1rem; }
.bplp-legacy-copy > p:not(.eyebrow) { margin-bottom:.85rem; color:#706663; }
.bplp-dark-checks { grid-template-columns:1fr; gap:.7rem; margin:1.25rem 0 1.5rem; }
.bplp-dark-checks li { color:#312927; }
.bplp-dark-checks li::before { color:#fff; background:#752f35; }

.bplp-process { background:#fff; }
.bplp-process-grid { display:grid; grid-template-columns:repeat(3, 1fr); margin:0; padding:0; border-top:1px solid #ded3ce; border-left:1px solid #ded3ce; list-style:none; counter-reset:none; }
.bplp-process-grid li { min-height:255px; padding:1.75rem; border-right:1px solid #ded3ce; border-bottom:1px solid #ded3ce; }
.bplp-process-grid li > span { display:block; margin-bottom:2.5rem; color:#a76949; font-size:.78rem; font-weight:850; letter-spacing:.14em; }
.bplp-process-grid h3 { margin-bottom:.65rem; font-family:Georgia, "Times New Roman", serif; font-size:1.35rem; }
.bplp-process-grid p { margin:0; color:#716763; font-size:.92rem; }

.bplp-difference { color:#fff; background:#752f35; }
.bplp-difference-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(3rem, 8vw, 8rem); }
.bplp-difference-grid > div:first-child { position:sticky; top:2rem; align-self:start; }
.bplp-difference h2 { margin-bottom:1.3rem; }
.bplp-difference-grid > div:first-child > p:last-child { color:rgba(255,255,255,.75); }
.bplp-benefit-list { border-top:1px solid rgba(255,255,255,.24); }
.bplp-benefit-list article { display:grid; grid-template-columns:56px 1fr; gap:1rem; padding:1.5rem 0; border-bottom:1px solid rgba(255,255,255,.24); }
.bplp-benefit-list article > span { color:#f1c99d; font-size:.78rem; font-weight:850; letter-spacing:.14em; }
.bplp-benefit-list h3 { margin:0 0 .4rem; font-family:Georgia, "Times New Roman", serif; font-size:1.35rem; }
.bplp-benefit-list p { margin:0; color:rgba(255,255,255,.72); }

.bplp-options { background:#f8f4f1; }
.bplp-options-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:1rem; }
.bplp-options-grid article { min-height:240px; padding:1.7rem; border:1px solid #e0d5d0; border-radius:10px; background:#fff; transition:transform .25s ease, box-shadow .25s ease; }
.bplp-options-grid article:hover { box-shadow:0 18px 38px rgba(65,38,33,.1); transform:translateY(-5px); }
.bplp-options-grid article > span { display:block; margin-bottom:3rem; color:#a86a4b; font-size:.77rem; font-weight:850; }
.bplp-options-grid h3 { margin-bottom:.6rem; font-family:Georgia, "Times New Roman", serif; font-size:1.4rem; }
.bplp-options-grid p { margin:0; color:#716763; }

.bplp-faq { border-top:1px solid #e4dad5; background:#f8f4f1; }
.bplp-faq-grid { display:grid; grid-template-columns:.75fr 1.25fr; align-items:start; gap:clamp(2.5rem, 7vw, 7rem); }
.bplp-faq-grid > div:first-child { position:sticky; top:2rem; }
.bplp-faq-grid h2 { margin-bottom:1rem; }
.bplp-faq-grid > div:first-child > p:not(.eyebrow) { margin-bottom:1.5rem; color:#716763; }
.bplp-faq-list { border-top:1px solid #cfc1bb; }
.bplp-faq-list details { border-bottom:1px solid #cfc1bb; }
.bplp-faq-list summary { position:relative; padding:1.4rem 2.5rem 1.4rem 0; color:#2b2220; font-family:Georgia, "Times New Roman", serif; font-size:1.2rem; font-weight:700; list-style:none; cursor:pointer; }
.bplp-faq-list summary::-webkit-details-marker { display:none; }
.bplp-faq-list summary::after { position:absolute; top:50%; right:.2rem; content:"+"; color:#752f35; font-family:Arial, sans-serif; font-size:1.6rem; font-weight:400; transform:translateY(-50%); }
.bplp-faq-list details[open] summary::after { content:"−"; }
.bplp-faq-list details p { margin:0; padding:0 2.5rem 1.4rem 0; color:#716763; }

.bplp-final-cta-grid p.eyebrow {color: #fff;}
.bplp-final-cta { padding:clamp(2.75rem, 5vw, 4.25rem) 0; color:#fff; background:#752f35; }
.bplp-final-cta-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(270px,360px); align-items:center; gap:clamp(2rem,5vw,5rem); }
.bplp-final-cta h2 { max-width:790px; margin-bottom:1rem; }
.bplp-final-cta-grid > div:first-child > p:last-child { max-width:680px; margin-bottom:0; color:rgba(255,255,255,.7); }
.bplp-final-actions { display:flex; min-width:0; height:auto; flex-direction:column; align-items:stretch; justify-content:flex-start; gap:.35rem; margin:0; text-align:center; }
.bplp-final-actions > * { margin:0; }
.bplp-final-actions .button { margin-bottom:.35rem; }
.bplp-final-actions > a:not(.button) { color:#fff; font-weight:700; text-decoration:none; }
.bplp-final-actions > a:not(.button):hover { color:#f1c99d; }

@media (max-width:1050px) {
    .bplp-hero-grid { grid-template-columns:1fr 420px; gap:2.5rem; }
    .bplp-cover-grid { grid-template-columns:repeat(4, 1fr); row-gap:2rem; }
    .bplp-service-grid { grid-template-columns:repeat(2, 1fr); }
}

@media (max-width:860px) {
    .bplp-hero-grid { grid-template-columns:1fr; }
    .bplp-hero-copy { text-align:center; }
    .bplp-hero h1, .bplp-hero-lead { margin-right:auto; margin-left:auto; }
    .bplp-breadcrumbs, .bplp-hero-actions { justify-content:center; }
    .bplp-check-list { max-width:620px; margin-right:auto; margin-left:auto; text-align:left; }
    .bplp-hero-books { justify-content:center; }
    .bplp-form-card { width:min(100%, 620px); margin-inline:auto; }
    .bplp-trust-grid { grid-template-columns:repeat(2, 1fr); }
    .bplp-trust-grid div:nth-child(3) { border-left:1px solid #e6dcd7; }
    .bplp-section-heading, .bplp-feature-banner-grid, .bplp-legacy-grid, .bplp-difference-grid, .bplp-faq-grid, .bplp-final-cta-grid { grid-template-columns:1fr; }
    .bplp-section-heading { gap:1.25rem; }
    .bplp-approach-grid, .bplp-process-grid, .bplp-options-grid { grid-template-columns:repeat(2, 1fr); }
    .bplp-legacy-covers { min-height:480px; }
    .bplp-difference-grid > div:first-child, .bplp-faq-grid > div:first-child { position:static; }
    .bplp-final-actions { width:min(100%, 360px); min-width:0; }
}

@media (max-width:600px) {
    .bplp .container { width:min(100% - 28px, 1180px); }
    .bplp .section { padding:3.5rem 0; }
    .bplp h2 { font-size:clamp(2.15rem, 11vw, 3rem); }
    .bplp-hero { padding:2rem 0 3.5rem; }
    .bplp-hero h1 { font-size:clamp(2.7rem, 14vw, 4.3rem); }
    .bplp-check-list { grid-template-columns:1fr; }
    .bplp-hero-actions { align-items:stretch; flex-direction:column; }
    .bplp-hero-actions .button { width:100%; }
    .bplp-hero-books { height:125px; padding-left:0; }
    .bplp-hero-books img { max-width:92px; height:115px; }
    .bplp-hero-books img:nth-child(2) { height:125px; }
    .bplp-hero-books img:nth-child(3) { height:110px; }
    .bplp-form-card { padding:1.35rem; }
    .bplp-form-row { grid-template-columns:1fr; }
    .bplp-trust-grid { grid-template-columns:1fr; }
    .bplp-trust-grid div, .bplp-trust-grid div:first-child, .bplp-trust-grid div:nth-child(3) { border-right:1px solid #e6dcd7; border-bottom:1px solid #e6dcd7; border-left:1px solid #e6dcd7; }
    .bplp-service-grid, .bplp-approach-grid, .bplp-process-grid, .bplp-options-grid { grid-template-columns:1fr; }
    .bplp-service-card, .bplp-process-grid li { min-height:0; }
    .bplp-cover-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); gap:1.5rem .8rem; }
    .bplp-cover-grid img { max-height:none; }
    .bplp-legacy-covers { min-height:370px; padding:1rem; }
    .bplp-legacy-covers img { max-height:320px; }
    .bplp-benefit-list article { grid-template-columns:42px 1fr; }
    .bplp-final-actions { width:100%; }
}

@media (prefers-reduced-motion:reduce) {
    .bplp *, .bplp *::before, .bplp *::after { scroll-behavior:auto !important; transition:none !important; }
}

/* =========================================================
   FINAL RESPONSIVE NORMALIZATION — ALL PAGES
   Keep this section last in the stylesheet.
   ========================================================= */

html { width:100%; max-width:100%; overflow-x:hidden; overflow-x:clip; }
body { width:100%; max-width:100%; overflow-x:hidden; overflow-x:clip; }
body.menu-open { overflow:hidden; }
main, .site-header, .site-footer { width:100%; max-width:100%; }
img, picture, video, canvas, iframe { max-width:100%; }
input, select, textarea, button { max-width:100%; }
.container { width:min(calc(100% - 2rem), var(--container)); max-width:100%; }
.portfolio-carousel-track { max-width:100%; overscroll-behavior-inline:contain; }
.hero-grid > *, .heading-split > *, .story-band-grid > *, .process-layout > *, .reasons-grid > *, .faq-layout > *, .consultation-grid > *, .about-hero-grid > *, .about-intro-grid > *, .about-services-grid > *, .about-cta-inner > *, .work-hero-grid > *, .work-process-layout > *, .work-collaboration-grid > *, .work-support-grid > *, .work-cta-inner > *, .portfolio-statement-grid > *, .portfolio-cta-grid > *, .blog-hero-grid > *, .blog-section-heading > *, .blog-topics-grid > *, .blog-cta-grid > *, .article-layout > *, .article-cta > *, .article-cta-grid > *, .gw-hero-grid > *, .gw-intro-grid > *, .gw-section-heading > *, .gw-genres-grid > *, .gw-benefits-grid > *, .gw-faq-grid > *, .gw-final-cta-grid > *, .editing-review-grid > *, .editing-focus-heading > *, .publishing-intro-grid > *, .publishing-platforms-grid > *, .marketing-intro-grid > *, .marketing-showcase-heading > *, .marketing-measurement-grid > *, .design-intro-grid > *, .design-gallery-heading > *, .bplp-hero-grid > *, .bplp-section-heading > *, .bplp-feature-banner-grid > *, .bplp-legacy-grid > *, .bplp-difference-grid > *, .bplp-faq-grid > *, .bplp-final-cta-grid > * { min-width:0; }

/* Mobile navigation: keep the closed panel inside the viewport */
@media (max-width:900px) {
  html { scroll-padding-top:68px; }
  body { --site-header-height:68px; }
  .site-header { position:fixed; z-index:10000; top:0; right:0; left:0; width:100%; background:transparent; }
  .header-inner { display:grid; min-height:68px; grid-template-columns:1fr auto; align-items:center; gap:1rem; }
  .brand { position:relative; z-index:2; }
  .brand img { width:56px; height:66px; }
  .header-actions { display:none; }
  .menu-toggle { position:relative; z-index:10002; display:grid; width:44px; height:44px; margin-left:auto; padding:10px; place-content:center; gap:5px; border:0; background:transparent; cursor:pointer; }
  .menu-toggle > span:not(.sr-only) { display:block; width:23px; height:2px; background:currentColor; transition:transform .2s ease, opacity .2s ease; }
  .menu-toggle[aria-expanded="true"] > span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] > span:nth-child(2) { opacity:0; }
  .menu-toggle[aria-expanded="true"] > span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
  .primary-nav { position:fixed !important; top:68px !important; right:0 !important; bottom:auto !important; left:0 !important; z-index:10001 !important; display:flex !important; width:100% !important; max-width:100% !important; height:calc(100dvh - 68px) !important; min-height:calc(100dvh - 68px) !important; max-height:calc(100dvh - 68px) !important; margin:0 !important; padding:12px 20px 32px !important; flex-direction:column !important; align-items:stretch !important; justify-content:flex-start !important; gap:0 !important; overflow-x:hidden !important; overflow-y:auto !important; visibility:hidden !important; opacity:1 !important; background:#fff !important; box-shadow:0 20px 35px rgba(40,22,20,.14) !important; pointer-events:none !important; transform:none !important; clip-path:inset(0 0 0 100%) !important; transition:clip-path .25s ease, visibility .25s ease !important; overscroll-behavior:contain; }
  .primary-nav.is-open { visibility:visible !important; opacity:1 !important; background:#fff !important; pointer-events:auto !important; transform:none !important; clip-path:inset(0) !important; }
  #primary-nav > a { position:relative !important; display:flex !important; width:100% !important; min-height:54px !important; align-items:center !important; margin:0 !important; padding:.8rem 0 !important; border-bottom:1px solid #eadfda !important; color:#28201e !important; font-family:inherit !important; font-size:1rem !important; font-weight:750 !important; line-height:1.25 !important; text-decoration:none !important; }
  #primary-nav a::after { display:none !important; }
  #primary-nav .nav-dropdown { position:relative !important; display:block !important; width:100% !important; min-width:0 !important; height:auto !important; margin:0 !important; }
  #primary-nav .nav-dropdown-trigger { display:grid !important; width:100% !important; min-height:54px !important; grid-template-columns:minmax(0,1fr) 48px !important; align-items:center !important; border-bottom:1px solid #eadfda !important; }
  #primary-nav .nav-dropdown-trigger > a { display:flex !important; min-width:0 !important; min-height:54px !important; align-items:center !important; padding:.8rem 0 !important; color:#28201e !important; font-family:inherit !important; font-size:1rem !important; font-weight:750 !important; line-height:1.25 !important; }
  #primary-nav .nav-dropdown-toggle { display:grid !important; width:48px !important; height:54px !important; padding:0 !important; place-items:center !important; justify-self:end !important; border:0 !important; background:transparent !important; }
  #primary-nav .nav-dropdown-toggle svg { width:11px !important; height:7px !important; }
  #primary-nav .nav-dropdown-menu { position:static !important; top:auto !important; left:auto !important; display:none !important; width:100% !important; min-width:0 !important; max-width:none !important; max-height:none !important; margin:0 !important; padding:5px 0 8px 14px !important; border:0 !important; border-radius:0 !important; visibility:visible !important; opacity:1 !important; overflow:visible !important; background:#faf6f4 !important; box-shadow:none !important; pointer-events:auto !important; transform:none !important; }
  #primary-nav .nav-dropdown-menu::before { display:none !important; }
  #primary-nav .nav-dropdown.is-open > .nav-dropdown-menu { display:grid !important; }
  #primary-nav .nav-dropdown-item { display:flex !important; width:100% !important; min-width:0 !important; min-height:45px !important; align-items:center !important; justify-content:space-between !important; margin:0 !important; padding:.68rem .8rem !important; border:0 !important; border-bottom:1px solid #eadfda !important; border-radius:0 !important; color:#342927 !important; background:transparent !important; font-family:inherit !important; font-size:.9rem !important; font-weight:700 !important; line-height:1.3 !important; }
  #primary-nav .nav-dropdown-item:last-child { border-bottom:0 !important; }
  #primary-nav .nav-dropdown-item:hover, #primary-nav .nav-dropdown-item:focus-visible { padding-left:1rem !important; color:var(--rosewood) !important; background:#f4e9e5 !important; }
}

/* Tablet layouts */
@media (max-width:900px) {
  .section { padding:clamp(3.25rem, 8vw, 4.75rem) 0; }
  .hero-grid, .heading-split, .story-band-grid, .process-layout, .reasons-grid, .faq-layout, .consultation-grid, .about-hero-grid, .about-intro-grid, .about-services-grid, .about-cta-inner, .work-hero-grid, .work-process-layout, .work-collaboration-grid, .work-support-grid, .work-cta-inner, .portfolio-statement-grid, .portfolio-cta-grid, .blog-hero-grid, .blog-section-heading, .blog-topics-grid, .blog-cta-grid, .article-layout, .article-cta, .article-cta-grid, .gw-hero-grid, .gw-intro-grid, .gw-section-heading, .gw-genres-grid, .gw-benefits-grid, .gw-faq-grid, .gw-final-cta-grid, .editing-review-grid, .editing-focus-heading, .publishing-intro-grid, .publishing-platforms-grid, .marketing-intro-grid, .marketing-showcase-heading, .marketing-measurement-grid, .design-intro-grid, .design-gallery-heading, .bplp-hero-grid, .bplp-section-heading, .bplp-feature-banner-grid, .bplp-legacy-grid, .bplp-difference-grid, .bplp-faq-grid, .bplp-final-cta-grid { grid-template-columns:minmax(0,1fr) !important; }
  .hero-grid, .about-hero-grid, .work-hero-grid, .gw-hero-grid { min-height:0 !important; }
  .heading-split, .blog-section-heading, .gw-section-heading, .marketing-showcase-heading, .design-gallery-heading, .bplp-section-heading { align-items:start !important; gap:1.25rem !important; }
  .process-intro, .work-process-intro, .gw-benefits-copy, .gw-faq-intro, .bplp-difference-grid > div:first-child, .bplp-faq-grid > div:first-child { position:static !important; top:auto !important; }
  .service-grid, .mission-grid, .values-grid, .expectations-grid, .portfolio-principles, .gw-service-grid, .editing-level-grid, .publishing-option-grid, .marketing-plan-grid, .design-format-grid, .bplp-service-grid, .bplp-approach-grid, .bplp-process-grid, .bplp-options-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .gw-trust-grid, .bplp-trust-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .blog-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .article-layout { padding-top:3.5rem; }
  .article-sidebar { position:static !important; }
  .gw-hero-copy, .about-hero-copy, .work-hero-copy { padding-top:1rem; }
  .gw-hero-media, .marketing-featured-books, .design-hero-covers { width:min(100%,580px) !important; margin-inline:auto !important; }
  .bplp-final-actions { width:min(100%,360px); min-width:0; }
}

/* Phones */
@media (max-width:600px) {
  :root { --radius:10px; }
  .container, .bplp .container { width:min(calc(100% - 1.5rem), var(--container)) !important; }
  .section, .bplp .section { padding:3.25rem 0 !important; }
  h1 { font-size:clamp(2.55rem, 13.5vw, 4rem); line-height:.98; overflow-wrap:break-word; }
  h2 { font-size:clamp(2.05rem, 10.5vw, 3.1rem); line-height:1; overflow-wrap:break-word; }
  h3, p, li, a, span { overflow-wrap:break-word; }
  .button { width:100%; min-height:48px; text-align:center; }
  .hero { background:#fff; }
  .hero-grid { padding-bottom:2rem; gap:1rem !important; }
  .hero-copy { padding:2.6rem 0 1.5rem; }
  .hero-actions { align-items:stretch; flex-direction:column; gap:.85rem; }
  .hero-actions .text-link { min-height:42px; justify-content:center; }
  .hero-points { display:grid; grid-template-columns:1fr; gap:.45rem; }
  .hero-books { width:100%; min-height:330px; max-width:360px; margin-inline:auto; }
  .book { width:clamp(112px,38vw,150px); }
  .book-back { top:62px; left:0; }
  .book-main { top:18px; left:29%; }
  .book-front { top:90px; left:100%; }
  .hero-caption { right:0; bottom:0; font-size:.82rem; }
  .trust-grid, .gw-trust-grid, .bplp-trust-grid { grid-template-columns:1fr !important; }
  .trust-grid p, .bplp-trust-grid div { padding:1rem .8rem !important; border-right:1px solid var(--line) !important; border-bottom:1px solid var(--line) !important; border-left:1px solid var(--line) !important; }
  .service-grid, .mission-grid, .values-grid, .expectations-grid, .portfolio-principles, .blog-grid, .gw-service-grid, .editing-level-grid, .publishing-option-grid, .marketing-service-grid, .marketing-plan-grid, .design-format-grid, .bplp-service-grid, .bplp-approach-grid, .bplp-process-grid, .bplp-options-grid { grid-template-columns:minmax(0,1fr) !important; }
  .service-card, .mission-grid article, .value-card, .expectations-grid article, .gw-service-card, .bplp-service-card, .bplp-process-grid li { min-height:0 !important; }
  .story-band-image, .about-intro-image, .work-collaboration-image, .work-support-image, .gw-intro-media, .editing-review-image { min-height:280px !important; height:280px !important; }
  .reason-list, .field-row, .gw-intro-list, .gw-process-list, .cw-writing-list, .editing-review-points, .publishing-format-grid, .publishing-preparation-grid, .marketing-metric-list, .bplp-form-row, .bplp-check-list { grid-template-columns:minmax(0,1fr) !important; }
  .process-list li, .work-timeline li, .gw-process-step, .gw-benefits-list article, .publishing-preparation-grid article { grid-template-columns:42px minmax(0,1fr) !important; gap:.8rem !important; padding:1.25rem .25rem !important; }
  .portfolio-cover-flow { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
  .portfolio-principles article { border-right:0; }
  .portfolio-cta-actions, .gw-final-actions, .about-cta-actions, .work-cta-actions, .blog-cta-actions, .article-cta-actions, .bplp-final-actions { width:100% !important; min-width:0 !important; align-items:stretch !important; }
  .footer-grid { grid-template-columns:minmax(0,1fr) !important; }
  .footer-bottom { align-items:flex-start; flex-direction:column; gap:.75rem; }
  .footer-bottom div { flex-wrap:wrap; }
  .contact-options { align-items:flex-start; flex-direction:column; gap:.8rem; }
  .consultation-copy { padding:0 0 0 1rem; }
  .consultation-form { padding:1.15rem; }
  .article-hero h1, .portfolio-hero h1, .gw-hero-copy h1, .publishing-intro-copy h2, .marketing-intro-heading h2, .marketing-showcase-heading h2, .design-gallery-heading h2, .bplp-hero h1 { font-size:clamp(2.45rem, 13vw, 3.8rem) !important; line-height:.98 !important; }
  .article-meta { justify-content:center; gap:.55rem 1rem; }
  .article-content { font-size:1rem; }
  .article-cta { margin:2.5rem 0 1rem; padding:1.5rem; border-radius:14px; }
  .gw-hero { overflow:hidden; }
  .gw-hero-grid { padding-top:2.5rem !important; padding-bottom:2.5rem !important; }
  .gw-hero-actions { align-items:stretch; flex-direction:column; }
  .gw-hero-actions .button, .gw-hero-actions .gw-text-link { width:100%; justify-content:center; }
  .gw-hero-note, .cw-word-card, .editing-mark, .publishing-format, .marketing-hero-caption, .design-hero-caption { display:none !important; }
  .marketing-featured-books, .design-hero-covers { width:100% !important; padding:1rem 0 2rem !important; gap:.75rem !important; }
  .marketing-book-grid, .design-cover-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:1.5rem .8rem !important; }
  .marketing-book-grid figure, .design-cover-grid figure { height:clamp(280px,72vw,400px) !important; }
  .marketing-book-grid img, .design-cover-grid img { width:100% !important; max-width:100% !important; height:clamp(280px,72vw,400px) !important; object-fit:contain !important; }
  .publishing-readiness-list > div, .marketing-journey-list article, .design-impact-list article, .bplp-benefit-list article { grid-template-columns:38px minmax(0,1fr) !important; gap:.75rem !important; }
  .bplp-hero { padding:2rem 0 3rem; }
  .bplp-hero-copy { text-align:left !important; }
  .bplp-breadcrumbs, .bplp-hero-actions { justify-content:flex-start !important; }
  .bplp-hero-actions { align-items:stretch; flex-direction:column; }
  .bplp-hero-books { justify-content:center; padding-left:0; }
  .bplp-form-card { width:100%; padding:1.2rem; }
  .bplp-cover-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:1.4rem .7rem; }
  .bplp-legacy-covers { min-height:350px; padding:1rem; }
  .bplp-final-cta-grid { text-align:left; }
}

/* Consultation popup: scroll safely on every viewport */
#consultation-popup.consultation-modal { overflow:hidden !important; }
#consultation-popup .consultation-dialog { width:min(1080px,100%) !important; max-width:100% !important; max-height:calc(100dvh - 24px) !important; overflow:hidden !important; }
#consultation-popup .consultation-aside, #consultation-popup .consultation-form { min-width:0 !important; min-height:0 !important; overflow-x:hidden !important; overflow-y:auto !important; overscroll-behavior:contain !important; }

@media (max-width:900px) {
  #consultation-popup.consultation-modal { align-items:center !important; padding:10px !important; overflow:hidden !important; }
  #consultation-popup .consultation-dialog { width:min(640px,100%) !important; height:auto !important; max-height:calc(100dvh - 20px) !important; grid-template-columns:minmax(0,1fr) !important; border-radius:14px !important; }
  #consultation-popup .consultation-aside { display:none !important; }
  #consultation-popup .consultation-form { width:100% !important; max-height:calc(100dvh - 20px) !important; padding:3.4rem 1.25rem 1.25rem !important; overflow-y:auto !important; }
  #consultation-popup .consultation-close { position:absolute !important; top:10px !important; right:10px !important; }
}

@media (max-width:540px) {
  #consultation-popup.consultation-modal { padding:6px !important; }
  #consultation-popup .consultation-dialog { max-height:calc(100dvh - 12px) !important; }
  #consultation-popup .consultation-form { max-height:calc(100dvh - 12px) !important; padding:3.2rem .9rem .9rem !important; }
  #consultation-popup .consultation-form-heading { padding-right:28px !important; }
  #consultation-popup .consultation-form-heading h2 { font-size:1.85rem !important; }
  #consultation-popup .consultation-fields { grid-template-columns:minmax(0,1fr) !important; gap:.7rem !important; }
  #consultation-popup .consultation-field-full { grid-column:auto !important; }
  #consultation-popup .consultation-field input, #consultation-popup .consultation-field select, #consultation-popup .consultation-field textarea { width:100% !important; min-width:0 !important; font-size:16px !important; }
  #consultation-popup .consultation-submit { position:static !important; width:100% !important; }
}

@media (max-width:360px) {
  .container, .bplp .container { width:min(calc(100% - 1.1rem), var(--container)) !important; }
  .primary-nav { padding-right:14px !important; padding-left:14px !important; }
  .hero-books { min-height:300px; }
  .book { width:118px; }
  .book-main { left:27%; }
  .book-front { left:100%; }
  .marketing-book-grid, .design-cover-grid, .bplp-cover-grid { gap:1rem .55rem !important; }
}
/* Legal pages */
.legal-hero { border-bottom: 1px solid var(--line); background: linear-gradient(104deg, #fff 0 66%, var(--rosewood) 66%); }
.legal-hero-grid { display: grid; min-height: 430px; grid-template-columns: 1.35fr .65fr; align-items: center; gap: clamp(2rem, 7vw, 7rem); }
.legal-hero h1 { max-width: 850px; margin: .7rem 0 1rem; font-size: clamp(3.2rem, 7vw, 6.7rem); }
.legal-intro { max-width: 720px; color: var(--muted); font-size: clamp(1.05rem, 1.5vw, 1.2rem); }
.legal-summary { padding: clamp(1.5rem, 4vw, 2.5rem); color: #fff; }
.legal-summary strong { display: block; margin-bottom: .8rem; font: 750 1.45rem/1.2 Georgia, serif; }
.legal-summary p { color: rgb(255 255 255 / 78%); }
.legal-summary a { display: inline-block; margin-top: .7rem; color: #fff; font-weight: 750; }
.legal-section { padding: clamp(3rem, 7vw, 6.5rem) 0; }
.legal-layout { display: grid; grid-template-columns: 250px minmax(0, 850px); justify-content: space-between; gap: clamp(2.5rem, 7vw, 7rem); }
.legal-nav { position: sticky; top: 1.5rem; height: max-content; padding: 1.25rem; border: 1px solid var(--line); background: var(--soft); }
.legal-nav p { margin: 0 0 .8rem; color: var(--rosewood); font-size: .75rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.legal-nav a { display: block; padding: .55rem 0; border-bottom: 1px solid var(--line); color: var(--muted); font-size: .9rem; }
.legal-nav a:last-child { border-bottom: 0; }
.legal-nav a:hover { color: var(--rosewood); }
.legal-content section { position: relative; padding: 0 0 clamp(2.4rem, 5vw, 4rem) 3.8rem; border-left: 1px solid var(--line); scroll-margin-top: 2rem; }
.legal-content section:last-child { padding-bottom: 0; }
.legal-number { position: absolute; top: .2rem; left: -1.05rem; display: grid; width: 2.1rem; height: 2.1rem; place-items: center; border-radius: 50%; color: #fff; background: var(--rosewood); font-size: .68rem; font-weight: 850; }
.legal-content h2 { margin: 0 0 1rem; font-size: clamp(2rem, 4vw, 3.25rem); }
.legal-content h3 { margin: 1.6rem 0 .5rem; font-size: 1.15rem; }
.legal-content p, .legal-content li { color: var(--muted); }
.legal-content ul, .legal-content ol { margin: 1rem 0 0; padding-left: 1.25rem; }
.legal-content li { margin-bottom: .55rem; padding-left: .25rem; }
.legal-content a { color: var(--rosewood); text-decoration: underline; text-underline-offset: 3px; }
.legal-contact { padding: clamp(1.6rem, 4vw, 2.5rem) !important; border: 0 !important; background: var(--soft); }
.legal-contact .legal-number { display: none; }
.legal-contact-links { display: grid; margin-top: 1.4rem; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--line); }
.legal-contact-links a { display: block; min-width: 0; padding: 1.1rem; color: var(--ink); background: #fff; text-decoration: none; overflow-wrap: anywhere; }
.legal-contact-links span, .legal-contact-links strong { display: block; }
.legal-contact-links span { margin-bottom: .3rem; color: var(--muted); font-size: .7rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }

@media (max-width: 820px) {
  .legal-hero { background: linear-gradient(180deg, #fff 0 67%, var(--rosewood) 67%); }
  .legal-hero-grid, .legal-layout { grid-template-columns: 1fr; }
  .legal-hero-grid { padding-top: 2.5rem; gap: 1.5rem; }
  .legal-summary { margin-inline: calc(var(--container-gutter, 1.25rem) * -1); }
  .legal-nav { position: static; display: none; }
  .legal-content section { padding-left: 2.25rem; }
}

@media (max-width: 520px) {
  .legal-hero h1 { font-size: clamp(2.7rem, 14vw, 4rem); }
  .legal-contact-links { grid-template-columns: 1fr; }
}

/* Portfolio content sliders */
.portfolio-loop-section { overflow: hidden; padding: clamp(3.75rem, 7vw, 6.5rem) 0; }
.portfolio-loop-heading { margin-bottom: clamp(1.8rem, 4vw, 3rem); }
.portfolio-loop-heading h2 { max-width: 920px; margin-bottom: .75rem; }
.portfolio-loop-heading > p:last-child, .portfolio-loop-heading > div > p:last-child, .portfolio-loop-heading-side > p { max-width: 690px; margin: 0; color: var(--muted); }
.portfolio-loop-heading--controls { display: flex; align-items: end; justify-content: space-between; gap: 2rem; }
.portfolio-loop-heading--controls > div:first-child { min-width: 0; }
.portfolio-loop-heading--split { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(280px, .55fr); align-items: end; gap: clamp(2rem, 7vw, 7rem); }
.portfolio-loop-heading--split h2 { margin-bottom: 0; }
.portfolio-loop-heading-side { display: flex; align-items: flex-start; flex-direction: column; gap: 1.2rem; }
.portfolio-loop-heading--center { text-align: center; }
.portfolio-loop-heading--center h2 { margin-inline: auto; }
.portfolio-loop-heading--center .portfolio-loop-controls { justify-content: center; margin: 1.25rem auto 0; }
.portfolio-loop-controls { display: flex; flex: 0 0 auto; gap: .65rem; }
.portfolio-loop-controls button { display: grid; width: 50px; height: 50px; padding: 0; place-items: center; border: 1px solid #d8ccc6; border-radius: 50%; color: var(--ink); background: #fff; cursor: pointer; font-size: 1.2rem; transition: color .2s ease, border-color .2s ease, background .2s ease, transform .2s ease; }
.portfolio-loop-controls button:hover, .portfolio-loop-controls button:focus-visible { color: #fff; border-color: var(--rosewood); background: var(--rosewood); transform: translateY(-2px); }
.portfolio-loop { width: 100%; overflow: hidden; padding: .75rem 0; cursor: grab; touch-action: pan-y; user-select: none; }
.portfolio-loop img { -webkit-user-drag: none; user-select: none; }
.portfolio-loop:focus-visible { outline: 3px solid rgb(117 47 53 / 28%); outline-offset: -3px; }
.portfolio-loop.is-dragging { cursor: grabbing; }
.portfolio-loop-track { display: flex; width: max-content; transform: translate3d(0, 0, 0); will-change: transform; }
.portfolio-loop-track--videos { --portfolio-gap: clamp(1rem, 2vw, 1.5rem); }
.portfolio-loop-track--books { --portfolio-gap: clamp(1.25rem, 2.5vw, 2rem); }
.portfolio-loop-track--illustrations { --portfolio-gap: clamp(1rem, 2vw, 1.5rem); }
.portfolio-loop-track--reviews { --portfolio-gap: clamp(1rem, 2vw, 1.5rem); }
.portfolio-loop-set { display: flex; padding-right: var(--portfolio-gap); align-items: stretch; gap: var(--portfolio-gap); }

.portfolio-videos { background: #fff; }
.portfolio-video-card { width: clamp(300px, 32vw, 465px); padding: 0 0 1.25rem; overflow: hidden; border: 1px solid var(--line); border-radius: 16px; color: var(--ink); background: #fff; cursor: pointer; text-align: left; box-shadow: 0 16px 45px rgb(45 24 24 / 8%); transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease; }
.portfolio-video-card:hover { border-color: rgb(117 47 53 / 48%); box-shadow: 0 22px 55px rgb(45 24 24 / 15%); transform: translateY(-5px); }
.portfolio-video-poster { position: relative; display: block; margin-bottom: 1.1rem; overflow: hidden; aspect-ratio: 16 / 9; background: var(--soft); }
.portfolio-video-poster::after { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 48%, rgb(25 13 14 / 52%)); content: ""; }
.portfolio-video-poster img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.portfolio-video-card:hover img { transform: scale(1.035); }
.portfolio-play { position: absolute; z-index: 2; inset: 50% auto auto 50%; display: grid; width: 62px; height: 62px; padding-left: 4px; place-items: center; border-radius: 50%; color: #fff; background: var(--rosewood); box-shadow: 0 12px 26px rgb(38 15 17 / 35%); transform: translate(-50%, -50%); }
.portfolio-video-card > strong, .portfolio-video-card > span:last-child { display: block; margin-inline: 1.3rem; }
.portfolio-video-card > strong { min-height: 2.7em; font: 700 clamp(1.1rem, 1.5vw, 1.28rem)/1.35 Georgia, "Times New Roman", serif; }
.portfolio-video-card > span:last-child { margin-top: .75rem; color: var(--rosewood); font-size: .82rem; font-weight: 800; }

.portfolio-books-section { background: #f3efeb; }
.portfolio-book-card { width: clamp(190px, 18vw, 260px); flex: 0 0 auto; }
.portfolio-book-cover { display: grid; height: clamp(300px, 28vw, 410px); place-items: center; }
.portfolio-book-cover img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 18px 19px rgb(45 24 24 / 21%)); transition: filter .3s ease, transform .3s ease; }
.portfolio-book-card:hover .portfolio-book-cover img { filter: drop-shadow(0 25px 25px rgb(45 24 24 / 28%)); transform: translateY(-8px) scale(1.015); }
.portfolio-book-meta { padding-top: 1rem; }
.portfolio-book-meta h3 { margin: 0 0 .35rem; font: 700 clamp(1.05rem, 1.4vw, 1.25rem)/1.28 Georgia, "Times New Roman", serif; }
.portfolio-book-meta h3 a:hover { color: var(--rosewood); }
.portfolio-book-meta p { margin: 0; color: var(--muted); font-size: .86rem; }

/* Homepage published-books loop: covers and titles only */
.home-books-section { background: #fff; }
.portfolio-loop-track--home-books { --portfolio-gap: clamp(1.35rem, 2.8vw, 2.6rem); }
.home-book-card { width: clamp(176px, 17vw, 238px); margin: 0; flex: 0 0 auto; background: transparent; }
.home-book-cover { display: grid; height: clamp(285px, 27vw, 390px); place-items: center; }
.home-book-cover img { display: block; width: 100%; height: 100%; border: 0; border-radius: 0; object-fit: contain; filter: drop-shadow(0 16px 17px rgb(45 24 24 / 19%)); transition: filter .3s ease, transform .3s ease; }
.home-book-card:hover .home-book-cover img { filter: drop-shadow(0 23px 23px rgb(45 24 24 / 27%)); transform: translateY(-7px); }
.home-book-card figcaption { margin-top: .9rem; color: var(--ink); font: 700 clamp(.98rem, 1.25vw, 1.13rem)/1.35 Georgia, "Times New Roman", serif; text-align: center; }

.portfolio-illustrations { color: #fff; background: #24191a; }
.portfolio-illustrations .eyebrow { color: #e9bd94; }
.portfolio-illustrations .portfolio-loop-heading > div > p:last-child { color: rgb(255 255 255 / 70%); }
.portfolio-illustrations .portfolio-loop-controls button { color: #fff; border-color: rgb(255 255 255 / 32%); background: rgb(255 255 255 / 8%); }
.portfolio-illustrations .portfolio-loop-controls button:hover, .portfolio-illustrations .portfolio-loop-controls button:focus-visible { border-color: #fff; color: var(--rosewood-dark); background: #fff; }
.portfolio-illustration-card { display: grid; width: clamp(290px, 31vw, 520px); height: clamp(350px, 36vw, 520px); margin: 0; padding: clamp(.65rem, 1vw, .9rem); flex: 0 0 auto; overflow: hidden; place-items: center; border: 1px solid rgb(255 255 255 / 14%); border-radius: 14px; background: linear-gradient(145deg, #fff 0%, #f5eee9 100%); box-shadow: 0 24px 55px rgb(0 0 0 / 26%); transition: border-color .3s ease, box-shadow .3s ease, transform .3s ease; }
.portfolio-illustration-card img { display: block; width: 100%; height: 100%; border-radius: 9px; object-fit: contain; object-position: center; }
.portfolio-illustration-card:hover { border-color: rgb(255 255 255 / 42%); box-shadow: 0 30px 65px rgb(0 0 0 / 34%); transform: translateY(-4px); }

.portfolio-reviews-section { background: #fff; }
.portfolio-review-card { display: flex; width: clamp(310px, 34vw, 480px); min-height: 330px; margin: 0; padding: clamp(1.5rem, 3vw, 2.25rem); flex-direction: column; border: 1px solid var(--line); border-radius: 16px; background: #fbf8f6; }
.portfolio-review-stars { margin-bottom: 1.2rem; color: #ad6944; letter-spacing: .16em; }
.portfolio-review-card blockquote { margin: 0; font: 400 clamp(1.2rem, 1.7vw, 1.55rem)/1.55 Georgia, "Times New Roman", serif; }
.portfolio-review-card figcaption { margin-top: auto; padding-top: 1.5rem; color: var(--rosewood); font-weight: 850; }

.portfolio-video-dialog { width: min(1000px, calc(100vw - 2rem)); max-width: none; padding: 0; overflow: visible; border: 0; border-radius: 15px; background: #111; box-shadow: 0 35px 90px rgb(0 0 0 / 55%); }
.portfolio-video-dialog[open] { display: block; }
.portfolio-video-dialog::backdrop { background: rgb(20 11 12 / 88%); backdrop-filter: blur(6px); }
.portfolio-video-frame { aspect-ratio: 16 / 9; }
.portfolio-video-frame iframe { display: block; width: 100%; height: 100%; border: 0; border-radius: 15px; }
.portfolio-video-close { position: absolute; z-index: 2; top: -18px; right: -18px; display: grid; width: 46px; height: 46px; padding: 0; place-items: center; border: 1px solid rgb(255 255 255 / 45%); border-radius: 50%; color: #fff; background: var(--rosewood); cursor: pointer; font-size: 1.55rem; }
.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }

@media (max-width: 820px) {
  .portfolio-loop-heading--split { grid-template-columns: 1fr; gap: 1rem; }
  .portfolio-loop-heading--controls { align-items: flex-start; }
  .portfolio-book-cover { height: 360px; }
  .portfolio-video-close { top: 8px; right: 8px; }
}

@media (max-width: 560px) {
  .portfolio-loop-section { padding: 3.5rem 0; }
  .portfolio-loop-heading { margin-bottom: 1.4rem; }
  .portfolio-loop-heading--controls { flex-direction: column; gap: 1.15rem; }
  .portfolio-loop-controls button { width: 46px; height: 46px; }
  .portfolio-video-card { width: 82vw; }
  .portfolio-play { width: 52px; height: 52px; }
  .portfolio-book-card { width: 190px; }
  .portfolio-book-cover { height: 300px; }
  .home-book-card { width: 46vw; min-width: 158px; max-width: 195px; }
  .home-book-cover { height: 292px; }
  .home-book-card figcaption { margin-top: .7rem; font-size: .95rem; }
  .portfolio-illustration-card { width: 86vw; height: min(112vw, 520px); }
  .portfolio-review-card { width: 84vw; min-height: 310px; }
  .portfolio-cta-grid { gap: 1.8rem; }
}

/* Reusable landing-page hero cover motion + compact lead form */
.bplp-hero--cover-motion { min-height: 620px; padding: calc(clamp(2.4rem, 4vw, 3.8rem) + var(--lp-header-height, 104px)) 0 clamp(2.4rem, 4vw, 3.8rem); overflow: hidden; background: #752f35; }
.bplp-hero--cover-motion::before, .bplp-hero--cover-motion::after { display: none; }
.bplp-hero--cover-motion > .container, .bplp-hero--cover-motion .bplp-hero-grid { position: relative; z-index: 2; }
.bplp-hero--cover-motion .bplp-hero-books { display: none; }
.lp-cover-motion { position: absolute; z-index: 0; inset: 0; overflow: hidden; pointer-events: none; }
.lp-cover-motion-plane { position: absolute; z-index: 0; inset: -22% -16%; opacity: .78; filter: saturate(.88) contrast(.94); transform: rotate(11deg) scale(1.05); }
.lp-cover-lane { position: absolute; right: 0; left: 0; overflow: hidden; }
.lp-cover-lane--1 { top: 0; }
.lp-cover-lane--2 { top: 20%; }
.lp-cover-lane--3 { top: 40%; }
.lp-cover-lane--4 { top: 60%; }
.lp-cover-lane--5 { top: 80%; }
.lp-cover-track { display: flex; width: max-content; animation: lpCoverUpLeft 35s linear infinite; will-change: transform; }
.lp-cover-lane--down-right .lp-cover-track { animation-name: lpCoverDownRight; }
.lp-cover-lane--2 .lp-cover-track { animation-duration: 39s; animation-delay: -13s; }
.lp-cover-lane--3 .lp-cover-track { animation-duration: 37s; animation-delay: -23s; }
.lp-cover-lane--4 .lp-cover-track { animation-duration: 41s; animation-delay: -9s; }
.lp-cover-lane--5 .lp-cover-track { animation-duration: 36s; animation-delay: -27s; }
.lp-cover-set { display: flex; padding-right: .72rem; gap: .72rem; }
.lp-cover-set img { display: block; width: 132px; height: 198px; object-fit: contain; border-radius: 3px; filter: drop-shadow(0 13px 16px rgb(27 8 10 / 38%)); }
.lp-cover-motion-overlay { position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg, rgb(117 47 53 / 82%) 0%, rgb(117 47 53 / 76%) 40%, rgb(117 47 53 / 63%) 70%, rgb(62 21 26 / 70%) 100%); }
.bplp-hero.is-motion-paused .lp-cover-track { animation-play-state: paused; }
@keyframes lpCoverUpLeft { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(-50%, 0, 0); } }
@keyframes lpCoverDownRight { from { transform: translate3d(-50%, 0, 0); } to { transform: translate3d(0, 0, 0); } }

.bplp-hero--cover-motion .bplp-form-card { align-self: center; padding: 1.45rem 1.55rem 1.25rem; border-radius: 14px; }
.bplp-hero--cover-motion .bplp-form-card::before { height: 5px; border-radius: 14px 14px 0 0; }
.bplp-hero--cover-motion .bplp-form-kicker { margin-bottom: .25rem; font-size: .68rem; }
.bplp-hero--cover-motion .bplp-form-card h2 { margin-bottom: .35rem; font-size: clamp(1.9rem, 2.5vw, 2.45rem); }
.bplp-hero--cover-motion .bplp-form-card > p:not(.bplp-form-kicker) { margin-bottom: .8rem; font-size: .88rem; line-height: 1.45; }
.bplp-hero--cover-motion .bplp-lead-form { gap: .62rem; }
.bplp-hero--cover-motion .bplp-form-row { gap: .65rem; }
.bplp-hero--cover-motion .bplp-field { gap: .25rem; }
.bplp-hero--cover-motion .bplp-field label { font-size: .74rem; }
.bplp-hero--cover-motion .bplp-field input, .bplp-hero--cover-motion .bplp-field select, .bplp-hero--cover-motion .bplp-field textarea { min-height: 44px; padding: .58rem .7rem; font-size: .80rem; }
.bplp-hero--cover-motion .bplp-field textarea { min-height: 60px; max-height: 90px; }
.bplp-form-footer { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: .75rem; }
.bplp-hero--cover-motion .bplp-consent { gap: .45rem; font-size: .7rem; line-height: 1.3; }
.bplp-hero--cover-motion .bplp-submit { width: auto; min-height: 44px; padding: .65rem .9rem; white-space: nowrap; font-size: .82rem; }
.bplp-hero--cover-motion .bplp-form-note { font-size: .67rem; }

@media (max-width: 1050px) {
  .bplp-hero--cover-motion { min-height: 590px; }
  .lp-cover-set img { width: 116px; height: 174px; }
  .bplp-hero--cover-motion .bplp-form-card { padding-inline: 1.25rem; }
  .bplp-form-footer { grid-template-columns: 1fr; gap: .55rem; }
  .bplp-hero--cover-motion .bplp-submit { width: 100%; }
}

@media (max-width: 860px) {
  .bplp-hero--cover-motion { min-height: 0; }
  .lp-cover-motion-plane { inset: -12% -55%; opacity: .68; }
  .lp-cover-motion-overlay { background: rgb(117 47 53 / 76%); }
  .bplp-hero--cover-motion .bplp-hero-copy { text-align: left; }
  .bplp-hero--cover-motion .bplp-hero-actions { justify-content: flex-start; }
}

@media (max-width: 600px) {
  .bplp-hero--cover-motion { padding: calc(2.25rem + var(--lp-header-height, 74px)) 0 3rem; }
  .lp-cover-motion-plane { inset: -4% -115%; opacity: .64; transform: rotate(12deg); }
  .lp-cover-motion-overlay { background: rgb(117 47 53 / 79%); }
  .lp-cover-set { gap: .55rem; padding-right: .55rem; }
  .lp-cover-set img { width: 94px; height: 141px; }
  .bplp-hero--cover-motion .bplp-form-card { padding: 1.35rem 1rem 1rem; }
  .bplp-hero--cover-motion .bplp-form-card h2 { font-size: 2rem; }
  .bplp-hero--cover-motion .bplp-form-row, .bplp-form-footer { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .lp-cover-track { animation-play-state: paused !important; }
  .design-intro-cover-slide { transition:none !important; }
}

/* LP Get Started button attention animation */
.lp-header-button {
  transform-origin: center;
  will-change: transform;
  animation: lp-button-pulse 1.8s ease-in-out infinite;
}

@keyframes lp-button-pulse {
  0%,
  100% { transform: scale(1); }
  50% { transform: scale(1.08); }
}

.lp-header-button:hover,
.lp-header-button:focus-visible {
  animation-play-state: paused;
  transform: scale(1.08);
}

@media (prefers-reduced-motion: reduce) {
  .lp-header-button { animation: none; }
}

.publishing-readiness-section {
    padding: clamp(4.5rem, 8vw, 8rem) 0;
    color: #ffffff;
    background: #211416;
}

.publishing-readiness-layout {
    display: grid;
    grid-template-columns: minmax(300px, 0.78fr) minmax(500px, 1.22fr);
    align-items: start;
    gap: clamp(3rem, 8vw, 8rem);
}

.publishing-readiness-heading {
    position: sticky;
    top: 2rem;
}

.publishing-readiness-eyebrow {
    margin: 0 0 1.5rem;
    color: #f0bd7b;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.publishing-readiness-heading h2 {
    max-width: 560px;
    margin: 0;
    color: #ffffff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(3rem, 5.5vw, 5.6rem);
    font-weight: 500;
    line-height: 0.98;
    letter-spacing: -0.045em;
}

.publishing-readiness-intro {
    max-width: 540px;
    margin: 2rem 0 0;
    color: rgba(255, 255, 255, 0.68);
    font-size: 1rem;
    line-height: 1.75;
}

.publishing-readiness-list {
    border-top: 1px solid rgba(255, 255, 255, 0.18);
}

.publishing-readiness-item {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 1.25rem;
    padding: 1.7rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.18);
}

.publishing-readiness-item > span {
    padding-top: 0.2rem;
    color: #f0bd7b;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.12em;
}

.publishing-readiness-item h3 {
    margin: 0 0 0.55rem;
    color: #ffffff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.35rem, 2vw, 1.75rem);
    font-weight: 500;
}

.publishing-readiness-item p {
    max-width: 620px;
    margin: 0;
    color: rgba(255, 255, 255, 0.65);
    font-size: 0.95rem;
    line-height: 1.7;
}

@media (max-width: 900px) {
    .publishing-readiness-layout {
        grid-template-columns: 1fr;
        gap: 3rem;
    }

    .publishing-readiness-heading {
        position: static;
    }
}

@media (max-width: 560px) {
    .publishing-readiness-section {
        padding: 4rem 0;
    }

    .publishing-readiness-heading h2 {
        font-size: clamp(2.8rem, 14vw, 4rem);
    }

    .publishing-readiness-item {
        grid-template-columns: 38px minmax(0, 1fr);
        gap: 0.75rem;
    }
}

/* Amazon book-cover preview badges */
/*.book-amazon-link,*/
/*.bplp-cover-link {*/
/*    position: relative;*/
/*}*/

/*.book-preview-tag {*/
/*    position: absolute;*/
/*    top: 10px;*/
/*    left: 10px;*/
/*    z-index: 5;*/
/*    display: inline-flex;*/
/*    align-items: center;*/
/*    justify-content: center;*/
/*    padding: 0.5rem 0.7rem;*/
/*    border-radius: 4px;*/
/*    color: #ffffff;*/
/*    background: #732e34;*/
/*    box-shadow: 0 5px 14px rgba(0, 0, 0, 0.25);*/
/*    font-size: 0.66rem;*/
/*    font-weight: 800;*/
/*    line-height: 1;*/
/*    letter-spacing: 0.06em;*/
/*    text-align: center;*/
/*    text-transform: uppercase;*/
/*    white-space: nowrap;*/
/*    pointer-events: none;*/
/*}*/

/* Slightly smaller badge on phones */
@media (max-width: 600px) {
    .book-preview-tag {
        top: 7px;
        left: 7px;
        padding: 0.42rem 0.55rem;
        font-size: 0.56rem;
        letter-spacing: 0.04em;
    }
}

/* Compact preview badge for LP book covers */
/*.bplp-cover-grid .bplp-cover-link {*/
/*    position: relative;*/
/*}*/

/*.bplp-cover-grid .book-preview-tag {*/
/*    position: absolute;*/
/*    top: 8px;*/
/*    left: 8px;*/
/*    z-index: 5;*/

/*    display: flex;*/
/*    width: 62px;*/
/*    min-width: 0;*/
/*    height: auto;*/
/*    padding: 6px 7px 7px;*/
/*    flex-direction: column;*/
/*    align-items: center;*/
/*    justify-content: center;*/
/*    gap: 1px;*/

/*    border: 1px solid rgba(255, 255, 255, 0.2);*/
/*    border-radius: 3px 3px 9px 3px;*/

/*    color: #ffffff;*/
/*    background: rgba(115, 46, 52, 0.94);*/
/*    box-shadow: 0 5px 12px rgba(0, 0, 0, 0.24);*/

/*    line-height: 1;*/
/*    text-align: center;*/
/*    text-transform: uppercase;*/
/*    white-space: normal;*/
/*    pointer-events: none;*/

/*    transition:*/
/*        background-color 0.25s ease,*/
/*        transform 0.25s ease,*/
/*        box-shadow 0.25s ease;*/
/*}*/

/*.bplp-cover-grid .book-preview-tag small {*/
/*    display: block;*/
/*    margin: 0;*/
/*    color: rgba(255, 255, 255, 0.82);*/
/*    font-size: 6px;*/
/*    font-weight: 700;*/
/*    line-height: 1;*/
/*    letter-spacing: 0.08em;*/
/*}*/

/*.bplp-cover-grid .book-preview-tag strong {*/
/*    display: block;*/
/*    margin: 0;*/
/*    color: #ffffff;*/
/*    font-size: 8px;*/
/*    font-weight: 850;*/
/*    line-height: 1.1;*/
/*    letter-spacing: 0.04em;*/
/*}*/

/*.bplp-cover-grid figure:hover .book-preview-tag {*/
/*    background: #732e34;*/
/*    box-shadow: 0 7px 16px rgba(0, 0, 0, 0.3);*/
/*    transform: translateY(-2px);*/
/*}*/

/* Slightly larger when the grid has fewer columns */
@media (max-width: 1050px) {
    .bplp-cover-grid .book-preview-tag {
        width: 68px;
        padding: 7px 8px 8px;
    }

    .bplp-cover-grid .book-preview-tag small {
        font-size: 7px;
    }

    .bplp-cover-grid .book-preview-tag strong {
        font-size: 9px;
    }
}

@media (max-width: 600px) {
    .bplp-cover-grid .book-preview-tag {
        top: 6px;
        left: 6px;
        width: 62px;
        padding: 6px 7px 7px;
    }

    .bplp-cover-grid .book-preview-tag small {
        font-size: 6px;
    }

    .bplp-cover-grid .book-preview-tag strong {
        font-size: 8px;
    }
}

/* =========================================================
   NON-OVERLAPPING BOOK PREVIEW RIBBON
   ========================================================= */

.book-amazon-link,
.portfolio-published-link,
.home-book-link {
    position: relative;
}

/*
 * The ribbon sits above the cover, so it does not conceal
 * the title, author name, or cover artwork.
 */
.cover-preview-ribbon {
    position: absolute;
    top: -30px;
    left: 4px;
    z-index: 5;

    display: inline-flex;
    min-height: 25px;
    padding: 6px 17px 6px 10px;
    align-items: center;
    justify-content: center;

    border-radius: 3px 0 0 3px;
    color: #ffffff;
    background: #732e34;
    box-shadow: 0 5px 11px rgba(35, 15, 18, 0.2);

    font-size: 8px;
    font-weight: 850;
    line-height: 1;
    letter-spacing: 0.075em;
    text-transform: uppercase;
    white-space: nowrap;

    pointer-events: none;
    transition:
        background-color 0.25s ease,
        transform 0.25s ease;
}

/* Pointed ribbon end */
.cover-preview-ribbon::after {
    position: absolute;
    top: 0;
    right: -10px;

    border-top: 12.5px solid transparent;
    border-bottom: 12.5px solid transparent;
    border-left: 10px solid #732e34;

    content: "";
}

/* Small folded corner */
.cover-preview-ribbon::before {
    position: absolute;
    bottom: -5px;
    left: 0;

    border-top: 5px solid #4b1b20;
    border-left: 5px solid transparent;

    content: "";
}

.book-amazon-link:hover .cover-preview-ribbon,
.portfolio-published-link:hover .cover-preview-ribbon,
.home-book-link:hover .cover-preview-ribbon {
    background: #8a3941;
    transform: translateY(-2px);
}

.book-amazon-link:hover .cover-preview-ribbon::after,
.portfolio-published-link:hover .cover-preview-ribbon::after,
.home-book-link:hover .cover-preview-ribbon::after {
    border-left-color: #8a3941;
}

/* Leave room above the first Marketing and Design grid rows */
.marketing-book-grid,
.design-cover-grid {
    padding-top: 2rem;
}

/* Leave room inside the homepage slider so the ribbon is not clipped */
.home-books-loop {
    padding-top: 2.75rem;
}

/* Homepage linked cover */
.home-book-link {
    display: block;
    color: inherit;
    text-decoration: none;
}

.home-book-link:focus-visible,
.book-amazon-link:focus-visible,
.portfolio-published-link:focus-visible {
    outline: 3px solid rgba(115, 46, 52, 0.45);
    outline-offset: 5px;
}

/* =========================================================
   LIGHT PORTFOLIO PUBLISHED-WORK GRID
   ========================================================= */

.portfolio-published-section {
    padding: clamp(4.5rem, 8vw, 8rem) 0;
    color: #171414;
    background: #f8f4f2;
}

.portfolio-published-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 0.42fr);
    align-items: end;
    gap: clamp(2rem, 7vw, 7rem);
    margin-bottom: 3.5rem;
}

.portfolio-published-heading h2 {
    max-width: 960px;
    margin: 0.7rem 0 0;
    color: #171414;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.8rem, 5vw, 5.3rem);
    font-weight: 500;
    line-height: 0.97;
    letter-spacing: -0.05em;
}

.portfolio-published-heading > p {
    margin: 0;
    color: #6b6260;
    font-size: 1rem;
    line-height: 1.75;
}

.portfolio-published-grid {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    align-items: end;
    gap: clamp(1.25rem, 2vw, 2rem);
}

.portfolio-published-grid figure {
    position: relative;
    display: flex;
    min-width: 0;
    margin: 0;
    padding-top: 32px;
    justify-content: center;
}

.portfolio-published-link {
    display: flex;
    width: 100%;
    justify-content: center;
    color: inherit;
    text-decoration: none;
}

.portfolio-published-grid img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 310px;
    border-radius: 4px;
    object-fit: contain;
    filter: drop-shadow(0 18px 22px rgba(50, 18, 23, 0.18));
    transition:
        filter 0.3s ease,
        transform 0.3s ease;
}

.portfolio-published-grid figure:hover img {
    filter: drop-shadow(0 25px 28px rgba(50, 18, 23, 0.27));
    transform: translateY(-7px);
}

@media (max-width: 1050px) {
    .portfolio-published-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        row-gap: 2.25rem;
    }
}

@media (max-width: 760px) {
    .portfolio-published-heading {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
}

@media (max-width: 600px) {
    .portfolio-published-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1.75rem 0.8rem;
    }

    .portfolio-published-grid img {
        max-height: none;
    }

    .cover-preview-ribbon {
        top: -27px;
        left: 2px;
        min-height: 23px;
        padding: 6px 14px 6px 8px;
        font-size: 7px;
    }

    .cover-preview-ribbon::after {
        right: -9px;
        border-top-width: 11.5px;
        border-bottom-width: 11.5px;
        border-left-width: 9px;
    }
}

.honeypot{position:absolute!important;left:-9999px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important;}



/* =========================================================
   AUTHOR WEBSITE SERVICE PAGE
   ========================================================= */

.author-website-page { overflow:hidden; background:#fff; }
.author-website-page em { color:var(--rosewood); font-style:italic; }
.aw-hero { position:relative; min-height:760px; padding:clamp(8.5rem,14vw,11rem) 0 clamp(5rem,8vw,8rem); overflow:hidden; background:linear-gradient(135deg,#f8f4f0 0%,#fff 54%,#f1e7e3 100%); }
.aw-hero::before { position:absolute; top:-170px; right:-150px; width:520px; height:520px; border:1px solid rgb(117 47 53 / 15%); border-radius:50%; content:""; }
.aw-hero::after { position:absolute; right:12%; bottom:-180px; width:390px; height:390px; border:80px solid rgb(185 138 82 / 8%); border-radius:50%; content:""; }
.aw-hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1.03fr) minmax(430px,.97fr); gap:clamp(3rem,7vw,7.5rem); align-items:center; }
.aw-breadcrumbs { display:flex; flex-wrap:wrap; align-items:center; gap:.55rem; margin-bottom:2rem; color:var(--muted); font-size:.82rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.aw-breadcrumbs a:hover { color:var(--rosewood); }
.aw-hero-copy h1 { max-width:800px; margin-bottom:1.5rem; font-size:clamp(3.5rem,6.6vw,7rem); }
.aw-hero-copy h1 em { display:block; }
.aw-hero-lead { max-width:670px; margin:0 0 2rem; color:var(--muted); font-size:clamp(1.05rem,1.5vw,1.28rem); line-height:1.75; }
.aw-hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:1.35rem; margin-bottom:2.2rem; }
.aw-text-link,.aw-inline-link { display:inline-flex; align-items:center; gap:.6rem; color:var(--rosewood); font-weight:800; }
.aw-text-link:hover,.aw-inline-link:hover { color:var(--rosewood-dark); }
.aw-hero-points { display:flex; flex-wrap:wrap; gap:.7rem 1.4rem; margin:0; padding:0; list-style:none; color:#3f3534; font-size:.9rem; font-weight:750; }
.aw-hero-points li { position:relative; padding-left:1rem; }
.aw-hero-points li::before { position:absolute; top:.65em; left:0; width:5px; height:5px; border-radius:50%; background:var(--gold); content:""; }
.aw-hero-visual { position:relative; min-height:590px; }
.aw-browser-frame { position:absolute; top:15px; right:0; width:min(100%,560px); padding:12px; border:1px solid rgb(117 47 53 / 15%); border-radius:22px; background:#fff; box-shadow:0 35px 80px rgb(53 30 30 / 18%); transform:rotate(1.5deg); }
.aw-browser-bar { display:none; gap:6px; height:30px; align-items:center; padding:0 7px; }
.aw-browser-bar span { width:7px; height:7px; border-radius:50%; background:#d8c3bd; }
.aw-image-placeholder { position:relative; overflow:hidden; background:linear-gradient(145deg,#2e2021 0%,#732e34 48%,#b98a52 150%); }
.aw-image-placeholder::before { position:absolute; inset:10%; border:1px solid rgb(255 255 255 / 18%); content:""; }
.aw-image-placeholder::after { position:absolute; top:15%; right:-15%; width:65%; aspect-ratio:1; border:1px solid rgb(255 255 255 / 14%); border-radius:50%; box-shadow:0 0 0 50px rgb(255 255 255 / 3%),0 0 0 100px rgb(255 255 255 / 2%); content:""; }
.aw-image-frame::before,.aw-image-frame::after { display:none; }
.aw-image-frame > img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; image-rendering:auto; }
.aw-image-placeholder--hero > img { object-position:center center; }
.aw-image-placeholder--mobile > img { object-position:center top; }
.aw-image-placeholder--portrait > img { object-position:center 42%; }
.aw-image-placeholder--landscape > img { object-position:center 38%; }
.aw-image-placeholder--phone > img { object-position:center 44%; }
.aw-image-placeholder--legacy > img { object-position:center center; }
.aw-image-placeholder--hero { min-height:465px; border-radius:14px; }
.aw-mobile-frame { position:absolute; right:-18px; bottom:12px; z-index:2; width:185px; padding:8px; border:1px solid rgb(255 255 255 / 24%); border-radius:27px; background:#24191a; box-shadow:0 25px 50px rgb(45 25 25 / 28%); transform:rotate(-4deg); }
.aw-image-placeholder--mobile { min-height:0; aspect-ratio:522/781; border-radius:20px; background:#001d12; }
.aw-hero-note { position:absolute; bottom:22px; left:-32px; z-index:3; width:min(330px,72%); padding:1rem 1.2rem; border-left:4px solid var(--gold); background:#fff; box-shadow:var(--shadow); }
.aw-hero-note span { display:block; margin-bottom:.25rem; color:var(--rosewood); font-size:.74rem; font-weight:850; text-transform:uppercase; letter-spacing:.1em; }
.aw-hero-note strong { display:block; font-family:Georgia,"Times New Roman",serif; font-size:1.08rem; line-height:1.35; }
.aw-trust { border-block:1px solid var(--line); background:#fff; }
.aw-trust-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.aw-trust-grid > div { padding:1.55rem clamp(1rem,2.6vw,2.2rem); border-right:1px solid var(--line); }
.aw-trust-grid > div:first-child { padding-left:0; }
.aw-trust-grid > div:last-child { border-right:0; }
.aw-trust strong { display:block; margin-bottom:.18rem; color:var(--ink); font-family:Georgia,"Times New Roman",serif; font-size:1.15rem; }
.aw-trust span { display:block; color:var(--muted); font-size:.86rem; }
.aw-introduction { background:#fff; }
.aw-introduction-grid { display:grid; grid-template-columns:minmax(360px,.82fr) minmax(0,1.18fr); gap:clamp(3rem,8vw,8rem); align-items:center; }
.aw-introduction-visual { position:relative; min-height:620px; }
.aw-image-placeholder--portrait { width:87%; min-height:590px; border-radius:4px 110px 4px 4px; background:linear-gradient(155deg,#241719,#6d3035 55%,#d1a477); }
.aw-introduction-caption { position:absolute; right:0; bottom:35px; max-width:300px; padding:1.25rem 1.4rem; color:#fff; background:#241719; box-shadow:var(--shadow); }
.aw-introduction-caption span { display:block; margin-bottom:.3rem; color:#efc49f; font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.1em; }
.aw-introduction-caption strong { display:block; font-family:Georgia,"Times New Roman",serif; font-size:1.15rem; line-height:1.45; }
.aw-introduction-copy h2 { max-width:760px; }
.aw-introduction-copy p:not(.eyebrow) { max-width:740px; color:var(--muted); font-size:1.05rem; }
.aw-inline-link { margin-top:.8rem; }
.aw-services { background:#f7f3ef; }
.aw-section-heading { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(280px,.55fr); gap:clamp(2rem,8vw,8rem); align-items:end; margin-bottom:clamp(2.5rem,5vw,4.5rem); }
.aw-section-heading h2 { max-width:850px; margin-bottom:0; }
.aw-section-heading > p { margin:0 0 .5rem; color:var(--muted); }
.aw-service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:#d9ceca; border:1px solid #d9ceca; }
.aw-service-card { min-height:340px; padding:clamp(1.5rem,3vw,2.5rem); background:#fff; transition:color .3s ease,background-color .3s ease,transform .3s ease; }
.aw-service-card:hover { z-index:1; color:#fff; background:var(--rosewood); transform:translateY(-6px); box-shadow:0 22px 45px rgb(68 30 33 / 22%); }
.aw-service-meta { display:flex; justify-content:space-between; gap:1rem; margin-bottom:4.5rem; color:var(--rosewood); font-size:.75rem; font-weight:850; text-transform:uppercase; letter-spacing:.09em; }
.aw-service-meta small { font:inherit; text-align:right; }
.aw-service-card h3 { max-width:280px; margin-bottom:1rem; font-family:Georgia,"Times New Roman",serif; font-size:1.65rem; }
.aw-service-card p { margin:0; color:var(--muted); }
.aw-service-card:hover .aw-service-meta,.aw-service-card:hover p { color:rgb(255 255 255 / 82%); }
.aw-blueprint { background:#fff; }
.aw-blueprint .container { display:grid; grid-template-columns:minmax(300px,.7fr) minmax(0,1.3fr); gap:clamp(3rem,8vw,9rem); align-items:start; }
.aw-blueprint-heading { position:sticky; top:130px; }
.aw-blueprint-heading h2 em { display:block; }
.aw-blueprint-heading > p:not(.eyebrow) { max-width:470px; margin-bottom:1.7rem; color:var(--muted); }
.aw-page-list { border-top:1px solid var(--line); }
.aw-page-item { display:grid; grid-template-columns:70px minmax(0,1fr); gap:1.2rem; padding:1.6rem 0; border-bottom:1px solid var(--line); transition:padding .25s ease; }
.aw-page-item:hover { padding-left:1rem; }
.aw-page-item > span { color:var(--rosewood); font-size:.75rem; font-weight:850; letter-spacing:.1em; }
.aw-page-item h3 { margin-bottom:.35rem; font-family:Georgia,"Times New Roman",serif; font-size:1.45rem; }
.aw-page-item p { max-width:650px; margin:0; color:var(--muted); }
.aw-identity { color:#fff; background:#241719; }
.aw-identity-grid { display:grid; grid-template-columns:minmax(360px,.95fr) minmax(0,1.05fr); gap:clamp(3rem,8vw,8rem); align-items:center; }
.aw-identity-gallery { position:relative; min-height:620px; }
.aw-image-placeholder--landscape { position:absolute; top:0; left:0; width:88%; min-height:430px; border-radius:80px 4px 4px; background:linear-gradient(145deg,#8b444a,#e0b28a); }
.aw-image-placeholder--phone { position:absolute; right:0; bottom:0; width:42%; min-height:400px; border:8px solid #120d0e; border-radius:32px; background:linear-gradient(160deg,#eee0d5,#a75e61); box-shadow:0 25px 50px rgb(0 0 0 / 30%); }
.aw-identity-copy .eyebrow { color:#efc49f; }
.aw-identity-copy h2 { color:#fff; }
.aw-identity-copy h2 em { color:#efc49f; }
.aw-identity-copy > p:not(.eyebrow) { color:rgb(255 255 255 / 70%); }
.aw-identity-points { margin-top:2.2rem; border-top:1px solid rgb(255 255 255 / 15%); }
.aw-identity-points article { display:grid; grid-template-columns:48px minmax(0,1fr); gap:1rem; padding:1.25rem 0; border-bottom:1px solid rgb(255 255 255 / 15%); }
.aw-identity-points article > span { color:#efc49f; font-size:.72rem; font-weight:850; }
.aw-identity-points h3 { margin-bottom:.3rem; color:#fff; font-family:Georgia,"Times New Roman",serif; font-size:1.25rem; }
.aw-identity-points p { margin:0; color:rgb(255 255 255 / 64%); }
.aw-process { position:relative; color:#fff; background:var(--rosewood); }
.aw-process::before { position:absolute; inset:0; opacity:.22; background:radial-gradient(circle at 15% 15%,#d7a274 0,transparent 32%),radial-gradient(circle at 85% 80%,#40171b 0,transparent 40%); content:""; }
.aw-process .container { position:relative; z-index:1; }
.aw-section-heading--light h2 { color:#fff; }
.aw-section-heading--light .eyebrow { color:#f2c39f; }
.aw-section-heading--light > p { color:rgb(255 255 255 / 72%); }
.aw-process-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.aw-process-step { min-height:410px; padding:1.6rem; border:1px solid rgb(255 255 255 / 22%); background:rgb(39 15 17 / 18%); backdrop-filter:blur(8px); }
.aw-process-number { margin-bottom:7rem; color:#f2c39f; font-family:Georgia,"Times New Roman",serif; font-size:3.5rem; line-height:1; }
.aw-process-step small { display:block; margin-bottom:.55rem; color:#f2c39f; font-size:.72rem; font-weight:850; text-transform:uppercase; letter-spacing:.12em; }
.aw-process-step h3 { color:#fff; font-family:Georgia,"Times New Roman",serif; font-size:1.45rem; }
.aw-process-step p { margin:0; color:rgb(255 255 255 / 72%); }
.aw-features { background:#f7f3ef; }
.aw-feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.15rem; }
.aw-feature-card { min-height:250px; padding:1.6rem; border:1px solid var(--line); border-radius:4px; background:#fff; }
.aw-feature-card > span { display:block; margin-bottom:3rem; color:var(--rosewood); font-size:.74rem; font-weight:850; letter-spacing:.1em; }
.aw-feature-card h3 { margin-bottom:.6rem; font-family:Georgia,"Times New Roman",serif; font-size:1.4rem; }
.aw-feature-card p { margin:0; color:var(--muted); }
.aw-legacy { padding:clamp(4rem,8vw,8rem) 0; color:#fff; background:#171313; }
.aw-legacy-grid { display:grid; grid-template-columns:minmax(0,.85fr) minmax(420px,1.15fr); gap:clamp(3rem,8vw,8rem); align-items:center; }
.aw-legacy-copy .eyebrow { color:#efc49f; }
.aw-legacy-copy h2 { color:#fff; }
.aw-legacy-copy h2 em { display:block; color:#efc49f; }
.aw-legacy-copy p:not(.eyebrow) { max-width:570px; color:rgb(255 255 255 / 68%); }
.aw-image-placeholder--legacy { min-height:520px; border-radius:4px 110px 4px 4px; background:linear-gradient(145deg,#3b2526,#8f474d 55%,#d7a16e); }
.aw-faq { background:#fff; }
.aw-faq-grid { display:grid; grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr); gap:clamp(3rem,9vw,9rem); align-items:start; }
.aw-faq-intro { position:sticky; top:130px; }
.aw-faq-intro > p:not(.eyebrow) { margin-bottom:1.7rem; color:var(--muted); }
.aw-faq-list { border-top:1px solid var(--line); }
.aw-faq-list details { border-bottom:1px solid var(--line); }
.aw-faq-list summary { display:flex; min-height:84px; align-items:center; justify-content:space-between; gap:1.5rem; padding:1.2rem 0; cursor:pointer; color:var(--ink); font-family:Georgia,"Times New Roman",serif; font-size:1.2rem; font-weight:700; list-style:none; }
.aw-faq-list summary::-webkit-details-marker { display:none; }
.aw-faq-list summary i { position:relative; width:24px; height:24px; flex:0 0 24px; border:1px solid var(--rosewood); border-radius:50%; }
.aw-faq-list summary i::before,.aw-faq-list summary i::after { position:absolute; top:50%; left:50%; width:10px; height:1px; background:var(--rosewood); content:""; transform:translate(-50%,-50%); transition:transform .2s ease; }
.aw-faq-list summary i::after { transform:translate(-50%,-50%) rotate(90deg); }
.aw-faq-list details[open] summary i::after { transform:translate(-50%,-50%) rotate(0); }
.aw-faq-list details p { max-width:760px; padding:0 2.8rem 1.5rem 0; color:var(--muted); }
.aw-final-cta { padding:clamp(4rem,8vw,7rem) 0; color:#fff; background:var(--rosewood); }
.aw-final-cta-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr); gap:clamp(3rem,8vw,8rem); align-items:end; }
.aw-final-cta .eyebrow { color:#f2c39f; }
.aw-final-cta h2 { max-width:800px; margin:0; color:#fff; }
.aw-final-cta h2 em { display:block; color:#f2c39f; }
.aw-final-cta-grid > div:last-child > p { color:rgb(255 255 255 / 76%); }
.aw-final-actions { display:flex; flex-wrap:wrap; align-items:center; gap:1.25rem; }
.aw-final-actions > a:not(.btn) { color:#fff; font-weight:800; }

@media (max-width:1050px) {
.aw-hero-grid,.aw-introduction-grid,.aw-identity-grid,.aw-legacy-grid { grid-template-columns:minmax(0,1fr) minmax(360px,.85fr); gap:3rem; }
.aw-hero-copy h1 { font-size:clamp(3.5rem,7.5vw,5.8rem); }
.aw-service-grid,.aw-feature-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.aw-process-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.aw-process-step { min-height:340px; }
.aw-process-number { margin-bottom:4.5rem; }
}

@media (max-width:820px) {
.aw-hero { min-height:0; padding-top:8.5rem; }
.aw-hero-grid,.aw-introduction-grid,.aw-blueprint .container,.aw-identity-grid,.aw-legacy-grid,.aw-faq-grid,.aw-final-cta-grid { grid-template-columns:minmax(0,1fr); }
.aw-hero-visual { min-height:570px; }
.aw-introduction-visual { min-height:560px; }
.aw-section-heading { grid-template-columns:minmax(0,1fr); gap:1.2rem; }
.aw-blueprint-heading,.aw-faq-intro { position:static; }
.aw-trust-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.aw-trust-grid > div { border-bottom:1px solid var(--line); }
.aw-trust-grid > div:nth-child(2) { border-right:0; }
.aw-trust-grid > div:first-child { padding-left:1rem; }
.aw-identity-gallery { min-height:570px; }
.aw-legacy-grid { gap:2.5rem; }
}

@media (max-width:600px) {
.aw-hero { padding-top:7.25rem; }
.aw-hero-copy h1 { font-size:clamp(3rem,15vw,4.4rem); }
.aw-hero-actions,.aw-final-actions { align-items:stretch; flex-direction:column; }
.aw-hero-actions .button,.aw-final-actions .button { width:100%; }
.aw-hero-visual { min-height:470px; }
.aw-browser-frame { width:95%; }
.aw-image-placeholder--hero { min-height:365px; }
.aw-mobile-frame { right:0; width:135px; }
.aw-image-placeholder--mobile { min-height:0; }
.aw-hero-note { bottom:0; left:0; width:78%; }
.aw-trust-grid { grid-template-columns:minmax(0,1fr); }
.aw-trust-grid > div { border-right:0; }
.aw-service-grid,.aw-feature-grid,.aw-process-grid { grid-template-columns:minmax(0,1fr); }
.aw-service-card { min-height:290px; }
.aw-service-meta { margin-bottom:3rem; }
.aw-introduction-visual { min-height:470px; }
.aw-image-placeholder--portrait { min-height:445px; }
.aw-introduction-caption { right:0; bottom:20px; max-width:255px; }
.aw-page-item { grid-template-columns:45px minmax(0,1fr); }
.aw-identity-gallery { min-height:470px; }
.aw-image-placeholder--landscape { min-height:340px; }
.aw-image-placeholder--phone { width:44%; min-height:310px; }
.aw-process-step { min-height:300px; }
.aw-process-number { margin-bottom:3.5rem; }
.aw-image-placeholder--legacy { min-height:390px; border-radius:4px 70px 4px 4px; }
.aw-faq-list summary { font-size:1.05rem; }
.aw-faq-list details p { padding-right:0; }
}

.author-website-page .aw-hero-actions .button { min-height:54px; padding:.9rem 1.45rem; box-shadow:0 12px 28px rgb(117 47 53 / 18%); }
.author-website-page .aw-hero-actions .button:hover { box-shadow:0 16px 34px rgb(117 47 53 / 24%); transform:translateY(-2px); }
.author-website-page .aw-final-actions .button-light { min-height:54px; padding:.9rem 1.45rem; border-color:#fff; color:var(--rosewood-dark); background:#fff; }
.author-website-page .aw-final-actions .button-light:hover { border-color:#f6e5dc; color:var(--rosewood-dark); background:#f6e5dc; transform:translateY(-2px); }

.blog-hero{padding:clamp(3.5rem,5vw,5rem) 0;border-bottom:1px solid var(--line);background:linear-gradient(135deg,#fff 0%,var(--soft) 100%)}
.blog-hero-grid{display:grid;grid-template-columns:minmax(0,1fr);align-items:center}
.blog-hero-copy{width:100%;max-width:900px}
.blog-hero-copy h1{max-width:850px;margin-bottom:1.4rem;font-size:clamp(3.5rem,5.5vw,5.6rem);line-height:.98}
.blog-hero-copy>p:not(.eyebrow){max-width:650px;margin-bottom:1.7rem;color:var(--muted);font-size:1.08rem}
.blog-articles{padding:clamp(4rem,6vw,6rem) 0;background:#fff}
.blog-section-heading{margin-bottom:2rem}
.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.1rem,2vw,1.7rem);align-items:stretch}
.blog-card{display:flex;min-width:0;height:100%;overflow:hidden;flex-direction:column;border:1px solid var(--line);border-radius:4px;background:#fff;transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease}
.blog-card-image{display:block;overflow:hidden;background:var(--soft)}
.blog-card-image img{display:block;width:100%;height:clamp(185px,16vw,230px);object-fit:cover;transition:transform .5s ease}
.blog-card-content{display:flex;min-height:275px;padding:1.35rem;flex:1;flex-direction:column}
.blog-card .blog-meta{margin-bottom:.7rem;font-size:.67rem}
.blog-card h3{display:-webkit-box;min-height:3.55em;margin-bottom:.7rem;overflow:hidden;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.3rem,1.75vw,1.65rem);line-height:1.18;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.blog-card-content>p{display:-webkit-box;margin-bottom:1rem;overflow:hidden;color:var(--muted);font-size:.92rem;line-height:1.65;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.blog-card .blog-read-link{margin-top:auto}
.blog-card:hover{border-color:rgb(117 47 53 / 42%);box-shadow:var(--shadow);transform:translateY(-6px)}
.blog-card:hover .blog-card-image img{transform:scale(1.04)}

@media(max-width:1050px){.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.blog-hero{padding:3rem 0}.blog-hero-copy h1{font-size:clamp(3rem,13vw,4.5rem)}.blog-grid{grid-template-columns:1fr}.blog-card-image img{height:230px}.blog-card-content{min-height:0}}
/* Light landing-page footer */
.landing-footer,.lp-body .landing-footer { padding:0; color:#171414; background:#e6d9c9; }
.landing-footer a { color:inherit; text-decoration:none; }
.landing-footer-ticker { width:100%; overflow:hidden; color:#000; background:#fff; border-top:1px solid rgba(255,255,255,.18); border-bottom:1px solid rgba(23,20,20,.18); }
.landing-footer-ticker-track { display:flex; width:max-content; transform:translate3d(0,0,0); animation:landing-footer-scroll 34s linear infinite; will-change:transform; }
.landing-footer-ticker-item { display:flex; flex:0 0 auto; align-items:center; gap:.65rem; margin:0; padding:1rem 4rem; white-space:nowrap; font-size:.86rem; line-height:1.45; }
.landing-footer-ticker-item > span { color:#efc49f; font-size:.72rem; }
.landing-footer-ticker-item strong { color:#000; }
.landing-footer-main { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(160px,.55fr) minmax(250px,.9fr); gap:clamp(2rem,7vw,7rem); align-items:start; padding-top:clamp(2.75rem,4vw,5rem); padding-bottom:clamp(2.5rem,3vw,4rem); }
.landing-footer-brand { max-width:380px; }
.landing-footer-brand img { display:block; width:94px; height:94px; margin:0 0 1.2rem; object-fit:contain; filter:brightness(0) saturate(100%); }
.landing-footer-brand p { max-width:350px; margin:0; color:#554a48; font-size:.95rem; line-height:1.75; }
.landing-footer-heading { margin:0 0 1.2rem; color:#752f35; font-size:.76rem; font-weight:850; letter-spacing:.14em; text-transform:uppercase; }
.landing-footer-legal,.landing-footer-contact { display:flex; flex-direction:column; align-items:flex-start; gap:.7rem; }
.landing-footer-legal a,.landing-footer-contact a,.landing-footer-contact address { color:#3f3634; font-size:.95rem; line-height:1.65; transition:color .2s ease; }
.landing-footer-legal a:hover,.landing-footer-contact a:hover,.landing-footer-bottom a:hover { color:#752f35; }
.landing-footer-contact a { overflow-wrap:anywhere; }
.landing-footer-contact address { margin:0; font-style:normal; }
.landing-footer-bottom { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; padding-top:1.15rem; padding-bottom:1.15rem; border-top:1px solid rgba(117,47,53,.22); color:#625653; font-size:.82rem; }
.landing-footer-bottom p { margin:0; }
.landing-footer-bottom a { font-weight:750; transition:color .2s ease; }
@keyframes landing-footer-scroll { to { transform:translate3d(-50%,0,0); } }
@media (max-width:850px) { .landing-footer-main { grid-template-columns:repeat(2,minmax(0,1fr)); } .landing-footer-brand { grid-column:1/-1; max-width:520px; } }
@media (max-width:600px) { .landing-footer-ticker-item { padding:.85rem 2rem; font-size:.78rem; } .landing-footer-main { grid-template-columns:1fr; gap:2rem; } .landing-footer-brand { grid-column:auto; } .landing-footer-bottom { align-items:flex-start; flex-direction:column; gap:.65rem; } }
@media (prefers-reduced-motion:reduce) { .landing-footer-ticker-track { display:block; width:auto; animation:none; } .landing-footer-ticker-item { white-space:normal; } .landing-footer-ticker-item[aria-hidden="true"] { display:none; } }
/* Homepage footer disclaimer and centered legal links */
.site-footer-with-ticker { padding-top:0; }
.site-footer-with-ticker .site-footer-ticker { color:#171414; background:#fff; border-top:1px solid rgba(117,47,53,.18); border-bottom:1px solid rgba(117,47,53,.18); }
.site-footer-with-ticker .site-footer-ticker strong { color:#171414; }
.site-footer-with-ticker .footer-grid { padding-top:3.5rem; }
.site-footer-with-ticker .footer-bottom { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:1.5rem; }
.site-footer-with-ticker .footer-bottom > p { grid-column:1; justify-self:start; }
.site-footer-with-ticker .footer-bottom-legal { display:flex; grid-column:2; align-items:center; justify-content:center; gap:1.5rem; }
.site-footer-with-ticker .footer-bottom-balance { grid-column:3; }
@media (max-width:700px) { .site-footer-with-ticker .footer-grid { padding-top:2.75rem; } .site-footer-with-ticker .footer-bottom { grid-template-columns:1fr; justify-items:center; text-align:center; } .site-footer-with-ticker .footer-bottom > p,.site-footer-with-ticker .footer-bottom-legal,.site-footer-with-ticker .footer-bottom-balance { grid-column:1; justify-self:center; } .site-footer-with-ticker .footer-bottom-balance { display:none; } }

/* Book marketing landing page */
.bmlp { overflow:hidden; color:var(--ink); background:#fff; }
.bmlp em { color:var(--rosewood); font-weight:400; }
.bmlp-hero { position:relative; min-height:760px; padding:calc(var(--lp-header-height,104px) + clamp(4rem,7vw,7rem)) 0 clamp(4rem,7vw,6.5rem); overflow:hidden; color:#fff; background:radial-gradient(circle at 77% 42%,rgb(212 150 111 / 23%),transparent 27%),linear-gradient(120deg,#160e0f 0%,#2d1719 48%,#702d33 100%); }
.bmlp-hero::before { position:absolute; inset:0; opacity:.4; background:linear-gradient(90deg,transparent 49.8%,rgb(255 255 255 / 7%) 50%,transparent 50.2%),linear-gradient(0deg,transparent 49.8%,rgb(255 255 255 / 5%) 50%,transparent 50.2%); background-size:86px 86px; content:""; mask-image:linear-gradient(to right,transparent,#000); }
.bmlp-hero-glow { position:absolute; top:14%; right:2%; width:44vw; aspect-ratio:1; border:1px solid rgb(239 196 159 / 18%); border-radius:50%; box-shadow:0 0 0 75px rgb(239 196 159 / 4%),0 0 0 150px rgb(239 196 159 / 2%); }
.bmlp-hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,.92fr) minmax(540px,1.08fr); gap:clamp(3rem,6vw,7rem); align-items:center; }
.bmlp-hero-copy { max-width:780px; }
.bmlp-hero .eyebrow { color:#f0c79f; }
.bmlp-hero h1 { max-width:780px; margin:.75rem 0 1.4rem; color:#fff; font-size:clamp(4.2rem,7.2vw,7.8rem); line-height:.88; letter-spacing:-.055em; }
.bmlp-hero h1 em { display:block; color:#f0c79f; }
.bmlp-hero-lead { max-width:670px; margin:0 0 1.7rem; color:rgb(255 255 255 / 76%); font-size:clamp(1rem,1.35vw,1.18rem); line-height:1.75; }
.bmlp-checks { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem 1.3rem; margin:0 0 2rem; padding:0; list-style:none; }
.bmlp-checks li { position:relative; padding-left:1.45rem; color:rgb(255 255 255 / 84%); font-size:.9rem; }
.bmlp-checks li::before { position:absolute; left:0; color:#f0c79f; content:"✓"; font-weight:900; }
.bmlp-hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:1.25rem; }
.bmlp-hero-actions .button { min-height:54px; }
.bmlp-text-link { color:#fff; font-weight:800; text-decoration:none; }
.bmlp-text-link span { display:inline-block; margin-left:.45rem; transition:transform .2s ease; }
.bmlp-text-link:hover span { transform:translateX(5px); }
.bmlp-hero-art { position:relative; min-height:610px; }
.bmlp-hero-cover { position:absolute; width:clamp(205px,17vw,295px); margin:0; overflow:hidden; border-radius:5px; background:#120b0c; box-shadow:0 32px 70px rgb(0 0 0 / 48%); }
.bmlp-hero-cover img { display:block; width:100%; height:auto; }
.bmlp-hero-cover--one { top:82px; left:0; z-index:1; transform:rotate(-9deg); }
.bmlp-hero-cover--two { top:0; left:31%; z-index:3; transform:rotate(1.5deg); }
.bmlp-hero-cover--three { top:105px; right:0; z-index:2; transform:rotate(9deg); }
.bmlp-hero-note { position:absolute; right:8%; bottom:5px; z-index:4; width:min(320px,65%); padding:1.1rem 1.25rem; border-left:4px solid #f0c79f; color:var(--ink); background:#fff; box-shadow:0 20px 45px rgb(0 0 0 / 30%); }
.bmlp-hero-note span { display:block; margin-bottom:.25rem; color:var(--rosewood); font-size:.68rem; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.bmlp-hero-note strong { font:700 1.05rem/1.4 Georgia,"Times New Roman",serif; }
.bmlp-trust { border-bottom:1px solid var(--line); background:#fff; }
.bmlp-trust-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.bmlp-trust-grid > div { padding:1.5rem clamp(1rem,2.5vw,2.2rem); border-right:1px solid var(--line); }
.bmlp-trust-grid > div:first-child { padding-left:0; }
.bmlp-trust-grid > div:last-child { border-right:0; }
.bmlp-trust strong,.bmlp-trust span { display:block; }
.bmlp-trust strong { margin-bottom:.22rem; font:700 1.12rem Georgia,"Times New Roman",serif; }
.bmlp-trust span { color:var(--muted); font-size:.83rem; }
.bmlp-intro { background:#fff; }
.bmlp-intro-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(330px,.65fr); gap:clamp(3rem,9vw,10rem); align-items:end; }
.bmlp-intro h2 { max-width:920px; margin-bottom:0; font-size:clamp(3rem,5.5vw,6rem); line-height:.95; letter-spacing:-.05em; }
.bmlp-intro h2 em { display:block; }
.bmlp-intro-copy p { color:var(--muted); line-height:1.75; }
.bmlp-intro-copy a { display:inline-flex; align-items:center; gap:.6rem; color:var(--rosewood); font-weight:850; text-decoration:none; }
.bmlp-projects { background:#f7f3ef; }
.bmlp-heading { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(300px,.45fr); gap:clamp(2rem,7vw,7rem); align-items:end; margin-bottom:clamp(2.5rem,5vw,4.5rem); }
.bmlp-heading h2 { max-width:930px; margin-bottom:0; }
.bmlp-heading > p { margin:0 0 .4rem; color:var(--muted); line-height:1.75; }
.bmlp-project-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.bmlp-project-card { display:flex; min-height:560px; overflow:hidden; flex-direction:column; border:1px solid var(--line); border-radius:14px; background:#fff; transition:transform .3s ease,box-shadow .3s ease; }
.bmlp-project-card--wide { grid-column:span 2; display:grid; grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr); }
.bmlp-project-card:hover { box-shadow:0 24px 55px rgb(78 38 41 / 14%); transform:translateY(-6px); }
.bmlp-project-cover { display:grid; min-height:335px; padding:1.2rem; overflow:hidden; place-items:center; background:linear-gradient(145deg,#efe2da,#d8b5a5); }
.bmlp-project-cover img { display:block; width:100%; height:100%; max-height:410px; object-fit:contain; filter:drop-shadow(0 18px 20px rgb(60 29 31 / 24%)); transition:transform .35s ease; }
.bmlp-project-card:hover .bmlp-project-cover img { transform:scale(1.025) translateY(-4px); }
.bmlp-project-copy { padding:1.45rem; }
.bmlp-project-card--wide .bmlp-project-copy { display:flex; justify-content:center; flex-direction:column; padding:clamp(2rem,4vw,4rem); }
.bmlp-project-copy span { color:var(--rosewood); font-size:.68rem; font-weight:850; letter-spacing:.13em; text-transform:uppercase; }
.bmlp-project-copy h3 { margin:.55rem 0 .75rem; font:700 clamp(1.55rem,2.2vw,2.3rem)/1.05 Georgia,"Times New Roman",serif; }
.bmlp-project-copy p { margin:0; color:var(--muted); font-size:.92rem; line-height:1.7; }
.bmlp-process { position:relative; color:#fff; background:#241719; }
.bmlp-process::before { position:absolute; inset:0; opacity:.36; background:radial-gradient(circle at 10% 0%,#8a3b42,transparent 32%),radial-gradient(circle at 90% 100%,#6f3d27,transparent 38%); content:""; }
.bmlp-process > .container { position:relative; z-index:1; }
.bmlp-heading--light h2 { color:#fff; }
.bmlp-heading--light .eyebrow { color:#f0c79f; }
.bmlp-heading--light > p { color:rgb(255 255 255 / 68%); }
.bmlp-process-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; border:1px solid rgb(255 255 255 / 16%); background:rgb(255 255 255 / 16%); }
.bmlp-process-grid article { min-height:330px; padding:clamp(1.5rem,3vw,2.5rem); background:rgb(28 14 16 / 88%); }
.bmlp-process-grid article > span { display:block; margin-bottom:5rem; color:#f0c79f; font:400 2.6rem Georgia,"Times New Roman",serif; opacity:.65; }
.bmlp-process-grid h3 { margin-bottom:.7rem; color:#fff; font:700 1.45rem Georgia,"Times New Roman",serif; }
.bmlp-process-grid p { margin:0; color:rgb(255 255 255 / 66%); line-height:1.7; }
.bmlp-services { background:#fff; }
.bmlp-service-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.bmlp-service-card { display:grid; min-height:455px; padding:clamp(1.6rem,3vw,2.6rem); grid-template-rows:auto auto auto 1fr auto; border:1px solid var(--line); border-radius:16px; background:#fbf8f6; transition:transform .3s ease,box-shadow .3s ease; }
.bmlp-service-card:hover { box-shadow:0 24px 55px rgb(78 38 41 / 14%); transform:translateY(-5px); }
.bmlp-service-card--accent { color:#fff; border-color:var(--rosewood); background:linear-gradient(145deg,#7f343b,#571f24); }
.bmlp-service-meta { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; margin-bottom:3rem; }
.bmlp-service-meta span { color:#ad8d90; font:400 2.8rem Georgia,"Times New Roman",serif; }
.bmlp-service-meta small { max-width:180px; color:var(--rosewood); font-size:.68rem; font-weight:850; letter-spacing:.13em; text-align:right; text-transform:uppercase; }
.bmlp-service-card--accent .bmlp-service-meta span { color:rgb(255 255 255 / 30%); }
.bmlp-service-card--accent .bmlp-service-meta small { color:#f0c79f; }
.bmlp-service-card h3 { margin:0 0 .85rem; font:700 clamp(1.8rem,3vw,2.7rem)/1.02 Georgia,"Times New Roman",serif; }
.bmlp-service-card > p { margin:0 0 1.25rem; color:var(--muted); line-height:1.7; }
.bmlp-service-card--accent > p { color:rgb(255 255 255 / 72%); }
.bmlp-service-card ul { display:grid; align-content:start; gap:.55rem; margin:0 0 1.5rem; padding:0; list-style:none; }
.bmlp-service-card li { position:relative; padding-left:1.25rem; color:#5e4f51; font-size:.87rem; }
.bmlp-service-card li::before { position:absolute; top:.48em; left:0; width:6px; height:6px; border-radius:50%; background:var(--rosewood); content:""; }
.bmlp-service-card--accent li { color:rgb(255 255 255 / 82%); }
.bmlp-service-card--accent li::before { background:#f0c79f; }
.bmlp-service-card > a { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding-top:1.1rem; border-top:1px solid var(--line); color:var(--rosewood); font-size:.77rem; font-weight:850; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; }
.bmlp-service-card--accent > a { border-top-color:rgb(255 255 255 / 18%); color:#fff; }
.bmlp-screen { background:#f7f3ef; }
.bmlp-screen-grid { display:grid; grid-template-columns:minmax(380px,.85fr) minmax(0,1.15fr); gap:clamp(3rem,8vw,8rem); align-items:center; }
.bmlp-screen-art { position:relative; min-height:620px; }
.bmlp-screen-frame { position:absolute; inset:0 11% 60px 0; display:grid; overflow:hidden; place-items:center; border-radius:8px 100px 8px 8px; background:radial-gradient(circle at 70% 20%,#1d845f,#07182c 55%,#110d1c); box-shadow:0 28px 65px rgb(44 23 24 / 20%); }
.bmlp-screen-frame::before { position:absolute; inset:8%; border:1px solid rgb(255 255 255 / 16%); border-radius:3px 60px 3px 3px; content:""; }
.bmlp-screen-frame img { position:relative; z-index:1; display:block; width:min(48%,285px); height:auto; filter:drop-shadow(0 22px 25px rgb(0 0 0 / 46%)); transform:rotate(2deg); }
.bmlp-screen-caption { position:absolute; right:0; bottom:0; z-index:2; width:min(330px,72%); padding:1.3rem 1.45rem; color:#fff; background:#241719; box-shadow:0 22px 50px rgb(44 23 24 / 24%); }
.bmlp-screen-caption span { display:block; margin-bottom:.35rem; color:#f0c79f; font-size:.68rem; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.bmlp-screen-caption strong { font:700 1.08rem/1.45 Georgia,"Times New Roman",serif; }
.bmlp-screen-copy > p:not(.eyebrow):not(.bmlp-screen-note) { color:var(--muted); font-size:1.03rem; line-height:1.75; }
.bmlp-screen-copy ul { display:grid; gap:.65rem; margin:1.5rem 0; padding:0; list-style:none; }
.bmlp-screen-copy li { position:relative; padding-left:1.4rem; }
.bmlp-screen-copy li::before { position:absolute; left:0; color:var(--rosewood); content:"✓"; font-weight:900; }
.bmlp-screen-note { padding:1rem 1.1rem; border-left:3px solid var(--rosewood); color:#786b68; background:#fff; font-size:.78rem; line-height:1.6; }
.bmlp-screen-copy .button { margin-top:.4rem; }
.bmlp-readiness { padding:clamp(4rem,8vw,8rem) 0; color:#fff; background:linear-gradient(115deg,#752f35,#4a1b20); }
.bmlp-readiness-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(320px,.65fr); gap:clamp(3rem,8vw,8rem); align-items:end; }
.bmlp-readiness .eyebrow { color:#f0c79f; }
.bmlp-readiness h2 { max-width:900px; margin:0; color:#fff; }
.bmlp-readiness-grid > div:last-child > p { color:rgb(255 255 255 / 72%); line-height:1.75; }
.bmlp-readiness-actions { display:flex; flex-wrap:wrap; align-items:center; gap:1.2rem; }
.bmlp-readiness-actions > a:not(.button) { color:#fff; font-weight:850; }
.bmlp-journey { background:#f7f3ef; }
.bmlp-journey-grid { display:grid; grid-template-columns:minmax(320px,.7fr) minmax(0,1.3fr); gap:clamp(3rem,9vw,9rem); align-items:start; }
.bmlp-journey-intro { position:sticky; top:130px; }
.bmlp-journey-intro > p:not(.eyebrow) { max-width:520px; color:var(--muted); line-height:1.75; }
.bmlp-journey-list { border-top:1px solid var(--line); }
.bmlp-journey-list article { display:grid; grid-template-columns:55px minmax(0,1fr); gap:1.2rem; padding:1.65rem 0; border-bottom:1px solid var(--line); }
.bmlp-journey-list article > span { color:var(--rosewood); font-size:.72rem; font-weight:850; letter-spacing:.1em; }
.bmlp-journey-list h3 { margin-bottom:.35rem; font:700 1.4rem Georgia,"Times New Roman",serif; }
.bmlp-journey-list p { margin:0; color:var(--muted); line-height:1.7; }
.bmlp-faq { background:#fff; }
.bmlp-faq-grid { display:grid; grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr); gap:clamp(3rem,9vw,9rem); align-items:start; }
.bmlp-faq-intro { position:sticky; top:130px; }
.bmlp-faq-intro > p:not(.eyebrow) { color:var(--muted); line-height:1.75; }
.bmlp-faq-intro a { color:var(--rosewood); font-weight:850; }
.bmlp .accordion details { border-bottom:1px solid var(--line); }
.bmlp .accordion details:first-child { border-top:1px solid var(--line); }
.bmlp .accordion summary { font-family:Georgia,"Times New Roman",serif; font-size:1.2rem; }
.bmlp .portfolio-reviews-section { background:#fff; }
.bmlp .consultation { margin:0; }
.bmlp .honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }

@media (max-width:1180px) { .bmlp-hero-grid { grid-template-columns:minmax(0,1fr) minmax(430px,.85fr); } .bmlp-hero-art { min-height:540px; } .bmlp-hero-cover { width:220px; } .bmlp-project-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .bmlp-project-card--wide { grid-column:span 2; } }
@media (max-width:900px) { .bmlp-hero { min-height:0; } .bmlp-hero-grid,.bmlp-intro-grid,.bmlp-screen-grid,.bmlp-readiness-grid,.bmlp-journey-grid,.bmlp-faq-grid { grid-template-columns:minmax(0,1fr); } .bmlp-hero-copy { max-width:none; } .bmlp-hero-art { width:min(100%,650px); min-height:570px; margin-inline:auto; } .bmlp-heading { grid-template-columns:minmax(0,1fr); gap:1.2rem; } .bmlp-trust-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .bmlp-trust-grid > div { border-bottom:1px solid var(--line); } .bmlp-trust-grid > div:nth-child(2) { border-right:0; } .bmlp-trust-grid > div:first-child { padding-left:0rem; } .bmlp-process-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .bmlp-screen-art { width:min(100%,680px); margin-inline:auto; } .bmlp-journey-intro,.bmlp-faq-intro { position:static; } }
@media (max-width:640px) { .bmlp-hero { padding-top:calc(var(--lp-header-height,84px) + 3.2rem); } .bmlp-hero h1 { font-size:clamp(3.35rem,16vw,5.1rem); } .bmlp-checks { grid-template-columns:minmax(0,1fr); } .bmlp-hero-actions { align-items:stretch; flex-direction:column; } .bmlp-hero-actions .button { width:100%; } .bmlp-hero-art { min-height:440px; } .bmlp-hero-cover { width:42%; } .bmlp-hero-cover--one { top:85px; left:0; } .bmlp-hero-cover--two { top:10px; left:29%; } .bmlp-hero-cover--three { top:90px; right:0; } .bmlp-hero-note { right:0; bottom:0; width:78%; } .bmlp-trust-grid,.bmlp-project-grid,.bmlp-process-grid,.bmlp-service-grid { grid-template-columns:minmax(0,1fr); } .bmlp-trust-grid > div { padding-left:0; border-right:0; } .bmlp-project-card--wide { grid-column:auto; display:flex; } .bmlp-project-card { min-height:0; } .bmlp-project-cover { min-height:320px; } .bmlp-process-grid article { min-height:285px; } .bmlp-process-grid article > span { margin-bottom:3.5rem; } .bmlp-service-card { min-height:0; } .bmlp-screen-art { min-height:480px; } .bmlp-screen-frame { inset:0 5% 50px 0; border-radius:8px 65px 8px 8px; } .bmlp-screen-caption { width:82%; } .bmlp-readiness-actions { align-items:stretch; flex-direction:column; } .bmlp-readiness-actions .button { width:100%; } .bmlp-journey-list article { grid-template-columns:42px minmax(0,1fr); } }

/* Book marketing: campaign and toolkit sliders */
.bmlp-slider-shell { --slider-gap:1.25rem; position:relative; min-width:0; }
.bmlp-slider-viewport { width:100%; overflow:hidden; cursor:grab; touch-action:pan-y; }
.bmlp-slider-viewport.is-dragging { cursor:grabbing; user-select:none; }
.bmlp-slider-track { display:flex; gap:var(--slider-gap); transform:translateZ(0); transition:transform .72s cubic-bezier(.22,.61,.36,1); will-change:transform; }
.bmlp-slider-viewport.is-dragging .bmlp-slider-track,.bmlp-hero-stage.is-dragging .bmlp-slider-track { transition:none; }
.bmlp-slider-track > [data-bmlp-slide] { flex:none; }
.bmlp-slider-controls,.bmlp-section-slider-nav,.bmlp-section-slider-nav > div { display:flex; align-items:center; }
.bmlp-slider-controls button,.bmlp-section-slider-nav button { display:grid; width:48px; height:48px; padding:0; place-items:center; border:1px solid currentColor; border-radius:50%; color:var(--rosewood); background:transparent; cursor:pointer; font:700 1.05rem/1 Arial,sans-serif; transition:color .2s ease,background .2s ease,transform .2s ease; }
.bmlp-slider-controls button:hover,.bmlp-section-slider-nav button:hover { color:#fff; background:var(--rosewood); transform:translateY(-2px); }
.bmlp-section-slider-nav { justify-content:space-between; gap:1rem; margin:0 0 1.2rem; color:var(--muted); font-size:.75rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.bmlp-section-slider-nav > div { gap:.65rem; }
.bmlp-slider-dots { display:flex; justify-content:center; gap:.5rem; }
.bmlp-slider-dots button { width:7px; height:7px; border:0; border-radius:99px; background:rgb(255 255 255 / 38%); transition:width .25s ease,background .25s ease; }
.bmlp-slider-dots button[aria-current="true"] { width:28px; background:#f0c79f; }
.bmlp-hero-showcase { align-self:center; min-width:0; }
.bmlp-hero-stage { position:relative; height:610px; overflow:hidden; border:1px solid rgb(255 255 255 / 14%); border-radius:28px 28px 110px 28px; background:linear-gradient(145deg,rgb(255 255 255 / 9%),rgb(14 7 8 / 34%)); box-shadow:0 38px 85px rgb(0 0 0 / 34%); cursor:grab; touch-action:pan-y; }
.bmlp-hero-stage::before { position:absolute; inset:18px; z-index:2; border:1px solid rgb(240 199 159 / 22%); border-radius:18px 18px 90px 18px; content:""; pointer-events:none; }
.bmlp-hero-track { height:100%; gap:0; }
.bmlp-hero-slide { position:relative; display:grid; width:100%; height:100%; margin:0; grid-template-columns:minmax(0,.82fr) minmax(240px,1.18fr); align-items:center; overflow:hidden; background:radial-gradient(circle at 22% 30%,rgb(240 199 159 / 24%),transparent 33%),linear-gradient(145deg,#4c2025,#160d0f); }
.bmlp-hero-slide::after { position:absolute; right:-13%; bottom:-24%; width:64%; aspect-ratio:1; border:1px solid rgb(240 199 159 / 18%); border-radius:50%; box-shadow:0 0 0 52px rgb(240 199 159 / 4%),0 0 0 105px rgb(240 199 159 / 3%); content:""; }
.bmlp-hero-slide img { position:relative; z-index:1; display:block; width:min(86%,330px); height:auto; max-height:520px; margin:auto; object-fit:contain; filter:drop-shadow(0 24px 25px rgb(0 0 0 / 48%)); }
.bmlp-hero-slide figcaption { position:relative; z-index:3; max-width:280px; padding:2rem 2rem 2rem 0; }
.bmlp-hero-slide figcaption span { display:block; margin-bottom:1rem; color:#f0c79f; font-size:.68rem; font-weight:850; letter-spacing:.13em; text-transform:uppercase; }
.bmlp-hero-slide figcaption strong { display:block; color:#fff; font:700 clamp(1.55rem,2.3vw,2.35rem)/1.04 Georgia,"Times New Roman",serif; }
.bmlp-hero-controls { justify-content:center; gap:1rem; margin-top:1.25rem; color:#fff; }
.bmlp-hero-controls button { color:#fff; border-color:rgb(255 255 255 / 35%); }
.bmlp-hero-controls button:hover { color:#2a1518; border-color:#f0c79f; background:#f0c79f; }
.bmlp-project-slider { --slider-gap:1.5rem; }
.bmlp-project-track { align-items:stretch; }
.bmlp-project-card { display:grid; width:calc((100% - var(--slider-gap))/2); min-height:590px; grid-template-columns:minmax(220px,.82fr) minmax(0,1.18fr); overflow:hidden; border:1px solid var(--line); border-radius:22px; background:#fff; box-shadow:0 14px 40px rgb(78 38 41 / 8%); }
.bmlp-project-card:hover { box-shadow:0 24px 55px rgb(78 38 41 / 14%); transform:none; }
.bmlp-project-media { position:relative; display:grid; min-height:100%; padding:2rem 1.4rem; place-items:center; overflow:hidden; background:radial-gradient(circle at 50% 30%,#fff 0 11%,transparent 38%),linear-gradient(145deg,#ead9cf,#cda994); }
.bmlp-project-media::before { position:absolute; inset:18px; border:1px solid rgb(117 47 53 / 20%); border-radius:12px; content:""; }
.bmlp-project-media img { position:relative; z-index:1; display:block; width:min(100%,300px); height:auto; max-height:490px; object-fit:contain; filter:drop-shadow(0 20px 20px rgb(60 29 31 / 27%)); transition:transform .35s ease; }
.bmlp-project-card:hover .bmlp-project-media img { transform:translateY(-7px) scale(1.015); }
.bmlp-project-media > span { position:absolute; top:1.65rem; left:1.65rem; z-index:2; color:var(--rosewood); font:400 2rem Georgia,"Times New Roman",serif; opacity:.58; }
.bmlp-project-copy { display:flex; justify-content:center; flex-direction:column; padding:clamp(1.75rem,2.7vw,3rem); }
.bmlp-project-copy h3 { font-size:clamp(1.65rem,2.2vw,2.45rem); }
.bmlp-project-copy p { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:10; }
.bmlp-toolkit-slider { --slider-gap:1.25rem; }
.bmlp-toolkit-track { align-items:stretch; }
.bmlp-toolkit-track .bmlp-service-card { width:calc((100% - (var(--slider-gap) * 2))/3); min-height:620px; padding:clamp(1.6rem,2.5vw,2.75rem); border-radius:22px; background:#fff; }
.bmlp-toolkit-track .bmlp-service-card--accent { color:#fff; border-color:var(--rosewood); background:linear-gradient(145deg,#7f343b,#571f24); }
.bmlp-toolkit-track .bmlp-service-meta { margin-bottom:clamp(3rem,5vw,5.6rem); }
.bmlp-toolkit-track .bmlp-service-meta small { padding:.72rem 1rem; border-radius:999px; background:#f9ece8; }
.bmlp-toolkit-track .bmlp-service-card--accent .bmlp-service-meta small { color:#3c171b; background:#f0c79f; }
.bmlp-toolkit-track .bmlp-service-card h3 { font-size:clamp(1.85rem,2.6vw,2.7rem); }
.bmlp-toolkit-track .bmlp-service-card > p { font-size:.96rem; }
.bmlp-toolkit-track .bmlp-service-card li { font-size:.9rem; }
@media (max-width:1180px) { .bmlp-hero-stage { height:560px; } .bmlp-hero-slide { grid-template-columns:minmax(0,.78fr) minmax(190px,1.22fr); } .bmlp-hero-slide img { width:min(86%,285px); } .bmlp-project-card { width:calc((100% - var(--slider-gap))/2); grid-template-columns:1fr; } .bmlp-project-media { min-height:360px; } .bmlp-project-copy { justify-content:flex-start; } .bmlp-toolkit-track .bmlp-service-card { width:calc((100% - var(--slider-gap))/2); } }
@media (max-width:900px) { .bmlp-hero-showcase { width:min(100%,720px); margin-inline:auto; } .bmlp-hero-stage { height:540px; } .bmlp-project-card { width:calc((100% - var(--slider-gap))/2); min-height:0; } .bmlp-project-media { min-height:330px; } }
@media (max-width:700px) { .bmlp-slider-shell { --slider-gap:.85rem; } .bmlp-section-slider-nav > span { max-width:180px; } .bmlp-slider-controls button,.bmlp-section-slider-nav button { width:42px; height:42px; } .bmlp-hero-stage { height:520px; border-radius:20px 20px 70px 20px; } .bmlp-hero-stage::before { inset:11px; border-radius:13px 13px 58px 13px; } .bmlp-hero-slide { grid-template-columns:1fr; grid-template-rows:1fr auto; padding:1.5rem 1.25rem 2.4rem; } .bmlp-hero-slide img { width:min(64%,245px); max-height:330px; } .bmlp-hero-slide figcaption { max-width:none; padding:.5rem 1.15rem 0; } .bmlp-hero-slide figcaption span { margin-bottom:.45rem; } .bmlp-hero-slide figcaption strong { font-size:1.55rem; } .bmlp-project-card,.bmlp-toolkit-track .bmlp-service-card { width:100%; } .bmlp-project-card { grid-template-columns:1fr; } .bmlp-project-media { min-height:360px; } .bmlp-project-copy p { -webkit-line-clamp:initial; } .bmlp-toolkit-track .bmlp-service-card { min-height:570px; } .bmlp-toolkit-track .bmlp-service-meta { margin-bottom:3.2rem; } }
@media (prefers-reduced-motion:reduce) { .bmlp-slider-track,.bmlp-project-media img { scroll-behavior:auto; transition:none; } }

/* Book marketing hero: layered book-cover gallery */
.bmlp-hero-stage { background:radial-gradient(circle at 50% 32%,rgb(240 199 159 / 20%),transparent 34%),linear-gradient(145deg,#54242a 0%,#260f13 56%,#11090b 100%); }
.bmlp-hero-books-slide { position:relative; width:100%; height:100%; margin:0; overflow:hidden; }
.bmlp-hero-books-slide::before { position:absolute; top:13%; left:10%; width:80%; height:64%; border:1px solid rgb(240 199 159 / 14%); border-radius:50%; box-shadow:0 0 0 48px rgb(240 199 159 / 3%),0 0 0 96px rgb(240 199 159 / 2%); content:""; }
.bmlp-hero-books-slide::after { position:absolute; right:-8%; bottom:-20%; width:58%; aspect-ratio:1; border:1px solid rgb(255 255 255 / 7%); border-radius:50%; content:""; }
.bmlp-hero-books { position:absolute; inset:72px 30px 34px; }
.bmlp-hero-books::before { position:absolute; right:7%; bottom:7%; left:7%; height:28px; border-radius:50%; background:rgb(0 0 0 / 42%); filter:blur(16px); content:""; }
.bmlp-hero-book { position:absolute; bottom:34px; display:block; height:auto; border-radius:4px; box-shadow:0 28px 50px rgb(0 0 0 / 48%); transition:transform .55s cubic-bezier(.22,.61,.36,1),filter .55s ease; }
.bmlp-hero-book--1 { left:3%; z-index:1; width:32%; transform:translateY(22px) rotate(-9deg); filter:saturate(.82) brightness(.78); }
.bmlp-hero-book--2 { left:50%; z-index:3; width:41%; transform:translateX(-50%); }
.bmlp-hero-book--3 { right:3%; z-index:2; width:32%; transform:translateY(22px) rotate(9deg); filter:saturate(.82) brightness(.78); }
.bmlp-hero-books-slide:hover .bmlp-hero-book--1 { transform:translate(-8px,12px) rotate(-11deg); filter:saturate(.95) brightness(.9); }
.bmlp-hero-books-slide:hover .bmlp-hero-book--2 { transform:translate(-50%,-10px); }
.bmlp-hero-books-slide:hover .bmlp-hero-book--3 { transform:translate(8px,12px) rotate(11deg); filter:saturate(.95) brightness(.9); }
.bmlp-hero-books-slide figcaption { position:absolute; top:30px; left:32px; z-index:5; display:flex; align-items:center; gap:.8rem; padding:.75rem 1rem; border:1px solid rgb(255 255 255 / 14%); border-radius:999px; background:rgb(18 8 10 / 66%); backdrop-filter:blur(12px); }
.bmlp-hero-books-slide figcaption span { color:#f0c79f; font-size:.62rem; font-weight:850; letter-spacing:.13em; text-transform:uppercase; }
.bmlp-hero-books-slide figcaption strong { color:#fff; font-size:.72rem; letter-spacing:.04em; }
@media (max-width:1180px) { .bmlp-hero-books { inset:72px 22px 26px; } .bmlp-hero-book--1,.bmlp-hero-book--3 { width:31%; } .bmlp-hero-book--2 { width:42%; } }
@media (max-width:700px) { .bmlp-hero-books { inset:70px 16px 24px; } .bmlp-hero-book--1,.bmlp-hero-book--3 { width:34%; } .bmlp-hero-book--2 { width:46%; } .bmlp-hero-books-slide figcaption { top:22px; left:22px; gap:.5rem; padding:.65rem .8rem; } .bmlp-hero-books-slide figcaption strong { display:none; } }

/* =========================================================
   AUTHOR WEBSITE: INNER-SERVICE HEADER + BOOK-MARKETING HERO THEME
   Scoped to this page so shared site headers and logos stay unchanged.
   ========================================================= */
.author-website-service-page .site-header,
.author-website-service-page .site-header.is-at-top {
  color:#fff;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
}
.author-website-service-page .site-header .brand img,
.author-website-service-page .site-header.is-at-top .brand img { filter:brightness(0) invert(1); }
.author-website-service-page .site-header .header-phone,
.author-website-service-page .site-header.is-at-top .header-phone { color:#f1c99d; }
.author-website-service-page .site-header .primary-nav a::after,
.author-website-service-page .site-header.is-at-top .primary-nav a::after { background:#f1c99d; }
.author-website-service-page .site-header .button-small,
.author-website-service-page .site-header.is-at-top .button-small {
  border-color:#fff;
  color:var(--rosewood);
  background:#fff;
  box-shadow:0 8px 24px rgb(20 8 8 / 16%);
}
.author-website-service-page .site-header .button-small:hover,
.author-website-service-page .site-header.is-at-top .button-small:hover {
  border-color:#f7ebe4;
  color:var(--rosewood-dark);
  background:#f7ebe4;
}
.author-website-service-page .site-header.is-revealed {
  color:#fff;
  background:#752f35;
  box-shadow:0 10px 32px rgb(17 8 8 / 24%);
  backdrop-filter:blur(12px);
}
.author-website-service-page .site-header.is-revealed .brand img { filter:brightness(0) invert(1); }
.author-website-service-page .site-header.is-revealed .header-phone { color:#f1c99d; }
.author-website-service-page .site-header.is-revealed .primary-nav a::after { background:#f1c99d; }
.author-website-service-page .site-header.is-revealed .button-small {
  border-color:#fff;
  color:var(--rosewood);
  background:#fff;
}
.author-website-service-page .site-header.is-revealed .button-small:hover {
  color:var(--rosewood-dark);
  background:#f7ebe4;
}

.author-website-service-page .aw-hero {
  color:#fff;
  background:
    radial-gradient(circle at 77% 42%,rgb(212 150 111 / 23%),transparent 27%),
    linear-gradient(120deg,#160e0f 0%,#2d1719 48%,#702d33 100%);
}
.author-website-service-page .aw-hero::before {
  position:absolute;
  inset:0;
  width:auto;
  height:auto;
  border:0;
  border-radius:0;
  opacity:.4;
  background:
    linear-gradient(90deg,transparent 49.8%,rgb(255 255 255 / 7%) 50%,transparent 50.2%),
    linear-gradient(0deg,transparent 49.8%,rgb(255 255 255 / 5%) 50%,transparent 50.2%);
  background-size:86px 86px;
  content:"";
  -webkit-mask-image:linear-gradient(to right,transparent,#000);
  mask-image:linear-gradient(to right,transparent,#000);
}
.author-website-service-page .aw-hero::after {
  position:absolute;
  right:-12%;
  bottom:-42%;
  width:min(720px,58vw);
  height:auto;
  aspect-ratio:1;
  border:1px solid rgb(240 199 159 / 12%);
  border-radius:50%;
  background:radial-gradient(circle,rgb(240 199 159 / 10%),transparent 68%);
  box-shadow:0 0 0 80px rgb(240 199 159 / 3%),0 0 0 160px rgb(240 199 159 / 2%);
  content:"";
}
.author-website-service-page .aw-hero-grid { position:relative; z-index:1; }
.author-website-service-page .aw-breadcrumbs { color:rgb(255 255 255 / 66%); }
.author-website-service-page .aw-breadcrumbs a:hover { color:#f0c79f; }
.author-website-service-page .aw-hero .eyebrow { color:#f0c79f; }
.author-website-service-page .aw-hero h1 { color:#fff; }
.author-website-service-page .aw-hero h1 em { color:#efc49f; }
.author-website-service-page .aw-hero-lead { color:rgb(255 255 255 / 76%); }
.author-website-service-page .aw-hero-points { color:rgb(255 255 255 / 86%); }
.author-website-service-page .aw-hero-points li::before { background:#f0c79f; }
.author-website-service-page .aw-hero-actions .button {
  border-color:#f0c79f;
  color:#34171b;
  background:#f0c79f;
  box-shadow:0 12px 30px rgb(0 0 0 / 22%);
}
.author-website-service-page .aw-hero-actions .button:hover {
  border-color:#fff;
  color:#34171b;
  background:#fff;
  box-shadow:0 16px 36px rgb(0 0 0 / 28%);
}
.author-website-service-page .aw-hero .aw-text-link { color:#fff; }
.author-website-service-page .aw-hero .aw-text-link:hover { color:#f0c79f; }
.author-website-service-page .aw-browser-frame {
  padding:0;
  border:0;
  background:transparent;
  box-shadow:0 35px 80px rgb(0 0 0 / 34%);
}
.author-website-service-page .aw-hero-note {
  border-left-color:#f0c79f;
  color:var(--ink);
  background:#fff;
  box-shadow:0 22px 55px rgb(0 0 0 / 28%);
}

@media (max-width:820px) {
  .author-website-service-page .site-header .menu-toggle > span:not(.sr-only),
  .author-website-service-page .site-header.is-at-top .menu-toggle > span:not(.sr-only),
  .author-website-service-page .site-header.is-revealed .menu-toggle > span:not(.sr-only) { background:#fff; }
  .author-website-service-page .site-header:has(.primary-nav.is-open) {
    color:var(--ink);
    background:#fff;
    box-shadow:0 10px 32px rgb(17 8 8 / 14%);
  }
  .author-website-service-page .site-header:has(.primary-nav.is-open) .brand img { filter:none; }
  .author-website-service-page .site-header:has(.primary-nav.is-open) .menu-toggle > span:not(.sr-only) { background:var(--ink); }
  .author-website-service-page .aw-hero::after { right:-32%; bottom:-18%; width:88vw; }
}

/* =========================================================
   BOOK WRITING PAGE — INTRO SECTION RESPONSIVE FIX
   Keep this block at the very bottom of style.css
   ========================================================= */

@media (max-width: 800px) {
  .gw-intro {
    overflow: hidden;
  }

  .gw-intro-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: start;
    gap: 2.5rem !important;
  }

  /*
   * Removes the fixed 280px height currently causing
   * the caption and content to overlap.
   */
  .gw-intro-media {
    display: flex;
    position: relative;
    min-width: 0;
    width: 100%;
    height: auto !important;
    min-height: 0 !important;
    margin: 0;
    flex-direction: column;
  }

  .gw-intro-media img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto !important;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    object-position: center;
    border-radius: 16px;
  }

  .gw-intro-media figcaption {
    position: relative;
    inset: auto;
    right: auto !important;
    bottom: auto !important;
    z-index: 2;

    width: calc(100% - 2rem);
    max-width: none;
    box-sizing: border-box;
    margin: -2rem 1rem 0;
    padding: 1.1rem 1.2rem;

    border-radius: 10px;
  }

  .gw-intro-copy {
    min-width: 0;
    width: 100%;
    margin: 0;
  }

  .gw-intro-copy h2 {
    max-width: 100%;
    font-size: clamp(2.25rem, 9vw, 3.6rem);
    line-height: 1.02;
    overflow-wrap: break-word;
  }

  .gw-intro-copy > p:not(.eyebrow) {
    max-width: 100%;
    font-size: 1rem;
    line-height: 1.7;
  }

  .gw-intro-list {
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100%;
  }

  .gw-intro-list span {
    min-width: 0;
    width: 100%;
    box-sizing: border-box;
  }
}

@media (max-width: 550px) {
  .gw-intro-grid {
    gap: 2rem !important;
  }

  .gw-intro-media img {
    border-radius: 12px;
  }

  .gw-intro-media figcaption {
    width: calc(100% - 1.5rem);
    margin: -1.5rem 0.75rem 0;
    padding: 1rem;
  }

  .gw-intro-media figcaption strong {
    font-size: 1rem;
  }

  .gw-intro-media figcaption span {
    font-size: 0.8rem;
    line-height: 1.45;
  }

  .gw-intro-copy h2 {
    margin-top: 0.65rem;
    font-size: clamp(2rem, 10.5vw, 2.85rem);
  }

  .gw-intro-list {
    gap: 0.6rem;
    margin: 1.35rem 0;
  }

  .gw-intro-list span {
    padding: 0.85rem 0.85rem 0.85rem 2.15rem;
    font-size: 0.86rem;
    line-height: 1.45;
  }

  .gw-arrow-link {
    display: inline-flex;
    max-width: 100%;
    line-height: 1.4;
  }
}