.home-page { padding: 26px 0 82px; }
.home-hero { display: grid; grid-template-columns: 1.18fr .82fr; height: clamp(530px,61vh,570px); min-height: 0; border-radius: 34px; overflow: hidden; background: rgba(255,253,248,.9); border: 1px solid rgba(255,255,255,.88); box-shadow: 0 30px 84px rgba(20,54,45,.17); }
.home-hero-media { position: relative; height: 100%; min-height: 0; overflow: hidden; }.home-hero-media .media-image { object-position: center; }.hero-gradient { background: linear-gradient(180deg, transparent 42%, rgba(3,21,17,.82)); }
.hero-caption { position: absolute; left: 34px; bottom: 30px; color: #fff; display: flex; flex-direction: column; max-width: 510px; }.hero-caption span { font-size: 11px; letter-spacing: .14em; font-weight: 600; color: #e2eee9; }.hero-caption b { font-size: 24px; line-height: 1.2; letter-spacing: -.035em; margin-top: 5px; }
.discover-panel { padding: 40px 36px; display: flex; flex-direction: column; justify-content: center; background: linear-gradient(145deg,rgba(255,255,255,.92),rgba(255,249,241,.78)); -webkit-backdrop-filter: blur(25px); backdrop-filter: blur(25px); }
.discover-panel h1 { font-size: clamp(40px,3.6vw,50px); line-height: .98; letter-spacing: -.055em; color: var(--pine-deep); margin: 6px 0 12px; text-wrap: balance; }.discover-panel h1 span, .discover-panel h1 em { display: block; white-space: nowrap; }.discover-panel h1 em { font-style: normal; color: var(--textile-red); }.discover-panel > p { max-width: 430px; font-size: 16px; color: var(--muted); margin: 0 0 13px; }
.hero-trust { display: flex; align-items: center; flex-wrap: wrap; gap: 5px 0; margin-bottom: 19px; color: var(--pine); font-size: 10px; font-weight: 700; letter-spacing: .03em; }.hero-trust span { display: flex; align-items: center; }.hero-trust span:not(:last-child):after { content: ""; width: 3px; height: 3px; margin: 0 8px; border-radius: 50%; background: var(--textile-red); }
.hero-ctas { display: flex; align-items: center; gap: 16px; margin-bottom: 0; }.hero-ctas .primary { background: var(--textile-red); box-shadow: 0 13px 30px rgba(166,61,47,.22); }.hero-ctas .primary:hover { background: var(--textile-red-deep); }.text-link { color: var(--pine); font-size: 14px; font-weight: 600; border-bottom: 1px solid rgba(18,63,53,.3); padding-bottom: 2px; }
.hero-search { height: 52px; border: 1px solid var(--line); border-radius: 999px; background: rgba(255,255,255,.82); display: flex; align-items: center; gap: 10px; padding: 0 15px; color: var(--muted); text-align: left; cursor: pointer; box-shadow: inset 0 1px 0 #fff; }.hero-search > span { flex: 1; font-size: 14px; }.hero-search .icon { width: 19px; height: 19px; }.hero-search .icon:last-child { color: var(--ink); }
.quick-actions { display: grid; grid-template-columns: repeat(2,1fr); gap: 9px; margin-top: 11px; }.quick-actions a { min-height: 86px; padding: 10px; border-radius: 18px; background: #f4f8f6; border: 1px solid rgba(5,54,47,.09); display: flex; align-items: center; gap: 9px; font-size: 13px; font-weight: 500; color: var(--pine); box-shadow: 0 4px 14px rgba(5,54,47,.055); }.quick-actions a.warm { background: #fff4f0; border-color: rgba(184,58,44,.13); color: var(--textile-red-deep); }.quick-actions a > i { width: 40px; height: 40px; flex: 0 0 auto; border-radius: 13px; display: grid; place-items: center; background: rgba(7,82,66,.1); font-style: normal; }.quick-actions a.warm > i { background: rgba(184,58,44,.11); }.quick-actions a > i .icon { width: 21px; height: 21px; stroke-width: 2.15; }.quick-actions a > span { min-width: 0; display: flex; flex-direction: column; line-height: 1.2; }.quick-actions b { font-size: 14px; }.quick-actions small { margin-top: 3px; color: var(--muted); font-size: 11px; font-weight: 500; line-height: 1.25; }
.desktop-hero-tools { min-height: 104px; margin-top: 16px; padding: 10px; border: 1px solid rgba(255,255,255,.94); border-radius: 26px; background: rgba(255,253,248,.9); box-shadow: 0 18px 48px rgba(20,54,45,.12); display: grid; grid-template-columns: minmax(285px,1.22fr) repeat(4,minmax(150px,.8fr)); gap: 10px; -webkit-backdrop-filter: blur(20px) saturate(1.1); backdrop-filter: blur(20px) saturate(1.1); }.desktop-hero-tools nav { display: contents; }.desktop-hero-search, .desktop-hero-tools a { min-width: 0; min-height: 82px; border: 1px solid transparent; border-radius: 19px; display: flex; align-items: center; color: var(--pine); cursor: pointer; transition: transform .22s ease,box-shadow .22s ease,border-color .22s ease,background .22s ease; }.desktop-hero-search { padding: 0 18px; gap: 12px; background: #fff; border-color: var(--line); text-align: left; box-shadow: inset 0 1px 0 rgba(255,255,255,.9); }.desktop-hero-search > i,.desktop-hero-tools a > i { flex: 0 0 auto; width: 46px; height: 46px; border-radius: 15px; display: grid; place-items: center; font-style: normal; background: rgba(18,91,74,.1); color: var(--pine); }.desktop-hero-search > i .icon,.desktop-hero-tools a > i .icon { width: 23px; height: 23px; stroke-width: 2.15; }.desktop-hero-search > span,.desktop-hero-tools a > span { min-width: 0; flex: 1; display: flex; flex-direction: column; align-items: flex-start; line-height: 1.2; }.desktop-hero-search b,.desktop-hero-tools a b { font-size: 14px; color: var(--pine-deep); }.desktop-hero-search small,.desktop-hero-tools a small { margin-top: 4px; color: var(--muted); font-size: 11px; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }.desktop-hero-search > .icon,.desktop-hero-tools a > .icon { flex: 0 0 auto; width: 17px; height: 17px; color: var(--muted); }.desktop-hero-tools a { padding: 0 13px; gap: 10px; background: linear-gradient(145deg,rgba(237,246,241,.98),rgba(224,239,232,.88)); box-shadow: inset 0 1px 0 rgba(255,255,255,.9); }.desktop-hero-tools a.warm { background: linear-gradient(145deg,rgba(255,242,236,.98),rgba(249,226,217,.9)); color: var(--textile-red-deep); }.desktop-hero-tools a.warm > i { background: rgba(200,50,35,.12); color: var(--textile-red); }.desktop-hero-tools a.shortcut-stay > i { background: rgba(198,155,68,.15); color: #7a5418; }.desktop-hero-tools a.shortcut-market > i { background: rgba(20,104,84,.14); }.desktop-hero-search:hover,.desktop-hero-tools a:hover { transform: translateY(-3px); border-color: rgba(18,91,74,.18); box-shadow: 0 12px 26px rgba(20,54,45,.13); }.desktop-hero-tools a.warm:hover { border-color: rgba(200,50,35,.2); }.desktop-hero-search:focus-visible,.desktop-hero-tools a:focus-visible { outline: 3px solid rgba(200,50,35,.24); outline-offset: 2px; }

@media (min-width: 761px) { .discover-panel .hero-search, .discover-panel .quick-actions { display: none; }.home-content > section:first-child { margin-top: 42px; } }
@media (min-width: 761px) {
  .home-page { background: #fff; }
  .home-hero { background: #fff; border-color: rgba(5,54,47,.1); box-shadow: 0 22px 58px rgba(5,54,47,.11); }
  .discover-panel { background: #fff; -webkit-backdrop-filter: none; backdrop-filter: none; }
  .desktop-hero-tools { background: #f8faf9; border-color: rgba(5,54,47,.09); box-shadow: 0 10px 30px rgba(5,54,47,.08); -webkit-backdrop-filter: none; backdrop-filter: none; }
  .desktop-hero-tools a { background: #fff; border-color: rgba(5,54,47,.1); box-shadow: 0 4px 14px rgba(5,54,47,.055); }
  .desktop-hero-tools a.warm { background: #fff; border-color: rgba(184,58,44,.16); }
  .desktop-hero-search { box-shadow: 0 4px 14px rgba(5,54,47,.055); }
}

.home-content > section { margin-top: 58px; }.happening-section { position: relative; }.happening-section:before { content: ""; position: absolute; width: 74px; height: 4px; border-radius: 999px; background: linear-gradient(90deg,var(--textile-red),var(--clay)); top: -20px; left: 0; }
.happening-grid { display: grid; grid-template-columns: 1.22fr .78fr; gap: 15px; }.featured-event { min-height: 350px; border-radius: 26px; overflow: hidden; position: relative; color: #fff; box-shadow: var(--shadow-md); }.featured-event > img { position: absolute; inset: 0; }.featured-event > span:not(.media-shade) { position: absolute; left: 29px; bottom: 28px; display: flex; flex-direction: column; align-items: flex-start; }.featured-event small { font-size: 12px; background: var(--textile-red); border-radius: 999px; padding: 6px 10px; font-weight: 600; }.featured-event b { font-size: 40px; line-height: 1; margin-top: 13px; }.featured-event em { font-style: normal; font-size: 16px; margin-top: 7px; }.featured-event > i { position: absolute; right: 23px; bottom: 23px; width: 47px; height: 47px; background: rgba(255,255,255,.86); color: var(--textile-red); border-radius: 50%; display: grid; place-items: center; font-style: normal; -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); }.mini-events { display: grid; gap: 12px; }

.purpose-panel { display: grid; grid-template-columns: .72fr 1.28fr; gap: 30px; align-items: center; padding: 30px; border-radius: 28px; background: linear-gradient(130deg,var(--pine-deep),#176454); color: #fff; box-shadow: var(--shadow-md); overflow: hidden; position: relative; }.purpose-panel:after { content: ""; position: absolute; width: 250px; height: 250px; border-radius: 50%; background: rgba(166,61,47,.3); filter: blur(1px); right: -120px; top: -150px; }.purpose-copy { position: relative; z-index: 1; }.purpose-copy > span { font-size: 11px; font-weight: 700; letter-spacing: .14em; color: #ffc1ad; }.purpose-copy h2 { font-size: 29px; line-height: 1.1; margin: 7px 0; letter-spacing: -.035em; }.purpose-copy p { font-size: 15px; color: #dcebe6; margin: 0 0 15px; }.purpose-copy > a { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; color: #fff; }.purpose-copy > a .icon { width: 14px; height: 14px; }
.purpose-actions { display: grid; grid-template-columns: repeat(3,1fr); gap: 9px; position: relative; z-index: 1; }.purpose-actions a { min-height: 118px; border-radius: 20px; background: rgba(255,255,255,.13); border: 1px solid rgba(255,255,255,.16); padding: 15px; display: flex; flex-direction: column; justify-content: space-between; -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }.purpose-actions a > i { width: 42px; height: 42px; border-radius: 14px; background: rgba(255,255,255,.9); color: var(--pine); display: grid; place-items: center; font-style: normal; }.purpose-actions a > i .icon { width: 21px; height: 21px; }.purpose-actions span { display: flex; flex-direction: column; }.purpose-actions small { font-size: 10px; color: #ffc1ad; font-weight: 700; }.purpose-actions b { font-size: 16px; margin-top: 2px; }

.place-preview { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }.home-market { padding: 40px; border-radius: 30px; background: linear-gradient(135deg,#7f2e25,#b64b37); color: #fff; display: grid; grid-template-columns: .74fr 1.26fr; gap: 46px; align-items: center; box-shadow: 0 28px 68px rgba(127,46,37,.2); }.home-market > div:first-child > span { font-size: 11px; font-weight: 700; letter-spacing: .14em; color: #ffd2c4; }.home-market h2 { font-size: 31px; line-height: 1.14; letter-spacing: -.04em; margin: 7px 0 12px; }.home-market p { font-size: 16px; color: #fff0eb; margin: 0 0 16px; }.livelihood-tags { display: flex; gap: 7px; margin-bottom: 19px; }.livelihood-tags b { font-size: 12px; padding: 6px 10px; border: 1px solid rgba(255,255,255,.27); border-radius: 999px; }.home-market-products { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }.home-market .product-card { color: var(--ink); }
.story-preview { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 14px; }.responsible-cta { padding: 36px 40px; border-radius: 28px; background: linear-gradient(120deg,var(--pine-deep),#166050); color: #fff; display: flex; align-items: center; justify-content: space-between; gap: 35px; }.responsible-cta > div:first-child { max-width: 670px; }.responsible-cta > div:first-child > span { font-size: 11px; letter-spacing: .14em; color: #ffc1ad; font-weight: 700; }.responsible-cta h2 { font-size: 31px; line-height: 1.1; margin: 6px 0 8px; }.responsible-cta p { font-size: 15px; color: #dcebe6; margin: 0; }.responsible-cta > div:last-child { display: flex; gap: 8px; flex: 0 0 auto; }

.live-now { position: relative; display: grid; grid-template-columns: .8fr 1.2fr; gap: 26px; align-items: center; padding: 26px; border-radius: 28px; background: linear-gradient(135deg,#fff3ee,#fffdf8); border: 1px solid rgba(184,58,44,.2); box-shadow: var(--shadow-sm); }.live-now-copy > span { display: inline-flex; align-items: center; gap: 8px; font-size: 11px; font-weight: 700; letter-spacing: .14em; color: var(--textile-red); }.live-now-copy > span i { width: 9px; height: 9px; border-radius: 50%; background: var(--textile-red); box-shadow: 0 0 0 5px rgba(184,58,44,.17); animation: live-pulse 1.8s ease-in-out infinite; }.live-now-copy h2 { font-size: 29px; line-height: 1.1; letter-spacing: -.035em; color: var(--pine-deep); margin: 8px 0 6px; }.live-now-copy p { font-size: 15px; color: var(--muted); margin: 0; }.live-now-list { display: grid; gap: 10px; }.live-now-item { display: grid; grid-template-columns: 112px 1fr auto; gap: 14px; align-items: center; padding: 9px; border-radius: 20px; background: #fff; border: 1px solid var(--line); }.live-now-media { height: 84px; border-radius: 14px; overflow: hidden; }.live-now-item b { display: block; font-size: 17px; color: var(--pine-deep); }.live-now-item small { display: block; font-size: 13px; color: var(--muted); margin-top: 3px; }.live-now-item .button { min-height: 42px; padding: 0 15px; font-size: 13px; }
@keyframes live-pulse { 50% { box-shadow: 0 0 0 9px rgba(184,58,44,.06); } }
@media (prefers-reduced-motion: reduce) { .live-now-copy > span i { animation: none; } }
@media (max-width: 1100px) and (min-width: 901px) { .desktop-hero-tools { grid-template-columns: minmax(240px,1.12fr) repeat(4,minmax(128px,.82fr)); }.desktop-hero-tools a { padding: 0 10px; gap: 8px; }.desktop-hero-search small,.desktop-hero-tools a small { font-size: 10px; }.desktop-hero-tools a > .icon { display: none; } }
@media (max-width: 1000px) { .home-hero { grid-template-columns: 1fr 1fr; }.discover-panel { padding: 30px 24px; }.place-preview { grid-template-columns: repeat(2,1fr); } }
@media (min-width: 761px) and (max-width: 900px) { .discover-panel h1 { font-size: 38px; }.desktop-hero-tools { min-height: 94px; padding: 8px; gap: 6px; grid-template-columns: minmax(184px,1.15fr) repeat(4,minmax(105px,.72fr)); }.desktop-hero-search,.desktop-hero-tools a { min-height: 76px; padding: 0 9px; gap: 7px; }.desktop-hero-search > i,.desktop-hero-tools a > i { width: 38px; height: 38px; border-radius: 12px; }.desktop-hero-search > i .icon,.desktop-hero-tools a > i .icon { width: 20px; height: 20px; }.desktop-hero-search b,.desktop-hero-tools a b { font-size: 12px; }.desktop-hero-search small,.desktop-hero-tools a small,.desktop-hero-tools a > .icon { display: none; } }
@media (max-width: 760px) {
  .home-page { padding: 0 0 40px; background: #fff; }.home-hero { width: 100%; height: auto; display: flex; flex-direction: column; min-height: 0; border: 0; border-radius: 0; box-shadow: none; background: #fff; }.home-hero-media { min-height: 0; height: 270px; }.hero-caption { display: none; }.discover-panel { width: calc(100% - 20px); margin: -28px auto 0; padding: 22px 16px 18px; border-radius: 25px; position: relative; background: #fff; border: 1px solid rgba(5,54,47,.1); box-shadow: 0 16px 40px rgba(5,54,47,.12); -webkit-backdrop-filter: none; backdrop-filter: none; }.discover-panel > .eyebrow, .hero-trust { display: none; }.discover-panel h1 { font-size: 32px; line-height: 1.05; margin: 0; }.discover-panel h1 span, .discover-panel h1 em { white-space: normal; }.discover-panel > p { font-size: 15px; line-height: 1.55; margin: 8px 0 15px; }.hero-ctas { justify-content: space-between; margin-bottom: 14px; }.hero-ctas .button { min-height: 46px; padding: 0 15px; font-size: 14px; }.text-link { font-size: 13px; }.hero-search { height: 50px; background: #fff; }.hero-search > span { font-size: 13px; }.quick-actions { gap: 8px; margin-top: 9px; }.quick-actions a { min-height: 86px; border-radius: 17px; }.desktop-hero-tools { display: none; }
  .home-content > section { margin-top: 34px; }.happening-section:before { top: -14px; width: 54px; }.happening-grid { display: block; }.featured-event { display: block; min-height: 0; height: 205px; border-radius: 20px; }.featured-event > span:not(.media-shade) { left: 16px; bottom: 15px; }.featured-event small { font-size: 11px; }.featured-event b { font-size: 28px; margin-top: 8px; }.featured-event em { font-size: 13px; }.featured-event > i { width: 38px; height: 38px; right: 13px; bottom: 13px; }.mini-events { display: flex; overflow-x: auto; gap: 9px; margin: 9px -12px 0 0; padding-right: 12px; scrollbar-width: none; }.mini-event { flex: 0 0 77%; grid-template-columns: 90px 1fr 20px; padding: 8px; }.mini-event-media { height: 88px; }.mini-event b { font-size: 14px; }.mini-event small { font-size: 12px; }
  .live-now { display: block; padding: 19px 14px 14px; border-radius: 23px; }.live-now-copy h2 { font-size: 23px; }.live-now-copy p { font-size: 14px; }.live-now-list { margin-top: 14px; }.live-now-item { grid-template-columns: 82px 1fr; }.live-now-media { height: 70px; }.live-now-item b { font-size: 15px; }.live-now-item .button { grid-column: 1/-1; justify-content: center; }
  .purpose-panel { display: block; padding: 21px 16px 16px; border-radius: 23px; }.purpose-copy > span { font-size: 10px; }.purpose-copy h2 { font-size: 24px; margin: 5px 0; }.purpose-copy p { font-size: 14px; margin: 0 0 12px; }.purpose-copy > a { display: none; }.purpose-actions { gap: 7px; margin-top: 14px; }.purpose-actions a { min-height: 98px; padding: 11px 8px; border-radius: 17px; }.purpose-actions a > i { width: 38px; height: 38px; border-radius: 13px; }.purpose-actions small { font-size: 9px; }.purpose-actions b { font-size: 13px; line-height: 1.2; }
  .place-preview { display: flex; overflow: auto; gap: 10px; margin-right: -12px; padding-right: 12px; scroll-snap-type: x mandatory; scrollbar-width: none; }.place-preview .place-card { flex: 0 0 64%; scroll-snap-align: start; }.place-card.compact .card-media { height: 188px; }.overlay-title { left: 12px; right: 12px; bottom: 11px; }.overlay-title b { font-size: 16px; }.overlay-title small { font-size: 11px; }
  .home-market { padding: 23px; border-radius: 23px; display: block; }.home-market h2 { font-size: 26px; }.home-market p { font-size: 15px; }.livelihood-tags { margin-bottom: 15px; }.home-market-products { margin-top: 19px; gap: 9px; }.home-market .product-media { height: 145px; }
  .story-preview { grid-template-columns: 1fr 1fr; gap: 9px; }.story-preview .story-card.featured { grid-column: 1/-1; }.story-preview .story-card.featured .story-media { height: 180px; }.responsible-cta { display: block; padding: 23px; border-radius: 22px; }.responsible-cta h2 { font-size: 25px; }.responsible-cta p { font-size: 14px; }.responsible-cta > div:last-child { display: grid; margin-top: 16px; }
}
