/* Homepage only: one shared Hannaland identity, not a duplicate of any collection.
   EB Garamond + Jost and the site's existing paper/plum palette are inherited. */
.home-page .button-solid,
.home-page .button-link {
  font-size: 14px;
  letter-spacing: .015em;
  text-transform: none;
}
.home-page .button-solid {gap: 16px;font-weight: 500;}
.home-page .button-link {font-weight: 500;}

.home-hero {
  overflow: hidden;
  border-bottom: 1px solid var(--line);
  background: linear-gradient(115deg,var(--paper) 0%,#f6f0e9 60%,#e9ddd3 100%);
}
.home-hero__layout {
  display: grid;
  grid-template-columns: minmax(0,.93fr) minmax(0,1.07fr);
  align-items: center;
  gap: clamp(40px,5vw,76px);
  padding-block: clamp(58px,6vw,94px);
}
.home-hero__copy {max-width: 580px;position: relative;z-index: 1;}
.home-hero__copy .eyebrow {font-size: 12px;letter-spacing: .055em;text-transform: none;}
.home-hero__copy h1 {
  max-width: 600px;
  margin: 25px 0 23px;
  color: var(--ink);
  font: 400 clamp(63px,7vw,102px)/.98 var(--serif);
  letter-spacing: -.035em;
  text-wrap: balance;
}
.home-hero__lead {
  max-width: 490px;
  margin: 0;
  color: var(--muted);
  font: 400 clamp(16px,1.5vw,18px)/1.78 var(--sans);
}
.home-hero__actions {display:flex;align-items:center;gap:23px;flex-wrap:wrap;margin-top:32px;}
.home-hero__footnote {
  margin: clamp(34px,5vw,64px) 0 0;
  padding-top: 15px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 12px;
  letter-spacing: .01em;
}
.home-hero__footnote span {margin-inline: 8px;color:var(--plum);}
.home-hero__visual {
  position: relative;
  width: 100%;
  height: clamp(390px,42vw,530px);
  min-width: 0;
  margin: 0;
  background: #d4c1ad;
}
.home-hero__scene {display:block;width:100%;height:100%;object-fit:cover;}
.home-hero__detail {
  position: absolute;
  bottom: -26px;
  left: -32px;
  width: clamp(125px,16vw,205px);
  height: clamp(156px,21vw,260px);
  border: 8px solid var(--cream);
  background: var(--cream);
  object-fit: cover;
  box-shadow: 0 13px 38px #3d29301f;
  transform: rotate(-5deg);
}
.home-hero__visual figcaption {
  position: absolute;
  top: 20px;
  right: 20px;
  padding: 8px 13px;
  color: var(--plum);
  background: rgba(252,250,246,.95);
  font: italic 500 18px/1.2 var(--serif);
}
.home-hero__visual figcaption span {margin-left:7px;color:#9e7751;}

.home-collections {background:var(--cream);padding-block:clamp(52px,6vw,80px);}
.home-section-heading {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 30px;
  margin-bottom: 31px;
}
.home-section-heading h2 {
  margin: 7px 0 0;
  font: 400 clamp(46px,5.2vw,72px)/1.02 var(--serif);
  letter-spacing: -.025em;
}
.home-section-heading__aside {max-width:345px;}
.home-section-heading__aside p {margin:0 0 10px;font-size:15px;line-height:1.6;color:var(--muted);}
.home-collections__grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: clamp(14px,1.8vw,25px);
  align-items: stretch;
}
.home-collection-card {
  display:flex;
  flex-direction:column;
  min-width:0;
  border:1px solid var(--line);
  background:var(--paper);
  transition: border-color .2s ease,transform .2s ease;
}
.home-collection-card:hover,.home-collection-card:focus-visible {
  border-color:#b59ca1;
  transform:translateY(-2px);
}
.home-collection-card .collection-card__media {
  max-width:none;
  width:100%;
  aspect-ratio:1.42;
  background:#e1d9ce;
}
.home-collection-card .collection-card__media img {width:100%;height:100%;object-fit:cover;}
.home-collection-card .collection-card__meta {
  margin:21px 22px 0;
  color:var(--muted);
  font-size:12px;
  letter-spacing:.02em;
}
.home-collection-card .collection-card__title {
  display:block;
  margin:7px 22px 0;
  font:500 clamp(29px,2.8vw,40px)/1.08 var(--serif);
  color:var(--plum);
  letter-spacing:-.02em;
}
.home-collection-card .collection-card__description {
  display:-webkit-box;
  margin:11px 22px 0;
  max-width:38ch;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  line-height:1.55;
  font-size:14px;
}
.home-collection-card .collection-card__link {
  display:block;
  margin:auto 22px 0;
  padding:19px 0 22px;
  font-size:14px;
  font-weight:500;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:5px;
}
.home-collections__grid > .collections-empty {grid-column:1/-1;}

.home-spotlight {background:#eee6dc;border-bottom:1px solid var(--line);}
.home-spotlight__layout {
  display:grid;
  grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);
  min-height:420px;
  align-items:center;
  gap:clamp(44px,6.5vw,95px);
  padding-block:clamp(50px,6vw,80px);
}
.home-spotlight__visual {margin:0;position:relative;min-width:0;}
.home-spotlight__visual img {
  display:block;
  width:100%;
  max-height:450px;
  aspect-ratio:1.38;
  object-fit:contain;
  background:#e4dcd0;
}
.home-spotlight__visual figcaption {padding-top:10px;color:var(--muted);font:italic 17px var(--serif);}
.home-spotlight__copy {max-width:480px;}
.home-spotlight__copy h2 {
  margin:15px 0 20px;
  font:500 clamp(42px,5vw,69px)/1.03 var(--serif);
  letter-spacing:-.025em;
  overflow-wrap:break-word;
}
.home-spotlight__copy p:not(.eyebrow) {font-size:16px;line-height:1.75;color:var(--muted);margin:0 0 25px;}
.home-spotlight__catalog-link {
  display:inline-block;
  margin:22px 0 0 20px;
  color:var(--plum);
  font-size:14px;
  text-decoration:underline;
  text-underline-offset:5px;
}

.home-story {padding-block:clamp(56px,7vw,96px);background:var(--cream);}
.home-story__layout {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,90px);align-items:center;}
.home-story__visual {min-width:0;margin:0;}
.home-story__visual img {width:100%;height:clamp(340px,37vw,475px);object-fit:cover;}
.home-story__visual figcaption {font:italic 18px var(--serif);color:var(--plum);margin-top:12px;}
.home-story__copy h2 {margin:12px 0 24px;font:400 clamp(43px,4.9vw,68px)/1.06 var(--serif);letter-spacing:-.025em;}
.home-story__copy p:not(.eyebrow) {max-width:510px;color:var(--muted);font-size:16px;line-height:1.82;margin:0 0 27px;}

.home-notebook {background:#efe6de;border-top:1px solid var(--line);padding-block:clamp(50px,6vw,83px);}
.home-notebook__layout {
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
  gap:clamp(36px,7vw,105px);
  align-items:end;
}
.home-notebook h2 {margin:12px 0 0;max-width:710px;font:400 clamp(39px,4.5vw,61px)/1.08 var(--serif);letter-spacing:-.02em;}
.home-notebook__layout > div:nth-child(2) > p {margin:0 0 21px;font-size:15px;line-height:1.75;color:var(--muted);}
.home-notebook__links {display:flex;flex-wrap:wrap;gap:25px;}

@media (max-width:950px) {
  .home-hero__layout {grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;}
  .home-hero__copy h1 {font-size:clamp(53px,6.5vw,76px);}
  .home-hero__visual {height:440px;}
  .home-hero__detail {left:-15px;bottom:-15px;}
  .home-spotlight__layout {gap:36px;}
}
@media (max-width:720px) {
  .home-hero__layout {grid-template-columns:1fr;padding-block:43px 55px;gap:30px;}
  .home-hero__copy {max-width:none;}
  .home-hero__copy h1 {font-size:clamp(55px,12vw,78px);margin:16px 0;}
  .home-hero__lead {font-size:16px;}
  .home-hero__footnote {margin-top:30px;}
  .home-hero__visual {height:clamp(300px,68vw,440px);width:calc(100% - 15px);margin-left:15px;}
  .home-hero__detail {width:125px;height:158px;left:-15px;bottom:-13px;border-width:6px;}
  .home-section-heading {display:block;}
  .home-section-heading__aside {margin-top:13px;}
  .home-section-heading__aside .button-link {margin-top:7px;}
  .home-collections__grid {grid-template-columns:1fr;gap:18px;}
  .home-collection-card .collection-card__media {aspect-ratio:1.55;}
  .home-collection-card .collection-card__title {font-size:35px;}
  .home-spotlight__layout,.home-story__layout,.home-notebook__layout {grid-template-columns:1fr;gap:25px;}
  .home-spotlight__layout {padding-block:44px 60px;}
  .home-spotlight__visual img {max-height:360px;}
  .home-spotlight__catalog-link {margin:18px 0 0;display:block;}
  .home-story__layout {gap:28px;}
  .home-story__visual img {height:310px;}
  .home-notebook__layout {gap:20px;}
}
@media (prefers-reduced-motion:reduce) {
  .home-collection-card {transition:none;}
}
