*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--afi-bg,#f6f9fc);color:var(--afi-text,#172033);font-family:var(--afi-font,system-ui,sans-serif);line-height:1.6}a{color:var(--afi-primary,#0064c0);text-decoration:none}img{max-width:100%;height:auto}.afi-site-main{min-height:60vh}.afi-site-header{position:relative;z-index:40;background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border-bottom:1px solid rgba(15,23,42,.06)}.afi-site-header-inner,.afi-site-footer-inner{max-width:var(--afi-content,1200px);margin:auto;padding:18px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px}.afi-site-brand a{font-weight:800;font-size:20px;color:var(--afi-text)}.custom-logo{max-height:52px;width:auto}.afi-site-nav ul,.afi-nav ul{display:flex;gap:22px;list-style:none;margin:0;padding:0}.afi-site-footer{background:#071a33;color:#fff}.afi-default-shell{width:min(var(--afi-content,1200px),calc(100% - 48px));margin:0 auto;padding:80px 0}.afi-prose{max-width:900px}.afi-prose h1{font-size:clamp(38px,6vw,68px);line-height:1.05}.afi-prose img{border-radius:var(--afi-radius,22px)}.afi-section{position:relative;isolation:isolate;background-size:cover;background-position:center}.afi-section:before{content:"";position:absolute;inset:0;background:var(--afi-overlay,transparent);pointer-events:none;z-index:-1}.afi-row{width:100%;display:grid;grid-template-columns:var(--afi-template,repeat(var(--afi-columns,1),minmax(0,1fr)));gap:24px}.afi-column{min-width:0}.afi-module+.afi-module{margin-top:18px}.afi-heading{margin-top:0;margin-bottom:0;letter-spacing:-.03em}.afi-text>p:first-child{margin-top:0}.afi-text>p:last-child{margin-bottom:0}.afi-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--afi-primary,#0064c0);color:#fff;padding:14px 22px;border-radius:14px;font-weight:750;box-shadow:0 10px 28px rgba(0,100,192,.18);transition:.2s ease}.afi-button:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(0,100,192,.25)}.afi-image img,.afi-featured-image img{display:block;width:100%;border-radius:inherit}.afi-icon{font-size:42px;line-height:1}.afi-divider span{display:block;height:1px;background:currentColor;opacity:.18}.afi-spacer{height:48px}.afi-video iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:var(--afi-radius,22px)}.afi-counter{display:grid;gap:4px}.afi-counter strong{font-size:clamp(44px,6vw,72px);line-height:1;font-weight:850;letter-spacing:-.04em}.afi-counter span{color:var(--afi-muted,#667085)}.afi-testimonial,.afi-pricing,.afi-card{margin:0;background:var(--afi-surface,#fff);border:1px solid rgba(15,23,42,.06);border-radius:var(--afi-radius,22px);box-shadow:0 18px 55px rgba(15,23,42,.08);overflow:hidden}.afi-testimonial{padding:32px}.afi-testimonial p{font-size:20px}.afi-testimonial footer{display:grid}.afi-testimonial footer span{color:var(--afi-muted)}.afi-pricing{padding:34px}.afi-price{font-size:46px;font-weight:850;letter-spacing:-.04em}.afi-kicker{display:inline-block;color:var(--afi-primary);font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:850}.afi-accordion details{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:16px;padding:18px 20px}.afi-accordion details+details{margin-top:10px}.afi-accordion summary{cursor:pointer;font-weight:750}.afi-tab-buttons{display:flex;gap:8px;flex-wrap:wrap}.afi-tab-buttons button{border:0;border-radius:999px;padding:10px 16px;background:#eaf3fb;cursor:pointer}.afi-tab-buttons button.is-active{background:var(--afi-primary);color:#fff}.afi-tab-panel{display:none;padding:22px 0}.afi-tab-panel.is-active{display:block}.afi-post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.afi-card-media{display:block;aspect-ratio:16/10;overflow:hidden}.afi-card-media img{width:100%;height:100%;object-fit:cover}.afi-card-body{padding:24px}.afi-card h3,.afi-card h2{margin:.35em 0;font-size:24px;line-height:1.15}.afi-effect{overflow:hidden}.afi-effect--grid:after,.afi-effect--dots:after,.afi-effect--aurora:after{content:"";position:absolute;inset:0;z-index:-2;pointer-events:none}.afi-effect--grid:after{background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,black,transparent 90%)}.afi-effect--dots:after{background-image:radial-gradient(circle,rgba(255,255,255,.18) 1px,transparent 1px);background-size:24px 24px}.afi-effect--aurora:after{inset:-30%;background:radial-gradient(circle at 20% 20%,rgba(14,165,233,.4),transparent 32%),radial-gradient(circle at 80% 30%,rgba(124,58,237,.36),transparent 35%),radial-gradient(circle at 50% 90%,rgba(0,100,192,.35),transparent 34%);filter:blur(30px);animation:afiAurora 12s ease-in-out infinite alternate}@keyframes afiAurora{to{transform:translate3d(5%,-4%,0) scale(1.08)}}.afi-animate{opacity:0;transition:opacity .7s ease,transform .7s cubic-bezier(.2,.75,.2,1);will-change:transform,opacity}.afi-animate.is-visible{opacity:1;transform:none}.afi-animate--fade-up{transform:translateY(28px)}.afi-animate--fade-down{transform:translateY(-28px)}.afi-animate--fade-left{transform:translateX(28px)}.afi-animate--fade-right{transform:translateX(-28px)}.afi-animate--zoom-in{transform:scale(.94)}.afi-animate--fade-in{transform:none}.afi-nav{display:flex;align-items:center;justify-content:flex-end}.afi-nav a{font-weight:700;color:inherit}.afi-empty{text-align:center;min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center}.afi-notice{padding:18px;border-radius:14px;background:#fff4d6;color:#7a4b00}@media(max-width:900px){.afi-row{grid-template-columns:1fr!important}.afi-post-grid{grid-template-columns:1fr 1fr}.afi-site-header-inner{align-items:flex-start;flex-direction:column}.afi-site-nav ul,.afi-nav ul{flex-wrap:wrap}}@media(max-width:640px){.afi-default-shell{width:min(100% - 32px,1200px);padding:56px 0}.afi-post-grid{grid-template-columns:1fr}.afi-section{padding-left:18px!important;padding-right:18px!important}.afi-tab-buttons{flex-direction:column}.afi-button{width:100%}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.afi-animate{opacity:1!important;transform:none!important}}

/* AFIWAI Studio 0.7 modules */
.afi-shortcode{min-width:0}.afi-social-icons{display:flex;flex-wrap:wrap;gap:var(--afi-social-gap,10px);align-items:center}.afi-social-icons--left{justify-content:flex-start}.afi-social-icons--center{justify-content:center}.afi-social-icons--right{justify-content:flex-end}.afi-social-link{width:var(--afi-social-size,42px);height:var(--afi-social-size,42px);display:inline-flex;align-items:center;justify-content:center;color:var(--afi-primary,#0064C0);transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease}.afi-social-link svg{width:48%;height:48%;fill:currentColor}.afi-social-icons--circle .afi-social-link{border-radius:50%;background:color-mix(in srgb,var(--afi-primary,#0064C0) 10%,transparent);border:1px solid color-mix(in srgb,var(--afi-primary,#0064C0) 20%,transparent)}.afi-social-icons--square .afi-social-link{border-radius:12px;background:color-mix(in srgb,var(--afi-primary,#0064C0) 10%,transparent);border:1px solid color-mix(in srgb,var(--afi-primary,#0064C0) 20%,transparent)}.afi-social-icons--minimal .afi-social-link{background:transparent}.afi-social-link:hover{transform:translateY(-2px);color:#fff;background:var(--afi-primary,#0064C0);box-shadow:0 10px 24px color-mix(in srgb,var(--afi-primary,#0064C0) 22%,transparent)}.afi-search{display:flex;gap:8px;max-width:700px}.afi-search input{flex:1;min-width:0;padding:13px 15px;border:1px solid rgba(15,23,42,.14);border-radius:12px;background:#fff;color:inherit}.afi-search button{border:0;border-radius:12px;padding:13px 18px;background:var(--afi-primary,#0064C0);color:#fff;font-weight:750;cursor:pointer}
body.afiwai-visual-theme-modern-tech .afi-social-link{color:#16c8ff}body.afiwai-visual-theme-modern-tech .afi-social-icons--circle .afi-social-link,body.afiwai-visual-theme-modern-tech .afi-social-icons--square .afi-social-link{background:rgba(3,24,43,.82);border-color:rgba(22,200,255,.25);box-shadow:inset 0 0 18px rgba(0,126,255,.035)}body.afiwai-visual-theme-modern-tech .afi-social-link:hover{color:#fff;background:#0064C0;box-shadow:0 0 24px rgba(22,200,255,.14)}body.afiwai-visual-theme-modern-tech .afi-search input{background:rgba(3,17,32,.84);border-color:rgba(64,195,245,.2);color:#eef9ff}


/* ================================================================
   AFIWAI Studio 1.5 — reusable positioning & Modern Design effects
   ================================================================ */
.afi-effect{
	position:relative;
	isolation:isolate;
	overflow:hidden;
}
.afi-effect::after{
	opacity:var(--afi-effect-opacity,.72);
	animation-duration:var(--afi-effect-speed,12s);
}
.afi-effect--techfield::after,
.afi-effect--matrix::after,
.afi-effect--particles::after,
.afi-effect--scanner::after,
.afi-effect--network::after{
	content:"";
	position:absolute;
	inset:0;
	z-index:-1;
	pointer-events:none;
}

/* Ported as reusable lightweight variants of the former Modern Design visuals. */
.afi-effect--techfield::after{
	background:
		radial-gradient(ellipse at 50% 50%,rgba(0,160,255,.18),transparent 52%),
		linear-gradient(rgba(35,177,255,.09) 1px,transparent 1px),
		linear-gradient(90deg,rgba(35,177,255,.09) 1px,transparent 1px);
	background-size:auto,38px 38px,38px 38px;
	animation:afiTechFieldDrift var(--afi-effect-speed,12s) linear infinite;
}
@keyframes afiTechFieldDrift{
	to{background-position:center,38px 38px,38px 38px}
}

.afi-effect--matrix::after{
	inset:-20% 0;
	background:
		repeating-linear-gradient(90deg,
			transparent 0 18px,
			rgba(40,205,255,.08) 19px,
			transparent 20px 38px),
		repeating-linear-gradient(180deg,
			transparent 0 12px,
			rgba(21,156,255,.11) 13px,
			transparent 15px 30px);
	filter:drop-shadow(0 0 7px rgba(0,174,255,.22));
	transform:skewY(-4deg);
	animation:afiMatrixRain var(--afi-effect-speed,12s) linear infinite;
}
@keyframes afiMatrixRain{
	from{background-position:0 -80px,0 -120px}
	to{background-position:0 160px,0 240px}
}

.afi-effect--particles::after{
	background:
		radial-gradient(circle at 9% 28%,rgba(66,210,255,.95) 0 2px,transparent 3px),
		radial-gradient(circle at 18% 62%,rgba(32,155,255,.8) 0 1.5px,transparent 2.5px),
		radial-gradient(circle at 27% 20%,rgba(83,220,255,.9) 0 2px,transparent 3px),
		radial-gradient(circle at 42% 31%,rgba(44,175,255,.8) 0 1.5px,transparent 2.5px),
		radial-gradient(circle at 58% 21%,rgba(76,217,255,.9) 0 2px,transparent 3px),
		radial-gradient(circle at 66% 68%,rgba(25,136,255,.85) 0 2px,transparent 3px),
		radial-gradient(circle at 83% 63%,rgba(64,203,255,.9) 0 1.5px,transparent 2.5px),
		radial-gradient(circle at 94% 26%,rgba(49,188,255,.8) 0 2px,transparent 3px);
	animation:afiParticlesFloat var(--afi-effect-speed,12s) ease-in-out infinite alternate;
}
@keyframes afiParticlesFloat{
	to{transform:translate3d(0,-10px,0) scale(1.025)}
}

.afi-effect--scanner::after{
	inset:-40% 0;
	background:
		linear-gradient(180deg,
			transparent 0 43%,
			rgba(77,221,255,.03) 46%,
			rgba(77,221,255,.78) 49.5%,
			rgba(0,126,255,.16) 52%,
			transparent 57% 100%);
	filter:drop-shadow(0 0 8px rgba(49,202,255,.36));
	animation:afiScannerMove var(--afi-effect-speed,7s) ease-in-out infinite;
}
@keyframes afiScannerMove{
	0%,100%{transform:translateY(-28%)}
	50%{transform:translateY(28%)}
}

.afi-effect--network::after{
	background:
		radial-gradient(circle at 18% 30%,rgba(70,221,255,.9) 0 2px,transparent 3px),
		radial-gradient(circle at 50% 60%,rgba(33,166,255,.85) 0 2px,transparent 3px),
		radial-gradient(circle at 82% 24%,rgba(75,216,255,.9) 0 2px,transparent 3px),
		linear-gradient(24deg,transparent 0 35%,rgba(38,176,255,.15) 35.5% 36%,transparent 36.5%),
		linear-gradient(-28deg,transparent 0 56%,rgba(38,176,255,.13) 56.5% 57%,transparent 57.5%);
	background-size:auto,auto,auto,180px 110px,220px 140px;
	animation:afiNetworkDrift var(--afi-effect-speed,18s) linear infinite alternate;
}
@keyframes afiNetworkDrift{
	to{background-position:8px -4px,-7px 5px,4px 8px,25px 10px,-20px 15px}
}

/* Effects are especially useful on navigation and glass headers. */
.afi-nav.afi-effect{
	padding:10px 14px;
	border-radius:16px;
}
.afi-nav.afi-effect > ul{
	position:relative;
	z-index:1;
}

/* Sticky/fixed blocks need predictable stacking and no theme interference. */
[style*="position:sticky"],
[style*="position:fixed"]{
	box-sizing:border-box;
}


/* AFIWAI Studio 1.6 — Header/Footer visibility hardening */
.afiwai-theme-header{
	position:relative;
	z-index:50;
}
.afiwai-theme-header .afi-section.afi-effect,
.afiwai-theme-header .afi-row.afi-effect,
.afiwai-theme-header .afi-column.afi-effect,
.afiwai-theme-header .afi-nav.afi-effect{
	overflow:visible;
}
.afiwai-theme-header .afi-nav,
.afiwai-theme-header .afi-nav ul{
	position:relative;
	z-index:2;
}
.afiwai-theme-footer .afi-module,
.afiwai-theme-header .afi-module{
	visibility:visible;
}

.afi-text-code{margin:0;padding:16px;overflow:auto;border-radius:10px;background:#071522;color:#d9f4ff;font:500 .92em/1.6 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;white-space:pre-wrap;word-break:break-word}.afi-text-code code{font:inherit;color:inherit}

/* AFIWAI Text module — independent P/H1-H5 typography */
.afi-text p{color:var(--afi-text-p-color)!important;font-family:var(--afi-text-p-font-family)!important;font-size:var(--afi-text-p-font-size)!important;font-weight:var(--afi-text-p-font-weight)!important;font-style:var(--afi-text-p-font-style)!important;line-height:var(--afi-text-p-line-height)!important;letter-spacing:var(--afi-text-p-letter-spacing)!important;word-spacing:var(--afi-text-p-word-spacing)!important;text-transform:var(--afi-text-p-text-transform)!important;text-decoration:var(--afi-text-p-text-decoration)!important;text-align:var(--afi-text-p-text-align)!important;margin-top:var(--afi-text-p-margin-top)!important;margin-bottom:var(--afi-text-p-margin-bottom)!important}
.afi-text h1{color:var(--afi-text-h1-color)!important;font-family:var(--afi-text-h1-font-family)!important;font-size:var(--afi-text-h1-font-size)!important;font-weight:var(--afi-text-h1-font-weight)!important;font-style:var(--afi-text-h1-font-style)!important;line-height:var(--afi-text-h1-line-height)!important;letter-spacing:var(--afi-text-h1-letter-spacing)!important;word-spacing:var(--afi-text-h1-word-spacing)!important;text-transform:var(--afi-text-h1-text-transform)!important;text-decoration:var(--afi-text-h1-text-decoration)!important;text-align:var(--afi-text-h1-text-align)!important;margin-top:var(--afi-text-h1-margin-top)!important;margin-bottom:var(--afi-text-h1-margin-bottom)!important}
.afi-text h2{color:var(--afi-text-h2-color)!important;font-family:var(--afi-text-h2-font-family)!important;font-size:var(--afi-text-h2-font-size)!important;font-weight:var(--afi-text-h2-font-weight)!important;font-style:var(--afi-text-h2-font-style)!important;line-height:var(--afi-text-h2-line-height)!important;letter-spacing:var(--afi-text-h2-letter-spacing)!important;word-spacing:var(--afi-text-h2-word-spacing)!important;text-transform:var(--afi-text-h2-text-transform)!important;text-decoration:var(--afi-text-h2-text-decoration)!important;text-align:var(--afi-text-h2-text-align)!important;margin-top:var(--afi-text-h2-margin-top)!important;margin-bottom:var(--afi-text-h2-margin-bottom)!important}
.afi-text h3{color:var(--afi-text-h3-color)!important;font-family:var(--afi-text-h3-font-family)!important;font-size:var(--afi-text-h3-font-size)!important;font-weight:var(--afi-text-h3-font-weight)!important;font-style:var(--afi-text-h3-font-style)!important;line-height:var(--afi-text-h3-line-height)!important;letter-spacing:var(--afi-text-h3-letter-spacing)!important;word-spacing:var(--afi-text-h3-word-spacing)!important;text-transform:var(--afi-text-h3-text-transform)!important;text-decoration:var(--afi-text-h3-text-decoration)!important;text-align:var(--afi-text-h3-text-align)!important;margin-top:var(--afi-text-h3-margin-top)!important;margin-bottom:var(--afi-text-h3-margin-bottom)!important}
.afi-text h4{color:var(--afi-text-h4-color)!important;font-family:var(--afi-text-h4-font-family)!important;font-size:var(--afi-text-h4-font-size)!important;font-weight:var(--afi-text-h4-font-weight)!important;font-style:var(--afi-text-h4-font-style)!important;line-height:var(--afi-text-h4-line-height)!important;letter-spacing:var(--afi-text-h4-letter-spacing)!important;word-spacing:var(--afi-text-h4-word-spacing)!important;text-transform:var(--afi-text-h4-text-transform)!important;text-decoration:var(--afi-text-h4-text-decoration)!important;text-align:var(--afi-text-h4-text-align)!important;margin-top:var(--afi-text-h4-margin-top)!important;margin-bottom:var(--afi-text-h4-margin-bottom)!important}
.afi-text h5{color:var(--afi-text-h5-color)!important;font-family:var(--afi-text-h5-font-family)!important;font-size:var(--afi-text-h5-font-size)!important;font-weight:var(--afi-text-h5-font-weight)!important;font-style:var(--afi-text-h5-font-style)!important;line-height:var(--afi-text-h5-line-height)!important;letter-spacing:var(--afi-text-h5-letter-spacing)!important;word-spacing:var(--afi-text-h5-word-spacing)!important;text-transform:var(--afi-text-h5-text-transform)!important;text-decoration:var(--afi-text-h5-text-decoration)!important;text-align:var(--afi-text-h5-text-align)!important;margin-top:var(--afi-text-h5-margin-top)!important;margin-bottom:var(--afi-text-h5-margin-bottom)!important}

.afi-html p{color:var(--afi-text-p-color)!important;font-family:var(--afi-text-p-font-family)!important;font-size:var(--afi-text-p-font-size)!important;font-weight:var(--afi-text-p-font-weight)!important;font-style:var(--afi-text-p-font-style)!important;line-height:var(--afi-text-p-line-height)!important;letter-spacing:var(--afi-text-p-letter-spacing)!important;word-spacing:var(--afi-text-p-word-spacing)!important;text-transform:var(--afi-text-p-text-transform)!important;text-decoration:var(--afi-text-p-text-decoration)!important;text-align:var(--afi-text-p-text-align)!important;margin-top:var(--afi-text-p-margin-top)!important;margin-bottom:var(--afi-text-p-margin-bottom)!important}
.afi-html h1{color:var(--afi-text-h1-color)!important;font-family:var(--afi-text-h1-font-family)!important;font-size:var(--afi-text-h1-font-size)!important;font-weight:var(--afi-text-h1-font-weight)!important;font-style:var(--afi-text-h1-font-style)!important;line-height:var(--afi-text-h1-line-height)!important;letter-spacing:var(--afi-text-h1-letter-spacing)!important;word-spacing:var(--afi-text-h1-word-spacing)!important;text-transform:var(--afi-text-h1-text-transform)!important;text-decoration:var(--afi-text-h1-text-decoration)!important;text-align:var(--afi-text-h1-text-align)!important;margin-top:var(--afi-text-h1-margin-top)!important;margin-bottom:var(--afi-text-h1-margin-bottom)!important}
.afi-html h2{color:var(--afi-text-h2-color)!important;font-family:var(--afi-text-h2-font-family)!important;font-size:var(--afi-text-h2-font-size)!important;font-weight:var(--afi-text-h2-font-weight)!important;font-style:var(--afi-text-h2-font-style)!important;line-height:var(--afi-text-h2-line-height)!important;letter-spacing:var(--afi-text-h2-letter-spacing)!important;word-spacing:var(--afi-text-h2-word-spacing)!important;text-transform:var(--afi-text-h2-text-transform)!important;text-decoration:var(--afi-text-h2-text-decoration)!important;text-align:var(--afi-text-h2-text-align)!important;margin-top:var(--afi-text-h2-margin-top)!important;margin-bottom:var(--afi-text-h2-margin-bottom)!important}
.afi-html h3{color:var(--afi-text-h3-color)!important;font-family:var(--afi-text-h3-font-family)!important;font-size:var(--afi-text-h3-font-size)!important;font-weight:var(--afi-text-h3-font-weight)!important;font-style:var(--afi-text-h3-font-style)!important;line-height:var(--afi-text-h3-line-height)!important;letter-spacing:var(--afi-text-h3-letter-spacing)!important;word-spacing:var(--afi-text-h3-word-spacing)!important;text-transform:var(--afi-text-h3-text-transform)!important;text-decoration:var(--afi-text-h3-text-decoration)!important;text-align:var(--afi-text-h3-text-align)!important;margin-top:var(--afi-text-h3-margin-top)!important;margin-bottom:var(--afi-text-h3-margin-bottom)!important}
.afi-html h4{color:var(--afi-text-h4-color)!important;font-family:var(--afi-text-h4-font-family)!important;font-size:var(--afi-text-h4-font-size)!important;font-weight:var(--afi-text-h4-font-weight)!important;font-style:var(--afi-text-h4-font-style)!important;line-height:var(--afi-text-h4-line-height)!important;letter-spacing:var(--afi-text-h4-letter-spacing)!important;word-spacing:var(--afi-text-h4-word-spacing)!important;text-transform:var(--afi-text-h4-text-transform)!important;text-decoration:var(--afi-text-h4-text-decoration)!important;text-align:var(--afi-text-h4-text-align)!important;margin-top:var(--afi-text-h4-margin-top)!important;margin-bottom:var(--afi-text-h4-margin-bottom)!important}
.afi-html h5{color:var(--afi-text-h5-color)!important;font-family:var(--afi-text-h5-font-family)!important;font-size:var(--afi-text-h5-font-size)!important;font-weight:var(--afi-text-h5-font-weight)!important;font-style:var(--afi-text-h5-font-style)!important;line-height:var(--afi-text-h5-line-height)!important;letter-spacing:var(--afi-text-h5-letter-spacing)!important;word-spacing:var(--afi-text-h5-word-spacing)!important;text-transform:var(--afi-text-h5-text-transform)!important;text-decoration:var(--afi-text-h5-text-decoration)!important;text-align:var(--afi-text-h5-text-align)!important;margin-top:var(--afi-text-h5-margin-top)!important;margin-bottom:var(--afi-text-h5-margin-bottom)!important}
.afi-video video{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#000;border:0;border-radius:inherit}.afi-site-logo img{display:block;max-width:100%;height:auto}.afi-site-logo-link{display:inline-block;max-width:100%}

.afi-image{margin:0}.afi-video{width:100%}.afi-featured-image{margin:0}


/* ================================================================
   AFIWAI Studio 1.24 — reliable fixed/sticky global Header
   ================================================================ */

/*
 * A filtered/transformed ancestor can become the containing block of a
 * position:fixed descendant. Modern Tech uses backdrop-filter on the global
 * Header wrapper, so the wrapper must stop creating that containing block
 * whenever the user explicitly fixes an element inside Header.
 */
.afiwai-theme-header.afi-has-fixed-child{
	position:static!important;
	z-index:auto!important;
	overflow:visible!important;
	transform:none!important;
	filter:none!important;
	backdrop-filter:none!important;
	-webkit-backdrop-filter:none!important;
	perspective:none!important;
	contain:none!important;
}
.afiwai-theme-header.afi-has-fixed-child .afi-runtime-fixed{
	position:fixed!important;
	box-sizing:border-box;
}

/* Sticky also requires visible overflow through its Header ancestors. */
.afiwai-theme-header.afi-has-sticky-child{
	overflow:visible!important;
}

/* Modern Tech visual treatment is transferred to the actual fixed element. */
body.afiwai-visual-theme-modern-tech .afiwai-theme-header.afi-has-fixed-child{
	background:transparent!important;
	border-bottom:0!important;
	box-shadow:none!important;
}
body.afiwai-visual-theme-modern-tech .afiwai-theme-header.afi-has-fixed-child .afi-runtime-fixed{
	/*
	 * Do not force a background here: Background settings on the Header
	 * Section must remain authoritative (solid, image, gradient, overlay).
	 */
	border-bottom:1px solid rgba(65,194,255,.12);
	backdrop-filter:blur(20px);
	-webkit-backdrop-filter:blur(20px);
	box-shadow:0 16px 60px rgba(0,0,0,.20);
}

/* WordPress admin bar: if the Header was explicitly fixed at top:0,
   keep it directly below the admin bar while logged in. */
body.admin-bar .afiwai-theme-header .afi-runtime-fixed[style*="top:0"],
body.admin-bar .afiwai-theme-header .afi-runtime-fixed[style*="top: 0"]{
	top:32px!important;
}
@media(max-width:782px){
	body.admin-bar .afiwai-theme-header .afi-runtime-fixed[style*="top:0"],
	body.admin-bar .afiwai-theme-header .afi-runtime-fixed[style*="top: 0"]{
		top:46px!important;
	}
}


/* ================================================================
   AFIWAI Studio 1.28 — locked Header height
   ================================================================ */
.afiwai-theme-header [data-afi-header-height-lock="1"]{
	box-sizing:border-box!important;
	flex-shrink:0!important;
}


/* ================================================================
   AFIWAI Studio 1.35 — Command Bar stacking-context compatibility
   ================================================================ */
/*
 * A Studio Section normally uses isolation:isolate.
 * If AFIWAI Command Bar is inserted inside that Section, the menu becomes
 * trapped in the Section stacking context. Release only that Section on the
 * public site. Builder chrome remains untouched.
 */
body:not(.afiwai-live-builder-mode) .afi-section:has(.afiwai-cb){
	isolation:auto!important;
	overflow:visible!important;
	z-index:99991!important;
}


/* ================================================================
   AFIWAI Studio 1.35.2 — invisible carrier for Command Bar
   ================================================================ */
/*
 * A fixed Studio Section containing Command Bar without a custom height or
 * background is only a positioning carrier. Explicit Builder settings take priority.
 * It must not draw its own 150px panel, shadow or backdrop blur behind the
 * Command Bar. The Command Bar keeps its own background/effects unchanged.
 */
body:not(.afiwai-live-builder-mode) .afi-section.afi-runtime-fixed:has(.afiwai-cb):not([data-afi-explicit-height="1"]):not([data-afi-explicit-background="1"]){
	height:auto!important;
	min-height:0!important;
	max-height:none!important;
	background:transparent!important;
	background-image:none!important;
	border:0!important;
	box-shadow:none!important;
	backdrop-filter:none!important;
	-webkit-backdrop-filter:none!important;
	filter:none!important;
}


/* ================================================================
   AFIWAI Studio 1.36 — global Header / Body / Footer backgrounds
   ================================================================ */
.afiwai-theme-template{
	width:100%;
	box-sizing:border-box;
	background-clip:border-box;
}
.afiwai-theme-page.afiwai-theme-body{
	display:block;
}


/* ================================================================
   AFIWAI Studio 1.37 — one site-wide background
   ================================================================ */
body.afiwai-studio-theme.afi-global-background-active .afiwai-theme-header,
body.afiwai-studio-theme.afi-global-background-active .afiwai-theme-body,
body.afiwai-studio-theme.afi-global-background-active .afiwai-theme-page,
body.afiwai-studio-theme.afi-global-background-active .afiwai-theme-footer{
	background-color:transparent!important;
	background-image:none!important;
}


/* ================================================================
   AFIWAI Studio 1.38 — Global Background + independent effect layer
   ================================================================ */
body.afiwai-studio-theme.afi-global-background-effect-active{
	isolation:isolate;
}
#afiwai-global-background-effect{
	position:fixed!important;
	inset:0!important;
	z-index:-1!important;
	width:100vw!important;
	height:100vh!important;
	min-width:100vw!important;
	min-height:100vh!important;
	margin:0!important;
	padding:0!important;
	border:0!important;
	border-radius:0!important;
	background:transparent!important;
	box-shadow:none!important;
	pointer-events:none!important;
	overflow:hidden!important;
	transform:none;
}
#afiwai-global-background-effect::before,
#afiwai-global-background-effect::after{
	pointer-events:none!important;
}
#afiwai-global-background-effect>.afi-global-effect-layer{
	position:absolute!important;
	inset:0!important;
	display:block!important;
	width:auto!important;
	height:auto!important;
	margin:0!important;
	padding:0!important;
	border:0!important;
	border-radius:0!important;
	pointer-events:none!important;
	overflow:hidden!important;
	isolation:isolate!important;
}
#afiwai-global-background-effect>.afi-global-effect-layer--image{z-index:0!important}
#afiwai-global-background-effect>.afi-global-effect-layer--animation{z-index:1!important}
#afiwai-global-background-effect>.afi-global-effect-layer::before,
#afiwai-global-background-effect>.afi-global-effect-layer::after{pointer-events:none!important}

/* The layer is decoration only and must never become a layout/stacking parent
   for Header, BODY, Footer or fixed components such as AFIWAI Command Bar. */
body.afiwai-studio-theme.afi-global-background-effect-active > :not(#afiwai-global-background-effect){
	/* Intentionally no z-index: avoid creating new stacking contexts. */
}


/* ================================================================
   AFIWAI Studio 1.40 — Extended module pack
   ================================================================ */
.afi-audio audio{width:100%}
.afi-before-after{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:18px;background:#08192b}
.afi-before-after img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.afi-before-after-after{position:absolute;inset:0;overflow:hidden;clip-path:inset(0 calc(100% - var(--afi-before-after,50%)) 0 0)}
.afi-before-after-after img{position:absolute;inset:0}
.afi-before-after input[type=range]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;z-index:4}
.afi-before-after::after{content:"";position:absolute;top:0;bottom:0;left:var(--afi-before-after,50%);width:2px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.25);z-index:3;pointer-events:none}
.afi-before-after-label{position:absolute;top:14px;z-index:3;padding:5px 8px;border-radius:999px;background:rgba(0,0,0,.58);color:#fff;font-size:12px}.afi-before-after-label.is-before{left:14px}.afi-before-after-label.is-after{right:14px}

.afi-summary{display:grid;gap:10px;padding:22px;border:1px solid rgba(0,100,192,.18);border-left:4px solid var(--afi-primary,#0064C0);border-radius:14px;background:color-mix(in srgb,var(--afi-primary,#0064C0) 5%,transparent)}
.afi-summary>strong{font-size:1.05em}.afi-summary p{margin:.25em 0}

.afi-breadcrumb{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:.92em}
.afi-breadcrumb a{text-decoration:none}.afi-breadcrumb [aria-current=page]{opacity:.72}

.afi-chart{display:grid;gap:16px}.afi-chart-title{font-size:1.1em}.afi-chart-bars{display:grid;gap:10px}
.afi-chart-row{display:grid;grid-template-columns:minmax(80px,.8fr) minmax(120px,2fr) auto;gap:10px;align-items:center}
.afi-chart-row i{display:block;height:10px;border-radius:999px;background:rgba(127,127,127,.18);overflow:hidden}
.afi-chart-row i b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--afi-primary,#0064C0),#16C8FF)}
.afi-chart-row em{font-style:normal;font-weight:700}
.afi-chart-donut{--afi-chart-value:50%;width:160px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--afi-primary,#0064C0) var(--afi-chart-value),rgba(127,127,127,.16) 0);position:relative}
.afi-chart-donut::after{content:"";position:absolute;inset:18%;border-radius:50%;background:var(--afi-surface,#fff)}
.afi-chart-donut strong{position:relative;z-index:1;font-size:1.5em}

.afi-circle-counter{display:grid;justify-items:center;gap:10px}.afi-circle-counter-ring{--afi-circle-value:0%;width:150px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--afi-primary,#0064C0) var(--afi-circle-value),rgba(127,127,127,.16) 0);position:relative}
.afi-circle-counter-ring::after{content:"";position:absolute;inset:13%;border-radius:50%;background:var(--afi-surface,#fff)}
.afi-circle-counter-ring strong{position:relative;z-index:1;font-size:1.55em}

.afi-code-block{overflow:hidden;border:1px solid rgba(148,163,184,.2);border-radius:14px;background:#07111d;color:#d8e8f5}
.afi-code-toolbar{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid rgba(148,163,184,.16);font-size:12px}
.afi-code-toolbar button{border:0;border-radius:8px;padding:6px 10px;cursor:pointer}.afi-code-block pre{margin:0;padding:18px;overflow:auto}.afi-code-block code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px}

.afi-field{display:grid;gap:7px}.afi-field>span,.afi-contact-form label>span{font-weight:700;font-size:.9em}
.afi-field input,.afi-field textarea,.afi-contact-form input,.afi-contact-form textarea{width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid rgba(100,116,139,.28);border-radius:10px;background:rgba(255,255,255,.92);color:#111827}
.afi-field textarea,.afi-contact-form textarea{min-height:120px;resize:vertical}
.afi-contact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.afi-contact-form label{display:grid;gap:7px}.afi-contact-form label:nth-of-type(4){grid-column:1/-1}.afi-contact-form button[type=submit]{justify-self:start;border:0;border-radius:10px;padding:12px 18px;background:var(--afi-primary,#0064C0);color:#fff;font-weight:800;cursor:pointer}.afi-contact-status{grid-column:1/-1;min-height:1.2em;font-size:.9em}.afi-contact-status.is-error{color:#b42318}.afi-contact-status.is-success{color:#067647}.afi-contact-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}

.afi-countdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.afi-countdown>span{display:grid;justify-items:center;padding:16px 10px;border:1px solid rgba(148,163,184,.18);border-radius:12px;background:rgba(255,255,255,.04)}.afi-countdown strong{font-size:clamp(24px,4vw,44px);line-height:1}.afi-countdown small{margin-top:6px;opacity:.7}

.afi-progress-bar{display:grid;gap:8px}.afi-progress-head{display:flex;justify-content:space-between;gap:10px}.afi-progress-track{height:10px;border-radius:999px;background:rgba(127,127,127,.16);overflow:hidden}.afi-progress-track i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--afi-primary,#0064C0),#16C8FF);transition:width .8s cubic-bezier(.2,.7,.2,1)}

.afi-cta{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:28px;border-radius:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--afi-primary,#0064C0) 14%,transparent),transparent)}.afi-cta h3,.afi-cta p{margin:.2em 0}

.afi-dropdown{position:relative;display:inline-block}.afi-dropdown>button{display:flex;gap:12px;align-items:center;border:1px solid rgba(100,116,139,.24);border-radius:10px;padding:11px 14px;background:#fff;cursor:pointer}.afi-dropdown-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:30;min-width:220px;padding:7px;border:1px solid rgba(100,116,139,.2);border-radius:11px;background:#fff;box-shadow:0 14px 36px rgba(15,23,42,.16)}.afi-dropdown-menu a{display:block;padding:9px 10px;border-radius:7px;text-decoration:none}.afi-dropdown-menu a:hover{background:#eef7ff}

.afi-banner{position:relative;display:flex;align-items:center;justify-content:center;gap:18px;padding:12px 46px 12px 18px;border-radius:12px;background:var(--afi-primary,#0064C0);color:#fff}.afi-banner p{margin:0}.afi-banner>a{color:inherit;font-weight:800}.afi-banner-close{position:absolute;right:10px;top:50%;translate:0 -50%;border:0;background:transparent;color:inherit;font-size:22px;cursor:pointer}

.afi-carousel,.afi-slideshow{position:relative;overflow:hidden;border-radius:18px}.afi-carousel-track{position:relative;min-height:280px}.afi-carousel-slide{display:none;margin:0;position:relative;min-height:280px}.afi-carousel-slide.is-active{display:block}.afi-carousel-slide img{width:100%;height:100%;min-height:280px;object-fit:cover;display:block}.afi-carousel-slide figcaption{position:absolute;left:18px;right:18px;bottom:18px;padding:14px;border-radius:12px;background:rgba(2,14,29,.68);color:#fff;backdrop-filter:blur(8px)}.afi-carousel-slide figcaption{display:grid;gap:4px}.afi-carousel>[data-carousel-prev],.afi-carousel>[data-carousel-next],.afi-slideshow>[data-carousel-prev],.afi-slideshow>[data-carousel-next]{position:absolute;top:50%;translate:0 -50%;z-index:5;width:40px;height:40px;border:0;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;font-size:24px;cursor:pointer}.afi-carousel>[data-carousel-prev],.afi-slideshow>[data-carousel-prev]{left:12px}.afi-carousel>[data-carousel-next],.afi-slideshow>[data-carousel-next]{right:12px}.afi-carousel-dots{position:absolute;left:50%;bottom:10px;translate:-50% 0;display:flex;gap:6px;z-index:6}.afi-carousel-dots button{width:8px;height:8px;border:0;border-radius:50%;padding:0;background:rgba(255,255,255,.5);cursor:pointer}.afi-carousel-dots button.is-active{background:#fff}

.afi-gallery{display:grid;grid-template-columns:repeat(var(--afi-gallery-columns,3),minmax(0,1fr));gap:12px}.afi-gallery button{padding:0;border:0;background:transparent;cursor:zoom-in;overflow:hidden;border-radius:12px}.afi-gallery img{display:block;width:100%;aspect-ratio:1;object-fit:cover;transition:transform .25s}.afi-gallery button:hover img{transform:scale(1.035)}
.afi-gallery-lightbox{position:fixed;inset:0;z-index:2147481000;display:grid;place-items:center;padding:30px;background:rgba(2,8,18,.88)}.afi-gallery-lightbox[hidden]{display:none}.afi-gallery-lightbox figure{max-width:min(1100px,92vw);max-height:88vh;margin:0}.afi-gallery-lightbox img{max-width:100%;max-height:80vh;display:block;border-radius:12px}.afi-gallery-lightbox figcaption{margin-top:8px;color:#fff;text-align:center}.afi-gallery-lightbox button{position:fixed;top:18px;right:18px;width:42px;height:42px;border:0;border-radius:50%;font-size:26px;cursor:pointer}

.afi-link{display:inline-flex;align-items:center;gap:6px}.afi-payment .afi-button{display:inline-flex;gap:10px;align-items:center}.afi-payment .afi-button span{opacity:.76;font-size:.9em}

.afi-login form{display:grid;gap:12px}.afi-login label{display:grid;gap:6px}.afi-login input[type=text],.afi-login input[type=password]{width:100%;box-sizing:border-box;padding:11px 12px;border:1px solid rgba(100,116,139,.25);border-radius:9px}.afi-login .login-submit input{border:0;border-radius:9px;padding:11px 16px;background:var(--afi-primary,#0064C0);color:#fff;font-weight:800;cursor:pointer}.afi-login.is-logged-in{display:flex;gap:12px;align-items:center}

.afi-map iframe{display:block;width:100%;border:0;border-radius:14px}
.afi-pagination ul{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:0}.afi-pagination a,.afi-pagination span{display:grid;place-items:center;min-width:38px;height:38px;padding:0 8px;border:1px solid rgba(100,116,139,.2);border-radius:8px;text-decoration:none}.afi-pagination .current{background:var(--afi-primary,#0064C0);color:#fff}

.afi-scroll-progress{position:fixed!important;left:0;right:0;z-index:2147480000;height:var(--afi-scroll-height,4px)!important;pointer-events:none;background:rgba(127,127,127,.12)}.afi-scroll-progress.is-top{top:0}.admin-bar .afi-scroll-progress.is-top{top:32px}.afi-scroll-progress.is-bottom{bottom:0}.afi-scroll-progress i{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--afi-primary,#0064C0),#16C8FF)}

.afi-table-wrap{overflow:auto}.afi-table{width:100%;border-collapse:collapse}.afi-table caption{text-align:left;font-weight:800;padding:0 0 10px}.afi-table th,.afi-table td{padding:11px 13px;border:1px solid rgba(100,116,139,.18);text-align:left}.afi-table th{background:rgba(0,100,192,.06)}

.afi-sidebar{display:grid;gap:18px}.afi-sidebar .widget{padding:16px;border:1px solid rgba(100,116,139,.16);border-radius:12px}
.afi-follow-us{display:grid;gap:10px}.afi-follow-us>.afi-social-icons{padding:0!important;margin:0!important}

.afi-svg svg{display:block;max-width:100%;height:auto}
.afi-timeline{position:relative;display:grid;gap:0;list-style:none;padding:0;margin:0}.afi-timeline::before{content:"";position:absolute;left:8px;top:8px;bottom:8px;width:2px;background:rgba(0,100,192,.25)}.afi-timeline li{position:relative;display:grid;grid-template-columns:18px 1fr;gap:14px;padding:0 0 22px}.afi-timeline li>i{position:relative;z-index:1;width:16px;height:16px;border-radius:50%;background:var(--afi-primary,#0064C0);box-shadow:0 0 0 4px rgba(0,100,192,.1)}.afi-timeline p{margin:.35em 0 0}

.afi-toggle{border:1px solid rgba(100,116,139,.18);border-radius:12px;padding:0 16px}.afi-toggle summary{cursor:pointer;padding:14px 0;font-weight:800}.afi-toggle>div{padding:0 0 14px}

.afi-canvas-portal>button{border:0;border-radius:10px;padding:12px 18px;background:var(--afi-primary,#0064C0);color:#fff;font-weight:800;cursor:pointer}.afi-portal-layer{position:fixed;inset:0;z-index:2147480500}.afi-portal-layer[hidden]{display:none}.afi-portal-backdrop{position:absolute;inset:0;background:rgba(2,8,18,.6);backdrop-filter:blur(3px)}.afi-portal-panel{position:absolute;top:0;bottom:0;width:min(var(--afi-portal-width,420px),92vw);padding:28px;background:#fff;color:#111827;overflow:auto;box-shadow:0 0 50px rgba(0,0,0,.25)}.afi-portal-layer.is-right .afi-portal-panel{right:0}.afi-portal-layer.is-left .afi-portal-panel{left:0}.afi-portal-layer.is-center .afi-portal-panel{top:50%;bottom:auto;left:50%;translate:-50% -50%;max-height:86vh;border-radius:18px}.afi-portal-close{position:absolute;right:14px;top:14px;border:0;background:transparent;font-size:26px;cursor:pointer}

@media(max-width:760px){
	.afi-contact-form{grid-template-columns:1fr}.afi-contact-form label:nth-of-type(4){grid-column:auto}
	.afi-countdown{grid-template-columns:repeat(2,minmax(0,1fr))}
	.afi-cta,.afi-banner{align-items:flex-start;flex-direction:column}
	.afi-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
	.afi-chart-row{grid-template-columns:70px 1fr auto}
}


/* ================================================================
   AFIWAI Studio 1.40.1 — Boutons
   ================================================================ */
.afi-buttons{
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
	gap:var(--afi-buttons-gap,12px);
	align-items:center;
}
.afi-buttons.is-column{
	flex-direction:column;
	align-items:flex-start;
}
.afi-buttons.is-left{justify-content:flex-start}
.afi-buttons.is-center{justify-content:center}
.afi-buttons.is-right{justify-content:flex-end}
.afi-buttons.is-stretch{align-items:stretch}
.afi-buttons.is-stretch .afi-buttons-item,
.afi-buttons.has-equal-width .afi-buttons-item{
	flex:1 1 0;
}
.afi-buttons.is-column.has-equal-width,
.afi-buttons.is-column.is-stretch{
	align-items:stretch;
}
.afi-buttons.is-column .afi-buttons-item{
	width:auto;
}
.afi-buttons.is-column.has-equal-width .afi-buttons-item,
.afi-buttons.is-column.is-stretch .afi-buttons-item{
	width:100%;
}
@media(max-width:680px){
	.afi-buttons{
		align-items:stretch;
	}
	.afi-buttons .afi-buttons-item{
		flex:1 1 100%;
	}
}
