.elementor-18608 .elementor-element.elementor-element-fd803e3{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;--flex-wrap:wrap;--margin-top:-20px;--margin-bottom:20px;--margin-left:0px;--margin-right:0px;}.elementor-18608 .elementor-element.elementor-element-4bf01bf{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:30px 30px;--row-gap:30px;--column-gap:30px;--margin-top:0px;--margin-bottom:80px;--margin-left:0px;--margin-right:0px;}.elementor-18608 .elementor-element.elementor-element-cb0d1aa{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:flex-start;--align-items:center;--border-radius:10px 10px 10px 10px;--padding-top:40px;--padding-bottom:40px;--padding-left:40px;--padding-right:40px;}.elementor-18608 .elementor-element.elementor-element-cb0d1aa:not(.elementor-motion-effects-element-type-background), .elementor-18608 .elementor-element.elementor-element-cb0d1aa > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-18608 .elementor-element.elementor-element-0614e50{width:var( --container-widget-width, 500px );max-width:500px;--container-widget-width:500px;--container-widget-flex-grow:0;}.elementor-18608 .elementor-element.elementor-element-09826d8{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:40px 40px;--row-gap:40px;--column-gap:40px;--border-radius:10px 10px 10px 10px;--padding-top:40px;--padding-bottom:40px;--padding-left:40px;--padding-right:40px;}.elementor-18608 .elementor-element.elementor-element-09826d8:not(.elementor-motion-effects-element-type-background), .elementor-18608 .elementor-element.elementor-element-09826d8 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-18608 .elementor-element.elementor-element-a9934c6{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-18608 .elementor-element.elementor-element-a5548f3{--display:flex;--gap:10px 10px;--row-gap:10px;--column-gap:10px;}.elementor-18608 .elementor-element.elementor-element-496a628{font-size:13px;}html .elementor-18608 .elementor-element.elementor-element-6d9a410 .product_title{font-size:40px;font-weight:700;color:var( --e-global-color-4424b55 );}.elementor-18608 .elementor-element.elementor-element-39573e3{color:var( --e-global-color-3c94eb9 );}.elementor-18608 .elementor-element.elementor-element-b493307{--display:flex;}.elementor-18608 .elementor-element.elementor-element-49723e9{--display:grid;--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--gap:0px 0px;--row-gap:0px;--column-gap:0px;--grid-auto-flow:row;--justify-items:center;}.elementor-18608 .elementor-element.elementor-element-d0a61ed{--divider-border-style:solid;--divider-color:#C6C5C5;--divider-border-width:1px;}.elementor-18608 .elementor-element.elementor-element-d0a61ed .elementor-divider-separator{width:100%;}.elementor-18608 .elementor-element.elementor-element-d0a61ed .elementor-divider{padding-block-start:2px;padding-block-end:2px;}.elementor-18608 .elementor-element.elementor-element-6d0d488{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:flex-end;--flex-wrap:wrap;}.elementor-18608 .elementor-element.elementor-element-972d642.elementor-element{--flex-grow:1;--flex-shrink:0;}.elementor-18608 .elementor-element.elementor-element-a54d363 .wd-info-icon{font-size:25px;}.elementor-18608 .elementor-element.elementor-element-be98d14{background-color:var( --e-global-color-f85bc5b );padding:10px 0px 10px 0px;border-radius:4px 4px 4px 4px;--e-icon-list-icon-size:22px;--icon-vertical-offset:0px;}.elementor-18608 .elementor-element.elementor-element-be98d14 .elementor-icon-list-icon i{color:var( --e-global-color-5f3189c );transition:color 0.3s;}.elementor-18608 .elementor-element.elementor-element-be98d14 .elementor-icon-list-icon svg{fill:var( --e-global-color-5f3189c );transition:fill 0.3s;}.elementor-18608 .elementor-element.elementor-element-be98d14 .elementor-icon-list-text{transition:color 0.3s;}.elementor-18608 .elementor-element.elementor-element-3c5204c{--display:flex;}.elementor-18608 .elementor-element.elementor-element-f6010cc{--display:flex;}.elementor-18608 .elementor-element.elementor-element-a38a96e{--display:flex;}.elementor-18608 .elementor-element.elementor-element-0fdc1e2{margin:50px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-18608 .elementor-element.elementor-element-ced9ce6{--display:flex;}.elementor-18608 .elementor-element.elementor-element-3e88b6c{margin:80px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-18608 .elementor-element.elementor-element-780d220{--display:flex;}.elementor-18608 .elementor-element.elementor-element-c0e3b29.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}.elementor-18608 .elementor-element.elementor-element-c0e3b29.elementor-wc-products ul.products li.product span.onsale{display:block;}@media(max-width:1024px){.elementor-18608 .elementor-element.elementor-element-4bf01bf{--margin-top:0px;--margin-bottom:60px;--margin-left:0px;--margin-right:0px;}.elementor-18608 .elementor-element.elementor-element-09826d8{--gap:30px 30px;--row-gap:30px;--column-gap:30px;}.elementor-18608 .elementor-element.elementor-element-a9934c6{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-18608 .elementor-element.elementor-element-496a628{font-size:10px;}html .elementor-18608 .elementor-element.elementor-element-6d9a410 .product_title{font-size:24px;}.elementor-18608 .elementor-element.elementor-element-39573e3{font-size:11px;}.elementor-18608 .elementor-element.elementor-element-49723e9{--gap:0px 0px;--row-gap:0px;--column-gap:0px;--grid-auto-flow:row;}.elementor-18608 .elementor-element.elementor-element-6097b13 .price, .elementor-18608 .elementor-element.elementor-element-6097b13 .price del, .elementor-18608 .elementor-element.elementor-element-6097b13 .amount{font-size:22px;}.elementor-18608 .elementor-element.elementor-element-c0e3b29.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}}@media(max-width:768px){.elementor-18608 .elementor-element.elementor-element-4bf01bf{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:40px;--margin-left:0px;--margin-right:0px;}.elementor-18608 .elementor-element.elementor-element-cb0d1aa{--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-18608 .elementor-element.elementor-element-09826d8{--gap:20px 20px;--row-gap:20px;--column-gap:20px;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}html .elementor-18608 .elementor-element.elementor-element-6d9a410 .product_title{font-size:29px;}.elementor-18608 .elementor-element.elementor-element-39573e3{font-size:11px;}.elementor-18608 .elementor-element.elementor-element-49723e9{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:column;}.elementor-18608 .elementor-element.elementor-element-c0e3b29.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}}@media(min-width:769px){.elementor-18608 .elementor-element.elementor-element-cb0d1aa{--width:60%;}.elementor-18608 .elementor-element.elementor-element-09826d8{--width:40%;}}@media(max-width:1024px) and (min-width:769px){.elementor-18608 .elementor-element.elementor-element-cb0d1aa{--width:50%;}.elementor-18608 .elementor-element.elementor-element-09826d8{--width:50%;}}/* Start custom CSS for html, class: .elementor-element-1c57f5d *//* Mode .elementor-18608 .elementor-element.elementor-element-1c57f5d — NEW: visual mode cards instead of text list */
.fn-modes-label { font-size: 12px; font-weight: 700; color: #1E1E2C; text-transform: uppercase; letter-spacing: .07em; margin-bottom: 10px; }
.fn-modes { display: flex; gap: 10px; margin-bottom: 22px; flex-wrap: wrap; }
.fn-mode {
  flex: 1 1 80px;
  border: 2px solid #F0DEE4;
  border-radius: 12px; padding: 12px 8px;
  text-align: center; cursor: pointer;
  background: #fff; transition: all .2s;
}
.fn-mode:hover { border-color: #F2A4B0; }
.fn-mode.active { border-color: #E8637A; background: #FDF0F2; box-shadow: 0 2px 12px rgba(232,99,122,.12); }
.fn-mode-icon { font-size: 20px; display: block; margin-bottom: 6px; }
.fn-mode-name { font-size: 11px; font-weight: 700; color: #1E1E2C; display: block; }
.fn-mode-desc { font-size: 10px; color: #9898AE; display: block; margin-top: 2px; }
 
/* Benefits — horizontal icon + text chips */
.fn-benefits { display: flex; flex-direction: column; gap: 8px; margin-bottom: 22px; }
.fn-benefit {
  display: flex; align-items: center; gap: 12px;
  background: #FFF8F5; border: 1px solid #F0DEE4;
  border-radius: 10px; padding: 10px 14px;
  font-size: 13.5px; color: #5A5A72;
}
.fn-benefit-icon { font-size: 18px; flex-shrink: 0; }
.fn-benefit strong { color: #1E1E2C; font-weight: 600; }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-75ccb3f *//* Trust — horizontal strip */
.fn-trust {
  display: grid; grid-template-columns: repeat(4,1fr);
  gap: 8px; margin-bottom: 18px;
}
.fn-trust-badge {
  text-align: center; background: #FFF8F5;
  border: 1px solid #F0DEE4; border-radius: 12px; padding: 10px 6px;
}
.fn-trust-badge .fn-ti { font-size: 20px; display: block; margin-bottom: 3px; }
.fn-trust-badge .fn-tl { font-size: 9.5px; font-weight: 700; color: #1E1E2C; text-transform: uppercase; letter-spacing: .03em; display: block; }
.fn-trust-badge .fn-ts { font-size: 9.5px; color: #9898AE; display: block; }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-8a8cd38 */<!-- ============================================================
     SECTION 3: WHY CHOOSE US
     Face & Neck Massager — NEW: Alternating icon-left card layout
     Paste into Custom HTML block
============================================================ -->
<style>
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,700;1,400&family=DM+Sans:wght@400;500;600;700&display=swap');
 
.fn-why-section {
  background: #ffffff;
  padding: 64px 24px;
  font-family: 'DM Sans', sans-serif;
  box-sizing: border-box;
  width: 100%;
}
.fn-why-inner { max-width: 1200px; margin: 0 auto; }
 
.fn-section-tag {
  display: inline-block;
  background: #FAE8EC; color: #E8637A;
  border-radius: 50px; padding: 5px 18px;
  font-size: 11px; font-weight: 800;
  letter-spacing: .1em; text-transform: uppercase;
  margin-bottom: 14px;
}
.fn-why-heading {
  font-family: 'Playfair Display', serif;
  font-size: clamp(1.7rem,3.5vw,2.3rem);
  color: #1E1E2C; line-height: 1.2;
  margin-bottom: 10px; font-weight: 700;
}
.fn-why-sub {
  font-size: 15px; color: #5A5A72;
  max-width: 520px; line-height: 1.7; margin-bottom: 48px;
}
 
/* NEW LAYOUT: 2-col grid, left = large icon card, right = stacked small cards */
.fn-why-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  align-items: start;
}
.fn-why-col { display: flex; flex-direction: column; gap: 18px; }
 
/* Featured big card */
.fn-why-featured {
  background: linear-gradient(145deg, #FDF0F2, #FAE8EC);
  border: 1.5px solid #F2A4B0;
  border-radius: 24px;
  padding: 36px 32px;
  height: 100%;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: center;
  transition: transform .25s, box-shadow .25s;
}
.fn-why-featured:hover { transform: translateY(-4px); box-shadow: 0 12px 40px rgba(232,99,122,.18); }
.fn-why-featured .fn-wf-emoji { font-size: 56px; margin-bottom: 22px; display: block; }
.fn-why-featured h3 {
  font-family: 'Playfair Display', serif;
  font-size: 1.5rem; color: #1E1E2C;
  font-weight: 700; margin-bottom: 12px;
}
.fn-why-featured p { font-size: 14px; color: #5A5A72; line-height: 1.75; margin: 0; }
.fn-why-featured .fn-wf-tag {
  display: inline-block; margin-top: 20px;
  background: #E8637A; color: #fff;
  border-radius: 50px; padding: 6px 18px;
  font-size: 12px; font-weight: 700;
  box-shadow: 0 4px 14px rgba(232,99,122,.35);
}
 
/* Small horizontal cards */
.fn-why-card {
  display: flex; align-items: flex-start; gap: 16px;
  background: #FFF8F5; border: 1px solid #F0DEE4;
  border-radius: 16px; padding: 20px;
  transition: transform .2s, box-shadow .2s;
  box-sizing: border-box;
}
.fn-why-card:hover { transform: translateX(5px); box-shadow: 0 4px 20px rgba(232,99,122,.10); }
.fn-why-icon {
  width: 50px; height: 50px; min-width: 50px;
  background: #FAE8EC; border-radius: 14px;
  display: flex; align-items: center; justify-content: center;
  font-size: 22px;
}
.fn-why-card h3 { font-size: 15px; font-weight: 700; color: #1E1E2C; margin-bottom: 5px; }
.fn-why-card p { font-size: 13px; color: #5A5A72; line-height: 1.65; margin: 0; }
 
@media(max-width: 860px) {
  .fn-why-layout { grid-template-columns: 1fr; }
  .fn-why-featured { padding: 28px 24px; }
}
@media(max-width: 480px) {
  .fn-why-section { padding: 40px 16px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-0fdc1e2 */<!-- ============================================================
     SECTION 4: HOW IT WORKS — Timeline/Zigzag style
     Face & Neck Massager — Paste into Custom HTML block
============================================================ -->
<style>
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,700;1,400&family=DM+Sans:wght@400;500;600;700&display=swap');
 
.fn-how-section {
  background: #FDF0F2;
  padding: 64px 24px;
  font-family: 'DM Sans', sans-serif;
  box-sizing: border-box;
  width: 100%;
}
.fn-how-inner { max-width: 1200px; margin: 0 auto; }
.fn-how-tag {
  display: inline-block;
  background: #FAE8EC; color: #E8637A;
  border-radius: 50px; padding: 5px 18px;
  font-size: 11px; font-weight: 800;
  letter-spacing: .1em; text-transform: uppercase;
  margin-bottom: 14px;
}
.fn-how-heading {
  font-family: 'Playfair Display', serif;
  font-size: clamp(1.7rem,3.5vw,2.3rem);
  color: #1E1E2C; line-height: 1.2;
  margin-bottom: 10px; font-weight: 700;
}
.fn-how-sub { font-size: 15px; color: #5A5A72; max-width: 520px; line-height: 1.7; margin-bottom: 48px; }
 
/* NEW: Numbered timeline cards in a 2x2 grid with connector lines */
.fn-steps-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  position: relative;
}
/* Decorative center cross line */
.fn-steps-grid::before {
  content: '';
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%,-50%);
  width: 2px; height: 70%;
  background: linear-gradient(180deg, transparent, #F2A4B0, transparent);
}
.fn-steps-grid::after {
  content: '';
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%,-50%);
  height: 2px; width: 70%;
  background: linear-gradient(90deg, transparent, #F2A4B0, transparent);
}
 
.fn-step-card {
  background: #fff;
  border: 1.5px solid #F0DEE4;
  border-radius: 20px;
  padding: 28px 24px;
  position: relative;
  transition: transform .25s, box-shadow .25s;
  box-sizing: border-box;
  z-index: 1;
}
.fn-step-card:hover { transform: translateY(-5px); box-shadow: 0 12px 36px rgba(232,99,122,.14); }
/* Step number badge */
.fn-step-num {
  width: 44px; height: 44px;
  background: linear-gradient(135deg,#E8637A,#C94060);
  border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  font-family: 'Playfair Display', serif;
  font-size: 20px; font-weight: 700; color: #fff;
  margin-bottom: 16px;
  box-shadow: 0 4px 14px rgba(232,99,122,.35);
}
.fn-step-emoji { font-size: 32px; display: block; margin-bottom: 10px; }
.fn-step-card h4 { font-size: 16px; font-weight: 700; color: #1E1E2C; margin-bottom: 8px; }
.fn-step-card p { font-size: 13.5px; color: #5A5A72; line-height: 1.7; margin: 0; }
.fn-step-tip {
  display: inline-block; margin-top: 14px;
  background: #FAE8EC; color: #E8637A;
  border-radius: 50px; padding: 4px 12px;
  font-size: 11px; font-weight: 700;
}
 
/* Result banner at bottom */
.fn-result-banner {
  background: linear-gradient(135deg, #1E1E2C 0%, #2d2d42 100%);
  border-radius: 20px;
  padding: 28px 32px;
  margin-top: 28px;
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
  box-shadow: 0 8px 32px rgba(30,30,44,.25);
}
.fn-rb-icon { font-size: 40px; flex-shrink: 0; }
.fn-rb-text h4 {
  font-family: 'Playfair Display', serif;
  color: #fff; font-size: 18px; margin-bottom: 6px; font-weight: 700;
}
.fn-rb-text p { color: rgba(255,255,255,.7); font-size: 13.5px; margin: 0; line-height: 1.6; }
.fn-rb-badge {
  margin-left: auto;
  background: linear-gradient(135deg,#E8637A,#C94060);
  color: #fff; border-radius: 12px;
  padding: 12px 24px; text-align: center;
  font-weight: 700; font-size: 13px;
  box-shadow: 0 4px 16px rgba(232,99,122,.4);
  white-space: nowrap; flex-shrink: 0;
}
 
@media(max-width: 700px) {
  .fn-steps-grid { grid-template-columns: 1fr; gap: 16px; }
  .fn-steps-grid::before, .fn-steps-grid::after { display: none; }
  .fn-result-banner { padding: 22px 20px; }
  .fn-rb-badge { margin-left: 0; width: 100%; text-align: center; }
}
@media(max-width: 480px) {
  .fn-how-section { padding: 40px 16px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-3e88b6c */<!-- ============================================================
     SECTION 5: KEY FEATURES + COMPARISON TABLE
     Face & Neck Massager — Paste into Custom HTML block
============================================================ -->
<style>
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,700;1,400&family=DM+Sans:wght@400;500;600;700&display=swap');
 
.fn-feat-section {
  background: #ffffff;
  padding: 64px 24px;
  font-family: 'DM Sans', sans-serif;
  box-sizing: border-box; width: 100%;
}
.fn-feat-inner { max-width: 1200px; margin: 0 auto; }
.fn-feat-tag {
  display: inline-block; background: #FAE8EC; color: #E8637A;
  border-radius: 50px; padding: 5px 18px; font-size: 11px;
  font-weight: 800; letter-spacing: .1em; text-transform: uppercase; margin-bottom: 14px;
}
.fn-feat-heading {
  font-family: 'Playfair Display', serif;
  font-size: clamp(1.7rem,3.5vw,2.3rem);
  color: #1E1E2C; line-height: 1.2; margin-bottom: 10px; font-weight: 700;
}
.fn-feat-sub { font-size: 15px; color: #5A5A72; max-width: 520px; line-height: 1.7; margin-bottom: 48px; }
 
/* Top: 3-col spec cards */
.fn-spec-cards {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 20px;
  margin-bottom: 48px;
}
.fn-spec-card {
  border: 1.5px solid #F0DEE4;
  border-radius: 18px; padding: 24px 20px;
  background: #FFF8F5; text-align: center;
  transition: transform .2s, box-shadow .2s;
  box-sizing: border-box;
}
.fn-spec-card:hover { transform: translateY(-5px); box-shadow: 0 10px 32px rgba(232,99,122,.13); }
.fn-spec-card .fn-sc-emoji { font-size: 36px; display: block; margin-bottom: 12px; }
.fn-spec-card .fn-sc-val {
  font-family: 'Playfair Display', serif;
  font-size: 2rem; font-weight: 700; color: #E8637A;
  display: block; line-height: 1;
}
.fn-spec-card .fn-sc-unit { font-size: 13px; color: #9898AE; display: block; margin: 4px 0 10px; }
.fn-spec-card h4 { font-size: 14px; font-weight: 700; color: #1E1E2C; margin-bottom: 6px; }
.fn-spec-card p { font-size: 12.5px; color: #5A5A72; line-height: 1.6; margin: 0; }
 
/* Middle: feature list + visual side by side */
.fn-feat-split {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 48px; align-items: center; margin-bottom: 48px;
}
.fn-feat-items { display: flex; flex-direction: column; gap: 16px; }
.fn-feat-row {
  display: flex; align-items: center; gap: 14px;
  padding: 16px 18px;
  background: #FFF8F5; border: 1px solid #F0DEE4;
  border-radius: 14px; transition: transform .2s;
  box-sizing: border-box;
}
.fn-feat-row:hover { transform: translateX(6px); }
.fn-feat-row .fn-fr-icon {
  width: 44px; height: 44px; min-width: 44px;
  background: #FAE8EC; border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  font-size: 20px;
}
.fn-feat-row h4 { font-size: 14px; font-weight: 700; color: #1E1E2C; margin-bottom: 2px; }
.fn-feat-row p { font-size: 12.5px; color: #5A5A72; margin: 0; }
.fn-feat-check { margin-left: auto; color: #3AAA7A; font-size: 18px; flex-shrink: 0; }
 
/* Visual panel */
.fn-feat-visual {
  background: linear-gradient(160deg, #FDF0F2 0%, #FAE8EC 60%, #F0F7FF 100%);
  border-radius: 24px; min-height: 420px;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  text-align: center; padding: 36px 24px;
  box-shadow: 0 16px 48px rgba(232,99,122,.16);
  gap: 16px; position: relative; overflow: hidden;
  box-sizing: border-box;
}
.fn-feat-visual::before {
  content: '';
  position: absolute; width: 300px; height: 300px;
  background: radial-gradient(circle, rgba(232,99,122,.10) 0%, transparent 70%);
  top: 50%; left: 50%; transform: translate(-50%,-50%);
  border-radius: 50%;
}
.fn-fv-emoji { font-size: 80px; position: relative; z-index: 1; }
.fn-fv-title {
  font-family: 'Playfair Display', serif;
  font-size: 20px; color: #1E1E2C; font-weight: 700;
  position: relative; z-index: 1; margin: 0;
}
.fn-fv-desc { font-size: 13.5px; color: #5A5A72; line-height: 1.7; max-width: 260px; position: relative; z-index: 1; margin: 0; }
.fn-fv-btn {
  background: #E8637A; color: #fff;
  border-radius: 50px; padding: 10px 24px;
  font-size: 13px; font-weight: 700;
  position: relative; z-index: 1;
  box-shadow: 0 4px 16px rgba(232,99,122,.4);
  cursor: pointer; border: none;
  font-family: 'DM Sans', sans-serif;
}
 
/* Bottom: comparison table */
.fn-compare-title {
  font-family: 'Playfair Display', serif;
  font-size: 1.6rem; font-weight: 700; color: #1E1E2C;
  margin-bottom: 20px; text-align: center;
}
.fn-compare-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.fn-compare-table {
  width: 100%; border-collapse: collapse;
  font-size: 13.5px; min-width: 500px;
}
.fn-compare-table th {
  padding: 14px 20px; text-align: center;
  font-weight: 700; font-size: 13px;
  letter-spacing: .04em; text-transform: uppercase;
}
.fn-compare-table th:first-child { text-align: left; }
.fn-compare-table th:nth-child(2) {
  background: linear-gradient(135deg,#E8637A,#C94060);
  color: #fff; border-radius: 12px 12px 0 0;
}
.fn-compare-table th:nth-child(3), .fn-compare-table th:nth-child(4) {
  color: #9898AE; background: #FFF8F5;
}
.fn-compare-table td {
  padding: 14px 20px; text-align: center;
  border-bottom: 1px solid #F0DEE4; color: #5A5A72;
}
.fn-compare-table td:first-child { text-align: left; font-weight: 600; color: #1E1E2C; }
.fn-compare-table td:nth-child(2) { background: #FDF0F2; font-weight: 700; color: #E8637A; }
.fn-compare-table tr:hover td { background: #FFF8F5; }
.fn-compare-table tr:hover td:nth-child(2) { background: #FAE8EC; }
.fn-check { color: #3AAA7A; font-size: 16px; }
.fn-cross { color: #ccc; font-size: 16px; }
 
@media(max-width: 860px) {
  .fn-spec-cards { grid-template-columns: repeat(2,1fr); }
  .fn-feat-split { grid-template-columns: 1fr; gap: 28px; }
  .fn-feat-visual { min-height: 280px; }
}
@media(max-width: 480px) {
  .fn-spec-cards { grid-template-columns: 1fr; }
  .fn-feat-section { padding: 40px 16px; }
}/* End custom CSS */