/* Homepage Visual Reference V1: generated editorial assets, live HTML controls. */
.gbm-home { --gbm-content: 90rem; background: #fcf9f5; }
.gbm-header-search { display: none; }
@media (min-width: 75.01rem) {
  .gbm-header-search { display: flex; align-items: center; width: 10.5rem; border: 1px solid var(--gbm-line); border-radius: 99px; padding: .15rem .5rem; }
  .gbm-header-search input { width: 100%; min-width: 0; border: 0; background: transparent; font-size: .65rem; padding: .3rem; }
  .gbm-header-search button { display: grid; place-items: center; width: 2rem; height: 2rem; padding: .3rem; border: 0; background: none; color: var(--gbm-ink); cursor: pointer; }
  .gbm-header-search svg { width: 1.1rem; fill: none; stroke: currentColor; stroke-width: 1.6; }
  .home .gbm-header-actions > .gbm-icon-link[aria-label="Search"] { display: none; }
}
.gbm-home .gbm-shell { width: min(calc(100% - 4rem), var(--gbm-content)); }
.gbm-home .gbm-button { border-radius: 3px; min-height: 2.5rem; padding: .65rem 1.2rem; }
.gbm-home-hero { position: relative; background-size: cover; background-position: center 48%; }
.gbm-home-hero__grid { position: relative; min-height: clamp(20rem, 22vw, 27rem); grid-template-columns: 42% 58%; }
.gbm-home-hero__copy { z-index: 2; padding: 1.4rem 1rem 1.4rem 5%; }
.gbm-home-hero h1 { max-width: 13ch; font-size: clamp(2.65rem, 3.8vw, 4.3rem); line-height: 1; text-wrap: balance; }
.gbm-home-hero__copy > p { max-width: 29rem; font-size: clamp(1rem, 1.5vw, 1.35rem); line-height: 1.2; }
.gbm-home-hero__visual { min-height: 0; background: none !important; border: 0; overflow: visible; }
.gbm-home-hero__visual::before { display: none; }
.gbm-home-hero__visual .gbm-handwritten { right: 0; top: 10%; font-size: clamp(1.35rem, 2.5vw, 2.5rem); text-shadow: 0 1px 10px #49353155; }
.gbm-concept-note { position: absolute; bottom: .5rem; right: 0; color: #fff; background: #30233199; padding: .2rem .4rem; font: .56rem var(--gbm-sans); letter-spacing: .04em; }
.gbm-home #intentions { padding: .8rem 0 1.1rem; }
.gbm-home .gbm-section-heading { display: flex; flex-direction: column; gap: .2rem; margin-bottom: .7rem; line-height: 1.2; }
.gbm-home .gbm-section-heading::before { content: '— ☾ —'; color: #a67b43; font-size: 1rem; letter-spacing: .25em; }
.gbm-home .gbm-section-heading .gbm-section-title { order: 1; }
.gbm-home .gbm-section-heading .gbm-eyebrow { order: 2; }
.gbm-home .gbm-section-title { font-size: clamp(1.6rem, 2.2vw, 2.2rem); }
.gbm-home .gbm-eyebrow { font-size: .58rem; letter-spacing: .2em; }
.gbm-home .gbm-theme-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: .65rem; }
.gbm-home .gbm-theme-card { border: 0; border-radius: 3px; box-shadow: none; background: #f3ece6; }
.gbm-home .gbm-theme-card__media { min-height: 0; aspect-ratio: 2.35; background-size: cover; background-position: center; }
.gbm-home .gbm-theme-card__media::after { display: none; }
.gbm-home .gbm-theme-card__body { padding: .3rem .2rem .65rem; }
.gbm-home .gbm-theme-card__icon { position: static; transform: none; margin: 0 auto .2rem; width: 1.6rem; height: 1.6rem; border: 0; border-radius: 0; background: none; font-size: 1.4rem; }
.gbm-home .gbm-theme-card h3 { font-size: clamp(.85rem, 1.1vw, 1.08rem); }
.gbm-home .gbm-theme-card p { font-size: .5rem; margin-top: .25rem; }
.gbm-home-icon { width: 1.6rem; height: 1.6rem; fill: none; stroke: currentColor; stroke-width: 1.25; stroke-linecap: round; stroke-linejoin: round; }
.gbm-home .gbm-step__icon .gbm-home-icon { width: 2rem; height: 2rem; }
.gbm-concept-bracelet { width: 11rem; height: 11rem; position: relative; transform: rotate(-12deg) scaleY(.82); margin: auto; }
.gbm-concept-bracelet > i { position: absolute; left: calc(50% - .56rem); top: calc(50% - .56rem); width: 1.12rem; height: 1.12rem; border-radius: 50%; background: radial-gradient(circle at 30% 25%, #bda6cc, #64416e 48%, #322239 90%); box-shadow: inset -2px -2px 3px #31213366, 1px 4px 4px #392a3033; transform: rotate(calc(var(--bead-index)*360deg/22)) translateY(-4.5rem); }
.gbm-concept-bracelet > i:nth-child(3n) { background: radial-gradient(circle at 30% 25%, #fff9f5, #edc9c1 55%, #bd8f8e); }
.gbm-concept-bracelet > i:nth-child(4n) { background: radial-gradient(circle at 30% 25%, white, #e1d9cb 55%, #a99c8f); }
.gbm-concept-bracelet > span { position: absolute; bottom: -1rem; left: calc(50% - .8rem); border-radius: 50%; background: #c39b55; color: #725224; width: 1.6rem; height: 1.6rem; text-align: center; box-shadow: 1px 3px 5px #59442f44; }
.gbm-home .gbm-diy-preview { border-radius: 3px; background: radial-gradient(ellipse at center, #fffaf0, #dccdbc); }
.gbm-home .gbm-stone-rail { width: 2.25rem; inset: .5rem auto .5rem .3rem; border-radius: 3px; padding: .25rem; }
.gbm-home .gbm-stone-rail i { width: 1.65rem; height: 1.65rem; border: 1px solid #fff9; background-image: radial-gradient(circle at 30% 30%, #ffffff80, transparent 55%); box-shadow: inset -3px -3px 5px #261a2a33; }
.gbm-home .gbm-photo-note { font-size: .5rem; border-radius: 2px; padding: .2rem .3rem; }
.gbm-home .gbm-home-transition::after { display: none; }
.gbm-home .gbm-material-visual { border-radius: 0; }
.gbm-home .gbm-join { background-size: cover; background-position: center; position: relative; isolation: isolate; }
.gbm-home .gbm-join::before { content: ''; position: absolute; inset: 0; z-index: -1; background: #2d182a66; }
.gbm-home .gbm-join__form { display: flex; gap: .4rem; }
.gbm-home .gbm-join__grid { grid-template-columns: minmax(0, 1fr); }
.gbm-home .gbm-join__grid > * { min-width: 0; }
.gbm-home .gbm-join__form input { min-width: 0; flex: 1; }
.gbm-home .gbm-join__form button { flex: 0 0 auto; }
.gbm-home .gbm-join__form :disabled { opacity: .9; }
.gbm-home .gbm-join__form input { background: #fffaf4; color: #4d424b; }
.gbm-home .gbm-join__form input::placeholder { color: #655c64; opacity: 1; }
.gbm-home .gbm-product-card__image-link { min-width: 0; width: 100%; aspect-ratio: auto; }
.gbm-home .gbm-product-card__body { min-width: 0; }

@media (min-width: 62.01rem) {
  .gbm-home #intentions > .gbm-shell { width: calc(100% - clamp(3rem, 5vw, 7rem)); max-width: 120rem; }
  .gbm-home #intentions .gbm-theme-grid { gap: clamp(.75rem, 1vw, 1.4rem); }
  .gbm-home #intentions .gbm-theme-card__media { aspect-ratio: 1.65; }
  .gbm-home #intentions .gbm-theme-card__body { padding: .55rem .35rem .85rem; }
  .gbm-home #intentions .gbm-section-heading { margin-bottom: 1rem; }
  .gbm-home-hero__grid { min-height: clamp(18rem, 20vw, 25rem); }
  .home .gbm-header-row { min-height: 4.5rem; grid-template-columns: 12rem minmax(0, 1fr) auto; gap: 1rem; }
  .home .gbm-topbar .gbm-shell { min-height: 1.5rem; }
  .home .gbm-nav ul { gap: clamp(.65rem, 1.5vw, 1.6rem); }
  .home .gbm-nav a { font-size: .85rem; white-space: nowrap; }
  .gbm-home-modules { grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr) minmax(0, .95fr); }
  .gbm-home-modules #how-it-works, .gbm-home-modules #design-studio { padding: .65rem 1rem 1rem; background: #fcf9f5; border: 0; }
  .gbm-home-modules #materials { position: relative; padding: .65rem; background: none; }
  .gbm-home-modules #how-it-works .gbm-section-heading { margin-bottom: 1rem; }
  .gbm-home-modules #how-it-works .gbm-section-title, .gbm-home-modules #design-studio .gbm-section-title { font-size: clamp(1.5rem, 1.85vw, 2rem); }
  .gbm-home-modules #how-it-works .gbm-step-grid { gap: .8rem; }
  .gbm-home-modules #how-it-works .gbm-step__icon { width: 3.8rem; height: 3.8rem; margin-bottom: .4rem; }
  .gbm-home-modules #how-it-works .gbm-step h3 { font-size: 1rem; margin: .4rem 0; }
  .gbm-home-modules #how-it-works .gbm-step p { font-size: .78rem; max-width: 8rem; margin-inline: auto; }
  .gbm-home-modules #design-studio .gbm-diy-grid { display: grid; grid-template-columns: minmax(0, 1.9fr) minmax(0, 1fr); gap: .45rem 1rem; align-content: start; }
  .gbm-home-modules #design-studio .gbm-diy-copy { display: contents; }
  .gbm-home-modules #design-studio .gbm-diy-copy > .gbm-eyebrow { grid-row: 2; grid-column: 1/-1; text-align: center; }
  .gbm-home-modules #design-studio .gbm-diy-copy > h2 { grid-row: 1; grid-column: 1/-1; text-align: center; }
  .gbm-home-modules #design-studio .gbm-diy-copy > p { grid-row: 3; grid-column: 2; font-size: clamp(.8rem, .85vw, 1rem); line-height: 1.55; margin: 0 0 .35rem; align-self: end; text-align: left; }
  .gbm-home-modules #design-studio .gbm-diy-copy > .gbm-sample-note { grid-row: 5; grid-column: 2; margin: 0; justify-self: start; font-size: .55rem; padding: 0; background: none; border: 0; line-height: 1.4; }
  .gbm-home-modules #design-studio .gbm-diy-copy > .gbm-button { grid-row: 4; grid-column: 2; margin: .35rem 0 0; width: auto; max-width: 100%; justify-self: start; font-size: .85rem; padding: .7rem 1rem; align-self: start; }
  .gbm-home-modules #design-studio .gbm-diy-preview { grid-row: 3/5; grid-column: 1; height: clamp(12rem, 15vw, 17rem); min-height: 0; margin-top: .45rem; padding: 0 .25rem 0 2.5rem; display: grid; place-items: center; }
  .gbm-home-modules #design-studio .gbm-concept-bracelet { transform: rotate(-12deg) scale(.95, .8); }
  .gbm-home-modules #design-studio .gbm-stone-rail i { width: 1.3rem; height: 1.3rem; }
  .gbm-home-modules #design-studio .gbm-diy-caption { grid-row: 5; grid-column: 1; }
  .gbm-home-modules #materials .gbm-material-grid { display: grid; grid-template-columns: 1fr; gap: 0; height: 100%; }
  .gbm-home-modules #materials .gbm-material-visual { grid-area: 1/1; min-height: 14rem; height: 100%; }
  .gbm-home-modules #materials .gbm-material-copy { grid-area: 1/1; z-index: 1; width: 65%; justify-self: end; align-self: center; background: #fffaf4f2; padding: 1rem; text-align: left; box-shadow: 0 2px 15px #40312b15; }
  .gbm-home-modules #materials .gbm-section-title { font-size: clamp(1.2rem, 1.6vw, 1.65rem); margin: .4rem 0; }
  .gbm-home-modules #materials .gbm-material-copy > p { font-size: .8rem; line-height: 1.45; margin: .6rem 0; }
  .gbm-home-modules #materials .gbm-fact-meaning { margin: .5rem 0; }
  .gbm-home-modules #materials .gbm-fact-meaning p { padding: 0; font-size: .65rem; background: none; border: 0; }
  .gbm-home-modules #materials .gbm-button { min-height: 2rem; padding: 0; background: none; border: 0; text-decoration: underline; font-size: .75rem; margin: 0; }
  .gbm-home-modules #trust .gbm-trust-item { display: grid; grid-template-columns: 2.3rem 1fr; padding: .6rem 1.5rem; text-align: left; }
  .gbm-home-modules #trust .gbm-trust-item__icon { grid-row: 1/3; align-self: center; }
  .gbm-home-modules #trust .gbm-trust-item strong { font-size: .88rem; }
  .gbm-home-modules #trust .gbm-trust-item span:last-child { font-size: .65rem; line-height: 1.3; }
  .gbm-home-modules #featured { padding: .7rem 1.5rem 1rem; }
  .gbm-home-modules #featured .gbm-section-heading { display: flex; flex-direction: row; align-items: center; margin-bottom: .5rem; }
  .gbm-home-modules #featured .gbm-section-heading::before { display: none; }
  .gbm-home-modules #featured .gbm-section-title { font-size: 1.45rem; }
  .gbm-home-modules #featured .gbm-section-heading > a { font-size: .7rem; }
  .gbm-home-modules #featured .gbm-section-heading .gbm-eyebrow { font-size: .48rem; }
  .gbm-home-modules #featured .gbm-featured-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); gap: .5rem; }
  .gbm-home-modules #featured .gbm-product-card { display: grid; grid-template-columns: 44% 56%; box-shadow: none; border: 0; border-radius: 3px; background: #f6f0ea; }
  .gbm-home-modules #featured .gbm-product-card__image-link { aspect-ratio: auto; height: 100%; background: #e9dfd4; }
  .gbm-home-modules #featured .gbm-product-card__image { object-fit: contain; width: 100%; height: 100%; }
  .gbm-home-modules #featured .gbm-product-card__body { padding: .5rem; }
  .gbm-home-modules #featured .gbm-product-card h3 { font-size: .78rem; margin: .35rem 0; }
  .gbm-home-modules #featured .gbm-product-card p { margin: .3rem 0; font-size: .9rem; }
  .gbm-home-modules #featured .gbm-sample-note { font-size: .45rem; padding: .1rem .25rem; }
  .gbm-home-modules #featured .gbm-button { font-size: .68rem; padding: .35rem; min-height: 1.8rem; width: 100%; }
  .gbm-home-modules .gbm-join { padding: 1rem 1.5rem; background-size: cover; }
  .gbm-home-modules .gbm-join__grid { gap: .65rem; }
  .gbm-home-modules .gbm-join h2 { font-size: 1.8rem; margin: .3rem 0; }
  .gbm-home-modules .gbm-join p { font-size: .8rem; margin: .4rem 0; }
  .gbm-home-modules .gbm-join .gbm-eyebrow { font-size: .48rem; }
  .gbm-home-modules .gbm-join__form input, .gbm-home-modules .gbm-join__form button { padding: .5rem; font-size: .7rem; border-radius: 3px; }
  .home .site-footer { padding-top: 1.5rem; }
  .home .gbm-footer-main { display: flex; align-items: center; gap: 2rem; padding: .25rem 0 1rem; }
  .home .gbm-footer-brand { flex: 0 0 14rem; }
  .home .gbm-footer-brand > p, .home .gbm-footer-column > h2 { display: none; }
  .home .gbm-footer-column ul { display: flex; flex-wrap: wrap; gap: .45rem 1rem; font-size: .7rem; }
  .home .gbm-footer-column li { margin: 0; }
  .home .gbm-footer-bottom { padding-block: .8rem; font-size: .6rem; }
}

@media (max-width: 62rem) {
  .gbm-home .gbm-shell { width: calc(100% - 2rem); }
  .gbm-home-hero__copy { padding-left: 0; }
  .gbm-home .gbm-theme-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gbm-home .gbm-theme-card__media { aspect-ratio: 2; }
  .gbm-home .gbm-theme-card h3 { font-size: 1.05rem; }
  .gbm-home .gbm-section { padding-block: 1.5rem; }
  .gbm-home .gbm-diy-grid, .gbm-home .gbm-material-grid { grid-template-columns: 1fr; gap: 1.2rem; }
  .gbm-home .gbm-diy-copy { text-align: center; }
  .gbm-home .gbm-diy-copy .gbm-sample-note { margin-inline: auto; }
  .gbm-home .gbm-diy-preview { min-height: 17rem; display: grid; place-items: center; }
  .gbm-home .gbm-material-visual { min-height: 15rem; }
  .gbm-home .gbm-step-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .6rem; }
  .gbm-home .gbm-step { padding: 0; }
  .gbm-home .gbm-step__number, .gbm-home .gbm-step + .gbm-step::before { display: none; }
  .gbm-home .gbm-step__icon { width: 3.5rem; height: 3.5rem; }
  .gbm-home .gbm-step h3 { font-size: 1rem; }
  .gbm-home .gbm-step p { font-size: .75rem; }
  .gbm-home .gbm-trust-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gbm-home .gbm-trust-item { padding: 1rem .6rem; }
}
@media (max-width: 44rem) {
  .gbm-home-hero { background-position: 65% center; }
  .gbm-home .gbm-home-hero__grid { width: 100%; min-height: 38rem; display: grid; grid-template-columns: 1fr; }
  .gbm-home-hero__visual { min-height: 38rem; }
  .gbm-home-hero__visual::after { background: linear-gradient(0deg, #251b24d9, #251b2422 80%); }
  .gbm-home-hero__copy { padding: 13rem 1.25rem 3rem; }
  .gbm-home-hero__copy > .gbm-kicker { display: none; }
  .gbm-home-hero h1 { font-size: clamp(2.7rem, 11vw, 3.6rem); max-width: 12ch; text-align: left; }
  .gbm-home-hero__copy > p { font-size: 1.1rem; line-height: 1.4; max-width: 20rem; }
  .gbm-home-hero__copy .gbm-actions { max-width: 19rem; }
  .gbm-home-hero__visual .gbm-handwritten { top: 4%; right: 6%; font-size: 1.7rem; }
  .gbm-home-hero__copy .gbm-hero-promises { display: none; }
  .gbm-concept-note { bottom: .4rem; right: .4rem; z-index: 3; font-size: .5rem; }
  .gbm-home .gbm-theme-grid { gap: .6rem; }
  .gbm-home .gbm-theme-card__body { padding-bottom: .7rem; }
  .gbm-home .gbm-section-heading--split { align-items: flex-start; }
  .gbm-home .gbm-home-transition { min-height: 12rem; background-size: cover; }
  .gbm-home .gbm-featured-grid { grid-template-columns: 1fr; }
  .gbm-home .gbm-product-card { display: grid; grid-template-columns: 42% 58%; }
  .gbm-home .gbm-product-card__body { padding: .8rem; }
  .gbm-home .gbm-product-card h3 { font-size: 1.1rem; }
  .gbm-home .gbm-product-card__image-link { height: 100%; }
  .gbm-home .gbm-product-card__image { height: 100%; object-fit: contain; }
  .gbm-home .gbm-join { padding: 2rem 1rem; }
  .gbm-home .gbm-join h2 { font-size: 2.1rem; }
  .gbm-home .gbm-join__form input { width: 0; }
  .gbm-home .gbm-join__form button { padding: .6rem .8rem; }
  .gbm-home .gbm-join__grid { width: 100%; gap: 1rem; }
}

/* Keep concept disclosures outside the bracelet artwork. */
.gbm-home #design-studio .gbm-diy-caption { margin: 0; text-align: center; font: .6rem/1.4 var(--gbm-sans); color: #756773; }
@media (min-width: 80rem) {
  .gbm-home-modules #design-studio .gbm-concept-bracelet { transform: rotate(-12deg) scale(1.2, 1); }
  .gbm-home-modules #design-studio .gbm-stone-rail i { width: 1.65rem; height: 1.65rem; }
}
@media (min-width: 100rem) {
  .gbm-home-modules #design-studio .gbm-concept-bracelet { transform: rotate(-12deg) scale(1.45, 1.2); }
}

@media (max-width: 62rem) {
  .gbm-home #featured .gbm-section-heading { align-items: center; text-align: center; }
}
