/*
 * OSiAN theme styles.
 *
 * Typography and colours come from the Elementor kit (Site Settings). This file only holds what the kit
 * cannot do: page grid, decorative details, the phone mock-ups, sliders, pop-ups and animations.
 * Colours are read from the kit variables, so a colour change in the kit also reaches these rules.
 */

/* ---------- Font (self-hosted, ITF Free Font License, fontshare.com) ---------- */
@font-face { font-family: "Cabinet Grotesk"; src: url("../fonts/CabinetGrotesk-300.woff2") format("woff2"); font-weight: 300; font-style: normal; font-display: swap; }
@font-face { font-family: "Cabinet Grotesk"; src: url("../fonts/CabinetGrotesk-400.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Cabinet Grotesk"; src: url("../fonts/CabinetGrotesk-500.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "Cabinet Grotesk"; src: url("../fonts/CabinetGrotesk-700.woff2") format("woff2"); font-weight: 600 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Cabinet Grotesk"; src: url("../fonts/CabinetGrotesk-800.woff2") format("woff2"); font-weight: 800; font-style: normal; font-display: swap; }
@font-face { font-family: "Cabinet Grotesk"; src: url("../fonts/CabinetGrotesk-900.woff2") format("woff2"); font-weight: 900; font-style: normal; font-display: swap; }

/* ---------- Tokens (kit first, original values as fallback) ---------- */
:root {
	--white: var(--e-global-color-oswhite, #FFFFFF);
	--bg: var(--e-global-color-osbg, #F5F6FE);
	--bg-soft: var(--e-global-color-osbgsoft, #ECEDF6);
	--ink: var(--e-global-color-osink, #0D0F1A);
	--ink2: var(--e-global-color-osink2, #3A3D5C);
	--muted: var(--e-global-color-osmuted, #676B8A);
	--border: var(--e-global-color-osborder, #E0E3F5);
	--blue: var(--e-global-color-osblue, #101B7B);
	--blue-dark: var(--e-global-color-osbluedk, #0D1560);
	--blue-lift: var(--e-global-color-osbluelt, #6B7FDE);
	--blue-light: var(--e-global-color-osbluepl, #E8EAFE);
	--night: var(--e-global-color-osnight, #0D0F1A);
	--light: var(--e-global-color-oslight, #F5F6FE);
	--osn-sans: var(--e-global-typography-text-font-family, "Cabinet Grotesk"), system-ui, -apple-system, "Segoe UI", sans-serif;
	--osn-page: min(1400px, 92vw);
	--osn-nav-h: 72px;
}
@media (max-width: 900px) { :root { --osn-nav-h: 62px; } }

body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: clip; }
html { scroll-behavior: smooth; }
:where(a, button, [tabindex]):focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; border-radius: 2px; }
:where(.osn-market, .osn-board, .osn-story, .quiz-pop, .quiz-nudge, .lv-vpop, .sb-goal, .feature-card-detail) :where(a, button):focus-visible { outline-color: var(--blue-lift); }
#different, #mp-form, #src, #story, #voices, #waitlist, #features, #pillars, #science, #faq, #marketplace { scroll-margin-top: calc(var(--osn-nav-h) + 18px); }

/* ---------- Building blocks ---------- */

/* Page width inside every section. */
.e-con.osn-inner { --width: var(--osn-page); width: var(--osn-page); max-width: none; margin-inline: auto; }

/* Text widgets: paragraph rhythm. */
.osn-text p { margin: 0 0 .9em; }
.osn-text p:last-child { margin-bottom: 0; }
.osn-text strong { font-weight: 600; color: var(--ink); }

/* Headlines: emphasis in brand blue, balanced lines. */
.elementor-heading-title em { font-style: normal; color: var(--blue); }
.elementor-heading-title { text-wrap: balance; }
.osn-text p, .osn-text blockquote { text-wrap: pretty; }
:is(.osn-market, .osn-board, .osn-story, .sb-goal, .p-story) .elementor-heading-title em { color: var(--blue-lift); }
.e-con.osn-footer { border-top: 1px solid var(--border); }
.brandname { text-transform: none; }

/* Section head. */
.osn-head .ss { margin-top: 1.1rem; }
.ss--hiw { max-width: min(560px, 100%); }
.ss--wide { max-width: min(1120px, 100%); }

/* Buttons: kit gives blue; variants below. */
.osn-btn .elementor-button { border-radius: 2px; transition: background .2s, color .2s, border-color .2s, transform .15s, gap .2s; }
.osn-btn .elementor-button:hover { transform: translateY(-1px); }
.osn-btn .elementor-button:active { transform: translateY(1px) scale(.98); transition-duration: .08s; }
.osn-btn .elementor-button { padding: .85rem 1.5rem; }
.osn-btn--ink .elementor-button { background: var(--ink); padding: .65rem 1.3rem; }
.osn-btn--ink .elementor-button:hover { background: var(--blue); }
.osn-btn--ghost .elementor-button { background: transparent; color: var(--ink); border: 1px solid var(--ink); padding: calc(.65rem - 1px) 1.2rem; white-space: nowrap; }
.osn-btn--ghost .elementor-button:hover { background: var(--blue); border-color: var(--blue); color: #fff; }
.osn-btn--glass .elementor-button { background: rgba(245,246,254,.12); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); border: 1px solid rgba(245,246,254,.4); color: var(--light); padding: .85rem 1.6rem; }
.osn-btn--glass .elementor-button:hover { background: rgba(245,246,254,.22); border-color: rgba(245,246,254,.5); color: #fff; transform: translateY(-2px); }
.osn-btn--link .elementor-button { background: none; padding: .55rem 0; color: var(--blue-lift); text-transform: none; letter-spacing: 0; font-size: .85rem; font-weight: 700; }
.osn-btn--link .elementor-button:hover { background: none; color: var(--blue-lift); transform: none; }
.pill-btn { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; background: var(--blue); color: #fff; font-family: var(--osn-sans); font-size: .8rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; padding: .95rem 1.7rem; border-radius: 2px; border: none; cursor: pointer; text-decoration: none; white-space: nowrap; transition: background .2s, transform .15s; }
.pill-btn:hover, .pill-btn:focus-visible { background: var(--blue-dark); color: #fff; transform: translateY(-1px); }

/* The kit button style applies to every <button>. Reset the theme's own UI buttons (icons, tiles, dots). */
:is(.osn-nav, .lv-short, .feature-card, .feature-cards-dots, .lv-vpop, .quiz-pop, .quiz-nudge) :is(.nav-hamburger, .lv-short-hit, .feature-card-plus, .feature-cards-dot, .lv-vpop-close, .quiz-pop-close, .quiz-nudge-x, .q-opt, .q-back-btn, .q-next-btn) {
	font-family: var(--osn-sans); line-height: 1; min-height: 0; box-shadow: none;
}
.lv-short .lv-short-hit { background: transparent; border: 0; border-radius: 0; padding: 0; }
.osn-nav .nav-hamburger { border: 0; border-radius: 0; padding: 0; }

/* ---------- Header ---------- */
.e-con.osn-header { height: var(--osn-nav-h); padding: 0; }
.e-con.osn-nav {
	position: fixed; top: 0; left: 0; right: 0; z-index: 100; width: auto;
	padding: max(1rem, env(safe-area-inset-top)) 2.5rem 1rem;
	background: rgba(245,246,254,.88); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
	transition: box-shadow .2s;
}
.e-con.osn-nav.is-scrolled { box-shadow: 0 1px 0 rgba(13,15,26,.08); }
.admin-bar .e-con.osn-nav { top: 32px; }
@media (max-width: 782px) { .admin-bar .e-con.osn-nav { top: 46px; } }
.nav-logo { width: auto; flex: none; }
.nav-logo img { width: 108px; height: auto; display: block; }
.nav-logo a { display: inline-block; padding: .45rem 0; }
.nav-links { margin-left: 2.5rem; margin-right: auto; width: auto; }
.osn-list .elementor-icon-list-items { padding: 0; margin: 0; }
.nav-links .elementor-icon-list-items { display: flex; gap: 2rem; }
.nav-links .elementor-icon-list-item { margin: 0 !important; padding: 0 !important; }
.nav-links .elementor-icon-list-item::after { display: none; }
.nav-links .elementor-icon-list-item a:hover .elementor-icon-list-text { color: var(--blue); }
.nav-links .elementor-icon-list-text { transition: color .2s; }
.e-con.nav-actions { width: auto; margin-left: auto; flex: none; }
.nav-actions > .elementor-widget { width: auto; }
.osn-social .elementor-social-icons-wrapper { display: flex; gap: 0; }
.osn-social .elementor-social-icon { --e-social-icon-icon-color: var(--ink); background: transparent !important; width: 40px; height: 40px; padding: 0; display: inline-flex; align-items: center; justify-content: center; font-size: 18px; transition: color .2s; }
.osn-social .elementor-social-icon svg { width: 18px; height: 18px; fill: currentColor; }
.osn-social .elementor-social-icon i { color: inherit; }
.osn-social .elementor-social-icon { color: var(--ink); }
.osn-social .elementor-social-icon:hover { color: var(--blue); --e-social-icon-icon-color: var(--blue); opacity: 1; }
.nav-social { margin-left: -.4rem; }
.osn-nav .nav-hamburger { display: none; background: none; border: none; cursor: pointer; width: 38px; height: 38px; flex-direction: column; align-items: center; justify-content: center; gap: 5px; padding: 0; position: relative; z-index: 102; }
.osn-nav .nav-hamburger:hover, .osn-nav .nav-hamburger:focus { background: none; }
.nav-hamburger span { display: block; width: 22px; height: 2px; background: var(--ink); border-radius: 2px; transition: transform .3s, opacity .25s; }
.nav-hamburger.is-open span:first-child { transform: translateY(7px) rotate(45deg); }
.nav-hamburger.is-open span:nth-child(2) { opacity: 0; }
.nav-hamburger.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.e-con.osn-mobile-menu {
	position: fixed; top: 0; left: 0; right: 0; z-index: 99; width: auto;
	background: var(--bg); border-bottom: 1px solid var(--border);
	padding: calc(90px + env(safe-area-inset-top)) 2rem 2.5rem; gap: 1.6rem;
	transform: translateY(-100%); visibility: hidden; pointer-events: none;
	transition: transform .45s cubic-bezier(.4,0,.2,1), visibility 0s .45s;
}
.e-con.osn-mobile-menu.is-open { transform: none; visibility: visible; pointer-events: auto; transition: transform .45s cubic-bezier(.4,0,.2,1); }
.mobile-links .elementor-icon-list-items { display: flex; flex-direction: column; gap: 1.3rem; }
.mobile-links .elementor-icon-list-item { padding: 0 !important; }
.mobile-links .elementor-icon-list-item a { display: block; width: 100%; padding: .3rem 0; border-bottom: 1px solid var(--border); }
.mobile-links .elementor-icon-list-text { font-size: 1.15rem; font-weight: 500; }
.mobile-cta { align-self: flex-start; width: auto; }
@media (max-width: 1240px) {
	.nav-desktop, .nav-links { display: none !important; }
	.osn-nav .nav-hamburger { display: flex; }
}
@media (min-width: 1241px) { .e-con.osn-mobile-menu { display: none; } }
@media (max-width: 900px) {
	.e-con.osn-nav { padding: max(.85rem, env(safe-area-inset-top)) 1.25rem .85rem; }
	.nav-logo img { width: 92px; }
}

/* ---------- Hero ---------- */
.osn-hero { margin-top: calc(-1 * var(--osn-nav-h)); overflow: hidden; }
.e-con.open-inner { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); column-gap: clamp(2rem, 4vw, 4.5rem); align-items: start; }
.open-inner > .open-h { grid-column: 1; grid-row: 1; align-self: end; }
.open-inner > .open-col { grid-column: 1; grid-row: 2; min-width: 0; position: relative; z-index: 1; margin-top: clamp(1.4rem, 2vw, 2rem); max-width: min(60ch, 100%); }
.open-inner > .open-art { grid-column: 2; grid-row: 1 / span 2; align-self: center; position: relative; z-index: 0; pointer-events: none; transform: rotate(5deg); width: 118%; max-width: 760px; margin: -2rem -6%; justify-self: center; }
.open-art img { display: block; width: 100%; height: auto; }
.open-inner > .open-gap { grid-column: 1 / -1; grid-row: 3; margin-top: clamp(3rem, 6vw, 5rem); padding-top: clamp(2rem, 3.5vw, 3rem); border-top: 1px solid var(--border); }
.open-h .ln { display: block; opacity: 0; transform: translateY(.16em); transition: opacity .75s cubic-bezier(.22,.61,.36,1), transform .75s cubic-bezier(.22,.61,.36,1); }
.open-h.run .ln, .elementor-editor-active .open-h .ln { opacity: 1; transform: none; }
.open-h .ln:nth-child(1) { transition-delay: .06s; }
.open-h .ln:nth-child(2) { transition-delay: .2s; }
.open-h .ln:nth-child(3) { transition-delay: .34s; }
.open-body p { margin-bottom: .6rem; }
.open-body p:last-child { margin-bottom: 1.4rem; }
.open-pillars { white-space: nowrap; }
.open-gap-h .elementor-heading-title { max-width: 30ch; }
.open-fn { position: relative; font-weight: 500; font-size: .4em; color: var(--muted) !important; vertical-align: super; margin-left: .14em; letter-spacing: 0; text-decoration: none; }
.open-fn::after { content: ""; position: absolute; inset: -14px -12px; }
.open-fn:hover { color: var(--blue) !important; }
.open-gap-body { margin-top: clamp(1.4rem, 2.2vw, 2rem); max-width: 92ch; }
.ticks { display: grid; grid-template-columns: repeat(100, 1fr); gap: 0 2.5px; margin-top: clamp(1.1rem, 1.6vw, 1.7rem); }
.ticks i { display: block; height: clamp(16px, 1.9vw, 27px); border-radius: 1px; background: var(--blue); opacity: 0; transform: translateY(6px); transition: opacity .4s ease, transform .4s ease; }
.ticks.run i, .elementor-editor-active .ticks i { opacity: 1; transform: none; }
.ticks i.out { background: #d5d9ec; }
.ticks i.got { background: #b4beec; }
.gap-key { display: flex; flex-wrap: wrap; gap: .6rem 2.2rem; margin-top: .9rem; font-size: .95rem; font-weight: 500; color: var(--muted); font-variant-numeric: tabular-nums; }
.gap-key span { display: flex; align-items: center; gap: .5rem; }
.gap-key b { display: inline-block; width: 13px; height: 13px; border-radius: 1px; background: var(--blue); }
.gap-key .k0 b { background: #d5d9ec; }
.gap-key .k2 b { background: #b4beec; }
.gap-key .k1 { font-weight: 700; color: var(--ink); }
@media (max-width: 900px) {
	.e-con.open-inner { grid-template-columns: 1fr; }
	.open-inner > .open-h, .open-inner > .open-col, .open-inner > .open-art, .open-inner > .open-gap { grid-column: 1; grid-row: auto; }
	.open-inner > .open-art { margin: 1.2rem auto -.6rem; width: 100%; max-width: 420px; }
	.open-inner > .open-col { max-width: none; }
}
@media (max-width: 760px) {
	.ticks { grid-template-columns: repeat(25, 1fr); gap: 4px; }
	.ticks i { height: 20px; }
}

/* ---------- Waitlist form (Elementor Pro) ---------- */
.lv-inline-form { width: 100%; max-width: min(460px, 100%); }
.final-col .lv-inline-form { margin-top: 1.6rem; }
.osn-form-dark { margin-top: 2.2rem; }
.osn-form .elementor-form-fields-wrapper { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 !important; }
.osn-form .elementor-field-group { padding: 0 !important; margin: 0 !important; }
.osn-form .elementor-field-group-email { order: 1; flex: 1 1 200px; width: auto !important; max-width: none; }
.osn-form .elementor-field-type-submit { order: 2; flex: 0 0 auto; width: auto !important; }
.osn-form .elementor-field-group-consent { order: 3; flex: 1 1 100%; }
.osn-form .elementor-field-textual { min-height: 0; font-family: var(--osn-sans); font-size: .92rem; color: var(--ink); background: var(--white); border: 1px solid var(--border); border-radius: 2px; padding: .95rem 1.2rem; transition: border-color .2s; }
.osn-form .elementor-field-textual::placeholder { color: var(--muted); }
.osn-form .elementor-field-textual:focus { outline: 0; border-color: var(--blue); box-shadow: none; }
.osn-form .elementor-button { height: 100%; padding: .95rem 1.5rem; border-radius: 2px; white-space: nowrap; }
.osn-form .elementor-field-type-acceptance .elementor-field-subgroup { display: flex; }
.osn-form .elementor-field-type-acceptance .elementor-field-option { display: flex; align-items: flex-start; gap: .55rem; }
.osn-form .elementor-field-type-acceptance input { margin-top: .2rem; accent-color: var(--blue); flex: none; }
.osn-form .elementor-field-type-acceptance label { font-size: .75rem; line-height: 1.5; color: var(--muted); }
.osn-form .elementor-field-type-acceptance a { color: var(--ink2); text-decoration: underline; }
.osn-form .elementor-message { font-size: .9rem; margin-top: .6rem; }
.lv-form-note { font-size: .72rem; color: rgba(245,246,254,.6); margin-top: .6rem; }
/* On dark backgrounds. */
:is(.osn-form-dark, .quiz-pop) .osn-form .elementor-field-textual { background: rgba(245,246,254,.08); border-color: rgba(245,246,254,.28); color: var(--light); }
:is(.osn-form-dark, .quiz-pop) .osn-form .elementor-field-textual::placeholder { color: rgba(245,246,254,.5); }
:is(.osn-form-dark, .quiz-pop) .osn-form .elementor-field-textual:focus { border-color: var(--blue-lift); }
:is(.osn-form-dark, .quiz-pop) .osn-form .elementor-button { background: var(--blue-lift); }
:is(.osn-form-dark, .quiz-pop) .osn-form .elementor-button:hover { background: #8b9ce8; }
:is(.osn-form-dark, .quiz-pop) .osn-form .elementor-field-type-acceptance label { color: rgba(245,246,254,.66); }
:is(.osn-form-dark, .quiz-pop) .osn-form .elementor-field-type-acceptance a { color: #fff; }
:is(.osn-form-dark, .quiz-pop) .osn-form .elementor-message { color: var(--light); }
@media (max-width: 600px) {
	.osn-form .elementor-field-group-email, .osn-form .elementor-field-type-submit { flex: 1 1 100%; }
	.osn-form .elementor-field-group-consent { order: 2; }
	.osn-form .elementor-field-type-submit { order: 3; }
	.osn-form .elementor-button { width: 100%; justify-content: center; }
}

/* ---------- Statement ---------- */
.osn-statement { overflow: hidden; }
.e-con.sb-inner { padding-bottom: clamp(3.5rem, 6vw, 5rem); }
.sb-headline { margin-bottom: 2rem; }
.sb-body p { margin-bottom: .8rem; }
.sb-body--key { margin-top: .8rem; }
.iw { display: inline-flex; align-items: center; font-size: inherit; font-weight: 600; color: var(--ink); background: #fff; border: 1.5px solid var(--ink); padding: .05em .45em; border-radius: 2px; line-height: 1.45; vertical-align: baseline; white-space: nowrap; transition: transform .2s, box-shadow .2s; }
.iw:hover { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(16,27,123,.14); }
.iw.iw-dark { background: var(--blue); color: #fff; border-color: var(--blue); }
.e-con.sb-goal { box-shadow: inset 0 3px 0 var(--blue); }
.sb-goal-headline .elementor-heading-title { max-width: min(24ch, 100%); }
@media (max-width: 1024px) {
	.e-con.sb-goal { border-radius: 16px 16px 0 0; overflow: hidden; }
}

/* ---------- Three steps ---------- */
.e-con.hiw-grid { margin-top: 3.5rem; }
.e-con.hiw-card { display: grid; grid-template-columns: 100px 1fr; column-gap: 2.5rem; align-items: start; padding: 0 0 3.5rem; position: relative; }
.e-con.hiw-card:last-child { padding-bottom: 0; }
.e-con.hiw-card::after { content: ""; position: absolute; left: 49px; top: 56px; bottom: 0; width: 2px; background: var(--border); }
.e-con.hiw-card:last-child::after { display: none; }
.hiw-num { display: flex; justify-content: center; position: relative; z-index: 1; }
.hiw-num .elementor-heading-title { width: 56px; height: 56px; border-radius: 50%; border: 1.5px solid var(--blue); background: var(--white); display: flex; align-items: center; justify-content: center; }
.hiw-card-text h3 { padding-top: .9rem; margin-bottom: .5rem; }
.hiw-card-text .elementor-widget-heading { margin-bottom: .5rem; }
.hiw-art img { display: block; width: 100%; height: auto; }
@media (max-width: 1024px) { .hiw-art { max-width: 400px; } .e-con.hiw-layout { margin-top: 2rem; } .e-con.hiw-grid { margin-top: 1.5rem; } }
@media (max-width: 700px) {
	.e-con.hiw-card { grid-template-columns: 56px 1fr; column-gap: 1.2rem; }
	.e-con.hiw-card::after { left: 27px; }
}

/* ---------- Focus cards ---------- */
.e-con.feature-cards-header { margin-bottom: 3rem; }
.feature-cards-header .ss { max-width: min(620px, 100%); margin-top: .8rem; }
.e-con.track-steps { margin-top: 2rem; }
.track-step { border-top: 2px solid var(--ink); padding-top: .9rem; }
.track-step strong { display: block; color: var(--ink); font-weight: 700; margin-bottom: .2rem; }
.e-con.feature-cards-slider { position: relative; overflow: hidden; }
.e-con.feature-cards-track { display: flex; flex-direction: row; flex-wrap: nowrap; gap: 1.2rem; }
.e-con.feature-card { flex: 0 0 calc((100% - 2.4rem) / 3); width: auto; min-width: 0; position: relative; display: flex; flex-direction: column; min-height: 380px; border-radius: 4px; overflow: hidden; }
.e-con.feature-card-default { position: relative; z-index: 2; padding: 2rem 1.8rem 1.2rem; pointer-events: none; transition: opacity .3s ease; }
.feature-card.is-open .feature-card-default { opacity: 0; }
.feature-card-eyebrow { margin-bottom: .8rem; }
.feature-card-default .elementor-widget-heading h3 { max-width: 96%; }
.feature-card-fit { margin-top: 1rem; }
.feature-card-fit .elementor-heading-title { font-size: .78rem; }
.feature-card-says { margin-top: .3rem; max-width: 96%; }
.feature-card-desc { margin-top: .8rem; max-width: 96%; }
.e-con.fm { position: relative; align-items: center; justify-content: flex-end; margin-top: auto; padding-top: 1.4rem; pointer-events: none; }
.e-con.fm-phone { position: relative; width: min(240px, 78%); aspect-ratio: 240 / 272; border-radius: 36px 36px 0 0; padding: 8px 8px 0; background: linear-gradient(155deg, #1b2050 0, #0d0f1a 42%, #141a3a 100%); box-shadow: 0 0 0 1px rgba(9,11,26,.4), 0 30px 60px -18px rgba(13,15,26,.4); }
.e-con.fm-screen { position: relative; height: 100%; border-radius: 29px 29px 0 0; background: #fff; overflow: hidden; }
.e-con.fm-screen::after { content: ""; position: absolute; z-index: 1; top: 8px; left: 50%; transform: translateX(-50%); width: 62px; height: 18px; border-radius: 10px; background: #0d0f1a; }
.fm-img { height: 100%; }
.fm-img img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.fm-img-top img { object-position: center 24%; }
.fm-img-crop img { width: 112%; max-width: none; height: auto; margin-left: -6%; }
.e-con.feature-card-detail { position: absolute; inset: 0; width: auto; z-index: 3; padding: 2rem 1.8rem 5.5rem; background: rgba(20,19,23,.95); justify-content: flex-end; gap: .75rem; opacity: 0; pointer-events: none; transition: opacity .35s ease; }
.feature-card.is-open .feature-card-detail { opacity: 1; pointer-events: auto; }
.feature-card-detail .feature-card-eyebrow { margin-bottom: 0; }
.feat-chips-label { margin-top: .35rem; }
.feat-chips-label .elementor-heading-title { font-size: .75rem; }
.feat-chips .elementor-icon-list-items { display: flex; flex-wrap: wrap; gap: .45rem; margin: 0 !important; }
.feat-chips .elementor-icon-list-item { margin: 0 !important; padding: .32rem .8rem !important; border-radius: 2px; background: rgba(245,246,254,.08); border: 1px solid rgba(245,246,254,.16); }
.feat-chips .elementor-icon-list-item::after { display: none !important; }
.feat-chips .elementor-icon-list-text { color: rgba(245,246,254,.85); padding: 0 !important; }
.feat-chips .elementor-icon-list-icon { display: none; }
.feature-card .feature-card-plus { position: absolute; bottom: 1.3rem; right: 1.3rem; z-index: 4; width: 44px; height: 44px; border-radius: 50%; background: var(--white); border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; color: var(--ink); padding: 0; transition: transform .35s ease, background .25s ease, color .25s ease; }
.feature-card .feature-card-plus:hover, .feature-card .feature-card-plus:focus, .feature-card.is-open .feature-card-plus { background: var(--blue); color: #fff; }
.feature-card-plus svg { width: 18px; height: 18px; transition: transform .35s ease; }
.feature-card.is-open .feature-card-plus svg { transform: rotate(45deg); }
.feature-cards-controls { display: none; justify-content: center; align-items: center; gap: 1rem; margin-top: 1.8rem; }
.feature-cards-dots { display: flex; gap: 8px; align-items: center; }
.feature-cards-dots .feature-cards-dot { position: relative; width: 8px; height: 8px; border-radius: 50%; background: rgba(13,15,26,.18); border: none; cursor: pointer; padding: 0; transition: width .3s, background .3s, border-radius .3s; }
.feature-cards-dot::after { content: ""; position: absolute; inset: -16px -6px; }
.feature-cards-dots .feature-cards-dot:hover { background: rgba(13,15,26,.35); }
.feature-cards-dots .feature-cards-dot.active, .feature-cards-dots .feature-cards-dot.active:hover { width: 28px; border-radius: 100px; background: var(--blue); }
@media (max-width: 900px) {
	.e-con.feature-cards-slider { overflow: visible; }
	.e-con.feature-cards-track { overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: none; margin-inline: calc((100vw - var(--osn-page)) / -2); padding-inline: calc((100vw - var(--osn-page)) / 2); scroll-padding-inline: calc((100vw - var(--osn-page)) / 2); }
	.e-con.feature-cards-track::-webkit-scrollbar { display: none; }
	.e-con.feature-card { flex: 0 0 min(86%, 420px); scroll-snap-align: start; }
	.feature-cards-controls { display: flex; }
}
@media (max-width: 700px) { .e-con.track-steps { row-gap: 1rem; } }
@media (max-width: 600px) {
	.e-con.feature-card { border-radius: 18px; }
	.e-con.feature-card-default, .e-con.feature-card-detail { padding-left: 1.4rem; padding-right: 1.4rem; }
	.e-con.fm-phone { width: min(250px, 72%); }
}

/* ---------- Videos ---------- */
.osn-voices .osn-head { margin-bottom: 3rem; }
.osn-voices .ss { max-width: min(940px, 100%); }
.lv-short-wrap, .lv-short-wrap .elementor-shortcode { height: 100%; }
.lv-short { position: relative; min-width: 0; aspect-ratio: 9 / 16; border-radius: 4px; overflow: hidden; background: var(--night); isolation: isolate; }
.lv-short-media { position: absolute; inset: 0; z-index: 1; }
.lv-short-poster { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 2; transition: opacity .5s ease; }
.lv-short.is-ready .lv-short-poster { opacity: 0; }
.lv-short-media iframe { position: absolute; top: 50%; left: 50%; width: 100%; height: 100%; transform: translate(-50%, -50%) scale(1.52); border: 0; pointer-events: none; }
.lv-short-scrim { position: absolute; inset: 0; z-index: 3; pointer-events: none; background: linear-gradient(180deg, rgba(9,11,26,.85) 0, rgba(9,11,26,.42) 28%, rgba(9,11,26,0) 54%), linear-gradient(0deg, rgba(9,11,26,.72) 0, rgba(9,11,26,.28) 9%, rgba(9,11,26,0) 20%); }
.lv-short-cap { position: absolute; top: 0; left: 0; right: 0; z-index: 4; padding: 1.5rem 1.5rem 1.2rem; pointer-events: none; }
.lv-short-speaker { display: block; font-size: .82rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: rgba(245,246,254,.78); margin-bottom: .55rem; }
.lv-short-title { display: block; font-family: var(--e-global-typography-osvideo-font-family, var(--osn-sans)); font-weight: 900; text-transform: uppercase; letter-spacing: -.008em; font-size: var(--e-global-typography-osvideo-font-size, clamp(1rem, 1.3vw, 1.25rem)); color: #fff; line-height: 1.02; }
.lv-short-hit { position: absolute; inset: 0; z-index: 5; width: 100%; height: 100%; border: none; background: transparent; cursor: pointer; padding: 0; transition: background .25s; }
.lv-short .lv-short-hit:hover, .lv-short .lv-short-hit:focus { background: rgba(9,11,26,.16); }
.lv-short-hit:focus-visible { outline: 0; box-shadow: inset 0 0 0 3px rgba(245,246,254,.85); }
.lv-short-play { position: absolute; bottom: 1.1rem; right: 1.1rem; z-index: 6; width: 46px; height: 46px; border-radius: 50%; background: var(--blue); color: #fff; display: flex; align-items: center; justify-content: center; box-shadow: 0 8px 20px rgba(9,11,40,.34); pointer-events: none; transition: transform .22s ease, background .22s ease; }
.lv-short:hover .lv-short-play { transform: scale(1.08); background: var(--blue-dark); }
.lv-short-play svg { width: 15px; height: 15px; margin-left: 2px; }
.e-con.lv-vfoot { margin-top: 3rem; border-top: 2px solid var(--ink); padding-top: 1.6rem; }
.lv-vfoot-text { max-width: min(640px, 100%); }
.lv-vfoot > .elementor-widget { width: auto; }
@media (max-width: 767px) {
	.e-con.lv-vgrid { max-width: 360px; margin-inline: auto; width: 100%; }
	.lv-short { border-radius: 18px; }
	.lv-short-media iframe { transform: translate(-50%, -50%) scale(1.72); }
}

/* Video pop-up (created by the script). */
.lv-vpop { position: fixed; inset: 0; z-index: 99999; display: none; align-items: center; justify-content: center; padding: 1.5rem; }
.lv-vpop[data-open="1"] { display: flex; animation: osnFade .25s ease; }
.lv-vpop-bd { position: absolute; inset: 0; background: rgba(9,11,26,.8); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); cursor: pointer; }
.lv-vpop-card { position: relative; width: 100%; max-width: 400px; animation: osnSlide .35s cubic-bezier(.2,.9,.3,1); }
.lv-vpop-frame { position: relative; width: 100%; aspect-ratio: 9 / 16; max-height: 74vh; background: #000; border-radius: 20px; overflow: hidden; box-shadow: 0 30px 80px rgba(5,8,40,.55); }
.lv-vpop-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.lv-vpop-mask { position: absolute; top: 0; left: 0; right: 0; height: 62px; z-index: 3; pointer-events: none; border-radius: 20px 20px 0 0; background: linear-gradient(180deg, rgba(0,0,0,.92) 0, rgba(0,0,0,.72) 55%, rgba(0,0,0,0) 100%); }
.lv-vpop-meta { padding: 1rem .2rem 0; }
.lv-vpop-speaker { display: block; font-size: .72rem; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; color: rgba(245,246,254,.68); margin-bottom: .3rem; }
.lv-vpop-title { font-family: var(--osn-sans); font-weight: 700; font-size: 1.15rem; color: #fff; line-height: 1.2; margin: 0; }
.lv-vpop-consent { position: absolute; inset: 0; z-index: 4; display: flex; flex-direction: column; justify-content: center; gap: 1rem; padding: 1.6rem; color: rgba(245,246,254,.82); font-size: .9rem; line-height: 1.55; text-align: left; }
.lv-vpop-consent strong { color: #fff; font-size: 1.05rem; }
.lv-vpop-consent .pill-btn { align-self: flex-start; }
.lv-vpop-close, .quiz-pop-close, .quiz-nudge-x { position: absolute; font-size: 0; line-height: 0; -webkit-appearance: none; appearance: none; cursor: pointer; padding: 0; }
.lv-vpop-close::before, .lv-vpop-close::after, .quiz-pop-close::before, .quiz-pop-close::after, .quiz-nudge-x::before, .quiz-nudge-x::after { content: ""; position: absolute; left: 50%; top: 50%; width: 42%; height: 1.6px; border-radius: 2px; background: currentColor; }
.lv-vpop-close::before, .quiz-pop-close::before, .quiz-nudge-x::before { transform: translate(-50%, -50%) rotate(45deg); }
.lv-vpop-close::after, .quiz-pop-close::after, .quiz-nudge-x::after { transform: translate(-50%, -50%) rotate(-45deg); }
.lv-vpop .lv-vpop-close { top: -3rem; right: 0; width: 40px; height: 40px; border-radius: 50%; border: 1px solid rgba(245,246,254,.25); background: rgba(245,246,254,.12); color: #f5f6fe; transition: background .2s; }
.lv-vpop .lv-vpop-close:hover, .lv-vpop .lv-vpop-close:focus { background: rgba(245,246,254,.25); color: #fff; }
@media (max-width: 600px) {
	.lv-vpop { padding: 1rem; }
	.lv-vpop-card { max-width: 330px; }
	.lv-vpop-frame { border-radius: 14px; max-height: 68vh; }
	.lv-vpop-mask { border-radius: 14px 14px 0 0; height: 54px; }
	.lv-vpop .lv-vpop-close { top: .7rem; right: .7rem; z-index: 5; background: rgba(9,11,26,.55); border-color: rgba(245,246,254,.35); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
}

/* ---------- Marketplace ---------- */
.e-con.osn-market { position: relative; isolation: isolate; overflow: hidden; }
.e-con.osn-market::after { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none; background: linear-gradient(100deg, rgba(9,11,26,.94) 0, rgba(9,11,26,.86) 38%, rgba(9,11,26,.42) 78%, rgba(9,11,26,.3) 100%); }
.osn-market > .osn-inner { position: relative; z-index: 1; }
.e-con.marketplace-text { max-width: min(980px, 100%); }
.mk-lead { margin-top: 1.6rem; max-width: min(54ch, 100%); }
@media (max-width: 1024px) {
	.e-con.osn-market::after { background: linear-gradient(180deg, rgba(9,11,26,.9) 0, rgba(9,11,26,.82) 60%, rgba(9,11,26,.7) 100%); }
}

/* ---------- Difference + phone ---------- */
.e-con.different-split { margin-top: clamp(1.5rem, 2.6vw, 2.2rem); }
.e-con.cat { padding-top: calc(2px + 1.1rem); background: linear-gradient(var(--blue), var(--blue)) no-repeat 0 0 / 34px 2px; }
.cat .elementor-widget-heading { margin-bottom: .6rem; }
.e-con.phone { position: relative; width: 100%; max-width: 300px; margin: 0 auto; }
.e-con.phone-frame { position: relative; border-radius: 44px; padding: 10px; background: linear-gradient(155deg, #1b2050 0, #0d0f1a 42%, #141a3a 100%); box-shadow: 0 34px 70px -24px rgba(9,11,26,.5), 0 0 0 1px rgba(9,11,26,.45); }
.e-con.phone-screen { position: relative; border-radius: 35px; overflow: hidden; aspect-ratio: 9 / 19.3; display: flex; flex-direction: column; flex-wrap: nowrap; background: var(--white); }
.phone-top, .phone-bottom { flex: none; }
.phone-island { position: absolute; top: 8px; left: 50%; transform: translateX(-50%); width: 76px; height: 22px; border-radius: 12px; background: #0d0f1a; z-index: 6; }
.phone-status { display: flex; justify-content: space-between; align-items: center; padding: .7rem 1.15rem .15rem; font-size: .62rem; font-weight: 700; letter-spacing: .02em; color: var(--ink); font-variant-numeric: tabular-nums; }
.phone-status svg { display: block; }
.e-con.phone-head { flex: none; gap: .5rem; padding: .85rem 1.1rem .7rem; border-bottom: 1px solid var(--border); }
.phone-head-mark { width: 54px; flex: none; }
.phone-head-mark img { width: 54px; height: auto; display: block; }
.phone-head-sub { margin-left: auto; width: auto; }
.phone-head-sub .elementor-heading-title { font-family: var(--osn-sans); font-size: .6rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); line-height: 1.2; }
.e-con.phone-body { flex: 1 1 auto; min-height: 0; overflow: hidden; gap: .45rem; padding: .75rem .8rem; justify-content: flex-end; flex-wrap: nowrap; }
.phone-body > .elementor-widget { flex: 0 0 auto; }
.msg { max-width: 88%; width: auto; font-family: var(--osn-sans); }
.msg p { font-size: .78rem; line-height: 1.45; margin: 0; padding: .55rem .75rem; }
.msg-you { align-self: flex-end; }
.msg-you p { background: var(--white); border: 1px solid var(--border); border-radius: 12px 12px 2px 12px; color: var(--ink); font-weight: 500; }
.msg-osian { align-self: flex-start; }
.msg-osian p { background: var(--blue); color: #f5f6fe; border-radius: 12px 12px 12px 2px; }
.msg-who { display: block; font-size: .58rem; font-weight: 700; letter-spacing: .1em; color: var(--blue); margin-bottom: .3rem; }
.phone-bar { display: flex; align-items: center; gap: .5rem; padding: .6rem .85rem .75rem; border-top: 1px solid var(--border); }
.phone-bar span { flex: 1; font-size: .72rem; color: var(--muted); border: 1px solid var(--border); border-radius: 999px; padding: .42rem .8rem; }
.phone-bar i { flex: none; width: 26px; height: 26px; border-radius: 50%; background: var(--blue); display: flex; align-items: center; justify-content: center; color: #fff; font-style: normal; font-size: .8rem; line-height: 1; }
.phone-home { position: absolute; bottom: 7px; left: 50%; transform: translateX(-50%); width: 104px; height: 4px; border-radius: 2px; background: rgba(13,15,26,.28); z-index: 6; }
.osn-quiz-slot { position: absolute; width: 0; height: 0; overflow: visible; }
@media (max-width: 1024px) { .e-con.different-split { justify-items: start; } .e-con.phone { margin: 0; } }

/* ---------- Quiz ---------- */
.quiz-pop { position: fixed; inset: 0; z-index: 99998; display: none; align-items: center; justify-content: center; padding: 1.5rem; font-family: var(--osn-sans); }
.quiz-pop[data-open="1"] { display: flex; animation: osnFade .22s ease; }
.quiz-pop-bd { position: absolute; inset: 0; background: rgba(9,11,26,.72); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); cursor: pointer; }
.quiz-pop-card { position: relative; width: 100%; max-width: 640px; max-height: 88vh; overflow-y: auto; background: var(--night); border-radius: 18px; padding: clamp(1.8rem, 3.4vw, 2.8rem); box-shadow: 0 34px 90px rgba(5,8,40,.6); animation: osnSlide .32s cubic-bezier(.2,.9,.3,1); }
.quiz-pop .quiz-pop-close { top: .9rem; right: .9rem; z-index: 2; width: 34px; height: 34px; border-radius: 50%; border: 1px solid rgba(245,246,254,.22); background: rgba(245,246,254,.08); color: #f5f6fe; transition: background .2s; }
.quiz-pop .quiz-pop-close:hover, .quiz-pop .quiz-pop-close:focus { background: rgba(245,246,254,.2); color: #fff; }
.quiz-main-h { font-family: var(--osn-sans); font-weight: 900; text-transform: uppercase; letter-spacing: -.008em; word-spacing: .06em; font-size: clamp(1.4rem, 3vw, 1.9rem); color: #f5f6fe; line-height: .96; margin: 0 0 14px; padding-right: 2.4rem; text-wrap: balance; }
.quiz-main-h em, .q-res-h em { font-style: normal; color: var(--blue-lift); }
.quiz-main-sub { font-size: .95rem; color: rgba(245,246,254,.66); margin: 0 0 36px; }
.quiz-prog { display: flex; gap: 8px; align-items: center; margin-bottom: 28px; }
.qpip { width: 8px; height: 8px; border-radius: 50%; background: rgba(245,246,254,.14); transition: all .3s; }
.qpip.qdone { background: rgba(245,246,254,.4); }
.qpip.qactive { width: 28px; border-radius: 100px; background: var(--blue-lift); }
.qscreen { display: none; }
.qscreen.qshow { display: block; }
.q-question { font-size: 1.15rem; font-weight: 600; color: #f5f6fe; margin-bottom: 20px; line-height: 1.45; }
.q-opts { display: flex; flex-direction: column; gap: 9px; margin-bottom: 26px; }
.quiz-pop .q-opt { background: rgba(245,246,254,.05); border: 1px solid rgba(245,246,254,.14); border-radius: 2px; padding: 15px 18px; font-family: var(--osn-sans); font-size: 1rem; font-weight: 400; color: rgba(245,246,254,.72); cursor: pointer; text-align: left; text-transform: none; letter-spacing: 0; width: 100%; white-space: normal; overflow-wrap: break-word; line-height: 1.45; transition: all .15s; }
.quiz-pop .q-opt:hover { background: rgba(245,246,254,.1); color: #fff; border-color: rgba(245,246,254,.22); }
.quiz-pop .q-opt.qsel { background: rgba(107,127,222,.25); border-color: var(--blue-lift); color: #fff; }
.q-nav { display: flex; justify-content: space-between; align-items: center; }
.quiz-pop .q-back-btn { font-family: var(--osn-sans); font-size: .85rem; color: rgba(245,246,254,.66); padding: .5rem 0; cursor: pointer; background: none; border: none; }
.quiz-pop .q-back-btn:hover { color: #f5f6fe; background: none; }
.quiz-pop .q-next-btn { background: #f5f6fe; color: var(--blue); font-family: var(--osn-sans); font-size: .8rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; padding: 13px 26px; border-radius: 2px; border: none; cursor: pointer; transition: background .2s, opacity .2s; }
.quiz-pop .q-next-btn:hover { background: var(--blue-lift); color: #fff; }
.quiz-pop .q-next-btn:disabled { opacity: .32; cursor: default; background: #f5f6fe; color: var(--blue); }
.quiz-result { display: none; padding: 8px 0; }
.quiz-result.qshow { display: block; }
.q-ring-wrap { width: 120px; height: 120px; position: relative; margin: 0 0 24px; }
.q-ring { transition: stroke-dashoffset 1.2s cubic-bezier(.4,0,.2,1); }
.q-ring-inner { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.q-ring-num { font-weight: 700; font-size: 2.6rem; letter-spacing: -.03em; color: #f5f6fe; line-height: 1; font-variant-numeric: tabular-nums; }
.q-ring-of { font-size: .7rem; color: rgba(245,246,254,.6); margin-top: 2px; }
.q-res-h { font-family: var(--osn-sans); font-weight: 900; text-transform: uppercase; letter-spacing: -.008em; font-size: 1.7rem; color: #f5f6fe; margin: 0 0 14px; line-height: .98; }
.q-res-p { font-size: .98rem; color: rgba(245,246,254,.74); line-height: 1.7; max-width: min(46ch, 100%); margin: 0 0 28px; }
.q-res-formlabel { display: block; font-size: .88rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--blue-lift); margin-bottom: 14px; }
.quiz-nudge { position: fixed; right: 20px; bottom: 20px; z-index: 99990; width: min(320px, calc(100vw - 40px)); background: var(--night); color: #f5f6fe; border-radius: 14px; padding: 1.15rem 1.25rem 1.25rem; box-shadow: 0 18px 50px rgba(9,11,26,.34); opacity: 0; transform: translateY(14px); transition: opacity .45s ease, transform .45s cubic-bezier(.2,.9,.3,1); font-family: var(--osn-sans); }
.quiz-nudge.qn-in { opacity: 1; transform: none; }
.quiz-nudge .quiz-nudge-x { top: .55rem; right: .6rem; width: 26px; height: 26px; border: 0; border-radius: 50%; background: none; color: rgba(245,246,254,.55); }
.quiz-nudge .quiz-nudge-x:hover, .quiz-nudge .quiz-nudge-x:focus { color: #f5f6fe; background: none; }
.quiz-nudge-h { font-weight: 700; font-size: 1.08rem; letter-spacing: -.01em; margin: 0 0 .3rem; padding-right: 1.6rem; color: #f5f6fe; }
.quiz-nudge-p { font-size: .82rem; line-height: 1.5; color: rgba(245,246,254,.62); margin: 0 0 .95rem; }
.quiz-nudge .pill-btn { width: 100%; }
@media (max-width: 700px) {
	.quiz-main-h { font-size: 1.5rem; }
	.q-question { font-size: 1.05rem; line-height: 1.5; }
	.quiz-pop .q-opt { font-size: .95rem; padding: 13px 14px; }
}
@media (max-width: 600px) { .quiz-nudge { right: 12px; left: 12px; bottom: 12px; width: auto; } }

/* ---------- Advisory board ---------- */
.board-note { margin-top: 1.2rem; }
.e-con.board-row { display: grid; grid-template-columns: 2.6rem 88px 1fr; gap: 1.6rem; align-items: start; padding: 1.8rem 0; border-top: 1px solid rgba(245,246,254,.14); }
.e-con.board-row:last-child { border-bottom: 1px solid rgba(245,246,254,.14); }
.board-n { padding-top: .35rem; }
.board-n .elementor-heading-title { font-size: .82rem; letter-spacing: .08em; font-variant-numeric: tabular-nums; }
.e-con.board-photo { width: 88px; height: 88px; border-radius: 50%; position: relative; background: rgba(107,127,222,.1); border: 1px solid rgba(107,127,222,.24); display: flex; align-items: center; justify-content: center; }
.board-photo .advisor-initials { width: auto; }
.board-photo .advisor-img { position: absolute; inset: 0; width: auto; }
.board-photo .advisor-img a, .board-photo .advisor-img img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
.board-photo .advisor-img.has-video { transition: transform .25s; }
.board-photo .advisor-img.has-video:hover { transform: scale(1.04); }
.board-photo .advisor-img.has-video::after { content: ""; position: absolute; bottom: -2px; right: -2px; z-index: 3; width: 30px; height: 30px; border-radius: 50%; pointer-events: none; background: var(--blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpolygon points='7 3 21 12 7 21 7 3'/%3E%3C/svg%3E") 55% 50% / 11px no-repeat; }
.board-role { margin: .35rem 0 .7rem; }
.board-bio { max-width: min(52ch, 100%); }
.advisor-videolink { margin-top: .3rem; width: auto; }
.advisor-videolink .elementor-button:hover { gap: .65rem; }
@media (max-width: 1024px) {
	.e-con.board-row { grid-template-columns: 72px 1fr; gap: 1.2rem; }
	.board-n { display: none; }
	.e-con.board-photo { width: 72px; height: 72px; }
}

/* ---------- Quotes ---------- */
.e-con.quote-card { border-top: 2px solid var(--ink); padding-top: 2.4rem; }
.quote-text blockquote { margin: 0 0 1.5rem; padding: 0; border: 0; font: inherit; color: inherit; quotes: none; }

/* ---------- Story ---------- */
.osn-story { overflow-x: clip; }
.story-letter { max-width: min(46ch, 100%); }
.story-letter p { margin-bottom: 1.3rem; }
.story-say { font-size: .72em; letter-spacing: .04em; color: rgba(245,246,254,.6); }
.story-sign { margin-top: 2rem; }
.story-sign .elementor-heading-title { font-size: 1.18rem; }
.e-con.story-deer { position: relative; align-items: flex-end; }
.story-deer > .forest-wrap { position: absolute; z-index: 0; top: -10%; bottom: -6%; left: -30%; right: -12%; width: auto; max-width: none; pointer-events: none; overflow: hidden; -webkit-mask-image: radial-gradient(86% 72% at 58% 44%, #000 26%, transparent 76%); mask-image: radial-gradient(86% 72% at 58% 44%, #000 26%, transparent 76%); }
.forest-wrap .elementor-shortcode, .forest, .forest svg { width: 100%; height: 100%; display: block; }
.forest g { fill: #F5F6FE; stroke: #F5F6FE; }
.forest-far { animation: osnForest 41s ease-in-out infinite alternate; }
.forest-near { animation: osnForest 26s ease-in-out infinite alternate-reverse; }
.story-deer-img { position: relative; z-index: 1; width: min(320px, 100%); }
.story-deer-img img { width: 100%; height: auto; opacity: .95; display: block; }
@media (max-width: 1024px) {
	.e-con.story-deer { align-items: flex-start; }
	.story-deer > .forest-wrap { left: -22%; right: -22%; }
	.story-deer-img { width: 180px; }
}

/* ---------- FAQ (toggle widget) ---------- */
.faq-list { margin-top: 3rem; }
.faq-list .elementor-toggle { border-top: 1px solid var(--ink); }
.faq-list .elementor-toggle-item { margin: 0 !important; border-bottom: 1px solid var(--border); }
.faq-list .elementor-toggle-item:last-child { border-bottom: 0; }
.faq-list .elementor-tab-title { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin: 0; padding: 1.5rem 0; border: 0 !important; cursor: pointer; transition: background .15s; }
.faq-list .elementor-tab-title:hover, .faq-list .elementor-tab-title:focus-visible { background: var(--bg); }
.faq-list .elementor-toggle-icon { display: none !important; }
.faq-list .elementor-toggle-title { color: inherit; text-decoration: none; white-space: normal; overflow-wrap: anywhere; }
.faq-list .elementor-tab-title::after { content: "+"; flex: none; width: 24px; height: 24px; border-radius: 50%; border: 1.5px solid var(--border); display: flex; align-items: center; justify-content: center; font-size: .8rem; font-weight: 400; color: var(--ink2); transition: background .2s, transform .3s, color .2s, border-color .2s; }
.faq-list .elementor-tab-title:hover::after { color: var(--ink); border-color: var(--ink2); }
.faq-list .elementor-tab-title.elementor-active::after { background: var(--blue); border-color: var(--blue); color: #fff; transform: rotate(45deg); }
.faq-list .elementor-tab-content { padding: 0 0 1.5rem !important; border: 0 !important; }
.faq-list .elementor-tab-content a { color: var(--blue); border-bottom: 1px solid var(--border); }
@media (max-width: 600px) {
	.faq-list .elementor-tab-title { padding: 1.15rem 0; gap: .8rem; }
	.faq-list .elementor-tab-content { padding-bottom: 1.2rem !important; }
}

/* ---------- Closing ---------- */
.final-h .elementor-heading-title { max-width: min(760px, 100%); margin-bottom: 1.5rem; }
.final-text { max-width: min(620px, 100%); }
.final-tagline { margin-top: .9rem; font-weight: 500; }
.final-visual img { width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; object-position: 10% 50%; display: block; }
@media (max-width: 700px) { .final-h br { display: none; } }

/* ---------- Footer ---------- */
.foot-brand { max-width: 62ch; }
.foot-logo img { width: 96px; height: auto; display: block; }
.foot-src p { line-height: 1.55; margin-bottom: .55rem; }
.foot-src a { color: var(--ink2); text-decoration: none; border-bottom: 1px solid var(--border); }
.foot-src a:hover { color: var(--blue); }
.e-con.foot-name { position: relative; overflow: hidden; isolation: isolate; border-radius: 4px; border-top: 3px solid var(--blue-lift); padding: 1.6rem 1.7rem 1.5rem; }
.foot-name > .foot-name-deer { position: absolute; z-index: -1; right: -24px; bottom: -36px; width: 150px; opacity: .13; pointer-events: none; }
.foot-name-deer img { width: 150px; height: auto; display: block; }
.foot-name-word { margin-top: .7rem; }
.foot-name-ipa { margin-top: .35rem; }
.foot-name-def { margin-top: .9rem; max-width: 30ch; }
.foot-name-def em { font-style: italic; color: #f5f6fe; }
.e-con.foot-top { border-top: 1px solid var(--border); padding-top: .6rem; }
.foot-top > .elementor-widget { width: auto; }
.foot-links .elementor-icon-list-items { display: flex; gap: 1.8rem; flex-wrap: wrap; }
.foot-links .elementor-icon-list-item { margin: 0 !important; padding: 0 !important; }
.foot-links .elementor-icon-list-item::after { display: none; }
.foot-links a { display: inline-block; padding: .55rem 0; }
.foot-links a:hover .elementor-icon-list-text { color: var(--blue); }
.osn-social.foot-social { margin-right: -11px; }
.osn-social.foot-social .elementor-social-icon { color: var(--muted); --e-social-icon-icon-color: var(--muted); }
.e-con.foot-legal { border-top: 1px solid var(--border); padding-top: 1.5rem; }
.foot-legal a { color: var(--muted); display: inline-block; padding: .3rem 0; }
.foot-legal a:hover { color: var(--blue); }
.foot-legal strong { color: var(--ink2); font-weight: 600; }
.foot-copy { align-self: end; }
@media (max-width: 1024px) { .e-con.foot-name { max-width: 420px; } }

/* ---------- Scroll reveal ---------- */
.rise { opacity: 0; transform: translateY(28px); transition: opacity .85s cubic-bezier(.22,.61,.36,1), transform .85s cubic-bezier(.22,.61,.36,1); }
.rise.in { opacity: 1; transform: none; }
.rise-img { opacity: 0; transform: scale(1.035); transition: opacity 1s cubic-bezier(.22,.61,.36,1), transform 1.2s cubic-bezier(.22,.61,.36,1); }
.rise-img.in { opacity: 1; transform: none; }
.elementor-editor-active .rise, .elementor-editor-active .rise-img { opacity: 1; transform: none; }

@keyframes osnFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes osnSlide { from { opacity: 0; transform: translateY(20px) scale(.97); } to { opacity: 1; transform: none; } }
@keyframes osnForest { from { transform: translate3d(-11px, 0, 0); } to { transform: translate3d(11px, 0, 0); } }

@media (prefers-reduced-motion: reduce) {
	.open-h .ln, .ticks i, .rise, .rise-img { opacity: 1 !important; transform: none !important; transition: none !important; }
	.open-inner > .open-art { transform: none; }
	.forest-far, .forest-near { animation: none; }
	.e-con.feature-cards-track, .feature-card-default, .feature-card-detail, .lv-short-poster, .quiz-nudge { transition: none; }
}

/* Kit button :focus/:hover styles are stronger than plain class rules; keep the theme's own button states. */
.feature-cards-dots .feature-cards-dot:focus { background: rgba(13,15,26,.18); }
.feature-cards-dots .feature-cards-dot.active:focus { background: var(--blue); }
.quiz-pop .q-opt:focus:not(.qsel) { background: rgba(245,246,254,.1); color: #fff; }
.quiz-pop .q-opt.qsel:focus { background: rgba(107,127,222,.25); color: #fff; }
.quiz-pop .q-back-btn:focus { background: none; color: #f5f6fe; }
.quiz-pop .q-next-btn:focus:not(:hover) { background: #f5f6fe; color: var(--blue); }

/*
 * Widget sizes and bottom margins. Elementor sets max-width:100% and margin-bottom:0 on every widget with
 * strong selectors (.elementor.elementor .e-con > .elementor-widget), so these rules repeat the class to win.
 */
.elementor .elementor-widget.ss--hiw.ss--hiw { max-width: min(560px, 100%); }
.elementor .elementor-widget.ss--wide.ss--wide { max-width: min(1120px, 100%); }
.elementor .feature-cards-header .elementor-widget.ss.ss { max-width: min(620px, 100%); }
.elementor .osn-voices .elementor-widget.ss.ss { max-width: min(940px, 100%); }
.elementor .elementor-widget.open-gap-body.open-gap-body { max-width: 92ch; }
.elementor .open-inner > .elementor-widget.open-art.open-art { width: 118%; max-width: 760px; margin: -2rem -6%; }
.elementor .elementor-widget.sb-headline.sb-headline { margin-bottom: 2rem; }
.elementor .hiw-card-text > .elementor-widget-heading.elementor-widget-heading { margin-bottom: .5rem; }
.elementor .elementor-widget.feature-card-eyebrow.feature-card-eyebrow { margin-bottom: .8rem; }
.elementor .feature-card-detail .elementor-widget.feature-card-eyebrow.feature-card-eyebrow { margin-bottom: 0; }
.elementor .elementor-widget.feature-card-says.feature-card-says, .elementor .elementor-widget.feature-card-desc.feature-card-desc { max-width: 96%; }
.elementor .elementor-widget.lv-vfoot-text.lv-vfoot-text { max-width: min(640px, 100%); }
.elementor .elementor-widget.mk-lead.mk-lead { max-width: min(54ch, 100%); }
.elementor .cat > .elementor-widget-heading.elementor-widget-heading { margin-bottom: .6rem; }
.elementor .elementor-widget.msg.msg { max-width: 88%; }
.elementor .elementor-widget.board-role.board-role { margin: .35rem 0 .7rem; }
.elementor .elementor-widget.board-bio.board-bio { max-width: min(52ch, 100%); }
.elementor .elementor-widget.story-letter.story-letter { max-width: min(46ch, 100%); }
.elementor .elementor-widget.final-text.final-text { max-width: min(620px, 100%); }
.elementor .elementor-widget.foot-name-def.foot-name-def { max-width: 30ch; }
.elementor .story-deer > .elementor-widget.forest-wrap.forest-wrap { max-width: none; width: auto; }
.elementor .foot-name > .elementor-widget.foot-name-deer.foot-name-deer { width: 150px; max-width: none; }
@media (max-width: 1024px) {
	.elementor .elementor-widget.hiw-art.hiw-art { max-width: 400px; }
}
@media (max-width: 900px) {
	.elementor .open-inner > .elementor-widget.open-art.open-art { width: 100%; max-width: 420px; margin: 1.2rem auto -.6rem; }
}

/* Toggle (FAQ): Elementor's own padding and borders use strong selectors. */
.elementor .faq-list .elementor-toggle .elementor-tab-title { padding: 1.5rem 0; border: 0; }
.elementor .faq-list .elementor-toggle .elementor-tab-content { padding: 0 0 1.5rem; border: 0; }
.elementor .faq-list .elementor-toggle .elementor-toggle-item:not(:last-child) { margin-bottom: 0; }
@media (max-width: 600px) {
	.elementor .faq-list .elementor-toggle .elementor-tab-title { padding: 1.15rem 0; }
	.elementor .faq-list .elementor-toggle .elementor-tab-content { padding-bottom: 1.2rem; }
}
/* Images in the header/footer sit left; inline link lists without Elementor's negative side margins. */
.elementor .elementor-widget.foot-logo.foot-logo, .elementor .elementor-widget.nav-logo.nav-logo, .elementor .elementor-widget.phone-head-mark.phone-head-mark { text-align: left; }
.elementor .osn-list .elementor-icon-list-items.elementor-inline-items { margin-left: 0; margin-right: 0; }
.elementor .osn-list .elementor-inline-items > .elementor-icon-list-item { margin-left: 0; margin-right: 0; }

/* =====================================================================
 * Partner pages (For Brands, For Specialists)
 * ===================================================================== */
.p-sec .sh .elementor-heading-title { max-width: 20em; }
.elementor .p-head .elementor-widget.p-ss.p-ss { margin-top: 1.4rem; max-width: 620px; }
.fine-note { margin-top: 1.4rem; }
.elementor .elementor-widget.fine-note.fine-note { max-width: 820px; }
.fine-note a { color: var(--blue); }

/* Header: highlight the page you are on. */
.osn-btn--ghost .elementor-button.is-current { background: var(--blue); border-color: var(--blue); color: #fff; }

/* Extra button looks. */
.osn-btn--lg .elementor-button { font-size: .88rem; padding: 1.15rem 2.1rem; box-shadow: 0 14px 30px -12px rgba(16,27,123,.55); }
.osn-btn--text .elementor-button { background: none; padding: 0 0 2px; border-radius: 0; color: var(--ink); border-bottom: 1px solid currentColor; box-shadow: none; }
.osn-btn--text .elementor-button:hover, .osn-btn--text .elementor-button:focus { background: none; color: var(--blue); transform: none; }
.osn-btn--light .elementor-button { background: #F5F6FE; color: var(--blue); }
.osn-btn--light .elementor-button:hover, .osn-btn--light .elementor-button:focus { background: var(--blue-lift); color: var(--night); }

/* Hero: photo under a light veil, centred text, phone with three chips. */
.e-con.p-hero { position: relative; isolation: isolate; overflow: hidden; text-align: center; margin-top: calc(-1 * var(--osn-nav-h)); }
.e-con.p-hero::after { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none; background: linear-gradient(180deg, rgba(245,246,254,.95) 0%, rgba(245,246,254,.88) 45%, rgba(245,246,254,.6) 75%, rgba(245,246,254,.3) 100%); }
.p-hero > .osn-inner { position: relative; z-index: 1; align-items: center; }
.p-hero-h .elementor-heading-title { max-width: 17em; margin: 0 auto; }
.elementor .elementor-widget.p-hero-ss.p-hero-ss { max-width: 880px; margin: 1.6rem auto 0; }
.e-con.p-actions { margin-top: 2.2rem; width: auto; }
.p-actions > .elementor-widget { width: auto; }
.e-con.p-stage { position: relative; width: min(1000px, 100%); margin: 0 auto; }
.e-con.p-shot { position: relative; width: min(420px, 78vw); height: clamp(380px, 46vw, 560px); margin: 2.5rem auto 0; overflow: hidden; }
.p-shot .p-shot-img { position: absolute; top: -12%; left: 0; width: 100%; }
.p-shot .p-shot-img img { width: 100%; height: auto; display: block; }
.e-con.p-shot.framed { width: min(340px, 74vw); height: clamp(340px, 40vw, 480px); background: var(--ink); border-radius: 44px 44px 0 0; padding: 12px 12px 0; box-shadow: 0 30px 60px -20px rgba(13,15,26,.5); }
.p-shot.framed .p-shot-img { position: static; }
.p-shot.framed .p-shot-img img { border-radius: 32px 32px 0 0; background: #fff; }
.elementor .p-stage > .elementor-widget.p-chip.p-chip { position: absolute; z-index: 2; width: 220px; max-width: none; text-align: left; background: #fff; border-radius: 2px; padding: .75rem 1rem; box-shadow: 0 18px 40px -18px rgba(13,15,26,.35); }
.p-chip p { font-size: .85rem; line-height: 1.35; }
.p-chip b { display: block; font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; margin-bottom: .15rem; }
.elementor .p-stage > .p-chip.c1.c1 { left: 0; top: 22%; background: #D6EFE7; }
.p-chip.c1 b { color: #0D5A4A; }
.elementor .p-stage > .p-chip.c2.c2 { right: 0; top: 40%; background: #F0E3CF; }
.p-chip.c2 b { color: #5D3812; }
.elementor .p-stage > .p-chip.c3.c3 { left: 5%; top: 62%; background: #E8EEFB; }
.p-chip.c3 b { color: var(--blue); }
@media (max-width: 960px) { .elementor .p-stage > .elementor-widget.p-chip.p-chip { display: none; } }

/* Dark statement with lines. */
.p-sticky { position: sticky; top: 120px; align-self: start; }
.p-lines p { margin-bottom: 1.6rem; color: rgba(245,246,254,.92); }
.p-lines p:last-child { margin-bottom: 0; }
.p-lines strong { color: var(--blue-lift); font-weight: 700; }
@media (max-width: 1024px) { .p-sticky { position: static; } }

/* Comparison cards on photos. */
.e-con.vs-grid { margin-top: 3.5rem; }
.e-con.vs-card { position: relative; isolation: isolate; overflow: hidden; border-radius: 4px; min-height: 520px; padding: clamp(2.2rem, 4vw, 3.6rem); }
.e-con.vs-card::after { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.e-con.vs-card.yes::after { background: linear-gradient(160deg, rgba(16,27,123,.93), rgba(13,21,96,.82)); }
.e-con.vs-card.no::after { background: linear-gradient(160deg, rgba(13,15,26,.9), rgba(13,15,26,.78)); -webkit-backdrop-filter: grayscale(1); backdrop-filter: grayscale(1); }
.vs-card > .elementor-widget { position: relative; z-index: 1; }
.elementor .vs-card > .elementor-widget-heading.elementor-widget-heading { margin-bottom: 2.2rem; }
.vs-list ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.4rem; }
.vs-list li { display: grid; grid-template-columns: 46px 1fr; gap: 1.1rem; align-items: center; line-height: 1.5; color: rgba(245,246,254,.9); }
.vs-list li::before { content: "\2713"; width: 46px; height: 46px; border: 1.5px solid rgba(245,246,254,.7); border-radius: 50%; display: grid; place-items: center; font-size: 1.05rem; }
.vs-card.no .vs-list li::before { content: "\2715"; }
@media (max-width: 1024px) { .e-con.vs-card { min-height: 0; } }

/* Blue call-to-action band. */
.e-con.cta-band { margin-top: clamp(2.5rem, 5vw, 4rem); gap: 1.5rem 2rem; border-radius: 2px; padding: 1.8rem clamp(1.5rem, 3vw, 2.5rem); }
.e-con.cta-band.on-dark { background: rgba(107,127,222,.14); border: 1px solid rgba(107,127,222,.35); }
.e-con.cta-band-text { width: auto; flex: 1 1 320px; }
@media (max-width: 767px) { .e-con.cta-band-text { flex: 0 0 auto; width: 100%; } }
.cta-band-text .osn-text { margin-top: .4rem; }
.cta-band > .elementor-widget-button { width: auto; }

/* Coloured cards. */
.e-con.gets { margin-top: 3.5rem; }
.gets-h + .e-con.gets { margin-top: 1.6rem; }
.gets-h { margin-top: clamp(3.5rem, 6vw, 5rem); }
.e-con.get-card { border-radius: 2px; padding: 1.6rem 1.5rem; }
.e-con.gets > .get-card:nth-child(3n+1) { background: #D6EFE7; }
.e-con.gets > .get-card:nth-child(3n+2) { background: #E8EEFB; }
.e-con.gets > .get-card:nth-child(3n) { background: #F0E3CF; }
.p-cards .e-con.gets > .get-card:nth-child(4) { background: var(--blue-light); }
.elementor .get-card > .elementor-widget-heading.elementor-widget-heading { margin-bottom: .35rem; }

/* Packages. */
.e-con.tiers { margin-top: 4.5rem; }
.e-con.tier { position: relative; border: 1px solid var(--border); border-radius: 2px; padding: 2rem 1.8rem; }
.e-con.tier.pop { border-color: var(--blue); box-shadow: 0 30px 60px -30px rgba(16,27,123,.6); transform: translateY(-12px); }
.tier-price p { display: flex; align-items: baseline; gap: .35rem; flex-wrap: wrap; padding: .2rem 0 .4rem; }
.tier-price b { font-weight: 900; font-size: 2.6rem; line-height: 1; letter-spacing: -.02em; color: var(--blue); }
.tier-price span { font-size: .92rem; font-weight: 500; color: var(--muted); }
.tier.pop .tier-price b { color: #fff; }
.tier.pop .tier-price span { color: rgba(245,246,254,.7); }
.tier-list ul { list-style: none; margin: 0; padding: 1.1rem 0 0; border-top: 1px solid var(--border); display: grid; gap: .6rem; }
.tier.pop .tier-list ul { border-top-color: rgba(245,246,254,.2); }
.tier-list li { position: relative; padding-left: 1.5rem; }
.tier-list li::before { content: "\2713"; position: absolute; left: 0; color: var(--blue); font-weight: 700; }
.tier.pop .tier-list li::before { color: var(--blue-lift); }
.elementor .tier > .elementor-widget.tier-btn.tier-btn { margin-top: auto; }
.tier-btn .elementor-button { width: 100%; justify-content: center; }
@media (max-width: 1024px) { .e-con.tier.pop { transform: none; } }

/* Steps with the blue app box. */
.e-con.how-box { margin-top: 3rem; border-radius: 4px; overflow: hidden; padding: clamp(2.5rem, 4vw, 3.5rem) clamp(2rem, 4vw, 3.5rem) 0; }
.e-con.how-box-text { align-self: center; padding-bottom: clamp(2.5rem, 4vw, 3.5rem); }
.elementor .how-box-text > .elementor-widget-heading.elementor-widget-heading { margin-bottom: 1.2rem; }
.how-box-text p { margin-top: .8rem; max-width: 560px; }
.e-con.p-phone { background: var(--ink); border-radius: 44px 44px 0 0; padding: 12px 12px 0; box-shadow: 0 30px 60px -10px rgba(0,0,0,.55); height: clamp(340px, 34vw, 440px); overflow: hidden; }
.p-phone img { border-radius: 32px 32px 0 0; width: 100%; height: auto; display: block; background: #fff; }
@media (max-width: 1024px) {
	.e-con.how-box-text { order: -1; padding-bottom: 0; }
	.e-con.p-phone { width: min(300px, 100%); margin: 0 auto; }
}
.e-con.steps { margin-top: 3.5rem; }
.e-con.step-card { border: 1px solid var(--border); border-radius: 2px; padding: 1.8rem 1.5rem; }
.elementor .step-card > .elementor-widget.step-num.step-num { margin-bottom: 1.2rem; }
.elementor .step-card > .elementor-widget-heading:not(.step-num) { margin-bottom: .5rem; }

/* Audience. */
.e-con.stats { margin-top: 2.5rem; }
.e-con.stat { border-radius: 2px; padding: 1.5rem 1.4rem; border-top: 3px solid var(--blue); }
.elementor .stat > .elementor-widget-heading.elementor-widget-heading { margin-bottom: .6rem; }
.elementor .elementor-widget.aud-phone.aud-phone { max-width: 520px; justify-self: center; }
.aud-phone img { width: 100%; height: auto; display: block; }
.e-con.goals-head { margin-top: clamp(4rem, 7vw, 6rem); }
.e-con.modes { margin-top: 2.5rem; }
.e-con.mode { border-radius: 2px; padding: 2rem 1.8rem; }
.e-con.modes > .mode:nth-child(1) { background: #D6EFE7; }
.e-con.modes > .mode:nth-child(2) { background: #E8EEFB; }
.e-con.modes > .mode:nth-child(3) { background: #F0E3CF; }
.elementor .elementor-widget.mode-quote.mode-quote { margin: 1rem 0 1.1rem; }
.mode-fit { margin-top: 1.2rem; padding-top: 1rem; border-top: 1px solid rgba(13,15,26,.15); }
.mode-fit b { display: block; font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; margin-bottom: .2rem; }
.launch { margin-top: 1.5rem; }
@media (max-width: 1024px) { .elementor .elementor-widget.aud-phone.aud-phone { max-width: 340px; } }

/* Orders flow (numbered list in a text widget). */
.flow ol { list-style: none; margin: 0; padding: 0; counter-reset: f; }
.flow li { counter-increment: f; display: grid; grid-template-columns: 48px 1fr; column-gap: 1.2rem; padding: 1.3rem 0; border-top: 1px solid var(--border); }
.flow li:last-child { border-bottom: 1px solid var(--border); }
.flow li::before { content: counter(f); grid-row: span 2; width: 40px; height: 40px; border-radius: 50%; background: var(--blue); color: #fff; display: grid; place-items: center; font-weight: 700; }
.flow li strong { display: block; color: var(--ink); font-weight: 700; margin-bottom: .2rem; }

/* Two-way model cards. */
.e-con.model { margin-top: 3rem; }
.e-con.model-card { border: 1px solid var(--border); border-radius: 2px; padding: 2.2rem 2rem; }
.e-con.model-card.pop { border-color: var(--blue); }
.model-list ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.1rem; counter-reset: m; }
.model-list li { counter-increment: m; position: relative; padding-left: 3.1rem; min-height: 34px; }
.model-list li::before { content: counter(m); position: absolute; left: 0; top: 0; width: 34px; height: 34px; border-radius: 50%; background: var(--blue-light); color: var(--blue); display: grid; place-items: center; font-weight: 700; }
.model-card.pop .model-list li::before { background: rgba(245,246,254,.14); color: #fff; }
.model-list li strong { display: block; color: var(--ink); font-weight: 700; }
.model-card.pop .model-list li strong { color: #fff; }
.elementor .model-card > .elementor-widget.model-small.model-small, .elementor .model-card > .elementor-widget.tier-btn.tier-btn { margin-top: auto; }

/* Advisory board with title and video card. */
.elementor .board-intro > .elementor-widget.board-title.board-title { margin-bottom: 1.6rem; }
.board-video { margin-top: 2.2rem; }
.lv-short.lv-short--card { aspect-ratio: 9 / 13; width: min(340px, 100%); background: #111530; box-shadow: 0 30px 60px -25px rgba(0,0,0,.7); }
.lv-short--card .lv-short-media iframe { transform: translate(-50%, -50%) scale(1.15); height: 130%; }
.lv-short--card .lv-short-scrim { background: linear-gradient(180deg, rgba(13,15,26,0) 40%, rgba(13,15,26,.9) 100%); }
.lv-short--card .lv-short-cap { top: auto; bottom: 0; padding: 0 1.3rem 1.2rem; }
.lv-short--card .lv-short-speaker { font-size: .72rem; letter-spacing: .12em; color: var(--blue-lift); margin-bottom: .3rem; }
.lv-short--card .lv-short-title { font-family: var(--osn-sans); font-weight: 700; text-transform: none; letter-spacing: 0; font-size: 1.1rem; line-height: 1.25; }
.lv-short--card .lv-short-play { top: 1.2rem; bottom: auto; right: 1.2rem; width: 52px; height: 52px; }
.lv-short--card .lv-short-play svg { width: 18px; height: 18px; margin-left: 3px; }

/* How to start + contact card. */
.start-list ol { list-style: none; margin: 2.4rem 0 0; padding: 0; display: grid; gap: 1rem; counter-reset: st; }
.start-list li { counter-increment: st; display: grid; grid-template-columns: 40px 1fr; gap: 1rem; align-items: baseline; }
.start-list li::before { content: counter(st); font-weight: 900; font-size: 1.4rem; color: var(--blue); }
.e-con.contact-card { position: relative; overflow: hidden; isolation: isolate; border-radius: 4px; border-top: 3px solid var(--blue-lift); padding: 2.2rem 2rem; }
.elementor .contact-card > .elementor-widget.contact-deer.contact-deer { position: absolute; z-index: -1; right: -20px; bottom: -40px; width: 150px; max-width: none; opacity: .12; pointer-events: none; }
.contact-deer img { width: 150px; height: auto; display: block; }
.contact-n { margin-top: .6rem; }
.contact-l a { color: rgba(245,246,254,.85); text-decoration: none; display: inline-block; margin-top: .3rem; }
.contact-l a:hover { color: #fff; }
.contact-btn { margin-top: 1.6rem; width: auto; }

/* Floating request button: appears after the hero, hides at the contact card. */
.elementor-widget.float-cta.float-cta { position: fixed; right: 1.5rem; bottom: 1.5rem; z-index: 90; width: auto; max-width: none; opacity: 0; transform: translateY(12px); pointer-events: none; transition: opacity .3s, transform .3s; }
.elementor-widget.float-cta.float-cta.show { opacity: 1; transform: none; pointer-events: auto; }
.float-cta .elementor-button { box-shadow: 0 16px 40px -12px rgba(13,15,26,.5); }
.elementor-editor-active .elementor-widget.float-cta.float-cta { position: static; opacity: 1; transform: none; pointer-events: auto; }
@media (max-width: 600px) {
	.elementor-widget.float-cta.float-cta { left: 1rem; right: 1rem; bottom: 1rem; }
	.float-cta .elementor-button { width: 100%; justify-content: center; }
}
