/* ThatWorx AEO capability styling */
.twx-aeo-home,
.twx-aeo-page {
  --aeo-ink: #0d1117;
  --aeo-muted: #66707c;
  --aeo-line: rgba(13,17,23,.11);
  --aeo-soft: #f4f7fb;
  --aeo-blue: #0b6bff;
  --aeo-blue-soft: #eaf2ff;
}

.twx-aeo-page { background: #fff; color: var(--aeo-ink); }
.twx-aeo-wrap,
.twx-aeo-page-wrap { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }
.twx-aeo-kicker { margin: 0 0 1rem; color: var(--aeo-blue); font-size: .76rem; font-weight: 900; letter-spacing: .17em; text-transform: uppercase; }
.twx-aeo-page h1,
.twx-aeo-page h2,
.twx-aeo-page h3,
.twx-aeo-home h2,
.twx-aeo-home h3 { margin-top: 0; line-height: 1.02; letter-spacing: -.045em; }

.twx-aeo-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(5.5rem, 9vw, 8.5rem) 0 clamp(4.75rem, 8vw, 7rem);
  background:
    radial-gradient(circle at 83% 18%, rgba(11,107,255,.18), transparent 27%),
    radial-gradient(circle at 72% 72%, rgba(11,107,255,.08), transparent 30%),
    linear-gradient(145deg,#f8fafc 0%,#fff 58%,#eef5ff 100%);
  border-bottom: 1px solid var(--aeo-line);
}
.twx-aeo-hero::before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.45; background-image:linear-gradient(rgba(11,107,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(11,107,255,.045) 1px,transparent 1px); background-size:44px 44px; mask-image:linear-gradient(to bottom,black,transparent 88%); }
.twx-aeo-hero-grid { position: relative; z-index: 1; display:grid; grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr); gap:clamp(3rem,7vw,7rem); align-items:center; }
.twx-aeo-hero h1 { max-width: 11.5ch; margin-bottom: 1.5rem; font-size: clamp(3.15rem,6.3vw,6.15rem); }
.twx-aeo-hero-lede { max-width: 760px; margin-bottom: 0; color: var(--aeo-muted); font-size: clamp(1.08rem,1.5vw,1.24rem); line-height: 1.72; }
.twx-aeo-actions { display:flex; gap:.85rem; flex-wrap:wrap; margin-top:2rem; }
.twx-aeo-actions--center { justify-content:center; }
.twx-aeo-page .btn { display:inline-flex; align-items:center; justify-content:center; min-height:54px; padding:.9rem 1.35rem; border-radius:999px; font-weight:850; text-decoration:none; transition:transform .18s ease,box-shadow .18s ease,background .18s ease; }
.twx-aeo-page .btn:hover { transform:translateY(-2px); }
.twx-aeo-page .btn-primary { background:var(--aeo-blue); color:#fff; box-shadow:0 15px 36px rgba(11,107,255,.24); }
.twx-aeo-page .btn-ghost { border:1px solid rgba(13,17,23,.16); background:rgba(255,255,255,.72); color:var(--aeo-ink); }
.twx-aeo-proof-row { display:flex; flex-wrap:wrap; gap:.55rem; margin-top:2rem; }
.twx-aeo-proof-row span { padding:.5rem .75rem; border:1px solid var(--aeo-line); border-radius:999px; background:rgba(255,255,255,.75); color:#48515c; font-size:.78rem; font-weight:800; }

.twx-aeo-signal-card { position:relative; padding:1.35rem; border:1px solid rgba(11,107,255,.15); border-radius:28px; background:rgba(8,13,20,.97); box-shadow:0 32px 80px rgba(13,17,23,.22); color:#fff; }
.twx-aeo-card-label { margin:.25rem .25rem 1rem; color:#8aaeff; font-size:.72rem; font-weight:900; letter-spacing:.16em; }
.twx-aeo-signal { display:grid; grid-template-columns:38px 1fr; gap:.2rem .85rem; padding:1rem; border-top:1px solid rgba(255,255,255,.09); }
.twx-aeo-signal span { grid-row:1 / span 2; align-self:center; color:#77a4ff; font-size:.72rem; font-weight:900; }
.twx-aeo-signal strong { font-size:1rem; }
.twx-aeo-signal small { color:rgba(255,255,255,.58); line-height:1.45; }
.twx-aeo-signal--accent { margin-top:.5rem; border:1px solid rgba(74,143,255,.38); border-radius:16px; background:linear-gradient(135deg,rgba(11,107,255,.24),rgba(11,107,255,.06)); }

.twx-aeo-content,
.twx-aeo-workflow,
.twx-aeo-split,
.twx-aeo-faq,
.twx-aeo-cta { padding:clamp(4.5rem,8vw,7.5rem) 0; }
.twx-aeo-heading-block { max-width:860px; margin-bottom:3rem; }
.twx-aeo-heading-block h2,
.twx-aeo-split h2,
.twx-aeo-faq h2,
.twx-aeo-cta h2 { margin-bottom:1.2rem; font-size:clamp(2.45rem,4.5vw,4.3rem); }
.twx-aeo-heading-block>p,
.twx-aeo-split p,
.twx-aeo-cta>div>p { color:var(--aeo-muted); font-size:clamp(1.05rem,1.5vw,1.2rem); line-height:1.72; }

.twx-aeo-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.twx-aeo-grid article { position:relative; overflow:hidden; min-height:250px; padding:2rem; border:1px solid var(--aeo-line); border-radius:22px; background:linear-gradient(180deg,#fff,#fbfcfe); box-shadow:0 18px 46px rgba(13,17,23,.055); }
.twx-aeo-grid article::after { content:""; position:absolute; right:-36px; bottom:-48px; width:120px; height:120px; border-radius:50%; background:rgba(11,107,255,.055); }
.twx-aeo-grid article>span { display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; margin-bottom:2rem; border-radius:50%; background:var(--aeo-blue-soft); color:var(--aeo-blue); font-size:.75rem; font-weight:900; }
.twx-aeo-grid h3 { margin-bottom:.75rem; font-size:1.36rem; }
.twx-aeo-grid p { margin:0; color:var(--aeo-muted); line-height:1.65; }

.twx-aeo-workflow { background:var(--aeo-soft); border-block:1px solid var(--aeo-line); }
.twx-aeo-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.twx-aeo-steps article { padding:1.75rem; border-radius:20px; background:#fff; box-shadow:0 14px 38px rgba(13,17,23,.055); }
.twx-aeo-steps article>span { color:var(--aeo-blue); font-size:.75rem; font-weight:900; letter-spacing:.12em; }
.twx-aeo-steps h3 { margin:1.35rem 0 .7rem; font-size:1.2rem; }
.twx-aeo-steps p { margin:0; color:var(--aeo-muted); line-height:1.6; }

.twx-aeo-split { background:linear-gradient(135deg,#080d14,#101a29); color:#fff; }
.twx-aeo-split-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2.5rem,6vw,6rem); align-items:start; }
.twx-aeo-split p { color:rgba(255,255,255,.68); }
.twx-aeo-compare { display:grid; gap:1rem; }
.twx-aeo-compare>div { display:grid; gap:.45rem; padding:1.4rem 1.5rem; border:1px solid rgba(255,255,255,.13); border-radius:18px; background:rgba(255,255,255,.025); }
.twx-aeo-compare strong { font-size:1.08rem; }
.twx-aeo-compare span { color:rgba(255,255,255,.66); line-height:1.55; }
.twx-aeo-compare-highlight { border-color:rgba(78,143,255,.48)!important; background:linear-gradient(135deg,rgba(11,107,255,.22),rgba(11,107,255,.04))!important; }

.twx-aeo-faq { background:#fff; }
.twx-aeo-faq-list { display:grid; gap:.8rem; margin-top:2rem; }
.twx-aeo-faq details { padding:1.25rem 1.4rem; border:1px solid var(--aeo-line); border-radius:16px; background:#fff; }
.twx-aeo-faq summary { cursor:pointer; font-size:1.04rem; font-weight:850; }
.twx-aeo-faq details p { margin:1rem 0 0; color:var(--aeo-muted); line-height:1.7; }

.twx-aeo-cta { position:relative; overflow:hidden; text-align:center; background:linear-gradient(145deg,#edf4ff,#f8fbff 55%,#fff); border-top:1px solid rgba(11,107,255,.12); }
.twx-aeo-cta::after { content:""; position:absolute; width:420px; height:420px; right:-180px; top:-200px; border-radius:50%; background:rgba(11,107,255,.08); }
.twx-aeo-cta .twx-aeo-page-wrap { position:relative; z-index:1; max-width:850px; }

/* Homepage AEO teaser */
.twx-aeo-home { padding:clamp(4.5rem,8vw,7rem) 0; background:linear-gradient(180deg,#f8fafc,#fff); border-block:1px solid var(--aeo-line); }
.twx-aeo-home .twx-aeo-wrap { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr); gap:clamp(2rem,5vw,5rem); align-items:center; }
.twx-aeo-home h2 { max-width:12ch; margin-bottom:1.4rem; font-size:clamp(2.5rem,5vw,4.75rem); }
.twx-aeo-lede { color:var(--aeo-muted); font-size:clamp(1.05rem,1.6vw,1.22rem); line-height:1.7; }
.twx-aeo-checks { list-style:none; display:grid; gap:.85rem; padding:0; margin:2rem 0; }
.twx-aeo-checks li { position:relative; padding-left:1.7rem; }
.twx-aeo-checks li::before { content:"✓"; position:absolute; left:0; color:var(--aeo-blue); font-weight:900; }
.twx-aeo-card { padding:clamp(1.75rem,4vw,3rem); border-radius:26px; background:#0d1117; color:#fff; box-shadow:0 24px 60px rgba(13,17,23,.18); }
.twx-aeo-badge { display:inline-block; padding:.45rem .7rem; border:1px solid rgba(255,255,255,.25); border-radius:999px; font-size:.72rem; font-weight:800; letter-spacing:.1em; }
.twx-aeo-card h3 { margin:1.2rem 0 1rem; font-size:clamp(1.7rem,3vw,2.5rem); }
.twx-aeo-card p { color:rgba(255,255,255,.7); line-height:1.7; }
.twx-aeo-card a { color:#fff; font-weight:800; }

@media (max-width: 920px) {
  .twx-aeo-hero-grid,
  .twx-aeo-split-grid,
  .twx-aeo-home .twx-aeo-wrap { grid-template-columns:1fr; }
  .twx-aeo-grid { grid-template-columns:repeat(2,1fr); }
  .twx-aeo-steps { grid-template-columns:repeat(2,1fr); }
  .twx-aeo-signal-card { max-width:620px; }
}

@media (max-width: 640px) {
  .twx-aeo-wrap,
  .twx-aeo-page-wrap { width:min(100% - 32px,1180px); }
  .twx-aeo-hero { padding-top:4.5rem; }
  .twx-aeo-hero h1 { font-size:clamp(2.65rem,13vw,4.25rem); }
  .twx-aeo-grid,
  .twx-aeo-steps { grid-template-columns:1fr; }
  .twx-aeo-actions { flex-direction:column; }
  .twx-aeo-actions .btn { width:100%; }
  .twx-aeo-proof-row { gap:.45rem; }
  .twx-aeo-grid article { min-height:auto; }
  .twx-aeo-signal-card { border-radius:22px; }
}
