.brand-logo {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  object-fit: contain;
}

.hero-visual { display: block; padding: 0; background: #071f17; }
.hero-visual > img { width: 100%; height: 100%; max-height: none; object-fit: cover; object-position: 62% center; filter: saturate(.92) contrast(1.03); }

.hero-visual::after {
  background: linear-gradient(90deg, #071f17 0%, rgba(7,31,23,.35) 22%, transparent 50%), linear-gradient(0deg, rgba(7,31,23,.78), transparent 38%);
}

.hero-mark { position:absolute; z-index:3; left:clamp(1.25rem,3vw,3rem); top:clamp(1.25rem,3vw,3rem); width:clamp(170px,20vw,290px); }
.hero-mark img { width:100%; height:auto; max-height:none; object-fit:contain; filter:drop-shadow(0 14px 22px rgba(0,0,0,.55)); }

.collection-editorial { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr); min-height:560px; margin-bottom:1.25rem; overflow:hidden; border-radius:24px; background:#071f17; color:white; box-shadow:0 25px 70px rgba(7,31,23,.18); }
.collection-editorial > img { width:100%; height:100%; min-height:560px; object-fit:cover; }
.collection-note { display:flex; flex-direction:column; justify-content:center; padding:clamp(2rem,5vw,5rem); border-left:1px solid rgba(211,166,61,.36); }
.collection-note > span,.chapter { color:#d3a63d; font-size:.72rem; font-weight:900; letter-spacing:.15em; text-transform:uppercase; }
.collection-note h3 { margin:1rem 0; font:700 clamp(2.1rem,3.8vw,4rem)/1.02 Georgia,serif; letter-spacing:-.035em; }
.collection-note p { color:#b9cbc0; }
.format-list { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1.25rem; }
.format-list span { padding:.5rem .8rem; border:1px solid #48675a; border-radius:999px; color:#f5efdf; font-size:.78rem; font-weight:800; }

.products { position:relative; background:#fffdf6; }
.products::before { content:""; position:absolute; top:0; right:6vw; width:1px; height:5rem; background:#d3a63d; }
.product-grid { grid-template-columns:repeat(3,1fr); }
.product-card { border-radius:4px 4px 18px 18px; box-shadow:0 10px 30px rgba(23,49,38,.06); }
.product-card:not(.featured) { position:relative; padding-top:6px; }
.product-card:not(.featured)::before { content:""; position:absolute; top:0; left:0; width:100%; height:6px; background:#d3a63d; }
.package-crop { height:360px; overflow:hidden; background:#071f17; }
.package-crop img { width:200%; max-width:none; height:100%; object-fit:cover; }
.flower-package img { object-position:8% center; }
.preroll-package img { margin-left:-100%; object-position:92% center; }
.identity-card .product-art { min-height:360px; }
.identity-card .product-art img { object-fit:contain; padding:1rem; }

.origin { position:relative; min-height:820px; display:grid; align-items:center; overflow:hidden; background:#071f17; }
.origin > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.origin::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(4,22,16,.94) 0%,rgba(4,22,16,.75) 38%,rgba(4,22,16,.08) 75%),linear-gradient(0deg,rgba(4,22,16,.35),transparent 45%); }
.origin-panel { position:relative; z-index:2; width:min(660px,88vw); margin-left:6vw; padding:clamp(2rem,5vw,5rem); border:1px solid rgba(211,166,61,.34); background:rgba(7,31,23,.82); color:white; backdrop-filter:blur(9px); }
.origin-panel h2 { margin:.9rem 0 1.5rem; font:700 clamp(3rem,5.7vw,6rem)/.96 Georgia,serif; letter-spacing:-.04em; }
.origin-panel p { color:#cfdbd3; font-size:1.06rem; }
.text-link { display:inline-flex; gap:.6rem; align-items:center; margin-top:1rem; color:#d3a63d; font-weight:900; text-decoration:none; }
.text-link span { font-size:1.4rem; transition:transform .2s ease; }
.text-link:hover span { transform:translateX(5px); }

.cultivation-image,.merch-image { border-radius:2px 2px 24px 2px; }
.investors { position:relative; background:linear-gradient(135deg,#041610,#0b2d21); }
.investors::after { content:"HAPPY TREES"; position:absolute; right:3vw; bottom:1vw; color:rgba(245,239,223,.035); font:900 clamp(5rem,12vw,12rem)/1 Georgia,serif; letter-spacing:-.06em; pointer-events:none; }
.investment-grid,.investor-cta { position:relative; z-index:1; }

.product-art {
  display: grid;
  place-items: center;
  padding: 1.5rem;
  background: radial-gradient(circle, #fff 0%, #efe2c5 72%);
}

.product-art img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.cultivation-image img,
.merch-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.aircube-system {
  display: grid;
  grid-template-columns: 190px 1fr;
  gap: 1rem;
  align-items: center;
  margin: 1.5rem 0 0;
  padding: 1rem;
  border: 1px solid #d0c5aa;
  border-radius: 16px;
  background: rgba(255, 253, 246, .82);
}

.aircube-system img {
  width: 100%;
  height: 145px;
  object-fit: contain;
  border-radius: 10px;
  background: white;
}

.aircube-system strong,
.aircube-system span,
.aircube-system a { display: block; }
.aircube-system span { margin: .25rem 0 .45rem; color: #607368; font-size: .9rem; }
.aircube-system a { color: #14573e; font-weight: 900; }

@media (max-width: 650px) {
  .brand-logo { width: 44px; height: 44px; }
  .hero-visual { padding: 1.5rem; }
  .hero-visual img { width: min(520px, 100%); max-height: 380px; }
  .hero-visual > img { width:100%; height:100%; max-height:none; object-fit:cover; object-position:68% center; }
  .hero-mark { width:130px; }
  .collection-editorial { grid-template-columns:1fr; }
  .collection-editorial > img { min-height:340px; }
  .collection-note { border-left:0; border-top:1px solid rgba(211,166,61,.36); }
  .package-crop { height:320px; }
  .origin { min-height:850px; align-items:end; }
  .origin::after { background:linear-gradient(0deg,rgba(4,22,16,.97) 0%,rgba(4,22,16,.72) 55%,rgba(4,22,16,.05) 100%); }
  .origin-panel { width:auto; margin:12rem 1rem 1rem; padding:2rem 1.3rem; }
  .origin-panel h2 { font-size:3rem; }
  .product-art { min-height: 300px; padding: 1rem; }
  .cultivation-image img { object-position: 52% center; }
  .merch-image img { object-position: 55% center; }
  .aircube-system { grid-template-columns: 1fr; }
  .aircube-system img { height: auto; max-height: 260px; }
}

/* Homepage editorial flow: one cinematic canvas instead of a split hero. */
.hero {
  position: relative;
  display: block;
  min-height: calc(100vh - 76px);
  isolation: isolate;
  background: #071f17;
}

.hero-copy {
  position: relative;
  z-index: 4;
  display: flex;
  min-height: calc(100vh - 76px);
  width: min(820px, 64vw);
  flex-direction: column;
  justify-content: center;
  padding: clamp(5rem, 9vw, 9rem) 0 clamp(4rem, 7vw, 7rem) 6vw;
}

.hero-copy h1 { text-shadow: 0 4px 30px rgba(0,0,0,.42); }
.hero-copy .hero-lede { color: #e2e9e4; text-shadow: 0 2px 18px rgba(0,0,0,.6); }

.hero-visual {
  position: absolute;
  z-index: 1;
  inset: 0;
  min-height: 0;
}

.hero-visual > img {
  object-position: center center;
}

.hero-visual::after {
  z-index: 2;
  background:
    linear-gradient(90deg, rgba(4,22,16,.96) 0%, rgba(4,22,16,.84) 30%, rgba(4,22,16,.26) 62%, rgba(4,22,16,.06) 100%),
    linear-gradient(0deg, rgba(4,22,16,.72) 0%, transparent 40%),
    linear-gradient(180deg, rgba(4,22,16,.28), transparent 25%);
}

.hero-mark {
  left: auto;
  right: clamp(1.5rem, 4vw, 4.5rem);
  top: clamp(1.5rem, 4vw, 4rem);
  width: clamp(150px, 15vw, 225px);
}

.hero-badge { right: clamp(1.5rem,4vw,4rem); bottom: clamp(1.5rem,4vw,3rem); }

.trust-strip {
  position: relative;
  z-index: 5;
  justify-content: space-around;
  padding: 1.2rem 6vw;
  border-top: 1px solid rgba(211,166,61,.55);
  border-bottom: 1px solid rgba(211,166,61,.35);
  background: #0a2b20;
  color: #f5efdf;
}

.trust-strip span::before { content: "◆"; margin-right: .65rem; color: #d3a63d; font-size: .55rem; vertical-align: middle; }
.products { background: linear-gradient(180deg,#f5efdf 0,#fffdf6 18rem); }
.products::before { height: 7rem; }
.section-heading { position: relative; }
.section-heading::after { content:""; position:absolute; left:0; bottom:-1.4rem; width:80px; height:2px; background:#d3a63d; }

@media (max-width: 1000px) {
  .hero { min-height: 820px; }
  .hero-copy { min-height: 820px; width: min(760px, 86vw); padding-left: 5vw; padding-right: 5vw; }
  .hero-visual > img { object-position: 62% center; }
  .hero-visual::after { background: linear-gradient(90deg,rgba(4,22,16,.95),rgba(4,22,16,.68) 56%,rgba(4,22,16,.16)),linear-gradient(0deg,rgba(4,22,16,.8),transparent 48%); }
}

@media (max-width: 650px) {
  .hero { min-height: 760px; }
  .hero-copy { min-height: 760px; width:100%; padding: 8rem 1.2rem 3rem; justify-content:flex-end; }
  .hero-copy h1 { font-size: clamp(3.2rem,15vw,4.4rem); }
  .hero-visual > img { width:100%; max-height:none; object-position:68% center; }
  .hero-visual::after { background:linear-gradient(0deg,rgba(4,22,16,.98) 0%,rgba(4,22,16,.78) 54%,rgba(4,22,16,.12) 100%); }
  .hero-mark { top:1rem; right:1rem; width:120px; }
  .hero-badge { display:none; }
  .trust-strip { display:grid; grid-template-columns:1fr 1fr; gap:.8rem; padding:1.1rem 1.2rem; }
  .trust-strip span { font-size:.72rem; }
}

/* Keep the brand mark in the open landscape, away from the hero flower. */
.hero .hero-mark {
  left: clamp(1.5rem, 4vw, 4.5rem);
  right: auto;
  top: clamp(1.25rem, 2.5vw, 2.5rem);
  width: clamp(120px, 11vw, 165px);
}

@media (max-width: 650px) {
  .hero .hero-mark { left:1rem; right:auto; top:1rem; width:105px; }
}

.hero .hero-mark { display:none; }

@media (max-width: 650px) {
  .hero { min-height: max(900px, calc(100dvh - 68px)); }
  .hero-copy { min-height: max(900px, calc(100dvh - 68px)); padding-top:5.5rem; padding-bottom:4.5rem; }
  .hero-visual > img { object-position: 62% center; }
  .collection-editorial { min-height:0; border-radius:16px; }
  .collection-editorial > img { min-height:0; aspect-ratio:4/3; }
  .collection-note { padding:1.5rem 1.25rem; }
  .collection-note h3 { font-size:clamp(2rem,10vw,2.75rem); }
  .origin { min-height:720px; }
  .origin-panel { margin-top:10rem; }
  .aircube-system { margin-top:1.25rem; padding:.85rem; }
}

@media (max-width: 390px) {
  .format-list span { width:100%; text-align:center; }
  .package-crop { height:280px; }
  .identity-card .product-art { min-height:280px; }
}

/* Product card collection: consistent rows and clean mobile image crops. */
.products .product-grid {
  align-items: stretch;
}

.products .product-card {
  display: grid;
  grid-template-rows: minmax(0, auto) 1fr;
  min-width: 0;
}

.products .product-body {
  display: flex;
  min-width: 0;
  flex-direction: column;
}

.products .product-body a {
  margin-top: auto;
  padding-top: 1rem;
}

@media (max-width: 900px) {
  .products .product-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .products .product-card {
    grid-template-columns: minmax(220px, .85fr) minmax(0, 1.15fr);
    grid-template-rows: 1fr;
  }

  .products .package-crop,
  .products .identity-card .product-art {
    width: 100%;
    height: 100%;
    min-height: 330px;
  }
}

@media (max-width: 650px) {
  .products .product-card {
    display: block;
  }

  .products .package-crop,
  .products .identity-card .product-art {
    height: auto;
    min-height: 0;
    aspect-ratio: 4 / 3;
  }

  .products .package-crop img {
    height: 100%;
  }

  .products .product-body a {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    margin-top: .35rem;
    padding-top: .65rem;
  }
}

@media (max-width: 390px) {
  .products .package-crop,
  .products .identity-card .product-art {
    aspect-ratio: 1 / 1;
  }
}
