/*
 * Join, registration and login pages ("Become a Verified Astrologer" design).
 * Source file: every "P" at the start of a selector is replaced by a
 * high-specificity root selector when the plugin is built, so the site
 * theme's article styles (#main .vst-prose …) cannot change these pages.
 */

/* ---------- Full-width page on the site theme ---------- */
body.vso-wide { overflow-x: clip; }
body.vso-wide .vst-hero--page { display: none !important; }
body.vso-wide .vst-layout--page { grid-template-columns: minmax(0, 1fr) !important; padding-top: 0 !important; gap: 0 !important; max-width: none !important; padding-left: 0 !important; padding-right: 0 !important; }
body.vso-wide .vst-article-foot, body.vso-wide .pntrst_main_before_after, body.vso-wide .vst-article > .vst-share, body.vso-wide .post-views { display: none !important; }
body.vso-wide .vst-article { max-width: none !important; }

/* ---------- Reset of theme article styles inside our pages ---------- */
.vsp:is(.vsp,#vsp#vsp) { --vsp-serif: var(--vst-serif, 'Cormorant Garamond', 'EB Garamond', Georgia, serif); --vsp-sans: var(--vst-sans, var(--vso-sans)); font-family: var(--vsp-sans); font-size: 16px; line-height: 1.55; color: var(--vso-ink); background: transparent; margin: 0 0 40px; }
.vsp:is(.vsp,#vsp#vsp) :is(h1, h2, h3, h4) { margin: 0; padding: 0; font-weight: 600; line-height: 1.2; letter-spacing: .005em; }
.vsp:is(.vsp,#vsp#vsp) :is(h1, h2, h3, h4)::after { content: none; display: none; }
.vsp:is(.vsp,#vsp#vsp) p { margin: 0 0 10px; }
.vsp:is(.vsp,#vsp#vsp) :is(ul, ol) { margin: 0; padding: 0; list-style: none; }
.vsp:is(.vsp,#vsp#vsp) li { margin: 0; padding: 0; line-height: inherit; list-style: none; }
.vsp:is(.vsp,#vsp#vsp) li::before { content: none; display: none; }
.vsp:is(.vsp,#vsp#vsp) a:not(.vso-btn) { color: var(--vso-navy-2); text-decoration: underline; text-decoration-color: var(--vso-gold-2); text-underline-offset: 3px; }
.vsp:is(.vsp,#vsp#vsp) :is(strong, b) { color: inherit; font-weight: 700; }
.vsp:is(.vsp,#vsp#vsp) blockquote { margin: 0; padding: 0; border: 0; background: none; font-style: normal; }
.vsp:is(.vsp,#vsp#vsp) blockquote::before { content: none; }
.vsp:is(.vsp,#vsp#vsp) img { border-radius: 0; max-width: 100%; }
.vsp:is(.vsp,#vsp#vsp) fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.vsp:is(.vsp,#vsp#vsp) legend { padding: 0; float: none; width: auto; font-weight: 600; color: var(--vso-navy); font-size: 14.5px; margin: 0 0 8px; }
.vsp:is(.vsp,#vsp#vsp) abbr[title] { text-decoration: none; color: #b3261e; border: 0; cursor: help; }
.vsp:is(.vsp,#vsp#vsp) :is(input[type=text], input[type=email], input[type=tel], input[type=url], input[type=number], input[type=date], input[type=password], select, textarea) { width: 100%; max-width: 100%; min-height: 44px; padding: 9px 12px; border: 1px solid #d6cbb0; border-radius: 6px; background: #fff; color: var(--vso-ink); font: 15px/1.4 var(--vso-sans); box-shadow: none; box-sizing: border-box; margin: 0; }
.vsp:is(.vsp,#vsp#vsp) textarea { min-height: 120px; resize: vertical; }
.vsp:is(.vsp,#vsp#vsp) :is(input, select, textarea):focus { border-color: var(--vso-gold); outline: none; box-shadow: 0 0 0 3px rgba(201,162,39,.25); }
.vsp:is(.vsp,#vsp#vsp) ::placeholder { color: #9a9fb0; opacity: 1; }
.vsp:is(.vsp,#vsp#vsp) input[type=checkbox], .vsp:is(.vsp,#vsp#vsp) input[type=radio] { width: 17px; height: 17px; margin: 0; accent-color: var(--vso-navy); flex: 0 0 17px; }
.vsp:is(.vsp,#vsp#vsp) button { font-family: var(--vso-sans); }
.vsp:is(.vsp,#vsp#vsp) .vso-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 10px 24px; border-radius: 6px; border: 1px solid var(--vso-navy); background: var(--vso-navy); color: #fff !important; font: 600 15px/1.2 var(--vso-sans); text-decoration: none !important; box-shadow: none; cursor: pointer; letter-spacing: .01em; }
.vsp:is(.vsp,#vsp#vsp) .vso-btn--gold { background: linear-gradient(180deg, #e2bd55, #c4952c); border-color: #b58a25; color: #1d1405 !important; box-shadow: 0 6px 16px -10px rgba(150,105,20,.9); }
.vsp:is(.vsp,#vsp#vsp) .vso-btn--gold:hover { background: linear-gradient(180deg, #ebc965, #cc9f35); }
.vsp:is(.vsp,#vsp#vsp) .vso-btn--line { background: #fff; color: var(--vso-navy) !important; border-color: var(--vso-navy); }
.vsp:is(.vsp,#vsp#vsp) .vso-btn--line:hover { background: var(--vso-ivory); }
.vsp:is(.vsp,#vsp#vsp) .vso-btn--block { width: 100%; }
.vsp:is(.vsp,#vsp#vsp) .vso-btn--sm { min-height: 34px; padding: 6px 14px; font-size: 13.5px; }
.vsp:is(.vsp,#vsp#vsp) .vso-linkbtn { display: inline; min-height: 0; padding: 0 2px; border: 0; border-radius: 0; background: none; box-shadow: none; color: var(--vso-bad); font: 600 13px var(--vso-sans); text-decoration: underline; cursor: pointer; }
.vsp:is(.vsp,#vsp#vsp) .vso-note { margin: 0 0 14px; padding: 11px 14px; border-radius: 8px; font-size: 14.5px; }
.vsp:is(.vsp,#vsp#vsp) .vso-hint { font-size: 13.5px; color: var(--vso-muted); margin: 6px 0 0; }
.vsp:is(.vsp,#vsp#vsp) .vso-ref { font-size: 14px; color: var(--vso-muted); margin: 0 0 14px; }
.vsp:is(.vsp,#vsp#vsp) .vso-opt { font-weight: 400; color: var(--vso-muted); font-size: 12.5px; }
.vsp:is(.vsp,#vsp#vsp) .vso-ic { flex: 0 0 auto; display: block; }

/* ---------- Banner ---------- */
.vsp:is(.vsp,#vsp#vsp) .vsp-hero { position: relative; overflow: hidden; width: 100vw; margin-left: calc(50% - 50vw); background: #0b1532; color: #fff; }
.vsp:is(.vsp,#vsp#vsp) .vsp-hero__img { position: absolute; top: 0; bottom: 0; right: 0; width: 64%; background-size: cover; background-position: 40% 50%; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 26%); mask-image: linear-gradient(90deg, transparent 0, #000 26%); }
.vsp:is(.vsp,#vsp#vsp) .vsp-hero::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, #0b1532 0, rgba(11,21,50,.93) 33%, rgba(11,21,50,.22) 52%, rgba(11,21,50,.08) 64%, rgba(11,21,50,.82) 79%, rgba(11,21,50,.96) 100%); }
.vsp:is(.vsp,#vsp#vsp) .vsp-hero__in { position: relative; z-index: 1; max-width: 1240px; margin: 0 auto; padding: 30px 24px 38px; min-height: 300px; display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: 30px; align-items: center; }
.vsp:is(.vsp,#vsp#vsp) .vsp-hero--compact .vsp-hero__in { min-height: 230px; padding-bottom: 30px; }
.vsp:is(.vsp,#vsp#vsp) .vsp-crumbs ol { display: flex; flex-wrap: wrap; gap: 4px 0; margin: 0 0 16px; font-size: 13.5px; color: #e9dfc4; }
.vsp:is(.vsp,#vsp#vsp) .vsp-crumbs li { display: inline-flex; align-items: center; }
.vsp:is(.vsp,#vsp#vsp) .vsp-crumbs li + li::before { content: "›"; display: inline-block !important; position: static !important; margin: 0 9px; color: #e9c46a; font-size: 16px; }
.vsp:is(.vsp,#vsp#vsp) .vsp-crumbs a:not(.vso-btn) { color: #fff; text-decoration: none; }
.vsp:is(.vsp,#vsp#vsp) .vsp-crumbs a:hover { text-decoration: underline; }
.vsp:is(.vsp,#vsp#vsp) .vsp-crumbs [aria-current] { color: #e9c46a; }
.vsp:is(.vsp,#vsp#vsp) .vsp-hero__title { font-family: var(--vsp-serif); font-size: clamp(36px, 4.8vw, 58px); line-height: 1.04; font-weight: 600; color: #e9c46a; max-width: 11.5em; margin: 0 0 16px; text-shadow: 0 2px 18px rgba(0,0,0,.35); }
.vsp:is(.vsp,#vsp#vsp) .vsp-hero__lead { font-size: clamp(16px, 1.45vw, 18.5px); line-height: 1.5; color: #f4eedd; max-width: 27em; margin: 0; }
.vsp:is(.vsp,#vsp#vsp) .vsp-hero__quote { align-self: start; margin-top: 26px; padding: 0; }
.vsp:is(.vsp,#vsp#vsp) .vsp-hero__quote p { font-family: var(--vso-serif); font-style: italic; font-size: clamp(21px, 2vw, 27px); line-height: 1.3; color: #fff; margin: 0 0 12px; text-shadow: 0 2px 12px rgba(0,0,0,.5); }
.vsp:is(.vsp,#vsp#vsp) .vsp-hero__quote cite { font-style: normal; font-size: 11.5px; letter-spacing: .2em; text-transform: uppercase; color: #e9c46a; font-weight: 600; }

/* ---------- Benefits strip ---------- */
.vsp:is(.vsp,#vsp#vsp) .vsp-benefits { width: 100vw; margin-left: calc(50% - 50vw); background: #fbf6ea; border-bottom: 1px solid #ecdfbf; }
.vsp:is(.vsp,#vsp#vsp) .vsp-benefits { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); padding: 0 max(24px, calc((100vw - 1192px) / 2)); }
.vsp:is(.vsp,#vsp#vsp) .vsp-benefits li { display: flex; gap: 14px; align-items: center; padding: 18px 18px; }
.vsp:is(.vsp,#vsp#vsp) .vsp-benefits li + li { border-left: 1px solid #e8d9b3; }
.vsp:is(.vsp,#vsp#vsp) .vsp-benefits__ic { color: #b8862a; }
.vsp:is(.vsp,#vsp#vsp) .vsp-benefits strong { display: block; font-size: 15px; color: var(--vso-navy); margin-bottom: 2px; }
.vsp:is(.vsp,#vsp#vsp) .vsp-benefits span span, .vsp:is(.vsp,#vsp#vsp) .vsp-benefits div > span { display: block; font-size: 13.5px; line-height: 1.4; color: var(--vso-muted); }

/* ---------- Two columns ---------- */
.vsp:is(.vsp,#vsp#vsp) .vsp-grid { max-width: 1240px; margin: 0 auto; padding: 24px 0 0; display: grid; grid-template-columns: minmax(0, 1fr) 312px; gap: 24px; align-items: start; }
.vsp:is(.vsp,#vsp#vsp) .vsp-main { min-width: 0; container-type: inline-size; container-name: vsoast; }
.vsp:is(.vsp,#vsp#vsp) .vsp-side { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.vsp:is(.vsp,#vsp#vsp) .vsp-card { background: #fff; border: 1px solid #ebe1c9; border-radius: 10px; box-shadow: 0 1px 2px rgba(15,27,61,.04); }
.vsp:is(.vsp,#vsp#vsp) .vsp-card--pad { padding: 22px 24px; margin-bottom: 18px; }

/* Stepper */
.vsp:is(.vsp,#vsp#vsp) .vsp-steps { padding: 14px 18px; border-bottom: 1px solid #efe6d1; }
.vsp:is(.vsp,#vsp#vsp) .vsp-steps ol { display: flex; align-items: center; gap: 10px; }
.vsp:is(.vsp,#vsp#vsp) .vsp-steps li { flex: 1 1 0; min-width: 0; display: flex; align-items: center; gap: 8px; }
.vsp:is(.vsp,#vsp#vsp) .vsp-steps li + li::before { content: ""; display: block; flex: 0 0 18px; height: 1px; background: #cdbf9c; margin-right: 2px; }
.vsp:is(.vsp,#vsp#vsp) .vsp-steps a { display: flex; align-items: center; gap: 8px; text-decoration: none !important; color: var(--vso-ink) !important; min-width: 0; }
.vsp:is(.vsp,#vsp#vsp) .vsp-steps__n { flex: 0 0 30px; width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; border: 1px solid #c9bfa6; background: #fff; font: 600 13.5px/1 var(--vso-sans); color: var(--vso-navy); }
.vsp:is(.vsp,#vsp#vsp) .vsp-steps__l { font-size: 13px; line-height: 1.25; color: var(--vso-muted); }
.vsp:is(.vsp,#vsp#vsp) .vsp-steps .is-current .vsp-steps__n { background: var(--vso-navy); border-color: var(--vso-navy); color: #fff; }
.vsp:is(.vsp,#vsp#vsp) .vsp-steps .is-current .vsp-steps__l { color: var(--vso-navy); font-weight: 700; border-bottom: 2px solid #c9a227; padding-bottom: 2px; }
.vsp:is(.vsp,#vsp#vsp) .vsp-steps .is-done .vsp-steps__n { background: #e8f3ec; border-color: #8cc4a0; color: var(--vso-ok); }
.vsp:is(.vsp,#vsp#vsp) .vsp-steps .is-viewing:not(.is-current) .vsp-steps__n { border-color: #c9a227; box-shadow: 0 0 0 3px rgba(201,162,39,.22); }

/* Section headings */
.vsp:is(.vsp,#vsp#vsp) .vso-ast__body, .vsp:is(.vsp,#vsp#vsp) .vsp-card > .vsp-sec { padding: 4px 24px 8px; }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__sec, .vsp:is(.vsp,#vsp#vsp) .vsp-sec { padding: 22px 0 14px; border-bottom: 1px solid #f1eadb; scroll-margin-top: 100px; }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__sec:last-of-type, .vsp:is(.vsp,#vsp#vsp) .vsp-sec:last-child { border-bottom: 0; }
.vsp:is(.vsp,#vsp#vsp) :is(.vso-ast__h, .vsp-h) { display: flex; align-items: center; gap: 10px; font-family: var(--vsp-serif); font-size: clamp(21px, 2.1vw, 25px); font-weight: 700; color: var(--vso-navy); margin: 0 0 3px; }
.vsp:is(.vsp,#vsp#vsp) :is(.vso-ast__badge, .vsp-badge) { flex: 0 0 30px; width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: linear-gradient(180deg, #e2bd55, #c4952c); color: #1d1405; font: 700 14px/1 var(--vso-sans); }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__badge.is-done { background: var(--vso-ok); color: #fff; }
.vsp:is(.vsp,#vsp#vsp) :is(.vso-ast__sub, .vsp-sub) { margin: 0 0 16px 40px; color: var(--vso-muted); font-size: 14px; }
.vsp:is(.vsp,#vsp#vsp) .vsp-text { color: #3a4058; font-size: 15px; margin: 6px 0 14px 40px; }

/* Fields */
.vsp:is(.vsp,#vsp#vsp) .vso-field { display: flex; flex-direction: column; gap: 5px; margin: 0 0 14px; min-width: 0; }
.vsp:is(.vsp,#vsp#vsp) .vso-field > label, .vsp:is(.vsp,#vsp#vsp) .vso-ast__uplabel { font-weight: 600; color: var(--vso-navy); font-size: 14px; margin: 0; }
.vsp:is(.vsp,#vsp#vsp) .vso-check { display: flex; gap: 9px; align-items: flex-start; margin: 6px 0; font-size: 14px; font-weight: 400; color: var(--vso-ink); cursor: pointer; line-height: 1.4; }
.vsp:is(.vsp,#vsp#vsp) .vso-check input { margin-top: 1px; }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__err { margin: 3px 0 0; color: var(--vso-bad); font-size: 13px; font-weight: 600; }
.vsp:is(.vsp,#vsp#vsp) .has-error :is(input, select, textarea), .vsp:is(.vsp,#vsp#vsp) .has-error .vso-ast__drop { border-color: var(--vso-bad) !important; }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__count { align-self: flex-end; font-size: 12px; color: var(--vso-muted); margin-top: -2px; }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__count.is-bad { color: var(--vso-bad); font-weight: 600; }

.vsp:is(.vsp,#vsp#vsp) .vso-ast__basic { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 0 22px; align-items: start; }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__bfields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 16px; }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__photo { position: relative; }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__drop { display: flex; align-items: center; gap: 10px; padding: 14px; border: 1.5px dashed #cdb67c; border-radius: 8px; background: #fffdf7; cursor: pointer; color: var(--vso-navy); min-height: 78px; margin: 6px 0 0; font-weight: 400; }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__drop:hover { background: #fbf6ea; border-color: #b8862a; }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__drop strong { display: block; font-size: 14px; color: var(--vso-navy); }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__drop small { display: block; font-size: 12px; color: var(--vso-muted); }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__drop .vso-ic { color: var(--vso-navy); }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__drop--photo { flex-direction: column; justify-content: center; text-align: center; min-height: 150px; }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__drop--photo img { width: 84px; height: 84px; object-fit: cover; border-radius: 50%; border: 2px solid #e9d9a6; }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__file { position: absolute !important; width: 1px !important; height: 1px !important; min-height: 0 !important; padding: 0 !important; border: 0 !important; opacity: 0; overflow: hidden; clip: rect(0 0 0 0); }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__drop:has(+ .vso-ast__file:focus-visible) { outline: 3px solid #c9a227; outline-offset: 2px; }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__picked:empty { display: none; }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__picked { color: var(--vso-ok) !important; font-weight: 600; }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__contact { margin: 4px 0 6px; }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__contact .vso-verify { margin: 6px 0 0; }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__contact .vso-verify__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__contact .vso-verify__row { border: 1px solid #d6cbb0; border-radius: 6px; padding: 8px 12px; background: #fff; }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__contact .vso-verify__head { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__contact .vso-verify__label { font-weight: 600; color: var(--vso-navy); font-size: 13.5px; }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__contact .vso-verify__value { flex: 1; min-width: 0; color: var(--vso-ink); font-size: 14px; overflow-wrap: anywhere; }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__contact .vso-hint { font-size: 12.5px; }

.vsp:is(.vsp,#vsp#vsp) .vso-ast__des { margin: 0 0 16px; }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__descards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__descard { display: flex; gap: 8px; align-items: flex-start; padding: 10px 12px; border: 1px solid #e3d8be; border-radius: 8px; cursor: pointer; background: #fff; margin: 0; font-weight: 400; }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__descard:has(input:checked) { border-color: var(--vso-navy); box-shadow: inset 0 3px 0 #c9a227; background: #fbf6ea; }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__descard input { margin-top: 2px; }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__descard strong { display: block; color: var(--vso-navy); font-size: 14px; margin-bottom: 2px; }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__descard small { display: block; color: var(--vso-muted); font-size: 12px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__descard:hover small, .vsp:is(.vsp,#vsp#vsp) .vso-ast__descard:has(input:checked) small { -webkit-line-clamp: unset; }

.vsp:is(.vsp,#vsp#vsp) .vso-ast__g2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 18px; }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__sec3 { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1.1fr) minmax(0, .85fr); gap: 0 22px; }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__cbs { display: grid; grid-template-columns: 1fr; gap: 0 12px; }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__two .vso-ast__cbs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__cbs .vso-check { margin: 4px 0; font-size: 13.5px; }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__sec3 textarea { min-height: 128px; }

.vsp:is(.vsp,#vsp#vsp) .vso-ast__consult { display: grid; grid-template-columns: minmax(0, .75fr) minmax(0, 1.4fr) minmax(0, 1.1fr); gap: 0 20px; }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__fees .vso-ast__g2 { gap: 0 12px; }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__fees .vso-field > label { font-weight: 500; font-size: 13px; color: var(--vso-ink); }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__fees .vso-field.is-off { opacity: .55; }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__money { display: flex; }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__money > span { display: grid; place-items: center; width: 34px; border: 1px solid #d6cbb0; border-right: 0; border-radius: 6px 0 0 6px; background: #fbf6ea; color: var(--vso-navy); font-weight: 600; }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__money input { border-radius: 0 6px 6px 0 !important; min-width: 0; }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__avail { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 12px; align-content: start; }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__avail > :first-child, .vsp:is(.vsp,#vsp#vsp) .vso-ast__avail > :last-child { grid-column: 1 / -1; }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__avail .vso-ast__cbs { grid-template-columns: repeat(3, minmax(0, auto)); justify-content: start; gap: 0 14px; }

.vsp:is(.vsp,#vsp#vsp) .vso-ast__docs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(0, 1.25fr); gap: 14px; margin-bottom: 8px; }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__up { position: relative; min-width: 0; }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__up .vso-ast__uplabel { font-size: 13.5px; min-height: 2.6em; }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__files { margin: 8px 0 0; font-size: 13px; }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__files li { padding: 4px 0; border-bottom: 1px dotted #e3d8be; overflow-wrap: anywhere; }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__notes { background: #fbf6ea; border: 1px solid #ecdfbf; border-radius: 8px; padding: 12px 14px 12px; font-size: 13px; color: #3a4058; }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__notes h3 { font-family: var(--vsp-serif); font-size: 18px; font-weight: 700; color: var(--vso-navy); margin: 0 0 6px; }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__notes ul { padding-left: 16px; }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__notes li { list-style: disc; margin: 0 0 4px; }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__notes li::marker { color: #b8862a; }

.vsp:is(.vsp,#vsp#vsp) .vso-ast__final { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0 24px; align-items: end; }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__final > * { grid-column: 1; }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__submit { grid-column: 2 !important; grid-row: 1 / span 3; align-self: end; padding-bottom: 4px; }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__decl .vso-check { margin: 7px 0; }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__btns { display: flex; gap: 12px; margin: 12px 0 4px; }

.vsp:is(.vsp,#vsp#vsp) .vso-ast__summary { border: 1px solid #f0b8b3; background: var(--vso-bad-bg); border-radius: 8px; padding: 12px 16px; margin: 16px 0 0; color: #7a1712; font-size: 14px; scroll-margin-top: 100px; }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__summary h3 { font-size: 16px; color: #7a1712; margin: 0 0 6px; font-family: var(--vso-sans); }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__summary ul { padding-left: 18px; }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__summary li { list-style: disc; margin-bottom: 3px; }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__body > .vso-note:first-child, .vsp:is(.vsp,#vsp#vsp) .vso-ast__body > .vso-ref:first-child { margin-top: 18px; }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__preview { margin: 18px 0 6px; padding: 14px 16px; border-radius: 8px; background: #fbf6ea; border: 1px solid #ecdfbf; }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__preview .vso-ast__sub { margin: 0 0 8px; }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__preview ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px 16px; }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__preview li { display: flex; align-items: center; gap: 8px; font-size: 14px; color: var(--vso-navy); }
.vsp:is(.vsp,#vsp#vsp) .vso-ast__preview li span { width: 24px; height: 24px; flex: 0 0 24px; border-radius: 50%; display: grid; place-items: center; border: 1px solid #c9bfa6; font-size: 12px; font-weight: 700; }

/* Embedded VS Accounts sign-in / sign-up form */
.vsp:is(.vsp,#vsp#vsp) .vsp-vsa .vsa-auth { grid-template-columns: minmax(0, 1fr); max-width: none; margin: 0; border: 0; border-radius: 0; box-shadow: none; background: transparent; }
.vsp:is(.vsp,#vsp#vsp) .vsp-vsa .vsa-auth-side { display: none; }
.vsp:is(.vsp,#vsp#vsp) .vsp-vsa .vsa-auth-main { padding: 6px 0 0; max-width: 560px; }
.vsp:is(.vsp,#vsp#vsp) .vsp-vsa .vsa-auth-t { display: none; }
.vsp:is(.vsp,#vsp#vsp) .vsp-vsa :is(button, .vsa-btn) { border-radius: 8px; }
.vsp:is(.vsp,#vsp#vsp) .vsp-vsa .vsa-wrap, .vsp:is(.vsp,#vsp#vsp) .vsp-vsa .vsa { max-width: none; margin: 0; padding: 0; }

/* ---------- Sidebar boxes ---------- */
.vsp:is(.vsp,#vsp#vsp) .vsp-box { background: #fff; border: 1px solid #ebe1c9; border-radius: 10px; padding: 16px 18px; }
.vsp:is(.vsp,#vsp#vsp) .vsp-box__t { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-family: var(--vsp-serif); font-size: 21px; font-weight: 700; color: var(--vso-navy); margin: 0 0 12px; }
.vsp:is(.vsp,#vsp#vsp) .vsp-box__t .vso-ic { color: var(--vso-navy); }
.vsp:is(.vsp,#vsp#vsp) .vsp-box__p { font-size: 13.5px; color: var(--vso-muted); margin: 0 0 12px; }
.vsp:is(.vsp,#vsp#vsp) .vsp-why { display: grid; gap: 12px; }
.vsp:is(.vsp,#vsp#vsp) .vsp-why li { display: flex; gap: 12px; align-items: flex-start; }
.vsp:is(.vsp,#vsp#vsp) .vsp-why__ic { flex: 0 0 40px; width: 40px; height: 40px; border-radius: 50%; border: 1px solid #e3cf98; display: grid; place-items: center; color: #b8862a; background: #fffaf0; }
.vsp:is(.vsp,#vsp#vsp) .vsp-why strong { display: block; font-size: 14px; color: var(--vso-navy); }
.vsp:is(.vsp,#vsp#vsp) .vsp-why div > span { display: block; font-size: 12.5px; color: var(--vso-muted); line-height: 1.4; }
.vsp:is(.vsp,#vsp#vsp) .vsp-mission { display: flex; gap: 14px; align-items: flex-start; background: radial-gradient(120% 120% at 0 0, #24346b, #0f1b3d 70%); border-color: #0f1b3d; color: #e9e3d0; }
.vsp:is(.vsp,#vsp#vsp) .vsp-mission .vsp-box__t { color: #e9c46a; margin-bottom: 6px; }
.vsp:is(.vsp,#vsp#vsp) .vsp-mission p { margin: 0; font-size: 13.5px; line-height: 1.55; }
.vsp:is(.vsp,#vsp#vsp) .vsp-mission__ic { color: #e9c46a; }
.vsp:is(.vsp,#vsp#vsp) .vsp-proc__s { display: flex; gap: 12px; position: relative; padding-bottom: 14px; }
.vsp:is(.vsp,#vsp#vsp) .vsp-proc__s:not(:last-child)::after { content: ""; position: absolute; left: 13px; top: 30px; bottom: 2px; border-left: 1px dashed #cdb67c; }
.vsp:is(.vsp,#vsp#vsp) .vsp-proc__n { flex: 0 0 28px; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; background: linear-gradient(180deg, #e2bd55, #c4952c); color: #1d1405; font-weight: 700; font-size: 13px; }
.vsp:is(.vsp,#vsp#vsp) .vsp-proc strong { display: block; font-size: 14px; color: var(--vso-navy); }
.vsp:is(.vsp,#vsp#vsp) .vsp-proc p { margin: 0; font-size: 12.5px; color: var(--vso-muted); line-height: 1.45; }
.vsp:is(.vsp,#vsp#vsp) .vsp-lookup { display: grid; gap: 10px; }
.vsp:is(.vsp,#vsp#vsp) .vsp-faq details { border: 1px solid #ebe1c9; border-radius: 8px; margin: 0 0 8px; background: #fff; }
.vsp:is(.vsp,#vsp#vsp) .vsp-faq summary { cursor: pointer; padding: 10px 34px 10px 12px; font-weight: 600; color: var(--vso-navy); font-size: 13.5px; list-style: none; position: relative; }
.vsp:is(.vsp,#vsp#vsp) .vsp-faq summary::-webkit-details-marker { display: none; }
.vsp:is(.vsp,#vsp#vsp) .vsp-faq summary::after { content: ""; position: absolute; right: 14px; top: 50%; width: 7px; height: 7px; border-right: 2px solid var(--vso-navy); border-bottom: 2px solid var(--vso-navy); transform: translateY(-70%) rotate(45deg); transition: transform .15s; }
.vsp:is(.vsp,#vsp#vsp) .vsp-faq details[open] summary::after { transform: translateY(-30%) rotate(-135deg); }
.vsp:is(.vsp,#vsp#vsp) .vsp-faq details p { margin: 0; padding: 0 12px 12px; font-size: 13px; color: var(--vso-muted); }
.vsp:is(.vsp,#vsp#vsp) .vsp-cta { border-top: 3px solid #c9a227; }
.vsp:is(.vsp,#vsp#vsp) .vsp-cta .vso-btn + .vso-btn { margin-top: 8px; }
.vsp:is(.vsp,#vsp#vsp) .vsp-side__login { font-size: 13.5px; color: var(--vso-muted); text-align: center; margin: 0; }

/* ---------- Author / fellowship / login pages ---------- */
.vsp:is(.vsp,#vsp#vsp) .vsp-des { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0 0 6px 40px; }
.vsp:is(.vsp,#vsp#vsp) .vsp-des__c { border: 1px solid #e3d8be; border-radius: 8px; padding: 12px 14px; background: #fff; box-shadow: inset 0 3px 0 #e9d9a6; }
.vsp:is(.vsp,#vsp#vsp) .vsp-des__c strong { display: block; color: var(--vso-navy); margin-bottom: 4px; }
.vsp:is(.vsp,#vsp#vsp) .vsp-des__c span { display: block; font-size: 13px; color: var(--vso-muted); line-height: 1.45; }
.vsp:is(.vsp,#vsp#vsp) .vsp-twocards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-left: 40px; }
.vsp:is(.vsp,#vsp#vsp) .vsp-mini { border: 1px solid #ebe1c9; border-radius: 8px; padding: 14px 16px; background: #fffdf7; }
.vsp:is(.vsp,#vsp#vsp) .vsp-mini h3 { font-family: var(--vsp-serif); font-size: 18px; font-weight: 700; color: var(--vso-navy); margin: 0 0 6px; }
.vsp:is(.vsp,#vsp#vsp) .vsp-mini p { font-size: 14px; color: #3a4058; margin: 0; }
.vsp:is(.vsp,#vsp#vsp) .vsp-ticks li { position: relative; padding-left: 22px; margin: 0 0 6px; font-size: 14px; color: #3a4058; }
.vsp:is(.vsp,#vsp#vsp) .vsp-ticks li::before { content: "✓"; display: block; position: absolute; left: 0; top: 0; color: var(--vso-ok); font-weight: 700; }
.vsp:is(.vsp,#vsp#vsp) .vsp-ticks--2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 18px; margin-left: 40px; }
.vsp:is(.vsp,#vsp#vsp) .vsp-btns { display: flex; flex-wrap: wrap; gap: 10px; margin: 6px 0 4px 40px; }
.vsp:is(.vsp,#vsp#vsp) .vsp-sec .vsp-vsa { margin-left: 40px; }
.vsp:is(.vsp,#vsp#vsp) .vsp-login__head { display: flex; gap: 14px; align-items: center; margin: 0 0 8px; }
.vsp:is(.vsp,#vsp#vsp) .vsp-login__ic { width: 54px; height: 54px; flex: 0 0 54px; border-radius: 50%; display: grid; place-items: center; background: #fbf6ea; border: 1px solid #e3cf98; color: #b8862a; }
.vsp:is(.vsp,#vsp#vsp) .vsp-login .vsp-sub { margin: 4px 0 0; }
.vsp:is(.vsp,#vsp#vsp) .vsp-vsa .vsa-auth-x { display: none; }
.vsp:is(.vsp,#vsp#vsp) .vsp-login .vsp-vsa .vsa-auth-main { max-width: 520px; }
.vsp:is(.vsp,#vsp#vsp) .vsp-tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.vsp:is(.vsp,#vsp#vsp) .vsp-tile { background: #fff; border: 1px solid #ebe1c9; border-radius: 10px; padding: 14px 16px; }
.vsp:is(.vsp,#vsp#vsp) .vsp-tile__ic { color: #b8862a; display: block; margin-bottom: 6px; }
.vsp:is(.vsp,#vsp#vsp) .vsp-tile strong { display: block; color: var(--vso-navy); font-size: 14.5px; }
.vsp:is(.vsp,#vsp#vsp) .vsp-tile > span:last-child { display: block; font-size: 13px; color: var(--vso-muted); line-height: 1.45; }

/* ---------- Narrower main column ---------- */
@container vsoast (max-width: 900px) {
	.vsp:is(.vsp,#vsp#vsp) .vso-ast__consult { grid-template-columns: minmax(0, .85fr) minmax(0, 1.3fr); }
	.vsp:is(.vsp,#vsp#vsp) .vso-ast__avail { grid-column: 1 / -1; grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.vsp:is(.vsp,#vsp#vsp) .vso-ast__avail > :first-child { grid-column: 1 / -1; }
	.vsp:is(.vsp,#vsp#vsp) .vso-ast__avail > :last-child { grid-column: auto; }
	.vsp:is(.vsp,#vsp#vsp) .vso-ast__avail .vso-ast__cbs { grid-template-columns: repeat(7, minmax(0, auto)); }
	.vsp:is(.vsp,#vsp#vsp) .vso-ast__docs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.vsp:is(.vsp,#vsp#vsp) .vso-ast__notes { grid-column: 1 / -1; }
	.vsp:is(.vsp,#vsp#vsp) .vso-ast__descards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.vsp:is(.vsp,#vsp#vsp) .vso-ast__sec3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.vsp:is(.vsp,#vsp#vsp) .vso-ast__sec3 > :last-child { grid-column: 1 / -1; }
}
@container vsoast (max-width: 640px) {
	.vsp:is(.vsp,#vsp#vsp) .vso-ast__basic, .vsp:is(.vsp,#vsp#vsp) .vso-ast__bfields, .vsp:is(.vsp,#vsp#vsp) .vso-ast__g2, .vsp:is(.vsp,#vsp#vsp) .vso-ast__sec3, .vsp:is(.vsp,#vsp#vsp) .vso-ast__consult, .vsp:is(.vsp,#vsp#vsp) .vso-ast__docs, .vsp:is(.vsp,#vsp#vsp) .vso-ast__descards, .vsp:is(.vsp,#vsp#vsp) .vso-ast__contact .vso-verify__list, .vsp:is(.vsp,#vsp#vsp) .vsp-des, .vsp:is(.vsp,#vsp#vsp) .vsp-twocards, .vsp:is(.vsp,#vsp#vsp) .vsp-ticks--2, .vsp:is(.vsp,#vsp#vsp) .vso-ast__preview ol { grid-template-columns: minmax(0, 1fr); }
	.vsp:is(.vsp,#vsp#vsp) .vso-ast__avail { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.vsp:is(.vsp,#vsp#vsp) .vso-ast__avail > :last-child { grid-column: 1 / -1; }
	.vsp:is(.vsp,#vsp#vsp) .vso-ast__avail .vso-ast__cbs { grid-template-columns: repeat(3, minmax(0, auto)); }
	.vsp:is(.vsp,#vsp#vsp) .vso-ast__fees .vso-ast__g2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.vsp:is(.vsp,#vsp#vsp) .vso-ast__final { grid-template-columns: minmax(0, 1fr); }
	.vsp:is(.vsp,#vsp#vsp) .vso-ast__submit { grid-column: 1 !important; grid-row: auto; }
	.vsp:is(.vsp,#vsp#vsp) .vso-ast__submit .vso-btn, .vsp:is(.vsp,#vsp#vsp) .vso-ast__btns .vso-btn { width: 100%; }
	.vsp:is(.vsp,#vsp#vsp) :is(.vso-ast__sub, .vsp-sub, .vsp-text), .vsp:is(.vsp,#vsp#vsp) .vsp-btns, .vsp:is(.vsp,#vsp#vsp) .vsp-des, .vsp:is(.vsp,#vsp#vsp) .vsp-twocards, .vsp:is(.vsp,#vsp#vsp) .vsp-ticks--2, .vsp:is(.vsp,#vsp#vsp) .vsp-sec .vsp-vsa { margin-left: 0; }
	.vsp:is(.vsp,#vsp#vsp) .vso-ast__drop--photo { flex-direction: row; text-align: left; min-height: 0; justify-content: flex-start; }
	.vsp:is(.vsp,#vsp#vsp) .vso-ast__drop--photo img { width: 60px; height: 60px; }
	.vsp:is(.vsp,#vsp#vsp) .vso-ast__body, .vsp:is(.vsp,#vsp#vsp) .vsp-card > .vsp-sec { padding-left: 16px; padding-right: 16px; }
}

/* ---------- Page width ---------- */
@media (max-width: 1100px) {
	.vsp:is(.vsp,#vsp#vsp) .vsp-grid { grid-template-columns: minmax(0, 1fr) 280px; }
	.vsp:is(.vsp,#vsp#vsp) .vsp-steps__l { display: none; }
	.vsp:is(.vsp,#vsp#vsp) .vsp-steps .is-current .vsp-steps__l { display: inline; }
	.vsp:is(.vsp,#vsp#vsp) .vsp-hero__img { width: 75%; }
}
@media (max-width: 900px) {
	.vsp:is(.vsp,#vsp#vsp) .vsp-grid { grid-template-columns: minmax(0, 1fr); }
	.vsp:is(.vsp,#vsp#vsp) .vsp-benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.vsp:is(.vsp,#vsp#vsp) .vsp-benefits li:nth-child(3) { border-left: 0; }
	.vsp:is(.vsp,#vsp#vsp) .vsp-benefits li:nth-child(n+3) { border-top: 1px solid #e8d9b3; }
	.vsp:is(.vsp,#vsp#vsp) .vsp-hero__in { grid-template-columns: minmax(0, 1fr); min-height: 260px; }
	.vsp:is(.vsp,#vsp#vsp) .vsp-hero__quote { display: none; }
	.vsp:is(.vsp,#vsp#vsp) .vsp-hero__img { width: 100%; opacity: .55; -webkit-mask-image: none; mask-image: none; }
	.vsp:is(.vsp,#vsp#vsp) .vsp-hero::after { background: linear-gradient(90deg, rgba(11,21,50,.94), rgba(11,21,50,.6)); }
	.vsp:is(.vsp,#vsp#vsp) .vsp-tiles { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
	.vsp:is(.vsp,#vsp#vsp) .vsp-benefits { grid-template-columns: minmax(0, 1fr); padding: 0 16px; }
	.vsp:is(.vsp,#vsp#vsp) .vsp-benefits li { padding: 12px 4px; border-left: 0 !important; }
	.vsp:is(.vsp,#vsp#vsp) .vsp-benefits li + li { border-top: 1px solid #e8d9b3; }
	.vsp:is(.vsp,#vsp#vsp) .vsp-hero__in { padding: 22px 16px 26px; min-height: 0; }
	.vsp:is(.vsp,#vsp#vsp) .vsp-grid { padding-top: 16px; }
	.vsp:is(.vsp,#vsp#vsp) .vsp-steps { padding: 12px; }
	.vsp:is(.vsp,#vsp#vsp) .vsp-steps .vsp-steps__l, .vsp:is(.vsp,#vsp#vsp) .vsp-steps .is-current .vsp-steps__l { display: none; }
	.vsp:is(.vsp,#vsp#vsp) .vsp-steps li + li::before { flex: 1 1 auto; }
	.vsp:is(.vsp,#vsp#vsp) .vsp-steps li { flex: 0 1 auto; }
	.vsp:is(.vsp,#vsp#vsp) .vsp-steps li + li { flex: 1 1 auto; }
	.vsp:is(.vsp,#vsp#vsp) .vsp-card--pad { padding: 18px 16px; }
}

/* =================================================================
 * Join the Research Community (/join/)
 * ================================================================= */
.vsp:is(.vsp,#vsp#vsp) .vsr-body { max-width: 1240px; margin: 0 auto; }
.vsp:is(.vsp,#vsp#vsp) .vsr-sec { padding: 56px 0; position: relative; }
.vsp:is(.vsp,#vsp#vsp) .vsr-sec--tint, .vsp:is(.vsp,#vsp#vsp) .vsr-sec--navy { padding-left: max(24px, calc((100vw - 1192px) / 2)); padding-right: max(24px, calc((100vw - 1192px) / 2)); width: 100vw; margin-left: calc(50% - 50vw); }
.vsp:is(.vsp,#vsp#vsp) .vsr-sec--tint { background: #fbf6ea; border-top: 1px solid #efe3c4; border-bottom: 1px solid #efe3c4; }
.vsp:is(.vsp,#vsp#vsp) .vsr-sec--navy { background: radial-gradient(900px 400px at 85% 0, rgba(201,162,39,.18), transparent 60%), linear-gradient(160deg, #1b2a57, #0b1532); color: #e9e3d0; }
.vsp:is(.vsp,#vsp#vsp) .vsr-head { text-align: center; max-width: 760px; margin: 0 auto 30px; }
.vsp:is(.vsp,#vsp#vsp) .vsr-eyebrow { font-size: 12px; letter-spacing: .22em; text-transform: uppercase; color: #b8862a; font-weight: 700; margin: 0 0 8px; }
.vsp:is(.vsp,#vsp#vsp) .vsr-title { font-family: var(--vsp-serif); font-size: clamp(28px, 3.3vw, 40px); font-weight: 700; color: var(--vso-navy); line-height: 1.12; margin: 0; }
.vsp:is(.vsp,#vsp#vsp) .vsr-sec--navy .vsr-title { color: #f3e3b5; }
.vsp:is(.vsp,#vsp#vsp) .vsr-sec--navy .vsr-eyebrow { color: #e9c46a; }
.vsp:is(.vsp,#vsp#vsp) .vsr-orn { display: block; color: #c9a227; font-size: 14px; margin: 10px 0 0; letter-spacing: .4em; }
.vsp:is(.vsp,#vsp#vsp) .vsr-orn::before, .vsp:is(.vsp,#vsp#vsp) .vsr-orn::after { content: ""; display: inline-block; vertical-align: middle; width: 54px; height: 1px; background: linear-gradient(90deg, transparent, #c9a227); margin: 0 10px; }
.vsp:is(.vsp,#vsp#vsp) .vsr-orn::after { background: linear-gradient(90deg, #c9a227, transparent); }
.vsp:is(.vsp,#vsp#vsp) .vsr-lead { font-size: 16px; color: var(--vso-muted); margin: 12px 0 0; }
.vsp:is(.vsp,#vsp#vsp) .vsr-checks li { position: relative; padding-left: 26px; margin: 0 0 8px; font-size: 14.5px; color: #3a4058; }
.vsp:is(.vsp,#vsp#vsp) .vsr-checks li::before { content: "✓"; display: grid; place-items: center; position: absolute; left: 0; top: 2px; width: 18px; height: 18px; border-radius: 50%; background: #f4ead0; color: #8a6514; font-size: 11px; font-weight: 800; }

.vsp:is(.vsp,#vsp#vsp) .vsr-mine { display: flex; align-items: center; gap: 16px; margin: 26px 0 0; padding: 16px 20px; border: 1px solid #e9d9a6; border-radius: 12px; background: #fffaf0; }
.vsp:is(.vsp,#vsp#vsp) .vsr-mine__ic { color: #b8862a; }
.vsp:is(.vsp,#vsp#vsp) .vsr-mine div { flex: 1; }
.vsp:is(.vsp,#vsp#vsp) .vsr-mine strong { display: block; color: var(--vso-navy); }
.vsp:is(.vsp,#vsp#vsp) .vsr-mine div > span { font-size: 14px; color: var(--vso-muted); }

.vsp:is(.vsp,#vsp#vsp) .vsr-about { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 48px; align-items: center; }
.vsp:is(.vsp,#vsp#vsp) .vsr-about .vsr-head { text-align: left; margin: 0 0 18px; }
.vsp:is(.vsp,#vsp#vsp) .vsr-about .vsr-orn::before { display: none; }
.vsp:is(.vsp,#vsp#vsp) .vsr-about .vsr-orn { letter-spacing: 0; }
.vsp:is(.vsp,#vsp#vsp) .vsr-about__text > p { font-size: 16px; line-height: 1.7; color: #3a4058; margin: 0 0 14px; }
.vsp:is(.vsp,#vsp#vsp) .vsr-about .vsr-checks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 18px; margin-top: 18px; }
.vsp:is(.vsp,#vsp#vsp) .vsr-about__art { position: relative; }
.vsp:is(.vsp,#vsp#vsp) .vsr-about__img { aspect-ratio: 4 / 3; border-radius: 16px; background-size: cover; background-position: 30% 50%; box-shadow: 0 30px 60px -30px rgba(11,21,50,.55); border: 6px solid #fff; outline: 1px solid #e9d9a6; }
.vsp:is(.vsp,#vsp#vsp) .vsr-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: -42px 18px 0; position: relative; }
.vsp:is(.vsp,#vsp#vsp) .vsr-stats > div { background: #fff; border: 1px solid #ebe1c9; border-radius: 12px; padding: 12px 14px; box-shadow: 0 10px 24px -18px rgba(11,21,50,.5); display: flex; flex-direction: column-reverse; }
.vsp:is(.vsp,#vsp#vsp) .vsr-stats dd { margin: 0; font-family: var(--vsp-serif); font-size: 30px; font-weight: 700; color: var(--vso-navy); line-height: 1; }
.vsp:is(.vsp,#vsp#vsp) .vsr-stats dt { font-size: 12.5px; color: var(--vso-muted); margin-top: 4px; }

.vsp:is(.vsp,#vsp#vsp) .vsr-paths { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.vsp:is(.vsp,#vsp#vsp) .vsr-path { display: flex; flex-direction: column; background: #fff; border: 1px solid #ebe1c9; border-radius: 14px; padding: 26px 24px 22px; position: relative; overflow: hidden; transition: transform .2s, box-shadow .2s; }
.vsp:is(.vsp,#vsp#vsp) .vsr-path::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: linear-gradient(90deg, #c4952c, #e9c46a, #c4952c); }
.vsp:is(.vsp,#vsp#vsp) .vsr-path:hover { transform: translateY(-3px); box-shadow: 0 24px 40px -28px rgba(11,21,50,.55); }
.vsp:is(.vsp,#vsp#vsp) .vsr-path__ic { width: 64px; height: 64px; border-radius: 50%; display: grid; place-items: center; background: radial-gradient(circle at 30% 30%, #fffaf0, #f4ead0); border: 1px solid #e3cf98; color: #a87d1e; margin-bottom: 14px; }
.vsp:is(.vsp,#vsp#vsp) .vsr-path h3 { font-family: var(--vsp-serif); font-size: 25px; font-weight: 700; color: var(--vso-navy); margin: 0 0 8px; }
.vsp:is(.vsp,#vsp#vsp) .vsr-path > p { font-size: 14.5px; color: var(--vso-muted); margin: 0 0 14px; }
.vsp:is(.vsp,#vsp#vsp) .vsr-path .vsr-checks { margin-bottom: 18px; }
.vsp:is(.vsp,#vsp#vsp) .vsr-path__cta { margin-top: auto; display: grid; gap: 10px; text-align: center; }
.vsp:is(.vsp,#vsp#vsp) .vsr-path__login { font-size: 13.5px; }
.vsp:is(.vsp,#vsp#vsp) .vsr-path--astro { background: linear-gradient(180deg, #fff 60%, #fffaf0); }
.vsp:is(.vsp,#vsp#vsp) .vsr-soon { display: block; padding: 11px; border: 1px dashed #cdb67c; border-radius: 6px; color: #8a6514; font-weight: 600; font-size: 14px; }

.vsp:is(.vsp,#vsp#vsp) .vsr-cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.vsp:is(.vsp,#vsp#vsp) .vsr-deslist { background: #fff; border: 1px solid #ebe1c9; border-radius: 14px; padding: 22px 24px; }
.vsp:is(.vsp,#vsp#vsp) .vsr-deslist h3, .vsp:is(.vsp,#vsp#vsp) .vsr-panel h3 { display: flex; align-items: center; gap: 10px; font-family: var(--vsp-serif); font-size: 23px; font-weight: 700; color: var(--vso-navy); margin: 0 0 12px; }
.vsp:is(.vsp,#vsp#vsp) .vsr-panel h3 .vso-ic { color: #b8862a; }
.vsp:is(.vsp,#vsp#vsp) .vsr-deslist li { padding: 12px 0; border-top: 1px solid #f1eadb; }
.vsp:is(.vsp,#vsp#vsp) .vsr-deslist__top { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.vsp:is(.vsp,#vsp#vsp) .vsr-deslist strong { color: var(--vso-navy); font-size: 15px; }
.vsp:is(.vsp,#vsp#vsp) .vsr-deslist code { font: 600 11.5px/1 ui-monospace, monospace; background: #0f1b3d; color: #e9c46a; padding: 4px 7px; border-radius: 4px; }
.vsp:is(.vsp,#vsp#vsp) .vsr-tag { margin-left: auto; font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; padding: 3px 9px; border-radius: 999px; }
.vsp:is(.vsp,#vsp#vsp) .vsr-tag--open { background: #e8f3ec; color: #1e6b3a; }
.vsp:is(.vsp,#vsp#vsp) .vsr-tag--invite { background: #f4ead0; color: #8a6514; }
.vsp:is(.vsp,#vsp#vsp) .vsr-tag--soon { background: #eef0f6; color: #545b73; }
.vsp:is(.vsp,#vsp#vsp) .vsr-deslist p { margin: 5px 0 0; font-size: 13.5px; color: var(--vso-muted); line-height: 1.5; }
.vsp:is(.vsp,#vsp#vsp) .vsr-deslist em { color: #8a5a00; font-style: normal; font-weight: 600; }

.vsp:is(.vsp,#vsp#vsp) .vsr-steps { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 18px; counter-reset: none; position: relative; }
.vsp:is(.vsp,#vsp#vsp) .vsr-steps::before { content: ""; position: absolute; left: 10%; right: 10%; top: 31px; border-top: 2px dashed #e3cf98; }
.vsp:is(.vsp,#vsp#vsp) .vsr-steps li { position: relative; text-align: center; padding: 0 6px; }
.vsp:is(.vsp,#vsp#vsp) .vsr-steps__n { position: absolute; top: -4px; left: calc(50% + 18px); width: 24px; height: 24px; border-radius: 50%; background: var(--vso-navy); color: #fff; font: 700 12px/24px var(--vso-sans); text-align: center; z-index: 2; }
.vsp:is(.vsp,#vsp#vsp) .vsr-steps__ic { width: 64px; height: 64px; margin: 0 auto 12px; border-radius: 50%; display: grid; place-items: center; background: #fff; border: 1px solid #e3cf98; color: #a87d1e; position: relative; z-index: 1; box-shadow: 0 0 0 6px #fff; }
.vsp:is(.vsp,#vsp#vsp) .vsr-steps strong { display: block; font-family: var(--vsp-serif); font-size: 19px; color: var(--vso-navy); margin-bottom: 4px; }
.vsp:is(.vsp,#vsp#vsp) .vsr-steps p { font-size: 13.5px; color: var(--vso-muted); margin: 0; }

.vsp:is(.vsp,#vsp#vsp) .vsr-gets { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.vsp:is(.vsp,#vsp#vsp) .vsr-get { background: rgba(255,255,255,.05); border: 1px solid rgba(233,196,106,.25); border-radius: 12px; padding: 20px; }
.vsp:is(.vsp,#vsp#vsp) .vsr-get span { color: #e9c46a; display: block; margin-bottom: 8px; }
.vsp:is(.vsp,#vsp#vsp) .vsr-get strong { display: block; color: #fff; font-size: 16px; margin-bottom: 4px; }
.vsp:is(.vsp,#vsp#vsp) .vsr-get p { margin: 0; font-size: 14px; color: #cfd4e6; }

.vsp:is(.vsp,#vsp#vsp) .vsr-badges { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.vsp:is(.vsp,#vsp#vsp) .vsr-badge { background: #fff; border: 1px solid #ebe1c9; border-radius: 12px; padding: 18px; }
.vsp:is(.vsp,#vsp#vsp) .vsr-badge__chip { display: inline-block; padding: 5px 12px; border-radius: 999px; background: #e8f3ec; color: #1e6b3a; font-weight: 700; font-size: 13px; margin-bottom: 10px; border: 1px solid #b9dcc6; }
.vsp:is(.vsp,#vsp#vsp) .vsr-badge p { margin: 0; font-size: 13.5px; color: var(--vso-muted); line-height: 1.5; }
.vsp:is(.vsp,#vsp#vsp) .vsr-note { text-align: center; font-size: 14px; color: var(--vso-muted); margin: 20px 0 0; }

.vsp:is(.vsp,#vsp#vsp) .vsr-panel { background: #fff; border: 1px solid #ebe1c9; border-radius: 14px; padding: 24px 26px; }
.vsp:is(.vsp,#vsp#vsp) .vsr-panel p { font-size: 14.5px; color: #3a4058; }
.vsp:is(.vsp,#vsp#vsp) .vsr-faq { max-width: 860px; margin: 0 auto; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 14px; align-items: start; }

.vsp:is(.vsp,#vsp#vsp) .vsr-final { position: relative; overflow: hidden; width: 100vw; margin-left: calc(50% - 50vw); background: #0b1532; color: #fff; text-align: center; }
.vsp:is(.vsp,#vsp#vsp) .vsr-final__img { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: .35; }
.vsp:is(.vsp,#vsp#vsp) .vsr-final::after { content: ""; position: absolute; inset: 0; background: radial-gradient(ellipse at center, rgba(11,21,50,.55), rgba(11,21,50,.92)); }
.vsp:is(.vsp,#vsp#vsp) .vsr-final__in { position: relative; z-index: 1; max-width: 760px; margin: 0 auto; padding: 64px 24px; }
.vsp:is(.vsp,#vsp#vsp) .vsr-final h2 { font-family: var(--vsp-serif); font-size: clamp(30px, 3.6vw, 44px); color: #e9c46a; margin: 0 0 10px; }
.vsp:is(.vsp,#vsp#vsp) .vsr-final p { color: #f1ead6; font-size: 16px; }
.vsp:is(.vsp,#vsp#vsp) .vsr-final__btns { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin: 18px 0 10px; }
.vsp:is(.vsp,#vsp#vsp) .vso-btn--ghost { background: transparent; border-color: #e9c46a; color: #fff !important; }
.vsp:is(.vsp,#vsp#vsp) .vso-btn--ghost:hover { background: rgba(233,196,106,.12); }
.vsp:is(.vsp,#vsp#vsp) .vsr-final__small { font-size: 14px; }
.vsp:is(.vsp,#vsp#vsp) .vsr-final__small a:not(.vso-btn) { color: #e9c46a; }

@media (max-width: 1000px) {
	.vsp:is(.vsp,#vsp#vsp) .vsr-about { grid-template-columns: minmax(0, 1fr); gap: 30px; }
	.vsp:is(.vsp,#vsp#vsp) .vsr-paths, .vsp:is(.vsp,#vsp#vsp) .vsr-gets { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.vsp:is(.vsp,#vsp#vsp) .vsr-path--fellow { grid-column: 1 / -1; }
	.vsp:is(.vsp,#vsp#vsp) .vsr-badges { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.vsp:is(.vsp,#vsp#vsp) .vsr-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 26px; }
	.vsp:is(.vsp,#vsp#vsp) .vsr-steps::before { display: none; }
}
@media (max-width: 700px) {
	.vsp:is(.vsp,#vsp#vsp) .vsr-body { padding: 0 16px; }
	.vsp:is(.vsp,#vsp#vsp) .vsr-sec { padding: 40px 0; }
	.vsp:is(.vsp,#vsp#vsp) .vsr-sec--tint, .vsp:is(.vsp,#vsp#vsp) .vsr-sec--navy { padding-left: 16px; padding-right: 16px; }
	.vsp:is(.vsp,#vsp#vsp) .vsr-paths, .vsp:is(.vsp,#vsp#vsp) .vsr-gets, .vsp:is(.vsp,#vsp#vsp) .vsr-badges, .vsp:is(.vsp,#vsp#vsp) .vsr-cols, .vsp:is(.vsp,#vsp#vsp) .vsr-faq, .vsp:is(.vsp,#vsp#vsp) .vsr-about .vsr-checks { grid-template-columns: minmax(0, 1fr); }
	.vsp:is(.vsp,#vsp#vsp) .vsr-steps { grid-template-columns: minmax(0, 1fr); text-align: left; }
	.vsp:is(.vsp,#vsp#vsp) .vsr-steps li { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 0 14px; text-align: left; }
	.vsp:is(.vsp,#vsp#vsp) .vsr-steps__ic { grid-row: 1 / span 2; width: 52px; height: 52px; margin: 0; }
	.vsp:is(.vsp,#vsp#vsp) .vsr-steps__n { left: 34px; top: -6px; }
	.vsp:is(.vsp,#vsp#vsp) .vsr-mine { flex-wrap: wrap; }
	.vsp:is(.vsp,#vsp#vsp) .vsr-stats { margin: -30px 8px 0; }
	.vsp:is(.vsp,#vsp#vsp) .vsr-deslist, .vsp:is(.vsp,#vsp#vsp) .vsr-panel { padding: 18px; }
}

/* =================================================================
 * Astrologers Directory & profile
 * ================================================================= */
.vsp:is(.vsp,#vsp#vsp) .vsd-i { display: block; flex: 0 0 auto; }
.vsp:is(.vsp,#vsp#vsp) .vsd-link { display: inline-flex; align-items: center; gap: 6px; background: none; border: 0; padding: 0; min-height: 0; box-shadow: none; color: var(--vso-navy-2); font: 600 13.5px var(--vsp-sans); cursor: pointer; text-decoration: none; border-radius: 0; }
.vsp:is(.vsp,#vsp#vsp) .vsd-link:hover { color: #a87d1e; }
.vsp:is(.vsp,#vsp#vsp) .vsd-sub { color: var(--vso-muted); font-size: 14px; }
.vsp:is(.vsp,#vsp#vsp) .vsd-stars { color: #e0a825; letter-spacing: 1px; }
.vsp:is(.vsp,#vsp#vsp) .vsd-stars i { color: #d9d3c2; font-style: normal; }

/* Directory banner */
.vsp:is(.vsp,#vsp#vsp) .vsd-hero .vsp-hero__img { width: 62%; }
.vsp:is(.vsp,#vsp#vsp) .vsd-hero .vsp-hero__in { grid-template-columns: minmax(0, 1fr); min-height: 270px; }
.vsp:is(.vsp,#vsp#vsp) .vsd-hero .vsp-hero__title { font-size: clamp(36px, 4.4vw, 52px); max-width: none; }
.vsp:is(.vsp,#vsp#vsp) .vsd-hero::after { background: linear-gradient(90deg, #0b1532 0, rgba(11,21,50,.94) 36%, rgba(11,21,50,.35) 56%, rgba(11,21,50,.05) 75%); }
.vsp:is(.vsp,#vsp#vsp) .vsd-feat { display: grid; grid-template-columns: repeat(2, max-content); gap: 12px 30px; margin: 22px 0 0; }
.vsp:is(.vsp,#vsp#vsp) .vsd-feat li { display: flex; align-items: center; gap: 10px; font-size: 14.5px; color: #f4eedd; }
.vsp:is(.vsp,#vsp#vsp) .vsd-feat li > span { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: rgba(233,196,106,.16); border: 1px solid rgba(233,196,106,.55); color: #e9c46a; }

/* Tools */
.vsp:is(.vsp,#vsp#vsp) .vsd-grid2 { padding-top: 22px; }
.vsp:is(.vsp,#vsp#vsp) .vsd-tools { padding: 16px 18px 14px; margin-bottom: 18px; }
.vsp:is(.vsp,#vsp#vsp) .vsd-tabs { display: flex; gap: 4px; overflow-x: auto; scrollbar-width: thin; padding-bottom: 10px; border-bottom: 1px solid #efe6d1; }
.vsp:is(.vsp,#vsp#vsp) .vsd-tab { display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; padding: 8px 12px; border: 0; border-radius: 6px; background: transparent; color: var(--vso-ink); font: 500 13.5px var(--vsp-sans); cursor: pointer; min-height: 0; box-shadow: none; }
.vsp:is(.vsp,#vsp#vsp) .vsd-tab .vsd-i { color: #a87d1e; }
.vsp:is(.vsp,#vsp#vsp) .vsd-tab:hover { background: #fbf6ea; }
.vsp:is(.vsp,#vsp#vsp) .vsd-tab[aria-selected=true] { background: var(--vso-navy); color: #fff; }
.vsp:is(.vsp,#vsp#vsp) .vsd-tab[aria-selected=true] .vsd-i { color: #e9c46a; }
.vsp:is(.vsp,#vsp#vsp) .vsd-search { display: flex; margin: 14px 0 12px; border: 1px solid #d6cbb0; border-radius: 6px; overflow: hidden; background: #fff; }
.vsp:is(.vsp,#vsp#vsp) .vsd-search__ic { display: grid; place-items: center; width: 42px; color: #9a9fb0; }
.vsp:is(.vsp,#vsp#vsp) .vsd-search input[type=search] { flex: 1; border: 0 !important; box-shadow: none !important; min-height: 44px; padding: 0; font-size: 14.5px; background: transparent; }
.vsp:is(.vsp,#vsp#vsp) .vsd-search .vso-btn { border-radius: 0; min-width: 110px; }
.vsp:is(.vsp,#vsp#vsp) .vsd-filters { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.vsp:is(.vsp,#vsp#vsp) .vsd-sel { display: flex; flex-direction: column; gap: 2px; border: 1px solid #e3d8be; border-radius: 6px; padding: 6px 10px 2px; background: #fff; margin: 0; }
.vsp:is(.vsp,#vsp#vsp) .vsd-sel > span { font-size: 12px; font-weight: 600; color: var(--vso-navy); }
.vsp:is(.vsp,#vsp#vsp) .vsd-sel select { border: 0 !important; box-shadow: none !important; padding: 0 0 4px !important; min-height: 26px !important; font-size: 13px !important; color: var(--vso-muted); background: transparent; }
.vsp:is(.vsp,#vsp#vsp) .vsd-sort { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 14px; }
.vsp:is(.vsp,#vsp#vsp) .vsd-sort__l { font-size: 13.5px; font-weight: 600; color: var(--vso-navy); margin-right: 4px; }
.vsp:is(.vsp,#vsp#vsp) .vsd-pill { min-height: 0; padding: 6px 13px; border: 1px solid #e3d8be; border-radius: 6px; background: #fff; color: var(--vso-ink); font: 500 13px var(--vsp-sans); cursor: pointer; box-shadow: none; }
.vsp:is(.vsp,#vsp#vsp) .vsd-pill[aria-pressed=true] { background: var(--vso-navy); border-color: var(--vso-navy); color: #fff; }
.vsp:is(.vsp,#vsp#vsp) .vsd-count { margin-left: auto; font-size: 13px; color: var(--vso-muted); }

/* Cards */
.vsp:is(.vsp,#vsp#vsp) .vsd-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.vsp:is(.vsp,#vsp#vsp) .vsd-card { background: #fff; border: 1px solid #ebe1c9; border-radius: 10px; overflow: hidden; display: flex; flex-direction: column; transition: transform .2s, box-shadow .2s; }
.vsp:is(.vsp,#vsp#vsp) .vsd-card:hover { transform: translateY(-3px); box-shadow: 0 22px 38px -26px rgba(11,21,50,.55); }
.vsp:is(.vsp,#vsp#vsp) .vsd-card[hidden] { display: none; }
.vsp:is(.vsp,#vsp#vsp) .vsd-card__img { position: relative; aspect-ratio: 4 / 3; background: linear-gradient(160deg, #1b2a57, #0b1532); overflow: hidden; }
.vsp:is(.vsp,#vsp#vsp) .vsd-card__img > a { display: block; width: 100%; height: 100%; }
.vsp:is(.vsp,#vsp#vsp) .vsd-card__photo { width: 100%; height: 100%; object-fit: cover; object-position: 50% 22%; display: block; }
.vsp:is(.vsp,#vsp#vsp) .vsd-card__img .vsx-ini { width: 100%; height: 100%; display: grid; place-items: center; font: 700 44px var(--vsp-serif); color: #e9c46a; background: radial-gradient(circle at 50% 40%, #24346b, #0b1532); }
.vsp:is(.vsp,#vsp#vsp) .vsd-st { position: absolute; left: 10px; top: 10px; display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px 4px 8px; border-radius: 999px; font: 600 11.5px var(--vsp-sans); color: #fff; background: #6b7186; }
.vsp:is(.vsp,#vsp#vsp) .vsd-st::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; opacity: .9; }
.vsp:is(.vsp,#vsp#vsp) [data-status=online] > .vsd-card__img .vsd-st, .vsp:is(.vsp,#vsp#vsp) [data-status=online] .vsd-st { background: #1e8a4a; }
.vsp:is(.vsp,#vsp#vsp) [data-status=busy] > .vsd-card__img .vsd-st, .vsp:is(.vsp,#vsp#vsp) [data-status=busy] .vsd-st { background: #d28a12; }
.vsp:is(.vsp,#vsp#vsp) .vsd-fav { position: absolute; right: 10px; top: 10px; width: 34px; height: 34px; min-height: 0; padding: 0; border-radius: 50%; border: 0; background: rgba(255,255,255,.92); color: var(--vso-navy); display: grid; place-items: center; cursor: pointer; box-shadow: 0 4px 12px rgba(0,0,0,.18); }
.vsp:is(.vsp,#vsp#vsp) .vsd-fav.is-on { color: #c0392b; }
.vsp:is(.vsp,#vsp#vsp) .vsd-fav.is-on .vsd-i { fill: currentColor; }
.vsp:is(.vsp,#vsp#vsp) .vsd-card__b { padding: 12px 14px 14px; display: flex; flex-direction: column; flex: 1; }
.vsp:is(.vsp,#vsp#vsp) .vsd-card__n { display: flex; align-items: center; gap: 6px; font-family: var(--vsp-serif); font-size: 19px; font-weight: 700; color: var(--vso-navy); margin: 0 0 2px; }
.vsp:is(.vsp,#vsp#vsp) .vsd-card__n a:not(.vso-btn) { color: inherit; text-decoration: none; }
.vsp:is(.vsp,#vsp#vsp) .vsd-ok { color: #1e8a4a; }
.vsp:is(.vsp,#vsp#vsp) .vsd-card__r { font-size: 13px; margin: 0 0 6px; color: var(--vso-muted); }
.vsp:is(.vsp,#vsp#vsp) .vsd-card__r b { color: #b8862a; }
.vsp:is(.vsp,#vsp#vsp) .vsd-new { color: #8a6514; font-weight: 600; }
.vsp:is(.vsp,#vsp#vsp) .vsd-card__m li { display: flex; align-items: center; gap: 6px; font-size: 12.5px; color: #3a4058; margin: 0 0 3px; }
.vsp:is(.vsp,#vsp#vsp) .vsd-card__m .vsd-i { color: #8a6514; }
.vsp:is(.vsp,#vsp#vsp) .vsd-chips { display: flex; flex-wrap: wrap; gap: 5px; margin: 8px 0 10px; }
.vsp:is(.vsp,#vsp#vsp) .vsd-chips span { font-size: 11.5px; padding: 3px 8px; border-radius: 4px; background: #fbf3dc; color: #7a5a12; border: 1px solid #f0e2b8; }
.vsp:is(.vsp,#vsp#vsp) .vsd-acts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; margin: auto 0 8px; padding-top: 4px; }
.vsp:is(.vsp,#vsp#vsp) .vsd-act { display: flex; flex-direction: column; align-items: center; gap: 3px; background: none; border: 0; padding: 0; min-height: 0; box-shadow: none; cursor: pointer; color: var(--vso-navy); font: 500 11.5px var(--vsp-sans); border-radius: 0; }
.vsp:is(.vsp,#vsp#vsp) .vsd-act__ic { width: 38px; height: 38px; border-radius: 50%; border: 1px solid #d9cba5; display: grid; place-items: center; background: #fff; transition: background .15s; }
.vsp:is(.vsp,#vsp#vsp) .vsd-act:hover .vsd-act__ic { background: #fbf3dc; }
.vsp:is(.vsp,#vsp#vsp) .vsd-act:disabled { opacity: .45; cursor: not-allowed; }
.vsp:is(.vsp,#vsp#vsp) .vsd-price { text-align: center; margin: 4px 0 10px; color: var(--vso-muted); font-size: 13px; }
.vsp:is(.vsp,#vsp#vsp) .vsd-price b { font-size: 18px; color: var(--vso-navy); }
.vsp:is(.vsp,#vsp#vsp) .vsd-empty, .vsp:is(.vsp,#vsp#vsp) .vsd-none { grid-column: 1 / -1; padding: 30px; text-align: center; background: #fff; border: 1px dashed #d9cba5; border-radius: 10px; color: var(--vso-muted); }

/* Directory sidebar */
.vsp:is(.vsp,#vsp#vsp) .vsd-why { padding: 0; overflow: hidden; }
.vsp:is(.vsp,#vsp#vsp) .vsd-why__head { position: relative; padding: 46px 18px 18px; background-size: cover; background-position: 40% 50%; text-align: center; }
.vsp:is(.vsp,#vsp#vsp) .vsd-why__head::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(11,21,50,.55), rgba(11,21,50,.92)); }
.vsp:is(.vsp,#vsp#vsp) .vsd-why__head h2 { position: relative; font-family: var(--vsp-serif); font-size: 22px; font-weight: 700; color: #f3e3b5; line-height: 1.2; }
.vsp:is(.vsp,#vsp#vsp) .vsd-why .vsr-checks { padding: 16px 18px 8px; }
.vsp:is(.vsp,#vsp#vsp) .vsr-checks li { position: relative; padding-left: 26px; margin: 0 0 9px; font-size: 14px; color: #3a4058; }
.vsp:is(.vsp,#vsp#vsp) .vsr-checks li::before { content: "✓"; display: grid; place-items: center; position: absolute; left: 0; top: 2px; width: 18px; height: 18px; border-radius: 50%; background: linear-gradient(180deg, #e2bd55, #c4952c); color: #fff; font-size: 11px; font-weight: 800; }
.vsp:is(.vsp,#vsp#vsp) .vsd-find { padding: 0; overflow: hidden; }
.vsp:is(.vsp,#vsp#vsp) .vsd-find__t { margin: 0; padding: 14px 18px; background: linear-gradient(160deg, #1b2a57, #0b1532); color: #f3e3b5 !important; }
.vsp:is(.vsp,#vsp#vsp) .vsd-find li button { width: 100%; display: flex; align-items: center; gap: 12px; padding: 10px 16px; border: 0; border-top: 1px solid #f1eadb; background: #fff; text-align: left; cursor: pointer; min-height: 0; box-shadow: none; border-radius: 0; color: var(--vso-navy); font: 500 14px var(--vsp-sans); }
.vsp:is(.vsp,#vsp#vsp) .vsd-find li button:hover { background: #fbf6ea; }
.vsp:is(.vsp,#vsp#vsp) .vsd-find li button > span:nth-child(2) { flex: 1; }
.vsp:is(.vsp,#vsp#vsp) .vsd-find__ic { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: #fbf3dc; color: #a87d1e; }
.vsp:is(.vsp,#vsp#vsp) .vsd-promo { position: relative; overflow: hidden; border-radius: 10px; padding: 22px 20px; background-size: cover; background-position: 60% 50%; color: #fff; }
.vsp:is(.vsp,#vsp#vsp) .vsd-promo::before { content: ""; position: absolute; inset: 0; background: linear-gradient(160deg, rgba(11,21,50,.95), rgba(11,21,50,.55)); }
.vsp:is(.vsp,#vsp#vsp) .vsd-promo > * { position: relative; }
.vsp:is(.vsp,#vsp#vsp) .vsd-promo h2 { font-family: var(--vsp-serif); font-size: 22px; font-weight: 700; color: #fff; margin: 0 0 6px; }
.vsp:is(.vsp,#vsp#vsp) .vsd-promo p { font-size: 14px; color: #e7e2d3; margin: 0 0 14px; }

/* Ways to connect */
.vsp:is(.vsp,#vsp#vsp) .vsd-ways { width: 100vw; margin: 40px 0 0 calc(50% - 50vw); padding: 40px max(24px, calc((100vw - 1192px) / 2)) 46px; background: radial-gradient(800px 300px at 50% 0, rgba(201,162,39,.2), transparent 60%), linear-gradient(160deg, #1b2a57, #0b1532); text-align: center; color: #fff; }
.vsp:is(.vsp,#vsp#vsp) .vsd-ways > h2 { font-family: var(--vsp-serif); font-size: clamp(26px, 3vw, 34px); font-weight: 700; color: #f3e3b5; margin: 0 0 4px; }
.vsp:is(.vsp,#vsp#vsp) .vsd-ways > p { color: #d7d3c4; margin: 0 0 24px; }
.vsp:is(.vsp,#vsp#vsp) .vsd-ways__g { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; text-align: left; }
.vsp:is(.vsp,#vsp#vsp) .vsd-way { display: flex; gap: 14px; background: #fffaf0; border-radius: 12px; padding: 18px; color: var(--vso-ink); border: 1px solid #e9d9a6; }
.vsp:is(.vsp,#vsp#vsp) .vsd-way__ic { flex: 0 0 56px; width: 56px; height: 56px; border-radius: 50%; display: grid; place-items: center; background: linear-gradient(180deg, #e2bd55, #c4952c); color: #fff; }
.vsp:is(.vsp,#vsp#vsp) .vsd-way h3 { font-family: var(--vsp-serif); font-size: 19px; font-weight: 700; color: var(--vso-navy); margin: 0 0 4px; }
.vsp:is(.vsp,#vsp#vsp) .vsd-way p { font-size: 13px; color: var(--vso-muted); margin: 0 0 10px; }
.vsp:is(.vsp,#vsp#vsp) .vsd-way .vso-btn { min-height: 38px; padding: 8px 16px; font-size: 13.5px; }

/* Profile banner */
.vsp:is(.vsp,#vsp#vsp) .vsd-phero { position: relative; width: 100vw; margin-left: calc(50% - 50vw); background: #0b1532; color: #fff; overflow: hidden; }
.vsp:is(.vsp,#vsp#vsp) .vsd-phero__bg { position: absolute; inset: 0 0 0 30%; background-size: cover; background-position: 50% 40%; -webkit-mask-image: linear-gradient(90deg, transparent, #000 30%); mask-image: linear-gradient(90deg, transparent, #000 30%); opacity: .9; }
.vsp:is(.vsp,#vsp#vsp) .vsd-phero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, #0b1532 0, rgba(11,21,50,.85) 40%, rgba(11,21,50,.35) 70%, rgba(11,21,50,.65) 100%); pointer-events: none; }
.vsp:is(.vsp,#vsp#vsp) .vsd-phero__in { position: relative; z-index: 1; max-width: 1240px; margin: 0 auto; padding: 18px 24px 30px; }
.vsp:is(.vsp,#vsp#vsp) .vsd-phero__g { display: grid; grid-template-columns: 300px minmax(0, 1fr) 300px; gap: 30px; align-items: start; margin-top: 6px; }
.vsp:is(.vsp,#vsp#vsp) .vsd-pphoto__img { position: relative; border-radius: 14px; overflow: hidden; aspect-ratio: 1 / 1; background: radial-gradient(circle at 50% 40%, #24346b, #0b1532); border: 2px solid rgba(233,196,106,.6); box-shadow: 0 24px 40px -20px rgba(0,0,0,.7); }
.vsp:is(.vsp,#vsp#vsp) .vsd-pphoto__photo { width: 100%; height: 100%; object-fit: cover; object-position: 50% 20%; display: block; }
.vsp:is(.vsp,#vsp#vsp) .vsd-pphoto__img .vsx-ini { width: 100%; height: 100%; display: grid; place-items: center; font: 700 72px var(--vsp-serif); color: #e9c46a; }
.vsp:is(.vsp,#vsp#vsp) .vsd-verified { position: absolute; left: 12px; bottom: 12px; display: inline-flex; align-items: center; gap: 7px; padding: 7px 14px 7px 8px; border-radius: 999px; background: rgba(11,21,50,.85); color: #fff; font: 600 13.5px var(--vsp-sans); border: 1px solid rgba(233,196,106,.6); }
.vsp:is(.vsp,#vsp#vsp) .vsd-verified .vsd-i { color: #fff; background: #1e8a4a; border-radius: 50%; padding: 2px; width: 22px; height: 22px; }
.vsp:is(.vsp,#vsp#vsp) .vsd-thumbs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-top: 10px; }
.vsp:is(.vsp,#vsp#vsp) .vsd-thumbs a { position: relative; display: block; aspect-ratio: 1 / 1; border-radius: 8px; overflow: hidden; border: 2px solid rgba(233,196,106,.7); }
.vsp:is(.vsp,#vsp#vsp) .vsd-thumbs img { width: 100%; height: 100%; object-fit: cover; }
.vsp:is(.vsp,#vsp#vsp) .vsd-thumbs .is-video span { position: absolute; inset: 0; display: grid; place-items: center; color: #fff; background: rgba(0,0,0,.25); }
.vsp:is(.vsp,#vsp#vsp) .vsd-pinfo { padding-top: 60px; }
.vsp:is(.vsp,#vsp#vsp) .vsd-pinfo__n { font-family: var(--vsp-serif); font-size: clamp(32px, 3.6vw, 46px); font-weight: 700; color: #f3e3b5; margin: 0 0 10px; line-height: 1.05; }
.vsp:is(.vsp,#vsp#vsp) .vsd-title { display: inline-flex; align-items: center; gap: 6px; padding: 4px 12px; border-radius: 6px; background: linear-gradient(180deg, #e2bd55, #c4952c); color: #1d1405; font: 700 13px var(--vsp-sans); }
.vsp:is(.vsp,#vsp#vsp) .vsd-rid { font: 600 12px ui-monospace, monospace; color: #e9c46a; margin-left: 8px; }
.vsp:is(.vsp,#vsp#vsp) .vsd-pinfo__s { margin: 12px 0 10px; font-size: 16px; color: #f1ead6; }
.vsp:is(.vsp,#vsp#vsp) .vsd-pinfo__r { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; font-size: 14.5px; color: #e2dccb; }
.vsp:is(.vsp,#vsp#vsp) .vsd-pinfo__r b { color: #f3c64e; font-size: 17px; }
.vsp:is(.vsp,#vsp#vsp) .vsd-top { padding: 3px 10px; border-radius: 4px; background: #e9c46a; color: #1d1405; font-weight: 700; font-size: 12px; }
.vsp:is(.vsp,#vsp#vsp) .vsd-pinfo__x { display: inline-flex; align-items: center; gap: 6px; }
.vsp:is(.vsp,#vsp#vsp) .vsd-pinfo__l { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 14px 0 0; font-size: 14px; color: #f1ead6; }
.vsp:is(.vsp,#vsp#vsp) .vsd-pinfo__l span { display: inline-flex; align-items: center; gap: 6px; }
.vsp:is(.vsp,#vsp#vsp) .vsd-pfacts { display: flex; flex-wrap: wrap; gap: 14px 28px; margin: 24px 0 0; }
.vsp:is(.vsp,#vsp#vsp) .vsd-pfacts li { display: flex; align-items: center; gap: 10px; }
.vsp:is(.vsp,#vsp#vsp) .vsd-pfacts__ic { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; border: 1px solid rgba(233,196,106,.6); color: #e9c46a; }
.vsp:is(.vsp,#vsp#vsp) .vsd-pfacts b { display: block; color: #fff; font-size: 15px; }
.vsp:is(.vsp,#vsp#vsp) .vsd-pfacts small { display: block; color: #cfd4e6; font-size: 12.5px; }

/* Connect card */
.vsp:is(.vsp,#vsp#vsp) .vsd-connect { background: #fff; color: var(--vso-ink); border-radius: 12px; padding: 16px 16px 12px; box-shadow: 0 30px 50px -24px rgba(0,0,0,.7); margin-top: 60px; }
.vsp:is(.vsp,#vsp#vsp) .vsd-connect h2 { font-family: var(--vsp-serif); font-size: 18px; font-weight: 700; color: var(--vso-navy); margin: 0 0 12px; }
.vsp:is(.vsp,#vsp#vsp) .vsd-cmodes { display: grid; grid-template-columns: repeat(auto-fit, minmax(54px, 1fr)); gap: 6px; margin: 0 0 12px; }
.vsp:is(.vsp,#vsp#vsp) .vsd-cmode { position: relative; display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 9px 4px 7px; border: 1px solid #e3d8be; border-radius: 8px; cursor: pointer; font: 500 11.5px var(--vsp-sans); color: var(--vso-navy); margin: 0; text-align: center; }
.vsp:is(.vsp,#vsp#vsp) .vsd-cmode input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.vsp:is(.vsp,#vsp#vsp) .vsd-cmode:has(input:checked) { background: var(--vso-navy); border-color: var(--vso-navy); color: #fff; }
.vsp:is(.vsp,#vsp#vsp) .vsd-cmode:has(input:focus-visible) { outline: 3px solid #c9a227; outline-offset: 2px; }
.vsp:is(.vsp,#vsp#vsp) .vsd-cprice { border: 1px solid #e3d8be; border-radius: 8px; padding: 9px 12px; margin: 0 0 10px; }
.vsp:is(.vsp,#vsp#vsp) .vsd-cprice > span { display: block; font-size: 13px; color: var(--vso-muted); }
.vsp:is(.vsp,#vsp#vsp) .vsd-cprice b { display: block; font-size: 20px; color: var(--vso-navy); }
.vsp:is(.vsp,#vsp#vsp) .vsd-cprice b small { font-size: 12.5px; font-weight: 500; color: var(--vso-muted); }
.vsp:is(.vsp,#vsp#vsp) .vsd-cprice > small { font-size: 12px; color: var(--vso-muted); }
.vsp:is(.vsp,#vsp#vsp) .vsd-cpane .vso-btn:disabled { opacity: .55; cursor: not-allowed; }
.vsp:is(.vsp,#vsp#vsp) .vsd-csched { margin-top: 8px; gap: 8px; border-color: #c9a227; color: #7a5a12 !important; }
.vsp:is(.vsp,#vsp#vsp) .vsd-cstatus { display: flex; align-items: center; justify-content: center; gap: 6px; font-size: 12.5px; color: var(--vso-muted); margin: 10px 0 6px; }
.vsp:is(.vsp,#vsp#vsp) .vsd-dot { width: 8px; height: 8px; border-radius: 50%; background: #9aa0b2; }
.vsp:is(.vsp,#vsp#vsp) [data-status=online] .vsd-dot { background: #1e8a4a; }
.vsp:is(.vsp,#vsp#vsp) [data-status=busy] .vsd-dot { background: #d28a12; }
.vsp:is(.vsp,#vsp#vsp) .vsd-cstatus .vsx-st { background: none; padding: 0; color: inherit; font: inherit; position: static; }
.vsp:is(.vsp,#vsp#vsp) .vsd-cfoot { display: flex; justify-content: space-between; border-top: 1px solid #f1eadb; padding-top: 10px; }
.vsp:is(.vsp,#vsp#vsp) .vsd-cfoot .is-on { color: #c0392b; }

/* Profile tabs and body */
.vsp:is(.vsp,#vsp#vsp) .vsd-ptabs { position: sticky; top: 0; z-index: 5; width: 100vw; margin-left: calc(50% - 50vw); background: #fff; border-bottom: 1px solid #ebe1c9; }
.vsp:is(.vsp,#vsp#vsp) .vsd-ptabs > div { max-width: 1240px; margin: 0 auto; padding: 0 24px; display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; }
.vsp:is(.vsp,#vsp#vsp) .vsd-ptabs a:not(.vso-btn) { white-space: nowrap; padding: 14px 14px; color: var(--vso-ink); text-decoration: none; font-size: 14px; border-bottom: 2px solid transparent; }
.vsp:is(.vsp,#vsp#vsp) .vsd-ptabs a.is-on { color: var(--vso-navy); font-weight: 700; border-color: #c9a227; }
.vsp:is(.vsp,#vsp#vsp) .vsd-pbody { max-width: 1240px; margin: 0 auto; padding: 22px 0 0; display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 22px; align-items: start; }
.vsp:is(.vsp,#vsp#vsp) .vsd-pmain, .vsp:is(.vsp,#vsp#vsp) .vsd-pside { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.vsp:is(.vsp,#vsp#vsp) .vsd-box { background: #fff; border: 1px solid #ebe1c9; border-radius: 10px; padding: 18px 20px; scroll-margin-top: 70px; }
.vsp:is(.vsp,#vsp#vsp) .vsd-h { display: flex; align-items: center; gap: 10px; font-family: var(--vsp-serif); font-size: 22px; font-weight: 700; color: var(--vso-navy); margin: 0 0 14px; }
.vsp:is(.vsp,#vsp#vsp) .vsd-h .vsd-i { color: var(--vso-navy); }
.vsp:is(.vsp,#vsp#vsp) .vsd-h--row { justify-content: space-between; }
.vsp:is(.vsp,#vsp#vsp) .vsd-h--row > span { display: flex; align-items: center; gap: 10px; }
.vsp:is(.vsp,#vsp#vsp) .vsd-about { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 22px; }
.vsp:is(.vsp,#vsp#vsp) .vsd-bio { font-size: 14.5px; line-height: 1.7; color: #3a4058; }
.vsp:is(.vsp,#vsp#vsp) .vsd-bio p { margin: 0 0 12px; }
.vsp:is(.vsp,#vsp#vsp) .vsd-bio.is-long:not(.is-open) { max-height: 230px; overflow: hidden; -webkit-mask-image: linear-gradient(180deg, #000 70%, transparent); mask-image: linear-gradient(180deg, #000 70%, transparent); }
.vsp:is(.vsp,#vsp#vsp) .vsd-facts { background: #fbf6ea; border: 1px solid #efe3c4; border-radius: 10px; padding: 12px 14px; align-self: start; }
.vsp:is(.vsp,#vsp#vsp) .vsd-facts li { display: flex; gap: 10px; padding: 8px 0; }
.vsp:is(.vsp,#vsp#vsp) .vsd-facts li + li { border-top: 1px solid #efe3c4; }
.vsp:is(.vsp,#vsp#vsp) .vsd-facts__ic { flex: 0 0 34px; width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; background: #fff; border: 1px solid #e3cf98; color: #a87d1e; }
.vsp:is(.vsp,#vsp#vsp) .vsd-facts small { display: block; font-size: 12px; color: var(--vso-muted); }
.vsp:is(.vsp,#vsp#vsp) .vsd-facts b { display: block; font-size: 13.5px; color: var(--vso-navy); font-weight: 600; }
.vsp:is(.vsp,#vsp#vsp) .vsd-specs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.vsp:is(.vsp,#vsp#vsp) .vsd-spec { display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center; padding: 16px 10px; border: 1px solid #ebe1c9; border-radius: 10px; }
.vsp:is(.vsp,#vsp#vsp) .vsd-spec > span { width: 58px; height: 58px; border-radius: 50%; display: grid; place-items: center; background: radial-gradient(circle at 30% 30%, #fffaf0, #f4ead0); color: #c0761e; }
.vsp:is(.vsp,#vsp#vsp) .vsd-spec b { font-size: 13.5px; font-weight: 600; color: var(--vso-navy); }
.vsp:is(.vsp,#vsp#vsp) .vsd-cards3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.vsp:is(.vsp,#vsp#vsp) .vsd-art { display: flex; flex-direction: column; gap: 6px; text-decoration: none !important; color: var(--vso-navy) !important; border: 1px solid #ebe1c9; border-radius: 10px; overflow: hidden; padding-bottom: 10px; }
.vsp:is(.vsp,#vsp#vsp) .vsd-art__img { aspect-ratio: 16 / 9; display: grid; place-items: center; background: linear-gradient(160deg, #1b2a57, #0b1532) center / cover no-repeat; color: #e9c46a; }
.vsp:is(.vsp,#vsp#vsp) .vsd-art--vid .vsd-art__img { color: #fff; }
.vsp:is(.vsp,#vsp#vsp) .vsd-art b { padding: 0 12px; font-size: 14px; line-height: 1.35; }
.vsp:is(.vsp,#vsp#vsp) .vsd-art small { padding: 0 12px; font-size: 12px; color: var(--vso-muted); }
.vsp:is(.vsp,#vsp#vsp) .vsd-days { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; margin-bottom: 12px; }
.vsp:is(.vsp,#vsp#vsp) .vsd-days button { display: flex; flex-direction: column; align-items: center; padding: 7px 2px; border: 1px solid #e3d8be; border-radius: 6px; background: #fff; cursor: pointer; min-height: 0; box-shadow: none; color: var(--vso-navy); font: 600 12.5px var(--vsp-sans); }
.vsp:is(.vsp,#vsp#vsp) .vsd-days button small { font-weight: 400; font-size: 11.5px; color: var(--vso-muted); }
.vsp:is(.vsp,#vsp#vsp) .vsd-days button[aria-selected=true] { background: var(--vso-navy); border-color: var(--vso-navy); color: #fff; }
.vsp:is(.vsp,#vsp#vsp) .vsd-days button[aria-selected=true] small { color: #d7dbea; }
.vsp:is(.vsp,#vsp#vsp) .vsd-times { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-bottom: 12px; }
.vsp:is(.vsp,#vsp#vsp) .vsd-times button { padding: 9px 4px; border: 1px solid #e3d8be; border-radius: 6px; background: #fff; cursor: pointer; min-height: 0; box-shadow: none; color: var(--vso-ink); font: 500 13px var(--vsp-sans); }
.vsp:is(.vsp,#vsp#vsp) .vsd-times button:hover { border-color: #c9a227; background: #fbf6ea; }
.vsp:is(.vsp,#vsp#vsp) .vsd-navybtn { background: var(--vso-navy) !important; }
.vsp:is(.vsp,#vsp#vsp) .vsd-tz { font-size: 12px; color: var(--vso-muted); margin: 8px 0 0; text-align: center; }
.vsp:is(.vsp,#vsp#vsp) .vsd-serv li { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 9px 0; border-top: 1px solid #f1eadb; font-size: 13.5px; }
.vsp:is(.vsp,#vsp#vsp) .vsd-serv li > span, .vsp:is(.vsp,#vsp#vsp) .vsd-serv li > a { display: flex; align-items: center; gap: 8px; color: var(--vso-ink); }
.vsp:is(.vsp,#vsp#vsp) .vsd-serv .vsd-i { color: #a87d1e; }
.vsp:is(.vsp,#vsp#vsp) .vsd-serv b { white-space: nowrap; color: var(--vso-navy); }
.vsp:is(.vsp,#vsp#vsp) .vsd-serv b small { font-weight: 400; color: var(--vso-muted); }
.vsp:is(.vsp,#vsp#vsp) .vsd-rev { margin: 0; border: 1px solid #ebe1c9; border-radius: 10px; padding: 14px 16px; }
.vsp:is(.vsp,#vsp#vsp) .vsd-rev figcaption { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.vsp:is(.vsp,#vsp#vsp) .vsd-rev figcaption b { display: block; color: var(--vso-navy); }
.vsp:is(.vsp,#vsp#vsp) .vsd-rev small { color: var(--vso-muted); font-size: 12px; }
.vsp:is(.vsp,#vsp#vsp) .vsd-rev__av { width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; background: #6b7186; color: #fff; font-weight: 700; }
.vsp:is(.vsp,#vsp#vsp) .vsd-rev blockquote { font-size: 13.5px; line-height: 1.6; color: #3a4058; }
.vsp:is(.vsp,#vsp#vsp) .vsd-revnav { display: flex; justify-content: center; align-items: center; gap: 14px; margin-top: 10px; font-size: 12.5px; color: var(--vso-muted); }
.vsp:is(.vsp,#vsp#vsp) .vsd-revnav button { width: 30px; height: 30px; min-height: 0; padding: 0; border-radius: 50%; border: 1px solid #e3d8be; background: #fff; cursor: pointer; font-size: 18px; line-height: 1; color: var(--vso-navy); box-shadow: none; }
.vsp:is(.vsp,#vsp#vsp) .vsd-help { position: relative; width: 100vw; margin: 34px 0 0 calc(50% - 50vw); background-size: cover; background-position: center; color: #fff; }
.vsp:is(.vsp,#vsp#vsp) .vsd-help::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(11,21,50,.97), rgba(11,21,50,.8) 60%, rgba(11,21,50,.7)); }
.vsp:is(.vsp,#vsp#vsp) .vsd-help__in { position: relative; max-width: 1240px; margin: 0 auto; padding: 30px 24px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.vsp:is(.vsp,#vsp#vsp) .vsd-help h2 { font-family: var(--vsp-serif); font-size: clamp(24px, 2.6vw, 30px); font-weight: 700; color: #f3e3b5; margin: 0 0 4px; }
.vsp:is(.vsp,#vsp#vsp) .vsd-help p { margin: 0; color: #e7e2d3; }
.vsp:is(.vsp,#vsp#vsp) .vsd-dlgs { margin: 0; padding: 0; }

@media (max-width: 1180px) {
	.vsp:is(.vsp,#vsp#vsp) .vsd-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.vsp:is(.vsp,#vsp#vsp) .vsd-filters { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.vsp:is(.vsp,#vsp#vsp) .vsd-phero__g { grid-template-columns: 240px minmax(0, 1fr); }
	.vsp:is(.vsp,#vsp#vsp) .vsd-connect { grid-column: 1 / -1; margin-top: 0; max-width: 560px; }
	.vsp:is(.vsp,#vsp#vsp) .vsd-pbody { grid-template-columns: minmax(0, 1fr) 340px; }
	.vsp:is(.vsp,#vsp#vsp) .vsd-ways__g { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
	.vsp:is(.vsp,#vsp#vsp) .vsd-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.vsp:is(.vsp,#vsp#vsp) .vsd-pbody { grid-template-columns: minmax(0, 1fr); padding-left: 16px; padding-right: 16px; }
	.vsp:is(.vsp,#vsp#vsp) .vsd-about { grid-template-columns: minmax(0, 1fr); }
	.vsp:is(.vsp,#vsp#vsp) .vsd-specs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.vsp:is(.vsp,#vsp#vsp) .vsd-cards3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.vsp:is(.vsp,#vsp#vsp) .vsd-help__in { flex-direction: column; align-items: flex-start; }
	.vsp:is(.vsp,#vsp#vsp) .vsd-feat { grid-template-columns: minmax(0, 1fr); }
	.vsp:is(.vsp,#vsp#vsp) .vsd-hero .vsp-hero__img { width: 100%; opacity: .5; -webkit-mask-image: none; mask-image: none; }
}
@media (max-width: 640px) {
	.vsp:is(.vsp,#vsp#vsp) .vsd-grid { grid-template-columns: minmax(0, 1fr); }
	.vsp:is(.vsp,#vsp#vsp) .vsd-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.vsp:is(.vsp,#vsp#vsp) .vsd-count { margin-left: 0; width: 100%; }
	.vsp:is(.vsp,#vsp#vsp) .vsd-phero__g { grid-template-columns: minmax(0, 1fr); gap: 18px; }
	.vsp:is(.vsp,#vsp#vsp) .vsd-pphoto { max-width: 300px; }
	.vsp:is(.vsp,#vsp#vsp) .vsd-pinfo { padding-top: 0; }
	.vsp:is(.vsp,#vsp#vsp) .vsd-phero__bg { inset: 0; opacity: .45; -webkit-mask-image: none; mask-image: none; }
	.vsp:is(.vsp,#vsp#vsp) .vsd-phero__in { padding: 14px 16px 22px; }
	.vsp:is(.vsp,#vsp#vsp) .vsd-ways__g, .vsp:is(.vsp,#vsp#vsp) .vsd-cards3 { grid-template-columns: minmax(0, 1fr); }
	.vsp:is(.vsp,#vsp#vsp) .vsd-ways { padding-left: 16px; padding-right: 16px; }
	.vsp:is(.vsp,#vsp#vsp) .vsd-ptabs > div { padding: 0 12px; }
	.vsp:is(.vsp,#vsp#vsp) .vsd-box { padding: 16px; }
}
.vsp:is(.vsp,#vsp#vsp) .vsd-card__img a:not(.vso-btn), .vsp:is(.vsp,#vsp#vsp) .vsd-thumbs a:not(.vso-btn) { text-decoration: none; }
.vsp:is(.vsp,#vsp#vsp) .vsd-rev figcaption { text-align: left; }
.vsp:is(.vsp,#vsp#vsp) .vsd-rev blockquote { font-family: var(--vsp-sans); font-style: normal; margin: 0; padding: 0; border: 0; background: none; }
.vsp:is(.vsp,#vsp#vsp) .vsd-csched { font-size: 14px; white-space: nowrap; }
