/* === Finow core styles === */
:root{
  --ink:#0d0d0d;
  --muted:#6b6b6f;
  --line:#e9e9ec;
  --surface:#fff;
  --surface-2:#f7f7f8;
  --lav:#f0e9ff;
  --lav-2:#d8c3ff;
  --violet:#8b5cf6;
  --violet-2:#6d4aff;
  --finow-brand:#C2185B;
  --green:#0c9b69;
  --danger:#d83852;
  --warning:#f5a524;
  --shadow:0 18px 45px rgba(16,18,24,.08);
  --shadow-sm:0 8px 24px rgba(16,18,24,.08);
  --r-xs:10px;
  --r-sm:14px;
  --r-md:20px;
  --r-lg:28px;
  --r-xl:38px;
  --pill:999px;
  --container:1320px;
}
*{
  box-sizing:border-box
}
html{
  scroll-behavior:smooth
}
body{
  font-family:'Kalameh','Tahoma','Arial',sans-serif;
  background:#fff;
  color:var(--ink);
  direction:rtl;
  text-align:right;
  line-height:1.65;
  margin:0
}
a{
  color:inherit;
  text-decoration:none
}
img{
  max-width:100%;
  display:block
}
.container-xl{
  max-width:var(--container)
}
.f-num{
  font-variant-numeric:tabular-nums
}
.text-muted{
  color:var(--muted)!important
}
.small-caps{
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.02em
}
.section{
  padding:72px 0
}
.section-sm{
  padding:44px 0
}
.section-title{
  font-size:clamp(1.8rem,3vw,3rem);
  font-weight:800;
  letter-spacing:-.04em;
  line-height:1.25;
  margin:0 0 14px
}
.section-lead{
  font-size:1.08rem;
  color:var(--muted);
  max-width:720px
}
.display-finow{
  font-size:clamp(2.7rem,6vw,5rem);
  font-weight:800;
  letter-spacing:-.055em;
  line-height:1.05
}
.soft{
  background:var(--surface-2)
}
.lavender{
  background:linear-gradient(135deg,#f8f5ff 0%,#eee6ff 52%,#fff 100%)
}
.ink{
  background:#101010;
  color:#fff
}
/* header */
.site-header{
  height:74px;
  background:rgba(255,255,255,.95);
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(20,20,20,.06);
  position:sticky;
  top:0;
  z-index:1020
}
.site-header .inner{
  height:74px;
  display:flex;
  align-items:center;
  gap:24px
}
.brand{
  display:inline-flex;
  align-items:center;
  text-decoration:none;
  line-height:1
}
.brand-logo{
  display:block;
  width:126px;
  height:auto;
  max-height:32px
}
.business-header .brand,.footer .brand{
  background:transparent;
  border-radius:0;
  padding:0
}
.business-header .brand-logo,.footer .brand-logo{
  width:112px
}
.brand-dot{
  display:none
}
.nav-linkish{
  font-size:.93rem;
  font-weight:650;
  padding:10px 12px;
  border-radius:var(--pill);
  transition:.2s
}
.nav-linkish:hover{
  background:#f3f3f4
}
.nav-actions{
  margin-inline-start:auto;
  display:flex;
  gap:8px;
  align-items:center
}
.btn-f{
  border-radius:var(--pill);
  font-weight:750;
  padding:.72rem 1.18rem;
  border:1px solid transparent;
  transition:.2s;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px
}
.btn-f-dark{
  background:#111;
  color:#fff
}
.btn-f-dark:hover{
  background:#2b2b2b;
  color:#fff;
  transform:translateY(-1px)
}
.btn-f-light{
  background:#fff;
  color:#111;
  border-color:#dedee2
}
.btn-f-light:hover{
  background:#f8f8f8
}
.btn-f-purple{
  background:var(--violet-2);
  color:#fff
}
.btn-f-purple:hover{
  background:#5c3ddd;
  color:#fff;
  transform:translateY(-1px)
}
.btn-f-outline{
  background:transparent;
  color:#111;
  border-color:#d9d4dc
}
.btn-f-outline:hover{
  background:#fff;
  color:#111;
  box-shadow:0 12px 24px rgba(27,14,21,.08)
}
.icon-btn{
  width:42px;
  height:42px;
  border-radius:50%;
  border:1px solid var(--line);
  background:#fff;
  display:grid;
  place-items:center;
  transition:.2s
}
.icon-btn:hover{
  background:#f5f5f6
}
.hamburger{
  display:none
}
.dropdown-panel{
  position:absolute;
  top:100%;
  right:0;
  min-width:270px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:10px;
  box-shadow:var(--shadow);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .16s ease,visibility .16s ease;
  z-index:1100
}
.nav-drop{
  position:relative
}
.nav-drop:hover .dropdown-panel,.nav-drop:focus-within .dropdown-panel{
  opacity:1;
  visibility:visible;
  pointer-events:auto
}
.drop-item{
  padding:10px 12px;
  border-radius:12px;
  display:flex;
  gap:12px;
  align-items:center
}
.drop-item:hover{
  background:#f6f6f7
}
.drop-item strong{
  font-size:.92rem
}
.drop-item small{
  display:block;
  color:var(--muted)
}
/* hero search */
.hero{
  padding:86px 0 58px;
  overflow:hidden
}
.hero-sub{
  max-width:760px;
  margin:22px auto 0;
  color:#49494d;
  font-size:1.16rem
}
.search-shell{
  max-width:1120px;
  margin:40px auto 0;
  background:#fff;
  border:1px solid #dedee1;
  border-radius:var(--pill);
  padding:7px;
  display:grid;
  grid-template-columns:1.45fr 1fr 1.18fr 126px;
  box-shadow:0 16px 48px rgba(16,16,20,.09);
  position:relative;
  z-index:30
}
.search-field{
  padding:10px 18px;
  display:flex;
  align-items:center;
  gap:11px;
  min-width:0;
  border-left:1px solid #ececef
}
.search-field:nth-last-child(2){
  border-left:0
}
.search-field input{
  border:0;
  outline:0;
  background:transparent;
  width:100%;
  font-family:inherit;
  font-size:.94rem;
  font-weight:700;
  color:var(--ink);
  text-overflow:ellipsis
}
.search-field input[readonly]{
  cursor:pointer
}
.search-field label{
  display:block;
  font-size:.72rem;
  color:var(--muted);
  line-height:1.2
}
.search-field .value{
  font-weight:700;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis
}
.search-picker{
  position:relative
}
.search-picker:focus-within{
  background:#faf8fc;
  border-radius:20px
}
.search-popover{
  position:absolute;
  top:calc(100% + 18px);
  right:0;
  width:340px;
  max-width:min(560px,calc(100vw - 34px));
  max-height:360px;
  overflow:auto;
  background:#fff;
  border:1px solid #e3dce2;
  border-radius:22px;
  padding:10px;
  box-shadow:0 24px 70px rgba(42,8,27,.18);
  z-index:80;
  text-align:right
}
.search-popover[hidden]{
  display:none!important
}
.search-popover button{
  width:100%;
  border:0;
  background:transparent;
  border-radius:14px;
  padding:11px 13px;
  font-family:inherit;
  text-align:right;
  color:var(--ink);
  transition:.16s
}
.search-popover button:hover,.search-popover button:focus-visible,.search-popover button.is-selected{
  background:#f9edf3;
  color:var(--finow-brand);
  outline:0
}
.service-options button{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px
}
.service-options button strong{
  font-size:.91rem
}
.service-options button small{
  color:#85757d;
  font-size:.75rem;
  white-space:nowrap
}
.province-options{
  width:520px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:2px
}
.province-options button{
  font-size:.86rem
}
.persian-calendar{
  width:360px;
  padding:16px
}
.calendar-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:2px 4px 13px
}
.calendar-head strong{
  font-size:1rem;
  color:var(--finow-brand)
}
.calendar-head span{
  font-size:.72rem;
  color:var(--muted)
}
.calendar-weekdays,.calendar-days{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:4px
}
.calendar-weekdays{
  padding:7px 0;
  color:#83767d;
  font-size:.72rem;
  text-align:center
}
.calendar-days button{
  aspect-ratio:1;
  border-radius:12px;
  padding:0;
  text-align:center;
  font-weight:650
}
.calendar-days .calendar-empty{
  visibility:hidden
}
.calendar-days button.is-today,.calendar-days button.is-selected{
  background:var(--finow-brand);
  color:#fff
}
.persian-calendar .calendar-today{
  margin-top:10px;
  background:#f9edf3;
  color:var(--finow-brand);
  text-align:center;
  font-weight:750
}
.search-go{
  min-width:126px;
  height:54px;
  border-radius:var(--pill);
  border:0;
  background:var(--finow-brand);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  font-family:inherit;
  font-weight:800;
  box-shadow:0 10px 25px rgba(194,24,91,.25);
  transition:.2s
}
.search-go img{
  width:31px;
  height:31px;
  object-fit:contain;
  background:#fff;
  border-radius:50%;
  padding:6px
}
.search-go:hover{
  background:#a5144e;
  transform:translateY(-1px)
}
.hero-bubbles{
  position:absolute;
  inset:0;
  pointer-events:none;
  overflow:hidden
}
.bubble{
  position:absolute;
  border-radius:50%;
  filter:blur(1px);
  opacity:.65
}
.b1{
  width:180px;
  height:180px;
  background:#d8c2ff;
  left:4%;
  top:10%
}
.b2{
  width:280px;
  height:280px;
  background:#ffdedf;
  right:1%;
  top:28%
}
.b3{
  width:140px;
  height:140px;
  background:#d7f6ea;
  left:30%;
  bottom:-40px
}
.quick-chips{
  display:flex;
  gap:9px;
  flex-wrap:wrap;
  justify-content:center;
  margin-top:24px
}
.chip{
  border:1px solid #dddde2;
  background:#fff;
  padding:8px 13px;
  border-radius:var(--pill);
  font-size:.88rem;
  font-weight:650;
  transition:.2s;
  cursor:pointer
}
.chip:hover,.chip.active{
  border-color:#111;
  background:#111;
  color:#fff
}
/* cards */
.h-scroll{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(250px,1fr);
  gap:18px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  padding-bottom:10px
}
.h-scroll::-webkit-scrollbar{
  height:6px
}
.h-scroll::-webkit-scrollbar-thumb{
  background:#ddd;
  border-radius:9px
}
.venue-card{
  scroll-snap-align:start;
  min-width:0
}
.venue-img{
  aspect-ratio:1.28/1;
  overflow:hidden;
  border-radius:20px;
  background:#eee;
  position:relative
}
.venue-img img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .45s ease
}
.venue-card:hover .venue-img img{
  transform:scale(1.035)
}
.heart{
  position:absolute;
  top:12px;
  left:12px;
  background:rgba(255,255,255,.94);
  width:38px;
  height:38px;
  border-radius:50%;
  display:grid;
  place-items:center;
  border:0
}
.badge-top{
  position:absolute;
  top:12px;
  right:12px;
  background:#fff;
  padding:6px 10px;
  border-radius:999px;
  font-size:.75rem;
  font-weight:800
}
.venue-body{
  padding:12px 2px
}
.venue-title{
  font-weight:800;
  font-size:1.02rem;
  margin-bottom:2px
}
.rating{
  display:flex;
  align-items:center;
  gap:5px;
  font-size:.88rem
}
.star{
  color:#111
}
.city-line{
  color:var(--muted);
  font-size:.87rem;
  margin-top:4px
}
.price-line{
  font-weight:700;
  font-size:.9rem;
  margin-top:7px
}
.category-card{
  position:relative;
  overflow:hidden;
  border-radius:24px;
  min-height:270px;
  color:#fff;
  isolation:isolate
}
.category-card img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:-2;
  transition:.45s
}
.category-card:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 35%,rgba(0,0,0,.72));
  z-index:-1
}
.category-card:hover img{
  transform:scale(1.04)
}
.category-card .content{
  position:absolute;
  bottom:20px;
  right:20px;
  left:20px
}
.category-card h3{
  font-size:1.3rem;
  font-weight:800;
  margin:0
}
.glass-card{
  background:rgba(255,255,255,.82);
  backdrop-filter:blur(18px);
  border:1px solid rgba(255,255,255,.8);
  border-radius:28px;
  box-shadow:var(--shadow)
}
/* app / stats */
.app-panel{
  border-radius:34px;
  overflow:hidden;
  background:#101010;
  color:#fff;
  min-height:430px;
  padding:54px;
  position:relative
}
.phone-shot{
  position:absolute;
  left:7%;
  bottom:-85px;
  width:min(380px,35vw);
  filter:drop-shadow(0 28px 60px rgba(0,0,0,.25));
  transform:rotate(-3deg)
}
.qr{
  width:108px;
  height:108px;
  border-radius:16px;
  background:repeating-linear-gradient(45deg,#111 0 5px,#fff 5px 10px);
  border:8px solid #fff
}
.stats-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:22px
}
.stat{
  padding:24px 0
}
.stat strong{
  display:block;
  font-size:clamp(1.9rem,3vw,3.2rem);
  letter-spacing:-.04em
}
.stat span{
  color:var(--muted)
}
.review-card{
  border:1px solid var(--line);
  border-radius:22px;
  padding:26px;
  background:#fff;
  height:100%
}
.review-card .stars{
  letter-spacing:3px
}
.review-avatar{
  width:42px;
  height:42px;
  border-radius:50%;
  object-fit:cover;
  background:#eee
}
.avatar-row{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:20px
}
/* business */
.business-header{
  background:#111;
  color:#fff;
  border-bottom-color:#222
}
.business-header .brand{
  color:#fff
}
.business-header .nav-linkish:hover{
  background:#222
}
.biz-hero{
  position:relative;
  overflow:hidden;
  background:radial-gradient(circle at 14% 20%,#d9ff65 0,transparent 22%),radial-gradient(circle at 85% 20%,#ffc3e5 0,transparent 28%),linear-gradient(135deg,#d4c4ff,#f3efff 48%,#cae8ff);
  min-height:760px;
  padding-top:100px
}
.product-stage{
  max-width:1100px;
  margin:60px auto 0;
  position:relative
}
.desktop-shot{
  width:78%;
  margin:auto;
  border:10px solid #171717;
  border-bottom-width:16px;
  border-radius:24px;
  box-shadow:0 35px 80px rgba(27,20,42,.22)
}
.mobile-shot{
  position:absolute;
  bottom:-8%;
  left:7%;
  width:22%;
  border:7px solid #111;
  border-radius:28px;
  box-shadow:0 25px 60px rgba(0,0,0,.22)
}
.feature-block{
  border-radius:30px;
  padding:38px;
  background:#f6f6f7;
  height:100%;
  overflow:hidden
}
.feature-block.purple{
  background:#efe8ff
}
.feature-block.green{
  background:#e5f7ef
}
.feature-block.peach{
  background:#fff0e7
}
.feature-block h3{
  font-size:1.5rem;
  font-weight:800
}
.feature-icon{
  width:48px;
  height:48px;
  border-radius:14px;
  background:#111;
  color:#fff;
  display:grid;
  place-items:center;
  margin-bottom:20px
}
.mock-ui{
  border-radius:22px;
  border:1px solid #ddd;
  background:#fff;
  padding:18px;
  box-shadow:var(--shadow-sm)
}
.mock-row{
  height:14px;
  background:#eee;
  border-radius:9px;
  margin:12px 0
}
.mock-row.w70{
  width:70%
}
.mock-row.w45{
  width:45%
}
.mock-calendar{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:7px;
  margin-top:20px
}
.mock-calendar span{
  height:70px;
  border-radius:10px;
  background:#f1efff;
  border:1px solid #e1dcff
}
.mock-calendar span:nth-child(3),.mock-calendar span:nth-child(8){
  background:#cab8ff
}
.industry-strip{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:180px;
  gap:12px;
  overflow:auto
}
.industry-pill{
  position:relative;
  height:230px;
  border-radius:22px;
  overflow:hidden
}
.industry-pill img{
  width:100%;
  height:100%;
  object-fit:cover
}
.industry-pill span{
  position:absolute;
  bottom:12px;
  right:12px;
  left:12px;
  background:rgba(255,255,255,.92);
  border-radius:999px;
  text-align:center;
  padding:8px;
  font-weight:800;
  font-size:.84rem
}
.award-row{
  display:flex;
  gap:18px;
  align-items:center;
  overflow:auto
}
.award-row img{
  height:78px;
  width:auto;
  border-radius:10px
}
.faq .accordion-item{
  border:0;
  border-bottom:1px solid var(--line)
}
.faq .accordion-button{
  font-family:inherit;
  font-weight:800;
  background:#fff!important;
  box-shadow:none!important;
  padding:22px 0
}
.faq .accordion-body{
  padding:0 0 22px;
  color:var(--muted)
}
/* search page */
.search-headerbar{
  position:sticky;
  top:74px;
  z-index:1010;
  background:#fff;
  border-bottom:1px solid var(--line);
  padding:12px 0
}
.compact-search{
  display:grid;
  grid-template-columns:1.3fr 1fr .7fr auto;
  gap:8px
}
.compact-field{
  height:48px;
  border:1px solid #ddd;
  border-radius:999px;
  padding:0 16px;
  display:flex;
  align-items:center;
  gap:9px;
  background:#fff
}
.compact-field input{
  border:0;
  outline:0;
  width:100%;
  font:inherit
}
.results-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 44%;
  min-height:calc(100vh - 138px)
}
.results-col{
  padding:28px 34px 80px
}
.map-col{
  position:sticky;
  top:138px;
  height:calc(100vh - 138px);
  background:#ecebe8;
  overflow:hidden
}
.fake-map{
  position:absolute;
  inset:0;
  background-color:#e7e6e1;
  background-image:linear-gradient(29deg,transparent 48%,#fff 49%,#fff 51%,transparent 52%),linear-gradient(-30deg,transparent 48%,#fff 49%,#fff 51%,transparent 52%);
  background-size:110px 85px
}
.osm-map-frame{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  display:block;
  background:#ecebe8
}
.map-pin{
  position:absolute;
  width:42px;
  height:34px;
  background:#111;
  color:#fff;
  border-radius:999px 999px 999px 8px;
  display:grid;
  place-items:center;
  font-size:.78rem;
  font-weight:800;
  box-shadow:0 5px 15px rgba(0,0,0,.25)
}
.filter-row{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin:16px 0 22px
}
.filter-btn{
  border:1px solid #d9d9de;
  background:#fff;
  border-radius:999px;
  padding:8px 13px;
  font:inherit;
  font-size:.86rem;
  font-weight:700
}
.filter-btn:hover,.filter-btn.active{
  background:#111;
  color:#fff;
  border-color:#111
}
.result-card{
  display:grid;
  grid-template-columns:220px 1fr;
  gap:18px;
  padding:18px 0;
  border-bottom:1px solid var(--line)
}
.result-card .venue-img{
  aspect-ratio:1.25/1
}
.service-mini{
  display:flex;
  justify-content:space-between;
  gap:12px;
  border-top:1px solid #eee;
  padding-top:9px;
  margin-top:9px;
  font-size:.86rem
}
.service-mini strong{
  white-space:nowrap
}
.map-toggle{
  display:none;
  position:fixed;
  bottom:24px;
  left:50%;
  transform:translateX(-50%);
  z-index:1050
}
/* venue */
.gallery{
  display:grid;
  grid-template-columns:2fr 1fr;
  grid-template-rows:260px 260px;
  gap:8px;
  border-radius:26px;
  overflow:hidden
}
.gallery .hero-image{
  grid-row:1/3
}
.gallery img{
  width:100%;
  height:100%;
  object-fit:cover
}
.venue-summary{
  display:grid;
  grid-template-columns:minmax(0,1fr) 360px;
  gap:48px
}
.sticky-book{
  position:sticky;
  top:96px;
  border:1px solid var(--line);
  border-radius:24px;
  padding:22px;
  box-shadow:var(--shadow-sm);
  height:max-content
}
.tabs-line{
  display:flex;
  gap:18px;
  border-bottom:1px solid var(--line);
  position:sticky;
  top:74px;
  background:#fff;
  z-index:100;
  padding-top:10px
}
.tabs-line a{
  padding:14px 2px;
  border-bottom:2px solid transparent;
  font-weight:750
}
.tabs-line a:hover,.tabs-line a.active{
  border-color:#111
}
.service-group{
  border-bottom:1px solid var(--line);
  padding:22px 0
}
.service-item{
  display:grid;
  grid-template-columns:1fr auto auto;
  gap:14px;
  align-items:center;
  padding:14px 0
}
.service-item + .service-item{
  border-top:1px solid #f0f0f0
}
.service-item button{
  white-space:nowrap
}
.team-row{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px
}
.team-card{
  border:1px solid var(--line);
  border-radius:20px;
  padding:20px;
  text-align:center
}
.team-card img{
  width:96px;
  height:96px;
  border-radius:50%;
  object-fit:cover;
  margin:0 auto 12px
}
.review-score{
  font-size:4rem;
  font-weight:800;
  letter-spacing:-.06em
}
/* booking */
.booking-shell{
  max-width:1120px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr 340px;
  gap:34px
}
.stepper{
  display:flex;
  gap:8px;
  margin-bottom:26px
}
.step{
  height:5px;
  flex:1;
  background:#e5e5e8;
  border-radius:9px
}
.step.done,.step.current{
  background:#111
}
.booking-card{
  border:1px solid var(--line);
  border-radius:24px;
  padding:26px
}
.professional-list{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px
}
.pro-choice{
  border:1px solid var(--line);
  border-radius:18px;
  padding:16px;
  text-align:center;
  cursor:pointer
}
.pro-choice.selected{
  border-color:#111;
  box-shadow:inset 0 0 0 1px #111
}
.pro-choice img{
  width:72px;
  height:72px;
  border-radius:50%;
  object-fit:cover;
  margin:0 auto 8px
}
.calendar-box{
  border:1px solid var(--line);
  border-radius:20px;
  padding:18px
}
.cal-grid{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:8px
}
.cal-grid button{
  aspect-ratio:1;
  border:0;
  background:#f5f5f6;
  border-radius:50%;
  font:inherit
}
.cal-grid button.active{
  background:#111;
  color:#fff
}
.time-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:9px;
  margin-top:18px
}
.time-grid button{
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  padding:10px
}
.time-grid button.active{
  background:#111;
  color:#fff
}
.summary-box{
  position:sticky;
  top:98px;
  border:1px solid var(--line);
  border-radius:24px;
  padding:20px;
  height:max-content
}
/* pricing / blog / help */
.pricing-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px
}
.price-card{
  border:1px solid var(--line);
  border-radius:28px;
  padding:30px;
  background:#fff
}
.price-card.featured{
  background:#111;
  color:#fff;
  transform:translateY(-8px)
}
.price{
  font-size:2.8rem;
  font-weight:850;
  letter-spacing:-.05em
}
.check-list{
  list-style:none;
  padding:0;
  margin:22px 0
}
.check-list li{
  padding:7px 0;
  display:flex;
  gap:8px
}
.check-list li:before{
  content:'✓';
  font-weight:900
}
.blog-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px
}
.article-card img{
  aspect-ratio:1.55/1;
  object-fit:cover;
  border-radius:22px
}
.article-card h3{
  font-size:1.2rem;
  font-weight:800;
  margin-top:12px
}
.help-search{
  max-width:760px;
  margin:30px auto 0;
  background:#fff;
  border-radius:999px;
  border:1px solid #ddd;
  padding:8px;
  display:flex;
  gap:8px
}
.help-search input{
  flex:1;
  border:0;
  outline:0;
  padding:0 14px;
  font:inherit
}
.knowledge-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px
}
.knowledge-card{
  border:1px solid var(--line);
  border-radius:22px;
  padding:22px;
  transition:.2s
}
.knowledge-card:hover{
  box-shadow:var(--shadow-sm);
  transform:translateY(-2px)
}
/* forms/footer */
.form-control,.form-select{
  font-family:inherit;
  border-radius:14px;
  padding:.8rem .95rem;
  border-color:#dcdce0
}
.form-control:focus,.form-select:focus{
  border-color:#111;
  box-shadow:0 0 0 .2rem rgba(0,0,0,.08)
}
.form-label{
  font-weight:750
}
.footer{
  background:#111;
  color:#fff;
  padding:64px 0 26px
}
.footer-grid{
  display:grid;
  grid-template-columns:1.3fr repeat(4,1fr);
  gap:28px
}
.footer h6{
  font-weight:800;
  margin-bottom:14px
}
.footer a{
  display:block;
  color:#c8c8ca;
  font-size:.9rem;
  padding:4px 0
}
.footer a:hover{
  color:#fff
}
.footer-bottom{
  border-top:1px solid #2d2d2f;
  margin-top:40px;
  padding-top:22px;
  color:#9e9ea2;
  font-size:.84rem;
  display:flex;
  justify-content:space-between;
  gap:12px
}
.mobile-bottom{
  display:none
}
.toast-f{
  position:fixed;
  bottom:24px;
  right:24px;
  z-index:2000;
  background:#111;
  color:#fff;
  border-radius:16px;
  padding:13px 18px;
  box-shadow:var(--shadow);
  opacity:0;
  transform:translateY(14px);
  pointer-events:none;
  transition:.25s
}
.toast-f.show{
  opacity:1;
  transform:translateY(0)
}
@media(max-width:991.98px){
  .site-header{
    height:66px
  }
  .site-header .inner{
    height:66px
  }
  .desktop-nav,.nav-actions .hide-tablet{
    display:none!important
  }
  .hamburger{
    display:grid
  }
  .hero{
    padding:58px 0 42px
  }
  .search-shell{
    grid-template-columns:1fr;
    border-radius:26px;
    padding:10px;
    gap:5px;
    max-width:680px
  }
  .search-field{
    border-left:0;
    border-bottom:1px solid #eee;
    padding:10px 12px
  }
  .search-field:nth-last-child(2){
    border-bottom:0
  }
  .search-go{
    width:100%;
    height:48px;
    border-radius:999px
  }
  .h-scroll{
    grid-auto-columns:minmax(235px,42vw)
  }
  .stats-grid{
    grid-template-columns:repeat(2,1fr)
  }
  .app-panel{
    padding:38px;
    min-height:520px
  }
  .phone-shot{
    width:44%;
    left:3%
  }
  .results-layout{
    grid-template-columns:1fr
  }
  .map-col{
    display:none;
    position:fixed;
    inset:132px 0 0;
    height:auto;
    z-index:1040
  }
  .map-col.show{
    display:block
  }
  .map-toggle{
    display:inline-flex
  }
  .results-col{
    padding:22px 22px 90px
  }
  .venue-summary{
    grid-template-columns:1fr
  }
  .sticky-book{
    position:relative;
    top:auto
  }
  .gallery{
    grid-template-rows:210px 210px
  }
  .booking-shell{
    grid-template-columns:1fr
  }
  .summary-box{
    position:relative;
    top:auto
  }
  .pricing-grid,.blog-grid,.knowledge-grid{
    grid-template-columns:repeat(2,1fr)
  }
  .team-row{
    grid-template-columns:repeat(2,1fr)
  }
  .footer-grid{
    grid-template-columns:repeat(2,1fr)
  }
  .footer-grid>div:first-child{
    grid-column:1/3
  }
  .desktop-shot{
    width:92%
  }
  .mobile-shot{
    width:28%
  }
}
@media(max-width:767.98px){
  body{
    padding-bottom:68px
  }
  .section{
    padding:48px 0
  }
  .section-sm{
    padding:32px 0
  }
  .display-finow{
    font-size:2.8rem
  }
  .brand-logo{
    width:112px;
    max-height:28px
  }
  .nav-actions{
    gap:4px
  }
  .nav-actions .btn-f-light{
    display:none
  }
  .hero{
    text-align:center
  }
  .hero-sub{
    font-size:1rem
  }
  .quick-chips{
    justify-content:flex-start;
    overflow-x:auto;
    flex-wrap:nowrap;
    padding-bottom:6px
  }
  .quick-chips .chip{
    white-space:nowrap
  }
  .h-scroll{
    grid-auto-columns:78vw
  }
  .category-card{
    min-height:225px
  }
  .stats-grid{
    grid-template-columns:1fr 1fr;
    gap:14px
  }
  .stat strong{
    font-size:1.8rem
  }
  .app-panel{
    padding:28px 22px;
    min-height:600px
  }
  .phone-shot{
    position:absolute;
    width:74%;
    left:13%;
    bottom:-100px
  }
  .qr{
    display:none
  }
  .business-header .desktop-nav{
    display:none
  }
  .biz-hero{
    min-height:660px;
    padding-top:58px
  }
  .product-stage{
    margin-top:38px
  }
  .desktop-shot{
    width:100%;
    border-width:5px;
    border-radius:14px
  }
  .mobile-shot{
    width:34%;
    border-width:4px;
    border-radius:18px;
    left:2%
  }
  .feature-block{
    padding:26px
  }
  .industry-strip{
    grid-auto-columns:155px
  }
  .industry-pill{
    height:205px
  }
  .search-headerbar{
    top:66px
  }
  .compact-search{
    grid-template-columns:1fr auto
  }
  .compact-search .compact-field:nth-child(2),.compact-search .compact-field:nth-child(3){
    display:none
  }
  .results-col{
    padding:18px 16px 88px
  }
  .result-card{
    grid-template-columns:125px 1fr;
    gap:12px
  }
  .result-card .service-mini{
    display:none
  }
  .map-col{
    top:126px
  }
  .gallery{
    grid-template-columns:1fr;
    grid-template-rows:260px
  }
  .gallery .hero-image{
    grid-row:auto
  }
  .gallery img:not(.hero-image){
    display:none
  }
  .tabs-line{
    top:66px;
    overflow-x:auto;
    white-space:nowrap
  }
  .service-item{
    grid-template-columns:1fr auto
  }
  .service-item .duration{
    display:none
  }
  .team-row{
    grid-template-columns:1fr 1fr
  }
  .booking-card{
    padding:18px
  }
  .professional-list{
    grid-template-columns:1fr 1fr
  }
  .time-grid{
    grid-template-columns:repeat(3,1fr)
  }
  .pricing-grid,.blog-grid,.knowledge-grid{
    grid-template-columns:1fr
  }
  .price-card.featured{
    transform:none
  }
  .footer{
    padding:48px 0 16px
  }
  .footer-grid{
    grid-template-columns:1fr 1fr;
    gap:20px
  }
  .footer-grid>div:first-child{
    grid-column:1/3
  }
  .footer-bottom{
    flex-direction:column
  }
  .mobile-bottom{
    position:fixed;
    z-index:1080;
    bottom:0;
    right:0;
    left:0;
    height:66px;
    background:#fff;
    border-top:1px solid var(--line);
    display:grid;
    grid-template-columns:repeat(4,1fr);
    align-items:center;
    text-align:center;
    padding-bottom:env(safe-area-inset-bottom)
  }
  .mobile-bottom a{
    font-size:.71rem;
    color:#666
  }
  .mobile-bottom svg{
    display:block;
    margin:0 auto 1px
  }
  .mobile-bottom a.active{
    color:#111;
    font-weight:800
  }
  .toast-f{
    right:14px;
    left:14px;
    bottom:82px
  }
  .review-score{
    font-size:3.3rem
  }
}
/* Detail pages & interactive forms */
.content-prose{
  max-width:820px;
  margin-inline:auto;
  font-size:1.05rem;
  line-height:2;
  color:#252525
}
.content-prose h2{
  font-size:clamp(1.45rem,2.2vw,2rem);
  font-weight:800;
  margin:2.4rem 0 1rem
}
.content-prose h3{
  font-size:1.2rem;
  font-weight:800;
  margin:1.8rem 0 .8rem
}
.content-prose p{
  margin-bottom:1.2rem
}
.content-prose ul{
  padding-right:1.25rem
}
.content-prose li{
  margin-bottom:.55rem
}
.article-cover{
  width:100%;
  aspect-ratio:16/7;
  object-fit:cover;
  border-radius:28px
}
.article-meta{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  align-items:center;
  color:var(--muted);
  font-size:.9rem
}
.callout{
  border-radius:22px;
  padding:24px;
  background:#f6f6f6;
  border:1px solid #ececec
}
.job-shell{
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  gap:42px;
  align-items:start
}
.job-facts{
  position:sticky;
  top:100px;
  border:1px solid var(--line);
  border-radius:24px;
  padding:24px
}
.support-form .form-control,.support-form .form-select{
  min-height:52px;
  border-radius:14px
}
.support-form textarea.form-control{
  min-height:130px
}
.search-empty{
  display:none;
  border:1px dashed #cfcfcf;
  border-radius:20px;
  padding:32px;
  text-align:center;
  color:var(--muted);
  margin-top:24px
}
.modal-content.soft-modal{
  border:0;
  border-radius:28px;
  overflow:hidden
}
.modal-visual{
  background:linear-gradient(135deg,#f0e8ff,#dff8f0);
  padding:24px
}
.payment-total{
  font-size:1.3rem;
  font-weight:800
}
.filter-value{
  font-weight:800
}
.article-nav{
  display:flex;
  justify-content:space-between;
  gap:16px;
  border-top:1px solid var(--line);
  margin-top:48px;
  padding-top:24px
}
.video-stage{
  aspect-ratio:16/9;
  border-radius:22px;
  background:linear-gradient(135deg,#e8dcff,#dff6ed);
  display:grid;
  place-items:center;
  overflow:hidden;
  position:relative
}
.video-stage img{
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.75
}
.video-play{
  position:absolute;
  width:72px;
  height:72px;
  border:0;
  border-radius:50%;
  background:#111;
  color:#fff;
  font-size:25px;
  display:grid;
  place-items:center
}
.help-search-results .knowledge-card[hidden]{
  display:none!important
}
@media(max-width:991.98px){
  .job-shell{
    grid-template-columns:1fr
  }
  .job-facts{
    position:static
  }
  .content-prose{
    font-size:1rem
  }
  .article-cover{
    border-radius:20px;
    aspect-ratio:4/3
  }
}
/* Home hero: credit-first Finow messaging */
.hero-credit-title{
  font-size:clamp(2.05rem,3.18vw,2.85rem);
  line-height:1.2;
  letter-spacing:-.045em;
  white-space:nowrap;
  margin-inline:auto;
}
.hero-title-part{
  display:inline
}
.hero-rotate-wrap{
  display:inline-grid;
  min-width:4.2em;
  justify-items:center;
  color:var(--finow-brand);
  vertical-align:baseline;
}
.hero-rotate-word{
  grid-area:1/1;
  display:inline-block;
  color:var(--finow-brand);
  transition:opacity .42s ease,transform .42s ease,filter .42s ease;
  will-change:opacity,transform,filter;
}
.hero-rotate-word.is-fading{
  opacity:0;
  transform:translateY(7px);
  filter:blur(3px);
}
.payment-providers{
  max-width:760px;
  margin:42px auto 0;
  display:grid;
  grid-template-columns:repeat(8,minmax(64px,1fr));
  gap:4px;
  align-items:start;
}
.payment-provider{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:5px;
  font-size:.78rem;
  font-weight:750;
  color:#343438;
  min-width:0;
}
.payment-provider-logo{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  transition:transform .22s ease;
}
.payment-provider-logo img{
  width:44px;
  height:44px;
  object-fit:contain
}
.payment-provider:hover .payment-provider-logo{
  transform:translateY(-3px)
}
@media(max-width:1199.98px){
  .hero-credit-title{
    font-size:clamp(1.82rem,3.7vw,2.35rem);
    white-space:normal
  }
  .hero-credit-title .hero-title-part{
    display:block;
    white-space:nowrap
  }
  .payment-providers{
    grid-template-columns:repeat(4,minmax(72px,1fr));
    max-width:500px;
    gap:10px 4px;
    margin-top:38px
  }
}
@media(max-width:767.98px){
  .hero-credit-title{
    font-size:clamp(1.16rem,5.2vw,1.45rem);
    line-height:1.42;
    letter-spacing:-.025em
  }
  .hero-credit-title .hero-title-part{
    display:block;
    white-space:nowrap
  }
  .hero-rotate-wrap{
    min-width:4.35em
  }
  .hero-sub{
    max-width:92%;
    line-height:1.9
  }
  .payment-providers{
    grid-template-columns:repeat(4,1fr);
    gap:10px 3px;
    margin-top:34px
  }
  .payment-provider{
    font-size:.72rem;
    gap:4px
  }
  .payment-provider-logo{
    width:50px;
    height:50px;
    border-radius:0
  }
  .payment-provider-logo img{
    width:38px;
    height:38px
  }
}
@media(max-width:374px){
  .hero-credit-title{
    font-size:1.08rem
  }
  .payment-provider-logo{
    width:46px;
    height:46px
  }
  .payment-provider-logo img{
    width:35px;
    height:35px
  }
}
/* Finow unified hero background — vanilla implementation of VibeFarsi Spotlight */
.hero.has-spotlight,.biz-hero.has-spotlight{
  --spot-x:50%;
  --spot-y:40%;
  --spot-radius:280px;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:#fff;
}
.hero.has-spotlight.lavender,.hero.has-spotlight.soft,.biz-hero.has-spotlight{
  background:linear-gradient(135deg,#fff 0%,#fff8fb 48%,#fff 100%);
}
.hero.has-spotlight.ink{
  background:#101010
}
.spotlight-bg{
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:auto;
  background:radial-gradient(var(--spot-radius) circle at var(--spot-x) var(--spot-y),rgba(194,24,91,.14),transparent 70%)
}
.spotlight-grid{
  position:absolute;
  inset:0;
  opacity:.75;
  background-image:linear-gradient(to right,rgba(13,13,13,.07) 1px,transparent 1px),linear-gradient(to bottom,rgba(13,13,13,.07) 1px,transparent 1px);
  background-size:40px 40px;
  -webkit-mask-image:radial-gradient(var(--spot-radius) circle at var(--spot-x) var(--spot-y),#000,transparent);
  mask-image:radial-gradient(var(--spot-radius) circle at var(--spot-x) var(--spot-y),#000,transparent)
}
.hero.has-spotlight.ink .spotlight-bg{
  background:radial-gradient(var(--spot-radius) circle at var(--spot-x) var(--spot-y),rgba(194,24,91,.28),transparent 70%)
}
.hero.has-spotlight.ink .spotlight-grid{
  background-image:linear-gradient(to right,rgba(255,255,255,.09) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.09) 1px,transparent 1px)
}
.hero.has-spotlight>*:not(.spotlight-bg),.biz-hero.has-spotlight>*:not(.spotlight-bg):not(.biz-hero-bg){
  position:relative;
  z-index:2;
  padding-top: 50px;
}
/* Store / supplier pages */
.commerce-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px
}
.commerce-card{
  border:1px solid var(--line);
  border-radius:24px;
  padding:18px;
  background:#fff;
  height:100%;
  transition:transform .2s ease,box-shadow .2s ease
}
.commerce-card:hover{
  transform:translateY(-3px);
  box-shadow:var(--shadow-sm)
}
.commerce-card .commerce-visual{
  aspect-ratio:1.15/1;
  border-radius:18px;
  background:linear-gradient(135deg,#fff1f7,#f5efff);
  display:grid;
  place-items:center;
  font-size:3rem;
  margin-bottom:16px;
  overflow:hidden
}
.commerce-card h3{
  font-size:1.08rem;
  font-weight:800;
  margin-bottom:5px
}
.commerce-card p{
  font-size:.9rem;
  color:var(--muted);
  margin-bottom:0
}
.supplier-row{
  display:grid;
  grid-template-columns:72px minmax(0,1fr) auto;
  gap:16px;
  align-items:center;
  border:1px solid var(--line);
  border-radius:22px;
  padding:18px;
  background:#fff
}
.supplier-mark{
  width:72px;
  height:72px;
  border-radius:18px;
  background:#f7f2f5;
  display:grid;
  place-items:center;
  font-weight:850;
  color:var(--finow-brand)
}
@media(max-width:991.98px){
  .commerce-grid{
    grid-template-columns:repeat(2,1fr)
  }
  .spotlight-bg{
    --spot-radius:240px
  }
}
@media(max-width:575.98px){
  .commerce-grid{
    grid-template-columns:1fr 1fr;
    gap:10px
  }
  .commerce-card{
    padding:12px;
    border-radius:18px
  }
  .supplier-row{
    grid-template-columns:56px 1fr
  }
  .supplier-mark{
    width:56px;
    height:56px
  }
  .supplier-row .btn-f{
    grid-column:1/3;
    width:100%
  }
  .spotlight-bg{
    --spot-radius:210px
  }
}
@media(prefers-reduced-motion:reduce){
  .hero-rotate-word{
    transition:none
  }
  .commerce-card{
    transition:none
  }
}
.hero.has-spotlight .hero-bubbles{
  display:none
}
/* Fresha-inspired consumer homepage discovery sections */
.fresha-list-section{
  background:#fff;
  padding-top:58px;
  padding-bottom:34px
}
.fresha-section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-bottom:22px
}
.fresha-section-title{
  font-size:clamp(1.65rem,2.5vw,2rem);
  font-weight:820;
  letter-spacing:-.035em;
  line-height:1.2;
  margin:0
}
.carousel-actions{
  display:flex;
  gap:8px;
  direction:ltr
}
.carousel-arrow{
  width:44px;
  height:44px;
  border-radius:50%;
  border:1px solid #dedee2;
  background:#fff;
  color:#111;
  display:grid;
  place-items:center;
  font-size:1.65rem;
  line-height:1;
  transition:.18s ease
}
.carousel-arrow:hover{
  background:#111;
  color:#fff;
  border-color:#111;
  transform:translateY(-1px)
}
.fresha-carousel{
  display:flex;
  gap:18px;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  padding:0 0 10px;
  direction:rtl
}
.fresha-carousel::-webkit-scrollbar{
  display:none
}
.fresha-card{
  flex:0 0 272px;
  scroll-snap-align:start;
  direction:rtl;
  min-width:0
}
.fresha-card>a{
  display:block
}
.fresha-card-media{
  height:204px;
  border-radius:16px;
  overflow:hidden;
  position:relative;
  background:#eee
}
.fresha-card-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .35s ease
}
.fresha-card:hover .fresha-card-media img{
  transform:scale(1.028)
}
.fresha-card .heart{
  top:10px;
  left:10px;
  width:36px;
  height:36px
}
.fresha-card-body{
  padding:11px 1px 0
}
.fresha-card-title{
  font-size:1rem;
  font-weight:800;
  line-height:1.35;
  margin-bottom:4px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis
}
.fresha-card-rating{
  display:flex;
  align-items:center;
  gap:4px;
  font-size:.88rem;
  line-height:1.4
}
.fresha-card-location,.fresha-card-meta{
  color:#6a6a6d;
  font-size:.86rem;
  line-height:1.55;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis
}
.fresha-card-meta{
  display:flex;
  align-items:center;
  gap:6px
}
.fresha-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:7px;
  font-size:.77rem;
  font-weight:760
}
.fresha-badge .badge-symbol{
  font-size:.65rem
}
.fresha-badge.purple{
  color:#7b51c8
}
.fresha-badge.gold{
  color:#a46f00
}
.fresha-badge.dark{
  color:#4c4c50
}
/* Browse by city / province, adapted from Fresha homepage */
.browse-city-section{
  background:#fff;
  padding-top:58px;
  padding-bottom:74px;
  overflow:hidden
}
.province-scroller-shell{
  position:relative;
  margin-bottom:28px
}
.province-scroller{
  display:flex;
  gap:10px;
  overflow-x:auto;
  scrollbar-width:none;
  padding:1px 48px 6px 0;
  white-space:nowrap;
  scroll-behavior:smooth
}
.province-scroller::-webkit-scrollbar{
  display:none
}
.province-pill{
  flex:0 0 auto;
  border:1px solid #e0e0e3;
  border-radius:999px;
  padding:9px 18px;
  background:#fff;
  color:#151515;
  font-size:.92rem;
  font-weight:650
}
.province-pill.active{
  background:#111;
  color:#fff;
  border-color:#111
}
.province-scroll-btn{
  position:absolute;
  top:50%;
  transform:translateY(-54%);
  z-index:4;
  width:48px;
  height:48px;
  border-radius:50%;
  border:1px solid #ddd;
  background:#fff;
  box-shadow:0 4px 14px rgba(0,0,0,.06);
  display:grid;
  place-items:center;
  font-size:1.7rem;
  line-height:1
}
.province-prev{
  right:0
}
.province-next{
  left:0
}
.city-columns{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:34px;
  margin-top:10px
}
.city-column h3{
  font-size:1.02rem;
  font-weight:820;
  margin:0 0 12px
}
.city-service{
  font-size:.92rem;
  color:#151515;
  padding:4px 0;
  line-height:1.8
}
.category-strip{
  display:flex;
  gap:10px;
  overflow-x:auto;
  scrollbar-width:none;
  margin-top:72px;
  padding-bottom:4px;
  white-space:nowrap
}
.category-strip::-webkit-scrollbar{
  display:none
}
.category-pill-static{
  flex:0 0 auto;
  border:1px solid #dedee2;
  border-radius:999px;
  padding:8px 17px;
  font-size:.87rem;
  font-weight:650;
  background:#fff;
  color:#1b1b1d
}
/* Footer app store links: customer pages and business pages use different destinations */
.footer-app-download{
  margin-top:22px
}
.footer-app-label{
  font-size:.82rem;
  font-weight:780;
  color:#fff;
  margin-bottom:9px
}
.store-links{
  display:flex;
  gap:8px;
  flex-wrap:wrap
}
.footer .store-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 10px;
  border:1px solid #3b3b3e;
  border-radius:12px;
  background:#19191b;
  color:#fff;
  min-width:132px;
  line-height:1.08
}
.footer .store-link:hover{
  background:#232326;
  border-color:#505055;
  color:#fff
}
.store-link small{
  display:block;
  color:#a8a8ad;
  font-size:.62rem;
  margin-bottom:2px
}
.store-link>span:last-child{
  font-size:.78rem;
  font-weight:760;
  direction:ltr;
  text-align:left
}
.store-icon{
  width:23px;
  height:23px;
  border-radius:7px;
  background:#fff;
  color:#111;
  display:grid;
  place-items:center;
  font-size:.7rem;
  flex:0 0 23px
}
.store-icon.play{
  font-size:.62rem
}
@media(max-width:1199.98px){
  .fresha-card{
    flex-basis:250px
  }
  .fresha-card-media{
    height:188px
  }
  .city-columns{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:28px 34px
  }
}
@media(max-width:767.98px){
  .fresha-list-section{
    padding-top:42px;
    padding-bottom:20px
  }
  .fresha-section-head{
    margin-bottom:17px
  }
  .fresha-section-title{
    font-size:1.5rem
  }
  .carousel-arrow{
    width:40px;
    height:40px;
    font-size:1.45rem
  }
  .fresha-card{
    flex-basis:76vw;
    max-width:285px
  }
  .fresha-card-media{
    height:190px;
    border-radius:15px
  }
  .browse-city-section{
    padding-top:46px;
    padding-bottom:56px
  }
  .province-scroller{
    padding-right:0;
    padding-left:0
  }
  .province-scroll-btn{
    display:none
  }
  .city-columns{
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    gap:26px
  }
  .city-columns::-webkit-scrollbar{
    display:none
  }
  .city-column{
    flex:0 0 72vw;
    max-width:280px;
    scroll-snap-align:start
  }
  .category-strip{
    margin-top:48px
  }
  .store-links{
    flex-direction:column;
    align-items:flex-start
  }
  .footer .store-link{
    min-width:148px
  }
}
/* =========================================================
   Business page — Fresha /for-business structure recreation
   Footer rules intentionally untouched.
   ========================================================= */
.biz-fresha-hero{
  min-height:860px;
  padding:92px 0 0;
  background:#f0edff;
  isolation:isolate
}
.biz-hero-bg{
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none
}
.biz-hero-bg img{
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.96
}
.biz-fresha-hero .spotlight-bg{
  z-index:1;
  opacity:.55
}
.biz-fresha-hero .container-xl{
  z-index:2
}
.biz-hero-copy{
  max-width:980px
}
.biz-kicker,.biz-eyebrow{
  font-size:.78rem;
  font-weight:850;
  letter-spacing:.02em;
  color:#5d44d7;
  margin-bottom:10px
}
.biz-fresha-hero .display-finow{
  font-size:clamp(3rem,5.6vw,5.7rem);
  line-height:1.03;
  letter-spacing:-.045em;
  max-width:1180px;
  margin-inline:auto
}
.biz-fresha-hero .hero-sub{
  max-width:760px;
  font-size:1.15rem;
  line-height:1.9;
  color:#2c2c31
}
.product-stage-fresha{
  margin-top:54px;
  max-width:1180px
}
.product-stage-fresha .desktop-shot{
  border-width:8px;
  border-bottom-width:14px;
  border-radius:22px;
  width:82%
}
.product-stage-fresha .mobile-shot{
  width:21%;
  left:8%;
  bottom:-6%
}
.biz-metrics-section{
  padding-top:86px;
  padding-bottom:70px;
  text-align:center
}
.biz-metrics-section .stats-grid-biz .stat{
  text-align:center
}
.stats-grid-biz .stat:last-child{
  border-left:0
}
.stats-grid-biz .stat strong{
  font-size:clamp(2rem,3vw,3.2rem)
}
.biz-section-head{
  max-width:820px
}
.biz-possibilities{
  padding-top:86px
}
.biz-type-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px
}
.biz-type-card{
  position:relative;
  display:block;
  min-height:290px;
  border-radius:24px;
  overflow:hidden;
  background:#eee;
  text-decoration:none;
  color:#111
}
.biz-type-card img{
  width:100%;
  height:100%;
  position:absolute;
  inset:0;
  object-fit:cover;
  transition:transform .45s ease
}
.biz-type-card::after{
  content:"";
  position:absolute;
  inset:40% 0 0;
  background:linear-gradient(transparent,rgba(0,0,0,.72))
}
.biz-type-card span{
  position:absolute;
  z-index:2;
  right:18px;
  left:18px;
  bottom:18px;
  color:#fff;
  font-size:1.08rem;
  font-weight:850;
  text-shadow:0 1px 10px rgba(0,0,0,.35)
}
.biz-type-card:hover img{
  transform:scale(1.035)
}
.biz-type-grid-primary .biz-type-card:nth-child(1),.biz-type-grid-primary .biz-type-card:nth-child(6){
  grid-column:span 2
}
.biz-awards-section{
  padding:24px 0 84px
}
.award-row-biz{
  justify-content:center;
  flex-wrap:wrap;
  overflow:visible;
  gap:28px
}
.award-row-biz img{
  height:70px;
  filter:saturate(.9);
  background:#fff
}
.biz-operating-section{
  padding-top:90px;
  padding-bottom:90px
}
.biz-feature-panel{
  border-radius:30px;
  padding:32px 28px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  min-height:610px;
  border:1px solid rgba(17,17,17,.04)
}
.biz-feature-panel.tone-lilac{
  background:#eee9ff
}
.biz-feature-panel.tone-mint{
  background:#e7f7f2
}
.biz-feature-panel.tone-sand{
  background:#fff0e1
}
.biz-feature-panel h3{
  font-size:1.5rem;
  font-weight:850;
  margin:18px 0 8px
}
.biz-feature-panel p{
  color:#555;
  line-height:1.85
}
.biz-feature-icon{
  width:52px;
  height:52px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#111;
  color:#fff;
  font-weight:850;
  font-size:.8rem
}
.biz-feature-shot{
  margin-top:auto;
  width:100%;
  max-height:365px;
  object-fit:contain;
  object-position:center bottom;
  filter:drop-shadow(0 24px 34px rgba(16,20,30,.14))
}
.biz-mini-dashboard{
  margin-top:auto;
  background:#fff;
  border-radius:24px;
  padding:20px;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  align-items:end;
  gap:9px;
  height:300px;
  box-shadow:0 20px 50px rgba(25,21,15,.08)
}
.biz-mini-dashboard div{
  grid-column:span 5;
  display:flex;
  justify-content:space-between;
  padding:6px 0;
  border-bottom:1px solid #eee
}
.biz-mini-dashboard div strong{
  font-size:1.1rem
}
.biz-mini-dashboard i{
  display:block;
  border-radius:9px 9px 4px 4px;
  background:linear-gradient(#f0a55e,#f7d6b7);
  min-height:30px
}
.biz-marketplace-section,.biz-payments-section{
  padding-top:100px;
  padding-bottom:100px
}
.biz-bullet-list{
  list-style:none;
  padding:0;
  margin:24px 0 0;
  display:grid;
  gap:12px
}
.biz-bullet-list li{
  position:relative;
  padding-right:28px;
  color:#343439;
  line-height:1.8
}
.biz-bullet-list li::before{
  content:"✓";
  position:absolute;
  right:0;
  top:1px;
  width:20px;
  height:20px;
  border-radius:50%;
  background:#111;
  color:#fff;
  display:grid;
  place-items:center;
  font-size:.7rem
}
.biz-marketplace-stage{
  min-height:560px;
  border-radius:34px;
  background:linear-gradient(145deg,#d9d0ff,#eef8ff);
  display:grid;
  place-items:end center;
  position:relative;
  overflow:hidden;
  padding:42px
}
.biz-marketplace-stage img{
  height:500px;
  max-width:74%;
  object-fit:contain;
  filter:drop-shadow(0 30px 50px rgba(45,30,80,.18))
}
.marketplace-float-card{
  position:absolute;
  right:34px;
  top:34px;
  width:260px;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,.6);
  border-radius:22px;
  padding:18px;
  box-shadow:0 18px 40px rgba(27,20,42,.12)
}
.marketplace-float-card strong{
  display:block;
  margin-bottom:6px
}
.marketplace-float-card span{
  font-size:.86rem;
  color:#666;
  line-height:1.7
}
.payment-terminal-stage{
  min-height:560px;
  border-radius:34px;
  background:linear-gradient(145deg,#e3f6ff,#f0edff);
  position:relative;
  overflow:hidden;
  padding:44px;
  display:flex;
  justify-content:center;
  align-items:flex-end
}
.payment-terminal-stage img{
  position:absolute;
  max-height:500px;
  width:auto;
  filter:drop-shadow(0 28px 40px rgba(0,0,0,.15))
}
.payment-terminal-stage .terminal-left{
  right:8%;
  bottom:15px;
  transform:rotate(1deg)
}
.payment-terminal-stage .terminal-right{
  left:9%;
  bottom:0;
  transform:rotate(-2deg)
}
.biz-testimonials-section{
  padding-top:100px;
  padding-bottom:100px
}
.testimonial-card-biz{
  max-width:900px;
  border-radius:32px;
  background:#f6f6f7;
  padding:44px;
  min-height:330px;
  display:flex;
  flex-direction:column;
  justify-content:space-between
}
.testimonial-card-biz>p{
  font-size:clamp(1.25rem,2.2vw,2rem);
  line-height:1.8;
  font-weight:700;
  letter-spacing:-.02em
}
.testimonial-stars{
  letter-spacing:4px;
  font-size:1.1rem;
  margin-bottom:18px
}
.testimonial-person{
  display:flex;
  align-items:center;
  gap:12px
}
.testimonial-person img,.testimonial-generic>span{
  width:54px;
  height:54px;
  border-radius:50%;
  object-fit:cover
}
.testimonial-person div{
  display:flex;
  flex-direction:column
}
.testimonial-person div span{
  font-size:.82rem;
  color:#777
}
.testimonial-generic>span{
  display:grid;
  place-items:center;
  background:#111;
  color:#fff;
  font-weight:900
}
.biz-carousel-controls{
  display:flex;
  justify-content:center;
  gap:10px;
  margin-top:22px
}
.biz-carousel-controls button{
  width:48px;
  height:48px;
  border-radius:50%;
  background:#fff;
  border:1px solid var(--line);
  font-size:1.7rem;
  line-height:1
}
.biz-carousel-controls button:hover{
  background:#111;
  color:#fff
}
.biz-growth-section{
  padding-top:100px;
  padding-bottom:100px
}
.growth-metric-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px
}
.growth-metric-grid article{
  border-radius:26px;
  background:#fff;
  padding:28px;
  min-height:230px;
  border:1px solid #ececef
}
.growth-metric-grid strong{
  font-size:2rem;
  font-weight:900
}
.growth-metric-grid h3{
  font-size:1.02rem;
  margin:24px 0 8px;
  font-weight:850
}
.growth-metric-grid p{
  font-size:.9rem;
  color:#666;
  line-height:1.75;
  margin:0
}
.growth-metric-grid article:last-child{
  grid-column:span 2;
  background:#111;
  color:#fff
}
.growth-metric-grid article:last-child p{
  color:#bbb
}
.biz-success-section{
  padding-top:100px;
  padding-bottom:100px
}
.success-service-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px
}
.success-service-grid article{
  border:1px solid var(--line);
  border-radius:26px;
  padding:28px;
  min-height:230px;
  transition:.2s
}
.success-service-grid article:hover{
  transform:translateY(-3px);
  box-shadow:var(--shadow-sm)
}
.success-service-grid span{
  width:40px;
  height:40px;
  border-radius:50%;
  background:#111;
  color:#fff;
  display:grid;
  place-items:center;
  font-weight:850;
  font-size:.78rem
}
.success-service-grid h3{
  font-size:1.05rem;
  font-weight:850;
  margin:22px 0 9px
}
.success-service-grid p{
  margin:0;
  color:#666;
  line-height:1.75;
  font-size:.92rem
}
.biz-support-section{
  padding-top:90px;
  padding-bottom:90px
}
.support-card-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px
}
.support-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:28px;
  padding:26px;
  text-decoration:none;
  color:#111;
  display:flex;
  gap:16px;
  min-height:250px;
  transition:.2s
}
.support-card:hover{
  color:#111;
  transform:translateY(-3px);
  box-shadow:var(--shadow-sm)
}
.support-card>span{
  flex:0 0 44px;
  width:44px;
  height:44px;
  border-radius:50%;
  background:#111;
  color:#fff;
  display:grid;
  place-items:center;
  font-weight:900
}
.support-card h3{
  font-size:1.05rem;
  font-weight:850
}
.support-card p{
  font-size:.9rem;
  color:#666;
  line-height:1.8
}
.support-card strong{
  font-size:.85rem
}
.biz-faq-section{
  padding-top:100px;
  padding-bottom:100px
}
.faq-biz .accordion-button{
  font-size:1rem
}
.faq-biz .accordion-body{
  line-height:1.9
}
.biz-all-types-section{
  padding-top:100px;
  padding-bottom:100px
}
.biz-type-grid-secondary{
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:10px
}
.biz-type-card.small{
  min-height:230px;
  border-radius:18px
}
.biz-type-card.small span{
  font-size:.82rem;
  right:12px;
  left:12px;
  bottom:12px
}
.biz-final-cta{
  padding:120px 0;
  background-size:cover;
  background-position:center
}
.biz-final-cta .section-title{
  font-size:clamp(2.4rem,4vw,4.6rem)
}
.biz-final-cta .section-lead{
  max-width:700px
}
.biz-apps-section{
  padding-top:100px;
  padding-bottom:110px
}
.biz-app-card{
  min-height:620px;
  border-radius:30px;
  padding:34px 34px 0;
  overflow:hidden;
  display:flex;
  flex-direction:column
}
.customer-app-card{
  background:#efe9ff
}
.partner-app-card{
  background:#e8f8ef
}
.biz-app-card h3{
  font-size:1.6rem;
  font-weight:850;
  margin:10px 0
}
.biz-app-card p{
  max-width:520px;
  color:#555;
  line-height:1.8
}
.biz-app-label{
  font-size:.78rem;
  font-weight:850;
  color:#5d44d7
}
.biz-app-card img{
  margin:auto auto 0;
  max-height:430px;
  width:78%;
  object-fit:contain;
  object-position:center bottom;
  filter:drop-shadow(0 26px 46px rgba(30,20,70,.16))
}
@media(max-width:1199.98px){
  .biz-type-grid-secondary{
    grid-template-columns:repeat(4,minmax(0,1fr))
  }
  .biz-type-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))
  }
  .biz-type-grid-primary .biz-type-card:nth-child(1),.biz-type-grid-primary .biz-type-card:nth-child(6){
    grid-column:span 1
  }
  .growth-metric-grid{
    grid-template-columns:repeat(3,1fr)
  }
  .growth-metric-grid article:last-child{
    grid-column:span 1
  }
  .biz-fresha-hero .display-finow{
    font-size:4rem
  }
}
@media(max-width:991.98px){
  .biz-fresha-hero{
    min-height:760px;
    padding-top:64px
  }
  .biz-fresha-hero .display-finow{
    font-size:3.35rem
  }
  .product-stage-fresha .desktop-shot{
    width:100%
  }
  .product-stage-fresha .mobile-shot{
    width:28%;
    left:1%
  }
  .stats-grid-biz{
    grid-template-columns:1fr 1fr
  }
  .stats-grid-biz .stat:nth-child(2){
    border-left:0
  }
  .biz-type-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .biz-type-card{
    min-height:260px
  }
  .biz-feature-panel{
    min-height:540px
  }
  .payment-terminal-stage,.biz-marketplace-stage{
    min-height:500px
  }
  .growth-metric-grid{
    grid-template-columns:repeat(2,1fr)
  }
  .success-service-grid{
    grid-template-columns:repeat(2,1fr)
  }
  .biz-type-grid-secondary{
    grid-template-columns:repeat(3,minmax(0,1fr))
  }
  .biz-app-card{
    min-height:560px
  }
}
@media(max-width:767.98px){
  .biz-fresha-hero{
    min-height:660px;
    padding-top:46px
  }
  .biz-fresha-hero .display-finow{
    font-size:2.55rem
  }
  .biz-fresha-hero .hero-sub{
    font-size:1rem
  }
  .product-stage-fresha{
    margin-top:34px
  }
  .product-stage-fresha .desktop-shot{
    border-width:4px;
    border-bottom-width:7px
  }
  .product-stage-fresha .mobile-shot{
    width:34%;
    border-width:3px
  }
  .biz-metrics-section{
    padding-top:70px
  }
  .stats-grid-biz{
    grid-template-columns:1fr
  }
  .stats-grid-biz .stat{
    border-left:0;
    border-bottom:1px solid var(--line);
    text-align:center
  }
  .stats-grid-biz .stat:last-child{
    border-bottom:0
  }
  .biz-type-grid{
    display:grid;
    grid-auto-flow:column;
    grid-auto-columns:76vw;
    grid-template-columns:none;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    padding-bottom:6px
  }
  .biz-type-card{
    scroll-snap-align:start;
    min-height:300px
  }
  .award-row-biz{
    justify-content:flex-start;
    overflow-x:auto;
    flex-wrap:nowrap
  }
  .award-row-biz img{
    height:58px
  }
  .biz-feature-panel{
    min-height:510px;
    padding:26px 22px
  }
  .biz-marketplace-stage,.payment-terminal-stage{
    min-height:420px;
    border-radius:26px
  }
  .biz-marketplace-stage img{
    height:380px;
    max-width:90%
  }
  .marketplace-float-card{
    right:18px;
    top:18px;
    width:220px
  }
  .payment-terminal-stage .terminal-left{
    right:0;
    max-height:380px
  }
  .payment-terminal-stage .terminal-right{
    left:0;
    max-height:380px
  }
  .testimonial-card-biz{
    padding:28px;
    min-height:360px
  }
  .testimonial-card-biz>p{
    font-size:1.15rem
  }
  .growth-metric-grid,.success-service-grid,.support-card-grid{
    grid-template-columns:1fr
  }
  .biz-type-grid-secondary{
    display:grid;
    grid-auto-flow:column;
    grid-auto-columns:62vw;
    grid-template-columns:none;
    overflow-x:auto;
    scroll-snap-type:x mandatory
  }
  .biz-type-card.small{
    min-height:240px
  }
  .biz-final-cta{
    padding:90px 0
  }
  .biz-app-card{
    min-height:520px;
    padding:28px 24px 0
  }
  .biz-app-card img{
    width:92%;
    max-height:360px
  }
}
/* Business hero display fix — stable Spotlight layering + Fresha-style split layout */
.biz-fresha-hero{
  min-height:0;
  padding:54px 0 66px;
  background:#f1efff;
  isolation:isolate;
}
.biz-fresha-hero.has-spotlight>.biz-hero-bg{
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  display:block;
  width:100%;
  height:100%;
}
.biz-fresha-hero .biz-hero-bg img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  opacity:.94;
}
.biz-fresha-hero.has-spotlight>.spotlight-bg{
  z-index:1
}
.biz-fresha-hero.has-spotlight>.container-xl{
  position:relative;
  z-index:2
}
.biz-hero-layout{
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(520px,1.12fr);
  align-items:center;
  gap:clamp(34px,5vw,76px);
  min-height:680px;
}
.biz-fresha-hero .biz-hero-copy{
  max-width:590px;
  margin:0;
  text-align:right;
  position:relative;
  z-index:3;
}
.biz-fresha-hero .display-finow{
  font-size:clamp(3rem,4.8vw,4.9rem);
  line-height:1.06;
  letter-spacing:-.045em;
  max-width:none;
  margin-inline:0;
}
.biz-fresha-hero .hero-sub{
  max-width:600px;
  margin:22px 0 0;
  font-size:1.12rem;
  line-height:1.95;
  color:#2c2c31;
}
.biz-hero-actions{
  justify-content:flex-start
}
.product-stage-fresha{
  margin:0;
  max-width:none;
  width:100%;
  min-width:0;
  min-height:590px;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px 36px 48px 0;
}
.product-stage-fresha .desktop-shot{
  position:relative;
  z-index:1;
  width:min(100%,760px);
  max-height:560px;
  object-fit:contain;
  margin:0 auto;
  border:0;
  border-radius:20px;
  box-shadow:none;
  filter:drop-shadow(0 32px 48px rgba(27,20,42,.18));
}
.product-stage-fresha .mobile-shot{
  position:absolute;
  z-index:2;
  left:0;
  bottom:26px;
  width:min(27%,190px);
  max-height:430px;
  object-fit:contain;
  border:0;
  border-radius:24px;
  box-shadow:none;
  filter:drop-shadow(0 25px 40px rgba(0,0,0,.18));
}
@media(max-width:1199.98px){
  .biz-hero-layout{
    grid-template-columns:minmax(0,.92fr) minmax(460px,1.08fr);
    gap:34px;
    min-height:620px
  }
  .biz-fresha-hero .display-finow{
    font-size:3.75rem
  }
  .product-stage-fresha{
    min-height:520px;
    padding-right:18px
  }
}
@media(max-width:991.98px){
  .biz-fresha-hero{
    padding:52px 0 56px
  }
  .biz-hero-layout{
    grid-template-columns:1fr;
    gap:28px;
    min-height:0
  }
  .biz-fresha-hero .biz-hero-copy{
    max-width:760px;
    margin-inline:auto;
    text-align:center
  }
  .biz-fresha-hero .display-finow{
    font-size:clamp(2.8rem,7vw,4.2rem)
  }
  .biz-fresha-hero .hero-sub{
    max-width:680px;
    margin:20px auto 0
  }
  .biz-hero-actions{
    justify-content:center
  }
  .product-stage-fresha{
    min-height:500px;
    max-width:800px;
    margin-inline:auto;
    padding:8px 44px 42px
  }
  .product-stage-fresha .desktop-shot{
    width:100%;
    max-height:470px
  }
  .product-stage-fresha .mobile-shot{
    width:min(25%,170px);
    left:16px;
    bottom:20px
  }
}
@media(max-width:767.98px){
  .biz-fresha-hero{
    padding:38px 0 44px
  }
  .biz-hero-layout{
    gap:20px
  }
  .biz-fresha-hero .display-finow{
    font-size:2.45rem;
    line-height:1.12;
    letter-spacing:-.035em
  }
  .biz-fresha-hero .hero-sub{
    font-size:1rem;
    line-height:1.85
  }
  .biz-hero-actions{
    gap:8px!important
  }
  .biz-hero-actions .btn-f{
    flex:1 1 calc(50% - 4px);
    min-width:0;
    padding:.7rem .8rem
  }
  .product-stage-fresha{
    min-height:355px;
    width:100%;
    padding:2px 22px 34px;
    margin-top:8px
  }
  .product-stage-fresha .desktop-shot{
    width:100%;
    max-height:330px;
    border-radius:14px
  }
  .product-stage-fresha .mobile-shot{
    width:min(29%,112px);
    left:5px;
    bottom:12px;
    border-radius:18px
  }
}
@media(max-width:420px){
  .biz-fresha-hero .display-finow{
    font-size:2.15rem
  }
  .biz-hero-actions .btn-f{
    flex-basis:100%
  }
  .product-stage-fresha{
    min-height:320px;
    padding-inline:12px;
    padding-bottom:30px
  }
  .product-stage-fresha .mobile-shot{
    width:31%;
    left:0
  }
}
/* v9 — floating fixed primary navigation + live booking counter */
:root{
  --floating-header-height:74px;
  --floating-header-top:12px;
  --floating-header-space:98px;
}
.site-header{
  position:fixed !important;
  top:var(--floating-header-top) !important;
  left:50% !important;
  right:auto !important;
  width:min(1360px,calc(100% - 24px));
  transform:translateX(-50%);
  height:var(--floating-header-height);
  border:1px solid rgba(20,20,20,.08);
  border-radius:20px;
  box-shadow:0 10px 34px rgba(20,20,24,.08);
  overflow:visible;
  z-index:1100;
  transition:box-shadow .22s ease,background-color .22s ease,border-color .22s ease,top .22s ease;
}
.site-header.is-scrolled{
  box-shadow:0 16px 42px rgba(20,20,24,.14);
  background:rgba(255,255,255,.98);
}
.business-header{
  border-color:rgba(255,255,255,.12);
  box-shadow:0 12px 36px rgba(0,0,0,.18);
}
.business-header.is-scrolled{
  background:rgba(17,17,17,.98);
  box-shadow:0 16px 44px rgba(0,0,0,.26)
}
.site-header .container-xl{
  max-width:100%
}
/* keep secondary sticky UI below the floating header */
.search-headerbar{
  top:var(--floating-header-space)
}
.tabs-line{
  top:var(--floating-header-space)
}
.map-col{
  top:calc(var(--floating-header-space) + 64px);
  height:calc(100vh - var(--floating-header-space) - 64px)
}
.sticky-book,.summary-box,.job-facts{
  top:calc(var(--floating-header-space) + 16px)
}
.live-booking-counter{
  width:max-content;
  max-width:100%;
  margin:18px auto 0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:30px;
  color:#242427;
  font-size:.9rem;
  font-weight:650;
  position:relative;
  z-index:3;
  direction:rtl;
}
.live-booking-number{
  font-size:1.08rem;
  font-weight:850;
  letter-spacing:-.02em;
  font-variant-numeric:tabular-nums;
  color:#111;
  min-width:6.4em;
  text-align:center;
}
.live-booking-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--finow-brand);
  box-shadow:0 0 0 0 rgba(194,24,91,.38);
  animation:finowLivePulse 1.8s infinite;
  flex:0 0 auto;
}
.live-booking-live{
  color:var(--finow-brand);
  font-size:.72rem;
  font-weight:800;
  padding:3px 8px;
  border-radius:999px;
  background:rgba(194,24,91,.08);
}
@keyframes finowLivePulse{
  0%{
    box-shadow:0 0 0 0 rgba(194,24,91,.34)
  }
  70%{
    box-shadow:0 0 0 8px rgba(194,24,91,0)
  }
  100%{
    box-shadow:0 0 0 0 rgba(194,24,91,0)
  }
}
@media(max-width:767.98px){
  :root{
    --floating-header-height:66px;
    --floating-header-top:8px;
    --floating-header-space:82px
  }
  .site-header{
    width:calc(100% - 16px);
    border-radius:18px
  }
  .site-header .inner{
    height:66px
  }
  .search-headerbar{
    top:var(--floating-header-space)
  }
  .tabs-line{
    top:var(--floating-header-space)
  }
  .map-col{
    top:calc(var(--floating-header-space) + 60px);
    height:calc(100vh - var(--floating-header-space) - 60px)
  }
  .live-booking-counter{
    margin-top:14px;
    gap:6px;
    font-size:.82rem;
    flex-wrap:wrap;
    line-height:1.3
  }
  .live-booking-number{
    font-size:1rem;
    min-width:auto
  }
  .live-booking-live{
    font-size:.68rem
  }
}
@media(prefers-reduced-motion:reduce){
  .live-booking-dot{
    animation:none
  }
  .site-header{
    transition:none
  }
}
/* Ensure Bootstrap overlays sit above the fixed floating header. */
.offcanvas{
  z-index:1220
}
.offcanvas-backdrop{
  z-index:1210
}
.modal{
  z-index:1230
}
.modal-backdrop{
  z-index:1225
}
/* FINOW four-sector taxonomy — premium unified cards */
.finow-sector-business-section{
  padding:58px 0 48px;
  background:linear-gradient(180deg,#fff 0%,#fbfafc 100%);
  border-top:1px solid rgba(17,17,17,.05);
  border-bottom:1px solid rgba(17,17,17,.05)
}
.finow-sector-heading{
  max-width:1320px;
  margin:0 auto 22px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:32px
}
.finow-sector-heading>div{
  max-width:620px
}
.finow-sector-heading h2{
  font-size:clamp(1.45rem,2.4vw,2rem);
  font-weight:880;
  letter-spacing:-.035em;
  margin:6px 0 0
}
.finow-sector-heading p{
  max-width:520px;
  margin:0;
  color:#6d6870;
  font-size:.92rem;
  line-height:1.95
}
.finow-sector-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:#9f174d;
  font-size:.73rem;
  font-weight:850
}
.finow-sector-eyebrow:before{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:#c2185b;
  box-shadow:0 0 0 5px rgba(194,24,91,.08)
}
.finow-sector-strip{
  max-width:1320px;
  margin:0 auto;
  padding:22px 24px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  background:transparent;
  border:0
}
.finow-sector-business-section .finow-sector-strip{
  padding:0
}
.finow-sector-item{
  position:relative;
  isolation:isolate;
  min-height:152px;
  display:flex;
  align-items:flex-start;
  gap:13px;
  padding:18px 17px;
  border:1px solid rgba(24,20,24,.075);
  border-radius:24px;
  background:rgba(255,255,255,.94);
  box-shadow:0 13px 36px rgba(24,16,22,.055);
  overflow:hidden;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease
}
.finow-sector-item:before{
  content:"";
  position:absolute;
  width:120px;
  height:120px;
  border-radius:50%;
  left:-44px;
  top:-48px;
  z-index:-1;
  opacity:.72;
  filter:blur(1px);
  transition:transform .35s ease,opacity .35s ease
}
.finow-sector-item:after{
  content:"";
  position:absolute;
  right:18px;
  bottom:15px;
  width:28px;
  height:1px;
  background:currentColor;
  opacity:.18;
  transition:width .25s ease,opacity .25s ease
}
.finow-sector-item:hover{
  transform:translateY(-5px);
  box-shadow:0 20px 48px rgba(24,16,22,.09);
  border-color:rgba(24,20,24,.12)
}
.finow-sector-item:hover:before{
  transform:scale(1.14);
  opacity:.95
}
.finow-sector-item:hover:after{
  width:44px;
  opacity:.3
}
.finow-sector-icon{
  width:46px;
  height:46px;
  flex:0 0 46px;
  border-radius:15px;
  display:grid;
  place-items:center;
  background:#fff;
  box-shadow:0 8px 24px rgba(25,17,22,.08);
  border:1px solid rgba(17,17,17,.055);
  position:relative;
  z-index:1
}
.finow-sector-icon svg{
  width:24px;
  height:24px;
  display:block
}
.finow-sector-content{
  min-width:0;
  position:relative;
  z-index:1;
  flex:1
}
.finow-sector-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:7px
}
.finow-sector-top strong{
  font-size:1rem;
  font-weight:900;
  color:#1c191c;
  letter-spacing:-.015em
}
.finow-sector-top span{
  font-size:.58rem;
  font-weight:900;
  letter-spacing:.08em;
  direction:ltr;
  color:#9a9299
}
.finow-sector-content p{
  margin:0;
  color:#69636a;
  font-size:.78rem;
  line-height:1.8;
  min-height:44px
}
.finow-sector-content small{
  display:inline-flex;
  margin-top:9px;
  padding:5px 9px;
  border-radius:999px;
  font-size:.66rem;
  font-weight:780;
  background:#f7f5f7;
  color:#5f5960
}
.sector-health{
  color:#16896b
}
.sector-health:before{
  background:radial-gradient(circle,#dff7ef 0%,rgba(223,247,239,0) 70%)
}
.sector-health .finow-sector-icon{
  color:#16896b
}
.sector-health .finow-sector-content small{
  background:#edf9f5;
  color:#13745d
}
.sector-beauty{
  color:#c2185b
}
.sector-beauty:before{
  background:radial-gradient(circle,#ffe5f0 0%,rgba(255,229,240,0) 70%)
}
.sector-beauty .finow-sector-icon{
  color:#c2185b
}
.sector-beauty .finow-sector-content small{
  background:#fff0f6;
  color:#a6124c
}
.sector-wellness{
  color:#7250d8
}
.sector-wellness:before{
  background:radial-gradient(circle,#ece7ff 0%,rgba(236,231,255,0) 70%)
}
.sector-wellness .finow-sector-icon{
  color:#7250d8
}
.sector-wellness .finow-sector-content small{
  background:#f2efff;
  color:#6041c2
}
.sector-dental{
  color:#2370c8
}
.sector-dental:before{
  background:radial-gradient(circle,#e4f0ff 0%,rgba(228,240,255,0) 70%)
}
.sector-dental .finow-sector-icon{
  color:#2370c8
}
.sector-dental .finow-sector-content small{
  background:#edf5ff;
  color:#1e62ae
}
.sector-result-badge{
  display:inline-flex;
  align-items:center;
  padding:4px 9px;
  border-radius:999px;
  background:#f8e9f0;
  color:#9c174d;
  font-size:11px;
  font-weight:700;
  margin-bottom:7px
}
@media(max-width:1199.98px){
  .finow-sector-strip{
    grid-template-columns:repeat(2,minmax(0,1fr));
    max-width:920px
  }
  .finow-sector-business-section .finow-sector-strip{
    max-width:none
  }
}
@media(max-width:991.98px){
  .finow-sector-business-section{
    padding:46px 0 40px
  }
  .finow-sector-heading{
    align-items:flex-start;
    flex-direction:column;
    gap:10px
  }
  .finow-sector-heading p{
    max-width:680px
  }
  .finow-sector-strip{
    padding:18px 16px
  }
}
@media(max-width:575.98px){
  .finow-sector-strip{
    grid-template-columns:1fr;
    gap:10px;
    padding:14px 12px
  }
  .finow-sector-business-section .finow-sector-strip{
    padding:0
  }
  .finow-sector-item{
    min-height:0;
    padding:15px;
    border-radius:20px
  }
  .finow-sector-icon{
    width:42px;
    height:42px;
    flex-basis:42px;
    border-radius:14px
  }
  .finow-sector-content p{
    min-height:0
  }
  .finow-sector-heading h2{
    font-size:1.45rem
  }
}
@media(prefers-reduced-motion:reduce){
  .finow-sector-item,.finow-sector-item:before,.finow-sector-item:after{
    transition:none
  }
}
/* v11 generated editorial photography */
.finow-context-cover{
  display:block;
  width:100%;
  max-height:400px;
  aspect-ratio:2.8/1;
  object-fit:cover;
  border-radius:28px;
  margin-top:32px
}
img[src*="/photoreal/"]{
  background-color:#f3f0eb
}
.biz-hero-bg img{
  filter:brightness(.24);
  object-fit:cover
}
.biz-hero-bg{
  overflow:hidden
}
@media(max-width:767px){
  .finow-context-cover{
    aspect-ratio:1.6/1;
    border-radius:20px;
    max-height:300px
  }
}
/* Keep dark hero copy readable over photography. */
.biz-fresha-hero .biz-hero-bg img{
  filter:none;
  opacity:.12
}
.biz-feature-shot[src*="/photoreal/"],.biz-app-card img[src*="/photoreal/"]{
  object-fit:cover;
  border-radius:22px
}
.desktop-shot[src*="/photoreal/"]{
  object-fit:cover;
  aspect-ratio:3/2
}
.mobile-shot[src*="/photoreal/"]{
  object-fit:cover;
  aspect-ratio:9/16
}
/* v12 business navigation */
.business-header .desktop-nav .nav-linkish{
  font-size:.84rem;
  padding-inline:10px;
  white-space:nowrap
}
.nav-drop:focus-within .dropdown-panel{
  display:block;
  opacity:1;
  visibility:visible;
  pointer-events:auto
}
.nav-linkish[aria-current=page]{
  color:#b49aff
}
.business-header .nav-linkish small{
  font-size:.64rem;
  opacity:.7
}
/* White Finow favicon inside the branded search button, without a badge circle. */
.search-go img{
  width:25px;
  height:25px;
  object-fit:contain;
  background:transparent;
  border-radius:0;
  padding:0;
  filter:brightness(0) invert(1)
}
/* Homepage search alignment and service-catalog icon. */
.search-shell .search-field .text-start,.search-shell .search-field label{
  text-align:right!important
}
.search-picker[data-search-picker="service"]>svg{
  display:none
}
.search-picker[data-search-picker="service"]::before{
  content:"";
  display:block;
  flex:0 0 21px;
  width:21px;
  height:21px;
  background:currentColor;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='7' rx='1.6'/%3E%3Crect x='14' y='3' width='7' height='7' rx='1.6'/%3E%3Crect x='3' y='14' width='7' height='7' rx='1.6'/%3E%3Cpath d='m15.5 17.5 1.7 1.7 3.3-4'/%3E%3C/svg%3E") center/contain no-repeat;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='7' rx='1.6'/%3E%3Crect x='14' y='3' width='7' height='7' rx='1.6'/%3E%3Crect x='3' y='14' width='7' height='7' rx='1.6'/%3E%3Cpath d='m15.5 17.5 1.7 1.7 3.3-4'/%3E%3C/svg%3E") center/contain no-repeat
}
/* Footer social + support sections (social SVG markup mirrors social-preview.html) */
.footer-support-section,.footer-social-section{
  border-top:1px solid #2d2d2f;
  margin-top:34px;
  padding-top:28px
}
.footer-section-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:18px
}
.footer-section-heading h6{
  margin:3px 0 0;
  font-size:1rem
}
.footer-section-heading p{
  margin:0;
  color:#9e9ea2;
  font-size:.82rem;
  max-width:460px
}
.footer-kicker{
  color:#8f8f95;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.02em
}
.footer-contact-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px
}
.footer-contact-card{
  min-height:88px;
  padding:15px 14px;
  border:1px solid #303034;
  border-radius:16px;
  background:#18181a;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:10px
}
.footer-contact-card>span:first-child{
  color:#96969c;
  font-size:.75rem
}
.footer .footer-contact-value{
  display:block;
  padding:0;
  color:#fff;
  font-size:.88rem;
  font-weight:800;
  direction:ltr;
  text-align:right;
  unicode-bidi:plaintext
}
.footer a.footer-contact-value:hover{
  color:#fff;
  text-decoration:underline;
  text-underline-offset:3px
}
.footer-contact-value.is-empty{
  color:#66666c
}
.footer-social-heading{
  margin-bottom:14px
}
.rules-page-wrapper{
  display:flex;
  align-items:center;
  justify-content:flex-start
}
.rules-page{
  margin:0;
  padding:0;
  display:flex;
  gap:14px;
  list-style:none;
  direction:ltr
}
.rule-page{
  margin:0!important
}
.footer .rule-page a{
  width:48px;
  height:48px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  background:#f7f9fa;
  border:1px solid #edf0f2;
  transition:.2s ease;
  padding:0
}
.footer .rule-page a:hover{
  transform:translateY(-3px);
  background:#fff;
  box-shadow:0 8px 20px rgba(0,0,0,.22);
  border-color:#dde3e6
}
.footer .rule-page a[aria-disabled="true"]{
  opacity:.58;
  cursor:default
}
.footer .rule-page a[aria-disabled="true"]:hover{
  transform:none;
  box-shadow:none;
  background:#f7f9fa;
  border-color:#edf0f2
}
.rule-page span{
  display:flex;
  align-items:center;
  justify-content:center
}
.rule-page svg{
  display:block
}
@media(max-width:991.98px){
  .footer-contact-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .footer-contact-card:last-child{
    grid-column:1/3
  }
  .footer-section-heading{
    align-items:flex-start;
    flex-direction:column
  }
}
@media(max-width:575.98px){
  .footer-contact-grid{
    grid-template-columns:1fr
  }
  .footer-contact-card:last-child{
    grid-column:auto
  }
  .rules-page{
    gap:9px;
    flex-wrap:wrap
  }
  .footer .rule-page a{
    width:44px;
    height:44px;
    border-radius:13px
  }
}
/* Finow AI assistant — floating FAQ / demo OTP */
.finow-ai-shell{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:1095;
  direction:rtl;
  font-family:inherit
}
.finow-ai-launcher{
  display:flex;
  align-items:center;
  gap:10px;
  border:0;
  background:transparent;
  padding:0;
  cursor:pointer;
  color:#111
}
.finow-ai-launcher-label{
  background:rgba(255,255,255,.92);
  border:1px solid rgba(18,18,18,.08);
  box-shadow:0 10px 30px rgba(31,13,23,.12);
  backdrop-filter:blur(16px);
  padding:9px 14px;
  border-radius:999px;
  font-size:.82rem;
  font-weight:800;
  white-space:nowrap;
  transition:.25s ease
}
.finow-ai-launcher:hover .finow-ai-launcher-label{
  transform:translateX(-3px);
  box-shadow:0 14px 34px rgba(31,13,23,.17)
}
.finow-ai-orb{
  position:relative;
  width:62px;
  height:62px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#fff;
  background:radial-gradient(circle at 30% 25%,#ff98c1 0 9%,#e73378 28%,#b71352 58%,#6e0b35 100%);
  box-shadow:0 15px 36px rgba(194,24,91,.32),inset 0 0 0 1px rgba(255,255,255,.28);
  isolation:isolate;
  transition:transform .25s ease,box-shadow .25s ease
}
.finow-ai-orb:before,.finow-ai-orb:after{
  content:"";
  position:absolute;
  border-radius:50%;
  inset:-6px;
  border:1px solid rgba(194,24,91,.22);
  animation:finowAiPulse 2.6s ease-out infinite;
  z-index:-1
}
.finow-ai-orb:after{
  inset:-12px;
  animation-delay:1.3s;
  opacity:.45
}
.finow-ai-launcher:hover .finow-ai-orb{
  transform:translateY(-3px) scale(1.03);
  box-shadow:0 18px 44px rgba(194,24,91,.4),inset 0 0 0 1px rgba(255,255,255,.3)
}
.finow-ai-orb svg{
  filter:drop-shadow(0 2px 5px rgba(0,0,0,.16))
}
.finow-ai-online-dot{
  position:absolute;
  width:12px;
  height:12px;
  background:#20bf75;
  border:2px solid #fff;
  border-radius:50%;
  right:1px;
  bottom:4px;
  box-shadow:0 0 0 4px rgba(32,191,117,.15)
}
@keyframes finowAiPulse{
  0%{
    transform:scale(.92);
    opacity:.65
  }
  70%,100%{
    transform:scale(1.25);
    opacity:0
  }
}
.finow-ai-panel{
  position:absolute;
  right:0;
  bottom:82px;
  width:min(390px,calc(100vw - 32px));
  height:min(590px,calc(100vh - 130px));
  background:rgba(255,255,255,.96);
  border:1px solid rgba(18,18,18,.08);
  border-radius:26px;
  box-shadow:0 30px 80px rgba(31,13,23,.2);
  backdrop-filter:blur(22px);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  transform-origin:bottom right;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(16px) scale(.96);
  transition:opacity .22s ease,transform .22s cubic-bezier(.2,.85,.2,1),visibility .22s ease
}
.finow-ai-shell.is-open .finow-ai-panel{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0) scale(1)
}
.finow-ai-shell.is-open .finow-ai-launcher-label{
  opacity:0;
  transform:translateX(10px);
  pointer-events:none
}
.finow-ai-head{
  position:relative;
  padding:18px 18px 15px;
  background:linear-gradient(135deg,#1b0b13 0%,#3a1023 58%,#7a123e 100%);
  color:#fff;
  overflow:hidden
}
.finow-ai-head:after{
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  border-radius:50%;
  left:-70px;
  top:-105px;
  background:radial-gradient(circle,rgba(255,255,255,.22),transparent 68%);
  pointer-events:none
}
.finow-ai-head-row{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  gap:11px
}
.finow-ai-mini-orb{
  width:40px;
  height:40px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:linear-gradient(145deg,#ff77ad,#c2185b 56%,#7e0e3c);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.24)
}
.finow-ai-head-copy{
  min-width:0;
  flex:1
}
.finow-ai-head-copy strong{
  display:block;
  font-size:.96rem
}
.finow-ai-head-copy span{
  display:flex;
  align-items:center;
  gap:6px;
  margin-top:2px;
  font-size:.72rem;
  color:rgba(255,255,255,.72)
}
.finow-ai-head-copy span:before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:#49e59b;
  box-shadow:0 0 0 4px rgba(73,229,155,.11)
}
.finow-ai-close{
  width:34px;
  height:34px;
  border-radius:11px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.08);
  color:#fff;
  font-size:1.35rem;
  line-height:1;
  display:grid;
  place-items:center;
  cursor:pointer;
  transition:.18s
}
.finow-ai-close:hover{
  background:rgba(255,255,255,.16)
}
.finow-ai-messages{
  flex:1;
  overflow:auto;
  padding:18px;
  background:linear-gradient(180deg,#faf8f9 0%,#fff 45%);
  scroll-behavior:smooth
}
.finow-ai-message{
  display:flex;
  margin-bottom:11px;
  animation:finowAiMessageIn .28s ease both
}
.finow-ai-message.user{
  justify-content:flex-end
}
.finow-ai-message.bot{
  justify-content:flex-start
}
.finow-ai-bubble{
  max-width:86%;
  padding:10px 13px;
  border-radius:17px;
  font-size:.84rem;
  line-height:1.75;
  box-shadow:0 4px 14px rgba(32,16,24,.04)
}
.finow-ai-message.bot .finow-ai-bubble{
  background:#fff;
  border:1px solid #eee6ea;
  border-bottom-right-radius:5px;
  color:#292126
}
.finow-ai-message.user .finow-ai-bubble{
  background:#201117;
  color:#fff;
  border-bottom-left-radius:5px
}
.finow-ai-code-card{
  margin:8px 0 12px;
  padding:13px 14px;
  border-radius:17px;
  background:linear-gradient(135deg,#fff0f6,#f7eefc);
  border:1px solid #f1dce6;
  text-align:center;
  animation:finowAiMessageIn .3s ease both
}
.finow-ai-code-card small{
  display:block;
  color:#806a75;
  font-size:.72rem
}
.finow-ai-code-card strong{
  display:block;
  margin-top:3px;
  font-size:1.6rem;
  letter-spacing:.24em;
  color:#a8124d;
  font-variant-numeric:tabular-nums;
  direction:ltr
}
.finow-ai-quick{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
  margin:4px 0 11px
}
.finow-ai-chip{
  border:1px solid #eadce3;
  background:#fff;
  color:#5a3646;
  border-radius:999px;
  padding:7px 10px;
  font-family:inherit;
  font-size:.72rem;
  font-weight:700;
  cursor:pointer;
  transition:.18s
}
.finow-ai-chip:hover{
  background:#fff0f6;
  border-color:#dfb9c9;
  color:#a8124d;
  transform:translateY(-1px)
}
.finow-ai-composer{
  padding:12px;
  border-top:1px solid #eee7ea;
  background:#fff
}
.finow-ai-form{
  display:flex;
  gap:8px;
  align-items:center;
  border:1px solid #e4dce0;
  border-radius:17px;
  padding:5px 6px 5px 5px;
  background:#faf9fa;
  transition:.18s
}
.finow-ai-form:focus-within{
  background:#fff;
  border-color:#d58aa9;
  box-shadow:0 0 0 4px rgba(194,24,91,.07)
}
.finow-ai-input{
  flex:1;
  min-width:0;
  border:0;
  outline:0;
  background:transparent;
  padding:8px 9px;
  font-family:inherit;
  font-size:.82rem;
  text-align:right;
  color:#1b1719
}
.finow-ai-input::placeholder{
  color:#a2949a
}
.finow-ai-send{
  width:38px;
  height:38px;
  flex:0 0 38px;
  border:0;
  border-radius:13px;
  background:#171014;
  color:#fff;
  display:grid;
  place-items:center;
  cursor:pointer;
  transition:.18s
}
.finow-ai-send:hover{
  background:#c2185b;
  transform:translateY(-1px)
}
.finow-ai-note{
  margin:7px 5px 0;
  color:#9a8b92;
  font-size:.65rem;
  text-align:center
}
@keyframes finowAiMessageIn{
  from{
    opacity:0;
    transform:translateY(7px)
  }
  to{
    opacity:1;
    transform:none
  }
}
@media(prefers-reduced-motion:reduce){
  .finow-ai-orb:before,.finow-ai-orb:after{
    animation:none
  }
  .finow-ai-message,.finow-ai-code-card{
    animation:none
  }
}
@media(max-width:767.98px){
  .finow-ai-shell{
    right:14px;
    bottom:82px
  }
  .finow-ai-launcher-label{
    display:none
  }
  .finow-ai-orb{
    width:56px;
    height:56px
  }
  .finow-ai-panel{
    position:fixed;
    right:12px;
    left:12px;
    bottom:148px;
    width:auto;
    height:min(565px,calc(100vh - 176px));
    border-radius:23px
  }
  .finow-ai-shell.is-open .finow-ai-orb{
    transform:scale(.94)
  }
}
/* App page redesign + footer app hub */
.footer-app-hub{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:24px
}
.footer-app-card{
  padding:14px;
  border:1px solid #303034;
  border-radius:18px;
  background:linear-gradient(180deg,#171719 0%,#131315 100%)
}
.footer-app-copy{
  margin:0 0 12px;
  color:#98989f;
  font-size:.75rem;
  line-height:1.85
}
.footer-app-card .store-links{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px
}
.footer .store-link{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
  padding:9px 10px;
  border:1px solid #35353a;
  border-radius:14px;
  background:#1d1d20;
  color:#fff;
  transition:.22s ease
}
.footer .store-link:hover{
  background:#27272b;
  border-color:#54545b;
  box-shadow:0 12px 26px rgba(0,0,0,.18);
  transform:translateY(-2px);
  color:#fff
}
.footer .store-link .store-icon{
  width:26px;
  height:26px;
  flex:0 0 26px;
  border-radius:9px;
  background:#fff;
  color:#131316;
  display:grid;
  place-items:center;
  padding:5px
}
.footer .store-link .store-icon svg{
  display:block;
  width:100%;
  height:100%
}
.footer .store-link>span:last-child{
  min-width:0;
  display:block;
  direction:rtl;
  text-align:right;
  font-size:.74rem;
  font-weight:760;
  line-height:1.25
}
.footer .store-link small{
  display:block;
  color:#a8a8ae;
  font-size:.61rem;
  margin-bottom:3px
}
@media(max-width:991.98px){
  .footer-app-hub{
    grid-template-columns:1fr
  }
  .footer-app-card .store-links{
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
}
@media(max-width:575.98px){
  .footer-app-card .store-links{
    grid-template-columns:1fr 1fr
  }
  .footer .store-link{
    padding:8px 9px
  }
}
.app-shell{
  background:linear-gradient(180deg,#fff 0%,#fff9fc 38%,#fff 100%);
  overflow:hidden
}
.app-hero{
  position:relative;
  padding:78px 0 38px;
  background:radial-gradient(circle at 82% 18%,rgba(137,87,255,.12),transparent 28%),radial-gradient(circle at 15% 22%,rgba(255,142,76,.14),transparent 22%),linear-gradient(180deg,#fff 0%,#fff7fb 100%)
}
.app-hero:before,.app-hero:after{
  content:"";
  position:absolute;
  border-radius:50%;
  filter:blur(6px);
  pointer-events:none
}
.app-hero:before{
  width:340px;
  height:340px;
  right:-110px;
  top:-70px;
  background:radial-gradient(circle,rgba(194,24,91,.16),transparent 68%)
}
.app-hero:after{
  width:280px;
  height:280px;
  left:-100px;
  bottom:-110px;
  background:radial-gradient(circle,rgba(255,168,99,.17),transparent 68%)
}
.app-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 14px;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(194,24,91,.1);
  box-shadow:0 14px 30px rgba(194,24,91,.08);
  font-size:.8rem;
  font-weight:800;
  color:#8d2150
}
.app-kicker:before{
  content:"";
  width:9px;
  height:9px;
  border-radius:50%;
  background:linear-gradient(135deg,#ff8e4c,#c2185b)
}
.app-lead{
  max-width:610px;
  color:#5f5960;
  font-size:1.04rem;
  line-height:2;
  margin-top:18px
}
.app-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:22px
}
.app-hero-actions .btn-f{
  border-radius:15px;
  padding:12px 18px
}
.app-mini-badges{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px
}
.app-mini-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:14px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(18,18,18,.06);
  font-size:.8rem;
  font-weight:700;
  color:#332c31;
  box-shadow:0 14px 28px rgba(23,12,18,.06);
  backdrop-filter:blur(10px)
}
.app-mini-badge i{
  font-style:normal;
  width:26px;
  height:26px;
  border-radius:10px;
  display:grid;
  place-items:center;
  background:#111;
  color:#fff;
  font-size:.8rem
}
.app-stat-row{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:22px;
  max-width:540px
}
.app-stat-card{
  padding:15px 16px;
  border-radius:20px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(18,18,18,.06);
  box-shadow:0 18px 30px rgba(27,14,21,.08);
  backdrop-filter:blur(18px)
}
.app-stat-card strong{
  display:block;
  font-size:1.18rem;
  font-weight:900;
  color:#121113
}
.app-stat-card span{
  display:block;
  margin-top:4px;
  color:#706872;
  font-size:.78rem;
  line-height:1.7
}
.phone-scene{
  position:relative;
  min-height:620px;
  display:flex;
  align-items:center;
  justify-content:center
}
.phone-stack{
  position:relative;
  width:min(560px,100%);
  height:600px
}
.phone-mock{
  position:absolute;
  width:248px;
  height:520px;
  padding:10px;
  border-radius:42px;
  background:linear-gradient(180deg,#fafafa,#d8d8d8);
  box-shadow:0 30px 80px rgba(28,13,23,.18),0 12px 24px rgba(28,13,23,.1);
  transform-style:preserve-3d;
  animation:phoneFloat 7s ease-in-out infinite
}
.phone-mock:before{
  content:"";
  position:absolute;
  left:50%;
  top:12px;
  width:118px;
  height:24px;
  transform:translateX(-50%);
  border-radius:0 0 16px 16px;
  background:rgba(18,18,18,.9);
  z-index:3
}
.phone-mock:after{
  content:"";
  position:absolute;
  right:8px;
  top:120px;
  width:4px;
  height:74px;
  border-radius:3px;
  background:rgba(255,255,255,.45)
}
.phone-mock.orange{
  background:linear-gradient(180deg,#ffb078,#ff7f3f)
}
.phone-mock.purple{
  background:linear-gradient(180deg,#b79cff,#6f47ff)
}
.phone-mock.white{
  background:linear-gradient(180deg,#fff,#e8e8ee)
}
.phone-mock.main{
  right:30px;
  top:38px;
  z-index:3
}
.phone-mock.side-left{
  right:260px;
  top:82px;
  transform:rotate(-13deg);
  animation-delay:-1.8s
}
.phone-mock.side-right{
  right:130px;
  top:-8px;
  transform:rotate(12deg) scale(.96);
  animation-delay:-3.2s
}
.phone-frame{
  height:100%;
  border-radius:33px;
  background:#101113;
  padding:11px;
  overflow:hidden;
  position:relative
}
.phone-screen{
  height:100%;
  border-radius:26px;
  overflow:hidden;
  background:#fff;
  position:relative
}
.phone-screen img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:top center
}
.phone-shine{
  position:absolute;
  inset:0;
  background:linear-gradient(125deg,rgba(255,255,255,.22),transparent 22%,transparent 56%,rgba(255,255,255,.14) 74%,transparent);
  mix-blend-mode:screen;
  pointer-events:none
}
.float-card{
  position:absolute;
  padding:11px 13px;
  border-radius:18px;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(18,18,18,.06);
  backdrop-filter:blur(14px);
  box-shadow:0 20px 42px rgba(27,14,21,.14);
  animation:floatCard 6s ease-in-out infinite
}
.float-card strong{
  display:block;
  font-size:.84rem;
  color:#141116
}
.float-card span{
  display:block;
  color:#736a73;
  font-size:.73rem;
  margin-top:4px;
  line-height:1.7
}
.float-card.one{
  right:300px;
  top:28px;
  animation-delay:-1.4s
}
.float-card.two{
  right:0;
  bottom:66px;
  animation-delay:-3s
}
.float-card.three{
  left:8px;
  bottom:146px;
  animation-delay:-4.6s
}
.hero-beam,.hero-beam:before{
  position:absolute;
  content:"";
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(194,24,91,0),rgba(194,24,91,.85),rgba(137,87,255,.65),rgba(255,142,76,0));
  opacity:.7;
  filter:drop-shadow(0 0 14px rgba(194,24,91,.34))
}
.hero-beam{
  width:160px;
  right:208px;
  top:250px;
  transform:rotate(-18deg);
  animation:beamPulse 4s linear infinite
}
.hero-beam:before{
  width:118px;
  right:150px;
  top:148px;
  transform:rotate(38deg)
}
@keyframes phoneFloat{
  0%,100%{
    transform:translateY(0)
  }
  50%{
    transform:translateY(-13px)
  }
}
@keyframes floatCard{
  0%,100%{
    transform:translateY(0)
  }
  50%{
    transform:translateY(-10px)
  }
}
@keyframes beamPulse{
  0%{
    opacity:.25;
    transform:rotate(-18deg) scaleX(.92)
  }
  50%{
    opacity:.95
  }
  100%{
    opacity:.25;
    transform:rotate(-18deg) scaleX(1.04)
  }
}
.app-section{
  padding:72px 0;
  position:relative
}
.app-section-head{
  max-width:760px;
  margin:0 auto 28px;
  text-align:center
}
.app-section-head.left{
  text-align:right;
  margin:0 0 28px
}
.app-section-head p{
  color:#6b646c;
  line-height:1.95;
  margin-top:12px
}
.download-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px
}
.download-card{
  padding:22px;
  border-radius:28px;
  background:#fff;
  border:1px solid rgba(18,18,18,.06);
  box-shadow:0 22px 42px rgba(23,14,20,.06);
  position:relative;
  overflow:hidden
}
.download-card:before{
  content:"";
  position:absolute;
  inset:-20% auto auto -12%;
  width:180px;
  height:180px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(194,24,91,.09),transparent 66%)
}
.download-card.business:before{
  background:radial-gradient(circle,rgba(111,71,255,.09),transparent 66%)
}
.download-card h3{
  font-size:1.18rem;
  margin-bottom:8px
}
.download-card p{
  color:#6b646c;
  font-size:.92rem;
  line-height:1.95;
  margin-bottom:16px;
  max-width:540px
}
.platform-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px
}
.platform-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:14px 15px;
  border-radius:18px;
  background:#f8f7fb;
  border:1px solid #ece8f1;
  color:#18141b;
  transition:.22s ease;
  text-decoration:none
}
.platform-link:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 34px rgba(27,14,21,.08);
  border-color:#dfd5e9;
  color:#18141b
}
.platform-link .meta{
  min-width:0
}
.platform-link small{
  display:block;
  color:#7e7580;
  font-size:.72rem;
  margin-bottom:2px
}
.platform-link strong{
  display:block;
  font-size:.91rem
}
.platform-mark{
  width:42px;
  height:42px;
  flex:0 0 42px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:#18141b;
  color:#fff;
  padding:9px
}
.platform-mark svg{
  width:100%;
  height:100%
}
.platform-link.is-pwa .platform-mark{
  background:#8223cb
}
.platform-link.is-desktop .platform-mark{
  background:#ff8e4c
}
.feature-showcase{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:30px;
  align-items:center
}
.feature-list{
  display:grid;
  gap:14px
}
.feature-panel{
  padding:18px 18px 17px;
  border-radius:22px;
  background:#fff;
  border:1px solid rgba(18,18,18,.06);
  box-shadow:0 18px 34px rgba(23,14,20,.05)
}
.feature-panel h3{
  font-size:1.02rem;
  margin-bottom:6px
}
.feature-panel p{
  margin:0;
  color:#6d6670;
  line-height:1.9;
  font-size:.9rem
}
.feature-panel .tag{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  background:#f7eef3;
  color:#a1124b;
  font-size:.72rem;
  font-weight:800;
  margin-bottom:10px
}
.mockup-card{
  position:relative;
  padding:22px;
  border-radius:34px;
  background:linear-gradient(145deg,#fff,#fbf2f8);
  border:1px solid rgba(18,18,18,.06);
  box-shadow:0 28px 56px rgba(23,14,20,.09);
  overflow:hidden;
  min-height:620px;
  display:flex;
  align-items:center;
  justify-content:center
}
.mockup-card.purple{
  background:linear-gradient(145deg,#faf6ff,#f4ecff)
}
.mockup-card.white{
  background:linear-gradient(145deg,#ffffff,#fbfbfd)
}
.mockup-card .phone-mock{
  position:relative;
  right:auto;
  top:auto;
  transform:none!important;
  animation:phoneFloat 7s ease-in-out infinite;
  width:274px;
  height:574px
}
.mockup-glow{
  position:absolute;
  width:280px;
  height:280px;
  border-radius:50%;
  filter:blur(20px);
  background:radial-gradient(circle,rgba(194,24,91,.16),transparent 68%);
  top:40px;
  left:40px;
  pointer-events:none
}
.mockup-card.purple .mockup-glow{
  background:radial-gradient(circle,rgba(111,71,255,.18),transparent 68%)
}
.browser-showcase{
  display:grid;
  grid-template-columns:1fr 1.08fr;
  gap:28px;
  align-items:center
}
.browser-window{
  position:relative;
  border-radius:28px;
  background:#fff;
  border:1px solid rgba(18,18,18,.07);
  box-shadow:0 28px 52px rgba(23,14,20,.08);
  overflow:hidden
}
.browser-bar{
  display:flex;
  align-items:center;
  gap:8px;
  padding:14px 18px;
  background:#faf7fb;
  border-bottom:1px solid #efe8ee
}
.browser-dot{
  width:10px;
  height:10px;
  border-radius:50%;
  background:#ff8e4c
}
.browser-dot:nth-child(2){
  background:#ffc34d
}
.browser-dot:nth-child(3){
  background:#49c784
}
.browser-url{
  margin-right:auto;
  min-width:0;
  border:1px solid #ece6ee;
  border-radius:999px;
  padding:7px 13px;
  color:#6d6670;
  font-size:.8rem;
  background:#fff;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis
}
.browser-content{
  display:grid;
  grid-template-columns:290px 1fr;
  min-height:420px
}
.browser-side{
  padding:22px;
  background:linear-gradient(180deg,#151116 0%,#241721 100%);
  color:#fff
}
.browser-side h3{
  font-size:1.18rem;
  margin-bottom:8px
}
.browser-side p{
  color:rgba(255,255,255,.72);
  line-height:1.95;
  font-size:.92rem
}
.browser-bullet{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin-top:16px
}
.browser-bullet i{
  flex:0 0 26px;
  width:26px;
  height:26px;
  border-radius:9px;
  background:rgba(255,255,255,.1);
  display:grid;
  place-items:center;
  font-style:normal
}
.browser-preview{
  padding:18px;
  background:#f8f8fb;
  display:flex;
  align-items:center;
  justify-content:center
}
.browser-preview img{
  width:100%;
  max-width:330px;
  border-radius:28px;
  box-shadow:0 22px 44px rgba(0,0,0,.14)
}
.cta-ribbon{
  padding:26px 24px;
  border-radius:30px;
  background:linear-gradient(135deg,#170f15 0%,#4b1330 55%,#8e1e50 100%);
  color:#fff;
  position:relative;
  overflow:hidden;
  box-shadow:0 28px 56px rgba(27,14,21,.18)
}
.cta-ribbon:before{
  content:"";
  position:absolute;
  inset:auto -44px -66px auto;
  width:180px;
  height:180px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.18),transparent 68%)
}
.cta-ribbon h3{
  font-size:1.35rem;
  margin-bottom:10px
}
.cta-ribbon p{
  max-width:720px;
  color:rgba(255,255,255,.78);
  line-height:2;
  margin-bottom:0
}
.cta-ribbon .cta-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px
}
.cta-ribbon .btn-f{
  border-radius:15px
}
.app-anchor-target{
  scroll-margin-top:110px
}
@media(max-width:1199.98px){
  .phone-scene{
    min-height:560px
  }
  .phone-stack{
    height:540px
  }
  .phone-mock{
    width:214px;
    height:454px
  }
  .phone-mock.side-left{
    right:220px
  }
  .hero-beam{
    right:170px;
    top:220px
  }
  .browser-content{
    grid-template-columns:240px 1fr
  }
}
@media(max-width:991.98px){
  .app-hero{
    padding-top:62px
  }
  .app-stat-row,.download-grid,.feature-showcase,.browser-showcase{
    grid-template-columns:1fr
  }
  .phone-scene{
    margin-top:24px;
    min-height:560px
  }
  .phone-stack{
    width:min(420px,100%);
    height:520px
  }
  .phone-mock.main{
    right:78px
  }
  .phone-mock.side-left{
    right:0;
    top:118px
  }
  .phone-mock.side-right{
    right:176px;
    top:8px
  }
  .float-card.one{
    right:220px
  }
  .mockup-card{
    min-height:unset
  }
  .browser-content{
    grid-template-columns:1fr
  }
  .browser-side{
    order:2
  }
  .browser-preview{
    order:1
  }
  .footer-app-card .store-links{
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
}
@media(max-width:767.98px){
  .app-lead{
    font-size:.96rem;
    max-width:none
  }
  .app-hero-actions{
    gap:8px
  }
  .app-hero-actions .btn-f{
    width:100%;
    justify-content:center
  }
  .app-stat-row{
    grid-template-columns:1fr;
    max-width:none
  }
  .phone-scene{
    min-height:520px
  }
  .phone-stack{
    height:500px
  }
  .phone-mock{
    width:176px;
    height:376px;
    border-radius:32px;
    padding:7px
  }
  .phone-mock:before{
    top:10px;
    width:90px;
    height:18px
  }
  .phone-frame{
    border-radius:25px;
    padding:8px
  }
  .phone-screen{
    border-radius:20px
  }
  .phone-mock.main{
    right:110px;
    top:82px
  }
  .phone-mock.side-left{
    right:12px;
    top:145px
  }
  .phone-mock.side-right{
    right:176px;
    top:18px
  }
  .float-card{
    padding:9px 10px;
    border-radius:16px
  }
  .float-card strong{
    font-size:.74rem
  }
  .float-card span{
    font-size:.67rem
  }
  .float-card.one{
    right:160px;
    top:18px
  }
  .float-card.two{
    right:10px;
    bottom:44px
  }
  .float-card.three{
    left:0;
    bottom:132px
  }
  .hero-beam,.hero-beam:before{
    display:none
  }
  .download-card,.mockup-card,.browser-window,.cta-ribbon{
    border-radius:24px
  }
  .platform-grid{
    grid-template-columns:1fr
  }
  .browser-preview img{
    max-width:260px
  }
}
@media(max-width:575.98px){
  .app-section{
    padding:58px 0
  }
  .app-kicker{
    font-size:.75rem
  }
  .phone-stack{
    width:100%;
    height:470px
  }
  .phone-mock.main{
    right:86px
  }
  .phone-mock.side-right{
    right:148px
  }
  .feature-panel{
    padding:16px
  }
  .mockup-card{
    padding:16px
  }
  .browser-bar{
    padding:12px 14px
  }
  .browser-url{
    font-size:.72rem
  }
  .footer-app-card{
    padding:12px
  }
}
/* v4 footer store badges + single hero phone */
.footer-store-download{
  margin-top:24px;
  padding-top:18px;
  border-top:1px solid #2c2c30
}
.footer-store-download .footer-app-label{
  margin-bottom:11px;
  font-size:.84rem;
  color:#fff;
  font-weight:800
}
.footer-store-badges{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center
}
.footer .footer-store-badge{
  display:inline-flex!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  line-height:0;
  transition:transform .2s ease,filter .2s ease
}
.footer .footer-store-badge:hover{
  transform:translateY(-2px);
  filter:brightness(1.08)
}
.footer-store-badge img{
  display:block;
  width:130px;
  height:40px;
  object-fit:contain
}
.single-phone{
  width:min(520px,100%);
  height:590px;
  margin:0 auto
}
.single-phone .phone-mock.main{
  left:50%;
  right:auto;
  top:38px;
  margin-left:-124px;
  z-index:3
}
.single-phone .float-card{
  z-index:7;
  pointer-events:none;
  width:168px;
  max-width:168px
}
.single-phone .float-card.one{
  right:38px;
  top:105px
}
.single-phone .float-card.two{
  left:20px;
  top:250px
}
.single-phone .float-card.three{
  right:30px;
  top:398px
}
.single-phone .hero-beam{
  z-index:1;
  right:180px;
  top:246px
}
@media(max-width:1199.98px){
  .single-phone{
    height:530px
  }
  .single-phone .phone-mock.main{
    margin-left:-107px;
    top:34px
  }
  .single-phone .float-card{
    width:156px;
    max-width:156px
  }
  .single-phone .float-card.one{
    right:22px;
    top:88px
  }
  .single-phone .float-card.two{
    left:6px;
    top:218px
  }
  .single-phone .float-card.three{
    right:14px;
    top:354px
  }
}
@media(max-width:767.98px){
  .single-phone{
    height:470px;
    max-width:390px
  }
  .single-phone .phone-mock.main{
    margin-left:-88px;
    top:58px
  }
  .single-phone .float-card{
    width:142px;
    max-width:142px;
    padding:9px 10px
  }
  .single-phone .float-card strong{
    font-size:.74rem
  }
  .single-phone .float-card span{
    font-size:.66rem;
    line-height:1.5
  }
  .single-phone .float-card.one{
    right:2px;
    top:92px
  }
  .single-phone .float-card.two{
    left:2px;
    top:205px
  }
  .single-phone .float-card.three{
    right:2px;
    top:322px
  }
}
@media(max-width:575.98px){
  .footer-store-badge img{
    width:117px;
    height:36px
  }
  .footer-store-badges{
    gap:8px
  }
  .single-phone{
    height:450px;
    max-width:340px
  }
  .single-phone .float-card{
    width:128px;
    max-width:128px;
    padding:8px 9px
  }
  .single-phone .float-card span{
    font-size:.63rem;
    line-height:1.42
  }
  .single-phone .float-card.one{
    right:0;
    top:78px
  }
  .single-phone .float-card.two{
    left:0;
    top:192px
  }
  .single-phone .float-card.three{
    right:0;
    top:304px
  }
}
/* v4.2 — app hero tighter spacing + true zig-zag floating cards */
.app-hero{
  padding-top:44px;
  padding-bottom:32px
}
.single-phone{
  height:620px
}
.single-phone .phone-mock.main{
  top:28px
}
.single-phone .float-card{
  z-index:8;
  animation:finowCardZFloat 5.8s ease-in-out infinite;
  box-sizing:border-box;
}
.single-phone .float-card.one{
  top:78px;
  right:18px;
  left:auto;
  animation-delay:-.4s;
}
.single-phone .float-card.two{
  top:250px;
  left:8px;
  right:auto;
  animation-delay:-2.1s;
}
.single-phone .float-card.three{
  top:422px;
  right:24px;
  left:auto;
  animation-delay:-3.7s;
}
@keyframes finowCardZFloat{
  0%,100%{
    transform:translateY(0)
  }
  50%{
    transform:translateY(-4px)
  }
}
@media(max-width:1199.98px){
  .app-hero{
    padding-top:38px
  }
  .single-phone{
    height:570px
  }
  .single-phone .phone-mock.main{
    top:24px
  }
  .single-phone .float-card.one{
    top:68px;
    right:14px;
    left:auto
  }
  .single-phone .float-card.two{
    top:220px;
    left:4px;
    right:auto
  }
  .single-phone .float-card.three{
    top:372px;
    right:14px;
    left:auto
  }
}
@media(max-width:767.98px){
  .app-hero{
    padding-top:28px;
    padding-bottom:24px
  }
  .phone-scene{
    margin-top:12px
  }
  .single-phone{
    height:500px;
    max-width:390px
  }
  .single-phone .phone-mock.main{
    top:38px
  }
  .single-phone .float-card{
    width:138px;
    max-width:138px
  }
  .single-phone .float-card.one{
    top:66px;
    right:2px;
    left:auto
  }
  .single-phone .float-card.two{
    top:214px;
    left:2px;
    right:auto
  }
  .single-phone .float-card.three{
    top:362px;
    right:2px;
    left:auto
  }
}
@media(max-width:575.98px){
  .app-hero{
    padding-top:22px
  }
  .single-phone{
    height:480px;
    max-width:340px
  }
  .single-phone .phone-mock.main{
    top:34px
  }
  .single-phone .float-card{
    width:122px;
    max-width:122px;
    padding:8px 9px
  }
  .single-phone .float-card.one{
    top:60px;
    right:0;
    left:auto
  }
  .single-phone .float-card.two{
    top:204px;
    left:0;
    right:auto
  }
  .single-phone .float-card.three{
    top:348px;
    right:0;
    left:auto
  }
}
@media(prefers-reduced-motion:reduce){
  .single-phone .float-card{
    animation:none
  }
}
/* v4.3 — precise app hero cards + POS landing */
/* Exact single-phone composition: no card collision at any breakpoint */
.single-phone{
  position:relative;
  width:min(540px,100%);
  height:600px;
  margin-inline:auto
}
.single-phone .phone-mock.main{
  right:50%!important;
  left:auto!important;
  top:20px!important;
  margin-right:-124px;
  z-index:3;
}
.single-phone .float-card{
  z-index:9!important;
  width:176px!important;
  max-width:176px!important;
  min-height:88px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:12px 14px!important;
  margin:0!important;
  animation:finowCardZFloat 6.2s ease-in-out infinite!important;
}
.single-phone .float-card.one{
  top:76px!important;
  right:22px!important;
  left:auto!important;
  bottom:auto!important
}
.single-phone .float-card.two{
  top:246px!important;
  left:16px!important;
  right:auto!important;
  bottom:auto!important
}
.single-phone .float-card.three{
  top:416px!important;
  right:24px!important;
  left:auto!important;
  bottom:auto!important
}
.single-phone .float-card strong{
  font-size:.84rem!important;
  line-height:1.55
}
.single-phone .float-card span{
  font-size:.72rem!important;
  line-height:1.65;
  margin-top:5px
}
@media(max-width:1199.98px){
  .single-phone{
    height:550px;
    max-width:480px
  }
  .single-phone .phone-mock.main{
    margin-right:-107px;
    top:18px!important
  }
  .single-phone .float-card{
    width:158px!important;
    max-width:158px!important;
    min-height:82px
  }
  .single-phone .float-card.one{
    top:66px!important;
    right:16px!important
  }
  .single-phone .float-card.two{
    top:214px!important;
    left:10px!important
  }
  .single-phone .float-card.three{
    top:362px!important;
    right:18px!important
  }
}
@media(max-width:767.98px){
  .single-phone{
    height:480px;
    max-width:380px
  }
  .single-phone .phone-mock.main{
    margin-right:-88px;
    top:30px!important
  }
  .single-phone .float-card{
    width:136px!important;
    max-width:136px!important;
    min-height:74px;
    padding:9px 10px!important
  }
  .single-phone .float-card strong{
    font-size:.73rem!important
  }
  .single-phone .float-card span{
    font-size:.64rem!important;
    line-height:1.5
  }
  .single-phone .float-card.one{
    top:58px!important;
    right:4px!important
  }
  .single-phone .float-card.two{
    top:192px!important;
    left:4px!important
  }
  .single-phone .float-card.three{
    top:326px!important;
    right:4px!important
  }
}
@media(max-width:374px){
  .single-phone{
    height:455px;
    max-width:330px
  }
  .single-phone .float-card{
    width:122px!important;
    max-width:122px!important;
    min-height:70px
  }
  .single-phone .float-card.one{
    top:54px!important;
    right:0!important
  }
  .single-phone .float-card.two{
    top:183px!important;
    left:0!important
  }
  .single-phone .float-card.three{
    top:312px!important;
    right:0!important
  }
}
@media(prefers-reduced-motion:reduce){
  .single-phone .float-card{
    animation:none!important
  }
}
/* POS landing */
.pos-page{
  background:#fff;
  overflow:hidden
}
.pos-hero{
  position:relative;
  padding:72px 0 74px;
  background:radial-gradient(circle at 82% 16%,rgba(194,24,91,.15),transparent 30%),radial-gradient(circle at 18% 80%,rgba(106,76,255,.11),transparent 28%),linear-gradient(180deg,#fff 0%,#fff7fb 100%)
}
.pos-hero-copy{
  max-width:650px
}
.pos-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 13px;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(194,24,91,.13);
  box-shadow:0 12px 28px rgba(194,24,91,.07);
  font-size:.78rem;
  font-weight:850;
  color:#9b174c
}
.pos-kicker:before{
  content:"";
  width:9px;
  height:9px;
  border-radius:50%;
  background:#c2185b;
  box-shadow:0 0 0 5px rgba(194,24,91,.09)
}
.pos-hero-copy .display-finow{
  max-width:680px
}
.pos-hero-copy .hero-sub{
  max-width:625px;
  color:#5f5860;
  line-height:2
}
.pos-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:24px
}
.pos-trust-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:20px
}
.pos-trust-pill{
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(20,20,20,.07);
  font-size:.78rem;
  font-weight:750;
  color:#40383f;
  backdrop-filter:blur(12px)
}
.pos-stage{
  position:relative;
  min-height:520px;
  display:grid;
  place-items:center
}
.pos-terminal{
  position:relative;
  width:260px;
  height:430px;
  border-radius:42px 42px 30px 30px;
  background:linear-gradient(160deg,#29242a 0%,#0e0d10 58%,#2c2730 100%);
  box-shadow:0 38px 80px rgba(29,13,22,.24),inset 0 0 0 1px rgba(255,255,255,.08);
  transform:rotate(-5deg);
  animation:posTerminalFloat 6s ease-in-out infinite
}
.pos-terminal:before{
  content:"";
  position:absolute;
  inset:22px 24px auto;
  height:146px;
  border-radius:20px;
  background:linear-gradient(145deg,#f5f5f7,#dedee3);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.06)
}
.pos-terminal:after{
  content:"فاینو POS";
  position:absolute;
  top:74px;
  right:0;
  left:0;
  text-align:center;
  font-size:1.05rem;
  font-weight:900;
  color:#19161a
}
.pos-keypad{
  position:absolute;
  right:42px;
  left:42px;
  top:205px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px
}
.pos-keypad i{
  height:38px;
  border-radius:12px;
  background:#343039;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
  display:grid;
  place-items:center;
  color:#c9c4cb;
  font-style:normal;
  font-size:.72rem
}
.pos-keypad i:nth-last-child(3){
  background:#8e194c
}
.pos-keypad i:nth-last-child(2){
  background:#2e7f60
}
.pos-keypad i:nth-last-child(1){
  background:#4a4350
}
.pos-paper{
  position:absolute;
  top:-28px;
  right:71px;
  width:118px;
  height:98px;
  border-radius:10px 10px 4px 4px;
  background:linear-gradient(180deg,#fff,#f4f1f3);
  box-shadow:0 18px 26px rgba(29,13,22,.1);
  transform:rotate(4deg);
  z-index:-1
}
.pos-paper:after{
  content:"FINOW • POS";
  position:absolute;
  top:34px;
  right:0;
  left:0;
  text-align:center;
  font-size:.62rem;
  color:#8b838b;
  font-weight:800
}
.pos-float{
  position:absolute;
  z-index:5;
  width:190px;
  padding:14px 15px;
  border-radius:20px;
  background:rgba(255,255,255,.9);
  border:1px solid rgba(20,20,20,.07);
  box-shadow:0 18px 42px rgba(29,13,22,.13);
  backdrop-filter:blur(16px)
}
.pos-float strong{
  display:block;
  font-size:.88rem
}
.pos-float span{
  display:block;
  margin-top:4px;
  color:#726970;
  font-size:.74rem;
  line-height:1.75
}
.pos-float.a{
  right:0;
  top:88px
}
.pos-float.b{
  left:2px;
  top:252px
}
.pos-float.c{
  right:28px;
  bottom:12px
}
@keyframes posTerminalFloat{
  0%,100%{
    transform:rotate(-5deg) translateY(0)
  }
  50%{
    transform:rotate(-4deg) translateY(-10px)
  }
}
.pos-benefit-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px
}
.pos-benefit-card{
  padding:22px;
  border-radius:25px;
  border:1px solid #ece8ec;
  background:#fff;
  box-shadow:0 18px 36px rgba(24,15,21,.05);
  height:100%
}
.pos-benefit-icon{
  width:46px;
  height:46px;
  border-radius:15px;
  display:grid;
  place-items:center;
  background:#f8edf2;
  color:#a5164c;
  font-weight:900;
  margin-bottom:16px
}
.pos-benefit-card h3{
  font-size:1.04rem;
  margin-bottom:7px
}
.pos-benefit-card p{
  margin:0;
  color:#6d666d;
  line-height:1.9;
  font-size:.88rem
}
.pos-integration{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:30px;
  align-items:center
}
.pos-flow{
  position:relative;
  padding:28px;
  border-radius:32px;
  background:linear-gradient(145deg,#171317,#271922);
  color:#fff;
  box-shadow:0 28px 58px rgba(28,14,22,.16);
  overflow:hidden
}
.pos-flow:before{
  content:"";
  position:absolute;
  width:220px;
  height:220px;
  border-radius:50%;
  left:-80px;
  top:-95px;
  background:radial-gradient(circle,rgba(194,24,91,.28),transparent 68%)
}
.pos-flow-node{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  gap:13px;
  padding:15px;
  border-radius:18px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.09);
  margin-bottom:12px
}
.pos-flow-node:last-child{
  margin-bottom:0
}
.pos-flow-node i{
  width:42px;
  height:42px;
  flex:0 0 42px;
  border-radius:14px;
  background:#fff;
  color:#161216;
  display:grid;
  place-items:center;
  font-style:normal;
  font-weight:900
}
.pos-flow-node strong{
  display:block;
  font-size:.92rem
}
.pos-flow-node span{
  display:block;
  margin-top:3px;
  color:rgba(255,255,255,.68);
  font-size:.76rem;
  line-height:1.7
}
.pos-flow-line{
  width:2px;
  height:18px;
  background:linear-gradient(#c2185b,#7a4dff);
  margin:-2px 35px 10px auto;
  position:relative;
  z-index:2
}
.pos-copy-list{
  display:grid;
  gap:13px;
  margin-top:22px
}
.pos-copy-item{
  padding:17px 18px;
  border-radius:20px;
  background:#faf8fa;
  border:1px solid #eee9ed
}
.pos-copy-item strong{
  display:block;
  font-size:.95rem;
  margin-bottom:5px
}
.pos-copy-item span{
  display:block;
  color:#706870;
  font-size:.86rem;
  line-height:1.85
}
.pos-settlement-card{
  position:relative;
  padding:34px;
  border-radius:34px;
  background:linear-gradient(135deg,#fdf2f7,#f6f0ff 56%,#fff6ec);
  border:1px solid rgba(194,24,91,.08);
  overflow:hidden
}
.pos-settlement-card:after{
  content:"۳۰۰";
  position:absolute;
  left:24px;
  bottom:-28px;
  font-size:9rem;
  font-weight:950;
  color:rgba(194,24,91,.055);
  line-height:1
}
.pos-settlement-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:1.1fr repeat(3,minmax(0,.7fr));
  gap:18px;
  align-items:center
}
.pos-big-metric strong{
  display:block;
  font-size:clamp(2.2rem,5vw,4.2rem);
  line-height:1;
  color:#a5134b
}
.pos-big-metric span{
  display:block;
  margin-top:8px;
  color:#5f5860;
  font-size:.95rem;
  line-height:1.9
}
.pos-mini-metric{
  padding:17px;
  border-radius:20px;
  background:rgba(255,255,255,.8);
  border:1px solid rgba(255,255,255,.9);
  box-shadow:0 14px 30px rgba(26,14,21,.05)
}
.pos-mini-metric strong{
  display:block;
  font-size:1rem
}
.pos-mini-metric span{
  display:block;
  margin-top:6px;
  color:#716970;
  font-size:.8rem;
  line-height:1.75
}
.pos-sector-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px
}
.pos-sector-card{
  padding:20px;
  border-radius:24px;
  background:#111;
  color:#fff;
  min-height:170px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  position:relative;
  overflow:hidden
}
.pos-sector-card:before{
  content:"";
  position:absolute;
  width:140px;
  height:140px;
  border-radius:50%;
  left:-40px;
  top:-45px;
  background:radial-gradient(circle,rgba(194,24,91,.45),transparent 68%)
}
.pos-sector-card h3,.pos-sector-card p{
  position:relative;
  z-index:1
}
.pos-sector-card h3{
  font-size:1.02rem
}
.pos-sector-card p{
  margin:5px 0 0;
  color:rgba(255,255,255,.67);
  font-size:.8rem;
  line-height:1.8
}
.pos-cta{
  padding:38px;
  border-radius:34px;
  background:linear-gradient(135deg,#170f15,#4d1431 58%,#8d1c50);
  color:#fff;
  position:relative;
  overflow:hidden
}
.pos-cta:before{
  content:"";
  position:absolute;
  width:230px;
  height:230px;
  border-radius:50%;
  left:-70px;
  top:-90px;
  background:radial-gradient(circle,rgba(255,255,255,.16),transparent 68%)
}
.pos-cta>*{
  position:relative;
  z-index:1
}
.pos-cta p{
  max-width:720px;
  color:rgba(255,255,255,.75);
  line-height:2
}
.pos-cta-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px
}
@media(max-width:991.98px){
  .pos-hero{
    padding-top:52px
  }
  .pos-stage{
    min-height:500px
  }
  .pos-benefit-grid,.pos-sector-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .pos-integration{
    grid-template-columns:1fr
  }
  .pos-settlement-grid{
    grid-template-columns:1fr 1fr
  }
  .pos-big-metric{
    grid-column:1/3
  }
}
@media(max-width:575.98px){
  .pos-hero{
    padding-top:38px;
    padding-bottom:54px
  }
  .pos-hero-actions .btn-f{
    width:100%
  }
  .pos-stage{
    min-height:440px
  }
  .pos-terminal{
    width:210px;
    height:360px;
    border-radius:34px
  }
  .pos-terminal:before{
    inset:18px 20px auto;
    height:122px
  }
  .pos-terminal:after{
    top:62px
  }
  .pos-keypad{
    right:34px;
    left:34px;
    top:174px;
    gap:8px
  }
  .pos-keypad i{
    height:32px
  }
  .pos-paper{
    right:57px;
    width:96px
  }
  .pos-float{
    width:145px;
    padding:10px 11px
  }
  .pos-float strong{
    font-size:.76rem
  }
  .pos-float span{
    font-size:.66rem
  }
  .pos-float.a{
    right:0;
    top:58px
  }
  .pos-float.b{
    left:0;
    top:208px
  }
  .pos-float.c{
    right:8px;
    bottom:0
  }
  .pos-benefit-grid,.pos-sector-grid,.pos-settlement-grid{
    grid-template-columns:1fr
  }
  .pos-big-metric{
    grid-column:auto
  }
  .pos-settlement-card{
    padding:24px
  }
  .pos-cta{
    padding:28px 22px
  }
  .pos-flow{
    padding:20px
  }
}
/* v4.6 photoreal sector cards with premium animated imagery */
.finow-sector-strip{
  align-items:stretch
}
.finow-sector-item{
  display:flex;
  flex-direction:column;
  gap:14px;
  padding:14px;
  min-height:0;
  background:linear-gradient(180deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.95) 100%)
}
.finow-sector-item:after{
  bottom:12px
}
.finow-sector-media{
  position:relative;
  height:100px;
  max-height:100px;
  border-radius:18px;
  overflow:hidden;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.22),0 12px 22px rgba(21,16,24,.08);
  background:#f3f2f4
}
.finow-sector-media img{
  width:100%;
  height:100%;
  max-height:100px;
  display:block;
  object-fit:cover;
  object-position:center;
  transform:scale(1.01);
  transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .45s ease;
  filter:saturate(1.04) contrast(1.02)
}
.finow-sector-media:before{
  content:"";
  position:absolute;
  inset:-18px auto -18px -48%;
  width:34%;
  background:linear-gradient(120deg,rgba(255,255,255,0),rgba(255,255,255,.24),rgba(255,255,255,0));
  transform:skewX(-18deg);
  animation:sectorSweep 7.5s ease-in-out infinite;
  pointer-events:none;
  mix-blend-mode:screen
}
.finow-sector-media:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(12,10,14,.04),rgba(12,10,14,.12));
  pointer-events:none
}
.finow-sector-media-glow{
  position:absolute;
  inset:auto 8px 8px auto;
  width:56px;
  height:56px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.32) 0%,rgba(255,255,255,0) 70%);
  filter:blur(2px);
  pointer-events:none
}
.finow-sector-meta{
  display:flex;
  align-items:flex-start;
  gap:12px;
  min-width:0;
  position:relative;
  z-index:1
}
.finow-sector-icon{
  margin-top:-8px;
  box-shadow:0 12px 26px rgba(18,12,18,.1);
  backdrop-filter:blur(10px)
}
.finow-sector-item:hover .finow-sector-media img{
  transform:scale(1.08);
  filter:saturate(1.08) contrast(1.05)
}
.finow-sector-item:hover .finow-sector-media:before{
  animation-duration:3.8s
}
.finow-sector-item:hover .finow-sector-icon{
  transform:translateY(-2px)
}
.finow-sector-content p{
  min-height:0
}
.finow-sector-strip .finow-sector-item:nth-child(1){
  animation:sectorFloatIn .65s .02s both
}
.finow-sector-strip .finow-sector-item:nth-child(2){
  animation:sectorFloatIn .65s .12s both
}
.finow-sector-strip .finow-sector-item:nth-child(3){
  animation:sectorFloatIn .65s .22s both
}
.finow-sector-strip .finow-sector-item:nth-child(4){
  animation:sectorFloatIn .65s .32s both
}
@keyframes sectorSweep{
  0%,18%{
    transform:translateX(0) skewX(-18deg);
    opacity:0
  }
  32%{
    opacity:.75
  }
  52%{
    transform:translateX(420%) skewX(-18deg);
    opacity:.2
  }
  100%{
    transform:translateX(420%) skewX(-18deg);
    opacity:0
  }
}
@keyframes sectorFloatIn{
  0%{
    opacity:0;
    transform:translateY(16px)
  }
  100%{
    opacity:1;
    transform:none
  }
}
@media(max-width:991.98px){
  .finow-sector-media,.finow-sector-media img{
    height:96px;
    max-height:96px
  }
}
@media(max-width:575.98px){
  .finow-sector-item{
    padding:12px;
    border-radius:20px;
    gap:12px
  }
  .finow-sector-media,.finow-sector-media img{
    height:92px;
    max-height:92px;
    border-radius:16px
  }
  .finow-sector-icon{
    margin-top:-6px
  }
}
@media(prefers-reduced-motion:reduce){
  .finow-sector-strip .finow-sector-item,.finow-sector-media img,.finow-sector-icon{
    animation:none!important;
    transition:none!important
  }
  .finow-sector-media:before{
    animation:none!important;
    opacity:0
  }
}
/* v4.7 — mobile-first spacing, Apple glass navigation, responsive imagery & interaction polish */
.site-header{
  background:rgba(255,255,255,.68)!important;
  -webkit-backdrop-filter:blur(28px) saturate(180%);
  backdrop-filter:blur(28px) saturate(180%);
  border:1px solid rgba(255,255,255,.72)!important;
  box-shadow:0 12px 38px rgba(24,20,28,.10),inset 0 1px 0 rgba(255,255,255,.78)!important;
}
.site-header:before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:linear-gradient(120deg,rgba(255,255,255,.44),rgba(255,255,255,.09) 38%,rgba(255,255,255,.22) 72%,rgba(255,255,255,.05));
  opacity:.72
}
.site-header .container-xl,.site-header .inner{
  position:relative;
  z-index:1
}
.site-header.is-scrolled{
  background:rgba(255,255,255,.78)!important;
  border-color:rgba(255,255,255,.88)!important;
  box-shadow:0 18px 46px rgba(24,20,28,.15),inset 0 1px 0 rgba(255,255,255,.9)!important
}
.business-header{
  background:rgba(20,20,22,.72)!important;
  border-color:rgba(255,255,255,.18)!important;
  box-shadow:0 14px 42px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.12)!important
}
.business-header:before{
  background:linear-gradient(120deg,rgba(255,255,255,.13),rgba(255,255,255,.025) 45%,rgba(255,255,255,.08));
  opacity:1
}
.business-header.is-scrolled{
  background:rgba(20,20,22,.82)!important;
  border-color:rgba(255,255,255,.22)!important
}
.site-header .nav-linkish,.site-header .btn-f,.site-header .icon-btn{
  transition:transform .22s cubic-bezier(.2,.8,.2,1),background-color .22s ease,box-shadow .22s ease,border-color .22s ease
}
.site-header .nav-linkish:hover{
  transform:translateY(-1px);
  background:rgba(255,255,255,.54)
}
.business-header .nav-linkish:hover{
  background:rgba(255,255,255,.09)
}
.site-header .icon-btn{
  background:rgba(255,255,255,.62);
  border-color:rgba(25,25,25,.08);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px)
}
.business-header .icon-btn{
  background:rgba(255,255,255,.1);
  border-color:rgba(255,255,255,.15);
  color:#fff
}
.btn-f,.search-go,.compact-field,.search-field,.chip,.result-card,.fresha-card,.commerce-card,.platform-link,.footer-store-badge,.shop-product-card,.sup-company-card{
  transition-timing-function:cubic-bezier(.2,.8,.2,1)!important
}
.search-field:hover,.search-field:focus-within,.compact-field:hover,.compact-field:focus-within{
  background:rgba(255,255,255,.96);
  box-shadow:0 10px 28px rgba(31,20,28,.08),0 0 0 3px rgba(194,24,91,.055);
  border-color:rgba(194,24,91,.16)
}
.btn-f:active,.search-go:active,.icon-btn:active,.chip:active,.platform-link:active,.footer-store-badge:active{
  transform:scale(.97)!important
}
.result-card:hover,.fresha-card:hover,.commerce-card:hover,.shop-product-card:hover,.sup-company-card:hover{
  box-shadow:0 20px 46px rgba(24,16,22,.10)
}
.search-go{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important
}
.search-go img{
  width:25px!important;
  height:25px!important;
  flex:0 0 25px!important;
  object-fit:contain!important;
  background:transparent!important;
  border-radius:0!important;
  padding:0!important;
  filter:brightness(0) invert(1)!important
}
.search-go span{
  display:inline-block!important;
  white-space:nowrap!important;
  line-height:1!important;
  font-weight:800!important
}
.footer-store-badges{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:8px!important;
  align-items:center!important;
  width:100%;
  max-width:290px
}
.footer .footer-store-badge{
  min-width:0;
  flex:1 1 0
}
.footer-store-badge img{
  display:block;
  width:100%!important;
  max-width:138px;
  height:auto!important;
  aspect-ratio:3.25/1;
  object-fit:contain
}
@media(max-width:991.98px){
  .site-header{
    background:rgba(255,255,255,.70)!important;
    -webkit-backdrop-filter:blur(26px) saturate(180%);
    backdrop-filter:blur(26px) saturate(180%)
  }
  .business-header{
    background:rgba(20,20,22,.74)!important
  }
  .search-go{
    height:54px!important;
    border-radius:999px!important;
    font-size:.92rem!important
  }
  .search-go img{
    width:25px!important;
    height:25px!important
  }
}
@media(max-width:767.98px){
  html,body{
    max-width:100%;
    overflow-x:hidden
  }
  :where(.container,.container-fluid,.container-sm,.container-md,.container-lg,.container-xl,.container-xxl){
    padding-left:5px!important;
    padding-right:5px!important
  }
  .row{
    --bs-gutter-x:10px
  }
  .site-header{
    width:calc(100% - 10px)!important;
    top:5px!important;
    border-radius:20px!important
  }
  :root{
    --floating-header-top:5px;
    --floating-header-space:78px
  }
  .site-header .inner{
    padding-inline:5px;
    gap:8px
  }
  .brand-logo{
    width:108px;
    max-height:27px
  }
  .business-header .brand-logo{
    width:102px
  }
  .hero>.container-xl,.hero .container-xl:first-child,.biz-hero>.container-xl,.biz-hero .container-xl:first-child,.app-hero .container-xl,.shop-hero .container-xl,.sup-hero .container-xl,.pos-hero .container-xl{
    padding-left:10px!important;
    padding-right:10px!important
  }
  .hero h1,.hero .display-finow,.biz-hero h1,.app-hero h1,.shop-hero h1,.sup-hero h1,.pos-hero h1{
    width:100%;
    max-width:none!important;
    margin-inline:0!important;
    text-wrap:balance
  }
  .hero-sub,.app-lead,.shop-hero-copy>p,.sup-hero p,.pos-hero .hero-sub{
    max-width:none!important;
    width:100%;
    margin-inline:0!important
  }
  .finow-sector-strip{
    padding-left:0!important;
    padding-right:0!important;
    gap:8px!important
  }
  .finow-sector-item{
    width:100%;
    padding:5px 5px 12px!important;
    border-radius:22px!important;
    gap:10px!important
  }
  .finow-sector-media{
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    aspect-ratio:16/9;
    border-radius:18px!important
  }
  .finow-sector-media img{
    width:100%!important;
    height:100%!important;
    max-height:none!important;
    aspect-ratio:16/9;
    object-fit:cover;
    border-radius:18px!important
  }
  .sector-health .finow-sector-media img{
    object-position:42% center
  }
  .sector-beauty .finow-sector-media img{
    object-position:52% center
  }
  .sector-wellness .finow-sector-media img{
    object-position:55% center
  }
  .sector-dental .finow-sector-media img{
    object-position:42% center
  }
  .finow-sector-icon{
    display:none!important
  }
  .finow-sector-meta{
    display:block!important;
    padding:1px 7px 0
  }
  .finow-sector-top{
    margin-bottom:5px
  }
  .finow-sector-content p{
    font-size:.82rem;
    line-height:1.85
  }
  .finow-sector-content small{
    margin-top:7px
  }
  .fresha-card{
    flex-basis:calc(100vw - 10px)!important;
    max-width:calc(100vw - 10px)!important
  }
  .fresha-card-media{
    width:100%!important;
    height:auto!important;
    aspect-ratio:16/9;
    border-radius:18px!important
  }
  .fresha-card-media img{
    width:100%;
    height:100%;
    object-fit:cover
  }
  .commerce-card .commerce-visual{
    width:100%;
    aspect-ratio:16/9!important;
    height:auto;
    border-radius:18px
  }
  .commerce-card .commerce-visual img{
    width:100%;
    height:100%;
    object-fit:cover
  }
  .results-col{
    padding-left:5px!important;
    padding-right:5px!important
  }
  .search-headerbar .container-xl{
    padding-left:5px!important;
    padding-right:5px!important
  }
  .compact-search{
    gap:5px!important
  }
  .compact-field{
    min-width:0;
    padding-inline:12px
  }
  .search-shell{
    margin-left:0!important;
    margin-right:0!important;
    width:100%!important;
    padding:7px!important;
    border-radius:22px!important
  }
  .search-go{
    width:100%!important;
    height:54px!important;
    min-width:0!important;
    gap:9px!important
  }
  .footer-store-download{
    width:100%
  }
  .footer-store-badges{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:6px!important;
    max-width:100%!important;
    width:100%!important
  }
  .footer .footer-store-badge{
    width:100%!important;
    min-width:0!important;
    display:flex!important;
    align-items:center;
    justify-content:center
  }
  .footer-store-badge img{
    width:100%!important;
    max-width:none!important;
    height:auto!important;
    object-fit:contain
  }
  .btn-f,.search-go,.icon-btn,.chip,.platform-link,.province-pill,.shop-quick-tag,.sup-filter{
    -webkit-tap-highlight-color:transparent
  }
  .btn-f:active,.search-go:active,.icon-btn:active,.chip:active,.platform-link:active,.province-pill:active,.shop-quick-tag:active,.sup-filter:active{
    transform:scale(.965)!important;
    transition-duration:.08s!important
  }
}
@media(max-width:420px){
  .footer-store-badges{
    gap:5px!important
  }
  .footer-store-badge img{
    min-width:0!important
  }
}
@media(prefers-reduced-motion:reduce){
  .site-header,.btn-f,.search-go,.compact-field,.search-field,.chip,.result-card,.fresha-card,.commerce-card,.platform-link,.footer-store-badge,.shop-product-card,.sup-company-card{
    transition:none!important
  }
}
@media(max-width:767.98px){
  body .container,body .container-fluid,body .container-sm,body .container-md,body .container-lg,body .container-xl,body .container-xxl{
    padding-left:5px!important;
    padding-right:5px!important
  }
}
/* v4.8 — 20px mobile rhythm, stronger centered hero, support bottom navigation */
@media(max-width:767.98px){
  body .container,body .container-fluid,body .container-sm,body .container-md,body .container-lg,body .container-xl,body .container-xxl,
  :where(.container,.container-fluid,.container-sm,.container-md,.container-lg,.container-xl,.container-xxl){
    padding-left:20px!important;
    padding-right:20px!important
  }
  .row{
    --bs-gutter-x:20px
  }
  .site-header{
    width:calc(100% - 20px)!important;
    right:10px!important;
    left:10px!important
  }
  .site-header .container-xl{
    padding-left:10px!important;
    padding-right:10px!important
  }
  .site-header .inner{
    padding-inline:0!important
  }
  .hero>.container-xl,.hero .container-xl:first-child,.biz-hero>.container-xl,.biz-hero .container-xl:first-child,.app-hero .container-xl,.shop-hero .container-xl,.sup-hero .container-xl,.pos-hero .container-xl{
    padding-left:20px!important;
    padding-right:20px!important
  }
  .hero h1,.hero .display-finow,.biz-hero h1,.biz-hero .display-finow,.app-hero h1,.app-hero .display-finow,.shop-hero h1,.sup-hero h1,.pos-hero h1,.pos-hero .display-finow{
    width:100%!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
    font-size:clamp(2.8rem,10vw,4.2rem)!important;
    font-weight:900!important;
    line-height:1.16!important;
    letter-spacing:-.045em!important;
    text-wrap:balance
  }
  .hero-sub,.app-lead,.shop-hero-copy>p,.sup-hero p,.pos-hero .hero-sub,.biz-hero .hero-sub{
    max-width:none!important;
    width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important
  }
  .biz-hero-actions,.app-hero-actions,.pos-hero-actions{
    justify-content:center!important
  }
  .results-col{
    padding-left:20px!important;
    padding-right:20px!important
  }
  .search-headerbar .container-xl{
    padding-left:20px!important;
    padding-right:20px!important
  }
  .mobile-bottom{
    direction:rtl;
    height:70px;
    padding:5px 10px max(5px,env(safe-area-inset-bottom));
    background:rgba(255,255,255,.78)!important;
    border:1px solid rgba(255,255,255,.84)!important;
    border-radius:22px 22px 0 0;
    box-shadow:0 -14px 38px rgba(22,16,22,.12),inset 0 1px 0 rgba(255,255,255,.85);
    -webkit-backdrop-filter:blur(24px) saturate(185%);
    backdrop-filter:blur(24px) saturate(185%);
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:2px
  }
  .mobile-bottom a,.mobile-bottom button{
    appearance:none;
    -webkit-appearance:none;
    border:0;
    background:transparent;
    color:#69636a;
    font-family:inherit;
    font-size:.69rem;
    font-weight:700;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:2px;
    min-width:0;
    border-radius:15px;
    padding:5px 2px;
    transition:background .2s ease,color .2s ease,transform .16s ease;
    text-decoration:none
  }
  .mobile-bottom a span,.mobile-bottom button span{
    white-space:nowrap
  }
  .mobile-bottom a svg,.mobile-bottom button svg{
    display:block;
    margin:0 auto;
    width:20px;
    height:20px
  }
  .mobile-bottom a.active,.mobile-bottom button[aria-expanded="true"]{
    color:#c2185b;
    background:rgba(194,24,91,.08);
    font-weight:850
  }
  .mobile-bottom a:active,.mobile-bottom button:active{
    transform:scale(.94)
  }
  [data-mobile-bottom]{
    position:relative;
    z-index:1081
  }
  .mobile-support-popover{
    position:fixed;
    right:20px;
    left:20px;
    bottom:82px;
    z-index:1085;
    padding:12px;
    border-radius:24px;
    background:rgba(255,255,255,.88);
    border:1px solid rgba(255,255,255,.9);
    box-shadow:0 24px 65px rgba(29,17,27,.2),inset 0 1px 0 rgba(255,255,255,.92);
    -webkit-backdrop-filter:blur(28px) saturate(190%);
    backdrop-filter:blur(28px) saturate(190%);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(14px) scale(.97);
    transform-origin:bottom left;
    transition:opacity .2s ease,transform .24s cubic-bezier(.2,.85,.2,1),visibility .2s ease
  }
  [data-mobile-bottom].support-open .mobile-support-popover{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none
  }
  .mobile-support-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:3px 5px 10px
  }
  .mobile-support-head strong{
    font-size:.88rem
  }
  .mobile-support-close{
    width:32px;
    height:32px;
    border-radius:11px;
    border:1px solid rgba(23,20,23,.07);
    background:rgba(255,255,255,.7);
    font-size:1.25rem;
    line-height:1;
    display:grid;
    place-items:center;
    color:#423a42
  }
  .mobile-support-links{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px
  }
  .mobile-support-links a{
    display:flex!important;
    align-items:center;
    gap:9px;
    padding:11px!important;
    border-radius:17px;
    background:rgba(248,247,249,.9);
    border:1px solid rgba(25,20,25,.06);
    color:#201b20!important;
    min-width:0;
    transition:transform .18s ease,background .18s ease,box-shadow .18s ease
  }
  .mobile-support-links a:active{
    transform:scale(.97)
  }
  .mobile-support-mark{
    width:36px;
    height:36px;
    flex:0 0 36px;
    border-radius:12px;
    background:linear-gradient(145deg,#171317,#39202e);
    color:#fff;
    display:grid;
    place-items:center;
    font-size:.76rem;
    font-weight:900;
    direction:ltr
  }
  .mobile-support-links a:nth-child(1) .mobile-support-mark{
    background:linear-gradient(145deg,#31a9e9,#147bc0)
  }
  .mobile-support-links a:nth-child(2) .mobile-support-mark{
    background:linear-gradient(145deg,#242126,#514752)
  }
  .mobile-support-links a:nth-child(3) .mobile-support-mark{
    background:linear-gradient(145deg,#52d681,#22a956)
  }
  .mobile-support-links a:nth-child(4) .mobile-support-mark{
    background:linear-gradient(145deg,#4fb6ed,#238ac5)
  }
  .mobile-support-links strong{
    display:block;
    font-size:.77rem;
    line-height:1.3
  }
  .mobile-support-links small{
    display:block;
    margin-top:3px;
    color:#8a8088;
    font-size:.62rem;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis
  }
}
@media(max-width:390px){
  .mobile-support-popover{
    right:12px;
    left:12px
  }
  .mobile-support-links{
    grid-template-columns:1fr 1fr
  }
  .mobile-bottom a,.mobile-bottom button{
    font-size:.64rem
  }
  .mobile-bottom{
    padding-inline:5px
  }
}
/* v4.8 header positioning correction after 20px mobile spacing */
@media(max-width:767.98px){
  body{
    padding-bottom:80px!important
  }
  .site-header{
    left:10px!important;
    right:10px!important;
    width:auto!important;
    transform:none!important
  }
}
/* v4.9 — real content offset instead of height on [data-site-header] */
.footer-about-copy{
  max-width:560px;
  font-size:.84rem;
  line-height:2;
  color:#aaaab0
}
.footer-about-copy p{
  margin:0 0 11px;
  color:inherit
}
.footer-about-copy p:last-child{
  margin-bottom:0
}
@media(min-width:992px){
  .footer-grid{
    grid-template-columns:minmax(300px,1.8fr) repeat(4,minmax(120px,1fr));
    gap:24px
  }
}
@media(max-width:767.98px){
  body>main{
    padding-top:var(--floating-header-space)
  }
  .footer-about-copy{
    max-width:none;
    font-size:.8rem;
    line-height:1.95
  }
}
/* Modern delayed loader: only becomes visible if the page is genuinely slow. */
.finow-page-loader{
  position:fixed;
  inset:0;
  z-index:5000;
  display:grid;
  place-items:center;
  background:rgba(250,249,251,.78);
  -webkit-backdrop-filter:blur(24px) saturate(160%);
  backdrop-filter:blur(24px) saturate(160%);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .28s ease,visibility .28s ease
}
body.finow-loading-slow .finow-page-loader{
  opacity:1;
  visibility:visible;
  pointer-events:auto
}
.finow-page-loader.is-done{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important
}
.finow-loader-core{
  width:min(270px,78vw);
  padding:25px 24px 22px;
  border-radius:30px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(255,255,255,.96);
  box-shadow:0 28px 80px rgba(27,17,25,.14),inset 0 1px 0 #fff;
  text-align:center;
  position:relative;
  overflow:hidden
}
.finow-loader-core:before{
  content:"";
  position:absolute;
  inset:-60% -20%;
  background:conic-gradient(from 0deg,transparent,rgba(194,24,91,.08),transparent 28%,rgba(106,76,255,.08),transparent 58%);
  animation:finowLoaderAura 4s linear infinite;
  pointer-events:none
}
.finow-loader-logo-wrap{
  width:112px;
  height:70px;
  margin:0 auto 8px;
  display:grid;
  place-items:center;
  position:relative;
  z-index:1
}
.finow-loader-logo{
  width:104px;
  height:auto;
  display:block;
  animation:finowLoaderLogo 1.8s cubic-bezier(.2,.8,.2,1) infinite
}
.finow-loader-status{
  position:relative;
  z-index:1;
  font-size:.79rem;
  font-weight:780;
  color:#524a51;
  margin-top:5px
}
.finow-loader-track{
  position:relative;
  z-index:1;
  width:100%;
  height:4px;
  border-radius:999px;
  background:#eee8ec;
  overflow:hidden;
  margin-top:15px
}
.finow-loader-track i{
  display:block;
  width:42%;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#c2185b,#7f55e8,#ff8e4c);
  animation:finowLoaderBar 1.25s cubic-bezier(.4,0,.2,1) infinite
}
@keyframes finowLoaderLogo{
  0%,100%{
    transform:translateY(0) scale(1);
    filter:drop-shadow(0 7px 12px rgba(194,24,91,.08))
  }
  50%{
    transform:translateY(-4px) scale(1.025);
    filter:drop-shadow(0 13px 18px rgba(194,24,91,.16))
  }
}
@keyframes finowLoaderBar{
  0%{
    transform:translateX(145%)
  }
  100%{
    transform:translateX(-245%)
  }
}
@keyframes finowLoaderAura{
  to{
    transform:rotate(360deg)
  }
}
.finow-picture{
  display:contents
}
@media(prefers-reduced-motion:reduce){
  .finow-loader-logo,.finow-loader-track i,.finow-loader-core:before{
    animation:none!important
  }
}
/* v4.10 — footer cleanup + proportional content imagery */
.mobile-support-popover{
  display:none
}
@media(max-width:767.98px){
  .mobile-support-popover{
    display:block
  }
}
.home-business-media{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:16/10;
  max-height:390px;
  object-fit:cover;
  object-position:center;
  border-radius:28px!important
}
/* Keep editorial/content images proportional instead of allowing intrinsic height to stretch sections. */
main .row>div>img.rounded-5{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:16/10;
  max-height:440px;
  object-fit:cover;
  object-position:center
}
/* Business marketplace/payment media: fixed proportional frames, no image distortion. */
.biz-marketplace-stage,.payment-terminal-stage{
  min-height:0!important;
  aspect-ratio:4/3;
  height:auto;
  overflow:hidden
}
.biz-marketplace-stage{
  display:block;
  padding:0!important;
  background:linear-gradient(145deg,#d9d0ff,#eef8ff)
}
.biz-marketplace-stage>img{
  display:block;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center!important;
  filter:none!important
}
.marketplace-float-card{
  z-index:2
}
.payment-terminal-stage{
  padding:0!important;
  background:linear-gradient(145deg,#e3f6ff,#f0edff)
}
.payment-terminal-stage img{
  position:absolute!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  inset:0!important;
  object-fit:cover!important;
  object-position:center!important;
  filter:none!important;
  transform:none!important
}
.payment-terminal-stage .terminal-right{
  display:none!important
}
/* Common media frames throughout marketing pages. */
.finow-context-cover,.biz-feature-shot,.biz-app-card img,.desktop-shot[src*="/photoreal/"]{
  height:auto;
  object-fit:cover;
  object-position:center
}
@media(max-width:767.98px){
  .home-business-media,main .row>div>img.rounded-5{
    aspect-ratio:16/9;
    max-height:320px;
    border-radius:20px!important
  }
  .biz-marketplace-stage,.payment-terminal-stage{
    aspect-ratio:16/10;
    border-radius:24px!important
  }
  .marketplace-float-card{
    right:14px!important;
    top:14px!important;
    width:min(220px,72%)!important
  }
}
/* finow+4.11 — header flow, footer cleanup and media aspect-ratio hardening */
[data-site-header]{
  height:auto!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important
}
.site-header{
  height:var(--floating-header-height)!important
}
/* Mobile support is no longer rendered as a second block near the footer. */
.mobile-support-popover,.mobile-support-head,.mobile-support-links{
  display:none!important
}
/* Standalone editorial/content imagery: keep proportions predictable without stretching. */
.home-business-media{
  width:100%!important;
  aspect-ratio:16/10!important;
  height:auto!important;
  max-height:380px!important;
  object-fit:cover!important;
  object-position:center!important
}
.biz-marketplace-stage{
  aspect-ratio:4/3!important;
  min-height:0!important;
  height:auto!important;
  overflow:hidden!important;
  padding:0!important
}
.biz-marketplace-stage>img{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center!important
}
.payment-terminal-stage{
  aspect-ratio:4/3!important;
  min-height:0!important;
  height:auto!important;
  overflow:hidden!important;
  padding:0!important
}
.payment-terminal-stage>img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center!important;
  transform:none!important
}
.payment-terminal-stage>.terminal-right{
  display:none!important
}
.finow-context-cover,.biz-feature-shot,.biz-app-card img{
  height:auto!important;
  object-fit:cover!important;
  object-position:center!important
}
@media(max-width:767.98px){
  .home-business-media{
    aspect-ratio:16/9!important;
    max-height:300px!important
  }
  .biz-marketplace-stage,.payment-terminal-stage{
    aspect-ratio:16/10!important;
    border-radius:24px!important
  }
}
/* === Feature / Connect / Payments pages === */
/* FINOW v12 — editorial business pages */
.fx-page{
  --fx-purple:#6742dd;
  --fx-text:#22212c;
  --fx-muted:#72707e;
  --fx-line:#e9e6ef;
  color:var(--fx-text)
}
.fx-wrap{
  width:min(1240px,calc(100% - 64px));
  margin-inline:auto
}
.fx-section{
  padding:100px 0
}
.fx-soft{
  background:#f8f8fa
}
.fx-lilac{
  background:#f3effd
}
.fx-dark{
  background:#201b2e;
  color:#fff
}
.fx-eyebrow{
  display:block;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.025em;
  color:var(--fx-purple);
  margin-bottom:20px
}
.fx-hero{
  padding:52px 0 88px;
  background:radial-gradient(ellipse at 10% 40%,#e9e0ff,transparent 55%),#faf8ff;
  overflow:hidden
}
.fx-hero-grid{
  display:grid;
  grid-template-columns:.92fr 1.08fr;
  gap:60px;
  align-items:center;
  min-height:575px
}
.fx-hero h1{
  font-size:clamp(2.7rem,4.3vw,4.6rem);
  line-height:1.25;
  font-weight:900;
  letter-spacing:-.045em;
  margin-bottom:26px
}
.fx-hero h1 em{
  font-style:normal;
  color:var(--fx-purple)
}
.fx-hero p{
  font-size:1.08rem;
  line-height:2;
  color:#666172;
  max-width:560px
}
.fx-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:32px
}
.fx-btn{
  display:inline-flex;
  gap:24px;
  align-items:center;
  justify-content:center;
  background:#25212d;
  color:#fff;
  padding:14px 24px;
  border:1px solid transparent;
  border-radius:14px;
  font-weight:700;
  transition:background .2s,transform .2s;
  cursor:pointer;
  min-height:52px;
  font-family:inherit
}
.fx-btn:hover{
  color:white;
  background:var(--fx-purple);
  transform:translateY(-2px)
}
.fx-btn-light{
  background:white;
  color:#262032;
  border-color:#ded9e8
}
.fx-btn-light:hover{
  background:#eee7ff;
  color:#432789
}
.fx-hero-foot{
  display:flex;
  gap:13px;
  align-items:center;
  margin-top:28px;
  font-size:.76rem;
  color:#827a90
}
.fx-hero-foot i{
  font-style:normal;
  color:#c6bdd5
}
.fx-hero-art{
  position:relative;
  padding-bottom:25px
}
.fx-hero-art>img{
  width:100%;
  height:540px;
  object-fit:cover;
  object-position:center;
  border-radius:40px 40px 130px 40px;
  box-shadow:0 28px 64px #37224919
}
.fx-glass{
  position:absolute;
  bottom:5px;
  right:26px;
  left:26px;
  backdrop-filter:blur(18px);
  background:#ffffffe8;
  padding:23px;
  border:1px solid #fff;
  border-radius:20px;
  box-shadow:0 10px 40px #25144015;
  font-weight:700;
  display:flex;
  gap:12px;
  align-items:center
}
.fx-pulse{
  width:9px;
  height:9px;
  border-radius:100%;
  background:#43a47e;
  box-shadow:0 0 0 6px #43a47e14
}
.fx-orbit{
  position:absolute;
  width:65px;
  height:65px;
  border-radius:22px;
  top:35px;
  left:-19px;
  background:linear-gradient(135deg,#fff9,#d6c3ff99);
  backdrop-filter:blur(6px);
  border:1px solid #fff;
  box-shadow:8px 10px 30px #40248122;
  transform:rotate(16deg);
  animation:fx-float 6s ease-in-out infinite
}
.fx-heading{
  margin-bottom:38px;
  max-width:760px
}
.fx-heading h2{
  font-size:clamp(1.9rem,3vw,3rem);
  font-weight:850;
  line-height:1.35;
  letter-spacing:-.03em;
  margin:0 0 18px
}
.fx-heading p{
  font-size:1.04rem;
  color:var(--fx-muted);
  line-height:1.95;
  margin:0
}
.fx-split{
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  gap:76px
}
.fx-reverse .fx-copy{
  order:2
}
.fx-split .fx-heading{
  margin-bottom:25px
}
.fx-photo img{
  width:100%;
  height:480px;
  object-fit:cover;
  border-radius:32px
}
.fx-checks{
  padding:0;
  list-style:none;
  display:grid;
  gap:17px;
  margin:22px 0 30px
}
.fx-checks li{
  position:relative;
  padding-right:29px;
  color:#5e596b
}
.fx-checks li:before{
  content:'✓';
  position:absolute;
  right:0;
  color:var(--fx-purple);
  font-weight:bold
}
.fx-card-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px
}
.fx-card{
  padding:30px;
  border:1px solid var(--fx-line);
  background:white;
  border-radius:22px;
  transition:transform .25s,box-shadow .25s
}
.fx-card:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 38px #2a1b4710
}
.fx-card h3,.fx-feature-grid h3{
  font-size:1.1rem;
  font-weight:800;
  margin:18px 0 10px
}
.fx-card p,.fx-feature-grid p{
  font-size:.92rem;
  line-height:1.95;
  color:var(--fx-muted);
  margin:0
}
.fx-tick{
  display:inline-grid;
  place-items:center;
  width:29px;
  height:29px;
  border-radius:9px;
  background:#f0eafb;
  color:var(--fx-purple);
  font-size:.84rem
}
.fx-dark .fx-card{
  background:#2b243d;
  border-color:#463858
}
.fx-dark .fx-card p,.fx-dark .fx-heading p{
  color:#c6bed4
}
.fx-dark .fx-eyebrow{
  color:#b49aef
}
.fx-dark .fx-tick{
  background:#403151;
  color:#c9adff
}
.fx-anchorbar{
  display:flex;
  justify-content:center;
  gap:40px;
  padding:23px 20px;
  border-bottom:1px solid var(--fx-line);
  font-size:.88rem;
  overflow:auto;
  white-space:nowrap
}
.fx-anchorbar a:hover{
  color:var(--fx-purple)
}
.fx-payment-rail{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:calc((100% - 40px)/3);
  gap:20px;
  overflow:auto;
  scroll-snap-type:x mandatory;
  scrollbar-width:thin;
  padding-bottom:15px
}
.fx-payment-rail article{
  border:1px solid var(--fx-line);
  border-radius:24px;
  overflow:hidden;
  scroll-snap-align:start;
  background:white
}
.fx-payment-rail img{
  width:100%;
  height:240px;
  object-fit:cover
}
.fx-payment-rail article>div{
  padding:25px
}
.fx-payment-rail h3{
  font-size:1.23rem;
  font-weight:800
}
.fx-payment-rail p{
  font-size:.9rem;
  line-height:1.9;
  color:var(--fx-muted)
}
.fx-scroll-controls{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  margin-top:-60px;
  margin-bottom:24px
}
.fx-scroll-controls button{
  width:42px;
  height:42px;
  border-radius:50%;
  background:white;
  border:1px solid var(--fx-line);
  font-size:1.2rem
}
.fx-provider-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:15px
}
.fx-provider-grid article{
  background:#fff;
  border:1px solid #eee8f8;
  border-radius:18px;
  padding:28px;
  text-align:center
}
.fx-provider-grid img{
  height:45px;
  max-width:120px;
  object-fit:contain;
  margin:auto
}
.fx-provider-grid h3{
  font-size:.9rem;
  margin:18px 0 0
}
.fx-note{
  font-size:.8rem!important;
  color:#827b8d!important;
  line-height:1.9!important;
  margin-top:20px
}
.fx-calculator{
  display:grid;
  gap:13px;
  background:#f8f6fc;
  border-radius:24px;
  padding:28px
}
.fx-calculator label{
  display:flex;
  justify-content:space-between;
  font-weight:700
}
.fx-calculator input:not([type=range]),.fx-calculator select{
  width:100%;
  padding:13px 16px;
  background:#fff;
  border:1px solid #ddd6e8;
  border-radius:12px;
  font-family:inherit
}
.fx-calculator input[type=range]{
  accent-color:var(--fx-purple);
  width:100%;
  margin:10px 0;
  direction:ltr
}
.fx-installment-result{
  padding:44px;
  background:#ece5fb;
  border-radius:32px;
  text-align:center
}
.fx-installment-result>strong{
  font-size:3rem;
  display:block;
  margin:15px 0 0
}
.fx-installment-result>p{
  font-size:.83rem;
  color:#766784
}
.fx-installment-result .fx-btn{
  margin-top:16px
}
#fx-installment-list{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px;
  margin:28px 0
}
#fx-installment-list>div{
  padding:13px 6px;
  background:#ffffffb8;
  border-radius:10px;
  font-size:.73rem
}
#fx-installment-list strong{
  display:block;
  margin-top:6px
}
.fx-split>.fx-card-grid{
  grid-template-columns:1fr
}
.fx-faq{
  max-width:900px
}
.fx-faq details{
  border-bottom:1px solid var(--fx-line);
  padding:23px 0
}
.fx-faq summary{
  cursor:pointer;
  list-style:none;
  display:flex;
  justify-content:space-between;
  gap:24px;
  font-weight:750;
  font-size:1.05rem
}
.fx-faq summary::-webkit-details-marker{
  display:none
}
.fx-faq summary span{
  font-size:1.4rem;
  font-weight:400
}
.fx-faq details[open] summary span{
  transform:rotate(45deg)
}
.fx-faq details p{
  color:var(--fx-muted);
  line-height:2;
  padding-top:20px;
  margin:0
}
.fx-related{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px
}
.fx-related a{
  display:flex;
  justify-content:space-between;
  padding:22px;
  border:1px solid var(--fx-line);
  border-radius:15px;
  font-size:.95rem;
  transition:background .2s
}
.fx-related a:hover{
  background:#f5f0ff
}
.fx-sectors{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px
}
.fx-sectors a{
  background:white;
  border-radius:22px;
  overflow:hidden;
  border:1px solid var(--fx-line)
}
.fx-sectors img{
  width:100%;
  height:220px;
  object-fit:cover;
  transition:transform .4s
}
.fx-sectors a:hover img{
  transform:scale(1.04)
}
.fx-sectors span{
  display:block;
  padding:20px;
  font-size:1.1rem;
  font-weight:bold
}
.fx-final{
  text-align:center;
  background:radial-gradient(ellipse at 50% 100%,#ded0fd,transparent 70%),#f9f6ff
}
.fx-final h2{
  font-size:clamp(2.4rem,4.5vw,4.5rem);
  font-weight:900;
  line-height:1.3
}
.fx-final p{
  color:var(--fx-muted);
  margin:25px 0
}
.fx-app-links{
  display:flex;
  justify-content:center;
  gap:35px;
  flex-wrap:wrap;
  margin-top:44px;
  font-size:.85rem
}
.fx-catalogue{
  padding:70px 0
}
.fx-searchbar{
  padding:26px;
  background:#f7f5fb;
  border-radius:20px;
  display:flex;
  align-items:center;
  gap:22px;
  margin-bottom:50px
}
.fx-searchbar label{
  font-weight:700;
  white-space:nowrap
}
.fx-searchbar input{
  flex:1;
  min-width:100px;
  padding:13px 18px;
  border:1px solid #e0dbe9;
  border-radius:12px;
  background:white;
  font:inherit
}
.fx-searchbar>span{
  font-size:.8rem;
  white-space:nowrap;
  color:var(--fx-muted)
}
.fx-catalogue-layout{
  display:grid;
  grid-template-columns:235px minmax(0,1fr);
  gap:58px
}
.fx-category-nav{
  position:sticky;
  top:100px;
  align-self:start;
  display:grid;
  border-left:1px solid var(--fx-line);
  padding-left:20px
}
.fx-category-nav a{
  display:flex;
  justify-content:space-between;
  gap:8px;
  padding:13px 15px;
  border-radius:10px;
  font-size:.87rem;
  color:#777080
}
.fx-category-nav a:hover,.fx-category-nav a.active{
  color:var(--fx-purple);
  background:#f1eafa
}
.fx-feature-group{
  scroll-margin-top:100px;
  margin-bottom:90px;
  border-bottom:1px solid var(--fx-line);
  padding-bottom:55px
}
.fx-group-head{
  display:flex;
  gap:22px;
  align-items:start;
  margin-bottom:28px
}
.fx-index{
  font-family:Arial;
  font-size:1rem;
  color:#b5a6d6;
  border:1px solid #e9e1f6;
  border-radius:50%;
  width:45px;
  height:45px;
  display:grid;
  place-items:center;
  flex-shrink:0
}
.fx-group-head h2{
  font-size:2rem;
  font-weight:850
}
.fx-group-head p{
  color:var(--fx-muted);
  margin:0
}
.fx-group-photo img{
  width:100%;
  height:310px;
  object-fit:cover;
  border-radius:24px;
  margin-bottom:35px
}
.fx-feature-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:34px 28px;
  margin-bottom:35px
}
.fx-feature-grid article{
  min-width:0
}
.fx-feature-grid h3{
  font-size:1rem;
  margin:14px 0 8px
}
.fx-feature-grid p{
  font-size:.85rem
}
.fx-no-results{
  padding:40px;
  text-align:center;
  background:#f6f2fc;
  border-radius:20px
}
.fx-dialog{
  border:0;
  border-radius:26px;
  padding:35px;
  width:min(540px,calc(100% - 32px));
  max-height:90vh;
  overflow:auto;
  box-shadow:0 30px 100px #0004;
  color:var(--fx-text);
  margin:auto
}
.fx-dialog::backdrop{
  background:#18112088;
  backdrop-filter:blur(5px)
}
.fx-dialog h2{
  font-size:1.65rem;
  font-weight:850;
  margin-top:12px
}
.fx-dialog>p{
  font-size:.93rem;
  color:var(--fx-muted)
}
.fx-close{
  position:absolute;
  left:17px;
  top:12px;
  border:0;
  background:none;
  font-size:1.8rem
}
.fx-dialog label{
  display:grid;
  gap:7px;
  margin-bottom:15px;
  font-size:.9rem
}
.fx-dialog input,.fx-dialog select{
  padding:12px;
  border:1px solid #dad5e1;
  border-radius:10px;
  font:inherit;
  width:100%
}
.fx-dialog .fx-btn{
  width:100%
}
.fx-demo-step{
  background:#f3edf9;
  padding:25px;
  border-radius:16px;
  margin:25px 0
}
.fx-live{
  position:fixed;
  bottom:25px;
  right:25px;
  background:#292131;
  color:white;
  border-radius:14px;
  padding:16px 25px;
  z-index:2000;
  opacity:0;
  pointer-events:none;
  transition:opacity .2s;
  max-width:90vw
}
.fx-live.show{
  opacity:1
}
.fx-skip{
  position:fixed;
  top:-100px;
  background:white;
  padding:10px;
  z-index:3000
}
.fx-skip:focus{
  top:5px
}
.fx-page :focus-visible{
  outline:3px solid #9574e8;
  outline-offset:4px
}
.fx-page section[id]{
  scroll-margin-top:95px
}
.cx-app{
  display:grid;
  grid-template-columns:240px minmax(0,1fr) 220px;
  background:#fff;
  border:1px solid #e0d6f0;
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 25px 60px #48346412;
  min-height:600px
}
.cx-sidebar{
  background:#fbf9fe;
  padding:18px;
  border-left:1px solid #ebe6f2
}
.cx-tabs{
  display:flex;
  gap:5px;
  background:#eee7f6;
  padding:5px;
  border-radius:10px
}
.cx-tabs button{
  flex:1;
  border:0;
  background:transparent;
  font:inherit;
  padding:9px 4px;
  border-radius:7px;
  font-size:.8rem
}
.cx-tabs button[aria-selected=true]{
  background:white;
  color:var(--fx-purple);
  box-shadow:0 3px 8px #35204a0d
}
#cx-search{
  width:100%;
  border:1px solid #e2dce9;
  padding:11px;
  border-radius:9px;
  background:white;
  font:inherit;
  font-size:.8rem;
  margin:20px 0
}
#cx-threads>button{
  display:block;
  width:100%;
  text-align:right;
  padding:15px 12px;
  border:0;
  border-bottom:1px solid #f1edf6;
  background:transparent;
  border-radius:10px;
  font:inherit;
  font-size:.85rem
}
#cx-threads>button.active{
  background:#ece3fb;
  color:#4d2ca0
}
#cx-threads small{
  display:block;
  color:#898092;
  margin-top:5px
}
.cx-chat{
  display:flex;
  flex-direction:column;
  min-width:0
}
.cx-chat>header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:15px;
  border-bottom:1px solid #eee8f5;
  padding:22px
}
.cx-chat>header strong{
  font-size:.95rem
}
.cx-chat>header span{
  display:block;
  color:#9890a1;
  font-size:.75rem;
  margin-top:3px
}
.cx-chat>header button{
  border:1px solid #e7e0ef;
  background:white;
  border-radius:10px;
  font-size:.7rem;
  padding:8px
}
.cx-profile{
  border-right:1px solid #eee8f5;
  padding:25px 20px
}
.cx-profile .fx-eyebrow{
  font-size:.7rem
}
.cx-profile p{
  font-size:.8rem;
  line-height:1.9;
  color:#8c8496
}
.cx-profile a{
  font-size:.8rem;
  color:var(--fx-purple)
}
#cx-profile h3{
  font-size:1.1rem;
  font-weight:bold
}
#cx-messages{
  flex:1;
  min-height:300px;
  max-height:360px;
  overflow:auto;
  padding:25px;
  display:flex;
  flex-direction:column;
  gap:15px;
  background:linear-gradient(#fff,#fcfbfe)
}
.cx-msg{
  max-width:87%;
  padding:13px 17px;
  background:#f0ecf5;
  border-radius:17px 3px 17px 17px;
  align-self:flex-start;
  font-size:.86rem;
  line-height:1.9;
  overflow-wrap:anywhere
}
.cx-msg.mine{
  align-self:flex-end;
  background:#e9e0fb;
  border-radius:3px 17px 17px 17px
}
.cx-msg small{
  display:block;
  color:#a098ac;
  font-size:.65rem;
  margin-top:5px
}
.cx-msg a{
  color:#6742dd;
  text-decoration:underline
}
.cx-msg img{
  max-width:220px;
  max-height:150px;
  border-radius:10px
}
.cx-react{
  background:white;
  border:1px solid #e5dcec;
  border-radius:20px;
  font-size:.7rem;
  padding:1px 7px;
  margin-top:5px
}
.cx-quick{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
  padding:12px 18px;
  border-top:1px solid #f3eef8
}
.cx-quick button{
  background:#faf7fe;
  border:1px solid #e4dbef;
  border-radius:15px;
  padding:5px 10px;
  font:inherit;
  font-size:.7rem;
  color:#77638e
}
#cx-compose{
  display:flex;
  gap:8px;
  align-items:center;
  padding:0 18px 10px
}
#cx-message{
  flex:1;
  min-width:0;
  border:1px solid #e5ddec;
  border-radius:11px;
  padding:13px;
  font:inherit;
  font-size:.83rem
}
#cx-compose button{
  border:0;
  background:var(--fx-purple);
  color:white;
  border-radius:10px;
  font:inherit;
  font-size:.8rem;
  padding:13px 17px
}
.cx-attach{
  font-size:1.5rem;
  cursor:pointer;
  padding:6px;
  color:#9c8ab3
}
.cx-status{
  font-size:.64rem;
  color:#a59aac;
  padding:0 20px
}
.cx-add{
  border:1px dashed #cebce6;
  background:transparent;
  width:100%;
  padding:12px;
  border-radius:10px;
  font:inherit;
  font-size:.8rem;
  margin-top:20px
}
.cx-sidebar form label{
  font-size:.8rem
}
.cx-sidebar form input{
  width:100%;
  border:1px solid #d7cce5;
  border-radius:7px;
  padding:8px;
  margin-top:8px
}
.cx-sidebar form button{
  background:#6c49cd;
  color:white;
  border:0;
  border-radius:7px;
  padding:7px 12px;
  margin-top:8px
}
.fx-group-photo img,.fx-photo img{
  transition:transform .6s
}
.fx-photo:hover img{
  transform:translateY(-4px)
}
@keyframes fx-float{
  50%{
    transform:translateY(-14px) rotate(10deg)
  }
}
@media(min-width:992px){
  .fx-page .business-header .nav-linkish{
    font-size:.83rem;
    padding:10px 11px
  }
  .fx-page .nav-actions{
    gap:8px
  }
}
@media(max-width:1100px){
  .fx-hero-grid{
    gap:30px
  }
  .fx-hero-art>img{
    height:480px
  }
  .fx-split{
    gap:40px
  }
  .cx-app{
    grid-template-columns:210px minmax(0,1fr)
  }
  .cx-profile{
    display:none
  }
  .fx-catalogue-layout{
    gap:30px;
    grid-template-columns:200px minmax(0,1fr)
  }
}
@media(max-width:800px){
  .fx-wrap{
    width:calc(100% - 36px)
  }
  .fx-section{
    padding:65px 0
  }
  .fx-hero{
    padding:25px 0 65px
  }
  .fx-hero-grid{
    grid-template-columns:1fr;
    gap:40px
  }
  .fx-hero h1{
    font-size:3rem
  }
  .fx-hero-art>img{
    height:auto;
    aspect-ratio:1.25;
    object-fit:cover;
    border-radius:28px 28px 85px 28px
  }
  .fx-hero-art{
    max-width:650px;
    width:100%;
    margin:auto
  }
  .fx-hero-foot{
    flex-wrap:wrap
  }
  .fx-split{
    grid-template-columns:1fr;
    gap:28px
  }
  .fx-reverse .fx-copy{
    order:0
  }
  .fx-photo img{
    height:350px
  }
  .fx-card-grid{
    grid-template-columns:repeat(2,1fr)
  }
  .fx-payment-rail{
    grid-auto-columns:75%
  }
  .fx-related{
    grid-template-columns:repeat(2,1fr)
  }
  .fx-sectors{
    grid-template-columns:repeat(2,1fr)
  }
  .fx-sectors img{
    height:190px
  }
  .fx-anchorbar{
    justify-content:flex-start;
    gap:25px
  }
  .fx-catalogue-layout{
    grid-template-columns:1fr
  }
  .fx-category-nav{
    position:static;
    display:flex;
    overflow:auto;
    gap:7px;
    padding:0 0 15px;
    border:0;
    white-space:nowrap
  }
  .fx-category-nav a{
    border:1px solid #e7e0ef
  }
  .fx-category-nav a span{
    display:none
  }
  .fx-feature-grid{
    grid-template-columns:repeat(2,1fr)
  }
  .fx-searchbar{
    flex-wrap:wrap;
    gap:10px;
    padding:20px
  }
  .fx-searchbar label{
    width:100%
  }
  .fx-group-photo img{
    height:290px
  }
  .fx-provider-grid{
    grid-template-columns:repeat(4,1fr)
  }
  .fx-provider-grid article{
    padding:20px 8px
  }
  .fx-provider-grid img{
    width:80px
  }
  .cx-app{
    grid-template-columns:180px minmax(0,1fr)
  }
  .cx-sidebar{
    padding:12px
  }
  .cx-chat>header{
    padding:16px
  }
  .fx-scroll-controls{
    margin-top:0
  }
  .fx-group-head h2{
    font-size:1.7rem
  }
}
@media(max-width:540px){
  .fx-hero h1{
    font-size:2.55rem
  }
  .fx-hero p{
    font-size:.98rem
  }
  .fx-card-grid{
    grid-template-columns:1fr
  }
  .fx-card{
    padding:24px
  }
  .fx-heading{
    margin-bottom:28px
  }
  .fx-heading h2{
    font-size:1.9rem
  }
  .fx-actions .fx-btn{
    flex:1;
    padding:12px 13px;
    gap:10px;
    font-size:.86rem
  }
  .fx-glass{
    left:15px;
    right:15px;
    padding:17px;
    font-size:.82rem
  }
  .fx-photo img{
    height:290px
  }
  .fx-related{
    grid-template-columns:1fr 1fr;
    gap:9px
  }
  .fx-related a{
    font-size:.8rem;
    padding:17px 12px
  }
  .fx-sectors{
    gap:12px
  }
  .fx-sectors img{
    height:160px
  }
  .fx-sectors span{
    font-size:.94rem;
    padding:17px
  }
  .fx-provider-grid{
    grid-template-columns:repeat(2,1fr)
  }
  .fx-installment-result{
    padding:30px 20px
  }
  .fx-installment-result>strong{
    font-size:2.6rem
  }
  .fx-feature-grid{
    gap:26px 19px
  }
  .fx-feature-grid p{
    font-size:.8rem
  }
  .fx-group-photo img{
    height:220px
  }
  .fx-feature-group{
    margin-bottom:55px;
    padding-bottom:35px
  }
  .fx-catalogue{
    padding:40px 0
  }
  .fx-group-head{
    gap:13px
  }
  .fx-index{
    width:37px;
    height:37px
  }
  .cx-app{
    display:flex;
    flex-direction:column
  }
  .cx-sidebar{
    border:0;
    border-bottom:1px solid #e8e1f0
  }
  .cx-tabs{
    max-width:300px;
    margin:auto
  }
  #cx-search{
    margin:12px 0
  }
  #cx-threads{
    display:flex;
    overflow:auto;
    gap:8px
  }
  #cx-threads>button{
    flex:0 0 150px;
    padding:10px
  }
  #cx-threads small{
    font-size:.65rem
  }
  .cx-chat{
    min-height:470px
  }
  .cx-quick{
    padding:10px
  }
  .cx-profile{
    display:none
  }
  #cx-compose{
    padding:0 10px 10px;
    gap:5px
  }
  #cx-compose button{
    padding:13px 10px
  }
  .cx-msg{
    max-width:92%
  }
  .fx-app-links{
    gap:18px;
    font-size:.78rem
  }
  .fx-dialog{
    padding:27px 22px
  }
  .fx-payment-rail{
    grid-auto-columns:87%
  }
  .fx-payment-rail img{
    height:210px
  }
  .fx-searchbar input{
    width:100%;
    flex:auto
  }
  .fx-faq summary{
    font-size:.95rem
  }
}
@media(prefers-reduced-motion:reduce){
  .fx-page *{
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important
  }
}
/* v4.7 mobile spacing harmonization for feature-system pages */
@media(max-width:800px){
  .fx-wrap{
    width:calc(100% - 10px)!important
  }
  .fx-hero .fx-wrap{
    width:calc(100% - 20px)!important
  }
  .fx-hero h1{
    max-width:none;
    width:100%;
    margin-inline:0
  }
  .fx-hero p{
    max-width:none;
    width:100%
  }
}
@media(max-width:540px){
  .fx-card,.fx-related a{
    border-radius:18px
  }
  .fx-payment-rail article{
    border-radius:18px
  }
  .fx-payment-rail img,.fx-sectors img,.fx-group-photo img,.fx-photo img{
    width:100%;
    height:auto;
    aspect-ratio:16/9;
    object-fit:cover
  }
}
/* v4.8 mobile alignment with the main FINOW layout */
@media(max-width:800px){
  .fx-wrap{
    width:calc(100% - 40px)!important
  }
  .fx-hero h1{
    max-width:none!important;
    text-align:center!important;
    font-size:clamp(2.8rem,10vw,4.2rem)!important;
    font-weight:900!important;
    line-height:1.16!important;
    letter-spacing:-.045em!important
  }
  .fx-hero p{
    max-width:none!important;
    text-align:center!important;
    margin-inline:auto!important
  }
  .fx-actions{
    justify-content:center!important
  }
}
@media(max-width:540px){
  .fx-hero h1{
    font-size:clamp(2.8rem,10vw,4.2rem)!important
  }
}
/* === Shop page === */
/* FINOW Shop — responsive commerce layer */
:root{
  --shop-ink:#151517;
  --shop-muted:#707077;
  --shop-line:#e9e7eb;
  --shop-soft:#faf9fb;
  --shop-brand:#c2185b;
  --shop-brand-soft:#fff0f6;
  --shop-green:#177a51;
  --shop-orange:#a95c00;
  --shop-radius:24px;
}
.shop-page{
  background:#fff;
  color:var(--shop-ink)
}
.shop-page .site-header{
  background:rgba(255,255,255,.96)
}
.shop-hero{
  padding:54px 0 68px;
  background:radial-gradient(circle at 78% 22%,#f7e6ef 0,transparent 34%),linear-gradient(135deg,#fff 0,#fbf9fc 48%,#f4eff8 100%);
  overflow:hidden
}
.shop-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(480px,1.1fr);
  gap:64px;
  align-items:center
}
.shop-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:.78rem;
  font-weight:850;
  color:var(--shop-brand);
  background:#fff;
  border:1px solid #f0d5e1;
  border-radius:999px;
  padding:7px 12px;
  margin-bottom:18px
}
.shop-eyebrow-dot{
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--shop-brand);
  box-shadow:0 0 0 6px rgba(194,24,91,.08)
}
.shop-hero h1{
  font-size:clamp(2.7rem,5vw,5.1rem);
  line-height:1.06;
  letter-spacing:-.055em;
  font-weight:900;
  margin:0;
  max-width:760px
}
.shop-hero h1 .accent{
  color:var(--shop-brand)
}
.shop-hero-copy>p{
  font-size:1.08rem;
  color:#4f4f55;
  line-height:2;
  max-width:680px;
  margin:22px 0 0
}
.shop-search{
  display:flex;
  align-items:center;
  gap:10px;
  background:#fff;
  border:1px solid #e4e1e6;
  box-shadow:0 16px 42px rgba(41,31,46,.08);
  border-radius:18px;
  padding:9px 10px 9px 12px;
  margin-top:28px;
  max-width:650px
}
.shop-search svg{
  flex:0 0 auto;
  color:#777
}
.shop-search input{
  border:0;
  outline:0;
  background:transparent;
  min-width:0;
  flex:1;
  font-size:.98rem;
  padding:8px;
  color:#111
}
.shop-search button{
  border:0;
  border-radius:13px;
  background:#111;
  color:#fff;
  font-weight:800;
  padding:11px 19px;
  white-space:nowrap
}
.shop-quick-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:14px
}
.shop-quick-tag{
  border:1px solid #dfdce2;
  border-radius:999px;
  background:rgba(255,255,255,.82);
  padding:7px 11px;
  font-size:.78rem;
  color:#4e4e54;
  cursor:pointer;
  transition:.18s
}
.shop-quick-tag:hover{
  border-color:#bfb9c3;
  background:#fff;
  color:#111
}
.shop-hero-metrics{
  display:flex;
  gap:22px;
  flex-wrap:wrap;
  margin-top:28px
}
.shop-hero-metric strong{
  display:block;
  font-size:1rem
}
.shop-hero-metric span{
  font-size:.77rem;
  color:var(--shop-muted)
}
.shop-hero-visual{
  position:relative;
  min-height:550px
}
.shop-hero-photo{
  position:absolute;
  inset:18px 0 30px 20px;
  border-radius:34px;
  overflow:hidden;
  box-shadow:0 34px 80px rgba(38,26,45,.16)
}
.shop-hero-photo img{
  width:100%;
  height:100%;
  object-fit:cover
}
.shop-hero-photo:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 55%,rgba(20,17,22,.24))
}
.shop-float-card{
  position:absolute;
  z-index:3;
  background:rgba(255,255,255,.95);
  backdrop-filter:blur(18px);
  border:1px solid rgba(255,255,255,.9);
  box-shadow:0 18px 44px rgba(40,28,48,.15);
  border-radius:20px;
  padding:15px 17px
}
.shop-float-card.delivery{
  right:-22px;
  bottom:2px;
  display:flex;
  align-items:center;
  gap:12px;
  max-width:230px
}
.shop-float-card.payment{
  left:-24px;
  top:0;
  min-width:210px
}
.shop-float-icon{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:13px;
  background:var(--shop-brand-soft);
  color:var(--shop-brand);
  font-size:1.15rem
}
.shop-float-card strong{
  font-size:.9rem;
  display:block
}
.shop-float-card small{
  font-size:.72rem;
  color:var(--shop-muted);
  line-height:1.55;
  display:block
}
.shop-payment-logo-row{
  display:flex;
  align-items:center;
  margin-top:9px;
  direction:ltr
}
.shop-payment-logo-row img{
  width:32px;
  height:32px;
  border-radius:9px;
  background:#fff;
  border:1px solid #eee;
  padding:4px;
  margin-left:-6px
}
.shop-payment-logo-row img:first-child{
  margin-left:0
}
.shop-payment-logo-row span{
  direction:rtl;
  margin-right:10px;
  font-size:.72rem;
  font-weight:750;
  color:#555
}
.shop-trust-strip{
  border-bottom:1px solid var(--shop-line);
  border-top:1px solid rgba(0,0,0,.035);
  background:#fff
}
.shop-trust-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr)
}
.shop-trust-item{
  padding:17px 22px;
  display:flex;
  align-items:center;
  gap:11px;
  border-left:1px solid var(--shop-line)
}
.shop-trust-item:last-child{
  border-left:0
}
.shop-trust-item svg{
  color:var(--shop-brand);
  flex:0 0 auto
}
.shop-trust-item strong{
  font-size:.84rem;
  display:block
}
.shop-trust-item span{
  font-size:.72rem;
  color:var(--shop-muted);
  display:block;
  margin-top:1px
}
.shop-section{
  padding:72px 0
}
.shop-section.soft{
  background:#faf9fb
}
.shop-section-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:26px
}
.shop-section-head h2{
  font-size:clamp(1.7rem,3vw,2.45rem);
  font-weight:900;
  letter-spacing:-.035em;
  margin:0
}
.shop-section-head p{
  color:var(--shop-muted);
  margin:8px 0 0;
  max-width:680px
}
.shop-section-link{
  font-size:.86rem;
  font-weight:800;
  color:var(--shop-brand);
  white-space:nowrap
}
.shop-category-grid{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:13px
}
.shop-cat-card{
  border:1px solid var(--shop-line);
  background:#fff;
  border-radius:22px;
  padding:13px;
  min-width:0;
  cursor:pointer;
  transition:.2s;
  text-align:right
}
.shop-cat-card:hover,.shop-cat-card.active{
  transform:translateY(-3px);
  border-color:#d8c3cc;
  box-shadow:0 14px 34px rgba(30,20,36,.07)
}
.shop-cat-card.active{
  box-shadow:inset 0 0 0 1px rgba(194,24,91,.2),0 14px 34px rgba(30,20,36,.07)
}
.shop-cat-media{
  height:116px;
  border-radius:16px;
  overflow:hidden;
  background:#f5f3f5
}
.shop-cat-media img{
  width:100%;
  height:100%;
  object-fit:cover
}
.shop-cat-title{
  font-size:.9rem;
  font-weight:850;
  margin-top:11px
}
.shop-cat-sub{
  font-size:.7rem;
  color:var(--shop-muted);
  margin-top:2px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis
}
.shop-catalog-wrap{
  display:grid;
  grid-template-columns:250px minmax(0,1fr);
  gap:28px;
  align-items:start
}
.shop-filter-panel{
  position:sticky;
  top:calc(var(--floating-header-space) + 18px);
  border:1px solid var(--shop-line);
  border-radius:22px;
  background:#fff;
  padding:18px
}
.shop-filter-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:.95rem;
  font-weight:900;
  margin-bottom:14px
}
.shop-filter-title button{
  border:0;
  background:none;
  color:var(--shop-brand);
  font-size:.72rem;
  font-weight:750
}
.shop-filter-group{
  padding:14px 0;
  border-top:1px solid #f0eef1
}
.shop-filter-group:first-of-type{
  border-top:0
}
.shop-filter-group>strong{
  display:block;
  font-size:.8rem;
  margin-bottom:9px
}
.shop-check{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:6px 0;
  font-size:.78rem;
  color:#45454a;
  cursor:pointer
}
.shop-check>span{
  display:flex;
  align-items:center;
  gap:8px
}
.shop-check input{
  width:16px;
  height:16px;
  accent-color:var(--shop-brand)
}
.shop-filter-count{
  font-size:.68rem;
  color:#999
}
.shop-price-inputs{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px
}
.shop-price-inputs input{
  width:100%;
  border:1px solid #dfdde1;
  border-radius:11px;
  padding:9px;
  font-size:.75rem;
  outline:none
}
.shop-price-inputs input:focus{
  border-color:#b58ca0
}
.shop-catalog-main{
  min-width:0
}
.shop-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border-bottom:1px solid var(--shop-line);
  padding-bottom:18px;
  margin-bottom:20px
}
.shop-result-count{
  font-size:.9rem
}
.shop-result-count strong{
  font-weight:900
}
.shop-toolbar-actions{
  display:flex;
  align-items:center;
  gap:8px
}
.shop-select{
  border:1px solid #dedce0;
  border-radius:12px;
  background:#fff;
  padding:9px 11px;
  font-size:.78rem;
  outline:none;
  min-width:155px
}
.shop-filter-mobile{
  display:none;
  border:1px solid #dedce0;
  border-radius:12px;
  background:#fff;
  padding:9px 12px;
  font-size:.78rem;
  font-weight:800
}
.shop-product-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px
}
.shop-product-card{
  position:relative;
  min-width:0;
  border:1px solid var(--shop-line);
  border-radius:22px;
  background:#fff;
  overflow:hidden;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease
}
.shop-product-card:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 42px rgba(28,19,33,.08);
  border-color:#ddd4d9
}
.shop-product-media{
  position:relative;
  aspect-ratio:1/1;
  background:#f6f4f4;
  overflow:hidden;
  cursor:pointer
}
.shop-product-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .35s ease
}
.shop-product-card:hover .shop-product-media img{
  transform:scale(1.035)
}
.shop-badge{
  position:absolute;
  top:12px;
  right:12px;
  border-radius:999px;
  padding:5px 9px;
  font-size:.65rem;
  font-weight:850;
  background:#111;
  color:#fff;
  z-index:2
}
.shop-badge.sale{
  background:var(--shop-brand)
}
.shop-badge.low{
  background:#9d5b00
}
.shop-like{
  position:absolute;
  top:10px;
  left:10px;
  width:36px;
  height:36px;
  border:1px solid rgba(0,0,0,.06);
  background:rgba(255,255,255,.92);
  border-radius:50%;
  display:grid;
  place-items:center;
  z-index:2
}
.shop-like.active{
  color:var(--shop-brand);
  background:#fff0f6
}
.shop-product-body{
  padding:15px
}
.shop-product-brand{
  font-size:.68rem;
  color:#85858c;
  font-weight:750;
  margin-bottom:4px
}
.shop-product-title{
  font-size:.91rem;
  font-weight:850;
  line-height:1.65;
  min-height:47px;
  margin:0;
  cursor:pointer
}
.shop-product-title-action{
  display:block;
  width:100%;
  padding:0;
  border:0;
  background:transparent;
  color:inherit;
  font:inherit;
  line-height:inherit;
  text-align:inherit;
  cursor:pointer
}
.shop-product-title-action:focus-visible{
  outline:2px solid currentColor;
  outline-offset:3px;
  border-radius:6px
}
.shop-rating{
  display:flex;
  align-items:center;
  gap:5px;
  font-size:.72rem;
  color:#6c6c72;
  margin-top:6px
}
.shop-rating .star{
  color:#f2a900
}
.shop-stock{
  font-size:.67rem;
  font-weight:750;
  color:var(--shop-green);
  margin-right:auto
}
.shop-stock.low{
  color:var(--shop-orange)
}
.shop-price-row{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:8px;
  margin-top:13px
}
.shop-price-main{
  font-size:1rem;
  font-weight:900;
  letter-spacing:-.02em
}
.shop-price-main small{
  font-size:.65rem;
  font-weight:750;
  margin-right:2px
}
.shop-old-price{
  display:block;
  font-size:.67rem;
  color:#999;
  text-decoration:line-through;
  margin-bottom:1px
}
.shop-discount{
  font-size:.64rem;
  font-weight:850;
  color:var(--shop-brand);
  background:var(--shop-brand-soft);
  border-radius:8px;
  padding:3px 6px
}
.shop-installment{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:7px;
  background:#faf7f9;
  border-radius:11px;
  padding:8px 9px;
  margin-top:11px;
  font-size:.67rem;
  color:#5d5057
}
.shop-installment strong{
  color:#2b2529
}
.shop-installment-logos{
  display:flex;
  direction:ltr
}
.shop-installment-logos img{
  width:22px;
  height:22px;
  border-radius:6px;
  background:#fff;
  border:1px solid #eee;
  padding:3px;
  margin-left:-4px
}
.shop-add-btn{
  width:100%;
  border:0;
  border-radius:12px;
  background:#111;
  color:#fff;
  font-size:.79rem;
  font-weight:850;
  padding:10px 12px;
  margin-top:11px;
  transition:.18s
}
.shop-add-btn:hover{
  background:var(--shop-brand)
}
.shop-add-btn.added{
  background:#eaf7f1;
  color:#11613f
}
.shop-empty{
  display:none;
  text-align:center;
  padding:68px 20px;
  border:1px dashed #d8d4da;
  border-radius:22px;
  background:#fcfbfc
}
.shop-empty.show{
  display:block
}
.shop-bnpl-box{
  border-radius:34px;
  background:#161318;
  color:#fff;
  overflow:hidden;
  position:relative
}
.shop-bnpl-box:before{
  content:"";
  position:absolute;
  width:540px;
  height:540px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(194,24,91,.35),transparent 68%);
  left:-180px;
  top:-220px
}
.shop-bnpl-grid{
  display:grid;
  grid-template-columns:1fr .92fr;
  gap:54px;
  align-items:center;
  padding:54px;
  position:relative
}
.shop-bnpl-copy h2{
  font-size:clamp(2rem,4vw,3.4rem);
  font-weight:900;
  line-height:1.17;
  letter-spacing:-.04em;
  margin:0
}
.shop-bnpl-copy p{
  color:#c6c0c8;
  line-height:1.9;
  margin:18px 0 0;
  max-width:620px
}
.shop-provider-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  margin-top:24px
}
.shop-provider{
  background:#fff;
  border-radius:13px;
  min-height:58px;
  padding:9px;
  display:grid;
  place-items:center
}
.shop-provider img{
  max-width:72px;
  max-height:34px
}
.shop-installment-demo{
  background:#fff;
  color:#111;
  border-radius:25px;
  padding:21px;
  box-shadow:0 25px 70px rgba(0,0,0,.25)
}
.shop-demo-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-bottom:1px solid #eee;
  padding-bottom:14px
}
.shop-demo-head strong{
  font-size:.95rem
}
.shop-demo-head span{
  font-size:.72rem;
  color:#777
}
.shop-demo-price{
  font-size:1.65rem;
  font-weight:950;
  margin:17px 0 3px
}
.shop-demo-price small{
  font-size:.7rem
}
.shop-demo-row{
  display:grid;
  grid-template-columns:42px 1fr auto;
  gap:10px;
  align-items:center;
  padding:10px 0;
  border-bottom:1px solid #f1eff1
}
.shop-demo-row:last-child{
  border-bottom:0
}
.shop-demo-row img{
  width:42px;
  height:42px;
  border:1px solid #eee;
  border-radius:11px;
  padding:6px
}
.shop-demo-row strong{
  font-size:.78rem;
  display:block
}
.shop-demo-row span{
  font-size:.67rem;
  color:#777
}
.shop-demo-row b{
  font-size:.72rem;
  color:var(--shop-brand)
}
.shop-media-grid{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:18px
}
.shop-video-card{
  position:relative;
  border-radius:28px;
  overflow:hidden;
  background:#111;
  min-height:430px
}
.shop-video-card video{
  width:100%;
  height:100%;
  min-height:430px;
  object-fit:cover;
  display:block
}
.shop-video-overlay{
  position:absolute;
  right:24px;
  bottom:22px;
  left:24px;
  color:#fff;
  pointer-events:none;
  text-shadow:0 2px 20px rgba(0,0,0,.4)
}
.shop-video-overlay strong{
  font-size:1.2rem;
  display:block
}
.shop-video-overlay span{
  font-size:.78rem;
  color:#eee
}
.shop-media-side{
  display:grid;
  grid-template-rows:1fr 1fr;
  gap:18px
}
.shop-media-tile{
  border-radius:28px;
  overflow:hidden;
  position:relative;
  min-height:206px
}
.shop-media-tile img{
  width:100%;
  height:100%;
  object-fit:cover
}
.shop-media-tile:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 35%,rgba(0,0,0,.58))
}
.shop-media-caption{
  position:absolute;
  z-index:2;
  right:20px;
  bottom:17px;
  left:20px;
  color:#fff
}
.shop-media-caption strong{
  display:block;
  font-size:1rem
}
.shop-media-caption span{
  font-size:.72rem;
  color:#eee
}
.shop-review-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px
}
.shop-review-card{
  border:1px solid var(--shop-line);
  border-radius:22px;
  padding:20px;
  background:#fff
}
.shop-review-stars{
  color:#f1a100;
  letter-spacing:1px;
  font-size:.9rem
}
.shop-review-card p{
  font-size:.86rem;
  line-height:1.9;
  color:#555;
  margin:12px 0 17px
}
.shop-review-user{
  display:flex;
  align-items:center;
  gap:10px
}
.shop-review-avatar{
  width:38px;
  height:38px;
  border-radius:50%;
  background:linear-gradient(135deg,#f0dce6,#e8e3f2);
  display:grid;
  place-items:center;
  font-weight:900;
  color:var(--shop-brand)
}
.shop-review-user strong{
  font-size:.78rem;
  display:block
}
.shop-review-user span{
  font-size:.68rem;
  color:#888
}
/* Cart */
.shop-cart-fab{
  position:fixed;
  left:20px;
  bottom:24px;
  z-index:1090;
  border:0;
  background:#111;
  color:#fff;
  border-radius:18px;
  padding:12px 15px;
  display:flex;
  align-items:center;
  gap:9px;
  box-shadow:0 15px 36px rgba(0,0,0,.2);
  font-size:.8rem;
  font-weight:850
}
.shop-cart-fab svg{
  flex:0 0 auto
}
.shop-cart-count{
  display:grid;
  place-items:center;
  min-width:22px;
  height:22px;
  border-radius:999px;
  background:var(--shop-brand);
  color:#fff;
  font-size:.67rem;
  padding:0 6px
}
.shop-cart-overlay{
  position:fixed;
  inset:0;
  background:rgba(14,12,15,.35);
  backdrop-filter:blur(2px);
  z-index:1240;
  opacity:0;
  pointer-events:none;
  transition:.22s
}
.shop-cart-overlay.open{
  opacity:1;
  pointer-events:auto
}
.shop-cart-drawer{
  position:fixed;
  top:0;
  bottom:0;
  left:0;
  width:min(430px,100%);
  z-index:1250;
  background:#fff;
  transform:translateX(-102%);
  transition:transform .28s cubic-bezier(.2,.75,.25,1);
  display:flex;
  flex-direction:column;
  box-shadow:25px 0 60px rgba(0,0,0,.18)
}
.shop-cart-drawer.open{
  transform:translateX(0)
}
.shop-cart-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:18px 20px;
  border-bottom:1px solid var(--shop-line)
}
.shop-cart-head strong{
  font-size:1.05rem
}
.shop-close{
  width:38px;
  height:38px;
  border:1px solid #e3e0e4;
  border-radius:50%;
  background:#fff;
  display:grid;
  place-items:center;
  font-size:1.2rem
}
.shop-cart-items{
  flex:1;
  overflow:auto;
  padding:14px 20px
}
.shop-cart-empty{
  display:grid;
  place-items:center;
  text-align:center;
  min-height:280px;
  color:#777
}
.shop-cart-empty-icon{
  font-size:2.4rem;
  margin-bottom:10px
}
.shop-cart-item{
  display:grid;
  grid-template-columns:72px minmax(0,1fr) auto;
  gap:11px;
  padding:13px 0;
  border-bottom:1px solid #f0eef1
}
.shop-cart-item img{
  width:72px;
  height:72px;
  border-radius:14px;
  object-fit:cover;
  background:#f7f5f6
}
.shop-cart-item-title{
  font-size:.78rem;
  font-weight:850;
  line-height:1.55
}
.shop-cart-item-brand{
  font-size:.65rem;
  color:#888
}
.shop-cart-item-price{
  font-size:.76rem;
  font-weight:850;
  margin-top:5px
}
.shop-cart-remove{
  border:0;
  background:none;
  color:#aaa;
  font-size:1.15rem;
  padding:0
}
.shop-qty{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:8px
}
.shop-qty button{
  width:26px;
  height:26px;
  border:1px solid #e0dde2;
  background:#fff;
  border-radius:8px;
  font-weight:900;
  line-height:1
}
.shop-qty span{
  font-size:.75rem;
  min-width:18px;
  text-align:center
}
.shop-cart-foot{
  padding:17px 20px 20px;
  border-top:1px solid var(--shop-line);
  background:#fff
}
.shop-cart-summary{
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:.8rem;
  margin-bottom:7px
}
.shop-cart-summary.total{
  font-size:1rem;
  font-weight:900;
  padding-top:8px;
  margin-top:8px;
  border-top:1px dashed #ddd
}
.shop-cart-note{
  font-size:.67rem;
  color:#777;
  background:#faf7f9;
  border-radius:10px;
  padding:8px 10px;
  margin:10px 0
}
.shop-checkout-btn{
  border:0;
  width:100%;
  background:#111;
  color:#fff;
  border-radius:13px;
  padding:12px;
  font-size:.82rem;
  font-weight:900
}
.shop-checkout-btn:disabled{
  background:#ccc
}
/* Product details modal */
.shop-modal .modal-dialog{
  max-width:1080px
}
.shop-modal .modal-content{
  border:0;
  border-radius:28px;
  overflow:hidden
}
.shop-modal .modal-header{
  border-bottom:1px solid #eee;
  padding:16px 20px
}
.shop-modal .modal-body{
  padding:0
}
.shop-product-detail-grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  min-height:610px
}
.shop-detail-gallery{
  padding:24px;
  background:#faf9fa
}
.shop-detail-main-img{
  aspect-ratio:1/1;
  border-radius:22px;
  overflow:hidden;
  background:#f1eff1
}
.shop-detail-main-img img{
  width:100%;
  height:100%;
  object-fit:cover
}
.shop-detail-thumbs{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px;
  margin-top:10px
}
.shop-detail-thumb{
  border:1px solid #e2dfe3;
  border-radius:12px;
  background:#fff;
  padding:3px;
  aspect-ratio:1/1;
  overflow:hidden
}
.shop-detail-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:9px
}
.shop-detail-content{
  padding:27px;
  overflow:auto;
  max-height:78vh
}
.shop-detail-brand{
  font-size:.72rem;
  color:#818188;
  font-weight:800
}
.shop-detail-title{
  font-size:1.45rem;
  line-height:1.55;
  font-weight:900;
  margin:5px 0 8px
}
.shop-detail-meta{
  display:flex;
  align-items:center;
  gap:11px;
  flex-wrap:wrap;
  font-size:.72rem;
  color:#666
}
.shop-detail-pricebox{
  border-radius:18px;
  background:#faf7f9;
  padding:15px;
  margin-top:17px
}
.shop-detail-price{
  font-size:1.35rem;
  font-weight:950
}
.shop-detail-price small{
  font-size:.72rem
}
.shop-detail-old{
  font-size:.72rem;
  color:#999;
  text-decoration:line-through;
  margin-right:8px
}
.shop-detail-stock{
  font-size:.72rem;
  color:var(--shop-green);
  font-weight:800;
  margin-top:5px
}
.shop-detail-cta{
  display:grid;
  grid-template-columns:1fr auto;
  gap:9px;
  margin-top:12px
}
.shop-detail-add{
  border:0;
  border-radius:12px;
  background:#111;
  color:#fff;
  padding:11px 15px;
  font-size:.8rem;
  font-weight:900
}
.shop-detail-like{
  width:44px;
  height:44px;
  border:1px solid #e1dee2;
  border-radius:12px;
  background:#fff
}
.shop-detail-tabs{
  display:flex;
  gap:18px;
  overflow-x:auto;
  border-bottom:1px solid #e9e6ea;
  margin-top:22px;
  scrollbar-width:none
}
.shop-detail-tab{
  flex:0 0 auto;
  border:0;
  background:none;
  padding:10px 0;
  font-size:.76rem;
  font-weight:850;
  color:#888;
  border-bottom:2px solid transparent
}
.shop-detail-tab.active{
  color:#111;
  border-color:#111
}
.shop-tab-pane{
  display:none;
  padding-top:17px
}
.shop-tab-pane.active{
  display:block
}
.shop-detail-text{
  font-size:.8rem;
  color:#555;
  line-height:2
}
.shop-spec-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  border:1px solid #ece9ed;
  border-radius:16px;
  overflow:hidden
}
.shop-spec{
  padding:10px 12px;
  border-bottom:1px solid #efedf0
}
.shop-spec:nth-child(odd){
  border-left:1px solid #efedf0
}
.shop-spec:nth-last-child(-n+2){
  border-bottom:0
}
.shop-spec span{
  font-size:.65rem;
  color:#888;
  display:block
}
.shop-spec strong{
  font-size:.76rem;
  display:block;
  margin-top:2px
}
.shop-provider-detail{
  display:grid;
  grid-template-columns:40px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  padding:10px 0;
  border-bottom:1px solid #efedf0
}
.shop-provider-detail img{
  width:40px;
  height:40px;
  border:1px solid #eee;
  border-radius:10px;
  padding:5px
}
.shop-provider-detail strong{
  font-size:.76rem;
  display:block
}
.shop-provider-detail span{
  font-size:.65rem;
  color:#888
}
.shop-provider-detail b{
  font-size:.72rem;
  color:var(--shop-brand)
}
.shop-usage-step{
  display:flex;
  gap:9px;
  align-items:flex-start;
  margin-bottom:10px
}
.shop-usage-num{
  width:26px;
  height:26px;
  flex:0 0 auto;
  border-radius:8px;
  display:grid;
  place-items:center;
  background:#111;
  color:#fff;
  font-size:.68rem;
  font-weight:850
}
.shop-usage-step p{
  margin:0;
  font-size:.76rem;
  line-height:1.8;
  color:#555
}
.shop-warning{
  background:#fff8e7;
  border:1px solid #f2e2b6;
  border-radius:13px;
  padding:10px 12px;
  font-size:.72rem;
  line-height:1.8;
  color:#6f5b22
}
.shop-detail-review{
  padding:10px 0;
  border-bottom:1px solid #efedf0
}
.shop-detail-review:last-child{
  border-bottom:0
}
.shop-detail-review-head{
  display:flex;
  justify-content:space-between;
  align-items:center
}
.shop-detail-review strong{
  font-size:.74rem
}
.shop-detail-review span{
  font-size:.64rem;
  color:#888
}
.shop-detail-review p{
  font-size:.74rem;
  color:#555;
  line-height:1.8;
  margin:6px 0 0
}
/* Checkout modal */
.shop-checkout-modal .modal-dialog{
  max-width:880px
}
.shop-checkout-modal .modal-content{
  border:0;
  border-radius:26px;
  overflow:hidden
}
.shop-checkout-layout{
  display:grid;
  grid-template-columns:1.1fr .9fr
}
.shop-checkout-form{
  padding:24px
}
.shop-checkout-summary{
  background:#faf9fb;
  padding:24px;
  border-right:1px solid #eee
}
.shop-form-title{
  font-size:1rem;
  font-weight:900;
  margin-bottom:14px
}
.shop-form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px
}
.shop-field label{
  display:block;
  font-size:.68rem;
  font-weight:800;
  margin-bottom:5px
}
.shop-field input,.shop-field select,.shop-field textarea{
  width:100%;
  border:1px solid #dfdce1;
  border-radius:11px;
  padding:10px;
  font-size:.76rem;
  outline:0;
  background:#fff
}
.shop-field textarea{
  min-height:78px;
  resize:vertical
}
.shop-field.full{
  grid-column:1/-1
}
.shop-delivery-option,.shop-pay-option{
  display:flex;
  align-items:center;
  gap:10px;
  border:1px solid #e4e1e5;
  border-radius:13px;
  padding:10px;
  margin-bottom:8px;
  cursor:pointer
}
.shop-delivery-option input,.shop-pay-option input{
  accent-color:var(--shop-brand)
}
.shop-delivery-option strong,.shop-pay-option strong{
  font-size:.75rem;
  display:block
}
.shop-delivery-option span,.shop-pay-option span{
  font-size:.65rem;
  color:#888
}
.shop-pay-option img{
  width:34px;
  height:34px;
  border:1px solid #eee;
  border-radius:9px;
  padding:4px;
  background:#fff
}
.shop-checkout-mini{
  display:flex;
  gap:9px;
  align-items:center;
  padding:8px 0;
  border-bottom:1px solid #eee
}
.shop-checkout-mini img{
  width:48px;
  height:48px;
  border-radius:10px;
  object-fit:cover
}
.shop-checkout-mini strong{
  font-size:.7rem;
  display:block
}
.shop-checkout-mini span{
  font-size:.64rem;
  color:#777
}
.shop-checkout-total{
  display:flex;
  justify-content:space-between;
  font-size:.9rem;
  font-weight:900;
  margin-top:15px
}
.shop-submit-order{
  border:0;
  width:100%;
  background:var(--shop-brand);
  color:#fff;
  border-radius:12px;
  padding:11px;
  font-size:.79rem;
  font-weight:900;
  margin-top:14px
}
.shop-faq .accordion-item{
  border:1px solid var(--shop-line);
  border-radius:16px!important;
  overflow:hidden;
  margin-bottom:10px
}
.shop-faq .accordion-button{
  font-size:.84rem;
  font-weight:850;
  box-shadow:none!important;
  background:#fff
}
.shop-faq .accordion-button:not(.collapsed){
  color:#111;
  background:#faf8fa
}
.shop-faq .accordion-body{
  font-size:.78rem;
  line-height:2;
  color:#555
}
@media(max-width:1199.98px){
  .shop-hero-grid{
    grid-template-columns:.95fr 1.05fr;
    gap:36px
  }
  .shop-hero-visual{
    min-height:500px
  }
  .shop-category-grid{
    grid-template-columns:repeat(3,1fr)
  }
  .shop-product-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .shop-bnpl-grid{
    gap:34px;
    padding:44px
  }
  .shop-provider-grid{
    grid-template-columns:repeat(4,1fr)
  }
}
@media(max-width:991.98px){
  .shop-hero{
    padding-top:36px
  }
  .shop-hero-grid{
    grid-template-columns:1fr;
    gap:32px
  }
  .shop-hero-copy{
    text-align:center
  }
  .shop-hero h1,.shop-hero-copy>p,.shop-search{
    margin-inline:auto
  }
  .shop-quick-tags,.shop-hero-metrics{
    justify-content:center
  }
  .shop-hero-visual{
    min-height:430px;
    max-width:760px;
    width:100%;
    margin-inline:auto
  }
  .shop-hero-photo{
    inset:8px 24px 20px
  }
  .shop-float-card.payment{
    left:5px
  }
  .shop-float-card.delivery{
    right:5px
  }
  .shop-trust-grid{
    grid-template-columns:repeat(2,1fr)
  }
  .shop-trust-item:nth-child(2){
    border-left:0
  }
  .shop-trust-item:nth-child(-n+2){
    border-bottom:1px solid var(--shop-line)
  }
  .shop-catalog-wrap{
    grid-template-columns:1fr
  }
  .shop-filter-panel{
    display:none
  }
  .shop-filter-mobile{
    display:inline-flex
  }
  .shop-bnpl-grid{
    grid-template-columns:1fr
  }
  .shop-media-grid{
    grid-template-columns:1fr
  }
  .shop-media-side{
    grid-template-columns:1fr 1fr;
    grid-template-rows:auto
  }
  .shop-review-grid{
    grid-template-columns:1fr 1fr
  }
  .shop-product-detail-grid{
    grid-template-columns:1fr
  }
  .shop-detail-gallery{
    padding:18px
  }
  .shop-detail-main-img{
    max-width:480px;
    margin-inline:auto
  }
  .shop-checkout-layout{
    grid-template-columns:1fr
  }
  .shop-checkout-summary{
    border-right:0;
    border-top:1px solid #eee
  }
}
@media(max-width:767.98px){
  .shop-hero{
    padding:26px 0 40px
  }
  .shop-hero h1{
    font-size:2.55rem
  }
  .shop-hero-copy>p{
    font-size:.96rem;
    line-height:1.85
  }
  .shop-search{
    border-radius:15px
  }
  .shop-search button{
    padding-inline:14px
  }
  .shop-hero-visual{
    min-height:340px
  }
  .shop-hero-photo{
    inset:8px 8px 24px;
    border-radius:24px
  }
  .shop-float-card{
    padding:10px 12px;
    border-radius:15px
  }
  .shop-float-card.payment{
    left:0;
    top:-8px;
    min-width:175px
  }
  .shop-float-card.delivery{
    right:0;
    bottom:-4px;
    max-width:190px
  }
  .shop-float-icon{
    width:34px;
    height:34px;
    border-radius:10px
  }
  .shop-payment-logo-row img{
    width:26px;
    height:26px
  }
  .shop-section{
    padding:50px 0
  }
  .shop-section-head{
    align-items:flex-start
  }
  .shop-section-head p{
    font-size:.86rem
  }
  .shop-section-link{
    display:none
  }
  .shop-category-grid{
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    margin-inline:-12px;
    padding-inline:12px;
    padding-bottom:8px
  }
  .shop-category-grid::-webkit-scrollbar{
    display:none
  }
  .shop-cat-card{
    flex:0 0 42vw;
    max-width:170px;
    scroll-snap-align:start
  }
  .shop-cat-media{
    height:98px
  }
  .shop-toolbar{
    align-items:flex-start;
    flex-direction:column
  }
  .shop-toolbar-actions{
    width:100%
  }
  .shop-select{
    flex:1;
    min-width:0
  }
  .shop-product-grid{
    gap:10px
  }
  .shop-product-card{
    border-radius:16px
  }
  .shop-product-body{
    padding:11px
  }
  .shop-badge{
    top:8px;
    right:8px
  }
  .shop-like{
    top:7px;
    left:7px;
    width:32px;
    height:32px
  }
  .shop-product-title{
    font-size:.79rem;
    line-height:1.6;
    min-height:40px
  }
  .shop-price-main{
    font-size:.88rem
  }
  .shop-installment{
    display:block
  }
  .shop-installment-logos{
    margin-top:6px
  }
  .shop-add-btn{
    font-size:.72rem
  }
  .shop-bnpl-box{
    border-radius:24px;
    margin-inline:-2px
  }
  .shop-bnpl-grid{
    padding:29px 20px
  }
  .shop-bnpl-copy h2{
    font-size:2rem
  }
  .shop-provider-grid{
    grid-template-columns:repeat(4,1fr);
    gap:7px
  }
  .shop-provider{
    min-height:50px;
    padding:6px
  }
  .shop-provider img{
    max-width:54px
  }
  .shop-media-side{
    grid-template-columns:1fr
  }
  .shop-video-card,.shop-video-card video{
    min-height:300px
  }
  .shop-review-grid{
    grid-template-columns:1fr
  }
  .shop-cart-fab{
    left:12px;
    bottom:78px;
    padding:10px 12px
  }
  .shop-cart-fab .shop-cart-label{
    display:none
  }
  .shop-cart-drawer{
    width:100%
  }
  .shop-modal .modal-dialog,.shop-checkout-modal .modal-dialog{
    margin:0;
    max-width:none;
    height:100%
  }
  .shop-modal .modal-content,.shop-checkout-modal .modal-content{
    min-height:100%;
    border-radius:0
  }
  .shop-detail-content{
    max-height:none
  }
  .shop-detail-title{
    font-size:1.2rem
  }
  .shop-spec-grid{
    grid-template-columns:1fr
  }
  .shop-spec:nth-child(odd){
    border-left:0
  }
  .shop-spec:nth-last-child(-n+2){
    border-bottom:1px solid #efedf0
  }
  .shop-spec:last-child{
    border-bottom:0
  }
  .shop-form-grid{
    grid-template-columns:1fr
  }
  .shop-field.full{
    grid-column:auto
  }
}
@media(max-width:575.98px){
  .shop-trust-grid{
    grid-template-columns:1fr 1fr
  }
  .shop-trust-item{
    padding:13px 10px;
    align-items:flex-start
  }
  .shop-trust-item strong{
    font-size:.75rem
  }
  .shop-trust-item span{
    font-size:.63rem
  }
  .shop-cat-card{
    flex-basis:45vw
  }
  .shop-product-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .shop-product-brand{
    font-size:.61rem
  }
  .shop-rating{
    font-size:.64rem;
    gap:3px
  }
  .shop-stock{
    display:none
  }
  .shop-old-price{
    font-size:.6rem
  }
  .shop-discount{
    display:none
  }
  .shop-installment{
    font-size:.61rem;
    padding:7px
  }
  .shop-add-btn{
    padding:9px 6px
  }
  .shop-cart-item{
    grid-template-columns:62px minmax(0,1fr) auto
  }
  .shop-cart-item img{
    width:62px;
    height:62px
  }
}
@media(prefers-reduced-motion:reduce){
  .shop-product-card,.shop-product-media img,.shop-cart-drawer,.shop-cart-overlay{
    transition:none
  }
}
.shop-audience-wrap{
  margin-top:34px;
  padding-top:28px;
  border-top:1px solid var(--shop-line)
}
.shop-audience-head{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:14px;
  margin-bottom:18px
}
.shop-audience-head h3{
  font-size:1.12rem;
  font-weight:900;
  margin:0
}
.shop-audience-head p{
  font-size:.78rem;
  color:var(--shop-muted);
  margin:4px 0 0
}
.shop-audience-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:12px
}
.shop-audience-card{
  border:1px solid var(--shop-line);
  border-radius:22px;
  background:#fff;
  padding:16px 14px 18px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  text-align:center;
  gap:13px;
  transition:.18s;
  min-width:0
}
.shop-audience-card:hover{
  border-color:#d5c2cc;
  box-shadow:0 12px 30px rgba(30,20,36,.07);
  transform:translateY(-2px)
}
.shop-audience-icon{
  width:190px;
  height:190px;
  flex:0 0 190px;
  max-width:100%;
  border-radius:32px;
  display:grid;
  place-items:center;
  background:#faf0f5;
  font-size:5.25rem;
  line-height:1
}
.shop-audience-card>span:last-child{
  display:block;
  width:100%
}
.shop-audience-card strong{
  font-size:.79rem;
  display:block
}
.shop-audience-card>span:last-child>span{
  font-size:.66rem;
  color:#8a8a90;
  display:block;
  margin-top:4px;
  line-height:1.8
}
@media(max-width:991.98px){
  .shop-audience-grid{
    grid-template-columns:repeat(3,1fr)
  }
}
@media(max-width:575.98px){
  .shop-audience-grid{
    display:flex;
    overflow-x:auto;
    scrollbar-width:none;
    margin-inline:-12px;
    padding-inline:12px
  }
  .shop-audience-grid::-webkit-scrollbar{
    display:none
  }
  .shop-audience-card{
    flex:0 0 68vw;
    max-width:250px
  }
}
/* === Suppliers and product detail pages === */
:root{
  --sup-ink:#111827;
  --sup-muted:#667085;
  --sup-border:#e5e7eb;
  --sup-soft:#f7f8fb;
  --sup-primary:#5b2dde;
  --sup-primary-2:#301a78;
  --sup-scf:#0a7d52;
  --sup-scf-soft:#e9f8f1;
  --sup-warn:#8a4b08;
  --sup-warn-soft:#fff7e8
}
body.suppliers-page{
  background:#fff;
  color:var(--sup-ink)
}
.sup-hero{
  position:relative;
  overflow:hidden;
  padding:72px 0 36px;
  background:radial-gradient(circle at 12% 12%,#eee9ff 0,transparent 34%),linear-gradient(180deg,#fbfaff 0,#fff 100%)
}
.sup-hero:after{
  content:"";
  position:absolute;
  inset:auto -5% -85px auto;
  width:360px;
  height:360px;
  border:1px solid #d9d1ff;
  border-radius:50%;
  box-shadow:0 0 0 55px rgba(91,45,222,.04),0 0 0 110px rgba(91,45,222,.025)
}
.sup-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 12px;
  border:1px solid #d7cffb;
  background:#fff;
  border-radius:999px;
  font-size:.8rem;
  font-weight:800;
  color:#4c2aaa
}
.sup-kicker-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--sup-primary);
  box-shadow:0 0 0 5px rgba(91,45,222,.12)
}
.sup-hero-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:54px;
  align-items:center;
  position:relative;
  z-index:1
}
.sup-hero h1{
  font-size:clamp(2.65rem,5vw,5.2rem);
  line-height:1.03;
  letter-spacing:-.04em;
  font-weight:900;
  margin:18px 0 18px;
  max-width:820px
}
.sup-hero h1 .scf-word{
  color:var(--sup-scf)
}
.sup-hero p{
  font-size:1.08rem;
  line-height:1.95;
  color:#5d6675;
  max-width:720px
}
.sup-search{
  display:flex;
  gap:8px;
  border:1px solid #d9dce4;
  background:#fff;
  border-radius:18px;
  padding:7px;
  margin-top:26px;
  box-shadow:0 12px 32px rgba(24,16,63,.07);
  max-width:720px
}
.sup-search input{
  border:0;
  outline:0;
  flex:1;
  min-width:0;
  padding:0 10px;
  background:transparent
}
.sup-search button{
  border:0;
  border-radius:13px;
  padding:13px 21px;
  background:#111827;
  color:#fff;
  font-weight:800
}
.sup-hero-chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:14px
}
.sup-hero-chips span{
  font-size:.78rem;
  border:1px solid #e2e4ea;
  padding:6px 10px;
  border-radius:999px;
  background:#fff;
  color:#596273
}
.sup-hero-panel{
  background:#121426;
  color:#fff;
  border-radius:32px;
  padding:26px;
  box-shadow:0 28px 60px rgba(17,24,39,.18);
  position:relative;
  overflow:hidden
}
.sup-hero-panel:before{
  content:"SCF";
  position:absolute;
  left:-14px;
  bottom:-36px;
  font-size:9rem;
  font-weight:950;
  color:rgba(255,255,255,.04);
  letter-spacing:-.08em
}
.sup-panel-top{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:start
}
.sup-panel-title{
  font-size:1.22rem;
  font-weight:900
}
.sup-panel-sub{
  font-size:.83rem;
  color:#b8bfd0;
  margin-top:5px
}
.sup-scf-badge-lg{
  display:inline-flex;
  align-items:center;
  gap:7px;
  background:#18a36f;
  color:#fff;
  border:1px solid rgba(255,255,255,.2);
  padding:8px 12px;
  border-radius:999px;
  font-weight:900;
  letter-spacing:.02em
}
.sup-flow{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:9px;
  margin-top:28px
}
.sup-flow-step{
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px;
  padding:14px;
  min-height:118px
}
.sup-flow-num{
  width:27px;
  height:27px;
  border-radius:9px;
  display:grid;
  place-items:center;
  background:#fff;
  color:#111827;
  font-weight:900;
  font-size:.75rem
}
.sup-flow-step strong{
  display:block;
  font-size:.85rem;
  margin:12px 0 4px
}
.sup-flow-step small{
  display:block;
  color:#aeb6c8;
  line-height:1.6
}
.sup-panel-foot{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid rgba(255,255,255,.12)
}
.sup-panel-foot span{
  font-size:.78rem;
  color:#aeb6c8
}
.sup-panel-foot strong{
  font-size:.96rem
}
.sup-stat-strip{
  border-bottom:1px solid var(--sup-border);
  border-top:1px solid var(--sup-border);
  background:#fff
}
.sup-stat-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr)
}
.sup-stat{
  padding:22px 26px;
  border-left:1px solid var(--sup-border)
}
.sup-stat:last-child{
  border-left:0
}
.sup-stat strong{
  display:block;
  font-size:1.15rem
}
.sup-stat span{
  display:block;
  font-size:.78rem;
  color:var(--sup-muted);
  margin-top:3px
}
.sup-section{
  padding:72px 0
}
.sup-section.soft{
  background:var(--sup-soft)
}
.sup-section-head{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:end;
  margin-bottom:25px
}
.sup-section-head h2{
  font-size:clamp(1.75rem,3vw,2.6rem);
  font-weight:900;
  letter-spacing:-.03em;
  margin:0
}
.sup-section-head p{
  color:var(--sup-muted);
  margin:7px 0 0;
  line-height:1.85
}
.sup-note{
  font-size:.76rem;
  color:#747d8d;
  max-width:520px
}
.sup-toolbar{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-bottom:24px
}
.sup-filter{
  border:1px solid #d9dde5;
  background:#fff;
  border-radius:999px;
  padding:9px 14px;
  font-weight:800;
  font-size:.82rem;
  color:#414a59
}
.sup-filter.active{
  background:#111827;
  color:#fff;
  border-color:#111827
}
.sup-filter.scf.active{
  background:var(--sup-scf);
  border-color:var(--sup-scf)
}
.sup-supplier-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px
}
.sup-company-card{
  border:1px solid var(--sup-border);
  border-radius:24px;
  background:#fff;
  padding:20px;
  transition:.2s ease;
  position:relative;
  overflow:hidden
}
.sup-company-card:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 38px rgba(16,24,40,.08)
}
.sup-company-card.hidden{
  display:none
}
.sup-company-top{
  display:flex;
  gap:12px;
  align-items:center
}
.sup-company-mark{
  width:54px;
  height:54px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:#f0ecff;
  color:#4b27b2;
  font-weight:950;
  font-size:.8rem
}
.sup-company-card h3{
  font-size:1rem;
  font-weight:900;
  margin:0
}
.sup-company-role{
  color:#70798a;
  font-size:.76rem;
  margin-top:3px
}
.sup-company-sector{
  display:inline-flex;
  margin-top:14px;
  font-size:.72rem;
  border-radius:999px;
  padding:5px 9px;
  background:#f5f5f7;
  color:#475467
}
.sup-company-metrics{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin:16px 0
}
.sup-company-metric{
  border:1px solid #eceef2;
  border-radius:14px;
  padding:11px
}
.sup-company-metric strong{
  display:block;
  font-size:.94rem
}
.sup-company-metric span{
  font-size:.7rem;
  color:#7a8392
}
.sup-brand-label{
  font-size:.72rem;
  color:#7a8392;
  margin-bottom:7px
}
.sup-brand-list{
  display:flex;
  gap:6px;
  flex-wrap:wrap
}
.sup-brand-chip{
  border:1px solid #e5e7eb;
  border-radius:999px;
  padding:5px 8px;
  font-size:.7rem;
  background:#fafafa
}
.sup-company-pay{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid #edf0f3
}
.sup-pay-types{
  display:flex;
  gap:5px;
  flex-wrap:wrap
}
.sup-pay-pill{
  font-size:.67rem;
  padding:5px 7px;
  border-radius:8px;
  background:#f3f4f6;
  color:#495260;
  font-weight:800
}
.sup-pay-pill.scf{
  background:var(--sup-scf-soft);
  color:var(--sup-scf)
}
.sup-catalog-layout{
  display:grid;
  grid-template-columns:250px 1fr;
  gap:24px
}
.sup-side{
  border:1px solid var(--sup-border);
  background:#fff;
  border-radius:20px;
  padding:17px;
  height:max-content;
  position:sticky;
  top:92px
}
.sup-side h3{
  font-size:.94rem;
  font-weight:900
}
.sup-side-group{
  padding:16px 0;
  border-bottom:1px solid #edf0f2
}
.sup-side-group:last-child{
  border-bottom:0
}
.sup-side label{
  display:flex;
  justify-content:space-between;
  gap:10px;
  margin:9px 0;
  font-size:.8rem;
  color:#515b69;
  cursor:pointer
}
.sup-side input{
  accent-color:var(--sup-primary)
}
.sup-result-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px
}
.sup-result-count{
  font-size:.86rem;
  color:#667085
}
.sup-result-count strong{
  color:#111827
}
.sup-sort{
  border:1px solid #dfe3e9;
  border-radius:11px;
  background:#fff;
  padding:9px 12px;
  font-size:.8rem
}
.sup-product-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:15px
}
.sup-product-card{
  border:1px solid var(--sup-border);
  border-radius:21px;
  background:#fff;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  transition:.2s
}
.sup-product-card:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 36px rgba(16,24,40,.08)
}
.sup-product-card.hidden{
  display:none
}
.sup-prod-media{
  position:relative;
  background:#f7f8fb;
  aspect-ratio:1.18/1;
  display:grid;
  place-items:center;
  overflow:hidden
}
.sup-prod-media img{
  width:100%;
  height:100%;
  object-fit:cover
}
.sup-badges{
  position:absolute;
  right:10px;
  top:10px;
  display:flex;
  gap:6px;
  flex-wrap:wrap
}
.sup-badge{
  font-size:.68rem;
  font-weight:900;
  border-radius:999px;
  padding:6px 9px;
  background:#fff;
  color:#344054;
  box-shadow:0 5px 14px rgba(17,24,39,.07)
}
.sup-badge.scf{
  background:var(--sup-scf);
  color:#fff
}
.sup-badge.brand{
  background:#111827;
  color:#fff
}
.sup-prod-body{
  padding:15px;
  display:flex;
  flex-direction:column;
  flex:1
}
.sup-prod-company{
  font-size:.7rem;
  color:#7b8492
}
.sup-prod-title{
  font-size:.94rem;
  line-height:1.65;
  font-weight:900;
  margin:5px 0 6px;
  min-height:49px
}
.sup-prod-sku{
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  direction:ltr;
  text-align:right;
  font-size:.67rem;
  color:#7b8492
}
.sup-prod-stock{
  display:flex;
  justify-content:space-between;
  gap:8px;
  font-size:.72rem;
  color:#667085;
  margin:12px 0 8px
}
.sup-prod-price-label{
  font-size:.67rem;
  color:#8a93a0
}
.sup-prod-price{
  font-size:1.08rem;
  font-weight:950;
  margin-top:2px
}
.sup-prod-price small{
  font-size:.67rem;
  font-weight:700;
  color:#667085
}
.sup-prod-old{
  font-size:.72rem;
  color:#98a2b3;
  text-decoration:line-through;
  margin-right:6px
}
.sup-prod-settle{
  display:flex;
  gap:5px;
  flex-wrap:wrap;
  margin:10px 0 13px
}
.sup-prod-settle span{
  font-size:.65rem;
  border-radius:7px;
  background:#f3f4f6;
  padding:4px 6px;
  color:#56606e
}
.sup-prod-settle .scf{
  background:var(--sup-scf-soft);
  color:var(--sup-scf);
  font-weight:900
}
.sup-prod-action{
  margin-top:auto;
  display:flex;
  gap:8px
}
.sup-prod-link{
  flex:1;
  text-align:center;
  text-decoration:none;
  border-radius:11px;
  background:#111827;
  color:#fff!important;
  padding:10px;
  font-size:.78rem;
  font-weight:900
}
.sup-prod-code{
  width:42px;
  border:1px solid #dfe3e9;
  background:#fff;
  border-radius:11px;
  font-weight:900;
  color:#4b5563
}
.sup-scf-explain{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:24px;
  background:#0d392b;
  color:#fff;
  border-radius:28px;
  padding:30px;
  overflow:hidden;
  position:relative
}
.sup-scf-explain:after{
  content:"SCF";
  position:absolute;
  left:-25px;
  bottom:-58px;
  font-size:12rem;
  letter-spacing:-.08em;
  font-weight:950;
  color:rgba(255,255,255,.045)
}
.sup-scf-explain h2{
  font-size:2rem;
  font-weight:950
}
.sup-scf-explain p{
  color:#c5e2d6;
  line-height:1.9
}
.sup-scf-list{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px
}
.sup-scf-item{
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.06);
  border-radius:16px;
  padding:15px
}
.sup-scf-item strong{
  display:block;
  font-size:.9rem
}
.sup-scf-item span{
  font-size:.75rem;
  color:#c1d8cf;
  display:block;
  margin-top:4px;
  line-height:1.65
}
/* product detail */
.sup-detail-hero{
  padding:42px 0 28px;
  background:#fafafa;
  border-bottom:1px solid #eceff3
}
.sup-breadcrumb{
  font-size:.75rem;
  color:#788191;
  margin-bottom:18px
}
.sup-breadcrumb a{
  color:#596273;
  text-decoration:none
}
.sup-detail-grid{
  display:grid;
  grid-template-columns:.94fr 1.06fr;
  gap:38px;
  align-items:start
}
.sup-gallery-main{
  border:1px solid #e4e7ec;
  border-radius:26px;
  overflow:hidden;
  background:#f7f8fb
}
.sup-gallery-main img{
  width:100%;
  display:block;
  aspect-ratio:1.15/1;
  object-fit:cover
}
.sup-detail-title{
  font-size:clamp(2rem,4vw,3.5rem);
  font-weight:950;
  line-height:1.15;
  letter-spacing:-.035em;
  margin:10px 0
}
.sup-detail-kicker{
  display:flex;
  gap:7px;
  flex-wrap:wrap
}
.sup-detail-sku{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:6px 9px;
  border-radius:8px;
  background:#f2f4f7;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  direction:ltr;
  font-size:.72rem
}
.sup-detail-summary{
  font-size:.94rem;
  line-height:1.9;
  color:#616b79
}
.sup-detail-supplier{
  display:flex;
  gap:12px;
  align-items:center;
  border:1px solid #e4e7ec;
  border-radius:16px;
  padding:12px;
  margin:18px 0
}
.sup-detail-supplier .sup-company-mark{
  width:44px;
  height:44px;
  border-radius:12px
}
.sup-detail-supplier strong{
  display:block;
  font-size:.86rem
}
.sup-detail-supplier span{
  font-size:.72rem;
  color:#77808f
}
.sup-detail-pricebox{
  border:1px solid #dfe3e9;
  border-radius:20px;
  padding:18px;
  background:#fff
}
.sup-detail-price{
  font-size:1.7rem;
  font-weight:950
}
.sup-detail-price small{
  font-size:.75rem;
  color:#697382
}
.sup-detail-old{
  color:#98a2b3;
  text-decoration:line-through;
  font-size:.8rem;
  margin-right:8px
}
.sup-detail-info-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin:14px 0
}
.sup-detail-info{
  border:1px solid #eceef2;
  border-radius:12px;
  padding:10px
}
.sup-detail-info span{
  display:block;
  font-size:.65rem;
  color:#818998
}
.sup-detail-info strong{
  display:block;
  font-size:.8rem;
  margin-top:3px
}
.sup-scf-box{
  background:var(--sup-scf-soft);
  border:1px solid #b8e7d3;
  border-radius:16px;
  padding:14px;
  margin-top:13px
}
.sup-scf-box-head{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center
}
.sup-scf-box strong{
  color:#076a46
}
.sup-scf-box p{
  font-size:.75rem;
  color:#376858;
  line-height:1.7;
  margin:6px 0 0
}
.sup-no-scf{
  background:#f6f7f8;
  border:1px solid #e4e7ec
}
.sup-no-scf strong{
  color:#4b5563
}
.sup-order-line{
  display:grid;
  grid-template-columns:110px 1fr;
  gap:9px;
  margin-top:14px
}
.sup-qty{
  display:flex;
  border:1px solid #dfe3e9;
  border-radius:12px;
  overflow:hidden
}
.sup-qty button{
  width:34px;
  border:0;
  background:#f8f9fb;
  font-weight:900
}
.sup-qty input{
  width:42px;
  min-width:0;
  text-align:center;
  border:0;
  outline:0;
  font-weight:900
}
.sup-order-btn{
  border:0;
  border-radius:12px;
  background:#111827;
  color:#fff;
  font-weight:900
}
.sup-order-note{
  font-size:.69rem;
  color:#77808f;
  margin-top:8px
}
.sup-tabs{
  display:flex;
  gap:8px;
  overflow:auto;
  margin-bottom:18px
}
.sup-tab{
  white-space:nowrap;
  border:1px solid #dfe3e9;
  border-radius:999px;
  background:#fff;
  padding:9px 13px;
  font-weight:800;
  font-size:.78rem
}
.sup-tab.active{
  background:#111827;
  color:#fff;
  border-color:#111827
}
.sup-pane{
  display:none
}
.sup-pane.active{
  display:block
}
.sup-spec-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:9px
}
.sup-spec-row{
  display:flex;
  justify-content:space-between;
  gap:16px;
  border-bottom:1px solid #eceef2;
  padding:12px 3px;
  font-size:.82rem
}
.sup-spec-row span{
  color:#727c8b
}
.sup-price-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  border:1px solid #e4e7ec;
  border-radius:16px;
  overflow:hidden
}
.sup-price-table th,.sup-price-table td{
  padding:12px;
  border-bottom:1px solid #edf0f2;
  font-size:.78rem
}
.sup-price-table th{
  background:#f8f9fb;
  color:#667085
}
.sup-price-table tr:last-child td{
  border-bottom:0
}
.sup-related{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px
}
.sup-related a{
  text-decoration:none;
  color:inherit;
  border:1px solid #e4e7ec;
  border-radius:16px;
  overflow:hidden;
  background:#fff
}
.sup-related img{
  width:100%;
  aspect-ratio:1.25/1;
  object-fit:cover;
  background:#f8f9fb
}
.sup-related div{
  padding:10px
}
.sup-related strong{
  font-size:.76rem;
  line-height:1.5;
  display:block
}
.sup-related span{
  font-size:.67rem;
  color:#7a8392
}
.sup-mobile-bar{
  display:none
}
@media(max-width:1100px){
  .sup-supplier-grid{
    grid-template-columns:repeat(2,1fr)
  }
  .sup-product-grid{
    grid-template-columns:repeat(2,1fr)
  }
  .sup-hero-grid{
    grid-template-columns:1fr 1fr;
    gap:28px
  }
  .sup-related{
    grid-template-columns:repeat(2,1fr)
  }
}
@media(max-width:820px){
  .sup-hero{
    padding-top:48px
  }
  .sup-hero-grid,.sup-detail-grid,.sup-scf-explain{
    grid-template-columns:1fr
  }
  .sup-hero-panel{
    margin-top:6px
  }
  .sup-stat-grid{
    grid-template-columns:repeat(2,1fr)
  }
  .sup-stat:nth-child(2){
    border-left:0
  }
  .sup-stat:nth-child(-n+2){
    border-bottom:1px solid var(--sup-border)
  }
  .sup-catalog-layout{
    grid-template-columns:1fr
  }
  .sup-side{
    position:static
  }
  .sup-side{
    display:none
  }
  .sup-section{
    padding:54px 0
  }
  .sup-detail-hero{
    padding-top:24px
  }
  .sup-mobile-bar{
    display:flex;
    position:sticky;
    bottom:0;
    z-index:70;
    background:rgba(255,255,255,.94);
    backdrop-filter:blur(14px);
    padding:10px;
    border-top:1px solid #e4e7ec;
    gap:8px
  }
  .sup-mobile-bar a,.sup-mobile-bar button{
    flex:1;
    border:0;
    border-radius:11px;
    padding:11px;
    text-align:center;
    text-decoration:none;
    font-weight:900;
    font-size:.78rem
  }
  .sup-mobile-bar a{
    background:#111827;
    color:#fff
  }
  .sup-mobile-bar button{
    background:var(--sup-scf-soft);
    color:var(--sup-scf)
  }
}
@media(max-width:600px){
  .sup-search{
    flex-wrap:wrap
  }
  .sup-search input{
    width:100%;
    min-height:44px
  }
  .sup-search button{
    width:100%
  }
  .sup-flow{
    grid-template-columns:1fr
  }
  .sup-flow-step{
    min-height:0
  }
  .sup-supplier-grid,.sup-product-grid{
    grid-template-columns:1fr
  }
  .sup-section-head{
    align-items:start;
    flex-direction:column
  }
  .sup-detail-info-grid{
    grid-template-columns:1fr 1fr
  }
  .sup-order-line{
    grid-template-columns:100px 1fr
  }
  .sup-spec-grid{
    grid-template-columns:1fr
  }
  .sup-scf-list{
    grid-template-columns:1fr
  }
  .sup-related{
    grid-template-columns:1fr 1fr
  }
  .sup-stat{
    padding:18px 14px
  }
  .sup-detail-title{
    font-size:2rem
  }
}
/* =========================================================
   FINOW v4.16 — canonical hero system
   Source of truth: index.html hero spacing.
   Every page that has a hero uses body.has-standard-hero.
   ========================================================= */
:root{
  --finow-hero-nav-gap:50px;
  --finow-hero-bottom-space:58px;
  --finow-hero-bottom-space-mobile:42px;
}
body.has-standard-hero>main{
  padding-top:0!important
}
body.has-standard-hero>main>section:first-child{
  padding-top:calc(var(--floating-header-top,12px) + var(--floating-header-height,74px) + var(--finow-hero-nav-gap))!important;
  padding-bottom:var(--finow-hero-bottom-space)!important;
  min-height:0!important;
}
/* Business hero rotating sector title */
.business-hero-title{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:.08em
}
.business-hero-title-static{
  display:block
}
.business-hero-rotate-line{
  display:inline-flex;
  align-items:center;
  min-width:7.3em;
  color:var(--finow-brand);
  font-weight:900;
  line-height:1.12
}
[data-business-hero-rotate]{
  display:inline-block;
  min-width:5.9em;
  color:var(--finow-brand);
  opacity:1;
  transform:translateY(0);
  transition:opacity .36s ease,transform .36s cubic-bezier(.2,.8,.2,1);
  will-change:opacity,transform
}
[data-business-hero-rotate].is-fading{
  opacity:0;
  transform:translateY(8px)
}
/* Keep visual-heavy heroes inside a practical desktop viewport without changing their content. */
@media(min-width:992px){
  body.has-standard-hero>main>section:first-child .row.align-items-center{
    align-items:flex-start!important
  }
  .biz-hero-layout{
    align-items:start!important;
    min-height:0!important
  }
  .biz-fresha-hero .biz-hero-copy{
    padding-top:0!important
  }
  .product-stage-fresha{
    min-height:0!important;
    height:clamp(360px,calc(100vh - 154px),590px)!important;
    padding-top:0!important;
    padding-bottom:clamp(16px,3vh,36px)!important
  }
  .product-stage-fresha .desktop-shot{
    max-height:100%!important
  }
  .product-stage-fresha .mobile-shot{
    max-height:72%!important;
    bottom:clamp(10px,2vh,24px)!important
  }
  .fx-hero-grid{
    align-items:start!important;
    min-height:0!important
  }
  .fx-hero-art{
    padding-bottom:0!important
  }
  .fx-hero-art>img{
    height:clamp(330px,calc(100vh - 180px),520px)!important
  }
  .fx-hero h1{
    margin-bottom:clamp(14px,2vh,22px)!important
  }
  .fx-actions{
    margin-top:clamp(16px,2.3vh,26px)!important
  }
  .fx-hero-foot{
    margin-top:clamp(14px,2vh,22px)!important
  }
  .shop-hero-grid,.sup-hero-grid{
    align-items:start!important
  }
  .shop-hero-visual{
    min-height:0!important;
    height:clamp(340px,calc(100vh - 170px),520px)!important
  }
  .shop-hero-photo{
    inset:0 0 18px 20px!important
  }
  .pos-stage{
    min-height:0!important;
    height:clamp(390px,calc(100vh - 170px),520px)!important
  }
  .phone-scene{
    min-height:0!important;
    height:clamp(400px,calc(100vh - 170px),540px)!important;
    margin-top:0!important
  }
  .phone-stack{
    height:100%!important
  }
  body.has-standard-hero>main>section:first-child .finow-context-cover{
    margin-top:clamp(12px,2vh,20px)!important;
    max-height:clamp(150px,24vh,250px)!important;
    aspect-ratio:4/1!important
  }
  body.has-standard-hero>main>section:first-child .display-finow{
    font-size:clamp(2.35rem,min(4.7vw,7.2vh),4.65rem)
  }
  .biz-fresha-hero .display-finow{
    font-size:clamp(2.65rem,min(4.4vw,7.2vh),4.45rem)!important
  }
  .shop-hero h1{
    font-size:clamp(2.45rem,min(4.7vw,7vh),4.7rem)!important
  }
  .sup-hero h1{
    font-size:clamp(2.4rem,min(4.6vw,7vh),4.7rem)!important
  }
}
@media(max-width:991.98px){
  .business-hero-title{
    align-items:center
  }
  .business-hero-rotate-line{
    justify-content:center;
    min-width:7em
  }
}
@media(max-width:767.98px){
  body.has-standard-hero>main{
    padding-top:0!important
  }
  body.has-standard-hero>main>section:first-child{
    padding-top:calc(var(--floating-header-top,5px) + var(--floating-header-height,66px) + var(--finow-hero-nav-gap))!important;
    padding-bottom:var(--finow-hero-bottom-space-mobile)!important;
  }
  .business-hero-rotate-line{
    min-width:6.8em
  }
}
@media(prefers-reduced-motion:reduce){
  [data-business-hero-rotate]{
    transition:none!important
  }
}
/* =========================================================
   Refactor utilities & component states — v4.17
   Presentational values formerly embedded in HTML/JS live here.
   ========================================================= */
.home-hero-copy{
  max-width:1040px
}
.about-hero-title{
  max-width:930px
}
.editorial-hero-title{
  max-width:900px
}
.section-flush-top{
  padding-top:0
}
.booking-confirm-modal{
  border-radius:26px
}
.booking-success-icon{
  width:64px;
  height:64px;
  border-radius:50%;
  background:#e7f8f1;
  display:grid;
  place-items:center;
  font-size:28px
}
.biz-feature-media{
  width:100%;
  height:230px;
  object-fit:cover
}
[data-meter-value="48"]{
  height:48%
}
[data-meter-value="58"]{
  height:58%
}
[data-meter-value="66"]{
  height:66%
}
[data-meter-value="78"]{
  height:78%
}
[data-meter-value="88"]{
  height:88%
}
.biz-final-cta-media{
  background-image:linear-gradient(135deg,rgba(21,14,35,.86),rgba(87,55,145,.72)),url('../images/photoreal/features-hero.webp')
}
.gift-card-preview{
  transform:rotate(-3deg)
}
.search-filter-modal{
  border-radius:24px
}
.shop-cart-drawer{
  height:auto;
  max-height:76vh;
  border-radius:24px 24px 0 0
}
.shop-feedback-toast{
  z-index:1400;
  opacity:0;
  pointer-events:none;
  transition:opacity .25s ease
}
.shop-feedback-toast.show{
  opacity:1;
  pointer-events:auto
}
.heart.active,
.heart[aria-pressed="true"]{
  background:#111;
  color:#fff
}
.cx-profile-copy{
  white-space:pre-line
}
body.is-scroll-locked{
  overflow:hidden
}
.sup-toast{
  position:fixed;
  bottom:24px;
  left:24px;
  background:#111827;
  color:#fff;
  padding:12px 16px;
  border-radius:12px;
  z-index:1090;
  font-size:13px;
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease
}
.sup-toast.is-visible{
  opacity:1
}
.site-header a.is-active,.mobile-bottom a[aria-current="page"]{
  font-weight:800
}
@media (prefers-reduced-motion: reduce){
  .shop-feedback-toast,.sup-toast{
    transition:none
  }
}
.login-modal-content{
  border:0;
  border-radius:24px
}
.no-js-header{
  position:relative;
  z-index:2;
  border-bottom:1px solid var(--line);
  background:#fff
}
.no-js-nav{
  display:flex;
  align-items:center;
  gap:18px;
  min-height:64px;
  font-weight:700;
  flex-wrap:wrap
}
.no-js-footer{
  padding:28px 0;
  border-top:1px solid var(--line);
  background:#f7f7f8;
  color:var(--muted)
}
.no-js-footer a{
  text-decoration:underline;
  text-underline-offset:3px
}
