/* Home composition: one selection, clear category entry points and a short story. */
body[data-page="home"] .home-hero {
  display: grid;
  grid-template-columns: 42% 58%;
  min-height: 440px;
  background: #f3efe8;
}
.home-hero-copy {
  padding: 48px max(30px, 5vw);
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
}
.home-hero-copy .eyebrow {font-size: 10px; letter-spacing: .19em; margin-bottom: 20px;}
.home-hero-copy h1 {
  font-family: var(--serif);
  font-size: clamp(32px, 3.1vw, 47px);
  line-height: 1.55;
  letter-spacing: .035em;
  margin-bottom: 12px;
}
.home-hero-signature {font: 18px/1.5 var(--serif); letter-spacing: .02em; margin-bottom: 18px; color: #7e6b58;}
.home-hero-description {font-size: 14px; line-height: 1.85; color: var(--muted); margin-bottom: 0;}
.home-hero-actions {display: flex; align-items: center; flex-wrap: wrap; gap: 20px; margin-top: 28px;}
.home-hero-actions .btn {min-width: 154px; gap: 28px; padding: 12px 20px;}
.home-soft-link {font-size: 12px; padding: 10px 0; text-decoration: underline; text-underline-offset: 5px;}
.home-hero-image {position: relative; overflow: hidden; min-width: 0;}
.home-hero-image img {width: 100%; height: 100%; position: absolute; inset: 0; object-position: center 60%;}
.home-photo-note {position: absolute; bottom: 24px; right: 30px; font-size: 10px; letter-spacing: .18em; color: #564437;}
.home-categories {padding: 35px 0 0;}
.home-section-head {display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 26px;}
.home-section-head h2 {font-family: inherit; font-size: 25px; line-height: 1.65; letter-spacing: .045em; margin: 0;}
.home-section-head .eyebrow {font-size: 10px; margin-bottom: 8px;}
.home-section-head .textlink {font-size: 12px; flex: 0 0 auto;}
.home-category-head {align-items: center; margin-bottom: 18px;}
.home-category-head h2 {font-size: 16px; letter-spacing: .06em;}
.home-category-grid {display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px;}
.home-category {min-width: 0;}
.home-category-image {height: 164px; overflow: hidden; background: var(--soft);}
.home-category-image img {height: 100%; width: 100%; transition: transform .5s ease;}
.home-category:hover .home-category-image img {transform: scale(1.035);}
.home-category-label {display: flex; align-items: center; justify-content: space-between; gap: 6px; margin-top: 12px; font-size: 14px;}
.home-category-arrow {font-size: 17px; color: #7c674f;}
.home-category-caption {display: block; font: 9px/1.5 sans-serif; letter-spacing: .16em; color: var(--muted); margin-top: 2px;}
.home-selection {padding: 62px 0 64px;}
.home-selected-grid {grid-template-columns: repeat(4, minmax(0, 1fr));}
.home-journal {display: grid; grid-template-columns: 1fr 1fr; background: #f4f0e9;}
.home-journal-image {min-width: 0; height: 414px; overflow: hidden;}
.home-journal-image img {width: 100%; height: 100%; object-position: center 55%; transition: transform .7s ease;}
.home-journal-image:hover img {transform: scale(1.025);}
.home-journal-copy {padding: 46px 7vw; display: flex; flex-direction: column; justify-content: center; min-width: 0;}
.home-journal-copy .eyebrow {font-size: 10px; margin-bottom: 15px;}
.home-journal-signature {font: 30px/1.2 var(--serif); letter-spacing: -.01em; margin-bottom: 16px; color: #7e6b58;}
.home-journal-copy h2 {font-family: inherit; font-size: clamp(20px, 2vw, 28px); line-height: 1.7; letter-spacing: .03em; margin-bottom: 17px;}
.home-journal-copy > p:not(.eyebrow):not(.home-journal-signature) {font-size: 13px; line-height: 1.95; color: var(--muted); margin-bottom: 24px;}
.home-journal-copy .textlink {align-self: flex-start; font-size: 12px;}
.home-gift {padding: 60px 0 55px;}
.home-gift-note {font-size: 12px; color: var(--muted); line-height: 1.8; margin: 0;}
.home-gift-links {display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px;}
.home-gift-links a {display: grid; grid-template-columns: 1fr auto; align-content: center; align-items: center; gap: 12px; border: 1px solid var(--line); min-height: 128px; padding: 24px 28px; transition: background .2s ease, border-color .2s ease;}
.home-gift-links a:hover {background: #f7f4ef; border-color: #bca785;}
.home-gift-label {font-size: 12px; color: var(--muted); grid-column: 1 / -1;}
.home-gift-price {font: 30px/1.2 var(--serif);}
.home-gift-price span {font: 11px/1.5 sans-serif; margin-left: 8px; color: var(--muted);}
.home-gift-all {font-size: 19px; line-height: 1.5; letter-spacing: .03em;}
.home-gift-arrow {color: #7c674f; font-size: 20px;}
.home-store {display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 33px 0 50px; border-top: 1px solid var(--line);}
.home-store .eyebrow {font-size: 10px; margin-bottom: 9px;}
.home-store h2 {font-size: 29px; margin-bottom: 10px;}
.home-store p:not(.eyebrow) {font-size: 13px; color: var(--muted); margin: 0;}
.home-store .btn {flex: 0 0 auto; gap: 25px; padding: 12px 20px;}
@media (min-width: 1600px) {
  body[data-page="home"] .home-hero {min-height: 530px;}
  .home-category-image {height: 210px;}
}
@media (max-width: 1000px) {
  body[data-page="home"] .home-hero {grid-template-columns: 46% 54%; min-height: 420px;}
  .home-hero-copy {padding: 34px 5vw;}
  .home-hero-copy h1 {font-size: 31px;}
  .home-hero-signature {font-size: 16px;}
  .home-hero-actions {gap: 16px; margin-top: 24px;}
  .home-category-grid {gap: 14px;}
  .home-category-image {height: 145px;}
  .home-journal-copy {padding: 36px 5vw;}
  .home-journal-image {height: 380px;}
  .home-gift-links {gap: 12px;}
  .home-gift-links a {padding: 20px;}
  .home-gift-note {max-width: 260px;}
}
@media (max-width: 700px) {
  body[data-page="home"] .home-hero {display: flex; flex-direction: column; min-height: 0;}
  .home-hero-copy {padding: 27px 6% 29px;}
  .home-hero-copy .eyebrow {font-size: 9px; margin-bottom: 10px;}
  .home-hero-copy h1 {font-size: 29px; line-height: 1.5; margin-bottom: 8px; letter-spacing: .04em;}
  .home-hero-signature {font-size: 16px; margin-bottom: 11px;}
  .home-hero-description {font-size: 12px; line-height: 1.8;}
  .home-hero-actions {margin-top: 18px; gap: 23px;}
  .home-hero-actions .btn {min-width: 152px; min-height: 46px; font-size: 12px;}
  .home-soft-link {font-size: 12px;}
  .home-hero-image {height: 218px;}
  .home-hero-image img {object-position: center 62%;}
  .home-photo-note {bottom: 15px; right: 6%; font-size: 8px;}
  .home-categories {padding-top: 27px;}
  .home-category-head h2 {font-size: 15px;}
  .home-category-head .textlink {font-size: 11px;}
  .home-category-grid {grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 14px;}
  .home-category-image {height: 112px;}
  .home-category-label {margin-top: 8px; font-size: 13px;}
  .home-category-caption {font-size: 8px;}
  .home-selection {padding: 40px 0 42px;}
  .home-section-head {gap: 13px; margin-bottom: 22px;}
  .home-section-head h2 {font-size: 20px; line-height: 1.65;}
  .home-section-head .textlink {font-size: 10px;}
  .home-section-head .eyebrow {font-size: 9px; margin-bottom: 6px;}
  .home-selected-grid {grid-template-columns: repeat(2, minmax(0, 1fr));}
  .home-journal {grid-template-columns: 1fr;}
  .home-journal-image {height: 245px;}
  .home-journal-copy {padding: 30px 6% 34px;}
  .home-journal-copy .eyebrow {font-size: 9px; margin-bottom: 10px;}
  .home-journal-signature {font-size: 28px; margin-bottom: 13px;}
  .home-journal-copy h2 {font-size: 21px; margin-bottom: 14px;}
  .home-journal-copy > p:not(.eyebrow):not(.home-journal-signature) {font-size: 12px; margin-bottom: 19px;}
  .home-gift {padding: 37px 0 34px;}
  .home-gift .home-section-head {display: block;}
  .home-gift .home-section-head h2 {font-size: 19px;}
  .home-gift-note {margin-top: 13px; max-width: none; font-size: 11px;}
  .home-gift-links {grid-template-columns: 1fr; gap: 10px;}
  .home-gift-links a {min-height: 90px; padding: 18px 21px; gap: 7px;}
  .home-gift-label {font-size: 11px;}
  .home-gift-price {font-size: 27px;}
  .home-gift-all {font-size: 18px;}
  .home-store {flex-direction: column; align-items: flex-start; gap: 22px; padding: 28px 0 34px;}
  .home-store h2 {font-size: 25px;}
  .home-store p:not(.eyebrow) {font-size: 12px;}
  .home-store .btn {min-height: 46px; font-size: 12px;}
}
@media (max-width: 359px) {
  .home-hero-copy h1 {font-size: 25px;}
  .home-hero-actions {gap: 14px;}
  .home-hero-actions .btn {min-width: 138px;}
  .home-soft-link {font-size: 11px;}
  .home-section-head h2 {font-size: 17px;}
  .home-section-head .textlink {font-size: 9px;}
}
@media (prefers-reduced-motion: reduce) {
  .home-category-image img, .home-journal-image img, .home-gift-links a {transition: none;}
}
