
/* =========================================================
   Supernova AI Assistants — isolated service-page + teaser UI
   ========================================================= */

.ai-page-main { position: relative; z-index: 2; overflow: hidden; }
.ai-page-main .shell { position: relative; }
.ai-kicker { display:flex; align-items:center; gap:12px; color:#8ddfff; font-family:var(--mono); font-size:.64rem; letter-spacing:.16em; text-transform:uppercase; }
.ai-kicker i { width:42px; height:1px; background:linear-gradient(90deg,var(--cyan),transparent); }
.ai-gradient { color:transparent; background:linear-gradient(90deg,#b96cff 0%,#f7f3ed 28%,#f7f3ed 72%,#54e8ff 100%); -webkit-background-clip:text; background-clip:text; }

.ai-hero { min-height:92vh; min-height:92svh; display:flex; align-items:center; padding:142px 0 90px; border-bottom:1px solid rgba(255,255,255,.1); background:radial-gradient(circle at 74% 40%,rgba(53,217,255,.07),transparent 33%), radial-gradient(circle at 58% 48%,rgba(255,78,168,.08),transparent 29%); }
.ai-hero-grid { display:grid; grid-template-columns:minmax(0,.88fr) minmax(520px,1.12fr); align-items:center; gap:48px; }
.ai-hero-copy h1 { margin:22px 0 0; max-width:700px; font-family:var(--serif); font-size:4.3rem; font-size:clamp(4.3rem,7vw,7.6rem); font-weight:400; line-height:.86; letter-spacing:-.058em; }
.ai-hero-copy h1 em { display:block; color:#f7f3ed; font-weight:400; }
.ai-hero-lead { max-width:650px; margin:30px 0 0; color:#c3c7d1; font-size:1.02rem; line-height:1.72; }
.ai-hero-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:36px; }
.ai-hero-proof { display:flex; flex-wrap:wrap; gap:12px 24px; margin-top:34px; color:#838998; font-size:.66rem; letter-spacing:.07em; text-transform:uppercase; }
.ai-hero-proof span { display:flex; align-items:center; gap:8px; }
.ai-hero-proof i { width:5px; height:5px; border-radius:50%; background:var(--cyan); box-shadow:0 0 13px rgba(53,217,255,.9); }
.ai-hero-proof span:nth-child(2) i { background:var(--pink); box-shadow:0 0 13px rgba(255,78,168,.85); }
.ai-hero-proof span:nth-child(3) i { background:var(--yellow); box-shadow:0 0 13px rgba(232,255,89,.7); }

.ai-system { position:relative; min-height:620px; perspective:1100px; }
.ai-system::before { content:""; position:absolute; left:50%; top:50%; width:76%; height:76%; border:1px solid rgba(255,255,255,.075); border-radius:50%; transform:translate(-50%,-50%) rotate(-10deg) scaleY(.53); box-shadow:0 0 60px rgba(53,217,255,.025); }
.ai-system::after { content:""; position:absolute; left:50%; top:50%; width:94%; height:70%; border:1px solid rgba(255,78,168,.08); border-radius:50%; transform:translate(-50%,-50%) rotate(18deg) scaleY(.56); }
.ai-system-core { position:absolute; left:50%; top:50%; width:210px; height:210px; transform:translate(-50%,-50%); border-radius:50%; display:grid; place-items:center; z-index:5; color:#fff; font-family:var(--serif); font-size:5.2rem; background:radial-gradient(circle at 50% 50%,#fff 0 5%,#dceeff 7%,#54d8ff 17%,#7587ff 29%,#ff58b1 46%,rgba(255,78,168,.18) 61%,transparent 72%); filter:drop-shadow(0 0 24px rgba(106,150,255,.42)); }
.ai-system-core::before,.ai-system-core::after { content:""; position:absolute; inset:-28px; border:1px solid rgba(122,160,255,.3); border-radius:50%; animation:aiCoreBreath 5.8s ease-in-out infinite; }
.ai-system-core::after { inset:-52px; border-color:rgba(255,78,168,.17); animation-delay:-2.9s; }
.ai-core-grid { position:absolute; inset:0; border-radius:50%; opacity:.38; background:repeating-radial-gradient(circle at center,transparent 0 14px,rgba(255,255,255,.12) 15px 16px,transparent 17px 30px); }
.ai-orbit-node { position:absolute; width:190px; height:190px; border-radius:50%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:9px; z-index:7; text-align:center; border:1px solid rgba(255,255,255,.18); background:radial-gradient(circle at 50% 42%,rgba(255,255,255,.08),rgba(8,11,19,.88) 58%,rgba(8,11,19,.98)); box-shadow:inset 0 0 48px rgba(255,255,255,.025),0 20px 60px rgba(0,0,0,.26); }
.ai-orbit-node svg { width:44px; height:44px; }
.ai-orbit-node strong { max-width:130px; font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; }
.ai-orbit-node small { color:#8f95a4; font-size:.64rem; }
.ai-node-call { left:4%; top:28%; color:#ff7ad0; box-shadow:inset 0 0 50px rgba(255,78,168,.08),0 0 50px rgba(255,78,168,.08); animation:aiFloatA 7.5s ease-in-out infinite; }
.ai-node-web { right:0; top:44%; color:#62e8ff; box-shadow:inset 0 0 50px rgba(53,217,255,.07),0 0 50px rgba(53,217,255,.08); animation:aiFloatB 8.4s ease-in-out infinite; }
.ai-signal { position:absolute; width:8px; height:8px; border-radius:50%; z-index:6; background:#fff; box-shadow:0 0 12px currentColor,0 0 28px currentColor; }
.ai-signal-a { left:24%; top:27%; color:var(--pink); animation:aiSignalA 8s linear infinite; }
.ai-signal-b { right:16%; top:27%; color:var(--cyan); animation:aiSignalB 9.6s linear infinite; }
.ai-signal-c { right:26%; bottom:17%; color:var(--yellow); animation:aiSignalC 11s linear infinite; }

.ai-dual { padding:116px 0 126px; background:linear-gradient(180deg,#07080d,#090d15); border-bottom:1px solid rgba(255,255,255,.09); }
.ai-section-intro { max-width:820px; margin:0 auto 56px; text-align:center; }
.ai-section-intro h2 { margin:15px 0 0; font-family:var(--serif); font-size:3rem; font-size:clamp(3rem,5vw,5.5rem); font-weight:400; line-height:.94; letter-spacing:-.045em; }
.ai-section-intro p { max-width:720px; margin:22px auto 0; color:#9ea4b2; line-height:1.7; }
.ai-dual-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; max-width:1080px; margin:0 auto; }
.ai-assistant-card { position:relative; min-height:420px; padding:42px; border:1px solid rgba(255,255,255,.15); overflow:hidden; background:linear-gradient(145deg,rgba(19,23,34,.8),rgba(7,9,15,.95)); transition:transform .35s var(--ease),border-color .35s ease,box-shadow .35s ease; }
.ai-assistant-card::before { content:""; position:absolute; width:270px; height:270px; border-radius:50%; top:-105px; right:-75px; opacity:.16; filter:blur(8px); }
.ai-assistant-card.call::before { background:var(--pink); }
.ai-assistant-card.web::before { background:var(--cyan); }
.ai-assistant-card:hover { transform:translateY(-5px); border-color:rgba(255,255,255,.3); box-shadow:0 28px 90px rgba(0,0,0,.24); }
.ai-assistant-icon { width:66px; height:66px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.16); border-radius:50%; }
.ai-assistant-icon svg { width:32px; height:32px; }
.ai-assistant-card.call .ai-assistant-icon,.ai-assistant-card.call h3 { color:#ff83d3; }
.ai-assistant-card.web .ai-assistant-icon,.ai-assistant-card.web h3 { color:#63e8ff; }
.ai-assistant-card h3 { margin:48px 0 0; font-family:var(--serif); font-size:2.4rem; font-weight:400; line-height:1; }
.ai-assistant-card p { max-width:470px; margin:20px 0 0; color:#abb0bd; line-height:1.7; }
.ai-mini-list { display:grid; gap:10px; margin:26px 0 0; padding:0; list-style:none; color:#d2d5dc; font-size:.8rem; }
.ai-mini-list li { display:flex; gap:10px; align-items:flex-start; }
.ai-mini-list li::before { content:""; width:5px; height:5px; flex:0 0 5px; margin-top:.6em; border-radius:50%; background:currentColor; opacity:.65; }

.ai-capabilities { padding:116px 0; background:#f3f0e8; color:#07080d; }
.ai-capabilities .ai-kicker { color:#5c6370; }
.ai-capabilities .ai-section-intro p { color:#5c6068; }
.ai-feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid rgba(7,8,13,.17); border-left:1px solid rgba(7,8,13,.17); }
.ai-feature { min-height:300px; padding:30px; border-right:1px solid rgba(7,8,13,.17); border-bottom:1px solid rgba(7,8,13,.17); }
.ai-feature span { color:#777c86; font-family:var(--mono); font-size:.62rem; letter-spacing:.12em; }
.ai-feature svg { width:42px; height:42px; margin-top:42px; color:#3a5869; }
.ai-feature:nth-child(2) svg { color:#90466f; }
.ai-feature:nth-child(3) svg { color:#41796f; }
.ai-feature:nth-child(4) svg { color:#b36d2f; }
.ai-feature:nth-child(5) svg { color:#405c8f; }
.ai-feature:nth-child(6) svg { color:#7062a2; }
.ai-feature h3 { margin:22px 0 0; font-family:var(--serif); font-size:1.8rem; font-weight:400; line-height:1; }
.ai-feature p { margin:14px 0 0; color:#5d6067; line-height:1.62; }

.ai-connected { padding:126px 0; border-bottom:1px solid rgba(255,255,255,.1); background:radial-gradient(circle at 50% 45%,rgba(92,101,255,.09),transparent 34%),#080a10; }
.ai-connected-grid { display:grid; grid-template-columns:minmax(0,.76fr) minmax(520px,1.24fr); gap:80px; align-items:center; }
.ai-connected-copy h2 { margin:18px 0 0; font-family:var(--serif); font-size:3.1rem; font-size:clamp(3.1rem,5.3vw,5.9rem); font-weight:400; line-height:.93; letter-spacing:-.048em; }
.ai-connected-copy p { margin:26px 0 0; color:#aeb3bf; line-height:1.7; }
.ai-availability-note { margin-top:28px; padding:17px 18px; border-left:2px solid var(--cyan); background:rgba(53,217,255,.045); color:#8d95a5; font-size:.78rem; line-height:1.6; }
.ai-flow { display:grid; grid-template-columns:repeat(3,1fr); gap:0; position:relative; }
.ai-flow::before { content:""; position:absolute; left:12%; right:12%; top:50%; height:1px; background:linear-gradient(90deg,rgba(255,78,168,.28),rgba(255,255,255,.2),rgba(53,217,255,.3)); }
.ai-flow-node { position:relative; z-index:2; min-height:210px; padding:25px 20px; display:flex; flex-direction:column; justify-content:space-between; border:1px solid rgba(255,255,255,.14); background:rgba(9,12,20,.92); }
.ai-flow-node + .ai-flow-node { margin-left:18px; }
.ai-flow-node b { font-family:var(--mono); font-size:.6rem; color:#707887; }
.ai-flow-node strong { font-family:var(--serif); font-size:1.5rem; font-weight:400; }
.ai-flow-node small { color:#9096a4; line-height:1.55; }
.ai-flow-node:nth-child(1) strong { color:#ff85d2; }
.ai-flow-node:nth-child(3) strong { color:#6ceaff; }

.ai-boundaries { padding:126px 0; background:#0b0d14; }
.ai-boundary-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:80px; align-items:start; }
.ai-boundary-copy h2 { margin:18px 0 0; font-family:var(--serif); font-size:3.1rem; font-size:clamp(3.1rem,5vw,5.5rem); font-weight:400; line-height:.94; letter-spacing:-.045em; }
.ai-boundary-copy p { margin:24px 0 0; max-width:620px; color:#a9aeba; line-height:1.72; }
.ai-rules { display:grid; gap:14px; }
.ai-rule { padding:28px 30px; border:1px solid rgba(255,255,255,.14); background:rgba(255,255,255,.018); }
.ai-rule span { color:#717886; font-family:var(--mono); font-size:.61rem; letter-spacing:.12em; }
.ai-rule h3 { margin:10px 0 0; font-family:var(--serif); font-size:1.75rem; font-weight:400; }
.ai-rule p { margin:12px 0 0; color:#969ca9; line-height:1.65; }
.ai-rule.allowed { border-color:rgba(97,227,151,.22); }
.ai-rule.limited { border-color:rgba(255,141,84,.2); }
.ai-rule.human { border-color:rgba(53,217,255,.2); }

.ai-process { padding:126px 0; color:#07080d; background:#f3f0e8; }
.ai-process .ai-kicker { color:#676b73; }
.ai-process-head { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,.42fr); gap:60px; align-items:end; }
.ai-process-head h2 { margin:18px 0 0; max-width:850px; font-family:var(--serif); font-size:3rem; font-size:clamp(3rem,5vw,5.5rem); font-weight:400; line-height:.94; letter-spacing:-.045em; }
.ai-process-head p { color:#595d65; line-height:1.7; }
.ai-process-grid { display:grid; grid-template-columns:repeat(5,1fr); margin-top:70px; border-top:1px solid rgba(7,8,13,.18); border-left:1px solid rgba(7,8,13,.18); }
.ai-process-step { min-height:290px; padding:26px; border-right:1px solid rgba(7,8,13,.18); border-bottom:1px solid rgba(7,8,13,.18); }
.ai-process-step b { font-family:var(--mono); font-size:.64rem; color:#777c86; }
.ai-process-step h3 { margin:68px 0 0; font-family:var(--serif); font-size:1.55rem; font-weight:400; }
.ai-process-step p { margin:14px 0 0; color:#5d6067; font-size:.82rem; line-height:1.62; }

.ai-sectors { padding:116px 0; background:#080a10; }
.ai-sector-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:54px; }
.ai-sector { min-height:160px; padding:26px; display:flex; align-items:flex-end; border:1px solid rgba(255,255,255,.13); background:linear-gradient(140deg,rgba(255,255,255,.025),rgba(255,255,255,.008)); }
.ai-sector strong { font-family:var(--serif); font-size:1.55rem; font-weight:400; }
.ai-sector small { display:block; margin-top:8px; color:#888f9d; line-height:1.5; }

.ai-faq { padding:116px 0; background:#0b0e16; border-top:1px solid rgba(255,255,255,.08); }
.ai-faq-layout { display:grid; grid-template-columns:minmax(250px,.42fr) minmax(0,1fr); gap:80px; }
.ai-faq-layout h2 { margin:18px 0 0; font-family:var(--serif); font-size:3.2rem; font-weight:400; line-height:.95; }
.ai-faq-list { border-top:1px solid rgba(255,255,255,.15); }
.ai-faq details { border-bottom:1px solid rgba(255,255,255,.15); }
.ai-faq summary { position:relative; cursor:pointer; list-style:none; padding:24px 46px 24px 0; font-weight:700; }
.ai-faq summary::-webkit-details-marker { display:none; }
.ai-faq summary::after { content:"+"; position:absolute; right:5px; top:21px; color:var(--cyan); font-size:1.5rem; font-weight:300; }
.ai-faq details[open] summary::after { content:"–"; }
.ai-faq details p { max-width:780px; margin:-4px 0 24px; color:#979dab; line-height:1.7; }

.ai-cta { padding:100px 0; background:radial-gradient(circle at 75% 50%,rgba(255,78,168,.12),transparent 28%),radial-gradient(circle at 22% 50%,rgba(53,217,255,.1),transparent 27%),#07080d; border-top:1px solid rgba(255,255,255,.1); }
.ai-cta-shell { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:60px; }
.ai-cta h2 { margin:0; max-width:820px; font-family:var(--serif); font-size:3.1rem; font-size:clamp(3.1rem,5vw,5.5rem); font-weight:400; line-height:.93; letter-spacing:-.045em; }
.ai-cta p { margin:20px 0 0; color:#9ca2af; }
.ai-cta-actions { display:flex; flex-wrap:wrap; gap:12px; justify-content:flex-end; }

/* Homepage AI feature — high-impact bridge between positioning and selected work. */
.ai-home-feature {
  --ai-orange:#ff6a00;
  --ai-orange-hi:#ff9418;
  --ai-black:#07080d;
  position:relative;
  overflow:hidden;
  padding:102px 0 124px;
  color:var(--ai-black);
  background:
    radial-gradient(circle at 72% 28%, rgba(255,185,76,.78) 0, rgba(255,147,24,.38) 21%, transparent 47%),
    linear-gradient(115deg, #ff7a00 0%, var(--ai-orange) 42%, #ff5a00 100%);
  border-top:1px solid rgba(7,8,13,.72);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.13);
}
.ai-home-feature::before {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.17;
  background:
    radial-gradient(circle at 18% 20%, rgba(255,255,255,.48) 0 1px, transparent 1.5px) 0 0/28px 28px,
    radial-gradient(circle at 78% 76%, rgba(7,8,13,.34) 0 1px, transparent 1.4px) 0 0/34px 34px;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
  mask-image:linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
}
.ai-home-feature::after {
  content:"03";
  position:absolute;
  right:-.04em;
  top:-.25em;
  z-index:0;
  font-family:var(--sans);
  font-size:clamp(15rem,28vw,34rem);
  font-weight:900;
  line-height:1;
  letter-spacing:-.09em;
  color:transparent;
  -webkit-text-stroke:1px rgba(7,8,13,.07);
  pointer-events:none;
}
.ai-home-grid-lines {
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:.1;
  background-image:
    linear-gradient(rgba(7,8,13,.45) 1px, transparent 1px),
    linear-gradient(90deg, rgba(7,8,13,.45) 1px, transparent 1px);
  background-size:86px 86px;
  -webkit-mask-image:linear-gradient(90deg, rgba(0,0,0,.75), transparent 43%, transparent 65%, rgba(0,0,0,.45));
  mask-image:linear-gradient(90deg, rgba(0,0,0,.75), transparent 43%, transparent 65%, rgba(0,0,0,.45));
}
.ai-home-feature-shell {
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(520px,1.08fr);
  gap:clamp(36px,5vw,84px);
  align-items:center;
}
.ai-home-feature-copy { position:relative; z-index:4; }
.ai-home-label { color:rgba(7,8,13,.74); font-weight:800; }
.ai-home-label i { background:var(--ai-black); opacity:.58; }
.ai-home-feature h2 {
  max-width:720px;
  margin:30px 0 0;
  font-family:var(--sans);
  font-size:clamp(4.4rem,6.8vw,7.7rem);
  font-weight:800;
  line-height:.82;
  letter-spacing:-.068em;
  text-wrap:balance;
}
.ai-home-feature h2 em {
  position:relative;
  display:inline-block;
  color:inherit;
  font-style:normal;
  font-weight:800;
}
.ai-home-feature h2 em::after {
  content:"";
  position:absolute;
  left:-1%;
  right:-2%;
  bottom:-.08em;
  height:.11em;
  border:solid var(--ai-black);
  border-width:4px 0 0;
  border-radius:50%;
  transform:rotate(-2deg) skewX(-18deg);
  opacity:.94;
}
.ai-home-feature-lead {
  max-width:650px;
  margin:34px 0 0;
  color:rgba(7,8,13,.82);
  font-size:clamp(1rem,1.25vw,1.15rem);
  line-height:1.67;
}
.ai-home-benefits {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  max-width:700px;
  margin-top:38px;
  border-top:1px solid rgba(7,8,13,.25);
  border-bottom:1px solid rgba(7,8,13,.25);
}
.ai-home-benefit {
  display:grid;
  grid-template-columns:42px 1fr;
  gap:13px;
  min-width:0;
  padding:22px 18px 24px 0;
}
.ai-home-benefit + .ai-home-benefit {
  padding-left:18px;
  border-left:1px solid rgba(7,8,13,.2);
}
.ai-home-benefit-icon {
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border-radius:50%;
  color:var(--ai-orange-hi);
  background:var(--ai-black);
  box-shadow:0 7px 20px rgba(7,8,13,.16);
}
.ai-home-benefit-icon svg { width:19px; height:19px; stroke-width:1.7; }
.ai-home-benefit strong {
  display:block;
  font-size:.78rem;
  font-weight:850;
  line-height:1.22;
}
.ai-home-benefit small {
  display:block;
  margin-top:6px;
  color:rgba(7,8,13,.66);
  font-size:.68rem;
  line-height:1.48;
}
.ai-home-feature-actions {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:24px 32px;
  margin-top:34px;
}
.ai-home-feature-cta {
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:34px;
  min-height:62px;
  padding:0 25px;
  color:#fff8ed;
  background:var(--ai-black);
  border:1px solid var(--ai-black);
  box-shadow:0 10px 30px rgba(7,8,13,.18);
  font-size:.72rem;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
  transition:transform .28s var(--ease), background .28s ease, color .28s ease, box-shadow .28s ease;
}
.ai-home-feature-cta svg { width:21px; height:21px; transition:transform .28s var(--ease); }
.ai-home-feature-cta:hover { transform:translateY(-3px); color:var(--ai-black); background:#fff8ed; box-shadow:0 15px 38px rgba(7,8,13,.2); }
.ai-home-feature-cta:hover svg { transform:translateX(4px); }
.ai-home-feature-cta:focus-visible,.ai-home-feature-micro:focus-visible { outline-color:var(--ai-black); box-shadow:0 0 0 3px rgba(255,255,255,.42); }
.ai-home-feature-micro {
  display:inline-flex;
  align-items:center;
  gap:16px;
  padding-bottom:8px;
  border-bottom:1px solid rgba(7,8,13,.58);
  font-size:.64rem;
  font-weight:850;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.ai-home-feature-micro span { font-size:.9rem; transition:transform .25s var(--ease); }
.ai-home-feature-micro:hover span { transform:translate(3px,-3px); }

.ai-home-feature-visual {
  position:relative;
  z-index:2;
  min-height:610px;
  display:grid;
  place-items:center;
}
.ai-home-bot-wrap {
  position:relative;
  width:min(100%,720px);
  aspect-ratio:1.03;
  color:var(--ai-black);
  transform:translateX(2.5%);
}
.ai-home-bot-svg {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:visible;
  filter:drop-shadow(0 20px 22px rgba(7,8,13,.09));
  animation:aiHomeBotFloat 7s ease-in-out infinite;
}
.ai-home-bot-svg * { vector-effect:non-scaling-stroke; }
.ai-home-bot-orbits { opacity:.43; stroke-width:1.35; stroke-dasharray:2 7; }
.ai-home-bot-orbits circle { fill:var(--ai-black); stroke:none; }
.ai-home-bot { stroke-width:5.8; }
.ai-home-bot .bot-helmet,.ai-home-bot .bot-headband { stroke-width:4.2; }
.ai-home-bot .bot-visor { fill:var(--ai-black); stroke:var(--ai-black); stroke-width:4.5; }
.ai-home-bot .bot-visor-line { stroke:#ff7a00; stroke-width:2.2; opacity:.55; }
.ai-home-bot .bot-eye { fill:#ff8e17; stroke:#ff8e17; }
.ai-home-bot .bot-mouth { stroke:#ff8e17; stroke-width:5; }
.ai-home-bot .bot-ear-inner { stroke-width:4; }
.ai-home-bot .bot-mic-dot,.ai-home-bot .bot-antenna { fill:var(--ai-black); stroke:var(--ai-black); }
.ai-home-bot .bot-star path { fill:var(--ai-black); stroke:var(--ai-black); }
.ai-home-bot .bot-star circle { fill:#ff8e17; stroke:none; }
.ai-home-chip {
  position:absolute;
  z-index:5;
  display:flex;
  align-items:center;
  gap:11px;
  min-height:46px;
  padding:0 15px;
  border:1px solid var(--ai-black);
  border-radius:13px;
  color:#ff951c;
  background:var(--ai-black);
  box-shadow:0 12px 26px rgba(7,8,13,.14);
  font-family:var(--mono);
  font-size:.61rem;
  font-style:normal;
  letter-spacing:.08em;
  text-transform:uppercase;
  animation:aiHomeChipFloat 5.2s ease-in-out infinite;
}
.ai-home-chip b { font-weight:800; }
.ai-home-chip i {
  display:block;
  width:28px;
  height:9px;
  opacity:.9;
  background:repeating-linear-gradient(90deg,currentColor 0 2px,transparent 2px 5px);
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 22%,#000 78%,transparent 100%);
  mask-image:linear-gradient(180deg,transparent 0,#000 22%,#000 78%,transparent 100%);
}
.ai-home-chip::after {
  content:"";
  position:absolute;
  width:38px;
  height:1px;
  background:var(--ai-black);
  opacity:.65;
  transform-origin:left center;
}
.ai-home-chip--site { left:8%; top:20%; animation-delay:-.7s; }
.ai-home-chip--site::after { right:-34px; top:75%; transform:rotate(23deg); }
.ai-home-chip--voice { right:3%; top:22%; animation-delay:-2.1s; }
.ai-home-chip--voice::after { left:-33px; top:70%; transform:rotate(151deg); }
.ai-home-chip--answers { left:0; top:50%; animation-delay:-3.3s; }
.ai-home-chip--answers::after { right:-35px; top:50%; }
.ai-home-chip--booking { right:-1%; bottom:24%; animation-delay:-1.5s; }
.ai-home-chip--booking::after { left:-36px; top:50%; transform:rotate(183deg); }
.ai-home-chip--lead { right:8%; bottom:9%; animation-delay:-4.1s; }
.ai-home-chip--lead::after { left:-31px; top:5px; transform:rotate(211deg); }
.ai-home-spark {
  position:absolute;
  z-index:4;
  color:var(--ai-black);
  font-size:1.65rem;
  line-height:1;
  animation:aiHomeSpark 4.2s ease-in-out infinite;
}
.ai-home-spark--a { left:18%; top:10%; }
.ai-home-spark--b { right:12%; top:45%; animation-delay:-2.2s; font-size:1rem; }
.ai-home-edge--bottom {
  position:absolute;
  z-index:3;
  left:0;
  right:0;
  bottom:-1px;
  height:32px;
  background:#090b12;
  clip-path:polygon(0 65%,100% 0,100% 100%,0 100%);
  pointer-events:none;
}
@keyframes aiHomeBotFloat {
  0%,100% { transform:translate3d(0,0,0) rotate(-.25deg); }
  50% { transform:translate3d(0,-11px,0) rotate(.45deg); }
}
@keyframes aiHomeChipFloat {
  0%,100% { transform:translate3d(0,0,0); }
  50% { transform:translate3d(0,-7px,0); }
}
@keyframes aiHomeSpark {
  0%,100% { transform:scale(.75) rotate(0); opacity:.55; }
  50% { transform:scale(1.08) rotate(18deg); opacity:1; }
}

/* Capabilities page bridge */
.ai-capability-teaser { padding:94px 0; background:#0a0d14; border-bottom:1px solid rgba(255,255,255,.1); }
.ai-capability-teaser .shell { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:70px; align-items:center; }
.ai-capability-teaser h2 { margin:15px 0 0; font-family:var(--serif); font-size:2.8rem; font-size:clamp(2.8rem,4.8vw,5.1rem); font-weight:400; line-height:.94; letter-spacing:-.045em; }
.ai-capability-teaser p { margin:0; color:#aab0bc; line-height:1.7; }
.ai-capability-teaser .text-link { margin-top:24px; display:inline-flex; }

/* Project Gravity AI choice */
.choice-ai .choice-art { color:#72e8ff; }
.choice-ai .choice-art i:nth-child(1) { border-radius:50%; border-color:rgba(114,232,255,.7); box-shadow:0 0 18px rgba(53,217,255,.22); }
.choice-ai .choice-art i:nth-child(2) { transform:rotate(46deg) scale(.68); border-color:rgba(255,94,181,.6); }
.choice-ai .choice-art i:nth-child(3) { transform:rotate(-28deg) scale(.36); background:radial-gradient(circle,#fff 0 8%,#63e8ff 30%,#ff5eb5 68%,transparent 72%); border:0; }

@keyframes aiCoreBreath { 0%,100%{transform:scale(.95);opacity:.5} 50%{transform:scale(1.06);opacity:1} }
@keyframes aiFloatA { 0%,100%{transform:translate3d(0,0,0)} 50%{transform:translate3d(10px,-14px,0)} }
@keyframes aiFloatB { 0%,100%{transform:translate3d(0,0,0)} 50%{transform:translate3d(-12px,12px,0)} }
@keyframes aiSignalA { 0%{transform:translate3d(0,0,0);opacity:0} 15%{opacity:1} 50%{transform:translate3d(260px,120px,0)} 100%{transform:translate3d(420px,210px,0);opacity:0} }
@keyframes aiSignalB { 0%{transform:translate3d(0,0,0);opacity:0} 18%{opacity:1} 50%{transform:translate3d(-210px,110px,0)} 100%{transform:translate3d(-390px,170px,0);opacity:0} }
@keyframes aiSignalC { 0%{transform:translate3d(0,0,0);opacity:0} 18%{opacity:1} 60%{transform:translate3d(-180px,-120px,0)} 100%{transform:translate3d(-300px,-210px,0);opacity:0} }

@media (max-width:1100px) {
  .ai-hero-grid { grid-template-columns:minmax(0,.9fr) minmax(420px,1fr); gap:30px; }
  .ai-system { min-height:540px; }
  .ai-system-core { width:180px; height:180px; }
  .ai-orbit-node { width:156px; height:156px; }
  .ai-connected-grid { grid-template-columns:1fr; gap:55px; }
  .ai-process-grid { grid-template-columns:repeat(3,1fr); }
  .ai-process-step:nth-child(n+4) { min-height:240px; }
}
@media (min-width:901px) and (max-width:1220px) {
  .nav-shell { gap:20px; }
  .nav-links { gap:18px; }
  .nav-cta { padding-left:14px; padding-right:14px; }
}
@media (max-width:900px) {
  .ai-hero { min-height:auto; padding:128px 0 80px; }
  .ai-hero-grid,.ai-capability-teaser .shell,.ai-boundary-grid,.ai-process-head,.ai-faq-layout,.ai-cta-shell { grid-template-columns:1fr; }
  .ai-hero-grid { gap:34px; }
  .ai-hero-copy h1 { font-size:4rem; font-size:clamp(4rem,12vw,6.2rem); }
  .ai-system { min-height:520px; max-width:680px; width:100%; margin:0 auto; }
  .ai-dual,.ai-capabilities,.ai-connected,.ai-boundaries,.ai-process,.ai-sectors,.ai-faq { padding-top:88px; padding-bottom:88px; }
  .ai-dual-grid { grid-template-columns:1fr; }
  .ai-assistant-card { min-height:360px; }
  .ai-feature-grid { grid-template-columns:repeat(2,1fr); }
  .ai-boundary-grid,.ai-faq-layout { gap:48px; }
  .ai-process-grid { grid-template-columns:repeat(2,1fr); }
  .ai-sector-grid { grid-template-columns:repeat(2,1fr); }
  .ai-cta-shell { gap:36px; }
  .ai-cta-actions { justify-content:flex-start; }
  .ai-capability-teaser .shell { gap:30px; }
}
@media (max-width:640px) {
  .ai-hero { padding-top:112px; }
  .ai-hero-copy h1 { font-size:3.6rem; font-size:clamp(3.6rem,16vw,5rem); }
  .ai-hero-actions { display:grid; }
  .ai-system { min-height:440px; margin-top:10px; }
  .ai-system-core { width:138px; height:138px; font-size:3.8rem; }
  .ai-system-core::before { inset:-18px; }
  .ai-system-core::after { inset:-34px; }
  .ai-orbit-node { width:125px; height:125px; gap:5px; }
  .ai-orbit-node svg { width:30px; height:30px; }
  .ai-orbit-node strong { font-size:.58rem; }
  .ai-orbit-node small { display:none; }
  .ai-node-call { left:0; top:17%; }
  .ai-node-web { right:0; top:57%; }
  .ai-signal { display:none; }
  .ai-section-intro { text-align:left; }
  .ai-section-intro p { margin-left:0; }
  .ai-assistant-card { min-height:0; padding:28px; }
  .ai-assistant-card h3 { margin-top:38px; font-size:2.1rem; }
  .ai-feature-grid,.ai-process-grid,.ai-sector-grid { grid-template-columns:1fr; }
  .ai-feature { min-height:250px; }
  .ai-flow { grid-template-columns:1fr; gap:12px; }
  .ai-flow::before { left:28px; right:auto; top:12%; bottom:12%; width:1px; height:auto; background:linear-gradient(180deg,rgba(255,78,168,.3),rgba(255,255,255,.18),rgba(53,217,255,.3)); }
  .ai-flow-node + .ai-flow-node { margin-left:0; }
  .ai-flow-node { min-height:160px; padding-left:48px; }
  .ai-process-step { min-height:235px; }
  .ai-process-step h3 { margin-top:42px; }
  .ai-cta { padding:78px 0; }
}
@media (prefers-reduced-motion:reduce) {
  .ai-system-core::before,.ai-system-core::after,.ai-node-call,.ai-node-web,.ai-signal { animation:none!important; }
}
.ai-capability-teaser .text-link { color:#f6f4ee; border-color:rgba(255,255,255,.34); }

/* Responsive behaviour for the signature homepage AI section. */
@media (max-width:1180px) {
  .ai-home-feature-shell { grid-template-columns:minmax(0,.9fr) minmax(470px,1.1fr); gap:32px; }
  .ai-home-feature h2 { font-size:clamp(4rem,7vw,6.5rem); }
  .ai-home-benefit { grid-template-columns:36px 1fr; padding-right:12px; }
  .ai-home-benefit + .ai-home-benefit { padding-left:12px; }
  .ai-home-benefit-icon { width:34px; height:34px; }
  .ai-home-feature-visual { min-height:570px; }
}
@media (max-width:900px) {
  .ai-home-feature { padding:92px 0 104px; }
  .ai-home-feature-shell { grid-template-columns:1fr; gap:50px; }
  .ai-home-feature-copy { max-width:790px; }
  .ai-home-feature h2 { max-width:760px; font-size:clamp(4.5rem,12vw,7.2rem); }
  .ai-home-feature-lead { max-width:720px; }
  .ai-home-benefits { max-width:760px; }
  .ai-home-feature-visual { min-height:580px; }
  .ai-home-bot-wrap { width:min(100%,690px); transform:none; }
}
@media (max-width:640px) {
  .ai-home-feature { padding:78px 0 86px; }
  .ai-home-feature::after { top:.08em; font-size:16rem; }
  .ai-home-grid-lines { background-size:56px 56px; opacity:.08; }
  .ai-home-label { font-size:.61rem; gap:10px; }
  .ai-home-label i { width:26px; }
  .ai-home-feature h2 { margin-top:23px; font-size:clamp(3.65rem,17vw,5.25rem); line-height:.84; }
  .ai-home-feature h2 em::after { border-top-width:3px; }
  .ai-home-feature-lead { margin-top:27px; font-size:.96rem; line-height:1.62; }
  .ai-home-benefits { grid-template-columns:1fr; margin-top:30px; }
  .ai-home-benefit,.ai-home-benefit + .ai-home-benefit { grid-template-columns:40px 1fr; padding:17px 0; border-left:0; border-bottom:1px solid rgba(7,8,13,.17); }
  .ai-home-benefit:last-child { border-bottom:0; }
  .ai-home-benefit-icon { width:36px; height:36px; }
  .ai-home-benefit strong { font-size:.77rem; }
  .ai-home-benefit small { font-size:.68rem; }
  .ai-home-feature-actions { display:grid; gap:18px; margin-top:28px; }
  .ai-home-feature-cta { width:100%; min-height:60px; }
  .ai-home-feature-micro { justify-content:space-between; width:100%; }
  .ai-home-feature-visual { min-height:440px; margin-top:0; }
  .ai-home-bot-wrap { width:112%; margin-left:-6%; }
  .ai-home-bot { stroke-width:4.7; }
  .ai-home-bot .bot-helmet,.ai-home-bot .bot-headband { stroke-width:3.4; }
  .ai-home-chip { min-height:38px; padding:0 10px; border-radius:10px; gap:7px; font-size:.5rem; }
  .ai-home-chip i { width:20px; height:7px; }
  .ai-home-chip::after { width:24px; }
  .ai-home-chip--site { left:6%; top:19%; }
  .ai-home-chip--voice { right:2%; top:23%; }
  .ai-home-chip--answers { left:0; top:51%; }
  .ai-home-chip--booking { right:0; bottom:21%; }
  .ai-home-chip--lead { right:8%; bottom:7%; }
  .ai-home-spark--a { left:19%; top:7%; }
  .ai-home-edge--bottom { height:22px; }
}
@media (max-width:410px) {
  .ai-home-feature h2 { font-size:3.45rem; }
  .ai-home-feature-visual { min-height:400px; }
  .ai-home-chip--booking { bottom:19%; }
  .ai-home-chip--lead { display:none; }
}
@media (prefers-reduced-motion:reduce) {
  .ai-home-bot-svg,.ai-home-chip,.ai-home-spark { animation:none!important; }
}
.ai-home-bot .bot-visor-shine { stroke-width:3.2; opacity:.86; }
.ai-home-bot .bot-cheek-seam { stroke-width:2.4; opacity:.55; }
.ai-home-bot .bot-neck-ring { stroke-width:2.6; opacity:.78; }
.ai-home-bot .bot-panel { stroke-width:2.4; opacity:.62; }
@media (max-width:640px) {
  .ai-home-bot-wrap { width:108%; margin-left:-4%; }
  .ai-home-chip--answers { left:6%; }
}
@media (max-width:410px) {
  .ai-home-feature-cta { padding-inline:18px; gap:16px; font-size:.63rem; letter-spacing:.055em; white-space:nowrap; }
}
