/* WordVizo site v2 — brand v1.0.0 (Premium Book W). Tokens match brand/brand-tokens.json */
:root{--bg:#060D26;--paper:#0B1433;--card:#0E1838;--card2:#121F45;--line:#22305A;--ink:#F3F6FC;--ink2:#C3CCE0;--ink3:#8D9AB8;
--indigo:#4A3DFB;--blue:#2E6BFE;--sky:#05A8FE;--cyan:#00D6F5;--aqua:#14E6E4;--violet:#7410FB;--green:#3DDC97;--warn:#FF8A7A;
--grad:linear-gradient(90deg,#4A3DFB 0%,#2E6BFE 30%,#05A8FE 55%,#14E6E4 100%);--r:18px}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans","Noto Sans Devanagari","Noto Sans Arabic",sans-serif;
background-image:radial-gradient(900px 500px at 85% -10%,rgba(5,168,254,.16),transparent 60%),radial-gradient(700px 500px at -10% 10%,rgba(116,16,251,.14),transparent 60%);background-repeat:no-repeat}
a{color:var(--sky);text-decoration:none}a:hover{text-decoration:underline}
.wrap{max-width:1040px;margin:0 auto;padding:0 16px}
header.top{position:sticky;top:0;z-index:10;background:rgba(6,13,38,.88);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
header.top .wrap{display:flex;align-items:center;gap:14px;height:62px}
.logo{display:flex;align-items:center}.logo img{height:34px;width:auto;display:block}.logo:hover{text-decoration:none}
nav.links{margin-left:auto;display:flex;gap:18px;font-size:14.5px;align-items:center}nav.links a{color:var(--ink2)}nav.links a.cta{color:#fff;background:var(--grad);padding:7px 14px;border-radius:999px;font-weight:800}
.gt{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero{padding:46px 0 26px;text-align:center}
.hero .mark{width:120px;height:auto;display:block;margin:0 auto 8px;filter:drop-shadow(0 10px 30px rgba(5,168,254,.35))}
.hero h1{font-size:clamp(30px,6.4vw,54px);line-height:1.1;margin:0 0 12px;letter-spacing:-.5px}
.hero p{color:var(--ink2);margin:0 auto 22px;max-width:640px;font-size:17.5px}
.search{position:relative;max-width:640px;margin:0 auto}
.search input{width:100%;padding:17px 20px;border-radius:999px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-size:17px;outline:none;box-shadow:0 10px 40px rgba(0,0,0,.35)}
.search input:focus{border-color:var(--sky)}
#results{position:absolute;left:0;right:0;top:62px;background:var(--paper);border:1px solid var(--line);border-radius:16px;overflow:hidden;text-align:left;display:none;z-index:5}
#results a{display:block;padding:11px 16px;border-bottom:1px solid var(--line);color:var(--ink)}#results a small{color:var(--ink3);margin-left:8px}
#results a:hover{background:var(--card2);text-decoration:none}
.mosaic{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:26px 0 6px}
.mosaic a{position:relative;border-radius:16px;overflow:hidden;border:1px solid var(--line);display:block;aspect-ratio:3/2;background:#13204A}
.mosaic img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}.mosaic a:hover img{transform:scale(1.05)}
.mosaic a:after{content:"";position:absolute;left:0;right:0;bottom:0;height:62%;background:linear-gradient(180deg,transparent,rgba(4,9,28,.92));pointer-events:none}
.mosaic a>span{position:absolute;left:10px;right:10px;bottom:9px;z-index:1;color:#fff;line-height:1.2;text-shadow:0 2px 8px rgba(0,0,0,.6)}.mosaic a>span b{display:block;font-size:19px;font-weight:900;letter-spacing:.2px}.mosaic a>span .nat{font-size:13px;color:#BFE6FF;font-weight:600}
@media(max-width:640px){.mosaic{grid-template-columns:repeat(2,1fr)}}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;margin:18px 0 36px}
.tile{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;color:var(--ink);display:block;transition:border-color .2s,transform .2s}
.tile:hover{border-color:var(--sky);text-decoration:none;transform:translateY(-2px)}
.tile img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block;background:#13204A}
.tile div{padding:10px 12px}.tile b{font-size:17px}.tile p{margin:2px 0 0;color:var(--ink2);font-size:13.5px;line-height:1.4}
h2.sec{font-size:clamp(22px,4vw,30px);margin:42px 0 4px;letter-spacing:-.3px}p.sub{color:var(--ink3);margin:0}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0}
.step{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px}
.step .n{width:34px;height:34px;border-radius:50%;background:var(--grad);display:flex;align-items:center;justify-content:center;font-weight:900;color:#fff;margin-bottom:8px}
.step h3{margin:0 0 4px;font-size:18px}.step p{margin:0;color:var(--ink2);font-size:14.5px}
@media(max-width:720px){.steps{grid-template-columns:1fr}}
.uni{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;margin:18px 0}
.u{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px;position:relative;overflow:hidden}
.u:before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--grad)}
.u .i{font-size:26px}.u h3{margin:6px 0 2px;font-size:17px}.u p{margin:0;color:var(--ink2);font-size:14px}.u small{display:inline-block;margin-top:8px;color:var(--aqua);font-weight:800;font-size:12.5px;letter-spacing:.3px}
.soon{display:inline-block;font-size:11.5px;font-weight:900;letter-spacing:.8px;text-transform:uppercase;color:#fff;background:rgba(74,61,251,.35);border:1px solid rgba(74,61,251,.8);padding:2px 9px;border-radius:999px}
.track{display:grid;grid-template-columns:1.1fr .9fr;gap:22px;align-items:center;margin:18px 0}
@media(max-width:780px){.track{grid-template-columns:1fr}}
.track ul{margin:10px 0 0;padding-left:20px;color:var(--ink2)}.track li{margin:6px 0}
.phone{max-width:330px;margin:0 auto;background:#050A1E;border:1px solid var(--line);border-radius:36px;padding:16px 14px 18px;box-shadow:0 30px 80px rgba(0,0,0,.5),0 0 0 6px #0C1430}
.phone .hd{display:flex;align-items:center;gap:8px;margin:2px 4px 12px}.phone .hd img{height:22px}.phone .hd b{font-size:14px}.phone .hd span{margin-left:auto;font-size:11px;color:var(--ink3)}
.pu{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:11px 12px;margin:8px 0}
.pu .t{display:flex;justify-content:space-between;font-size:14px;font-weight:800}.pu .t em{font-style:normal;color:var(--aqua)}
.bar{height:8px;border-radius:99px;background:#1A2752;margin:7px 0 5px;overflow:hidden}.bar i{display:block;height:100%;border-radius:99px;background:var(--grad)}
.pu .s{font-size:11.5px;color:var(--ink3)}
.langband{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:16px 0}
.langband span{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:7px 14px;font-weight:700}
.crumbs{font-size:13px;color:var(--ink3);margin:18px 0 6px}.crumbs a{color:var(--ink3)}
.word h1{font-size:clamp(34px,8vw,56px);margin:0;line-height:1.1}
.pron{color:var(--ink2);margin:6px 0 0;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.pos{display:inline-block;border:1px solid var(--sky);color:var(--sky);border-radius:999px;padding:1px 10px;font-size:13px;font-weight:800}
button.say{background:var(--card2);border:1px solid var(--line);color:var(--ink);border-radius:999px;padding:5px 12px;cursor:pointer;font-size:14px}
figure.pic{margin:18px 0;border-radius:22px;overflow:hidden;border:1px solid var(--line);background:#13204A}
figure.pic img{width:100%;height:auto;display:block;aspect-ratio:3/2;object-fit:cover}
figure.pic figcaption{padding:10px 14px;color:var(--ink3);font-size:13.5px;background:var(--paper)}
.def{font-size:21px;font-weight:700;margin:6px 0}
.box{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;margin:14px 0}
.box h2{font-size:14px;letter-spacing:1px;text-transform:uppercase;color:var(--aqua);margin:0 0 8px}
.hi{font-size:19px;font-weight:700}.muted{color:var(--ink2)}
ol.ex{margin:0;padding-left:20px}ol.ex li{margin:6px 0}ol.ex li .t{display:block;color:var(--ink3);font-size:14.5px}
.chips{display:flex;flex-wrap:wrap;gap:8px}.chips a,.chips span{border:1px solid var(--line);border-radius:999px;padding:4px 12px;font-size:14px;color:var(--ink)}
.chips .ant{color:var(--warn)}
.fact{border-color:rgba(20,230,228,.45);background:linear-gradient(135deg,#0C2A3A,#0E1838)}
table.langs{width:100%;border-collapse:collapse}table.langs td{padding:8px 6px;border-top:1px solid var(--line);vertical-align:top}table.langs td:first-child{color:var(--ink3);width:120px;font-size:14px}
[dir=rtl]{text-align:right}
.app{background:linear-gradient(135deg,rgba(74,61,251,.28),rgba(5,168,254,.14) 60%,rgba(20,230,228,.10));border:1px solid rgba(5,168,254,.55)}
.app h2{color:#fff}
.btn,.app a.btn{display:inline-block;background:var(--grad);color:#fff;font-weight:900;border-radius:999px;padding:11px 20px;margin-top:8px;box-shadow:0 8px 24px rgba(5,168,254,.3)}
.btn:hover{text-decoration:none;filter:brightness(1.08)}.btn.ghost{background:transparent;border:1px solid var(--line);box-shadow:none;color:var(--ink)}
.quiz button{display:block;width:100%;text-align:left;margin:8px 0;padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-size:16px;cursor:pointer}
.quiz button.ok{border-color:var(--green);background:#0F2E25}.quiz button.no{border-color:var(--warn);background:#2E1518}
footer{border-top:1px solid var(--line);margin-top:48px;padding:28px 0;color:var(--ink3);font-size:14px}
footer img{height:28px;display:block;margin-bottom:8px}footer a{color:var(--ink2)}
@media(max-width:560px){nav.links{gap:10px;font-size:13px}nav.links a.hide-s{display:none}.def{font-size:19px}.logo img{height:28px}}

/* v4 additions: language switch, forms, topic pages */
.nat{display:none}
html[data-lang=hi] span.nat[data-l=hi],html[data-lang=ar] span.nat[data-l=ar],html[data-lang=fr] span.nat[data-l=fr],html[data-lang=id] span.nat[data-l=id],html[data-lang=zh] span.nat[data-l=zh]{display:inline}
html[data-lang=hi] div.nat[data-l=hi],html[data-lang=ar] div.nat[data-l=ar],html[data-lang=fr] div.nat[data-l=fr],html[data-lang=id] div.nat[data-l=id],html[data-lang=zh] div.nat[data-l=zh]{display:block}
html[data-lang=en] .natbox{display:none}
ol.ex li .t.nat{display:none}html[data-lang=hi] ol.ex li .t.nat[data-l=hi],html[data-lang=ar] ol.ex li .t.nat[data-l=ar],html[data-lang=fr] ol.ex li .t.nat[data-l=fr],html[data-lang=id] ol.ex li .t.nat[data-l=id],html[data-lang=zh] ol.ex li .t.nat[data-l=zh]{display:block}
[data-i]{unicode-bidi:plaintext}
.tile .tn{color:var(--aqua);font-size:13px;margin-top:3px}.tile .tn:empty{display:none}
label.lang{display:flex;align-items:center;gap:4px;color:var(--ink2);font-size:14px}
label.lang select{background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:999px;padding:5px 8px;font-size:13.5px;max-width:120px}
.langband button{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:8px 15px;font-weight:700;color:var(--ink);cursor:pointer;font-size:15px}
.langband button:hover{border-color:var(--sky)}
form.notify{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;max-width:560px;margin:12px auto 0}
form.notify input{flex:1 1 200px;padding:12px 16px;border-radius:999px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-size:15px}
form.notify .btn{margin-top:0;border:0;cursor:pointer;font-size:15px}
form .fmsg{flex-basis:100%;margin:4px 0 0;color:var(--aqua);font-size:14px;text-align:center;min-height:1px}
form.done input,form.done button{display:none}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.box.app form.notify{justify-content:flex-start;margin-left:0}
.cta-box{text-align:center;padding:26px 18px}.cta-box img{display:block;margin:0 auto 6px}.cta-box h2{font-size:22px!important;letter-spacing:0!important;text-transform:none!important}
.narrow{max-width:680px}.mail{font-size:20px;font-weight:800}
form.contact{display:flex;flex-direction:column;gap:10px;margin-top:14px}
form.contact input,form.contact textarea{padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font:inherit}
form.contact .btn{align-self:flex-start;border:0;cursor:pointer}form.contact .fmsg{text-align:left}
ul.gloss{list-style:none;padding:0;margin:8px 0;columns:2 340px;column-gap:28px}
ul.gloss li{break-inside:avoid;padding:6px 0;border-bottom:1px solid rgba(34,48,90,.7);font-size:15px}
ul.gloss li a,ul.gloss li>span:first-child{font-weight:800}ul.gloss .gm{color:var(--ink2)}ul.gloss .nat{color:var(--aqua);margin-left:6px}
ul.gloss li .nat:before{content:"· "}
ul.chlist{list-style:none;padding:0;margin:0;columns:2 300px;column-gap:24px}ul.chlist li{break-inside:avoid;padding:4px 0}
.chips.letters a{min-width:44px;text-align:center}.chips small{color:var(--ink3)}
.uline{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-top:1px solid var(--line)}.uline:first-of-type{border-top:0}
.uline p{margin:0}.uline .nat{color:var(--aqua);font-size:14.5px}.small{font-size:12.5px}
.uni-tag{flex:0 0 auto;font-size:12px;font-weight:800;border-radius:999px;padding:3px 10px;background:rgba(74,61,251,.3);border:1px solid rgba(74,61,251,.8);color:#fff;white-space:nowrap}
a.uni-tag:hover{text-decoration:none;background:rgba(74,61,251,.55)}
.natbox{border-color:rgba(20,230,228,.45)}
@media(max-width:560px){label.lang select{max-width:84px}nav.links{gap:8px}}
nav.links a.cta{white-space:nowrap}
@media(max-width:440px){nav.links a.hide-xs{display:none}nav.links a.cta{padding:6px 11px;font-size:12.5px}.logo img{height:26px}label.lang{font-size:0}label.lang select{font-size:13px}}
.chips.pager{margin:12px 0}.chips.pager a{font-size:13px}.chips.pager a.on{border-color:var(--sky);background:rgba(5,168,254,.15)}

/* v4.2 hero mosaic: premium editorial caption (white bold word on soft dark fade, no chips) */
.mosaic a{border-radius:16px;animation:wvFade .6s ease both}
.mosaic a:nth-child(2){animation-delay:.05s}.mosaic a:nth-child(3){animation-delay:.1s}.mosaic a:nth-child(4){animation-delay:.15s}
.mosaic a:nth-child(5){animation-delay:.2s}.mosaic a:nth-child(6){animation-delay:.25s}.mosaic a:nth-child(7){animation-delay:.3s}.mosaic a:nth-child(8){animation-delay:.35s}
@keyframes wvFade{from{opacity:0}to{opacity:1}}
.mosaic img{transition:transform .6s ease}.mosaic a:hover img{transform:scale(1.06)}
.mosaic a:after{height:65%;background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.78))}
.mosaic a>span{left:16px;right:16px;bottom:14px;text-align:left;text-shadow:none}
.mosaic a>span b{display:block;font-size:clamp(18px,2.2vw,26px);font-weight:800;letter-spacing:-.2px;line-height:1.1;text-shadow:0 2px 12px rgba(0,0,0,.5)}
.mosaic a>span .nat{display:none}
html[data-lang=hi] .mosaic a>span .nat[data-l=hi],html[data-lang=ar] .mosaic a>span .nat[data-l=ar],html[data-lang=fr] .mosaic a>span .nat[data-l=fr],html[data-lang=id] .mosaic a>span .nat[data-l=id],html[data-lang=zh] .mosaic a>span .nat[data-l=zh]{display:block;margin-top:3px;font-size:14px;font-weight:500;color:rgba(255,255,255,.8)}
@media(prefers-reduced-motion:reduce){.mosaic a{animation:none}.mosaic a:hover img{transform:none}}
.tile img{height:auto}
@media(max-width:920px){nav.links a[href="/contact/"]{display:none}label.lang select{max-width:110px}}
.uline .ubody{flex:1}.uthumb{width:120px;height:80px;object-fit:cover;border-radius:10px;border:1px solid var(--line);flex:0 0 auto}
@media(max-width:520px){.uthumb{width:84px;height:56px}}
