:root{--vv-bg:#F9F9F9;--vv-surface:#FFFFFF;--vv-subtle:#EFEFEE;--vv-ink:#16150F;--vv-raised-ink:#121110;--vv-near-black:#000001;--vv-secondary:#56544E;--vv-muted:#6E6B63;--vv-accent:#FF4D00;--vv-on-accent:#FFFFFF;--vv-accent-hover:#E04400;--vv-accent-text:#BE3A00;--vv-accent-wash:#FFF0E9;--vv-success:#0F6B45;--vv-success-wash:#ECF6F1;--vv-warning:#8A5A00;--vv-warning-wash:#FBF3E4;--vv-error:#A5231B;--vv-error-wash:#FCEEEC;--vv-focus:#1F4E79;--vv-focus-wash:#EDF3F8;--vv-border:rgba(22,21,15,.12);--vv-border-strong:rgba(22,21,15,.22);--vv-font-body:Inter,sans-serif;--vv-font-heading:Montserrat,sans-serif;--vv-radius-control:12px;--vv-radius-card:20px;--vv-radius-panel:24px;--vv-radius-pill:999px;--vv-space-1:8px;--vv-space-2:16px;--vv-space-3:24px;--vv-space-4:32px;--vv-space-6:48px;--vv-section:96px;--vv-gutter:32px}
:where(*,*::before,*::after){box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px;scrollbar-width:thin;scrollbar-color:rgba(22,21,15,.40) var(--vv-bg)}body{margin:0;background:var(--vv-bg);color:var(--vv-ink);font-family:var(--vv-font-body);font-size:16px;line-height:1.6}body.vv-menu-opened{overflow:hidden}.wp-site-blocks{padding:0}.wp-site-blocks>*{margin-block:0}a{color:inherit;text-underline-offset:4px}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}img,svg{max-width:100%;height:auto}p,h1,h2,h3,figure,dl,dd{margin:0}h1,h2,h3{font-family:var(--vv-font-heading);font-weight:700;line-height:1.2;color:var(--vv-ink);text-wrap:balance}h1{font-size:48px;letter-spacing:-.04em}h2{font-size:33px;letter-spacing:-.035em}h3{font-size:21px;letter-spacing:-.02em}p{overflow-wrap:break-word}a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--vv-focus);outline-offset:3px}button,a,summary{touch-action:manipulation}[hidden]{display:none!important}.vv-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.vv-container{width:min(100% - var(--vv-gutter)*2,1200px);margin-inline:auto}.vv-section{padding-block:var(--vv-section)}.vv-label{font-family:var(--vv-font-body);font-size:11.5px;font-weight:600;line-height:1.5;letter-spacing:.11em;text-transform:uppercase;color:var(--vv-muted)}.vv-eyebrow{color:var(--vv-accent-text);margin-bottom:24px}.vv-skip{position:fixed;left:16px;top:16px;padding:12px 20px;background:var(--vv-surface);border:2px solid var(--vv-focus);z-index:1000;transform:translateY(-200%)}.vv-skip:focus{transform:translateY(0)}
.vv-main [id]{scroll-margin-top:112px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--vv-bg)}::-webkit-scrollbar-thumb{background:rgba(22,21,15,.34);border:2px solid var(--vv-bg);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--vv-accent)}
.wp-site-blocks>header.wp-block-template-part{position:sticky;top:0;z-index:900}.vv-header{position:relative;border-bottom:1px solid var(--vv-border);background:var(--vv-bg);transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease,backdrop-filter .2s ease}.vv-header.is-scrolled{border-color:rgba(22,21,15,.10);background:rgba(255,255,255,.965);box-shadow:0 11px 28px rgba(22,21,15,.075),0 4px 18px rgba(255,77,0,.055);backdrop-filter:saturate(1.08) blur(12px)}body.admin-bar .wp-site-blocks>header.wp-block-template-part{top:32px}.vv-header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:96px}.vv-wordmark{display:inline-flex;align-items:center;gap:10px;font-family:var(--vv-font-heading);font-weight:700;font-size:18px;letter-spacing:-.045em;text-decoration:none;min-height:44px;white-space:nowrap}.vv-brand-mark{height:20px;width:8px;border-radius:4px;background:var(--vv-accent);transform:rotate(14deg)}.vv-desktop-nav,.vv-header-actions{display:flex;align-items:center;gap:8px}.vv-desktop-nav>a,.vv-footer a{font-size:14px;text-decoration:none}.vv-desktop-nav .vv-nav-link{display:inline-flex;align-items:center;min-height:44px;padding:8px 12px;border:1px solid transparent;border-radius:11px;transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,backdrop-filter .16s ease}.vv-desktop-nav .vv-nav-link:hover{background:rgba(255,77,0,.06);border-color:rgba(255,77,0,.16);box-shadow:0 3px 10px rgba(255,77,0,.045);backdrop-filter:saturate(1.03) blur(4px)}.vv-desktop-nav .vv-nav-link.is-current{background:rgba(255,77,0,.11);border-color:rgba(255,77,0,.24);box-shadow:0 4px 12px rgba(255,77,0,.07),inset 0 1px 0 rgba(255,255,255,.72);backdrop-filter:saturate(1.05) blur(6px)}.vv-desktop-nav .vv-nav-link:focus-visible{background:var(--vv-focus-wash);border-color:rgba(31,78,121,.28);box-shadow:none;backdrop-filter:none}.vv-footer a{padding-block:12px}.vv-footer a:hover{text-decoration:underline}.vv-pending{display:flex;flex-direction:column;font-size:14px;color:var(--vv-secondary);line-height:1.3}.vv-pending small{font-size:10px;color:var(--vv-muted)}.vv-button{display:inline-flex;justify-content:center;align-items:center;gap:16px;min-height:48px;padding:12px 24px;border:1px solid transparent;border-radius:var(--vv-radius-pill);background:var(--vv-accent);color:var(--vv-ink);font-family:var(--vv-font-heading);font-weight:700;font-size:14px;line-height:1.4;text-decoration:none;transition:background .15s}.vv-button:hover{background:var(--vv-accent-hover);color:var(--vv-near-black)}.vv-button--small{min-height:44px;padding:10px 20px}.vv-button--outline{background:transparent;border-color:var(--vv-border-strong)}.vv-button--outline:hover{background:var(--vv-subtle)}.vv-button--dark{background:var(--vv-near-black);color:var(--vv-bg)}.vv-button--dark:hover{background:var(--vv-raised-ink);color:var(--vv-bg)}.vv-button--wide{width:100%}.vv-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.vv-text-link{font-size:14px;font-weight:600;min-height:44px;display:inline-flex;align-items:center;gap:16px}.vv-micro{font-size:13px;color:var(--vv-muted)}.vv-menu-open,.vv-menu-close{width:44px;height:44px;background:transparent;border:1px solid var(--vv-border);border-radius:12px;color:var(--vv-ink);font-size:22px}.vv-menu-open{display:none}.vv-menu{position:fixed;inset:0 0 0 auto;margin:0;border:0;border-left:1px solid var(--vv-border);padding:24px;width:min(400px,100%);height:100dvh;max-height:100dvh;background:var(--vv-bg);color:var(--vv-ink)}.vv-menu::backdrop{background:rgba(22,21,15,.22)}.vv-menu-top{display:flex;align-items:center;justify-content:space-between;gap:16px;font-family:var(--vv-font-heading);font-weight:700}.vv-menu nav{display:flex;flex-direction:column;gap:24px;margin-top:40px}.vv-menu nav>a:not(.vv-button){padding:12px;min-height:44px;text-decoration:none;border:1px solid transparent;border-bottom-color:var(--vv-border);border-radius:11px}.vv-menu .vv-nav-link:hover{background:rgba(255,77,0,.06);border-color:rgba(255,77,0,.16);box-shadow:0 3px 10px rgba(255,77,0,.045);backdrop-filter:saturate(1.03) blur(4px)}.vv-menu .vv-nav-link.is-current{background:rgba(255,77,0,.11);border-color:rgba(255,77,0,.24);box-shadow:0 4px 12px rgba(255,77,0,.07),inset 0 1px 0 rgba(255,255,255,.72);backdrop-filter:saturate(1.05) blur(6px)}.vv-menu .vv-nav-link:focus-visible{background:var(--vv-focus-wash);border-color:rgba(31,78,121,.28);box-shadow:none;backdrop-filter:none}
.vv-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:64px;padding-block:64px 80px}.vv-hero-copy{max-width:560px}.vv-lead{margin-top:24px;color:var(--vv-secondary);max-width:480px}.vv-hero .vv-actions{margin-top:32px}.vv-hero .vv-micro{margin-top:16px}.vv-hero-card{width:100%;max-width:480px;justify-self:end}.vv-card{background:var(--vv-surface);border:1px solid var(--vv-border);border-radius:var(--vv-radius-card);overflow:hidden;box-shadow:0 8px 24px rgba(22,21,15,.04);width:100%;max-width:480px}.vv-card-copy{padding:32px 32px 0}.vv-card-target{font-family:var(--vv-font-heading);font-size:29px;font-weight:700;letter-spacing:-.04em;line-height:1.18;margin-top:8px;overflow-wrap:anywhere}.vv-pronunciation{margin-top:24px;display:grid;gap:8px;font-size:14px}.vv-pronunciation>div{display:flex;align-items:baseline;gap:16px}.vv-pronunciation dt{font-size:12px;font-weight:600;color:var(--vv-muted);width:24px;flex-shrink:0}.vv-pronunciation dd{min-width:0;overflow-wrap:anywhere}.vv-definition{margin-top:24px}.vv-definition>p:last-child{margin-top:8px;line-height:1.5}.vv-example{margin-top:24px}.vv-example-copy{margin-top:8px;border-left:3px solid var(--vv-accent);padding-left:16px;line-height:1.5}.vv-meaning-image{display:block;width:100%;margin-top:24px;aspect-ratio:403/219;object-fit:contain;background:var(--vv-surface)}.vv-audio-row:empty{display:none}.vv-audio-row{display:flex;flex-wrap:wrap;gap:8px;margin-block:8px}.vv-audio-button{border:1px solid var(--vv-border);border-radius:999px;min-height:44px;padding:8px 12px;background:var(--vv-subtle);color:var(--vv-ink);font-size:12px}.vv-audio{display:inline-block}.vv-card--recall .vv-definition{margin-top:0}.vv-card--reveal .vv-definition{margin-top:24px}.vv-card [data-answer][hidden]{display:none}
.vv-recall-section{background:var(--vv-subtle);border-block:1px solid var(--vv-border)}.vv-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:96px;align-items:center}.vv-section-intro{max-width:460px}.vv-section-intro>p:not(.vv-label){margin-top:24px;color:var(--vv-secondary)}.vv-recall-note{display:flex;align-items:center;gap:24px;margin-top:40px;font-size:14px;color:var(--vv-secondary)}.vv-recall-note>span{font-size:32px;color:var(--vv-accent-text)}.vv-demo{max-width:480px;justify-self:end;width:100%}.vv-demo-controls{padding-top:24px;text-align:center}.vv-rating{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px}.vv-rating button{min-height:48px;border:1px solid var(--vv-border-strong);border-radius:12px;background:var(--vv-surface);font-family:var(--vv-font-heading);font-weight:700;font-size:14px;color:var(--vv-ink)}.vv-rating button:hover{border-color:var(--vv-ink)}.vv-rating button:last-child{background:var(--vv-ink);color:var(--vv-surface)}.vv-recall-question{font-weight:600}.vv-feedback{margin-bottom:16px;font-weight:500}.vv-section-heading{max-width:720px;margin-bottom:48px}.vv-section-heading>p{margin-top:24px;color:var(--vv-secondary)}.vv-diagram{width:100%;overflow:hidden;border-radius:24px}.vv-diagram svg{display:block;width:100%;height:auto}.vv-loop-list,.vv-anatomy-list{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.vv-anatomy-section{background:var(--vv-surface);border-block:1px solid var(--vv-border)}.vv-categories{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.vv-categories li{padding:32px;background:var(--vv-surface);border:1px solid var(--vv-border);border-radius:20px;min-width:0}.vv-categories li:first-child{background:var(--vv-accent-wash)}.vv-categories h3{margin-top:16px;overflow-wrap:anywhere}.vv-preview-section{background:var(--vv-subtle)}.vv-product-preview{background:var(--vv-surface);border:1px solid var(--vv-border);border-radius:24px;width:100%;max-width:480px;justify-self:end}.vv-product-preview figcaption{display:flex;justify-content:space-between;gap:16px;padding:20px 24px;border-bottom:1px solid var(--vv-border);font-size:10px}.vv-product-preview figcaption span{text-transform:none;letter-spacing:0}.vv-preview-body{padding:32px}.vv-preview-counts{display:flex;gap:40px;margin-top:24px;color:var(--vv-secondary)}.vv-preview-counts strong{font-family:var(--vv-font-heading);font-size:36px;font-weight:700;color:var(--vv-ink);margin-right:4px}.vv-preview-time{font-size:14px;color:var(--vv-muted);margin-block:8px 24px}.vv-preview-action{padding:16px 20px;border-radius:999px;background:var(--vv-accent);display:flex;justify-content:space-between;align-items:center;font-family:var(--vv-font-heading);font-weight:700;font-size:13px}.vv-progress-states{display:flex;justify-content:space-between;gap:8px;list-style:none;padding:0;margin:24px 0 0;font-size:11.5px;color:var(--vv-muted)}.vv-progress-states li:last-child{color:var(--vv-success)}.vv-trust{display:grid;grid-template-columns:1fr 1fr;gap:96px}.vv-trust h2{max-width:460px}.vv-trust dl>div{padding-block:24px;border-top:1px solid var(--vv-border)}.vv-trust dl>div:first-child{padding-top:0;border-top:0}.vv-trust dt{font-family:var(--vv-font-heading);font-weight:700;font-size:17px}.vv-trust dd{margin-top:8px;color:var(--vv-secondary)}.vv-faq-section{background:var(--vv-surface);border-block:1px solid var(--vv-border)}.vv-faq-layout{display:grid;grid-template-columns:1fr 1.4fr;gap:96px}.vv-faq details{border-bottom:1px solid var(--vv-border);padding-block:24px}.vv-faq details:first-child{padding-top:0}.vv-faq summary{display:flex;justify-content:space-between;align-items:center;gap:24px;cursor:pointer;list-style:none;min-height:44px;font-weight:600}.vv-faq summary::-webkit-details-marker{display:none}.vv-faq summary>span{font-size:24px;font-weight:400}.vv-faq details[open] summary>span{transform:rotate(45deg)}.vv-faq details>p{margin-top:16px;color:var(--vv-secondary)}.vv-final{max-width:800px;text-align:center}.vv-final>p{margin-top:24px;color:var(--vv-secondary)}.vv-final .vv-actions{justify-content:center;margin-top:32px}.vv-footer{border-top:1px solid var(--vv-border);padding-block:40px}.vv-footer-inner{display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap}.vv-footer p{font-size:12px;color:var(--vv-muted)}.vv-footer nav{display:flex;gap:24px}.vv-footer .vv-wordmark{font-size:17px}.vv-copyright{width:100%;padding-top:24px;border-top:1px solid var(--vv-border)}.vv-fallback{min-height:50vh;padding-block:72px}.vv-fallback h1{margin-bottom:32px}.vv-fallback .wp-block-post-content>*+*{margin-top:24px}
@media(max-width:1100px){:root{--vv-section:72px;--vv-gutter:24px}.vv-hero{gap:40px}.vv-split,.vv-trust,.vv-faq-layout{gap:48px}.vv-desktop-nav,.vv-header-actions{gap:16px}.vv-wordmark{font-size:16px}.vv-header-inner{gap:16px}.vv-header-actions .vv-pending{display:none}.vv-card-copy{padding:24px 24px 0}.vv-card-target{font-size:27px}}
@media(max-width:850px){body.admin-bar .wp-site-blocks>header.wp-block-template-part{top:46px}.vv-header-inner{min-height:80px}.vv-desktop-nav,.vv-header-actions{display:none}.vv-menu-open:not([hidden]){display:block}.vv-hero{grid-template-columns:1fr;gap:40px;padding-block:56px}.vv-hero-copy{max-width:640px}.vv-hero-card{justify-self:center;max-width:429px}.vv-split{grid-template-columns:1fr;gap:40px}.vv-demo,.vv-product-preview{justify-self:center;max-width:429px}.vv-section-intro{max-width:640px}.vv-recall-note{display:none}.vv-trust,.vv-faq-layout{grid-template-columns:1fr;gap:40px}.vv-trust h2{max-width:640px}.vv-anatomy-diagram{display:none}.vv-anatomy-list{position:static;width:auto;height:auto;overflow:visible;clip-path:none;display:grid;grid-template-columns:1fr 1fr;gap:24px}.vv-anatomy-list>div{border-top:1px solid var(--vv-border);padding-top:16px}.vv-anatomy-list dt{font-weight:600;margin-bottom:8px}.vv-anatomy-list dd{color:var(--vv-secondary);font-size:14px}.vv-wordmark{font-size:18px}.vv-nojs .vv-desktop-nav{display:flex;flex-wrap:wrap}.vv-nojs .vv-header-inner{flex-wrap:wrap;padding-block:16px}.vv-nojs .vv-desktop-nav{width:100%}}
@media(max-width:600px){:root{--vv-section:56px;--vv-gutter:20px}h1{font-size:31px}h2{font-size:24px}h3{font-size:17px}.vv-hero{padding-block:40px 56px;gap:40px}.vv-eyebrow{margin-bottom:16px}.vv-hero .vv-actions{margin-top:24px}.vv-actions{gap:12px}.vv-button{padding:12px 20px;font-size:13px}.vv-hero .vv-button{flex-grow:1}.vv-card-target{font-size:27px}.vv-card-copy{padding:24px 24px 0}.vv-pronunciation{font-size:13px}.vv-section-heading{margin-bottom:32px}.vv-categories{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.vv-categories li{padding:24px 16px}.vv-categories .vv-label{font-size:10px;letter-spacing:.06em;overflow-wrap:normal}.vv-loop-diagram{display:none}.vv-loop-list{position:static;width:auto;height:auto;overflow:visible;clip-path:none;margin:0;padding:0;list-style:none;display:grid;gap:0}.vv-loop-list li{display:grid;grid-template-columns:110px 1fr;gap:16px;padding:24px 0;border-top:1px solid var(--vv-border)}.vv-loop-list strong{font-family:var(--vv-font-heading);font-size:15px}.vv-loop-list span{font-size:14px;color:var(--vv-secondary)}.vv-anatomy-list{grid-template-columns:1fr}.vv-preview-body{padding:24px}.vv-preview-counts{gap:32px}.vv-product-preview figcaption{padding:16px 24px}.vv-footer-inner{display:block}.vv-footer nav{margin-top:24px;flex-wrap:wrap}.vv-copyright{margin-top:24px}.vv-final .vv-actions{flex-direction:column}.vv-final .vv-button{width:100%}.vv-menu{padding:20px}}
@media(max-width:359px){:root{--vv-gutter:16px}.vv-categories{grid-template-columns:1fr}.vv-card-copy{padding:24px 20px 0}.vv-card-target{font-size:25px}.vv-wordmark{font-size:16px}.vv-preview-action{padding:16px;font-size:12px}.vv-loop-list li{grid-template-columns:100px 1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Owner-approved visual refinement: two-tone headings, white-on-orange CTA labels. */
.vv-heading-accent{color:var(--vv-accent)}
.vv-button:not(.vv-button--outline):not(.vv-button--dark){color:var(--vv-on-accent);font-size:19px;font-weight:700}
.vv-button:not(.vv-button--outline):not(.vv-button--dark):hover{color:var(--vv-on-accent)}
.vv-preview-action{color:var(--vv-on-accent);font-size:19px;line-height:1.4;gap:16px}
.vv-card-target{color:var(--vv-near-black);font-size:clamp(25px,7.5vw,38px);letter-spacing:-.045em}
.vv-card-art{position:relative;width:100%;aspect-ratio:1022/463;overflow:hidden;margin-top:24px;background:var(--vv-surface)}
.vv-card-art .vv-meaning-image{display:block;width:100%;height:auto;aspect-ratio:1022/463;margin:0;object-fit:cover;background:var(--vv-surface)}
.vv-anatomy-notes{display:grid;gap:40px}
.vv-anatomy-notes dt{font-family:var(--vv-font-heading);font-weight:700;font-size:17px;line-height:1.4;border-top:2px solid var(--vv-accent);padding-top:16px}
.vv-anatomy-notes dd{font-size:14px;color:var(--vv-secondary);margin-top:8px}
@media(max-width:850px){.vv-anatomy-notes{display:none}.vv-anatomy-card{max-width:429px;margin:0 auto 40px}}
@media(max-width:600px){.vv-card-target{font-size:clamp(25px,7.5vw,32px)}.vv-preview-action{padding:16px}.vv-hero .vv-button{flex-grow:0}}

.vv-recall-section,.vv-preview-section{background:var(--vv-bg)}

/* Bilingual meaning and compact action refinements. */
.vv-button{min-height:44px;padding:7px 18px;gap:10px;line-height:1.25;letter-spacing:-.01em}
.vv-button--small{min-height:40px;padding:5px 16px}
.vv-demo-controls{padding-top:16px}
.vv-preview-action{padding:10px 16px}
.vv-meaning{margin-top:24px}
.vv-meaning-switch{display:inline-grid;grid-template-columns:1fr 1fr;gap:3px;padding:3px;border:1px solid var(--vv-border);border-radius:999px;background:var(--vv-subtle)}
.vv-meaning-switch button{min-height:36px;padding:5px 12px;border:0;border-radius:999px;background:transparent;color:var(--vv-secondary);font-size:12.5px;font-weight:600;line-height:1.35;white-space:nowrap}
.vv-meaning-switch button[aria-pressed="true"]{background:var(--vv-surface);color:var(--vv-ink);box-shadow:0 1px 3px rgba(22,21,15,.12),inset 0 -2px 0 var(--vv-accent)}
.vv-meaning-panel{margin-top:12px}
.vv-meaning-panel>p:last-child{margin-top:8px;line-height:1.5}
.vv-meaning-panel--bn>p:last-child{font-family:"Noto Sans Bengali",sans-serif;font-size:22px;line-height:1.45}
.vv-card--recall .vv-meaning{margin-top:0}
.vv-card--reveal .vv-meaning{margin-top:24px}
.vv-loop-diagram{border:0;border-radius:0;background:transparent}
.vv-loop-image{display:block;width:100%;height:auto}
@media(max-width:850px){.vv-loop-diagram{display:none}.vv-loop-list{position:static;width:auto;height:auto;overflow:visible;clip-path:none;margin:0;padding:0;list-style:none;display:grid;gap:0}.vv-loop-list li{display:grid;grid-template-columns:110px 1fr;gap:16px;padding:24px 0;border-top:1px solid var(--vv-border)}.vv-loop-list strong{font-family:var(--vv-font-heading);font-size:15px}.vv-loop-list span{font-size:14px;color:var(--vv-secondary)}}
@media(max-width:430px){.vv-meaning-switch{width:100%}.vv-meaning-switch button{padding-inline:8px}.vv-button{padding-inline:16px}.vv-button--small{padding-inline:14px}}

/* 1.2.0 visual repair: faithful reference images, compact controls and stable sections. */
:root{--vv-section:80px}
.vv-button,.vv-button:not(.vv-button--outline):not(.vv-button--dark){min-height:40px;padding:6px 16px;gap:8px;font-size:16px;line-height:1.2}
.vv-button--small,.vv-button--small:not(.vv-button--outline):not(.vv-button--dark){min-height:36px;padding:5px 14px;font-size:15px}
.vv-preview-action{padding:9px 14px;font-size:16px;line-height:1.3}
.vv-card-art,.vv-card-art .vv-meaning-image{aspect-ratio:1022/463}
.vv-card-art .vv-meaning-image{width:100%;height:100%;object-fit:contain;object-position:center bottom}
.vv-loop-diagram{display:block;margin:0;border:1px solid var(--vv-border);border-radius:24px;background:var(--vv-surface);overflow:hidden;padding:12px}
.vv-loop-image{display:block;width:100%;height:auto;max-height:none;object-fit:contain}
.vv-anatomy-stage{--vv-anatomy-gap:32px;display:grid;grid-template-columns:minmax(180px,1fr) minmax(360px,460px) minmax(180px,1fr);align-items:center;gap:var(--vv-anatomy-gap);padding:40px;border-radius:32px;background:var(--vv-subtle)}
.vv-anatomy-card{min-width:0}
.vv-anatomy-notes{display:grid;align-content:space-between;gap:64px}
.vv-anatomy-notes>div{position:relative}
.vv-anatomy-notes dt{padding:0;border:0;font-size:16px}
.vv-anatomy-notes--left dt{display:flex;align-items:center;gap:8px;white-space:nowrap}
.vv-anatomy-notes--left dt::after{content:"";flex:1 1 auto;min-width:0;margin-right:calc(var(--vv-anatomy-gap) * -1);border-top:1px solid var(--vv-border-strong);transform:translateY(-2px)}
.vv-anatomy-notes dd{margin-top:6px;font-size:13px;line-height:1.55}
.vv-anatomy-notes>div::after{content:"";position:absolute;top:10px;width:var(--vv-anatomy-gap);border-top:1px solid var(--vv-border-strong)}
.vv-anatomy-notes>div::before{content:"";position:absolute;top:6px;width:9px;height:9px;border-radius:50%;background:var(--vv-accent);z-index:1}
.vv-anatomy-notes--left>div::after{content:none}.vv-anatomy-notes--left>div::before{right:calc((var(--vv-anatomy-gap) * -1) - 4px)}
.vv-anatomy-notes--right>div::after{left:calc(var(--vv-anatomy-gap) * -1)}.vv-anatomy-notes--right>div::before{left:calc((var(--vv-anatomy-gap) * -1) - 4px)}
@media(max-width:1100px){:root{--vv-section:64px}.vv-anatomy-stage{--vv-anatomy-gap:24px;grid-template-columns:minmax(160px,1fr) minmax(330px,420px) minmax(160px,1fr);padding:32px}.vv-anatomy-notes{gap:40px}}
@media(max-width:850px){.vv-anatomy-stage{display:block;max-width:520px;margin-inline:auto;padding:24px}.vv-anatomy-notes{display:none}.vv-anatomy-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:32px}.vv-anatomy-list>div{padding:16px;border:1px solid var(--vv-border);border-radius:16px;background:var(--vv-surface)}.vv-loop-diagram{display:none}}
@media(max-width:600px){:root{--vv-section:48px}.vv-button,.vv-button:not(.vv-button--outline):not(.vv-button--dark){min-height:40px;padding:6px 14px;font-size:15px}.vv-hero .vv-button{flex-grow:0}.vv-anatomy-stage{padding:0;border-radius:24px;background:transparent}.vv-anatomy-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.vv-anatomy-list>div{padding:14px}.vv-anatomy-list dt{font-size:14px}.vv-anatomy-list dd{font-size:12.5px;line-height:1.45}}
@media(max-width:359px){.vv-anatomy-list{grid-template-columns:1fr}}

/* Build 06: authenticated learner shell and account forms. */
.vv-header-actions>.vv-nav-link,.vv-header-actions>.vv-logout-link{display:inline-flex;align-items:center;min-height:44px;padding:8px 12px;border:1px solid transparent;border-radius:11px;font-size:14px;text-decoration:none}
.vv-header-actions>.vv-nav-link:hover,.vv-header-actions>.vv-logout-link:hover{background:rgba(255,77,0,.06);border-color:rgba(255,77,0,.16)}
.vv-header-actions>.vv-nav-link.is-current{background:rgba(255,77,0,.11);border-color:rgba(255,77,0,.24)}
.vv-learner-main{padding-block:80px;min-height:calc(100vh - 320px)}
.vv-auth-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,480px);align-items:center;gap:clamp(48px,8vw,112px);max-width:1040px;margin-inline:auto}
.vv-auth-intro{max-width:520px}.vv-auth-intro .vv-label,.vv-learner-shell__header .vv-label{margin-bottom:16px;color:var(--vv-accent-text)}
.vv-auth-intro h1 span,.vv-learner-shell__header h1 span{color:var(--vv-accent)}
.vv-auth-intro>p:last-child,.vv-learner-shell__header p:last-child{margin-top:20px;color:var(--vv-secondary);max-width:540px}
.vv-auth-panel,.vv-preferences,.vv-account-identity{border:1px solid var(--vv-border);background:var(--vv-surface);border-radius:var(--vv-radius-panel)}
.vv-auth-panel{padding:40px;box-shadow:0 18px 50px rgba(22,21,15,.07)}
.vv-auth-provider{width:100%}.vv-auth-provider .nsl-container,.vv-auth-provider .nsl-container-buttons,.vv-auth-provider .nsl-button{width:100%}.vv-auth-provider .nsl-button{min-height:48px}.vv-auth-divider{display:flex;align-items:center;gap:14px;margin:24px 0;color:var(--vv-muted);font-size:12px;text-align:center}.vv-auth-divider::before,.vv-auth-divider::after{content:"";height:1px;flex:1;background:var(--vv-border)}.vv-auth-divider span{flex:0 1 auto}
.vv-auth-form{display:grid;gap:20px}.vv-form-field{display:grid;gap:8px}.vv-form-field label,.vv-preferences legend{font-family:var(--vv-font-heading);font-weight:700;color:var(--vv-ink)}
.vv-form-field input{width:100%;min-height:48px;padding:10px 14px;border:1px solid var(--vv-border-strong);border-radius:var(--vv-radius-control);background:var(--vv-bg);color:var(--vv-ink)}
.vv-form-field input:focus{outline:3px solid var(--vv-focus);outline-offset:2px;border-color:var(--vv-focus)}
.vv-checkbox{display:flex;align-items:center;gap:10px;min-height:44px;color:var(--vv-secondary);font-size:14px}.vv-checkbox input{width:18px;height:18px;accent-color:var(--vv-accent)}
.vv-form-help,.vv-auth-register{font-size:14px;color:var(--vv-secondary)}.vv-form-help{justify-self:center}.vv-auth-register{margin-top:20px;text-align:center}
.vv-form-help:hover,.vv-auth-register a:hover{text-decoration-thickness:2px}
.vv-form-notice{margin-bottom:20px;padding:12px 14px;border:1px solid;border-radius:var(--vv-radius-control);font-size:14px}
.vv-form-notice--error{border-color:rgba(165,35,27,.24);background:var(--vv-error-wash);color:var(--vv-error)}.vv-form-notice--success{border-color:rgba(15,107,69,.24);background:var(--vv-success-wash);color:var(--vv-success)}
.vv-learner-shell{display:grid;gap:48px}.vv-learner-shell__header{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;padding-bottom:32px;border-bottom:1px solid var(--vv-border)}
.vv-account-grid{display:grid;grid-template-columns:minmax(230px,320px) minmax(0,1fr);align-items:start;gap:32px}.vv-account-identity,.vv-preferences{padding:32px}
.vv-account-identity h2,.vv-preferences h2{font-size:21px}.vv-account-identity dl{display:grid;gap:24px;margin-top:28px}.vv-account-identity dl>div{display:grid;gap:4px}.vv-account-identity dt{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--vv-muted)}.vv-account-identity dd{overflow-wrap:anywhere;color:var(--vv-secondary)}
.vv-signin-methods{margin-top:28px;padding-top:24px;border-top:1px solid var(--vv-border)}.vv-signin-methods h3{font-size:16px}.vv-signin-methods>p{margin:8px 0 16px;color:var(--vv-secondary);font-size:13px}.vv-signin-methods .nsl-container,.vv-signin-methods .nsl-container-buttons,.vv-signin-methods .nsl-button{width:100%}
.vv-preferences__heading{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(260px,1fr);gap:32px;padding-bottom:28px;border-bottom:1px solid var(--vv-border)}.vv-preferences__heading .vv-label{margin-bottom:8px}.vv-preferences__heading>p{color:var(--vv-secondary);font-size:14px}
.vv-preferences form{display:grid;gap:32px;margin-top:32px}.vv-preferences fieldset{margin:0;padding:0;border:0}.vv-preferences legend{font-size:16px}.vv-field-help{margin-top:4px;color:var(--vv-muted);font-size:13px}.vv-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
.vv-choice{position:relative;display:flex;min-height:92px;padding:16px;border:1px solid var(--vv-border);border-radius:var(--vv-radius-control);background:var(--vv-bg);cursor:pointer}.vv-choice:has(input:checked){border-color:rgba(255,77,0,.48);background:var(--vv-accent-wash);box-shadow:inset 0 0 0 1px rgba(255,77,0,.16)}.vv-choice input{position:absolute;right:16px;top:16px;width:18px;height:18px;accent-color:var(--vv-accent)}.vv-choice>span{display:grid;align-content:start;gap:5px;padding-right:28px}.vv-choice strong{font-size:14px}.vv-choice strong[lang="bn"]{font-family:"Noto Sans Bengali",sans-serif;font-size:17px}.vv-choice small{color:var(--vv-secondary);font-size:12.5px;line-height:1.45}.vv-choice:has(input:focus-visible){outline:3px solid var(--vv-focus);outline-offset:3px}
@media(max-width:850px){.vv-learner-main{padding-block:64px}.vv-auth-layout{grid-template-columns:1fr;max-width:580px;gap:40px}.vv-auth-intro{max-width:none}.vv-account-grid{grid-template-columns:1fr}.vv-account-identity dl{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.vv-learner-main{padding-block:48px}.vv-auth-panel,.vv-account-identity,.vv-preferences{padding:24px}.vv-learner-shell{gap:32px}.vv-learner-shell__header{display:grid;align-items:start;gap:24px}.vv-learner-shell__header .vv-button{justify-self:start}.vv-preferences__heading{grid-template-columns:1fr;gap:16px}.vv-choice-grid{grid-template-columns:1fr}.vv-account-identity dl{grid-template-columns:1fr}.vv-header-actions>.vv-nav-link,.vv-header-actions>.vv-logout-link{padding-inline:10px}}

/* Build 06.2: legal pages and login legal links. */
.vv-legal{max-width:70ch;margin-top:32px;color:var(--vv-secondary);font-size:16px;line-height:1.75}
.vv-legal>*+*{margin-top:20px}
.vv-legal__deck{margin-top:0;color:var(--vv-ink);font-size:18px;line-height:1.65}
.vv-legal h2{margin-top:48px;font-size:22px;color:var(--vv-ink)}
.vv-legal h3{margin-top:32px;font-size:17px;color:var(--vv-ink)}
.vv-legal ul{display:grid;gap:10px;margin:0;padding-left:22px}
.vv-legal strong{color:var(--vv-ink)}
.vv-legal a{color:var(--vv-ink);text-underline-offset:3px}
.vv-legal a:hover{text-decoration-thickness:2px}
.vv-auth-legal{margin-top:24px;font-size:13px;color:var(--vv-muted);text-align:center}
.vv-auth-legal a{color:var(--vv-secondary)}
.vv-auth-legal a:hover{text-decoration-thickness:2px}
@media(max-width:600px){.vv-legal{margin-top:24px;font-size:15.5px}.vv-legal h2{margin-top:36px;font-size:20px}.vv-legal h3{margin-top:28px}}

/* Build 01.1: premium orange-and-white primary CTA interaction. */
.vv-button.vv-primary-cta:not(.vv-button--outline):not(.vv-button--dark){
  flex-wrap:nowrap;
  justify-content:flex-start;
  gap:11px;
  min-height:48px;
  padding:6px 7px 6px 18px;
  overflow:hidden;
  border-color:var(--vv-accent);
  background:var(--vv-accent);
  color:var(--vv-on-accent);
  font-size:16px;
  white-space:nowrap;
  box-shadow:0 3px 10px rgba(22,21,15,.08);
  transition:background-color .25s ease,color .25s ease,border-color .25s ease,box-shadow .25s ease,transform .25s ease;
}
.vv-primary-cta__label{display:block;white-space:nowrap}
.vv-primary-cta__chip{
  display:grid;
  place-items:center;
  flex:0 0 34px;
  width:34px;
  height:34px;
  border-radius:10px;
  background:var(--vv-on-accent);
  color:var(--vv-accent);
  transform:none;
  transition:background-color .25s ease,color .25s ease;
}
.vv-primary-cta__arrow{
  display:block;
  width:20px;
  height:20px;
  overflow:visible;
  shape-rendering:geometricPrecision;
  transform:none;
}
.vv-button.vv-primary-cta .vv-primary-cta__arrow{transform:none!important}
.vv-primary-cta__plane{transform-box:fill-box;transform-origin:50% 50%;transition:opacity .18s ease,transform .35s cubic-bezier(.22,.61,.36,1)}
.vv-primary-cta__plane--rest{opacity:1;transform:rotate(0deg)}
.vv-primary-cta__plane--hover{opacity:0;transform:rotate(-12deg)}
.vv-button.vv-primary-cta--compact:not(.vv-button--outline):not(.vv-button--dark){
  gap:8px;
  min-height:40px;
  padding:5px 6px 5px 14px;
  font-size:15px;
}
.vv-primary-cta--compact .vv-primary-cta__chip{flex-basis:28px;width:28px;height:28px;border-radius:9px}
.vv-primary-cta--compact .vv-primary-cta__arrow{width:18px;height:18px}
.vv-button.vv-primary-cta:not(.vv-button--outline):not(.vv-button--dark):focus-visible{
  background:var(--vv-on-accent);
  color:var(--vv-accent);
  border-color:rgba(255,77,0,.28);
  box-shadow:0 7px 16px rgba(255,77,0,.16);
  transform:translateY(-1px);
}
.vv-button.vv-primary-cta:focus-visible .vv-primary-cta__chip{
  background:var(--vv-accent);
  color:var(--vv-on-accent);
  transform:none;
}
.vv-button.vv-primary-cta:focus-visible .vv-primary-cta__plane--rest{opacity:0;transform:rotate(12deg)}
.vv-button.vv-primary-cta:focus-visible .vv-primary-cta__plane--hover{opacity:1;transform:rotate(0deg)}
.vv-button.vv-primary-cta--compact:not(.vv-button--outline):not(.vv-button--dark):focus-visible{
  box-shadow:0 6px 14px rgba(190,58,0,.16);
}
@media(hover:hover) and (pointer:fine){
  .vv-button.vv-primary-cta:not(.vv-button--outline):not(.vv-button--dark):hover{
    background:var(--vv-on-accent);
    color:var(--vv-accent);
    border-color:rgba(255,77,0,.28);
    box-shadow:0 7px 16px rgba(255,77,0,.16);
    transform:translateY(-1px);
  }
  .vv-button.vv-primary-cta:hover .vv-primary-cta__chip{
    background:var(--vv-accent);
    color:var(--vv-on-accent);
    transform:none;
  }
  .vv-button.vv-primary-cta:hover .vv-primary-cta__plane--rest{opacity:0;transform:rotate(12deg)}
  .vv-button.vv-primary-cta:hover .vv-primary-cta__plane--hover{opacity:1;transform:rotate(0deg)}
  .vv-button.vv-primary-cta--compact:not(.vv-button--outline):not(.vv-button--dark):hover{
    box-shadow:0 6px 14px rgba(190,58,0,.16);
  }
}
.vv-button.vv-primary-cta:not(.vv-button--outline):not(.vv-button--dark):active{
  box-shadow:0 2px 6px rgba(22,21,15,.08);
  transform:translateY(0);
}
.vv-card-art,.vv-card-art .vv-meaning-image{aspect-ratio:1022/419}
@media(max-width:430px){
  .vv-button.vv-primary-cta:not(.vv-button--outline):not(.vv-button--dark){padding:6px 7px 6px 16px}
  .vv-menu .vv-primary-cta{align-self:flex-start}
}
@media(prefers-reduced-motion:reduce){
  .vv-button.vv-primary-cta:hover,.vv-button.vv-primary-cta:focus-visible{transform:none!important}
}

/* Build 01.2: native-block wrapper compatibility; values mirror the approved markup. */
.vv-recall-note>p:first-child span{font-size:32px;color:var(--vv-accent-text)}
.vv-categories>.wp-block-group{padding:32px;background:var(--vv-surface);border:1px solid var(--vv-border);border-radius:20px;min-width:0}
.vv-categories>.wp-block-group:first-child{background:var(--vv-accent-wash)}
.vv-trust-list>.vv-trust-item{padding-block:24px;border-top:1px solid var(--vv-border)}
.vv-trust-list>.vv-trust-item:first-child{padding-top:0;border-top:0}
.vv-trust-item h3{font-size:17px;line-height:1.6;letter-spacing:normal}
.vv-trust-item p{margin-top:8px;color:var(--vv-secondary)}
@media(max-width:600px){.vv-categories>.wp-block-group{padding:24px 16px}}
.vv-loop-diagram>img{display:block;width:100%;height:auto;max-height:none;object-fit:contain}

/* Build 02: How It Works product explanation components. */
.vv-hiw-page{overflow:clip;background:var(--vv-bg)}
.vv-hiw-page .vv-heading-accent{color:var(--vv-accent)}
.vv-hiw-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);align-items:center;gap:72px;padding-block:88px 80px;max-width:1200px}
.vv-hiw-hero__copy{min-width:0;max-width:650px}
.vv-hiw-hero h1{max-width:650px}
.vv-hiw-hero .vv-lead{max-width:620px;margin-top:24px}
.vv-hiw-hero .vv-actions{margin-top:32px}
.vv-hiw-hero-visual{position:relative;width:100%;max-width:470px;justify-self:end;margin:0;padding:14px 14px 30px}
.vv-hiw-hero-visual__track{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:0 18px 12px;padding:13px 12px;border:1px solid var(--vv-border);border-radius:15px;background:var(--vv-surface);box-shadow:0 5px 16px rgba(22,21,15,.045)}
.vv-hiw-hero-visual__track::before{content:"";position:absolute;left:12.5%;right:12.5%;top:23px;border-top:1px solid var(--vv-border-strong)}
.vv-hiw-hero-visual__track span{position:relative;padding-top:22px;color:var(--vv-muted);font-family:var(--vv-font-heading);font-size:9px;font-weight:700;text-align:center}
.vv-hiw-hero-visual__track span::before{content:"";position:absolute;z-index:1;top:5px;left:50%;width:11px;height:11px;border:2px solid var(--vv-border-strong);border-radius:50%;background:var(--vv-surface);transform:translateX(-50%)}
.vv-hiw-hero-visual__track .is-complete::before{border-color:var(--vv-accent);background:var(--vv-accent)}
.vv-hiw-hero-visual__track .is-current{color:var(--vv-ink)}
.vv-hiw-hero-visual__track .is-current::before{border-color:var(--vv-accent);box-shadow:0 0 0 4px var(--vv-accent-wash)}
.vv-hiw-hero-card{position:relative;z-index:1;overflow:hidden;border:1px solid var(--vv-border);border-radius:24px;background:var(--vv-surface);box-shadow:0 18px 45px rgba(22,21,15,.085)}
.vv-hiw-hero-card__copy{padding:26px 28px 0}
.vv-hiw-hero-card__copy>.vv-label{color:var(--vv-muted)}
.vv-hiw-hero-card__target{margin-top:7px;color:var(--vv-ink);font-family:var(--vv-font-heading);font-size:clamp(27px,2.7vw,38px);font-weight:700;letter-spacing:-.045em;line-height:1.15}
.vv-hiw-hero-card__sound{display:grid;grid-template-columns:24px 54px 1fr;align-items:center;gap:8px;margin-top:18px;font-size:12px}
.vv-hiw-hero-card__sound>span:first-child{display:grid;place-items:center;color:var(--vv-accent)}
.vv-hiw-hero-card__sound svg{width:22px;height:22px;fill:currentColor;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.vv-hiw-hero-card__sound strong{color:var(--vv-muted);font-size:11px}
.vv-hiw-hero-card__switch{display:grid;grid-template-columns:1fr 1fr;gap:3px;width:min(100%,280px);margin-top:20px;padding:3px;border:1px solid var(--vv-border);border-radius:999px;background:var(--vv-subtle);font-size:11px;font-weight:600;text-align:center}
.vv-hiw-hero-card__switch span{padding:6px 10px;border-radius:999px;color:var(--vv-secondary)}
.vv-hiw-hero-card__switch .is-active{background:var(--vv-surface);color:var(--vv-ink);box-shadow:0 1px 3px rgba(22,21,15,.1),inset 0 -2px 0 var(--vv-accent)}
.vv-hiw-hero-card__meaning-label{margin-top:17px}
.vv-hiw-hero-card__meaning{margin-top:5px;font-size:13px;line-height:1.45}
.vv-hiw-hero-card>img{display:block;width:100%;height:auto;aspect-ratio:1022/300;margin-top:18px;object-fit:cover;object-position:center bottom}
.vv-hiw-hero-visual__recall{position:absolute;z-index:3;right:-8px;bottom:5px;display:grid;grid-template-columns:1fr 38px;align-items:center;column-gap:12px;min-width:184px;padding:12px 12px 12px 16px;border:1px solid rgba(255,77,0,.22);border-radius:16px;background:var(--vv-surface);box-shadow:0 10px 28px rgba(22,21,15,.10)}
.vv-hiw-hero-visual__recall>span:first-child{color:var(--vv-muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.vv-hiw-hero-visual__recall strong{font-family:var(--vv-font-heading);font-size:13px}
.vv-hiw-hero-visual__recall-icon{grid-column:2;grid-row:1/3;display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--vv-accent);color:var(--vv-surface)}
.vv-hiw-hero-visual__recall-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.vv-hiw-section-heading{max-width:760px}
.vv-hiw-loop-section{background:var(--vv-surface);border-block:1px solid var(--vv-border)}
.vv-hiw-loop-stage{position:relative;min-height:730px}
.vv-hiw-loop{position:relative;z-index:2;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-areas:"see see understand understand recall recall" ". review review remember remember .";column-gap:64px;row-gap:115px;list-style:none;margin:0;padding:0 48px}
.vv-hiw-loop-card{position:relative;min-width:0;min-height:250px;padding:22px 24px;background:var(--vv-surface);border:1px solid var(--vv-border);border-radius:20px;box-shadow:0 5px 18px rgba(22,21,15,.045);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.vv-hiw-loop-card:nth-child(1){grid-area:see}.vv-hiw-loop-card:nth-child(2){grid-area:understand}.vv-hiw-loop-card:nth-child(3){grid-area:recall}.vv-hiw-loop-card:nth-child(4){grid-area:review}.vv-hiw-loop-card:nth-child(5){grid-area:remember}
.vv-hiw-loop-card:hover,.vv-hiw-loop-card:focus-visible{border-color:rgba(255,77,0,.52);box-shadow:0 16px 34px rgba(22,21,15,.075),0 8px 25px rgba(255,77,0,.14);transform:translateY(-2px)}
.vv-hiw-loop-card__number{display:block;font-family:var(--vv-font-heading);font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--vv-muted)}
.vv-hiw-icon-badge{display:grid;place-items:center;width:56px;height:56px;margin-top:16px;border-radius:17px;background:var(--vv-accent-wash);color:var(--vv-accent-text);transition:background-color .2s ease,color .2s ease}
.vv-hiw-icon-badge svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.vv-hiw-loop-card:hover .vv-hiw-icon-badge,.vv-hiw-loop-card:focus-visible .vv-hiw-icon-badge{background:var(--vv-accent);color:var(--vv-surface)}
.vv-hiw-loop-card h3{margin-top:20px;font-size:18px}
.vv-hiw-loop-card p{margin-top:9px;color:var(--vv-secondary);font-size:14px;line-height:1.5}
.vv-hiw-route{position:absolute;z-index:1;inset:0;width:100%;height:730px;overflow:visible;pointer-events:none}
.vv-hiw-route--tablet{display:none}
.vv-hiw-route__line{fill:none;stroke:var(--vv-border-strong);stroke-width:2;vector-effect:non-scaling-stroke;transition:stroke .2s ease,filter .2s ease}
.vv-hiw-route__segment circle{fill:var(--vv-surface);stroke:var(--vv-border-strong);stroke-width:1.5;vector-effect:non-scaling-stroke;filter:drop-shadow(0 3px 5px rgba(22,21,15,.10));transition:fill .2s ease,stroke .2s ease}
.vv-hiw-route__arrow{fill:none;stroke:var(--vv-ink);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;transition:stroke .2s ease}
.vv-hiw-route__line--loop{stroke:rgba(255,77,0,.46);stroke-dasharray:8 8}
.vv-hiw-loop-stage:has(.vv-hiw-loop-card:nth-child(1):is(:hover,:focus-visible)) .vv-hiw-route__segment--1,.vv-hiw-loop-stage:has(.vv-hiw-loop-card:nth-child(2):is(:hover,:focus-visible)) .vv-hiw-route__segment--2,.vv-hiw-loop-stage:has(.vv-hiw-loop-card:nth-child(3):is(:hover,:focus-visible)) .vv-hiw-route__segment--3,.vv-hiw-loop-stage:has(.vv-hiw-loop-card:nth-child(4):is(:hover,:focus-visible)) .vv-hiw-route__segment--4,.vv-hiw-loop-stage:has(.vv-hiw-loop-card:nth-child(5):is(:hover,:focus-visible)) .vv-hiw-route__segment--loop{--vv-hiw-route-active:1}
.vv-hiw-loop-stage:has(.vv-hiw-loop-card:nth-child(1):is(:hover,:focus-visible)) .vv-hiw-route__segment--1 .vv-hiw-route__line,.vv-hiw-loop-stage:has(.vv-hiw-loop-card:nth-child(2):is(:hover,:focus-visible)) .vv-hiw-route__segment--2 .vv-hiw-route__line,.vv-hiw-loop-stage:has(.vv-hiw-loop-card:nth-child(3):is(:hover,:focus-visible)) .vv-hiw-route__segment--3 .vv-hiw-route__line,.vv-hiw-loop-stage:has(.vv-hiw-loop-card:nth-child(4):is(:hover,:focus-visible)) .vv-hiw-route__segment--4 .vv-hiw-route__line,.vv-hiw-loop-stage:has(.vv-hiw-loop-card:nth-child(5):is(:hover,:focus-visible)) .vv-hiw-route__segment--loop .vv-hiw-route__line{stroke:var(--vv-accent);filter:drop-shadow(0 3px 5px rgba(255,77,0,.28))}
.vv-hiw-loop-stage:has(.vv-hiw-loop-card:nth-child(1):is(:hover,:focus-visible)) .vv-hiw-route__segment--1 circle,.vv-hiw-loop-stage:has(.vv-hiw-loop-card:nth-child(2):is(:hover,:focus-visible)) .vv-hiw-route__segment--2 circle,.vv-hiw-loop-stage:has(.vv-hiw-loop-card:nth-child(3):is(:hover,:focus-visible)) .vv-hiw-route__segment--3 circle,.vv-hiw-loop-stage:has(.vv-hiw-loop-card:nth-child(4):is(:hover,:focus-visible)) .vv-hiw-route__segment--4 circle,.vv-hiw-loop-stage:has(.vv-hiw-loop-card:nth-child(5):is(:hover,:focus-visible)) .vv-hiw-route__segment--loop circle{fill:var(--vv-accent);stroke:var(--vv-accent)}
.vv-hiw-loop-stage:has(.vv-hiw-loop-card:nth-child(1):is(:hover,:focus-visible)) .vv-hiw-route__segment--1 .vv-hiw-route__arrow,.vv-hiw-loop-stage:has(.vv-hiw-loop-card:nth-child(2):is(:hover,:focus-visible)) .vv-hiw-route__segment--2 .vv-hiw-route__arrow,.vv-hiw-loop-stage:has(.vv-hiw-loop-card:nth-child(3):is(:hover,:focus-visible)) .vv-hiw-route__segment--3 .vv-hiw-route__arrow,.vv-hiw-loop-stage:has(.vv-hiw-loop-card:nth-child(4):is(:hover,:focus-visible)) .vv-hiw-route__segment--4 .vv-hiw-route__arrow,.vv-hiw-loop-stage:has(.vv-hiw-loop-card:nth-child(5):is(:hover,:focus-visible)) .vv-hiw-route__segment--loop .vv-hiw-route__arrow{stroke:var(--vv-surface)}
.vv-hiw-loop-back{position:absolute;z-index:3;left:50%;bottom:12px;display:flex;align-items:center;gap:12px;min-width:330px;padding:10px 16px;border:1px solid rgba(255,77,0,.22);border-radius:999px;background:var(--vv-surface);box-shadow:0 5px 16px rgba(22,21,15,.06);transform:translateX(-50%)}
.vv-hiw-loop-back__icon{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:var(--vv-accent);color:var(--vv-surface)}
.vv-hiw-loop-back__icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.vv-hiw-loop-back>span:last-child{display:grid}.vv-hiw-loop-back strong{font-family:var(--vv-font-heading);font-size:13px;color:var(--vv-ink)}.vv-hiw-loop-back small{color:var(--vv-secondary);font-size:11px}
.vv-hiw-walkthrough-section{background:var(--vv-bg)}
.vv-hiw-walkthrough{--vv-hiw-callout-gap:40px;display:grid;grid-template-columns:minmax(190px,1fr) minmax(400px,520px) minmax(190px,1fr);gap:var(--vv-hiw-callout-gap);align-items:stretch}
.vv-hiw-callouts{position:relative;z-index:2;margin:0;min-width:0}
.vv-hiw-callout{position:absolute;width:100%}
.vv-hiw-callout dt{position:relative;display:flex;align-items:center;gap:10px;font-family:var(--vv-font-heading);font-size:15px;font-weight:700;line-height:1.35;color:var(--vv-ink)}
.vv-hiw-callout dd{margin-top:7px;color:var(--vv-secondary);font-size:13px;line-height:1.55}
.vv-hiw-callouts--left .vv-hiw-callout dt::after,.vv-hiw-callouts--right .vv-hiw-callout dt::before{content:"";height:1px;flex:1 1 auto;min-width:12px;background:var(--vv-border-strong)}
.vv-hiw-callouts--left .vv-hiw-callout dt::after{margin-right:calc(var(--vv-hiw-callout-gap) * -1)}
.vv-hiw-callouts--right .vv-hiw-callout dt::before{margin-left:calc(var(--vv-hiw-callout-gap) * -1)}
.vv-hiw-callout::after{content:"";position:absolute;top:7px;width:10px;height:10px;border-radius:50%;background:var(--vv-accent);box-shadow:0 0 0 4px var(--vv-surface)}
.vv-hiw-callouts--left .vv-hiw-callout::after{right:calc((var(--vv-hiw-callout-gap) * -1) - 5px)}
.vv-hiw-callouts--right .vv-hiw-callout::after{left:calc((var(--vv-hiw-callout-gap) * -1) - 5px)}
.vv-hiw-callout--target{top:78px}.vv-hiw-callout--pronunciation{top:194px}.vv-hiw-callout--meaning{top:333px}
.vv-hiw-callout--audio{top:190px}.vv-hiw-callout--example{top:438px}.vv-hiw-callout--illustration{top:668px}
.vv-hiw-card{overflow:hidden;min-width:0;background:var(--vv-surface);border:1px solid var(--vv-border);border-radius:22px;box-shadow:0 16px 36px rgba(22,21,15,.075);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.vv-hiw-card:hover,.vv-hiw-card:focus-within{border-color:rgba(255,77,0,.36);box-shadow:0 20px 44px rgba(22,21,15,.08),0 12px 32px rgba(255,77,0,.14);transform:translateY(-2px)}
.vv-hiw-sound{display:grid;place-items:center;width:26px;height:26px;color:var(--vv-accent)}
.vv-hiw-sound svg,.vv-hiw-audio-token svg{width:23px;height:23px;fill:currentColor;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.vv-hiw-audio-tokens{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.vv-hiw-audio-token{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:7px 13px;border:1px solid var(--vv-border);border-radius:999px;background:var(--vv-bg);color:var(--vv-ink);font-size:12.5px;font-weight:600;white-space:nowrap}
.vv-hiw-audio-token>span{display:grid;place-items:center;width:22px;height:22px;color:var(--vv-accent)}
.vv-hiw-split{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:72px;align-items:start}
.vv-hiw-split .vv-section-intro>p:not(.vv-eyebrow){margin-top:20px;color:var(--vv-secondary)}
.vv-hiw-audio-guide{display:grid;gap:20px}
.vv-hiw-audio-pairs,.vv-hiw-pronunciation-types{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.vv-hiw-audio-guide section{padding:24px;border:1px solid var(--vv-border);border-radius:20px;background:var(--vv-surface);box-shadow:0 5px 18px rgba(22,21,15,.035)}
.vv-hiw-audio-guide h3{margin-top:10px;font-size:17px}
.vv-hiw-pronunciation-types section:first-child{background:var(--vv-accent-wash)}
.vv-hiw-pronunciation-types section>p:not(.vv-label):not(.vv-hiw-respelling){margin-top:12px;color:var(--vv-secondary);font-size:13px}
.vv-hiw-respelling{margin-top:14px;font-size:14px}
.vv-hiw-respelling strong{display:inline-block;min-width:50px;color:var(--vv-muted);font-size:12px}
.vv-hiw-audio-guide>.vv-micro{margin-top:0}
.vv-hiw-audio-section,.vv-hiw-recall-section{background:var(--vv-surface);border-block:1px solid var(--vv-border)}
.vv-hiw-bilingual-section,.vv-hiw-lexical-section{background:var(--vv-bg)}
.vv-hiw-meaning-demo{padding:32px;border:1px solid var(--vv-border);border-radius:24px;background:var(--vv-surface);box-shadow:0 12px 34px rgba(22,21,15,.06)}
.vv-hiw-meaning-demo>.vv-meaning-switch{width:min(100%,360px);margin-top:16px}
.vv-hiw-meaning-demo>.vv-meaning-panel{min-height:142px;padding-top:22px}
.vv-hiw-meaning-demo>.vv-meaning-panel>p:last-child{margin-top:8px;font-size:19px;line-height:1.55}
.vv-hiw-meaning-demo>.vv-meaning-panel--bn>p:last-child{font-size:28px;line-height:1.45}
.vv-hiw-meaning-demo__note{padding-top:20px;border-top:1px solid var(--vv-border);color:var(--vv-secondary);font-size:13px}
.vv-hiw-recall{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,560px);gap:56px;align-items:center}
.vv-hiw-recall-flow{list-style:none;margin:0;padding:0;counter-reset:vv-hiw-recall}
.vv-hiw-recall-flow li{position:relative;display:flex;align-items:center;gap:16px;min-height:64px;padding:10px 0;font-family:var(--vv-font-heading);font-size:15px;font-weight:700}
.vv-hiw-recall-flow li:not(:last-child)::after{content:"";position:absolute;left:16px;top:50px;height:28px;border-left:1px solid var(--vv-border-strong)}
.vv-hiw-recall-flow span{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:var(--vv-surface);border:1px solid var(--vv-border);color:var(--vv-accent-text);font-size:11px}
.vv-hiw-recall-card{padding:32px;border:1px solid var(--vv-border);border-radius:24px;background:var(--vv-surface);box-shadow:0 14px 38px rgba(22,21,15,.065)}
.vv-hiw-recall-card .vv-card-target{margin-top:8px}
.vv-hiw-recall-answer{margin-top:22px;padding:18px;border-radius:16px;background:var(--vv-accent-wash)}
.vv-hiw-recall-answer>p:last-child{margin-top:8px}
.vv-hiw-recall-card .vv-demo-controls{border-top:0;padding:24px 0 0;background:transparent}
.vv-hiw-recall-card [data-stage="recall"]>p{margin-bottom:16px;color:var(--vv-secondary)}
.vv-hiw-rating{grid-template-columns:repeat(4,minmax(0,1fr))}
.vv-hiw-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.vv-hiw-category-card{min-width:0;padding:30px;border:1px solid var(--vv-border);border-radius:20px;background:var(--vv-surface);box-shadow:0 5px 18px rgba(22,21,15,.035);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.vv-hiw-category-card:hover,.vv-hiw-category-card:focus-within{border-color:rgba(255,77,0,.40);box-shadow:0 13px 29px rgba(22,21,15,.06),0 7px 22px rgba(255,77,0,.10);transform:translateY(-2px)}
.vv-hiw-category-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:var(--vv-accent-wash);color:var(--vv-accent-text);transition:background-color .2s ease,color .2s ease,box-shadow .2s ease}.vv-hiw-category-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.vv-hiw-category-card:hover .vv-hiw-category-icon,.vv-hiw-category-card:focus-within .vv-hiw-category-icon{background:var(--vv-accent);color:var(--vv-surface);box-shadow:0 5px 13px rgba(255,77,0,.18)}
.vv-hiw-category-card h3{margin-top:22px;font-size:18px}
.vv-hiw-category-card>p:last-child{margin-top:10px;color:var(--vv-secondary);font-size:14px}
.vv-hiw-lexical-summary{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(240px,1fr) minmax(260px,1.2fr);align-items:center;gap:24px;margin-top:18px;padding:30px;border:1px solid var(--vv-border);border-left:4px solid var(--vv-accent);border-radius:20px;background:var(--vv-surface);box-shadow:0 6px 20px rgba(22,21,15,.045)}
.vv-hiw-lexical-summary .vv-label{color:var(--vv-muted)}
.vv-hiw-lexical-summary h3{color:var(--vv-ink);font-size:20px}
.vv-hiw-lexical-summary>p:last-child{color:var(--vv-secondary);font-size:14px}
.vv-hiw-final{padding-block:88px}

@media(max-width:1100px){
  .vv-hiw-hero{grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);gap:42px}
  .vv-hiw-loop{column-gap:52px;padding-inline:39px}.vv-hiw-loop-card{padding:22px 20px}
  .vv-hiw-walkthrough{--vv-hiw-callout-gap:24px;grid-template-columns:minmax(165px,1fr) minmax(370px,470px) minmax(165px,1fr)}
  .vv-hiw-callout dt{font-size:14px}.vv-hiw-callout dd{font-size:12px}
  .vv-hiw-callout--target{top:68px}.vv-hiw-callout--pronunciation{top:181px}.vv-hiw-callout--meaning{top:312px}.vv-hiw-callout--audio{top:177px}.vv-hiw-callout--example{top:418px}.vv-hiw-callout--illustration{top:630px}
}
@media(max-width:900px){
  .vv-hiw-hero{grid-template-columns:1fr;gap:42px;padding-block:72px 64px}.vv-hiw-hero__copy{max-width:680px}.vv-hiw-hero-visual{justify-self:center;max-width:520px}
  .vv-hiw-loop-stage{min-height:950px;max-width:700px;margin-inline:auto}
  .vv-hiw-loop{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"see understand" "recall review" "remember .";column-gap:70px;row-gap:100px;padding:0}
  .vv-hiw-loop-card{min-height:220px;padding:22px 24px}
  .vv-hiw-route--desktop{display:none}.vv-hiw-route--tablet{display:block;height:930px}
  .vv-hiw-loop-back{bottom:0}
  .vv-hiw-walkthrough{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:660px;margin-inline:auto}
  .vv-hiw-card{grid-column:1/-1;grid-row:1;max-width:520px;margin-inline:auto}
  .vv-hiw-callouts{position:static;display:grid;gap:14px;margin:0}
  .vv-hiw-callouts--left{grid-column:1;grid-row:2}.vv-hiw-callouts--right{grid-column:2;grid-row:2}
  .vv-hiw-callout{position:static;padding:18px;border:1px solid var(--vv-border);border-radius:16px;background:var(--vv-bg)}
  .vv-hiw-callout dt{display:block}.vv-hiw-callout dt::before,.vv-hiw-callout dt::after,.vv-hiw-callout::after{content:none!important}
  .vv-hiw-split,.vv-hiw-recall{grid-template-columns:1fr;gap:40px}
  .vv-hiw-split .vv-section-intro{max-width:680px}
  .vv-hiw-audio-guide,.vv-hiw-meaning-demo,.vv-hiw-recall-card{width:100%;max-width:680px;margin-inline:auto}
  .vv-hiw-recall{max-width:680px;margin-inline:auto}
  .vv-hiw-recall-flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
  .vv-hiw-recall-flow li{display:grid;justify-items:center;align-content:start;text-align:center;gap:8px;font-size:12px}
  .vv-hiw-recall-flow li:not(:last-child)::after{left:calc(50% + 25px);top:27px;width:calc(100% - 42px);height:0;border-left:0;border-top:1px solid var(--vv-border-strong)}
  .vv-hiw-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vv-hiw-lexical-summary{grid-template-columns:1fr 1fr}.vv-hiw-lexical-summary>p:last-child{grid-column:1/-1}
}
@media(max-width:600px){
  .vv-hiw-hero{gap:30px;padding-block:48px 56px}.vv-hiw-hero .vv-actions{margin-top:24px}
  .vv-hiw-hero-visual{padding:0}.vv-hiw-hero-visual__track{margin-inline:8px}.vv-hiw-hero-card__copy{padding:22px 20px 0}.vv-hiw-hero-card__sound{grid-template-columns:22px 48px 1fr}.vv-hiw-hero-card__switch{width:100%}.vv-hiw-hero-visual__recall{position:static;width:max-content;max-width:100%;margin:12px 8px 0 auto}
  .vv-hiw-loop-stage{min-height:0;max-width:520px}.vv-hiw-loop{grid-template-columns:1fr;grid-template-areas:none;gap:60px}.vv-hiw-loop-card:nth-child(n){grid-area:auto;min-height:0;padding:22px}
  .vv-hiw-route{display:none}
  .vv-hiw-loop-card:not(:last-child)::before{content:"";position:absolute;left:50%;top:100%;height:60px;border-left:1.5px solid var(--vv-border-strong)}
  .vv-hiw-loop-card:not(:last-child)::after{content:"";position:absolute;z-index:2;left:calc(50% - 17px);top:calc(100% + 13px);width:34px;height:34px;border:1px solid var(--vv-border-strong);border-radius:50%;background-color:var(--vv-surface);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316150F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;background-size:17px;box-shadow:0 3px 7px rgba(22,21,15,.09)}
  .vv-hiw-loop-back{position:static;display:flex;min-width:0;width:100%;margin:28px auto 0;transform:none}
  .vv-hiw-walkthrough{display:flex;flex-direction:column;max-width:520px}.vv-hiw-card{order:0}.vv-hiw-callouts--left{order:1}.vv-hiw-callouts--right{order:2}
  .vv-hiw-callouts{grid-template-columns:1fr}.vv-hiw-callout{padding:16px}
  .vv-hiw-audio-pairs,.vv-hiw-pronunciation-types{grid-template-columns:1fr}.vv-hiw-audio-guide section,.vv-hiw-meaning-demo,.vv-hiw-recall-card{padding:22px}
  .vv-hiw-recall-flow{grid-template-columns:1fr;gap:0}.vv-hiw-recall-flow li{display:flex;justify-items:initial;text-align:left;min-height:58px}
  .vv-hiw-recall-flow li:not(:last-child)::after{left:16px;top:46px;width:0;height:24px;border-top:0;border-left:1px solid var(--vv-border-strong)}
  .vv-hiw-rating{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vv-hiw-category-grid{grid-template-columns:1fr}.vv-hiw-category-card{padding:24px}
  .vv-hiw-lexical-summary{display:block;padding:24px}.vv-hiw-lexical-summary h3,.vv-hiw-lexical-summary>p:last-child{margin-top:12px}
  .vv-hiw-final{padding-block:64px}
}
@media(prefers-reduced-motion:reduce){
  .vv-hiw-loop-card:hover,.vv-hiw-loop-card:focus-visible,.vv-hiw-category-card:hover,.vv-hiw-category-card:focus-within,.vv-hiw-card:hover,.vv-hiw-card:focus-within{transform:none}
}

/* Build 06.3 — provider button, login divider, learner onboarding. */

/*
 * Nextend renders its own button markup and ships its own stylesheet, so these selectors are
 * deliberately written to outrank rules such as
 * `div.nsl-container .nsl-button-google div.nsl-button-label-container`.
 * The white background stays Nextend's (it is set inline on the button); only hover and
 * pressed states need !important to reach past that inline declaration.
 * The Google mark itself is untouched: original colours, original artwork, not rescaled beyond
 * a normal control icon size, and the provider is never disguised as a Visual Vocabulary control.
 */
:is(.vv-auth-provider,.vv-signin-methods) div.nsl-container{clear:none;width:100%;margin:0;padding:0;text-align:center}
:is(.vv-auth-provider,.vv-signin-methods) div.nsl-container .nsl-container-buttons{display:block;width:100%;margin:0;padding:0}
:is(.vv-auth-provider,.vv-signin-methods) div.nsl-container .nsl-container-buttons a[data-plugin="nsl"]{display:block;width:100%;margin:0;border-radius:var(--vv-radius-pill)}
:is(.vv-auth-provider,.vv-signin-methods) div.nsl-container .nsl-button{border-radius:var(--vv-radius-pill)}
:is(.vv-auth-provider,.vv-signin-methods) div.nsl-container .nsl-button-default{
  display:flex;align-items:center;justify-content:center;gap:12px;
  width:100%;min-height:48px;padding:8px 20px;
  border:1px solid var(--vv-border-strong);border-radius:var(--vv-radius-pill);
  box-shadow:none;color:var(--vv-ink);
  transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease
}
:is(.vv-auth-provider,.vv-signin-methods) div.nsl-container .nsl-button-google[data-skin="light"]{box-shadow:none;color:var(--vv-ink)}
:is(.vv-auth-provider,.vv-signin-methods) div.nsl-container .nsl-button-svg-container{flex:0 0 auto;width:20px;height:20px;padding:0;margin:0}
:is(.vv-auth-provider,.vv-signin-methods) div.nsl-container .nsl-button-svg-container svg{width:20px;height:20px}
:is(.vv-auth-provider,.vv-signin-methods) div.nsl-container .nsl-button-default div.nsl-button-label-container{
  flex:0 1 auto;margin:0;padding:0;
  font-family:var(--vv-font-heading);font-size:16px;font-weight:700;line-height:1.25;letter-spacing:-.01em;
  text-align:center;color:inherit
}
:is(.vv-auth-provider,.vv-signin-methods) div.nsl-container .nsl-container-buttons a[data-plugin="nsl"]:hover .nsl-button-default{background-color:var(--vv-subtle)!important;border-color:var(--vv-border-strong)}
:is(.vv-auth-provider,.vv-signin-methods) div.nsl-container .nsl-container-buttons a[data-plugin="nsl"]:active .nsl-button-default{background-color:var(--vv-subtle)!important;box-shadow:inset 0 1px 2px rgba(22,21,15,.10)}
:is(.vv-auth-provider,.vv-signin-methods) div.nsl-container .nsl-container-buttons a[data-plugin="nsl"]:focus-visible{outline:3px solid var(--vv-focus);outline-offset:3px}
@media(max-width:359px){
  :is(.vv-auth-provider,.vv-signin-methods) div.nsl-container .nsl-button-default{gap:10px;padding:8px 14px}
  :is(.vv-auth-provider,.vv-signin-methods) div.nsl-container .nsl-button-default div.nsl-button-label-container{font-size:15px}
}

/* Divider between the provider button and the password fallback. */
.vv-auth-divider{margin:28px 0;gap:16px;font-size:13px}
.vv-auth-divider span{flex:0 1 auto;white-space:nowrap}
.vv-auth-divider::before,.vv-auth-divider::after{min-width:16px}
@media(max-width:359px){.vv-auth-divider{gap:12px;font-size:12px}.vv-auth-divider span{white-space:normal}}

/* Onboarding */
.vv-steps{display:flex;align-items:center;gap:8px;list-style:none;margin:0 0 28px;padding:0}
.vv-steps__item{display:flex;align-items:center;gap:8px;flex:1;min-width:0;font-size:12.5px;color:var(--vv-muted)}
.vv-steps__item+.vv-steps__item{padding-left:8px;border-left:1px solid var(--vv-border)}
.vv-steps__index{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:22px;height:22px;border:1px solid var(--vv-border-strong);border-radius:999px;font-size:11.5px;font-weight:600}
.vv-steps__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vv-steps__item.is-current{color:var(--vv-ink);font-weight:600}
.vv-steps__item.is-current .vv-steps__index{border-color:var(--vv-accent);background:var(--vv-accent-wash);color:var(--vv-accent-text)}
.vv-steps__item.is-done .vv-steps__index{border-color:var(--vv-success);color:var(--vv-success)}
.vv-onboarding .vv-field-help{font-size:13px;color:var(--vv-secondary);line-height:1.5}
.vv-code-input{font-family:var(--vv-font-heading);font-size:24px;font-weight:700;letter-spacing:.34em;text-align:center}
.vv-onboarding-why{margin-top:28px;padding-top:24px;border-top:1px solid var(--vv-border)}
.vv-onboarding-why ul{display:grid;gap:8px;margin:12px 0 0;padding-left:20px;font-size:13.5px;color:var(--vv-secondary);line-height:1.55}
.vv-onboarding-legal{margin-top:20px;font-size:13px;color:var(--vv-muted)}
.vv-onboarding-legal a{color:var(--vv-secondary)}
.vv-onboarding-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:20px}
.vv-onboarding-actions form{margin:0}
.vv-text-button{min-height:44px;padding:8px 0;border:0;background:none;color:var(--vv-ink);font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:4px}
.vv-text-button:hover:not(:disabled){text-decoration-thickness:2px}
.vv-text-button:disabled{color:var(--vv-muted);text-decoration:none;font-weight:400}
.vv-onboarding-actions .vv-form-help{justify-self:auto}
.vv-onboarding--done .vv-auth-panel>.vv-button{margin-top:4px}
/* Same ink the Log in button uses: near-white on the accent does not clear AA at this size. */
.vv-community{margin-top:32px;padding-top:28px;border-top:1px solid var(--vv-border)}
.vv-community h2{margin-top:8px;font-size:21px}
.vv-community>p{margin:12px 0 20px;font-size:14px;color:var(--vv-secondary);line-height:1.6}
.vv-community .vv-field-help{margin-top:12px;font-size:12.5px;color:var(--vv-muted);text-align:center}
@media(max-width:600px){
  .vv-steps{margin-bottom:24px}
  .vv-steps__label{font-size:12px}
  .vv-code-input{font-size:21px;letter-spacing:.26em}
  .vv-onboarding-actions{justify-content:center;text-align:center}
}
@media(max-width:359px){
  .vv-steps__item{gap:6px}
  .vv-steps__index{width:20px;height:20px}
  .vv-code-input{letter-spacing:.18em}
}

/* Build 08 — Learner Home, Discovery session and learner content protection. */
.vv-learner-nav{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.vv-learner-nav__link{font-family:var(--vv-font-heading);font-weight:700;font-size:13px;letter-spacing:-.01em;text-decoration:none;color:var(--vv-secondary);padding:10px 2px;border-bottom:2px solid transparent}
.vv-learner-nav__link:hover{color:var(--vv-ink)}
.vv-learner-nav__link.is-current{color:var(--vv-ink);border-bottom-color:var(--vv-accent)}
.vv-learner-nav__link--quiet{color:var(--vv-muted);font-weight:400;font-family:var(--vv-font-body)}
.vv-learn-section{display:grid;gap:16px}
.vv-learn-section--quiet{padding-top:32px;border-top:1px solid var(--vv-border)}
.vv-learn-section--quiet p{color:var(--vv-secondary);max-width:520px}
.vv-learn-today{display:grid;gap:12px;justify-items:start;padding:32px;background:var(--vv-surface);border:1px solid var(--vv-border);border-radius:var(--vv-radius-panel)}
.vv-learn-today h2{font-size:27px}
.vv-learn-today p{color:var(--vv-secondary);max-width:520px}
.vv-learn-today .vv-primary-cta,.vv-learn-today .vv-button{margin-top:8px}
.vv-learn-today__count{font-family:var(--vv-font-heading);font-weight:700;font-size:14px;color:var(--vv-accent-text)}
.vv-learn-today--done{background:var(--vv-success-wash);border-color:rgba(15,107,69,.18)}
.vv-learn-today--blocked{background:var(--vv-warning-wash);border-color:rgba(138,90,0,.18)}
.vv-learn-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:520px}
.vv-learn-stat{padding:24px;background:var(--vv-surface);border:1px solid var(--vv-border);border-radius:var(--vv-radius-card)}
.vv-learn-stat .vv-label{color:var(--vv-muted)}
.vv-learn-stat__value{margin-top:8px;font-family:var(--vv-font-heading);font-weight:700;font-size:40px;line-height:1;letter-spacing:-.04em}
.vv-learn-stat__note{margin-top:8px;font-size:13px;color:var(--vv-secondary)}
.vv-discovery{gap:24px}
.vv-discovery__bar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-bottom:16px;border-bottom:1px solid var(--vv-border)}
.vv-discovery__back{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:14px;color:var(--vv-secondary);text-decoration:none}
.vv-discovery__back:hover{color:var(--vv-ink)}
.vv-discovery__progress{font-family:var(--vv-font-heading);font-weight:700;font-size:13px;color:var(--vv-muted);font-variant-numeric:tabular-nums}
.vv-discovery__stage{list-style:none;margin:0;padding:0;position:relative}
.vv-discovery__slide{position:relative;touch-action:pan-y;transition:transform .22s ease}
.vv-discovery__slide.is-dragging{transition:none}
.vv-discovery__card{position:relative}
.vv-discovery__cue{position:absolute;top:16px;z-index:2;padding:8px 16px;border-radius:var(--vv-radius-pill);font-family:var(--vv-font-heading);font-weight:700;font-size:12px;letter-spacing:.02em;opacity:0;transition:opacity .15s;pointer-events:none}
.vv-discovery__cue--known{left:16px;background:var(--vv-ink);color:var(--vv-bg)}
.vv-discovery__cue--learning{right:16px;background:var(--vv-accent);color:var(--vv-on-accent)}
.vv-discovery__slide[data-vv-cueing="known"] .vv-discovery__cue--known{opacity:1}
.vv-discovery__slide[data-vv-cueing="learning"] .vv-discovery__cue--learning{opacity:1}
.vv-discovery__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:560px;margin-inline:auto;width:100%}
.vv-decision{display:inline-flex;justify-content:center;align-items:center;gap:10px;min-height:56px;padding:12px 20px;border-radius:var(--vv-radius-pill);border:2px solid var(--vv-ink);background:var(--vv-surface);color:var(--vv-ink);font-family:var(--vv-font-heading);font-weight:700;font-size:14px;line-height:1.25;transition:background .15s,color .15s,border-color .15s}
.vv-decision--learning{border-color:var(--vv-accent);background:var(--vv-accent);color:var(--vv-on-accent)}
.vv-decision:disabled{opacity:.55}
.vv-discovery__hint{font-size:13px;color:var(--vv-muted);text-align:center;max-width:560px;margin-inline:auto}
.vv-discovery__failure{display:grid;gap:12px;justify-items:start;padding:16px 20px;border-radius:var(--vv-radius-control);background:var(--vv-error-wash);border:1px solid rgba(165,35,27,.24);color:var(--vv-error)}
.vv-discovery__summary{display:grid;gap:16px;justify-items:start;padding:40px;background:var(--vv-surface);border:1px solid var(--vv-border);border-radius:var(--vv-radius-panel)}
.vv-discovery__summary .vv-label{color:var(--vv-accent-text)}
.vv-discovery__summary h2 span{color:var(--vv-accent)}
.vv-discovery__summary-lead{color:var(--vv-secondary)}
.vv-discovery__summary-counts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;width:100%;max-width:440px}
.vv-discovery__summary-counts>div{padding:20px;background:var(--vv-bg);border-radius:var(--vv-radius-card)}
.vv-discovery__summary-counts dt{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--vv-muted)}
.vv-discovery__summary-counts dd{margin-top:8px;font-family:var(--vv-font-heading);font-weight:700;font-size:33px;line-height:1}
.vv-discovery__summary-note{font-size:14px;color:var(--vv-secondary)}
.vv-discovery__summary .vv-button{max-width:320px}
.vv-learner-page .vv-runtime-card__image{-webkit-user-drag:none;user-select:none;-webkit-touch-callout:none}
@media(hover:hover) and (pointer:fine){
  .vv-decision--known:hover{background:var(--vv-ink);color:var(--vv-bg)}
}
@media(max-width:850px){
  .vv-learner-shell__header{flex-direction:column;align-items:flex-start;gap:20px}
  .vv-learner-nav{gap:16px}
}
@media(max-width:600px){
  .vv-learn-today{padding:24px}
  .vv-learn-stat{padding:20px}
  .vv-learn-stat__value{font-size:33px}
  .vv-discovery__summary{padding:28px}
  .vv-discovery__actions{gap:12px}
  .vv-decision{min-height:52px;padding:10px 14px;font-size:13px;gap:6px}
}
@media(max-width:430px){
  .vv-learn-stats{grid-template-columns:1fr}
  .vv-discovery__cue{top:12px;padding:6px 12px;font-size:11px}
  .vv-discovery__cue--known{left:12px}
  .vv-discovery__cue--learning{right:12px}
}
@media(max-width:359px){
  .vv-decision{min-height:48px;font-size:12px;padding-inline:10px}
  .vv-decision__mark{display:none}
  .vv-discovery__summary-counts{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  .vv-discovery__slide{transition:none}
  .vv-discovery__cue{transition:none}
}
/* Learner card content is not a printable export. The card is removed from print output and a
   short line explains where it lives; public marketing pages print exactly as before. */
@media print{
  .vv-learner-page .vv-runtime-card,
  .vv-learner-page .vv-discovery__stage,
  .vv-learner-page .vv-discovery__actions,
  .vv-learner-page .vv-discovery__cue,
  .vv-learner-page .vv-discovery__hint{display:none!important}
  .vv-learner-page .vv-discovery::after,
  .vv-learner-page .vv-learn::after{content:"Visual Vocabulary learning content is available in the app.";display:block;margin-top:24px;font-family:var(--vv-font-body);font-size:14px;color:#16150F}
}

/* ------------------------------------------------------------------ Build 08.1: brand identity */
/* The Site Logo is an image of unknown proportions, so it is sized by height and left to find its
   own width. Everything else about the wordmark link is unchanged, which is what keeps the header
   layout identical whether the brand is a logo or the site title as text. */
.vv-wordmark--logo{gap:0}
.vv-wordmark--logo .vv-brand-logo{display:block;height:44px;width:auto;max-width:200px}
.vv-footer .vv-wordmark--logo .vv-brand-logo{height:30px}

/* ------------------------------------------------- Build 08.1: access banner and verification */
.vv-access-banner{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
  padding:20px 24px;margin-bottom:24px;border:1px solid rgba(255,77,0,.24);border-radius:var(--vv-radius-card);
  background:var(--vv-accent-wash)}
.vv-access-banner__heading{margin:0;font-family:var(--vv-font-heading);font-weight:700;font-size:17px}
.vv-access-banner__body{margin:8px 0 0;color:var(--vv-secondary);font-size:14px}
.vv-access-banner .vv-button{flex:0 0 auto}

.vv-verify{width:min(520px,calc(100% - 32px));padding:0;border:1px solid var(--vv-border);
  border-radius:var(--vv-radius-panel);background:var(--vv-surface);color:var(--vv-ink)}
.vv-verify::backdrop{background:rgba(22,21,15,.42)}
.vv-verify__panel{position:relative;padding:40px}
.vv-verify__close{position:absolute;top:16px;right:16px;width:44px;height:44px;border:1px solid var(--vv-border);
  border-radius:var(--vv-radius-control);background:transparent;color:var(--vv-ink);font-size:16px;line-height:1}
.vv-verify__close:hover{background:var(--vv-subtle)}
.vv-verify__title{margin:8px 0 0;font-size:27px}
.vv-verify__title>span{color:var(--vv-accent-text)}
.vv-verify__lead{margin:16px 0 0;color:var(--vv-secondary)}
.vv-verify__benefits{margin:24px 0 0;padding:0;list-style:none;display:grid;gap:12px;font-size:14px;color:var(--vv-secondary)}
.vv-verify__benefits li{position:relative;padding-left:28px}
.vv-verify__benefits li::before{content:"";position:absolute;left:0;top:7px;width:10px;height:10px;
  border-radius:3px;background:var(--vv-accent);transform:rotate(14deg)}
.vv-verify__form{margin-top:32px;display:grid;gap:24px}
.vv-verify__phone{display:flex;align-items:stretch;gap:8px}
.vv-verify__dial{display:inline-flex;align-items:center;padding:0 14px;border:1px solid var(--vv-border-strong);
  border-radius:var(--vv-radius-control);background:var(--vv-subtle);font-weight:600;font-size:15px;color:var(--vv-secondary)}
.vv-verify__phone input{flex:1 1 auto;min-width:0}
.vv-verify__actions{margin-top:24px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.vv-verify__support{margin:24px 0 0;font-size:13px;color:var(--vv-muted)}
/* Without JavaScript the dialog never opens, so it renders as an ordinary panel instead of
   disappearing. The step stays reachable; only the modal behaviour is lost. */
.vv-nojs .vv-verify:not([open]){display:block;position:static;margin:0;width:100%}
.vv-learn--locked .vv-learn-section{margin-bottom:32px}

/* --------------------------------------------------------- Build 08.1: invitation claim page */
.vv-invite .vv-invite__identity{margin:0 0 24px;padding:16px 20px;border:1px solid var(--vv-border);
  border-radius:var(--vv-radius-control);background:var(--vv-subtle);font-size:14px;overflow-wrap:anywhere}
.vv-invite .vv-auth-panel>.vv-button+.vv-field-help{margin-top:16px}

@media(max-width:600px){
  .vv-verify__panel{padding:28px 24px}
  .vv-verify__title{font-size:24px}
  .vv-access-banner{padding:20px}
  .vv-wordmark--logo .vv-brand-logo{height:36px;max-width:160px}
}
@media(max-width:430px){
  .vv-access-banner .vv-button{width:100%}
  .vv-verify__phone{flex-wrap:wrap}
  .vv-verify__phone input{flex:1 1 100%}
}

/* ============================================================== Build 09B: motion language */
/*
 * One set of durations and curves for the whole product, so "a press", "a state change" and "a
 * completion" feel the same wherever they happen. Nothing below animates anything by itself;
 * components spend these tokens, and a component that needs a number not in this list is a sign
 * the list is wrong rather than a reason to hardcode one.
 *
 * Reduced motion collapses the durations to a single frame instead of stretching them out. Every
 * transition then lands on its end state immediately, which keeps state changes truthful without
 * making the interface feel slow — the failure mode of simply increasing the numbers.
 */
:root{
  --vv-motion-duration-press:90ms;
  --vv-motion-duration-fast:140ms;
  --vv-motion-duration-standard:200ms;
  --vv-motion-duration-emphasis:320ms;
  /* A card leaving the stack. Longer than a state change because it travels a whole screen width,
     shorter than a celebration because the learner is waiting to get on with the next one. */
  --vv-motion-duration-exit:240ms;
  --vv-motion-duration-celebration:700ms;
  --vv-motion-ease-standard:cubic-bezier(.2,0,.2,1);
  --vv-motion-ease-enter:cubic-bezier(.05,.7,.1,1);
  --vv-motion-ease-exit:cubic-bezier(.3,0,.8,.15);
  --vv-motion-ease-emphasis:cubic-bezier(.2,0,0,1);
  --vv-motion-distance-xs:2px;
  --vv-motion-distance-sm:4px;
  --vv-motion-press-scale:.98;
}
@media(prefers-reduced-motion:reduce){
  :root{
    --vv-motion-duration-press:1ms;
    --vv-motion-duration-fast:1ms;
    --vv-motion-duration-standard:1ms;
    --vv-motion-duration-emphasis:1ms;
    --vv-motion-duration-exit:1ms;
    --vv-motion-duration-celebration:1ms;
    --vv-motion-press-scale:1;
  }
}

/* Tactile feedback for the controls a learner actually pushes. The primary CTA is deliberately
   absent: it has its own approved lift-and-settle and must not be scaled on top of it. */
.vv-decision,.vv-recall__ratings button,.vv-runtime-card__audio,.vv-runtime-card__switch button,
.vv-button:not(.vv-primary-cta),.vv-app-tab,.vv-audio-button{
  transition:transform var(--vv-motion-duration-press) var(--vv-motion-ease-standard),
             background-color var(--vv-motion-duration-fast) var(--vv-motion-ease-standard),
             border-color var(--vv-motion-duration-fast) var(--vv-motion-ease-standard),
             color var(--vv-motion-duration-fast) var(--vv-motion-ease-standard),
             box-shadow var(--vv-motion-duration-fast) var(--vv-motion-ease-standard);
}
.vv-decision:not(:disabled):active,.vv-recall__ratings button:not(:disabled):active,
.vv-runtime-card__audio:not(:disabled):active,.vv-runtime-card__switch button:not(:disabled):active,
.vv-button:not(.vv-primary-cta):not(:disabled):active,.vv-app-tab:active,.vv-audio-button:not(:disabled):active{
  transform:scale(var(--vv-motion-press-scale));
}

/* The Discovery decisions. Build 09C replaced the permanent arrows with the two marks that say what
   the decision means; direction is now taught by the things that are actually directional. The two
   marks are identical in size, weight and opacity, because neither choice is the correct one. */
.vv-decision__mark{display:inline-flex;align-items:center;flex:none}
.vv-decision__mark .vv-icon{width:20px;height:20px;stroke-width:2.1;
  transition:transform var(--vv-motion-duration-fast) var(--vv-motion-ease-standard)}
/* A small acknowledgement on press, in place of the arrow's old lean. Same for both. */
.vv-decision:not(:disabled):active .vv-decision__mark .vv-icon{transform:scale(.92)}

/* Icons that sit inside text controls, sized against the type rather than the 24px grid. */
/* Scaling a 24px icon down also scales its stroke, so an icon set beside bold type is given back
   the weight the viewBox took off it. The apparent stroke stays ~1.75px at every size below. */
.vv-button__icon{width:19px;height:19px;flex:none;stroke-width:2.2}
.vv-text-link__icon{width:17px;height:17px;stroke-width:2.4;margin-left:6px;vertical-align:-3px;
  transition:transform var(--vv-motion-duration-fast) var(--vv-motion-ease-standard)}
.vv-text-link:hover .vv-text-link__icon,.vv-text-link:focus-visible .vv-text-link__icon{transform:translateX(var(--vv-motion-distance-xs))}
.vv-preview-action .vv-icon{width:18px;height:18px;vertical-align:-4px}
.vv-menu-open__icon,.vv-menu-close .vv-icon{width:24px;height:24px}
.vv-audio-button{display:inline-flex;align-items:center;gap:6px}
.vv-audio-button__icon{width:26px;height:20px;flex:none}
.vv-audio-button__icon .vv-wave{color:var(--vv-accent)}
/* Under 360px the label alone has to carry the button; the mark would crowd it off the line.
   Restated here because the rule above it is later in the file and would otherwise win. */
@media(max-width:359px){.vv-decision__mark{display:none}}

/* ================================================= Build 09C: decisions, cards and the pair CTA */
/*
 * Build 09C read #FFFFFF on #FF4D00 (3.33:1) against AA's 4.5:1 for normal text, concluded the
 * white label was failing, and moved the label to near-black. That fixed the number by changing
 * the brand. Build 09C.1 reconciles the two instead: 3.33:1 clears the **3:1 bar for large text**,
 * large text is >= 18.66px bold, and so every solid-orange control in the learner application is
 * sized to carry a 19px bold label and keeps its white one. The rule for this product is simple
 * and has no exceptions: **solid #FF4D00 carries #FFFFFF**.
 *
 * The geometry that makes that true lives in app.css, which is loaded only on learner routes, so
 * the marketing pages this build is not reviewing keep their existing sizes.
 */
.vv-decision--learning{border-color:var(--vv-accent);background:var(--vv-accent);color:var(--vv-on-accent)}
.vv-decision--learning .vv-decision__mark{color:var(--vv-on-accent);opacity:1}
@media(hover:hover) and (pointer:fine){
  .vv-decision--learning:hover{background:var(--vv-accent);border-color:var(--vv-accent);color:var(--vv-on-accent);
    box-shadow:0 6px 16px rgba(255,77,0,.3)}
}
.vv-decision--learning:focus-visible{color:var(--vv-on-accent)}

/* The swipe cue carries the same two marks as the buttons, so the gesture and the control are
   visibly one decision.
 *
 * It is not a CTA, and it cannot be one: it is a 12px transient chip that appears for the length of
 * a gesture, so there is nowhere for a 19px label to go. A solid-orange chip with small white text
 * on it would be the one thing the brand rule above exists to prevent, so this one is a light chip
 * instead - the accent wash behind the accessible dark orange, 4.98:1, same mark, same meaning. */
.vv-discovery__cue{display:inline-flex;align-items:center;gap:6px}
.vv-discovery__cue .vv-icon{width:15px;height:15px;stroke-width:2.2}
.vv-discovery__cue--learning{background:var(--vv-accent-wash);border:1px solid rgba(255,77,0,.45);
  color:var(--vv-accent-text)}

/*
 * The card leaves the way the decision sent it, and the next one arrives.
 *
 * Before this, a committed swipe cleared its own transform and the base transition animated the
 * card back to the middle before it disappeared - the product visibly undoing the decision it was
 * about to record - and a card decided by button did not move at all. Both now do the same thing,
 * and only after the write has succeeded.
 */
.vv-discovery__slide{transition:transform var(--vv-motion-duration-standard) var(--vv-motion-ease-standard),
  opacity var(--vv-motion-duration-standard) var(--vv-motion-ease-standard)}
.vv-discovery__slide.is-leaving{transition:transform var(--vv-motion-duration-exit) var(--vv-motion-ease-exit),
  opacity var(--vv-motion-duration-exit) var(--vv-motion-ease-exit);pointer-events:none}
.vv-discovery__slide.is-entering{opacity:0;transform:translateY(6px);transition:none}
@media(prefers-reduced-motion:reduce){
  .vv-discovery__slide,.vv-discovery__slide.is-leaving{transition:none}
  .vv-discovery__slide.is-entering{opacity:1;transform:none}
}

/*
 * The secondary call to action: the primary one, inverted.
 *
 * Same geometry, same chip-beside-label structure, colours swapped - so the two read as one family
 * with one of them clearly leading. The label is #BE3A00 on white (5.4:1), which passes AA at any
 * size, and the accent moves into the icon tile where it is a graphic rather than text.
 *
 * On hover the whole thing becomes the orange surface with a light tile, which is the primary
 * treatment's resting state. Since Build 09C.1 it stays a light control throughout and deepens its
 * wash instead, because a solid-orange fill at this size has no accessible label available to it.
 */
.vv-button.vv-secondary-cta:not(.vv-button--outline):not(.vv-button--dark){flex-wrap:nowrap;justify-content:flex-start;gap:11px;min-height:48px;
  padding:6px 7px 6px 18px;overflow:hidden;border:1px solid rgba(255,77,0,.4);background:var(--vv-surface);
  color:var(--vv-accent-text);font-size:16px;white-space:nowrap;box-shadow:0 3px 10px rgba(255,77,0,.08);
  transition:background-color var(--vv-motion-duration-standard) var(--vv-motion-ease-standard),
    color var(--vv-motion-duration-standard) var(--vv-motion-ease-standard),
    border-color var(--vv-motion-duration-standard) var(--vv-motion-ease-standard),
    box-shadow var(--vv-motion-duration-standard) var(--vv-motion-ease-standard),
    transform var(--vv-motion-duration-standard) var(--vv-motion-ease-standard)}
.vv-secondary-cta__label{display:block;white-space:nowrap}
.vv-secondary-cta__chip{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:10px;
  background:var(--vv-accent);color:var(--vv-on-accent);
  transition:background-color var(--vv-motion-duration-standard) var(--vv-motion-ease-standard),
    color var(--vv-motion-duration-standard) var(--vv-motion-ease-standard)}
.vv-secondary-cta__icon{width:19px;height:19px;stroke-width:2.1}
/*
 * Hover and focus deepen the wash rather than swapping to solid orange.
 *
 * The old treatment filled the button with #FF4D00 and put a near-black label on it, which is
 * exactly the combination the brand rule now forbids - and at this button's 16px it could not be
 * repaired by going white either. Deepening the accent wash keeps the label at 4.98:1, keeps the
 * lift that says "this is interactive", and leaves the accent where it belongs on this control:
 * in the chip beside the words.
 */
.vv-button.vv-secondary-cta:not(.vv-button--outline):not(.vv-button--dark):focus-visible{background:var(--vv-accent-wash);color:var(--vv-accent-text);border-color:rgba(255,77,0,.65);
  box-shadow:0 7px 16px rgba(255,77,0,.18);transform:translateY(-1px)}
@media(hover:hover) and (pointer:fine){
  .vv-button.vv-secondary-cta:not(.vv-button--outline):not(.vv-button--dark):hover{background:var(--vv-accent-wash);color:var(--vv-accent-text);border-color:rgba(255,77,0,.65);
    box-shadow:0 7px 16px rgba(255,77,0,.18);transform:translateY(-1px)}
}
.vv-button.vv-secondary-cta:not(.vv-button--outline):not(.vv-button--dark):active{box-shadow:0 2px 6px rgba(22,21,15,.08);transform:translateY(0)}
@media(prefers-reduced-motion:reduce){
  .vv-button.vv-secondary-cta:hover,.vv-button.vv-secondary-cta:focus-visible{transform:none}
}
