.ji-home { padding: 28px 0 100px; }
.ji-hero { min-height: min(720px, calc(100vh - 130px)); display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(28px, 5vw, 72px); align-items: center; padding-block: clamp(28px, 5vw, 74px); }
.ji-hero-copy { padding-left: clamp(0px, 2vw, 26px); }
.ji-hero-copy h1 { max-width: 650px; margin: 0; font-size: clamp(48px, 6vw, 86px); line-height: .94; letter-spacing: -.058em; }
.ji-hero-copy .ji-lead { max-width: 530px; margin: 28px 0 0; }
.ji-button-row { display: flex; align-items: center; flex-wrap: wrap; gap: 22px; margin-top: 34px; }
.ji-video-link { min-height: 50px; display: inline-flex; align-items: center; gap: 12px; font-size: 14px; font-weight: 700; }
.ji-video-link span { width: 44px; height: 44px; display: grid; place-items: center; padding-left: 2px; border: 1px solid var(--ji-border); border-radius: 50%; }
.ji-hero-grid { min-width: 0; display: grid; grid-template-columns: 1.12fr 1fr; grid-template-rows: repeat(2, minmax(230px, 1fr)); gap: 14px; }
.ji-hero-product { position: relative; min-height: 260px; display: grid; place-items: center; overflow: hidden; border: 1px solid rgba(0,0,0,.035); border-radius: var(--ji-radius-lg); background: radial-gradient(circle at 50% 30%, #fff, #f2f3f5 65%, #e7e9ed); box-shadow: inset 0 1px rgba(255,255,255,.8); transform-style: preserve-3d; will-change: transform; transition: transform 350ms var(--ji-ease), box-shadow 350ms var(--ji-ease); }
.ji-hero-product img { width: 84%; height: 84%; object-fit: contain; filter: drop-shadow(0 24px 28px rgba(0,0,0,.13)); transform: translateZ(28px); transition: transform 350ms var(--ji-ease); }
.ji-hero-product:hover { box-shadow: 0 24px 55px rgba(0,0,0,.09); }
.ji-hero-product:hover img { transform: translateZ(34px) scale(1.025); }
.ji-trust-strip { display: grid; grid-template-columns: repeat(4, 1fr); margin: 6px 0 22px; padding: 24px 30px; border: 1px solid var(--ji-border); border-radius: var(--ji-radius-lg); background: #fff; box-shadow: var(--ji-shadow); }
.ji-trust-item { min-width: 0; display: flex; align-items: center; gap: 15px; padding: 5px 24px; border-right: 1px solid var(--ji-border); }
.ji-trust-item:first-child { padding-left: 0; }
.ji-trust-item:last-child { padding-right: 0; border-right: 0; }
.ji-trust-item .ji-icon { flex: 0 0 auto; width: 43px; height: 43px; display: grid; place-items: center; }
.ji-trust-item .ji-icon svg { width: 30px; height: 30px; }
.ji-trust-item strong, .ji-trust-item small { display: block; }
.ji-trust-item strong { font-size: 14px; }
.ji-trust-item small { margin-top: 2px; color: var(--ji-muted); font-size: 12px; }
.ji-category-section { padding-block: 18px 24px; scroll-margin-top: 110px; }
.ji-category-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; }
.ji-category-card { min-width: 0; min-height: 250px; display: grid; grid-template-columns: 1fr .85fr; overflow: hidden; border: 1px solid var(--ji-border); border-radius: var(--ji-radius-lg); background: var(--ji-bg-soft); transition: transform 350ms var(--ji-ease), box-shadow 350ms var(--ji-ease); }
.ji-category-card:hover { transform: translateY(-5px); box-shadow: var(--ji-shadow); }
.ji-category-card > div { z-index: 1; padding: 30px 0 26px 26px; display: flex; flex-direction: column; align-items: flex-start; }
.ji-category-card h3 { margin: 0 0 10px; font-size: 19px; letter-spacing: -.025em; }
.ji-category-card p { margin: 0; color: var(--ji-muted); font-size: 13px; }
.ji-category-card span { margin-top: auto; display: inline-flex; align-items: center; gap: 7px; font-size: 13px; font-weight: 750; }
.ji-category-card span svg { width: 16px; }
.ji-category-card > img { align-self: end; width: 115%; height: 78%; object-fit: contain; object-position: center bottom; transform: translateX(4%); transition: transform 350ms var(--ji-ease); }
.ji-category-card:hover > img { transform: translateX(0) scale(1.03); }
.ji-promo-hero { position: relative; min-height: 430px; margin-top: 26px; display: grid; grid-template-columns: .72fr 1.28fr; align-items: center; overflow: hidden; border-radius: var(--ji-radius-xl); background: radial-gradient(circle at 72% 50%, #fff 0, #f1f2f4 42%, #e8eaee 100%); }
.ji-promo-copy { z-index: 2; padding: clamp(34px, 5vw, 70px); }
.ji-promo-copy h2 { margin: 0 0 20px; font-size: clamp(40px, 5vw, 68px); line-height: .98; letter-spacing: -.05em; }
.ji-promo-copy > p:not(.ji-eyebrow) { max-width: 410px; margin-bottom: 26px; color: var(--ji-muted); font-size: 17px; }
.ji-promo-products { position: relative; min-height: 430px; }
.ji-promo-products img { position: absolute; width: 45%; height: 60%; object-fit: contain; filter: drop-shadow(0 28px 30px rgba(0,0,0,.14)); }
.ji-promo-products img:nth-child(1) { left: 2%; bottom: 3%; transform: rotate(-13deg); }
.ji-promo-products img:nth-child(2) { top: 1%; left: 30%; transform: rotate(7deg); }
.ji-promo-products img:nth-child(3) { right: 1%; bottom: 2%; transform: rotate(-4deg); }
.ji-discount-badge { position: absolute; top: 34px; right: 34px; z-index: 3; width: 104px; height: 104px; display: grid; place-items: center; padding: 18px; border-radius: 50%; background: #000; color: #fff; text-align: center; font-size: 17px; font-weight: 850; line-height: 1.05; transform: rotate(6deg); box-shadow: var(--ji-shadow-raised); }
.ji-products-section { padding-block: 58px; }
.ji-product-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; }
.ji-product-card { position: relative; min-width: 0; overflow: hidden; border: 1px solid var(--ji-border); border-radius: var(--ji-radius-lg); background: #fff; transition: transform 350ms ease, box-shadow 350ms ease; }
.ji-product-card:hover { transform: translateY(-6px); box-shadow: var(--ji-shadow); }
.ji-product-card-link { display: block; }
.ji-product-image { position: relative; height: 260px; display: grid; place-items: center; margin: 10px; overflow: hidden; border-radius: calc(var(--ji-radius-lg) - 8px); background: var(--ji-bg-soft); }
.ji-product-image img { width: 86%; height: 86%; object-fit: contain; transition: transform 350ms ease; }
.ji-product-card:hover .ji-product-image img { transform: scale(1.03); }
.ji-sale-badge { position: absolute; top: 14px; left: 14px; padding: 6px 10px; border-radius: 99px; background: #000; color: #fff; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.ji-product-info { min-height: 122px; padding: 12px 22px 24px; }
.ji-product-brand { color: var(--ji-muted); font-size: 12px; }
.ji-product-info h3 { margin: 5px 38px 9px 0; font-size: 15px; line-height: 1.3; letter-spacing: -.015em; }
.ji-product-price { font-size: 15px; font-weight: 750; }
.ji-product-price del { color: var(--ji-muted); font-weight: 500; }
.ji-product-price ins { text-decoration: none; }
.ji-card-action { position: absolute; right: 16px; bottom: 17px; }
.ji-card-action .button { width: 42px; height: 42px; display: grid !important; place-items: center; overflow: hidden; padding: 0 !important; border: 1px solid var(--ji-border) !important; border-radius: 50% !important; background: #fff !important; color: #000 !important; font-size: 0 !important; box-shadow: none !important; }
.ji-card-action .button::before { content: "+"; font-size: 22px; line-height: 1; }
.ji-card-action .added_to_cart { display: none; }
.ji-split-section { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.ji-trusted-choice, .ji-store-card { min-height: 540px; padding: clamp(30px, 4vw, 54px); border-radius: var(--ji-radius-xl); background: var(--ji-bg-soft); }
.ji-trusted-choice { display: grid; grid-template-columns: .8fr 1.2fr; gap: 38px; align-items: center; }
.ji-trusted-choice .ji-lifestyle-visual { min-height: 400px; }
.ji-trusted-choice h2, .ji-store-card h2 { margin: 0 0 14px; font-size: clamp(32px, 3.5vw, 52px); line-height: 1; letter-spacing: -.045em; }
.ji-trusted-choice > div:last-child > p:not(.ji-eyebrow), .ji-store-card > p { color: var(--ji-muted); }
.ji-check-list { margin: 26px 0; padding: 0; display: grid; gap: 11px; list-style: none; }
.ji-check-list li { display: flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 650; }
.ji-check-list svg { width: 18px; }
.ji-store-card { display: flex; flex-direction: column; }
.ji-store-card .ji-map-placeholder { flex: 1 1 auto; margin: 22px 0 14px; }
.ji-store-search { display: grid; grid-template-columns: 1fr auto; gap: 10px; }
.ji-store-search input { padding-inline: 18px; }
.ji-store-card .ji-text-link { align-self: center; margin-top: 18px; }
.ji-newsletter { margin-top: 28px; padding: 32px 40px; display: grid; grid-template-columns: auto minmax(260px, .8fr) minmax(360px, 1.2fr); gap: 26px; align-items: center; border: 1px solid var(--ji-border); border-radius: var(--ji-radius-xl); box-shadow: var(--ji-shadow); }
.ji-newsletter > .ji-icon { width: 70px; height: 70px; display: grid; place-items: center; border: 1px solid var(--ji-border); border-radius: 50%; }
.ji-newsletter > .ji-icon svg { width: 31px; }
.ji-newsletter h2 { margin: 0; font-size: 26px; letter-spacing: -.03em; }
.ji-newsletter p { margin: 4px 0 0; color: var(--ji-muted); font-size: 14px; }
.ji-newsletter-form .ff-t-container { align-items: end; }
.ji-newsletter-form .ff-el-group { margin-bottom: 0 !important; }
.ji-newsletter-form .ff-el-form-control { border-radius: 999px !important; }
.ji-brand-strip { margin-top: 28px; padding: 28px 18px; display: flex; align-items: center; justify-content: space-around; gap: 28px; overflow-x: auto; border-block: 1px solid var(--ji-border); scrollbar-width: none; }
.ji-brand-strip a { flex: 0 0 auto; color: #555; font-size: 17px; font-weight: 750; letter-spacing: -.02em; }

