/* The approved homepage is the visual source for every interior page. */
:root { --shop-paper: #faf9f6; --checkout-paper: #faf9f6; }
html[data-hero="final"] body.inner-page .site-header,
html[data-hero="final"] body.inner-page .site-header.is-compact {
  height: var(--header-height);
  margin-bottom: 0;
  background: #fff;
  color: var(--ink);
  border-bottom-color: var(--line);
}
html body.inner-page .site-header .brand { color: #d670f7; transform: none; }
html body.inner-page .site-header .icon-button:hover { color: #73716c; }
html body.inner-page .site-header :focus-visible { outline-color: var(--ink); }
.inner-page .assistant-launcher { position: fixed; top: auto; bottom: 22px; right: 22px; z-index: 25; }
.inner-page .assistant-launcher-label { display: none; }
.inner-page .assistant-launcher { padding: 8px 14px 8px 8px; }
.inner-page .assistant-launcher > img { width: 36px; height: 36px; }
.mobile-menu a[aria-current="page"], .footer-column a[aria-current="page"] { text-decoration: underline; text-underline-offset: 6px; }
.filter-sidebar, .product-gallery, .order-column, .cart-summary { top: calc(var(--header-height) + 24px); }
.catalog-intro { background: #fff; padding-top: 58px; padding-bottom: 62px; }
.catalog-tabs { background: #fff; }
.shop-card { position: relative; }
.favorite-button { position: absolute; z-index: 2; top: 12px; right: 12px; display: grid; place-items: center; width: 42px; height: 42px; padding: 10px; border: 0; background: #ffffffed; color: var(--ink); }
.favorite-button svg, .favorite-detail svg { width: 21px; height: 21px; }
[data-favorite][aria-pressed="true"] svg { fill: #d670f733; stroke: #80548e; }
.favorite-detail { display: flex; align-items: center; justify-content: center; gap: 12px; width: 100%; padding: 14px; margin-top: 10px; background: transparent; border: 1px solid var(--line); font-size: 13px; }
.favorite-detail[aria-pressed="true"] { background: #f8f4fa; }
.page-intro { padding: 62px var(--gutter) 70px; background: var(--paper); }
.page-intro .shop-eyebrow { margin-bottom: 20px; }
.page-intro h1, .editorial-copy h1 { max-width: 1000px; font-size: clamp(42px, 5.2vw, 82px); line-height: 1.08; letter-spacing: -.055em; }
.page-intro > p:last-child { max-width: 620px; margin-top: 24px; color: var(--muted); font-size: 17px; line-height: 1.8; }
.page-tabs { display: flex; flex-wrap: wrap; gap: 12px 32px; padding: 23px var(--gutter); border-bottom: 1px solid var(--line); font-size: 14px; }
.page-tabs a:hover { text-decoration: underline; text-underline-offset: 6px; }
.editorial-split { display: grid; grid-template-columns: 1fr 1fr; min-height: 630px; background: var(--paper); }
.editorial-split > img { width: 100%; height: 100%; max-height: 850px; object-fit: cover; }
.editorial-copy { align-self: center; padding: 70px clamp(28px, 6vw, 105px); }
.editorial-copy h2 { font-size: clamp(32px, 3.5vw, 54px); line-height: 1.15; letter-spacing: -.045em; }
.editorial-copy .shop-eyebrow { margin-bottom: 25px; }
.editorial-copy p:not(.shop-eyebrow) { margin-top: 24px; color: var(--muted); }
.editorial-copy .underlined-link { margin-top: 32px; }
.editorial-copy .contact-links a { display: block; width: fit-content; margin: 14px 0; color: var(--ink); text-decoration: underline; text-underline-offset: 5px; overflow-wrap: anywhere; }
.page-section { padding: 85px var(--gutter); }
.page-section > .section-heading { padding: 0; margin-bottom: 36px; }
.journal-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.journal-card { display: block; }
.journal-card img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; transition: filter .25s; }
.journal-card:hover img { filter: brightness(.95); }
.journal-card .shop-eyebrow { margin: 23px 0 12px; color: var(--muted); }
.journal-card h2 { font-size: clamp(23px, 2vw, 32px); line-height: 1.3; letter-spacing: -.035em; }
.journal-card p { margin: 14px 0 20px; color: var(--muted); font-size: 15px; }
.journal-card .underlined-link { font-size: 14px; }
.article-heading { max-width: 1050px; margin: auto; text-align: center; padding: 65px var(--gutter); }
.article-heading h1 { font-size: clamp(40px, 4.7vw, 72px); line-height: 1.15; letter-spacing: -.045em; margin: 20px 0; }
.article-heading p { color: var(--muted); }
.article-hero { width: calc(100% - 2 * var(--gutter)); max-height: 650px; object-fit: cover; object-position: center; margin: 0 auto; }
.article-body { max-width: 800px; padding: 65px var(--gutter) 85px; margin: auto; font-size: 17px; line-height: 1.9; overflow-wrap: anywhere; }
.article-body h2 { font-size: 30px; line-height: 1.3; letter-spacing: -.025em; margin: 42px 0 18px; }
.article-body h3 { font-size: 22px; margin: 28px 0 14px; }
.article-body h4 { font-size: 18px; font-weight: 500; margin: 24px 0 12px; }
.article-body p + p { margin-top: 20px; }
.article-body ul, .article-body ol { padding-left: 22px; }
.article-body li + li { margin-top: 10px; }
.article-body a:not(.shop-button) { text-decoration: underline; text-underline-offset: 4px; }
.article-body table { width: 100%; border-collapse: collapse; font-size: 14px; }
.article-body th, .article-body td { padding: 12px 8px; text-align: left; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; }
.article-body details { padding: 18px 0; border-bottom: 1px solid var(--line); }
.article-body summary { cursor: pointer; }
.article-body .shop-button { margin-top: 28px; }
.page-cta { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding: 65px var(--gutter); background: #f8f4fa; }
.page-cta h2 { font-size: clamp(30px, 3.5vw, 52px); line-height: 1.2; letter-spacing: -.045em; }
.page-cta p { margin-top: 15px; color: var(--muted); }
.page-cta a { flex-shrink: 0; }
.info-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; }
.info-grid h2 { font-size: 27px; letter-spacing: -.03em; margin: 15px 0; line-height: 1.3; }
.info-grid p { color: var(--muted); font-size: 16px; }
.info-grid .underlined-link { margin-top: 22px; }
.info-number { font-size: 12px; color: var(--muted); }
.faq-list { max-width: 1000px; margin: auto; border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); padding: 22px 0; }
.faq-list summary { font-size: 21px; cursor: pointer; }
.faq-list details p { color: var(--muted); max-width: 750px; margin: 20px 0 5px; }
.faq-list a { text-decoration: underline; text-underline-offset: 4px; }
.lookbook-page .lookbook-grid { padding: 0; gap: 24px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.lookbook-page .look-card { margin: 0; }
.lookbook-page .look-card img { height: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.favorites-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 24px; }
.empty-favorites { max-width: 650px; padding: 30px 0; }
.empty-favorites h2 { font-size: 30px; line-height: 1.3; letter-spacing: -.03em; }
.empty-favorites p { margin: 20px 0 30px; color: var(--muted); }
.stockists-directory { padding-bottom: 70px; }
.stockist-region { padding: 55px var(--gutter) 10px; }
.stockist-region h2 { font-size: clamp(28px, 3vw, 42px); line-height: 1.2; letter-spacing: -.035em; margin-bottom: 30px; }
.stockist-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.stockist-card { border-top: 1px solid var(--line); padding: 24px 0; font-size: 15px; line-height: 1.9; color: var(--muted); overflow-wrap: anywhere; }
.stockist-card h4 { font-weight: 400; font-size: 22px; line-height: 1.4; color: var(--ink); margin: 0 0 16px; }
.stockist-card a { text-decoration: underline; text-underline-offset: 4px; }
.inner-page .checkout-main { padding-top: 55px; }
@media (max-width: 900px) {
  .editorial-split { min-height: 0; }
  .editorial-copy { padding: 42px 28px; }
  .editorial-split > img { min-height: 450px; }
  .journal-grid { gap: 18px; }
  .stockist-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
  .info-grid { gap: 24px; }
  .page-cta { flex-direction: column; align-items: flex-start; }
  .filter-sidebar, .product-gallery, .order-column, .cart-summary { position: static; }
}
@media (max-width: 600px) {
  .page-intro { padding: 36px var(--gutter) 44px; }
  .page-intro > p:last-child { font-size: 16px; }
  .editorial-split { grid-template-columns: 1fr; }
  .editorial-split > img { min-height: 0; max-height: 520px; aspect-ratio: 4 / 5; }
  .editorial-copy { padding: 42px var(--gutter) 50px; }
  .page-section { padding: 50px var(--gutter); }
  .journal-grid, .info-grid { grid-template-columns: 1fr; gap: 38px; }
  .stockist-grid { grid-template-columns: 1fr; gap: 0; }
  .journal-card img { aspect-ratio: 1; }
  .article-heading { padding-top: 35px; padding-bottom: 40px; }
  .article-body { padding-top: 35px; padding-bottom: 50px; }
  .article-body h2 { font-size: 26px; }
  .article-hero { aspect-ratio: 4 / 5; }
  .page-cta { padding: 45px var(--gutter); }
  .lookbook-page .lookbook-grid { grid-template-columns: 1fr; gap: 24px; }
  .favorites-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 14px; }
  .favorite-button { width: 36px; height: 36px; top: 8px; right: 8px; }
  .inner-page .assistant-launcher { right: 12px; bottom: 12px; padding: 6px; }
  .inner-page .assistant-launcher > span, .inner-page .assistant-launcher > svg { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .journal-card img { transition: none; }
}
