:root{
  --bg:#f6f1e8;
  --bg-deep:#efe5d7;
  --paper:#fffdf9;
  --paper-strong:#fffaf2;
  --ink:#2c241c;
  --muted:#6f6255;
  --muted-strong:#5b4f44;
  --line:#ded3c4;
  --line-strong:#cdbca8;
  --accent:#8b6b3f;
  --accent-dark:#6f532e;
  --accent-soft:rgba(139,107,63,.12);
  --shadow:0 14px 36px rgba(58,43,28,.08);
  --shadow-soft:0 8px 22px rgba(58,43,28,.06);
  --radius-xl:28px;
  --radius-lg:22px;
  --radius-md:18px;
  --radius-sm:14px;
  --content:1180px;
}

*,
*::before,
*::after{
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  margin:0;
  min-width:320px;
  color:var(--ink);
  font-family:"Source Sans 3","Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;
  line-height:1.6;
  background:
    radial-gradient(circle at top left, rgba(139,107,63,.11), transparent 28%),
    linear-gradient(180deg, #faf5ee 0%, var(--bg) 42%, #f3eade 100%);
}

html.modal-open,
body.modal-open{
  overflow:hidden;
  overscroll-behavior:none;
  height:100%;
}

body.modal-open{
  position:fixed;
  width:100%;
  left:0;
  right:0;
}

img{
  max-width:100%;
}

a{
  color:inherit;
}

.site-shell{
  width:min(var(--content), calc(100% - 32px));
  margin:0 auto;
  padding:24px 0 72px;
}

.site-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:12px 0 26px;
  margin-bottom:18px;
}

.brand{
  display:flex;
  align-items:center;
  gap:14px;
  text-decoration:none;
  width:max-content;
}

.brand-mark{
  width:60px;
  height:60px;
  padding:10px;
  display:grid;
  place-items:center;
  border:1px solid rgba(222,211,196,.95);
  border-radius:18px;
  background:rgba(255,255,255,.88);
  box-shadow:var(--shadow-soft);
}

.brand-mark img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}

.brand-kicker{
  display:block;
  margin-bottom:3px;
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:.7rem;
  font-weight:700;
  color:var(--muted);
}

.brand-name{
  display:block;
  font-family:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;
  font-size:1.32rem;
  line-height:1.1;
  font-weight:700;
}

.site-nav{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.site-nav a{
  color:var(--muted);
  text-decoration:none;
  font-weight:600;
  padding:10px 14px;
  border-radius:999px;
  transition:background-color .2s ease,color .2s ease;
}

.site-nav a:hover,
.site-nav a:focus-visible{
  color:var(--ink);
  background:rgba(255,255,255,.72);
  outline:none;
}

.site-nav a[aria-current="page"]{
  color:var(--ink);
  background:rgba(255,255,255,.9);
  border:1px solid rgba(222,211,196,.95);
  box-shadow:var(--shadow-soft);
}

.eyebrow{
  display:inline-block;
  margin-bottom:14px;
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:.73rem;
  font-weight:700;
  color:var(--accent-dark);
}

h1,
h2,
h3{
  margin:0;
  font-family:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;
  line-height:1.08;
  letter-spacing:-.025em;
  color:var(--ink);
}

h1{
  font-size:clamp(2.5rem, 5vw, 4.7rem);
}

h2{
  font-size:clamp(1.65rem, 2.8vw, 2.3rem);
}

h3{
  font-size:1.28rem;
}

p{
  margin:0;
}

.lede{
  font-size:1.08rem;
  color:var(--muted-strong);
  max-width:64ch;
}

.hero-support{
  margin-top:10px;
  max-width:38ch;
  color:var(--muted);
}

.section{
  margin-top:24px;
}

.hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(320px,.9fr);
  gap:16px;
  align-items:stretch;
}

.surface{
  position:relative;
  background:linear-gradient(180deg, rgba(255,253,249,.96), rgba(255,250,242,.92));
  border:1px solid rgba(222,211,196,.95);
  border-radius:var(--radius-xl);
  box-shadow:var(--shadow);
}

.hero-panel{
  padding:30px 32px;
}

.hero-panel::before{
  content:"";
  position:absolute;
  inset:auto 24px 0 auto;
  width:180px;
  height:180px;
  border-radius:999px;
  background:radial-gradient(circle, rgba(139,107,63,.12) 0%, rgba(139,107,63,0) 70%);
  pointer-events:none;
}

.hero-copy{
  position:relative;
  z-index:1;
}

.hero-copy h1{
  max-width:11ch;
}

.hero-copy .lede{
  margin-top:12px;
}

.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}

.button,
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:50px;
  padding:0 18px;
  border-radius:999px;
  border:1px solid var(--ink);
  background:#fffdf9;
  color:var(--ink);
  text-decoration:none;
  font-weight:700;
  transition:transform .18s ease, box-shadow .18s ease, background-color .18s ease, color .18s ease, border-color .18s ease;
  cursor:pointer;
}

.button:hover,
.button:focus-visible,
.btn:hover,
.btn:focus-visible{
  transform:translateY(-1px);
  box-shadow:0 10px 26px rgba(44,36,28,.1);
  outline:none;
}

.button-primary,
.btn-primary{
  background:var(--ink);
  color:#fff;
  border-color:var(--ink);
}

.button-primary:hover,
.button-primary:focus-visible,
.btn-primary:hover,
.btn-primary:focus-visible{
  background:#1f1812;
  border-color:#1f1812;
}

.button-secondary{
  background:rgba(255,255,255,.6);
}

.button[disabled],
.btn[disabled],
.btn[aria-disabled="true"]{
  opacity:.6;
  pointer-events:none;
  box-shadow:none;
  transform:none;
}

.hero-side{
  padding:22px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  gap:12px;
  background:linear-gradient(180deg, rgba(255,253,249,.9), rgba(255,250,242,.76));
  box-shadow:var(--shadow-soft);
}

.quote-block{
  padding:12px 14px;
  border-radius:var(--radius-md);
  background:rgba(255,255,255,.62);
  border:1px solid rgba(222,211,196,.9);
}

.quote{
  font-family:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;
  font-size:1rem;
  line-height:1.36;
}

.meta-list{
  display:grid;
  gap:10px;
}

.meta-list-columns{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.meta-item{
  padding:12px 14px;
  border-radius:var(--radius-md);
  background:rgba(139,107,63,.05);
  border:1px solid rgba(139,107,63,.12);
}

.meta-item strong{
  display:block;
  margin-bottom:4px;
  font-size:.95rem;
}

.meta-item span{
  color:var(--muted);
  font-size:.91rem;
  line-height:1.45;
}

.stat-row{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}

.stat-card{
  padding:22px;
}

.stat-value{
  display:block;
  font-family:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;
  font-size:2rem;
  line-height:1;
  margin-bottom:10px;
}

.stat-label{
  color:var(--muted);
}

.section-heading{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}

.section-heading p{
  max-width:58ch;
  color:var(--muted);
}

.feature-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}

.featured-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  align-items:start;
}

.feature-card{
  padding:26px;
}

.feature-card p{
  margin-top:12px;
  color:var(--muted);
}

.split-panel{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);
  gap:20px;
  padding:30px;
}

.stack{
  display:grid;
  gap:14px;
}

.list{
  margin:0;
  padding-left:1.15rem;
  color:var(--muted-strong);
}

.list li + li{
  margin-top:9px;
}

.kicker-box{
  padding:18px;
  border-radius:var(--radius-md);
  background:rgba(139,107,63,.07);
  border:1px solid rgba(139,107,63,.12);
}

.kicker-box strong{
  display:block;
  margin-bottom:6px;
}

.featured-card{
  overflow:hidden;
  display:flex;
  flex-direction:column;
}

.featured-cover-wrap{
  padding:18px 18px 0;
}

.featured-body{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:16px 18px 18px;
  flex:1;
}

.featured-kicker{
  display:inline-block;
  font-size:.76rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:700;
  color:var(--accent-dark);
}

.featured-descriptor{
  color:var(--muted);
  flex:1;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.featured-placeholder{
  font-size:1.25rem;
  padding:28px;
}

.featured-card .book-cover{
  height:340px;
  aspect-ratio:auto;
}

.featured-card .actions{
  margin-top:8px;
}

.featured-card .btn{
  flex:1 1 0;
}

.featured-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.featured-card-forthcoming .featured-body{
  padding-top:14px;
}

.featured-cover-wrap-quiet{
  padding:18px 18px 0;
}

.featured-quiet-media{
  min-height:132px;
  display:grid;
  align-content:center;
  gap:6px;
  padding:18px;
  border-radius:20px;
  border:1px solid rgba(205,188,168,.95);
  background:linear-gradient(180deg, rgba(255,252,246,.96), rgba(248,241,231,.82));
}

.featured-quiet-media strong{
  font-family:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;
  font-size:1.18rem;
  line-height:1.15;
}

.editorial-panel{
  align-items:start;
  gap:18px;
  padding:26px 28px;
}

.editorial-list{
  max-width:66ch;
}

.kicker-box p{
  color:var(--muted);
}

.catalog-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
  margin:18px 0 20px;
}

.toolbar-copy{
  display:grid;
  gap:4px;
}

.count{
  font-size:.96rem;
  font-weight:700;
  color:var(--ink);
}

.count-subtle{
  font-size:.94rem;
  color:var(--muted);
}

.search-wrap{
  flex:1 1 320px;
  display:flex;
  justify-content:flex-end;
}

.search{
  width:min(420px,100%);
  min-height:52px;
  padding:0 18px;
  border-radius:999px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.82);
  color:var(--ink);
  font:inherit;
  outline:none;
}

.search:focus{
  border-color:var(--accent);
  box-shadow:0 0 0 4px rgba(139,107,63,.08);
}

.catalog-filters{
  display:grid;
  gap:14px;
  margin:0 0 20px;
  padding:18px 20px;
  border:1px solid rgba(222,211,196,.95);
  border-radius:var(--radius-lg);
  background:rgba(255,253,249,.72);
  box-shadow:var(--shadow-soft);
}

.filter-group{
  display:grid;
  gap:10px;
}

.filter-group-secondary{
  padding-top:2px;
}

.filter-label{
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted);
}

.filter-row{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.filter-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid rgba(139,107,63,.16);
  background:rgba(255,255,255,.7);
  color:var(--muted-strong);
  font:inherit;
  font-size:.95rem;
  font-weight:600;
  transition:background-color .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
  cursor:pointer;
}

.filter-chip:hover,
.filter-chip:focus-visible{
  outline:none;
  transform:translateY(-1px);
  border-color:rgba(139,107,63,.28);
  box-shadow:0 8px 20px rgba(58,43,28,.07);
}

.filter-chip.is-active{
  background:rgba(139,107,63,.11);
  border-color:rgba(139,107,63,.3);
  color:var(--accent-dark);
}

.catalog-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}

.book-card{
  overflow:hidden;
  display:flex;
  flex-direction:column;
}

.book-cover-wrap{
  padding:20px 20px 0;
}

.book-cover,
.book-cover-placeholder{
  width:100%;
  aspect-ratio:2 / 3;
  display:block;
  border-radius:20px;
  border:1px solid var(--line);
  background:#f1e9dd;
}

.book-cover{
  object-fit:cover;
  box-shadow:0 16px 36px rgba(44,36,28,.11);
}

.book-cover-placeholder{
  display:grid;
  place-items:center;
  text-align:center;
  padding:18px;
  font-family:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;
  color:var(--muted);
  background:
    linear-gradient(180deg, rgba(139,107,63,.08), rgba(139,107,63,.02)),
    #fbf7f1;
}

.book-body{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:20px;
  flex:1;
}

.book-title{
  font-size:1.42rem;
}

.book-subtitle{
  color:var(--accent-dark);
  font-weight:600;
}

.book-blurb{
  color:var(--muted);
  flex:1;
}

.pill-row{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.pill{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 10px;
  border-radius:999px;
  background:rgba(139,107,63,.08);
  color:var(--accent-dark);
  border:1px solid rgba(139,107,63,.14);
  font-size:.86rem;
  font-weight:700;
}

.pill-muted{
  background:rgba(44,36,28,.04);
  border-color:rgba(44,36,28,.09);
  color:var(--muted);
}

.actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:4px;
}

.notice,
.empty,
.error{
  padding:22px;
  border-radius:var(--radius-lg);
  border:1px solid rgba(222,211,196,.95);
  background:rgba(255,253,249,.92);
  box-shadow:var(--shadow-soft);
}

.notice p,
.empty,
.error{
  color:var(--muted);
}

.error{
  background:#fff7f5;
  border-color:#e8c9bf;
  color:#7a3d2b;
}

.pager{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
  margin-top:26px;
}

.page-info{
  min-width:140px;
  text-align:center;
  color:var(--muted);
  font-size:.95rem;
}

.modal{
  position:fixed;
  inset:0;
  display:none;
  background:rgba(44,36,28,.42);
  z-index:999;
}

.modal.open{
  display:block;
}

.modal-scroll-shell{
  position:absolute;
  inset:12px;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  overflow:hidden;
}

.modal-card{
  width:min(680px,100%);
  max-height:calc(100vh - 24px);
  max-height:calc(100svh - 24px);
  margin:0 auto;
  padding:24px;
  overflow:hidden;
}

.store-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:18px;
  max-height:calc(100vh - 180px);
  max-height:calc(100svh - 180px);
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y;
  padding-right:4px;
}

.store-link{
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px 16px;
  border-radius:var(--radius-md);
  border:1px solid var(--line);
  background:#fffdf9;
  text-decoration:none;
  transition:transform .18s ease, box-shadow .18s ease;
}

.store-link:hover,
.store-link:focus-visible{
  transform:translateY(-1px);
  box-shadow:0 10px 24px rgba(44,36,28,.08);
  outline:none;
}

.flag{
  font-size:1.4rem;
  line-height:1;
  flex:0 0 auto;
}

.preview-scroll-shell{
  inset:16px;
  overflow:auto;
}

.preview-card{
  width:min(980px,100%);
  max-height:none;
  padding:22px;
}

.preview-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:18px;
}

.preview-intro{
  max-width:60ch;
  color:var(--muted);
}

.preview-close{
  flex:0 0 auto;
  min-height:42px;
  padding:0 16px;
  border-radius:999px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.86);
  color:var(--ink);
  font:inherit;
  font-weight:700;
  cursor:pointer;
}

.preview-close:hover,
.preview-close:focus-visible{
  outline:none;
  box-shadow:0 10px 22px rgba(44,36,28,.08);
}

.preview-pages{
  display:grid;
  gap:18px;
}

.preview-page{
  width:min(760px,100%);
  margin:0 auto;
  padding:44px 48px;
  border-radius:22px;
  background:linear-gradient(180deg, #fffdf8, #fdf7ef);
  border:1px solid rgba(214,203,189,.95);
  box-shadow:0 18px 40px rgba(44,36,28,.09);
}

.preview-page-label{
  margin-bottom:18px;
  color:var(--accent-dark);
  font-size:.78rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.16em;
}

.preview-page h3{
  font-size:1.7rem;
  margin-bottom:12px;
}

.preview-subheading{
  margin-bottom:22px;
  color:var(--muted-strong);
  font-family:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;
  font-size:1.08rem;
  line-height:1.6;
}

.preview-body{
  display:grid;
  gap:16px;
}

.preview-body p{
  max-width:34em;
  font-family:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;
  font-size:1.08rem;
  line-height:1.75;
  color:#362b22;
}

.preview-footnote{
  margin-top:24px;
  padding-top:14px;
  border-top:1px solid rgba(205,188,168,.8);
  font-size:.94rem;
  color:var(--muted);
}

.store-meta strong{
  display:block;
  font-size:.98rem;
}

.store-meta span{
  display:block;
  margin-top:2px;
  color:var(--muted);
  font-size:.9rem;
}

.form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}

.field{
  display:grid;
  gap:8px;
}

.field-full{
  grid-column:1 / -1;
}

label{
  font-weight:700;
}

input,
textarea{
  width:100%;
  font:inherit;
  color:var(--ink);
  background:#fffdf9;
  border:1px solid var(--line);
  border-radius:16px;
  padding:14px 16px;
  outline:none;
}

input:focus,
textarea:focus{
  border-color:var(--accent);
  box-shadow:0 0 0 4px rgba(139,107,63,.08);
}

textarea{
  min-height:180px;
  resize:vertical;
}

.fine-print{
  color:var(--muted);
  font-size:.95rem;
}

.page-footer{
  margin-top:36px;
  padding-top:18px;
  border-top:1px solid rgba(222,211,196,.95);
  color:var(--muted);
  font-size:.95rem;
  text-align:center;
}

.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;
}

@media (max-width: 1040px){
  .catalog-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .feature-grid,
  .stat-row{
    grid-template-columns:1fr;
  }

  .featured-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .featured-card-forthcoming{
    grid-column:1 / -1;
    max-width:calc(50% - 8px);
    justify-self:center;
    width:100%;
  }
}

@media (max-width: 900px){
  .hero-grid,
  .split-panel{
    grid-template-columns:1fr;
  }

  .hero-grid{
    gap:14px;
  }

  .hero-copy h1{
    max-width:none;
  }

  .meta-list-columns{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .hero-panel{
    padding:28px 28px 26px;
  }

  .hero-side{
    padding:20px;
  }

  .site-header{
    align-items:flex-start;
  }
}

@media (max-width: 720px){
  .site-shell{
    width:min(var(--content), calc(100% - 24px));
    padding-top:16px;
    padding-bottom:48px;
  }

  .section{
    margin-top:20px;
  }

  .hero-panel,
  .hero-side,
  .feature-card,
  .stat-card,
  .split-panel,
  .preview-card,
  .notice,
  .empty,
  .error{
    padding:22px;
  }

  .modal-scroll-shell{
    inset:12px;
  }

  .modal-card{
    width:100%;
    max-height:calc(100vh - 24px);
    max-height:calc(100svh - 24px);
    margin:0 auto;
    padding:22px;
  }

  .store-grid{
    grid-template-columns:1fr;
    max-height:calc(100vh - 170px);
    max-height:calc(100svh - 170px);
  }

  .preview-header{
    flex-direction:column;
  }

  .preview-close{
    width:100%;
  }

  .preview-page{
    padding:30px 24px;
  }

  .meta-item{
    padding:10px 12px;
  }

  .meta-item strong{
    font-size:.88rem;
  }

  .meta-item span{
    font-size:.84rem;
    line-height:1.35;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }

  .featured-grid{
    gap:14px;
  }

  .featured-card .book-cover{
    height:300px;
  }

  .featured-body{
    padding:14px 16px 16px;
  }

  .featured-quiet-media{
    min-height:108px;
    padding:14px 16px;
  }

  .editorial-panel{
    gap:14px;
  }

  .kicker-box{
    padding:14px 15px;
  }
}

@media (max-width: 560px){
  h1{
    font-size:clamp(2.05rem, 10vw, 3rem);
  }

  .catalog-grid{
    grid-template-columns:1fr;
  }

  .meta-list-columns{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .hero-actions,
  .actions{
    flex-direction:column;
    align-items:stretch;
  }

  .button,
  .btn{
    width:100%;
  }

  .hero-panel{
    padding:22px 20px;
  }

  .hero-side{
    padding:16px;
    gap:10px;
  }

  .hero-actions{
    gap:8px;
    margin-top:16px;
  }

  .quote{
    font-size:.96rem;
  }

  .hero-support{
    font-size:.96rem;
  }

  .featured-grid{
    grid-template-columns:1fr;
    gap:12px;
  }

  .featured-card-forthcoming{
    grid-column:auto;
    max-width:none;
  }

  .featured-card .book-cover{
    height:260px;
  }

  .featured-quiet-media{
    min-height:92px;
  }

  .featured-body h3{
    font-size:1.18rem;
  }

  .search-wrap{
    width:100%;
    justify-content:stretch;
  }

  .search{
    width:100%;
  }

  .catalog-filters{
    padding:16px;
  }

  .store-link{
    align-items:flex-start;
  }

  .section-heading{
    margin-bottom:12px;
  }

  .preview-scroll-shell{
    inset:0;
  }

  .preview-card{
    min-height:100vh;
    min-height:100svh;
    border-radius:0;
    padding:18px;
  }

  .preview-page{
    padding:24px 18px;
    border-radius:18px;
  }

  .preview-page h3{
    font-size:1.45rem;
  }

  .preview-body p{
    font-size:1rem;
    line-height:1.68;
  }
}

.home-page .site-shell{
  width:min(1220px, calc(100% - 40px));
  padding:22px 0 64px;
}

.home-page .site-header{
  gap:20px;
  padding:8px 0 28px;
  margin-bottom:0;
}

.home-page .site-nav{
  gap:6px;
  flex-wrap:nowrap;
}

.home-page .site-nav a{
  font-size:.95rem;
  padding:8px 12px;
}

.home-main{
  display:grid;
  gap:64px;
}

.home-page .section{
  margin-top:0;
}

.home-hero{
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
  gap:36px;
  padding:44px;
  background:
    radial-gradient(circle at top right, rgba(139,107,63,.12), transparent 34%),
    linear-gradient(180deg, rgba(255,253,249,.98), rgba(255,250,242,.94));
}

.home-hero-copy,
.home-hero-visual{
  position:relative;
  z-index:1;
}

.home-hero-title{
  max-width:9ch;
  font-size:clamp(3.85rem, 7vw, 5.6rem);
  line-height:.94;
}

.home-hero-body{
  margin-top:18px;
  max-width:34em;
  font-size:1.08rem;
  line-height:1.6;
  color:var(--muted-strong);
}

.home-hero-body-secondary{
  margin-top:10px;
  max-width:31em;
  color:var(--muted);
}

.home-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:26px;
}

.home-hero-visual{
  display:grid;
  grid-template-columns:minmax(0,.72fr) minmax(0,1fr);
  gap:16px;
  align-items:end;
}

.home-hero-panel{
  margin:0;
  padding:12px;
  border-radius:24px;
  border:1px solid rgba(222,211,196,.92);
  background:rgba(255,253,249,.82);
  box-shadow:var(--shadow-soft);
}

.home-hero-panel img{
  width:100%;
  display:block;
  border-radius:16px;
  box-shadow:0 18px 36px rgba(44,36,28,.12);
}

.home-hero-panel-cover{
  transform:translateY(28px);
}

.home-hero-caption{
  grid-column:1 / -1;
  max-width:28em;
  padding-top:4px;
}

.home-mini-label{
  display:block;
  margin-bottom:6px;
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--accent-dark);
}

.home-hero-caption p{
  color:var(--muted);
}

.home-section-heading{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,32ch);
  gap:22px;
  align-items:end;
  margin-bottom:22px;
}

.home-section-heading p{
  max-width:36ch;
  color:var(--muted);
}

.home-section-heading-compact{
  margin-bottom:18px;
}

.home-promise-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}

.home-promise-item{
  padding-top:16px;
  border-top:1px solid rgba(205,188,168,.92);
}

.home-promise-item h3{
  margin-bottom:8px;
  font-size:1.1rem;
}

.home-promise-item p{
  max-width:22ch;
  color:var(--muted);
  line-height:1.5;
}

.home-books-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
  align-items:stretch;
}

.home-book-card{
  overflow:hidden;
  display:flex;
  flex-direction:column;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.home-book-card:hover,
.home-book-card:focus-within{
  transform:translateY(-3px);
  box-shadow:0 18px 42px rgba(58,43,28,.1);
  border-color:rgba(205,188,168,.98);
}

.home-book-cover-wrap{
  padding:22px 22px 0;
}

.home-book-cover{
  width:100%;
  height:400px;
  display:block;
  border-radius:22px;
  border:1px solid var(--line);
  object-fit:cover;
  box-shadow:0 18px 40px rgba(44,36,28,.12);
}

.home-book-body{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:20px 22px 24px;
  flex:1;
}

.home-book-topline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}

.home-book-label{
  display:inline-block;
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--accent-dark);
}

.home-book-detail{
  font-size:.92rem;
  color:var(--muted);
}

.home-book-description{
  max-width:30ch;
  color:var(--muted-strong);
  flex:1;
}

.home-book-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:4px;
}

.home-book-actions .btn{
  flex:1 1 0;
}

.home-interior{
  display:grid;
  gap:28px;
  padding:38px 40px;
}

.home-interior-showcase{
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(0,.92fr);
  gap:22px;
  align-items:start;
}

.home-sample-card{
  margin:0;
  padding:16px;
  border-radius:var(--radius-lg);
  background:rgba(255,255,255,.46);
  border:1px solid rgba(222,211,196,.92);
}

.home-sample-media{
  padding:12px;
  border-radius:22px;
  background:rgba(244,238,228,.76);
  border:1px solid rgba(222,211,196,.9);
}

.home-sample-media img{
  width:100%;
  display:block;
  border-radius:16px;
  box-shadow:0 18px 36px rgba(44,36,28,.09);
}

.home-sample-copy{
  display:grid;
  gap:8px;
  margin-top:16px;
}

.home-sample-copy p{
  max-width:32ch;
  color:var(--muted);
}

.home-interior-proof{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding-top:8px;
  border-top:1px solid rgba(205,188,168,.92);
}

.home-interior-proof p{
  max-width:34em;
  color:var(--muted-strong);
}

.home-interior-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.home-closing-card{
  display:grid;
  gap:16px;
  justify-items:center;
  padding:38px 32px;
  text-align:center;
}

.home-closing-card p{
  max-width:34ch;
  color:var(--muted);
}

.home-closing-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  justify-content:center;
}

.home-preview-modal{
  position:fixed;
  inset:0;
  display:none;
  z-index:1000;
}

.home-preview-modal.is-open{
  display:block;
}

.home-preview-backdrop{
  position:absolute;
  inset:0;
  background:rgba(35,29,23,.44);
}

.home-preview-dialog{
  position:relative;
  width:min(1100px, calc(100% - 32px));
  margin:22px auto;
  padding:22px;
  max-height:calc(100vh - 44px);
  max-height:calc(100svh - 44px);
  overflow:auto;
}

.home-preview-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:16px;
}

.home-preview-close{
  width:42px;
  height:42px;
  border-radius:999px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.86);
  color:var(--ink);
  font:inherit;
  font-size:1.5rem;
  line-height:1;
  cursor:pointer;
}

.home-preview-nav{
  width:44px;
  height:44px;
  border-radius:999px;
  border:1px solid rgba(139,107,63,.22);
  background:rgba(255,255,255,.82);
  color:var(--ink);
  font:inherit;
  font-size:1.5rem;
  line-height:1;
  cursor:pointer;
}

.home-preview-nav[disabled]{
  opacity:.45;
  cursor:default;
}

.home-preview-stage{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
}

.home-preview-frame{
  display:grid;
  place-items:center;
  padding:10px;
  border-radius:24px;
  background:rgba(244,238,228,.74);
  border:1px solid rgba(222,211,196,.95);
}

.home-preview-frame img{
  width:100%;
  max-height:72vh;
  max-height:72svh;
  object-fit:contain;
  display:block;
  border-radius:18px;
  box-shadow:0 20px 44px rgba(44,36,28,.12);
  background:#fffdf8;
}

.home-preview-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:14px;
  color:var(--muted);
  font-size:.94rem;
}

@media (max-width: 1100px){
  .home-page .site-shell{
    width:min(1220px, calc(100% - 32px));
  }

  .home-hero{
    grid-template-columns:1fr;
    gap:28px;
  }

  .home-hero-title{
    max-width:none;
  }

  .home-section-heading,
  .home-section-heading-compact{
    grid-template-columns:1fr;
    gap:10px;
  }

  .home-section-heading p{
    max-width:46em;
  }

  .home-promise-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .home-interior-showcase{
    grid-template-columns:1fr;
  }

  .home-interior-proof{
    flex-direction:column;
    align-items:flex-start;
  }
}

@media (max-width: 767px){
  .home-page .site-shell{
    width:min(1220px, calc(100% - 24px));
    padding-top:16px;
    padding-bottom:52px;
  }

  .home-page .site-header{
    gap:10px;
    padding:8px 0 20px;
  }

  .home-page .brand{
    gap:10px;
    min-width:0;
  }

  .home-page .brand-mark{
    width:48px;
    height:48px;
    padding:8px;
    border-radius:16px;
  }

  .home-page .brand-kicker{
    font-size:.58rem;
    letter-spacing:.17em;
  }

  .home-page .brand-name{
    font-size:1.02rem;
  }

  .home-page .site-nav{
    gap:2px;
    flex-wrap:wrap;
    justify-content:flex-end;
  }

  .home-page .site-nav a{
    padding:6px 8px;
    font-size:.82rem;
  }

  .home-main{
    gap:42px;
  }

  .home-hero{
    gap:22px;
    padding:24px 20px;
  }

  .home-hero-title{
    font-size:clamp(2.9rem, 12vw, 3.55rem);
    line-height:.97;
  }

  .home-hero-body{
    margin-top:16px;
    font-size:1rem;
  }

  .home-hero-actions,
  .home-closing-actions{
    flex-direction:column;
    align-items:stretch;
  }

  .home-hero-actions .button,
  .home-closing-actions .button{
    width:100%;
  }

  .home-hero-visual{
    grid-template-columns:1fr;
  }

  .home-hero-panel-cover{
    transform:none;
    max-width:220px;
  }

  .home-hero-panel-page{
    max-width:100%;
  }

  .home-promise-grid,
  .home-books-grid{
    grid-template-columns:1fr;
    gap:14px;
  }

  .home-promise-item{
    padding-top:14px;
  }

  .home-book-cover-wrap{
    padding:18px 18px 0;
  }

  .home-book-cover{
    height:280px;
  }

  .home-book-body{
    padding:16px 18px 18px;
  }

  .home-book-detail,
  .home-section-heading p,
  .home-promise-item p,
  .home-sample-copy p,
  .home-interior-proof p,
  .home-closing-card p{
    font-size:.97rem;
  }

  .home-book-actions,
  .home-interior-actions{
    flex-direction:column;
    align-items:stretch;
  }

  .home-book-actions .btn,
  .home-interior-actions .btn{
    width:100%;
  }

  .home-interior{
    gap:18px;
    padding:24px 20px;
  }

  .home-sample-card{
    padding:14px;
  }

  .home-sample-copy{
    margin-top:14px;
  }

  .home-interior-proof{
    gap:14px;
  }

  .home-closing-card{
    padding:28px 20px;
  }

  .home-preview-dialog{
    width:100%;
    min-height:100vh;
    min-height:100svh;
    margin:0;
    border-radius:0;
    padding:16px 12px 18px;
    max-height:none;
  }

  .home-preview-header{
    align-items:center;
    margin-bottom:12px;
  }

  .home-preview-stage{
    position:relative;
    grid-template-columns:1fr;
    gap:0;
  }

  .home-preview-nav{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    z-index:2;
  }

  .home-preview-stage #homePreviewPrev{
    left:8px;
  }

  .home-preview-stage #homePreviewNext{
    right:8px;
  }

  .home-preview-frame{
    padding:8px;
    border-radius:18px;
  }

  .home-preview-frame img{
    max-height:72vh;
    max-height:72svh;
  }

  .home-preview-meta{
    font-size:.9rem;
  }
}
