/* ==========================================================
   SimpleBiz — Why Choose Us
   ========================================================== */
.sbw{
	--sbw-red:#d71f2e;
	--sbw-red-dark:#b3121f;
	--sbw-ink:#16161a;
	--sbw-body:#5b5d66;
	--sbw-bg:transparent;
	--sbw-card:#ffffff;
	--sbw-line:#ececef;
	--sbw-radius:18px;
	--sbw-cols:4;
	--sbw-ease:cubic-bezier(.2,.7,.2,1);
	position:relative;width:100%;padding:clamp(60px,8vw,120px) 0;background:var(--sbw-bg);
	color:var(--sbw-ink);font-family:inherit;
}
.sbw *,.sbw *::before,.sbw *::after{box-sizing:border-box}
.sbw-inner{position:relative;width:100%;max-width:1320px;margin:0 auto}

/* reveal */
.sbw--animate.sbw-js .sbw-rv{opacity:0;transform:translateY(28px);transition:opacity .8s var(--sbw-ease),transform .9s var(--sbw-ease);transition-delay:calc(var(--sbw-i,0) * 90ms)}
.sbw--animate.sbw-js .sbw-rv.is-in{opacity:1;transform:none}

/* ---------- Header ---------- */
.sbw-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px 48px;flex-wrap:wrap;margin-bottom:clamp(36px,4.5vw,60px)}
.sbw-head-copy{max-width:920px}
.sbw-eyebrow{display:inline-flex;align-items:center;gap:12px;margin-bottom:18px;color:var(--sbw-red);font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.sbw-eyebrow i{position:relative;width:28px;height:2px;background:var(--sbw-red);border-radius:2px}
.sbw-eyebrow i::after{content:"";position:absolute;right:-6px;top:-2px;width:6px;height:6px;border-radius:50%;background:var(--sbw-red)}
.sbw .sbw-title{margin:0;padding:0;color:var(--sbw-ink);font-family:inherit;font-size:clamp(32px,4.2vw,56px);font-weight:700;line-height:1.08;letter-spacing:-.025em;text-transform:none}
.sbw .sbw-title em{position:relative;font-style:normal;color:var(--sbw-red);white-space:nowrap}
.sbw .sbw-title em::after{content:"";position:absolute;left:0;right:0;bottom:.02em;height:.14em;background:currentColor;opacity:.16;border-radius:4px;transform:scaleX(0);transform-origin:left;transition:transform 1s var(--sbw-ease) .5s}
.sbw .sbw-title.is-in em::after,.sbw:not(.sbw--animate) .sbw-title em::after,.sbw:not(.sbw-js) .sbw-title em::after{transform:scaleX(1)}
.sbw .sbw-sub{max-width:560px;margin:18px 0 0;color:var(--sbw-body);font-size:17px;line-height:1.65}
.sbw .sbw-btn{
	position:relative;display:inline-flex;align-items:center;gap:12px;padding:16px 26px;overflow:hidden;
	border:2px solid var(--sbw-red);border-radius:999px;background:var(--sbw-red);color:#fff!important;
	font-size:15px;font-weight:600;line-height:1;text-decoration:none!important;
	transition:box-shadow .4s ease,transform .4s var(--sbw-ease),gap .4s var(--sbw-ease),background .3s ease,border-color .3s ease;
}
.sbw .sbw-btn svg{width:18px;height:18px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sbw .sbw-btn:hover{gap:18px;background:var(--sbw-red-dark);border-color:var(--sbw-red-dark);box-shadow:0 14px 30px -12px color-mix(in srgb,var(--sbw-red) 70%,transparent);transform:translateY(-2px)}

/* ---------- Grid ---------- */
.sbw-grid{display:grid;grid-template-columns:repeat(var(--sbw-cols,4),minmax(0,1fr));gap:clamp(16px,1.8vw,24px)}

/* ---------- Card base ---------- */
.sbw .sbw-card{
	position:relative;display:flex;flex-direction:column;align-items:flex-start;min-width:0;
	--sbw-pad:clamp(26px,2.4vw,36px);padding:var(--sbw-pad);overflow:hidden;isolation:isolate;
	border:1px solid var(--sbw-line);border-radius:var(--sbw-radius);background:var(--sbw-card);
	color:inherit;text-decoration:none!important;
	transition:transform .55s var(--sbw-ease),box-shadow .55s var(--sbw-ease),border-color .4s ease;
}
.sbw-fill{position:absolute;inset:0;z-index:-1;pointer-events:none}
.sbw-num{position:absolute;top:18px;right:22px;z-index:-1;font-size:clamp(54px,5vw,76px);font-weight:800;line-height:1;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1.5px var(--sbw-line);transition:-webkit-text-stroke-color .4s ease,transform .6s var(--sbw-ease)}
.sbw:not(.sbw--numbers) .sbw-num{display:none}
.sbw-icon{
	display:grid;place-items:center;width:58px;height:58px;margin-bottom:clamp(28px,3vw,44px);
	border-radius:16px;background:color-mix(in srgb,var(--sbw-red) 9%,#fff);color:var(--sbw-red);
	transition:background .45s ease,color .45s ease,transform .6s var(--sbw-ease);
}
.sbw-icon svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.sbw .sbw-card-title{margin:0 0 10px;padding:0;color:var(--sbw-ink);font-family:inherit;font-size:clamp(19px,1.5vw,22px);font-weight:700;line-height:1.25;letter-spacing:-.01em;text-transform:none;transition:color .4s ease}
.sbw .sbw-card-text{margin:0;color:var(--sbw-body);font-size:16px;line-height:1.65;transition:color .4s ease}
.sbw-card-arrow{display:grid;place-items:center;width:40px;height:40px;margin-top:auto;padding-top:0;border-radius:50%;transform:translateY(0)}
.sbw .sbw-card--link .sbw-card-text{margin-bottom:24px}
.sbw-card-arrow svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .45s var(--sbw-ease)}
.sbw-card--link:hover .sbw-card-arrow svg{transform:translateX(4px) rotate(-45deg)}
.sbw .sbw-card:focus-visible{outline:3px solid var(--sbw-red);outline-offset:3px}

/* ===== Style: fill (red sweeps up on hover) ===== */
.sbw--fill .sbw-fill{
	background:
		radial-gradient(420px circle at var(--mx,50%) var(--my,0%),rgba(255,255,255,.18),transparent 45%),
		linear-gradient(160deg,var(--sbw-red),var(--sbw-red-dark));
	clip-path:inset(100% 0 0 0 round var(--sbw-radius));transition:clip-path .65s var(--sbw-ease);
}
.sbw--fill .sbw-card::before{content:"";position:absolute;left:var(--sbw-pad);right:var(--sbw-pad);top:0;height:3px;border-radius:0 0 3px 3px;background:var(--sbw-red);transform:scaleX(.16);transform-origin:left;transition:transform .6s var(--sbw-ease),background .4s ease}
.sbw--fill .sbw-card:hover,.sbw--fill .sbw-card:focus-visible{transform:translateY(-8px);border-color:transparent;box-shadow:0 28px 50px -24px color-mix(in srgb,var(--sbw-red) 75%,transparent)}
.sbw--fill .sbw-card:hover::before{transform:scaleX(1);background:rgba(255,255,255,.7)}
.sbw--fill .sbw-card:hover .sbw-fill,.sbw--fill .sbw-card:focus-visible .sbw-fill{clip-path:inset(0 0 0 0 round var(--sbw-radius))}
.sbw--fill .sbw-card:hover .sbw-card-title,.sbw--fill .sbw-card:hover .sbw-card-text{color:#fff}
.sbw--fill .sbw-card:hover .sbw-card-text{color:rgba(255,255,255,.88)}
.sbw--fill .sbw-card:hover .sbw-icon{background:#fff;color:var(--sbw-red);transform:rotate(-8deg) scale(1.06)}
.sbw--fill .sbw-card:hover .sbw-num{-webkit-text-stroke-color:rgba(255,255,255,.35);transform:translateY(-4px)}
.sbw--fill .sbw-card-arrow{background:color-mix(in srgb,var(--sbw-red) 9%,#fff);color:var(--sbw-red);transition:background .4s ease}
.sbw--fill .sbw-card:hover .sbw-card-arrow{background:#fff}

/* ===== Style: lines (minimal, like the original) ===== */
.sbw--lines .sbw-card{--sbw-pad:0px;padding:28px 0 0;border:0;border-radius:0;background:transparent;overflow:visible}
.sbw--lines .sbw-card::before,.sbw--lines .sbw-card::after{content:"";position:absolute;left:0;right:0;top:0;height:2px;border-radius:2px}
.sbw--lines .sbw-card::before{background:var(--sbw-ink)}
.sbw--lines .sbw-card::after{background:var(--sbw-red);transform:scaleX(0);transform-origin:left;transition:transform .7s var(--sbw-ease)}
.sbw--lines .sbw-card:hover::after{transform:scaleX(1)}
.sbw--lines .sbw-num{position:static;order:-2;margin-bottom:18px;font-size:14px;font-weight:700;letter-spacing:.08em;color:var(--sbw-red);-webkit-text-stroke:0}
.sbw--lines .sbw-icon{width:auto;height:auto;margin-bottom:16px;background:none;border-radius:0}
.sbw--lines .sbw-card:hover .sbw-icon{transform:translateY(-3px)}
.sbw--lines .sbw-card:hover .sbw-card-title{color:var(--sbw-red)}
.sbw--lines .sbw-card-arrow{width:auto;height:auto;color:var(--sbw-red);justify-content:start}

/* ===== Style: red (bold red section with white cards) ===== */
.sbw--red{--sbw-bg:var(--sbw-red);overflow:hidden}
.sbw--red::before{content:"";position:absolute;right:-12%;top:-30%;width:60vw;height:60vw;max-width:760px;max-height:760px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.14),transparent 62%);pointer-events:none}
.sbw--red .sbw-inner{padding:0 clamp(16px,3vw,32px)}
.sbw--red .sbw-eyebrow{color:#fff}
.sbw--red .sbw-eyebrow i,.sbw--red .sbw-eyebrow i::after{background:#fff}
.sbw--red .sbw-title{color:#fff}
.sbw--red .sbw-title em{color:#fff}
.sbw--red .sbw-title em::after{opacity:.3}
.sbw--red .sbw-sub{color:rgba(255,255,255,.82)}
.sbw--red .sbw-btn{background:#fff;border-color:#fff;color:var(--sbw-red)!important}
.sbw--red .sbw-btn:hover{background:var(--sbw-ink);border-color:var(--sbw-ink);color:#fff!important;box-shadow:0 14px 30px -12px rgba(0,0,0,.45)}
.sbw--red .sbw-card{border-color:transparent;box-shadow:0 20px 40px -28px rgba(60,0,0,.6)}
.sbw--red .sbw-card:hover{transform:translateY(-8px);box-shadow:0 34px 60px -28px rgba(40,0,0,.75)}
.sbw--red .sbw-card:hover .sbw-icon{background:var(--sbw-red);color:#fff;transform:rotate(-8deg) scale(1.06)}
.sbw--red .sbw-card:hover .sbw-num{-webkit-text-stroke-color:color-mix(in srgb,var(--sbw-red) 35%,#fff)}
.sbw--red .sbw-card-arrow{background:var(--sbw-red);color:#fff}


/* ==========================================================
   Background effects
   ========================================================== */
.sbw{
	--sbw-fx:1;
	--fx-blob-a:color-mix(in srgb,var(--sbw-red) 24%,transparent);
	--fx-blob-b:rgba(255,120,132,.30);
	--fx-blob-c:rgba(255,190,196,.45);
	--fx-line:color-mix(in srgb,var(--sbw-red) 8%,transparent);
	--fx-ring:color-mix(in srgb,var(--sbw-red) 20%,transparent);
	--fx-word:color-mix(in srgb,var(--sbw-red) 16%,transparent);
	--fx-spot:color-mix(in srgb,var(--sbw-red) 13%,transparent);
}
.sbw--fx{isolation:isolate}
.sbw--fx.sbw--red{overflow:visible}
.sbw--fx:not(.sbw--red){--sbw-bg:linear-gradient(180deg,#fff 0%,#fff6f6 55%,#fff 100%)}
.sbw-inner{z-index:1}
.sbw-bg{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:var(--sbw-bg)}
.sbw--fx.sbw--full{background:transparent}
.sbw--full .sbw-bg{left:50%;right:auto;width:100vw;transform:translateX(-50%)}
.sbw--full.sbw-js .sbw-bg{left:var(--sbw-bg-left,0px);width:var(--sbw-bg-width,100vw);transform:none}

/* moving glow */
.sbw-blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:calc(.9 * var(--sbw-fx));will-change:transform;transition:translate 1.2s var(--sbw-ease)}
.sbw-blob--1{width:min(560px,70vw);height:min(560px,70vw);left:-8%;top:-18%;background:var(--fx-blob-a);animation:sbwFloat1 22s ease-in-out infinite alternate}
.sbw-blob--2{width:min(460px,60vw);height:min(460px,60vw);right:-6%;top:10%;background:var(--fx-blob-b);animation:sbwFloat2 26s ease-in-out infinite alternate}
.sbw-blob--3{width:min(420px,55vw);height:min(420px,55vw);left:38%;bottom:-30%;background:var(--fx-blob-c);animation:sbwFloat3 30s ease-in-out infinite alternate}
@keyframes sbwFloat1{to{transform:translate(18%,22%) scale(1.15)}}
@keyframes sbwFloat2{to{transform:translate(-22%,18%) scale(.9)}}
@keyframes sbwFloat3{to{transform:translate(-30%,-24%) scale(1.2)}}

/* pattern */
.sbw-pattern{position:absolute;inset:0;opacity:var(--sbw-fx);-webkit-mask-image:radial-gradient(ellipse 70% 65% at 50% 45%,#000 20%,transparent 78%);mask-image:radial-gradient(ellipse 70% 65% at 50% 45%,#000 20%,transparent 78%)}
.sbw-pattern--grid{background-image:linear-gradient(var(--fx-line) 1px,transparent 1px),linear-gradient(90deg,var(--fx-line) 1px,transparent 1px);background-size:56px 56px;background-position:center center;animation:sbwGrid 40s linear infinite}
.sbw-pattern--dots{background-image:radial-gradient(color-mix(in srgb,var(--sbw-red) 22%,transparent) 1.2px,transparent 1.7px);background-size:24px 24px;animation:sbwGrid 40s linear infinite}
@keyframes sbwGrid{to{background-position:56px 56px}}

/* big background word */
.sbw-word{position:absolute;left:50%;bottom:-.2em;transform:translateX(-50%);white-space:nowrap;font-family:inherit;font-size:clamp(60px,19vw,300px);font-weight:800;line-height:1;letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1.5px var(--fx-word);opacity:var(--sbw-fx);user-select:none;
	background:linear-gradient(180deg,var(--fx-word),transparent 75%);-webkit-background-clip:text;background-clip:text}

/* rings, dots and plus signs */
.sbw-ring{position:absolute;fill:none;stroke:var(--fx-ring);stroke-width:1;opacity:var(--sbw-fx);transition:translate 1.2s var(--sbw-ease)}
.sbw-ring .sbw-ring-dash{stroke-dasharray:2 9;stroke-width:1.6}
.sbw-ring--1{width:clamp(220px,28vw,420px);right:-6%;top:-12%;animation:sbwSpin 70s linear infinite}
.sbw-ring--2{width:clamp(160px,18vw,280px);left:-4%;bottom:-6%;animation:sbwSpin 55s linear infinite reverse}
@keyframes sbwSpin{to{transform:rotate(360deg)}}
.sbw-dot{position:absolute;border-radius:50%;background:var(--sbw-red);opacity:calc(.55 * var(--sbw-fx));animation:sbwBob 7s ease-in-out infinite alternate;transition:translate 1.2s var(--sbw-ease)}
.sbw-dot--1{width:10px;height:10px;left:8%;top:22%}
.sbw-dot--2{width:6px;height:6px;right:18%;top:12%;animation-delay:-2s}
.sbw-dot--3{width:14px;height:14px;right:7%;bottom:18%;opacity:calc(.25 * var(--sbw-fx));animation-delay:-4s}
.sbw-dot--4{width:7px;height:7px;left:46%;top:8%;animation-delay:-1s}
.sbw-plus{position:absolute;width:16px;height:16px;opacity:calc(.5 * var(--sbw-fx));animation:sbwBob 9s ease-in-out infinite alternate-reverse}
.sbw-plus::before,.sbw-plus::after{content:"";position:absolute;left:50%;top:50%;width:100%;height:2px;margin:-1px 0 0 -50%;border-radius:2px;background:var(--sbw-red)}
.sbw-plus::after{transform:rotate(90deg)}
.sbw-plus--1{left:24%;bottom:12%}
.sbw-plus--2{right:30%;top:20%;width:11px;height:11px;animation-delay:-3s}
@keyframes sbwBob{to{transform:translateY(-22px) rotate(25deg)}}

/* spotlight */
.sbw-spot{position:absolute;inset:0;background:radial-gradient(520px circle at var(--sx,50%) var(--sy,30%),var(--fx-spot),transparent 62%);opacity:0;transition:opacity .6s ease}
.sbw.is-pointer .sbw-spot{opacity:var(--sbw-fx)}

/* film grain */
.sbw-grain{position:absolute;inset:-50%;opacity:.07;mix-blend-mode:multiply;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
	animation:sbwGrain 1.2s steps(4) infinite}
@keyframes sbwGrain{25%{transform:translate(-3%,2%)}50%{transform:translate(2%,-3%)}75%{transform:translate(-2%,-1%)}100%{transform:translate(1%,3%)}}

/* pause everything while the section is off screen */
.sbw-js:not(.is-visible) .sbw-bg *{animation-play-state:paused}

/* glassy cards on top of the effects */
.sbw--fx.sbw--fill .sbw-card{background:color-mix(in srgb,var(--sbw-card) 74%,transparent);border-color:color-mix(in srgb,var(--sbw-red) 10%,#fff);-webkit-backdrop-filter:blur(14px) saturate(150%);backdrop-filter:blur(14px) saturate(150%);box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 18px 40px -30px rgba(120,10,20,.35)}
.sbw--fx.sbw--fill .sbw-num{-webkit-text-stroke-color:color-mix(in srgb,var(--sbw-red) 16%,transparent)}
.sbw--fx.sbw--fill .sbw-icon{background:linear-gradient(145deg,#fff,color-mix(in srgb,var(--sbw-red) 12%,#fff));box-shadow:0 8px 18px -10px color-mix(in srgb,var(--sbw-red) 60%,transparent),0 1px 0 #fff inset}
.sbw--fx.sbw--lines .sbw-card{padding:28px 20px 24px;background:color-mix(in srgb,#fff 45%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:0 0 var(--sbw-radius) var(--sbw-radius)}
.sbw--fx.sbw--lines .sbw-card::before,.sbw--fx.sbw--lines .sbw-card::after{left:0;right:0}

/* effects in white for the bold red style */
.sbw--red{
	--fx-blob-a:rgba(255,255,255,.22);
	--fx-blob-b:rgba(120,0,10,.45);
	--fx-blob-c:rgba(255,140,150,.35);
	--fx-line:rgba(255,255,255,.09);
	--fx-ring:rgba(255,255,255,.28);
	--fx-word:rgba(255,255,255,.16);
	--fx-spot:rgba(255,255,255,.16);
}
.sbw--red .sbw-dot,.sbw--red .sbw-plus::before,.sbw--red .sbw-plus::after{background:#fff}
.sbw--red .sbw-grain{mix-blend-mode:overlay;opacity:.12}
.sbw--red.sbw--fx .sbw-bg{background:radial-gradient(120% 90% at 0% 0%,color-mix(in srgb,var(--sbw-red) 80%,#ff5a66),var(--sbw-red) 45%,var(--sbw-red-dark))}
.sbw--red.sbw--fx::before{display:none}
.sbw--red .sbw-pattern--dots{background-image:radial-gradient(rgba(255,255,255,.28) 1.2px,transparent 1.7px)}

/* ---------- Header on the side ---------- */
.sbw--head-side .sbw-inner{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,2fr);gap:clamp(32px,5vw,80px);align-items:start}
.sbw--head-side .sbw-head{position:sticky;top:120px;flex-direction:column;align-items:flex-start;margin:0}
.sbw--head-side .sbw-grid{grid-template-columns:repeat(min(var(--sbw-cols,2),2),minmax(0,1fr))}

/* ---------- Responsive ---------- */
@media (max-width:1024px){
	.sbw{--sbw-cols:2}
	.sbw--head-side .sbw-inner{grid-template-columns:minmax(0,1fr)}
	.sbw--head-side .sbw-head{position:static}
	.sbw--head-side .sbw-grid{grid-template-columns:repeat(var(--sbw-cols,2),minmax(0,1fr))}
}
@media (max-width:767px){
	.sbw{--sbw-cols:1}
	.sbw-blob{filter:blur(50px)}
	.sbw-ring--2,.sbw-plus--2,.sbw-dot--4{display:none}
	.sbw-pattern--grid{background-size:40px 40px}
	.sbw-head{align-items:flex-start}
	.sbw .sbw-sub{font-size:16px}
	.sbw-icon{width:52px;height:52px;margin-bottom:24px}
	.sbw--fill .sbw-card:hover,.sbw--red .sbw-card:hover{transform:translateY(-4px)}
}
@media (hover:none){
	/* touch screens: show the brand accent without needing hover */
	.sbw--fill .sbw-card::before{transform:scaleX(1)}
}
@media (prefers-reduced-motion:reduce){
	.sbw-bg *{animation:none!important}
	.sbw *,.sbw *::before,.sbw *::after{transition-duration:.01ms!important;animation:none!important}
	.sbw--animate.sbw-js .sbw-rv{opacity:1;transform:none}
}
