/* AI247 enhance — noise grain, polish, and the CSS-mask icon system (KSES-safe). */

.ai-hero,.ai-section,.ai-cta-band,footer.ai-footer{position:relative;}

.ai-hero::after,
.ai-section--dark::after,
.ai-cta-band::after,
footer.ai-footer::after{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:1;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:150px 150px;opacity:.045;mix-blend-mode:overlay;
}

/* keep content above grain + blobs */
.ai-hero__grid,.ai-wrap,.ai-cta-band__inner,.ai-footer__inner,.ai-footer__bottom{position:relative;z-index:2;}

/* glass sheen */
.ai-panel::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.06),transparent 40%);}
.ai-panel{overflow:hidden;}

/* selection + focus */
::selection{background:rgba(25,224,212,.28);color:#fff;}
a:focus-visible,button:focus-visible,summary:focus-visible,.wp-block-button__link:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:6px;}

/* kicker + booking */
.ai-kicker{text-align:center;font-family:'Space Grotesk',sans-serif;font-weight:600;color:var(--muted);margin:0;}
.ai-section--dark .ai-kicker{color:var(--cloud);}
.ai-booking{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:clamp(.6rem,2.4vw,1.6rem);max-width:940px;margin-inline:auto;min-height:120px;}
.ai-booking .amelia-app-booking,.ai-booking #ameliaContainer{max-width:100% !important;margin:0 auto !important;}
.ai-booking__note{display:flex;flex-wrap:wrap;justify-content:center;gap:.7rem 1.7rem;margin:1.7rem auto 0;color:var(--muted);font-weight:500;font-size:.97rem;}
.ai-booking__note span{display:inline-flex;align-items:center;gap:.45rem;}

/* small kicker label (avoids inline font-family that KSES strips) */
.ai-kicker{text-align:center;font-family:'Space Grotesk','Inter',sans-serif;font-weight:600;color:var(--muted);margin:0 0 1.3rem;}

/* ============================================================
   ICON SYSTEM — CSS masks (SVG lives here, immune to content KSES)
   Usage in content: <span class="ai-ic ai-ic--phone"></span>
   ============================================================ */
.ai-ic{display:inline-block;width:24px;height:24px;background:var(--cyan);
  -webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat;vertical-align:middle;flex:none;}
.ai-card__icon .ai-ic{width:26px;height:26px;}
.ai-callrow__ic .ai-ic{width:20px;height:20px;}
.ai-ic--inline{width:16px;height:16px;}
.ai-trust .ai-ic{width:16px;height:16px;}

.ai-ic--check{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");}
.ai-ic--phone{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15.5 13c-1 .5-2 .8-3 .3-2.2-1-4-2.8-5-5-.5-1-.2-2 .3-3l1-1.3L6.5 2 3.8 2.2C2.6 4.6 3 7.6 5 11s5.4 6 8.8 6.8L16.5 18 18 14.3z'/%3E%3C/svg%3E");}
.ai-ic--chat{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a8 8 0 0 1-11.5 7.2L4 21l1.8-5.5A8 8 0 1 1 21 12Z'/%3E%3C/svg%3E");}
.ai-ic--cap{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 10 12 5 2 10l10 5 10-5Z'/%3E%3Cpath d='M6 12v5c0 1.5 3 3 6 3s6-1.5 6-3v-5'/%3E%3C/svg%3E");}
.ai-ic--bolt{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 2 4 14h7l-1 8 9-12h-7l1-8Z'/%3E%3C/svg%3E");}
.ai-ic--cube{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 8 12 3 3 8v8l9 5 9-5Z'/%3E%3Cpath d='M3 8l9 5 9-5M12 13v8'/%3E%3C/svg%3E");}
.ai-ic--clock{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");}
.ai-ic--shield{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 5 6v5c0 4 3 7 7 8 4-1 7-4 7-8V6Z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");}
.ai-ic--user{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='3.5'/%3E%3Cpath d='M5 20c0-3.5 3-6 7-6s7 2.5 7 6'/%3E%3C/svg%3E");}
.ai-ic--eye{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s4-7 10-7 10 7 10 7-4 7-10 7S2 12 2 12Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");}
.ai-ic--calendar{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 9h18M8 3v4M16 3v4'/%3E%3C/svg%3E");}
.ai-ic--chart{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20V4M4 20h16'/%3E%3Cpath d='M8 16l3-4 3 2 4-6'/%3E%3C/svg%3E");}
.ai-ic--doc{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2h8l4 4v16H6Z'/%3E%3Cpath d='M14 2v4h4M9 13h6M9 17h6'/%3E%3C/svg%3E");}
.ai-ic--mail{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E");}
.ai-ic--target{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Ccircle cx='12' cy='12' r='4.5'/%3E%3Ccircle cx='12' cy='12' r='.6'/%3E%3C/svg%3E");}
.ai-ic--gear{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 12a8 8 0 1 1-2.3-5.6'/%3E%3Cpath d='M20 4v3h-3'/%3E%3C/svg%3E");}
.ai-ic--doc2{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16v16H4Z'/%3E%3Cpath d='M8 9h8M8 13h8M8 17h5'/%3E%3C/svg%3E");}
.ai-ic--headset{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 13v-1a8 8 0 0 1 16 0v1'/%3E%3Crect x='3' y='13' width='4' height='6' rx='1.5'/%3E%3Crect x='17' y='13' width='4' height='6' rx='1.5'/%3E%3Cpath d='M19 19a6 3 0 0 1-6 2'/%3E%3C/svg%3E");}
.ai-ic--lock{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='11' width='14' height='10' rx='2'/%3E%3Cpath d='M8 11V8a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E");}
.ai-ic--rocket{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3c3 1.5 5 5 5 9l-2.5 2.5h-5L7 12c0-4 2-7.5 5-9Z'/%3E%3Cpath d='M9 17l-2 3M15 17l2 3'/%3E%3Ccircle cx='12' cy='10' r='1.5'/%3E%3C/svg%3E");}
.ai-ic--sparkle{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M12 2l1.8 6.2L20 10l-6.2 1.8L12 18l-1.8-6.2L4 10l6.2-1.8Z'/%3E%3C/svg%3E");}
.ai-ic--phoneflow{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2a10 10 0 0 1 10 10'/%3E%3Cpath d='M12 6a6 6 0 0 1 6 6'/%3E%3Cpath d='M15.5 13c-1 .5-2 .8-3 .3-2.2-1-4-2.8-5-5-.5-1-.2-2 .3-3l1-1.3L6.5 2 3.8 2.2C2.6 4.6 3 7.6 5 11s5.4 6 8.8 6.8L16.5 18 18 14.3z'/%3E%3C/svg%3E");}
