
.ohwst-storefront {
	--ohwst-accent: #7c5cff;
	--ohwst-accent-two: #25e6c8;
	--ohwst-bg: #080b14;
	--ohwst-text: #fff;
	position: relative;
	overflow: hidden;
	background: var(--ohwst-bg);
	color: var(--ohwst-text);
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	line-height: 1.55;
	isolation: isolate;
}
.ohwst-storefront * { box-sizing: border-box; }
.ohwst-storefront a { text-decoration: none; }
.ohwst-container { width: min(1180px, calc(100% - 36px)); margin: 0 auto; position: relative; z-index: 2; }
.ohwst-ambient { position: absolute; border-radius: 999px; filter: blur(90px); opacity: .23; pointer-events: none; }
.ohwst-ambient--one { width: 470px; height: 470px; background: var(--ohwst-accent); top: -150px; right: -160px; }
.ohwst-ambient--two { width: 400px; height: 400px; background: var(--ohwst-accent-two); left: -180px; top: 38%; }
.ohwst-hero {
	min-height: 680px;
	padding: 90px 0 75px;
	background-size: cover;
	background-position: center;
	display: flex;
	align-items: center;
	position: relative;
}
.ohwst-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 60%, var(--ohwst-bg));
	pointer-events: none;
}
.ohwst-hero .ohwst-container { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr); align-items: center; gap: 70px; }
.ohwst-eyebrow, .ohwst-section-kicker {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--ohwst-accent-two);
	text-transform: uppercase;
	letter-spacing: .17em;
	font-size: 11px;
	font-weight: 900;
}
.ohwst-eyebrow::before, .ohwst-section-kicker::before { content:""; width: 28px; height: 2px; background: currentColor; box-shadow: 0 0 16px currentColor; }
.ohwst-title { margin: 17px 0 20px; color: var(--ohwst-text); font-size: clamp(48px, 7vw, 96px); line-height: .94; letter-spacing: -.055em; max-width: 850px; }
.ohwst-subtitle { color: color-mix(in srgb, var(--ohwst-text), transparent 27%); font-size: clamp(17px, 2vw, 22px); max-width: 760px; margin: 0; }
.ohwst-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 31px; }
.ohwst-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 0 22px;
	border-radius: 999px;
	font-weight: 850;
	transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.ohwst-button:hover { transform: translateY(-2px); }
.ohwst-button--primary {
	color: #090b12 !important;
	background: linear-gradient(90deg, var(--ohwst-accent), var(--ohwst-accent-two));
	box-shadow: 0 15px 42px color-mix(in srgb, var(--ohwst-accent), transparent 64%);
}
.ohwst-button--ghost { color: var(--ohwst-text) !important; border: 1px solid color-mix(in srgb, var(--ohwst-text), transparent 75%); background: color-mix(in srgb, var(--ohwst-text), transparent 93%); }
.ohwst-trust-row { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 26px; color: color-mix(in srgb, var(--ohwst-text), transparent 42%); font-size: 12px; }
.ohwst-hero__visual { min-height: 430px; position: relative; display: grid; place-items: center; }
.ohwst-showcase-card {
	width: min(330px, 88%);
	aspect-ratio: .78;
	padding: 34px;
	border: 1px solid color-mix(in srgb, var(--ohwst-text), transparent 78%);
	border-radius: 36px;
	background:
		linear-gradient(145deg, color-mix(in srgb, var(--ohwst-accent), transparent 58%), rgba(255,255,255,.06)),
		rgba(9,12,20,.74);
	box-shadow: 0 40px 90px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.17);
	backdrop-filter: blur(14px);
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	transform: rotate(5deg);
	position: relative;
	z-index: 2;
	animation: ohwstFloat 5.5s ease-in-out infinite;
}
.ohwst-showcase-card::before {
	content:"";
	position:absolute;
	inset:20px;
	border-radius: 24px;
	background:
		radial-gradient(circle at 30% 22%, var(--ohwst-accent-two), transparent 23%),
		radial-gradient(circle at 70% 58%, var(--ohwst-accent), transparent 27%),
		linear-gradient(135deg, rgba(255,255,255,.13), transparent);
	opacity:.72;
}
.ohwst-showcase-card > * { position: relative; z-index: 2; }
.ohwst-showcase-card__label { margin-bottom:auto; font-size:10px; font-weight:900; letter-spacing:.16em; }
.ohwst-showcase-card strong { font-size: 34px; line-height:1; }
.ohwst-showcase-card small { color: color-mix(in srgb, var(--ohwst-text), transparent 36%); margin-top:7px; }
.ohwst-showcase-card__price { margin-top:24px; font-size: 12px; font-weight:900; letter-spacing:.13em; color:var(--ohwst-accent-two); }
.ohwst-orbit { position:absolute; border:1px solid color-mix(in srgb, var(--ohwst-accent), transparent 52%); border-radius:999px; }
.ohwst-orbit--one { width:420px; height:420px; animation:ohwstSpin 16s linear infinite; }
.ohwst-orbit--two { width:300px; height:300px; border-color:color-mix(in srgb, var(--ohwst-accent-two), transparent 48%); animation:ohwstSpin 10s linear infinite reverse; }
.ohwst-feature { padding: 90px 0; }
.ohwst-feature__grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:70px; align-items:start; }
.ohwst-feature h2, .ohwst-products-section h2, .ohwst-footer-cta h2 { color:var(--ohwst-text); font-size:clamp(34px,4.6vw,64px); line-height:1.04; letter-spacing:-.04em; margin:14px 0; }
.ohwst-feature__grid > div > p, .ohwst-section-heading p, .ohwst-footer-cta p { color: color-mix(in srgb, var(--ohwst-text), transparent 38%); font-size:16px; }
.ohwst-benefits { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.ohwst-benefits article { padding:25px; min-height:245px; border:1px solid color-mix(in srgb, var(--ohwst-text), transparent 87%); background:color-mix(in srgb,var(--ohwst-text),transparent 96%); border-radius:22px; }
.ohwst-benefits article > span { display:grid; place-items:center; width:40px; height:40px; border-radius:13px; background:color-mix(in srgb,var(--ohwst-accent),transparent 75%); color:var(--ohwst-accent-two); font-size:11px; font-weight:900; }
.ohwst-benefits h3 { color:var(--ohwst-text); margin:42px 0 10px; font-size:20px; }
.ohwst-benefits p { margin:0; color:color-mix(in srgb,var(--ohwst-text),transparent 42%); font-size:14px; }
.ohwst-products-section { padding: 85px 0 100px; background:color-mix(in srgb,var(--ohwst-text),transparent 97.7%); border-block:1px solid color-mix(in srgb,var(--ohwst-text),transparent 91%); }
.ohwst-section-heading { display:flex; justify-content:space-between; gap:30px; align-items:end; margin-bottom:34px; }
.ohwst-section-heading h2 { margin-bottom:0; }
.ohwst-section-heading > p { max-width:420px; margin:0; }
.ohwst-product-grid { display:grid; grid-template-columns:repeat(var(--ohwst-columns,4),minmax(0,1fr)); gap:18px; }
.ohwst-product-card { border-radius:20px; overflow:hidden; border:1px solid color-mix(in srgb,var(--ohwst-text),transparent 88%); background:color-mix(in srgb,var(--ohwst-bg),white 4%); transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease; }
.ohwst-product-card:hover { transform:translateY(-6px); border-color:color-mix(in srgb,var(--ohwst-accent),transparent 38%); box-shadow:0 22px 50px rgba(0,0,0,.22); }
.ohwst-product-image { aspect-ratio:1/1; background:linear-gradient(145deg,color-mix(in srgb,var(--ohwst-accent),transparent 74%),color-mix(in srgb,var(--ohwst-accent-two),transparent 80%)); display:block; overflow:hidden; }
.ohwst-product-image img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.ohwst-product-card:hover .ohwst-product-image img { transform:scale(1.045); }
.ohwst-product-image--placeholder { display:grid; place-items:center; }
.ohwst-product-image--placeholder span { width:72px; height:72px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.22); border-radius:22px; font-size:25px; font-weight:900; }
.ohwst-product-card__body { padding:18px; }
.ohwst-product-kicker { display:block; min-height:1.5em; color:var(--ohwst-accent-two); text-transform:uppercase; letter-spacing:.1em; font-size:9px; font-weight:900; overflow:hidden; }
.ohwst-product-card h3 { color:var(--ohwst-text); font-size:18px; line-height:1.2; margin:7px 0 10px; }
.ohwst-product-card h3 a { color:inherit; }
.ohwst-price { font-size:17px; font-weight:900; margin-bottom:16px; }
.ohwst-price del { opacity:.5; font-weight:500; }
.ohwst-price ins { text-decoration:none; }
.ohwst-product-button { width:100%; min-height:42px; border-radius:12px; color:#090b12 !important; background:linear-gradient(90deg,var(--ohwst-accent),var(--ohwst-accent-two)); display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:900; }
.ohwst-empty-products { grid-column:1/-1; text-align:center; padding:35px; border:1px dashed color-mix(in srgb,var(--ohwst-text),transparent 75%); border-radius:18px; }
.ohwst-footer-cta { padding:95px 0; }
.ohwst-footer-cta__box { padding:48px; display:flex; align-items:center; justify-content:space-between; gap:35px; border-radius:30px; background:linear-gradient(120deg,color-mix(in srgb,var(--ohwst-accent),transparent 35%),color-mix(in srgb,var(--ohwst-accent-two),transparent 60%)); border:1px solid color-mix(in srgb,var(--ohwst-text),transparent 72%); }
.ohwst-footer-cta h2 { font-size:clamp(30px,4vw,52px); margin:0 0 10px; }
.ohwst-footer-cta p { margin:0; max-width:720px; color:color-mix(in srgb,var(--ohwst-text),transparent 22%); }
.ohwst-title--shimmer {
	background:linear-gradient(90deg,var(--ohwst-text),var(--ohwst-accent-two),var(--ohwst-text));
	background-size:220% auto;
	color:transparent;
	background-clip:text;
	-webkit-background-clip:text;
	animation:ohwstShimmer 3.4s linear infinite;
}
.ohwst-title--flash { animation:ohwstFlash 2.2s ease-in-out infinite; }
.ohwst-title--glow { text-shadow:0 0 20px color-mix(in srgb,var(--ohwst-accent),transparent 45%),0 0 55px color-mix(in srgb,var(--ohwst-accent-two),transparent 75%); animation:ohwstGlow 2.8s ease-in-out infinite alternate; }
.ohwst-title--bounce { animation:ohwstBounce 2.8s ease-in-out infinite; }
.ohwst-title--typewriter { overflow:hidden; width:fit-content; border-right:3px solid var(--ohwst-accent-two); animation:ohwstCaret .8s step-end infinite; }
[data-ohwst-animate] { opacity:1; transform:none; }
.ohwst-effect-fade [data-ohwst-animate].ohwst-is-pending { opacity:0; }
.ohwst-effect-rise [data-ohwst-animate].ohwst-is-pending { opacity:0; transform:translateY(28px); }
.ohwst-effect-zoom [data-ohwst-animate].ohwst-is-pending { opacity:0; transform:scale(.96); }
[data-ohwst-animate].ohwst-is-visible { opacity:1; transform:none; transition:opacity .7s ease, transform .7s ease; }
@keyframes ohwstFloat { 50% { transform:rotate(2deg) translateY(-14px); } }
@keyframes ohwstSpin { to { transform:rotate(360deg); } }
@keyframes ohwstShimmer { to { background-position:-220% center; } }
@keyframes ohwstFlash { 0%,100%{opacity:1;filter:brightness(1)} 50%{opacity:.68;filter:brightness(1.5)} }
@keyframes ohwstGlow { to { text-shadow:0 0 35px color-mix(in srgb,var(--ohwst-accent),transparent 20%),0 0 80px color-mix(in srgb,var(--ohwst-accent-two),transparent 50%); } }
@keyframes ohwstBounce { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-7px)} }
@keyframes ohwstCaret { 50% { border-color:transparent; } }

@media (max-width: 980px) {
	.ohwst-hero .ohwst-container { grid-template-columns:1fr; }
	.ohwst-hero__visual { min-height:360px; }
	.ohwst-feature__grid { grid-template-columns:1fr; gap:35px; }
	.ohwst-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 680px) {
	.ohwst-hero { min-height:auto; padding:75px 0 55px; }
	.ohwst-title { font-size:46px; }
	.ohwst-hero__visual { min-height:300px; }
	.ohwst-benefits { grid-template-columns:1fr; }
	.ohwst-benefits article { min-height:0; }
	.ohwst-benefits h3 { margin-top:25px; }
	.ohwst-section-heading { display:block; }
	.ohwst-section-heading > p { margin-top:12px; }
	.ohwst-product-grid { grid-template-columns:1fr; }
	.ohwst-footer-cta__box { padding:30px; flex-direction:column; align-items:flex-start; }
	.ohwst-trust-row { display:grid; }
}
@media (prefers-reduced-motion: reduce) {
	.ohwst-storefront *, .ohwst-storefront *::before, .ohwst-storefront *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}
