:root {
  --ink:#101112;
  --muted:#526473;
  --muted-2:#728495;
  --ivory:#f4f9fc;
  --paper:#fff;
  --line:rgba(49,95,139,.24);
  --line-soft:rgba(49,95,139,.14);
  --orange:#315f8b;
  --orange-dark:#102a43;
  --orange-soft:#d8eaf7;
  --sand:#e6f1f8;
  --blue:#6f9dca;
  --shadow:0 28px 80px rgba(50,91,126,.14);
  --serif:Georgia,"Times New Roman",serif;
  --sans:"Inter Tight",Inter,ui-sans-serif,sans-serif;
}
html,body { background:#fff!important; }
body { font-family:var(--sans)!important; }
.ruty-liquid-page-bg { position:fixed;inset:0;z-index:-2;width:100vw;height:100vh;border:0;pointer-events:none;background:#f3f8fb; }
.announcement { display:none!important; }
main#top { position:relative;z-index:1;background:transparent; }
.hero { padding:160px 0 110px;background:rgba(255,255,255,.26);display:block; }
.hero>.container { width:min(1180px,calc(100% - 32px))!important;max-width:none!important;margin-inline:auto!important; }
.hero-grid { display:grid;grid-template-columns:1fr!important;gap:76px!important;align-items:start!important; }
.hero-copy { max-width:1050px;margin:0 auto;text-align:center; }
.hero .product-label { margin-bottom:24px;color:#315f8b;font-family:"DM Mono",monospace;font-size:11px;letter-spacing:.14em; }
.hero h1 { max-width:1050px!important;margin-inline:auto!important;font-family:"Inter Tight",sans-serif!important;font-size:clamp(64px,7.6vw,112px)!important;line-height:.88!important;font-weight:500!important;letter-spacing:-.065em!important;text-wrap:balance; }
.hero p { max-width:720px!important;margin:30px auto 0!important;color:#526473!important; }
.hero-actions { justify-content:center; }
.hero .rollout { text-align:center; }
.hero-stage { width:100%;min-height:620px;margin:0 auto; }
.hero-stage { background:#87b7da;box-shadow:0 34px 100px rgba(48,91,126,.2); }
.hero-stage::after { background:linear-gradient(180deg,rgba(16,42,67,.01),rgba(16,42,67,.2)); }
.video-fallback { background:#f5f4ef; }
.hero-stage { background:#527fa8; }
.hero-stage.ruty-scroll-screen {
  opacity:0!important;
  visibility:hidden;
  transform:translateY(34px)!important;
  transition:opacity .82s cubic-bezier(.22,1,.36,1),transform .82s cubic-bezier(.22,1,.36,1),visibility 0s linear .82s!important;
  animation:none!important;
}
.hero-stage.ruty-scroll-screen.is-visible {
  opacity:1!important;
  visibility:visible;
  transform:none!important;
  transition-delay:0s!important;
}
#what-is-ruty.ruty-explainer { border-top:0!important; }
.section { width:100vw!important;max-width:none!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;background:#e5f1f9;backdrop-filter:blur(5px);border-top:1px solid var(--line);overflow:visible!important;box-shadow:0 0 0 100vmax #e5f1f9;clip-path:inset(0 -100vmax); }
.section.white { width:100vw!important;max-width:none!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;background:rgba(255,255,255,.86);backdrop-filter:blur(10px);border-top:1px solid var(--line);box-shadow:none; }
.section.dark { background:#102a43;box-shadow:0 0 0 100vmax #102a43; }
.section>.container { width:min(1180px,calc(100% - 32px))!important;max-width:none!important;margin-inline:auto!important; }
.product-explainer__inner { width:min(1180px,calc(100% - 32px))!important; }
.capability-grid,.capability,.plugin-pillars,.pillar,.security-item,.logo-row,.logo-cell,.pricing-grid,.price-card { border-color:var(--line)!important; }
.pricing-grid[hidden] { display:none!important; }
.capability-grid { background:rgba(238,247,252,.34); }
.capability { background:rgba(255,255,255,.12); }
.capability:hover { background:rgba(255,255,255,.74); }
.plugin-art { background:#87b6d3; }
.plugin-art.legal { background:#bad7e8; }
.plugin-art.finance { background:#719fc2; }
.webinar { background:#315f8b;color:#f5faff; }
.webinar-copy p { color:rgba(245,250,255,.78); }
.ruty-integration-visual { position:relative;display:grid;place-items:center;padding:34px;background:linear-gradient(135deg,#e8f4fb 0%,#c7e0ef 46%,#82afca 100%); }
.ruty-integration-card { width:min(100%,620px);padding:26px 28px 30px;border:1px solid rgba(16,42,67,.18);border-radius:20px;background:rgba(255,255,255,.94);color:#101112;box-shadow:0 28px 65px rgba(16,42,67,.22); }
.ruty-integration-head { padding-bottom:20px;border-bottom:1px solid rgba(49,95,139,.2);font-size:11px;font-weight:700;letter-spacing:.08em; }
.ruty-integration-flow { display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:14px;align-items:center;padding-top:42px; }
.ruty-integration-node { min-height:116px;padding:18px 16px;border:1px solid rgba(49,95,139,.26);border-radius:14px;background:#f9fcfe;display:flex;flex-direction:column;justify-content:center; }
.ruty-integration-node i { width:15px;height:15px;margin-bottom:14px;border-radius:50%;background:#315f8b; }
.ruty-integration-node:nth-of-type(2) i { background:#77a8c8; }
.ruty-integration-node:nth-of-type(3) i { background:#102a43; }
.ruty-integration-node strong { font-size:15px;line-height:1.1; }
.ruty-integration-node span { margin-top:7px;color:#728495;font-size:10px;line-height:1.35; }
.ruty-integration-arrow { color:#526473;font-size:20px;font-weight:400; }
.final-cta { background:#102a43;color:#f5faff; }
.usecase-media,.security-visual,.webinar-media { box-shadow:var(--shadow); }
.plugin-art { background:#93bfda!important; }.plugin-art.legal{background:#b9d7e9!important}.plugin-art.finance{background:#719fc2!important}
.webinar { background:#102a43;border:1px solid rgba(111,157,202,.5); }.final-cta{width:100%!important;max-width:none!important;margin:0!important;background:#102a43;border-top:1px solid #315f8b}.testimonials{background:rgba(229,241,249,.76)}
.price-card.featured { border-color:#315f8b;box-shadow:0 24px 70px rgba(49,95,139,.14); }
.pricing-switch button.active { background:#102a43;color:#fff; }
.btn { background:#102a43;border-color:#102a43; }.btn.orange{background:#315f8b;border-color:#315f8b}
.round-btn:hover { background:#102a43;color:#fff; }
.usecase-panel.active { animation:rutyPanelEnter .48s cubic-bezier(.2,.8,.2,1); }
@keyframes rutyPanelEnter { from{opacity:0;transform:translateY(16px) scale(.992)}to{opacity:1;transform:none} }
@media(max-width:760px){.hero{padding:125px 0 82px}.hero-grid{gap:50px!important}.hero h1{font-size:clamp(52px,15vw,76px)!important}.hero-stage{min-height:520px}.ruty-liquid-page-bg{opacity:.82}}
@media(max-width:620px){.ruty-integration-visual{padding:22px}.ruty-integration-card{padding:22px}.ruty-integration-flow{grid-template-columns:1fr;gap:10px;padding-top:24px}.ruty-integration-arrow{transform:rotate(90deg);justify-self:center}.ruty-integration-node{min-height:92px}}

.ruty-template-versions>header { max-width:980px;margin-inline:auto; }
.ruty-template-version-grid { display:grid;grid-template-columns:repeat(2,minmax(0,390px));justify-content:center;gap:28px;margin:70px auto 0; }
.ruty-template-version-card { position:relative;display:block;width:100%;aspect-ratio:3/4;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:url("../images/generated/generated-2026-06-21-165304.png") center/cover no-repeat;color:#102a43;box-shadow:0 18px 54px rgba(54,91,122,.08);transition:transform .48s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease; }
.ruty-template-version-card:hover { transform:translateY(-6px);box-shadow:0 30px 76px rgba(54,91,122,.16); }
.ruty-template-version-mark { position:absolute;left:50%;top:34%;transform:translate(-50%,-50%);width:150px;height:150px;padding:31px;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:8px;border:1px solid rgba(16,42,67,.08);border-radius:30px;background:#fff;box-shadow:0 18px 46px rgba(16,42,67,.18);transition:transform .6s cubic-bezier(.2,.8,.2,1),box-shadow .4s ease; }
.ruty-template-version-card:hover .ruty-template-version-mark { transform:translate(-50%,-50%) rotate(7deg) scale(1.035);box-shadow:0 26px 58px rgba(16,42,67,.24); }
.ruty-template-version-mark b { display:block;background:#102a43; }.ruty-template-version-mark b:nth-child(3n),.ruty-template-version-mark b:nth-child(7){background:#7297c5}
.ruty-template-version-copy { position:absolute;left:0;right:0;bottom:0;padding:32px 30px 38px;display:flex;flex-direction:column;gap:13px; }
.ruty-template-version-copy strong { font-size:clamp(38px,4vw,54px);line-height:.98;letter-spacing:-.055em; }
.ruty-template-version-copy>span { max-width:510px;color:rgba(16,42,67,.74);font-size:16px;line-height:1.45; }
@media(max-width:820px){.ruty-template-version-grid{grid-template-columns:minmax(0,390px);margin-inline:auto}.ruty-template-version-card{aspect-ratio:3/4}}
@media(max-width:520px){.ruty-template-version-mark{width:126px;height:126px;padding:26px;border-radius:25px}.ruty-template-version-copy{padding:24px}.ruty-template-version-copy strong{font-size:38px}}

/* Keep the original animated video intact; only remove its dark overlay. */
.hero-stage::after {
  content: none !important;
  display: none !important;
}

/* Show the complete recording instead of cropping its edges. */
.hero-stage { background: #f2eee6; }
.hero-stage video {
  object-fit: contain !important;
  object-position: center !important;
  background: #f2eee6;
  transform: scale(.9);
  border-radius: 22px;
}

@media (max-width: 760px) {
  .hero-stage video { transform: scale(.94); }
}

/* Keep every primary Ruty section heading on one shared editorial axis. */
main#top .section > .container > header.center {
  width: 100%;
  margin-right: auto !important;
  margin-left: auto !important;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center !important;
}

main#top .section > .container > header.center .section-title {
  width: 100%;
  max-width: 1040px;
  margin-right: auto !important;
  margin-left: auto !important;
  text-align: center !important;
  text-wrap: balance;
}

main#top .section > .container > header.center .section-lead {
  width: min(100%, 760px);
  margin-right: auto !important;
  margin-left: auto !important;
  text-align: center !important;
}

main#top .section > .container > header.center .research-action {
  width: 100%;
  display: flex;
  justify-content: center;
}

.plugin-art.has-specific-art {
  --art-tint-a: rgba(210,239,252,.22);
  --art-tint-b: rgba(67,126,165,.25);
  height: auto;
  aspect-ratio: 2 / 1;
  padding: 0 !important;
  background: linear-gradient(125deg,#d9edf8 0%,#8ab8d4 28%,#b9d9ea 52%,#6595ba 76%,#cce6f3 100%) !important;
  background-size: 320% 320% !important;
  animation: rutyPluginBlueShift 9s ease-in-out infinite;
}

.plugin-art.has-specific-art::after {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(125deg,var(--art-tint-a),transparent 44%,var(--art-tint-b));
  mix-blend-mode: soft-light;
  opacity: .78;
  animation: rutyPluginTintPulse 6.8s ease-in-out infinite alternate;
}

.plugin-art.has-specific-art img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  object-position: center;
  transform: scale(1.025);
  transition: transform .7s cubic-bezier(.22,1,.36,1), filter .45s ease;
}

.plugin-card {
  position: relative;
  isolation: isolate;
  transform: translateY(0) scale(1);
  box-shadow: 0 14px 32px rgba(16,42,67,.045);
  transition: transform .48s cubic-bezier(.22,1,.36,1), box-shadow .48s cubic-bezier(.22,1,.36,1), border-color .28s ease;
}

.plugin-card::after {
  content: "";
  position: absolute;
  z-index: 4;
  inset: 0;
  border: 2px solid rgba(49,95,139,0);
  border-radius: inherit;
  pointer-events: none;
  transition: border-color .3s ease, box-shadow .4s ease;
}

.plugin-card:hover,
.plugin-card:focus-within {
  z-index: 3;
  transform: translateY(-10px) scale(1.012);
  border-color: rgba(49,95,139,.38);
  box-shadow: 0 28px 62px rgba(16,42,67,.18);
}

.plugin-card:hover::after,
.plugin-card:focus-within::after {
  border-color: rgba(76,134,181,.72);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.68),0 0 0 5px rgba(126,185,219,.12);
}

.plugin-card:hover .plugin-art.has-specific-art img,
.plugin-card:focus-within .plugin-art.has-specific-art img {
  transform: scale(1.07) rotate(-.35deg);
  filter: saturate(1.08) contrast(1.02);
}

.plugin-card:hover .text-link,
.plugin-card:focus-within .text-link { color:#315f8b; }

.plugin-card:nth-child(3n+1) .plugin-art.has-specific-art {
  --art-tint-a: rgba(221,246,255,.5);
  --art-tint-b: rgba(91,157,196,.2);
  background: linear-gradient(125deg,#e1f3fb 0%,#a9cfe4 32%,#d4eaf5 62%,#8fbbd5 100%) !important;
}
.plugin-card:nth-child(3n+2) .plugin-art.has-specific-art {
  --art-tint-a: rgba(152,204,231,.2);
  --art-tint-b: rgba(19,63,105,.54);
  background: linear-gradient(125deg,#b9d8e8 0%,#6799ba 34%,#9fc5da 58%,#315f8d 100%) !important;
}
.plugin-card:nth-child(3n) .plugin-art.has-specific-art {
  --art-tint-a: rgba(110,176,214,.26);
  --art-tint-b: rgba(12,48,87,.68);
  background: linear-gradient(125deg,#8ebbd2 0%,#477ca4 34%,#74a8c5 58%,#173f6d 100%) !important;
}
.plugin-card:nth-child(2n) .plugin-art.has-specific-art,
.plugin-card:nth-child(2n) .plugin-art.has-specific-art::after { animation-delay:-2.2s; }
.plugin-card:nth-child(3n) .plugin-art.has-specific-art,
.plugin-card:nth-child(3n) .plugin-art.has-specific-art::after { animation-delay:-4.8s; }

@keyframes rutyPluginBlueShift {
  0%,100% { background-position:0% 45%; }
  35% { background-position:58% 18%; }
  68% { background-position:100% 70%; }
}

@keyframes rutyPluginTintPulse {
  0% { opacity:.42; transform:translateX(-3%); }
  100% { opacity:.92; transform:translateX(3%); }
}

@media (prefers-reduced-motion: reduce) {
  .plugin-art.has-specific-art,
  .plugin-art.has-specific-art::after { animation:none; }
  .plugin-card:hover,
  .plugin-card:focus-within { transform:none; }
}

/* Native Aceternity-inspired effects for the pricing tabs. */
.price-card.ruty-meteor-card,
.price-card.ruty-stars-card {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  color:#f8fbff;
  border-color:#243a58 !important;
  background:linear-gradient(145deg,#111d31 0%,#0d1728 58%,#101c2e 100%);
  box-shadow:0 24px 60px rgba(5,16,29,.2);
}
.price-card.ruty-meteor-card .plan-copy,
.price-card.ruty-stars-card .plan-copy,
.price-card.ruty-meteor-card ul,
.price-card.ruty-stars-card ul { color:#8495ad; }
.price-card.ruty-meteor-card li,
.price-card.ruty-stars-card li { border-color:rgba(132,164,197,.22); }
.price-card.ruty-meteor-card .btn,
.price-card.ruty-stars-card .btn {
  color:#edf7ff;
  border-color:#61758f;
  background:rgba(255,255,255,.035);
}
.price-card.ruty-meteor-card .btn:hover,
.price-card.ruty-stars-card .btn:hover {
  border-color:#63c8d0;
  background:rgba(61,185,194,.12);
}
.price-card.ruty-meteor-card > :not(.ruty-card-fx),
.price-card.ruty-stars-card > :not(.ruty-card-fx) { position:relative; z-index:2; }
.ruty-card-fx { position:absolute; z-index:1; inset:0; overflow:hidden; pointer-events:none; }
.ruty-meteor-card::before {
  content:"";
  position:absolute;
  z-index:0;
  width:72%;
  aspect-ratio:1;
  left:14%;
  top:-42%;
  border-radius:50%;
  background:radial-gradient(circle,rgba(21,174,189,.27),rgba(19,108,145,.13) 40%,transparent 70%);
  filter:blur(30px);
}
.ruty-meteor {
  position:absolute;
  top:var(--meteor-y);
  left:var(--meteor-x);
  width:2px;
  height:2px;
  border-radius:999px;
  background:#64748b;
  box-shadow:0 0 0 1px rgba(255,255,255,.08);
  opacity:0;
  offset-distance:0%;
  offset-rotate:auto 180deg;
  animation:rutyMeteorEffect var(--meteor-duration) linear var(--meteor-delay) infinite;
}
.ruty-meteor.curve-a { offset-path:path("M 0 0 C -125 16 -370 154 -650 224"); }
.ruty-meteor.curve-b { offset-path:path("M 0 0 C -184 -34 -355 84 -648 166"); }
.ruty-meteor.curve-c { offset-path:path("M 0 0 C -116 86 -418 34 -682 236"); }
.ruty-meteor.curve-d { offset-path:path("M 0 0 C -232 32 -314 192 -642 252"); }
.ruty-meteor::after {
  content:"";
  position:absolute;
  top:50%;
  left:1px;
  width:50px;
  height:1px;
  transform:translateY(-50%);
  background:linear-gradient(90deg,#64748b,transparent);
}
@keyframes rutyMeteorEffect {
  0% { opacity:0; offset-distance:0%; }
  7% { opacity:1; }
  70% { opacity:1; }
  100% { opacity:0; offset-distance:100%; }
}
.ruty-stars-card::before {
  content:"";
  position:absolute;
  z-index:0;
  inset:0;
  opacity:.72;
  background:
    radial-gradient(circle at 18% 24%,rgba(44,137,201,.21),transparent 28%),
    radial-gradient(circle at 82% 70%,rgba(31,181,170,.18),transparent 30%);
}
.ruty-star {
  position:absolute;
  left:var(--star-x);
  top:var(--star-y);
  width:var(--star-size);
  height:var(--star-size);
  border-radius:50%;
  background:#8ed3e7;
  opacity:.16;
  box-shadow:0 0 0 1px rgba(110,185,218,.18),0 0 9px rgba(58,194,201,.62);
  animation:rutyStarGlow var(--star-duration) ease-in-out var(--star-delay) infinite;
}
@keyframes rutyStarGlow {
  0%,100% { opacity:.12; transform:scale(.72); }
  45% { opacity:.9; transform:scale(1.45); }
}
.ruty-stars-card:hover .ruty-star,
.ruty-stars-card:focus-within .ruty-star { animation-duration:calc(var(--star-duration) * .72); }
@media (prefers-reduced-motion: reduce) {
  .ruty-meteor,.ruty-star { animation:none; }
  .ruty-star { opacity:.35; }
}
