@charset "UTF-8";

body.rm-aio-lp-page {
  margin: 0;
  background: #fff;
}

.rm-aio-lp {
  --rm-ink: #15181d;
  --rm-paper: #fff;
  --rm-soft: #f3f6f8;
  --rm-line: #dce2e8;
  --rm-muted: #5b6572;
  --rm-blue: #1767e8;
  --rm-blue-dark: #0e2f65;
  --rm-mint: #e8f8f3;
  color: var(--rm-ink);
  background: var(--rm-paper);
  font-family: "Meiryo UI", Meiryo, sans-serif;
  font-size: 16px;
  line-height: 1.8;
  overflow: hidden;
}

.rm-aio-lp *,
.rm-aio-lp *::before,
.rm-aio-lp *::after { box-sizing: border-box; }

.rm-aio-lp h1,
.rm-aio-lp h2,
.rm-aio-lp h3,
.rm-aio-lp p,
.rm-aio-lp ul,
.rm-aio-lp ol { margin-top: 0; }

.rm-aio-lp h1,
.rm-aio-lp h2,
.rm-aio-lp h3 { color: var(--rm-ink); font-weight: 700; }
.rm-aio-lp h1 { margin-bottom: 20px; font-size: clamp(2.2rem, 5vw, 4.5rem); line-height: 1.18; letter-spacing: -.045em; }
.rm-aio-lp h2 { margin-bottom: 16px; font-size: clamp(1.75rem, 3.3vw, 2.75rem); line-height: 1.35; letter-spacing: -.025em; }
.rm-aio-lp h3 { margin-bottom: 8px; font-size: 1.08rem; line-height: 1.5; }
.rm-aio-lp p { margin-bottom: 18px; color: var(--rm-muted); }
.rm-aio-lp a { color: inherit; }

.rm-aio-container { width: min(1120px, calc(100% - 40px)); margin-inline: auto; }
.rm-aio-header { position: relative; z-index: 10; background: #081d3a; border-bottom: 1px solid rgba(255,255,255,.14); }
.rm-aio-header__inner { min-height: 74px; display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.rm-aio-logo { color: var(--rm-ink); font-family: Georgia, serif; font-size: 1.35rem; font-weight: 700; letter-spacing: .09em; text-decoration: none; }
.rm-aio-logo-image { display: inline-flex; align-items: center; text-decoration: none; }
.rm-aio-logo-image img { display: block; width: auto; height: 38px; object-fit: contain; }

.rm-aio-button { display: inline-flex; min-height: 54px; align-items: center; justify-content: center; gap: 10px; padding: 0 28px; border: 1px solid var(--rm-ink); border-radius: 4px; color: #fff !important; text-decoration: none; font-weight: 700; transition: opacity .2s ease, transform .2s ease; }
.rm-aio-button:hover { opacity: .82; transform: translateY(-1px); }
.rm-aio-button--dark { color: #fff; background: var(--rm-ink); }
.rm-aio-button--primary { color: #fff; background: var(--rm-blue); border-color: var(--rm-blue); }

.rm-aio-eyebrow { margin-bottom: 12px !important; color: var(--rm-blue) !important; font-size: .76rem; font-weight: 700; letter-spacing: .14em; }
.rm-aio-lead { max-width: 620px; font-size: 1.04rem; }
.rm-aio-outcomes { display: grid; gap: 8px; margin: 22px 0; padding: 0; list-style: none; }
.rm-aio-outcomes li { position: relative; padding-left: 25px; color: var(--rm-blue-dark); }
.rm-aio-outcomes li::before { content: "✓"; position: absolute; left: 0; color: var(--rm-blue); font-weight: 700; }
.rm-aio-hero { padding: 80px 0 100px; background: linear-gradient(135deg, var(--rm-paper) 48%, var(--rm-soft)); }
.rm-aio-hero__grid { display: grid; grid-template-columns: 1.08fr .92fr; align-items: center; gap: 64px; }
.rm-aio-chips { display: flex; flex-wrap: wrap; gap: 9px; margin: 24px 0; padding: 0; list-style: none; }
.rm-aio-chips li { padding: 6px 11px; border: 1px solid var(--rm-line); border-radius: 999px; color: var(--rm-blue-dark); background: var(--rm-paper); font-size: .78rem; }

.rm-aio-visual { position: relative; min-height: 430px; display: grid; place-items: center; }
.rm-aio-visual__orbit { width: min(390px, 100%); aspect-ratio: 1; display: grid; place-items: center; border: 1px solid var(--rm-line); border-radius: 50%; background: radial-gradient(circle, var(--rm-soft) 0 36%, transparent 37%); }
.rm-aio-visual__orbit::before,
.rm-aio-visual__orbit::after { content: ""; position: absolute; width: 76%; aspect-ratio: 1; border: 1px solid var(--rm-line); border-radius: 50%; transform: rotate(24deg) scaleY(.45); }
.rm-aio-visual__orbit::after { transform: rotate(-28deg) scaleY(.55); }
.rm-aio-visual__core { position: relative; z-index: 1; width: 130px; aspect-ratio: 1; display: grid; place-items: center; border-radius: 24px; color: #fff; background: linear-gradient(145deg, var(--rm-blue), #7b61ff); box-shadow: 0 26px 70px rgba(23,103,232,.25); text-align: center; font-weight: 700; letter-spacing: .08em; }
.rm-aio-visual__report { position: absolute; z-index: 1; width: 72%; max-height: 300px; object-fit: cover; object-position: top; border: 1px solid var(--rm-line); background: #fff; box-shadow: 0 24px 60px rgba(24,34,48,.18); transform: rotate(-2deg); }
.rm-aio-visual__note { position: absolute; z-index: 2; min-width: 130px; padding: 12px 15px; background: var(--rm-paper); border: 1px solid var(--rm-line); box-shadow: 0 12px 40px rgba(24,34,48,.1); font-size: .78rem; }
.rm-aio-visual__note strong, .rm-aio-visual__note span { display: block; }
.rm-aio-visual__note strong { color: var(--rm-blue-dark); }
.rm-aio-visual__note--one { top: 17%; left: 0; }
.rm-aio-visual__note--two { top: 30%; right: 0; }
.rm-aio-visual__note--three { bottom: 12%; left: 8%; }

.rm-aio-section { padding: 92px 0; scroll-margin-top: 20px; }
.rm-aio-section--soft { background: var(--rm-soft); }
.rm-aio-section--dark { color: #fff; background: #081d3a; }
.rm-aio-section--dark h2, .rm-aio-section--dark h3 { color: #fff; }
.rm-aio-section--dark p { color: #c9d6e8; }
.rm-aio-section--dark .rm-aio-eyebrow { color: #78aaff !important; }
.rm-aio-section--dark .rm-aio-problems article { border-color: #74a8ff; background: #102b52; }
.rm-aio-section--dark .rm-aio-problems article > span { color: #78aaff; }
.rm-aio-intro { max-width: 740px; margin-bottom: 42px; }
.rm-aio-problems { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.rm-aio-problems article { padding: 28px; border-top: 2px solid var(--rm-blue); background: var(--rm-paper); }
.rm-aio-problems article > span { color: var(--rm-blue); font-size: .75rem; font-weight: 700; letter-spacing: .09em; }

.rm-aio-about { display: grid; grid-template-columns: .88fr 1.12fr; align-items: center; gap: 70px; }
.rm-aio-venn { position: relative; min-height: 350px; }
.rm-aio-venn__circle { position: absolute; width: 220px; aspect-ratio: 1; display: grid; place-items: center; border: 1px solid var(--rm-line); border-radius: 50%; background: rgba(255,255,255,.8); text-align: center; }
.rm-aio-venn__circle strong, .rm-aio-venn__circle span { display: block; }
.rm-aio-venn__circle strong { color: var(--rm-blue-dark); font-size: 1.15rem; }
.rm-aio-venn__circle--seo { top: 10px; left: 4%; }
.rm-aio-venn__circle--llmo { top: 10px; right: 4%; }
.rm-aio-venn__circle--aio { bottom: 0; left: calc(50% - 110px); border-color: var(--rm-blue); background: rgba(229,239,255,.9); }
.rm-aio-process { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; margin-top: 40px; }
.rm-aio-process > div { position: relative; padding: 18px; border: 1px solid var(--rm-line); background: var(--rm-paper); text-align: center; }
.rm-aio-process > div:not(:last-child)::after { content: "→"; position: absolute; z-index: 2; top: calc(50% - 13px); right: -12px; color: var(--rm-blue); font-size: 1.2rem; }
.rm-aio-process strong, .rm-aio-process span { display: block; }
.rm-aio-process span { margin-top: 5px; color: var(--rm-muted); font-size: .82rem; }

.rm-aio-checks { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; border: 1px solid var(--rm-line); background: var(--rm-line); }
.rm-aio-checks article { min-height: 195px; padding: 28px; background: var(--rm-paper); }
.rm-aio-checks article > span { width: 40px; height: 40px; display: grid; place-items: center; margin-bottom: 22px; border-radius: 50%; color: var(--rm-blue); background: var(--rm-soft); font-size: .78rem; font-weight: 700; }

.rm-aio-report { display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 64px; }
.rm-aio-report__sheet { padding: 26px; border: 1px solid var(--rm-line); background: var(--rm-paper); box-shadow: 0 26px 65px rgba(24,34,48,.11); transform: rotate(-1.4deg); }
.rm-aio-report__head { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 18px; padding-bottom: 14px; border-bottom: 1px solid var(--rm-line); }
.rm-aio-report__score { color: var(--rm-blue); font-size: 2.2rem; font-weight: 700; }
.rm-aio-report__bar { height: 8px; margin: 8px 0 20px; overflow: hidden; border-radius: 999px; background: var(--rm-soft); }
.rm-aio-report__bar span { display: block; width: 68%; height: 100%; background: var(--rm-blue); }
.rm-aio-report__sheet p { margin-bottom: 9px; padding: 12px; color: var(--rm-blue-dark); background: var(--rm-mint); font-size: .84rem; }
.rm-aio-report__sheet small { color: var(--rm-muted); }
.rm-aio-report-gallery { display: grid; gap: 16px; }
.rm-aio-report-tabs { display: flex; flex-wrap: wrap; gap: 8px; }
.rm-aio-report-tabs button { min-height: 40px; padding: 0 14px; border: 1px solid var(--rm-line); color: var(--rm-ink); background: var(--rm-paper); font: inherit; cursor: pointer; }
.rm-aio-report-tabs button[aria-pressed="true"] { color: #fff; border-color: var(--rm-blue); background: var(--rm-blue); }
.rm-aio-report-image { display: block; width: 100%; max-height: 430px; object-fit: contain; object-position: top; border: 1px solid var(--rm-line); background: #fff; }
.rm-aio-deliverables { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; margin: 22px 0; }
.rm-aio-deliverables > div { padding: 14px; border-left: 2px solid var(--rm-blue); background: var(--rm-soft); }
.rm-aio-deliverables strong, .rm-aio-deliverables span { display: block; }
.rm-aio-deliverables span { margin-top: 3px; color: var(--rm-muted); font-size: .82rem; }

.rm-aio-strengths { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.rm-aio-strengths article { padding-left: 22px; border-left: 1px solid var(--rm-line); }
.rm-aio-partner { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 64px; }
.rm-aio-partner__lockup { min-height: 220px; display: grid; grid-template-columns: 1fr auto 1fr; justify-content: center; align-items: center; gap: 16px; }
.rm-aio-partner__lockup span { color: var(--rm-blue); font-size: 1.8rem; }
.rm-aio-logo-panel { min-height: 180px; display: grid; place-items: center; padding: 24px; border: 1px solid var(--rm-line); }
.rm-aio-logo-panel--dark { background: #0b1524; }
.rm-aio-logo-panel--light { background: #fff; }
.rm-aio-logo-panel img { display: block; max-width: 100%; max-height: 92px; object-fit: contain; }
.rm-aio-role-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 18px; }
.rm-aio-role-grid > div { padding: 12px; border-left: 2px solid var(--rm-blue); background: var(--rm-soft); }
.rm-aio-role-grid strong, .rm-aio-role-grid span { display: block; }
.rm-aio-role-grid span { margin-top: 3px; color: var(--rm-muted); font-size: .82rem; }

.rm-aio-flow { display: grid; grid-template-columns: repeat(4, 1fr); margin: 42px 0 0; padding: 0; list-style: none; }
.rm-aio-flow li { position: relative; padding: 27px 22px; border-top: 1px solid var(--rm-line); }
.rm-aio-flow li::before { content: ""; position: absolute; top: -5px; left: 22px; width: 9px; height: 9px; border-radius: 50%; background: var(--rm-blue); }
.rm-aio-flow li > span { color: var(--rm-blue); font-size: .76rem; font-weight: 700; letter-spacing: .09em; }

.rm-aio-faq { max-width: 820px; }
.rm-aio-faq__item h3 { margin: 0; }
.rm-aio-faq__item button { width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 21px 0; border: 0; border-bottom: 1px solid var(--rm-line); color: var(--rm-ink); background: transparent; font: inherit; font-weight: 700; text-align: left; cursor: pointer; }
.rm-aio-faq__item button span { font-size: 1.35rem; transition: transform .2s ease; }
.rm-aio-faq__item button[aria-expanded="true"] span { transform: rotate(45deg); }
.rm-aio-faq__answer { padding: 18px 0; border-bottom: 1px solid var(--rm-line); }
.rm-aio-faq__answer p { margin: 0; }

.rm-aio-form-layout { display: grid; grid-template-columns: .8fr 1.2fr; align-items: start; gap: 60px; }
.rm-aio-form-box { padding: 34px; border: 1px solid var(--rm-line); background: var(--rm-paper); }
.rm-aio-form-box label { display: block; color: var(--rm-ink); font-size: .86rem; font-weight: 700; }
.rm-aio-form-box input:not([type="checkbox"]):not([type="radio"]),
.rm-aio-form-box textarea,
.rm-aio-form-box select { width: 100%; min-height: 48px; margin-top: 7px; padding: 12px; border: 1px solid var(--rm-line); border-radius: 0; color: var(--rm-ink); background: var(--rm-soft); font: inherit; }
.rm-aio-form-box textarea { min-height: 120px; resize: vertical; }
.rm-aio-form-box .wpcf7-form > p { margin-bottom: 19px; }
.rm-aio-form-box input[type="submit"], .rm-aio-form-box button[type="submit"] { width: 100%; min-height: 52px; border: 1px solid var(--rm-blue); border-radius: 3px; color: #fff; background: var(--rm-blue); font: inherit; font-weight: 700; cursor: pointer; }
.rm-aio-form-box .wpcf7-not-valid-tip { color: #b42318; font-size: .78rem; }
.rm-aio-form-box .wpcf7-response-output { margin: 18px 0 0; padding: 12px; border-width: 1px; }
.rm-aio-admin-notice { padding: 16px; border: 1px solid #d6a800; background: #fff7cc; color: #4d3b00; }
.rm-aio-section--form { color: #fff; background: #081d3a; }
.rm-aio-section--form h2 { color: #fff; }
.rm-aio-section--form .rm-aio-form-layout > div:first-child > p { color: #c9d6e8; }
.rm-aio-section--form .rm-aio-outcomes li { color: #e3ebf6; }

.rm-aio-footer { padding: 48px 0 92px; border-top: 1px solid rgba(255,255,255,.14); color: #fff; background: #081d3a; }
.rm-aio-footer__inner { display: flex; justify-content: space-between; align-items: flex-start; gap: 28px; }
.rm-aio-footer__inner > div { display: grid; gap: 8px; }
.rm-aio-footer__inner small { color: var(--rm-muted); }
.rm-aio-footer nav { display: flex; flex-wrap: wrap; gap: 18px; }
.rm-aio-footer nav a { color: var(--rm-muted); font-size: .78rem; text-decoration: none; }
.rm-aio-footer .rm-aio-logo-image img { height: 54px; }
.rm-aio-footer nav a, .rm-aio-footer small { color: #c9d6e8; }
.rm-aio-mobile-cta { display: none; }

@media (max-width: 780px) {
  .rm-aio-container { width: min(100% - 28px, 1120px); }
  .rm-aio-header__inner { min-height: 64px; }
  .rm-aio-header .rm-aio-button { min-height: 40px; padding: 0 14px; }
  .rm-aio-hero { padding: 56px 0 70px; }
  .rm-aio-hero__grid, .rm-aio-about, .rm-aio-report, .rm-aio-partner, .rm-aio-form-layout { grid-template-columns: 1fr; gap: 40px; }
  .rm-aio-hero__copy { position: relative; z-index: 3; }
  .rm-aio-visual { min-height: 350px; }
  .rm-aio-visual__note { padding: 10px; }
  .rm-aio-visual__note--one { top: 8%; }
  .rm-aio-section { padding: 68px 0; }
  .rm-aio-problems, .rm-aio-checks, .rm-aio-strengths { grid-template-columns: 1fr; }
  .rm-aio-process { grid-template-columns: 1fr 1fr; }
  .rm-aio-process > div:not(:last-child)::after { display: none; }
  .rm-aio-venn { margin-inline: -7%; transform: scale(.86); }
  .rm-aio-flow { grid-template-columns: 1fr 1fr; }
  .rm-aio-partner__lockup { min-height: 160px; grid-template-columns: 1fr; }
  .rm-aio-partner__lockup > span { text-align: center; }
  .rm-aio-role-grid, .rm-aio-deliverables { grid-template-columns: 1fr; }
  .rm-aio-form-box { padding: 22px; }
  .rm-aio-footer__inner { flex-direction: column; }
  .rm-aio-mobile-cta { position: fixed; z-index: 50; right: 12px; bottom: 12px; left: 12px; display: flex; min-height: 50px; align-items: center; justify-content: center; border-radius: 3px; color: #fff; background: var(--rm-blue); box-shadow: 0 12px 32px rgba(0,0,0,.2); text-decoration: none; font-weight: 700; }
}

@media (max-width: 480px) {
  .rm-aio-lp h1 { font-size: 2.35rem; }
  .rm-aio-flow { grid-template-columns: 1fr; }
  .rm-aio-visual__note { min-width: 115px; font-size: .7rem; }
  .rm-aio-venn__circle { width: 200px; }
  .rm-aio-venn__circle--aio { left: calc(50% - 100px); }
}

@media (prefers-reduced-motion: reduce) {
  .rm-aio-lp *, .rm-aio-lp *::before, .rm-aio-lp *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
