/* AI landing variant (/advisers/?v=ai). Loaded after advisers-landing.css. */
.fj-ai-hero { align-items:center; }
.fj-ai-hero .fj-eyebrow { margin:0 0 14px; }

/* Shared demo pieces: prompt bubbles, AI cards and figures */
.fj-ai-card-title { margin:0 0 8px; font-size:12px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--fj-muted); }
.fj-ai-card-title { display:flex; align-items:center; gap:8px; color:var(--fj-action); }
.fj-ai-spark { width:14px; height:14px; flex:none; background:var(--fj-action); clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%); }
.fj-ai-bubble { margin:0; background:var(--fj-surface); border:1px solid var(--fj-border); border-radius:14px 14px 4px 14px; padding:12px 14px; }
.fj-ai-ask { justify-self:end; max-width:88%; background:var(--fj-ink); border-color:var(--fj-ink); color:#fff; font-size:15px; }
.fj-ai-ask:has(.fj-ai-filechip) { display:grid; gap:10px; padding:10px; }

/* Who is speaking: the adviser on the right, Finjaro on the left */
.fj-ai-msg { display:grid; gap:6px; justify-items:start; }
.fj-ai-msg > .fj-ai-card,.fj-ai-msg > .fj-ai-mini { justify-self:stretch; }
.fj-ai-msg--you { justify-items:end; }
.fj-ai-speaker { display:inline-flex; align-items:center; gap:6px; font-size:12px; font-weight:600; letter-spacing:.04em; text-transform:uppercase; color:var(--fj-muted); }
.fj-ai-speaker--ai { color:var(--fj-action); }
.fj-ai-msg--you > .fj-ai-ask,.fj-ai-msg--you > .fj-ai-prompt { justify-self:end; }
.fj-ai-done { display:flex; align-items:center; gap:8px; margin:14px 0 0; padding-top:12px; border-top:1px solid var(--fj-subtle); font-size:13.5px; font-weight:600; color:var(--fj-success); }
.fj-ai-done::before { content:''; flex:none; width:10px; height:5px; margin:-3px 2px 0; border:solid currentColor; border-width:0 0 2px 2px; transform:rotate(-45deg); }

/* Uploaded file: a coloured document icon with its type, name and size */
.fj-ai-filechip { display:flex; align-items:center; gap:10px; background:var(--fj-surface); color:var(--fj-ink); border-radius:10px; padding:8px 14px 8px 8px; text-align:left; box-shadow:0 1px 2px #14161c14; }
.fj-ai-filechip strong { display:block; font-size:14px; line-height:1.3; }
.fj-ai-filechip small { display:block; font-size:12px; color:var(--fj-muted); }
.fj-ai-ext { flex:none; position:relative; width:32px; height:40px; display:flex; align-items:flex-end; justify-content:center; padding-bottom:5px; border-radius:4px; color:#fff; font-size:9px; font-weight:700; letter-spacing:.04em; clip-path:polygon(0 0,68% 0,100% 24%,100% 100%,0 100%); }
.fj-ai-ext::after { content:''; position:absolute; top:0; right:0; width:32%; height:24%; background:#ffffff66; clip-path:polygon(0 0,100% 100%,0 100%); }
.fj-ai-ext--xlsx { background:#1f7a45; }
.fj-ai-ext--jpg { background:#2f6fd6; }
.fj-ai-ext--pdf { background:#c4382f; }

/* Numbered steps: in the hero and the case copy */
.fj-ai-step { display:flex; align-items:center; gap:8px; margin:0 0 10px; font-size:13px; font-weight:600; color:var(--fj-secondary); }
.fj-ai-step b { display:grid; place-items:center; flex:none; width:20px; height:20px; border-radius:50%; background:var(--fj-action); color:#fff; font-size:11.5px; line-height:1; box-sizing:border-box; padding-top:1px; }
.fj-ai-result .fj-ai-step--dark { margin:0 0 6px; color:#fff; font-size:13px; }
.fj-ai-how { list-style:none; padding:0; margin:14px 0 0; display:grid; gap:10px; max-width:440px; }
.fj-ai-how li { position:relative; padding-left:18px; font-size:16px; line-height:1.5; color:var(--fj-secondary); }
.fj-ai-how li::before { content:''; position:absolute; left:2px; top:.62em; width:7px; height:7px; border-radius:50%; background:var(--fj-action); }
.fj-ai-how b { color:var(--fj-ink); }
.fj-ai-card { background:var(--fj-surface); border:1px solid var(--fj-border); border-radius:var(--fj-radius-lg); padding:18px; box-shadow:0 1px 2px #14161c0a,0 18px 42px #14161c14; }
.fj-ai-who { margin:0 0 10px; font-size:15px; color:var(--fj-secondary); }
.fj-ai-who strong { color:var(--fj-ink); font-size:17px; }
.fj-ai-facts { margin:0; display:grid; }
.fj-ai-facts div { display:flex; justify-content:space-between; gap:16px; padding:8px 0; border-bottom:1px solid var(--fj-subtle); font-size:14.5px; }
.fj-ai-facts dt { color:var(--fj-secondary); }
.fj-ai-facts dd { margin:0; font-weight:600; font-variant-numeric:tabular-nums; text-align:right; }
.fj-ai-note { margin:10px 0 0; font-size:13.5px; line-height:1.45; color:var(--fj-secondary); border-radius:6px; padding:8px 10px; }
.fj-ai-note strong { display:block; font-size:11.5px; letter-spacing:.06em; text-transform:uppercase; }
.fj-ai-note--assumed { background:var(--fj-subtle); }
.fj-ai-note--needed { background:var(--fj-warning-soft); }
.fj-ai-note--needed strong { color:var(--fj-warning); }
.fj-ai-note--done { background:var(--fj-success-soft); }
.fj-ai-note--done strong { color:var(--fj-success); }
.fj-ai-fake-button { display:inline-block; margin-top:14px; background:var(--fj-action); color:#fff; font-weight:600; font-size:14px; border-radius:6px; padding:8px 14px; }
.fj-ai-fake-button--quiet { background:transparent; color:var(--fj-secondary); border:1px solid var(--fj-border); }
.fj-ai-short { color:var(--fj-shortfall); font-variant-numeric:tabular-nums; }
.fj-ai-reply { margin:12px 0 0; font-size:14.5px; color:var(--fj-secondary); }

/* Hero stage: notes, the review card, then the shortfall */
.fj-ai-stage { position:relative; display:grid; gap:14px; padding:24px; border-radius:16px; background:radial-gradient(120% 80% at 100% 0,#dfe4fb 0,transparent 60%),linear-gradient(160deg,var(--fj-action-soft),var(--fj-subtle)); }
.fj-ai-stage > .fj-ad-tag { position:absolute; top:16px; right:16px; background:var(--fj-surface); }
.fj-ai-notes { max-width:82%; border-radius:14px 14px 14px 4px; }
.fj-ai-notes pre { margin:0; font:13px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace; color:var(--fj-secondary); white-space:pre-wrap; }
.fj-ai-review { margin-left:12%; }
.fj-ai-result { justify-self:start; display:grid; gap:2px; margin-top:-34px; margin-left:-6px; background:var(--fj-ink); color:#fff; border-radius:12px; padding:14px 18px; box-shadow:0 18px 42px #14161c33; }
.fj-ai-result span,.fj-ai-result small { font-size:13px; color:#c9cad3; }
.fj-ai-figure { font:400 34px/1.1 'Kaisei Tokumin',serif; color:#ff8a80; font-variant-numeric:tabular-nums; }

/* Reveal on scroll (the script adds .is-armed, then .is-in) */
.is-armed [data-reveal] { opacity:0; transform:translateY(14px); transition:opacity 500ms ease-out,transform 600ms cubic-bezier(.2,.7,.2,1); transition-delay:var(--delay,0ms); }
.is-armed .is-in[data-reveal] { opacity:1; transform:none; }

/* Pain */
.fj-ai-pain { padding-bottom:40px; }
.fj-ai-pain-list { list-style:none; padding:0; margin:32px 0 0; display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.fj-ai-pain-list li { border-top:2px solid var(--fj-shortfall); padding-top:18px; font-size:18px; line-height:1.45; }

/* Pillars: each prompt sits over what it produced */
.fj-ai-pillar-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; margin-top:32px; }
.fj-ai-pillar { display:grid; grid-row:span 3; grid-template-rows:subgrid; row-gap:0; }
.fj-ai-pillar h3 { font-size:18px; margin-top:16px; }
.fj-ai-pillar > p { margin:6px 0 0; color:var(--fj-secondary); font-size:15px; }
.fj-ai-pillar-art { display:grid; align-content:center; gap:12px; min-height:250px; padding:18px; border-radius:var(--fj-radius-lg); background:linear-gradient(160deg,var(--fj-action-soft),var(--fj-subtle)); }
.fj-ai-prompt { justify-self:end; max-width:92%; margin:0; background:var(--fj-ink); color:#fff; font-size:13.5px; line-height:1.4; border-radius:12px 12px 4px 12px; padding:9px 12px; }
.fj-ai-mini { display:grid; gap:2px; background:var(--fj-surface); border-radius:8px; padding:12px 14px; box-shadow:0 10px 26px #14161c14; font-size:13px; color:var(--fj-muted); }
.fj-ai-mini strong { font-size:16px; color:var(--fj-ink); }
.fj-ai-mini strong.fj-ai-short { font:400 26px/1.15 'Kaisei Tokumin',serif; color:var(--fj-shortfall); }

/* Tabs (prompts and FAQ) */
.fj-ai-tablist { display:inline-flex; flex-wrap:wrap; gap:4px; margin:28px 0 8px; padding:4px; background:var(--fj-subtle); border-radius:999px; }
.fj-ad .fj-ai-tablist button { border:0; background:transparent; color:var(--fj-secondary); font-weight:600; font-size:15px; border-radius:999px; padding:9px 16px; cursor:pointer; }
.fj-ad .fj-ai-tablist button[aria-selected="true"] { background:var(--fj-surface); color:var(--fj-ink); box-shadow:0 1px 3px #14161c1f; }
.fj-ai-panel:not([hidden]) { animation:fj-ai-panel-in 300ms ease-out; }
@keyframes fj-ai-panel-in { from { opacity:0; transform:translateY(6px); } }

/* Prompt cases */
.fj-ai-case { display:grid; grid-template-columns:.8fr 1fr; gap:48px; align-items:center; padding:36px 0; border-bottom:1px solid var(--fj-border); }
.fj-ai-case:last-child { border-bottom:0; }
.fj-ai-case-copy h3 { font-size:22px; }
.fj-ai-case-copy p { margin:8px 0 0; color:var(--fj-secondary); font-size:16.5px; max-width:420px; }
.fj-ai-chat { display:grid; gap:12px; padding:22px; border-radius:16px; background:linear-gradient(160deg,var(--fj-action-soft),var(--fj-subtle)); }
.fj-ai-gaps,.fj-ai-changes,.fj-ai-contacts { list-style:none; padding:0; margin:0; }
.fj-ai-gaps li,.fj-ai-contacts li { display:flex; justify-content:space-between; align-items:baseline; gap:16px; padding:9px 0; border-bottom:1px solid var(--fj-subtle); font-size:14.5px; }
.fj-ai-gaps span { color:var(--fj-secondary); }
.fj-ai-gaps strong { font-size:17px; }
.fj-ai-changes li { font-size:14px; font-weight:600; background:var(--fj-action-soft); color:var(--fj-action); border-radius:6px; padding:6px 10px; margin-bottom:6px; }
.fj-ai-contacts span { font-size:12.5px; font-weight:600; color:var(--fj-success); background:var(--fj-success-soft); border-radius:999px; padding:3px 9px; }
.fj-ai-total { display:flex; align-items:baseline; flex-wrap:wrap; gap:4px 12px; margin:14px 0 0; }
.fj-ai-total > span:first-child { flex-basis:100%; font-size:13px; color:var(--fj-muted); }
.fj-ai-total strong { font:400 34px/1.1 'Kaisei Tokumin',serif; }
.fj-ai-from { font-size:17px; color:var(--fj-muted); text-decoration:line-through; }
.fj-ai-actions { display:flex; gap:8px; }
.fj-ai-chart-wrap { margin-top:12px; background:var(--fj-surface); border:1px solid var(--fj-subtle); border-radius:8px; padding:10px 8px 8px; }
.fj-ai-chart { display:block; width:100%; height:auto; }
.fj-ai-chart text { font:500 12px var(--fj-font); fill:var(--fj-muted); }
.fj-ai-chart-grid line { stroke:#ecece8; }
.fj-ai-chart-event { fill:#f7ece6; }
.fj-ai-chart-marker { stroke:#a14a22; stroke-dasharray:3 3; }
.fj-ai-chart .fj-ai-chart-flag { font-weight:600; fill:#a14a22; }
.fj-ai-chart-inc { fill:var(--fj-action); }
.fj-ai-chart-sav { fill:#2f8f7d; }
.fj-ai-chart-gap { fill:var(--fj-shortfall); }
.fj-ai-chart-cash { fill:none; stroke:var(--fj-ink); stroke-width:1.75; stroke-linejoin:round; stroke-linecap:round; }
.fj-ai-chart-key { list-style:none; display:flex; flex-wrap:wrap; gap:4px 14px; margin:6px 4px 0; padding:0; font-size:11.5px; color:var(--fj-muted); }
.fj-ai-chart-key li::before { content:''; display:inline-block; width:9px; height:9px; border-radius:2px; margin-right:5px; vertical-align:-1px; }
.fj-ai-chart-key .is-inc::before { background:var(--fj-action); }
.fj-ai-chart-key .is-sav::before { background:#2f8f7d; }
.fj-ai-chart-key .is-gap::before { background:var(--fj-shortfall); }
.fj-ai-chart-key .is-cash::before { height:2px; width:12px; border-radius:0; background:var(--fj-ink); vertical-align:3px; }
.fj-ai-page .fj-ai-chart-wrap { border:0; padding:0; margin-top:auto; flex:none; }
.fj-ai-page .fj-ai-chart-key { display:none; }

/* PDF pages: page 2 in front, pages 3 and 4 stacked behind it */
.fj-ai-pdf { position:relative; display:grid; justify-content:center; padding:76px 76px 26px 22px; border-radius:16px; background:linear-gradient(160deg,var(--fj-action-soft),var(--fj-subtle)); }
.fj-ai-page { grid-area:1/1; width:100%; max-width:330px; aspect-ratio:1/1.414; display:flex; flex-direction:column; overflow:hidden; background:var(--fj-surface); border-radius:3px; padding:18px 20px; box-shadow:0 1px 2px #14161c14,0 14px 32px #14161c1f; }
.fj-ai-page--2 { position:relative; z-index:2; }
.fj-ai-page--3,.fj-ai-page--4 { padding:34px 32px 18px 20px; }
.fj-ai-page--4 { transform:translate(52px,-52px); box-shadow:0 1px 2px #14161c14; }
.fj-ai-page--3 { transform:translate(26px,-26px); box-shadow:0 1px 2px #14161c14,0 6px 16px #14161c14; }
.fj-ai-page-head { display:flex; justify-content:space-between; margin:0 0 14px; padding-bottom:6px; border-bottom:1px solid var(--fj-subtle); font-size:8px; color:var(--fj-muted); }
.fj-ai-page-head span:first-child { font:400 10px 'Kaisei Tokumin',serif; color:var(--fj-ink); }
.fj-ai-page-title { margin:0 0 4px; font:400 13px/1.25 'Kaisei Tokumin',serif; }
.fj-ai-page-text { margin:0 0 8px; font-size:8px; line-height:1.45; color:var(--fj-secondary); }
.fj-ai-page-caption { margin:0 0 4px; font-size:8.5px; font-weight:600; }
.fj-ai-page-risks { list-style:none; padding:0; margin:0; }
.fj-ai-page-risks li { padding:5px 0; border-bottom:1px solid var(--fj-subtle); font-size:8.5px; line-height:1.4; }
.fj-ai-page-gaps { display:grid; gap:7px; margin-top:16px; }
.fj-ai-page-gaps div { display:grid; grid-template-columns:44% 1fr; align-items:center; gap:8px; font-size:7.5px; line-height:1.2; color:var(--fj-muted); }
.fj-ai-page-gaps i { display:block; width:var(--w); height:7px; border-radius:1px; background:var(--fj-shortfall); }
.fj-ai-page-risks strong { color:var(--fj-shortfall); }
.fj-ai-page .fj-ai-chart-wrap { flex:none; margin:0; padding:0; border:0; }
.fj-ai-page .fj-ai-chart-key,.fj-ai-page .fj-ai-chart text { display:none; }
.fj-ai-page-foot { display:flex; justify-content:space-between; margin:auto 0 0; padding-top:6px; border-top:1px solid var(--fj-subtle); font-size:8px; color:var(--fj-muted); }

/* Compliance and More in Finjaro */
.fj-ai-trust-grid,.fj-ai-more-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; margin-top:32px; }
.fj-ai-trust-grid > div,.fj-ai-more-grid > div { background:var(--fj-surface); border:1px solid var(--fj-border); border-radius:var(--fj-radius-lg); padding:22px; }
.fj-ai-trust-grid h3,.fj-ai-more-grid h3 { font-size:17px; }
.fj-ai-trust-grid p,.fj-ai-more-grid p { margin:8px 0 0; color:var(--fj-secondary); font-size:15px; }
.fj-ai-compliance { max-width:1116px; margin:0 auto; background:var(--fj-ink); color:#fff; border-radius:var(--fj-radius-lg); padding:56px; }
.fj-ai-compliance .fj-ad-lede { color:#c9cad3; }
.fj-ai-compliance .fj-ai-trust-grid > div { background:#ffffff0d; border-color:#ffffff26; }
.fj-ai-compliance .fj-ai-trust-grid p { color:#d5d5da; }
.fj-ai-more-grid > div:first-child { border:2px solid var(--fj-action); padding:21px; }
.fj-ai-faq .fj-ai-tablist { margin-top:4px; }

@media(max-width:1079px) {
  .fj-ai-pillar-grid,.fj-ai-trust-grid,.fj-ai-more-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .fj-ai-compliance { margin:0 32px; }
}
@media(max-width:899px) {
  .fj-ai-pain-list,.fj-ai-case { grid-template-columns:minmax(0,1fr); }
  .fj-ai-case { gap:20px; }
}
@media(max-width:719px) {
  .fj-ai-stage { padding:46px 14px 18px; }
  .fj-ai-notes { max-width:100%; }
  .fj-ai-review { margin-left:0; }
  .fj-ai-result { margin-top:-24px; margin-left:0; }
  .fj-ai-pillar-grid,.fj-ai-trust-grid,.fj-ai-more-grid { grid-template-columns:minmax(0,1fr); }
  .fj-ai-pillar-art { min-height:0; }
  .fj-ai-pillar { grid-row:auto; grid-template-rows:none; }
  .fj-ai-tablist { display:flex; border-radius:12px; }
  .fj-ad .fj-ai-tablist button { flex:1 1 0; border-radius:9px; font-size:13.5px; line-height:1.25; padding:8px 6px; }
  .fj-ai-tablist { flex-wrap:nowrap; }
  .fj-ai-chat { padding:16px 12px; }
  .fj-ai-pdf { padding:66px 64px 16px 12px; }
  .fj-ai-chart text { font-size:20px; }
  .fj-ai-chart-grid text { display:none; }
  .fj-ai-chart-key { font-size:12px; }
  .fj-ai-compliance { margin:0 16px; padding:36px 20px; }
}
.fj-ai-link { display:inline-block; margin-top:14px; font-weight:600; color:var(--fj-action); text-decoration:none; }
.fj-ai-link::after { content:' →'; }
.fj-ai-link:hover { text-decoration:underline; }
