/* Homepage composition only. Brand palette, typography and shopping tools are shared. */
.home-composition{max-width:1760px;margin:0 auto;padding:18px clamp(14px,2vw,30px) 0}
.home-composition .home-banner{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);min-height:clamp(470px,43vw,640px);background:var(--forest-ink);border-radius:22px;overflow:hidden;isolation:isolate}
.home-composition .home-banner-copy{padding:clamp(30px,4.4vw,72px);display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;min-width:0}
.home-composition .home-banner .eyebrow{color:var(--osmanthus)!important;font-size:10px;letter-spacing:2.7px;line-height:1.8;margin:0 0 24px;max-width:350px}
.home-composition .home-banner h1,.home-composition .home-banner h2{color:var(--silk-cream)!important;font-family:var(--serif);font-weight:400;line-height:1.07;letter-spacing:-1.8px;margin:0 0 24px}
.home-composition .home-banner h1{font-size:clamp(42px,4.6vw,76px)}
.home-composition .home-banner h2{font-size:clamp(42px,4.3vw,68px)}
.home-composition .home-banner-description{color:var(--silk-cream);max-width:330px;font-size:15px;line-height:1.8;margin:0 0 28px}
.home-composition .home-banner-link{display:inline-flex;align-items:center;justify-content:center;gap:20px;border:1px solid var(--silk-cream);border-radius:999px;padding:13px 26px;min-height:46px;color:var(--silk-cream);font-size:10px;letter-spacing:1.4px;text-transform:uppercase;transition:background .2s,color .2s}
.home-composition .home-banner-link:hover{background:var(--silk-cream);color:var(--forest-ink)}
.home-composition .home-banner-link:focus-visible{outline:2px solid var(--osmanthus);outline-offset:5px}
.home-composition .home-banner-photo{margin:0;position:relative;min-width:0;min-height:100%;background:var(--olive-leaf)}
.home-composition .home-banner-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 54%}
.home-composition .home-collection-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:18px 0 24px}
.home-composition .home-collection-card{display:block;min-width:0;text-decoration:none;color:var(--forest-ink)}
.home-composition .home-collection-photo{aspect-ratio:1.08;overflow:hidden;border-radius:18px;background:transparent;padding:0;border:0;box-shadow:none}
.home-composition .home-collection-photo img{display:block;width:100%;height:100%;object-fit:contain;border-radius:0;transform:none}
.home-composition .home-collection-card:hover img{transform:none}
.home-composition .home-collection-caption{padding:15px 5px 0}
.home-composition .home-collection-caption h2{font-family:var(--serif);font-weight:400;font-size:clamp(22px,2.1vw,32px);line-height:1.25;letter-spacing:-.4px;margin:0 0 7px}
.home-composition .home-collection-caption>span{font-size:10px;letter-spacing:.9px;text-transform:uppercase;color:var(--muted);line-height:1.7}
.home-composition .home-collection-caption>span>span{margin-left:5px;color:var(--gold-deep)}
.home-composition .home-banner-gifts{background:var(--olive-leaf);min-height:clamp(460px,41vw,610px)}
.home-composition .home-banner-gifts .home-banner-copy{background:#1F3A2F26}
.home-composition .home-banner-gifts .eyebrow{color:var(--silk-cream)!important}
.home-composition .home-banner-gifts .home-banner-photo{background:var(--forest-ink)}
.home-composition .home-banner-gifts .home-banner-photo img{object-position:center 48%}
.home-composition .home-story{max-width:760px;padding:90px 24px 95px;text-align:center;margin:auto;scroll-margin-top:30px}
.home-composition .home-story h2{font-size:clamp(34px,3.8vw,55px);margin-bottom:24px}
.home-composition .home-story>p:not(.eyebrow){max-width:550px;margin:0 auto;color:var(--muted);font-size:14px;line-height:1.9}
.home-composition .home-story .eyebrow{margin-bottom:22px}
.home-composition .home-story .text-link{margin-top:23px}
@media(max-width:900px){.home-composition .home-banner{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:470px}.home-composition .home-banner-copy{padding:32px}.home-composition .home-banner h1,.home-composition .home-banner h2{font-size:clamp(37px,4.8vw,48px)}.home-composition .home-banner-description{font-size:13px}.home-composition .home-banner-link{padding:12px 18px;font-size:9px;gap:12px}.home-composition .home-collection-row{gap:12px}.home-composition .home-collection-caption h2{font-size:24px}.home-composition .home-collection-caption>span{font-size:9px;letter-spacing:.4px}}
@media(max-width:680px){.home-composition{padding:14px 14px 0}.home-composition .home-banner{display:flex;flex-direction:column;min-height:0;border-radius:18px}.home-composition .home-banner-copy{padding:32px 26px;min-height:280px}.home-composition .home-banner h1,.home-composition .home-banner h2{font-size:clamp(38px,8vw,50px);letter-spacing:-1px;margin-bottom:18px}.home-composition .home-banner .eyebrow{margin-bottom:18px;font-size:9px;letter-spacing:2px}.home-composition .home-banner-description{font-size:13px;margin-bottom:22px}.home-composition .home-banner-photo{min-height:0;aspect-ratio:1.3;width:100%}.home-composition .home-banner-photo img{object-position:center 56%}.home-composition .home-collection-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:14px 0 22px}.home-composition .home-collection-photo{border-radius:12px;padding:0;aspect-ratio:.9}.home-composition .home-collection-photo img{border-radius:0}.home-composition .home-collection-caption{padding:10px 1px 0}.home-composition .home-collection-caption h2{font-size:clamp(17px,4.1vw,23px);letter-spacing:-.3px;margin-bottom:5px}.home-composition .home-collection-caption>span{font-size:10px;line-height:1.5;letter-spacing:0;text-transform:none}.home-composition .home-collection-caption>span>span{margin-left:0}.home-composition .home-banner-gifts .home-banner-copy{min-height:270px}.home-composition .home-banner-gifts .home-banner-photo{aspect-ratio:1.15}.home-composition .home-story{padding:65px 12px 70px}.home-composition .home-story h2{font-size:38px}.home-composition .home-story>p:not(.eyebrow){font-size:13px}}
@media(prefers-reduced-motion:reduce){.home-composition .home-collection-photo img,.home-composition .home-banner-link{transition:none}}

@media(max-width:680px){.home-composition .home-collection-caption h2{min-height:2.5em}body[data-page="story"] #nvchat-fab{width:52px;min-height:52px;padding:10px;justify-content:center;gap:0;border-radius:50%}body[data-page="story"] #nvchat-fab>span{display:none}}
