/* Landing-only art direction. Shared account and admin layouts are untouched. */
[data-landing] { --world-ink:#12294B; --world-blue:#12294B; --world-yellow:#f4cc55; --world-paper:#fff9e9; color:var(--world-ink); }
[data-landing-nav] { background:#fffdf5!important; border-bottom:1px solid #17263918; box-shadow:none!important; }
[data-landing-nav] nav { gap:22px; }
[data-landing-nav] .vl-btn { background:#f4cc55; color:#12294B!important; border:1px solid #182738; box-shadow:0 3px 0 #182738; border-radius:9px; }
.world-hero { background:#fff9e9; position:relative; overflow:hidden; padding:132px 0 48px; }
.world-hero::before { content:''; position:absolute; inset:0; background-image:radial-gradient(#a08d5820 1px,transparent 1px); background-size:22px 22px; pointer-events:none; }
.world-hero-inner { max-width:1320px; margin:auto; padding:0 36px; position:relative; display:grid; grid-template-columns:0.9fr 1.25fr; align-items:center; gap:8px; }
.world-kicker { display:inline-flex; gap:9px; align-items:center; border:1px solid #c8d4ca; background:#fffdf5; padding:7px 12px; border-radius:30px; font-size:11px; font-weight:600; letter-spacing:.09em; text-transform:uppercase; }
.world-kicker::before { content:''; width:7px; height:7px; border-radius:50%; background:#12294B; box-shadow:0 0 0 4px #12294B12; }
.world-copy h1 { font-size:clamp(34px,4.2vw,60px); line-height:1.12; letter-spacing:-.045em; margin:24px 0; }
.world-copy h1 [data-rotator] { display:block; }
.world-copy h1 [data-rotator]>span:not(.sr-only) { display:block; }
.world-copy .vl-rot-pill { background:none!important; padding:0!important; border-radius:0!important; margin:8px 0; color:#12294B; }
.world-copy .vl-rot__word { color:#12294B!important; }
.world-copy .vl-rot { font-size:inherit; background:linear-gradient(transparent 73%,#f4cc55 73%,#f4cc55 93%,transparent 93%); }
.world-copy>p.world-description { font-size:17px; line-height:1.75; max-width:39ch; margin-top:22px; }
.world-actions { display:flex; gap:12px; flex-wrap:wrap; margin:28px 0 18px; }
.world-action { display:inline-flex; align-items:center; justify-content:center; gap:18px; padding:15px 23px; border:1.5px solid #12294B; border-radius:10px; font-weight:600; font-size:15px; transition:transform .18s,box-shadow .18s; min-height:48px; }
.world-action.primary { background:#f4cc55; box-shadow:0 4px 0 #12294B; }
.world-action.secondary { background:#fffdf5; }
.world-action:hover { transform:translateY(-2px); box-shadow:0 6px 0 #12294B; }
.world-action:active { transform:translateY(2px); box-shadow:none; }
.world-copy .world-finder { font-size:13px; text-decoration:underline; text-underline-offset:4px; color:#334b60; }
.world-scene { position:relative; min-width:0; }
.world-scene>img { display:block; width:100%; height:auto; mix-blend-mode:multiply; border-radius:40%; }
.world-pin { position:absolute; display:flex; align-items:center; gap:9px; font-size:13px; font-weight:600; padding:10px 14px; border-radius:12px; background:#fffefa; border:1px solid #12294B30; box-shadow:0 5px 0 #12294B12,0 10px 25px #12294B0a; transition:transform .2s; }
.world-pin:hover,.world-pin:focus-visible { transform:translateY(-5px); border-color:#12294B; }
.world-pin b { display:grid; place-items:center; width:29px; height:29px; border-radius:9px; background:#f4cc55; color:#12294B; }
.world-pin.one { left:4%; top:28%; }
.world-pin.two { right:2%; top:22%; }
.world-pin.three { left:42%; bottom:9%; }
.world-scene-caption { position:absolute; bottom:0; right:4%; font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:#50667a; }
.world-languages { max-width:1248px; margin:36px auto 0; padding:22px 0 0; border-top:1px solid #12294B20; display:flex; align-items:center; gap:24px; }
.world-languages>span { font-size:12px; font-weight:600; max-width:155px; flex-shrink:0; }
.world-languages ul { display:flex; flex-wrap:wrap; gap:7px; }
.world-languages li { border:1px solid #12294B1c; border-radius:30px; font-size:11px; padding:5px 11px; background:#fffefa; }
[data-landing]>section[aria-label] { background:#12294B; }
[data-landing] h2 { letter-spacing:-.035em; }
[data-landing] #tracks { background:#fffdf5; position:relative; }
[data-landing] #tracks>div { padding-top:76px; padding-bottom:84px; }
[data-landing] #tracks>div>div { max-width:720px; }
[data-landing] #tracks>div>div>p:last-child { max-width:64ch; font-size:16px; }
[data-landing] #tracks ul { gap:16px; }
[data-landing] #tracks li { border:1px solid #12294B30; box-shadow:0 4px 0 #12294B10; border-radius:18px; padding:26px; background:#fff; transition:transform .2s,box-shadow .2s; }
[data-landing] #tracks li:nth-child(3n+1) { background:#edf5fa; }
[data-landing] #tracks li:nth-child(3n+2) { background:#fff4cb; }
[data-landing] #tracks li:hover { transform:translateY(-5px); box-shadow:0 9px 0 #12294B18; }
[data-landing] #tracks li>span:first-child { width:48px; height:48px; background:#12294B; color:#fff; border-radius:15px 15px 15px 4px; box-shadow:4px 4px 0 #f4cc55; }
[data-landing] #tracks h3 { font-family:Outfit,sans-serif; font-weight:600; font-size:19px; }
[data-landing] #tracks .vl-card__more { color:#12294B; }
[data-landing] #how-it-works { background:#f7f0dd; border-top:1px solid #12294B15; }
[data-landing] #how-it-works ol { position:relative; }
[data-landing] #how-it-works ol>li { background:#fffdf5; border:1px solid #d7cfba; border-radius:20px; padding:25px; }
[data-landing] #how-it-works ol>li:nth-child(even) { transform:translateY(20px); }
[data-landing] #veenode-labs { background:#12294B; border-radius:36px; margin:32px; }
[data-landing] #veenode-labs a { border-radius:10px; }
[data-landing] #track-finder { background:#f0f6f8; border-block:1px solid #d4e1e7; }
[data-landing] #track-finder select { border-radius:10px; border-color:#afc4d1; background:#fff; min-height:48px; }
[data-landing] #pricing { background:#fffdf5; }
[data-landing] #pricing article { border-radius:20px; }
[data-landing] section[aria-labelledby='problem-heading'] { background:#fffdf5; }
[data-landing] section[aria-labelledby='closing-heading'] { background:#f4cc55; color:#12294B; }
[data-landing] section[aria-labelledby='closing-heading'] h2,[data-landing] section[aria-labelledby='closing-heading'] p { color:#12294B!important; }
[data-landing] section[aria-labelledby='closing-heading'] a { background:#12294B; color:#fff; }
[data-landing] a:focus-visible,[data-landing-nav] a:focus-visible { outline:3px solid #12294B; outline-offset:5px; }
@media(min-width:1500px) { .world-hero-inner { max-width:1440px; } }
@media(max-width:1023px) { .world-hero-inner { grid-template-columns:1fr 1.05fr; padding:0 25px; } .world-copy h1 { font-size:42px; } .world-copy .vl-rot { font-size:inherit; } .world-pin { font-size:11px; padding:7px 9px; } .world-pin b { width:22px;height:22px; } .world-languages { margin-inline:25px; } }
@media(max-width:700px) { .world-hero { padding-top:110px; } .world-hero-inner { grid-template-columns:1fr; padding:0 22px; } .world-copy h1 { font-size:42px; max-width:12ch; } .world-copy .vl-rot { font-size:inherit; } .world-copy h1 [data-rotator]>span { align-items:flex-start; } .world-kicker { font-size:9px; } .world-copy>p.world-description { font-size:16px; } .world-scene { margin:24px -15px 0; } .world-pin.one { left:2%; } .world-pin.two { right:2%; } .world-pin.three { bottom:8%; } .world-scene-caption { display:none; } .world-languages { margin:22px 22px 0; display:block; } .world-languages>span { display:block; max-width:none; margin-bottom:12px; } .world-languages ul { flex-wrap:nowrap; overflow-x:auto; padding-bottom:8px; } .world-languages li { white-space:nowrap; } .world-actions { gap:10px; } .world-action { padding:14px 17px; font-size:14px; } [data-landing] #veenode-labs { margin:16px 10px; border-radius:24px; } [data-landing] #how-it-works ol>li:nth-child(even) { transform:none; } [data-landing] #tracks ul { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { .world-action,.world-pin,[data-landing] #tracks li { transition:none; } }

.world-lab-art { width:100%; height:auto; border-radius:24px; }
.world-lab-demo { margin-top:20px; border:1px solid #ffffff35; border-radius:14px; padding:16px; }
.world-lab-demo summary { cursor:pointer; font-weight:600; color:#fff; }
.world-lab-demo[open] summary { margin-bottom:20px; }

/* One centred introduction and one tactile control language across the page. */
.world-hero-inner { display:block; max-width:1100px; text-align:center; }
.world-copy h1 { max-width:100%; margin:24px auto; }
.world-copy h1 [data-rotator]>span:not(.sr-only) { display:inline; }
.world-copy h1 [data-rotator]>span.world-language-line { display:block; }
.world-copy .vl-rot-pill { margin:0 8px; }
.world-copy>p.world-description { max-width:58ch; margin:22px auto 0; text-wrap:balance; }
.world-actions,.world-languages { justify-content:center; }
.world-languages { max-width:1100px; padding-inline:20px; }
.world-audiences { position:relative; }
.world-audiences .vl-card { border:2px solid #12294B; box-shadow:0 6px 0 #12294B; border-radius:22px; }
.world-campus-below { max-width:950px; padding:0 24px 60px; margin:0 auto; }
.world-campus-below .world-scene { margin:0; }
[data-landing] .vl-btn, [data-landing] #veenode-labs a { border:1.5px solid #12294B; border-radius:10px; box-shadow:0 4px 0 #12294B; background:#f4cc55; color:#12294B; text-decoration:none; padding:12px 22px; min-height:48px; transition:transform .18s,box-shadow .18s; }
[data-landing] .vl-btn:hover, [data-landing] #veenode-labs a:hover { transform:translateY(-2px); box-shadow:0 6px 0 #12294B; background:#fadd80; color:#12294B; }
[data-landing] .vl-btn:active { transform:translateY(2px); box-shadow:none; }
[data-landing] button[type='reset'].vl-btn { background:#fffdf5; }
[data-landing] #track-finder form { border:1px solid #12294B40; border-radius:22px; box-shadow:0 5px 0 #12294B15; }
[data-landing] section[aria-labelledby='teachers-heading'] { background:#fffdf5; }
[data-landing] section[aria-labelledby='teachers-heading'] img { border-radius:28px; border:2px solid #12294B; box-shadow:8px 8px 0 #f4cc55; }
[data-landing] section[aria-labelledby='published-heading'] { background:#eef3f8; }
[data-landing] #pricing li { border:1px solid #12294B50; border-radius:22px; box-shadow:0 6px 0 #12294B15; }
[data-landing] #pricing li:first-child { background:#fff4cb; }
[data-landing] #pricing .vl-btn { margin-top:auto; padding-top:12px; }
[data-landing] #organisations { background:#12294B; border-radius:30px; margin:24px 32px; }
[data-landing] section[aria-labelledby='faq-heading'] { background:#fffdf5; }
[data-landing] [data-accordion-trigger] { border-radius:12px; padding:22px; background:#f7f0dd; margin-bottom:8px; }
[data-landing] section[aria-labelledby='closing-heading'] { border-radius:30px; margin:24px 32px 48px; }
[data-landing] section[aria-labelledby='closing-heading'] .vl-btn { background:#12294B; color:white; box-shadow:0 4px 0 #071529; }
@media(max-width:700px) { .world-copy h1 { font-size:clamp(28px,9vw,38px);max-width:100%; } .world-copy h1 [data-rotator]>span:not(.sr-only) { display:block; } .world-copy .vl-rot-pill { margin:5px 0; } .world-copy .vl-rot { font-size:inherit; } .world-languages { padding-inline:0; } .world-campus-below { padding-inline:12px; } [data-landing] #organisations,[data-landing] section[aria-labelledby='closing-heading'] { margin-inline:10px; border-radius:22px; } }
@media(prefers-reduced-motion:reduce) { [data-landing] .vl-btn { transition:none; } }

.world-tracks-intro { background:#fffdf5; }
.world-tracks-panel { max-width:850px; margin:auto; text-align:center; padding:48px 30px; border:2px solid #12294B; border-radius:28px; background:#fff4cb; box-shadow:8px 8px 0 #12294B; }
.world-tracks-panel p:not(.eyebrow) { max-width:58ch; margin-inline:auto; }
[data-landing] section[aria-labelledby='closing-heading'] { border:2px solid #12294B; box-shadow:0 7px 0 #12294B; }
[data-landing] section[aria-labelledby='closing-heading'] img { border:2px solid #12294B; box-shadow:6px 6px 0 #12294B; }
@media(max-width:639px) {
 .world-footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:24px; row-gap:36px; }
 .world-footer-grid>div:first-child { grid-column:1/-1; }
 .world-tracks-panel { padding:32px 20px; box-shadow:4px 4px 0 #12294B; }
 [data-landing] section[aria-labelledby='closing-heading'] .vl-btn { width:100%; }
}

/* Consistent action states; secondary controls keep their distinct purpose. */
[data-landing-nav] .vl-btn,.world-action.secondary { border:1.5px solid #12294B; box-shadow:0 4px 0 #12294B; transition:transform .18s,box-shadow .18s; }
[data-landing-nav] .vl-btn:hover { background:#fadd80; transform:translateY(-2px); box-shadow:0 6px 0 #12294B; }
[data-landing-nav] .vl-btn:active { transform:translateY(2px); box-shadow:none; }
[data-landing] button:focus-visible,[data-landing] summary:focus-visible,[data-landing-nav] button:focus-visible { outline:3px solid #12294B; outline-offset:5px; }
[data-landing] #veenode-labs :is(a,button,summary):focus-visible { outline-color:#f4cc55; }
[data-landing] .vl-pill { min-height:40px; border-radius:10px; border:1px solid #ffffff80; background:#12294B; color:#fff; }
[data-landing] .vl-pill:hover,[data-landing] .vl-pill[aria-pressed='true'] { background:#f4cc55; border-color:#f4cc55; color:#12294B; }
[data-landing] .vl-btn:disabled,[data-landing-nav] button:disabled { opacity:.5; cursor:not-allowed; transform:none; box-shadow:none; }
@media(prefers-reduced-motion:reduce) { [data-landing-nav] .vl-btn,.world-action.secondary { transition:none; } }

/* Dark panels use a visible gold edge with the same tactile button shape. */
[data-landing] #organisations .vl-btn,[data-landing] #veenode-labs .vl-btn { border-color:#f4cc55; box-shadow:0 4px 0 #a98624; }
[data-landing] #organisations .vl-btn:hover,[data-landing] #veenode-labs .vl-btn:hover { box-shadow:0 6px 0 #a98624; }
[data-landing] #organisations .vl-btn:active,[data-landing] #veenode-labs .vl-btn:active { box-shadow:none; }
[data-landing] #organisations a:focus-visible { outline-color:#f4cc55; }

/* Organisation training: a connected invitation with three concrete offerings. */
.org-training-layout {display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,88px);align-items:center;padding:clamp(32px,5vw,72px) clamp(24px,4vw,64px)}
.org-training-copy h2 {font-size:clamp(32px,3.2vw,46px);line-height:1.13;letter-spacing:-.025em;max-width:16ch;margin:20px 0}
.org-training-intro {font-size:17px;line-height:1.75;color:#d5deeb;max-width:44ch}
.org-training-action {margin-top:28px;min-height:52px;padding-block:13px}
.org-training-caption {margin-top:20px;font-size:13px;line-height:1.6;color:#c1ccdc;max-width:40ch}
.org-training-services {display:grid;gap:16px}
.org-training-service {display:flex;align-items:flex-start;gap:18px;padding:24px;border:1px solid #ffffff30;border-radius:18px;background:#ffffff08}
.org-training-number {display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:12px;border:1px solid #f4cc5570;background:#f4cc5512;color:#f4cc55;font:600 14px Outfit,sans-serif}
.org-training-service h3 {font:600 20px/1.3 Outfit,sans-serif;color:#fff;margin:0 0 8px}
.org-training-service p {font-size:15px;line-height:1.65;color:#d5deeb;margin:0}
@media(max-width:760px) {.org-training-layout {grid-template-columns:1fr;gap:32px;padding:36px 22px}.org-training-copy h2 {max-width:19ch}.org-training-service {padding:20px 16px;gap:14px}.org-training-service h3 {font-size:18px}.org-training-action {width:100%}}
