/* ================================================================
   AI ESSAY WRITER (v2) — scoped under .aewv2
   Light theme, brand green. All rules namespaced; keyframes prefixed
   with aew-; :root tokens folded onto the wrapper.
   ================================================================ */

/* ── RESET (scoped) ── */
.aewv2, .aewv2 *, .aewv2 *::before, .aewv2 *::after { box-sizing: border-box; margin: 0; padding: 0; }

/* ── WRAPPER = tokens + base ── */
.aewv2 {
  --brand:     #05ADA3;
  --brand-h:   #049990;
  --brand-dim: #027972;
  --brand-bg:  #f0fafa;
  --brand-bd:  #b2e6e3;

  --teal:#05ADA3; --teal-d:#049990; --teal-pale:#f0fdf9;
  --teal-ring:rgba(5,173,163,0.15);

  --gray-50:#F9FAFB; --gray-100:#F3F4F6; --gray-200:#E5E7EB; --gray-300:#D1D5DB;
  --gray-400:#9CA3AF; --gray-500:#6B7280; --gray-600:#4B5563; --gray-700:#374151;
  --gray-800:#1F2937; --gray-900:#111827;
  --g100:#F3F4F6; --g200:#E5E7EB; --g300:#D1D5DB; --g400:#9CA3AF;
  --g500:#6B7280; --g600:#4B5563; --g700:#374151; --g900:#111827;

  --shadow-sm:0 1px 2px rgba(0,0,0,.05);
  --shadow-md:0 4px 6px -1px rgba(0,0,0,.07),0 2px 4px -2px rgba(0,0,0,.05);
  --shadow-lg:0 10px 15px -3px rgba(0,0,0,.08),0 4px 6px -4px rgba(0,0,0,.05);
  --shadow-xl:0 20px 25px -5px rgba(0,0,0,.09),0 8px 10px -6px rgba(0,0,0,.05);

  --radius-sm:6px; --radius:10px; --radius-lg:14px; --radius-xl:18px;

  font-family:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  color:#111827;
  background-color:#f8fafc;
  background-image:
    radial-gradient(ellipse 80% 40% at 50% 0%, rgba(5,173,163,0.07) 0%, transparent 65%),
    linear-gradient(to bottom, #ffffff 0%, #f5fdfc 100%);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
.aewv2 a { text-decoration:none; color:inherit; }
.aewv2 button,.aewv2 input,.aewv2 select,.aewv2 textarea { font-family:inherit; }
.aewv2 button { cursor:pointer; border:none; background:none; padding:0; }

/* ── SECTION BACKGROUNDS ── */
.aewv2 .sec-white { background:#ffffff; }
.aewv2 .sec-grey  { background:#F5F7F7; }

/* ── NAVBAR ── */
.aewv2 .aew-nav {
  position:sticky; top:0; z-index:100; height:62px;
  background:rgba(255,255,255,.95);
  backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid var(--gray-200);
}
.aewv2 .nav-inner { max-width:1200px; margin:0 auto; padding:0 28px; height:100%; display:flex; align-items:center; gap:4px; }
.aewv2 .logo { display:flex; align-items:center; gap:9px; margin-right:auto; flex-shrink:0; }
.aewv2 .logo-mark { width:33px; height:33px; background:var(--brand); border-radius:9px; display:grid; place-items:center; }
.aewv2 .logo-mark svg { width:17px; height:17px; }
.aewv2 .logo-name { font-size:15px; font-weight:700; letter-spacing:-.022em; color:var(--gray-900); }
.aewv2 .logo-name span { color:var(--brand); }
.aewv2 .nav-link { font-size:14px; font-weight:500; color:var(--gray-500); padding:7px 13px; border-radius:var(--radius-sm); transition:color .13s,background .13s; white-space:nowrap; }
.aewv2 .nav-link:hover { color:var(--gray-900); background:var(--gray-100); }
.aewv2 .nav-sep { width:1px; height:16px; background:var(--gray-200); margin:0 6px; }
.aewv2 .btn-login { font-size:14px; font-weight:500; color:var(--gray-600); padding:7px 14px; border:1px solid var(--gray-200); border-radius:var(--radius-sm); background:#fff; transition:border-color .13s,background .13s; }
.aewv2 .btn-login:hover { border-color:var(--gray-300); background:var(--gray-50); }
.aewv2 .btn-hire { font-size:14px; font-weight:600; color:#fff; padding:8px 18px; border-radius:var(--radius-sm); background:var(--brand); box-shadow:0 1px 3px rgba(5,173,163,.35); transition:background .13s,box-shadow .13s; }
.aewv2 .btn-hire:hover { background:var(--brand-h); box-shadow:0 2px 8px rgba(5,173,163,.4); }

/* ── HERO ── */
.aewv2 .hero { max-width:1120px; margin:0 auto; padding:64px 24px 80px; text-align:center; }
.aewv2 .eyebrow { display:inline-flex; align-items:center; gap:7px; background:var(--brand-bg); border:1px solid var(--brand-bd); border-radius:100px; padding:5px 14px; margin-bottom:24px; }
.aewv2 .eyebrow-dot { width:7px; height:7px; background:var(--brand); border-radius:50%; flex-shrink:0; }
.aewv2 .eyebrow-text { font-size:13px; font-weight:600; color:var(--brand-dim); letter-spacing:.01em; }
.aewv2 .h1 { font-size:clamp(32px,3.8vw,52px); font-weight:800; line-height:1.1; letter-spacing:-.03em; color:var(--gray-900); margin-bottom:18px; max-width:840px; margin-left:auto; margin-right:auto; }
.aewv2 .h1 span { font-weight: 800; }
.aewv2 .h1-teal { color:var(--brand); }
.aewv2 .sub { font-size:18px; font-weight:400; line-height:1.65; color:var(--gray-500); max-width:520px; margin:0 auto 22px; }
.aewv2 .last-updated { display:inline-flex; align-items:center; gap:7px; margin:0 0 40px; padding:5px 14px; font-size:12.5px; font-weight:600; color:#64748b; background:#fff; border:1px solid #E5E7EB; border-radius:100px; box-shadow:0 1px 2px rgba(0,0,0,.05); }
.aewv2 .last-updated svg { width:13px; height:13px; color:#05ADA3; flex-shrink:0; }

/* ── TOOL LAYOUT: input (left) + output (right) ──
   Input is FULL WIDTH by default (output collapsed to 0). On Generate, .has-output
   animates the grid to ~30% input / ~70% output while the output panel fades in. */
.aewv2 .tool-layout { display:grid; grid-template-columns:1fr; gap:20px; align-items:start; text-align:left; margin:12px auto 0; max-width:640px; transition:opacity .2s ease, transform .22s ease; }
.aewv2 .tool-layout > .card { align-self:start; min-width:0; }
/* Crossfade between phases: JS fades out, swaps the layout while invisible, fades in. */
.aewv2 .tool-layout.phase-out { opacity:0; transform:translateY(8px); }
@media(prefers-reduced-motion:reduce){ .aewv2 .tool-layout { transition:none; } }
/* Phase 1 - input only: output hidden. */
.aewv2 .tool-layout:not(.loading):not(.has-output) .output-panel { display:none; }
/* Phase 2 - loading only: hide the input, center the loading panel. */
.aewv2 .tool-layout.loading { max-width:720px; }
.aewv2 .tool-layout.loading > .card { display:none; }
/* Phase 3 - input + output (split). */
@media(min-width:921px){
  .aewv2 .tool-layout.has-output { grid-template-columns:30fr 70fr; max-width:1120px; align-items:stretch; }
  /* input column is narrow now - stack its internal controls */
  .aewv2 .tool-layout.has-output .controls { grid-template-columns:1fr; }
  .aewv2 .tool-layout.has-output .cite-zone { flex-direction:column; align-items:flex-start; gap:10px; }
  .aewv2 .tool-layout.has-output .cite-pills { width:100%; flex-wrap:wrap; }
  .aewv2 .tool-layout.has-output .action-row { flex-direction:column; align-items:stretch; gap:14px; }
  /* Narrow input column: wrap the refined-topic onto its own full-width line so it stays readable. */
  .aewv2 .tool-layout.has-output .topic-suggest { flex-wrap:wrap; padding:10px; }
  .aewv2 .tool-layout.has-output .topic-suggest-icon { order:0; }
  .aewv2 .tool-layout.has-output .topic-suggest-label { order:1; margin-right:auto; }
  .aewv2 .tool-layout.has-output .topic-suggest-ic { order:2; }
  .aewv2 .tool-layout.has-output .topic-suggest-text { order:3; flex-basis:100%; width:100%; white-space:normal; overflow:visible; text-overflow:clip; overflow-wrap:break-word; line-height:1.45; }
  /* Both panes share the same fixed height; each scrolls its own content. */
  .aewv2 .tool-layout.has-output > .card,
  .aewv2 .tool-layout.has-output > .output-panel { height:clamp(560px, 72vh, 780px); }
  .aewv2 .tool-layout.has-output > .card { overflow-y:auto; }
  /* Pin the action row (Create outline + Generate) to the bottom; the rest scrolls. */
  .aewv2 .tool-layout.has-output .action-row { position:sticky; bottom:0; z-index:2; background:#fff; border-top:1px solid var(--gray-100); box-shadow:0 -6px 14px rgba(0,0,0,.05); }
  .aewv2 .tool-layout.has-output > .output-panel { display:flex; flex-direction:column; overflow:hidden; }
  .aewv2 .tool-layout.has-output .output-result { flex:1; min-height:0; display:flex; flex-direction:column; }
  .aewv2 .tool-layout.has-output .output-fade { flex:1; min-height:0; overflow-y:auto; }
  /* .output-fade is the scroll region here - drop the essay's own inner scroll so there's only one scrollbar */
  .aewv2 .tool-layout.has-output .output-essay { max-height:none; overflow:visible; }
  .aewv2 .tool-layout.has-output > .card,
  .aewv2 .tool-layout.has-output .output-fade { scrollbar-width:thin; scrollbar-color:#24c7bd transparent; }
  .aewv2 .tool-layout.has-output > .card::-webkit-scrollbar,
  .aewv2 .tool-layout.has-output .output-fade::-webkit-scrollbar { width:8px; }
  .aewv2 .tool-layout.has-output > .card::-webkit-scrollbar-thumb,
  .aewv2 .tool-layout.has-output .output-fade::-webkit-scrollbar-thumb { background:#24c7bd; border-radius:4px; }
}
@media(max-width:920px){
  .aewv2 .tool-layout.has-output { grid-template-columns:1fr; gap:16px; }
}

/* ── TOOL CARD ── */
.aewv2 .card { background:#fff; border:1px solid var(--gray-200); border-radius:var(--radius-xl); box-shadow:var(--shadow-xl); overflow:hidden; text-align:left; }
.aewv2 .card-topbar { padding:20px 24px 0; display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; }
.aewv2 .card-topbar-title { font-size:13px; font-weight:600; color:var(--gray-400); letter-spacing:.04em; text-transform:uppercase; }
.aewv2 .card-topbar-badge { font-size:12px; font-weight:700; color:var(--brand-dim); background:var(--brand-bg); border:1px solid var(--brand-bd); border-radius:100px; padding:3px 10px; letter-spacing:.03em; }
.aewv2 .textarea-zone { padding:0 24px 20px; border-bottom:1px solid var(--gray-100); }
.aewv2 .textarea-wrap { position:relative; }
.aewv2 .topic-input { width:100%; font-size:14.5px; font-weight:400; color:var(--gray-900); line-height:1.55; background:var(--gray-50); border:1.5px solid var(--gray-200); border-radius:var(--radius-lg); padding: 10px 16px; resize:none; outline:none; min-height:92px; max-height:180px; overflow-y:auto; transition:border-color .15s,box-shadow .15s,background .15s; }
.aewv2 .topic-input::placeholder { color:var(--gray-400); }
.aewv2 .topic-input:focus { background:#fff; border-color:var(--brand); box-shadow:0 0 0 4px rgba(5,173,163,.1); }
.aewv2 .char-counter { position:absolute; bottom:10px; right:12px; font-size:12px; font-weight:500; color:var(--gray-400); pointer-events:none; font-variant-numeric:tabular-nums; }
/* ---- Topic toolbar ---- */
.aewv2 .topic-tools { display:flex; align-items:center; flex-wrap:wrap; gap:4px 10px; margin-top:12px; }
.aewv2 .topic-tool-wrap { position:relative; }
.aewv2 .topic-tool { display:inline-flex; align-items:center; gap:6px; padding:6px 4px; font-size:13px; font-weight:600; color:var(--gray-500); background:none; border:none; cursor:pointer; font-family:inherit; border-radius:6px; transition:color .13s; }
.aewv2 .topic-tool svg { width:15px; height:15px; flex-shrink:0; color:var(--gray-400); transition:color .13s,transform .2s; }
.aewv2 .topic-tool:hover { color:#05ADA3; }
.aewv2 .topic-tool:hover svg { color:#05ADA3; }
.aewv2 .topic-tool.active { color:#05ADA3; }
.aewv2 .topic-tool.active svg { color:#05ADA3; }
.aewv2 #instr-btn.active svg.chev { transform:rotate(180deg); }
/* recent topics dropdown */
.aewv2 .topic-recent { position:absolute; top:calc(100% + 6px); left:0; z-index:20; min-width:230px; max-width:320px; background:#fff; border:1px solid var(--gray-200); border-radius:12px; box-shadow:0 16px 40px -12px rgba(15,23,42,.28); padding:6px; }
.aewv2 .topic-recent-item { display:block; width:100%; text-align:left; font-size:13px; font-weight:500; color:#374151; background:none; border:none; cursor:pointer; font-family:inherit; padding:9px 10px; border-radius:8px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; transition:background .12s,color .12s; }
.aewv2 .topic-recent-item:hover { background:#f0fdf9; color:#05ADA3; }
.aewv2 .topic-recent-clear { display:block; width:100%; text-align:left; font-size:12px; font-weight:600; color:#9CA3AF; background:none; border:none; border-top:1px solid var(--gray-100); margin-top:4px; padding:8px 10px 4px; cursor:pointer; font-family:inherit; }
.aewv2 .topic-recent-clear:hover { color:#e11d48; }
/* sharper version suggestion */
/* Default (wide input): single inline row, topic truncates if long. */
.aewv2 .topic-suggest { display:flex; align-items:center; gap:8px; margin-top:12px; padding:8px 8px 8px 10px; background:#f0fdf9; border:1px solid rgba(5,173,163,.22); border-radius:10px; }
.aewv2 .topic-suggest[hidden] { display:none; }
.aewv2 .topic-suggest-icon { flex-shrink:0; width:22px; height:22px; border-radius:6px; background:linear-gradient(150deg,#0abcb1,#05ADA3); display:grid; place-items:center; }
.aewv2 .topic-suggest-icon svg { width:13px; height:13px; }
.aewv2 .topic-suggest-label { flex-shrink:0; font-size:12.5px; font-weight:700; color:#05ADA3; }
.aewv2 .topic-suggest-text { flex:1; min-width:0; text-align:left; font-size:13.5px; font-weight:700; color:#0F2B26; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; background:none; border:none; padding:0; font-family:inherit; cursor:pointer; transition:color .13s; }
.aewv2 .topic-suggest-text:hover { color:#05ADA3; }
.aewv2 .topic-suggest-ic { flex-shrink:0; width:26px; height:26px; display:grid; place-items:center; color:#64748b; background:#fff; border:1px solid var(--gray-200); border-radius:7px; cursor:pointer; transition:color .13s,border-color .13s; }
.aewv2 .topic-suggest-ic svg { width:13px; height:13px; }
.aewv2 .topic-suggest-ic:hover { color:#05ADA3; border-color:rgba(5,173,163,.4); }
/* loading state: spinner + "Sharpening your topic..." only */
.aewv2 .topic-suggest.loading .topic-suggest-icon { background:transparent; border:2px solid rgba(5,173,163,.25); border-top-color:#05ADA3; border-radius:50%; animation:aew-spin .7s linear infinite; }
.aewv2 .topic-suggest.loading .topic-suggest-icon svg { display:none; }
.aewv2 .topic-suggest.loading .topic-suggest-label,
.aewv2 .topic-suggest.loading .topic-suggest-ic { display:none; }
.aewv2 .topic-suggest.loading .topic-suggest-text { flex-basis:auto; width:auto; flex:1; color:#94a3b8; font-weight:500; font-style:italic; cursor:default; }
.aewv2 .topic-suggest.loading .topic-suggest-text:hover { color:#94a3b8; }
/* rubric / instructions panels */
.aewv2 .topic-panel { margin-top:10px; }
.aewv2 .rubric-file-chip { display:inline-flex; align-items:center; gap:6px; margin-top:10px; font-size:12.5px; font-weight:600; color:#0F2B26; background:#f0fdf9; border:1px solid rgba(5,173,163,.25); border-radius:8px; padding:6px 6px 6px 10px; max-width:100%; }
.aewv2 .rubric-file-chip[hidden] { display:none; }
.aewv2 .rubric-file-chip > svg { width:14px; height:14px; color:#05ADA3; flex-shrink:0; }
.aewv2 .rubric-file-chip span { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.aewv2 .rubric-file-remove { display:grid; place-items:center; width:20px; height:20px; flex-shrink:0; color:#94a3b8; background:none; border:none; border-radius:5px; cursor:pointer; transition:color .12s,background .12s; }
.aewv2 .rubric-file-remove:hover { color:#e11d48; background:#fef2f3; }
.aewv2 .rubric-file-remove svg { width:11px; height:11px; }
.aewv2 .topic-panel-input { width:100%; font-family:inherit; font-size:13.5px; color:var(--gray-900); line-height:1.55; background:var(--gray-50); border:1.5px solid var(--gray-200); border-radius:12px; padding:11px 14px; resize:vertical; outline:none; min-height:70px; transition:border-color .15s,box-shadow .15s,background .15s; }
.aewv2 .topic-panel-input::placeholder { color:var(--gray-400); }
.aewv2 .topic-panel-input:focus { background:#fff; border-color:#05ADA3; box-shadow:0 0 0 3px rgba(5,173,163,.12); }
.aewv2 .controls { padding:20px 24px; display:grid; grid-template-columns:1fr 1.6fr 1fr; gap:16px; border-bottom:1px solid var(--gray-100); }
.aewv2 .ctrl { display:flex; flex-direction:column; gap:6px; }
.aewv2 .ctrl-label { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.07em; color:var(--gray-400); }
.aewv2 .ctrl-select { -webkit-appearance:none; appearance:none; font-size:13.5px; font-weight:500; color:var(--gray-800);
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 4.5L6 8l3.5-3.5' stroke='%239CA3AF' stroke-width='1.4' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 11px center;
  border:1.5px solid var(--gray-200); border-radius:var(--radius); padding:10px 32px 10px 12px; outline:none; cursor:pointer; transition:border-color .14s,box-shadow .14s; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.aewv2 .ctrl-select:hover { border-color:var(--gray-300); }
.aewv2 .ctrl-select:focus { border-color:var(--brand); box-shadow:0 0 0 3px rgba(5,173,163,.1); }

/* Custom themed dropdown (replaces the native select's option list). */
.aewv2 .aew-dd { position:relative; }
.aewv2 .aew-dd-btn { width:100%; display:flex; align-items:center; justify-content:space-between; gap:8px; font-family:inherit; font-size:13.5px; font-weight:500; color:var(--gray-800); background:#fff; border:1.5px solid var(--gray-200); border-radius:var(--radius); padding:10px 12px; cursor:pointer; text-align:left; transition:border-color .14s,box-shadow .14s; }
.aewv2 .aew-dd-btn:hover { border-color:var(--gray-300); }
.aewv2 .aew-dd-btn.open { border-color:var(--brand); box-shadow:0 0 0 3px rgba(5,173,163,.1); }
.aewv2 .aew-dd-label { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.aewv2 .aew-dd-caret { width:15px; height:15px; flex-shrink:0; color:var(--gray-400); transition:transform .2s ease; }
.aewv2 .aew-dd-btn.open .aew-dd-caret { transform:rotate(180deg); color:var(--brand); }
/* Menu is appended to <body> (escapes the card's overflow) - style it UNSCOPED. */
.aew-dd-menu { position:fixed; z-index:9999; background:#fff; border:1px solid #E5E7EB; border-radius:12px; box-shadow:0 14px 36px rgba(15,23,42,.16); padding:6px; max-height:280px; overflow-y:auto; opacity:0; transform:translateY(-6px); transition:opacity .14s ease, transform .14s ease; font-family:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; scrollbar-width:thin; scrollbar-color:#24c7bd transparent; }
.aew-dd-menu.open { opacity:1; transform:none; }
.aew-dd-menu::-webkit-scrollbar { width:8px; }
.aew-dd-menu::-webkit-scrollbar-thumb { background:#24c7bd; border-radius:4px; }
.aew-dd-item { display:flex; align-items:center; width:100%; text-align:left; white-space:nowrap; font-family:inherit; font-size:13px; font-weight:600; color:#374151; background:none; border:none; border-radius:8px; padding:9px 12px; cursor:pointer; transition:background .12s,color .12s; }
.aew-dd-item:hover { background:#f0fdf9; color:#037A73; }
.aew-dd-item.active { background:#f0fdf9; color:#05ADA3; }
@media(prefers-reduced-motion:reduce){ .aew-dd-menu { transition:none; } }
.aewv2 .cite-zone { padding:16px 24px; display:flex; align-items:center; justify-content:space-between; gap:16px; border-bottom:1px solid var(--gray-100); }
.aewv2 .cite-label { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.07em; color:var(--gray-400); white-space:nowrap; }
.aewv2 .cite-pills { display:flex; gap:6px; flex:1; }
.aewv2 .cite-pill { flex:1; font-size:12.5px; font-weight:700; color:var(--gray-500); background:#fff; border:1.5px solid var(--gray-200); border-radius:var(--radius-sm); padding:8px 4px; text-align:center; cursor:pointer; transition:all .13s; }
.aewv2 .cite-pill:hover { border-color:var(--brand-bd); color:var(--brand-dim); background:var(--brand-bg); }
.aewv2 .cite-pill.active { background:var(--brand); border-color:var(--brand); color:#fff; }
.aewv2 .action-row { padding:20px 24px; display:flex; align-items:center; gap:12px; }
.aewv2 .toggle-wrap { display:flex; align-items:center; gap:8px; cursor:pointer; user-select:none; flex-shrink:0; }
.aewv2 .toggle-track { width:36px; height:20px; background:var(--gray-200); border-radius:100px; position:relative; transition:background .2s; }
.aewv2 .toggle-track.on { background:var(--brand); }
.aewv2 .toggle-track::after { content:''; position:absolute; top:3px; left:3px; width:14px; height:14px; background:#fff; border-radius:50%; box-shadow:0 1px 3px rgba(0,0,0,.15); transition:transform .2s cubic-bezier(.34,1.56,.64,1); }
.aewv2 .toggle-track.on::after { transform:translateX(16px); }
.aewv2 .toggle-text { font-size:13.5px; font-weight:500; color:var(--gray-600); white-space:nowrap; }
.aewv2 .btn-gen { flex:1; display:flex; align-items:center; justify-content:center; gap:8px; background:var(--brand); color:#fff; border-radius:var(--radius); padding:14px 24px; font-size:15.5px; font-weight:700; letter-spacing:-.015em; box-shadow:0 1px 3px rgba(5,173,163,.3),0 4px 14px rgba(5,173,163,.25); transition:background .14s,box-shadow .14s,transform .1s; position:relative; overflow:hidden; }
.aewv2 .btn-gen::before { content:''; position:absolute; inset:0; background:linear-gradient(180deg,rgba(255,255,255,.1) 0%,transparent 100%); pointer-events:none; }
.aewv2 .btn-gen:hover { background:var(--brand-h); box-shadow:0 1px 3px rgba(5,173,163,.35),0 6px 20px rgba(5,173,163,.3); }
.aewv2 .btn-gen:active { transform:scale(.988); }
.aewv2 .btn-gen svg { width:18px; height:18px; flex-shrink:0; position:relative; z-index:1; }
.aewv2 .btn-gen-main { font-size:15.5px; font-weight:700; position:relative; z-index:1; }
.aewv2 .btn-gen.blocked { background:#9CA3AF !important; box-shadow:none !important; cursor:not-allowed !important; opacity:1 !important; }

/* ── TRUST STRIP ── */
.aewv2 .trust { margin-top:28px; display:flex; flex-direction:column; align-items:center; gap:16px; }
.aewv2 .ratings { display:flex; align-items:stretch; gap:12px; flex-wrap:wrap; justify-content:center; }
.aewv2 .rating { display:flex; align-items:center; gap:12px; padding:14px 20px; background:#fff; border:1px solid var(--gray-200); border-radius:14px; box-shadow:0 2px 8px rgba(0,0,0,0.05); transition:box-shadow .2s,transform .2s; min-width:190px; flex:1; }
.aewv2 .rating:hover { box-shadow:0 4px 16px rgba(0,0,0,0.1); transform:translateY(-2px); }
.aewv2 .rating-logo { width:36px; height:36px; border-radius:8px; display:grid; place-items:center; flex-shrink:0; }
.aewv2 .rating-info { display:flex; flex-direction:column; gap:3px; }
.aewv2 .rating-name { font-size:12px; font-weight:700; color:var(--gray-500); letter-spacing:.01em; text-align: left; }
.aewv2 .rating-bottom { display:flex; align-items:center; gap:6px; }
.aewv2 .stars { display:flex; gap:2px; }
.aewv2 .star { width:13px; height:13px; fill:#FBBF24; }
.aewv2 .star.half { fill:url(#half); }
.aewv2 .rating-score { font-size:15px; font-weight:800; color:var(--gray-900); letter-spacing:-.02em; }
.aewv2 .students { display:flex; align-items:center; gap:12px; }
.aewv2 .av-stack { display:flex; }
.aewv2 .av { width:30px; height:30px; border-radius:50%; border:2.5px solid #fff; margin-left:-8px; font-size:10.5px; font-weight:700; color:#fff; display:grid; place-items:center; flex-shrink:0; }
.aewv2 .av:first-child { margin-left:0; }
.aewv2 .students-text { font-size:14px; font-weight:500; color:var(--gray-500); }
.aewv2 .students-text strong { color:var(--gray-800); font-weight:700; }

/* ── LOGO TICKER ── */
.aewv2 .ticker-section { margin-top:56px; padding-top:40px; border-top:1px solid var(--gray-200); text-align:center; }
.aewv2 .ticker-label { font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:.08em; color:var(--gray-400); margin-bottom:20px; }
.aewv2 .ticker-mask { position:relative; overflow:hidden; }
.aewv2 .ticker-mask::before,.aewv2 .ticker-mask::after { content:''; position:absolute; top:0; bottom:0; width:80px; z-index:2; pointer-events:none; }
.aewv2 .ticker-mask::before { left:0; background:linear-gradient(to right,#f5fdfc,transparent); }
.aewv2 .ticker-mask::after { right:0; background:linear-gradient(to left,#f5fdfc,transparent); }
.aewv2 .ticker-track { display:flex; align-items:center; gap:56px; width:max-content; animation:aew-marquee 28s linear infinite; }
.aewv2 .ticker-track:hover { animation-play-state:paused; }
@keyframes aew-marquee { from { transform:translateX(0); } to { transform:translateX(-50%); } }
.aewv2 .ticker-logo { display:flex; align-items:center; flex-shrink:0; opacity:0.32; filter:grayscale(1); transition:opacity .25s,filter .25s; }
.aewv2 .ticker-logo:hover { opacity:0.65; filter:grayscale(0); }
.aewv2 .ticker-logo img { height:20px; width:auto; max-width:130px; display:block; }

/* ── HERO RESPONSIVE ── */
@media(max-width:680px){
  .aewv2 .nav-link { display:none; }
  .aewv2 .nav-sep { display:none; }
  .aewv2 .hero { padding:48px 16px 64px; }
  .aewv2 .h1 { font-size:34px; }
  .aewv2 .sub { font-size:16px; }
  .aewv2 .card-topbar { padding:16px 16px 0; }
  .aewv2 .textarea-zone { padding:0 16px 16px; }
  .aewv2 .controls { grid-template-columns:1fr 1fr; padding:16px; }
  .aewv2 .cite-zone { flex-wrap:wrap; padding:14px 16px; gap:10px; }
  .aewv2 .action-row { padding:16px; flex-direction:column; }
  .aewv2 .toggle-wrap { align-self:flex-start; }
  .aewv2 .btn-gen { width:100%; }
  .aewv2 .ratings { gap:8px; }
  .aewv2 .rating { min-width:calc(50% - 4px); flex:1 1 calc(50% - 4px); }
  .aewv2 .students { flex-wrap:wrap; justify-content:center; text-align:center; gap:8px 10px; width:100%; }
  .aewv2 .students-text { font-size:13px; }
}
@media(prefers-reduced-motion:no-preference){
  .aewv2 .eyebrow { animation:aew-up .5s cubic-bezier(.22,1,.36,1) both; }
  .aewv2 .h1 { animation:aew-up .5s .07s cubic-bezier(.22,1,.36,1) both; }
  .aewv2 .sub { animation:aew-up .5s .12s cubic-bezier(.22,1,.36,1) both; }
  .aewv2 .last-updated { animation:aew-up .5s .15s cubic-bezier(.22,1,.36,1) both; }
  .aewv2 .card { animation:aew-up .55s .18s cubic-bezier(.22,1,.36,1) both; }
  .aewv2 .trust { animation:aew-up .5s .28s cubic-bezier(.22,1,.36,1) both; }
  .aewv2 .ticker-section { animation:aew-up .5s .36s cubic-bezier(.22,1,.36,1) both; }
  @keyframes aew-up { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:translateY(0); } }
}

/* ── HOW IT WORKS ── */
.aewv2 .section { max-width:1200px; margin:0 auto; padding:88px 32px; }
.aewv2 .section-eyebrow { display:inline-flex; align-items:center; gap:7px; background:var(--teal-pale); border:1px solid var(--teal-ring); border-radius:100px; padding:5px 14px 5px 8px; margin-bottom:16px; }
.aewv2 .section-eyebrow .eyebrow-dot { width:7px; height:7px; background:var(--teal); border-radius:50%; }
.aewv2 .section-eyebrow .eyebrow-text { font-size:12.5px; font-weight:600; color:#037A73; letter-spacing:.01em; }
.aewv2 .section-title { font-size:clamp(28px,3.5vw,40px); font-weight:800; letter-spacing:-.025em; color:var(--g900); margin-bottom:64px; }
.aewv2 .hiw-grid { display:grid; grid-template-columns:360px 1fr; gap:56px; align-items:start; }
.aewv2 .steps { display:flex; flex-direction:column; gap:0; }
.aewv2 .step { display:flex; align-items:flex-start; gap:18px; padding:22px 24px 22px 20px; background:#fff; border:1.5px solid var(--g200); border-radius:16px; cursor:pointer; transition:all .22s; position:relative; overflow:hidden; }
.aewv2 .step::before { content:''; position:absolute; left:0; top:0; bottom:0; width:4px; background:var(--g200); border-radius:0 3px 3px 0; transition:background .22s; }
.aewv2 .step:hover { border-color:rgba(5,173,163,.3); box-shadow:0 4px 16px rgba(5,173,163,.07); }
.aewv2 .step:hover::before { background:rgba(5,173,163,.4); }
.aewv2 .step.active { border-color:var(--teal); background:linear-gradient(135deg,rgba(5,173,163,.05) 0%,#fff 70%); box-shadow:0 6px 24px rgba(5,173,163,.12); }
.aewv2 .step.active::before { background:var(--teal); }
.aewv2 .step-num { width:42px; height:42px; border-radius:12px; background:var(--g100); display:grid; place-items:center; flex-shrink:0; font-size:18px; font-weight:800; color:var(--g400); transition:all .22s; }
.aewv2 .step.active .step-num { background:var(--teal); color:#fff; }
.aewv2 .step-body { display:flex; flex-direction:column; gap:5px; padding-top:2px; }
.aewv2 .step-title { font-size:16px; font-weight:700; color:var(--g900); letter-spacing:-.015em; transition:color .22s; }
.aewv2 .step.active .step-title { color:var(--teal-d); }
.aewv2 .step-desc { font-size:13.5px; font-weight:400; color:var(--g500); line-height:1.65; max-height:0; overflow:hidden; transition:max-height .3s ease,opacity .3s ease; opacity:0; }
.aewv2 .step.active .step-desc { max-height:100px; opacity:1; }
.aewv2 .connector { display:flex; align-items:center; gap:0; margin:0 0 0 31px; height:20px; }
.aewv2 .connector::before { content:''; display:block; width:2px; height:100%; background:linear-gradient(to bottom,var(--g200),var(--g200)); border-radius:1px; }
.aewv2 .mockup-outer { position:relative; background:linear-gradient(145deg,rgba(5,173,163,.07) 0%,rgba(5,173,163,.02) 100%); border:1px solid rgba(5,173,163,.14); border-radius:24px; padding:32px 28px 28px; width:100%; }
.aewv2 .mockup-outer::before { content:''; position:absolute; width:280px; height:280px; border-radius:50%; background:radial-gradient(circle,rgba(5,173,163,.1) 0%,transparent 70%); top:-60px; right:-60px; pointer-events:none; }
.aewv2 .mockup-badge { position:absolute; top:-16px; left:50%; transform:translateX(-50%); background:#fff; border:1px solid var(--g200); border-radius:100px; padding:6px 16px; display:flex; align-items:center; gap:7px; font-size:12px; font-weight:600; color:var(--g700); box-shadow:0 2px 10px rgba(0,0,0,.08); white-space:nowrap; transition:all .3s; }
.aewv2 .badge-dot { width:8px; height:8px; border-radius:50%; background:#6EE7B7; flex-shrink:0; }
.aewv2 .badge-dot.pulse { animation:aew-bdpulse 1.8s ease infinite; }
@keyframes aew-bdpulse { 0%,100% { opacity:1; transform:scale(1); } 50% { opacity:.5; transform:scale(.7); } }
.aewv2 .mockup-card { background:#fff; border:1px solid var(--g200); border-radius:18px; overflow:hidden; box-shadow:0 8px 32px rgba(0,0,0,.08),0 2px 8px rgba(0,0,0,.04); }
.aewv2 .mockup-chrome { background:var(--g100); padding:10px 16px; display:flex; align-items:center; gap:6px; border-bottom:1px solid var(--g200); }
.aewv2 .cd { width:10px; height:10px; border-radius:50%; }
.aewv2 .chrome-url { flex:1; background:#fff; border:1px solid var(--g200); border-radius:6px; height:20px; margin-left:8px; display:flex; align-items:center; padding:0 10px; gap:5px; }
.aewv2 .chrome-url-icon { font-size:9px; color:var(--g400); }
.aewv2 .chrome-url-text { font-size:10px; color:var(--g400); font-weight:500; }
.aewv2 .slides { position:relative; height:420px; }
.aewv2 .slide { position:absolute; top:0; left:0; right:0; padding:20px; height:420px; overflow:hidden; opacity:0; pointer-events:none; transition:opacity .25s ease; }
.aewv2 .slide.active { opacity:1; pointer-events:auto; }
.aewv2 .s1-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; }
.aewv2 .s1-topic { font-size:19px; font-weight:700; color:var(--g900); letter-spacing:-.02em; }
.aewv2 .s1-icons { display:flex; gap:8px; }
.aewv2 .s1-icon { width:28px; height:28px; border:1px solid var(--g200); border-radius:7px; display:grid; place-items:center; color:var(--g400); font-size:12px; }
.aewv2 .suggestion-bar { display:flex; align-items:center; gap:7px; background:var(--teal-pale); border:1px solid var(--teal-ring); border-radius:9px; padding:9px 12px; margin-bottom:10px; }
.aewv2 .sug-icon { color:var(--teal); font-size:13px; flex-shrink:0; }
.aewv2 .sug-lbl { font-size:11px; font-weight:600; color:var(--g400); white-space:nowrap; }
.aewv2 .sug-txt { font-size:12px; font-weight:500; color:var(--teal-d); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; flex:1; }
.aewv2 .sug-count { font-size:11px; color:var(--g400); white-space:nowrap; margin-left:auto; padding-left:6px; }
.aewv2 .sug-x { color:var(--g400); font-size:11px; cursor:pointer; padding-left:4px; }
.aewv2 .form-selects { display:flex; flex-direction:column; gap:7px; margin-bottom:12px; }
.aewv2 .fsel { border:1px solid var(--g200); border-radius:9px; padding:9px 12px; display:flex; align-items:center; justify-content:space-between; font-size:13px; font-weight:500; color:var(--g700); background:#fff; }
.aewv2 .fsel.highlighted { border-color:var(--teal); color:var(--teal); }
.aewv2 .fsel-arr { width:24px; height:24px; border-radius:6px; background:var(--g100); border:1px solid var(--g200); display:grid; place-items:center; flex-shrink:0; }
.aewv2 .fsel.highlighted .fsel-arr { background:rgba(5,173,163,.12); border-color:var(--teal-ring); }
.aewv2 .fsel-arr svg { width:12px; height:12px; display:block; }
.aewv2 .fsel-arr svg path { stroke:var(--g500); }
.aewv2 .fsel.highlighted .fsel-arr svg path { stroke:var(--teal); }
.aewv2 .outline-row { display:flex; align-items:center; justify-content:space-between; font-size:13px; font-weight:500; color:var(--g500); padding:8px 0 13px; }
.aewv2 .tog { width:36px; height:20px; background:var(--teal); border-radius:100px; position:relative; flex-shrink:0; }
.aewv2 .tog::after { content:''; position:absolute; right:3px; top:3px; width:14px; height:14px; border-radius:50%; background:#fff; }
.aewv2 .gen-btn { width:100%; background:var(--teal); color:#fff; border:none; border-radius:11px; padding:13px; font-size:14.5px; font-weight:700; display:flex; align-items:center; justify-content:center; gap:8px; font-family:inherit; cursor:pointer; box-shadow:0 2px 12px rgba(5,173,163,.35); }
.aewv2 .gen-btn svg { width:15px; height:15px; }
.aewv2 .s2-body { padding:4px 0; }
.aewv2 .s2-progress-label { display:flex; align-items:center; justify-content:space-between; font-size:13px; font-weight:600; color:var(--g500); margin-bottom:8px; }
.aewv2 .s2-progress-label .s2-pct { color:var(--teal); font-weight:700; }
.aewv2 .progress-track { height:6px; background:var(--g100); border-radius:100px; overflow:hidden; margin-bottom:16px; }
.aewv2 .progress-fill { height:100%; background:linear-gradient(to right,var(--teal),#0891b2); border-radius:100px; width:68%; transition:width 1.8s ease; }
.aewv2 .s2-steps-list { display:flex; flex-direction:column; gap:8px; margin-bottom:16px; }
.aewv2 .s2-step-item { display:flex; align-items:center; gap:10px; padding:9px 12px; border-radius:10px; font-size:13px; font-weight:500; }
.aewv2 .s2-step-item.done { background:#f0fdf9; color:var(--teal-d); }
.aewv2 .s2-step-item.active { background:var(--teal-pale); border:1px solid var(--teal-ring); color:var(--teal-d); }
.aewv2 .s2-step-item.pending { background:var(--g100); color:var(--g400); }
.aewv2 .s2-item-icon { width:22px; height:22px; border-radius:50%; display:grid; place-items:center; font-size:11px; flex-shrink:0; }
.aewv2 .s2-step-item.done .s2-item-icon { background:var(--teal); color:#fff; }
.aewv2 .s2-step-item.active .s2-item-icon { background:var(--teal); color:#fff; animation:aew-spin .8s linear infinite; }
.aewv2 .s2-step-item.pending .s2-item-icon { background:var(--g200); color:var(--g400); }
@keyframes aew-spin { to { transform:rotate(360deg); } }
.aewv2 .s2-did-you-know { background:linear-gradient(135deg,rgba(5,173,163,.06),rgba(8,145,178,.06)); border:1px solid var(--teal-ring); border-radius:10px; padding:10px 12px; }
.aewv2 .s2-dyk-label { font-size:10.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--teal-d); margin-bottom:4px; }
.aewv2 .s2-dyk-text { font-size:12px; color:var(--g600); line-height:1.5; }
.aewv2 .s3-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; }
.aewv2 .s3-meta { display:flex; align-items:center; gap:8px; }
.aewv2 .s3-words { font-size:12px; font-weight:700; color:var(--teal); background:var(--teal-pale); border:1px solid var(--teal-ring); border-radius:100px; padding:3px 10px; }
.aewv2 .s3-icons { display:flex; gap:6px; }
.aewv2 .s3-icon { width:26px; height:26px; border:1px solid var(--g200); border-radius:7px; display:grid; place-items:center; color:var(--g400); font-size:11px; }
.aewv2 .s3-text-block { background:var(--g100); border-radius:10px; padding:12px; margin-bottom:10px; position:relative; overflow:hidden; max-height:160px; }
.aewv2 .s3-text-block::after { content:''; position:absolute; bottom:0; left:0; right:0; height:40px; background:linear-gradient(transparent,var(--g100)); pointer-events:none; }
.aewv2 .s3-heading { font-size:12.5px; font-weight:700; color:var(--g900); margin-bottom:6px; }
.aewv2 .s3-para { font-size:11.5px; color:var(--g700); line-height:1.65; text-align:justify; }
.aewv2 .s3-disclaimer { font-size:10.5px; font-style:italic; color:var(--g400); line-height:1.55; margin-bottom:10px; padding:6px 10px; border-left:3px solid var(--g200); }
.aewv2 .s3-download-box { background:var(--teal-pale); border:1px solid var(--teal-ring); border-radius:12px; padding:12px; text-align:center; }
.aewv2 .s3-dl-text { font-size:12px; font-weight:500; color:var(--g700); margin-bottom:14px; }
.aewv2 .s3-dl-btn { background:var(--teal); color:#fff; border:none; border-radius:9px; padding:10px 18px; font-size:12.5px; font-weight:700; font-family:inherit; cursor:default; display:inline-flex; align-items:center; gap:7px; box-shadow:0 2px 10px rgba(5,173,163,.3); }
.aewv2 .s3-dl-btn svg { width:13px; height:13px; }
@media(max-width:768px){
  .aewv2 .section { padding:64px 20px; }
  .aewv2 .hiw-grid { grid-template-columns:1fr; gap:32px; }
  .aewv2 .mockup-outer { order:1; }
  .aewv2 .section-title { margin-bottom:40px; }
  .aewv2 .step.active .step-desc { max-height:200px; }
}
@media(max-width:600px){
  .aewv2 .mockup-outer { padding:26px 14px 16px; overflow:hidden; }
  .aewv2 .mockup-outer::before { display:none; }
  /* let the active slide flow naturally so nothing clips at narrow widths */
  .aewv2 .slides { height:auto; }
  .aewv2 .slide { position:static; height:auto; padding:16px; display:none; }
  .aewv2 .slide.active { display:block; }
  .aewv2 .s3-para { text-align:left; }
  .aewv2 .s3-dl-btn { width:100%; justify-content:center; }
}

/* ── ACADEMIC LEVELS ── */
.aewv2 .al-section { max-width:1200px; margin:0 auto; padding:96px 32px; }
.aewv2 .al-header { text-align:center; margin-bottom:60px; }
.aewv2 .al-eyebrow { display:inline-flex; align-items:center; gap:7px; background:#fff; border:1px solid #E5E7EB; border-radius:100px; padding:5px 14px 5px 8px; margin-bottom:16px; box-shadow:0 1px 4px rgba(0,0,0,.05); }
.aewv2 .al-eyebrow-dot { width:7px; height:7px; background:#05ADA3; border-radius:50%; }
.aewv2 .al-eyebrow-text { font-size:12.5px; font-weight:600; color:#037A73; letter-spacing:.01em; }
.aewv2 .al-title { font-size:clamp(28px,3.5vw,42px); font-weight:800; letter-spacing:-.028em; color:#111827; margin-bottom:12px; }
.aewv2 .al-subtitle { font-size:17px; font-weight:400; color:#6B7280; line-height:1.65; max-width:520px; margin:0 auto; }
.aewv2 .al-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.aewv2 .al-card { display:flex; align-items:flex-start; gap:20px; padding:30px 26px; background:#fff; border:1.5px solid #EAEAEA; border-radius:20px; position:relative; overflow:hidden; transition:box-shadow .22s,border-color .22s,transform .22s; }
.aewv2 .al-card::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,#05ADA3,#0891b2); opacity:0; transition:opacity .22s; border-radius:20px 20px 0 0; }
.aewv2 .al-card:hover { border-color:rgba(5,173,163,.3); box-shadow:0 12px 40px rgba(5,173,163,.1),0 2px 8px rgba(0,0,0,.04); transform:translateY(-3px); }
.aewv2 .al-card:hover::before { opacity:1; }
.aewv2 .al-icon-wrap { width:66px; height:66px; flex-shrink:0; background:linear-gradient(135deg,#f0fdf9 0%,#e6f9f8 100%); border-radius:16px; border:1px solid rgba(5,173,163,.18); display:grid; place-items:center; }
.aewv2 .al-icon-wrap svg { width:34px; height:34px; }
.aewv2 .al-body { display:flex; flex-direction:column; gap:6px; padding-top:4px; }
.aewv2 .al-level-tag { font-size:11px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; color:#05ADA3; }
.aewv2 .al-card-title { font-size:17.5px; font-weight:700; color:#111827; letter-spacing:-.02em; line-height:1.2; }
.aewv2 .al-card-desc { font-size:14px; color:#6B7280; line-height:1.68; }
@media(max-width:680px){ .aewv2 .al-section { padding:64px 20px; } .aewv2 .al-grid { grid-template-columns:1fr; } }

/* ── ESSAY TYPES ── */
.aewv2 .et-wrap { background:#ffffff; }
.aewv2 .et-section { max-width:1200px; margin:0 auto; padding:96px 32px; display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.aewv2 .et-illustration { display:flex; align-items:center; justify-content:center; }
.aewv2 .et-illus-svg { width:100%; max-width:460px; height:auto; display:block; }
.aewv2 .et-content { display:flex; flex-direction:column; gap:0; }
.aewv2 .et-eyebrow { display:inline-flex; align-items:center; gap:7px; background:#f0fdf9; border:1px solid rgba(5,173,163,0.2); border-radius:100px; padding:5px 14px 5px 8px; margin-bottom:18px; width:fit-content; }
.aewv2 .et-eyebrow-dot { width:7px; height:7px; background:#05ADA3; border-radius:50%; }
.aewv2 .et-eyebrow-text { font-size:12.5px; font-weight:600; color:#037A73; letter-spacing:.01em; }
.aewv2 .et-title { font-size:clamp(26px,3vw,38px); font-weight:800; letter-spacing:-.025em; color:#111827; line-height:1.15; margin-bottom:16px; }
.aewv2 .et-desc { font-size:16px; font-weight:400; color:#6B7280; line-height:1.7; margin-bottom:36px; }
.aewv2 .et-types-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px 24px; margin-bottom:40px; }
.aewv2 .et-type-item { display:flex; align-items:center; gap:10px; padding:10px 14px; background:#F9FAFB; border:1px solid #F3F4F6; border-radius:10px; transition:background .15s,border-color .15s; }
.aewv2 .et-type-item:hover { background:#f0fdf9; border-color:rgba(5,173,163,0.25); }
.aewv2 .et-check { width:20px; height:20px; flex-shrink:0; background:rgba(5,173,163,0.12); border-radius:50%; display:grid; place-items:center; }
.aewv2 .et-check svg { width:11px; height:11px; }
.aewv2 .et-type-name { font-size:14px; font-weight:600; color:#374151; }
.aewv2 .et-cta { display:inline-flex; align-items:center; gap:9px; background:var(--teal); color:#fff; border:none; border-radius:12px; padding:15px 32px; font-size:15.5px; font-weight:700; font-family:inherit; cursor:pointer; box-shadow:0 4px 20px rgba(5,173,163,0.35); transition:background .15s,box-shadow .15s,transform .1s; width:fit-content; }
.aewv2 .et-cta:hover { background:#049990; box-shadow:0 6px 28px rgba(5,173,163,0.45); transform:translateY(-1px); }
.aewv2 .et-cta svg { width:18px; height:18px; }
@media(max-width:768px){ .aewv2 .et-section { grid-template-columns:1fr; gap:48px; padding:64px 20px; } .aewv2 .et-illus-svg { max-width:320px; } }

/* ── REVIEWS ── */
.aewv2 .rv-wrap { background:#F7F8FA; }
.aewv2 .rv-section { max-width:1200px; margin:0 auto; padding:96px 32px; }
.aewv2 .rv-header { text-align:center; margin-bottom:56px; }
.aewv2 .rv-eyebrow { display:inline-flex; align-items:center; gap:7px; background:#fff; border:1px solid #E5E7EB; border-radius:100px; padding:5px 14px 5px 8px; margin-bottom:16px; box-shadow:0 1px 4px rgba(0,0,0,.05); }
.aewv2 .rv-eyebrow-dot { width:7px; height:7px; background:#05ADA3; border-radius:50%; }
.aewv2 .rv-eyebrow-text { font-size:12.5px; font-weight:600; color:#037A73; letter-spacing:.01em; }
.aewv2 .rv-title { font-size:clamp(28px,3.5vw,42px); font-weight:800; letter-spacing:-.028em; color:#111827; margin-bottom:12px; }
.aewv2 .rv-sub { font-size:17px; color:#6B7280; font-weight:400; line-height:1.65; max-width:480px; margin:0 auto; }
.aewv2 .rv-stats { display:flex; align-items:center; justify-content:center; gap:0; background:#fff; border:1px solid #E5E7EB; border-radius:16px; overflow:hidden; margin-bottom:52px; box-shadow:0 2px 12px rgba(0,0,0,.04); width:fit-content; margin-left:auto; margin-right:auto; }
.aewv2 .rv-stat { padding:18px 36px; text-align:center; border-right:1px solid #F3F4F6; }
.aewv2 .rv-stat:last-child { border-right:none; }
.aewv2 .rv-stat-num { font-size:26px; font-weight:800; color:#111827; letter-spacing:-.03em; line-height:1; margin-bottom:4px; }
.aewv2 .rv-stat-num span { color:#05ADA3; font-weight:800; }
.aewv2 .rv-stat-label { font-size:12px; font-weight:600; color:#9CA3AF; letter-spacing:.01em; }
.aewv2 .rv-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; align-items:start; }
.aewv2 .rv-card { background:#fff; border:1.5px solid #EAEAEA; border-radius:20px; padding:28px; position:relative; transition:box-shadow .22s,transform .22s,border-color .22s; }
.aewv2 .rv-card:hover { box-shadow:0 12px 40px rgba(0,0,0,.08); transform:translateY(-3px); border-color:rgba(5,173,163,.25); }
.aewv2 .rv-card.featured { background:linear-gradient(145deg,#05ADA3 0%,#0797A0 100%); border-color:transparent; box-shadow:none; }
.aewv2 .rv-card.featured:hover { box-shadow:0 20px 60px rgba(5,173,163,.38); border-color:transparent; }
.aewv2 .rv-stars { display:flex; gap:3px; margin-bottom:16px; }
.aewv2 .rv-star { width:14px; height:14px; fill:#FBBF24; }
.aewv2 .rv-card.featured .rv-star { fill:rgba(255,255,255,0.9); }
.aewv2 .rv-quote { font-size:15px; font-weight:400; color:#374151; line-height:1.72; margin-bottom:24px; position:relative; }
.aewv2 .rv-card.featured .rv-quote { color:rgba(255,255,255,0.92); }
.aewv2 .rv-quote::before { content:'\201C'; font-size:64px; line-height:0; font-family:Georgia,serif; color:#05ADA3; opacity:0.12; position:absolute; top:8px; left:-8px; pointer-events:none; }
.aewv2 .rv-card.featured .rv-quote::before { color:#fff; opacity:0.18; }
.aewv2 .rv-author { display:flex; align-items:center; gap:12px; padding-top:20px; border-top:1px solid #F3F4F6; }
.aewv2 .rv-card.featured .rv-author { border-top-color:rgba(255,255,255,.2); }
.aewv2 .rv-avatar { width:40px; height:40px; border-radius:50%; display:grid; place-items:center; font-size:16px; font-weight:800; color:#fff; flex-shrink:0; }
.aewv2 .rv-author-info { display:flex; flex-direction:column; gap:2px; }
.aewv2 .rv-author-name { font-size:14px; font-weight:700; color:#111827; letter-spacing:-.01em; }
.aewv2 .rv-card.featured .rv-author-name { color:#fff; }
.aewv2 .rv-author-role { font-size:12px; font-weight:500; color:#9CA3AF; }
.aewv2 .rv-card.featured .rv-author-role { color:rgba(255,255,255,.65); }
.aewv2 .rv-verified { margin-left:auto; display:flex; align-items:center; gap:4px; font-size:11px; font-weight:600; color:#05ADA3; background:rgba(5,173,163,.08); border-radius:100px; padding:3px 8px; flex-shrink:0; }
.aewv2 .rv-card.featured .rv-verified { color:rgba(255,255,255,.9); background:rgba(255,255,255,.2); }
.aewv2 .rv-verified svg { width:10px; height:10px; }
.aewv2 .rv-col-mid .rv-card:first-child { margin-top:-24px; }
.aewv2 .rv-marquee-wrap { margin-top:52px; padding-top:48px; border-top:1px solid #E9EBEB; overflow:hidden; }
.aewv2 .rv-marquee-label { text-align:center; font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:.08em; color:#9CA3AF; margin-bottom:24px; }
.aewv2 .rv-marquee-track-wrap { position:relative; }
.aewv2 .rv-marquee-track-wrap::before,.aewv2 .rv-marquee-track-wrap::after { content:''; position:absolute; top:0; bottom:0; width:80px; z-index:2; pointer-events:none; }
.aewv2 .rv-marquee-track-wrap::before { left:0; background:linear-gradient(to right,#F7F8FA,transparent); }
.aewv2 .rv-marquee-track-wrap::after { right:0; background:linear-gradient(to left,#F7F8FA,transparent); }
.aewv2 .rv-marquee-track { display:flex; align-items:center; gap:16px; width:max-content; animation:aew-rv-scroll 30s linear infinite; }
.aewv2 .rv-marquee-track:hover { animation-play-state:paused; }
@keyframes aew-rv-scroll { from { transform:translateX(0); } to { transform:translateX(-50%); } }
.aewv2 .rv-mini-card { background:#fff; border:1px solid #E5E7EB; border-radius:14px; padding:14px 18px; display:flex; flex-direction:column; gap:8px; min-width:240px; flex-shrink:0; box-shadow:0 1px 4px rgba(0,0,0,.04); }
.aewv2 .rv-mini-stars { display:flex; gap:2px; }
.aewv2 .rv-mini-star { width:11px; height:11px; fill:#FBBF24; }
.aewv2 .rv-mini-quote { font-size:13px; color:#4B5563; line-height:1.55; font-style:italic; }
.aewv2 .rv-mini-author { font-size:12px; font-weight:700; color:#111827; }
@media(max-width:768px){
  .aewv2 .rv-section { padding:64px 20px; }
  .aewv2 .rv-grid { grid-template-columns:1fr; }
  .aewv2 .rv-col-mid .rv-card:first-child { margin-top:0; }
  .aewv2 .rv-stats { display:grid; grid-template-columns:1fr 1fr; width:100%; margin-bottom:40px; }
  .aewv2 .rv-stat { padding:16px 10px; border-right:1px solid #F3F4F6; border-bottom:1px solid #F3F4F6; }
  .aewv2 .rv-stat:nth-child(2n) { border-right:none; }
  .aewv2 .rv-stat:nth-last-child(-n+2) { border-bottom:none; }
  .aewv2 .rv-stat-num { font-size:21px; }
}

/* ── FEATURES ── */
.aewv2 .ft-wrap { background:#ffffff; }
.aewv2 .ft-section { max-width:1200px; margin:0 auto; padding:96px 32px; }
.aewv2 .ft-header { text-align:center; margin-bottom:64px; }
.aewv2 .ft-eyebrow { display:inline-flex; align-items:center; gap:7px; background:#f0fdf9; border:1px solid rgba(5,173,163,.2); border-radius:100px; padding:5px 14px 5px 8px; margin-bottom:16px; }
.aewv2 .ft-eyebrow-dot { width:7px; height:7px; background:#05ADA3; border-radius:50%; }
.aewv2 .ft-eyebrow-text { font-size:12.5px; font-weight:600; color:#037A73; letter-spacing:.01em; }
.aewv2 .ft-title { font-size:clamp(28px,3.5vw,42px); font-weight:800; letter-spacing:-.028em; color:#111827; line-height:1.15; }
.aewv2 .ft-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; grid-auto-rows:1fr; }
.aewv2 .ft-card { padding:32px 28px; background:#fff; border:1.5px solid #EAEAEA; border-radius:20px; display:flex; flex-direction:column; gap:0; transition:box-shadow .22s,border-color .22s,transform .22s; position:relative; overflow:hidden; height:100%; min-height:280px; }
.aewv2 .ft-card::after { content:''; position:absolute; bottom:0; left:0; right:0; height:3px; background:linear-gradient(90deg,#05ADA3,#0891b2); opacity:0; transition:opacity .22s; }
.aewv2 .ft-card:hover { border-color:rgba(5,173,163,.3); box-shadow:0 12px 40px rgba(5,173,163,.1),0 2px 8px rgba(0,0,0,.04); transform:translateY(-3px); }
.aewv2 .ft-card:hover::after { opacity:1; }
.aewv2 .ft-icon-wrap { width:56px; height:56px; background:linear-gradient(135deg,#f0fdf9,#e0faf8); border-radius:14px; border:1px solid rgba(5,173,163,.18); display:grid; place-items:center; margin-bottom:20px; flex-shrink:0; }
.aewv2 .ft-icon-wrap svg { width:28px; height:28px; }
.aewv2 .ft-card-title { font-size:17px; font-weight:700; color:#111827; letter-spacing:-.02em; line-height:1.25; margin-bottom:10px; }
.aewv2 .ft-card-desc { font-size:14px; font-weight:400; color:#6B7280; line-height:1.7; }
.aewv2 .ft-card-desc a { color:#05ADA3; font-weight:500; text-decoration:none; }
.aewv2 .ft-card-desc a:hover { text-decoration:underline; }
.aewv2 .ft-tools-card { background:linear-gradient(145deg,#05ADA3 0%,#0797A0 100%); border-color:transparent; box-shadow:0 16px 48px rgba(5,173,163,.28); }
.aewv2 .ft-tools-card:hover { border-color:transparent; box-shadow:0 20px 56px rgba(5,173,163,.36); }
.aewv2 .ft-tools-card::after { display:none; }
.aewv2 .ft-icon-wrap-light { background:rgba(255,255,255,.2); border-color:rgba(255,255,255,.25); }
.aewv2 .ft-tools-title { color:#fff !important; }
.aewv2 .ft-tools-desc { color:rgba(255,255,255,.82) !important; }
.aewv2 .ft-tools-card .ft-tools-list { display:flex; flex-wrap:wrap; gap:6px; margin-top:14px; }
.aewv2 .ft-tool-chip { font-size:13px; font-weight:600; color:#05ADA3; background:rgba(5,173,163,.08); border:1px solid rgba(5,173,163,.18); border-radius:100px; padding:4px 12px; text-decoration:none; transition:background .14s,border-color .14s; }
.aewv2 .ft-tool-chip:hover { background:rgba(5,173,163,.16); border-color:rgba(5,173,163,.35); }
.aewv2 .ft-tool-chip-light { color:#fff !important; background:rgba(0,0,0,0.18) !important; border-color:rgba(255,255,255,0.25) !important; font-weight:600 !important; white-space:nowrap !important; font-size:12px !important; padding:4px 10px !important; }
.aewv2 .ft-tool-chip-light:hover { background:rgba(0,0,0,0.28) !important; border-color:rgba(255,255,255,0.45) !important; }
@media(max-width:768px){ .aewv2 .ft-section { padding:64px 20px; } .aewv2 .ft-grid { grid-template-columns:1fr; } }

/* ── FAQ ── */
.aewv2 .faq-wrap { background:#F7F8FA; }
.aewv2 .faq-section { max-width:780px; margin:0 auto; padding:96px 32px; }
.aewv2 .faq-header { text-align:center; margin-bottom:52px; }
.aewv2 .faq-eyebrow { display:inline-flex; align-items:center; gap:7px; background:#fff; border:1px solid #E5E7EB; border-radius:100px; padding:5px 14px 5px 8px; margin-bottom:16px; box-shadow:0 1px 4px rgba(0,0,0,.05); }
.aewv2 .faq-eyebrow-dot { width:7px; height:7px; background:#05ADA3; border-radius:50%; }
.aewv2 .faq-eyebrow-text { font-size:12.5px; font-weight:600; color:#037A73; letter-spacing:.01em; }
.aewv2 .faq-title { font-size:clamp(26px,3vw,38px); font-weight:800; letter-spacing:-.025em; color:#111827; }
.aewv2 .faq-list { display:flex; flex-direction:column; gap:12px; }
.aewv2 .faq-item { background:#fff; border:1.5px solid #E9EBEB; border-radius:16px; overflow:hidden; transition:border-color .2s,box-shadow .2s,background .2s; cursor:pointer; }
.aewv2 .faq-item:not(.open):hover { border-color:rgba(5,173,163,.25); box-shadow:0 2px 12px rgba(5,173,163,.06); background:rgba(5,173,163,.02); }
.aewv2 .faq-item:not(.open):hover .faq-icon { background:#fff; box-shadow:0 1px 4px rgba(0,0,0,.1); }
.aewv2 .faq-item:not(.open):hover .faq-icon svg path { stroke:#05ADA3; }
.aewv2 .faq-item.open { border-color:rgba(5,173,163,.35); box-shadow:0 4px 20px rgba(5,173,163,.08); background:linear-gradient(135deg,rgba(5,173,163,.03) 0%,#fff 100%); }
.aewv2 .faq-q { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:22px 24px; cursor:pointer; user-select:none; }
.aewv2 .faq-q-text { font-size:16px; font-weight:700; color:#111827; letter-spacing:-.015em; line-height:1.3; }
.aewv2 .faq-item.open .faq-q-text { color:#05ADA3; }
.aewv2 .faq-icon { width:32px; height:32px; flex:0 0 32px; background:#F3F4F6; background-image:none; border-radius:50%; display:grid; place-items:center; transition:background .2s,transform .3s; }
.aewv2 .faq-item.open .faq-icon { background:rgba(5,173,163,.12); transform:rotate(45deg); }
.aewv2 .faq-icon svg { width:14px; height:14px; }
.aewv2 .faq-icon svg path { stroke:#6B7280; }
.aewv2 .faq-item.open .faq-icon svg path { stroke:#05ADA3; }
.aewv2 .faq-a { height:0; overflow:hidden; transition:height .3s cubic-bezier(.4,0,.2,1); }
.aewv2 .faq-item.open .faq-a { height:auto; }
.aewv2 .faq-a-text { font-size:15px; font-weight:400; color:#4B5563; line-height:1.75; margin:0 24px; border-top:1px solid #F3F4F6; padding:18px 0 22px; }
.aewv2 .faq-cta { margin-top:48px; background:linear-gradient(135deg,#05ADA3,#0891b2); border-radius:20px; padding:36px 40px; display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.aewv2 .faq-cta-title { font-size:20px; font-weight:800; color:#fff; letter-spacing:-.02em; margin-bottom:6px; }
.aewv2 .faq-cta-sub { font-size:14px; color:rgba(255,255,255,.78); font-weight:400; line-height:1.55; }
.aewv2 .faq-cta-btn { background:#fff; color:#05ADA3; border:none; border-radius:12px; padding:14px 28px; font-size:15px; font-weight:700; font-family:inherit; cursor:pointer; white-space:nowrap; box-shadow:0 4px 16px rgba(0,0,0,.12); transition:transform .15s,box-shadow .15s; flex-shrink:0; }
.aewv2 .faq-cta-btn:hover { transform:translateY(-1px); box-shadow:0 6px 20px rgba(0,0,0,.15); }
@media(max-width:640px){
  .aewv2 .faq-section { padding:64px 20px; }
  .aewv2 .faq-q { padding:18px 18px; }
  .aewv2 .faq-a-text { margin:0 18px; padding:16px 0 18px; }
  .aewv2 .faq-cta { padding:28px 24px; }
  .aewv2 .faq-cta-btn { width:100%; text-align:center; }
}

/* ── HOW IT WORKS PROSE ── */
.aewv2 .hw-wrap { background:#ffffff; }
.aewv2 .hw-section { max-width:860px; margin:0 auto; padding:80px 32px; }
.aewv2 .hw-card { background:#fff; border:1.5px solid #E9EBEB; border-radius:24px; padding:48px 52px; box-shadow:0 2px 16px rgba(0,0,0,.04); }
.aewv2 .hw-title { font-size:clamp(22px,2.8vw,30px); font-weight:800; letter-spacing:-.025em; color:#111827; text-align:center; margin-bottom:32px; }
.aewv2 .hw-body { display:flex; flex-direction:column; gap:20px; }
.aewv2 .hw-p { font-size:15.5px; font-weight:400; color:#4B5563; line-height:1.8; }
.aewv2 .hw-p a { color:#05ADA3; font-weight:600; text-decoration:underline; text-underline-offset:2px; }
.aewv2 .hw-p a:hover { color:#037A73; }
.aewv2 .hw-divider { height:1px; background:#F3F4F6; }
@media(max-width:640px){ .aewv2 .hw-section { padding:56px 20px; } .aewv2 .hw-card { padding:32px 24px; } }

/* ── OUTPUT PANEL ── */
/* ---- Outline (rendered inside the main output panel) ---- */
.aewv2 .outline-doc-title { font-size:17px; font-weight:800; color:#0F2B26; letter-spacing:-.02em; line-height:1.3; text-align:center; margin:0 0 18px; padding-bottom:14px; border-bottom:2px solid rgba(5,173,163,.2); }
.aewv2 .outline-h { font-size:14px; font-weight:800; color:#111827; letter-spacing:-.01em; margin:18px 0 8px; }
.aewv2 .outline-h:first-child { margin-top:0; }
.aewv2 .outline-list { list-style:none; margin:0 0 6px; padding:0; }
.aewv2 .outline-list li { position:relative; padding-left:18px; margin:0 0 7px; font-size:13.5px; line-height:1.6; color:#374151; }
.aewv2 .outline-list li::before { content:""; position:absolute; left:2px; top:9px; width:6px; height:6px; border-radius:50%; background:#05ADA3; }
.aewv2 .outline-list li strong { color:#0F2B26; font-weight:700; }
.aewv2 .outline-p { font-size:13.5px; line-height:1.65; color:#4B5563; margin:0 0 8px; }
.aewv2 .outline-p strong { color:#0F2B26; }
/* Output panel: fully visible when shown - the .tool-layout crossfade handles the
   smooth reveal between phases (see switchPhase in the JS). */
.aewv2 .output-panel { min-width:0; position:relative; max-width:none; margin:0; background:#fff; border:1.5px solid #E5E7EB; border-radius:20px; overflow:hidden; box-shadow:0 4px 32px rgba(5,173,163,.08),0 1px 4px rgba(0,0,0,.05); }
.aewv2 .output-loading { display:flex; flex-direction:column; align-items:center; justify-content:center; padding:52px 32px; gap:28px; min-height:320px; background:linear-gradient(135deg,rgba(5,173,163,0.04) 0%,rgba(8,145,178,0.04) 100%); }
.aewv2 .output-spinner-wrap { position:relative; width:72px; height:72px; }
.aewv2 .output-spinner { width:72px; height:72px; border-radius:50%; border:3px solid rgba(5,173,163,.12); border-top-color:#05ADA3; animation:aew-spin .8s linear infinite; }
.aewv2 .output-spinner-inner { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:44px; height:44px; border-radius:50%; background:linear-gradient(135deg,#05ADA3,#0891b2); display:grid; place-items:center; box-shadow:0 4px 16px rgba(5,173,163,.35); }
.aewv2 .output-spinner-inner svg { width:20px; height:20px; }
.aewv2 .output-loading-head { text-align:center; }
.aewv2 .output-loading-title { font-size:22px; font-weight:800; color:#111827; letter-spacing:-.025em; margin-bottom:6px; }
.aewv2 .output-loading-sub { font-size:14px; color:#9CA3AF; font-weight:400; }
.aewv2 .output-loading-steps { display:flex; flex-direction:column; gap:8px; width:100%; max-width:320px; }
.aewv2 .output-step-item { display:flex; align-items:center; gap:12px; font-size:14px; font-weight:500; color:#C4C9CE; padding:10px 14px; border-radius:12px; transition:all .3s ease; }
.aewv2 .output-step-item.done { color:#05ADA3; background:rgba(5,173,163,.06); }
.aewv2 .output-step-item.active { color:#111827; background:#fff; box-shadow:0 2px 12px rgba(0,0,0,.08); font-weight:700; }
.aewv2 .output-step-dot { width:28px; height:28px; border-radius:50%; display:grid; place-items:center; flex-shrink:0; font-size:12px; font-weight:700; background:#F3F4F6; color:#9CA3AF; transition:all .3s ease; }
.aewv2 .output-step-item.done .output-step-dot { background:#05ADA3; color:#fff; font-size:13px; }
.aewv2 .output-step-item.active .output-step-dot { background:linear-gradient(135deg,#05ADA3,#0891b2); color:#fff; font-size:12px; box-shadow:0 0 0 0 rgba(5,173,163,.4); animation:aew-pulse-dot 1.4s ease-in-out infinite; }
@keyframes aew-pulse-dot { 0% { box-shadow:0 0 0 0 rgba(5,173,163,.5); } 70% { box-shadow:0 0 0 8px rgba(5,173,163,0); } 100% { box-shadow:0 0 0 0 rgba(5,173,163,0); } }
.aewv2 .output-result { display:none; }
.aewv2 .output-result.visible { display:block; }
.aewv2 .output-topbar { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 18px; border-bottom:1px solid #F3F4F6; background:#FAFAFA; }
.aewv2 .output-meta { display:flex; align-items:center; gap:10px; min-width:0; flex:1; }
.aewv2 .output-word-count { flex-shrink:0; white-space:nowrap; font-size:12.5px; font-weight:700; color:#05ADA3; background:rgba(5,173,163,.1); border:1px solid rgba(5,173,163,.2); border-radius:100px; padding:3px 10px; }
.aewv2 .output-topic-label { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:13px; font-weight:500; color:#6B7280; }
.aewv2 .output-actions { display:flex; align-items:center; gap:8px; flex-shrink:0; }
.aewv2 .output-action-btn { width:32px; height:32px; border:1px solid #E5E7EB; border-radius:8px; background:#fff; display:grid; place-items:center; cursor:pointer; color:#6B7280; transition:border-color .14s,color .14s,background .14s; }
.aewv2 .output-action-btn:hover { border-color:#05ADA3; color:#05ADA3; background:#f0fdf9; }
.aewv2 .output-action-btn svg { width:15px; height:15px; }
.aewv2 .output-essay { padding:28px 32px; font-size:15px; font-weight:400; color:#374151; line-height:1.85; text-align:left; max-height:420px; overflow-y:auto; position:relative; scrollbar-width:thin; scrollbar-color:var(--brand) transparent; }
.aewv2 .output-essay::-webkit-scrollbar { width:8px; }
.aewv2 .output-essay::-webkit-scrollbar-track { background:transparent; }
.aewv2 .output-essay::-webkit-scrollbar-thumb { background:#24c7bd; border-radius:4px; }
.aewv2 .output-fade { position:relative; }
.aewv2 .output-cta-bar { padding:20px 32px 24px; border-top:1px solid #F3F4F6; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; background:linear-gradient(to bottom,#fff,#f8fdfc); }
.aewv2 .output-cta-text { font-size:14px; font-weight:500; color:#6B7280; }
.aewv2 .output-cta-text strong { color:#111827; font-weight:700; }
.aewv2 .output-cta-actions { display:flex; gap:10px; align-items:center; }
.aewv2 .btn-download { display:inline-flex; align-items:center; gap:7px; background:#05ADA3; color:#fff; border:none; border-radius:10px; padding:10px 20px; font-size:13.5px; font-weight:700; font-family:inherit; cursor:pointer; box-shadow:0 2px 10px rgba(5,173,163,.3); transition:background .14s; position:relative; white-space:nowrap; }
.aewv2 .btn-download:hover { background:#049990; }
.aewv2 .btn-download svg { width:14px; height:14px; }
.aewv2 .btn-download .lock-badge { position:absolute; top:-6px; right:-6px; width:16px; height:16px; background:#F59E0B; border-radius:50%; display:grid; place-items:center; }
.aewv2 .btn-download .lock-badge svg { width:9px; height:9px; }
.aewv2 .btn-generate-again { display:inline-flex; align-items:center; gap:8px; background:#fff; color:#05ADA3; border:1.5px solid rgba(5,173,163,.35); border-radius:10px; padding:10px 20px; font-size:13.5px; font-weight:700; font-family:inherit; cursor:pointer; transition:background .14s,border-color .14s; white-space:nowrap; }
.aewv2 .btn-generate-again:hover { background:#f0fdf9; border-color:#05ADA3; }
.aewv2 .btn-generate-again svg { width:16px; height:16px; flex-shrink:0; }
@media(max-width:520px){
  .aewv2 .output-cta-bar { flex-direction:column; align-items:stretch; gap:12px; padding:18px 18px 20px; }
  .aewv2 .output-cta-text { text-align:center; }
  .aewv2 .output-cta-actions { width:100%; }
  .aewv2 .btn-generate-again, .aewv2 .btn-download { flex:1; justify-content:center; padding:12px 14px; }
}
/* Hire-a-writer cross-sell banner in the output */
/* Standalone banner below the workspace - only shown once output exists. */
@keyframes aew-hire-in { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:none; } }
.aewv2 .output-hire { display:none; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; max-width:1120px; margin:20px auto 0; padding:16px 22px; background:linear-gradient(135deg,#f0fdf9,#e3f7f5); border:1px solid rgba(5,173,163,.2); border-radius:16px; }
.aewv2 .tool-layout.has-output ~ .output-hire { display:flex; animation:aew-hire-in .4s ease both; }
.aewv2 .output-hire-text { display:flex; flex-direction:column; gap:2px; min-width:0; }
.aewv2 .output-hire-title { font-size:14px; font-weight:800; color:#0F2B26; letter-spacing:-.01em; text-align: left; }
.aewv2 .output-hire-sub { font-size:12.5px; color:#4B5563; line-height:1.5; }
.aewv2 .output-hire-btn { display:inline-flex; align-items:center; gap:7px; flex-shrink:0; background:#fff; color:#05ADA3; border:1.5px solid rgba(5,173,163,.4); border-radius:10px; padding:10px 18px; font-size:13.5px; font-weight:700; text-decoration:none; transition:background .14s,border-color .14s,color .14s,transform .12s; }
.aewv2 .output-hire-btn svg { width:15px; height:15px; }
.aewv2 .output-hire-btn:hover { background:#05ADA3; color:#fff; border-color:#05ADA3; transform:translateY(-1px); }
@media(max-width:520px){ .aewv2 .output-hire-btn { width:100%; justify-content:center; } }

/* Essay content formatting */
.aewv2 .essay-title { font-size:20px; font-weight:800; color:#111827; letter-spacing:-.025em; line-height:1.3; text-align:center; margin-bottom:24px; padding-bottom:16px; border-bottom:2px solid rgba(5,173,163,.2); }
.aewv2 .essay-heading { font-size:16px; font-weight:700; color:#111827; letter-spacing:-.015em; margin:22px 0 8px; }
.aewv2 .essay-para { margin-bottom:14px; line-height:1.85; color:#374151; }
.aewv2 .essay-para:last-child { margin-bottom:0; }
.aewv2 .essay-references { margin-top:24px; padding-top:16px; border-top:1px solid #F3F4F6; }
.aewv2 .essay-references-head { display:flex; align-items:baseline; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom:10px; }
.aewv2 .essay-references-heading { font-size:16px; font-weight:700; color:#111827; margin:0; }
.aewv2 .essay-references-note { font-size:11.5px; font-weight:600; color:#f59e0b; }
.aewv2 .essay-references-list { padding-left:20px; }
.aewv2 .essay-reference-item { font-size:13.5px; color:#4B5563; line-height:1.6; margin-bottom:10px; word-break:break-word; }
.aewv2 .ref-verify { display:inline-flex; align-items:center; gap:3px; margin-left:6px; padding:1px 8px; font-size:11.5px; font-weight:700; color:#05ADA3; background:#f0fdf9; border:1px solid #D6F3EF; border-radius:100px; text-decoration:none; white-space:nowrap; vertical-align:middle; transition:background .13s,border-color .13s; }
.aewv2 .ref-verify:hover { background:#daf6f2; border-color:#05ADA3; }
.aewv2 .ref-verify svg { width:11px; height:11px; }

/* editable output */
.aewv2 .output-essay[contenteditable="true"] { outline:none; cursor:text; border-radius:0 0 0 0; transition:box-shadow .15s,background .15s; }
.aewv2 .output-essay[contenteditable="true"]:focus { box-shadow:inset 0 0 0 2px rgba(5,173,163,.25); background:#fbfffe; }
.aewv2 .output-editable-hint { display:inline-flex; align-items:center; gap:4px; flex-shrink:0; white-space:nowrap; font-size:11px; font-weight:600; color:#94a3b8; }
.aewv2 .output-editable-hint svg { width:12px; height:12px; }

/* ── LIMIT OVERLAY ── */
.aewv2 .limit-overlay { display:none; position:absolute; inset:0; z-index:20; border-radius:18px; background:rgba(10,10,10,0.55); backdrop-filter:blur(5px); -webkit-backdrop-filter:blur(5px); align-items:center; justify-content:center; padding:20px; }
.aewv2 .limit-overlay.visible { display:flex; }
.aewv2 .limit-card { background:#fff; border-radius:18px; padding:32px 28px 28px; max-width:360px; width:100%; text-align:center; box-shadow:0 16px 48px rgba(0,0,0,.2); animation:aew-popIn .3s cubic-bezier(.34,1.56,.64,1) both; }
@keyframes aew-popIn { from { opacity:0; transform:scale(.88) translateY(12px); } to { opacity:1; transform:scale(1) translateY(0); } }
.aewv2 .limit-icon-wrap { width:56px; height:56px; background:linear-gradient(135deg,#05ADA3,#0891b2); border-radius:16px; display:grid; place-items:center; margin:0 auto 16px; box-shadow:0 6px 20px rgba(5,173,163,.35); }
.aewv2 .limit-icon-wrap svg { width:28px; height:28px; }
.aewv2 .limit-title { font-size:20px; font-weight:800; color:#111827; letter-spacing:-.02em; line-height:1.2; margin-bottom:10px; }
.aewv2 .limit-sub { font-size:13.5px; font-weight:400; color:#6B7280; line-height:1.6; margin-bottom:20px; }
.aewv2 .limit-sub strong { color:#05ADA3; font-weight:700; }
.aewv2 .lc-usage { display:flex; align-items:center; justify-content:center; gap:8px; margin-bottom:16px; background:#F9FAFB; border:1px solid #F3F4F6; border-radius:100px; padding:6px 14px; width:fit-content; margin-left:auto; margin-right:auto; }
.aewv2 .lc-usage-dots { display:flex; gap:5px; align-items:center; }
.aewv2 .lc-dot { width:9px; height:9px; border-radius:50%; background:#E5E7EB; }
.aewv2 .lc-dot.used { background:#05ADA3; }
.aewv2 .lc-usage-label { font-size:12px; font-weight:600; color:#9CA3AF; }
.aewv2 .lc-divider { height:1px; background:#F3F4F6; margin:16px 0; }
.aewv2 .limit-btns { display:flex; align-items:center; justify-content:center; gap:10px; flex-wrap:wrap; }
.aewv2 .btn-limit-primary { display:inline-flex; align-items:center; justify-content:center; background:#05ADA3; color:#fff; border:none; border-radius:100px; padding:12px 24px; font-size:14px; font-weight:700; font-family:inherit; cursor:pointer; box-shadow:0 4px 16px rgba(5,173,163,.5); transition:background .14s,box-shadow .14s; white-space:nowrap; }
.aewv2 .btn-limit-primary:hover { background:#049990; box-shadow:0 6px 22px rgba(5,173,163,.55); }
.aewv2 .btn-limit-secondary { display:inline-flex; align-items:center; justify-content:center; background:#fff; color:#374151; border:1.5px solid #E5E7EB; border-radius:100px; padding:12px 24px; font-size:14px; font-weight:600; font-family:inherit; cursor:pointer; transition:border-color .14s,background .14s,color .14s; white-space:nowrap; }
.aewv2 .btn-limit-secondary:hover { border-color:#9CA3AF; color:#111827; }

/* ── USAGE BAR ── */
.aewv2 .usage-bar { display:flex; align-items:center; justify-content:center; gap:10px; padding:10px 22px; background:#F9FAFB; border-bottom:1px solid #F3F4F6; font-size:12.5px; font-weight:500; color:#6B7280; }
.aewv2 .usage-label { white-space:nowrap; }
.aewv2 .usage-dots { display:flex; gap:5px; align-items:center; }
.aewv2 .usage-dot { width:10px; height:10px; border-radius:50%; background:#E5E7EB; transition:background .3s,transform .3s; }
.aewv2 .usage-dot.used { background:#05ADA3; transform:scale(1.1); }
.aewv2 .usage-dot.last-used { background:#F59E0B; }
.aewv2 .usage-remaining { font-weight:700; color:#05ADA3; }
.aewv2 .usage-remaining.warn { color:#F59E0B; }
.aewv2 .usage-remaining.empty { color:#EF4444; }

/* ── TOAST (fixed floating) ── */
.aewv2 .aew-toast { position:fixed; bottom:28px; left:50%; transform:translateX(-50%) translateY(12px); background:#1F2937; color:#fff; font-size:13.5px; font-weight:600; padding:10px 20px; border-radius:100px; display:flex; align-items:center; gap:8px; box-shadow:0 4px 20px rgba(0,0,0,.25); opacity:0; transition:opacity .22s,transform .22s; pointer-events:none; z-index:99999; white-space:nowrap; }
.aewv2 .aew-toast.show { opacity:1; transform:translateX(-50%) translateY(0); }
.aewv2 .aew-toast .toast-icon { font-size:14px; line-height:1; }
.aewv2 .aew-toast.success .toast-icon::before { content:'\2713'; color:#05ADA3; }
.aewv2 .aew-toast.info .toast-icon::before { content:'\2139'; color:#60A5FA; }
.aewv2 .aew-toast.warn .toast-icon::before { content:'\26A0'; color:#F59E0B; }

/* ── AOS SCROLL REVEAL (marketing sections only) ── */
.aewv2 .aew-aos { opacity:0; transform:translateY(24px); transition:opacity .6s ease,transform .6s ease; }
.aewv2 .aew-aos.in { opacity:1; transform:none; }
@media(prefers-reduced-motion:reduce){ .aewv2 .aew-aos { opacity:1 !important; transform:none !important; transition:none !important; } }
