/* Sharp Home Experience — homepage only. Brand tokens, the progress bar, scroll-in reveal and
   the quick-contact button are shared with every page and live in site.css. */

/* ---------- Header: readable on the pastel hero, sticky once you scroll ---------- */
body.home:not(.she-stuck) .top_panel .sc_layouts_menu_nav > li > a,
body.home:not(.she-stuck) .top_panel .elementor-icon,
body.home:not(.she-stuck) .top_panel .sc_layouts_cart_icon,
body.home:not(.she-stuck) .top_panel .sc_layouts_item_icon,
body.home:not(.she-stuck) .top_panel .sc_layouts_search .search_submit { color: var(--she-navy) !important; }
body.home:not(.she-stuck) .top_panel .sc_layouts_menu_nav > li.current-menu-item > a,
body.home .top_panel .sc_layouts_menu_nav > li > a:hover { color: var(--she-copper) !important; }
body.home .top_panel .sc_layouts_menu_nav > li > a > span {
	background: linear-gradient(currentColor, currentColor) 50% 100% / 0 1.5px no-repeat;
	padding-bottom: 4px; transition: background-size .35s var(--she-ease);
}
body.home .top_panel .sc_layouts_menu_nav > li > a:hover > span,
body.home .top_panel .sc_layouts_menu_nav > li.current-menu-item > a > span { background-size: 100% 1.5px; }

body.home.she-stuck .top_panel {
	position: fixed !important; top: var(--she-top); left: 0; right: 0; z-index: 10000;
	background: rgba(22, 26, 77, .94) !important; -webkit-backdrop-filter: saturate(140%) blur(12px); backdrop-filter: saturate(140%) blur(12px);
	box-shadow: 0 14px 34px -18px rgba(10, 12, 40, .6);
	animation: she-drop .45s var(--she-ease) both;
}
body.home.she-stuck .top_panel .elementor-top-section { padding-top: 6px !important; padding-bottom: 6px !important; }
body.home.she-stuck .top_panel .logo_image { max-height: 54px; width: auto; transition: max-height .3s var(--she-ease); }
body.home.she-stuck .top_panel .sc_layouts_menu_nav > li > a,
body.home.she-stuck .top_panel .elementor-icon,
body.home.she-stuck .top_panel .sc_layouts_cart_icon,
body.home.she-stuck .top_panel .sc_layouts_search .search_submit { color: #fff !important; }
body.home.she-stuck .top_panel .sc_layouts_menu_nav > li.current-menu-item > a,
body.home.she-stuck .top_panel .sc_layouts_menu_nav > li > a:hover { color: var(--she-mint-strong) !important; }
@keyframes she-drop { from { transform: translateY(-100%); } to { transform: none; } }

/* ---------- Hero slider ---------- */
body.home .elementor-widget-slides .elementor-slide-heading { color: var(--she-navy) !important; letter-spacing: -.01em; text-wrap: balance; }
body.home .elementor-widget-slides .elementor-slide-description { color: #34395c !important; }
body.home .elementor-widget-slides .elementor-slide-button {
	display: inline-flex; align-items: center; gap: 10px; padding: 15px 30px !important;
	box-shadow: 0 14px 26px -12px rgba(140, 95, 73, .75);
	transition: background-color .3s, border-color .3s, transform .3s var(--she-ease), box-shadow .3s;
}
body.home .elementor-widget-slides .elementor-slide-button { white-space: nowrap; }
body.home .elementor-element-46f09ee .swiper-slide-contents { max-width: 92% !important; }
body.home .elementor-widget-slides .elementor-slide-button::after { content: "\2192"; transition: transform .3s var(--she-ease); }
body.home .elementor-widget-slides .elementor-slide-button:hover {
	background-color: var(--she-navy) !important; border-color: var(--she-navy) !important; color: #fff !important;
	transform: translateY(-2px); box-shadow: 0 18px 30px -14px rgba(31, 36, 102, .7);
}
body.home .elementor-widget-slides .elementor-slide-button:hover::after { transform: translateX(4px); }
body.home .elementor-widget-slides .swiper-slide-active .swiper-slide-bg { animation: she-kenburns 7s ease-out both; }
@keyframes she-kenburns { from { transform: scale(1); } to { transform: scale(1.06); } }
body.home .elementor-widget-slides .swiper-pagination-bullet { width: 9px; height: 9px; background: var(--she-navy); opacity: .25; transition: width .35s var(--she-ease), opacity .3s; border-radius: 9px; }
body.home .elementor-widget-slides .swiper-pagination-bullet-active { width: 28px; opacity: 1; }

/* ---------- Technology / Quality / Commitment ---------- */

/* Equal-height cards with the "Read more" link pinned to the same line in every card. */
body.home .elementor-element-127d17e .sc_icons_columns_wrap { display: flex; flex-wrap: wrap; align-items: stretch; }
body.home .elementor-element-127d17e .sc_icons_columns_wrap > [class*="trx_addons_column-"] { display: flex; }
body.home .elementor-element-127d17e .sc_icons_item_wrap { display: flex; width: 100%; }
body.home .elementor-element-127d17e .sc_icons_item {
	display: flex; flex-direction: column; align-items: center; width: 100%;
	border-radius: 22px; padding: 40px 28px 34px;
	transition: transform .45s var(--she-ease), box-shadow .45s var(--she-ease), background-color .45s;
}
body.home .elementor-element-127d17e .sc_icons_item_details { flex: 1 1 auto; display: flex; flex-direction: column; align-items: center; }
body.home .elementor-element-127d17e .sc_icons_item_title { min-height: 1.2em; }
body.home .elementor-element-127d17e .sc_icons_item_description span:first-child b { display: block; min-height: 2.6em; }
body.home .elementor-element-127d17e .sc_icons_item .sc_icons_item_more_link { margin-top: auto !important; padding-top: 22px; }

/* Hover: the theme switches the card to a dark fill with white text; use a white card with dark text instead. */
body.home .elementor-element-127d17e .sc_icons_item:hover {
	background-color: #fff !important; transform: translateY(-10px);
	box-shadow: 0 30px 56px -30px rgba(31, 36, 102, .42) !important;
}
body.home .elementor-element-127d17e .sc_icons_item:hover .sc_icons_item_title,
body.home .elementor-element-127d17e .sc_icons_item:hover .sc_icons_item_title a { color: var(--she-navy) !important; }
body.home .elementor-element-127d17e .sc_icons_item:hover .sc_icons_item_description,
body.home .elementor-element-127d17e .sc_icons_item:hover .sc_icons_item_description span { color: var(--she-muted) !important; }
body.home .elementor-element-127d17e .sc_icons_item:hover .sc_icons_item_description b { color: var(--she-ink) !important; }
body.home .elementor-element-127d17e .sc_icons_item:hover .sc_icons_item_more_link,
body.home .elementor-element-127d17e .sc_icons_item:hover .sc_icons_item_more_link .link_text { color: var(--she-copper) !important; }
body.home .elementor-element-127d17e .sc_icons_image img { transition: transform .6s var(--she-ease); }
body.home .elementor-element-127d17e .sc_icons_item:hover .sc_icons_image img { transform: translateY(-4px) rotate(-6deg) scale(1.08) !important; }

@media (max-width: 767px) {
	body.home .elementor-element-127d17e .sc_icons_item_description span:first-child b { min-height: 0; }
	body.home .elementor-element-127d17e .sc_icons_item { padding: 32px 20px 28px; }
}

/* ---------- Intro photo gently floats ---------- */
body.home .elementor-element-0197c9f img { animation: she-float 7s ease-in-out infinite; }
@keyframes she-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }

/* Justified paragraphs leave uneven gaps between words; align them left. */
body.home .elementor-element-d055561, body.home .elementor-element-73bc6e4,
body.home .elementor-element-6206368, body.home .elementor-element-88563d0,
body.home .elementor-element-d055561 *, body.home .elementor-element-73bc6e4 *,
body.home .elementor-element-6206368 *, body.home .elementor-element-88563d0 * { text-align: left !important; }

/* ---------- Section rhythm: the same space above and below every section ----------
   --she-gap for content sections, --she-gap-xl for full-bleed photo banners (still equal top and bottom).
   Two consecutive white sections (categories → products) each take half, so the gap between them is one --she-gap. */
body.home { --she-gap: clamp(56px, 7vw, 100px); --she-gap-xl: clamp(88px, 11vw, 160px); }

/* Empty spacer rows and edge spacers: replaced by the section padding below. */
body.home .elementor-element-da16181, body.home .elementor-element-c9e2579, body.home .elementor-element-aa71292,
body.home .elementor-element-aac3ec8, body.home .elementor-element-7bcb156, body.home .elementor-element-0070269,
body.home .elementor-element-3ab7110,
body.home .elementor-element-ca5a83f, body.home .elementor-element-c039a64,
body.home .elementor-element-5a13f0e, body.home .elementor-element-bdbb6f7,
body.home .elementor-element-3fa1c75,
body.home .elementor-element-42b81b6, body.home .elementor-element-2d414f9, body.home .elementor-element-b99a4be,
body.home .elementor-element-b04d7c6, body.home .elementor-element-588b672,
body.home .elementor-element-60ac853, body.home .elementor-element-fdfc439,
body.home .elementor-element-4e0a5e0 { display: none !important; }
/* Inner rows that added their own uneven padding (30/50 and 0/50) */
body.home .elementor-element-b2b1a80, body.home .elementor-element-2cb8db9 { padding-top: 0 !important; padding-bottom: 0 !important; }

/* Content sections */
body.home .elementor-element-b227ccf,  /* Technology / Quality / Commitment */
body.home .elementor-element-57c7eeb,  /* Sharp Food-Waste Disposer intro */
body.home .elementor-element-3fa4d64,  /* We take environmental sustainability seriously */
body.home .elementor-element-210de85,  /* Crush your food wastes */
body.home .she-section { padding-top: var(--she-gap) !important; padding-bottom: var(--she-gap) !important; }

/* Our Categories (title + tiles) followed by Top Rated Products, both on white */
body.home .elementor-element-4e14067 { padding-top: var(--she-gap) !important; padding-bottom: 0 !important; }
body.home .elementor-element-41d92cd { padding-top: 0 !important; padding-bottom: calc(var(--she-gap) / 2) !important; }
body.home .elementor-element-33e3cf7 { padding-top: calc(var(--she-gap) / 2) !important; padding-bottom: var(--she-gap) !important; }

/* Industries We Serve (title + carousel on one grey band) */
body.home .elementor-element-84861d0 { padding-top: var(--she-gap) !important; padding-bottom: 0 !important; }
body.home .elementor-element-f3a38ee { padding-top: var(--she-title-gap) !important; padding-bottom: var(--she-gap) !important; }

/* Same distance from every section title to the content under it */
body.home { --she-title-gap: 48px; }
body.home .elementor-element-72904b7 > .elementor-widget-container { padding: 0 0 var(--she-title-gap) !important; }
body.home .elementor-element-88a5ef0 .elementor-spacer-inner { height: var(--she-title-gap) !important; }

/* Split section: text block on top, photo/dark rows run to the section's bottom edge */
body.home .elementor-element-df3264e > .elementor-widget-wrap { padding-top: var(--she-gap) !important; }
body.home .elementor-element-9efacfe .elementor-spacer-inner { height: var(--she-gap) !important; }

/* Title row and carousel row are one band: use one grey so there's no seam between them */
body.home .elementor-element-84861d0 { background-color: rgb(241, 241, 241) !important; }

/* Photo banners */
/* Darken the photo behind "Come play your responsible part today!" so the white text reads (inset shadow paints over the background only). */
body.home .elementor-element-ff367c1 { box-shadow: inset 0 0 0 100vmax rgba(13, 16, 48, .45); }
body.home .elementor-element-ff367c1 .sc_item_title { text-shadow: 0 2px 18px rgba(0, 0, 0, .35); }
body.home .elementor-element-2462c41,  /* An Integral Part of Your Kitchen */
body.home .elementor-element-ff367c1 { /* Come play your responsible part today */
	padding-top: var(--she-gap-xl) !important; padding-bottom: var(--she-gap-xl) !important;
}

/* Two-column sections: centre the columns against each other instead of nudging with spacers */
body.home .elementor-element-3fa4d64 > .elementor-container,
body.home .elementor-element-2cb8db9 > .elementor-container { align-items: center; }

/* "Sharp Food Waste Disposer" heading sat flush against the screen edge. */
body.home .elementor-element-1d2463e { padding-left: clamp(16px, 4vw, 64px); }
/* Keep the floating contact button clear of the footer's last line. */

/* ---------- Category tiles ---------- */
body.home .elementor-widget-e_image_hover_effects .eihe-box {
	border-radius: 20px; overflow: hidden; transform: translateZ(0);
	transition: transform .5s var(--she-ease), box-shadow .5s var(--she-ease);
}
body.home .elementor-widget-e_image_hover_effects .eihe-box img { transition: transform .9s var(--she-ease); }
body.home .elementor-widget-e_image_hover_effects:hover .eihe-box { transform: translateY(-8px); box-shadow: 0 30px 50px -30px rgba(31, 36, 102, .55); }
body.home .elementor-widget-e_image_hover_effects:hover .eihe-box img { transform: scale(1.07); }

/* ---------- Top rated products ---------- */
body.home .elementor-element-6cede5b li.product .post_item { transition: transform .45s var(--she-ease); }
body.home .elementor-element-6cede5b li.product .post_featured { border-radius: 18px; overflow: hidden; transition: box-shadow .45s var(--she-ease); }
body.home .elementor-element-6cede5b li.product .post_featured img { transition: transform .8s var(--she-ease); }
body.home .elementor-element-6cede5b li.product:hover .post_item { transform: translateY(-6px); }
body.home .elementor-element-6cede5b li.product:hover .post_featured { box-shadow: 0 26px 44px -28px rgba(31, 36, 102, .5); }
body.home .elementor-element-6cede5b li.product:hover .post_featured img { transform: scale(1.06); }

/* ---------- Buttons across the page ---------- */
body.home .elementor-5002 .sc_button, body.home .elementor-5002 .elementor-button:not(.elementor-slide-button),
body.home .elementor-5002 li.product .button {
	transition: transform .3s var(--she-ease), box-shadow .3s, background-color .3s, color .3s !important;
}
body.home .elementor-5002 .sc_button:hover, body.home .elementor-5002 li.product .button:hover {
	transform: translateY(-2px); box-shadow: 0 14px 24px -14px rgba(31, 36, 102, .6);
}

/* ---------- Industries carousel ---------- */
body.home .elementor-element-2bfc137 .swiper-slide-image { transition: transform .45s var(--she-ease), filter .45s; filter: saturate(.85); }
body.home .elementor-element-2bfc137 .swiper-slide:hover .swiper-slide-image { transform: translateY(-6px) scale(1.06); filter: none; }


/* =========================================================
   New sections
   ========================================================= */
.she-section { font-family: var(--she-body); color: var(--she-ink); line-height: 1.6; padding-block: clamp(64px, 9vw, 120px); position: relative; overflow: hidden; }
.she-section *, .she-section *::before, .she-section *::after { box-sizing: border-box; }
.she-wrap { max-width: 1240px; margin: 0 auto; padding-inline: 24px; }
.she-head { max-width: 640px; display: flex; flex-direction: column; gap: 14px; }
.she-head.is-center { margin: 0 auto; text-align: center; align-items: center; }
.she-eyebrow { font: 600 12px/1 var(--she-body); letter-spacing: .18em; text-transform: uppercase; color: var(--she-copper); }
.she-section .she-title { font-family: var(--she-display); font-weight: 400; font-size: clamp(32px, 4.4vw, 54px); line-height: 1.08; letter-spacing: -.01em; margin: 0; text-wrap: balance; color: var(--she-navy); }
.she-lede { font-size: 18px; color: var(--she-muted); margin: 0; max-width: 52ch; }
.she-ico { width: 22px; height: 22px; flex: none; }
.she-section button { font-family: inherit; text-transform: none; letter-spacing: normal; line-height: 1.4; min-height: 0; height: auto; box-shadow: none; }

/* ---------- How it works (navy) ---------- */
.she-how { background: radial-gradient(900px 480px at 88% -10%, rgba(143, 217, 182, .2), transparent 62%), radial-gradient(700px 400px at -10% 110%, rgba(168, 120, 96, .22), transparent 60%), var(--she-navy); color: #e8ebff; }
.she-how .she-title { color: #fff; }
.she-how .she-eyebrow { color: var(--she-mint-strong); }
.she-how .she-lede { color: rgba(232, 235, 255, .72); }
.she-how-grid { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: clamp(28px, 5vw, 80px); align-items: center; }
.she-how-left { display: flex; flex-direction: column; gap: 36px; min-width: 0; }
.she-steps { display: flex; flex-direction: column; gap: 12px; }
.she-section .she-step {
	appearance: none; position: relative; overflow: hidden; width: 100%; cursor: pointer; text-align: left;
	display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 4px 18px; align-items: center;
	padding: 20px 22px !important; border-radius: 18px !important; border: 1px solid rgba(255, 255, 255, .12) !important;
	background: transparent !important; color: #e8ebff !important; font-size: 15px; font-weight: 400;
	transition: background-color .35s, border-color .35s, transform .35s var(--she-ease);
}
.she-section .she-step:hover { background: rgba(255, 255, 255, .05) !important; transform: translateX(4px); }
.she-section .she-step.is-active { background: rgba(255, 255, 255, .09) !important; border-color: rgba(143, 217, 182, .55) !important; }
.she-section .she-step:focus-visible { outline: 2px solid var(--she-mint-strong); outline-offset: 3px; }
.she-step-num { grid-row: span 2; width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; font: 400 20px/1 var(--she-display); border: 1.5px solid rgba(255, 255, 255, .3); transition: background-color .35s, color .35s, border-color .35s; }
.she-step.is-active .she-step-num { background: var(--she-mint-strong); border-color: var(--she-mint-strong); color: var(--she-navy-deep); }
.she-step-text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.she-step-text strong { font: 400 21px/1.2 var(--she-display); color: #fff; }
.she-step-text span { color: rgba(232, 235, 255, .68); }
.she-step-bar { position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: rgba(255, 255, 255, .06); }
.she-step-bar i { display: block; height: 100%; background: var(--she-mint-strong); transform: scaleX(0); transform-origin: 0 50%; }
.is-running .she-step.is-active .she-step-bar i { animation: she-fill var(--she-auto, 5000ms) linear forwards; }
@keyframes she-fill { to { transform: scaleX(1); } }

.she-step-panel {
	display: grid; grid-template-columns: minmax(0, 1fr); gap: 22px; padding: clamp(24px, 4vw, 44px);
	border-radius: 28px; border: 1px solid rgba(255, 255, 255, .12);
	background: linear-gradient(160deg, rgba(255, 255, 255, .1), rgba(255, 255, 255, .02));
}
.she-step-panel:not([hidden]) { animation: she-panel-in .6s var(--she-ease) both; }
@keyframes she-panel-in { from { opacity: 0; transform: translateY(14px) scale(.985); } to { opacity: 1; transform: none; } }
.she-art { border-radius: 20px; background: rgba(10, 12, 45, .35); padding: 18px; display: grid; place-items: center; }
.she-art svg { width: 100%; max-width: 420px; height: auto; }
.she-a-line { stroke: #dfe4ff; }
.she-a-soft { stroke: rgba(223, 228, 255, .45); }
.she-a-accent { stroke: #d9a184; }
.she-a-accent-fill { fill: #d9a184; }
.she-a-mint { stroke: var(--she-mint-strong); }
.she-a-mint-fill { fill: var(--she-mint-strong); }
.she-a-buzz { stroke: var(--she-mint-strong); }
.she-step-copy { display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }
.she-step-count { font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: var(--she-mint-strong); font-weight: 600; }
.she-step-copy h3 { font: 400 clamp(26px, 3vw, 34px)/1.15 var(--she-display); color: #fff; margin: 0; }
.she-step-copy p { margin: 0; color: rgba(232, 235, 255, .8); font-size: 17px; max-width: 54ch; }
.she-chip { display: inline-flex; align-items: center; gap: 8px; margin-top: 4px; padding: 8px 14px 8px 10px; border-radius: 999px; background: rgba(143, 217, 182, .14); color: var(--she-mint-strong); font-weight: 600; font-size: 14px; }
.she-chip .she-ico { width: 18px; height: 18px; }

/* Step illustrations move only on the active panel */
.she-step-panel.is-active .she-a-fall { animation: she-fall 2.4s var(--she-ease) infinite; }
.she-step-panel.is-active .she-a-plate { animation: she-tilt 2.4s var(--she-ease) infinite; transform-origin: 104px 52px; }
.she-step-panel.is-active .she-a-spin { animation: she-spin 1.1s linear infinite; transform-origin: 160px 104px; }
.she-step-panel.is-active .she-a-buzz { animation: she-buzz .5s ease-in-out infinite alternate; }
.she-step-panel.is-active .she-a-switch { animation: she-press 2.2s ease-in-out infinite; transform-origin: 270px 102px; }
.she-step-panel.is-active .she-a-flow { stroke: var(--she-mint-strong); animation: she-flow 1.2s linear infinite; }
@keyframes she-fall { 0% { transform: translateY(-18px); opacity: 0; } 25% { opacity: 1; } 80% { opacity: 1; } 100% { transform: translateY(46px); opacity: 0; } }
@keyframes she-tilt { 0%, 100% { transform: rotate(0); } 40% { transform: rotate(-8deg); } }
@keyframes she-spin { to { transform: rotate(360deg); } }
@keyframes she-buzz { from { opacity: .3; transform: translateX(0); } to { opacity: 1; transform: translateX(-4px); } }
@keyframes she-press { 0%, 70%, 100% { transform: scale(1); } 80% { transform: scale(.92); } }
@keyframes she-flow { to { stroke-dashoffset: -48; } }

/* ---------- Product finder (mint) ---------- */
.she-finder { background: linear-gradient(180deg, var(--she-mint), #f6fbf8); }
.she-finder-tabs {
	display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; width: fit-content; max-width: 100%;
	margin: 40px auto 36px; padding: 7px; border-radius: 999px; background: #fff; box-shadow: 0 18px 40px -28px rgba(31, 36, 102, .45);
}
.she-section .she-finder-tab {
	appearance: none; cursor: pointer; display: inline-flex; align-items: center; gap: 10px;
	padding: 12px 20px !important; border-radius: 999px !important; border: 0 !important;
	background: transparent !important; color: var(--she-navy) !important; font-size: 15px; font-weight: 600;
	transition: background-color .3s, color .3s, transform .3s var(--she-ease);
}
.she-section .she-finder-tab:hover { background: var(--she-mint) !important; }
.she-section .she-finder-tab.is-active { background: var(--she-navy) !important; color: #fff !important; box-shadow: 0 10px 20px -12px rgba(31, 36, 102, .8); }
.she-section .she-finder-tab:focus-visible { outline: 2px solid var(--she-copper); outline-offset: 2px; }

.she-fpanel {
	display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(24px, 5vw, 64px); align-items: center;
	padding: clamp(18px, 3.5vw, 44px); border-radius: 30px; background: #fff; box-shadow: 0 40px 70px -50px rgba(31, 36, 102, .45);
}
.she-fpanel:not([hidden]) { animation: she-panel-in .55s var(--she-ease) both; }
.she-fimg { display: grid; place-items: center; aspect-ratio: 1 / 1; max-height: 440px; width: 100%; border-radius: 22px; overflow: hidden; background: radial-gradient(circle at 50% 62%, #dff1e7, #f4faf6 68%); }
.she-fimg img { width: 82%; height: 82%; object-fit: contain; transition: transform .8s var(--she-ease); mix-blend-mode: multiply; }
.she-fpanel:hover .she-fimg img { transform: scale(1.05) rotate(-1.5deg); }
.she-fcopy { display: flex; flex-direction: column; gap: 14px; align-items: flex-start; min-width: 0; }
.she-for { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.she-for li { margin: 0; padding: 5px 12px; border-radius: 999px; background: var(--she-mint); color: #2c6b52; font-size: 13px; font-weight: 600; }
.she-for li::before { display: none; }
.she-fcopy h3 { font: 400 clamp(28px, 3.2vw, 40px)/1.1 var(--she-display); margin: 0; }
.she-fcopy h3 a { color: var(--she-navy); text-decoration: none; }
.she-fcopy h3 a:hover { color: var(--she-copper); }
.she-fcopy p { margin: 0; color: var(--she-muted); font-size: 17px; max-width: 52ch; }
.she-price { font-size: 22px; font-weight: 700; color: var(--she-navy); font-variant-numeric: tabular-nums; }
.she-price del { color: #9a9fb2; font-weight: 400; font-size: 16px; margin-right: 8px; }
.she-price ins { text-decoration: none; }
.she-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 6px; }
.she-btn {
	display: inline-flex; align-items: center; gap: 10px; padding: 14px 26px; border-radius: 999px; font-weight: 600; font-size: 15px;
	text-decoration: none !important; transition: transform .3s var(--she-ease), box-shadow .3s, background-color .3s, color .3s, border-color .3s;
}
.she-btn .she-ico { width: 18px; height: 18px; transition: transform .3s var(--she-ease); }
.she-btn-primary { background: var(--she-copper); color: #fff !important; box-shadow: 0 14px 26px -14px rgba(140, 95, 73, .9); }
.she-btn-primary:hover { background: var(--she-navy); transform: translateY(-2px); box-shadow: 0 18px 30px -16px rgba(31, 36, 102, .8); }
.she-btn-primary:hover .she-ico { transform: translateX(4px); }
.she-btn-ghost { color: var(--she-navy) !important; border: 1.5px solid var(--she-line); background: #fff; }
.she-btn-ghost:hover { border-color: var(--she-navy); transform: translateY(-2px); }
.she-btn:focus-visible { outline: 2px solid var(--she-copper); outline-offset: 3px; }

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
	.she-how-grid, .she-fpanel { grid-template-columns: minmax(0, 1fr); }
	.she-fimg { max-height: 340px; aspect-ratio: 4 / 3; }
}
@media (max-width: 640px) {
	.she-wrap { padding-inline: 16px; }
	.she-finder-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; border-radius: 22px; }
	.she-section .she-finder-tab { justify-content: center; padding: 12px 10px !important; border-radius: 16px !important; font-size: 14px; text-align: center; }
	.she-section .she-step { padding: 16px !important; grid-template-columns: 40px minmax(0, 1fr); }
	.she-step-num { width: 40px; height: 40px; font-size: 17px; }
	.she-btn { flex: 1 1 auto; justify-content: center; }
}

/* =========================================================
   Homepage type scale
   H1 hero 52–56 / 34 · H2 section 38 / 28 · H3 card 22 / 19 · body 17 (1.7) / 16 · buttons 15
   ========================================================= */
body.home .elementor-widget-slides .elementor-slide-heading {
	font-family: var(--she-head) !important; font-weight: 700 !important;
	font-size: 56px !important; line-height: 1.1 !important; letter-spacing: -.02em;
}
body.home .elementor-5002 .sc_item_title,
body.home .elementor-5002 .elementor-widget-heading .elementor-heading-title,
body.home .she-section .she-title {
	font-family: var(--she-head) !important; font-weight: 700 !important;
	font-size: 38px !important; line-height: 1.2 !important; letter-spacing: -.015em;
}
/* ThemeREX titles put the size on an inner span; make it follow the heading. */
body.home .elementor-5002 .sc_item_title .sc_item_title_text,
body.home .elementor-5002 .sc_item_title .sc_item_title_text * {
	font-size: inherit !important; line-height: inherit !important; letter-spacing: inherit !important;
}
body.home .elementor-5002 .sc_icons_item_title,
body.home .elementor-5002 .woocommerce-loop-product__title,
body.home .elementor-5002 .eihe-title,
body.home .she-step-copy h3, body.home .she-fcopy h3,
body.home .she-step-text strong, body.home .she-fab-title {
	font-family: var(--she-head) !important; font-weight: 600 !important;
	font-size: 22px !important; line-height: 1.3 !important; letter-spacing: -.005em;
}
body.home .elementor-5002 .sc_icons_item_title { letter-spacing: .02em; }
body.home .elementor-5002 .elementor-widget-text-editor,
body.home .elementor-5002 .elementor-widget-text-editor p,
body.home .elementor-5002 .sc_icons_item_description,
body.home .elementor-5002 .sc_icons_item_description span,
body.home .elementor-widget-slides .elementor-slide-description,
body.home .she-lede, body.home .she-step-copy p, body.home .she-fcopy p {
	font-family: var(--she-text) !important; font-weight: 400;
	font-size: 17px !important; line-height: 1.7 !important;
}
body.home .elementor-5002 .sc_icons_item_description b { font-weight: 600; }
/* Small uppercase labels above titles */
body.home .elementor-5002 .sc_item_subtitle, body.home .elementor-element-c378be5, body.home .elementor-element-c378be5 p,
body.home .she-eyebrow, body.home .she-step-count {
	font-family: var(--she-head) !important; font-weight: 600 !important; font-size: 13px !important;
	line-height: 1.4 !important; letter-spacing: .16em !important; text-transform: uppercase;
}
body.home .elementor-widget-slides .elementor-slide-button,
body.home .elementor-5002 .sc_button, body.home .elementor-5002 li.product .button,
body.home .elementor-5002 .sc_icons_item_more_link .link_text,
body.home .she-btn, body.home .she-section .she-finder-tab, body.home .she-fab-btn {
	font-family: var(--she-head) !important; font-weight: 600 !important; font-size: 15px !important; letter-spacing: 0 !important;
}
body.home .she-step-num { font-family: var(--she-head); font-weight: 600; font-size: 18px; }
body.home .she-price { font-family: var(--she-head); }

@media (max-width: 1279px) {
	body.home .elementor-widget-slides .elementor-slide-heading { font-size: 52px !important; }
}
@media (max-width: 1024px) {
	body.home .elementor-widget-slides .elementor-slide-heading { font-size: 44px !important; }
	body.home .elementor-5002 .sc_item_title,
	body.home .elementor-5002 .elementor-widget-heading .elementor-heading-title,
	body.home .she-section .she-title { font-size: 33px !important; }
}
@media (max-width: 767px) {
	body.home .elementor-widget-slides .elementor-slide-heading { font-size: 34px !important; }
	body.home .elementor-5002 .sc_item_title,
	body.home .elementor-5002 .elementor-widget-heading .elementor-heading-title,
	body.home .she-section .she-title { font-size: 28px !important; }
	body.home .elementor-5002 .sc_icons_item_title,
	body.home .elementor-5002 .woocommerce-loop-product__title,
	body.home .elementor-5002 .eihe-title,
	body.home .she-step-copy h3, body.home .she-fcopy h3,
	body.home .she-step-text strong, body.home .she-fab-title { font-size: 19px !important; }
	body.home .elementor-5002 .elementor-widget-text-editor,
	body.home .elementor-5002 .elementor-widget-text-editor p,
	body.home .elementor-5002 .sc_icons_item_description,
	body.home .elementor-5002 .sc_icons_item_description span,
	body.home .elementor-widget-slides .elementor-slide-description,
	body.home .she-lede, body.home .she-step-copy p, body.home .she-fcopy p { font-size: 16px !important; }
}

/* ---------- Respect reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
	body.home .elementor-widget-slides .swiper-slide-active .swiper-slide-bg,
	body.home .elementor-element-0197c9f img,
	.she-step-panel.is-active *, .she-step-panel:not([hidden]), .she-fpanel:not([hidden]),
	body.home.she-stuck .top_panel { animation: none !important; }
	body.home *, .she-section * { transition-duration: .01ms !important; }
}
