/* Applicans landing page — Origin Financial-inspired gallery system */
:root {
  --color-iris-gleam: #d9b762;
  --color-cyan-signal: #78c69d;
  --color-pale-iris: #fae9b8;
  --color-deep-iris: #916923;
  --color-orchid-bloom: #e8e0d2;
  --color-periwinkle: #efd58e;
  --color-obsidian: #030304;
  --color-abyss: #08080b;
  --color-graphite: #15151d;
  --color-steel: #23232f;
  --color-silver: #e8e0d2;
  --color-fog: #716d66;
  --color-ash: rgba(232,224,210,.76);
  --color-cloud: #f7f2e8;
  --color-pure: #f7f2e8;
  --color-void: #171208;
  --line: rgba(247,242,232,.12);
  --line-soft: rgba(247,242,232,.075);
  --font-lyon-display: "Playfair Display", Georgia, "Times New Roman", serif;
  --font-suisse-intl: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-roboto-mono: "Roboto Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  --text-mono-label: 12px;
  --text-body-sm: 14px;
  --text-body: 16px;
  --text-subheading: 18px;
  --text-heading-lg: 38px;
  --text-display-sm: 80px;
  --text-display: 96px;
  --spacing-4: 4px;
  --spacing-8: 8px;
  --spacing-12: 12px;
  --spacing-16: 16px;
  --spacing-20: 20px;
  --spacing-24: 24px;
  --spacing-32: 32px;
  --spacing-40: 40px;
  --spacing-48: 48px;
  --spacing-60: 60px;
  --spacing-68: 68px;
  --spacing-100: 100px;
  --spacing-120: 120px;
  --spacing-140: 140px;
  --radius-control: 8px;
  --radius-card: 16px;
  --radius-feature: 30px;
  --radius-pill: 9999px;
  --origin-ease: ease;
  --origin-reveal: cubic-bezier(.455,.03,.515,.955);
}

html:has(body.ryo-landing.has-momentum-scroll) { scroll-behavior: auto; }
html:has(body.ryo-landing), body.ryo-landing { -webkit-overflow-scrolling: touch; }

.ryo-landing {
  --hero-copy-shift: 0px;
  --hero-copy-scale: 1;
  --hero-copy-opacity: 1;
  --proof-shift: 0px;
  --proof-scale: 1;
  --proof-tilt: 0deg;
  --hero-sky-shift: 0px;
  min-width: 0;
  overflow-x: clip;
  color: var(--color-cloud);
  background: var(--color-obsidian);
  font-family: var(--font-suisse-intl);
  font-size: var(--text-body);
  font-weight: 400;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
.ryo-landing::before {
  content: "";
  position: fixed;
  z-index: 89;
  inset: 0 0 auto;
  height: 92px;
  pointer-events: none;
  opacity: 0;
  background: linear-gradient(180deg, rgba(3,3,4,.98) 0%, rgba(3,3,4,.8) 54%, rgba(3,3,4,0) 100%);
  transform: translateY(-12px);
  transition: opacity .35s ease, transform .55s cubic-bezier(.22,1,.36,1);
}
.ryo-landing:has(.site-nav.is-scrolled)::before { opacity: 1; transform: none; }
.ryo-landing *, .ryo-landing *::before, .ryo-landing *::after { box-sizing: border-box; }
.ryo-landing h1, .ryo-landing h2, .ryo-landing h3, .ryo-landing p { margin: 0; }
.ryo-landing h1, .ryo-landing h2, .ryo-landing h3 { color: inherit; font-family: var(--font-lyon-display); font-weight: 400; }
.ryo-landing b, .ryo-landing strong { color: inherit; }
.ryo-landing h1, .ryo-landing h2 { text-wrap: balance; }
.ryo-landing p { text-wrap: pretty; }
.ryo-landing a { color: inherit; }
.ryo-landing [hidden] { display: none !important; }
.ryo-landing ::selection { color: var(--color-void); background: var(--color-pale-iris); }
.ryo-landing :where(a, button):focus-visible { outline: 2px solid var(--color-pure); outline-offset: 4px; }
.ryo-landing main { background: var(--color-obsidian); }
.ryo-landing .container { width: 100%; max-width: 980px; margin-inline: auto; padding-inline: clamp(20px, 4vw, 40px); }
.ryo-landing .container--wide { max-width: 1280px; }
.ryo-landing .container--narrow { max-width: 860px; }

/* Floating Apple-glass dock */
.ryo-landing .site-nav {
  z-index: 90;
  top: 12px;
  right: auto;
  left: 50%;
  width: min(calc(100% - 32px), 1200px);
  height: 66px;
  color: var(--color-pure);
  border: 1px solid rgba(247,242,232,.14);
  border-radius: 20px;
  background: linear-gradient(180deg,rgba(35,35,47,.72),rgba(8,8,11,.58));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 22px 60px -38px rgba(0,0,0,.95);
  backdrop-filter: blur(30px) saturate(1.7);
  -webkit-backdrop-filter: blur(30px) saturate(1.7);
  transform: translateX(-50%);
  transition: top .55s cubic-bezier(.22,1,.36,1), width .55s cubic-bezier(.22,1,.36,1), height .55s cubic-bezier(.22,1,.36,1), background-color .35s ease, border-color .35s ease, box-shadow .35s ease;
}
.ryo-landing .site-nav.is-scrolled {
  top: 10px;
  width: min(calc(100% - 40px), 1060px);
  height: 58px;
  border-color: rgba(247,242,232,.18);
  background: linear-gradient(180deg,rgba(24,24,32,.82),rgba(3,3,4,.72));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.14), 0 20px 56px -34px rgba(0,0,0,.98);
}
.ryo-landing .nav-inner { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); width: 100%; max-width: 1200px; height: 100%; margin-inline: auto; padding-inline: 20px; }
.ryo-landing .brand { grid-column: 1; justify-self: start; gap: 10px; text-decoration: none; }
.ryo-landing .brand-mark { width: 28px; height: 28px; }
.ryo-landing .brand-word { color: var(--color-pure); font-size: 14px; font-weight: 500; }
.ryo-landing .nav-links { grid-column: 2; justify-self: center; gap: 2px; padding: 4px; border: 1px solid rgba(247,242,232,.08); border-radius: 12px; background: rgba(255,255,255,.035); }
.ryo-landing .nav-link, .ryo-landing .nav-signin {
  min-height: 36px;
  padding: 9px 12px;
  color: var(--color-cloud);
  border: 1px solid transparent;
  border-radius: 9px;
  background: transparent;
  font-size: 12px;
  font-weight: 400;
  text-decoration: none;
  transition: background-color .2s ease, border-color .2s ease, opacity .2s ease;
}
.ryo-landing .nav-signin { color: var(--color-ash); border-color: transparent; background: transparent; }
.ryo-landing .nav-link:hover, .ryo-landing .nav-signin:hover { color: var(--color-pure); border-color: rgba(255,255,255,.45); background: rgba(255,255,255,.12); }
.ryo-landing .nav-actions { grid-column: 3; justify-self: end; gap: 8px; }
.ryo-landing .nav-trial { width: 150px; gap: 6px; overflow: hidden; white-space: nowrap; transition: width .55s cubic-bezier(.22,1,.36,1), padding .55s cubic-bezier(.22,1,.36,1), gap .55s cubic-bezier(.22,1,.36,1), transform .2s ease, background .2s ease; }
.ryo-landing .nav-trial-label { display: inline-block; overflow: hidden; max-width: 112px; opacity: 1; transition: max-width .45s cubic-bezier(.22,1,.36,1), opacity .2s ease, margin .45s cubic-bezier(.22,1,.36,1); }
.ryo-landing .nav-trial-arrow { display: inline-grid; place-items: center; width: 16px; height: 16px; flex: none; }
.ryo-landing .nav-trial-arrow svg { display: block; width: 15px; height: 15px; overflow: visible; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
.ryo-landing .site-nav.is-scrolled .nav-trial { width: 150px; gap: 6px; padding-inline: 14px; }
.ryo-landing .site-nav.is-scrolled .nav-trial-label { max-width: 112px; margin: 0; opacity: 1; }
.ryo-landing .nav-toggle { min-width: 42px; min-height: 42px; color: var(--color-pure); border: 1px solid rgba(255,255,255,.16); border-radius: 12px; background: rgba(255,255,255,.07); box-shadow: inset 0 1px 0 rgba(255,255,255,.1); }
.ryo-landing .nav-toggle span { background: var(--color-pure); }
.ryo-landing .nav-drawer { inset: 86px 16px auto; max-height: calc(100dvh - 102px); padding: 20px 20px 28px; color: var(--color-cloud); border: 1px solid rgba(247,242,232,.14); border-radius: 20px; background: linear-gradient(180deg,rgba(24,24,32,.9),rgba(3,3,4,.82)); box-shadow: inset 0 1px 0 rgba(255,255,255,.11),0 28px 70px -34px rgba(0,0,0,.96); backdrop-filter: blur(30px) saturate(1.65); -webkit-backdrop-filter: blur(30px) saturate(1.65); }
.ryo-landing .nav-drawer, .ryo-landing .modal-body { overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
.ryo-landing .nav-drawer a { min-height: 52px; color: var(--color-cloud); border-bottom-color: var(--line); font-size: 16px; }
.ryo-landing .nav-drawer a > span { color: var(--color-pure); }
.ryo-landing .nav-drawer-actions { gap: 8px; }
.ryo-landing .nav-drawer-actions .btn--primary { color: var(--color-void); }
.ryo-landing .nav-drawer-actions .btn--secondary { color: var(--color-pure); }
.ryo-landing .scroll-progress { display: none; }

/* Actions */
.ryo-landing .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 18px;
  border: 1px solid transparent;
  border-radius: var(--radius-control);
  box-shadow: none;
  font-family: var(--font-suisse-intl);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
  text-decoration: none;
  transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease, opacity .2s ease;
}
.ryo-landing .btn--primary { color: var(--color-void); border-color: rgba(255,255,255,.2); background: linear-gradient(145deg,var(--color-pale-iris) 0%,var(--color-iris-gleam) 48%,#bc8e38 100%); box-shadow: inset 0 1px 0 rgba(255,255,255,.42),0 10px 28px -14px rgba(217,183,98,.7); }
.ryo-landing .btn--primary:hover { color: var(--color-void); border-color: rgba(255,255,255,.3); background: linear-gradient(145deg,#fff3cf 0%,var(--color-pale-iris) 46%,var(--color-iris-gleam) 100%); box-shadow: inset 0 1px 0 rgba(255,255,255,.55),0 14px 34px -16px rgba(217,183,98,.78); }
.ryo-landing .btn--secondary { color: var(--color-pure); border-color: var(--color-pure); background: transparent; }
.ryo-landing .btn--secondary:hover { color: var(--color-void); background: var(--color-pure); }
.ryo-landing .btn--sm { min-height: 38px; padding: 8px 14px; font-size: 12px; }
.ryo-landing .btn--lg { min-height: 48px; padding: 12px 20px; font-size: 16px; }
.ryo-landing .btn:active, .ryo-landing .ryo-demo-tabs button:active { transform: scale(.97); }

/* Labels */
.ryo-kicker {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 7px 15px;
  color: var(--color-cloud);
  border: 1px solid rgba(255,255,255,.15);
  border-radius: var(--radius-pill);
  background: rgba(255,255,255,.08);
  font-family: var(--font-roboto-mono);
  font-size: 10px;
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.ryo-kicker > i { width: 6px; height: 6px; border-radius: 50%; background: var(--color-iris-gleam); }

/* Atmospheric hero */
.ryo-hero {
  position: relative;
  isolation: isolate;
  min-height: 1100px;
  overflow: hidden;
  padding: clamp(120px, 12vw, 180px) 0 0;
  color: var(--color-pure);
  text-align: center;
  background: var(--color-obsidian);
}
.ryo-hero::before {
  content: "";
  position: absolute;
  z-index: -2;
  inset: -3%;
  background-image: url("/images/applicans-origin-sky-v1.png");
  background-position: center top;
  background-size: cover;
  filter: grayscale(1) sepia(.38) saturate(.65) hue-rotate(348deg) brightness(.62) contrast(1.08);
  transform: translate3d(0,var(--hero-sky-shift),0) scale(1.035);
  will-change: transform;
}
.ryo-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(to bottom, rgba(3,3,4,.58), rgba(16,16,22,.18) 42%, rgba(3,3,4,.88) 76%, #030304 100%);
}
.ryo-hero-grid { display: block; }
.ryo-hero-copy { max-width: 1050px; margin-inline: auto; opacity: var(--hero-copy-opacity); transform: translate3d(0,var(--hero-copy-shift),0) scale(var(--hero-copy-scale)); transform-origin: 50% 20%; will-change: transform,opacity; }
.ryo-hero-copy h1 {
  margin-top: 24px;
  color: var(--color-pure);
  font-size: clamp(62px, 7.5vw, 96px);
  font-weight: 400;
  line-height: .92;
  letter-spacing: -.025em;
}
.ryo-hero-copy h1 em { font-weight: 400; }
.ryo-hero-copy h1 span { display: block; color: inherit; }
.ryo-hero-lead { max-width: 650px; margin: 28px auto 0 !important; color: var(--color-cloud); font-size: 18px; font-weight: 300; line-height: 1.5; text-shadow: 0 1px 12px rgba(0,0,0,.45); }
.ryo-hero-actions { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.ryo-text-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 12px 18px;
  color: var(--color-pure);
  border: 1px solid var(--color-pure);
  border-radius: var(--radius-control);
  background: rgba(3,3,4,.34);
  font-size: 16px;
  text-decoration: none;
  transition: color .2s ease, background-color .2s ease, transform .2s ease;
}
.ryo-text-link:hover { color: var(--color-void); background: var(--color-pure); }
.ryo-text-link span { color: currentColor; transition: none; }
.ryo-text-link:hover span { transform: none; }
.ryo-commitment { margin-top: 20px !important; color: var(--color-cloud); font-family: var(--font-roboto-mono); font-size: 10px; line-height: 1.5; letter-spacing: .03em; text-transform: uppercase; text-shadow: 0 1px 10px #000; }
.ryo-commitment span { padding-inline: 6px; color: var(--color-ash); }

/* Product render */
.ryo-hero-proof {
  width: min(1100px, 100%);
  margin: 76px auto 0;
  overflow: hidden;
  color: var(--color-cloud);
  border: 1px solid rgba(255,255,255,.16);
  border-radius: var(--radius-card);
  background: linear-gradient(135deg,var(--color-steel),var(--color-abyss));
  box-shadow: 0 18px 20px rgba(0,0,0,.2);
  text-align: left;
  transform: perspective(1400px) translate3d(0,var(--proof-shift),0) rotateX(var(--proof-tilt)) scale(var(--proof-scale));
  transform-origin: 50% 10%;
  will-change: transform;
}
.ryo-proof-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 58px; padding: 0 20px; border-bottom: 1px solid var(--line); background: rgba(0,0,0,.18); }
.ryo-proof-brand { display: flex; align-items: center; gap: 9px; color: var(--color-pure); font-size: 13px; font-weight: 500; }
.ryo-proof-brand > span { display: grid; place-items: center; width: 30px; height: 30px; color: var(--color-void); border-radius: var(--radius-control); background: var(--color-iris-gleam); }
.ryo-proof-status { display: flex; align-items: center; gap: 7px; color: var(--color-ash); font-family: var(--font-roboto-mono); font-size: 10px; text-transform: uppercase; }
.ryo-proof-status i, .ryo-context-row strong i, .ryo-demo-profile-head em i, .ryo-demo-profile > p i, .ryo-proof-caption i { width: 6px; height: 6px; flex: none; border-radius: 50%; background: var(--color-cyan-signal); }
.ryo-proof-body { display: grid; grid-template-columns: 58px minmax(0,1fr); min-height: 440px; }
.ryo-proof-rail { display: flex; align-items: center; flex-direction: column; gap: 17px; padding-top: 20px; border-right: 1px solid var(--line-soft); background: rgba(0,0,0,.28); }
.ryo-proof-rail b { display: grid; place-items: center; width: 30px; height: 30px; color: var(--color-void); border-radius: var(--radius-control); background: var(--color-iris-gleam); font-size: 12px; }
.ryo-proof-rail i { width: 18px; height: 18px; border: 1px solid var(--line); border-radius: 5px; }
.ryo-proof-rail i.is-active { border-color: var(--color-pure); background: rgba(255,255,255,.14); }
.ryo-proof-main { min-width: 0; padding: 30px; }
.ryo-proof-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.ryo-proof-heading span, .ryo-proof-draft > span, .ryo-proof-result span { color: var(--color-ash); font-family: var(--font-roboto-mono); font-size: 10px; font-weight: 500; letter-spacing: .05em; text-transform: uppercase; }
.ryo-proof-heading h2 { margin-top: 5px; font-size: 38px; line-height: 1; }
.ryo-proof-heading em { padding: 5px 9px; color: var(--color-cloud); border: 1px solid var(--line); border-radius: var(--radius-pill); font-family: var(--font-roboto-mono); font-size: 10px; font-style: normal; text-transform: uppercase; white-space: nowrap; }
.ryo-context-row { display: flex; align-items: center; gap: 12px; margin-top: 24px; padding: 15px 0; border-block: 1px solid var(--line-soft); }
.ryo-avatar { display: grid; place-items: center; flex: none; width: 42px; height: 42px; color: var(--color-void); border-radius: var(--radius-control); background: var(--color-pure); font-weight: 500; }
.ryo-context-row > div { min-width: 0; flex: 1; }
.ryo-context-row b, .ryo-demo-profile-head b { display: block; color: var(--color-cloud); font-size: 14px; font-weight: 500; }
.ryo-context-row small, .ryo-demo-profile-head small { display: block; overflow: hidden; margin-top: 2px; color: var(--color-ash); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.ryo-context-row strong { display: flex; align-items: center; gap: 6px; color: var(--color-ash); font-family: var(--font-roboto-mono); font-size: 10px; font-weight: 400; text-transform: uppercase; white-space: nowrap; }
.ryo-proof-draft { margin-top: 18px; padding: 18px; border: 1px solid var(--line-soft); border-radius: var(--radius-control) var(--radius-control) 0 0; background: rgba(0,0,0,.3); }
.ryo-proof-draft p { margin-top: 10px; color: var(--color-cloud); font-size: 14px; line-height: 1.6; }
.ryo-proof-draft mark { padding: 1px 2px; color: var(--color-pure); border-bottom: 1px solid var(--color-cyan-signal); background: transparent; }
.ryo-proof-result { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 7px 18px; padding: 18px; border: 1px solid var(--line-soft); border-top: 0; border-radius: 0 0 var(--radius-control) var(--radius-control); background: rgba(255,255,255,.055); }
.ryo-proof-result b { display: block; margin-top: 3px; color: var(--color-pure); font-size: 16px; font-weight: 500; }
.ryo-proof-result > strong { grid-row: 1 / span 2; grid-column: 2; align-self: center; color: var(--color-pure); font-family: var(--font-roboto-mono); font-size: 28px; }
.ryo-proof-result p { color: var(--color-ash); font-size: 12px; line-height: 1.5; }
.ryo-ai-state { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.ryo-ai-state span { position: relative; padding: 5px 10px 5px 21px; color: var(--color-ash); border: 1px solid var(--line-soft); border-radius: var(--radius-pill); font-family: var(--font-roboto-mono); font-size: 9px; text-transform: uppercase; }
.ryo-ai-state span::before { content:""; position:absolute; top:50%; left:9px; width:5px; height:5px; border-radius:50%; background:currentColor; transform:translateY(-50%); }
.ryo-ai-state .is-done { color: var(--color-cloud); }
.ryo-ai-state .is-current { color: var(--color-pure); border-color: rgba(255,255,255,.28); background: rgba(255,255,255,.1); }
.ryo-proof-caption { display: flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 20px; color: var(--color-ash); border-top: 1px solid var(--line-soft); font-family: var(--font-roboto-mono); font-size: 9px; text-transform: uppercase; }

/* Facts and section rhythm */
.ryo-fact-band { border-block: 1px solid var(--line-soft); background: var(--color-abyss); }
.ryo-fact-band .container { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); max-width: 1200px; }
.ryo-fact-band .container > div { display: block; min-height: 120px; padding: 28px 24px; border-left: 1px solid var(--line-soft); }
.ryo-fact-band .container > div:last-child { border-right: 1px solid var(--line-soft); }
.ryo-fact-band b { display: block; color: var(--color-pure); font-family: var(--font-lyon-display); font-size: 38px; font-weight: 400; font-variant-numeric: tabular-nums; }
.ryo-fact-band span { display: block; margin-top: 3px; color: var(--color-ash); font-family: var(--font-roboto-mono); font-size: 10px; letter-spacing: .04em; text-transform: uppercase; }
.ryo-section { padding-block: clamp(100px, 10vw, 140px); color: var(--color-cloud); border-bottom: 1px solid var(--line-soft); background: var(--color-obsidian); }
.ryo-section--raised { background: var(--color-abyss); }
.ryo-section--contrast { background: var(--color-obsidian); }
.ryo-section-head { max-width: 1040px; margin: 0 auto 68px; text-align: center; }
.ryo-section-head h2, .ryo-pricing-copy h2 { margin-top: 24px; color: var(--color-cloud); font-size: clamp(60px, 7vw, 80px); font-weight: 400; line-height: .96; letter-spacing: -.02em; }
.ryo-section-head > p, .ryo-section-head--split > p, .ryo-pricing-copy > p { max-width: 650px; margin: 28px auto 0; color: var(--color-ash); font-size: 18px; font-weight: 300; line-height: 1.5; }
.ryo-section-head--split { display: block; max-width: 1080px; }
.ryo-section-head--split > p { margin-top: 28px; }

/* Workflow */
.ryo-flow { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); max-width: 1200px; margin: 0 auto; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.ryo-flow li { position: relative; min-height: 310px; padding: 32px 34px; }
.ryo-flow li + li { border-left: 1px solid var(--line-soft); }
.ryo-flow li::before { display: none; }
.ryo-flow li > span { color: var(--color-cloud); font-family: var(--font-roboto-mono); font-size: 12px; font-weight: 500; letter-spacing: .04em; }
.ryo-flow li > div { margin-top: 56px; }
.ryo-flow b { color: var(--color-cloud); font-family: var(--font-lyon-display); font-size: 38px; font-weight: 400; line-height: 1; }
.ryo-flow p { margin-top: 18px; color: var(--color-ash); font-size: 14px; line-height: 1.67; }

/* Product demonstration band */
#workspace { padding-block: clamp(90px, 9vw, 120px); }
.ryo-demo { display: grid; grid-template-columns: minmax(260px,.72fr) minmax(0,1.58fr); max-width: 1200px; margin-inline: auto; overflow: hidden; color: var(--color-cloud); border: 1px solid var(--line); border-radius: var(--radius-card); background: linear-gradient(135deg,var(--color-steel),var(--color-abyss)); box-shadow: none; }
.ryo-demo-profile { padding: 32px; border-right: 1px solid var(--line-soft); background: rgba(0,0,0,.24); }
.ryo-demo-profile-head { display: flex; align-items: center; gap: 11px; padding-bottom: 24px; border-bottom: 1px solid var(--line-soft); }
.ryo-demo-profile-head > div { min-width: 0; flex: 1; }
.ryo-demo-profile-head em { display:flex; align-items:center; gap:6px; color:var(--color-ash); font-family:var(--font-roboto-mono); font-size:9px; font-style:normal; text-transform:uppercase; }
.ryo-demo-profile dl { display:grid; margin:18px 0 0; }
.ryo-demo-profile dl div { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:12px; padding:12px 0; border-bottom:1px solid var(--line-soft); }
.ryo-demo-profile dt { color:var(--color-ash); font-family:var(--font-roboto-mono); font-size:9px; text-transform:uppercase; }
.ryo-demo-profile dd { margin:0; color:var(--color-cloud); font-size:12px; text-align:right; overflow-wrap:anywhere; }
.ryo-demo-profile > p { display:flex; gap:8px; margin-top:22px; color:var(--color-ash); font-size:11px; line-height:1.5; }
.ryo-demo-workspace { min-width:0; padding:32px; }
.ryo-demo-tabs { display:inline-flex; max-width:100%; gap:4px; padding:4px; border:1px solid var(--line-soft); border-radius:var(--radius-control); background:rgba(0,0,0,.28); }
.ryo-demo-tabs button { min-height:44px; padding:9px 14px; color:var(--color-ash); border:0; border-radius:6px; background:transparent; font:400 13px/1.2 var(--font-suisse-intl); white-space:nowrap; cursor:pointer; transition:color .2s ease,background-color .2s ease,transform .2s ease; }
.ryo-demo-tabs button[aria-selected="true"] { color:var(--color-void); background:linear-gradient(145deg,var(--color-pale-iris),var(--color-iris-gleam)); }
.ryo-demo-panel { min-width:0; padding-top:28px; }
.ryo-panel-meta { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-bottom:16px; border-bottom:1px solid var(--line-soft); }
.ryo-panel-meta span { overflow:hidden; color:var(--color-ash); font-family:var(--font-roboto-mono); font-size:9px; font-weight:500; letter-spacing:.04em; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }
.ryo-panel-meta em { flex:none; color:var(--color-cloud); font-family:var(--font-roboto-mono); font-size:9px; font-style:normal; text-transform:uppercase; }
.ryo-essay-sample { padding:28px 0; border-bottom:1px solid var(--line-soft); }
.ryo-essay-sample p { color:var(--color-pure); font-family:var(--font-lyon-display); font-size:clamp(38px,4vw,52px); font-weight:400; line-height:1; }
.ryo-essay-sample span { display:block; margin-top:10px; color:var(--color-ash); font-family:var(--font-roboto-mono); font-size:9px; text-transform:uppercase; }
.ryo-insight { padding:28px 0; }
.ryo-insight > span { color:var(--color-cloud); font-family:var(--font-roboto-mono); font-size:9px; font-weight:500; text-transform:uppercase; }
.ryo-insight h3 { max-width:24ch; margin-top:8px; color:var(--color-cloud); font-size:38px; line-height:1; }
.ryo-insight p { max-width:60ch; margin-top:14px; color:var(--color-ash); font-size:14px; line-height:1.6; }
.ryo-score-row { display:grid; grid-template-columns:repeat(3,1fr); margin-top:18px; border:1px solid var(--line-soft); border-radius:12px; background:rgba(255,255,255,.018); }
.ryo-score-row div { display:flex; align-items:baseline; gap:8px; padding:14px; }
.ryo-score-row div + div { padding-left:14px; border-left:1px solid var(--line-soft); }
.ryo-score-row b { color:var(--color-pure); font-family:var(--font-roboto-mono); font-size:18px; font-weight:500; }
.ryo-score-row span { color:var(--color-ash); font-family:var(--font-roboto-mono); font-size:9px; text-transform:uppercase; }
.ryo-match-list,.ryo-task-list { display:grid; padding-top:12px; }
.ryo-match-list article,.ryo-task-list article { display:grid; align-items:center; gap:16px; min-width:0; padding:18px 0; border-bottom:1px solid var(--line-soft); }
.ryo-match-list article { grid-template-columns:minmax(0,1fr) auto; }
.ryo-match-list article div,.ryo-task-list article div { min-width:0; }
.ryo-match-list b,.ryo-task-list b { display:block; color:var(--color-cloud); font-size:15px; font-weight:500; overflow-wrap:anywhere; }
.ryo-match-list span,.ryo-task-list small { display:block; margin-top:4px; color:var(--color-ash); font-size:11px; }
.ryo-match-list em,.ryo-task-list em { color:var(--color-cloud); font-family:var(--font-roboto-mono); font-size:9px; font-style:normal; text-transform:uppercase; white-space:nowrap; }
.ryo-match-list em.is-reach { color:var(--color-ash); }
.ryo-task-list article { grid-template-columns:56px minmax(0,1fr) auto; }
.ryo-task-list article > span { color:var(--color-ash); font-family:var(--font-roboto-mono); font-size:9px; font-weight:500; }
.ryo-panel-note { margin-top:22px !important; color:var(--color-ash); font-size:11px; line-height:1.6; }

/* Interactive product surfaces — dashboard fidelity, not decorative mockups. */
.lp-dashboard-demo {
  min-height: 770px;
  border-color:rgba(247,242,232,.18);
  background:radial-gradient(circle at 76% 0,rgba(217,183,98,.1),transparent 27rem),linear-gradient(145deg,rgba(22,22,30,.98),rgba(5,5,8,.99));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 42px 100px -48px rgba(0,0,0,.98);
}
.lp-dashboard-demo :is(button,input,textarea) { font: inherit; }
.lp-dashboard-demo button { cursor: pointer; }
.lp-app-topbar {
  display:flex; align-items:center; justify-content:space-between; gap:20px;
  min-height:66px; padding:0 23px; border-bottom:1px solid var(--line-soft);
  background:rgba(8,8,11,.78); backdrop-filter:blur(28px) saturate(1.35); -webkit-backdrop-filter:blur(28px) saturate(1.35);
}
.lp-app-brand { display:flex; align-items:center; gap:9px; color:var(--color-pure); font-size:12px; }
.lp-app-brand > span { position:relative; display:grid; place-items:center; width:29px; height:29px; padding-top:2px; color:var(--color-void); border-radius:9px; background:linear-gradient(145deg,var(--color-pale-iris),var(--color-iris-gleam) 58%,#bc8e38); box-shadow:inset 0 1px 0 rgba(255,255,255,.5); font-weight:600; }
.lp-app-brand > span::before { content:""; position:absolute; top:4px; left:50%; width:3px; height:3px; border-radius:50%; background:currentColor; transform:translateX(-50%); }
.lp-app-brand b { font-weight:600; letter-spacing:-.02em; }
.lp-app-top-context { display:flex; align-items:center; gap:12px; min-width:0; color:var(--color-ash); font-size:10px; }
.lp-app-top-context > span { display:flex; align-items:center; gap:6px; font-family:var(--font-roboto-mono); text-transform:uppercase; }
.lp-app-top-context i,.lp-app-sidebar-state > i,.lp-app-eyebrow i,.lp-tool-context em i,.lp-tool-title em i { width:6px; height:6px; flex:none; border-radius:50%; background:var(--color-cyan-signal); box-shadow:0 0 12px rgba(120,198,157,.45); }
.lp-app-top-context b { overflow:hidden; color:var(--color-cloud); font-weight:500; text-overflow:ellipsis; white-space:nowrap; }
.lp-app-top-context em { padding:5px 8px; color:var(--color-pale-iris); border:1px solid rgba(217,183,98,.24); border-radius:999px; font-family:var(--font-roboto-mono); font-size:8px; font-style:normal; text-transform:uppercase; }
.lp-app-shell { display:grid; grid-template-columns:184px minmax(0,1fr); min-height:704px; }
.lp-app-sidebar { display:flex; flex-direction:column; min-width:0; padding:20px 12px 14px; border-right:1px solid var(--line-soft); background:rgba(6,6,9,.5); }
.lp-app-sidebar-label { margin:0 10px 10px; color:rgba(232,224,210,.42); font:500 8px/1.2 var(--font-roboto-mono); letter-spacing:.13em; text-transform:uppercase; }
.lp-app-sidebar > button { display:flex; align-items:center; gap:10px; width:100%; min-height:43px; padding:9px 11px; color:var(--color-ash); border:1px solid transparent; border-radius:11px; background:transparent; font-size:11px; text-align:left; transition:color 180ms ease,background-color 180ms ease,border-color 180ms ease,transform 220ms cubic-bezier(.22,1,.36,1); }
.lp-app-sidebar > button svg { width:15px; height:15px; flex:none; fill:none; stroke:currentColor; stroke-width:1.55; stroke-linecap:round; stroke-linejoin:round; }
.lp-app-sidebar > button:hover { color:var(--color-pure); background:rgba(255,255,255,.045); transform:translateX(2px); }
.lp-app-sidebar > button.is-active { color:var(--color-pale-iris); border-color:rgba(217,183,98,.22); background:linear-gradient(110deg,rgba(217,183,98,.13),rgba(217,183,98,.035)); box-shadow:inset 0 1px 0 rgba(255,255,255,.035); }
.lp-app-sidebar-state { display:flex; align-items:center; gap:8px; margin-top:auto; padding:13px 9px; border:1px solid var(--line-soft); border-radius:13px; background:rgba(255,255,255,.022); color:var(--color-ash); }
.lp-app-sidebar-state > span { display:grid; min-width:0; }
.lp-app-sidebar-state b { color:var(--color-cloud); font-size:9px; font-weight:500; }
.lp-app-sidebar-state small { margin-top:2px; color:rgba(232,224,210,.42); font-size:7px; }
.lp-app-main { position:relative; min-width:0; overflow:hidden; }
.lp-app-panel { min-width:0; padding:37px 39px 34px; animation:lpPanelEnter 520ms cubic-bezier(.22,1,.36,1) both; }
.lp-app-panel[hidden] { display:none !important; }
@keyframes lpPanelEnter { from { opacity:0; filter:blur(9px); transform:translate3d(18px,10px,0) scale(.988); } to { opacity:1; filter:blur(0); transform:none; } }
.lp-app-head { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; }
.lp-app-eyebrow { display:flex; align-items:center; gap:7px; color:rgba(232,224,210,.5); font:500 8px/1.2 var(--font-roboto-mono); letter-spacing:.08em; text-transform:uppercase; }
.lp-app-head h2,.lp-tool-title h2 { margin-top:8px; color:var(--color-pure); font:560 clamp(31px,3vw,43px)/.98 var(--font-suisse-intl); letter-spacing:-.055em; }
.lp-app-head h2 em { color:var(--color-pale-iris); font-style:normal; }
.lp-app-head p,.lp-tool-title p { margin-top:9px; color:var(--color-ash); font-size:11px; }
.lp-app-primary,.lp-app-secondary { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:42px; padding:10px 15px; border-radius:10px; font-size:10px; font-weight:500; transition:transform 180ms cubic-bezier(.22,1,.36,1),filter 180ms ease,background-color 180ms ease; }
.lp-app-primary { color:var(--color-void); border:1px solid rgba(255,255,255,.22); background:linear-gradient(145deg,var(--color-pale-iris),var(--color-iris-gleam) 55%,#bc8e38); box-shadow:inset 0 1px 0 rgba(255,255,255,.45); }
.lp-app-secondary { color:var(--color-cloud); border:1px solid var(--line); background:rgba(255,255,255,.045); }
.lp-app-primary:hover,.lp-app-secondary:hover { transform:translateY(-1px); filter:brightness(1.08); }
.lp-app-primary:active,.lp-app-secondary:active { transform:scale(.97); }
.lp-home-status { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(220px,.9fr); margin-top:28px; overflow:hidden; border:1px solid var(--line); border-radius:21px; background:radial-gradient(circle at 4% 0,rgba(217,183,98,.11),transparent 17rem),linear-gradient(145deg,rgba(24,24,32,.82),rgba(10,10,14,.92)); box-shadow:inset 0 1px 0 rgba(255,255,255,.045),0 18px 35px -28px rgba(0,0,0,.9); }
.lp-home-identity { display:flex; align-items:center; gap:14px; min-width:0; padding:23px; border-right:1px solid var(--line-soft); }
.lp-app-avatar { display:grid; place-items:center; width:48px; height:48px; flex:none; color:var(--color-void); border:1px solid rgba(255,255,255,.14); border-radius:14px; background:linear-gradient(145deg,var(--color-pale-iris),var(--color-iris-gleam)); box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 12px 28px rgba(188,142,56,.18); font-size:15px; font-weight:600; }
.lp-home-identity > div,.lp-tool-context > div { min-width:0; flex:1; }
.lp-home-identity b,.lp-tool-context b { display:block; overflow:hidden; color:var(--color-cloud); font-size:13px; font-weight:550; text-overflow:ellipsis; white-space:nowrap; }
.lp-home-identity small,.lp-tool-context small { display:block; overflow:hidden; margin-top:4px; color:var(--color-ash); font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.lp-home-identity > em,.lp-tool-context > em { display:flex; align-items:center; gap:5px; color:var(--color-ash); font:400 7px/1 var(--font-roboto-mono); font-style:normal; text-transform:uppercase; white-space:nowrap; }
.lp-home-progress { display:grid; align-content:center; gap:10px; padding:23px; }
.lp-home-progress > div:first-child { display:flex; align-items:center; justify-content:space-between; gap:12px; color:var(--color-ash); font-size:10px; }
.lp-home-progress > div:first-child b { color:var(--color-pale-iris); font:500 12px/1 var(--font-roboto-mono); }
.lp-app-progress,.lp-deadline-progress,.ryo-workflow-progress { height:4px; overflow:hidden; border-radius:999px; background:rgba(255,255,255,.08); }
.lp-app-progress i,.lp-deadline-progress i,.ryo-workflow-progress i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#bc8e38,var(--color-iris-gleam),var(--color-pale-iris)); transition:width 600ms cubic-bezier(.22,1,.36,1); }
.lp-home-progress small { color:rgba(232,224,210,.45); font-size:9px; }
.lp-tool-head { display:grid; grid-template-columns:1fr auto; align-items:end; gap:4px 16px; margin-top:28px; }
.lp-tool-head > span { grid-column:1/-1; color:rgba(232,224,210,.42); font:500 7px/1 var(--font-roboto-mono); letter-spacing:.11em; text-transform:uppercase; }
.lp-tool-head b { color:var(--color-pure); font-size:17px; font-weight:550; letter-spacing:-.035em; }
.lp-tool-head small { color:rgba(232,224,210,.4); font:400 8px/1 var(--font-roboto-mono); }
.lp-tool-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:13px; }
/* Same information hierarchy as the dashboard home cards, expressed in the
   landing surface's warmer, lower-contrast palette. */
.lp-tool-card { position:relative; display:flex; flex-direction:column; min-width:0; min-height:205px; padding:18px; overflow:hidden; color:inherit; border:1px solid var(--line-soft); border-radius:17px; background:linear-gradient(150deg,rgba(25,25,34,.78),rgba(10,10,14,.88)); box-shadow:inset 0 1px 0 rgba(255,255,255,.03),0 12px 24px -22px rgba(0,0,0,.9); text-align:start; transition:transform 180ms cubic-bezier(.22,1,.36,1),border-color 180ms ease,background-color 180ms ease,box-shadow 180ms ease; }
.lp-tool-card::after { content:""; position:absolute; top:-74px; right:-62px; width:144px; height:144px; border-radius:50%; background:rgba(217,183,98,.09); filter:blur(19px); pointer-events:none; }
.lp-tool-card:hover { border-color:rgba(217,183,98,.28); background:linear-gradient(150deg,rgba(35,34,43,.88),rgba(12,12,17,.94)); box-shadow:0 16px 32px -22px rgba(0,0,0,.95),inset 0 1px 0 rgba(255,255,255,.05); transform:translateY(-3px); }
.lp-tool-card-top,.lp-tool-card-foot { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.lp-tool-icon { display:grid; place-items:center; width:39px; height:39px; color:var(--color-pale-iris); border:1px solid rgba(217,183,98,.22); border-radius:13px; background:rgba(217,183,98,.07); }
.lp-tool-icon svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.lp-tool-index { color:rgba(232,224,210,.25); font:400 10px/1 var(--font-roboto-mono); }
.lp-tool-card-copy { display:grid; gap:6px; margin:20px 0 17px; }
.lp-tool-card-copy small { color:var(--color-iris-gleam); font:500 8px/1.2 var(--font-roboto-mono); letter-spacing:.11em; text-transform:uppercase; }
.lp-tool-card-copy b { color:var(--color-cloud); font-size:14px; font-weight:550; letter-spacing:-.025em; }
.lp-tool-card-copy > span { color:var(--color-ash); font-size:10px; line-height:1.5; }
.lp-tool-card-foot { margin-top:auto; padding-top:11px; border-top:1px solid var(--line-soft); color:var(--color-ash); font-size:9px; }
.lp-tool-card-foot > i { display:grid; place-items:center; width:25px; height:25px; color:var(--color-pale-iris); border-radius:8px; background:rgba(217,183,98,.07); font-size:12px; font-style:normal; transition:transform 180ms cubic-bezier(.22,1,.36,1),background-color 180ms ease; }
.lp-tool-card:hover .lp-tool-card-foot > i { background:rgba(217,183,98,.15); transform:translate(1px,-1px); }
.lp-tool-breadcrumb { display:flex; align-items:center; gap:7px; color:rgba(232,224,210,.4); font:400 8px/1 var(--font-roboto-mono); text-transform:uppercase; }
.lp-tool-breadcrumb button { padding:0; color:var(--color-ash); border:0; background:transparent; }
.lp-tool-breadcrumb button:hover { color:var(--color-pure); }
.lp-tool-breadcrumb b { color:var(--color-cloud); font-weight:500; }
.lp-tool-title { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-top:19px; }
.lp-tool-title > div > span { color:var(--color-iris-gleam); font:500 8px/1 var(--font-roboto-mono); letter-spacing:.08em; text-transform:uppercase; }
.lp-tool-title > em { display:flex; align-items:center; gap:6px; flex:none; padding:6px 8px; color:var(--color-ash); border:1px solid var(--line); border-radius:999px; font:400 7px/1 var(--font-roboto-mono); font-style:normal; text-transform:uppercase; }
.lp-tool-context { display:flex; align-items:center; gap:10px; margin-top:17px; padding:11px 0; border-block:1px solid var(--line-soft); }
.lp-tool-context .lp-app-avatar { width:34px; height:34px; }
.lp-demo-field { display:grid; gap:8px; margin-top:16px; }
.lp-demo-field > span,.ryo-workflow-field > span { display:flex; justify-content:space-between; gap:10px; color:var(--color-cloud); font:500 8px/1 var(--font-roboto-mono); letter-spacing:.06em; text-transform:uppercase; }
.lp-demo-field > span small,.ryo-workflow-field > span small { color:rgba(232,224,210,.42); font-weight:400; }
.lp-demo-field textarea,.ryo-workflow-field textarea { width:100%; min-height:104px; padding:13px 0; resize:vertical; color:var(--color-cloud); border:0; border-bottom:1px solid var(--line); border-radius:0; outline:0; background:transparent; box-shadow:none; font:400 11px/1.65 var(--font-suisse-intl); transition:border-color 180ms ease,box-shadow 180ms ease; }
.lp-demo-field textarea:focus,.ryo-workflow-field textarea:focus { border-bottom-color:var(--color-pale-iris); box-shadow:inset 0 -2px 0 var(--color-pale-iris); }
.lp-demo-actions { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:13px; }
.lp-demo-actions > span { color:rgba(232,224,210,.48); font:400 8px/1 var(--font-roboto-mono); text-transform:uppercase; }
.lp-feedback-card { position:relative; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:18px; margin-top:14px; padding:15px; overflow:hidden; border:1px solid var(--line); border-radius:13px; background:linear-gradient(135deg,rgba(255,255,255,.065),rgba(255,255,255,.025)); transition:opacity 250ms ease,transform 450ms cubic-bezier(.22,1,.36,1),filter 250ms ease; }
.lp-feedback-card span { color:var(--color-ash); font:500 7px/1 var(--font-roboto-mono); text-transform:uppercase; }
.lp-feedback-card b { display:block; margin-top:5px; color:var(--color-pure); font-size:12px; font-weight:550; }
.lp-feedback-card p { margin-top:5px; color:var(--color-ash); font-size:9px; line-height:1.5; }
.lp-feedback-card > strong { align-self:center; color:var(--color-pale-iris); font:500 28px/1 var(--font-roboto-mono); }
.lp-feedback-card.is-analyzing { opacity:.5; filter:blur(2px); transform:scale(.985); }
.lp-feedback-card.is-analyzing::after { content:""; position:absolute; inset:0; background:linear-gradient(105deg,transparent 25%,rgba(250,233,184,.1) 45%,transparent 65%); transform:translateX(-100%); animation:lpShimmer 850ms linear infinite; }
@keyframes lpShimmer { to { transform:translateX(100%); } }
.lp-feedback-card.is-revealed { animation:lpResultIn 620ms cubic-bezier(.22,1,.36,1); }
@keyframes lpResultIn { 0% { opacity:.35; transform:translateY(11px) scale(.98); } 55% { transform:translateY(-2px) scale(1.008); } 100% { opacity:1; transform:none; } }
.lp-priority-chips,.ryo-filter-row { display:flex; flex-wrap:wrap; gap:7px; margin-top:18px; }
.lp-priority-chips button,.ryo-filter-row button { min-height:30px; padding:6px 10px; color:var(--color-ash); border:1px solid var(--line); border-radius:999px; background:rgba(255,255,255,.025); font-size:8px; transition:color 180ms ease,border-color 180ms ease,background-color 180ms ease,transform 180ms ease; }
.lp-priority-chips button:hover,.ryo-filter-row button:hover { color:var(--color-pure); transform:translateY(-1px); }
.lp-priority-chips button.is-active,.ryo-filter-row button.is-active { color:var(--color-void); border-color:transparent; background:var(--color-pale-iris); }
.lp-match-cards { display:grid; margin-top:10px; }
.lp-match-cards article { display:grid; grid-template-columns:28px minmax(0,1fr) 34px 28px; align-items:center; gap:10px; min-width:0; padding:13px 0; border-bottom:1px solid var(--line-soft); transition:opacity 200ms ease,transform 400ms cubic-bezier(.22,1,.36,1); }
.lp-match-rank { color:rgba(232,224,210,.3); font:400 8px/1 var(--font-roboto-mono); }
.lp-match-cards article > div { min-width:0; }
.lp-match-cards article b { display:block; overflow:hidden; color:var(--color-cloud); font-size:11px; font-weight:550; text-overflow:ellipsis; white-space:nowrap; }
.lp-match-cards article small { display:block; overflow:hidden; margin-top:3px; color:var(--color-ash); font-size:8px; text-overflow:ellipsis; white-space:nowrap; }
.lp-match-cards article em { display:inline-block; margin-top:5px; color:var(--color-pale-iris); font:400 7px/1 var(--font-roboto-mono); font-style:normal; text-transform:uppercase; }
.lp-match-cards article > strong { color:var(--color-pure); font:500 14px/1 var(--font-roboto-mono); text-align:right; }
.lp-match-cards article > button,.ryo-match-list [data-workflow-save] { display:grid; place-items:center; width:28px; height:28px; padding:0; color:var(--color-ash); border:1px solid var(--line); border-radius:9px; background:transparent; transition:color 180ms ease,background-color 180ms ease,transform 280ms cubic-bezier(.22,1,.36,1); }
.lp-match-cards article > button.is-saved,.ryo-match-list [data-workflow-save].is-saved { color:var(--color-void); border-color:transparent; background:var(--color-pale-iris); transform:scale(1.08); }
.lp-match-cards.is-refreshing article { opacity:.45; transform:translateY(8px); }
.lp-deadline-progress,.ryo-workflow-progress { margin-top:17px; }
.lp-deadline-list { display:grid; margin-top:7px; }
.lp-deadline-list label,.ryo-task-list--interactive label { display:grid; grid-template-columns:20px minmax(0,1fr) auto; align-items:center; gap:10px; padding:13px 0; border-bottom:1px solid var(--line-soft); cursor:pointer; transition:opacity 180ms ease,transform 180ms ease; }
.lp-deadline-list label:hover,.ryo-task-list--interactive label:hover { transform:translateX(2px); }
.lp-deadline-list input,.ryo-task-list--interactive input { width:16px; height:16px; margin:0; accent-color:var(--color-iris-gleam); }
.lp-deadline-list b,.ryo-task-list--interactive b { display:block; color:var(--color-cloud); font-size:10px; font-weight:500; }
.lp-deadline-list small,.ryo-task-list--interactive small { display:block; margin-top:3px; color:var(--color-ash); font-size:8px; }
.lp-deadline-list em,.ryo-task-list--interactive em { color:var(--color-ash); font:400 7px/1 var(--font-roboto-mono); font-style:normal; text-transform:uppercase; }
.lp-deadline-list label:has(input:checked),.ryo-task-list--interactive label:has(input:checked) { opacity:.55; }
.lp-deadline-list label:has(input:checked) b,.ryo-task-list--interactive label:has(input:checked) b { text-decoration:line-through; text-decoration-color:rgba(232,224,210,.4); }
.lp-quick-task,.ryo-workflow-add { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; margin-top:13px; }
.lp-quick-task input,.ryo-workflow-add input { min-width:0; min-height:38px; padding:8px 11px; color:var(--color-cloud); border:1px solid var(--line); border-radius:10px; outline:0; background:rgba(255,255,255,.035); font-size:10px; }
.lp-quick-task input:focus,.ryo-workflow-add input:focus { border-color:rgba(217,183,98,.48); box-shadow:0 0 0 3px rgba(217,183,98,.09); }
.lp-quick-task button,.ryo-workflow-add button,.ryo-workflow-actions > button { min-height:38px; padding:8px 12px; color:var(--color-void); border:0; border-radius:10px; background:linear-gradient(145deg,var(--color-pale-iris),var(--color-iris-gleam)); font-size:9px; font-weight:550; cursor:pointer; transition:transform 180ms ease,filter 180ms ease; }
.lp-quick-task button:hover,.ryo-workflow-add button:hover,.ryo-workflow-actions > button:hover { filter:brightness(1.08); transform:translateY(-1px); }

/* The second showcase behaves like three real tools sharing one profile. */
.ryo-demo--interactive { border-color:rgba(247,242,232,.14); background:linear-gradient(145deg,rgba(20,20,28,.98),rgba(6,6,9,.99)); box-shadow:inset 0 1px 0 rgba(255,255,255,.055),0 32px 90px -52px rgba(0,0,0,.96); }
.ryo-demo--interactive .ryo-demo-profile { background:rgba(7,7,10,.68); }
.ryo-demo--interactive .ryo-demo-workspace { padding:36px; }
.ryo-demo--interactive .ryo-demo-tabs { padding:5px; border-radius:12px; background:rgba(255,255,255,.025); }
.ryo-demo--interactive .ryo-demo-tabs button { min-height:42px; border-radius:9px; font-size:12px; }
.ryo-demo--interactive .ryo-panel-meta { padding-bottom:18px; }
.ryo-context-stream { display:grid; gap:7px; margin-top:18px; padding:14px 0; border-block:1px solid var(--line-soft); }
.ryo-context-stream span { display:flex; align-items:center; gap:7px; color:var(--color-ash); font:400 8px/1.2 var(--font-roboto-mono); text-transform:uppercase; }
.ryo-context-stream i { width:5px; height:5px; border-radius:50%; background:var(--color-cyan-signal); box-shadow:0 0 10px rgba(120,198,157,.4); }
.ryo-demo-panel:not([hidden]) { animation:lpPanelEnter 480ms cubic-bezier(.22,1,.36,1) both; }
.ryo-workflow-field { display:grid; gap:9px; padding-top:22px; }
.ryo-workflow-field textarea { min-height:132px; font-size:13px; }
.ryo-workflow-actions { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:13px; }
.ryo-workflow-actions > span { display:flex; align-items:center; gap:6px; color:var(--color-ash); font:400 8px/1 var(--font-roboto-mono); text-transform:uppercase; }
.ryo-workflow-actions > span i { width:5px; height:5px; border-radius:50%; background:var(--color-cyan-signal); }
.ryo-workflow-output { margin-top:20px; padding:20px; overflow:hidden; border:1px solid var(--line-soft); border-radius:17px; background:linear-gradient(150deg,rgba(25,25,34,.78),rgba(10,10,14,.88)); box-shadow:inset 0 1px 0 rgba(255,255,255,.03),0 14px 28px -24px rgba(0,0,0,.85); transition:opacity 250ms ease,transform 450ms cubic-bezier(.22,1,.36,1),filter 250ms ease; }
.ryo-workflow-output > div:first-child > span { color:var(--color-iris-gleam); font:500 9px/1 var(--font-roboto-mono); text-transform:uppercase; }
.ryo-workflow-output h3 { max-width:28ch; margin-top:8px; color:var(--color-cloud); font-size:32px; line-height:1.02; }
.ryo-workflow-output p { max-width:62ch; margin-top:10px; color:var(--color-ash); font-size:12px; line-height:1.6; }
.ryo-workflow-output.is-analyzing { opacity:.42; filter:blur(2px); transform:scale(.99); }
.ryo-workflow-output.is-revealed { animation:lpResultIn 620ms cubic-bezier(.22,1,.36,1); }
.ryo-filter-row { margin:18px 0 3px; }
.ryo-match-list { gap:9px; padding-top:16px; }
.ryo-match-list article { grid-template-columns:42px minmax(0,1fr) auto 30px; padding:14px; border:1px solid var(--line-soft); border-radius:14px; background:linear-gradient(150deg,rgba(25,25,34,.7),rgba(10,10,14,.8)); box-shadow:inset 0 1px 0 rgba(255,255,255,.025); transition:opacity 260ms ease,transform 360ms cubic-bezier(.22,1,.36,1),border-color 180ms ease,background-color 180ms ease; }
.ryo-match-list article:hover { border-color:rgba(217,183,98,.24); background:linear-gradient(150deg,rgba(32,31,40,.8),rgba(12,12,17,.9)); transform:translateY(-2px); }
.ryo-match-list article[hidden] { display:none; }
.ryo-fit-score { display:grid !important; place-items:center; width:36px; height:36px; margin:0 !important; color:var(--color-pale-iris) !important; border:1px solid rgba(217,183,98,.2); border-radius:11px; background:rgba(217,183,98,.06); font:500 11px/1 var(--font-roboto-mono) !important; }
.ryo-match-list [data-workflow-save] { justify-self:end; }
.ryo-task-list--interactive { gap:8px; padding-top:14px; }
.ryo-task-list--interactive label { grid-template-columns:20px 50px minmax(0,1fr) auto; padding:14px; border:1px solid var(--line-soft); border-radius:13px; background:rgba(255,255,255,.018); }
.ryo-task-list--interactive label > span { margin:0; color:var(--color-ash); font:500 8px/1 var(--font-roboto-mono); }
.ryo-workflow-add { margin-top:16px; }

@media (hover:hover) and (pointer:fine) {
  .lp-dashboard-demo { transform-style:preserve-3d; }
  .lp-app-panel :is(button,label):active { scale:.98; }
}

/* Chromatic feature gallery */
.ryo-tool-groups { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; max-width:1200px; margin-inline:auto; }
.ryo-tool-groups article { min-height:360px; padding:40px; overflow:hidden; color:var(--color-void); border:0; border-radius:var(--radius-feature); background:var(--color-iris-gleam); box-shadow:none; }
.ryo-tool-groups article:nth-child(2) { color:var(--color-pure); background:var(--color-deep-iris); }
.ryo-tool-groups article:nth-child(3) { color:var(--color-void); background:var(--color-orchid-bloom); }
.ryo-tool-groups article:nth-child(4) { color:var(--color-void); background:var(--color-periwinkle); }
.ryo-tool-groups article > span { color:inherit; font-family:var(--font-roboto-mono); font-size:10px; font-weight:500; letter-spacing:.04em; opacity:.8; }
.ryo-tool-groups h3 { max-width:18ch; margin-top:56px; color:inherit; font-size:clamp(38px,4vw,54px); line-height:.96; }
.ryo-tool-groups ul { display:flex; flex-wrap:wrap; gap:8px; margin:30px 0 0; padding:0; list-style:none; }
.ryo-tool-groups li { padding:6px 10px; color:inherit; border:1px solid currentColor; border-radius:var(--radius-pill); font-family:var(--font-roboto-mono); font-size:9px; text-transform:uppercase; opacity:.82; }

/* Comparison */
.ryo-compare { max-width:1200px; margin-inline:auto; overflow-x:auto; border-top:1px solid var(--line); }
.ryo-compare-row { display:grid; grid-template-columns:minmax(150px,.8fr) repeat(3,minmax(190px,1fr)); min-width:780px; border-bottom:1px solid var(--line-soft); }
.ryo-compare-row > * { min-width:0; padding:20px 18px; color:var(--color-ash); font-size:13px; font-weight:400; overflow-wrap:anywhere; }
.ryo-compare-row > * + * { border-left:1px solid var(--line-soft); }
.ryo-compare-row > b { color:var(--color-cloud); background:rgba(255,255,255,.045); font-family:var(--font-suisse-intl); font-weight:400; }
.ryo-compare-head > * { color:var(--color-cloud); font-family:var(--font-roboto-mono); font-size:10px; font-weight:500; text-transform:uppercase; }
.ryo-compare-head > b { color:var(--color-pure); }

/* Inverted pricing band */
#pricing { color:var(--color-void); background:var(--color-silver); }
#pricing .ryo-kicker { color:var(--color-void); border-color:rgba(0,0,0,.18); background:rgba(0,0,0,.06); }
#pricing .ryo-kicker > i { background:var(--color-void); }
.ryo-pricing { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(300px,.65fr); align-items:center; gap:clamp(48px,8vw,100px); max-width:1200px; margin-inline:auto; }
.ryo-pricing-copy h2 { margin-top:24px; color:var(--color-void); }
.ryo-pricing-copy > p { margin:28px 0 0; color:#313234; }
.ryo-boundaries { display:grid; margin-top:32px; border-top:1px solid rgba(0,0,0,.2); }
.ryo-boundaries span { position:relative; padding:15px 0 15px 24px; color:#313234; border-bottom:1px solid rgba(0,0,0,.2); font-size:14px; }
.ryo-boundaries span::before { content:"✓"; position:absolute; left:0; color:var(--color-void); }
.ryo-price-card { padding:12px 0 12px clamp(32px,4vw,56px); border-left:1px solid rgba(0,0,0,.25); background:transparent; }
.ryo-price-card > span { color:#404143; font-family:var(--font-roboto-mono); font-size:10px; font-weight:500; text-transform:uppercase; }
.ryo-price-card > div { display:flex; align-items:baseline; gap:8px; margin-top:10px; }
.ryo-price-card > div b { color:var(--color-void); font-family:var(--font-lyon-display); font-size:80px; font-weight:400; line-height:.9; }
.ryo-price-card > div small,.ryo-price-card > p,.ryo-price-card > small { color:#404143; font-size:11px; }
.ryo-price-card > p { margin-top:16px; line-height:1.6; }
.ryo-price-card ul { display:grid; gap:8px; margin:24px 0 0; padding:0; color:#252627; list-style:none; font-size:14px; }
.ryo-price-card li { position:relative; padding-left:18px; }
.ryo-price-card li::before { content:"·"; position:absolute; left:3px; color:var(--color-void); font-weight:500; }
.ryo-price-card .btn { margin-top:26px; color:var(--color-void); border-color:rgba(23,18,8,.2); background:linear-gradient(145deg,var(--color-pale-iris),var(--color-iris-gleam) 52%,#bc8e38); }
.ryo-price-card .btn:hover { color:var(--color-void); border-color:rgba(23,18,8,.3); background:linear-gradient(145deg,#fff3cf,var(--color-pale-iris) 52%,var(--color-iris-gleam)); }
.ryo-price-card > small { display:block; margin-top:14px; line-height:1.5; }

/* FAQ, closing, footer */
.ryo-accordion { border-top-color:var(--line); }
.ryo-accordion .acc-item { border-bottom-color:var(--line-soft); }
.ryo-accordion .acc-trigger { min-height:82px; color:var(--color-cloud); font-family:var(--font-suisse-intl); font-size:16px; font-weight:400; }
.ryo-accordion .acc-trigger:hover,.ryo-accordion .acc-item.is-open .acc-trigger { color:var(--color-pure); }
.ryo-accordion .acc-icon { color:var(--color-pure); border-color:var(--line); }
.ryo-accordion .acc-panel p { padding-top:8px; color:var(--color-ash); font-size:14px; line-height:1.67; }
.ryo-final { padding-block:clamp(120px,12vw,180px); color:var(--color-cloud); text-align:center; background:var(--color-obsidian); }
.ryo-final .container { display:flex; align-items:center; flex-direction:column; }
.ryo-final h2 { max-width:14ch; margin-top:24px; color:var(--color-pure); font-size:clamp(64px,8vw,96px); font-weight:400; line-height:.9; letter-spacing:-.025em; }
.ryo-final p { margin-top:30px; color:var(--color-ash); font-size:18px; font-weight:300; }
.ryo-final .btn { margin-top:32px; }
.ryo-footer { margin:0; color:var(--color-cloud); border-top:1px solid var(--line-soft); background:var(--color-abyss); }
.ryo-footer .footer-grid { padding-block:72px 52px; }
.ryo-footer .footer-brand p,.ryo-footer .footer-links a,.ryo-footer .footer-bottom { color:var(--color-ash); font-size:12px; }
.ryo-footer .footer-links a:hover { color:var(--color-pure); }
.ryo-footer .footer-col-title { color:var(--color-cloud); font-family:var(--font-roboto-mono); font-size:10px; font-weight:500; text-transform:uppercase; }
.ryo-footer .footer-bottom { border-top-color:var(--line-soft); }

/* Legal dialogs */
.ryo-landing .modal-backdrop { background:rgba(0,0,0,.78); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); }
.ryo-landing .modal { color:var(--color-cloud); border:1px solid var(--line); border-radius:var(--radius-card); background:var(--color-graphite); box-shadow:none; }
.ryo-landing .modal-head,.ryo-landing .modal-foot { border-color:var(--line-soft); }
.ryo-landing .modal-head h2 { margin-top:8px; color:var(--color-pure); font-size:38px; font-weight:400; line-height:1; }
.ryo-landing .modal-head p,.ryo-landing .modal-body p,.ryo-landing .modal-body li { color:var(--color-ash); }
.ryo-landing .modal-close { color:var(--color-cloud); border-color:var(--line); border-radius:var(--radius-control); background:transparent; }
.ryo-landing .modal-close:hover { color:var(--color-void); border-color:var(--color-pure); background:var(--color-pure); }

/* Scroll motion — depth-led reveals inspired by the reference interaction. */
.has-js .ryo-landing .reveal {
  opacity: 0;
  filter: blur(10px);
  transform: translate3d(0,52px,0) scale(.975);
  transform-origin: 50% 0;
  transition: opacity 900ms cubic-bezier(.22,1,.36,1), transform 900ms cubic-bezier(.22,1,.36,1), filter 700ms ease;
}
.has-js .ryo-landing .reveal.is-in { opacity: 1; filter: blur(0); transform: translate3d(0,0,0) scale(1); }
.has-js .ryo-landing .reveal-group { perspective: 1200px; }
.has-js .ryo-landing .reveal-group > * {
  opacity: 0;
  filter: blur(8px);
  transform: translate3d(0,64px,0) rotateX(5deg) scale(.96);
  transform-origin: 50% 0;
  transition: opacity 850ms cubic-bezier(.22,1,.36,1), transform 950ms cubic-bezier(.22,1,.36,1), filter 700ms ease;
}
.has-js .ryo-landing .reveal-group.is-in > * { opacity: 1; filter: blur(0); transform: translate3d(0,0,0) rotateX(0) scale(1); }
.has-js .ryo-landing .reveal-group.is-in > *:nth-child(1) { transition-delay: 0ms; }
.has-js .ryo-landing .reveal-group.is-in > *:nth-child(2) { transition-delay: 80ms; }
.has-js .ryo-landing .reveal-group.is-in > *:nth-child(3) { transition-delay: 160ms; }
.has-js .ryo-landing .reveal-group.is-in > *:nth-child(4) { transition-delay: 240ms; }
.has-js .ryo-landing .enter > * { animation-name: ryo-enter-up; animation-duration: 900ms; animation-timing-function: cubic-bezier(.22,1,.36,1); }
.has-js .ryo-landing .float-in { animation-name: ryo-proof-in; animation-duration: 1100ms; animation-timing-function: cubic-bezier(.22,1,.36,1); }

@keyframes ryo-enter-up {
  from { opacity: 0; filter: blur(9px); transform: translate3d(0,32px,0) scale(.985); }
  to { opacity: 1; filter: blur(0); transform: translate3d(0,0,0) scale(1); }
}
@keyframes ryo-proof-in {
  from { opacity: 0; filter: blur(12px); transform: perspective(1400px) translate3d(0,70px,0) rotateX(5deg) scale(.965); }
  to { opacity: 1; filter: blur(0); transform: perspective(1400px) translate3d(0,0,0) rotateX(0) scale(1); }
}

@media (hover:hover) and (pointer:fine) {
  .ryo-landing .btn:hover,.ryo-landing .ryo-text-link:hover { transform:translateY(-1px); }
  .ryo-landing .ryo-demo-tabs button:hover:not([aria-selected="true"]) { color:var(--color-pure); background:var(--color-steel); }
}

@media (max-width:980px) {
  .ryo-landing .nav-links { display:none; }
  .ryo-landing .nav-toggle { display:inline-flex; }
  .ryo-hero { min-height:1050px; padding-top:120px; }
  .ryo-hero-proof { margin-top:64px; }
  .ryo-demo { grid-template-columns:1fr; }
  .ryo-demo-profile { border-right:0; border-bottom:1px solid var(--line-soft); }
  .ryo-demo-profile dl { grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 20px; }
  .ryo-demo-profile dl div { display:block; }
  .ryo-demo-profile dd { margin-top:3px; text-align:left; }
  .lp-app-shell { grid-template-columns:132px minmax(0,1fr); }
  .lp-app-sidebar { padding-inline:8px; }
  .lp-app-sidebar > button { padding-inline:8px; }
  .lp-app-panel { padding-inline:22px; }
  .lp-home-status { grid-template-columns:1fr; }
  .lp-home-identity { border-right:0; border-bottom:1px solid var(--line-soft); }
}

@media (max-width:760px) {
  .ryo-landing .site-nav,.ryo-landing .site-nav.is-scrolled { top:8px; width:calc(100% - 20px); height:60px; border-radius:18px; }
  .ryo-landing .nav-inner { padding-inline:12px; }
  .ryo-landing .nav-signin,.ryo-landing .nav-actions > .btn { display:none; }
  .ryo-landing .nav-drawer { inset:80px 10px auto; max-height:calc(100dvh - 90px); border-radius:18px; }
  .ryo-hero { min-height:1000px; padding-top:96px; }
  .ryo-hero-copy h1 { font-size:clamp(56px,13vw,76px); }
  .ryo-hero-lead { font-size:16px; }
  .ryo-hero-proof { margin-top:54px; }
  .ryo-proof-body { grid-template-columns:44px minmax(0,1fr); min-height:0; }
  .ryo-proof-rail { gap:13px; padding-top:15px; }
  .ryo-proof-rail i { width:16px; height:16px; }
  .ryo-proof-main { padding:20px; }
  .ryo-proof-heading h2 { font-size:30px; }
  .ryo-context-row strong { display:none; }
  .ryo-fact-band .container { grid-template-columns:repeat(2,minmax(0,1fr)); padding-inline:0; }
  .ryo-fact-band .container > div { min-height:100px; border-bottom:1px solid var(--line-soft); }
  .ryo-fact-band .container > div:nth-child(odd) { border-left:0; }
  .ryo-fact-band .container > div:nth-child(even) { border-right:0; }
  .ryo-fact-band .container > div:nth-child(n+3) { border-bottom:0; }
  .ryo-section { padding-block:96px; }
  .ryo-section-head { margin-bottom:52px; }
  .ryo-section-head h2,.ryo-pricing-copy h2 { font-size:58px; }
  .ryo-flow { grid-template-columns:1fr; border-top:0; }
  .ryo-flow li { min-height:0; padding:32px 0; border-top:1px solid var(--line); }
  .ryo-flow li + li { border-left:0; }
  .ryo-flow li > div { margin-top:24px; }
  .ryo-demo-profile dl { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ryo-demo-workspace { padding:24px; }
  .ryo-demo-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); width:100%; }
  .ryo-demo-tabs button { min-width:0; padding-inline:8px; white-space:normal; }
  .ryo-tool-groups { grid-template-columns:1fr; }
  .ryo-tool-groups article { min-height:320px; }
  .ryo-pricing { grid-template-columns:1fr; gap:52px; }
  .ryo-pricing-copy,.ryo-pricing-copy > p { text-align:center; }
  .ryo-price-card { padding:38px 0 0; border-top:1px solid rgba(0,0,0,.25); border-left:0; text-align:center; }
  .ryo-price-card > div { justify-content:center; }
  .ryo-price-card ul { width:max-content; max-width:100%; margin-inline:auto; text-align:left; }
  .lp-dashboard-demo { min-height:0; }
  .lp-app-topbar { min-height:52px; padding-inline:13px; }
  .lp-app-top-context > span,.lp-app-top-context > b { display:none; }
  .lp-app-shell { grid-template-columns:1fr; min-height:0; }
  .lp-app-sidebar { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; padding:7px; border-right:0; border-bottom:1px solid var(--line-soft); }
  .lp-app-sidebar-label,.lp-app-sidebar-state { display:none; }
  .lp-app-sidebar > button { justify-content:center; gap:6px; min-height:40px; padding:7px 5px; text-align:center; }
  .lp-app-sidebar > button:hover { transform:none; }
  .lp-app-panel { min-height:620px; padding:24px 20px; }
  .lp-app-head { align-items:flex-start; flex-direction:column; }
  .lp-app-primary { width:100%; }
  .lp-tool-title { align-items:flex-start; }
  .lp-tool-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .lp-tool-card { min-height:168px; padding:14px; }
  .lp-match-cards article { grid-template-columns:22px minmax(0,1fr) 30px 28px; }
  .ryo-workflow-output h3 { font-size:29px; }
}

@media (max-width:520px) {
  .ryo-landing .container { padding-inline:16px; }
  .ryo-kicker { padding:6px 12px; font-size:9px; }
  .ryo-hero { min-height:940px; padding-top:84px; }
  .ryo-hero::before { background-position:center top; }
  .ryo-hero-copy h1 { font-size:clamp(50px,14.5vw,68px); line-height:.94; }
  .ryo-hero-lead { margin-top:22px !important; }
  .ryo-hero-actions { align-items:stretch; flex-direction:column; margin-top:26px; }
  .ryo-hero-actions .btn,.ryo-text-link { width:100%; }
  .ryo-commitment { max-width:34ch; margin-inline:auto; }
  .ryo-commitment span { padding-inline:3px; }
  .ryo-hero-proof { width:calc(100% + 16px); margin-left:-8px; }
  .ryo-proof-toolbar { padding-inline:14px; }
  .ryo-proof-status { font-size:0; }
  .ryo-proof-status i { width:7px; height:7px; }
  .ryo-proof-body { grid-template-columns:36px minmax(0,1fr); }
  .ryo-proof-rail b { width:24px; height:24px; }
  .ryo-proof-rail i:nth-of-type(n+4) { display:none; }
  .ryo-proof-main { padding:14px; }
  .ryo-proof-heading { gap:8px; }
  .ryo-proof-heading h2 { font-size:25px; }
  .ryo-proof-heading em { padding:4px 7px; }
  .ryo-context-row { gap:9px; }
  .ryo-context-row small { max-width:31ch; }
  .ryo-proof-draft { padding:14px; }
  .ryo-proof-draft p { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:4; font-size:12px; }
  .ryo-proof-result { gap:5px 10px; padding:14px; }
  .ryo-proof-result p { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
  .ryo-proof-result > strong { font-size:21px; }
  .ryo-ai-state span:nth-child(2) { display:none; }
  .ryo-proof-caption { padding-inline:14px; }
  .ryo-fact-band .container > div { padding:22px 16px; }
  .ryo-section-head h2,.ryo-pricing-copy h2 { font-size:50px; }
  .ryo-section-head > p,.ryo-section-head--split > p,.ryo-pricing-copy > p { font-size:16px; }
  .ryo-demo-profile { padding:20px; }
  .ryo-demo-profile dl { grid-template-columns:1fr 1fr; gap:0 14px; }
  .ryo-demo-workspace { padding:16px; }
  .ryo-demo-tabs button { padding-inline:5px; font-size:11px; }
  .ryo-panel-meta { align-items:flex-start; flex-direction:column; gap:6px; }
  .ryo-panel-meta span { max-width:100%; white-space:normal; }
  .ryo-essay-sample p { font-size:38px; }
  .ryo-insight h3 { font-size:34px; }
  .ryo-score-row div { align-items:flex-start; flex-direction:column; gap:0; padding-block:12px; }
  .ryo-score-row div + div { padding-left:10px; }
  .ryo-match-list article { align-items:start; grid-template-columns:1fr; gap:8px; }
  .ryo-task-list article { align-items:start; grid-template-columns:48px minmax(0,1fr); gap:10px; }
  .ryo-task-list article > em { grid-column:2; }
  .ryo-tool-groups article { min-height:290px; padding:32px; }
  .ryo-tool-groups h3 { margin-top:38px; font-size:40px; }
  .ryo-accordion .acc-trigger { gap:16px; font-size:15px; }
  .ryo-final h2 { font-size:56px; }
  .ryo-footer .footer-grid { grid-template-columns:1fr 1fr; gap:32px 20px; }
  .ryo-footer .footer-brand { grid-column:1/-1; }
  .ryo-footer .footer-bottom { align-items:flex-start; flex-direction:column; gap:12px; }
  .lp-app-top-context > em { display:none; }
  .lp-app-sidebar > button { flex-direction:column; gap:3px; font-size:8px; }
  .lp-app-sidebar > button svg { width:14px; height:14px; }
  .lp-app-panel { min-height:550px; padding:16px 13px 18px; }
  .lp-app-head h2,.lp-tool-title h2 { font-size:27px; }
  .lp-home-identity { align-items:flex-start; flex-wrap:wrap; }
  .lp-home-identity > em { width:100%; margin-left:49px; }
  .lp-tool-head { margin-top:16px; }
  .lp-tool-grid { gap:6px; }
  .lp-tool-card { min-height:126px; padding:10px; }
  .lp-tool-card-copy { gap:3px; margin:10px 0 0; }
  .lp-tool-card-copy small,.lp-tool-card-copy > span,.lp-tool-card-foot > span { display:none; }
  .lp-tool-icon { width:27px; height:27px; }
  .lp-tool-card-copy b { font-size:9px; line-height:1.25; }
  .lp-tool-card-foot { padding-top:0; border-top:0; }
  .lp-tool-title { gap:8px; }
  .lp-tool-title > em { padding:5px 6px; font-size:6px; }
  .lp-tool-context > em { display:none; }
  .lp-demo-field textarea { min-height:116px; }
  .lp-demo-actions { align-items:stretch; flex-direction:column; }
  .lp-feedback-card { grid-template-columns:minmax(0,1fr) 32px; gap:9px; padding:12px; }
  .lp-feedback-card p { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
  .lp-priority-chips { gap:5px; }
  .lp-match-cards article { grid-template-columns:18px minmax(0,1fr) 28px; gap:7px; }
  .lp-match-cards article > button { grid-column:3; grid-row:1; opacity:0; pointer-events:none; }
  .lp-match-cards article > strong { grid-column:3; grid-row:1; }
  .lp-quick-task,.ryo-workflow-add { grid-template-columns:1fr; }
  .ryo-workflow-actions { align-items:stretch; flex-direction:column; }
  .ryo-workflow-actions > button { width:100%; }
  .ryo-match-list article { grid-template-columns:38px minmax(0,1fr) 28px; gap:8px; }
  .ryo-match-list article > em { grid-column:2; }
  .ryo-match-list [data-workflow-save] { grid-column:3; grid-row:1; }
  .ryo-task-list--interactive label { grid-template-columns:18px 42px minmax(0,1fr); gap:7px; }
  .ryo-task-list--interactive label > em { grid-column:3; }
}

@media (prefers-reduced-motion:reduce) {
  .ryo-landing *, .ryo-landing *::before, .ryo-landing *::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}
@media (prefers-reduced-transparency:reduce) {
  .ryo-landing .site-nav,.ryo-landing .nav-drawer { background:var(--color-abyss); backdrop-filter:none; -webkit-backdrop-filter:none; }
  .ryo-landing .modal-backdrop { backdrop-filter:none; -webkit-backdrop-filter:none; }
}
@media (prefers-contrast:more) {
  .ryo-landing { --line:rgba(255,255,255,.5); --line-soft:rgba(255,255,255,.3); }
  .ryo-landing .btn,.ryo-landing .ryo-text-link { border-width:2px; }
}
@media (forced-colors:active) {
  .ryo-landing * { forced-color-adjust:auto; }
  .ryo-landing .btn,.ryo-landing .ryo-text-link,.ryo-landing .ryo-demo-tabs button[aria-selected="true"] { border:1px solid ButtonText; }
}

/* Account access belongs to the same visual world as the landing page. */
body.auth.ryo-landing {
  --bg: var(--color-obsidian);
  --bg-deep: var(--color-abyss);
  --surface-1: var(--color-abyss);
  --surface-2: var(--color-graphite);
  --surface-3: var(--color-steel);
  --text: var(--color-pure);
  --text-2: var(--color-ash);
  --text-3: rgba(232,224,210,.58);
  --text-4: rgba(232,224,210,.42);
  --line: var(--line-soft);
  --line-2: var(--line);
  --line-gold: rgba(217,183,98,.32);
  --gold: var(--color-iris-gleam);
  --gold-2: var(--color-periwinkle);
  --gold-3: var(--color-pale-iris);
  --font-display: var(--font-lyon-display);
  --font-sans: var(--font-suisse-intl);
  --font-mono: var(--font-roboto-mono);
  padding-top: 90px;
  background:
    radial-gradient(760px 420px at 12% -8%, rgba(217,183,98,.1), transparent 68%),
    radial-gradient(700px 440px at 96% 88%, rgba(35,35,47,.5), transparent 68%),
    var(--color-obsidian);
}
body.auth.ryo-landing .page-atmosphere { opacity: .45; }
body.auth.ryo-landing .page-grain { opacity: .018; }
body.auth.ryo-landing .auth-shell {
  width: min(calc(100% - 32px), 1080px);
  min-height: 570px;
  margin: 20px auto 44px;
  overflow: hidden;
  border: 1px solid rgba(247,242,232,.14);
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(35,35,47,.72), rgba(8,8,11,.7));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 28px 70px -42px rgba(0,0,0,.98);
}
body.auth.ryo-landing .auth-main { padding: clamp(28px,5vw,58px); }
body.auth.ryo-landing .auth-card {
  padding: clamp(24px,3vw,34px);
  border: 1px solid rgba(247,242,232,.1);
  border-radius: 18px;
  background: rgba(3,3,4,.42);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.045);
}
body.auth.ryo-landing .auth-aside {
  border-left-color: rgba(247,242,232,.1);
  background: linear-gradient(145deg, rgba(21,21,29,.54), rgba(3,3,4,.3));
}
body.auth.ryo-landing .plan {
  border-color: rgba(247,242,232,.12);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(35,35,47,.56), rgba(8,8,11,.42));
}
body.auth.ryo-landing .plan.is-selected {
  border-color: rgba(217,183,98,.46);
  background: linear-gradient(180deg, rgba(217,183,98,.12), rgba(8,8,11,.52));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 20px 48px -32px rgba(0,0,0,.92);
}
@media (max-width: 768px) {
  body.auth.ryo-landing { padding-top: 82px; }
  body.auth.ryo-landing .auth-shell { width: min(calc(100% - 24px), 560px); min-height: 0; margin-block: 12px 28px; border-radius: 20px; }
  body.auth.ryo-landing .auth-main { padding: 16px; }
  body.auth.ryo-landing .auth-card { padding: 24px 20px; }
}
