/* ==========================================================================
   Mashman Publishing: per-property values on the shared MASHMAN design
   system (site.css is byte-identical to mashmancg.com's; do not edit it here).
   Mark: the open book, 817 x 808. The stacked MASHMAN / PUBLISHING wordmark
   is set as type beside it. No icon exists.
   Type: the nav in Montserrat and the name in Inter, the inverse of
   mashmancg.com, decided once for this property.
   Signature: Manuscript to Market.
   Ampersand exception: this property may use "&" in the book title in its
   own copy, headings, and metadata; schema markup keeps "and".
   ========================================================================== */

.brand-icon{height:26px; aspect-ratio:817/808;}
.footer-brand-mark .brand-icon{height:22px; aspect-ratio:817/808;}
.hero-mark,.page-mark,.cta-mark{aspect-ratio:817/808;}
.hero-mark{width:min(50vw, 600px); opacity:0.06;}
.page-mark{width:min(36vw, 400px); opacity:0.065;}
.cta-mark{opacity:0.04;}

.brand-name{font-family:var(--body); font-weight:500; color:var(--white); font-size:11px; letter-spacing:0.22em;}
@media (min-width:1101px){
  .brand-div{display:block;}
  .brand-name{display:inline;}
}
@media (max-width:620px){
  .brand-div{display:block;}
  .brand-name{display:inline; font-size:10px;}
}
.footer-name{font-family:var(--body); font-weight:500;}
.nav a,.mobile-nav a{font-family:var(--display); font-weight:600; font-size:10.5px; letter-spacing:0.16em;}

/* Manuscript to Market, in the hero strip */
.hero-meta .signature{margin:0; font-size:10.5px; letter-spacing:0.2em;}

/* Accolades under the hero */
.credibility .cell{padding-top:34px; padding-bottom:34px;}
.credibility{padding-bottom:clamp(48px, 6vw, 80px);}
.credibility .cell h3{font-size:clamp(17px, 1.6vw, 21px);}

/* Catalog */
.split .cover{max-width:360px;}
.chapters .n{
  display:inline-block; min-width:66px;
  font-family:var(--display); font-size:10.5px; font-weight:700;
  letter-spacing:0.2em; text-transform:uppercase; color:var(--ink-label);
}
.cell .retailers{margin-top:22px;}
.cell .retailers a{padding-right:18px;}
.acclaim .quote{font-family:var(--display); font-size:17px; font-weight:300; line-height:1.55; letter-spacing:-0.01em; color:var(--ink);}
.acclaim cite{display:block; margin-top:22px; font-style:normal; font-size:13px; line-height:1.6; color:var(--ink-label);}
.acclaim cite strong{display:block; margin-bottom:4px; font-family:var(--display); font-size:10.5px; font-weight:700; letter-spacing:0.2em; text-transform:uppercase; color:var(--ink);}
.grid.acclaim{--cell-min:330px;}

/* Watermarks sit wholly inside the frame at every width: the mark is never
   cropped by the edge of the section. object-fit keeps its proportions when
   a short section caps its height. */
.hero-mark,.page-mark,.cta-mark{object-fit:contain;}
.hero-mark{right:var(--gutter); transform:translateY(-50%); max-height:calc(100% - 190px); object-position:right center;}
.page-mark{right:var(--gutter); top:calc(50% + 38px); transform:translateY(-50%); max-height:calc(100% - 140px); object-position:right center;}
.cta-mark{left:var(--gutter); max-height:calc(100% - 90px); object-position:left center;}
@media (max-width:1024px){ .hero-mark{width:60vw;} }
@media (max-width:880px){
  .page-mark{width:46vw;}
  .cta-mark{width:50vw;}
}

/* ---------------------------------------------------------------- Catalog menu
   The Catalog dropdown lists every published book; the dashboard rewrites it on
   every page when a book is published. Same face as the rest of this nav. */
.nav-item > .nav-drop-trigger{font-family:var(--display); font-weight:600; font-size:10.5px; letter-spacing:0.16em;}
.nav-drop-trigger[data-current]{color:var(--white);}
.nav-drop-trigger[data-current]::after{right:0 !important;}
#nav-catalog-panel{left:0; right:auto; min-width:260px; max-width:360px;}
#nav-catalog-panel a{white-space:normal; line-height:1.45;}
#nav-catalog-panel a:first-child{font-family:var(--display); font-size:10.5px; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; color:var(--platinum); border-bottom:1px solid var(--rule-dark); margin-bottom:6px;}
#nav-catalog-panel a[aria-current="page"]{color:var(--white);}

/* ---------------------------------------------------------------- Book pages */
.book-hero-grid{display:grid; grid-template-columns:1.3fr 0.7fr; gap:clamp(40px, 6vw, 96px); align-items:center;}
.book-hero h1{max-width:18ch;}
.book-hero-cover{justify-self:end; width:100%; max-width:340px;}
.book-hero-cover .cover{max-width:none; width:100%; border-color:var(--rule-dark);}
.book-by{font-family:var(--display); font-size:11px; font-weight:600; letter-spacing:0.2em; text-transform:uppercase; color:var(--platinum); margin:-6px 0 24px;}
.book-status{font-family:var(--display); font-size:10.5px; font-weight:700; letter-spacing:0.2em; text-transform:uppercase; color:var(--ink); background:var(--platinum); display:inline-block; padding:7px 12px; margin:6px 0 0;}
@media (max-width:880px){
  .book-hero-grid{grid-template-columns:1fr;}
  .book-hero-cover{justify-self:start; max-width:240px; order:-1;}
}
.book-about h2{margin-bottom:26px;}
.book-description p{color:var(--ink-body);}
.book-description h3{margin:30px 0 12px;}
.book-description ul,.book-description ol{margin:0 0 20px; padding-left:20px;}
.book-description li{color:var(--ink-body); margin-bottom:8px;}
.book-description .pullquote{margin:32px 0;}
.format-accolade{margin-top:18px;}
.format-note{margin-top:14px; font-size:14px;}

/* ---------------------------------------------------------------- Catalog listing */
/* Cards keep their width however many books there are, so one title never
   stretches across the page; each carries its own hairline. */
.book-grid{background:none; gap:clamp(20px, 2.6vw, 34px);}
.book-grid > .book-card{flex:0 1 360px; border:1px solid var(--rule-light);}
.book-card{display:flex; flex-direction:column; text-decoration:none; color:inherit; transition:background .35s var(--ease);}
.book-card:hover h3{color:var(--slate);}
.book-card-cover{margin-bottom:26px; max-width:220px;}
.book-card-cover .cover{max-width:none; width:100%; border-color:var(--rule-light); transition:transform .5s var(--ease);}
.book-card:hover .book-card-cover .cover{transform:translateY(-4px);}
.book-card h3{margin-bottom:10px;}
.book-card-by{font-family:var(--display); font-size:10.5px; font-weight:600; letter-spacing:0.18em; text-transform:uppercase; color:var(--ink-label); margin-bottom:14px;}
.book-card-foot{margin-top:auto; padding-top:22px; display:flex; justify-content:space-between; align-items:center; gap:14px; flex-wrap:wrap; font-size:12.5px; color:var(--ink-label);}
.book-card:focus-visible{outline:2px solid var(--ink); outline-offset:-2px;}
