/*
Theme Name: Resonant LMS-XP5 GI
Theme URI: https://portfolio.resonantstyle.com/
Author: Resonant Solutions
Author URI: https://www.resonant-sol.jp/
Description: Resonant LMS-XP5 Growth Intelligence official brand theme. A premium, responsive WordPress theme for the Student Growth Intelligence Platform.
Version: 2.9.9
Requires at least: 6.2
Tested up to: 6.6
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: resonant-xp5gi
Tags: custom-logo, custom-menu, featured-images, block-patterns, wide-blocks, full-width-template, accessibility-ready
*/

:root {
  --rs-red: #ef2b24;
  --rs-red-dark: #c91f1a;
  --rs-navy: #14213d;
  --rs-blue: #4e9fff;
  --rs-cyan: #68d4ff;
  --rs-ink: #17213a;
  --rs-muted: #63708a;
  --rs-line: #e6eaf1;
  --rs-soft: #f5f7fb;
  --rs-white: #ffffff;
  --rs-radius-sm: 12px;
  --rs-radius-md: 20px;
  --rs-radius-lg: 30px;
  --rs-shadow: 0 18px 60px rgba(29, 50, 87, .10);
  --rs-shadow-hover: 0 24px 80px rgba(29, 50, 87, .16);
  --rs-max: 1440px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--rs-ink);
  background: #fff;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  font-size: 16px;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
a:hover { color: var(--rs-red); }
img { max-width: 100%; height: auto; }
button, input, textarea, select { font: inherit; }

.screen-reader-text { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.screen-reader-text:focus { width:auto; height:auto; clip:auto; margin:8px; padding:12px 16px; background:#fff; z-index:99999; }

.rs-container { width: min(calc(100% - 48px), var(--rs-max)); margin-inline: auto; }
.rs-section { padding: 120px 0; position: relative; overflow: hidden; }
.rs-section--soft { background: var(--rs-soft); }
.rs-section--dark { color: #fff; background: linear-gradient(135deg, #101b34, #172a50 60%, #183b70); }
.rs-eyebrow { color: var(--rs-red); font-weight: 800; letter-spacing: .08em; font-size: .85rem; text-transform: uppercase; }
.rs-heading { max-width: 920px; margin: 12px 0 20px; font-size: clamp(2.2rem, 4vw, 4.4rem); line-height: 1.16; letter-spacing: -.035em; }
.rs-lead { max-width: 760px; color: var(--rs-muted); font-size: clamp(1.05rem, 1.5vw, 1.25rem); }
.rs-section--dark .rs-lead { color: rgba(255,255,255,.72); }
.rs-grid { display: grid; gap: 24px; }
.rs-grid--2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.rs-grid--3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
.rs-grid--4 { grid-template-columns: repeat(4, minmax(0,1fr)); }

.rs-card { background:#fff; border:1px solid rgba(24,36,64,.07); border-radius:var(--rs-radius-md); padding:30px; box-shadow:0 10px 35px rgba(29,50,87,.06); transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.rs-card:hover { transform: translateY(-5px); box-shadow:var(--rs-shadow-hover); border-color:rgba(239,43,36,.18); }
.rs-card__icon { width:52px; height:52px; display:grid; place-items:center; border-radius:16px; background:linear-gradient(135deg, rgba(239,43,36,.12), rgba(78,159,255,.12)); color:var(--rs-red); font-size:1.45rem; margin-bottom:20px; }
.rs-card h3 { margin:0 0 10px; font-size:1.25rem; line-height:1.45; }
.rs-card p { margin:0; color:var(--rs-muted); }

.rs-btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:52px; padding:0 26px; border-radius:999px; font-weight:800; border:1px solid transparent; transition:.22s ease; cursor:pointer; }
.rs-btn--primary { color:#fff; background:linear-gradient(135deg, var(--rs-red), #ff463e); box-shadow:0 12px 30px rgba(239,43,36,.22); }
.rs-btn--primary:hover { color:#fff; transform:translateY(-2px); box-shadow:0 16px 40px rgba(239,43,36,.30); }
.rs-btn--ghost { background:rgba(255,255,255,.82); border-color:#aab3c4; color:var(--rs-ink); }
.rs-btn--ghost:hover { border-color:var(--rs-red); color:var(--rs-red); transform:translateY(-2px); }

.site-header { position:fixed; inset:0 0 auto 0; z-index:1000; height:86px; background:rgba(255,255,255,.78); backdrop-filter:blur(18px); border-bottom:1px solid rgba(20,33,61,.05); transition:.25s ease; }
.site-header.is-scrolled { height:74px; background:rgba(255,255,255,.95); box-shadow:0 12px 34px rgba(28,45,80,.08); }
.site-header__inner { height:100%; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.site-branding { flex:0 0 auto; display:flex; align-items:center; }
.site-branding img { display:block; width:auto; max-height:62px; }
.is-scrolled .site-branding img { max-height:52px; }
.primary-nav { display:flex; align-items:center; gap:24px; margin-left:auto; }
.primary-nav ul { display:flex; align-items:center; gap:26px; list-style:none; margin:0; padding:0; }
.primary-nav a { font-size:.95rem; font-weight:700; }
.header-actions { display:flex; gap:10px; }
.header-actions .rs-btn { min-height:46px; padding-inline:20px; border-radius:12px; }
.nav-toggle { display:none; width:44px; height:44px; border:0; background:transparent; cursor:pointer; }
.nav-toggle span { display:block; width:24px; height:2px; background:var(--rs-ink); margin:5px auto; transition:.2s; }

.rs-hero { min-height:960px; padding:165px 0 70px; display:flex; align-items:center; overflow:hidden; position:relative; background:radial-gradient(circle at 69% 35%, rgba(98,174,255,.22), transparent 28%), radial-gradient(circle at 84% 65%, rgba(239,43,36,.10), transparent 20%), linear-gradient(180deg,#fff 0%,#fff 76%,#f9fbff 100%); }
.rs-hero::after { content:""; position:absolute; width:760px; height:760px; right:-180px; top:90px; border-radius:50%; background:linear-gradient(135deg, rgba(82,166,255,.10), rgba(181,95,255,.09), rgba(239,43,36,.08)); filter:blur(4px); }
.rs-hero__grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr); gap:40px; align-items:center; position:relative; z-index:2; }
.rs-hero__copy { max-width:690px; }
.rs-hero__title { margin:18px 0 22px; font-size:clamp(3.6rem,6.3vw,6.7rem); line-height:1.02; letter-spacing:-.055em; font-weight:900; }
.rs-hero__title .accent { color:var(--rs-red); }
.rs-hero__en { margin:0 0 24px; font-size:clamp(1.15rem,1.7vw,1.55rem); font-weight:800; }
.rs-hero__copy-text { max-width:590px; color:#34415d; font-size:clamp(1.05rem,1.4vw,1.26rem); }
.rs-hero__actions { display:flex; gap:14px; flex-wrap:wrap; margin-top:34px; }

.rs-visual { position:relative; min-height:670px; }
.rs-orb { position:absolute; inset:6% 3% 6% 5%; border-radius:48% 52% 46% 54%; background:linear-gradient(145deg, rgba(255,255,255,.78), rgba(194,226,255,.55)); border:1px solid rgba(255,255,255,.8); box-shadow:inset 0 0 80px rgba(255,255,255,.75), 0 35px 100px rgba(74,130,220,.18); }
.rs-dashboard { position:absolute; right:0; bottom:54px; width:72%; padding:22px; border-radius:24px; background:rgba(255,255,255,.78); backdrop-filter:blur(20px); border:1px solid rgba(255,255,255,.94); box-shadow:0 35px 90px rgba(53,87,145,.20); transform:perspective(1400px) rotateY(-7deg) rotateX(2deg); }
.rs-dashboard__top { display:flex; justify-content:space-between; align-items:center; margin-bottom:16px; }
.rs-dashboard__top strong { font-size:.95rem; }
.rs-dashboard__dots { display:flex; gap:6px; }
.rs-dashboard__dots i { width:7px; height:7px; border-radius:50%; background:#d7deea; }
.rs-dashboard__grid { display:grid; grid-template-columns:.8fr 1.15fr .85fr; gap:12px; }
.rs-panel { background:rgba(248,250,255,.92); border:1px solid #e9edf5; border-radius:15px; padding:15px; min-height:145px; }
.rs-score { font-size:2.5rem; line-height:1; color:#3e5f9c; margin:12px 0 6px; }
.rs-mini-chart { height:54px; border-bottom:2px solid #548ff3; clip-path:polygon(0 80%,12% 68%,28% 73%,40% 50%,55% 60%,70% 28%,84% 38%,100% 8%,100% 100%,0 100%); background:linear-gradient(180deg,rgba(78,159,255,.24),rgba(78,159,255,.02)); }
.rs-radar { width:105px; aspect-ratio:1; margin:5px auto; border-radius:50%; background:repeating-radial-gradient(circle,transparent 0 15%,rgba(78,159,255,.15) 16% 17%), conic-gradient(from 0deg,rgba(78,159,255,.12),rgba(78,159,255,.32),rgba(78,159,255,.13),rgba(78,159,255,.3),rgba(78,159,255,.12)); clip-path:polygon(50% 0,90% 22%,100% 68%,70% 100%,25% 92%,0 52%,15% 15%); }
.rs-task { display:flex; align-items:center; gap:8px; font-size:.73rem; margin:9px 0; color:#52607b; }
.rs-task::before { content:"✓"; display:grid; place-items:center; width:18px; height:18px; border-radius:50%; background:rgba(239,43,36,.10); color:var(--rs-red); font-weight:900; }
.rs-dashboard__bottom { margin-top:12px; display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
.rs-stat { padding:10px 8px; background:rgba(255,255,255,.85); border-radius:12px; text-align:center; border:1px solid #edf0f5; }
.rs-stat b { display:block; font-size:.92rem; color:#244475; }
.rs-stat small { color:#8490a5; }
.rs-growth-line { position:absolute; left:5%; bottom:12%; width:92%; height:72%; pointer-events:none; }
.rs-growth-line svg { width:100%; height:100%; overflow:visible; }
.rs-growth-path { fill:none; stroke:url(#growthGradient); stroke-width:9; stroke-linecap:round; filter:drop-shadow(0 6px 8px rgba(239,43,36,.22)); stroke-dasharray:1200; stroke-dashoffset:1200; animation:rsDraw 2.8s ease forwards .4s; }
.rs-float-card { position:absolute; z-index:4; min-width:180px; padding:14px 17px; background:rgba(255,255,255,.82); border:1px solid rgba(255,255,255,.95); border-radius:14px; box-shadow:0 16px 42px rgba(40,71,125,.13); backdrop-filter:blur(16px); animation:rsFloat 5s ease-in-out infinite; }
.rs-float-card b { display:block; font-size:.85rem; }
.rs-float-card small { display:block; color:#71809a; font-size:.72rem; }
.rs-float-card::before { content:""; width:10px; height:10px; border-radius:50%; background:var(--rs-red); display:inline-block; margin-right:8px; box-shadow:0 0 0 6px rgba(239,43,36,.10); }
.rs-float-card--goal { left:2%; bottom:12%; }
.rs-float-card--learning { left:0; bottom:30%; animation-delay:.6s; }
.rs-float-card--reflection { left:-2%; bottom:49%; animation-delay:1.2s; }
.rs-float-card--evidence { left:7%; top:28%; animation-delay:1.8s; }
.rs-float-card--coach { right:24%; top:29%; animation-delay:.9s; }
.rs-float-card--insight { right:19%; top:14%; animation-delay:1.5s; }
.rs-float-card--journey { right:10%; top:1%; animation-delay:2.1s; }
.rs-scroll { position:absolute; z-index:5; bottom:18px; left:50%; transform:translateX(-50%); color:var(--rs-red); font-size:.75rem; text-align:center; }
.rs-scroll::after { content:""; display:block; width:1px; height:42px; margin:7px auto 0; background:linear-gradient(var(--rs-red),transparent); }

.rs-challenge .rs-card { min-height:220px; }
.rs-flow { display:grid; grid-template-columns:repeat(8,1fr); gap:12px; margin-top:58px; position:relative; }
.rs-flow::before { content:""; position:absolute; left:5%; right:5%; top:52px; height:3px; background:linear-gradient(90deg,var(--rs-red),#ff827d,var(--rs-blue)); z-index:0; }
.rs-flow__item { position:relative; z-index:1; text-align:center; }
.rs-flow__dot { width:58px; height:58px; margin:0 auto 14px; display:grid; place-items:center; border-radius:50%; background:#fff; border:3px solid var(--rs-red); box-shadow:0 10px 25px rgba(239,43,36,.16); font-weight:900; color:var(--rs-red); }
.rs-flow__item:nth-child(n+5) .rs-flow__dot { border-color:var(--rs-blue); color:#2f7fe0; }
.rs-flow__item b { display:block; font-size:.9rem; }
.rs-flow__item small { color:var(--rs-muted); font-size:.75rem; }

.rs-feature-split { display:grid; grid-template-columns:1fr 1.05fr; gap:70px; align-items:center; }
.rs-ai-window { padding:22px; border-radius:26px; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.18); box-shadow:0 25px 70px rgba(0,0,0,.18); }
.rs-chat { padding:18px; border-radius:16px; margin:12px 0; max-width:88%; font-size:.92rem; }
.rs-chat--ai { background:rgba(255,255,255,.92); color:#1a2741; }
.rs-chat--student { background:rgba(78,159,255,.25); margin-left:auto; color:#fff; border:1px solid rgba(255,255,255,.18); }

.rs-cta { padding:90px 0; background:radial-gradient(circle at 75% 20%,rgba(91,167,255,.35),transparent 25%),linear-gradient(135deg,#111d38,#183a69 65%,#612e5d); color:#fff; text-align:center; }
.rs-cta .rs-heading, .rs-cta .rs-lead { margin-left:auto; margin-right:auto; }
.rs-cta .rs-lead { color:rgba(255,255,255,.76); }
.rs-cta__actions { display:flex; justify-content:center; gap:14px; margin-top:30px; flex-wrap:wrap; }

.site-footer { background:#0d1528; color:rgba(255,255,255,.72); padding:65px 0 30px; }
.site-footer__grid { display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:44px; }
.site-footer img { display:block; width:auto; max-width:280px; height:auto; filter:none; opacity:1; }
.site-footer h3 { color:#fff; font-size:1rem; margin-top:0; }
.site-footer ul { list-style:none; margin:0; padding:0; }
.site-footer li { margin:8px 0; }
.site-footer a:hover { color:#fff; }
.site-footer__bottom { margin-top:45px; padding-top:24px; border-top:1px solid rgba(255,255,255,.10); font-size:.82rem; display:flex; justify-content:space-between; gap:20px; }

.entry-content { width:min(calc(100% - 48px), 1040px); margin:130px auto 100px; }
.entry-content > * { max-width:820px; margin-left:auto; margin-right:auto; }
.entry-content > .alignwide { max-width:var(--rs-max); }
.entry-content > .alignfull { max-width:none; width:100vw; margin-left:calc(50% - 50vw); }

@keyframes rsDraw { to { stroke-dashoffset:0; } }
@keyframes rsFloat { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-8px)} }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; scroll-behavior:auto!important; transition-duration:.01ms!important; } }

@media (max-width:1100px) {
  .primary-nav ul { gap:16px; }
  .header-actions .rs-btn--ghost { display:none; }
  .rs-hero__grid { grid-template-columns:1fr; }
  .rs-hero { padding-top:140px; }
  .rs-hero__copy { max-width:850px; }
  .rs-visual { min-height:650px; width:min(100%,850px); margin-inline:auto; }
  .rs-grid--4 { grid-template-columns:repeat(2,1fr); }
  .rs-flow { grid-template-columns:repeat(4,1fr); row-gap:36px; }
  .rs-flow::before { display:none; }
}

@media (max-width:850px) {
  .rs-container { width:min(calc(100% - 32px), var(--rs-max)); }
  .site-header { height:74px; }
  .site-branding img { max-height:50px; max-width:245px; }
  .nav-toggle { display:block; position:relative; z-index:1100; }
  .primary-nav { position:fixed; inset:0; display:flex; flex-direction:column; justify-content:center; background:rgba(255,255,255,.98); opacity:0; visibility:hidden; transform:translateY(-12px); transition:.25s; }
  body.nav-open .primary-nav { opacity:1; visibility:visible; transform:none; }
  .primary-nav ul { flex-direction:column; font-size:1.2rem; }
  .header-actions { display:none; }
  body.nav-open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  body.nav-open .nav-toggle span:nth-child(2){opacity:0}
  body.nav-open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .rs-section { padding:84px 0; }
  .rs-grid--2,.rs-grid--3 { grid-template-columns:1fr; }
  .rs-feature-split { grid-template-columns:1fr; gap:38px; }
  .rs-hero { min-height:auto; padding-bottom:90px; }
  .rs-hero__title { font-size:clamp(3.1rem,13vw,5rem); }
  .rs-visual { min-height:570px; transform:scale(.92); transform-origin:top center; margin-bottom:-50px; }
  .rs-dashboard { width:80%; right:-3%; }
  .rs-float-card { min-width:150px; padding:10px 12px; }
  .site-footer__grid { grid-template-columns:1fr 1fr; }
}

@media (max-width:560px) {
  .rs-hero__actions .rs-btn { width:100%; }
  .rs-grid--4 { grid-template-columns:1fr; }
  .rs-flow { grid-template-columns:repeat(2,1fr); }
  .rs-visual { min-height:520px; transform:scale(.78); width:125%; margin-left:-12.5%; margin-bottom:-100px; }
  .rs-dashboard { width:78%; }
  .rs-dashboard__grid { grid-template-columns:1fr 1fr; }
  .rs-dashboard__grid .rs-panel:last-child { display:none; }
  .rs-dashboard__bottom { grid-template-columns:repeat(2,1fr); }
  .site-footer__grid { grid-template-columns:1fr; }
  .site-footer__bottom { flex-direction:column; }
}

/* =========================================================
   XP5 GI Front Page Visual Polish v2.3
   ========================================================= */
.home .site-main { overflow:clip; }
.rs-hero--v23 {
  min-height:calc(100svh - 1px);
  height:auto;
  padding:clamp(128px, 13vh, 170px) 0 64px;
  display:flex;
  align-items:center;
  isolation:isolate;
  background:
    radial-gradient(circle at 64% 31%, rgba(104,183,255,.15), transparent 29%),
    radial-gradient(circle at 91% 66%, rgba(247,113,184,.12), transparent 27%),
    linear-gradient(180deg,#fff 0%,#fff 76%,#fbfdff 100%);
}
.rs-hero--v23 .rs-container { max-width:1480px; }
.rs-hero--v23 .rs-hero__grid {
  grid-template-columns:minmax(420px,.82fr) minmax(620px,1.38fr);
  gap:0;
  align-items:center;
  min-height:760px;
}
.rs-hero--v23 .rs-hero__copy { z-index:4; padding:18px 0 70px; }
.rs-hero--v23 .rs-eyebrow { font-size:1.04rem; letter-spacing:.015em; text-transform:none; margin-bottom:24px; }
.rs-hero--v23 .rs-hero__title {
  font-size:clamp(4.7rem,6.1vw,7rem);
  line-height:1.04;
  letter-spacing:-.055em;
  margin:0;
  color:#17243f;
  text-wrap:balance;
}
.rs-hero--v23 .rs-hero__title .accent { color:#ed302d; }
.rs-hero--v23 .rs-hero__en {
  margin-top:25px;
  font-size:clamp(1.2rem,1.5vw,1.48rem);
  font-weight:760;
  letter-spacing:.015em;
  color:#16223c;
}
.rs-hero__rule { display:block; width:70px; height:2px; margin:28px 0 32px; background:#ef2b24; }
.rs-hero--v23 .rs-hero__copy-text { font-size:clamp(1.06rem,1.25vw,1.25rem); line-height:1.9; color:#1b2944; }
.rs-hero--v23 .rs-hero__actions { margin-top:43px; gap:14px; }
.rs-hero--v23 .rs-btn { min-height:62px; padding:0 30px; border-radius:999px; font-size:1rem; gap:12px; }
.rs-btn__icon { font-size:1.12rem; }
.rs-btn__play { width:29px; height:29px; display:grid; place-items:center; border:1px solid currentColor; border-radius:50%; font-size:.62rem; }
.rs-hero-art {
  position:relative;
  z-index:2;
  width:calc(100% + 130px);
  margin-left:-105px;
  align-self:stretch;
  display:flex;
  align-items:center;
  pointer-events:none;
}
.rs-hero-art img {
  width:100%;
  height:auto;
  max-height:900px;
  object-fit:contain;
  filter:drop-shadow(0 34px 55px rgba(39,91,159,.08));
  animation:rsHeroFloat 8s ease-in-out infinite;
}
.rs-hero-art__glass {
  position:absolute;
  width:38%;
  height:25%;
  right:6%;
  bottom:8%;
  border-radius:40%;
  background:rgba(85,166,255,.12);
  filter:blur(65px);
  z-index:-1;
}
.rs-hero__ambient { position:absolute; z-index:-1; border-radius:50%; filter:blur(35px); pointer-events:none; }
.rs-hero__ambient--blue { width:520px; height:520px; right:24%; top:15%; background:rgba(94,174,255,.13); }
.rs-hero__ambient--pink { width:380px; height:380px; right:4%; bottom:5%; background:rgba(245,118,193,.10); }
.rs-hero__campus {
  position:absolute;
  left:0; bottom:0;
  width:46%; height:155px;
  background:linear-gradient(90deg,rgba(229,239,252,.72),rgba(255,255,255,0));
  clip-path:polygon(0 48%,11% 35%,11% 72%,18% 72%,18% 26%,31% 43%,31% 74%,40% 74%,40% 20%,56% 40%,56% 78%,67% 78%,67% 47%,78% 39%,78% 82%,100% 82%,100% 100%,0 100%);
  opacity:.65;
}
.rs-hero--v23 .rs-scroll { bottom:18px; font-size:.83rem; text-transform:none; letter-spacing:.01em; }
.rs-hero--v23 .rs-scroll::before { content:'⌄'; display:block; font-size:1rem; line-height:1; margin-bottom:5px; }
.rs-hero--v23 .rs-scroll::after { height:47px; }

.rs-experience { padding:125px 0 120px; background:#fff; text-align:center; }
.rs-experience__inner { max-width:1260px; }
.rs-experience h2 { margin:0 auto; font-size:clamp(2.8rem,5vw,5.6rem); line-height:1.12; letter-spacing:-.045em; color:#17243f; }
.rs-experience h2 span { color:#ef2b24; }
.rs-experience p { max-width:760px; margin:30px auto 0; color:#66748b; font-size:1.08rem; line-height:1.9; }
.rs-experience__path { margin-top:70px; display:flex; align-items:center; justify-content:center; gap:12px; overflow-x:auto; padding:15px 10px 30px; scrollbar-width:none; }
.rs-experience__path::-webkit-scrollbar { display:none; }
.rs-experience__path span { flex:0 0 auto; min-width:102px; padding:17px 18px; border-radius:16px; background:#fff; border:1px solid #e7edf5; box-shadow:0 13px 34px rgba(28,58,99,.08); font-weight:760; color:#243451; }
.rs-experience__path span:nth-of-type(n+5) { color:#2f7fe0; }
.rs-experience__path i { flex:0 0 34px; height:2px; background:linear-gradient(90deg,#ef2b24,#ef7c79); position:relative; }
.rs-experience__path i:nth-of-type(n+4) { background:linear-gradient(90deg,#ef7c79,#4e9fff); }
.rs-experience__path i::after { content:'›'; position:absolute; right:-2px; top:50%; transform:translateY(-54%); color:#ef2b24; font-size:1.2rem; }

@keyframes rsHeroFloat { 0%,100%{transform:translate3d(0,0,0)} 50%{transform:translate3d(0,-8px,0)} }

@media (max-width:1180px) {
  .rs-hero--v23 { padding-top:125px; }
  .rs-hero--v23 .rs-hero__grid { grid-template-columns:1fr; min-height:auto; }
  .rs-hero--v23 .rs-hero__copy { max-width:760px; padding-bottom:0; }
  .rs-hero-art { width:100%; margin:10px auto -30px; max-width:1080px; min-height:620px; }
  .rs-hero-art img { max-height:720px; }
  .rs-hero__campus { width:70%; }
}
@media (max-width:850px) {
  .rs-hero--v23 { min-height:auto; padding:112px 0 75px; }
  .rs-hero--v23 .rs-hero__title { font-size:clamp(3.35rem,14vw,5.1rem); }
  .rs-hero--v23 .rs-hero__copy-text { font-size:1rem; }
  .rs-hero-art { min-height:auto; margin:20px -18% -55px; width:136%; }
  .rs-hero-art img { animation:none; }
  .rs-hero--v23 .rs-scroll { display:none; }
  .rs-experience { padding:90px 0 80px; }
  .rs-experience__path { justify-content:flex-start; }
}
@media (max-width:560px) {
  .rs-hero--v23 .rs-eyebrow { margin-bottom:17px; font-size:.88rem; }
  .rs-hero--v23 .rs-hero__en { font-size:1.02rem; }
  .rs-hero__rule { margin:22px 0 24px; }
  .rs-hero--v23 .rs-hero__actions { margin-top:30px; }
  .rs-hero-art { width:150%; margin-left:-34%; margin-right:-16%; margin-bottom:-38px; }
  .rs-experience h2 { font-size:2.65rem; }
}


/* =========================================================
   Global Brand Renewal v2.4
   Header / Pages / Posts / Archives / Search / 404
   ========================================================= */
.admin-bar .site-header { top:32px; }
.site-header--brand {
  height:92px;
  background:rgba(255,255,255,.88);
  border-bottom:1px solid rgba(20,33,61,.06);
  box-shadow:none;
  backdrop-filter:blur(22px) saturate(150%);
}
.site-header--brand.is-scrolled {
  height:78px;
  background:rgba(255,255,255,.96);
  box-shadow:0 14px 40px rgba(29,50,87,.09);
}
.site-header--brand .site-header__inner { max-width:1536px; gap:34px; }
.site-branding__link { display:flex; align-items:center; }
.site-header--brand .site-branding img {
  width:auto;
  max-width:340px;
  max-height:68px;
  transition:max-height .25s ease, transform .25s ease;
}
.site-header--brand.is-scrolled .site-branding img { max-height:56px; }
.site-header--brand .site-branding__link:hover img { transform:translateY(-1px); }
.site-header--brand .primary-nav { gap:28px; }
.site-header--brand .primary-menu { gap:8px; }
.site-header--brand .primary-menu > li { position:relative; }
.site-header--brand .primary-menu > li > a {
  display:flex;
  align-items:center;
  min-height:48px;
  padding:0 14px;
  border-radius:12px;
  color:#17213a;
  font-size:.94rem;
  font-weight:750;
  white-space:nowrap;
  transition:background .2s ease,color .2s ease;
}
.site-header--brand .primary-menu > li > a:hover,
.site-header--brand .primary-menu > li.current-menu-item > a,
.site-header--brand .primary-menu > li.current-menu-ancestor > a {
  color:var(--rs-red);
  background:rgba(239,43,36,.055);
}
.site-header--brand .primary-menu .menu-item-has-children > a::after {
  content:"";
  width:7px;
  height:7px;
  margin-left:8px;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  transform:rotate(45deg) translateY(-2px);
}
.site-header--brand .sub-menu {
  position:absolute;
  top:calc(100% + 8px);
  left:0;
  z-index:20;
  display:grid;
  min-width:240px;
  padding:12px;
  gap:4px;
  background:rgba(255,255,255,.98);
  border:1px solid rgba(20,33,61,.08);
  border-radius:18px;
  box-shadow:0 22px 60px rgba(29,50,87,.14);
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:.2s ease;
}
.site-header--brand .menu-item-has-children:hover > .sub-menu,
.site-header--brand .menu-item-has-children:focus-within > .sub-menu {
  opacity:1;
  visibility:visible;
  transform:none;
}
.site-header--brand .sub-menu a { display:block; padding:10px 12px; border-radius:10px; font-size:.9rem; }
.site-header--brand .sub-menu a:hover { background:var(--rs-soft); }
.rs-btn--header-ghost,
.rs-btn--header-primary { min-height:50px!important; padding:0 22px!important; border-radius:13px!important; }
.rs-btn--header-ghost { background:#fff; border:1px solid #8d98aa; color:#17213a; }
.rs-btn--header-ghost:hover { border-color:var(--rs-red); color:var(--rs-red); transform:translateY(-1px); }
.rs-btn--header-primary { color:#fff; background:linear-gradient(135deg,#ef2b24,#ff453d); box-shadow:0 12px 28px rgba(239,43,36,.20); }
.rs-btn--header-primary:hover { color:#fff; transform:translateY(-1px); box-shadow:0 16px 34px rgba(239,43,36,.28); }
.site-header--brand .primary-menu > li.menu-item--contact > a {
  min-height:50px; padding:0 24px; border-radius:999px; color:#fff;
  background:linear-gradient(135deg,#e51f1f,#ef2b24); box-shadow:0 10px 24px rgba(229,31,31,.22);
}
.site-header--brand .primary-menu > li.menu-item--contact > a::before { content:'✉'; margin-right:8px; font-size:.82em; }
.site-header--brand .primary-menu > li.menu-item--contact > a:hover,
.site-header--brand .primary-menu > li.menu-item--contact.current-menu-item > a { color:#fff; background:linear-gradient(135deg,#cc1919,#e72720); transform:translateY(-1px); }

.rs-page-hero {
  position:relative;
  overflow:hidden;
  min-height:500px;
  padding:190px 0 105px;
  background:
    radial-gradient(circle at 77% 25%,rgba(93,173,255,.20),transparent 25%),
    radial-gradient(circle at 93% 78%,rgba(239,43,36,.09),transparent 23%),
    linear-gradient(180deg,#fff 0%,#f7faff 100%);
}
.rs-page-hero--compact { min-height:410px; padding-bottom:82px; }
.rs-page-hero--post { min-height:520px; }
.rs-page-hero__glow { position:absolute; right:-10%; top:8%; width:670px; height:440px; border-radius:50%; background:linear-gradient(135deg,rgba(103,181,255,.22),rgba(205,142,255,.12),rgba(239,43,36,.10)); filter:blur(18px); }
.rs-page-hero__inner { position:relative; z-index:2; }
.rs-page-hero h1 { max-width:980px; margin:14px 0 0; font-size:clamp(2.8rem,5.5vw,6rem); line-height:1.08; letter-spacing:-.05em; color:#15213b; }
.rs-page-hero__lead { max-width:760px; margin:24px 0 0; color:#5d6b84; font-size:clamp(1.05rem,1.5vw,1.3rem); }
.rs-breadcrumb { display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin-bottom:36px; color:#7d899d; font-size:.82rem; }
.rs-breadcrumb a:hover { color:var(--rs-red); }
.rs-post-meta { margin-top:24px; color:#6f7c93; font-size:.9rem; }
.rs-post-meta a { color:var(--rs-red); font-weight:700; }

.rs-page { background:#fff; }
.rs-content-surface {
  width:min(calc(100% - 48px), 980px);
  margin:0 auto;
  padding:100px 0 130px;
}
.rs-content-surface > * { max-width:820px; margin-left:auto; margin-right:auto; }
.rs-content-surface > .alignwide { max-width:var(--rs-max); }
.rs-content-surface > .alignfull { max-width:none; width:100vw; margin-left:calc(50% - 50vw); }
.rs-content-surface h2 { margin-top:2.5em; font-size:clamp(2rem,3.4vw,3.2rem); line-height:1.25; letter-spacing:-.03em; color:#17213a; }
.rs-content-surface h3 { margin-top:2.2em; font-size:clamp(1.45rem,2.1vw,2rem); color:#17213a; }
.rs-content-surface p,.rs-content-surface li { color:#3f4d67; font-size:1.05rem; }
.rs-content-surface a { color:var(--rs-red); text-decoration:underline; text-underline-offset:3px; }
.rs-content-surface blockquote { margin:42px auto; padding:28px 32px; border-left:4px solid var(--rs-red); border-radius:0 18px 18px 0; background:var(--rs-soft); }
.rs-featured-image { max-width:980px!important; margin-top:0!important; margin-bottom:60px!important; }
.rs-featured-image img { width:100%; border-radius:26px; box-shadow:var(--rs-shadow); }

.rs-archive-section { padding:100px 0 130px; background:#fff; }
.rs-archive-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.rs-archive-card { overflow:hidden; border:1px solid rgba(20,33,61,.08); border-radius:24px; background:#fff; box-shadow:0 12px 36px rgba(29,50,87,.07); transition:.25s ease; }
.rs-archive-card:hover { transform:translateY(-6px); box-shadow:var(--rs-shadow-hover); }
.rs-archive-card__media { display:block; aspect-ratio:16/9; overflow:hidden; background:linear-gradient(135deg,#edf5ff,#fff1f1); }
.rs-archive-card__media img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.rs-archive-card:hover .rs-archive-card__media img { transform:scale(1.035); }
.rs-archive-card__placeholder { display:grid; place-items:center; width:100%; height:100%; color:#355c91; font-size:1.3rem; font-weight:850; letter-spacing:.03em; }
.rs-archive-card__body { padding:28px; }
.rs-archive-card__meta { color:var(--rs-red); font-size:.78rem; font-weight:800; letter-spacing:.08em; }
.rs-archive-card h2 { margin:10px 0 12px; font-size:1.35rem; line-height:1.45; }
.rs-archive-card p { color:#68758b; }
.rs-text-link { color:var(--rs-red); font-weight:800; }
.rs-pagination { margin-top:60px; }
.rs-pagination .nav-links { display:flex; gap:8px; justify-content:center; }
.rs-pagination .page-numbers { min-width:42px; height:42px; display:grid; place-items:center; border:1px solid var(--rs-line); border-radius:10px; }
.rs-pagination .current,.rs-pagination a:hover { color:#fff; background:var(--rs-red); border-color:var(--rs-red); }
.rs-empty-state { text-align:center; padding:80px 0; }

/* v2.9.8 News Release / Information */
.rs-home-news {
  padding: 82px 0 88px;
  background: #fff;
  border-bottom: 1px solid var(--rs-line);
}
.rs-home-news__grid,
.rs-news-groups {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 48px;
}
.rs-home-news__column,
.rs-news-group {
  min-width: 0;
}
.rs-home-news__heading,
.rs-news-group__heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  padding-bottom: 18px;
  border-bottom: 2px solid var(--rs-ink);
}
.rs-home-news__heading h2,
.rs-news-group__heading h2 {
  margin: 4px 0 0;
  font-size: clamp(1.55rem, 2.1vw, 2rem);
  line-height: 1.3;
  letter-spacing: -.03em;
}
.rs-home-news__heading > a,
.rs-news-group__heading > a,
.rs-news-index-back {
  flex: 0 0 auto;
  color: var(--rs-red);
  font-size: .88rem;
  font-weight: 800;
}
.rs-home-news__list,
.rs-news-list {
  display: grid;
}
.rs-home-news__item,
.rs-news-list__item {
  border-bottom: 1px solid var(--rs-line);
}
.rs-home-news__item > a,
.rs-news-list__item > a {
  display: grid;
  grid-template-columns: 104px minmax(0, 1fr) 18px;
  align-items: center;
  gap: 18px;
  min-height: 92px;
  padding: 16px 4px;
}
.rs-home-news__item time,
.rs-news-list__item time {
  color: #758198;
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .04em;
}
.rs-home-news__item h3,
.rs-news-list__item h3 {
  margin: 0;
  font-size: 1rem;
  line-height: 1.65;
  letter-spacing: -.015em;
}
.rs-home-news__item > a > span,
.rs-news-list__item > a > span {
  color: var(--rs-red);
  font-size: 1.35rem;
  transition: transform .2s ease;
}
.rs-home-news__item > a:hover > span,
.rs-news-list__item > a:hover > span {
  transform: translateX(4px);
}
.rs-home-news__empty,
.rs-news-group__empty {
  margin: 0;
  padding: 30px 4px;
  color: var(--rs-muted);
  border-bottom: 1px solid var(--rs-line);
}
.rs-news-groups {
  gap: 64px;
}
.rs-news-group__heading {
  align-items: flex-start;
}
.rs-news-group__heading p {
  max-width: 520px;
  margin: 10px 0 0;
  color: var(--rs-muted);
  font-size: .95rem;
}
.rs-news-list__copy p {
  margin: 6px 0 0;
  color: var(--rs-muted);
  font-size: .9rem;
}
.rs-news-index-bar {
  margin-bottom: 28px;
}
.rs-news-back {
  margin-top: 64px !important;
}

.rs-error-page { min-height:760px; display:grid; place-items:center; padding:160px 0 100px; text-align:center; background:radial-gradient(circle at 50% 30%,rgba(78,159,255,.18),transparent 32%),linear-gradient(#fff,#f7faff); }
.rs-error-page__code { margin:0; color:rgba(239,43,36,.14); font-size:clamp(7rem,18vw,16rem); line-height:.8; font-weight:950; letter-spacing:-.08em; }
.rs-error-page h1 { margin:18px 0; font-size:clamp(2.3rem,5vw,5rem); line-height:1.12; }
.rs-error-page .rs-btn { margin-top:24px; }

@media (max-width:1250px) {
  .site-header--brand .site-branding img { max-width:280px; }
  .site-header--brand .primary-menu > li > a { padding-inline:9px; font-size:.88rem; }
  .site-header--brand .primary-nav { gap:14px; }
  .rs-btn--header-ghost { display:none; }
}
@media (max-width:1000px) {
  .site-header--brand { height:78px; }
  .admin-bar .site-header { top:46px; }
  .site-header--brand .site-branding img { max-width:270px; max-height:58px; }
  .site-header--brand .primary-nav { position:fixed; inset:0; padding:110px 24px 38px; overflow:auto; justify-content:flex-start; align-items:stretch; background:rgba(255,255,255,.99); }
  .site-header--brand .primary-menu { width:min(100%,620px); margin:0 auto; align-items:stretch; gap:4px; }
  .site-header--brand .primary-menu > li > a { justify-content:space-between; min-height:54px; padding:0 16px; font-size:1.05rem; border-bottom:1px solid var(--rs-line); border-radius:0; }
  .site-header--brand .sub-menu { position:static; display:grid; visibility:visible; opacity:1; transform:none; min-width:0; padding:0 0 8px 18px; border:0; box-shadow:none; }
  .site-header--brand .header-actions { display:grid; width:min(100%,620px); margin:22px auto 0; }
  .site-header--brand .header-actions .rs-btn { display:flex; }
  .rs-archive-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .rs-home-news__grid,
  .rs-news-groups { gap: 30px; }
}
@media (max-width:782px) { .admin-bar .site-header { top:46px; } }
@media (max-width:680px) {
  .site-header--brand .site-branding img { max-width:220px; }
  .rs-page-hero { min-height:410px; padding:150px 0 76px; }
  .rs-page-hero h1 { font-size:clamp(2.5rem,12vw,4.2rem); }
  .rs-breadcrumb { margin-bottom:24px; }
  .rs-content-surface { width:min(calc(100% - 32px),980px); padding:72px 0 90px; }
  .rs-archive-section { padding:72px 0 90px; }
  .rs-archive-grid { grid-template-columns:1fr; }
  .rs-home-news { padding: 64px 0 70px; }
  .rs-home-news__grid,
  .rs-news-groups { grid-template-columns: 1fr; gap: 52px; }
  .rs-home-news__heading,
  .rs-news-group__heading { align-items: flex-start; }
  .rs-home-news__heading h2,
  .rs-news-group__heading h2 { font-size: 1.5rem; }
  .rs-home-news__item > a,
  .rs-news-list__item > a {
    grid-template-columns: 1fr 18px;
    gap: 6px 14px;
    min-height: 94px;
    padding: 16px 2px;
  }
  .rs-home-news__item time,
  .rs-news-list__item time { grid-column: 1; }
  .rs-home-news__item h3,
  .rs-news-list__item h3 { grid-column: 1; }
  .rs-home-news__item > a > span,
  .rs-news-list__item > a > span { grid-column: 2; grid-row: 1 / span 2; }
}


/* v2.5 Brand Edition: WordPress custom logo support */
.site-branding .custom-logo-link,
.site-branding .site-logo,
.site-branding .wp-block-site-logo {
  display:flex;
  align-items:center;
  line-height:0;
  text-decoration:none;
}
.site-branding .custom-logo {
  display:block;
  width:auto;
  height:auto;
  max-width:310px;
  max-height:62px;
  object-fit:contain;
  transition:transform .25s ease, max-height .25s ease;
}
.site-header.is-scrolled .site-branding .custom-logo { max-height:54px; }
.site-branding .custom-logo-link:hover .custom-logo { transform:translateY(-1px); }
@media (max-width:1180px) {
  .site-branding .custom-logo { max-width:260px; max-height:56px; }
}
@media (max-width:780px) {
  .site-branding .custom-logo { max-width:220px; max-height:50px; }
}
@media (max-width:430px) {
  .site-branding .custom-logo { max-width:185px; max-height:46px; }
}

/* =========================================================
   v2.6 Hero Experience Edition
   Product-authentic dashboard + AI Growth Coach + SVG journey
   ========================================================= */
.rs-hero--v26 {
  min-height:100svh;
  padding:clamp(126px,12vh,164px) 0 68px;
  display:flex;
  align-items:center;
  isolation:isolate;
  background:
    radial-gradient(circle at 64% 28%,rgba(78,159,255,.18),transparent 30%),
    radial-gradient(circle at 91% 63%,rgba(235,115,198,.14),transparent 28%),
    linear-gradient(180deg,#fff 0%,#fff 78%,#f9fcff 100%);
}
.rs-hero--v26 .rs-hero__grid { grid-template-columns:minmax(420px,.78fr) minmax(700px,1.42fr); gap:4px; align-items:center; min-height:760px; }
.rs-hero--v26 .rs-hero__copy { position:relative; z-index:12; padding-bottom:60px; }
.rs-hero--v26 .rs-hero__title { font-size:clamp(4.65rem,6.05vw,7rem); line-height:1.035; letter-spacing:-.057em; margin:0; color:#17243f; }
.rs-hero--v26 .rs-hero__title .accent { color:#ed302d; }
.rs-hero--v26 .rs-hero__en { margin-top:24px; font-size:clamp(1.05rem,1.4vw,1.32rem); font-weight:800; letter-spacing:.005em; }
.rs-hero--v26 .rs-eyebrow { margin-bottom:23px; font-size:1.02rem; letter-spacing:.01em; text-transform:none; }
.rs-hero--v26 .rs-hero__copy-text { font-size:clamp(1.02rem,1.25vw,1.2rem); line-height:1.85; }
.rs-hero--v26 .rs-hero__actions { margin-top:34px; }

.rs-product-hero { position:relative; min-height:760px; margin-left:-70px; z-index:4; perspective:1400px; }
.rs-product-hero__halo { position:absolute; inset:2% -8% 3% 0; border-radius:48% 52% 45% 55%; background:linear-gradient(135deg,rgba(132,204,255,.36),rgba(176,134,255,.18) 53%,rgba(255,129,190,.20)); filter:blur(10px); opacity:.78; }
.rs-product-hero__student { position:absolute; z-index:2; left:10%; bottom:4%; width:47%; height:78%; background:url('assets/images/xp5gi-hero-artwork.png') 43% 49% / 185% auto no-repeat; -webkit-mask-image:linear-gradient(180deg,transparent 2%,#000 18%,#000 82%,transparent 100%); mask-image:linear-gradient(180deg,transparent 2%,#000 18%,#000 82%,transparent 100%); opacity:.9; filter:saturate(.9) contrast(.96); }
.rs-product-hero__path { position:absolute; z-index:3; inset:1% -2% 0 0; width:100%; height:100%; overflow:visible; pointer-events:none; }
.rs-product-hero__path-line { fill:none; stroke:url(#v27GrowthGradient); stroke-width:9; stroke-linecap:round; stroke-dasharray:1200; stroke-dashoffset:1200; filter:url(#v27Glow); }
.rs-product-hero.is-animated .rs-product-hero__path-line { animation:rsV26Draw 2.35s cubic-bezier(.2,.75,.2,1) forwards .25s; }
.rs-product-hero__nodes circle { fill:#fff; stroke:#ff655d; stroke-width:7; opacity:0; transform-origin:center; }
.rs-product-hero.is-animated .rs-product-hero__nodes circle { animation:rsV26Node .42s ease forwards; }
.rs-product-hero.is-animated .rs-product-hero__nodes circle:nth-child(1){animation-delay:.55s}.rs-product-hero.is-animated .rs-product-hero__nodes circle:nth-child(2){animation-delay:.82s}.rs-product-hero.is-animated .rs-product-hero__nodes circle:nth-child(3){animation-delay:1.08s}.rs-product-hero.is-animated .rs-product-hero__nodes circle:nth-child(4){animation-delay:1.34s}.rs-product-hero.is-animated .rs-product-hero__nodes circle:nth-child(5){animation-delay:1.60s}.rs-product-hero.is-animated .rs-product-hero__nodes circle:nth-child(6){animation-delay:1.88s}

.rs-glass-panel { background:rgba(255,255,255,.79); border:1px solid rgba(255,255,255,.92); box-shadow:0 28px 90px rgba(37,69,126,.18),inset 0 1px rgba(255,255,255,.9); backdrop-filter:blur(20px) saturate(145%); }
.rs-xp-dashboard { position:absolute; z-index:5; right:-2%; bottom:5%; width:69%; padding:18px; border-radius:28px; transform:rotateY(-4deg) rotateX(1deg); transform-origin:right center; }
.rs-xp-dashboard__topbar { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:5px 4px 14px; border-bottom:1px solid rgba(38,65,110,.09); }
.rs-xp-dashboard__topbar small { display:block; color:#63728a; font-size:.67rem; text-transform:uppercase; letter-spacing:.08em; }
.rs-xp-dashboard__topbar strong { display:block; color:#17243f; font-size:.86rem; }
.rs-xp-progress { text-align:right; }
.rs-xp-progress span { display:block; color:#8190a7; font-size:.55rem; letter-spacing:.08em; }
.rs-xp-progress b { font-size:1.35rem; color:#ef2b24; }
.rs-xp-dashboard__metrics { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin:12px 0; }
.rs-xp-dashboard__metrics div,.rs-xp-dashboard__footer div { padding:10px; border:1px solid rgba(61,94,143,.08); border-radius:13px; background:rgba(247,250,255,.82); }
.rs-xp-dashboard__metrics span,.rs-xp-dashboard__footer span { display:block; color:#8290a6; font-size:.56rem; }
.rs-xp-dashboard__metrics b,.rs-xp-dashboard__footer b { display:block; margin-top:2px; color:#24436d; font-size:.88rem; }
.rs-xp-dashboard__main { display:grid; grid-template-columns:1.45fr .8fr; gap:10px; }
.rs-xp-insight-card,.rs-xp-next-card { min-height:205px; padding:13px; border-radius:16px; background:rgba(255,255,255,.88); border:1px solid rgba(52,91,151,.09); }
.rs-xp-card-label { color:#2b75e7; font-size:.58rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.rs-xp-insight-card__headline { display:flex; align-items:flex-end; justify-content:space-between; margin-top:7px; }
.rs-xp-insight-card__headline span { color:#72819a; font-size:.62rem; }.rs-xp-insight-card__headline b { font-size:.95rem; color:#17243f; }
.rs-xp-trend { height:55px; display:flex; align-items:flex-end; gap:5px; padding:7px 5px 2px; border-bottom:1px solid #dce7f5; }
.rs-xp-trend i { flex:1; height:var(--h); border-radius:5px 5px 2px 2px; background:linear-gradient(180deg,#407ff3,#43d0b6); box-shadow:0 4px 9px rgba(65,133,243,.16); }
.rs-xp-signal { position:relative; margin-top:8px; padding:7px 39px 7px 9px; border-radius:10px; background:#edf9f2; }
.rs-xp-signal--blue { background:#eef4ff; }.rs-xp-signal span { display:block; color:#71809a; font-size:.52rem; }.rs-xp-signal b { display:block; color:#234260; font-size:.65rem; }.rs-xp-signal em { position:absolute; right:7px; top:9px; padding:2px 5px; color:#fff; background:#20a564; border-radius:8px; font-size:.48rem; font-style:normal; }.rs-xp-signal--blue em { background:#397cef; }
.rs-xp-next-card label { display:flex; align-items:center; gap:6px; margin:11px 0; color:#40506d; font-size:.65rem; }.rs-xp-next-card input { accent-color:#3378ed; }
.rs-xp-coach-mini { display:flex; gap:7px; align-items:flex-start; margin-top:12px; padding:9px; border-radius:12px; background:linear-gradient(135deg,#f0f6ff,#fff1f6); }.rs-xp-coach-mini p { margin:0; color:#53617a; font-size:.57rem; line-height:1.5; }
.rs-xp-bot { flex:0 0 auto; display:grid; place-items:center; width:28px; height:28px; border-radius:10px; color:#fff; background:linear-gradient(135deg,#5988ff,#b453eb,#ef4d7e); font-size:.55rem; font-weight:900; box-shadow:0 7px 16px rgba(90,94,220,.22); }
.rs-xp-dashboard__footer { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-top:10px; }

.rs-ai-coach-card { position:absolute; z-index:8; right:0; top:25%; width:40%; padding:16px 18px; border-radius:19px; transform:translateZ(40px); }
.rs-ai-coach-card__head { display:flex; gap:10px; align-items:center; }.rs-ai-coach-card__head b { display:block; color:#17243f; font-size:.78rem; }.rs-ai-coach-card__head small { display:block; color:#8693a7; font-size:.54rem; }
.rs-ai-coach-card p { margin:12px 0 6px; color:#52617a; font-size:.64rem; line-height:1.55; }.rs-ai-coach-card strong { display:block; color:#6a3bba; font-size:.68rem; }

.rs-product-chip { position:absolute; z-index:7; display:flex; align-items:center; gap:9px; min-width:165px; padding:11px 13px; border-radius:14px; background:rgba(255,255,255,.82); border:1px solid rgba(255,255,255,.95); box-shadow:0 16px 44px rgba(36,69,126,.14); backdrop-filter:blur(16px); opacity:0; transform:translateY(12px); }
.rs-product-hero.is-animated .rs-product-chip { animation:rsV26Chip .6s cubic-bezier(.2,.7,.2,1) forwards; }
.rs-product-chip>span { display:grid; place-items:center; width:28px; height:28px; color:#ef2b24; border-radius:9px; background:rgba(239,43,36,.08); font-weight:900; }.rs-product-chip b { display:block; color:#17243f; font-size:.68rem; }.rs-product-chip small { display:block; color:#78869b; font-size:.54rem; }
.rs-product-chip--goal { left:4%; bottom:8%; }.rs-product-chip--reflection { left:0; bottom:31%; animation-delay:.35s!important; }.rs-product-chip--evidence { left:3%; top:32%; animation-delay:.7s!important; }.rs-product-chip--insight { right:18%; top:10%; animation-delay:1.1s!important; }.rs-product-chip--journey { right:4%; top:-1%; animation-delay:1.45s!important; }

.rs-reveal { opacity:0; transform:translateY(18px); }.rs-reveal.is-visible { animation:rsV26Reveal .8s cubic-bezier(.2,.75,.2,1) forwards; }
@keyframes rsV26Draw { to { stroke-dashoffset:0; } }
@keyframes rsV26Node { 0%{opacity:0;transform:scale(.4)} 70%{opacity:1;transform:scale(1.25)} 100%{opacity:1;transform:scale(1)} }
@keyframes rsV26Chip { to { opacity:1; transform:translateY(0); } }
@keyframes rsV26Reveal { to { opacity:1; transform:none; } }

@media (max-width:1240px) {
  .rs-hero--v26 .rs-hero__grid { grid-template-columns:minmax(360px,.75fr) minmax(600px,1.25fr); }
  .rs-product-hero { margin-left:-90px; transform:scale(.92); transform-origin:center right; }
}
@media (max-width:1050px) {
  .rs-hero--v26 { padding-top:130px; }
  .rs-hero--v26 .rs-hero__grid { grid-template-columns:1fr; }
  .rs-hero--v26 .rs-hero__copy { max-width:820px; padding-bottom:25px; }
  .rs-product-hero { width:min(100%,900px); min-height:710px; margin:0 auto; transform:none; }
}
@media (max-width:760px) {
  .rs-hero--v26 { padding-top:110px; }
  .rs-hero--v26 .rs-hero__title { font-size:clamp(3.25rem,15vw,5rem); }
  .rs-product-hero { width:130%; margin-left:-15%; min-height:610px; transform:scale(.82); transform-origin:top center; margin-bottom:-85px; }
  .rs-ai-coach-card { width:44%; }
}
@media (max-width:520px) {
  .rs-product-hero { width:165%; margin-left:-32.5%; transform:scale(.64); margin-bottom:-190px; }
  .rs-product-chip { min-width:150px; }
}
@media (prefers-reduced-motion:reduce) {
  .rs-product-hero__path-line { stroke-dashoffset:0!important; animation:none!important; }
  .rs-product-hero__nodes circle,.rs-product-chip,.rs-reveal { opacity:1!important; transform:none!important; animation:none!important; }
}


/* =========================================================
   XP5 GI Living Hero Edition v2.8
   Background visibility, living glass UI and motion polish
   ========================================================= */
.rs-hero--v26 {
  min-height: 980px;
  padding-top: clamp(132px, 12vh, 168px);
  background:
    radial-gradient(circle at 63% 29%, rgba(93,176,255,.21), transparent 31%),
    radial-gradient(circle at 88% 58%, rgba(246,112,190,.17), transparent 28%),
    radial-gradient(circle at 77% 78%, rgba(135,111,255,.09), transparent 24%),
    linear-gradient(180deg,#fff 0%,#fff 77%,#f8fbff 100%);
}
.rs-hero--v26 .rs-container { max-width: 1540px; }
.rs-hero--v26 .rs-hero__grid {
  grid-template-columns: minmax(500px,.86fr) minmax(720px,1.14fr);
  gap: 6px;
  min-height: 790px;
}
.rs-hero--v26 .rs-hero__copy { padding-right: 26px; }
.rs-hero--v26 .rs-hero__title {
  font-size: clamp(4.25rem,5.55vw,6.45rem);
  line-height: 1.035;
}
.rs-hero--v26 .rs-hero__title .accent { white-space: nowrap; }

.rs-product-hero {
  min-height: 780px;
  margin-left: -42px;
  perspective: 1600px;
  overflow: visible;
}
.rs-product-hero__halo {
  inset: -2% -12% -1% -4%;
  background:
    radial-gradient(circle at 34% 47%, rgba(255,255,255,.72), transparent 22%),
    linear-gradient(132deg,rgba(113,196,255,.46),rgba(165,127,255,.22) 52%,rgba(255,120,190,.28));
  filter: blur(15px);
  opacity: .92;
  animation: rsV27Halo 9s ease-in-out infinite alternate;
}
.rs-product-hero::before,
.rs-product-hero::after {
  content:"";
  position:absolute;
  pointer-events:none;
  border-radius:50%;
  z-index:1;
}
.rs-product-hero::before {
  width:420px;height:420px;left:4%;top:12%;
  background:radial-gradient(circle,rgba(255,255,255,.84),rgba(125,194,255,.13) 48%,transparent 70%);
  filter:blur(3px);
}
.rs-product-hero::after {
  width:330px;height:330px;right:0;bottom:4%;
  background:radial-gradient(circle,rgba(247,112,187,.18),transparent 68%);
  filter:blur(18px);
}
.rs-product-hero__student {
  z-index: 7;
  left: 3%;
  bottom: 0;
  width: 52%;
  height: 82%;
  background-position: 42% 48%;
  background-size: 177% auto;
  opacity: .96;
  filter: saturate(.94) contrast(.98) drop-shadow(0 24px 42px rgba(53,82,132,.12));
  animation: rsV27StudentFloat 7.5s ease-in-out infinite;
}
.rs-product-hero__path { z-index: 9; inset: -1% -1% 0 -1%; }
.rs-product-hero__path-line { stroke-width: 8; filter:url(#v27Glow) drop-shadow(0 7px 9px rgba(239,43,36,.22)); }
.rs-product-hero__nodes circle { stroke-width:6; }

.rs-glass-panel {
  background: linear-gradient(145deg,rgba(255,255,255,.68),rgba(247,250,255,.54));
  border-color: rgba(255,255,255,.86);
  box-shadow: 0 30px 90px rgba(43,72,126,.15), inset 0 1px rgba(255,255,255,.92);
  backdrop-filter: blur(24px) saturate(155%);
  -webkit-backdrop-filter: blur(24px) saturate(155%);
}
.rs-xp-dashboard {
  z-index: 5;
  right: -3%;
  bottom: 1%;
  width: 59%;
  padding: 16px;
  border-radius: 26px;
  transform: perspective(1600px) rotateY(-3.5deg) rotateX(1deg) translateZ(0);
  opacity: .88;
  transition: transform .35s ease, opacity .35s ease, box-shadow .35s ease;
  animation: rsV27DashboardFloat 8.5s ease-in-out infinite;
}
.rs-product-hero:hover .rs-xp-dashboard { opacity:.96; transform:perspective(1600px) rotateY(-1.5deg) rotateX(.5deg) translateY(-5px); }
.rs-xp-dashboard__topbar { padding-bottom:11px; }
.rs-xp-dashboard__topbar strong { font-size:.78rem; }
.rs-xp-progress { min-width:92px; position:relative; padding-bottom:8px; }
.rs-xp-progress::after { content:""; position:absolute; left:0; right:0; bottom:0; height:3px; border-radius:99px; background:linear-gradient(90deg,#ef2b24 0 44%,rgba(239,43,36,.14) 44%); transform:scaleX(0); transform-origin:left; }
.rs-product-hero.is-animated .rs-xp-progress::after { animation:rsV27Progress 1.25s ease forwards 1.15s; }
.rs-xp-dashboard__metrics { gap:7px; margin:10px 0; }
.rs-xp-dashboard__metrics div,.rs-xp-dashboard__footer div { padding:8px; background:rgba(247,250,255,.63); }
.rs-xp-dashboard__main { grid-template-columns:1.4fr .78fr; gap:8px; }
.rs-xp-insight-card,.rs-xp-next-card { min-height:184px; padding:11px; background:rgba(255,255,255,.68); }
.rs-xp-trend { height:48px; }
.rs-xp-trend i { transform:scaleY(0); transform-origin:bottom; }
.rs-product-hero.is-animated .rs-xp-trend i { animation:rsV27Bar 1s cubic-bezier(.2,.8,.2,1) forwards; }
.rs-product-hero.is-animated .rs-xp-trend i:nth-child(1){animation-delay:1.1s}.rs-product-hero.is-animated .rs-xp-trend i:nth-child(2){animation-delay:1.18s}.rs-product-hero.is-animated .rs-xp-trend i:nth-child(3){animation-delay:1.26s}.rs-product-hero.is-animated .rs-xp-trend i:nth-child(4){animation-delay:1.34s}.rs-product-hero.is-animated .rs-xp-trend i:nth-child(5){animation-delay:1.42s}.rs-product-hero.is-animated .rs-xp-trend i:nth-child(6){animation-delay:1.50s}.rs-product-hero.is-animated .rs-xp-trend i:nth-child(7){animation-delay:1.58s}

.rs-ai-coach-card {
  z-index: 11;
  right: 2%;
  top: 28%;
  width: 36%;
  padding: 15px 17px;
  border-radius: 20px;
  opacity: .93;
  animation: rsV27CoachFloat 6.7s ease-in-out infinite;
}
.rs-product-chip { z-index: 10; background:rgba(255,255,255,.72); backdrop-filter:blur(20px) saturate(150%); }
.rs-product-chip--goal { left:5%; bottom:7%; }
.rs-product-chip--reflection { left:-1%; bottom:30%; }
.rs-product-chip--evidence { left:1%; top:31%; }
.rs-product-chip--insight { right:24%; top:9%; }
.rs-product-chip--journey { right:6%; top:-2%; }

.rs-product-hero.is-animated .rs-xp-dashboard,
.rs-product-hero.is-animated .rs-ai-coach-card { will-change:transform; }

@keyframes rsV27Halo { from{transform:scale(.98) translate3d(-6px,4px,0)} to{transform:scale(1.035) translate3d(10px,-7px,0)} }
@keyframes rsV27StudentFloat { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-9px)} }
@keyframes rsV27DashboardFloat { 0%,100%{translate:0 0} 50%{translate:0 -8px} }
@keyframes rsV27CoachFloat { 0%,100%{translate:0 0} 50%{translate:0 -10px} }
@keyframes rsV27Progress { to{transform:scaleX(1)} }
@keyframes rsV27Bar { to{transform:scaleY(1)} }

@media (max-width:1320px) {
  .rs-hero--v26 .rs-hero__grid { grid-template-columns:minmax(430px,.82fr) minmax(650px,1.18fr); }
  .rs-product-hero { margin-left:-64px; transform:scale(.94); transform-origin:center right; }
}
@media (max-width:1050px) {
  .rs-hero--v26 .rs-hero__title .accent { white-space:normal; }
  .rs-product-hero { margin-left:auto; transform:none; }
  .rs-xp-dashboard { width:61%; right:0; }
}
@media (max-width:760px) {
  .rs-product-hero__student { left:5%; width:54%; }
  .rs-xp-dashboard { width:62%; opacity:.94; }
  .rs-ai-coach-card { width:39%; right:1%; }
}
@media (prefers-reduced-motion:reduce) {
  .rs-product-hero__halo,.rs-product-hero__student,.rs-xp-dashboard,.rs-ai-coach-card { animation:none!important; }
  .rs-xp-trend i,.rs-xp-progress::after { transform:none!important; animation:none!important; }
}

/* v2.8 product pages */
.rs-product-page-hero {
  min-height: 560px;
  padding: 182px 0 100px;
  background:
    radial-gradient(circle at 84% 28%, rgba(100,183,255,.22), transparent 25%),
    radial-gradient(circle at 72% 78%, rgba(239,43,36,.09), transparent 23%),
    linear-gradient(180deg,#fff,#f7faff);
}
.rs-product-page-hero h1 { max-width: 1050px; }
.rs-product-section { position:relative; padding:112px 0; overflow:hidden; }
.rs-product-section--soft { background:#f5f8fc; }
.rs-product-section--dark { color:#fff; background:linear-gradient(135deg,#101a32,#172a50 62%,#183b70); }
.rs-product-section h2 { margin:10px 0 22px; font-size:clamp(2.25rem,4vw,4.3rem); line-height:1.16; letter-spacing:-.04em; }
.rs-product-section h3 { line-height:1.35; }
.rs-product-section p { color:#5d6b84; font-size:1.05rem; }
.rs-product-section--dark p { color:rgba(255,255,255,.72); }
.rs-product-lead { font-size:clamp(1.08rem,1.5vw,1.28rem)!important; line-height:1.9; }
.rs-product-heading { max-width:920px; }
.rs-product-split { display:grid; grid-template-columns:minmax(0,.88fr) minmax(520px,1.12fr); gap:72px; align-items:center; }
.rs-product-split--reverse > :first-child { order:2; }
.rs-product-grid { display:grid; gap:24px; margin-top:48px; }
.rs-product-grid--3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.rs-product-card { position:relative; min-width:0; padding:34px; border:1px solid rgba(25,45,80,.08); border-radius:24px; background:rgba(255,255,255,.9); box-shadow:0 18px 55px rgba(30,52,92,.08); }
.rs-product-card h3 { margin:12px 0 10px; color:#17213a; font-size:1.4rem; }
.rs-product-card p { margin:0; }
.rs-product-card__number { color:var(--rs-red); font-weight:900; letter-spacing:.1em; }
.rs-product-card__icon { display:grid; place-items:center; width:54px; height:54px; color:#fff; border-radius:17px; background:linear-gradient(135deg,var(--rs-red),#ff5a52); font-weight:900; box-shadow:0 12px 25px rgba(239,43,36,.18); }
.rs-product-card--image { padding:14px 14px 30px; }
.rs-product-card--image img { display:block; width:100%; border-radius:15px; }
.rs-product-card--image h3,.rs-product-card--image p { margin-left:16px; margin-right:16px; }
.rs-doc-visual { margin:0; padding:14px; border:1px solid rgba(24,42,77,.08); border-radius:25px; background:rgba(255,255,255,.88); box-shadow:0 26px 80px rgba(29,50,87,.12); }
.rs-doc-visual img { display:block; width:100%; border-radius:15px; }
.rs-doc-visual figcaption { padding:12px 6px 2px; color:#758198; font-size:.82rem; text-align:center; }
.rs-doc-visual--wide { width:min(100%,1120px); margin:48px auto 0; }
.rs-doc-visual--dark { border-color:rgba(255,255,255,.16); background:rgba(255,255,255,.09); box-shadow:0 34px 90px rgba(0,0,0,.2); }
.rs-doc-visual--dark figcaption { color:rgba(255,255,255,.6); }
.rs-centered-heading { max-width:920px; margin:0 auto 48px; text-align:center; }
.rs-centered-heading p { max-width:760px; margin-inline:auto; }
.rs-story-panel { padding:64px; border:1px solid rgba(28,48,86,.08); border-radius:32px; background:linear-gradient(135deg,#fff,#f6f9fe); box-shadow:var(--rs-shadow); }
.rs-story-panel h2 { max-width:980px; }
.rs-story-panel > p:not(.rs-eyebrow) { max-width:880px; }
.rs-story-panel--notice { background:linear-gradient(135deg,rgba(239,43,36,.045),rgba(79,159,255,.08)); }
.rs-story-panel--dark { border-color:rgba(255,255,255,.15); background:rgba(255,255,255,.06); box-shadow:none; }
.rs-pill-list { display:flex; flex-wrap:wrap; gap:10px; margin:32px 0; }
.rs-pill-list span { padding:10px 16px; border:1px solid #dce3ef; border-radius:999px; background:#fff; color:#33425f; font-weight:700; }
.rs-cta-inline { display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }
.rs-status-badge { display:inline-flex; align-items:center; min-height:30px; padding:0 12px; border-radius:999px; color:#c9201a; background:rgba(239,43,36,.1); font-size:.75rem; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.rs-status-badge--light { color:#fff; background:rgba(255,255,255,.15); }
.rs-growth-steps { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin-top:32px; }
.rs-growth-steps span { position:relative; padding:10px 16px; border:1px solid #dce3ef; border-radius:999px; color:#34425d; background:#fff; font-weight:800; }
.rs-growth-steps span:not(:last-child)::after { content:'›'; position:absolute; right:-8px; color:var(--rs-red); }
.rs-small-note { font-size:.9rem!important; }

.rs-feature-list { display:grid; gap:110px; }
.rs-feature-row { display:grid; grid-template-columns:minmax(0,.82fr) minmax(520px,1.18fr); gap:70px; align-items:center; }
.rs-feature-row--reverse > :first-child { order:2; }
.rs-feature-index { display:inline-block; margin-bottom:18px; color:rgba(239,43,36,.22); font-size:4rem; line-height:1; font-weight:900; letter-spacing:-.08em; }
.rs-feature-row h2 { font-size:clamp(2.1rem,3.4vw,3.7rem); }

.rs-function-map { background:linear-gradient(180deg,#fff,#f7faff); }
.rs-function-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.rs-function-grid article { padding:26px; border:1px solid rgba(26,45,80,.08); border-radius:20px; background:rgba(255,255,255,.9); box-shadow:0 12px 36px rgba(28,50,90,.06); }
.rs-function-grid b { color:var(--rs-red); font-size:.78rem; letter-spacing:.08em; }
.rs-function-grid h3 { margin:10px 0 8px; color:#17213a; font-size:1.12rem; }
.rs-function-grid p { margin:0; font-size:.92rem; }

.rs-anchor-nav { position:sticky; top:74px; z-index:80; border-block:1px solid #e6eaf1; background:rgba(255,255,255,.92); backdrop-filter:blur(16px); }
.rs-anchor-nav .rs-container { display:flex; gap:6px; overflow:auto; padding-block:9px; scrollbar-width:none; }
.rs-anchor-nav a { flex:0 0 auto; padding:9px 14px; border-radius:999px; color:#40506b; font-size:.88rem; font-weight:800; }
.rs-anchor-nav a:hover { color:var(--rs-red); background:rgba(239,43,36,.07); }
.rs-screen-section { display:grid; grid-template-columns:minmax(330px,.62fr) minmax(600px,1.38fr); gap:58px; align-items:start; }
.rs-screen-section--reverse > :first-child { order:2; }
.rs-screen-copy { position:sticky; top:155px; }
.rs-screen-copy h2 { font-size:clamp(2.15rem,3.3vw,3.55rem); }
.rs-check-list { display:grid; gap:10px; margin:28px 0 0; padding:0; list-style:none; }
.rs-check-list li { position:relative; padding-left:28px; color:#40506b; }
.rs-check-list li::before { content:'✓'; position:absolute; left:0; top:0; color:var(--rs-red); font-weight:900; }
.rs-product-section--dark .rs-check-list li { color:rgba(255,255,255,.82); }
.rs-screen-frame { margin:0; padding:16px; overflow:hidden; border:1px solid rgba(25,44,79,.08); border-radius:26px; background:#fff; box-shadow:0 28px 90px rgba(25,48,91,.13); }
.rs-screen-frame img { display:block; width:100%; border-radius:14px; }
.rs-screen-frame figcaption { padding:13px 5px 1px; color:#77839a; font-size:.8rem; text-align:center; }
.rs-screen-frame--dark { border-color:rgba(255,255,255,.15); background:rgba(255,255,255,.96); box-shadow:0 34px 90px rgba(0,0,0,.23); }
.rs-screen-scroll { max-height:780px; overflow:auto; border-radius:14px; scrollbar-color:#b9c4d6 #edf1f7; }

.rs-conversion-grid { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(400px,.72fr); gap:80px; align-items:start; }
.rs-form-panel { position:sticky; top:130px; padding:40px; border:1px solid rgba(26,46,82,.09); border-radius:28px; background:#fff; box-shadow:0 28px 90px rgba(28,51,93,.12); }
.rs-form-panel h2 { margin-top:16px; font-size:clamp(2rem,3vw,3rem); }
.rs-form-content { margin-top:30px; }
.rs-form-content input,.rs-form-content select,.rs-form-content textarea { width:100%; padding:13px 15px; border:1px solid #ccd5e3; border-radius:11px; background:#fff; }
.rs-form-content input:focus,.rs-form-content select:focus,.rs-form-content textarea:focus { border-color:var(--rs-blue); outline:3px solid rgba(78,159,255,.14); }
.rs-form-content button,.rs-form-content input[type='submit'] { min-height:50px; padding:0 24px; border:0; border-radius:999px; color:#fff; background:var(--rs-red); font-weight:900; cursor:pointer; }
.rs-btn--full { width:100%; margin-top:16px; }
.rs-text-link { display:block; margin-top:20px; color:var(--rs-red); text-align:center; font-weight:800; }
.rs-admin-note { margin-top:18px!important; padding:12px; border-radius:10px; background:#fff8da; color:#685b1f!important; font-size:.8rem!important; }
.rs-process-list,.rs-contact-topics { display:grid; gap:14px; margin-top:38px; }
.rs-process-list > div,.rs-contact-topics > div { display:flex; gap:18px; padding:20px; border:1px solid #e5eaf2; border-radius:18px; background:#fff; }
.rs-process-list b { display:grid; flex:0 0 42px; place-items:center; height:42px; border-radius:13px; color:#fff; background:linear-gradient(135deg,var(--rs-red),#ff5d55); }
.rs-process-list span,.rs-contact-topics span { color:#64718a; }
.rs-process-list strong,.rs-contact-topics b { display:block; margin-bottom:3px; color:#17213a; }
.rs-contact-topics > div { display:block; }
.rs-contact-hero { position:relative; overflow:hidden; padding:175px 0 85px; background:linear-gradient(135deg,#fff 0%,#fff 70%,#eef8fd 70%,#eef8fd 100%); }
.rs-contact-hero::after { content:''; position:absolute; right:6%; bottom:-130px; width:430px; height:430px; border-radius:50%; background:radial-gradient(circle,rgba(80,175,230,.14),transparent 68%); }
.rs-contact-hero__grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:80px; align-items:center; }
.rs-contact-hero h1 { margin:16px 0 22px; font-size:clamp(3.2rem,6vw,6.5rem); line-height:1; letter-spacing:-.06em; }
.rs-contact-hero__lead { max-width:820px; color:#536179; font-size:1.08rem; line-height:1.9; }
.rs-contact-desk { padding:28px; border:1px solid rgba(27,48,83,.08); border-radius:20px; background:rgba(255,255,255,.94); box-shadow:0 22px 60px rgba(32,59,93,.12); }
.rs-contact-desk__icon { display:grid; place-items:center; width:44px; height:44px; margin-bottom:18px; border-radius:50%; color:var(--rs-red); background:#fff0ef; font-weight:900; }
.rs-contact-desk strong { display:block; margin-bottom:8px; font-size:1.08rem; }
.rs-contact-desk p { margin:0; color:#68758a; font-size:.88rem; line-height:1.7; }
.rs-contact-flow { padding:72px 0 82px; }
.rs-contact-flow .rs-centered-heading { margin-bottom:34px; }
.rs-contact-flow__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.rs-contact-flow__card { padding:30px; border:1px solid #e3e8ef; border-radius:16px; background:#fff; box-shadow:0 12px 35px rgba(28,51,90,.05); }
.rs-contact-flow__number { color:var(--rs-red); font-size:.75rem; font-weight:900; letter-spacing:.08em; }
.rs-contact-flow__card h3 { margin:17px 0 10px; color:#18233a; font-size:1.18rem; }
.rs-contact-flow__card p { margin:0; color:#68758a; font-size:.92rem; line-height:1.75; }
.rs-contact-area { padding:88px 0; background:#f1f6f9; }
.rs-contact-layout { display:grid; grid-template-columns:minmax(250px,.55fr) minmax(620px,1.45fr); gap:48px; align-items:start; }
.rs-contact-side h2 { font-size:clamp(2rem,3.3vw,3.25rem); }
.rs-contact-list { display:grid; gap:0; margin:30px 0; padding:0; list-style:none; }
.rs-contact-list li { position:relative; padding:13px 0 13px 20px; border-bottom:1px solid #dce4e9; color:#435168; }
.rs-contact-list li::before { content:'•'; position:absolute; left:0; color:var(--rs-red); font-weight:900; }
.rs-contact-note { margin-top:18px; padding:22px; border-left:3px solid var(--rs-red); background:#fff; }
.rs-contact-note--safe { border-left-color:#77bcd8; }
.rs-contact-note strong { display:block; margin-bottom:8px; color:#17213a; }
.rs-contact-note p { margin:0; font-size:.88rem; line-height:1.75; }
.rs-contact-form-card { padding:42px 46px; border:1px solid #e0e7eb; border-radius:18px; background:#fff; box-shadow:0 20px 65px rgba(35,61,90,.08); }
.rs-contact-form-card h2 { margin:8px 0 10px; font-size:clamp(2rem,3vw,3rem); }
.rs-contact-form-card__intro { padding-bottom:24px; border-bottom:1px solid #e8edf1; }
.rs-contact-form-card .rs-form-content { margin-top:24px; }
.rs-contact-form-card .wpforms-container { margin:0; }
.rs-contact-form-card .wpforms-field { padding:20px 0!important; border-bottom:1px solid #edf0f3; }
.rs-contact-form-card .wpforms-field-label { margin-bottom:10px!important; color:#17213a!important; font-weight:800!important; }
.rs-contact-form-card .wpforms-required-label { color:var(--rs-red)!important; }
.rs-contact-form-card input:not([type='checkbox']):not([type='radio']),.rs-contact-form-card select,.rs-contact-form-card textarea { width:100%!important; max-width:none!important; padding:13px 15px!important; border:1px solid #cfd8e2!important; border-radius:7px!important; background:#fff!important; }
.rs-contact-form-card textarea { min-height:210px; }
.rs-contact-form-card .wpforms-submit-container { padding-top:26px!important; text-align:center; }
.rs-contact-form-card button[type='submit'],.rs-contact-form-card input[type='submit'] { min-width:230px; min-height:54px; border:0!important; border-radius:5px!important; color:#fff!important; background:linear-gradient(135deg,var(--rs-red),#db342d)!important; box-shadow:0 12px 26px rgba(239,43,36,.2); font-weight:900!important; }
.rs-contact-empty { padding:28px; border:1px dashed #cdd7e2; border-radius:12px; background:#f8fafc; }
.rs-contact-privacy { padding:66px 0; background:#eaf6fc; }
.rs-contact-privacy__inner { display:flex; align-items:center; justify-content:space-between; gap:42px; }
.rs-contact-privacy h2 { margin:8px 0; font-size:clamp(1.8rem,3vw,3rem); }
.rs-contact-privacy p { margin:0; color:#5d6b80; }
.rs-policy-hero { position:relative; overflow:hidden; padding:175px 0 86px; background:linear-gradient(132deg,#fff 0%,#fff 69%,#edf8fd 69%); }
.rs-policy-hero__grid { display:grid; grid-template-columns:minmax(0,1fr) 250px; gap:70px; align-items:center; }
.rs-policy-hero h1 { max-width:1080px; margin:18px 0 22px; font-size:clamp(3rem,5.4vw,5.8rem); line-height:1.08; letter-spacing:-.055em; }
.rs-policy-mark { display:grid; place-items:center; width:190px; aspect-ratio:1; margin:auto; border:1px solid #f1e4e4; border-radius:50%; color:var(--rs-red); background:rgba(255,255,255,.92); font-size:4rem; font-weight:300; box-shadow:0 22px 60px rgba(31,58,88,.08); }
.rs-policy-section { padding:96px 0; background:#f5f8fa; }
.rs-policy-section--security { background:#fff; }
.rs-policy-intro { max-width:960px; margin-bottom:42px; }
.rs-policy-intro h2 { margin:10px 0 18px; font-size:clamp(2.5rem,4vw,4.3rem); }
.rs-policy-list { display:grid; gap:18px; max-width:1120px; }
.rs-policy-card { padding:30px 34px; border:1px solid #e1e7ec; border-radius:17px; background:#fff; box-shadow:0 12px 35px rgba(29,50,78,.045); }
.rs-policy-card__heading { display:flex; gap:15px; align-items:center; margin-bottom:16px; }
.rs-policy-card__number { display:grid; flex:0 0 34px; place-items:center; width:34px; height:34px; border-radius:50%; color:var(--rs-red); background:#fff0ef; font-size:.78rem; font-weight:900; }
.rs-policy-card h3 { margin:0; color:#17213a; font-size:1.18rem; }
.rs-policy-card p,.rs-policy-card li { color:#536178; line-height:1.9; }
.rs-policy-card p { margin:0 0 12px; }
.rs-policy-card p:last-child { margin-bottom:0; }
.rs-policy-card ul,.rs-policy-card ol { margin:12px 0 0; padding-left:1.4em; }
.rs-policy-controls { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:18px; }
.rs-policy-control { padding:18px; border-left:3px solid #31568a; background:#f3f7fa; }
.rs-policy-control strong { display:block; margin-bottom:6px; color:#17213a; }
.rs-policy-meta { max-width:1120px; margin-top:24px; padding:24px 28px; border-left:4px solid var(--rs-red); background:#fff; color:#536178; line-height:1.8; }
.rs-policy-cta { padding:66px 0; background:#eaf6fc; }
.rs-policy-cta__inner { display:flex; align-items:center; justify-content:space-between; gap:40px; }
.rs-policy-cta h2 { margin:8px 0; font-size:clamp(2rem,3.2vw,3.5rem); }
.rs-download-cover { margin-bottom:40px; }
.rs-editable-copy p { margin:0 0 1.15em; }
.rs-editable-copy p:first-child { font-size:clamp(1.08rem,1.5vw,1.28rem); line-height:1.9; }
.rs-editable-additional { border-top:1px solid #edf0f5; background:#fff; }
.rs-editable-additional .rs-content-surface { width:100%; max-width:none; padding:0; background:transparent; box-shadow:none; }
.rs-editable-additional .rs-content-surface > * { max-width:920px; }
.rs-editable-additional .rs-content-surface > .alignwide { max-width:var(--rs-max); }
.rs-company-summary { overflow:hidden; border:1px solid rgba(26,46,82,.09); border-radius:26px; background:#fff; box-shadow:0 28px 90px rgba(28,51,93,.10); }
.rs-company-summary > div { display:grid; grid-template-columns:130px 1fr; gap:24px; padding:22px 28px; border-bottom:1px solid #e9edf4; }
.rs-company-summary > div:last-child { border-bottom:0; }
.rs-company-summary span { color:#7a869c; font-size:.88rem; font-weight:700; }
.rs-company-summary strong { color:#17213a; }
.rs-company-profile { overflow:hidden; border-top:2px solid #294b7a; background:#fff; }
.rs-company-profile__row { display:grid; grid-template-columns:220px 1fr; border-bottom:1px solid #dfe4eb; }
.rs-company-profile__label { padding:24px 26px; background:#f3f6f9; color:#17213a; font-weight:800; }
.rs-company-profile__value { padding:24px 28px; color:#27344a; line-height:1.9; }
.rs-company-profile__value p { margin:0; }
.rs-company-profile__value a { color:var(--rs-red); text-decoration:underline; text-underline-offset:4px; }
.rs-company-profile__value a + a { display:block; margin-top:4px; }
.rs-security-panel { border-left:4px solid var(--rs-red); background:#fff8f7; }
.rs-external-panel { display:flex; align-items:center; justify-content:space-between; gap:42px; }
.rs-external-panel > div { max-width:820px; }
.rs-external-panel .rs-btn { flex:0 0 auto; }

@media (max-width:1180px) {
  .rs-product-split,.rs-feature-row { grid-template-columns:minmax(0,.9fr) minmax(450px,1.1fr); gap:42px; }
  .rs-screen-section { grid-template-columns:minmax(280px,.65fr) minmax(500px,1.35fr); gap:36px; }
  .rs-conversion-grid { gap:46px; }
  .rs-function-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:900px) {
  .rs-product-section { padding:84px 0; }
  .rs-product-split,.rs-feature-row,.rs-screen-section,.rs-conversion-grid { grid-template-columns:1fr; }
  .rs-product-split--reverse > :first-child,.rs-feature-row--reverse > :first-child,.rs-screen-section--reverse > :first-child { order:0; }
  .rs-product-grid--3 { grid-template-columns:1fr; }
  .rs-feature-list { gap:76px; }
  .rs-screen-copy,.rs-form-panel { position:static; }
  .rs-screen-frame { width:100%; }
  .rs-anchor-nav { top:78px; }
  .rs-function-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .rs-external-panel { display:block; }
  .rs-external-panel .rs-btn { margin-top:24px; }
  .rs-contact-hero__grid,.rs-contact-layout { grid-template-columns:1fr; }
  .rs-contact-desk { max-width:420px; }
  .rs-contact-flow__grid { grid-template-columns:1fr; }
  .rs-policy-hero__grid { grid-template-columns:1fr; }
  .rs-policy-mark { display:none; }
  .rs-policy-cta__inner { display:block; }
  .rs-policy-cta .rs-btn { margin-top:24px; }
}
@media (max-width:620px) {
  .rs-product-page-hero { min-height:430px; padding:145px 0 72px; }
  .rs-product-section { padding:68px 0; }
  .rs-story-panel,.rs-form-panel { padding:30px 22px; border-radius:22px; }
  .rs-product-card { padding:26px; }
  .rs-doc-visual,.rs-screen-frame { padding:8px; border-radius:18px; }
  .rs-screen-scroll { max-height:580px; }
  .rs-cta-inline { display:grid; }
  .rs-cta-inline .rs-btn { width:100%; }
  .rs-process-list > div { padding:16px; }
  .rs-function-grid { grid-template-columns:1fr; }
  .rs-company-summary > div { grid-template-columns:1fr; gap:5px; padding:18px 20px; }
  .rs-company-profile__row { grid-template-columns:1fr; }
  .rs-company-profile__label { padding:16px 20px; }
  .rs-company-profile__value { padding:18px 20px 24px; }
  .rs-contact-hero { padding:135px 0 65px; background:linear-gradient(160deg,#fff 0%,#fff 76%,#eef8fd 76%); }
  .rs-contact-form-card { padding:30px 22px; }
  .rs-contact-privacy__inner { display:block; }
  .rs-contact-privacy .rs-btn { margin-top:24px; }
  .site-header--brand .primary-menu > li.menu-item--contact > a { margin-top:10px; justify-content:center; border:0; border-radius:999px; }
  .rs-policy-hero { padding:135px 0 65px; }
  .rs-policy-section { padding:70px 0; }
  .rs-policy-card { padding:25px 21px; }
  .rs-policy-controls { grid-template-columns:1fr; }
}
