.aiwest-visual-layout {
  --aiwest-v-primary:var(--aiwest-primary,#2563eb);
  --aiwest-v-primary-dark:var(--aiwest-primary-dark,#1d4ed8);
  --aiwest-v-accent:var(--aiwest-accent,#10b981);
  --aiwest-v-ink:var(--aiwest-ink,#111827);
  --aiwest-v-muted:var(--aiwest-muted,#4b5563);
  --aiwest-v-border:var(--aiwest-border,#e5e7eb);
  --aiwest-v-surface:var(--aiwest-surface,#fff);
  --aiwest-v-soft:var(--aiwest-soft,#f8fafc);
  --aiwest-v-soft-blue:var(--aiwest-soft-blue,#eff6ff);
  --aiwest-v-radius:var(--aiwest-radius,22px);
  --aiwest-v-button-radius:var(--aiwest-button-radius,999px);
  --aiwest-v-shadow:var(--aiwest-shadow,0 18px 50px rgba(15,23,42,.08));
  max-width:var(--aiwest-max-width,1180px)!important;
  margin:clamp(24px,5vw,64px) auto!important;
  padding:0 clamp(12px,2.5vw,28px);
  box-sizing:border-box;
  color:var(--aiwest-v-ink)
}
.aiwest-visual-layout-inner {
  position:relative;
  box-sizing:border-box
}
.aiwest-visual-layout h1,.aiwest-visual-layout h2,.aiwest-visual-layout h3 {
  color:var(--aiwest-v-ink);
  line-height:1.2;
  text-wrap:balance
}
.aiwest-visual-layout h1 {
  font-size:clamp(2rem,5vw,4rem);
  letter-spacing:-.035em;
  margin-bottom:.65em
}
.aiwest-visual-layout h2 {
  font-size:clamp(1.45rem,3vw,2.25rem);
  margin-top:1.9em;
  padding-left:.7em;
  border-left:4px solid var(--aiwest-v-primary)
}
.aiwest-visual-layout h3 {
  font-size:clamp(1.1rem,2vw,1.4rem);
  margin-top:1.5em
}
.aiwest-visual-layout p,.aiwest-visual-layout li {
  color:var(--aiwest-v-muted);
  line-height:1.78
}
.aiwest-visual-layout a {
  color:var(--aiwest-v-primary-dark);
  font-weight:650;
  text-decoration-thickness:2px;
  text-underline-offset:3px
}
.aiwest-visual-layout ul,.aiwest-visual-layout ol {
  margin:1.25em 0;
  padding:1.25em 1.25em 1.25em 2.75em;
  background:var(--aiwest-v-soft);
  border:1px solid var(--aiwest-v-border);
  border-radius:calc(var(--aiwest-v-radius) - 6px)
}
.aiwest-visual-layout blockquote,.aiwest-visual-layout details {
  margin:1.5em 0;
  padding:1.25em 1.5em;
  background:var(--aiwest-v-soft-blue);
  border:1px solid var(--aiwest-v-border);
  border-radius:calc(var(--aiwest-v-radius) - 6px)
}
.aiwest-visual-layout table {
  width:100%;
  display:block;
  overflow-x:auto;
  border-collapse:collapse;
  margin:1.5em 0;
  background:var(--aiwest-v-surface);
  border-radius:calc(var(--aiwest-v-radius) - 8px);
  box-shadow:0 0 0 1px var(--aiwest-v-border)
}
.aiwest-visual-layout th,.aiwest-visual-layout td {
  padding:.85em 1em;
  border:1px solid var(--aiwest-v-border);
  text-align:left
}
.aiwest-visual-layout th {
  background:var(--aiwest-v-soft);
  color:var(--aiwest-v-ink)
}
.aiwest-visual-layout img {
  max-width:100%;
  height:auto;
  border-radius:calc(var(--aiwest-v-radius) - 2px);
  box-shadow:var(--aiwest-v-shadow)
}
.aiwest-visual-layout .wp-block-button__link,.aiwest-visual-layout .aiwest-btn {
  background:var(--aiwest-v-primary);
  color:#fff!important;
  border-radius:var(--aiwest-v-button-radius);
  padding:.8em 1.25em;
  box-shadow:var(--aiwest-v-shadow)
}
.aiwest-visual-profile-documentation {
  max-width:min(980px,var(--aiwest-max-width,1180px))!important
}
.aiwest-visual-profile-documentation .aiwest-visual-layout-inner {
  padding:clamp(22px,4vw,48px);
  background:var(--aiwest-v-surface);
  border:1px solid var(--aiwest-v-border);
  border-radius:var(--aiwest-v-radius);
  box-shadow:var(--aiwest-v-shadow)
}
.aiwest-visual-profile-documentation h2 {
  padding:.65em .8em;
  background:var(--aiwest-v-soft);
  border-radius:calc(var(--aiwest-v-radius) - 8px);
  border-left:4px solid var(--aiwest-v-primary)
}
.aiwest-visual-profile-cards .aiwest-visual-layout-inner>.wp-block-group,.aiwest-visual-profile-cards .aiwest-visual-layout-inner>section,.aiwest-visual-profile-cards .aiwest-visual-layout-inner>article {
  margin:1.5em 0;
  padding:clamp(18px,3vw,32px);
  background:var(--aiwest-v-surface);
  border:1px solid var(--aiwest-v-border);
  border-radius:var(--aiwest-v-radius);
  box-shadow:var(--aiwest-v-shadow)
}
.aiwest-visual-profile-landing .aiwest-visual-layout-inner {
  padding:clamp(24px,5vw,64px);
  background:linear-gradient(135deg,var(--aiwest-v-soft-blue),var(--aiwest-v-surface) 52%,var(--aiwest-v-soft));
  border:1px solid var(--aiwest-v-border);
  border-radius:var(--aiwest-v-radius);
  box-shadow:var(--aiwest-v-shadow)
}
.aiwest-visual-profile-landing h1:first-child {
  max-width:16ch
}
.aiwest-visual-profile-editorial {
  max-width:min(1040px,var(--aiwest-max-width,1180px))!important
}
.aiwest-visual-profile-editorial .aiwest-visual-layout-inner {
  padding:clamp(8px,2vw,20px)
}
.aiwest-visual-density-compact .aiwest-visual-layout-inner {
  padding:clamp(20px,3vw,40px)
}
.aiwest-visual-density-compact p,.aiwest-visual-density-compact li {
  line-height:1.62
}
.aiwest-visual-density-spacious .aiwest-visual-layout-inner {
  padding:clamp(32px,7vw,80px)
}
.aiwest-visual-density-spacious p,.aiwest-visual-density-spacious li {
  line-height:1.9
}
.aiwest-visual-contract-v2 .aiwest-visual-layout-inner {
  padding:0;
  background:transparent;
  border:0;
  box-shadow:none
}
.aiwest-layout-section {
  position:relative;
  margin:clamp(22px,4vw,46px) 0;
  padding:clamp(24px,4vw,44px);
  border:1px solid var(--aiwest-v-border);
  border-radius:var(--aiwest-v-radius);
  background:var(--aiwest-v-surface);
  box-shadow:var(--aiwest-v-shadow);
  box-sizing:border-box;
  overflow:hidden
}
.aiwest-layout-section>h2:first-child {
  margin-top:0;
  border-left:0;
  padding-left:0
}
.aiwest-layout-role-soft {
  background:linear-gradient(135deg,var(--aiwest-v-soft-blue),var(--aiwest-v-surface) 65%)
}
.aiwest-layout-role-hero {
  padding:clamp(34px,7vw,76px);
  background:linear-gradient(135deg,var(--aiwest-v-soft-blue),var(--aiwest-v-surface) 58%,var(--aiwest-v-soft))
}
.aiwest-layout-role-hero>h2:first-child {
  max-width:20ch;
  font-size:clamp(2.15rem,5vw,4rem);
  letter-spacing:-.035em
}
.aiwest-layout-role-hero>p {
  max-width:820px;
  font-size:clamp(1rem,1.8vw,1.2rem)
}
.aiwest-layout-role-hero>p>a:only-child,.aiwest-layout-role-cta a {
  display:inline-block;
  padding:.85em 1.35em;
  border-radius:var(--aiwest-v-button-radius);
  background:var(--aiwest-v-primary);
  color:#fff!important;
  text-decoration:none;
  box-shadow:var(--aiwest-v-shadow)
}
.aiwest-layout-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));
  gap:clamp(14px,2vw,22px);
  margin-top:clamp(18px,3vw,30px)
}
.aiwest-layout-item {
  min-width:0;
  padding:clamp(18px,2.5vw,26px);
  border:1px solid var(--aiwest-v-border);
  border-radius:calc(var(--aiwest-v-radius) - 5px);
  background:var(--aiwest-v-surface);
  box-sizing:border-box
}
.aiwest-layout-item>h3:first-child {
  margin-top:0
}
.aiwest-layout-item>:last-child {
  margin-bottom:0
}
.aiwest-layout-grid-steps {
  grid-template-columns:1fr;
  counter-reset:aiwest-step
}
.aiwest-layout-grid-steps .aiwest-layout-item {
  position:relative;
  padding-left:clamp(72px,9vw,92px);
  counter-increment:aiwest-step
}
.aiwest-layout-grid-steps .aiwest-layout-item:before {
  content:counter(aiwest-step);
  position:absolute;
  left:22px;
  top:22px;
  width:42px;
  height:42px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--aiwest-v-primary);
  color:#fff;
  font-weight:800
}
.aiwest-layout-role-comparison {
  background:var(--aiwest-v-soft)
}
.aiwest-layout-grid-comparison {
  grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))
}
.aiwest-layout-role-faq {
  background:var(--aiwest-v-soft)
}
.aiwest-layout-grid-faq {
  grid-template-columns:1fr
}
.aiwest-layout-grid-faq .aiwest-layout-item {
  box-shadow:none
}
.aiwest-layout-role-cta {
  text-align:center;
  background:var(--aiwest-v-ink);
  border-color:var(--aiwest-v-ink)
}
.aiwest-layout-role-cta h2,.aiwest-layout-role-cta h3,.aiwest-layout-role-cta strong {
  color:#fff!important
}
.aiwest-layout-role-cta p,.aiwest-layout-role-cta li {
  color:var(--aiwest-v-border)!important
}
.aiwest-layout-role-related ul {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));
  gap:12px;
  padding:0;
  background:transparent;
  border:0
}
.aiwest-layout-role-related li {
  list-style:none;
  margin:0;
  padding:14px 16px;
  border:1px solid var(--aiwest-v-border);
  border-radius:calc(var(--aiwest-v-radius) - 8px);
  background:var(--aiwest-v-surface)
}
@media(max-width:640px) {
  .aiwest-visual-layout {
    padding:0 8px
  }
  .aiwest-visual-layout-inner {
    border-radius:20px;
    padding:22px 18px
  }
  .aiwest-visual-layout h1 {
    font-size:2rem
  }
  .aiwest-visual-layout h2 {
    font-size:1.4rem
  }
}
