/*!
 * ResetPass Design System — main.css
 * Tokens → Base → Layout → Components → Sections → Templates → Utilities
 * RTL-first, logical properties only. No framework, no jQuery.
 */

/* =========================================================
   0. Fonts (self-hosted, subset, Persian digits)
   ========================================================= */
@font-face{font-family:"RP Vazirmatn";src:url(../fonts/vazirmatn-fd-regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"RP Vazirmatn";src:url(../fonts/vazirmatn-fd-medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"RP Vazirmatn";src:url(../fonts/vazirmatn-fd-bold.woff2) format("woff2");font-weight:600 700;font-style:normal;font-display:swap}
@font-face{font-family:"RP Vazirmatn";src:url(../fonts/vazirmatn-fd-extrabold.woff2) format("woff2");font-weight:800 900;font-style:normal;font-display:swap}
@font-face{font-family:"RP Latin";src:url(../fonts/vazirmatn-latin-var.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}

/* =========================================================
   1. Tokens
   ========================================================= */
:root{
  /* Ink (neutral, blue-tinted) */
  --rp-ink-950:#060A16;--rp-ink-900:#0B1224;--rp-ink-850:#0F1830;--rp-ink-800:#141E38;--rp-ink-700:#1F2A48;
  --rp-ink-600:#34405F;--rp-ink-500:#56647F;--rp-ink-400:#8592AC;--rp-ink-300:#B6C0D3;--rp-ink-200:#DAE0EB;
  --rp-ink-150:#E6EAF2;--rp-ink-100:#EFF2F8;--rp-ink-50:#F6F8FC;
  /* Reset Blue — primary */
  --rp-blue-50:#EEF3FF;--rp-blue-100:#DDE6FF;--rp-blue-200:#BCCDFF;--rp-blue-300:#8DA9FF;--rp-blue-400:#5C83FF;
  --rp-blue-500:#2E5BFF;--rp-blue-600:#1F45E6;--rp-blue-700:#1A37B8;--rp-blue-800:#182E8E;--rp-blue-900:#16286B;
  /* Unlock Mint — accent / success */
  --rp-mint-50:#E9FCF6;--rp-mint-100:#C8F7E8;--rp-mint-200:#97EFD4;--rp-mint-300:#5EE3BD;--rp-mint-400:#2FD6A9;
  --rp-mint-500:#14C79A;--rp-mint-600:#0BA37F;--rp-mint-700:#0B8167;
  /* Signals */
  --rp-amber-50:#FFF7E6;--rp-amber-500:#F59E0B;--rp-amber-700:#B45309;
  --rp-red-50:#FEF0F0;--rp-red-500:#EF4444;--rp-red-700:#B91C1C;

  /* Semantic (light) */
  --bg:#FFFFFF;--bg-subtle:var(--rp-ink-50);--bg-muted:var(--rp-ink-100);
  --fg:var(--rp-ink-900);--fg-muted:var(--rp-ink-500);--fg-soft:var(--rp-ink-600);
  --border:var(--rp-ink-150);--border-strong:var(--rp-ink-200);
  --primary:var(--rp-blue-500);--primary-hover:var(--rp-blue-600);--primary-fg:#fff;--primary-soft:var(--rp-blue-50);
  --accent:var(--rp-mint-500);--accent-soft:var(--rp-mint-50);
  --ring:0 0 0 3px rgba(46,91,255,.28);
  --brand-gradient:linear-gradient(120deg,#3A6BFF 0%,#2E5BFF 45%,#14C79A 100%);
  --text-gradient:linear-gradient(100deg,#5C83FF 0%,#2E5BFF 40%,#14C79A 100%);

  /* Typography */
  --font:"RP Vazirmatn",system-ui,-apple-system,"Segoe UI",Tahoma,sans-serif;
  --font-latin:"RP Latin","RP Vazirmatn",system-ui,sans-serif;
  --font-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --fs-2xs:.75rem;--fs-xs:.8125rem;--fs-sm:.875rem;--fs-base:1rem;--fs-md:1.0625rem;--fs-lg:1.1875rem;
  --fs-xl:clamp(1.25rem,1.1rem + .5vw,1.5rem);
  --fs-2xl:clamp(1.5rem,1.25rem + 1vw,2rem);
  --fs-3xl:clamp(1.85rem,1.4rem + 1.8vw,2.75rem);
  --fs-display:clamp(2rem,1.3rem + 2.9vw,3.4rem);
  --lh-tight:1.25;--lh-snug:1.45;--lh-base:1.85;

  /* Shape & depth */
  --r-xs:6px;--r-sm:8px;--r:12px;--r-md:14px;--r-lg:18px;--r-xl:24px;--r-2xl:32px;--r-full:999px;
  --shadow-xs:0 1px 2px rgba(11,18,36,.06);
  --shadow-sm:0 1px 2px rgba(11,18,36,.05),0 2px 6px -1px rgba(11,18,36,.06);
  --shadow-md:0 2px 4px -1px rgba(11,18,36,.06),0 10px 24px -6px rgba(11,18,36,.10);
  --shadow-lg:0 4px 8px -2px rgba(11,18,36,.06),0 24px 48px -12px rgba(11,18,36,.18);
  --shadow-glow:0 10px 30px -8px rgba(46,91,255,.55);

  /* Layout & motion */
  --container:1200px;--container-narrow:780px;--gutter:clamp(16px,4vw,32px);
  --section-y:clamp(64px,8vw,112px);
  --header-h:72px;
  --ease:cubic-bezier(.2,.7,.2,1);--ease-spring:cubic-bezier(.34,1.56,.64,1);
  --dur-1:120ms;--dur-2:200ms;--dur-3:320ms;--dur-4:600ms;
  color-scheme:light;
}

/* =========================================================
   2. Base / reset
   ========================================================= */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px);interpolate-size:allow-keywords}
body{margin:0;font-family:var(--font);font-size:var(--fs-base);line-height:var(--lh-base);color:var(--fg);background:var(--bg);
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:clip}
img,svg,video{max-width:100%;height:auto;display:block}
svg{flex-shrink:0}
a{color:var(--primary);text-decoration:none!important;transition:color var(--dur-2) var(--ease)}
a:hover{color:var(--primary-hover)}
h1,h2,h3,h4,h5,h6{margin:0 0 .5em;line-height:var(--lh-tight);font-weight:800;color:var(--fg);letter-spacing:-.01em;text-wrap:balance}
p{margin:0 0 1em;text-wrap:pretty}
ul,ol{margin:0;padding:0}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
:focus{outline:none}
:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}
::selection{background:var(--rp-blue-100);color:var(--rp-ink-900)}
hr{border:0;border-top:1px solid var(--border);margin:2rem 0}
.en,.ltr,code,kbd,.model,[lang="en"]{font-family:var(--font-latin)}
.ltr{direction:ltr;unicode-bidi:isolate;display:inline-block}
code,kbd{font-family:var(--font-mono);font-size:.9em;background:var(--bg-muted);border-radius:var(--r-xs);padding:.1em .4em;direction:ltr;unicode-bidi:isolate}
[hidden]{display:none!important}
.screen-reader-text,.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;inset-inline-start:16px;top:-100px;z-index:1000;background:var(--rp-ink-900);color:#fff;padding:.75rem 1.25rem;border-radius:var(--r)}
.skip-link:focus{top:16px;color:#fff}

/* =========================================================
   3. Layout
   ========================================================= */
.container{width:100%;max-width:calc(var(--container) + var(--gutter)*2);margin-inline:auto;padding-inline:var(--gutter)}
.container--narrow{max-width:calc(var(--container-narrow) + var(--gutter)*2)}
.section{padding-block:var(--section-y);position:relative}
.section--subtle{background:var(--bg-subtle)}
.section--tight{padding-block:calc(var(--section-y)*.6)}
.section--dark{background:var(--rp-ink-900);color:var(--rp-ink-200);isolation:isolate;overflow:hidden}
.section--dark h1,.section--dark h2,.section--dark h3,.section--dark h4{color:#fff}
.grid{display:grid;gap:clamp(16px,2vw,24px)}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1024px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}
.stack>*+*{margin-top:var(--stack,1rem)}
.cluster{display:flex;flex-wrap:wrap;align-items:center;gap:var(--gap,.75rem)}
.section-bar{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:flex-end;margin-bottom:clamp(28px,4vw,48px)}
.section-bar .section-head{margin-bottom:0}
.site-main{min-height:60vh}

/* Section heading */
.section-head{max-width:720px;margin:0 auto clamp(36px,5vw,56px);text-align:center}
.section-head--start{margin-inline:0;text-align:start}
.section-head__title{font-size:var(--fs-3xl);margin-bottom:.4em}
.section-head__desc{color:var(--fg-muted);font-size:var(--fs-md);margin:0}
.section--dark .section-head__desc{color:var(--rp-ink-300)}
.eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-size:var(--fs-xs);font-weight:700;color:var(--primary);
  background:var(--primary-soft);border:1px solid var(--rp-blue-100);padding:.3rem .8rem;border-radius:var(--r-full);margin-bottom:1rem}
.section--dark .eyebrow{background:rgba(46,91,255,.14);border-color:rgba(92,131,255,.28);color:var(--rp-blue-300)}
.text-gradient{background:var(--text-gradient);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-box-decoration-break:clone;box-decoration-break:clone}

/* =========================================================
   4. Components
   ========================================================= */

/* 4.1 Icons */
.icon{width:1.25em;height:1.25em;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.icon--sm{width:1em;height:1em}.icon--lg{width:1.5em;height:1.5em}
.icon--flip{transform:scaleX(-1)}
.icon-tile{--tile:48px;width:var(--tile);height:var(--tile);border-radius:var(--r);display:grid;place-items:center;
  background:var(--primary-soft);color:var(--primary);border:1px solid var(--rp-blue-100);flex:none}
.icon-tile .icon{width:24px;height:24px}
.icon-tile--mint{background:var(--accent-soft);color:var(--rp-mint-700);border-color:var(--rp-mint-100)}
.icon-tile--ink{background:var(--rp-ink-900);color:#fff;border-color:var(--rp-ink-800)}
.icon-tile--gradient{background:var(--brand-gradient);color:#fff;border:0;box-shadow:var(--shadow-glow)}

/* 4.2 Buttons */
.btn{--btn-h:44px;--btn-px:1.15rem;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  height:var(--btn-h);padding-inline:var(--btn-px);border-radius:var(--r);border:1px solid transparent;
  font-weight:700;font-size:var(--fs-sm);line-height:1;white-space:nowrap;text-decoration:none;cursor:pointer;user-select:none;
  transition:background-color var(--dur-2) var(--ease),color var(--dur-2) var(--ease),border-color var(--dur-2) var(--ease),box-shadow var(--dur-2) var(--ease),transform var(--dur-1) var(--ease)}
.btn:active{transform:translateY(1px) scale(.985)}
.btn:focus-visible{outline:none;box-shadow:var(--ring)}
.btn[disabled],.btn.is-disabled{opacity:.55;pointer-events:none}
.btn .icon{width:18px;height:18px}
.btn--sm{--btn-h:36px;--btn-px:.85rem;font-size:var(--fs-xs);border-radius:var(--r-sm)}
.btn--lg{--btn-h:54px;--btn-px:1.6rem;font-size:var(--fs-base);border-radius:var(--r-md)}
.btn--block{width:100%}
.btn--icon{--btn-px:0;width:var(--btn-h)}
.btn--primary{background:var(--primary);color:var(--primary-fg);box-shadow:0 1px 0 rgba(255,255,255,.18) inset,0 6px 16px -6px rgba(46,91,255,.7)}
.btn--primary:hover{background:var(--primary-hover);color:#fff;box-shadow:0 1px 0 rgba(255,255,255,.18) inset,0 10px 24px -8px rgba(46,91,255,.8)}
.btn--dark{background:var(--rp-ink-900);color:#fff}
.btn--dark:hover{background:var(--rp-ink-800);color:#fff}
.btn--secondary{background:var(--bg-muted);color:var(--fg)}
.btn--secondary:hover{background:var(--rp-ink-150);color:var(--fg)}
.btn--outline{background:var(--bg);color:var(--fg);border-color:var(--border-strong);box-shadow:var(--shadow-xs)}
.btn--outline:hover{border-color:var(--rp-ink-300);background:var(--bg-subtle);color:var(--fg)}
.btn--ghost{background:transparent;color:var(--fg-soft)}
.btn--ghost:hover{background:var(--bg-muted);color:var(--fg)}
.btn--light{background:#fff;color:var(--rp-ink-900)}
.btn--light:hover{background:var(--rp-ink-100);color:var(--rp-ink-900)}
.btn--glass{background:rgba(255,255,255,.06);color:#fff;border-color:rgba(255,255,255,.14);backdrop-filter:blur(8px)}
.btn--glass:hover{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.24)}
.btn--success{background:var(--rp-mint-500);color:#04281F}
.btn--success:hover{background:var(--rp-mint-400);color:#04281F}
/* Shimmer (Magic UI-inspired) */
.btn--shimmer{overflow:hidden;isolation:isolate}
.btn--shimmer::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.35) 48%,transparent 66%);
  transform:translateX(120%);animation:rp-shimmer 3.2s var(--ease) infinite}
@keyframes rp-shimmer{0%,40%{transform:translateX(120%)}100%{transform:translateX(-120%)}}
/* Arrow nudge — arrows point "forward" (left in RTL) */
.btn .icon--arrow{transition:transform var(--dur-2) var(--ease)}
.btn:hover .icon--arrow{transform:translateX(-3px)}
/* Loading state */
.btn.is-loading{color:transparent!important;pointer-events:none}
.btn.is-loading::before{content:"";position:absolute;width:18px;height:18px;border-radius:50%;border:2px solid currentColor;border-color:#fff #fff transparent transparent;animation:rp-spin .7s linear infinite}
.btn--outline.is-loading::before,.btn--secondary.is-loading::before{border-color:var(--fg) var(--fg) transparent transparent}
@keyframes rp-spin{to{transform:rotate(360deg)}}

/* 4.3 Badges */
.badge{display:inline-flex;align-items:center;gap:.35rem;height:26px;padding-inline:.65rem;border-radius:var(--r-full);font-size:var(--fs-2xs);font-weight:700;
  background:var(--bg-muted);color:var(--fg-soft);border:1px solid var(--border);white-space:nowrap}
.badge .icon{width:14px;height:14px}
.badge--primary{background:var(--primary-soft);color:var(--rp-blue-700);border-color:var(--rp-blue-100)}
.badge--success{background:var(--accent-soft);color:var(--rp-mint-700);border-color:var(--rp-mint-100)}
.badge--warning{background:var(--rp-amber-50);color:var(--rp-amber-700);border-color:#FDE7B5}
.badge--danger{background:var(--rp-red-50);color:var(--rp-red-700);border-color:#FBD0D0}
.badge--dark{background:var(--rp-ink-900);color:#fff;border-color:var(--rp-ink-900)}
.badge--glass{background:rgba(255,255,255,.06);color:var(--rp-ink-200);border-color:rgba(255,255,255,.12)}
.badge--lg{height:32px;padding-inline:.9rem;font-size:var(--fs-xs)}
.dot{width:8px;height:8px;border-radius:50%;background:currentColor;position:relative;flex:none}
.dot--live{background:var(--rp-mint-400);color:var(--rp-mint-400)}
.dot--live::after{content:"";position:absolute;inset:0;border-radius:50%;background:inherit;animation:rp-ping 1.6s var(--ease) infinite}
@keyframes rp-ping{0%{transform:scale(1);opacity:.7}80%,100%{transform:scale(2.6);opacity:0}}

/* 4.4 Cards */
.card{position:relative;background:var(--bg);border:1px solid var(--border);border-radius:var(--r-lg);padding:clamp(20px,2.4vw,28px);
  box-shadow:var(--shadow-xs);transition:border-color var(--dur-3) var(--ease),box-shadow var(--dur-3) var(--ease),transform var(--dur-3) var(--ease)}
.card--hover:hover{border-color:var(--rp-blue-200);box-shadow:var(--shadow-md);transform:translateY(-3px)}
.card--flat{box-shadow:none;background:var(--bg-subtle)}
.card--dark{background:var(--rp-ink-850);border-color:rgba(255,255,255,.08);color:var(--rp-ink-300)}
.card__title{font-size:var(--fs-lg);margin:0 0 .4rem}
.card__text{color:var(--fg-muted);font-size:var(--fs-sm);margin:0}
.card__link{position:static}
.card__link::after{content:"";position:absolute;inset:0;border-radius:inherit;z-index:1}
/* Spotlight (pointer-follow glow) */
.spotlight{--mx:50%;--my:50%;overflow:hidden;isolation:isolate}
.spotlight::before{content:"";position:absolute;inset:0;z-index:-1;opacity:0;transition:opacity var(--dur-3) var(--ease);
  background:radial-gradient(420px circle at var(--mx) var(--my),rgba(46,91,255,.10),transparent 45%)}
.spotlight:hover::before{opacity:1}
.section--dark .spotlight::before{background:radial-gradient(420px circle at var(--mx) var(--my),rgba(92,131,255,.18),transparent 45%)}
/* Border beam (Magic UI-inspired) */
@property --beam-angle{syntax:"<angle>";initial-value:0deg;inherits:false}
.beam{position:relative;isolation:isolate}
.beam::after{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1.5px;pointer-events:none;z-index:2;
  background:conic-gradient(from var(--beam-angle),transparent 0 70%,var(--rp-blue-400) 82%,var(--rp-mint-300) 90%,transparent 96%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;
  animation:rp-beam 5s linear infinite}
@keyframes rp-beam{to{--beam-angle:360deg}}

/* 4.5 Forms */
.field{display:grid;gap:.45rem;margin-bottom:1.1rem}
.label{font-size:var(--fs-sm);font-weight:700;color:var(--fg)}
.label .req{color:var(--rp-red-500);margin-inline-start:.15rem}
.label .opt{color:var(--fg-muted);font-weight:500;font-size:var(--fs-xs);margin-inline-start:.25rem}
.input,.select,.textarea{width:100%;height:46px;padding-inline:.9rem;border-radius:var(--r);border:1px solid var(--border-strong);background:var(--bg);
  font-size:var(--fs-sm);transition:border-color var(--dur-2) var(--ease),box-shadow var(--dur-2) var(--ease);box-shadow:var(--shadow-xs)}
.textarea{height:auto;min-height:110px;padding-block:.75rem;resize:vertical;line-height:1.8}
.select{appearance:none;padding-inline-end:2.4rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2356647F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-size:18px;background-position:left .8rem center}
.input::placeholder,.textarea::placeholder{color:var(--rp-ink-400)}
.input:hover,.select:hover,.textarea:hover{border-color:var(--rp-ink-300)}
.input:focus,.select:focus,.textarea:focus{border-color:var(--primary);box-shadow:var(--ring)}
.input[dir="ltr"]{text-align:left;font-family:var(--font-latin)}
.field.has-error .input,.field.has-error .select,.field.has-error .textarea{border-color:var(--rp-red-500);box-shadow:0 0 0 3px rgba(239,68,68,.15)}
.help{font-size:var(--fs-xs);color:var(--fg-muted);margin:0}
.error-msg{font-size:var(--fs-xs);color:var(--rp-red-700);margin:0;display:none}
.field.has-error .error-msg{display:block}
.input-group{position:relative}
.input-group .icon{position:absolute;inset-inline-start:.85rem;top:50%;translate:0 -50%;color:var(--rp-ink-400);width:18px;height:18px;pointer-events:none}
.input-group .input{padding-inline-start:2.6rem}
/* checkbox & radio */
.check{display:flex;gap:.65rem;align-items:flex-start;font-size:var(--fs-sm);cursor:pointer;line-height:1.7}
.check input{appearance:none;flex:none;width:20px;height:20px;margin-top:.2rem;border:1.5px solid var(--rp-ink-300);border-radius:6px;background:var(--bg);display:grid;place-items:center;transition:all var(--dur-2) var(--ease)}
.check input[type=radio]{border-radius:50%}
.check input:checked{background:var(--primary);border-color:var(--primary)}
.check input:checked::after{content:"";width:10px;height:6px;border:2px solid #fff;border-top:0;border-inline-end:0;transform:translateY(-1px) rotate(-45deg)}
.check input[type=radio]:checked::after{width:8px;height:8px;border:0;border-radius:50%;background:#fff;transform:none}
.check input:focus-visible{box-shadow:var(--ring)}
/* Option tiles (radio cards) */
.tiles{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
.tile{position:relative;display:flex;flex-direction:column;gap:.5rem;padding:1rem;border:1.5px solid var(--border-strong);border-radius:var(--r-md);background:var(--bg);cursor:pointer;
  transition:border-color var(--dur-2) var(--ease),background var(--dur-2) var(--ease),box-shadow var(--dur-2) var(--ease)}
.tile:hover{border-color:var(--rp-blue-300)}
.tile input{position:absolute;opacity:0;pointer-events:none}
.tile__icon{color:var(--fg-soft)}
.tile__title{font-weight:700;font-size:var(--fs-sm)}
.tile__desc{font-size:var(--fs-2xs);color:var(--fg-muted);line-height:1.6}
.tile:has(input:checked){border-color:var(--primary);background:var(--primary-soft);box-shadow:0 0 0 3px rgba(46,91,255,.12)}
.tile:has(input:checked) .tile__icon{color:var(--primary)}
.tile:has(input:focus-visible){box-shadow:var(--ring)}
.tile::after{content:"";position:absolute;top:.75rem;inset-inline-end:.75rem;width:18px;height:18px;border-radius:50%;border:1.5px solid var(--rp-ink-300);transition:all var(--dur-2) var(--ease)}
.tile:has(input:checked)::after{border:5px solid var(--primary);background:#fff}
/* File drop */
.dropzone{position:relative;display:grid;place-items:center;gap:.4rem;text-align:center;padding:1.6rem 1rem;border:1.5px dashed var(--rp-ink-300);border-radius:var(--r-md);background:var(--bg-subtle);transition:all var(--dur-2) var(--ease);cursor:pointer}
.dropzone:hover,.dropzone.is-over{border-color:var(--primary);background:var(--primary-soft)}
.dropzone input{position:absolute;inset:0;opacity:0;cursor:pointer}
.dropzone__title{font-weight:700;font-size:var(--fs-sm)}
.dropzone__hint{font-size:var(--fs-2xs);color:var(--fg-muted)}
.file-list{display:grid;gap:.5rem;margin-top:.75rem}
.file-chip{display:flex;align-items:center;gap:.6rem;padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--r);font-size:var(--fs-xs);background:var(--bg)}
.file-chip img{width:36px;height:36px;object-fit:cover;border-radius:6px}
.file-chip span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;direction:ltr;text-align:right}
.file-chip button{border:0;background:none;color:var(--fg-muted);padding:.25rem;border-radius:6px}
.file-chip button:hover{color:var(--rp-red-500);background:var(--rp-red-50)}

/* 4.6 Alerts / callouts */
.alert{display:flex;gap:.75rem;padding:1rem 1.1rem;border-radius:var(--r-md);border:1px solid var(--border);background:var(--bg-subtle);font-size:var(--fs-sm);line-height:1.8}
.alert .icon{margin-top:.2rem;flex:none}
.alert--info{background:var(--primary-soft);border-color:var(--rp-blue-100);color:var(--rp-blue-900)}
.alert--success{background:var(--accent-soft);border-color:var(--rp-mint-100);color:#064E3E}
.alert--warning{background:var(--rp-amber-50);border-color:#FDE7B5;color:#78350F}
.alert--danger{background:var(--rp-red-50);border-color:#FBD0D0;color:#7F1D1D}

/* 4.7 Accordion (native details) */
.accordion{display:grid;gap:.75rem}
.acc{border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg);transition:border-color var(--dur-2) var(--ease),box-shadow var(--dur-2) var(--ease)}
.acc[open]{border-color:var(--rp-blue-200);box-shadow:var(--shadow-sm)}
.acc summary{list-style:none;display:flex;align-items:center;gap:1rem;justify-content:space-between;padding:1.05rem 1.25rem;cursor:pointer;font-weight:700;font-size:var(--fs-md);line-height:1.6}
.acc summary::-webkit-details-marker{display:none}
.acc summary:focus-visible{outline:none;box-shadow:var(--ring);border-radius:var(--r-md)}
.acc__icon{flex:none;width:30px;height:30px;border-radius:var(--r-sm);display:grid;place-items:center;background:var(--bg-muted);color:var(--fg-soft);transition:background var(--dur-2),color var(--dur-2)}
.acc__icon .icon{transition:transform var(--dur-3) var(--ease)}
.acc[open] .acc__icon{background:var(--primary);color:#fff}
.acc[open] .acc__icon .icon{transform:rotate(45deg)}
.acc::details-content{block-size:0;overflow:hidden;transition:block-size var(--dur-3) var(--ease),content-visibility var(--dur-3) allow-discrete}
.acc[open]::details-content{block-size:auto}
.acc__body{padding:0 1.25rem 1.2rem;color:var(--fg-soft);font-size:var(--fs-sm);line-height:2}
.acc__body p:last-child{margin:0}

/* 4.8 Tabs / segmented */
.segmented{display:inline-flex;padding:4px;gap:4px;border-radius:var(--r);background:var(--bg-muted);border:1px solid var(--border)}
.segmented button{border:0;background:none;padding:.5rem 1rem;border-radius:var(--r-sm);font-size:var(--fs-sm);font-weight:700;color:var(--fg-muted)}
.segmented button[aria-pressed="true"],.segmented button[aria-selected="true"]{background:var(--bg);color:var(--fg);box-shadow:var(--shadow-sm)}

/* 4.9 Avatar / monogram */
.monogram{--s:56px;width:var(--s);height:var(--s);border-radius:var(--r);display:grid;place-items:center;font-family:var(--font-latin);font-weight:800;font-size:calc(var(--s)*.32);letter-spacing:-.02em;
  color:var(--rp-blue-700);background:linear-gradient(145deg,var(--rp-blue-50),#fff);border:1px solid var(--rp-blue-100);text-transform:uppercase;flex:none}
.monogram img{width:78%;height:78%;object-fit:contain}
.avatar{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-weight:800;color:#fff;background:var(--brand-gradient);flex:none}

/* 4.10 Breadcrumbs */
.breadcrumbs{font-size:var(--fs-xs);color:var(--fg-muted)}
.breadcrumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}
.breadcrumbs li{display:inline-flex;align-items:center;gap:.35rem}
.breadcrumbs li+li::before{content:"/";opacity:.45;margin-inline-end:.15rem}
.breadcrumbs a{color:inherit}.breadcrumbs a:hover{color:var(--primary)}
.breadcrumbs [aria-current]{color:var(--fg);font-weight:600}
.section--dark .breadcrumbs,.page-hero--dark .breadcrumbs{color:var(--rp-ink-400)}
.page-hero--dark .breadcrumbs [aria-current]{color:#fff}

/* 4.11 Pagination */
.pagination{display:flex;justify-content:center;margin-top:3rem}
.pagination .nav-links{display:flex;gap:.4rem;flex-wrap:wrap}
.pagination .page-numbers{min-width:42px;height:42px;padding-inline:.75rem;display:grid;place-items:center;border-radius:var(--r);border:1px solid var(--border);color:var(--fg-soft);font-weight:700;font-size:var(--fs-sm)}
.pagination .page-numbers:hover{border-color:var(--rp-ink-300);color:var(--fg)}
.pagination .page-numbers.current{background:var(--rp-ink-900);border-color:var(--rp-ink-900);color:#fff}

/* 4.12 Tooltip-ish kbd & divider */
.divider-text{display:flex;align-items:center;gap:1rem;color:var(--fg-muted);font-size:var(--fs-xs)}
.divider-text::before,.divider-text::after{content:"";flex:1;height:1px;background:var(--border)}

/* =========================================================
   5. Decorative backgrounds (Magic UI-inspired, CSS only)
   ========================================================= */
.bg-grid{position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:linear-gradient(to right,rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.06) 1px,transparent 1px);
  background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 30%,#000 30%,transparent 75%);mask-image:radial-gradient(ellipse 70% 60% at 50% 30%,#000 30%,transparent 75%)}
.bg-grid--light{background-image:linear-gradient(to right,rgba(11,18,36,.055) 1px,transparent 1px),linear-gradient(to bottom,rgba(11,18,36,.055) 1px,transparent 1px)}
.bg-dots{position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(rgba(11,18,36,.12) 1px,transparent 1px);background-size:20px 20px;
  -webkit-mask-image:radial-gradient(ellipse 60% 60% at 50% 50%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse 60% 60% at 50% 50%,#000 20%,transparent 75%)}
.glow{position:absolute;z-index:-1;pointer-events:none;border-radius:50%;filter:blur(80px);opacity:.55}
.glow--blue{background:#2E5BFF}.glow--mint{background:#14C79A}
.noise{position:absolute;inset:0;z-index:-1;opacity:.04;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)'/%3E%3C/svg%3E")}

/* =========================================================
   6. Header & navigation
   ========================================================= */
.topbar{background:var(--rp-ink-950);color:var(--rp-ink-300);font-size:var(--fs-xs)}
.topbar .container{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:38px}
.topbar a{color:var(--rp-ink-200)}.topbar a:hover{color:#fff}
.topbar__items{display:flex;gap:1.25rem;align-items:center}
.topbar__items span,.topbar__items a{display:inline-flex;align-items:center;gap:.4rem}
.topbar .icon{width:15px;height:15px;opacity:.8}
@media (max-width:768px){.topbar__hide-sm{display:none!important}}

.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.82);-webkit-backdrop-filter:saturate(1.6) blur(14px);backdrop-filter:saturate(1.6) blur(14px);
  border-bottom:1px solid transparent;transition:border-color var(--dur-3) var(--ease),box-shadow var(--dur-3) var(--ease),background var(--dur-3)}
.site-header.is-scrolled{border-bottom-color:var(--border);box-shadow:0 6px 24px -12px rgba(11,18,36,.12);background:rgba(255,255,255,.92)}
.admin-bar .site-header{top:32px}
@media (max-width:782px){.admin-bar .site-header{top:0}}
.header__inner{display:flex;align-items:center;gap:1.5rem;height:var(--header-h)}
.brand{display:inline-flex;align-items:center;gap:.65rem;color:var(--fg);flex:none}
.brand:hover{color:var(--fg)}
.brand__mark{width:40px;height:40px}
.brand__text{display:grid;line-height:1.1}
.brand__name{font-weight:800;font-size:1.3rem;letter-spacing:-.01em}
.brand__tag{font-family:var(--font-latin);font-size:.68rem;color:var(--fg-muted);font-weight:600;letter-spacing:.02em;direction:ltr;text-align:right}
.custom-logo{max-height:44px;width:auto}
.nav{flex:1;display:flex;justify-content:center}
.menu{list-style:none;display:flex;align-items:center;gap:.15rem}
.menu>li{position:relative}
.menu a{display:inline-flex;align-items:center;gap:.35rem;padding:.55rem .85rem;border-radius:var(--r-sm);color:var(--fg-soft);font-weight:600;font-size:var(--fs-sm)}
.menu a:hover,.menu .current-menu-item>a,.menu .current-menu-ancestor>a,.menu .current_page_item>a{color:var(--fg);background:var(--bg-muted)}
.menu .menu-item-has-children>a::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);opacity:.6}
.menu .sub-menu{list-style:none;position:absolute;top:calc(100% + 8px);inset-inline-start:0;min-width:240px;padding:.5rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-lg);
  opacity:0;visibility:hidden;transform:translateY(6px);transition:all var(--dur-2) var(--ease);z-index:20}
.menu .sub-menu::before{content:"";position:absolute;inset-inline:0;top:-10px;height:10px}
.menu li:hover>.sub-menu,.menu li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}
.menu .sub-menu a{display:flex;width:100%;padding:.6rem .75rem}
.header__actions{display:flex;align-items:center;gap:.5rem;flex:none}
.header__phone{display:inline-flex;align-items:center;gap:.5rem;color:var(--fg);font-weight:700;font-size:var(--fs-sm);padding-inline:.5rem}
.header__phone .icon-tile{--tile:36px;border-radius:var(--r-sm)}
.header__phone .icon-tile .icon{width:18px;height:18px}
.header__phone small{display:block;font-size:.68rem;color:var(--fg-muted);font-weight:500;line-height:1.2}
.nav-toggle{display:none}
@media (max-width:1100px){.header__phone{display:none}}
@media (max-width:960px){
  .nav{display:none}
  .nav-toggle{display:inline-flex}
  .header__cta-text{display:none}
  .header__inner{justify-content:space-between}
}
@media (max-width:480px){.header__actions .btn--primary{--btn-px:.85rem}.brand__tag{display:none}}

/* Mobile drawer */
.drawer{position:fixed;inset:0;z-index:200;visibility:hidden}
.drawer.is-open{visibility:visible}
.drawer__overlay{position:absolute;inset:0;background:rgba(6,10,22,.5);backdrop-filter:blur(2px);opacity:0;transition:opacity var(--dur-3) var(--ease)}
.drawer.is-open .drawer__overlay{opacity:1}
.drawer__panel{position:absolute;top:0;bottom:0;inset-inline-start:0;width:min(88vw,380px);background:var(--bg);display:flex;flex-direction:column;
  transform:translateX(100%);transition:transform var(--dur-3) var(--ease);box-shadow:var(--shadow-lg)}
.drawer.is-open .drawer__panel{transform:none}
.drawer__head{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}
.drawer__body{flex:1;overflow:auto;padding:1rem 1.25rem}
.drawer__foot{padding:1rem 1.25rem;border-top:1px solid var(--border);display:grid;gap:.6rem}
.mobile-menu{list-style:none}
.mobile-menu li{border-bottom:1px solid var(--border)}
.mobile-menu a{display:flex;padding:.9rem .25rem;color:var(--fg);font-weight:700}
.mobile-menu .sub-menu{list-style:none;padding:0 1rem .5rem}
.mobile-menu .sub-menu li{border:0}
.mobile-menu .sub-menu a{padding:.5rem .25rem;font-weight:500;color:var(--fg-soft)}

/* Mobile sticky action bar */
.mobile-bar{display:none}
@media (max-width:768px){
  .mobile-bar{display:grid;grid-template-columns:auto 1fr;gap:.5rem;position:fixed;inset-inline:12px;bottom:12px;z-index:90;padding:.5rem;border-radius:var(--r-lg);
    background:rgba(11,18,36,.92);backdrop-filter:blur(12px);box-shadow:var(--shadow-lg);transform:translateY(140%);transition:transform var(--dur-3) var(--ease)}
  .mobile-bar.is-visible{transform:none}
  body.has-mobile-bar .site-footer{padding-bottom:84px}
}

/* =========================================================
   7. Hero
   ========================================================= */
.hero{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(1200px 600px at 80% -10%,#16245A 0%,transparent 60%),var(--rp-ink-950);color:var(--rp-ink-300);padding-block:clamp(56px,8vw,104px) clamp(64px,9vw,120px)}
.hero .glow--blue{width:520px;height:520px;top:-200px;inset-inline-start:-120px;opacity:.35}
.hero .glow--mint{width:380px;height:380px;bottom:-220px;inset-inline-end:10%;opacity:.25}
.hero__grid{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(32px,5vw,72px);align-items:center}
.hero__title{font-size:var(--fs-display);color:#fff;font-weight:800;line-height:1.22;letter-spacing:-.02em;margin:1.1rem 0 1.1rem}
.hero__title .text-gradient{background:linear-gradient(100deg,#8DA9FF 0%,#5C83FF 35%,#2FD6A9 100%);-webkit-background-clip:text;background-clip:text}
.hero__lead{font-size:var(--fs-lg);color:var(--rp-ink-300);max-width:560px;margin-bottom:2rem;line-height:1.95}
.hero__cta{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:2rem}
.hero__trust{display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;list-style:none;font-size:var(--fs-sm);color:var(--rp-ink-300)}
.hero__trust li{display:inline-flex;align-items:center;gap:.45rem}
.hero__trust .icon{color:var(--rp-mint-400);width:18px;height:18px}
.hero__visual{position:relative}
@media (max-width:960px){.hero__grid{grid-template-columns:1fr}.hero__visual{max-width:520px;margin-inline:auto;width:100%}}

/* Hero visual: recovery ticket */
.ticket{position:relative;border-radius:var(--r-xl);background:linear-gradient(180deg,rgba(20,30,56,.92),rgba(11,18,36,.96));border:1px solid rgba(255,255,255,.08);
  box-shadow:0 40px 80px -30px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.02) inset;padding:1.25rem;color:var(--rp-ink-300);font-size:var(--fs-sm)}
.ticket__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.07)}
.ticket__id{display:flex;align-items:center;gap:.75rem}
.ticket__id strong{display:block;color:#fff;font-size:var(--fs-base)}
.ticket__id small{font-family:var(--font-latin);color:var(--rp-ink-400);font-size:var(--fs-2xs);direction:ltr;display:block;text-align:right}
.ticket__specs{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin:1rem 0}
.ticket__spec{background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.06);border-radius:var(--r);padding:.6rem .7rem}
.ticket__spec span{display:block;font-size:var(--fs-2xs);color:var(--rp-ink-400)}
.ticket__spec b{display:block;color:#fff;font-family:var(--font-latin);font-weight:700;font-size:var(--fs-xs);direction:ltr;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ticket__steps{list-style:none;display:grid;gap:.5rem}
.ticket__step{display:flex;align-items:center;gap:.7rem;padding:.6rem .7rem;border-radius:var(--r);background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.04);
  opacity:.45;animation:rp-step 9s var(--ease) infinite;animation-delay:calc(var(--i)*1.2s)}
.ticket__step i{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;border:1.5px solid rgba(255,255,255,.18);flex:none;font-style:normal}
.ticket__step i .icon{width:14px;height:14px;color:#04281F;opacity:0;animation:rp-step-icon 9s var(--ease) infinite;animation-delay:calc(var(--i)*1.2s)}
.ticket__step em{margin-inline-start:auto;font-style:normal;font-size:var(--fs-2xs);color:var(--rp-ink-400)}
@keyframes rp-step{0%,4%{opacity:.45}8%,88%{opacity:1;border-color:rgba(47,214,169,.18);background:rgba(47,214,169,.05)}96%,100%{opacity:.45}}
@keyframes rp-step-icon{0%,4%{opacity:0}8%,88%{opacity:1}96%,100%{opacity:0}}
.ticket__step i{animation:rp-step-dot 9s var(--ease) infinite;animation-delay:calc(var(--i)*1.2s)}
@keyframes rp-step-dot{0%,4%{background:transparent;border-color:rgba(255,255,255,.18)}8%,88%{background:var(--rp-mint-400);border-color:var(--rp-mint-400)}96%,100%{background:transparent}}
.ticket__result{margin-top:1rem;padding:1rem;border-radius:var(--r-md);background:linear-gradient(135deg,rgba(46,91,255,.18),rgba(20,199,154,.14));border:1px solid rgba(92,131,255,.25);
  display:flex;align-items:center;justify-content:space-between;gap:1rem}
.ticket__result span{display:block;font-size:var(--fs-2xs);color:var(--rp-ink-300)}
.ticket__result b{font-size:var(--fs-base);color:#fff}
.ticket__code{font-family:var(--font-mono);direction:ltr;font-size:1.05rem;letter-spacing:.18em;color:#fff;background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.1);border-radius:var(--r-sm);padding:.45rem .7rem;position:relative;overflow:hidden}
.ticket__code::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);transform:translateX(-100%);animation:rp-scan 2.4s var(--ease) infinite}
@keyframes rp-scan{to{transform:translateX(100%)}}
.hero__float{position:absolute;display:flex;align-items:center;gap:.6rem;padding:.6rem .85rem;border-radius:var(--r-md);background:rgba(255,255,255,.96);color:var(--rp-ink-900);box-shadow:var(--shadow-lg);font-size:var(--fs-xs);font-weight:700;
  animation:rp-float 6s ease-in-out infinite}
.hero__float small{display:block;font-weight:500;color:var(--fg-muted);font-size:var(--fs-2xs)}
.hero__float--a{top:-26px;inset-inline-end:26%}
.hero__float--b{bottom:-56px;inset-inline-start:8%;animation-delay:-3s}
@keyframes rp-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@media (max-width:560px){.hero__float{display:none}.ticket__specs{grid-template-columns:1fr 1fr}.ticket__spec:last-child{grid-column:span 2}}

/* =========================================================
   8. Marquee (brands)
   ========================================================= */
.logos{padding-block:2.25rem;border-bottom:1px solid var(--border);background:var(--bg)}
.logos__title{text-align:center;font-size:var(--fs-sm);color:var(--fg-muted);margin-bottom:1.25rem}
.marquee{--gap:1rem;--duration:40s;display:flex;overflow:hidden;gap:var(--gap);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.marquee__track{display:flex;flex:none;gap:var(--gap);min-width:100%;justify-content:space-around;animation:rp-marquee var(--duration) linear infinite}
.marquee:hover .marquee__track{animation-play-state:paused}
.marquee--reverse .marquee__track{animation-direction:reverse}
@keyframes rp-marquee{from{transform:translateX(0)}to{transform:translateX(calc(100% + var(--gap)))}}
.logo-chip{display:inline-flex;align-items:center;gap:.6rem;height:52px;padding-inline:1.1rem;border-radius:var(--r-md);border:1px solid var(--border);background:var(--bg);
  color:var(--rp-ink-600);font-family:var(--font-latin);font-weight:800;font-size:1rem;letter-spacing:.02em;white-space:nowrap;transition:all var(--dur-2) var(--ease)}
.logo-chip:hover{color:var(--primary);border-color:var(--rp-blue-200)}
.logo-chip img{height:22px;width:auto;filter:grayscale(1);opacity:.75}
.logo-chip:hover img{filter:none;opacity:1}

/* =========================================================
   9. Services — bento
   ========================================================= */
.bento{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(14px,1.6vw,20px)}
.bento>*{grid-column:span 2}
.bento>.bento--wide{grid-column:span 4}
.bento>.bento--half{grid-column:span 3}
@media (max-width:1024px){.bento{grid-template-columns:repeat(2,minmax(0,1fr))}.bento>*,.bento>.bento--half{grid-column:span 1}.bento>.bento--wide{grid-column:span 2}}
@media (max-width:640px){.bento{grid-template-columns:1fr}.bento>*,.bento>.bento--wide,.bento>.bento--half{grid-column:span 1}}
.service{display:flex;flex-direction:column;gap:1rem;min-height:220px}
.service__title{font-size:var(--fs-lg);margin:0}
.service__text{color:var(--fg-muted);font-size:var(--fs-sm);margin:0;flex:1}
.service__more{display:inline-flex;align-items:center;gap:.35rem;font-weight:700;font-size:var(--fs-sm);color:var(--primary)}
.service__more .icon{width:16px;height:16px;transition:transform var(--dur-2) var(--ease)}
.service:hover .service__more .icon{transform:translateX(-4px)}
.service--feature{background:var(--rp-ink-900);border-color:var(--rp-ink-800);color:var(--rp-ink-300);overflow:hidden}
.service--feature .service__title{color:#fff;font-size:var(--fs-xl)}
.service--feature .service__text{color:var(--rp-ink-300)}
.service--feature .service__more{color:var(--rp-mint-300)}
.service__tags{display:flex;flex-wrap:wrap;gap:.4rem}
.service__visual{position:absolute;inset-inline-end:-30px;bottom:-30px;width:240px;opacity:.9;pointer-events:none}
@media (max-width:640px){.service__visual{display:none}}

/* =========================================================
   10. Process / steps
   ========================================================= */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,2vw,24px);counter-reset:step;position:relative;list-style:none}
.steps::before{content:"";position:absolute;top:34px;inset-inline:12%;height:2px;background:repeating-linear-gradient(90deg,var(--rp-ink-200) 0 8px,transparent 8px 14px);z-index:0}
.step{position:relative;z-index:1;text-align:center;padding:0 .5rem}
.step__num{width:68px;height:68px;margin:0 auto 1.1rem;border-radius:50%;display:grid;place-items:center;background:var(--bg);border:1px solid var(--border);box-shadow:var(--shadow-md);position:relative}
.step__num .icon{width:28px;height:28px;color:var(--primary)}
.step__num::after{counter-increment:step;content:counter(step,persian);position:absolute;top:-4px;inset-inline-end:-4px;width:26px;height:26px;border-radius:50%;background:var(--brand-gradient);color:#fff;font-size:var(--fs-xs);font-weight:800;display:grid;place-items:center;box-shadow:0 0 0 3px var(--bg)}
.section--subtle .step__num::after{box-shadow:0 0 0 3px var(--bg-subtle)}
.step__title{font-size:var(--fs-md);margin-bottom:.35rem}
.step__text{color:var(--fg-muted);font-size:var(--fs-sm);margin:0;line-height:1.85}
@media (max-width:900px){
  .steps{grid-template-columns:1fr;gap:0}
  .steps::before{top:0;bottom:0;inset-inline-start:33px;inset-inline-end:auto;width:2px;height:auto;background:repeating-linear-gradient(180deg,var(--rp-ink-200) 0 8px,transparent 8px 14px)}
  .step{display:grid;grid-template-columns:68px 1fr;gap:1rem;text-align:start;padding:0 0 1.75rem}
  .step__num{margin:0}
}

/* =========================================================
   11. Stats
   ========================================================= */
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--border);border-radius:var(--r-xl);background:var(--bg);overflow:hidden;box-shadow:var(--shadow-sm)}
.stat{padding:clamp(20px,3vw,32px);text-align:center;position:relative}
.stat+.stat{border-inline-start:1px solid var(--border)}
.stat__value{display:block;font-size:var(--fs-3xl);font-weight:800;color:var(--fg);line-height:1.1;letter-spacing:-.02em}
.stat__value .text-gradient{display:inline-block}
.stat__label{display:block;margin-top:.4rem;color:var(--fg-muted);font-size:var(--fs-sm)}
@media (max-width:768px){.stats{grid-template-columns:repeat(2,1fr)}.stat:nth-child(3){border-inline-start:0}.stat:nth-child(n+3){border-top:1px solid var(--border)}}

/* =========================================================
   12. Pricing
   ========================================================= */
.pricing{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,24px);align-items:stretch}
@media (max-width:960px){.pricing{grid-template-columns:1fr;max-width:480px;margin-inline:auto}}
.plan{display:flex;flex-direction:column;gap:1.25rem;border-radius:var(--r-xl);padding:clamp(24px,2.6vw,32px)}
.plan__name{font-size:var(--fs-lg);margin:0;display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.plan__desc{color:var(--fg-muted);font-size:var(--fs-sm);margin:0;min-height:3.4em}
.plan__price{display:flex;align-items:baseline;gap:.4rem;flex-wrap:wrap}
.plan__price b{font-size:clamp(2rem,1.6rem + 1.4vw,2.6rem);font-weight:800;letter-spacing:-.02em;color:var(--fg);line-height:1}
.plan__price span{color:var(--fg-muted);font-size:var(--fs-sm)}
.plan__price small{flex-basis:100%;color:var(--fg-muted);font-size:var(--fs-xs)}
.plan__features{list-style:none;display:grid;gap:.7rem;font-size:var(--fs-sm);flex:1}
.plan__features li{display:flex;gap:.6rem;align-items:flex-start;line-height:1.7}
.plan__features .icon{color:var(--rp-mint-600);width:18px;height:18px;margin-top:.2rem}
.plan--featured{background:var(--rp-ink-900);border-color:var(--rp-ink-900);color:var(--rp-ink-300);box-shadow:var(--shadow-lg);transform:translateY(-8px)}
.plan--featured .plan__name,.plan--featured .plan__price b{color:#fff}
.plan--featured .plan__desc,.plan--featured .plan__price span,.plan--featured .plan__price small{color:var(--rp-ink-400)}
.plan--featured .plan__features .icon{color:var(--rp-mint-300)}
@media (max-width:960px){.plan--featured{transform:none}}
.estimator{margin-top:clamp(32px,4vw,48px);display:grid;grid-template-columns:1.1fr 1fr;gap:1.5rem;align-items:center;border-radius:var(--r-xl)}
.estimator__form{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.estimator__form .field{margin:0}
.estimator__result{border-radius:var(--r-lg);background:var(--bg-subtle);border:1px dashed var(--border-strong);padding:1.25rem;min-height:120px;display:grid;align-content:center;gap:.35rem}
.estimator__result b{font-size:var(--fs-2xl);font-weight:800}
.estimator__result span{color:var(--fg-muted);font-size:var(--fs-sm)}
@media (max-width:860px){.estimator{grid-template-columns:1fr}.estimator__form{grid-template-columns:1fr}}

/* =========================================================
   13. Feature list / trust
   ========================================================= */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px);align-items:center}
@media (max-width:960px){.split{grid-template-columns:1fr}}
.feature-list{list-style:none;display:grid;gap:1rem}
.feature{display:flex;gap:1rem;align-items:flex-start}
.feature h3{font-size:var(--fs-md);margin:0 0 .25rem}
.feature p{margin:0;color:var(--fg-muted);font-size:var(--fs-sm)}
.section--dark .feature p{color:var(--rp-ink-400)}
.shield-visual{position:relative;aspect-ratio:1/1;max-width:460px;margin-inline:auto;width:100%;display:grid;place-items:center}
.shield-visual__ring{position:absolute;border-radius:50%;border:1px solid rgba(92,131,255,.25)}
.shield-visual__ring:nth-child(1){inset:0}
.shield-visual__ring:nth-child(2){inset:12%;border-color:rgba(92,131,255,.35)}
.shield-visual__ring:nth-child(3){inset:24%;border-color:rgba(47,214,169,.4);border-style:dashed;animation:rp-rot 30s linear infinite}
@keyframes rp-rot{to{transform:rotate(360deg)}}
.shield-visual__core{width:38%;aspect-ratio:1;border-radius:28%;background:var(--brand-gradient);display:grid;place-items:center;box-shadow:0 30px 80px -20px rgba(46,91,255,.7)}
.shield-visual__core svg{width:62%;height:62%}
.orbit-chip{position:absolute;display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .7rem;border-radius:var(--r-full);background:rgba(20,30,56,.9);border:1px solid rgba(255,255,255,.1);color:#fff;font-size:var(--fs-2xs);font-weight:700;white-space:nowrap}
.orbit-chip .icon{width:14px;height:14px;color:var(--rp-mint-300)}

/* =========================================================
   14. Testimonials
   ========================================================= */
.reviews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.6vw,20px)}
@media (max-width:1024px){.reviews{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.reviews{grid-template-columns:1fr}}
.review{display:flex;flex-direction:column;gap:1rem}
.review__stars{display:flex;gap:2px;color:#F5B300}
.review__stars .icon{width:16px;height:16px;fill:currentColor;stroke:none}
.review__stars .is-off{color:var(--rp-ink-200)}
.review__text{margin:0;color:var(--fg-soft);font-size:var(--fs-sm);line-height:2;flex:1}
.review__author{display:flex;align-items:center;gap:.75rem;padding-top:1rem;border-top:1px solid var(--border)}
.review__author b{display:block;font-size:var(--fs-sm)}
.review__author small{display:block;color:var(--fg-muted);font-size:var(--fs-2xs)}
.review__device{margin-inline-start:auto}

/* =========================================================
   15. Partners band
   ========================================================= */
.partners{border-radius:var(--r-2xl);padding:clamp(28px,5vw,64px);background:radial-gradient(800px 400px at 0% 0%,rgba(46,91,255,.35),transparent 60%),radial-gradient(600px 400px at 100% 100%,rgba(20,199,154,.22),transparent 60%),var(--rp-ink-900);
  color:var(--rp-ink-300);position:relative;isolation:isolate;overflow:hidden}
.partners h2{color:#fff;font-size:var(--fs-3xl)}
.partners__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px);align-items:center}
@media (max-width:900px){.partners__grid{grid-template-columns:1fr}}
.perks{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
@media (max-width:520px){.perks{grid-template-columns:1fr}}
.perk{padding:1rem;border-radius:var(--r-md);background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.perk .icon{color:var(--rp-mint-300);margin-bottom:.5rem}
.perk b{display:block;color:#fff;font-size:var(--fs-sm);margin-bottom:.15rem}
.perk span{font-size:var(--fs-xs);color:var(--rp-ink-400);line-height:1.7;display:block}

/* =========================================================
   16. FAQ layout
   ========================================================= */
.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(28px,5vw,64px);align-items:start}
.faq__aside{position:sticky;top:calc(var(--header-h) + 24px)}
@media (max-width:900px){.faq{grid-template-columns:1fr}.faq__aside{position:static}}
.help-card{margin-top:1.5rem;display:flex;gap:1rem;align-items:center}
.help-card b{display:block}
.help-card span{font-size:var(--fs-xs);color:var(--fg-muted)}

/* =========================================================
   17. Posts / blog
   ========================================================= */
.posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,24px)}
@media (max-width:1024px){.posts{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.posts{grid-template-columns:1fr}}
.post-card{display:flex;flex-direction:column;padding:0;overflow:hidden}
.post-card__media{aspect-ratio:16/9;background:var(--bg-muted);overflow:hidden;position:relative}
.post-card__media img{width:100%;height:100%;object-fit:cover;transition:transform var(--dur-4) var(--ease)}
.post-card:hover .post-card__media img{transform:scale(1.04)}
.post-card__placeholder{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(400px 200px at 80% 0%,rgba(46,91,255,.25),transparent),var(--rp-ink-900);color:rgba(255,255,255,.85)}
.post-card__placeholder svg{width:56px;height:56px;opacity:.9}
.post-card__body{padding:1.25rem 1.35rem 1.4rem;display:flex;flex-direction:column;gap:.6rem;flex:1}
.post-card__meta{display:flex;align-items:center;gap:.75rem;font-size:var(--fs-2xs);color:var(--fg-muted);flex-wrap:wrap}
.post-card__meta span{display:inline-flex;align-items:center;gap:.3rem}
.post-card__meta .icon{width:14px;height:14px}
.post-card__title{font-size:var(--fs-md);margin:0;line-height:1.6}
.post-card__title a{color:var(--fg)}
.post-card__title a:hover{color:var(--primary)}
.post-card__excerpt{color:var(--fg-muted);font-size:var(--fs-sm);margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.post-card--lead{grid-column:1/-1;display:grid;grid-template-columns:1.2fr 1fr}
.post-card--lead .post-card__media{aspect-ratio:auto;min-height:320px}
.post-card--lead .post-card__body{padding:clamp(24px,3vw,40px);justify-content:center}
.post-card--lead .post-card__title{font-size:var(--fs-2xl);line-height:1.45}
@media (max-width:860px){.post-card--lead{grid-template-columns:1fr}.post-card--lead .post-card__media{min-height:0;aspect-ratio:16/9}}
.chips{display:flex;flex-wrap:wrap;gap:.5rem}
.chip{display:inline-flex;align-items:center;gap:.4rem;height:36px;padding-inline:.9rem;border-radius:var(--r-full);border:1px solid var(--border);background:var(--bg);color:var(--fg-soft);font-size:var(--fs-xs);font-weight:700;cursor:pointer;transition:all var(--dur-2) var(--ease)}
.chip:hover{border-color:var(--rp-ink-300);color:var(--fg)}
.chip.is-active,.chip[aria-pressed="true"]{background:var(--rp-ink-900);border-color:var(--rp-ink-900);color:#fff}
.chip small{opacity:.6;font-weight:600}

/* =========================================================
   18. Page hero (inner pages)
   ========================================================= */
.page-hero{position:relative;isolation:isolate;overflow:hidden;padding-block:clamp(40px,6vw,72px) clamp(36px,5vw,56px);background:var(--bg-subtle);border-bottom:1px solid var(--border)}
.page-hero__title{font-size:var(--fs-3xl);margin:.75rem 0 .5rem}
.page-hero__desc{color:var(--fg-muted);font-size:var(--fs-md);max-width:680px;margin:0}
.page-hero--dark{background:radial-gradient(900px 400px at 85% -20%,#16245A,transparent 60%),var(--rp-ink-950);border-color:var(--rp-ink-900);color:var(--rp-ink-300)}
.page-hero--dark .page-hero__title{color:#fff}
.page-hero--dark .page-hero__desc{color:var(--rp-ink-300)}
.page-hero__meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.25rem}

/* =========================================================
   19. Article (single) & prose
   ========================================================= */
.reading-progress{position:fixed;top:0;inset-inline:0;height:3px;z-index:300;background:transparent;pointer-events:none}
.reading-progress span{display:block;height:100%;width:100%;background:var(--brand-gradient);transform-origin:right;transform:scaleX(var(--p,0))}
.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(28px,4vw,56px);align-items:start}
.article-layout--full{grid-template-columns:minmax(0,1fr)}
@media (max-width:1024px){.article-layout{grid-template-columns:1fr}}
.article-aside{position:sticky;top:calc(var(--header-h) + 24px);display:grid;gap:1rem}
@media (max-width:1024px){.article-aside{position:static}}
.toc{font-size:var(--fs-sm)}
.toc__title{font-weight:800;font-size:var(--fs-sm);margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem}
.toc ol{list-style:none;display:grid;gap:.15rem;border-inline-start:2px solid var(--border)}
.toc a{display:block;padding:.35rem .9rem;color:var(--fg-muted);margin-inline-start:-2px;border-inline-start:2px solid transparent;line-height:1.6}
.toc a:hover{color:var(--fg)}
.toc a.is-active{color:var(--primary);border-inline-start-color:var(--primary);font-weight:700}
.toc .toc-h3 a{padding-inline-start:1.7rem;font-size:var(--fs-xs)}
.article-cover{border-radius:var(--r-xl);overflow:hidden;margin-bottom:2rem;border:1px solid var(--border)}
.article-cover img{width:100%}
.prose{font-size:var(--fs-md);line-height:2.05;color:var(--fg-soft)}
.prose>*+*{margin-top:1.15em}
.prose h2{font-size:var(--fs-2xl);margin:2em 0 .7em;color:var(--fg)}
.prose h3{font-size:var(--fs-xl);margin:1.7em 0 .6em;color:var(--fg)}
.prose h4{font-size:var(--fs-lg);margin:1.5em 0 .5em}
.prose p{margin:0}
.prose a{text-decoration:underline;text-decoration-color:var(--rp-blue-200);text-underline-offset:4px;text-decoration-thickness:1.5px}
.prose a:hover{text-decoration-color:var(--primary)}
.prose ul,.prose ol{padding-inline-start:1.4rem}
.prose li+li{margin-top:.4em}
.prose li::marker{color:var(--primary)}
.prose img,.prose figure{border-radius:var(--r-lg)}
.prose figure{margin-inline:0}
.prose figcaption{text-align:center;font-size:var(--fs-xs);color:var(--fg-muted);margin-top:.6rem}
.prose blockquote{margin-inline:0;padding:1.1rem 1.4rem;border-inline-start:4px solid var(--primary);background:var(--primary-soft);border-radius:var(--r-md);color:var(--fg)}
.prose blockquote p{margin:0}
.prose table{width:100%;border-collapse:collapse;font-size:var(--fs-sm);display:block;overflow-x:auto}
.prose th,.prose td{padding:.75rem 1rem;border:1px solid var(--border);text-align:start}
.prose th{background:var(--bg-subtle);font-weight:800;color:var(--fg)}
.prose pre{direction:ltr;text-align:left;background:var(--rp-ink-900);color:var(--rp-ink-200);border-radius:var(--r-md);padding:1rem 1.25rem;overflow-x:auto;font-size:var(--fs-sm)}
.prose pre code{background:none;padding:0;color:inherit}
.prose hr{margin:2.5em 0}
.prose .wp-block-button__link{background:var(--primary);color:#fff;border-radius:var(--r);padding:.75rem 1.3rem;font-weight:700;text-decoration:none}
.alignwide{margin-inline:calc(-1 * clamp(0px,4vw,60px))}
.alignfull{margin-inline:calc(50% - 50vw);max-width:100vw}
.aligncenter{margin-inline:auto}
.alignright{float:right;margin-inline-start:1.5rem}
.alignleft{float:left;margin-inline-end:1.5rem}
.wp-caption-text{font-size:var(--fs-xs);color:var(--fg-muted);text-align:center}
.article-meta{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;font-size:var(--fs-sm);color:var(--fg-muted);margin-top:1rem}
.article-meta span{display:inline-flex;gap:.35rem;align-items:center}
.article-meta .icon{width:16px;height:16px}
.share{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.share__label{font-size:var(--fs-sm);font-weight:700;margin-inline-end:.25rem}
.inline-cta{margin-top:2.5rem;display:flex;gap:1.25rem;align-items:center;justify-content:space-between;flex-wrap:wrap;border-radius:var(--r-xl);padding:clamp(20px,3vw,32px);background:radial-gradient(500px 200px at 0 0,rgba(46,91,255,.28),transparent),var(--rp-ink-900);color:var(--rp-ink-300)}
.inline-cta b{display:block;color:#fff;font-size:var(--fs-lg);margin-bottom:.25rem}
.author-box{display:flex;gap:1rem;align-items:flex-start;margin-top:2rem}
.author-box img{border-radius:50%}
.tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:2rem}

/* Comments */
.comments{margin-top:3rem}
.comment-list{list-style:none;display:grid;gap:1rem}
.comment-list .children{list-style:none;margin-top:1rem;padding-inline-start:clamp(16px,4vw,40px);display:grid;gap:1rem}
.comment-body{border:1px solid var(--border);border-radius:var(--r-lg);padding:1.1rem 1.25rem;background:var(--bg)}
.comment-meta{display:flex;align-items:center;gap:.75rem;font-size:var(--fs-xs);color:var(--fg-muted);margin-bottom:.5rem}
.comment-meta img{border-radius:50%}
.comment-author .fn{font-weight:800;color:var(--fg);font-style:normal;font-size:var(--fs-sm)}
.comment-author .says{display:none}
.comment-content{font-size:var(--fs-sm);line-height:2}
.reply a{font-size:var(--fs-xs);font-weight:700}
.comment-respond{margin-top:2rem;border:1px solid var(--border);border-radius:var(--r-xl);padding:clamp(20px,3vw,32px);background:var(--bg-subtle)}
.comment-form{display:grid;gap:1rem}
.comment-form label{display:block;font-weight:700;font-size:var(--fs-sm);margin-bottom:.35rem}
.comment-form input[type=text],.comment-form input[type=email],.comment-form input[type=url],.comment-form textarea{width:100%;border:1px solid var(--border-strong);border-radius:var(--r);padding:.7rem .9rem;background:var(--bg)}
.comment-form input:focus,.comment-form textarea:focus{border-color:var(--primary);box-shadow:var(--ring)}
.comment-form .submit{background:var(--primary);color:#fff;border:0;border-radius:var(--r);height:46px;padding-inline:1.4rem;font-weight:700}
.comment-form-cookies-consent{display:flex;gap:.5rem;align-items:center;font-size:var(--fs-xs)}

/* =========================================================
   20. Brand pages
   ========================================================= */
.brand-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.6vw,20px)}
@media (max-width:1024px){.brand-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:720px){.brand-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:420px){.brand-grid{grid-template-columns:1fr}}
.brand-card{display:flex;flex-direction:column;gap:.9rem;padding:1.25rem}
.brand-card__head{display:flex;align-items:center;gap:.85rem}
.brand-card__name{font-size:var(--fs-md);margin:0;line-height:1.4}
.brand-card__name small{display:block;font-family:var(--font-latin);font-size:var(--fs-2xs);color:var(--fg-muted);font-weight:600;direction:ltr;text-align:right}
.brand-card__foot{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:auto;font-size:var(--fs-xs);color:var(--fg-muted)}
.brand-card__foot b{color:var(--fg)}
.brand-filter{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:space-between;margin-bottom:1.5rem}
.brand-filter .input-group{flex:1;max-width:380px;min-width:220px}
.facts{display:grid;gap:.75rem}
.fact{display:flex;align-items:center;gap:.85rem;padding:.85rem 1rem;border-radius:var(--r-md);background:var(--bg-subtle);border:1px solid var(--border)}
.fact .icon-tile{--tile:40px}
.fact span{display:block;font-size:var(--fs-2xs);color:var(--fg-muted)}
.fact b{display:block;font-size:var(--fs-sm)}
.model-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.6rem;list-style:none}
.model-list a,.model-list span{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.75rem 1rem;border-radius:var(--r);border:1px solid var(--border);background:var(--bg);color:var(--fg);font-family:var(--font-latin);font-weight:700;font-size:var(--fs-sm);direction:ltr}
.model-list a:hover{border-color:var(--rp-blue-300);color:var(--primary)}
.empty{padding:3rem 1rem;text-align:center;color:var(--fg-muted);border:1px dashed var(--border-strong);border-radius:var(--r-xl)}

/* =========================================================
   21. Request wizard & tracking
   ========================================================= */
.wizard{display:grid;grid-template-columns:300px minmax(0,1fr);gap:clamp(20px,3vw,40px);align-items:start}
@media (max-width:960px){.wizard{grid-template-columns:1fr}}
.wizard__aside{position:sticky;top:calc(var(--header-h) + 24px)}
@media (max-width:960px){.wizard__aside{position:static}}
.wizard__nav{list-style:none;display:grid;gap:.25rem}
.wizard__nav li{display:flex;gap:.85rem;align-items:center;padding:.7rem .75rem;border-radius:var(--r);color:var(--fg-muted);font-size:var(--fs-sm);font-weight:600}
.wizard__nav li i{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;border:1.5px solid var(--border-strong);font-style:normal;font-weight:800;font-size:var(--fs-xs);background:var(--bg);flex:none;transition:all var(--dur-2) var(--ease)}
.wizard__nav li.is-current{background:var(--bg);color:var(--fg);box-shadow:var(--shadow-sm);border:1px solid var(--border)}
.wizard__nav li.is-current i{border-color:var(--primary);color:var(--primary);box-shadow:0 0 0 4px var(--primary-soft)}
.wizard__nav li.is-done i{background:var(--rp-mint-500);border-color:var(--rp-mint-500);color:#fff}
@media (max-width:960px){.wizard__nav{grid-template-columns:repeat(4,1fr)}.wizard__nav li{flex-direction:column;text-align:center;font-size:var(--fs-2xs);padding:.5rem .25rem;gap:.4rem}.wizard__nav li.is-current{box-shadow:none;border-color:transparent;background:none}}
.wizard__panel{border-radius:var(--r-xl);padding:clamp(20px,3vw,36px)}
.wizard__progress{height:6px;border-radius:var(--r-full);background:var(--bg-muted);overflow:hidden;margin-bottom:1.75rem}
.wizard__progress span{display:block;height:100%;background:var(--brand-gradient);border-radius:inherit;width:25%;transition:width var(--dur-4) var(--ease)}
.wizard__step{display:none}
.wizard__step.is-active{display:block;animation:rp-in var(--dur-4) var(--ease)}
@keyframes rp-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.wizard__title{font-size:var(--fs-xl);margin-bottom:.35rem;font-weight:800;color:var(--fg);padding:0;line-height:1.4}
.wizard__desc{color:var(--fg-muted);font-size:var(--fs-sm);margin-bottom:1.5rem}
.wizard__foot{display:flex;justify-content:space-between;gap:.75rem;margin-top:1.75rem;padding-top:1.25rem;border-top:1px solid var(--border)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}
@media (max-width:640px){.form-row{grid-template-columns:1fr}}
.review-list{display:grid;gap:0;border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;font-size:var(--fs-sm)}
.review-list div{display:grid;grid-template-columns:160px 1fr;gap:1rem;padding:.7rem 1rem}
.review-list div:nth-child(odd){background:var(--bg-subtle)}
.review-list dt{color:var(--fg-muted)}
.review-list dd{margin:0;font-weight:700;word-break:break-word}
.success-state{text-align:center;padding:1rem 0}
.success-state__icon{width:84px;height:84px;margin:0 auto 1.25rem;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--rp-mint-600);box-shadow:0 0 0 10px rgba(20,199,154,.08)}
.success-state__icon .icon{width:40px;height:40px;stroke-width:2.2}
.code-box{display:inline-flex;align-items:center;gap:.75rem;margin:1rem 0;padding:.6rem .6rem .6rem 1rem;border-radius:var(--r-md);border:1px dashed var(--rp-blue-300);background:var(--primary-soft);font-family:var(--font-mono);font-size:1.25rem;letter-spacing:.12em;direction:ltr;font-weight:700;color:var(--rp-blue-800)}
.hp-field{position:absolute!important;inset-inline-start:-9999px!important;width:1px;height:1px;overflow:hidden}
.timeline{list-style:none;display:grid;gap:0;margin-top:1.5rem}
.timeline li{display:grid;grid-template-columns:32px 1fr;gap:.85rem;position:relative;padding-bottom:1.25rem}
.timeline li::before{content:"";position:absolute;inset-inline-start:15px;top:32px;bottom:0;width:2px;background:var(--border)}
.timeline li:last-child::before{display:none}
.timeline i{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;border:2px solid var(--border-strong);background:var(--bg);font-style:normal}
.timeline li.is-done i{background:var(--rp-mint-500);border-color:var(--rp-mint-500);color:#fff}
.timeline li.is-current i{border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-soft)}
.timeline li.is-current i::after{content:"";width:10px;height:10px;border-radius:50%;background:var(--primary)}
.timeline b{display:block;font-size:var(--fs-sm)}
.timeline span{font-size:var(--fs-xs);color:var(--fg-muted)}
.timeline .icon{width:16px;height:16px}

/* Contact */
.contact-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}
.contact-card{display:flex;gap:.9rem;align-items:center}
.contact-card b{display:block;font-size:var(--fs-sm)}
.contact-card span{display:block;font-size:var(--fs-sm);color:var(--fg-muted);direction:ltr;text-align:right}
.map-embed{border-radius:var(--r-xl);overflow:hidden;border:1px solid var(--border);aspect-ratio:16/7;background:var(--bg-muted)}
.map-embed iframe{width:100%;height:100%;border:0}

/* =========================================================
   22. CTA band
   ========================================================= */
.cta-band{position:relative;isolation:isolate;overflow:hidden;border-radius:var(--r-2xl);padding:clamp(36px,6vw,72px) clamp(24px,5vw,64px);text-align:center;
  background:radial-gradient(700px 300px at 50% -30%,rgba(92,131,255,.55),transparent 70%),var(--rp-ink-950);color:var(--rp-ink-300)}
.cta-band h2{color:#fff;font-size:var(--fs-3xl);max-width:760px;margin-inline:auto}
.cta-band p{max-width:620px;margin:0 auto 2rem;font-size:var(--fs-md)}
.cta-band .cluster{justify-content:center}

/* =========================================================
   23. Footer
   ========================================================= */
.site-footer{background:var(--rp-ink-950);color:var(--rp-ink-400);font-size:var(--fs-sm);position:relative;isolation:isolate;overflow:hidden;margin-top:var(--section-y)}
.site-footer.no-gap{margin-top:0}
.site-footer a{color:var(--rp-ink-300)}
.site-footer a:hover{color:#fff}
.footer__top{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:clamp(24px,4vw,56px);padding-block:clamp(48px,6vw,80px) 2.5rem}
@media (max-width:960px){.footer__top{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.footer__top{grid-template-columns:1fr}}
.footer__about p{margin:1rem 0 1.25rem;line-height:2;max-width:360px}
.footer__title{color:#fff;font-size:var(--fs-sm);font-weight:800;margin-bottom:1rem}
.footer__links{list-style:none;display:grid;gap:.55rem}
.footer__contact{list-style:none;display:grid;gap:.75rem}
.footer__contact li{display:flex;gap:.6rem;align-items:flex-start}
.footer__contact .icon{width:18px;height:18px;color:var(--rp-blue-300);margin-top:.25rem}
.socials{display:flex;gap:.5rem;flex-wrap:wrap}
.socials a{width:40px;height:40px;border-radius:var(--r);display:grid;place-items:center;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);color:var(--rp-ink-200);transition:all var(--dur-2) var(--ease)}
.socials a:hover{background:var(--primary);border-color:var(--primary);color:#fff;transform:translateY(-2px)}
.socials .icon{width:19px;height:19px}
.footer__trust{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.25rem}
.footer__trust>*{background:#fff;border-radius:var(--r);padding:.4rem;min-width:80px;min-height:80px;display:grid;place-items:center}
.footer__bottom{border-top:1px solid rgba(255,255,255,.07);padding-block:1.25rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:var(--fs-xs)}
.footer__wordmark{position:absolute;inset-inline:0;bottom:-.28em;text-align:center;font-weight:800;font-size:clamp(5rem,18vw,15rem);line-height:1;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.05);z-index:-1;pointer-events:none;user-select:none;white-space:nowrap}

/* =========================================================
   24. Motion utilities (blur-fade reveal, number ticker)
   ========================================================= */
.js .reveal{opacity:0;filter:blur(6px);transform:translateY(14px);transition:opacity .7s var(--ease),transform .7s var(--ease),filter .7s var(--ease);transition-delay:calc(var(--d,0)*90ms)}
.js .reveal.is-in{opacity:1;filter:none;transform:none}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .js .reveal{opacity:1;filter:none;transform:none}
  .marquee__track{animation:none}
}

/* =========================================================
   25. Utilities
   ========================================================= */
.mt-0{margin-top:0}.mb-0{margin-bottom:0}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}.mt-6{margin-top:3rem}
.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}
.text-center{text-align:center}.text-muted{color:var(--fg-muted)}.text-sm{font-size:var(--fs-sm)}.text-xs{font-size:var(--fs-xs)}
.fw-800{font-weight:800}
.w-full{width:100%}
.hidden{display:none!important}
.center{display:flex;justify-content:center}
@media (max-width:640px){.hide-sm{display:none!important}}
@media (min-width:641px){.show-sm{display:none!important}}

/* WP core */
.sticky .post-card{border-color:var(--rp-blue-200)}
.bypostauthor>.comment-body{border-color:var(--rp-blue-200)}
.gallery-caption{font-size:var(--fs-xs)}
.wp-block-image figcaption{text-align:center}

/* Print */
@media print{.site-header,.site-footer,.mobile-bar,.topbar,.article-aside,.inline-cta,.share{display:none!important}body{color:#000}}
