:root{
	--aiwa-primary:#0f172a;
	--aiwa-secondary:#7c3aed;
	--aiwa-accent:#06b6d4;
	--aiwa-surface:#ffffff;
	--aiwa-bg:#f5f7fb;
	--aiwa-border:rgba(15, 23, 42, 0.12);
	--aiwa-text:#172033;
	--aiwa-muted:#5d6475;
	--aiwa-gradient:linear-gradient(135deg, rgba(124,58,237,.08), rgba(6,182,212,.12));
	--aiwa-shadow:0 16px 42px rgba(15, 23, 42, .09);
	--aiwa-shadow-soft:0 10px 22px rgba(15, 23, 42, .07);
	--aiwa-radius:18px;
	--aiwa-radius-sm:12px;
	--aiwa-max:1240px;
	--aiwa-font:"Plus Jakarta Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	--aiwa-font-display:"Plus Jakarta Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	--aiwa-header-height:88px;
}

*,
*::before,
*::after {
	box-sizing:border-box;
}

html {
	scroll-behavior:smooth;
}

body {
	margin:0;
	font-family:var(--aiwa-font);
	font-size:16px;
	color:var(--aiwa-text);
	background:
		radial-gradient(circle at top left, rgba(124,58,237,.08), transparent 28%),
		radial-gradient(circle at top right, rgba(6,182,212,.08), transparent 24%),
		var(--aiwa-bg);
	line-height:1.7;
	letter-spacing:0;
	text-rendering:optimizeLegibility;
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
}

.site-footer__intro img {
    width: 50%;
}

img,
picture,
video,
canvas,
svg {
	display:block;
	max-width:100%;
	height:auto;
}

a {
	color:inherit;
	text-decoration:none;
}

a:hover {
	color:var(--aiwa-secondary);
}

:focus-visible {
	outline:3px solid rgba(6,182,212,.55);
	outline-offset:3px;
}

button,
input,
select,
textarea {
	font:inherit;
}

button {
	cursor:pointer;
}

p {
	margin:0 0 1rem;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin:0 0 .75rem;
	line-height:1.08;
	color:var(--aiwa-primary);
	font-family:var(--aiwa-font-display);
	letter-spacing:-.015em;
	font-weight:700;
}

h1 { font-size:clamp(2.15rem, 5vw, 4.1rem); }
h2 { font-size:clamp(1.65rem, 3.2vw, 2.5rem); }
h3 { font-size:clamp(1.12rem, 1.8vw, 1.45rem); }

.screen-reader-text,
.skip-link {
	position:absolute!important;
	width:1px;
	height:1px;
	padding:0;
	margin:-1px;
	overflow:hidden;
	clip:rect(0,0,0,0);
	white-space:nowrap;
	border:0;
}

.skip-link:focus {
	position:fixed!important;
	top:1rem;
	left:1rem;
	z-index:99999;
	width:auto;
	height:auto;
	padding:.75rem 1rem;
	clip:auto;
	white-space:normal;
	background:var(--aiwa-primary);
	color:#fff;
	border-radius:999px;
}

.container {
	width:min(100% - 2rem, var(--aiwa-max));
	margin-inline:auto;
}

.site {
	position:relative;
	overflow-x:clip;
}

.site-main {
	padding-top:1rem;
}

.site-header {
	position:sticky;
	top:0;
	z-index:1000;
	backdrop-filter:blur(18px);
	background:rgba(245, 247, 251, .82);
	border-bottom:1px solid rgba(15, 23, 42, .06);
	transition:transform .25s ease, background .25s ease, box-shadow .25s ease;
}

.site-header.is-scrolled,
.site-header:not(.site-header--transparent) {
	background:rgba(245, 247, 251, .94);
	box-shadow:0 10px 40px rgba(15, 23, 42, .06);
}

.site-header--transparent {
	background:rgba(245, 247, 251, .58);
}

.site-header__inner {
	min-height:var(--aiwa-header-height);
	display:grid;
	grid-template-columns:auto 1fr auto auto;
	gap:1rem;
	align-items:center;
	padding-block:.75rem;
}

.site-branding {
	display:flex;
	flex-direction:column;
	gap:.2rem;
	min-width:0;
}

.site-branding__logo {
	max-width:220px;
}

.site-title {
	font-size:1.2rem;
	font-weight:700;
	letter-spacing:-.02em;
	font-family:var(--aiwa-font-display);
	color:var(--aiwa-primary);
}

.site-description {
	margin:0;
	font-size:.9rem;
	color:var(--aiwa-muted);
}

.primary-navigation {
	justify-self:center;
}

.menu {
	list-style:none;
	padding:0;
	margin:0;
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:1.35rem;
}

.menu a {
	position:relative;
	font-weight:600;
	color:var(--aiwa-primary);
	padding:.3rem 0;
}

.menu a::after {
	content:'';
	position:absolute;
	left:0;
	bottom:0;
	width:100%;
	height:2px;
	background:linear-gradient(90deg, var(--aiwa-secondary), var(--aiwa-accent));
	transform:scaleX(0);
	transform-origin:left;
	transition:transform .22s ease;
}

.menu a:hover::after,
.menu .current-menu-item > a::after,
.menu .current_page_item > a::after {
	transform:scaleX(1);
}

.menu-toggle {
	display:none;
	justify-self:end;
	width:48px;
	height:48px;
	padding:0;
	border:1px solid var(--aiwa-border);
	border-radius:999px;
	background:#fff;
	box-shadow:var(--aiwa-shadow-soft);
	align-items:center;
	justify-content:center;
}

.menu-toggle__icon,
.menu-toggle__icon::before,
.menu-toggle__icon::after {
	display:block;
	width:20px;
	height:2px;
	background:var(--aiwa-primary);
	border-radius:999px;
	position:relative;
}

.menu-toggle__icon::before,
.menu-toggle__icon::after {
	content:'';
	position:absolute;
	left:0;
}

.menu-toggle__icon::before { top:-6px; }
.menu-toggle__icon::after { top:6px; }

.site-header__actions {
	display:flex;
	gap:.75rem;
	align-items:center;
}

.btn,
.button,
.wp-block-button__link,
.service-card__link,
.post-card__link,
.portfolio-card__link,
.sticky-cta__item,
.slider-btn {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:.5rem;
	border-radius:14px;
	border:1px solid transparent;
	transition:transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
	font-weight:600;
	text-decoration:none;
}

.btn:hover,
.button:hover,
.wp-block-button__link:hover,
.service-card__link:hover,
.post-card__link:hover,
.portfolio-card__link:hover,
.sticky-cta__item:hover,
.slider-btn:hover {
	transform:translateY(-1px);
}

.btn:focus-visible,
.button:focus-visible,
.wp-block-button__link:focus-visible,
.service-card__link:focus-visible,
.post-card__link:focus-visible,
.portfolio-card__link:focus-visible,
.sticky-cta__item:focus-visible,
.slider-btn:focus-visible,
.menu-toggle:focus-visible,
.search-submit:focus-visible {
	outline:3px solid rgba(6,182,212,.4);
	outline-offset:3px;
}

.btn--primary,
.btn--accent,
.wp-block-button__link {
	background:linear-gradient(135deg, var(--aiwa-secondary), var(--aiwa-accent));
	color:#fff;
	box-shadow:0 16px 32px rgba(124,58,237,.18);
	padding:.9rem 1.3rem;
}

.btn--ghost {
	background:rgba(255,255,255,.7);
	border-color:var(--aiwa-border);
	color:var(--aiwa-primary);
	padding:.9rem 1.3rem;
}

.btn--small {
	padding:.75rem 1rem;
	font-size:.92rem;
}

.btn--full {
	width:100%;
}

.section {
	padding-block:clamp(3.5rem, 7vw, 4.5rem);
	position:relative;
}

.section--alt {
	background:linear-gradient(180deg, rgba(255,255,255,.65), rgba(255,255,255,.85));
}

.section--hero {
	padding-top:clamp(2rem, 4vw, 4rem);
	padding-bottom:clamp(4rem, 8vw, 7rem);
}

.section__head {
	max-width:760px;
	margin-bottom:2rem;
}

.section__head--archive {
	text-align:left;
}

.section__eyebrow,
.post-card__meta,
.portfolio-card__cat,
.contact-card__title,
.widget__title {
	font-size:.83rem;
	font-weight:800;
	letter-spacing:.14em;
	text-transform:uppercase;
	color:var(--aiwa-secondary);
	margin-bottom:.6rem;
}

.section__title,
.hero__title {
	margin-bottom:1rem;
	text-wrap:balance;
}

.section__text,
.hero__text,
.service-card__text,
.post-card__excerpt,
.portfolio-card__text,
.testimonial-card__text,
.contact-card p,
.contact-card li,
.site-footer__text {
	font-size:.95rem;
	line-height:1.7;
	color:var(--aiwa-muted);
}

.hero {
	overflow:hidden;
}

.hero__decor {
	position:absolute;
	border-radius:999px;
	filter:blur(2px);
	pointer-events:none;
}

.hero__decor--one {
	top:7%;
	left:-2%;
	width:180px;
	height:180px;
	background:radial-gradient(circle, rgba(6,182,212,.2), transparent 72%);
}

.hero__decor--two {
	right:3%;
	top:12%;
	width:260px;
	height:260px;
	background:radial-gradient(circle, rgba(124,58,237,.18), transparent 68%);
}

.hero__grid {
	display:grid;
	grid-template-columns:minmax(0, 1.12fr) minmax(320px, .88fr);
	gap:2.5rem;
	align-items:center;
}

.hero__content {
	max-width:640px;
}

.hero__title {
	/*max-width:12ch;*/
	line-height:1;
}

.hero__text {
	max-width:60ch;
	font-size:1rem;
}

.hero__actions {
	display:flex;
	flex-wrap:wrap;
	gap:.85rem;
	margin:2rem 0 1.5rem;
}

.trust-list {
	list-style:none;
	padding:0;
	margin:1.5rem 0 0;
	display:flex;
	flex-wrap:wrap;
	gap:.75rem;
}

.trust-list li {
	padding:.55rem .9rem;
	border:1px solid rgba(15,23,42,.08);
	border-radius:999px;
	background:rgba(255,255,255,.72);
	box-shadow:var(--aiwa-shadow-soft);
	font-weight:600;
	font-size:.92rem;
}

.hero__visual {
	position:relative;
	min-height:540px;
	display:grid;
	place-items:center;
	transform:translate3d(var(--hero-shift-x, 0), var(--hero-shift-y, 0), 0);
	transition:transform .2s ease;
}

.hero-card {
	position:absolute;
	background:rgba(255,255,255,.88);
	border:1px solid rgba(15,23,42,.08);
	box-shadow:var(--aiwa-shadow);
	border-radius:28px;
	backdrop-filter:blur(12px);
}

.hero-card--large {
	width:min(100%, 430px);
	padding:1.5rem;
	right:8%;
	top:8%;
}

.hero-card--large h2 {
	font-size:1.4rem;
}

.hero-card__header {
	display:flex;
	align-items:center;
	gap:.6rem;
	font-size:.88rem;
	font-weight:700;
	color:var(--aiwa-muted);
	margin-bottom:1rem;
}

.hero-pulse {
	width:10px;
	height:10px;
	border-radius:50%;
	background:var(--aiwa-accent);
	box-shadow:0 0 0 8px rgba(6,182,212,.12);
}

.hero-card--small {
	padding:1.15rem 1.25rem;
	min-width:160px;
	display:grid;
	gap:.2rem;
	text-align:left;
}

.hero-card--small strong {
	font-size:1.7rem;
	line-height:1;
	color:var(--aiwa-primary);
}

.hero-card--small span {
	color:var(--aiwa-muted);
	font-size:.92rem;
}

.hero-card--one {
	left:2%;
	bottom:16%;
}

.hero-card--two {
	right:7%;
	bottom:10%;
}

.hero-gridlines {
	position:absolute;
	inset:18% 12% 8% 12%;
	border-radius:32px;
	background:
		linear-gradient(90deg, rgba(15,23,42,.05) 1px, transparent 1px),
		linear-gradient(rgba(15,23,42,.05) 1px, transparent 1px);
	background-size:46px 46px;
	mask-image:radial-gradient(circle at center, #000 35%, transparent 75%);
}

.card-grid {
	display:grid;
	gap:1.25rem;
}

.card-grid--two {
	grid-template-columns:repeat(2, minmax(0, 1fr));
}

.card-grid--three {
	grid-template-columns:repeat(3, minmax(0, 1fr));
}

.service-card,
.portfolio-card,
.post-card,
.testimonial-card,
.contact-card,
.feature-card,
.process-step,
.author-card,
.faq-item,
.widget,
.cta-widget,
.newsletter-widget,
.search-form,
.entry,
.breadcrumbs,
.toc {
	background:rgba(255,255,255,.9);
	border:1px solid rgba(15,23,42,.08);
	border-radius:var(--aiwa-radius);
	box-shadow:var(--aiwa-shadow-soft);
}

.service-card,
.portfolio-card,
.post-card {
	overflow:hidden;
}

.service-card,
.feature-card,
.process-step,
.testimonial-card {
	padding:1.35rem;
}

.service-card {
	display:grid;
	gap:1rem;
	min-height:100%;
}

.service-card__icon {
	width:58px;
	height:58px;
	display:grid;
	place-items:center;
	border-radius:18px;
	background:linear-gradient(135deg, rgba(124,58,237,.12), rgba(6,182,212,.12));
	color:var(--aiwa-secondary);
}

.service-card__icon svg,
.social-icon {
	width:24px;
	height:24px;
	fill:currentColor;
}

.service-card__title,
.portfolio-card__title,
.post-card__title,
.testimonial-card__name,
.feature-card__title,
.process-step__title,
.author-card__title {
	margin-bottom:.35rem;
	font-size:1.08rem;
	line-height:1.25;
}

.service-card__link,
.post-card__link,
.portfolio-card__link {
	width:max-content;
	color:var(--aiwa-primary);
	font-weight:800;
}

.feature-grid {
	display:grid;
	grid-template-columns:repeat(4, minmax(0, 1fr));
	gap:1rem;
}

.feature-card {
	display:flex;
	flex-direction:column;
	gap:.9rem;
	min-height:140px;
}

.feature-card__icon {
	width:14px;
	height:14px;
	border-radius:50%;
	background:linear-gradient(135deg, var(--aiwa-secondary), var(--aiwa-accent));
	box-shadow:0 0 0 10px rgba(124,58,237,.08);
}

.portfolio-card__media {
	display:block;
	aspect-ratio:16 / 11;
	background:linear-gradient(135deg, rgba(124,58,237,.12), rgba(6,182,212,.16));
}

.portfolio-card__media img {
	width:100%;
	height:100%;
	object-fit:cover;
}

.portfolio-card__media--placeholder {
	background:
		linear-gradient(135deg, rgba(124,58,237,.18), rgba(6,182,212,.18)),
		linear-gradient(45deg, rgba(255,255,255,.3), transparent);
}

.portfolio-card__body,
.post-card__body {
	padding:1.2rem;
	display:grid;
	gap:.85rem;
}

.portfolio-card__cat {
	margin:0;
}

.process-steps {
	display:grid;
	grid-template-columns:repeat(7, minmax(0, 1fr));
	gap:1rem;
}

.process-step {
	position:relative;
	display:grid;
	gap:.75rem;
	min-height:150px;
}

.process-step__index {
	font-size:1.7rem;
	font-weight:700;
	line-height:1;
	background:linear-gradient(135deg, var(--aiwa-secondary), var(--aiwa-accent));
	-webkit-background-clip:text;
	background-clip:text;
	color:transparent;
}

.testimonial-slider {
	position:relative;
}

.testimonial-slider__track {
	display:grid;
	grid-auto-flow:column;
	grid-auto-columns:minmax(280px, 1fr);
	gap:1rem;
	overflow-x:auto;
	scroll-snap-type:x proximity;
	padding-bottom:.5rem;
	scrollbar-width:thin;
}

.testimonial-card {
	scroll-snap-align:start;
	min-height:100%;
}

.testimonial-card__rating {
	display:flex;
	gap:.15rem;
	margin-bottom:1rem;
	color:#f59e0b;
	font-size:.82rem;
}

.star {
	opacity:.35;
}

.star--filled {
	opacity:1;
}

.testimonial-card__person {
	display:flex;
	gap:.9rem;
	align-items:center;
	margin-top:1.15rem;
}

.testimonial-card__avatar img {
	width:56px;
	height:56px;
	border-radius:50%;
	object-fit:cover;
}

.testimonial-slider__controls {
	display:flex;
	justify-content:flex-end;
	gap:.65rem;
	margin-top:1rem;
}

.slider-btn {
	width:48px;
	height:48px;
	background:#fff;
	border-color:var(--aiwa-border);
	box-shadow:var(--aiwa-shadow-soft);
}

.faq-list {
	display:grid;
	gap:1rem;
}

.faq-item {
	padding:1.2rem 1.35rem;
}

.faq-item summary {
	list-style:none;
	cursor:pointer;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:1rem;
	font-weight:800;
	color:var(--aiwa-primary);
}

.faq-item summary::-webkit-details-marker {
	display:none;
}

.faq-item summary::after {
	content:'+';
	font-size:1.4rem;
	color:var(--aiwa-secondary);
}

.faq-item[open] summary::after {
	content:'–';
}

.faq-item__answer {
	padding-top:1rem;
	color:var(--aiwa-muted);
}

.contact-shell {
	display:grid;
	grid-template-columns:minmax(0, 1.1fr) minmax(320px, .9fr);
	gap:1.25rem;
	align-items:start;
}

.contact-shell__form,
.contact-shell__info {
	background:transparent;
}

.contact-card {
	padding:1.35rem;
	margin-bottom:1rem;
}

.contact-list,
.footer-links,
.footer-contact,
.widget-list,
.popular-posts-widget__list,
.breadcrumbs__list,
.toc__list {
	list-style:none;
	padding:0;
	margin:0;
}

.contact-list {
	display:grid;
	gap:1rem;
}

.contact-list li {
	display:grid;
	gap:.15rem;
}

.contact-list strong {
	color:var(--aiwa-primary);
}

.map-placeholder {
	min-height:280px;
	display:grid;
	place-items:center;
	border-radius:20px;
	background:
		radial-gradient(circle at top left, rgba(124,58,237,.18), transparent 30%),
		radial-gradient(circle at bottom right, rgba(6,182,212,.16), transparent 28%),
		linear-gradient(135deg, rgba(15,23,42,.08), rgba(255,255,255,.92));
	color:var(--aiwa-primary);
	font-weight:800;
	letter-spacing:.08em;
	text-transform:uppercase;
}

.aiwa-contact-form,
.aiwa-newsletter-form {
	display:grid;
	gap:1rem;
}

.form-grid {
	display:grid;
	grid-template-columns:repeat(2, minmax(0, 1fr));
	gap:1rem;
}

.form-field {
	display:grid;
	gap:.5rem;
	margin:0;
}

.form-field--full {
	grid-column:1 / -1;
}

.form-field label,
.contact-form label {
	font-weight:700;
	font-size:.95rem;
	color:var(--aiwa-primary);
}

.form-field input,
.form-field select,
.form-field textarea,
.search-form input[type="search"],
.aiwa-newsletter-form input[type="email"] {
	width:100%;
	padding:.95rem 1rem;
	border:1px solid rgba(15,23,42,.14);
	border-radius:16px;
	background:#fff;
	color:var(--aiwa-primary);
	outline:none;
	transition:border-color .2s ease, box-shadow .2s ease;
}

.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus,
.search-form input[type="search"]:focus,
.aiwa-newsletter-form input[type="email"]:focus {
	border-color:var(--aiwa-accent);
	box-shadow:0 0 0 4px rgba(6,182,212,.12);
}

.form-notice {
	padding:.95rem 1rem;
	border-radius:14px;
	font-weight:600;
}

.form-notice--success {
	background:rgba(34,197,94,.12);
	color:#166534;
}

.form-notice--error {
	background:rgba(239,68,68,.12);
	color:#991b1b;
}

.form-actions,
.inline-form {
	display:flex;
	gap:.75rem;
	align-items:center;
}

.inline-form {
	flex-wrap:wrap;
}

.inline-form input {
	flex:1 1 220px;
}

.form-consent {
	font-size:.9rem;
	color:var(--aiwa-muted);
}

.content-layout {
	display:grid;
	grid-template-columns:minmax(0, 1fr) minmax(280px, 340px);
	gap:2rem;
	align-items:start;
}

.content-layout__main {
	min-width:0;
}

.sidebar {
	display:grid;
	gap:1rem;
	position:sticky;
	top:calc(var(--aiwa-header-height) + 1rem);
}

.post-card {
	display:grid;
	min-height:100%;
}

.post-card__media {
	display:block;
	aspect-ratio:16 / 10;
	background:linear-gradient(135deg, rgba(124,58,237,.12), rgba(6,182,212,.10));
}

.post-card__media img {
	width:100%;
	height:100%;
	object-fit:cover;
}

.post-card__meta {
	display:flex;
	flex-wrap:wrap;
	gap:.75rem;
	margin:0;
	color:var(--aiwa-muted);
}

.entry {
	padding:clamp(1.2rem, 2.5vw, 2rem);
}

.entry-header {
	margin-bottom:1.5rem;
}

.entry-header--single {
	display:grid;
	gap:1rem;
}

.entry-meta {
	display:flex;
	flex-wrap:wrap;
	gap:.75rem 1rem;
	color:var(--aiwa-muted);
	font-size:.92rem;
}

.entry-featured-image {
	margin:0 0 1.5rem;
	overflow:hidden;
	border-radius:var(--aiwa-radius);
}

.entry-content,
.content-area {
	color:var(--aiwa-text);
}

.entry-content > * + *,
.content-area > * + * {
	margin-top:1.2rem;
}

.entry-content h2,
.entry-content h3,
.entry-content h4,
.content-area h2,
.content-area h3,
.content-area h4 {
	margin-top:2rem;
}

.entry-content ul,
.entry-content ol {
	padding-left:1.25rem;
}

.entry-content a {
	color:var(--aiwa-secondary);
	font-weight:700;
}

.entry-content blockquote {
	margin:1.5rem 0;
	padding:1.2rem 1.35rem;
	border-left:4px solid var(--aiwa-secondary);
	background:rgba(124,58,237,.06);
	border-radius:0 18px 18px 0;
}

.entry-layout {
	display:grid;
	grid-template-columns:minmax(0, 1fr) 260px;
	gap:1.5rem;
	align-items:start;
}

.entry-layout__share {
	position:sticky;
	top:calc(var(--aiwa-header-height) + 1.5rem);
	display:grid;
	gap:.7rem;
	padding:1rem;
}

.share-title {
	margin-bottom:.3rem;
	font-weight:800;
	color:var(--aiwa-primary);
}

.entry-layout__share a {
	padding:.75rem .95rem;
	border:1px solid var(--aiwa-border);
	border-radius:14px;
	background:#fff;
	font-weight:700;
}

.author-card {
	display:flex;
	gap:1rem;
	align-items:flex-start;
	padding:1.25rem;
}

.author-card__avatar img {
	border-radius:18px;
}

.tag-links a,
.tag-cloud a {
	display:inline-flex;
	margin:.2rem .35rem .2rem 0;
	padding:.35rem .7rem;
	border-radius:999px;
	background:rgba(15,23,42,.06);
	font-size:.9rem;
}

.toc {
	padding:1rem 1.2rem;
	margin-bottom:1.5rem;
}

.toc__title {
	font-weight:800;
	margin-bottom:.75rem;
	color:var(--aiwa-primary);
}

.toc__item {
	margin:.25rem 0;
}

.toc__item--level-3 {
	padding-left:1rem;
}

.toc__item--level-4 {
	padding-left:1.8rem;
}

.breadcrumbs {
	padding:.85rem 1rem;
	margin-bottom:1rem;
}

.breadcrumbs__list {
	display:flex;
	flex-wrap:wrap;
	gap:.45rem;
	font-size:.9rem;
	color:var(--aiwa-muted);
}

.breadcrumbs__item + .breadcrumbs__item::before {
	content:'/';
	margin-right:.45rem;
	color:rgba(93,100,117,.6);
}

.archive-hero .section__title {
	max-width:12ch;
}

.search-form {
	padding:1rem;
}

.search-form form,
.search-form {
	display:flex;
	gap:.75rem;
	flex-wrap:wrap;
	align-items:center;
}

.search-form input[type="search"] {
	flex:1 1 220px;
}

.search-submit {
	padding:.95rem 1.2rem;
	border:0;
	border-radius:999px;
	background:linear-gradient(135deg, var(--aiwa-secondary), var(--aiwa-accent));
	color:#fff;
	font-weight:800;
	box-shadow:var(--aiwa-shadow-soft);
}

.widget {
	padding:1.2rem;
}

.widget + .widget {
	margin-top:0;
}

.widget ul li + li {
	margin-top:.55rem;
}

.widget a {
	font-weight:600;
	color:var(--aiwa-primary);
}

.widget a:hover {
	color:var(--aiwa-secondary);
}

.widget--cta {
	background:linear-gradient(135deg, rgba(124,58,237,.10), rgba(6,182,212,.12));
}

.site-footer {
	background:linear-gradient(180deg, #09101f, #10192c);
	color:#d8e2f1;
	padding-top:4rem;
	margin-top:2rem;
}

.site-footer__top {
	display:grid;
	gap:2rem;
}

.site-footer__intro {
	max-width:760px;
}

.site-footer__title {
	color:#fff;
}

.site-footer__grid {
	display:grid;
	grid-template-columns:repeat(3, minmax(0, 1fr));
	gap:1.25rem;
}

.site-footer__column {
	min-width:0;
}

.site-footer .widget__title {
	color:#8edff1;
	font-size:1rem;
	margin-bottom:.9rem;
}

.footer-links,
.footer-contact {
	display:grid;
	gap:.65rem;
}

.footer-links a,
.footer-contact a,
.footer-contact span {
	color:#d8e2f1;
	font-size:.95rem;
	line-height:1.6;
}

.site-footer .widget,
.site-footer .widget_block,
.site-footer .wp-block-group,
.site-footer .wp-block-columns,
.site-footer .wp-block-column {
	background:transparent;
	border:0;
	box-shadow:none;
	padding:0;
	margin:0;
}

.site-footer .widget + .widget,
.site-footer .widget_block + .widget_block {
	margin-top:1.25rem;
}

.site-footer .wp-block-heading,
.site-footer h2,
.site-footer h3,
.site-footer h4 {
	color:#fff;
}

.site-footer .wp-block-archives-list,
.site-footer .wp-block-categories-list,
.site-footer .wp-block-latest-posts,
.site-footer .wp-block-page-list,
.site-footer .wp-block-rss,
.site-footer .widget_archive ul,
.site-footer .widget_categories ul,
.site-footer .widget_recent_entries ul,
.site-footer .widget_nav_menu ul,
.site-footer .widget_meta ul {
	list-style:none;
	padding:0;
	margin:0;
	display:grid;
	gap:.6rem;
}

.site-footer .wp-block-archives-list a,
.site-footer .wp-block-categories-list a,
.site-footer .wp-block-latest-posts a,
.site-footer .wp-block-page-list a,
.site-footer .widget_archive a,
.site-footer .widget_categories a,
.site-footer .widget_recent_entries a,
.site-footer .widget_nav_menu a,
.site-footer .widget_meta a {
	color:#d8e2f1;
	font-weight:600;
}

.site-footer__bottom {
	margin-top:3rem;
	padding:1.1rem 0;
	border-top:1px solid rgba(255,255,255,.1);
}

.site-footer__bottom-inner {
	display:flex;
	flex-wrap:wrap;
	gap:1rem;
	align-items:center;
	justify-content:space-between;
}

.footer-meta-links,
.site-footer__social {
	display:flex;
	flex-wrap:wrap;
	gap:.75rem;
	align-items:center;
}

.social-link {
	width:42px;
	height:42px;
	display:grid;
	place-items:center;
	border-radius:50%;
	background:rgba(255,255,255,.08);
	color:#fff;
}

.social-link:hover {
	background:rgba(255,255,255,.14);
}

.sticky-cta {
	position:fixed;
	z-index:999;
	display:flex;
	gap:.6rem;
}

.sticky-cta--desktop {
	right:1rem;
	bottom:1rem;
}

.sticky-cta--mobile {
	left:1rem;
	right:1rem;
	bottom:1rem;
	display:none;
}

.sticky-cta__item {
	padding:.8rem 1rem;
	border-radius:999px;
	background:#fff;
	border-color:var(--aiwa-border);
	box-shadow:var(--aiwa-shadow-soft);
}

.sticky-cta__item--accent {
	background:linear-gradient(135deg, var(--aiwa-secondary), var(--aiwa-accent));
	color:#fff;
}

.comments-area {
	margin-top:2rem;
	padding:1.2rem;
	background:#fff;
	border:1px solid rgba(15,23,42,.08);
	border-radius:var(--aiwa-radius);
	box-shadow:var(--aiwa-shadow-soft);
}

.comment-list {
	list-style:none;
	padding:0;
	margin:0 0 1.5rem;
	display:grid;
	gap:1rem;
}

.comment-list .comment {
	padding:1rem;
	border:1px solid rgba(15,23,42,.08);
	border-radius:18px;
}

.comment-form-comment textarea,
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"] {
	width:100%;
	border:1px solid rgba(15,23,42,.14);
	border-radius:16px;
	padding:.9rem 1rem;
}

.pagination,
.nav-links {
	display:flex;
	flex-wrap:wrap;
	gap:.6rem;
	margin-top:2rem;
}

.page-numbers,
.nav-previous a,
.nav-next a {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-width:42px;
	min-height:42px;
	padding:.65rem .95rem;
	border-radius:999px;
	background:#fff;
	border:1px solid var(--aiwa-border);
	box-shadow:var(--aiwa-shadow-soft);
	font-weight:700;
}

.page-numbers.current {
	background:linear-gradient(135deg, var(--aiwa-secondary), var(--aiwa-accent));
	color:#fff;
}

.error-404__actions {
	display:flex;
	flex-wrap:wrap;
	gap:1rem;
	align-items:center;
	margin:1.5rem 0 2rem;
}

.reveal {
	opacity:0;
	transform:translateY(14px);
	transition:opacity .65s ease, transform .65s ease;
}

.reveal.is-visible {
	opacity:1;
	transform:translateY(0);
}

.section,
.hero__content,
.hero__visual,
.card-grid,
.feature-grid,
.process-steps,
.contact-shell,
.content-layout,
.site-footer__grid {
	animation:fadeUp .7s ease both;
}

@keyframes fadeUp {
	from {
		opacity:0;
		transform:translateY(10px);
	}
	to {
		opacity:1;
		transform:translateY(0);
	}
}

/* Theme refinement layer
   These rules intentionally sit late in the cascade so typography and
   layout are consistent across all templates. */
body {
	line-height:1.7;
	letter-spacing:0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	line-height:1.08;
	letter-spacing:-.015em;
	font-weight:700;
}

h1 {
	font-size:clamp(2.15rem, 5vw, 4.1rem);
}

h2 {
	font-size:clamp(1.65rem, 3.2vw, 2.5rem);
}

h3 {
	font-size:clamp(1.12rem, 1.8vw, 1.45rem);
}

.site-title {
	font-size:1.2rem;
	font-weight:700;
	letter-spacing:-.02em;
	font-family:var(--aiwa-font-display);
}

.section__title,
.hero__title,
.entry-title {
	text-wrap:balance;
}

.section__text,
.hero__text,
.service-card__text,
.post-card__excerpt,
.portfolio-card__text,
.testimonial-card__text,
.contact-card p,
.contact-card li,
.site-footer__text {
	font-size:.95rem;
	line-height:1.7;
}

.hero__grid {
	grid-template-columns:minmax(0, 1.12fr) minmax(320px, .88fr);
	gap:2.5rem;
}

.hero__content {
	max-width:640px;
}

.hero__title {
	max-width:12ch;
	line-height:1;
}

.hero__text {
	max-width:60ch;
	font-size:1rem;
}

.hero-card--large h2 {
	font-size:1.4rem;
}

.hero-card--small strong {
	font-size:1.7rem;
}

.btn,
.button,
.wp-block-button__link,
.service-card__link,
.post-card__link,
.portfolio-card__link,
.sticky-cta__item,
.slider-btn {
	border-radius:14px;
	font-weight:600;
}

.btn--primary,
.btn--accent,
.wp-block-button__link,
.btn--ghost {
	padding:.9rem 1.3rem;
}

.service-card,
.feature-card,
.process-step,
.testimonial-card {
	padding:1.35rem;
}

.service-card__title,
.portfolio-card__title,
.post-card__title,
.testimonial-card__name,
.feature-card__title,
.process-step__title,
.author-card__title {
	font-size:1.08rem;
	line-height:1.25;
}

.portfolio-card__body,
.post-card__body {
	padding:1.2rem;
}

.process-step__index {
	font-size:1.7rem;
	font-weight:700;
}

.testimonial-card__rating {
	font-size:.82rem;
}

.entry {
	padding:clamp(1.1rem, 2.2vw, 1.8rem);
}

.entry-title {
	font-size:clamp(2rem, 4vw, 3.1rem);
	line-height:1.04;
	max-width:12ch;
}

.entry-meta {
	font-size:.88rem;
}

.entry-content h2,
.entry-content h3,
.entry-content h4,
.content-area h2,
.content-area h3,
.content-area h4 {
	margin-top:1.8rem;
}

.faq-item[open] summary::after {
	content:'–';
}

.site-footer {
	background:linear-gradient(180deg, #0a1220, #10192c);
	padding-top:3.5rem;
}

.site-footer__title {
	font-size:clamp(1.6rem, 2.2vw, 2.1rem);
}

.site-footer .widget,
.site-footer .widget_block,
.site-footer .wp-block-group,
.site-footer .wp-block-columns,
.site-footer .wp-block-column,
.site-footer .widget_archive,
.site-footer .widget_categories,
.site-footer .widget_recent_entries,
.site-footer .widget_nav_menu,
.site-footer .widget_meta {
	background:transparent !important;
	border:0 !important;
	box-shadow:none !important;
	padding:0 !important;
	margin:0 !important;
}

.site-footer .widget__title,
.site-footer .widget-title,
.site-footer .widgettitle,
.site-footer .wp-block-heading {
	color:#8edff1;
	font-size:.88rem;
	font-family:var(--aiwa-font);
	letter-spacing:.14em;
	text-transform:uppercase;
	margin-bottom:.75rem;
}

.site-footer h2,
.site-footer h3,
.site-footer h4 {
	color:#fff;
	font-family:var(--aiwa-font-display);
}

.site-footer .wp-block-archives-list a,
.site-footer .wp-block-categories-list a,
.site-footer .wp-block-latest-posts a,
.site-footer .wp-block-page-list a,
.site-footer .widget_archive a,
.site-footer .widget_categories a,
.site-footer .widget_recent_entries a,
.site-footer .widget_nav_menu a,
.site-footer .widget_meta a {
	color:#d8e2f1;
	font-weight:500;
	font-size:.95rem;
}

@media (max-width: 920px) {
	.hero__grid {
		gap:2rem;
	}

	.hero__title {
		max-width:none;
	}
}

@media (max-width: 1180px) {
	.hero__grid,
	.contact-shell,
	.content-layout,
	.entry-layout {
		grid-template-columns:1fr;
	}

	.sidebar,
	.entry-layout__share {
		position:static;
	}

	.feature-grid {
		grid-template-columns:repeat(2, minmax(0, 1fr));
	}

	.process-steps {
		grid-template-columns:repeat(3, minmax(0, 1fr));
	}

	.site-footer__grid {
		grid-template-columns:repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 920px) {
	.site-header__inner {
		grid-template-columns:auto 1fr auto;
	}

	.primary-navigation {
		position:absolute;
		left:1rem;
		right:1rem;
		top:calc(var(--aiwa-header-height) - .2rem);
		padding:1rem;
		background:#fff;
		border:1px solid var(--aiwa-border);
		border-radius:24px;
		box-shadow:var(--aiwa-shadow);
		display:none;
	}

	.primary-navigation.is-open {
		display:block;
	}

	.menu {
		flex-direction:column;
		align-items:flex-start;
		gap:.8rem;
	}

	.menu-toggle {
		display:inline-flex;
	}

	.site-header__actions {
		display:none;
	}

	.card-grid--three,
	.card-grid--two,
	.feature-grid,
	.site-footer__grid {
		grid-template-columns:1fr;
	}

	.process-steps {
		grid-template-columns:repeat(2, minmax(0, 1fr));
	}

	.sticky-cta--desktop {
		display:none;
	}

	.sticky-cta--mobile {
		display:flex;
	}
}

@media (max-width: 640px) {
	.container {
		width:min(100% - 1.25rem, var(--aiwa-max));
	}

	.hero__visual {
		min-height:420px;
	}

	.hero-card--large {
		width:100%;
		right:0;
		left:0;
	}

	.hero-card--one,
	.hero-card--two {
		position:relative;
		left:auto;
		right:auto;
		bottom:auto;
		margin-top:1rem;
	}

	.hero__actions,
	.form-actions,
	.inline-form {
		flex-direction:column;
		align-items:stretch;
	}

	.form-grid,
	.process-steps {
		grid-template-columns:1fr;
	}

	.site-header__inner {
		gap:.75rem;
	}

	.section {
		padding-block:3rem;
	}

	.testimonial-slider__controls {
		justify-content:flex-start;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior:auto;
	}

	*,
	*::before,
	*::after {
		animation-duration:.01ms !important;
		animation-iteration-count:1 !important;
		transition-duration:.01ms !important;
		scroll-behavior:auto !important;
	}

	.reveal {
		opacity:1;
		transform:none;
	}
}

body.is-home-hero {
	background:
		radial-gradient(circle at 8% 12%, rgba(108, 76, 241, .12), transparent 18%),
		radial-gradient(circle at 90% 18%, rgba(111, 213, 255, .12), transparent 14%),
		linear-gradient(180deg, #f8f9ff 0%, #f6f7fe 100%);
}

body.is-home-hero .site-main {
	padding-top:0;
}

body.is-home-hero .site-header {
	background:rgba(255,255,255,.88);
	border-bottom:1px solid rgba(15,23,42,.06);
	backdrop-filter:blur(12px);
}

body.is-home-hero .site-header__inner {
	grid-template-columns:auto 1fr auto;
	gap:1.5rem;
}

body.is-home-hero .site-header__actions .btn--ghost {
	background:#fff;
	border-color:rgba(15,23,42,.08);
}

.section__head--center {
	max-width:760px;
	margin-inline:auto;
	text-align:center;
}

.section__head--row {
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	gap:1rem;
	max-width:none;
}

.section__head--row .section__title {
	margin-bottom:0;
}

.card-grid--four {
	grid-template-columns:repeat(4, minmax(0, 1fr));
}

.hero.section--hero {
	padding-top:clamp(2rem, 4vw, 3rem);
	padding-bottom:2rem;
}

.hero__backdrop {
	position:absolute;
	inset:auto;
	width:24rem;
	height:24rem;
	border-radius:50%;
	filter:blur(32px);
	opacity:.55;
	pointer-events:none;
	z-index:0;
}

.hero__backdrop--left {
	left:-8rem;
	top:8rem;
	background:rgba(108,76,241,.12);
}

.hero__backdrop--right {
	right:-8rem;
	top:10rem;
	background:rgba(111,213,255,.12);
}

.hero__grid {
	position:relative;
	z-index:1;
	display:grid;
	grid-template-columns:minmax(0, 1.05fr) minmax(380px, .95fr);
	align-items:center;
	gap:2rem;
	padding-top:1rem;
}

.hero__content {
	max-width:640px;
}

.hero__eyebrow {
	margin-bottom:1rem;
}

/*.hero__title {*/
/*	display:grid;*/
/*	gap:.12rem;*/
/*	margin-bottom:1rem;*/
/*	max-width:12ch;*/
/*	font-size:40px;*/
/*	line-height:.94;*/
/*	font-weight:800;*/
/*	letter-spacing:-.04em;*/
/*}*/
.hero__title {
    display: grid;
    gap: .12rem;
    margin-bottom: 1rem;
    max-width: 100%;
    font-size: 42px;
    line-height: 3rem;
    font-weight: 800;
    letter-spacing: -.04em;
}

.hero__title span {
	display:block;
}

.hero__title-accent {
	color:var(--aiwa-secondary);
}

.hero__text {
	max-width:34rem;
	font-size:1rem;
}

.hero__actions {
	margin:1.8rem 0 1.2rem;
}

.hero-pills {
	list-style:none;
	display:flex;
	flex-wrap:wrap;
	gap:.75rem;
	padding:0;
	margin:1rem 0 0;
}

.hero-pills li {
	padding:.55rem .85rem;
	border:1px solid rgba(15,23,42,.08);
	border-radius:999px;
	background:#fff;
	font-size:.8rem;
	font-weight:600;
	color:var(--aiwa-primary);
	box-shadow:0 10px 24px rgba(15,23,42,.05);
}

.hero__visual {
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	min-height:520px;
}

.hero-dashboard {
	position:relative;
	width:min(100%, 540px);
	padding:1.35rem;
	border:1px solid rgba(15,23,42,.08);
	border-radius:28px;
	background:rgba(255,255,255,.86);
	box-shadow:0 24px 60px rgba(15,23,42,.11);
	backdrop-filter:blur(14px);
}

.hero-dashboard::after {
	content:'';
	position:absolute;
	inset:-18px -20px 20px 20px;
	border-radius:32px;
	background:linear-gradient(135deg, rgba(108,76,241,.08), rgba(111,213,255,.14));
	z-index:-1;
	filter:blur(6px);
}

.hero-dashboard__badge {
	display:inline-flex;
	align-items:center;
	gap:.5rem;
	padding:.35rem .7rem;
	border-radius:999px;
	background:rgba(108,76,241,.08);
	color:var(--aiwa-secondary);
	font-size:.72rem;
	font-weight:700;
	letter-spacing:.08em;
	text-transform:uppercase;
}

.hero-dashboard__dot {
	width:8px;
	height:8px;
	border-radius:50%;
	background:var(--aiwa-secondary);
}

.hero-dashboard__top {
	display:grid;
	gap:.6rem;
	padding-bottom:1rem;
}

.hero-dashboard__title {
	font-size:1.35rem;
	line-height:1.15;
	margin:0;
}

.hero-dashboard__text {
	margin:0;
	font-size:.95rem;
	color:var(--aiwa-muted);
}

.hero-dashboard__graph {
	padding:1rem;
	border-radius:22px;
	background:linear-gradient(180deg, rgba(108,76,241,.04), rgba(111,213,255,.04));
	border:1px solid rgba(15,23,42,.06);
}

.hero-dashboard__graph-head {
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
	margin-bottom:.75rem;
}

.hero-dashboard__mini-label {
	display:block;
	font-size:.75rem;
	color:var(--aiwa-muted);
}

.hero-dashboard__graph strong {
	display:block;
	font-size:1.7rem;
	line-height:1;
	color:var(--aiwa-primary);
}

.hero-dashboard__mini-copy {
	display:block;
	font-size:.75rem;
	color:var(--aiwa-muted);
}

.hero-dashboard__chart {
	width:100%;
	height:auto;
	display:block;
}

.hero-dashboard__stats {
	display:grid;
	grid-template-columns:repeat(3, minmax(0, 1fr));
	gap:.85rem;
	margin-top:.85rem;
}

.hero-stat {
	padding:1rem;
	border-radius:18px;
	background:#fff;
	border:1px solid rgba(15,23,42,.06);
	box-shadow:0 10px 18px rgba(15,23,42,.05);
}

.hero-stat__label {
	display:block;
	font-size:.72rem;
	color:var(--aiwa-muted);
	margin-bottom:.35rem;
}

.hero-stat strong {
	display:block;
	font-size:1.55rem;
	line-height:1;
	margin-bottom:.2rem;
	color:var(--aiwa-primary);
}

.hero-stat span {
	font-size:.78rem;
	color:var(--aiwa-muted);
}

.hero-float {
	position:absolute;
	right:-1.2rem;
	top:50%;
	transform:translateY(-50%);
	width:2.8rem;
	height:2.8rem;
	border-radius:50%;
	background:#fff;
	box-shadow:0 14px 30px rgba(108,76,241,.18);
	display:grid;
	place-items:center;
	color:var(--aiwa-secondary);
	font-weight:800;
	font-size:1.2rem;
}

.brand-strip {
	display:grid;
	gap:1rem;
	padding-top:1.5rem;
	padding-bottom:1.5rem;
	border-top:1px solid rgba(15,23,42,.06);
}

.brand-strip__label {
	margin:0;
	text-align:center;
	font-size:.72rem;
	font-weight:800;
	color:var(--aiwa-secondary);
	letter-spacing:.16em;
	text-transform:uppercase;
}

.brand-strip__row {
	display:grid;
	grid-template-columns:repeat(5, minmax(0, 1fr));
	gap:1rem;
	align-items:center;
}

.brand-strip__item {
	display:flex;
	align-items:center;
	justify-content:center;
	min-height:56px;
	padding:.5rem .75rem;
	border-radius:16px;
	background:#fff;
	border:1px solid rgba(15,23,42,.06);
	color:var(--aiwa-primary);
	font-weight:700;
	letter-spacing:-.02em;
	box-shadow:0 10px 18px rgba(15,23,42,.04);
}

.brand-strip__item--rating {
	color:var(--aiwa-secondary);
}

.service-card--compact,
.feature-card--compact,
.portfolio-card,
.testimonial-card,
.contact-card,
.faq-item {
	background:#fff;
	border:1px solid rgba(15,23,42,.06);
	box-shadow:0 18px 42px rgba(15,23,42,.06);
	border-radius:20px;
}

.service-card--compact {
	min-height:230px;
	padding:1.35rem;
	display:grid;
	gap:1rem;
}

.service-card--compact .service-card__icon {
	width:48px;
	height:48px;
	border-radius:16px;
}

.service-card__body {
	display:grid;
	gap:.6rem;
}

.service-card__text {
	font-size:.88rem;
}

.service-card__link {
	font-size:.86rem;
	color:var(--aiwa-secondary);
	font-weight:700;
}

.feature-grid--six {
	grid-template-columns:repeat(6, minmax(0, 1fr));
}

.feature-card--compact {
	padding:1.15rem;
	min-height:180px;
	display:grid;
	gap:.85rem;
}

.feature-card--compact .feature-card__title {
	font-size:1rem;
	margin-bottom:0;
}

.feature-card--compact .feature-card__text {
	font-size:.82rem;
	margin:0;
}

.portfolio-card__media-wrap {
	position:relative;
	overflow:hidden;
	border-radius:20px 20px 0 0;
}

.portfolio-card__media {
	display:block;
	aspect-ratio:1.45 / 1;
	background:
		linear-gradient(180deg, rgba(8,14,32,.82), rgba(8,14,32,.82)),
		linear-gradient(135deg, rgba(108,76,241,.72), rgba(111,213,255,.5));
}

.portfolio-card__media img {
	width:100%;
	height:100%;
	object-fit:cover;
}

.portfolio-card__media--placeholder {
	background:
		linear-gradient(180deg, rgba(8,14,32,.68), rgba(8,14,32,.68)),
		linear-gradient(135deg, rgba(108,76,241,.5), rgba(111,213,255,.35));
}

.portfolio-card__pill {
	position:absolute;
	left:1rem;
	bottom:1rem;
	padding:.35rem .65rem;
	border-radius:999px;
	background:rgba(108,76,241,.94);
	color:#fff;
	font-size:.72rem;
	font-weight:700;
	letter-spacing:.08em;
	text-transform:uppercase;
}

.portfolio-card__body {
	padding:1.15rem 1.2rem 1.3rem;
}

.portfolio-card__title {
	font-size:1.05rem;
}

.portfolio-card__text {
	font-size:.9rem;
}

.process-steps {
	display:grid;
	grid-template-columns:repeat(6, minmax(0, 1fr));
	gap:1rem;
	position:relative;
}

.process-steps::before {
	content:'';
	position:absolute;
	left:6%;
	right:6%;
	top:2.65rem;
	height:1px;
	background:linear-gradient(90deg, rgba(108,76,241,.14), rgba(15,23,42,.08));
}

.process-step {
	background:transparent;
	box-shadow:none;
	text-align:center;
	padding:1rem .75rem 1rem;
	position:relative;
}

.process-step__icon {
	width:3.5rem;
	height:3.5rem;
	border-radius:50%;
	background:#fff;
	border:1px solid rgba(15,23,42,.08);
	box-shadow:0 10px 18px rgba(15,23,42,.05);
	margin:0 auto .85rem;
	position:relative;
	z-index:1;
}

.process-step__index {
	display:block;
	font-size:1.5rem;
	font-weight:800;
	color:var(--aiwa-primary);
	margin-bottom:.45rem;
}

.process-step__title {
	font-size:1rem;
	margin-bottom:.35rem;
}

.process-step__text {
	font-size:.82rem;
	margin:0;
	color:var(--aiwa-muted);
}

.testimonial-slider__track {
	grid-auto-flow:unset;
	grid-auto-columns:unset;
	grid-template-columns:repeat(3, minmax(0, 1fr));
	overflow:visible;
	padding-bottom:0;
}

.testimonial-card {
	padding:1.35rem;
	position:relative;
}

.testimonial-card__quote {
	font-size:2.2rem;
	line-height:1;
	color:var(--aiwa-secondary);
	margin-bottom:.35rem;
}

.testimonial-card__text {
	font-size:.9rem;
	min-height:84px;
}

.testimonial-card__rating {
	margin-bottom:.85rem;
}

.testimonial-card__person {
	margin-top:1rem;
}

.testimonial-card__avatar {
	width:52px;
	height:52px;
	border-radius:50%;
	overflow:hidden;
	background:linear-gradient(135deg, rgba(108,76,241,.14), rgba(111,213,255,.18));
	display:grid;
	place-items:center;
	font-weight:800;
	color:var(--aiwa-secondary);
}

.testimonial-card__avatar--placeholder {
	font-size:1rem;
}

.testimonial-card__company {
	font-size:.8rem;
	color:var(--aiwa-muted);
	margin:0;
}

.testimonial-slider__controls {
	justify-content:center;
	margin-top:1.25rem;
}

.testimonial-slider__dots {
	display:flex;
	justify-content:center;
	gap:.5rem;
	margin-top:.75rem;
}

.testimonial-slider__dots span {
	width:8px;
	height:8px;
	border-radius:50%;
	background:#d7daf0;
}

.testimonial-slider__dots .is-active {
	width:28px;
	border-radius:999px;
	background:var(--aiwa-secondary);
}

.faq-layout {
	display:grid;
	grid-template-columns:minmax(0, 1fr) 340px;
	gap:1.25rem;
	align-items:start;
}

.faq-list {
	display:grid;
	gap:.75rem;
}

.faq-item {
	padding:0;
	overflow:hidden;
}

.faq-item__question {
	padding:1rem 1.15rem;
	font-size:.95rem;
	font-weight:600;
}

.faq-item__answer {
	padding:0 1.15rem 1rem;
	font-size:.88rem;
}

.faq-cta {
	padding:1.8rem;
	border-radius:24px;
	background:linear-gradient(135deg, #5d3cf2, #7b50ff);
	color:#fff;
	display:grid;
	gap:.85rem;
	align-content:start;
	min-height:100%;
	box-shadow:0 24px 48px rgba(93,60,242,.2);
}

.faq-cta__icon {
	width:3rem;
	height:3rem;
	border-radius:50%;
	display:grid;
	place-items:center;
	background:rgba(255,255,255,.16);
	font-size:1.35rem;
}

.faq-cta__title,
.faq-cta__text {
	color:#fff;
	margin:0;
}

.btn--light {
	background:#fff;
	color:var(--aiwa-primary);
	padding:.85rem 1.1rem;
}

.contact-shell {
	grid-template-columns:minmax(0, 1.08fr) minmax(340px, .92fr);
	gap:1.25rem;
}

.contact-card--form,
.contact-card--info,
.contact-card--map {
	background:#fff;
	padding:1.4rem;
}

.contact-card--form .aiwa-contact-form {
	margin:0;
}

.contact-card--map {
	padding:1rem;
}

.map-placeholder--city {
	min-height:260px;
	border-radius:20px;
	background:
		radial-gradient(circle at 50% 50%, rgba(108,76,241,.16), transparent 0 32px, transparent 32px),
		linear-gradient(135deg, rgba(15,23,42,.04), rgba(255,255,255,.96)),
		linear-gradient(135deg, rgba(108,76,241,.08), rgba(111,213,255,.14));
	color:var(--aiwa-primary);
}

.map-placeholder--city span {
	padding:.75rem 1rem;
	background:#fff;
	border-radius:999px;
	box-shadow:0 10px 24px rgba(15,23,42,.08);
	font-size:.8rem;
	letter-spacing:.08em;
}

.site-footer {
	margin-top:0;
}

@media (max-width: 1180px) {
	.card-grid--four,
	.feature-grid--six,
	.brand-strip__row,
	.testimonial-slider__track,
	.process-steps {
		grid-template-columns:repeat(2, minmax(0, 1fr));
	}

	.hero__grid,
	.faq-layout,
	.contact-shell {
		grid-template-columns:1fr;
	}

	.section__head--row {
		display:block;
	}

	.hero__visual {
		min-height:460px;
	}

	.hero-dashboard {
		width:100%;
	}
}

@media (max-width: 920px) {
	.hero__grid {
		gap:1.5rem;
	}

	.hero__title {
		max-width:none;
		font-size:clamp(2.6rem, 8vw, 4rem);
	}

	.hero-dashboard__stats {
		grid-template-columns:1fr;
	}

	.brand-strip__row,
	.card-grid--four,
	.feature-grid--six,
	.testimonial-slider__track,
	.process-steps {
		grid-template-columns:1fr;
	}
}

@media (max-width: 640px) {
	.hero__actions,
	.form-actions,
	.inline-form {
		flex-direction:column;
		align-items:stretch;
	}

	.hero-dashboard__chart {
		height:auto;
	}

	.hero-dashboard {
		padding:1rem;
	}

	.hero-float {
		display:none;
	}

	.section__title,
	.hero__title,
	.entry-title {
		max-width:none;
	}

	.faq-cta {
		padding:1.35rem;
	}
}


.process-step__icon {
    width: 72px;
    height: 72px;
    margin: -10px auto 20px;
    border-radius: 50%;
    background: #fff;
    border: 1px solid rgba(108,99,255,.15);
    box-shadow: 0 12px 30px rgba(108,99,255,.12);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-primary);
    font-size: 28px;
    transition: .35s ease;
}

.process-step:hover .process-step__icon{
    transform:translateY(-6px) scale(1.08);
    background:linear-gradient(135deg,#6c63ff,#8b5cf6);
    color:#fff;
    box-shadow:0 18px 40px rgba(108,99,255,.25);
}


/* ==========================================
   BLOG / ARCHIVE PAGE
========================================== */

.archive-hero{
    padding-top:3rem;
    padding-bottom:2.5rem;
}

.archive-hero .breadcrumbs{
    margin-bottom:2rem;
}

.section__head--archive{
    max-width:720px;
}

.archive-hero .section__title{
    font-size:clamp(2.6rem,5vw,4rem);
    font-weight:800;
    line-height:1.02;
    letter-spacing:-.04em;
    color:var(--aiwa-primary);
    max-width:11ch;
    margin-bottom:1rem;
}

.archive-hero .section__text{
    max-width:620px;
    font-size:1rem;
    color:var(--aiwa-muted);
    line-height:1.7;
}

/* spacing below hero */

.archive-hero + .section{
    padding-top:1rem;
}

/* ==========================================
CONTENT
========================================== */

.content-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 320px;
    gap:3rem;
    align-items:start;
}

.content-layout__main{
    min-width:0;
}

/* ==========================================
POST GRID
========================================== */

.card-grid--two{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:2rem;
}

.post-card{
    overflow:hidden;
    background:#fff;
    border-radius:22px;
    border:1px solid rgba(15,23,42,.06);
    box-shadow:0 18px 40px rgba(15,23,42,.06);
    transition:.35s;
}

.post-card:hover{
    transform:translateY(-8px);
    box-shadow:0 28px 55px rgba(15,23,42,.10);
}

.post-card__media{
    aspect-ratio:16/10;
}

.post-card__body{
    padding:1.4rem;
}

.post-card__meta{
    font-size:.72rem;
    letter-spacing:.12em;
    color:var(--aiwa-secondary);
    text-transform:uppercase;
    font-weight:700;
}

.post-card__title{
    font-size:1.4rem;
    line-height:1.25;
    margin:.4rem 0;
}

.post-card__excerpt{
    font-size:.94rem;
    color:var(--aiwa-muted);
    line-height:1.75;
}

.post-card__link{
    margin-top:.5rem;
    color:var(--aiwa-secondary);
    font-weight:700;
}

/* ==========================================
SIDEBAR
========================================== */

.sidebar{
    display:grid;
    gap:1.5rem;
}

.widget{
    padding:1.5rem;
    border-radius:20px;
    border:1px solid rgba(15,23,42,.06);
    background:#fff;
    box-shadow:0 18px 40px rgba(15,23,42,.06);
}

.widget-title,
.widget__title{
    font-size:.82rem;
    text-transform:uppercase;
    letter-spacing:.16em;
    color:var(--aiwa-secondary);
    font-weight:800;
    margin-bottom:1rem;
}

.widget ul{
    margin:0;
    padding:0;
    list-style:none;
}

.widget li{
    padding:.6rem 0;
    border-bottom:1px solid rgba(15,23,42,.06);
}

.widget li:last-child{
    border-bottom:none;
}

.widget a{
    font-weight:600;
    color:var(--aiwa-primary);
}

.widget a:hover{
    color:var(--aiwa-secondary);
}

/* ==========================================
SEARCH WIDGET
========================================== */

.widget_search form{
    display:flex;
    gap:.7rem;
}

.widget_search input[type="search"]{
    flex:1;
    border:1px solid rgba(15,23,42,.08);
    border-radius:14px;
    padding:.9rem 1rem;
}

.widget_search button,
.widget_search input[type="submit"]{
    padding:.9rem 1.2rem;
    border:none;
    border-radius:14px;
    color:#fff;
    font-weight:700;
    background:linear-gradient(135deg,var(--aiwa-secondary),var(--aiwa-accent));
}

/* ==========================================
PAGINATION
========================================== */

.pagination,
.nav-links{
    margin-top:3rem;
    justify-content:center;
}

/* ==========================================
RESPONSIVE
========================================== */

@media(max-width:1180px){

.content-layout{
grid-template-columns:1fr;
}

.sidebar{
position:static;
}

}

@media(max-width:768px){

.archive-hero{
padding-top:2rem;
padding-bottom:2rem;
}

.archive-hero .section__title{
font-size:2.5rem;
max-width:none;
}

.card-grid--two{
grid-template-columns:1fr;
gap:1.5rem;
}

}