:root{--navy:#0b1730;--navy2:#13284f;--accent:#2f7de1;--accent2:#7cc4ff;--gold:#e9b44c;--ink:#18202e;--muted:#5d6878;--bg:#f4f7fb;--card:#fff;--line:#e2e8f1}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:var(--bg);line-height:1.65}
a{color:var(--accent)}
.wrap{max-width:1040px;margin:0 auto;padding:0 22px}

header.site{position:sticky;top:0;z-index:20;background:rgba(5,8,16,.94);backdrop-filter:blur(10px);border-bottom:1px solid #1b2a4a}
header.site .wrap{display:flex;align-items:center;gap:28px;height:68px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#fff;font-weight:800;font-size:1.15rem;letter-spacing:.01em;margin-right:auto}
.brand img{height:46px;width:46px;object-fit:cover;display:block;border-radius:10px;box-shadow:0 0 0 1px rgba(124,196,255,.35)}
nav.main{display:flex;gap:26px}
nav.main a{color:#a9bddb;text-decoration:none;font-size:.82rem;letter-spacing:.09em;text-transform:uppercase;font-weight:600;padding:6px 0;border-bottom:2px solid transparent}
nav.main a:hover,nav.main a.active{color:#fff;border-color:var(--accent2)}

.hero{position:relative;overflow:hidden;background:radial-gradient(1200px 500px at 85% -10%,#2a5fb8 0%,transparent 60%),linear-gradient(135deg,var(--navy) 0%,var(--navy2) 100%);color:#fff;text-align:center;padding:96px 22px 110px}
.hero:before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1px);background-size:26px 26px;-webkit-mask-image:linear-gradient(to bottom,#000 30%,transparent);mask-image:linear-gradient(to bottom,#000 30%,transparent)}
.hero>*{position:relative}
.hero .logo{width:170px;height:170px;object-fit:cover;border-radius:28px;margin:0 auto 24px;display:block;box-shadow:0 0 0 1px rgba(124,196,255,.4),0 18px 50px rgba(0,0,0,.55),0 0 70px rgba(47,125,225,.45)}
.hero h1{margin:0 0 14px;font-size:clamp(2rem,5vw,3.2rem);line-height:1.1;font-weight:800;letter-spacing:-.01em}
.hero p.lead{max-width:640px;margin:0 auto 30px;font-size:1.15rem;color:#cfe0f7}
.btn{display:inline-block;padding:13px 28px;border-radius:999px;font-weight:700;text-decoration:none;font-size:.95rem;transition:transform .15s,box-shadow .15s}
.btn.primary{background:var(--accent);color:#fff;box-shadow:0 8px 24px rgba(47,125,225,.45)}
.btn.ghost{border:1.5px solid rgba(255,255,255,.45);color:#fff;margin-left:10px}
.btn:hover{transform:translateY(-2px)}

main{padding-bottom:30px}
section.block{padding:70px 0 10px}
.eyebrow{color:var(--accent);font-weight:800;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase}
h2.title{margin:6px 0 10px;font-size:clamp(1.6rem,3.2vw,2.2rem);color:var(--navy);line-height:1.2}
.sub{color:var(--muted);max-width:640px;margin:0 0 34px}
.pillars{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.pillar{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:28px;box-shadow:0 6px 20px rgba(15,35,80,.05)}
.pillar .ico{width:46px;height:46px;border-radius:12px;background:linear-gradient(135deg,var(--accent),var(--accent2));display:grid;place-items:center;color:#fff;font-size:1.3rem;margin-bottom:14px}
.pillar h3{margin:0 0 8px;color:var(--navy)}
.pillar p{margin:0;color:var(--muted)}

.featured{display:grid;grid-template-columns:1.1fr 1fr;gap:0;background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff;border-radius:22px;overflow:hidden;box-shadow:0 18px 50px rgba(11,23,48,.3);margin-bottom:26px}
.featured .txt{padding:40px}
.featured h3{margin:8px 0 10px;font-size:2rem}
.featured p{color:#cfe0f7;margin:0 0 18px}
.featured .art{background:radial-gradient(circle at 30% 30%,#3b82f6 0%,#14305f 70%);display:grid;place-items:center;font-size:5.5rem;min-height:220px}
.badge{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;padding:5px 12px;border-radius:999px}
.badge.soon{background:var(--gold);color:#3a2a00}
.badge.next{background:#e8eefb;color:#2b4a85}
.apps{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:18px}
.app{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:24px;transition:transform .18s,box-shadow .18s}
.app:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(15,35,80,.12)}
.app .emoji{font-size:2rem;margin-bottom:8px}
.app h3{margin:10px 0 6px;color:var(--navy);font-size:1.15rem}
.app p{margin:0;color:var(--muted);font-size:.94rem}

.contact{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:34px;box-shadow:0 6px 20px rgba(15,35,80,.05)}
form label{display:block;margin:14px 0 5px;font-weight:600;font-size:.9rem}
form input,form textarea{width:100%;padding:12px;border:1px solid #c9d3e2;border-radius:10px;font:inherit;background:#fbfcfe}
form input:focus,form textarea:focus{outline:2px solid var(--accent);border-color:transparent}
form button{margin-top:18px;padding:12px 30px;background:var(--accent);color:#fff;border:0;border-radius:999px;font:inherit;font-weight:700;cursor:pointer}

.page{max-width:820px;margin:0 auto;padding:46px 22px}
.page .card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:36px;box-shadow:0 6px 20px rgba(15,35,80,.05)}
.page h1{margin-top:0;color:var(--navy)}
.page h2{color:var(--navy);margin-top:30px}

footer.site{margin-top:70px;background:var(--navy);color:#9db3d6;text-align:center;padding:38px 22px}
footer.site a{color:#cfe0f7;margin:0 10px;text-decoration:none}
footer.site .fl{display:flex;justify-content:center;align-items:center;gap:10px;margin-bottom:10px;color:#fff;font-weight:700}
footer.site .fl img{height:34px;width:34px;object-fit:cover;border-radius:8px}
footer.site small{display:block;margin-top:10px}

@media(max-width:760px){
 nav.main{gap:16px}nav.main a{font-size:.72rem}
 .brand span{display:none}
 .featured{grid-template-columns:1fr}
 .btn.ghost{margin:10px 0 0}
}

/* app tiles as buttons + feature dialog */
button.app{font:inherit;text-align:left;cursor:pointer;width:100%;display:block;color:inherit}
button.app:focus-visible{outline:3px solid var(--accent2);outline-offset:2px}
.app .more{display:block;margin-top:14px;color:var(--accent);font-weight:700;font-size:.88rem}
.featured .btn.ghost{margin-left:6px}
button.btn{border:0;font-family:inherit;cursor:pointer}
.featured button.btn.primary{margin-right:6px}
.app-dialog{border:0;border-radius:22px;padding:34px;max-width:520px;width:calc(100% - 32px);box-shadow:0 30px 80px rgba(5,10,25,.55);background:#fff;color:var(--ink)}
.app-dialog::backdrop{background:rgba(5,10,25,.65);backdrop-filter:blur(3px)}
.app-dialog .d-close{position:absolute;top:14px;right:16px;border:0;background:#eef2f9;width:34px;height:34px;border-radius:50%;font-size:1.3rem;line-height:1;cursor:pointer;color:var(--navy)}
.app-dialog .d-head{display:flex;gap:16px;align-items:center;margin-bottom:12px}
.app-dialog .d-emoji{font-size:2.6rem;width:70px;height:70px;border-radius:18px;background:linear-gradient(135deg,var(--navy),var(--navy2));display:grid;place-items:center;flex:none}
.app-dialog .d-name{margin:6px 0 0;font-size:1.7rem;color:var(--navy);line-height:1.1}
.app-dialog .d-tag{color:var(--muted);margin:0 0 6px}
.app-dialog h4{margin:18px 0 8px;color:var(--navy);text-transform:uppercase;letter-spacing:.1em;font-size:.78rem}
.app-dialog .d-list{margin:0 0 22px;padding:0;list-style:none}
.app-dialog .d-list li{position:relative;padding:8px 0 8px 30px;border-bottom:1px solid var(--line)}
.app-dialog .d-list li:before{content:"\2713";position:absolute;left:0;top:8px;width:20px;height:20px;border-radius:50%;background:var(--accent);color:#fff;font-size:.75rem;display:grid;place-items:center;font-weight:800}
.app-dialog .d-note{margin:12px 0 0;color:var(--muted);font-size:.8rem}
/* real app icons */
.aicon{width:64px;height:64px;border-radius:16px;object-fit:cover;display:block;margin-bottom:12px;box-shadow:0 6px 16px rgba(15,35,80,.22)}
.aicon.big{width:180px;height:180px;border-radius:40px;margin:0;box-shadow:0 16px 44px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.12)}
.app-dialog .d-icon{width:72px;height:72px;border-radius:18px;object-fit:cover;flex:none;box-shadow:0 6px 16px rgba(15,35,80,.25)}
/* vertical tiles */
.apps{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
button.app{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;padding:26px 16px 22px}
button.app .aicon{width:92px;height:92px;border-radius:22px;margin:0 0 16px}
button.app .badge{margin-bottom:2px}
button.app h3{margin:10px 0 8px;font-size:1.2rem}
button.app p{font-size:.9rem;flex:1}
button.app .more{margin-top:16px}
@media(max-width:980px){.apps{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){.apps{grid-template-columns:repeat(2,minmax(0,1fr))}button.app .aicon{width:76px;height:76px}}
/* tight layout */
header.site .wrap{height:56px}
.brand img{height:38px;width:38px}
.hero{padding:30px 22px 34px}
.hero .logo{width:84px;height:84px;border-radius:20px;margin:0 auto 12px}
.hero h1{font-size:clamp(1.6rem,3.6vw,2.3rem);margin:0 0 8px}
.hero p.lead{font-size:1.02rem;margin:0 auto 18px}
.btn{padding:10px 22px;font-size:.9rem}
section.block{padding:40px 0 4px}
.sub{margin-bottom:22px}
.pillar{padding:22px}
.featured .txt{padding:28px}
.featured .art{min-height:170px}
.aicon.big{width:130px;height:130px;border-radius:30px}
footer.site{margin-top:44px;padding:26px 22px}
.page{padding:30px 22px}
/* shorter page */
#about{padding-top:30px}
section.block{padding:30px 0 0}
h2.title{font-size:1.5rem;margin:0 0 4px}
.soonnote{font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-left:10px;vertical-align:middle}
.sub{margin-bottom:14px}
.pillars{gap:14px}
.pillar{padding:18px 20px}
.pillar .ico{width:36px;height:36px;font-size:1.05rem;margin-bottom:8px;border-radius:10px}
.pillar h3{font-size:1.05rem;margin-bottom:4px}
.pillar p{font-size:.92rem;line-height:1.5}
.apps{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
button.app{padding:18px 10px 16px}
button.app .aicon{width:72px;height:72px;border-radius:18px;margin-bottom:10px}
button.app h3{font-size:1.05rem;margin:8px 0 6px}
button.app p{font-size:.82rem;line-height:1.45}
button.app .more{margin-top:10px;font-size:.82rem}
.badge{font-size:.62rem;padding:4px 9px}
@media(max-width:1000px){.apps{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){.apps{grid-template-columns:repeat(2,minmax(0,1fr))}}
.contact.two{display:grid;grid-template-columns:1fr 1.6fr;gap:28px;align-items:start;padding:24px 28px}
.contact.two form label{margin:0 0 3px;font-size:.82rem}
.contact.two form input,.contact.two form textarea{padding:9px 11px}
.contact.two form .row2{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:10px}
.contact.two form button{margin-top:12px;padding:10px 26px}
.contact.two .sub{margin-bottom:10px}
.contact.two p{margin:0 0 8px}
@media(max-width:760px){.contact.two{grid-template-columns:1fr}}
footer.site{margin-top:30px;padding:18px 22px}
footer.site .fl{margin-bottom:6px}
footer.site small{margin-top:4px}
/* slim header */
header.site .wrap{height:48px}
.brand img{height:32px;width:32px;border-radius:8px}
.brand{font-size:1.05rem;gap:10px}
nav.main a{font-size:.76rem;padding:4px 0}
.hero{padding:16px 22px;text-align:left}
.hero:before{display:none}
.hero .hero-in{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.hero h1{font-size:1.45rem;margin:0 0 2px}
.hero p.lead{font-size:.95rem;margin:0;max-width:560px}
.hero .hero-cta{display:flex;gap:10px;flex:none}
.hero .btn{padding:8px 18px;font-size:.85rem}
.hero .btn.ghost{margin-left:0}
#about{padding-top:20px}
@media(max-width:760px){.hero .hero-in{flex-direction:column;align-items:flex-start}}
/* themes: dark applies under html[data-theme=dark]; light is the base */
html[data-theme=dark]{--bg:#081226;--card:#101f3f;--line:#1f3560;--ink:#e7eefb;--muted:#a9bddb}
html[data-theme=dark] body{background:radial-gradient(900px 400px at 80% 0%,#12295a 0%,transparent 70%),#081226;background-attachment:fixed}
html[data-theme=dark] h2.title,html[data-theme=dark] .pillar h3,html[data-theme=dark] .app h3,html[data-theme=dark] .page h1,html[data-theme=dark] .page h2,html[data-theme=dark] .app-dialog .d-name,html[data-theme=dark] .app-dialog h4{color:#fff}
html[data-theme=dark] .pillar,html[data-theme=dark] .app,html[data-theme=dark] .contact,html[data-theme=dark] .page .card{background:var(--card);border-color:var(--line);box-shadow:0 8px 24px rgba(0,0,0,.28)}
html[data-theme=dark] .app:hover{box-shadow:0 14px 34px rgba(0,0,0,.45);border-color:#2f5aa8}
html[data-theme=dark] .badge.next{background:#1b3566;color:#b9d3ff}
html[data-theme=dark] .app .more{color:var(--accent2)}
html[data-theme=dark] a{color:var(--accent2)}
html[data-theme=dark] form input,html[data-theme=dark] form textarea{background:#0a1630;border-color:#2a437a;color:var(--ink)}
html[data-theme=dark] form input:focus,html[data-theme=dark] form textarea:focus{outline-color:var(--accent2)}
html[data-theme=dark] .contact strong{color:#fff}
html[data-theme=dark] .app-dialog{background:var(--card);color:var(--ink);border:1px solid var(--line)}
html[data-theme=dark] .app-dialog .d-close{background:#1b3566;color:#fff}
html[data-theme=dark] .app-dialog .d-list li{border-color:var(--line)}
html[data-theme=dark] .pillar .ico{box-shadow:0 4px 12px rgba(47,125,225,.35)}
html[data-theme=dark] footer.site{background:#050b18;border-top:1px solid var(--line)}
html[data-theme=dark] body{background-color:#081226}
html[data-theme=light] body{background-image:none}
.theme-toggle{margin-left:14px;width:34px;height:34px;border-radius:50%;border:1px solid #2a437a;background:rgba(255,255,255,.06);color:#e7eefb;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;vertical-align:middle;transition:background .15s,border-color .15s}
.theme-toggle:hover{background:rgba(124,196,255,.18);border-color:#7cc4ff}
.theme-toggle:focus-visible{outline:2px solid #7cc4ff;outline-offset:2px}
