.og-hb {
--hb-bg: #e3eee3;
--hb-ink: #14341f;
--hb-dur: 6s;
position: relative;
margin-top: var(--space-12, 12px);
}
.og-hb--ember    { --hb-bg: #f6e2d4; --hb-ink: #47190a; }
.og-hb--concrete { --hb-bg: #e8e5df; --hb-ink: #25211b; }
.og-hb--sprout   { --hb-bg: #e5eed7; --hb-ink: #1f330c; }
.og-hb--sand     { --hb-bg: #f3e8d2; --hb-ink: #3a280a; }
.og-hb--pine     { --hb-bg: #dde9e1; --hb-ink: #0f2f1e; }
.og-hb--moss     { --hb-bg: #e3eee3; --hb-ink: #14341f; }
.og-hb--steel    { --hb-bg: #e0e7ee; --hb-ink: #15212e; }
.og-hb--signal   { --hb-bg: #f8e0dc; --hb-ink: #561109; }
.og-hb--ink      { --hb-bg: #d9edf1; --hb-ink: #08333d; }
.og-hb--butter   { --hb-bg: #f6edc6; --hb-ink: #392d03; }
.og-hb--ink,
.og-hb--butter {
isolation: isolate;
}
.og-hb--ink::before,
.og-hb--butter::before {
content: "";
position: absolute;
z-index: -1;
pointer-events: none;
}
.og-hb--ink::before {
inset: 8px 8px 16px;
background:
radial-gradient(circle at center, transparent 0 5px, currentColor 5px 6px, transparent 6px) top 2px right 34px / 22px 22px no-repeat,
linear-gradient(currentColor, currentColor) top 12px right 34px / 22px 1px no-repeat,
linear-gradient(currentColor, currentColor) top 2px right 44px / 1px 22px no-repeat,
linear-gradient(currentColor, currentColor) top left / 16px 1px no-repeat,
linear-gradient(currentColor, currentColor) top left / 1px 16px no-repeat,
linear-gradient(currentColor, currentColor) top right / 16px 1px no-repeat,
linear-gradient(currentColor, currentColor) top right / 1px 16px no-repeat,
linear-gradient(currentColor, currentColor) bottom left / 16px 1px no-repeat,
linear-gradient(currentColor, currentColor) bottom left / 1px 16px no-repeat,
linear-gradient(currentColor, currentColor) bottom right / 16px 1px no-repeat,
linear-gradient(currentColor, currentColor) bottom right / 1px 16px no-repeat;
opacity: .34;
}
.og-hb--butter::before {
top: 0;
right: 0;
width: 62%;
height: 72%;
background:
repeating-linear-gradient(45deg, currentColor 0 1.5px, transparent 1.5px 17px),
repeating-linear-gradient(-45deg, currentColor 0 1.5px, transparent 1.5px 17px);
opacity: .09;
-webkit-mask-image: radial-gradient(farthest-side at 100% 0, #000 30%, transparent);
mask-image: radial-gradient(farthest-side at 100% 0, #000 30%, transparent);
}
.og-hb__track {
display: grid;
}
.og-hb__slide {
position: relative;
grid-area: 1 / 1;
display: grid;
grid-template-columns: minmax(0, 1fr);
gap: 16px;
min-width: 0;
padding: 18px 16px 28px;
border-radius: 24px;
overflow: hidden;
background:
radial-gradient(90% 60% at 50% 82%, rgba(255, 255, 255, .62), rgba(255, 255, 255, 0) 70%),
var(--hb-bg);
color: var(--hb-ink);
opacity: 0;
visibility: hidden;
transition: opacity .3s ease, visibility 0s linear .3s;
}
.og-hb__slide.is-on {
opacity: 1;
visibility: visible;
transition: opacity .5s ease .15s, visibility 0s linear 0s;
}
.og-hb__slide::after {
content: "";
position: absolute;
left: 0;
right: 0;
bottom: 0;
height: 12px;
background:
repeating-linear-gradient(90deg, currentColor 0 1px, transparent 1px 10px) bottom / 100% 6px no-repeat,
repeating-linear-gradient(90deg, currentColor 0 1px, transparent 1px 50px) bottom / 100% 12px no-repeat;
opacity: .18;
pointer-events: none;
}
.og-hb__text {
min-width: 0;
}
.og-hb__kicker {
margin: 0;
font: 600 11px/1.2 var(--font-body, "DM Sans", "Segoe UI", sans-serif);
letter-spacing: .14em;
text-transform: uppercase;
opacity: .78;
}
.og-hb__title {
margin: 8px 0 0;
max-width: 12ch;
font: 700 clamp(26px, 7vw, 30px)/1 var(--font-display, "Space Grotesk", "DM Sans", sans-serif);
letter-spacing: -.035em;
color: inherit;
text-wrap: balance;
}
.og-hb__figure {
display: grid;
grid-template-columns: auto minmax(0, 1fr) auto;
align-items: center;
column-gap: 12px;
margin-top: 12px;
}
.og-hb__num {
margin: 0;
font: 700 44px/.85 var(--font-display, "Space Grotesk", "DM Sans", sans-serif);
letter-spacing: -.05em;
font-variant-numeric: tabular-nums;
}
.og-hb__pre {
display: block;
margin-bottom: 4px;
font: 600 12px/1 var(--font-body, "DM Sans", "Segoe UI", sans-serif);
letter-spacing: .14em;
text-transform: uppercase;
}
.og-hb__label {
margin: 0;
font-size: 12.5px;
line-height: 1.3;
}
.og-hb__label b {
display: block;
font-size: 14px;
font-weight: var(--fw-semibold, 600);
}
.og-hb__go {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 8px;
min-height: 44px;
padding-inline: 18px;
border-radius: 14px;
background-color: var(--hb-ink);
color: var(--hb-bg);
font-weight: var(--fw-semibold, 600);
font-size: 15px;
text-decoration: none;
white-space: nowrap;
transition: transform .2s ease;
}
.og-hb__go:is(:hover, :focus-visible) {
color: var(--hb-bg);
}
:is(.og-hb__go, .og-hb__card-link):focus-visible {
outline: 3px solid var(--hb-ink);
outline-offset: 3px;
}
@media (hover: hover) {
.og-hb__go:hover { transform: translateX(3px); }
}
.og-hb__until {
margin: 8px 0 0;
font-size: 12px;
opacity: .78;
}
@media (max-width: 767px) {
.og-hb__go {
width: 44px;
padding: 0;
border-radius: 50%;
font-size: 18px;
}
.og-hb__go-text {
position: absolute;
width: 1px;
height: 1px;
overflow: hidden;
clip: rect(0 0 0 0);
white-space: nowrap;
}
}
.og-hb__shelf {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
align-items: end;
gap: 8px;
margin: 0;
padding: 0;
list-style: none;
}
.og-hb__shelf--2 {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.og-hb__card {
position: relative;
min-width: 0;
margin: 0;
border-radius: 16px;
background-color: #fff;
box-shadow: 0 1px 2px rgba(16, 24, 20, .06), 0 16px 32px -20px rgba(16, 24, 20, .38);
transition: transform .7s cubic-bezier(.2, .8, .2, 1), box-shadow .3s ease;
}
.og-hb__slide:not(.is-on) .og-hb__card {
transform: translateY(14px);
}
.og-hb__slide.is-on .og-hb__card--2 { transition-delay: .07s; }
.og-hb__slide.is-on .og-hb__card--3 { transition-delay: .14s; }
.og-hb__card-link {
display: flex;
flex-direction: column;
height: 100%;
padding: 8px 8px 10px;
border-radius: inherit;
color: var(--slate-dark, #1e293b);
text-decoration: none;
}
.og-hb__img {
display: grid;
place-items: center;
aspect-ratio: 1 / 1;
}
.og-hb__photo {
width: 100%;
height: 100%;
object-fit: contain;
}
.og-hb__off {
position: absolute;
top: 6px;
left: 6px;
padding: 3px 6px;
border-radius: 7px;
background-color: #b42318;
color: #fff;
font: 700 11px/1 var(--font-display, "Space Grotesk", "DM Sans", sans-serif);
font-variant-numeric: tabular-nums;
}
.og-hb__name {
display: none;
}
.og-hb__price {
display: flex;
flex-wrap: wrap;
align-items: baseline;
gap: 2px 8px;
margin-top: 6px;
}
.og-hb__price b {
font: 700 14px/1.1 var(--font-display, "Space Grotesk", "DM Sans", sans-serif);
font-variant-numeric: tabular-nums;
}
.og-hb__card:has(.og-hb__off) .og-hb__price b {
color: #b42318;
}
.og-hb__price s {
display: none;
font-size: 12px;
color: var(--slate-500, #64748b);
}
.og-hb__ticks {
display: none;
gap: 8px;
margin-top: 2px;
}
.og-hb.is-js .og-hb__ticks {
display: flex;
}
.og-hb__tick {
position: relative;
flex: 1 1 0;
min-width: 0;
height: 32px;
padding: 0;
border: 0;
background: transparent;
color: var(--slate-500, #64748b);
cursor: pointer;
text-align: left;
}
.og-hb__tick::before {
content: "";
position: absolute;
left: 0;
right: 0;
top: 12px;
height: 7px;
background:
linear-gradient(var(--slate-300, #cbd5e1), var(--slate-300, #cbd5e1)) bottom / 100% 2px no-repeat,
repeating-linear-gradient(90deg, var(--slate-300, #cbd5e1) 0 1px, transparent 1px 8px) top / 100% 5px no-repeat;
}
.og-hb__tick i {
position: absolute;
left: 0;
top: 17px;
width: 0;
height: 2px;
border-radius: 1px;
background-color: var(--slate-dark, #1e293b);
}
.og-hb__tick.is-on i {
animation: og-hb-fill var(--hb-dur, 6s) linear forwards;
}
.og-hb.is-paused .og-hb__tick.is-on i {
animation-play-state: paused;
}
@keyframes og-hb-fill {
to { width: 100%; }
}
.og-hb__tick:focus-visible {
outline: 2px solid var(--brand, #047857);
outline-offset: 2px;
border-radius: 4px;
}
.og-hb__tick-label {
display: none;
position: absolute;
left: 0;
right: 0;
top: 20px;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
font-size: 13px;
line-height: 1.2;
}
.og-hb__tick.is-on .og-hb__tick-label {
color: var(--slate-dark, #1e293b);
font-weight: var(--fw-semibold, 600);
}
.og-hb-top {
display: flex;
flex-direction: column;
gap: 8px;
padding-top: 10px;
}
.og-hb-top__h1 {
margin: 0;
font: 600 14px/1.3 var(--font-body, "DM Sans", "Segoe UI", sans-serif);
letter-spacing: 0;
color: var(--slate-600, #475569);
}
.og-hb-top__search {
display: flex;
align-items: center;
gap: 10px;
width: 100%;
min-height: 46px;
padding: 0 14px;
border: 1px solid var(--border, #e2e8f0);
border-radius: 14px;
background-color: var(--surface, #ffffff);
color: var(--slate-500, #64748b);
font: 400 15px/1 var(--font-body, "DM Sans", "Segoe UI", sans-serif);
text-align: left;
cursor: text;
box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
}
.og-hb-top__search svg {
flex: 0 0 auto;
width: 19px;
height: 19px;
color: var(--brand, #047857);
}
.og-hb-top__search:focus-visible {
outline: 2px solid var(--brand, #047857);
outline-offset: 2px;
}
.og-hb-top__trust {
display: none;
margin: 0;
padding: 0;
list-style: none;
}
@media (min-width: 768px) {
.og-hb__slide {
grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
align-items: center;
gap: 28px;
padding: 32px 32px 40px;
background:
radial-gradient(60% 85% at 76% 52%, rgba(255, 255, 255, .66), rgba(255, 255, 255, 0) 70%),
var(--hb-bg);
}
.og-hb__title {
margin-top: 12px;
font-size: clamp(34px, 4.2vw, 58px);
}
.og-hb__figure {
grid-template-columns: auto minmax(0, 1fr);
margin-top: 22px;
column-gap: 16px;
}
.og-hb__num {
font-size: clamp(56px, 6.4vw, 92px);
}
.og-hb__pre { margin-bottom: 8px; font-size: 13px; }
.og-hb__label { font-size: 13.5px; }
.og-hb__label b { font-size: 15px; }
.og-hb__go {
grid-column: 1 / -1;
justify-self: start;
margin-top: 24px;
min-height: 50px;
padding-inline: 22px;
}
.og-hb__shelf { gap: 14px; }
.og-hb__card { border-radius: 18px; }
.og-hb__card-link { padding: 12px 12px 14px; }
.og-hb__img { margin-bottom: 8px; }
.og-hb__off { top: 10px; left: 10px; padding: 4px 7px; font-size: 12px; }
.og-hb__name {
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
min-height: 2.6em;
font-size: 13px;
line-height: 1.3;
color: var(--slate-600, #475569);
}
.og-hb__price b { font-size: 18px; }
.og-hb__price s { display: inline; }
.og-hb__ticks { gap: 18px; }
.og-hb__tick { height: 46px; }
.og-hb__tick-label { top: 24px; }
.og-hb__tick-label { display: block; }
}
@media (min-width: 1024px) {
.og-hb__slide {
grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
gap: 44px;
min-height: 420px;
padding: 44px 52px 52px;
}
.og-hb__slide.is-on .og-hb__shelf--3 .og-hb__card--2 {
transform: translateY(-22px);
box-shadow: 0 1px 2px rgba(16, 24, 20, .06), 0 28px 48px -22px rgba(16, 24, 20, .45);
}
.og-hb-top {
flex-direction: row;
align-items: center;
justify-content: space-between;
gap: 24px;
padding-top: 14px;
}
.og-hb-top__search { display: none; }
.og-hb-top__trust {
display: flex;
gap: 22px;
font-size: 13px;
color: var(--slate-600, #475569);
}
.og-hb-top__trust li {
display: inline-flex;
align-items: center;
gap: 7px;
}
.og-hb-top__trust svg {
width: 16px;
height: 16px;
color: var(--brand, #047857);
}
}
@media (hover: hover) and (min-width: 768px) {
.og-hb__slide.is-on .og-hb__card:hover {
transform: translateY(-4px);
}
.og-hb__slide.is-on .og-hb__shelf--3 .og-hb__card--2:hover {
transform: translateY(-26px);
}
}
@media (max-width: 767px) {
.og-hb + .og-new.section-y {
padding-top: 18px;
}
.og-hb + .og-new .eyebrow {
display: none;
}
.og-hb + .og-new .home-section__title {
font-size: 22px;
}
.og-hb + .og-new .og-lead {
margin-top: 2px;
font-size: 13px;
}
.og-hb + .og-new .home-section__head {
flex-wrap: nowrap;
align-items: flex-start;
gap: 12px;
margin-bottom: 14px;
}
.og-hb + .og-new .home-section__head > div {
min-width: 0;
}
.og-hb + .og-new .home-section__more {
padding-top: 4px;
font-size: 14px;
}
}
@media (prefers-reduced-motion: reduce) {
.og-hb__slide,
.og-hb__slide.is-on,
.og-hb__card,
.og-hb__go {
transition: none;
}
.og-hb__slide:not(.is-on) .og-hb__card { transform: none; }
.og-hb__tick.is-on i { animation: none; width: 100%; }
}
