/* Runwrk marketing site: layered on top of the Eduleb theme (style.css). Light + dark mode via variables. */
:root {
    --rw-primary: #525fe1; --rw-primary-soft: #eef0ff; --rw-coral: #f26b65; --rw-navy: #0b104a;
    --rw-bg: #ffffff; --rw-surface: #ffffff; --rw-soft: #f5f6ff; --rw-border: #eceefb;
    --rw-heading: #0b104a; --rw-text: #5b6076; --rw-muted: #667089; --rw-btn: #525fe1; --rw-coral-strong: #cf3f38;
    --rw-shadow: 0 14px 34px rgba(11, 16, 74, .09); --rw-nav-bg: rgba(255, 255, 255, .86);
    --rw-hero: linear-gradient(135deg, #f5f6ff 0%, #ffffff 55%, #fff3f2 100%);
    color-scheme: light;
}
html[data-theme="dark"] {
    --rw-primary: #7c89ff; --rw-primary-soft: #1c2450; --rw-navy: #070b24;
    --rw-bg: #0b1020; --rw-surface: #131a33; --rw-soft: #0f1630; --rw-border: #243055;
    --rw-heading: #f2f4ff; --rw-text: #aab2d5; --rw-muted: #7f89b3;
    --rw-shadow: 0 14px 34px rgba(0, 0, 0, .45); --rw-nav-bg: rgba(15, 22, 48, .82);
    --rw-hero: linear-gradient(135deg, #0f1630 0%, #0b1020 60%, #1a1226 100%);
    color-scheme: dark;
}
html { scroll-behavior: smooth; scroll-padding-top: 84px; }
:where(html.rw-ready) * { transition: background-color .2s ease, border-color .2s ease, color .2s ease; }
body { color: var(--rw-text); background: var(--rw-bg); overflow-x: hidden; height: auto; }
h1, h2, h3, h4, h5, h6 { color: var(--rw-heading); }
a { color: var(--rw-heading); }
img, svg { max-width: 100%; }
::selection { background: var(--rw-primary); color: #fff; }
:focus-visible { outline: 3px solid var(--rw-primary); outline-offset: 2px; }

/* Header */
.rw-nav { position: fixed; top: 0; left: 0; right: 0; z-index: 50; background: transparent; border-bottom: 1px solid transparent; transition: background-color .25s ease, border-color .25s ease, box-shadow .25s ease, backdrop-filter .25s ease; }
.rw-nav.scrolled, .rw-nav.menu-open { background: var(--rw-nav-bg); -webkit-backdrop-filter: saturate(160%) blur(14px); backdrop-filter: saturate(160%) blur(14px); border-bottom-color: var(--rw-border); box-shadow: 0 8px 28px rgba(11, 16, 74, .08); }
html[data-theme="dark"] .rw-nav.scrolled, html[data-theme="dark"] .rw-nav.menu-open { box-shadow: 0 8px 28px rgba(0, 0, 0, .4); }
.rw-nav.menu-open { background: var(--rw-surface); }
/* Inner pages start with a dark banner: while the nav is transparent, show it in white */
body.rw-dark-top .rw-nav:not(.scrolled):not(.menu-open) .rw-logo, body.rw-dark-top .rw-nav:not(.scrolled):not(.menu-open) .rw-burger span { color: #fff; }
body.rw-dark-top .rw-nav:not(.scrolled):not(.menu-open) .rw-burger span { background: #fff; }
@media (min-width: 992px) {
    body.rw-dark-top .rw-nav:not(.scrolled) .rw-link, body.rw-dark-top .rw-nav:not(.scrolled) .rw-signin { color: #fff; }
    body.rw-dark-top .rw-nav:not(.scrolled) .rw-link:hover, body.rw-dark-top .rw-nav:not(.scrolled) .rw-link.active { color: #fff; border-bottom-color: #fff; }
    body.rw-dark-top .rw-nav:not(.scrolled) .rw-signin { opacity: .85; }
    body.rw-dark-top .rw-nav:not(.scrolled) .rw-theme { background: rgba(255, 255, 255, .12); border-color: rgba(255, 255, 255, .35); color: #fff; }
}
.rw-nav-in { display: flex; align-items: center; justify-content: space-between; height: 72px; }
.rw-logo { display: flex; align-items: center; gap: 10px; font: 700 26px/1 "Jost", sans-serif; color: var(--rw-heading); }
.rw-logo:hover { color: var(--rw-heading); }
.rw-mark { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 10px; background: var(--rw-btn); color: #fff; font-size: 20px; }
.rw-menu { display: flex; align-items: center; gap: 26px; }
.rw-menu a.rw-link { color: var(--rw-heading); font-weight: 500; font-size: 16px; padding: 6px 0; border-bottom: 2px solid transparent; }
.rw-menu a.rw-link:hover, .rw-menu a.rw-link.active { color: var(--rw-primary); border-bottom-color: var(--rw-primary); }
.rw-signin { color: var(--rw-text); font-weight: 500; }
.rw-signin:hover { color: var(--rw-heading); }
.rw-cta.btn_one { padding: 11px 22px; display: inline-block; }
.rw-theme { width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--rw-border); background: var(--rw-surface); color: var(--rw-heading); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; padding: 0; }
.rw-theme:hover { border-color: var(--rw-primary); color: var(--rw-primary); }
.rw-theme svg { width: 18px; height: 18px; }
.rw-theme .moon { display: none; }
html[data-theme="dark"] .rw-theme .sun { display: none; }
html[data-theme="dark"] .rw-theme .moon { display: block; }
.rw-burger { display: none; background: none; border: 0; padding: 8px; }
.rw-burger span { display: block; width: 24px; height: 2px; background: var(--rw-heading); margin: 5px 0; }
@media (max-width: 991px) {
    .rw-burger { display: block; }
    .rw-menu { position: absolute; left: 0; right: 0; top: 72px; background: var(--rw-surface); flex-direction: column; align-items: flex-start; gap: 0; padding: 8px 20px 20px; border-bottom: 1px solid var(--rw-border); display: none; }
    .rw-menu.open { display: flex; }
    .rw-menu a.rw-link, .rw-signin { padding: 12px 0; width: 100%; border-bottom: 1px solid var(--rw-border); }
    .rw-cta.btn_one { margin-top: 14px; }
    .rw-theme { margin-top: 14px; }
}

/* Buttons */
.btn_one { background: var(--rw-btn); border-color: var(--rw-btn); color: #fff; border-radius: 6px; box-shadow: 0 8px 20px rgba(82, 95, 225, .28); }
.btn_one:hover { background: var(--rw-coral-strong); border-color: var(--rw-coral-strong); color: #fff; box-shadow: 0 8px 20px rgba(242, 107, 101, .3); }
.btn_line { display: inline-block; padding: 15px 30px; border-radius: 6px; border: 1px solid var(--rw-primary); color: var(--rw-primary); font-weight: 600; background: transparent; transition: .3s; }
.btn_line:hover { background: var(--rw-primary); color: #fff; }

/* Hero: light, colour-shifting, fades into the page below with no edge */
.rw-hero { position: relative; padding: 164px 0 150px; overflow: hidden; isolation: isolate; color: var(--rw-text);
    background: linear-gradient(120deg, #eaeeff 0%, #f3ecff 25%, #ffeaf0 50%, #e3f6ff 75%, #eaeeff 100%);
    background-size: 320% 320%; animation: rwShift 22s ease-in-out infinite; }
html[data-theme="dark"] .rw-hero { background: linear-gradient(120deg, #0f1636 0%, #1a1450 25%, #2a1650 50%, #0d2a4a 75%, #0f1636 100%); background-size: 320% 320%; }
/* soft fade into the next section: same colour as the page, so there is no visible boundary */
.rw-hero::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 190px; z-index: 0; pointer-events: none;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, var(--rw-bg) 92%, var(--rw-bg) 100%); }
html[data-theme="dark"] .rw-hero::after { background: linear-gradient(to bottom, rgba(11, 16, 32, 0) 0%, var(--rw-bg) 92%, var(--rw-bg) 100%); }
@keyframes rwShift { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } }

.rw-orb { position: absolute; border-radius: 50%; filter: blur(54px); opacity: .6; z-index: -1; pointer-events: none; will-change: transform; }
.rw-orb.o1 { width: 360px; height: 360px; background: #b9c2ff; top: -120px; right: 6%; animation: rwDrift1 16s ease-in-out infinite; }
.rw-orb.o2 { width: 290px; height: 290px; background: #ffc1cf; top: 38%; left: -70px; animation: rwDrift2 19s ease-in-out infinite; }
.rw-orb.o3 { width: 240px; height: 240px; background: #a8e9ee; top: 8%; left: 40%; opacity: .5; animation: rwDrift3 21s ease-in-out infinite; }
html[data-theme="dark"] .rw-orb { opacity: .32; }
html[data-theme="dark"] .rw-orb.o1 { background: #4a54e8; }
html[data-theme="dark"] .rw-orb.o2 { background: #b8325a; opacity: .22; }
html[data-theme="dark"] .rw-orb.o3 { background: #1b9fb0; opacity: .22; }
@keyframes rwDrift1 { 0%, 100% { transform: translate(0, 0) scale(1); } 50% { transform: translate(-60px, 50px) scale(1.15); } }
@keyframes rwDrift2 { 0%, 100% { transform: translate(0, 0) scale(1); } 50% { transform: translate(70px, -40px) scale(1.2); } }
@keyframes rwDrift3 { 0%, 100% { transform: translate(0, 0); } 50% { transform: translate(-50px, 60px); } }

.rw-dots { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.rw-dots i { position: absolute; width: 6px; height: 6px; border-radius: 50%; background: var(--rw-primary); opacity: .35; animation: rwTwinkle 5s ease-in-out infinite; }
.rw-dots i:nth-child(1) { left: 8%; top: 22%; animation-delay: 0s; }
.rw-dots i:nth-child(2) { left: 22%; top: 64%; animation-delay: 1.2s; width: 4px; height: 4px; }
.rw-dots i:nth-child(3) { left: 38%; top: 14%; animation-delay: 2.4s; }
.rw-dots i:nth-child(4) { left: 52%; top: 70%; animation-delay: .6s; width: 4px; height: 4px; }
.rw-dots i:nth-child(5) { left: 66%; top: 18%; animation-delay: 3.1s; width: 8px; height: 8px; }
.rw-dots i:nth-child(6) { left: 78%; top: 66%; animation-delay: 1.8s; }
.rw-dots i:nth-child(7) { left: 90%; top: 40%; animation-delay: 2.8s; width: 4px; height: 4px; }
.rw-dots i:nth-child(8) { left: 3%; top: 48%; animation-delay: 4s; width: 4px; height: 4px; }
@keyframes rwTwinkle { 0%, 100% { opacity: .1; transform: translateY(0); } 50% { opacity: .6; transform: translateY(-14px); } }

.rw-hero .container { position: relative; z-index: 1; }
.rw-pill { display: inline-flex; align-items: center; gap: 8px; background: var(--rw-surface); border: 1px solid var(--rw-border); box-shadow: 0 6px 18px rgba(82, 95, 225, .12); color: var(--rw-primary); font-weight: 600; font-size: 14px; padding: 7px 14px; border-radius: 30px; margin-bottom: 22px; }
.rw-pill:hover { border-color: var(--rw-primary); color: var(--rw-primary); }
.rw-pill b { background: var(--rw-coral-strong); color: #fff; border-radius: 20px; padding: 1px 9px; font-size: 12px; letter-spacing: .4px; }
.rw-hero h1 { font-size: 56px; line-height: 1.08; font-weight: 700; margin-bottom: 22px; letter-spacing: -.8px; }
.rw-hero h1 span { background: linear-gradient(90deg, #525fe1, #8a5fe8 55%, #e0457b); -webkit-background-clip: text; background-clip: text; color: transparent; }
html[data-theme="dark"] .rw-hero h1 span { background: linear-gradient(90deg, #8be9ff, #ffb3c1 60%, #ffd8a8); -webkit-background-clip: text; background-clip: text; }
.rw-hero p.lead { font-size: 19px; line-height: 1.65; margin-bottom: 32px; max-width: 540px; color: var(--rw-text); }
.rw-hero .btns { display: flex; flex-wrap: wrap; gap: 14px; }
.rw-hero .btn_line { background: var(--rw-surface); }
.rw-hero .btn_line:hover { background: var(--rw-btn); color: #fff; }
.rw-hero .chips { display: flex; flex-wrap: wrap; gap: 10px 24px; margin-top: 30px; font-size: 15px; color: var(--rw-heading); }
.rw-hero .chips span::before { content: "\e64c"; font-family: themify; color: #fff; background: var(--rw-btn); width: 20px; height: 20px; line-height: 20px; text-align: center; border-radius: 50%; display: inline-block; font-size: 9px; margin-right: 8px; vertical-align: 1px; }

.rw-hero-art { position: relative; }
.rw-hero-art svg { filter: drop-shadow(0 22px 34px rgba(11, 16, 74, .16)); overflow: visible; }
.rw-hero-art svg > circle { fill: rgba(255, 255, 255, .7); }
html[data-theme="dark"] .rw-hero-art svg > circle { fill: rgba(255, 255, 255, .07); }
html[data-theme="dark"] .rw-hero-art svg { filter: drop-shadow(0 26px 40px rgba(0, 0, 0, .4)); }
.rw-hero-art .sv-window { animation: rwBob 7s ease-in-out infinite; transform-box: fill-box; }
.rw-hero-art .sv-phone { animation: rwBob 6s ease-in-out -2s infinite; transform-box: fill-box; }
.rw-hero-art .sv-bell { animation: rwRing 4.5s ease-in-out infinite; transform-box: fill-box; transform-origin: 50% 20%; }
@keyframes rwBob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-12px); } }
@keyframes rwRing { 0%, 55%, 100% { transform: rotate(0); } 60% { transform: rotate(14deg); } 66% { transform: rotate(-12deg); } 72% { transform: rotate(9deg); } 78% { transform: rotate(-6deg); } 84% { transform: rotate(0); } }

.rw-float { position: absolute; display: flex; align-items: center; gap: 8px; background: var(--rw-surface); color: var(--rw-heading); border: 1px solid var(--rw-border); font: 600 14px "DM Sans", sans-serif; padding: 10px 16px; border-radius: 40px; box-shadow: 0 14px 30px rgba(11, 16, 74, .16); white-space: nowrap; }
.rw-float span { width: 24px; height: 24px; line-height: 24px; text-align: center; border-radius: 50%; background: #e9ecff; color: #525fe1; font-size: 11px; }
.rw-float.f1 { left: 2%; top: 14%; animation: rwFloat1 6.5s ease-in-out infinite; }
.rw-float.f2 { right: -1%; top: 66%; animation: rwFloat2 7.5s ease-in-out -1.5s infinite; }
.rw-float.f3 { left: 8%; bottom: 8%; animation: rwFloat3 8s ease-in-out -3s infinite; }
.rw-float.f2 span { background: #ffe9e7; color: #cf3f38; }
.rw-float.f3 span { background: #dcf7ef; color: #11876b; }
@keyframes rwFloat1 { 0%, 100% { transform: translate(0, 0); } 50% { transform: translate(10px, -14px); } }
@keyframes rwFloat2 { 0%, 100% { transform: translate(0, 0); } 50% { transform: translate(-12px, 12px); } }
@keyframes rwFloat3 { 0%, 100% { transform: translate(0, 0); } 50% { transform: translate(14px, -10px); } }
@media (max-width: 991px) { .rw-float.f2 { right: 4%; } }
@media (max-width: 575px) { .rw-float { font-size: 12px; padding: 7px 12px; } .rw-float.f1 { left: 0; top: 6%; } .rw-float.f3 { left: 2%; bottom: 2%; } .rw-float.f2 { top: 68%; } }
@media (max-width: 767px) { .rw-hero { padding: 116px 0 110px; } .rw-hero h1 { font-size: 37px; } .rw-hero p.lead { font-size: 17px; } .rw-hero::after { height: 130px; } }

/* Video */
.rw-video-section { background: transparent; padding: 0 0 96px; position: relative; margin-top: -70px; z-index: 2; }
.rw-video { position: relative; aspect-ratio: 16 / 9; width: 100%; border-radius: 20px; overflow: hidden; background: linear-gradient(135deg, #0b104a, #2a3399 55%, #6a2fd0); box-shadow: 0 30px 70px rgba(11, 16, 74, .35); border: 1px solid rgba(255, 255, 255, .12); }
.rw-video::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 20% 25%, rgba(255, 255, 255, .16), transparent 45%), radial-gradient(circle at 85% 85%, rgba(242, 107, 101, .35), transparent 45%); }
.rw-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.rw-video-play { position: absolute; inset: 0; width: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 18px; background: none; border: 0; color: #fff; cursor: pointer; padding: 0; }
.rw-video.empty .rw-video-play { cursor: default; }
.rw-video-play .ring { position: relative; width: 92px; height: 92px; border-radius: 50%; background: #fff; color: #525fe1; display: flex; align-items: center; justify-content: center; box-shadow: 0 14px 34px rgba(0, 0, 0, .35); transition: transform .25s; }
.rw-video-play .ring::before, .rw-video-play .ring::after { content: ""; position: absolute; inset: 0; border-radius: 50%; border: 2px solid rgba(255, 255, 255, .7); animation: rwPulse 2.6s ease-out infinite; }
.rw-video-play .ring::after { animation-delay: 1.3s; }
.rw-video-play .ring svg { width: 40px; height: 40px; margin-left: 5px; }
.rw-video-play:hover .ring { transform: scale(1.08); }
.rw-video.empty .rw-video-play:hover .ring { transform: none; }
.rw-video-play .label { font: 600 20px "Jost", sans-serif; letter-spacing: .3px; color: #fff; }
@keyframes rwPulse { 0% { transform: scale(1); opacity: .9; } 100% { transform: scale(1.7); opacity: 0; } }
@media (max-width: 767px) { .rw-video-section { padding: 10px 0 56px; } .rw-video { border-radius: 14px; } .rw-video-play .ring { width: 68px; height: 68px; } .rw-video-play .ring svg { width: 30px; height: 30px; } .rw-video-play .label { font-size: 16px; } }

@media (prefers-reduced-motion: reduce) {
    .rw-hero, .rw-orb, .rw-dots i, .rw-float, .rw-hero-art .sv-window, .rw-hero-art .sv-phone, .rw-hero-art .sv-bell, .rw-video-play .ring::before, .rw-video-play .ring::after { animation: none !important; }
}

/* Inner page banner */
.rw-banner { background: linear-gradient(135deg, var(--rw-navy), #2a3399); color: #fff; padding: 142px 0 60px; text-align: center; position: relative; overflow: hidden; }
.rw-banner::after { content: ""; position: absolute; width: 320px; height: 320px; border-radius: 50%; background: rgba(255, 255, 255, .06); right: -80px; top: -120px; }
.rw-banner .container { position: relative; z-index: 1; }
.rw-banner h1 { color: #fff; font-size: 46px; font-weight: 700; margin-bottom: 12px; }
.rw-banner p { color: #d7dbff; font-size: 19px; max-width: 640px; margin: 0 auto; }
@media (max-width: 767px) { .rw-banner { padding: 114px 0 40px; } .rw-banner h1 { font-size: 34px; } }

/* Sections */
.rw-section { padding: 88px 0; background: var(--rw-bg); }
.rw-section.soft { background: var(--rw-soft); }
@media (max-width: 767px) { .rw-section { padding: 54px 0; } }
.rw-head { text-align: center; max-width: 680px; margin: 0 auto 48px; }
.rw-head .eyebrow { display: inline-block; color: var(--rw-primary); font-weight: 700; font-size: 13px; letter-spacing: 1.5px; text-transform: uppercase; margin-bottom: 10px; }
.rw-head h2 { font-size: 38px; font-weight: 700; margin-bottom: 12px; letter-spacing: -.3px; }
.rw-head p { font-size: 18px; }
@media (max-width: 767px) { .rw-head h2 { font-size: 29px; } }

.rw-card { background: var(--rw-surface); border: 1px solid var(--rw-border); border-radius: 14px; padding: 34px 30px; height: 100%; transition: background-color .2s, border-color .25s, box-shadow .25s, transform .25s; }
.rw-card:hover { box-shadow: var(--rw-shadow); transform: translateY(-4px); border-color: var(--rw-primary); }
.rw-card .ico { width: 58px; height: 58px; border-radius: 16px; background: var(--rw-primary-soft); color: var(--rw-primary); display: flex; align-items: center; justify-content: center; font-size: 26px; margin-bottom: 20px; }
.rw-card .ico.coral { background: #ffefee; color: var(--rw-coral); }
html[data-theme="dark"] .rw-card .ico.coral { background: #3a1d2b; }
.rw-card h3 { font-size: 24px; font-weight: 700; margin-bottom: 10px; }
.rw-card p { margin-bottom: 16px; }
.rw-card .more { font-weight: 600; color: var(--rw-primary); display: inline-block; padding: 8px 0; }
.rw-card .more:hover { color: var(--rw-coral); }
.rw-card.small h3 { font-size: 20px; }
.rw-card.small { padding: 26px 24px; }

/* Feature tiles (home) */
.rw-tile { display: flex; gap: 16px; padding: 22px; border-radius: 14px; background: var(--rw-surface); border: 1px solid var(--rw-border); height: 100%; }
.rw-tile .ico { flex: none; width: 46px; height: 46px; border-radius: 12px; background: var(--rw-primary-soft); color: var(--rw-primary); display: flex; align-items: center; justify-content: center; font-size: 20px; }
.rw-tile h4 { font-size: 18px; font-weight: 700; margin: 0 0 4px; }
.rw-tile p { margin: 0; font-size: 15px; line-height: 1.55; }

.rw-facts { background: var(--rw-navy); color: #fff; padding: 52px 0; }
.rw-facts .fact { text-align: center; padding: 10px; }
.rw-facts .num { font: 700 46px/1.1 "Jost", sans-serif; color: #fff; }
.rw-facts .num small { font-size: 26px; }
.rw-facts p { color: #aeb4f0; margin: 6px 0 0; }

.rw-steps .step { text-align: center; padding: 0 14px; position: relative; }
.rw-steps .no { width: 64px; height: 64px; border-radius: 50%; background: linear-gradient(135deg, var(--rw-btn), #8a5fe8); color: #fff; font: 700 26px/64px "Jost", sans-serif; margin: 0 auto 18px; box-shadow: 0 10px 22px rgba(82, 95, 225, .3); }
.rw-steps h3 { font-size: 22px; font-weight: 700; }
@media (min-width: 768px) { .rw-steps.three .step:not(:last-child)::after { content: ""; position: absolute; top: 32px; left: calc(50% + 46px); width: calc(100% - 92px); border-top: 2px dashed var(--rw-border); } }

.rw-list { list-style: none; padding: 0; margin: 0 0 28px; }
.rw-list li { position: relative; padding: 0 0 12px 34px; }
.rw-list li::before { content: "\e64c"; font-family: themify; position: absolute; left: 0; top: 1px; width: 24px; height: 24px; line-height: 24px; text-align: center; border-radius: 50%; background: var(--rw-primary-soft); color: var(--rw-primary); font-size: 11px; font-weight: 700; }
.rw-list li b { color: var(--rw-heading); }

.rw-check-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
@media (max-width: 991px) { .rw-check-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 575px) { .rw-check-grid { grid-template-columns: 1fr; } }
.rw-check-grid .item { background: var(--rw-surface); border: 1px solid var(--rw-border); border-radius: 12px; padding: 20px 22px 20px 62px; position: relative; }
.rw-check-grid .item::before { content: "\e64c"; font-family: themify; position: absolute; left: 20px; top: 20px; width: 28px; height: 28px; line-height: 28px; text-align: center; border-radius: 50%; background: var(--rw-btn); color: #fff; font-size: 12px; }
.rw-check-grid h4 { font-size: 18px; font-weight: 700; margin: 0 0 4px; }
.rw-check-grid p { margin: 0; font-size: 15px; line-height: 1.5; }

/* Compare table */
.rw-compare { width: 100%; border-collapse: separate; border-spacing: 0; background: var(--rw-surface); border: 1px solid var(--rw-border); border-radius: 14px; overflow: hidden; }
.rw-compare th, .rw-compare td { padding: 16px 20px; text-align: left; border-bottom: 1px solid var(--rw-border); vertical-align: top; }
.rw-compare tr:last-child td { border-bottom: 0; }
.rw-compare thead th { background: var(--rw-soft); font: 700 17px "Jost", sans-serif; color: var(--rw-heading); }
.rw-compare thead th.us { background: var(--rw-btn); color: #fff; }
.rw-compare td.us { background: var(--rw-primary-soft); color: var(--rw-heading); font-weight: 500; }
.rw-compare td:first-child { font-weight: 600; color: var(--rw-heading); width: 28%; }
@media (max-width: 575px) { .rw-compare th, .rw-compare td { padding: 12px; font-size: 14px; } }

/* Price offer */
.rw-offer { background: var(--rw-surface); border: 2px solid var(--rw-primary); border-radius: 18px; padding: 40px 34px; text-align: center; box-shadow: 0 18px 44px rgba(82, 95, 225, .16); position: relative; }
.rw-offer .tag { position: absolute; top: -14px; left: 50%; transform: translateX(-50%); background: var(--rw-coral-strong); color: #fff; font-weight: 700; font-size: 13px; padding: 5px 16px; border-radius: 20px; letter-spacing: .5px; text-transform: uppercase; white-space: nowrap; }
.rw-offer .was { font-size: 24px; color: var(--rw-muted); text-decoration: line-through; }
.rw-offer .now { font: 700 68px/1.05 "Jost", sans-serif; color: var(--rw-heading); }
.rw-offer .sub { margin: 4px 0 20px; font-size: 17px; }
.rw-offer .after { margin-top: 18px; font-size: 15px; }

/* Phone mock */
.rw-phone { width: 270px; margin: 0 auto; background: #10142f; border-radius: 38px; padding: 12px; box-shadow: 0 30px 60px rgba(11, 16, 74, .3); }
.rw-phone .screen { background: linear-gradient(160deg, #3d4bd6, #8a5fe8 60%, #f26b65); border-radius: 28px; min-height: 430px; padding: 54px 14px 20px; position: relative; }
.rw-phone .screen::before { content: ""; position: absolute; top: 14px; left: 50%; transform: translateX(-50%); width: 80px; height: 20px; border-radius: 12px; background: #10142f; }
.rw-phone .time { text-align: center; color: #fff; font: 600 44px/1 "Jost", sans-serif; margin-bottom: 26px; }
.rw-note { background: rgba(255, 255, 255, .94); border-radius: 16px; padding: 12px 14px; display: flex; gap: 10px; margin-bottom: 10px; text-align: left; }
.rw-note .app { flex: none; width: 34px; height: 34px; border-radius: 9px; background: #0b104a; color: #fff; font: 700 17px/34px "Jost", sans-serif; text-align: center; }
.rw-note b { display: block; color: #0b104a; font-size: 14px; }
.rw-note span { display: block; font-size: 13px; line-height: 1.35; color: #4a4f68; }
.rw-note small { margin-left: auto; font-size: 11px; color: #8a8fa8; flex: none; }

.rw-band { background: linear-gradient(135deg, var(--rw-navy), #2a3399); color: #d7dbff; }
.rw-band h2 { color: #fff; }
.rw-band .rw-list li { color: #d7dbff; }
.rw-band .rw-list li b { color: #fff; }
.rw-band .rw-list li::before { background: rgba(255, 255, 255, .15); color: #fff; }
.rw-band .btn_one { background: #fff; color: #0b104a; border-color: #fff; box-shadow: none; }
.rw-band .btn_one:hover { background: var(--rw-coral-strong); border-color: var(--rw-coral-strong); color: #fff; }

.rw-cta-band { background: linear-gradient(135deg, #525fe1, #8a5fe8); text-align: center; padding: 76px 0; color: #eef0ff; }
.rw-cta-band h2 { font-size: 38px; font-weight: 700; color: #fff; margin-bottom: 10px; }
.rw-cta-band p { color: #e6e9ff; font-size: 18px; }
.rw-cta-band .btn_one { background: #fff; color: #525fe1; border-color: #fff; box-shadow: 0 10px 24px rgba(0, 0, 0, .18); }
.rw-cta-band .btn_one:hover { background: #0b104a; border-color: #0b104a; color: #fff; }
.rw-cta-band .btn_line { border-color: #fff; color: #fff; }
.rw-cta-band .btn_line:hover { background: #fff; color: #525fe1; }
@media (max-width: 767px) { .rw-cta-band h2 { font-size: 29px; } }

/* FAQ (bootstrap accordion) */
.accordion { margin-right: 0; }
.accordion-item { background: var(--rw-surface); border: 1px solid var(--rw-border); margin-bottom: 12px; border-radius: 10px !important; overflow: hidden; }
.accordion-button { background: var(--rw-surface); color: var(--rw-heading); font-weight: 600; font-size: 17px; box-shadow: none !important; }
.accordion-button:not(.collapsed) { background: var(--rw-primary-soft); color: var(--rw-primary); }
.accordion-body { color: var(--rw-text); background: var(--rw-surface); }
html[data-theme="dark"] .accordion-button::after { filter: invert(1) brightness(1.6); }

/* Forms */
.rw-form label { font-weight: 600; color: var(--rw-heading); margin-bottom: 6px; display: block; }
.rw-form .form-control, .rw-form .form-select { border-radius: 8px; padding: 12px 14px; border: 1px solid var(--rw-border); background-color: var(--rw-surface); color: var(--rw-heading); }
.rw-form .form-control::placeholder { color: var(--rw-muted); }
.rw-form .form-control:focus, .rw-form .form-select:focus { border-color: var(--rw-primary); box-shadow: 0 0 0 3px rgba(82, 95, 225, .2); background-color: var(--rw-surface); color: var(--rw-heading); }
.rw-form .err { color: #e5534b; font-size: 14px; margin-top: 4px; }
.rw-hp { position: absolute; left: -9999px; height: 0; overflow: hidden; }
.rw-alert { background: #e8f8ef; border: 1px solid #b6e6c9; color: #17603a; padding: 14px 18px; border-radius: 8px; margin-bottom: 22px; }
html[data-theme="dark"] .rw-alert { background: #12301f; border-color: #1f5a38; color: #8fe0b2; }

/* Plans (uses theme .single-pricing) */
.rw-plans .single-pricing { height: calc(100% - 30px); display: flex; flex-direction: column; background: var(--rw-surface); border-color: var(--rw-border); }
.rw-plans .single-pricing ul { flex: 1; }
.rw-plans .single-pricing h5, .rw-plans .single-pricing .price { color: var(--rw-heading); }
.rw-plans .small-note { font-size: 14px; color: var(--rw-muted); }
.rw-plans .single-pricing.single-pricing-white { background: #232434; }
.rw-plans .single-pricing.single-pricing-white .price, .rw-plans .single-pricing.single-pricing-white h5, .rw-plans .single-pricing.single-pricing-white .price-head h2 { color: #fff; }
.single-pricing-white .small-note { color: #b9bde0; }

/* Legal text */
.rw-legal { max-width: 780px; margin: 0 auto; }
.rw-legal h2 { font-size: 24px; margin: 32px 0 10px; font-weight: 700; }
.rw-legal p, .rw-legal li { line-height: 1.7; }
.rw-legal ul { padding-left: 20px; }
.rw-legal li { margin-bottom: 6px; }
.rw-legal a { color: var(--rw-primary); text-decoration: underline; }

/* Footer: always dark */
.footer { background: var(--rw-navy); }
.footer .rw-logo { color: #fff; margin-bottom: 16px; }
.rw-foot-brand p { color: #b9bde0; }
.footer .single_footer h4 { color: #fff; }
.footer .single_footer p { color: #b9bde0; margin-bottom: 20px; }
.footer .single_footer ul li a { color: #b9bde0; font-family: "DM Sans", sans-serif; }
.footer .single_footer ul li a:hover { color: #fff; }
.foot_copy { background: #050824; }
.footer_copyright p { color: #8b90bf; margin: 0; padding: 18px 0; text-align: center; }
.rw-parent { font-size: 14px; color: #8b90bf; }
.rw-parent a { color: #fff; text-decoration: underline; }

/* Back to top */
.rw-top { position: fixed; right: 20px; bottom: 20px; width: 46px; height: 46px; border-radius: 50%; border: 0; background: var(--rw-btn); color: #fff; box-shadow: 0 10px 24px rgba(82, 95, 225, .4); cursor: pointer; display: flex; align-items: center; justify-content: center; opacity: 0; visibility: hidden; transform: translateY(12px); transition: .25s; z-index: 60; padding: 0; }
.rw-top.show { opacity: 1; visibility: visible; transform: none; }
.rw-top:hover { background: var(--rw-coral-strong); }
.rw-top svg { width: 20px; height: 20px; }

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; } }


/* The theme forces FAQ colours with !important; override for light and dark */
.accordion .accordion-header { background: transparent !important; padding: 0; }
.accordion .accordion-button { background: var(--rw-surface) !important; color: var(--rw-heading) !important; font-size: 17px; font-weight: 600; }
.accordion .accordion-button:not(.collapsed) { background: var(--rw-primary-soft) !important; color: var(--rw-primary) !important; }
.accordion .accordion-item { box-shadow: none; }
