/* Page-scoped styling for Firstmate. Shared theme and internal-page CSS remain unchanged. */
.firstidea-firstmate {
  --fm-ink-soft: #28343a;
  --fm-deep: #102127;
  --fm-deep-raised: #14292e;
  --fm-deep-panel: #0b181d;
  --fm-on-deep: #e6f1f2;
  --fm-on-deep-muted: #a3b6ba;
  --fm-deep-line: rgba(255, 255, 255, 0.12);
  --fm-radius-lg: 24px;
  --fm-radius: 16px;
}
.firstidea-firstmate :where(.fm-hero, .fm-subnav, .fm-section, .fm-cta) :where(h1, h2, h3, p:not(.eyebrow), ul, ol, dl, dd) { margin: 0; }
.firstidea-firstmate :where(.fm-hero, .fm-section, .fm-cta) :where(ul, ol) { padding: 0; list-style: none; }
.firstidea-firstmate button { cursor: pointer; }
.firstidea-firstmate .fm-demo :focus-visible, .firstidea-firstmate .fm-section--deep :focus-visible, .firstidea-firstmate .fm-cta :focus-visible { outline-color: var(--aqua); }

.firstidea-firstmate .fm-hero h1 { max-width: none; margin: 0; font-size: clamp(2.4rem, 1.55rem + 2.7vw, 3.5rem); line-height: 1.06; letter-spacing: -0.05em; }
.firstidea-firstmate .fm-hero h1 em { display: block; margin-top: 0.08em; color: var(--aqua-dark); text-decoration: underline; text-decoration-color: var(--aqua); text-decoration-thickness: 0.09em; text-underline-offset: 0.12em; text-decoration-skip-ink: none; }
.firstidea-firstmate .fm-section h2, .firstidea-firstmate .fm-cta h2 { font-size: var(--heading-secondary); line-height: 1.1; letter-spacing: -0.045em; }
.firstidea-firstmate h3 { font-size: 1.125rem; font-weight: 800; line-height: 1.3; letter-spacing: -0.02em; }

.firstidea-firstmate .fm-hero { padding-block: 1.75rem clamp(3.5rem, 7vw, 6rem); }
.firstidea-firstmate .fm-hero__grid { --hero-gap: clamp(32px, 5vw, 72px); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--hero-gap); align-items: center; }
.firstidea-firstmate .fm-hero__lead { max-width: 56ch; margin-top: 22px; color: var(--muted); font-size: clamp(1rem, 0.95rem + 0.25vw, 1.125rem); }
.firstidea-firstmate .fm-hero__facts { display: flex; flex-wrap: wrap; gap: 8px 24px; margin-top: 30px; color: var(--muted); font-size: 0.85rem; font-weight: 600; }
.firstidea-firstmate .fm-hero__facts li { position: relative; padding-left: 15px; }
.firstidea-firstmate .fm-hero__facts li::before { content: ""; position: absolute; left: 0; top: 0.58em; width: 6px; height: 6px; border-radius: 50%; background: var(--aqua); }
.firstidea-firstmate .fm-hero__try { position: relative; display: flex; justify-content: flex-end; margin-top: 18px; transition: opacity 0.35s ease, visibility 0.35s; }
.firstidea-firstmate .fm-hero__try[hidden] { display: none; }
.firstidea-firstmate .fm-hero__try.is-done { visibility: hidden; opacity: 0; }
.firstidea-firstmate .fm-try { color: var(--aqua-dark); font-size: 0.95rem; font-weight: 700; line-height: 1.3; text-decoration: none; }
.firstidea-firstmate .fm-try:hover { text-decoration: underline; text-underline-offset: 3px; }
.firstidea-firstmate .fm-try:focus-visible { border-radius: 6px; }
.firstidea-firstmate .fm-try__arrow { position: absolute; fill: none; stroke: var(--aqua-dark); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; pointer-events: none; }
.firstidea-firstmate .fm-try__arrow path { stroke-dasharray: 1; animation: fm-try-draw 0.8s ease-out 0.5s both; }
.firstidea-firstmate .fm-try__arrow .fm-try__head { stroke-dasharray: none; animation: fm-try-head 0.2s ease-out 1.25s both; }
.firstidea-firstmate .fm-try__arrow--side { left: calc(100% + 4px); bottom: 8px; width: min(calc(var(--hero-gap) - 8px), 56px); height: auto; }
.firstidea-firstmate .fm-try__arrow--down { display: none; }
@keyframes fm-try-draw { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
@keyframes fm-try-head { from { opacity: 0; } to { opacity: 1; } }
.firstidea-firstmate .fm-demo { --demo-shadow: 0 34px 70px -34px rgba(16, 33, 39, 0.65); position: relative; scroll-margin-top: 56px; display: flex; flex-direction: column; min-width: 0; padding: 18px; border-radius: var(--fm-radius-lg); color: var(--fm-on-deep); background: repeating-radial-gradient(circle at 92% -8%, rgba(85, 203, 208, 0.05) 0 1px, transparent 1px 72px), radial-gradient(70% 45% at 92% -6%, rgba(85, 203, 208, 0.2), rgba(85, 203, 208, 0) 75%), var(--fm-deep-panel); box-shadow: var(--demo-shadow); }
.firstidea-firstmate .fm-demo.is-flash { animation: fm-demo-flash 1.1s ease-out; }
@keyframes fm-demo-flash { from { box-shadow: 0 0 0 0 rgba(85, 203, 208, 0.4), var(--demo-shadow); } to { box-shadow: 0 0 0 16px rgba(85, 203, 208, 0), var(--demo-shadow); } }
.firstidea-firstmate .fm-demo__live { position: absolute; top: 15px; right: 16px; display: inline-flex; align-items: center; gap: 7px; padding: 3px 10px 3px 9px; border: 1px solid var(--fm-deep-line); border-radius: 999px; color: var(--fm-on-deep-muted); font-size: 0.7rem; font-weight: 700; line-height: 1.3; }
.firstidea-firstmate .fm-demo__live[hidden] { display: none; }
.firstidea-firstmate .fm-demo__live::before { content: ""; flex: none; width: 6px; height: 6px; border-radius: 50%; background: var(--aqua); }
.firstidea-firstmate .is-next { animation: fm-next-step 2.4s ease-out 2; }
@keyframes fm-next-step { 0% { box-shadow: 0 0 0 0 rgba(85, 203, 208, 0.4); } 70%, 100% { box-shadow: 0 0 0 8px rgba(85, 203, 208, 0); } }
.firstidea-firstmate .fm-demo__tabs .is-next { animation: none; border-color: rgba(85, 203, 208, 0.55); color: #fff; }
.firstidea-firstmate .fm-demo__who { display: flex; align-items: flex-end; gap: 12px; margin-bottom: 14px; }
.firstidea-firstmate .fm-demo__avatar { flex: none; width: 84px; height: 84px; margin-top: -52px; border-radius: 50%; box-shadow: 0 14px 28px -12px rgba(10, 16, 21, 0.7); }
.firstidea-firstmate .fm-demo__name { color: #fff; font-size: 1.05rem; font-weight: 800; line-height: 1.2; letter-spacing: -0.02em; }
.firstidea-firstmate .fm-demo__status { display: flex; align-items: center; gap: 7px; margin-top: 2px; color: var(--fm-on-deep-muted); font-size: 0.76rem; font-weight: 600; line-height: 1.3; }
.firstidea-firstmate .fm-demo__status::before { content: ""; flex: none; width: 7px; height: 7px; border-radius: 50%; background: var(--aqua); }
.firstidea-firstmate [data-state="waiting"] .fm-demo__status::before { background: var(--coral); }
.firstidea-firstmate [data-state="thinking"] .fm-demo__status::before { animation: fm-typing 1s infinite ease-in-out; }
.firstidea-firstmate .fm-avatar { display: block; width: 100%; height: auto; }
.firstidea-firstmate .fm-avatar .fm-head { animation: fm-bob 5s ease-in-out infinite; }
.firstidea-firstmate .fm-avatar .fm-eyes { transform-box: fill-box; transform-origin: center; animation: fm-blink 5.5s infinite; }
.firstidea-firstmate .fm-avatar .fm-look { transition: transform 0.35s ease, opacity 0.2s ease; }
.firstidea-firstmate .fm-avatar .fm-eyes-happy { transition: opacity 0.2s ease; }
.firstidea-firstmate [data-state="thinking"] .fm-look { transform: translate(9px, -7px); }
.firstidea-firstmate [data-state="waiting"] .fm-look { transform: translate(-6px, 8px); }
.firstidea-firstmate [data-state="done"] .fm-look { opacity: 0; }
.firstidea-firstmate [data-state="done"] .fm-eyes-happy { opacity: 1; }
@keyframes fm-bob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-4px); } }
@keyframes fm-blink { 0%, 93%, 100% { transform: scaleY(1); } 96.500% { transform: scaleY(0.08); } }
.firstidea-firstmate .fm-demo__tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 14px; }
.firstidea-firstmate .fm-demo__tabs[hidden] { display: none; }
.firstidea-firstmate .fm-demo__tabs button { min-height: 34px; padding: 6px 13px; border: 1px solid var(--fm-deep-line); border-radius: 999px; background: transparent; color: var(--fm-on-deep-muted); font-size: 0.78rem; font-weight: 700; transition: background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease; }
.firstidea-firstmate .fm-demo__tabs button:hover { color: #fff; border-color: rgba(255, 255, 255, 0.3); }
.firstidea-firstmate .fm-demo__tabs button[aria-pressed="true"] { background: var(--aqua); border-color: var(--aqua); color: var(--ink); }
.firstidea-firstmate .fm-demo__steps { display: flex; gap: 4px; margin-bottom: 14px; }
.firstidea-firstmate .fm-demo__steps li { flex: 1 1 0; min-width: 0; padding-top: 7px; border-top: 2px solid var(--fm-deep-line); color: #7f949a; font-size: 0.68rem; font-weight: 700; line-height: 1.3; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; transition: color 0.25s ease, border-color 0.25s ease; }
.firstidea-firstmate .fm-demo__steps li.is-done { border-top-color: var(--aqua); color: var(--fm-on-deep-muted); }
.firstidea-firstmate .fm-demo__steps li.is-current { border-top-color: var(--coral); color: #fff; }
.firstidea-firstmate .fm-demo__log { display: flex; flex-direction: column; gap: 10px; height: 462px; padding: 2px 4px 2px 0; overflow-y: auto; scrollbar-width: thin; scrollbar-color: rgba(255, 255, 255, 0.2) transparent; font-size: 0.875rem; line-height: 1.5; }
.firstidea-firstmate .fm-msg, .firstidea-firstmate .fm-card { animation: fm-msg-in 0.28s ease-out both; }
@keyframes fm-msg-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.firstidea-firstmate .fm-msg { max-width: 90%; }
.firstidea-firstmate .fm-msg--user { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; align-self: flex-end; padding: 8px 13px; border-radius: 14px 14px 4px 14px; background: rgba(85, 203, 208, 0.16); color: #eafafb; overflow-wrap: anywhere; }
.firstidea-firstmate .fm-msg--bot { display: flex; align-items: flex-start; gap: 8px; align-self: flex-start; color: var(--fm-on-deep); }
.firstidea-firstmate .fm-msg--bot img { flex: none; width: 28px; height: 28px; }
.firstidea-firstmate .fm-msg--bot p { padding-top: 3px; }
.firstidea-firstmate .fm-msg--approval { font-weight: 700; }
.firstidea-firstmate .fm-msg--user:has(.fm-attach--photo) { flex-wrap: nowrap; }
.firstidea-firstmate .fm-attach { flex: none; overflow: hidden; border-radius: 9px; }
.firstidea-firstmate .fm-attach--photo { display: block; width: 76px; border: 1px solid var(--fm-deep-line); }
.firstidea-firstmate .fm-attach--photo svg { display: block; width: 100%; height: auto; }
.firstidea-firstmate .fm-attach--file { display: inline-flex; align-items: center; gap: 8px; padding: 4px 10px 4px 4px; background: rgba(255, 255, 255, 0.08); color: #eafafb; font-size: 0.76rem; font-weight: 600; }
.firstidea-firstmate .fm-attach--file i { padding: 4px 6px; border-radius: 7px; background: var(--aqua); color: var(--ink); font-size: 0.62rem; font-style: normal; font-weight: 800; letter-spacing: 0.04em; }
.firstidea-firstmate .fm-conf { margin-left: 4px; padding: 1px 6px; border-radius: 999px; background: rgba(85, 203, 208, 0.16); color: var(--aqua); font-size: 0.68rem; font-weight: 800; }
.firstidea-firstmate .fm-card__warn { margin-top: 8px; padding: 6px 10px; border-left: 2px solid var(--coral); background: rgba(255, 118, 95, 0.1); color: #ffd9d1; font-size: 0.76rem; line-height: 1.4; }
.firstidea-firstmate .fm-card { flex: none; padding: 13px 15px; border: 1px solid var(--fm-deep-line); border-radius: 14px; background: rgba(255, 255, 255, 0.045); }
.firstidea-firstmate .fm-card__title { display: flex; align-items: center; gap: 8px; font-size: 0.875rem; font-weight: 800; color: #fff; }
.firstidea-firstmate .fm-card__title::before { content: ""; flex: none; width: 8px; height: 8px; border-radius: 50%; background: var(--coral); }
.firstidea-firstmate .fm-card--ok { border-color: rgba(85, 203, 208, 0.45); }
.firstidea-firstmate .fm-card--ok .fm-card__title::before { background: var(--aqua); }
.firstidea-firstmate .fm-card--read .fm-card__title::before { background: var(--fm-on-deep-muted); }
.firstidea-firstmate .fm-card__sub { margin-top: 2px; color: var(--fm-on-deep-muted); font-size: 0.78rem; }
.firstidea-firstmate .fm-card__rows { margin-top: 9px; font-size: 0.8rem; }
.firstidea-firstmate .fm-card__rows > div { display: flex; justify-content: space-between; gap: 16px; padding-block: 4px; border-top: 1px solid rgba(255, 255, 255, 0.07); }
.firstidea-firstmate .fm-card__rows dt { color: var(--fm-on-deep-muted); }
.firstidea-firstmate .fm-card__rows dd { text-align: right; font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.firstidea-firstmate .fm-card__rows .is-strong dt, .firstidea-firstmate .fm-card__rows .is-strong dd { color: var(--aqua); font-weight: 800; }
.firstidea-firstmate .fm-card__action { width: 100%; min-height: 40px; margin-top: 9px; padding: 8px 12px; border: 0; border-radius: 999px; background: var(--aqua); color: var(--ink); font-size: 0.8rem; font-weight: 800; line-height: 1.25; transition: background-color 0.18s ease, opacity 0.18s ease; }
.firstidea-firstmate .fm-card__action:hover { background: #6ad5d9; }
.firstidea-firstmate .fm-card__action:disabled { cursor: default; opacity: 0.45; }
.firstidea-firstmate .fm-card__meta { margin-top: 7px; color: var(--fm-on-deep-muted); font-size: 0.72rem; font-variant-numeric: tabular-nums; }
.firstidea-firstmate .fm-card__text { margin-top: 8px; color: var(--fm-on-deep-muted); font-size: 0.78rem; }
.firstidea-firstmate .fm-typing { display: inline-flex; gap: 4px; align-self: flex-start; padding: 6px 2px; }
.firstidea-firstmate .fm-typing i { width: 6px; height: 6px; border-radius: 50%; background: var(--fm-on-deep-muted); animation: fm-typing 1s infinite ease-in-out; }
.firstidea-firstmate .fm-typing i:nth-child(2) { animation-delay: 0.15s; }
.firstidea-firstmate .fm-typing i:nth-child(3) { animation-delay: 0.3s; }
@keyframes fm-typing { 0%, 100% { opacity: 0.3; } 50% { opacity: 1; } }
.firstidea-firstmate .fm-demo__composer { margin-top: 12px; }
.firstidea-firstmate .fm-demo__composer[hidden] { display: none; }
.firstidea-firstmate .fm-demo__coach { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 12px; min-height: 32px; margin-bottom: 8px; }
.firstidea-firstmate .fm-demo__hint { flex: 1 1 auto; min-width: 0; color: var(--fm-on-deep-muted); font-size: 0.76rem; font-weight: 600; line-height: 1.35; }
.firstidea-firstmate .fm-demo__hint:empty { display: none; }
.firstidea-firstmate .fm-demo__replies { display: flex; flex-wrap: wrap; gap: 6px; margin-left: auto; }
.firstidea-firstmate .fm-demo__replies:empty { display: none; }
.firstidea-firstmate .fm-demo__replies button { min-height: 32px; padding: 5px 12px; border: 1px solid var(--fm-deep-line); border-radius: 999px; background: transparent; color: var(--fm-on-deep); font-size: 0.76rem; font-weight: 700; }
.firstidea-firstmate .fm-demo__replies button:hover { border-color: rgba(255, 255, 255, 0.35); }
.firstidea-firstmate .fm-demo__input { display: flex; align-items: center; gap: 8px; padding: 6px 6px 6px 14px; border: 1px solid var(--fm-deep-line); border-radius: 999px; background: rgba(255, 255, 255, 0.04); }
.firstidea-firstmate .fm-demo__input p { flex: 1 1 auto; min-width: 0; color: var(--aqua); font-size: 0.8rem; font-weight: 700; line-height: 1.3; overflow-wrap: anywhere; }
.firstidea-firstmate .fm-demo__input p.is-empty { overflow: hidden; color: #7f949a; font-family: var(--font); font-size: 0.8rem; text-overflow: ellipsis; white-space: nowrap; }
.firstidea-firstmate .fm-demo__send { flex: none; min-height: 34px; padding: 6px 13px; border: 0; border-radius: 999px; background: var(--aqua); color: var(--ink); font-size: 0.76rem; font-weight: 800; }
.firstidea-firstmate .fm-demo__send:disabled { cursor: default; background: rgba(255, 255, 255, 0.1); color: #7f949a; }
.firstidea-firstmate .fm-demo__note { margin-top: 12px; color: #8ea2a8; font-size: 0.7rem; }
/* The sticky site header owns the top edge; on phones it hides while scrolling down. */
.firstidea-firstmate .fm-subnav { position: sticky; top: calc(var(--wp-admin--admin-bar--height, 0px) + 4.9rem); z-index: 20; transition: top 0.24s cubic-bezier(0.22, 1, 0.36, 1); border-block: 1px solid var(--line); background: rgba(255, 255, 255, 0.94); backdrop-filter: blur(10px); }
.firstidea-firstmate .fm-subnav__inner { display: flex; gap: clamp(16px, 2.5vw, 32px); overflow-x: auto; scrollbar-width: none; }
.firstidea-firstmate .fm-subnav__inner::-webkit-scrollbar { display: none; }
.firstidea-firstmate .fm-subnav a { flex: none; padding-block: 15px 13px; border-bottom: 2px solid transparent; color: var(--muted); font-size: 0.82rem; font-weight: 700; text-decoration: none; white-space: nowrap; }
.firstidea-firstmate .fm-subnav a:hover { color: var(--ink); }
.firstidea-firstmate .fm-subnav a[aria-current="true"] { border-bottom-color: var(--aqua-dark); color: var(--ink); }
@media (width <= 70rem) {
  .firstidea-firstmate .fm-subnav { top: calc(var(--wp-admin--admin-bar--height, 0px) + 5.4rem); }
  /* The theme's floating phone CTA must not cover the demo's send button. */
  .firstidea-firstmate .fm-demo__send { scroll-margin-bottom: 5.5rem; }
}
@media (width <= 52rem) {
  .firstidea-firstmate .fm-subnav { top: calc(var(--wp-admin--admin-bar--height, 0px) + 4.8rem); }
}
body.is-mobile-header-hidden:not(.menu-is-open) .firstidea-firstmate .fm-subnav { top: var(--wp-admin--admin-bar--height, 0px); }
.firstidea-firstmate .fm-section { padding-block: var(--internal-space); scroll-margin-top: 1.5rem; }
.firstidea-firstmate .fm-section--mist { background: var(--mist); }
.firstidea-firstmate .fm-section--deep { background: var(--fm-deep); color: #fff; }
.firstidea-firstmate .fm-section--deep .fm-section__head > p:not(.eyebrow) { color: var(--fm-on-deep-muted); }
.firstidea-firstmate .fm-section__head { max-width: 760px; margin-bottom: clamp(32px, 4vw, 52px); }
.firstidea-firstmate .fm-section__head > p:not(.eyebrow) { margin-top: 16px; color: var(--muted); font-size: 1.05rem; }
.firstidea-firstmate .fm-import__grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 20px; align-items: stretch; }
.firstidea-firstmate .fm-sources { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.firstidea-firstmate .fm-source { display: flex; flex-direction: column; padding: 20px; border: 1px solid var(--line); border-radius: var(--fm-radius); background: #fff; }
.firstidea-firstmate .fm-source__icon { width: 36px; height: 36px; padding: 7px; border-radius: 10px; background: var(--aqua-soft); color: var(--aqua-dark); fill: none; stroke: currentColor; stroke-width: 1.800; stroke-linecap: round; stroke-linejoin: round; }
.firstidea-firstmate .fm-source h3 { margin-top: 12px; font-size: 1.05rem; }
.firstidea-firstmate .fm-source p { margin-top: 4px; color: var(--muted); font-size: 0.875rem; line-height: 1.5; }
.firstidea-firstmate .fm-chips { display: flex; flex-wrap: wrap; gap: 5px; margin-top: auto; padding-top: 12px; }
.firstidea-firstmate .fm-chip { padding: 2px 9px; border-radius: 999px; background: var(--aqua-soft); color: var(--aqua-dark); font-size: 0.7rem; font-weight: 800; }
.firstidea-firstmate .fm-source--off { border-style: dashed; background: transparent; }
.firstidea-firstmate .fm-source--off .fm-source__icon { background: var(--mist); color: var(--muted); }
.firstidea-firstmate .fm-chip--off { background: #fff0ed; color: #b23a22; }
.firstidea-firstmate .fm-draft { display: flex; flex-direction: column; padding: clamp(22px, 2.6vw, 32px); border-radius: var(--fm-radius-lg); color: var(--fm-on-deep); background: repeating-radial-gradient(circle at 12% 0%, rgba(85, 203, 208, 0.05) 0 1px, transparent 1px 64px), radial-gradient(80% 50% at 10% 0%, rgba(85, 203, 208, 0.22), rgba(85, 203, 208, 0) 75%), var(--fm-deep); }
.firstidea-firstmate .fm-draft__head { display: flex; align-items: center; gap: 18px; }
.firstidea-firstmate .fm-draft__head img { flex: none; width: clamp(88px, 9vw, 120px); height: auto; }
.firstidea-firstmate .fm-draft__kicker { color: var(--aqua); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.13em; text-transform: uppercase; }
.firstidea-firstmate .fm-draft__head h3 { margin-top: 6px; color: #fff; font-size: clamp(1.2rem, 1rem + 0.7vw, 1.5rem); letter-spacing: -0.03em; text-wrap: balance; }
.firstidea-firstmate .fm-draft__card { margin-top: 22px; padding: 18px; border: 1px solid var(--fm-deep-line); border-radius: var(--fm-radius); background: rgba(255, 255, 255, 0.05); }
.firstidea-firstmate .fm-draft__title { display: flex; align-items: center; gap: 8px; color: #fff; font-size: 0.92rem; font-weight: 800; }
.firstidea-firstmate .fm-draft__title::before { content: ""; flex: none; width: 8px; height: 8px; border-radius: 50%; background: var(--coral); }
.firstidea-firstmate .fm-draft__fields li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 12px; padding-block: 10px; border-top: 1px solid rgba(255, 255, 255, 0.08); }
.firstidea-firstmate .fm-draft__fields { margin-top: 10px; }
.firstidea-firstmate .fm-draft__fields span { grid-column: 1 / -1; color: var(--fm-on-deep-muted); font-size: 0.74rem; }
.firstidea-firstmate .fm-draft__fields strong { color: #fff; font-size: 0.95rem; font-weight: 700; }
.firstidea-firstmate .fm-draft__fields em { grid-row: 2 / span 2; grid-column: 2; align-self: center; color: var(--aqua); font-size: 0.85rem; font-style: normal; font-weight: 800; font-variant-numeric: tabular-nums; }
.firstidea-firstmate .fm-meter { display: block; height: 4px; margin-top: 5px; border-radius: 999px; background: linear-gradient(90deg, var(--aqua) var(--value), rgba(255, 255, 255, 0.12) var(--value)); }
.firstidea-firstmate .fm-meter--low { background: linear-gradient(90deg, var(--coral) var(--value), rgba(255, 255, 255, 0.12) var(--value)); }
.firstidea-firstmate .fm-draft__warn { margin-top: 8px; padding: 8px 12px; border-left: 2px solid var(--coral); background: rgba(255, 118, 95, 0.1); color: #ffd9d1; font-size: 0.82rem; line-height: 1.45; }
.firstidea-firstmate .fm-draft__caption { margin-top: 12px; color: var(--fm-on-deep-muted); font-size: 0.74rem; line-height: 1.5; }
.firstidea-firstmate .fm-draft__next { margin-top: auto; padding-top: 22px; counter-reset: draft-step; }
.firstidea-firstmate .fm-draft__next li { position: relative; padding: 11px 0 11px 36px; border-top: 1px solid var(--fm-deep-line); color: var(--fm-on-deep); font-size: 0.9rem; line-height: 1.45; counter-increment: draft-step; }
.firstidea-firstmate .fm-draft__next li::before { content: counter(draft-step); position: absolute; left: 0; top: 10px; width: 24px; height: 24px; border-radius: 50%; background: rgba(85, 203, 208, 0.16); color: var(--aqua); font-size: 0.75rem; font-weight: 800; line-height: 24px; text-align: center; }
.firstidea-firstmate .fm-import__points { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(20px, 2.6vw, 32px); margin-top: clamp(28px, 3.5vw, 44px); }
.firstidea-firstmate .fm-import__points li { padding-top: 14px; border-top: 2px solid var(--line); color: var(--muted); font-size: 0.9rem; line-height: 1.5; }
.firstidea-firstmate .fm-import__points strong { display: block; margin-bottom: 4px; color: var(--ink); font-size: 1rem; font-weight: 800; letter-spacing: -0.015em; }
.firstidea-firstmate .fm-import__note { margin-top: clamp(24px, 3vw, 36px); padding: 16px 20px; border-left: 3px solid var(--aqua); border-radius: 0 12px 12px 0; background: var(--mist); color: var(--fm-ink-soft); }
.firstidea-firstmate .fm-import__note strong { font-weight: 800; color: var(--ink); }
.firstidea-firstmate .fm-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(20px, 2.6vw, 36px); }
.firstidea-firstmate .fm-steps li { padding-top: 18px; border-top: 2px solid var(--line); }
.firstidea-firstmate .fm-steps__num { display: block; margin-bottom: 26px; color: var(--aqua-dark); font-size: 0.85rem; font-weight: 800; letter-spacing: 0.08em; }
.firstidea-firstmate .fm-steps p { margin-top: 10px; color: var(--muted); font-size: 0.95rem; }
.firstidea-firstmate .fm-features__controls { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 24px; margin-bottom: 26px; }
.firstidea-firstmate .fm-features__controls[hidden] { display: none; }
.firstidea-firstmate .fm-tabs { display: flex; flex-wrap: wrap; gap: 6px; }
.firstidea-firstmate .fm-tabs [role="tab"] { display: inline-flex; align-items: center; gap: 8px; min-height: 42px; padding: 8px 16px; border: 1px solid var(--line); border-radius: 999px; background: #fff; color: var(--fm-ink-soft); font-size: 0.85rem; font-weight: 700; transition: background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease; }
.firstidea-firstmate .fm-tabs [role="tab"]:hover { border-color: var(--ink); }
.firstidea-firstmate .fm-tabs [role="tab"][aria-selected="true"] { background: var(--ink); border-color: var(--ink); color: #fff; }
.firstidea-firstmate .fm-tabs__count { color: var(--muted); font-size: 0.75rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.firstidea-firstmate [aria-selected="true"] .fm-tabs__count { color: var(--aqua); }
.firstidea-firstmate .fm-segmented { display: inline-flex; padding: 3px; border: 1px solid var(--line); border-radius: 999px; background: #fff; }
.firstidea-firstmate .fm-segmented button { min-height: 36px; padding: 5px 14px; border: 0; border-radius: 999px; background: transparent; color: var(--muted); font-size: 0.8rem; font-weight: 700; }
.firstidea-firstmate .fm-segmented button:hover { color: var(--ink); }
.firstidea-firstmate .fm-segmented button[aria-pressed="true"] { background: var(--aqua-soft); color: var(--aqua-dark); }
.firstidea-firstmate .fm-panel { display: grid; grid-template-columns: minmax(0, 270px) minmax(0, 1fr); gap: clamp(24px, 4vw, 56px); padding: clamp(22px, 3vw, 36px); border: 1px solid var(--line); border-radius: var(--fm-radius-lg); background: #fff; }
.firstidea-firstmate .fm-panel[hidden] { display: none; }
.firstidea-firstmate .fm-panel + .fm-panel { margin-top: 20px; }
.firstidea-firstmate .fm-panel__intro h3 { font-size: 1.35rem; letter-spacing: -0.03em; }
.firstidea-firstmate .fm-prompt { margin-top: 16px; padding: 12px 14px; border-radius: 14px 14px 14px 4px; background: var(--aqua-soft); color: var(--fm-ink-soft); font-size: 0.875rem; font-weight: 500; }
.firstidea-firstmate .fm-prompt::before { content: "Παράδειγμα"; display: block; margin-bottom: 4px; color: var(--aqua-dark); font-size: 0.68rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.firstidea-firstmate :lang(en).fm-prompt::before { content: "Example"; }
.firstidea-firstmate .fm-feature-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 clamp(24px, 3vw, 40px); grid-column: 2; }
.firstidea-firstmate .fm-feature-list li { padding-block: 14px; border-top: 1px solid var(--line); }
.firstidea-firstmate .fm-feature-list li[hidden] { display: none; }
.firstidea-firstmate .fm-feature-list strong { display: block; font-size: 0.95rem; font-weight: 800; letter-spacing: -0.01em; }
.firstidea-firstmate .fm-feature-list span { display: block; margin-top: 3px; color: var(--muted); font-size: 0.875rem; line-height: 1.5; }
.firstidea-firstmate .fm-tag { display: inline-block; margin-top: 7px; padding: 2px 9px; border-radius: 999px; background: var(--aqua-soft); color: var(--aqua-dark); font-size: 0.7rem; font-style: normal; font-weight: 800; }
.firstidea-firstmate .fm-panel__note { grid-column: 2; margin-top: -8px; color: var(--muted); font-size: 0.82rem; }
.firstidea-firstmate .fm-control-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.firstidea-firstmate .fm-control { padding: clamp(22px, 2.6vw, 30px); border: 1px solid var(--fm-deep-line); border-radius: var(--fm-radius-lg); background: var(--fm-deep-raised); }
.firstidea-firstmate .fm-control h3 { color: var(--aqua); }
.firstidea-firstmate .fm-control ul { margin-top: 12px; }
.firstidea-firstmate .fm-control li { position: relative; padding: 11px 0 11px 26px; border-top: 1px solid var(--fm-deep-line); color: var(--fm-on-deep-muted); font-size: 0.9rem; line-height: 1.5; }
.firstidea-firstmate .fm-control li:first-child { border-top: 0; }
.firstidea-firstmate .fm-control li::before { content: ""; position: absolute; left: 1px; top: 17px; width: 12px; height: 7px; border-left: 2px solid var(--aqua); border-bottom: 2px solid var(--aqua); transform: rotate(-45deg) translateY(-2px); }
.firstidea-firstmate .fm-control strong { color: #fff; font-weight: 700; }
.firstidea-firstmate .fm-callout { margin-top: 16px; padding: clamp(22px, 2.6vw, 30px); border: 1px solid rgba(255, 118, 95, 0.45); border-radius: var(--fm-radius-lg); background: rgba(255, 118, 95, 0.08); }
.firstidea-firstmate .fm-callout h3 { color: #fff; }
.firstidea-firstmate .fm-callout p { max-width: 90ch; margin-top: 8px; color: var(--fm-on-deep); font-size: 0.95rem; }
.firstidea-firstmate .fm-compare { overflow: hidden; border: 1px solid var(--line); border-radius: var(--fm-radius-lg); }
.firstidea-firstmate .fm-compare table { width: 100%; border-collapse: collapse; font-size: 0.92rem; }
.firstidea-firstmate .fm-compare th, .firstidea-firstmate .fm-compare td { padding: 15px clamp(14px, 2vw, 24px); border-top: 1px solid var(--line); text-align: left; vertical-align: top; line-height: 1.45; }
.firstidea-firstmate .fm-compare thead th { border-top: 0; background: var(--mist); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }
.firstidea-firstmate .fm-compare tbody th { width: 30%; font-weight: 700; }
.firstidea-firstmate .fm-compare td { width: 35%; color: var(--fm-ink-soft); }
.firstidea-firstmate .fm-compare .fm-yes { font-weight: 700; color: var(--aqua-dark); }
.firstidea-firstmate .fm-compare .fm-no { color: var(--muted); }
.firstidea-firstmate .fm-req-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.firstidea-firstmate .fm-req { padding: 24px; border: 1px solid var(--line); border-radius: var(--fm-radius); background: #fff; }
.firstidea-firstmate .fm-req ul { margin-top: 12px; }
.firstidea-firstmate .fm-req li { padding-block: 9px; border-top: 1px solid var(--line); color: var(--fm-ink-soft); font-size: 0.9rem; line-height: 1.45; }
.firstidea-firstmate .fm-cta { background: radial-gradient(60% 120% at 90% 0%, rgba(85, 203, 208, 0.22), rgba(85, 203, 208, 0) 70%), var(--fm-deep); color: #fff; }
.firstidea-firstmate .fm-cta__inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 28px 48px; padding-block: clamp(56px, 7vw, 88px); }
.firstidea-firstmate .fm-cta__copy { display: flex; align-items: center; gap: 22px; min-width: 0; }
.firstidea-firstmate .fm-cta__copy img { flex: none; width: clamp(72px, 8vw, 96px); height: auto; }
.firstidea-firstmate .fm-cta__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px; }
.firstidea-firstmate .fm-cta__mail { display: inline-block; padding-block: 8px; color: var(--fm-on-deep); font-size: 0.95rem; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.firstidea-firstmate .fm-cta__mail:hover { color: var(--aqua); }
@media (max-width: 1100px) {
  .firstidea-firstmate .fm-hero__grid { grid-template-columns: minmax(0, 1fr); }
  .firstidea-firstmate .fm-demo { width: min(100%, 640px); margin-top: 34px; }
  .firstidea-firstmate .fm-hero__try { justify-content: flex-start; align-items: flex-end; gap: 6px; margin-top: 16px; }
  .firstidea-firstmate .fm-try__arrow--side { display: none; }
  .firstidea-firstmate .fm-try__arrow--down { position: static; display: block; flex: none; width: 20px; height: auto; margin-bottom: -16px; }
  .firstidea-firstmate .fm-import__grid { grid-template-columns: minmax(0, 1fr); }
  .firstidea-firstmate .fm-import__points { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .firstidea-firstmate .fm-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .firstidea-firstmate .fm-req-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .firstidea-firstmate .fm-panel { grid-template-columns: minmax(0, 1fr); }
  .firstidea-firstmate .fm-feature-list, .firstidea-firstmate .fm-panel__note { grid-column: 1; }
  .firstidea-firstmate .fm-panel__note { margin-top: 0; }
  .firstidea-firstmate .fm-demo__log { height: auto; min-height: 300px; overflow: visible; }
}
@media (max-width: 860px) {
  .firstidea-firstmate .fm-control-grid { grid-template-columns: minmax(0, 1fr); }
  .firstidea-firstmate .fm-feature-list { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 720px) {
  .firstidea-firstmate .fm-compare { overflow: visible; border: 0; border-radius: 0; }
  .firstidea-firstmate .fm-compare table, .firstidea-firstmate .fm-compare tbody, .firstidea-firstmate .fm-compare tr, .firstidea-firstmate .fm-compare th, .firstidea-firstmate .fm-compare td { display: block; width: auto; }
  .firstidea-firstmate .fm-compare thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .firstidea-firstmate .fm-compare tr { padding: 14px 16px; border: 1px solid var(--line); border-radius: var(--fm-radius); }
  .firstidea-firstmate .fm-compare tr + tr { margin-top: 10px; }
  .firstidea-firstmate .fm-compare tbody th { width: auto; padding: 0 0 8px; border: 0; }
  .firstidea-firstmate .fm-compare td { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 10px; padding: 7px 0; border-top: 1px solid var(--line); }
  .firstidea-firstmate .fm-compare td::before { content: attr(data-label); color: var(--muted); font-size: 0.78rem; font-weight: 700; }
}
@media (max-width: 560px) {
  .firstidea-firstmate .fm-demo__live { top: 13px; right: 12px; }
  .firstidea-firstmate .fm-demo__live-word { display: none; }
  .firstidea-firstmate .fm-sources, .firstidea-firstmate .fm-import__points { grid-template-columns: minmax(0, 1fr); }
  .firstidea-firstmate .fm-draft__head { align-items: flex-start; }
  .firstidea-firstmate .fm-cta__copy { align-items: flex-start; }
  .firstidea-firstmate .fm-steps { grid-template-columns: minmax(0, 1fr); }
  .firstidea-firstmate .fm-steps__num { margin-bottom: 12px; }
  .firstidea-firstmate .fm-req-grid { grid-template-columns: minmax(0, 1fr); }
  .firstidea-firstmate .fm-demo { padding: 14px; border-radius: 20px; }
  .firstidea-firstmate .fm-features__controls { align-items: stretch; flex-direction: column; }
  .firstidea-firstmate .fm-segmented { align-self: flex-start; }
  .firstidea-firstmate .fm-tabs [role="tab"] { min-height: 40px; padding: 7px 13px; }
  .firstidea-firstmate .fm-cta__actions, .firstidea-firstmate .fm-cta__actions .button { width: 100%; }
  .firstidea-firstmate .fm-demo__input p.is-empty { font-size: 0.76rem; }
}

@media (prefers-reduced-motion: reduce) {
  .firstidea-firstmate *, .firstidea-firstmate *::before, .firstidea-firstmate *::after { transition: none !important; animation: none !important; }
}
