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

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

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

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

/* ===== Style: red (bold red section with white cards) ===== */
.sbct--red{--sbct-bg:var(--sbct-red);overflow:hidden}
.sbct--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}
.sbct--red .sbct-inner{padding:0 clamp(16px,3vw,32px)}
.sbct--red .sbct-eyebrow{color:#fff}
.sbct--red .sbct-eyebrow i,.sbct--red .sbct-eyebrow i::after{background:#fff}
.sbct--red .sbct-title{color:#fff}
.sbct--red .sbct-title em{color:#fff}
.sbct--red .sbct-title em::after{opacity:.3}
.sbct--red .sbct-sub{color:rgba(255,255,255,.82)}
.sbct--red .sbct-btn{background:#fff;border-color:#fff;color:var(--sbct-red)!important}
.sbct--red .sbct-btn:hover{background:var(--sbct-ink);border-color:var(--sbct-ink);color:#fff!important;box-shadow:0 14px 30px -12px rgba(0,0,0,.45)}


/* glowing border that follows the mouse */
.sbct-glow{position:absolute;inset:0;z-index:3;border-radius:var(--sbct-radius);padding:1.5px;pointer-events:none;opacity:0;transition:opacity .4s ease;
	background:radial-gradient(260px circle at var(--mx,50%) var(--my,0%),var(--sbct-red),transparent 65%);
	-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}
.sbct--lines .sbct-glow,.sbct--fill .sbct-glow{display:block}

/* ==========================================================
   Background effects
   ========================================================== */
.sbct{
	--sbct-fx:1;
	--fx-blob-a:color-mix(in srgb,var(--sbct-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(--sbct-red) 8%,transparent);
	--fx-ring:color-mix(in srgb,var(--sbct-red) 20%,transparent);
	--fx-word:color-mix(in srgb,var(--sbct-red) 16%,transparent);
	--fx-spot:color-mix(in srgb,var(--sbct-red) 13%,transparent);
}
.sbct--fx{isolation:isolate}
.sbct--fx.sbct--red{overflow:visible}
.sbct--fx:not(.sbct--red){--sbct-bg:linear-gradient(180deg,#fff 0%,#fff6f6 55%,#fff 100%)}
.sbct-inner{z-index:1}
.sbct-bg{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:var(--sbct-bg)}
.sbct--fx.sbct--full{background:transparent}
.sbct--full .sbct-bg{left:50%;right:auto;width:100vw;transform:translateX(-50%)}
.sbct--full.sbct-js .sbct-bg{left:var(--sbct-bg-left,0px);width:var(--sbct-bg-width,100vw);transform:none}

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

/* pattern */
.sbct-pattern{position:absolute;inset:0;opacity:var(--sbct-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%)}
.sbct-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:sbctGrid 40s linear infinite}
.sbct-pattern--dots{background-image:radial-gradient(color-mix(in srgb,var(--sbct-red) 22%,transparent) 1.2px,transparent 1.7px);background-size:24px 24px;animation:sbctGrid 40s linear infinite}
@keyframes sbctGrid{to{background-position:56px 56px}}

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

/* spotlight */
.sbct-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}
.sbct.is-pointer .sbct-spot{opacity:var(--sbct-fx)}

/* film grain */
.sbct-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:sbctGrain 1.2s steps(4) infinite}
@keyframes sbctGrain{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 */
.sbct-js:not(.is-visible) .sbct-bg *{animation-play-state:paused}

/* effects in white for the bold red style */
.sbct--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);
}
.sbct--red .sbct-dot,.sbct--red .sbct-plus::before,.sbct--red .sbct-plus::after{background:#fff}
.sbct--red .sbct-grain{mix-blend-mode:overlay;opacity:.12}
.sbct--red.sbct--fx .sbct-bg{background:radial-gradient(120% 90% at 0% 0%,color-mix(in srgb,var(--sbct-red) 80%,#ff5a66),var(--sbct-red) 45%,var(--sbct-red-dark))}
.sbct--red.sbct--fx::before{display:none}
.sbct--red .sbct-pattern--dots{background-image:radial-gradient(rgba(255,255,255,.28) 1.2px,transparent 1.7px)}


/* ==========================================================
   Contact section
   ========================================================== */
.sbct-inner{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.15fr);gap:clamp(36px,5vw,88px);align-items:start;max-width:1320px}
.sbct-info{position:sticky;top:120px}
.sbct .sbct-title{margin:0;color:var(--sbct-ink);font-family:inherit;font-size:clamp(32px,3.6vw,52px);font-weight:700;line-height:1.08;letter-spacing:-.03em;text-transform:none}
.sbct .sbct-title em{position:relative;font-style:normal;color:var(--sbct-red);white-space:nowrap}
.sbct .sbct-title em::after{content:"";position:absolute;left:0;right:0;bottom:.02em;height:.14em;background:currentColor;opacity:.16;border-radius:4px}
.sbct .sbct-sub{max-width:520px;margin:18px 0 0;color:var(--sbct-body);font-size:17px;line-height:1.7}

/* WhatsApp button */
.sbct .sbct-wa{display:inline-flex;align-items:center;gap:12px;margin-top:28px;padding:10px 12px 10px 20px;border-radius:999px;background:#25D366;color:#0b2e17!important;font-size:15px;font-weight:700;line-height:1;text-decoration:none!important;box-shadow:0 16px 32px -16px rgba(37,211,102,.95);transition:transform .4s var(--sbct-ease),box-shadow .4s ease,background .3s ease}
.sbct .sbct-wa>svg{width:21px;height:21px}
.sbct-wa-arrow{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.4);transition:transform .4s var(--sbct-ease),background .3s ease}
.sbct-wa-arrow svg{width:16px;height:16px}
.sbct .sbct-wa:hover{transform:translateY(-2px);background:#1fbd5a;box-shadow:0 20px 36px -14px rgba(37,211,102,1)}
.sbct .sbct-wa:hover .sbct-wa-arrow{transform:rotate(-45deg);background:#fff}
.sbct .sbct-wa--small{margin-top:20px;padding:13px 20px}

/* contact detail cards */
.sbct .sbct-details{display:grid;gap:10px;margin:32px 0 0;padding:0;list-style:none;max-width:520px}
.sbct .sbct-details li{margin:0}
.sbct .sbct-detail{position:relative;display:flex;align-items:center;gap:14px;padding:12px 16px 12px 12px;border-radius:18px;
	background:rgba(255,255,255,.62);border:1px solid color-mix(in srgb,var(--sbct-red) 9%,#fff);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
	color:inherit;text-decoration:none!important;transition:transform .45s var(--sbct-ease),box-shadow .45s ease,border-color .3s ease,background .3s ease}
a.sbct-detail:hover{transform:translateX(6px);background:#fff;border-color:transparent;box-shadow:0 18px 36px -24px color-mix(in srgb,var(--sbct-red) 60%,transparent)}
.sbct-detail-ico{display:grid;place-items:center;flex-shrink:0;width:46px;height:46px;border-radius:14px;background:linear-gradient(145deg,#fff,color-mix(in srgb,var(--sbct-red) 12%,#fff));color:var(--sbct-red);box-shadow:0 8px 18px -10px color-mix(in srgb,var(--sbct-red) 60%,transparent),0 1px 0 #fff inset;transition:background .35s ease,color .35s ease,transform .5s var(--sbct-ease)}
.sbct-detail-ico svg{width:21px;height:21px}
a.sbct-detail:hover .sbct-detail-ico{background:linear-gradient(145deg,var(--sbct-red),var(--sbct-red-dark));color:#fff;transform:rotate(-8deg)}
.sbct-detail-txt{display:flex;flex-direction:column;min-width:0}
.sbct-detail-txt small{color:var(--sbct-body);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;opacity:.8}
.sbct-detail-txt strong{color:var(--sbct-ink);font-size:15.5px;font-weight:700;line-height:1.4}
.sbct-detail-go{display:grid;place-items:center;margin-left:auto;width:30px;height:30px;flex-shrink:0;border-radius:50%;color:var(--sbct-red);opacity:0;transform:translateX(-6px);transition:opacity .3s ease,transform .4s var(--sbct-ease)}
.sbct-detail-go svg{width:16px;height:16px}
a.sbct-detail:hover .sbct-detail-go{opacity:1;transform:none}

/* form card */
.sbct-card{position:relative;overflow:hidden;isolation:isolate;padding:clamp(26px,3vw,44px);border-radius:28px;
	background:rgba(255,255,255,.82);border:1px solid rgba(255,255,255,.9);-webkit-backdrop-filter:blur(20px) saturate(160%);backdrop-filter:blur(20px) saturate(160%);
	box-shadow:0 1px 0 #fff inset,0 40px 80px -40px color-mix(in srgb,var(--sbct-red) 45%,transparent),0 0 0 1px color-mix(in srgb,var(--sbct-red) 8%,transparent)}
.sbct-card::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--sbct-red),#ff6b78,var(--sbct-red-dark));background-size:200% 100%;animation:sbctBar 6s linear infinite}
@keyframes sbctBar{to{background-position:200% 0}}
.sbct-card-glow{position:absolute;inset:0;z-index:-1;background:radial-gradient(420px circle at var(--mx,80%) var(--my,0%),color-mix(in srgb,var(--sbct-red) 9%,transparent),transparent 60%);pointer-events:none}
.sbct-card-head{margin-bottom:24px}
.sbct .sbct-card-title{margin:0;color:var(--sbct-ink);font-family:inherit;font-size:clamp(22px,1.8vw,26px);font-weight:700;letter-spacing:-.02em;text-transform:none}
.sbct .sbct-card-note{display:flex;align-items:center;gap:9px;margin:8px 0 0;color:var(--sbct-body);font-size:14px}
.sbct-live{position:relative;flex-shrink:0;width:8px;height:8px;border-radius:50%;background:#22C55E}
.sbct-live::after{content:"";position:absolute;inset:0;border-radius:50%;background:#22C55E;animation:sbctLive 1.8s ease-out infinite}
@keyframes sbctLive{to{transform:scale(2.6);opacity:0}}

.sbct-form{display:grid;gap:18px}
.sbct-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px}
.sbct-field{display:flex;flex-direction:column;gap:8px;min-width:0;margin:0}
.sbct-fieldset{padding:0;border:0}
.sbct .sbct-label{padding:0;color:var(--sbct-ink);font-size:14px;font-weight:700;line-height:1.3}
.sbct .sbct-label b{color:var(--sbct-red)}
.sbct .sbct-label span{margin-left:6px;color:var(--sbct-body);font-size:12px;font-weight:500;opacity:.8}
.sbct .sbct-input{width:100%;height:52px;margin:0;padding:0 16px;border:1.5px solid color-mix(in srgb,var(--sbct-ink) 10%,transparent)!important;border-radius:14px;background:#fff!important;box-shadow:none!important;outline:none;color:var(--sbct-ink);font:inherit;font-size:15.5px;transition:border-color .25s ease,box-shadow .25s ease,background .25s ease;-webkit-appearance:none;appearance:none}
.sbct .sbct-textarea{height:auto;min-height:118px;padding:14px 16px;line-height:1.6;resize:vertical}
.sbct .sbct-input::placeholder{color:color-mix(in srgb,var(--sbct-body) 55%,transparent)}
.sbct .sbct-input:hover{border-color:color-mix(in srgb,var(--sbct-red) 30%,transparent)!important}
.sbct .sbct-input:focus{border-color:var(--sbct-red)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--sbct-red) 13%,transparent)!important}
.sbct .sbct-input.is-invalid{border-color:var(--sbct-red)!important;background:color-mix(in srgb,var(--sbct-red) 4%,#fff)!important;animation:sbctShake .4s ease}
@keyframes sbctShake{25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}

/* service + budget chips */
.sbct-chips{display:flex;flex-wrap:wrap;gap:8px}
.sbct-chip{position:relative;margin:0;cursor:pointer}
.sbct-chip input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.sbct-chip>span{display:inline-flex;align-items:center;gap:0;padding:10px 15px;border-radius:999px;border:1.5px solid color-mix(in srgb,var(--sbct-ink) 10%,transparent);background:#fff;color:var(--sbct-ink);font-size:14px;font-weight:600;line-height:1;transition:background .25s ease,border-color .25s ease,color .25s ease,gap .3s ease,transform .3s var(--sbct-ease),box-shadow .3s ease;user-select:none}
.sbct-chip>span i{display:grid;place-items:center;width:0;height:16px;overflow:hidden;transition:width .3s var(--sbct-ease)}
.sbct-chip>span i svg{width:15px;height:15px;flex-shrink:0}
.sbct-chip:hover>span{border-color:color-mix(in srgb,var(--sbct-red) 40%,transparent);transform:translateY(-2px)}
.sbct-chip input:checked+span{background:linear-gradient(135deg,var(--sbct-red),var(--sbct-red-dark));border-color:transparent;color:#fff;gap:6px;box-shadow:0 10px 20px -10px color-mix(in srgb,var(--sbct-red) 85%,transparent)}
.sbct-chip input:checked+span i{width:16px}
.sbct-chip input:focus-visible+span{outline:2px solid var(--sbct-red);outline-offset:2px}
.sbct-chips--radio .sbct-chip input:checked+span{background:var(--sbct-ink)}

/* submit */
.sbct-error{margin:0;padding:12px 16px;border-radius:12px;background:color-mix(in srgb,var(--sbct-red) 8%,#fff);color:var(--sbct-red-dark);font-size:14px;font-weight:600}
.sbct .sbct-submit{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:12px;width:100%;height:58px;margin:4px 0 0;padding:0 26px;overflow:hidden;border:0!important;border-radius:16px;
	background:linear-gradient(120deg,#F0283A,var(--sbct-red-dark))!important;color:#fff!important;font:inherit;font-size:16px;font-weight:700;cursor:pointer;
	box-shadow:0 16px 32px -14px color-mix(in srgb,var(--sbct-red) 90%,transparent);transition:transform .35s var(--sbct-ease),box-shadow .35s ease}
.sbct .sbct-submit::before{content:"";position:absolute;top:0;left:-130%;width:60%;height:100%;background:linear-gradient(110deg,transparent,rgba(255,255,255,.4),transparent);transform:skewX(-20deg);animation:sbctShine 4s infinite}
@keyframes sbctShine{0%,65%{left:-130%}100%{left:160%}}
.sbct .sbct-submit:hover{transform:translateY(-2px);box-shadow:0 22px 38px -14px color-mix(in srgb,var(--sbct-red) 95%,transparent)}
.sbct-submit-ico{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.2);transition:transform .35s var(--sbct-ease)}
.sbct-submit-ico svg{width:16px;height:16px}
.sbct .sbct-submit:hover .sbct-submit-ico{transform:translateX(4px)}
.sbct-spinner{display:none;width:22px;height:22px;border-radius:50%;border:2.5px solid rgba(255,255,255,.35);border-top-color:#fff;animation:sbctSpin .8s linear infinite}
@keyframes sbctSpin{to{transform:rotate(360deg)}}
.sbct-form.is-sending .sbct-submit{pointer-events:none;opacity:.9}
.sbct-form.is-sending .sbct-submit-ico{display:none}
.sbct-form.is-sending .sbct-spinner{display:block}
.sbct .sbct-privacy{display:flex;align-items:center;justify-content:center;gap:8px;margin:0;color:var(--sbct-body);font-size:13px;text-align:center}
.sbct-privacy svg{width:16px;height:16px;flex-shrink:0;fill:none;stroke:#22C55E;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sbct-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

/* thank-you state */
.sbct-done{padding:clamp(24px,4vw,48px) 8px;text-align:center;outline:none;animation:sbctPop .6s var(--sbct-ease)}
@keyframes sbctPop{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}
.sbct-done-ico{display:grid;place-items:center;width:84px;height:84px;margin:0 auto 22px;border-radius:50%;background:linear-gradient(145deg,var(--sbct-red),var(--sbct-red-dark));color:#fff;box-shadow:0 0 0 10px color-mix(in srgb,var(--sbct-red) 10%,transparent),0 20px 40px -16px color-mix(in srgb,var(--sbct-red) 90%,transparent)}
.sbct-done-ico svg{width:40px;height:40px;stroke-dasharray:30;stroke-dashoffset:30;animation:sbctTick .7s .25s ease forwards}
@keyframes sbctTick{to{stroke-dashoffset:0}}
.sbct-done h3{margin:0;color:var(--sbct-ink);font-size:26px;font-weight:700;letter-spacing:-.02em}
.sbct-done p{max-width:420px;margin:12px auto 0;color:var(--sbct-body);font-size:15.5px;line-height:1.7}

/* shortcode forms (e.g. Contact Form 7) get the same look */
.sbct-shortcode input[type=text],.sbct-shortcode input[type=email],.sbct-shortcode input[type=tel],.sbct-shortcode select,.sbct-shortcode textarea{width:100%;min-height:52px;padding:12px 16px;border:1.5px solid color-mix(in srgb,var(--sbct-ink) 10%,transparent);border-radius:14px;background:#fff;font:inherit;font-size:15.5px;outline:none;transition:border-color .25s ease,box-shadow .25s ease}
.sbct-shortcode input:focus,.sbct-shortcode select:focus,.sbct-shortcode textarea:focus{border-color:var(--sbct-red);box-shadow:0 0 0 4px color-mix(in srgb,var(--sbct-red) 13%,transparent)}
.sbct-shortcode label{display:block;color:var(--sbct-ink);font-size:14px;font-weight:700}
.sbct-shortcode p{margin:0 0 16px}
.sbct-shortcode input[type=submit],.sbct-shortcode button[type=submit]{width:100%;height:58px;border:0;border-radius:16px;background:linear-gradient(120deg,#F0283A,var(--sbct-red-dark));color:#fff;font:inherit;font-size:16px;font-weight:700;cursor:pointer;box-shadow:0 16px 32px -14px color-mix(in srgb,var(--sbct-red) 90%,transparent)}

/* bold red */
.sbct--red .sbct-detail{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.25)}
.sbct--red .sbct-detail-txt small{color:rgba(255,255,255,.75)}
.sbct--red .sbct-detail-txt strong{color:#fff}
.sbct--red a.sbct-detail:hover{background:rgba(255,255,255,.22)}
.sbct--red .sbct-card{background:#fff}

@media (max-width:1024px){
	.sbct-inner{grid-template-columns:minmax(0,1fr)}
	.sbct-info{position:static}
}
@media (max-width:600px){
	.sbct-card{border-radius:22px}
	.sbct-row{grid-template-columns:1fr}
	.sbct .sbct-wa{width:100%;justify-content:center}
}
@media (prefers-reduced-motion:reduce){
	.sbct *,.sbct *::before,.sbct *::after{animation:none!important;transition:none!important}
	.sbct-done-ico svg{stroke-dashoffset:0}
}

/* hidden states */
.sbct .sbct-form[hidden],.sbct .sbct-done[hidden],.sbct .sbct-error[hidden]{display:none!important}

/* adapts to the space it is given, not just the screen size */
.sbct{container-type:inline-size;container-name:sbct}
@container sbct (max-width:900px){
	.sbct-inner{grid-template-columns:minmax(0,1fr)}
	.sbct-info{position:static}
	.sbct .sbct-details{max-width:none;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
}
@container sbct (max-width:520px){
	.sbct-row{grid-template-columns:1fr}
	.sbct .sbct-wa{width:100%;justify-content:center}
	.sbct .sbct-title{font-size:clamp(28px,8cqw,40px)}
}
.sbct .sbct-inner{padding-left:clamp(16px,4vw,32px);padding-right:clamp(16px,4vw,32px)}
