/* Shared visual language: one system for the public site and the web account. */
:root {
  --rp-bg:#0c0c10; --rp-surface:rgba(24,24,31,.72); --rp-surface-hover:rgba(31,30,39,.88);
  --rp-text:#f4f3f7; --rp-muted:#aba7b3; --rp-line:rgba(255,255,255,.10);
  --rp-accent:#8644e4; --rp-accent-hover:#9255e8; --rp-accent-text:#b78aec;
  --rp-radius:14px; --rp-control-radius:8px; --rp-ease:cubic-bezier(.22,1,.36,1);
  --s-bg:var(--rp-bg); --s-muted:var(--rp-muted); --s-line:var(--rp-line); --s-width:1280px;
  --s-accent:var(--rp-accent-text); --s-ease:var(--rp-ease); --brand:var(--rp-accent);
  --brand-hover:var(--rp-accent-hover); --brand-text:var(--rp-accent-text);
  --glass:var(--rp-surface); --glass-border:var(--rp-line); --glass-shadow:none;
}
html {scroll-snap-type:none!important;scroll-padding-top:88px}
html:has(body:not(.subpage)) {scroll-padding-top:0}
body,.subpage {background-color:var(--rp-bg);color:var(--rp-text)}
.s-container {width:min(var(--s-width),calc(100% - 96px))}
button,input,select,textarea {font-family:inherit}
button,a {-webkit-tap-highlight-color:transparent}

/* Navigation deliberately remains unboxed text. */
.site-header.s-header {
  height:76px;padding:0 max(40px,calc((100vw - 1280px)/2));gap:32px;
  background:rgba(12,12,16,.78);border-bottom:1px solid #ffffff0d;
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
}
.site-header.s-header.is-scrolled {background:rgba(12,12,16,.94)}
.site-header .s-brand {gap:11px;font-size:13px;font-weight:600;letter-spacing:.01em}
.site-header .s-brand img {width:32px;height:32px;border-radius:9px}
.s-header nav.s-nav {gap:26px}
.s-header .s-nav>a,.s-header .s-nav summary,.site-header .s-account {
  padding:10px 0;min-height:44px;font-size:14px;font-weight:400;
  background:none;border:0;border-radius:0;box-shadow:none;color:#bcb9c3;
  transition:color 140ms var(--rp-ease);
}
.s-header .s-nav>a[aria-current],.s-header .s-dropdown[open]>summary,.s-header .s-dropdown.is-current>summary,.site-header .s-account[aria-current] {color:var(--rp-text);background:none}
.site-header .s-account {color:#ddd9e5}
.s-header .s-dropdown-panel {top:54px;padding:12px;background:rgba(23,23,29,.98);border:1px solid #ffffff1c;border-radius:14px;transform-origin:top left;box-shadow:0 16px 40px #0003}
.s-header .s-product-menu {width:392px}
.s-header .s-dropdown-panel>a {padding:12px;min-height:44px;border-radius:8px;color:#bcb9c3;font-size:14px}
.s-header .s-product-menu>a {gap:13px;grid-template-columns:34px minmax(0,1fr)}
.s-header .s-product-menu img {width:34px;height:34px;border-radius:8px}
.s-header .s-product-menu strong {font-size:14px;font-weight:600;color:#f0edf5}
.s-header .s-product-menu small {font-size:12px;color:#98949f;margin-top:3px}
.s-header .s-menu-all {border-top:1px solid var(--rp-line);margin-top:6px;padding-top:17px!important;color:var(--rp-accent-text)!important;font-size:13px!important}
.s-header .s-nav-toggle {background:none;border:0;border-radius:0;box-shadow:none;min-width:44px;min-height:44px}
.s-header .s-nav-toggle span {transition:transform 160ms var(--rp-ease)}
.s-header .s-nav-toggle[aria-expanded=true] span:first-child {transform:translateY(3px) rotate(45deg)}
.s-header .s-nav-toggle[aria-expanded=true] span:last-child {transform:translateY(-3px) rotate(-45deg)}

/* Three action weights. No bevel, gradient, glow or moving arrow. */
.button,.s-button,.p-pricing .s-button,.s-account-page .ac-button {
  min-height:48px;padding:12px 20px;border:1px solid #ffffff17;border-radius:var(--rp-control-radius);
  background:#25242d;color:var(--rp-text)!important;font-size:14px;font-weight:600;line-height:1.5;
  gap:10px;box-shadow:none;text-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;
  transition:background-color 140ms var(--rp-ease),border-color 140ms var(--rp-ease),transform 100ms var(--rp-ease);
}
.button.secondary,.s-button:not(.is-primary),.s-account-page .ac-button--secondary {background:#25242d;border-color:#ffffff17;box-shadow:none}
.button.primary,.s-button.is-primary,.p-pricing .s-button.is-primary,.s-account-page .ac-button:not(.ac-button--secondary) {
  background:var(--rp-accent);border-color:transparent;color:#fff!important;box-shadow:none;
}
.button svg,.s-button svg,.s-account-page .ac-button svg {width:17px;height:17px;transform:none!important}
.button:active,.s-button:active,.s-account-page .ac-button:active {transform:scale(.985);transition-duration:80ms}
.s-text-link,.text-button:not(.button),.ac-text {font-size:14px;gap:9px;line-height:1.5}
.s-text-link svg {width:16px;height:16px;transform:none!important;transition:none}
.button:focus-visible,.s-button:focus-visible,.s-account-page .ac-button:focus-visible {outline:2px solid #bd91fa;outline-offset:4px}

/* Public content: a stable grid, readable labels, and selective surfaces. */
.s-breadcrumb {padding-top:103px;padding-bottom:0;font-size:12px;gap:12px;color:#85818e}
.s-breadcrumb a {color:#aaa5b3}
.s-eyebrow {font-size:11px;font-weight:600;letter-spacing:.09em;color:var(--rp-accent-text);margin-bottom:20px}
.s-eyebrow::before {display:none}
.s-hero {min-height:0;padding-block:64px 80px}
.s-hero h1 {font-size:clamp(46px,4.6vw,68px);line-height:1.045;letter-spacing:-.05em;font-weight:600;text-wrap:balance}
.s-hero .s-description {font-size:16px;line-height:1.75;color:#b9b4c2;max-width:510px}
.s-hero-grid {grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center}
.s-hero .s-actions {gap:12px;margin-top:28px}
.s-hero .s-facts {gap:24px 32px;border-top:1px solid var(--rp-line);padding-top:24px;margin-top:32px}
.s-facts strong {font-size:15px;font-weight:600;color:#e1dde8}.s-facts small {font-size:12px;color:var(--rp-muted)}
.s-screen,.p-product-screen,.app-frame {transform:none!important;rotate:none!important;box-shadow:none!important;filter:none!important}
.s-screen {padding:0;border-radius:12px;border:1px solid #ffffff20;background:#141418}
.s-screen>img {display:block;width:100%;border-radius:11px}
.s-screen small {font-size:11px;right:12px;bottom:12px;border-radius:6px;background:#17151ddb;border:1px solid #ffffff20;color:#ebe6f1}
.s-stage-label {font-size:11px;letter-spacing:.035em;margin-bottom:16px;color:#aca5b5}
.s-prop {display:none}
.s-hero:has(.is-police) .s-hero-stage {padding-right:0}
.s-section {padding-block:72px}
.s-section-head {margin-bottom:32px;gap:48px}
.s-section-head h2,.s-split h2 {font-size:clamp(29px,3vw,42px);line-height:1.15;letter-spacing:-.04em;font-weight:600}
.s-section-head p:not(.s-eyebrow),.s-split>div>p {font-size:15px;line-height:1.75;color:var(--rp-muted)}
.s-grid {gap:20px}
.s-card,.s-panel,.s-support-topic,.s-featured-article,.s-review,.p-product,.p-pricing .p-product {
  border-radius:var(--rp-radius);border-color:var(--rp-line);background:var(--rp-surface);box-shadow:none;
}
.s-card {padding:28px}.s-card h3 {font-size:26px;line-height:1.2;letter-spacing:-.035em}
.s-card p {font-size:15px;line-height:1.75;color:var(--rp-muted)}
.s-card-top {font-size:11px;letter-spacing:.02em}.s-card .s-text-link {font-size:13px;min-height:44px;margin-top:20px}
.s-card-top:not(:has(span:not(:empty))) {display:none}
.s-card-image {width:calc(100% + 56px);margin:-28px -28px 28px;border-radius:13px 13px 0 0}
.s-card-image.is-icon {width:40px;height:40px!important;margin:0 0 24px;border-radius:9px}
.s-tabs {border:0;background:none;box-shadow:none;padding:0;gap:6px;border-radius:0;backdrop-filter:none}
.s-tabs button {min-height:44px;border-radius:8px;font-size:13px;color:#b6afc0;padding:10px 15px}
.s-tabs button[aria-pressed=true] {background:#8644e421;border-color:#b78aec38;color:#dfc8ff}
.s-field input,.s-field select,.s-field textarea,.s-search input {border-radius:8px;background:#141319;border:1px solid #ffffff24;font-size:15px;box-shadow:none}
.s-field :is(input,select,textarea):focus,.s-search input:focus {outline:none;border-color:#a26ce9;box-shadow:0 0 0 3px #8644e420}
.s-search input {height:48px}
.s-search::before {content:'';width:13px;height:13px;background:none;border:1.5px solid #aaa1b7;border-radius:50%;top:50%;left:18px;transform:translateY(-60%);pointer-events:none}
.s-search::after {content:'';position:absolute;width:6px;height:1.5px;background:#aaa1b7;top:calc(50% + 5px);left:28px;transform:rotate(45deg);pointer-events:none}
.s-support-topic {min-height:88px;padding:20px;font-size:15px;gap:10px}
.s-support-topic span {font-size:12px;color:#77717f}
.s-support-answer {border-radius:14px!important}
.s-faq-item summary {font-size:16px;min-height:78px}.s-faq-item p {font-size:15px;color:var(--rp-muted)}
.s-faq-item summary::after {border:0;background:none;color:#b9afc8}
.s-review blockquote {font-size:16px;line-height:1.75}.s-review footer {font-size:12px}
.s-update h2 {font-size:30px;line-height:1.2;letter-spacing:-.04em}
.s-prose {color:#beb9c5}.s-prose p {line-height:1.85}
.p-endcap {padding-block:64px;background:#141318;border-color:var(--rp-line)}
.p-endcap h2 {font-size:42px;line-height:1.1;letter-spacing:-.04em}
.p-endcap>.s-container {gap:64px}
.s-footer {background:var(--rp-bg);border-color:var(--rp-line);padding-top:56px}
.s-footer h3 {font-size:11px;letter-spacing:.06em}.s-footer nav a {font-size:13px}
.s-footer-bottom {font-size:12px}
.s-footer.is-account-footer {padding:0;border-top:1px solid var(--rp-line)}
.rp-account-footer {display:flex;justify-content:space-between;align-items:center;gap:20px;padding-block:26px;font-size:12px;color:#827d8b}
.rp-account-footer nav {display:flex;gap:24px;flex-wrap:wrap}.rp-account-footer a {font-size:12px!important;color:#aaa4b3}

/* Service pages open with context and move quickly into the task. */
.r-resource-hero {min-height:400px;padding:98px 0 52px;margin-top:-39px}
.r-resource-copy {max-width:670px;text-shadow:none}
.r-resource-copy h1 {font-size:clamp(43px,4.2vw,62px);letter-spacing:-.05em;line-height:1.07}
.r-resource-copy .s-eyebrow {margin-bottom:18px!important}
.r-resource-copy .r-resource-description {font-size:16px;line-height:1.7;margin-top:20px;max-width:565px;color:#b9b2c3}
.r-resource-copy .s-actions,.r-resource-copy .p-inline-facts,.r-resource-copy .p-review-proof {margin-top:24px}
.r-resource-hero::after {background:linear-gradient(90deg,#0c0c10ed,#0c0c10ba 38%,#0c0c1038 80%),linear-gradient(0deg,#0c0c10,transparent 75%)}
.r-resource-art img {object-position:center 52%;filter:saturate(.78) brightness(.84)}
.r-resource-hero--faq .r-resource-art img {object-position:70% 45%}
.subpage:has(.r-resource-hero) .r-resource-hero+.s-section {padding-top:40px}
.s-filterbar {margin-bottom:28px}

/* Quiet, interruptible motion. All content stays usable during a reveal. */
::view-transition-old(root) {animation:rp-page-out 140ms var(--rp-ease) both}
::view-transition-new(root) {animation:rp-page-in 180ms var(--rp-ease) both}
@keyframes rp-page-out {to{opacity:0}}
@keyframes rp-page-in {from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.s-enter {animation:rp-content-in 420ms var(--rp-ease) both}
.s-enter:nth-child(2) {animation-delay:40ms}
@keyframes rp-content-in {from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.has-reveals .s-observe {transition:opacity 420ms var(--rp-ease),transform 420ms var(--rp-ease),border-color 140ms;transform:translateY(12px)}
.has-reveals .s-observe.is-seen {transform:none}
.home-page.enhanced .reveal {transform:translateY(12px);transition:opacity 420ms var(--rp-ease),transform 420ms var(--rp-ease);transition-delay:calc(var(--order,0)*40ms)}
.home-page.enhanced .scene.is-seen .reveal {opacity:1;transform:none}
.s-header .s-dropdown-panel {animation:rp-popover-in 160ms var(--rp-ease) both}
@keyframes rp-popover-in {from{opacity:0;transform:translateY(-3px) scale(.985)}to{opacity:1;transform:none}}
dialog[open] {animation:rp-dialog-in 200ms var(--rp-ease) both}
@keyframes rp-dialog-in {from{opacity:0;transform:translateY(6px) scale(.99)}to{opacity:1;transform:none}}
.s-dialog,.p-pricing .p-checkout {border-radius:16px;background:#19171f;border:1px solid #ffffff24}
body:is(.keyboard-navigation,.keyboard-nav,.keyboard-action) :is(.s-enter,.s-observe,.s-dropdown-panel,dialog,.reveal) {animation:none!important;transition:none!important;transform:none!important;opacity:1!important}
body:is(.keyboard-navigation,.keyboard-nav,.keyboard-action) :is(.backdrop,.app-frame,.parallax-plane,#scene-progress) {transition:none!important}
body:is(.keyboard-navigation,.keyboard-nav,.keyboard-action) .parallax-plane {translate:none!important}
html:has(body.keyboard-navigation)::view-transition-old(root),html:has(body.keyboard-navigation)::view-transition-new(root),html:has(body.keyboard-navigation)::view-transition-group(root) {animation:none!important}
.s-faq-item[open] p,.p-faq[open] p {animation:none}
body.keyboard-navigation :is(.s-nav-toggle span,.s-faq-item summary,.faq-item summary,.faq-item summary svg),body.keyboard-nav :is(.s-nav-toggle span,.s-faq-item summary,.faq-item summary,.faq-item summary svg) {transition:none!important;animation:none!important}
body.keyboard-navigation .s-faq-item summary::after,body.keyboard-nav .s-faq-item summary::after {transition:none!important;animation:none!important}

@media(hover:hover) and (pointer:fine) {
  .s-header .s-nav>a:hover,.s-header .s-nav summary:hover,.site-header .s-account:hover {color:#fff;background:none;border:0;box-shadow:none}
  .s-header .s-dropdown-panel>a:hover {background:#ffffff05;color:#fff}
  .button:hover,.s-button:hover,.button.secondary:hover,.s-button:not(.is-primary):hover,.p-pricing .s-button:hover,.s-account-page .ac-button--secondary:hover {background:#302e39;border-color:#ffffff28;transform:none;box-shadow:none}
  .button.primary:hover,.s-button.is-primary:hover,.p-pricing .s-button.is-primary:hover,.s-account-page .ac-button:not(.ac-button--secondary):hover {background:var(--rp-accent-hover);border-color:transparent;box-shadow:none}
  .button:active,.s-button:active,.s-account-page .ac-button:active {transform:scale(.985)}
  .s-card-link:hover {background:var(--rp-surface-hover);border-color:#ffffff26;transform:none!important;box-shadow:none}
}
@media(max-width:1100px) and (min-width:901px) {
  .site-header.s-header {padding-inline:32px;gap:24px}.s-header nav.s-nav{gap:19px}
  .s-header .s-nav>a,.s-header .s-nav summary,.site-header .s-account{font-size:13px}
  .s-hero-grid{gap:40px}.s-container{width:calc(100% - 64px)}
}
@media(max-width:900px) {
  .site-header.s-header {height:72px;padding-inline:32px}
  .s-header nav.s-nav.is-open {inset:72px 0 auto;max-height:calc(100dvh - 72px);padding:20px 32px 28px;background:#101015fa;gap:4px}
  .s-header .s-nav>a,.s-header .s-nav summary {font-size:16px;padding:12px 0}
  .s-header .s-dropdown-panel {width:auto;margin:0 0 8px;padding:4px 0 8px 16px;border:0;border-radius:0;background:none;box-shadow:none;animation:none}
  .s-header .s-dropdown-panel>a {padding:10px 0}.s-header .s-menu-all{margin-right:16px}
  .s-hero-grid{grid-template-columns:1fr;gap:36px}.s-hero-stage{max-width:740px}
  .s-hero{padding-block:48px 64px}.s-hero h1{font-size:56px}
  .r-resource-hero{min-height:390px;padding:90px 0 48px}
}
@media(max-width:600px) {
  .s-container{width:calc(100% - 40px)}
  .site-header.s-header,body:not(.subpage) .site-header.s-header{height:64px;padding-inline:20px;gap:16px}
  .site-header .s-brand{font-size:11px;gap:9px}.site-header .s-brand img{width:29px;height:29px;border-radius:8px}
  .site-header .s-account{font-size:13px;padding:10px 0;min-height:44px}
  .s-header nav.s-nav.is-open{inset:64px 0 auto;max-height:calc(100dvh - 64px);padding-inline:20px}
  .s-header-actions{gap:12px}
  .s-breadcrumb{padding-top:88px;font-size:11px;gap:9px}
  .s-hero{padding:36px 0 48px}.s-hero h1{font-size:40px;line-height:1.08;letter-spacing:-.045em}
  .s-hero .s-description{font-size:15px;line-height:1.75;margin-top:20px!important}
  .s-hero .s-actions{margin-top:24px;gap:10px}.s-hero .s-facts{margin-top:24px;padding-top:20px;gap:20px}
  .s-hero-grid{gap:20px}.s-hero-grid>.s-hero-copy{display:contents}
  .s-hero-copy>.s-eyebrow{order:0;margin:0!important}.s-hero-copy>h1{order:1;margin:0}
  .s-hero-copy>.s-description{order:2;margin:0!important}.s-hero-copy>.s-actions{order:3;margin:2px 0 4px}
  .s-hero-grid>.s-hero-stage{order:4;margin:8px 0 0}
  .s-hero-copy>.s-facts{order:5;margin:0;padding-top:20px}
  .s-stage-label{font-size:10px;letter-spacing:0;gap:16px;margin-bottom:12px}
  .s-hero .s-eyebrow,.s-hero .s-stage-label,.s-hero .s-stage-label span:last-child{font-size:11px!important}
  .s-hero .s-stage-label{flex-wrap:wrap;gap:8px 16px}
  .s-screen small{font-size:10px}
  .s-eyebrow{font-size:11px;margin-bottom:16px!important}
  .s-section,.s-section:nth-of-type(even),.subpage .s-section--proof{padding-block:48px}
  .s-section-head h2,.s-split h2{font-size:30px}.s-section-head{margin-bottom:24px}
  .s-card{padding:24px}.s-card h3{font-size:25px}.s-card p{font-size:15px}
  .s-card-image{width:calc(100% + 48px);margin:-24px -24px 24px}
  .s-grid{gap:16px}.s-panel{padding:24px}
  .button,.s-button,.p-pricing .s-button,.s-account-page .ac-button{font-size:14px;padding:12px 17px;min-height:48px;border-radius:8px}
  .s-tabs button{font-size:13px;min-height:44px}
  .s-field input,.s-field select,.s-field textarea,.s-search input{font-size:16px}
  .s-support-topic{min-height:88px;font-size:14px;padding:16px}.s-support-topic span{font-size:11px}
  .s-faq-item summary{font-size:15px;min-height:76px}.s-faq-item p{font-size:15px}
  .s-faq-index{gap:4px 20px;flex-wrap:wrap;margin-bottom:28px}.s-faq-index a{padding:8px 0;font-size:12px}
  .r-resource-hero{min-height:330px;padding:76px 0 38px;margin-top:-29px}
  .r-resource-copy h1{font-size:39px;line-height:1.08;letter-spacing:-.045em}
  .r-resource-copy .s-eyebrow{margin-bottom:16px!important}
  .r-resource-copy .r-resource-description{font-size:15px;line-height:1.7;margin-top:18px}
  .r-resource-copy .s-actions{margin-top:22px}.r-resource-copy .s-actions .s-button{min-height:48px}
  .r-resource-hero::after{background:linear-gradient(90deg,#0c0c10df,#0c0c1088),linear-gradient(0deg,#0c0c10,transparent 80%)}
  .r-resource-art img{opacity:.8;object-position:65% 48%!important}
  .subpage:has(.r-resource-hero) .r-resource-hero+.s-section{padding-top:28px}
  .p-endcap{padding-block:48px}.p-endcap h2{font-size:32px}
  .s-footer{padding-top:40px}.s-footer nav a{font-size:13px}.s-footer-bottom{font-size:11px}
  .rp-account-footer{align-items:flex-start;flex-direction:column;gap:16px;padding-block:24px}
  .rp-account-footer nav{gap:12px 20px}.rp-account-footer a{font-size:11px!important}
  .s-reading-progress{top:64px}
}
@media(max-width:360px) {
  .s-container{width:calc(100% - 32px)}.site-header.s-header,body:not(.subpage) .site-header.s-header{padding-inline:16px}
  .s-hero h1,.r-resource-copy h1{font-size:36px}.s-header-actions{gap:6px}
  .button,.s-button{padding-inline:15px}
}
@media(prefers-reduced-motion:reduce) {
  html{scroll-behavior:auto!important}
  ::view-transition-old(root),::view-transition-new(root){animation:none!important}
  .s-enter,.s-observe,.s-header .s-dropdown-panel,dialog[open]{animation:none!important;transition:none!important;opacity:1!important;transform:none!important}
  .s-nav-toggle span{transition:none!important}
}
